[jboss-svn-commits] JBL Code SVN: r19341 - in labs/jbossrules/branches/Branch_4_0_2_SOA_4_2: documentation and 286 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Mar 31 10:38:31 EDT 2008


Author: tirelli
Date: 2008-03-31 10:38:14 -0400 (Mon, 31 Mar 2008)
New Revision: 19341

Added:
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Decision_Tables/Key.png
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaModifyBlockDescr.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/DomainObject.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/DomainObjectHolder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/big_decimal_and_literal.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_AccumulateGlobals.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_AlphaCompositeConstraints.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_DeepNestedConstraints.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_0.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_1.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_2.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic3_0.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_FromArrayIteration.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_JavaModifyBlock.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames1.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames2.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_ModifyBlock.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MultithreadDateStringConstraints.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_NPEOnMVELPredicate.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_OrCE.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_OrCEFollowedByEval.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Serializable2.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_SerializableCollectAccumulate.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/lang/npe_on_parser.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MutableTypeConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ArrayIterator.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjenesisFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/allElements.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/customTargets.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/feature.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.settings/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/META-INF/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/META-INF/MANIFEST.MF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/help/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/action.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/activity.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/add_connective.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/add_field_to_fact.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/arrowleft.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/arrowright.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/bluediamond.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/check.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/class_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/clear.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/clear_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/connection.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/constant_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/delete_item_small.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/delete_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-large.PNG
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-query.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-rule.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl-large.png
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl.png
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl_expression.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dt_large.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dt_small.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/edit.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/field_private_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/field_public_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/function_assets.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/greensquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/import.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/import_statement.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/join.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/logical_structure.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/logical_structure_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/methpub_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/new_item.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/open.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/package_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process_start.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process_stop.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/public_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/question.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/redsquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/refresh.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/refresh_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/sample.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/split.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/static_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/yellowsquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/lib/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/plugin.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/template.xls
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.xls.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/feature.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.settings/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/META-INF/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/META-INF/MANIFEST.MF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/debug.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/simplerule.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/test.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/genericTargets.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/package.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/setupEclipse.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/allElements.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/customTargets.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/feature.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.settings/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/META-INF/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/META-INF/MANIFEST.MF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/help/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/action.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/activity.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/add_connective.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/add_field_to_fact.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/arrowleft.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/arrowright.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/bluediamond.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/check.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/class_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/clear.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/clear_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/connection.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/constant_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/delete_item_small.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/delete_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-large.PNG
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-query.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-rule.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl-large.png
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl.png
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl_expression.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dt_large.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dt_small.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/edit.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/field_private_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/field_public_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/function_assets.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/greensquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/import.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/import_statement.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/join.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/logical_structure.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/logical_structure_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/methpub_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/new_item.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/open.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/package_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process_start.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process_stop.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/public_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/question.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/redsquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/refresh.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/refresh_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/sample.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/split.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/static_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/yellowsquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/lib/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/plugin.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/template.xls
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.xls.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/feature.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.settings/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/META-INF/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/META-INF/MANIFEST.MF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/debug.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/simplerule.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/test.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/genericTargets.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/package.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/setupEclipse.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.html
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.html
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.html
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.html
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.html
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse3.2.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse3.3.xml
Removed:
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_ActivationCancellation.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/allElements.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/customTargets.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/feature.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.settings/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/META-INF/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/META-INF/MANIFEST.MF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/help/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/action.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/activity.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/add_connective.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/add_field_to_fact.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/arrowleft.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/arrowright.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/bluediamond.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/check.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/class_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/clear.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/clear_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/connection.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/constant_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/delete_item_small.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/delete_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-large.PNG
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-query.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-rule.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl-large.png
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl.png
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl_expression.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dt_large.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dt_small.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/edit.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/field_private_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/field_public_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/function_assets.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/greensquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/import.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/import_statement.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/join.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/logical_structure.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/logical_structure_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/methpub_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/new_item.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/open.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/package_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process_start.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process_stop.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/public_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/question.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/redsquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/refresh.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/refresh_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/sample.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/split.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/static_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/yellowsquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/lib/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/plugin.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/template.xls
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.xls.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/feature.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.settings/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/META-INF/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/META-INF/MANIFEST.MF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/debug.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/simplerule.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/test.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/genericTargets.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/package.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/setupEclipse.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/allElements.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/customTargets.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/feature.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.settings/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/META-INF/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/META-INF/MANIFEST.MF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/help/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/action.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/activity.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/add_connective.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/add_field_to_fact.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/arrowleft.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/arrowright.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/bluediamond.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/check.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/class_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/clear.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/clear_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/connection.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/constant_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/delete_item_small.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/delete_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-large.PNG
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-query.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-rule.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl-large.png
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl.png
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl_expression.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dt_large.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dt_small.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/edit.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/field_private_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/field_public_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/function_assets.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/greensquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/import.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/import_statement.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/join.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/logical_structure.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/logical_structure_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/methpub_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/new_item.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/open.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/package_obj.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process_start.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process_stop.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/public_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/question.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/redsquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/refresh.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/refresh_disabled.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/sample.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/split.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/static_co.gif
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/yellowsquare.GIF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/lib/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/plugin.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/template.xls
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.xls.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/feature.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.settings/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/META-INF/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/META-INF/MANIFEST.MF
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/build.properties
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/debug.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/simplerule.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/test.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/genericTargets.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/package.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/setupEclipse.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.html
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.html
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.html
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.html
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.html
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/m2_repo/org/mvel/mvel14/1.2.8/
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse.xml
Modified:
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/README.txt
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/README_DEPENDENCIES.txt
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Decision_Tables/Section-Spreadsheet.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Install/Section-Install.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Rule_Engine/Section-Rules.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/master.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/test/resources/DroolsAntTask.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-clips/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/MVELDumper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMappingFile.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAnalysisResult.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectConfiguration.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaExprAnalyzer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaPredicateBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaRuleClassBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.mvel
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Address.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactA.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactB.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactC.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Order.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/OuterClass.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Person.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Primitives.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/State.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/compiler/Java5Test.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/AccumulateTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MultithreadTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/OutOfMemoryTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Waltz.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/dsl/DSLMappingFileTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/invalid_rule.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesNotMatches.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_RuntimeTypeCoercion.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/agent/FileScanner.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/agent/HttpClientImpl.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryConsoleLogger.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryInMemoryLogger.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/DefaultConsequenceExceptionHandler.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/FieldFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/AverageAccumulateFunction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/CountAccumulateFunction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MVELAccumulatorFunctionExecutor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MaxAccumulateFunction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MinAccumulateFunction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/SumAccumulateFunction.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/extractors/MVELClassFieldExtractor.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/BooleanFieldImpl.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/DoubleFieldImpl.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/LongFieldImpl.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/LocalVariableResolver.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/MVELPredicateExpression.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/BaseNode.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/event/RuleBaseEventSupport.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/CollectNode.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/FromNode.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/NotNode.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/Rete.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteTuple.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/TupleSource.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/AndConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/ContextEntry.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/EvalCondition.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/GroupElement.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/LogicTransformer.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MultiRestrictionFieldConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/OrConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/Pattern.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/Rule.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/VariableConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/spi/Constraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/spi/FieldValue.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/AbstractHashTable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/FactHandleIndexHashTable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/FactHashTable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjectHashMap.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjectHashSet.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/TupleHashTable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/TupleIndexHashTable.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/agent/RuleAgentTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/extractors/MVELClassFieldExtractorTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/reteoo/CollectNodeTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/spi/MockConstraint.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ActionTypeTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/waltz/WaltzBenchmark.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/manners/manners.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltz/waltz.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltzdb/waltzdb.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/HonestPolitician.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicket.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-ruleflow.drl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ticketing.dsl
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/java/org/drools/brms/client/admin/ArchivedAssetManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS-xs.nocache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.js
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/.project
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/.classpath
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-server/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-solver/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/m2_repo/org/mvel/mvel14/1.2.20/mvel14-1.2.20.pom
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/bin.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/src.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/update-version.xml
Log:
Backporting all fixes up to rev #19326 into SOA-P branch

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/README.txt
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/README.txt	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/README.txt	2008-03-31 14:38:14 UTC (rev 19341)
@@ -9,6 +9,9 @@
 download into another location and specify it with
 -DlocalEclipseDrop=/folder/jboss-rules/local-eclipse-drop-mirror.
 
+NOTE: you MUST use maven version 2.0.8 or later to build because of surefire
+maven plugin classpath problems.
+
 The following builds all the jars, the documentation and the eclipse zip with a
 local folder specified to avoid downloading eclipse:
  mvn -Declipse=true -Ddocumentation=true clean install 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/README_DEPENDENCIES.txt
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/README_DEPENDENCIES.txt	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/README_DEPENDENCIES.txt	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
 Runtime assumes that you are "compiling" rules using drools-compiler.
 
     * drools-core - the rule engine itself.
-    * mvel14-1.2.8
+    * mvel-1.2.24-java1.4
     * optional packages:
           o xpp3-1.1.3.4.O, xstream-1.2.2 - if you are using the file based
 audit feature

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Decision_Tables/Key.png (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/documentation/manual/en/Chapter-Decision_Tables/Key.png)
===================================================================
(Binary files differ)

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Decision_Tables/Section-Spreadsheet.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Decision_Tables/Section-Spreadsheet.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Decision_Tables/Section-Spreadsheet.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -427,16 +427,15 @@
             </row>
 
             <row>
-              <entry>UNLOOP</entry>
+              <entry>NO-LOOP</entry>
+			  <entry>if there is a column with the this keyword, the
+              no-loop attribute will be set for the rule. Setting no-loop column means the attempt to create the Activation for the current set of data will be ignored.</entry>
 
-              <entry>Indicates that if there cell values in this column, the
-              no-loop attribute should be set</entry>
-
               <entry>optional</entry>
             </row>
 
             <row>
-              <entry>XOR-GROUP</entry>
+              <entry>ACTIVATION-GROUP</entry>
 
               <entry>Cell values in this column mean that the rule-row belongs
               to the given XOR/activation group . An Activation group means
@@ -447,6 +446,15 @@
             </row>
 
             <row>
+              <entry>RULEFLOW-GROUP</entry>
+
+              <entry>Cell values in this column mean that the rule-row belongs
+              to the given RULEFLOW-GROUP. Ruleflow allows you to specify the order in which rule sets should be evaluated by using a flow chart. See the documentation for ruleflow on this manual</entry>
+
+              <entry>optional</entry>
+            </row>
+
+            <row>
               <entry>Worksheet</entry>
 
               <entry>By default, the first worksheet is only looked at for
@@ -464,6 +472,17 @@
 
         <mediaobject>
           <imageobject>
+            <imagedata fileref="Key.png" />
+          </imageobject>
+        </mediaobject>
+      </screenshot>
+
+      <screenshot>
+        <screeninfo>Example usage of keywords for imports, functions
+        etc.</screeninfo>
+
+        <mediaobject>
+          <imageobject>
             <imagedata fileref="keywords.png" />
           </imageobject>
         </mediaobject>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Install/Section-Install.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Install/Section-Install.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Install/Section-Install.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -213,7 +213,8 @@
         </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>URL: http://downloads.jboss.com/drools/updatesite/</programlisting>
+      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>
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Rule_Engine/Section-Rules.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Rule_Engine/Section-Rules.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/Chapter-Rule_Engine/Section-Rules.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -275,7 +275,7 @@
 
     <programlisting>
       
-      Person( eyeColour == "blue"||"green" )
+      Person( eyeColour == "blue"|| == "green" )
       
     </programlisting>
 
@@ -375,4 +375,4 @@
 
     <para></para>
   </section>
-</section>
\ No newline at end of file
+</section>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/master.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/master.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/master.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
 
     <subtitle>Drools Documentation</subtitle>
 
-    <releaseinfo>4.0.2.SNAPSHOT</releaseinfo>
+    <releaseinfo>4.0.6</releaseinfo>
 
     <author>
       <firstname>Mark</firstname>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-    <version>4.0.2.SNAPSHOT</version>
+    <version>4.0.6</version>
   </parent>
 
   <artifactId>drools-documentation</artifactId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/.classpath
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/.classpath	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,15 +5,15 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
   <classpathentry kind="src" path="/drools-compiler"/>
-  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.21/mvel14-1.2.21.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
   <classpathentry kind="src" path="/drools-core"/>
-  <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/1.2.24-java1.4/mvel-1.2.24-java1.4.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
+  <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-	  <version>4.0.2.SNAPSHOT</version>
+	  <version>4.0.6</version>
   </parent>
 
   <artifactId>drools-analytics</artifactId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.classpath
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.classpath	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -4,20 +4,20 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar"/>
   <classpathentry kind="var" path="M2_REPO/ant/ant-nodeps/1.6.5/ant-nodeps-1.6.5.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+  <classpathentry kind="src" path="/drools-analytics"/>
+  <classpathentry kind="src" path="/drools-core"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/1.2.24-java1.4/mvel-1.2.24-java1.4.jar"/>
   <classpathentry kind="src" path="/drools-compiler"/>
   <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" sourcepath="M2_REPO/ant/ant/1.6.5/ant-1.6.5-sources.jar"/>
-  <classpathentry kind="src" path="/drools-analytics"/>
-  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
   <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
-  <classpathentry kind="src" path="/drools-core"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
   <classpathentry kind="src" path="/drools-decisiontables"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.21/mvel14-1.2.21.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.project
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.project	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,9 +2,9 @@
   <name>drools-ant</name>
   <comment>A rule production system</comment>
   <projects>
-    <project>drools-compiler</project>
     <project>drools-analytics</project>
     <project>drools-core</project>
+    <project>drools-compiler</project>
     <project>drools-decisiontables</project>
   </projects>
   <buildSpec>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,7 +2,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-    <version>4.0.2.SNAPSHOT</version>
+    <version>4.0.6</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/main/java/org/drools/contrib/DroolsCompilerAntTask.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -38,6 +38,7 @@
 import org.drools.lang.dsl.DSLMappingFile;
 import org.drools.lang.dsl.DefaultExpander;
 import org.drools.lang.dsl.DefaultExpanderResolver;
+import org.drools.rule.Package;
 
 import java.io.*;
 
@@ -53,10 +54,14 @@
 	public static String RULEFLOWFILEEXTENSION = ".rfm";
 	public static String DSLFILEEXTENSION = ".dslr";
     public static String XLSFILEEXTENSION = ".xls";
+    
+    public static String PACKAGEBINFORMAT = "package";
 
     private File srcdir;
 	private File toFile;
 	private Path classpath;
+	
+	private String binformat;
 
 	
 	/**
@@ -89,8 +94,7 @@
 	/**
 	 * Classpath to use, by reference, when compiling the rulebase
 	 * 
-	 * @param r
-	 *            a reference to an existing classpath
+	 * @param a reference to an existing classpath
 	 */
 	public void setClasspathref(Reference r) {
 		createClasspath().setRefid(r);
@@ -130,10 +134,9 @@
 					+ srcdir.getAbsolutePath());
 		}
 
-		AntClassLoader loader = null;
 		try {
 			// create a specialized classloader
-			loader = getClassLoader();
+			AntClassLoader loader = getClassLoader();
 
 			// create a package builder configured to use the given classloader
 			PackageBuilder builder = getPackageBuilder(loader);
@@ -148,38 +151,38 @@
 
 			// gets the package
 			org.drools.rule.Package pkg = builder.getPackage();
+			
+            // creates the rulebase
+            RuleBase ruleBase = RuleBaseFactory.newRuleBase();
 
-			// creates the rulebase
-			RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-
-			// adds the package
-			ruleBase.addPackage(pkg);
-
-			// serialize the rule base to the destination file
-			serializeRulebase(ruleBase);
-
+            // adds the package
+            ruleBase.addPackage(pkg);
+			
+			
+			if (PACKAGEBINFORMAT.equals( binformat )  ) {
+			    serializeObject( pkg );
+			} else {
+	            // serialize the rule base to the destination file
+	            serializeObject(ruleBase);
+			}
 		} catch (Exception e) {
 			throw new BuildException("RuleBaseTask failed: " + e.getMessage(),
 					e);
-		} finally {
-			if (loader != null) {
-				loader.resetThreadContextLoader();
-			}
 		}
 	}
-
+	
 	/**
 	 * @param ruleBase
 	 * @throws FileNotFoundException
 	 * @throws IOException
 	 */
-	private void serializeRulebase(RuleBase ruleBase)
+	private void serializeObject(Object object)
 			throws FileNotFoundException, IOException {
 		ObjectOutputStream outstream = null;
 		try {
 			FileOutputStream fout = new FileOutputStream(toFile);
 			outstream = new ObjectOutputStream(fout);
-			outstream.writeObject(ruleBase);
+			outstream.writeObject(object);
 		} finally {
 			if (outstream != null) {
 				outstream.close();
@@ -370,4 +373,12 @@
 		return fileNames;
 	}
 
+    public void setBinformat(String binformat) {
+        this.binformat = binformat;
+    }
+
+    public String getBinformat() {
+        return binformat;
+    }
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/test/resources/DroolsAntTask.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/test/resources/DroolsAntTask.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-ant/src/test/resources/DroolsAntTask.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,9 +1,9 @@
 <project default="rules">
 	
 	<!-- Uncomment this for Maven Runner -->
-	<property name="eclipsepath"  value=""/>   
+	<property name="eclipsepath"  value=""/>
 	<!-- Uncomment this for Eclipse Runner  -->
-	<!-- <property name="eclipsepath"  value="../../../"/> -->  
+	<!-- <property name="eclipsepath"  value="../../../"/> -->   
 	
 	<path id="cheese.classpath">
 		<pathelement location="${eclipsepath}lib/cheese.jar"/>
@@ -16,7 +16,7 @@
 		<pathelement location="target"/>
 	</path>	
 	
-	<taskdef name="rulebase" classname="org.drools.contrib.DroolsCompilerAntTask" classpathref="drools.classpath" />
+	<taskdef name="compiler" classname="org.drools.contrib.DroolsCompilerAntTask" classpathref="drools.classpath" />
 	<taskdef name="analytics" classname="org.drools.contrib.DroolsAnalyticsAntTask" classpathref="drools.classpath" />
 	
 	
@@ -31,17 +31,17 @@
 	
 	
 	<target name="dslRules" >
-		<rulebase 
+		<compiler 
 			srcdir="${eclipsepath}src/test/resources/rules" 		
-			tofile="${eclipsepath}target/cheese.rules"
-			classpathref="cheese.classpath" > 
-			
+			tofile="${eclipsepath}target/cheese.rules.dpkg"
+			classpathref="cheese.classpath" 
+			binformat="package" > 
 			<include name="*.dslr" />
-		</rulebase>
+		</compiler>
 	</target>
 
 	<target name="rules" >
-		<rulebase 
+		<compiler 
 			srcdir="${eclipsepath}src/test/resources/rules" 		
 			tofile="${eclipsepath}target/cheese.rules"
 			classpathref="cheese.classpath" > 
@@ -49,27 +49,27 @@
 			<include name="*.brl" />
 			<include name="*.xml" />
 			<include name="*.dslr" />			
-		</rulebase>
+		</compiler>
 	</target>
 	
 	<target name="rulesnopackagefile" >
-		<rulebase 
+		<compiler 
 			srcdir="${eclipsepath}src/test/resources/packagefiletest/emptydir" 		
 			tofile="${eclipsepath}target/cheese.rules"
 			classpathref="cheese.classpath" > 
 			<include name="*.drl" />
 			<include name="*.brl" />			
-		</rulebase>
+		</compiler>
 	</target>
 
 	<target name="rulesmanypackagefile" >
-		<rulebase 
+		<compiler 
 			srcdir="${eclipsepath}src/test/resources/packagefiletest" 		
 			tofile="${eclipsepath}target/cheese.rules"
 			classpathref="cheese.classpath" > 
 			<include name="*.drl" />
 			<include name="*.brl" />
-		</rulebase>
+		</compiler>
 	</target>
 
 </project>
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-clips/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-clips/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-clips/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-	  <version>4.0.2.SNAPSHOT</version>
+	  <version>4.0.6</version>
   </parent>${project.version}
 
   <artifactId>drools-clips</artifactId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/.classpath
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/.classpath	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,14 +5,14 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar"/>
   <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
   <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
+  <classpathentry kind="src" path="/drools-core"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/1.2.24-java1.4/mvel-1.2.24-java1.4.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.21/mvel14-1.2.21.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
-  <classpathentry kind="src" path="/drools-core"/>
-  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-	  <version>4.0.2.SNAPSHOT</version>
+	  <version>4.0.6</version>
   </parent>
 
   <artifactId>drools-compiler</artifactId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -16,6 +16,7 @@
  * limitations under the License.
  */
 
+import java.io.File;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -38,6 +39,7 @@
  * 
  * drools.dialect.default = <String>
  * drools.accumulate.function.<function name> = <qualified class>
+ * drools.dump.dir = <String>
  * 
  * default dialect is java.
  * Available preconfigured Accumulate functions are:
@@ -50,7 +52,7 @@
 public class PackageBuilderConfiguration {
 
     private static final String ACCUMULATE_FUNCTION_PREFIX = "drools.accumulate.function.";
-    
+
     private Map                 dialectConfigurations;
 
     private String              defaultDialect;
@@ -61,11 +63,13 @@
 
     private Map                 accumulateFunctions;
 
+    private File                dumpDirectory;
+
     /**
      * Constructor that sets the parent class loader for the package being built/compiled
      * @param classLoader
      */
-    public PackageBuilderConfiguration(ClassLoader classLoader ) {
+    public PackageBuilderConfiguration(ClassLoader classLoader) {
         init( classLoader,
               null );
     }
@@ -111,12 +115,14 @@
         if ( properties != null ) {
             this.chainedProperties.addProperties( properties );
         }
-        
+
         this.dialectConfigurations = new HashMap();
-        
+
         buildDialectConfigurationMap();
 
         buildAccumulateFunctionsMap();
+
+        buildDumpDirectory();
     }
 
     public ChainedProperties getChainedProperties() {
@@ -130,42 +136,46 @@
                                               "drools.dialect",
                                               false );
         setDefaultDialect( (String) dialectProperties.remove( "drools.dialect.default" ) );
-        
+
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
         for ( Iterator it = dialectProperties.entrySet().iterator(); it.hasNext(); ) {
             Entry entry = (Entry) it.next();
             String str = (String) entry.getKey();
             String dialectName = str.substring( str.lastIndexOf( "." ) + 1 );
             String dialectClass = (String) entry.getValue();
-            addDialect( dialectName, dialectClass);
+            addDialect( dialectName,
+                        dialectClass );
         }
     }
-    
-    public void addDialect(String dialectName, String dialectClass) {
+
+    public void addDialect(String dialectName,
+                           String dialectClass) {
         try {
             Class cls = classLoader.loadClass( dialectClass );
             DialectConfiguration dialectConf = (DialectConfiguration) cls.newInstance();
             dialectConf.init( this );
-            addDialect( dialectName, 
-            		    dialectConf);
+            addDialect( dialectName,
+                        dialectConf );
         } catch ( Exception e ) {
             throw new RuntimeDroolsException( "Unable to load dialect '" + dialectClass + ":" + dialectName + "'",
                                               e );
-        }    	
+        }
     }
 
-    public void addDialect(String dialectName, DialectConfiguration dialectConf) {
+    public void addDialect(String dialectName,
+                           DialectConfiguration dialectConf) {
         dialectConfigurations.put( dialectName,
-                				   dialectConf );    	
+                                   dialectConf );
     }
-    
+
     public DialectRegistry buildDialectRegistry() {
-    	DialectRegistry registry = new DialectRegistry();
-    	for ( Iterator it = this.dialectConfigurations.values().iterator(); it.hasNext(); ) {
-    		DialectConfiguration conf = ( DialectConfiguration ) it.next();
-    		Dialect dialect = conf.getDialect();
-    		registry.addDialect( conf.getDialect().getId(), dialect );
-    	}
+        DialectRegistry registry = new DialectRegistry();
+        for ( Iterator it = this.dialectConfigurations.values().iterator(); it.hasNext(); ) {
+            DialectConfiguration conf = (DialectConfiguration) it.next();
+            Dialect dialect = conf.getDialect();
+            registry.addDialect( conf.getDialect().getId(),
+                                 dialect );
+        }
         return registry;
     }
 
@@ -248,4 +258,27 @@
         }
     }
 
+    private void buildDumpDirectory() {
+        String dumpStr = this.chainedProperties.getProperty( "drools.dump.dir",
+                                                             null );
+        if ( dumpStr != null ) {
+            this.dumpDirectory = new File( dumpStr );
+            if ( !dumpDirectory.isDirectory() || !dumpDirectory.canWrite() || !dumpDirectory.canRead() ) {
+                this.dumpDirectory = null;
+                throw new RuntimeDroolsException( "Drools dump directory is not accessible: " + dumpStr );
+            }
+        }
+    }
+
+    public File getDumpDir() {
+        return this.dumpDirectory;
+    }
+
+    public void setDumpDir(File dumpDir) {
+        if ( !dumpDir.isDirectory() || !dumpDir.canWrite() || !dumpDir.canRead() ) {
+            throw new RuntimeDroolsException( "Drools dump directory is not accessible: " + dumpDir.toString() );
+        }
+        this.dumpDirectory = dumpDir;
+    }
+
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/MVELDumper.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/MVELDumper.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/MVELDumper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -37,12 +37,18 @@
 public class MVELDumper extends ReflectiveVisitor {
 
     private StringBuffer        mvelDump;
+    private boolean             isDateField;
     private static final String eol = System.getProperty( "line.separator" );
     private String              template;
     private String              fieldName;
 
     public String dump(FieldConstraintDescr fieldConstr) {
+        return this.dump( fieldConstr, false );
+    }
+
+    public String dump(FieldConstraintDescr fieldConstr, boolean isDateField ) {
         mvelDump = new StringBuffer();
+        this.isDateField = isDateField;
         this.visit( fieldConstr );
         return mvelDump.toString();
     }
@@ -74,6 +80,9 @@
             }
         } else if( descr.getType() == LiteralRestrictionDescr.TYPE_STRING ) {
             text = "\"" + text + "\"";
+            if( this.isDateField ) {
+                text = "org.drools.base.evaluators.DateFactory.parseDate( "+text+" )";
+            }
         }
         this.template = processRestriction( descr.getEvaluator(), text );
     }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -82,10 +82,12 @@
     }
 
     public void addAttribute(final AttributeDescr attribute) {
-        if ( this.attributes == Collections.EMPTY_LIST ) {
-            this.attributes = new ArrayList();
+        if( attribute != null ) {
+            if ( this.attributes == Collections.EMPTY_LIST ) {
+                this.attributes = new ArrayList();
+            }
+            this.attributes.add( attribute );
         }
-        this.attributes.add( attribute );
     }
 
     public void setAttributes(final List attributes) {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMappingFile.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMappingFile.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMappingFile.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -91,41 +91,68 @@
         final BufferedReader dslFileReader = new BufferedReader( dsl );
         this.mapping = new DefaultDSLMapping();
         this.errors = new LinkedList();
+        //Note: Use a string builder for 1.5 targets
+        StringBuffer sb = new StringBuffer();
+        boolean spacesAllowed = true;
         while ( (line = dslFileReader.readLine()) != null ) {
             linecounter++;
-            final Matcher mat = pattern.matcher( line );
+            String trimmedline = line.trim(); //this can be more efficient, get rid of trim(), iterate-- over last chars only.
+            if ( spacesAllowed ) { //prevents that the break of some line be mixed with comments or empty lines
+                if ( trimmedline.length() == 0 ) {
+                    // empty line in DSL: [\t ]*\n
+                    continue;
+                }
+                if ( trimmedline.startsWith( "#" ) ) {
+                    // comment line in DSL: # bla bla \n
+                    continue;
+                }
+            }
+            //else, add the chars in the buffer, we'll see about that in a sec
+            sb.append( trimmedline );
+            if ( sb.charAt( sb.length() - 1 ) == '\\' ) {
+                sb.append( ' ' ); //put a space, don't be ridiculous
+                spacesAllowed = false;
+                continue;
+            }
+            //reinit the buffer, no matter what, but keep the accumulated chars
+            String lineToParse = sb.toString();
+            spacesAllowed = true;
+            sb = new StringBuffer();
+            final Matcher mat = pattern.matcher( lineToParse );
+            // - END - 
             if ( mat.matches() ) {
                 final String sectionStr = mat.group( 2 );
                 final String metadataStr = mat.group( 4 );
-                final String key = mat.group( 5 ).replaceAll( "\\\\=", "=" );
+                final String key = mat.group( 5 ).replaceAll( "\\\\=",
+                                                              "=" );
                 final String value = mat.group( 7 );
 
                 DSLMappingEntry.Section section = DSLMappingEntry.ANY;
                 if ( KEYWORD.equals( sectionStr ) ) {
                     section = DSLMappingEntry.KEYWORD;
-                } else if ( CONDITION.equals( sectionStr ) || WHEN.equals( sectionStr )) {
+                } else if ( CONDITION.equals( sectionStr ) || WHEN.equals( sectionStr ) ) {
                     section = DSLMappingEntry.CONDITION;
-                } else if ( CONSEQUENCE.equals( sectionStr ) || THEN.equals( sectionStr )) {
+                } else if ( CONSEQUENCE.equals( sectionStr ) || THEN.equals( sectionStr ) ) {
                     section = DSLMappingEntry.CONSEQUENCE;
                 }
 
                 DSLMappingEntry.MetaData metadata;
-                if( metadataStr == null || metadataStr.length() == 0 ) {
+                if ( metadataStr == null || metadataStr.length() == 0 ) {
                     metadata = DSLMappingEntry.EMPTY_METADATA;
                 } else {
                     metadata = new DefaultDSLEntryMetaData( metadataStr );
                 }
 
                 final DSLMappingEntry entry = new DefaultDSLMappingEntry( section,
-                                                                    metadata,
-                                                                    key,
-                                                                    value );
+                                                                          metadata,
+                                                                          key,
+                                                                          value );
 
                 this.mapping.addEntry( entry );
-            } else if ( !line.trim().startsWith( "#" ) ) { // it is not a comment 
+            } else { // it is for sure an error !
                 final String error = "Error parsing mapping entry: " + line;
                 final DSLMappingParseException exception = new DSLMappingParseException( error,
-                                                                                   linecounter );
+                                                                                         linecounter );
                 this.errors.add( exception );
             }
         }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,6 +17,7 @@
 package org.drools.rule.builder;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 
@@ -52,6 +53,7 @@
 import org.drools.rule.LiteralConstraint;
 import org.drools.rule.LiteralRestriction;
 import org.drools.rule.MultiRestrictionFieldConstraint;
+import org.drools.rule.MutableTypeConstraint;
 import org.drools.rule.OrCompositeRestriction;
 import org.drools.rule.OrConstraint;
 import org.drools.rule.Pattern;
@@ -63,12 +65,16 @@
 import org.drools.rule.VariableConstraint;
 import org.drools.rule.VariableRestriction;
 import org.drools.rule.builder.dialect.mvel.MVELDialect;
+import org.drools.rule.builder.dialect.mvel.MVELExprAnalyzer;
 import org.drools.spi.Constraint;
 import org.drools.spi.Evaluator;
 import org.drools.spi.FieldExtractor;
 import org.drools.spi.FieldValue;
 import org.drools.spi.ObjectType;
 import org.drools.spi.Restriction;
+import org.drools.spi.Constraint.ConstraintType;
+import org.mvel.ExpressionCompiler;
+import org.mvel.ParserContext;
 
 /**
  * A builder for patterns
@@ -207,9 +213,13 @@
                                       it.next(),
                                       and );
             }
+
             if ( container == null ) {
                 pattern.addConstraint( and );
             } else {
+                if( and.getType().equals( Constraint.ConstraintType.UNKNOWN ) ) {
+                    this.setConstraintType( pattern, (MutableTypeConstraint) and );
+                }
                 container.addConstraint( and );
             }
         } else if ( constraint instanceof OrDescr ) {
@@ -220,9 +230,13 @@
                                       it.next(),
                                       or );
             }
+
             if ( container == null ) {
                 pattern.addConstraint( or );
             } else {
+                if( or.getType().equals( Constraint.ConstraintType.UNKNOWN ) ) {
+                    this.setConstraintType( pattern, (MutableTypeConstraint) or );
+                }
                 container.addConstraint( or );
             }
         } else {
@@ -325,10 +339,32 @@
         if ( container == null ) {
             pattern.addConstraint( constraint );
         } else {
+            if( constraint.getType().equals( Constraint.ConstraintType.UNKNOWN ) ) {
+                this.setConstraintType( pattern, (MutableTypeConstraint) constraint );
+            }
             container.addConstraint( constraint );
         }
     }
 
+    /**
+     * @param pattern
+     * @param constraint
+     */
+    private void setConstraintType(final Pattern container,
+                                   final MutableTypeConstraint constraint) {
+        final Declaration[] declarations = constraint.getRequiredDeclarations();
+
+        boolean isAlphaConstraint = true;
+        for ( int i = 0; isAlphaConstraint && i < declarations.length; i++ ) {
+            if ( !declarations[i].isGlobal() && declarations[i].getPattern() != container ) {
+                isAlphaConstraint = false;
+            }
+        }
+
+        ConstraintType type = isAlphaConstraint ? ConstraintType.ALPHA : ConstraintType.BETA; 
+        constraint.setType( type );
+    }
+
     private void rewriteToEval(final RuleBuildContext context,
                                final Pattern pattern,
                                final FieldConstraintDescr fieldConstraintDescr,
@@ -339,12 +375,15 @@
         MVELDialect mvelDialect = (MVELDialect) context.getDialect( "mvel" );
         boolean strictMode = mvelDialect.isStrictMode();
         mvelDialect.setStrictMode( false );
-
         context.setDialect( mvelDialect );
 
+        // analyze field type:
+        Class resultType = getFieldReturnType( pattern,
+                                               fieldConstraintDescr );
+        
         PredicateDescr predicateDescr = new PredicateDescr();
         MVELDumper dumper = new MVELDumper();
-        predicateDescr.setContent( dumper.dump( fieldConstraintDescr ) );
+        predicateDescr.setContent( dumper.dump( fieldConstraintDescr, Date.class.isAssignableFrom( resultType ) ) );
 
         build( context,
                pattern,
@@ -356,6 +395,23 @@
         context.setDialect( dialect );
     }
 
+    /**
+     * @param pattern
+     * @param fieldConstraintDescr
+     * @return
+     */
+    private Class getFieldReturnType(final Pattern pattern,
+                                     final FieldConstraintDescr fieldConstraintDescr) {
+        String dummyField = "__DUMMY__";
+        String dummyExpr = dummyField+"."+fieldConstraintDescr.getFieldName();
+        ExpressionCompiler compiler = new ExpressionCompiler( dummyExpr );
+        ParserContext mvelcontext = new ParserContext();
+        mvelcontext.addInput( dummyField, ((ClassObjectType) pattern.getObjectType()).getClassType() );
+        compiler.compile( mvelcontext );
+        Class resultType = compiler.getReturnType();
+        return resultType;
+    }
+
     private Restriction createRestriction(final RuleBuildContext context,
                                           final Pattern pattern,
                                           final FieldConstraintDescr fieldConstraintDescr,
@@ -486,6 +542,9 @@
         if ( container == null ) {
             pattern.addConstraint( predicateConstraint );
         } else {
+            if( predicateConstraint.getType().equals( Constraint.ConstraintType.UNKNOWN ) ) {
+                this.setConstraintType( pattern, (MutableTypeConstraint) predicateConstraint );
+            }
             container.addConstraint( predicateConstraint );
         }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuildContext.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -114,6 +114,7 @@
         } else {
             this.rule = new Rule( ruleDescr.getName() );
         }
+        this.rule.setPackage( pkg.getName() );
 
         // Assign attributes
         setAttributes( this.rule,

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAnalysisResult.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAnalysisResult.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAnalysisResult.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -37,6 +37,7 @@
     private List identifiers = Collections.EMPTY_LIST;
     private Map localVariables = Collections.EMPTY_MAP;
     private List notBoundedIdentifiers = Collections.EMPTY_LIST;
+    private List modifyBlocks = Collections.EMPTY_LIST;
     
     public List[] getBoundIdentifiers() {
         return boundIdentifiers;
@@ -68,4 +69,10 @@
     public void setNotBoundedIdentifiers(List notBoundedIdentifiers) {
         this.notBoundedIdentifiers = notBoundedIdentifiers;
     }
+    public List getModifyBlocks() {
+        return modifyBlocks;
+    }
+    public void setModifyBlocks(List modifyBlocks) {
+        this.modifyBlocks = modifyBlocks;
+    }
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,8 +17,12 @@
 package org.drools.rule.builder.dialect.java;
 
 import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
 
 import org.drools.compiler.Dialect;
 import org.drools.compiler.RuleError;
@@ -26,7 +30,10 @@
 import org.drools.rule.Declaration;
 import org.drools.rule.builder.ConsequenceBuilder;
 import org.drools.rule.builder.RuleBuildContext;
+import org.drools.rule.builder.dialect.java.parser.JavaModifyBlockDescr;
+import org.drools.rule.builder.dialect.mvel.MVELDialect;
 import org.drools.spi.PatternExtractor;
+import org.mvel.ExecutableStatement;
 
 /**
  * @author etirelli
@@ -51,12 +58,22 @@
         Dialect.AnalysisResult analysis = context.getDialect().analyzeBlock( context,
                                                                              ruleDescr,
                                                                              (String) ruleDescr.getConsequence() );
-        
-        if( analysis == null ) {
+
+        if ( analysis == null ) {
             // not possible to get the analysis results
             return;
         }
-        
+
+        String fixedConsequence = this.fixModifyBlocks( context,
+                                                        (JavaAnalysisResult) analysis,
+                                                        (String) ruleDescr.getConsequence() );
+
+        if ( fixedConsequence == null ) {
+            // not possible to rewrite the modify blocks
+            return;
+        }
+        fixedConsequence = ((JavaDialect) context.getDialect()).getKnowledgeHelperFixer().fix( fixedConsequence );
+
         final List[] usedIdentifiers = analysis.getBoundIdentifiers();
 
         final Declaration[] declarations = new Declaration[usedIdentifiers[0].size()];
@@ -72,7 +89,7 @@
                                                null,
                                                (String[]) usedIdentifiers[1].toArray( new String[usedIdentifiers[1].size()] ) );
         map.put( "text",
-                 ((JavaDialect) context.getDialect()).getKnowledgeHelperFixer().fix( (String) ruleDescr.getConsequence() ) );
+                 fixedConsequence );
 
         // Must use the rule declarations, so we use the same order as used in the generated invoker
         final List list = Arrays.asList( context.getRule().getDeclarations() );
@@ -110,4 +127,83 @@
         context.getBuildStack().pop();
     }
 
+    protected String fixModifyBlocks(final RuleBuildContext context,
+                                     final JavaAnalysisResult analysis,
+                                     final String originalCode) {
+        MVELDialect mvel = (MVELDialect) context.getDialect( "mvel" );
+
+        TreeSet blocks = new TreeSet( new Comparator() {
+            public int compare(Object o1,
+                               Object o2) {
+                JavaModifyBlockDescr d1 = (JavaModifyBlockDescr) o1;
+                JavaModifyBlockDescr d2 = (JavaModifyBlockDescr) o2;
+                return d1.getStart() - d2.getStart();
+            }
+        } );
+
+        for ( Iterator it = analysis.getModifyBlocks().iterator(); it.hasNext(); ) {
+            blocks.add( it.next() );
+        }
+
+        StringBuffer consequence = new StringBuffer();
+        int lastAdded = 0;
+        for ( Iterator it = blocks.iterator(); it.hasNext(); ) {
+            JavaModifyBlockDescr d = (JavaModifyBlockDescr) it.next();
+            // adding chunk
+            consequence.append( originalCode.substring( lastAdded,
+                                                        d.getStart() - 1 ) );
+            lastAdded = d.getEnd();
+
+            Dialect.AnalysisResult mvelAnalysis = mvel.analyzeBlock( context,
+                                                                     context.getRuleDescr(),
+                                                                     mvel.getInterceptors(),
+                                                                     d.getModifyExpression(),
+                                                                     null );
+
+            final ExecutableStatement expr = (ExecutableStatement) mvel.compile( d.getModifyExpression(),
+                                                                                 mvelAnalysis,
+                                                                                 mvel.getInterceptors(),
+                                                                                 null,
+                                                                                 null,
+                                                                                 context );
+
+            Class ret = expr.getKnownEgressType();
+
+            if ( ret == null ) {
+                // not possible to evaluate expression return value
+                context.getErrors().add( new RuleError( context.getRule(),
+                                                        context.getRuleDescr(),
+                                                        originalCode,
+                                                        "Unable to determine the resulting type of the expression: " + d.getModifyExpression() + "\n" ) );
+
+                return null;
+            }
+
+            // adding modify expression
+            consequence.append( "{\n" );
+            consequence.append( ret.getName() );
+            consequence.append( " __obj__ = (" );
+            consequence.append( ret.getName() );
+            consequence.append( ") " );
+            consequence.append( d.getModifyExpression() );
+            consequence.append( ";\n" );
+            // adding the modifyRetract call:
+            consequence.append( "modifyRetract( __obj__ );\n" );
+            
+
+            // adding each of the expressions:
+            for ( Iterator exprIt = d.getExpressions().iterator(); exprIt.hasNext(); ) {
+                consequence.append( "__obj__." );
+                consequence.append( exprIt.next() );
+                consequence.append( ";\n" );
+            }
+            // adding the modifyInsert call:
+            consequence.append( "modifyInsert( __obj__ );" );
+            consequence.append( "}\n" );
+        }
+        consequence.append( originalCode.substring( lastAdded ) );
+
+        return consequence.toString();
+    }
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,5 +1,9 @@
 package org.drools.rule.builder.dialect.java;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
@@ -104,7 +108,7 @@
 
     // a map of registered builders
     private Map                            builders;
-
+    
     public JavaDialect() {
 
     }
@@ -328,6 +332,12 @@
         }
         final String[] classes = new String[this.generatedClassList.size()];
         this.generatedClassList.toArray( classes );
+        
+        File dumpDir = this.configuration.getPackageBuilderConfiguration().getDumpDir(); 
+        if(  dumpDir != null ) {
+            dumpResources( classes,
+                           dumpDir );
+        }
 
         final CompilationResult result = this.compiler.compile( classes,
                                                                 this.src,
@@ -371,6 +381,35 @@
     }
 
     /**
+     * @param classes
+     * @param dumpDir
+     * @throws IOException
+     * @throws FileNotFoundException
+     */
+    private void dumpResources(final String[] classes,
+                               File dumpDir) {
+        for( int i = 0; i < classes.length; i++ ) {
+            File target = new File( dumpDir, classes[i] );
+            FileOutputStream out = null;
+            try {
+                File parent = target.getParentFile();
+                if( parent != null && ! parent.exists() ) {
+                    parent.mkdirs();
+                }
+                target.createNewFile();
+                out = new FileOutputStream( target );
+                out.write( this.src.getBytes( classes[i] ) );
+            } catch ( FileNotFoundException e ) {
+                e.printStackTrace();
+            } catch ( IOException e ) {
+                e.printStackTrace();
+            } finally {
+                if( out != null ) try { out.close(); } catch (Exception e) {}
+            }
+        }
+    }
+
+    /**
      * This will add the rule for compiling later on.
      * It will not actually call the compiler
      */
@@ -560,4 +599,5 @@
     public String getId() {
         return ID;
     }
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectConfiguration.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectConfiguration.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialectConfiguration.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,12 +1,10 @@
 package org.drools.rule.builder.dialect.java;
 
 import java.util.Arrays;
-import java.util.Properties;
 
 import org.drools.RuntimeDroolsException;
 import org.drools.compiler.Dialect;
 import org.drools.compiler.DialectConfiguration;
-import org.drools.compiler.PackageBuilder;
 import org.drools.compiler.PackageBuilderConfiguration;
 
 /**

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaExprAnalyzer.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaExprAnalyzer.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaExprAnalyzer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -99,6 +99,7 @@
                 result.addLocalVariable( ident.getIdentifier(), descr );
             }
         }
+        result.setModifyBlocks( parser.getModifyBlocks() );
 
         return analyze( result,
                         availableIdentifiers );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaPredicateBuilder.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaPredicateBuilder.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaPredicateBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -28,6 +28,7 @@
                                          previousDeclarations,
                                          localDeclarations,
                                          (String[]) usedIdentifiers[1].toArray( new String[usedIdentifiers[1].size()] ) );
+        map.put( "expression", predicateDescr.getContent().toString().replaceAll( "\"", "\\\\\\\"" ) );
 
         generatTemplates( "predicateMethod",
                           "predicateInvoker",

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaRuleClassBuilder.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaRuleClassBuilder.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaRuleClassBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -64,9 +64,9 @@
             buffer.append( context.getMethods().get( i ) + lineSeparator );
         }
 
-        final String[] lines = buffer.toString().split( lineSeparator );
+        final String[] lines = buffer.toString().split( lineSeparator, -1);
 
-        ruleDescr.setConsequenceOffset( lines.length + 1 );
+        ruleDescr.setConsequenceOffset( lines.length );
 
         buffer.append( context.getMethods().get( context.getMethods().size() - 1 ) + lineSeparator );
         buffer.append( "}" );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaLexer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g 2007-10-31 14:52:30
+// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g 2007-12-19 16:46:02
 
 	package org.drools.rule.builder.dialect.java.parser;
 
@@ -16,6 +16,7 @@
     public static final int T85=85;
     public static final int T102=102;
     public static final int Letter=19;
+    public static final int T114=114;
     public static final int T103=103;
     public static final int T32=32;
     public static final int T81=81;
@@ -114,7 +115,7 @@
     public static final int EOF=-1;
     public static final int T104=104;
     public static final int T47=47;
-    public static final int Tokens=114;
+    public static final int Tokens=115;
     public static final int T53=53;
     public static final int OctalEscape=18;
     public static final int T99=99;
@@ -1315,10 +1316,10 @@
     public final void mT87() throws RecognitionException {
         try {
             int _type = T87;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:73:5: ( 'catch' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:73:7: 'catch'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:73:5: ( 'modify' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:73:7: 'modify'
             {
-            match("catch"); 
+            match("modify"); 
 
 
             }
@@ -1334,10 +1335,10 @@
     public final void mT88() throws RecognitionException {
         try {
             int _type = T88;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:74:5: ( 'case' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:74:7: 'case'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:74:5: ( 'catch' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:74:7: 'catch'
             {
-            match("case"); 
+            match("catch"); 
 
 
             }
@@ -1353,10 +1354,10 @@
     public final void mT89() throws RecognitionException {
         try {
             int _type = T89;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:75:5: ( '+=' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:75:7: '+='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:75:5: ( 'case' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:75:7: 'case'
             {
-            match("+="); 
+            match("case"); 
 
 
             }
@@ -1372,10 +1373,10 @@
     public final void mT90() throws RecognitionException {
         try {
             int _type = T90;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:76:5: ( '-=' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:76:7: '-='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:76:5: ( '+=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:76:7: '+='
             {
-            match("-="); 
+            match("+="); 
 
 
             }
@@ -1391,10 +1392,10 @@
     public final void mT91() throws RecognitionException {
         try {
             int _type = T91;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:77:5: ( '*=' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:77:7: '*='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:77:5: ( '-=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:77:7: '-='
             {
-            match("*="); 
+            match("-="); 
 
 
             }
@@ -1410,10 +1411,10 @@
     public final void mT92() throws RecognitionException {
         try {
             int _type = T92;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:78:5: ( '/=' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:78:7: '/='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:78:5: ( '*=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:78:7: '*='
             {
-            match("/="); 
+            match("*="); 
 
 
             }
@@ -1429,10 +1430,10 @@
     public final void mT93() throws RecognitionException {
         try {
             int _type = T93;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:79:5: ( '&=' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:79:7: '&='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:79:5: ( '/=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:79:7: '/='
             {
-            match("&="); 
+            match("/="); 
 
 
             }
@@ -1448,10 +1449,10 @@
     public final void mT94() throws RecognitionException {
         try {
             int _type = T94;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:80:5: ( '|=' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:80:7: '|='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:80:5: ( '&=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:80:7: '&='
             {
-            match("|="); 
+            match("&="); 
 
 
             }
@@ -1467,10 +1468,10 @@
     public final void mT95() throws RecognitionException {
         try {
             int _type = T95;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:81:5: ( '^=' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:81:7: '^='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:81:5: ( '|=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:81:7: '|='
             {
-            match("^="); 
+            match("|="); 
 
 
             }
@@ -1486,10 +1487,10 @@
     public final void mT96() throws RecognitionException {
         try {
             int _type = T96;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:82:5: ( '%=' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:82:7: '%='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:82:5: ( '^=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:82:7: '^='
             {
-            match("%="); 
+            match("^="); 
 
 
             }
@@ -1505,10 +1506,10 @@
     public final void mT97() throws RecognitionException {
         try {
             int _type = T97;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:83:5: ( '||' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:83:7: '||'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:83:5: ( '%=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:83:7: '%='
             {
-            match("||"); 
+            match("%="); 
 
 
             }
@@ -1524,10 +1525,10 @@
     public final void mT98() throws RecognitionException {
         try {
             int _type = T98;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:84:5: ( '&&' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:84:7: '&&'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:84:5: ( '||' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:84:7: '||'
             {
-            match("&&"); 
+            match("||"); 
 
 
             }
@@ -1543,11 +1544,12 @@
     public final void mT99() throws RecognitionException {
         try {
             int _type = T99;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:85:5: ( '|' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:85:7: '|'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:85:5: ( '&&' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:85:7: '&&'
             {
-            match('|'); 
+            match("&&"); 
 
+
             }
 
             this.type = _type;
@@ -1561,10 +1563,10 @@
     public final void mT100() throws RecognitionException {
         try {
             int _type = T100;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:86:6: ( '^' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:86:8: '^'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:86:6: ( '|' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:86:8: '|'
             {
-            match('^'); 
+            match('|'); 
 
             }
 
@@ -1579,12 +1581,11 @@
     public final void mT101() throws RecognitionException {
         try {
             int _type = T101;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:87:6: ( '==' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:87:8: '=='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:87:6: ( '^' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:87:8: '^'
             {
-            match("=="); 
+            match('^'); 
 
-
             }
 
             this.type = _type;
@@ -1598,10 +1599,10 @@
     public final void mT102() throws RecognitionException {
         try {
             int _type = T102;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:88:6: ( '!=' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:88:8: '!='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:88:6: ( '==' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:88:8: '=='
             {
-            match("!="); 
+            match("=="); 
 
 
             }
@@ -1617,10 +1618,10 @@
     public final void mT103() throws RecognitionException {
         try {
             int _type = T103;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:89:6: ( 'instanceof' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:89:8: 'instanceof'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:89:6: ( '!=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:89:8: '!='
             {
-            match("instanceof"); 
+            match("!="); 
 
 
             }
@@ -1636,11 +1637,12 @@
     public final void mT104() throws RecognitionException {
         try {
             int _type = T104;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:90:6: ( '+' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:90:8: '+'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:90:6: ( 'instanceof' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:90:8: 'instanceof'
             {
-            match('+'); 
+            match("instanceof"); 
 
+
             }
 
             this.type = _type;
@@ -1654,10 +1656,10 @@
     public final void mT105() throws RecognitionException {
         try {
             int _type = T105;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:91:6: ( '-' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:91:8: '-'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:91:6: ( '+' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:91:8: '+'
             {
-            match('-'); 
+            match('+'); 
 
             }
 
@@ -1672,10 +1674,10 @@
     public final void mT106() throws RecognitionException {
         try {
             int _type = T106;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:92:6: ( '/' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:92:8: '/'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:92:6: ( '-' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:92:8: '-'
             {
-            match('/'); 
+            match('-'); 
 
             }
 
@@ -1690,10 +1692,10 @@
     public final void mT107() throws RecognitionException {
         try {
             int _type = T107;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:93:6: ( '%' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:93:8: '%'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:93:6: ( '/' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:93:8: '/'
             {
-            match('%'); 
+            match('/'); 
 
             }
 
@@ -1708,12 +1710,11 @@
     public final void mT108() throws RecognitionException {
         try {
             int _type = T108;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:94:6: ( '++' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:94:8: '++'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:94:6: ( '%' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:94:8: '%'
             {
-            match("++"); 
+            match('%'); 
 
-
             }
 
             this.type = _type;
@@ -1727,10 +1728,10 @@
     public final void mT109() throws RecognitionException {
         try {
             int _type = T109;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:95:6: ( '--' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:95:8: '--'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:95:6: ( '++' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:95:8: '++'
             {
-            match("--"); 
+            match("++"); 
 
 
             }
@@ -1746,11 +1747,12 @@
     public final void mT110() throws RecognitionException {
         try {
             int _type = T110;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:96:6: ( '~' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:96:8: '~'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:96:6: ( '--' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:96:8: '--'
             {
-            match('~'); 
+            match("--"); 
 
+
             }
 
             this.type = _type;
@@ -1764,10 +1766,10 @@
     public final void mT111() throws RecognitionException {
         try {
             int _type = T111;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:97:6: ( '!' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:97:8: '!'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:97:6: ( '~' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:97:8: '~'
             {
-            match('!'); 
+            match('~'); 
 
             }
 
@@ -1782,12 +1784,11 @@
     public final void mT112() throws RecognitionException {
         try {
             int _type = T112;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:98:6: ( 'this' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:98:8: 'this'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:98:6: ( '!' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:98:8: '!'
             {
-            match("this"); 
+            match('!'); 
 
-
             }
 
             this.type = _type;
@@ -1801,10 +1802,10 @@
     public final void mT113() throws RecognitionException {
         try {
             int _type = T113;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:99:6: ( 'new' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:99:8: 'new'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:99:6: ( 'this' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:99:8: 'this'
             {
-            match("new"); 
+            match("this"); 
 
 
             }
@@ -1816,12 +1817,31 @@
     }
     // $ANTLR end T113
 
+    // $ANTLR start T114
+    public final void mT114() throws RecognitionException {
+        try {
+            int _type = T114;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:100:6: ( 'new' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:100:8: 'new'
+            {
+            match("new"); 
+
+
+            }
+
+            this.type = _type;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end T114
+
     // $ANTLR start HexLiteral
     public final void mHexLiteral() throws RecognitionException {
         try {
             int _type = HexLiteral;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:936:12: ( '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:936:14: '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:960:12: ( '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:960:14: '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )?
             {
             match('0'); 
             if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
@@ -1834,7 +1854,7 @@
                 recover(mse);    throw mse;
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:936:28: ( HexDigit )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:960:28: ( HexDigit )+
             int cnt1=0;
             loop1:
             do {
@@ -1848,7 +1868,7 @@
 
                 switch (alt1) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:936:28: HexDigit
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:960:28: HexDigit
             	    {
             	    mHexDigit(); 
 
@@ -1864,7 +1884,7 @@
                 cnt1++;
             } while (true);
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:936:38: ( IntegerTypeSuffix )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:960:38: ( IntegerTypeSuffix )?
             int alt2=2;
             int LA2_0 = input.LA(1);
 
@@ -1873,7 +1893,7 @@
             }
             switch (alt2) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:936:38: IntegerTypeSuffix
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:960:38: IntegerTypeSuffix
                     {
                     mIntegerTypeSuffix(); 
 
@@ -1896,10 +1916,10 @@
     public final void mDecimalLiteral() throws RecognitionException {
         try {
             int _type = DecimalLiteral;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:938:16: ( ( '0' | '1' .. '9' ( '0' .. '9' )* ) ( IntegerTypeSuffix )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:938:18: ( '0' | '1' .. '9' ( '0' .. '9' )* ) ( IntegerTypeSuffix )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:16: ( ( '0' | '1' .. '9' ( '0' .. '9' )* ) ( IntegerTypeSuffix )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:18: ( '0' | '1' .. '9' ( '0' .. '9' )* ) ( IntegerTypeSuffix )?
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:938:18: ( '0' | '1' .. '9' ( '0' .. '9' )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:18: ( '0' | '1' .. '9' ( '0' .. '9' )* )
             int alt4=2;
             int LA4_0 = input.LA(1);
 
@@ -1911,23 +1931,23 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("938:18: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 4, 0, input);
+                    new NoViableAltException("962:18: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 4, 0, input);
 
                 throw nvae;
             }
             switch (alt4) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:938:19: '0'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:19: '0'
                     {
                     match('0'); 
 
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:938:25: '1' .. '9' ( '0' .. '9' )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:25: '1' .. '9' ( '0' .. '9' )*
                     {
                     matchRange('1','9'); 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:938:34: ( '0' .. '9' )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:34: ( '0' .. '9' )*
                     loop3:
                     do {
                         int alt3=2;
@@ -1940,7 +1960,7 @@
 
                         switch (alt3) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:938:34: '0' .. '9'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:34: '0' .. '9'
                     	    {
                     	    matchRange('0','9'); 
 
@@ -1958,7 +1978,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:938:45: ( IntegerTypeSuffix )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:45: ( IntegerTypeSuffix )?
             int alt5=2;
             int LA5_0 = input.LA(1);
 
@@ -1967,7 +1987,7 @@
             }
             switch (alt5) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:938:45: IntegerTypeSuffix
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:45: IntegerTypeSuffix
                     {
                     mIntegerTypeSuffix(); 
 
@@ -1990,11 +2010,11 @@
     public final void mOctalLiteral() throws RecognitionException {
         try {
             int _type = OctalLiteral;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:940:14: ( '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:940:16: '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:964:14: ( '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:964:16: '0' ( '0' .. '7' )+ ( IntegerTypeSuffix )?
             {
             match('0'); 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:940:20: ( '0' .. '7' )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:964:20: ( '0' .. '7' )+
             int cnt6=0;
             loop6:
             do {
@@ -2008,7 +2028,7 @@
 
                 switch (alt6) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:940:21: '0' .. '7'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:964:21: '0' .. '7'
             	    {
             	    matchRange('0','7'); 
 
@@ -2024,7 +2044,7 @@
                 cnt6++;
             } while (true);
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:940:32: ( IntegerTypeSuffix )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:964:32: ( IntegerTypeSuffix )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -2033,7 +2053,7 @@
             }
             switch (alt7) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:940:32: IntegerTypeSuffix
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:964:32: IntegerTypeSuffix
                     {
                     mIntegerTypeSuffix(); 
 
@@ -2055,8 +2075,8 @@
     // $ANTLR start HexDigit
     public final void mHexDigit() throws RecognitionException {
         try {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:943:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:943:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:967:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:967:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
             {
             if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
                 input.consume();
@@ -2080,8 +2100,8 @@
     // $ANTLR start IntegerTypeSuffix
     public final void mIntegerTypeSuffix() throws RecognitionException {
         try {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:946:19: ( ( 'l' | 'L' ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:946:21: ( 'l' | 'L' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:970:19: ( ( 'l' | 'L' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:970:21: ( 'l' | 'L' )
             {
             if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
                 input.consume();
@@ -2106,14 +2126,14 @@
     public final void mFloatingPointLiteral() throws RecognitionException {
         try {
             int _type = FloatingPointLiteral;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:5: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:5: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix )
             int alt19=4;
             alt19 = dfa19.predict(input);
             switch (alt19) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )?
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:9: ( '0' .. '9' )+
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:9: ( '0' .. '9' )+
                     int cnt8=0;
                     loop8:
                     do {
@@ -2127,7 +2147,7 @@
 
                         switch (alt8) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:10: '0' .. '9'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:10: '0' .. '9'
                     	    {
                     	    matchRange('0','9'); 
 
@@ -2144,7 +2164,7 @@
                     } while (true);
 
                     match('.'); 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:25: ( '0' .. '9' )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:25: ( '0' .. '9' )*
                     loop9:
                     do {
                         int alt9=2;
@@ -2157,7 +2177,7 @@
 
                         switch (alt9) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:26: '0' .. '9'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:26: '0' .. '9'
                     	    {
                     	    matchRange('0','9'); 
 
@@ -2169,7 +2189,7 @@
                         }
                     } while (true);
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:37: ( Exponent )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:37: ( Exponent )?
                     int alt10=2;
                     int LA10_0 = input.LA(1);
 
@@ -2178,7 +2198,7 @@
                     }
                     switch (alt10) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:37: Exponent
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:37: Exponent
                             {
                             mExponent(); 
 
@@ -2187,7 +2207,7 @@
 
                     }
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:47: ( FloatTypeSuffix )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:47: ( FloatTypeSuffix )?
                     int alt11=2;
                     int LA11_0 = input.LA(1);
 
@@ -2196,7 +2216,7 @@
                     }
                     switch (alt11) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:47: FloatTypeSuffix
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:47: FloatTypeSuffix
                             {
                             mFloatTypeSuffix(); 
 
@@ -2209,10 +2229,10 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:950:9: '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:974:9: '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )?
                     {
                     match('.'); 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:950:13: ( '0' .. '9' )+
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:974:13: ( '0' .. '9' )+
                     int cnt12=0;
                     loop12:
                     do {
@@ -2226,7 +2246,7 @@
 
                         switch (alt12) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:950:14: '0' .. '9'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:974:14: '0' .. '9'
                     	    {
                     	    matchRange('0','9'); 
 
@@ -2242,7 +2262,7 @@
                         cnt12++;
                     } while (true);
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:950:25: ( Exponent )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:974:25: ( Exponent )?
                     int alt13=2;
                     int LA13_0 = input.LA(1);
 
@@ -2251,7 +2271,7 @@
                     }
                     switch (alt13) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:950:25: Exponent
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:974:25: Exponent
                             {
                             mExponent(); 
 
@@ -2260,7 +2280,7 @@
 
                     }
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:950:35: ( FloatTypeSuffix )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:974:35: ( FloatTypeSuffix )?
                     int alt14=2;
                     int LA14_0 = input.LA(1);
 
@@ -2269,7 +2289,7 @@
                     }
                     switch (alt14) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:950:35: FloatTypeSuffix
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:974:35: FloatTypeSuffix
                             {
                             mFloatTypeSuffix(); 
 
@@ -2282,9 +2302,9 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:951:9: ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:975:9: ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )?
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:951:9: ( '0' .. '9' )+
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:975:9: ( '0' .. '9' )+
                     int cnt15=0;
                     loop15:
                     do {
@@ -2298,7 +2318,7 @@
 
                         switch (alt15) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:951:10: '0' .. '9'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:975:10: '0' .. '9'
                     	    {
                     	    matchRange('0','9'); 
 
@@ -2315,7 +2335,7 @@
                     } while (true);
 
                     mExponent(); 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:951:30: ( FloatTypeSuffix )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:975:30: ( FloatTypeSuffix )?
                     int alt16=2;
                     int LA16_0 = input.LA(1);
 
@@ -2324,7 +2344,7 @@
                     }
                     switch (alt16) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:951:30: FloatTypeSuffix
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:975:30: FloatTypeSuffix
                             {
                             mFloatTypeSuffix(); 
 
@@ -2337,9 +2357,9 @@
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:952:9: ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:976:9: ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:952:9: ( '0' .. '9' )+
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:976:9: ( '0' .. '9' )+
                     int cnt17=0;
                     loop17:
                     do {
@@ -2353,7 +2373,7 @@
 
                         switch (alt17) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:952:10: '0' .. '9'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:976:10: '0' .. '9'
                     	    {
                     	    matchRange('0','9'); 
 
@@ -2369,7 +2389,7 @@
                         cnt17++;
                     } while (true);
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:952:21: ( Exponent )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:976:21: ( Exponent )?
                     int alt18=2;
                     int LA18_0 = input.LA(1);
 
@@ -2378,7 +2398,7 @@
                     }
                     switch (alt18) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:952:21: Exponent
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:976:21: Exponent
                             {
                             mExponent(); 
 
@@ -2403,8 +2423,8 @@
     // $ANTLR start Exponent
     public final void mExponent() throws RecognitionException {
         try {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:956:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:956:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:980:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:980:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
             {
             if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                 input.consume();
@@ -2416,7 +2436,7 @@
                 recover(mse);    throw mse;
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:956:22: ( '+' | '-' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:980:22: ( '+' | '-' )?
             int alt20=2;
             int LA20_0 = input.LA(1);
 
@@ -2443,7 +2463,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:956:33: ( '0' .. '9' )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:980:33: ( '0' .. '9' )+
             int cnt21=0;
             loop21:
             do {
@@ -2457,7 +2477,7 @@
 
                 switch (alt21) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:956:34: '0' .. '9'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:980:34: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -2485,8 +2505,8 @@
     // $ANTLR start FloatTypeSuffix
     public final void mFloatTypeSuffix() throws RecognitionException {
         try {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:959:17: ( ( 'f' | 'F' | 'd' | 'D' ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:959:19: ( 'f' | 'F' | 'd' | 'D' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:983:17: ( ( 'f' | 'F' | 'd' | 'D' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:983:19: ( 'f' | 'F' | 'd' | 'D' )
             {
             if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
                 input.consume();
@@ -2511,11 +2531,11 @@
     public final void mCharacterLiteral() throws RecognitionException {
         try {
             int _type = CharacterLiteral;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:5: ( '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) '\\'' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:9: '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) '\\''
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:986:5: ( '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) '\\'' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:986:9: '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) ) '\\''
             {
             match('\''); 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:14: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:986:14: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )
             int alt22=2;
             int LA22_0 = input.LA(1);
 
@@ -2527,20 +2547,20 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("962:14: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )", 22, 0, input);
+                    new NoViableAltException("986:14: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )", 22, 0, input);
 
                 throw nvae;
             }
             switch (alt22) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:16: EscapeSequence
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:986:16: EscapeSequence
                     {
                     mEscapeSequence(); 
 
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:962:33: ~ ( '\\'' | '\\\\' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:986:33: ~ ( '\\'' | '\\\\' )
                     {
                     if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
                         input.consume();
@@ -2573,11 +2593,11 @@
     public final void mStringLiteral() throws RecognitionException {
         try {
             int _type = StringLiteral;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:966:5: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:966:8: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:990:5: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:990:8: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"'
             {
             match('\"'); 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:966:12: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:990:12: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )*
             loop23:
             do {
                 int alt23=3;
@@ -2593,14 +2613,14 @@
 
                 switch (alt23) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:966:14: EscapeSequence
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:990:14: EscapeSequence
             	    {
             	    mEscapeSequence(); 
 
             	    }
             	    break;
             	case 2 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:966:31: ~ ( '\\\\' | '\"' )
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:990:31: ~ ( '\\\\' | '\"' )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
             	        input.consume();
@@ -2635,7 +2655,7 @@
     // $ANTLR start EscapeSequence
     public final void mEscapeSequence() throws RecognitionException {
         try {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:971:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:995:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape )
             int alt24=3;
             int LA24_0 = input.LA(1);
 
@@ -2672,7 +2692,7 @@
                     break;
                 default:
                     NoViableAltException nvae =
-                        new NoViableAltException("969:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 24, 1, input);
+                        new NoViableAltException("993:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 24, 1, input);
 
                     throw nvae;
                 }
@@ -2680,13 +2700,13 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("969:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 24, 0, input);
+                    new NoViableAltException("993:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 24, 0, input);
 
                 throw nvae;
             }
             switch (alt24) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:971:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:995:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
                     {
                     match('\\'); 
                     if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
@@ -2703,14 +2723,14 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:972:9: UnicodeEscape
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:996:9: UnicodeEscape
                     {
                     mUnicodeEscape(); 
 
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:973:9: OctalEscape
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:997:9: OctalEscape
                     {
                     mOctalEscape(); 
 
@@ -2727,7 +2747,7 @@
     // $ANTLR start OctalEscape
     public final void mOctalEscape() throws RecognitionException {
         try {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:978:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1002:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
             int alt25=3;
             int LA25_0 = input.LA(1);
 
@@ -2760,38 +2780,38 @@
                 }
                 else {
                     NoViableAltException nvae =
-                        new NoViableAltException("976:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 25, 1, input);
+                        new NoViableAltException("1000:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 25, 1, input);
 
                     throw nvae;
                 }
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("976:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 25, 0, input);
+                    new NoViableAltException("1000:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 25, 0, input);
 
                 throw nvae;
             }
             switch (alt25) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:978:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1002:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
                     {
                     match('\\'); 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:978:14: ( '0' .. '3' )
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:978:15: '0' .. '3'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1002:14: ( '0' .. '3' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1002:15: '0' .. '3'
                     {
                     matchRange('0','3'); 
 
                     }
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:978:25: ( '0' .. '7' )
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:978:26: '0' .. '7'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1002:25: ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1002:26: '0' .. '7'
                     {
                     matchRange('0','7'); 
 
                     }
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:978:36: ( '0' .. '7' )
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:978:37: '0' .. '7'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1002:36: ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1002:37: '0' .. '7'
                     {
                     matchRange('0','7'); 
 
@@ -2801,18 +2821,18 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:979:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1003:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
                     {
                     match('\\'); 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:979:14: ( '0' .. '7' )
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:979:15: '0' .. '7'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1003:14: ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1003:15: '0' .. '7'
                     {
                     matchRange('0','7'); 
 
                     }
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:979:25: ( '0' .. '7' )
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:979:26: '0' .. '7'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1003:25: ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1003:26: '0' .. '7'
                     {
                     matchRange('0','7'); 
 
@@ -2822,11 +2842,11 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:980:9: '\\\\' ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1004:9: '\\\\' ( '0' .. '7' )
                     {
                     match('\\'); 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:980:14: ( '0' .. '7' )
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:980:15: '0' .. '7'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1004:14: ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1004:15: '0' .. '7'
                     {
                     matchRange('0','7'); 
 
@@ -2846,8 +2866,8 @@
     // $ANTLR start UnicodeEscape
     public final void mUnicodeEscape() throws RecognitionException {
         try {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:985:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:985:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1009:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1009:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
             {
             match('\\'); 
             match('u'); 
@@ -2868,8 +2888,8 @@
     public final void mENUM() throws RecognitionException {
         try {
             int _type = ENUM;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:988:5: ( 'enum' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:988:7: 'enum'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1012:5: ( 'enum' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1012:7: 'enum'
             {
             match("enum"); 
 
@@ -2888,11 +2908,11 @@
     public final void mIdentifier() throws RecognitionException {
         try {
             int _type = Identifier;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:992:5: ( Letter ( Letter | JavaIDDigit )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:992:9: Letter ( Letter | JavaIDDigit )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1016:5: ( Letter ( Letter | JavaIDDigit )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1016:9: Letter ( Letter | JavaIDDigit )*
             {
             mLetter(); 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:992:16: ( Letter | JavaIDDigit )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1016:16: ( Letter | JavaIDDigit )*
             loop26:
             do {
                 int alt26=2;
@@ -2939,7 +2959,7 @@
     // $ANTLR start Letter
     public final void mLetter() throws RecognitionException {
         try {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1000:5: ( '\\u0024' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u00ff' | '\\u0100' .. '\\u1fff' | '\\u3040' .. '\\u318f' | '\\u3300' .. '\\u337f' | '\\u3400' .. '\\u3d2d' | '\\u4e00' .. '\\u9fff' | '\\uf900' .. '\\ufaff' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1024:5: ( '\\u0024' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u00ff' | '\\u0100' .. '\\u1fff' | '\\u3040' .. '\\u318f' | '\\u3300' .. '\\u337f' | '\\u3400' .. '\\u3d2d' | '\\u4e00' .. '\\u9fff' | '\\uf900' .. '\\ufaff' )
             // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:
             {
             if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) {
@@ -2964,7 +2984,7 @@
     // $ANTLR start JavaIDDigit
     public final void mJavaIDDigit() throws RecognitionException {
         try {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1017:5: ( '\\u0030' .. '\\u0039' | '\\u0660' .. '\\u0669' | '\\u06f0' .. '\\u06f9' | '\\u0966' .. '\\u096f' | '\\u09e6' .. '\\u09ef' | '\\u0a66' .. '\\u0a6f' | '\\u0ae6' .. '\\u0aef' | '\\u0b66' .. '\\u0b6f' | '\\u0be7' .. '\\u0bef' | '\\u0c66' .. '\\u0c6f' | '\\u0ce6' .. '\\u0cef' | '\\u0d66' .. '\\u0d6f' | '\\u0e50' .. '\\u0e59' | '\\u0ed0' .. '\\u0ed9' | '\\u1040' .. '\\u1049' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1041:5: ( '\\u0030' .. '\\u0039' | '\\u0660' .. '\\u0669' | '\\u06f0' .. '\\u06f9' | '\\u0966' .. '\\u096f' | '\\u09e6' .. '\\u09ef' | '\\u0a66' .. '\\u0a6f' | '\\u0ae6' .. '\\u0aef' | '\\u0b66' .. '\\u0b6f' | '\\u0be7' .. '\\u0bef' | '\\u0c66' .. '\\u0c6f' | '\\u0ce6' .. '\\u0cef' | '\\u0d66' .. '\\u0d6f' | '\\u0e50' .. '\\u0e59' | '\\u0ed0' .. '\\u0ed9' | '\\u1040' .. '\\u1049' )
             // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:
             {
             if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='\u0660' && input.LA(1)<='\u0669')||(input.LA(1)>='\u06F0' && input.LA(1)<='\u06F9')||(input.LA(1)>='\u0966' && input.LA(1)<='\u096F')||(input.LA(1)>='\u09E6' && input.LA(1)<='\u09EF')||(input.LA(1)>='\u0A66' && input.LA(1)<='\u0A6F')||(input.LA(1)>='\u0AE6' && input.LA(1)<='\u0AEF')||(input.LA(1)>='\u0B66' && input.LA(1)<='\u0B6F')||(input.LA(1)>='\u0BE7' && input.LA(1)<='\u0BEF')||(input.LA(1)>='\u0C66' && input.LA(1)<='\u0C6F')||(input.LA(1)>='\u0CE6' && input.LA(1)<='\u0CEF')||(input.LA(1)>='\u0D66' && input.LA(1)<='\u0D6F')||(input.LA(1)>='\u0E50' && input.LA(1)<='\u0E59')||(input.LA(1)>='\u0ED0' && input.LA(1)<='\u0ED9')||(input.LA(1)>='\u1040' && input.LA(1)<='\u1049') ) {
@@ -2990,8 +3010,8 @@
     public final void mWS() throws RecognitionException {
         try {
             int _type = WS;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1034:5: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1034:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1058:5: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1058:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )
             {
             if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||(input.LA(1)>='\f' && input.LA(1)<='\r')||input.LA(1)==' ' ) {
                 input.consume();
@@ -3018,12 +3038,12 @@
     public final void mCOMMENT() throws RecognitionException {
         try {
             int _type = COMMENT;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1038:5: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1038:9: '/*' ( options {greedy=false; } : . )* '*/'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1062:5: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1062:9: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1038:14: ( options {greedy=false; } : . )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1062:14: ( options {greedy=false; } : . )*
             loop27:
             do {
                 int alt27=2;
@@ -3048,7 +3068,7 @@
 
                 switch (alt27) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1038:42: .
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1062:42: .
             	    {
             	    matchAny(); 
 
@@ -3077,12 +3097,12 @@
     public final void mLINE_COMMENT() throws RecognitionException {
         try {
             int _type = LINE_COMMENT;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1042:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1042:7: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1066:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1066:7: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
             {
             match("//"); 
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1042:12: (~ ( '\\n' | '\\r' ) )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1066:12: (~ ( '\\n' | '\\r' ) )*
             loop28:
             do {
                 int alt28=2;
@@ -3095,7 +3115,7 @@
 
                 switch (alt28) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1042:12: ~ ( '\\n' | '\\r' )
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1066:12: ~ ( '\\n' | '\\r' )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFE') ) {
             	        input.consume();
@@ -3116,7 +3136,7 @@
                 }
             } while (true);
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1042:26: ( '\\r' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1066:26: ( '\\r' )?
             int alt29=2;
             int LA29_0 = input.LA(1);
 
@@ -3125,7 +3145,7 @@
             }
             switch (alt29) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1042:26: '\\r'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1066:26: '\\r'
                     {
                     match('\r'); 
 
@@ -3147,8 +3167,8 @@
     // $ANTLR end LINE_COMMENT
 
     public void mTokens() throws RecognitionException {
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:8: ( T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | HexLiteral | DecimalLiteral | OctalLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | ENUM | Identifier | WS | COMMENT | LINE_COMMENT )
-        int alt30=101;
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:8: ( T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | T114 | HexLiteral | DecimalLiteral | OctalLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | ENUM | Identifier | WS | COMMENT | LINE_COMMENT )
+        int alt30=102;
         alt30 = dfa30.predict(input);
         switch (alt30) {
             case 1 :
@@ -3782,78 +3802,85 @@
                 }
                 break;
             case 91 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:384: HexLiteral
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:384: T114
                 {
-                mHexLiteral(); 
+                mT114(); 
 
                 }
                 break;
             case 92 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:395: DecimalLiteral
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:389: HexLiteral
                 {
-                mDecimalLiteral(); 
+                mHexLiteral(); 
 
                 }
                 break;
             case 93 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:410: OctalLiteral
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:400: DecimalLiteral
                 {
-                mOctalLiteral(); 
+                mDecimalLiteral(); 
 
                 }
                 break;
             case 94 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:423: FloatingPointLiteral
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:415: OctalLiteral
                 {
-                mFloatingPointLiteral(); 
+                mOctalLiteral(); 
 
                 }
                 break;
             case 95 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:444: CharacterLiteral
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:428: FloatingPointLiteral
                 {
-                mCharacterLiteral(); 
+                mFloatingPointLiteral(); 
 
                 }
                 break;
             case 96 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:461: StringLiteral
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:449: CharacterLiteral
                 {
-                mStringLiteral(); 
+                mCharacterLiteral(); 
 
                 }
                 break;
             case 97 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:475: ENUM
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:466: StringLiteral
                 {
-                mENUM(); 
+                mStringLiteral(); 
 
                 }
                 break;
             case 98 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:480: Identifier
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:480: ENUM
                 {
-                mIdentifier(); 
+                mENUM(); 
 
                 }
                 break;
             case 99 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:491: WS
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:485: Identifier
                 {
-                mWS(); 
+                mIdentifier(); 
 
                 }
                 break;
             case 100 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:494: COMMENT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:496: WS
                 {
-                mCOMMENT(); 
+                mWS(); 
 
                 }
                 break;
             case 101 :
-                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:502: LINE_COMMENT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:499: COMMENT
                 {
+                mCOMMENT(); 
+
+                }
+                break;
+            case 102 :
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:1:507: LINE_COMMENT
+                {
                 mLINE_COMMENT(); 
 
                 }
@@ -3921,199 +3948,198 @@
             this.transition = DFA19_transition;
         }
         public String getDescription() {
-            return "948:1: FloatingPointLiteral : ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix );";
+            return "972:1: FloatingPointLiteral : ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ ( Exponent )? FloatTypeSuffix );";
         }
     }
     static final String DFA30_eotS =
-        "\1\uffff\1\55\1\uffff\2\55\1\73\1\76\2\55\3\uffff\1\110\2\uffff"+
-        "\1\55\2\uffff\1\55\1\115\6\55\5\uffff\2\55\1\141\1\144\1\150\1\153"+
-        "\1\155\1\157\1\161\1\uffff\2\164\4\uffff\3\55\1\172\7\55\5\uffff"+
-        "\7\55\3\uffff\3\55\2\uffff\16\55\1\u00a2\2\55\24\uffff\1\u00a5\1"+
-        "\uffff\1\164\4\55\1\uffff\1\55\1\u00ac\21\55\1\u00bf\11\55\1\u00c9"+
-        "\1\55\1\u00cb\7\55\1\uffff\2\55\1\uffff\6\55\1\uffff\10\55\1\u00e3"+
-        "\1\55\1\u00e5\2\55\1\u00e8\1\55\1\u00ea\1\55\1\u00ec\1\uffff\1\u00ed"+
-        "\2\55\1\u00f0\5\55\1\uffff\1\55\1\uffff\1\u00f7\1\55\1\u00f9\1\55"+
-        "\1\u00fb\20\55\1\u010c\1\u010d\1\uffff\1\u010e\1\uffff\1\u010f\1"+
-        "\55\1\uffff\1\55\1\uffff\1\55\2\uffff\1\55\1\u0115\1\uffff\2\55"+
-        "\1\u0118\1\u011a\1\u011b\1\55\1\uffff\1\55\1\uffff\1\u011e\1\uffff"+
-        "\2\55\1\u0121\2\55\1\u0124\4\55\1\u0129\2\55\1\u012c\1\u012d\1\55"+
-        "\4\uffff\4\55\1\u0133\1\uffff\1\55\1\u0135\1\uffff\1\55\2\uffff"+
-        "\1\u0137\1\55\1\uffff\1\55\1\u013a\1\uffff\1\u013b\1\u013c\1\uffff"+
-        "\1\u013d\3\55\1\uffff\2\55\2\uffff\2\55\1\u0145\2\55\1\uffff\1\55"+
-        "\1\uffff\1\u0149\1\uffff\1\u014a\1\u014b\4\uffff\5\55\1\u0151\1"+
-        "\u0152\1\uffff\1\u0153\1\55\1\u0155\3\uffff\1\u0156\1\55\1\u0158"+
-        "\2\55\3\uffff\1\u015b\2\uffff\1\u015c\1\uffff\1\u015d\1\55\3\uffff"+
-        "\1\55\1\u0160\1\uffff";
+        "\1\uffff\1\56\1\uffff\2\56\1\74\1\77\2\56\3\uffff\1\111\2\uffff"+
+        "\1\56\2\uffff\1\56\1\116\6\56\5\uffff\3\56\1\143\1\146\1\152\1\155"+
+        "\1\157\1\161\1\163\1\uffff\2\165\4\uffff\3\56\1\174\7\56\5\uffff"+
+        "\7\56\3\uffff\3\56\2\uffff\16\56\1\u00a4\3\56\25\uffff\1\u00a8\1"+
+        "\165\4\56\1\uffff\1\u00ae\23\56\1\u00c3\10\56\1\u00cc\1\56\1\u00ce"+
+        "\7\56\1\uffff\3\56\1\uffff\5\56\1\uffff\11\56\1\u00e7\1\56\1\u00e9"+
+        "\2\56\1\u00ec\1\u00ed\1\56\1\u00ef\1\56\1\u00f1\1\uffff\1\56\1\u00f3"+
+        "\6\56\1\uffff\1\u00fa\1\uffff\3\56\1\u00fe\1\u00ff\20\56\1\u0110"+
+        "\1\56\1\u0112\1\uffff\1\u0113\1\uffff\1\u0114\1\56\2\uffff\1\56"+
+        "\1\uffff\1\56\1\uffff\1\56\1\uffff\1\u011a\2\56\1\u011d\1\u011f"+
+        "\1\u0120\1\uffff\2\56\1\u0123\2\uffff\2\56\1\u0126\4\56\1\u012b"+
+        "\3\56\1\u012f\2\56\1\u0132\1\u0133\1\uffff\1\56\3\uffff\4\56\1\u0139"+
+        "\1\uffff\1\u013a\1\56\1\uffff\1\56\2\uffff\1\u013d\1\56\1\uffff"+
+        "\1\56\1\u0140\1\uffff\1\u0141\1\u0142\1\u0143\1\56\1\uffff\1\u0145"+
+        "\2\56\1\uffff\2\56\2\uffff\2\56\1\u014c\2\56\2\uffff\1\56\1\u0150"+
+        "\1\uffff\1\u0151\1\u0152\4\uffff\1\56\1\uffff\3\56\1\u0157\1\56"+
+        "\1\u0159\1\uffff\1\u015a\1\56\1\u015c\3\uffff\1\u015d\1\u015e\2"+
+        "\56\1\uffff\1\56\2\uffff\1\u0162\3\uffff\1\u0163\1\u0164\1\56\3"+
+        "\uffff\1\56\1\u0167\1\uffff";
     static final String DFA30_eofS =
-        "\u0161\uffff";
+        "\u0168\uffff";
     static final String DFA30_minS =
         "\1\11\1\141\1\uffff\1\146\1\150\1\56\1\75\1\141\1\154\3\uffff\1"+
         "\46\2\uffff\1\157\2\uffff\1\150\1\75\1\142\2\141\2\157\1\145\5\uffff"+
-        "\1\150\1\145\1\53\1\55\1\52\4\75\1\uffff\2\56\4\uffff\1\143\1\142"+
-        "\1\151\1\44\1\163\1\160\1\156\1\151\1\141\1\160\1\157\5\uffff\1"+
-        "\163\2\141\1\156\1\163\1\164\1\165\3\uffff\1\151\1\141\1\151\2\uffff"+
-        "\2\163\1\157\1\156\1\154\1\162\1\164\1\167\1\154\1\157\1\164\1\145"+
-        "\1\156\1\146\1\44\1\151\1\164\24\uffff\1\56\1\uffff\1\56\1\153\1"+
-        "\154\1\166\1\164\1\uffff\1\164\1\44\1\154\1\143\2\164\1\151\1\145"+
-        "\1\162\1\145\1\143\1\162\1\163\1\164\2\145\1\155\1\141\1\144\1\44"+
-        "\1\145\1\156\1\157\1\163\1\164\1\145\2\141\1\163\1\44\1\151\1\44"+
-        "\2\154\1\145\1\141\1\147\1\141\1\142\1\uffff\1\154\1\165\1\uffff"+
-        "\1\141\1\151\1\141\1\145\1\141\1\162\1\uffff\1\162\1\145\1\150\1"+
-        "\143\1\151\1\143\1\162\1\164\1\44\1\150\1\44\1\163\1\151\1\44\1"+
-        "\156\1\44\1\164\1\44\1\uffff\1\44\1\163\1\167\1\44\2\162\1\164\1"+
-        "\154\1\145\1\uffff\1\166\1\uffff\1\44\1\145\1\44\1\153\1\44\1\165"+
-        "\1\154\1\145\1\162\1\147\1\143\1\164\1\143\1\156\1\146\1\164\1\155"+
-        "\1\162\1\150\1\143\1\164\2\44\1\uffff\1\44\1\uffff\1\44\1\156\1"+
-        "\uffff\1\144\1\uffff\1\151\2\uffff\1\151\1\44\1\uffff\1\141\1\164"+
-        "\3\44\1\145\1\uffff\1\141\1\uffff\1\44\1\uffff\1\154\1\145\1\44"+
-        "\1\156\1\145\1\44\1\145\1\164\1\143\1\141\1\44\1\145\1\157\2\44"+
-        "\1\146\4\uffff\1\165\1\163\1\154\1\145\1\44\1\uffff\1\143\1\44\1"+
-        "\uffff\1\171\2\uffff\1\44\1\156\1\uffff\1\164\1\44\1\uffff\2\44"+
-        "\1\uffff\1\44\2\145\1\143\1\uffff\2\156\2\uffff\1\160\1\145\1\44"+
-        "\1\145\1\156\1\uffff\1\164\1\uffff\1\44\1\uffff\2\44\4\uffff\1\144"+
-        "\1\157\1\145\1\164\1\151\2\44\1\uffff\1\44\1\164\1\44\3\uffff\1"+
-        "\44\1\146\1\44\1\163\1\172\3\uffff\1\44\2\uffff\1\44\1\uffff\1\44"+
-        "\1\145\3\uffff\1\144\1\44\1\uffff";
+        "\1\150\1\145\1\157\1\53\1\55\1\52\4\75\1\uffff\2\56\4\uffff\1\151"+
+        "\1\142\1\143\1\44\1\163\1\160\1\141\1\151\1\157\1\156\1\160\5\uffff"+
+        "\1\141\1\163\1\141\1\156\1\163\1\165\1\164\3\uffff\1\151\1\141\1"+
+        "\151\2\uffff\2\163\1\154\1\156\1\157\1\162\1\154\1\167\1\164\1\157"+
+        "\1\145\1\164\1\156\1\146\1\44\1\151\1\164\1\144\25\uffff\2\56\1"+
+        "\166\1\164\1\154\1\153\1\uffff\1\44\1\164\1\154\1\151\2\164\1\162"+
+        "\1\143\1\145\1\162\1\143\1\145\1\163\1\164\1\145\1\155\1\145\1\144"+
+        "\1\141\1\145\1\44\1\156\1\163\1\157\1\145\1\164\1\163\2\141\1\44"+
+        "\1\154\1\44\1\151\1\154\1\141\1\145\1\147\1\141\1\142\1\uffff\1"+
+        "\154\1\165\1\151\1\uffff\1\141\1\145\1\151\1\141\1\162\1\uffff\1"+
+        "\141\1\162\1\145\1\143\1\151\1\143\1\164\1\150\1\162\1\44\1\150"+
+        "\1\44\1\163\1\151\2\44\1\156\1\44\1\164\1\44\1\uffff\1\163\1\44"+
+        "\1\167\2\162\1\145\1\154\1\164\1\uffff\1\44\1\uffff\1\166\1\145"+
+        "\1\153\2\44\1\165\1\154\1\145\1\162\1\146\1\164\2\143\1\147\1\146"+
+        "\1\156\1\164\1\155\1\164\1\143\1\150\1\44\1\162\1\44\1\uffff\1\44"+
+        "\1\uffff\1\44\1\156\2\uffff\1\144\1\uffff\1\151\1\uffff\1\151\1"+
+        "\uffff\1\44\1\164\1\141\3\44\1\uffff\1\145\1\141\1\44\2\uffff\1"+
+        "\154\1\145\1\44\1\156\1\171\1\145\1\164\1\44\1\145\1\141\1\143\1"+
+        "\44\1\145\1\146\2\44\1\uffff\1\157\3\uffff\1\165\1\163\1\154\1\145"+
+        "\1\44\1\uffff\1\44\1\143\1\uffff\1\171\2\uffff\1\44\1\156\1\uffff"+
+        "\1\164\1\44\1\uffff\3\44\1\145\1\uffff\1\44\1\143\1\145\1\uffff"+
+        "\1\156\1\160\2\uffff\1\156\1\145\1\44\1\145\1\156\2\uffff\1\164"+
+        "\1\44\1\uffff\2\44\4\uffff\1\144\1\uffff\1\145\1\157\1\164\1\44"+
+        "\1\151\1\44\1\uffff\1\44\1\164\1\44\3\uffff\2\44\1\146\1\163\1\uffff"+
+        "\1\172\2\uffff\1\44\3\uffff\2\44\1\145\3\uffff\1\144\1\44\1\uffff";
     static final String DFA30_maxS =
         "\1\ufaff\1\165\1\uffff\1\156\1\171\1\71\1\75\1\157\1\170\3\uffff"+
         "\1\75\2\uffff\1\157\2\uffff\1\162\1\75\1\163\1\157\1\165\1\171\2"+
-        "\157\5\uffff\1\150\1\145\3\75\1\174\3\75\1\uffff\1\170\1\146\4\uffff"+
-        "\1\143\1\142\1\157\1\ufaff\1\164\1\160\1\156\1\151\1\162\1\160\1"+
-        "\157\5\uffff\1\164\2\141\1\156\1\163\1\164\1\165\3\uffff\1\154\1"+
-        "\171\1\162\2\uffff\2\163\1\157\1\156\1\154\1\162\1\164\1\167\1\154"+
-        "\1\157\1\164\1\145\1\156\1\146\1\ufaff\1\151\1\164\24\uffff\1\146"+
-        "\1\uffff\1\146\1\153\1\154\1\166\1\164\1\uffff\1\164\1\ufaff\1\157"+
-        "\1\143\2\164\1\151\1\145\1\162\1\145\1\143\1\162\1\163\1\164\2\145"+
-        "\1\155\1\141\1\144\1\ufaff\1\145\1\156\1\157\1\163\1\164\1\145\2"+
-        "\141\1\163\1\ufaff\1\151\1\ufaff\2\154\1\145\1\141\1\147\1\141\1"+
-        "\142\1\uffff\1\154\1\165\1\uffff\1\141\1\151\1\141\1\145\1\141\1"+
-        "\162\1\uffff\1\162\1\145\1\150\1\143\1\151\1\143\1\162\1\164\1\ufaff"+
-        "\1\150\1\ufaff\1\163\1\151\1\ufaff\1\156\1\ufaff\1\164\1\ufaff\1"+
-        "\uffff\1\ufaff\1\163\1\167\1\ufaff\2\162\1\164\1\154\1\145\1\uffff"+
-        "\1\166\1\uffff\1\ufaff\1\145\1\ufaff\1\153\1\ufaff\1\165\1\154\1"+
-        "\145\1\162\1\147\1\143\1\164\1\143\1\156\1\146\1\164\1\155\1\162"+
-        "\1\150\1\143\1\164\2\ufaff\1\uffff\1\ufaff\1\uffff\1\ufaff\1\156"+
-        "\1\uffff\1\144\1\uffff\1\151\2\uffff\1\151\1\ufaff\1\uffff\1\141"+
-        "\1\164\3\ufaff\1\145\1\uffff\1\141\1\uffff\1\ufaff\1\uffff\1\154"+
-        "\1\145\1\ufaff\1\156\1\145\1\ufaff\1\145\1\164\1\143\1\141\1\ufaff"+
-        "\1\145\1\157\2\ufaff\1\146\4\uffff\1\165\1\163\1\154\1\145\1\ufaff"+
-        "\1\uffff\1\143\1\ufaff\1\uffff\1\171\2\uffff\1\ufaff\1\156\1\uffff"+
-        "\1\164\1\ufaff\1\uffff\2\ufaff\1\uffff\1\ufaff\2\145\1\143\1\uffff"+
-        "\2\156\2\uffff\1\160\1\145\1\ufaff\1\145\1\156\1\uffff\1\164\1\uffff"+
-        "\1\ufaff\1\uffff\2\ufaff\4\uffff\1\144\1\157\1\145\1\164\1\151\2"+
-        "\ufaff\1\uffff\1\ufaff\1\164\1\ufaff\3\uffff\1\ufaff\1\146\1\ufaff"+
-        "\1\163\1\172\3\uffff\1\ufaff\2\uffff\1\ufaff\1\uffff\1\ufaff\1\145"+
-        "\3\uffff\1\144\1\ufaff\1\uffff";
+        "\157\5\uffff\1\150\1\145\1\157\3\75\1\174\3\75\1\uffff\1\170\1\146"+
+        "\4\uffff\1\157\1\142\1\143\1\ufaff\1\164\1\160\1\162\1\151\1\157"+
+        "\1\156\1\160\5\uffff\1\141\1\164\1\141\1\156\1\163\1\165\1\164\3"+
+        "\uffff\1\154\1\171\1\162\2\uffff\2\163\1\154\1\156\1\157\1\162\1"+
+        "\154\1\167\1\164\1\157\1\145\1\164\1\156\1\146\1\ufaff\1\151\1\164"+
+        "\1\144\25\uffff\2\146\1\166\1\164\1\154\1\153\1\uffff\1\ufaff\1"+
+        "\164\1\157\1\151\2\164\1\162\1\143\1\145\1\162\1\143\1\145\1\163"+
+        "\1\164\1\145\1\155\1\145\1\144\1\141\1\145\1\ufaff\1\156\1\163\1"+
+        "\157\1\145\1\164\1\163\2\141\1\ufaff\1\154\1\ufaff\1\151\1\154\1"+
+        "\141\1\145\1\147\1\141\1\142\1\uffff\1\154\1\165\1\151\1\uffff\1"+
+        "\141\1\145\1\151\1\141\1\162\1\uffff\1\141\1\162\1\145\1\143\1\151"+
+        "\1\143\1\164\1\150\1\162\1\ufaff\1\150\1\ufaff\1\163\1\151\2\ufaff"+
+        "\1\156\1\ufaff\1\164\1\ufaff\1\uffff\1\163\1\ufaff\1\167\2\162\1"+
+        "\145\1\154\1\164\1\uffff\1\ufaff\1\uffff\1\166\1\145\1\153\2\ufaff"+
+        "\1\165\1\154\1\145\1\162\1\146\1\164\2\143\1\147\1\146\1\156\1\164"+
+        "\1\155\1\164\1\143\1\150\1\ufaff\1\162\1\ufaff\1\uffff\1\ufaff\1"+
+        "\uffff\1\ufaff\1\156\2\uffff\1\144\1\uffff\1\151\1\uffff\1\151\1"+
+        "\uffff\1\ufaff\1\164\1\141\3\ufaff\1\uffff\1\145\1\141\1\ufaff\2"+
+        "\uffff\1\154\1\145\1\ufaff\1\156\1\171\1\145\1\164\1\ufaff\1\145"+
+        "\1\141\1\143\1\ufaff\1\145\1\146\2\ufaff\1\uffff\1\157\3\uffff\1"+
+        "\165\1\163\1\154\1\145\1\ufaff\1\uffff\1\ufaff\1\143\1\uffff\1\171"+
+        "\2\uffff\1\ufaff\1\156\1\uffff\1\164\1\ufaff\1\uffff\3\ufaff\1\145"+
+        "\1\uffff\1\ufaff\1\143\1\145\1\uffff\1\156\1\160\2\uffff\1\156\1"+
+        "\145\1\ufaff\1\145\1\156\2\uffff\1\164\1\ufaff\1\uffff\2\ufaff\4"+
+        "\uffff\1\144\1\uffff\1\145\1\157\1\164\1\ufaff\1\151\1\ufaff\1\uffff"+
+        "\1\ufaff\1\164\1\ufaff\3\uffff\2\ufaff\1\146\1\163\1\uffff\1\172"+
+        "\2\uffff\1\ufaff\3\uffff\2\ufaff\1\145\3\uffff\1\144\1\ufaff\1\uffff";
     static final String DFA30_acceptS =
         "\2\uffff\1\2\6\uffff\1\12\1\13\1\14\1\uffff\1\16\1\17\1\uffff\1"+
-        "\22\1\23\10\uffff\1\50\1\52\1\53\1\60\1\63\11\uffff\1\127\2\uffff"+
-        "\1\137\1\140\1\142\1\143\13\uffff\1\54\1\5\1\136\1\104\1\6\7\uffff"+
-        "\1\106\1\113\1\15\3\uffff\1\116\1\25\21\uffff\1\125\1\102\1\121"+
-        "\1\103\1\126\1\122\1\144\1\105\1\145\1\123\1\112\1\107\1\114\1\110"+
-        "\1\115\1\111\1\124\1\117\1\130\1\133\1\uffff\1\134\5\uffff\1\64"+
-        "\47\uffff\1\70\2\uffff\1\135\6\uffff\1\44\22\uffff\1\71\11\uffff"+
-        "\1\66\1\uffff\1\132\27\uffff\1\101\1\uffff\1\41\2\uffff\1\65\1\uffff"+
-        "\1\141\1\uffff\1\21\1\56\2\uffff\1\131\6\uffff\1\55\1\uffff\1\42"+
-        "\1\uffff\1\45\20\uffff\1\51\1\43\1\100\1\7\5\uffff\1\75\2\uffff"+
-        "\1\46\1\uffff\1\32\1\57\2\uffff\1\76\2\uffff\1\67\2\uffff\1\26\4"+
-        "\uffff\1\3\2\uffff\1\73\1\4\5\uffff\1\24\1\uffff\1\62\1\uffff\1"+
-        "\33\2\uffff\1\47\1\74\1\1\1\30\7\uffff\1\10\3\uffff\1\72\1\40\1"+
-        "\61\5\uffff\1\37\1\77\1\36\1\uffff\1\31\1\27\1\uffff\1\20\2\uffff"+
-        "\1\35\1\120\1\11\2\uffff\1\34";
+        "\22\1\23\10\uffff\1\50\1\52\1\53\1\60\1\63\12\uffff\1\130\2\uffff"+
+        "\1\140\1\141\1\143\1\144\13\uffff\1\54\1\5\1\137\1\105\1\6\7\uffff"+
+        "\1\114\1\107\1\15\3\uffff\1\117\1\25\22\uffff\1\103\1\126\1\122"+
+        "\1\104\1\127\1\123\1\106\1\146\1\145\1\124\1\110\1\113\1\115\1\111"+
+        "\1\116\1\112\1\125\1\120\1\131\1\134\1\135\6\uffff\1\64\47\uffff"+
+        "\1\70\3\uffff\1\136\5\uffff\1\44\24\uffff\1\71\10\uffff\1\66\1\uffff"+
+        "\1\133\30\uffff\1\41\1\uffff\1\102\2\uffff\1\65\1\142\1\uffff\1"+
+        "\21\1\uffff\1\56\1\uffff\1\132\6\uffff\1\55\3\uffff\1\42\1\45\20"+
+        "\uffff\1\43\1\uffff\1\51\1\101\1\7\5\uffff\1\75\2\uffff\1\57\1\uffff"+
+        "\1\32\1\46\2\uffff\1\76\2\uffff\1\67\4\uffff\1\26\3\uffff\1\3\2"+
+        "\uffff\1\4\1\73\5\uffff\1\24\1\62\2\uffff\1\33\2\uffff\1\47\1\74"+
+        "\1\100\1\30\1\uffff\1\1\6\uffff\1\10\3\uffff\1\72\1\40\1\61\4\uffff"+
+        "\1\37\1\uffff\1\77\1\36\1\uffff\1\31\1\27\1\20\3\uffff\1\35\1\121"+
+        "\1\11\2\uffff\1\34";
     static final String DFA30_specialS =
-        "\u0161\uffff}>";
+        "\u0168\uffff}>";
     static final String[] DFA30_transitionS = {
-            "\2\56\1\uffff\2\56\22\uffff\1\56\1\47\1\54\1\uffff\1\55\1\46"+
-            "\1\14\1\53\1\33\1\34\1\6\1\41\1\12\1\42\1\5\1\43\1\51\11\52"+
-            "\1\36\1\2\1\11\1\23\1\13\1\32\1\35\32\55\1\20\1\uffff\1\21\1"+
-            "\45\1\55\1\uffff\1\24\1\27\1\7\1\31\1\10\1\25\2\55\1\3\2\55"+
-            "\1\30\1\55\1\26\1\55\1\1\1\55\1\40\1\4\1\22\1\55\1\17\1\37\3"+
-            "\55\1\15\1\44\1\16\1\50\101\uffff\27\55\1\uffff\37\55\1\uffff"+
-            "\u1f08\55\u1040\uffff\u0150\55\u0170\uffff\u0080\55\u0080\uffff"+
-            "\u092e\55\u10d2\uffff\u5200\55\u5900\uffff\u0200\55",
-            "\1\57\20\uffff\1\61\2\uffff\1\60",
+            "\2\57\1\uffff\2\57\22\uffff\1\57\1\50\1\55\1\uffff\1\56\1\47"+
+            "\1\14\1\54\1\33\1\34\1\6\1\42\1\12\1\43\1\5\1\44\1\52\11\53"+
+            "\1\36\1\2\1\11\1\23\1\13\1\32\1\35\32\56\1\20\1\uffff\1\21\1"+
+            "\46\1\56\1\uffff\1\24\1\27\1\7\1\31\1\10\1\25\2\56\1\3\2\56"+
+            "\1\30\1\41\1\26\1\56\1\1\1\56\1\40\1\4\1\22\1\56\1\17\1\37\3"+
+            "\56\1\15\1\45\1\16\1\51\101\uffff\27\56\1\uffff\37\56\1\uffff"+
+            "\u1f08\56\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff"+
+            "\u092e\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56",
+            "\1\62\20\uffff\1\60\2\uffff\1\61",
             "",
-            "\1\62\6\uffff\1\64\1\63",
-            "\1\71\13\uffff\1\67\1\70\1\uffff\1\66\1\uffff\1\65",
-            "\1\72\1\uffff\12\74",
-            "\1\75",
-            "\1\77\6\uffff\1\100\3\uffff\1\101\2\uffff\1\102",
-            "\1\103\1\uffff\1\105\11\uffff\1\104",
+            "\1\63\6\uffff\1\65\1\64",
+            "\1\70\13\uffff\1\66\1\72\1\uffff\1\67\1\uffff\1\71",
+            "\1\73\1\uffff\12\75",
+            "\1\76",
+            "\1\101\6\uffff\1\100\3\uffff\1\102\2\uffff\1\103",
+            "\1\104\1\uffff\1\105\11\uffff\1\106",
             "",
             "",
             "",
-            "\1\107\26\uffff\1\106",
+            "\1\107\26\uffff\1\110",
             "",
             "",
-            "\1\111",
+            "\1\112",
             "",
             "",
-            "\1\113\11\uffff\1\112",
-            "\1\114",
-            "\1\116\20\uffff\1\117",
-            "\1\122\7\uffff\1\121\2\uffff\1\120\2\uffff\1\123",
-            "\1\124\3\uffff\1\125\17\uffff\1\126",
-            "\1\127\2\uffff\1\131\6\uffff\1\130",
-            "\1\132",
-            "\1\133\11\uffff\1\134",
+            "\1\114\11\uffff\1\113",
+            "\1\115",
+            "\1\120\20\uffff\1\117",
+            "\1\121\7\uffff\1\122\2\uffff\1\123\2\uffff\1\124",
+            "\1\127\3\uffff\1\126\17\uffff\1\125",
+            "\1\130\2\uffff\1\131\6\uffff\1\132",
+            "\1\133",
+            "\1\134\11\uffff\1\135",
             "",
             "",
             "",
             "",
             "",
-            "\1\135",
             "\1\136",
-            "\1\137\21\uffff\1\140",
-            "\1\143\17\uffff\1\142",
-            "\1\145\4\uffff\1\147\15\uffff\1\146",
-            "\1\152\76\uffff\1\151",
-            "\1\154",
+            "\1\137",
+            "\1\140",
+            "\1\142\21\uffff\1\141",
+            "\1\145\17\uffff\1\144",
+            "\1\151\4\uffff\1\150\15\uffff\1\147",
+            "\1\153\76\uffff\1\154",
             "\1\156",
             "\1\160",
+            "\1\162",
             "",
-            "\1\74\1\uffff\10\163\2\74\12\uffff\3\74\21\uffff\1\162\13\uffff"+
-            "\3\74\21\uffff\1\162",
-            "\1\74\1\uffff\12\165\12\uffff\3\74\35\uffff\3\74",
+            "\1\75\1\uffff\10\166\2\75\12\uffff\3\75\21\uffff\1\164\13\uffff"+
+            "\3\75\21\uffff\1\164",
+            "\1\75\1\uffff\12\167\12\uffff\3\75\35\uffff\3\75",
             "",
             "",
             "",
             "",
-            "\1\166",
-            "\1\167",
             "\1\170\5\uffff\1\171",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\173\1\174",
-            "\1\175",
-            "\1\176",
+            "\1\172",
+            "\1\173",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\176\1\175",
             "\1\177",
-            "\1\u0080\20\uffff\1\u0081",
+            "\1\u0081\20\uffff\1\u0080",
             "\1\u0082",
             "\1\u0083",
+            "\1\u0084",
+            "\1\u0085",
             "",
             "",
             "",
             "",
             "",
-            "\1\u0084\1\u0085",
             "\1\u0086",
-            "\1\u0087",
-            "\1\u0088",
+            "\1\u0088\1\u0087",
             "\1\u0089",
             "\1\u008a",
             "\1\u008b",
+            "\1\u008c",
+            "\1\u008d",
             "",
             "",
             "",
-            "\1\u008d\2\uffff\1\u008c",
-            "\1\u0090\23\uffff\1\u008f\3\uffff\1\u008e",
-            "\1\u0092\10\uffff\1\u0091",
+            "\1\u008e\2\uffff\1\u008f",
+            "\1\u0092\23\uffff\1\u0090\3\uffff\1\u0091",
+            "\1\u0093\10\uffff\1\u0094",
             "",
             "",
-            "\1\u0093",
-            "\1\u0094",
             "\1\u0095",
             "\1\u0096",
             "\1\u0097",
@@ -4126,12 +4152,15 @@
             "\1\u009e",
             "\1\u009f",
             "\1\u00a0",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\24\55"+
-            "\1\u00a1\5\55\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55"+
-            "\u1040\uffff\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e"+
-            "\55\u10d2\uffff\u5200\55\u5900\uffff\u0200\55",
-            "\1\u00a3",
-            "\1\u00a4",
+            "\1\u00a1",
+            "\1\u00a2",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\24\56"+
+            "\1\u00a3\5\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56"+
+            "\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+
+            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56",
+            "\1\u00a5",
+            "\1\u00a6",
+            "\1\u00a7",
             "",
             "",
             "",
@@ -4152,23 +4181,20 @@
             "",
             "",
             "",
-            "\1\74\1\uffff\10\163\2\74\12\uffff\3\74\35\uffff\3\74",
             "",
-            "\1\74\1\uffff\12\165\12\uffff\3\74\35\uffff\3\74",
-            "\1\u00a6",
-            "\1\u00a7",
-            "\1\u00a8",
+            "\1\75\1\uffff\10\166\2\75\12\uffff\3\75\35\uffff\3\75",
+            "\1\75\1\uffff\12\167\12\uffff\3\75\35\uffff\3\75",
             "\1\u00a9",
+            "\1\u00aa",
+            "\1\u00ab",
+            "\1\u00ac",
             "",
-            "\1\u00aa",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\4\55"+
-            "\1\u00ab\25\55\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55"+
-            "\u1040\uffff\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e"+
-            "\55\u10d2\uffff\u5200\55\u5900\uffff\u0200\55",
-            "\1\u00ae\2\uffff\1\u00ad",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\4\56"+
+            "\1\u00ad\25\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56"+
+            "\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+
+            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56",
             "\1\u00af",
-            "\1\u00b0",
-            "\1\u00b1",
+            "\1\u00b1\2\uffff\1\u00b0",
             "\1\u00b2",
             "\1\u00b3",
             "\1\u00b4",
@@ -4182,116 +4208,116 @@
             "\1\u00bc",
             "\1\u00bd",
             "\1\u00be",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u00bf",
             "\1\u00c0",
             "\1\u00c1",
             "\1\u00c2",
-            "\1\u00c3",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "\1\u00c4",
             "\1\u00c5",
             "\1\u00c6",
             "\1\u00c7",
             "\1\u00c8",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u00c9",
             "\1\u00ca",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u00cc",
+            "\1\u00cb",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "\1\u00cd",
-            "\1\u00ce",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "\1\u00cf",
             "\1\u00d0",
             "\1\u00d1",
             "\1\u00d2",
-            "",
             "\1\u00d3",
             "\1\u00d4",
+            "\1\u00d5",
             "",
-            "\1\u00d5",
             "\1\u00d6",
             "\1\u00d7",
             "\1\u00d8",
+            "",
             "\1\u00d9",
             "\1\u00da",
-            "",
             "\1\u00db",
             "\1\u00dc",
             "\1\u00dd",
+            "",
             "\1\u00de",
             "\1\u00df",
             "\1\u00e0",
             "\1\u00e1",
             "\1\u00e2",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u00e3",
             "\1\u00e4",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u00e5",
             "\1\u00e6",
-            "\1\u00e7",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u00e9",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u00e8",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u00ea",
             "\1\u00eb",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u00ee",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u00f0",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u00ee",
-            "\1\u00ef",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u00f1",
             "\1\u00f2",
-            "\1\u00f3",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "\1\u00f4",
             "\1\u00f5",
-            "",
             "\1\u00f6",
+            "\1\u00f7",
+            "\1\u00f8",
+            "\1\u00f9",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u00f8",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u00fa",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "",
+            "\1\u00fb",
             "\1\u00fc",
             "\1\u00fd",
-            "\1\u00fe",
-            "\1\u00ff",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "\1\u0100",
             "\1\u0101",
             "\1\u0102",
@@ -4304,238 +4330,249 @@
             "\1\u0109",
             "\1\u010a",
             "\1\u010b",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u010c",
+            "\1\u010d",
+            "\1\u010e",
+            "\1\u010f",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u0111",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u0110",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u0115",
             "",
-            "\1\u0111",
             "",
-            "\1\u0112",
+            "\1\u0116",
             "",
+            "\1\u0117",
             "",
-            "\1\u0113",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\22\55"+
-            "\1\u0114\7\55\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55"+
-            "\u1040\uffff\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e"+
-            "\55\u10d2\uffff\u5200\55\u5900\uffff\u0200\55",
+            "\1\u0118",
             "",
-            "\1\u0116",
-            "\1\u0117",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\13\55"+
-            "\1\u0119\16\55\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55"+
-            "\u1040\uffff\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e"+
-            "\55\u10d2\uffff\u5200\55\u5900\uffff\u0200\55",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\22\56"+
+            "\1\u0119\7\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56"+
+            "\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+
+            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56",
+            "\1\u011b",
             "\1\u011c",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\13\56"+
+            "\1\u011e\16\56\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56"+
+            "\u1040\uffff\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e"+
+            "\56\u10d2\uffff\u5200\56\u5900\uffff\u0200\56",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
-            "\1\u011d",
+            "\1\u0121",
+            "\1\u0122",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
             "",
-            "\1\u011f",
-            "\1\u0120",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u0122",
-            "\1\u0123",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u0124",
             "\1\u0125",
-            "\1\u0126",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "\1\u0127",
             "\1\u0128",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u0129",
             "\1\u012a",
-            "\1\u012b",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u012c",
+            "\1\u012d",
             "\1\u012e",
-            "",
-            "",
-            "",
-            "",
-            "\1\u012f",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "\1\u0130",
             "\1\u0131",
-            "\1\u0132",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
             "\1\u0134",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
             "",
-            "\1\u0136",
             "",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u0135",
+            "\1\u0136",
+            "\1\u0137",
             "\1\u0138",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
-            "\1\u0139",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u013b",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u013c",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "\1\u013e",
+            "",
             "\1\u013f",
-            "\1\u0140",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
-            "\1\u0141",
-            "\1\u0142",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u0144",
             "",
-            "",
-            "\1\u0143",
-            "\1\u0144",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "\1\u0146",
             "\1\u0147",
             "",
             "\1\u0148",
+            "\1\u0149",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u014a",
+            "\1\u014b",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u014d",
+            "\1\u014e",
             "",
             "",
+            "\1\u014f",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
-            "\1\u014c",
-            "\1\u014d",
-            "\1\u014e",
-            "\1\u014f",
-            "\1\u0150",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "",
+            "",
+            "\1\u0153",
+            "",
             "\1\u0154",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "\1\u0155",
+            "\1\u0156",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u0158",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u015b",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u0157",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u0159",
-            "\1\u015a",
             "",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u015f",
+            "\1\u0160",
             "",
+            "\1\u0161",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
             "",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
             "",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
-            "\1\u015e",
             "",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
+            "\1\u0165",
             "",
             "",
-            "\1\u015f",
-            "\1\55\13\uffff\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55"+
-            "\105\uffff\27\55\1\uffff\37\55\1\uffff\u1f08\55\u1040\uffff"+
-            "\u0150\55\u0170\uffff\u0080\55\u0080\uffff\u092e\55\u10d2\uffff"+
-            "\u5200\55\u5900\uffff\u0200\55",
+            "",
+            "\1\u0166",
+            "\1\56\13\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56"+
+            "\105\uffff\27\56\1\uffff\37\56\1\uffff\u1f08\56\u1040\uffff"+
+            "\u0150\56\u0170\uffff\u0080\56\u0080\uffff\u092e\56\u10d2\uffff"+
+            "\u5200\56\u5900\uffff\u0200\56",
             ""
     };
 
@@ -4569,7 +4606,7 @@
             this.transition = DFA30_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | HexLiteral | DecimalLiteral | OctalLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | ENUM | Identifier | WS | COMMENT | LINE_COMMENT );";
+            return "1:1: Tokens : ( T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | T114 | HexLiteral | DecimalLiteral | OctalLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | ENUM | Identifier | WS | COMMENT | LINE_COMMENT );";
         }
     }
  

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaModifyBlockDescr.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaModifyBlockDescr.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaModifyBlockDescr.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaModifyBlockDescr.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+/**
+ * 
+ */
+package org.drools.rule.builder.dialect.java.parser;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A helper class used during java code parsing to identify
+ * and handle modify(){} blocks
+ * 
+ * @author etirelli
+ */
+public class JavaModifyBlockDescr {
+    private int start;
+    private int end;
+    private String modifyExpression;
+    private List expressions;
+    
+    public JavaModifyBlockDescr( String modifyExpression ) {
+        this.modifyExpression = modifyExpression;
+        this.expressions = new ArrayList();
+    }
+    
+    public int getStart() {
+        return start;
+    }
+    public void setStart(int start) {
+        this.start = start;
+    }
+    public int getEnd() {
+        return end;
+    }
+    public void setEnd(int end) {
+        this.end = end;
+    }
+    public String getModifyExpression() {
+        return modifyExpression;
+    }
+    public void setModifyExpression(String modifyExpression) {
+        this.modifyExpression = modifyExpression;
+    }
+    public List getExpressions() {
+        return expressions;
+    }
+    public void setExpressions(List expressions) {
+        this.expressions = expressions;
+    }
+    
+    public String toString() {
+        return "ModifyBlock( start="+start+" end="+end+" expression="+modifyExpression+" )";
+    }
+
+}

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParser.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g 2007-10-31 14:52:28
+// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g 2007-12-19 16:46:01
 
 	package org.drools.rule.builder.dialect.java.parser;
 	import java.util.Iterator;
@@ -88,7 +88,7 @@
  */
 public class JavaParser extends Parser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "Identifier", "ENUM", "FloatingPointLiteral", "CharacterLiteral", "StringLiteral", "HexLiteral", "OctalLiteral", "DecimalLiteral", "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "EscapeSequence", "UnicodeEscape", "OctalEscape", "Letter", "JavaIDDigit", "WS", "COMMENT", "LINE_COMMENT", "'package'", "';'", "'import'", "'static'", "'.'", "'*'", "'class'", "'extends'", "'implements'", "'<'", "','", "'>'", "'&'", "'{'", "'}'", "'interface'", "'void'", "'['", "']'", "'throws'", "'='", "'public'", "'protected'", "'private'", "'abstract'", "'final'", "'native'", "'synchronized'", "'transient'", "'volatile'", "'strictfp'", "'boolean'", "'char'", "'byte'", "'short'", "'int'", "'long'", "'float'", "'double'", "'?'", "'super'", "'('", "')'", "'...'", "'null'", "'true'", "'false'", "'@'", "'default'", "'assert'", "':'", "'if'", "'else'", "'for'", "'while'", "'do'", "'try'", "'finally'", "'switch'", "'return'", "'throw'", "!
 'break'", "'continue'", "'catch'", "'case'", "'+='", "'-='", "'*='", "'/='", "'&='", "'|='", "'^='", "'%='", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'instanceof'", "'+'", "'-'", "'/'", "'%'", "'++'", "'--'", "'~'", "'!'", "'this'", "'new'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "Identifier", "ENUM", "FloatingPointLiteral", "CharacterLiteral", "StringLiteral", "HexLiteral", "OctalLiteral", "DecimalLiteral", "HexDigit", "IntegerTypeSuffix", "Exponent", "FloatTypeSuffix", "EscapeSequence", "UnicodeEscape", "OctalEscape", "Letter", "JavaIDDigit", "WS", "COMMENT", "LINE_COMMENT", "'package'", "';'", "'import'", "'static'", "'.'", "'*'", "'class'", "'extends'", "'implements'", "'<'", "','", "'>'", "'&'", "'{'", "'}'", "'interface'", "'void'", "'['", "']'", "'throws'", "'='", "'public'", "'protected'", "'private'", "'abstract'", "'final'", "'native'", "'synchronized'", "'transient'", "'volatile'", "'strictfp'", "'boolean'", "'char'", "'byte'", "'short'", "'int'", "'long'", "'float'", "'double'", "'?'", "'super'", "'('", "')'", "'...'", "'null'", "'true'", "'false'", "'@'", "'default'", "'assert'", "':'", "'if'", "'else'", "'for'", "'while'", "'do'", "'try'", "'finally'", "'switch'", "'return'", "'throw'", "!
 'break'", "'continue'", "'modify'", "'catch'", "'case'", "'+='", "'-='", "'*='", "'/='", "'&='", "'|='", "'^='", "'%='", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", "'instanceof'", "'+'", "'-'", "'/'", "'%'", "'++'", "'--'", "'~'", "'!'", "'this'", "'new'"
     };
     public static final int Exponent=14;
     public static final int OctalLiteral=10;
@@ -114,7 +114,7 @@
 
         public JavaParser(TokenStream input) {
             super(input);
-            ruleMemo = new HashMap[403+1];
+            ruleMemo = new HashMap[407+1];
          }
         
 
@@ -129,6 +129,8 @@
     	public static final CommonToken IGNORE_TOKEN = new CommonToken(null,0,99,0,0);
     	private List errors = new ArrayList();
     	private int localVariableLevel = 0;
+    	private List modifyBlocks = new ArrayList();
+    	public List getModifyBlocks() { return modifyBlocks; }
     	
     	private String source = "unknown";
     	
@@ -231,15 +233,15 @@
 
 
     // $ANTLR start compilationUnit
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:204:1: compilationUnit : ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:206:1: compilationUnit : ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )* ;
     public final void compilationUnit() throws RecognitionException {
         int compilationUnit_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 1) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:205:2: ( ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:205:4: ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:207:2: ( ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:207:4: ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )*
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:205:4: ( annotations )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:207:4: ( annotations )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -268,7 +270,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:206:3: ( packageDeclaration )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:208:3: ( packageDeclaration )?
             int alt2=2;
             int LA2_0 = input.LA(1);
 
@@ -289,7 +291,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:207:9: ( importDeclaration )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:209:9: ( importDeclaration )*
             loop3:
             do {
                 int alt3=2;
@@ -317,7 +319,7 @@
                 }
             } while (true);
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:208:9: ( typeDeclaration )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:210:9: ( typeDeclaration )*
             loop4:
             do {
                 int alt4=2;
@@ -362,13 +364,13 @@
 
 
     // $ANTLR start packageDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:211:1: packageDeclaration : 'package' qualifiedName ';' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:213:1: packageDeclaration : 'package' qualifiedName ';' ;
     public final void packageDeclaration() throws RecognitionException {
         int packageDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 2) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:212:2: ( 'package' qualifiedName ';' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:212:4: 'package' qualifiedName ';'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:214:2: ( 'package' qualifiedName ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:214:4: 'package' qualifiedName ';'
             {
             match(input,24,FOLLOW_24_in_packageDeclaration109); if (failed) return ;
             pushFollow(FOLLOW_qualifiedName_in_packageDeclaration111);
@@ -393,16 +395,16 @@
 
 
     // $ANTLR start importDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:215:1: importDeclaration : 'import' ( 'static' )? Identifier ( '.' Identifier )* ( '.' '*' )? ';' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:217:1: importDeclaration : 'import' ( 'static' )? Identifier ( '.' Identifier )* ( '.' '*' )? ';' ;
     public final void importDeclaration() throws RecognitionException {
         int importDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 3) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:2: ( 'import' ( 'static' )? Identifier ( '.' Identifier )* ( '.' '*' )? ';' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:4: 'import' ( 'static' )? Identifier ( '.' Identifier )* ( '.' '*' )? ';'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:218:2: ( 'import' ( 'static' )? Identifier ( '.' Identifier )* ( '.' '*' )? ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:218:4: 'import' ( 'static' )? Identifier ( '.' Identifier )* ( '.' '*' )? ';'
             {
             match(input,26,FOLLOW_26_in_importDeclaration125); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:13: ( 'static' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:218:13: ( 'static' )?
             int alt5=2;
             int LA5_0 = input.LA(1);
 
@@ -421,7 +423,7 @@
             }
 
             match(input,Identifier,FOLLOW_Identifier_in_importDeclaration130); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:34: ( '.' Identifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:218:34: ( '.' Identifier )*
             loop6:
             do {
                 int alt6=2;
@@ -440,7 +442,7 @@
 
                 switch (alt6) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:35: '.' Identifier
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:218:35: '.' Identifier
             	    {
             	    match(input,28,FOLLOW_28_in_importDeclaration133); if (failed) return ;
             	    match(input,Identifier,FOLLOW_Identifier_in_importDeclaration135); if (failed) return ;
@@ -453,7 +455,7 @@
                 }
             } while (true);
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:52: ( '.' '*' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:218:52: ( '.' '*' )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -462,7 +464,7 @@
             }
             switch (alt7) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:216:53: '.' '*'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:218:53: '.' '*'
                     {
                     match(input,28,FOLLOW_28_in_importDeclaration140); if (failed) return ;
                     match(input,29,FOLLOW_29_in_importDeclaration142); if (failed) return ;
@@ -490,12 +492,12 @@
 
 
     // $ANTLR start typeDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:219:1: typeDeclaration : ( classOrInterfaceDeclaration | ';' );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:221:1: typeDeclaration : ( classOrInterfaceDeclaration | ';' );
     public final void typeDeclaration() throws RecognitionException {
         int typeDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 4) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:220:2: ( classOrInterfaceDeclaration | ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:222:2: ( classOrInterfaceDeclaration | ';' )
             int alt8=2;
             int LA8_0 = input.LA(1);
 
@@ -508,13 +510,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("219:1: typeDeclaration : ( classOrInterfaceDeclaration | ';' );", 8, 0, input);
+                    new NoViableAltException("221:1: typeDeclaration : ( classOrInterfaceDeclaration | ';' );", 8, 0, input);
 
                 throw nvae;
             }
             switch (alt8) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:220:4: classOrInterfaceDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:222:4: classOrInterfaceDeclaration
                     {
                     pushFollow(FOLLOW_classOrInterfaceDeclaration_in_typeDeclaration158);
                     classOrInterfaceDeclaration();
@@ -524,7 +526,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:221:9: ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:223:9: ';'
                     {
                     match(input,25,FOLLOW_25_in_typeDeclaration168); if (failed) return ;
 
@@ -546,15 +548,15 @@
 
 
     // $ANTLR start classOrInterfaceDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:224:1: classOrInterfaceDeclaration : ( modifier )* ( classDeclaration | interfaceDeclaration ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:226:1: classOrInterfaceDeclaration : ( modifier )* ( classDeclaration | interfaceDeclaration ) ;
     public final void classOrInterfaceDeclaration() throws RecognitionException {
         int classOrInterfaceDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 5) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:2: ( ( modifier )* ( classDeclaration | interfaceDeclaration ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:4: ( modifier )* ( classDeclaration | interfaceDeclaration )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:227:2: ( ( modifier )* ( classDeclaration | interfaceDeclaration ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:227:4: ( modifier )* ( classDeclaration | interfaceDeclaration )
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:4: ( modifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:227:4: ( modifier )*
             loop9:
             do {
                 int alt9=2;
@@ -591,7 +593,7 @@
                 }
             } while (true);
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:14: ( classDeclaration | interfaceDeclaration )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:227:14: ( classDeclaration | interfaceDeclaration )
             int alt10=2;
             int LA10_0 = input.LA(1);
 
@@ -604,13 +606,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("225:14: ( classDeclaration | interfaceDeclaration )", 10, 0, input);
+                    new NoViableAltException("227:14: ( classDeclaration | interfaceDeclaration )", 10, 0, input);
 
                 throw nvae;
             }
             switch (alt10) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:15: classDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:227:15: classDeclaration
                     {
                     pushFollow(FOLLOW_classDeclaration_in_classOrInterfaceDeclaration184);
                     classDeclaration();
@@ -620,7 +622,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:225:34: interfaceDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:227:34: interfaceDeclaration
                     {
                     pushFollow(FOLLOW_interfaceDeclaration_in_classOrInterfaceDeclaration188);
                     interfaceDeclaration();
@@ -649,12 +651,12 @@
 
 
     // $ANTLR start classDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:228:1: classDeclaration : ( normalClassDeclaration | enumDeclaration );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:230:1: classDeclaration : ( normalClassDeclaration | enumDeclaration );
     public final void classDeclaration() throws RecognitionException {
         int classDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 6) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:229:2: ( normalClassDeclaration | enumDeclaration )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:231:2: ( normalClassDeclaration | enumDeclaration )
             int alt11=2;
             int LA11_0 = input.LA(1);
 
@@ -667,13 +669,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("228:1: classDeclaration : ( normalClassDeclaration | enumDeclaration );", 11, 0, input);
+                    new NoViableAltException("230:1: classDeclaration : ( normalClassDeclaration | enumDeclaration );", 11, 0, input);
 
                 throw nvae;
             }
             switch (alt11) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:229:4: normalClassDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:231:4: normalClassDeclaration
                     {
                     pushFollow(FOLLOW_normalClassDeclaration_in_classDeclaration201);
                     normalClassDeclaration();
@@ -683,7 +685,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:230:9: enumDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:232:9: enumDeclaration
                     {
                     pushFollow(FOLLOW_enumDeclaration_in_classDeclaration211);
                     enumDeclaration();
@@ -708,17 +710,17 @@
 
 
     // $ANTLR start normalClassDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:233:1: normalClassDeclaration : 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:235:1: normalClassDeclaration : 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody ;
     public final void normalClassDeclaration() throws RecognitionException {
         int normalClassDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 7) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:234:2: ( 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:234:4: 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:236:2: ( 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:236:4: 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody
             {
             match(input,30,FOLLOW_30_in_normalClassDeclaration223); if (failed) return ;
             match(input,Identifier,FOLLOW_Identifier_in_normalClassDeclaration225); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:234:23: ( typeParameters )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:236:23: ( typeParameters )?
             int alt12=2;
             int LA12_0 = input.LA(1);
 
@@ -727,7 +729,7 @@
             }
             switch (alt12) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:234:24: typeParameters
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:236:24: typeParameters
                     {
                     pushFollow(FOLLOW_typeParameters_in_normalClassDeclaration228);
                     typeParameters();
@@ -739,7 +741,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:235:9: ( 'extends' type )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:237:9: ( 'extends' type )?
             int alt13=2;
             int LA13_0 = input.LA(1);
 
@@ -748,7 +750,7 @@
             }
             switch (alt13) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:235:10: 'extends' type
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:237:10: 'extends' type
                     {
                     match(input,31,FOLLOW_31_in_normalClassDeclaration241); if (failed) return ;
                     pushFollow(FOLLOW_type_in_normalClassDeclaration243);
@@ -761,7 +763,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:236:9: ( 'implements' typeList )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:238:9: ( 'implements' typeList )?
             int alt14=2;
             int LA14_0 = input.LA(1);
 
@@ -770,7 +772,7 @@
             }
             switch (alt14) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:236:10: 'implements' typeList
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:238:10: 'implements' typeList
                     {
                     match(input,32,FOLLOW_32_in_normalClassDeclaration256); if (failed) return ;
                     pushFollow(FOLLOW_typeList_in_normalClassDeclaration258);
@@ -804,20 +806,20 @@
 
 
     // $ANTLR start typeParameters
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:240:1: typeParameters : '<' typeParameter ( ',' typeParameter )* '>' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:242:1: typeParameters : '<' typeParameter ( ',' typeParameter )* '>' ;
     public final void typeParameters() throws RecognitionException {
         int typeParameters_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 8) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:241:2: ( '<' typeParameter ( ',' typeParameter )* '>' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:241:4: '<' typeParameter ( ',' typeParameter )* '>'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:243:2: ( '<' typeParameter ( ',' typeParameter )* '>' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:243:4: '<' typeParameter ( ',' typeParameter )* '>'
             {
             match(input,33,FOLLOW_33_in_typeParameters282); if (failed) return ;
             pushFollow(FOLLOW_typeParameter_in_typeParameters284);
             typeParameter();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:241:22: ( ',' typeParameter )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:243:22: ( ',' typeParameter )*
             loop15:
             do {
                 int alt15=2;
@@ -830,7 +832,7 @@
 
                 switch (alt15) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:241:23: ',' typeParameter
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:243:23: ',' typeParameter
             	    {
             	    match(input,34,FOLLOW_34_in_typeParameters287); if (failed) return ;
             	    pushFollow(FOLLOW_typeParameter_in_typeParameters289);
@@ -864,16 +866,16 @@
 
 
     // $ANTLR start typeParameter
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:244:1: typeParameter : Identifier ( 'extends' bound )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:246:1: typeParameter : Identifier ( 'extends' bound )? ;
     public final void typeParameter() throws RecognitionException {
         int typeParameter_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 9) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:245:2: ( Identifier ( 'extends' bound )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:245:4: Identifier ( 'extends' bound )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:247:2: ( Identifier ( 'extends' bound )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:247:4: Identifier ( 'extends' bound )?
             {
             match(input,Identifier,FOLLOW_Identifier_in_typeParameter304); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:245:15: ( 'extends' bound )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:247:15: ( 'extends' bound )?
             int alt16=2;
             int LA16_0 = input.LA(1);
 
@@ -882,7 +884,7 @@
             }
             switch (alt16) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:245:16: 'extends' bound
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:247:16: 'extends' bound
                     {
                     match(input,31,FOLLOW_31_in_typeParameter307); if (failed) return ;
                     pushFollow(FOLLOW_bound_in_typeParameter309);
@@ -912,19 +914,19 @@
 
 
     // $ANTLR start bound
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:248:1: bound : type ( '&' type )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:250:1: bound : type ( '&' type )* ;
     public final void bound() throws RecognitionException {
         int bound_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 10) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:249:2: ( type ( '&' type )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:249:4: type ( '&' type )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:251:2: ( type ( '&' type )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:251:4: type ( '&' type )*
             {
             pushFollow(FOLLOW_type_in_bound324);
             type();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:249:9: ( '&' type )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:251:9: ( '&' type )*
             loop17:
             do {
                 int alt17=2;
@@ -937,7 +939,7 @@
 
                 switch (alt17) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:249:10: '&' type
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:251:10: '&' type
             	    {
             	    match(input,36,FOLLOW_36_in_bound327); if (failed) return ;
             	    pushFollow(FOLLOW_type_in_bound329);
@@ -970,17 +972,17 @@
 
 
     // $ANTLR start enumDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:252:1: enumDeclaration : ENUM Identifier ( 'implements' typeList )? enumBody ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:254:1: enumDeclaration : ENUM Identifier ( 'implements' typeList )? enumBody ;
     public final void enumDeclaration() throws RecognitionException {
         int enumDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 11) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:253:2: ( ENUM Identifier ( 'implements' typeList )? enumBody )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:253:4: ENUM Identifier ( 'implements' typeList )? enumBody
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:255:2: ( ENUM Identifier ( 'implements' typeList )? enumBody )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:255:4: ENUM Identifier ( 'implements' typeList )? enumBody
             {
             match(input,ENUM,FOLLOW_ENUM_in_enumDeclaration342); if (failed) return ;
             match(input,Identifier,FOLLOW_Identifier_in_enumDeclaration344); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:253:20: ( 'implements' typeList )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:255:20: ( 'implements' typeList )?
             int alt18=2;
             int LA18_0 = input.LA(1);
 
@@ -989,7 +991,7 @@
             }
             switch (alt18) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:253:21: 'implements' typeList
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:255:21: 'implements' typeList
                     {
                     match(input,32,FOLLOW_32_in_enumDeclaration347); if (failed) return ;
                     pushFollow(FOLLOW_typeList_in_enumDeclaration349);
@@ -1023,16 +1025,16 @@
 
 
     // $ANTLR start enumBody
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:256:1: enumBody : '{' ( enumConstants )? ( ',' )? ( enumBodyDeclarations )? '}' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:258:1: enumBody : '{' ( enumConstants )? ( ',' )? ( enumBodyDeclarations )? '}' ;
     public final void enumBody() throws RecognitionException {
         int enumBody_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 12) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:257:2: ( '{' ( enumConstants )? ( ',' )? ( enumBodyDeclarations )? '}' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:257:4: '{' ( enumConstants )? ( ',' )? ( enumBodyDeclarations )? '}'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:259:2: ( '{' ( enumConstants )? ( ',' )? ( enumBodyDeclarations )? '}' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:259:4: '{' ( enumConstants )? ( ',' )? ( enumBodyDeclarations )? '}'
             {
             match(input,37,FOLLOW_37_in_enumBody365); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:257:8: ( enumConstants )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:259:8: ( enumConstants )?
             int alt19=2;
             int LA19_0 = input.LA(1);
 
@@ -1053,7 +1055,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:257:23: ( ',' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:259:23: ( ',' )?
             int alt20=2;
             int LA20_0 = input.LA(1);
 
@@ -1071,7 +1073,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:257:28: ( enumBodyDeclarations )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:259:28: ( enumBodyDeclarations )?
             int alt21=2;
             int LA21_0 = input.LA(1);
 
@@ -1110,19 +1112,19 @@
 
 
     // $ANTLR start enumConstants
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:260:1: enumConstants : enumConstant ( ',' enumConstant )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:262:1: enumConstants : enumConstant ( ',' enumConstant )* ;
     public final void enumConstants() throws RecognitionException {
         int enumConstants_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 13) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:261:2: ( enumConstant ( ',' enumConstant )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:261:4: enumConstant ( ',' enumConstant )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:263:2: ( enumConstant ( ',' enumConstant )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:263:4: enumConstant ( ',' enumConstant )*
             {
             pushFollow(FOLLOW_enumConstant_in_enumConstants387);
             enumConstant();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:261:17: ( ',' enumConstant )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:263:17: ( ',' enumConstant )*
             loop22:
             do {
                 int alt22=2;
@@ -1141,7 +1143,7 @@
 
                 switch (alt22) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:261:18: ',' enumConstant
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:263:18: ',' enumConstant
             	    {
             	    match(input,34,FOLLOW_34_in_enumConstants390); if (failed) return ;
             	    pushFollow(FOLLOW_enumConstant_in_enumConstants392);
@@ -1174,15 +1176,15 @@
 
 
     // $ANTLR start enumConstant
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:264:1: enumConstant : ( annotations )? Identifier ( arguments )? ( classBody )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:266:1: enumConstant : ( annotations )? Identifier ( arguments )? ( classBody )? ;
     public final void enumConstant() throws RecognitionException {
         int enumConstant_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 14) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:2: ( ( annotations )? Identifier ( arguments )? ( classBody )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:4: ( annotations )? Identifier ( arguments )? ( classBody )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:267:2: ( ( annotations )? Identifier ( arguments )? ( classBody )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:267:4: ( annotations )? Identifier ( arguments )? ( classBody )?
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:4: ( annotations )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:267:4: ( annotations )?
             int alt23=2;
             int LA23_0 = input.LA(1);
 
@@ -1204,7 +1206,7 @@
             }
 
             match(input,Identifier,FOLLOW_Identifier_in_enumConstant409); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:28: ( arguments )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:267:28: ( arguments )?
             int alt24=2;
             int LA24_0 = input.LA(1);
 
@@ -1213,7 +1215,7 @@
             }
             switch (alt24) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:29: arguments
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:267:29: arguments
                     {
                     pushFollow(FOLLOW_arguments_in_enumConstant412);
                     arguments();
@@ -1225,7 +1227,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:41: ( classBody )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:267:41: ( classBody )?
             int alt25=2;
             int LA25_0 = input.LA(1);
 
@@ -1234,7 +1236,7 @@
             }
             switch (alt25) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:265:42: classBody
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:267:42: classBody
                     {
                     pushFollow(FOLLOW_classBody_in_enumConstant417);
                     classBody();
@@ -1263,16 +1265,16 @@
 
 
     // $ANTLR start enumBodyDeclarations
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:268:1: enumBodyDeclarations : ';' ( classBodyDeclaration )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:270:1: enumBodyDeclarations : ';' ( classBodyDeclaration )* ;
     public final void enumBodyDeclarations() throws RecognitionException {
         int enumBodyDeclarations_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 15) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:269:2: ( ';' ( classBodyDeclaration )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:269:4: ';' ( classBodyDeclaration )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:271:2: ( ';' ( classBodyDeclaration )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:271:4: ';' ( classBodyDeclaration )*
             {
             match(input,25,FOLLOW_25_in_enumBodyDeclarations431); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:269:8: ( classBodyDeclaration )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:271:8: ( classBodyDeclaration )*
             loop26:
             do {
                 int alt26=2;
@@ -1285,7 +1287,7 @@
 
                 switch (alt26) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:269:9: classBodyDeclaration
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:271:9: classBodyDeclaration
             	    {
             	    pushFollow(FOLLOW_classBodyDeclaration_in_enumBodyDeclarations434);
             	    classBodyDeclaration();
@@ -1317,12 +1319,12 @@
 
 
     // $ANTLR start interfaceDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:272:1: interfaceDeclaration : ( normalInterfaceDeclaration | annotationTypeDeclaration );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:274:1: interfaceDeclaration : ( normalInterfaceDeclaration | annotationTypeDeclaration );
     public final void interfaceDeclaration() throws RecognitionException {
         int interfaceDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 16) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:273:2: ( normalInterfaceDeclaration | annotationTypeDeclaration )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:275:2: ( normalInterfaceDeclaration | annotationTypeDeclaration )
             int alt27=2;
             int LA27_0 = input.LA(1);
 
@@ -1335,13 +1337,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("272:1: interfaceDeclaration : ( normalInterfaceDeclaration | annotationTypeDeclaration );", 27, 0, input);
+                    new NoViableAltException("274:1: interfaceDeclaration : ( normalInterfaceDeclaration | annotationTypeDeclaration );", 27, 0, input);
 
                 throw nvae;
             }
             switch (alt27) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:273:4: normalInterfaceDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:275:4: normalInterfaceDeclaration
                     {
                     pushFollow(FOLLOW_normalInterfaceDeclaration_in_interfaceDeclaration448);
                     normalInterfaceDeclaration();
@@ -1351,7 +1353,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:274:5: annotationTypeDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:276:5: annotationTypeDeclaration
                     {
                     pushFollow(FOLLOW_annotationTypeDeclaration_in_interfaceDeclaration454);
                     annotationTypeDeclaration();
@@ -1376,17 +1378,17 @@
 
 
     // $ANTLR start normalInterfaceDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:277:1: normalInterfaceDeclaration : 'interface' Identifier ( typeParameters )? ( 'extends' typeList )? interfaceBody ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:279:1: normalInterfaceDeclaration : 'interface' Identifier ( typeParameters )? ( 'extends' typeList )? interfaceBody ;
     public final void normalInterfaceDeclaration() throws RecognitionException {
         int normalInterfaceDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 17) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:278:2: ( 'interface' Identifier ( typeParameters )? ( 'extends' typeList )? interfaceBody )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:278:4: 'interface' Identifier ( typeParameters )? ( 'extends' typeList )? interfaceBody
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:280:2: ( 'interface' Identifier ( typeParameters )? ( 'extends' typeList )? interfaceBody )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:280:4: 'interface' Identifier ( typeParameters )? ( 'extends' typeList )? interfaceBody
             {
             match(input,39,FOLLOW_39_in_normalInterfaceDeclaration466); if (failed) return ;
             match(input,Identifier,FOLLOW_Identifier_in_normalInterfaceDeclaration468); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:278:27: ( typeParameters )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:280:27: ( typeParameters )?
             int alt28=2;
             int LA28_0 = input.LA(1);
 
@@ -1407,7 +1409,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:278:43: ( 'extends' typeList )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:280:43: ( 'extends' typeList )?
             int alt29=2;
             int LA29_0 = input.LA(1);
 
@@ -1416,7 +1418,7 @@
             }
             switch (alt29) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:278:44: 'extends' typeList
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:280:44: 'extends' typeList
                     {
                     match(input,31,FOLLOW_31_in_normalInterfaceDeclaration474); if (failed) return ;
                     pushFollow(FOLLOW_typeList_in_normalInterfaceDeclaration476);
@@ -1450,19 +1452,19 @@
 
 
     // $ANTLR start typeList
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:281:1: typeList : type ( ',' type )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:283:1: typeList : type ( ',' type )* ;
     public final void typeList() throws RecognitionException {
         int typeList_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 18) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:282:2: ( type ( ',' type )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:282:4: type ( ',' type )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:284:2: ( type ( ',' type )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:284:4: type ( ',' type )*
             {
             pushFollow(FOLLOW_type_in_typeList492);
             type();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:282:9: ( ',' type )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:284:9: ( ',' type )*
             loop30:
             do {
                 int alt30=2;
@@ -1475,7 +1477,7 @@
 
                 switch (alt30) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:282:10: ',' type
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:284:10: ',' type
             	    {
             	    match(input,34,FOLLOW_34_in_typeList495); if (failed) return ;
             	    pushFollow(FOLLOW_type_in_typeList497);
@@ -1508,16 +1510,16 @@
 
 
     // $ANTLR start classBody
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:285:1: classBody : '{' ( classBodyDeclaration )* '}' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:287:1: classBody : '{' ( classBodyDeclaration )* '}' ;
     public final void classBody() throws RecognitionException {
         int classBody_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 19) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:286:2: ( '{' ( classBodyDeclaration )* '}' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:286:4: '{' ( classBodyDeclaration )* '}'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:288:2: ( '{' ( classBodyDeclaration )* '}' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:288:4: '{' ( classBodyDeclaration )* '}'
             {
             match(input,37,FOLLOW_37_in_classBody511); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:286:8: ( classBodyDeclaration )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:288:8: ( classBodyDeclaration )*
             loop31:
             do {
                 int alt31=2;
@@ -1563,16 +1565,16 @@
 
 
     // $ANTLR start interfaceBody
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:289:1: interfaceBody : '{' ( interfaceBodyDeclaration )* '}' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:291:1: interfaceBody : '{' ( interfaceBodyDeclaration )* '}' ;
     public final void interfaceBody() throws RecognitionException {
         int interfaceBody_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 20) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:290:2: ( '{' ( interfaceBodyDeclaration )* '}' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:290:4: '{' ( interfaceBodyDeclaration )* '}'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:292:2: ( '{' ( interfaceBodyDeclaration )* '}' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:292:4: '{' ( interfaceBodyDeclaration )* '}'
             {
             match(input,37,FOLLOW_37_in_interfaceBody528); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:290:8: ( interfaceBodyDeclaration )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:292:8: ( interfaceBodyDeclaration )*
             loop32:
             do {
                 int alt32=2;
@@ -1618,12 +1620,12 @@
 
 
     // $ANTLR start classBodyDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:293:1: classBodyDeclaration : ( ';' | ( 'static' )? block | ( modifier )* memberDecl );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:295:1: classBodyDeclaration : ( ';' | ( 'static' )? block | ( modifier )* memberDecl );
     public final void classBodyDeclaration() throws RecognitionException {
         int classBodyDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 21) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:294:2: ( ';' | ( 'static' )? block | ( modifier )* memberDecl )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:296:2: ( ';' | ( 'static' )? block | ( modifier )* memberDecl )
             int alt35=3;
             switch ( input.LA(1) ) {
             case 25:
@@ -1635,16 +1637,16 @@
                 {
                 int LA35_2 = input.LA(2);
 
-                if ( (LA35_2==37) ) {
+                if ( ((LA35_2>=Identifier && LA35_2<=ENUM)||LA35_2==27||LA35_2==30||LA35_2==33||(LA35_2>=39 && LA35_2<=40)||(LA35_2>=45 && LA35_2<=62)||LA35_2==71) ) {
+                    alt35=3;
+                }
+                else if ( (LA35_2==37) ) {
                     alt35=2;
                 }
-                else if ( ((LA35_2>=Identifier && LA35_2<=ENUM)||LA35_2==27||LA35_2==30||LA35_2==33||(LA35_2>=39 && LA35_2<=40)||(LA35_2>=45 && LA35_2<=62)||LA35_2==71) ) {
-                    alt35=3;
-                }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("293:1: classBodyDeclaration : ( ';' | ( 'static' )? block | ( modifier )* memberDecl );", 35, 2, input);
+                        new NoViableAltException("295:1: classBodyDeclaration : ( ';' | ( 'static' )? block | ( modifier )* memberDecl );", 35, 2, input);
 
                     throw nvae;
                 }
@@ -1687,23 +1689,23 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("293:1: classBodyDeclaration : ( ';' | ( 'static' )? block | ( modifier )* memberDecl );", 35, 0, input);
+                    new NoViableAltException("295:1: classBodyDeclaration : ( ';' | ( 'static' )? block | ( modifier )* memberDecl );", 35, 0, input);
 
                 throw nvae;
             }
 
             switch (alt35) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:294:4: ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:296:4: ';'
                     {
                     match(input,25,FOLLOW_25_in_classBodyDeclaration544); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:295:4: ( 'static' )? block
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:297:4: ( 'static' )? block
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:295:4: ( 'static' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:297:4: ( 'static' )?
                     int alt33=2;
                     int LA33_0 = input.LA(1);
 
@@ -1729,9 +1731,9 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:296:4: ( modifier )* memberDecl
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:298:4: ( modifier )* memberDecl
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:296:4: ( modifier )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:298:4: ( modifier )*
                     loop34:
                     do {
                         int alt34=2;
@@ -1791,12 +1793,12 @@
 
 
     // $ANTLR start memberDecl
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:301:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );
     public final void memberDecl() throws RecognitionException {
         int memberDecl_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 22) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:300:2: ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:302:2: ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration )
             int alt36=7;
             switch ( input.LA(1) ) {
             case 33:
@@ -1807,14 +1809,9 @@
             case Identifier:
                 {
                 switch ( input.LA(2) ) {
-                case 65:
-                    {
-                    alt36=5;
-                    }
-                    break;
                 case 33:
                     {
-                    int LA36_10 = input.LA(3);
+                    int LA36_9 = input.LA(3);
 
                     if ( (synpred38()) ) {
                         alt36=2;
@@ -1825,7 +1822,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 10, input);
+                            new NoViableAltException("301:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 9, input);
 
                         throw nvae;
                     }
@@ -1833,7 +1830,7 @@
                     break;
                 case 28:
                     {
-                    int LA36_11 = input.LA(3);
+                    int LA36_10 = input.LA(3);
 
                     if ( (synpred38()) ) {
                         alt36=2;
@@ -1844,7 +1841,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 11, input);
+                            new NoViableAltException("301:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 10, input);
 
                         throw nvae;
                     }
@@ -1852,7 +1849,7 @@
                     break;
                 case 41:
                     {
-                    int LA36_12 = input.LA(3);
+                    int LA36_11 = input.LA(3);
 
                     if ( (synpred38()) ) {
                         alt36=2;
@@ -1863,7 +1860,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 12, input);
+                            new NoViableAltException("301:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 11, input);
 
                         throw nvae;
                     }
@@ -1871,7 +1868,7 @@
                     break;
                 case Identifier:
                     {
-                    int LA36_13 = input.LA(3);
+                    int LA36_12 = input.LA(3);
 
                     if ( (synpred38()) ) {
                         alt36=2;
@@ -1882,16 +1879,21 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 13, input);
+                            new NoViableAltException("301:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 12, input);
 
                         throw nvae;
                     }
                     }
                     break;
+                case 65:
+                    {
+                    alt36=5;
+                    }
+                    break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 2, input);
+                        new NoViableAltException("301:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 2, input);
 
                     throw nvae;
                 }
@@ -1921,7 +1923,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 14, input);
+                            new NoViableAltException("301:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 14, input);
 
                         throw nvae;
                     }
@@ -1938,7 +1940,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 15, input);
+                            new NoViableAltException("301:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 15, input);
 
                         throw nvae;
                     }
@@ -1946,7 +1948,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 3, input);
+                        new NoViableAltException("301:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 3, input);
 
                     throw nvae;
                 }
@@ -1972,14 +1974,14 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("299:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 0, input);
+                    new NoViableAltException("301:1: memberDecl : ( genericMethodOrConstructorDecl | methodDeclaration | fieldDeclaration | 'void' Identifier voidMethodDeclaratorRest | Identifier constructorDeclaratorRest | interfaceDeclaration | classDeclaration );", 36, 0, input);
 
                 throw nvae;
             }
 
             switch (alt36) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:300:4: genericMethodOrConstructorDecl
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:302:4: genericMethodOrConstructorDecl
                     {
                     pushFollow(FOLLOW_genericMethodOrConstructorDecl_in_memberDecl572);
                     genericMethodOrConstructorDecl();
@@ -1989,7 +1991,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:301:4: methodDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:303:4: methodDeclaration
                     {
                     pushFollow(FOLLOW_methodDeclaration_in_memberDecl577);
                     methodDeclaration();
@@ -1999,7 +2001,7 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:302:4: fieldDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:304:4: fieldDeclaration
                     {
                     pushFollow(FOLLOW_fieldDeclaration_in_memberDecl582);
                     fieldDeclaration();
@@ -2009,7 +2011,7 @@
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:303:4: 'void' Identifier voidMethodDeclaratorRest
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:305:4: 'void' Identifier voidMethodDeclaratorRest
                     {
                     match(input,40,FOLLOW_40_in_memberDecl587); if (failed) return ;
                     match(input,Identifier,FOLLOW_Identifier_in_memberDecl589); if (failed) return ;
@@ -2021,7 +2023,7 @@
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:304:4: Identifier constructorDeclaratorRest
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:306:4: Identifier constructorDeclaratorRest
                     {
                     match(input,Identifier,FOLLOW_Identifier_in_memberDecl596); if (failed) return ;
                     pushFollow(FOLLOW_constructorDeclaratorRest_in_memberDecl598);
@@ -2032,7 +2034,7 @@
                     }
                     break;
                 case 6 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:305:4: interfaceDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:307:4: interfaceDeclaration
                     {
                     pushFollow(FOLLOW_interfaceDeclaration_in_memberDecl603);
                     interfaceDeclaration();
@@ -2042,7 +2044,7 @@
                     }
                     break;
                 case 7 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:306:4: classDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:308:4: classDeclaration
                     {
                     pushFollow(FOLLOW_classDeclaration_in_memberDecl608);
                     classDeclaration();
@@ -2067,13 +2069,13 @@
 
 
     // $ANTLR start genericMethodOrConstructorDecl
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:309:1: genericMethodOrConstructorDecl : typeParameters genericMethodOrConstructorRest ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:311:1: genericMethodOrConstructorDecl : typeParameters genericMethodOrConstructorRest ;
     public final void genericMethodOrConstructorDecl() throws RecognitionException {
         int genericMethodOrConstructorDecl_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 23) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:310:2: ( typeParameters genericMethodOrConstructorRest )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:310:4: typeParameters genericMethodOrConstructorRest
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:312:2: ( typeParameters genericMethodOrConstructorRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:312:4: typeParameters genericMethodOrConstructorRest
             {
             pushFollow(FOLLOW_typeParameters_in_genericMethodOrConstructorDecl620);
             typeParameters();
@@ -2100,28 +2102,28 @@
 
 
     // $ANTLR start genericMethodOrConstructorRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:313:1: genericMethodOrConstructorRest : ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:315:1: genericMethodOrConstructorRest : ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest );
     public final void genericMethodOrConstructorRest() throws RecognitionException {
         int genericMethodOrConstructorRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 24) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:314:2: ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:316:2: ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest )
             int alt38=2;
             int LA38_0 = input.LA(1);
 
             if ( (LA38_0==Identifier) ) {
                 int LA38_1 = input.LA(2);
 
-                if ( (LA38_1==65) ) {
+                if ( (LA38_1==Identifier||LA38_1==28||LA38_1==33||LA38_1==41) ) {
+                    alt38=1;
+                }
+                else if ( (LA38_1==65) ) {
                     alt38=2;
                 }
-                else if ( (LA38_1==Identifier||LA38_1==28||LA38_1==33||LA38_1==41) ) {
-                    alt38=1;
-                }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("313:1: genericMethodOrConstructorRest : ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest );", 38, 1, input);
+                        new NoViableAltException("315:1: genericMethodOrConstructorRest : ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest );", 38, 1, input);
 
                     throw nvae;
                 }
@@ -2132,15 +2134,15 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("313:1: genericMethodOrConstructorRest : ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest );", 38, 0, input);
+                    new NoViableAltException("315:1: genericMethodOrConstructorRest : ( ( type | 'void' ) Identifier methodDeclaratorRest | Identifier constructorDeclaratorRest );", 38, 0, input);
 
                 throw nvae;
             }
             switch (alt38) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:314:4: ( type | 'void' ) Identifier methodDeclaratorRest
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:316:4: ( type | 'void' ) Identifier methodDeclaratorRest
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:314:4: ( type | 'void' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:316:4: ( type | 'void' )
                     int alt37=2;
                     int LA37_0 = input.LA(1);
 
@@ -2153,13 +2155,13 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("314:4: ( type | 'void' )", 37, 0, input);
+                            new NoViableAltException("316:4: ( type | 'void' )", 37, 0, input);
 
                         throw nvae;
                     }
                     switch (alt37) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:314:5: type
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:316:5: type
                             {
                             pushFollow(FOLLOW_type_in_genericMethodOrConstructorRest635);
                             type();
@@ -2169,7 +2171,7 @@
                             }
                             break;
                         case 2 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:314:12: 'void'
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:316:12: 'void'
                             {
                             match(input,40,FOLLOW_40_in_genericMethodOrConstructorRest639); if (failed) return ;
 
@@ -2187,7 +2189,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:315:4: Identifier constructorDeclaratorRest
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:317:4: Identifier constructorDeclaratorRest
                     {
                     match(input,Identifier,FOLLOW_Identifier_in_genericMethodOrConstructorRest649); if (failed) return ;
                     pushFollow(FOLLOW_constructorDeclaratorRest_in_genericMethodOrConstructorRest651);
@@ -2213,13 +2215,13 @@
 
 
     // $ANTLR start methodDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:318:1: methodDeclaration : type Identifier methodDeclaratorRest ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:320:1: methodDeclaration : type Identifier methodDeclaratorRest ;
     public final void methodDeclaration() throws RecognitionException {
         int methodDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 25) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:319:2: ( type Identifier methodDeclaratorRest )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:319:4: type Identifier methodDeclaratorRest
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:321:2: ( type Identifier methodDeclaratorRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:321:4: type Identifier methodDeclaratorRest
             {
             pushFollow(FOLLOW_type_in_methodDeclaration662);
             type();
@@ -2247,13 +2249,13 @@
 
 
     // $ANTLR start fieldDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:322:1: fieldDeclaration : type variableDeclarators ';' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:324:1: fieldDeclaration : type variableDeclarators ';' ;
     public final void fieldDeclaration() throws RecognitionException {
         int fieldDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 26) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:323:2: ( type variableDeclarators ';' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:323:4: type variableDeclarators ';'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:325:2: ( type variableDeclarators ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:325:4: type variableDeclarators ';'
             {
             pushFollow(FOLLOW_type_in_fieldDeclaration677);
             type();
@@ -2281,12 +2283,12 @@
 
 
     // $ANTLR start interfaceBodyDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:326:1: interfaceBodyDeclaration : ( ( modifier )* interfaceMemberDecl | ';' );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:328:1: interfaceBodyDeclaration : ( ( modifier )* interfaceMemberDecl | ';' );
     public final void interfaceBodyDeclaration() throws RecognitionException {
         int interfaceBodyDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 27) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:327:2: ( ( modifier )* interfaceMemberDecl | ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:329:2: ( ( modifier )* interfaceMemberDecl | ';' )
             int alt40=2;
             int LA40_0 = input.LA(1);
 
@@ -2299,15 +2301,15 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("326:1: interfaceBodyDeclaration : ( ( modifier )* interfaceMemberDecl | ';' );", 40, 0, input);
+                    new NoViableAltException("328:1: interfaceBodyDeclaration : ( ( modifier )* interfaceMemberDecl | ';' );", 40, 0, input);
 
                 throw nvae;
             }
             switch (alt40) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:327:4: ( modifier )* interfaceMemberDecl
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:329:4: ( modifier )* interfaceMemberDecl
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:327:4: ( modifier )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:329:4: ( modifier )*
                     loop39:
                     do {
                         int alt39=2;
@@ -2352,7 +2354,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:328:6: ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:330:6: ';'
                     {
                     match(input,25,FOLLOW_25_in_interfaceBodyDeclaration704); if (failed) return ;
 
@@ -2374,12 +2376,12 @@
 
 
     // $ANTLR start interfaceMemberDecl
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:331:1: interfaceMemberDecl : ( interfaceMethodOrFieldDecl | interfaceGenericMethodDecl | 'void' Identifier voidInterfaceMethodDeclaratorRest | interfaceDeclaration | classDeclaration );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:333:1: interfaceMemberDecl : ( interfaceMethodOrFieldDecl | interfaceGenericMethodDecl | 'void' Identifier voidInterfaceMethodDeclaratorRest | interfaceDeclaration | classDeclaration );
     public final void interfaceMemberDecl() throws RecognitionException {
         int interfaceMemberDecl_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 28) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:332:2: ( interfaceMethodOrFieldDecl | interfaceGenericMethodDecl | 'void' Identifier voidInterfaceMethodDeclaratorRest | interfaceDeclaration | classDeclaration )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:334:2: ( interfaceMethodOrFieldDecl | interfaceGenericMethodDecl | 'void' Identifier voidInterfaceMethodDeclaratorRest | interfaceDeclaration | classDeclaration )
             int alt41=5;
             switch ( input.LA(1) ) {
             case Identifier:
@@ -2420,14 +2422,14 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("331:1: interfaceMemberDecl : ( interfaceMethodOrFieldDecl | interfaceGenericMethodDecl | 'void' Identifier voidInterfaceMethodDeclaratorRest | interfaceDeclaration | classDeclaration );", 41, 0, input);
+                    new NoViableAltException("333:1: interfaceMemberDecl : ( interfaceMethodOrFieldDecl | interfaceGenericMethodDecl | 'void' Identifier voidInterfaceMethodDeclaratorRest | interfaceDeclaration | classDeclaration );", 41, 0, input);
 
                 throw nvae;
             }
 
             switch (alt41) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:332:4: interfaceMethodOrFieldDecl
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:334:4: interfaceMethodOrFieldDecl
                     {
                     pushFollow(FOLLOW_interfaceMethodOrFieldDecl_in_interfaceMemberDecl715);
                     interfaceMethodOrFieldDecl();
@@ -2437,7 +2439,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:333:6: interfaceGenericMethodDecl
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:335:6: interfaceGenericMethodDecl
                     {
                     pushFollow(FOLLOW_interfaceGenericMethodDecl_in_interfaceMemberDecl722);
                     interfaceGenericMethodDecl();
@@ -2447,7 +2449,7 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:334:9: 'void' Identifier voidInterfaceMethodDeclaratorRest
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:336:9: 'void' Identifier voidInterfaceMethodDeclaratorRest
                     {
                     match(input,40,FOLLOW_40_in_interfaceMemberDecl732); if (failed) return ;
                     match(input,Identifier,FOLLOW_Identifier_in_interfaceMemberDecl734); if (failed) return ;
@@ -2459,7 +2461,7 @@
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:335:9: interfaceDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:337:9: interfaceDeclaration
                     {
                     pushFollow(FOLLOW_interfaceDeclaration_in_interfaceMemberDecl746);
                     interfaceDeclaration();
@@ -2469,7 +2471,7 @@
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:336:9: classDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:338:9: classDeclaration
                     {
                     pushFollow(FOLLOW_classDeclaration_in_interfaceMemberDecl756);
                     classDeclaration();
@@ -2494,13 +2496,13 @@
 
 
     // $ANTLR start interfaceMethodOrFieldDecl
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:339:1: interfaceMethodOrFieldDecl : type Identifier interfaceMethodOrFieldRest ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:341:1: interfaceMethodOrFieldDecl : type Identifier interfaceMethodOrFieldRest ;
     public final void interfaceMethodOrFieldDecl() throws RecognitionException {
         int interfaceMethodOrFieldDecl_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 29) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:340:2: ( type Identifier interfaceMethodOrFieldRest )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:340:4: type Identifier interfaceMethodOrFieldRest
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:342:2: ( type Identifier interfaceMethodOrFieldRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:342:4: type Identifier interfaceMethodOrFieldRest
             {
             pushFollow(FOLLOW_type_in_interfaceMethodOrFieldDecl768);
             type();
@@ -2528,12 +2530,12 @@
 
 
     // $ANTLR start interfaceMethodOrFieldRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:343:1: interfaceMethodOrFieldRest : ( constantDeclaratorsRest ';' | interfaceMethodDeclaratorRest );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:345:1: interfaceMethodOrFieldRest : ( constantDeclaratorsRest ';' | interfaceMethodDeclaratorRest );
     public final void interfaceMethodOrFieldRest() throws RecognitionException {
         int interfaceMethodOrFieldRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 30) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:344:2: ( constantDeclaratorsRest ';' | interfaceMethodDeclaratorRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:346:2: ( constantDeclaratorsRest ';' | interfaceMethodDeclaratorRest )
             int alt42=2;
             int LA42_0 = input.LA(1);
 
@@ -2546,13 +2548,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("343:1: interfaceMethodOrFieldRest : ( constantDeclaratorsRest ';' | interfaceMethodDeclaratorRest );", 42, 0, input);
+                    new NoViableAltException("345:1: interfaceMethodOrFieldRest : ( constantDeclaratorsRest ';' | interfaceMethodDeclaratorRest );", 42, 0, input);
 
                 throw nvae;
             }
             switch (alt42) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:344:4: constantDeclaratorsRest ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:346:4: constantDeclaratorsRest ';'
                     {
                     pushFollow(FOLLOW_constantDeclaratorsRest_in_interfaceMethodOrFieldRest784);
                     constantDeclaratorsRest();
@@ -2563,7 +2565,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:345:4: interfaceMethodDeclaratorRest
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:347:4: interfaceMethodDeclaratorRest
                     {
                     pushFollow(FOLLOW_interfaceMethodDeclaratorRest_in_interfaceMethodOrFieldRest791);
                     interfaceMethodDeclaratorRest();
@@ -2588,19 +2590,19 @@
 
 
     // $ANTLR start methodDeclaratorRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:348:1: methodDeclaratorRest : formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ( methodBody | ';' ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:350:1: methodDeclaratorRest : formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ( methodBody | ';' ) ;
     public final void methodDeclaratorRest() throws RecognitionException {
         int methodDeclaratorRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 31) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:349:2: ( formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ( methodBody | ';' ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:349:4: formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ( methodBody | ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:351:2: ( formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ( methodBody | ';' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:351:4: formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ( methodBody | ';' )
             {
             pushFollow(FOLLOW_formalParameters_in_methodDeclaratorRest803);
             formalParameters();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:349:21: ( '[' ']' )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:351:21: ( '[' ']' )*
             loop43:
             do {
                 int alt43=2;
@@ -2613,7 +2615,7 @@
 
                 switch (alt43) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:349:22: '[' ']'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:351:22: '[' ']'
             	    {
             	    match(input,41,FOLLOW_41_in_methodDeclaratorRest806); if (failed) return ;
             	    match(input,42,FOLLOW_42_in_methodDeclaratorRest808); if (failed) return ;
@@ -2626,7 +2628,7 @@
                 }
             } while (true);
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:350:9: ( 'throws' qualifiedNameList )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:352:9: ( 'throws' qualifiedNameList )?
             int alt44=2;
             int LA44_0 = input.LA(1);
 
@@ -2635,7 +2637,7 @@
             }
             switch (alt44) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:350:10: 'throws' qualifiedNameList
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:352:10: 'throws' qualifiedNameList
                     {
                     match(input,43,FOLLOW_43_in_methodDeclaratorRest821); if (failed) return ;
                     pushFollow(FOLLOW_qualifiedNameList_in_methodDeclaratorRest823);
@@ -2648,7 +2650,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:351:9: ( methodBody | ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:353:9: ( methodBody | ';' )
             int alt45=2;
             int LA45_0 = input.LA(1);
 
@@ -2661,13 +2663,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("351:9: ( methodBody | ';' )", 45, 0, input);
+                    new NoViableAltException("353:9: ( methodBody | ';' )", 45, 0, input);
 
                 throw nvae;
             }
             switch (alt45) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:351:13: methodBody
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:353:13: methodBody
                     {
                     pushFollow(FOLLOW_methodBody_in_methodDeclaratorRest839);
                     methodBody();
@@ -2677,7 +2679,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:352:13: ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:354:13: ';'
                     {
                     match(input,25,FOLLOW_25_in_methodDeclaratorRest853); if (failed) return ;
 
@@ -2703,19 +2705,19 @@
 
 
     // $ANTLR start voidMethodDeclaratorRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:356:1: voidMethodDeclaratorRest : formalParameters ( 'throws' qualifiedNameList )? ( methodBody | ';' ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:358:1: voidMethodDeclaratorRest : formalParameters ( 'throws' qualifiedNameList )? ( methodBody | ';' ) ;
     public final void voidMethodDeclaratorRest() throws RecognitionException {
         int voidMethodDeclaratorRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 32) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:357:2: ( formalParameters ( 'throws' qualifiedNameList )? ( methodBody | ';' ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:357:4: formalParameters ( 'throws' qualifiedNameList )? ( methodBody | ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:359:2: ( formalParameters ( 'throws' qualifiedNameList )? ( methodBody | ';' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:359:4: formalParameters ( 'throws' qualifiedNameList )? ( methodBody | ';' )
             {
             pushFollow(FOLLOW_formalParameters_in_voidMethodDeclaratorRest875);
             formalParameters();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:357:21: ( 'throws' qualifiedNameList )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:359:21: ( 'throws' qualifiedNameList )?
             int alt46=2;
             int LA46_0 = input.LA(1);
 
@@ -2724,7 +2726,7 @@
             }
             switch (alt46) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:357:22: 'throws' qualifiedNameList
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:359:22: 'throws' qualifiedNameList
                     {
                     match(input,43,FOLLOW_43_in_voidMethodDeclaratorRest878); if (failed) return ;
                     pushFollow(FOLLOW_qualifiedNameList_in_voidMethodDeclaratorRest880);
@@ -2737,7 +2739,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:358:9: ( methodBody | ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:360:9: ( methodBody | ';' )
             int alt47=2;
             int LA47_0 = input.LA(1);
 
@@ -2750,13 +2752,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("358:9: ( methodBody | ';' )", 47, 0, input);
+                    new NoViableAltException("360:9: ( methodBody | ';' )", 47, 0, input);
 
                 throw nvae;
             }
             switch (alt47) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:358:13: methodBody
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:360:13: methodBody
                     {
                     pushFollow(FOLLOW_methodBody_in_voidMethodDeclaratorRest896);
                     methodBody();
@@ -2766,7 +2768,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:359:13: ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:361:13: ';'
                     {
                     match(input,25,FOLLOW_25_in_voidMethodDeclaratorRest910); if (failed) return ;
 
@@ -2792,19 +2794,19 @@
 
 
     // $ANTLR start interfaceMethodDeclaratorRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:363:1: interfaceMethodDeclaratorRest : formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ';' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:365:1: interfaceMethodDeclaratorRest : formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ';' ;
     public final void interfaceMethodDeclaratorRest() throws RecognitionException {
         int interfaceMethodDeclaratorRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 33) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:2: ( formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ';' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:4: formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ';'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:366:2: ( formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:366:4: formalParameters ( '[' ']' )* ( 'throws' qualifiedNameList )? ';'
             {
             pushFollow(FOLLOW_formalParameters_in_interfaceMethodDeclaratorRest932);
             formalParameters();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:21: ( '[' ']' )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:366:21: ( '[' ']' )*
             loop48:
             do {
                 int alt48=2;
@@ -2817,7 +2819,7 @@
 
                 switch (alt48) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:22: '[' ']'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:366:22: '[' ']'
             	    {
             	    match(input,41,FOLLOW_41_in_interfaceMethodDeclaratorRest935); if (failed) return ;
             	    match(input,42,FOLLOW_42_in_interfaceMethodDeclaratorRest937); if (failed) return ;
@@ -2830,7 +2832,7 @@
                 }
             } while (true);
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:32: ( 'throws' qualifiedNameList )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:366:32: ( 'throws' qualifiedNameList )?
             int alt49=2;
             int LA49_0 = input.LA(1);
 
@@ -2839,7 +2841,7 @@
             }
             switch (alt49) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:364:33: 'throws' qualifiedNameList
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:366:33: 'throws' qualifiedNameList
                     {
                     match(input,43,FOLLOW_43_in_interfaceMethodDeclaratorRest942); if (failed) return ;
                     pushFollow(FOLLOW_qualifiedNameList_in_interfaceMethodDeclaratorRest944);
@@ -2870,19 +2872,19 @@
 
 
     // $ANTLR start interfaceGenericMethodDecl
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:367:1: interfaceGenericMethodDecl : typeParameters ( type | 'void' ) Identifier interfaceMethodDeclaratorRest ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:369:1: interfaceGenericMethodDecl : typeParameters ( type | 'void' ) Identifier interfaceMethodDeclaratorRest ;
     public final void interfaceGenericMethodDecl() throws RecognitionException {
         int interfaceGenericMethodDecl_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 34) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:368:2: ( typeParameters ( type | 'void' ) Identifier interfaceMethodDeclaratorRest )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:368:4: typeParameters ( type | 'void' ) Identifier interfaceMethodDeclaratorRest
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:370:2: ( typeParameters ( type | 'void' ) Identifier interfaceMethodDeclaratorRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:370:4: typeParameters ( type | 'void' ) Identifier interfaceMethodDeclaratorRest
             {
             pushFollow(FOLLOW_typeParameters_in_interfaceGenericMethodDecl960);
             typeParameters();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:368:19: ( type | 'void' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:370:19: ( type | 'void' )
             int alt50=2;
             int LA50_0 = input.LA(1);
 
@@ -2895,13 +2897,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("368:19: ( type | 'void' )", 50, 0, input);
+                    new NoViableAltException("370:19: ( type | 'void' )", 50, 0, input);
 
                 throw nvae;
             }
             switch (alt50) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:368:20: type
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:370:20: type
                     {
                     pushFollow(FOLLOW_type_in_interfaceGenericMethodDecl963);
                     type();
@@ -2911,7 +2913,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:368:27: 'void'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:370:27: 'void'
                     {
                     match(input,40,FOLLOW_40_in_interfaceGenericMethodDecl967); if (failed) return ;
 
@@ -2942,19 +2944,19 @@
 
 
     // $ANTLR start voidInterfaceMethodDeclaratorRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:372:1: voidInterfaceMethodDeclaratorRest : formalParameters ( 'throws' qualifiedNameList )? ';' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:374:1: voidInterfaceMethodDeclaratorRest : formalParameters ( 'throws' qualifiedNameList )? ';' ;
     public final void voidInterfaceMethodDeclaratorRest() throws RecognitionException {
         int voidInterfaceMethodDeclaratorRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 35) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:373:2: ( formalParameters ( 'throws' qualifiedNameList )? ';' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:373:4: formalParameters ( 'throws' qualifiedNameList )? ';'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:375:2: ( formalParameters ( 'throws' qualifiedNameList )? ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:375:4: formalParameters ( 'throws' qualifiedNameList )? ';'
             {
             pushFollow(FOLLOW_formalParameters_in_voidInterfaceMethodDeclaratorRest992);
             formalParameters();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:373:21: ( 'throws' qualifiedNameList )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:375:21: ( 'throws' qualifiedNameList )?
             int alt51=2;
             int LA51_0 = input.LA(1);
 
@@ -2963,7 +2965,7 @@
             }
             switch (alt51) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:373:22: 'throws' qualifiedNameList
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:375:22: 'throws' qualifiedNameList
                     {
                     match(input,43,FOLLOW_43_in_voidInterfaceMethodDeclaratorRest995); if (failed) return ;
                     pushFollow(FOLLOW_qualifiedNameList_in_voidInterfaceMethodDeclaratorRest997);
@@ -2994,19 +2996,19 @@
 
 
     // $ANTLR start constructorDeclaratorRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:376:1: constructorDeclaratorRest : formalParameters ( 'throws' qualifiedNameList )? methodBody ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:378:1: constructorDeclaratorRest : formalParameters ( 'throws' qualifiedNameList )? methodBody ;
     public final void constructorDeclaratorRest() throws RecognitionException {
         int constructorDeclaratorRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 36) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:377:2: ( formalParameters ( 'throws' qualifiedNameList )? methodBody )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:377:4: formalParameters ( 'throws' qualifiedNameList )? methodBody
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:379:2: ( formalParameters ( 'throws' qualifiedNameList )? methodBody )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:379:4: formalParameters ( 'throws' qualifiedNameList )? methodBody
             {
             pushFollow(FOLLOW_formalParameters_in_constructorDeclaratorRest1013);
             formalParameters();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:377:21: ( 'throws' qualifiedNameList )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:379:21: ( 'throws' qualifiedNameList )?
             int alt52=2;
             int LA52_0 = input.LA(1);
 
@@ -3015,7 +3017,7 @@
             }
             switch (alt52) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:377:22: 'throws' qualifiedNameList
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:379:22: 'throws' qualifiedNameList
                     {
                     match(input,43,FOLLOW_43_in_constructorDeclaratorRest1016); if (failed) return ;
                     pushFollow(FOLLOW_qualifiedNameList_in_constructorDeclaratorRest1018);
@@ -3049,13 +3051,13 @@
 
 
     // $ANTLR start constantDeclarator
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:380:1: constantDeclarator : Identifier constantDeclaratorRest ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:382:1: constantDeclarator : Identifier constantDeclaratorRest ;
     public final void constantDeclarator() throws RecognitionException {
         int constantDeclarator_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 37) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:381:2: ( Identifier constantDeclaratorRest )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:381:4: Identifier constantDeclaratorRest
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:383:2: ( Identifier constantDeclaratorRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:383:4: Identifier constantDeclaratorRest
             {
             match(input,Identifier,FOLLOW_Identifier_in_constantDeclarator1033); if (failed) return ;
             pushFollow(FOLLOW_constantDeclaratorRest_in_constantDeclarator1035);
@@ -3079,19 +3081,19 @@
 
 
     // $ANTLR start variableDeclarators
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:384:1: variableDeclarators : variableDeclarator ( ',' variableDeclarator )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:386:1: variableDeclarators : variableDeclarator ( ',' variableDeclarator )* ;
     public final void variableDeclarators() throws RecognitionException {
         int variableDeclarators_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 38) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:385:2: ( variableDeclarator ( ',' variableDeclarator )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:385:4: variableDeclarator ( ',' variableDeclarator )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:387:2: ( variableDeclarator ( ',' variableDeclarator )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:387:4: variableDeclarator ( ',' variableDeclarator )*
             {
             pushFollow(FOLLOW_variableDeclarator_in_variableDeclarators1047);
             variableDeclarator();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:385:23: ( ',' variableDeclarator )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:387:23: ( ',' variableDeclarator )*
             loop53:
             do {
                 int alt53=2;
@@ -3104,7 +3106,7 @@
 
                 switch (alt53) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:385:24: ',' variableDeclarator
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:387:24: ',' variableDeclarator
             	    {
             	    match(input,34,FOLLOW_34_in_variableDeclarators1050); if (failed) return ;
             	    pushFollow(FOLLOW_variableDeclarator_in_variableDeclarators1052);
@@ -3142,7 +3144,7 @@
 
 
     // $ANTLR start variableDeclarator
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:388:1: variableDeclarator : id= Identifier rest= variableDeclaratorRest ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:390:1: variableDeclarator : id= Identifier rest= variableDeclaratorRest ;
     public final void variableDeclarator() throws RecognitionException {
         variableDeclarator_stack.push(new variableDeclarator_scope());
         int variableDeclarator_StartIndex = input.index();
@@ -3157,8 +3159,8 @@
         	
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 39) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:402:2: (id= Identifier rest= variableDeclaratorRest )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:402:4: id= Identifier rest= variableDeclaratorRest
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:404:2: (id= Identifier rest= variableDeclaratorRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:404:4: id= Identifier rest= variableDeclaratorRest
             {
             id=(Token)input.LT(1);
             match(input,Identifier,FOLLOW_Identifier_in_variableDeclarator1084); if (failed) return ;
@@ -3204,14 +3206,14 @@
     };
 
     // $ANTLR start variableDeclaratorRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:414:1: variableDeclaratorRest : ( ( '[' ']' )+ ( '=' variableInitializer )? | '=' variableInitializer | );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:416:1: variableDeclaratorRest : ( ( '[' ']' )+ ( '=' variableInitializer )? | '=' variableInitializer | );
     public final variableDeclaratorRest_return variableDeclaratorRest() throws RecognitionException {
         variableDeclaratorRest_return retval = new variableDeclaratorRest_return();
         retval.start = input.LT(1);
         int variableDeclaratorRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 40) ) { return retval; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:415:2: ( ( '[' ']' )+ ( '=' variableInitializer )? | '=' variableInitializer | )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:417:2: ( ( '[' ']' )+ ( '=' variableInitializer )? | '=' variableInitializer | )
             int alt56=3;
             switch ( input.LA(1) ) {
             case 41:
@@ -3234,16 +3236,16 @@
             default:
                 if (backtracking>0) {failed=true; return retval;}
                 NoViableAltException nvae =
-                    new NoViableAltException("414:1: variableDeclaratorRest : ( ( '[' ']' )+ ( '=' variableInitializer )? | '=' variableInitializer | );", 56, 0, input);
+                    new NoViableAltException("416:1: variableDeclaratorRest : ( ( '[' ']' )+ ( '=' variableInitializer )? | '=' variableInitializer | );", 56, 0, input);
 
                 throw nvae;
             }
 
             switch (alt56) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:415:4: ( '[' ']' )+ ( '=' variableInitializer )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:417:4: ( '[' ']' )+ ( '=' variableInitializer )?
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:415:4: ( '[' ']' )+
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:417:4: ( '[' ']' )+
                     int cnt54=0;
                     loop54:
                     do {
@@ -3257,7 +3259,7 @@
 
                         switch (alt54) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:415:5: '[' ']'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:417:5: '[' ']'
                     	    {
                     	    match(input,41,FOLLOW_41_in_variableDeclaratorRest1106); if (failed) return retval;
                     	    match(input,42,FOLLOW_42_in_variableDeclaratorRest1108); if (failed) return retval;
@@ -3275,7 +3277,7 @@
                         cnt54++;
                     } while (true);
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:415:15: ( '=' variableInitializer )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:417:15: ( '=' variableInitializer )?
                     int alt55=2;
                     int LA55_0 = input.LA(1);
 
@@ -3284,7 +3286,7 @@
                     }
                     switch (alt55) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:415:16: '=' variableInitializer
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:417:16: '=' variableInitializer
                             {
                             match(input,44,FOLLOW_44_in_variableDeclaratorRest1113); if (failed) return retval;
                             pushFollow(FOLLOW_variableInitializer_in_variableDeclaratorRest1115);
@@ -3301,7 +3303,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:416:4: '=' variableInitializer
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:418:4: '=' variableInitializer
                     {
                     match(input,44,FOLLOW_44_in_variableDeclaratorRest1122); if (failed) return retval;
                     pushFollow(FOLLOW_variableInitializer_in_variableDeclaratorRest1124);
@@ -3312,7 +3314,7 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:418:2: 
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:420:2: 
                     {
                     }
                     break;
@@ -3334,19 +3336,19 @@
 
 
     // $ANTLR start constantDeclaratorsRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:420:1: constantDeclaratorsRest : constantDeclaratorRest ( ',' constantDeclarator )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:422:1: constantDeclaratorsRest : constantDeclaratorRest ( ',' constantDeclarator )* ;
     public final void constantDeclaratorsRest() throws RecognitionException {
         int constantDeclaratorsRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 41) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:421:5: ( constantDeclaratorRest ( ',' constantDeclarator )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:421:9: constantDeclaratorRest ( ',' constantDeclarator )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:423:5: ( constantDeclaratorRest ( ',' constantDeclarator )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:423:9: constantDeclaratorRest ( ',' constantDeclarator )*
             {
             pushFollow(FOLLOW_constantDeclaratorRest_in_constantDeclaratorsRest1144);
             constantDeclaratorRest();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:421:32: ( ',' constantDeclarator )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:423:32: ( ',' constantDeclarator )*
             loop57:
             do {
                 int alt57=2;
@@ -3359,7 +3361,7 @@
 
                 switch (alt57) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:421:33: ',' constantDeclarator
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:423:33: ',' constantDeclarator
             	    {
             	    match(input,34,FOLLOW_34_in_constantDeclaratorsRest1147); if (failed) return ;
             	    pushFollow(FOLLOW_constantDeclarator_in_constantDeclaratorsRest1149);
@@ -3392,15 +3394,15 @@
 
 
     // $ANTLR start constantDeclaratorRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:424:1: constantDeclaratorRest : ( '[' ']' )* '=' variableInitializer ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:426:1: constantDeclaratorRest : ( '[' ']' )* '=' variableInitializer ;
     public final void constantDeclaratorRest() throws RecognitionException {
         int constantDeclaratorRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 42) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:425:2: ( ( '[' ']' )* '=' variableInitializer )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:425:4: ( '[' ']' )* '=' variableInitializer
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:427:2: ( ( '[' ']' )* '=' variableInitializer )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:427:4: ( '[' ']' )* '=' variableInitializer
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:425:4: ( '[' ']' )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:427:4: ( '[' ']' )*
             loop58:
             do {
                 int alt58=2;
@@ -3413,7 +3415,7 @@
 
                 switch (alt58) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:425:5: '[' ']'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:427:5: '[' ']'
             	    {
             	    match(input,41,FOLLOW_41_in_constantDeclaratorRest1166); if (failed) return ;
             	    match(input,42,FOLLOW_42_in_constantDeclaratorRest1168); if (failed) return ;
@@ -3448,16 +3450,16 @@
 
 
     // $ANTLR start variableDeclaratorId
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:428:1: variableDeclaratorId : Identifier ( '[' ']' )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:430:1: variableDeclaratorId : Identifier ( '[' ']' )* ;
     public final void variableDeclaratorId() throws RecognitionException {
         int variableDeclaratorId_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 43) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:429:2: ( Identifier ( '[' ']' )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:429:4: Identifier ( '[' ']' )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:431:2: ( Identifier ( '[' ']' )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:431:4: Identifier ( '[' ']' )*
             {
             match(input,Identifier,FOLLOW_Identifier_in_variableDeclaratorId1186); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:429:15: ( '[' ']' )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:431:15: ( '[' ']' )*
             loop59:
             do {
                 int alt59=2;
@@ -3470,7 +3472,7 @@
 
                 switch (alt59) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:429:16: '[' ']'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:431:16: '[' ']'
             	    {
             	    match(input,41,FOLLOW_41_in_variableDeclaratorId1189); if (failed) return ;
             	    match(input,42,FOLLOW_42_in_variableDeclaratorId1191); if (failed) return ;
@@ -3500,31 +3502,31 @@
 
 
     // $ANTLR start variableInitializer
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:432:1: variableInitializer : ( arrayInitializer | expression );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:434:1: variableInitializer : ( arrayInitializer | expression );
     public final void variableInitializer() throws RecognitionException {
         int variableInitializer_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 44) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:433:2: ( arrayInitializer | expression )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:435:2: ( arrayInitializer | expression )
             int alt60=2;
             int LA60_0 = input.LA(1);
 
             if ( (LA60_0==37) ) {
                 alt60=1;
             }
-            else if ( (LA60_0==Identifier||(LA60_0>=FloatingPointLiteral && LA60_0<=DecimalLiteral)||LA60_0==33||LA60_0==40||(LA60_0>=55 && LA60_0<=62)||(LA60_0>=64 && LA60_0<=65)||(LA60_0>=68 && LA60_0<=70)||(LA60_0>=104 && LA60_0<=105)||(LA60_0>=108 && LA60_0<=113)) ) {
+            else if ( (LA60_0==Identifier||(LA60_0>=FloatingPointLiteral && LA60_0<=DecimalLiteral)||LA60_0==33||LA60_0==40||(LA60_0>=55 && LA60_0<=62)||(LA60_0>=64 && LA60_0<=65)||(LA60_0>=68 && LA60_0<=70)||(LA60_0>=105 && LA60_0<=106)||(LA60_0>=109 && LA60_0<=114)) ) {
                 alt60=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("432:1: variableInitializer : ( arrayInitializer | expression );", 60, 0, input);
+                    new NoViableAltException("434:1: variableInitializer : ( arrayInitializer | expression );", 60, 0, input);
 
                 throw nvae;
             }
             switch (alt60) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:433:4: arrayInitializer
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:435:4: arrayInitializer
                     {
                     pushFollow(FOLLOW_arrayInitializer_in_variableInitializer1204);
                     arrayInitializer();
@@ -3534,7 +3536,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:434:9: expression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:436:9: expression
                     {
                     pushFollow(FOLLOW_expression_in_variableInitializer1214);
                     expression();
@@ -3559,31 +3561,31 @@
 
 
     // $ANTLR start arrayInitializer
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:437:1: arrayInitializer : '{' ( variableInitializer ( ',' variableInitializer )* ( ',' )? )? '}' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:439:1: arrayInitializer : '{' ( variableInitializer ( ',' variableInitializer )* ( ',' )? )? '}' ;
     public final void arrayInitializer() throws RecognitionException {
         int arrayInitializer_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 45) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:438:2: ( '{' ( variableInitializer ( ',' variableInitializer )* ( ',' )? )? '}' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:438:4: '{' ( variableInitializer ( ',' variableInitializer )* ( ',' )? )? '}'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:440:2: ( '{' ( variableInitializer ( ',' variableInitializer )* ( ',' )? )? '}' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:440:4: '{' ( variableInitializer ( ',' variableInitializer )* ( ',' )? )? '}'
             {
             match(input,37,FOLLOW_37_in_arrayInitializer1226); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:438:8: ( variableInitializer ( ',' variableInitializer )* ( ',' )? )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:440:8: ( variableInitializer ( ',' variableInitializer )* ( ',' )? )?
             int alt63=2;
             int LA63_0 = input.LA(1);
 
-            if ( (LA63_0==Identifier||(LA63_0>=FloatingPointLiteral && LA63_0<=DecimalLiteral)||LA63_0==33||LA63_0==37||LA63_0==40||(LA63_0>=55 && LA63_0<=62)||(LA63_0>=64 && LA63_0<=65)||(LA63_0>=68 && LA63_0<=70)||(LA63_0>=104 && LA63_0<=105)||(LA63_0>=108 && LA63_0<=113)) ) {
+            if ( (LA63_0==Identifier||(LA63_0>=FloatingPointLiteral && LA63_0<=DecimalLiteral)||LA63_0==33||LA63_0==37||LA63_0==40||(LA63_0>=55 && LA63_0<=62)||(LA63_0>=64 && LA63_0<=65)||(LA63_0>=68 && LA63_0<=70)||(LA63_0>=105 && LA63_0<=106)||(LA63_0>=109 && LA63_0<=114)) ) {
                 alt63=1;
             }
             switch (alt63) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:438:9: variableInitializer ( ',' variableInitializer )* ( ',' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:440:9: variableInitializer ( ',' variableInitializer )* ( ',' )?
                     {
                     pushFollow(FOLLOW_variableInitializer_in_arrayInitializer1229);
                     variableInitializer();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:438:29: ( ',' variableInitializer )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:440:29: ( ',' variableInitializer )*
                     loop61:
                     do {
                         int alt61=2;
@@ -3592,7 +3594,7 @@
                         if ( (LA61_0==34) ) {
                             int LA61_1 = input.LA(2);
 
-                            if ( (LA61_1==Identifier||(LA61_1>=FloatingPointLiteral && LA61_1<=DecimalLiteral)||LA61_1==33||LA61_1==37||LA61_1==40||(LA61_1>=55 && LA61_1<=62)||(LA61_1>=64 && LA61_1<=65)||(LA61_1>=68 && LA61_1<=70)||(LA61_1>=104 && LA61_1<=105)||(LA61_1>=108 && LA61_1<=113)) ) {
+                            if ( (LA61_1==Identifier||(LA61_1>=FloatingPointLiteral && LA61_1<=DecimalLiteral)||LA61_1==33||LA61_1==37||LA61_1==40||(LA61_1>=55 && LA61_1<=62)||(LA61_1>=64 && LA61_1<=65)||(LA61_1>=68 && LA61_1<=70)||(LA61_1>=105 && LA61_1<=106)||(LA61_1>=109 && LA61_1<=114)) ) {
                                 alt61=1;
                             }
 
@@ -3602,7 +3604,7 @@
 
                         switch (alt61) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:438:30: ',' variableInitializer
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:440:30: ',' variableInitializer
                     	    {
                     	    match(input,34,FOLLOW_34_in_arrayInitializer1232); if (failed) return ;
                     	    pushFollow(FOLLOW_variableInitializer_in_arrayInitializer1234);
@@ -3618,7 +3620,7 @@
                         }
                     } while (true);
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:438:56: ( ',' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:440:56: ( ',' )?
                     int alt62=2;
                     int LA62_0 = input.LA(1);
 
@@ -3627,7 +3629,7 @@
                     }
                     switch (alt62) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:438:57: ','
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:440:57: ','
                             {
                             match(input,34,FOLLOW_34_in_arrayInitializer1239); if (failed) return ;
 
@@ -3660,12 +3662,12 @@
 
 
     // $ANTLR start modifier
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:441:1: modifier : ( annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:443:1: modifier : ( annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' );
     public final void modifier() throws RecognitionException {
         int modifier_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 46) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:442:5: ( annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:444:5: ( annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' )
             int alt64=12;
             switch ( input.LA(1) ) {
             case 71:
@@ -3731,14 +3733,14 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("441:1: modifier : ( annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' );", 64, 0, input);
+                    new NoViableAltException("443:1: modifier : ( annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' );", 64, 0, input);
 
                 throw nvae;
             }
 
             switch (alt64) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:442:9: annotation
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:444:9: annotation
                     {
                     pushFollow(FOLLOW_annotation_in_modifier1262);
                     annotation();
@@ -3748,77 +3750,77 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:443:9: 'public'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:445:9: 'public'
                     {
                     match(input,45,FOLLOW_45_in_modifier1272); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:444:9: 'protected'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:446:9: 'protected'
                     {
                     match(input,46,FOLLOW_46_in_modifier1282); if (failed) return ;
 
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:445:9: 'private'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:447:9: 'private'
                     {
                     match(input,47,FOLLOW_47_in_modifier1292); if (failed) return ;
 
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:446:9: 'static'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:448:9: 'static'
                     {
                     match(input,27,FOLLOW_27_in_modifier1302); if (failed) return ;
 
                     }
                     break;
                 case 6 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:447:9: 'abstract'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:449:9: 'abstract'
                     {
                     match(input,48,FOLLOW_48_in_modifier1312); if (failed) return ;
 
                     }
                     break;
                 case 7 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:448:9: 'final'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:450:9: 'final'
                     {
                     match(input,49,FOLLOW_49_in_modifier1322); if (failed) return ;
 
                     }
                     break;
                 case 8 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:449:9: 'native'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:451:9: 'native'
                     {
                     match(input,50,FOLLOW_50_in_modifier1332); if (failed) return ;
 
                     }
                     break;
                 case 9 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:450:9: 'synchronized'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:452:9: 'synchronized'
                     {
                     match(input,51,FOLLOW_51_in_modifier1342); if (failed) return ;
 
                     }
                     break;
                 case 10 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:451:9: 'transient'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:453:9: 'transient'
                     {
                     match(input,52,FOLLOW_52_in_modifier1352); if (failed) return ;
 
                     }
                     break;
                 case 11 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:452:9: 'volatile'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:454:9: 'volatile'
                     {
                     match(input,53,FOLLOW_53_in_modifier1362); if (failed) return ;
 
                     }
                     break;
                 case 12 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:453:9: 'strictfp'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:455:9: 'strictfp'
                     {
                     match(input,54,FOLLOW_54_in_modifier1372); if (failed) return ;
 
@@ -3840,16 +3842,16 @@
 
 
     // $ANTLR start packageOrTypeName
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:456:1: packageOrTypeName : Identifier ( '.' Identifier )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:458:1: packageOrTypeName : Identifier ( '.' Identifier )* ;
     public final void packageOrTypeName() throws RecognitionException {
         int packageOrTypeName_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 47) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:457:2: ( Identifier ( '.' Identifier )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:457:4: Identifier ( '.' Identifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:459:2: ( Identifier ( '.' Identifier )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:459:4: Identifier ( '.' Identifier )*
             {
             match(input,Identifier,FOLLOW_Identifier_in_packageOrTypeName1386); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:457:15: ( '.' Identifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:459:15: ( '.' Identifier )*
             loop65:
             do {
                 int alt65=2;
@@ -3874,7 +3876,7 @@
 
                 switch (alt65) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:457:16: '.' Identifier
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:459:16: '.' Identifier
             	    {
             	    match(input,28,FOLLOW_28_in_packageOrTypeName1389); if (failed) return ;
             	    match(input,Identifier,FOLLOW_Identifier_in_packageOrTypeName1391); if (failed) return ;
@@ -3904,13 +3906,13 @@
 
 
     // $ANTLR start enumConstantName
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:460:1: enumConstantName : Identifier ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:462:1: enumConstantName : Identifier ;
     public final void enumConstantName() throws RecognitionException {
         int enumConstantName_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 48) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:461:5: ( Identifier )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:461:9: Identifier
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:463:5: ( Identifier )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:463:9: Identifier
             {
             match(input,Identifier,FOLLOW_Identifier_in_enumConstantName1409); if (failed) return ;
 
@@ -3930,12 +3932,12 @@
 
 
     // $ANTLR start typeName
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:464:1: typeName : ( Identifier | packageOrTypeName '.' Identifier );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:466:1: typeName : ( Identifier | packageOrTypeName '.' Identifier );
     public final void typeName() throws RecognitionException {
         int typeName_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 49) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:465:2: ( Identifier | packageOrTypeName '.' Identifier )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:467:2: ( Identifier | packageOrTypeName '.' Identifier )
             int alt66=2;
             int LA66_0 = input.LA(1);
 
@@ -3951,7 +3953,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("464:1: typeName : ( Identifier | packageOrTypeName '.' Identifier );", 66, 1, input);
+                        new NoViableAltException("466:1: typeName : ( Identifier | packageOrTypeName '.' Identifier );", 66, 1, input);
 
                     throw nvae;
                 }
@@ -3959,20 +3961,20 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("464:1: typeName : ( Identifier | packageOrTypeName '.' Identifier );", 66, 0, input);
+                    new NoViableAltException("466:1: typeName : ( Identifier | packageOrTypeName '.' Identifier );", 66, 0, input);
 
                 throw nvae;
             }
             switch (alt66) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:465:6: Identifier
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:467:6: Identifier
                     {
                     match(input,Identifier,FOLLOW_Identifier_in_typeName1425); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:466:9: packageOrTypeName '.' Identifier
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:468:9: packageOrTypeName '.' Identifier
                     {
                     pushFollow(FOLLOW_packageOrTypeName_in_typeName1435);
                     packageOrTypeName();
@@ -4001,14 +4003,14 @@
     };
 
     // $ANTLR start type
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:469:1: type : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )* | primitiveType ( '[' ']' )* );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:471:1: type : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )* | primitiveType ( '[' ']' )* );
     public final type_return type() throws RecognitionException {
         type_return retval = new type_return();
         retval.start = input.LT(1);
         int type_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 50) ) { return retval; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:470:2: ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )* | primitiveType ( '[' ']' )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:2: ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )* | primitiveType ( '[' ']' )* )
             int alt72=2;
             int LA72_0 = input.LA(1);
 
@@ -4021,16 +4023,16 @@
             else {
                 if (backtracking>0) {failed=true; return retval;}
                 NoViableAltException nvae =
-                    new NoViableAltException("469:1: type : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )* | primitiveType ( '[' ']' )* );", 72, 0, input);
+                    new NoViableAltException("471:1: type : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )* | primitiveType ( '[' ']' )* );", 72, 0, input);
 
                 throw nvae;
             }
             switch (alt72) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:470:4: Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:4: Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* ( '[' ']' )*
                     {
                     match(input,Identifier,FOLLOW_Identifier_in_type1450); if (failed) return retval;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:470:15: ( typeArguments )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:15: ( typeArguments )?
                     int alt67=2;
                     int LA67_0 = input.LA(1);
 
@@ -4043,7 +4045,7 @@
                     }
                     switch (alt67) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:470:16: typeArguments
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:16: typeArguments
                             {
                             pushFollow(FOLLOW_typeArguments_in_type1453);
                             typeArguments();
@@ -4055,7 +4057,7 @@
 
                     }
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:470:32: ( '.' Identifier ( typeArguments )? )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:32: ( '.' Identifier ( typeArguments )? )*
                     loop69:
                     do {
                         int alt69=2;
@@ -4068,11 +4070,11 @@
 
                         switch (alt69) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:470:33: '.' Identifier ( typeArguments )?
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:33: '.' Identifier ( typeArguments )?
                     	    {
                     	    match(input,28,FOLLOW_28_in_type1458); if (failed) return retval;
                     	    match(input,Identifier,FOLLOW_Identifier_in_type1460); if (failed) return retval;
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:470:48: ( typeArguments )?
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:48: ( typeArguments )?
                     	    int alt68=2;
                     	    int LA68_0 = input.LA(1);
 
@@ -4085,7 +4087,7 @@
                     	    }
                     	    switch (alt68) {
                     	        case 1 :
-                    	            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:470:49: typeArguments
+                    	            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:49: typeArguments
                     	            {
                     	            pushFollow(FOLLOW_typeArguments_in_type1463);
                     	            typeArguments();
@@ -4106,7 +4108,7 @@
                         }
                     } while (true);
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:470:68: ( '[' ']' )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:68: ( '[' ']' )*
                     loop70:
                     do {
                         int alt70=2;
@@ -4119,7 +4121,7 @@
 
                         switch (alt70) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:470:69: '[' ']'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:472:69: '[' ']'
                     	    {
                     	    match(input,41,FOLLOW_41_in_type1471); if (failed) return retval;
                     	    match(input,42,FOLLOW_42_in_type1473); if (failed) return retval;
@@ -4136,13 +4138,13 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:471:4: primitiveType ( '[' ']' )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:473:4: primitiveType ( '[' ']' )*
                     {
                     pushFollow(FOLLOW_primitiveType_in_type1480);
                     primitiveType();
                     _fsp--;
                     if (failed) return retval;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:471:18: ( '[' ']' )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:473:18: ( '[' ']' )*
                     loop71:
                     do {
                         int alt71=2;
@@ -4155,7 +4157,7 @@
 
                         switch (alt71) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:471:19: '[' ']'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:473:19: '[' ']'
                     	    {
                     	    match(input,41,FOLLOW_41_in_type1483); if (failed) return retval;
                     	    match(input,42,FOLLOW_42_in_type1485); if (failed) return retval;
@@ -4189,12 +4191,12 @@
 
 
     // $ANTLR start primitiveType
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:474:1: primitiveType : ( 'boolean' | 'char' | 'byte' | 'short' | 'int' | 'long' | 'float' | 'double' );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:476:1: primitiveType : ( 'boolean' | 'char' | 'byte' | 'short' | 'int' | 'long' | 'float' | 'double' );
     public final void primitiveType() throws RecognitionException {
         int primitiveType_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 51) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:475:5: ( 'boolean' | 'char' | 'byte' | 'short' | 'int' | 'long' | 'float' | 'double' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:477:5: ( 'boolean' | 'char' | 'byte' | 'short' | 'int' | 'long' | 'float' | 'double' )
             // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:
             {
             if ( (input.LA(1)>=55 && input.LA(1)<=62) ) {
@@ -4227,14 +4229,14 @@
     };
 
     // $ANTLR start variableModifier
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:485:1: variableModifier : ( 'final' | annotation );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:487:1: variableModifier : ( 'final' | annotation );
     public final variableModifier_return variableModifier() throws RecognitionException {
         variableModifier_return retval = new variableModifier_return();
         retval.start = input.LT(1);
         int variableModifier_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 52) ) { return retval; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:486:2: ( 'final' | annotation )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:488:2: ( 'final' | annotation )
             int alt73=2;
             int LA73_0 = input.LA(1);
 
@@ -4247,20 +4249,20 @@
             else {
                 if (backtracking>0) {failed=true; return retval;}
                 NoViableAltException nvae =
-                    new NoViableAltException("485:1: variableModifier : ( 'final' | annotation );", 73, 0, input);
+                    new NoViableAltException("487:1: variableModifier : ( 'final' | annotation );", 73, 0, input);
 
                 throw nvae;
             }
             switch (alt73) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:486:4: 'final'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:488:4: 'final'
                     {
                     match(input,49,FOLLOW_49_in_variableModifier1573); if (failed) return retval;
 
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:487:9: annotation
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:489:9: annotation
                     {
                     pushFollow(FOLLOW_annotation_in_variableModifier1583);
                     annotation();
@@ -4287,20 +4289,20 @@
 
 
     // $ANTLR start typeArguments
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:490:1: typeArguments : '<' typeArgument ( ',' typeArgument )* '>' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:492:1: typeArguments : '<' typeArgument ( ',' typeArgument )* '>' ;
     public final void typeArguments() throws RecognitionException {
         int typeArguments_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 53) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:491:2: ( '<' typeArgument ( ',' typeArgument )* '>' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:491:4: '<' typeArgument ( ',' typeArgument )* '>'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:493:2: ( '<' typeArgument ( ',' typeArgument )* '>' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:493:4: '<' typeArgument ( ',' typeArgument )* '>'
             {
             match(input,33,FOLLOW_33_in_typeArguments1594); if (failed) return ;
             pushFollow(FOLLOW_typeArgument_in_typeArguments1596);
             typeArgument();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:491:21: ( ',' typeArgument )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:493:21: ( ',' typeArgument )*
             loop74:
             do {
                 int alt74=2;
@@ -4313,7 +4315,7 @@
 
                 switch (alt74) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:491:22: ',' typeArgument
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:493:22: ',' typeArgument
             	    {
             	    match(input,34,FOLLOW_34_in_typeArguments1599); if (failed) return ;
             	    pushFollow(FOLLOW_typeArgument_in_typeArguments1601);
@@ -4347,12 +4349,12 @@
 
 
     // $ANTLR start typeArgument
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:494:1: typeArgument : ( type | '?' ( ( 'extends' | 'super' ) type )? );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:496:1: typeArgument : ( type | '?' ( ( 'extends' | 'super' ) type )? );
     public final void typeArgument() throws RecognitionException {
         int typeArgument_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 54) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:495:2: ( type | '?' ( ( 'extends' | 'super' ) type )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:497:2: ( type | '?' ( ( 'extends' | 'super' ) type )? )
             int alt76=2;
             int LA76_0 = input.LA(1);
 
@@ -4365,13 +4367,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("494:1: typeArgument : ( type | '?' ( ( 'extends' | 'super' ) type )? );", 76, 0, input);
+                    new NoViableAltException("496:1: typeArgument : ( type | '?' ( ( 'extends' | 'super' ) type )? );", 76, 0, input);
 
                 throw nvae;
             }
             switch (alt76) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:495:4: type
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:497:4: type
                     {
                     pushFollow(FOLLOW_type_in_typeArgument1617);
                     type();
@@ -4381,10 +4383,10 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:496:4: '?' ( ( 'extends' | 'super' ) type )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:498:4: '?' ( ( 'extends' | 'super' ) type )?
                     {
                     match(input,63,FOLLOW_63_in_typeArgument1622); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:496:8: ( ( 'extends' | 'super' ) type )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:498:8: ( ( 'extends' | 'super' ) type )?
                     int alt75=2;
                     int LA75_0 = input.LA(1);
 
@@ -4393,7 +4395,7 @@
                     }
                     switch (alt75) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:496:9: ( 'extends' | 'super' ) type
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:498:9: ( 'extends' | 'super' ) type
                             {
                             if ( input.LA(1)==31||input.LA(1)==64 ) {
                                 input.consume();
@@ -4435,19 +4437,19 @@
 
 
     // $ANTLR start qualifiedNameList
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:499:1: qualifiedNameList : qualifiedName ( ',' qualifiedName )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:501:1: qualifiedNameList : qualifiedName ( ',' qualifiedName )* ;
     public final void qualifiedNameList() throws RecognitionException {
         int qualifiedNameList_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 55) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:500:2: ( qualifiedName ( ',' qualifiedName )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:500:4: qualifiedName ( ',' qualifiedName )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:502:2: ( qualifiedName ( ',' qualifiedName )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:502:4: qualifiedName ( ',' qualifiedName )*
             {
             pushFollow(FOLLOW_qualifiedName_in_qualifiedNameList1647);
             qualifiedName();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:500:18: ( ',' qualifiedName )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:502:18: ( ',' qualifiedName )*
             loop77:
             do {
                 int alt77=2;
@@ -4460,7 +4462,7 @@
 
                 switch (alt77) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:500:19: ',' qualifiedName
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:502:19: ',' qualifiedName
             	    {
             	    match(input,34,FOLLOW_34_in_qualifiedNameList1650); if (failed) return ;
             	    pushFollow(FOLLOW_qualifiedName_in_qualifiedNameList1652);
@@ -4493,16 +4495,16 @@
 
 
     // $ANTLR start formalParameters
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:503:1: formalParameters : '(' ( formalParameterDecls )? ')' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:505:1: formalParameters : '(' ( formalParameterDecls )? ')' ;
     public final void formalParameters() throws RecognitionException {
         int formalParameters_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 56) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:504:2: ( '(' ( formalParameterDecls )? ')' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:504:4: '(' ( formalParameterDecls )? ')'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:506:2: ( '(' ( formalParameterDecls )? ')' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:506:4: '(' ( formalParameterDecls )? ')'
             {
             match(input,65,FOLLOW_65_in_formalParameters1666); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:504:8: ( formalParameterDecls )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:506:8: ( formalParameterDecls )?
             int alt78=2;
             int LA78_0 = input.LA(1);
 
@@ -4541,15 +4543,15 @@
 
 
     // $ANTLR start formalParameterDecls
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:507:1: formalParameterDecls : ( variableModifier )* type ( formalParameterDeclsRest )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:509:1: formalParameterDecls : ( variableModifier )* type ( formalParameterDeclsRest )? ;
     public final void formalParameterDecls() throws RecognitionException {
         int formalParameterDecls_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 57) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:508:2: ( ( variableModifier )* type ( formalParameterDeclsRest )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:508:4: ( variableModifier )* type ( formalParameterDeclsRest )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:510:2: ( ( variableModifier )* type ( formalParameterDeclsRest )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:510:4: ( variableModifier )* type ( formalParameterDeclsRest )?
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:508:4: ( variableModifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:510:4: ( variableModifier )*
             loop79:
             do {
                 int alt79=2;
@@ -4581,7 +4583,7 @@
             type();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:508:27: ( formalParameterDeclsRest )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:510:27: ( formalParameterDeclsRest )?
             int alt80=2;
             int LA80_0 = input.LA(1);
 
@@ -4619,12 +4621,12 @@
 
 
     // $ANTLR start formalParameterDeclsRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:511:1: formalParameterDeclsRest : ( variableDeclaratorId ( ',' formalParameterDecls )? | '...' variableDeclaratorId );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:513:1: formalParameterDeclsRest : ( variableDeclaratorId ( ',' formalParameterDecls )? | '...' variableDeclaratorId );
     public final void formalParameterDeclsRest() throws RecognitionException {
         int formalParameterDeclsRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 58) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:512:2: ( variableDeclaratorId ( ',' formalParameterDecls )? | '...' variableDeclaratorId )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:514:2: ( variableDeclaratorId ( ',' formalParameterDecls )? | '...' variableDeclaratorId )
             int alt82=2;
             int LA82_0 = input.LA(1);
 
@@ -4637,19 +4639,19 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("511:1: formalParameterDeclsRest : ( variableDeclaratorId ( ',' formalParameterDecls )? | '...' variableDeclaratorId );", 82, 0, input);
+                    new NoViableAltException("513:1: formalParameterDeclsRest : ( variableDeclaratorId ( ',' formalParameterDecls )? | '...' variableDeclaratorId );", 82, 0, input);
 
                 throw nvae;
             }
             switch (alt82) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:512:4: variableDeclaratorId ( ',' formalParameterDecls )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:514:4: variableDeclaratorId ( ',' formalParameterDecls )?
                     {
                     pushFollow(FOLLOW_variableDeclaratorId_in_formalParameterDeclsRest1701);
                     variableDeclaratorId();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:512:25: ( ',' formalParameterDecls )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:514:25: ( ',' formalParameterDecls )?
                     int alt81=2;
                     int LA81_0 = input.LA(1);
 
@@ -4658,7 +4660,7 @@
                     }
                     switch (alt81) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:512:26: ',' formalParameterDecls
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:514:26: ',' formalParameterDecls
                             {
                             match(input,34,FOLLOW_34_in_formalParameterDeclsRest1704); if (failed) return ;
                             pushFollow(FOLLOW_formalParameterDecls_in_formalParameterDeclsRest1706);
@@ -4675,7 +4677,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:513:6: '...' variableDeclaratorId
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:515:6: '...' variableDeclaratorId
                     {
                     match(input,67,FOLLOW_67_in_formalParameterDeclsRest1715); if (failed) return ;
                     pushFollow(FOLLOW_variableDeclaratorId_in_formalParameterDeclsRest1717);
@@ -4701,13 +4703,13 @@
 
 
     // $ANTLR start methodBody
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:516:1: methodBody : block ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:518:1: methodBody : block ;
     public final void methodBody() throws RecognitionException {
         int methodBody_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 59) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:517:2: ( block )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:517:4: block
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:519:2: ( block )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:519:4: block
             {
             pushFollow(FOLLOW_block_in_methodBody1729);
             block();
@@ -4730,16 +4732,16 @@
 
 
     // $ANTLR start qualifiedName
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:520:1: qualifiedName : Identifier ( '.' Identifier )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:522:1: qualifiedName : Identifier ( '.' Identifier )* ;
     public final void qualifiedName() throws RecognitionException {
         int qualifiedName_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 60) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:521:2: ( Identifier ( '.' Identifier )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:521:4: Identifier ( '.' Identifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:523:2: ( Identifier ( '.' Identifier )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:523:4: Identifier ( '.' Identifier )*
             {
             match(input,Identifier,FOLLOW_Identifier_in_qualifiedName1740); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:521:15: ( '.' Identifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:523:15: ( '.' Identifier )*
             loop83:
             do {
                 int alt83=2;
@@ -4752,7 +4754,7 @@
 
                 switch (alt83) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:521:16: '.' Identifier
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:523:16: '.' Identifier
             	    {
             	    match(input,28,FOLLOW_28_in_qualifiedName1743); if (failed) return ;
             	    match(input,Identifier,FOLLOW_Identifier_in_qualifiedName1745); if (failed) return ;
@@ -4782,12 +4784,12 @@
 
 
     // $ANTLR start literal
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:524:1: literal : ( integerLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | booleanLiteral | 'null' );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:526:1: literal : ( integerLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | booleanLiteral | 'null' );
     public final void literal() throws RecognitionException {
         int literal_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 61) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:525:2: ( integerLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | booleanLiteral | 'null' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:527:2: ( integerLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | booleanLiteral | 'null' )
             int alt84=6;
             switch ( input.LA(1) ) {
             case HexLiteral:
@@ -4826,14 +4828,14 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("524:1: literal : ( integerLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | booleanLiteral | 'null' );", 84, 0, input);
+                    new NoViableAltException("526:1: literal : ( integerLiteral | FloatingPointLiteral | CharacterLiteral | StringLiteral | booleanLiteral | 'null' );", 84, 0, input);
 
                 throw nvae;
             }
 
             switch (alt84) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:525:6: integerLiteral
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:527:6: integerLiteral
                     {
                     pushFollow(FOLLOW_integerLiteral_in_literal1762);
                     integerLiteral();
@@ -4843,28 +4845,28 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:526:9: FloatingPointLiteral
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:528:9: FloatingPointLiteral
                     {
                     match(input,FloatingPointLiteral,FOLLOW_FloatingPointLiteral_in_literal1772); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:527:9: CharacterLiteral
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:529:9: CharacterLiteral
                     {
                     match(input,CharacterLiteral,FOLLOW_CharacterLiteral_in_literal1782); if (failed) return ;
 
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:528:9: StringLiteral
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:530:9: StringLiteral
                     {
                     match(input,StringLiteral,FOLLOW_StringLiteral_in_literal1792); if (failed) return ;
 
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:529:9: booleanLiteral
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:531:9: booleanLiteral
                     {
                     pushFollow(FOLLOW_booleanLiteral_in_literal1802);
                     booleanLiteral();
@@ -4874,7 +4876,7 @@
                     }
                     break;
                 case 6 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:530:9: 'null'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:532:9: 'null'
                     {
                     match(input,68,FOLLOW_68_in_literal1812); if (failed) return ;
 
@@ -4896,12 +4898,12 @@
 
 
     // $ANTLR start integerLiteral
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:533:1: integerLiteral : ( HexLiteral | OctalLiteral | DecimalLiteral );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:535:1: integerLiteral : ( HexLiteral | OctalLiteral | DecimalLiteral );
     public final void integerLiteral() throws RecognitionException {
         int integerLiteral_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 62) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:534:5: ( HexLiteral | OctalLiteral | DecimalLiteral )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:536:5: ( HexLiteral | OctalLiteral | DecimalLiteral )
             // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:
             {
             if ( (input.LA(1)>=HexLiteral && input.LA(1)<=DecimalLiteral) ) {
@@ -4932,12 +4934,12 @@
 
 
     // $ANTLR start booleanLiteral
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:539:1: booleanLiteral : ( 'true' | 'false' );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:541:1: booleanLiteral : ( 'true' | 'false' );
     public final void booleanLiteral() throws RecognitionException {
         int booleanLiteral_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 63) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:540:5: ( 'true' | 'false' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:542:5: ( 'true' | 'false' )
             // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:
             {
             if ( (input.LA(1)>=69 && input.LA(1)<=70) ) {
@@ -4968,15 +4970,15 @@
 
 
     // $ANTLR start annotations
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:546:1: annotations : ( annotation )+ ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:548:1: annotations : ( annotation )+ ;
     public final void annotations() throws RecognitionException {
         int annotations_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 64) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:547:2: ( ( annotation )+ )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:547:4: ( annotation )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:549:2: ( ( annotation )+ )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:549:4: ( annotation )+
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:547:4: ( annotation )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:549:4: ( annotation )+
             int cnt85=0;
             loop85:
             do {
@@ -5039,20 +5041,20 @@
 
 
     // $ANTLR start annotation
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:550:1: annotation : '@' annotationName ( '(' ( elementValuePairs )? ')' )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:552:1: annotation : '@' annotationName ( '(' ( elementValuePairs )? ')' )? ;
     public final void annotation() throws RecognitionException {
         int annotation_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 65) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:551:2: ( '@' annotationName ( '(' ( elementValuePairs )? ')' )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:551:4: '@' annotationName ( '(' ( elementValuePairs )? ')' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:553:2: ( '@' annotationName ( '(' ( elementValuePairs )? ')' )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:553:4: '@' annotationName ( '(' ( elementValuePairs )? ')' )?
             {
             match(input,71,FOLLOW_71_in_annotation1905); if (failed) return ;
             pushFollow(FOLLOW_annotationName_in_annotation1907);
             annotationName();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:551:23: ( '(' ( elementValuePairs )? ')' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:553:23: ( '(' ( elementValuePairs )? ')' )?
             int alt87=2;
             int LA87_0 = input.LA(1);
 
@@ -5061,14 +5063,14 @@
             }
             switch (alt87) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:551:24: '(' ( elementValuePairs )? ')'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:553:24: '(' ( elementValuePairs )? ')'
                     {
                     match(input,65,FOLLOW_65_in_annotation1910); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:551:28: ( elementValuePairs )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:553:28: ( elementValuePairs )?
                     int alt86=2;
                     int LA86_0 = input.LA(1);
 
-                    if ( (LA86_0==Identifier||(LA86_0>=FloatingPointLiteral && LA86_0<=DecimalLiteral)||LA86_0==33||LA86_0==37||LA86_0==40||(LA86_0>=55 && LA86_0<=62)||(LA86_0>=64 && LA86_0<=65)||(LA86_0>=68 && LA86_0<=71)||(LA86_0>=104 && LA86_0<=105)||(LA86_0>=108 && LA86_0<=113)) ) {
+                    if ( (LA86_0==Identifier||(LA86_0>=FloatingPointLiteral && LA86_0<=DecimalLiteral)||LA86_0==33||LA86_0==37||LA86_0==40||(LA86_0>=55 && LA86_0<=62)||(LA86_0>=64 && LA86_0<=65)||(LA86_0>=68 && LA86_0<=71)||(LA86_0>=105 && LA86_0<=106)||(LA86_0>=109 && LA86_0<=114)) ) {
                         alt86=1;
                     }
                     switch (alt86) {
@@ -5109,16 +5111,16 @@
 
 
     // $ANTLR start annotationName
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:554:1: annotationName : Identifier ( '.' Identifier )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:556:1: annotationName : Identifier ( '.' Identifier )* ;
     public final void annotationName() throws RecognitionException {
         int annotationName_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 66) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:555:2: ( Identifier ( '.' Identifier )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:555:4: Identifier ( '.' Identifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:557:2: ( Identifier ( '.' Identifier )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:557:4: Identifier ( '.' Identifier )*
             {
             match(input,Identifier,FOLLOW_Identifier_in_annotationName1929); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:555:15: ( '.' Identifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:557:15: ( '.' Identifier )*
             loop88:
             do {
                 int alt88=2;
@@ -5131,7 +5133,7 @@
 
                 switch (alt88) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:555:16: '.' Identifier
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:557:16: '.' Identifier
             	    {
             	    match(input,28,FOLLOW_28_in_annotationName1932); if (failed) return ;
             	    match(input,Identifier,FOLLOW_Identifier_in_annotationName1934); if (failed) return ;
@@ -5161,19 +5163,19 @@
 
 
     // $ANTLR start elementValuePairs
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:558:1: elementValuePairs : elementValuePair ( ',' elementValuePair )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:560:1: elementValuePairs : elementValuePair ( ',' elementValuePair )* ;
     public final void elementValuePairs() throws RecognitionException {
         int elementValuePairs_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 67) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:559:2: ( elementValuePair ( ',' elementValuePair )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:559:4: elementValuePair ( ',' elementValuePair )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:561:2: ( elementValuePair ( ',' elementValuePair )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:561:4: elementValuePair ( ',' elementValuePair )*
             {
             pushFollow(FOLLOW_elementValuePair_in_elementValuePairs1948);
             elementValuePair();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:559:21: ( ',' elementValuePair )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:561:21: ( ',' elementValuePair )*
             loop89:
             do {
                 int alt89=2;
@@ -5186,7 +5188,7 @@
 
                 switch (alt89) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:559:22: ',' elementValuePair
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:561:22: ',' elementValuePair
             	    {
             	    match(input,34,FOLLOW_34_in_elementValuePairs1951); if (failed) return ;
             	    pushFollow(FOLLOW_elementValuePair_in_elementValuePairs1953);
@@ -5219,15 +5221,15 @@
 
 
     // $ANTLR start elementValuePair
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:562:1: elementValuePair : ( Identifier '=' )? elementValue ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:564:1: elementValuePair : ( Identifier '=' )? elementValue ;
     public final void elementValuePair() throws RecognitionException {
         int elementValuePair_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 68) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:563:2: ( ( Identifier '=' )? elementValue )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:563:4: ( Identifier '=' )? elementValue
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:565:2: ( ( Identifier '=' )? elementValue )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:565:4: ( Identifier '=' )? elementValue
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:563:4: ( Identifier '=' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:565:4: ( Identifier '=' )?
             int alt90=2;
             int LA90_0 = input.LA(1);
 
@@ -5240,7 +5242,7 @@
             }
             switch (alt90) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:563:5: Identifier '='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:565:5: Identifier '='
                     {
                     match(input,Identifier,FOLLOW_Identifier_in_elementValuePair1968); if (failed) return ;
                     match(input,44,FOLLOW_44_in_elementValuePair1970); if (failed) return ;
@@ -5271,12 +5273,12 @@
 
 
     // $ANTLR start elementValue
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:566:1: elementValue : ( conditionalExpression | annotation | elementValueArrayInitializer );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:568:1: elementValue : ( conditionalExpression | annotation | elementValueArrayInitializer );
     public final void elementValue() throws RecognitionException {
         int elementValue_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 69) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:567:2: ( conditionalExpression | annotation | elementValueArrayInitializer )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:569:2: ( conditionalExpression | annotation | elementValueArrayInitializer )
             int alt91=3;
             switch ( input.LA(1) ) {
             case Identifier:
@@ -5301,14 +5303,14 @@
             case 68:
             case 69:
             case 70:
-            case 104:
             case 105:
-            case 108:
+            case 106:
             case 109:
             case 110:
             case 111:
             case 112:
             case 113:
+            case 114:
                 {
                 alt91=1;
                 }
@@ -5326,14 +5328,14 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("566:1: elementValue : ( conditionalExpression | annotation | elementValueArrayInitializer );", 91, 0, input);
+                    new NoViableAltException("568:1: elementValue : ( conditionalExpression | annotation | elementValueArrayInitializer );", 91, 0, input);
 
                 throw nvae;
             }
 
             switch (alt91) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:567:4: conditionalExpression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:569:4: conditionalExpression
                     {
                     pushFollow(FOLLOW_conditionalExpression_in_elementValue1986);
                     conditionalExpression();
@@ -5343,7 +5345,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:568:6: annotation
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:570:6: annotation
                     {
                     pushFollow(FOLLOW_annotation_in_elementValue1993);
                     annotation();
@@ -5353,7 +5355,7 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:569:6: elementValueArrayInitializer
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:571:6: elementValueArrayInitializer
                     {
                     pushFollow(FOLLOW_elementValueArrayInitializer_in_elementValue2000);
                     elementValueArrayInitializer();
@@ -5378,31 +5380,31 @@
 
 
     // $ANTLR start elementValueArrayInitializer
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:572:1: elementValueArrayInitializer : '{' ( elementValue ( ',' elementValue )* )? '}' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:574:1: elementValueArrayInitializer : '{' ( elementValue ( ',' elementValue )* )? '}' ;
     public final void elementValueArrayInitializer() throws RecognitionException {
         int elementValueArrayInitializer_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 70) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:573:2: ( '{' ( elementValue ( ',' elementValue )* )? '}' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:573:4: '{' ( elementValue ( ',' elementValue )* )? '}'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:575:2: ( '{' ( elementValue ( ',' elementValue )* )? '}' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:575:4: '{' ( elementValue ( ',' elementValue )* )? '}'
             {
             match(input,37,FOLLOW_37_in_elementValueArrayInitializer2012); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:573:8: ( elementValue ( ',' elementValue )* )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:575:8: ( elementValue ( ',' elementValue )* )?
             int alt93=2;
             int LA93_0 = input.LA(1);
 
-            if ( (LA93_0==Identifier||(LA93_0>=FloatingPointLiteral && LA93_0<=DecimalLiteral)||LA93_0==33||LA93_0==37||LA93_0==40||(LA93_0>=55 && LA93_0<=62)||(LA93_0>=64 && LA93_0<=65)||(LA93_0>=68 && LA93_0<=71)||(LA93_0>=104 && LA93_0<=105)||(LA93_0>=108 && LA93_0<=113)) ) {
+            if ( (LA93_0==Identifier||(LA93_0>=FloatingPointLiteral && LA93_0<=DecimalLiteral)||LA93_0==33||LA93_0==37||LA93_0==40||(LA93_0>=55 && LA93_0<=62)||(LA93_0>=64 && LA93_0<=65)||(LA93_0>=68 && LA93_0<=71)||(LA93_0>=105 && LA93_0<=106)||(LA93_0>=109 && LA93_0<=114)) ) {
                 alt93=1;
             }
             switch (alt93) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:573:9: elementValue ( ',' elementValue )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:575:9: elementValue ( ',' elementValue )*
                     {
                     pushFollow(FOLLOW_elementValue_in_elementValueArrayInitializer2015);
                     elementValue();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:573:22: ( ',' elementValue )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:575:22: ( ',' elementValue )*
                     loop92:
                     do {
                         int alt92=2;
@@ -5415,7 +5417,7 @@
 
                         switch (alt92) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:573:23: ',' elementValue
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:575:23: ',' elementValue
                     	    {
                     	    match(input,34,FOLLOW_34_in_elementValueArrayInitializer2018); if (failed) return ;
                     	    pushFollow(FOLLOW_elementValue_in_elementValueArrayInitializer2020);
@@ -5455,13 +5457,13 @@
 
 
     // $ANTLR start annotationTypeDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:576:1: annotationTypeDeclaration : '@' 'interface' Identifier annotationTypeBody ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:578:1: annotationTypeDeclaration : '@' 'interface' Identifier annotationTypeBody ;
     public final void annotationTypeDeclaration() throws RecognitionException {
         int annotationTypeDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 71) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:577:2: ( '@' 'interface' Identifier annotationTypeBody )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:577:4: '@' 'interface' Identifier annotationTypeBody
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:579:2: ( '@' 'interface' Identifier annotationTypeBody )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:579:4: '@' 'interface' Identifier annotationTypeBody
             {
             match(input,71,FOLLOW_71_in_annotationTypeDeclaration2039); if (failed) return ;
             match(input,39,FOLLOW_39_in_annotationTypeDeclaration2041); if (failed) return ;
@@ -5487,16 +5489,16 @@
 
 
     // $ANTLR start annotationTypeBody
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:580:1: annotationTypeBody : '{' ( annotationTypeElementDeclarations )? '}' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:582:1: annotationTypeBody : '{' ( annotationTypeElementDeclarations )? '}' ;
     public final void annotationTypeBody() throws RecognitionException {
         int annotationTypeBody_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 72) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:581:2: ( '{' ( annotationTypeElementDeclarations )? '}' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:581:4: '{' ( annotationTypeElementDeclarations )? '}'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:583:2: ( '{' ( annotationTypeElementDeclarations )? '}' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:583:4: '{' ( annotationTypeElementDeclarations )? '}'
             {
             match(input,37,FOLLOW_37_in_annotationTypeBody2057); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:581:8: ( annotationTypeElementDeclarations )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:583:8: ( annotationTypeElementDeclarations )?
             int alt94=2;
             int LA94_0 = input.LA(1);
 
@@ -5505,7 +5507,7 @@
             }
             switch (alt94) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:581:9: annotationTypeElementDeclarations
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:583:9: annotationTypeElementDeclarations
                     {
                     pushFollow(FOLLOW_annotationTypeElementDeclarations_in_annotationTypeBody2060);
                     annotationTypeElementDeclarations();
@@ -5535,16 +5537,16 @@
 
 
     // $ANTLR start annotationTypeElementDeclarations
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:584:1: annotationTypeElementDeclarations : ( annotationTypeElementDeclaration ) ( annotationTypeElementDeclaration )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:586:1: annotationTypeElementDeclarations : ( annotationTypeElementDeclaration ) ( annotationTypeElementDeclaration )* ;
     public final void annotationTypeElementDeclarations() throws RecognitionException {
         int annotationTypeElementDeclarations_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 73) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:585:2: ( ( annotationTypeElementDeclaration ) ( annotationTypeElementDeclaration )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:585:4: ( annotationTypeElementDeclaration ) ( annotationTypeElementDeclaration )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:587:2: ( ( annotationTypeElementDeclaration ) ( annotationTypeElementDeclaration )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:587:4: ( annotationTypeElementDeclaration ) ( annotationTypeElementDeclaration )*
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:585:4: ( annotationTypeElementDeclaration )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:585:5: annotationTypeElementDeclaration
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:587:4: ( annotationTypeElementDeclaration )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:587:5: annotationTypeElementDeclaration
             {
             pushFollow(FOLLOW_annotationTypeElementDeclaration_in_annotationTypeElementDeclarations2077);
             annotationTypeElementDeclaration();
@@ -5553,7 +5555,7 @@
 
             }
 
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:585:39: ( annotationTypeElementDeclaration )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:587:39: ( annotationTypeElementDeclaration )*
             loop95:
             do {
                 int alt95=2;
@@ -5566,7 +5568,7 @@
 
                 switch (alt95) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:585:40: annotationTypeElementDeclaration
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:587:40: annotationTypeElementDeclaration
             	    {
             	    pushFollow(FOLLOW_annotationTypeElementDeclaration_in_annotationTypeElementDeclarations2081);
             	    annotationTypeElementDeclaration();
@@ -5598,15 +5600,15 @@
 
 
     // $ANTLR start annotationTypeElementDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:588:1: annotationTypeElementDeclaration : ( modifier )* annotationTypeElementRest ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:590:1: annotationTypeElementDeclaration : ( modifier )* annotationTypeElementRest ;
     public final void annotationTypeElementDeclaration() throws RecognitionException {
         int annotationTypeElementDeclaration_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 74) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:589:2: ( ( modifier )* annotationTypeElementRest )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:589:4: ( modifier )* annotationTypeElementRest
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:591:2: ( ( modifier )* annotationTypeElementRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:591:4: ( modifier )* annotationTypeElementRest
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:589:4: ( modifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:591:4: ( modifier )*
             loop96:
             do {
                 int alt96=2;
@@ -5628,7 +5630,7 @@
 
                 switch (alt96) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:589:5: modifier
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:591:5: modifier
             	    {
             	    pushFollow(FOLLOW_modifier_in_annotationTypeElementDeclaration2096);
             	    modifier();
@@ -5664,12 +5666,12 @@
 
 
     // $ANTLR start annotationTypeElementRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:592:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );
     public final void annotationTypeElementRest() throws RecognitionException {
         int annotationTypeElementRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 75) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:593:2: ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:595:2: ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? )
             int alt101=5;
             switch ( input.LA(1) ) {
             case Identifier:
@@ -5706,7 +5708,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("592:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );", 101, 7, input);
+                            new NoViableAltException("594:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );", 101, 7, input);
 
                         throw nvae;
                     }
@@ -5714,7 +5716,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("592:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );", 101, 4, input);
+                        new NoViableAltException("594:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );", 101, 4, input);
 
                     throw nvae;
                 }
@@ -5741,7 +5743,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("592:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );", 101, 8, input);
+                            new NoViableAltException("594:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );", 101, 8, input);
 
                         throw nvae;
                     }
@@ -5749,7 +5751,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("592:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );", 101, 6, input);
+                        new NoViableAltException("594:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );", 101, 6, input);
 
                     throw nvae;
                 }
@@ -5758,14 +5760,14 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("592:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );", 101, 0, input);
+                    new NoViableAltException("594:1: annotationTypeElementRest : ( type annotationMethodOrConstantRest ';' | classDeclaration ( ';' )? | interfaceDeclaration ( ';' )? | enumDeclaration ( ';' )? | annotationTypeDeclaration ( ';' )? );", 101, 0, input);
 
                 throw nvae;
             }
 
             switch (alt101) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:593:4: type annotationMethodOrConstantRest ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:595:4: type annotationMethodOrConstantRest ';'
                     {
                     pushFollow(FOLLOW_type_in_annotationTypeElementRest2112);
                     type();
@@ -5780,13 +5782,13 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:6: classDeclaration ( ';' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:596:6: classDeclaration ( ';' )?
                     {
                     pushFollow(FOLLOW_classDeclaration_in_annotationTypeElementRest2123);
                     classDeclaration();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:23: ( ';' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:596:23: ( ';' )?
                     int alt97=2;
                     int LA97_0 = input.LA(1);
 
@@ -5808,13 +5810,13 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:595:6: interfaceDeclaration ( ';' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:597:6: interfaceDeclaration ( ';' )?
                     {
                     pushFollow(FOLLOW_interfaceDeclaration_in_annotationTypeElementRest2133);
                     interfaceDeclaration();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:595:27: ( ';' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:597:27: ( ';' )?
                     int alt98=2;
                     int LA98_0 = input.LA(1);
 
@@ -5836,13 +5838,13 @@
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:596:6: enumDeclaration ( ';' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:598:6: enumDeclaration ( ';' )?
                     {
                     pushFollow(FOLLOW_enumDeclaration_in_annotationTypeElementRest2143);
                     enumDeclaration();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:596:22: ( ';' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:598:22: ( ';' )?
                     int alt99=2;
                     int LA99_0 = input.LA(1);
 
@@ -5864,13 +5866,13 @@
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:597:6: annotationTypeDeclaration ( ';' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:599:6: annotationTypeDeclaration ( ';' )?
                     {
                     pushFollow(FOLLOW_annotationTypeDeclaration_in_annotationTypeElementRest2153);
                     annotationTypeDeclaration();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:597:32: ( ';' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:599:32: ( ';' )?
                     int alt100=2;
                     int LA100_0 = input.LA(1);
 
@@ -5907,12 +5909,12 @@
 
 
     // $ANTLR start annotationMethodOrConstantRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:600:1: annotationMethodOrConstantRest : ( annotationMethodRest | annotationConstantRest );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:602:1: annotationMethodOrConstantRest : ( annotationMethodRest | annotationConstantRest );
     public final void annotationMethodOrConstantRest() throws RecognitionException {
         int annotationMethodOrConstantRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 76) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:601:2: ( annotationMethodRest | annotationConstantRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:603:2: ( annotationMethodRest | annotationConstantRest )
             int alt102=2;
             int LA102_0 = input.LA(1);
 
@@ -5928,7 +5930,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("600:1: annotationMethodOrConstantRest : ( annotationMethodRest | annotationConstantRest );", 102, 1, input);
+                        new NoViableAltException("602:1: annotationMethodOrConstantRest : ( annotationMethodRest | annotationConstantRest );", 102, 1, input);
 
                     throw nvae;
                 }
@@ -5936,13 +5938,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("600:1: annotationMethodOrConstantRest : ( annotationMethodRest | annotationConstantRest );", 102, 0, input);
+                    new NoViableAltException("602:1: annotationMethodOrConstantRest : ( annotationMethodRest | annotationConstantRest );", 102, 0, input);
 
                 throw nvae;
             }
             switch (alt102) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:601:4: annotationMethodRest
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:603:4: annotationMethodRest
                     {
                     pushFollow(FOLLOW_annotationMethodRest_in_annotationMethodOrConstantRest2168);
                     annotationMethodRest();
@@ -5952,7 +5954,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:602:6: annotationConstantRest
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:604:6: annotationConstantRest
                     {
                     pushFollow(FOLLOW_annotationConstantRest_in_annotationMethodOrConstantRest2175);
                     annotationConstantRest();
@@ -5977,18 +5979,18 @@
 
 
     // $ANTLR start annotationMethodRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:605:1: annotationMethodRest : Identifier '(' ')' ( defaultValue )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:607:1: annotationMethodRest : Identifier '(' ')' ( defaultValue )? ;
     public final void annotationMethodRest() throws RecognitionException {
         int annotationMethodRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 77) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:606:3: ( Identifier '(' ')' ( defaultValue )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:606:5: Identifier '(' ')' ( defaultValue )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:608:3: ( Identifier '(' ')' ( defaultValue )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:608:5: Identifier '(' ')' ( defaultValue )?
             {
             match(input,Identifier,FOLLOW_Identifier_in_annotationMethodRest2188); if (failed) return ;
             match(input,65,FOLLOW_65_in_annotationMethodRest2190); if (failed) return ;
             match(input,66,FOLLOW_66_in_annotationMethodRest2192); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:606:24: ( defaultValue )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:608:24: ( defaultValue )?
             int alt103=2;
             int LA103_0 = input.LA(1);
 
@@ -5997,7 +5999,7 @@
             }
             switch (alt103) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:606:25: defaultValue
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:608:25: defaultValue
                     {
                     pushFollow(FOLLOW_defaultValue_in_annotationMethodRest2195);
                     defaultValue();
@@ -6026,13 +6028,13 @@
 
 
     // $ANTLR start annotationConstantRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:609:1: annotationConstantRest : variableDeclarators ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:611:1: annotationConstantRest : variableDeclarators ;
     public final void annotationConstantRest() throws RecognitionException {
         int annotationConstantRest_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 78) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:610:3: ( variableDeclarators )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:610:5: variableDeclarators
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:612:3: ( variableDeclarators )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:612:5: variableDeclarators
             {
             pushFollow(FOLLOW_variableDeclarators_in_annotationConstantRest2212);
             variableDeclarators();
@@ -6055,13 +6057,13 @@
 
 
     // $ANTLR start defaultValue
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:613:1: defaultValue : 'default' elementValue ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:615:1: defaultValue : 'default' elementValue ;
     public final void defaultValue() throws RecognitionException {
         int defaultValue_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 79) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:614:3: ( 'default' elementValue )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:614:5: 'default' elementValue
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:616:3: ( 'default' elementValue )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:616:5: 'default' elementValue
             {
             match(input,72,FOLLOW_72_in_defaultValue2227); if (failed) return ;
             pushFollow(FOLLOW_elementValue_in_defaultValue2229);
@@ -6085,7 +6087,7 @@
 
 
     // $ANTLR start block
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:619:1: block : '{' ( blockStatement )* '}' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:621:1: block : '{' ( blockStatement )* '}' ;
     public final void block() throws RecognitionException {
         int block_StartIndex = input.index();
 
@@ -6093,17 +6095,17 @@
                 
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 80) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:626:2: ( '{' ( blockStatement )* '}' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:626:4: '{' ( blockStatement )* '}'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:628:2: ( '{' ( blockStatement )* '}' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:628:4: '{' ( blockStatement )* '}'
             {
             match(input,37,FOLLOW_37_in_block2269); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:626:8: ( blockStatement )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:628:8: ( blockStatement )*
             loop104:
             do {
                 int alt104=2;
                 int LA104_0 = input.LA(1);
 
-                if ( ((LA104_0>=Identifier && LA104_0<=DecimalLiteral)||LA104_0==25||LA104_0==27||LA104_0==30||LA104_0==33||LA104_0==37||(LA104_0>=39 && LA104_0<=40)||(LA104_0>=45 && LA104_0<=62)||(LA104_0>=64 && LA104_0<=65)||(LA104_0>=68 && LA104_0<=71)||LA104_0==73||LA104_0==75||(LA104_0>=77 && LA104_0<=80)||(LA104_0>=82 && LA104_0<=86)||(LA104_0>=104 && LA104_0<=105)||(LA104_0>=108 && LA104_0<=113)) ) {
+                if ( ((LA104_0>=Identifier && LA104_0<=DecimalLiteral)||LA104_0==25||LA104_0==27||LA104_0==30||LA104_0==33||LA104_0==37||(LA104_0>=39 && LA104_0<=40)||(LA104_0>=45 && LA104_0<=62)||(LA104_0>=64 && LA104_0<=65)||(LA104_0>=68 && LA104_0<=71)||LA104_0==73||LA104_0==75||(LA104_0>=77 && LA104_0<=80)||(LA104_0>=82 && LA104_0<=87)||(LA104_0>=105 && LA104_0<=106)||(LA104_0>=109 && LA104_0<=114)) ) {
                     alt104=1;
                 }
 
@@ -6148,35 +6150,31 @@
 
 
     // $ANTLR start blockStatement
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );
     public final void blockStatement() throws RecognitionException {
         int blockStatement_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 81) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:630:2: ( localVariableDeclaration | classOrInterfaceDeclaration | statement )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:632:2: ( localVariableDeclaration | classOrInterfaceDeclaration | statement )
             int alt105=3;
             switch ( input.LA(1) ) {
             case 49:
                 {
                 switch ( input.LA(2) ) {
-                case ENUM:
-                case 27:
-                case 30:
-                case 39:
-                case 45:
-                case 46:
-                case 47:
-                case 48:
-                case 50:
-                case 51:
-                case 52:
-                case 53:
-                case 54:
+                case Identifier:
+                case 55:
+                case 56:
+                case 57:
+                case 58:
+                case 59:
+                case 60:
+                case 61:
+                case 62:
                     {
-                    alt105=2;
+                    alt105=1;
                     }
                     break;
-                case 71:
+                case 49:
                     {
                     int LA105_52 = input.LA(3);
 
@@ -6189,15 +6187,15 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 52, input);
+                            new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 52, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 49:
+                case 71:
                     {
-                    int LA105_58 = input.LA(3);
+                    int LA105_53 = input.LA(3);
 
                     if ( (synpred144()) ) {
                         alt105=1;
@@ -6208,29 +6206,33 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 58, input);
+                            new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 53, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case Identifier:
-                case 55:
-                case 56:
-                case 57:
-                case 58:
-                case 59:
-                case 60:
-                case 61:
-                case 62:
+                case ENUM:
+                case 27:
+                case 30:
+                case 39:
+                case 45:
+                case 46:
+                case 47:
+                case 48:
+                case 50:
+                case 51:
+                case 52:
+                case 53:
+                case 54:
                     {
-                    alt105=1;
+                    alt105=2;
                     }
                     break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 1, input);
+                        new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 1, input);
 
                     throw nvae;
                 }
@@ -6245,7 +6247,7 @@
                     alt105=2;
                 }
                 else if ( (LA105_2==Identifier) ) {
-                    int LA105_67 = input.LA(3);
+                    int LA105_68 = input.LA(3);
 
                     if ( (synpred144()) ) {
                         alt105=1;
@@ -6256,7 +6258,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 67, input);
+                            new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 68, input);
 
                         throw nvae;
                     }
@@ -6264,7 +6266,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 2, input);
+                        new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 2, input);
 
                     throw nvae;
                 }
@@ -6281,7 +6283,6 @@
                 case 63:
                 case 65:
                 case 74:
-                case 89:
                 case 90:
                 case 91:
                 case 92:
@@ -6302,13 +6303,14 @@
                 case 107:
                 case 108:
                 case 109:
+                case 110:
                     {
                     alt105=3;
                     }
                     break;
                 case 28:
                     {
-                    int LA105_69 = input.LA(3);
+                    int LA105_70 = input.LA(3);
 
                     if ( (synpred144()) ) {
                         alt105=1;
@@ -6319,7 +6321,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 69, input);
+                            new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 70, input);
 
                         throw nvae;
                     }
@@ -6327,7 +6329,7 @@
                     break;
                 case 41:
                     {
-                    int LA105_70 = input.LA(3);
+                    int LA105_71 = input.LA(3);
 
                     if ( (synpred144()) ) {
                         alt105=1;
@@ -6338,7 +6340,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 70, input);
+                            new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 71, input);
 
                         throw nvae;
                     }
@@ -6346,7 +6348,7 @@
                     break;
                 case 33:
                     {
-                    int LA105_75 = input.LA(3);
+                    int LA105_76 = input.LA(3);
 
                     if ( (synpred144()) ) {
                         alt105=1;
@@ -6357,7 +6359,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 75, input);
+                            new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 76, input);
 
                         throw nvae;
                     }
@@ -6371,7 +6373,7 @@
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 3, input);
+                        new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 3, input);
 
                     throw nvae;
                 }
@@ -6390,7 +6392,7 @@
                 switch ( input.LA(2) ) {
                 case 41:
                     {
-                    int LA105_96 = input.LA(3);
+                    int LA105_97 = input.LA(3);
 
                     if ( (synpred144()) ) {
                         alt105=1;
@@ -6401,26 +6403,26 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 96, input);
+                            new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 97, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 28:
+                case Identifier:
                     {
-                    alt105=3;
+                    alt105=1;
                     }
                     break;
-                case Identifier:
+                case 28:
                     {
-                    alt105=1;
+                    alt105=3;
                     }
                     break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 4, input);
+                        new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 4, input);
 
                     throw nvae;
                 }
@@ -6456,7 +6458,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 11, input);
+                        new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 11, input);
 
                     throw nvae;
                 }
@@ -6488,14 +6490,15 @@
             case 84:
             case 85:
             case 86:
-            case 104:
+            case 87:
             case 105:
-            case 108:
+            case 106:
             case 109:
             case 110:
             case 111:
             case 112:
             case 113:
+            case 114:
                 {
                 alt105=3;
                 }
@@ -6503,14 +6506,14 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("629:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 0, input);
+                    new NoViableAltException("631:1: blockStatement : ( localVariableDeclaration | classOrInterfaceDeclaration | statement );", 105, 0, input);
 
                 throw nvae;
             }
 
             switch (alt105) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:630:4: localVariableDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:632:4: localVariableDeclaration
                     {
                     pushFollow(FOLLOW_localVariableDeclaration_in_blockStatement2286);
                     localVariableDeclaration();
@@ -6520,7 +6523,7 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:631:4: classOrInterfaceDeclaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:633:4: classOrInterfaceDeclaration
                     {
                     pushFollow(FOLLOW_classOrInterfaceDeclaration_in_blockStatement2291);
                     classOrInterfaceDeclaration();
@@ -6530,7 +6533,7 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:632:8: statement
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:634:8: statement
                     {
                     pushFollow(FOLLOW_statement_in_blockStatement2300);
                     statement();
@@ -6560,7 +6563,7 @@
 
 
     // $ANTLR start localVariableDeclaration
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:635:1: localVariableDeclaration : ( variableModifier )* type variableDeclarators ';' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:637:1: localVariableDeclaration : ( variableModifier )* type variableDeclarators ';' ;
     public final void localVariableDeclaration() throws RecognitionException {
         localVariableDeclaration_stack.push(new localVariableDeclaration_scope());
         int localVariableDeclaration_StartIndex = input.index();
@@ -6574,10 +6577,10 @@
                 
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 82) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:645:2: ( ( variableModifier )* type variableDeclarators ';' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:646:2: ( variableModifier )* type variableDeclarators ';'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:647:2: ( ( variableModifier )* type variableDeclarators ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:648:2: ( variableModifier )* type variableDeclarators ';'
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:646:2: ( variableModifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:648:2: ( variableModifier )*
             loop106:
             do {
                 int alt106=2;
@@ -6590,7 +6593,7 @@
 
                 switch (alt106) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:646:4: variableModifier
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:648:4: variableModifier
             	    {
             	    pushFollow(FOLLOW_variableModifier_in_localVariableDeclaration2348);
             	    variableModifier1=variableModifier();
@@ -6650,13 +6653,13 @@
 
 
     // $ANTLR start statement
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:661:1: statement : ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | ';' | statementExpression ';' | Identifier ':' statement );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:663:1: statement : ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | modifyStatement | ';' | statementExpression ';' | Identifier ':' statement );
     public final void statement() throws RecognitionException {
         int statement_StartIndex = input.index();
         try {
             if ( backtracking>0 && alreadyParsedRule(input, 83) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:662:2: ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | ';' | statementExpression ';' | Identifier ':' statement )
-            int alt113=16;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:664:2: ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | modifyStatement | ';' | statementExpression ';' | Identifier ':' statement )
+            int alt113=17;
             switch ( input.LA(1) ) {
             case 37:
                 {
@@ -6723,11 +6726,16 @@
                 alt113=13;
                 }
                 break;
-            case 25:
+            case 87:
                 {
                 alt113=14;
                 }
                 break;
+            case 25:
+                {
+                alt113=15;
+                }
+                break;
             case FloatingPointLiteral:
             case CharacterLiteral:
             case StringLiteral:
@@ -6749,32 +6757,32 @@
             case 68:
             case 69:
             case 70:
-            case 104:
             case 105:
-            case 108:
+            case 106:
             case 109:
             case 110:
             case 111:
             case 112:
             case 113:
+            case 114:
                 {
-                alt113=15;
+                alt113=16;
                 }
                 break;
             case Identifier:
                 {
-                int LA113_32 = input.LA(2);
+                int LA113_33 = input.LA(2);
 
-                if ( (LA113_32==74) ) {
+                if ( (LA113_33==74) ) {
+                    alt113=17;
+                }
+                else if ( (LA113_33==25||(LA113_33>=28 && LA113_33<=29)||LA113_33==33||(LA113_33>=35 && LA113_33<=36)||LA113_33==41||LA113_33==44||LA113_33==63||LA113_33==65||(LA113_33>=90 && LA113_33<=110)) ) {
                     alt113=16;
                 }
-                else if ( (LA113_32==25||(LA113_32>=28 && LA113_32<=29)||LA113_32==33||(LA113_32>=35 && LA113_32<=36)||LA113_32==41||LA113_32==44||LA113_32==63||LA113_32==65||(LA113_32>=89 && LA113_32<=109)) ) {
-                    alt113=15;
-                }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("661:1: statement : ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | ';' | statementExpression ';' | Identifier ':' statement );", 113, 32, input);
+                        new NoViableAltException("663:1: statement : ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | modifyStatement | ';' | statementExpression ';' | Identifier ':' statement );", 113, 33, input);
 
                     throw nvae;
                 }
@@ -6783,14 +6791,14 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("661:1: statement : ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | ';' | statementExpression ';' | Identifier ':' statement );", 113, 0, input);
+                    new NoViableAltException("663:1: statement : ( block | 'assert' expression ( ':' expression )? ';' | 'if' parExpression statement ( options {k=1; } : 'else' statement )? | 'for' '(' forControl ')' statement | 'while' parExpression statement | 'do' statement 'while' parExpression ';' | 'try' block ( catches 'finally' block | catches | 'finally' block ) | 'switch' parExpression '{' switchBlockStatementGroups '}' | 'synchronized' parExpression block | 'return' ( expression )? ';' | 'throw' expression ';' | 'break' ( Identifier )? ';' | 'continue' ( Identifier )? ';' | modifyStatement | ';' | statementExpression ';' | Identifier ':' statement );", 113, 0, input);
 
                 throw nvae;
             }
 
             switch (alt113) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:662:4: block
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:664:4: block
                     {
                     pushFollow(FOLLOW_block_in_statement2390);
                     block();
@@ -6800,14 +6808,14 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:663:7: 'assert' expression ( ':' expression )? ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:665:7: 'assert' expression ( ':' expression )? ';'
                     {
                     match(input,73,FOLLOW_73_in_statement2398); if (failed) return ;
                     pushFollow(FOLLOW_expression_in_statement2400);
                     expression();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:663:27: ( ':' expression )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:665:27: ( ':' expression )?
                     int alt107=2;
                     int LA107_0 = input.LA(1);
 
@@ -6816,7 +6824,7 @@
                     }
                     switch (alt107) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:663:28: ':' expression
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:665:28: ':' expression
                             {
                             match(input,74,FOLLOW_74_in_statement2403); if (failed) return ;
                             pushFollow(FOLLOW_expression_in_statement2405);
@@ -6834,7 +6842,7 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:664:7: 'if' parExpression statement ( options {k=1; } : 'else' statement )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:666:7: 'if' parExpression statement ( options {k=1; } : 'else' statement )?
                     {
                     match(input,75,FOLLOW_75_in_statement2417); if (failed) return ;
                     pushFollow(FOLLOW_parExpression_in_statement2419);
@@ -6845,7 +6853,7 @@
                     statement();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:664:36: ( options {k=1; } : 'else' statement )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:666:36: ( options {k=1; } : 'else' statement )?
                     int alt108=2;
                     int LA108_0 = input.LA(1);
 
@@ -6858,7 +6866,7 @@
                     }
                     switch (alt108) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:664:52: 'else' statement
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:666:52: 'else' statement
                             {
                             match(input,76,FOLLOW_76_in_statement2431); if (failed) return ;
                             pushFollow(FOLLOW_statement_in_statement2433);
@@ -6875,7 +6883,7 @@
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:665:7: 'for' '(' forControl ')' statement
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:667:7: 'for' '(' forControl ')' statement
                     {
                     match(input,77,FOLLOW_77_in_statement2443); if (failed) return ;
                     match(input,65,FOLLOW_65_in_statement2445); if (failed) return ;
@@ -6892,7 +6900,7 @@
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:666:7: 'while' parExpression statement
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:668:7: 'while' parExpression statement
                     {
                     match(input,78,FOLLOW_78_in_statement2459); if (failed) return ;
                     pushFollow(FOLLOW_parExpression_in_statement2461);
@@ -6907,7 +6915,7 @@
                     }
                     break;
                 case 6 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:667:7: 'do' statement 'while' parExpression ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:669:7: 'do' statement 'while' parExpression ';'
                     {
                     match(input,79,FOLLOW_79_in_statement2471); if (failed) return ;
                     pushFollow(FOLLOW_statement_in_statement2473);
@@ -6924,18 +6932,18 @@
                     }
                     break;
                 case 7 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:668:7: 'try' block ( catches 'finally' block | catches | 'finally' block )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:670:7: 'try' block ( catches 'finally' block | catches | 'finally' block )
                     {
                     match(input,80,FOLLOW_80_in_statement2487); if (failed) return ;
                     pushFollow(FOLLOW_block_in_statement2489);
                     block();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:669:7: ( catches 'finally' block | catches | 'finally' block )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:671:7: ( catches 'finally' block | catches | 'finally' block )
                     int alt109=3;
                     int LA109_0 = input.LA(1);
 
-                    if ( (LA109_0==87) ) {
+                    if ( (LA109_0==88) ) {
                         int LA109_1 = input.LA(2);
 
                         if ( (LA109_1==65) ) {
@@ -6950,7 +6958,7 @@
                             else {
                                 if (backtracking>0) {failed=true; return ;}
                                 NoViableAltException nvae =
-                                    new NoViableAltException("669:7: ( catches 'finally' block | catches | 'finally' block )", 109, 3, input);
+                                    new NoViableAltException("671:7: ( catches 'finally' block | catches | 'finally' block )", 109, 3, input);
 
                                 throw nvae;
                             }
@@ -6958,7 +6966,7 @@
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("669:7: ( catches 'finally' block | catches | 'finally' block )", 109, 1, input);
+                                new NoViableAltException("671:7: ( catches 'finally' block | catches | 'finally' block )", 109, 1, input);
 
                             throw nvae;
                         }
@@ -6969,13 +6977,13 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("669:7: ( catches 'finally' block | catches | 'finally' block )", 109, 0, input);
+                            new NoViableAltException("671:7: ( catches 'finally' block | catches | 'finally' block )", 109, 0, input);
 
                         throw nvae;
                     }
                     switch (alt109) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:669:9: catches 'finally' block
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:671:9: catches 'finally' block
                             {
                             pushFollow(FOLLOW_catches_in_statement2499);
                             catches();
@@ -6990,7 +6998,7 @@
                             }
                             break;
                         case 2 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:670:9: catches
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:672:9: catches
                             {
                             pushFollow(FOLLOW_catches_in_statement2513);
                             catches();
@@ -7000,7 +7008,7 @@
                             }
                             break;
                         case 3 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:671:9: 'finally' block
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:673:9: 'finally' block
                             {
                             match(input,81,FOLLOW_81_in_statement2523); if (failed) return ;
                             pushFollow(FOLLOW_block_in_statement2525);
@@ -7017,7 +7025,7 @@
                     }
                     break;
                 case 8 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:673:7: 'switch' parExpression '{' switchBlockStatementGroups '}'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:675:7: 'switch' parExpression '{' switchBlockStatementGroups '}'
                     {
                     match(input,82,FOLLOW_82_in_statement2541); if (failed) return ;
                     pushFollow(FOLLOW_parExpression_in_statement2543);
@@ -7034,7 +7042,7 @@
                     }
                     break;
                 case 9 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:674:7: 'synchronized' parExpression block
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:676:7: 'synchronized' parExpression block
                     {
                     match(input,51,FOLLOW_51_in_statement2557); if (failed) return ;
                     pushFollow(FOLLOW_parExpression_in_statement2559);
@@ -7049,14 +7057,14 @@
                     }
                     break;
                 case 10 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:675:7: 'return' ( expression )? ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:677:7: 'return' ( expression )? ';'
                     {
                     match(input,83,FOLLOW_83_in_statement2569); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:675:16: ( expression )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:677:16: ( expression )?
                     int alt110=2;
                     int LA110_0 = input.LA(1);
 
-                    if ( (LA110_0==Identifier||(LA110_0>=FloatingPointLiteral && LA110_0<=DecimalLiteral)||LA110_0==33||LA110_0==40||(LA110_0>=55 && LA110_0<=62)||(LA110_0>=64 && LA110_0<=65)||(LA110_0>=68 && LA110_0<=70)||(LA110_0>=104 && LA110_0<=105)||(LA110_0>=108 && LA110_0<=113)) ) {
+                    if ( (LA110_0==Identifier||(LA110_0>=FloatingPointLiteral && LA110_0<=DecimalLiteral)||LA110_0==33||LA110_0==40||(LA110_0>=55 && LA110_0<=62)||(LA110_0>=64 && LA110_0<=65)||(LA110_0>=68 && LA110_0<=70)||(LA110_0>=105 && LA110_0<=106)||(LA110_0>=109 && LA110_0<=114)) ) {
                         alt110=1;
                     }
                     switch (alt110) {
@@ -7078,7 +7086,7 @@
                     }
                     break;
                 case 11 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:676:7: 'throw' expression ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:678:7: 'throw' expression ';'
                     {
                     match(input,84,FOLLOW_84_in_statement2582); if (failed) return ;
                     pushFollow(FOLLOW_expression_in_statement2584);
@@ -7090,10 +7098,10 @@
                     }
                     break;
                 case 12 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:677:7: 'break' ( Identifier )? ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:679:7: 'break' ( Identifier )? ';'
                     {
                     match(input,85,FOLLOW_85_in_statement2594); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:677:15: ( Identifier )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:679:15: ( Identifier )?
                     int alt111=2;
                     int LA111_0 = input.LA(1);
 
@@ -7116,10 +7124,10 @@
                     }
                     break;
                 case 13 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:678:7: 'continue' ( Identifier )? ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:680:7: 'continue' ( Identifier )? ';'
                     {
                     match(input,86,FOLLOW_86_in_statement2607); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:678:18: ( Identifier )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:680:18: ( Identifier )?
                     int alt112=2;
                     int LA112_0 = input.LA(1);
 
@@ -7142,29 +7150,39 @@
                     }
                     break;
                 case 14 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:679:7: ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:682:7: modifyStatement
                     {
-                    match(input,25,FOLLOW_25_in_statement2620); if (failed) return ;
+                    pushFollow(FOLLOW_modifyStatement_in_statement2625);
+                    modifyStatement();
+                    _fsp--;
+                    if (failed) return ;
 
                     }
                     break;
                 case 15 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:680:7: statementExpression ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:683:7: ';'
                     {
-                    pushFollow(FOLLOW_statementExpression_in_statement2628);
+                    match(input,25,FOLLOW_25_in_statement2633); if (failed) return ;
+
+                    }
+                    break;
+                case 16 :
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:684:7: statementExpression ';'
+                    {
+                    pushFollow(FOLLOW_statementExpression_in_statement2641);
                     statementExpression();
                     _fsp--;
                     if (failed) return ;
-                    match(input,25,FOLLOW_25_in_statement2630); if (failed) return ;
+                    match(input,25,FOLLOW_25_in_statement2643); if (failed) return ;
 
                     }
                     break;
-                case 16 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:681:7: Identifier ':' statement
+                case 17 :
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:685:7: Identifier ':' statement
                     {
-                    match(input,Identifier,FOLLOW_Identifier_in_statement2638); if (failed) return ;
-                    match(input,74,FOLLOW_74_in_statement2640); if (failed) return ;
-                    pushFollow(FOLLOW_statement_in_statement2642);
+                    match(input,Identifier,FOLLOW_Identifier_in_statement2651); if (failed) return ;
+                    match(input,74,FOLLOW_74_in_statement2653); if (failed) return ;
+                    pushFollow(FOLLOW_statement_in_statement2655);
                     statement();
                     _fsp--;
                     if (failed) return ;
@@ -7186,35 +7204,148 @@
     // $ANTLR end statement
 
 
+    // $ANTLR start modifyStatement
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:688:1: modifyStatement : s= 'modify' parExpression '{' (e= expression ( ',' e= expression )* )? c= '}' ;
+    public final void modifyStatement() throws RecognitionException {
+        int modifyStatement_StartIndex = input.index();
+        Token s=null;
+        Token c=null;
+        expression_return e = null;
+
+        parExpression_return parExpression3 = null;
+
+
+
+        	    JavaModifyBlockDescr d = null;
+        	
+        try {
+            if ( backtracking>0 && alreadyParsedRule(input, 84) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:692:2: (s= 'modify' parExpression '{' (e= expression ( ',' e= expression )* )? c= '}' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:692:4: s= 'modify' parExpression '{' (e= expression ( ',' e= expression )* )? c= '}'
+            {
+            s=(Token)input.LT(1);
+            match(input,87,FOLLOW_87_in_modifyStatement2675); if (failed) return ;
+            pushFollow(FOLLOW_parExpression_in_modifyStatement2677);
+            parExpression3=parExpression();
+            _fsp--;
+            if (failed) return ;
+            if ( backtracking==0 ) {
+
+              	    d = new JavaModifyBlockDescr( input.toString(parExpression3.start,parExpression3.stop) );
+              	    d.setStart( ((CommonToken)s).getStartIndex() );
+              	    this.modifyBlocks.add( d );
+              	    
+              	
+            }
+            match(input,37,FOLLOW_37_in_modifyStatement2684); if (failed) return ;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:699:6: (e= expression ( ',' e= expression )* )?
+            int alt115=2;
+            int LA115_0 = input.LA(1);
+
+            if ( (LA115_0==Identifier||(LA115_0>=FloatingPointLiteral && LA115_0<=DecimalLiteral)||LA115_0==33||LA115_0==40||(LA115_0>=55 && LA115_0<=62)||(LA115_0>=64 && LA115_0<=65)||(LA115_0>=68 && LA115_0<=70)||(LA115_0>=105 && LA115_0<=106)||(LA115_0>=109 && LA115_0<=114)) ) {
+                alt115=1;
+            }
+            switch (alt115) {
+                case 1 :
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:699:8: e= expression ( ',' e= expression )*
+                    {
+                    pushFollow(FOLLOW_expression_in_modifyStatement2692);
+                    e=expression();
+                    _fsp--;
+                    if (failed) return ;
+                    if ( backtracking==0 ) {
+                       d.getExpressions().add( input.toString(e.start,e.stop) ); 
+                    }
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:700:9: ( ',' e= expression )*
+                    loop114:
+                    do {
+                        int alt114=2;
+                        int LA114_0 = input.LA(1);
+
+                        if ( (LA114_0==34) ) {
+                            alt114=1;
+                        }
+
+
+                        switch (alt114) {
+                    	case 1 :
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:700:10: ',' e= expression
+                    	    {
+                    	    match(input,34,FOLLOW_34_in_modifyStatement2705); if (failed) return ;
+                    	    pushFollow(FOLLOW_expression_in_modifyStatement2709);
+                    	    e=expression();
+                    	    _fsp--;
+                    	    if (failed) return ;
+                    	    if ( backtracking==0 ) {
+                    	       d.getExpressions().add( input.toString(e.start,e.stop) ); 
+                    	    }
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop114;
+                        }
+                    } while (true);
+
+
+                    }
+                    break;
+
+            }
+
+            c=(Token)input.LT(1);
+            match(input,38,FOLLOW_38_in_modifyStatement2728); if (failed) return ;
+            if ( backtracking==0 ) {
+
+                          d.setEnd( ((CommonToken)c).getStopIndex() ); 
+                      
+            }
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+            if ( backtracking>0 ) { memoize(input, 84, modifyStatement_StartIndex); }
+        }
+        return ;
+    }
+    // $ANTLR end modifyStatement
+
+
     // $ANTLR start catches
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:684:1: catches : catchClause ( catchClause )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:708:1: catches : catchClause ( catchClause )* ;
     public final void catches() throws RecognitionException {
         int catches_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 84) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:685:2: ( catchClause ( catchClause )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:685:4: catchClause ( catchClause )*
+            if ( backtracking>0 && alreadyParsedRule(input, 85) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:709:2: ( catchClause ( catchClause )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:709:4: catchClause ( catchClause )*
             {
-            pushFollow(FOLLOW_catchClause_in_catches2654);
+            pushFollow(FOLLOW_catchClause_in_catches2752);
             catchClause();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:685:16: ( catchClause )*
-            loop114:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:709:16: ( catchClause )*
+            loop116:
             do {
-                int alt114=2;
-                int LA114_0 = input.LA(1);
+                int alt116=2;
+                int LA116_0 = input.LA(1);
 
-                if ( (LA114_0==87) ) {
-                    alt114=1;
+                if ( (LA116_0==88) ) {
+                    alt116=1;
                 }
 
 
-                switch (alt114) {
+                switch (alt116) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:685:17: catchClause
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:709:17: catchClause
             	    {
-            	    pushFollow(FOLLOW_catchClause_in_catches2657);
+            	    pushFollow(FOLLOW_catchClause_in_catches2755);
             	    catchClause();
             	    _fsp--;
             	    if (failed) return ;
@@ -7223,7 +7354,7 @@
             	    break;
 
             	default :
-            	    break loop114;
+            	    break loop116;
                 }
             } while (true);
 
@@ -7236,7 +7367,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 84, catches_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 85, catches_StartIndex); }
         }
         return ;
     }
@@ -7244,22 +7375,22 @@
 
 
     // $ANTLR start catchClause
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:688:1: catchClause : 'catch' '(' formalParameter ')' block ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:712:1: catchClause : 'catch' '(' formalParameter ')' block ;
     public final void catchClause() throws RecognitionException {
         int catchClause_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 85) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:689:2: ( 'catch' '(' formalParameter ')' block )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:689:4: 'catch' '(' formalParameter ')' block
+            if ( backtracking>0 && alreadyParsedRule(input, 86) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:713:2: ( 'catch' '(' formalParameter ')' block )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:713:4: 'catch' '(' formalParameter ')' block
             {
-            match(input,87,FOLLOW_87_in_catchClause2671); if (failed) return ;
-            match(input,65,FOLLOW_65_in_catchClause2673); if (failed) return ;
-            pushFollow(FOLLOW_formalParameter_in_catchClause2675);
+            match(input,88,FOLLOW_88_in_catchClause2769); if (failed) return ;
+            match(input,65,FOLLOW_65_in_catchClause2771); if (failed) return ;
+            pushFollow(FOLLOW_formalParameter_in_catchClause2773);
             formalParameter();
             _fsp--;
             if (failed) return ;
-            match(input,66,FOLLOW_66_in_catchClause2677); if (failed) return ;
-            pushFollow(FOLLOW_block_in_catchClause2679);
+            match(input,66,FOLLOW_66_in_catchClause2775); if (failed) return ;
+            pushFollow(FOLLOW_block_in_catchClause2777);
             block();
             _fsp--;
             if (failed) return ;
@@ -7272,7 +7403,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 85, catchClause_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 86, catchClause_StartIndex); }
         }
         return ;
     }
@@ -7280,30 +7411,30 @@
 
 
     // $ANTLR start formalParameter
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:692:1: formalParameter : ( variableModifier )* type variableDeclaratorId ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:716:1: formalParameter : ( variableModifier )* type variableDeclaratorId ;
     public final void formalParameter() throws RecognitionException {
         int formalParameter_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 86) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:693:2: ( ( variableModifier )* type variableDeclaratorId )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:693:4: ( variableModifier )* type variableDeclaratorId
+            if ( backtracking>0 && alreadyParsedRule(input, 87) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:717:2: ( ( variableModifier )* type variableDeclaratorId )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:717:4: ( variableModifier )* type variableDeclaratorId
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:693:4: ( variableModifier )*
-            loop115:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:717:4: ( variableModifier )*
+            loop117:
             do {
-                int alt115=2;
-                int LA115_0 = input.LA(1);
+                int alt117=2;
+                int LA117_0 = input.LA(1);
 
-                if ( (LA115_0==49||LA115_0==71) ) {
-                    alt115=1;
+                if ( (LA117_0==49||LA117_0==71) ) {
+                    alt117=1;
                 }
 
 
-                switch (alt115) {
+                switch (alt117) {
             	case 1 :
             	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: variableModifier
             	    {
-            	    pushFollow(FOLLOW_variableModifier_in_formalParameter2690);
+            	    pushFollow(FOLLOW_variableModifier_in_formalParameter2788);
             	    variableModifier();
             	    _fsp--;
             	    if (failed) return ;
@@ -7312,15 +7443,15 @@
             	    break;
 
             	default :
-            	    break loop115;
+            	    break loop117;
                 }
             } while (true);
 
-            pushFollow(FOLLOW_type_in_formalParameter2693);
+            pushFollow(FOLLOW_type_in_formalParameter2791);
             type();
             _fsp--;
             if (failed) return ;
-            pushFollow(FOLLOW_variableDeclaratorId_in_formalParameter2695);
+            pushFollow(FOLLOW_variableDeclaratorId_in_formalParameter2793);
             variableDeclaratorId();
             _fsp--;
             if (failed) return ;
@@ -7333,7 +7464,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 86, formalParameter_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 87, formalParameter_StartIndex); }
         }
         return ;
     }
@@ -7341,30 +7472,30 @@
 
 
     // $ANTLR start switchBlockStatementGroups
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:696:1: switchBlockStatementGroups : ( switchBlockStatementGroup )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:720:1: switchBlockStatementGroups : ( switchBlockStatementGroup )* ;
     public final void switchBlockStatementGroups() throws RecognitionException {
         int switchBlockStatementGroups_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 87) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:697:2: ( ( switchBlockStatementGroup )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:697:4: ( switchBlockStatementGroup )*
+            if ( backtracking>0 && alreadyParsedRule(input, 88) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:721:2: ( ( switchBlockStatementGroup )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:721:4: ( switchBlockStatementGroup )*
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:697:4: ( switchBlockStatementGroup )*
-            loop116:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:721:4: ( switchBlockStatementGroup )*
+            loop118:
             do {
-                int alt116=2;
-                int LA116_0 = input.LA(1);
+                int alt118=2;
+                int LA118_0 = input.LA(1);
 
-                if ( (LA116_0==72||LA116_0==88) ) {
-                    alt116=1;
+                if ( (LA118_0==72||LA118_0==89) ) {
+                    alt118=1;
                 }
 
 
-                switch (alt116) {
+                switch (alt118) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:697:5: switchBlockStatementGroup
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:721:5: switchBlockStatementGroup
             	    {
-            	    pushFollow(FOLLOW_switchBlockStatementGroup_in_switchBlockStatementGroups2709);
+            	    pushFollow(FOLLOW_switchBlockStatementGroup_in_switchBlockStatementGroups2807);
             	    switchBlockStatementGroup();
             	    _fsp--;
             	    if (failed) return ;
@@ -7373,7 +7504,7 @@
             	    break;
 
             	default :
-            	    break loop116;
+            	    break loop118;
                 }
             } while (true);
 
@@ -7386,7 +7517,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 87, switchBlockStatementGroups_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 88, switchBlockStatementGroups_StartIndex); }
         }
         return ;
     }
@@ -7394,34 +7525,34 @@
 
 
     // $ANTLR start switchBlockStatementGroup
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:700:1: switchBlockStatementGroup : switchLabel ( blockStatement )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:724:1: switchBlockStatementGroup : switchLabel ( blockStatement )* ;
     public final void switchBlockStatementGroup() throws RecognitionException {
         int switchBlockStatementGroup_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 88) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:701:2: ( switchLabel ( blockStatement )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:701:4: switchLabel ( blockStatement )*
+            if ( backtracking>0 && alreadyParsedRule(input, 89) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:725:2: ( switchLabel ( blockStatement )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:725:4: switchLabel ( blockStatement )*
             {
-            pushFollow(FOLLOW_switchLabel_in_switchBlockStatementGroup2723);
+            pushFollow(FOLLOW_switchLabel_in_switchBlockStatementGroup2821);
             switchLabel();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:701:16: ( blockStatement )*
-            loop117:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:725:16: ( blockStatement )*
+            loop119:
             do {
-                int alt117=2;
-                int LA117_0 = input.LA(1);
+                int alt119=2;
+                int LA119_0 = input.LA(1);
 
-                if ( ((LA117_0>=Identifier && LA117_0<=DecimalLiteral)||LA117_0==25||LA117_0==27||LA117_0==30||LA117_0==33||LA117_0==37||(LA117_0>=39 && LA117_0<=40)||(LA117_0>=45 && LA117_0<=62)||(LA117_0>=64 && LA117_0<=65)||(LA117_0>=68 && LA117_0<=71)||LA117_0==73||LA117_0==75||(LA117_0>=77 && LA117_0<=80)||(LA117_0>=82 && LA117_0<=86)||(LA117_0>=104 && LA117_0<=105)||(LA117_0>=108 && LA117_0<=113)) ) {
-                    alt117=1;
+                if ( ((LA119_0>=Identifier && LA119_0<=DecimalLiteral)||LA119_0==25||LA119_0==27||LA119_0==30||LA119_0==33||LA119_0==37||(LA119_0>=39 && LA119_0<=40)||(LA119_0>=45 && LA119_0<=62)||(LA119_0>=64 && LA119_0<=65)||(LA119_0>=68 && LA119_0<=71)||LA119_0==73||LA119_0==75||(LA119_0>=77 && LA119_0<=80)||(LA119_0>=82 && LA119_0<=87)||(LA119_0>=105 && LA119_0<=106)||(LA119_0>=109 && LA119_0<=114)) ) {
+                    alt119=1;
                 }
 
 
-                switch (alt117) {
+                switch (alt119) {
             	case 1 :
             	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: blockStatement
             	    {
-            	    pushFollow(FOLLOW_blockStatement_in_switchBlockStatementGroup2725);
+            	    pushFollow(FOLLOW_blockStatement_in_switchBlockStatementGroup2823);
             	    blockStatement();
             	    _fsp--;
             	    if (failed) return ;
@@ -7430,7 +7561,7 @@
             	    break;
 
             	default :
-            	    break loop117;
+            	    break loop119;
                 }
             } while (true);
 
@@ -7443,7 +7574,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 88, switchBlockStatementGroup_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 89, switchBlockStatementGroup_StartIndex); }
         }
         return ;
     }
@@ -7451,86 +7582,86 @@
 
 
     // $ANTLR start switchLabel
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:704:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:728:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );
     public final void switchLabel() throws RecognitionException {
         int switchLabel_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 89) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:705:2: ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' )
-            int alt118=3;
-            int LA118_0 = input.LA(1);
+            if ( backtracking>0 && alreadyParsedRule(input, 90) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:729:2: ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' )
+            int alt120=3;
+            int LA120_0 = input.LA(1);
 
-            if ( (LA118_0==88) ) {
-                int LA118_1 = input.LA(2);
+            if ( (LA120_0==89) ) {
+                int LA120_1 = input.LA(2);
 
-                if ( (LA118_1==Identifier) ) {
-                    int LA118_3 = input.LA(3);
+                if ( ((LA120_1>=FloatingPointLiteral && LA120_1<=DecimalLiteral)||LA120_1==33||LA120_1==40||(LA120_1>=55 && LA120_1<=62)||(LA120_1>=64 && LA120_1<=65)||(LA120_1>=68 && LA120_1<=70)||(LA120_1>=105 && LA120_1<=106)||(LA120_1>=109 && LA120_1<=114)) ) {
+                    alt120=1;
+                }
+                else if ( (LA120_1==Identifier) ) {
+                    int LA120_20 = input.LA(3);
 
-                    if ( (synpred173()) ) {
-                        alt118=1;
+                    if ( (synpred176()) ) {
+                        alt120=1;
                     }
-                    else if ( (synpred174()) ) {
-                        alt118=2;
+                    else if ( (synpred177()) ) {
+                        alt120=2;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("704:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );", 118, 3, input);
+                            new NoViableAltException("728:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );", 120, 20, input);
 
                         throw nvae;
                     }
                 }
-                else if ( ((LA118_1>=FloatingPointLiteral && LA118_1<=DecimalLiteral)||LA118_1==33||LA118_1==40||(LA118_1>=55 && LA118_1<=62)||(LA118_1>=64 && LA118_1<=65)||(LA118_1>=68 && LA118_1<=70)||(LA118_1>=104 && LA118_1<=105)||(LA118_1>=108 && LA118_1<=113)) ) {
-                    alt118=1;
-                }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("704:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );", 118, 1, input);
+                        new NoViableAltException("728:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );", 120, 1, input);
 
                     throw nvae;
                 }
             }
-            else if ( (LA118_0==72) ) {
-                alt118=3;
+            else if ( (LA120_0==72) ) {
+                alt120=3;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("704:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );", 118, 0, input);
+                    new NoViableAltException("728:1: switchLabel : ( 'case' constantExpression ':' | 'case' enumConstantName ':' | 'default' ':' );", 120, 0, input);
 
                 throw nvae;
             }
-            switch (alt118) {
+            switch (alt120) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:705:4: 'case' constantExpression ':'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:729:4: 'case' constantExpression ':'
                     {
-                    match(input,88,FOLLOW_88_in_switchLabel2738); if (failed) return ;
-                    pushFollow(FOLLOW_constantExpression_in_switchLabel2740);
+                    match(input,89,FOLLOW_89_in_switchLabel2836); if (failed) return ;
+                    pushFollow(FOLLOW_constantExpression_in_switchLabel2838);
                     constantExpression();
                     _fsp--;
                     if (failed) return ;
-                    match(input,74,FOLLOW_74_in_switchLabel2742); if (failed) return ;
+                    match(input,74,FOLLOW_74_in_switchLabel2840); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:706:6: 'case' enumConstantName ':'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:730:6: 'case' enumConstantName ':'
                     {
-                    match(input,88,FOLLOW_88_in_switchLabel2749); if (failed) return ;
-                    pushFollow(FOLLOW_enumConstantName_in_switchLabel2751);
+                    match(input,89,FOLLOW_89_in_switchLabel2847); if (failed) return ;
+                    pushFollow(FOLLOW_enumConstantName_in_switchLabel2849);
                     enumConstantName();
                     _fsp--;
                     if (failed) return ;
-                    match(input,74,FOLLOW_74_in_switchLabel2753); if (failed) return ;
+                    match(input,74,FOLLOW_74_in_switchLabel2851); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:707:6: 'default' ':'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:731:6: 'default' ':'
                     {
-                    match(input,72,FOLLOW_72_in_switchLabel2760); if (failed) return ;
-                    match(input,74,FOLLOW_74_in_switchLabel2762); if (failed) return ;
+                    match(input,72,FOLLOW_72_in_switchLabel2858); if (failed) return ;
+                    match(input,74,FOLLOW_74_in_switchLabel2860); if (failed) return ;
 
                     }
                     break;
@@ -7542,7 +7673,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 89, switchLabel_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 90, switchLabel_StartIndex); }
         }
         return ;
     }
@@ -7550,31 +7681,31 @@
 
 
     // $ANTLR start moreStatementExpressions
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:710:1: moreStatementExpressions : ( ',' statementExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:734:1: moreStatementExpressions : ( ',' statementExpression )* ;
     public final void moreStatementExpressions() throws RecognitionException {
         int moreStatementExpressions_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 90) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:711:2: ( ( ',' statementExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:711:4: ( ',' statementExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 91) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:735:2: ( ( ',' statementExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:735:4: ( ',' statementExpression )*
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:711:4: ( ',' statementExpression )*
-            loop119:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:735:4: ( ',' statementExpression )*
+            loop121:
             do {
-                int alt119=2;
-                int LA119_0 = input.LA(1);
+                int alt121=2;
+                int LA121_0 = input.LA(1);
 
-                if ( (LA119_0==34) ) {
-                    alt119=1;
+                if ( (LA121_0==34) ) {
+                    alt121=1;
                 }
 
 
-                switch (alt119) {
+                switch (alt121) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:711:5: ',' statementExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:735:5: ',' statementExpression
             	    {
-            	    match(input,34,FOLLOW_34_in_moreStatementExpressions2775); if (failed) return ;
-            	    pushFollow(FOLLOW_statementExpression_in_moreStatementExpressions2777);
+            	    match(input,34,FOLLOW_34_in_moreStatementExpressions2873); if (failed) return ;
+            	    pushFollow(FOLLOW_statementExpression_in_moreStatementExpressions2875);
             	    statementExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -7583,7 +7714,7 @@
             	    break;
 
             	default :
-            	    break loop119;
+            	    break loop121;
                 }
             } while (true);
 
@@ -7596,7 +7727,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 90, moreStatementExpressions_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 91, moreStatementExpressions_StartIndex); }
         }
         return ;
     }
@@ -7604,13 +7735,13 @@
 
 
     // $ANTLR start forControl
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );
     public final void forControl() throws RecognitionException {
         int forControl_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 91) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:716:2: ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? )
-            int alt123=2;
+            if ( backtracking>0 && alreadyParsedRule(input, 92) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:740:2: ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? )
+            int alt125=2;
             switch ( input.LA(1) ) {
             case 49:
                 {
@@ -7620,18 +7751,18 @@
                     switch ( input.LA(3) ) {
                     case 33:
                         {
-                        int LA123_60 = input.LA(4);
+                        int LA125_60 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 60, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 60, input);
 
                             throw nvae;
                         }
@@ -7639,18 +7770,18 @@
                         break;
                     case 28:
                         {
-                        int LA123_61 = input.LA(4);
+                        int LA125_61 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 61, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 61, input);
 
                             throw nvae;
                         }
@@ -7658,18 +7789,18 @@
                         break;
                     case 41:
                         {
-                        int LA123_62 = input.LA(4);
+                        int LA125_62 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 62, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 62, input);
 
                             throw nvae;
                         }
@@ -7677,18 +7808,18 @@
                         break;
                     case Identifier:
                         {
-                        int LA123_63 = input.LA(4);
+                        int LA125_63 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 63, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 63, input);
 
                             throw nvae;
                         }
@@ -7697,7 +7828,7 @@
                     default:
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 24, input);
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 24, input);
 
                         throw nvae;
                     }
@@ -7713,38 +7844,38 @@
                 case 61:
                 case 62:
                     {
-                    int LA123_25 = input.LA(3);
+                    int LA125_25 = input.LA(3);
 
-                    if ( (LA123_25==41) ) {
-                        int LA123_64 = input.LA(4);
+                    if ( (LA125_25==41) ) {
+                        int LA125_64 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 64, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 64, input);
 
                             throw nvae;
                         }
                     }
-                    else if ( (LA123_25==Identifier) ) {
-                        int LA123_65 = input.LA(4);
+                    else if ( (LA125_25==Identifier) ) {
+                        int LA125_65 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 65, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 65, input);
 
                             throw nvae;
                         }
@@ -7752,7 +7883,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 25, input);
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 25, input);
 
                         throw nvae;
                     }
@@ -7763,18 +7894,18 @@
                     switch ( input.LA(3) ) {
                     case Identifier:
                         {
-                        int LA123_66 = input.LA(4);
+                        int LA125_66 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 66, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 66, input);
 
                             throw nvae;
                         }
@@ -7789,18 +7920,18 @@
                     case 61:
                     case 62:
                         {
-                        int LA123_67 = input.LA(4);
+                        int LA125_67 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 67, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 67, input);
 
                             throw nvae;
                         }
@@ -7808,18 +7939,18 @@
                         break;
                     case 49:
                         {
-                        int LA123_68 = input.LA(4);
+                        int LA125_68 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 68, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 68, input);
 
                             throw nvae;
                         }
@@ -7827,18 +7958,18 @@
                         break;
                     case 71:
                         {
-                        int LA123_69 = input.LA(4);
+                        int LA125_69 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 69, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 69, input);
 
                             throw nvae;
                         }
@@ -7847,7 +7978,7 @@
                     default:
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 26, input);
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 26, input);
 
                         throw nvae;
                     }
@@ -7856,21 +7987,21 @@
                     break;
                 case 71:
                     {
-                    int LA123_27 = input.LA(3);
+                    int LA125_27 = input.LA(3);
 
-                    if ( (LA123_27==Identifier) ) {
-                        int LA123_70 = input.LA(4);
+                    if ( (LA125_27==Identifier) ) {
+                        int LA125_70 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 70, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 70, input);
 
                             throw nvae;
                         }
@@ -7878,7 +8009,7 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 27, input);
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 27, input);
 
                         throw nvae;
                     }
@@ -7887,7 +8018,7 @@
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 1, input);
+                        new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 1, input);
 
                     throw nvae;
                 }
@@ -7896,24 +8027,24 @@
                 break;
             case 71:
                 {
-                int LA123_2 = input.LA(2);
+                int LA125_2 = input.LA(2);
 
-                if ( (LA123_2==Identifier) ) {
+                if ( (LA125_2==Identifier) ) {
                     switch ( input.LA(3) ) {
                     case 28:
                         {
-                        int LA123_71 = input.LA(4);
+                        int LA125_71 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 71, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 71, input);
 
                             throw nvae;
                         }
@@ -7921,18 +8052,18 @@
                         break;
                     case 65:
                         {
-                        int LA123_72 = input.LA(4);
+                        int LA125_72 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 72, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 72, input);
 
                             throw nvae;
                         }
@@ -7940,18 +8071,18 @@
                         break;
                     case Identifier:
                         {
-                        int LA123_73 = input.LA(4);
+                        int LA125_73 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 73, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 73, input);
 
                             throw nvae;
                         }
@@ -7966,18 +8097,18 @@
                     case 61:
                     case 62:
                         {
-                        int LA123_74 = input.LA(4);
+                        int LA125_74 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 74, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 74, input);
 
                             throw nvae;
                         }
@@ -7985,18 +8116,18 @@
                         break;
                     case 49:
                         {
-                        int LA123_75 = input.LA(4);
+                        int LA125_75 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 75, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 75, input);
 
                             throw nvae;
                         }
@@ -8004,18 +8135,18 @@
                         break;
                     case 71:
                         {
-                        int LA123_76 = input.LA(4);
+                        int LA125_76 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 76, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 76, input);
 
                             throw nvae;
                         }
@@ -8024,7 +8155,7 @@
                     default:
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 28, input);
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 28, input);
 
                         throw nvae;
                     }
@@ -8033,7 +8164,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 2, input);
+                        new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 2, input);
 
                     throw nvae;
                 }
@@ -8042,6 +8173,105 @@
             case Identifier:
                 {
                 switch ( input.LA(2) ) {
+                case 28:
+                    {
+                    int LA125_29 = input.LA(3);
+
+                    if ( (LA125_29==30||LA125_29==33||LA125_29==64||(LA125_29>=113 && LA125_29<=114)) ) {
+                        alt125=2;
+                    }
+                    else if ( (LA125_29==Identifier) ) {
+                        int LA125_79 = input.LA(4);
+
+                        if ( (synpred179()) ) {
+                            alt125=1;
+                        }
+                        else if ( (true) ) {
+                            alt125=2;
+                        }
+                        else {
+                            if (backtracking>0) {failed=true; return ;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 79, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (backtracking>0) {failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 29, input);
+
+                        throw nvae;
+                    }
+                    }
+                    break;
+                case 41:
+                    {
+                    int LA125_30 = input.LA(3);
+
+                    if ( (LA125_30==42) ) {
+                        int LA125_83 = input.LA(4);
+
+                        if ( (synpred179()) ) {
+                            alt125=1;
+                        }
+                        else if ( (true) ) {
+                            alt125=2;
+                        }
+                        else {
+                            if (backtracking>0) {failed=true; return ;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 83, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else if ( (LA125_30==Identifier||(LA125_30>=FloatingPointLiteral && LA125_30<=DecimalLiteral)||LA125_30==33||LA125_30==40||(LA125_30>=55 && LA125_30<=62)||(LA125_30>=64 && LA125_30<=65)||(LA125_30>=68 && LA125_30<=70)||(LA125_30>=105 && LA125_30<=106)||(LA125_30>=109 && LA125_30<=114)) ) {
+                        alt125=2;
+                    }
+                    else {
+                        if (backtracking>0) {failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 30, input);
+
+                        throw nvae;
+                    }
+                    }
+                    break;
+                case 25:
+                case 29:
+                case 34:
+                case 35:
+                case 36:
+                case 44:
+                case 63:
+                case 65:
+                case 90:
+                case 91:
+                case 92:
+                case 93:
+                case 94:
+                case 95:
+                case 96:
+                case 97:
+                case 98:
+                case 99:
+                case 100:
+                case 101:
+                case 102:
+                case 103:
+                case 104:
+                case 105:
+                case 106:
+                case 107:
+                case 108:
+                case 109:
+                case 110:
+                    {
+                    alt125=2;
+                    }
+                    break;
                 case 33:
                     {
                     switch ( input.LA(3) ) {
@@ -8059,32 +8289,32 @@
                     case 68:
                     case 69:
                     case 70:
-                    case 104:
                     case 105:
-                    case 108:
+                    case 106:
                     case 109:
                     case 110:
                     case 111:
                     case 112:
                     case 113:
+                    case 114:
                         {
-                        alt123=2;
+                        alt125=2;
                         }
                         break;
                     case Identifier:
                         {
-                        int LA123_95 = input.LA(4);
+                        int LA125_106 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 95, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 106, input);
 
                             throw nvae;
                         }
@@ -8099,18 +8329,18 @@
                     case 61:
                     case 62:
                         {
-                        int LA123_96 = input.LA(4);
+                        int LA125_107 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 96, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 107, input);
 
                             throw nvae;
                         }
@@ -8118,18 +8348,18 @@
                         break;
                     case 63:
                         {
-                        int LA123_98 = input.LA(4);
+                        int LA125_108 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 98, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 108, input);
 
                             throw nvae;
                         }
@@ -8138,135 +8368,36 @@
                     default:
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 29, input);
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 35, input);
 
                         throw nvae;
                     }
 
                     }
                     break;
-                case 28:
-                    {
-                    int LA123_30 = input.LA(3);
-
-                    if ( (LA123_30==30||LA123_30==33||LA123_30==64||(LA123_30>=112 && LA123_30<=113)) ) {
-                        alt123=2;
-                    }
-                    else if ( (LA123_30==Identifier) ) {
-                        int LA123_100 = input.LA(4);
-
-                        if ( (synpred176()) ) {
-                            alt123=1;
-                        }
-                        else if ( (true) ) {
-                            alt123=2;
-                        }
-                        else {
-                            if (backtracking>0) {failed=true; return ;}
-                            NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 100, input);
-
-                            throw nvae;
-                        }
-                    }
-                    else {
-                        if (backtracking>0) {failed=true; return ;}
-                        NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 30, input);
-
-                        throw nvae;
-                    }
-                    }
-                    break;
-                case 41:
-                    {
-                    int LA123_31 = input.LA(3);
-
-                    if ( (LA123_31==42) ) {
-                        int LA123_105 = input.LA(4);
-
-                        if ( (synpred176()) ) {
-                            alt123=1;
-                        }
-                        else if ( (true) ) {
-                            alt123=2;
-                        }
-                        else {
-                            if (backtracking>0) {failed=true; return ;}
-                            NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 105, input);
-
-                            throw nvae;
-                        }
-                    }
-                    else if ( (LA123_31==Identifier||(LA123_31>=FloatingPointLiteral && LA123_31<=DecimalLiteral)||LA123_31==33||LA123_31==40||(LA123_31>=55 && LA123_31<=62)||(LA123_31>=64 && LA123_31<=65)||(LA123_31>=68 && LA123_31<=70)||(LA123_31>=104 && LA123_31<=105)||(LA123_31>=108 && LA123_31<=113)) ) {
-                        alt123=2;
-                    }
-                    else {
-                        if (backtracking>0) {failed=true; return ;}
-                        NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 31, input);
-
-                        throw nvae;
-                    }
-                    }
-                    break;
                 case Identifier:
                     {
-                    int LA123_32 = input.LA(3);
+                    int LA125_56 = input.LA(3);
 
-                    if ( (LA123_32==74) ) {
-                        alt123=1;
+                    if ( (LA125_56==74) ) {
+                        alt125=1;
                     }
-                    else if ( (LA123_32==25||LA123_32==34||LA123_32==41||LA123_32==44) ) {
-                        alt123=2;
+                    else if ( (LA125_56==25||LA125_56==34||LA125_56==41||LA125_56==44) ) {
+                        alt125=2;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 32, input);
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 56, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 25:
-                case 29:
-                case 34:
-                case 35:
-                case 36:
-                case 44:
-                case 63:
-                case 65:
-                case 89:
-                case 90:
-                case 91:
-                case 92:
-                case 93:
-                case 94:
-                case 95:
-                case 96:
-                case 97:
-                case 98:
-                case 99:
-                case 100:
-                case 101:
-                case 102:
-                case 103:
-                case 104:
-                case 105:
-                case 106:
-                case 107:
-                case 108:
-                case 109:
-                    {
-                    alt123=2;
-                    }
-                    break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 3, input);
+                        new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 3, input);
 
                     throw nvae;
                 }
@@ -8285,21 +8416,21 @@
                 switch ( input.LA(2) ) {
                 case 41:
                     {
-                    int LA123_57 = input.LA(3);
+                    int LA125_57 = input.LA(3);
 
-                    if ( (LA123_57==42) ) {
-                        int LA123_131 = input.LA(4);
+                    if ( (LA125_57==42) ) {
+                        int LA125_131 = input.LA(4);
 
-                        if ( (synpred176()) ) {
-                            alt123=1;
+                        if ( (synpred179()) ) {
+                            alt125=1;
                         }
                         else if ( (true) ) {
-                            alt123=2;
+                            alt125=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 131, input);
+                                new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 131, input);
 
                             throw nvae;
                         }
@@ -8307,40 +8438,40 @@
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 57, input);
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 57, input);
 
                         throw nvae;
                     }
                     }
                     break;
+                case 28:
+                    {
+                    alt125=2;
+                    }
+                    break;
                 case Identifier:
                     {
-                    int LA123_58 = input.LA(3);
+                    int LA125_59 = input.LA(3);
 
-                    if ( (LA123_58==74) ) {
-                        alt123=1;
+                    if ( (LA125_59==74) ) {
+                        alt125=1;
                     }
-                    else if ( (LA123_58==25||LA123_58==34||LA123_58==41||LA123_58==44) ) {
-                        alt123=2;
+                    else if ( (LA125_59==25||LA125_59==34||LA125_59==41||LA125_59==44) ) {
+                        alt125=2;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 58, input);
+                            new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 59, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 28:
-                    {
-                    alt123=2;
-                    }
-                    break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 4, input);
+                        new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 4, input);
 
                     throw nvae;
                 }
@@ -8361,31 +8492,31 @@
             case 68:
             case 69:
             case 70:
-            case 104:
             case 105:
-            case 108:
+            case 106:
             case 109:
             case 110:
             case 111:
             case 112:
             case 113:
+            case 114:
                 {
-                alt123=2;
+                alt125=2;
                 }
                 break;
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("714:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 123, 0, input);
+                    new NoViableAltException("738:1: forControl options {k=3; } : ( forVarControl | ( forInit )? ';' ( expression )? ';' ( forUpdate )? );", 125, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt123) {
+            switch (alt125) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:716:4: forVarControl
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:740:4: forVarControl
                     {
-                    pushFollow(FOLLOW_forVarControl_in_forControl2798);
+                    pushFollow(FOLLOW_forVarControl_in_forControl2896);
                     forVarControl();
                     _fsp--;
                     if (failed) return ;
@@ -8393,20 +8524,20 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:717:4: ( forInit )? ';' ( expression )? ';' ( forUpdate )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:741:4: ( forInit )? ';' ( expression )? ';' ( forUpdate )?
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:717:4: ( forInit )?
-                    int alt120=2;
-                    int LA120_0 = input.LA(1);
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:741:4: ( forInit )?
+                    int alt122=2;
+                    int LA122_0 = input.LA(1);
 
-                    if ( (LA120_0==Identifier||(LA120_0>=FloatingPointLiteral && LA120_0<=DecimalLiteral)||LA120_0==33||LA120_0==40||LA120_0==49||(LA120_0>=55 && LA120_0<=62)||(LA120_0>=64 && LA120_0<=65)||(LA120_0>=68 && LA120_0<=71)||(LA120_0>=104 && LA120_0<=105)||(LA120_0>=108 && LA120_0<=113)) ) {
-                        alt120=1;
+                    if ( (LA122_0==Identifier||(LA122_0>=FloatingPointLiteral && LA122_0<=DecimalLiteral)||LA122_0==33||LA122_0==40||LA122_0==49||(LA122_0>=55 && LA122_0<=62)||(LA122_0>=64 && LA122_0<=65)||(LA122_0>=68 && LA122_0<=71)||(LA122_0>=105 && LA122_0<=106)||(LA122_0>=109 && LA122_0<=114)) ) {
+                        alt122=1;
                     }
-                    switch (alt120) {
+                    switch (alt122) {
                         case 1 :
                             // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: forInit
                             {
-                            pushFollow(FOLLOW_forInit_in_forControl2803);
+                            pushFollow(FOLLOW_forInit_in_forControl2901);
                             forInit();
                             _fsp--;
                             if (failed) return ;
@@ -8416,19 +8547,19 @@
 
                     }
 
-                    match(input,25,FOLLOW_25_in_forControl2806); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:717:17: ( expression )?
-                    int alt121=2;
-                    int LA121_0 = input.LA(1);
+                    match(input,25,FOLLOW_25_in_forControl2904); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:741:17: ( expression )?
+                    int alt123=2;
+                    int LA123_0 = input.LA(1);
 
-                    if ( (LA121_0==Identifier||(LA121_0>=FloatingPointLiteral && LA121_0<=DecimalLiteral)||LA121_0==33||LA121_0==40||(LA121_0>=55 && LA121_0<=62)||(LA121_0>=64 && LA121_0<=65)||(LA121_0>=68 && LA121_0<=70)||(LA121_0>=104 && LA121_0<=105)||(LA121_0>=108 && LA121_0<=113)) ) {
-                        alt121=1;
+                    if ( (LA123_0==Identifier||(LA123_0>=FloatingPointLiteral && LA123_0<=DecimalLiteral)||LA123_0==33||LA123_0==40||(LA123_0>=55 && LA123_0<=62)||(LA123_0>=64 && LA123_0<=65)||(LA123_0>=68 && LA123_0<=70)||(LA123_0>=105 && LA123_0<=106)||(LA123_0>=109 && LA123_0<=114)) ) {
+                        alt123=1;
                     }
-                    switch (alt121) {
+                    switch (alt123) {
                         case 1 :
                             // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: expression
                             {
-                            pushFollow(FOLLOW_expression_in_forControl2808);
+                            pushFollow(FOLLOW_expression_in_forControl2906);
                             expression();
                             _fsp--;
                             if (failed) return ;
@@ -8438,19 +8569,19 @@
 
                     }
 
-                    match(input,25,FOLLOW_25_in_forControl2811); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:717:33: ( forUpdate )?
-                    int alt122=2;
-                    int LA122_0 = input.LA(1);
+                    match(input,25,FOLLOW_25_in_forControl2909); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:741:33: ( forUpdate )?
+                    int alt124=2;
+                    int LA124_0 = input.LA(1);
 
-                    if ( (LA122_0==Identifier||(LA122_0>=FloatingPointLiteral && LA122_0<=DecimalLiteral)||LA122_0==33||LA122_0==40||(LA122_0>=55 && LA122_0<=62)||(LA122_0>=64 && LA122_0<=65)||(LA122_0>=68 && LA122_0<=70)||(LA122_0>=104 && LA122_0<=105)||(LA122_0>=108 && LA122_0<=113)) ) {
-                        alt122=1;
+                    if ( (LA124_0==Identifier||(LA124_0>=FloatingPointLiteral && LA124_0<=DecimalLiteral)||LA124_0==33||LA124_0==40||(LA124_0>=55 && LA124_0<=62)||(LA124_0>=64 && LA124_0<=65)||(LA124_0>=68 && LA124_0<=70)||(LA124_0>=105 && LA124_0<=106)||(LA124_0>=109 && LA124_0<=114)) ) {
+                        alt124=1;
                     }
-                    switch (alt122) {
+                    switch (alt124) {
                         case 1 :
                             // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: forUpdate
                             {
-                            pushFollow(FOLLOW_forUpdate_in_forControl2813);
+                            pushFollow(FOLLOW_forUpdate_in_forControl2911);
                             forUpdate();
                             _fsp--;
                             if (failed) return ;
@@ -8471,7 +8602,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 91, forControl_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 92, forControl_StartIndex); }
         }
         return ;
     }
@@ -8479,21 +8610,21 @@
 
 
     // $ANTLR start forInit
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:720:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:744:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );
     public final void forInit() throws RecognitionException {
         int forInit_StartIndex = input.index();
 
                     this.localVariableLevel++;
                 
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 92) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:727:2: ( ( variableModifier )* type variableDeclarators | expressionList )
-            int alt125=2;
+            if ( backtracking>0 && alreadyParsedRule(input, 93) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:751:2: ( ( variableModifier )* type variableDeclarators | expressionList )
+            int alt127=2;
             switch ( input.LA(1) ) {
             case 49:
             case 71:
                 {
-                alt125=1;
+                alt127=1;
                 }
                 break;
             case Identifier:
@@ -8501,18 +8632,18 @@
                 switch ( input.LA(2) ) {
                 case 28:
                     {
-                    int LA125_23 = input.LA(3);
+                    int LA127_23 = input.LA(3);
 
-                    if ( (synpred181()) ) {
-                        alt125=1;
+                    if ( (synpred184()) ) {
+                        alt127=1;
                     }
                     else if ( (true) ) {
-                        alt125=2;
+                        alt127=2;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("720:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 125, 23, input);
+                            new NoViableAltException("744:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 127, 23, input);
 
                         throw nvae;
                     }
@@ -8520,18 +8651,18 @@
                     break;
                 case 41:
                     {
-                    int LA125_24 = input.LA(3);
+                    int LA127_24 = input.LA(3);
 
-                    if ( (synpred181()) ) {
-                        alt125=1;
+                    if ( (synpred184()) ) {
+                        alt127=1;
                     }
                     else if ( (true) ) {
-                        alt125=2;
+                        alt127=2;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("720:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 125, 24, input);
+                            new NoViableAltException("744:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 127, 24, input);
 
                         throw nvae;
                     }
@@ -8546,7 +8677,6 @@
                 case 44:
                 case 63:
                 case 65:
-                case 89:
                 case 90:
                 case 91:
                 case 92:
@@ -8567,24 +8697,25 @@
                 case 107:
                 case 108:
                 case 109:
+                case 110:
                     {
-                    alt125=2;
+                    alt127=2;
                     }
                     break;
                 case 33:
                     {
-                    int LA125_29 = input.LA(3);
+                    int LA127_29 = input.LA(3);
 
-                    if ( (synpred181()) ) {
-                        alt125=1;
+                    if ( (synpred184()) ) {
+                        alt127=1;
                     }
                     else if ( (true) ) {
-                        alt125=2;
+                        alt127=2;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("720:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 125, 29, input);
+                            new NoViableAltException("744:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 127, 29, input);
 
                         throw nvae;
                     }
@@ -8592,13 +8723,13 @@
                     break;
                 case Identifier:
                     {
-                    alt125=1;
+                    alt127=1;
                     }
                     break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("720:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 125, 3, input);
+                        new NoViableAltException("744:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 127, 3, input);
 
                     throw nvae;
                 }
@@ -8617,18 +8748,18 @@
                 switch ( input.LA(2) ) {
                 case 41:
                     {
-                    int LA125_52 = input.LA(3);
+                    int LA127_52 = input.LA(3);
 
-                    if ( (synpred181()) ) {
-                        alt125=1;
+                    if ( (synpred184()) ) {
+                        alt127=1;
                     }
                     else if ( (true) ) {
-                        alt125=2;
+                        alt127=2;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("720:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 125, 52, input);
+                            new NoViableAltException("744:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 127, 52, input);
 
                         throw nvae;
                     }
@@ -8636,18 +8767,18 @@
                     break;
                 case Identifier:
                     {
-                    alt125=1;
+                    alt127=1;
                     }
                     break;
                 case 28:
                     {
-                    alt125=2;
+                    alt127=2;
                     }
                     break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("720:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 125, 4, input);
+                        new NoViableAltException("744:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 127, 4, input);
 
                     throw nvae;
                 }
@@ -8667,46 +8798,46 @@
             case 68:
             case 69:
             case 70:
-            case 104:
             case 105:
-            case 108:
+            case 106:
             case 109:
             case 110:
             case 111:
             case 112:
             case 113:
+            case 114:
                 {
-                alt125=2;
+                alt127=2;
                 }
                 break;
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("720:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 125, 0, input);
+                    new NoViableAltException("744:1: forInit : ( ( variableModifier )* type variableDeclarators | expressionList );", 127, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt125) {
+            switch (alt127) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:727:4: ( variableModifier )* type variableDeclarators
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:751:4: ( variableModifier )* type variableDeclarators
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:727:4: ( variableModifier )*
-                    loop124:
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:751:4: ( variableModifier )*
+                    loop126:
                     do {
-                        int alt124=2;
-                        int LA124_0 = input.LA(1);
+                        int alt126=2;
+                        int LA126_0 = input.LA(1);
 
-                        if ( (LA124_0==49||LA124_0==71) ) {
-                            alt124=1;
+                        if ( (LA126_0==49||LA126_0==71) ) {
+                            alt126=1;
                         }
 
 
-                        switch (alt124) {
+                        switch (alt126) {
                     	case 1 :
                     	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: variableModifier
                     	    {
-                    	    pushFollow(FOLLOW_variableModifier_in_forInit2851);
+                    	    pushFollow(FOLLOW_variableModifier_in_forInit2949);
                     	    variableModifier();
                     	    _fsp--;
                     	    if (failed) return ;
@@ -8715,15 +8846,15 @@
                     	    break;
 
                     	default :
-                    	    break loop124;
+                    	    break loop126;
                         }
                     } while (true);
 
-                    pushFollow(FOLLOW_type_in_forInit2854);
+                    pushFollow(FOLLOW_type_in_forInit2952);
                     type();
                     _fsp--;
                     if (failed) return ;
-                    pushFollow(FOLLOW_variableDeclarators_in_forInit2856);
+                    pushFollow(FOLLOW_variableDeclarators_in_forInit2954);
                     variableDeclarators();
                     _fsp--;
                     if (failed) return ;
@@ -8731,9 +8862,9 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:728:4: expressionList
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:752:4: expressionList
                     {
-                    pushFollow(FOLLOW_expressionList_in_forInit2861);
+                    pushFollow(FOLLOW_expressionList_in_forInit2959);
                     expressionList();
                     _fsp--;
                     if (failed) return ;
@@ -8753,7 +8884,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 92, forInit_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 93, forInit_StartIndex); }
         }
         return ;
     }
@@ -8761,30 +8892,30 @@
 
 
     // $ANTLR start forVarControl
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:731:1: forVarControl : ( variableModifier )* type Identifier ':' expression ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:755:1: forVarControl : ( variableModifier )* type Identifier ':' expression ;
     public final void forVarControl() throws RecognitionException {
         int forVarControl_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 93) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:732:2: ( ( variableModifier )* type Identifier ':' expression )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:732:4: ( variableModifier )* type Identifier ':' expression
+            if ( backtracking>0 && alreadyParsedRule(input, 94) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:756:2: ( ( variableModifier )* type Identifier ':' expression )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:756:4: ( variableModifier )* type Identifier ':' expression
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:732:4: ( variableModifier )*
-            loop126:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:756:4: ( variableModifier )*
+            loop128:
             do {
-                int alt126=2;
-                int LA126_0 = input.LA(1);
+                int alt128=2;
+                int LA128_0 = input.LA(1);
 
-                if ( (LA126_0==49||LA126_0==71) ) {
-                    alt126=1;
+                if ( (LA128_0==49||LA128_0==71) ) {
+                    alt128=1;
                 }
 
 
-                switch (alt126) {
+                switch (alt128) {
             	case 1 :
             	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: variableModifier
             	    {
-            	    pushFollow(FOLLOW_variableModifier_in_forVarControl2873);
+            	    pushFollow(FOLLOW_variableModifier_in_forVarControl2971);
             	    variableModifier();
             	    _fsp--;
             	    if (failed) return ;
@@ -8793,17 +8924,17 @@
             	    break;
 
             	default :
-            	    break loop126;
+            	    break loop128;
                 }
             } while (true);
 
-            pushFollow(FOLLOW_type_in_forVarControl2876);
+            pushFollow(FOLLOW_type_in_forVarControl2974);
             type();
             _fsp--;
             if (failed) return ;
-            match(input,Identifier,FOLLOW_Identifier_in_forVarControl2878); if (failed) return ;
-            match(input,74,FOLLOW_74_in_forVarControl2880); if (failed) return ;
-            pushFollow(FOLLOW_expression_in_forVarControl2882);
+            match(input,Identifier,FOLLOW_Identifier_in_forVarControl2976); if (failed) return ;
+            match(input,74,FOLLOW_74_in_forVarControl2978); if (failed) return ;
+            pushFollow(FOLLOW_expression_in_forVarControl2980);
             expression();
             _fsp--;
             if (failed) return ;
@@ -8816,7 +8947,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 93, forVarControl_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 94, forVarControl_StartIndex); }
         }
         return ;
     }
@@ -8824,15 +8955,15 @@
 
 
     // $ANTLR start forUpdate
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:735:1: forUpdate : expressionList ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:759:1: forUpdate : expressionList ;
     public final void forUpdate() throws RecognitionException {
         int forUpdate_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 94) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:736:2: ( expressionList )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:736:4: expressionList
+            if ( backtracking>0 && alreadyParsedRule(input, 95) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:760:2: ( expressionList )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:760:4: expressionList
             {
-            pushFollow(FOLLOW_expressionList_in_forUpdate2893);
+            pushFollow(FOLLOW_expressionList_in_forUpdate2991);
             expressionList();
             _fsp--;
             if (failed) return ;
@@ -8845,74 +8976,80 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 94, forUpdate_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 95, forUpdate_StartIndex); }
         }
         return ;
     }
     // $ANTLR end forUpdate
 
+    public static class parExpression_return extends ParserRuleReturnScope {
+    };
 
     // $ANTLR start parExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:741:1: parExpression : '(' expression ')' ;
-    public final void parExpression() throws RecognitionException {
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:765:1: parExpression : '(' expression ')' ;
+    public final parExpression_return parExpression() throws RecognitionException {
+        parExpression_return retval = new parExpression_return();
+        retval.start = input.LT(1);
         int parExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 95) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:742:2: ( '(' expression ')' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:742:4: '(' expression ')'
+            if ( backtracking>0 && alreadyParsedRule(input, 96) ) { return retval; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:766:2: ( '(' expression ')' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:766:4: '(' expression ')'
             {
-            match(input,65,FOLLOW_65_in_parExpression2906); if (failed) return ;
-            pushFollow(FOLLOW_expression_in_parExpression2908);
+            match(input,65,FOLLOW_65_in_parExpression3004); if (failed) return retval;
+            pushFollow(FOLLOW_expression_in_parExpression3006);
             expression();
             _fsp--;
-            if (failed) return ;
-            match(input,66,FOLLOW_66_in_parExpression2910); if (failed) return ;
+            if (failed) return retval;
+            match(input,66,FOLLOW_66_in_parExpression3008); if (failed) return retval;
 
             }
 
+            retval.stop = input.LT(-1);
+
         }
         catch (RecognitionException re) {
             reportError(re);
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 95, parExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 96, parExpression_StartIndex); }
         }
-        return ;
+        return retval;
     }
     // $ANTLR end parExpression
 
 
     // $ANTLR start expressionList
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:745:1: expressionList : expression ( ',' expression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:769:1: expressionList : expression ( ',' expression )* ;
     public final void expressionList() throws RecognitionException {
         int expressionList_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 96) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:746:5: ( expression ( ',' expression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:746:9: expression ( ',' expression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 97) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:770:5: ( expression ( ',' expression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:770:9: expression ( ',' expression )*
             {
-            pushFollow(FOLLOW_expression_in_expressionList2927);
+            pushFollow(FOLLOW_expression_in_expressionList3025);
             expression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:746:20: ( ',' expression )*
-            loop127:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:770:20: ( ',' expression )*
+            loop129:
             do {
-                int alt127=2;
-                int LA127_0 = input.LA(1);
+                int alt129=2;
+                int LA129_0 = input.LA(1);
 
-                if ( (LA127_0==34) ) {
-                    alt127=1;
+                if ( (LA129_0==34) ) {
+                    alt129=1;
                 }
 
 
-                switch (alt127) {
+                switch (alt129) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:746:21: ',' expression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:770:21: ',' expression
             	    {
-            	    match(input,34,FOLLOW_34_in_expressionList2930); if (failed) return ;
-            	    pushFollow(FOLLOW_expression_in_expressionList2932);
+            	    match(input,34,FOLLOW_34_in_expressionList3028); if (failed) return ;
+            	    pushFollow(FOLLOW_expression_in_expressionList3030);
             	    expression();
             	    _fsp--;
             	    if (failed) return ;
@@ -8921,7 +9058,7 @@
             	    break;
 
             	default :
-            	    break loop127;
+            	    break loop129;
                 }
             } while (true);
 
@@ -8934,7 +9071,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 96, expressionList_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 97, expressionList_StartIndex); }
         }
         return ;
     }
@@ -8942,15 +9079,15 @@
 
 
     // $ANTLR start statementExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:749:1: statementExpression : expression ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:773:1: statementExpression : expression ;
     public final void statementExpression() throws RecognitionException {
         int statementExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 97) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:750:2: ( expression )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:750:4: expression
+            if ( backtracking>0 && alreadyParsedRule(input, 98) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:774:2: ( expression )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:774:4: expression
             {
-            pushFollow(FOLLOW_expression_in_statementExpression2948);
+            pushFollow(FOLLOW_expression_in_statementExpression3046);
             expression();
             _fsp--;
             if (failed) return ;
@@ -8963,7 +9100,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 97, statementExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 98, statementExpression_StartIndex); }
         }
         return ;
     }
@@ -8971,15 +9108,15 @@
 
 
     // $ANTLR start constantExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:753:1: constantExpression : expression ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:777:1: constantExpression : expression ;
     public final void constantExpression() throws RecognitionException {
         int constantExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 98) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:754:2: ( expression )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:754:4: expression
+            if ( backtracking>0 && alreadyParsedRule(input, 99) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:778:2: ( expression )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:778:4: expression
             {
-            pushFollow(FOLLOW_expression_in_constantExpression2960);
+            pushFollow(FOLLOW_expression_in_constantExpression3058);
             expression();
             _fsp--;
             if (failed) return ;
@@ -8992,142 +9129,146 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 98, constantExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 99, constantExpression_StartIndex); }
         }
         return ;
     }
     // $ANTLR end constantExpression
 
+    public static class expression_return extends ParserRuleReturnScope {
+    };
 
     // $ANTLR start expression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:757:1: expression : conditionalExpression ( assignmentOperator expression )? ;
-    public final void expression() throws RecognitionException {
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:781:1: expression : conditionalExpression ( assignmentOperator expression )? ;
+    public final expression_return expression() throws RecognitionException {
+        expression_return retval = new expression_return();
+        retval.start = input.LT(1);
         int expression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 99) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:758:2: ( conditionalExpression ( assignmentOperator expression )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:758:4: conditionalExpression ( assignmentOperator expression )?
+            if ( backtracking>0 && alreadyParsedRule(input, 100) ) { return retval; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:782:2: ( conditionalExpression ( assignmentOperator expression )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:782:4: conditionalExpression ( assignmentOperator expression )?
             {
-            pushFollow(FOLLOW_conditionalExpression_in_expression2972);
+            pushFollow(FOLLOW_conditionalExpression_in_expression3070);
             conditionalExpression();
             _fsp--;
-            if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:758:26: ( assignmentOperator expression )?
-            int alt128=2;
+            if (failed) return retval;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:782:26: ( assignmentOperator expression )?
+            int alt130=2;
             switch ( input.LA(1) ) {
                 case 44:
                     {
-                    int LA128_1 = input.LA(2);
+                    int LA130_1 = input.LA(2);
 
-                    if ( (synpred184()) ) {
-                        alt128=1;
+                    if ( (synpred187()) ) {
+                        alt130=1;
                     }
                     }
                     break;
-                case 89:
-                    {
-                    int LA128_2 = input.LA(2);
-
-                    if ( (synpred184()) ) {
-                        alt128=1;
-                    }
-                    }
-                    break;
                 case 90:
                     {
-                    int LA128_3 = input.LA(2);
+                    int LA130_2 = input.LA(2);
 
-                    if ( (synpred184()) ) {
-                        alt128=1;
+                    if ( (synpred187()) ) {
+                        alt130=1;
                     }
                     }
                     break;
                 case 91:
                     {
-                    int LA128_4 = input.LA(2);
+                    int LA130_3 = input.LA(2);
 
-                    if ( (synpred184()) ) {
-                        alt128=1;
+                    if ( (synpred187()) ) {
+                        alt130=1;
                     }
                     }
                     break;
                 case 92:
                     {
-                    int LA128_5 = input.LA(2);
+                    int LA130_4 = input.LA(2);
 
-                    if ( (synpred184()) ) {
-                        alt128=1;
+                    if ( (synpred187()) ) {
+                        alt130=1;
                     }
                     }
                     break;
                 case 93:
                     {
-                    int LA128_6 = input.LA(2);
+                    int LA130_5 = input.LA(2);
 
-                    if ( (synpred184()) ) {
-                        alt128=1;
+                    if ( (synpred187()) ) {
+                        alt130=1;
                     }
                     }
                     break;
                 case 94:
                     {
-                    int LA128_7 = input.LA(2);
+                    int LA130_6 = input.LA(2);
 
-                    if ( (synpred184()) ) {
-                        alt128=1;
+                    if ( (synpred187()) ) {
+                        alt130=1;
                     }
                     }
                     break;
                 case 95:
                     {
-                    int LA128_8 = input.LA(2);
+                    int LA130_7 = input.LA(2);
 
-                    if ( (synpred184()) ) {
-                        alt128=1;
+                    if ( (synpred187()) ) {
+                        alt130=1;
                     }
                     }
                     break;
                 case 96:
                     {
-                    int LA128_9 = input.LA(2);
+                    int LA130_8 = input.LA(2);
 
-                    if ( (synpred184()) ) {
-                        alt128=1;
+                    if ( (synpred187()) ) {
+                        alt130=1;
                     }
                     }
                     break;
+                case 97:
+                    {
+                    int LA130_9 = input.LA(2);
+
+                    if ( (synpred187()) ) {
+                        alt130=1;
+                    }
+                    }
+                    break;
                 case 33:
                     {
-                    int LA128_10 = input.LA(2);
+                    int LA130_10 = input.LA(2);
 
-                    if ( (synpred184()) ) {
-                        alt128=1;
+                    if ( (synpred187()) ) {
+                        alt130=1;
                     }
                     }
                     break;
                 case 35:
                     {
-                    int LA128_11 = input.LA(2);
+                    int LA130_11 = input.LA(2);
 
-                    if ( (synpred184()) ) {
-                        alt128=1;
+                    if ( (synpred187()) ) {
+                        alt130=1;
                     }
                     }
                     break;
             }
 
-            switch (alt128) {
+            switch (alt130) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:758:27: assignmentOperator expression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:782:27: assignmentOperator expression
                     {
-                    pushFollow(FOLLOW_assignmentOperator_in_expression2975);
+                    pushFollow(FOLLOW_assignmentOperator_in_expression3073);
                     assignmentOperator();
                     _fsp--;
-                    if (failed) return ;
-                    pushFollow(FOLLOW_expression_in_expression2977);
+                    if (failed) return retval;
+                    pushFollow(FOLLOW_expression_in_expression3075);
                     expression();
                     _fsp--;
-                    if (failed) return ;
+                    if (failed) return retval;
 
                     }
                     break;
@@ -9137,95 +9278,97 @@
 
             }
 
+            retval.stop = input.LT(-1);
+
         }
         catch (RecognitionException re) {
             reportError(re);
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 99, expression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 100, expression_StartIndex); }
         }
-        return ;
+        return retval;
     }
     // $ANTLR end expression
 
 
     // $ANTLR start assignmentOperator
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:761:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:785:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );
     public final void assignmentOperator() throws RecognitionException {
         int assignmentOperator_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 100) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:762:2: ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' )
-            int alt129=12;
+            if ( backtracking>0 && alreadyParsedRule(input, 101) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:786:2: ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' )
+            int alt131=12;
             switch ( input.LA(1) ) {
             case 44:
                 {
-                alt129=1;
+                alt131=1;
                 }
                 break;
-            case 89:
-                {
-                alt129=2;
-                }
-                break;
             case 90:
                 {
-                alt129=3;
+                alt131=2;
                 }
                 break;
             case 91:
                 {
-                alt129=4;
+                alt131=3;
                 }
                 break;
             case 92:
                 {
-                alt129=5;
+                alt131=4;
                 }
                 break;
             case 93:
                 {
-                alt129=6;
+                alt131=5;
                 }
                 break;
             case 94:
                 {
-                alt129=7;
+                alt131=6;
                 }
                 break;
             case 95:
                 {
-                alt129=8;
+                alt131=7;
                 }
                 break;
             case 96:
                 {
-                alt129=9;
+                alt131=8;
                 }
                 break;
+            case 97:
+                {
+                alt131=9;
+                }
+                break;
             case 33:
                 {
-                alt129=10;
+                alt131=10;
                 }
                 break;
             case 35:
                 {
-                int LA129_11 = input.LA(2);
+                int LA131_11 = input.LA(2);
 
-                if ( (LA129_11==35) ) {
-                    int LA129_12 = input.LA(3);
+                if ( (LA131_11==35) ) {
+                    int LA131_12 = input.LA(3);
 
-                    if ( (synpred195()) ) {
-                        alt129=11;
+                    if ( (synpred198()) ) {
+                        alt131=11;
                     }
                     else if ( (true) ) {
-                        alt129=12;
+                        alt131=12;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("761:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );", 129, 12, input);
+                            new NoViableAltException("785:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );", 131, 12, input);
 
                         throw nvae;
                     }
@@ -9233,7 +9376,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("761:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );", 129, 11, input);
+                        new NoViableAltException("785:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );", 131, 11, input);
 
                     throw nvae;
                 }
@@ -9242,100 +9385,100 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("761:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );", 129, 0, input);
+                    new NoViableAltException("785:1: assignmentOperator : ( '=' | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | '<' '<' '=' | '>' '>' '=' | '>' '>' '>' '=' );", 131, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt129) {
+            switch (alt131) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:762:4: '='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:786:4: '='
                     {
-                    match(input,44,FOLLOW_44_in_assignmentOperator2991); if (failed) return ;
+                    match(input,44,FOLLOW_44_in_assignmentOperator3089); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:763:9: '+='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:787:9: '+='
                     {
-                    match(input,89,FOLLOW_89_in_assignmentOperator3001); if (failed) return ;
+                    match(input,90,FOLLOW_90_in_assignmentOperator3099); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:764:9: '-='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:788:9: '-='
                     {
-                    match(input,90,FOLLOW_90_in_assignmentOperator3011); if (failed) return ;
+                    match(input,91,FOLLOW_91_in_assignmentOperator3109); if (failed) return ;
 
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:765:9: '*='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:789:9: '*='
                     {
-                    match(input,91,FOLLOW_91_in_assignmentOperator3021); if (failed) return ;
+                    match(input,92,FOLLOW_92_in_assignmentOperator3119); if (failed) return ;
 
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:766:9: '/='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:790:9: '/='
                     {
-                    match(input,92,FOLLOW_92_in_assignmentOperator3031); if (failed) return ;
+                    match(input,93,FOLLOW_93_in_assignmentOperator3129); if (failed) return ;
 
                     }
                     break;
                 case 6 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:767:9: '&='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:791:9: '&='
                     {
-                    match(input,93,FOLLOW_93_in_assignmentOperator3041); if (failed) return ;
+                    match(input,94,FOLLOW_94_in_assignmentOperator3139); if (failed) return ;
 
                     }
                     break;
                 case 7 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:768:9: '|='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:792:9: '|='
                     {
-                    match(input,94,FOLLOW_94_in_assignmentOperator3051); if (failed) return ;
+                    match(input,95,FOLLOW_95_in_assignmentOperator3149); if (failed) return ;
 
                     }
                     break;
                 case 8 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:769:9: '^='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:793:9: '^='
                     {
-                    match(input,95,FOLLOW_95_in_assignmentOperator3061); if (failed) return ;
+                    match(input,96,FOLLOW_96_in_assignmentOperator3159); if (failed) return ;
 
                     }
                     break;
                 case 9 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:770:9: '%='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:794:9: '%='
                     {
-                    match(input,96,FOLLOW_96_in_assignmentOperator3071); if (failed) return ;
+                    match(input,97,FOLLOW_97_in_assignmentOperator3169); if (failed) return ;
 
                     }
                     break;
                 case 10 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:771:9: '<' '<' '='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:795:9: '<' '<' '='
                     {
-                    match(input,33,FOLLOW_33_in_assignmentOperator3081); if (failed) return ;
-                    match(input,33,FOLLOW_33_in_assignmentOperator3083); if (failed) return ;
-                    match(input,44,FOLLOW_44_in_assignmentOperator3085); if (failed) return ;
+                    match(input,33,FOLLOW_33_in_assignmentOperator3179); if (failed) return ;
+                    match(input,33,FOLLOW_33_in_assignmentOperator3181); if (failed) return ;
+                    match(input,44,FOLLOW_44_in_assignmentOperator3183); if (failed) return ;
 
                     }
                     break;
                 case 11 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:772:9: '>' '>' '='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:796:9: '>' '>' '='
                     {
-                    match(input,35,FOLLOW_35_in_assignmentOperator3095); if (failed) return ;
-                    match(input,35,FOLLOW_35_in_assignmentOperator3097); if (failed) return ;
-                    match(input,44,FOLLOW_44_in_assignmentOperator3099); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_assignmentOperator3193); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_assignmentOperator3195); if (failed) return ;
+                    match(input,44,FOLLOW_44_in_assignmentOperator3197); if (failed) return ;
 
                     }
                     break;
                 case 12 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:773:9: '>' '>' '>' '='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:797:9: '>' '>' '>' '='
                     {
-                    match(input,35,FOLLOW_35_in_assignmentOperator3109); if (failed) return ;
-                    match(input,35,FOLLOW_35_in_assignmentOperator3111); if (failed) return ;
-                    match(input,35,FOLLOW_35_in_assignmentOperator3113); if (failed) return ;
-                    match(input,44,FOLLOW_44_in_assignmentOperator3115); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_assignmentOperator3207); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_assignmentOperator3209); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_assignmentOperator3211); if (failed) return ;
+                    match(input,44,FOLLOW_44_in_assignmentOperator3213); if (failed) return ;
 
                     }
                     break;
@@ -9347,7 +9490,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 100, assignmentOperator_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 101, assignmentOperator_StartIndex); }
         }
         return ;
     }
@@ -9355,36 +9498,36 @@
 
 
     // $ANTLR start conditionalExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:776:1: conditionalExpression : conditionalOrExpression ( '?' expression ':' expression )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:800:1: conditionalExpression : conditionalOrExpression ( '?' expression ':' expression )? ;
     public final void conditionalExpression() throws RecognitionException {
         int conditionalExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 101) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:777:5: ( conditionalOrExpression ( '?' expression ':' expression )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:777:9: conditionalOrExpression ( '?' expression ':' expression )?
+            if ( backtracking>0 && alreadyParsedRule(input, 102) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:801:5: ( conditionalOrExpression ( '?' expression ':' expression )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:801:9: conditionalOrExpression ( '?' expression ':' expression )?
             {
-            pushFollow(FOLLOW_conditionalOrExpression_in_conditionalExpression3131);
+            pushFollow(FOLLOW_conditionalOrExpression_in_conditionalExpression3229);
             conditionalOrExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:777:33: ( '?' expression ':' expression )?
-            int alt130=2;
-            int LA130_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:801:33: ( '?' expression ':' expression )?
+            int alt132=2;
+            int LA132_0 = input.LA(1);
 
-            if ( (LA130_0==63) ) {
-                alt130=1;
+            if ( (LA132_0==63) ) {
+                alt132=1;
             }
-            switch (alt130) {
+            switch (alt132) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:777:35: '?' expression ':' expression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:801:35: '?' expression ':' expression
                     {
-                    match(input,63,FOLLOW_63_in_conditionalExpression3135); if (failed) return ;
-                    pushFollow(FOLLOW_expression_in_conditionalExpression3137);
+                    match(input,63,FOLLOW_63_in_conditionalExpression3233); if (failed) return ;
+                    pushFollow(FOLLOW_expression_in_conditionalExpression3235);
                     expression();
                     _fsp--;
                     if (failed) return ;
-                    match(input,74,FOLLOW_74_in_conditionalExpression3139); if (failed) return ;
-                    pushFollow(FOLLOW_expression_in_conditionalExpression3141);
+                    match(input,74,FOLLOW_74_in_conditionalExpression3237); if (failed) return ;
+                    pushFollow(FOLLOW_expression_in_conditionalExpression3239);
                     expression();
                     _fsp--;
                     if (failed) return ;
@@ -9403,7 +9546,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 101, conditionalExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 102, conditionalExpression_StartIndex); }
         }
         return ;
     }
@@ -9411,35 +9554,35 @@
 
 
     // $ANTLR start conditionalOrExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:780:1: conditionalOrExpression : conditionalAndExpression ( '||' conditionalAndExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:804:1: conditionalOrExpression : conditionalAndExpression ( '||' conditionalAndExpression )* ;
     public final void conditionalOrExpression() throws RecognitionException {
         int conditionalOrExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 102) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:781:5: ( conditionalAndExpression ( '||' conditionalAndExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:781:9: conditionalAndExpression ( '||' conditionalAndExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 103) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:805:5: ( conditionalAndExpression ( '||' conditionalAndExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:805:9: conditionalAndExpression ( '||' conditionalAndExpression )*
             {
-            pushFollow(FOLLOW_conditionalAndExpression_in_conditionalOrExpression3160);
+            pushFollow(FOLLOW_conditionalAndExpression_in_conditionalOrExpression3258);
             conditionalAndExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:781:34: ( '||' conditionalAndExpression )*
-            loop131:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:805:34: ( '||' conditionalAndExpression )*
+            loop133:
             do {
-                int alt131=2;
-                int LA131_0 = input.LA(1);
+                int alt133=2;
+                int LA133_0 = input.LA(1);
 
-                if ( (LA131_0==97) ) {
-                    alt131=1;
+                if ( (LA133_0==98) ) {
+                    alt133=1;
                 }
 
 
-                switch (alt131) {
+                switch (alt133) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:781:36: '||' conditionalAndExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:805:36: '||' conditionalAndExpression
             	    {
-            	    match(input,97,FOLLOW_97_in_conditionalOrExpression3164); if (failed) return ;
-            	    pushFollow(FOLLOW_conditionalAndExpression_in_conditionalOrExpression3166);
+            	    match(input,98,FOLLOW_98_in_conditionalOrExpression3262); if (failed) return ;
+            	    pushFollow(FOLLOW_conditionalAndExpression_in_conditionalOrExpression3264);
             	    conditionalAndExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -9448,7 +9591,7 @@
             	    break;
 
             	default :
-            	    break loop131;
+            	    break loop133;
                 }
             } while (true);
 
@@ -9461,7 +9604,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 102, conditionalOrExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 103, conditionalOrExpression_StartIndex); }
         }
         return ;
     }
@@ -9469,35 +9612,35 @@
 
 
     // $ANTLR start conditionalAndExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:784:1: conditionalAndExpression : inclusiveOrExpression ( '&&' inclusiveOrExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:808:1: conditionalAndExpression : inclusiveOrExpression ( '&&' inclusiveOrExpression )* ;
     public final void conditionalAndExpression() throws RecognitionException {
         int conditionalAndExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 103) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:785:5: ( inclusiveOrExpression ( '&&' inclusiveOrExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:785:9: inclusiveOrExpression ( '&&' inclusiveOrExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 104) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:809:5: ( inclusiveOrExpression ( '&&' inclusiveOrExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:809:9: inclusiveOrExpression ( '&&' inclusiveOrExpression )*
             {
-            pushFollow(FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3185);
+            pushFollow(FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3283);
             inclusiveOrExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:785:31: ( '&&' inclusiveOrExpression )*
-            loop132:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:809:31: ( '&&' inclusiveOrExpression )*
+            loop134:
             do {
-                int alt132=2;
-                int LA132_0 = input.LA(1);
+                int alt134=2;
+                int LA134_0 = input.LA(1);
 
-                if ( (LA132_0==98) ) {
-                    alt132=1;
+                if ( (LA134_0==99) ) {
+                    alt134=1;
                 }
 
 
-                switch (alt132) {
+                switch (alt134) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:785:33: '&&' inclusiveOrExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:809:33: '&&' inclusiveOrExpression
             	    {
-            	    match(input,98,FOLLOW_98_in_conditionalAndExpression3189); if (failed) return ;
-            	    pushFollow(FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3191);
+            	    match(input,99,FOLLOW_99_in_conditionalAndExpression3287); if (failed) return ;
+            	    pushFollow(FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3289);
             	    inclusiveOrExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -9506,7 +9649,7 @@
             	    break;
 
             	default :
-            	    break loop132;
+            	    break loop134;
                 }
             } while (true);
 
@@ -9519,7 +9662,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 103, conditionalAndExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 104, conditionalAndExpression_StartIndex); }
         }
         return ;
     }
@@ -9527,35 +9670,35 @@
 
 
     // $ANTLR start inclusiveOrExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:788:1: inclusiveOrExpression : exclusiveOrExpression ( '|' exclusiveOrExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:812:1: inclusiveOrExpression : exclusiveOrExpression ( '|' exclusiveOrExpression )* ;
     public final void inclusiveOrExpression() throws RecognitionException {
         int inclusiveOrExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 104) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:789:5: ( exclusiveOrExpression ( '|' exclusiveOrExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:789:9: exclusiveOrExpression ( '|' exclusiveOrExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 105) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:5: ( exclusiveOrExpression ( '|' exclusiveOrExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:9: exclusiveOrExpression ( '|' exclusiveOrExpression )*
             {
-            pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3210);
+            pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3308);
             exclusiveOrExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:789:31: ( '|' exclusiveOrExpression )*
-            loop133:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:31: ( '|' exclusiveOrExpression )*
+            loop135:
             do {
-                int alt133=2;
-                int LA133_0 = input.LA(1);
+                int alt135=2;
+                int LA135_0 = input.LA(1);
 
-                if ( (LA133_0==99) ) {
-                    alt133=1;
+                if ( (LA135_0==100) ) {
+                    alt135=1;
                 }
 
 
-                switch (alt133) {
+                switch (alt135) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:789:33: '|' exclusiveOrExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:33: '|' exclusiveOrExpression
             	    {
-            	    match(input,99,FOLLOW_99_in_inclusiveOrExpression3214); if (failed) return ;
-            	    pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3216);
+            	    match(input,100,FOLLOW_100_in_inclusiveOrExpression3312); if (failed) return ;
+            	    pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3314);
             	    exclusiveOrExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -9564,7 +9707,7 @@
             	    break;
 
             	default :
-            	    break loop133;
+            	    break loop135;
                 }
             } while (true);
 
@@ -9577,7 +9720,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 104, inclusiveOrExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 105, inclusiveOrExpression_StartIndex); }
         }
         return ;
     }
@@ -9585,35 +9728,35 @@
 
 
     // $ANTLR start exclusiveOrExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:792:1: exclusiveOrExpression : andExpression ( '^' andExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:816:1: exclusiveOrExpression : andExpression ( '^' andExpression )* ;
     public final void exclusiveOrExpression() throws RecognitionException {
         int exclusiveOrExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 105) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:793:5: ( andExpression ( '^' andExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:793:9: andExpression ( '^' andExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 106) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:817:5: ( andExpression ( '^' andExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:817:9: andExpression ( '^' andExpression )*
             {
-            pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression3235);
+            pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression3333);
             andExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:793:23: ( '^' andExpression )*
-            loop134:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:817:23: ( '^' andExpression )*
+            loop136:
             do {
-                int alt134=2;
-                int LA134_0 = input.LA(1);
+                int alt136=2;
+                int LA136_0 = input.LA(1);
 
-                if ( (LA134_0==100) ) {
-                    alt134=1;
+                if ( (LA136_0==101) ) {
+                    alt136=1;
                 }
 
 
-                switch (alt134) {
+                switch (alt136) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:793:25: '^' andExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:817:25: '^' andExpression
             	    {
-            	    match(input,100,FOLLOW_100_in_exclusiveOrExpression3239); if (failed) return ;
-            	    pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression3241);
+            	    match(input,101,FOLLOW_101_in_exclusiveOrExpression3337); if (failed) return ;
+            	    pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression3339);
             	    andExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -9622,7 +9765,7 @@
             	    break;
 
             	default :
-            	    break loop134;
+            	    break loop136;
                 }
             } while (true);
 
@@ -9635,7 +9778,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 105, exclusiveOrExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 106, exclusiveOrExpression_StartIndex); }
         }
         return ;
     }
@@ -9643,35 +9786,35 @@
 
 
     // $ANTLR start andExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:796:1: andExpression : equalityExpression ( '&' equalityExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:820:1: andExpression : equalityExpression ( '&' equalityExpression )* ;
     public final void andExpression() throws RecognitionException {
         int andExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 106) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:797:5: ( equalityExpression ( '&' equalityExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:797:9: equalityExpression ( '&' equalityExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 107) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:821:5: ( equalityExpression ( '&' equalityExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:821:9: equalityExpression ( '&' equalityExpression )*
             {
-            pushFollow(FOLLOW_equalityExpression_in_andExpression3260);
+            pushFollow(FOLLOW_equalityExpression_in_andExpression3358);
             equalityExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:797:28: ( '&' equalityExpression )*
-            loop135:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:821:28: ( '&' equalityExpression )*
+            loop137:
             do {
-                int alt135=2;
-                int LA135_0 = input.LA(1);
+                int alt137=2;
+                int LA137_0 = input.LA(1);
 
-                if ( (LA135_0==36) ) {
-                    alt135=1;
+                if ( (LA137_0==36) ) {
+                    alt137=1;
                 }
 
 
-                switch (alt135) {
+                switch (alt137) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:797:30: '&' equalityExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:821:30: '&' equalityExpression
             	    {
-            	    match(input,36,FOLLOW_36_in_andExpression3264); if (failed) return ;
-            	    pushFollow(FOLLOW_equalityExpression_in_andExpression3266);
+            	    match(input,36,FOLLOW_36_in_andExpression3362); if (failed) return ;
+            	    pushFollow(FOLLOW_equalityExpression_in_andExpression3364);
             	    equalityExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -9680,7 +9823,7 @@
             	    break;
 
             	default :
-            	    break loop135;
+            	    break loop137;
                 }
             } while (true);
 
@@ -9693,7 +9836,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 106, andExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 107, andExpression_StartIndex); }
         }
         return ;
     }
@@ -9701,34 +9844,34 @@
 
 
     // $ANTLR start equalityExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:800:1: equalityExpression : instanceOfExpression ( ( '==' | '!=' ) instanceOfExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:824:1: equalityExpression : instanceOfExpression ( ( '==' | '!=' ) instanceOfExpression )* ;
     public final void equalityExpression() throws RecognitionException {
         int equalityExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 107) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:801:5: ( instanceOfExpression ( ( '==' | '!=' ) instanceOfExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:801:9: instanceOfExpression ( ( '==' | '!=' ) instanceOfExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 108) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:825:5: ( instanceOfExpression ( ( '==' | '!=' ) instanceOfExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:825:9: instanceOfExpression ( ( '==' | '!=' ) instanceOfExpression )*
             {
-            pushFollow(FOLLOW_instanceOfExpression_in_equalityExpression3285);
+            pushFollow(FOLLOW_instanceOfExpression_in_equalityExpression3383);
             instanceOfExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:801:30: ( ( '==' | '!=' ) instanceOfExpression )*
-            loop136:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:825:30: ( ( '==' | '!=' ) instanceOfExpression )*
+            loop138:
             do {
-                int alt136=2;
-                int LA136_0 = input.LA(1);
+                int alt138=2;
+                int LA138_0 = input.LA(1);
 
-                if ( ((LA136_0>=101 && LA136_0<=102)) ) {
-                    alt136=1;
+                if ( ((LA138_0>=102 && LA138_0<=103)) ) {
+                    alt138=1;
                 }
 
 
-                switch (alt136) {
+                switch (alt138) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:801:32: ( '==' | '!=' ) instanceOfExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:825:32: ( '==' | '!=' ) instanceOfExpression
             	    {
-            	    if ( (input.LA(1)>=101 && input.LA(1)<=102) ) {
+            	    if ( (input.LA(1)>=102 && input.LA(1)<=103) ) {
             	        input.consume();
             	        errorRecovery=false;failed=false;
             	    }
@@ -9736,10 +9879,10 @@
             	        if (backtracking>0) {failed=true; return ;}
             	        MismatchedSetException mse =
             	            new MismatchedSetException(null,input);
-            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_equalityExpression3289);    throw mse;
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_equalityExpression3387);    throw mse;
             	    }
 
-            	    pushFollow(FOLLOW_instanceOfExpression_in_equalityExpression3297);
+            	    pushFollow(FOLLOW_instanceOfExpression_in_equalityExpression3395);
             	    instanceOfExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -9748,7 +9891,7 @@
             	    break;
 
             	default :
-            	    break loop136;
+            	    break loop138;
                 }
             } while (true);
 
@@ -9761,7 +9904,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 107, equalityExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 108, equalityExpression_StartIndex); }
         }
         return ;
     }
@@ -9769,31 +9912,31 @@
 
 
     // $ANTLR start instanceOfExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:804:1: instanceOfExpression : relationalExpression ( 'instanceof' type )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:828:1: instanceOfExpression : relationalExpression ( 'instanceof' type )? ;
     public final void instanceOfExpression() throws RecognitionException {
         int instanceOfExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 108) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:805:5: ( relationalExpression ( 'instanceof' type )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:805:9: relationalExpression ( 'instanceof' type )?
+            if ( backtracking>0 && alreadyParsedRule(input, 109) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:829:5: ( relationalExpression ( 'instanceof' type )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:829:9: relationalExpression ( 'instanceof' type )?
             {
-            pushFollow(FOLLOW_relationalExpression_in_instanceOfExpression3316);
+            pushFollow(FOLLOW_relationalExpression_in_instanceOfExpression3414);
             relationalExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:805:30: ( 'instanceof' type )?
-            int alt137=2;
-            int LA137_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:829:30: ( 'instanceof' type )?
+            int alt139=2;
+            int LA139_0 = input.LA(1);
 
-            if ( (LA137_0==103) ) {
-                alt137=1;
+            if ( (LA139_0==104) ) {
+                alt139=1;
             }
-            switch (alt137) {
+            switch (alt139) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:805:31: 'instanceof' type
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:829:31: 'instanceof' type
                     {
-                    match(input,103,FOLLOW_103_in_instanceOfExpression3319); if (failed) return ;
-                    pushFollow(FOLLOW_type_in_instanceOfExpression3321);
+                    match(input,104,FOLLOW_104_in_instanceOfExpression3417); if (failed) return ;
+                    pushFollow(FOLLOW_type_in_instanceOfExpression3419);
                     type();
                     _fsp--;
                     if (failed) return ;
@@ -9812,7 +9955,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 108, instanceOfExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 109, instanceOfExpression_StartIndex); }
         }
         return ;
     }
@@ -9820,35 +9963,35 @@
 
 
     // $ANTLR start relationalExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:808:1: relationalExpression : shiftExpression ( relationalOp shiftExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:832:1: relationalExpression : shiftExpression ( relationalOp shiftExpression )* ;
     public final void relationalExpression() throws RecognitionException {
         int relationalExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 109) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:809:5: ( shiftExpression ( relationalOp shiftExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:809:9: shiftExpression ( relationalOp shiftExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 110) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:833:5: ( shiftExpression ( relationalOp shiftExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:833:9: shiftExpression ( relationalOp shiftExpression )*
             {
-            pushFollow(FOLLOW_shiftExpression_in_relationalExpression3339);
+            pushFollow(FOLLOW_shiftExpression_in_relationalExpression3437);
             shiftExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:809:25: ( relationalOp shiftExpression )*
-            loop138:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:833:25: ( relationalOp shiftExpression )*
+            loop140:
             do {
-                int alt138=2;
-                int LA138_0 = input.LA(1);
+                int alt140=2;
+                int LA140_0 = input.LA(1);
 
-                if ( (LA138_0==33) ) {
-                    int LA138_23 = input.LA(2);
+                if ( (LA140_0==33) ) {
+                    int LA140_23 = input.LA(2);
 
-                    if ( (LA138_23==Identifier||(LA138_23>=FloatingPointLiteral && LA138_23<=DecimalLiteral)||LA138_23==40||LA138_23==44||(LA138_23>=55 && LA138_23<=62)||(LA138_23>=64 && LA138_23<=65)||(LA138_23>=68 && LA138_23<=70)||(LA138_23>=104 && LA138_23<=105)||(LA138_23>=108 && LA138_23<=113)) ) {
-                        alt138=1;
+                    if ( (LA140_23==Identifier||(LA140_23>=FloatingPointLiteral && LA140_23<=DecimalLiteral)||LA140_23==40||LA140_23==44||(LA140_23>=55 && LA140_23<=62)||(LA140_23>=64 && LA140_23<=65)||(LA140_23>=68 && LA140_23<=70)||(LA140_23>=105 && LA140_23<=106)||(LA140_23>=109 && LA140_23<=114)) ) {
+                        alt140=1;
                     }
-                    else if ( (LA138_23==33) ) {
-                        int LA138_28 = input.LA(3);
+                    else if ( (LA140_23==33) ) {
+                        int LA140_28 = input.LA(3);
 
-                        if ( (synpred205()) ) {
-                            alt138=1;
+                        if ( (synpred208()) ) {
+                            alt140=1;
                         }
 
 
@@ -9856,26 +9999,26 @@
 
 
                 }
-                else if ( (LA138_0==35) ) {
-                    int LA138_24 = input.LA(2);
+                else if ( (LA140_0==35) ) {
+                    int LA140_24 = input.LA(2);
 
-                    if ( (LA138_24==Identifier||(LA138_24>=FloatingPointLiteral && LA138_24<=DecimalLiteral)||LA138_24==33||LA138_24==40||LA138_24==44||(LA138_24>=55 && LA138_24<=62)||(LA138_24>=64 && LA138_24<=65)||(LA138_24>=68 && LA138_24<=70)||(LA138_24>=104 && LA138_24<=105)||(LA138_24>=108 && LA138_24<=113)) ) {
-                        alt138=1;
+                    if ( (LA140_24==Identifier||(LA140_24>=FloatingPointLiteral && LA140_24<=DecimalLiteral)||LA140_24==33||LA140_24==40||LA140_24==44||(LA140_24>=55 && LA140_24<=62)||(LA140_24>=64 && LA140_24<=65)||(LA140_24>=68 && LA140_24<=70)||(LA140_24>=105 && LA140_24<=106)||(LA140_24>=109 && LA140_24<=114)) ) {
+                        alt140=1;
                     }
 
 
                 }
 
 
-                switch (alt138) {
+                switch (alt140) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:809:27: relationalOp shiftExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:833:27: relationalOp shiftExpression
             	    {
-            	    pushFollow(FOLLOW_relationalOp_in_relationalExpression3343);
+            	    pushFollow(FOLLOW_relationalOp_in_relationalExpression3441);
             	    relationalOp();
             	    _fsp--;
             	    if (failed) return ;
-            	    pushFollow(FOLLOW_shiftExpression_in_relationalExpression3345);
+            	    pushFollow(FOLLOW_shiftExpression_in_relationalExpression3443);
             	    shiftExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -9884,7 +10027,7 @@
             	    break;
 
             	default :
-            	    break loop138;
+            	    break loop140;
                 }
             } while (true);
 
@@ -9897,7 +10040,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 109, relationalExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 110, relationalExpression_StartIndex); }
         }
         return ;
     }
@@ -9905,48 +10048,48 @@
 
 
     // $ANTLR start relationalOp
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:812:1: relationalOp : ( '<' '=' | '>' '=' | '<' | '>' ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:836:1: relationalOp : ( '<' '=' | '>' '=' | '<' | '>' ) ;
     public final void relationalOp() throws RecognitionException {
         int relationalOp_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 110) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:2: ( ( '<' '=' | '>' '=' | '<' | '>' ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:4: ( '<' '=' | '>' '=' | '<' | '>' )
+            if ( backtracking>0 && alreadyParsedRule(input, 111) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:837:2: ( ( '<' '=' | '>' '=' | '<' | '>' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:837:4: ( '<' '=' | '>' '=' | '<' | '>' )
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:4: ( '<' '=' | '>' '=' | '<' | '>' )
-            int alt139=4;
-            int LA139_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:837:4: ( '<' '=' | '>' '=' | '<' | '>' )
+            int alt141=4;
+            int LA141_0 = input.LA(1);
 
-            if ( (LA139_0==33) ) {
-                int LA139_1 = input.LA(2);
+            if ( (LA141_0==33) ) {
+                int LA141_1 = input.LA(2);
 
-                if ( (LA139_1==44) ) {
-                    alt139=1;
+                if ( (LA141_1==44) ) {
+                    alt141=1;
                 }
-                else if ( (LA139_1==Identifier||(LA139_1>=FloatingPointLiteral && LA139_1<=DecimalLiteral)||LA139_1==33||LA139_1==40||(LA139_1>=55 && LA139_1<=62)||(LA139_1>=64 && LA139_1<=65)||(LA139_1>=68 && LA139_1<=70)||(LA139_1>=104 && LA139_1<=105)||(LA139_1>=108 && LA139_1<=113)) ) {
-                    alt139=3;
+                else if ( (LA141_1==Identifier||(LA141_1>=FloatingPointLiteral && LA141_1<=DecimalLiteral)||LA141_1==33||LA141_1==40||(LA141_1>=55 && LA141_1<=62)||(LA141_1>=64 && LA141_1<=65)||(LA141_1>=68 && LA141_1<=70)||(LA141_1>=105 && LA141_1<=106)||(LA141_1>=109 && LA141_1<=114)) ) {
+                    alt141=3;
                 }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("813:4: ( '<' '=' | '>' '=' | '<' | '>' )", 139, 1, input);
+                        new NoViableAltException("837:4: ( '<' '=' | '>' '=' | '<' | '>' )", 141, 1, input);
 
                     throw nvae;
                 }
             }
-            else if ( (LA139_0==35) ) {
-                int LA139_2 = input.LA(2);
+            else if ( (LA141_0==35) ) {
+                int LA141_2 = input.LA(2);
 
-                if ( (LA139_2==44) ) {
-                    alt139=2;
+                if ( (LA141_2==44) ) {
+                    alt141=2;
                 }
-                else if ( (LA139_2==Identifier||(LA139_2>=FloatingPointLiteral && LA139_2<=DecimalLiteral)||LA139_2==33||LA139_2==40||(LA139_2>=55 && LA139_2<=62)||(LA139_2>=64 && LA139_2<=65)||(LA139_2>=68 && LA139_2<=70)||(LA139_2>=104 && LA139_2<=105)||(LA139_2>=108 && LA139_2<=113)) ) {
-                    alt139=4;
+                else if ( (LA141_2==Identifier||(LA141_2>=FloatingPointLiteral && LA141_2<=DecimalLiteral)||LA141_2==33||LA141_2==40||(LA141_2>=55 && LA141_2<=62)||(LA141_2>=64 && LA141_2<=65)||(LA141_2>=68 && LA141_2<=70)||(LA141_2>=105 && LA141_2<=106)||(LA141_2>=109 && LA141_2<=114)) ) {
+                    alt141=4;
                 }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("813:4: ( '<' '=' | '>' '=' | '<' | '>' )", 139, 2, input);
+                        new NoViableAltException("837:4: ( '<' '=' | '>' '=' | '<' | '>' )", 141, 2, input);
 
                     throw nvae;
                 }
@@ -9954,38 +10097,38 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("813:4: ( '<' '=' | '>' '=' | '<' | '>' )", 139, 0, input);
+                    new NoViableAltException("837:4: ( '<' '=' | '>' '=' | '<' | '>' )", 141, 0, input);
 
                 throw nvae;
             }
-            switch (alt139) {
+            switch (alt141) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:5: '<' '='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:837:5: '<' '='
                     {
-                    match(input,33,FOLLOW_33_in_relationalOp3361); if (failed) return ;
-                    match(input,44,FOLLOW_44_in_relationalOp3363); if (failed) return ;
+                    match(input,33,FOLLOW_33_in_relationalOp3459); if (failed) return ;
+                    match(input,44,FOLLOW_44_in_relationalOp3461); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:15: '>' '='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:837:15: '>' '='
                     {
-                    match(input,35,FOLLOW_35_in_relationalOp3367); if (failed) return ;
-                    match(input,44,FOLLOW_44_in_relationalOp3369); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_relationalOp3465); if (failed) return ;
+                    match(input,44,FOLLOW_44_in_relationalOp3467); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:25: '<'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:837:25: '<'
                     {
-                    match(input,33,FOLLOW_33_in_relationalOp3373); if (failed) return ;
+                    match(input,33,FOLLOW_33_in_relationalOp3471); if (failed) return ;
 
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:813:31: '>'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:837:31: '>'
                     {
-                    match(input,35,FOLLOW_35_in_relationalOp3377); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_relationalOp3475); if (failed) return ;
 
                     }
                     break;
@@ -10001,7 +10144,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 110, relationalOp_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 111, relationalOp_StartIndex); }
         }
         return ;
     }
@@ -10009,32 +10152,32 @@
 
 
     // $ANTLR start shiftExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:816:1: shiftExpression : additiveExpression ( shiftOp additiveExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:840:1: shiftExpression : additiveExpression ( shiftOp additiveExpression )* ;
     public final void shiftExpression() throws RecognitionException {
         int shiftExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 111) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:817:5: ( additiveExpression ( shiftOp additiveExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:817:9: additiveExpression ( shiftOp additiveExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 112) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:841:5: ( additiveExpression ( shiftOp additiveExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:841:9: additiveExpression ( shiftOp additiveExpression )*
             {
-            pushFollow(FOLLOW_additiveExpression_in_shiftExpression3394);
+            pushFollow(FOLLOW_additiveExpression_in_shiftExpression3492);
             additiveExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:817:28: ( shiftOp additiveExpression )*
-            loop140:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:841:28: ( shiftOp additiveExpression )*
+            loop142:
             do {
-                int alt140=2;
-                int LA140_0 = input.LA(1);
+                int alt142=2;
+                int LA142_0 = input.LA(1);
 
-                if ( (LA140_0==33) ) {
-                    int LA140_1 = input.LA(2);
+                if ( (LA142_0==33) ) {
+                    int LA142_1 = input.LA(2);
 
-                    if ( (LA140_1==33) ) {
-                        int LA140_27 = input.LA(3);
+                    if ( (LA142_1==33) ) {
+                        int LA142_27 = input.LA(3);
 
-                        if ( (synpred209()) ) {
-                            alt140=1;
+                        if ( (synpred212()) ) {
+                            alt142=1;
                         }
 
 
@@ -10042,14 +10185,14 @@
 
 
                 }
-                else if ( (LA140_0==35) ) {
-                    int LA140_2 = input.LA(2);
+                else if ( (LA142_0==35) ) {
+                    int LA142_2 = input.LA(2);
 
-                    if ( (LA140_2==35) ) {
-                        int LA140_48 = input.LA(3);
+                    if ( (LA142_2==35) ) {
+                        int LA142_48 = input.LA(3);
 
-                        if ( (synpred209()) ) {
-                            alt140=1;
+                        if ( (synpred212()) ) {
+                            alt142=1;
                         }
 
 
@@ -10059,15 +10202,15 @@
                 }
 
 
-                switch (alt140) {
+                switch (alt142) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:817:30: shiftOp additiveExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:841:30: shiftOp additiveExpression
             	    {
-            	    pushFollow(FOLLOW_shiftOp_in_shiftExpression3398);
+            	    pushFollow(FOLLOW_shiftOp_in_shiftExpression3496);
             	    shiftOp();
             	    _fsp--;
             	    if (failed) return ;
-            	    pushFollow(FOLLOW_additiveExpression_in_shiftExpression3400);
+            	    pushFollow(FOLLOW_additiveExpression_in_shiftExpression3498);
             	    additiveExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -10076,7 +10219,7 @@
             	    break;
 
             	default :
-            	    break loop140;
+            	    break loop142;
                 }
             } while (true);
 
@@ -10089,7 +10232,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 111, shiftExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 112, shiftExpression_StartIndex); }
         }
         return ;
     }
@@ -10097,37 +10240,37 @@
 
 
     // $ANTLR start shiftOp
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:821:1: shiftOp : ( '<' '<' | '>' '>' '>' | '>' '>' ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:845:1: shiftOp : ( '<' '<' | '>' '>' '>' | '>' '>' ) ;
     public final void shiftOp() throws RecognitionException {
         int shiftOp_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 112) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:822:2: ( ( '<' '<' | '>' '>' '>' | '>' '>' ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:822:4: ( '<' '<' | '>' '>' '>' | '>' '>' )
+            if ( backtracking>0 && alreadyParsedRule(input, 113) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:2: ( ( '<' '<' | '>' '>' '>' | '>' '>' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:4: ( '<' '<' | '>' '>' '>' | '>' '>' )
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:822:4: ( '<' '<' | '>' '>' '>' | '>' '>' )
-            int alt141=3;
-            int LA141_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:4: ( '<' '<' | '>' '>' '>' | '>' '>' )
+            int alt143=3;
+            int LA143_0 = input.LA(1);
 
-            if ( (LA141_0==33) ) {
-                alt141=1;
+            if ( (LA143_0==33) ) {
+                alt143=1;
             }
-            else if ( (LA141_0==35) ) {
-                int LA141_2 = input.LA(2);
+            else if ( (LA143_0==35) ) {
+                int LA143_2 = input.LA(2);
 
-                if ( (LA141_2==35) ) {
-                    int LA141_3 = input.LA(3);
+                if ( (LA143_2==35) ) {
+                    int LA143_3 = input.LA(3);
 
-                    if ( (synpred211()) ) {
-                        alt141=2;
+                    if ( (synpred214()) ) {
+                        alt143=2;
                     }
                     else if ( (true) ) {
-                        alt141=3;
+                        alt143=3;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("822:4: ( '<' '<' | '>' '>' '>' | '>' '>' )", 141, 3, input);
+                            new NoViableAltException("846:4: ( '<' '<' | '>' '>' '>' | '>' '>' )", 143, 3, input);
 
                         throw nvae;
                     }
@@ -10135,7 +10278,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("822:4: ( '<' '<' | '>' '>' '>' | '>' '>' )", 141, 2, input);
+                        new NoViableAltException("846:4: ( '<' '<' | '>' '>' '>' | '>' '>' )", 143, 2, input);
 
                     throw nvae;
                 }
@@ -10143,33 +10286,33 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("822:4: ( '<' '<' | '>' '>' '>' | '>' '>' )", 141, 0, input);
+                    new NoViableAltException("846:4: ( '<' '<' | '>' '>' '>' | '>' '>' )", 143, 0, input);
 
                 throw nvae;
             }
-            switch (alt141) {
+            switch (alt143) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:822:5: '<' '<'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:5: '<' '<'
                     {
-                    match(input,33,FOLLOW_33_in_shiftOp3424); if (failed) return ;
-                    match(input,33,FOLLOW_33_in_shiftOp3426); if (failed) return ;
+                    match(input,33,FOLLOW_33_in_shiftOp3522); if (failed) return ;
+                    match(input,33,FOLLOW_33_in_shiftOp3524); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:822:15: '>' '>' '>'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:15: '>' '>' '>'
                     {
-                    match(input,35,FOLLOW_35_in_shiftOp3430); if (failed) return ;
-                    match(input,35,FOLLOW_35_in_shiftOp3432); if (failed) return ;
-                    match(input,35,FOLLOW_35_in_shiftOp3434); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_shiftOp3528); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_shiftOp3530); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_shiftOp3532); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:822:29: '>' '>'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:29: '>' '>'
                     {
-                    match(input,35,FOLLOW_35_in_shiftOp3438); if (failed) return ;
-                    match(input,35,FOLLOW_35_in_shiftOp3440); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_shiftOp3536); if (failed) return ;
+                    match(input,35,FOLLOW_35_in_shiftOp3538); if (failed) return ;
 
                     }
                     break;
@@ -10185,7 +10328,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 112, shiftOp_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 113, shiftOp_StartIndex); }
         }
         return ;
     }
@@ -10193,34 +10336,34 @@
 
 
     // $ANTLR start additiveExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:826:1: additiveExpression : multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:850:1: additiveExpression : multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )* ;
     public final void additiveExpression() throws RecognitionException {
         int additiveExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 113) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:827:5: ( multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:827:9: multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 114) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:851:5: ( multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:851:9: multiplicativeExpression ( ( '+' | '-' ) multiplicativeExpression )*
             {
-            pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression3458);
+            pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression3556);
             multiplicativeExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:827:34: ( ( '+' | '-' ) multiplicativeExpression )*
-            loop142:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:851:34: ( ( '+' | '-' ) multiplicativeExpression )*
+            loop144:
             do {
-                int alt142=2;
-                int LA142_0 = input.LA(1);
+                int alt144=2;
+                int LA144_0 = input.LA(1);
 
-                if ( ((LA142_0>=104 && LA142_0<=105)) ) {
-                    alt142=1;
+                if ( ((LA144_0>=105 && LA144_0<=106)) ) {
+                    alt144=1;
                 }
 
 
-                switch (alt142) {
+                switch (alt144) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:827:36: ( '+' | '-' ) multiplicativeExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:851:36: ( '+' | '-' ) multiplicativeExpression
             	    {
-            	    if ( (input.LA(1)>=104 && input.LA(1)<=105) ) {
+            	    if ( (input.LA(1)>=105 && input.LA(1)<=106) ) {
             	        input.consume();
             	        errorRecovery=false;failed=false;
             	    }
@@ -10228,10 +10371,10 @@
             	        if (backtracking>0) {failed=true; return ;}
             	        MismatchedSetException mse =
             	            new MismatchedSetException(null,input);
-            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_additiveExpression3462);    throw mse;
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_additiveExpression3560);    throw mse;
             	    }
 
-            	    pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression3470);
+            	    pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression3568);
             	    multiplicativeExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -10240,7 +10383,7 @@
             	    break;
 
             	default :
-            	    break loop142;
+            	    break loop144;
                 }
             } while (true);
 
@@ -10253,7 +10396,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 113, additiveExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 114, additiveExpression_StartIndex); }
         }
         return ;
     }
@@ -10261,34 +10404,34 @@
 
 
     // $ANTLR start multiplicativeExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:830:1: multiplicativeExpression : unaryExpression ( ( '*' | '/' | '%' ) unaryExpression )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:854:1: multiplicativeExpression : unaryExpression ( ( '*' | '/' | '%' ) unaryExpression )* ;
     public final void multiplicativeExpression() throws RecognitionException {
         int multiplicativeExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 114) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:831:5: ( unaryExpression ( ( '*' | '/' | '%' ) unaryExpression )* )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:831:9: unaryExpression ( ( '*' | '/' | '%' ) unaryExpression )*
+            if ( backtracking>0 && alreadyParsedRule(input, 115) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:855:5: ( unaryExpression ( ( '*' | '/' | '%' ) unaryExpression )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:855:9: unaryExpression ( ( '*' | '/' | '%' ) unaryExpression )*
             {
-            pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression3489);
+            pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression3587);
             unaryExpression();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:831:25: ( ( '*' | '/' | '%' ) unaryExpression )*
-            loop143:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:855:25: ( ( '*' | '/' | '%' ) unaryExpression )*
+            loop145:
             do {
-                int alt143=2;
-                int LA143_0 = input.LA(1);
+                int alt145=2;
+                int LA145_0 = input.LA(1);
 
-                if ( (LA143_0==29||(LA143_0>=106 && LA143_0<=107)) ) {
-                    alt143=1;
+                if ( (LA145_0==29||(LA145_0>=107 && LA145_0<=108)) ) {
+                    alt145=1;
                 }
 
 
-                switch (alt143) {
+                switch (alt145) {
             	case 1 :
-            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:831:27: ( '*' | '/' | '%' ) unaryExpression
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:855:27: ( '*' | '/' | '%' ) unaryExpression
             	    {
-            	    if ( input.LA(1)==29||(input.LA(1)>=106 && input.LA(1)<=107) ) {
+            	    if ( input.LA(1)==29||(input.LA(1)>=107 && input.LA(1)<=108) ) {
             	        input.consume();
             	        errorRecovery=false;failed=false;
             	    }
@@ -10296,10 +10439,10 @@
             	        if (backtracking>0) {failed=true; return ;}
             	        MismatchedSetException mse =
             	            new MismatchedSetException(null,input);
-            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_multiplicativeExpression3493);    throw mse;
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_multiplicativeExpression3591);    throw mse;
             	    }
 
-            	    pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression3507);
+            	    pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression3605);
             	    unaryExpression();
             	    _fsp--;
             	    if (failed) return ;
@@ -10308,7 +10451,7 @@
             	    break;
 
             	default :
-            	    break loop143;
+            	    break loop145;
                 }
             } while (true);
 
@@ -10321,7 +10464,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 114, multiplicativeExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 115, multiplicativeExpression_StartIndex); }
         }
         return ;
     }
@@ -10329,32 +10472,32 @@
 
 
     // $ANTLR start unaryExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:834:1: unaryExpression : ( '+' unaryExpression | '-' unaryExpression | '++' primary | '--' primary | unaryExpressionNotPlusMinus );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:1: unaryExpression : ( '+' unaryExpression | '-' unaryExpression | '++' primary | '--' primary | unaryExpressionNotPlusMinus );
     public final void unaryExpression() throws RecognitionException {
         int unaryExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 115) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:835:5: ( '+' unaryExpression | '-' unaryExpression | '++' primary | '--' primary | unaryExpressionNotPlusMinus )
-            int alt144=5;
+            if ( backtracking>0 && alreadyParsedRule(input, 116) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:859:5: ( '+' unaryExpression | '-' unaryExpression | '++' primary | '--' primary | unaryExpressionNotPlusMinus )
+            int alt146=5;
             switch ( input.LA(1) ) {
-            case 104:
+            case 105:
                 {
-                alt144=1;
+                alt146=1;
                 }
                 break;
-            case 105:
+            case 106:
                 {
-                alt144=2;
+                alt146=2;
                 }
                 break;
-            case 108:
+            case 109:
                 {
-                alt144=3;
+                alt146=3;
                 }
                 break;
-            case 109:
+            case 110:
                 {
-                alt144=4;
+                alt146=4;
                 }
                 break;
             case Identifier:
@@ -10379,28 +10522,28 @@
             case 68:
             case 69:
             case 70:
-            case 110:
             case 111:
             case 112:
             case 113:
+            case 114:
                 {
-                alt144=5;
+                alt146=5;
                 }
                 break;
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("834:1: unaryExpression : ( '+' unaryExpression | '-' unaryExpression | '++' primary | '--' primary | unaryExpressionNotPlusMinus );", 144, 0, input);
+                    new NoViableAltException("858:1: unaryExpression : ( '+' unaryExpression | '-' unaryExpression | '++' primary | '--' primary | unaryExpressionNotPlusMinus );", 146, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt144) {
+            switch (alt146) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:835:9: '+' unaryExpression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:859:9: '+' unaryExpression
                     {
-                    match(input,104,FOLLOW_104_in_unaryExpression3527); if (failed) return ;
-                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression3529);
+                    match(input,105,FOLLOW_105_in_unaryExpression3625); if (failed) return ;
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression3627);
                     unaryExpression();
                     _fsp--;
                     if (failed) return ;
@@ -10408,10 +10551,10 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:836:7: '-' unaryExpression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:7: '-' unaryExpression
                     {
-                    match(input,105,FOLLOW_105_in_unaryExpression3537); if (failed) return ;
-                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression3539);
+                    match(input,106,FOLLOW_106_in_unaryExpression3635); if (failed) return ;
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression3637);
                     unaryExpression();
                     _fsp--;
                     if (failed) return ;
@@ -10419,10 +10562,10 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:837:9: '++' primary
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:861:9: '++' primary
                     {
-                    match(input,108,FOLLOW_108_in_unaryExpression3549); if (failed) return ;
-                    pushFollow(FOLLOW_primary_in_unaryExpression3551);
+                    match(input,109,FOLLOW_109_in_unaryExpression3647); if (failed) return ;
+                    pushFollow(FOLLOW_primary_in_unaryExpression3649);
                     primary();
                     _fsp--;
                     if (failed) return ;
@@ -10430,10 +10573,10 @@
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:838:9: '--' primary
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:9: '--' primary
                     {
-                    match(input,109,FOLLOW_109_in_unaryExpression3561); if (failed) return ;
-                    pushFollow(FOLLOW_primary_in_unaryExpression3563);
+                    match(input,110,FOLLOW_110_in_unaryExpression3659); if (failed) return ;
+                    pushFollow(FOLLOW_primary_in_unaryExpression3661);
                     primary();
                     _fsp--;
                     if (failed) return ;
@@ -10441,9 +10584,9 @@
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:839:9: unaryExpressionNotPlusMinus
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:863:9: unaryExpressionNotPlusMinus
                     {
-                    pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression3573);
+                    pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression3671);
                     unaryExpressionNotPlusMinus();
                     _fsp--;
                     if (failed) return ;
@@ -10458,7 +10601,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 115, unaryExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 116, unaryExpression_StartIndex); }
         }
         return ;
     }
@@ -10466,181 +10609,181 @@
 
 
     // $ANTLR start unaryExpressionNotPlusMinus
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );
     public final void unaryExpressionNotPlusMinus() throws RecognitionException {
         int unaryExpressionNotPlusMinus_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 116) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:843:5: ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? )
-            int alt147=4;
+            if ( backtracking>0 && alreadyParsedRule(input, 117) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:867:5: ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? )
+            int alt149=4;
             switch ( input.LA(1) ) {
-            case 110:
+            case 111:
                 {
-                alt147=1;
+                alt149=1;
                 }
                 break;
-            case 111:
+            case 112:
                 {
-                alt147=2;
+                alt149=2;
                 }
                 break;
             case 65:
                 {
                 switch ( input.LA(2) ) {
-                case 55:
-                case 56:
-                case 57:
-                case 58:
-                case 59:
-                case 60:
-                case 61:
-                case 62:
+                case Identifier:
                     {
-                    int LA147_17 = input.LA(3);
+                    int LA149_17 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 17, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 17, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case Identifier:
+                case 55:
+                case 56:
+                case 57:
+                case 58:
+                case 59:
+                case 60:
+                case 61:
+                case 62:
                     {
-                    int LA147_18 = input.LA(3);
+                    int LA149_18 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 18, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 18, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 104:
+                case 105:
                     {
-                    int LA147_19 = input.LA(3);
+                    int LA149_19 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 19, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 19, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 105:
+                case 106:
                     {
-                    int LA147_20 = input.LA(3);
+                    int LA149_20 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 20, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 20, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 108:
+                case 109:
                     {
-                    int LA147_21 = input.LA(3);
+                    int LA149_21 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 21, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 21, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 109:
+                case 110:
                     {
-                    int LA147_22 = input.LA(3);
+                    int LA149_22 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 22, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 22, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 110:
+                case 111:
                     {
-                    int LA147_23 = input.LA(3);
+                    int LA149_23 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 23, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 23, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 111:
+                case 112:
                     {
-                    int LA147_24 = input.LA(3);
+                    int LA149_24 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 24, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 24, input);
 
                         throw nvae;
                     }
@@ -10648,18 +10791,18 @@
                     break;
                 case 65:
                     {
-                    int LA147_25 = input.LA(3);
+                    int LA149_25 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 25, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 25, input);
 
                         throw nvae;
                     }
@@ -10667,37 +10810,37 @@
                     break;
                 case 33:
                     {
-                    int LA147_26 = input.LA(3);
+                    int LA149_26 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 26, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 26, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 112:
+                case 113:
                     {
-                    int LA147_27 = input.LA(3);
+                    int LA149_27 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 27, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 27, input);
 
                         throw nvae;
                     }
@@ -10705,18 +10848,18 @@
                     break;
                 case 64:
                     {
-                    int LA147_28 = input.LA(3);
+                    int LA149_28 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 28, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 28, input);
 
                         throw nvae;
                     }
@@ -10726,18 +10869,18 @@
                 case OctalLiteral:
                 case DecimalLiteral:
                     {
-                    int LA147_29 = input.LA(3);
+                    int LA149_29 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 29, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 29, input);
 
                         throw nvae;
                     }
@@ -10745,18 +10888,18 @@
                     break;
                 case FloatingPointLiteral:
                     {
-                    int LA147_30 = input.LA(3);
+                    int LA149_30 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 30, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 30, input);
 
                         throw nvae;
                     }
@@ -10764,18 +10907,18 @@
                     break;
                 case CharacterLiteral:
                     {
-                    int LA147_31 = input.LA(3);
+                    int LA149_31 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 31, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 31, input);
 
                         throw nvae;
                     }
@@ -10783,18 +10926,18 @@
                     break;
                 case StringLiteral:
                     {
-                    int LA147_32 = input.LA(3);
+                    int LA149_32 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 32, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 32, input);
 
                         throw nvae;
                     }
@@ -10803,18 +10946,18 @@
                 case 69:
                 case 70:
                     {
-                    int LA147_33 = input.LA(3);
+                    int LA149_33 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 33, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 33, input);
 
                         throw nvae;
                     }
@@ -10822,37 +10965,37 @@
                     break;
                 case 68:
                     {
-                    int LA147_34 = input.LA(3);
+                    int LA149_34 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 34, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 34, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 113:
+                case 114:
                     {
-                    int LA147_35 = input.LA(3);
+                    int LA149_35 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 35, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 35, input);
 
                         throw nvae;
                     }
@@ -10860,18 +11003,18 @@
                     break;
                 case 40:
                     {
-                    int LA147_36 = input.LA(3);
+                    int LA149_36 = input.LA(3);
 
-                    if ( (synpred223()) ) {
-                        alt147=3;
+                    if ( (synpred226()) ) {
+                        alt149=3;
                     }
                     else if ( (true) ) {
-                        alt147=4;
+                        alt149=4;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 36, input);
+                            new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 36, input);
 
                         throw nvae;
                     }
@@ -10880,7 +11023,7 @@
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 3, input);
+                        new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 3, input);
 
                     throw nvae;
                 }
@@ -10908,26 +11051,26 @@
             case 68:
             case 69:
             case 70:
-            case 112:
             case 113:
+            case 114:
                 {
-                alt147=4;
+                alt149=4;
                 }
                 break;
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("842:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 147, 0, input);
+                    new NoViableAltException("866:1: unaryExpressionNotPlusMinus : ( '~' unaryExpression | '!' unaryExpression | castExpression | primary ( selector )* ( '++' | '--' )? );", 149, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt147) {
+            switch (alt149) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:843:9: '~' unaryExpression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:867:9: '~' unaryExpression
                     {
-                    match(input,110,FOLLOW_110_in_unaryExpressionNotPlusMinus3592); if (failed) return ;
-                    pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3594);
+                    match(input,111,FOLLOW_111_in_unaryExpressionNotPlusMinus3690); if (failed) return ;
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3692);
                     unaryExpression();
                     _fsp--;
                     if (failed) return ;
@@ -10935,10 +11078,10 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:844:8: '!' unaryExpression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:868:8: '!' unaryExpression
                     {
-                    match(input,111,FOLLOW_111_in_unaryExpressionNotPlusMinus3603); if (failed) return ;
-                    pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3605);
+                    match(input,112,FOLLOW_112_in_unaryExpressionNotPlusMinus3701); if (failed) return ;
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3703);
                     unaryExpression();
                     _fsp--;
                     if (failed) return ;
@@ -10946,9 +11089,9 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:845:9: castExpression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:869:9: castExpression
                     {
-                    pushFollow(FOLLOW_castExpression_in_unaryExpressionNotPlusMinus3615);
+                    pushFollow(FOLLOW_castExpression_in_unaryExpressionNotPlusMinus3713);
                     castExpression();
                     _fsp--;
                     if (failed) return ;
@@ -10956,28 +11099,28 @@
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:9: primary ( selector )* ( '++' | '--' )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:870:9: primary ( selector )* ( '++' | '--' )?
                     {
-                    pushFollow(FOLLOW_primary_in_unaryExpressionNotPlusMinus3625);
+                    pushFollow(FOLLOW_primary_in_unaryExpressionNotPlusMinus3723);
                     primary();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:17: ( selector )*
-                    loop145:
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:870:17: ( selector )*
+                    loop147:
                     do {
-                        int alt145=2;
-                        int LA145_0 = input.LA(1);
+                        int alt147=2;
+                        int LA147_0 = input.LA(1);
 
-                        if ( (LA145_0==28||LA145_0==41) ) {
-                            alt145=1;
+                        if ( (LA147_0==28||LA147_0==41) ) {
+                            alt147=1;
                         }
 
 
-                        switch (alt145) {
+                        switch (alt147) {
                     	case 1 :
                     	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: selector
                     	    {
-                    	    pushFollow(FOLLOW_selector_in_unaryExpressionNotPlusMinus3627);
+                    	    pushFollow(FOLLOW_selector_in_unaryExpressionNotPlusMinus3725);
                     	    selector();
                     	    _fsp--;
                     	    if (failed) return ;
@@ -10986,22 +11129,22 @@
                     	    break;
 
                     	default :
-                    	    break loop145;
+                    	    break loop147;
                         }
                     } while (true);
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:27: ( '++' | '--' )?
-                    int alt146=2;
-                    int LA146_0 = input.LA(1);
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:870:27: ( '++' | '--' )?
+                    int alt148=2;
+                    int LA148_0 = input.LA(1);
 
-                    if ( ((LA146_0>=108 && LA146_0<=109)) ) {
-                        alt146=1;
+                    if ( ((LA148_0>=109 && LA148_0<=110)) ) {
+                        alt148=1;
                     }
-                    switch (alt146) {
+                    switch (alt148) {
                         case 1 :
                             // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:
                             {
-                            if ( (input.LA(1)>=108 && input.LA(1)<=109) ) {
+                            if ( (input.LA(1)>=109 && input.LA(1)<=110) ) {
                                 input.consume();
                                 errorRecovery=false;failed=false;
                             }
@@ -11009,7 +11152,7 @@
                                 if (backtracking>0) {failed=true; return ;}
                                 MismatchedSetException mse =
                                     new MismatchedSetException(null,input);
-                                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_unaryExpressionNotPlusMinus3630);    throw mse;
+                                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_unaryExpressionNotPlusMinus3728);    throw mse;
                             }
 
 
@@ -11029,7 +11172,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 116, unaryExpressionNotPlusMinus_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 117, unaryExpressionNotPlusMinus_StartIndex); }
         }
         return ;
     }
@@ -11037,42 +11180,42 @@
 
 
     // $ANTLR start castExpression
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:849:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:873:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );
     public final void castExpression() throws RecognitionException {
         int castExpression_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 117) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:850:5: ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus )
-            int alt149=2;
-            int LA149_0 = input.LA(1);
+            if ( backtracking>0 && alreadyParsedRule(input, 118) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:874:5: ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus )
+            int alt151=2;
+            int LA151_0 = input.LA(1);
 
-            if ( (LA149_0==65) ) {
-                int LA149_1 = input.LA(2);
+            if ( (LA151_0==65) ) {
+                int LA151_1 = input.LA(2);
 
-                if ( ((LA149_1>=55 && LA149_1<=62)) ) {
-                    int LA149_2 = input.LA(3);
+                if ( ((LA151_1>=55 && LA151_1<=62)) ) {
+                    int LA151_2 = input.LA(3);
 
-                    if ( (synpred227()) ) {
-                        alt149=1;
+                    if ( (synpred230()) ) {
+                        alt151=1;
                     }
                     else if ( (true) ) {
-                        alt149=2;
+                        alt151=2;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("849:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );", 149, 2, input);
+                            new NoViableAltException("873:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );", 151, 2, input);
 
                         throw nvae;
                     }
                 }
-                else if ( (LA149_1==Identifier||(LA149_1>=FloatingPointLiteral && LA149_1<=DecimalLiteral)||LA149_1==33||LA149_1==40||(LA149_1>=64 && LA149_1<=65)||(LA149_1>=68 && LA149_1<=70)||(LA149_1>=104 && LA149_1<=105)||(LA149_1>=108 && LA149_1<=113)) ) {
-                    alt149=2;
+                else if ( (LA151_1==Identifier||(LA151_1>=FloatingPointLiteral && LA151_1<=DecimalLiteral)||LA151_1==33||LA151_1==40||(LA151_1>=64 && LA151_1<=65)||(LA151_1>=68 && LA151_1<=70)||(LA151_1>=105 && LA151_1<=106)||(LA151_1>=109 && LA151_1<=114)) ) {
+                    alt151=2;
                 }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("849:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );", 149, 1, input);
+                        new NoViableAltException("873:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );", 151, 1, input);
 
                     throw nvae;
                 }
@@ -11080,21 +11223,21 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("849:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );", 149, 0, input);
+                    new NoViableAltException("873:1: castExpression : ( '(' primitiveType ')' unaryExpression | '(' ( type | expression ) ')' unaryExpressionNotPlusMinus );", 151, 0, input);
 
                 throw nvae;
             }
-            switch (alt149) {
+            switch (alt151) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:850:8: '(' primitiveType ')' unaryExpression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:874:8: '(' primitiveType ')' unaryExpression
                     {
-                    match(input,65,FOLLOW_65_in_castExpression3653); if (failed) return ;
-                    pushFollow(FOLLOW_primitiveType_in_castExpression3655);
+                    match(input,65,FOLLOW_65_in_castExpression3751); if (failed) return ;
+                    pushFollow(FOLLOW_primitiveType_in_castExpression3753);
                     primitiveType();
                     _fsp--;
                     if (failed) return ;
-                    match(input,66,FOLLOW_66_in_castExpression3657); if (failed) return ;
-                    pushFollow(FOLLOW_unaryExpression_in_castExpression3659);
+                    match(input,66,FOLLOW_66_in_castExpression3755); if (failed) return ;
+                    pushFollow(FOLLOW_unaryExpression_in_castExpression3757);
                     unaryExpression();
                     _fsp--;
                     if (failed) return ;
@@ -11102,26 +11245,26 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:851:8: '(' ( type | expression ) ')' unaryExpressionNotPlusMinus
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:875:8: '(' ( type | expression ) ')' unaryExpressionNotPlusMinus
                     {
-                    match(input,65,FOLLOW_65_in_castExpression3668); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:851:12: ( type | expression )
-                    int alt148=2;
+                    match(input,65,FOLLOW_65_in_castExpression3766); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:875:12: ( type | expression )
+                    int alt150=2;
                     switch ( input.LA(1) ) {
                     case Identifier:
                         {
-                        int LA148_1 = input.LA(2);
+                        int LA150_1 = input.LA(2);
 
-                        if ( (synpred228()) ) {
-                            alt148=1;
+                        if ( (synpred231()) ) {
+                            alt150=1;
                         }
                         else if ( (true) ) {
-                            alt148=2;
+                            alt150=2;
                         }
                         else {
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("851:12: ( type | expression )", 148, 1, input);
+                                new NoViableAltException("875:12: ( type | expression )", 150, 1, input);
 
                             throw nvae;
                         }
@@ -11139,37 +11282,37 @@
                         switch ( input.LA(2) ) {
                         case 41:
                             {
-                            int LA148_48 = input.LA(3);
+                            int LA150_48 = input.LA(3);
 
-                            if ( (synpred228()) ) {
-                                alt148=1;
+                            if ( (synpred231()) ) {
+                                alt150=1;
                             }
                             else if ( (true) ) {
-                                alt148=2;
+                                alt150=2;
                             }
                             else {
                                 if (backtracking>0) {failed=true; return ;}
                                 NoViableAltException nvae =
-                                    new NoViableAltException("851:12: ( type | expression )", 148, 48, input);
+                                    new NoViableAltException("875:12: ( type | expression )", 150, 48, input);
 
                                 throw nvae;
                             }
                             }
                             break;
-                        case 28:
+                        case 66:
                             {
-                            alt148=2;
+                            alt150=1;
                             }
                             break;
-                        case 66:
+                        case 28:
                             {
-                            alt148=1;
+                            alt150=2;
                             }
                             break;
                         default:
                             if (backtracking>0) {failed=true; return ;}
                             NoViableAltException nvae =
-                                new NoViableAltException("851:12: ( type | expression )", 148, 2, input);
+                                new NoViableAltException("875:12: ( type | expression )", 150, 2, input);
 
                             throw nvae;
                         }
@@ -11189,31 +11332,31 @@
                     case 68:
                     case 69:
                     case 70:
-                    case 104:
                     case 105:
-                    case 108:
+                    case 106:
                     case 109:
                     case 110:
                     case 111:
                     case 112:
                     case 113:
+                    case 114:
                         {
-                        alt148=2;
+                        alt150=2;
                         }
                         break;
                     default:
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("851:12: ( type | expression )", 148, 0, input);
+                            new NoViableAltException("875:12: ( type | expression )", 150, 0, input);
 
                         throw nvae;
                     }
 
-                    switch (alt148) {
+                    switch (alt150) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:851:13: type
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:875:13: type
                             {
-                            pushFollow(FOLLOW_type_in_castExpression3671);
+                            pushFollow(FOLLOW_type_in_castExpression3769);
                             type();
                             _fsp--;
                             if (failed) return ;
@@ -11221,9 +11364,9 @@
                             }
                             break;
                         case 2 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:851:20: expression
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:875:20: expression
                             {
-                            pushFollow(FOLLOW_expression_in_castExpression3675);
+                            pushFollow(FOLLOW_expression_in_castExpression3773);
                             expression();
                             _fsp--;
                             if (failed) return ;
@@ -11233,8 +11376,8 @@
 
                     }
 
-                    match(input,66,FOLLOW_66_in_castExpression3678); if (failed) return ;
-                    pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_castExpression3680);
+                    match(input,66,FOLLOW_66_in_castExpression3776); if (failed) return ;
+                    pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_castExpression3778);
                     unaryExpressionNotPlusMinus();
                     _fsp--;
                     if (failed) return ;
@@ -11249,7 +11392,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 117, castExpression_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 118, castExpression_StartIndex); }
         }
         return ;
     }
@@ -11257,34 +11400,34 @@
 
 
     // $ANTLR start primary
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:854:1: primary : ( parExpression | nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments ) | 'this' ( '.' Identifier )* ( identifierSuffix )? | 'super' superSuffix | literal | 'new' creator | i= Identifier ( '.' Identifier )* ( identifierSuffix )? | primitiveType ( '[' ']' )* '.' 'class' | 'void' '.' 'class' );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:878:1: primary : ( parExpression | nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments ) | 'this' ( '.' Identifier )* ( identifierSuffix )? | 'super' superSuffix | literal | 'new' creator | i= Identifier ( '.' Identifier )* ( identifierSuffix )? | primitiveType ( '[' ']' )* '.' 'class' | 'void' '.' 'class' );
     public final void primary() throws RecognitionException {
         int primary_StartIndex = input.index();
         Token i=null;
 
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 118) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:855:5: ( parExpression | nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments ) | 'this' ( '.' Identifier )* ( identifierSuffix )? | 'super' superSuffix | literal | 'new' creator | i= Identifier ( '.' Identifier )* ( identifierSuffix )? | primitiveType ( '[' ']' )* '.' 'class' | 'void' '.' 'class' )
-            int alt156=9;
+            if ( backtracking>0 && alreadyParsedRule(input, 119) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:879:5: ( parExpression | nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments ) | 'this' ( '.' Identifier )* ( identifierSuffix )? | 'super' superSuffix | literal | 'new' creator | i= Identifier ( '.' Identifier )* ( identifierSuffix )? | primitiveType ( '[' ']' )* '.' 'class' | 'void' '.' 'class' )
+            int alt158=9;
             switch ( input.LA(1) ) {
             case 65:
                 {
-                alt156=1;
+                alt158=1;
                 }
                 break;
             case 33:
                 {
-                alt156=2;
+                alt158=2;
                 }
                 break;
-            case 112:
+            case 113:
                 {
-                alt156=3;
+                alt158=3;
                 }
                 break;
             case 64:
                 {
-                alt156=4;
+                alt158=4;
                 }
                 break;
             case FloatingPointLiteral:
@@ -11297,17 +11440,17 @@
             case 69:
             case 70:
                 {
-                alt156=5;
+                alt158=5;
                 }
                 break;
-            case 113:
+            case 114:
                 {
-                alt156=6;
+                alt158=6;
                 }
                 break;
             case Identifier:
                 {
-                alt156=7;
+                alt158=7;
                 }
                 break;
             case 55:
@@ -11319,27 +11462,27 @@
             case 61:
             case 62:
                 {
-                alt156=8;
+                alt158=8;
                 }
                 break;
             case 40:
                 {
-                alt156=9;
+                alt158=9;
                 }
                 break;
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("854:1: primary : ( parExpression | nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments ) | 'this' ( '.' Identifier )* ( identifierSuffix )? | 'super' superSuffix | literal | 'new' creator | i= Identifier ( '.' Identifier )* ( identifierSuffix )? | primitiveType ( '[' ']' )* '.' 'class' | 'void' '.' 'class' );", 156, 0, input);
+                    new NoViableAltException("878:1: primary : ( parExpression | nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments ) | 'this' ( '.' Identifier )* ( identifierSuffix )? | 'super' superSuffix | literal | 'new' creator | i= Identifier ( '.' Identifier )* ( identifierSuffix )? | primitiveType ( '[' ']' )* '.' 'class' | 'void' '.' 'class' );", 158, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt156) {
+            switch (alt158) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:855:7: parExpression
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:879:7: parExpression
                     {
-                    pushFollow(FOLLOW_parExpression_in_primary3697);
+                    pushFollow(FOLLOW_parExpression_in_primary3795);
                     parExpression();
                     _fsp--;
                     if (failed) return ;
@@ -11347,34 +11490,34 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:856:9: nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:880:9: nonWildcardTypeArguments ( explicitGenericInvocationSuffix | 'this' arguments )
                     {
-                    pushFollow(FOLLOW_nonWildcardTypeArguments_in_primary3707);
+                    pushFollow(FOLLOW_nonWildcardTypeArguments_in_primary3805);
                     nonWildcardTypeArguments();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:857:9: ( explicitGenericInvocationSuffix | 'this' arguments )
-                    int alt150=2;
-                    int LA150_0 = input.LA(1);
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:881:9: ( explicitGenericInvocationSuffix | 'this' arguments )
+                    int alt152=2;
+                    int LA152_0 = input.LA(1);
 
-                    if ( (LA150_0==Identifier||LA150_0==64) ) {
-                        alt150=1;
+                    if ( (LA152_0==Identifier||LA152_0==64) ) {
+                        alt152=1;
                     }
-                    else if ( (LA150_0==112) ) {
-                        alt150=2;
+                    else if ( (LA152_0==113) ) {
+                        alt152=2;
                     }
                     else {
                         if (backtracking>0) {failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("857:9: ( explicitGenericInvocationSuffix | 'this' arguments )", 150, 0, input);
+                            new NoViableAltException("881:9: ( explicitGenericInvocationSuffix | 'this' arguments )", 152, 0, input);
 
                         throw nvae;
                     }
-                    switch (alt150) {
+                    switch (alt152) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:857:10: explicitGenericInvocationSuffix
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:881:10: explicitGenericInvocationSuffix
                             {
-                            pushFollow(FOLLOW_explicitGenericInvocationSuffix_in_primary3718);
+                            pushFollow(FOLLOW_explicitGenericInvocationSuffix_in_primary3816);
                             explicitGenericInvocationSuffix();
                             _fsp--;
                             if (failed) return ;
@@ -11382,10 +11525,10 @@
                             }
                             break;
                         case 2 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:857:44: 'this' arguments
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:881:44: 'this' arguments
                             {
-                            match(input,112,FOLLOW_112_in_primary3722); if (failed) return ;
-                            pushFollow(FOLLOW_arguments_in_primary3724);
+                            match(input,113,FOLLOW_113_in_primary3820); if (failed) return ;
+                            pushFollow(FOLLOW_arguments_in_primary3822);
                             arguments();
                             _fsp--;
                             if (failed) return ;
@@ -11399,23 +11542,23 @@
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:9: 'this' ( '.' Identifier )* ( identifierSuffix )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:9: 'this' ( '.' Identifier )* ( identifierSuffix )?
                     {
-                    match(input,112,FOLLOW_112_in_primary3735); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:16: ( '.' Identifier )*
-                    loop151:
+                    match(input,113,FOLLOW_113_in_primary3833); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:16: ( '.' Identifier )*
+                    loop153:
                     do {
-                        int alt151=2;
-                        int LA151_0 = input.LA(1);
+                        int alt153=2;
+                        int LA153_0 = input.LA(1);
 
-                        if ( (LA151_0==28) ) {
-                            int LA151_3 = input.LA(2);
+                        if ( (LA153_0==28) ) {
+                            int LA153_3 = input.LA(2);
 
-                            if ( (LA151_3==Identifier) ) {
-                                int LA151_35 = input.LA(3);
+                            if ( (LA153_3==Identifier) ) {
+                                int LA153_36 = input.LA(3);
 
-                                if ( (synpred232()) ) {
-                                    alt151=1;
+                                if ( (synpred235()) ) {
+                                    alt153=1;
                                 }
 
 
@@ -11425,119 +11568,119 @@
                         }
 
 
-                        switch (alt151) {
+                        switch (alt153) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:17: '.' Identifier
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:17: '.' Identifier
                     	    {
-                    	    match(input,28,FOLLOW_28_in_primary3738); if (failed) return ;
-                    	    match(input,Identifier,FOLLOW_Identifier_in_primary3740); if (failed) return ;
+                    	    match(input,28,FOLLOW_28_in_primary3836); if (failed) return ;
+                    	    match(input,Identifier,FOLLOW_Identifier_in_primary3838); if (failed) return ;
 
                     	    }
                     	    break;
 
                     	default :
-                    	    break loop151;
+                    	    break loop153;
                         }
                     } while (true);
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:34: ( identifierSuffix )?
-                    int alt152=2;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:34: ( identifierSuffix )?
+                    int alt154=2;
                     switch ( input.LA(1) ) {
                         case 41:
                             {
                             switch ( input.LA(2) ) {
                                 case 42:
                                     {
-                                    alt152=1;
+                                    alt154=1;
                                     }
                                     break;
-                                case 104:
+                                case 105:
                                     {
-                                    int LA152_34 = input.LA(3);
+                                    int LA154_34 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
-                                case 105:
+                                case 106:
                                     {
-                                    int LA152_35 = input.LA(3);
+                                    int LA154_35 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
-                                case 108:
+                                case 109:
                                     {
-                                    int LA152_36 = input.LA(3);
+                                    int LA154_36 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
-                                case 109:
+                                case 110:
                                     {
-                                    int LA152_37 = input.LA(3);
+                                    int LA154_37 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
-                                case 110:
+                                case 111:
                                     {
-                                    int LA152_38 = input.LA(3);
+                                    int LA154_38 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
-                                case 111:
+                                case 112:
                                     {
-                                    int LA152_39 = input.LA(3);
+                                    int LA154_39 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case 65:
                                     {
-                                    int LA152_40 = input.LA(3);
+                                    int LA154_40 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case 33:
                                     {
-                                    int LA152_41 = input.LA(3);
+                                    int LA154_41 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
-                                case 112:
+                                case 113:
                                     {
-                                    int LA152_42 = input.LA(3);
+                                    int LA154_42 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case 64:
                                     {
-                                    int LA152_43 = input.LA(3);
+                                    int LA154_43 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
@@ -11545,74 +11688,74 @@
                                 case OctalLiteral:
                                 case DecimalLiteral:
                                     {
-                                    int LA152_44 = input.LA(3);
+                                    int LA154_44 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case FloatingPointLiteral:
                                     {
-                                    int LA152_45 = input.LA(3);
+                                    int LA154_45 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case CharacterLiteral:
                                     {
-                                    int LA152_46 = input.LA(3);
+                                    int LA154_46 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case StringLiteral:
                                     {
-                                    int LA152_47 = input.LA(3);
+                                    int LA154_47 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case 69:
                                 case 70:
                                     {
-                                    int LA152_48 = input.LA(3);
+                                    int LA154_48 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case 68:
                                     {
-                                    int LA152_49 = input.LA(3);
+                                    int LA154_49 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
-                                case 113:
+                                case 114:
                                     {
-                                    int LA152_50 = input.LA(3);
+                                    int LA154_50 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case Identifier:
                                     {
-                                    int LA152_51 = input.LA(3);
+                                    int LA154_51 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
@@ -11625,19 +11768,19 @@
                                 case 61:
                                 case 62:
                                     {
-                                    int LA152_52 = input.LA(3);
+                                    int LA154_52 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case 40:
                                     {
-                                    int LA152_53 = input.LA(3);
+                                    int LA154_53 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
@@ -11647,42 +11790,42 @@
                             break;
                         case 65:
                             {
-                            alt152=1;
+                            alt154=1;
                             }
                             break;
                         case 28:
                             {
                             switch ( input.LA(2) ) {
-                                case 112:
+                                case 113:
                                     {
-                                    int LA152_54 = input.LA(3);
+                                    int LA154_54 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
                                 case 30:
                                 case 33:
                                     {
-                                    alt152=1;
+                                    alt154=1;
                                     }
                                     break;
                                 case 64:
                                     {
-                                    int LA152_56 = input.LA(3);
+                                    int LA154_56 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
-                                case 113:
+                                case 114:
                                     {
-                                    int LA152_57 = input.LA(3);
+                                    int LA154_57 = input.LA(3);
 
-                                    if ( (synpred233()) ) {
-                                        alt152=1;
+                                    if ( (synpred236()) ) {
+                                        alt154=1;
                                     }
                                     }
                                     break;
@@ -11692,11 +11835,11 @@
                             break;
                     }
 
-                    switch (alt152) {
+                    switch (alt154) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:35: identifierSuffix
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:35: identifierSuffix
                             {
-                            pushFollow(FOLLOW_identifierSuffix_in_primary3745);
+                            pushFollow(FOLLOW_identifierSuffix_in_primary3843);
                             identifierSuffix();
                             _fsp--;
                             if (failed) return ;
@@ -11710,10 +11853,10 @@
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:859:9: 'super' superSuffix
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:883:9: 'super' superSuffix
                     {
-                    match(input,64,FOLLOW_64_in_primary3757); if (failed) return ;
-                    pushFollow(FOLLOW_superSuffix_in_primary3759);
+                    match(input,64,FOLLOW_64_in_primary3855); if (failed) return ;
+                    pushFollow(FOLLOW_superSuffix_in_primary3857);
                     superSuffix();
                     _fsp--;
                     if (failed) return ;
@@ -11721,9 +11864,9 @@
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:860:9: literal
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:884:9: literal
                     {
-                    pushFollow(FOLLOW_literal_in_primary3769);
+                    pushFollow(FOLLOW_literal_in_primary3867);
                     literal();
                     _fsp--;
                     if (failed) return ;
@@ -11731,10 +11874,10 @@
                     }
                     break;
                 case 6 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:861:9: 'new' creator
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:885:9: 'new' creator
                     {
-                    match(input,113,FOLLOW_113_in_primary3779); if (failed) return ;
-                    pushFollow(FOLLOW_creator_in_primary3781);
+                    match(input,114,FOLLOW_114_in_primary3877); if (failed) return ;
+                    pushFollow(FOLLOW_creator_in_primary3879);
                     creator();
                     _fsp--;
                     if (failed) return ;
@@ -11742,27 +11885,27 @@
                     }
                     break;
                 case 7 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:9: i= Identifier ( '.' Identifier )* ( identifierSuffix )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:886:9: i= Identifier ( '.' Identifier )* ( identifierSuffix )?
                     {
                     i=(Token)input.LT(1);
-                    match(input,Identifier,FOLLOW_Identifier_in_primary3793); if (failed) return ;
+                    match(input,Identifier,FOLLOW_Identifier_in_primary3891); if (failed) return ;
                     if ( backtracking==0 ) {
                        if( ! "(".equals( input.LT(1) == null ? "" : input.LT(1).getText() ) ) identifiers.add( i.getText() );  
                     }
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:126: ( '.' Identifier )*
-                    loop153:
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:886:126: ( '.' Identifier )*
+                    loop155:
                     do {
-                        int alt153=2;
-                        int LA153_0 = input.LA(1);
+                        int alt155=2;
+                        int LA155_0 = input.LA(1);
 
-                        if ( (LA153_0==28) ) {
-                            int LA153_3 = input.LA(2);
+                        if ( (LA155_0==28) ) {
+                            int LA155_3 = input.LA(2);
 
-                            if ( (LA153_3==Identifier) ) {
-                                int LA153_36 = input.LA(3);
+                            if ( (LA155_3==Identifier) ) {
+                                int LA155_37 = input.LA(3);
 
-                                if ( (synpred238()) ) {
-                                    alt153=1;
+                                if ( (synpred241()) ) {
+                                    alt155=1;
                                 }
 
 
@@ -11772,119 +11915,119 @@
                         }
 
 
-                        switch (alt153) {
+                        switch (alt155) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:127: '.' Identifier
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:886:127: '.' Identifier
                     	    {
-                    	    match(input,28,FOLLOW_28_in_primary3798); if (failed) return ;
-                    	    match(input,Identifier,FOLLOW_Identifier_in_primary3800); if (failed) return ;
+                    	    match(input,28,FOLLOW_28_in_primary3896); if (failed) return ;
+                    	    match(input,Identifier,FOLLOW_Identifier_in_primary3898); if (failed) return ;
 
                     	    }
                     	    break;
 
                     	default :
-                    	    break loop153;
+                    	    break loop155;
                         }
                     } while (true);
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:144: ( identifierSuffix )?
-                    int alt154=2;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:886:144: ( identifierSuffix )?
+                    int alt156=2;
                     switch ( input.LA(1) ) {
                         case 41:
                             {
                             switch ( input.LA(2) ) {
                                 case 42:
                                     {
-                                    alt154=1;
+                                    alt156=1;
                                     }
                                     break;
-                                case 104:
+                                case 105:
                                     {
-                                    int LA154_34 = input.LA(3);
+                                    int LA156_34 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
-                                case 105:
+                                case 106:
                                     {
-                                    int LA154_35 = input.LA(3);
+                                    int LA156_35 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
-                                case 108:
+                                case 109:
                                     {
-                                    int LA154_36 = input.LA(3);
+                                    int LA156_36 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
-                                case 109:
+                                case 110:
                                     {
-                                    int LA154_37 = input.LA(3);
+                                    int LA156_37 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
-                                case 110:
+                                case 111:
                                     {
-                                    int LA154_38 = input.LA(3);
+                                    int LA156_38 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
-                                case 111:
+                                case 112:
                                     {
-                                    int LA154_39 = input.LA(3);
+                                    int LA156_39 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case 65:
                                     {
-                                    int LA154_40 = input.LA(3);
+                                    int LA156_40 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case 33:
                                     {
-                                    int LA154_41 = input.LA(3);
+                                    int LA156_41 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
-                                case 112:
+                                case 113:
                                     {
-                                    int LA154_42 = input.LA(3);
+                                    int LA156_42 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case 64:
                                     {
-                                    int LA154_43 = input.LA(3);
+                                    int LA156_43 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
@@ -11892,74 +12035,74 @@
                                 case OctalLiteral:
                                 case DecimalLiteral:
                                     {
-                                    int LA154_44 = input.LA(3);
+                                    int LA156_44 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case FloatingPointLiteral:
                                     {
-                                    int LA154_45 = input.LA(3);
+                                    int LA156_45 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case CharacterLiteral:
                                     {
-                                    int LA154_46 = input.LA(3);
+                                    int LA156_46 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case StringLiteral:
                                     {
-                                    int LA154_47 = input.LA(3);
+                                    int LA156_47 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case 69:
                                 case 70:
                                     {
-                                    int LA154_48 = input.LA(3);
+                                    int LA156_48 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case 68:
                                     {
-                                    int LA154_49 = input.LA(3);
+                                    int LA156_49 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
-                                case 113:
+                                case 114:
                                     {
-                                    int LA154_50 = input.LA(3);
+                                    int LA156_50 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case Identifier:
                                     {
-                                    int LA154_51 = input.LA(3);
+                                    int LA156_51 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
@@ -11972,19 +12115,19 @@
                                 case 61:
                                 case 62:
                                     {
-                                    int LA154_52 = input.LA(3);
+                                    int LA156_52 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case 40:
                                     {
-                                    int LA154_53 = input.LA(3);
+                                    int LA156_53 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
@@ -11994,43 +12137,43 @@
                             break;
                         case 65:
                             {
-                            alt154=1;
+                            alt156=1;
                             }
                             break;
                         case 28:
                             {
                             switch ( input.LA(2) ) {
-                                case 64:
+                                case 113:
                                     {
-                                    int LA154_54 = input.LA(3);
+                                    int LA156_54 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
-                                case 113:
+                                case 64:
                                     {
-                                    int LA154_55 = input.LA(3);
+                                    int LA156_55 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
-                                case 112:
+                                case 114:
                                     {
-                                    int LA154_56 = input.LA(3);
+                                    int LA156_56 = input.LA(3);
 
-                                    if ( (synpred239()) ) {
-                                        alt154=1;
+                                    if ( (synpred242()) ) {
+                                        alt156=1;
                                     }
                                     }
                                     break;
                                 case 30:
                                 case 33:
                                     {
-                                    alt154=1;
+                                    alt156=1;
                                     }
                                     break;
                             }
@@ -12039,11 +12182,11 @@
                             break;
                     }
 
-                    switch (alt154) {
+                    switch (alt156) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:145: identifierSuffix
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:886:145: identifierSuffix
                             {
-                            pushFollow(FOLLOW_identifierSuffix_in_primary3805);
+                            pushFollow(FOLLOW_identifierSuffix_in_primary3903);
                             identifierSuffix();
                             _fsp--;
                             if (failed) return ;
@@ -12057,49 +12200,49 @@
                     }
                     break;
                 case 8 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:863:9: primitiveType ( '[' ']' )* '.' 'class'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:887:9: primitiveType ( '[' ']' )* '.' 'class'
                     {
-                    pushFollow(FOLLOW_primitiveType_in_primary3817);
+                    pushFollow(FOLLOW_primitiveType_in_primary3915);
                     primitiveType();
                     _fsp--;
                     if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:863:23: ( '[' ']' )*
-                    loop155:
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:887:23: ( '[' ']' )*
+                    loop157:
                     do {
-                        int alt155=2;
-                        int LA155_0 = input.LA(1);
+                        int alt157=2;
+                        int LA157_0 = input.LA(1);
 
-                        if ( (LA155_0==41) ) {
-                            alt155=1;
+                        if ( (LA157_0==41) ) {
+                            alt157=1;
                         }
 
 
-                        switch (alt155) {
+                        switch (alt157) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:863:24: '[' ']'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:887:24: '[' ']'
                     	    {
-                    	    match(input,41,FOLLOW_41_in_primary3820); if (failed) return ;
-                    	    match(input,42,FOLLOW_42_in_primary3822); if (failed) return ;
+                    	    match(input,41,FOLLOW_41_in_primary3918); if (failed) return ;
+                    	    match(input,42,FOLLOW_42_in_primary3920); if (failed) return ;
 
                     	    }
                     	    break;
 
                     	default :
-                    	    break loop155;
+                    	    break loop157;
                         }
                     } while (true);
 
-                    match(input,28,FOLLOW_28_in_primary3826); if (failed) return ;
-                    match(input,30,FOLLOW_30_in_primary3828); if (failed) return ;
+                    match(input,28,FOLLOW_28_in_primary3924); if (failed) return ;
+                    match(input,30,FOLLOW_30_in_primary3926); if (failed) return ;
 
                     }
                     break;
                 case 9 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:864:9: 'void' '.' 'class'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:888:9: 'void' '.' 'class'
                     {
-                    match(input,40,FOLLOW_40_in_primary3838); if (failed) return ;
-                    match(input,28,FOLLOW_28_in_primary3840); if (failed) return ;
-                    match(input,30,FOLLOW_30_in_primary3842); if (failed) return ;
+                    match(input,40,FOLLOW_40_in_primary3936); if (failed) return ;
+                    match(input,28,FOLLOW_28_in_primary3938); if (failed) return ;
+                    match(input,30,FOLLOW_30_in_primary3940); if (failed) return ;
 
                     }
                     break;
@@ -12111,7 +12254,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 118, primary_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 119, primary_StartIndex); }
         }
         return ;
     }
@@ -12119,28 +12262,28 @@
 
 
     // $ANTLR start identifierSuffix
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:867:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:891:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );
     public final void identifierSuffix() throws RecognitionException {
         int identifierSuffix_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 119) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:868:2: ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator )
-            int alt160=8;
+            if ( backtracking>0 && alreadyParsedRule(input, 120) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:892:2: ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator )
+            int alt162=8;
             switch ( input.LA(1) ) {
             case 41:
                 {
-                int LA160_1 = input.LA(2);
+                int LA162_1 = input.LA(2);
 
-                if ( (LA160_1==42) ) {
-                    alt160=1;
+                if ( (LA162_1==42) ) {
+                    alt162=1;
                 }
-                else if ( (LA160_1==Identifier||(LA160_1>=FloatingPointLiteral && LA160_1<=DecimalLiteral)||LA160_1==33||LA160_1==40||(LA160_1>=55 && LA160_1<=62)||(LA160_1>=64 && LA160_1<=65)||(LA160_1>=68 && LA160_1<=70)||(LA160_1>=104 && LA160_1<=105)||(LA160_1>=108 && LA160_1<=113)) ) {
-                    alt160=2;
+                else if ( (LA162_1==Identifier||(LA162_1>=FloatingPointLiteral && LA162_1<=DecimalLiteral)||LA162_1==33||LA162_1==40||(LA162_1>=55 && LA162_1<=62)||(LA162_1>=64 && LA162_1<=65)||(LA162_1>=68 && LA162_1<=70)||(LA162_1>=105 && LA162_1<=106)||(LA162_1>=109 && LA162_1<=114)) ) {
+                    alt162=2;
                 }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("867:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );", 160, 1, input);
+                        new NoViableAltException("891:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );", 162, 1, input);
 
                     throw nvae;
                 }
@@ -12148,41 +12291,41 @@
                 break;
             case 65:
                 {
-                alt160=3;
+                alt162=3;
                 }
                 break;
             case 28:
                 {
                 switch ( input.LA(2) ) {
+                case 114:
+                    {
+                    alt162=8;
+                    }
+                    break;
                 case 113:
                     {
-                    alt160=8;
+                    alt162=6;
                     }
                     break;
                 case 64:
                     {
-                    alt160=7;
+                    alt162=7;
                     }
                     break;
                 case 30:
                     {
-                    alt160=4;
+                    alt162=4;
                     }
                     break;
-                case 112:
-                    {
-                    alt160=6;
-                    }
-                    break;
                 case 33:
                     {
-                    alt160=5;
+                    alt162=5;
                     }
                     break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("867:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );", 160, 3, input);
+                        new NoViableAltException("891:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );", 162, 3, input);
 
                     throw nvae;
                 }
@@ -12192,125 +12335,125 @@
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("867:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );", 160, 0, input);
+                    new NoViableAltException("891:1: identifierSuffix : ( ( '[' ']' )+ '.' 'class' | ( '[' expression ']' )+ | arguments | '.' 'class' | '.' explicitGenericInvocation | '.' 'this' | '.' 'super' arguments | '.' 'new' ( nonWildcardTypeArguments )? innerCreator );", 162, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt160) {
+            switch (alt162) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:868:4: ( '[' ']' )+ '.' 'class'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:892:4: ( '[' ']' )+ '.' 'class'
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:868:4: ( '[' ']' )+
-                    int cnt157=0;
-                    loop157:
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:892:4: ( '[' ']' )+
+                    int cnt159=0;
+                    loop159:
                     do {
-                        int alt157=2;
-                        int LA157_0 = input.LA(1);
+                        int alt159=2;
+                        int LA159_0 = input.LA(1);
 
-                        if ( (LA157_0==41) ) {
-                            alt157=1;
+                        if ( (LA159_0==41) ) {
+                            alt159=1;
                         }
 
 
-                        switch (alt157) {
+                        switch (alt159) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:868:5: '[' ']'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:892:5: '[' ']'
                     	    {
-                    	    match(input,41,FOLLOW_41_in_identifierSuffix3854); if (failed) return ;
-                    	    match(input,42,FOLLOW_42_in_identifierSuffix3856); if (failed) return ;
+                    	    match(input,41,FOLLOW_41_in_identifierSuffix3952); if (failed) return ;
+                    	    match(input,42,FOLLOW_42_in_identifierSuffix3954); if (failed) return ;
 
                     	    }
                     	    break;
 
                     	default :
-                    	    if ( cnt157 >= 1 ) break loop157;
+                    	    if ( cnt159 >= 1 ) break loop159;
                     	    if (backtracking>0) {failed=true; return ;}
                                 EarlyExitException eee =
-                                    new EarlyExitException(157, input);
+                                    new EarlyExitException(159, input);
                                 throw eee;
                         }
-                        cnt157++;
+                        cnt159++;
                     } while (true);
 
-                    match(input,28,FOLLOW_28_in_identifierSuffix3860); if (failed) return ;
-                    match(input,30,FOLLOW_30_in_identifierSuffix3862); if (failed) return ;
+                    match(input,28,FOLLOW_28_in_identifierSuffix3958); if (failed) return ;
+                    match(input,30,FOLLOW_30_in_identifierSuffix3960); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:869:4: ( '[' expression ']' )+
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:893:4: ( '[' expression ']' )+
                     {
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:869:4: ( '[' expression ']' )+
-                    int cnt158=0;
-                    loop158:
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:893:4: ( '[' expression ']' )+
+                    int cnt160=0;
+                    loop160:
                     do {
-                        int alt158=2;
-                        int LA158_0 = input.LA(1);
+                        int alt160=2;
+                        int LA160_0 = input.LA(1);
 
-                        if ( (LA158_0==41) ) {
+                        if ( (LA160_0==41) ) {
                             switch ( input.LA(2) ) {
-                            case 104:
+                            case 105:
                                 {
-                                int LA158_32 = input.LA(3);
+                                int LA160_32 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
                                 }
                                 break;
-                            case 105:
+                            case 106:
                                 {
-                                int LA158_33 = input.LA(3);
+                                int LA160_33 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
                                 }
                                 break;
-                            case 108:
+                            case 109:
                                 {
-                                int LA158_34 = input.LA(3);
+                                int LA160_34 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
                                 }
                                 break;
-                            case 109:
+                            case 110:
                                 {
-                                int LA158_35 = input.LA(3);
+                                int LA160_35 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
                                 }
                                 break;
-                            case 110:
+                            case 111:
                                 {
-                                int LA158_36 = input.LA(3);
+                                int LA160_36 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
                                 }
                                 break;
-                            case 111:
+                            case 112:
                                 {
-                                int LA158_37 = input.LA(3);
+                                int LA160_37 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12318,10 +12461,10 @@
                                 break;
                             case 65:
                                 {
-                                int LA158_38 = input.LA(3);
+                                int LA160_38 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12329,21 +12472,21 @@
                                 break;
                             case 33:
                                 {
-                                int LA158_39 = input.LA(3);
+                                int LA160_39 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
                                 }
                                 break;
-                            case 112:
+                            case 113:
                                 {
-                                int LA158_40 = input.LA(3);
+                                int LA160_40 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12351,10 +12494,10 @@
                                 break;
                             case 64:
                                 {
-                                int LA158_41 = input.LA(3);
+                                int LA160_41 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12364,10 +12507,10 @@
                             case OctalLiteral:
                             case DecimalLiteral:
                                 {
-                                int LA158_42 = input.LA(3);
+                                int LA160_42 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12375,10 +12518,10 @@
                                 break;
                             case FloatingPointLiteral:
                                 {
-                                int LA158_43 = input.LA(3);
+                                int LA160_43 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12386,10 +12529,10 @@
                                 break;
                             case CharacterLiteral:
                                 {
-                                int LA158_44 = input.LA(3);
+                                int LA160_44 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12397,10 +12540,10 @@
                                 break;
                             case StringLiteral:
                                 {
-                                int LA158_45 = input.LA(3);
+                                int LA160_45 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12409,10 +12552,10 @@
                             case 69:
                             case 70:
                                 {
-                                int LA158_46 = input.LA(3);
+                                int LA160_46 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12420,21 +12563,21 @@
                                 break;
                             case 68:
                                 {
-                                int LA158_47 = input.LA(3);
+                                int LA160_47 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
                                 }
                                 break;
-                            case 113:
+                            case 114:
                                 {
-                                int LA158_48 = input.LA(3);
+                                int LA160_48 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12442,10 +12585,10 @@
                                 break;
                             case Identifier:
                                 {
-                                int LA158_49 = input.LA(3);
+                                int LA160_49 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12460,10 +12603,10 @@
                             case 61:
                             case 62:
                                 {
-                                int LA158_50 = input.LA(3);
+                                int LA160_50 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12471,10 +12614,10 @@
                                 break;
                             case 40:
                                 {
-                                int LA158_51 = input.LA(3);
+                                int LA160_51 = input.LA(3);
 
-                                if ( (synpred245()) ) {
-                                    alt158=1;
+                                if ( (synpred248()) ) {
+                                    alt160=1;
                                 }
 
 
@@ -12486,37 +12629,37 @@
                         }
 
 
-                        switch (alt158) {
+                        switch (alt160) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:869:5: '[' expression ']'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:893:5: '[' expression ']'
                     	    {
-                    	    match(input,41,FOLLOW_41_in_identifierSuffix3868); if (failed) return ;
-                    	    pushFollow(FOLLOW_expression_in_identifierSuffix3870);
+                    	    match(input,41,FOLLOW_41_in_identifierSuffix3966); if (failed) return ;
+                    	    pushFollow(FOLLOW_expression_in_identifierSuffix3968);
                     	    expression();
                     	    _fsp--;
                     	    if (failed) return ;
-                    	    match(input,42,FOLLOW_42_in_identifierSuffix3872); if (failed) return ;
+                    	    match(input,42,FOLLOW_42_in_identifierSuffix3970); if (failed) return ;
 
                     	    }
                     	    break;
 
                     	default :
-                    	    if ( cnt158 >= 1 ) break loop158;
+                    	    if ( cnt160 >= 1 ) break loop160;
                     	    if (backtracking>0) {failed=true; return ;}
                                 EarlyExitException eee =
-                                    new EarlyExitException(158, input);
+                                    new EarlyExitException(160, input);
                                 throw eee;
                         }
-                        cnt158++;
+                        cnt160++;
                     } while (true);
 
 
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:870:9: arguments
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:894:9: arguments
                     {
-                    pushFollow(FOLLOW_arguments_in_identifierSuffix3885);
+                    pushFollow(FOLLOW_arguments_in_identifierSuffix3983);
                     arguments();
                     _fsp--;
                     if (failed) return ;
@@ -12524,18 +12667,18 @@
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:871:9: '.' 'class'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:895:9: '.' 'class'
                     {
-                    match(input,28,FOLLOW_28_in_identifierSuffix3895); if (failed) return ;
-                    match(input,30,FOLLOW_30_in_identifierSuffix3897); if (failed) return ;
+                    match(input,28,FOLLOW_28_in_identifierSuffix3993); if (failed) return ;
+                    match(input,30,FOLLOW_30_in_identifierSuffix3995); if (failed) return ;
 
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:872:9: '.' explicitGenericInvocation
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:896:9: '.' explicitGenericInvocation
                     {
-                    match(input,28,FOLLOW_28_in_identifierSuffix3907); if (failed) return ;
-                    pushFollow(FOLLOW_explicitGenericInvocation_in_identifierSuffix3909);
+                    match(input,28,FOLLOW_28_in_identifierSuffix4005); if (failed) return ;
+                    pushFollow(FOLLOW_explicitGenericInvocation_in_identifierSuffix4007);
                     explicitGenericInvocation();
                     _fsp--;
                     if (failed) return ;
@@ -12543,19 +12686,19 @@
                     }
                     break;
                 case 6 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:873:9: '.' 'this'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:897:9: '.' 'this'
                     {
-                    match(input,28,FOLLOW_28_in_identifierSuffix3919); if (failed) return ;
-                    match(input,112,FOLLOW_112_in_identifierSuffix3921); if (failed) return ;
+                    match(input,28,FOLLOW_28_in_identifierSuffix4017); if (failed) return ;
+                    match(input,113,FOLLOW_113_in_identifierSuffix4019); if (failed) return ;
 
                     }
                     break;
                 case 7 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:874:9: '.' 'super' arguments
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:898:9: '.' 'super' arguments
                     {
-                    match(input,28,FOLLOW_28_in_identifierSuffix3931); if (failed) return ;
-                    match(input,64,FOLLOW_64_in_identifierSuffix3933); if (failed) return ;
-                    pushFollow(FOLLOW_arguments_in_identifierSuffix3935);
+                    match(input,28,FOLLOW_28_in_identifierSuffix4029); if (failed) return ;
+                    match(input,64,FOLLOW_64_in_identifierSuffix4031); if (failed) return ;
+                    pushFollow(FOLLOW_arguments_in_identifierSuffix4033);
                     arguments();
                     _fsp--;
                     if (failed) return ;
@@ -12563,22 +12706,22 @@
                     }
                     break;
                 case 8 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:875:9: '.' 'new' ( nonWildcardTypeArguments )? innerCreator
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:899:9: '.' 'new' ( nonWildcardTypeArguments )? innerCreator
                     {
-                    match(input,28,FOLLOW_28_in_identifierSuffix3945); if (failed) return ;
-                    match(input,113,FOLLOW_113_in_identifierSuffix3947); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:875:19: ( nonWildcardTypeArguments )?
-                    int alt159=2;
-                    int LA159_0 = input.LA(1);
+                    match(input,28,FOLLOW_28_in_identifierSuffix4043); if (failed) return ;
+                    match(input,114,FOLLOW_114_in_identifierSuffix4045); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:899:19: ( nonWildcardTypeArguments )?
+                    int alt161=2;
+                    int LA161_0 = input.LA(1);
 
-                    if ( (LA159_0==33) ) {
-                        alt159=1;
+                    if ( (LA161_0==33) ) {
+                        alt161=1;
                     }
-                    switch (alt159) {
+                    switch (alt161) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:875:20: nonWildcardTypeArguments
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:899:20: nonWildcardTypeArguments
                             {
-                            pushFollow(FOLLOW_nonWildcardTypeArguments_in_identifierSuffix3950);
+                            pushFollow(FOLLOW_nonWildcardTypeArguments_in_identifierSuffix4048);
                             nonWildcardTypeArguments();
                             _fsp--;
                             if (failed) return ;
@@ -12588,7 +12731,7 @@
 
                     }
 
-                    pushFollow(FOLLOW_innerCreator_in_identifierSuffix3954);
+                    pushFollow(FOLLOW_innerCreator_in_identifierSuffix4052);
                     innerCreator();
                     _fsp--;
                     if (failed) return ;
@@ -12603,7 +12746,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 119, identifierSuffix_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 120, identifierSuffix_StartIndex); }
         }
         return ;
     }
@@ -12611,26 +12754,26 @@
 
 
     // $ANTLR start creator
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:878:1: creator : ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:902:1: creator : ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) ;
     public final void creator() throws RecognitionException {
         int creator_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 120) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:879:2: ( ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:879:4: ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest )
+            if ( backtracking>0 && alreadyParsedRule(input, 121) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:903:2: ( ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:903:4: ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest )
             {
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:879:4: ( nonWildcardTypeArguments )?
-            int alt161=2;
-            int LA161_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:903:4: ( nonWildcardTypeArguments )?
+            int alt163=2;
+            int LA163_0 = input.LA(1);
 
-            if ( (LA161_0==33) ) {
-                alt161=1;
+            if ( (LA163_0==33) ) {
+                alt163=1;
             }
-            switch (alt161) {
+            switch (alt163) {
                 case 1 :
                     // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: nonWildcardTypeArguments
                     {
-                    pushFollow(FOLLOW_nonWildcardTypeArguments_in_creator3966);
+                    pushFollow(FOLLOW_nonWildcardTypeArguments_in_creator4064);
                     nonWildcardTypeArguments();
                     _fsp--;
                     if (failed) return ;
@@ -12640,32 +12783,32 @@
 
             }
 
-            pushFollow(FOLLOW_createdName_in_creator3969);
+            pushFollow(FOLLOW_createdName_in_creator4067);
             createdName();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:880:9: ( arrayCreatorRest | classCreatorRest )
-            int alt162=2;
-            int LA162_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:904:9: ( arrayCreatorRest | classCreatorRest )
+            int alt164=2;
+            int LA164_0 = input.LA(1);
 
-            if ( (LA162_0==41) ) {
-                alt162=1;
+            if ( (LA164_0==41) ) {
+                alt164=1;
             }
-            else if ( (LA162_0==65) ) {
-                alt162=2;
+            else if ( (LA164_0==65) ) {
+                alt164=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("880:9: ( arrayCreatorRest | classCreatorRest )", 162, 0, input);
+                    new NoViableAltException("904:9: ( arrayCreatorRest | classCreatorRest )", 164, 0, input);
 
                 throw nvae;
             }
-            switch (alt162) {
+            switch (alt164) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:880:10: arrayCreatorRest
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:904:10: arrayCreatorRest
                     {
-                    pushFollow(FOLLOW_arrayCreatorRest_in_creator3980);
+                    pushFollow(FOLLOW_arrayCreatorRest_in_creator4078);
                     arrayCreatorRest();
                     _fsp--;
                     if (failed) return ;
@@ -12673,9 +12816,9 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:880:29: classCreatorRest
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:904:29: classCreatorRest
                     {
-                    pushFollow(FOLLOW_classCreatorRest_in_creator3984);
+                    pushFollow(FOLLOW_classCreatorRest_in_creator4082);
                     classCreatorRest();
                     _fsp--;
                     if (failed) return ;
@@ -12694,7 +12837,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 120, creator_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 121, creator_StartIndex); }
         }
         return ;
     }
@@ -12702,45 +12845,45 @@
 
 
     // $ANTLR start createdName
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:883:1: createdName : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* | primitiveType );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:907:1: createdName : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* | primitiveType );
     public final void createdName() throws RecognitionException {
         int createdName_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 121) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:884:2: ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* | primitiveType )
-            int alt166=2;
-            int LA166_0 = input.LA(1);
+            if ( backtracking>0 && alreadyParsedRule(input, 122) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:908:2: ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* | primitiveType )
+            int alt168=2;
+            int LA168_0 = input.LA(1);
 
-            if ( (LA166_0==Identifier) ) {
-                alt166=1;
+            if ( (LA168_0==Identifier) ) {
+                alt168=1;
             }
-            else if ( ((LA166_0>=55 && LA166_0<=62)) ) {
-                alt166=2;
+            else if ( ((LA168_0>=55 && LA168_0<=62)) ) {
+                alt168=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("883:1: createdName : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* | primitiveType );", 166, 0, input);
+                    new NoViableAltException("907:1: createdName : ( Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )* | primitiveType );", 168, 0, input);
 
                 throw nvae;
             }
-            switch (alt166) {
+            switch (alt168) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:884:4: Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:908:4: Identifier ( typeArguments )? ( '.' Identifier ( typeArguments )? )*
                     {
-                    match(input,Identifier,FOLLOW_Identifier_in_createdName3996); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:884:15: ( typeArguments )?
-                    int alt163=2;
-                    int LA163_0 = input.LA(1);
+                    match(input,Identifier,FOLLOW_Identifier_in_createdName4094); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:908:15: ( typeArguments )?
+                    int alt165=2;
+                    int LA165_0 = input.LA(1);
 
-                    if ( (LA163_0==33) ) {
-                        alt163=1;
+                    if ( (LA165_0==33) ) {
+                        alt165=1;
                     }
-                    switch (alt163) {
+                    switch (alt165) {
                         case 1 :
                             // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: typeArguments
                             {
-                            pushFollow(FOLLOW_typeArguments_in_createdName3998);
+                            pushFollow(FOLLOW_typeArguments_in_createdName4096);
                             typeArguments();
                             _fsp--;
                             if (failed) return ;
@@ -12750,35 +12893,35 @@
 
                     }
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:885:9: ( '.' Identifier ( typeArguments )? )*
-                    loop165:
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:909:9: ( '.' Identifier ( typeArguments )? )*
+                    loop167:
                     do {
-                        int alt165=2;
-                        int LA165_0 = input.LA(1);
+                        int alt167=2;
+                        int LA167_0 = input.LA(1);
 
-                        if ( (LA165_0==28) ) {
-                            alt165=1;
+                        if ( (LA167_0==28) ) {
+                            alt167=1;
                         }
 
 
-                        switch (alt165) {
+                        switch (alt167) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:885:10: '.' Identifier ( typeArguments )?
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:909:10: '.' Identifier ( typeArguments )?
                     	    {
-                    	    match(input,28,FOLLOW_28_in_createdName4010); if (failed) return ;
-                    	    match(input,Identifier,FOLLOW_Identifier_in_createdName4012); if (failed) return ;
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:885:25: ( typeArguments )?
-                    	    int alt164=2;
-                    	    int LA164_0 = input.LA(1);
+                    	    match(input,28,FOLLOW_28_in_createdName4108); if (failed) return ;
+                    	    match(input,Identifier,FOLLOW_Identifier_in_createdName4110); if (failed) return ;
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:909:25: ( typeArguments )?
+                    	    int alt166=2;
+                    	    int LA166_0 = input.LA(1);
 
-                    	    if ( (LA164_0==33) ) {
-                    	        alt164=1;
+                    	    if ( (LA166_0==33) ) {
+                    	        alt166=1;
                     	    }
-                    	    switch (alt164) {
+                    	    switch (alt166) {
                     	        case 1 :
                     	            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: typeArguments
                     	            {
-                    	            pushFollow(FOLLOW_typeArguments_in_createdName4014);
+                    	            pushFollow(FOLLOW_typeArguments_in_createdName4112);
                     	            typeArguments();
                     	            _fsp--;
                     	            if (failed) return ;
@@ -12793,7 +12936,7 @@
                     	    break;
 
                     	default :
-                    	    break loop165;
+                    	    break loop167;
                         }
                     } while (true);
 
@@ -12801,9 +12944,9 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:886:7: primitiveType
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:910:7: primitiveType
                     {
-                    pushFollow(FOLLOW_primitiveType_in_createdName4025);
+                    pushFollow(FOLLOW_primitiveType_in_createdName4123);
                     primitiveType();
                     _fsp--;
                     if (failed) return ;
@@ -12818,7 +12961,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 121, createdName_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 122, createdName_StartIndex); }
         }
         return ;
     }
@@ -12826,16 +12969,16 @@
 
 
     // $ANTLR start innerCreator
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:889:1: innerCreator : Identifier classCreatorRest ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:913:1: innerCreator : Identifier classCreatorRest ;
     public final void innerCreator() throws RecognitionException {
         int innerCreator_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 122) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:890:2: ( Identifier classCreatorRest )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:890:4: Identifier classCreatorRest
+            if ( backtracking>0 && alreadyParsedRule(input, 123) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:914:2: ( Identifier classCreatorRest )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:914:4: Identifier classCreatorRest
             {
-            match(input,Identifier,FOLLOW_Identifier_in_innerCreator4037); if (failed) return ;
-            pushFollow(FOLLOW_classCreatorRest_in_innerCreator4039);
+            match(input,Identifier,FOLLOW_Identifier_in_innerCreator4135); if (failed) return ;
+            pushFollow(FOLLOW_classCreatorRest_in_innerCreator4137);
             classCreatorRest();
             _fsp--;
             if (failed) return ;
@@ -12848,7 +12991,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 122, innerCreator_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 123, innerCreator_StartIndex); }
         }
         return ;
     }
@@ -12856,64 +12999,64 @@
 
 
     // $ANTLR start arrayCreatorRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:893:1: arrayCreatorRest : '[' ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:917:1: arrayCreatorRest : '[' ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* ) ;
     public final void arrayCreatorRest() throws RecognitionException {
         int arrayCreatorRest_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 123) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:894:2: ( '[' ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* ) )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:894:4: '[' ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* )
+            if ( backtracking>0 && alreadyParsedRule(input, 124) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:918:2: ( '[' ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:918:4: '[' ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* )
             {
-            match(input,41,FOLLOW_41_in_arrayCreatorRest4050); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:895:9: ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* )
-            int alt170=2;
-            int LA170_0 = input.LA(1);
+            match(input,41,FOLLOW_41_in_arrayCreatorRest4148); if (failed) return ;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:919:9: ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* )
+            int alt172=2;
+            int LA172_0 = input.LA(1);
 
-            if ( (LA170_0==42) ) {
-                alt170=1;
+            if ( (LA172_0==42) ) {
+                alt172=1;
             }
-            else if ( (LA170_0==Identifier||(LA170_0>=FloatingPointLiteral && LA170_0<=DecimalLiteral)||LA170_0==33||LA170_0==40||(LA170_0>=55 && LA170_0<=62)||(LA170_0>=64 && LA170_0<=65)||(LA170_0>=68 && LA170_0<=70)||(LA170_0>=104 && LA170_0<=105)||(LA170_0>=108 && LA170_0<=113)) ) {
-                alt170=2;
+            else if ( (LA172_0==Identifier||(LA172_0>=FloatingPointLiteral && LA172_0<=DecimalLiteral)||LA172_0==33||LA172_0==40||(LA172_0>=55 && LA172_0<=62)||(LA172_0>=64 && LA172_0<=65)||(LA172_0>=68 && LA172_0<=70)||(LA172_0>=105 && LA172_0<=106)||(LA172_0>=109 && LA172_0<=114)) ) {
+                alt172=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("895:9: ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* )", 170, 0, input);
+                    new NoViableAltException("919:9: ( ']' ( '[' ']' )* arrayInitializer | expression ']' ( '[' expression ']' )* ( '[' ']' )* )", 172, 0, input);
 
                 throw nvae;
             }
-            switch (alt170) {
+            switch (alt172) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:895:13: ']' ( '[' ']' )* arrayInitializer
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:919:13: ']' ( '[' ']' )* arrayInitializer
                     {
-                    match(input,42,FOLLOW_42_in_arrayCreatorRest4064); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:895:17: ( '[' ']' )*
-                    loop167:
+                    match(input,42,FOLLOW_42_in_arrayCreatorRest4162); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:919:17: ( '[' ']' )*
+                    loop169:
                     do {
-                        int alt167=2;
-                        int LA167_0 = input.LA(1);
+                        int alt169=2;
+                        int LA169_0 = input.LA(1);
 
-                        if ( (LA167_0==41) ) {
-                            alt167=1;
+                        if ( (LA169_0==41) ) {
+                            alt169=1;
                         }
 
 
-                        switch (alt167) {
+                        switch (alt169) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:895:18: '[' ']'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:919:18: '[' ']'
                     	    {
-                    	    match(input,41,FOLLOW_41_in_arrayCreatorRest4067); if (failed) return ;
-                    	    match(input,42,FOLLOW_42_in_arrayCreatorRest4069); if (failed) return ;
+                    	    match(input,41,FOLLOW_41_in_arrayCreatorRest4165); if (failed) return ;
+                    	    match(input,42,FOLLOW_42_in_arrayCreatorRest4167); if (failed) return ;
 
                     	    }
                     	    break;
 
                     	default :
-                    	    break loop167;
+                    	    break loop169;
                         }
                     } while (true);
 
-                    pushFollow(FOLLOW_arrayInitializer_in_arrayCreatorRest4073);
+                    pushFollow(FOLLOW_arrayInitializer_in_arrayCreatorRest4171);
                     arrayInitializer();
                     _fsp--;
                     if (failed) return ;
@@ -12921,82 +13064,82 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:896:13: expression ']' ( '[' expression ']' )* ( '[' ']' )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:920:13: expression ']' ( '[' expression ']' )* ( '[' ']' )*
                     {
-                    pushFollow(FOLLOW_expression_in_arrayCreatorRest4087);
+                    pushFollow(FOLLOW_expression_in_arrayCreatorRest4185);
                     expression();
                     _fsp--;
                     if (failed) return ;
-                    match(input,42,FOLLOW_42_in_arrayCreatorRest4089); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:896:28: ( '[' expression ']' )*
-                    loop168:
+                    match(input,42,FOLLOW_42_in_arrayCreatorRest4187); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:920:28: ( '[' expression ']' )*
+                    loop170:
                     do {
-                        int alt168=2;
-                        int LA168_0 = input.LA(1);
+                        int alt170=2;
+                        int LA170_0 = input.LA(1);
 
-                        if ( (LA168_0==41) ) {
+                        if ( (LA170_0==41) ) {
                             switch ( input.LA(2) ) {
-                            case 104:
+                            case 105:
                                 {
-                                int LA168_33 = input.LA(3);
+                                int LA170_33 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
                                 }
                                 break;
-                            case 105:
+                            case 106:
                                 {
-                                int LA168_34 = input.LA(3);
+                                int LA170_34 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
                                 }
                                 break;
-                            case 108:
+                            case 109:
                                 {
-                                int LA168_35 = input.LA(3);
+                                int LA170_35 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
                                 }
                                 break;
-                            case 109:
+                            case 110:
                                 {
-                                int LA168_36 = input.LA(3);
+                                int LA170_36 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
                                 }
                                 break;
-                            case 110:
+                            case 111:
                                 {
-                                int LA168_37 = input.LA(3);
+                                int LA170_37 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
                                 }
                                 break;
-                            case 111:
+                            case 112:
                                 {
-                                int LA168_38 = input.LA(3);
+                                int LA170_38 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13004,10 +13147,10 @@
                                 break;
                             case 65:
                                 {
-                                int LA168_39 = input.LA(3);
+                                int LA170_39 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13015,21 +13158,21 @@
                                 break;
                             case 33:
                                 {
-                                int LA168_40 = input.LA(3);
+                                int LA170_40 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
                                 }
                                 break;
-                            case 112:
+                            case 113:
                                 {
-                                int LA168_41 = input.LA(3);
+                                int LA170_41 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13037,10 +13180,10 @@
                                 break;
                             case 64:
                                 {
-                                int LA168_42 = input.LA(3);
+                                int LA170_42 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13050,10 +13193,10 @@
                             case OctalLiteral:
                             case DecimalLiteral:
                                 {
-                                int LA168_43 = input.LA(3);
+                                int LA170_43 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13061,10 +13204,10 @@
                                 break;
                             case FloatingPointLiteral:
                                 {
-                                int LA168_44 = input.LA(3);
+                                int LA170_44 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13072,10 +13215,10 @@
                                 break;
                             case CharacterLiteral:
                                 {
-                                int LA168_45 = input.LA(3);
+                                int LA170_45 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13083,10 +13226,10 @@
                                 break;
                             case StringLiteral:
                                 {
-                                int LA168_46 = input.LA(3);
+                                int LA170_46 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13095,10 +13238,10 @@
                             case 69:
                             case 70:
                                 {
-                                int LA168_47 = input.LA(3);
+                                int LA170_47 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13106,21 +13249,21 @@
                                 break;
                             case 68:
                                 {
-                                int LA168_48 = input.LA(3);
+                                int LA170_48 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
                                 }
                                 break;
-                            case 113:
+                            case 114:
                                 {
-                                int LA168_49 = input.LA(3);
+                                int LA170_49 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13128,10 +13271,10 @@
                                 break;
                             case Identifier:
                                 {
-                                int LA168_50 = input.LA(3);
+                                int LA170_50 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13146,10 +13289,10 @@
                             case 61:
                             case 62:
                                 {
-                                int LA168_51 = input.LA(3);
+                                int LA170_51 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13157,10 +13300,10 @@
                                 break;
                             case 40:
                                 {
-                                int LA168_52 = input.LA(3);
+                                int LA170_52 = input.LA(3);
 
-                                if ( (synpred261()) ) {
-                                    alt168=1;
+                                if ( (synpred264()) ) {
+                                    alt170=1;
                                 }
 
 
@@ -13172,54 +13315,54 @@
                         }
 
 
-                        switch (alt168) {
+                        switch (alt170) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:896:29: '[' expression ']'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:920:29: '[' expression ']'
                     	    {
-                    	    match(input,41,FOLLOW_41_in_arrayCreatorRest4092); if (failed) return ;
-                    	    pushFollow(FOLLOW_expression_in_arrayCreatorRest4094);
+                    	    match(input,41,FOLLOW_41_in_arrayCreatorRest4190); if (failed) return ;
+                    	    pushFollow(FOLLOW_expression_in_arrayCreatorRest4192);
                     	    expression();
                     	    _fsp--;
                     	    if (failed) return ;
-                    	    match(input,42,FOLLOW_42_in_arrayCreatorRest4096); if (failed) return ;
+                    	    match(input,42,FOLLOW_42_in_arrayCreatorRest4194); if (failed) return ;
 
                     	    }
                     	    break;
 
                     	default :
-                    	    break loop168;
+                    	    break loop170;
                         }
                     } while (true);
 
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:896:50: ( '[' ']' )*
-                    loop169:
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:920:50: ( '[' ']' )*
+                    loop171:
                     do {
-                        int alt169=2;
-                        int LA169_0 = input.LA(1);
+                        int alt171=2;
+                        int LA171_0 = input.LA(1);
 
-                        if ( (LA169_0==41) ) {
-                            int LA169_30 = input.LA(2);
+                        if ( (LA171_0==41) ) {
+                            int LA171_30 = input.LA(2);
 
-                            if ( (LA169_30==42) ) {
-                                alt169=1;
+                            if ( (LA171_30==42) ) {
+                                alt171=1;
                             }
 
 
                         }
 
 
-                        switch (alt169) {
+                        switch (alt171) {
                     	case 1 :
-                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:896:51: '[' ']'
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:920:51: '[' ']'
                     	    {
-                    	    match(input,41,FOLLOW_41_in_arrayCreatorRest4101); if (failed) return ;
-                    	    match(input,42,FOLLOW_42_in_arrayCreatorRest4103); if (failed) return ;
+                    	    match(input,41,FOLLOW_41_in_arrayCreatorRest4199); if (failed) return ;
+                    	    match(input,42,FOLLOW_42_in_arrayCreatorRest4201); if (failed) return ;
 
                     	    }
                     	    break;
 
                     	default :
-                    	    break loop169;
+                    	    break loop171;
                         }
                     } while (true);
 
@@ -13238,7 +13381,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 123, arrayCreatorRest_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 124, arrayCreatorRest_StartIndex); }
         }
         return ;
     }
@@ -13246,30 +13389,30 @@
 
 
     // $ANTLR start classCreatorRest
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:900:1: classCreatorRest : arguments ( classBody )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:924:1: classCreatorRest : arguments ( classBody )? ;
     public final void classCreatorRest() throws RecognitionException {
         int classCreatorRest_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 124) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:901:2: ( arguments ( classBody )? )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:901:4: arguments ( classBody )?
+            if ( backtracking>0 && alreadyParsedRule(input, 125) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:925:2: ( arguments ( classBody )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:925:4: arguments ( classBody )?
             {
-            pushFollow(FOLLOW_arguments_in_classCreatorRest4126);
+            pushFollow(FOLLOW_arguments_in_classCreatorRest4224);
             arguments();
             _fsp--;
             if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:901:14: ( classBody )?
-            int alt171=2;
-            int LA171_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:925:14: ( classBody )?
+            int alt173=2;
+            int LA173_0 = input.LA(1);
 
-            if ( (LA171_0==37) ) {
-                alt171=1;
+            if ( (LA173_0==37) ) {
+                alt173=1;
             }
-            switch (alt171) {
+            switch (alt173) {
                 case 1 :
                     // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: classBody
                     {
-                    pushFollow(FOLLOW_classBody_in_classCreatorRest4128);
+                    pushFollow(FOLLOW_classBody_in_classCreatorRest4226);
                     classBody();
                     _fsp--;
                     if (failed) return ;
@@ -13288,7 +13431,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 124, classCreatorRest_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 125, classCreatorRest_StartIndex); }
         }
         return ;
     }
@@ -13296,19 +13439,19 @@
 
 
     // $ANTLR start explicitGenericInvocation
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:904:1: explicitGenericInvocation : nonWildcardTypeArguments explicitGenericInvocationSuffix ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:928:1: explicitGenericInvocation : nonWildcardTypeArguments explicitGenericInvocationSuffix ;
     public final void explicitGenericInvocation() throws RecognitionException {
         int explicitGenericInvocation_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 125) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:905:2: ( nonWildcardTypeArguments explicitGenericInvocationSuffix )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:905:4: nonWildcardTypeArguments explicitGenericInvocationSuffix
+            if ( backtracking>0 && alreadyParsedRule(input, 126) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:929:2: ( nonWildcardTypeArguments explicitGenericInvocationSuffix )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:929:4: nonWildcardTypeArguments explicitGenericInvocationSuffix
             {
-            pushFollow(FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation4141);
+            pushFollow(FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation4239);
             nonWildcardTypeArguments();
             _fsp--;
             if (failed) return ;
-            pushFollow(FOLLOW_explicitGenericInvocationSuffix_in_explicitGenericInvocation4143);
+            pushFollow(FOLLOW_explicitGenericInvocationSuffix_in_explicitGenericInvocation4241);
             explicitGenericInvocationSuffix();
             _fsp--;
             if (failed) return ;
@@ -13321,7 +13464,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 125, explicitGenericInvocation_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 126, explicitGenericInvocation_StartIndex); }
         }
         return ;
     }
@@ -13329,20 +13472,20 @@
 
 
     // $ANTLR start nonWildcardTypeArguments
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:908:1: nonWildcardTypeArguments : '<' typeList '>' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:932:1: nonWildcardTypeArguments : '<' typeList '>' ;
     public final void nonWildcardTypeArguments() throws RecognitionException {
         int nonWildcardTypeArguments_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 126) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:909:2: ( '<' typeList '>' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:909:4: '<' typeList '>'
+            if ( backtracking>0 && alreadyParsedRule(input, 127) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:933:2: ( '<' typeList '>' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:933:4: '<' typeList '>'
             {
-            match(input,33,FOLLOW_33_in_nonWildcardTypeArguments4155); if (failed) return ;
-            pushFollow(FOLLOW_typeList_in_nonWildcardTypeArguments4157);
+            match(input,33,FOLLOW_33_in_nonWildcardTypeArguments4253); if (failed) return ;
+            pushFollow(FOLLOW_typeList_in_nonWildcardTypeArguments4255);
             typeList();
             _fsp--;
             if (failed) return ;
-            match(input,35,FOLLOW_35_in_nonWildcardTypeArguments4159); if (failed) return ;
+            match(input,35,FOLLOW_35_in_nonWildcardTypeArguments4257); if (failed) return ;
 
             }
 
@@ -13352,7 +13495,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 126, nonWildcardTypeArguments_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 127, nonWildcardTypeArguments_StartIndex); }
         }
         return ;
     }
@@ -13360,34 +13503,34 @@
 
 
     // $ANTLR start explicitGenericInvocationSuffix
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:912:1: explicitGenericInvocationSuffix : ( 'super' superSuffix | Identifier arguments );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:936:1: explicitGenericInvocationSuffix : ( 'super' superSuffix | Identifier arguments );
     public final void explicitGenericInvocationSuffix() throws RecognitionException {
         int explicitGenericInvocationSuffix_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 127) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:913:2: ( 'super' superSuffix | Identifier arguments )
-            int alt172=2;
-            int LA172_0 = input.LA(1);
+            if ( backtracking>0 && alreadyParsedRule(input, 128) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:937:2: ( 'super' superSuffix | Identifier arguments )
+            int alt174=2;
+            int LA174_0 = input.LA(1);
 
-            if ( (LA172_0==64) ) {
-                alt172=1;
+            if ( (LA174_0==64) ) {
+                alt174=1;
             }
-            else if ( (LA172_0==Identifier) ) {
-                alt172=2;
+            else if ( (LA174_0==Identifier) ) {
+                alt174=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("912:1: explicitGenericInvocationSuffix : ( 'super' superSuffix | Identifier arguments );", 172, 0, input);
+                    new NoViableAltException("936:1: explicitGenericInvocationSuffix : ( 'super' superSuffix | Identifier arguments );", 174, 0, input);
 
                 throw nvae;
             }
-            switch (alt172) {
+            switch (alt174) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:913:4: 'super' superSuffix
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:937:4: 'super' superSuffix
                     {
-                    match(input,64,FOLLOW_64_in_explicitGenericInvocationSuffix4171); if (failed) return ;
-                    pushFollow(FOLLOW_superSuffix_in_explicitGenericInvocationSuffix4173);
+                    match(input,64,FOLLOW_64_in_explicitGenericInvocationSuffix4269); if (failed) return ;
+                    pushFollow(FOLLOW_superSuffix_in_explicitGenericInvocationSuffix4271);
                     superSuffix();
                     _fsp--;
                     if (failed) return ;
@@ -13395,10 +13538,10 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:914:6: Identifier arguments
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:938:6: Identifier arguments
                     {
-                    match(input,Identifier,FOLLOW_Identifier_in_explicitGenericInvocationSuffix4180); if (failed) return ;
-                    pushFollow(FOLLOW_arguments_in_explicitGenericInvocationSuffix4182);
+                    match(input,Identifier,FOLLOW_Identifier_in_explicitGenericInvocationSuffix4278); if (failed) return ;
+                    pushFollow(FOLLOW_arguments_in_explicitGenericInvocationSuffix4280);
                     arguments();
                     _fsp--;
                     if (failed) return ;
@@ -13413,7 +13556,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 127, explicitGenericInvocationSuffix_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 128, explicitGenericInvocationSuffix_StartIndex); }
         }
         return ;
     }
@@ -13421,74 +13564,74 @@
 
 
     // $ANTLR start selector
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:917:1: selector : ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:941:1: selector : ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' );
     public final void selector() throws RecognitionException {
         int selector_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 128) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:918:2: ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' )
-            int alt175=5;
-            int LA175_0 = input.LA(1);
+            if ( backtracking>0 && alreadyParsedRule(input, 129) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:942:2: ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' )
+            int alt177=5;
+            int LA177_0 = input.LA(1);
 
-            if ( (LA175_0==28) ) {
+            if ( (LA177_0==28) ) {
                 switch ( input.LA(2) ) {
-                case 64:
+                case Identifier:
                     {
-                    alt175=3;
+                    alt177=1;
                     }
                     break;
                 case 113:
                     {
-                    alt175=4;
+                    alt177=2;
                     }
                     break;
-                case Identifier:
+                case 114:
                     {
-                    alt175=1;
+                    alt177=4;
                     }
                     break;
-                case 112:
+                case 64:
                     {
-                    alt175=2;
+                    alt177=3;
                     }
                     break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("917:1: selector : ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' );", 175, 1, input);
+                        new NoViableAltException("941:1: selector : ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' );", 177, 1, input);
 
                     throw nvae;
                 }
 
             }
-            else if ( (LA175_0==41) ) {
-                alt175=5;
+            else if ( (LA177_0==41) ) {
+                alt177=5;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("917:1: selector : ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' );", 175, 0, input);
+                    new NoViableAltException("941:1: selector : ( '.' Identifier ( arguments )? | '.' 'this' | '.' 'super' superSuffix | '.' 'new' ( nonWildcardTypeArguments )? innerCreator | '[' expression ']' );", 177, 0, input);
 
                 throw nvae;
             }
-            switch (alt175) {
+            switch (alt177) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:918:4: '.' Identifier ( arguments )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:942:4: '.' Identifier ( arguments )?
                     {
-                    match(input,28,FOLLOW_28_in_selector4194); if (failed) return ;
-                    match(input,Identifier,FOLLOW_Identifier_in_selector4196); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:918:19: ( arguments )?
-                    int alt173=2;
-                    int LA173_0 = input.LA(1);
+                    match(input,28,FOLLOW_28_in_selector4292); if (failed) return ;
+                    match(input,Identifier,FOLLOW_Identifier_in_selector4294); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:942:19: ( arguments )?
+                    int alt175=2;
+                    int LA175_0 = input.LA(1);
 
-                    if ( (LA173_0==65) ) {
-                        alt173=1;
+                    if ( (LA175_0==65) ) {
+                        alt175=1;
                     }
-                    switch (alt173) {
+                    switch (alt175) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:918:20: arguments
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:942:20: arguments
                             {
-                            pushFollow(FOLLOW_arguments_in_selector4199);
+                            pushFollow(FOLLOW_arguments_in_selector4297);
                             arguments();
                             _fsp--;
                             if (failed) return ;
@@ -13502,19 +13645,19 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:919:6: '.' 'this'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:943:6: '.' 'this'
                     {
-                    match(input,28,FOLLOW_28_in_selector4208); if (failed) return ;
-                    match(input,112,FOLLOW_112_in_selector4210); if (failed) return ;
+                    match(input,28,FOLLOW_28_in_selector4306); if (failed) return ;
+                    match(input,113,FOLLOW_113_in_selector4308); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:920:6: '.' 'super' superSuffix
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:944:6: '.' 'super' superSuffix
                     {
-                    match(input,28,FOLLOW_28_in_selector4217); if (failed) return ;
-                    match(input,64,FOLLOW_64_in_selector4219); if (failed) return ;
-                    pushFollow(FOLLOW_superSuffix_in_selector4221);
+                    match(input,28,FOLLOW_28_in_selector4315); if (failed) return ;
+                    match(input,64,FOLLOW_64_in_selector4317); if (failed) return ;
+                    pushFollow(FOLLOW_superSuffix_in_selector4319);
                     superSuffix();
                     _fsp--;
                     if (failed) return ;
@@ -13522,22 +13665,22 @@
                     }
                     break;
                 case 4 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:921:6: '.' 'new' ( nonWildcardTypeArguments )? innerCreator
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:945:6: '.' 'new' ( nonWildcardTypeArguments )? innerCreator
                     {
-                    match(input,28,FOLLOW_28_in_selector4228); if (failed) return ;
-                    match(input,113,FOLLOW_113_in_selector4230); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:921:16: ( nonWildcardTypeArguments )?
-                    int alt174=2;
-                    int LA174_0 = input.LA(1);
+                    match(input,28,FOLLOW_28_in_selector4326); if (failed) return ;
+                    match(input,114,FOLLOW_114_in_selector4328); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:945:16: ( nonWildcardTypeArguments )?
+                    int alt176=2;
+                    int LA176_0 = input.LA(1);
 
-                    if ( (LA174_0==33) ) {
-                        alt174=1;
+                    if ( (LA176_0==33) ) {
+                        alt176=1;
                     }
-                    switch (alt174) {
+                    switch (alt176) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:921:17: nonWildcardTypeArguments
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:945:17: nonWildcardTypeArguments
                             {
-                            pushFollow(FOLLOW_nonWildcardTypeArguments_in_selector4233);
+                            pushFollow(FOLLOW_nonWildcardTypeArguments_in_selector4331);
                             nonWildcardTypeArguments();
                             _fsp--;
                             if (failed) return ;
@@ -13547,7 +13690,7 @@
 
                     }
 
-                    pushFollow(FOLLOW_innerCreator_in_selector4237);
+                    pushFollow(FOLLOW_innerCreator_in_selector4335);
                     innerCreator();
                     _fsp--;
                     if (failed) return ;
@@ -13555,14 +13698,14 @@
                     }
                     break;
                 case 5 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:922:6: '[' expression ']'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:946:6: '[' expression ']'
                     {
-                    match(input,41,FOLLOW_41_in_selector4244); if (failed) return ;
-                    pushFollow(FOLLOW_expression_in_selector4246);
+                    match(input,41,FOLLOW_41_in_selector4342); if (failed) return ;
+                    pushFollow(FOLLOW_expression_in_selector4344);
                     expression();
                     _fsp--;
                     if (failed) return ;
-                    match(input,42,FOLLOW_42_in_selector4248); if (failed) return ;
+                    match(input,42,FOLLOW_42_in_selector4346); if (failed) return ;
 
                     }
                     break;
@@ -13574,7 +13717,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 128, selector_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 129, selector_StartIndex); }
         }
         return ;
     }
@@ -13582,33 +13725,33 @@
 
 
     // $ANTLR start superSuffix
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:925:1: superSuffix : ( arguments | '.' Identifier ( arguments )? );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:949:1: superSuffix : ( arguments | '.' Identifier ( arguments )? );
     public final void superSuffix() throws RecognitionException {
         int superSuffix_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 129) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:926:2: ( arguments | '.' Identifier ( arguments )? )
-            int alt177=2;
-            int LA177_0 = input.LA(1);
+            if ( backtracking>0 && alreadyParsedRule(input, 130) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:950:2: ( arguments | '.' Identifier ( arguments )? )
+            int alt179=2;
+            int LA179_0 = input.LA(1);
 
-            if ( (LA177_0==65) ) {
-                alt177=1;
+            if ( (LA179_0==65) ) {
+                alt179=1;
             }
-            else if ( (LA177_0==28) ) {
-                alt177=2;
+            else if ( (LA179_0==28) ) {
+                alt179=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("925:1: superSuffix : ( arguments | '.' Identifier ( arguments )? );", 177, 0, input);
+                    new NoViableAltException("949:1: superSuffix : ( arguments | '.' Identifier ( arguments )? );", 179, 0, input);
 
                 throw nvae;
             }
-            switch (alt177) {
+            switch (alt179) {
                 case 1 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:926:4: arguments
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:950:4: arguments
                     {
-                    pushFollow(FOLLOW_arguments_in_superSuffix4260);
+                    pushFollow(FOLLOW_arguments_in_superSuffix4358);
                     arguments();
                     _fsp--;
                     if (failed) return ;
@@ -13616,22 +13759,22 @@
                     }
                     break;
                 case 2 :
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:927:6: '.' Identifier ( arguments )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:951:6: '.' Identifier ( arguments )?
                     {
-                    match(input,28,FOLLOW_28_in_superSuffix4267); if (failed) return ;
-                    match(input,Identifier,FOLLOW_Identifier_in_superSuffix4269); if (failed) return ;
-                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:927:21: ( arguments )?
-                    int alt176=2;
-                    int LA176_0 = input.LA(1);
+                    match(input,28,FOLLOW_28_in_superSuffix4365); if (failed) return ;
+                    match(input,Identifier,FOLLOW_Identifier_in_superSuffix4367); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:951:21: ( arguments )?
+                    int alt178=2;
+                    int LA178_0 = input.LA(1);
 
-                    if ( (LA176_0==65) ) {
-                        alt176=1;
+                    if ( (LA178_0==65) ) {
+                        alt178=1;
                     }
-                    switch (alt176) {
+                    switch (alt178) {
                         case 1 :
-                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:927:22: arguments
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:951:22: arguments
                             {
-                            pushFollow(FOLLOW_arguments_in_superSuffix4272);
+                            pushFollow(FOLLOW_arguments_in_superSuffix4370);
                             arguments();
                             _fsp--;
                             if (failed) return ;
@@ -13652,7 +13795,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 129, superSuffix_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 130, superSuffix_StartIndex); }
         }
         return ;
     }
@@ -13660,27 +13803,27 @@
 
 
     // $ANTLR start arguments
-    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:930:1: arguments : '(' ( expressionList )? ')' ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:954:1: arguments : '(' ( expressionList )? ')' ;
     public final void arguments() throws RecognitionException {
         int arguments_StartIndex = input.index();
         try {
-            if ( backtracking>0 && alreadyParsedRule(input, 130) ) { return ; }
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:931:2: ( '(' ( expressionList )? ')' )
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:931:4: '(' ( expressionList )? ')'
+            if ( backtracking>0 && alreadyParsedRule(input, 131) ) { return ; }
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:955:2: ( '(' ( expressionList )? ')' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:955:4: '(' ( expressionList )? ')'
             {
-            match(input,65,FOLLOW_65_in_arguments4288); if (failed) return ;
-            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:931:8: ( expressionList )?
-            int alt178=2;
-            int LA178_0 = input.LA(1);
+            match(input,65,FOLLOW_65_in_arguments4386); if (failed) return ;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:955:8: ( expressionList )?
+            int alt180=2;
+            int LA180_0 = input.LA(1);
 
-            if ( (LA178_0==Identifier||(LA178_0>=FloatingPointLiteral && LA178_0<=DecimalLiteral)||LA178_0==33||LA178_0==40||(LA178_0>=55 && LA178_0<=62)||(LA178_0>=64 && LA178_0<=65)||(LA178_0>=68 && LA178_0<=70)||(LA178_0>=104 && LA178_0<=105)||(LA178_0>=108 && LA178_0<=113)) ) {
-                alt178=1;
+            if ( (LA180_0==Identifier||(LA180_0>=FloatingPointLiteral && LA180_0<=DecimalLiteral)||LA180_0==33||LA180_0==40||(LA180_0>=55 && LA180_0<=62)||(LA180_0>=64 && LA180_0<=65)||(LA180_0>=68 && LA180_0<=70)||(LA180_0>=105 && LA180_0<=106)||(LA180_0>=109 && LA180_0<=114)) ) {
+                alt180=1;
             }
-            switch (alt178) {
+            switch (alt180) {
                 case 1 :
                     // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: expressionList
                     {
-                    pushFollow(FOLLOW_expressionList_in_arguments4290);
+                    pushFollow(FOLLOW_expressionList_in_arguments4388);
                     expressionList();
                     _fsp--;
                     if (failed) return ;
@@ -13690,7 +13833,7 @@
 
             }
 
-            match(input,66,FOLLOW_66_in_arguments4293); if (failed) return ;
+            match(input,66,FOLLOW_66_in_arguments4391); if (failed) return ;
 
             }
 
@@ -13700,7 +13843,7 @@
             recover(input,re);
         }
         finally {
-            if ( backtracking>0 ) { memoize(input, 130, arguments_StartIndex); }
+            if ( backtracking>0 ) { memoize(input, 131, arguments_StartIndex); }
         }
         return ;
     }
@@ -13708,8 +13851,8 @@
 
     // $ANTLR start synpred1
     public final void synpred1_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:205:4: ( annotations )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:205:4: annotations
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:207:4: ( annotations )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:207:4: annotations
         {
         pushFollow(FOLLOW_annotations_in_synpred170);
         annotations();
@@ -13722,8 +13865,8 @@
 
     // $ANTLR start synpred38
     public final void synpred38_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:301:4: ( methodDeclaration )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:301:4: methodDeclaration
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:303:4: ( methodDeclaration )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:303:4: methodDeclaration
         {
         pushFollow(FOLLOW_methodDeclaration_in_synpred38577);
         methodDeclaration();
@@ -13736,8 +13879,8 @@
 
     // $ANTLR start synpred39
     public final void synpred39_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:302:4: ( fieldDeclaration )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:302:4: fieldDeclaration
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:304:4: ( fieldDeclaration )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:304:4: fieldDeclaration
         {
         pushFollow(FOLLOW_fieldDeclaration_in_synpred39582);
         fieldDeclaration();
@@ -13750,8 +13893,8 @@
 
     // $ANTLR start synpred85
     public final void synpred85_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:457:16: ( '.' Identifier )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:457:16: '.' Identifier
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:459:16: ( '.' Identifier )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:459:16: '.' Identifier
         {
         match(input,28,FOLLOW_28_in_synpred851389); if (failed) return ;
         match(input,Identifier,FOLLOW_Identifier_in_synpred851391); if (failed) return ;
@@ -13762,8 +13905,8 @@
 
     // $ANTLR start synpred120
     public final void synpred120_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:547:4: ( annotation )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:547:4: annotation
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:549:4: ( annotation )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:549:4: annotation
         {
         pushFollow(FOLLOW_annotation_in_synpred1201893);
         annotation();
@@ -13776,21 +13919,21 @@
 
     // $ANTLR start synpred135
     public final void synpred135_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:6: ( classDeclaration ( ';' )? )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:6: classDeclaration ( ';' )?
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:596:6: ( classDeclaration ( ';' )? )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:596:6: classDeclaration ( ';' )?
         {
         pushFollow(FOLLOW_classDeclaration_in_synpred1352123);
         classDeclaration();
         _fsp--;
         if (failed) return ;
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:594:23: ( ';' )?
-        int alt194=2;
-        int LA194_0 = input.LA(1);
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:596:23: ( ';' )?
+        int alt196=2;
+        int LA196_0 = input.LA(1);
 
-        if ( (LA194_0==25) ) {
-            alt194=1;
+        if ( (LA196_0==25) ) {
+            alt196=1;
         }
-        switch (alt194) {
+        switch (alt196) {
             case 1 :
                 // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ';'
                 {
@@ -13808,21 +13951,21 @@
 
     // $ANTLR start synpred137
     public final void synpred137_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:595:6: ( interfaceDeclaration ( ';' )? )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:595:6: interfaceDeclaration ( ';' )?
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:597:6: ( interfaceDeclaration ( ';' )? )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:597:6: interfaceDeclaration ( ';' )?
         {
         pushFollow(FOLLOW_interfaceDeclaration_in_synpred1372133);
         interfaceDeclaration();
         _fsp--;
         if (failed) return ;
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:595:27: ( ';' )?
-        int alt195=2;
-        int LA195_0 = input.LA(1);
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:597:27: ( ';' )?
+        int alt197=2;
+        int LA197_0 = input.LA(1);
 
-        if ( (LA195_0==25) ) {
-            alt195=1;
+        if ( (LA197_0==25) ) {
+            alt197=1;
         }
-        switch (alt195) {
+        switch (alt197) {
             case 1 :
                 // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ';'
                 {
@@ -13840,21 +13983,21 @@
 
     // $ANTLR start synpred139
     public final void synpred139_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:596:6: ( enumDeclaration ( ';' )? )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:596:6: enumDeclaration ( ';' )?
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:598:6: ( enumDeclaration ( ';' )? )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:598:6: enumDeclaration ( ';' )?
         {
         pushFollow(FOLLOW_enumDeclaration_in_synpred1392143);
         enumDeclaration();
         _fsp--;
         if (failed) return ;
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:596:22: ( ';' )?
-        int alt196=2;
-        int LA196_0 = input.LA(1);
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:598:22: ( ';' )?
+        int alt198=2;
+        int LA198_0 = input.LA(1);
 
-        if ( (LA196_0==25) ) {
-            alt196=1;
+        if ( (LA198_0==25) ) {
+            alt198=1;
         }
-        switch (alt196) {
+        switch (alt198) {
             case 1 :
                 // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: ';'
                 {
@@ -13872,8 +14015,8 @@
 
     // $ANTLR start synpred144
     public final void synpred144_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:630:4: ( localVariableDeclaration )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:630:4: localVariableDeclaration
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:632:4: ( localVariableDeclaration )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:632:4: localVariableDeclaration
         {
         pushFollow(FOLLOW_localVariableDeclaration_in_synpred1442286);
         localVariableDeclaration();
@@ -13886,8 +14029,8 @@
 
     // $ANTLR start synpred145
     public final void synpred145_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:631:4: ( classOrInterfaceDeclaration )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:631:4: classOrInterfaceDeclaration
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:633:4: ( classOrInterfaceDeclaration )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:633:4: classOrInterfaceDeclaration
         {
         pushFollow(FOLLOW_classOrInterfaceDeclaration_in_synpred1452291);
         classOrInterfaceDeclaration();
@@ -13900,8 +14043,8 @@
 
     // $ANTLR start synpred150
     public final void synpred150_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:664:52: ( 'else' statement )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:664:52: 'else' statement
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:666:52: ( 'else' statement )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:666:52: 'else' statement
         {
         match(input,76,FOLLOW_76_in_synpred1502431); if (failed) return ;
         pushFollow(FOLLOW_statement_in_synpred1502433);
@@ -13915,8 +14058,8 @@
 
     // $ANTLR start synpred155
     public final void synpred155_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:669:9: ( catches 'finally' block )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:669:9: catches 'finally' block
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:671:9: ( catches 'finally' block )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:671:9: catches 'finally' block
         {
         pushFollow(FOLLOW_catches_in_synpred1552499);
         catches();
@@ -13934,8 +14077,8 @@
 
     // $ANTLR start synpred156
     public final void synpred156_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:670:9: ( catches )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:670:9: catches
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:672:9: ( catches )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:672:9: catches
         {
         pushFollow(FOLLOW_catches_in_synpred1562513);
         catches();
@@ -13946,73 +14089,73 @@
     }
     // $ANTLR end synpred156
 
-    // $ANTLR start synpred173
-    public final void synpred173_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:705:4: ( 'case' constantExpression ':' )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:705:4: 'case' constantExpression ':'
+    // $ANTLR start synpred176
+    public final void synpred176_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:729:4: ( 'case' constantExpression ':' )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:729:4: 'case' constantExpression ':'
         {
-        match(input,88,FOLLOW_88_in_synpred1732738); if (failed) return ;
-        pushFollow(FOLLOW_constantExpression_in_synpred1732740);
+        match(input,89,FOLLOW_89_in_synpred1762836); if (failed) return ;
+        pushFollow(FOLLOW_constantExpression_in_synpred1762838);
         constantExpression();
         _fsp--;
         if (failed) return ;
-        match(input,74,FOLLOW_74_in_synpred1732742); if (failed) return ;
+        match(input,74,FOLLOW_74_in_synpred1762840); if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred173
+    // $ANTLR end synpred176
 
-    // $ANTLR start synpred174
-    public final void synpred174_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:706:6: ( 'case' enumConstantName ':' )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:706:6: 'case' enumConstantName ':'
+    // $ANTLR start synpred177
+    public final void synpred177_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:730:6: ( 'case' enumConstantName ':' )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:730:6: 'case' enumConstantName ':'
         {
-        match(input,88,FOLLOW_88_in_synpred1742749); if (failed) return ;
-        pushFollow(FOLLOW_enumConstantName_in_synpred1742751);
+        match(input,89,FOLLOW_89_in_synpred1772847); if (failed) return ;
+        pushFollow(FOLLOW_enumConstantName_in_synpred1772849);
         enumConstantName();
         _fsp--;
         if (failed) return ;
-        match(input,74,FOLLOW_74_in_synpred1742753); if (failed) return ;
+        match(input,74,FOLLOW_74_in_synpred1772851); if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred174
+    // $ANTLR end synpred177
 
-    // $ANTLR start synpred176
-    public final void synpred176_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:716:4: ( forVarControl )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:716:4: forVarControl
+    // $ANTLR start synpred179
+    public final void synpred179_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:740:4: ( forVarControl )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:740:4: forVarControl
         {
-        pushFollow(FOLLOW_forVarControl_in_synpred1762798);
+        pushFollow(FOLLOW_forVarControl_in_synpred1792896);
         forVarControl();
         _fsp--;
         if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred176
+    // $ANTLR end synpred179
 
-    // $ANTLR start synpred181
-    public final void synpred181_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:727:4: ( ( variableModifier )* type variableDeclarators )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:727:4: ( variableModifier )* type variableDeclarators
+    // $ANTLR start synpred184
+    public final void synpred184_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:751:4: ( ( variableModifier )* type variableDeclarators )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:751:4: ( variableModifier )* type variableDeclarators
         {
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:727:4: ( variableModifier )*
-        loop203:
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:751:4: ( variableModifier )*
+        loop206:
         do {
-            int alt203=2;
-            int LA203_0 = input.LA(1);
+            int alt206=2;
+            int LA206_0 = input.LA(1);
 
-            if ( (LA203_0==49||LA203_0==71) ) {
-                alt203=1;
+            if ( (LA206_0==49||LA206_0==71) ) {
+                alt206=1;
             }
 
 
-            switch (alt203) {
+            switch (alt206) {
         	case 1 :
         	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:0:0: variableModifier
         	    {
-        	    pushFollow(FOLLOW_variableModifier_in_synpred1812851);
+        	    pushFollow(FOLLOW_variableModifier_in_synpred1842949);
         	    variableModifier();
         	    _fsp--;
         	    if (failed) return ;
@@ -14021,234 +14164,234 @@
         	    break;
 
         	default :
-        	    break loop203;
+        	    break loop206;
             }
         } while (true);
 
-        pushFollow(FOLLOW_type_in_synpred1812854);
+        pushFollow(FOLLOW_type_in_synpred1842952);
         type();
         _fsp--;
         if (failed) return ;
-        pushFollow(FOLLOW_variableDeclarators_in_synpred1812856);
+        pushFollow(FOLLOW_variableDeclarators_in_synpred1842954);
         variableDeclarators();
         _fsp--;
         if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred181
+    // $ANTLR end synpred184
 
-    // $ANTLR start synpred184
-    public final void synpred184_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:758:27: ( assignmentOperator expression )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:758:27: assignmentOperator expression
+    // $ANTLR start synpred187
+    public final void synpred187_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:782:27: ( assignmentOperator expression )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:782:27: assignmentOperator expression
         {
-        pushFollow(FOLLOW_assignmentOperator_in_synpred1842975);
+        pushFollow(FOLLOW_assignmentOperator_in_synpred1873073);
         assignmentOperator();
         _fsp--;
         if (failed) return ;
-        pushFollow(FOLLOW_expression_in_synpred1842977);
+        pushFollow(FOLLOW_expression_in_synpred1873075);
         expression();
         _fsp--;
         if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred184
+    // $ANTLR end synpred187
 
-    // $ANTLR start synpred195
-    public final void synpred195_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:772:9: ( '>' '>' '=' )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:772:9: '>' '>' '='
+    // $ANTLR start synpred198
+    public final void synpred198_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:796:9: ( '>' '>' '=' )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:796:9: '>' '>' '='
         {
-        match(input,35,FOLLOW_35_in_synpred1953095); if (failed) return ;
-        match(input,35,FOLLOW_35_in_synpred1953097); if (failed) return ;
-        match(input,44,FOLLOW_44_in_synpred1953099); if (failed) return ;
+        match(input,35,FOLLOW_35_in_synpred1983193); if (failed) return ;
+        match(input,35,FOLLOW_35_in_synpred1983195); if (failed) return ;
+        match(input,44,FOLLOW_44_in_synpred1983197); if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred195
+    // $ANTLR end synpred198
 
-    // $ANTLR start synpred205
-    public final void synpred205_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:809:27: ( relationalOp shiftExpression )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:809:27: relationalOp shiftExpression
+    // $ANTLR start synpred208
+    public final void synpred208_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:833:27: ( relationalOp shiftExpression )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:833:27: relationalOp shiftExpression
         {
-        pushFollow(FOLLOW_relationalOp_in_synpred2053343);
+        pushFollow(FOLLOW_relationalOp_in_synpred2083441);
         relationalOp();
         _fsp--;
         if (failed) return ;
-        pushFollow(FOLLOW_shiftExpression_in_synpred2053345);
+        pushFollow(FOLLOW_shiftExpression_in_synpred2083443);
         shiftExpression();
         _fsp--;
         if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred205
+    // $ANTLR end synpred208
 
-    // $ANTLR start synpred209
-    public final void synpred209_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:817:30: ( shiftOp additiveExpression )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:817:30: shiftOp additiveExpression
+    // $ANTLR start synpred212
+    public final void synpred212_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:841:30: ( shiftOp additiveExpression )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:841:30: shiftOp additiveExpression
         {
-        pushFollow(FOLLOW_shiftOp_in_synpred2093398);
+        pushFollow(FOLLOW_shiftOp_in_synpred2123496);
         shiftOp();
         _fsp--;
         if (failed) return ;
-        pushFollow(FOLLOW_additiveExpression_in_synpred2093400);
+        pushFollow(FOLLOW_additiveExpression_in_synpred2123498);
         additiveExpression();
         _fsp--;
         if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred209
+    // $ANTLR end synpred212
 
-    // $ANTLR start synpred211
-    public final void synpred211_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:822:15: ( '>' '>' '>' )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:822:15: '>' '>' '>'
+    // $ANTLR start synpred214
+    public final void synpred214_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:15: ( '>' '>' '>' )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:846:15: '>' '>' '>'
         {
-        match(input,35,FOLLOW_35_in_synpred2113430); if (failed) return ;
-        match(input,35,FOLLOW_35_in_synpred2113432); if (failed) return ;
-        match(input,35,FOLLOW_35_in_synpred2113434); if (failed) return ;
+        match(input,35,FOLLOW_35_in_synpred2143528); if (failed) return ;
+        match(input,35,FOLLOW_35_in_synpred2143530); if (failed) return ;
+        match(input,35,FOLLOW_35_in_synpred2143532); if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred211
+    // $ANTLR end synpred214
 
-    // $ANTLR start synpred223
-    public final void synpred223_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:845:9: ( castExpression )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:845:9: castExpression
+    // $ANTLR start synpred226
+    public final void synpred226_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:869:9: ( castExpression )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:869:9: castExpression
         {
-        pushFollow(FOLLOW_castExpression_in_synpred2233615);
+        pushFollow(FOLLOW_castExpression_in_synpred2263713);
         castExpression();
         _fsp--;
         if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred223
+    // $ANTLR end synpred226
 
-    // $ANTLR start synpred227
-    public final void synpred227_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:850:8: ( '(' primitiveType ')' unaryExpression )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:850:8: '(' primitiveType ')' unaryExpression
+    // $ANTLR start synpred230
+    public final void synpred230_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:874:8: ( '(' primitiveType ')' unaryExpression )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:874:8: '(' primitiveType ')' unaryExpression
         {
-        match(input,65,FOLLOW_65_in_synpred2273653); if (failed) return ;
-        pushFollow(FOLLOW_primitiveType_in_synpred2273655);
+        match(input,65,FOLLOW_65_in_synpred2303751); if (failed) return ;
+        pushFollow(FOLLOW_primitiveType_in_synpred2303753);
         primitiveType();
         _fsp--;
         if (failed) return ;
-        match(input,66,FOLLOW_66_in_synpred2273657); if (failed) return ;
-        pushFollow(FOLLOW_unaryExpression_in_synpred2273659);
+        match(input,66,FOLLOW_66_in_synpred2303755); if (failed) return ;
+        pushFollow(FOLLOW_unaryExpression_in_synpred2303757);
         unaryExpression();
         _fsp--;
         if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred227
+    // $ANTLR end synpred230
 
-    // $ANTLR start synpred228
-    public final void synpred228_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:851:13: ( type )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:851:13: type
+    // $ANTLR start synpred231
+    public final void synpred231_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:875:13: ( type )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:875:13: type
         {
-        pushFollow(FOLLOW_type_in_synpred2283671);
+        pushFollow(FOLLOW_type_in_synpred2313769);
         type();
         _fsp--;
         if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred228
+    // $ANTLR end synpred231
 
-    // $ANTLR start synpred232
-    public final void synpred232_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:17: ( '.' Identifier )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:17: '.' Identifier
+    // $ANTLR start synpred235
+    public final void synpred235_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:17: ( '.' Identifier )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:17: '.' Identifier
         {
-        match(input,28,FOLLOW_28_in_synpred2323738); if (failed) return ;
-        match(input,Identifier,FOLLOW_Identifier_in_synpred2323740); if (failed) return ;
+        match(input,28,FOLLOW_28_in_synpred2353836); if (failed) return ;
+        match(input,Identifier,FOLLOW_Identifier_in_synpred2353838); if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred232
+    // $ANTLR end synpred235
 
-    // $ANTLR start synpred233
-    public final void synpred233_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:35: ( identifierSuffix )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:858:35: identifierSuffix
+    // $ANTLR start synpred236
+    public final void synpred236_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:35: ( identifierSuffix )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:882:35: identifierSuffix
         {
-        pushFollow(FOLLOW_identifierSuffix_in_synpred2333745);
+        pushFollow(FOLLOW_identifierSuffix_in_synpred2363843);
         identifierSuffix();
         _fsp--;
         if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred233
+    // $ANTLR end synpred236
 
-    // $ANTLR start synpred238
-    public final void synpred238_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:127: ( '.' Identifier )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:127: '.' Identifier
+    // $ANTLR start synpred241
+    public final void synpred241_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:886:127: ( '.' Identifier )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:886:127: '.' Identifier
         {
-        match(input,28,FOLLOW_28_in_synpred2383798); if (failed) return ;
-        match(input,Identifier,FOLLOW_Identifier_in_synpred2383800); if (failed) return ;
+        match(input,28,FOLLOW_28_in_synpred2413896); if (failed) return ;
+        match(input,Identifier,FOLLOW_Identifier_in_synpred2413898); if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred238
+    // $ANTLR end synpred241
 
-    // $ANTLR start synpred239
-    public final void synpred239_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:145: ( identifierSuffix )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:862:145: identifierSuffix
+    // $ANTLR start synpred242
+    public final void synpred242_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:886:145: ( identifierSuffix )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:886:145: identifierSuffix
         {
-        pushFollow(FOLLOW_identifierSuffix_in_synpred2393805);
+        pushFollow(FOLLOW_identifierSuffix_in_synpred2423903);
         identifierSuffix();
         _fsp--;
         if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred239
+    // $ANTLR end synpred242
 
-    // $ANTLR start synpred245
-    public final void synpred245_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:869:5: ( '[' expression ']' )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:869:5: '[' expression ']'
+    // $ANTLR start synpred248
+    public final void synpred248_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:893:5: ( '[' expression ']' )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:893:5: '[' expression ']'
         {
-        match(input,41,FOLLOW_41_in_synpred2453868); if (failed) return ;
-        pushFollow(FOLLOW_expression_in_synpred2453870);
+        match(input,41,FOLLOW_41_in_synpred2483966); if (failed) return ;
+        pushFollow(FOLLOW_expression_in_synpred2483968);
         expression();
         _fsp--;
         if (failed) return ;
-        match(input,42,FOLLOW_42_in_synpred2453872); if (failed) return ;
+        match(input,42,FOLLOW_42_in_synpred2483970); if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred245
+    // $ANTLR end synpred248
 
-    // $ANTLR start synpred261
-    public final void synpred261_fragment() throws RecognitionException {   
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:896:29: ( '[' expression ']' )
-        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:896:29: '[' expression ']'
+    // $ANTLR start synpred264
+    public final void synpred264_fragment() throws RecognitionException {   
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:920:29: ( '[' expression ']' )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g:920:29: '[' expression ']'
         {
-        match(input,41,FOLLOW_41_in_synpred2614092); if (failed) return ;
-        pushFollow(FOLLOW_expression_in_synpred2614094);
+        match(input,41,FOLLOW_41_in_synpred2644190); if (failed) return ;
+        pushFollow(FOLLOW_expression_in_synpred2644192);
         expression();
         _fsp--;
         if (failed) return ;
-        match(input,42,FOLLOW_42_in_synpred2614096); if (failed) return ;
+        match(input,42,FOLLOW_42_in_synpred2644194); if (failed) return ;
 
         }
     }
-    // $ANTLR end synpred261
+    // $ANTLR end synpred264
 
     public final boolean synpred139() {
         backtracking++;
@@ -14264,11 +14407,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred156() {
+    public final boolean synpred242() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred156_fragment(); // can never throw exception
+            synpred242_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14278,11 +14421,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred209() {
+    public final boolean synpred156() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred209_fragment(); // can never throw exception
+            synpred156_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14306,11 +14449,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred232() {
+    public final boolean synpred264() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred232_fragment(); // can never throw exception
+            synpred264_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14320,11 +14463,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred228() {
+    public final boolean synpred38() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred228_fragment(); // can never throw exception
+            synpred38_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14334,11 +14477,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred195() {
+    public final boolean synpred184() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred195_fragment(); // can never throw exception
+            synpred184_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14348,11 +14491,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred173() {
+    public final boolean synpred155() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred173_fragment(); // can never throw exception
+            synpred155_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14362,11 +14505,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred38() {
+    public final boolean synpred235() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred38_fragment(); // can never throw exception
+            synpred235_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14376,11 +14519,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred184() {
+    public final boolean synpred85() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred184_fragment(); // can never throw exception
+            synpred85_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14390,11 +14533,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred155() {
+    public final boolean synpred39() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred155_fragment(); // can never throw exception
+            synpred39_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14404,11 +14547,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred85() {
+    public final boolean synpred1() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred85_fragment(); // can never throw exception
+            synpred1_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14418,11 +14561,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred227() {
+    public final boolean synpred177() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred227_fragment(); // can never throw exception
+            synpred177_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14432,11 +14575,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred39() {
+    public final boolean synpred212() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred39_fragment(); // can never throw exception
+            synpred212_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14446,11 +14589,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred205() {
+    public final boolean synpred198() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred205_fragment(); // can never throw exception
+            synpred198_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14460,11 +14603,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred1() {
+    public final boolean synpred145() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred1_fragment(); // can never throw exception
+            synpred145_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14474,11 +14617,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred145() {
+    public final boolean synpred176() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred145_fragment(); // can never throw exception
+            synpred176_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14488,11 +14631,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred176() {
+    public final boolean synpred208() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred176_fragment(); // can never throw exception
+            synpred208_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14502,11 +14645,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred233() {
+    public final boolean synpred241() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred233_fragment(); // can never throw exception
+            synpred241_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14516,11 +14659,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred174() {
+    public final boolean synpred187() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred174_fragment(); // can never throw exception
+            synpred187_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14530,11 +14673,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred261() {
+    public final boolean synpred135() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred261_fragment(); // can never throw exception
+            synpred135_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14544,11 +14687,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred211() {
+    public final boolean synpred231() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred211_fragment(); // can never throw exception
+            synpred231_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14558,11 +14701,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred135() {
+    public final boolean synpred236() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred135_fragment(); // can never throw exception
+            synpred236_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14572,11 +14715,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred181() {
+    public final boolean synpred214() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred181_fragment(); // can never throw exception
+            synpred214_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14586,11 +14729,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred238() {
+    public final boolean synpred179() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred238_fragment(); // can never throw exception
+            synpred179_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14628,11 +14771,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred239() {
+    public final boolean synpred248() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred239_fragment(); // can never throw exception
+            synpred248_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14642,11 +14785,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred245() {
+    public final boolean synpred144() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred245_fragment(); // can never throw exception
+            synpred144_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14656,11 +14799,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred144() {
+    public final boolean synpred226() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred144_fragment(); // can never throw exception
+            synpred226_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14670,11 +14813,11 @@
         failed=false;
         return success;
     }
-    public final boolean synpred223() {
+    public final boolean synpred230() {
         backtracking++;
         int start = input.mark();
         try {
-            synpred223_fragment(); // can never throw exception
+            synpred230_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -14850,25 +14993,25 @@
     public static final BitSet FOLLOW_variableDeclaratorRest_in_variableDeclarator1088 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_41_in_variableDeclaratorRest1106 = new BitSet(new long[]{0x0000040000000000L});
     public static final BitSet FOLLOW_42_in_variableDeclaratorRest1108 = new BitSet(new long[]{0x0000120000000002L});
-    public static final BitSet FOLLOW_44_in_variableDeclaratorRest1113 = new BitSet(new long[]{0x7F80012200000FD0L,0x0003F30000000073L});
+    public static final BitSet FOLLOW_44_in_variableDeclaratorRest1113 = new BitSet(new long[]{0x7F80012200000FD0L,0x0007E60000000073L});
     public static final BitSet FOLLOW_variableInitializer_in_variableDeclaratorRest1115 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_variableDeclaratorRest1122 = new BitSet(new long[]{0x7F80012200000FD0L,0x0003F30000000073L});
+    public static final BitSet FOLLOW_44_in_variableDeclaratorRest1122 = new BitSet(new long[]{0x7F80012200000FD0L,0x0007E60000000073L});
     public static final BitSet FOLLOW_variableInitializer_in_variableDeclaratorRest1124 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_constantDeclaratorRest_in_constantDeclaratorsRest1144 = new BitSet(new long[]{0x0000000400000002L});
     public static final BitSet FOLLOW_34_in_constantDeclaratorsRest1147 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_constantDeclarator_in_constantDeclaratorsRest1149 = new BitSet(new long[]{0x0000000400000002L});
     public static final BitSet FOLLOW_41_in_constantDeclaratorRest1166 = new BitSet(new long[]{0x0000040000000000L});
     public static final BitSet FOLLOW_42_in_constantDeclaratorRest1168 = new BitSet(new long[]{0x0000120000000000L});
-    public static final BitSet FOLLOW_44_in_constantDeclaratorRest1172 = new BitSet(new long[]{0x7F80012200000FD0L,0x0003F30000000073L});
+    public static final BitSet FOLLOW_44_in_constantDeclaratorRest1172 = new BitSet(new long[]{0x7F80012200000FD0L,0x0007E60000000073L});
     public static final BitSet FOLLOW_variableInitializer_in_constantDeclaratorRest1174 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_Identifier_in_variableDeclaratorId1186 = new BitSet(new long[]{0x0000020000000002L});
     public static final BitSet FOLLOW_41_in_variableDeclaratorId1189 = new BitSet(new long[]{0x0000040000000000L});
     public static final BitSet FOLLOW_42_in_variableDeclaratorId1191 = new BitSet(new long[]{0x0000020000000002L});
     public static final BitSet FOLLOW_arrayInitializer_in_variableInitializer1204 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_expression_in_variableInitializer1214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_arrayInitializer1226 = new BitSet(new long[]{0x7F80016200000FD0L,0x0003F30000000073L});
+    public static final BitSet FOLLOW_37_in_arrayInitializer1226 = new BitSet(new long[]{0x7F80016200000FD0L,0x0007E60000000073L});
     public static final BitSet FOLLOW_variableInitializer_in_arrayInitializer1229 = new BitSet(new long[]{0x0000004400000000L});
-    public static final BitSet FOLLOW_34_in_arrayInitializer1232 = new BitSet(new long[]{0x7F80012200000FD0L,0x0003F30000000073L});
+    public static final BitSet FOLLOW_34_in_arrayInitializer1232 = new BitSet(new long[]{0x7F80012200000FD0L,0x0007E60000000073L});
     public static final BitSet FOLLOW_variableInitializer_in_arrayInitializer1234 = new BitSet(new long[]{0x0000004400000000L});
     public static final BitSet FOLLOW_34_in_arrayInitializer1239 = new BitSet(new long[]{0x0000004000000000L});
     public static final BitSet FOLLOW_38_in_arrayInitializer1246 = new BitSet(new long[]{0x0000000000000002L});
@@ -14943,24 +15086,24 @@
     public static final BitSet FOLLOW_annotation_in_annotations1893 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000080L});
     public static final BitSet FOLLOW_71_in_annotation1905 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_annotationName_in_annotation1907 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_annotation1910 = new BitSet(new long[]{0x7F80012200000FD0L,0x0003F300000000F7L});
+    public static final BitSet FOLLOW_65_in_annotation1910 = new BitSet(new long[]{0x7F80012200000FD0L,0x0007E600000000F7L});
     public static final BitSet FOLLOW_elementValuePairs_in_annotation1912 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
     public static final BitSet FOLLOW_66_in_annotation1915 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_Identifier_in_annotationName1929 = new BitSet(new long[]{0x0000000010000002L});
     public static final BitSet FOLLOW_28_in_annotationName1932 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_Identifier_in_annotationName1934 = new BitSet(new long[]{0x0000000010000002L});
     public static final BitSet FOLLOW_elementValuePair_in_elementValuePairs1948 = new BitSet(new long[]{0x0000000400000002L});
-    public static final BitSet FOLLOW_34_in_elementValuePairs1951 = new BitSet(new long[]{0x7F80012200000FD0L,0x0003F300000000F3L});
+    public static final BitSet FOLLOW_34_in_elementValuePairs1951 = new BitSet(new long[]{0x7F80012200000FD0L,0x0007E600000000F3L});
     public static final BitSet FOLLOW_elementValuePair_in_elementValuePairs1953 = new BitSet(new long[]{0x0000000400000002L});
     public static final BitSet FOLLOW_Identifier_in_elementValuePair1968 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_44_in_elementValuePair1970 = new BitSet(new long[]{0x7F80012200000FD0L,0x0003F300000000F3L});
+    public static final BitSet FOLLOW_44_in_elementValuePair1970 = new BitSet(new long[]{0x7F80012200000FD0L,0x0007E600000000F3L});
     public static final BitSet FOLLOW_elementValue_in_elementValuePair1974 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_conditionalExpression_in_elementValue1986 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_annotation_in_elementValue1993 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_elementValueArrayInitializer_in_elementValue2000 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_elementValueArrayInitializer2012 = new BitSet(new long[]{0x7F80016200000FD0L,0x0003F300000000F3L});
+    public static final BitSet FOLLOW_37_in_elementValueArrayInitializer2012 = new BitSet(new long[]{0x7F80016200000FD0L,0x0007E600000000F3L});
     public static final BitSet FOLLOW_elementValue_in_elementValueArrayInitializer2015 = new BitSet(new long[]{0x0000004400000000L});
-    public static final BitSet FOLLOW_34_in_elementValueArrayInitializer2018 = new BitSet(new long[]{0x7F80012200000FD0L,0x0003F300000000F3L});
+    public static final BitSet FOLLOW_34_in_elementValueArrayInitializer2018 = new BitSet(new long[]{0x7F80012200000FD0L,0x0007E600000000F3L});
     public static final BitSet FOLLOW_elementValue_in_elementValueArrayInitializer2020 = new BitSet(new long[]{0x0000004400000000L});
     public static final BitSet FOLLOW_38_in_elementValueArrayInitializer2027 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_71_in_annotationTypeDeclaration2039 = new BitSet(new long[]{0x0000008000000000L});
@@ -14992,10 +15135,10 @@
     public static final BitSet FOLLOW_66_in_annotationMethodRest2192 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
     public static final BitSet FOLLOW_defaultValue_in_annotationMethodRest2195 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_variableDeclarators_in_annotationConstantRest2212 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_72_in_defaultValue2227 = new BitSet(new long[]{0x7F80012200000FD0L,0x0003F300000000F3L});
+    public static final BitSet FOLLOW_72_in_defaultValue2227 = new BitSet(new long[]{0x7F80012200000FD0L,0x0007E600000000F3L});
     public static final BitSet FOLLOW_elementValue_in_defaultValue2229 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_block2269 = new BitSet(new long[]{0x7FFFE1E24A000FF0L,0x0003F300007DEAF3L});
-    public static final BitSet FOLLOW_blockStatement_in_block2271 = new BitSet(new long[]{0x7FFFE1E24A000FF0L,0x0003F300007DEAF3L});
+    public static final BitSet FOLLOW_37_in_block2269 = new BitSet(new long[]{0x7FFFE1E24A000FF0L,0x0007E60000FDEAF3L});
+    public static final BitSet FOLLOW_blockStatement_in_block2271 = new BitSet(new long[]{0x7FFFE1E24A000FF0L,0x0007E60000FDEAF3L});
     public static final BitSet FOLLOW_38_in_block2274 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_localVariableDeclaration_in_blockStatement2286 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_classOrInterfaceDeclaration_in_blockStatement2291 = new BitSet(new long[]{0x0000000000000002L});
@@ -15005,31 +15148,31 @@
     public static final BitSet FOLLOW_variableDeclarators_in_localVariableDeclaration2376 = new BitSet(new long[]{0x0000000002000000L});
     public static final BitSet FOLLOW_25_in_localVariableDeclaration2378 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_block_in_statement2390 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_73_in_statement2398 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
+    public static final BitSet FOLLOW_73_in_statement2398 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
     public static final BitSet FOLLOW_expression_in_statement2400 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_74_in_statement2403 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
+    public static final BitSet FOLLOW_74_in_statement2403 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
     public static final BitSet FOLLOW_expression_in_statement2405 = new BitSet(new long[]{0x0000000002000000L});
     public static final BitSet FOLLOW_25_in_statement2409 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_75_in_statement2417 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_parExpression_in_statement2419 = new BitSet(new long[]{0x7F88012202000FD0L,0x0003F300007DEA73L});
+    public static final BitSet FOLLOW_parExpression_in_statement2419 = new BitSet(new long[]{0x7F88012202000FD0L,0x0007E60000FDEA73L});
     public static final BitSet FOLLOW_statement_in_statement2421 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L});
-    public static final BitSet FOLLOW_76_in_statement2431 = new BitSet(new long[]{0x7F88012202000FD0L,0x0003F300007DEA73L});
+    public static final BitSet FOLLOW_76_in_statement2431 = new BitSet(new long[]{0x7F88012202000FD0L,0x0007E60000FDEA73L});
     public static final BitSet FOLLOW_statement_in_statement2433 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_77_in_statement2443 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_statement2445 = new BitSet(new long[]{0x7F82010202000FD0L,0x0003F300000000F3L});
+    public static final BitSet FOLLOW_65_in_statement2445 = new BitSet(new long[]{0x7F82010202000FD0L,0x0007E600000000F3L});
     public static final BitSet FOLLOW_forControl_in_statement2447 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_66_in_statement2449 = new BitSet(new long[]{0x7F88012202000FD0L,0x0003F300007DEA73L});
+    public static final BitSet FOLLOW_66_in_statement2449 = new BitSet(new long[]{0x7F88012202000FD0L,0x0007E60000FDEA73L});
     public static final BitSet FOLLOW_statement_in_statement2451 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_78_in_statement2459 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_parExpression_in_statement2461 = new BitSet(new long[]{0x7F88012202000FD0L,0x0003F300007DEA73L});
+    public static final BitSet FOLLOW_parExpression_in_statement2461 = new BitSet(new long[]{0x7F88012202000FD0L,0x0007E60000FDEA73L});
     public static final BitSet FOLLOW_statement_in_statement2463 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_79_in_statement2471 = new BitSet(new long[]{0x7F88012202000FD0L,0x0003F300007DEA73L});
+    public static final BitSet FOLLOW_79_in_statement2471 = new BitSet(new long[]{0x7F88012202000FD0L,0x0007E60000FDEA73L});
     public static final BitSet FOLLOW_statement_in_statement2473 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
     public static final BitSet FOLLOW_78_in_statement2475 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
     public static final BitSet FOLLOW_parExpression_in_statement2477 = new BitSet(new long[]{0x0000000002000000L});
     public static final BitSet FOLLOW_25_in_statement2479 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_80_in_statement2487 = new BitSet(new long[]{0x0000002000000000L});
-    public static final BitSet FOLLOW_block_in_statement2489 = new BitSet(new long[]{0x0000000000000000L,0x0000000000820000L});
+    public static final BitSet FOLLOW_block_in_statement2489 = new BitSet(new long[]{0x0000000000000000L,0x0000000001020000L});
     public static final BitSet FOLLOW_catches_in_statement2499 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
     public static final BitSet FOLLOW_81_in_statement2501 = new BitSet(new long[]{0x0000002000000000L});
     public static final BitSet FOLLOW_block_in_statement2503 = new BitSet(new long[]{0x0000000000000002L});
@@ -15038,16 +15181,16 @@
     public static final BitSet FOLLOW_block_in_statement2525 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_82_in_statement2541 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
     public static final BitSet FOLLOW_parExpression_in_statement2543 = new BitSet(new long[]{0x0000002000000000L});
-    public static final BitSet FOLLOW_37_in_statement2545 = new BitSet(new long[]{0x0000004000000000L,0x0000000001000100L});
+    public static final BitSet FOLLOW_37_in_statement2545 = new BitSet(new long[]{0x0000004000000000L,0x0000000002000100L});
     public static final BitSet FOLLOW_switchBlockStatementGroups_in_statement2547 = new BitSet(new long[]{0x0000004000000000L});
     public static final BitSet FOLLOW_38_in_statement2549 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_51_in_statement2557 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
     public static final BitSet FOLLOW_parExpression_in_statement2559 = new BitSet(new long[]{0x0000002000000000L});
     public static final BitSet FOLLOW_block_in_statement2561 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_83_in_statement2569 = new BitSet(new long[]{0x7F80010202000FD0L,0x0003F30000000073L});
+    public static final BitSet FOLLOW_83_in_statement2569 = new BitSet(new long[]{0x7F80010202000FD0L,0x0007E60000000073L});
     public static final BitSet FOLLOW_expression_in_statement2571 = new BitSet(new long[]{0x0000000002000000L});
     public static final BitSet FOLLOW_25_in_statement2574 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_84_in_statement2582 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
+    public static final BitSet FOLLOW_84_in_statement2582 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
     public static final BitSet FOLLOW_expression_in_statement2584 = new BitSet(new long[]{0x0000000002000000L});
     public static final BitSet FOLLOW_25_in_statement2586 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_85_in_statement2594 = new BitSet(new long[]{0x0000000002000010L});
@@ -15056,262 +15199,270 @@
     public static final BitSet FOLLOW_86_in_statement2607 = new BitSet(new long[]{0x0000000002000010L});
     public static final BitSet FOLLOW_Identifier_in_statement2609 = new BitSet(new long[]{0x0000000002000000L});
     public static final BitSet FOLLOW_25_in_statement2612 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_statement2620 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_statementExpression_in_statement2628 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_25_in_statement2630 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_Identifier_in_statement2638 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_74_in_statement2640 = new BitSet(new long[]{0x7F88012202000FD0L,0x0003F300007DEA73L});
-    public static final BitSet FOLLOW_statement_in_statement2642 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_catchClause_in_catches2654 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
-    public static final BitSet FOLLOW_catchClause_in_catches2657 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
-    public static final BitSet FOLLOW_87_in_catchClause2671 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_catchClause2673 = new BitSet(new long[]{0x7F82000000000010L,0x0000000000000080L});
-    public static final BitSet FOLLOW_formalParameter_in_catchClause2675 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_66_in_catchClause2677 = new BitSet(new long[]{0x0000002000000000L});
-    public static final BitSet FOLLOW_block_in_catchClause2679 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_variableModifier_in_formalParameter2690 = new BitSet(new long[]{0x7F82000000000010L,0x0000000000000080L});
-    public static final BitSet FOLLOW_type_in_formalParameter2693 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_variableDeclaratorId_in_formalParameter2695 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_switchBlockStatementGroup_in_switchBlockStatementGroups2709 = new BitSet(new long[]{0x0000000000000002L,0x0000000001000100L});
-    public static final BitSet FOLLOW_switchLabel_in_switchBlockStatementGroup2723 = new BitSet(new long[]{0x7FFFE1A24A000FF2L,0x0003F300007DEAF3L});
-    public static final BitSet FOLLOW_blockStatement_in_switchBlockStatementGroup2725 = new BitSet(new long[]{0x7FFFE1A24A000FF2L,0x0003F300007DEAF3L});
-    public static final BitSet FOLLOW_88_in_switchLabel2738 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_constantExpression_in_switchLabel2740 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_74_in_switchLabel2742 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_88_in_switchLabel2749 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_enumConstantName_in_switchLabel2751 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_74_in_switchLabel2753 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_72_in_switchLabel2760 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_74_in_switchLabel2762 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_moreStatementExpressions2775 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_statementExpression_in_moreStatementExpressions2777 = new BitSet(new long[]{0x0000000400000002L});
-    public static final BitSet FOLLOW_forVarControl_in_forControl2798 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_forInit_in_forControl2803 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_25_in_forControl2806 = new BitSet(new long[]{0x7F80010202000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_forControl2808 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_25_in_forControl2811 = new BitSet(new long[]{0x7F80010200000FD2L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_forUpdate_in_forControl2813 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_variableModifier_in_forInit2851 = new BitSet(new long[]{0x7F82000000000010L,0x0000000000000080L});
-    public static final BitSet FOLLOW_type_in_forInit2854 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_variableDeclarators_in_forInit2856 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_expressionList_in_forInit2861 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_variableModifier_in_forVarControl2873 = new BitSet(new long[]{0x7F82000000000010L,0x0000000000000080L});
-    public static final BitSet FOLLOW_type_in_forVarControl2876 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_Identifier_in_forVarControl2878 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_74_in_forVarControl2880 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_forVarControl2882 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_expressionList_in_forUpdate2893 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_parExpression2906 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_parExpression2908 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_66_in_parExpression2910 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_expression_in_expressionList2927 = new BitSet(new long[]{0x0000000400000002L});
-    public static final BitSet FOLLOW_34_in_expressionList2930 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_expressionList2932 = new BitSet(new long[]{0x0000000400000002L});
-    public static final BitSet FOLLOW_expression_in_statementExpression2948 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_expression_in_constantExpression2960 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_conditionalExpression_in_expression2972 = new BitSet(new long[]{0x0000100A00000002L,0x00000001FE000000L});
-    public static final BitSet FOLLOW_assignmentOperator_in_expression2975 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_expression2977 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_assignmentOperator2991 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_89_in_assignmentOperator3001 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_90_in_assignmentOperator3011 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_91_in_assignmentOperator3021 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_92_in_assignmentOperator3031 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_93_in_assignmentOperator3041 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_94_in_assignmentOperator3051 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_95_in_assignmentOperator3061 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_96_in_assignmentOperator3071 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_assignmentOperator3081 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_assignmentOperator3083 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_44_in_assignmentOperator3085 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_assignmentOperator3095 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_assignmentOperator3097 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_44_in_assignmentOperator3099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_assignmentOperator3109 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_assignmentOperator3111 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_assignmentOperator3113 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_44_in_assignmentOperator3115 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_conditionalOrExpression_in_conditionalExpression3131 = new BitSet(new long[]{0x8000000000000002L});
-    public static final BitSet FOLLOW_63_in_conditionalExpression3135 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_conditionalExpression3137 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_74_in_conditionalExpression3139 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_conditionalExpression3141 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_conditionalAndExpression_in_conditionalOrExpression3160 = new BitSet(new long[]{0x0000000000000002L,0x0000000200000000L});
-    public static final BitSet FOLLOW_97_in_conditionalOrExpression3164 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_conditionalAndExpression_in_conditionalOrExpression3166 = new BitSet(new long[]{0x0000000000000002L,0x0000000200000000L});
-    public static final BitSet FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3185 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-    public static final BitSet FOLLOW_98_in_conditionalAndExpression3189 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3191 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3210 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
-    public static final BitSet FOLLOW_99_in_inclusiveOrExpression3214 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3216 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
-    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression3235 = new BitSet(new long[]{0x0000000000000002L,0x0000001000000000L});
-    public static final BitSet FOLLOW_100_in_exclusiveOrExpression3239 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression3241 = new BitSet(new long[]{0x0000000000000002L,0x0000001000000000L});
-    public static final BitSet FOLLOW_equalityExpression_in_andExpression3260 = new BitSet(new long[]{0x0000001000000002L});
-    public static final BitSet FOLLOW_36_in_andExpression3264 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_equalityExpression_in_andExpression3266 = new BitSet(new long[]{0x0000001000000002L});
-    public static final BitSet FOLLOW_instanceOfExpression_in_equalityExpression3285 = new BitSet(new long[]{0x0000000000000002L,0x0000006000000000L});
-    public static final BitSet FOLLOW_set_in_equalityExpression3289 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_instanceOfExpression_in_equalityExpression3297 = new BitSet(new long[]{0x0000000000000002L,0x0000006000000000L});
-    public static final BitSet FOLLOW_relationalExpression_in_instanceOfExpression3316 = new BitSet(new long[]{0x0000000000000002L,0x0000008000000000L});
-    public static final BitSet FOLLOW_103_in_instanceOfExpression3319 = new BitSet(new long[]{0x7F80000000000010L});
-    public static final BitSet FOLLOW_type_in_instanceOfExpression3321 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression3339 = new BitSet(new long[]{0x0000000A00000002L});
-    public static final BitSet FOLLOW_relationalOp_in_relationalExpression3343 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression3345 = new BitSet(new long[]{0x0000000A00000002L});
-    public static final BitSet FOLLOW_33_in_relationalOp3361 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_44_in_relationalOp3363 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_relationalOp3367 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_44_in_relationalOp3369 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_relationalOp3373 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_relationalOp3377 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression3394 = new BitSet(new long[]{0x0000000A00000002L});
-    public static final BitSet FOLLOW_shiftOp_in_shiftExpression3398 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression3400 = new BitSet(new long[]{0x0000000A00000002L});
-    public static final BitSet FOLLOW_33_in_shiftOp3424 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_shiftOp3426 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_shiftOp3430 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_shiftOp3432 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_shiftOp3434 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_shiftOp3438 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_shiftOp3440 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression3458 = new BitSet(new long[]{0x0000000000000002L,0x0000030000000000L});
-    public static final BitSet FOLLOW_set_in_additiveExpression3462 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression3470 = new BitSet(new long[]{0x0000000000000002L,0x0000030000000000L});
-    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression3489 = new BitSet(new long[]{0x0000000020000002L,0x00000C0000000000L});
-    public static final BitSet FOLLOW_set_in_multiplicativeExpression3493 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression3507 = new BitSet(new long[]{0x0000000020000002L,0x00000C0000000000L});
-    public static final BitSet FOLLOW_104_in_unaryExpression3527 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression3529 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_105_in_unaryExpression3537 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression3539 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_108_in_unaryExpression3549 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003000000000073L});
-    public static final BitSet FOLLOW_primary_in_unaryExpression3551 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_109_in_unaryExpression3561 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003000000000073L});
-    public static final BitSet FOLLOW_primary_in_unaryExpression3563 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression3573 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_110_in_unaryExpressionNotPlusMinus3592 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3594 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_111_in_unaryExpressionNotPlusMinus3603 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3605 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_castExpression_in_unaryExpressionNotPlusMinus3615 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_primary_in_unaryExpressionNotPlusMinus3625 = new BitSet(new long[]{0x0000020010000002L,0x0000300000000000L});
-    public static final BitSet FOLLOW_selector_in_unaryExpressionNotPlusMinus3627 = new BitSet(new long[]{0x0000020010000002L,0x0000300000000000L});
-    public static final BitSet FOLLOW_set_in_unaryExpressionNotPlusMinus3630 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_castExpression3653 = new BitSet(new long[]{0x7F80000000000000L});
-    public static final BitSet FOLLOW_primitiveType_in_castExpression3655 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_66_in_castExpression3657 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_unaryExpression_in_castExpression3659 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_castExpression3668 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_type_in_castExpression3671 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_expression_in_castExpression3675 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_66_in_castExpression3678 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003C00000000073L});
-    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_castExpression3680 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_parExpression_in_primary3697 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_nonWildcardTypeArguments_in_primary3707 = new BitSet(new long[]{0x0000000000000010L,0x0001000000000001L});
-    public static final BitSet FOLLOW_explicitGenericInvocationSuffix_in_primary3718 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_112_in_primary3722 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_arguments_in_primary3724 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_112_in_primary3735 = new BitSet(new long[]{0x0000020010000002L,0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_primary3738 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_Identifier_in_primary3740 = new BitSet(new long[]{0x0000020010000002L,0x0000000000000002L});
-    public static final BitSet FOLLOW_identifierSuffix_in_primary3745 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_64_in_primary3757 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_superSuffix_in_primary3759 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_literal_in_primary3769 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_113_in_primary3779 = new BitSet(new long[]{0x7F80000200000010L});
-    public static final BitSet FOLLOW_creator_in_primary3781 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_Identifier_in_primary3793 = new BitSet(new long[]{0x0000020010000002L,0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_primary3798 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_Identifier_in_primary3800 = new BitSet(new long[]{0x0000020010000002L,0x0000000000000002L});
-    public static final BitSet FOLLOW_identifierSuffix_in_primary3805 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_primitiveType_in_primary3817 = new BitSet(new long[]{0x0000020010000000L});
-    public static final BitSet FOLLOW_41_in_primary3820 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_primary3822 = new BitSet(new long[]{0x0000020010000000L});
-    public static final BitSet FOLLOW_28_in_primary3826 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_30_in_primary3828 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_primary3838 = new BitSet(new long[]{0x0000000010000000L});
-    public static final BitSet FOLLOW_28_in_primary3840 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_30_in_primary3842 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_identifierSuffix3854 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_identifierSuffix3856 = new BitSet(new long[]{0x0000020010000000L});
-    public static final BitSet FOLLOW_28_in_identifierSuffix3860 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_30_in_identifierSuffix3862 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_identifierSuffix3868 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_identifierSuffix3870 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_identifierSuffix3872 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_arguments_in_identifierSuffix3885 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_identifierSuffix3895 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_30_in_identifierSuffix3897 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_identifierSuffix3907 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_explicitGenericInvocation_in_identifierSuffix3909 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_identifierSuffix3919 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L});
-    public static final BitSet FOLLOW_112_in_identifierSuffix3921 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_identifierSuffix3931 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_64_in_identifierSuffix3933 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_arguments_in_identifierSuffix3935 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_identifierSuffix3945 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-    public static final BitSet FOLLOW_113_in_identifierSuffix3947 = new BitSet(new long[]{0x0000000200000010L});
-    public static final BitSet FOLLOW_nonWildcardTypeArguments_in_identifierSuffix3950 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_innerCreator_in_identifierSuffix3954 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_nonWildcardTypeArguments_in_creator3966 = new BitSet(new long[]{0x7F80000000000010L});
-    public static final BitSet FOLLOW_createdName_in_creator3969 = new BitSet(new long[]{0x0000020000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_arrayCreatorRest_in_creator3980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_classCreatorRest_in_creator3984 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_Identifier_in_createdName3996 = new BitSet(new long[]{0x0000000210000002L});
-    public static final BitSet FOLLOW_typeArguments_in_createdName3998 = new BitSet(new long[]{0x0000000010000002L});
-    public static final BitSet FOLLOW_28_in_createdName4010 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_Identifier_in_createdName4012 = new BitSet(new long[]{0x0000000210000002L});
-    public static final BitSet FOLLOW_typeArguments_in_createdName4014 = new BitSet(new long[]{0x0000000010000002L});
-    public static final BitSet FOLLOW_primitiveType_in_createdName4025 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_Identifier_in_innerCreator4037 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_classCreatorRest_in_innerCreator4039 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_arrayCreatorRest4050 = new BitSet(new long[]{0x7F80050200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_42_in_arrayCreatorRest4064 = new BitSet(new long[]{0x0000022000000000L});
-    public static final BitSet FOLLOW_41_in_arrayCreatorRest4067 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_arrayCreatorRest4069 = new BitSet(new long[]{0x0000022000000000L});
-    public static final BitSet FOLLOW_arrayInitializer_in_arrayCreatorRest4073 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_expression_in_arrayCreatorRest4087 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_arrayCreatorRest4089 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_41_in_arrayCreatorRest4092 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_arrayCreatorRest4094 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_arrayCreatorRest4096 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_41_in_arrayCreatorRest4101 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_arrayCreatorRest4103 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_arguments_in_classCreatorRest4126 = new BitSet(new long[]{0x0000002000000002L});
-    public static final BitSet FOLLOW_classBody_in_classCreatorRest4128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation4141 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000001L});
-    public static final BitSet FOLLOW_explicitGenericInvocationSuffix_in_explicitGenericInvocation4143 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_nonWildcardTypeArguments4155 = new BitSet(new long[]{0x7F80000000000010L});
-    public static final BitSet FOLLOW_typeList_in_nonWildcardTypeArguments4157 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_nonWildcardTypeArguments4159 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_64_in_explicitGenericInvocationSuffix4171 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_superSuffix_in_explicitGenericInvocationSuffix4173 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_Identifier_in_explicitGenericInvocationSuffix4180 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_arguments_in_explicitGenericInvocationSuffix4182 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_selector4194 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_Identifier_in_selector4196 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L});
-    public static final BitSet FOLLOW_arguments_in_selector4199 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_selector4208 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L});
-    public static final BitSet FOLLOW_112_in_selector4210 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_selector4217 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_64_in_selector4219 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_superSuffix_in_selector4221 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_selector4228 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-    public static final BitSet FOLLOW_113_in_selector4230 = new BitSet(new long[]{0x0000000200000010L});
-    public static final BitSet FOLLOW_nonWildcardTypeArguments_in_selector4233 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_innerCreator_in_selector4237 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_selector4244 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_selector4246 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_selector4248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_arguments_in_superSuffix4260 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_superSuffix4267 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_Identifier_in_superSuffix4269 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L});
-    public static final BitSet FOLLOW_arguments_in_superSuffix4272 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_arguments4288 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000077L});
-    public static final BitSet FOLLOW_expressionList_in_arguments4290 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_66_in_arguments4293 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_modifyStatement_in_statement2625 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_statement2633 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_statementExpression_in_statement2641 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_25_in_statement2643 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_Identifier_in_statement2651 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_74_in_statement2653 = new BitSet(new long[]{0x7F88012202000FD0L,0x0007E60000FDEA73L});
+    public static final BitSet FOLLOW_statement_in_statement2655 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_87_in_modifyStatement2675 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_parExpression_in_modifyStatement2677 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_37_in_modifyStatement2684 = new BitSet(new long[]{0x7F80014200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_modifyStatement2692 = new BitSet(new long[]{0x0000004400000000L});
+    public static final BitSet FOLLOW_34_in_modifyStatement2705 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_modifyStatement2709 = new BitSet(new long[]{0x0000004400000000L});
+    public static final BitSet FOLLOW_38_in_modifyStatement2728 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_catchClause_in_catches2752 = new BitSet(new long[]{0x0000000000000002L,0x0000000001000000L});
+    public static final BitSet FOLLOW_catchClause_in_catches2755 = new BitSet(new long[]{0x0000000000000002L,0x0000000001000000L});
+    public static final BitSet FOLLOW_88_in_catchClause2769 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_catchClause2771 = new BitSet(new long[]{0x7F82000000000010L,0x0000000000000080L});
+    public static final BitSet FOLLOW_formalParameter_in_catchClause2773 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_catchClause2775 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_block_in_catchClause2777 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variableModifier_in_formalParameter2788 = new BitSet(new long[]{0x7F82000000000010L,0x0000000000000080L});
+    public static final BitSet FOLLOW_type_in_formalParameter2791 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_variableDeclaratorId_in_formalParameter2793 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_switchBlockStatementGroup_in_switchBlockStatementGroups2807 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000100L});
+    public static final BitSet FOLLOW_switchLabel_in_switchBlockStatementGroup2821 = new BitSet(new long[]{0x7FFFE1A24A000FF2L,0x0007E60000FDEAF3L});
+    public static final BitSet FOLLOW_blockStatement_in_switchBlockStatementGroup2823 = new BitSet(new long[]{0x7FFFE1A24A000FF2L,0x0007E60000FDEAF3L});
+    public static final BitSet FOLLOW_89_in_switchLabel2836 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_constantExpression_in_switchLabel2838 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_74_in_switchLabel2840 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_89_in_switchLabel2847 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_enumConstantName_in_switchLabel2849 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_74_in_switchLabel2851 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_72_in_switchLabel2858 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_74_in_switchLabel2860 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_moreStatementExpressions2873 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_statementExpression_in_moreStatementExpressions2875 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_forVarControl_in_forControl2896 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_forInit_in_forControl2901 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_25_in_forControl2904 = new BitSet(new long[]{0x7F80010202000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_forControl2906 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_25_in_forControl2909 = new BitSet(new long[]{0x7F80010200000FD2L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_forUpdate_in_forControl2911 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variableModifier_in_forInit2949 = new BitSet(new long[]{0x7F82000000000010L,0x0000000000000080L});
+    public static final BitSet FOLLOW_type_in_forInit2952 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_variableDeclarators_in_forInit2954 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expressionList_in_forInit2959 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variableModifier_in_forVarControl2971 = new BitSet(new long[]{0x7F82000000000010L,0x0000000000000080L});
+    public static final BitSet FOLLOW_type_in_forVarControl2974 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_Identifier_in_forVarControl2976 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_74_in_forVarControl2978 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_forVarControl2980 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expressionList_in_forUpdate2991 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_parExpression3004 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_parExpression3006 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_parExpression3008 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_expressionList3025 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_34_in_expressionList3028 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_expressionList3030 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_expression_in_statementExpression3046 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_constantExpression3058 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_conditionalExpression_in_expression3070 = new BitSet(new long[]{0x0000100A00000002L,0x00000003FC000000L});
+    public static final BitSet FOLLOW_assignmentOperator_in_expression3073 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_expression3075 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_assignmentOperator3089 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_90_in_assignmentOperator3099 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_91_in_assignmentOperator3109 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_92_in_assignmentOperator3119 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_93_in_assignmentOperator3129 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_94_in_assignmentOperator3139 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_95_in_assignmentOperator3149 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_96_in_assignmentOperator3159 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_97_in_assignmentOperator3169 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_assignmentOperator3179 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_33_in_assignmentOperator3181 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_44_in_assignmentOperator3183 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_assignmentOperator3193 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_assignmentOperator3195 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_44_in_assignmentOperator3197 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_assignmentOperator3207 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_assignmentOperator3209 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_assignmentOperator3211 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_44_in_assignmentOperator3213 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_conditionalOrExpression_in_conditionalExpression3229 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_63_in_conditionalExpression3233 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_conditionalExpression3235 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_74_in_conditionalExpression3237 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_conditionalExpression3239 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_conditionalAndExpression_in_conditionalOrExpression3258 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
+    public static final BitSet FOLLOW_98_in_conditionalOrExpression3262 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_conditionalAndExpression_in_conditionalOrExpression3264 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
+    public static final BitSet FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3283 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
+    public static final BitSet FOLLOW_99_in_conditionalAndExpression3287 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_inclusiveOrExpression_in_conditionalAndExpression3289 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
+    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3308 = new BitSet(new long[]{0x0000000000000002L,0x0000001000000000L});
+    public static final BitSet FOLLOW_100_in_inclusiveOrExpression3312 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression3314 = new BitSet(new long[]{0x0000000000000002L,0x0000001000000000L});
+    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression3333 = new BitSet(new long[]{0x0000000000000002L,0x0000002000000000L});
+    public static final BitSet FOLLOW_101_in_exclusiveOrExpression3337 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression3339 = new BitSet(new long[]{0x0000000000000002L,0x0000002000000000L});
+    public static final BitSet FOLLOW_equalityExpression_in_andExpression3358 = new BitSet(new long[]{0x0000001000000002L});
+    public static final BitSet FOLLOW_36_in_andExpression3362 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_equalityExpression_in_andExpression3364 = new BitSet(new long[]{0x0000001000000002L});
+    public static final BitSet FOLLOW_instanceOfExpression_in_equalityExpression3383 = new BitSet(new long[]{0x0000000000000002L,0x000000C000000000L});
+    public static final BitSet FOLLOW_set_in_equalityExpression3387 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_instanceOfExpression_in_equalityExpression3395 = new BitSet(new long[]{0x0000000000000002L,0x000000C000000000L});
+    public static final BitSet FOLLOW_relationalExpression_in_instanceOfExpression3414 = new BitSet(new long[]{0x0000000000000002L,0x0000010000000000L});
+    public static final BitSet FOLLOW_104_in_instanceOfExpression3417 = new BitSet(new long[]{0x7F80000000000010L});
+    public static final BitSet FOLLOW_type_in_instanceOfExpression3419 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression3437 = new BitSet(new long[]{0x0000000A00000002L});
+    public static final BitSet FOLLOW_relationalOp_in_relationalExpression3441 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression3443 = new BitSet(new long[]{0x0000000A00000002L});
+    public static final BitSet FOLLOW_33_in_relationalOp3459 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_44_in_relationalOp3461 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_relationalOp3465 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_44_in_relationalOp3467 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_relationalOp3471 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_relationalOp3475 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression3492 = new BitSet(new long[]{0x0000000A00000002L});
+    public static final BitSet FOLLOW_shiftOp_in_shiftExpression3496 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression3498 = new BitSet(new long[]{0x0000000A00000002L});
+    public static final BitSet FOLLOW_33_in_shiftOp3522 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_33_in_shiftOp3524 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_shiftOp3528 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_shiftOp3530 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_shiftOp3532 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_shiftOp3536 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_shiftOp3538 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression3556 = new BitSet(new long[]{0x0000000000000002L,0x0000060000000000L});
+    public static final BitSet FOLLOW_set_in_additiveExpression3560 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression3568 = new BitSet(new long[]{0x0000000000000002L,0x0000060000000000L});
+    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression3587 = new BitSet(new long[]{0x0000000020000002L,0x0000180000000000L});
+    public static final BitSet FOLLOW_set_in_multiplicativeExpression3591 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression3605 = new BitSet(new long[]{0x0000000020000002L,0x0000180000000000L});
+    public static final BitSet FOLLOW_105_in_unaryExpression3625 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression3627 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_106_in_unaryExpression3635 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression3637 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_109_in_unaryExpression3647 = new BitSet(new long[]{0x7F80010200000FD0L,0x0006000000000073L});
+    public static final BitSet FOLLOW_primary_in_unaryExpression3649 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_110_in_unaryExpression3659 = new BitSet(new long[]{0x7F80010200000FD0L,0x0006000000000073L});
+    public static final BitSet FOLLOW_primary_in_unaryExpression3661 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression3671 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_111_in_unaryExpressionNotPlusMinus3690 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3692 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_112_in_unaryExpressionNotPlusMinus3701 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus3703 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_castExpression_in_unaryExpressionNotPlusMinus3713 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_primary_in_unaryExpressionNotPlusMinus3723 = new BitSet(new long[]{0x0000020010000002L,0x0000600000000000L});
+    public static final BitSet FOLLOW_selector_in_unaryExpressionNotPlusMinus3725 = new BitSet(new long[]{0x0000020010000002L,0x0000600000000000L});
+    public static final BitSet FOLLOW_set_in_unaryExpressionNotPlusMinus3728 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_castExpression3751 = new BitSet(new long[]{0x7F80000000000000L});
+    public static final BitSet FOLLOW_primitiveType_in_castExpression3753 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_castExpression3755 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_unaryExpression_in_castExpression3757 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_castExpression3766 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_type_in_castExpression3769 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_expression_in_castExpression3773 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_castExpression3776 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007800000000073L});
+    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_castExpression3778 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_parExpression_in_primary3795 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_nonWildcardTypeArguments_in_primary3805 = new BitSet(new long[]{0x0000000000000010L,0x0002000000000001L});
+    public static final BitSet FOLLOW_explicitGenericInvocationSuffix_in_primary3816 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_113_in_primary3820 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_arguments_in_primary3822 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_113_in_primary3833 = new BitSet(new long[]{0x0000020010000002L,0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_primary3836 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_Identifier_in_primary3838 = new BitSet(new long[]{0x0000020010000002L,0x0000000000000002L});
+    public static final BitSet FOLLOW_identifierSuffix_in_primary3843 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_64_in_primary3855 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_superSuffix_in_primary3857 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_in_primary3867 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_114_in_primary3877 = new BitSet(new long[]{0x7F80000200000010L});
+    public static final BitSet FOLLOW_creator_in_primary3879 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_Identifier_in_primary3891 = new BitSet(new long[]{0x0000020010000002L,0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_primary3896 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_Identifier_in_primary3898 = new BitSet(new long[]{0x0000020010000002L,0x0000000000000002L});
+    public static final BitSet FOLLOW_identifierSuffix_in_primary3903 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_primitiveType_in_primary3915 = new BitSet(new long[]{0x0000020010000000L});
+    public static final BitSet FOLLOW_41_in_primary3918 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_primary3920 = new BitSet(new long[]{0x0000020010000000L});
+    public static final BitSet FOLLOW_28_in_primary3924 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_primary3926 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_40_in_primary3936 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_28_in_primary3938 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_primary3940 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_identifierSuffix3952 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_identifierSuffix3954 = new BitSet(new long[]{0x0000020010000000L});
+    public static final BitSet FOLLOW_28_in_identifierSuffix3958 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_identifierSuffix3960 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_identifierSuffix3966 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_identifierSuffix3968 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_identifierSuffix3970 = new BitSet(new long[]{0x0000020000000002L});
+    public static final BitSet FOLLOW_arguments_in_identifierSuffix3983 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_identifierSuffix3993 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_identifierSuffix3995 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_identifierSuffix4005 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_explicitGenericInvocation_in_identifierSuffix4007 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_identifierSuffix4017 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
+    public static final BitSet FOLLOW_113_in_identifierSuffix4019 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_identifierSuffix4029 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_64_in_identifierSuffix4031 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_arguments_in_identifierSuffix4033 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_identifierSuffix4043 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L});
+    public static final BitSet FOLLOW_114_in_identifierSuffix4045 = new BitSet(new long[]{0x0000000200000010L});
+    public static final BitSet FOLLOW_nonWildcardTypeArguments_in_identifierSuffix4048 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_innerCreator_in_identifierSuffix4052 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_nonWildcardTypeArguments_in_creator4064 = new BitSet(new long[]{0x7F80000000000010L});
+    public static final BitSet FOLLOW_createdName_in_creator4067 = new BitSet(new long[]{0x0000020000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_arrayCreatorRest_in_creator4078 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_classCreatorRest_in_creator4082 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_Identifier_in_createdName4094 = new BitSet(new long[]{0x0000000210000002L});
+    public static final BitSet FOLLOW_typeArguments_in_createdName4096 = new BitSet(new long[]{0x0000000010000002L});
+    public static final BitSet FOLLOW_28_in_createdName4108 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_Identifier_in_createdName4110 = new BitSet(new long[]{0x0000000210000002L});
+    public static final BitSet FOLLOW_typeArguments_in_createdName4112 = new BitSet(new long[]{0x0000000010000002L});
+    public static final BitSet FOLLOW_primitiveType_in_createdName4123 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_Identifier_in_innerCreator4135 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_classCreatorRest_in_innerCreator4137 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_arrayCreatorRest4148 = new BitSet(new long[]{0x7F80050200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_42_in_arrayCreatorRest4162 = new BitSet(new long[]{0x0000022000000000L});
+    public static final BitSet FOLLOW_41_in_arrayCreatorRest4165 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_arrayCreatorRest4167 = new BitSet(new long[]{0x0000022000000000L});
+    public static final BitSet FOLLOW_arrayInitializer_in_arrayCreatorRest4171 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_arrayCreatorRest4185 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_arrayCreatorRest4187 = new BitSet(new long[]{0x0000020000000002L});
+    public static final BitSet FOLLOW_41_in_arrayCreatorRest4190 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_arrayCreatorRest4192 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_arrayCreatorRest4194 = new BitSet(new long[]{0x0000020000000002L});
+    public static final BitSet FOLLOW_41_in_arrayCreatorRest4199 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_arrayCreatorRest4201 = new BitSet(new long[]{0x0000020000000002L});
+    public static final BitSet FOLLOW_arguments_in_classCreatorRest4224 = new BitSet(new long[]{0x0000002000000002L});
+    public static final BitSet FOLLOW_classBody_in_classCreatorRest4226 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation4239 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000001L});
+    public static final BitSet FOLLOW_explicitGenericInvocationSuffix_in_explicitGenericInvocation4241 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_nonWildcardTypeArguments4253 = new BitSet(new long[]{0x7F80000000000010L});
+    public static final BitSet FOLLOW_typeList_in_nonWildcardTypeArguments4255 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_nonWildcardTypeArguments4257 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_64_in_explicitGenericInvocationSuffix4269 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_superSuffix_in_explicitGenericInvocationSuffix4271 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_Identifier_in_explicitGenericInvocationSuffix4278 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_arguments_in_explicitGenericInvocationSuffix4280 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_selector4292 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_Identifier_in_selector4294 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L});
+    public static final BitSet FOLLOW_arguments_in_selector4297 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_selector4306 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
+    public static final BitSet FOLLOW_113_in_selector4308 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_selector4315 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_64_in_selector4317 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_superSuffix_in_selector4319 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_selector4326 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L});
+    public static final BitSet FOLLOW_114_in_selector4328 = new BitSet(new long[]{0x0000000200000010L});
+    public static final BitSet FOLLOW_nonWildcardTypeArguments_in_selector4331 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_innerCreator_in_selector4335 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_selector4342 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_selector4344 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_selector4346 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_arguments_in_superSuffix4358 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_superSuffix4365 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_Identifier_in_superSuffix4367 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L});
+    public static final BitSet FOLLOW_arguments_in_superSuffix4370 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_arguments4386 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000077L});
+    public static final BitSet FOLLOW_expressionList_in_arguments4388 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_arguments4391 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_annotations_in_synpred170 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_methodDeclaration_in_synpred38577 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_fieldDeclaration_in_synpred39582 = new BitSet(new long[]{0x0000000000000002L});
@@ -15326,51 +15477,51 @@
     public static final BitSet FOLLOW_25_in_synpred1392145 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_localVariableDeclaration_in_synpred1442286 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_classOrInterfaceDeclaration_in_synpred1452291 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_76_in_synpred1502431 = new BitSet(new long[]{0x7F88012202000FD0L,0x0003F300007DEA73L});
+    public static final BitSet FOLLOW_76_in_synpred1502431 = new BitSet(new long[]{0x7F88012202000FD0L,0x0007E60000FDEA73L});
     public static final BitSet FOLLOW_statement_in_synpred1502433 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_catches_in_synpred1552499 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
     public static final BitSet FOLLOW_81_in_synpred1552501 = new BitSet(new long[]{0x0000002000000000L});
     public static final BitSet FOLLOW_block_in_synpred1552503 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_catches_in_synpred1562513 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_88_in_synpred1732738 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_constantExpression_in_synpred1732740 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_74_in_synpred1732742 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_88_in_synpred1742749 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_enumConstantName_in_synpred1742751 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_74_in_synpred1742753 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_forVarControl_in_synpred1762798 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_variableModifier_in_synpred1812851 = new BitSet(new long[]{0x7F82000000000010L,0x0000000000000080L});
-    public static final BitSet FOLLOW_type_in_synpred1812854 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_variableDeclarators_in_synpred1812856 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_assignmentOperator_in_synpred1842975 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_synpred1842977 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_synpred1953095 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_synpred1953097 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_44_in_synpred1953099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_relationalOp_in_synpred2053343 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_shiftExpression_in_synpred2053345 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_shiftOp_in_synpred2093398 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_additiveExpression_in_synpred2093400 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_synpred2113430 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_synpred2113432 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_synpred2113434 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_castExpression_in_synpred2233615 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_synpred2273653 = new BitSet(new long[]{0x7F80000000000000L});
-    public static final BitSet FOLLOW_primitiveType_in_synpred2273655 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_66_in_synpred2273657 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_unaryExpression_in_synpred2273659 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_type_in_synpred2283671 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_synpred2323738 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_Identifier_in_synpred2323740 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_identifierSuffix_in_synpred2333745 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_synpred2383798 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_Identifier_in_synpred2383800 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_identifierSuffix_in_synpred2393805 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_synpred2453868 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_synpred2453870 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_synpred2453872 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_synpred2614092 = new BitSet(new long[]{0x7F80010200000FD0L,0x0003F30000000073L});
-    public static final BitSet FOLLOW_expression_in_synpred2614094 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_synpred2614096 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_89_in_synpred1762836 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_constantExpression_in_synpred1762838 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_74_in_synpred1762840 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_89_in_synpred1772847 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_enumConstantName_in_synpred1772849 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_74_in_synpred1772851 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_forVarControl_in_synpred1792896 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variableModifier_in_synpred1842949 = new BitSet(new long[]{0x7F82000000000010L,0x0000000000000080L});
+    public static final BitSet FOLLOW_type_in_synpred1842952 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_variableDeclarators_in_synpred1842954 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_assignmentOperator_in_synpred1873073 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_synpred1873075 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_synpred1983193 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_synpred1983195 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_44_in_synpred1983197 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_relationalOp_in_synpred2083441 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_shiftExpression_in_synpred2083443 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_shiftOp_in_synpred2123496 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_additiveExpression_in_synpred2123498 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_synpred2143528 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_synpred2143530 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_synpred2143532 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_castExpression_in_synpred2263713 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_synpred2303751 = new BitSet(new long[]{0x7F80000000000000L});
+    public static final BitSet FOLLOW_primitiveType_in_synpred2303753 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_synpred2303755 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_unaryExpression_in_synpred2303757 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_type_in_synpred2313769 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_synpred2353836 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_Identifier_in_synpred2353838 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_identifierSuffix_in_synpred2363843 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_synpred2413896 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_Identifier_in_synpred2413898 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_identifierSuffix_in_synpred2423903 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_synpred2483966 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_synpred2483968 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_synpred2483970 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_synpred2644190 = new BitSet(new long[]{0x7F80010200000FD0L,0x0007E60000000073L});
+    public static final BitSet FOLLOW_expression_in_synpred2644192 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_synpred2644194 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -30,9 +30,6 @@
 import org.drools.rule.PredicateConstraint;
 import org.drools.rule.builder.PredicateBuilder;
 import org.drools.rule.builder.RuleBuildContext;
-import org.mvel.ExpressionCompiler;
-import org.mvel.MVEL;
-import org.mvel.ParserContext;
 
 /**
  * @author etirelli
@@ -77,7 +74,8 @@
                                                                                     context );
 
             predicate.setPredicateExpression( new MVELPredicateExpression( expr,
-                                                                           factory ) );
+                                                                           factory,
+                                                                           (String) predicateDescr.getContent() ) );
         } catch ( final Exception e ) {
             context.getErrors().add( new RuleError( context.getRule(),
                                                     predicateDescr,

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel	2008-03-31 14:38:14 UTC (rev 19341)
@@ -4,7 +4,7 @@
 
 
         java.io.InputStream is = @{ruleClassName}.class.getClassLoader().getResourceAsStream( "@{package}.@{ruleClassName}".replace( '.', '/' ) + ".class" );
-
+                
         java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
         byte[] data = new byte[1024];
         int byteCount;
@@ -12,21 +12,21 @@
             while ( (byteCount = is.read( data,
                                  0,
                                  1024 )) > -1 )
-            {
+            {                    
                 bos.write(data, 0, byteCount);
             }
         } catch ( java.io.IOException e ) {
             throw new org.drools.RuntimeDroolsException("Unable getResourceAsStream for Class '@{ruleClassName}' ");
-        }
-
+        }               
+        
         org.drools.asm.ClassReader classReader = new org.drools.asm.ClassReader( bos.toByteArray() );
         classReader.accept( visit, true );
         org.drools.asm.util.TraceMethodVisitor trace = visit.getTrace();
-        return trace.getText();
+        return trace.getText();     
     }
 >>=::
+    
 
-
 equals() ::=<<
     public boolean equals(Object object) {
         if (object == null ) {
@@ -34,13 +34,13 @@
         } else if ( object == this ){
             return true;
         }
-
+        
         if ( ! (object instanceof org.drools.spi.CompiledInvoker) ) {
             return false;
         }
-
+        
         org.drools.spi.CompiledInvoker other = ( org.drools.spi.CompiledInvoker ) object;
-
+        
         return org.drools.util.asm.MethodComparator.compareBytecode( getMethodBytecode(), other.getMethodBytecode() );
     }
 >>=::
@@ -57,7 +57,7 @@
 public class @{invokerClassName} implements org.drools.spi.ReturnValueExpression, org.drools.spi.CompiledInvoker
 {
     private static final long serialVersionUID  = 400L;
-
+    
     public Object createContext() { return null; }
     
     public org.drools.spi.FieldValue evaluate(java.lang.Object object,
@@ -68,7 +68,7 @@
                             Object context ) throws Exception {                               
 
         @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) previousDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( previousDeclarations[@{i0}] ) ).getObject() );
-        @end{}
+        @end{}                
         @if{readLocalsFromTuple}
           @foreach{localDeclarationTypes as type, localDeclarations as  declr} @{type} @{declr.identifier} = ( @{type} ) localDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( localDeclarations[@{i0}] ) ).getObject() );
           @end{}
@@ -78,22 +78,22 @@
         @end{}
         @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
         @end{}
-
-        return @{ruleClassName}.@{methodName}(
+        
+        return @{ruleClassName}.@{methodName}( 
             @foreach{declarations as declr} @{declr.identifier}
-            @end{","}  @if{localDeclarations != empty && declarations != empty}, at end{}
+            @end{","}  @if{localDeclarations != empty && declarations != empty}, at end{}       
             @foreach{localDeclarations as declr} @{declr.identifier}
             @end{","}@if{globals != empty && (localDeclarations != empty || declarations != empty)}, at end{}
             @foreach{globals as identifier}@{identifier}
             @end{","} );
-    }
-
+    }    
+    
     @includeByRef{hashCode(hashCode = hashCode)}
-
+    
     @includeByRef{getMethodBytecode(package = package, ruleClassName = ruleClassName, methodName = methodName)}
-
-    @includeByRef{equals()}
-}
+    
+    @includeByRef{equals()}       
+}     
 >>=::
 
 predicateInvoker() ::=<<
@@ -102,7 +102,7 @@
 public class @{invokerClassName} implements org.drools.spi.PredicateExpression, org.drools.spi.CompiledInvoker
 {
     private static final long serialVersionUID  = 400L;
-
+    
     public Object createContext() { return null; }
     
     public boolean evaluate(java.lang.Object object,
@@ -113,27 +113,31 @@
                             Object context ) throws Exception {                               
 
         @foreach{declarationTypes as type, declarations as  declr} @{type} @{declr.identifier} = ( @{type} ) previousDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( previousDeclarations[@{i0}] ) ).getObject() );
-        @end{}
+        @end{}                
         @foreach{localDeclarationTypes as type, localDeclarations as  declr} @{type} @{declr.identifier} = ( @{type} ) localDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, object );
         @end{}
         @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
         @end{}
-
-        return @{ruleClassName}.@{methodName}(
-            @foreach{declarations as declr} @{declr.identifier}
-            @end{","}  @if{localDeclarations != empty && declarations != empty}, at end{}
-            @foreach{localDeclarations as declr} @{declr.identifier}
+        
+        return @{ruleClassName}.@{methodName}( 
+            @foreach{declarations as declr} @{declr.identifier} 
+            @end{","}  @if{localDeclarations != empty && declarations != empty}, at end{}       
+            @foreach{localDeclarations as declr} @{declr.identifier} 
             @end{","}@if{globals != empty && (localDeclarations != empty || declarations != empty)}, at end{}
             @foreach{globals as identifier}@{identifier}
             @end{","} );
-    }
-
+    }    
+    
     @includeByRef{hashCode(hashCode = hashCode)}
-
+    
     @includeByRef{getMethodBytecode(package = package, ruleClassName = ruleClassName, methodName = methodName)}
-
-    @includeByRef{equals()}
-}
+    
+    @includeByRef{equals()}       
+    
+    public String toString() {
+        return "eval( @{expression} )";
+    }
+}     
 >>=::
 
 evalInvoker() ::=<<
@@ -152,23 +156,23 @@
                             Object context ) throws Exception {                             
 
         @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) tuple.get( declarations[@{i0}] ) ).getObject() );
-        @end{}
+        @end{}                
         @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
         @end{}
-
-        return @{ruleClassName}.@{methodName}(
-            @foreach{declarations as declr} @{declr.identifier}
+        
+        return @{ruleClassName}.@{methodName}( 
+            @foreach{declarations as declr} @{declr.identifier} 
             @end{","} @if{globals != empty && declarations != empty}, at end{}
             @foreach{globals as identifier}@{identifier}
             @end{","} );
-    }
-
+    }    
+    
     @includeByRef{hashCode(hashCode = hashCode)}
-
+    
     @includeByRef{getMethodBytecode(package = package, ruleClassName = ruleClassName, methodName = methodName)}
-
-    @includeByRef{equals()}
-}
+    
+    @includeByRef{equals()}       
+}     
 >>=::
 
 accumulateInvoker() ::=<<
@@ -181,11 +185,11 @@
 public class @{invokerClassName} implements org.drools.spi.Accumulator, org.drools.spi.CompiledInvoker
 {
     private static final long serialVersionUID  = 400L;
-
+    
     public Object createContext() {
         return new @{ruleClassName}.@{className}();
     }
-
+    
     public void init(java.lang.Object workingMemoryContext,
                      java.lang.Object context,
                      org.drools.spi.Tuple leftTuple,
@@ -194,12 +198,12 @@
         @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
         @end{}
         @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
-        @end{}
-
+        @end{}    
+        
         ((@{ruleClassName}.@{className})context).init(
-            @foreach{declarations as declr} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
+            @foreach{declarations as declr} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{}
 	        @foreach{globals as identifier} @{identifier}@end{","} );
-
+        
     }
 
     public void accumulate(java.lang.Object workingMemoryContext,
@@ -212,7 +216,7 @@
         @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
         @end{}
         @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
-        @end{}
+        @end{}    
         @if{isMultiPattern}
           @foreach{innerDeclarations as declr} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( innerDeclarations[@{i0}] ) ).getObject() );
           @end{}
@@ -223,7 +227,7 @@
         ((@{ruleClassName}.@{className})context).accumulate(
             workingMemory,
             innerDeclarations,
-            handle.getObject()@if{declarations != empty}, at end{}
+            handle.getObject()@if{declarations != empty}, at end{} 
             @foreach{declarations as declr} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
 	        @foreach{globals as identifier} @{identifier}@end{","}@if{innerDeclarations != empty}, at end{}
             @foreach{innerDeclarations as declr} @{declr.identifier}@end{","});
@@ -239,7 +243,7 @@
         @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
         @end{}
         @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
-        @end{}
+        @end{}    
         @if{isMultiPattern}
           @foreach{innerDeclarations as declr} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( innerDeclarations[@{i0}] ) ).getObject() );
           @end{}
@@ -247,11 +251,11 @@
           @foreach{innerDeclarations as declr} @{declr.extractor.extractToClassName} @{declr.identifier} = (@{declr.extractor.extractToClassName}) innerDeclarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, handle.getObject() );
           @end{}
         @end{}
-
+        
         ((@{ruleClassName}.@{className})context).reverse(
             workingMemory,
             innerDeclarations,
-            handle.getObject()@if{declarations != empty}, at end{}
+            handle.getObject()@if{declarations != empty}, at end{} 
             @foreach{declarations as declr} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
 	        @foreach{globals as identifier} @{identifier}@end{","}@if{innerDeclarations != empty}, at end{}
             @foreach{innerDeclarations as declr} @{declr.identifier}@end{","});
@@ -265,13 +269,13 @@
         @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier} = ( @{type} ) declarations[@{i0}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, ( (org.drools.common.InternalFactHandle) leftTuple.get( declarations[@{i0}] ) ).getObject() );
         @end{}
         @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
-        @end{}
-
+        @end{}    
+        
         return ((@{ruleClassName}.@{className})context).getResult(
-            @foreach{declarations as declr} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
+            @foreach{declarations as declr} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{}
 	        @foreach{globals as identifier} @{identifier}@end{","} );
     }
-
+    
     public boolean supportsReverse() {
         return @{supportsReverse};
     }
@@ -279,14 +283,14 @@
     public Object createWorkingMemoryContext() {
         return null;
     }
-
+    
     @includeByRef{hashCode(hashCode = hashCode)}
+    
+    @includeByRef{equals()}       
 
-    @includeByRef{equals()}
-
     public java.util.List getMethodBytecode() {
         java.io.InputStream is = @{ruleClassName}.class.getClassLoader().getResourceAsStream( "@{package}.@{ruleClassName}".replace( '.', '/' ) + "$@{className}" + ".class" );
-
+                
         java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
         byte[] data = new byte[1024];
         int byteCount;
@@ -294,15 +298,15 @@
             while ( (byteCount = is.read( data,
                                  0,
                                  1024 )) > -1 )
-            {
+            {                    
                 bos.write(data, 0, byteCount);
             }
         } catch ( java.io.IOException e ) {
             throw new org.drools.RuntimeDroolsException("Unable getResourceAsStream for Class '@{ruleClassName}$@{className}' ");
-        }
-        return Collections.singletonList( bos );
+        }               
+        return Collections.singletonList( bos );     
     }
-}
+}     
 >>=::
 
 consequenceInvoker() ::=<<
@@ -313,65 +317,27 @@
     private static final long serialVersionUID  = 400L;
 
     public void evaluate(org.drools.spi.KnowledgeHelper knowledgeHelper,
-                         org.drools.WorkingMemory workingMemory) throws Exception {
-
+                         org.drools.WorkingMemory workingMemory) throws Exception {    
+                       
         org.drools.spi.Tuple tuple = knowledgeHelper.getTuple();
         org.drools.rule.Rule rule = knowledgeHelper.getRule();
-        org.drools.rule.Declaration[] declarations = rule.getDeclarations();
+        org.drools.rule.Declaration[] declarations = rule.getDeclarations();                                                  
 
         @foreach{declarationTypes as type, declarations as declr ,indexes as index, notPatterns as  notPattern}
-          org.drools.common.InternalFactHandle @{declr.identifier}__Handle__ = ( org.drools.common.InternalFactHandle ) tuple.get( knowledgeHelper.getDeclaration( declarations[@{index}].getIdentifier() ) );
+          org.drools.common.InternalFactHandle @{declr.identifier}__Handle__ = ( org.drools.common.InternalFactHandle ) tuple.get( knowledgeHelper.getDeclaration( declarations[@{index}].getIdentifier() ) );        
           @{type} @{declr.identifier} = ( @{type} )  declarations[@{index}].@{declr.nativeReadMethod.name}( (org.drools.common.InternalWorkingMemory) workingMemory, @{declr.identifier}__Handle__.getObject() );
           @if{notPattern}@{declr.identifier}__Handle__ =  (org.drools.common.InternalFactHandle) knowledgeHelper.getWorkingMemory().getFactHandle( @{declr.identifier} );@end{}
         @end{}
-
-        @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
-        @end{}
-
-        @{ruleClassName}.@{methodName} (
+        
+        @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" ); 
+        @end{}    
+        
+        @{ruleClassName}.@{methodName} ( 
             knowledgeHelper at if{declarations != empty}, at end{}
             @foreach{declarations as declr} @{declr.identifier}, @{declr.identifier}__Handle__
             @end{","}@if{globals != empty}, at end{}
 	        @foreach{globals as identifier} @{identifier}
 	        @end{","} );
     }
-}
->>=::
-
-actionInvoker() ::=<<
-package @{package};
-
-public class @{invokerClassName} implements org.drools.spi.Action
-{
-    private static final long serialVersionUID  = 400L;
-
-    public void execute(org.drools.WorkingMemory workingMemory) throws Exception {
-
-        @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
-        @end{}
-
-        @{processClassName}.@{methodName} (
-	        @foreach{globals as identifier} @{identifier}
-	        @end{","} );
-    }
-}
->>=::
-
-returnValueEvaluatorInvoker() ::=<<
-package @{package};
-
-public class @{invokerClassName} implements org.drools.spi.ReturnValueEvaluator
-{
-    private static final long serialVersionUID  = 400L;
-
-    public Object evaluate(org.drools.WorkingMemory workingMemory) throws Exception {
-
-        @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} = ( @{type} ) workingMemory.getGlobal( "@{identifier}" );
-        @end{}
-
-        return @{processClassName}.@{methodName} (
-	        @foreach{globals as identifier} @{identifier}
-	        @end{","} );
-    }
-}
+}     
 >>=::
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.mvel
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.mvel	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.mvel	2008-03-31 14:38:14 UTC (rev 19341)
@@ -22,46 +22,48 @@
 >>=::
 
 accumulateInnerClass() ::=<<
-public static class @{className} {
+public static class @{className} implements java.io.Serializable {
+ 
+    private static final long    serialVersionUID = 400L;
 
     @foreach{attributesTypes as type, attributes as attr} private @{type} @{attr};
-    @end{}
-
+    @end{}    
+    
     public @{className}() {
     }
 
-    public void init(@foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
+    public void init(@foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{} 
                      @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","}
                      ) throws Exception {
         @{initCode}
     }
-
+    
     public void accumulate(org.drools.WorkingMemory workingMemory,
-                           org.drools.rule.Declaration[] innerDeclarations,
+                           org.drools.rule.Declaration[] innerDeclarations, 
                            Object object @if{declarations != empty}, @end{}
-                           @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
+                           @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty}, at end{} 
                            @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","}@if{innerDeclarations != empty}, at end{}
                            @foreach{innerDeclarations as declr}@{declr.extractor.extractToClassName} @{declr.identifier}@end{","}
                            ) throws Exception {
         @{actionCode}
     }
-
+    
     public void reverse(org.drools.WorkingMemory workingMemory,
-                           org.drools.rule.Declaration[] innerDeclarations,
+                           org.drools.rule.Declaration[] innerDeclarations, 
                            Object object @if{declarations != empty}, @end{}
-                           @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
+                           @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty}, at end{} 
                            @foreach{globalTypes as type, globals as identifier} @{type} @{identifier} @end{","}@if{innerDeclarations != empty}, at end{}
                            @foreach{innerDeclarations as declr}@{declr.extractor.extractToClassName} @{declr.identifier}@end{","}
                            ) throws Exception {
         @{reverseCode}
     }
-
-    public Object getResult(@foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty}, at end{}
+    
+    public Object getResult(@foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}@end{","}@if{globals != empty && declarations != empty}, at end{} 
                             @foreach{globalTypes as type, globals as identifier}@{type} @{identifier} @end{","}
                            ) throws Exception {
         return ( @{resultCode} );
     }
-
+    
     public boolean supportsReverse() {
         return @{supportsReverse};
     }
@@ -72,16 +74,4 @@
 public static void @{methodName}(org.drools.spi.KnowledgeHelper drools at if{declarations != empty}, at end{} @foreach{declarationTypes as type, declarations as declr} @{type} @{declr.identifier}, org.drools.FactHandle @{declr.identifier}__Handle__ @end{","}@if{globals != empty}, at end{} @foreach{globalTypes as type, globals as identifier}  @{type} @{identifier} @end{","} ) throws Exception {
     @{text}
 }
->>=::
-
-actionMethod() ::=<<
-public static void @{methodName}(@foreach{globalTypes as type, globals as identifier}  @{type} @{identifier} @end{","} ) throws Exception {
-    @{text}
-}
->>=::
-
-returnValueEvaluatorMethod() ::=<<
-public static Object @{methodName}(@foreach{globalTypes as type, globals as identifier}  @{type} @{identifier} @end{","} ) throws Exception {
-    @{text}
-}
 >>=::
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/main/resources/org/drools/semantics/java/parser/Java.g	2008-03-31 14:38:14 UTC (rev 19341)
@@ -90,6 +90,8 @@
 	public static final CommonToken IGNORE_TOKEN = new CommonToken(null,0,99,0,0);
 	private List errors = new ArrayList();
 	private int localVariableLevel = 0;
+	private List modifyBlocks = new ArrayList();
+	public List getModifyBlocks() { return modifyBlocks; }
 	
 	private String source = "unknown";
 	
@@ -676,11 +678,33 @@
     | 'throw' expression ';'
     | 'break' Identifier? ';'
     | 'continue' Identifier? ';'
+    // adding support to drools modify block
+    | modifyStatement
     | ';'
     | statementExpression ';'
     | Identifier ':' statement
 	;
 	
+modifyStatement
+	@init {
+	    JavaModifyBlockDescr d = null;
+	}
+	: s='modify' parExpression 
+	{
+	    d = new JavaModifyBlockDescr( $parExpression.text );
+	    d.setStart( ((CommonToken)$s).getStartIndex() );
+	    this.modifyBlocks.add( d );
+	    
+	}
+	'{' ( e = expression { d.getExpressions().add( $e.text ); }
+	       (',' e=expression { d.getExpressions().add( $e.text ); } )*
+	    )? 
+	c='}' 
+        {
+            d.setEnd( ((CommonToken)$c).getStopIndex() ); 
+        }
+	;	
+	
 catches
 	:	catchClause (catchClause)*
 	;

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Address.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Address.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Address.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,7 +1,11 @@
 package org.drools;
 
-public class Address {
+import java.io.Serializable;
 
+public class Address implements Serializable {
+
+    private static final long serialVersionUID = -8519011705761628197L;
+    
     private String street;
     private String suburb;
     

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/DomainObject.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/java/org/drools/DomainObject.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/DomainObject.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/DomainObject.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,33 @@
+package org.drools;
+
+public class DomainObject {
+
+	private String message;
+	private int value;
+	private double value2;
+
+	public String getMessage() {
+		return message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+
+	public int getValue() {
+		return value;
+	}
+
+	public void setValue(int value) {
+		this.value = value;
+	}
+
+	public double getValue2() {
+		return value2;
+	}
+
+	public void setValue2(double value2) {
+		this.value2 = value2;
+	}
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/DomainObjectHolder.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/java/org/drools/DomainObjectHolder.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/DomainObjectHolder.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/DomainObjectHolder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,29 @@
+package org.drools;
+
+public class DomainObjectHolder {
+
+	DomainObject[] objects = new DomainObject[3];
+
+	public DomainObjectHolder(){
+
+	objects[0] = new DomainObject();
+	objects[0].setMessage("Message1");
+	objects[0].setValue(1);
+	objects[0].setValue2(2);
+
+	objects[1] = new DomainObject();
+	objects[1].setMessage("Message2");
+	objects[1].setValue(3);
+	objects[1].setValue2(4);
+
+	objects[2] = new DomainObject();
+	objects[2].setMessage("Message3");
+	objects[2].setValue(5);
+	objects[2].setValue2(6);
+	}
+
+	public DomainObject[] getObjects(){
+	return objects;
+	}
+
+	} 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactA.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactA.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactA.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -8,6 +8,10 @@
     public FactA() {
     }
 
+    public FactA( String f1 ) {
+        this.field1 = f1;
+    }
+
     public FactA(final String f1,
                  final Integer f2,
                  final Float f3) {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactB.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactB.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactB.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -8,6 +8,10 @@
     public FactB() {
     }
 
+    public FactB( String f1 ) {
+        this.f1 = f1;
+    }
+
     public FactB(final String a,
                  final Integer b,
                  final Float c) {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactC.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactC.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/FactC.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,6 +17,10 @@
 
     }
 
+    public FactC( String f1 ) {
+        this.f1 = f1;
+    }
+
     public String getF1() {
         return this.f1;
     }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Order.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Order.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Order.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,6 +17,7 @@
 package org.drools;
 
 import java.util.Collection;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -33,6 +34,8 @@
     private Map items;
 
     private OrderStatus status;
+    
+    private Date date;
 
     public Order() {
         this( 0, "Bob" );
@@ -42,6 +45,7 @@
         this.number = number;
         this.items = new HashMap();
         this.customer = customer;
+        this.date = new Date();
     }
 
     /**
@@ -139,4 +143,18 @@
         }
     }
 
+    /**
+     * @return the date
+     */
+    public Date getDate() {
+        return date;
+    }
+
+    /**
+     * @param date the date to set
+     */
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/OuterClass.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/OuterClass.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/OuterClass.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,6 +1,10 @@
 package org.drools;
 
-public class OuterClass {
+import java.io.Serializable;
+
+public class OuterClass implements Serializable {
+
+    private static final long serialVersionUID = 4398109820791230134L;
     private String attr1;
 
     public String getAttr1() {
@@ -11,7 +15,9 @@
         this.attr1 = attr1;
     }
 
-    public static class InnerClass {
+    public static class InnerClass implements Serializable {
+
+        private static final long serialVersionUID = 5025859088631741192L;
         private int intAttr;
 
         public InnerClass(int intAttr) {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Person.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Person.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Person.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -63,13 +63,22 @@
               0 );
     }
 
+    
     public Person(final String name,
+                  final Cheese cheese) {
+        this( name,
+              null,
+              0 );
+        this.cheese = cheese;
+    }
+    
+    public Person(final String name,
                   final String likes,
                   final int age) {
         this.name = name;
         this.likes = likes;
         this.age = age;
-    }
+    }    
 
     /* (non-Javadoc)
      * @see org.drools.PersonInterface#getStatus()

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Primitives.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Primitives.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/Primitives.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,5 +1,7 @@
 package org.drools;
 
+import java.util.Arrays;
+
 /*
  * Copyright 2005 JBoss Inc
  * 
@@ -16,7 +18,10 @@
  * limitations under the License.
  */
 
-public class Primitives {
+public class Primitives implements java.io.Serializable {
+
+    private static final long serialVersionUID = -3006488134941876318L;
+
     private boolean  booleanPrimitive;
 
     private char     charPrimitive;
@@ -155,4 +160,56 @@
         this.object = object;
     }
 
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + Arrays.hashCode( arrayAttribute );
+        result = prime * result + (booleanPrimitive ? 1231 : 1237);
+        result = prime * result + ((booleanWrapper == null) ? 0 : booleanWrapper.hashCode());
+        result = prime * result + charPrimitive;
+        result = prime * result + Float.floatToIntBits( doublePrimitive );
+        result = prime * result + Float.floatToIntBits( floatPrimitive );
+        result = prime * result + intPrimitive;
+        result = prime * result + (int) (longPrimitive ^ (longPrimitive >>> 32));
+        result = prime * result + ((object == null) ? 0 : object.hashCode());
+        result = prime * result + Arrays.hashCode( primitiveArrayAttribute );
+        result = prime * result + shortPrimitive;
+        result = prime * result + Arrays.hashCode( stringArray );
+        result = prime * result + ((stringAttribute == null) ? 0 : stringAttribute.hashCode());
+        return result;
+    }
+
+    public boolean equals(Object obj) {
+        if ( this == obj ) return true;
+        if ( obj == null ) return false;
+        if ( getClass() != obj.getClass() ) return false;
+        final Primitives other = (Primitives) obj;
+        if ( !Arrays.equals( arrayAttribute,
+                             other.arrayAttribute ) ) return false;
+        if ( booleanPrimitive != other.booleanPrimitive ) return false;
+        if ( booleanWrapper == null ) {
+            if ( other.booleanWrapper != null ) return false;
+        } else if ( !booleanWrapper.equals( other.booleanWrapper ) ) return false;
+        if ( bytePrimitive != other.bytePrimitive ) return false;
+        if ( charPrimitive != other.charPrimitive ) return false;
+        if ( Float.floatToIntBits( doublePrimitive ) != Float.floatToIntBits( other.doublePrimitive ) ) return false;
+        if ( Float.floatToIntBits( floatPrimitive ) != Float.floatToIntBits( other.floatPrimitive ) ) return false;
+        if ( intPrimitive != other.intPrimitive ) return false;
+        if ( longPrimitive != other.longPrimitive ) return false;
+        if ( object == null ) {
+            if ( other.object != null ) return false;
+        } else if ( !object.equals( other.object ) ) return false;
+        if ( !Arrays.equals( primitiveArrayAttribute,
+                             other.primitiveArrayAttribute ) ) return false;
+        if ( shortPrimitive != other.shortPrimitive ) return false;
+        if ( !Arrays.equals( stringArray,
+                             other.stringArray ) ) return false;
+        if ( stringAttribute == null ) {
+            if ( other.stringAttribute != null ) return false;
+        } else if ( !stringAttribute.equals( other.stringAttribute ) ) return false;
+        return true;
+    }
+    
+    
+
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/State.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/State.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/State.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,8 +2,9 @@
 
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
+import java.io.Serializable;
 
-public class State {
+public class State implements Serializable {
     private final PropertyChangeSupport changes = new PropertyChangeSupport( this );
 
     private String                      state;

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -178,34 +178,6 @@
         return m;
     }
 
-    public void testOrComposite() throws Exception {
-    	RuleModel m  = new RuleModel();
-    	m.name = "or";
-    	CompositeFactPattern cp = new CompositeFactPattern(CompositeFactPattern.COMPOSITE_TYPE_OR);
-    	FactPattern p1 = new FactPattern("Person");
-    	SingleFieldConstraint sf1 = new SingleFieldConstraint("age");
-    	sf1.operator = "==";
-    	sf1.value = "42";
-    	p1.addConstraint(sf1);
-
-    	cp.addFactPattern(p1);
-
-    	FactPattern p2 = new FactPattern("Person");
-    	SingleFieldConstraint sf2 = new SingleFieldConstraint("age");
-    	sf2.operator = "==";
-    	sf2.value = "43";
-    	p2.addConstraint(sf2);
-
-    	cp.addFactPattern(p2);
-
-    	m.addLhsItem(cp);
-
-    	String result = BRDRLPersistence.getInstance().marshal(m);
-    	assertTrue(result.indexOf("( Person( age == 42 ) or Person( age == 43 ) )") > 0);
-
-
-    }
-
     //    public void testLoadEmpty() {
     //        RuleModel m = BRXMLPersistence.getInstance().unmarshal( null );
     //        assertNotNull( m );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/compiler/Java5Test.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/compiler/Java5Test.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/compiler/Java5Test.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -6,7 +6,7 @@
 import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
 
 public class Java5Test extends DroolsTestCase {
-    
+
     public void testJava5Rule() throws Exception {
         final String javaVersion = System.getProperty( "java.specification.version" );
         //do not execute tests under JDK 1.4
@@ -20,7 +20,7 @@
         javaConf.setCompiler( JavaDialectConfiguration.ECLIPSE );
         javaConf.setJavaLanguageLevel( "1.5" );
         
-        final PackageBuilder builder = new PackageBuilder( conf );
+        final PackageBuilder builder = new PackageBuilder( );
         builder.addPackageFromDrl( new InputStreamReader( this.getClass().getResourceAsStream( "java5_rule.drl" ) ) );
         assertFalse( builder.hasErrors() );
     }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/AccumulateTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/AccumulateTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/AccumulateTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,9 +1,16 @@
 package org.drools.integrationtests;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.io.ObjectInput;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutput;
+import java.io.ObjectOutputStream;
 import java.io.Reader;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import junit.framework.Assert;
@@ -18,7 +25,8 @@
 import org.drools.RuleBaseConfiguration;
 import org.drools.RuleBaseFactory;
 import org.drools.RuntimeDroolsException;
-import org.drools.WorkingMemory;
+import org.drools.StatefulSession;
+import org.drools.common.InternalFactHandle;
 import org.drools.compiler.DrlParser;
 import org.drools.compiler.DroolsParserException;
 import org.drools.compiler.PackageBuilder;
@@ -53,19 +61,79 @@
         final Package pkg = builder.getPackage();
 
         // add the package to a rulebase
-        final RuleBase ruleBase = getRuleBase();
+        RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
+
+        ruleBase = serializeRuleBase( ruleBase );
+
         // load up the rulebase
         return ruleBase;
     }
 
+    /**
+     * @param ruleBase
+     * @return
+     * @throws IOException
+     * @throws ClassNotFoundException
+     */
+    private RuleBase serializeRuleBase(RuleBase ruleBase) throws IOException,
+                                                         ClassNotFoundException {
+        byte[] serializedRuleBase = serializeOut( ruleBase );
+        ruleBase = (RuleBase) serializeIn( serializedRuleBase );
+        return ruleBase;
+    }
+
+    /**
+     * @param ruleBase
+     * @param wm
+     * @return
+     * @throws IOException
+     * @throws ClassNotFoundException
+     */
+    private StatefulSession serializeWorkingMemory(RuleBase ruleBase,
+                                                   StatefulSession wm) throws IOException,
+                                                                      ClassNotFoundException {
+        byte[] serializedSession = serializeOut( wm );
+        wm.dispose();
+        wm = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        return wm;
+    }
+
+    /**
+     * @param wm
+     * @param handles
+     */
+    private void updateHandles(StatefulSession wm,
+                               final FactHandle[] handles) {
+        for ( int i = 0; i < handles.length; i++ ) {
+            handles[i] = updateHandle( wm,
+                                       (InternalFactHandle) handles[i] );
+        }
+    }
+
+    /**
+     * @param wm
+     * @param cheeseHandles
+     * @param index
+     */
+    private InternalFactHandle updateHandle(final StatefulSession wm,
+                                            final InternalFactHandle handle) {
+        for ( Iterator it = wm.iterateFactHandles(); it.hasNext(); ) {
+            InternalFactHandle newHandle = (InternalFactHandle) it.next();
+            if ( handle.getId() == newHandle.getId() ) {
+                return newHandle;
+            }
+        }
+        return null;
+    }
+
     public void testAccumulateModify() throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateModify.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -84,8 +152,17 @@
         for ( int i = 0; i < cheese.length; i++ ) {
             cheeseHandles[i] = wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
+        FactHandle bobHandle = wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         // no fire, as per rule constraints
@@ -131,10 +208,10 @@
 
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Accumulate.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -151,6 +228,11 @@
         wm.insert( new Cheese( "provolone",
                                150 ) );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+
         wm.fireAllRules();
 
         Assert.assertEquals( new Integer( 165 ),
@@ -169,10 +251,10 @@
 
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateMVEL.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -189,6 +271,11 @@
         wm.insert( new Cheese( "provolone",
                                150 ) );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+
         wm.fireAllRules();
 
         Assert.assertEquals( new Integer( 165 ),
@@ -206,10 +293,10 @@
     public void testAccumulateModifyMVEL() throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateModifyMVEL.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -228,8 +315,17 @@
         for ( int i = 0; i < cheese.length; i++ ) {
             cheeseHandles[i] = wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
+        FactHandle bobHandle = wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         // no fire, as per rule constraints
@@ -274,10 +370,10 @@
     public void testAccumulateReverseModify() throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateReverseModify.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -296,8 +392,17 @@
         for ( int i = 0; i < cheese.length; i++ ) {
             cheeseHandles[i] = wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
+        FactHandle bobHandle = wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         // no fire, as per rule constraints
@@ -342,10 +447,10 @@
     public void testAccumulateReverseModifyMVEL() throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateReverseModifyMVEL.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -364,8 +469,17 @@
         for ( int i = 0; i < cheese.length; i++ ) {
             cheeseHandles[i] = wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
+        FactHandle bobHandle = wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         // no fire, as per rule constraints
@@ -410,10 +524,10 @@
     public void testAccumulateWithFromChaining() throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateWithFromChaining.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -437,8 +551,17 @@
         final Person bob = new Person( "Bob",
                                        "stilton" );
 
-        final FactHandle bobHandle = wm.insert( bob );
+        FactHandle bobHandle = wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        cheeseryHandle = updateHandle( wm,
+                                       (InternalFactHandle) cheeseryHandle );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         // one fire, as per rule constraints
@@ -486,16 +609,16 @@
 
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateMVEL.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm1 = ruleBase.newStatefulSession();
-        final List results1 = new ArrayList();
+        StatefulSession wm1 = ruleBase.newStatefulSession();
+        List results1 = new ArrayList();
 
         wm1.setGlobal( "results",
                        results1 );
 
-        final WorkingMemory wm2 = ruleBase.newStatefulSession();
-        final List results2 = new ArrayList();
+        StatefulSession wm2 = ruleBase.newStatefulSession();
+        List results2 = new ArrayList();
 
         wm2.setGlobal( "results",
                        results2 );
@@ -524,6 +647,15 @@
                                 5 ) );
         wm2.insert( new Cheese( "provolone",
                                 150 ) );
+        
+        ruleBase = serializeRuleBase( ruleBase );
+        wm1 = serializeWorkingMemory( ruleBase,
+                                      wm1 );
+        results1 = (List) wm1.getGlobal( "results" );
+        wm2 = serializeWorkingMemory( ruleBase,
+                                      wm2 );
+        results2 = (List) wm2.getGlobal( "results" );
+
         wm1.fireAllRules();
 
         wm2.fireAllRules();
@@ -555,10 +687,10 @@
 
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateInnerClass.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -566,6 +698,10 @@
         wm.insert( new OuterClass.InnerClass( 10 ) );
         wm.insert( new OuterClass.InnerClass( 5 ) );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
         wm.fireAllRules();
 
         Assert.assertEquals( new Integer( 15 ),
@@ -576,10 +712,10 @@
 
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateReturningNull.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -596,16 +732,21 @@
             fail( "Should have raised a DroolsRuntimeException instead of " + e );
         }
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        wm.fireAllRules();
+        
     }
 
     public void testAccumulateReturningNullMVEL() throws Exception {
 
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateReturningNullMVEL.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -622,6 +763,10 @@
             fail( "Should have raised a DroolsRuntimeException instead of " + e );
         }
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        wm.fireAllRules();
     }
 
     public void testAccumulateSumJava() throws Exception {
@@ -683,10 +828,10 @@
     public void execTestAccumulateSum(String fileName) throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( fileName ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -701,12 +846,21 @@
         final Person bob = new Person( "Bob",
                                        "stilton" );
 
-        final FactHandle[] cheeseHandles = new FactHandle[cheese.length];
+        final InternalFactHandle[] cheeseHandles = new InternalFactHandle[cheese.length];
         for ( int i = 0; i < cheese.length; i++ ) {
-            cheeseHandles[i] = wm.insert( cheese[i] );
+            cheeseHandles[i] = (InternalFactHandle) wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
+        InternalFactHandle bobHandle = (InternalFactHandle) wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         Assert.assertEquals( 1,
@@ -738,7 +892,6 @@
                              ((Number) results.get( results.size() - 1 )).intValue() );
 
         // ---------------- 4th scenario
-        wm.retract( cheeseHandles[3] );
         wm.fireAllRules();
 
         // should not have fired as per constraint
@@ -750,10 +903,10 @@
     public void execTestAccumulateCount(String fileName) throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( fileName ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -768,12 +921,21 @@
         final Person bob = new Person( "Bob",
                                        "stilton" );
 
-        final FactHandle[] cheeseHandles = new FactHandle[cheese.length];
+        final InternalFactHandle[] cheeseHandles = new InternalFactHandle[cheese.length];
         for ( int i = 0; i < cheese.length; i++ ) {
-            cheeseHandles[i] = wm.insert( cheese[i] );
+            cheeseHandles[i] = (InternalFactHandle) wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
+        InternalFactHandle bobHandle = (InternalFactHandle) wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         // no fire, as per rule constraints
@@ -820,10 +982,10 @@
     public void execTestAccumulateAverage(String fileName) throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( fileName ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -838,12 +1000,21 @@
         final Person bob = new Person( "Bob",
                                        "stilton" );
 
-        final FactHandle[] cheeseHandles = new FactHandle[cheese.length];
+        final InternalFactHandle[] cheeseHandles = new InternalFactHandle[cheese.length];
         for ( int i = 0; i < cheese.length; i++ ) {
-            cheeseHandles[i] = wm.insert( cheese[i] );
+            cheeseHandles[i] = (InternalFactHandle) wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
+        InternalFactHandle bobHandle = (InternalFactHandle) wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         // no fire, as per rule constraints
@@ -889,10 +1060,10 @@
     public void execTestAccumulateMin(String fileName) throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( fileName ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -907,12 +1078,21 @@
         final Person bob = new Person( "Bob",
                                        "stilton" );
 
-        final FactHandle[] cheeseHandles = new FactHandle[cheese.length];
+        final InternalFactHandle[] cheeseHandles = new InternalFactHandle[cheese.length];
         for ( int i = 0; i < cheese.length; i++ ) {
-            cheeseHandles[i] = wm.insert( cheese[i] );
+            cheeseHandles[i] = (InternalFactHandle) wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
+        InternalFactHandle bobHandle = (InternalFactHandle) wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         // no fire, as per rule constraints
@@ -958,10 +1138,10 @@
     public void execTestAccumulateMax(String fileName) throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( fileName ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -976,12 +1156,21 @@
         final Person bob = new Person( "Bob",
                                        "stilton" );
 
-        final FactHandle[] cheeseHandles = new FactHandle[cheese.length];
+        final InternalFactHandle[] cheeseHandles = new InternalFactHandle[cheese.length];
         for ( int i = 0; i < cheese.length; i++ ) {
-            cheeseHandles[i] = wm.insert( cheese[i] );
+            cheeseHandles[i] = (InternalFactHandle) wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
+        InternalFactHandle bobHandle = (InternalFactHandle) wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         // no fire, as per rule constraints
@@ -1027,10 +1216,10 @@
     public void execTestAccumulateReverseModifyMultiPattern(String fileName) throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( fileName ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -1047,13 +1236,23 @@
         final Person mark = new Person( "Mark",
                                         "provolone" );
 
-        final FactHandle[] cheeseHandles = new FactHandle[cheese.length];
+        final InternalFactHandle[] cheeseHandles = new InternalFactHandle[cheese.length];
         for ( int i = 0; i < cheese.length; i++ ) {
-            cheeseHandles[i] = wm.insert( cheese[i] );
+            cheeseHandles[i] = (InternalFactHandle) wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
-        final FactHandle markHandle = wm.insert( mark );
+        InternalFactHandle bobHandle = (InternalFactHandle) wm.insert( bob );
+        InternalFactHandle markHandle = (InternalFactHandle) wm.insert( mark );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
+
         // ---------------- 1st scenario
         wm.fireAllRules();
         // no fire, as per rule constraints
@@ -1099,10 +1298,10 @@
 
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulatePreviousBinds.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -1116,6 +1315,11 @@
         wm.insert( new Cheese( "brie",
                                20 ) );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+
         wm.fireAllRules();
 
         assertEquals( 1,
@@ -1124,4 +1328,60 @@
                       results.get( 0 ) );
     }
 
+    public void testAccumulateGlobals() throws Exception {
+
+        // read in the source
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_AccumulateGlobals.drl" ) );
+        RuleBase ruleBase = loadRuleBase( reader );
+
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
+
+        wm.setGlobal( "results",
+                      results );
+        wm.setGlobal( "globalValue",
+                      new Integer( 50 ) );
+
+        wm.insert( new Cheese( "stilton",
+                               10 ) );
+        wm.insert( new Cheese( "brie",
+                               5 ) );
+        wm.insert( new Cheese( "provolone",
+                               150 ) );
+        wm.insert( new Cheese( "brie",
+                               20 ) );
+
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+
+        wm.fireAllRules();
+
+        assertEquals( 1,
+                      results.size() );
+        assertEquals( new Integer( 100 ),
+                      results.get( 0 ) );
+    }
+
+    protected Object serializeIn(final byte[] bytes) throws IOException,
+                                                    ClassNotFoundException {
+        final ObjectInput in = new ObjectInputStream( new ByteArrayInputStream( bytes ) );
+        final Object obj = in.readObject();
+        in.close();
+        return obj;
+    }
+
+    protected byte[] serializeOut(final Object obj) throws IOException {
+        // Serialize to a byte array
+        final ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        final ObjectOutput out = new ObjectOutputStream( bos );
+        out.writeObject( obj );
+        out.close();
+
+        // Get the bytes of the serialized object
+        final byte[] bytes = bos.toByteArray();
+        return bytes;
+    }
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -30,6 +30,7 @@
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
 import org.drools.WorkingMemory;
+import org.drools.common.DroolsObjectInputStream;
 import org.drools.common.InternalFactHandle;
 import org.drools.compiler.PackageBuilder;
 import org.drools.compiler.PackageBuilderConfiguration;
@@ -532,6 +533,69 @@
 
     }
 
+    public void testDynamicRulesAddRemove() {
+        try {
+            RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+            
+            PackageBuilder tomBuilder = new PackageBuilder();
+            tomBuilder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesTom.drl" ) ) );
+            ruleBase.addPackage( tomBuilder.getPackage() );
+
+            StatefulSession session = ruleBase.newStatefulSession();
+            List results = new ArrayList();
+            session.setGlobal( "results", results );
+            
+            InternalFactHandle h1 = (InternalFactHandle) session.insert( new Person( "tom", 1 ) );
+            InternalFactHandle h2 = (InternalFactHandle) session.insert( new Person( "fred", 2 ) );
+            InternalFactHandle h3 = (InternalFactHandle) session.insert( new Person( "harry", 3 ) );
+            InternalFactHandle h4 = (InternalFactHandle) session.insert( new Person( "fred", 4 ) );
+            InternalFactHandle h5 = (InternalFactHandle) session.insert( new Person( "ed", 5 ) );
+            InternalFactHandle h6 = (InternalFactHandle) session.insert( new Person( "tom", 6 ) );
+            InternalFactHandle h7 = (InternalFactHandle) session.insert( new Person( "sreeni", 7 ) );
+            InternalFactHandle h8 = (InternalFactHandle) session.insert( new Person( "jill", 8 ) );
+            InternalFactHandle h9 = (InternalFactHandle) session.insert( new Person( "ed", 9 ) );
+            InternalFactHandle h10 = (InternalFactHandle) session.insert( new Person( "tom", 10 ) );
+            
+            session.fireAllRules();
+            
+            assertEquals( 3, results.size() );
+            assertTrue( results.contains( h1.getObject() ) );
+            assertTrue( results.contains( h6.getObject() ) );
+            assertTrue( results.contains( h10.getObject() ) );
+            results.clear();
+
+            PackageBuilder fredBuilder = new PackageBuilder();
+            fredBuilder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesFred.drl" ) ) );
+            ruleBase.addPackage( fredBuilder.getPackage() );
+
+            assertEquals( 2, results.size() );
+            assertTrue( results.contains( h2.getObject() ) );
+            assertTrue( results.contains( h4.getObject() ) );
+            results.clear();
+
+            ruleBase.removePackage( "tom" );
+
+            PackageBuilder edBuilder = new PackageBuilder();
+            edBuilder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesEd.drl" ) ) );
+            ruleBase.addPackage( edBuilder.getPackage() );
+
+            assertEquals( 2, results.size() );
+            assertTrue( results.contains( h5.getObject() ) );
+            assertTrue( results.contains( h9.getObject() ) );
+            results.clear();
+
+            ((Person) h3.getObject()).setName( "ed" );
+            session.update( h3, h3.getObject() );
+            session.fireAllRules();
+            
+            assertEquals( 1, results.size() );
+            assertTrue( results.contains( h3.getObject() ) );
+        } catch( Exception e ) {
+            e.printStackTrace();
+            fail( "Should not raise any exception: "+e.getMessage() );
+        }
+    }
+
     public void testDynamicRuleRemovalsSubNetwork() throws Exception {
 
         final PackageBuilder builder = new PackageBuilder();
@@ -719,67 +783,58 @@
         }
     }
 
-    public void testDynamicRulesAddRemove() {
-        try {
-            RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-            
-            PackageBuilder tomBuilder = new PackageBuilder();
-            tomBuilder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesTom.drl" ) ) );
-            ruleBase.addPackage( tomBuilder.getPackage() );
+    
+    public void testSerializeAdd() throws Exception {
 
-            StatefulSession session = ruleBase.newStatefulSession();
-            List results = new ArrayList();
-            session.setGlobal( "results", results );
-            
-            InternalFactHandle h1 = (InternalFactHandle) session.insert( new Person( "tom", 1 ) );
-            InternalFactHandle h2 = (InternalFactHandle) session.insert( new Person( "fred", 2 ) );
-            InternalFactHandle h3 = (InternalFactHandle) session.insert( new Person( "harry", 3 ) );
-            InternalFactHandle h4 = (InternalFactHandle) session.insert( new Person( "fred", 4 ) );
-            InternalFactHandle h5 = (InternalFactHandle) session.insert( new Person( "ed", 5 ) );
-            InternalFactHandle h6 = (InternalFactHandle) session.insert( new Person( "tom", 6 ) );
-            InternalFactHandle h7 = (InternalFactHandle) session.insert( new Person( "sreeni", 7 ) );
-            InternalFactHandle h8 = (InternalFactHandle) session.insert( new Person( "jill", 8 ) );
-            InternalFactHandle h9 = (InternalFactHandle) session.insert( new Person( "ed", 9 ) );
-            InternalFactHandle h10 = (InternalFactHandle) session.insert( new Person( "tom", 10 ) );
-            
-            session.fireAllRules();
-            
-            assertEquals( 3, results.size() );
-            assertTrue( results.contains( h1.getObject() ) );
-            assertTrue( results.contains( h6.getObject() ) );
-            assertTrue( results.contains( h10.getObject() ) );
-            results.clear();
-
-            PackageBuilder fredBuilder = new PackageBuilder();
-            fredBuilder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesFred.drl" ) ) );
-            ruleBase.addPackage( fredBuilder.getPackage() );
-
-            assertEquals( 2, results.size() );
-            assertTrue( results.contains( h2.getObject() ) );
-            assertTrue( results.contains( h4.getObject() ) );
-            results.clear();
-
-            ruleBase.removePackage( "tom" );
-
-            PackageBuilder edBuilder = new PackageBuilder();
-            edBuilder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesEd.drl" ) ) );
-            ruleBase.addPackage( edBuilder.getPackage() );
-
-            assertEquals( 2, results.size() );
-            assertTrue( results.contains( h5.getObject() ) );
-            assertTrue( results.contains( h9.getObject() ) );
-            results.clear();
-
-            ((Person) h3.getObject()).setName( "ed" );
-            session.update( h3, h3.getObject() );
-            session.fireAllRules();
-            
-            assertEquals( 1, results.size() );
-            assertTrue( results.contains( h3.getObject() ) );
-        } catch( Exception e ) {
-            e.printStackTrace();
-            fail( "Should not raise any exception: "+e.getMessage() );
-        }
+        //Create a rulebase, a session, and test it
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase( );
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ) );
+        Package pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+        
+        StatefulSession session = ruleBase.newStatefulSession();
+        List list = new ArrayList();
+        session.setGlobal( "list", list );
+        
+        InternalFactHandle stilton = (InternalFactHandle) session.insert( new Cheese( "stilton", 10 ) );
+        InternalFactHandle brie = (InternalFactHandle) session.insert( new Cheese( "brie", 10 ) );
+        session.fireAllRules();
+        
+        assertEquals( list.size(), 1 );
+        assertEquals( "stilton", list.get( 0 ));
+        
+        byte[] serializedSession = serializeOut( session );
+        session.dispose();
+        
+        byte[] serializedRulebase = serializeOut( ruleBase );
+        
+        // now recreate the rulebase, deserialize the session and test it
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+        
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        list = (List) session.getGlobal( "list" );
+        
+        assertNotNull( list );
+        assertEquals( list.size(), 1 );
+        assertEquals( "stilton", list.get( 0 ));
+        
+        builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3.drl" ) ) );
+        pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+        
+        InternalFactHandle stilton2 = (InternalFactHandle) session.insert( new Cheese( "stilton", 10 ) );
+        InternalFactHandle brie2 = (InternalFactHandle) session.insert( new Cheese( "brie", 10 ) );
+        InternalFactHandle bob = (InternalFactHandle) session.insert( new Person( "bob", 30 ) );
+        session.fireAllRules();
+        
+        assertEquals( list.size(), 3 );
+        assertEquals( bob.getObject(), list.get( 1 ));
+        assertEquals( "stilton", list.get( 2 ));
+        
+        session.dispose();
+        
     }
 
     public class SubvertedClassLoader extends URLClassLoader {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,10 +1,17 @@
 package org.drools.integrationtests;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.io.ObjectInput;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutput;
+import java.io.ObjectOutputStream;
 import java.io.Reader;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Iterator;
 import java.util.List;
 
 import junit.framework.Assert;
@@ -24,6 +31,7 @@
 import org.drools.State;
 import org.drools.StatefulSession;
 import org.drools.WorkingMemory;
+import org.drools.common.InternalFactHandle;
 import org.drools.compiler.DrlParser;
 import org.drools.compiler.DroolsParserException;
 import org.drools.compiler.PackageBuilder;
@@ -44,14 +52,112 @@
                                             config );
     }
 
+    private RuleBase loadRuleBase(final Reader reader) throws IOException,
+                                                      DroolsParserException,
+                                                      Exception {
+        final DrlParser parser = new DrlParser();
+        final PackageDescr packageDescr = parser.parse( reader );
+        if ( parser.hasErrors() ) {
+            System.out.println( parser.getErrors() );
+            Assert.fail( "Error messages in parser, need to sort this our (or else collect error messages)" );
+        }
+        // pre build the package
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackage( packageDescr );
+        final Package pkg = builder.getPackage();
+
+        // add the package to a rulebase
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        // load up the rulebase
+        return serializeRuleBase( ruleBase );
+    }
+
+    protected Object serializeIn(final byte[] bytes) throws IOException,
+                                                    ClassNotFoundException {
+        final ObjectInput in = new ObjectInputStream( new ByteArrayInputStream( bytes ) );
+        final Object obj = in.readObject();
+        in.close();
+        return obj;
+    }
+
+    protected byte[] serializeOut(final Object obj) throws IOException {
+        // Serialize to a byte array
+        final ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        final ObjectOutput out = new ObjectOutputStream( bos );
+        out.writeObject( obj );
+        out.close();
+
+        // Get the bytes of the serialized object
+        final byte[] bytes = bos.toByteArray();
+        return bytes;
+    }
+
+    /**
+     * @param ruleBase
+     * @return
+     * @throws IOException
+     * @throws ClassNotFoundException
+     */
+    private RuleBase serializeRuleBase(RuleBase ruleBase) throws IOException,
+                                                         ClassNotFoundException {
+        byte[] serializedRuleBase = serializeOut( ruleBase );
+        ruleBase = (RuleBase) serializeIn( serializedRuleBase );
+        return ruleBase;
+    }
+
+    /**
+     * @param ruleBase
+     * @param wm
+     * @return
+     * @throws IOException
+     * @throws ClassNotFoundException
+     */
+    private StatefulSession serializeWorkingMemory(RuleBase ruleBase,
+                                                   StatefulSession wm) throws IOException,
+                                                                      ClassNotFoundException {
+        byte[] serializedSession = serializeOut( wm );
+        wm.dispose();
+        wm = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        return wm;
+    }
+
+    /**
+     * @param wm
+     * @param handles
+     */
+    private void updateHandles(StatefulSession wm,
+                               final FactHandle[] handles) {
+        for ( int i = 0; i < handles.length; i++ ) {
+            handles[i] = updateHandle( wm,
+                                       (InternalFactHandle) handles[i] );
+        }
+    }
+
+    /**
+     * @param wm
+     * @param cheeseHandles
+     * @param index
+     */
+    private InternalFactHandle updateHandle(final StatefulSession wm,
+                                            final FactHandle handle) {
+        for ( Iterator it = wm.iterateFactHandles(); it.hasNext(); ) {
+            InternalFactHandle newHandle = (InternalFactHandle) it.next();
+            if ( ((InternalFactHandle) handle).getId() == newHandle.getId() ) {
+                return newHandle;
+            }
+        }
+        return null;
+    }
+
     public void testCollect() throws Exception {
 
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Collect.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -73,6 +179,11 @@
         wm.insert( new Person( "Mark",
                                "provolone" ) );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+
         wm.fireAllRules();
 
         Assert.assertEquals( 1,
@@ -86,10 +197,10 @@
     public void testCollectModify() throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Collect.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
 
         wm.setGlobal( "results",
                       results );
@@ -108,8 +219,16 @@
         for ( int i = 0; i < cheese.length; i++ ) {
             cheeseHandles[i] = wm.insert( cheese[i] );
         }
-        final FactHandle bobHandle = wm.insert( bob );
+        FactHandle bobHandle = wm.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+        bobHandle = updateHandle( wm,
+                                  (InternalFactHandle) bobHandle );
         // ---------------- 1st scenario
         int fireCount = 0;
         wm.fireAllRules();
@@ -153,17 +272,12 @@
     }
 
     public void testExistsWithBinding() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ExistsWithBindings.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        RuleBase ruleBase = loadRuleBase( new InputStreamReader( getClass().getResourceAsStream( "test_ExistsWithBindings.drl" ) ) );
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
-        final List list = new ArrayList();
+        List results = new ArrayList();
         workingMemory.setGlobal( "results",
-                                 list );
+                                 results );
 
         final Cheese c = new Cheese( "stilton",
                                      10 );
@@ -171,47 +285,58 @@
                                      "stilton" );
         workingMemory.insert( c );
         workingMemory.insert( p );
+
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        results = (List) workingMemory.getGlobal( "results" );
+
         workingMemory.fireAllRules();
 
-        assertTrue( list.contains( c.getType() ) );
+        assertTrue( results.contains( c.getType() ) );
         assertEquals( 1,
-                      list.size() );
+                      results.size() );
     }
 
     public void testNot() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "not_rule_test.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        RuleBase ruleBase = loadRuleBase( new InputStreamReader( getClass().getResourceAsStream( "not_rule_test.drl" ) ) );
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
-        final List list = new ArrayList();
+        List results = new ArrayList();
         workingMemory.setGlobal( "list",
-                                 list );
+                                 results );
 
         final Cheese stilton = new Cheese( "stilton",
                                            5 );
-        final FactHandle stiltonHandle = workingMemory.insert( stilton );
+        FactHandle stiltonHandle = workingMemory.insert( stilton );
         final Cheese cheddar = new Cheese( "cheddar",
                                            7 );
-        final FactHandle cheddarHandle = workingMemory.insert( cheddar );
+        FactHandle cheddarHandle = workingMemory.insert( cheddar );
+
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        results = (List) workingMemory.getGlobal( "list" );
+        stiltonHandle = updateHandle( workingMemory,
+                                      stiltonHandle );
+        cheddarHandle = updateHandle( workingMemory,
+                                      cheddarHandle );
+
         workingMemory.fireAllRules();
 
         assertEquals( 0,
-                      list.size() );
+                      results.size() );
 
         workingMemory.retract( stiltonHandle );
 
         workingMemory.fireAllRules();
 
         assertEquals( 4,
-                      list.size() );
-        Assert.assertTrue( list.contains( new Integer( 5 ) ) );
-        Assert.assertTrue( list.contains( new Integer( 6 ) ) );
-        Assert.assertTrue( list.contains( new Integer( 7 ) ) );
-        Assert.assertTrue( list.contains( new Integer( 8 ) ) );
+                      results.size() );
+        Assert.assertTrue( results.contains( new Integer( 5 ) ) );
+        Assert.assertTrue( results.contains( new Integer( 6 ) ) );
+        Assert.assertTrue( results.contains( new Integer( 7 ) ) );
+        Assert.assertTrue( results.contains( new Integer( 8 ) ) );
     }
 
     public void testNotWithBindings() throws Exception {
@@ -223,25 +348,38 @@
         assertTrue( rule.isValid() );
         assertEquals( 0,
                       builder.getErrors().getErrors().length );
-        final RuleBase ruleBase = getRuleBase();
+
+        RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        ruleBase = serializeRuleBase( ruleBase );
 
-        final List list = new ArrayList();
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
+
+        List list = new ArrayList();
         workingMemory.setGlobal( "list",
                                  list );
 
         final Cheese stilton = new Cheese( "stilton",
                                            5 );
-        final FactHandle stiltonHandle = workingMemory.insert( stilton );
+        FactHandle stiltonHandle = workingMemory.insert( stilton );
         final Cheese cheddar = new Cheese( "cheddar",
                                            7 );
-        final FactHandle cheddarHandle = workingMemory.insert( cheddar );
+        FactHandle cheddarHandle = workingMemory.insert( cheddar );
 
         final PersonInterface paul = new Person( "paul",
                                                  "stilton",
                                                  12 );
         workingMemory.insert( paul );
+
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "list" );
+        stiltonHandle = updateHandle( workingMemory,
+                                      stiltonHandle );
+        cheddarHandle = updateHandle( workingMemory,
+                                      cheddarHandle );
+
         workingMemory.fireAllRules();
 
         assertEquals( 0,
@@ -256,21 +394,22 @@
     }
 
     public void testExists() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "exists_rule_test.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        RuleBase ruleBase = loadRuleBase( new InputStreamReader( getClass().getResourceAsStream( "exists_rule_test.drl" ) ) );
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
-        final List list = new ArrayList();
+        List list = new ArrayList();
         workingMemory.setGlobal( "list",
                                  list );
 
         final Cheese cheddar = new Cheese( "cheddar",
                                            7 );
         final FactHandle cheddarHandle = workingMemory.insert( cheddar );
+
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "list" );
+
         workingMemory.fireAllRules();
 
         assertEquals( 0,
@@ -279,6 +418,12 @@
         final Cheese stilton = new Cheese( "stilton",
                                            5 );
         final FactHandle stiltonHandle = workingMemory.insert( stilton );
+
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "list" );
+
         workingMemory.fireAllRules();
 
         assertEquals( 1,
@@ -287,6 +432,12 @@
         final Cheese brie = new Cheese( "brie",
                                         5 );
         final FactHandle brieHandle = workingMemory.insert( brie );
+
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "list" );
+
         workingMemory.fireAllRules();
 
         assertEquals( 1,
@@ -294,15 +445,10 @@
     }
 
     public void testExists2() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_exists.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        RuleBase ruleBase = loadRuleBase( new InputStreamReader( getClass().getResourceAsStream( "test_exists.drl" ) ) );
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
-        final List list = new ArrayList();
+        List list = new ArrayList();
         workingMemory.setGlobal( "list",
                                  list );
 
@@ -316,36 +462,51 @@
                                        "muzzarela" );
 
         workingMemory.insert( cheddar );
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "list" );
+
         workingMemory.fireAllRules();
         assertEquals( 0,
                       list.size() );
 
         workingMemory.insert( provolone );
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "list" );
+
         workingMemory.fireAllRules();
         assertEquals( 0,
                       list.size() );
 
         workingMemory.insert( edson );
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "list" );
+
         workingMemory.fireAllRules();
         assertEquals( 1,
                       list.size() );
 
         workingMemory.insert( bob );
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "list" );
+
         workingMemory.fireAllRules();
         assertEquals( 1,
                       list.size() );
     }
 
     public void testForall() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Forall.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        RuleBase ruleBase = loadRuleBase( new InputStreamReader( getClass().getResourceAsStream( "test_Forall.drl" ) ) );
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
-        final List list = new ArrayList();
+        List list = new ArrayList();
         workingMemory.setGlobal( "results",
                                  list );
 
@@ -357,6 +518,11 @@
         bob.setLikes( "stilton" );
         workingMemory.insert( bob );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "results" );
+
         workingMemory.fireAllRules();
 
         assertEquals( 0,
@@ -364,6 +530,12 @@
 
         workingMemory.insert( new Cheese( bob.getLikes(),
                                           10 ) );
+
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "results" );
+
         workingMemory.fireAllRules();
 
         assertEquals( 1,
@@ -377,11 +549,14 @@
 
         final RuleBaseConfiguration config = new RuleBaseConfiguration();
         config.setRemoveIdentities( true );
-        final RuleBase ruleBase = getRuleBase( config );
+        RuleBase ruleBase = getRuleBase( config );
         ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
+        ruleBase = serializeRuleBase( ruleBase );
+
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
+
+        List list = new ArrayList();
         workingMemory.setGlobal( "results",
                                  list );
 
@@ -395,11 +570,20 @@
 
         final Cheese stilton1 = new Cheese( "stilton",
                                             6 );
-        final FactHandle stilton1Handle = workingMemory.insert( stilton1 );
+        FactHandle stilton1Handle = workingMemory.insert( stilton1 );
         final Cheese stilton2 = new Cheese( "stilton",
                                             7 );
-        final FactHandle stilton2Handle = workingMemory.insert( stilton2 );
+        FactHandle stilton2Handle = workingMemory.insert( stilton2 );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        list = (List) workingMemory.getGlobal( "results" );
+        stilton1Handle = updateHandle( workingMemory,
+                                       stilton1Handle );
+        stilton2Handle = updateHandle( workingMemory,
+                                       stilton2Handle );
+
         workingMemory.fireAllRules();
         assertEquals( 0,
                       list.size() );
@@ -422,15 +606,10 @@
     }
 
     public void testCollectWithNestedFromWithParams() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_CollectWithNestedFrom.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        RuleBase ruleBase = loadRuleBase( new InputStreamReader( getClass().getResourceAsStream( "test_CollectWithNestedFrom.drl" ) ) );
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        List results = new ArrayList();
         workingMemory.setGlobal( "results",
                                  results );
 
@@ -452,6 +631,11 @@
         workingMemory.insert( bob );
         workingMemory.insert( cheesery );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        workingMemory = serializeWorkingMemory( ruleBase,
+                                                workingMemory );
+        results = (List) workingMemory.getGlobal( "results" );
+
         workingMemory.fireAllRules();
 
         assertEquals( 1,
@@ -469,11 +653,10 @@
     public void testCollectModifyAlphaRestriction() throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_CollectAlphaRestriction.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
-
+        StatefulSession wm = ruleBase.newStatefulSession();
+        List results = new ArrayList();
         wm.setGlobal( "results",
                       results );
 
@@ -490,6 +673,13 @@
             cheeseHandles[i] = wm.insert( cheese[i] );
         }
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+        updateHandles( wm,
+                       cheeseHandles );
+
         // ---------------- 1st scenario
         int fireCount = 0;
         wm.fireAllRules();
@@ -527,35 +717,11 @@
 
     }
 
-    private RuleBase loadRuleBase(final Reader reader) throws IOException,
-                                                      DroolsParserException,
-                                                      Exception {
-        final DrlParser parser = new DrlParser();
-        final PackageDescr packageDescr = parser.parse( reader );
-        if ( parser.hasErrors() ) {
-            System.out.println( parser.getErrors() );
-            Assert.fail( "Error messages in parser, need to sort this our (or else collect error messages)" );
-        }
-        // pre build the package
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackage( packageDescr );
-        final Package pkg = builder.getPackage();
-
-        // add the package to a rulebase
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        // load up the rulebase
-        return ruleBase;
-    }
-
     public void testForallSinglePattern() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ForallSinglePattern.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_ForallSinglePattern.drl" ) );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
         workingMemory.setGlobal( "results",
@@ -610,14 +776,13 @@
     }
 
     public void testMVELCollect() throws Exception {
-
-        // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_MVELCollect.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
-        final List results = new ArrayList();
+        StatefulSession wm = ruleBase.newStatefulSession();
 
+        List results = new ArrayList();
+
         wm.setGlobal( "results",
                       results );
 
@@ -638,6 +803,11 @@
         wm.insert( new Person( "Mark",
                                "provolone" ) );
 
+        ruleBase = serializeRuleBase( ruleBase );
+        wm = serializeWorkingMemory( ruleBase,
+                                     wm );
+        results = (List) wm.getGlobal( "results" );
+
         wm.fireAllRules();
 
         Assert.assertEquals( 1,
@@ -647,14 +817,11 @@
     }
 
     public void testNestedCorelatedRulesWithForall() throws Exception {
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_NestedCorrelatedRulesWithForall.drl" ) );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( FirstOrderLogicTest.class.getResourceAsStream( "test_NestedCorrelatedRulesWithForall.drl" ) ) );
+        StatefulSession session = ruleBase.newStatefulSession();
 
-        RuleBase rb = RuleBaseFactory.newRuleBase();
-        rb.addPackage( builder.getPackage() );
-        StatefulSession session = rb.newStatefulSession();
-
         List list1 = new ArrayList();
         List list2 = new ArrayList();
         List list3 = new ArrayList();
@@ -711,13 +878,10 @@
     }
 
     public void testFromInsideNotAndExists() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FromInsideNotAndExists.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_FromInsideNotAndExists.drl" ) );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
         workingMemory.setGlobal( "results",
@@ -749,13 +913,10 @@
     }
 
     public void testOr() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OrNesting.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_OrNesting.drl" ) );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
         workingMemory.setGlobal( "results",
@@ -781,13 +942,10 @@
     }
 
     public void testCollectWithMemberOfOperators() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_CollectMemberOfOperator.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_CollectMemberOfOperator.drl" ) );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
         workingMemory.setGlobal( "results",
@@ -838,13 +996,10 @@
     }
 
     public void testCollectWithContainsOperators() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_CollectContainsOperator.drl" ) ) );
-        final Package pkg = builder.getPackage();
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_CollectContainsOperator.drl" ) );
+        RuleBase ruleBase = loadRuleBase( reader );
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        StatefulSession workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
         workingMemory.setGlobal( "results",

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MVELTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -27,7 +27,9 @@
 import org.drools.compiler.PackageBuilder;
 import org.drools.lang.descr.PackageDescr;
 import org.drools.rule.Package;
+import org.mvel.ExpressionCompiler;
 import org.mvel.MVEL;
+import org.mvel.ParserContext;
 
 public class MVELTest extends TestCase {
     public void testHelloWorld() throws Exception {
@@ -125,7 +127,7 @@
         }
  
     }    
-
+    
     private RuleBase loadRuleBase(final Reader reader) throws IOException,
                                                       DroolsParserException,
                                                       Exception {

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MarshallingTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,1034 @@
+package org.drools.integrationtests;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.ObjectInput;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutput;
+import java.io.ObjectOutputStream;
+import java.io.Reader;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.drools.Address;
+import org.drools.Cheese;
+import org.drools.Person;
+import org.drools.Primitives;
+import org.drools.RuleBase;
+import org.drools.RuleBaseConfiguration;
+import org.drools.RuleBaseFactory;
+import org.drools.StatefulSession;
+import org.drools.WorkingMemory;
+import org.drools.common.InternalFactHandle;
+import org.drools.compiler.PackageBuilder;
+import org.drools.rule.Package;
+import org.drools.rule.Rule;
+import org.mvel.ExpressionCompiler;
+import org.mvel.ParserContext;
+
+public class MarshallingTest extends TestCase {
+    public void testSerializable() throws Exception {
+
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Serializable.drl" ) );
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( reader );
+        final Package pkg = serialisePackage( builder.getPackage() );
+
+        assertEquals( 0,
+                      builder.getErrors().getErrors().length );
+
+        RuleBase ruleBase = getRuleBase();// RuleBaseFactory.newRuleBase();
+
+        ruleBase.addPackage( pkg );
+
+        Map map = new HashMap();
+        map.put( "x",
+                 ruleBase );
+        final byte[] ast = serializeOut( map );
+        map = (Map) serializeIn( ast );
+        ruleBase = (RuleBase) map.get( "x" );
+        final Rule[] rules = ruleBase.getPackages()[0].getRules();
+        assertEquals( 4,
+                      rules.length );
+
+        assertEquals( "match Person 1",
+                      rules[0].getName() );
+        assertEquals( "match Person 2",
+                      rules[1].getName() );
+        assertEquals( "match Person 3",
+                      rules[2].getName() );
+        assertEquals( "match Integer",
+                      rules[3].getName() );
+
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        workingMemory.setGlobal( "list",
+                                 new ArrayList() );
+
+        final Person bob = new Person( "bob" );
+        workingMemory.insert( bob );
+
+        final byte[] wm = serializeOut( workingMemory );
+
+        workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
+
+        assertEquals( 1,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+        assertEquals( bob,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).get( 0 ) );
+
+        assertEquals( 2,
+                      workingMemory.getAgenda().agendaSize() );
+
+        workingMemory.fireAllRules();
+
+        final List list = (List) workingMemory.getGlobal( "list" );
+
+        assertEquals( 3,
+                      list.size() );
+        // because of agenda-groups
+        assertEquals( new Integer( 4 ),
+                      list.get( 0 ) );
+
+        assertEquals( 2,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+        assertTrue( IteratorToList.convert( workingMemory.iterateObjects() ).contains( bob ) );
+        assertTrue( IteratorToList.convert( workingMemory.iterateObjects() ).contains( new Person( "help" ) ) );
+    }
+
+    public void testMVELSerialization() {
+        String expression = "x";
+        
+        ExpressionCompiler compiler = new ExpressionCompiler( expression );
+        ParserContext ctx = new ParserContext();
+        ctx.addImport( "x", int.class );
+        
+        Serializable result = compiler.compile( ctx );
+        
+        try {
+            byte[] out = serializeOut( result );
+            Serializable in = (Serializable) serializeIn( out );
+            assertNotNull( in );
+        } catch ( Exception e ) {
+            e.printStackTrace();
+            fail( "Should not raise exceptio" );
+        }
+    }
+
+    public void testSerializableCollectAccumulate() throws Exception {
+
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_SerializableCollectAccumulate.drl" ) );
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( reader );
+        final Package pkg = serialisePackage( builder.getPackage() );
+
+        assertEquals( builder.getErrors().toString(),
+                      0,
+                      builder.getErrors().getErrors().length );
+
+        RuleBase ruleBase = getRuleBase();// RuleBaseFactory.newRuleBase();
+
+        ruleBase.addPackage( pkg );
+
+        Map map = new HashMap();
+        map.put( "x",
+                 ruleBase );
+        final byte[] ast = serializeOut( map );
+        map = (Map) serializeIn( ast );
+        ruleBase = (RuleBase) map.get( "x" );
+        final Rule[] rules = ruleBase.getPackages()[0].getRules();
+        assertEquals( 2,
+                      rules.length );
+
+        assertEquals( "collect",
+                      rules[0].getName() );
+        assertEquals( "accumulate",
+                      rules[1].getName() );
+
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        workingMemory.setGlobal( "list",
+                                 new ArrayList() );
+
+        final Person bob = new Person( "bob", "stilton" );
+        final Cheese c1 = new Cheese( "stilton", 10 );
+        final Cheese c2 = new Cheese( "brie", 8 );
+        final Cheese c3 = new Cheese( "stilton", 5 );
+        workingMemory.insert( bob );
+        workingMemory.insert( c1 );
+        workingMemory.insert( c2 );
+        workingMemory.insert( c3 );
+
+        final byte[] wm = serializeOut( workingMemory );
+
+        workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
+
+        assertEquals( 4,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+
+        assertEquals( 2,
+                      workingMemory.getAgenda().agendaSize() );
+
+        workingMemory.fireAllRules();
+
+        final List list = (List) workingMemory.getGlobal( "list" );
+
+        assertEquals( 2,
+                      list.size() );
+        // because of agenda-groups
+        assertEquals( 2,
+                      ((List) list.get( 0 )).size() );
+        assertEquals( 15,
+                      ((Number) list.get( 1 )).intValue() );
+
+    }
+
+    public void testSerializeWorkingMemoryAndRuleBase1() throws Exception {
+        // has the first newStatefulSession before the ruleBase is serialised
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Serializable.drl" ) );
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( reader );
+        final Package pkg = serialisePackage( builder.getPackage() );
+
+        assertEquals( 0,
+                      builder.getErrors().getErrors().length );
+
+        RuleBase ruleBase = getRuleBase();// RuleBaseFactory.newRuleBase();
+
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        Map map = new HashMap();
+        map.put( "x",
+                 ruleBase );
+        final byte[] ast = serializeOut( map );
+        map = (Map) serializeIn( ast );
+        ruleBase = (RuleBase) map.get( "x" );
+
+        final byte[] wm = serializeOut( workingMemory );
+
+        workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
+
+        ruleBase.addPackage( pkg );
+
+        workingMemory.setGlobal( "list",
+                                 new ArrayList() );
+
+        final Person bob = new Person( "bob" );
+        workingMemory.insert( bob );
+
+        final Rule[] rules = ruleBase.getPackages()[0].getRules();
+
+        assertEquals( 4,
+                      rules.length );
+
+        assertEquals( "match Person 1",
+                      rules[0].getName() );
+        assertEquals( "match Person 2",
+                      rules[1].getName() );
+        assertEquals( "match Person 3",
+                      rules[2].getName() );
+        assertEquals( "match Integer",
+                      rules[3].getName() );
+
+        assertEquals( 1,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+        assertEquals( bob,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).get( 0 ) );
+
+        assertEquals( 2,
+                      workingMemory.getAgenda().agendaSize() );
+
+        workingMemory.fireAllRules();
+
+        final List list = (List) workingMemory.getGlobal( "list" );
+
+        assertEquals( 3,
+                      list.size() );
+        // because of agenda-groups
+        assertEquals( new Integer( 4 ),
+                      list.get( 0 ) );
+
+        assertEquals( 2,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+        assertTrue( IteratorToList.convert( workingMemory.iterateObjects() ).contains( bob ) );
+        assertTrue( IteratorToList.convert( workingMemory.iterateObjects() ).contains( new Person( "help" ) ) );
+
+    }
+
+    public void testSerializeWorkingMemoryAndRuleBase2() throws Exception {
+        // has the first newStatefulSession after the ruleBase is serialised
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Serializable.drl" ) );
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( reader );
+        final Package pkg = serialisePackage( builder.getPackage() );
+
+        assertEquals( 0,
+                      builder.getErrors().getErrors().length );
+
+        RuleBase ruleBase = getRuleBase();// RuleBaseFactory.newRuleBase();   
+
+        // serialise a hashmap with the RuleBase as a key
+        Map map = new HashMap();
+        map.put( "x",
+                 ruleBase );
+        final byte[] ast = serializeOut( map );
+        map = (Map) serializeIn( ast );
+        ruleBase = (RuleBase) map.get( "x" );
+
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        // serialise the working memory before population
+        final byte[] wm = serializeOut( workingMemory );
+        workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
+
+        ruleBase.addPackage( pkg );
+
+        workingMemory.setGlobal( "list",
+                                 new ArrayList() );
+
+        final Person bob = new Person( "bob" );
+        workingMemory.insert( bob );
+
+        final Rule[] rules = ruleBase.getPackages()[0].getRules();
+
+        assertEquals( 4,
+                      rules.length );
+
+        assertEquals( "match Person 1",
+                      rules[0].getName() );
+        assertEquals( "match Person 2",
+                      rules[1].getName() );
+        assertEquals( "match Person 3",
+                      rules[2].getName() );
+        assertEquals( "match Integer",
+                      rules[3].getName() );
+
+        assertEquals( 1,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+        assertEquals( bob,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).get( 0 ) );
+
+        assertEquals( 2,
+                      workingMemory.getAgenda().agendaSize() );
+
+        workingMemory.fireAllRules();
+
+        final List list = (List) workingMemory.getGlobal( "list" );
+
+        assertEquals( 3,
+                      list.size() );
+        // because of agenda-groups
+        assertEquals( new Integer( 4 ),
+                      list.get( 0 ) );
+
+        assertEquals( 2,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+        assertTrue( IteratorToList.convert( workingMemory.iterateObjects() ).contains( bob ) );
+        assertTrue( IteratorToList.convert( workingMemory.iterateObjects() ).contains( new Person( "help" ) ) );
+    }
+
+    public void FIXME_testSerializeWorkingMemoryAndRuleBase3() throws Exception {
+        // has the first newStatefulSession after the ruleBase is serialised
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Serializable.drl" ) );
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( reader );
+        final Package pkg = serialisePackage( builder.getPackage() );
+
+        assertEquals( 0,
+                      builder.getErrors().getErrors().length );
+
+        RuleBase ruleBase = getRuleBase();
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        ruleBase.addPackage( pkg );
+
+        workingMemory.setGlobal( "list",
+                                 new ArrayList() );
+
+        final Person bob = new Person( "bob" );
+        workingMemory.insert( bob );
+
+        // serialise a hashmap with the RuleBase as a key, after WM population
+        Map map = new HashMap();
+        map.put( "x",
+                 ruleBase );
+        final byte[] ast = serializeOut( map );
+        map = (Map) serializeIn( ast );
+        ruleBase = (RuleBase) map.get( "x" );
+
+        // now try serialising with a fully populated wm from a serialised rulebase
+        final byte[] wm = serializeOut( workingMemory );
+        workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
+
+        final Rule[] rules = ruleBase.getPackages()[0].getRules();
+
+        assertEquals( 4,
+                      rules.length );
+
+        assertEquals( "match Person 1",
+                      rules[0].getName() );
+        assertEquals( "match Person 2",
+                      rules[1].getName() );
+        assertEquals( "match Person 3",
+                      rules[2].getName() );
+        assertEquals( "match Integer",
+                      rules[3].getName() );
+
+        assertEquals( 1,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+        assertEquals( bob,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).get( 0 ) );
+
+        assertEquals( 2,
+                      workingMemory.getAgenda().agendaSize() );
+
+        workingMemory.fireAllRules();
+
+        final List list = (List) workingMemory.getGlobal( "list" );
+
+        assertEquals( 3,
+                      list.size() );
+        // because of agenda-groups
+        assertEquals( new Integer( 4 ),
+                      list.get( 0 ) );
+
+        assertEquals( 2,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+        assertTrue( IteratorToList.convert( workingMemory.iterateObjects() ).contains( bob ) );
+        assertTrue( IteratorToList.convert( workingMemory.iterateObjects() ).contains( new Person( "help" ) ) );
+    }
+
+    public void testSerializeAdd() throws Exception {
+
+        //Create a rulebase, a session, and test it
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ) );
+        Package pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+
+        StatefulSession session = ruleBase.newStatefulSession();
+        List list = new ArrayList();
+        session.setGlobal( "list",
+                           list );
+
+        InternalFactHandle stilton = (InternalFactHandle) session.insert( new Cheese( "stilton",
+                                                                                      10 ) );
+        InternalFactHandle brie = (InternalFactHandle) session.insert( new Cheese( "brie",
+                                                                                   10 ) );
+        session.fireAllRules();
+
+        assertEquals( list.size(),
+                      1 );
+        assertEquals( "stilton",
+                      list.get( 0 ) );
+
+        byte[] serializedSession = serializeOut( session );
+        session.dispose();
+
+        byte[] serializedRulebase = serializeOut( ruleBase );
+
+        // now recreate the rulebase, deserialize the session and test it
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        list = (List) session.getGlobal( "list" );
+
+        assertNotNull( list );
+        assertEquals( list.size(),
+                      1 );
+        assertEquals( "stilton",
+                      list.get( 0 ) );
+
+        builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3.drl" ) ) );
+        pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+
+        InternalFactHandle stilton2 = (InternalFactHandle) session.insert( new Cheese( "stilton",
+                                                                                       10 ) );
+        InternalFactHandle brie2 = (InternalFactHandle) session.insert( new Cheese( "brie",
+                                                                                    10 ) );
+        InternalFactHandle bob = (InternalFactHandle) session.insert( new Person( "bob",
+                                                                                  30 ) );
+        session.fireAllRules();
+
+        assertEquals( list.size(),
+                      3 );
+        assertEquals( bob.getObject(),
+                      list.get( 1 ) );
+        assertEquals( "stilton",
+                      list.get( 2 ) );
+
+        session.dispose();
+
+    }
+
+    public void testSerializationOfIndexedWM() throws Exception {
+        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Serializable2.drl" ) );
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( reader );
+        final Package pkg = builder.getPackage();
+
+        assertEquals( builder.getErrors().toString(),
+                      0,
+                      builder.getErrors().getErrors().length );
+
+        RuleBase ruleBase = getRuleBase();// RuleBaseFactory.newRuleBase();
+
+        ruleBase.addPackage( pkg );
+
+        Map map = new HashMap();
+        map.put( "x",
+                 ruleBase );
+        final byte[] ast = serializeOut( map );
+        map = (Map) serializeIn( ast );
+        ruleBase = (RuleBase) map.get( "x" );
+        final Rule[] rules = ruleBase.getPackages()[0].getRules();
+        assertEquals( 3,
+                      rules.length );
+
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        workingMemory.setGlobal( "list",
+                                 new ArrayList() );
+
+        final Primitives p = new Primitives();
+        p.setBytePrimitive( (byte) 1 );
+        p.setShortPrimitive( (short) 2 );
+        p.setIntPrimitive( (int) 3 );
+        workingMemory.insert( p );
+
+        final byte[] wm = serializeOut( workingMemory );
+
+        workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
+
+        assertEquals( 1,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+        assertEquals( p,
+                      IteratorToList.convert( workingMemory.iterateObjects() ).get( 0 ) );
+
+        assertEquals( 3,
+                      workingMemory.getAgenda().agendaSize() );
+
+        workingMemory.fireAllRules();
+
+        final List list = (List) workingMemory.getGlobal( "list" );
+
+        assertEquals( 3,
+                      list.size() );
+        // because of agenda-groups
+        assertEquals( "1",
+                      list.get( 0 ) );
+        assertEquals( "2",
+                      list.get( 1 ) );
+        assertEquals( "3",
+                      list.get( 2 ) );
+
+    }
+
+    /*
+     *  Here I am inserting data points which are not used by any rule (e.g Person).
+     *  Later adding rule (e.g. Rule: 'match Person') for those data points.
+     *  
+     *  Result: Pkg/Rule addition is failing with ClassCastException
+     */
+    public void testSerializeAdd2() throws Exception {
+
+        //Create a rulebase, a session, and test it
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1_0.drl" ) ) );
+        Package pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+
+        List results = new ArrayList();
+        StatefulSession session = ruleBase.newStatefulSession();
+        session.setGlobal( "results",
+                           results );
+
+        InternalFactHandle stilton1 = (InternalFactHandle) session.insert( new Cheese( "stilton",
+                                                                                       10 ) );
+        session.insert( new Cheese( "brie",
+                                    10 ) );
+        InternalFactHandle bob = (InternalFactHandle) session.insert( new Person( "bob",
+                                                                                  10 ) );
+
+        // fire rules
+        session.fireAllRules();
+        // check the results are correct
+        assertEquals( 1,
+                      results.size() );
+        assertEquals( stilton1.getObject(),
+                      results.get( 0 ) );
+
+        // serialize session and rulebase out
+        byte[] serializedSession = serializeOut( session );
+        byte[] serializedRulebase = serializeOut( ruleBase );
+        session.dispose();
+
+        // now deserialize the rulebase, deserialize the session and test it
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+
+        // dynamically add a new package
+        builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3_0.drl" ) ) );
+        pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+
+        InternalFactHandle stilton2 = (InternalFactHandle) session.insert( new Cheese( "stilton",
+                                                                                       20 ) );
+        session.insert( new Cheese( "brie",
+                                    20 ) );
+        InternalFactHandle mark = (InternalFactHandle) session.insert( new Person( "mark",
+                                                                                   20 ) );
+        session.fireAllRules();
+
+        results = (List) session.getGlobal( "results" );
+        assertEquals( 4,
+                      results.size() );
+        assertEquals( bob.getObject(),
+                      results.get( 1 ) );
+        assertEquals( stilton2.getObject(),
+                      results.get( 2 ) );
+        assertEquals( mark.getObject(),
+                      results.get( 3 ) );
+
+        serializedSession = null;
+        serializedRulebase = null;
+
+        serializedSession = serializeOut( session );
+        serializedRulebase = serializeOut( ruleBase );
+
+        // dispose session
+        session.dispose();
+
+    }
+
+    /*
+     *  Here I am inserting data points(e.g. Cheese) with  'stilton' / 'brie' as type value.
+     *  Initially I had only 1 rule ('like stilton') for data points(e.g. Cheese) having type as 'stilton'.
+     *
+     *  Later added new rule ('like brie')  for data points(e.g. Cheese) having type as 'brie'. 
+     *  
+     *  Result: new rule is not getting fired for new data points having type as 'brie'.
+     *          Only for old data points having type as 'brie' the new rule got fired.
+     */
+    public void testSerializeAdd_newRuleNotFiredForNewData() throws Exception {
+        //Create a rulebase, a session, and test it
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1_0.drl" ) ) );
+        Package pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+
+        List results = new ArrayList();
+        StatefulSession session = ruleBase.newStatefulSession();
+        session.setGlobal( "results",
+                           results );
+
+        InternalFactHandle stilton1 = (InternalFactHandle) session.insert( new Cheese( "stilton",
+                                                                                       10 ) );
+        InternalFactHandle brie1 = (InternalFactHandle) session.insert( new Cheese( "brie",
+                                                                                    10 ) );
+        session.fireAllRules();
+
+        byte[] serializedSession = serializeOut( session );
+        byte[] serializedRulebase = serializeOut( ruleBase );
+
+        session.dispose();
+
+        assertEquals( 1,
+                      results.size() );
+        assertEquals( stilton1.getObject(),
+                      results.get( 0 ) );
+
+        // now recreate the rulebase, deserialize the session and test it
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        results = (List) session.getGlobal( "results" );
+
+        builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1_1.drl" ) ) );
+        pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+        
+        InternalFactHandle stilton2 = (InternalFactHandle) session.insert( new Cheese( "stilton",
+                                    20 ) );
+        InternalFactHandle brie2 = (InternalFactHandle) session.insert( new Cheese( "brie",
+                                    20 ) );
+        InternalFactHandle brie3 = (InternalFactHandle) session.insert( new Cheese( "brie",
+                                    30 ) );
+        session.fireAllRules();
+        assertEquals( 5,
+                      results.size() );
+        assertEquals( brie1.getObject(),
+                      results.get( 1 ) );
+        assertEquals( stilton2.getObject(),
+                      results.get( 2 ) );
+        assertEquals( brie2.getObject(),
+                      results.get( 4 ) );
+        assertEquals( brie3.getObject(),
+                      results.get( 3 ) );
+
+        serializedSession = null;
+        serializedRulebase = null;
+
+        serializedSession = serializeOut( session );
+        serializedRulebase = serializeOut( ruleBase );
+
+        session.dispose();
+    }
+
+    /*
+     *  Works Fine if both the scenarios mentioned above are skipped. 
+     */
+    public void testSerializeAdd3() throws Exception {
+        //Create a rulebase, a session, and test it
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase( );
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1_0.drl" ) ) );
+        Package pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+        
+        List results = new ArrayList();
+        StatefulSession session = ruleBase.newStatefulSession();
+        session.setGlobal( "results",
+                           results );
+
+        InternalFactHandle stilton1 = (InternalFactHandle) session.insert( new Cheese( "stilton",
+                                                                                       10 ) );
+        InternalFactHandle brie1 = (InternalFactHandle) session.insert( new Cheese( "brie",
+                                                                                    10 ) );
+        session.fireAllRules();
+
+        byte[] serializedSession = serializeOut( session );
+        byte[] serializedRulebase = serializeOut( ruleBase );
+
+        session.dispose();
+
+        assertEquals( 1,
+                      results.size() );
+        assertEquals( stilton1.getObject(),
+                      results.get( 0 ) );
+
+        // now recreate the rulebase, deserialize the session and test it
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        results = (List) session.getGlobal( "results" );
+        
+        builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3_0.drl" ) ) );
+        pkg = serialisePackage( builder.getPackage() );
+        
+        ruleBase.addPackage( pkg );
+        
+        InternalFactHandle stilton2 = (InternalFactHandle) session.insert( new Cheese( "stilton", 20 ) );
+        InternalFactHandle brie2 = (InternalFactHandle) session.insert( new Cheese( "brie", 20 ) );
+        InternalFactHandle bob1 = (InternalFactHandle) session.insert( new Person( "bob", 20 ) );
+        InternalFactHandle bob2 = (InternalFactHandle) session.insert( new Person( "bob", 30 ) );
+        session.fireAllRules();
+ 
+        assertEquals( 4,
+                      results.size() );
+        assertEquals( stilton2.getObject(),
+                      results.get( 1 ) );
+        assertEquals( bob2.getObject(),
+                      results.get( 2 ) );
+        assertEquals( bob1.getObject(),
+                      results.get( 3 ) );
+
+        serializedSession = null;
+        serializedRulebase = null;
+        
+        serializedSession = serializeOut( session );
+        serializedRulebase = serializeOut( ruleBase );
+        
+        session.dispose();
+        
+        // now recreate the rulebase, deserialize the session and test it
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        results = (List) session.getGlobal( "results" );
+        
+        builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1_2.drl" ) ) );
+        pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+        
+        InternalFactHandle stilton3 = (InternalFactHandle) session.insert( new Cheese( "stilton", 40 ) );
+        InternalFactHandle brie3 = (InternalFactHandle) session.insert( new Cheese( "brie", 40 ) );
+        InternalFactHandle bob3 = (InternalFactHandle) session.insert( new Person( "bob", 40 ) );
+        InternalFactHandle bob4 = (InternalFactHandle) session.insert( new Person( "bob", 40 ) );
+        InternalFactHandle addr1 = (InternalFactHandle) session.insert( new Address( "bangalore" ) );
+        InternalFactHandle addr2 = (InternalFactHandle) session.insert( new Address( "India" ) );
+        
+        session.fireAllRules();
+ 
+        assertEquals( 9,
+                      results.size() );
+        assertEquals( stilton3.getObject(),
+                      results.get( 4 ) );
+        assertEquals( bob4.getObject(),
+                      results.get( 5 ) );
+        assertEquals( bob3.getObject(),
+                      results.get( 6 ) );
+        assertEquals( addr2.getObject(),
+                      results.get( 7 ) );
+        assertEquals( addr1.getObject(),
+                      results.get( 8 ) );
+
+        serializedSession = null;
+        serializedRulebase = null;
+        
+        serializedSession = serializeOut( session );
+        serializedRulebase = serializeOut( ruleBase );
+        
+        session.dispose();
+        
+        // now recreate the rulebase, deserialize the session and test it
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        results = (List) session.getGlobal( "results" );
+        
+        InternalFactHandle stilton4 = (InternalFactHandle) session.insert( new Cheese( "stilton", 50 ) );
+        InternalFactHandle brie4 = (InternalFactHandle) session.insert( new Cheese( "brie", 50 ) );
+        InternalFactHandle bob5 = (InternalFactHandle) session.insert( new Person( "bob", 50 ) );
+        InternalFactHandle bob6 = (InternalFactHandle) session.insert( new Person( "bob", 50 ) );
+        InternalFactHandle addr3 = (InternalFactHandle) session.insert( new Address( "Tripura" ) );
+        InternalFactHandle addr4 = (InternalFactHandle) session.insert( new Address( "Agartala" ) );
+        
+        session.fireAllRules();
+ 
+        assertEquals( 14,
+                      results.size() );
+        assertEquals( stilton4.getObject(),
+                      results.get( 9 ) );
+        assertEquals( bob6.getObject(),
+                      results.get( 10 ) );
+        assertEquals( bob5.getObject(),
+                      results.get( 11 ) );
+        assertEquals( addr4.getObject(),
+                      results.get( 12 ) );
+        assertEquals( addr3.getObject(),
+                      results.get( 13 ) );
+
+        serializedSession = null;
+        serializedRulebase = null;
+        
+        serializedSession = serializeOut( session );
+        serializedRulebase = serializeOut( ruleBase );
+        
+        session.dispose();
+       
+    }
+    
+    /*
+     * I have tried both the scenarios
+     * 1. Remove a rule from a pkg.
+     * 2. Remove a pkg
+     * 
+     * But both cases after inserting associated data points (i.e data points which are used to fire/activate the removed rule)
+     * session.fireAllRules() is throwing NoClassDefFoundError
+     * 
+     */
+    public void testSerializeAddRemove_NoClassDefFoundError() throws Exception {
+
+        //Create a rulebase, a session, and test it
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase( );
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1_0.drl" ) ) );
+        Package pkg = serialisePackage( builder.getPackage() );
+        ruleBase.addPackage( pkg );
+        
+        List results = new ArrayList();
+        StatefulSession session = ruleBase.newStatefulSession();
+        session.setGlobal( "results",
+                           results );
+
+        InternalFactHandle stilton1 = (InternalFactHandle) session.insert( new Cheese( "stilton",
+                                                                                       10 ) );
+        InternalFactHandle brie1 = (InternalFactHandle) session.insert( new Cheese( "brie",
+                                                                                    10 ) );
+        session.fireAllRules();
+
+        byte[] serializedSession = serializeOut( session );
+        byte[] serializedRulebase = serializeOut( ruleBase );
+
+        session.dispose();
+
+        assertEquals( 1,
+                      results.size() );
+        assertEquals( stilton1.getObject(),
+                      results.get( 0 ) );
+
+        // now recreate the rulebase, deserialize the session and test it
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        results = (List) session.getGlobal( "results" );
+        
+        builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic3_0.drl" ) ) );
+        pkg = serialisePackage( builder.getPackage() );
+        
+        ruleBase.addPackage( pkg );
+        
+        InternalFactHandle stilton2 = (InternalFactHandle) session.insert( new Cheese( "stilton", 20 ) );
+        InternalFactHandle brie2 = (InternalFactHandle) session.insert( new Cheese( "brie", 20 ) );
+        InternalFactHandle bob1 = (InternalFactHandle) session.insert( new Person( "bob", 20 ) );
+        InternalFactHandle bob2 = (InternalFactHandle) session.insert( new Person( "bob", 30 ) );
+        session.fireAllRules();
+ 
+        assertEquals( 4,
+                      results.size() );
+        assertEquals( stilton2.getObject(),
+                      results.get( 1 ) );
+        assertEquals( bob2.getObject(),
+                      results.get( 2 ) );
+        assertEquals( bob1.getObject(),
+                      results.get( 3 ) );
+
+        serializedSession = null;
+        serializedRulebase = null;
+        
+        serializedSession = serializeOut( session );
+        serializedRulebase = serializeOut( ruleBase );
+        
+        session.dispose();
+        
+        // now recreate the rulebase, deserialize the session and test it
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        results = (List) session.getGlobal( "results" );
+       
+        // CASE 1: remove rule
+        ruleBase.removeRule("org.drools.test", "like stilton");
+        
+        InternalFactHandle stilton3 = (InternalFactHandle) session.insert( new Cheese( "stilton", 20 ) );
+        InternalFactHandle brie3 = (InternalFactHandle) session.insert( new Cheese( "brie", 20 ) );
+        InternalFactHandle bob3 = (InternalFactHandle) session.insert( new Person( "bob", 20 ) );
+        InternalFactHandle bob4 = (InternalFactHandle) session.insert( new Person( "bob", 30 ) );
+        session.fireAllRules();
+ 
+        assertEquals( 6,
+                      results.size() );
+        assertEquals( bob4.getObject(),
+                      results.get( 4 ) );
+        assertEquals( bob3.getObject(),
+                      results.get( 5 ) );
+
+
+        // now recreate the rulebase, deserialize the session and test it
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );
+        results = (List) session.getGlobal( "results" );
+       
+        // CASE 2: remove pkg
+        ruleBase.removePackage("org.drools.test");
+        
+        InternalFactHandle stilton4 = (InternalFactHandle) session.insert( new Cheese( "stilton", 20 ) );
+        InternalFactHandle brie4 = (InternalFactHandle) session.insert( new Cheese( "brie", 20 ) );
+        InternalFactHandle bob5 = (InternalFactHandle) session.insert( new Person( "bob", 20 ) );
+        InternalFactHandle bob6 = (InternalFactHandle) session.insert( new Person( "bob", 30 ) );
+        session.fireAllRules();
+ 
+        assertEquals( 6,
+                      results.size() );
+        assertEquals( bob6.getObject(),
+                      results.get( 4 ) );
+        assertEquals( bob5.getObject(),
+                      results.get( 5 ) );
+        
+        serializedSession = null;
+        serializedRulebase = null;
+        
+        // Now serialize rulebase and session again
+        serializedRulebase = serializeOut( ruleBase );
+        serializedSession = serializeOut( session );
+        
+        session.dispose();
+
+        // Deserialize the rulebase and the session 
+        ruleBase = (RuleBase) serializeIn( serializedRulebase );
+        session = ruleBase.newStatefulSession( new ByteArrayInputStream( serializedSession ) );    //  throws java.lang.ClassNotFoundException Exception
+        results = (List) session.getGlobal( "results" );
+             
+        InternalFactHandle stilton5 = (InternalFactHandle) session.insert( new Cheese( "stilton", 30 ) );
+        InternalFactHandle brie5 = (InternalFactHandle) session.insert( new Cheese( "brie", 30 ) );
+        InternalFactHandle bob7 = (InternalFactHandle) session.insert( new Person( "bob", 30 ) );
+        InternalFactHandle bob8 = (InternalFactHandle) session.insert( new Person( "bob", 40 ) );
+        session.fireAllRules();
+ 
+        assertEquals( 8,
+                      results.size() );
+        assertEquals( bob8.getObject(),
+                      results.get( 6 ) );
+        assertEquals( bob7.getObject(),
+                      results.get( 7 ) );
+       
+        serializedSession = null;
+        serializedRulebase = null;
+       
+        serializedSession = serializeOut( session );
+        serializedRulebase = serializeOut( ruleBase );
+       
+        session.dispose();        
+       
+    }
+    
+    protected RuleBase getRuleBase() throws Exception {
+
+        return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
+                                            null );
+    }
+
+    protected RuleBase getRuleBase(final RuleBaseConfiguration config) throws Exception {
+
+        return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
+                                            config );
+    }
+
+    protected Package serialisePackage(Package pkg) {
+        try {
+            byte[] bytes = serializeOut( pkg );
+            return (Package) serializeIn( bytes );
+        } catch ( Exception e ) {
+            throw new RuntimeException( "trouble serialising package.",
+                                        e );
+        }
+    }
+
+    protected Object serializeIn(final byte[] bytes) throws IOException,
+                                                    ClassNotFoundException {
+        final ObjectInput in = new ObjectInputStream( new ByteArrayInputStream( bytes ) );
+        final Object obj = in.readObject();
+        in.close();
+        return obj;
+    }
+
+    protected byte[] serializeOut(final Object obj) throws IOException {
+        // Serialize to a byte array
+        final ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        final ObjectOutput out = new ObjectOutputStream( bos );
+        out.writeObject( obj );
+        out.close();
+
+        // Get the bytes of the serialized object
+        final byte[] bytes = bos.toByteArray();
+        return bytes;
+    }
+}

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -18,6 +18,7 @@
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
+import java.io.File;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.ObjectInput;
@@ -27,6 +28,7 @@
 import java.io.Reader;
 import java.io.StringReader;
 import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -42,8 +44,13 @@
 import org.drools.Attribute;
 import org.drools.Cell;
 import org.drools.Cheese;
+import org.drools.CheeseEqual;
 import org.drools.Cheesery;
 import org.drools.Child;
+import org.drools.DomainObjectHolder;
+import org.drools.FactA;
+import org.drools.FactB;
+import org.drools.FactC;
 import org.drools.FactHandle;
 import org.drools.FirstClass;
 import org.drools.FromTestClass;
@@ -75,8 +82,10 @@
 import org.drools.WorkingMemory;
 import org.drools.Cheesery.Maturity;
 import org.drools.audit.WorkingMemoryFileLogger;
+import org.drools.audit.WorkingMemoryInMemoryLogger;
 import org.drools.base.ClassObjectFilter;
 import org.drools.common.AbstractWorkingMemory;
+import org.drools.common.InternalFactHandle;
 import org.drools.compiler.DrlParser;
 import org.drools.compiler.DroolsError;
 import org.drools.compiler.DroolsParserException;
@@ -105,14 +114,12 @@
 import org.drools.lang.descr.RuleDescr;
 import org.drools.rule.InvalidRulePackage;
 import org.drools.rule.Package;
-import org.drools.rule.Rule;
 import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
 import org.drools.spi.Activation;
 import org.drools.spi.ConsequenceExceptionHandler;
 import org.drools.spi.GlobalResolver;
 import org.drools.xml.XmlDumper;
 
-
 /** Run all the tests with the ReteOO engine implementation */
 public class MiscTest extends TestCase {
 
@@ -231,7 +238,8 @@
 
         workingMemory.fireAllRules();
 
-        assertEquals(1, list.size() );
+        assertEquals( 1,
+                      list.size() );
 
         assertEquals( new Integer( 5 ),
                       list.get( 0 ) );
@@ -268,14 +276,15 @@
 
         } );
 
-        Cheese bree = new Cheese ();
+        Cheese bree = new Cheese();
         bree.setPrice( 100 );
 
         workingMemory.insert( bree );
 
         workingMemory.fireAllRules();
 
-        assertEquals(2, list.size() );
+        assertEquals( 2,
+                      list.size() );
 
         assertEquals( new Integer( 5 ),
                       list.get( 0 ) );
@@ -284,7 +293,6 @@
                       list.get( 1 ) );
     }
 
-
     public void testFieldBiningsAndEvalSharing() throws Exception {
         final String drl = "test_FieldBindingsAndEvalSharing.drl";
         evalSharingTest( drl );
@@ -412,14 +420,17 @@
 
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
         List list = new ArrayList();
-        workingMemory.setGlobal("list", list);
+        workingMemory.setGlobal( "list",
+                                 list );
 
-        workingMemory.insert(new Attribute());
-        workingMemory.insert(new Message());
+        workingMemory.insert( new Attribute() );
+        workingMemory.insert( new Message() );
         workingMemory.fireAllRules();
 
-        assertEquals(1, list.size());
-        assertEquals("X", list.get(0));
+        assertEquals( 1,
+                      list.size() );
+        assertEquals( "X",
+                      list.get( 0 ) );
 
     }
 
@@ -684,6 +695,128 @@
                       list.size() );
     }
 
+    // @FIXME
+    public void FIXME_testBigDecimalWithFromAndEval() throws Exception {
+        String rule = "package org.test;\n";
+        rule += "rule \"Test Rule\"\n";
+        rule += "when\n";
+        rule += "    $dec : java.math.BigDecimal() from java.math.BigDecimal.TEN;\n";
+        rule += "    eval( $dec.compareTo(java.math.BigDecimal.ONE) > 0 )\n";
+        rule += "then\n";
+        rule += "    System.out.println(\"OK!\");\n";
+        rule += "end";
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new StringReader( rule ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final StatefulSession session = ruleBase.newStatefulSession();
+        session.fireAllRules();
+
+    }
+
+    public void testMVELConsequenceWithMapsAndArrays() throws Exception {
+        String rule = "package org.test;\n";
+        rule += "import java.util.ArrayList\n";
+        rule += "import java.util.HashMap\n";
+        rule += "global java.util.List list\n";
+        rule += "rule \"Test Rule\"\n";
+        rule += "    dialect \"mvel\"";
+        rule += "when\n";
+        rule += "then\n";
+        rule += "    m = new HashMap();\n";
+        rule += "    l = new ArrayList();\n";
+        rule += "    l.add(\"first\");\n";
+        rule += "    m.put(\"content\", l);\n";
+        rule += "    System.out.println(m[\"content\"][0]);\n";
+        rule += "    list.add(m[\"content\"][0]);\n";
+        rule += "end";
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new StringReader( rule ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final StatefulSession session = ruleBase.newStatefulSession();
+        List list = new ArrayList();
+        session.setGlobal( "list",
+                           list );
+        session.fireAllRules();
+
+        assertEquals( 1,
+                      list.size() );
+        assertEquals( "first",
+                      list.get( 0 ) );
+    }
+
+    /* @see JBRULES-1484 */
+    public void testMVELDynamicImports() throws Exception {
+        String rule = "package org.xxx;\n";
+
+        rule += "import org.drools.*\n";
+
+        rule += "global java.util.List list\n";
+        rule += "rule \"Test Rule\"\n";
+        rule += "    dialect \"mvel\"";
+        rule += "when\n";
+        rule += "then\n";
+        rule += "    p = new Person( \"diablo\", new Cheese (\"cheddar\") );";
+        rule += "    c = new Cheese( \"y\" );";
+        rule += "    list.add( p );\n";
+        rule += "end";
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new StringReader( rule ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final StatefulSession session = ruleBase.newStatefulSession();
+        List list = new ArrayList();
+        session.setGlobal( "list",
+                           list );
+        session.fireAllRules();
+
+        assertEquals( 1,
+                      list.size() );
+
+        Person p = new Person( "diablo",
+                               new Cheese( "cheddar" ) );
+
+        assertEquals( p,
+                      list.get( 0 ) );
+    }
+
+    public void testBigDecimalIntegerLiteral() throws Exception {
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "big_decimal_and_literal.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal( "list",
+                                 list );
+
+        final PersonInterface bill = new Person( "bill",
+                                                 null,
+                                                 12 );
+        bill.setBigDecimal( new BigDecimal( "42" ) );
+        bill.setBigInteger( new BigInteger( "42" ) );
+
+        workingMemory.insert( bill );
+        workingMemory.fireAllRules();
+
+        assertEquals( 6,
+                      list.size() );
+    }
+
     public void testCell() throws Exception {
         final Cell cell1 = new Cell( 9 );
         final Cell cell = new Cell( 0 );
@@ -1163,6 +1296,49 @@
         pkg.checkValidity();
     }
 
+    /**
+     * @see JBRULES-1415 Certain uses of from causes NullPointerException in WorkingMemoryLogger
+     */
+    public void testFromDeclarationWithWorkingMemoryLogger() throws Exception {
+        String rule = "package org.test;\n";
+        rule += "import org.drools.Cheesery\n";
+        rule += "import org.drools.Cheese\n";
+        rule += "global java.util.List list\n";
+        rule += "rule \"Test Rule\"\n";
+        rule += "when\n";
+        rule += "    $cheesery : Cheesery()\n";
+        rule += "    Cheese( $type : type) from $cheesery.cheeses\n";
+        rule += "then\n";
+        rule += "    list.add( $type );\n";
+        rule += "end";
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new StringReader( rule ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final StatefulSession session = ruleBase.newStatefulSession();
+
+        WorkingMemoryInMemoryLogger logger = new WorkingMemoryInMemoryLogger( session );
+        List list = new ArrayList();
+        session.setGlobal( "list",
+                           list );
+
+        Cheesery cheesery = new Cheesery();
+        cheesery.addCheese( new Cheese( "stilton",
+                                        22 ) );
+
+        session.insert( cheesery );
+
+        session.fireAllRules();
+
+        assertEquals( 1,
+                      list.size() );
+        assertEquals( "stilton",
+                      list.get( 0 ) );
+    }
+
     public void testWithInvalidRule() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "invalid_rule.drl" ) ) );
@@ -1721,11 +1897,11 @@
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         // Adding person with null name and likes attributes
-        final PersonInterface bob = new Person( null,
-                                                null );
+        final PersonInterface bob = new Person( (String) null,
+                                                (String) null );
         bob.setStatus( "P1" );
-        final PersonInterface pete = new Person( null,
-                                                 null );
+        final PersonInterface pete = new Person( (String) null,
+                                                 (String) null );
         bob.setStatus( "P2" );
         workingMemory.insert( bob );
         workingMemory.insert( pete );
@@ -1741,76 +1917,6 @@
 
     }
 
-    public void testSerializable() throws Exception {
-
-        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_Serializable.drl" ) );
-
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( reader );
-        final Package pkg = builder.getPackage();
-
-        assertEquals( 0,
-                      builder.getErrors().getErrors().length );
-
-        RuleBase ruleBase = getRuleBase();// RuleBaseFactory.newRuleBase();
-
-        ruleBase.addPackage( pkg );
-
-        Map map = new HashMap();
-        map.put( "x",
-                 ruleBase );
-        final byte[] ast = serializeOut( map );
-        map = (Map) serializeIn( ast );
-        ruleBase = (RuleBase) map.get( "x" );
-        final Rule[] rules = ruleBase.getPackages()[0].getRules();
-        assertEquals( 4,
-                      rules.length );
-
-        assertEquals( "match Person 1",
-                      rules[0].getName() );
-        assertEquals( "match Person 2",
-                      rules[1].getName() );
-        assertEquals( "match Person 3",
-                      rules[2].getName() );
-        assertEquals( "match Integer",
-                      rules[3].getName() );
-
-        WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
-        workingMemory.setGlobal( "list",
-                                 new ArrayList() );
-
-        final Person bob = new Person( "bob" );
-        workingMemory.insert( bob );
-
-        final byte[] wm = serializeOut( workingMemory );
-
-        workingMemory = ruleBase.newStatefulSession( new ByteArrayInputStream( wm ) );
-
-        assertEquals( 1,
-                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
-        assertEquals( bob,
-                      IteratorToList.convert( workingMemory.iterateObjects() ).get( 0 ) );
-
-        assertEquals( 2,
-                      workingMemory.getAgenda().agendaSize() );
-
-        workingMemory.fireAllRules();
-
-        final List list = (List) workingMemory.getGlobal( "list" );
-
-        assertEquals( 3,
-                      list.size() );
-        // because of agenda-groups
-        assertEquals( new Integer( 4 ),
-                      list.get( 0 ) );
-
-        assertEquals( 2,
-                      IteratorToList.convert( workingMemory.iterateObjects() ).size() );
-        assertTrue( IteratorToList.convert( workingMemory.iterateObjects() ).contains( bob ) );
-        assertTrue( IteratorToList.convert( workingMemory.iterateObjects() ).contains( new Person( "help" ) ) );
-    }
-
     public void testEmptyRule() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EmptyRule.drl" ) ) );
@@ -3013,7 +3119,7 @@
         chili2.setAge( 38 );
         chili2.setHair( "indigigo" );
 
-        final Person oldChili1 = new Person( "old chili2" );
+        final Person oldChili1 = new Person( "old chili1" );
         oldChili1.setAge( 45 );
         oldChili1.setHair( "green" );
 
@@ -3045,7 +3151,6 @@
                       results.get( 2 ) );
         assertEquals( veryold,
                       results.get( 3 ) );
-
     }
 
     public void testMatchesNotMatchesCheese() throws Exception {
@@ -3065,6 +3170,8 @@
                                            12 );
         final Cheese stilton2 = new Cheese( "stilton2",
                                             12 );
+        final Cheese agedStilton = new Cheese( "aged stilton",
+                                               12 );
         final Cheese brie = new Cheese( "brie",
                                         10 );
         final Cheese brie2 = new Cheese( "brie2",
@@ -3073,24 +3180,60 @@
                                               10 );
         final Cheese muzzarella2 = new Cheese( "muzzarella2",
                                                10 );
+        final Cheese provolone = new Cheese( "provolone",
+                                             10 );
+        final Cheese provolone2 = new Cheese( "another cheese (provolone)",
+                                              10 );
         workingMemory.insert( stilton );
         workingMemory.insert( stilton2 );
+        workingMemory.insert( agedStilton );
         workingMemory.insert( brie );
         workingMemory.insert( brie2 );
         workingMemory.insert( muzzarella );
         workingMemory.insert( muzzarella2 );
+        workingMemory.insert( provolone );
+        workingMemory.insert( provolone2 );
 
         workingMemory.fireAllRules();
 
-        assertEquals( 2,
+        System.out.println( list.toString() );
+        assertEquals( 4,
                       list.size() );
 
         assertEquals( stilton,
                       list.get( 0 ) );
         assertEquals( brie,
                       list.get( 1 ) );
+        assertEquals( agedStilton,
+                      list.get( 2 ) );
+        assertEquals( provolone,
+                      list.get( 3 ) );
     }
 
+    public void testMatchesMVEL() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MatchesMVEL.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final StatefulSession session = ruleBase.newStatefulSession();
+
+        final List results = new ArrayList();
+        session.setGlobal( "results",
+                           results );
+
+        Map map = new HashMap();
+        map.put( "content",
+                 "hello ;=" );
+        session.insert( map );
+
+        session.fireAllRules();
+
+        assertEquals( 1,
+                      results.size() );
+    }
+
     public void testAutomaticBindings() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AutoBindings.drl" ) ) );
@@ -3562,6 +3705,30 @@
         }
     }
 
+    public void testMergePackageWithSameRuleNames() throws Exception {
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MergePackageWithSameRuleNames1.drl" ) ) );
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( builder.getPackage() );
+
+        builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MergePackageWithSameRuleNames2.drl" ) ) );
+        ruleBase.addPackage( builder.getPackage() );
+
+        StatefulSession session = ruleBase.newStatefulSession();
+        final List results = new ArrayList();
+        session.setGlobal( "results",
+                           results );
+
+        session.fireAllRules();
+
+        assertEquals( 1,
+                      results.size() );
+
+        assertEquals( "rule1 for the package2",
+                      results.get( 0 ) );
+    }
+
     public void testRuleReplacement() throws Exception {
         // test rule replacement
         try {
@@ -3867,7 +4034,7 @@
         session.insert( first42 );
         session.insert( second43 );
 
-        //System.out.println( "Firing rules ..." );
+        // System.out.println( "Firing rules ..." );
 
         session.fireAllRules();
 
@@ -3974,7 +4141,8 @@
         builder.addPackageFromDrl( new StringReader( rule ) );
         pkg = builder.getPackage();
 
-        // Make sure that this rule is fired as the Package is updated, it also tests that InitialFactImpl is still in the network
+        // Make sure that this rule is fired as the Package is updated, it also
+        // tests that InitialFactImpl is still in the network
         // even though the first rule didn't use it.
         ruleBase.addPackage( pkg );
 
@@ -4255,7 +4423,7 @@
 
             wm.fireAllRules();
 
-            //            logger.writeToDisk();
+            // logger.writeToDisk();
         } catch ( Exception e ) {
             e.printStackTrace();
             fail( "No exception should be raised " );
@@ -4298,6 +4466,34 @@
                     list.get( 0 ) );
     }
 
+    public void testFromArrayIteration() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FromArrayIteration.drl" ) ) );
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( builder.getPackage() );
+
+        final WorkingMemory session = ruleBase.newStatefulSession();
+        List list = new ArrayList();
+
+        session.setGlobal( "list",
+                           list );
+        session.insert( new DomainObjectHolder() );
+
+        session.fireAllRules();
+
+        assertEquals( 3,
+                      list.size() );
+
+        assertEquals( "Message3",
+                      list.get( 0 ) );
+        assertEquals( "Message2",
+                      list.get( 1 ) );
+        assertEquals( "Message1",
+                      list.get( 2 ) );
+
+    }
+
     public void testSubNetworks() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_SubNetworks.drl" ) ) );
@@ -4337,14 +4533,16 @@
         assertEquals( 1,
                       list.size() );
 
-        // Dynamic addition of rules which use the final class are not supported yet
-        //        final PackageBuilder builder2 = new PackageBuilder();
-        //        builder2.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FinalClass2.drl" ) ) );
-        //        ruleBase.addPackage( builder2.getPackage() );
+        // Dynamic addition of rules which use the final class are not supported
+        // yet
+        // final PackageBuilder builder2 = new PackageBuilder();
+        // builder2.addPackageFromDrl( new InputStreamReader(
+        // getClass().getResourceAsStream( "test_FinalClass2.drl" ) ) );
+        // ruleBase.addPackage( builder2.getPackage() );
         //
-        //        // it will automatically fire the rule
-        //        assertEquals( 2,
-        //                      list.size() );
+        // // it will automatically fire the rule
+        // assertEquals( 2,
+        // list.size() );
     }
 
     public void testEvalRewriteMatches() throws Exception {
@@ -4384,10 +4582,10 @@
     public void testConsequenceBuilderException() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ConsequenceBuilderException.drl" ) ) );
-        
+
         assertTrue( builder.hasErrors() );
     }
-    
+
     public void testRuntimeTypeCoercion() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuntimeTypeCoercion.drl" ) ) );
@@ -4400,14 +4598,355 @@
         final List list = new ArrayList();
         workingMemory.setGlobal( "results",
                                  list );
-        
+
         final PolymorphicFact fact = new PolymorphicFact( new Integer( 10 ) );
         final FactHandle handle = workingMemory.insert( fact );
-        
+
         workingMemory.fireAllRules();
-        
-        assertEquals( 1, list.size() );
-        assertEquals( fact.getData(), list.get( 0 ) );
 
+        assertEquals( 1,
+                      list.size() );
+        assertEquals( fact.getData(),
+                      list.get( 0 ) );
+
+        fact.setData( "10" );
+        workingMemory.update( handle,
+                              fact );
+        workingMemory.fireAllRules();
+
+        assertEquals( 2,
+                      list.size() );
+        assertEquals( fact.getData(),
+                      list.get( 1 ) );
+
+        try {
+            fact.setData( new Boolean( true ) );
+            workingMemory.update( handle,
+                                  fact );
+            fail( "Should not allow to compare < with a Boolean object" );
+        } catch ( ClassCastException cce ) {
+            // success, as can't use "<" to compare to a boolean
+        }
+
     }
-}
\ No newline at end of file
+
+    public void testRuntimeTypeCoercion2() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuntimeTypeCoercion2.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal( "results",
+                                 list );
+
+        final Primitives fact = new Primitives();
+        fact.setBooleanPrimitive( true );
+        fact.setBooleanWrapper( new Boolean( true ) );
+        fact.setObject( new Boolean( true ) );
+        fact.setCharPrimitive( 'X' );
+        final FactHandle handle = workingMemory.insert( fact );
+
+        workingMemory.fireAllRules();
+
+        int index = 0;
+        assertEquals( list.toString(),
+                      4,
+                      list.size() );
+        assertEquals( "boolean",
+                      list.get( index++ ) );
+        assertEquals( "boolean wrapper",
+                      list.get( index++ ) );
+        assertEquals( "boolean object",
+                      list.get( index++ ) );
+        assertEquals( "char",
+                      list.get( index++ ) );
+
+        fact.setBooleanPrimitive( false );
+        fact.setBooleanWrapper( null );
+        fact.setCharPrimitive( '\0' );
+        fact.setObject( new Character( 'X' ) );
+        workingMemory.update( handle,
+                              fact );
+        workingMemory.fireAllRules();
+        assertEquals( 5,
+                      list.size() );
+        assertEquals( "char object",
+                      list.get( index++ ) );
+
+        fact.setObject( null );
+        workingMemory.update( handle,
+                              fact );
+        workingMemory.fireAllRules();
+        assertEquals( 6,
+                      list.size() );
+        assertEquals( "null object",
+                      list.get( index++ ) );
+
+    }
+
+    public void testAlphaEvalWithOrCE() throws Exception {
+        PackageBuilderConfiguration conf = new PackageBuilderConfiguration();
+        conf.setDumpDir( new File("./target") );
+        final PackageBuilder builder = new PackageBuilder( conf );
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AlphaEvalWithOrCE.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal( "results",
+                                 list );
+
+        FactA a = new FactA();
+        a.setField1( "a value" );
+
+        workingMemory.insert( a );
+        workingMemory.insert( new FactB() );
+        workingMemory.insert( new FactC() );
+
+        workingMemory.fireAllRules();
+
+        assertEquals( "should not have fired",
+                      0,
+                      list.size() );
+    }
+
+    public void testAlphaCompositeConstraints() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl(new InputStreamReader(getClass()
+                .getResourceAsStream("test_AlphaCompositeConstraints.drl")));
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage(pkg);
+        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal("results", list);
+
+        Person bob = new Person( "bob", 30 );
+
+        workingMemory.insert(bob);
+        workingMemory.fireAllRules();
+
+        assertEquals( 1, list.size());
+    }
+
+	public void testModifyBlock() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ModifyBlock.drl")));
+		final Package pkg = builder.getPackage();
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal( "results",
+                                 list );
+
+        Person bob = new Person( "Bob" );
+        bob.setStatus( "hungry" );
+
+        Cheese c = new Cheese();
+
+        workingMemory.insert( bob );
+        workingMemory.insert( c );
+
+        workingMemory.fireAllRules();
+
+        assertEquals( 10,
+                      c.getPrice() );
+        assertEquals( "fine",
+                      bob.getStatus() );
+    }
+
+    // this test requires mvel 1.2.19. Leaving it commented until mvel is
+    // released.
+    public void testJavaModifyBlock() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_JavaModifyBlock.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal( "results",
+                                 list );
+
+        Person bob = new Person( "Bob",
+                                 30 );
+        bob.setStatus( "hungry" );
+        workingMemory.insert( bob );
+        workingMemory.insert( new Cheese() );
+        workingMemory.insert( new Cheese() );
+
+        workingMemory.fireAllRules( 2 );
+
+        assertEquals( "should have fired only once",
+                      1,
+                      list.size() );
+        assertEquals( "full",
+                      bob.getStatus() );
+        assertEquals( 31,
+                      bob.getAge() );
+    }
+
+    public void testOrCE() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OrCE.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal( "results",
+                                 list );
+
+        workingMemory.insert( new Cheese( "brie",
+                                          10 ) );
+        workingMemory.insert( new Person( "bob" ) );
+
+        workingMemory.fireAllRules();
+
+        assertEquals( "should have fired once",
+                      1,
+                      list.size() );
+    }
+
+    public void testDeepNestedConstraints() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DeepNestedConstraints.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal( "results",
+                                 list );
+
+        workingMemory.insert( new Person( "bob",
+                                          "muzzarela" ) );
+        workingMemory.insert( new Cheese( "brie",
+                                          10 ) );
+        workingMemory.insert( new Cheese( "muzzarela",
+                                          80 ) );
+
+        workingMemory.fireAllRules();
+
+        assertEquals( "should have fired twice",
+                      2,
+                      list.size() );
+    }
+
+    public void testGetFactHandleEqualityBehavior() throws Exception {
+        final RuleBaseConfiguration conf = new RuleBaseConfiguration();
+        conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.EQUALITY );
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
+
+        final StatefulSession session = ruleBase.newStatefulSession();
+
+        CheeseEqual cheese = new CheeseEqual( "stilton",
+                                              10 );
+        session.insert( cheese );
+        FactHandle fh = session.getFactHandle( new CheeseEqual( "stilton",
+                                                                10 ) );
+        assertNotNull( fh );
+    }
+
+    public void testGetFactHandleIdentityBehavior() throws Exception {
+        final RuleBaseConfiguration conf = new RuleBaseConfiguration();
+        conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.IDENTITY );
+        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
+
+        final StatefulSession session = ruleBase.newStatefulSession();
+
+        CheeseEqual cheese = new CheeseEqual( "stilton",
+                                              10 );
+        session.insert( cheese );
+        FactHandle fh1 = session.getFactHandle( new Cheese( "stilton",
+                                                            10 ) );
+        assertNull( fh1 );
+        FactHandle fh2 = session.getFactHandle( cheese );
+        assertNotNull( fh2 );
+    }
+
+    public void testOrCEFollowedByEval() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OrCEFollowedByEval.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal( "results",
+                                 list );
+
+        workingMemory.insert( new FactA( "X" ) );
+        InternalFactHandle b = (InternalFactHandle) workingMemory.insert( new FactB( "X" ) );
+
+        workingMemory.fireAllRules();
+
+        assertEquals( "should have fired",
+                      2,
+                      list.size() );
+        assertTrue( list.contains( b.getObject() ) );
+    }
+
+    public void testNPEOnMVELAlphaPredicates() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NPEOnMVELPredicate.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final StatefulSession session = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        session.setGlobal( "results",
+                           list );
+
+        Cheese cheese = new Cheese( "stilton",
+                                    10 );
+        Cheesery cheesery = new Cheesery();
+        cheesery.addCheese( cheese );
+        Person bob = new Person( "bob",
+                                 "stilton" );
+        Cheese cheese2 = new Cheese();
+        bob.setCheese( cheese2 );
+
+        FactHandle p = session.insert( bob );
+        FactHandle c = session.insert( cheesery );
+
+        session.fireAllRules();
+
+        assertEquals( "should not have fired",
+                      0,
+                      list.size() );
+
+        cheese2.setType( "stilton" );
+
+        session.update( p,
+                        bob );
+        session.fireAllRules();
+
+        assertEquals( 1,
+                      list.size() );
+
+    }
+
+}

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MultithreadTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MultithreadTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MultithreadTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -19,24 +19,22 @@
 package org.drools.integrationtests;
 
 import java.io.InputStreamReader;
-import java.io.StringReader;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.Queue;
+import java.util.Vector;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
 import junit.framework.TestCase;
 
 import org.drools.Child;
 import org.drools.GrandParent;
+import org.drools.Order;
 import org.drools.Parent;
 import org.drools.RuleBase;
-import org.drools.RuleBaseConfiguration;
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
 import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
 
 /**
  * This is a test case for multi-thred issues
@@ -207,5 +205,56 @@
             fail( "No exception should have been raised: "+e.getMessage());
         }
     }
+    
+    public void testMultithreadDateStringConstraints() {
+        try {
+            final int THREAD_COUNT = 10;
+            final PackageBuilder packageBuilder = new PackageBuilder();
+            packageBuilder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MultithreadDateStringConstraints.drl" ) ) );
+            final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+            ruleBase.addPackage( packageBuilder.getPackage() );
+            final Vector errors = new Vector();
+            
+            final Thread t[] = new Thread[THREAD_COUNT];
+            for(int j=0;j<10;j++)
+            {
+                for (int i = 0; i < t.length; i++) {
+                    t[i] = new Thread() {
+                        public void run() {
+                            try {
+                                final int ITERATIONS = 300;
+                                StatefulSession session = ruleBase.newStatefulSession();
+                                List results = new ArrayList();
+                                session.setGlobal( "results", results );
+                                for( int k = 0; k < ITERATIONS; k++ ) {
+                                    session.insert( new Order() );
+                                }
+                                session.fireAllRules();
+                                session.dispose();
+                                if( results.size() != ITERATIONS ) {
+                                    errors.add( "Rules did not fired correctly. Expected: "+ITERATIONS+". Actual: "+results.size() );
+                                }
+                            } catch( Exception ex ) {
+                                ex.printStackTrace();
+                                errors.add( ex );
+                            }
+                        }
+                        
+                    };
+                    t[i].start();
+                }
+                for (int i = 0; i < t.length; i++) {
+                    t[i].join();
+                }
+            }
+            if( !errors.isEmpty() ) {
+                fail(" Errors occured during execution ");
+            }
+        } catch ( Exception e ) {
+            e.printStackTrace();
+            fail( "Should not raise exception" );
+        }
+    }
+    
 
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/OutOfMemoryTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/OutOfMemoryTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/OutOfMemoryTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -26,10 +26,11 @@
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
 import org.drools.WorkingMemory;
+import org.drools.audit.WorkingMemoryFileLogger;
+import org.drools.audit.WorkingMemoryInMemoryLogger;
 import org.drools.compiler.PackageBuilder;
 import org.drools.rule.Package;
 
-
 /** Run all the tests with the ReteOO engine implementation */
 public class OutOfMemoryTest extends TestCase {
 
@@ -53,22 +54,22 @@
 
         final RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        
+
         int i = 0;
-        
+
         try {
-            for( i = 0; i < 300000; i++ ) {
+            for ( i = 0; i < 300000; i++ ) {
                 final StatefulSession session = ruleBase.newStatefulSession( true );
                 session.dispose();
-            } 
+            }
         } catch ( Throwable e ) {
-            System.out.println("Error at: "+i);
+            System.out.println( "Error at: " + i );
             e.printStackTrace();
-            fail("Should not raise any error or exception.");
+            fail( "Should not raise any error or exception." );
         }
 
     }
-    
+
     public void testAgendaLoop() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OutOfMemory.drl" ) ) );
@@ -86,4 +87,27 @@
         // just for profiling
         //Thread.currentThread().wait();
     }
+
+    public void testWorkingMemoryFileLogger() throws Exception {
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OutOfMemoryError.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+
+        try {
+            for ( int i = 0; i < 100000; i++ ) {
+                StatefulSession session = ruleBase.newStatefulSession();
+                WorkingMemoryInMemoryLogger logger = new WorkingMemoryInMemoryLogger( session );
+                session.fireAllRules();
+                session.dispose();
+            }
+        } catch ( Throwable e ) {
+            e.printStackTrace();
+            fail( "Should not raise OOME.");
+        }
+    }
+
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Waltz.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Waltz.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Waltz.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -28,6 +28,7 @@
 import org.drools.PackageIntegrationException;
 import org.drools.RuleBase;
 import org.drools.RuleIntegrationException;
+import org.drools.StatefulSession;
 import org.drools.WorkingMemory;
 import org.drools.compiler.DrlParser;
 import org.drools.compiler.DroolsParserException;
@@ -48,31 +49,24 @@
 
             //load up the rulebase
             final RuleBase ruleBase = readRule();
-            final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-
-            workingMemory.setGlobal( "sysout",
-                                     System.out );
-
-            //            DebugWorkingMemoryEventListener wmListener = new DebugWorkingMemoryEventListener();
-            //            DebugAgendaEventListener agendaListener = new DebugAgendaEventListener();
-            //            workingMemory.addEventListener( wmListener );
-            //            workingMemory.addEventListener( agendaListener );
-
-            //go !     
-            this.loadLines( workingMemory,
-                            "waltz50.dat" );
-
-            //final Stage stage = new Stage( Stage.START );
-            //workingMemory.assertObject( stage );
-
-            final long start = System.currentTimeMillis();
-
-            final Stage stage = new Stage( Stage.DUPLICATE );
-            workingMemory.insert( stage );
-            workingMemory.fireAllRules();
-
-            final long end = System.currentTimeMillis();
-            System.out.println( end - start );
+            long total = 0;
+            for ( int i = 0; i < 5; i++ ) {
+                final StatefulSession workingMemory = ruleBase.newStatefulSession();
+                workingMemory.setGlobal( "sysout",
+                                         System.out );
+                //go !     
+                this.loadLines( workingMemory,
+                                "waltz50.dat" );
+                final long start = System.currentTimeMillis();
+                final Stage stage = new Stage( Stage.DUPLICATE );
+                workingMemory.insert( stage );
+                workingMemory.fireAllRules();
+                workingMemory.dispose();
+                final long end = System.currentTimeMillis();
+                total += end - start;
+                System.out.print( end - start + ", ");
+            }
+            System.out.println("Average: "+total/5+" ms");
         } catch ( final Throwable t ) {
             t.printStackTrace();
             fail( t.getMessage() );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -23,7 +23,7 @@
         super.tearDown();
     }
 
-    public void xxxtestDump() throws Exception {
+    public void testDump() throws Exception {
         String input = "Cheese( price > 10 && < 20 || == $val || == 30 )";
         String expected = "( ( price > 10 && price < 20 ) || price == $val || price == 30 )" ;
         DRLParser parser = parse( input );
@@ -59,7 +59,30 @@
         assertEquals( expected, result );
     }
 
-    
+    public void testDumpMatches3() throws Exception {
+        String input = "Map( this[\"content\"] matches \"hello ;=\" )";
+        String expected = "this[\"content\"] ~= \"hello ;=\"" ;
+        DRLParser parser = parse( input );
+        PatternDescr pattern = (PatternDescr) parser.fact( null );
+        
+        FieldConstraintDescr fieldDescr = (FieldConstraintDescr) pattern.getConstraint().getDescrs().get( 0 );
+        String result = dumper.dump( fieldDescr );
+        
+        assertEquals( expected, result );
+    }
+
+    public void testDumpWithDateAttr() throws Exception {
+        String input = "Person( son.birthDate == \"01-jan-2000\" )";
+        String expected = "son.birthDate == org.drools.base.evaluators.DateFactory.parseDate( \"01-jan-2000\" )" ;
+        DRLParser parser = parse( input );
+        PatternDescr pattern = (PatternDescr) parser.fact( null );
+        
+        FieldConstraintDescr fieldDescr = (FieldConstraintDescr) pattern.getConstraint().getDescrs().get( 0 );
+        String result = dumper.dump( fieldDescr, true );
+        
+        assertEquals( expected, result );
+    }
+
     private DRLParser parse(final String text) throws Exception {
         return newParser( newTokenStream( newLexer( newCharStream( text ) ) ) );
     }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -3635,7 +3635,22 @@
 
     }
 
+    public void testNPEOnParser() throws Exception {
+        final DRLParser parser = parseResource( "npe_on_parser.drl" );
+        parser.compilation_unit();
 
+        assertTrue( "Parser should have raised errors",
+                    parser.hasErrors() );
+
+        List errors = parser.getErrors();
+        assertEquals( 2,
+                      errors.size() );
+
+        assertTrue( errors.get( 0 ) instanceof MismatchedTokenException ); // "action" is a reserved word
+        assertTrue( errors.get( 1 ) instanceof NoViableAltException ); // no title in the rule
+
+    }
+
     public void testCommaMisuse() throws Exception {
         final DRLParser parser = parseResource( "comma_misuse.drl" );
         try {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/dsl/DSLMappingFileTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/dsl/DSLMappingFileTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/lang/dsl/DSLMappingFileTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -107,6 +107,40 @@
 
     }
 
+    public void testParseFileWithEscapes() {
+        String file = "[then]TEST=System.out.println(\"DO_SOMETHING\");\n" + 
+                      "[when]code {code1} occurs and sum of all digit not equal \\( {code2} \\+ {code3} \\)=AAAA( cd1 == {code1}, cd2 != ( {code2} + {code3} ))\n" + 
+                      "[when]code {code1} occurs=BBBB\n";
+        try {
+            final Reader reader = new StringReader( file );
+            this.file = new DSLMappingFile();
+
+            final boolean parsingResult = this.file.parseAndLoad( reader );
+            reader.close();
+
+            assertTrue( this.file.getErrors().toString(),
+                        parsingResult );
+            assertTrue( this.file.getErrors().isEmpty() );
+            
+            final String LHS = "code 1041 occurs and sum of all digit not equal ( 1034 + 1035 )";
+            final String rule = "rule \"x\"\nwhen\n" + LHS + "\nthen\nTEST\nend";
+
+            DefaultExpander de = new DefaultExpander();
+            de.addDSLMapping(this.file.getMapping());
+                    
+            final String ruleAfterExpansion = de.expand(rule);
+            
+            final String expected = "rule \"x\"\nwhen\nAAAA( cd1 == 1041, cd2 != ( 1034 + 1035 ))\nthen\nSystem.out.println(\"DO_SOMETHING\");\nend\n";
+            
+            assertEquals( expected, ruleAfterExpansion );
+            
+        } catch ( final IOException e ) {
+            e.printStackTrace();
+            fail( "Should not raise exception " );
+        }
+
+    }
+
     public void testParseFileWithEscaptedEquals() {
         String file = "[when][]something:\\={value}=Attribute( something == \"{value}\" )";
         try {

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,94 @@
+package org.drools.rule.builder.dialect.java;
+
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.antlr.runtime.RecognitionException;
+import org.drools.Cheese;
+import org.drools.base.ClassObjectType;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.lang.descr.RuleDescr;
+import org.drools.rule.Package;
+import org.drools.rule.Pattern;
+import org.drools.rule.Rule;
+import org.drools.rule.builder.RuleBuildContext;
+
+public class JavaConsequenceBuilderTest extends TestCase {
+
+    private JavaConsequenceBuilder builder;
+    private RuleBuildContext       context;
+    private RuleDescr              ruleDescr;
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        
+        builder = new JavaConsequenceBuilder();
+
+        Package pkg = new Package( "org.drools" );
+        pkg.addImport( "org.drools.Cheese" );
+        
+        PackageBuilderConfiguration conf = new PackageBuilderConfiguration();
+        PackageBuilder builder = new PackageBuilder( pkg, conf );
+
+        String consequence = " System.out.println(\"this is a test\");\n " + " modify( $cheese ) { setPrice( 10 ), setAge( age ) }\n " + " System.out.println(\"we are done\");\n ";
+        ruleDescr = new RuleDescr( "test modify block" );
+        ruleDescr.setConsequence( consequence );
+        
+        Rule rule = new Rule( ruleDescr.getName() );
+        rule.addPattern( new Pattern(0, new ClassObjectType(Cheese.class), "$cheese") );
+
+        context = new RuleBuildContext( conf,
+                                        pkg,
+                                        ruleDescr,
+                                        builder.getDialectRegistry(),
+                                        builder.getDefaultDialect() );
+        context.getBuildStack().push( rule.getLhs() );
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testDummy() {}
+    
+    // this test requires mvel 1.2.19. Leaving it commented until mvel is released.
+    public void FIXME_testFixModifyBlocks() {
+
+        try {
+            JavaExprAnalyzer analyzer = new JavaExprAnalyzer();
+            JavaAnalysisResult analysis = (JavaAnalysisResult) analyzer.analyzeBlock( (String) ruleDescr.getConsequence(),
+                                                                                      new Set[]{} );
+
+            String fixed = builder.fixModifyBlocks( context,
+                                                    analysis,
+                                                    (String) ruleDescr.getConsequence() );
+            
+            String expected = " System.out.println(\"this is a test\");\n"+
+                              "org.drools.Cheese __obj__ = (org.drools.Cheese) ( $cheese );\n" +
+                              "modifyRetract( __obj__ );\n"+
+                              "__obj__.setPrice( 10 );\n"+
+                              "__obj__.setAge( age );\n"+
+                              "modifyInsert( __obj__ );\n"+
+                              "System.out.println(\"we are done\");\n";
+            
+            assertNotNull( context.getErrors().toString(), fixed );
+            assertEqualsIgnoreSpaces( expected, fixed );
+//            System.out.println( "=============================" );
+//            System.out.println( ruleDescr.getConsequence() );
+//            System.out.println( "=============================" );
+//            System.out.println( fixed );
+
+        } catch ( RecognitionException e ) {
+            e.printStackTrace();
+        }
+
+    }
+
+    private void assertEqualsIgnoreSpaces(String expected,
+                                          String fixed) {
+        assertEquals( expected.replaceAll( "\\s+", "" ), fixed.replaceAll( "\\s+", "" ) );
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/big_decimal_and_literal.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/big_decimal_and_literal.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/big_decimal_and_literal.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/big_decimal_and_literal.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.test
+
+import org.drools.Person;
+import java.math.BigDecimal;
+
+global java.util.List list;
+
+rule "BigDec"
+
+	when
+		p: Person(bigDecimal < 100.01)
+	then
+		list.add( p );
+end
+
+rule "BigInt"
+	when
+		p: Person(bigInteger < 100.1)
+	then
+		list.add( p );
+end
+
+rule "BigDec2"
+
+	when
+		p: Person(bigDecimal == 42)
+	then
+		list.add( p );
+end
+
+rule "BigInt2"
+	when
+		p: Person(bigInteger == 42)
+	then
+		list.add( p );
+end
+
+rule "BigDec3"
+
+	when
+		p: Person(bigDecimal != 100)
+	then
+		list.add( p );
+end
+
+rule "BigInt3"
+	when
+		p: Person(bigInteger != 100)
+	then
+		list.add( p );
+end
+
+

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/invalid_rule.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/invalid_rule.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/invalid_rule.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -10,8 +10,8 @@
 rule "not rule test"
     when
     	#error 2) incorrect field
-        person : Person( $likes:likeypooh )
+        $person : Person( $likes:likeypooh )
         not Cheese( type == $likes )
     then
-		list.add( person );
+		list.add( $person );
 end    
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_AccumulateGlobals.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_AccumulateGlobals.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_AccumulateGlobals.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_AccumulateGlobals.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,16 @@
+package org.drools;
+
+global java.util.List results;
+global Integer globalValue;
+
+rule "Accumulate globals"
+    when
+    	$totalAmount : Number() from accumulate(  Cheese( type == "brie" ),
+                                                  init( int total = 0; ),
+    	                                          action( total += globalValue.intValue(); ),
+    	                                          reverse( total -= globalValue.intValue(); ),
+                                                  result( new Integer( total ) ) );
+    then
+        results.add($totalAmount);
+end  
+

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_ActivationCancellation.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_ActivationCancellation.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_ActivationCancellation.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,35 +0,0 @@
-package foo.bar
-
-import org.drools.Cheese
-
-global java.util.List list
-
-rule "rule1"
-	when
-		c: Cheese()
-	then
-		list.add("rule1");
-
-end
-
-rule "rule2"
-	when
-		c: Cheese()
-	then
-		list.add("rule2");
-end
-
-rule "rule3"
-	when
-		c: Cheese()
-	then
-		list.add("rule3");
-end
-
-rule "rule4"
-	when
-		not Cheese()
-	then
-		list.add("rule4");
-
-end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_AlphaCompositeConstraints.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_AlphaCompositeConstraints.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_AlphaCompositeConstraints.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_AlphaCompositeConstraints.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,10 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "test alpha composite constraints"
+when
+    Person( eval( age == 25 ) || ( eval( name.equals( "bob" ) ) && eval( age == 30 ) ) )
+then
+    results.add( "OK" );
+end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_DeepNestedConstraints.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_DeepNestedConstraints.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_DeepNestedConstraints.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_DeepNestedConstraints.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,12 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "deep nested constraints"
+when
+    Person( $likes : likes )
+    Cheese( ( ( type == "stilton" || type == $likes ) && ( price < 10 || price > 50 ) ) || eval( type.equals("brie") ) )
+then
+    results.add( "OK" );
+end
+ 
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_0.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_0.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_0.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_0.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,13 @@
+package org.drools.test;
+
+import org.drools.Cheese; 
+
+global java.util.List results
+
+rule "like stilton"
+        salience 50
+    when
+        $cheese :Cheese( type:type == "stilton" )
+    then
+        results.add( $cheese );
+end  

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_1.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_1.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_1.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_1.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,13 @@
+package org.drools.test;
+
+import org.drools.Cheese;
+
+global java.util.List results;
+
+rule "like brie"
+        salience 20
+    when
+        $cheese : Cheese( type:type == "brie" ) 
+    then
+        results.add( $cheese );
+end  
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_2.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_2.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_2.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic1_2.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,13 @@
+package org.drools.test;
+
+import org.drools.Address; 
+
+global java.util.List results;
+
+rule "match SerializeAddress"
+        salience 10
+    when
+        $address : Address()
+    then
+		results.add( $address );
+end  

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic3_0.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic3_0.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic3_0.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Dynamic3_0.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,13 @@
+package org.drools.newtest;
+
+import org.drools.Person; 
+
+global java.util.List results
+
+rule "match Person"
+        salience 30
+    when
+        $person : Person()
+    then
+        results.add( $person );
+end    
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_FromArrayIteration.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_FromArrayIteration.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_FromArrayIteration.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_FromArrayIteration.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,14 @@
+package org.drools.test;
+
+import  org.drools.DomainObject
+import  org.drools.DomainObjectHolder;
+
+global java.util.List list
+
+rule "Test Rule"
+when
+    $holder : DomainObjectHolder()
+    $object : DomainObject( $message : message) from $holder.objects;
+then
+    list.add( $message );
+end 
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_JavaModifyBlock.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_JavaModifyBlock.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_JavaModifyBlock.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_JavaModifyBlock.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,16 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "test modify block"
+when
+    $p: Person( status == "hungry" )
+    $c: Cheese( )
+then
+    retract( $c );
+    modify( $p ) { 
+        setStatus( "full" ), 
+        setAge( $p.getAge() + 1 ) 
+    }
+    results.add( $p );
+end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,12 @@
+package org.drools;
+
+import java.util.Map;
+
+global java.util.List results;
+
+rule "Matches mvel"
+when
+    Map( this["content"] matches "hello ;=" )
+then
+    results.add( "OK" );
+end
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesNotMatches.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesNotMatches.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesNotMatches.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -14,7 +14,7 @@
 
 rule "Cheese not matches"
     when
-        brie : Cheese( type not matches "(stil.*|mu\w*|brie\d|aged.*)" )
+        brie : Cheese( type not matches "(stil.*|mu\w*|brie\d|aged.*|.*prov.*)" )
     then
 		list.add( brie );
 end   
@@ -27,3 +27,10 @@
 		list.add( stilton );
 end   
 
+rule "Cheese matches with ^ and escaped s"
+	salience -20
+    when
+        prov : Cheese( type matches "^provolone\s*" )
+    then
+		list.add( prov );
+end   

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames1.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames1.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames1.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames1.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,10 @@
+package org.drools.test
+
+global java.util.List results;
+
+rule "rule1"
+	when
+		
+	then
+		results.add("rule1 for the package1");
+end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames2.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames2.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames2.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames2.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,10 @@
+package org.drools.test
+
+global java.util.List results;
+
+rule "rule1"
+	when
+		
+	then
+		results.add("rule1 for the package2");
+end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_ModifyBlock.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_ModifyBlock.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_ModifyBlock.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_ModifyBlock.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,12 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "test modify block"
+when
+    $p: Person( status == "hungry" )
+    $c: Cheese( )
+then
+    modify( $c ) {setPrice (10) }
+    modify( $p ) {setStatus("fine") }
+end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MultithreadDateStringConstraints.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_MultithreadDateStringConstraints.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MultithreadDateStringConstraints.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_MultithreadDateStringConstraints.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,10 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "Should fire"
+when
+    $d : Order( date > "12-SEP-1978", number > "-1" )
+then
+    results.add( $d );
+end

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_NPEOnMVELPredicate.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_NPEOnMVELPredicate.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_NPEOnMVELPredicate.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_NPEOnMVELPredicate.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "test NPE on mvel predicate"
+when
+    $p : Person( cheese.type != null )
+    $q : Cheese( ) from $p.cheese
+then
+    results.add( $q );
+end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_OrCE.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_OrCE.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_OrCE.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_OrCE.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,20 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "test or CE"
+when
+    $c : Cheese( type == "stilton" )
+    or
+    (
+        $c2 : Cheese( type == "brie" )
+        and
+        (
+            $p : Person( likes == "stilton" )
+            or
+            $p : Person( name == "bob" )
+        )
+    ) 
+then
+    results.add(" OK " );
+end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_OrCEFollowedByEval.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_OrCEFollowedByEval.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_OrCEFollowedByEval.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_OrCEFollowedByEval.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,12 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "test eval with OR"
+when
+    FactA( $a : field1 )
+    $f : FactB( $b : f1 ) or $f : FactB( $b : f1 == "X" )
+    eval( $a.equals( $b ) ) 
+then
+    results.add( $f );
+end
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_RuntimeTypeCoercion.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_RuntimeTypeCoercion.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_RuntimeTypeCoercion.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -3,8 +3,10 @@
 global java.util.List results;
 
 rule "Testing coercion"
+    salience 100
 	when
 		PolymorphicFact( $value : data < 15 )
 	then
 		results.add( $value );	
 end
+

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Serializable2.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_Serializable2.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Serializable2.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_Serializable2.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,31 @@
+package org.drools;
+
+global java.util.List list
+
+rule "single index"
+	salience 10
+    when
+        Primitives( $b : bytePrimitive )
+        Primitives( bytePrimitive == $b )
+    then
+		list.add( "1" );
+end    
+
+rule "double index"
+	salience 8
+    when
+        Primitives( $b : bytePrimitive, $s : shortPrimitive )
+        Primitives( bytePrimitive == $b, shortPrimitive == $s )
+    then
+		list.add( "2" );
+end    
+
+rule "triple index"
+	salience 6
+    when
+        Primitives( $b : bytePrimitive, $s : shortPrimitive, $i : intPrimitive )
+        Primitives( bytePrimitive == $b, shortPrimitive == $s, intPrimitive == $i )
+    then
+		list.add( "3" );
+end    
+

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_SerializableCollectAccumulate.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/integrationtests/test_SerializableCollectAccumulate.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_SerializableCollectAccumulate.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/integrationtests/test_SerializableCollectAccumulate.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,24 @@
+package org.drools;
+
+import java.util.List
+import java.util.ArrayList
+
+global List list
+
+rule "collect"
+	salience 10
+    when
+        $p : Person( $likes : likes )
+        $c : ArrayList() from collect( Cheese( type == $likes ) )
+    then
+		list.add( $c );
+end    
+
+rule "accumulate"
+    when
+        $p : Person( $likes : likes )
+        $t : Number() from accumulate( Cheese( type == $likes, $price : price ),
+                                       sum( $price ) )
+    then
+		list.add( $t );
+end   

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/lang/npe_on_parser.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-compiler/src/test/resources/org/drools/lang/npe_on_parser.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/lang/npe_on_parser.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/resources/org/drools/lang/npe_on_parser.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,15 @@
+package org.drools;
+
+rule "Test"
+when
+    action : Object()
+then
+    System.out.println("A RHS");
+end
+
+rule
+when
+    Object()
+then
+    System.out.println("A RHS");
+end
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/.classpath
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/.classpath	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,8 +5,8 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar"/>
   <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.21/mvel14-1.2.21.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/1.2.24-java1.4/mvel-1.2.24-java1.4.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-    <version>4.0.2.SNAPSHOT</version>
+    <version>4.0.6</version>
   </parent>
 
   <artifactId>drools-core</artifactId>
@@ -29,7 +29,7 @@
 
     <dependency>
       <groupId>org.mvel</groupId>
-      <artifactId>mvel14</artifactId>
+      <artifactId>mvel</artifactId>
     </dependency>     
     
   </dependencies>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/RuleBaseConfiguration.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -26,7 +26,6 @@
 import org.drools.common.AgendaGroupFactory;
 import org.drools.common.ArrayAgendaGroupFactory;
 import org.drools.common.PriorityQueueAgendaGroupFactory;
-import org.drools.concurrent.ExecutorService;
 import org.drools.spi.ConflictResolver;
 import org.drools.spi.ConsequenceExceptionHandler;
 import org.drools.util.ChainedProperties;
@@ -66,6 +65,7 @@
  * drools.conflictResolver = <qualified class name>
  * drools.consequenceExceptionHandler = <qualified class name>
  * drools.ruleBaseUpdateHandler = <qualified class name>
+ * drools.useStaticObjenesis = <false|true>
  * 
  */
 public class RuleBaseConfiguration
@@ -99,6 +99,8 @@
 
     private boolean                     shadowProxy;
     private Map                         shadowProxyExcludes;
+    private boolean                     useStaticObjenesis;
+
     private static final String         STAR             = "*";
 
     private transient ClassLoader       classLoader;
@@ -148,7 +150,7 @@
      * of this rule base classloaders, and the properties to be used
      * as base configuration options
      * 
-     * @param classLoader
+     * @param classLoder
      * @param properties
      */
     public RuleBaseConfiguration(ClassLoader classLoader,
@@ -217,9 +219,9 @@
 
         setConsequenceExceptionHandler( RuleBaseConfiguration.determineConsequenceExceptionHandler( this.chainedProperties.getProperty( "drools.consequenceExceptionHandler",
                                                                                                                                         "org.drools.base.DefaultConsequenceExceptionHandler" ) ) );
-        
+
         setRuleBaseUpdateHandler( this.chainedProperties.getProperty( "drools.ruleBaseUpdateHandler",
-                                                                      "org.drools.base.FireAllRulesRuleBaseUpdateListener" ) );        
+                                                                      "org.drools.base.FireAllRulesRuleBaseUpdateListener" ) );
 
         setConflictResolver( RuleBaseConfiguration.determineConflictResolver( this.chainedProperties.getProperty( "drools.conflictResolver",
                                                                                                                   "org.drools.conflict.DepthConflictResolver" ) ) );
@@ -230,6 +232,10 @@
 
         setShadowProxyExcludes( this.chainedProperties.getProperty( "drools.shadowProxyExcludes",
                                                                     "" ) );
+
+        setUseStaticObjenesis( Boolean.valueOf( this.chainedProperties.getProperty( "drools.useStaticObjenesis",
+                                                                                    "false" ) ).booleanValue() );
+
     }
 
     /**
@@ -385,7 +391,7 @@
         checkCanChange(); // throws an exception if a change isn't possible;        
         this.consequenceExceptionHandler = consequenceExceptionHandler;
     }
-    
+
     public String getRuleBaseUpdateHandler() {
         return ruleBaseUpdateHandler;
     }
@@ -393,7 +399,7 @@
     public void setRuleBaseUpdateHandler(String ruleBaseUpdateHandler) {
         checkCanChange(); // throws an exception if a change isn't possible;        
         this.ruleBaseUpdateHandler = ruleBaseUpdateHandler;
-    }    
+    }
 
     public AgendaGroupFactory getAgendaGroupFactory() {
         if ( isSequential() ) {
@@ -421,7 +427,7 @@
             // sequential never needs shadowing, so always override
             return false;
         }
-        
+
         if ( userValue != null ) {
             return Boolean.valueOf( userValue ).booleanValue();
         } else {
@@ -474,6 +480,15 @@
         return this.shadowProxy;
     }
 
+    public boolean isUseStaticObjenesis() {
+        return useStaticObjenesis;
+    }
+
+    public void setUseStaticObjenesis(boolean useStaticObjenesis) {
+        checkCanChange(); // throws an exception if a change isn't possible;
+        this.useStaticObjenesis = useStaticObjenesis;
+    }
+
     public ClassLoader getClassLoader() {
         return classLoader;
     }
@@ -545,7 +560,7 @@
     private static ConsequenceExceptionHandler determineConsequenceExceptionHandler(String className) {
         return (ConsequenceExceptionHandler) instantiateClass( "ConsequenceExceptionHandler",
                                                                className );
-    }   
+    }
 
     private static Object instantiateClass(String type,
                                            String className) {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/agent/FileScanner.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/agent/FileScanner.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/agent/FileScanner.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -78,6 +78,7 @@
                              f.lastModified() ) ) {
                 Package p = readPackage( f );
                 if ( p != null ) list.add( p );
+
             }
         }
         return (Package[]) list.toArray( new Package[list.size()] );
@@ -88,13 +89,12 @@
      * Especially IO, as generally they are temporary.
      */
     private Package readPackage(File pkgFile) {
-
     	String name = pkgFile.getName();
     	if (!(name.endsWith(".pkg") || name.endsWith(".drl"))) {
     		return null;
     	}
     	//use reflection to load if its DRL, the provider lives in drools compiler.
-    	if (pkgFile.getName().endsWith(".drl")) {
+    	if (name.endsWith(".drl")) {
     		try {
 				FileLoader fl = (FileLoader) Class.forName("org.drools.compiler.SourcePackageProvider").newInstance();
 				return fl.loadPackage(pkgFile);

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/agent/HttpClientImpl.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/agent/HttpClientImpl.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/agent/HttpClientImpl.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -11,36 +11,41 @@
 
 public class HttpClientImpl implements IHttpClient {
 
-    
-    
-    
 
 
 
 
-    
-    
-    
+
+
+
+
+
+
     public LastUpdatedPing checkLastUpdated(URL url) throws IOException {
         URLConnection con = url.openConnection();
         HttpURLConnection httpCon = (HttpURLConnection) con;
         try {
             httpCon.setRequestMethod( "HEAD" );
-            
+
             String lm = httpCon.getHeaderField( "lastModified" );
             LastUpdatedPing ping = new LastUpdatedPing();
-            
+
             ping.responseMessage = httpCon.getHeaderFields().toString();
-            
+
             if (lm != null) {
                 ping.lastUpdated = Long.parseLong( lm );
+            } else {
+            	long httpLM = httpCon.getLastModified();
+            	if (httpLM > 0) {
+            		ping.lastUpdated = httpLM;
+            	}
             }
-            
+
             return ping;
-        } finally {        
+        } finally {
             httpCon.disconnect();
         }
-        
+
     }
 
     public Package fetchPackage(URL url) throws IOException, ClassNotFoundException {
@@ -49,28 +54,28 @@
         try {
             httpCon.setRequestMethod( "GET" );
             InputStream in = httpCon.getInputStream();
-            
+
             DroolsObjectInputStream oin = new DroolsObjectInputStream(in);
                 return (Package) oin.readObject();
-  
+
         } finally {
             httpCon.disconnect();
         }
     }
-    
+
     public static void main(String[] args) throws Exception {
         HttpClientImpl cl = new HttpClientImpl();
         URL url = new URL("http://localhost:8888/org.drools.brms.JBRMS/package/com.billasurf.manufacturing.plant/SNAP");
-        
-        
+
+
         LastUpdatedPing ping = cl.checkLastUpdated( url );
-        
-        
+
+
         Package p = cl.fetchPackage( url );
-        
-        
+
+
         System.err.println(ping);
         System.err.println( ping.isError() );
     }
-    
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryConsoleLogger.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryConsoleLogger.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryConsoleLogger.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,12 +1,13 @@
 package org.drools.audit;
 
 import org.drools.WorkingMemory;
+import org.drools.WorkingMemoryEventManager;
 import org.drools.audit.event.LogEvent;
 
 public class WorkingMemoryConsoleLogger extends WorkingMemoryLogger {
 
-	public WorkingMemoryConsoleLogger(WorkingMemory workingMemory) {
-		super(workingMemory);
+	public WorkingMemoryConsoleLogger(final WorkingMemoryEventManager workingMemoryEventManager) {
+		super(workingMemoryEventManager);
 	}
 	
 	public void logEventCreated(LogEvent logEvent) {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryInMemoryLogger.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryInMemoryLogger.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryInMemoryLogger.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -22,6 +22,7 @@
 import java.util.List;
 
 import org.drools.WorkingMemory;
+import org.drools.WorkingMemoryEventManager;
 import org.drools.audit.event.LogEvent;
 
 import com.thoughtworks.xstream.XStream;
@@ -40,8 +41,8 @@
      * Creates a new WorkingMemoryInMemoryLogger for the given working memory.
      * @param workingMemory
      */
-    public WorkingMemoryInMemoryLogger(final WorkingMemory workingMemory) {
-        super( workingMemory );
+    public WorkingMemoryInMemoryLogger(final WorkingMemoryEventManager workingMemoryEventManager) {
+        super( workingMemoryEventManager );
     }
 
     public String getEvents() {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/audit/WorkingMemoryLogger.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -262,7 +262,7 @@
                     // This handle is now invalid, probably due to an fact retraction
                     continue;
                 }
-                final Object value = declaration.getValue( (InternalWorkingMemory) workingMemory, workingMemory.getObject( handle ) );
+                final Object value = declaration.getValue( (InternalWorkingMemory) workingMemory, handleImpl.getObject() );
 
                 result.append( declaration.getIdentifier() );
                 result.append( "=" );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/DefaultConsequenceExceptionHandler.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/DefaultConsequenceExceptionHandler.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/DefaultConsequenceExceptionHandler.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -10,7 +10,6 @@
     public void handleException(Activation activation,
                                 WorkingMemory workingMemory,
                                 Exception exception) {
-        exception.printStackTrace();
         throw new ConsequenceException( exception,
                                         activation.getRule() );
     }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -95,7 +95,7 @@
     }
 
     public void update(final Object object) throws FactException {
-        FactHandle handle = this.workingMemory.getFactHandle( object );
+        FactHandle handle = this.workingMemory.getFactHandleByIdentity( object );
         if ( handle == null ) {
             throw new FactException( "Update error: handle not found for object: " + object + ". Is it in the working memory?" );
         }
@@ -115,7 +115,7 @@
     }
 
     public void retract(final Object object) throws FactException {
-        FactHandle handle = this.workingMemory.getFactHandle( object );
+        FactHandle handle = this.workingMemory.getFactHandleByIdentity( object );
         if ( handle == null ) {
             throw new FactException( "Retract error: handle not found for object: " + object + ". Is it in the working memory?" );
         }
@@ -127,7 +127,7 @@
     }
 
     public void modifyRetract(final Object object) {
-        FactHandle handle = this.workingMemory.getFactHandle( object );
+        FactHandle handle = this.workingMemory.getFactHandleByIdentity( object );
         this.workingMemory.modifyRetract( handle, rule, activation );
     }
 
@@ -136,7 +136,7 @@
     }
 
     public void modifyInsert(final Object object) {
-        FactHandle handle = this.workingMemory.getFactHandle( object );
+        FactHandle handle = this.workingMemory.getFactHandleByIdentity( object );
         this.workingMemory.modifyInsert( handle, object, rule, activation );
     }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/FieldFactory.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/FieldFactory.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/FieldFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -18,7 +18,11 @@
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
+import org.drools.base.evaluators.DateFactory;
 import org.drools.base.field.BooleanFieldImpl;
 import org.drools.base.field.DoubleFieldImpl;
 import org.drools.base.field.LongFieldImpl;
@@ -28,6 +32,9 @@
 public class FieldFactory {
     private static final FieldFactory INSTANCE = new FieldFactory();
 
+    private static final String     DEFAULT_FORMAT_MASK = "dd-MMM-yyyy";
+    private static final String     DATE_FORMAT_MASK    = getDateFormatMask();
+
     public static FieldFactory getInstance() {
         return FieldFactory.INSTANCE;
     }
@@ -80,8 +87,14 @@
         } else if ( valueType == ValueType.STRING_TYPE ) {
             field = new ObjectFieldImpl( value.intern() );
         } else if ( valueType == ValueType.DATE_TYPE ) {
-            //MN: I think its fine like this, seems to work !
-            field = new ObjectFieldImpl( value );
+            SimpleDateFormat df = new SimpleDateFormat( DATE_FORMAT_MASK );
+            Date date;
+            try {
+                date = df.parse( value );
+                field = new ObjectFieldImpl( date );
+            } catch ( ParseException e ) {
+                field = new ObjectFieldImpl( value );
+            }
         } else if ( valueType == ValueType.ARRAY_TYPE ) {
             //MN: I think its fine like this.
             field = new ObjectFieldImpl( value );
@@ -173,7 +186,18 @@
             field = new ObjectFieldImpl( value );
         } else if ( valueType == ValueType.DATE_TYPE ) {
             //MN: I think its fine like this, seems to work !
-            field = new ObjectFieldImpl( value );
+            if( value instanceof String ) {
+                SimpleDateFormat df = new SimpleDateFormat( DATE_FORMAT_MASK );
+                Date date;
+                try {
+                    date = df.parse( (String) value );
+                    field = new ObjectFieldImpl( date );
+                } catch ( ParseException e ) {
+                    field = new ObjectFieldImpl( value );
+                }
+            } else {
+                field = new ObjectFieldImpl( value );
+            }
         } else if ( valueType == ValueType.ARRAY_TYPE ) {
             //MN: I think its fine like this.
             field = new ObjectFieldImpl( value );
@@ -234,4 +258,12 @@
         return value;
     }
 
+    /** Check for the system property override, if it exists */
+    private static String getDateFormatMask() {
+        String fmt = System.getProperty( "drools.dateformat" );
+        if ( fmt == null ) {
+            fmt = FieldFactory.DEFAULT_FORMAT_MASK;
+        }
+        return fmt;
+    }
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/AverageAccumulateFunction.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/AverageAccumulateFunction.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/AverageAccumulateFunction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,7 +17,9 @@
  */
 package org.drools.base.accumulators;
 
+import java.io.Serializable;
 
+
 /**
  * An implementation of an accumulator capable of calculating average values
  * 
@@ -26,7 +28,10 @@
  */
 public class AverageAccumulateFunction implements AccumulateFunction {
 
-    protected static class AverageData {
+    private static final long serialVersionUID = -7290793942538074637L;
+
+    protected static class AverageData implements Serializable {
+        private static final long serialVersionUID = -4919742651209619505L;
         public int    count = 0;
         public double total = 0;
     }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/CountAccumulateFunction.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/CountAccumulateFunction.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/CountAccumulateFunction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,7 +17,9 @@
  */
 package org.drools.base.accumulators;
 
+import java.io.Serializable;
 
+
 /**
  * An implementation of an accumulator capable of counting occurences
  * 
@@ -26,7 +28,10 @@
  */
 public class CountAccumulateFunction implements AccumulateFunction {
 
-    protected static class CountData {
+    private static final long serialVersionUID = 872167792984974537L;
+
+    protected static class CountData implements Serializable {
+        private static final long serialVersionUID = -2599726572843160004L;
         public long   count = 0;
     }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MVELAccumulatorFunctionExecutor.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MVELAccumulatorFunctionExecutor.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MVELAccumulatorFunctionExecutor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -18,7 +18,6 @@
 package org.drools.base.accumulators;
 
 import java.io.Serializable;
-import java.util.Map;
 
 import org.drools.WorkingMemory;
 import org.drools.base.mvel.DroolsMVELFactory;
@@ -39,7 +38,10 @@
 
     private static final long        serialVersionUID = 400L;
 
-    private final Object             dummy            = new Object();
+    private final Serializable       dummy            = new Serializable() {
+        private static final long serialVersionUID = 8250088684994959861L;
+    };
+    
     private final DroolsMVELFactory  model;
     private final Serializable       expression;
     private final AccumulateFunction function;

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MaxAccumulateFunction.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MaxAccumulateFunction.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MaxAccumulateFunction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,7 +17,9 @@
  */
 package org.drools.base.accumulators;
 
+import java.io.Serializable;
 
+
 /**
  * An implementation of an accumulator capable of calculating maximum values
  * 
@@ -26,7 +28,10 @@
  */
 public class MaxAccumulateFunction implements AccumulateFunction {
 
-    protected static class MaxData {
+    private static final long serialVersionUID = -6110228336507748202L;
+
+    protected static class MaxData implements Serializable {
+        private static final long serialVersionUID = -7020207404432163956L;
         public double max = Double.MIN_VALUE;
     }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MinAccumulateFunction.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MinAccumulateFunction.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/MinAccumulateFunction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,7 +17,9 @@
  */
 package org.drools.base.accumulators;
 
+import java.io.Serializable;
 
+
 /**
  * An implementation of an accumulator capable of calculating minimun values
  * 
@@ -26,7 +28,10 @@
  */
 public class MinAccumulateFunction implements AccumulateFunction {
 
-    protected static class MaxData {
+    private static final long serialVersionUID = -3230732263593698253L;
+
+    protected static class MaxData implements Serializable {
+        private static final long serialVersionUID = -2501515673470874786L;
         public double min = Double.MAX_VALUE;
     }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/SumAccumulateFunction.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/SumAccumulateFunction.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/accumulators/SumAccumulateFunction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,7 +17,9 @@
  */
 package org.drools.base.accumulators;
 
+import java.io.Serializable;
 
+
 /**
  * An implementation of an accumulator capable of calculating sum of values
  * 
@@ -26,7 +28,10 @@
  */
 public class SumAccumulateFunction implements AccumulateFunction {
 
-    protected static class SumData {
+    private static final long serialVersionUID = 6022115234191211516L;
+
+    protected static class SumData implements Serializable {
+        private static final long serialVersionUID = 7364124958409617473L;
         public double total = 0;
     }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -11,6 +11,7 @@
 import org.drools.spi.DataProvider;
 import org.drools.spi.PropagationContext;
 import org.drools.spi.Tuple;
+import org.drools.util.ArrayIterator;
 import org.mvel.MVEL;
 
 public class MVELDataProvider
@@ -52,15 +53,18 @@
 
         //this.expression.
         final Object result = MVEL.executeExpression( this.expression,
-                                                      factory );
-        if ( result instanceof Collection ) {
+                                                      factory );                
+
+        if ( result == null ) {
+            return Collections.EMPTY_LIST.iterator();           
+        } else if ( result instanceof Collection ) {
             return ((Collection) result).iterator();
         } else if ( result instanceof Iterator ) {
             return (Iterator) result;
-        } else if ( result != null ) {
+        } else if ( result.getClass().isArray() ) { 
+        	return new ArrayIterator( result );
+        } else {
             return Collections.singletonList( result ).iterator();
-        } else {
-            return Collections.EMPTY_LIST.iterator();
         }
     }
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,13 +2,13 @@
 
 /*
  * Copyright 2005 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.
@@ -69,7 +69,7 @@
 
     static class BigDecimalEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigDecimalEqualEvaluator();
@@ -83,7 +83,7 @@
                                 final Extractor extractor,
                                 final Object object1, final FieldValue object2) {
             final Object value1 = extractor.getValue( workingMemory, object1 );
-            final Object value2 = object2.getValue();
+            final Object value2 = object2.getBigDecimalValue();
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -128,7 +128,7 @@
 
     static class BigDecimalNotEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigDecimalNotEqualEvaluator();
@@ -142,7 +142,7 @@
                                 final Extractor extractor,
                                 final Object object1, final FieldValue object2) {
             final Object value1 = extractor.getValue( workingMemory, object1 );
-            final Object value2 = object2.getValue();
+            final Object value2 = object2.getBigDecimalValue();
             if ( value1 == null ) {
                 return value2 != null;
             }
@@ -186,7 +186,7 @@
 
     static class BigDecimalLessEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigDecimalLessEvaluator();
@@ -203,7 +203,7 @@
                 return false;
             }
             final BigDecimal comp = (BigDecimal) extractor.getValue( workingMemory, object1 );
-            return comp.compareTo( (BigDecimal) object2.getValue() ) < 0;
+            return comp.compareTo( (BigDecimal) object2.getBigDecimalValue() ) < 0;
         }
 
         public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
@@ -242,7 +242,7 @@
 
     static class BigDecimalLessOrEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigDecimalLessOrEqualEvaluator();
@@ -259,7 +259,7 @@
                 return false;
             }
             final BigDecimal comp = (BigDecimal) extractor.getValue( workingMemory, object1 );
-            return comp.compareTo( (BigDecimal) object2.getValue() ) <= 0;
+            return comp.compareTo( (BigDecimal) object2.getBigDecimalValue() ) <= 0;
         }
 
         public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
@@ -298,7 +298,7 @@
 
     static class BigDecimalGreaterEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigDecimalGreaterEvaluator();
@@ -315,7 +315,7 @@
                 return false;
             }
             final BigDecimal comp = (BigDecimal) extractor.getValue( workingMemory, object1 );
-            return comp.compareTo( (BigDecimal) object2.getValue() ) > 0;
+            return comp.compareTo( (BigDecimal) object2.getBigDecimalValue() ) > 0;
         }
 
         public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
@@ -354,7 +354,7 @@
 
     static class BigDecimalGreaterOrEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long      serialVersionUID = 400L;
         private final static Evaluator INSTANCE         = new BigDecimalGreaterOrEqualEvaluator();
@@ -371,7 +371,7 @@
                 return false;
             }
             final BigDecimal comp = (BigDecimal) extractor.getValue( workingMemory, object1 );
-            return comp.compareTo( (BigDecimal) object2.getValue() ) >= 0;
+            return comp.compareTo( (BigDecimal) object2.getBigDecimalValue() ) >= 0;
         }
 
         public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
@@ -425,7 +425,7 @@
 
     static class BigDecimalNotMemberOfEvaluator extends BaseNotMemberOfEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigDecimalNotMemberOfEvaluator();

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,13 +2,13 @@
 
 /*
  * Copyright 2005 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.
@@ -69,7 +69,7 @@
 
     static class BigIntegerEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigIntegerEqualEvaluator();
@@ -83,7 +83,7 @@
                                 final Extractor extractor,
                                 final Object object1, final FieldValue object2) {
             final Object value1 = extractor.getValue( workingMemory, object1 );
-            final Object value2 = object2.getValue();
+            final Object value2 = object2.getBigIntegerValue();
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -127,7 +127,7 @@
 
     static class BigIntegerNotEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigIntegerNotEqualEvaluator();
@@ -141,7 +141,7 @@
                                 final Extractor extractor,
                                 final Object object1, final FieldValue object2) {
             final Object value1 = extractor.getValue( workingMemory, object1 );
-            final Object value2 = object2.getValue();
+            final Object value2 = object2.getBigIntegerValue();
             if ( value1 == null ) {
                 return value2 != null;
             }
@@ -185,7 +185,7 @@
 
     static class BigIntegerLessEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigIntegerLessEvaluator();
@@ -202,7 +202,7 @@
                 return false;
             }
             final BigInteger comp = (BigInteger) extractor.getValue( workingMemory, object1 );
-            return comp.compareTo( (BigInteger) object2.getValue() ) < 0;
+            return comp.compareTo( object2.getBigIntegerValue() ) < 0;
         }
 
         public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
@@ -241,7 +241,7 @@
 
     static class BigIntegerLessOrEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigIntegerLessOrEqualEvaluator();
@@ -258,7 +258,7 @@
                 return false;
             }
             final BigInteger comp = (BigInteger) extractor.getValue( workingMemory, object1 );
-            return comp.compareTo( (BigInteger) object2.getValue() ) <= 0;
+            return comp.compareTo( object2.getBigIntegerValue() ) <= 0;
         }
 
         public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
@@ -297,7 +297,7 @@
 
     static class BigIntegerGreaterEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigIntegerGreaterEvaluator();
@@ -314,7 +314,7 @@
                 return false;
             }
             final BigInteger comp = (BigInteger) extractor.getValue( workingMemory, object1 );
-            return comp.compareTo( (BigInteger) object2.getValue() ) > 0;
+            return comp.compareTo( object2.getBigIntegerValue() ) > 0;
         }
 
         public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
@@ -353,7 +353,7 @@
 
     static class BigIntegerGreaterOrEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long      serialVersionUID = 400L;
         private final static Evaluator INSTANCE         = new BigIntegerGreaterOrEqualEvaluator();
@@ -370,7 +370,7 @@
                 return false;
             }
             final BigInteger comp = (BigInteger) extractor.getValue( workingMemory, object1 );
-            return comp.compareTo( (BigInteger) object2.getValue() ) >= 0;
+            return comp.compareTo( object2.getBigIntegerValue() ) >= 0;
         }
 
         public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
@@ -406,7 +406,7 @@
             return "BigInteger >=";
         }
     }
-    
+
     static class BigIntegerMemberOfEvaluator extends BaseMemberOfEvaluator {
 
         private static final long     serialVersionUID = 400L;
@@ -424,7 +424,7 @@
 
     static class BigIntegerNotMemberOfEvaluator extends BaseNotMemberOfEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new BigIntegerNotMemberOfEvaluator();
@@ -438,5 +438,5 @@
             return "BigInteger not memberOf";
         }
     }
-    
+
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,13 +2,13 @@
 
 /*
  * Copyright 2005 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.
@@ -31,14 +31,14 @@
 
 /**
  * This will generate evaluators that handle dates.
- * This will also parse strings into dates, according to 
+ * This will also parse strings into dates, according to
  * DEFAULT_FORMAT_MASK, unless it is overridden by the drools.dateformat system property.
- * 
+ *
  * When parsing dates from a string, no time is included.
- * 
- * So you can do expressions like 
+ *
+ * So you can do expressions like
  * <code>Person(birthday <= "10-Jul-1974")</code> etc.
- * 
+ *
  * @author Michael Neale
  */
 public class DateFactory
@@ -50,10 +50,13 @@
     private static final String     DATE_FORMAT_MASK    = getDateFormatMask();
 
     private static EvaluatorFactory INSTANCE            = new DateFactory();
-    private static SimpleDateFormat df;
+    private static ThreadLocal df = new ThreadLocal() {
+        protected Object initialValue() {
+            return new SimpleDateFormat( DateFactory.DATE_FORMAT_MASK );
+        };
+    };
 
     private DateFactory() {
-        df = new SimpleDateFormat( DateFactory.DATE_FORMAT_MASK );
     }
 
     public static EvaluatorFactory getInstance() {
@@ -87,7 +90,7 @@
 
     static class DateEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new DateEqualEvaluator();
@@ -160,7 +163,7 @@
 
     static class DateNotEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new DateNotEqualEvaluator();
@@ -232,7 +235,7 @@
 
     static class DateLessEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new DateLessEvaluator();
@@ -282,6 +285,7 @@
             }
             final Date value1 = (Date) extractor1.getValue( workingMemory, object1 );
             final Date value2 = (Date) extractor2.getValue( workingMemory, object2 );
+            if (null == value2) throw new NullPointerException(extractor2.toString());
             return value1.compareTo( value2 ) < 0;
         }
 
@@ -292,7 +296,7 @@
 
     static class DateLessOrEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new DateLessOrEqualEvaluator();
@@ -342,6 +346,7 @@
             }
             final Date value1 = (Date) extractor1.getValue( workingMemory, object1 );
             final Date value2 = (Date) extractor2.getValue( workingMemory, object2 );
+            if (null == value2) throw new NullPointerException(extractor2.toString());
             return value1.compareTo( value2 ) <= 0;
         }
 
@@ -352,7 +357,7 @@
 
     static class DateGreaterEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long     serialVersionUID = 400L;
         public final static Evaluator INSTANCE         = new DateGreaterEvaluator();
@@ -402,6 +407,7 @@
             }
             final Date value1 = (Date) extractor1.getValue( workingMemory, object1 );
             final Date value2 = (Date) extractor2.getValue( workingMemory, object2 );
+            if (null == value2) throw new NullPointerException(extractor2.toString());
             return value1.compareTo( value2 ) > 0;
         }
 
@@ -412,7 +418,7 @@
 
     static class DateGreaterOrEqualEvaluator extends BaseEvaluator {
         /**
-         * 
+         *
          */
         private static final long      serialVersionUID = 400L;
         private final static Evaluator INSTANCE         = new DateGreaterOrEqualEvaluator();
@@ -462,6 +468,7 @@
             }
             final Date value1 = (Date) extractor1.getValue( workingMemory, object1 );
             final Date value2 = (Date) extractor2.getValue( workingMemory, object2 );
+            if (null == value2) throw new NullPointerException(extractor2.toString());
             return value1.compareTo( value2 ) >= 0;
         }
 
@@ -499,11 +506,11 @@
             return "Date not memberOf";
         }
     }
-    
+
     /** Use the simple date formatter to read the date from a string */
     public static Date parseDate(final String input) {
         try {
-            return df.parse( input );
+            return ((SimpleDateFormat)df.get()).parse( input );
         } catch ( final ParseException e ) {
             throw new IllegalArgumentException( "Invalid date input format: [" + input + "] it should follow: [" + DateFactory.DATE_FORMAT_MASK + "]" );
         }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -110,8 +110,9 @@
 
         public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
                                            final VariableContextEntry context, final Object left) {
-            final Object value1 = context.declaration.getExtractor().getValue( workingMemory, left );
-            final Object value2 = ((ObjectVariableContextEntry) context).right;
+            final Object value2 = context.declaration.getExtractor().getValue( workingMemory, left );
+            final Object value1 = ((ObjectVariableContextEntry) context).right;
+            // the constrained field must be checked as the first parameter
             return comparator.equals( value1, value2 );
         }
 
@@ -160,8 +161,8 @@
 
         public boolean evaluateCachedRight(InternalWorkingMemory workingMemory,
                                            final VariableContextEntry context, final Object left) {
-            final Object value1 = context.declaration.getExtractor().getValue( workingMemory, left );
-            final Object value2 = ((ObjectVariableContextEntry) context).right;
+            final Object value2 = context.declaration.getExtractor().getValue( workingMemory, left );
+            final Object value1 = ((ObjectVariableContextEntry) context).right;
             return !comparator.equals( value1, value2 );
         }
 
@@ -544,10 +545,10 @@
 
         // trying to implement runtime type coercion
         public boolean equals( Object arg0, Object arg1 ) {
-            if ( arg0 == null ) {
-                return arg1 == null;
+            if ( arg0 == null || arg1 == null ) {
+                return arg0 == arg1;
             }
-            if( arg1 != null && arg1 instanceof ShadowProxy ) {
+            if( arg1 instanceof ShadowProxy ) {
                 return arg1.equals( arg0 );
             }
             if( arg0 instanceof Number ){
@@ -558,13 +559,23 @@
                 } else if( arg1 instanceof String ) {
                     val1 = Double.parseDouble( ( String ) arg1 );
                 } else {
-                    throw new ClassCastException( "Not possible to convert "+arg1.getClass()+" into a double value to compare it to "+arg0.getClass() );
+                    throw new ClassCastException( "Not possible to compare "+arg1.getClass()+" to "+arg0.getClass() );
                 }
                 return val0 == val1; // in the future we may need to handle rounding errors 
             } 
             if( arg0 instanceof String ) {
                 return arg0.equals( arg1.toString() );
             }
+            if( arg0 instanceof Boolean ) {
+                if( arg1 instanceof String ) {
+                    return ((Boolean)arg0).booleanValue() == Boolean.valueOf( (String)arg1 ).booleanValue();
+                }
+            }
+            if( arg0 instanceof Character ) {
+                if( arg1 instanceof String && ((String) arg1).length() == 1 ) {
+                    return ((Character)arg0).charValue() == ((String)arg1).charAt( 0 );
+                }
+            }
             return arg0.equals( arg1 );
         }
     }
@@ -576,6 +587,13 @@
 
         public int compare(Object arg0,
                            Object arg1) {
+            if( arg0 == null || arg1 == null ) {
+                if( arg0 == arg1 ) {
+                    return 0;
+                } else {
+                    throw new NullPointerException( "Can't compare "+arg0+" to "+arg1 );
+                }
+            }
             if( arg0 instanceof Double || arg0 instanceof Float ) {
                 double val0 = ((Number) arg0).doubleValue();
                 double val1 = 0;
@@ -615,7 +633,11 @@
                 }
                 
             }
-            return ((Comparable)arg0).compareTo( arg1 );
+            try {
+                return ((Comparable)arg0).compareTo( arg1 );
+            } catch ( ClassCastException cce ) {
+                throw new ClassCastException( "Not possible to compare a "+arg0.getClass()+" with a "+arg1.getClass());
+            }
         }
     }
     

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/extractors/MVELClassFieldExtractor.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/extractors/MVELClassFieldExtractor.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/extractors/MVELClassFieldExtractor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -43,7 +43,6 @@
 
     private CompiledExpression mvelExpression = null;
     private Map extractors = null;
-    private Map variables = null; 
 
     public MVELClassFieldExtractor(Class clazz,
                                    String fieldName,
@@ -52,7 +51,6 @@
                Object.class, // fieldType
                ValueType.determineValueType( Object.class ) ); // value type
         this.extractors = new HashMap();
-        this.variables = new HashMap();
 
         ExpressionCompiler compiler = new ExpressionCompiler( fieldName );
         this.mvelExpression = compiler.compile();
@@ -70,14 +68,15 @@
      * @see org.drools.base.extractors.BaseObjectClassFieldExtractor#getValue(java.lang.Object)
      */
     public Object getValue(InternalWorkingMemory workingMemory, Object object) {
+        Map variables = new HashMap();
         for( Iterator it = this.extractors.entrySet().iterator(); it.hasNext(); ) {
             Map.Entry entry = (Map.Entry) it.next();
             String var = (String) entry.getKey();
             FieldExtractor extr = (FieldExtractor) entry.getValue();
             
-            this.variables.put( var, extr.getValue( workingMemory, object ));
+            variables.put( var, extr.getValue( workingMemory, object ));
         }
-        return MVEL.executeExpression( mvelExpression, this.variables );
+        return MVEL.executeExpression( mvelExpression, variables );
     }
 
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/BooleanFieldImpl.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/BooleanFieldImpl.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/BooleanFieldImpl.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,12 +1,12 @@
 /*
  * Copyright 2005 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.
@@ -16,6 +16,9 @@
 
 package org.drools.base.field;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
 import org.drools.RuntimeDroolsException;
 import org.drools.spi.FieldValue;
 
@@ -89,7 +92,7 @@
     public int hashCode() {
         return this.value ? 1 : 0;
     }
-    
+
     public boolean isNull() {
         return false;
     }
@@ -113,9 +116,17 @@
     public boolean isCollectionField() {
         return false;
     }
-    
+
     public boolean isStringField() {
         return false;
     }
 
+	public BigDecimal getBigDecimalValue() {
+		throw new RuntimeDroolsException( "Conversion to BigDecimal not supported for type boolean" );
+	}
+
+	public BigInteger getBigIntegerValue() {
+		throw new RuntimeDroolsException( "Conversion to BigInteger not supported for type boolean" );
+	}
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/DoubleFieldImpl.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/DoubleFieldImpl.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/DoubleFieldImpl.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,5 +1,8 @@
 package org.drools.base.field;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
 import org.drools.RuntimeDroolsException;
 import org.drools.spi.FieldValue;
 
@@ -69,7 +72,7 @@
     public int hashCode() {
         return (int) this.value;
     }
-    
+
     public boolean isNull() {
         return false;
     }
@@ -89,7 +92,7 @@
     public boolean isObjectField() {
         return false;
     }
-    
+
     public boolean isCollectionField() {
         return false;
     }
@@ -98,4 +101,12 @@
         return false;
     }
 
+	public BigDecimal getBigDecimalValue() {
+		return new BigDecimal(this.value);
+	}
+
+	public BigInteger getBigIntegerValue() {
+		throw new RuntimeDroolsException( "Conversion to BigInteger not supported for type double" );
+	}
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/LongFieldImpl.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/LongFieldImpl.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/LongFieldImpl.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,5 +1,8 @@
 package org.drools.base.field;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
 import org.drools.RuntimeDroolsException;
 import org.drools.spi.FieldValue;
 
@@ -69,7 +72,7 @@
     public int hashCode() {
         return (int) this.value;
     }
-    
+
     public boolean isNull() {
         return false;
     }
@@ -98,4 +101,12 @@
         return false;
     }
 
+	public BigDecimal getBigDecimalValue() {
+		return new BigDecimal(this.value);
+	}
+
+	public BigInteger getBigIntegerValue() {
+		return BigInteger.valueOf(this.value);
+	}
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,13 +2,13 @@
 
 /*
  * Copyright 2005 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.
@@ -16,6 +16,8 @@
  * limitations under the License.
  */
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.util.Collection;
 
 import org.drools.RuntimeDroolsException;
@@ -27,7 +29,7 @@
 
     private static final long serialVersionUID = 400L;
     private final Object      value;
-    
+
     private final boolean     isCollection;
     private final boolean     isNumber;
     private final boolean     isBoolean;
@@ -65,7 +67,7 @@
             return ((Number) this.value).byteValue();
         } else if( isString ) {
             return Byte.valueOf( (String) this.value ).byteValue();
-        } 
+        }
         throw new RuntimeDroolsException( "Conversion to byte not supported for type: " + this.value.getClass() );
     }
 
@@ -142,7 +144,7 @@
             return 0;
         }
     }
-    
+
     public boolean isNull() {
         return value == null;
     }
@@ -162,12 +164,34 @@
     public boolean isObjectField() {
         return true;
     }
-    
+
     public boolean isCollectionField() {
         return this.isCollection;
     }
-    
+
     public boolean isStringField() {
         return this.isString;
     }
+
+	public BigDecimal getBigDecimalValue() {
+		if (this.value instanceof BigDecimal) return (BigDecimal) this.value;
+		if (this.isNumber) {
+			return new BigDecimal(((Number) value).doubleValue());
+		} else if (this.isString) {
+			return new BigDecimal((String) value);
+		}
+		if (this.value == null) return null;
+        throw new RuntimeDroolsException( "Conversion to BigDecimal not supported for type: " + this.value.getClass() );
+	}
+
+	public BigInteger getBigIntegerValue() {
+		if (this.value instanceof BigInteger) return (BigInteger) this.value;
+		if (this.isNumber) {
+			return BigInteger.valueOf(((Number) value).longValue());
+		} else if (this.isString) {
+			return new BigInteger((String) value);
+		}
+		if (this.value == null) return null;
+        throw new RuntimeDroolsException( "Conversion to BigInteger not supported for type: " + this.value.getClass() );
+	}
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/DroolsMVELFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,15 +1,21 @@
 package org.drools.base.mvel;
 
-import java.io.Serializable;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
 import java.lang.reflect.Method;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.drools.WorkingMemory;
+import org.drools.common.DroolsObjectInputStream;
 import org.drools.reteoo.ReteTuple;
 import org.drools.rule.Declaration;
 import org.drools.spi.KnowledgeHelper;
@@ -23,7 +29,7 @@
 public class DroolsMVELFactory extends BaseVariableResolverFactory
     implements
     LocalVariableResolverFactory,
-    Serializable,
+    Externalizable,
     Cloneable {
 
     private static final long serialVersionUID = 400L;
@@ -49,10 +55,16 @@
 
     static {
         //for handling dates as string literals
-        DataConversion.addConversionHandler( Date.class, new MVELDateCoercion() );
-        DataConversion.addConversionHandler( Calendar.class, new MVELCalendarCoercion() );
+        DataConversion.addConversionHandler( Date.class,
+                                             new MVELDateCoercion() );
+        DataConversion.addConversionHandler( Calendar.class,
+                                             new MVELCalendarCoercion() );
     }
 
+    // used only by serialization
+    public DroolsMVELFactory() {
+    }
+
     public DroolsMVELFactory(final Map previousDeclarations,
                              final Map localDeclarations,
                              final Map globals) {
@@ -80,36 +92,37 @@
         }
     }
 
-//    public void writeExternal(final ObjectOutput stream) throws IOException {
-//        setNextFactory( null );
-//        stream.writeObject( this.previousDeclarations );
-//        stream.writeObject( this.localDeclarations );
-//        stream.writeObject( this.globals );
-//        stream.writeObject( this.variableResolvers );
-//    }
-//
-//    public void readExternal(final ObjectInput stream) throws IOException,
-//                                                      ClassNotFoundException {
-//        DroolsObjectInputStream droolsInputStream = (DroolsObjectInputStream) stream;
-//
-//        this.previousDeclarations = (Map) droolsInputStream.readObject();
-//        this.localDeclarations = (Map) droolsInputStream.readObject();
-//        this.globals = (Map) droolsInputStream.readObject();
-//        this.variableResolvers = (Map) droolsInputStream.readObject();
-//
-//        StaticMethodImportResolverFactory factory = new StaticMethodImportResolverFactory();
-//        setNextFactory( factory );
-//
-//        Package pkg = droolsInputStream.getPackage();
-//        ClassLoader classLoader = pkg.getPackageCompilationData().getClassLoader();
-//        for ( Iterator it = pkg.getStaticImports().iterator(); it.hasNext(); ) {
-//            String staticImportEntry = (String) it.next();
-//            addStaticImport( factory,
-//                             staticImportEntry,
-//                             classLoader );
-//        }
-//    }
+    public void writeExternal(final ObjectOutput stream) throws IOException {
+        stream.writeObject( this.previousDeclarations );
+        stream.writeObject( this.localDeclarations );
+        stream.writeObject( this.globals );
+        stream.writeObject( this.localVariables );
+        stream.writeObject( this.variableResolvers != null ? new HashSet( this.variableResolvers.keySet() ) : null );
+    }
 
+    public void readExternal(final ObjectInput stream) throws IOException,
+                                                      ClassNotFoundException {
+        DroolsObjectInputStream droolsInputStream = (DroolsObjectInputStream) stream;
+
+        this.previousDeclarations = (Map) droolsInputStream.readObject();
+        this.localDeclarations = (Map) droolsInputStream.readObject();
+        this.globals = (Map) droolsInputStream.readObject();
+        this.localVariables = (Map) droolsInputStream.readObject();
+
+        // restore resolvers
+        Set resolvers = (Set) droolsInputStream.readObject();
+        if ( resolvers != null ) {
+            for ( Iterator it = resolvers.iterator(); it.hasNext(); ) {
+                String name = (String) it.next();
+                if ( !isResolveable( name ) ) {
+                    addResolver( name,
+                                 new LocalVariableResolver( this,
+                                                            name ) );
+                }
+            }
+        }
+    }
+
     public static void addStaticImport(StaticMethodImportResolverFactory factory,
                                        String staticImportEntry,
                                        ClassLoader classLoader) {
@@ -162,7 +175,7 @@
                 this.localVariables = new HashMap();
             } else {
                 this.localVariables.clear();
-            }            
+            }
         } else {
             this.localVariables = variables;
         }
@@ -199,9 +212,9 @@
                          vr = new LocalVariableResolver( this,
                                                          name ) );
         }
-        
+
         vr.setValue( value );
-        return vr;        
+        return vr;
     }
 
     public VariableResolver createVariable(String name,
@@ -213,8 +226,8 @@
                          vr = new LocalVariableResolver( this,
                                                          name,
                                                          type ) );
-        }        
-        
+        }
+
         vr.setValue( value );
         return vr;
     }
@@ -243,7 +256,7 @@
                                                        (Class) this.globals.get( name ),
                                                        this ) );
             return true;
-        }  else if ( nextFactory != null ) {
+        } else if ( nextFactory != null ) {
             return nextFactory.isResolveable( name );
         }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/LocalVariableResolver.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/LocalVariableResolver.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/LocalVariableResolver.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -22,9 +22,9 @@
 import org.mvel.DataConversion;
 import org.mvel.integration.VariableResolver;
 
-import java.util.Map;
+public class LocalVariableResolver implements VariableResolver {
 
-public class LocalVariableResolver implements VariableResolver {
+    private static final long serialVersionUID = -422184063524963203L;
     private String name;
     private Class knownType;
     private DroolsMVELFactory factory;

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/MVELPredicateExpression.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/MVELPredicateExpression.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/mvel/MVELPredicateExpression.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -16,11 +16,14 @@
 
     private final Serializable      expr;
     private final DroolsMVELFactory prototype;
+    private final String            exprStr;
 
     public MVELPredicateExpression(final Serializable expr,
-                                   final DroolsMVELFactory factory) {
+                                   final DroolsMVELFactory factory,
+                                   final String exprStr ) {
         this.expr = expr;
         this.prototype = factory;
+        this.exprStr = exprStr;
     }
     
     public Object createContext() {
@@ -44,5 +47,9 @@
                                                                  factory );
         return result.booleanValue();
     }
+    
+    public String toString() {
+        return "eval( "+exprStr+" )";
+    }
 
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/AbstractRuleBase.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -40,10 +40,11 @@
 import org.drools.RuleBaseConfiguration;
 import org.drools.RuleIntegrationException;
 import org.drools.StatefulSession;
+import org.drools.concurrent.CommandExecutor;
+import org.drools.concurrent.ExecutorService;
 import org.drools.event.RuleBaseEventListener;
 import org.drools.event.RuleBaseEventSupport;
 import org.drools.objenesis.Objenesis;
-import org.drools.objenesis.ObjenesisStd;
 import org.drools.rule.CompositePackageClassLoader;
 import org.drools.rule.InvalidPatternException;
 import org.drools.rule.MapBackedClassLoader;
@@ -51,8 +52,10 @@
 import org.drools.rule.PackageCompilationData;
 import org.drools.rule.Rule;
 import org.drools.ruleflow.common.core.Process;
+import org.drools.spi.ExecutorServiceFactory;
 import org.drools.spi.FactHandleFactory;
 import org.drools.util.ObjectHashSet;
+import org.drools.util.ObjenesisFactory;
 import org.drools.util.concurrent.locks.ReentrantLock;
 
 /**
@@ -84,10 +87,10 @@
 
     protected transient CompositePackageClassLoader packageClassLoader;
 
-    protected transient MapBackedClassLoader        classLoader;
+    protected MapBackedClassLoader                  classLoader;
 
 	private transient Objenesis                     objenesis;
-
+	
 	/** The fact handle factory. */
     protected FactHandleFactory                     factHandleFactory;
 
@@ -169,25 +172,31 @@
      * 
      */
     public void doWriteExternal(final ObjectOutput stream,
-                                final Object[] objects) throws IOException {
+                                final Object[] objects) throws IOException {        
         stream.writeObject( this.pkgs );
+        
+        synchronized ( this.classLoader.getStore() ) {
+            stream.writeObject( this.classLoader.getStore() );
+        }
 
         // Rules must be restored by an ObjectInputStream that can resolve using a given ClassLoader to handle seaprately by storing as
         // a byte[]
         final ByteArrayOutputStream bos = new ByteArrayOutputStream();
         final ObjectOutput out = new ObjectOutputStream( bos );
         out.writeObject( this.id );
+        out.writeObject( this.config );
         out.writeObject( this.processes );
         out.writeObject( this.agendaGroupRuleTotals );
         out.writeObject( this.factHandleFactory );
         out.writeObject( this.globals );
-        out.writeObject( this.config );
+        
+        this.eventSupport.removeEventListener( RuleBaseEventListener.class );
         out.writeObject( this.eventSupport );
-
+        
         for ( int i = 0, length = objects.length; i < length; i++ ) {
             out.writeObject( objects[i] );
-        }
-
+        }        
+        
         stream.writeObject( bos.toByteArray() );
     }
 
@@ -202,19 +211,19 @@
                                                       ClassNotFoundException {
         // PackageCompilationData must be restored before Rules as it has the ClassLoader needed to resolve the generated code references in Rules        
         this.pkgs = (Map) stream.readObject();
-
+        Map store = (Map) stream.readObject();
+        
         if ( stream instanceof DroolsObjectInputStream ) {
             final DroolsObjectInputStream parentStream = (DroolsObjectInputStream) stream;
             parentStream.setRuleBase( this );
             this.packageClassLoader = new CompositePackageClassLoader( parentStream.getClassLoader() );
-            this.classLoader = new MapBackedClassLoader( parentStream.getClassLoader() );
+            this.classLoader = new MapBackedClassLoader( parentStream.getClassLoader(), store );
         } else {
             this.packageClassLoader = new CompositePackageClassLoader( Thread.currentThread().getContextClassLoader() );
-            this.classLoader = new MapBackedClassLoader( Thread.currentThread().getContextClassLoader() );
+            this.classLoader = new MapBackedClassLoader( Thread.currentThread().getContextClassLoader(), store );
         }
 
         this.packageClassLoader.addClassLoader( this.classLoader );
-		this.objenesis = createObjenesis();
 
 		for ( final Iterator it = this.pkgs.values().iterator(); it.hasNext(); ) {
             this.packageClassLoader.addClassLoader( ((Package) it.next()).getPackageCompilationData().getClassLoader() );
@@ -229,13 +238,16 @@
         childStream.setRuleBase( this );
 
         this.id = (String) childStream.readObject();
+
+        this.config = (RuleBaseConfiguration) childStream.readObject();
+        this.config.setClassLoader( childStream.getClassLoader() );
+        this.objenesis = createObjenesis();
+
         this.processes = (Map) childStream.readObject();
         this.agendaGroupRuleTotals = (Map) childStream.readObject();
         this.factHandleFactory = (FactHandleFactory) childStream.readObject();
         this.globals = (Map) childStream.readObject();
 
-        this.config = (RuleBaseConfiguration) childStream.readObject();
-        this.config.setClassLoader( childStream.getClassLoader() );
         this.eventSupport = (RuleBaseEventSupport) childStream.readObject();
         this.eventSupport.setRuleBase( this );
 
@@ -251,7 +263,11 @@
 	 * @return a standart Objenesis instanse with caching turned on.
 	 */
 	protected Objenesis createObjenesis() {
-		return new ObjenesisStd(true);
+	    if( this.config.isUseStaticObjenesis() ) {
+	        return ObjenesisFactory.getStaticObjenesis();
+	    } else {
+	        return ObjenesisFactory.getDefaultObjenesis();
+	    }
 	}
 
 	/**
@@ -493,9 +509,13 @@
         final Rule[] newRules = newPkg.getRules();
         for ( int i = 0; i < newRules.length; i++ ) {
             final Rule newRule = newRules[i];
-            if ( pkg.getRule( newRule.getName() ) == null ) {
-                pkg.addRule( newRule );
+
+            // remove the rule if it already exists
+            if ( pkg.getRule( newRule.getName() ) != null ) {
+                removeRule( pkg, pkg.getRule( newRule.getName() ) );
             }
+            
+            pkg.addRule( newRule );            
         }
 
         //and now the rule flows
@@ -726,11 +746,25 @@
                                                                                       this.packageClassLoader );
         streamWithLoader.setRuleBase( this );
 
-        final AbstractWorkingMemory workingMemory = (AbstractWorkingMemory) streamWithLoader.readObject();
+        final StatefulSession session = (StatefulSession) streamWithLoader.readObject();
 
         synchronized ( this.pkgs ) {
-            workingMemory.setRuleBase( this );
-            return (StatefulSession) workingMemory;
+            ((InternalWorkingMemory) session).setRuleBase( this );
+            ((InternalWorkingMemory) session).setId( ( nextWorkingMemoryCounter() ) );
+            
+            ExecutorService executor = ExecutorServiceFactory.createExecutorService(  this.config.getExecutorService() );;
+
+            executor.setCommandExecutor( new CommandExecutor( session ) );
+            ((InternalWorkingMemory) session).setExecutorService( executor );
+
+            if ( keepReference ) {
+                addStatefulSession( session );
+                for( Iterator it = session.getRuleBaseUpdateListeners().iterator(); it.hasNext(); ) {
+                    addEventListener( (RuleBaseEventListener) it.next() ); 
+                }
+            }     
+            
+            return (StatefulSession) session;
         }
     }
 
@@ -752,7 +786,7 @@
         synchronized ( this.pkgs ) {
             if ( this.reloadPackageCompilationData != null ) {
                 this.reloadPackageCompilationData.execute( this );
-				this.reloadPackageCompilationData = null;
+                this.reloadPackageCompilationData = null;
             }
         }
     }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -44,6 +44,7 @@
 import org.drools.RuleBaseConfiguration.LogicalOverride;
 import org.drools.base.MapGlobalResolver;
 import org.drools.base.ShadowProxy;
+import org.drools.concurrent.ExecutorService;
 import org.drools.event.AgendaEventListener;
 import org.drools.event.AgendaEventSupport;
 import org.drools.event.RuleBaseEventListener;
@@ -85,74 +86,79 @@
     InternalWorkingMemoryActions,
     EventSupport,
     PropertyChangeListener {
+    
+    private static final long serialVersionUID = 405L;
+    
     // ------------------------------------------------------------
     // Constants
     // ------------------------------------------------------------
-    protected static final Class[]                  ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES = new Class[]{PropertyChangeListener.class};
+    protected static final Class[]         ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES = new Class[]{PropertyChangeListener.class};
 
     // ------------------------------------------------------------
     // Instance members
     // ------------------------------------------------------------
-    protected final long                            id;
+    protected long                         id;
 
     /** The arguments used when adding/removing a property change listener. */
-    protected final Object[]                        addRemovePropertyChangeListenerArgs           = new Object[]{this};
+    protected final Object[]               addRemovePropertyChangeListenerArgs           = new Object[]{this};
 
     /** The actual memory for the <code>JoinNode</code>s. */
-    protected final PrimitiveLongMap                nodeMemories                                  = new PrimitiveLongMap( 32,
-                                                                                                                          8 );
+    protected final PrimitiveLongMap       nodeMemories                                  = new PrimitiveLongMap( 32,
+                                                                                                                 8 );
     /** Object-to-handle mapping. */
-    private final ObjectHashMap                     assertMap;
-    private final ObjectHashMap                     identityMap;
+    private final ObjectHashMap            assertMap;
+    private final ObjectHashMap            identityMap;
 
-    protected Map                                   queryResults                                  = Collections.EMPTY_MAP;
+    protected Map                          queryResults                                  = Collections.EMPTY_MAP;
 
     /** Global values which are associated with this memory. */
-    protected GlobalResolver                        globalResolver;
+    protected GlobalResolver               globalResolver;
 
-    protected static final Object                   NULL                                          = new Serializable() {
-                                                                                                      private static final long serialVersionUID = 400L;
-                                                                                                  };
+    protected static final Object          NULL                                          = new Serializable() {
+                                                                                             private static final long serialVersionUID = 400L;
+                                                                                         };
 
     /** The eventSupport */
-    protected WorkingMemoryEventSupport             workingMemoryEventSupport                     = new WorkingMemoryEventSupport();
+    protected WorkingMemoryEventSupport    workingMemoryEventSupport                     = new WorkingMemoryEventSupport();
 
-    protected AgendaEventSupport                    agendaEventSupport                            = new AgendaEventSupport();
+    protected AgendaEventSupport           agendaEventSupport                            = new AgendaEventSupport();
 
-    protected RuleFlowEventSupport                  ruleFlowEventSupport                          = new RuleFlowEventSupport();
-    
-    protected List                                  __ruleBaseEventListeners                      = new LinkedList();                      
+    protected RuleFlowEventSupport         ruleFlowEventSupport                          = new RuleFlowEventSupport();
 
+    protected List                         __ruleBaseEventListeners                      = new LinkedList();
+
     /** The <code>RuleBase</code> with which this memory is associated. */
-    protected transient InternalRuleBase            ruleBase;
+    protected transient InternalRuleBase   ruleBase;
 
-    protected final FactHandleFactory               handleFactory;
+    protected final FactHandleFactory      handleFactory;
 
-    protected final TruthMaintenanceSystem          tms;
+    protected final TruthMaintenanceSystem tms;
 
     /** Rule-firing agenda. */
-    protected DefaultAgenda                         agenda;
+    protected DefaultAgenda                agenda;
 
-    protected final List                            actionQueue                                   = new ArrayList();
+    protected final LinkedList                  actionQueue                                   = new LinkedList();
 
-    protected final ReentrantLock                   lock                                          = new ReentrantLock();
+    protected boolean                      evaluatingActionQueue;
 
-    protected final boolean                         discardOnLogicalOverride;
+    protected final ReentrantLock          lock                                          = new ReentrantLock();
 
-    protected long                                  propagationIdCounter;
+    protected final boolean                discardOnLogicalOverride;
 
-    private final boolean                           maintainTms;
+    protected long                         propagationIdCounter;
 
-    private final boolean                           sequential;
+    private final boolean                  maintainTms;
 
-    private List                                    liaPropagations                               = Collections.EMPTY_LIST;
+    private final boolean                  sequential;
 
+    private List                           liaPropagations                               = Collections.EMPTY_LIST;
+
     /** Flag to determine if a rule is currently being fired. */
-    protected boolean                               firing;
+    protected boolean                      firing;
 
-    protected boolean                               halt;
+    protected boolean                      halt;
 
-    private int                                     processCounter;
+    private int                            processCounter;
 
     // ------------------------------------------------------------
     // Constructors
@@ -204,7 +210,7 @@
     // Instance methods
     // ------------------------------------------------------------    
 
-    void setRuleBase(final InternalRuleBase ruleBase) {
+    public void setRuleBase(final InternalRuleBase ruleBase) {
         this.ruleBase = ruleBase;
     }
 
@@ -388,6 +394,10 @@
         return this.id;
     }
 
+    public void setId(long id) {
+        this.id = id;
+    }
+
     public Object getGlobal(final String identifier) {
         try {
             this.lock.lock();
@@ -582,6 +592,20 @@
     public FactHandle getFactHandle(final Object object) {
         try {
             this.lock.lock();
+            final FactHandle factHandle = (FactHandle) this.assertMap.get( object );
+
+            return factHandle;
+        } finally {
+            this.lock.unlock();
+        }
+    }
+
+    /**
+     * @see InternalWorkingMemory
+     */
+    public FactHandle getFactHandleByIdentity(final Object object) {
+        try {
+            this.lock.lock();
             final FactHandle factHandle = (FactHandle) this.identityMap.get( object );
 
             return factHandle;
@@ -983,8 +1007,9 @@
             this.lock.lock();
             this.ruleBase.executeQueuedActions();
 
-            final InternalFactHandle handle = (InternalFactHandle) factHandle;
-            if ( handle.getId() == -1 ) {
+            // make sure the handles if from this working memory
+            final InternalFactHandle handle = (InternalFactHandle) this.assertMap.get( factHandle );
+            if ( handle == null || handle.getId() == -1 ) {
                 // can't retract an already retracted handle
                 return;
             }
@@ -1208,20 +1233,22 @@
             this.lock.lock();
             this.ruleBase.executeQueuedActions();
 
+            // make sure the handle is from this working memory
+            final InternalFactHandle handle = (InternalFactHandle) this.assertMap.get( factHandle );
+
+            if ( handle == null || handle.getId() == -1 || object == null ) {
+                // the handle is invalid, most likely already  retracted, so return
+                // and we cannot assert a null object
+                return;
+            }
+
             // only needed if we maintain tms, but either way we must get it before we do the retract
             int status = -1;
             if ( this.maintainTms ) {
-                status = ((InternalFactHandle) factHandle).getEqualityKey().getStatus();
+                status = handle.getEqualityKey().getStatus();
             }
-            final InternalFactHandle handle = (InternalFactHandle) factHandle;
             final Object originalObject = (handle.isShadowFact()) ? ((ShadowProxy) handle.getObject()).getShadowedObject() : handle.getObject();
 
-            if ( handle.getId() == -1 || object == null ) {
-                // the handle is invalid, most likely already  retracted, so return
-                // and we cannot assert a null object
-                return;
-            }
-
             if ( activation != null ) {
                 // release resources so that they can be GC'ed
                 activation.getPropagationContext().releaseResources();
@@ -1291,16 +1318,15 @@
     }
 
     public void executeQueuedActions() {
-        while ( !actionQueue.isEmpty() ) {
-            final WorkingMemoryAction action = (WorkingMemoryAction) actionQueue.get( 0 );
-            actionQueue.remove( 0 );
-            action.execute( this );
+        if( ! evaluatingActionQueue ) {
+            evaluatingActionQueue = true;
+            WorkingMemoryAction action = null;           
+            
+            while ( actionQueue.size() != 0 && ( action = (WorkingMemoryAction) actionQueue.removeFirst() ) != null ) {
+                action.execute( this );
+            }
+            evaluatingActionQueue = false;
         }
-        //        for ( final Iterator it = this.actionQueue.iterator(); it.hasNext(); ) {
-        //            final WorkingMemoryAction action = (WorkingMemoryAction) it.next();
-        //            it.remove();
-        //            action.execute( this );
-        //        }
     }
 
     public void queueWorkingMemoryAction(final WorkingMemoryAction action) {
@@ -1459,4 +1485,11 @@
         return result;
     }
 
+    public ExecutorService getExecutorService() {
+        return null; // no executor service
+    }
+
+    public void setExecutorService(ExecutorService executor) {
+        // no executor service, so nothing to set
+    }
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/BaseNode.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/BaseNode.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/BaseNode.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -47,7 +47,6 @@
     public int getId() {
         return this.id;
     }
-        
 
     /**
      * Attaches the node into the network. Usually to the parent <code>ObjectSource</code> or <code>TupleSource</code>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -116,5 +116,5 @@
     public void setExtractorFactory(ClassFieldExtractorCache extractorFactory) {
         this.extractorFactory = extractorFactory;
     }
-
+    
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -139,4 +139,8 @@
             this.right = null;
         }         
     }
+
+    public ConstraintType getType() {
+        return ConstraintType.BETA;
+    }
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,9 +17,9 @@
  */
 
 import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Pattern;
 import org.drools.rule.ContextEntry;
 import org.drools.rule.Declaration;
+import org.drools.rule.Pattern;
 import org.drools.spi.BetaNodeFieldConstraint;
 
 public class InstanceNotEqualsConstraint
@@ -92,6 +92,10 @@
         return new InstanceNotEqualsConstraint( this.otherPattern );
     }
 
+    public ConstraintType getType() {
+        return ConstraintType.BETA;
+    }
+
     public static class InstanceNotEqualsConstraintContextEntry
         implements
         ContextEntry {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/InternalWorkingMemory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -3,6 +3,7 @@
 import org.drools.FactException;
 import org.drools.FactHandle;
 import org.drools.WorkingMemory;
+import org.drools.concurrent.ExecutorService;
 import org.drools.event.AgendaEventSupport;
 import org.drools.event.RuleFlowEventSupport;
 import org.drools.event.WorkingMemoryEventSupport;
@@ -16,9 +17,13 @@
 
 public interface InternalWorkingMemory
     extends
-    WorkingMemory {      
-    public long getId();    
+    WorkingMemory {
+    public long getId();
     
+    public void setId(long id);
+    
+    void setRuleBase(final InternalRuleBase ruleBase);
+
     public void setWorkingMemoryEventSupport(WorkingMemoryEventSupport workingMemoryEventSupport);
     
     public ObjectHashMap getAssertMap();
@@ -42,6 +47,16 @@
     public void queueWorkingMemoryAction(final WorkingMemoryAction action);
 
     public FactHandleFactory getFactHandleFactory();
+    
+    /**
+     * Looks for the fact handle associated to the given object
+     * by looking up the object IDENTITY (==), even if rule base
+     * is configured to AssertBehavior.EQUALITY.
+     * 
+     * @param object
+     * @return null if fact handle not found
+     */
+    public FactHandle getFactHandleByIdentity(final Object object);
 
     public void removeLogicalDependencies(final Activation activation,
                                           final PropagationContext context,
@@ -59,4 +74,7 @@
     
     public void addLIANodePropagation(LIANodePropagation liaNodePropagation);
     
+    public ExecutorService getExecutorService();
+
+    public void setExecutorService(ExecutorService executor);
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -27,6 +27,7 @@
 import org.drools.rule.ContextEntry;
 import org.drools.rule.VariableConstraint;
 import org.drools.spi.BetaNodeFieldConstraint;
+import org.drools.util.AbstractHashTable;
 import org.drools.util.FactHashTable;
 import org.drools.util.FactHandleIndexHashTable;
 import org.drools.util.LinkedList;

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -150,4 +150,8 @@
             this.right = null;
         }         
     }
+
+    public ConstraintType getType() {
+        return ConstraintType.BETA;
+    }
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/event/RuleBaseEventSupport.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/event/RuleBaseEventSupport.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/event/RuleBaseEventSupport.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -18,12 +18,15 @@
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.EventListener;
 import java.util.List;
 
 import org.drools.RuleBase;
 import org.drools.rule.Rule;
 import org.drools.rule.Package;
 
+import java.util.Iterator;
+
 /**
  * 
  * @author etirelli
@@ -51,6 +54,15 @@
     public void setRuleBase(RuleBase ruleBase) {
         this.ruleBase = ruleBase;
     }
+    
+    public void removeEventListener(Class cls) {
+        for ( Iterator it = this.listeners.iterator(); it.hasNext(); ) {
+            EventListener listener = ( EventListener ) it.next();
+            if ( cls.isAssignableFrom( listener.getClass() ) ) {
+                it.remove();
+            }
+        }        
+    }
 
     public void removeEventListener(final RuleBaseEventListener listener) {
         this.listeners.remove( listener );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -16,6 +16,7 @@
 
 package org.drools.reteoo;
 
+import java.io.Serializable;
 import java.util.Arrays;
 
 import org.drools.RuleBaseConfiguration;
@@ -194,7 +195,9 @@
                              final PropagationContext context,
                              final InternalWorkingMemory workingMemory) {
         final AccumulateMemory memory = (AccumulateMemory) workingMemory.getNodeMemory( this );
-        memory.betaMemory.getTupleMemory().remove( leftTuple );
+        if( memory.betaMemory.getTupleMemory().remove( leftTuple ) == null) {
+            return;
+        }
         final AccumulateResult accresult = (AccumulateResult) memory.betaMemory.getCreatedHandles().remove( leftTuple );
 
         // if tuple was propagated
@@ -478,7 +481,7 @@
         return memory;
     }
 
-    public static class AccumulateMemory {
+    public static class AccumulateMemory implements Serializable {
         private static final long serialVersionUID = 400L;
         
         public Object workingMemoryContext;
@@ -487,7 +490,9 @@
         public ContextEntry[] alphaContexts;
     }
 
-    private static class AccumulateResult {
+    private static class AccumulateResult implements Serializable {
+
+        private static final long serialVersionUID = -7715967986163072228L;
         // keeping attributes public just for performance
         public InternalFactHandle handle;
         public Object             context;

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/CollectNode.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/CollectNode.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/CollectNode.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -16,6 +16,7 @@
 
 package org.drools.reteoo;
 
+import java.io.Serializable;
 import java.util.Arrays;
 import java.util.Collection;
 
@@ -175,7 +176,9 @@
                              final InternalWorkingMemory workingMemory) {
 
         final CollectMemory memory = (CollectMemory) workingMemory.getNodeMemory( this );
-        memory.betaMemory.getTupleMemory().remove( leftTuple );
+        if( memory.betaMemory.getTupleMemory().remove( leftTuple ) == null ) {
+            return;
+        }
         CollectResult result = (CollectResult) memory.betaMemory.getCreatedHandles().remove( leftTuple );
         final InternalFactHandle handle = result.handle;
 
@@ -406,14 +409,16 @@
         return memory;
     }
 
-    public static class CollectMemory {
+    public static class CollectMemory implements Serializable {
         private static final long serialVersionUID = 400L;
         public BetaMemory         betaMemory;
         public ContextEntry[]     resultsContext;
         public ContextEntry[]     alphaContexts;
     }
 
-    private static class CollectResult {
+    private static class CollectResult implements Serializable {
+
+        private static final long serialVersionUID = -3553891852449175844L;
         // keeping attributes public just for performance
         public InternalFactHandle handle;
         public boolean            propagated;

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/CompositeObjectSinkAdapter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -59,7 +59,7 @@
                 final LiteralConstraint literalConstraint = (LiteralConstraint) fieldConstraint;
                 final Evaluator evaluator = literalConstraint.getEvaluator();
 
-                if ( evaluator.getOperator() == Operator.EQUAL ) {
+                if ( evaluator.getOperator() == Operator.EQUAL && literalConstraint.getFieldExtractor().getValueType() != ValueType.OBJECT_TYPE ) {
                     final int index = literalConstraint.getFieldExtractor().getIndex();
                     final FieldIndex fieldIndex = registerFieldIndex( index,
                                                                       literalConstraint.getFieldExtractor() );
@@ -104,7 +104,7 @@
                 final Evaluator evaluator = literalConstraint.getEvaluator();
                 final FieldValue value = literalConstraint.getField();
 
-                if ( evaluator.getOperator() == Operator.EQUAL ) {
+                if ( evaluator.getOperator() == Operator.EQUAL && literalConstraint.getFieldExtractor().getValueType() != ValueType.OBJECT_TYPE ) {
                     final int index = literalConstraint.getFieldExtractor().getIndex();
                     final FieldIndex fieldIndex = unregisterFieldIndex( index );
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -100,20 +100,18 @@
         this.constraints.updateFromTuple( memory.getContext(),
                                           workingMemory,
                                           leftTuple );
-        int matches = 0;
-        for ( FactEntry entry = (FactEntry) it.next(); entry != null; entry = (FactEntry) it.next() ) {
+        for ( FactEntry entry = (FactEntry) it.next(); entry != null; entry = (FactEntry) it.next() ) {            
             final InternalFactHandle handle = entry.getFactHandle();
             if ( this.constraints.isAllowedCachedLeft( memory.getContext(),
                                                        handle.getObject() ) ) {
-                matches++;
-            }
+                leftTuple.setMatch( handle );
+                break;
+            }            
         }
         
         this.constraints.resetTuple( memory.getContext() );
 
-        leftTuple.setMatches( matches );
-
-        if ( matches > 0 ) {
+        if ( leftTuple.getMatch() != null ) {
             this.sink.propagateAssertTuple( leftTuple,
                                             context,
                                             workingMemory );
@@ -149,16 +147,11 @@
                                                handle );
         for ( ReteTuple tuple = (ReteTuple) it.next(); tuple != null; tuple = (ReteTuple) it.next() ) {
             if ( this.constraints.isAllowedCachedRight( memory.getContext(),
-            											tuple ) ) {
-                final int matches = tuple.getMatches();
-                tuple.setMatches( matches + 1 );
-
-                // if this is the first match, propagate tuple
-                if ( tuple.getMatches() == 1 ) {
+                                                        tuple ) && tuple.getMatch() == null) {
+                    tuple.setMatch( handle );
                     this.sink.propagateAssertTuple( tuple,
-                                                    context,
-                                                    workingMemory );
-                }
+                                                     context,
+                                                     workingMemory );                                 
             }
         }
         
@@ -192,12 +185,34 @@
         for ( ReteTuple tuple = (ReteTuple) it.next(); tuple != null; tuple = (ReteTuple) it.next() ) {
             if ( this.constraints.isAllowedCachedRight( memory.getContext(),
                                                         tuple ) ) {
-                tuple.setMatches( tuple.getMatches() - 1 );
-                if ( tuple.getMatches() == 0 ) {
-                    this.sink.propagateRetractTuple( tuple,
-                                                     context,
-                                                     workingMemory );
+                if ( tuple.getMatch() == handle ) {
+                    // reset the match                    
+                    tuple.setMatch( null );
+                    
+                    // find next match, remember it and break.
+                    final Iterator tupleIt = memory.getFactHandleMemory().iterator( tuple );
+                    this.constraints.updateFromTuple( memory.getContext(),
+                                                      workingMemory, tuple );
+                    
+                    for ( FactEntry entry = (FactEntry) tupleIt.next(); entry != null; entry = (FactEntry) tupleIt.next() ) {
+                        final InternalFactHandle rightHandle = entry.getFactHandle();
+                        if ( this.constraints.isAllowedCachedLeft( memory.getContext(),
+                                                                   rightHandle.getObject() ) ) {
+                            tuple.setMatch( rightHandle );
+                            break;
+                        }
+                    }
+                    
+                    this.constraints.resetTuple( memory.getContext() );
+                    
+                    // if there is now no new tuple match then propagate assert.
+                    if ( tuple.getMatch() == null ) {
+                        this.sink.propagateRetractTuple( tuple,
+                                                        context,
+                                                        workingMemory );
+                    }                    
                 }
+                
             }
         }
 
@@ -226,7 +241,7 @@
             return;
         }
 
-        if ( tuple.getMatches() > 0 ) {
+        if ( tuple.getMatch() !=  null) {
             this.sink.propagateRetractTuple( tuple,
                                              context,
                                              workingMemory );
@@ -244,7 +259,7 @@
 
         final Iterator tupleIter = memory.getTupleMemory().iterator();
         for ( ReteTuple tuple = (ReteTuple) tupleIter.next(); tuple != null; tuple = (ReteTuple) tupleIter.next() ) {
-            if ( tuple.getMatches() > 0 ) {
+            if ( tuple.getMatch() != null ) {
                 sink.assertTuple( new ReteTuple( tuple ),
                                   context,
                                   workingMemory );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/FromNode.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/FromNode.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/FromNode.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -118,6 +118,10 @@
         final FromMemory memory = (FromMemory) workingMemory.getNodeMemory( this );
         final ReteTuple tuple = memory.betaMemory.getTupleMemory().remove( leftTuple );
 
+        if ( tuple == null ) {
+            return;
+        }
+
         final LinkedList list = (LinkedList) memory.betaMemory.getCreatedHandles().remove( tuple );
         // if tuple was propagated
         if ( list != null ) {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/NotNode.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -97,20 +97,19 @@
         this.constraints.updateFromTuple( memory.getContext(),
                                           workingMemory,
                                           leftTuple );
-        int matches = 0;
+        
         for ( FactEntry entry = (FactEntry) it.next(); entry != null; entry = (FactEntry) it.next() ) {
             final InternalFactHandle handle = entry.getFactHandle();
             if ( this.constraints.isAllowedCachedLeft( memory.getContext(),
                                                        handle.getObject() ) ) {
-                matches++;
+                leftTuple.setMatch( handle );
+                break;
             }
         }
         
         this.constraints.resetTuple( memory.getContext() );
 
-        leftTuple.setMatches( matches );
-
-        if ( matches == 0 ) {
+        if ( leftTuple.getMatch() == null ) {
             this.sink.propagateAssertTuple( leftTuple,
                                             context,
                                             workingMemory );
@@ -145,16 +144,12 @@
                                                workingMemory,
                                                handle );
         for ( ReteTuple tuple = (ReteTuple) it.next(); tuple != null; tuple = (ReteTuple) it.next() ) {
-            if ( this.constraints.isAllowedCachedRight(memory.getContext(),
-                    								   tuple ) ) {
-                final int matches = tuple.getMatches();
-                tuple.setMatches( matches + 1 );
-                if ( matches == 0 ) {
-
+            if ( this.constraints.isAllowedCachedRight( memory.getContext(),
+                                                        tuple ) &&  tuple.getMatch() == null) {
+                    tuple.setMatch( handle );
                     this.sink.propagateRetractTuple( tuple,
                                                      context,
-                                                     workingMemory );
-                }
+                                                     workingMemory );                    
             }
         }
         
@@ -189,11 +184,32 @@
         for ( ReteTuple tuple = (ReteTuple) it.next(); tuple != null; tuple = (ReteTuple) it.next() ) {
             if ( this.constraints.isAllowedCachedRight( memory.getContext(),
                                                         tuple ) ) {
-                tuple.setMatches( tuple.getMatches() - 1 );
-                if ( tuple.getMatches() == 0 ) {
-                    this.sink.propagateAssertTuple( tuple,
-                                                    context,
-                                                    workingMemory );
+                
+                if ( tuple.getMatch() == handle ) {
+                    // reset the match                    
+                    tuple.setMatch( null );
+                    
+                    // find next match, remember it and break.
+                    final Iterator tupleIt = memory.getFactHandleMemory().iterator( tuple );
+                    this.constraints.updateFromTuple( memory.getContext(),
+                                                      workingMemory, tuple );
+                    
+                    for ( FactEntry entry = (FactEntry) tupleIt.next(); entry != null; entry = (FactEntry) tupleIt.next() ) {
+                        final InternalFactHandle rightHandle = entry.getFactHandle();
+                        if ( this.constraints.isAllowedCachedLeft( memory.getContext(),
+                                                                   rightHandle.getObject() ) ) {
+                            tuple.setMatch( rightHandle );
+                            break;
+                        }
+                    }
+                    
+                    this.constraints.resetTuple( memory.getContext() );
+                    // if there is now no new tuple match then propagate assert.
+                    if ( tuple.getMatch() == null ) {
+                        this.sink.propagateAssertTuple( tuple,
+                                                        context,
+                                                        workingMemory );
+                    }                    
                 }
             }
         }
@@ -223,7 +239,7 @@
             return;
         }
 
-        if ( tuple.getMatches() == 0 ) {
+        if ( tuple.getMatch() ==  null) {
             this.sink.propagateRetractTuple( tuple,
                                              context,
                                              workingMemory );
@@ -240,7 +256,7 @@
 
         final Iterator tupleIter = memory.getTupleMemory().iterator();
         for ( ReteTuple tuple = (ReteTuple) tupleIter.next(); tuple != null; tuple = (ReteTuple) tupleIter.next() ) {
-            if ( tuple.getMatches() == 0 ) {
+            if ( tuple.getMatch() == null ) {
                 sink.assertTuple( new ReteTuple( tuple ),
                                   context,
                                   workingMemory );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ObjectSource.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -93,7 +93,7 @@
      *            <code>FactHandleImpl</code>.
      */
     protected void addObjectSink(final ObjectSink objectSink) {
-        if ( this.sink == EmptyObjectSinkAdapter.getInstance() ) {
+        if ( this.sink instanceof EmptyObjectSinkAdapter ) {
             this.sink = new SingleObjectSinkAdapter( objectSink );
         } else if ( this.sink instanceof SingleObjectSinkAdapter ) {
             final CompositeObjectSinkAdapter sinkAdapter = new CompositeObjectSinkAdapter( this.alphaNodeHashingThreshold );
@@ -112,7 +112,7 @@
      *            The <code>ObjectSink</code> to remove
      */
     protected void removeObjectSink(final ObjectSink objectSink) {
-        if ( this.sink == EmptyObjectSinkAdapter.getInstance() ) {
+        if ( this.sink instanceof EmptyObjectSinkAdapter ) {
             throw new IllegalArgumentException( "Cannot remove a sink, when the list of sinks is null" );
         }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -16,10 +16,13 @@
  * limitations under the License.
  */
 
+import java.io.IOException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 
 import org.drools.RuleBaseConfiguration;
 import org.drools.common.BaseNode;
+import org.drools.common.DroolsObjectInputStream;
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.common.NodeMemory;
@@ -72,7 +75,7 @@
     private final ObjectType  objectType;
 
     /** The parent Rete node */
-    private final Rete        rete;
+    private transient Rete    rete;
 
     private boolean           skipOnModify     = false;
 
@@ -98,6 +101,12 @@
         setObjectMemoryEnabled( context.isObjectTypeNodeMemoryEnabled() );
     }
 
+    private void readObject(ObjectInputStream stream) throws IOException,
+                                                     ClassNotFoundException {
+        stream.defaultReadObject();
+        this.rete = ((DroolsObjectInputStream) stream).getRuleBase().getRete();
+    }
+
     /**
      * Retrieve the semantic <code>ObjectType</code> differentiator.
      * 
@@ -144,7 +153,7 @@
             return;
         }
 
-        if ( this.objectMemoryEnabled) {
+        if ( this.objectMemoryEnabled ) {
             final FactHashTable memory = (FactHashTable) workingMemory.getNodeMemory( this );
             memory.add( handle,
                         false );
@@ -193,6 +202,7 @@
                                context,
                                workingMemory );
         }
+        this.skipOnModify = canSkipOnModify( this.sink.getSinks() );
     }
 
     /**
@@ -227,12 +237,12 @@
             removeObjectSink( (ObjectSink) node );
         }
         // JBRULES-1315: never remove OTNs
-//        if ( !this.isInUse() ) {
-//            for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
-//                workingMemories[i].clearNodeMemory( this );
-//            }
-//            this.rete.removeObjectSink( this );
-//        }
+        //        if ( !this.isInUse() ) {
+        //            for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
+        //                workingMemories[i].clearNodeMemory( this );
+        //            }
+        //            this.rete.removeObjectSink( this );
+        //        }
     }
 
     /**
@@ -282,7 +292,6 @@
      */
     protected void addObjectSink(final ObjectSink objectSink) {
         super.addObjectSink( objectSink );
-        this.skipOnModify = canSkipOnModify( this.sink.getSinks() );
     }
 
     /**
@@ -290,7 +299,6 @@
      */
     protected void removeObjectSink(final ObjectSink objectSink) {
         super.removeObjectSink( objectSink );
-        this.skipOnModify = canSkipOnModify( this.sink.getSinks() );
     }
 
     /**
@@ -304,15 +312,15 @@
         // If we have no alpha or beta node with constraints on this ObjectType, we can just skip modifies
         boolean hasConstraints = false;
         for ( int i = 0; i < sinks.length && !hasConstraints; i++ ) {
-            if ( sinks[i] instanceof AlphaNode ) {
-                hasConstraints = this.usesDeclaration( ((AlphaNode) sinks[i]).getConstraint() );
+            if ( sinks[i] instanceof AlphaNode || sinks[i] instanceof AccumulateNode || sinks[i] instanceof CollectNode || sinks[i] instanceof FromNode || sinks[i] instanceof EvalConditionNode ) {
+                hasConstraints = true;
             } else if ( sinks[i] instanceof BetaNode && ((BetaNode) sinks[i]).getConstraints().length > 0 ) {
                 hasConstraints = this.usesDeclaration( ((BetaNode) sinks[i]).getConstraints() );
             }
             if ( !hasConstraints && sinks[i] instanceof ObjectSource ) {
-                hasConstraints = this.canSkipOnModify( ((ObjectSource) sinks[i]).getSinkPropagator().getSinks() );
-            } else if ( sinks[i] instanceof TupleSource ) {
-                hasConstraints = this.canSkipOnModify( ((TupleSource) sinks[i]).getSinkPropagator().getSinks() );
+                hasConstraints = !this.canSkipOnModify( ((ObjectSource) sinks[i]).getSinkPropagator().getSinks() );
+            } else if ( !hasConstraints && sinks[i] instanceof TupleSource ) {
+                hasConstraints = !this.canSkipOnModify( ((TupleSource) sinks[i]).getSinkPropagator().getSinks() );
             }
         }
 
@@ -332,7 +340,7 @@
         boolean usesDecl = false;
         final Declaration[] declarations = constraint.getRequiredDeclarations();
         for ( int j = 0; !usesDecl && j < declarations.length; j++ ) {
-            usesDecl = (declarations[j].getPattern().getObjectType() == this.objectType);
+            usesDecl = (declarations[j].getPattern().getObjectType().equals( this.objectType ));
         }
         return usesDecl;
     }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/Rete.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/Rete.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/Rete.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -322,14 +322,14 @@
         //            }
         //        }
     }
-    
+
     public boolean isObjectMemoryEnabled() {
-        throw new UnsupportedOperationException("Rete has no Object memory");
+        throw new UnsupportedOperationException( "Rete has no Object memory" );
     }
 
     public void setObjectMemoryEnabled(boolean objectMemoryEnabled) {
-        throw new UnsupportedOperationException("ORete has no Object memory");
-    }     
+        throw new UnsupportedOperationException( "ORete has no Object memory" );
+    }
 
     public static interface ObjectTypeConf {
         public ObjectTypeNode[] getObjectTypeNodes();
@@ -343,7 +343,7 @@
         public void resetCache();
 
         public boolean isAssignableFrom(Object object);
-        
+
         public boolean isActive();
     }
 
@@ -351,10 +351,10 @@
         implements
         ObjectTypeConf,
         Serializable {
-        private InternalRuleBase ruleBase;
-        private FactTemplate     factTemplate;
-        private ObjectTypeNode   concreteObjectTypeNode;
-        private ObjectTypeNode[] cache;
+        private InternalRuleBase           ruleBase;
+        private FactTemplate               factTemplate;
+        private ObjectTypeNode             concreteObjectTypeNode;
+        private transient ObjectTypeNode[] cache;
 
         public FactTemplateTypeConf(FactTemplate factTemplate,
                                     InternalRuleBase ruleBase) {
@@ -422,22 +422,23 @@
 
         private final Class                    cls;
         private transient InternalRuleBase     ruleBase;
-        private ObjectTypeNode[]               objectTypeNodes;
+        private transient ObjectTypeNode[]     objectTypeNodes;
 
         protected boolean                      shadowEnabled;
         protected Class                        shadowClass;
         protected transient ObjectInstantiator instantiator;
 
-        private ObjectTypeNode                 concreteObjectTypeNode;
+        private transient ObjectTypeNode       concreteObjectTypeNode;
+        private ObjectType                     objectType;
 
         public ClassObjectTypeConf(Class clazz,
                                    InternalRuleBase ruleBase) {
             this.cls = clazz;
             this.ruleBase = ruleBase;
 
-            ObjectType objectType = new ClassObjectType( clazz );
+            objectType = new ClassObjectType( clazz );
             this.concreteObjectTypeNode = (ObjectTypeNode) ruleBase.getRete().getObjectTypeNodes().get( objectType );
-            
+
             // JBRULES-1315: do not add OTN dynamically anymore
             if ( this.concreteObjectTypeNode == null ) {
                 BuildContext context = new BuildContext( ruleBase,
@@ -471,8 +472,8 @@
         public ObjectTypeNode getConcreteObjectTypeNode() {
             return this.concreteObjectTypeNode;
         }
-        
-        public void setConcreteObjectTypeNode( ObjectTypeNode node ) {
+
+        public void setConcreteObjectTypeNode(ObjectTypeNode node) {
             this.concreteObjectTypeNode = node;
         }
 
@@ -599,13 +600,14 @@
                                                          ClassNotFoundException {
             stream.defaultReadObject();
             this.ruleBase = ((DroolsObjectInputStream) stream).getRuleBase();
+            this.concreteObjectTypeNode = (ObjectTypeNode) ruleBase.getRete().getObjectTypeNodes().get( objectType );
         }
 
         /**
          *
          */
         private void setInstantiator() {
-            this.instantiator = ruleBase.getObjenesis().getInstantiatorOf(this.shadowClass);
+            this.instantiator = ruleBase.getObjenesis().getInstantiatorOf( this.shadowClass );
         }
 
         public Object getShadow(final Object fact) throws RuntimeDroolsException {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteTuple.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteTuple.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteTuple.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -29,17 +29,15 @@
     private int                      hashCode;
 
     private boolean                  fieldIndexed;
+    
+    private InternalFactHandle       match;
 
-    private int                      matches;
-
     private Entry                    next;
 
     // ------------------------------------------------------------
     // Constructors
     // ------------------------------------------------------------
     public ReteTuple(final InternalFactHandle handle) {
-        this.index = 0;
-        this.parent = null;
         this.recency = handle.getRecency();
         this.handle = handle;
         int h = handle.hashCode();
@@ -91,14 +89,6 @@
         this.fieldIndexed = fieldIndexed;
     }
 
-    public int getMatches() {
-        return this.matches;
-    }
-
-    public void setMatches(final int matches) {
-        this.matches = matches;
-    }
-
     public InternalFactHandle getLastHandle() {
         return this.handle;
     }
@@ -128,7 +118,16 @@
     public long getRecency() {
         return this.recency;
     }
+        
 
+    public InternalFactHandle getMatch() {
+        return match;
+    }
+
+    public void setMatch(InternalFactHandle match) {
+        this.match = match;
+    }
+
     public void setActivation(final Activation activation) {
         this.activation = activation;
     }
@@ -225,4 +224,5 @@
         }   
         return objects;
     }
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -95,6 +95,7 @@
                                                      ClassNotFoundException {
         stream.defaultReadObject();
         this.ruleBase = ((DroolsObjectInputStream) stream).getRuleBase();
+        this.ruleBuilder = new ReteooRuleBuilder();        
     }
 
     // ------------------------------------------------------------

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooStatefulSession.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -25,7 +25,7 @@
     StatefulSession {
 
     private static final long serialVersionUID = -5360554247241558374L;
-    private ExecutorService executor;
+    private transient ExecutorService executor;
     
     private transient List                          ruleBaseListeners;
 
@@ -102,4 +102,12 @@
         return this.ruleBaseListeners;
     }
 
+    public ExecutorService getExecutorService() {
+        return executor;
+    }
+
+    public void setExecutorService(ExecutorService executor) {
+        this.executor = executor;
+    }
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/ReteooWorkingMemory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -81,9 +81,11 @@
                                      this );
     }
 
+    /** Returns the results for a query, this is not thread safe. */
     public QueryResults getQueryResults(final String query) {
         return getQueryResults( query, null );
     }
+    
     public QueryResults getQueryResults(final String query, final Object[] arguments) {
 
         Object object = new DroolsQuery( query, arguments );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
+import java.io.IOException;
 import java.io.Serializable;
 
-import org.drools.common.EventSupport;
 import org.drools.RuleBaseConfiguration;
-import org.drools.common.BinaryHeapQueueAgendaGroup;
 import org.drools.common.AgendaItem;
 import org.drools.common.BaseNode;
+import org.drools.common.EventSupport;
 import org.drools.common.InternalAgenda;
 import org.drools.common.InternalAgendaGroup;
 import org.drools.common.InternalFactHandle;
@@ -62,8 +62,8 @@
     // Instance members
     // ------------------------------------------------------------
 
-    private int sequence;
-    
+    private int                sequence;
+
     /**
      * 
      */
@@ -79,9 +79,9 @@
 
     private TupleSinkNode      previousTupleSinkNode;
     private TupleSinkNode      nextTupleSinkNode;
-    
-    protected boolean          tupleMemoryEnabled;    
 
+    protected boolean          tupleMemoryEnabled;
+
     // ------------------------------------------------------------
     // Constructors
     // ------------------------------------------------------------
@@ -118,7 +118,7 @@
     public Rule getRule() {
         return this.rule;
     }
-    
+
     public void setSequence(int seq) {
         this.sequence = seq;
     }
@@ -126,7 +126,7 @@
     public int getSequence() {
         return this.sequence;
     }
-    
+
     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     // org.drools.impl.TupleSink
     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -195,14 +195,14 @@
 
             agenda.scheduleItem( item );
             tuple.setActivation( item );
-            
+
             if ( this.tupleMemoryEnabled ) {
                 memory.getTupleMemory().add( tuple );
             }
 
             item.setActivated( true );
             ((EventSupport) workingMemory).getAgendaEventSupport().fireActivationCreated( item,
-                                                                         workingMemory );
+                                                                                          workingMemory );
         } else {
             // -----------------
             // Lazy instantiation and addition to the Agenda of AgendGroup
@@ -232,11 +232,12 @@
 
             final AgendaItem item = new AgendaItem( context.getPropagationNumber(),
                                                     cloned,
-                                                    rule.getSalience().getValue( tuple, workingMemory ),
+                                                    rule.getSalience().getValue( tuple,
+                                                                                 workingMemory ),
                                                     context,
                                                     this.rule,
                                                     this.subrule );
-            
+
             if ( this.tupleMemoryEnabled ) {
                 item.setSequenence( this.sequence );
             }
@@ -328,8 +329,8 @@
 
             // We only want to fire an event on a truly new Activation and not on an Activation as a result of a modify
             if ( fireActivationCreated ) {
-            	((EventSupport) workingMemory).getAgendaEventSupport().fireActivationCreated( item,
-                                                                             workingMemory );
+                ((EventSupport) workingMemory).getAgendaEventSupport().fireActivationCreated( item,
+                                                                                              workingMemory );
             }
         }
 
@@ -393,7 +394,7 @@
             }
 
             ((EventSupport) workingMemory).getAgendaEventSupport().fireActivationCancelled( activation,
-                                                                           workingMemory );
+                                                                                            workingMemory );
             ((InternalAgenda) workingMemory.getAgenda()).decreaseActiveActivations();
         } else {
             ((InternalAgenda) workingMemory.getAgenda()).decreaseDormantActivations();
@@ -446,7 +447,7 @@
                 if ( activation.isActivated() ) {
                     activation.remove();
                     ((EventSupport) workingMemory).getAgendaEventSupport().fireActivationCancelled( activation,
-                                                                                   workingMemory );
+                                                                                                    workingMemory );
                 }
 
                 final PropagationContext propagationContext = new PropagationContextImpl( workingMemory.getNextPropagationIdCounter(),
@@ -455,15 +456,15 @@
                                                                                           null );
                 workingMemory.getTruthMaintenanceSystem().removeLogicalDependencies( activation,
                                                                                      propagationContext,
-                                                                                     this.rule );                                
+                                                                                     this.rule );
             }
 
             workingMemory.executeQueuedActions();
             workingMemory.clearNodeMemory( this );
         }
 
-        if( !context.alreadyVisited( this.tupleSource ) ) {
-            this.tupleSource.remove( context, 
+        if ( !context.alreadyVisited( this.tupleSource ) ) {
+            this.tupleSource.remove( context,
                                      this,
                                      workingMemories );
         }
@@ -474,16 +475,16 @@
     }
 
     public Object createMemory(final RuleBaseConfiguration config) {
-        return new TerminalNodeMemory();
+        return new TerminalNodeMemory( );
     }
-    
+
     public boolean isTupleMemoryEnabled() {
         return tupleMemoryEnabled;
     }
 
     public void setTupleMemoryEnabled(boolean tupleMemoryEnabled) {
         this.tupleMemoryEnabled = tupleMemoryEnabled;
-    }     
+    }
 
     /**
      * Returns the next node
@@ -538,19 +539,19 @@
         return this.rule.equals( other.rule );
     }
 
-    class TerminalNodeMemory
+    static class TerminalNodeMemory
         implements
         Serializable {
-        private static final long serialVersionUID = 400L;
+        private static final long   serialVersionUID = 400L;
 
-        private InternalAgendaGroup   agendaGroup;
+        private InternalAgendaGroup agendaGroup;
 
-        private ActivationGroup   activationGroup;
+        private ActivationGroup     activationGroup;
 
-        private RuleFlowGroup     ruleFlowGroup;
+        private RuleFlowGroup       ruleFlowGroup;
 
-        private TupleHashTable    tupleMemory;
-
+        private TupleHashTable      tupleMemory;
+        
         public TerminalNodeMemory() {
             this.tupleMemory = new TupleHashTable();
         }
@@ -582,5 +583,6 @@
         public void setRuleFlowGroup(final RuleFlowGroup ruleFlowGroup) {
             this.ruleFlowGroup = ruleFlowGroup;
         }
+        
     }
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/TupleSource.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/TupleSource.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/TupleSource.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -72,7 +72,7 @@
      *            <code>Tuples</code>.
      */
     protected void addTupleSink(final TupleSink tupleSink) {
-        if ( this.sink == EmptyTupleSinkAdapter.getInstance() ) {
+        if ( this.sink instanceof EmptyTupleSinkAdapter ) {
             this.sink = new SingleTupleSinkAdapter( tupleSink );
         } else if ( this.sink instanceof SingleTupleSinkAdapter ) {
             final CompositeTupleSinkAdapter sinkAdapter = new CompositeTupleSinkAdapter();
@@ -91,7 +91,7 @@
      *            The <code>TupleSink</code> to remove
      */
     protected void removeTupleSink(final TupleSink tupleSink) {
-        if ( this.sink == EmptyTupleSinkAdapter.getInstance() ) {
+        if ( this.sink instanceof EmptyTupleSinkAdapter ) {
             throw new IllegalArgumentException( "Cannot remove a sink, when the list of sinks is null" );
         }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -20,6 +20,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
+import org.drools.RuntimeDroolsException;
 import org.drools.base.ClassObjectType;
 import org.drools.base.DroolsQuery;
 import org.drools.common.InstanceNotEqualsConstraint;
@@ -29,12 +30,14 @@
 import org.drools.reteoo.ObjectTypeNode;
 import org.drools.rule.Declaration;
 import org.drools.rule.InvalidPatternException;
+import org.drools.rule.MutableTypeConstraint;
 import org.drools.rule.Pattern;
 import org.drools.rule.PatternSource;
 import org.drools.rule.RuleConditionElement;
 import org.drools.spi.AlphaNodeFieldConstraint;
 import org.drools.spi.Constraint;
 import org.drools.spi.ObjectType;
+import org.drools.spi.Constraint.ConstraintType;
 
 /**
  * A builder for patterns
@@ -129,21 +132,14 @@
             }
 
             final Constraint constraint = (Constraint) object;
-            final Declaration[] declarations = constraint.getRequiredDeclarations();
-
-            boolean isAlphaConstraint = true;
-            for ( int i = 0; isAlphaConstraint && i < declarations.length; i++ ) {
-                if ( !declarations[i].isGlobal() && declarations[i].getPattern() != pattern ) {
-                    isAlphaConstraint = false;
-                }
-            }
-
-            if ( isAlphaConstraint ) {
+            if ( constraint.getType().equals( Constraint.ConstraintType.ALPHA ) ) {
                 alphaConstraints.add( constraint );
-            } else {
+            } else if ( constraint.getType().equals( Constraint.ConstraintType.BETA ) ) {
                 utils.checkUnboundDeclarations( context,
                                                 constraint.getRequiredDeclarations() );
                 betaConstraints.add( constraint );
+            } else {
+                throw new RuntimeDroolsException( "Unknown constraint type: "+constraint.getType()+". This is a bug. Please contact development team.");
             }
         }
     }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,6 +17,7 @@
 
 import java.util.Arrays;
 
+import org.drools.RuntimeDroolsException;
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.ReteTuple;
@@ -30,15 +31,17 @@
  * 
  * @author etirelli
  */
-public abstract class AbstractCompositeConstraint
-    implements
-    AlphaNodeFieldConstraint,
-    BetaNodeFieldConstraint {
+public abstract class AbstractCompositeConstraint extends MutableTypeConstraint {
 
     protected AlphaNodeFieldConstraint[] alphaConstraints     = new AlphaNodeFieldConstraint[0];
     protected BetaNodeFieldConstraint[]  betaConstraints      = new BetaNodeFieldConstraint[0];
     protected Declaration[]              requiredDeclarations = new Declaration[0];
 
+    public AbstractCompositeConstraint() {
+        super();
+        this.setType( Constraint.ConstraintType.ALPHA );
+    }
+
     /**
      * Adds an alpha constraint to the multi field OR constraint
      * 
@@ -73,6 +76,7 @@
                               tmp.length );
             this.betaConstraints[this.betaConstraints.length - 1] = constraint;
             this.updateRequiredDeclarations( constraint );
+            this.setType( Constraint.ConstraintType.BETA );
         }
     }
 
@@ -81,11 +85,12 @@
      * @param constraint
      */
     public void addConstraint(Constraint constraint) {
-        if ( constraint instanceof AlphaNodeFieldConstraint ) {
+        if ( constraint.getType() == ConstraintType.ALPHA ) {
             this.addAlphaConstraint( (AlphaNodeFieldConstraint) constraint );
-        }
-        if ( constraint instanceof BetaNodeFieldConstraint ) {
+        } else if ( constraint.getType() == ConstraintType.BETA ) {
             this.addBetaConstraint( (BetaNodeFieldConstraint) constraint );
+        } else {
+            throw new RuntimeDroolsException( "Constraint type MUST be known in advance.");
         }
     }
 
@@ -151,7 +156,8 @@
      * {@inheritDoc}
      */
     public ContextEntry createContextEntry() {
-        return new MultiFieldConstraintContextEntry( this.betaConstraints );
+        return new MultiFieldConstraintContextEntry( this.alphaConstraints,
+                                                     this.betaConstraints );
     }
 
     public int hashCode() {
@@ -178,12 +184,8 @@
                                                                                                                    other.requiredDeclarations );
     }
 
-    public AbstractCompositeConstraint() {
-        super();
-    }
-
     public abstract Object clone();
-
+    
     /**
      * A context entry for composite restrictions
      * 
@@ -193,16 +195,24 @@
         implements
         ContextEntry {
 
-        private static final long   serialVersionUID = 400L;
+        private static final long    serialVersionUID = 400L;
 
-        public final ContextEntry[] contexts;
-        public ContextEntry         next;
+        public final ContextEntry[]  alphas;
+        public final ContextEntry[]  betas;
+        public ContextEntry          next;
+        public InternalWorkingMemory workingMemory;
+        public InternalFactHandle    handle;
 
-        public MultiFieldConstraintContextEntry(BetaNodeFieldConstraint[] constraints) {
-            contexts = new ContextEntry[constraints.length];
-            for ( int i = 0; i < contexts.length; i++ ) {
-                contexts[i] = constraints[i].createContextEntry();
+        public MultiFieldConstraintContextEntry(final AlphaNodeFieldConstraint[] alphas,
+                                                final BetaNodeFieldConstraint[] betas) {
+            this.alphas = new ContextEntry[alphas.length];
+            for ( int i = 0; i < alphas.length; i++ ) {
+                this.alphas[i] = alphas[i].createContextEntry();
             }
+            this.betas = new ContextEntry[betas.length];
+            for ( int i = 0; i < betas.length; i++ ) {
+                this.betas[i] = betas[i].createContextEntry();
+            }
         }
 
         public ContextEntry getNext() {
@@ -215,31 +225,59 @@
 
         public void updateFromFactHandle(InternalWorkingMemory workingMemory,
                                          InternalFactHandle handle) {
-            for ( int i = 0; i < contexts.length; i++ ) {
-                contexts[i].updateFromFactHandle( workingMemory,
-                                                  handle );
+            this.workingMemory = workingMemory;
+            this.handle = handle;
+            for ( int i = 0; i < alphas.length; i++ ) {
+                if ( alphas[i] != null ) {
+                    alphas[i].updateFromFactHandle( workingMemory,
+                                                    handle );
+                }
             }
+            for ( int i = 0; i < betas.length; i++ ) {
+                betas[i].updateFromFactHandle( workingMemory,
+                                               handle );
+            }
         }
 
         public void updateFromTuple(InternalWorkingMemory workingMemory,
                                     ReteTuple tuple) {
-            for ( int i = 0; i < contexts.length; i++ ) {
-                contexts[i].updateFromTuple( workingMemory,
-                                             tuple );
+            this.workingMemory = workingMemory;
+            for ( int i = 0; i < alphas.length; i++ ) {
+                if ( alphas[i] != null ) {
+                    alphas[i].updateFromTuple( workingMemory,
+                                               tuple );
+                }
             }
+            for ( int i = 0; i < betas.length; i++ ) {
+                betas[i].updateFromTuple( workingMemory,
+                                          tuple );
+            }
         }
-        
+
         public void resetTuple() {
-            for ( int i = 0, length = this.contexts.length; i < length; i++ ) {
-                this.contexts[i].resetTuple();
+            this.workingMemory = null;
+            for ( int i = 0, length = this.alphas.length; i < length; i++ ) {
+                if ( alphas[i] != null ) {
+                    this.alphas[i].resetTuple();
+                }
             }
+            for ( int i = 0, length = this.betas.length; i < length; i++ ) {
+                this.betas[i].resetTuple();
+            }
         }
-        
+
         public void resetFactHandle() {
-            for ( int i = 0, length = this.contexts.length; i < length; i++ ) {
-                this.contexts[i].resetFactHandle();
+            this.workingMemory = null;
+            this.handle = null;
+            for ( int i = 0, length = this.alphas.length; i < length; i++ ) {
+                if ( alphas[i] != null ) {
+                    this.alphas[i].resetFactHandle();
+                }
             }
-        }           
+            for ( int i = 0, length = this.betas.length; i < length; i++ ) {
+                this.betas[i].resetFactHandle();
+            }
+        }
 
     }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/AndConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/AndConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/AndConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -42,14 +42,12 @@
      */
     public boolean isAllowed(Object object,
                              InternalWorkingMemory workingMemory,
-                             final ContextEntry ctx ) {
-        if ( this.alphaConstraints.length > 0 ) {
-            for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
-                if ( !this.alphaConstraints[i].isAllowed( object,
-                                                          workingMemory,
-                                                          ctx ) ) {
-                    return false;
-                }
+                             final ContextEntry ctx) {
+        for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
+            if ( !this.alphaConstraints[i].isAllowed( object,
+                                                      workingMemory,
+                                                      ((MultiFieldConstraintContextEntry) ctx).alphas[i] ) ) {
+                return false;
             }
         }
         return true;
@@ -60,14 +58,20 @@
      */
     public boolean isAllowedCachedLeft(ContextEntry context,
                                        Object object) {
-        if ( this.betaConstraints.length > 0 ) {
-            for ( int i = 0; i < this.betaConstraints.length; i++ ) {
-                if ( !this.betaConstraints[i].isAllowedCachedLeft( ((MultiFieldConstraintContextEntry)context).contexts[i],
-                                                                   object ) ) {
-                    return false;
-                }
+        for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
+            if ( ! this.alphaConstraints[i].isAllowed( object,
+                                                     ((MultiFieldConstraintContextEntry) context).workingMemory,
+                                                     ((MultiFieldConstraintContextEntry) context).alphas[i] ) ) {
+                return false;
             }
         }
+        for ( int i = 0; i < this.betaConstraints.length; i++ ) {
+            if ( ! this.betaConstraints[i].isAllowedCachedLeft( ((MultiFieldConstraintContextEntry) context).betas[i],
+                                                              object ) ) {
+                return false;
+            }
+        }
+
         return true;
     }
 
@@ -76,17 +80,22 @@
      */
     public boolean isAllowedCachedRight(ReteTuple tuple,
                                         ContextEntry context) {
-        if ( this.betaConstraints.length > 0 ) {
-            for ( int i = 0; i < this.betaConstraints.length; i++ ) {
-                if ( !this.betaConstraints[i].isAllowedCachedRight( tuple,
-                                                                    ((MultiFieldConstraintContextEntry)context).contexts[i] ) ) {
-                    return false;
-                }
+        for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
+            if ( ! this.alphaConstraints[i].isAllowed( ((MultiFieldConstraintContextEntry) context).handle.getObject(),
+                                                     ((MultiFieldConstraintContextEntry) context).workingMemory,
+                                                     ((MultiFieldConstraintContextEntry) context).alphas[i] ) ) {
+                return false;
             }
         }
+        for ( int i = 0; i < this.betaConstraints.length; i++ ) {
+            if ( ! this.betaConstraints[i].isAllowedCachedRight( tuple,
+                                                               ((MultiFieldConstraintContextEntry) context).betas[i] ) ) {
+                return false;
+            }
+        }
         return true;
     }
-    
+
     public int hashCode() {
         final int PRIME = 31;
         int result = 1;
@@ -110,26 +119,25 @@
                                                                          other.betaConstraints ) && Arrays.equals( this.requiredDeclarations,
                                                                                                                    other.requiredDeclarations );
     }
-    
+
     public Object clone() {
         AndConstraint clone = new AndConstraint();
-        
+
         // clone alpha constraints
-        clone.alphaConstraints = new AlphaNodeFieldConstraint[ this.alphaConstraints.length ];
-        for( int i = 0; i < this.alphaConstraints.length; i++ ) {
+        clone.alphaConstraints = new AlphaNodeFieldConstraint[this.alphaConstraints.length];
+        for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
             clone.alphaConstraints[i] = (AlphaNodeFieldConstraint) this.alphaConstraints[i].clone();
             clone.updateRequiredDeclarations( clone.alphaConstraints[i] );
         }
-        
+
         // clone beta constraints
-        clone.betaConstraints = new BetaNodeFieldConstraint[ this.betaConstraints.length ];
-        for( int i = 0; i < this.betaConstraints.length; i++ ) {
+        clone.betaConstraints = new BetaNodeFieldConstraint[this.betaConstraints.length];
+        for ( int i = 0; i < this.betaConstraints.length; i++ ) {
             clone.betaConstraints[i] = (BetaNodeFieldConstraint) this.betaConstraints[i].clone();
             clone.updateRequiredDeclarations( clone.betaConstraints[i] );
         }
-        
+
         return clone;
     }
-    
 
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/ContextEntry.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/ContextEntry.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/ContextEntry.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -23,5 +23,5 @@
     public void resetTuple();
     
     public void resetFactHandle();
-
+    
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/EvalCondition.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/EvalCondition.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/EvalCondition.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,13 +2,13 @@
 
 /*
  * Copyright 2005 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.
@@ -27,7 +27,7 @@
 
 public class EvalCondition extends ConditionalElement {
     /**
-     * 
+     *
      */
     private static final long          serialVersionUID = 400L;
 
@@ -65,7 +65,7 @@
     public Declaration[] getRequiredDeclarations() {
         return this.requiredDeclarations;
     }
-    
+
     public Object createContext() {
         return this.expression.createContext();
     }
@@ -79,13 +79,13 @@
                                              workingMemory,
                                              context );
         } catch ( final Exception e ) {
-            throw new RuntimeDroolsException( e );
+        	throw new RuntimeDroolsException( this.getEvalExpression() + " : " + e, e );
         }
     }
 
     public Object clone() {
         final EvalCondition eval = new EvalCondition( this.expression,
-                                                      this.requiredDeclarations );
+                                                      (Declaration[]) this.requiredDeclarations.clone() );
         return eval;
     }
 
@@ -140,4 +140,13 @@
         return Collections.EMPTY_LIST;
     }
 
+    public void replaceDeclaration(Declaration declaration,
+                                   Declaration resolved) {
+        for ( int i = 0; i < this.requiredDeclarations.length; i++ ) {
+            if ( this.requiredDeclarations[i].equals( declaration ) ) {
+                this.requiredDeclarations[i] = resolved;
+            }
+        }
+    }
+
 };
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/GroupElement.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/GroupElement.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/GroupElement.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -127,12 +127,13 @@
                 this.children.addAll( group.getChildren() );
             }
         }
+        
     }
 
     /**
      * @param parent
      */
-    private void pack(final GroupElement parent) {
+    public void pack(final GroupElement parent) {
         if ( this.children.size() == 0 ) {
             // if there is no child, just remove this node
             parent.children.remove( this );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -18,6 +18,7 @@
 
 import org.drools.common.InternalWorkingMemory;
 import org.drools.spi.AlphaNodeFieldConstraint;
+import org.drools.spi.Constraint;
 import org.drools.spi.Evaluator;
 import org.drools.spi.FieldExtractor;
 import org.drools.spi.FieldValue;
@@ -26,9 +27,6 @@
     implements
     AlphaNodeFieldConstraint {
 
-    /**
-     * 
-     */
     private static final long        serialVersionUID = 400L;
 
     private final FieldExtractor     extractor;
@@ -120,4 +118,8 @@
         // no need for context info
         return null;
     }
+
+    public ConstraintType getType() {
+        return Constraint.ConstraintType.ALPHA;
+    }
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/LogicTransformer.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/LogicTransformer.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/LogicTransformer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -163,6 +163,15 @@
                     }
                 }
             }
+        } else if ( element instanceof EvalCondition ) {
+            Declaration[] decl = ((EvalCondition) element).getRequiredDeclarations();
+            for ( int i = 0; i < decl.length; i++ ) {
+                Declaration resolved = resolver.getDeclaration( decl[i].getIdentifier() );
+                if ( resolved != null && resolved != decl[i] ) {
+                    ((EvalCondition) element).replaceDeclaration( decl[i],
+                                                                  resolved );
+                }
+            }
         } else {
             contextStack.push( element );
             for ( Iterator it = element.getNestedElements().iterator(); it.hasNext(); ) {
@@ -191,21 +200,23 @@
 
         boolean hasChildOr = false;
 
-        // first we eliminicate any redundancy
+        // first we elimininate any redundancy
         ce.pack();
 
-        for ( final ListIterator it = ce.getChildren().listIterator(); it.hasNext(); ) {
-            final Object object = it.next();
-            if ( object instanceof GroupElement ) {
-                final GroupElement child = (GroupElement) object;
+        Object[] children = (Object[]) ce.getChildren().toArray();
+        for ( int i = 0; i < children.length; i++ ) {
+            if ( children[i] instanceof GroupElement ) {
+                final GroupElement child = (GroupElement) children[i];
 
                 processTree( child );
-
-                if ( child.isOr() ) {
+                if ( (child.isOr() || child.isAnd()) && child.getType() == ce.getType() ) {
+                    child.pack( ce );
+                } else if ( child.isOr() ) {
                     hasChildOr = true;
                 }
             }
         }
+
         if ( hasChildOr ) {
             applyOrTransformation( ce );
         }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -33,6 +33,11 @@
         this.store = new HashMap();
     }
     
+    public MapBackedClassLoader(final ClassLoader parentClassLoader, final Map store) {
+        super( parentClassLoader );
+        this.store = store;
+    }
+    
     public void addResource(String className,
                             byte[] bytes) {
         addClass(className, 
@@ -46,16 +51,22 @@
 
     public void addClass(final String className,
                          byte[] bytes) {
-    	
-        this.store.put( convertResourcePathToClassName(className),
-                        bytes );
+    	synchronized ( this.store ) {            
+            this.store.put( convertResourcePathToClassName(className),
+                            bytes );
+    	}
     }
 
     public Class fastFindClass(final String name) {
         final Class clazz = findLoadedClass( name );
 
         if ( clazz == null ) {
-            final byte[] clazzBytes = (byte[]) this.store.get( name );
+            
+            byte[] clazzBytes = null;
+            synchronized ( this.store ) {            
+                clazzBytes = (byte[]) this.store.get( name );
+            }
+            
             if ( clazzBytes != null ) {
                 return defineClass( name,
                                     clazzBytes,
@@ -103,7 +114,11 @@
     }
 
     public InputStream getResourceAsStream(final String name) {
-        final byte[] bytes = (byte[]) this.store.get( name );
+        byte[] bytes = null;
+        synchronized ( this.store ) {            
+            bytes = (byte[]) this.store.get( name );
+        }
+        
         if ( bytes != null ) {
             return new ByteArrayInputStream( bytes );
         } else {
@@ -114,5 +129,9 @@
             return input;
         }
     }
+    
+    public Map getStore() {
+        return this.store;
+    }
 
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MultiRestrictionFieldConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MultiRestrictionFieldConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MultiRestrictionFieldConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,19 +2,11 @@
 
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.ReteTuple;
-import org.drools.spi.AlphaNodeFieldConstraint;
-import org.drools.spi.BetaNodeFieldConstraint;
 import org.drools.spi.FieldExtractor;
 import org.drools.spi.Restriction;
 
-public class MultiRestrictionFieldConstraint
-    implements
-    AlphaNodeFieldConstraint,
-    BetaNodeFieldConstraint {
+public class MultiRestrictionFieldConstraint extends MutableTypeConstraint {
 
-    /**
-     * 
-     */
     private static final long    serialVersionUID = 400L;
 
     private final FieldExtractor extractor;

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MutableTypeConstraint.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-core/src/main/java/org/drools/rule/MutableTypeConstraint.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MutableTypeConstraint.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/MutableTypeConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2008 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 Feb 12, 2008
+ */
+
+package org.drools.rule;
+
+import org.drools.spi.AlphaNodeFieldConstraint;
+import org.drools.spi.BetaNodeFieldConstraint;
+import org.drools.spi.Constraint;
+
+/**
+ * A base class for constraints
+ * 
+ * @author etirelli
+ */
+public abstract class MutableTypeConstraint
+    implements
+    AlphaNodeFieldConstraint,
+    BetaNodeFieldConstraint {
+
+    private Constraint.ConstraintType type = Constraint.ConstraintType.UNKNOWN;
+    
+    public void setType( ConstraintType type ) {
+        this.type = type;
+    }
+    
+    public ConstraintType getType() {
+        return this.type;
+    }
+
+    public abstract Object clone();
+}

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/OrConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/OrConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/OrConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -44,12 +44,12 @@
      */
     public boolean isAllowed(Object object,
                              InternalWorkingMemory workingMemory,
-                             final ContextEntry ctx ) {
+                             final ContextEntry ctx) {
         if ( this.alphaConstraints.length > 0 ) {
             for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
                 if ( this.alphaConstraints[i].isAllowed( object,
                                                          workingMemory,
-                                                         ctx ) ) {
+                                                         ((MultiFieldConstraintContextEntry) ctx).alphas[i] ) ) {
                     return true;
                 }
             }
@@ -63,16 +63,24 @@
      */
     public boolean isAllowedCachedLeft(ContextEntry context,
                                        Object object) {
-        if ( this.betaConstraints.length > 0 ) {
-            for ( int i = 0; i < this.betaConstraints.length; i++ ) {
-                if ( this.betaConstraints[i].isAllowedCachedLeft( ((MultiFieldConstraintContextEntry)context).contexts[i],
-                                                                  object ) ) {
-                    return true;
-                }
+        if( this.alphaConstraints.length == 0 && this.betaConstraints.length == 0 ) {
+            return true;
+        }
+        for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
+            if ( this.alphaConstraints[i].isAllowed( object,
+                                                     ((MultiFieldConstraintContextEntry) context).workingMemory,
+                                                     ((MultiFieldConstraintContextEntry) context).alphas[i] ) ) {
+                return true;
             }
-            return false;
         }
-        return true;
+        for ( int i = 0; i < this.betaConstraints.length; i++ ) {
+            if ( this.betaConstraints[i].isAllowedCachedLeft( ((MultiFieldConstraintContextEntry) context).betas[i],
+                                                              object ) ) {
+                return true;
+            }
+        }
+
+        return false;
     }
 
     /**
@@ -80,10 +88,20 @@
      */
     public boolean isAllowedCachedRight(ReteTuple tuple,
                                         ContextEntry context) {
+        if( this.alphaConstraints.length == 0 && this.betaConstraints.length == 0 ) {
+            return true;
+        }
+        for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
+            if ( this.alphaConstraints[i].isAllowed( ((MultiFieldConstraintContextEntry) context).handle.getObject(),
+                                                     ((MultiFieldConstraintContextEntry) context).workingMemory,
+                                                     ((MultiFieldConstraintContextEntry) context).alphas[i] ) ) {
+                return true;
+            }
+        }
         if ( this.betaConstraints.length > 0 ) {
             for ( int i = 0; i < this.betaConstraints.length; i++ ) {
                 if ( this.betaConstraints[i].isAllowedCachedRight( tuple,
-                                                                   ((MultiFieldConstraintContextEntry)context).contexts[i] ) ) {
+                                                                   ((MultiFieldConstraintContextEntry) context).betas[i] ) ) {
                     return true;
                 }
             }
@@ -118,21 +136,21 @@
 
     public Object clone() {
         OrConstraint clone = new OrConstraint();
-        
+
         // clone alpha constraints
-        clone.alphaConstraints = new AlphaNodeFieldConstraint[ this.alphaConstraints.length ];
-        for( int i = 0; i < this.alphaConstraints.length; i++ ) {
+        clone.alphaConstraints = new AlphaNodeFieldConstraint[this.alphaConstraints.length];
+        for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
             clone.alphaConstraints[i] = (AlphaNodeFieldConstraint) this.alphaConstraints[i].clone();
             clone.updateRequiredDeclarations( clone.alphaConstraints[i] );
         }
-        
+
         // clone beta constraints
-        clone.betaConstraints = new BetaNodeFieldConstraint[ this.betaConstraints.length ];
-        for( int i = 0; i < this.betaConstraints.length; i++ ) {
+        clone.betaConstraints = new BetaNodeFieldConstraint[this.betaConstraints.length];
+        for ( int i = 0; i < this.betaConstraints.length; i++ ) {
             clone.betaConstraints[i] = (BetaNodeFieldConstraint) this.betaConstraints[i].clone();
             clone.updateRequiredDeclarations( clone.betaConstraints[i] );
         }
-        
+
         return clone;
     }
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/Pattern.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/Pattern.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/Pattern.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -27,6 +27,7 @@
 import org.drools.spi.Extractor;
 import org.drools.spi.ObjectType;
 import org.drools.spi.PatternExtractor;
+import org.drools.spi.Constraint.ConstraintType;
 
 public class Pattern
     implements
@@ -152,6 +153,9 @@
         if ( this.constraints == Collections.EMPTY_LIST ) {
             this.constraints = new ArrayList( 1 );
         }
+        if( constraint.getType().equals( Constraint.ConstraintType.UNKNOWN ) ) {
+            this.setConstraintType( (MutableTypeConstraint) constraint );
+        }
         this.constraints.add( constraint );
     }
 
@@ -267,5 +271,22 @@
     public List getNestedElements() {
         return this.source != null ? Collections.singletonList( this.source ) : Collections.EMPTY_LIST;
     }
+    
+    /**
+     * @param constraint
+     */
+    private void setConstraintType(final MutableTypeConstraint constraint) {
+        final Declaration[] declarations = constraint.getRequiredDeclarations();
 
+        boolean isAlphaConstraint = true;
+        for ( int i = 0; isAlphaConstraint && i < declarations.length; i++ ) {
+            if ( !declarations[i].isGlobal() && declarations[i].getPattern() != this ) {
+                isAlphaConstraint = false;
+            }
+        }
+
+        ConstraintType type = isAlphaConstraint ? ConstraintType.ALPHA : ConstraintType.BETA; 
+        constraint.setType( type );
+    }
+
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -22,15 +22,10 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.ReteTuple;
-import org.drools.spi.AlphaNodeFieldConstraint;
-import org.drools.spi.BetaNodeFieldConstraint;
 import org.drools.spi.Extractor;
 import org.drools.spi.PredicateExpression;
 
-public class PredicateConstraint
-    implements
-    BetaNodeFieldConstraint,
-    AlphaNodeFieldConstraint {
+public class PredicateConstraint extends MutableTypeConstraint {
 
     /**
      * 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -20,20 +20,12 @@
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.ReteTuple;
 import org.drools.rule.ReturnValueRestriction.ReturnValueContextEntry;
-import org.drools.spi.AlphaNodeFieldConstraint;
-import org.drools.spi.BetaNodeFieldConstraint;
 import org.drools.spi.Evaluator;
 import org.drools.spi.FieldExtractor;
 import org.drools.spi.ReturnValueExpression;
 
-public class ReturnValueConstraint
-    implements
-    BetaNodeFieldConstraint,
-    AlphaNodeFieldConstraint {
+public class ReturnValueConstraint extends MutableTypeConstraint {
 
-    /**
-     * 
-     */
     private static final long            serialVersionUID = 400L;
 
     private final FieldExtractor         fieldExtractor;

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/Rule.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/Rule.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/Rule.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -230,6 +230,10 @@
         return this.pkg;
     }
 
+    public void setPackage( String pkg ) {
+        this.pkg = pkg;
+    }
+
     /**
      * Retrieve the name of this rule.
      * 
@@ -491,8 +495,7 @@
 
     public boolean equals(Object obj) {
         if ( this == obj ) return true;
-        if ( !super.equals( obj ) ) return false;
-        if ( getClass() != obj.getClass() ) return false;
+        if ( obj == null || getClass() != obj.getClass() ) return false;
         final Rule other = (Rule) obj;
         if ( name == null ) {
             if ( other.name != null ) return false;

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/VariableConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/VariableConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/rule/VariableConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -18,15 +18,10 @@
 
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.ReteTuple;
-import org.drools.spi.AlphaNodeFieldConstraint;
-import org.drools.spi.BetaNodeFieldConstraint;
 import org.drools.spi.Evaluator;
 import org.drools.spi.FieldExtractor;
 
-public class VariableConstraint
-    implements
-    AlphaNodeFieldConstraint,
-    BetaNodeFieldConstraint {
+public class VariableConstraint extends MutableTypeConstraint {
 
     private static final long         serialVersionUID = 400L;
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/spi/Constraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/spi/Constraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/spi/Constraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,5 +1,7 @@
 package org.drools.spi;
 
+import java.io.Serializable;
+
 import org.drools.rule.Declaration;
 
 /*
@@ -46,4 +48,61 @@
      * @return
      */
     public Object clone();
+
+    /**
+     * Returns the type of the constraint, either ALPHA, BETA or UNKNOWN
+     * 
+     * @return
+     */
+    public ConstraintType getType();
+    
+    /**
+     * A java 1.4 type-safe enum
+     */
+    public static class ConstraintType implements Serializable {
+        
+        private static final long serialVersionUID = 4865182371013556266L;
+        
+        public static final ConstraintType UNKNOWN = new ConstraintType(0, "UNKNOWN");
+        public static final ConstraintType ALPHA = new ConstraintType(1, "ALPHA");
+        public static final ConstraintType BETA = new ConstraintType(2, "BETA");
+        
+        private final int type; 
+        private final String desc;
+        
+        private ConstraintType( int type, String desc ) {
+            this.type = type;
+            this.desc = desc;
+        }
+
+        /**
+         * @inheritDoc
+         *
+         * @see java.lang.Object#hashCode()
+         */
+        public int hashCode() {
+            final int prime = 31;
+            int result = 1;
+            result = prime * result + type;
+            return result;
+        }
+
+        /**
+         * @inheritDoc
+         *
+         * @see java.lang.Object#equals(java.lang.Object)
+         */
+        public boolean equals(Object obj) {
+            if ( this == obj ) return true;
+            if ( obj == null ) return false;
+            if ( getClass() != obj.getClass() ) return false;
+            final ConstraintType other = (ConstraintType) obj;
+            if ( type != other.type ) return false;
+            return true;
+        }
+        
+        public String toString() {
+            return "ConstraintType::"+this.desc;
+        }
+    }
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/spi/FieldValue.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/spi/FieldValue.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/spi/FieldValue.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,13 +2,13 @@
 
 /*
  * Copyright 2005 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.
@@ -17,6 +17,8 @@
  */
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
 
 public interface FieldValue
     extends
@@ -24,6 +26,10 @@
 
     public Object getValue();
 
+    public BigDecimal getBigDecimalValue();
+
+    public BigInteger getBigIntegerValue();
+
     public char getCharValue();
 
     public int getIntValue();
@@ -39,7 +45,7 @@
     public double getDoubleValue();
 
     public boolean getBooleanValue();
-    
+
     public boolean isNull();
 
     public boolean isBooleanField();
@@ -55,7 +61,7 @@
      * @return
      */
     public boolean isCollectionField();
-    
+
     public boolean isStringField();
 
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/AbstractHashTable.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/AbstractHashTable.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/AbstractHashTable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -3,6 +3,10 @@
  */
 package org.drools.util;
 
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
 import java.io.Serializable;
 
 import org.drools.common.InternalFactHandle;
@@ -13,7 +17,7 @@
 
 public abstract class AbstractHashTable
     implements
-    Serializable {
+    Externalizable {
     static final int           MAX_CAPACITY = 1 << 30;
 
     protected int              size;
@@ -30,7 +34,7 @@
         this( 16,
               0.75f );
     }
-    
+
     public AbstractHashTable(final int capacity,
                              final float loadFactor) {
         this.loadFactor = loadFactor;
@@ -38,19 +42,39 @@
         this.table = new Entry[capacity];
         this.comparator = EqualityEquals.getInstance();
     }
-    
+
     public AbstractHashTable(final Entry[] table) {
-        this( 0.75f, table);
-    }      
-    
+        this( 0.75f,
+              table );
+    }
+
     public AbstractHashTable(final float loadFactor,
                              final Entry[] table) {
         this.loadFactor = loadFactor;
         this.threshold = (int) (table.length * loadFactor);
         this.table = table;
         this.comparator = EqualityEquals.getInstance();
-    }    
+    }
 
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        size = in.readInt();
+        threshold = in.readInt();
+        loadFactor = in.readFloat();
+        comparator = (ObjectComparator) in.readObject();
+        iterator = (HashTableIterator) in.readObject();
+        table = (Entry[]) in.readObject();
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+        out.writeInt( size );
+        out.writeInt( threshold );
+        out.writeFloat( loadFactor );
+        out.writeObject( comparator );
+        out.writeObject( iterator );
+        out.writeObject( table );
+    }
+
     public Iterator iterator() {
         if ( this.iterator == null ) {
             this.iterator = new HashTableIterator( this );
@@ -59,19 +83,19 @@
         this.iterator.reset();
         return this.iterator;
     }
-    
+
     public Iterator newIterator() {
         HashTableIterator iterator = new HashTableIterator( this );
         iterator.reset();
         return iterator;
-        
+
     }
 
     public void setComparator(final ObjectComparator comparator) {
         this.comparator = comparator;
     }
 
-    protected void resize(final int newCapacity) {
+    protected void resize(final int newCapacity, final boolean recalculateHashCode ) {
         final Entry[] oldTable = this.table;
         final int oldCapacity = oldTable.length;
         if ( oldCapacity == AbstractHashTable.MAX_CAPACITY ) {
@@ -90,7 +114,10 @@
             Entry next = null;
             while ( entry != null ) {
                 next = entry.getNext();
-
+                
+                if( recalculateHashCode ) {
+                    updateHashCode( entry );
+                }
                 final int index = indexOf( entry.hashCode(),
                                            newTable.length );
                 entry.setNext( newTable[index] );
@@ -102,8 +129,10 @@
 
         this.table = newTable;
         this.threshold = (int) (newCapacity * this.loadFactor);
-    }     
-    
+    }
+
+    protected abstract void updateHashCode(Entry entry);
+
     public Entry[] toArray() {
         Entry[] result = new Entry[this.size];
         int index = 0;
@@ -368,7 +397,7 @@
         }
 
         public FactEntryImpl(final InternalFactHandle handle,
-                         final int hashCode) {
+                             final int hashCode) {
             this.handle = handle;
             this.hashCode = hashCode;
             //            this.list = new LinkedList();
@@ -405,13 +434,22 @@
         public String toString() {
             return "FactEntry( handle=" + this.handle + " hashcode=" + this.hashCode + " next=" + this.next + " )";
         }
+
+        public void setHashCode(int hashCode) {
+            this.hashCode = hashCode;
+        }
     }
 
-    public static class FieldIndex {
-        FieldExtractor   extractor;
-        Declaration      declaration;
-        public Evaluator evaluator;
+    public static class FieldIndex
+        implements
+        Serializable {
 
+        private static final long serialVersionUID = 1020010166351582645L;
+
+        FieldExtractor            extractor;
+        Declaration               declaration;
+        public Evaluator          evaluator;
+
         public FieldIndex(final FieldExtractor extractor,
                           final Declaration declaration,
                           final Evaluator evaluator) {
@@ -434,9 +472,11 @@
         }
     }
 
-    public static interface Index {        
+    public static interface Index
+        extends
+        Serializable {
         public FieldIndex getFieldIndex(int index);
-        
+
         public int hashCodeOf(ReteTuple tuple);
 
         public int hashCodeOf(Object object);
@@ -455,12 +495,14 @@
         implements
         Index {
 
-        private FieldExtractor extractor;
-        private Declaration    declaration;
-        private Evaluator      evaluator;
+        private static final long serialVersionUID = -1022777958435032326L;
 
-        private int            startResult;
+        private FieldExtractor    extractor;
+        private Declaration       declaration;
+        private Evaluator         evaluator;
 
+        private int               startResult;
+
         public SingleIndex(final FieldIndex[] indexes,
                            final int startResult) {
             this.startResult = startResult;
@@ -472,21 +514,24 @@
 
         public FieldIndex getFieldIndex(int index) {
             if ( index > 0 ) {
-                throw new IllegalArgumentException("Index position " + index + " does not exist" );
+                throw new IllegalArgumentException( "Index position " + index + " does not exist" );
             }
-            return new FieldIndex(extractor, declaration, evaluator);
+            return new FieldIndex( extractor,
+                                   declaration,
+                                   evaluator );
         }
-        
-        
+
         public int hashCodeOf(final Object object) {
             int hashCode = this.startResult;
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.extractor.getHashCode( null, object );
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.extractor.getHashCode( null,
+                                                                                          object );
             return rehash( hashCode );
         }
 
         public int hashCodeOf(final ReteTuple tuple) {
             int hashCode = this.startResult;
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.declaration.getHashCode( null, tuple.get( this.declaration ).getObject() );
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.declaration.getHashCode( null,
+                                                                                            tuple.get( this.declaration ).getObject() );
             return rehash( hashCode );
         }
 
@@ -497,7 +542,8 @@
             return this.evaluator.evaluate( null,
                                             this.declaration.getExtractor(),
                                             left,
-                                            this.extractor, right );
+                                            this.extractor,
+                                            right );
         }
 
         public boolean equal(final Object object1,
@@ -506,7 +552,8 @@
             return this.evaluator.evaluate( null,
                                             this.extractor,
                                             object1,
-                                            this.extractor, object2 );
+                                            this.extractor,
+                                            object2 );
         }
 
         public boolean equal(final ReteTuple tuple1,
@@ -516,7 +563,8 @@
             return this.evaluator.evaluate( null,
                                             this.declaration.getExtractor(),
                                             object1,
-                                            this.declaration.getExtractor(), object2 );
+                                            this.declaration.getExtractor(),
+                                            object2 );
         }
 
         public int rehash(int h) {
@@ -532,11 +580,14 @@
     public static class DoubleCompositeIndex
         implements
         Index {
-        private FieldIndex index0;
-        private FieldIndex index1;
 
-        private int        startResult;
+        private static final long serialVersionUID = 5453765340969897686L;
 
+        private FieldIndex        index0;
+        private FieldIndex        index1;
+
+        private int               startResult;
+
         public DoubleCompositeIndex(final FieldIndex[] indexes,
                                     final int startResult) {
             this.startResult = startResult;
@@ -544,23 +595,25 @@
             this.index0 = indexes[0];
             this.index1 = indexes[1];
         }
-        
+
         public FieldIndex getFieldIndex(int index) {
             switch ( index ) {
-                case 0:
+                case 0 :
                     return index0;
-                case 1:
+                case 1 :
                     return index1;
-                default:
-                    throw new IllegalArgumentException("Index position " + index + " does not exist" );
+                default :
+                    throw new IllegalArgumentException( "Index position " + index + " does not exist" );
             }
         }
 
         public int hashCodeOf(final Object object) {
             int hashCode = this.startResult;
 
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.extractor.getHashCode( null, object );
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.extractor.getHashCode( null, object );
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.extractor.getHashCode( null,
+                                                                                                 object );
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.extractor.getHashCode( null,
+                                                                                                 object );
 
             return rehash( hashCode );
         }
@@ -568,8 +621,10 @@
         public int hashCodeOf(final ReteTuple tuple) {
             int hashCode = this.startResult;
 
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.declaration.getHashCode( null, tuple.get( this.index0.declaration ).getObject() );
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.declaration.getHashCode( null, tuple.get( this.index1.declaration ).getObject() );
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.declaration.getHashCode( null,
+                                                                                                   tuple.get( this.index0.declaration ).getObject() );
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.declaration.getHashCode( null,
+                                                                                                   tuple.get( this.index1.declaration ).getObject() );
 
             return rehash( hashCode );
         }
@@ -582,10 +637,12 @@
             return this.index0.evaluator.evaluate( null,
                                                    this.index0.declaration.getExtractor(),
                                                    left1,
-                                                   this.index0.extractor, right ) && this.index1.evaluator.evaluate( null,
+                                                   this.index0.extractor,
+                                                   right ) && this.index1.evaluator.evaluate( null,
                                                                                               this.index1.declaration.getExtractor(),
                                                                                               left2,
-                                                                                              this.index1.extractor, right );
+                                                                                              this.index1.extractor,
+                                                                                              right );
         }
 
         public boolean equal(final ReteTuple tuple1,
@@ -599,10 +656,12 @@
             return this.index0.evaluator.evaluate( null,
                                                    this.index0.declaration.getExtractor(),
                                                    object11,
-                                                   this.index0.declaration.getExtractor(), object12 ) && this.index1.evaluator.evaluate( null,
+                                                   this.index0.declaration.getExtractor(),
+                                                   object12 ) && this.index1.evaluator.evaluate( null,
                                                                                                  this.index1.declaration.getExtractor(),
                                                                                                  object21,
-                                                                                                 this.index1.declaration.getExtractor(), object22 );
+                                                                                                 this.index1.declaration.getExtractor(),
+                                                                                                 object22 );
         }
 
         public boolean equal(final Object object1,
@@ -610,10 +669,12 @@
             return this.index0.evaluator.evaluate( null,
                                                    this.index0.extractor,
                                                    object1,
-                                                   this.index0.extractor, object2 ) && this.index1.evaluator.evaluate( null,
+                                                   this.index0.extractor,
+                                                   object2 ) && this.index1.evaluator.evaluate( null,
                                                                                                 this.index1.extractor,
                                                                                                 object1,
-                                                                                                this.index1.extractor, object2 );
+                                                                                                this.index1.extractor,
+                                                                                                object2 );
         }
 
         public int rehash(int h) {
@@ -628,12 +689,15 @@
     public static class TripleCompositeIndex
         implements
         Index {
-        private FieldIndex index0;
-        private FieldIndex index1;
-        private FieldIndex index2;
 
-        private int        startResult;
+        private static final long serialVersionUID = 7743486670399440233L;
 
+        private FieldIndex        index0;
+        private FieldIndex        index1;
+        private FieldIndex        index2;
+
+        private int               startResult;
+
         public TripleCompositeIndex(final FieldIndex[] indexes,
                                     final int startResult) {
             this.startResult = startResult;
@@ -642,26 +706,29 @@
             this.index1 = indexes[1];
             this.index2 = indexes[2];
         }
-        
+
         public FieldIndex getFieldIndex(int index) {
             switch ( index ) {
-                case 0:
+                case 0 :
                     return index0;
-                case 1:
+                case 1 :
                     return index1;
-                case 2:
-                    return index2;                    
-                default:
-                    throw new IllegalArgumentException("Index position " + index + " does not exist" );
+                case 2 :
+                    return index2;
+                default :
+                    throw new IllegalArgumentException( "Index position " + index + " does not exist" );
             }
-        }        
+        }
 
         public int hashCodeOf(final Object object) {
             int hashCode = this.startResult;
 
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.extractor.getHashCode( null, object );;
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.extractor.getHashCode( null, object );;
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index2.extractor.getHashCode( null, object );;
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.extractor.getHashCode( null,
+                                                                                                 object );;
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.extractor.getHashCode( null,
+                                                                                                 object );;
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index2.extractor.getHashCode( null,
+                                                                                                 object );;
 
             return rehash( hashCode );
         }
@@ -669,9 +736,12 @@
         public int hashCodeOf(final ReteTuple tuple) {
             int hashCode = this.startResult;
 
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.declaration.getHashCode( null, tuple.get( this.index0.declaration ).getObject() );
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.declaration.getHashCode( null, tuple.get( this.index1.declaration ).getObject() );
-            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index2.declaration.getHashCode( null, tuple.get( this.index2.declaration ).getObject() );
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.declaration.getHashCode( null,
+                                                                                                   tuple.get( this.index0.declaration ).getObject() );
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.declaration.getHashCode( null,
+                                                                                                   tuple.get( this.index1.declaration ).getObject() );
+            hashCode = TupleIndexHashTable.PRIME * hashCode + this.index2.declaration.getHashCode( null,
+                                                                                                   tuple.get( this.index2.declaration ).getObject() );
 
             return rehash( hashCode );
         }
@@ -685,13 +755,16 @@
             return this.index0.evaluator.evaluate( null,
                                                    this.index0.declaration.getExtractor(),
                                                    left1,
-                                                   this.index0.extractor, right ) && this.index1.evaluator.evaluate( null,
+                                                   this.index0.extractor,
+                                                   right ) && this.index1.evaluator.evaluate( null,
                                                                                               this.index1.declaration.getExtractor(),
                                                                                               left2,
-                                                                                              this.index1.extractor, right ) && this.index2.evaluator.evaluate( null,
+                                                                                              this.index1.extractor,
+                                                                                              right ) && this.index2.evaluator.evaluate( null,
                                                                                                                                          this.index2.declaration.getExtractor(),
                                                                                                                                          left3,
-                                                                                                                                         this.index2.extractor, right );
+                                                                                                                                         this.index2.extractor,
+                                                                                                                                         right );
         }
 
         public boolean equal(final ReteTuple tuple1,
@@ -706,13 +779,16 @@
             return this.index0.evaluator.evaluate( null,
                                                    this.index0.declaration.getExtractor(),
                                                    object11,
-                                                   this.index0.declaration.getExtractor(), object12 ) && this.index1.evaluator.evaluate( null,
+                                                   this.index0.declaration.getExtractor(),
+                                                   object12 ) && this.index1.evaluator.evaluate( null,
                                                                                                  this.index1.declaration.getExtractor(),
                                                                                                  object21,
-                                                                                                 this.index1.declaration.getExtractor(), object22 ) && this.index2.evaluator.evaluate( null,
+                                                                                                 this.index1.declaration.getExtractor(),
+                                                                                                 object22 ) && this.index2.evaluator.evaluate( null,
                                                                                                                                                this.index2.declaration.getExtractor(),
                                                                                                                                                object31,
-                                                                                                                                               this.index2.declaration.getExtractor(), object32 );
+                                                                                                                                               this.index2.declaration.getExtractor(),
+                                                                                                                                               object32 );
         }
 
         public boolean equal(final Object object1,
@@ -720,13 +796,16 @@
             return this.index0.evaluator.evaluate( null,
                                                    this.index0.extractor,
                                                    object1,
-                                                   this.index0.extractor, object2 ) && this.index1.evaluator.evaluate( null,
+                                                   this.index0.extractor,
+                                                   object2 ) && this.index1.evaluator.evaluate( null,
                                                                                                 this.index1.extractor,
                                                                                                 object1,
-                                                                                                this.index1.extractor, object2 ) && this.index2.evaluator.evaluate( null,
+                                                                                                this.index1.extractor,
+                                                                                                object2 ) && this.index2.evaluator.evaluate( null,
                                                                                                                                              this.index2.extractor,
                                                                                                                                              object1,
-                                                                                                                                             this.index2.extractor, object2 );
+                                                                                                                                             this.index2.extractor,
+                                                                                                                                             object2 );
         }
 
         public int rehash(int h) {

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ArrayIterator.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-core/src/main/java/org/drools/util/ArrayIterator.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ArrayIterator.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ArrayIterator.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,158 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package org.drools.util;
+
+import java.lang.reflect.Array;
+import java.util.NoSuchElementException;
+
+/** 
+ * Implements an {@link java.util.Iterator Iterator} over any array.
+ * <p>
+ * The array can be either an array of object or of primitives. If you know 
+ * that you have an object array, the 
+ * {@link org.apache.commons.collections.iterators.ObjectArrayIterator ObjectArrayIterator}
+ * class is a better choice, as it will perform better.
+ * <p>
+ * The iterator implements a {@link #reset} method, allowing the reset of 
+ * the iterator back to the start if required.
+ *
+ * @since Commons Collections 1.0
+ * @version $Revision$ $Date$
+ *
+ * @author James Strachan
+ * @author Mauricio S. Moura
+ * @author Michael A. Smith
+ * @author Neil O'Toole
+ * @author Stephen Colebourne
+ */
+public class ArrayIterator implements java.util.Iterator {
+
+    /** The array to iterate over */    
+    protected Object array;
+    /** The end index to loop to */
+	protected int endIndex = 0;
+    /** The current iterator index */
+	protected int index = 0;
+    
+   
+    /**
+     * Constructs an ArrayIterator that will iterate over the values in the
+     * specified array.
+     *
+     * @param array the array to iterate over.
+     * @throws IllegalArgumentException if <code>array</code> is not an array.
+     * @throws NullPointerException if <code>array</code> is <code>null</code>
+     */
+    public ArrayIterator(final Object array) {
+        setArray(array);
+    }
+
+    /**
+     * Checks whether the index is valid or not.
+     * 
+     * @param bound  the index to check
+     * @param type  the index type (for error messages)
+     * @throws IndexOutOfBoundsException if the index is invalid
+     */
+    protected void checkBound(final int bound, final String type ) {
+        if (bound > this.endIndex) {
+            throw new ArrayIndexOutOfBoundsException(
+              "Attempt to make an ArrayIterator that " + type +
+              "s beyond the end of the array. "
+            );
+        }
+        if (bound < 0) {
+            throw new ArrayIndexOutOfBoundsException(
+              "Attempt to make an ArrayIterator that " + type +
+              "s before the start of the array. "
+            );
+        }
+    }
+
+    // Iterator interface
+    //-----------------------------------------------------------------------
+    /**
+     * Returns true if there are more elements to return from the array.
+     *
+     * @return true if there is a next element to return
+     */
+    public boolean hasNext() {
+        return (index < endIndex);
+    }
+
+    /**
+     * Returns the next element in the array.
+     *
+     * @return the next element in the array
+     * @throws NoSuchElementException if all the elements in the array
+     *  have already been returned
+     */
+    public Object next() {
+        if (hasNext() == false) {
+            throw new NoSuchElementException();
+        }
+        return Array.get(array, index++);
+    }
+
+    /**
+     * Throws {@link UnsupportedOperationException}.
+     *
+     * @throws UnsupportedOperationException always
+     */
+    public void remove() {
+        throw new UnsupportedOperationException("remove() method is not supported");
+    }
+
+    // Properties
+    //-----------------------------------------------------------------------
+    /**
+     * Gets the array that this iterator is iterating over. 
+     *
+     * @return the array this iterator iterates over, or <code>null</code> if
+     *  the no-arg constructor was used and {@link #setArray(Object)} has never
+     *  been called with a valid array.
+     */
+    public Object getArray() {
+        return array;
+    }
+    
+    /**
+     * Sets the array that the ArrayIterator should iterate over.
+     * <p>
+     * If an array has previously been set (using the single-arg constructor
+     * or this method) then that array is discarded in favour of this one.
+     * Iteration is restarted at the start of the new array.
+     * Although this can be used to reset iteration, the {@link #reset()} method
+     * is a more effective choice.
+     *
+     * @param array the array that the iterator should iterate over.
+     * @throws IllegalArgumentException if <code>array</code> is not an array.
+     * @throws NullPointerException if <code>array</code> is <code>null</code>
+     */
+    private void setArray(final Object array) {
+        // Array.getLength throws IllegalArgumentException if the object is not
+        // an array or NullPointerException if the object is null.  This call
+        // is made before saving the array and resetting the index so that the
+        // array iterator remains in a consistent state if the argument is not
+        // an array or is null.
+        this.endIndex = Array.getLength(array);
+        this.array = array;
+        this.index = 0;
+    }
+
+}

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/FactHandleIndexHashTable.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/FactHandleIndexHashTable.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/FactHandleIndexHashTable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -3,14 +3,19 @@
  */
 package org.drools.util;
 
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
 import org.drools.common.InternalFactHandle;
 import org.drools.reteoo.FactHandleMemory;
 import org.drools.reteoo.ReteTuple;
-import org.drools.util.TupleIndexHashTable.FieldIndexEntry;
 
 public class FactHandleIndexHashTable extends AbstractHashTable
     implements
-    FactHandleMemory {
+    FactHandleMemory,
+    Externalizable {
 
     private static final long           serialVersionUID = 400L;
 
@@ -24,6 +29,10 @@
 
     private Index                       index;
 
+    // used only by serialization
+    public FactHandleIndexHashTable() {
+    }
+
     public FactHandleIndexHashTable(final FieldIndex[] index) {
         this( 16,
               0.75f,
@@ -61,6 +70,31 @@
         }
     }
 
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        super.readExternal( in );
+        startResult = in.readInt();
+        factSize = in.readInt();
+        tupleValueIterator = (FieldIndexHashTableIterator) in.readObject();
+        index = (Index) in.readObject();
+
+        resize( table.length,
+                true );
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+        super.writeExternal( out );
+        out.writeInt( startResult );
+        out.writeInt( factSize );
+        out.writeObject( tupleValueIterator );
+        out.writeObject( index );
+    }
+
+    protected void updateHashCode(Entry entry) {
+        // in theory, all handles inside an entry have the same hashcode
+        ((FieldIndexEntry) entry).setHashCode( this.index.hashCodeOf( ((FieldIndexEntry) entry).getFirst().getFactHandle().getObject() ) );
+    }
+
     public Iterator iterator() {
         throw new UnsupportedOperationException( "FieldIndexHashTable does not support  iterator()" );
     }
@@ -77,7 +111,7 @@
     public boolean isIndexed() {
         return true;
     }
-    
+
     public Index getIndex() {
         return this.index;
     }
@@ -119,23 +153,23 @@
             this.entry = entry;
         }
     }
-    
+
     public Entry[] toArray() {
         Entry[] result = new Entry[this.factSize];
         int index = 0;
         for ( int i = 0; i < this.table.length; i++ ) {
-            FieldIndexEntry fieldIndexEntry = (FieldIndexEntry)this.table[i];
+            FieldIndexEntry fieldIndexEntry = (FieldIndexEntry) this.table[i];
             while ( fieldIndexEntry != null ) {
                 Entry entry = fieldIndexEntry.getFirst();
                 while ( entry != null ) {
                     result[index++] = entry;
                     entry = entry.getNext();
-                }       
-                fieldIndexEntry  = ( FieldIndexEntry ) fieldIndexEntry.getNext();
+                }
+                fieldIndexEntry = (FieldIndexEntry) fieldIndexEntry.getNext();
             }
         }
         return result;
-    }  
+    }
 
     public boolean add(final InternalFactHandle handle) {
         final FieldIndexEntry entry = getOrCreate( handle.getObject() );
@@ -165,19 +199,20 @@
             final FieldIndexEntry next = (FieldIndexEntry) current.next;
             if ( current.matches( object,
                                   hashCode ) ) {
-                current.remove( handle );
-                this.factSize--;
-                // If the FactEntryIndex is empty, then remove it from the hash table
-                if ( current.first == null ) {
-                    if ( previous == current ) {
-                        this.table[index] = next;
-                    } else {
-                        previous.next = next;
+                if ( current.remove( handle ) != null ) {
+                    this.factSize--;
+                    // If the FactEntryIndex is empty, then remove it from the hash table
+                    if ( current.first == null ) {
+                        if ( previous == current ) {
+                            this.table[index] = next;
+                        } else {
+                            previous.next = next;
+                        }
+                        current.next = null;
+                        this.size--;
                     }
-                    current.next = null;
-                    this.size--;
+                    return true;
                 }
-                return true;
             }
             previous = current;
             current = next;
@@ -256,7 +291,8 @@
             this.table[index] = entry;
 
             if ( this.size++ >= this.threshold ) {
-                resize( 2 * this.table.length );
+                resize( 2 * this.table.length,
+                        false );
             }
         }
         return entry;
@@ -272,8 +308,8 @@
 
         private static final long serialVersionUID = 400L;
         private Entry             next;
-        private FactEntryImpl         first;
-        private final int         hashCode;
+        private FactEntryImpl     first;
+        private int               hashCode;
         private Index             index;
 
         public FieldIndexEntry(final Index index,
@@ -362,5 +398,10 @@
         public String toString() {
             return "FieldIndexEntry( hashCode=" + this.hashCode + " first=" + this.first + " )";
         }
+
+        public void setHashCode(int hashCode) {
+            this.hashCode = hashCode;
+        }
     }
+
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/FactHashTable.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/FactHashTable.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/FactHashTable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -3,13 +3,18 @@
  */
 package org.drools.util;
 
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
 import org.drools.common.InternalFactHandle;
 import org.drools.reteoo.FactHandleMemory;
 import org.drools.reteoo.ReteTuple;
 
 public class FactHashTable extends AbstractHashTable
     implements
-    FactHandleMemory {
+    FactHandleMemory, Externalizable {
     private static final long serialVersionUID = 400L;
 
     public FactHashTable() {
@@ -23,6 +28,21 @@
                loadFactor );
     }
 
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        super.readExternal( in );
+        resize( table.length,
+                true );
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+        super.writeExternal( out );
+    }
+
+    protected void updateHashCode(Entry entry) {
+        ((FactEntryImpl) entry).setHashCode( this.comparator.hashCodeOf( ((FactEntryImpl) entry).getFactHandle() ) );
+    }
+
     public Iterator iterator(final ReteTuple tuple) {
         return iterator();
     }
@@ -51,12 +71,12 @@
 
         // We aren't checking the key exists, or it didn't find the key
         final FactEntryImpl entry = new FactEntryImpl( handle,
-                                               hashCode );
+                                                       hashCode );
         entry.next = this.table[index];
         this.table[index] = entry;
 
         if ( this.size++ >= this.threshold ) {
-            resize( 2 * this.table.length );
+            resize( 2 * this.table.length, false );
         }
         return true;
     }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjectHashMap.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjectHashMap.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjectHashMap.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -3,9 +3,14 @@
  */
 package org.drools.util;
 
-import org.drools.util.AbstractHashTable.EqualityEquals;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
 
-public class ObjectHashMap extends AbstractHashTable {
+public class ObjectHashMap extends AbstractHashTable
+    implements
+    Externalizable {
 
     private static final long serialVersionUID = 400L;
 
@@ -19,16 +24,33 @@
         super( capacity,
                loadFactor );
     }
-    
+
     public ObjectHashMap(final Entry[] table) {
-        super( 0.75f, table);
-    }      
-    
+        super( 0.75f,
+               table );
+    }
+
     public ObjectHashMap(final float loadFactor,
-                             final Entry[] table) {
-        super(loadFactor, table);
-    }     
+                         final Entry[] table) {
+        super( loadFactor,
+               table );
+    }
 
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        super.readExternal( in );
+        resize( table.length,
+                true );
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+        super.writeExternal( out );
+    }
+
+    protected void updateHashCode(Entry entry) {
+        ((ObjectEntry) entry).setHashCode( this.comparator.hashCodeOf( ((ObjectEntry) entry).getKey() ) );
+    }
+
     public Object put(final Object key,
                       final Object value) {
         return put( key,
@@ -71,7 +93,7 @@
         this.table[index] = entry;
 
         if ( this.size++ >= this.threshold ) {
-            resize( 2 * this.table.length );
+            resize( 2 * this.table.length, false );
         }
         return null;
     }
@@ -148,6 +170,10 @@
             this.hashCode = hashCode;
         }
 
+        public void setHashCode(int hashCode) {
+            this.hashCode = hashCode;
+        }
+
         public Object getValue() {
             return this.value;
         }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjectHashSet.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjectHashSet.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjectHashSet.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -3,9 +3,14 @@
  */
 package org.drools.util;
 
-import org.drools.util.AbstractHashTable.EqualityEquals;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
 
-public class ObjectHashSet extends AbstractHashTable {
+public class ObjectHashSet extends AbstractHashTable
+    implements
+    Externalizable {
 
     private static final long serialVersionUID = 400L;
 
@@ -31,6 +36,21 @@
                table );
     }
 
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        super.readExternal( in );
+        resize( table.length,
+                true );
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+        super.writeExternal( out );
+    }
+
+    protected void updateHashCode(Entry entry) {
+        ((ObjectEntry) entry).setHashCode( this.comparator.hashCodeOf( ((ObjectEntry) entry).getValue() ) );
+    }
+
     public boolean add(final Object value) {
         return add( value,
                     true );
@@ -69,7 +89,8 @@
         this.table[index] = entry;
 
         if ( this.size++ >= this.threshold ) {
-            resize( 2 * this.table.length );
+            resize( 2 * this.table.length,
+                    false );
         }
         return false;
     }
@@ -123,11 +144,11 @@
 
         return this.table[index];
     }
-    
+
     public Object[] toArray(Object[] objects) {
         Iterator it = iterator();
         int i = 0;
-        for ( ObjectEntry entry = ( ObjectEntry) it.next(); entry != null; entry = ( ObjectEntry ) it.next() ) {
+        for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
             objects[i++] = entry.getValue();
         }
         return objects;
@@ -151,6 +172,10 @@
             this.hashCode = hashCode;
         }
 
+        public void setHashCode(int hashCode) {
+            this.hashCode = hashCode;
+        }
+
         public Object getValue() {
             return this.value;
         }

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjenesisFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-core/src/main/java/org/drools/util/ObjenesisFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjenesisFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/ObjenesisFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2008 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 Mar 17, 2008
+ */
+package org.drools.util;
+
+import java.io.Serializable;
+
+import org.drools.objenesis.Objenesis;
+import org.drools.objenesis.ObjenesisStd;
+
+/**
+ * A factory interface for Objenesis instances
+ * 
+ * @author etirelli
+ */
+public class ObjenesisFactory implements Serializable {
+    
+    private static final long serialVersionUID = 969174504278340793L;
+    private static Objenesis OBJENESIS_INSTANCE = null;
+
+    private ObjenesisFactory() {}
+    
+    /**
+     * Returns a statically cached objenesis instance 
+     */
+    public static Objenesis getStaticObjenesis() {
+        if( OBJENESIS_INSTANCE == null ) {
+            OBJENESIS_INSTANCE = new ObjenesisStd(true);
+        }
+        return OBJENESIS_INSTANCE;
+    }
+
+    /**
+     * Returns a newly instantiated objenesis instance
+     */
+    public static Objenesis getDefaultObjenesis() {
+        return new ObjenesisStd(true);
+    }
+
+}

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/TupleHashTable.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/TupleHashTable.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/TupleHashTable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -3,13 +3,19 @@
  */
 package org.drools.util;
 
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
 import org.drools.common.InternalFactHandle;
 import org.drools.reteoo.ReteTuple;
 import org.drools.reteoo.TupleMemory;
 
 public class TupleHashTable extends AbstractHashTable
     implements
-    TupleMemory {
+    TupleMemory,
+    Externalizable {
     public TupleHashTable() {
         this( 16,
               0.75f );
@@ -21,6 +27,23 @@
                loadFactor );
     }
 
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        super.readExternal( in );
+        // since tuples does no vary hashcode, this should not need
+        // to rebuild on deserialization
+        //        resize( table.length,
+        //                true );
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+        super.writeExternal( out );
+    }
+
+    protected void updateHashCode(Entry entry) {
+        // nothing to do
+    }
+
     public Iterator iterator(final InternalFactHandle handle) {
         return iterator();
     }
@@ -34,7 +57,8 @@
         this.table[index] = tuple;
 
         if ( this.size++ >= this.threshold ) {
-            resize( 2 * this.table.length );
+            resize( 2 * this.table.length,
+                    false );
         }
     }
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/TupleIndexHashTable.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/TupleIndexHashTable.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/util/TupleIndexHashTable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -3,6 +3,10 @@
  */
 package org.drools.util;
 
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
 import org.drools.common.InternalFactHandle;
 import org.drools.reteoo.ReteTuple;
 import org.drools.reteoo.TupleMemory;
@@ -24,6 +28,10 @@
 
     private Index                           index;
 
+    // used only for serialization
+    public TupleIndexHashTable() {
+    }
+
     public TupleIndexHashTable(final FieldIndex[] index) {
         this( 16,
               0.75f,
@@ -61,6 +69,33 @@
         }
     }
 
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        super.readExternal( in );
+        startResult = in.readInt();
+        factSize = in.readInt();
+        tupleValueIterator = (FieldIndexHashTableIterator) in.readObject();
+        tupleValueFullIterator = (FieldIndexHashTableFullIterator) in.readObject();
+        index = (Index) in.readObject();
+
+        resize( table.length,
+                true );
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+        super.writeExternal( out );
+        out.writeInt( startResult );
+        out.writeInt( factSize );
+        out.writeObject( tupleValueIterator );
+        out.writeObject( tupleValueFullIterator );
+        out.writeObject( index );
+    }
+
+    protected void updateHashCode(Entry entry) {
+        // in theory, all tuples inside an entry have the same hashcode
+        ((FieldIndexEntry) entry).setHashCode( this.index.hashCodeOf( ((FieldIndexEntry) entry).getFirst() ) );
+    }
+
     public Iterator iterator() {
         if ( this.tupleValueFullIterator == null ) {
             this.tupleValueFullIterator = new FieldIndexHashTableFullIterator( this );
@@ -81,7 +116,7 @@
     public boolean isIndexed() {
         return true;
     }
-    
+
     public Index getIndex() {
         return this.index;
     }
@@ -170,23 +205,23 @@
             this.entry = null;
         }
     }
-    
+
     public Entry[] toArray() {
         Entry[] result = new Entry[this.factSize];
         int index = 0;
         for ( int i = 0; i < this.table.length; i++ ) {
-            FieldIndexEntry fieldIndexEntry = (FieldIndexEntry)this.table[i];
+            FieldIndexEntry fieldIndexEntry = (FieldIndexEntry) this.table[i];
             while ( fieldIndexEntry != null ) {
                 Entry entry = fieldIndexEntry.getFirst();
                 while ( entry != null ) {
                     result[index++] = entry;
                     entry = entry.getNext();
-                }       
-                fieldIndexEntry  = ( FieldIndexEntry ) fieldIndexEntry.getNext();
+                }
+                fieldIndexEntry = (FieldIndexEntry) fieldIndexEntry.getNext();
             }
         }
         return result;
-    }       
+    }
 
     public void add(final ReteTuple tuple) {
         final FieldIndexEntry entry = getOrCreate( tuple );
@@ -300,7 +335,8 @@
             this.table[index] = entry;
 
             if ( this.size++ >= this.threshold ) {
-                resize( 2 * this.table.length );
+                resize( 2 * this.table.length,
+                        false );
             }
         }
         return entry;
@@ -317,7 +353,7 @@
         private static final long serialVersionUID = 400L;
         private Entry             next;
         private ReteTuple         first;
-        private final int         hashCode;
+        private int               hashCode;
         private Index             index;
 
         public FieldIndexEntry(final Index index,
@@ -326,6 +362,10 @@
             this.hashCode = hashCode;
         }
 
+        public void setHashCode(int hashCode) {
+            this.hashCode = hashCode;
+        }
+
         public Entry getNext() {
             return this.next;
         }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/agent/RuleAgentTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/agent/RuleAgentTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/agent/RuleAgentTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -228,15 +228,14 @@
     public void testDirectory() throws Exception {
         File dir = RuleBaseAssemblerTest.getTempDirectory();
 
-        Package p1 = new Package("p1");
-        File p1f = new File(dir, "p43_.pkg");
-
         File junk = new File(dir, "xxx.poo");
         FileOutputStream ojunk = new FileOutputStream(junk);
         ojunk.write("ignore me".getBytes());
         ojunk.flush();
         ojunk.close();
 
+        Package p1 = new Package("p1");
+        File p1f = new File(dir, "p43_.pkg");
         RuleBaseAssemblerTest.writePackage( p1, p1f );
 
         Properties props = new Properties();

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -90,8 +90,17 @@
                                  {"foo", "not memberOf", col, Boolean.FALSE},
                                  {"xyz", "not memberOf", col, Boolean.TRUE},
                                  {null, "not memberOf", col, Boolean.FALSE},
-                                 {"foo", "not memberOf", null, Boolean.FALSE}
-
+                                 {"foo", "not memberOf", null, Boolean.FALSE},
+                                 {Boolean.TRUE, "==", "xyz", Boolean.FALSE},
+                                 {Boolean.TRUE, "==", "true", Boolean.TRUE},
+                                 {Boolean.FALSE, "==", "xyz", Boolean.TRUE},
+                                 {Boolean.FALSE, "==", "false", Boolean.TRUE},
+                                 {Boolean.FALSE, "==", "true", Boolean.FALSE},
+                                 {Boolean.TRUE, "!=", "xyz", Boolean.TRUE},
+                                 {Boolean.TRUE, "!=", "true", Boolean.FALSE},
+                                 {Boolean.FALSE, "!=", "xyz", Boolean.FALSE},
+                                 {Boolean.FALSE, "!=", "true", Boolean.TRUE},
+                                 {Boolean.FALSE, "!=", "false", Boolean.FALSE}
         };
 
         runEvaluatorTest( data,
@@ -146,6 +155,10 @@
                                  {"foo", "matches", ".*foo", Boolean.TRUE},
                                  {"foo", "matches", "bar", Boolean.FALSE},
                                  {null, "matches", ".*foo", Boolean.FALSE},
+                                 {"something", "matches", "something", Boolean.TRUE},
+                                 {"something", "matches", "hello ;=", Boolean.FALSE},
+                                 {"something", "not matches", "something", Boolean.FALSE},
+                                 {"something", "not matches", "hello ;=", Boolean.TRUE},
                                  {"foo", "==", null, Boolean.FALSE},
                                  {"foo", "!=", null, Boolean.TRUE},
                                  {null, "==", null, Boolean.TRUE},

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/extractors/MVELClassFieldExtractorTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/extractors/MVELClassFieldExtractorTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/extractors/MVELClassFieldExtractorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,5 +1,7 @@
 package org.drools.base.extractors;
 
+import java.util.Vector;
+
 import junit.framework.Assert;
 import junit.framework.TestCase;
 
@@ -10,31 +12,47 @@
 
 public class MVELClassFieldExtractorTest extends TestCase {
 
-    Extractor extractor = ClassFieldExtractorCache.getInstance().getExtractor( Person.class,
-                                                                               "addresses['home'].street",
-                                                                               getClass().getClassLoader() );
-    Person    person    = null;
+    Extractor               extractor = ClassFieldExtractorCache.getInstance().getExtractor( Person.class,
+                                                                                             "addresses['home'].street",
+                                                                                             getClass().getClassLoader() );
+    private final Person[]  person    = new Person[2];
+    private final Address[] business  = new Address[2];
+    private final Address[] home      = new Address[2];
 
     protected void setUp() throws Exception {
         super.setUp();
-        person = new Person( "bob",
-                             30 );
-        Address business = new Address( "Business Street",
-                                        "999",
-                                        null );
-        Address home = new Address( "Home Street",
-                                    "555",
-                                    "55555555" );
-        person.getAddresses().put( "business",
-                                   business );
-        person.getAddresses().put( "home",
-                                   home );
+        person[0] = new Person( "bob",
+                                30 );
+        business[0] = new Address( "Business Street",
+                                   "999",
+                                   null );
+        home[0] = new Address( "Home Street",
+                               "555",
+                               "55555555" );
+        person[0].getAddresses().put( "business",
+                                      business[0] );
+        person[0].getAddresses().put( "home",
+                                      home[0] );
+
+        person[1] = new Person( "mark",
+                                35 );
+        business[1] = new Address( "Another Business Street",
+                                   "999",
+                                   null );
+        home[1] = new Address( "Another Home Street",
+                               "555",
+                               "55555555" );
+        person[1].getAddresses().put( "business",
+                                      business[1] );
+        person[1].getAddresses().put( "home",
+                                      home[1] );
+
     }
 
     public void testGetBooleanValue() {
         try {
             this.extractor.getBooleanValue( null,
-                                            this.person );
+                                            this.person[0] );
             fail( "Should have throw an exception" );
         } catch ( final Exception e ) {
             // success
@@ -44,7 +62,7 @@
     public void testGetByteValue() {
         try {
             this.extractor.getByteValue( null,
-                                         this.person );
+                                         this.person[0] );
             fail( "Should have throw an exception" );
         } catch ( final Exception e ) {
             // success
@@ -54,7 +72,7 @@
     public void testGetCharValue() {
         try {
             this.extractor.getCharValue( null,
-                                         this.person );
+                                         this.person[0] );
             fail( "Should have throw an exception" );
         } catch ( final Exception e ) {
             // success
@@ -64,7 +82,7 @@
     public void testGetDoubleValue() {
         try {
             this.extractor.getDoubleValue( null,
-                                           this.person );
+                                           this.person[0] );
             fail( "Should have throw an exception" );
         } catch ( final Exception e ) {
             // success
@@ -74,7 +92,7 @@
     public void testGetFloatValue() {
         try {
             this.extractor.getFloatValue( null,
-                                          this.person );
+                                          this.person[0] );
             fail( "Should have throw an exception" );
         } catch ( final Exception e ) {
             // success
@@ -84,7 +102,7 @@
     public void testGetIntValue() {
         try {
             this.extractor.getIntValue( null,
-                                        this.person );
+                                        this.person[0] );
             fail( "Should have throw an exception" );
         } catch ( final Exception e ) {
             // success
@@ -94,7 +112,7 @@
     public void testGetLongValue() {
         try {
             this.extractor.getLongValue( null,
-                                         this.person );
+                                         this.person[0] );
             fail( "Should have throw an exception" );
         } catch ( final Exception e ) {
             // success
@@ -104,7 +122,7 @@
     public void testGetShortValue() {
         try {
             this.extractor.getShortValue( null,
-                                          this.person );
+                                          this.person[0] );
             fail( "Should have throw an exception" );
         } catch ( final Exception e ) {
             // success
@@ -113,11 +131,11 @@
 
     public void testGetValue() {
         try {
-            Assert.assertEquals( "Home Street",
+            Assert.assertEquals( home[0].getStreet(),
                                  this.extractor.getValue( null,
-                                                          this.person ) );
+                                                          this.person[0] ) );
             Assert.assertTrue( this.extractor.getValue( null,
-                                                        this.person ) instanceof String );
+                                                        this.person[0] ) instanceof String );
         } catch ( final Exception e ) {
             fail( "Should not throw an exception" );
         }
@@ -126,16 +144,60 @@
     public void testIsNullValue() {
         try {
             Assert.assertFalse( this.extractor.isNullValue( null,
-                                                            this.person ) );
+                                                            this.person[0] ) );
 
             Extractor nullExtractor = ClassFieldExtractorCache.getInstance().getExtractor( Person.class,
                                                                                            "addresses['business'].phone",
                                                                                            getClass().getClassLoader() );
             Assert.assertTrue( nullExtractor.isNullValue( null,
-                                                          this.person ) );
+                                                          this.person[0] ) );
         } catch ( final Exception e ) {
             fail( "Should not throw an exception" );
         }
     }
 
+    public void testMultithreads() {
+        final int THREAD_COUNT = 30;
+
+        try {
+            final Vector errors = new Vector();
+
+            final Thread t[] = new Thread[THREAD_COUNT];
+            for ( int j = 0; j < 10; j++ ) {
+                for ( int i = 0; i < t.length; i++ ) {
+                    final int ID = i;
+                    t[i] = new Thread() {
+                        public void run() {
+                            try {
+                                final int ITERATIONS = 300;
+                                for ( int k = 0; k < ITERATIONS; k++ ) {
+                                    String value = (String) extractor.getValue( null,
+                                                                                person[ID % 2] );
+                                    if ( !home[ID % 2].getStreet().equals( value ) ) {
+                                        errors.add( "THREAD(" + ID + "): Wrong value at iteration " + k + ". Value='" + value + "'\n" );
+                                    }
+                                }
+                            } catch ( Exception ex ) {
+                                ex.printStackTrace();
+                                errors.add( ex );
+                            }
+                        }
+
+                    };
+                    t[i].start();
+                }
+                for ( int i = 0; i < t.length; i++ ) {
+                    t[i].join();
+                }
+            }
+            if ( !errors.isEmpty() ) {
+                System.out.println(errors.toString());
+                fail( " Errors occured during execution " );
+            }
+        } catch ( InterruptedException e ) {
+            e.printStackTrace();
+            fail( "Unexpected exception running test: " + e.getMessage() );
+        }
+    }
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/examples/manners/ReteooMannersTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -65,7 +65,7 @@
         };
 
         //workingMemory.addEventListener(listener );
-        final InputStream is = getClass().getResourceAsStream( "/manners64.dat" );
+        final InputStream is = getClass().getResourceAsStream( "/manners128.dat" );
         final List list = getInputObjects( is );
         for ( final Iterator it = list.iterator(); it.hasNext(); ) {
             final Object object = it.next();

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/reteoo/CollectNodeTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/reteoo/CollectNodeTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/reteoo/CollectNodeTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -16,12 +16,20 @@
 
 package org.drools.reteoo;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutput;
+import java.io.ObjectOutputStream;
 import java.util.Collection;
 import java.util.LinkedList;
 
 import junit.framework.Assert;
 
 import org.drools.DroolsTestCase;
+import org.drools.RuleBase;
 import org.drools.RuleBaseConfiguration;
 import org.drools.RuleBaseFactory;
 import org.drools.base.ClassObjectType;
@@ -361,11 +369,14 @@
 
     }
 
-    public void testMemory() {
+    public void testMemory() throws IOException, ClassNotFoundException {
         ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase();
         BuildContext buildContext = new BuildContext( ruleBase,
                                                       ruleBase.getReteooBuilder().getIdGenerator() );
         
+        byte[] serializeOut = serializeOut(ruleBase);
+        ruleBase = (ReteooRuleBase) serializeIn(serializeOut);
+        
         final ReteooWorkingMemory workingMemory = ( ReteooWorkingMemory ) ruleBase.newStatefulSession();
 
         final MockObjectSource objectSource = new MockObjectSource( 1 );
@@ -434,5 +445,28 @@
                              2,
                              this.sink.getAsserted().size() );
     }
+    
+    
+    protected Object serializeIn(final byte[] bytes) throws IOException,
+			ClassNotFoundException {
+		final ObjectInput in = new ObjectInputStream(new ByteArrayInputStream(
+				bytes));
+		final Object obj = in.readObject();
+		in.close();
+		return obj;
+	}
 
+	protected byte[] serializeOut(final Object obj) throws IOException {
+		// Serialize to a byte array
+		final ByteArrayOutputStream bos = new ByteArrayOutputStream();
+		final ObjectOutput out = new ObjectOutputStream(bos);
+		out.writeObject(obj);
+		out.close();
+
+		// Get the bytes of the serialized object
+		final byte[] bytes = bos.toByteArray();
+		return bytes;
+	}
+
+
 }

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -438,7 +438,7 @@
 
         public ValueType getValueType() {
             //  Auto-generated method stub
-            return ValueType.OBJECT_TYPE;
+            return ValueType.STRING_TYPE;
         }
 
         public int getHashCode(InternalWorkingMemory workingMemory,

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/spi/MockConstraint.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/spi/MockConstraint.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/spi/MockConstraint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -97,4 +97,8 @@
         return this.isAllowed;
     }
 
+    public ConstraintType getType() {
+        return ConstraintType.BETA;
+    }
+
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/.classpath
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/.classpath	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,14 +5,14 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+  <classpathentry kind="src" path="/drools-compiler"/>
   <classpathentry kind="src" path="/drools-core"/>
-  <classpathentry kind="src" path="/drools-compiler"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.21/mvel14-1.2.21.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/1.2.24-java1.4/mvel-1.2.24-java1.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/.project
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/.project	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,8 +2,8 @@
   <name>drools-decisiontables</name>
   <comment>A rule production system</comment>
   <projects>
+    <project>drools-compiler</project>
     <project>drools-core</project>
-    <project>drools-compiler</project>
   </projects>
   <buildSpec>
     <buildCommand>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-	<version>4.0.2.SNAPSHOT</version>
+	<version>4.0.6</version>
   </parent>
 
   <artifactId>drools-decisiontables</artifactId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ActionTypeTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ActionTypeTest.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ActionTypeTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -41,13 +41,6 @@
         ActionType.addNewActionType( actionTypeMap, "RULEFLOW-GROUP", 0, 1 );
         type = (ActionType) actionTypeMap.get( new Integer(0) );
         assertEquals(ActionType.RULEFLOWGROUP, type.type);
-
-        actionTypeMap = new HashMap();
-        ActionType.addNewActionType( actionTypeMap, "AGENDA-GROUP", 0, 1 );
-        type = (ActionType) actionTypeMap.get( new Integer(0) );
-        assertEquals(ActionType.AGENDAGROUP, type.type);
-
-
     }
     
 }

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2 (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2)


Property changes on: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2
___________________________________________________________________
Name: svn:ignore
   + target
local

.metadata
.settings
.wtpmodules

nbproject

*.ipr
*.iws
*.iml


repository
local-eclipse-drop-mirror


Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/allElements.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/allElements.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/allElements.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,45 +0,0 @@
-<project name="allElements Delegator">
- 	<!-- ===================================================================== -->
- 	<!-- Run a given ${target} on all elements being built                     -->
- 	<!-- Replace element.id with the id of the top level element being built.    -->
-	<!-- If element.id does not exist in ${buildDirectory}/features/element.id   -->
-	<!-- or ${baseLocation}/features/element.id, then you must provide the       -->
-	<!-- location by setting the property "pluginPath"                           -->
- 	<!-- Add on <ant> task for each top level element being built.             -->
- 	<!-- ===================================================================== -->
- 	<target name="allElementsDelegator">
-    <antcall target="org.drools.eclipse.feature"  />
-    <antcall target="org.drools.eclipse.test-feature"  />
- 	</target>
-
- 	<target name="org.drools.eclipse.feature" if="mavenCompilePhase">
- 		<ant antfile="${genericTargets}" target="${target}">
-	 		<property name="type" value="feature" />
-	 		<property name="id" value="org.drools.eclipse.feature" />
- 		</ant>
- 	</target>
-
- 	<target name="org.drools.eclipse.test-feature" if="mavenTestPhase">
- 		<ant antfile="${genericTargets}" target="${target}">
-	 		<property name="type" value="feature" />
-	 		<property name="id" value="org.drools.eclipse.test-feature" />
- 		</ant>
- 	</target>
-
- 	<!-- ===================================================================== -->
- 	<!-- Targets to assemble the built elements for particular configurations  -->
- 	<!-- These generally call the generated assemble scripts (named in         -->
- 	<!-- ${assembleScriptName}) but may also add pre and post processing       -->
- 	<!-- Add one target for each root element and each configuration           -->
- 	<!-- Replace element.id with the id of the top level element being built   -->
- 	<!-- ===================================================================== -->
- 	<target name="assemble.org.drools.eclipse.feature">
- 		<property name="archiveName" value="${zipFile}"/>
- 		<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
- 	</target>
-
- 	<target name="assemble.org.drools.eclipse.test-feature">
- 		<property name="archiveName" value="${testZipFile}"/>
- 		<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
- 	</target>
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/allElements.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/allElements.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/allElements.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/allElements.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,45 @@
+<project name="allElements Delegator">
+ 	<!-- ===================================================================== -->
+ 	<!-- Run a given ${target} on all elements being built                     -->
+ 	<!-- Replace element.id with the id of the top level element being built.    -->
+	<!-- If element.id does not exist in ${buildDirectory}/features/element.id   -->
+	<!-- or ${baseLocation}/features/element.id, then you must provide the       -->
+	<!-- location by setting the property "pluginPath"                           -->
+ 	<!-- Add on <ant> task for each top level element being built.             -->
+ 	<!-- ===================================================================== -->
+ 	<target name="allElementsDelegator">
+    <antcall target="org.drools.eclipse.feature"  />
+    <antcall target="org.drools.eclipse.test-feature"  />
+ 	</target>
+
+ 	<target name="org.drools.eclipse.feature" if="mavenCompilePhase">
+ 		<ant antfile="${genericTargets}" target="${target}">
+	 		<property name="type" value="feature" />
+	 		<property name="id" value="org.drools.eclipse.feature" />
+ 		</ant>
+ 	</target>
+
+ 	<target name="org.drools.eclipse.test-feature" if="mavenTestPhase">
+ 		<ant antfile="${genericTargets}" target="${target}">
+	 		<property name="type" value="feature" />
+	 		<property name="id" value="org.drools.eclipse.test-feature" />
+ 		</ant>
+ 	</target>
+
+ 	<!-- ===================================================================== -->
+ 	<!-- Targets to assemble the built elements for particular configurations  -->
+ 	<!-- These generally call the generated assemble scripts (named in         -->
+ 	<!-- ${assembleScriptName}) but may also add pre and post processing       -->
+ 	<!-- Add one target for each root element and each configuration           -->
+ 	<!-- Replace element.id with the id of the top level element being built   -->
+ 	<!-- ===================================================================== -->
+ 	<target name="assemble.org.drools.eclipse.feature">
+ 		<property name="archiveName" value="${zipFile}"/>
+ 		<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+ 	</target>
+
+ 	<target name="assemble.org.drools.eclipse.test-feature">
+ 		<property name="archiveName" value="${testZipFile}"/>
+ 		<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+ 	</target>
+</project>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/build.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,72 +0,0 @@
-#product=/plugin or feature id/path/to/.product
-runPackager=true
-droolsVersion=4.0.6
-
-# The prefix that will be used in the generated archive.
-archivePrefix=
-# The location underwhich all of the build output will be collected.
-collectingFolder=${archivePrefix}
-
-##sets the zip name
-zipFile=drools-eclipse3.2-${droolsVersion}.zip
-testZipFile=drools-eclipse3.2-test-${droolsVersion}.zip
-
-#Set to true if you want the output to be ready for an update jar (no site.xml generated)
-outputUpdateJars = false
-
-# Timestamp for the build.  Used in naming the build output
-timestamp=007
-
-# Type of build.  Used in naming the build output.  Typically this value is
-# one of I, N, M, S, ...
-buildType=N
-
-# ID of the build.  Used in naming the build output.
-buildId=drools-build
-
-# Label for the build.  Used in naming the build output
-buildLabel=${buildType}.${buildId}
-
-#Where the customised scripts live
-builder=.
-base=${builder}/target
-buildDirectory=${base}/eclipse.build
-baseLocation=${base}/eclipse
-
-
-#Os/Ws/Arch/nl of the eclipse specified by baseLocation
-#baseos=win32
-#basews=win32
-#basearch=x86
-
-eclipseGefURL=http://download.eclipse.org/tools/gef/downloads/drops
-eclipseURL=http://archive.eclipse.org/eclipse/downloads/drops
-eclipseBuildRevision=R-3.2.2-200702121330
-eclipseGefBuildRevision=R-3.2.2-200702081315
-eclipseBuildId=3.2.2
-
-# We don't want any SCM automation
-skipFetch=true
-
-# Specify the output format of the compiler log when eclipse jdt is used
-logExtension=.log
-
-# Whether or not to include debug info in the output jars
-javacDebugInfo=false
-
-# Whether or not to fail the build if there are compiler errors
-javacFailOnError=false
-
-# Enable or disable verbose mode of the compiler
-javacVerbose=true
-
-# Extra arguments for the compiler. These are specific to the java compiler being used.
-#compilerArg=
-
-# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties
-javacSource=1.4
-
-# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties.
-javacTarget=1.4
-
-

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/build.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,72 @@
+#product=/plugin or feature id/path/to/.product
+runPackager=true
+droolsVersion=4.0.6
+
+# The prefix that will be used in the generated archive.
+archivePrefix=
+# The location underwhich all of the build output will be collected.
+collectingFolder=${archivePrefix}
+
+##sets the zip name
+zipFile=drools-eclipse3.2-${droolsVersion}.zip
+testZipFile=drools-eclipse3.2-test-${droolsVersion}.zip
+
+#Set to true if you want the output to be ready for an update jar (no site.xml generated)
+outputUpdateJars = false
+
+# Timestamp for the build.  Used in naming the build output
+timestamp=007
+
+# Type of build.  Used in naming the build output.  Typically this value is
+# one of I, N, M, S, ...
+buildType=N
+
+# ID of the build.  Used in naming the build output.
+buildId=drools-build
+
+# Label for the build.  Used in naming the build output
+buildLabel=${buildType}.${buildId}
+
+#Where the customised scripts live
+builder=.
+base=${builder}/target
+buildDirectory=${base}/eclipse.build
+baseLocation=${base}/eclipse
+
+
+#Os/Ws/Arch/nl of the eclipse specified by baseLocation
+#baseos=win32
+#basews=win32
+#basearch=x86
+
+eclipseGefURL=http://download.eclipse.org/tools/gef/downloads/drops
+eclipseURL=http://archive.eclipse.org/eclipse/downloads/drops
+eclipseBuildRevision=R-3.2.2-200702121330
+eclipseGefBuildRevision=R-3.2.2-200702081315
+eclipseBuildId=3.2.2
+
+# We don't want any SCM automation
+skipFetch=true
+
+# Specify the output format of the compiler log when eclipse jdt is used
+logExtension=.log
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=false
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+# Enable or disable verbose mode of the compiler
+javacVerbose=true
+
+# Extra arguments for the compiler. These are specific to the java compiler being used.
+#compilerArg=
+
+# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties
+javacSource=1.4
+
+# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties.
+javacTarget=1.4
+
+

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/build.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,126 +0,0 @@
-<project name="Build All Elements" default="main">
-
-<!-- ===================================================================== -->
-<!-- Global properties.  See the build.properties for information on -->
-<!-- the properties which callers can control. -->
-<!-- ===================================================================== -->
-<property name="builder" location="${user.dir}"/>
-<property name="builderDirectory" location="${builder}"/>
-<property name="buildProperties" location="${builder}/build.properties"/>
-<property file="${buildProperties}"/>
-<available property="customTargets" file="${builder}/customTargets.xml" value="${builder}/customTargets.xml"/>
-<property name="customTargets" location="${eclipse.pdebuild.templates}/headless-build/customTargets.xml"/>
-<property name="genericTargets" location="${eclipse.pdebuild.scripts}/genericTargets.xml"/>
-
-<!-- ===================================================================== -->
-<!-- main entry point to setup, fetch, generate, build etc. Use -->
-<!-- the customTargets.xml to modify the build behaviour. -->
-<!-- ===================================================================== -->
-
-<!-- ******* add in the descriptions for each of the top level targets to teh target decl -->
-<target name="main" description="the main build target">	
-  	<antcall target="preBuild" /> 
- 	<antcall target="fetch" />
-	<antcall target="generate" /> 
-	<antcall target="process" /> 
-	<antcall target="assemble" />
-	<antcall target="package" />
-	<antcall target="postBuild" />
-</target>
-
-<!-- ===================================================================== -->
-<!-- Steps to do before starting the build.  Typical setup includes -->
-<!-- fetching the map files and building the directory.  -->
-<!-- ===================================================================== -->
-<target name="preBuild">
-	<mkdir dir="${buildDirectory}" />
-	<ant antfile="${customTargets}" target="preSetup" /> 
-	<ant antfile="${customTargets}" target="getMapFiles" /> 
-	<concat destfile="${buildDirectory}/directory.txt" fixlastline="yes">
-		<fileset dir="${buildDirectory}" includes="maps/**/*.map"/>
-	</concat>
-	<ant antfile="${customTargets}" target="postSetup" />
-</target>
-
-<!-- ===================================================================== -->
-<!-- Fetch the elements identified in the customTargets -->
-<!-- ===================================================================== -->
-<target name="fetch" unless="skipFetch">
-	<ant antfile="${customTargets}" target="preFetch"/>
-	<!-- Generates and then execute the fetch scripts for each build element-->
-	<ant antfile="${customTargets}" target="allElements">
-		<property name="target" value="fetchElement" />
-	</ant>
-	
-	<ant antfile="${customTargets}" target="postFetch"/>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Generate the build scripts for each element identified in the customTargets -->
-<!-- ===================================================================== -->
-<target name="generate">
-	<ant antfile="${customTargets}" target="preGenerate"/>
-	<!-- Generate the build.xml for each build element-->
-	<ant antfile="${customTargets}" target="allElements">
-		<property name="target" value="generateScript" />
-	</ant>
-	<ant antfile="${customTargets}" target="postGenerate"/>	
-</target>
-
-<!-- ===================================================================== -->
-<!-- Run the build scripts for each element identified in the customTargets -->
-<!-- ===================================================================== -->
-<target name="process">
-	<!-- Run custom tasks before processing, i.e. creating source build zip files -->
-	<ant antfile="${customTargets}" target="preProcess" />
-
-	<!-- Process all of the build elements-->
-	<ant antfile="${customTargets}" target="allElements">
-		<property name="target" value="processElement" />
-	</ant>
-
-	<!-- Run custom tasks after compiling, i.e. reporting compile errors -->
-	<ant antfile="${customTargets}" target="postProcess" />
-</target>
-
-<!-- ===================================================================== -->
-<!-- Assemble the build elements into final distributions -->
-<!-- ===================================================================== -->
-<target name="assemble">
-	<ant antfile="${customTargets}" target="preAssemble"/>
-	<ant antfile="${customTargets}" target="allElements">
-		<property name="target" value="assembleElement"/>
-	</ant>
-	<ant antfile="${customTargets}" target="postAssemble"/>	
-</target>
-
-<!-- ===================================================================== -->
-<!-- Package the build elements into final distributions -->
-<!-- ===================================================================== -->
-<target name="package" if="runPackager">
-	<ant antfile="${customTargets}" target="prePackage"/>
-	<ant antfile="${customTargets}" target="allElements">
-		<property name="target" value="packageElement"/>
-	</ant>
-	<ant antfile="${customTargets}" target="postPackage"/>	
-</target>
-
-<!-- ===================================================================== -->
-<!-- Do any steps required after the build (e.g., posting, testing, ...) -->
-<!-- ===================================================================== -->
-<target name="postBuild">
-	<ant antfile="${customTargets}" target="postBuild" />
-</target>
-
-<!-- ===================================================================== -->
-<!-- Clean the build elements.  This target is here as an entry -->
-<!-- point to the customTargets.  It is not called directly in the normal -->
-<!-- course of events. -->
-<!-- ===================================================================== -->
-<target name="clean">
-  <ant antfile="${customTargets}" target="allElements">
-     <property name="target" value="cleanElement"/>
-  </ant>
-</target>
-
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/build.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/build.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,126 @@
+<project name="Build All Elements" default="main">
+
+<!-- ===================================================================== -->
+<!-- Global properties.  See the build.properties for information on -->
+<!-- the properties which callers can control. -->
+<!-- ===================================================================== -->
+<property name="builder" location="${user.dir}"/>
+<property name="builderDirectory" location="${builder}"/>
+<property name="buildProperties" location="${builder}/build.properties"/>
+<property file="${buildProperties}"/>
+<available property="customTargets" file="${builder}/customTargets.xml" value="${builder}/customTargets.xml"/>
+<property name="customTargets" location="${eclipse.pdebuild.templates}/headless-build/customTargets.xml"/>
+<property name="genericTargets" location="${eclipse.pdebuild.scripts}/genericTargets.xml"/>
+
+<!-- ===================================================================== -->
+<!-- main entry point to setup, fetch, generate, build etc. Use -->
+<!-- the customTargets.xml to modify the build behaviour. -->
+<!-- ===================================================================== -->
+
+<!-- ******* add in the descriptions for each of the top level targets to teh target decl -->
+<target name="main" description="the main build target">	
+  	<antcall target="preBuild" /> 
+ 	<antcall target="fetch" />
+	<antcall target="generate" /> 
+	<antcall target="process" /> 
+	<antcall target="assemble" />
+	<antcall target="package" />
+	<antcall target="postBuild" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do before starting the build.  Typical setup includes -->
+<!-- fetching the map files and building the directory.  -->
+<!-- ===================================================================== -->
+<target name="preBuild">
+	<mkdir dir="${buildDirectory}" />
+	<ant antfile="${customTargets}" target="preSetup" /> 
+	<ant antfile="${customTargets}" target="getMapFiles" /> 
+	<concat destfile="${buildDirectory}/directory.txt" fixlastline="yes">
+		<fileset dir="${buildDirectory}" includes="maps/**/*.map"/>
+	</concat>
+	<ant antfile="${customTargets}" target="postSetup" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Fetch the elements identified in the customTargets -->
+<!-- ===================================================================== -->
+<target name="fetch" unless="skipFetch">
+	<ant antfile="${customTargets}" target="preFetch"/>
+	<!-- Generates and then execute the fetch scripts for each build element-->
+	<ant antfile="${customTargets}" target="allElements">
+		<property name="target" value="fetchElement" />
+	</ant>
+	
+	<ant antfile="${customTargets}" target="postFetch"/>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Generate the build scripts for each element identified in the customTargets -->
+<!-- ===================================================================== -->
+<target name="generate">
+	<ant antfile="${customTargets}" target="preGenerate"/>
+	<!-- Generate the build.xml for each build element-->
+	<ant antfile="${customTargets}" target="allElements">
+		<property name="target" value="generateScript" />
+	</ant>
+	<ant antfile="${customTargets}" target="postGenerate"/>	
+</target>
+
+<!-- ===================================================================== -->
+<!-- Run the build scripts for each element identified in the customTargets -->
+<!-- ===================================================================== -->
+<target name="process">
+	<!-- Run custom tasks before processing, i.e. creating source build zip files -->
+	<ant antfile="${customTargets}" target="preProcess" />
+
+	<!-- Process all of the build elements-->
+	<ant antfile="${customTargets}" target="allElements">
+		<property name="target" value="processElement" />
+	</ant>
+
+	<!-- Run custom tasks after compiling, i.e. reporting compile errors -->
+	<ant antfile="${customTargets}" target="postProcess" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Assemble the build elements into final distributions -->
+<!-- ===================================================================== -->
+<target name="assemble">
+	<ant antfile="${customTargets}" target="preAssemble"/>
+	<ant antfile="${customTargets}" target="allElements">
+		<property name="target" value="assembleElement"/>
+	</ant>
+	<ant antfile="${customTargets}" target="postAssemble"/>	
+</target>
+
+<!-- ===================================================================== -->
+<!-- Package the build elements into final distributions -->
+<!-- ===================================================================== -->
+<target name="package" if="runPackager">
+	<ant antfile="${customTargets}" target="prePackage"/>
+	<ant antfile="${customTargets}" target="allElements">
+		<property name="target" value="packageElement"/>
+	</ant>
+	<ant antfile="${customTargets}" target="postPackage"/>	
+</target>
+
+<!-- ===================================================================== -->
+<!-- Do any steps required after the build (e.g., posting, testing, ...) -->
+<!-- ===================================================================== -->
+<target name="postBuild">
+	<ant antfile="${customTargets}" target="postBuild" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Clean the build elements.  This target is here as an entry -->
+<!-- point to the customTargets.  It is not called directly in the normal -->
+<!-- course of events. -->
+<!-- ===================================================================== -->
+<target name="clean">
+  <ant antfile="${customTargets}" target="allElements">
+     <property name="target" value="cleanElement"/>
+  </ant>
+</target>
+
+</project>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/customTargets.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/customTargets.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/customTargets.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,198 +0,0 @@
-<project name="Build specific targets and properties" default="noDefault">
-	<!-- ===================================================================== -->
-	<!-- Run a given ${target} on all elements being built -->
-	<!-- Add on <ant> task for each top level element being built. -->
-	<!-- ===================================================================== -->
-	<property name="allElementsFile" value="${builder}/allElements.xml"/>
-	<import file="${allElementsFile}" />
-	<target name="allElements">
-		<antcall target="allElementsDelegator" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- ===================================================================== -->
-	<!-- Check out map files from correct repository -->
-	<!-- Replace values for mapsCheckoutTag as desired. -->
-	<!-- ===================================================================== -->
-	<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
-		<property name="mapsCheckoutTag" value="HEAD" />
-		<cvs cvsRoot="${mapsRepo}" package="${mapsRoot}" dest="${buildDirectory}/maps" tag="${mapsCheckoutTag}" />
-	</target>
-
-	<target name="checkLocalMaps">
-		<available property="skipMaps" file="${buildDirectory}/maps" />
-	</target>
-
-	<target name="tagMapFiles" if="tagMaps">
-		<cvs dest="${buildDirectory}/maps/${mapsRoot}" command="tag ${mapsTagTag}" />
-	</target>
-
-	<!-- ===================================================================== -->
-
-	<target name="clean" unless="noclean">
-		<antcall target="allElements">
-			<param name="target" value="cleanElement" />
-		</antcall>
-	</target>
-
-	<target name="gatherLogs">
-		<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
-		<antcall target="allElements">
-			<param name="target" value="gatherLogs" />
-		</antcall>
-		<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
-			<fileset dir="${buildDirectory}/features">
-				<include name="**/*.log.zip" />
-			</fileset>
-		</unzip>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before setup -->
-	<!-- ===================================================================== -->
-	<target name="preSetup">
-	  <echo>preSetup</echo>	  
-    <!--cleanup -->
-    <delete failonerror="false" file="${base}/eclipse/org.drools.eclipse*.xml" />
-    <delete failonerror="false" dir="${base}/eclipse/test-workspace"/>
-    
-    <delete failonerror="false"  dir="${base}/eclipse/features/org.drools.eclipse.feature_${droolsVersion}"/>
-    <delete failonerror="false" dir="${base}/eclipse/features/org.drools.eclipse.test-feature_${droolsVersion}"/>
-    
-    <delete failonerror="false" file="${base}/eclipse/plugins/org.drools.eclipse_${droolsVersion}.jar"/>
-    <delete failonerror="false" dir="${base}/eclipse/plugins/org.drools.eclipse.test_${droolsVersion}"/>            
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after setup but before starting the build proper -->
-	<!-- ===================================================================== -->
-	<target name="postSetup">		
-		<mkdir dir="${buildDirectory}/features"/>
-		<mkdir dir="${buildDirectory}/plugins"/>
-		
-		<antcall target="compilePostSetup" />
-		<antcall target="testPostSetup" />
-	</target>
-	
-	<target name="compilePostSetup" if="mavenCompilePhase">
-		<copy todir="${buildDirectory}/features/org.drools.eclipse.feature">
-			<fileset dir="${builder}/drools-eclipse-feature"/>
-		</copy>
-
-		<copy todir="${buildDirectory}/plugins/org.drools.eclipse">
-				<fileset dir="${builder}/drools-eclipse-plugin"/>
-		</copy>		
-	</target>
-
-	<target name="testPostSetup" if="mavenTestPhase">
-		
-		<copy todir="${buildDirectory}/features/org.drools.eclipse.test-feature">
-			<fileset dir="${builder}/drools-eclipse-test-feature"/>
-		</copy>
-
-		<copy todir="${buildDirectory}/plugins/org.drools.eclipse.test">
-				<fileset dir="${builder}/drools-eclipse-test"/>
-		</copy>		
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before fetching the build elements -->
-	<!-- ===================================================================== -->
-	<target name="preFetch">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after fetching the build elements -->
-	<!-- ===================================================================== -->
-	<target name="postFetch">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before generating the build scripts. -->
-	<!-- ===================================================================== -->
-	<target name="preGenerate">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after generating the build scripts. -->
-	<!-- ===================================================================== -->
-	<target name="postGenerate">
-		<antcall target="clean" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="preProcess">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="postProcess">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running assemble. -->
-	<!-- ===================================================================== -->
-	<target name="preAssemble">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after  running assemble. -->
-	<!-- ===================================================================== -->
-	<target name="postAssemble">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running package. -->
-	<!-- ===================================================================== -->
-	<target name="prePackage">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after  running package. -->
-	<!-- ===================================================================== -->
-	<target name="postPackage" if="mavenCompilePhase">
-	    <copy file="${buildDirectory}/${buildLabel}/${zipFile}" tofile="${base}/${zipFile}" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the build is done. -->
-	<!-- ===================================================================== -->
-	<target name="postBuild">
-		<antcall target="gatherLogs" />
-		<antcall target="test" />
-	</target>	
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do to test the build results -->
-	<!-- ===================================================================== -->
-  <target name="test" if="mavenTestPhase">  
-    <unzip src="${buildDirectory}/${buildLabel}/${zipFile}"
-           dest="${base}/eclipse"/>
-    <unzip src="${buildDirectory}/${buildLabel}/${testZipFile}" 
-           dest="${base}/eclipse"/>    
-
-
-    <ant antfile="${base}/eclipse/plugins/org.drools.eclipse.test_${droolsVersion}/test.xml">        
-      <property name="os" value="${baseos}" />
-      <property name="ws" value="${basews}" />
-      <property name="arch" value="${basearch}" />
-    </ant>
-  </target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do to publish the build results -->
-	<!-- ===================================================================== -->
-	<target name="publish">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="You must specify a target when invoking this file" />
-	</target>
-
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/customTargets.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/customTargets.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/customTargets.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/customTargets.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,198 @@
+<project name="Build specific targets and properties" default="noDefault">
+	<!-- ===================================================================== -->
+	<!-- Run a given ${target} on all elements being built -->
+	<!-- Add on <ant> task for each top level element being built. -->
+	<!-- ===================================================================== -->
+	<property name="allElementsFile" value="${builder}/allElements.xml"/>
+	<import file="${allElementsFile}" />
+	<target name="allElements">
+		<antcall target="allElementsDelegator" />
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- ===================================================================== -->
+	<!-- Check out map files from correct repository -->
+	<!-- Replace values for mapsCheckoutTag as desired. -->
+	<!-- ===================================================================== -->
+	<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
+		<property name="mapsCheckoutTag" value="HEAD" />
+		<cvs cvsRoot="${mapsRepo}" package="${mapsRoot}" dest="${buildDirectory}/maps" tag="${mapsCheckoutTag}" />
+	</target>
+
+	<target name="checkLocalMaps">
+		<available property="skipMaps" file="${buildDirectory}/maps" />
+	</target>
+
+	<target name="tagMapFiles" if="tagMaps">
+		<cvs dest="${buildDirectory}/maps/${mapsRoot}" command="tag ${mapsTagTag}" />
+	</target>
+
+	<!-- ===================================================================== -->
+
+	<target name="clean" unless="noclean">
+		<antcall target="allElements">
+			<param name="target" value="cleanElement" />
+		</antcall>
+	</target>
+
+	<target name="gatherLogs">
+		<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
+		<antcall target="allElements">
+			<param name="target" value="gatherLogs" />
+		</antcall>
+		<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
+			<fileset dir="${buildDirectory}/features">
+				<include name="**/*.log.zip" />
+			</fileset>
+		</unzip>
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before setup -->
+	<!-- ===================================================================== -->
+	<target name="preSetup">
+	  <echo>preSetup</echo>	  
+    <!--cleanup -->
+    <delete failonerror="false" file="${base}/eclipse/org.drools.eclipse*.xml" />
+    <delete failonerror="false" dir="${base}/eclipse/test-workspace"/>
+    
+    <delete failonerror="false"  dir="${base}/eclipse/features/org.drools.eclipse.feature_${droolsVersion}"/>
+    <delete failonerror="false" dir="${base}/eclipse/features/org.drools.eclipse.test-feature_${droolsVersion}"/>
+    
+    <delete failonerror="false" file="${base}/eclipse/plugins/org.drools.eclipse_${droolsVersion}.jar"/>
+    <delete failonerror="false" dir="${base}/eclipse/plugins/org.drools.eclipse.test_${droolsVersion}"/>            
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after setup but before starting the build proper -->
+	<!-- ===================================================================== -->
+	<target name="postSetup">		
+		<mkdir dir="${buildDirectory}/features"/>
+		<mkdir dir="${buildDirectory}/plugins"/>
+		
+		<antcall target="compilePostSetup" />
+		<antcall target="testPostSetup" />
+	</target>
+	
+	<target name="compilePostSetup" if="mavenCompilePhase">
+		<copy todir="${buildDirectory}/features/org.drools.eclipse.feature">
+			<fileset dir="${builder}/drools-eclipse-feature"/>
+		</copy>
+
+		<copy todir="${buildDirectory}/plugins/org.drools.eclipse">
+				<fileset dir="${builder}/drools-eclipse-plugin"/>
+		</copy>		
+	</target>
+
+	<target name="testPostSetup" if="mavenTestPhase">
+		
+		<copy todir="${buildDirectory}/features/org.drools.eclipse.test-feature">
+			<fileset dir="${builder}/drools-eclipse-test-feature"/>
+		</copy>
+
+		<copy todir="${buildDirectory}/plugins/org.drools.eclipse.test">
+				<fileset dir="${builder}/drools-eclipse-test"/>
+		</copy>		
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before fetching the build elements -->
+	<!-- ===================================================================== -->
+	<target name="preFetch">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after fetching the build elements -->
+	<!-- ===================================================================== -->
+	<target name="postFetch">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before generating the build scripts. -->
+	<!-- ===================================================================== -->
+	<target name="preGenerate">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after generating the build scripts. -->
+	<!-- ===================================================================== -->
+	<target name="postGenerate">
+		<antcall target="clean" />
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before running the build.xmls for the elements being built. -->
+	<!-- ===================================================================== -->
+	<target name="preProcess">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after running the build.xmls for the elements being built. -->
+	<!-- ===================================================================== -->
+	<target name="postProcess">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before running assemble. -->
+	<!-- ===================================================================== -->
+	<target name="preAssemble">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after  running assemble. -->
+	<!-- ===================================================================== -->
+	<target name="postAssemble">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before running package. -->
+	<!-- ===================================================================== -->
+	<target name="prePackage">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after  running package. -->
+	<!-- ===================================================================== -->
+	<target name="postPackage" if="mavenCompilePhase">
+	    <copy file="${buildDirectory}/${buildLabel}/${zipFile}" tofile="${base}/${zipFile}" />
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after the build is done. -->
+	<!-- ===================================================================== -->
+	<target name="postBuild">
+		<antcall target="gatherLogs" />
+		<antcall target="test" />
+	</target>	
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do to test the build results -->
+	<!-- ===================================================================== -->
+  <target name="test" if="mavenTestPhase">  
+    <unzip src="${buildDirectory}/${buildLabel}/${zipFile}"
+           dest="${base}/eclipse"/>
+    <unzip src="${buildDirectory}/${buildLabel}/${testZipFile}" 
+           dest="${base}/eclipse"/>    
+
+
+    <ant antfile="${base}/eclipse/plugins/org.drools.eclipse.test_${droolsVersion}/test.xml">        
+      <property name="os" value="${baseos}" />
+      <property name="ws" value="${basews}" />
+      <property name="arch" value="${basearch}" />
+    </ant>
+  </target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do to publish the build results -->
+	<!-- ===================================================================== -->
+	<target name="publish">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Default target                                                        -->
+	<!-- ===================================================================== -->
+	<target name="noDefault">
+		<echo message="You must specify a target when invoking this file" />
+	</target>
+
+</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-feature)


Property changes on: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature
___________________________________________________________________
Name: svn:ignore
   + target
local


nbproject

*.ipr
*.iws
*.iml



Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/.project
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-feature/.project	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>drools-eclipse-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/.project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-feature/.project)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/.project	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>drools-eclipse-feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/build.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-feature/build.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1 +0,0 @@
-bin.includes = feature.xml

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/build.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-feature/build.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/build.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1 @@
+bin.includes = feature.xml

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/feature.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-feature/feature.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/feature.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.drools.eclipse.feature"
-      label="JBossRules Feature"
-      version="4.0.6"
-      provider-name="JBoss, Inc.">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.jdt.debug"/>
-      <import plugin="org.eclipse.jdt.debug.ui"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.jdt.ui"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.console"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui.forms"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.gef"/>
-      <import plugin="com.ibm.icu"/>
-   </requires>
-
-   <plugin
-         id="org.drools.eclipse"
-         download-size="0"
-         install-size="0"
-         version="4.0.6"
-         unpack="false"/>
-
-</feature>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/feature.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-feature/feature.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/feature.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/feature.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.drools.eclipse.feature"
+      label="JBossRules Feature"
+      version="4.0.6"
+      provider-name="JBoss, Inc.">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="http://www.example.com/license">
+      [Enter License Description here.]
+   </license>
+
+   <requires>
+      <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.eclipse.core.resources"/>
+      <import plugin="org.eclipse.debug.core"/>
+      <import plugin="org.eclipse.debug.ui"/>
+      <import plugin="org.eclipse.jdt.core"/>
+      <import plugin="org.eclipse.jdt.debug"/>
+      <import plugin="org.eclipse.jdt.debug.ui"/>
+      <import plugin="org.eclipse.jdt.launching"/>
+      <import plugin="org.eclipse.jdt.ui"/>
+      <import plugin="org.eclipse.jface.text"/>
+      <import plugin="org.eclipse.ui"/>
+      <import plugin="org.eclipse.ui.console"/>
+      <import plugin="org.eclipse.ui.editors"/>
+      <import plugin="org.eclipse.ui.forms"/>
+      <import plugin="org.eclipse.ui.ide"/>
+      <import plugin="org.eclipse.ui.views"/>
+      <import plugin="org.eclipse.ui.workbench.texteditor"/>
+      <import plugin="org.eclipse.gef"/>
+      <import plugin="com.ibm.icu"/>
+   </requires>
+
+   <plugin
+         id="org.drools.eclipse"
+         download-size="0"
+         install-size="0"
+         version="4.0.6"
+         unpack="false"/>
+
+</feature>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/pom.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-feature/pom.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,25 +0,0 @@
-<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/P
-OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-        <modelVersion>4.0.0</modelVersion>
-        <groupId>drools</groupId>
-        <artifactId>drools-eclipse-feature</artifactId>
-        <packaging>eclipse-feature</packaging>
-        <version>1.0-SNAPSHOT</version>
-        <build>
-                <plugins>
-                        <plugin>
-                                <groupId>org.codehaus.tycho</groupId>
-                                <artifactId>maven-osgi-lifecycle-plugin</artifactId>
-                                <extensions>true</extensions>
-                        </plugin>
-                </plugins>
-        </build>
-  <dependencies>
-    <dependency>
-      <groupId>drools</groupId>
-      <artifactId>drools-eclipse-plugin</artifactId>
-      <version>1.0-SNAPSHOT</version>
-    </dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/pom.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-feature/pom.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-feature/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,25 @@
+<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/P
+OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+        <modelVersion>4.0.0</modelVersion>
+        <groupId>drools</groupId>
+        <artifactId>drools-eclipse-feature</artifactId>
+        <packaging>eclipse-feature</packaging>
+        <version>1.0-SNAPSHOT</version>
+        <build>
+                <plugins>
+                        <plugin>
+                                <groupId>org.codehaus.tycho</groupId>
+                                <artifactId>maven-osgi-lifecycle-plugin</artifactId>
+                                <extensions>true</extensions>
+                        </plugin>
+                </plugins>
+        </build>
+  <dependencies>
+    <dependency>
+      <groupId>drools</groupId>
+      <artifactId>drools-eclipse-plugin</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+
+</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin)


Property changes on: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin
___________________________________________________________________
Name: svn:ignore
   + target
local


nbproject

*.ipr
*.iws
*.iml


bin


Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.classpath
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/.classpath	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry kind="src" path="src/main/resources"/>
-	<classpathentry exported="true" kind="lib" path="lib/drools-compiler.jar" sourcepath="/drools-compiler"/>
-	<classpathentry exported="true" kind="lib" path="lib/drools-core.jar" sourcepath="/drools-core"/>
-	<classpathentry exported="true" kind="lib" path="lib/drools-decisiontables.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/drools-jsr94.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/jsr94.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/junit.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/jxl.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/mvel14.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/xercesImpl.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/xml-apis.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/xpp3.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/xstream.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/antlr-runtime.jar"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.classpath (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/.classpath)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.classpath	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" path="src/main/resources"/>
+	<classpathentry exported="true" kind="lib" path="lib/drools-compiler.jar" sourcepath="/drools-compiler"/>
+	<classpathentry exported="true" kind="lib" path="lib/drools-core.jar" sourcepath="/drools-core"/>
+	<classpathentry exported="true" kind="lib" path="lib/drools-decisiontables.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/drools-jsr94.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/jsr94.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/junit.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/jxl.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/mvel14.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/xercesImpl.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/xml-apis.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/xpp3.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/xstream.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/antlr-runtime.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.project
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/.project	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>drools-eclipse-plugin</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/.project)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.project	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>drools-eclipse-plugin</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.settings (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/.settings)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,7 +0,0 @@
-#Sun Apr 08 00:36:02 PDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,7 @@
+#Sun Apr 08 00:36:02 PDT 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.source=1.3

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/META-INF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/META-INF)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/META-INF/MANIFEST.MF	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/META-INF/MANIFEST.MF	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,45 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Drools Eclipse Plug-in
-Bundle-SymbolicName: org.drools.eclipse;singleton:=true
-Bundle-Version: 4.0.6
-Bundle-Activator: org.drools.eclipse.DroolsEclipsePlugin
-Bundle-Vendor: krisv,mic
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.debug.core,
- org.eclipse.debug.ui,
- org.eclipse.jdt.core,
- org.eclipse.jdt.debug,
- org.eclipse.jdt.debug.ui,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.ui,
- org.eclipse.jface.text,
- org.eclipse.ui,
- org.eclipse.ui.console,
- org.eclipse.ui.editors,
- org.eclipse.ui.forms,
- org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.gef,
- com.ibm.icu
-Eclipse-LazyStart: true
-Eclipse-BuddyPolicy: registered
-Bundle-ClassPath: .,
- lib/drools-compiler.jar,
- lib/drools-core.jar,
- lib/drools-decisiontables.jar,
- lib/drools-jsr94.jar,
- lib/jsr94.jar,
- lib/junit.jar,
- lib/jxl.jar,
- lib/mvel.jar,
- lib/xercesImpl.jar,
- lib/xml-apis.jar,
- lib/xpp3.jar,
- lib/xstream.jar,
- lib/antlr-runtime.jar
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: org.drools.eclipse.util

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/META-INF/MANIFEST.MF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/META-INF/MANIFEST.MF)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/META-INF/MANIFEST.MF	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,45 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Drools Eclipse Plug-in
+Bundle-SymbolicName: org.drools.eclipse;singleton:=true
+Bundle-Version: 4.0.6
+Bundle-Activator: org.drools.eclipse.DroolsEclipsePlugin
+Bundle-Vendor: krisv,mic
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources,
+ org.eclipse.debug.core,
+ org.eclipse.debug.ui,
+ org.eclipse.jdt.core,
+ org.eclipse.jdt.debug,
+ org.eclipse.jdt.debug.ui,
+ org.eclipse.jdt.launching,
+ org.eclipse.jdt.ui,
+ org.eclipse.jface.text,
+ org.eclipse.ui,
+ org.eclipse.ui.console,
+ org.eclipse.ui.editors,
+ org.eclipse.ui.forms,
+ org.eclipse.ui.ide,
+ org.eclipse.ui.views,
+ org.eclipse.ui.workbench.texteditor,
+ org.eclipse.gef,
+ com.ibm.icu
+Eclipse-LazyStart: true
+Eclipse-BuddyPolicy: registered
+Bundle-ClassPath: .,
+ lib/drools-compiler.jar,
+ lib/drools-core.jar,
+ lib/drools-decisiontables.jar,
+ lib/drools-jsr94.jar,
+ lib/jsr94.jar,
+ lib/junit.jar,
+ lib/jxl.jar,
+ lib/mvel.jar,
+ lib/xercesImpl.jar,
+ lib/xml-apis.jar,
+ lib/xpp3.jar,
+ lib/xstream.jar,
+ lib/antlr-runtime.jar
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Export-Package: org.drools.eclipse.util

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/build.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/build.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-bin.includes = .,\
-			   META-INF/,\
-               icons/,\
-               plugin.xml,\
-               help/,\
-               lib/
-bin.excludes = lib/drools-documentation.jar
-src.includes = META-INF/,\
-               icons/,\
-               plugin.xml,\
-               help/,\
-               lib/,\
-               .project,\
-               .classpath
-src.excludes =  lib/drools-documentation.jar
-jars.compile.order = .
-source.. = src/main/java/,\
-           src/main/resources/

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/build.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/build.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/build.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+bin.includes = .,\
+			   META-INF/,\
+               icons/,\
+               plugin.xml,\
+               help/,\
+               lib/
+bin.excludes = lib/drools-documentation.jar
+src.includes = META-INF/,\
+               icons/,\
+               plugin.xml,\
+               help/,\
+               lib/,\
+               .project,\
+               .classpath
+src.excludes =  lib/drools-documentation.jar
+jars.compile.order = .
+source.. = src/main/java/,\
+           src/main/resources/

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/help (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/help)


Property changes on: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/help
___________________________________________________________________
Name: svn:ignore
   + eclipse
shared


Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/action.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/action.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/action.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/activity.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/activity.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/activity.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/add_connective.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/add_connective.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/add_connective.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/add_field_to_fact.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/add_field_to_fact.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/add_field_to_fact.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/arrowleft.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/arrowleft.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/arrowleft.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/arrowright.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/arrowright.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/arrowright.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/bluediamond.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/bluediamond.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/bluediamond.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/check.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/check.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/check.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/class_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/class_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/class_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/clear.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/clear.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/clear.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/clear_disabled.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/clear_disabled.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/clear_disabled.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/connection.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/connection.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/connection.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/constant_co.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/constant_co.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/constant_co.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/delete_item_small.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/delete_item_small.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/delete_item_small.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/delete_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/delete_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/delete_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-large.PNG
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-large.PNG (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-large.PNG)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-query.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-query.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-query.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-rule.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-rule.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/drools-rule.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/drools.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/drools.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl-large.png
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl-large.png (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl-large.png)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl.png
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl.png (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl.png)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl_expression.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl_expression.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/dsl_expression.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dt_large.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dt_large.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/dt_large.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dt_small.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/dt_small.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/dt_small.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/edit.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/edit.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/edit.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/field_private_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/field_private_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/field_private_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/field_public_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/field_public_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/field_public_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/function_assets.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/function_assets.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/function_assets.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/greensquare.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/greensquare.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/greensquare.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/import.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/import.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/import.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/import_statement.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/import_statement.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/import_statement.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/join.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/join.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/join.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/logical_structure.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/logical_structure.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/logical_structure.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/logical_structure_disabled.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/logical_structure_disabled.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/logical_structure_disabled.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/methpub_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/methpub_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/methpub_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/new_item.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/new_item.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/new_item.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/open.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/open.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/open.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/package_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/package_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/package_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/process.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process_start.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process_start.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/process_start.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process_stop.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/process_stop.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/process_stop.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/public_co.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/public_co.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/public_co.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/question.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/question.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/question.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/redsquare.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/redsquare.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/redsquare.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/refresh.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/refresh.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/refresh.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/refresh_disabled.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/refresh_disabled.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/refresh_disabled.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/sample.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/sample.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/sample.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/split.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/split.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/split.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/static_co.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/static_co.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/static_co.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/yellowsquare.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/icons/yellowsquare.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/icons/yellowsquare.GIF)
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/lib (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/lib)


Property changes on: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/lib
___________________________________________________________________
Name: svn:ignore
   + antlr-2.7.7.jar
antlr-3.0b5.jar
drools-compiler-3.1.0-M1.jar
drools-core-3.1.0-M1.jar
drools-decisiontables-3.1.0-M1.jar
drools-jsr94-3.1.0-M1.jar
jsr94-1.1.jar
junit-3.8.1.jar
jxl-2.4.2.jar
mvel14-1.2beta15.jar
stringtemplate-3.0.jar
xercesImpl-2.4.0.jar
xml-apis-1.0.b2.jar
xpp3-1.1.3.4.O.jar
xstream-1.1.3.jar
*.jar


Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/plugin.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/plugin.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/plugin.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,430 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension point="org.eclipse.ui.views">
-      <category
-         name="Drools"
-         id="org.drools.eclipse.views">
-      </category>
-      <view
-         name="Working Memory View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.debug.WorkingMemoryView"
-         id="org.drools.eclipse.debug.WorkingMemoryView">
-      </view>
-      <view
-         name="Agenda View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.debug.AgendaView"
-         id="org.drools.eclipse.debug.AgendaView">
-      </view>
-      <view
-         name="Global Data View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.debug.ApplicationDataView"
-         id="org.drools.eclipse.debug.ApplicationDataView">
-      </view>
-      <!--
-      <view
-         name="Realtime Audit View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.debug.RealtimeAuditView"
-         id="org.drools.eclipse.debug.RealtimeAuditView">
-      </view>
-      -->
-      <view
-         name="Audit View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.debug.AuditView"
-         id="org.drools.eclipse.debug.AuditView">
-      </view>
-      <view
-         name="Rules View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.view.rules.RulesView"
-         id="org.drools.eclipse.view.rules.RulesView">
-      </view>
-   </extension>
-
-   <extension
-         point="org.eclipse.debug.core.logicalStructureTypes">
-      <logicalStructureType
-        id="org.drools.eclipse.debug.AgendaLogicalStructures"
-        class="org.drools.eclipse.debug.AgendaLogicalStructureDelegate"
-        modelIdentifier="org.eclipse.jdt.debug"
-        description="Agenda Item">
-      </logicalStructureType>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            class="org.drools.eclipse.editors.DRLRuleEditor2"
-            contributorClass="org.drools.eclipse.editors.DRLRuleEditorActionContributor"
-            extensions="drl,jbrule,drools,rule,package,pkg"
-            icon="icons/drools.gif"
-            id="org.drools.eclipse.editors.DRLRuleEditor"
-            name="Rule Editor"/>
-      <editor
-            class="org.drools.eclipse.dsl.editor.DSLRuleEditor2"
-            contributorClass="org.drools.eclipse.editors.DRLRuleEditorActionContributor"
-            extensions="dslr,dslrule"
-            icon="icons/drools.gif"
-            id="org.drools.eclipse.editors.DSLRuleEditor"
-            name="DSL Rule Editor"/>
-      <editor
-            class="org.drools.eclipse.dsl.editor.DSLEditor"
-            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
-            default="false"
-            extensions="dsl,lang"
-            icon="icons/dsl.GIF"
-            id="org.drools.eclipse.editor.DomainSpecLangEditor"
-            name="DSL Editor"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <wizard
-            category="org.drools.eclipse.new"
-            class="org.drools.eclipse.wizard.rule.NewRulePackageWizard"
-            descriptionImage="icons/drools-large.PNG"
-            icon="icons/drools.gif"
-            id="org.drools.eclipse.new.file"
-            name="Rule Resource"/>
-      <wizard
-            category="org.drools.eclipse.new"
-            class="org.drools.eclipse.wizard.dsl.NewDSLFileWizard"
-            descriptionImage="icons/dsl-large.png"
-            icon="icons/dsl.GIF"
-            id="org.drools.eclipse.new.dsl"
-            name="Domain Specific Language"/>
-      <wizard
-            id = "org.drools.eclipse.wizards.new.project"
-            name = "Rule Project"
-            class= "org.drools.eclipse.wizard.project.NewDroolsProjectWizard"
-            category= "org.drools.eclipse.new"
-            project= "true"
-            icon= "icons/drools.gif">
-         <description>This wizard creates a new Rule project.</description>
-      </wizard>
-      <category
-            id="org.drools.eclipse.new"
-            name="Drools"/>
-      <wizard
-            category="org.drools.eclipse.new"
-            class="org.drools.eclipse.wizard.decisiontable.NewDTFileWizard"
-            descriptionImage="icons/dt_large.gif"
-            icon="icons/dt_small.gif"
-            id="org.drools.eclipse.new.decisiontable"
-            name="Decision Table"/>
-   </extension>
-   <extension
-         id="org.drools.eclipse.actionSet"
-         name="Drools"
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            id="org.drools.eclipse.workbenchMenu"
-            label="Drools"
-            visible="true">
-         <action
-               class="org.drools.eclipse.menu.RuleHelperActionDelegate"
-               icon="icons/drools.gif"
-               id="org.drools.eclipse.openRulesWorkbench"
-               label="Drools wizards"
-               style="pulldown"
-               toolbarPath="Normal/additions"
-               tooltip="Drools workbench"/>
-      </actionSet>
-   </extension>
-
-   <extension
-      id="droolsbuilder" name="Drools Builder" point="org.eclipse.core.resources.builders">
-      <builder>
-         <run class="org.drools.eclipse.builder.DroolsBuilder"/>
-      </builder>
-   </extension>
-
-   <extension
-         id="problem"
-         point="org.eclipse.core.resources.markers"
-         name="Drools Error">
-      <super type="org.eclipse.core.resources.problemmarker"/>
-      <super type="org.eclipse.core.resources.textmarker"/>
-      <persistent value="true" />
-   </extension>
-
-   <extension
-         id="droolsBreakpointMarker"
-         point="org.eclipse.core.resources.markers"
-         name="Drools Breakpoint Marker">
-	  <super type="org.eclipse.debug.core.breakpointMarker"/>
-      <persistent value="true"/>
-	</extension>
-
-   <extension point="org.eclipse.debug.core.breakpoints">
-      <breakpoint
-         id="droolsBreakpoint"
-         markerType="org.drools.eclipse.droolsBreakpointMarker"
-         class="org.drools.eclipse.debug.core.DroolsLineBreakpoint">
-      </breakpoint>
-   </extension>
-
-   <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
-       <classpathContainerInitializer class="org.drools.eclipse.util.DroolsClasspathContainerInitializer" id="DROOLS" />
-   </extension>
-
-   <extension point="org.eclipse.ui.editors.annotationTypes">
-      <type super="org.eclipse.ui.workbench.texteditor.error" markerSeverity="2" markerType="org.eclipse.core.resources.problemmarker" name="org.drools.eclipse.editors.error_annotation"/>
-   </extension>
-
-   <extension point="org.eclipse.help.toc">
-      <toc file="help/eclipse/toc.xml" primary="true" />
-   </extension>
-
-   <extension point = "org.eclipse.ui.preferencePages">
-      <page id="org.drools.eclipse.preferences.DroolsPreferencePage"
-         class="org.drools.eclipse.preferences.DroolsPreferencePage"
-         name="Drools Preferences">
-      </page>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-         name="Drools"
-         icon="icons/drools.gif"
-         class="org.drools.eclipse.DroolsPerspective"
-         id="org.drools.eclipse.DroolsPerspective">
-      </perspective>
-   </extension>
-
-   <!-- Extensions for the interactive debugger -->
-
-   <extension point = "org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-   	     id="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
-         name="Drools Application"
-         delegate="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
-         sourceLocatorId="org.drools.eclipse.launching.DroolsSourceLookupDirector"
-         sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer"
-         modes= "debug" />
-   </extension>
-
-   <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-         icon="icons/drools.gif"
-         configTypeID="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
-         id="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate.Image">
-      </launchConfigurationTypeImage>
-   </extension>
-
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
-            class="org.eclipse.jdt.internal.debug.ui.launcher.LocalJavaApplicationTabGroup"
-            id="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication">
-            <launchMode
-                  mode="debug"
-                  perspective="org.eclipse.debug.ui.DebugPerspective"
-                  description="Debug a Drools application">
-            </launchMode>
-            <launchMode
-                  mode="run"
-                  description="Run a Drools application">
-            </launchMode>
-      </launchConfigurationTabGroup>
-   </extension>
-   
-   <extension
-         point="org.eclipse.debug.ui.launchShortcuts">
-      <shortcut
-            label="Drools Application"
-            icon="icons/drools.gif"
-            modes="debug"
-            class="org.drools.eclipse.launching.DroolsApplicationLaunchShortcut"
-            id="org.drools.eclipse.launching.DroolsApplicationLaunchShortcut">
-         <contextualLaunch>
-           <enablement>
-             <with variable="selection">
-               <count value="1"/>
-               <iterate>
-                <or>
-               	  <test property="org.eclipse.jdt.launching.hasMain"/>
-               	  <and>
-               	     <test property="org.eclipse.jdt.launching.isContainer"/>
-               	     <test property="org.eclipse.jdt.launching.hasProjectNature" args="org.eclipse.jdt.core.javanature"/>
-               	  </and>
-               	</or>
-               </iterate>
-             </with>
-           </enablement>
-  		 </contextualLaunch>
-         <perspective id="org.eclipse.jdt.ui.JavaPerspective"/>
-         <perspective id="org.drools.eclipse.DroolsPerspective"/>
-         <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
-         <perspective id="org.eclipse.debug.ui.DebugPerspective"/>
-      </shortcut>
-   </extension>
-
-   <extension
-         point="org.eclipse.debug.core.sourceLocators">
-      <sourceLocator
-         name="Drools Source Lookup Director"
-         class="org.drools.eclipse.launching.DroolsSourceLookupDirector"
-         id="org.drools.eclipse.launching.DroolsSourceLookupDirector">
-      </sourceLocator>
-   </extension>
-
-   <extension point="org.eclipse.ui.editors.markerUpdaters">
-      <updater
-         markerType="org.drools.eclipse.droolsBreakpointMarker"
-         class="org.drools.eclipse.debug.core.DroolsLineBreakpointMarkerUpdater"
-         id="org.drools.eclipse.debug.core.DroolsLineBreakpointMarkerUpdater" />
-   </extension>
-
-   <!-- not used anymore
-   <extension
-         point="org.eclipse.debug.core.sourcePathComputers">
-      <sourcePathComputer
-         class="org.drools.eclipse.launching.DroolsSourcePathComputerDelegate"
-         id="org.drools.eclipse.launching.DroolsSourcePathComputerDelegate">
-      </sourcePathComputer>
-   </extension> -->
-
-   <extension
-         point="org.eclipse.debug.ui.debugModelPresentations">
-      <debugModelPresentation
-         class="org.drools.eclipse.debug.core.DroolsDebugModelPresentation"
-         id="org.drools.eclipse.debug">
-      </debugModelPresentation>
-   </extension>
-
-   <!-- not working if using multipage editor -->
-   <extension point="org.eclipse.ui.editorActions">
-      <editorContribution
-            targetID="org.drools.eclipse.editors.DRLRuleEditor"
-            id="org.drools.eclipse.editors.DRLRuleEditor.RulerActions">
-         <action
-            label="Not Used"
-            class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
-            style="push"
-            actionID="RulerDoubleClick"
-            id="org.drools.eclipse.editors.DRLRuleEditor.ToggleBreakpointRulerAction" />
-      </editorContribution>
-   </extension>
-
-   <!-- not working if using multipage editor -->
-   <extension point="org.eclipse.ui.popupMenus">
-      <viewerContribution
-            targetID="#TextRulerContext"
-            id="org.drools.eclipse.editors.DRLRuleEditor.RulerPopupActions">
-         <action
-            label="Toggle Breakpoint"
-            class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
-            menubarPath="additions"
-            id="org.drools.eclipse.editors.DRLRuleEditor.rulerContextMenu.ToggleBreakpointRulerAction">
-         </action>
-      </viewerContribution>
-   </extension>
-
-   <extension point = "org.eclipse.ui.popupMenus">
-	 <objectContribution
-           objectClass="org.eclipse.core.resources.IProject"
-           id="org.drools.eclipse.action.ConvertToDroolsProject1">
-        <filter name="nature" value="org.eclipse.jdt.core.javanature"/>
-	    <action id="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-	       label="Convert to Drools Project"
-	       icon="icons/drools.gif"
-	       menubarPath="additions"
-	       class="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-           definitionId="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-	       enablesFor="1">
-	    </action>
-      </objectContribution>
-      <objectContribution
-           objectClass="org.eclipse.jdt.core.IJavaProject"
-           id="org.drools.eclipse.action.ConvertToDroolsProject2">
-	    <action id="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-	       label="Convert to Drools Project"
-	       icon="icons/drools.gif"
-	       menubarPath="additions"
-	       class="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-           definitionId="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-	       enablesFor="1">
-	    </action>
-      </objectContribution>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="RuleFlow Editor"
-            extensions="rf, ruleflow, rflow"
-            icon="icons/process.gif"
-            contributorClass="org.drools.eclipse.flow.common.editor.GenericActionBarContributor"
-            class="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor"
-            id="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor">
-      </editor>
-   </extension>
-
-   <extension
-         point = "org.eclipse.ui.editorActions">
-      <editorContribution
-            id="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
-            targetID="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor">
-	     <action
-	        id="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
-            label="Check RuleFlow"
-	        toolbarPath="Drools"
-            icon="icons/check.gif"
-            tooltip="Check the ruleflow model"
-            class="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
-         />
-      </editorContribution>
-   </extension>
-
-   <extension
-         point = "org.eclipse.ui.newWizards">
-	  <category
-	    id = "org.drools.eclipse.flow.new"
-	    name="RuleFlow">
-	  </category>
- 	  <wizard
-	      id = "org.drools.eclipse.flow.ruleflow.NewRuleFlowFileWizard"
-      	  name = "RuleFlow File"
-	      class="org.drools.eclipse.flow.ruleflow.NewRuleFlowFileWizard"
-          category="org.drools.eclipse.new"
-	      icon="icons/process.gif">
-    	<description>A wizard that creates a new ruleflow file</description>
-	    <selection class="org.eclipse.core.resources.IResource"/>
-	  </wizard>
-   </extension>
-
-   <!-- RuleBuilder Extensions -->
-      <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            class="org.drools.eclipse.rulebuilder.editors.RuleEditor"
-            extensions="brl"
-            icon="icons/drools.gif"
-            id="org.drools.eclipse.ide.rulebuilder.brl.editors.RuleEditor"
-            name="Guided Rule Editor"/>
-   </extension>
-
-
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <wizard
-            category="org.drools.eclipse.new"
-            class="org.drools.eclipse.rulebuilder.wizards.NewBrlFileWizard"
-            descriptionImage="icons/drools-large.PNG"
-            icon="icons/drools.gif"
-            id="org.drools.eclipse.rulebuilder.wizards.NewGuidedRuleFileWizard"
-            name="Guided Rule"/>
-   </extension>
-</plugin>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/plugin.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/plugin.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/plugin.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/plugin.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,430 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+   <extension point="org.eclipse.ui.views">
+      <category
+         name="Drools"
+         id="org.drools.eclipse.views">
+      </category>
+      <view
+         name="Working Memory View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.debug.WorkingMemoryView"
+         id="org.drools.eclipse.debug.WorkingMemoryView">
+      </view>
+      <view
+         name="Agenda View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.debug.AgendaView"
+         id="org.drools.eclipse.debug.AgendaView">
+      </view>
+      <view
+         name="Global Data View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.debug.ApplicationDataView"
+         id="org.drools.eclipse.debug.ApplicationDataView">
+      </view>
+      <!--
+      <view
+         name="Realtime Audit View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.debug.RealtimeAuditView"
+         id="org.drools.eclipse.debug.RealtimeAuditView">
+      </view>
+      -->
+      <view
+         name="Audit View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.debug.AuditView"
+         id="org.drools.eclipse.debug.AuditView">
+      </view>
+      <view
+         name="Rules View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.view.rules.RulesView"
+         id="org.drools.eclipse.view.rules.RulesView">
+      </view>
+   </extension>
+
+   <extension
+         point="org.eclipse.debug.core.logicalStructureTypes">
+      <logicalStructureType
+        id="org.drools.eclipse.debug.AgendaLogicalStructures"
+        class="org.drools.eclipse.debug.AgendaLogicalStructureDelegate"
+        modelIdentifier="org.eclipse.jdt.debug"
+        description="Agenda Item">
+      </logicalStructureType>
+   </extension>
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            class="org.drools.eclipse.editors.DRLRuleEditor2"
+            contributorClass="org.drools.eclipse.editors.DRLRuleEditorActionContributor"
+            extensions="drl,jbrule,drools,rule,package,pkg"
+            icon="icons/drools.gif"
+            id="org.drools.eclipse.editors.DRLRuleEditor"
+            name="Rule Editor"/>
+      <editor
+            class="org.drools.eclipse.dsl.editor.DSLRuleEditor2"
+            contributorClass="org.drools.eclipse.editors.DRLRuleEditorActionContributor"
+            extensions="dslr,dslrule"
+            icon="icons/drools.gif"
+            id="org.drools.eclipse.editors.DSLRuleEditor"
+            name="DSL Rule Editor"/>
+      <editor
+            class="org.drools.eclipse.dsl.editor.DSLEditor"
+            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+            default="false"
+            extensions="dsl,lang"
+            icon="icons/dsl.GIF"
+            id="org.drools.eclipse.editor.DomainSpecLangEditor"
+            name="DSL Editor"/>
+   </extension>
+   <extension
+         point="org.eclipse.ui.newWizards">
+      <wizard
+            category="org.drools.eclipse.new"
+            class="org.drools.eclipse.wizard.rule.NewRulePackageWizard"
+            descriptionImage="icons/drools-large.PNG"
+            icon="icons/drools.gif"
+            id="org.drools.eclipse.new.file"
+            name="Rule Resource"/>
+      <wizard
+            category="org.drools.eclipse.new"
+            class="org.drools.eclipse.wizard.dsl.NewDSLFileWizard"
+            descriptionImage="icons/dsl-large.png"
+            icon="icons/dsl.GIF"
+            id="org.drools.eclipse.new.dsl"
+            name="Domain Specific Language"/>
+      <wizard
+            id = "org.drools.eclipse.wizards.new.project"
+            name = "Rule Project"
+            class= "org.drools.eclipse.wizard.project.NewDroolsProjectWizard"
+            category= "org.drools.eclipse.new"
+            project= "true"
+            icon= "icons/drools.gif">
+         <description>This wizard creates a new Rule project.</description>
+      </wizard>
+      <category
+            id="org.drools.eclipse.new"
+            name="Drools"/>
+      <wizard
+            category="org.drools.eclipse.new"
+            class="org.drools.eclipse.wizard.decisiontable.NewDTFileWizard"
+            descriptionImage="icons/dt_large.gif"
+            icon="icons/dt_small.gif"
+            id="org.drools.eclipse.new.decisiontable"
+            name="Decision Table"/>
+   </extension>
+   <extension
+         id="org.drools.eclipse.actionSet"
+         name="Drools"
+         point="org.eclipse.ui.actionSets">
+      <actionSet
+            id="org.drools.eclipse.workbenchMenu"
+            label="Drools"
+            visible="true">
+         <action
+               class="org.drools.eclipse.menu.RuleHelperActionDelegate"
+               icon="icons/drools.gif"
+               id="org.drools.eclipse.openRulesWorkbench"
+               label="Drools wizards"
+               style="pulldown"
+               toolbarPath="Normal/additions"
+               tooltip="Drools workbench"/>
+      </actionSet>
+   </extension>
+
+   <extension
+      id="droolsbuilder" name="Drools Builder" point="org.eclipse.core.resources.builders">
+      <builder>
+         <run class="org.drools.eclipse.builder.DroolsBuilder"/>
+      </builder>
+   </extension>
+
+   <extension
+         id="problem"
+         point="org.eclipse.core.resources.markers"
+         name="Drools Error">
+      <super type="org.eclipse.core.resources.problemmarker"/>
+      <super type="org.eclipse.core.resources.textmarker"/>
+      <persistent value="true" />
+   </extension>
+
+   <extension
+         id="droolsBreakpointMarker"
+         point="org.eclipse.core.resources.markers"
+         name="Drools Breakpoint Marker">
+	  <super type="org.eclipse.debug.core.breakpointMarker"/>
+      <persistent value="true"/>
+	</extension>
+
+   <extension point="org.eclipse.debug.core.breakpoints">
+      <breakpoint
+         id="droolsBreakpoint"
+         markerType="org.drools.eclipse.droolsBreakpointMarker"
+         class="org.drools.eclipse.debug.core.DroolsLineBreakpoint">
+      </breakpoint>
+   </extension>
+
+   <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
+       <classpathContainerInitializer class="org.drools.eclipse.util.DroolsClasspathContainerInitializer" id="DROOLS" />
+   </extension>
+
+   <extension point="org.eclipse.ui.editors.annotationTypes">
+      <type super="org.eclipse.ui.workbench.texteditor.error" markerSeverity="2" markerType="org.eclipse.core.resources.problemmarker" name="org.drools.eclipse.editors.error_annotation"/>
+   </extension>
+
+   <extension point="org.eclipse.help.toc">
+      <toc file="help/eclipse/toc.xml" primary="true" />
+   </extension>
+
+   <extension point = "org.eclipse.ui.preferencePages">
+      <page id="org.drools.eclipse.preferences.DroolsPreferencePage"
+         class="org.drools.eclipse.preferences.DroolsPreferencePage"
+         name="Drools Preferences">
+      </page>
+   </extension>
+
+   <extension
+         point="org.eclipse.ui.perspectives">
+      <perspective
+         name="Drools"
+         icon="icons/drools.gif"
+         class="org.drools.eclipse.DroolsPerspective"
+         id="org.drools.eclipse.DroolsPerspective">
+      </perspective>
+   </extension>
+
+   <!-- Extensions for the interactive debugger -->
+
+   <extension point = "org.eclipse.debug.core.launchConfigurationTypes">
+      <launchConfigurationType
+   	     id="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
+         name="Drools Application"
+         delegate="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
+         sourceLocatorId="org.drools.eclipse.launching.DroolsSourceLookupDirector"
+         sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer"
+         modes= "debug" />
+   </extension>
+
+   <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
+      <launchConfigurationTypeImage
+         icon="icons/drools.gif"
+         configTypeID="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
+         id="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate.Image">
+      </launchConfigurationTypeImage>
+   </extension>
+
+   <extension
+         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
+      <launchConfigurationTabGroup
+            type="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
+            class="org.eclipse.jdt.internal.debug.ui.launcher.LocalJavaApplicationTabGroup"
+            id="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication">
+            <launchMode
+                  mode="debug"
+                  perspective="org.eclipse.debug.ui.DebugPerspective"
+                  description="Debug a Drools application">
+            </launchMode>
+            <launchMode
+                  mode="run"
+                  description="Run a Drools application">
+            </launchMode>
+      </launchConfigurationTabGroup>
+   </extension>
+   
+   <extension
+         point="org.eclipse.debug.ui.launchShortcuts">
+      <shortcut
+            label="Drools Application"
+            icon="icons/drools.gif"
+            modes="debug"
+            class="org.drools.eclipse.launching.DroolsApplicationLaunchShortcut"
+            id="org.drools.eclipse.launching.DroolsApplicationLaunchShortcut">
+         <contextualLaunch>
+           <enablement>
+             <with variable="selection">
+               <count value="1"/>
+               <iterate>
+                <or>
+               	  <test property="org.eclipse.jdt.launching.hasMain"/>
+               	  <and>
+               	     <test property="org.eclipse.jdt.launching.isContainer"/>
+               	     <test property="org.eclipse.jdt.launching.hasProjectNature" args="org.eclipse.jdt.core.javanature"/>
+               	  </and>
+               	</or>
+               </iterate>
+             </with>
+           </enablement>
+  		 </contextualLaunch>
+         <perspective id="org.eclipse.jdt.ui.JavaPerspective"/>
+         <perspective id="org.drools.eclipse.DroolsPerspective"/>
+         <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
+         <perspective id="org.eclipse.debug.ui.DebugPerspective"/>
+      </shortcut>
+   </extension>
+
+   <extension
+         point="org.eclipse.debug.core.sourceLocators">
+      <sourceLocator
+         name="Drools Source Lookup Director"
+         class="org.drools.eclipse.launching.DroolsSourceLookupDirector"
+         id="org.drools.eclipse.launching.DroolsSourceLookupDirector">
+      </sourceLocator>
+   </extension>
+
+   <extension point="org.eclipse.ui.editors.markerUpdaters">
+      <updater
+         markerType="org.drools.eclipse.droolsBreakpointMarker"
+         class="org.drools.eclipse.debug.core.DroolsLineBreakpointMarkerUpdater"
+         id="org.drools.eclipse.debug.core.DroolsLineBreakpointMarkerUpdater" />
+   </extension>
+
+   <!-- not used anymore
+   <extension
+         point="org.eclipse.debug.core.sourcePathComputers">
+      <sourcePathComputer
+         class="org.drools.eclipse.launching.DroolsSourcePathComputerDelegate"
+         id="org.drools.eclipse.launching.DroolsSourcePathComputerDelegate">
+      </sourcePathComputer>
+   </extension> -->
+
+   <extension
+         point="org.eclipse.debug.ui.debugModelPresentations">
+      <debugModelPresentation
+         class="org.drools.eclipse.debug.core.DroolsDebugModelPresentation"
+         id="org.drools.eclipse.debug">
+      </debugModelPresentation>
+   </extension>
+
+   <!-- not working if using multipage editor -->
+   <extension point="org.eclipse.ui.editorActions">
+      <editorContribution
+            targetID="org.drools.eclipse.editors.DRLRuleEditor"
+            id="org.drools.eclipse.editors.DRLRuleEditor.RulerActions">
+         <action
+            label="Not Used"
+            class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
+            style="push"
+            actionID="RulerDoubleClick"
+            id="org.drools.eclipse.editors.DRLRuleEditor.ToggleBreakpointRulerAction" />
+      </editorContribution>
+   </extension>
+
+   <!-- not working if using multipage editor -->
+   <extension point="org.eclipse.ui.popupMenus">
+      <viewerContribution
+            targetID="#TextRulerContext"
+            id="org.drools.eclipse.editors.DRLRuleEditor.RulerPopupActions">
+         <action
+            label="Toggle Breakpoint"
+            class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
+            menubarPath="additions"
+            id="org.drools.eclipse.editors.DRLRuleEditor.rulerContextMenu.ToggleBreakpointRulerAction">
+         </action>
+      </viewerContribution>
+   </extension>
+
+   <extension point = "org.eclipse.ui.popupMenus">
+	 <objectContribution
+           objectClass="org.eclipse.core.resources.IProject"
+           id="org.drools.eclipse.action.ConvertToDroolsProject1">
+        <filter name="nature" value="org.eclipse.jdt.core.javanature"/>
+	    <action id="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+	       label="Convert to Drools Project"
+	       icon="icons/drools.gif"
+	       menubarPath="additions"
+	       class="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+           definitionId="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+	       enablesFor="1">
+	    </action>
+      </objectContribution>
+      <objectContribution
+           objectClass="org.eclipse.jdt.core.IJavaProject"
+           id="org.drools.eclipse.action.ConvertToDroolsProject2">
+	    <action id="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+	       label="Convert to Drools Project"
+	       icon="icons/drools.gif"
+	       menubarPath="additions"
+	       class="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+           definitionId="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+	       enablesFor="1">
+	    </action>
+      </objectContribution>
+   </extension>
+
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            name="RuleFlow Editor"
+            extensions="rf, ruleflow, rflow"
+            icon="icons/process.gif"
+            contributorClass="org.drools.eclipse.flow.common.editor.GenericActionBarContributor"
+            class="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor"
+            id="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor">
+      </editor>
+   </extension>
+
+   <extension
+         point = "org.eclipse.ui.editorActions">
+      <editorContribution
+            id="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
+            targetID="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor">
+	     <action
+	        id="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
+            label="Check RuleFlow"
+	        toolbarPath="Drools"
+            icon="icons/check.gif"
+            tooltip="Check the ruleflow model"
+            class="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
+         />
+      </editorContribution>
+   </extension>
+
+   <extension
+         point = "org.eclipse.ui.newWizards">
+	  <category
+	    id = "org.drools.eclipse.flow.new"
+	    name="RuleFlow">
+	  </category>
+ 	  <wizard
+	      id = "org.drools.eclipse.flow.ruleflow.NewRuleFlowFileWizard"
+      	  name = "RuleFlow File"
+	      class="org.drools.eclipse.flow.ruleflow.NewRuleFlowFileWizard"
+          category="org.drools.eclipse.new"
+	      icon="icons/process.gif">
+    	<description>A wizard that creates a new ruleflow file</description>
+	    <selection class="org.eclipse.core.resources.IResource"/>
+	  </wizard>
+   </extension>
+
+   <!-- RuleBuilder Extensions -->
+      <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            class="org.drools.eclipse.rulebuilder.editors.RuleEditor"
+            extensions="brl"
+            icon="icons/drools.gif"
+            id="org.drools.eclipse.ide.rulebuilder.brl.editors.RuleEditor"
+            name="Guided Rule Editor"/>
+   </extension>
+
+
+   <extension
+         point="org.eclipse.ui.newWizards">
+      <wizard
+            category="org.drools.eclipse.new"
+            class="org.drools.eclipse.rulebuilder.wizards.NewBrlFileWizard"
+            descriptionImage="icons/drools-large.PNG"
+            icon="icons/drools.gif"
+            id="org.drools.eclipse.rulebuilder.wizards.NewGuidedRuleFileWizard"
+            name="Guided Rule"/>
+   </extension>
+</plugin>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/pom.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/pom.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,146 +0,0 @@
-<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/P
-OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-        <modelVersion>4.0.0</modelVersion>
-        <groupId>drools</groupId>
-        <artifactId>drools-eclipse-plugin</artifactId>
-        <packaging>osgi-bundle</packaging>
-        <version>1.0-SNAPSHOT</version>
-        
-        
-        
-  <repositories>
-    <repository>
-      <id>eclipse</id>
-      <url>http://repo1.maven.org/eclipse/</url>
-    </repository>
-  </repositories>        
-        
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.tycho</groupId>
-        <artifactId>maven-osgi-lifecycle-plugin</artifactId>
-        <extensions>true</extensions>
-      </plugin>
-    </plugins>
-  </build>
-        
-  <dependencies>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.core.runtime</artifactId>
-      <version>3.2.0.v20060603</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.core.resources</artifactId>
-      <version>3.2.1.R32x_v20060914</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.core.resources.compatibility</artifactId>
-      <version>3.2.0.v20060603</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.core.resources.win32</artifactId>
-      <version>3.2.0.v20060603</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.debug.core</artifactId>
-      <version>3.2.1.v20060823</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.debug.ui</artifactId>
-      <version>3.2.1.v20060823</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jdt.core</artifactId>
-      <version>3.2.1.v_677_R32x</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jdt.debug</artifactId>
-      <version>3.2.1.r321_v20060731</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jdt.debug.ui</artifactId>
-      <version>3.2.1.r321_v20060918</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jdt.launching</artifactId>
-      <version>3.2.1.r321_v20060731</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jdt.ui</artifactId>
-      <version>3.2.1.r321_v20060907</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jface.text</artifactId>
-      <version>3.2.1.r321_v20060810</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui</artifactId>
-      <version>3.2.1.M20060913-0800</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.console</artifactId>
-      <version>3.1.100.v20060605</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.editors</artifactId>
-      <version>3.2.1.r321_v20060721</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.forms</artifactId>
-      <version>3.2.0.v20060602</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.ide</artifactId>
-      <version>3.2.1.M20060915-1030</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.win32</artifactId>
-      <version>3.2.0.I20060605-1400</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.views</artifactId>
-      <version>3.2.1.M20060906-0800</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.workbench.texteditor</artifactId>
-      <version>3.2.0.v20060605-1400</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.gef</artifactId>
-      <version>3.2.2.v20070208</version>
-    </dependency>
-    <dependency>
-      <groupId>com.ibm</groupId>
-      <artifactId>com.ibm.icu</artifactId>
-      <version>3.4.5</version>
-    </dependency>
-<dependency>
-	<groupId>org.eclipse</groupId>
-	<artifactId>org.eclipse.swt.win32.win32.x86</artifactId>
-	<version>3.2.1.v3235</version>
-</dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/pom.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/pom.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,146 @@
+<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/P
+OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+        <modelVersion>4.0.0</modelVersion>
+        <groupId>drools</groupId>
+        <artifactId>drools-eclipse-plugin</artifactId>
+        <packaging>osgi-bundle</packaging>
+        <version>1.0-SNAPSHOT</version>
+        
+        
+        
+  <repositories>
+    <repository>
+      <id>eclipse</id>
+      <url>http://repo1.maven.org/eclipse/</url>
+    </repository>
+  </repositories>        
+        
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.tycho</groupId>
+        <artifactId>maven-osgi-lifecycle-plugin</artifactId>
+        <extensions>true</extensions>
+      </plugin>
+    </plugins>
+  </build>
+        
+  <dependencies>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.core.runtime</artifactId>
+      <version>3.2.0.v20060603</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.core.resources</artifactId>
+      <version>3.2.1.R32x_v20060914</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.core.resources.compatibility</artifactId>
+      <version>3.2.0.v20060603</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.core.resources.win32</artifactId>
+      <version>3.2.0.v20060603</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.debug.core</artifactId>
+      <version>3.2.1.v20060823</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.debug.ui</artifactId>
+      <version>3.2.1.v20060823</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jdt.core</artifactId>
+      <version>3.2.1.v_677_R32x</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jdt.debug</artifactId>
+      <version>3.2.1.r321_v20060731</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jdt.debug.ui</artifactId>
+      <version>3.2.1.r321_v20060918</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jdt.launching</artifactId>
+      <version>3.2.1.r321_v20060731</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jdt.ui</artifactId>
+      <version>3.2.1.r321_v20060907</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jface.text</artifactId>
+      <version>3.2.1.r321_v20060810</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui</artifactId>
+      <version>3.2.1.M20060913-0800</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.console</artifactId>
+      <version>3.1.100.v20060605</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.editors</artifactId>
+      <version>3.2.1.r321_v20060721</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.forms</artifactId>
+      <version>3.2.0.v20060602</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.ide</artifactId>
+      <version>3.2.1.M20060915-1030</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.win32</artifactId>
+      <version>3.2.0.I20060605-1400</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.views</artifactId>
+      <version>3.2.1.M20060906-0800</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.workbench.texteditor</artifactId>
+      <version>3.2.0.v20060605-1400</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.gef</artifactId>
+      <version>3.2.2.v20070208</version>
+    </dependency>
+    <dependency>
+      <groupId>com.ibm</groupId>
+      <artifactId>com.ibm.icu</artifactId>
+      <version>3.4.5</version>
+    </dependency>
+<dependency>
+	<groupId>org.eclipse</groupId>
+	<artifactId>org.eclipse.swt.win32.win32.x86</artifactId>
+	<version>3.2.1.v3235</version>
+</dependency>
+  </dependencies>
+
+</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,258 +0,0 @@
-package org.drools.eclipse;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.compiler.Dialect;
-import org.drools.compiler.DroolsError;
-import org.drools.lang.descr.FunctionDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.drools.rule.LineMappings;
-import org.drools.rule.Package;
-import org.drools.rule.PackageCompilationData;
-
-public class DRLInfo {
-
-	private static final DroolsError[] EMPTY_DROOLS_ERROR_ARRAY = new DroolsError[0];
-	private static final List EMPTY_LIST = Collections.unmodifiableList(Collections.EMPTY_LIST);
-
-	private String sourcePathName;
-	private PackageDescr packageDescr;
-	private List parserErrors;
-	private Package compiledPackage;
-	private DroolsError[] builderErrors;
-	// cached entry
-	private transient RuleInfo[] ruleInfos;
-	private transient FunctionInfo[] functionInfos;
-
-	public DRLInfo(String sourcePathName, PackageDescr packageDescr, List parserErrors) {
-		if (sourcePathName == null || "".equals(sourcePathName)) {
-			throw new IllegalArgumentException("Invalid sourcePathName " + sourcePathName);
-		}
-		if (packageDescr == null) {
-			throw new IllegalArgumentException("Null packageDescr");
-		}
-		this.sourcePathName = sourcePathName;
-		this.packageDescr = packageDescr;
-		this.parserErrors =
-			parserErrors == null ? EMPTY_LIST : Collections.unmodifiableList(parserErrors);
-		this.builderErrors = EMPTY_DROOLS_ERROR_ARRAY;
-	}
-
-	public DRLInfo(String pathName, PackageDescr packageDescr, List parserErrors, Package compiledPackage, DroolsError[] builderErrors) {
-		this(pathName, packageDescr, parserErrors);
-		if (compiledPackage == null) {
-			throw new IllegalArgumentException("Null package");
-		}
-		this.compiledPackage = compiledPackage;
-		this.builderErrors =
-			builderErrors == null ? EMPTY_DROOLS_ERROR_ARRAY : builderErrors;
-	}
-
-	public String getSourcePathName() {
-		return sourcePathName;
-	}
-
-	public PackageDescr getPackageDescr() {
-		return packageDescr;
-	}
-
-	public List getParserErrors() {
-		return parserErrors;
-	}
-
-	public Package getPackage() {
-		return compiledPackage;
-	}
-
-	public DroolsError[] getBuilderErrors() {
-		return builderErrors;
-	}
-
-	public String getPackageName() {
-		return packageDescr.getName();
-	}
-
-	public boolean isCompiled() {
-		return compiledPackage != null;
-	}
-
-	public RuleInfo[] getRuleInfos() {
-		if (ruleInfos == null) {
-			List ruleInfosList = new ArrayList();
-	        for (Iterator rules = packageDescr.getRules().iterator(); rules.hasNext(); ) {
-	    		RuleDescr ruleDescr = (RuleDescr) rules.next();
-	    		RuleInfo ruleInfo = new RuleInfo(ruleDescr);
-	    		ruleInfosList.add(ruleInfo);
-	    	}
-	    	ruleInfos = (RuleInfo[]) ruleInfosList.toArray(new RuleInfo[0]);
-		}
-		return ruleInfos;
-	}
-
-	public RuleInfo getRuleInfo(int drlLineNumber) {
-		RuleInfo[] ruleInfos = getRuleInfos();
-
-		int ruleLine = -1;
-		RuleInfo result = null;
-		for (int i = 0; i < ruleInfos.length; i++) {
-			int ruleDrlLineNumber = ruleInfos[i].getDrlLineNumber();
-			if (ruleDrlLineNumber > ruleLine
-					&& ruleDrlLineNumber <= drlLineNumber + 1) {
-				ruleLine = ruleDrlLineNumber;
-				result = ruleInfos[i];
-			}
-		}
-		return result;
-	}
-
-	public class RuleInfo {
-
-		private final RuleDescr ruleDescr;
-		// cached entries
-		private transient String className;
-		private transient int consequenceJavaLineNumber = -1;
-
-		public RuleInfo(RuleDescr ruleDescr) {
-			if (ruleDescr == null) {
-				throw new IllegalArgumentException("Null ruleDescr");
-			}
-			this.ruleDescr = ruleDescr;
-		}
-
-        public Dialect getDialect() {
-            return ruleDescr.getDialect();
-        }
-
-		public String getSourcePathName() {
-			return DRLInfo.this.getSourcePathName();
-		}
-
-		public String getClassName() {
-			// ruleDescr is only filled in during compilation
-			if (!isCompiled()) {
-				throw new IllegalArgumentException("Package has not been compiled");
-			}
-			if (className == null) {
-	    		className = getPackageName() + "." + ruleDescr.getClassName();
-			}
-			return className;
-		}
-
-		public int getDrlLineNumber() {
-			return ruleDescr.getLine();
-		}
-
-		public int getConsequenceDrlLineNumber() {
-			return ruleDescr.getConsequenceLine();
-		}
-
-		public int getConsequenceJavaLineNumber() {
-			if (consequenceJavaLineNumber == -1) {
-				if (!isCompiled()) {
-					throw new IllegalArgumentException("Package has not been compiled");
-				}
-				PackageCompilationData data = compiledPackage
-                					.getPackageCompilationData();
-
-                LineMappings mappings = data.getLineMappings(className);
-                consequenceJavaLineNumber = mappings.getOffset();
-
-			}
-			return consequenceJavaLineNumber;
-		}
-
-		public String getPackageName() {
-			return packageDescr.getName();
-		}
-
-		public String getRuleName() {
-			return ruleDescr.getName();
-		}
-	}
-
-	public FunctionInfo[] getFunctionInfos() {
-		if (functionInfos == null) {
-			List functionInfosList = new ArrayList();
-	        for (Iterator functions = packageDescr.getFunctions().iterator(); functions.hasNext(); ) {
-	    		FunctionDescr functionDescr = (FunctionDescr) functions.next();
-	    		FunctionInfo functionInfo = new FunctionInfo(functionDescr);
-	    		functionInfosList.add(functionInfo);
-	    	}
-	        functionInfos = (FunctionInfo[]) functionInfosList.toArray(new FunctionInfo[0]);
-		}
-		return functionInfos;
-	}
-
-	public FunctionInfo getFunctionInfo(int drlLineNumber) {
-		FunctionInfo[] functionInfos = getFunctionInfos();
-		int functionLine = -1;
-		FunctionInfo result = null;
-		for (int i = 0; i < functionInfos.length; i++) {
-			int functionDrlLineNumber = functionInfos[i].getDrlLineNumber();
-			if (functionDrlLineNumber > functionLine
-					&& functionDrlLineNumber <= drlLineNumber + 1) {
-				functionLine = functionDrlLineNumber;
-				result = functionInfos[i];
-			}
-		}
-		return result;
-	}
-
-	public class FunctionInfo {
-
-		private FunctionDescr functionDescr;
-		// cached entries
-		private transient String className;
-		private transient int javaLineNumber = -1;
-
-		public FunctionInfo(FunctionDescr functionDescr) {
-			if (functionDescr == null) {
-				throw new IllegalArgumentException("Null functionDescr");
-			}
-			this.functionDescr = functionDescr;
-		}
-
-		public String getSourcePathName() {
-			return DRLInfo.this.getSourcePathName();
-		}
-
-		public String getClassName() {
-			// functionDescr is only filled in during compilation
-			if (!isCompiled()) {
-				throw new IllegalArgumentException("Package has not been compiled");
-			}
-			if (className == null) {
-	    		className = functionDescr.getClassName();
-			}
-			return className;
-		}
-
-		public int getDrlLineNumber() {
-			return functionDescr.getLine();
-		}
-
-		public int getJavaLineNumber() {
-			if (javaLineNumber == -1) {
-				if (!isCompiled()) {
-					throw new IllegalArgumentException("Package has not been compiled");
-				}
-				javaLineNumber = compiledPackage
-					.getPackageCompilationData().getLineMappings(className).getOffset();
-			}
-			return javaLineNumber;
-		}
-
-		public String getPackageName() {
-			return packageDescr.getName();
-		}
-
-		public String getFunctionName() {
-			return functionDescr.getName();
-		}
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,258 @@
+package org.drools.eclipse;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.compiler.Dialect;
+import org.drools.compiler.DroolsError;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.drools.rule.LineMappings;
+import org.drools.rule.Package;
+import org.drools.rule.PackageCompilationData;
+
+public class DRLInfo {
+
+	private static final DroolsError[] EMPTY_DROOLS_ERROR_ARRAY = new DroolsError[0];
+	private static final List EMPTY_LIST = Collections.unmodifiableList(Collections.EMPTY_LIST);
+
+	private String sourcePathName;
+	private PackageDescr packageDescr;
+	private List parserErrors;
+	private Package compiledPackage;
+	private DroolsError[] builderErrors;
+	// cached entry
+	private transient RuleInfo[] ruleInfos;
+	private transient FunctionInfo[] functionInfos;
+
+	public DRLInfo(String sourcePathName, PackageDescr packageDescr, List parserErrors) {
+		if (sourcePathName == null || "".equals(sourcePathName)) {
+			throw new IllegalArgumentException("Invalid sourcePathName " + sourcePathName);
+		}
+		if (packageDescr == null) {
+			throw new IllegalArgumentException("Null packageDescr");
+		}
+		this.sourcePathName = sourcePathName;
+		this.packageDescr = packageDescr;
+		this.parserErrors =
+			parserErrors == null ? EMPTY_LIST : Collections.unmodifiableList(parserErrors);
+		this.builderErrors = EMPTY_DROOLS_ERROR_ARRAY;
+	}
+
+	public DRLInfo(String pathName, PackageDescr packageDescr, List parserErrors, Package compiledPackage, DroolsError[] builderErrors) {
+		this(pathName, packageDescr, parserErrors);
+		if (compiledPackage == null) {
+			throw new IllegalArgumentException("Null package");
+		}
+		this.compiledPackage = compiledPackage;
+		this.builderErrors =
+			builderErrors == null ? EMPTY_DROOLS_ERROR_ARRAY : builderErrors;
+	}
+
+	public String getSourcePathName() {
+		return sourcePathName;
+	}
+
+	public PackageDescr getPackageDescr() {
+		return packageDescr;
+	}
+
+	public List getParserErrors() {
+		return parserErrors;
+	}
+
+	public Package getPackage() {
+		return compiledPackage;
+	}
+
+	public DroolsError[] getBuilderErrors() {
+		return builderErrors;
+	}
+
+	public String getPackageName() {
+		return packageDescr.getName();
+	}
+
+	public boolean isCompiled() {
+		return compiledPackage != null;
+	}
+
+	public RuleInfo[] getRuleInfos() {
+		if (ruleInfos == null) {
+			List ruleInfosList = new ArrayList();
+	        for (Iterator rules = packageDescr.getRules().iterator(); rules.hasNext(); ) {
+	    		RuleDescr ruleDescr = (RuleDescr) rules.next();
+	    		RuleInfo ruleInfo = new RuleInfo(ruleDescr);
+	    		ruleInfosList.add(ruleInfo);
+	    	}
+	    	ruleInfos = (RuleInfo[]) ruleInfosList.toArray(new RuleInfo[0]);
+		}
+		return ruleInfos;
+	}
+
+	public RuleInfo getRuleInfo(int drlLineNumber) {
+		RuleInfo[] ruleInfos = getRuleInfos();
+
+		int ruleLine = -1;
+		RuleInfo result = null;
+		for (int i = 0; i < ruleInfos.length; i++) {
+			int ruleDrlLineNumber = ruleInfos[i].getDrlLineNumber();
+			if (ruleDrlLineNumber > ruleLine
+					&& ruleDrlLineNumber <= drlLineNumber + 1) {
+				ruleLine = ruleDrlLineNumber;
+				result = ruleInfos[i];
+			}
+		}
+		return result;
+	}
+
+	public class RuleInfo {
+
+		private final RuleDescr ruleDescr;
+		// cached entries
+		private transient String className;
+		private transient int consequenceJavaLineNumber = -1;
+
+		public RuleInfo(RuleDescr ruleDescr) {
+			if (ruleDescr == null) {
+				throw new IllegalArgumentException("Null ruleDescr");
+			}
+			this.ruleDescr = ruleDescr;
+		}
+
+        public Dialect getDialect() {
+            return ruleDescr.getDialect();
+        }
+
+		public String getSourcePathName() {
+			return DRLInfo.this.getSourcePathName();
+		}
+
+		public String getClassName() {
+			// ruleDescr is only filled in during compilation
+			if (!isCompiled()) {
+				throw new IllegalArgumentException("Package has not been compiled");
+			}
+			if (className == null) {
+	    		className = getPackageName() + "." + ruleDescr.getClassName();
+			}
+			return className;
+		}
+
+		public int getDrlLineNumber() {
+			return ruleDescr.getLine();
+		}
+
+		public int getConsequenceDrlLineNumber() {
+			return ruleDescr.getConsequenceLine();
+		}
+
+		public int getConsequenceJavaLineNumber() {
+			if (consequenceJavaLineNumber == -1) {
+				if (!isCompiled()) {
+					throw new IllegalArgumentException("Package has not been compiled");
+				}
+				PackageCompilationData data = compiledPackage
+                					.getPackageCompilationData();
+
+                LineMappings mappings = data.getLineMappings(className);
+                consequenceJavaLineNumber = mappings.getOffset();
+
+			}
+			return consequenceJavaLineNumber;
+		}
+
+		public String getPackageName() {
+			return packageDescr.getName();
+		}
+
+		public String getRuleName() {
+			return ruleDescr.getName();
+		}
+	}
+
+	public FunctionInfo[] getFunctionInfos() {
+		if (functionInfos == null) {
+			List functionInfosList = new ArrayList();
+	        for (Iterator functions = packageDescr.getFunctions().iterator(); functions.hasNext(); ) {
+	    		FunctionDescr functionDescr = (FunctionDescr) functions.next();
+	    		FunctionInfo functionInfo = new FunctionInfo(functionDescr);
+	    		functionInfosList.add(functionInfo);
+	    	}
+	        functionInfos = (FunctionInfo[]) functionInfosList.toArray(new FunctionInfo[0]);
+		}
+		return functionInfos;
+	}
+
+	public FunctionInfo getFunctionInfo(int drlLineNumber) {
+		FunctionInfo[] functionInfos = getFunctionInfos();
+		int functionLine = -1;
+		FunctionInfo result = null;
+		for (int i = 0; i < functionInfos.length; i++) {
+			int functionDrlLineNumber = functionInfos[i].getDrlLineNumber();
+			if (functionDrlLineNumber > functionLine
+					&& functionDrlLineNumber <= drlLineNumber + 1) {
+				functionLine = functionDrlLineNumber;
+				result = functionInfos[i];
+			}
+		}
+		return result;
+	}
+
+	public class FunctionInfo {
+
+		private FunctionDescr functionDescr;
+		// cached entries
+		private transient String className;
+		private transient int javaLineNumber = -1;
+
+		public FunctionInfo(FunctionDescr functionDescr) {
+			if (functionDescr == null) {
+				throw new IllegalArgumentException("Null functionDescr");
+			}
+			this.functionDescr = functionDescr;
+		}
+
+		public String getSourcePathName() {
+			return DRLInfo.this.getSourcePathName();
+		}
+
+		public String getClassName() {
+			// functionDescr is only filled in during compilation
+			if (!isCompiled()) {
+				throw new IllegalArgumentException("Package has not been compiled");
+			}
+			if (className == null) {
+	    		className = functionDescr.getClassName();
+			}
+			return className;
+		}
+
+		public int getDrlLineNumber() {
+			return functionDescr.getLine();
+		}
+
+		public int getJavaLineNumber() {
+			if (javaLineNumber == -1) {
+				if (!isCompiled()) {
+					throw new IllegalArgumentException("Package has not been compiled");
+				}
+				javaLineNumber = compiledPackage
+					.getPackageCompilationData().getLineMappings(className).getOffset();
+			}
+			return javaLineNumber;
+		}
+
+		public String getPackageName() {
+			return packageDescr.getName();
+		}
+
+		public String getFunctionName() {
+			return functionDescr.getName();
+		}
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,425 +0,0 @@
-package org.drools.eclipse;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Reader;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.builder.DroolsBuilder;
-import org.drools.eclipse.builder.Util;
-import org.drools.eclipse.dsl.editor.DSLAdapter;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.eclipse.preferences.IDroolsConstants;
-import org.drools.eclipse.util.ProjectClassLoader;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DroolsEclipsePlugin extends AbstractUIPlugin {
-    
-    public static final int INTERNAL_ERROR = 120;
-    public static final String PLUGIN_ID = "org.drools.eclipse";
-    public static final String BUILD_RESULT_PACKAGE = "Package";
-    public static final String BUILD_RESULT_PACKAGE_DESCR = "PackageDescr";
-    
-	//The shared instance.
-	private static DroolsEclipsePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private Map colors = new HashMap();
-	private Map parsedRules = new HashMap();
-	private Map compiledRules = new HashMap();
-	private Map ruleInfoByClassNameMap = new HashMap();
-	private Map functionInfoByClassNameMap = new HashMap();
-	private boolean useCachePreference;
-
-    private FormColors               ruleBuilderFormColors;
-
-	/**
-	 * The constructor.
-	 */
-	public DroolsEclipsePlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		IPreferenceStore preferenceStore = getPreferenceStore();
-		useCachePreference = preferenceStore.getBoolean(IDroolsConstants.CACHE_PARSED_RULES);
-    	preferenceStore.addPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (IDroolsConstants.CACHE_PARSED_RULES.equals(event.getProperty())) {
-					useCachePreference = ((Boolean) event.getNewValue()).booleanValue();
-					if (!useCachePreference) {
-						clearCache();
-					}
-				}
-			}
-    	});
-
-    }
-	
-	public void clearCache() {
-		parsedRules.clear();
-		compiledRules.clear();
-		ruleInfoByClassNameMap.clear();
-		functionInfoByClassNameMap.clear();
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-		resourceBundle = null;
-		parsedRules = null;
-		compiledRules = null;
-		Iterator iterator = colors.values().iterator();
-		while (iterator.hasNext()) {
-			((Color) iterator.next()).dispose();
-		}
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static DroolsEclipsePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = DroolsEclipsePlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("droolsIDE.DroolsIDEPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-     * Uses the plug ins image registry to "cache" it.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-        
-        DroolsEclipsePlugin plugin = getDefault();
-        ImageRegistry reg = plugin.getImageRegistry();
-        ImageDescriptor des = reg.getDescriptor( path );
-        if (des == null) {
-            des = AbstractUIPlugin.imageDescriptorFromPlugin("org.drools.eclipse", path);
-            reg.put( path, des );
-        }
-		return des;
-	}
-    
-    public static String getUniqueIdentifier() {
-        if (getDefault() == null) {
-            return PLUGIN_ID;
-        }
-        return getDefault().getBundle().getSymbolicName();
-    }
-    
-    public static void log(Throwable t) {
-        Throwable top = t;
-        if (t instanceof DebugException) {
-            DebugException de = (DebugException) t;
-            IStatus status = de.getStatus();
-            if (status.getException() != null) {
-                top = status.getException();
-            }
-        } 
-        log(new Status(IStatus.ERROR, getUniqueIdentifier(),
-            INTERNAL_ERROR, "Internal error in Drools Plugin: ", top));        
-    }
-
-    public static void log(IStatus status) {
-        getDefault().getLog().log(status);
-    }
-
-	public Color getColor(String type) {
-		return (Color) colors.get(type);
-	}
-	
-	public void setColor(String type, Color color) {
-		colors.put(type, color);
-	}
-	
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-		store.setDefault(IDroolsConstants.BUILD_ALL, false);
-		store.setDefault(IDroolsConstants.EDITOR_FOLDING, true);
-		store.setDefault(IDroolsConstants.CACHE_PARSED_RULES, true);
-	}
-	
-	public DRLInfo parseResource(IResource resource, boolean compile) throws DroolsParserException {
-		DRLInfo result = (DRLInfo) compiledRules.get(resource);
-		if (result == null && !compile) {
-			result = (DRLInfo) parsedRules.get(resource);
-		}
-		if (result != null) {
-			return result;
-		}
-		return generateParsedResource(resource, compile);
-	}
-	
-	public DRLInfo parseResource(AbstractRuleEditor editor, boolean useUnsavedContent, boolean compile) throws DroolsParserException {
-		IResource resource = editor.getResource();
-		if (!editor.isDirty() || !useUnsavedContent) {
-			DRLInfo result = (DRLInfo) compiledRules.get(resource);
-			if (result == null && !compile) {
-				result = (DRLInfo) parsedRules.get(resource);
-			}
-			if (result != null) {
-				return result;
-			}
-		}
-		if (!editor.isDirty()) {
-			return generateParsedResource(editor.getContent(), resource, true, compile);
-		}
-		// TODO: can we cache result when using unsaved content as well? 
-		return generateParsedResource(editor.getContent(), resource, !useUnsavedContent, compile);
-	}
-	
-	public DRLInfo parseXLSResource(String content, IResource resource) throws DroolsParserException {
-		DRLInfo result = (DRLInfo) compiledRules.get(resource);
-		if (result != null) {
-			return result;
-		}
-		return generateParsedResource(content, resource, false, true);
-	}
-	
-	public DRLInfo parseBRLResource(String content, IResource resource) throws DroolsParserException {
-		DRLInfo result = (DRLInfo) compiledRules.get(resource);
-		if (result != null) {
-			return result;
-		}
-		return generateParsedResource(content, resource, false, true);
-	}
-	
-	public void invalidateResource(IResource resource) {
-		DRLInfo cached = (DRLInfo) compiledRules.remove(resource);
-		if (cached != null) {
-			RuleInfo[] ruleInfos = cached.getRuleInfos();
-			for (int i = 0; i < ruleInfos.length; i++) {
-				ruleInfoByClassNameMap.remove(ruleInfos[i].getClassName());
-			}
-			FunctionInfo[] functionInfos = cached.getFunctionInfos();
-			for (int i = 0; i < functionInfos.length; i++) {
-				functionInfoByClassNameMap.remove(functionInfos[i].getClassName());
-			}
-		}
-		parsedRules.remove(resource);
-	}
-	
-	private DRLInfo generateParsedResource(IResource resource, boolean compile) throws DroolsParserException {
-		if (resource instanceof IFile) {
-			IFile file = (IFile) resource;
-	        try {
-	        	String content = new String(Util.getResourceContentsAsCharArray(file));
-	        	return generateParsedResource(content, file, true, compile);
-	        } catch (CoreException e) {
-	        	log(e);
-	        }
-		}
-		return null;
-	}
-
-	private DRLInfo generateParsedResource(String content, IResource resource, boolean useCache, boolean compile) throws DroolsParserException {
-		useCache = useCache && useCachePreference;
-        DrlParser parser = new DrlParser();
-        try {
-            Reader dslReader = DSLAdapter.getDSLContent(content, resource);
-            ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
-            ClassLoader newLoader = DroolsBuilder.class.getClassLoader();
-            PackageBuilderConfiguration builder_configuration = new PackageBuilderConfiguration();
-            if (resource.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
-                IJavaProject project = JavaCore.create(resource.getProject());
-                newLoader = ProjectClassLoader.getProjectClassLoader(project);
-                String level = project.getOption(JavaCore.COMPILER_COMPLIANCE, true);
-                JavaDialectConfiguration javaConf = ( JavaDialectConfiguration ) builder_configuration.getDialectConfiguration( "java" );
-                javaConf.setJavaLanguageLevel(level);
-            }
-            try {
-            	builder_configuration.setClassLoader(newLoader);
-                Thread.currentThread().setContextClassLoader(newLoader);
-
-                // first parse the source
-                PackageDescr packageDescr = null;
-                List parserErrors = null;
-                if (useCache) {
-                	DRLInfo cachedDrlInfo = (DRLInfo) parsedRules.get(resource);
-                	if (cachedDrlInfo != null) {
-                		packageDescr = cachedDrlInfo.getPackageDescr();
-                		parserErrors = cachedDrlInfo.getParserErrors();
-                	}
-                }
-                
-                if (packageDescr == null) {
-                	if (dslReader != null) {
-                		packageDescr = parser.parse(content, dslReader);
-                	} else {
-                		packageDescr = parser.parse(content);
-                	}
-                	parserErrors = parser.getErrors();
-                }
-                PackageBuilder builder = null;
-        		DRLInfo result = null;
-            	// compile parsed rules if necessary
-            	if (compile && !parser.hasErrors()) {
-                    builder = new PackageBuilder(builder_configuration);
-
-                    // check whether a .package file exists and add it
-                    if (resource.getParent() != null) {
-                    	MyResourceVisitor visitor = new MyResourceVisitor();
-                		resource.getParent().accept(visitor, IResource.DEPTH_ONE, IResource.NONE);
-                    	IResource packageDef = visitor.getPackageDef();
-                    	if (packageDef != null) {
-                    		builder.addPackage(parseResource(packageDef, false).getPackageDescr());
-                    	}
-                    }
-                    
-                    builder.addPackage(packageDescr);
-        			result = new DRLInfo(
-	    				resource.getProjectRelativePath().toString(),
-	    				packageDescr, parserErrors,
-	    				builder.getPackage(), builder.getErrors().getErrors());
-        		} else {
-        			result = new DRLInfo(
-	    				resource.getProjectRelativePath().toString(),
-	    				packageDescr, parserErrors);
-        		}
-        		            		
-            	// cache result
-        		if (useCache) {
-	    			if (compile && !parser.hasErrors()) {
-	    				parsedRules.remove(resource);
-    					compiledRules.put(resource, result);
-	        			RuleInfo[] ruleInfos = result.getRuleInfos();
-	        			for (int i = 0; i < ruleInfos.length; i++) {
-	        				ruleInfoByClassNameMap.put(ruleInfos[i].getClassName(), ruleInfos[i]);
-	        			}
-	        			FunctionInfo[] functionInfos = result.getFunctionInfos();
-	        			for (int i = 0; i < functionInfos.length; i++) {
-	        				functionInfoByClassNameMap.put(functionInfos[i].getClassName(), functionInfos[i]);
-	        			}
-	    			} else {
-    					parsedRules.put(resource, result);
-	    			}
-        		}
-            	return result;
-            } finally {
-                Thread.currentThread().setContextClassLoader(oldLoader);
-            }
-        } catch (CoreException e) {
-        	log(e);
-        }
-		return null;
-	}
-	
-	public RuleInfo getRuleInfoByClass(String ruleClassName) {
-		return (RuleInfo) ruleInfoByClassNameMap.get(ruleClassName);
-	}
-
-	public FunctionInfo getFunctionInfoByClass(String functionClassName) {
-		return (FunctionInfo) functionInfoByClassNameMap.get(functionClassName);
-	}
-
-    /**
-     * Form Colors, default colors for now.
-     * 
-     * @param display
-     * @return
-     */
-    public FormColors getRuleBuilderFormColors(Display display) {
-        if ( ruleBuilderFormColors == null ) {
-            ruleBuilderFormColors = new FormColors( display );
-            ruleBuilderFormColors.markShared();
-        }
-        return ruleBuilderFormColors;
-    }
-
-    private class MyResourceVisitor implements IResourceVisitor {
-    	private IResource packageDef;
-		public boolean visit(IResource resource) throws CoreException {
-			if ("package".equals(resource.getFileExtension())) {
-				packageDef = resource;
-			}
-			return true;
-		}
-		public IResource getPackageDef() {
-			return packageDef;
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,425 @@
+package org.drools.eclipse;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Reader;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.builder.DroolsBuilder;
+import org.drools.eclipse.builder.Util;
+import org.drools.eclipse.dsl.editor.DSLAdapter;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.eclipse.preferences.IDroolsConstants;
+import org.drools.eclipse.util.ProjectClassLoader;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.forms.FormColors;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The main plugin class to be used in the desktop.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DroolsEclipsePlugin extends AbstractUIPlugin {
+    
+    public static final int INTERNAL_ERROR = 120;
+    public static final String PLUGIN_ID = "org.drools.eclipse";
+    public static final String BUILD_RESULT_PACKAGE = "Package";
+    public static final String BUILD_RESULT_PACKAGE_DESCR = "PackageDescr";
+    
+	//The shared instance.
+	private static DroolsEclipsePlugin plugin;
+	//Resource bundle.
+	private ResourceBundle resourceBundle;
+	private Map colors = new HashMap();
+	private Map parsedRules = new HashMap();
+	private Map compiledRules = new HashMap();
+	private Map ruleInfoByClassNameMap = new HashMap();
+	private Map functionInfoByClassNameMap = new HashMap();
+	private boolean useCachePreference;
+
+    private FormColors               ruleBuilderFormColors;
+
+	/**
+	 * The constructor.
+	 */
+	public DroolsEclipsePlugin() {
+		super();
+		plugin = this;
+	}
+
+	/**
+	 * This method is called upon plug-in activation
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		IPreferenceStore preferenceStore = getPreferenceStore();
+		useCachePreference = preferenceStore.getBoolean(IDroolsConstants.CACHE_PARSED_RULES);
+    	preferenceStore.addPropertyChangeListener(new IPropertyChangeListener() {
+			public void propertyChange(PropertyChangeEvent event) {
+				if (IDroolsConstants.CACHE_PARSED_RULES.equals(event.getProperty())) {
+					useCachePreference = ((Boolean) event.getNewValue()).booleanValue();
+					if (!useCachePreference) {
+						clearCache();
+					}
+				}
+			}
+    	});
+
+    }
+	
+	public void clearCache() {
+		parsedRules.clear();
+		compiledRules.clear();
+		ruleInfoByClassNameMap.clear();
+		functionInfoByClassNameMap.clear();
+	}
+
+	/**
+	 * This method is called when the plug-in is stopped
+	 */
+	public void stop(BundleContext context) throws Exception {
+		super.stop(context);
+		plugin = null;
+		resourceBundle = null;
+		parsedRules = null;
+		compiledRules = null;
+		Iterator iterator = colors.values().iterator();
+		while (iterator.hasNext()) {
+			((Color) iterator.next()).dispose();
+		}
+	}
+
+	/**
+	 * Returns the shared instance.
+	 */
+	public static DroolsEclipsePlugin getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the string from the plugin's resource bundle,
+	 * or 'key' if not found.
+	 */
+	public static String getResourceString(String key) {
+		ResourceBundle bundle = DroolsEclipsePlugin.getDefault().getResourceBundle();
+		try {
+			return (bundle != null) ? bundle.getString(key) : key;
+		} catch (MissingResourceException e) {
+			return key;
+		}
+	}
+
+	/**
+	 * Returns the plugin's resource bundle,
+	 */
+	public ResourceBundle getResourceBundle() {
+		try {
+			if (resourceBundle == null)
+				resourceBundle = ResourceBundle.getBundle("droolsIDE.DroolsIDEPluginResources");
+		} catch (MissingResourceException x) {
+			resourceBundle = null;
+		}
+		return resourceBundle;
+	}
+
+	/**
+	 * Returns an image descriptor for the image file at the given
+	 * plug-in relative path.
+     * Uses the plug ins image registry to "cache" it.
+	 *
+	 * @param path the path
+	 * @return the image descriptor
+	 */
+	public static ImageDescriptor getImageDescriptor(String path) {
+        
+        DroolsEclipsePlugin plugin = getDefault();
+        ImageRegistry reg = plugin.getImageRegistry();
+        ImageDescriptor des = reg.getDescriptor( path );
+        if (des == null) {
+            des = AbstractUIPlugin.imageDescriptorFromPlugin("org.drools.eclipse", path);
+            reg.put( path, des );
+        }
+		return des;
+	}
+    
+    public static String getUniqueIdentifier() {
+        if (getDefault() == null) {
+            return PLUGIN_ID;
+        }
+        return getDefault().getBundle().getSymbolicName();
+    }
+    
+    public static void log(Throwable t) {
+        Throwable top = t;
+        if (t instanceof DebugException) {
+            DebugException de = (DebugException) t;
+            IStatus status = de.getStatus();
+            if (status.getException() != null) {
+                top = status.getException();
+            }
+        } 
+        log(new Status(IStatus.ERROR, getUniqueIdentifier(),
+            INTERNAL_ERROR, "Internal error in Drools Plugin: ", top));        
+    }
+
+    public static void log(IStatus status) {
+        getDefault().getLog().log(status);
+    }
+
+	public Color getColor(String type) {
+		return (Color) colors.get(type);
+	}
+	
+	public void setColor(String type, Color color) {
+		colors.put(type, color);
+	}
+	
+	protected void initializeDefaultPreferences(IPreferenceStore store) {
+		store.setDefault(IDroolsConstants.BUILD_ALL, false);
+		store.setDefault(IDroolsConstants.EDITOR_FOLDING, true);
+		store.setDefault(IDroolsConstants.CACHE_PARSED_RULES, true);
+	}
+	
+	public DRLInfo parseResource(IResource resource, boolean compile) throws DroolsParserException {
+		DRLInfo result = (DRLInfo) compiledRules.get(resource);
+		if (result == null && !compile) {
+			result = (DRLInfo) parsedRules.get(resource);
+		}
+		if (result != null) {
+			return result;
+		}
+		return generateParsedResource(resource, compile);
+	}
+	
+	public DRLInfo parseResource(AbstractRuleEditor editor, boolean useUnsavedContent, boolean compile) throws DroolsParserException {
+		IResource resource = editor.getResource();
+		if (!editor.isDirty() || !useUnsavedContent) {
+			DRLInfo result = (DRLInfo) compiledRules.get(resource);
+			if (result == null && !compile) {
+				result = (DRLInfo) parsedRules.get(resource);
+			}
+			if (result != null) {
+				return result;
+			}
+		}
+		if (!editor.isDirty()) {
+			return generateParsedResource(editor.getContent(), resource, true, compile);
+		}
+		// TODO: can we cache result when using unsaved content as well? 
+		return generateParsedResource(editor.getContent(), resource, !useUnsavedContent, compile);
+	}
+	
+	public DRLInfo parseXLSResource(String content, IResource resource) throws DroolsParserException {
+		DRLInfo result = (DRLInfo) compiledRules.get(resource);
+		if (result != null) {
+			return result;
+		}
+		return generateParsedResource(content, resource, false, true);
+	}
+	
+	public DRLInfo parseBRLResource(String content, IResource resource) throws DroolsParserException {
+		DRLInfo result = (DRLInfo) compiledRules.get(resource);
+		if (result != null) {
+			return result;
+		}
+		return generateParsedResource(content, resource, false, true);
+	}
+	
+	public void invalidateResource(IResource resource) {
+		DRLInfo cached = (DRLInfo) compiledRules.remove(resource);
+		if (cached != null) {
+			RuleInfo[] ruleInfos = cached.getRuleInfos();
+			for (int i = 0; i < ruleInfos.length; i++) {
+				ruleInfoByClassNameMap.remove(ruleInfos[i].getClassName());
+			}
+			FunctionInfo[] functionInfos = cached.getFunctionInfos();
+			for (int i = 0; i < functionInfos.length; i++) {
+				functionInfoByClassNameMap.remove(functionInfos[i].getClassName());
+			}
+		}
+		parsedRules.remove(resource);
+	}
+	
+	private DRLInfo generateParsedResource(IResource resource, boolean compile) throws DroolsParserException {
+		if (resource instanceof IFile) {
+			IFile file = (IFile) resource;
+	        try {
+	        	String content = new String(Util.getResourceContentsAsCharArray(file));
+	        	return generateParsedResource(content, file, true, compile);
+	        } catch (CoreException e) {
+	        	log(e);
+	        }
+		}
+		return null;
+	}
+
+	private DRLInfo generateParsedResource(String content, IResource resource, boolean useCache, boolean compile) throws DroolsParserException {
+		useCache = useCache && useCachePreference;
+        DrlParser parser = new DrlParser();
+        try {
+            Reader dslReader = DSLAdapter.getDSLContent(content, resource);
+            ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+            ClassLoader newLoader = DroolsBuilder.class.getClassLoader();
+            PackageBuilderConfiguration builder_configuration = new PackageBuilderConfiguration();
+            if (resource.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
+                IJavaProject project = JavaCore.create(resource.getProject());
+                newLoader = ProjectClassLoader.getProjectClassLoader(project);
+                String level = project.getOption(JavaCore.COMPILER_COMPLIANCE, true);
+                JavaDialectConfiguration javaConf = ( JavaDialectConfiguration ) builder_configuration.getDialectConfiguration( "java" );
+                javaConf.setJavaLanguageLevel(level);
+            }
+            try {
+            	builder_configuration.setClassLoader(newLoader);
+                Thread.currentThread().setContextClassLoader(newLoader);
+
+                // first parse the source
+                PackageDescr packageDescr = null;
+                List parserErrors = null;
+                if (useCache) {
+                	DRLInfo cachedDrlInfo = (DRLInfo) parsedRules.get(resource);
+                	if (cachedDrlInfo != null) {
+                		packageDescr = cachedDrlInfo.getPackageDescr();
+                		parserErrors = cachedDrlInfo.getParserErrors();
+                	}
+                }
+                
+                if (packageDescr == null) {
+                	if (dslReader != null) {
+                		packageDescr = parser.parse(content, dslReader);
+                	} else {
+                		packageDescr = parser.parse(content);
+                	}
+                	parserErrors = parser.getErrors();
+                }
+                PackageBuilder builder = null;
+        		DRLInfo result = null;
+            	// compile parsed rules if necessary
+            	if (compile && !parser.hasErrors()) {
+                    builder = new PackageBuilder(builder_configuration);
+
+                    // check whether a .package file exists and add it
+                    if (resource.getParent() != null) {
+                    	MyResourceVisitor visitor = new MyResourceVisitor();
+                		resource.getParent().accept(visitor, IResource.DEPTH_ONE, IResource.NONE);
+                    	IResource packageDef = visitor.getPackageDef();
+                    	if (packageDef != null) {
+                    		builder.addPackage(parseResource(packageDef, false).getPackageDescr());
+                    	}
+                    }
+                    
+                    builder.addPackage(packageDescr);
+        			result = new DRLInfo(
+	    				resource.getProjectRelativePath().toString(),
+	    				packageDescr, parserErrors,
+	    				builder.getPackage(), builder.getErrors().getErrors());
+        		} else {
+        			result = new DRLInfo(
+	    				resource.getProjectRelativePath().toString(),
+	    				packageDescr, parserErrors);
+        		}
+        		            		
+            	// cache result
+        		if (useCache) {
+	    			if (compile && !parser.hasErrors()) {
+	    				parsedRules.remove(resource);
+    					compiledRules.put(resource, result);
+	        			RuleInfo[] ruleInfos = result.getRuleInfos();
+	        			for (int i = 0; i < ruleInfos.length; i++) {
+	        				ruleInfoByClassNameMap.put(ruleInfos[i].getClassName(), ruleInfos[i]);
+	        			}
+	        			FunctionInfo[] functionInfos = result.getFunctionInfos();
+	        			for (int i = 0; i < functionInfos.length; i++) {
+	        				functionInfoByClassNameMap.put(functionInfos[i].getClassName(), functionInfos[i]);
+	        			}
+	    			} else {
+    					parsedRules.put(resource, result);
+	    			}
+        		}
+            	return result;
+            } finally {
+                Thread.currentThread().setContextClassLoader(oldLoader);
+            }
+        } catch (CoreException e) {
+        	log(e);
+        }
+		return null;
+	}
+	
+	public RuleInfo getRuleInfoByClass(String ruleClassName) {
+		return (RuleInfo) ruleInfoByClassNameMap.get(ruleClassName);
+	}
+
+	public FunctionInfo getFunctionInfoByClass(String functionClassName) {
+		return (FunctionInfo) functionInfoByClassNameMap.get(functionClassName);
+	}
+
+    /**
+     * Form Colors, default colors for now.
+     * 
+     * @param display
+     * @return
+     */
+    public FormColors getRuleBuilderFormColors(Display display) {
+        if ( ruleBuilderFormColors == null ) {
+            ruleBuilderFormColors = new FormColors( display );
+            ruleBuilderFormColors.markShared();
+        }
+        return ruleBuilderFormColors;
+    }
+
+    private class MyResourceVisitor implements IResourceVisitor {
+    	private IResource packageDef;
+		public boolean visit(IResource resource) throws CoreException {
+			if ("package".equals(resource.getFileExtension())) {
+				packageDef = resource;
+			}
+			return true;
+		}
+		public IResource getPackageDef() {
+			return packageDef;
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,77 +0,0 @@
-package org.drools.eclipse;
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.progress.IProgressConstants;
-
-public class DroolsPerspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
- 		String editorArea = layout.getEditorArea();
-		
-		IFolderLayout folder= layout.createFolder("left", IPageLayout.LEFT, (float)0.25, editorArea); //$NON-NLS-1$
-		folder.addView(JavaUI.ID_PACKAGES);
-		folder.addPlaceholder(JavaUI.ID_TYPE_HIERARCHY);
-		folder.addView(IPageLayout.ID_RES_NAV);
-		
-		IFolderLayout rulesfolder= layout.createFolder("leftbottom", IPageLayout.BOTTOM, (float)0.5, "left"); //$NON-NLS-1$
-		rulesfolder.addView(IDroolsConstants.RULES_VIEW);
-		
-		IFolderLayout outputfolder= layout.createFolder("bottom", IPageLayout.BOTTOM, (float)0.75, editorArea); //$NON-NLS-1$
-		outputfolder.addView(IPageLayout.ID_PROBLEM_VIEW);
-		outputfolder.addView(IPageLayout.ID_PROP_SHEET);
-		outputfolder.addPlaceholder(JavaUI.ID_JAVADOC_VIEW);
-		outputfolder.addPlaceholder(JavaUI.ID_SOURCE_VIEW);
-		outputfolder.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
-		outputfolder.addPlaceholder(IPageLayout.ID_BOOKMARKS);
-		outputfolder.addPlaceholder(IProgressConstants.PROGRESS_VIEW_ID);
-		
-		// *** Drools-specific extensions ***
-		outputfolder.addView(IDroolsConstants.AUDIT_VIEW);
-		layout.addShowViewShortcut(IDroolsConstants.AUDIT_VIEW);
-		layout.addNewWizardShortcut("org.drools.eclipse.new.file");
-		layout.addNewWizardShortcut("org.drools.eclipse.new.dsl");
-		layout.addNewWizardShortcut("org.drools.eclipse.wizards.new.project");
-		// **********************************
-		
-		layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.RIGHT, (float)0.75, editorArea);
-		
-		layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET);
-		layout.addActionSet(JavaUI.ID_ACTION_SET);
-		layout.addActionSet(JavaUI.ID_ELEMENT_CREATION_ACTION_SET);
-		layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET);
-		
-		// views - java
-		layout.addShowViewShortcut(JavaUI.ID_PACKAGES);
-		layout.addShowViewShortcut(JavaUI.ID_TYPE_HIERARCHY);
-		layout.addShowViewShortcut(JavaUI.ID_SOURCE_VIEW);
-		layout.addShowViewShortcut(JavaUI.ID_JAVADOC_VIEW);
-
-		// views - debugging
-		layout.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
-
-		// views - standard workbench
-		layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
-		layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
-		layout.addShowViewShortcut(IPageLayout.ID_RES_NAV);
-		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
-		layout.addShowViewShortcut(IProgressConstants.PROGRESS_VIEW_ID);
-				
-		// new actions - Java project creation wizard
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewPackageCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewClassCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewEnumCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard");	 //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.ui.editors.wizards.UntitledTextFileWizard");//$NON-NLS-1$
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,77 @@
+package org.drools.eclipse;
+
+import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.jdt.ui.JavaUI;
+import org.eclipse.ui.IFolderLayout;
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPerspectiveFactory;
+import org.eclipse.ui.console.IConsoleConstants;
+import org.eclipse.ui.progress.IProgressConstants;
+
+public class DroolsPerspective implements IPerspectiveFactory {
+
+	public void createInitialLayout(IPageLayout layout) {
+ 		String editorArea = layout.getEditorArea();
+		
+		IFolderLayout folder= layout.createFolder("left", IPageLayout.LEFT, (float)0.25, editorArea); //$NON-NLS-1$
+		folder.addView(JavaUI.ID_PACKAGES);
+		folder.addPlaceholder(JavaUI.ID_TYPE_HIERARCHY);
+		folder.addView(IPageLayout.ID_RES_NAV);
+		
+		IFolderLayout rulesfolder= layout.createFolder("leftbottom", IPageLayout.BOTTOM, (float)0.5, "left"); //$NON-NLS-1$
+		rulesfolder.addView(IDroolsConstants.RULES_VIEW);
+		
+		IFolderLayout outputfolder= layout.createFolder("bottom", IPageLayout.BOTTOM, (float)0.75, editorArea); //$NON-NLS-1$
+		outputfolder.addView(IPageLayout.ID_PROBLEM_VIEW);
+		outputfolder.addView(IPageLayout.ID_PROP_SHEET);
+		outputfolder.addPlaceholder(JavaUI.ID_JAVADOC_VIEW);
+		outputfolder.addPlaceholder(JavaUI.ID_SOURCE_VIEW);
+		outputfolder.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
+		outputfolder.addPlaceholder(IPageLayout.ID_BOOKMARKS);
+		outputfolder.addPlaceholder(IProgressConstants.PROGRESS_VIEW_ID);
+		
+		// *** Drools-specific extensions ***
+		outputfolder.addView(IDroolsConstants.AUDIT_VIEW);
+		layout.addShowViewShortcut(IDroolsConstants.AUDIT_VIEW);
+		layout.addNewWizardShortcut("org.drools.eclipse.new.file");
+		layout.addNewWizardShortcut("org.drools.eclipse.new.dsl");
+		layout.addNewWizardShortcut("org.drools.eclipse.wizards.new.project");
+		// **********************************
+		
+		layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.RIGHT, (float)0.75, editorArea);
+		
+		layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET);
+		layout.addActionSet(JavaUI.ID_ACTION_SET);
+		layout.addActionSet(JavaUI.ID_ELEMENT_CREATION_ACTION_SET);
+		layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET);
+		
+		// views - java
+		layout.addShowViewShortcut(JavaUI.ID_PACKAGES);
+		layout.addShowViewShortcut(JavaUI.ID_TYPE_HIERARCHY);
+		layout.addShowViewShortcut(JavaUI.ID_SOURCE_VIEW);
+		layout.addShowViewShortcut(JavaUI.ID_JAVADOC_VIEW);
+
+		// views - debugging
+		layout.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
+
+		// views - standard workbench
+		layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
+		layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
+		layout.addShowViewShortcut(IPageLayout.ID_RES_NAV);
+		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
+		layout.addShowViewShortcut(IProgressConstants.PROGRESS_VIEW_ID);
+				
+		// new actions - Java project creation wizard
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewPackageCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewClassCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewEnumCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard");	 //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.ui.editors.wizards.UntitledTextFileWizard");//$NON-NLS-1$
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,146 +0,0 @@
-package org.drools.eclipse;
-/*
- * Copyright 2005 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.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Handles the images used in this plugin.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DroolsPluginImages {
-
-    public static final String IMG_LOGICAL = "ImageLogical";
-    public static final String IMG_LOGICAL_DISABLED = "ImageLogicalDisabled";
-    public static final String REFRESH_LOG = "RefreshLog";
-    public static final String REFRESH_LOG_DISABLED = "RefreshLogDisabled";
-    public static final String OPEN_LOG = "OpenLog";
-    public static final String DELETE_LOG = "ClearLog";
-    public static final String DELETE_LOG_DISABLED = "ClearLogDisabled";
-    public static final String INSERT = "Insert";
-    public static final String UPDATE = "Update";
-    public static final String RETRACT = "RetractO";
-    public static final String CREATE_ACTIVATION = "CreateActivation";
-    public static final String CANCEL_ACTIVATION = "CancelActivation";
-    public static final String EXECUTE_ACTIVATION = "ExecuteActivation";
-    public static final String CLASS = "Class";
-    public static final String PACKAGE = "Package";
-    public static final String METHOD = "Method";
-    public static final String VARIABLE = "Variable";
-    public static final String DROOLS = "Drools";
-    public static final String RULE = "DroolsRule";
-    public static final String QUERY = "DroolsQuery";
-    public static final String DSL_EXPRESSION = "DslExpression";
-    public static final String IMPORT = "Import";
-    public static final String DSL = "DSL";
-    public static final String GLOBAL = "Global";
-    public static final String RULEFLOW = "RuleFlow";
-    
-    private static ImageRegistry imageRegistry;
-    private static final String PATH_SUFFIX = "/icons/";
-    private static final URL ICON_BASE_URL =
-    	DroolsEclipsePlugin.getDefault().getBundle().getEntry(PATH_SUFFIX);
-    
-    private static void declareImages() {
-        declareRegistryImage(IMG_LOGICAL, "logical_structure.gif");
-        declareRegistryImage(IMG_LOGICAL_DISABLED, "logical_structure_disabled.gif");
-        declareRegistryImage(REFRESH_LOG, "refresh.gif");
-        declareRegistryImage(REFRESH_LOG_DISABLED, "refresh_disabled.gif");
-        declareRegistryImage(OPEN_LOG, "open.gif");
-        declareRegistryImage(DELETE_LOG, "clear.gif");
-        declareRegistryImage(DELETE_LOG_DISABLED, "clear_disabled.gif");
-        declareRegistryImage(INSERT, "greensquare.GIF");
-        declareRegistryImage(UPDATE, "yellowsquare.GIF");
-        declareRegistryImage(RETRACT, "redsquare.GIF");
-        declareRegistryImage(CREATE_ACTIVATION, "arrowright.GIF");
-        declareRegistryImage(CANCEL_ACTIVATION, "arrowleft.GIF");
-        declareRegistryImage(EXECUTE_ACTIVATION, "bluediamond.GIF");
-        declareRegistryImage(CLASS, "class_obj.gif");
-        declareRegistryImage(PACKAGE, "package_obj.gif");
-        declareRegistryImage(METHOD, "methpub_obj.gif");
-        declareRegistryImage(VARIABLE, "field_private_obj.gif");
-        declareRegistryImage(DROOLS, "drools.gif");
-        declareRegistryImage(RULE, "drools-rule.GIF");
-        declareRegistryImage(QUERY, "drools-query.GIF");
-        declareRegistryImage(DSL_EXPRESSION, "dsl_expression.gif");
-        declareRegistryImage(IMPORT, "import.gif");
-        declareRegistryImage(DSL, "dsl.GIF");
-        declareRegistryImage(GLOBAL, "field_public_obj.gif");
-        declareRegistryImage(RULEFLOW, "process.gif");
-    }
-
-    /**
-     * Declare an Image in the registry table.
-     * @param key   The key to use when registering the image
-     * @param path  The path where the image can be found. This path is relative to where
-     *              this plugin class is found (i.e. typically the packages directory)
-     */
-    private final static void declareRegistryImage(String key, String path) {
-        ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
-        try {
-            desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
-        } catch (MalformedURLException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-        imageRegistry.put(key, desc);
-    }
-    
-    /**
-     * Returns the ImageRegistry.
-     */
-    public static ImageRegistry getImageRegistry() {
-        if (imageRegistry == null) {
-            initializeImageRegistry();
-        }
-        return imageRegistry;
-    }
-
-    public static ImageRegistry initializeImageRegistry() {
-        imageRegistry = new ImageRegistry();
-        declareImages();
-        return imageRegistry;
-    }
-
-    /**
-     * Returns the <code>Image</code> identified by the given key,
-     * or <code>null</code> if it does not exist.
-     */
-    public static Image getImage(String key) {
-        return getImageRegistry().get(key);
-    }
-    
-    /**
-     * Returns the <code>ImageDescriptor</code> identified by the given key,
-     * or <code>null</code> if it does not exist.
-     */
-    public static ImageDescriptor getImageDescriptor(String key) {
-		return getImageRegistry().getDescriptor(key);
-    }
-    
-    private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
-        if (ICON_BASE_URL == null) {
-            throw new MalformedURLException();
-        }
-            
-        return new URL(ICON_BASE_URL, iconPath);
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,146 @@
+package org.drools.eclipse;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * Handles the images used in this plugin.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DroolsPluginImages {
+
+    public static final String IMG_LOGICAL = "ImageLogical";
+    public static final String IMG_LOGICAL_DISABLED = "ImageLogicalDisabled";
+    public static final String REFRESH_LOG = "RefreshLog";
+    public static final String REFRESH_LOG_DISABLED = "RefreshLogDisabled";
+    public static final String OPEN_LOG = "OpenLog";
+    public static final String DELETE_LOG = "ClearLog";
+    public static final String DELETE_LOG_DISABLED = "ClearLogDisabled";
+    public static final String INSERT = "Insert";
+    public static final String UPDATE = "Update";
+    public static final String RETRACT = "RetractO";
+    public static final String CREATE_ACTIVATION = "CreateActivation";
+    public static final String CANCEL_ACTIVATION = "CancelActivation";
+    public static final String EXECUTE_ACTIVATION = "ExecuteActivation";
+    public static final String CLASS = "Class";
+    public static final String PACKAGE = "Package";
+    public static final String METHOD = "Method";
+    public static final String VARIABLE = "Variable";
+    public static final String DROOLS = "Drools";
+    public static final String RULE = "DroolsRule";
+    public static final String QUERY = "DroolsQuery";
+    public static final String DSL_EXPRESSION = "DslExpression";
+    public static final String IMPORT = "Import";
+    public static final String DSL = "DSL";
+    public static final String GLOBAL = "Global";
+    public static final String RULEFLOW = "RuleFlow";
+    
+    private static ImageRegistry imageRegistry;
+    private static final String PATH_SUFFIX = "/icons/";
+    private static final URL ICON_BASE_URL =
+    	DroolsEclipsePlugin.getDefault().getBundle().getEntry(PATH_SUFFIX);
+    
+    private static void declareImages() {
+        declareRegistryImage(IMG_LOGICAL, "logical_structure.gif");
+        declareRegistryImage(IMG_LOGICAL_DISABLED, "logical_structure_disabled.gif");
+        declareRegistryImage(REFRESH_LOG, "refresh.gif");
+        declareRegistryImage(REFRESH_LOG_DISABLED, "refresh_disabled.gif");
+        declareRegistryImage(OPEN_LOG, "open.gif");
+        declareRegistryImage(DELETE_LOG, "clear.gif");
+        declareRegistryImage(DELETE_LOG_DISABLED, "clear_disabled.gif");
+        declareRegistryImage(INSERT, "greensquare.GIF");
+        declareRegistryImage(UPDATE, "yellowsquare.GIF");
+        declareRegistryImage(RETRACT, "redsquare.GIF");
+        declareRegistryImage(CREATE_ACTIVATION, "arrowright.GIF");
+        declareRegistryImage(CANCEL_ACTIVATION, "arrowleft.GIF");
+        declareRegistryImage(EXECUTE_ACTIVATION, "bluediamond.GIF");
+        declareRegistryImage(CLASS, "class_obj.gif");
+        declareRegistryImage(PACKAGE, "package_obj.gif");
+        declareRegistryImage(METHOD, "methpub_obj.gif");
+        declareRegistryImage(VARIABLE, "field_private_obj.gif");
+        declareRegistryImage(DROOLS, "drools.gif");
+        declareRegistryImage(RULE, "drools-rule.GIF");
+        declareRegistryImage(QUERY, "drools-query.GIF");
+        declareRegistryImage(DSL_EXPRESSION, "dsl_expression.gif");
+        declareRegistryImage(IMPORT, "import.gif");
+        declareRegistryImage(DSL, "dsl.GIF");
+        declareRegistryImage(GLOBAL, "field_public_obj.gif");
+        declareRegistryImage(RULEFLOW, "process.gif");
+    }
+
+    /**
+     * Declare an Image in the registry table.
+     * @param key   The key to use when registering the image
+     * @param path  The path where the image can be found. This path is relative to where
+     *              this plugin class is found (i.e. typically the packages directory)
+     */
+    private final static void declareRegistryImage(String key, String path) {
+        ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
+        try {
+            desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
+        } catch (MalformedURLException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+        imageRegistry.put(key, desc);
+    }
+    
+    /**
+     * Returns the ImageRegistry.
+     */
+    public static ImageRegistry getImageRegistry() {
+        if (imageRegistry == null) {
+            initializeImageRegistry();
+        }
+        return imageRegistry;
+    }
+
+    public static ImageRegistry initializeImageRegistry() {
+        imageRegistry = new ImageRegistry();
+        declareImages();
+        return imageRegistry;
+    }
+
+    /**
+     * Returns the <code>Image</code> identified by the given key,
+     * or <code>null</code> if it does not exist.
+     */
+    public static Image getImage(String key) {
+        return getImageRegistry().get(key);
+    }
+    
+    /**
+     * Returns the <code>ImageDescriptor</code> identified by the given key,
+     * or <code>null</code> if it does not exist.
+     */
+    public static ImageDescriptor getImageDescriptor(String key) {
+		return getImageRegistry().getDescriptor(key);
+    }
+    
+    private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
+        if (ICON_BASE_URL == null) {
+            throw new MalformedURLException();
+        }
+            
+        return new URL(ICON_BASE_URL, iconPath);
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,8 +0,0 @@
-package org.drools.eclipse;
-
-public interface IDroolsConstants {
-	
-	final String AUDIT_VIEW = "org.drools.eclipse.debug.AuditView";
-	final String RULES_VIEW = "org.drools.eclipse.view.rules.RulesView";
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,8 @@
+package org.drools.eclipse;
+
+public interface IDroolsConstants {
+	
+	final String AUDIT_VIEW = "org.drools.eclipse.debug.AuditView";
+	final String RULES_VIEW = "org.drools.eclipse.view.rules.RulesView";
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,88 +0,0 @@
-package org.drools.eclipse.action;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.builder.DroolsBuilder;
-import org.drools.eclipse.wizard.project.NewDroolsProjectWizard;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class ConvertToDroolsProjectAction implements IObjectActionDelegate {
-
-    private IJavaProject project;
-    
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	public void run(IAction action) {
-		if (project != null && project.exists()) {
-			try {
-				addDroolsBuilder(project, null);
-				addDroolsLibraries(project, null);
-			} catch (Throwable t) {
-				DroolsEclipsePlugin.log(t);
-			}
-		}
-
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection structured = (IStructuredSelection) selection;
-			if (structured.size() == 1) {
-				Object element = structured.getFirstElement();
-				if (element instanceof IJavaProject) {
-					project = (IJavaProject) element;
-				} else if (element instanceof IProject) {
-					IJavaProject javaProject = JavaCore.create((IProject) element);
-					if (javaProject != null && javaProject.exists()) {
-						project = javaProject;
-					}
-				}
-			}
-		}
-	}
-	
-    public static void addDroolsBuilder(IJavaProject project, IProgressMonitor monitor) throws CoreException {
-        IProjectDescription description = project.getProject().getDescription();
-        // check whether Drools builder is already part of the project
-        ICommand[] commands = description.getBuildSpec();
-        for (int i = 0; i < commands.length; i++) {
-        	if (DroolsBuilder.BUILDER_ID.equals(commands[i].getBuilderName())) {
-        		return;
-        	}
-        }
-        // add Drools builder
-        ICommand[] newCommands = new ICommand[commands.length + 1];
-        System.arraycopy(commands, 0, newCommands, 0, commands.length);
-
-        ICommand droolsCommand = description.newCommand();
-        droolsCommand.setBuilderName(DroolsBuilder.BUILDER_ID);
-        newCommands[commands.length] = droolsCommand;
-        
-        description.setBuildSpec(newCommands);
-        project.getProject().setDescription(description, monitor);
-    }
-    
-    public static void addDroolsLibraries(IJavaProject project, IProgressMonitor monitor) throws JavaModelException {
-    	IClasspathEntry[] classpathEntries = project.getRawClasspath();
-    	for (int i = 0; i < classpathEntries.length; i++) {
-    		if (NewDroolsProjectWizard.DROOLS_CLASSPATH_CONTAINER_PATH.equals(classpathEntries[i].getPath().toString())) {
-    			return;
-    		}
-    	}
-		NewDroolsProjectWizard.addDroolsLibraries(project, null);
-    }
-            
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,88 @@
+package org.drools.eclipse.action;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.builder.DroolsBuilder;
+import org.drools.eclipse.wizard.project.NewDroolsProjectWizard;
+import org.eclipse.core.resources.ICommand;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+
+public class ConvertToDroolsProjectAction implements IObjectActionDelegate {
+
+    private IJavaProject project;
+    
+	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+	}
+
+	public void run(IAction action) {
+		if (project != null && project.exists()) {
+			try {
+				addDroolsBuilder(project, null);
+				addDroolsLibraries(project, null);
+			} catch (Throwable t) {
+				DroolsEclipsePlugin.log(t);
+			}
+		}
+
+	}
+
+	public void selectionChanged(IAction action, ISelection selection) {
+		if (selection instanceof IStructuredSelection) {
+			IStructuredSelection structured = (IStructuredSelection) selection;
+			if (structured.size() == 1) {
+				Object element = structured.getFirstElement();
+				if (element instanceof IJavaProject) {
+					project = (IJavaProject) element;
+				} else if (element instanceof IProject) {
+					IJavaProject javaProject = JavaCore.create((IProject) element);
+					if (javaProject != null && javaProject.exists()) {
+						project = javaProject;
+					}
+				}
+			}
+		}
+	}
+	
+    public static void addDroolsBuilder(IJavaProject project, IProgressMonitor monitor) throws CoreException {
+        IProjectDescription description = project.getProject().getDescription();
+        // check whether Drools builder is already part of the project
+        ICommand[] commands = description.getBuildSpec();
+        for (int i = 0; i < commands.length; i++) {
+        	if (DroolsBuilder.BUILDER_ID.equals(commands[i].getBuilderName())) {
+        		return;
+        	}
+        }
+        // add Drools builder
+        ICommand[] newCommands = new ICommand[commands.length + 1];
+        System.arraycopy(commands, 0, newCommands, 0, commands.length);
+
+        ICommand droolsCommand = description.newCommand();
+        droolsCommand.setBuilderName(DroolsBuilder.BUILDER_ID);
+        newCommands[commands.length] = droolsCommand;
+        
+        description.setBuildSpec(newCommands);
+        project.getProject().setDescription(description, monitor);
+    }
+    
+    public static void addDroolsLibraries(IJavaProject project, IProgressMonitor monitor) throws JavaModelException {
+    	IClasspathEntry[] classpathEntries = project.getRawClasspath();
+    	for (int i = 0; i < classpathEntries.length; i++) {
+    		if (NewDroolsProjectWizard.DROOLS_CLASSPATH_CONTAINER_PATH.equals(classpathEntries[i].getPath().toString())) {
+    			return;
+    		}
+    	}
+		NewDroolsProjectWizard.addDroolsLibraries(project, null);
+    }
+            
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.builder;
-
-public class DroolsBuildMarker {
-
-	private String text;
-	private int line = -1;
-	private int offset = -1;
-	private int length = -1;
-	
-	public DroolsBuildMarker(String text) {
-		this.text = text;
-	}
-	
-	public DroolsBuildMarker(String text, int line) {
-		this.text = text;
-		this.line = line;
-	}
-
-	public DroolsBuildMarker(String text, int offset, int length) {
-		this.text = text;
-		this.offset = offset;
-		this.length = length;
-	}
-
-	public int getLength() {
-		return length;
-	}
-
-	public int getLine() {
-		return line;
-	}
-
-	public int getOffset() {
-		return offset;
-	}
-
-	public String getText() {
-		return text;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.builder;
+
+public class DroolsBuildMarker {
+
+	private String text;
+	private int line = -1;
+	private int offset = -1;
+	private int length = -1;
+	
+	public DroolsBuildMarker(String text) {
+		this.text = text;
+	}
+	
+	public DroolsBuildMarker(String text, int line) {
+		this.text = text;
+		this.line = line;
+	}
+
+	public DroolsBuildMarker(String text, int offset, int length) {
+		this.text = text;
+		this.offset = offset;
+		this.length = length;
+	}
+
+	public int getLength() {
+		return length;
+	}
+
+	public int getLine() {
+		return line;
+	}
+
+	public int getOffset() {
+		return offset;
+	}
+
+	public String getText() {
+		return text;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,444 +0,0 @@
-package org.drools.eclipse.builder;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.antlr.runtime.RecognitionException;
-import org.drools.brms.client.modeldriven.brl.RuleModel;
-import org.drools.brms.server.util.BRDRLPersistence;
-import org.drools.brms.server.util.BRXMLPersistence;
-import org.drools.commons.jci.problems.CompilationProblem;
-import org.drools.compiler.DroolsError;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.FactTemplateError;
-import org.drools.compiler.FieldTemplateError;
-import org.drools.compiler.FunctionError;
-import org.drools.compiler.GlobalError;
-import org.drools.compiler.ImportError;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.ParserError;
-import org.drools.compiler.ProcessBuilder;
-import org.drools.compiler.RuleError;
-import org.drools.decisiontable.InputType;
-import org.drools.decisiontable.SpreadsheetCompiler;
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
-import org.drools.eclipse.preferences.IDroolsConstants;
-import org.drools.lang.ExpanderException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-
-import com.thoughtworks.xstream.XStream;
-
-/**
- * Automatically syntax checks .drl files and adds possible
- * errors or warnings to the problem list. Nominally is triggerd on save.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DroolsBuilder extends IncrementalProjectBuilder {
-
-    public static final String BUILDER_ID = "org.drools.eclipse.droolsbuilder";
-
-    protected IProject[] build(int kind, Map args, IProgressMonitor monitor)
-            throws CoreException {
-        IProject currentProject = getProject();
-        if (currentProject == null || !currentProject.isAccessible()) {
-            return new IProject[0];
-        }
-        try {
-            if (monitor != null && monitor.isCanceled())
-                throw new OperationCanceledException();
-
-            if (kind == IncrementalProjectBuilder.FULL_BUILD) {
-                fullBuild(monitor);
-            } else {
-                IResourceDelta delta = getDelta(getProject());
-                if (delta == null) {
-                    fullBuild(monitor);
-                } else {
-                    incrementalBuild(delta, monitor);
-                }
-            }
-        } catch (CoreException e) {
-            IMarker marker = currentProject.createMarker(IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER);
-            marker.setAttribute(IMarker.MESSAGE, "Error when trying to build Drools project: " + e.getLocalizedMessage());
-            marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
-        }
-        return getRequiredProjects(currentProject);
-    }
-    
-    protected void fullBuild(IProgressMonitor monitor)
-            throws CoreException {
-        getProject().accept(new DroolsBuildVisitor());
-    }
-    
-    protected void incrementalBuild(IResourceDelta delta,
-            IProgressMonitor monitor) throws CoreException {
-    	boolean buildAll = DroolsEclipsePlugin.getDefault().getPreferenceStore().getBoolean(IDroolsConstants.BUILD_ALL);
-        if (buildAll) {
-        	// to make sure that all rules are checked when a java file is changed 
-        	fullBuild(monitor);
-        } else {
-        	delta.accept(new DroolsBuildDeltaVisitor());
-        }
-    }
-
-    private class DroolsBuildVisitor implements IResourceVisitor {
-        public boolean visit(IResource res) {
-            return parseResource(res, true);
-        }
-    }
-
-    private class DroolsBuildDeltaVisitor implements IResourceDeltaVisitor {
-        public boolean visit(IResourceDelta delta) throws CoreException {
-            return parseResource(delta.getResource(), false);
-        }
-    }
-    
-    private boolean parseResource(IResource res, boolean clean) {
-        try {
-            IJavaProject project = JavaCore.create(res.getProject());
-            // exclude files that are located in the output directory,
-            // unless the ouput directory is the same as the project location
-            if (!project.getOutputLocation().equals(project.getPath())
-                    && project.getOutputLocation().isPrefixOf(res.getFullPath())) {
-                return false;
-            }
-        } catch (JavaModelException e) {
-            // do nothing
-        }
-
-        if (res instanceof IFile
-        		&& ("drl".equals(res.getFileExtension())
-    				|| "dslr".equals(res.getFileExtension())
-    				|| ".package".equals(res.getName()))) {
-            removeProblemsFor(res);
-            try {
-            	if (clean) {
-            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
-            	}
-            	DroolsBuildMarker[] markers = parseDRLFile((IFile) res, new String(Util.getResourceContentsAsCharArray((IFile) res)));
-		        for (int i = 0; i < markers.length; i++) {
-		        	createMarker(res, markers[i].getText(), markers[i].getLine());
-		        }
-            } catch (Throwable t) {
-            	createMarker(res, t.getMessage(), -1);
-            }
-            return false;
-        } else if (res instanceof IFile && "xls".equals(res.getFileExtension())) {
-            removeProblemsFor(res);
-            try {
-            	if (clean) {
-            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
-            	}
-            	DroolsBuildMarker[] markers = parseXLSFile((IFile) res);
-		        for (int i = 0; i < markers.length; i++) {
-		        	createMarker(res, markers[i].getText(), markers[i].getLine());
-		        }
-            } catch (Throwable t) {
-            	createMarker(res, t.getMessage(), -1);
-            }
-            return false;
-        } else if (res instanceof IFile && "brl".equals(res.getFileExtension())) {
-            removeProblemsFor(res);
-            try {
-            	if (clean) {
-            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
-            	}
-            	DroolsBuildMarker[] markers = parseBRLFile((IFile) res);
-		        for (int i = 0; i < markers.length; i++) {
-		        	createMarker(res, markers[i].getText(), markers[i].getLine());
-		        }
-            } catch (Throwable t) {
-            	createMarker(res, t.getMessage(), -1);
-            }
-            return false;
-        } else if (res instanceof IFile && "rf".equals(res.getFileExtension())) {
-            removeProblemsFor(res);
-            try {
-            	if (clean) {
-            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
-            	}
-            	DroolsBuildMarker[] markers = parseRuleFlowFile((IFile) res);
-		        for (int i = 0; i < markers.length; i++) {
-		        	createMarker(res, markers[i].getText(), markers[i].getLine());
-		        }
-            } catch (Throwable t) {
-            	createMarker(res, t.getMessage(), -1);
-            }
-            return false;
-        }
-
-        return true;
-    }
-    
-    private DroolsBuildMarker[] parseDRLFile(IFile file, String content) {
-    	List markers = new ArrayList();
-		try {
-            DRLInfo drlInfo =
-            	DroolsEclipsePlugin.getDefault().parseResource(file, true);
-            //parser errors
-            markParseErrors(markers, drlInfo.getParserErrors());  
-            markOtherErrors(markers, drlInfo.getBuilderErrors());
-        } catch (DroolsParserException e) {
-            // we have an error thrown from DrlParser
-            Throwable cause = e.getCause();
-            if (cause instanceof RecognitionException ) {
-                RecognitionException recogErr = (RecognitionException) cause;
-                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
-            }
-        } catch (Exception t) {
-        	String message = t.getMessage();
-            if (message == null || message.trim().equals("")) {
-                message = "Error: " + t.getClass().getName();
-            }
-            markers.add(new DroolsBuildMarker(message));
-        }
-        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
-    }
-
-    private DroolsBuildMarker[] parseXLSFile(IFile file) {
-    	List markers = new ArrayList();
-		try {
-			SpreadsheetCompiler converter = new SpreadsheetCompiler();
-	        String drl = converter.compile(file.getContents(), InputType.XLS);
-	        DRLInfo drlInfo =
-            	DroolsEclipsePlugin.getDefault().parseXLSResource(drl, file);
-            // parser errors
-            markParseErrors(markers, drlInfo.getParserErrors());  
-            markOtherErrors(markers, drlInfo.getBuilderErrors());
-        } catch (DroolsParserException e) {
-            // we have an error thrown from DrlParser
-            Throwable cause = e.getCause();
-            if (cause instanceof RecognitionException ) {
-                RecognitionException recogErr = (RecognitionException) cause;
-                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
-            }
-        } catch (Exception t) {
-        	String message = t.getMessage();
-            if (message == null || message.trim().equals( "" )) {
-                message = "Error: " + t.getClass().getName();
-            }
-            markers.add(new DroolsBuildMarker(message));
-        }
-        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
-    }
-
-    private DroolsBuildMarker[] parseBRLFile(IFile file) {
-    	List markers = new ArrayList();
-		try {
-			String brl = convertToString(file.getContents());
-			RuleModel model = BRXMLPersistence.getInstance().unmarshal(brl);
-			String drl = BRDRLPersistence.getInstance().marshal(model);
-			
-			// TODO pass this through DSL converter in case brl is based on dsl
-			
-	        DRLInfo drlInfo =
-            	DroolsEclipsePlugin.getDefault().parseBRLResource(drl, file);
-            // parser errors
-            markParseErrors(markers, drlInfo.getParserErrors());  
-            markOtherErrors(markers, drlInfo.getBuilderErrors());
-        } catch (DroolsParserException e) {
-            // we have an error thrown from DrlParser
-            Throwable cause = e.getCause();
-            if (cause instanceof RecognitionException ) {
-                RecognitionException recogErr = (RecognitionException) cause;
-                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
-            }
-        } catch (Exception t) {
-        	String message = t.getMessage();
-            if (message == null || message.trim().equals( "" )) {
-                message = "Error: " + t.getClass().getName();
-            }
-            markers.add(new DroolsBuildMarker(message));
-        }
-        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
-    }
-    
-    private DroolsBuildMarker[] parseRuleFlowFile(IFile file) {
-    	List markers = new ArrayList();
-		try {
-			String ruleflow = convertToString(file.getContents());
-			XStream stream = new XStream();
-	        stream.setMode(XStream.ID_REFERENCES);
-	        
-	        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
-	        ClassLoader newLoader = this.getClass().getClassLoader();
-	        try {
-	            Thread.currentThread().setContextClassLoader(newLoader);
-	            Object o = stream.fromXML(ruleflow);
-	            if (o instanceof RuleFlowProcessWrapper) {
-	            	ProcessBuilder processBuilder = new ProcessBuilder(new PackageBuilder());
-	            	processBuilder.addProcess(((RuleFlowProcessWrapper) o).getRuleFlowProcess());
-	            	markParseErrors(markers, processBuilder.getErrors());
-	            }
-	        } finally {
-	            Thread.currentThread().setContextClassLoader(oldLoader);
-	        }			
-        } catch (Exception t) {
-        	String message = t.getMessage();
-            if (message == null || message.trim().equals( "" )) {
-                message = "Error: " + t.getClass().getName();
-            }
-            markers.add(new DroolsBuildMarker(message));
-        }
-        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
-    }
-    
-    private static String convertToString(final InputStream inputStream) throws IOException {
-    	Reader reader = new InputStreamReader(inputStream);
-    	final StringBuffer text = new StringBuffer();
-        final char[] buf = new char[1024];
-        int len = 0;
-        while ((len = reader.read(buf)) >= 0) {
-            text.append(buf, 0, len);
-        }
-        return text.toString();
-    }
-
-    /**
-     * This will create markers for parse errors.
-     * Parse errors mean that antlr has picked up some major typos in the input source.
-     */
-    private void markParseErrors(List markers, List parserErrors) {
-        for ( Iterator iter = parserErrors.iterator(); iter.hasNext(); ) {
-        	Object error = iter.next();
-        	if (error instanceof ParserError) {
-        		ParserError err = (ParserError) error;
-        		markers.add(new DroolsBuildMarker(err.getMessage(), err.getRow()));
-        	} else if (error instanceof ExpanderException) {
-        		ExpanderException exc = (ExpanderException) error;
-        		// TODO line mapping is incorrect
-        		markers.add(new DroolsBuildMarker(exc.getMessage(), -1));
-        	} else {
-        		markers.add(new DroolsBuildMarker(error.toString()));
-        	}
-        }
-    }
-
-    /**
-     * This will create markers for build errors that happen AFTER parsing.
-     */
-    private void markOtherErrors(List markers,
-                                        DroolsError[] buildErrors) {
-        // TODO are there warnings too?
-        for (int i = 0; i < buildErrors.length; i++ ) {
-        	DroolsError error = buildErrors[i];
-        	if (error instanceof GlobalError) {
-        		GlobalError globalError = (GlobalError) error;
-        		markers.add(new DroolsBuildMarker(globalError.getGlobal(), -1));
-        	} else if (error instanceof RuleError) {
-        		RuleError ruleError = (RuleError) error;
-        		// TODO try to retrieve line number (or even character start-end)
-        		// disabled for now because line number are those of the rule class,
-        		// not the rule file itself
-        		if (ruleError.getObject() instanceof CompilationProblem[]) {
-        			CompilationProblem[] problems = (CompilationProblem[]) ruleError.getObject();
-        			for (int j = 0; j < problems.length; j++) {
-        				markers.add(new DroolsBuildMarker(problems[j].getMessage(), ruleError.getLine()));
-        			}
-        		} else {
-        			markers.add(new DroolsBuildMarker(ruleError.getRule().getName() + ":" + ruleError.getMessage(), ruleError.getLine()));
-        		}
-        	} else if (error instanceof ParserError) {
-        		ParserError parserError = (ParserError) error;
-        		// TODO try to retrieve character start-end
-        		markers.add(new DroolsBuildMarker(parserError.getMessage(), parserError.getRow()));
-        	} else if (error instanceof FunctionError) {
-        		FunctionError functionError = (FunctionError) error;
-        		// TODO add line to function error
-        		// TODO try to retrieve character start-end
-        		if (functionError.getObject() instanceof CompilationProblem[]) {
-        			CompilationProblem[] problems = (CompilationProblem[]) functionError.getObject();
-        			for (int j = 0; j < problems.length; j++) {
-        				markers.add(new DroolsBuildMarker(problems[j].getMessage(), functionError.getErrorLines()[j]));
-        			}
-        		} else {
-        			markers.add(new DroolsBuildMarker(functionError.getFunctionDescr().getName() + ":" + functionError.getMessage(), -1));
-        		}
-        	} else if (error instanceof FieldTemplateError) {
-        		markers.add(new DroolsBuildMarker(error.getMessage(), ((FieldTemplateError) error).getLine()));
-        	} else if (error instanceof FactTemplateError) {
-        		markers.add(new DroolsBuildMarker(error.getMessage(), ((FactTemplateError) error).getLine()));
-        	} else if (error instanceof ImportError) {
-        		markers.add(new DroolsBuildMarker("ImportError: " + error.getMessage()));
-        	} else {
-        		markers.add(new DroolsBuildMarker("Unknown DroolsError " + error.getClass() + ": " + error));
-        	}
-        }
-    }
-
-    private void createMarker(final IResource res, final String message, final int lineNumber) {
-        try {
-        	IWorkspaceRunnable r= new IWorkspaceRunnable() {
-        		public void run(IProgressMonitor monitor) throws CoreException {
-            		IMarker marker = res
-                    	.createMarker(IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER);
-		            marker.setAttribute(IMarker.MESSAGE, message);
-		            marker.setAttribute(IMarker.SEVERITY,
-		                    IMarker.SEVERITY_ERROR);
-		            marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
-	    		}
-			};
-			res.getWorkspace().run(r, null, IWorkspace.AVOID_UPDATE, null);
-        } catch (CoreException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-    }
-    
-    private void removeProblemsFor(IResource resource) {
-        try {
-            if (resource != null && resource.exists()) {
-                resource.deleteMarkers(
-                        IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER, false,
-                        IResource.DEPTH_INFINITE);
-            }
-        } catch (CoreException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-    }
-    
-    private IProject[] getRequiredProjects(IProject project) {
-    	IJavaProject javaProject = JavaCore.create(project);
-    	List projects = new ArrayList();
-    	try {
-    		IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
-    		for (int i = 0, l = entries.length; i < l; i++) {
-    			IClasspathEntry entry = entries[i];
-    			if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
-					IProject p = project.getWorkspace().getRoot().getProject(entry.getPath().lastSegment()); // missing projects are considered too
-	    			if (p != null && !projects.contains(p)) {
-	    				projects.add(p);
-	    			}
-    			}
-    		}
-    	} catch(JavaModelException e) {
-    		return new IProject[0];
-    	}
-    	return (IProject[]) projects.toArray(new IProject[projects.size()]);
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,444 @@
+package org.drools.eclipse.builder;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.antlr.runtime.RecognitionException;
+import org.drools.brms.client.modeldriven.brl.RuleModel;
+import org.drools.brms.server.util.BRDRLPersistence;
+import org.drools.brms.server.util.BRXMLPersistence;
+import org.drools.commons.jci.problems.CompilationProblem;
+import org.drools.compiler.DroolsError;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.FactTemplateError;
+import org.drools.compiler.FieldTemplateError;
+import org.drools.compiler.FunctionError;
+import org.drools.compiler.GlobalError;
+import org.drools.compiler.ImportError;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.ParserError;
+import org.drools.compiler.ProcessBuilder;
+import org.drools.compiler.RuleError;
+import org.drools.decisiontable.InputType;
+import org.drools.decisiontable.SpreadsheetCompiler;
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
+import org.drools.eclipse.preferences.IDroolsConstants;
+import org.drools.lang.ExpanderException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ * Automatically syntax checks .drl files and adds possible
+ * errors or warnings to the problem list. Nominally is triggerd on save.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DroolsBuilder extends IncrementalProjectBuilder {
+
+    public static final String BUILDER_ID = "org.drools.eclipse.droolsbuilder";
+
+    protected IProject[] build(int kind, Map args, IProgressMonitor monitor)
+            throws CoreException {
+        IProject currentProject = getProject();
+        if (currentProject == null || !currentProject.isAccessible()) {
+            return new IProject[0];
+        }
+        try {
+            if (monitor != null && monitor.isCanceled())
+                throw new OperationCanceledException();
+
+            if (kind == IncrementalProjectBuilder.FULL_BUILD) {
+                fullBuild(monitor);
+            } else {
+                IResourceDelta delta = getDelta(getProject());
+                if (delta == null) {
+                    fullBuild(monitor);
+                } else {
+                    incrementalBuild(delta, monitor);
+                }
+            }
+        } catch (CoreException e) {
+            IMarker marker = currentProject.createMarker(IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER);
+            marker.setAttribute(IMarker.MESSAGE, "Error when trying to build Drools project: " + e.getLocalizedMessage());
+            marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
+        }
+        return getRequiredProjects(currentProject);
+    }
+    
+    protected void fullBuild(IProgressMonitor monitor)
+            throws CoreException {
+        getProject().accept(new DroolsBuildVisitor());
+    }
+    
+    protected void incrementalBuild(IResourceDelta delta,
+            IProgressMonitor monitor) throws CoreException {
+    	boolean buildAll = DroolsEclipsePlugin.getDefault().getPreferenceStore().getBoolean(IDroolsConstants.BUILD_ALL);
+        if (buildAll) {
+        	// to make sure that all rules are checked when a java file is changed 
+        	fullBuild(monitor);
+        } else {
+        	delta.accept(new DroolsBuildDeltaVisitor());
+        }
+    }
+
+    private class DroolsBuildVisitor implements IResourceVisitor {
+        public boolean visit(IResource res) {
+            return parseResource(res, true);
+        }
+    }
+
+    private class DroolsBuildDeltaVisitor implements IResourceDeltaVisitor {
+        public boolean visit(IResourceDelta delta) throws CoreException {
+            return parseResource(delta.getResource(), false);
+        }
+    }
+    
+    private boolean parseResource(IResource res, boolean clean) {
+        try {
+            IJavaProject project = JavaCore.create(res.getProject());
+            // exclude files that are located in the output directory,
+            // unless the ouput directory is the same as the project location
+            if (!project.getOutputLocation().equals(project.getPath())
+                    && project.getOutputLocation().isPrefixOf(res.getFullPath())) {
+                return false;
+            }
+        } catch (JavaModelException e) {
+            // do nothing
+        }
+
+        if (res instanceof IFile
+        		&& ("drl".equals(res.getFileExtension())
+    				|| "dslr".equals(res.getFileExtension())
+    				|| ".package".equals(res.getName()))) {
+            removeProblemsFor(res);
+            try {
+            	if (clean) {
+            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
+            	}
+            	DroolsBuildMarker[] markers = parseDRLFile((IFile) res, new String(Util.getResourceContentsAsCharArray((IFile) res)));
+		        for (int i = 0; i < markers.length; i++) {
+		        	createMarker(res, markers[i].getText(), markers[i].getLine());
+		        }
+            } catch (Throwable t) {
+            	createMarker(res, t.getMessage(), -1);
+            }
+            return false;
+        } else if (res instanceof IFile && "xls".equals(res.getFileExtension())) {
+            removeProblemsFor(res);
+            try {
+            	if (clean) {
+            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
+            	}
+            	DroolsBuildMarker[] markers = parseXLSFile((IFile) res);
+		        for (int i = 0; i < markers.length; i++) {
+		        	createMarker(res, markers[i].getText(), markers[i].getLine());
+		        }
+            } catch (Throwable t) {
+            	createMarker(res, t.getMessage(), -1);
+            }
+            return false;
+        } else if (res instanceof IFile && "brl".equals(res.getFileExtension())) {
+            removeProblemsFor(res);
+            try {
+            	if (clean) {
+            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
+            	}
+            	DroolsBuildMarker[] markers = parseBRLFile((IFile) res);
+		        for (int i = 0; i < markers.length; i++) {
+		        	createMarker(res, markers[i].getText(), markers[i].getLine());
+		        }
+            } catch (Throwable t) {
+            	createMarker(res, t.getMessage(), -1);
+            }
+            return false;
+        } else if (res instanceof IFile && "rf".equals(res.getFileExtension())) {
+            removeProblemsFor(res);
+            try {
+            	if (clean) {
+            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
+            	}
+            	DroolsBuildMarker[] markers = parseRuleFlowFile((IFile) res);
+		        for (int i = 0; i < markers.length; i++) {
+		        	createMarker(res, markers[i].getText(), markers[i].getLine());
+		        }
+            } catch (Throwable t) {
+            	createMarker(res, t.getMessage(), -1);
+            }
+            return false;
+        }
+
+        return true;
+    }
+    
+    private DroolsBuildMarker[] parseDRLFile(IFile file, String content) {
+    	List markers = new ArrayList();
+		try {
+            DRLInfo drlInfo =
+            	DroolsEclipsePlugin.getDefault().parseResource(file, true);
+            //parser errors
+            markParseErrors(markers, drlInfo.getParserErrors());  
+            markOtherErrors(markers, drlInfo.getBuilderErrors());
+        } catch (DroolsParserException e) {
+            // we have an error thrown from DrlParser
+            Throwable cause = e.getCause();
+            if (cause instanceof RecognitionException ) {
+                RecognitionException recogErr = (RecognitionException) cause;
+                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
+            }
+        } catch (Exception t) {
+        	String message = t.getMessage();
+            if (message == null || message.trim().equals("")) {
+                message = "Error: " + t.getClass().getName();
+            }
+            markers.add(new DroolsBuildMarker(message));
+        }
+        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
+    }
+
+    private DroolsBuildMarker[] parseXLSFile(IFile file) {
+    	List markers = new ArrayList();
+		try {
+			SpreadsheetCompiler converter = new SpreadsheetCompiler();
+	        String drl = converter.compile(file.getContents(), InputType.XLS);
+	        DRLInfo drlInfo =
+            	DroolsEclipsePlugin.getDefault().parseXLSResource(drl, file);
+            // parser errors
+            markParseErrors(markers, drlInfo.getParserErrors());  
+            markOtherErrors(markers, drlInfo.getBuilderErrors());
+        } catch (DroolsParserException e) {
+            // we have an error thrown from DrlParser
+            Throwable cause = e.getCause();
+            if (cause instanceof RecognitionException ) {
+                RecognitionException recogErr = (RecognitionException) cause;
+                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
+            }
+        } catch (Exception t) {
+        	String message = t.getMessage();
+            if (message == null || message.trim().equals( "" )) {
+                message = "Error: " + t.getClass().getName();
+            }
+            markers.add(new DroolsBuildMarker(message));
+        }
+        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
+    }
+
+    private DroolsBuildMarker[] parseBRLFile(IFile file) {
+    	List markers = new ArrayList();
+		try {
+			String brl = convertToString(file.getContents());
+			RuleModel model = BRXMLPersistence.getInstance().unmarshal(brl);
+			String drl = BRDRLPersistence.getInstance().marshal(model);
+			
+			// TODO pass this through DSL converter in case brl is based on dsl
+			
+	        DRLInfo drlInfo =
+            	DroolsEclipsePlugin.getDefault().parseBRLResource(drl, file);
+            // parser errors
+            markParseErrors(markers, drlInfo.getParserErrors());  
+            markOtherErrors(markers, drlInfo.getBuilderErrors());
+        } catch (DroolsParserException e) {
+            // we have an error thrown from DrlParser
+            Throwable cause = e.getCause();
+            if (cause instanceof RecognitionException ) {
+                RecognitionException recogErr = (RecognitionException) cause;
+                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
+            }
+        } catch (Exception t) {
+        	String message = t.getMessage();
+            if (message == null || message.trim().equals( "" )) {
+                message = "Error: " + t.getClass().getName();
+            }
+            markers.add(new DroolsBuildMarker(message));
+        }
+        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
+    }
+    
+    private DroolsBuildMarker[] parseRuleFlowFile(IFile file) {
+    	List markers = new ArrayList();
+		try {
+			String ruleflow = convertToString(file.getContents());
+			XStream stream = new XStream();
+	        stream.setMode(XStream.ID_REFERENCES);
+	        
+	        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+	        ClassLoader newLoader = this.getClass().getClassLoader();
+	        try {
+	            Thread.currentThread().setContextClassLoader(newLoader);
+	            Object o = stream.fromXML(ruleflow);
+	            if (o instanceof RuleFlowProcessWrapper) {
+	            	ProcessBuilder processBuilder = new ProcessBuilder(new PackageBuilder());
+	            	processBuilder.addProcess(((RuleFlowProcessWrapper) o).getRuleFlowProcess());
+	            	markParseErrors(markers, processBuilder.getErrors());
+	            }
+	        } finally {
+	            Thread.currentThread().setContextClassLoader(oldLoader);
+	        }			
+        } catch (Exception t) {
+        	String message = t.getMessage();
+            if (message == null || message.trim().equals( "" )) {
+                message = "Error: " + t.getClass().getName();
+            }
+            markers.add(new DroolsBuildMarker(message));
+        }
+        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
+    }
+    
+    private static String convertToString(final InputStream inputStream) throws IOException {
+    	Reader reader = new InputStreamReader(inputStream);
+    	final StringBuffer text = new StringBuffer();
+        final char[] buf = new char[1024];
+        int len = 0;
+        while ((len = reader.read(buf)) >= 0) {
+            text.append(buf, 0, len);
+        }
+        return text.toString();
+    }
+
+    /**
+     * This will create markers for parse errors.
+     * Parse errors mean that antlr has picked up some major typos in the input source.
+     */
+    private void markParseErrors(List markers, List parserErrors) {
+        for ( Iterator iter = parserErrors.iterator(); iter.hasNext(); ) {
+        	Object error = iter.next();
+        	if (error instanceof ParserError) {
+        		ParserError err = (ParserError) error;
+        		markers.add(new DroolsBuildMarker(err.getMessage(), err.getRow()));
+        	} else if (error instanceof ExpanderException) {
+        		ExpanderException exc = (ExpanderException) error;
+        		// TODO line mapping is incorrect
+        		markers.add(new DroolsBuildMarker(exc.getMessage(), -1));
+        	} else {
+        		markers.add(new DroolsBuildMarker(error.toString()));
+        	}
+        }
+    }
+
+    /**
+     * This will create markers for build errors that happen AFTER parsing.
+     */
+    private void markOtherErrors(List markers,
+                                        DroolsError[] buildErrors) {
+        // TODO are there warnings too?
+        for (int i = 0; i < buildErrors.length; i++ ) {
+        	DroolsError error = buildErrors[i];
+        	if (error instanceof GlobalError) {
+        		GlobalError globalError = (GlobalError) error;
+        		markers.add(new DroolsBuildMarker(globalError.getGlobal(), -1));
+        	} else if (error instanceof RuleError) {
+        		RuleError ruleError = (RuleError) error;
+        		// TODO try to retrieve line number (or even character start-end)
+        		// disabled for now because line number are those of the rule class,
+        		// not the rule file itself
+        		if (ruleError.getObject() instanceof CompilationProblem[]) {
+        			CompilationProblem[] problems = (CompilationProblem[]) ruleError.getObject();
+        			for (int j = 0; j < problems.length; j++) {
+        				markers.add(new DroolsBuildMarker(problems[j].getMessage(), ruleError.getLine()));
+        			}
+        		} else {
+        			markers.add(new DroolsBuildMarker(ruleError.getRule().getName() + ":" + ruleError.getMessage(), ruleError.getLine()));
+        		}
+        	} else if (error instanceof ParserError) {
+        		ParserError parserError = (ParserError) error;
+        		// TODO try to retrieve character start-end
+        		markers.add(new DroolsBuildMarker(parserError.getMessage(), parserError.getRow()));
+        	} else if (error instanceof FunctionError) {
+        		FunctionError functionError = (FunctionError) error;
+        		// TODO add line to function error
+        		// TODO try to retrieve character start-end
+        		if (functionError.getObject() instanceof CompilationProblem[]) {
+        			CompilationProblem[] problems = (CompilationProblem[]) functionError.getObject();
+        			for (int j = 0; j < problems.length; j++) {
+        				markers.add(new DroolsBuildMarker(problems[j].getMessage(), functionError.getErrorLines()[j]));
+        			}
+        		} else {
+        			markers.add(new DroolsBuildMarker(functionError.getFunctionDescr().getName() + ":" + functionError.getMessage(), -1));
+        		}
+        	} else if (error instanceof FieldTemplateError) {
+        		markers.add(new DroolsBuildMarker(error.getMessage(), ((FieldTemplateError) error).getLine()));
+        	} else if (error instanceof FactTemplateError) {
+        		markers.add(new DroolsBuildMarker(error.getMessage(), ((FactTemplateError) error).getLine()));
+        	} else if (error instanceof ImportError) {
+        		markers.add(new DroolsBuildMarker("ImportError: " + error.getMessage()));
+        	} else {
+        		markers.add(new DroolsBuildMarker("Unknown DroolsError " + error.getClass() + ": " + error));
+        	}
+        }
+    }
+
+    private void createMarker(final IResource res, final String message, final int lineNumber) {
+        try {
+        	IWorkspaceRunnable r= new IWorkspaceRunnable() {
+        		public void run(IProgressMonitor monitor) throws CoreException {
+            		IMarker marker = res
+                    	.createMarker(IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER);
+		            marker.setAttribute(IMarker.MESSAGE, message);
+		            marker.setAttribute(IMarker.SEVERITY,
+		                    IMarker.SEVERITY_ERROR);
+		            marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
+	    		}
+			};
+			res.getWorkspace().run(r, null, IWorkspace.AVOID_UPDATE, null);
+        } catch (CoreException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+    }
+    
+    private void removeProblemsFor(IResource resource) {
+        try {
+            if (resource != null && resource.exists()) {
+                resource.deleteMarkers(
+                        IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER, false,
+                        IResource.DEPTH_INFINITE);
+            }
+        } catch (CoreException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+    }
+    
+    private IProject[] getRequiredProjects(IProject project) {
+    	IJavaProject javaProject = JavaCore.create(project);
+    	List projects = new ArrayList();
+    	try {
+    		IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
+    		for (int i = 0, l = entries.length; i < l; i++) {
+    			IClasspathEntry entry = entries[i];
+    			if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
+					IProject p = project.getWorkspace().getRoot().getProject(entry.getPath().lastSegment()); // missing projects are considered too
+	    			if (p != null && !projects.contains(p)) {
+	    				projects.add(p);
+	    			}
+    			}
+    		}
+    	} catch(JavaModelException e) {
+    		return new IProject[0];
+    	}
+    	return (IProject[]) projects.toArray(new IProject[projects.size()]);
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,15 +0,0 @@
-package org.drools.eclipse.builder;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-
-/**
- * The drools problem marker id.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public interface IDroolsModelMarker {
-
-    public static final String DROOLS_MODEL_PROBLEM_MARKER = DroolsEclipsePlugin.PLUGIN_ID
-            + ".problem";
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,15 @@
+package org.drools.eclipse.builder;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+
+/**
+ * The drools problem marker id.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public interface IDroolsModelMarker {
+
+    public static final String DROOLS_MODEL_PROBLEM_MARKER = DroolsEclipsePlugin.PLUGIN_ID
+            + ".problem";
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,108 +0,0 @@
-package org.drools.eclipse.builder;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * Utility class.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Util {
-
-    public static final char[] NO_CHAR = new char[0];
-    private static final int DEFAULT_READING_SIZE = 8192;
-    
-    public static char[] getResourceContentsAsCharArray(IFile file) throws CoreException {
-        String encoding = null;
-        try {
-            encoding = file.getCharset();
-        }
-        catch(CoreException ce) {
-            // do not use any encoding
-        }
-        
-        InputStream stream= null;
-        stream = new BufferedInputStream(file.getContents(true));
-        try {
-            return getInputStreamAsCharArray(stream, -1, encoding);
-        } catch (IOException e) {
-            throw new CoreException(new Status(IStatus.ERROR, DroolsEclipsePlugin.PLUGIN_ID, IStatus.ERROR, "IOException", e));
-        } finally {
-            try {
-                stream.close();
-            } catch (IOException e) {
-                // ignore
-            }
-        }
-    }
-
-    private static char[] getInputStreamAsCharArray(InputStream stream,
-            int length, String encoding) throws IOException {
-        InputStreamReader reader = null;
-        reader = encoding == null ? new InputStreamReader(stream)
-                : new InputStreamReader(stream, encoding);
-        char[] contents;
-        if (length == -1) {
-            contents = NO_CHAR;
-            int contentsLength = 0;
-            int amountRead = -1;
-            do {
-                int amountRequested = Math.max(stream.available(),
-                        DEFAULT_READING_SIZE);
-                if (contentsLength + amountRequested > contents.length) {
-                    System.arraycopy(contents, 0,
-                            contents = new char[contentsLength
-                                    + amountRequested], 0, contentsLength);
-                }
-                amountRead = reader.read(contents, contentsLength,
-                        amountRequested);
-
-                if (amountRead > 0) {
-                    contentsLength += amountRead;
-                }
-            } while (amountRead != -1);
-
-            int start = 0;
-            if (contentsLength > 0 && "UTF-8".equals(encoding)) {
-                if (contents[0] == 0xFEFF) {
-                    contentsLength--;
-                    start = 1;
-                }
-            }
-            if (contentsLength < contents.length) {
-                System.arraycopy(contents, start,
-                        contents = new char[contentsLength], 0, contentsLength);
-            }
-        } else {
-            contents = new char[length];
-            int len = 0;
-            int readSize = 0;
-            while ((readSize != -1) && (len != length)) {
-                len += readSize;
-                readSize = reader.read(contents, len, length - len);
-            }
-            int start = 0;
-            if (length > 0 && "UTF-8".equals(encoding)) {
-                if (contents[0] == 0xFEFF) {
-                    len--;
-                    start = 1;
-                }
-            }
-            if (len != length)
-                System.arraycopy(contents, start, (contents = new char[len]),
-                        0, len);
-        }
-
-        return contents;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,108 @@
+package org.drools.eclipse.builder;
+
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+
+/**
+ * Utility class.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Util {
+
+    public static final char[] NO_CHAR = new char[0];
+    private static final int DEFAULT_READING_SIZE = 8192;
+    
+    public static char[] getResourceContentsAsCharArray(IFile file) throws CoreException {
+        String encoding = null;
+        try {
+            encoding = file.getCharset();
+        }
+        catch(CoreException ce) {
+            // do not use any encoding
+        }
+        
+        InputStream stream= null;
+        stream = new BufferedInputStream(file.getContents(true));
+        try {
+            return getInputStreamAsCharArray(stream, -1, encoding);
+        } catch (IOException e) {
+            throw new CoreException(new Status(IStatus.ERROR, DroolsEclipsePlugin.PLUGIN_ID, IStatus.ERROR, "IOException", e));
+        } finally {
+            try {
+                stream.close();
+            } catch (IOException e) {
+                // ignore
+            }
+        }
+    }
+
+    private static char[] getInputStreamAsCharArray(InputStream stream,
+            int length, String encoding) throws IOException {
+        InputStreamReader reader = null;
+        reader = encoding == null ? new InputStreamReader(stream)
+                : new InputStreamReader(stream, encoding);
+        char[] contents;
+        if (length == -1) {
+            contents = NO_CHAR;
+            int contentsLength = 0;
+            int amountRead = -1;
+            do {
+                int amountRequested = Math.max(stream.available(),
+                        DEFAULT_READING_SIZE);
+                if (contentsLength + amountRequested > contents.length) {
+                    System.arraycopy(contents, 0,
+                            contents = new char[contentsLength
+                                    + amountRequested], 0, contentsLength);
+                }
+                amountRead = reader.read(contents, contentsLength,
+                        amountRequested);
+
+                if (amountRead > 0) {
+                    contentsLength += amountRead;
+                }
+            } while (amountRead != -1);
+
+            int start = 0;
+            if (contentsLength > 0 && "UTF-8".equals(encoding)) {
+                if (contents[0] == 0xFEFF) {
+                    contentsLength--;
+                    start = 1;
+                }
+            }
+            if (contentsLength < contents.length) {
+                System.arraycopy(contents, start,
+                        contents = new char[contentsLength], 0, contentsLength);
+            }
+        } else {
+            contents = new char[length];
+            int len = 0;
+            int readSize = 0;
+            while ((readSize != -1) && (len != length)) {
+                len += readSize;
+                readSize = reader.read(contents, len, length - len);
+            }
+            int start = 0;
+            if (length > 0 && "UTF-8".equals(encoding)) {
+                if (contents[0] == 0xFEFF) {
+                    len--;
+                    start = 1;
+                }
+            }
+            if (len != length)
+                System.arraycopy(contents, start, (contents = new char[len]),
+                        0, len);
+        }
+
+        return contents;
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,66 +0,0 @@
-package org.drools.eclipse.core;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * This represents a drools model element.  It is linked to its direct
- * parents and its children. If relevant, Drools model elements refer
- * to the file they are defined in and the offset and length of that
- * element in the file. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public abstract class DroolsElement {
-
-	public static final int RULESET = 0;
-	public static final int PACKAGE = 1;
-	public static final int RULE = 2;
-	public static final int QUERY = 3;
-	public static final int FUNCTION = 4;
-	public static final int TEMPLATE = 5;
-	public static final int EXPANDER = 6;
-	public static final int GLOBAL = 7;
-	public static final int IMPORT = 8;
-	public static final int RULE_ATTRIBUTE = 9;
-	
-	protected static final DroolsElement[] NO_ELEMENTS = new DroolsElement[0];
-	
-	private DroolsElement parent;
-	private IFile file;
-	private int offset;
-	private int length;
-	
-	protected DroolsElement(DroolsElement parent) {
-		this.parent = parent;
-	}
-	
-	public abstract int getType();
-	
-	public DroolsElement getParent() {
-		return parent;
-	}
-	
-	public abstract DroolsElement[] getChildren();
-
-	public IFile getFile() {
-		return file;
-	}
-	
-	public int getOffset() {
-		return offset;
-	}
-
-	public int getLength() {
-		return length;
-	}
-
-	// These are helper methods for creating the model and should not
-	// be used directly.  Use DroolsModelBuilder instead.
-
-	void setFile(IFile file, int offset, int length) {
-		this.file = file;
-		this.offset = offset;
-		this.length = length;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,66 @@
+package org.drools.eclipse.core;
+
+import org.eclipse.core.resources.IFile;
+
+/**
+ * This represents a drools model element.  It is linked to its direct
+ * parents and its children. If relevant, Drools model elements refer
+ * to the file they are defined in and the offset and length of that
+ * element in the file. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public abstract class DroolsElement {
+
+	public static final int RULESET = 0;
+	public static final int PACKAGE = 1;
+	public static final int RULE = 2;
+	public static final int QUERY = 3;
+	public static final int FUNCTION = 4;
+	public static final int TEMPLATE = 5;
+	public static final int EXPANDER = 6;
+	public static final int GLOBAL = 7;
+	public static final int IMPORT = 8;
+	public static final int RULE_ATTRIBUTE = 9;
+	
+	protected static final DroolsElement[] NO_ELEMENTS = new DroolsElement[0];
+	
+	private DroolsElement parent;
+	private IFile file;
+	private int offset;
+	private int length;
+	
+	protected DroolsElement(DroolsElement parent) {
+		this.parent = parent;
+	}
+	
+	public abstract int getType();
+	
+	public DroolsElement getParent() {
+		return parent;
+	}
+	
+	public abstract DroolsElement[] getChildren();
+
+	public IFile getFile() {
+		return file;
+	}
+	
+	public int getOffset() {
+		return offset;
+	}
+
+	public int getLength() {
+		return length;
+	}
+
+	// These are helper methods for creating the model and should not
+	// be used directly.  Use DroolsModelBuilder instead.
+
+	void setFile(IFile file, int offset, int length) {
+		this.file = file;
+		this.offset = offset;
+		this.length = length;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,174 +0,0 @@
-package org.drools.eclipse.core;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-
-public class DroolsModelBuilder {
-	
-	public static RuleSet createRuleSet() {
-		return new RuleSet();
-	}
-
-	public static Package createPackage(String packageName, int offset, int length) {
-		Package pkg = new Package(null, packageName);
-		pkg.setFile(null, offset, length);
-		return pkg;
-	}
-	
-	public static Package addPackage(RuleSet ruleSet, String packageName, int offset, int length) {
-		Package pkg = new Package(ruleSet, packageName);
-		pkg.setFile(null, offset, length);
-		ruleSet.addPackage(pkg);
-		return pkg;
-	}
-	
-	public static void removePackage(Package pkg) {
-		RuleSet ruleSet = pkg.getParentRuleSet();
-		if (ruleSet != null) {
-			ruleSet.removePackage(pkg.getPackageName());
-		}
-	}
-	
-	public static void clearRuleSet(RuleSet ruleSet) {
-		ruleSet.clear();
-	}
-	
-	public static Rule addRule(Package pkg, String ruleName, IFile file, int offset, int length, Map attributes) {
-		Rule rule = new Rule(pkg, ruleName);
-		rule.setFile(file, offset, length);
-		if (attributes != null) {
-			for (Iterator iterator = attributes.entrySet().iterator(); iterator.hasNext();) {
-				Map.Entry entry = (Map.Entry) iterator.next();
-				RuleAttribute attribute = new RuleAttribute(rule, (String) entry.getKey(), entry.getValue());
-				attribute.setFile(file, offset, length);
-				rule.addAttribute(attribute);
-			}
-		}
-		pkg.addRule(rule);
-		return rule;
-	}
-	
-	public static void removeRule(Rule rule) {
-		Package pkg = rule.getParentPackage();
-		if (pkg != null) {
-			pkg.removeRule(rule);
-			if (pkg.getChildren().length == 0) {
-				removePackage(pkg);
-			}
-		}
-	}
-
-	public static Function addFunction(Package pkg, String functionName, IFile file, int offset, int length) {
-		Function function = new Function(pkg, functionName);
-		function.setFile(file, offset, length);
-		pkg.addFunction(function);
-		return function;
-	}
-
-	public static void removeFunction(Function function) {
-		Package pkg = function.getParentPackage();
-		if (pkg != null) {
-			pkg.removeFunction(function);
-		}
-	}
-
-	public static void addExpander(Package pkg, String expanderName, IFile file, int offset, int length) {
-		Expander expander = new Expander(pkg, expanderName);
-		expander.setFile(file, offset, length);
-		pkg.addExpander(expander);
-	}
-
-	public static void removeExpander(Expander expander) {
-		Package pkg = expander.getParentPackage();
-		if (pkg != null) {
-			pkg.removeExpander(expander);
-		}
-	}
-
-	public static void addImport(Package pkg, String importClass, IFile file, int offset, int length) {
-		Import imp = new Import(pkg, importClass);
-		imp.setFile(file, offset, length);
-		pkg.addImport(imp);
-	}
-
-	public static void removeImport(Import imp) {
-		Package pkg = imp.getParentPackage();
-		if (pkg != null) {
-			pkg.removeImport(imp);
-		}
-	}
-
-	public static Global addGlobal(Package pkg, String globalName, IFile file, int offset, int length) {
-		Global global = new Global(pkg, globalName);
-		global.setFile(file, offset, length);
-		pkg.addGlobal(global);
-		return global;
-	}
-
-	public static void removeGlobal(Global global) {
-		Package pkg = global.getParentPackage();
-		if (pkg != null) {
-			pkg.removeGlobal(global);
-		}
-	}
-
-	public static Query addQuery(Package pkg, String queryName, IFile file, int offset, int length) {
-		Query query = new Query(pkg, queryName);
-		query.setFile(file, offset, length);
-		pkg.addQuery(query);
-		return query;
-	}
-
-	public static void removeQuery(Query query) {
-		Package pkg = query.getParentPackage();
-		if (pkg != null) {
-			pkg.removeQuery(query);
-		}
-	}
-
-	public static Template addTemplate(Package pkg, String templateName, IFile file, int offset, int length) {
-		Template template = new Template(pkg, templateName);
-		template.setFile(file, offset, length);
-		pkg.addTemplate(template);
-		return template;
-	}
-
-	public static void removeTemplate(Template template) {
-		Package pkg = template.getParentPackage();
-		if (pkg != null) {
-			pkg.removeTemplate(template);
-		}
-	}
-	
-	public static void removeElement(DroolsElement element) {
-		switch (element.getType()) {
-			case DroolsElement.RULESET:
-				clearRuleSet((RuleSet) element);
-				break;
-			case DroolsElement.PACKAGE:
-				removePackage((Package) element);
-				break;
-			case DroolsElement.RULE:
-				removeRule((Rule) element);
-				break;
-			case DroolsElement.QUERY:
-				removeQuery((Query) element);
-				break;
-			case DroolsElement.FUNCTION:
-				removeFunction((Function) element);
-				break;
-			case DroolsElement.TEMPLATE:
-				removeTemplate((Template) element);
-				break;
-			case DroolsElement.EXPANDER:
-				removeExpander((Expander) element);
-				break;
-			case DroolsElement.GLOBAL:
-				removeGlobal((Global) element);
-				break;
-		}
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,174 @@
+package org.drools.eclipse.core;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+
+public class DroolsModelBuilder {
+	
+	public static RuleSet createRuleSet() {
+		return new RuleSet();
+	}
+
+	public static Package createPackage(String packageName, int offset, int length) {
+		Package pkg = new Package(null, packageName);
+		pkg.setFile(null, offset, length);
+		return pkg;
+	}
+	
+	public static Package addPackage(RuleSet ruleSet, String packageName, int offset, int length) {
+		Package pkg = new Package(ruleSet, packageName);
+		pkg.setFile(null, offset, length);
+		ruleSet.addPackage(pkg);
+		return pkg;
+	}
+	
+	public static void removePackage(Package pkg) {
+		RuleSet ruleSet = pkg.getParentRuleSet();
+		if (ruleSet != null) {
+			ruleSet.removePackage(pkg.getPackageName());
+		}
+	}
+	
+	public static void clearRuleSet(RuleSet ruleSet) {
+		ruleSet.clear();
+	}
+	
+	public static Rule addRule(Package pkg, String ruleName, IFile file, int offset, int length, Map attributes) {
+		Rule rule = new Rule(pkg, ruleName);
+		rule.setFile(file, offset, length);
+		if (attributes != null) {
+			for (Iterator iterator = attributes.entrySet().iterator(); iterator.hasNext();) {
+				Map.Entry entry = (Map.Entry) iterator.next();
+				RuleAttribute attribute = new RuleAttribute(rule, (String) entry.getKey(), entry.getValue());
+				attribute.setFile(file, offset, length);
+				rule.addAttribute(attribute);
+			}
+		}
+		pkg.addRule(rule);
+		return rule;
+	}
+	
+	public static void removeRule(Rule rule) {
+		Package pkg = rule.getParentPackage();
+		if (pkg != null) {
+			pkg.removeRule(rule);
+			if (pkg.getChildren().length == 0) {
+				removePackage(pkg);
+			}
+		}
+	}
+
+	public static Function addFunction(Package pkg, String functionName, IFile file, int offset, int length) {
+		Function function = new Function(pkg, functionName);
+		function.setFile(file, offset, length);
+		pkg.addFunction(function);
+		return function;
+	}
+
+	public static void removeFunction(Function function) {
+		Package pkg = function.getParentPackage();
+		if (pkg != null) {
+			pkg.removeFunction(function);
+		}
+	}
+
+	public static void addExpander(Package pkg, String expanderName, IFile file, int offset, int length) {
+		Expander expander = new Expander(pkg, expanderName);
+		expander.setFile(file, offset, length);
+		pkg.addExpander(expander);
+	}
+
+	public static void removeExpander(Expander expander) {
+		Package pkg = expander.getParentPackage();
+		if (pkg != null) {
+			pkg.removeExpander(expander);
+		}
+	}
+
+	public static void addImport(Package pkg, String importClass, IFile file, int offset, int length) {
+		Import imp = new Import(pkg, importClass);
+		imp.setFile(file, offset, length);
+		pkg.addImport(imp);
+	}
+
+	public static void removeImport(Import imp) {
+		Package pkg = imp.getParentPackage();
+		if (pkg != null) {
+			pkg.removeImport(imp);
+		}
+	}
+
+	public static Global addGlobal(Package pkg, String globalName, IFile file, int offset, int length) {
+		Global global = new Global(pkg, globalName);
+		global.setFile(file, offset, length);
+		pkg.addGlobal(global);
+		return global;
+	}
+
+	public static void removeGlobal(Global global) {
+		Package pkg = global.getParentPackage();
+		if (pkg != null) {
+			pkg.removeGlobal(global);
+		}
+	}
+
+	public static Query addQuery(Package pkg, String queryName, IFile file, int offset, int length) {
+		Query query = new Query(pkg, queryName);
+		query.setFile(file, offset, length);
+		pkg.addQuery(query);
+		return query;
+	}
+
+	public static void removeQuery(Query query) {
+		Package pkg = query.getParentPackage();
+		if (pkg != null) {
+			pkg.removeQuery(query);
+		}
+	}
+
+	public static Template addTemplate(Package pkg, String templateName, IFile file, int offset, int length) {
+		Template template = new Template(pkg, templateName);
+		template.setFile(file, offset, length);
+		pkg.addTemplate(template);
+		return template;
+	}
+
+	public static void removeTemplate(Template template) {
+		Package pkg = template.getParentPackage();
+		if (pkg != null) {
+			pkg.removeTemplate(template);
+		}
+	}
+	
+	public static void removeElement(DroolsElement element) {
+		switch (element.getType()) {
+			case DroolsElement.RULESET:
+				clearRuleSet((RuleSet) element);
+				break;
+			case DroolsElement.PACKAGE:
+				removePackage((Package) element);
+				break;
+			case DroolsElement.RULE:
+				removeRule((Rule) element);
+				break;
+			case DroolsElement.QUERY:
+				removeQuery((Query) element);
+				break;
+			case DroolsElement.FUNCTION:
+				removeFunction((Function) element);
+				break;
+			case DroolsElement.TEMPLATE:
+				removeTemplate((Template) element);
+				break;
+			case DroolsElement.EXPANDER:
+				removeExpander((Expander) element);
+				break;
+			case DroolsElement.GLOBAL:
+				removeGlobal((Global) element);
+				break;
+		}
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents an expander. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Expander extends DroolsElement {
-
-	private final String expander;
-
-	Expander(Package parent, String expander) {
-		super(parent);
-		this.expander = expander;
-	}
-	
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-	public String getExpander() {
-		return expander;
-	}
-
-	public int getType() {
-		return EXPANDER;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return expander;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents an expander. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Expander extends DroolsElement {
+
+	private final String expander;
+
+	Expander(Package parent, String expander) {
+		super(parent);
+		this.expander = expander;
+	}
+	
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+	public String getExpander() {
+		return expander;
+	}
+
+	public int getType() {
+		return EXPANDER;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return expander;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents a function. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Function extends DroolsElement {
-
-    private final String functionName;
-
-    Function(Package parent, String functionName) {
-        super(parent);
-        this.functionName = functionName;
-    }
-    
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-    public String getFunctionName() {
-    	return functionName;
-    }
-
-	public int getType() {
-		return FUNCTION;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return functionName;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents a function. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Function extends DroolsElement {
+
+    private final String functionName;
+
+    Function(Package parent, String functionName) {
+        super(parent);
+        this.functionName = functionName;
+    }
+    
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+    public String getFunctionName() {
+    	return functionName;
+    }
+
+	public int getType() {
+		return FUNCTION;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return functionName;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents a global. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Global extends DroolsElement {
-
-    private final String globalName;
-
-    Global(Package parent, String globalName) {
-        super(parent);
-        this.globalName = globalName;
-    }
-    
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-    public String getGlobalName() {
-    	return globalName;
-    }
-
-	public int getType() {
-		return GLOBAL;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return globalName;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents a global. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Global extends DroolsElement {
+
+    private final String globalName;
+
+    Global(Package parent, String globalName) {
+        super(parent);
+        this.globalName = globalName;
+    }
+    
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+    public String getGlobalName() {
+    	return globalName;
+    }
+
+	public int getType() {
+		return GLOBAL;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return globalName;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents an import. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Import extends DroolsElement {
-
-    private final String importClass;
-
-    Import(Package parent, String importClass) {
-        super(parent);
-        this.importClass = importClass;
-    }
-    
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-    public String getImportClass() {
-    	return importClass;
-    }
-
-	public int getType() {
-		return IMPORT;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return importClass;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents an import. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Import extends DroolsElement {
+
+    private final String importClass;
+
+    Import(Package parent, String importClass) {
+        super(parent);
+        this.importClass = importClass;
+    }
+    
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+    public String getImportClass() {
+    	return importClass;
+    }
+
+	public int getType() {
+		return IMPORT;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return importClass;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,115 +0,0 @@
-package org.drools.eclipse.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This represents a package. 
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class Package extends DroolsElement {
-
-	private String packageName;
-	private List rules = new ArrayList();
-	private List functions = new ArrayList();
-	private List expanders = new ArrayList();
-	private List imports = new ArrayList();
-	private List globals = new ArrayList();
-	private List queries = new ArrayList();
-	private List templates = new ArrayList();
-
-	Package(RuleSet parent, String packageName) {
-		super(parent);
-		this.packageName =
-			packageName == null ? "(default package)" : packageName;
-	}
-
-	public RuleSet getParentRuleSet() {
-		return (RuleSet) getParent();
-	}
-	
-	public String getPackageName() {
-		return packageName;
-	}
-
-	public int getType() {
-		return PACKAGE;
-	}
-	
-	public DroolsElement[] getChildren() {
-		List children = new ArrayList();
-		children.addAll(rules);
-		children.addAll(queries);
-		children.addAll(globals);
-		children.addAll(functions);
-		children.addAll(expanders);
-		children.addAll(imports);
-		children.addAll(templates);
-		return (DroolsElement[]) children.toArray(new DroolsElement[0]);
-	}
-
-	public String toString() {
-		return packageName;
-	}
-
-	// These are helper methods for creating the model and should not
-	// be used directly.  Use DroolsModelBuilder instead.
-
-	void addRule(Rule rule) {
-		rules.add(rule);
-	}
-	
-	void removeRule(Rule rule) {
-		rules.remove(rule);
-	}
-	
-	void addFunction(Function function) {
-		functions.add(function);
-	}
-	
-	void removeFunction(Function function) {
-		functions.remove(function);
-	}
-	
-	void addExpander(Expander expander) {
-		expanders.add(expander);
-	}
-	
-	void removeExpander(Expander expander) {
-		expanders.remove(expander);
-	}
-	
-	void addImport(Import imp) {
-		imports.add(imp);
-	}
-	
-	void removeImport(Import imp) {
-		imports.remove(imp);
-	}
-	
-	void addGlobal(Global global) {
-		globals.add(global);
-	}
-	
-	void removeGlobal(Global global) {
-		globals.remove(global);
-	}
-	
-	void addQuery(Query query) {
-		queries.add(query);
-	}
-	
-	void removeQuery(Query query) {
-		queries.remove(query);
-	}
-	
-	void addTemplate(Template template) {
-		templates.add(template);
-	}
-	
-	void removeTemplate(Template template) {
-		templates.remove(template);
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,115 @@
+package org.drools.eclipse.core;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * This represents a package. 
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class Package extends DroolsElement {
+
+	private String packageName;
+	private List rules = new ArrayList();
+	private List functions = new ArrayList();
+	private List expanders = new ArrayList();
+	private List imports = new ArrayList();
+	private List globals = new ArrayList();
+	private List queries = new ArrayList();
+	private List templates = new ArrayList();
+
+	Package(RuleSet parent, String packageName) {
+		super(parent);
+		this.packageName =
+			packageName == null ? "(default package)" : packageName;
+	}
+
+	public RuleSet getParentRuleSet() {
+		return (RuleSet) getParent();
+	}
+	
+	public String getPackageName() {
+		return packageName;
+	}
+
+	public int getType() {
+		return PACKAGE;
+	}
+	
+	public DroolsElement[] getChildren() {
+		List children = new ArrayList();
+		children.addAll(rules);
+		children.addAll(queries);
+		children.addAll(globals);
+		children.addAll(functions);
+		children.addAll(expanders);
+		children.addAll(imports);
+		children.addAll(templates);
+		return (DroolsElement[]) children.toArray(new DroolsElement[0]);
+	}
+
+	public String toString() {
+		return packageName;
+	}
+
+	// These are helper methods for creating the model and should not
+	// be used directly.  Use DroolsModelBuilder instead.
+
+	void addRule(Rule rule) {
+		rules.add(rule);
+	}
+	
+	void removeRule(Rule rule) {
+		rules.remove(rule);
+	}
+	
+	void addFunction(Function function) {
+		functions.add(function);
+	}
+	
+	void removeFunction(Function function) {
+		functions.remove(function);
+	}
+	
+	void addExpander(Expander expander) {
+		expanders.add(expander);
+	}
+	
+	void removeExpander(Expander expander) {
+		expanders.remove(expander);
+	}
+	
+	void addImport(Import imp) {
+		imports.add(imp);
+	}
+	
+	void removeImport(Import imp) {
+		imports.remove(imp);
+	}
+	
+	void addGlobal(Global global) {
+		globals.add(global);
+	}
+	
+	void removeGlobal(Global global) {
+		globals.remove(global);
+	}
+	
+	void addQuery(Query query) {
+		queries.add(query);
+	}
+	
+	void removeQuery(Query query) {
+		queries.remove(query);
+	}
+	
+	void addTemplate(Template template) {
+		templates.add(template);
+	}
+	
+	void removeTemplate(Template template) {
+		templates.remove(template);
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents a query. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Query extends DroolsElement {
-
-    private final String query;
-
-    Query(Package parent, String query) {
-        super(parent);
-        this.query = query;
-    }
-
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-	public String getQueryName() {
-		return query;
-	}
-	
-	public int getType() {
-		return QUERY;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return query;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents a query. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Query extends DroolsElement {
+
+    private final String query;
+
+    Query(Package parent, String query) {
+        super(parent);
+        this.query = query;
+    }
+
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+	public String getQueryName() {
+		return query;
+	}
+	
+	public int getType() {
+		return QUERY;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return query;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,52 +0,0 @@
-package org.drools.eclipse.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This represents a rule. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Rule extends DroolsElement {
-
-    private final String ruleName;
-    private Map attributes = new HashMap();
-
-    Rule(Package parent, String ruleName) {
-    	super(parent);
-        this.ruleName = ruleName;
-    }
-
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-	public String getRuleName() {
-		return ruleName;
-	}
-	
-	public RuleAttribute getAttribute(String attributeName) {
-		return (RuleAttribute) attributes.get(attributeName);
-	}
-	
-	public int getType() {
-		return RULE;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return ruleName;
-	}
-
-	// These are helper methods for creating the model and should not
-	// be used directly.  Use DroolsModelBuilder instead.
-
-    void addAttribute(RuleAttribute attribute) {
-		attributes.put(attribute.getAttributeName(), attribute);
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,52 @@
+package org.drools.eclipse.core;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * This represents a rule. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Rule extends DroolsElement {
+
+    private final String ruleName;
+    private Map attributes = new HashMap();
+
+    Rule(Package parent, String ruleName) {
+    	super(parent);
+        this.ruleName = ruleName;
+    }
+
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+	public String getRuleName() {
+		return ruleName;
+	}
+	
+	public RuleAttribute getAttribute(String attributeName) {
+		return (RuleAttribute) attributes.get(attributeName);
+	}
+	
+	public int getType() {
+		return RULE;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return ruleName;
+	}
+
+	// These are helper methods for creating the model and should not
+	// be used directly.  Use DroolsModelBuilder instead.
+
+    void addAttribute(RuleAttribute attribute) {
+		attributes.put(attribute.getAttributeName(), attribute);
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,39 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents a rule attribute. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class RuleAttribute extends DroolsElement {
-
-    private final String attributeName;
-    private final Object attributeValue;
-
-    RuleAttribute(Rule parent, String attributeName, Object attributeValue) {
-    	super(parent);
-        this.attributeName = attributeName;
-        this.attributeValue = attributeValue;
-    }
-
-	public Rule getParentRule() {
-		return (Rule) getParent();
-	}
-	
-	public String getAttributeName() {
-		return attributeName;
-	}
-	
-	public int getType() {
-		return RULE_ATTRIBUTE;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return attributeName + " = " + attributeValue;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,39 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents a rule attribute. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class RuleAttribute extends DroolsElement {
+
+    private final String attributeName;
+    private final Object attributeValue;
+
+    RuleAttribute(Rule parent, String attributeName, Object attributeValue) {
+    	super(parent);
+        this.attributeName = attributeName;
+        this.attributeValue = attributeValue;
+    }
+
+	public Rule getParentRule() {
+		return (Rule) getParent();
+	}
+	
+	public String getAttributeName() {
+		return attributeName;
+	}
+	
+	public int getType() {
+		return RULE_ATTRIBUTE;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return attributeName + " = " + attributeValue;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,47 +0,0 @@
-package org.drools.eclipse.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This represents a rule set. 
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleSet extends DroolsElement {
-	
-	private Map packages = new HashMap();
-	
-	RuleSet() {
-		super(null);
-	}
-	
-	public Package getPackage(String packageName) {
-		return (Package) packages.get(packageName);
-	}
-	
-	public int getType() {
-		return RULESET;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return (DroolsElement[]) packages.values().toArray(
-			new DroolsElement[packages.size()]);
-	}
-
-	// These are helper methods for creating the model and should not
-	// be used directly.  Use DroolsModelBuilder instead.
-
-	void addPackage(Package pkg) {
-		packages.put(pkg.getPackageName(), pkg);
-	}
-	
-	void removePackage(String packageName) {
-		packages.remove(packageName);
-	}
-	
-	void clear() {
-		packages.clear();
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,47 @@
+package org.drools.eclipse.core;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * This represents a rule set. 
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleSet extends DroolsElement {
+	
+	private Map packages = new HashMap();
+	
+	RuleSet() {
+		super(null);
+	}
+	
+	public Package getPackage(String packageName) {
+		return (Package) packages.get(packageName);
+	}
+	
+	public int getType() {
+		return RULESET;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return (DroolsElement[]) packages.values().toArray(
+			new DroolsElement[packages.size()]);
+	}
+
+	// These are helper methods for creating the model and should not
+	// be used directly.  Use DroolsModelBuilder instead.
+
+	void addPackage(Package pkg) {
+		packages.put(pkg.getPackageName(), pkg);
+	}
+	
+	void removePackage(String packageName) {
+		packages.remove(packageName);
+	}
+	
+	void clear() {
+		packages.clear();
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents a template. 
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class Template extends DroolsElement {
-
-    private final String templateName;
-
-    Template(Package parent, String templateName) {
-        super(parent);
-        this.templateName = templateName;
-    }
-
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-	public String getTemplateName() {
-		return templateName;
-	}
-	
-	public int getType() {
-		return TEMPLATE;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return templateName;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents a template. 
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class Template extends DroolsElement {
+
+    private final String templateName;
+
+    Template(Package parent, String templateName) {
+        super(parent);
+        this.templateName = templateName;
+    }
+
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+	public String getTemplateName() {
+		return templateName;
+	}
+	
+	public int getType() {
+		return TEMPLATE;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return templateName;
+	}
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,44 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.core.DroolsElement;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Content provider for Drools model elements. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DroolsContentProvider implements ITreeContentProvider {
-
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement instanceof DroolsElement) {
-			return ((DroolsElement) parentElement).getChildren();
-		}
-		return new Object[0];
-	}
-
-	public Object getParent(Object element) {
-		if (element instanceof DroolsElement) {
-			return ((DroolsElement) element).getParent();
-		}
-		return null;
-	}
-
-	public boolean hasChildren(Object element) {
-        return getChildren(element).length > 0;
-	}
-
-	public Object[] getElements(Object inputElement) {
-        return getChildren(inputElement);
-	}
-
-	public void dispose() {
-        // do nothing
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        // do nothing
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,44 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.core.DroolsElement;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+/**
+ * Content provider for Drools model elements. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DroolsContentProvider implements ITreeContentProvider {
+
+	public Object[] getChildren(Object parentElement) {
+		if (parentElement instanceof DroolsElement) {
+			return ((DroolsElement) parentElement).getChildren();
+		}
+		return new Object[0];
+	}
+
+	public Object getParent(Object element) {
+		if (element instanceof DroolsElement) {
+			return ((DroolsElement) element).getParent();
+		}
+		return null;
+	}
+
+	public boolean hasChildren(Object element) {
+        return getChildren(element).length > 0;
+	}
+
+	public Object[] getElements(Object inputElement) {
+        return getChildren(inputElement);
+	}
+
+	public void dispose() {
+        // do nothing
+	}
+
+	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+        // do nothing
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.core.DroolsElement;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * Filter for the rules viewer.
- */
-public class DroolsFilter extends ViewerFilter {
-
-	public static final int FILTER_RULES = 1;
-	public static final int FILTER_QUERIES = 2;
-	public static final int FILTER_FUNCTIONS = 4;
-	public static final int FILTER_TEMPLATES = 8;
-	public static final int FILTER_GLOBALS = 16;
-	
-	private int filterProperties;
-
-	public final void addFilter(int filter) {
-		filterProperties |= filter;
-	}
-
-	public final void removeFilter(int filter) {
-		filterProperties &= (-1 ^ filter);
-	}
-
-	public final boolean hasFilter(int filter) {
-		return (filterProperties & filter) != 0;
-	}
-	
-	public boolean isFilterProperty(Object element, Object property) {
-		return false;
-	}
-
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		if (element instanceof DroolsElement) {
-			DroolsElement droolsElement = (DroolsElement) element;
-			int type = droolsElement.getType();
-			if (hasFilter(FILTER_RULES) && type == DroolsElement.RULE) {
-				return false;
-			}
-			if (hasFilter(FILTER_QUERIES) && type == DroolsElement.QUERY) {
-				return false;
-			}
-			if (hasFilter(FILTER_FUNCTIONS) && type == DroolsElement.FUNCTION) {
-				return false;
-			}
-			if (hasFilter(FILTER_TEMPLATES) && type == DroolsElement.TEMPLATE) {
-				return false;
-			}
-			if (hasFilter(FILTER_GLOBALS) && type == DroolsElement.GLOBAL) {
-				return false;
-			}
-		}			
-		return true;
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.core.DroolsElement;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
+
+/**
+ * Filter for the rules viewer.
+ */
+public class DroolsFilter extends ViewerFilter {
+
+	public static final int FILTER_RULES = 1;
+	public static final int FILTER_QUERIES = 2;
+	public static final int FILTER_FUNCTIONS = 4;
+	public static final int FILTER_TEMPLATES = 8;
+	public static final int FILTER_GLOBALS = 16;
+	
+	private int filterProperties;
+
+	public final void addFilter(int filter) {
+		filterProperties |= filter;
+	}
+
+	public final void removeFilter(int filter) {
+		filterProperties &= (-1 ^ filter);
+	}
+
+	public final boolean hasFilter(int filter) {
+		return (filterProperties & filter) != 0;
+	}
+	
+	public boolean isFilterProperty(Object element, Object property) {
+		return false;
+	}
+
+	public boolean select(Viewer viewer, Object parentElement, Object element) {
+		if (element instanceof DroolsElement) {
+			DroolsElement droolsElement = (DroolsElement) element;
+			int type = droolsElement.getType();
+			if (hasFilter(FILTER_RULES) && type == DroolsElement.RULE) {
+				return false;
+			}
+			if (hasFilter(FILTER_QUERIES) && type == DroolsElement.QUERY) {
+				return false;
+			}
+			if (hasFilter(FILTER_FUNCTIONS) && type == DroolsElement.FUNCTION) {
+				return false;
+			}
+			if (hasFilter(FILTER_TEMPLATES) && type == DroolsElement.TEMPLATE) {
+				return false;
+			}
+			if (hasFilter(FILTER_GLOBALS) && type == DroolsElement.GLOBAL) {
+				return false;
+			}
+		}			
+		return true;
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,31 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.core.DroolsElement;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class DroolsLabelProvider extends LabelProvider {
-
-	private static final String[] ICONS = new String[] {
-		DroolsPluginImages.PACKAGE,	// ruleset
-		DroolsPluginImages.PACKAGE,	// package
-		DroolsPluginImages.DROOLS, 	// rule
-		DroolsPluginImages.DROOLS, 	// query
-		DroolsPluginImages.METHOD, 	// function
-		DroolsPluginImages.CLASS, 	// template
-		DroolsPluginImages.DSL, 	// expander
-		DroolsPluginImages.GLOBAL, 	// global
-		DroolsPluginImages.IMPORT, 	// import
-		DroolsPluginImages.DROOLS, 	// rule attribute
-	};
-	
-    public Image getImage(Object element) {
-    	if (element instanceof DroolsElement) {
-    		String icon = ICONS[((DroolsElement) element).getType()];
-    		return DroolsPluginImages.getImageRegistry().get(icon);
-    	}
-        return null;
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,31 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.core.DroolsElement;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+public class DroolsLabelProvider extends LabelProvider {
+
+	private static final String[] ICONS = new String[] {
+		DroolsPluginImages.PACKAGE,	// ruleset
+		DroolsPluginImages.PACKAGE,	// package
+		DroolsPluginImages.DROOLS, 	// rule
+		DroolsPluginImages.DROOLS, 	// query
+		DroolsPluginImages.METHOD, 	// function
+		DroolsPluginImages.CLASS, 	// template
+		DroolsPluginImages.DSL, 	// expander
+		DroolsPluginImages.GLOBAL, 	// global
+		DroolsPluginImages.IMPORT, 	// import
+		DroolsPluginImages.DROOLS, 	// rule attribute
+	};
+	
+    public Image getImage(Object element) {
+    	if (element instanceof DroolsElement) {
+    		String icon = ICONS[((DroolsElement) element).getType()];
+    		return DroolsPluginImages.getImageRegistry().get(icon);
+    	}
+        return null;
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,82 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.core.DroolsElement;
-import org.drools.eclipse.core.Expander;
-import org.drools.eclipse.core.Function;
-import org.drools.eclipse.core.Global;
-import org.drools.eclipse.core.Import;
-import org.drools.eclipse.core.Package;
-import org.drools.eclipse.core.Query;
-import org.drools.eclipse.core.Rule;
-import org.drools.eclipse.core.RuleAttribute;
-import org.drools.eclipse.core.RuleSet;
-import org.drools.eclipse.core.Template;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-public class DroolsTreeSorter extends ViewerSorter {
-	
-	// level 0
-	private static final int RULESET = 0;
-	
-	// level 1
-	private static final int PACKAGE = 1;
-	
-	// level 2
-	private static final int RULE = 2;
-	private static final int QUERY = 3;
-	private static final int FUNCTION = 4;
-	private static final int TEMPLATE = 5;
-	private static final int EXPANDER = 6;
-	private static final int GLOBAL = 7;
-	private static final int IMPORT = 8;
-
-	// level 3
-	private static final int RULE_ATTRIBUTE = 9;
-	
-	private static final int UNKNOWN = 10;
-
-	private static DroolsLabelProvider labelProvider = new DroolsLabelProvider();
-
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		DroolsElement node1 = (DroolsElement) e1;
-		DroolsElement node2 = (DroolsElement) e2;
-		int type1 = getElementType(node1);
-		int type2 = getElementType(node2);
-		if (type1 != type2) {
-			return type1 - type2;
-		}
-		String label1 = labelProvider.getText(node1); 
-		String label2 = labelProvider.getText(node2);
-		if (label1 == null) {
-			return (label2 == null ? 0 : -1);
-		}
-		return label1.compareTo(label2);
-	}
-	
-	private int getElementType(DroolsElement o) {
-		if (o instanceof RuleSet) {
-			return RULESET;
-		} else if (o instanceof Package) {
-			return PACKAGE;
-		} else if (o instanceof Rule) {
-			return RULE;
-		} else if (o instanceof Query) {
-			return QUERY;
-		} else if (o instanceof Function) {
-			return FUNCTION;
-		} else if (o instanceof Template) {
-			return TEMPLATE;
-		} else if (o instanceof Expander) {
-			return EXPANDER;
-		} else if (o instanceof Global) {
-			return GLOBAL;
-		} else if (o instanceof Import) {
-			return IMPORT;
-		} else if (o instanceof RuleAttribute) {
-			return RULE_ATTRIBUTE;
-		}
-		return UNKNOWN;
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,82 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.core.DroolsElement;
+import org.drools.eclipse.core.Expander;
+import org.drools.eclipse.core.Function;
+import org.drools.eclipse.core.Global;
+import org.drools.eclipse.core.Import;
+import org.drools.eclipse.core.Package;
+import org.drools.eclipse.core.Query;
+import org.drools.eclipse.core.Rule;
+import org.drools.eclipse.core.RuleAttribute;
+import org.drools.eclipse.core.RuleSet;
+import org.drools.eclipse.core.Template;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerSorter;
+
+public class DroolsTreeSorter extends ViewerSorter {
+	
+	// level 0
+	private static final int RULESET = 0;
+	
+	// level 1
+	private static final int PACKAGE = 1;
+	
+	// level 2
+	private static final int RULE = 2;
+	private static final int QUERY = 3;
+	private static final int FUNCTION = 4;
+	private static final int TEMPLATE = 5;
+	private static final int EXPANDER = 6;
+	private static final int GLOBAL = 7;
+	private static final int IMPORT = 8;
+
+	// level 3
+	private static final int RULE_ATTRIBUTE = 9;
+	
+	private static final int UNKNOWN = 10;
+
+	private static DroolsLabelProvider labelProvider = new DroolsLabelProvider();
+
+	public int compare(Viewer viewer, Object e1, Object e2) {
+		DroolsElement node1 = (DroolsElement) e1;
+		DroolsElement node2 = (DroolsElement) e2;
+		int type1 = getElementType(node1);
+		int type2 = getElementType(node2);
+		if (type1 != type2) {
+			return type1 - type2;
+		}
+		String label1 = labelProvider.getText(node1); 
+		String label2 = labelProvider.getText(node2);
+		if (label1 == null) {
+			return (label2 == null ? 0 : -1);
+		}
+		return label1.compareTo(label2);
+	}
+	
+	private int getElementType(DroolsElement o) {
+		if (o instanceof RuleSet) {
+			return RULESET;
+		} else if (o instanceof Package) {
+			return PACKAGE;
+		} else if (o instanceof Rule) {
+			return RULE;
+		} else if (o instanceof Query) {
+			return QUERY;
+		} else if (o instanceof Function) {
+			return FUNCTION;
+		} else if (o instanceof Template) {
+			return TEMPLATE;
+		} else if (o instanceof Expander) {
+			return EXPANDER;
+		} else if (o instanceof Global) {
+			return GLOBAL;
+		} else if (o instanceof Import) {
+			return IMPORT;
+		} else if (o instanceof RuleAttribute) {
+			return RULE_ATTRIBUTE;
+		}
+		return UNKNOWN;
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,34 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.DroolsPluginImages;
-import org.eclipse.jface.action.Action;
-
-/**
- * Action used to enable / disable filter properties
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class FilterAction extends Action {
-
-	private int filterType;
-
-	private FilterActionGroup filterActionGroup;
-
-	public FilterAction(FilterActionGroup actionGroup, String title,
-			int property, boolean initValue, String imageDescriptorKey) {
-		super(title);
-		filterActionGroup = actionGroup;
-		filterType = property;
-		setChecked(initValue);
-		setImageDescriptor(DroolsPluginImages.getImageDescriptor(imageDescriptorKey));
-	}
-
-	public int getFilterType() {
-		return filterType;
-	}
-
-	public void run() {
-		filterActionGroup.setFilter(filterType, isChecked());
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,34 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.DroolsPluginImages;
+import org.eclipse.jface.action.Action;
+
+/**
+ * Action used to enable / disable filter properties
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class FilterAction extends Action {
+
+	private int filterType;
+
+	private FilterActionGroup filterActionGroup;
+
+	public FilterAction(FilterActionGroup actionGroup, String title,
+			int property, boolean initValue, String imageDescriptorKey) {
+		super(title);
+		filterActionGroup = actionGroup;
+		filterType = property;
+		setChecked(initValue);
+		setImageDescriptor(DroolsPluginImages.getImageDescriptor(imageDescriptorKey));
+	}
+
+	public int getFilterType() {
+		return filterType;
+	}
+
+	public void run() {
+		filterActionGroup.setFilter(filterType, isChecked());
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,112 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.actions.ActionGroup;
-
-/**
- * Action Group that contributes filter buttons.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class FilterActionGroup extends ActionGroup {
-
-	private FilterAction[] filterActions;
-	private DroolsFilter filter;
-	public int i;
-	
-	private StructuredViewer viewer;
-	private String viewerId;
-	
-	public FilterActionGroup(StructuredViewer viewer, String viewerId) {	
-		this.viewer = viewer;
-		this.viewerId = viewerId;
-		filter = new DroolsFilter();
-		filterActions = new FilterAction[] {
-			addFilterForType(DroolsFilter.FILTER_RULES, "Hide Rules", DroolsPluginImages.RULE),
-			addFilterForType(DroolsFilter.FILTER_QUERIES, "Hide Queries", DroolsPluginImages.QUERY),
-			addFilterForType(DroolsFilter.FILTER_FUNCTIONS, "Hide Functions", DroolsPluginImages.METHOD),
-			addFilterForType(DroolsFilter.FILTER_GLOBALS, "Hide Globals", DroolsPluginImages.GLOBAL),
-			addFilterForType(DroolsFilter.FILTER_TEMPLATES, "Hide Templates", DroolsPluginImages.CLASS),
-		};
-		viewer.addFilter(filter);
-	}
-	
-	private FilterAction addFilterForType(int filterType, String tooltip, String imageDescriptorKey) {
-		boolean filterEnabled = DroolsEclipsePlugin.getDefault()
-			.getPreferenceStore().getBoolean(getPreferenceKey(filterType));
-		if (filterEnabled) {
-			filter.addFilter(filterType);
-		}
-		FilterAction hideAction = new FilterAction(this, tooltip, filterType, filterEnabled, imageDescriptorKey);
-		hideAction.setToolTipText(tooltip);
-		return hideAction;
-	}
-	
-	private String getPreferenceKey(int filterProperty) {
-		return "DroolsFilterActionGroup." + viewerId + '.' + String.valueOf(filterProperty);
-	}
-	
-	public void setFilter(int filterType, boolean set) {
-		setDroolsFilters(new int[] {filterType}, new boolean[] {set}, true);
-	}
-
-	private void setDroolsFilters(int[] propertyKeys, boolean[] propertyValues, boolean refresh) {
-		if (propertyKeys.length == 0)
-			return;
-		Assert.isTrue(propertyKeys.length == propertyValues.length);
-		
-		for (int i= 0; i < propertyKeys.length; i++) {
-			int filterProperty= propertyKeys[i];
-			boolean set= propertyValues[i];
-
-			IPreferenceStore store = DroolsEclipsePlugin.getDefault().getPreferenceStore();
-			boolean found = false;
-			for (int j= 0; j < filterActions.length; j++) {
-				int currProperty= filterActions[j].getFilterType();
-				if (currProperty == filterProperty) {
-					filterActions[j].setChecked(set);
-					found= true;
-					store.setValue(getPreferenceKey(filterProperty), set);
-				}
-			}
-			if (found) {
-				if (set) {
-					filter.addFilter(filterProperty);
-				} else {
-					filter.removeFilter(filterProperty);
-				}
-			}
-		}
-		if (refresh) {
-			viewer.getControl().setRedraw(false);
-			BusyIndicator.showWhile(viewer.getControl().getDisplay(), new Runnable() {
-				public void run() {
-					viewer.refresh();
-				}
-			});
-			viewer.getControl().setRedraw(true);
-		}
-	}
-	
-	public boolean hasDroolsFilter(int filterType) {
-		return filter.hasFilter(filterType);
-	}
-	
-	public void fillActionBars(IActionBars actionBars) {
-		contributeToToolBar(actionBars.getToolBarManager());
-	}
-	
-	public void contributeToToolBar(IToolBarManager tbm) {
-		for (int i= 0; i < filterActions.length; i++) {
-			tbm.add(filterActions[i]);
-		}
-	}
-	
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,112 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.util.Assert;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.swt.custom.BusyIndicator;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.actions.ActionGroup;
+
+/**
+ * Action Group that contributes filter buttons.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class FilterActionGroup extends ActionGroup {
+
+	private FilterAction[] filterActions;
+	private DroolsFilter filter;
+	public int i;
+	
+	private StructuredViewer viewer;
+	private String viewerId;
+	
+	public FilterActionGroup(StructuredViewer viewer, String viewerId) {	
+		this.viewer = viewer;
+		this.viewerId = viewerId;
+		filter = new DroolsFilter();
+		filterActions = new FilterAction[] {
+			addFilterForType(DroolsFilter.FILTER_RULES, "Hide Rules", DroolsPluginImages.RULE),
+			addFilterForType(DroolsFilter.FILTER_QUERIES, "Hide Queries", DroolsPluginImages.QUERY),
+			addFilterForType(DroolsFilter.FILTER_FUNCTIONS, "Hide Functions", DroolsPluginImages.METHOD),
+			addFilterForType(DroolsFilter.FILTER_GLOBALS, "Hide Globals", DroolsPluginImages.GLOBAL),
+			addFilterForType(DroolsFilter.FILTER_TEMPLATES, "Hide Templates", DroolsPluginImages.CLASS),
+		};
+		viewer.addFilter(filter);
+	}
+	
+	private FilterAction addFilterForType(int filterType, String tooltip, String imageDescriptorKey) {
+		boolean filterEnabled = DroolsEclipsePlugin.getDefault()
+			.getPreferenceStore().getBoolean(getPreferenceKey(filterType));
+		if (filterEnabled) {
+			filter.addFilter(filterType);
+		}
+		FilterAction hideAction = new FilterAction(this, tooltip, filterType, filterEnabled, imageDescriptorKey);
+		hideAction.setToolTipText(tooltip);
+		return hideAction;
+	}
+	
+	private String getPreferenceKey(int filterProperty) {
+		return "DroolsFilterActionGroup." + viewerId + '.' + String.valueOf(filterProperty);
+	}
+	
+	public void setFilter(int filterType, boolean set) {
+		setDroolsFilters(new int[] {filterType}, new boolean[] {set}, true);
+	}
+
+	private void setDroolsFilters(int[] propertyKeys, boolean[] propertyValues, boolean refresh) {
+		if (propertyKeys.length == 0)
+			return;
+		Assert.isTrue(propertyKeys.length == propertyValues.length);
+		
+		for (int i= 0; i < propertyKeys.length; i++) {
+			int filterProperty= propertyKeys[i];
+			boolean set= propertyValues[i];
+
+			IPreferenceStore store = DroolsEclipsePlugin.getDefault().getPreferenceStore();
+			boolean found = false;
+			for (int j= 0; j < filterActions.length; j++) {
+				int currProperty= filterActions[j].getFilterType();
+				if (currProperty == filterProperty) {
+					filterActions[j].setChecked(set);
+					found= true;
+					store.setValue(getPreferenceKey(filterProperty), set);
+				}
+			}
+			if (found) {
+				if (set) {
+					filter.addFilter(filterProperty);
+				} else {
+					filter.removeFilter(filterProperty);
+				}
+			}
+		}
+		if (refresh) {
+			viewer.getControl().setRedraw(false);
+			BusyIndicator.showWhile(viewer.getControl().getDisplay(), new Runnable() {
+				public void run() {
+					viewer.refresh();
+				}
+			});
+			viewer.getControl().setRedraw(true);
+		}
+	}
+	
+	public boolean hasDroolsFilter(int filterType) {
+		return filter.hasFilter(filterType);
+	}
+	
+	public void fillActionBars(IActionBars actionBars) {
+		contributeToToolBar(actionBars.getToolBarManager());
+	}
+	
+	public void contributeToToolBar(IToolBarManager tbm) {
+		for (int i= 0; i < filterActions.length; i++) {
+			tbm.add(filterActions[i]);
+		}
+	}
+	
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,81 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaClassType;
-import org.eclipse.jdt.debug.core.IJavaInterfaceType;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-/**
- * The logical structures of Agenda.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class AgendaLogicalStructureDelegate implements ILogicalStructureTypeDelegate {
-
-    public boolean providesLogicalStructure(IValue value) {
-        if (!(value instanceof IJavaObject)) {
-            return false;
-        }
-        IJavaObject javaValue= (IJavaObject) value;
-        try {
-            IJavaType type= javaValue.getJavaType();
-            if (!(type instanceof IJavaClassType)) {
-                return false;
-            }
-            IJavaClassType classType = (IJavaClassType) type;
-            IJavaInterfaceType[] interfaceTypes = classType.getAllInterfaces();
-            for ( int i = 0; i < interfaceTypes.length; i++ ) {
-                if ("org.drools.spi.Activation".equals(interfaceTypes[i].getName())) {
-                    return true;
-                }                
-            }
-            return false;
-        } catch (DebugException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-    }
-
-    public IValue getLogicalStructure(IValue value) throws CoreException {
-        if (!(value instanceof IJavaObject)) {
-            return null;
-        }
-        IJavaObject javaValue = (IJavaObject) value;
-        if (!providesLogicalStructure(value)) {
-            return null;
-        }
-        IJavaArray ruleParameters = (IJavaArray) DebugUtil.getValueByExpression("return getRule().getDeclarations();", value);
-        List variables = new ArrayList();
-        variables.add(new VariableWrapper("ruleName", (IJavaValue) DebugUtil.getValueByExpression("return getRule().getName();", value)));
-        
-        IJavaValue[] javaValues = ruleParameters.getValues();
-        for ( int j = 0; j < javaValues.length; j++ ) {
-            IJavaValue declaration = javaValues[j];
-            IVariable[] vars = declaration.getVariables();
-            for ( int k = 0; k < vars.length; k++ ) {
-                IVariable declarationVar = vars[k];
-                if ("identifier".equals(declarationVar.getName())) {
-                    String paramName = declarationVar.getValue().getValueString();
-                    IJavaValue varValue = (IJavaValue) DebugUtil.getValueByExpression("return getRule().getDeclaration(\"" + paramName + "\").getValue(((org.drools.common.InternalFactHandle) getTuple().get(getRule().getDeclaration(\"" + paramName + "\"))).getObject());", value);
-                    if (varValue != null) {
-                    	variables.add(new VariableWrapper(paramName, varValue));
-                    }
-                    break;
-                }                
-            }            
-        }
-        return new ObjectWrapper(javaValue, (IJavaVariable[]) variables.toArray(new IJavaVariable[variables.size()]));
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,81 @@
+package org.drools.eclipse.debug;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaArray;
+import org.eclipse.jdt.debug.core.IJavaClassType;
+import org.eclipse.jdt.debug.core.IJavaInterfaceType;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+
+/**
+ * The logical structures of Agenda.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class AgendaLogicalStructureDelegate implements ILogicalStructureTypeDelegate {
+
+    public boolean providesLogicalStructure(IValue value) {
+        if (!(value instanceof IJavaObject)) {
+            return false;
+        }
+        IJavaObject javaValue= (IJavaObject) value;
+        try {
+            IJavaType type= javaValue.getJavaType();
+            if (!(type instanceof IJavaClassType)) {
+                return false;
+            }
+            IJavaClassType classType = (IJavaClassType) type;
+            IJavaInterfaceType[] interfaceTypes = classType.getAllInterfaces();
+            for ( int i = 0; i < interfaceTypes.length; i++ ) {
+                if ("org.drools.spi.Activation".equals(interfaceTypes[i].getName())) {
+                    return true;
+                }                
+            }
+            return false;
+        } catch (DebugException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+    }
+
+    public IValue getLogicalStructure(IValue value) throws CoreException {
+        if (!(value instanceof IJavaObject)) {
+            return null;
+        }
+        IJavaObject javaValue = (IJavaObject) value;
+        if (!providesLogicalStructure(value)) {
+            return null;
+        }
+        IJavaArray ruleParameters = (IJavaArray) DebugUtil.getValueByExpression("return getRule().getDeclarations();", value);
+        List variables = new ArrayList();
+        variables.add(new VariableWrapper("ruleName", (IJavaValue) DebugUtil.getValueByExpression("return getRule().getName();", value)));
+        
+        IJavaValue[] javaValues = ruleParameters.getValues();
+        for ( int j = 0; j < javaValues.length; j++ ) {
+            IJavaValue declaration = javaValues[j];
+            IVariable[] vars = declaration.getVariables();
+            for ( int k = 0; k < vars.length; k++ ) {
+                IVariable declarationVar = vars[k];
+                if ("identifier".equals(declarationVar.getName())) {
+                    String paramName = declarationVar.getValue().getValueString();
+                    IJavaValue varValue = (IJavaValue) DebugUtil.getValueByExpression("return getRule().getDeclaration(\"" + paramName + "\").getValue(((org.drools.common.InternalFactHandle) getTuple().get(getRule().getDeclaration(\"" + paramName + "\"))).getObject());", value);
+                    if (varValue != null) {
+                    	variables.add(new VariableWrapper(paramName, varValue));
+                    }
+                    break;
+                }                
+            }            
+        }
+        return new ObjectWrapper(javaValue, (IJavaVariable[]) variables.toArray(new IJavaVariable[variables.size()]));
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,19 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.eclipse.jface.viewers.IContentProvider;
-
-/**
- * The Agenda View.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class AgendaView extends DroolsDebugEventHandlerView {
-
-    protected IContentProvider createContentProvider() {
-        return new AgendaViewContentProvider(this);
-    }
-    
-    protected int getAutoExpandLevel() {
-    	return 1;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,19 @@
+package org.drools.eclipse.debug;
+
+import org.eclipse.jface.viewers.IContentProvider;
+
+/**
+ * The Agenda View.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class AgendaView extends DroolsDebugEventHandlerView {
+
+    protected IContentProvider createContentProvider() {
+        return new AgendaViewContentProvider(this);
+    }
+    
+    protected int getAutoExpandLevel() {
+    	return 1;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,205 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-/**
- * The Agenda View content provider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class AgendaViewContentProvider extends DroolsDebugViewContentProvider {
-
-    private DroolsDebugEventHandlerView view;
-
-    public AgendaViewContentProvider(DroolsDebugEventHandlerView view) {
-        this.view = view;
-    }
-    
-    protected String getEmptyString() {
-    	return "The selected working memory has an empty agenda.";
-    }
-
-    public Object[] getChildren(Object obj) {
-        try {
-            Object[] variables = null;
-            if (obj != null && obj instanceof IJavaObject
-                    && "org.drools.reteoo.ReteooStatefulSession".equals(
-                        ((IJavaObject) obj).getReferenceTypeName())) {
-                variables = getAgendaElements((IJavaObject) obj);
-            } else if (obj instanceof IVariable) {
-            	if (view.isShowLogicalStructure()) {
-            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
-                	variables = value.getVariables();
-                }
-            	if (variables == null) {
-                	variables = ((IVariable) obj).getValue().getVariables();
-                }
-            }
-            if (variables == null) {
-                return new Object[0];
-            } else {
-                cache(obj, variables);
-                return variables;
-            }
-        } catch (DebugException e) {
-            DroolsEclipsePlugin.log(e);
-            return new Object[0];
-        }
-    }
-    
-    private Object[] getAgendaElements(IJavaObject workingMemoryImpl) throws DebugException {
-        List result = new ArrayList();
-        IValue agendaGroupObjects = DebugUtil.getValueByExpression("return getAgenda().getAgendaGroups();", workingMemoryImpl);
-        IValue focus = DebugUtil.getValueByExpression("return getAgenda().getFocus();", workingMemoryImpl);
-        if (agendaGroupObjects instanceof IJavaArray) {
-	        IJavaArray agendaGroupArray = (IJavaArray) agendaGroupObjects;
-	    	IJavaValue[] agendaGroupValueArray = agendaGroupArray.getValues();
-	        for (int i = 0; i < agendaGroupValueArray.length; i++) {
-	        	IJavaValue agendaGroup = agendaGroupValueArray[i];
-	        	String name = "";
-			    List activationsResult = new ArrayList();
-			    IVariable[] agendaGroupVarArray = agendaGroup.getVariables();
-	        	for (int j = 0; j < agendaGroupVarArray.length; j++) {
-	        		IVariable agendaGroupVar = agendaGroupVarArray[j];
-	        		if ("name".equals(agendaGroupVar.getName())) {
-	        			name = agendaGroupVar.getValue().getValueString();
-	        			break;
-	        		}
-	        	}
-				IJavaArray activations = (IJavaArray) DebugUtil.getValueByExpression("return getActivations();", agendaGroup);
-				IJavaValue[] activationArray = activations.getValues();
-	            for (int l = 0; l < activationArray.length; l++) {
-	            	IJavaValue activation = activationArray[l];
-	            	if (activation.getJavaType() != null) {
-	            		activationsResult.add(new VariableWrapper("[" + l + "]", 
-	            			new LazyActivationWrapper(activations, activation, workingMemoryImpl)));
-	            	}
-	            }
-	        	boolean active = false;
-            	if (agendaGroup.equals(focus)) {
-            		active = true;
-	            }
-            	// because the debug view does not handle spaces well, all spaces
-            	// in the agenda group name are replaced with '_'s.
-            	name = replaceSpaces(name);
-	            result.add(new MyVariableWrapper(name + "[" + (active ? "focus" : "nofocus") + "]", 
-            		new ObjectWrapper((IJavaObject) agendaGroup,
-        				(IJavaVariable[]) activationsResult.toArray(new IJavaVariable[activationsResult.size()]))));
-	        }
-        }
-        return result.toArray(new IVariable[0]);
-    }
-    
-    private String replaceSpaces(String name) {
-    	return name.replace(' ', '_');
-    }
-
-    private class LazyActivationWrapper extends ObjectWrapper {
-    	
-    	private IJavaValue activation;
-    	private IJavaValue workingMemoryImpl;
-    	
-    	public LazyActivationWrapper(IJavaObject object, IJavaValue activation, IJavaObject workingMemoryImpl) {
-    		super(object, null);
-    		this.activation = activation;
-    		this.workingMemoryImpl = workingMemoryImpl;
-    	}
-    	
-    	public IVariable[] getVariables() {
-    		IVariable[] result = super.getVariables();
-    		if (result == null) {
-    			try {
-	                List variables = new ArrayList();
-	                variables.add(new VariableWrapper("ruleName", (IJavaValue) DebugUtil.getValueByExpression("return getRule().getName();", activation)));
-	        		String activationId = null;
-				    IVariable[] activationVarArray = activation.getVariables();
-		        	for (int j = 0; j < activationVarArray.length; j++) {
-		        		IVariable activationVar = activationVarArray[j];
-		        		if ("activationNumber".equals(activationVar.getName())) {
-		        			activationId = activationVar.getValue().getValueString();
-		        			break;
-		        		}
-		        	}
-		        	if (activationId != null) {
-			        	IValue objects = DebugUtil.getValueByExpression("return getActivationParameters(" + activationId + ");", workingMemoryImpl);
-			        	if (objects instanceof IJavaArray) {
-			                IJavaArray array = (IJavaArray) objects;
-			                IJavaValue[] javaVals = array.getValues();
-			                for ( int k = 0; k < javaVals.length; k++ ) {
-			                    IJavaValue mapEntry = javaVals[k];
-			                    String key = null;
-			                    IJavaValue value = null;
-			                    
-			                    IVariable[] vars = mapEntry.getVariables();
-			                    for ( int j = 0; j < vars.length; j++ ) {
-			                        IVariable var = vars[j];
-			                        if ("key".equals(var.getName())) {
-			                            key = var.getValue().getValueString();
-			                        } else if ("value".equals(var.getName())) {
-			                            value = (IJavaValue) var.getValue();
-			                        }
-			                    }
-			                    variables.add(new VariableWrapper(key, value));
-			                }
-			                result = (IJavaVariable[]) variables.toArray(new IJavaVariable[variables.size()]);
-			        	}
-		        	}
-    			} catch (Throwable t) {
-    				DroolsEclipsePlugin.log(t);
-    			}
-        		if (result == null) {
-        			result = new IJavaVariable[0];
-        		}
-                setVariables((IJavaVariable[]) result);
-    		}
-    		return result;
-    	}
-    	
-    	public boolean hasVariables() {
-    		return true;
-    	}
-    	
-    	public String getValueString() throws DebugException {
-    		return "Activation";
-    	}
-    	
-    	public String getReferenceTypeName() throws DebugException {
-    		return "";
-    	}
-    }
-    
-    /**
-     * Special VariableWrapper that considers variables with the same name
-     * as equal.
-     */
-    private class MyVariableWrapper extends VariableWrapper {
-    	
-    	public MyVariableWrapper(String name, IJavaValue value) {
-    		super(name, value);
-    	}
-    	
-    	public boolean equals(Object obj) {
-            if (obj instanceof VariableWrapper) {
-                VariableWrapper var = (VariableWrapper) obj;
-                return var.getName().equals(getName());
-            }
-            return false;
-        }
-
-        public int hashCode() {
-            return getName().hashCode();
-        }
-    	
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,205 @@
+package org.drools.eclipse.debug;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaArray;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+
+/**
+ * The Agenda View content provider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class AgendaViewContentProvider extends DroolsDebugViewContentProvider {
+
+    private DroolsDebugEventHandlerView view;
+
+    public AgendaViewContentProvider(DroolsDebugEventHandlerView view) {
+        this.view = view;
+    }
+    
+    protected String getEmptyString() {
+    	return "The selected working memory has an empty agenda.";
+    }
+
+    public Object[] getChildren(Object obj) {
+        try {
+            Object[] variables = null;
+            if (obj != null && obj instanceof IJavaObject
+                    && "org.drools.reteoo.ReteooStatefulSession".equals(
+                        ((IJavaObject) obj).getReferenceTypeName())) {
+                variables = getAgendaElements((IJavaObject) obj);
+            } else if (obj instanceof IVariable) {
+            	if (view.isShowLogicalStructure()) {
+            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
+                	variables = value.getVariables();
+                }
+            	if (variables == null) {
+                	variables = ((IVariable) obj).getValue().getVariables();
+                }
+            }
+            if (variables == null) {
+                return new Object[0];
+            } else {
+                cache(obj, variables);
+                return variables;
+            }
+        } catch (DebugException e) {
+            DroolsEclipsePlugin.log(e);
+            return new Object[0];
+        }
+    }
+    
+    private Object[] getAgendaElements(IJavaObject workingMemoryImpl) throws DebugException {
+        List result = new ArrayList();
+        IValue agendaGroupObjects = DebugUtil.getValueByExpression("return getAgenda().getAgendaGroups();", workingMemoryImpl);
+        IValue focus = DebugUtil.getValueByExpression("return getAgenda().getFocus();", workingMemoryImpl);
+        if (agendaGroupObjects instanceof IJavaArray) {
+	        IJavaArray agendaGroupArray = (IJavaArray) agendaGroupObjects;
+	    	IJavaValue[] agendaGroupValueArray = agendaGroupArray.getValues();
+	        for (int i = 0; i < agendaGroupValueArray.length; i++) {
+	        	IJavaValue agendaGroup = agendaGroupValueArray[i];
+	        	String name = "";
+			    List activationsResult = new ArrayList();
+			    IVariable[] agendaGroupVarArray = agendaGroup.getVariables();
+	        	for (int j = 0; j < agendaGroupVarArray.length; j++) {
+	        		IVariable agendaGroupVar = agendaGroupVarArray[j];
+	        		if ("name".equals(agendaGroupVar.getName())) {
+	        			name = agendaGroupVar.getValue().getValueString();
+	        			break;
+	        		}
+	        	}
+				IJavaArray activations = (IJavaArray) DebugUtil.getValueByExpression("return getActivations();", agendaGroup);
+				IJavaValue[] activationArray = activations.getValues();
+	            for (int l = 0; l < activationArray.length; l++) {
+	            	IJavaValue activation = activationArray[l];
+	            	if (activation.getJavaType() != null) {
+	            		activationsResult.add(new VariableWrapper("[" + l + "]", 
+	            			new LazyActivationWrapper(activations, activation, workingMemoryImpl)));
+	            	}
+	            }
+	        	boolean active = false;
+            	if (agendaGroup.equals(focus)) {
+            		active = true;
+	            }
+            	// because the debug view does not handle spaces well, all spaces
+            	// in the agenda group name are replaced with '_'s.
+            	name = replaceSpaces(name);
+	            result.add(new MyVariableWrapper(name + "[" + (active ? "focus" : "nofocus") + "]", 
+            		new ObjectWrapper((IJavaObject) agendaGroup,
+        				(IJavaVariable[]) activationsResult.toArray(new IJavaVariable[activationsResult.size()]))));
+	        }
+        }
+        return result.toArray(new IVariable[0]);
+    }
+    
+    private String replaceSpaces(String name) {
+    	return name.replace(' ', '_');
+    }
+
+    private class LazyActivationWrapper extends ObjectWrapper {
+    	
+    	private IJavaValue activation;
+    	private IJavaValue workingMemoryImpl;
+    	
+    	public LazyActivationWrapper(IJavaObject object, IJavaValue activation, IJavaObject workingMemoryImpl) {
+    		super(object, null);
+    		this.activation = activation;
+    		this.workingMemoryImpl = workingMemoryImpl;
+    	}
+    	
+    	public IVariable[] getVariables() {
+    		IVariable[] result = super.getVariables();
+    		if (result == null) {
+    			try {
+	                List variables = new ArrayList();
+	                variables.add(new VariableWrapper("ruleName", (IJavaValue) DebugUtil.getValueByExpression("return getRule().getName();", activation)));
+	        		String activationId = null;
+				    IVariable[] activationVarArray = activation.getVariables();
+		        	for (int j = 0; j < activationVarArray.length; j++) {
+		        		IVariable activationVar = activationVarArray[j];
+		        		if ("activationNumber".equals(activationVar.getName())) {
+		        			activationId = activationVar.getValue().getValueString();
+		        			break;
+		        		}
+		        	}
+		        	if (activationId != null) {
+			        	IValue objects = DebugUtil.getValueByExpression("return getActivationParameters(" + activationId + ");", workingMemoryImpl);
+			        	if (objects instanceof IJavaArray) {
+			                IJavaArray array = (IJavaArray) objects;
+			                IJavaValue[] javaVals = array.getValues();
+			                for ( int k = 0; k < javaVals.length; k++ ) {
+			                    IJavaValue mapEntry = javaVals[k];
+			                    String key = null;
+			                    IJavaValue value = null;
+			                    
+			                    IVariable[] vars = mapEntry.getVariables();
+			                    for ( int j = 0; j < vars.length; j++ ) {
+			                        IVariable var = vars[j];
+			                        if ("key".equals(var.getName())) {
+			                            key = var.getValue().getValueString();
+			                        } else if ("value".equals(var.getName())) {
+			                            value = (IJavaValue) var.getValue();
+			                        }
+			                    }
+			                    variables.add(new VariableWrapper(key, value));
+			                }
+			                result = (IJavaVariable[]) variables.toArray(new IJavaVariable[variables.size()]);
+			        	}
+		        	}
+    			} catch (Throwable t) {
+    				DroolsEclipsePlugin.log(t);
+    			}
+        		if (result == null) {
+        			result = new IJavaVariable[0];
+        		}
+                setVariables((IJavaVariable[]) result);
+    		}
+    		return result;
+    	}
+    	
+    	public boolean hasVariables() {
+    		return true;
+    	}
+    	
+    	public String getValueString() throws DebugException {
+    		return "Activation";
+    	}
+    	
+    	public String getReferenceTypeName() throws DebugException {
+    		return "";
+    	}
+    }
+    
+    /**
+     * Special VariableWrapper that considers variables with the same name
+     * as equal.
+     */
+    private class MyVariableWrapper extends VariableWrapper {
+    	
+    	public MyVariableWrapper(String name, IJavaValue value) {
+    		super(name, value);
+    	}
+    	
+    	public boolean equals(Object obj) {
+            if (obj instanceof VariableWrapper) {
+                VariableWrapper var = (VariableWrapper) obj;
+                return var.getName().equals(getName());
+            }
+            return false;
+        }
+
+        public int hashCode() {
+            return getName().hashCode();
+        }
+    	
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,16 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.eclipse.jface.viewers.IContentProvider;
-
-/**
- * The Application Data View.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class ApplicationDataView extends DroolsDebugEventHandlerView {
-
-    protected IContentProvider createContentProvider() {
-        ApplicationDataViewContentProvider contentProvider = new ApplicationDataViewContentProvider(this);
-        return contentProvider;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,16 @@
+package org.drools.eclipse.debug;
+
+import org.eclipse.jface.viewers.IContentProvider;
+
+/**
+ * The Application Data View.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class ApplicationDataView extends DroolsDebugEventHandlerView {
+
+    protected IContentProvider createContentProvider() {
+        ApplicationDataViewContentProvider contentProvider = new ApplicationDataViewContentProvider(this);
+        return contentProvider;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,85 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaValue;
-
-/**
- * The Application Data View content provider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class ApplicationDataViewContentProvider extends DroolsDebugViewContentProvider {
-
-    private DroolsDebugEventHandlerView view;
-    
-    public ApplicationDataViewContentProvider(DroolsDebugEventHandlerView view) {
-        this.view = view;
-    }
-    
-    protected String getEmptyString() {
-    	return "The selected working memory has no globals defined.";
-    }
-
-    public Object[] getChildren(Object obj) {
-        try {
-            IVariable[] variables = null;
-            if (obj != null && obj instanceof IJavaObject
-                    && "org.drools.reteoo.ReteooStatefulSession".equals(
-                        ((IJavaObject) obj).getReferenceTypeName())) {
-                variables = getApplicationDataElements((IJavaObject) obj);
-            } else if (obj instanceof IVariable) {
-            	if (view.isShowLogicalStructure()) {
-            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
-                	variables = value.getVariables();
-                }
-            	if (variables == null) {
-                	variables = ((IVariable) obj).getValue().getVariables();
-                }
-            }
-            if (variables == null) {
-                return new Object[0];
-            } else {
-                cache(obj, variables);
-                return variables;
-            }
-        } catch (DebugException e) {
-            DroolsEclipsePlugin.log(e);
-            return new Object[0];
-        }
-    }
-    
-    private IVariable[] getApplicationDataElements(IJavaObject stackObj) throws DebugException {
-        IValue objects = DebugUtil.getValueByExpression("return ((org.drools.base.MapGlobalResolver) getGlobalResolver()).getGlobals();", stackObj);
-        if (objects instanceof IJavaArray) {
-            IJavaArray array = (IJavaArray) objects;
-            List result = new ArrayList();
-            IJavaValue[] javaVals = array.getValues();
-            for ( int i = 0; i < javaVals.length; i++ ) {
-                IJavaValue mapEntry = javaVals[i];
-                String key = null;
-                IJavaValue value = null;
-                
-                IVariable[] vars = mapEntry.getVariables();
-                for ( int j = 0; j < vars.length; j++ ) {
-                    IVariable var = vars[j];
-                    if ("key".equals(var.getName())) {
-                        key = var.getValue().getValueString();
-                    } else if ("value".equals(var.getName())) {
-                        value = (IJavaValue) var.getValue();
-                    }
-                }
-                result.add(new VariableWrapper(key, value));
-            }
-            return (IVariable[]) result.toArray(new IVariable[result.size()]);
-        }
-        return null;
-    }    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,85 @@
+package org.drools.eclipse.debug;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaArray;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaValue;
+
+/**
+ * The Application Data View content provider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class ApplicationDataViewContentProvider extends DroolsDebugViewContentProvider {
+
+    private DroolsDebugEventHandlerView view;
+    
+    public ApplicationDataViewContentProvider(DroolsDebugEventHandlerView view) {
+        this.view = view;
+    }
+    
+    protected String getEmptyString() {
+    	return "The selected working memory has no globals defined.";
+    }
+
+    public Object[] getChildren(Object obj) {
+        try {
+            IVariable[] variables = null;
+            if (obj != null && obj instanceof IJavaObject
+                    && "org.drools.reteoo.ReteooStatefulSession".equals(
+                        ((IJavaObject) obj).getReferenceTypeName())) {
+                variables = getApplicationDataElements((IJavaObject) obj);
+            } else if (obj instanceof IVariable) {
+            	if (view.isShowLogicalStructure()) {
+            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
+                	variables = value.getVariables();
+                }
+            	if (variables == null) {
+                	variables = ((IVariable) obj).getValue().getVariables();
+                }
+            }
+            if (variables == null) {
+                return new Object[0];
+            } else {
+                cache(obj, variables);
+                return variables;
+            }
+        } catch (DebugException e) {
+            DroolsEclipsePlugin.log(e);
+            return new Object[0];
+        }
+    }
+    
+    private IVariable[] getApplicationDataElements(IJavaObject stackObj) throws DebugException {
+        IValue objects = DebugUtil.getValueByExpression("return ((org.drools.base.MapGlobalResolver) getGlobalResolver()).getGlobals();", stackObj);
+        if (objects instanceof IJavaArray) {
+            IJavaArray array = (IJavaArray) objects;
+            List result = new ArrayList();
+            IJavaValue[] javaVals = array.getValues();
+            for ( int i = 0; i < javaVals.length; i++ ) {
+                IJavaValue mapEntry = javaVals[i];
+                String key = null;
+                IJavaValue value = null;
+                
+                IVariable[] vars = mapEntry.getVariables();
+                for ( int j = 0; j < vars.length; j++ ) {
+                    IVariable var = vars[j];
+                    if ("key".equals(var.getName())) {
+                        key = var.getValue().getValueString();
+                    } else if ("value".equals(var.getName())) {
+                        value = (IJavaValue) var.getValue();
+                    }
+                }
+                result.add(new VariableWrapper(key, value));
+            }
+            return (IVariable[]) result.toArray(new IVariable[result.size()]);
+        }
+        return null;
+    }    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,441 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.ObjectInputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.audit.event.ActivationLogEvent;
-import org.drools.audit.event.LogEvent;
-import org.drools.audit.event.ObjectLogEvent;
-import org.drools.audit.event.RuleBaseLogEvent;
-import org.drools.audit.event.RuleFlowGroupLogEvent;
-import org.drools.audit.event.RuleFlowLogEvent;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.debug.actions.DeleteLogAction;
-import org.drools.eclipse.debug.actions.OpenLogAction;
-import org.drools.eclipse.debug.actions.RefreshLogAction;
-import org.drools.eclipse.debug.actions.ShowEventCauseAction;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PartInitException;
-
-import com.thoughtworks.xstream.XStream;
-
-public class AuditView extends AbstractDebugView {
-	
-	private static final String LOG_FILE_NAME = "LogFileName";
-	private static final String CAUSE_EVENT_COLOR = "CauseEventColor";
-	
-	private String logFileName;
-	private IAction deleteAction;
-	private IAction refreshAction;
-	
-    protected Viewer createViewer(Composite parent) {
-		final TreeViewer variablesViewer = new TreeViewer(parent);
-		variablesViewer.setContentProvider(new AuditViewContentProvider());
-        variablesViewer.setLabelProvider(new AuditLabelProvider());
-        variablesViewer.setUseHashlookup(true);
-        variablesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				getViewer().refresh();
-			}
-        });
-        return variablesViewer;
-    }
-    
-    public void setLogFile(String logFileName) {
-    	this.logFileName = logFileName;
-    	refresh();
-		deleteAction.setEnabled(logFileName != null);
-        refreshAction.setEnabled(logFileName != null);
-    }
-    
-    public void refresh() {
-    	if (logFileName == null) {
-    		getViewer().setInput(null);
-    		return;
-    	}
-		try {
-			XStream xstream = new XStream();
-			ObjectInputStream in = xstream.createObjectInputStream(
-				new FileReader(logFileName));
-			getViewer().setInput(createEventList((List) in.readObject()));
-			// TODO: this is necessary because otherwise, the show cause action
-			// cannot find the cause event if it hasn't been shown yet
-			((TreeViewer) getViewer()).expandAll();
-		} catch (FileNotFoundException e) {
-			setLogFile(null);
-			getViewer().setInput(null);
-		} catch (Throwable t) {
-			DroolsEclipsePlugin.log(t);
-			getViewer().setInput(null);
-		}
-    }
-    
-    protected List createEventList(List logEvents) {
-		Iterator iterator = logEvents.iterator();
-		List events = new ArrayList();
-		Event currentBeforeActivationEvent = null;
-		Event currentBeforePackageEvent = null;
-		List newActivations = new ArrayList();
-		Map activationMap = new HashMap();
-		Map objectMap = new HashMap();
-		while (iterator.hasNext()) {
-			LogEvent inEvent = (LogEvent) iterator.next();
-			Event event = new Event(inEvent.getType());
-			switch (inEvent.getType()) {
-				case LogEvent.INSERTED:
-					ObjectLogEvent inObjectEvent = (ObjectLogEvent) inEvent;
-					event.setString("Object inserted (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					event.addSubEvents(newActivations);
-					newActivations.clear();
-					objectMap.put(new Long(((ObjectLogEvent) inEvent).getFactId()), event);
-					break;
-				case LogEvent.UPDATED:
-					inObjectEvent = (ObjectLogEvent) inEvent;
-					event.setString("Object updated (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					event.addSubEvents(newActivations);
-					newActivations.clear();
-					Event assertEvent = (Event) objectMap.get(new Long(((ObjectLogEvent) inEvent).getFactId()));
-					if (assertEvent != null) {
-						event.setCauseEvent(assertEvent);
-					}
-					break;
-				case LogEvent.RETRACTED:
-					inObjectEvent = (ObjectLogEvent) inEvent;
-					event.setString("Object removed (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					event.addSubEvents(newActivations);
-					newActivations.clear();
-					assertEvent = (Event) objectMap.get(new Long(((ObjectLogEvent) inEvent).getFactId()));
-					if (assertEvent != null) {
-						event.setCauseEvent(assertEvent);
-					}
-					break;
-				case LogEvent.ACTIVATION_CREATED:
-					ActivationLogEvent inActivationEvent = (ActivationLogEvent) inEvent;
-					event.setString("Activation created: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
-					newActivations.add(event);
-					activationMap.put(((ActivationLogEvent) inEvent).getActivationId(), event);
-					break;
-				case LogEvent.ACTIVATION_CANCELLED:
-					inActivationEvent = (ActivationLogEvent) inEvent;
-					event.setString("Activation cancelled: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
-					newActivations.add(event);
-					event.setCauseEvent((Event) activationMap.get(((ActivationLogEvent) inEvent).getActivationId()));
-					break;
-				case LogEvent.BEFORE_ACTIVATION_FIRE:
-					inActivationEvent = (ActivationLogEvent) inEvent;
-					event.setString("Activation executed: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
-					events.add(event);
-					currentBeforeActivationEvent = event;
-					event.setCauseEvent((Event) activationMap.get(((ActivationLogEvent) inEvent).getActivationId()));
-					break;
-				case LogEvent.AFTER_ACTIVATION_FIRE:
-					currentBeforeActivationEvent = null;
-					break;
-				case LogEvent.RULEFLOW_CREATED:
-					RuleFlowLogEvent inRuleFlowEvent = (RuleFlowLogEvent) inEvent;
-					event.setString("RuleFlow started: " + inRuleFlowEvent.getProcessName() + "[" + inRuleFlowEvent.getProcessId() + "]");
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					break;
-				case LogEvent.RULEFLOW_COMPLETED:
-					inRuleFlowEvent = (RuleFlowLogEvent) inEvent;
-					event.setString("RuleFlow completed: " + inRuleFlowEvent.getProcessName() + "[" + inRuleFlowEvent.getProcessId() + "]");
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					break;
-				case LogEvent.RULEFLOW_GROUP_ACTIVATED:
-					RuleFlowGroupLogEvent inRuleFlowGroupEvent = (RuleFlowGroupLogEvent) inEvent;
-					event.setString("RuleFlowGroup activated: " + inRuleFlowGroupEvent.getGroupName() + "[size=" + inRuleFlowGroupEvent.getSize() + "]");
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					break;
-				case LogEvent.RULEFLOW_GROUP_DEACTIVATED:
-					inRuleFlowGroupEvent = (RuleFlowGroupLogEvent) inEvent;
-					event.setString("RuleFlowGroup deactivated: " + inRuleFlowGroupEvent.getGroupName() + "[size=" + inRuleFlowGroupEvent.getSize() + "]");
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					break;
-				case LogEvent.BEFORE_PACKAGE_ADDED:
-					RuleBaseLogEvent ruleBaseEvent = (RuleBaseLogEvent) inEvent;
-					event.setString("Package added: " + ruleBaseEvent.getPackageName());
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					currentBeforePackageEvent = event;
-					break;
-				case LogEvent.AFTER_PACKAGE_ADDED:
-					currentBeforePackageEvent = null;
-					break;
-				case LogEvent.BEFORE_PACKAGE_REMOVED:
-					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
-					event.setString("Package removed: " + ruleBaseEvent.getPackageName());
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					currentBeforePackageEvent = event;
-					break;
-				case LogEvent.AFTER_PACKAGE_REMOVED:
-					currentBeforePackageEvent = null;
-					break;
-				case LogEvent.AFTER_RULE_ADDED:
-					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
-					event.setString("Rule added: " + ruleBaseEvent.getRuleName());
-					if (currentBeforePackageEvent != null) {
-						currentBeforePackageEvent.addSubEvent(event);
-					} else if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					event.addSubEvents(newActivations);
-					newActivations.clear();
-					break;
-				case LogEvent.AFTER_RULE_REMOVED:
-					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
-					event.setString("Rule removed: " + ruleBaseEvent.getRuleName());
-					if (currentBeforePackageEvent != null) {
-						currentBeforePackageEvent.addSubEvent(event);
-					} else if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					event.addSubEvents(newActivations);
-					newActivations.clear();
-					break;
-			}
-		}
-		return events;
-    }
-    
-    public void deleteLog() {
-    	if (logFileName != null) {
-    		File file = new File(logFileName);
-    		try {
-    			file.delete();
-    			// TODO delete file cause this doesn't seem to work
-    			setLogFile(null);
-    			refresh();
-    		} catch (Throwable t) {
-    			t.printStackTrace();
-    			DroolsEclipsePlugin.log(t);
-    		}
-    	}
-    }
-    
-	protected void becomesVisible() {
-		refresh();
-	}
-    
-    protected String getHelpContextId() {
-        return null;
-    }
-    
-    public Event getSelectedEvent() {
-    	ISelection selection = getViewer().getSelection();
-    	if (selection instanceof IStructuredSelection) {
-    		Object selected = ((IStructuredSelection) selection).getFirstElement();
-    		if (selected instanceof Event) {
-    			return (Event) selected;
-    		}
-    	}
-    	return null;
-    }
-    
-    public void showEvent(Event event) {
-    	((TreeViewer) getViewer()).reveal(event);
-    }
-
-    protected void fillContextMenu(IMenuManager menu) {
-    	Event selected = getSelectedEvent();
-    	if (selected != null) {
-			Event causeEvent = selected.getCauseEvent();
-			if (causeEvent != null) {
-				menu.add(getAction("ShowEventCause"));
-			}
-    	}
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-    }
-
-	protected void createActions() {
-        deleteAction = new DeleteLogAction(this);
-        setAction("ClearLog", deleteAction);
-        deleteAction.setEnabled(logFileName != null);
-        refreshAction = new RefreshLogAction(this);
-        setAction("RefreshLog", refreshAction);
-        refreshAction.setEnabled(logFileName != null);
-        IAction action = new OpenLogAction(this);
-        setAction("OpenLog", action);
-		action = new ShowEventCauseAction(this);
-		setAction("ShowEventCause", action);
-    }
-
-    protected void configureToolBar(IToolBarManager tbm) {
-        tbm.add(getAction("OpenLog"));
-        tbm.add(getAction("RefreshLog"));
-        tbm.add(getAction("ClearLog"));
-    }
-    
-    public void saveState(IMemento memento) {
-    	memento.putString(LOG_FILE_NAME, logFileName);
-    }
-    
-    public void init(IViewSite site, IMemento memento) throws PartInitException {
-        super.init(site, memento);
-        if (memento != null) {
-        	logFileName = memento.getString(LOG_FILE_NAME);
-        }
-    }
-    
-	public class Event {
-		
-		private String toString;
-		private int type;
-		private List subEvents = new ArrayList();
-		private Event causeEvent;
-		
-		public Event(int type) {
-			this.type = type;
-		}
-		
-		public void setString(String toString) {
-			this.toString = toString;
-		}
-		
-		public String toString() {
-			return toString;
-		}
-		
-		public int getType() {
-			return type;
-		}
-		
-		public void addSubEvent(Event subEvent) {
-			subEvents.add(subEvent);
-		}
-		
-		public void addSubEvents(Collection subEvents) {
-			this.subEvents.addAll(subEvents);
-		}
-		
-		public Object[] getSubEvents() {
-			return subEvents.toArray();
-		}
-		
-		public boolean hasSubEvents() {
-			return !subEvents.isEmpty();
-		}
-		
-		public void setCauseEvent(Event causeEvent) {
-			this.causeEvent = causeEvent;
-		}
-		
-		public Event getCauseEvent() {
-			return causeEvent;
-		}
-	}
-	
-	public class AuditLabelProvider extends LabelProvider implements IColorProvider {
-
-		public Color getForeground(Object element) {
-			return null;
-		}
-
-		public Color getBackground(Object element) {
-			Event selected = getSelectedEvent();
-			if (selected != null) {
-				if (element.equals(selected.getCauseEvent())) {
-			        Color color = DroolsEclipsePlugin.getDefault().getColor(CAUSE_EVENT_COLOR);
-			        if (color == null) {
-			        	color = new Color(getControl().getDisplay(), 0, 255, 0); 
-		        		DroolsEclipsePlugin.getDefault().setColor(CAUSE_EVENT_COLOR, color);
-			        }
-			        return color;
-				}
-			}
-			return null;
-		}
-		
-	    public Image getImage(Object element) {
-	    	if (element instanceof Event) {
-	    		int type = ((Event) element).getType();
-	    		switch (type) {
-	    			case LogEvent.INSERTED: return DroolsPluginImages.getImage(DroolsPluginImages.INSERT);
-	    			case LogEvent.UPDATED: return DroolsPluginImages.getImage(DroolsPluginImages.UPDATE);
-	    			case LogEvent.RETRACTED: return DroolsPluginImages.getImage(DroolsPluginImages.RETRACT);
-	    			case LogEvent.ACTIVATION_CREATED: return DroolsPluginImages.getImage(DroolsPluginImages.CREATE_ACTIVATION);
-	    			case LogEvent.ACTIVATION_CANCELLED: return DroolsPluginImages.getImage(DroolsPluginImages.CANCEL_ACTIVATION);
-	    			case LogEvent.BEFORE_ACTIVATION_FIRE: return DroolsPluginImages.getImage(DroolsPluginImages.EXECUTE_ACTIVATION);
-	    			case LogEvent.RULEFLOW_CREATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
-	    			case LogEvent.RULEFLOW_COMPLETED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
-	    			case LogEvent.RULEFLOW_GROUP_ACTIVATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
-	    			case LogEvent.RULEFLOW_GROUP_DEACTIVATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
-	    			case LogEvent.BEFORE_PACKAGE_ADDED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
-	    			case LogEvent.BEFORE_PACKAGE_REMOVED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
-	    			case LogEvent.AFTER_RULE_ADDED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
-	    			case LogEvent.AFTER_RULE_REMOVED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
-	    		}
-	    		return null;
-	    	}
-	        return null;
-	    }
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,441 @@
+package org.drools.eclipse.debug;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.ObjectInputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.audit.event.ActivationLogEvent;
+import org.drools.audit.event.LogEvent;
+import org.drools.audit.event.ObjectLogEvent;
+import org.drools.audit.event.RuleBaseLogEvent;
+import org.drools.audit.event.RuleFlowGroupLogEvent;
+import org.drools.audit.event.RuleFlowLogEvent;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.debug.actions.DeleteLogAction;
+import org.drools.eclipse.debug.actions.OpenLogAction;
+import org.drools.eclipse.debug.actions.RefreshLogAction;
+import org.drools.eclipse.debug.actions.ShowEventCauseAction;
+import org.eclipse.debug.ui.AbstractDebugView;
+import org.eclipse.jface.action.GroupMarker;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.PartInitException;
+
+import com.thoughtworks.xstream.XStream;
+
+public class AuditView extends AbstractDebugView {
+	
+	private static final String LOG_FILE_NAME = "LogFileName";
+	private static final String CAUSE_EVENT_COLOR = "CauseEventColor";
+	
+	private String logFileName;
+	private IAction deleteAction;
+	private IAction refreshAction;
+	
+    protected Viewer createViewer(Composite parent) {
+		final TreeViewer variablesViewer = new TreeViewer(parent);
+		variablesViewer.setContentProvider(new AuditViewContentProvider());
+        variablesViewer.setLabelProvider(new AuditLabelProvider());
+        variablesViewer.setUseHashlookup(true);
+        variablesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+			public void selectionChanged(SelectionChangedEvent event) {
+				getViewer().refresh();
+			}
+        });
+        return variablesViewer;
+    }
+    
+    public void setLogFile(String logFileName) {
+    	this.logFileName = logFileName;
+    	refresh();
+		deleteAction.setEnabled(logFileName != null);
+        refreshAction.setEnabled(logFileName != null);
+    }
+    
+    public void refresh() {
+    	if (logFileName == null) {
+    		getViewer().setInput(null);
+    		return;
+    	}
+		try {
+			XStream xstream = new XStream();
+			ObjectInputStream in = xstream.createObjectInputStream(
+				new FileReader(logFileName));
+			getViewer().setInput(createEventList((List) in.readObject()));
+			// TODO: this is necessary because otherwise, the show cause action
+			// cannot find the cause event if it hasn't been shown yet
+			((TreeViewer) getViewer()).expandAll();
+		} catch (FileNotFoundException e) {
+			setLogFile(null);
+			getViewer().setInput(null);
+		} catch (Throwable t) {
+			DroolsEclipsePlugin.log(t);
+			getViewer().setInput(null);
+		}
+    }
+    
+    protected List createEventList(List logEvents) {
+		Iterator iterator = logEvents.iterator();
+		List events = new ArrayList();
+		Event currentBeforeActivationEvent = null;
+		Event currentBeforePackageEvent = null;
+		List newActivations = new ArrayList();
+		Map activationMap = new HashMap();
+		Map objectMap = new HashMap();
+		while (iterator.hasNext()) {
+			LogEvent inEvent = (LogEvent) iterator.next();
+			Event event = new Event(inEvent.getType());
+			switch (inEvent.getType()) {
+				case LogEvent.INSERTED:
+					ObjectLogEvent inObjectEvent = (ObjectLogEvent) inEvent;
+					event.setString("Object inserted (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					event.addSubEvents(newActivations);
+					newActivations.clear();
+					objectMap.put(new Long(((ObjectLogEvent) inEvent).getFactId()), event);
+					break;
+				case LogEvent.UPDATED:
+					inObjectEvent = (ObjectLogEvent) inEvent;
+					event.setString("Object updated (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					event.addSubEvents(newActivations);
+					newActivations.clear();
+					Event assertEvent = (Event) objectMap.get(new Long(((ObjectLogEvent) inEvent).getFactId()));
+					if (assertEvent != null) {
+						event.setCauseEvent(assertEvent);
+					}
+					break;
+				case LogEvent.RETRACTED:
+					inObjectEvent = (ObjectLogEvent) inEvent;
+					event.setString("Object removed (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					event.addSubEvents(newActivations);
+					newActivations.clear();
+					assertEvent = (Event) objectMap.get(new Long(((ObjectLogEvent) inEvent).getFactId()));
+					if (assertEvent != null) {
+						event.setCauseEvent(assertEvent);
+					}
+					break;
+				case LogEvent.ACTIVATION_CREATED:
+					ActivationLogEvent inActivationEvent = (ActivationLogEvent) inEvent;
+					event.setString("Activation created: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
+					newActivations.add(event);
+					activationMap.put(((ActivationLogEvent) inEvent).getActivationId(), event);
+					break;
+				case LogEvent.ACTIVATION_CANCELLED:
+					inActivationEvent = (ActivationLogEvent) inEvent;
+					event.setString("Activation cancelled: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
+					newActivations.add(event);
+					event.setCauseEvent((Event) activationMap.get(((ActivationLogEvent) inEvent).getActivationId()));
+					break;
+				case LogEvent.BEFORE_ACTIVATION_FIRE:
+					inActivationEvent = (ActivationLogEvent) inEvent;
+					event.setString("Activation executed: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
+					events.add(event);
+					currentBeforeActivationEvent = event;
+					event.setCauseEvent((Event) activationMap.get(((ActivationLogEvent) inEvent).getActivationId()));
+					break;
+				case LogEvent.AFTER_ACTIVATION_FIRE:
+					currentBeforeActivationEvent = null;
+					break;
+				case LogEvent.RULEFLOW_CREATED:
+					RuleFlowLogEvent inRuleFlowEvent = (RuleFlowLogEvent) inEvent;
+					event.setString("RuleFlow started: " + inRuleFlowEvent.getProcessName() + "[" + inRuleFlowEvent.getProcessId() + "]");
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					break;
+				case LogEvent.RULEFLOW_COMPLETED:
+					inRuleFlowEvent = (RuleFlowLogEvent) inEvent;
+					event.setString("RuleFlow completed: " + inRuleFlowEvent.getProcessName() + "[" + inRuleFlowEvent.getProcessId() + "]");
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					break;
+				case LogEvent.RULEFLOW_GROUP_ACTIVATED:
+					RuleFlowGroupLogEvent inRuleFlowGroupEvent = (RuleFlowGroupLogEvent) inEvent;
+					event.setString("RuleFlowGroup activated: " + inRuleFlowGroupEvent.getGroupName() + "[size=" + inRuleFlowGroupEvent.getSize() + "]");
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					break;
+				case LogEvent.RULEFLOW_GROUP_DEACTIVATED:
+					inRuleFlowGroupEvent = (RuleFlowGroupLogEvent) inEvent;
+					event.setString("RuleFlowGroup deactivated: " + inRuleFlowGroupEvent.getGroupName() + "[size=" + inRuleFlowGroupEvent.getSize() + "]");
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					break;
+				case LogEvent.BEFORE_PACKAGE_ADDED:
+					RuleBaseLogEvent ruleBaseEvent = (RuleBaseLogEvent) inEvent;
+					event.setString("Package added: " + ruleBaseEvent.getPackageName());
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					currentBeforePackageEvent = event;
+					break;
+				case LogEvent.AFTER_PACKAGE_ADDED:
+					currentBeforePackageEvent = null;
+					break;
+				case LogEvent.BEFORE_PACKAGE_REMOVED:
+					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
+					event.setString("Package removed: " + ruleBaseEvent.getPackageName());
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					currentBeforePackageEvent = event;
+					break;
+				case LogEvent.AFTER_PACKAGE_REMOVED:
+					currentBeforePackageEvent = null;
+					break;
+				case LogEvent.AFTER_RULE_ADDED:
+					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
+					event.setString("Rule added: " + ruleBaseEvent.getRuleName());
+					if (currentBeforePackageEvent != null) {
+						currentBeforePackageEvent.addSubEvent(event);
+					} else if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					event.addSubEvents(newActivations);
+					newActivations.clear();
+					break;
+				case LogEvent.AFTER_RULE_REMOVED:
+					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
+					event.setString("Rule removed: " + ruleBaseEvent.getRuleName());
+					if (currentBeforePackageEvent != null) {
+						currentBeforePackageEvent.addSubEvent(event);
+					} else if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					event.addSubEvents(newActivations);
+					newActivations.clear();
+					break;
+			}
+		}
+		return events;
+    }
+    
+    public void deleteLog() {
+    	if (logFileName != null) {
+    		File file = new File(logFileName);
+    		try {
+    			file.delete();
+    			// TODO delete file cause this doesn't seem to work
+    			setLogFile(null);
+    			refresh();
+    		} catch (Throwable t) {
+    			t.printStackTrace();
+    			DroolsEclipsePlugin.log(t);
+    		}
+    	}
+    }
+    
+	protected void becomesVisible() {
+		refresh();
+	}
+    
+    protected String getHelpContextId() {
+        return null;
+    }
+    
+    public Event getSelectedEvent() {
+    	ISelection selection = getViewer().getSelection();
+    	if (selection instanceof IStructuredSelection) {
+    		Object selected = ((IStructuredSelection) selection).getFirstElement();
+    		if (selected instanceof Event) {
+    			return (Event) selected;
+    		}
+    	}
+    	return null;
+    }
+    
+    public void showEvent(Event event) {
+    	((TreeViewer) getViewer()).reveal(event);
+    }
+
+    protected void fillContextMenu(IMenuManager menu) {
+    	Event selected = getSelectedEvent();
+    	if (selected != null) {
+			Event causeEvent = selected.getCauseEvent();
+			if (causeEvent != null) {
+				menu.add(getAction("ShowEventCause"));
+			}
+    	}
+		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+    }
+
+	protected void createActions() {
+        deleteAction = new DeleteLogAction(this);
+        setAction("ClearLog", deleteAction);
+        deleteAction.setEnabled(logFileName != null);
+        refreshAction = new RefreshLogAction(this);
+        setAction("RefreshLog", refreshAction);
+        refreshAction.setEnabled(logFileName != null);
+        IAction action = new OpenLogAction(this);
+        setAction("OpenLog", action);
+		action = new ShowEventCauseAction(this);
+		setAction("ShowEventCause", action);
+    }
+
+    protected void configureToolBar(IToolBarManager tbm) {
+        tbm.add(getAction("OpenLog"));
+        tbm.add(getAction("RefreshLog"));
+        tbm.add(getAction("ClearLog"));
+    }
+    
+    public void saveState(IMemento memento) {
+    	memento.putString(LOG_FILE_NAME, logFileName);
+    }
+    
+    public void init(IViewSite site, IMemento memento) throws PartInitException {
+        super.init(site, memento);
+        if (memento != null) {
+        	logFileName = memento.getString(LOG_FILE_NAME);
+        }
+    }
+    
+	public class Event {
+		
+		private String toString;
+		private int type;
+		private List subEvents = new ArrayList();
+		private Event causeEvent;
+		
+		public Event(int type) {
+			this.type = type;
+		}
+		
+		public void setString(String toString) {
+			this.toString = toString;
+		}
+		
+		public String toString() {
+			return toString;
+		}
+		
+		public int getType() {
+			return type;
+		}
+		
+		public void addSubEvent(Event subEvent) {
+			subEvents.add(subEvent);
+		}
+		
+		public void addSubEvents(Collection subEvents) {
+			this.subEvents.addAll(subEvents);
+		}
+		
+		public Object[] getSubEvents() {
+			return subEvents.toArray();
+		}
+		
+		public boolean hasSubEvents() {
+			return !subEvents.isEmpty();
+		}
+		
+		public void setCauseEvent(Event causeEvent) {
+			this.causeEvent = causeEvent;
+		}
+		
+		public Event getCauseEvent() {
+			return causeEvent;
+		}
+	}
+	
+	public class AuditLabelProvider extends LabelProvider implements IColorProvider {
+
+		public Color getForeground(Object element) {
+			return null;
+		}
+
+		public Color getBackground(Object element) {
+			Event selected = getSelectedEvent();
+			if (selected != null) {
+				if (element.equals(selected.getCauseEvent())) {
+			        Color color = DroolsEclipsePlugin.getDefault().getColor(CAUSE_EVENT_COLOR);
+			        if (color == null) {
+			        	color = new Color(getControl().getDisplay(), 0, 255, 0); 
+		        		DroolsEclipsePlugin.getDefault().setColor(CAUSE_EVENT_COLOR, color);
+			        }
+			        return color;
+				}
+			}
+			return null;
+		}
+		
+	    public Image getImage(Object element) {
+	    	if (element instanceof Event) {
+	    		int type = ((Event) element).getType();
+	    		switch (type) {
+	    			case LogEvent.INSERTED: return DroolsPluginImages.getImage(DroolsPluginImages.INSERT);
+	    			case LogEvent.UPDATED: return DroolsPluginImages.getImage(DroolsPluginImages.UPDATE);
+	    			case LogEvent.RETRACTED: return DroolsPluginImages.getImage(DroolsPluginImages.RETRACT);
+	    			case LogEvent.ACTIVATION_CREATED: return DroolsPluginImages.getImage(DroolsPluginImages.CREATE_ACTIVATION);
+	    			case LogEvent.ACTIVATION_CANCELLED: return DroolsPluginImages.getImage(DroolsPluginImages.CANCEL_ACTIVATION);
+	    			case LogEvent.BEFORE_ACTIVATION_FIRE: return DroolsPluginImages.getImage(DroolsPluginImages.EXECUTE_ACTIVATION);
+	    			case LogEvent.RULEFLOW_CREATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
+	    			case LogEvent.RULEFLOW_COMPLETED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
+	    			case LogEvent.RULEFLOW_GROUP_ACTIVATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
+	    			case LogEvent.RULEFLOW_GROUP_DEACTIVATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
+	    			case LogEvent.BEFORE_PACKAGE_ADDED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
+	    			case LogEvent.BEFORE_PACKAGE_REMOVED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
+	    			case LogEvent.AFTER_RULE_ADDED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
+	    			case LogEvent.AFTER_RULE_REMOVED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
+	    		}
+	    		return null;
+	    	}
+	        return null;
+	    }
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,29 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.List;
-
-import org.drools.eclipse.debug.AuditView.Event;
-
-public class AuditViewContentProvider extends DroolsDebugViewContentProvider {
-
-    protected String getEmptyString() {
-    	return "The selected audit log is empty.";
-    }
-
-    public Object[] getChildren(Object obj) {
-		if (obj instanceof List) {
-			return ((List) obj).toArray();
-		}
-        if (obj instanceof Event) {
-    		return ((Event) obj).getSubEvents();
-        }
-        return new Object[0];
-    }
-    
-    public boolean hasChildren(Object obj) {
-        if (obj instanceof Event) {
-    		return ((Event) obj).hasSubEvents();
-        }
-        return false;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,29 @@
+package org.drools.eclipse.debug;
+
+import java.util.List;
+
+import org.drools.eclipse.debug.AuditView.Event;
+
+public class AuditViewContentProvider extends DroolsDebugViewContentProvider {
+
+    protected String getEmptyString() {
+    	return "The selected audit log is empty.";
+    }
+
+    public Object[] getChildren(Object obj) {
+		if (obj instanceof List) {
+			return ((List) obj).toArray();
+		}
+        if (obj instanceof Event) {
+    		return ((Event) obj).getSubEvents();
+        }
+        return new Object[0];
+    }
+    
+    public boolean hasChildren(Object obj) {
+        if (obj instanceof Event) {
+    		return ((Event) obj).hasSubEvents();
+        }
+        return false;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,204 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.debug.core.IJavaClassType;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaReferenceType;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.eval.IAstEvaluationEngine;
-import org.eclipse.jdt.debug.eval.ICompiledExpression;
-import org.eclipse.jdt.debug.eval.IEvaluationListener;
-import org.eclipse.jdt.debug.eval.IEvaluationResult;
-import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
-
-public class DebugUtil {
-
-    public static final int INFO_EVALUATION_STACK_FRAME = 111;
-    private static IStatus fgNeedStackFrame = new Status(IStatus.INFO,
-        DroolsEclipsePlugin.getUniqueIdentifier(), INFO_EVALUATION_STACK_FRAME,
-        "Provides thread context for an evaluation", null);
-    private static IStatusHandler fgStackFrameProvider;
-
-    public static IValue getValueByExpression(String expression, IValue value) {
-        if (!(value instanceof IJavaObject)) {
-            return null;
-        }
-        IJavaObject javaValue = (IJavaObject) value;
-        try {
-            IJavaType type = javaValue.getJavaType();
-            if (!(type instanceof IJavaClassType)) {
-                return null;
-            }
-            IJavaStackFrame stackFrame = getStackFrame(javaValue);
-            if (stackFrame == null) {
-                return null;
-            }
-
-			// find the project the snippets will be compiled in.
-			ISourceLocator locator= javaValue.getLaunch().getSourceLocator();
-			Object sourceElement= null;
-			if (locator instanceof ISourceLookupDirector) {
-				String[] sourcePaths = ((IJavaClassType) type).getSourcePaths(null);
-				if (sourcePaths != null && sourcePaths.length > 0) {
-					sourceElement = ((ISourceLookupDirector) locator).getSourceElement(sourcePaths[0]);
-				}
-				if (!(sourceElement instanceof IJavaElement) && sourceElement instanceof IAdaptable) {
-					sourceElement = ((IAdaptable) sourceElement).getAdapter(IJavaElement.class);
-				}
-			}
-			if (sourceElement == null) {
-				sourceElement = locator.getSourceElement(stackFrame);
-				if (!(sourceElement instanceof IJavaElement) && sourceElement instanceof IAdaptable) {
-					Object newSourceElement = ((IAdaptable) sourceElement).getAdapter(IJavaElement.class);
-					// if the source is a drl during the execution of the rule
-					if (newSourceElement != null) {
-						sourceElement = newSourceElement;
-					}
-				}
-			}
-			IJavaProject project = null;
-			if (sourceElement instanceof IJavaElement) {
-				project = ((IJavaElement) sourceElement).getJavaProject();
-			} else if (sourceElement instanceof IResource) {
-				IJavaProject resourceProject = JavaCore.create(((IResource) sourceElement).getProject());
-				if (resourceProject.exists()) {
-					project = resourceProject;
-				}
-			}
-            if (project == null) {
-                return null;
-            }
-
-            IAstEvaluationEngine evaluationEngine = JDIDebugPlugin.getDefault()
-                    .getEvaluationEngine(project,
-                            (IJavaDebugTarget) stackFrame.getDebugTarget());
-
-            EvaluationBlock evaluationBlock = new EvaluationBlock(javaValue,
-                    (IJavaReferenceType) type, (IJavaThread) stackFrame.getThread(),
-                    evaluationEngine);
-            return evaluationBlock.evaluate(expression);
-
-        } catch (CoreException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-        return null;
-    }
-
-    /**
-     * Return the current stack frame context, or a valid stack frame for the
-     * given value.
-     */
-    private static IJavaStackFrame getStackFrame(IValue value)
-            throws CoreException {
-        IStatusHandler handler = getStackFrameProvider();
-        if (handler != null) {
-            IJavaStackFrame stackFrame = (IJavaStackFrame) handler
-                    .handleStatus(fgNeedStackFrame, value);
-            if (stackFrame != null) {
-                return stackFrame;
-            }
-        }
-        IDebugTarget target = value.getDebugTarget();
-        IJavaDebugTarget javaTarget = (IJavaDebugTarget) target
-                .getAdapter(IJavaDebugTarget.class);
-        if (javaTarget != null) {
-            IThread[] threads = javaTarget.getThreads();
-            for (int i = 0; i < threads.length; i++) {
-                IThread thread = threads[i];
-                if (thread.isSuspended()) {
-                    return (IJavaStackFrame) thread.getTopStackFrame();
-                }
-            }
-        }
-        return null;
-    }
-
-    private static IStatusHandler getStackFrameProvider() {
-        if (fgStackFrameProvider == null) {
-            fgStackFrameProvider = DebugPlugin.getDefault().getStatusHandler(
-                    fgNeedStackFrame);
-        }
-        return fgStackFrameProvider;
-    }
-
-    private static class EvaluationBlock implements IEvaluationListener {
-
-        private IJavaObject fEvaluationValue;
-        private IJavaReferenceType fEvaluationType;
-        private IJavaThread fThread;
-        private IAstEvaluationEngine fEvaluationEngine;
-        private IEvaluationResult fResult;
-
-        public EvaluationBlock(IJavaObject value, IJavaReferenceType type,
-                IJavaThread thread, IAstEvaluationEngine evaluationEngine) {
-            fEvaluationValue = value;
-            fEvaluationType = type;
-            fThread = thread;
-            fEvaluationEngine = evaluationEngine;
-        }
-
-        public void evaluationComplete(IEvaluationResult result) {
-            synchronized (this) {
-                fResult = result;
-                this.notify();
-            }
-        }
-
-        public IJavaValue evaluate(String snippet) throws DebugException {
-            ICompiledExpression compiledExpression = fEvaluationEngine
-                    .getCompiledExpression(snippet, fEvaluationType);
-            if (compiledExpression.hasErrors()) {
-                String[] errorMessages = compiledExpression.getErrorMessages();
-                String message = "";
-
-                for ( int i = 0; i < errorMessages.length; i++ ) {
-                    message += errorMessages[i] + "\n";
-                }
-                throw new DebugException(new Status(IStatus.ERROR, 
-                    DroolsEclipsePlugin.PLUGIN_ID, DroolsEclipsePlugin.INTERNAL_ERROR,
-                    "Error when compiling snippet " + snippet + ": " + message, null));
-            }
-            fResult = null;
-            fEvaluationEngine.evaluateExpression(compiledExpression,
-                    fEvaluationValue, fThread, this,
-                    DebugEvent.EVALUATION_IMPLICIT, false);
-            synchronized (this) {
-                if (fResult == null) {
-                    try {
-                        this.wait();
-                    } catch (InterruptedException e) {
-                    }
-                }
-            }
-            if (fResult == null) {
-                return null;
-            }
-            if (fResult.hasErrors()) {
-                return null;
-            }
-            return fResult.getValue();
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,204 @@
+package org.drools.eclipse.debug;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.IStatusHandler;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.ISourceLocator;
+import org.eclipse.debug.core.model.IThread;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.debug.core.IJavaClassType;
+import org.eclipse.jdt.debug.core.IJavaDebugTarget;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaReferenceType;
+import org.eclipse.jdt.debug.core.IJavaStackFrame;
+import org.eclipse.jdt.debug.core.IJavaThread;
+import org.eclipse.jdt.debug.core.IJavaType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.eval.IAstEvaluationEngine;
+import org.eclipse.jdt.debug.eval.ICompiledExpression;
+import org.eclipse.jdt.debug.eval.IEvaluationListener;
+import org.eclipse.jdt.debug.eval.IEvaluationResult;
+import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
+
+public class DebugUtil {
+
+    public static final int INFO_EVALUATION_STACK_FRAME = 111;
+    private static IStatus fgNeedStackFrame = new Status(IStatus.INFO,
+        DroolsEclipsePlugin.getUniqueIdentifier(), INFO_EVALUATION_STACK_FRAME,
+        "Provides thread context for an evaluation", null);
+    private static IStatusHandler fgStackFrameProvider;
+
+    public static IValue getValueByExpression(String expression, IValue value) {
+        if (!(value instanceof IJavaObject)) {
+            return null;
+        }
+        IJavaObject javaValue = (IJavaObject) value;
+        try {
+            IJavaType type = javaValue.getJavaType();
+            if (!(type instanceof IJavaClassType)) {
+                return null;
+            }
+            IJavaStackFrame stackFrame = getStackFrame(javaValue);
+            if (stackFrame == null) {
+                return null;
+            }
+
+			// find the project the snippets will be compiled in.
+			ISourceLocator locator= javaValue.getLaunch().getSourceLocator();
+			Object sourceElement= null;
+			if (locator instanceof ISourceLookupDirector) {
+				String[] sourcePaths = ((IJavaClassType) type).getSourcePaths(null);
+				if (sourcePaths != null && sourcePaths.length > 0) {
+					sourceElement = ((ISourceLookupDirector) locator).getSourceElement(sourcePaths[0]);
+				}
+				if (!(sourceElement instanceof IJavaElement) && sourceElement instanceof IAdaptable) {
+					sourceElement = ((IAdaptable) sourceElement).getAdapter(IJavaElement.class);
+				}
+			}
+			if (sourceElement == null) {
+				sourceElement = locator.getSourceElement(stackFrame);
+				if (!(sourceElement instanceof IJavaElement) && sourceElement instanceof IAdaptable) {
+					Object newSourceElement = ((IAdaptable) sourceElement).getAdapter(IJavaElement.class);
+					// if the source is a drl during the execution of the rule
+					if (newSourceElement != null) {
+						sourceElement = newSourceElement;
+					}
+				}
+			}
+			IJavaProject project = null;
+			if (sourceElement instanceof IJavaElement) {
+				project = ((IJavaElement) sourceElement).getJavaProject();
+			} else if (sourceElement instanceof IResource) {
+				IJavaProject resourceProject = JavaCore.create(((IResource) sourceElement).getProject());
+				if (resourceProject.exists()) {
+					project = resourceProject;
+				}
+			}
+            if (project == null) {
+                return null;
+            }
+
+            IAstEvaluationEngine evaluationEngine = JDIDebugPlugin.getDefault()
+                    .getEvaluationEngine(project,
+                            (IJavaDebugTarget) stackFrame.getDebugTarget());
+
+            EvaluationBlock evaluationBlock = new EvaluationBlock(javaValue,
+                    (IJavaReferenceType) type, (IJavaThread) stackFrame.getThread(),
+                    evaluationEngine);
+            return evaluationBlock.evaluate(expression);
+
+        } catch (CoreException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+        return null;
+    }
+
+    /**
+     * Return the current stack frame context, or a valid stack frame for the
+     * given value.
+     */
+    private static IJavaStackFrame getStackFrame(IValue value)
+            throws CoreException {
+        IStatusHandler handler = getStackFrameProvider();
+        if (handler != null) {
+            IJavaStackFrame stackFrame = (IJavaStackFrame) handler
+                    .handleStatus(fgNeedStackFrame, value);
+            if (stackFrame != null) {
+                return stackFrame;
+            }
+        }
+        IDebugTarget target = value.getDebugTarget();
+        IJavaDebugTarget javaTarget = (IJavaDebugTarget) target
+                .getAdapter(IJavaDebugTarget.class);
+        if (javaTarget != null) {
+            IThread[] threads = javaTarget.getThreads();
+            for (int i = 0; i < threads.length; i++) {
+                IThread thread = threads[i];
+                if (thread.isSuspended()) {
+                    return (IJavaStackFrame) thread.getTopStackFrame();
+                }
+            }
+        }
+        return null;
+    }
+
+    private static IStatusHandler getStackFrameProvider() {
+        if (fgStackFrameProvider == null) {
+            fgStackFrameProvider = DebugPlugin.getDefault().getStatusHandler(
+                    fgNeedStackFrame);
+        }
+        return fgStackFrameProvider;
+    }
+
+    private static class EvaluationBlock implements IEvaluationListener {
+
+        private IJavaObject fEvaluationValue;
+        private IJavaReferenceType fEvaluationType;
+        private IJavaThread fThread;
+        private IAstEvaluationEngine fEvaluationEngine;
+        private IEvaluationResult fResult;
+
+        public EvaluationBlock(IJavaObject value, IJavaReferenceType type,
+                IJavaThread thread, IAstEvaluationEngine evaluationEngine) {
+            fEvaluationValue = value;
+            fEvaluationType = type;
+            fThread = thread;
+            fEvaluationEngine = evaluationEngine;
+        }
+
+        public void evaluationComplete(IEvaluationResult result) {
+            synchronized (this) {
+                fResult = result;
+                this.notify();
+            }
+        }
+
+        public IJavaValue evaluate(String snippet) throws DebugException {
+            ICompiledExpression compiledExpression = fEvaluationEngine
+                    .getCompiledExpression(snippet, fEvaluationType);
+            if (compiledExpression.hasErrors()) {
+                String[] errorMessages = compiledExpression.getErrorMessages();
+                String message = "";
+
+                for ( int i = 0; i < errorMessages.length; i++ ) {
+                    message += errorMessages[i] + "\n";
+                }
+                throw new DebugException(new Status(IStatus.ERROR, 
+                    DroolsEclipsePlugin.PLUGIN_ID, DroolsEclipsePlugin.INTERNAL_ERROR,
+                    "Error when compiling snippet " + snippet + ": " + message, null));
+            }
+            fResult = null;
+            fEvaluationEngine.evaluateExpression(compiledExpression,
+                    fEvaluationValue, fThread, this,
+                    DebugEvent.EVALUATION_IMPLICIT, false);
+            synchronized (this) {
+                if (fResult == null) {
+                    try {
+                        this.wait();
+                    } catch (InterruptedException e) {
+                    }
+                }
+            }
+            if (fResult == null) {
+                return null;
+            }
+            if (fResult.hasErrors()) {
+                return null;
+            }
+            return fResult.getValue();
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,271 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.debug.actions.ShowLogicalStructureAction;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.VariablesViewModelPresentation;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * A generic Drools debug view.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public abstract class DroolsDebugEventHandlerView extends AbstractDebugView implements IDebugContextListener, ISelectionListener {
-
-    private VariablesViewModelPresentation modelPresentation;
-    private boolean showLogical = true;
-    private Object[] oldExpandedElements = new Object[0];
-
-    public void dispose() {
-		DebugContextManager.getDefault().removeDebugContextListener(this, getSite().getWorkbenchWindow());
-        getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
-        super.dispose();
-    }
-
-    public boolean isShowLogicalStructure() {
-        return showLogical;
-    }
-
-    public void setShowLogicalStructure(boolean showLogical) {
-        this.showLogical = showLogical;
-    }
-
-    protected void setViewerInput(Object context) {
-    	Object input = null;
-    	
-    	// if a working memory has been explicitly selected as variable, use this
-    	if (context instanceof IVariable) {
-        	IVariable variable = (IVariable) context;
-            try {
-                IValue value = ((IVariable) context).getValue();
-                if (value != null && value instanceof IJavaObject
-                        && "org.drools.reteoo.ReteooStatefulSession".equals(
-                            variable.getValue().getReferenceTypeName())) {
-                    input = value;
-                }
-            } catch (Throwable t) {
-                DroolsEclipsePlugin.log(t);
-            }
-        }
-    	// else get selected thread and determine if any of the stack frames
-    	// is executing in a working memory, if so, use that one 
-    	if (input == null) {
-    		ISelection stackSelection = DebugContextManager.getDefault().getActiveContext(getSite().getWorkbenchWindow());
-    		if (stackSelection instanceof IStructuredSelection) {
-                Object selection = ((IStructuredSelection) stackSelection).getFirstElement();
-                if (selection instanceof IJavaStackFrame) {
-                	try {
-                    	IJavaThread thread = (IJavaThread) ((IJavaStackFrame) selection).getThread();
-                    	IStackFrame[] frames = thread.getStackFrames();
-                    	for (int i = 0; i < frames.length; i++) {
-                            IJavaObject stackObj = ((IJavaStackFrame) frames[i]).getThis();
-                            if ((stackObj != null)
-                                    && (stackObj.getJavaType() != null)
-                                    && ("org.drools.reteoo.ReteooStatefulSession".equals(
-                                        stackObj.getJavaType().getName()))) {
-                                input = stackObj;
-                                break;
-                            }
-                    	}
-                    } catch (Throwable t) {
-                        DroolsEclipsePlugin.log(t);
-                    }
-                }
-    		}
-    	}
-		
-    	Object current = getViewer().getInput();
-				
-		if (current == null && input == null) {
-			return;
-		}
-
-		Object[] newExpandedElements = ((TreeViewer) getViewer()).getExpandedElements();
-		if (newExpandedElements.length != 0) {
-			oldExpandedElements = newExpandedElements;
-		}
-		getViewer().setInput(input);
-		if (input != null) {
-			((TreeViewer) getViewer()).setExpandedElements(oldExpandedElements);
-			((TreeViewer) getViewer()).expandToLevel(getAutoExpandLevel());
-		}
-    }
-
-    protected Viewer createViewer(Composite parent) {
-		TreeViewer variablesViewer = new TreeViewer(parent);
-		variablesViewer.setContentProvider(createContentProvider());
-        variablesViewer.setLabelProvider(new VariablesViewLabelProvider(
-            getModelPresentation()));
-        variablesViewer.setUseHashlookup(true);
-		DebugContextManager.getDefault().addDebugContextListener(this, getSite().getWorkbenchWindow());
-        getSite().getPage().addSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
-		return variablesViewer;
-    }
-    
-    protected int getAutoExpandLevel() {
-    	return 0;
-    }
-    
-    protected abstract IContentProvider createContentProvider();
-
-    protected String getHelpContextId() {
-        return null;
-    }
-
-	protected void becomesHidden() {
-		setViewerInput(null);
-		super.becomesHidden();
-	}
-
-	protected void becomesVisible() {
-		super.becomesVisible();
-        ISelection selection = getSite().getPage().getSelection(
-            IDebugUIConstants.ID_VARIABLE_VIEW);
-        if (selection instanceof IStructuredSelection) {
-            setViewerInput(((IStructuredSelection) selection).getFirstElement());
-        }
-    }
-
-	protected void createActions() {
-        IAction action = new ShowLogicalStructureAction(this);
-        setAction("ShowLogicalStructure", action);
-    }
-
-    protected void configureToolBar(IToolBarManager tbm) {
-        tbm.add(getAction("ShowLogicalStructure"));
-    }
-
-    protected void fillContextMenu(IMenuManager menu) {
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-    }
-
-	public void contextActivated(ISelection selection, IWorkbenchPart part) {
-		if (!isAvailable() || !isVisible()) {
-			return;
-		}
-		
-		if (selection instanceof IStructuredSelection) {
-			setViewerInput(((IStructuredSelection)selection).getFirstElement());
-		}
-		showViewer();
-	}
-
-	public void contextChanged(ISelection selection, IWorkbenchPart part) {
-	}
-	
-    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-        if (!isAvailable()) {
-            return;
-        }
-        if (selection == null) {
-            setViewerInput(null);
-        } else if (selection instanceof IStructuredSelection) {
-            setViewerInput(((IStructuredSelection) selection).getFirstElement());
-        }
-    }
-    
-	protected void initActionState(IAction action) {
-		// The show logical structure action is always enabled by default
-		// when (re)starting the view 
-		String id = action.getId();
-		if (id.endsWith("ShowLogicalStructureAction")) {
-			action.setChecked(true);
-		} else {
-			super.initActionState(action);
-		}
-	}
-    
-    protected IDebugModelPresentation getModelPresentation() {
-        if (modelPresentation == null) {
-            modelPresentation = new VariablesViewModelPresentation();
-        }
-        return modelPresentation;
-    }
-
-	private class VariablesViewLabelProvider implements ILabelProvider, IColorProvider {
-
-        private IDebugModelPresentation presentation;
-
-        public VariablesViewLabelProvider(IDebugModelPresentation presentation) {
-            this.presentation = presentation;
-        }
-
-        public IDebugModelPresentation getPresentation() {
-            return presentation;
-        }
-
-        public Image getImage(Object element) {
-            return presentation.getImage(element);
-        }
-
-        public String getText(Object element) {
-            return presentation.getText(element);
-        }
-
-        public void addListener(ILabelProviderListener listener) {
-            presentation.addListener(listener);
-        }
-
-        public void dispose() {
-            presentation.dispose();
-        }
-
-        public boolean isLabelProperty(Object element, String property) {
-            return presentation.isLabelProperty(element, property);
-        }
-
-        public void removeListener(ILabelProviderListener listener) {
-            presentation.removeListener(listener);
-        }
-
-        public Color getForeground(Object element) {
-            if (element instanceof IVariable) {
-                IVariable variable = (IVariable) element;
-                try {
-                    if (variable.hasValueChanged()) {
-                        return JFaceResources.getColorRegistry()
-                            .get(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR);
-                    }
-                } catch (DebugException e) {
-                    DroolsEclipsePlugin.log(e);
-                }
-            }
-            return null;
-        }
-
-        public Color getBackground(Object element) {
-            return null;
-        }
-
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,271 @@
+package org.drools.eclipse.debug;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.debug.actions.ShowLogicalStructureAction;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IStackFrame;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.debug.internal.ui.VariablesViewModelPresentation;
+import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
+import org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener;
+import org.eclipse.debug.ui.AbstractDebugView;
+import org.eclipse.debug.ui.IDebugModelPresentation;
+import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaStackFrame;
+import org.eclipse.jdt.debug.core.IJavaThread;
+import org.eclipse.jface.action.GroupMarker;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.ISelectionListener;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.IWorkbenchPart;
+
+/**
+ * A generic Drools debug view.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public abstract class DroolsDebugEventHandlerView extends AbstractDebugView implements IDebugContextListener, ISelectionListener {
+
+    private VariablesViewModelPresentation modelPresentation;
+    private boolean showLogical = true;
+    private Object[] oldExpandedElements = new Object[0];
+
+    public void dispose() {
+		DebugContextManager.getDefault().removeDebugContextListener(this, getSite().getWorkbenchWindow());
+        getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
+        super.dispose();
+    }
+
+    public boolean isShowLogicalStructure() {
+        return showLogical;
+    }
+
+    public void setShowLogicalStructure(boolean showLogical) {
+        this.showLogical = showLogical;
+    }
+
+    protected void setViewerInput(Object context) {
+    	Object input = null;
+    	
+    	// if a working memory has been explicitly selected as variable, use this
+    	if (context instanceof IVariable) {
+        	IVariable variable = (IVariable) context;
+            try {
+                IValue value = ((IVariable) context).getValue();
+                if (value != null && value instanceof IJavaObject
+                        && "org.drools.reteoo.ReteooStatefulSession".equals(
+                            variable.getValue().getReferenceTypeName())) {
+                    input = value;
+                }
+            } catch (Throwable t) {
+                DroolsEclipsePlugin.log(t);
+            }
+        }
+    	// else get selected thread and determine if any of the stack frames
+    	// is executing in a working memory, if so, use that one 
+    	if (input == null) {
+    		ISelection stackSelection = DebugContextManager.getDefault().getActiveContext(getSite().getWorkbenchWindow());
+    		if (stackSelection instanceof IStructuredSelection) {
+                Object selection = ((IStructuredSelection) stackSelection).getFirstElement();
+                if (selection instanceof IJavaStackFrame) {
+                	try {
+                    	IJavaThread thread = (IJavaThread) ((IJavaStackFrame) selection).getThread();
+                    	IStackFrame[] frames = thread.getStackFrames();
+                    	for (int i = 0; i < frames.length; i++) {
+                            IJavaObject stackObj = ((IJavaStackFrame) frames[i]).getThis();
+                            if ((stackObj != null)
+                                    && (stackObj.getJavaType() != null)
+                                    && ("org.drools.reteoo.ReteooStatefulSession".equals(
+                                        stackObj.getJavaType().getName()))) {
+                                input = stackObj;
+                                break;
+                            }
+                    	}
+                    } catch (Throwable t) {
+                        DroolsEclipsePlugin.log(t);
+                    }
+                }
+    		}
+    	}
+		
+    	Object current = getViewer().getInput();
+				
+		if (current == null && input == null) {
+			return;
+		}
+
+		Object[] newExpandedElements = ((TreeViewer) getViewer()).getExpandedElements();
+		if (newExpandedElements.length != 0) {
+			oldExpandedElements = newExpandedElements;
+		}
+		getViewer().setInput(input);
+		if (input != null) {
+			((TreeViewer) getViewer()).setExpandedElements(oldExpandedElements);
+			((TreeViewer) getViewer()).expandToLevel(getAutoExpandLevel());
+		}
+    }
+
+    protected Viewer createViewer(Composite parent) {
+		TreeViewer variablesViewer = new TreeViewer(parent);
+		variablesViewer.setContentProvider(createContentProvider());
+        variablesViewer.setLabelProvider(new VariablesViewLabelProvider(
+            getModelPresentation()));
+        variablesViewer.setUseHashlookup(true);
+		DebugContextManager.getDefault().addDebugContextListener(this, getSite().getWorkbenchWindow());
+        getSite().getPage().addSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
+		return variablesViewer;
+    }
+    
+    protected int getAutoExpandLevel() {
+    	return 0;
+    }
+    
+    protected abstract IContentProvider createContentProvider();
+
+    protected String getHelpContextId() {
+        return null;
+    }
+
+	protected void becomesHidden() {
+		setViewerInput(null);
+		super.becomesHidden();
+	}
+
+	protected void becomesVisible() {
+		super.becomesVisible();
+        ISelection selection = getSite().getPage().getSelection(
+            IDebugUIConstants.ID_VARIABLE_VIEW);
+        if (selection instanceof IStructuredSelection) {
+            setViewerInput(((IStructuredSelection) selection).getFirstElement());
+        }
+    }
+
+	protected void createActions() {
+        IAction action = new ShowLogicalStructureAction(this);
+        setAction("ShowLogicalStructure", action);
+    }
+
+    protected void configureToolBar(IToolBarManager tbm) {
+        tbm.add(getAction("ShowLogicalStructure"));
+    }
+
+    protected void fillContextMenu(IMenuManager menu) {
+		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+    }
+
+	public void contextActivated(ISelection selection, IWorkbenchPart part) {
+		if (!isAvailable() || !isVisible()) {
+			return;
+		}
+		
+		if (selection instanceof IStructuredSelection) {
+			setViewerInput(((IStructuredSelection)selection).getFirstElement());
+		}
+		showViewer();
+	}
+
+	public void contextChanged(ISelection selection, IWorkbenchPart part) {
+	}
+	
+    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+        if (!isAvailable()) {
+            return;
+        }
+        if (selection == null) {
+            setViewerInput(null);
+        } else if (selection instanceof IStructuredSelection) {
+            setViewerInput(((IStructuredSelection) selection).getFirstElement());
+        }
+    }
+    
+	protected void initActionState(IAction action) {
+		// The show logical structure action is always enabled by default
+		// when (re)starting the view 
+		String id = action.getId();
+		if (id.endsWith("ShowLogicalStructureAction")) {
+			action.setChecked(true);
+		} else {
+			super.initActionState(action);
+		}
+	}
+    
+    protected IDebugModelPresentation getModelPresentation() {
+        if (modelPresentation == null) {
+            modelPresentation = new VariablesViewModelPresentation();
+        }
+        return modelPresentation;
+    }
+
+	private class VariablesViewLabelProvider implements ILabelProvider, IColorProvider {
+
+        private IDebugModelPresentation presentation;
+
+        public VariablesViewLabelProvider(IDebugModelPresentation presentation) {
+            this.presentation = presentation;
+        }
+
+        public IDebugModelPresentation getPresentation() {
+            return presentation;
+        }
+
+        public Image getImage(Object element) {
+            return presentation.getImage(element);
+        }
+
+        public String getText(Object element) {
+            return presentation.getText(element);
+        }
+
+        public void addListener(ILabelProviderListener listener) {
+            presentation.addListener(listener);
+        }
+
+        public void dispose() {
+            presentation.dispose();
+        }
+
+        public boolean isLabelProperty(Object element, String property) {
+            return presentation.isLabelProperty(element, property);
+        }
+
+        public void removeListener(ILabelProviderListener listener) {
+            presentation.removeListener(listener);
+        }
+
+        public Color getForeground(Object element) {
+            if (element instanceof IVariable) {
+                IVariable variable = (IVariable) element;
+                try {
+                    if (variable.hasValueChanged()) {
+                        return JFaceResources.getColorRegistry()
+                            .get(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR);
+                    }
+                } catch (DebugException e) {
+                    DroolsEclipsePlugin.log(e);
+                }
+            }
+            return null;
+        }
+
+        public Color getBackground(Object element) {
+            return null;
+        }
+
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,140 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * A generic Drools debug view content provider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DroolsDebugViewContentProvider implements ITreeContentProvider {
-    
-    private Map parentCache;
-    
-    public DroolsDebugViewContentProvider() {
-        parentCache = new HashMap(10);
-    }
-    
-    public Object[] getChildren(Object parent) {
-        return null;
-    }
-    
-    public Object[] getElements(Object parent) {
-        Object[] result = getChildren(parent);
-        if (result != null && result.length == 0) {
-        	return new Object[] { getEmptyString() };
-        }
-        return result;
-    }
-    
-    protected String getEmptyString() {
-    	return "Empty";
-    }
-
-    protected void cache(Object parent, Object[] children) {        
-        for (int i = 0; i < children.length; i++) {
-            parentCache.put(children[i], parent);
-        }       
-    }
-    
-    public Object getParent(Object item) {
-        return parentCache.get(item);
-    }
-
-    public void dispose() {
-        parentCache= null;
-    }
-    
-    protected void clearCache() {
-        if (parentCache != null) {
-            parentCache.clear();
-        }
-    }
-    
-    public void removeCache(Object[] children) {
-        if (parentCache == null) {
-            return;
-        }
-        for (int i = 0; i < children.length; i++) {
-            parentCache.remove(children[i]);   
-        }
-    }
-
-    public boolean hasChildren(Object element) {
-        try {
-            if (element instanceof IVariable) {
-                IValue v = ((IVariable)element).getValue();
-                return v != null && v.hasVariables();
-            }
-            if (element instanceof IValue) {
-                return ((IValue)element).hasVariables();
-            }
-            if (element instanceof IStackFrame) {
-                return ((IStackFrame)element).hasVariables();
-            }
-        } catch (DebugException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-        return false;
-    }
-
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        clearCache();
-    }
-    
-    public List getCachedDecendants(Object parent) {
-        Iterator children = parentCache.keySet().iterator();
-        List cachedChildren = new ArrayList(10);
-        while (children.hasNext()) {
-            Object child = children.next();
-            if (isCachedDecendant(child, parent)) {
-                cachedChildren.add(child);
-            }
-        }
-        return cachedChildren;
-    }
-    
-    protected boolean isCachedDecendant(Object child, Object parent) {
-        Object p = getParent(child);
-        while (p != null) {
-            if (p.equals(parent)) {
-                return true;
-            }
-            p = getParent(p);
-        }
-        return false;
-    }
-    
-    protected IValue getLogicalValue(IValue value, List previousStructureIds) {
-        ILogicalStructureType[] types = DebugPlugin.getLogicalStructureTypes(value);
-        if (types.length > 0) {
-            ILogicalStructureType type = DebugPlugin.getDefaultStructureType(types);
-            if (type != null && !previousStructureIds.contains(type.getId())) {
-                try {
-                    value = type.getLogicalStructure(value);
-                    previousStructureIds.add(type.getId());
-                    return getLogicalValue(value, previousStructureIds);
-                } catch (CoreException e) {
-                    // unable to display logical structure
-                }
-            }
-        }
-        return value;
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,140 @@
+package org.drools.eclipse.debug;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.ILogicalStructureType;
+import org.eclipse.debug.core.model.IStackFrame;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+/**
+ * A generic Drools debug view content provider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DroolsDebugViewContentProvider implements ITreeContentProvider {
+    
+    private Map parentCache;
+    
+    public DroolsDebugViewContentProvider() {
+        parentCache = new HashMap(10);
+    }
+    
+    public Object[] getChildren(Object parent) {
+        return null;
+    }
+    
+    public Object[] getElements(Object parent) {
+        Object[] result = getChildren(parent);
+        if (result != null && result.length == 0) {
+        	return new Object[] { getEmptyString() };
+        }
+        return result;
+    }
+    
+    protected String getEmptyString() {
+    	return "Empty";
+    }
+
+    protected void cache(Object parent, Object[] children) {        
+        for (int i = 0; i < children.length; i++) {
+            parentCache.put(children[i], parent);
+        }       
+    }
+    
+    public Object getParent(Object item) {
+        return parentCache.get(item);
+    }
+
+    public void dispose() {
+        parentCache= null;
+    }
+    
+    protected void clearCache() {
+        if (parentCache != null) {
+            parentCache.clear();
+        }
+    }
+    
+    public void removeCache(Object[] children) {
+        if (parentCache == null) {
+            return;
+        }
+        for (int i = 0; i < children.length; i++) {
+            parentCache.remove(children[i]);   
+        }
+    }
+
+    public boolean hasChildren(Object element) {
+        try {
+            if (element instanceof IVariable) {
+                IValue v = ((IVariable)element).getValue();
+                return v != null && v.hasVariables();
+            }
+            if (element instanceof IValue) {
+                return ((IValue)element).hasVariables();
+            }
+            if (element instanceof IStackFrame) {
+                return ((IStackFrame)element).hasVariables();
+            }
+        } catch (DebugException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+        return false;
+    }
+
+    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+        clearCache();
+    }
+    
+    public List getCachedDecendants(Object parent) {
+        Iterator children = parentCache.keySet().iterator();
+        List cachedChildren = new ArrayList(10);
+        while (children.hasNext()) {
+            Object child = children.next();
+            if (isCachedDecendant(child, parent)) {
+                cachedChildren.add(child);
+            }
+        }
+        return cachedChildren;
+    }
+    
+    protected boolean isCachedDecendant(Object child, Object parent) {
+        Object p = getParent(child);
+        while (p != null) {
+            if (p.equals(parent)) {
+                return true;
+            }
+            p = getParent(p);
+        }
+        return false;
+    }
+    
+    protected IValue getLogicalValue(IValue value, List previousStructureIds) {
+        ILogicalStructureType[] types = DebugPlugin.getLogicalStructureTypes(value);
+        if (types.length > 0) {
+            ILogicalStructureType type = DebugPlugin.getDefaultStructureType(types);
+            if (type != null && !previousStructureIds.contains(type.getId())) {
+                try {
+                    value = type.getLogicalStructure(value);
+                    previousStructureIds.add(type.getId());
+                    return getLogicalValue(value, previousStructureIds);
+                } catch (CoreException e) {
+                    // unable to display logical structure
+                }
+            }
+        }
+        return value;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,104 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaFieldVariable;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-/**
- * Creates a IJavaObject from an IJavaObject and given variables.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class ObjectWrapper implements IJavaObject {
-    
-    private IJavaObject object;
-    private IJavaVariable[] variables;
-    
-    public ObjectWrapper(IJavaObject object, IJavaVariable[] variables) {
-        this.object = object;
-        this.variables = variables;
-    }
-
-    public IJavaValue sendMessage(String selector, String signature, IJavaValue[] args, IJavaThread thread, boolean superSend) throws DebugException {
-        return object.sendMessage(selector, signature, args, thread, superSend);
-    }
-
-    public IJavaValue sendMessage(String selector, String signature, IJavaValue[] args, IJavaThread thread, String typeSignature) throws DebugException {
-        return object.sendMessage(selector, signature, args, thread, typeSignature);
-    }
-
-    public IJavaFieldVariable getField(String name, boolean superField) throws DebugException {
-        return object.getField(name, superField);
-    }
-
-    public IJavaFieldVariable getField(String name, String typeSignature) throws DebugException {
-        return object.getField(name, typeSignature);
-    }
-
-    public String getSignature() throws DebugException {
-        return object.getSignature();
-    }
-
-    public String getGenericSignature() throws DebugException {
-        return object.getGenericSignature();
-    }
-
-    public IJavaType getJavaType() throws DebugException {
-        return object.getJavaType();
-    }
-
-    public String getReferenceTypeName() throws DebugException {
-        return object.getReferenceTypeName();
-    }
-
-    public String getValueString() throws DebugException {
-        return object.getValueString();
-    }
-
-    public boolean isAllocated() throws DebugException {
-        return object.isAllocated();
-    }
-
-    public IVariable[] getVariables() {
-        return variables;
-    }
-
-    public boolean hasVariables() {
-        return variables.length > 0;
-    }
-    
-    protected void setVariables(IJavaVariable[] variables) {
-    	this.variables = variables;
-    }
-
-    public String getModelIdentifier() {
-        return object.getModelIdentifier();
-    }
-
-    public IDebugTarget getDebugTarget() {
-        return object.getDebugTarget();
-    }
-
-    public ILaunch getLaunch() {
-        return object.getLaunch();
-    }
-
-    public Object getAdapter(Class adapter) {
-        return object.getAdapter(adapter);
-    }
-
-    public IJavaThread[] getWaitingThreads() throws DebugException {
-        return null;
-    }
-
-    public IJavaThread getOwningThread() throws DebugException {
-        return null;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,104 @@
+package org.drools.eclipse.debug;
+
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaFieldVariable;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaThread;
+import org.eclipse.jdt.debug.core.IJavaType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+
+/**
+ * Creates a IJavaObject from an IJavaObject and given variables.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class ObjectWrapper implements IJavaObject {
+    
+    private IJavaObject object;
+    private IJavaVariable[] variables;
+    
+    public ObjectWrapper(IJavaObject object, IJavaVariable[] variables) {
+        this.object = object;
+        this.variables = variables;
+    }
+
+    public IJavaValue sendMessage(String selector, String signature, IJavaValue[] args, IJavaThread thread, boolean superSend) throws DebugException {
+        return object.sendMessage(selector, signature, args, thread, superSend);
+    }
+
+    public IJavaValue sendMessage(String selector, String signature, IJavaValue[] args, IJavaThread thread, String typeSignature) throws DebugException {
+        return object.sendMessage(selector, signature, args, thread, typeSignature);
+    }
+
+    public IJavaFieldVariable getField(String name, boolean superField) throws DebugException {
+        return object.getField(name, superField);
+    }
+
+    public IJavaFieldVariable getField(String name, String typeSignature) throws DebugException {
+        return object.getField(name, typeSignature);
+    }
+
+    public String getSignature() throws DebugException {
+        return object.getSignature();
+    }
+
+    public String getGenericSignature() throws DebugException {
+        return object.getGenericSignature();
+    }
+
+    public IJavaType getJavaType() throws DebugException {
+        return object.getJavaType();
+    }
+
+    public String getReferenceTypeName() throws DebugException {
+        return object.getReferenceTypeName();
+    }
+
+    public String getValueString() throws DebugException {
+        return object.getValueString();
+    }
+
+    public boolean isAllocated() throws DebugException {
+        return object.isAllocated();
+    }
+
+    public IVariable[] getVariables() {
+        return variables;
+    }
+
+    public boolean hasVariables() {
+        return variables.length > 0;
+    }
+    
+    protected void setVariables(IJavaVariable[] variables) {
+    	this.variables = variables;
+    }
+
+    public String getModelIdentifier() {
+        return object.getModelIdentifier();
+    }
+
+    public IDebugTarget getDebugTarget() {
+        return object.getDebugTarget();
+    }
+
+    public ILaunch getLaunch() {
+        return object.getLaunch();
+    }
+
+    public Object getAdapter(Class adapter) {
+        return object.getAdapter(adapter);
+    }
+
+    public IJavaThread[] getWaitingThreads() throws DebugException {
+        return null;
+    }
+
+    public IJavaThread getOwningThread() throws DebugException {
+        return null;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,105 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.io.ObjectInputStream;
-import java.io.StringReader;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-
-import com.thoughtworks.xstream.XStream;
-
-/**
- * An audit view that shows the contents of the selected logger when debugging.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RealtimeAuditView extends AuditView implements ISelectionListener {
-
-    public void dispose() {
-        getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
-        super.dispose();
-    }
-
-    protected Viewer createViewer(Composite parent) {
-        getSite().getPage().addSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
-    	return super.createViewer(parent);
-    }
-    
-    protected void setViewerInput(Object context) {
-     	// if an in memory logger has been explicitly selected as variable
-    	if (context instanceof IVariable) {
-        	IVariable variable = (IVariable) context;
-            try {
-                IValue value = ((IVariable) context).getValue();
-                if (value != null && value instanceof IJavaObject
-                        && "org.drools.audit.WorkingMemoryInMemoryLogger".equals(
-                            variable.getValue().getReferenceTypeName())) {
-                	setAuditEvents((IJavaObject) value);
-                }
-            } catch (Throwable t) {
-                DroolsEclipsePlugin.log(t);
-            }
-        }
-    }
-
-	protected void becomesHidden() {
-		setViewerInput(null);
-		super.becomesHidden();
-	}
-
-	protected void becomesVisible() {
-		super.becomesVisible();
-        ISelection selection = getSite().getPage().getSelection(
-            IDebugUIConstants.ID_VARIABLE_VIEW);
-        if (selection instanceof IStructuredSelection) {
-            setViewerInput(((IStructuredSelection) selection).getFirstElement());
-        }
-    }
-
-    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-        if (!isAvailable()) {
-            return;
-        }
-        if (selection == null) {
-            setViewerInput(null);
-        } else if (selection instanceof IStructuredSelection) {
-            setViewerInput(((IStructuredSelection) selection).getFirstElement());
-        }
-    }
-    
-	protected void createActions() {
-	}
-	
-    protected void configureToolBar(IToolBarManager tbm) {
-    }
-    
-    private void setAuditEvents(IJavaObject inMemoryLogger) throws DebugException {
-        IValue eventString = DebugUtil.getValueByExpression("return getEvents();", inMemoryLogger);
-        String s = eventString.getValueString();
-        if (s != null) {
-        	try {
-				XStream xstream = new XStream();
-				ObjectInputStream in = xstream.createObjectInputStream(
-					new StringReader(s));
-				getViewer().setInput(createEventList((List) in.readObject()));
-        	} catch (Throwable t) {
-        		DroolsEclipsePlugin.log(t);
-        		getViewer().setInput(null);
-        	}
-        } else {
-        	getViewer().setInput(null);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,105 @@
+package org.drools.eclipse.debug;
+
+import java.io.ObjectInputStream;
+import java.io.StringReader;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.ISelectionListener;
+import org.eclipse.ui.IWorkbenchPart;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ * An audit view that shows the contents of the selected logger when debugging.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RealtimeAuditView extends AuditView implements ISelectionListener {
+
+    public void dispose() {
+        getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
+        super.dispose();
+    }
+
+    protected Viewer createViewer(Composite parent) {
+        getSite().getPage().addSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
+    	return super.createViewer(parent);
+    }
+    
+    protected void setViewerInput(Object context) {
+     	// if an in memory logger has been explicitly selected as variable
+    	if (context instanceof IVariable) {
+        	IVariable variable = (IVariable) context;
+            try {
+                IValue value = ((IVariable) context).getValue();
+                if (value != null && value instanceof IJavaObject
+                        && "org.drools.audit.WorkingMemoryInMemoryLogger".equals(
+                            variable.getValue().getReferenceTypeName())) {
+                	setAuditEvents((IJavaObject) value);
+                }
+            } catch (Throwable t) {
+                DroolsEclipsePlugin.log(t);
+            }
+        }
+    }
+
+	protected void becomesHidden() {
+		setViewerInput(null);
+		super.becomesHidden();
+	}
+
+	protected void becomesVisible() {
+		super.becomesVisible();
+        ISelection selection = getSite().getPage().getSelection(
+            IDebugUIConstants.ID_VARIABLE_VIEW);
+        if (selection instanceof IStructuredSelection) {
+            setViewerInput(((IStructuredSelection) selection).getFirstElement());
+        }
+    }
+
+    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+        if (!isAvailable()) {
+            return;
+        }
+        if (selection == null) {
+            setViewerInput(null);
+        } else if (selection instanceof IStructuredSelection) {
+            setViewerInput(((IStructuredSelection) selection).getFirstElement());
+        }
+    }
+    
+	protected void createActions() {
+	}
+	
+    protected void configureToolBar(IToolBarManager tbm) {
+    }
+    
+    private void setAuditEvents(IJavaObject inMemoryLogger) throws DebugException {
+        IValue eventString = DebugUtil.getValueByExpression("return getEvents();", inMemoryLogger);
+        String s = eventString.getValueString();
+        if (s != null) {
+        	try {
+				XStream xstream = new XStream();
+				ObjectInputStream in = xstream.createObjectInputStream(
+					new StringReader(s));
+				getViewer().setInput(createEventList((List) in.readObject()));
+        	} catch (Throwable t) {
+        		DroolsEclipsePlugin.log(t);
+        		getViewer().setInput(null);
+        	}
+        } else {
+        	getViewer().setInput(null);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,147 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.jdt.debug.core.IJavaModifiers;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-/**
- * Creates a Variable from an IValue and a given name.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class VariableWrapper extends PlatformObject implements IJavaVariable  {
-
-    private String name;
-    private IJavaValue value;
-    private boolean isLocal = false;
-    private boolean isPublic = false;
-    
-    public VariableWrapper(String name, IJavaValue value) {
-        this.name = name;
-        this.value = value;
-    }
-    
-    public String getSignature() throws DebugException {
-        return ((IJavaValue) getValue()).getSignature();
-    }
-
-    public String getGenericSignature() throws DebugException {
-        return ((IJavaValue) getValue()).getGenericSignature();
-    }
-    
-    public IJavaType getJavaType() throws DebugException {
-        return ((IJavaValue) getValue()).getJavaType();
-    }
-
-    public boolean isLocal() {
-        return isLocal;
-    }
-
-    public IValue getValue() {
-        return value;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getReferenceTypeName() throws DebugException {
-        return ((IJavaValue) getValue()).getReferenceTypeName();
-    }
-
-    public boolean hasValueChanged() {
-        return false;
-    }
-
-    public boolean isPublic() {
-        return isPublic;
-    }
-
-    public boolean isPrivate() {
-        return false;
-    }
-
-    public boolean isProtected() {
-        return false;
-    }
-
-    public boolean isPackagePrivate() {
-        return false;
-    }
-
-    public boolean isFinal() {
-        return false;
-    }
-
-    public boolean isStatic() {
-        return false;
-    }
-
-    public boolean isSynthetic() {
-        return false;
-    }
-
-    public String getModelIdentifier() {
-        return getValue().getModelIdentifier();
-    }
-
-    public IDebugTarget getDebugTarget() {
-        return ((IJavaValue) getValue()).getDebugTarget();
-    }
-
-    public ILaunch getLaunch() {
-        return getValue().getLaunch();
-    }
-
-    public void setValue(String expression) {
-    }
-
-    public void setValue(IValue value) {
-    }
-
-    public boolean supportsValueModification() {
-        return false;
-    }
-
-    public boolean verifyValue(String expression) {
-        return false;
-    }
-
-    public boolean verifyValue(IValue value) {
-        return false;
-    }
-
-    public Object getAdapter(Class adapter) {
-        if (IJavaVariable.class.equals(adapter) ||
-            IJavaModifiers.class.equals(adapter)) {
-            return this;
-        }
-        return super.getAdapter(adapter);
-    }
-
-    public boolean equals(Object obj) {
-        if (obj instanceof VariableWrapper) {
-            VariableWrapper var = (VariableWrapper) obj;
-            return var.getName().equals(getName()) && var.getValue().equals(getValue());
-        }
-        return false;
-    }
-
-    public int hashCode() {
-        return name.hashCode() + value.hashCode();
-    }
-
-    public void setLocal(boolean val) {
-        isLocal=val;
-    }
-    
-    public void setPublic(boolean val) {
-        isPublic = val;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,147 @@
+package org.drools.eclipse.debug;
+
+import org.eclipse.core.runtime.PlatformObject;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.jdt.debug.core.IJavaModifiers;
+import org.eclipse.jdt.debug.core.IJavaType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+
+/**
+ * Creates a Variable from an IValue and a given name.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class VariableWrapper extends PlatformObject implements IJavaVariable  {
+
+    private String name;
+    private IJavaValue value;
+    private boolean isLocal = false;
+    private boolean isPublic = false;
+    
+    public VariableWrapper(String name, IJavaValue value) {
+        this.name = name;
+        this.value = value;
+    }
+    
+    public String getSignature() throws DebugException {
+        return ((IJavaValue) getValue()).getSignature();
+    }
+
+    public String getGenericSignature() throws DebugException {
+        return ((IJavaValue) getValue()).getGenericSignature();
+    }
+    
+    public IJavaType getJavaType() throws DebugException {
+        return ((IJavaValue) getValue()).getJavaType();
+    }
+
+    public boolean isLocal() {
+        return isLocal;
+    }
+
+    public IValue getValue() {
+        return value;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String getReferenceTypeName() throws DebugException {
+        return ((IJavaValue) getValue()).getReferenceTypeName();
+    }
+
+    public boolean hasValueChanged() {
+        return false;
+    }
+
+    public boolean isPublic() {
+        return isPublic;
+    }
+
+    public boolean isPrivate() {
+        return false;
+    }
+
+    public boolean isProtected() {
+        return false;
+    }
+
+    public boolean isPackagePrivate() {
+        return false;
+    }
+
+    public boolean isFinal() {
+        return false;
+    }
+
+    public boolean isStatic() {
+        return false;
+    }
+
+    public boolean isSynthetic() {
+        return false;
+    }
+
+    public String getModelIdentifier() {
+        return getValue().getModelIdentifier();
+    }
+
+    public IDebugTarget getDebugTarget() {
+        return ((IJavaValue) getValue()).getDebugTarget();
+    }
+
+    public ILaunch getLaunch() {
+        return getValue().getLaunch();
+    }
+
+    public void setValue(String expression) {
+    }
+
+    public void setValue(IValue value) {
+    }
+
+    public boolean supportsValueModification() {
+        return false;
+    }
+
+    public boolean verifyValue(String expression) {
+        return false;
+    }
+
+    public boolean verifyValue(IValue value) {
+        return false;
+    }
+
+    public Object getAdapter(Class adapter) {
+        if (IJavaVariable.class.equals(adapter) ||
+            IJavaModifiers.class.equals(adapter)) {
+            return this;
+        }
+        return super.getAdapter(adapter);
+    }
+
+    public boolean equals(Object obj) {
+        if (obj instanceof VariableWrapper) {
+            VariableWrapper var = (VariableWrapper) obj;
+            return var.getName().equals(getName()) && var.getValue().equals(getValue());
+        }
+        return false;
+    }
+
+    public int hashCode() {
+        return name.hashCode() + value.hashCode();
+    }
+
+    public void setLocal(boolean val) {
+        isLocal=val;
+    }
+    
+    public void setPublic(boolean val) {
+        isPublic = val;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,16 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.eclipse.jface.viewers.IContentProvider;
-
-/**
- * The Working Memory view.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class WorkingMemoryView extends DroolsDebugEventHandlerView {
-
-    protected IContentProvider createContentProvider() {
-        WorkingMemoryViewContentProvider contentProvider = new WorkingMemoryViewContentProvider(this);
-        return contentProvider;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,16 @@
+package org.drools.eclipse.debug;
+
+import org.eclipse.jface.viewers.IContentProvider;
+
+/**
+ * The Working Memory view.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class WorkingMemoryView extends DroolsDebugEventHandlerView {
+
+    protected IContentProvider createContentProvider() {
+        WorkingMemoryViewContentProvider contentProvider = new WorkingMemoryViewContentProvider(this);
+        return contentProvider;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,203 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaModifiers;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-/**
- * The Working Memory view content provider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class WorkingMemoryViewContentProvider extends DroolsDebugViewContentProvider {
-
-    private DroolsDebugEventHandlerView view;
-    
-    public WorkingMemoryViewContentProvider(DroolsDebugEventHandlerView view) {
-        this.view = view;
-    }
-    
-    protected String getEmptyString() {
-    	return "The selected working memory is empty.";
-    }
-
-    public Object[] getChildren(Object obj) {
-        try {
-            IVariable[] variables = null;
-            if (obj != null && obj instanceof IJavaObject
-                    && "org.drools.reteoo.ReteooStatefulSession".equals(
-                        ((IJavaObject) obj).getReferenceTypeName())) {
-                variables = getWorkingMemoryElements((IJavaObject) obj);
-            } else if (obj instanceof IVariable) {
-            	if (view.isShowLogicalStructure()) {
-            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
-                	variables = value.getVariables();
-                }
-            	if (variables == null) {
-                	variables = ((IVariable) obj).getValue().getVariables();
-                }
-            }
-            if (variables == null) {
-                return new Object[0];
-            } else {
-                cache(obj, variables);
-                return variables;
-            }
-        } catch (DebugException e) {
-            DroolsEclipsePlugin.log(e);
-            return new Object[0];
-        }
-    }
-    
-    private IVariable[] getWorkingMemoryElements(IJavaObject stackObj) throws DebugException {
-        IValue objects = DebugUtil.getValueByExpression("return iterateObjectsToList().toArray();", stackObj);
-        if (objects instanceof IJavaArray) {
-            IJavaArray array = (IJavaArray) objects;
-            List result = new ArrayList();
-            
-            IJavaValue[] vals = array.getValues();
-            
-            for ( int i = 0; i < vals.length; i++ ) {
-                result.add(new MyJavaVariable("[" + i + "]", vals[i]));
-            }
-            
-            
-            return (IVariable[]) result.toArray(new IVariable[0]);
-        }
-        return null;
-    }
-    
-    public class MyJavaVariable implements IJavaVariable {
-
-    	private String name;
-    	private IJavaValue value;
-
-    	public MyJavaVariable(String name, IJavaValue value) {
-    		this.name = name;
-    		this.value = value;
-    	}
-    	
-    	public String getSignature() throws DebugException {
-    		return ((IJavaValue)getValue()).getSignature();
-    	}
-
-    	public String getGenericSignature() throws DebugException {
-    		return ((IJavaValue)getValue()).getGenericSignature();
-    	}
-    	
-    	public IJavaType getJavaType() throws DebugException {
-    		return ((IJavaValue)getValue()).getJavaType();
-    	}
-
-    	public boolean isLocal() {
-    		return false;
-    	}
-
-    	public IValue getValue() {
-    		return value;
-    	}
-
-    	public String getName() {
-    		return name;
-    	}
-
-    	public String getReferenceTypeName() throws DebugException {
-    		return ((IJavaValue) getValue()).getReferenceTypeName();
-    	}
-
-    	public boolean hasValueChanged() {
-    		return false;
-    	}
-
-    	public boolean isPublic() {
-    		return false;
-    	}
-
-    	public boolean isPrivate() {
-    		return false;
-    	}
-
-    	public boolean isProtected() {
-    		return false;
-    	}
-
-    	public boolean isPackagePrivate() {
-    		return false;
-    	}
-
-    	public boolean isFinal() {
-    		return false;
-    	}
-
-    	public boolean isStatic() {
-    		return false;
-    	}
-
-    	public boolean isSynthetic() {
-    		return false;
-    	}
-
-    	public String getModelIdentifier() {
-    		return getValue().getModelIdentifier();
-    	}
-
-    	public IDebugTarget getDebugTarget() {
-    		return ((IJavaValue)getValue()).getDebugTarget();
-    	}
-
-    	public ILaunch getLaunch() {
-    		return getValue().getLaunch();
-    	}
-
-    	public void setValue(String expression) {
-    	}
-
-    	public void setValue(IValue value) {
-    	}
-
-    	public boolean supportsValueModification() {
-    		return false;
-    	}
-
-    	public boolean verifyValue(String expression) {
-    		return false;
-    	}
-
-    	public boolean verifyValue(IValue value) {
-    		return false;
-    	}
-
-    	public Object getAdapter(Class adapter) {
-    		if (IJavaVariable.class.equals(adapter) ||
-    			IJavaModifiers.class.equals(adapter)) {
-    			return this;
-    		}
-    		return null;
-    	}
-
-    	public boolean equals(Object obj) {
-    		if (obj instanceof MyJavaVariable) {
-    			MyJavaVariable var = (MyJavaVariable) obj;
-    			return var.getName().equals(getName()) && var.getValue().equals(getValue());
-    		}
-    		return false;
-    	}
-
-    	public int hashCode() {
-    		return name.hashCode() + value.hashCode();
-    	}
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,203 @@
+package org.drools.eclipse.debug;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaArray;
+import org.eclipse.jdt.debug.core.IJavaModifiers;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+
+/**
+ * The Working Memory view content provider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class WorkingMemoryViewContentProvider extends DroolsDebugViewContentProvider {
+
+    private DroolsDebugEventHandlerView view;
+    
+    public WorkingMemoryViewContentProvider(DroolsDebugEventHandlerView view) {
+        this.view = view;
+    }
+    
+    protected String getEmptyString() {
+    	return "The selected working memory is empty.";
+    }
+
+    public Object[] getChildren(Object obj) {
+        try {
+            IVariable[] variables = null;
+            if (obj != null && obj instanceof IJavaObject
+                    && "org.drools.reteoo.ReteooStatefulSession".equals(
+                        ((IJavaObject) obj).getReferenceTypeName())) {
+                variables = getWorkingMemoryElements((IJavaObject) obj);
+            } else if (obj instanceof IVariable) {
+            	if (view.isShowLogicalStructure()) {
+            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
+                	variables = value.getVariables();
+                }
+            	if (variables == null) {
+                	variables = ((IVariable) obj).getValue().getVariables();
+                }
+            }
+            if (variables == null) {
+                return new Object[0];
+            } else {
+                cache(obj, variables);
+                return variables;
+            }
+        } catch (DebugException e) {
+            DroolsEclipsePlugin.log(e);
+            return new Object[0];
+        }
+    }
+    
+    private IVariable[] getWorkingMemoryElements(IJavaObject stackObj) throws DebugException {
+        IValue objects = DebugUtil.getValueByExpression("return iterateObjectsToList().toArray();", stackObj);
+        if (objects instanceof IJavaArray) {
+            IJavaArray array = (IJavaArray) objects;
+            List result = new ArrayList();
+            
+            IJavaValue[] vals = array.getValues();
+            
+            for ( int i = 0; i < vals.length; i++ ) {
+                result.add(new MyJavaVariable("[" + i + "]", vals[i]));
+            }
+            
+            
+            return (IVariable[]) result.toArray(new IVariable[0]);
+        }
+        return null;
+    }
+    
+    public class MyJavaVariable implements IJavaVariable {
+
+    	private String name;
+    	private IJavaValue value;
+
+    	public MyJavaVariable(String name, IJavaValue value) {
+    		this.name = name;
+    		this.value = value;
+    	}
+    	
+    	public String getSignature() throws DebugException {
+    		return ((IJavaValue)getValue()).getSignature();
+    	}
+
+    	public String getGenericSignature() throws DebugException {
+    		return ((IJavaValue)getValue()).getGenericSignature();
+    	}
+    	
+    	public IJavaType getJavaType() throws DebugException {
+    		return ((IJavaValue)getValue()).getJavaType();
+    	}
+
+    	public boolean isLocal() {
+    		return false;
+    	}
+
+    	public IValue getValue() {
+    		return value;
+    	}
+
+    	public String getName() {
+    		return name;
+    	}
+
+    	public String getReferenceTypeName() throws DebugException {
+    		return ((IJavaValue) getValue()).getReferenceTypeName();
+    	}
+
+    	public boolean hasValueChanged() {
+    		return false;
+    	}
+
+    	public boolean isPublic() {
+    		return false;
+    	}
+
+    	public boolean isPrivate() {
+    		return false;
+    	}
+
+    	public boolean isProtected() {
+    		return false;
+    	}
+
+    	public boolean isPackagePrivate() {
+    		return false;
+    	}
+
+    	public boolean isFinal() {
+    		return false;
+    	}
+
+    	public boolean isStatic() {
+    		return false;
+    	}
+
+    	public boolean isSynthetic() {
+    		return false;
+    	}
+
+    	public String getModelIdentifier() {
+    		return getValue().getModelIdentifier();
+    	}
+
+    	public IDebugTarget getDebugTarget() {
+    		return ((IJavaValue)getValue()).getDebugTarget();
+    	}
+
+    	public ILaunch getLaunch() {
+    		return getValue().getLaunch();
+    	}
+
+    	public void setValue(String expression) {
+    	}
+
+    	public void setValue(IValue value) {
+    	}
+
+    	public boolean supportsValueModification() {
+    		return false;
+    	}
+
+    	public boolean verifyValue(String expression) {
+    		return false;
+    	}
+
+    	public boolean verifyValue(IValue value) {
+    		return false;
+    	}
+
+    	public Object getAdapter(Class adapter) {
+    		if (IJavaVariable.class.equals(adapter) ||
+    			IJavaModifiers.class.equals(adapter)) {
+    			return this;
+    		}
+    		return null;
+    	}
+
+    	public boolean equals(Object obj) {
+    		if (obj instanceof MyJavaVariable) {
+    			MyJavaVariable var = (MyJavaVariable) obj;
+    			return var.getName().equals(getName()) && var.getValue().equals(getValue());
+    		}
+    		return false;
+    	}
+
+    	public int hashCode() {
+    		return name.hashCode() + value.hashCode();
+    	}
+    }
+    
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.debug.actions;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.debug.AuditView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/**
- * Action to clear the log.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DeleteLogAction extends Action {
-    
-    private AuditView view;
-
-    public DeleteLogAction(AuditView view) {
-        super(null, IAction.AS_PUSH_BUTTON);
-        this.view = view;
-        setToolTipText("Clear Log");
-        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.DELETE_LOG));
-        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.DELETE_LOG_DISABLED));
-        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ClearLogAction");
-    }
-
-    public void run() {
-        if (!view.isAvailable()) {
-            return;
-        }
-        view.deleteLog();  
-        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
-            public void run() {
-            	view.getViewer().refresh();                    
-            }
-        });         
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.debug.actions;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.debug.AuditView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.custom.BusyIndicator;
+
+/**
+ * Action to clear the log.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DeleteLogAction extends Action {
+    
+    private AuditView view;
+
+    public DeleteLogAction(AuditView view) {
+        super(null, IAction.AS_PUSH_BUTTON);
+        this.view = view;
+        setToolTipText("Clear Log");
+        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.DELETE_LOG));
+        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.DELETE_LOG_DISABLED));
+        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ClearLogAction");
+    }
+
+    public void run() {
+        if (!view.isAvailable()) {
+            return;
+        }
+        view.deleteLog();  
+        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
+            public void run() {
+            	view.getViewer().refresh();                    
+            }
+        });         
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,43 +0,0 @@
-package org.drools.eclipse.debug.actions;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.debug.AuditView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.FileDialog;
-
-/**
- * Action to open a log.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class OpenLogAction extends Action {
-    
-    private AuditView view;
-
-    public OpenLogAction(AuditView view) {
-        super(null, IAction.AS_PUSH_BUTTON);
-        this.view = view;
-        setToolTipText("Open Log");
-        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.OPEN_LOG));
-        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".OpenLogAction");
-    }
-
-    public void run() {
-        if (!view.isAvailable()) {
-            return;
-        }
-        FileDialog dialog = new FileDialog(view.getSite().getShell());
-        dialog.setFilterExtensions(new String[] { "*.log" });
-        String fileName = dialog.open();
-        view.setLogFile(fileName);  
-        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
-            public void run() {
-            	view.getViewer().refresh();                    
-            }
-        });         
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,43 @@
+package org.drools.eclipse.debug.actions;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.debug.AuditView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.custom.BusyIndicator;
+import org.eclipse.swt.widgets.FileDialog;
+
+/**
+ * Action to open a log.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class OpenLogAction extends Action {
+    
+    private AuditView view;
+
+    public OpenLogAction(AuditView view) {
+        super(null, IAction.AS_PUSH_BUTTON);
+        this.view = view;
+        setToolTipText("Open Log");
+        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.OPEN_LOG));
+        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".OpenLogAction");
+    }
+
+    public void run() {
+        if (!view.isAvailable()) {
+            return;
+        }
+        FileDialog dialog = new FileDialog(view.getSite().getShell());
+        dialog.setFilterExtensions(new String[] { "*.log" });
+        String fileName = dialog.open();
+        view.setLogFile(fileName);  
+        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
+            public void run() {
+            	view.getViewer().refresh();                    
+            }
+        });         
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.debug.actions;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.debug.AuditView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/**
- * Action to refresh the log.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class RefreshLogAction extends Action {
-    
-    private AuditView view;
-
-    public RefreshLogAction(AuditView view) {
-        super(null, IAction.AS_PUSH_BUTTON);
-        this.view = view;
-        setToolTipText("Refresh Log");
-        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.REFRESH_LOG));
-        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.REFRESH_LOG_DISABLED));
-        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".RefreshLogAction");
-    }
-
-    public void run() {
-        if (!view.isAvailable()) {
-            return;
-        }
-        view.refresh();  
-        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
-            public void run() {
-            	view.getViewer().refresh();                    
-            }
-        });         
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.debug.actions;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.debug.AuditView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.custom.BusyIndicator;
+
+/**
+ * Action to refresh the log.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class RefreshLogAction extends Action {
+    
+    private AuditView view;
+
+    public RefreshLogAction(AuditView view) {
+        super(null, IAction.AS_PUSH_BUTTON);
+        this.view = view;
+        setToolTipText("Refresh Log");
+        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.REFRESH_LOG));
+        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.REFRESH_LOG_DISABLED));
+        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".RefreshLogAction");
+    }
+
+    public void run() {
+        if (!view.isAvailable()) {
+            return;
+        }
+        view.refresh();  
+        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
+            public void run() {
+            	view.getViewer().refresh();                    
+            }
+        });         
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,36 +0,0 @@
-package org.drools.eclipse.debug.actions;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.debug.AuditView;
-import org.drools.eclipse.debug.AuditView.Event;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-
-/**
- * Action to show the cause event of an audit event.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class ShowEventCauseAction extends Action {
-    
-    private AuditView view;
-
-    public ShowEventCauseAction(AuditView view) {
-        super(null, IAction.AS_PUSH_BUTTON);
-        this.view = view;
-        setToolTipText("Show Cause");
-        setText("Show Cause");
-        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ShowEventCause");
-    }
-
-    public void run() {
-    	Event event = view.getSelectedEvent();
-    	if (event != null) {
-    		Event cause = event.getCauseEvent();
-    		if (cause != null) {
-    			view.showEvent(cause);
-    		}
-    	}
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,36 @@
+package org.drools.eclipse.debug.actions;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.debug.AuditView;
+import org.drools.eclipse.debug.AuditView.Event;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+
+/**
+ * Action to show the cause event of an audit event.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class ShowEventCauseAction extends Action {
+    
+    private AuditView view;
+
+    public ShowEventCauseAction(AuditView view) {
+        super(null, IAction.AS_PUSH_BUTTON);
+        this.view = view;
+        setToolTipText("Show Cause");
+        setText("Show Cause");
+        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ShowEventCause");
+    }
+
+    public void run() {
+    	Event event = view.getSelectedEvent();
+    	if (event != null) {
+    		Event cause = event.getCauseEvent();
+    		if (cause != null) {
+    			view.showEvent(cause);
+    		}
+    	}
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,45 +0,0 @@
-package org.drools.eclipse.debug.actions;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.debug.DroolsDebugEventHandlerView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/**
- * Action to toggle the display of the logical structure of variables
- * that are shown in the tree.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class ShowLogicalStructureAction extends Action {
-    
-    private DroolsDebugEventHandlerView view;
-
-    public ShowLogicalStructureAction(DroolsDebugEventHandlerView view) {
-        super(null, IAction.AS_CHECK_BOX);
-        this.view = view;
-        setToolTipText("Show Logical Structure");
-        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.IMG_LOGICAL));
-        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.IMG_LOGICAL_DISABLED));
-        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ShowLogicalStructureAction");
-    }
-
-    public void run() {
-        valueChanged(isChecked());
-    }
-
-    private void valueChanged(boolean on) {
-        if (!view.isAvailable()) {
-            return;
-        }
-        view.setShowLogicalStructure(on);  
-        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
-            public void run() {
-            	view.getViewer().refresh();                    
-            }
-        });         
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,45 @@
+package org.drools.eclipse.debug.actions;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.debug.DroolsDebugEventHandlerView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.custom.BusyIndicator;
+
+/**
+ * Action to toggle the display of the logical structure of variables
+ * that are shown in the tree.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class ShowLogicalStructureAction extends Action {
+    
+    private DroolsDebugEventHandlerView view;
+
+    public ShowLogicalStructureAction(DroolsDebugEventHandlerView view) {
+        super(null, IAction.AS_CHECK_BOX);
+        this.view = view;
+        setToolTipText("Show Logical Structure");
+        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.IMG_LOGICAL));
+        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.IMG_LOGICAL_DISABLED));
+        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ShowLogicalStructureAction");
+    }
+
+    public void run() {
+        valueChanged(isChecked());
+    }
+
+    private void valueChanged(boolean on) {
+        if (!view.isAvailable()) {
+            return;
+        }
+        view.setShowLogicalStructure(on);  
+        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
+            public void run() {
+            	view.getViewer().refresh();                    
+            }
+        });         
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,39 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-
-import com.sun.jdi.VirtualMachine;
-
-public class DroolsDebugModel {
-	
-	private DroolsDebugModel() {
-	}
-
-	public static IDebugTarget newDebugTarget(ILaunch launch, VirtualMachine vm, String name, IProcess process, boolean allowTerminate, boolean allowDisconnect) {
-		return newDebugTarget(launch, vm, name, process, allowTerminate, allowDisconnect, true);
-	}
-	
-	public static IDebugTarget newDebugTarget(final ILaunch launch, final VirtualMachine vm, final String name, final IProcess process, final boolean allowTerminate, final boolean allowDisconnect, final boolean resume) {
-		final IJavaDebugTarget[] target = new IJavaDebugTarget[1];
-		IWorkspaceRunnable r = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor m) {
-				target[0]= new DroolsDebugTarget(launch, vm, name, allowTerminate, allowDisconnect, process, resume);
-			}
-		};
-		try {
-			ResourcesPlugin.getWorkspace().run(r, null, 0, null);
-		} catch (CoreException exc) {
-			DroolsEclipsePlugin.log(exc);
-		}
-		return target[0];
-	}
-        
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,39 @@
+package org.drools.eclipse.debug.core;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.jdt.debug.core.IJavaDebugTarget;
+
+import com.sun.jdi.VirtualMachine;
+
+public class DroolsDebugModel {
+	
+	private DroolsDebugModel() {
+	}
+
+	public static IDebugTarget newDebugTarget(ILaunch launch, VirtualMachine vm, String name, IProcess process, boolean allowTerminate, boolean allowDisconnect) {
+		return newDebugTarget(launch, vm, name, process, allowTerminate, allowDisconnect, true);
+	}
+	
+	public static IDebugTarget newDebugTarget(final ILaunch launch, final VirtualMachine vm, final String name, final IProcess process, final boolean allowTerminate, final boolean allowDisconnect, final boolean resume) {
+		final IJavaDebugTarget[] target = new IJavaDebugTarget[1];
+		IWorkspaceRunnable r = new IWorkspaceRunnable() {
+			public void run(IProgressMonitor m) {
+				target[0]= new DroolsDebugTarget(launch, vm, name, allowTerminate, allowDisconnect, process, resume);
+			}
+		};
+		try {
+			ResourcesPlugin.getWorkspace().run(r, null, 0, null);
+		} catch (CoreException exc) {
+			DroolsEclipsePlugin.log(exc);
+		}
+		return target[0];
+	}
+        
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,24 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.internal.debug.ui.JDIModelPresentation;
-
-public class DroolsDebugModelPresentation extends JDIModelPresentation {
-
-	protected String getBreakpointText(IBreakpoint breakpoint) {
-		if (breakpoint instanceof DroolsLineBreakpoint) {
-			DroolsLineBreakpoint breakp = ((DroolsLineBreakpoint) breakpoint);
-            int lineNumber = breakp.getDRLLineNumber();
-            int real;
-            try {
-                real = breakp.getLineNumber();
-            } catch ( CoreException e ) {
-                return breakpoint.getMarker().getResource().getName() + " [line: " + lineNumber + "] real: NA!!"; 
-            }
-			return breakpoint.getMarker().getResource().getName() + " [line: " + lineNumber + "] real: "+real;
-		}
-		return super.getBreakpointText(breakpoint);
-	}
-	    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,24 @@
+package org.drools.eclipse.debug.core;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.jdt.internal.debug.ui.JDIModelPresentation;
+
+public class DroolsDebugModelPresentation extends JDIModelPresentation {
+
+	protected String getBreakpointText(IBreakpoint breakpoint) {
+		if (breakpoint instanceof DroolsLineBreakpoint) {
+			DroolsLineBreakpoint breakp = ((DroolsLineBreakpoint) breakpoint);
+            int lineNumber = breakp.getDRLLineNumber();
+            int real;
+            try {
+                real = breakp.getLineNumber();
+            } catch ( CoreException e ) {
+                return breakpoint.getMarker().getResource().getName() + " [line: " + lineNumber + "] real: NA!!"; 
+            }
+			return breakpoint.getMarker().getResource().getName() + " [line: " + lineNumber + "] real: "+real;
+		}
+		return super.getBreakpointText(breakpoint);
+	}
+	    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,905 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.jdi.TimeoutException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.internal.debug.core.IJDIEventListener;
-import org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
-import org.eclipse.jdt.internal.debug.core.model.JDIThread;
-
-import com.sun.jdi.ClassType;
-import com.sun.jdi.IntegerValue;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectCollectedException;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.StringReference;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.VMDisconnectedException;
-import com.sun.jdi.VirtualMachine;
-import com.sun.jdi.event.ClassPrepareEvent;
-import com.sun.jdi.event.Event;
-import com.sun.jdi.event.MethodEntryEvent;
-import com.sun.jdi.event.ThreadDeathEvent;
-import com.sun.jdi.event.ThreadStartEvent;
-import com.sun.jdi.event.VMStartEvent;
-import com.sun.jdi.request.ClassPrepareRequest;
-import com.sun.jdi.request.EventRequest;
-import com.sun.jdi.request.EventRequestManager;
-import com.sun.jdi.request.MethodEntryRequest;
-
-public class DroolsDebugTarget extends JDIDebugTarget {
-
-    private ArrayList          fThreads;
-    private ThreadStartHandler fThreadStartHandler = null;
-    private boolean            fSuspended          = true;
-
-    public DroolsDebugTarget(ILaunch launch,
-                             VirtualMachine jvm,
-                             String name,
-                             boolean supportTerminate,
-                             boolean supportDisconnect,
-                             IProcess process,
-                             boolean resume) {
-        super( launch,
-               jvm,
-               name,
-               supportTerminate,
-               supportDisconnect,
-               process,
-               resume );
-    }
-
-    public void breakpointAdded(IBreakpoint breakpoint) {
-
-        try {
-            if ( breakpoint instanceof DroolsLineBreakpoint ) {
-                ((DroolsLineBreakpoint) breakpoint).setJavaBreakpointProperties();
-
-                final DroolsLineBreakpoint d = (DroolsLineBreakpoint) breakpoint;
-
-                if ( d.getDialectName().equals( MVELDialect.ID ) ) {
-                    //getBreakpoints().add( breakpoint );
-                    //super.breakpointAdded(breakpoint);
-
-                    Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
-                    if ( !handleriter.hasNext() ) {
-                        // Create class prepare request to add breakpoint after MVELDebugHanlder is loaded
-                        ClassPrepareRequest req = getEventRequestManager().createClassPrepareRequest();
-                        req.addClassFilter( "org.drools.base.mvel.MVELDebugHandler" );
-                        req.setSuspendPolicy( EventRequest.SUSPEND_ALL );
-
-                        addJDIEventListener( new IJDIEventListener() {
-
-                                                 public boolean handleEvent(Event event,
-                                                                            JDIDebugTarget target) {
-                                                     addRemoteBreakpoint( d );
-                                                     return true;
-                                                 }
-
-                                                 public void wonSuspendVote(Event event,
-                                                                            JDIDebugTarget target) {
-                                                 }
-
-                                             },
-                                             req );
-
-                        req.enable();
-                        return;
-                    }
-
-                    addRemoteBreakpoint( d );
-                } else {
-                    // only add breakpoint if setting Java properties of DRL
-                    // breakpoint does not generate an error
-                    super.breakpointAdded( breakpoint );
-                }
-            } else {
-                super.breakpointAdded( breakpoint );
-            }
-        } catch ( Throwable t ) {
-            // Exception will be thrown when trying to use breakpoint
-            // on drl that is incorrect (cannot be parsed or compiled)
-            DroolsEclipsePlugin.log( t );
-        }
-    }
-
-    protected synchronized void initialize() {
-        setThreadList( new ArrayList( 5 ) );
-        super.initialize();
-    }
-
-    protected JDIThread createThread(ThreadReference thread) {
-        JDIThread jdiThread = null;
-        try {
-            jdiThread = new DroolsThread( this,
-                                          thread );
-        } catch ( ObjectCollectedException exception ) {
-            // ObjectCollectionException can be thrown if the thread has already
-            // completed (exited) in the VM.
-            return null;
-        }
-        if ( isDisconnected() ) {
-            return null;
-        }
-        synchronized ( fThreads ) {
-            fThreads.add( jdiThread );
-        }
-        jdiThread.fireCreationEvent();
-        return jdiThread;
-    }
-
-    private Iterator getThreadIterator() {
-        List threadList;
-        synchronized ( fThreads ) {
-            threadList = (List) fThreads.clone();
-        }
-        return threadList.iterator();
-    }
-
-    private boolean hasSuspendedThreads() {
-        Iterator it = getThreadIterator();
-        while ( it.hasNext() ) {
-            IThread thread = (IThread) it.next();
-            if ( thread.isSuspended() ) return true;
-        }
-        return false;
-    }
-
-    public boolean canResume() {
-        return (isSuspended() || hasSuspendedThreads()) && isAvailable() && !isPerformingHotCodeReplace();
-    }
-
-    protected void resume(boolean fireNotification) throws DebugException {
-        if ( (!isSuspended() && !hasSuspendedThreads()) || !isAvailable() ) {
-            return;
-        }
-        try {
-            setSuspended( false );
-            resumeThreads();
-            VirtualMachine vm = getVM();
-            if ( vm != null ) {
-                vm.resume();
-            }
-            if ( fireNotification ) {
-                fireResumeEvent( DebugEvent.CLIENT_REQUEST );
-            }
-        } catch ( VMDisconnectedException e ) {
-            disconnected();
-            return;
-        } catch ( RuntimeException e ) {
-            setSuspended( true );
-            fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_resume,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-    }
-
-    private void setSuspended(boolean suspended) {
-        fSuspended = suspended;
-    }
-
-    public boolean isSuspended() {
-        return fSuspended;
-    }
-
-    private void setThreadList(ArrayList threads) {
-        fThreads = threads;
-    }
-
-    public IThread[] getThreads() {
-        synchronized ( fThreads ) {
-            return (IThread[]) fThreads.toArray( new IThread[0] );
-        }
-    }
-
-    protected void removeAllThreads() {
-        Iterator itr = getThreadIterator();
-        while ( itr.hasNext() ) {
-            DroolsThread child = (DroolsThread) itr.next();
-            child.terminated();
-        }
-        synchronized ( fThreads ) {
-            fThreads.clear();
-        }
-    }
-
-    protected void initializeRequests() {
-        setThreadStartHandler( new ThreadStartHandler() );
-        new ThreadDeathHandler();
-        new MVELTraceHandler();
-    }
-
-    class ThreadDeathHandler
-        implements
-        IJDIEventListener {
-
-        protected ThreadDeathHandler() {
-            createRequest();
-        }
-
-        /**
-         * Creates and registers a request to listen to thread
-         * death events.
-         */
-        protected void createRequest() {
-            EventRequestManager manager = getEventRequestManager();
-            if ( manager != null ) {
-                try {
-                    EventRequest req = manager.createThreadDeathRequest();
-                    req.setSuspendPolicy( EventRequest.SUSPEND_NONE );
-                    req.enable();
-                    addJDIEventListener( this,
-                                         req );
-                } catch ( RuntimeException e ) {
-                    logError( e );
-                }
-            }
-        }
-
-        /**
-         * Locates the model thread associated with the underlying JDI thread
-         * that has terminated, and removes it from the collection of
-         * threads belonging to this debug target. A terminate event is
-         * fired for the model thread.
-         *
-         * @param event a thread death event
-         * @param target the target in which the thread died
-         * @return <code>true</code> - the thread should be resumed
-         */
-        public boolean handleEvent(Event event,
-                                   JDIDebugTarget target) {
-            ThreadReference ref = ((ThreadDeathEvent) event).thread();
-            DroolsThread thread = (DroolsThread) findThread( ref );
-            if ( thread != null ) {
-                synchronized ( fThreads ) {
-                    fThreads.remove( thread );
-                }
-                thread.terminated();
-            }
-            return true;
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
-         */
-        public void wonSuspendVote(Event event,
-                                   JDIDebugTarget target) {
-            // do nothing
-        }
-
-    }
-
-    class ThreadStartHandler
-        implements
-        IJDIEventListener {
-
-        protected EventRequest fRequest;
-
-        protected ThreadStartHandler() {
-            createRequest();
-        }
-
-        /**
-         * Creates and registers a request to handle all thread start
-         * events
-         */
-        protected void createRequest() {
-            EventRequestManager manager = getEventRequestManager();
-            if ( manager != null ) {
-                try {
-                    EventRequest req = manager.createThreadStartRequest();
-                    req.setSuspendPolicy( EventRequest.SUSPEND_NONE );
-                    req.enable();
-                    addJDIEventListener( this,
-                                         req );
-                    setRequest( req );
-                } catch ( RuntimeException e ) {
-                    logError( e );
-                }
-            }
-        }
-
-        /**
-         * Creates a model thread for the underlying JDI thread
-         * and adds it to the collection of threads for this
-         * debug target. As a side effect of creating the thread,
-         * a create event is fired for the model thread.
-         * The event is ignored if the underlying thread is already
-         * marked as collected.
-         *
-         * @param event a thread start event
-         * @param target the target in which the thread started
-         * @return <code>true</code> - the thread should be resumed
-         */
-        public boolean handleEvent(Event event,
-                                   JDIDebugTarget target) {
-            ThreadReference thread = ((ThreadStartEvent) event).thread();
-            try {
-                if ( thread.isCollected() ) {
-                    return false;
-                }
-            } catch ( VMDisconnectedException exception ) {
-                return false;
-            } catch ( ObjectCollectedException e ) {
-                return false;
-            } catch ( TimeoutException e ) {
-                // continue - attempt to create the thread
-            }
-            DroolsThread jdiThread = (DroolsThread) findThread( thread );
-            if ( jdiThread == null ) {
-                jdiThread = (DroolsThread) createThread( thread );
-                if ( jdiThread == null ) {
-                    return false;
-                }
-            } else {
-                jdiThread.disposeStackFrames();
-                jdiThread.fireChangeEvent( DebugEvent.CONTENT );
-            }
-            return !jdiThread.isSuspended();
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
-         */
-        public void wonSuspendVote(Event event,
-                                   JDIDebugTarget target) {
-            // do nothing
-        }
-
-        /**
-         * Deregisters this event listener.
-         */
-        protected void deleteRequest() {
-            if ( getRequest() != null ) {
-                removeJDIEventListener( this,
-                                        getRequest() );
-                setRequest( null );
-            }
-        }
-
-        protected EventRequest getRequest() {
-            return fRequest;
-        }
-
-        protected void setRequest(EventRequest request) {
-            fRequest = request;
-        }
-    }
-
-    private void disposeThreadHandler() {
-        ThreadStartHandler handler = getThreadStartHandler2();
-        if ( handler != null ) {
-            handler.deleteRequest();
-        }
-    }
-
-    public boolean hasThreads() {
-        return fThreads.size() > 0;
-    }
-
-    protected ThreadStartHandler getThreadStartHandler2() {
-        return fThreadStartHandler;
-    }
-
-    protected void setThreadStartHandler(ThreadStartHandler threadStartHandler) {
-        fThreadStartHandler = threadStartHandler;
-    }
-
-    public boolean isOutOfSynch() throws DebugException {
-        Iterator threads = getThreadIterator();
-        while ( threads.hasNext() ) {
-            JDIThread thread = (JDIThread) threads.next();
-            if ( thread.isOutOfSynch() ) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public boolean mayBeOutOfSynch() {
-        Iterator threads = getThreadIterator();
-        while ( threads.hasNext() ) {
-            JDIThread thread = (JDIThread) threads.next();
-            if ( thread.mayBeOutOfSynch() ) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public JDIThread findThread(ThreadReference tr) {
-        Iterator iter = getThreadIterator();
-        while ( iter.hasNext() ) {
-            JDIThread thread = (JDIThread) iter.next();
-            if ( thread.getUnderlyingThread().equals( tr ) ) return thread;
-        }
-        return null;
-    }
-
-    public void breakpointRemoved(IBreakpoint breakpoint,
-                                  IMarkerDelta delta) {
-        if ( !isAvailable() ) {
-            return;
-        }
-        if ( supportsBreakpoint( breakpoint ) ) {
-            try {
-
-                if ( breakpoint instanceof DroolsLineBreakpoint ) {
-                    ((DroolsLineBreakpoint) breakpoint).setJavaBreakpointProperties();
-
-                    final DroolsLineBreakpoint d = (DroolsLineBreakpoint) breakpoint;
-
-                    if ( d.getDialectName().equals( MVELDialect.ID ) ) {
-                        removeRemoteBreakpoint( (DroolsLineBreakpoint) breakpoint,
-                                                delta );
-                    }
-                }
-
-                ((JavaBreakpoint) breakpoint).removeFromTarget( this );
-                getBreakpoints().remove( breakpoint );
-                Iterator threads = getThreadIterator();
-                while ( threads.hasNext() ) {
-                    ((DroolsThread) threads.next()).removeCurrentBreakpoint( breakpoint );
-                }
-            } catch ( CoreException e ) {
-                logError( e );
-            }
-        }
-    }
-
-    protected void suspendThreads() {
-        Iterator threads = getThreadIterator();
-        while ( threads.hasNext() ) {
-            ((DroolsThread) threads.next()).suspendedByVM();
-        }
-    }
-
-    protected void resumeThreads() throws DebugException {
-        Iterator threads = getThreadIterator();
-        while ( threads.hasNext() ) {
-            ((DroolsThread) threads.next()).resumedByVM();
-        }
-    }
-
-    public void disconnect() throws DebugException {
-
-        if ( !isAvailable() ) {
-            // already done
-            return;
-        }
-
-        if ( !canDisconnect() ) {
-            notSupported( JDIDebugModelMessages.JDIDebugTarget_does_not_support_disconnect );
-        }
-
-        try {
-            disposeThreadHandler();
-            VirtualMachine vm = getVM();
-            if ( vm != null ) {
-                vm.dispose();
-            }
-        } catch ( VMDisconnectedException e ) {
-            // if the VM disconnects while disconnecting, perform
-            // normal disconnect handling
-            disconnected();
-        } catch ( RuntimeException e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_disconnecting,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-
-    }
-
-    public void terminate() throws DebugException {
-        if ( !isAvailable() ) {
-            return;
-        }
-        if ( !supportsTerminate() ) {
-            notSupported( JDIDebugModelMessages.JDIDebugTarget_does_not_support_termination );
-        }
-        try {
-            setTerminating( true );
-            disposeThreadHandler();
-            VirtualMachine vm = getVM();
-            if ( vm != null ) {
-                vm.exit( 1 );
-            }
-            IProcess process = getProcess();
-            if ( process != null ) {
-                process.terminate();
-            }
-        } catch ( VMDisconnectedException e ) {
-            // if the VM disconnects while exiting, perform
-            // normal termination processing
-            terminated();
-        } catch ( TimeoutException exception ) {
-            // if there is a timeout see if the associated process is terminated
-            IProcess process = getProcess();
-            if ( process != null && process.isTerminated() ) {
-                terminated();
-            } else {
-                // All we can do is disconnect
-                disconnected();
-            }
-        } catch ( RuntimeException e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_terminating,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-    }
-
-    public void handleVMStart(VMStartEvent event) {
-        if ( isResumeOnStartup() ) {
-            try {
-                setSuspended( true );
-                resume();
-            } catch ( DebugException e ) {
-                logError( e );
-            }
-        }
-        // If any threads have resumed since thread collection was initialized,
-        // update their status (avoid concurrent modification - use #getThreads())
-        IThread[] threads = getThreads();
-        for ( int i = 0; i < threads.length; i++ ) {
-            DroolsThread thread = (DroolsThread) threads[i];
-            if ( thread.isSuspended() ) {
-                try {
-                    boolean suspended = thread.getUnderlyingThread().isSuspended();
-                    if ( !suspended ) {
-                        thread.setRunning( true );
-                        thread.fireResumeEvent( DebugEvent.CLIENT_REQUEST );
-                    }
-                } catch ( VMDisconnectedException e ) {
-                } catch ( ObjectCollectedException e ) {
-                } catch ( RuntimeException e ) {
-                    logError( e );
-                }
-            }
-        }
-    }
-
-    protected void initializeState() {
-
-        List threads = null;
-        VirtualMachine vm = getVM();
-        if ( vm != null ) {
-            try {
-                threads = vm.allThreads();
-            } catch ( RuntimeException e ) {
-                internalError( e );
-            }
-            if ( threads != null ) {
-                Iterator initialThreads = threads.iterator();
-                while ( initialThreads.hasNext() ) {
-                    createThread( (ThreadReference) initialThreads.next() );
-                }
-            }
-        }
-
-        if ( isResumeOnStartup() ) {
-            setSuspended( false );
-        }
-    }
-
-    public void suspend() throws DebugException {
-        if ( isSuspended() ) {
-            return;
-        }
-        try {
-            VirtualMachine vm = getVM();
-            if ( vm != null ) {
-                vm.suspend();
-            }
-            suspendThreads();
-            setSuspended( true );
-            fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
-        } catch ( RuntimeException e ) {
-            setSuspended( false );
-            fireResumeEvent( DebugEvent.CLIENT_REQUEST );
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_suspend,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-    }
-
-    public void prepareToSuspendByBreakpoint(JavaBreakpoint breakpoint) {
-        setSuspended( true );
-        suspendThreads();
-    }
-
-    protected void cancelSuspendByBreakpoint(JavaBreakpoint breakpoint) throws DebugException {
-        setSuspended( false );
-        resumeThreads();
-    }
-
-    class MVELTraceHandler
-        implements
-        IJDIEventListener {
-
-        protected MVELTraceHandler() {
-            createRequest();
-        }
-
-        protected void createRequest() {
-            EventRequestManager manager = getEventRequestManager();
-            if ( manager != null ) {
-                try {
-                    ClassPrepareRequest req = manager.createClassPrepareRequest();
-                    req.addClassFilter( "org.drools.base.mvel.MVELDebugHandler" );
-                    req.setSuspendPolicy( EventRequest.SUSPEND_ALL );
-                    addJDIEventListener( MVELTraceHandler.this,
-                                         req );
-                    req.enable();
-
-                } catch ( RuntimeException e ) {
-                    logError( e );
-                }
-            }
-        }
-
-        /**
-         * Locates the model thread associated with the underlying JDI thread
-         * that has terminated, and removes it from the collection of
-         * threads belonging to this debug target. A terminate event is
-         * fired for the model thread.
-         *
-         * @param event a thread death event
-         * @param target the target in which the thread died
-         * @return <code>true</code> - the thread should be resumed
-         */
-        public boolean handleEvent(Event event,
-                                   JDIDebugTarget target) {
-            String name = ((ClassPrepareEvent) event).referenceType().name();
-
-            MethodEntryRequest req = getEventRequestManager().createMethodEntryRequest();
-            req.addClassFilter( ((ClassPrepareEvent) event).referenceType() );
-
-            //breakpointCatched
-
-            /*field= type.fieldByName(getFieldName());
-             Field field;
-             EventRequest req= manager.createModificationWatchpointRequest(field);
-             */
-            req.setSuspendPolicy( EventRequest.SUSPEND_EVENT_THREAD );
-            addJDIEventListener( new IJDIEventListener() {
-
-                                     public boolean handleEvent(Event event,
-                                                                JDIDebugTarget target) {
-                                         MethodEntryEvent entryEvent = (MethodEntryEvent) event;
-
-                                         String name2 = entryEvent.method().name();
-
-                                         if ( !name2.equals( "onBreak" ) && !name2.equals( "receiveBreakpoints" ) ) {
-                                             //event.virtualMachine().resume();
-                                             return true;
-                                         }
-
-                                         try {
-                                             IThread[] tharr = getThreads();
-
-                                             ThreadReference t = null;
-                                             DroolsThread t2 = null;
-
-                                             for ( int i = 0; i < tharr.length; i++ ) {
-                                                 DroolsThread th2 = (DroolsThread) tharr[i];
-                                                 ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
-
-                                                 if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
-                                                     t = th2real;
-                                                     t2 = (DroolsThread) th2;
-
-                                                     th2real.suspend();
-                                                     th2.setRunning( false );
-                                                     th2.fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
-
-                                                     return true;
-                                                 }
-                                             }
-                                         } catch ( Exception t ) {
-                                             logError( t );
-                                         }
-                                         return true;
-
-                                     }
-
-                                     public void wonSuspendVote(Event event,
-                                                                JDIDebugTarget target) {
-
-                                     }
-
-                                 },
-                                 req );
-
-            req.enable();
-
-            return true;
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
-         */
-        public void wonSuspendVote(Event event,
-                                   JDIDebugTarget target) {
-            // do nothing
-        }
-
-    }
-
-    /**
-     * Tries to find a match for the provided breakpoint information from the list of registered breakpoints.
-     * For stepping and possibly other purposes it returns also a breakpoint for cases where exactly the same line was not found.
-     * 
-     * If breakpoint is not found for <code>line</code> at <code>source</code> then it takes the first line that is above the
-     * specified line at the same file.
-     * 
-     * @param source
-     * @param line
-     * @return
-     */
-    public DroolsLineBreakpoint getDroolsBreakpoint(String source) {
-
-        if ( source == null ) {
-            return null;
-        }
-
-        Iterator iterator = getBreakpoints().iterator();
-        while ( iterator.hasNext() ) {
-            IJavaBreakpoint element = (IJavaBreakpoint) iterator.next();
-            if ( element instanceof DroolsLineBreakpoint && ((DroolsLineBreakpoint) element).getDialectName().equals( MVELDialect.ID ) ) {
-                DroolsLineBreakpoint l = (DroolsLineBreakpoint) element;
-                try {
-
-                    int matchLine = l.getLineNumber();
-                    String matchSource = l.getRuleName();
-
-                    if ( source.equals( matchSource ) || l.getFileRuleMappings().containsKey( source ) ) {
-                        return l;
-                    }
-
-                } catch ( CoreException e ) {
-                    logError( e );
-                }
-            }
-        }
-
-        return null;
-    }
-
-    private void addRemoteBreakpoint(DroolsLineBreakpoint d) {
-
-        try {
-            if ( !d.isEnabled() ) {
-                return; // No need to install disabled breakpoints
-            }
-        } catch ( CoreException e2 ) {
-            logError( e2 );
-            return; // No need to install breakpoints that are this much broken
-        }
-
-        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
-        Object debugHandlerClass = handleriter.next();
-
-        int line;
-        String sourceName;
-
-        try {
-            line = d.getLineNumber();
-            sourceName = d.getTypeName();
-        } catch ( CoreException e1 ) {
-            logError( e1 );
-            return;
-        }
-
-        ReferenceType refType = (ReferenceType) debugHandlerClass;
-        Method m = (Method) refType.methodsByName( "registerBreakpoint" ).iterator().next();
-        List args = new ArrayList();
-        IntegerValue lineVal = getVM().mirrorOf( line );
-        StringReference nameVal = getVM().mirrorOf( sourceName );
-        JDIObjectValue val = (JDIObjectValue) newValue( sourceName );
-        ObjectReference realVal = val.getUnderlyingObject();
-        args.add( nameVal );
-        args.add( lineVal );
-
-        try {
-            ClassType tt = (ClassType) debugHandlerClass;
-            IThread[] tharr = getThreads();
-            ThreadReference t = null;
-            DroolsThread t2 = null;
-
-            for ( int i = 0; i < tharr.length; i++ ) {
-                IThread th2 = tharr[i];
-                ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
-
-                if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
-                    t = th2real;
-                    t2 = (DroolsThread) th2;
-                }
-            }
-
-            tt.invokeMethod( t,
-                             m,
-                             args,
-                             ObjectReference.INVOKE_SINGLE_THREADED );
-            //t2.computeNewStackFrames();
-
-            super.breakpointAdded( d );
-
-        } catch ( Exception e ) {
-            logError( e );
-        }
-
-    }
-
-    private void removeRemoteBreakpoint(DroolsLineBreakpoint d,
-                                        IMarkerDelta delta) {
-        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
-        Object debugHandlerClass = handleriter.next();
-
-        int line;
-        String sourceName;
-
-        try {
-            line = d.getLineNumber();
-            sourceName = d.getTypeName();
-        } catch ( CoreException e1 ) {
-            logError( e1 );
-            return;
-        }
-
-        ReferenceType refType = (ReferenceType) debugHandlerClass;
-        Method m = (Method) refType.methodsByName( "removeBreakpoint" ).iterator().next();
-        List args = new ArrayList();
-        IntegerValue lineVal = getVM().mirrorOf( line );
-        StringReference nameVal = getVM().mirrorOf( sourceName );
-        JDIObjectValue val = (JDIObjectValue) newValue( sourceName );
-        ObjectReference realVal = val.getUnderlyingObject();
-        args.add( nameVal );
-        args.add( lineVal );
-
-        try {
-            ClassType tt = (ClassType) debugHandlerClass;
-            IThread[] tharr = getThreads();
-            ThreadReference t = null;
-            DroolsThread t2 = null;
-
-            for ( int i = 0; i < tharr.length; i++ ) {
-                IThread th2 = tharr[i];
-                ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
-
-                if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
-                    t = th2real;
-                    t2 = (DroolsThread) th2;
-                }
-            }
-
-            tt.invokeMethod( t,
-                             m,
-                             args,
-                             ObjectReference.INVOKE_SINGLE_THREADED );
-
-        } catch ( Exception e ) {
-            logError( e );
-        }
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,905 @@
+package org.drools.eclipse.debug.core;
+
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.rule.builder.dialect.mvel.MVELDialect;
+import org.eclipse.core.resources.IMarkerDelta;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.debug.core.model.IThread;
+import org.eclipse.jdi.TimeoutException;
+import org.eclipse.jdt.debug.core.IJavaBreakpoint;
+import org.eclipse.jdt.internal.debug.core.IJDIEventListener;
+import org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
+import org.eclipse.jdt.internal.debug.core.model.JDIThread;
+
+import com.sun.jdi.ClassType;
+import com.sun.jdi.IntegerValue;
+import com.sun.jdi.Method;
+import com.sun.jdi.ObjectCollectedException;
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.ReferenceType;
+import com.sun.jdi.StringReference;
+import com.sun.jdi.ThreadReference;
+import com.sun.jdi.VMDisconnectedException;
+import com.sun.jdi.VirtualMachine;
+import com.sun.jdi.event.ClassPrepareEvent;
+import com.sun.jdi.event.Event;
+import com.sun.jdi.event.MethodEntryEvent;
+import com.sun.jdi.event.ThreadDeathEvent;
+import com.sun.jdi.event.ThreadStartEvent;
+import com.sun.jdi.event.VMStartEvent;
+import com.sun.jdi.request.ClassPrepareRequest;
+import com.sun.jdi.request.EventRequest;
+import com.sun.jdi.request.EventRequestManager;
+import com.sun.jdi.request.MethodEntryRequest;
+
+public class DroolsDebugTarget extends JDIDebugTarget {
+
+    private ArrayList          fThreads;
+    private ThreadStartHandler fThreadStartHandler = null;
+    private boolean            fSuspended          = true;
+
+    public DroolsDebugTarget(ILaunch launch,
+                             VirtualMachine jvm,
+                             String name,
+                             boolean supportTerminate,
+                             boolean supportDisconnect,
+                             IProcess process,
+                             boolean resume) {
+        super( launch,
+               jvm,
+               name,
+               supportTerminate,
+               supportDisconnect,
+               process,
+               resume );
+    }
+
+    public void breakpointAdded(IBreakpoint breakpoint) {
+
+        try {
+            if ( breakpoint instanceof DroolsLineBreakpoint ) {
+                ((DroolsLineBreakpoint) breakpoint).setJavaBreakpointProperties();
+
+                final DroolsLineBreakpoint d = (DroolsLineBreakpoint) breakpoint;
+
+                if ( d.getDialectName().equals( MVELDialect.ID ) ) {
+                    //getBreakpoints().add( breakpoint );
+                    //super.breakpointAdded(breakpoint);
+
+                    Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
+                    if ( !handleriter.hasNext() ) {
+                        // Create class prepare request to add breakpoint after MVELDebugHanlder is loaded
+                        ClassPrepareRequest req = getEventRequestManager().createClassPrepareRequest();
+                        req.addClassFilter( "org.drools.base.mvel.MVELDebugHandler" );
+                        req.setSuspendPolicy( EventRequest.SUSPEND_ALL );
+
+                        addJDIEventListener( new IJDIEventListener() {
+
+                                                 public boolean handleEvent(Event event,
+                                                                            JDIDebugTarget target) {
+                                                     addRemoteBreakpoint( d );
+                                                     return true;
+                                                 }
+
+                                                 public void wonSuspendVote(Event event,
+                                                                            JDIDebugTarget target) {
+                                                 }
+
+                                             },
+                                             req );
+
+                        req.enable();
+                        return;
+                    }
+
+                    addRemoteBreakpoint( d );
+                } else {
+                    // only add breakpoint if setting Java properties of DRL
+                    // breakpoint does not generate an error
+                    super.breakpointAdded( breakpoint );
+                }
+            } else {
+                super.breakpointAdded( breakpoint );
+            }
+        } catch ( Throwable t ) {
+            // Exception will be thrown when trying to use breakpoint
+            // on drl that is incorrect (cannot be parsed or compiled)
+            DroolsEclipsePlugin.log( t );
+        }
+    }
+
+    protected synchronized void initialize() {
+        setThreadList( new ArrayList( 5 ) );
+        super.initialize();
+    }
+
+    protected JDIThread createThread(ThreadReference thread) {
+        JDIThread jdiThread = null;
+        try {
+            jdiThread = new DroolsThread( this,
+                                          thread );
+        } catch ( ObjectCollectedException exception ) {
+            // ObjectCollectionException can be thrown if the thread has already
+            // completed (exited) in the VM.
+            return null;
+        }
+        if ( isDisconnected() ) {
+            return null;
+        }
+        synchronized ( fThreads ) {
+            fThreads.add( jdiThread );
+        }
+        jdiThread.fireCreationEvent();
+        return jdiThread;
+    }
+
+    private Iterator getThreadIterator() {
+        List threadList;
+        synchronized ( fThreads ) {
+            threadList = (List) fThreads.clone();
+        }
+        return threadList.iterator();
+    }
+
+    private boolean hasSuspendedThreads() {
+        Iterator it = getThreadIterator();
+        while ( it.hasNext() ) {
+            IThread thread = (IThread) it.next();
+            if ( thread.isSuspended() ) return true;
+        }
+        return false;
+    }
+
+    public boolean canResume() {
+        return (isSuspended() || hasSuspendedThreads()) && isAvailable() && !isPerformingHotCodeReplace();
+    }
+
+    protected void resume(boolean fireNotification) throws DebugException {
+        if ( (!isSuspended() && !hasSuspendedThreads()) || !isAvailable() ) {
+            return;
+        }
+        try {
+            setSuspended( false );
+            resumeThreads();
+            VirtualMachine vm = getVM();
+            if ( vm != null ) {
+                vm.resume();
+            }
+            if ( fireNotification ) {
+                fireResumeEvent( DebugEvent.CLIENT_REQUEST );
+            }
+        } catch ( VMDisconnectedException e ) {
+            disconnected();
+            return;
+        } catch ( RuntimeException e ) {
+            setSuspended( true );
+            fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_resume,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+    }
+
+    private void setSuspended(boolean suspended) {
+        fSuspended = suspended;
+    }
+
+    public boolean isSuspended() {
+        return fSuspended;
+    }
+
+    private void setThreadList(ArrayList threads) {
+        fThreads = threads;
+    }
+
+    public IThread[] getThreads() {
+        synchronized ( fThreads ) {
+            return (IThread[]) fThreads.toArray( new IThread[0] );
+        }
+    }
+
+    protected void removeAllThreads() {
+        Iterator itr = getThreadIterator();
+        while ( itr.hasNext() ) {
+            DroolsThread child = (DroolsThread) itr.next();
+            child.terminated();
+        }
+        synchronized ( fThreads ) {
+            fThreads.clear();
+        }
+    }
+
+    protected void initializeRequests() {
+        setThreadStartHandler( new ThreadStartHandler() );
+        new ThreadDeathHandler();
+        new MVELTraceHandler();
+    }
+
+    class ThreadDeathHandler
+        implements
+        IJDIEventListener {
+
+        protected ThreadDeathHandler() {
+            createRequest();
+        }
+
+        /**
+         * Creates and registers a request to listen to thread
+         * death events.
+         */
+        protected void createRequest() {
+            EventRequestManager manager = getEventRequestManager();
+            if ( manager != null ) {
+                try {
+                    EventRequest req = manager.createThreadDeathRequest();
+                    req.setSuspendPolicy( EventRequest.SUSPEND_NONE );
+                    req.enable();
+                    addJDIEventListener( this,
+                                         req );
+                } catch ( RuntimeException e ) {
+                    logError( e );
+                }
+            }
+        }
+
+        /**
+         * Locates the model thread associated with the underlying JDI thread
+         * that has terminated, and removes it from the collection of
+         * threads belonging to this debug target. A terminate event is
+         * fired for the model thread.
+         *
+         * @param event a thread death event
+         * @param target the target in which the thread died
+         * @return <code>true</code> - the thread should be resumed
+         */
+        public boolean handleEvent(Event event,
+                                   JDIDebugTarget target) {
+            ThreadReference ref = ((ThreadDeathEvent) event).thread();
+            DroolsThread thread = (DroolsThread) findThread( ref );
+            if ( thread != null ) {
+                synchronized ( fThreads ) {
+                    fThreads.remove( thread );
+                }
+                thread.terminated();
+            }
+            return true;
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
+         */
+        public void wonSuspendVote(Event event,
+                                   JDIDebugTarget target) {
+            // do nothing
+        }
+
+    }
+
+    class ThreadStartHandler
+        implements
+        IJDIEventListener {
+
+        protected EventRequest fRequest;
+
+        protected ThreadStartHandler() {
+            createRequest();
+        }
+
+        /**
+         * Creates and registers a request to handle all thread start
+         * events
+         */
+        protected void createRequest() {
+            EventRequestManager manager = getEventRequestManager();
+            if ( manager != null ) {
+                try {
+                    EventRequest req = manager.createThreadStartRequest();
+                    req.setSuspendPolicy( EventRequest.SUSPEND_NONE );
+                    req.enable();
+                    addJDIEventListener( this,
+                                         req );
+                    setRequest( req );
+                } catch ( RuntimeException e ) {
+                    logError( e );
+                }
+            }
+        }
+
+        /**
+         * Creates a model thread for the underlying JDI thread
+         * and adds it to the collection of threads for this
+         * debug target. As a side effect of creating the thread,
+         * a create event is fired for the model thread.
+         * The event is ignored if the underlying thread is already
+         * marked as collected.
+         *
+         * @param event a thread start event
+         * @param target the target in which the thread started
+         * @return <code>true</code> - the thread should be resumed
+         */
+        public boolean handleEvent(Event event,
+                                   JDIDebugTarget target) {
+            ThreadReference thread = ((ThreadStartEvent) event).thread();
+            try {
+                if ( thread.isCollected() ) {
+                    return false;
+                }
+            } catch ( VMDisconnectedException exception ) {
+                return false;
+            } catch ( ObjectCollectedException e ) {
+                return false;
+            } catch ( TimeoutException e ) {
+                // continue - attempt to create the thread
+            }
+            DroolsThread jdiThread = (DroolsThread) findThread( thread );
+            if ( jdiThread == null ) {
+                jdiThread = (DroolsThread) createThread( thread );
+                if ( jdiThread == null ) {
+                    return false;
+                }
+            } else {
+                jdiThread.disposeStackFrames();
+                jdiThread.fireChangeEvent( DebugEvent.CONTENT );
+            }
+            return !jdiThread.isSuspended();
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
+         */
+        public void wonSuspendVote(Event event,
+                                   JDIDebugTarget target) {
+            // do nothing
+        }
+
+        /**
+         * Deregisters this event listener.
+         */
+        protected void deleteRequest() {
+            if ( getRequest() != null ) {
+                removeJDIEventListener( this,
+                                        getRequest() );
+                setRequest( null );
+            }
+        }
+
+        protected EventRequest getRequest() {
+            return fRequest;
+        }
+
+        protected void setRequest(EventRequest request) {
+            fRequest = request;
+        }
+    }
+
+    private void disposeThreadHandler() {
+        ThreadStartHandler handler = getThreadStartHandler2();
+        if ( handler != null ) {
+            handler.deleteRequest();
+        }
+    }
+
+    public boolean hasThreads() {
+        return fThreads.size() > 0;
+    }
+
+    protected ThreadStartHandler getThreadStartHandler2() {
+        return fThreadStartHandler;
+    }
+
+    protected void setThreadStartHandler(ThreadStartHandler threadStartHandler) {
+        fThreadStartHandler = threadStartHandler;
+    }
+
+    public boolean isOutOfSynch() throws DebugException {
+        Iterator threads = getThreadIterator();
+        while ( threads.hasNext() ) {
+            JDIThread thread = (JDIThread) threads.next();
+            if ( thread.isOutOfSynch() ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public boolean mayBeOutOfSynch() {
+        Iterator threads = getThreadIterator();
+        while ( threads.hasNext() ) {
+            JDIThread thread = (JDIThread) threads.next();
+            if ( thread.mayBeOutOfSynch() ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public JDIThread findThread(ThreadReference tr) {
+        Iterator iter = getThreadIterator();
+        while ( iter.hasNext() ) {
+            JDIThread thread = (JDIThread) iter.next();
+            if ( thread.getUnderlyingThread().equals( tr ) ) return thread;
+        }
+        return null;
+    }
+
+    public void breakpointRemoved(IBreakpoint breakpoint,
+                                  IMarkerDelta delta) {
+        if ( !isAvailable() ) {
+            return;
+        }
+        if ( supportsBreakpoint( breakpoint ) ) {
+            try {
+
+                if ( breakpoint instanceof DroolsLineBreakpoint ) {
+                    ((DroolsLineBreakpoint) breakpoint).setJavaBreakpointProperties();
+
+                    final DroolsLineBreakpoint d = (DroolsLineBreakpoint) breakpoint;
+
+                    if ( d.getDialectName().equals( MVELDialect.ID ) ) {
+                        removeRemoteBreakpoint( (DroolsLineBreakpoint) breakpoint,
+                                                delta );
+                    }
+                }
+
+                ((JavaBreakpoint) breakpoint).removeFromTarget( this );
+                getBreakpoints().remove( breakpoint );
+                Iterator threads = getThreadIterator();
+                while ( threads.hasNext() ) {
+                    ((DroolsThread) threads.next()).removeCurrentBreakpoint( breakpoint );
+                }
+            } catch ( CoreException e ) {
+                logError( e );
+            }
+        }
+    }
+
+    protected void suspendThreads() {
+        Iterator threads = getThreadIterator();
+        while ( threads.hasNext() ) {
+            ((DroolsThread) threads.next()).suspendedByVM();
+        }
+    }
+
+    protected void resumeThreads() throws DebugException {
+        Iterator threads = getThreadIterator();
+        while ( threads.hasNext() ) {
+            ((DroolsThread) threads.next()).resumedByVM();
+        }
+    }
+
+    public void disconnect() throws DebugException {
+
+        if ( !isAvailable() ) {
+            // already done
+            return;
+        }
+
+        if ( !canDisconnect() ) {
+            notSupported( JDIDebugModelMessages.JDIDebugTarget_does_not_support_disconnect );
+        }
+
+        try {
+            disposeThreadHandler();
+            VirtualMachine vm = getVM();
+            if ( vm != null ) {
+                vm.dispose();
+            }
+        } catch ( VMDisconnectedException e ) {
+            // if the VM disconnects while disconnecting, perform
+            // normal disconnect handling
+            disconnected();
+        } catch ( RuntimeException e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_disconnecting,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+
+    }
+
+    public void terminate() throws DebugException {
+        if ( !isAvailable() ) {
+            return;
+        }
+        if ( !supportsTerminate() ) {
+            notSupported( JDIDebugModelMessages.JDIDebugTarget_does_not_support_termination );
+        }
+        try {
+            setTerminating( true );
+            disposeThreadHandler();
+            VirtualMachine vm = getVM();
+            if ( vm != null ) {
+                vm.exit( 1 );
+            }
+            IProcess process = getProcess();
+            if ( process != null ) {
+                process.terminate();
+            }
+        } catch ( VMDisconnectedException e ) {
+            // if the VM disconnects while exiting, perform
+            // normal termination processing
+            terminated();
+        } catch ( TimeoutException exception ) {
+            // if there is a timeout see if the associated process is terminated
+            IProcess process = getProcess();
+            if ( process != null && process.isTerminated() ) {
+                terminated();
+            } else {
+                // All we can do is disconnect
+                disconnected();
+            }
+        } catch ( RuntimeException e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_terminating,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+    }
+
+    public void handleVMStart(VMStartEvent event) {
+        if ( isResumeOnStartup() ) {
+            try {
+                setSuspended( true );
+                resume();
+            } catch ( DebugException e ) {
+                logError( e );
+            }
+        }
+        // If any threads have resumed since thread collection was initialized,
+        // update their status (avoid concurrent modification - use #getThreads())
+        IThread[] threads = getThreads();
+        for ( int i = 0; i < threads.length; i++ ) {
+            DroolsThread thread = (DroolsThread) threads[i];
+            if ( thread.isSuspended() ) {
+                try {
+                    boolean suspended = thread.getUnderlyingThread().isSuspended();
+                    if ( !suspended ) {
+                        thread.setRunning( true );
+                        thread.fireResumeEvent( DebugEvent.CLIENT_REQUEST );
+                    }
+                } catch ( VMDisconnectedException e ) {
+                } catch ( ObjectCollectedException e ) {
+                } catch ( RuntimeException e ) {
+                    logError( e );
+                }
+            }
+        }
+    }
+
+    protected void initializeState() {
+
+        List threads = null;
+        VirtualMachine vm = getVM();
+        if ( vm != null ) {
+            try {
+                threads = vm.allThreads();
+            } catch ( RuntimeException e ) {
+                internalError( e );
+            }
+            if ( threads != null ) {
+                Iterator initialThreads = threads.iterator();
+                while ( initialThreads.hasNext() ) {
+                    createThread( (ThreadReference) initialThreads.next() );
+                }
+            }
+        }
+
+        if ( isResumeOnStartup() ) {
+            setSuspended( false );
+        }
+    }
+
+    public void suspend() throws DebugException {
+        if ( isSuspended() ) {
+            return;
+        }
+        try {
+            VirtualMachine vm = getVM();
+            if ( vm != null ) {
+                vm.suspend();
+            }
+            suspendThreads();
+            setSuspended( true );
+            fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
+        } catch ( RuntimeException e ) {
+            setSuspended( false );
+            fireResumeEvent( DebugEvent.CLIENT_REQUEST );
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_suspend,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+    }
+
+    public void prepareToSuspendByBreakpoint(JavaBreakpoint breakpoint) {
+        setSuspended( true );
+        suspendThreads();
+    }
+
+    protected void cancelSuspendByBreakpoint(JavaBreakpoint breakpoint) throws DebugException {
+        setSuspended( false );
+        resumeThreads();
+    }
+
+    class MVELTraceHandler
+        implements
+        IJDIEventListener {
+
+        protected MVELTraceHandler() {
+            createRequest();
+        }
+
+        protected void createRequest() {
+            EventRequestManager manager = getEventRequestManager();
+            if ( manager != null ) {
+                try {
+                    ClassPrepareRequest req = manager.createClassPrepareRequest();
+                    req.addClassFilter( "org.drools.base.mvel.MVELDebugHandler" );
+                    req.setSuspendPolicy( EventRequest.SUSPEND_ALL );
+                    addJDIEventListener( MVELTraceHandler.this,
+                                         req );
+                    req.enable();
+
+                } catch ( RuntimeException e ) {
+                    logError( e );
+                }
+            }
+        }
+
+        /**
+         * Locates the model thread associated with the underlying JDI thread
+         * that has terminated, and removes it from the collection of
+         * threads belonging to this debug target. A terminate event is
+         * fired for the model thread.
+         *
+         * @param event a thread death event
+         * @param target the target in which the thread died
+         * @return <code>true</code> - the thread should be resumed
+         */
+        public boolean handleEvent(Event event,
+                                   JDIDebugTarget target) {
+            String name = ((ClassPrepareEvent) event).referenceType().name();
+
+            MethodEntryRequest req = getEventRequestManager().createMethodEntryRequest();
+            req.addClassFilter( ((ClassPrepareEvent) event).referenceType() );
+
+            //breakpointCatched
+
+            /*field= type.fieldByName(getFieldName());
+             Field field;
+             EventRequest req= manager.createModificationWatchpointRequest(field);
+             */
+            req.setSuspendPolicy( EventRequest.SUSPEND_EVENT_THREAD );
+            addJDIEventListener( new IJDIEventListener() {
+
+                                     public boolean handleEvent(Event event,
+                                                                JDIDebugTarget target) {
+                                         MethodEntryEvent entryEvent = (MethodEntryEvent) event;
+
+                                         String name2 = entryEvent.method().name();
+
+                                         if ( !name2.equals( "onBreak" ) && !name2.equals( "receiveBreakpoints" ) ) {
+                                             //event.virtualMachine().resume();
+                                             return true;
+                                         }
+
+                                         try {
+                                             IThread[] tharr = getThreads();
+
+                                             ThreadReference t = null;
+                                             DroolsThread t2 = null;
+
+                                             for ( int i = 0; i < tharr.length; i++ ) {
+                                                 DroolsThread th2 = (DroolsThread) tharr[i];
+                                                 ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
+
+                                                 if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
+                                                     t = th2real;
+                                                     t2 = (DroolsThread) th2;
+
+                                                     th2real.suspend();
+                                                     th2.setRunning( false );
+                                                     th2.fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
+
+                                                     return true;
+                                                 }
+                                             }
+                                         } catch ( Exception t ) {
+                                             logError( t );
+                                         }
+                                         return true;
+
+                                     }
+
+                                     public void wonSuspendVote(Event event,
+                                                                JDIDebugTarget target) {
+
+                                     }
+
+                                 },
+                                 req );
+
+            req.enable();
+
+            return true;
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
+         */
+        public void wonSuspendVote(Event event,
+                                   JDIDebugTarget target) {
+            // do nothing
+        }
+
+    }
+
+    /**
+     * Tries to find a match for the provided breakpoint information from the list of registered breakpoints.
+     * For stepping and possibly other purposes it returns also a breakpoint for cases where exactly the same line was not found.
+     * 
+     * If breakpoint is not found for <code>line</code> at <code>source</code> then it takes the first line that is above the
+     * specified line at the same file.
+     * 
+     * @param source
+     * @param line
+     * @return
+     */
+    public DroolsLineBreakpoint getDroolsBreakpoint(String source) {
+
+        if ( source == null ) {
+            return null;
+        }
+
+        Iterator iterator = getBreakpoints().iterator();
+        while ( iterator.hasNext() ) {
+            IJavaBreakpoint element = (IJavaBreakpoint) iterator.next();
+            if ( element instanceof DroolsLineBreakpoint && ((DroolsLineBreakpoint) element).getDialectName().equals( MVELDialect.ID ) ) {
+                DroolsLineBreakpoint l = (DroolsLineBreakpoint) element;
+                try {
+
+                    int matchLine = l.getLineNumber();
+                    String matchSource = l.getRuleName();
+
+                    if ( source.equals( matchSource ) || l.getFileRuleMappings().containsKey( source ) ) {
+                        return l;
+                    }
+
+                } catch ( CoreException e ) {
+                    logError( e );
+                }
+            }
+        }
+
+        return null;
+    }
+
+    private void addRemoteBreakpoint(DroolsLineBreakpoint d) {
+
+        try {
+            if ( !d.isEnabled() ) {
+                return; // No need to install disabled breakpoints
+            }
+        } catch ( CoreException e2 ) {
+            logError( e2 );
+            return; // No need to install breakpoints that are this much broken
+        }
+
+        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
+        Object debugHandlerClass = handleriter.next();
+
+        int line;
+        String sourceName;
+
+        try {
+            line = d.getLineNumber();
+            sourceName = d.getTypeName();
+        } catch ( CoreException e1 ) {
+            logError( e1 );
+            return;
+        }
+
+        ReferenceType refType = (ReferenceType) debugHandlerClass;
+        Method m = (Method) refType.methodsByName( "registerBreakpoint" ).iterator().next();
+        List args = new ArrayList();
+        IntegerValue lineVal = getVM().mirrorOf( line );
+        StringReference nameVal = getVM().mirrorOf( sourceName );
+        JDIObjectValue val = (JDIObjectValue) newValue( sourceName );
+        ObjectReference realVal = val.getUnderlyingObject();
+        args.add( nameVal );
+        args.add( lineVal );
+
+        try {
+            ClassType tt = (ClassType) debugHandlerClass;
+            IThread[] tharr = getThreads();
+            ThreadReference t = null;
+            DroolsThread t2 = null;
+
+            for ( int i = 0; i < tharr.length; i++ ) {
+                IThread th2 = tharr[i];
+                ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
+
+                if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
+                    t = th2real;
+                    t2 = (DroolsThread) th2;
+                }
+            }
+
+            tt.invokeMethod( t,
+                             m,
+                             args,
+                             ObjectReference.INVOKE_SINGLE_THREADED );
+            //t2.computeNewStackFrames();
+
+            super.breakpointAdded( d );
+
+        } catch ( Exception e ) {
+            logError( e );
+        }
+
+    }
+
+    private void removeRemoteBreakpoint(DroolsLineBreakpoint d,
+                                        IMarkerDelta delta) {
+        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
+        Object debugHandlerClass = handleriter.next();
+
+        int line;
+        String sourceName;
+
+        try {
+            line = d.getLineNumber();
+            sourceName = d.getTypeName();
+        } catch ( CoreException e1 ) {
+            logError( e1 );
+            return;
+        }
+
+        ReferenceType refType = (ReferenceType) debugHandlerClass;
+        Method m = (Method) refType.methodsByName( "removeBreakpoint" ).iterator().next();
+        List args = new ArrayList();
+        IntegerValue lineVal = getVM().mirrorOf( line );
+        StringReference nameVal = getVM().mirrorOf( sourceName );
+        JDIObjectValue val = (JDIObjectValue) newValue( sourceName );
+        ObjectReference realVal = val.getUnderlyingObject();
+        args.add( nameVal );
+        args.add( lineVal );
+
+        try {
+            ClassType tt = (ClassType) debugHandlerClass;
+            IThread[] tharr = getThreads();
+            ThreadReference t = null;
+            DroolsThread t2 = null;
+
+            for ( int i = 0; i < tharr.length; i++ ) {
+                IThread th2 = tharr[i];
+                ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
+
+                if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
+                    t = th2real;
+                    t2 = (DroolsThread) th2;
+                }
+            }
+
+            tt.invokeMethod( t,
+                             m,
+                             args,
+                             ObjectReference.INVOKE_SINGLE_THREADED );
+
+        } catch ( Exception e ) {
+            logError( e );
+        }
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,174 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.internal.debug.core.breakpoints.JavaLineBreakpoint;
-
-public class DroolsLineBreakpoint extends JavaLineBreakpoint {
-
-    private static final String DIALECT = "org.drools.eclipse.debug.core.breakpointDialect";
-
-    /**
-     * Default constructor is required for the breakpoint manager
-     * to re-create persisted breakpoints. After instantiating a breakpoint,
-     * the <code>setMarker(...)</code> method is called to restore
-     * this breakpoint's attributes.
-     */
-    public DroolsLineBreakpoint() {
-        super();
-    }
-
-    /**
-     * Constructs a line breakpoint on the given resource at the given
-     * line number.
-     *
-     * @param resource file on which to set the breakpoint
-     * @param lineNumber line number of the breakpoint
-     * @throws CoreException if unable to create the breakpoint
-     */
-    public DroolsLineBreakpoint(IResource resource, int lineNumber)
-			throws CoreException {
-        super( resource, "", -1, -1, -1, 0, true,
-            createAttributesMap( lineNumber ), IDroolsDebugConstants.DROOLS_MARKER_TYPE );
-        setJavaBreakpointProperties();
-    }
-
-    private static Map createAttributesMap(int lineNumber) {
-        Map map = new HashMap();
-        map.put( IDroolsDebugConstants.DRL_LINE_NUMBER, new Integer( lineNumber ) );
-        return map;
-    }
-
-    public int getDRLLineNumber() {
-        return getMarker().getAttribute( IDroolsDebugConstants.DRL_LINE_NUMBER, -1 );
-    }
-
-    public String getModelIdentifier() {
-        return IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL;
-    }
-
-    public String getDialectName() {
-        return getMarker().getAttribute( DIALECT, "Unknown");
-    }
-
-    public Map getFileRuleMappings() {
-        String packedInfo = getMarker().getAttribute( IDroolsDebugConstants.DRL_RULES, "");
-        return unpackRuleMapping( packedInfo );
-    }
-
-    public void setJavaBreakpointProperties() throws CoreException {
-        IMarker marker = getMarker();
-        int drlLineNumber = getDRLLineNumber();
-        if ( marker.exists() ) {
-            try {
-                DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource( marker.getResource(), true );
-
-                RuleInfo[] ruleInfos = drlInfo.getRuleInfos();
-
-                StringBuffer rb = new StringBuffer();
-                for (int i=0;i<ruleInfos.length; i++) {
-                    int line = ruleInfos[i].getConsequenceDrlLineNumber();
-                    String ruleid = ruleInfos[i].getClassName()+":"+line;
-                    rb.append(ruleid);
-                    if (i<ruleInfos.length-1) {
-                        rb.append(";");
-                    }
-                }
-
-                marker.setAttribute( IDroolsDebugConstants.DRL_RULES, rb.toString());
-
-                marker.setAttribute( TYPE_NAME, getRuleClassName( drlInfo, marker.getResource().toString(), drlLineNumber ) );
-                int ruleLineNumber = getRuleLineNumber( drlInfo, marker.getResource().toString(), drlLineNumber );
-                marker.setAttribute( IMarker.LINE_NUMBER, ruleLineNumber );
-                marker.setAttribute( DIALECT, getDialect( drlInfo, drlLineNumber ) );
-
-            } catch ( Throwable t ) {
-                throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
-                                                     "Cannot determine ruleInfo " + marker.getResource() + " " + drlLineNumber, t ) );
-            }
-        }
-    }
-
-    private String getDialect(DRLInfo info, int drlLineNumber) {
-        if ( info != null ) {
-            return info.getRuleInfo( drlLineNumber ).getDialect().getId();
-        }
-        return null;
-    }
-
-    private String getRuleClassName(DRLInfo drlInfo, String resource, int lineNumber) throws CoreException {
-        if ( drlInfo != null ) {
-            RuleInfo ruleInfo = drlInfo.getRuleInfo( lineNumber );
-            if ( ruleInfo != null ) {
-                return ruleInfo.getClassName();
-            }
-            FunctionInfo functionInfo = drlInfo.getFunctionInfo( lineNumber );
-            if ( functionInfo != null ) {
-                return functionInfo.getClassName();
-            }
-        }
-        throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
-                                             "Cannot determine ruleClassName for " + resource + " " + lineNumber, null ) );
-    }
-
-    private int getRuleLineNumber(DRLInfo drlInfo, String resource, int lineNumber) throws CoreException {
-        if ( drlInfo != null ) {
-            RuleInfo ruleInfo = drlInfo.getRuleInfo( lineNumber );
-            if ( ruleInfo != null ) {
-                if ( ruleInfo.getConsequenceDrlLineNumber() < lineNumber ) {
-
-                    int line = ruleInfo.getConsequenceJavaLineNumber()
-                                        	+ (lineNumber - ruleInfo.getConsequenceDrlLineNumber());
-                    if (ruleInfo.getDialect().getId().equals( MVELDialect.ID )) {
-                        return line;
-                    }
-                    return line+1;
-                }
-            }
-            FunctionInfo functionInfo = drlInfo.getFunctionInfo( lineNumber );
-            if ( functionInfo != null ) {
-                return functionInfo.getJavaLineNumber()
-                	+ (lineNumber - functionInfo.getDrlLineNumber());
-            }
-        }
-        throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
-                                             "Cannot determine ruleLineNumber for " + resource + " " + lineNumber, null ) );
-    }
-
-    public String getRuleName() {
-        IMarker marker = getMarker();
-        if ( marker.exists() ) {
-                try {
-                    return (String) marker.getAttribute( TYPE_NAME);
-                } catch ( CoreException e ) {
-                    DroolsEclipsePlugin.log( e );
-                }
-        }
-        return null;
-    }
-
-    private final static Map unpackRuleMapping(String input) {
-        Map map = new HashMap();
-        String[] rules = input.split( "\\;");
-        for (int i=0; i<rules.length; i++) {
-            if (rules[i].length()>0) {
-                String[] inf = rules[i].split( "\\:" );
-                map.put( inf[0], Integer.valueOf( inf[1] ) );
-            }
-        }
-        return map;
-    }
-
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,174 @@
+package org.drools.eclipse.debug.core;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.rule.builder.dialect.mvel.MVELDialect;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.internal.debug.core.breakpoints.JavaLineBreakpoint;
+
+public class DroolsLineBreakpoint extends JavaLineBreakpoint {
+
+    private static final String DIALECT = "org.drools.eclipse.debug.core.breakpointDialect";
+
+    /**
+     * Default constructor is required for the breakpoint manager
+     * to re-create persisted breakpoints. After instantiating a breakpoint,
+     * the <code>setMarker(...)</code> method is called to restore
+     * this breakpoint's attributes.
+     */
+    public DroolsLineBreakpoint() {
+        super();
+    }
+
+    /**
+     * Constructs a line breakpoint on the given resource at the given
+     * line number.
+     *
+     * @param resource file on which to set the breakpoint
+     * @param lineNumber line number of the breakpoint
+     * @throws CoreException if unable to create the breakpoint
+     */
+    public DroolsLineBreakpoint(IResource resource, int lineNumber)
+			throws CoreException {
+        super( resource, "", -1, -1, -1, 0, true,
+            createAttributesMap( lineNumber ), IDroolsDebugConstants.DROOLS_MARKER_TYPE );
+        setJavaBreakpointProperties();
+    }
+
+    private static Map createAttributesMap(int lineNumber) {
+        Map map = new HashMap();
+        map.put( IDroolsDebugConstants.DRL_LINE_NUMBER, new Integer( lineNumber ) );
+        return map;
+    }
+
+    public int getDRLLineNumber() {
+        return getMarker().getAttribute( IDroolsDebugConstants.DRL_LINE_NUMBER, -1 );
+    }
+
+    public String getModelIdentifier() {
+        return IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL;
+    }
+
+    public String getDialectName() {
+        return getMarker().getAttribute( DIALECT, "Unknown");
+    }
+
+    public Map getFileRuleMappings() {
+        String packedInfo = getMarker().getAttribute( IDroolsDebugConstants.DRL_RULES, "");
+        return unpackRuleMapping( packedInfo );
+    }
+
+    public void setJavaBreakpointProperties() throws CoreException {
+        IMarker marker = getMarker();
+        int drlLineNumber = getDRLLineNumber();
+        if ( marker.exists() ) {
+            try {
+                DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource( marker.getResource(), true );
+
+                RuleInfo[] ruleInfos = drlInfo.getRuleInfos();
+
+                StringBuffer rb = new StringBuffer();
+                for (int i=0;i<ruleInfos.length; i++) {
+                    int line = ruleInfos[i].getConsequenceDrlLineNumber();
+                    String ruleid = ruleInfos[i].getClassName()+":"+line;
+                    rb.append(ruleid);
+                    if (i<ruleInfos.length-1) {
+                        rb.append(";");
+                    }
+                }
+
+                marker.setAttribute( IDroolsDebugConstants.DRL_RULES, rb.toString());
+
+                marker.setAttribute( TYPE_NAME, getRuleClassName( drlInfo, marker.getResource().toString(), drlLineNumber ) );
+                int ruleLineNumber = getRuleLineNumber( drlInfo, marker.getResource().toString(), drlLineNumber );
+                marker.setAttribute( IMarker.LINE_NUMBER, ruleLineNumber );
+                marker.setAttribute( DIALECT, getDialect( drlInfo, drlLineNumber ) );
+
+            } catch ( Throwable t ) {
+                throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
+                                                     "Cannot determine ruleInfo " + marker.getResource() + " " + drlLineNumber, t ) );
+            }
+        }
+    }
+
+    private String getDialect(DRLInfo info, int drlLineNumber) {
+        if ( info != null ) {
+            return info.getRuleInfo( drlLineNumber ).getDialect().getId();
+        }
+        return null;
+    }
+
+    private String getRuleClassName(DRLInfo drlInfo, String resource, int lineNumber) throws CoreException {
+        if ( drlInfo != null ) {
+            RuleInfo ruleInfo = drlInfo.getRuleInfo( lineNumber );
+            if ( ruleInfo != null ) {
+                return ruleInfo.getClassName();
+            }
+            FunctionInfo functionInfo = drlInfo.getFunctionInfo( lineNumber );
+            if ( functionInfo != null ) {
+                return functionInfo.getClassName();
+            }
+        }
+        throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
+                                             "Cannot determine ruleClassName for " + resource + " " + lineNumber, null ) );
+    }
+
+    private int getRuleLineNumber(DRLInfo drlInfo, String resource, int lineNumber) throws CoreException {
+        if ( drlInfo != null ) {
+            RuleInfo ruleInfo = drlInfo.getRuleInfo( lineNumber );
+            if ( ruleInfo != null ) {
+                if ( ruleInfo.getConsequenceDrlLineNumber() < lineNumber ) {
+
+                    int line = ruleInfo.getConsequenceJavaLineNumber()
+                                        	+ (lineNumber - ruleInfo.getConsequenceDrlLineNumber());
+                    if (ruleInfo.getDialect().getId().equals( MVELDialect.ID )) {
+                        return line;
+                    }
+                    return line+1;
+                }
+            }
+            FunctionInfo functionInfo = drlInfo.getFunctionInfo( lineNumber );
+            if ( functionInfo != null ) {
+                return functionInfo.getJavaLineNumber()
+                	+ (lineNumber - functionInfo.getDrlLineNumber());
+            }
+        }
+        throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
+                                             "Cannot determine ruleLineNumber for " + resource + " " + lineNumber, null ) );
+    }
+
+    public String getRuleName() {
+        IMarker marker = getMarker();
+        if ( marker.exists() ) {
+                try {
+                    return (String) marker.getAttribute( TYPE_NAME);
+                } catch ( CoreException e ) {
+                    DroolsEclipsePlugin.log( e );
+                }
+        }
+        return null;
+    }
+
+    private final static Map unpackRuleMapping(String input) {
+        Map map = new HashMap();
+        String[] rules = input.split( "\\;");
+        for (int i=0; i<rules.length; i++) {
+            if (rules[i].length()>0) {
+                String[] inf = rules[i].split( "\\:" );
+                map.put( inf[0], Integer.valueOf( inf[1] ) );
+            }
+        }
+        return map;
+    }
+
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,61 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.ui.texteditor.IMarkerUpdater;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-public class DroolsLineBreakpointMarkerUpdater implements IMarkerUpdater {
-
-	private static final String[] ATTRIBUTES = { 
-		IMarker.LINE_NUMBER, 
-		IDroolsDebugConstants.DRL_LINE_NUMBER 
-	};
-	
-	public String getMarkerType() {
-		// responsible for only Drools line breakpoint markers
-		return IDroolsDebugConstants.DROOLS_MARKER_TYPE;
-	}
-
-	public String[] getAttribute() {
-		return ATTRIBUTES;
-	}
-
-	public boolean updateMarker(IMarker marker, IDocument document, Position position) {
-		if (position == null) {
-			return true;
-		}
-		if (position.isDeleted()) {
-			return false;
-		}
-		boolean offsetsInitialized = false;
-		boolean offsetsChanged = false;
-		int markerStart = MarkerUtilities.getCharStart(marker);
-		int markerEnd = MarkerUtilities.getCharEnd(marker);
-		if (markerStart != -1 && markerEnd != -1) {
-			offsetsInitialized = true;
-			int offset = position.getOffset();
-			if (markerStart != offset) {
-				MarkerUtilities.setCharStart(marker, offset);
-				offsetsChanged= true;
-			}
-			offset += position.getLength();
-			if (markerEnd != offset) {
-				MarkerUtilities.setCharEnd(marker, offset);
-				offsetsChanged= true;
-			}
-		}
-		if (!offsetsInitialized || (offsetsChanged && MarkerUtilities.getLineNumber(marker) != -1)) {
-			try {
-				int drlLineNumber = document.getLineOfOffset(position.getOffset()) + 1;
-				marker.setAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, drlLineNumber);
-			} catch (Throwable t) {
-				DroolsEclipsePlugin.log(t);
-			}
-		}
-		return true;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,61 @@
+package org.drools.eclipse.debug.core;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.Position;
+import org.eclipse.ui.texteditor.IMarkerUpdater;
+import org.eclipse.ui.texteditor.MarkerUtilities;
+
+public class DroolsLineBreakpointMarkerUpdater implements IMarkerUpdater {
+
+	private static final String[] ATTRIBUTES = { 
+		IMarker.LINE_NUMBER, 
+		IDroolsDebugConstants.DRL_LINE_NUMBER 
+	};
+	
+	public String getMarkerType() {
+		// responsible for only Drools line breakpoint markers
+		return IDroolsDebugConstants.DROOLS_MARKER_TYPE;
+	}
+
+	public String[] getAttribute() {
+		return ATTRIBUTES;
+	}
+
+	public boolean updateMarker(IMarker marker, IDocument document, Position position) {
+		if (position == null) {
+			return true;
+		}
+		if (position.isDeleted()) {
+			return false;
+		}
+		boolean offsetsInitialized = false;
+		boolean offsetsChanged = false;
+		int markerStart = MarkerUtilities.getCharStart(marker);
+		int markerEnd = MarkerUtilities.getCharEnd(marker);
+		if (markerStart != -1 && markerEnd != -1) {
+			offsetsInitialized = true;
+			int offset = position.getOffset();
+			if (markerStart != offset) {
+				MarkerUtilities.setCharStart(marker, offset);
+				offsetsChanged= true;
+			}
+			offset += position.getLength();
+			if (markerEnd != offset) {
+				MarkerUtilities.setCharEnd(marker, offset);
+				offsetsChanged= true;
+			}
+		}
+		if (!offsetsInitialized || (offsetsChanged && MarkerUtilities.getLineNumber(marker) != -1)) {
+			try {
+				int drlLineNumber = document.getLineOfOffset(position.getOffset()) + 1;
+				marker.setAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, drlLineNumber);
+			} catch (Throwable t) {
+				DroolsEclipsePlugin.log(t);
+			}
+		}
+		return true;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,22 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.eclipse.jdt.internal.debug.core.model.JDILocalVariable;
-import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
-
-import com.sun.jdi.LocalVariable;
-
-public class DroolsLocalVariable extends JDILocalVariable {
-	
-	public DroolsLocalVariable(JDIStackFrame frame, LocalVariable local) {
-		super(frame, local);
-	}
-
-	protected void setLocal(LocalVariable local) {
-		super.setLocal(local);
-	}
-	
-	protected LocalVariable getLocal() {
-		return super.getLocal();
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,22 @@
+package org.drools.eclipse.debug.core;
+
+import org.eclipse.jdt.internal.debug.core.model.JDILocalVariable;
+import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
+
+import com.sun.jdi.LocalVariable;
+
+public class DroolsLocalVariable extends JDILocalVariable {
+	
+	public DroolsLocalVariable(JDIStackFrame frame, LocalVariable local) {
+		super(frame, local);
+	}
+
+	protected void setLocal(LocalVariable local) {
+		super.setLocal(local);
+	}
+	
+	protected LocalVariable getLocal() {
+		return super.getLocal();
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,639 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIFieldVariable;
-import org.eclipse.jdt.internal.debug.core.model.JDILocalVariable;
-import org.eclipse.jdt.internal.debug.core.model.JDIReferenceType;
-import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
-import org.eclipse.jdt.internal.debug.core.model.JDIThread;
-
-import com.ibm.icu.text.MessageFormat;
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.Field;
-import com.sun.jdi.LocalVariable;
-import com.sun.jdi.Location;
-import com.sun.jdi.Method;
-import com.sun.jdi.NativeMethodException;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.StackFrame;
-
-public class DroolsStackFrame extends JDIStackFrame {
-
-    private static final String CONSEQUENCE_SIGNATURE = "(Lorg/drools/spi/KnowledgeHelper";
-
-    private DroolsThread        fThread;
-    private Location            fLocation;
-    private List                fVariables;
-    private boolean             fRefreshVariables     = true;
-    private int                 fDepth                = -2;
-    private boolean             initialized           = true;
-    private StackFrame          fStackFrame;
-    private ObjectReference     fThisObject;
-    private String              fReceivingTypeName;
-    private boolean             fLocalsAvailable      = true;
-
-    public DroolsStackFrame(DroolsThread thread,
-                            StackFrame frame,
-                            int depth) {
-        super( thread,
-               frame,
-               depth );
-        bind( frame,
-              depth );
-    }
-
-    public boolean isExecutingRule() {
-        try {
-            if ( "consequence".equals( getMethodName() ) && getSignature().startsWith( CONSEQUENCE_SIGNATURE ) ) {
-                return true;
-            }
-        } catch ( DebugException exc ) {
-            DroolsEclipsePlugin.log( exc );
-        }
-        return false;
-    }
-
-    public RuleInfo getExecutingRuleInfo() {
-        try {
-            String methodName = getMethodName();
-            String signature = getSignature();
-            String type = getDeclaringTypeName();
-            if ( "consequence".equals( methodName ) && signature.startsWith( CONSEQUENCE_SIGNATURE ) ) {
-                return DroolsEclipsePlugin.getDefault().getRuleInfoByClass( type );
-            }
-
-        } catch ( DebugException exc ) {
-            DroolsEclipsePlugin.log( exc );
-        }
-        return null;
-    }
-
-    public FunctionInfo getExecutingFunctionInfo() {
-        try {
-            return DroolsEclipsePlugin.getDefault().getFunctionInfoByClass( getDeclaringTypeName() );
-        } catch ( DebugException exc ) {
-            DroolsEclipsePlugin.log( exc );
-        }
-        return null;
-    }
-
-    public int getLineNumber() throws DebugException {
-        synchronized ( fThread ) {
-            RuleInfo ruleInfo = getExecutingRuleInfo();
-            if ( ruleInfo != null ) {
-                return ruleInfo.getConsequenceDrlLineNumber() + (getInternalLineNumber() - ruleInfo.getConsequenceJavaLineNumber() - 1);
-            }
-            FunctionInfo functionInfo = getExecutingFunctionInfo();
-            if ( functionInfo != null ) {
-                return functionInfo.getDrlLineNumber() + (getInternalLineNumber() - functionInfo.getJavaLineNumber());
-            }
-        }
-
-        return getInternalLineNumber();
-    }
-
-    private int getInternalLineNumber() throws DebugException {
-        try {
-            return fLocation.lineNumber();
-        } catch ( RuntimeException e ) {
-            if ( getThread().isSuspended() ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_line_number,
-                                                           new String[]{e.toString()} ),
-                                     e );
-            }
-        }
-        return -1;
-    }
-
-    public IVariable[] getVariables() throws DebugException {
-        IVariable[] variables = super.getVariables();
-        List result = new ArrayList( (variables.length - 1) / 2 );
-        for ( int i = 0; i < variables.length; i++ ) {
-            String name = variables[i].getName();
-            if ( !(name.equals( "drools" )) && !(name.endsWith( "__Handle__" )) ) {
-                result.add( variables[i] );
-            }
-        }
-        return (IVariable[]) result.toArray( new IVariable[result.size()] );
-    }
-
-    protected List getVariables0() throws DebugException {
-        synchronized ( fThread ) {
-            if ( fVariables == null ) {
-
-                // throw exception if native method, so variable view will update
-                // with information message
-                if ( isNative() ) {
-                    requestFailed( JDIDebugModelMessages.JDIStackFrame_Variable_information_unavailable_for_native_methods,
-                                   null );
-                }
-
-                Method method = getUnderlyingMethod();
-                fVariables = new ArrayList();
-                // #isStatic() does not claim to throw any exceptions - so it is not try/catch coded
-                if ( method.isStatic() ) {
-                    // add statics
-                    List allFields = null;
-                    ReferenceType declaringType = method.declaringType();
-                    try {
-                        allFields = declaringType.allFields();
-                    } catch ( RuntimeException e ) {
-                        targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_fields,
-                                                                   new String[]{e.toString()} ),
-                                             e );
-                        // execution will not reach this line, as 
-                        // #targetRequestFailed will throw an exception					
-                        return Collections.EMPTY_LIST;
-                    }
-                    if ( allFields != null ) {
-                        Iterator fields = allFields.iterator();
-                        while ( fields.hasNext() ) {
-                            Field field = (Field) fields.next();
-                            if ( field.isStatic() ) {
-                                fVariables.add( new JDIFieldVariable( (JDIDebugTarget) getDebugTarget(),
-                                                                      field,
-                                                                      declaringType ) );
-                            }
-                        }
-                        Collections.sort( fVariables,
-                                          new Comparator() {
-                                              public int compare(Object a,
-                                                                 Object b) {
-                                                  JDIFieldVariable v1 = (JDIFieldVariable) a;
-                                                  JDIFieldVariable v2 = (JDIFieldVariable) b;
-                                                  try {
-                                                      return v1.getName().compareToIgnoreCase( v2.getName() );
-                                                  } catch ( DebugException de ) {
-                                                      logError( de );
-                                                      return -1;
-                                                  }
-                                              }
-                                          } );
-                    }
-                } else {
-                    // add "this"
-                    ObjectReference t = getUnderlyingThisObject();
-                    if ( t != null ) {
-                        fVariables.add( new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
-                                                                t ) );
-                    }
-                }
-                // add locals
-                Iterator variables = getUnderlyingVisibleVariables().iterator();
-                while ( variables.hasNext() ) {
-                    LocalVariable var = (LocalVariable) variables.next();
-                    fVariables.add( new DroolsLocalVariable( this,
-                                                             var ) );
-                }
-            } else if ( fRefreshVariables ) {
-                updateVariables();
-            }
-            fRefreshVariables = false;
-            return fVariables;
-        }
-    }
-
-    protected JDIStackFrame bind(StackFrame frame,
-                                 int depth) {
-        if ( initialized ) {
-            synchronized ( fThread ) {
-                if ( fDepth == -2 ) {
-                    // first initialization
-                    fStackFrame = frame;
-                    fDepth = depth;
-                    fLocation = frame.location();
-                    return this;
-                } else if ( depth == -1 ) {
-                    // mark as invalid
-                    fDepth = -1;
-                    fStackFrame = null;
-                    return null;
-                } else if ( fDepth == depth ) {
-                    Location location = frame.location();
-                    Method method = location.method();
-                    if ( method.equals( fLocation.method() ) ) {
-                        try {
-                            if ( method.declaringType().defaultStratum().equals( "Java" ) || //$NON-NLS-1$
-                                 equals( getSourceName( location ),
-                                         getSourceName( fLocation ) ) ) {
-                                // TODO: what about receiving type being the same?
-                                fStackFrame = frame;
-                                fLocation = location;
-                                clearCachedData();
-                                return this;
-                            }
-                        } catch ( DebugException e ) {
-                        }
-                    }
-                }
-                // invalidate this franme
-                bind( null,
-                      -1 );
-                // return a new frame
-                return createNewDroolsFrame( frame,
-                                             depth );
-            }
-        } else {
-            return null;
-        }
-    }
-
-    protected DroolsStackFrame createNewDroolsFrame(StackFrame frame,
-                                                    int depth) {
-        return DroolsThread.createCustomFrame( fThread,
-                                               depth,
-                                               frame );
-    }
-
-    public IThread getThread() {
-        return fThread;
-    }
-
-    public Method getUnderlyingMethod() {
-        synchronized ( fThread ) {
-            return fLocation.method();
-        }
-    }
-
-    protected List getUnderlyingVisibleVariables() throws DebugException {
-        synchronized ( fThread ) {
-            List variables = Collections.EMPTY_LIST;
-            try {
-                variables = getUnderlyingStackFrame().visibleVariables();
-            } catch ( AbsentInformationException e ) {
-                setLocalsAvailable( false );
-            } catch ( NativeMethodException e ) {
-                setLocalsAvailable( false );
-            } catch ( RuntimeException e ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_visible_variables_2,
-                                                           new String[]{e.toString()} ),
-                                     e );
-            }
-            return variables;
-        }
-    }
-
-    protected ObjectReference getUnderlyingThisObject() throws DebugException {
-        synchronized ( fThread ) {
-            if ( (fStackFrame == null || fThisObject == null) && !isStatic() ) {
-                try {
-                    fThisObject = getUnderlyingStackFrame().thisObject();
-                } catch ( RuntimeException e ) {
-                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_this,
-                                                               new String[]{e.toString()} ),
-                                         e );
-                    // execution will not reach this line, as 
-                    // #targetRequestFailed will throw an exception			
-                    return null;
-                }
-            }
-            return fThisObject;
-        }
-    }
-
-    public String getDeclaringTypeName() throws DebugException {
-        synchronized ( fThread ) {
-            try {
-                if ( isObsolete() ) {
-                    return JDIDebugModelMessages.JDIStackFrame__unknown_declaring_type__1;
-                }
-                return JDIReferenceType.getGenericName( getUnderlyingMethod().declaringType() );
-            } catch ( RuntimeException e ) {
-                if ( getThread().isSuspended() ) {
-                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_declaring_type,
-                                                               new String[]{e.toString()} ),
-                                         e );
-                }
-                return JDIDebugModelMessages.JDIStackFrame__unknown_declaring_type__1;
-            }
-        }
-    }
-
-    public String getSourceName() throws DebugException {
-        synchronized ( fThread ) {
-            return getSourceName( fLocation );
-        }
-    }
-
-    public boolean isObsolete() {
-        if ( !JDIDebugPlugin.isJdiVersionGreaterThanOrEqual( new int[]{1, 4} ) || !((JDIDebugTarget) getDebugTarget()).hasHCROccurred() ) {
-            // If no hot code replace has occurred, this frame
-            // cannot be obsolete.
-            return false;
-        }
-        // if this frame's thread is not suspended, the obsolete status cannot
-        // change until it suspends again
-        synchronized ( fThread ) {
-            if ( getThread().isSuspended() ) {
-                return getUnderlyingMethod().isObsolete();
-            }
-            return false;
-        }
-    }
-
-    protected boolean exists() {
-        synchronized ( fThread ) {
-            return fDepth != -1;
-        }
-    }
-
-    protected StackFrame getUnderlyingStackFrame() throws DebugException {
-        synchronized ( fThread ) {
-            if ( fStackFrame == null ) {
-                if ( fDepth == -1 ) {
-                    throw new DebugException( new Status( IStatus.ERROR,
-                                                          JDIDebugPlugin.getUniqueIdentifier(),
-                                                          IJavaStackFrame.ERR_INVALID_STACK_FRAME,
-                                                          JDIDebugModelMessages.JDIStackFrame_25,
-                                                          null ) );
-                }
-                if ( fThread.isSuspended() ) {
-                    // re-index stack frames - See Bug 47198
-                    fThread.computeStackFrames();
-                    if ( fDepth == -1 ) {
-                        // If depth is -1, then this is an invalid frame
-                        throw new DebugException( new Status( IStatus.ERROR,
-                                                              JDIDebugPlugin.getUniqueIdentifier(),
-                                                              IJavaStackFrame.ERR_INVALID_STACK_FRAME,
-                                                              JDIDebugModelMessages.JDIStackFrame_25,
-                                                              null ) );
-                    }
-                } else {
-                    throw new DebugException( new Status( IStatus.ERROR,
-                                                          JDIDebugPlugin.getUniqueIdentifier(),
-                                                          IJavaThread.ERR_THREAD_NOT_SUSPENDED,
-                                                          JDIDebugModelMessages.JDIStackFrame_25,
-                                                          null ) );
-                }
-            }
-            return fStackFrame;
-        }
-    }
-
-    protected void setUnderlyingStackFrame(StackFrame frame) {
-        synchronized ( fThread ) {
-            fStackFrame = frame;
-            if ( frame == null ) {
-                fRefreshVariables = true;
-            }
-        }
-    }
-
-    protected void setThread(JDIThread thread) {
-        fThread = (DroolsThread) thread;
-    }
-
-    public String getSourcePath(String stratum) throws DebugException {
-        synchronized ( fThread ) {
-            try {
-                return fLocation.sourcePath( stratum );
-            } catch ( AbsentInformationException e ) {
-            } catch ( RuntimeException e ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_path,
-                                                           new String[]{e.toString()} ),
-                                     e );
-            }
-        }
-        return null;
-    }
-
-    public String getSourcePath() throws DebugException {
-        synchronized ( fThread ) {
-            try {
-                return fLocation.sourcePath();
-            } catch ( AbsentInformationException e ) {
-            } catch ( RuntimeException e ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_path,
-                                                           new String[]{e.toString()} ),
-                                     e );
-            }
-        }
-        return null;
-    }
-
-    public int getLineNumber(String stratum) throws DebugException {
-        synchronized ( fThread ) {
-            try {
-                return fLocation.lineNumber( stratum );
-            } catch ( RuntimeException e ) {
-                if ( getThread().isSuspended() ) {
-                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_line_number,
-                                                               new String[]{e.toString()} ),
-                                         e );
-                }
-            }
-        }
-        return -1;
-    }
-
-    public String getSourceName(String stratum) throws DebugException {
-        synchronized ( fThread ) {
-            try {
-                return fLocation.sourceName( stratum );
-            } catch ( AbsentInformationException e ) {
-            } catch ( NativeMethodException e ) {
-            } catch ( RuntimeException e ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_name,
-                                                           new String[]{e.toString()} ),
-                                     e );
-            }
-        }
-        return null;
-    }
-
-    protected void updateVariables() throws DebugException {
-        if ( fVariables == null ) {
-            return;
-        }
-
-        Method method = getUnderlyingMethod();
-        int index = 0;
-        if ( !method.isStatic() ) {
-            // update "this"
-            ObjectReference thisObject;
-            try {
-                thisObject = getUnderlyingThisObject();
-            } catch ( DebugException exception ) {
-                if ( !getThread().isSuspended() ) {
-                    thisObject = null;
-                } else {
-                    throw exception;
-                }
-            }
-            DroolsThisVariable oldThisObject = null;
-            if ( !fVariables.isEmpty() && fVariables.get( 0 ) instanceof DroolsThisVariable ) {
-                oldThisObject = (DroolsThisVariable) fVariables.get( 0 );
-            }
-            if ( thisObject == null && oldThisObject != null ) {
-                // removal of 'this'
-                fVariables.remove( 0 );
-                index = 0;
-            } else {
-                if ( oldThisObject == null && thisObject != null ) {
-                    // creation of 'this'
-                    oldThisObject = new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
-                                                            thisObject );
-                    fVariables.add( 0,
-                                    oldThisObject );
-                    index = 1;
-                } else {
-                    if ( oldThisObject != null ) {
-                        // 'this' still exists, replace with new 'this' if a different receiver
-                        if ( !oldThisObject.retrieveValue().equals( thisObject ) ) {
-                            fVariables.remove( 0 );
-                            fVariables.add( 0,
-                                            new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
-                                                                    thisObject ) );
-                        }
-                        index = 1;
-                    }
-                }
-            }
-        }
-
-        List locals = null;
-        try {
-            locals = getUnderlyingStackFrame().visibleVariables();
-        } catch ( AbsentInformationException e ) {
-            locals = Collections.EMPTY_LIST;
-        } catch ( NativeMethodException e ) {
-            locals = Collections.EMPTY_LIST;
-        } catch ( RuntimeException e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_visible_variables,
-                                                       new String[]{e.toString()} ),
-                                 e );
-            // execution will not reach this line, as 
-            // #targetRequestFailed will throw an exception			
-            return;
-        }
-        int localIndex = -1;
-        while ( index < fVariables.size() ) {
-            Object var = fVariables.get( index );
-            if ( var instanceof JDILocalVariable ) {
-                DroolsLocalVariable local = (DroolsLocalVariable) fVariables.get( index );
-                localIndex = locals.indexOf( local.getLocal() );
-                if ( localIndex >= 0 ) {
-                    // update variable with new underling JDI LocalVariable
-                    local.setLocal( (LocalVariable) locals.get( localIndex ) );
-                    locals.remove( localIndex );
-                    index++;
-                } else {
-                    // remove variable
-                    fVariables.remove( index );
-                }
-            } else {
-                //field variable of a static frame
-                index++;
-            }
-        }
-
-        // add any new locals
-        Iterator newOnes = locals.iterator();
-        while ( newOnes.hasNext() ) {
-            DroolsLocalVariable local = new DroolsLocalVariable( this,
-                                                                 (LocalVariable) newOnes.next() );
-            fVariables.add( local );
-        }
-    }
-
-    protected void setVariables(List variables) {
-        fVariables = variables;
-    }
-
-    public String getReceivingTypeName() throws DebugException {
-        if ( fStackFrame == null || fReceivingTypeName == null ) {
-            try {
-                if ( isObsolete() ) {
-                    fReceivingTypeName = JDIDebugModelMessages.JDIStackFrame__unknown_receiving_type__2;
-                } else {
-                    ObjectReference thisObject = getUnderlyingThisObject();
-                    if ( thisObject == null ) {
-                        fReceivingTypeName = getDeclaringTypeName();
-                    } else {
-                        fReceivingTypeName = JDIReferenceType.getGenericName( thisObject.referenceType() );
-                    }
-                }
-            } catch ( RuntimeException e ) {
-                if ( getThread().isSuspended() ) {
-                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_receiving_type,
-                                                               new String[]{e.toString()} ),
-                                         e );
-                }
-                return JDIDebugModelMessages.JDIStackFrame__unknown_receiving_type__2;
-            }
-        }
-        return fReceivingTypeName;
-    }
-
-    private String getSourceName(Location location) throws DebugException {
-        try {
-            return location.sourceName();
-        } catch ( AbsentInformationException e ) {
-            return null;
-        } catch ( NativeMethodException e ) {
-            return null;
-        } catch ( RuntimeException e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_name,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-        return null;
-    }
-
-    private boolean equals(Object o1,
-                           Object o2) {
-        if ( o1 == null ) {
-            return o2 == null;
-        } else {
-            return o1.equals( o2 );
-        }
-    }
-
-    protected void clearCachedData() {
-        fThisObject = null;
-        fReceivingTypeName = null;
-    }
-
-    private void setLocalsAvailable(boolean available) {
-        if ( available != fLocalsAvailable ) {
-            fLocalsAvailable = available;
-            fireChangeEvent( DebugEvent.STATE );
-        }
-    }
-
-    public boolean wereLocalsAvailable() {
-        return fLocalsAvailable;
-    }
-
-    public IJavaVariable[] getLocalVariables() throws DebugException {
-        List list = getUnderlyingVisibleVariables();
-        IJavaVariable[] locals = new IJavaVariable[list.size()];
-        for ( int i = 0; i < list.size(); i++ ) {
-            locals[i] = new DroolsLocalVariable( this,
-                                                 (LocalVariable) list.get( i ) );
-        }
-        return locals;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,639 @@
+package org.drools.eclipse.debug.core;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IThread;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaStackFrame;
+import org.eclipse.jdt.debug.core.IJavaThread;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDIFieldVariable;
+import org.eclipse.jdt.internal.debug.core.model.JDILocalVariable;
+import org.eclipse.jdt.internal.debug.core.model.JDIReferenceType;
+import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
+import org.eclipse.jdt.internal.debug.core.model.JDIThread;
+
+import com.ibm.icu.text.MessageFormat;
+import com.sun.jdi.AbsentInformationException;
+import com.sun.jdi.Field;
+import com.sun.jdi.LocalVariable;
+import com.sun.jdi.Location;
+import com.sun.jdi.Method;
+import com.sun.jdi.NativeMethodException;
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.ReferenceType;
+import com.sun.jdi.StackFrame;
+
+public class DroolsStackFrame extends JDIStackFrame {
+
+    private static final String CONSEQUENCE_SIGNATURE = "(Lorg/drools/spi/KnowledgeHelper";
+
+    private DroolsThread        fThread;
+    private Location            fLocation;
+    private List                fVariables;
+    private boolean             fRefreshVariables     = true;
+    private int                 fDepth                = -2;
+    private boolean             initialized           = true;
+    private StackFrame          fStackFrame;
+    private ObjectReference     fThisObject;
+    private String              fReceivingTypeName;
+    private boolean             fLocalsAvailable      = true;
+
+    public DroolsStackFrame(DroolsThread thread,
+                            StackFrame frame,
+                            int depth) {
+        super( thread,
+               frame,
+               depth );
+        bind( frame,
+              depth );
+    }
+
+    public boolean isExecutingRule() {
+        try {
+            if ( "consequence".equals( getMethodName() ) && getSignature().startsWith( CONSEQUENCE_SIGNATURE ) ) {
+                return true;
+            }
+        } catch ( DebugException exc ) {
+            DroolsEclipsePlugin.log( exc );
+        }
+        return false;
+    }
+
+    public RuleInfo getExecutingRuleInfo() {
+        try {
+            String methodName = getMethodName();
+            String signature = getSignature();
+            String type = getDeclaringTypeName();
+            if ( "consequence".equals( methodName ) && signature.startsWith( CONSEQUENCE_SIGNATURE ) ) {
+                return DroolsEclipsePlugin.getDefault().getRuleInfoByClass( type );
+            }
+
+        } catch ( DebugException exc ) {
+            DroolsEclipsePlugin.log( exc );
+        }
+        return null;
+    }
+
+    public FunctionInfo getExecutingFunctionInfo() {
+        try {
+            return DroolsEclipsePlugin.getDefault().getFunctionInfoByClass( getDeclaringTypeName() );
+        } catch ( DebugException exc ) {
+            DroolsEclipsePlugin.log( exc );
+        }
+        return null;
+    }
+
+    public int getLineNumber() throws DebugException {
+        synchronized ( fThread ) {
+            RuleInfo ruleInfo = getExecutingRuleInfo();
+            if ( ruleInfo != null ) {
+                return ruleInfo.getConsequenceDrlLineNumber() + (getInternalLineNumber() - ruleInfo.getConsequenceJavaLineNumber() - 1);
+            }
+            FunctionInfo functionInfo = getExecutingFunctionInfo();
+            if ( functionInfo != null ) {
+                return functionInfo.getDrlLineNumber() + (getInternalLineNumber() - functionInfo.getJavaLineNumber());
+            }
+        }
+
+        return getInternalLineNumber();
+    }
+
+    private int getInternalLineNumber() throws DebugException {
+        try {
+            return fLocation.lineNumber();
+        } catch ( RuntimeException e ) {
+            if ( getThread().isSuspended() ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_line_number,
+                                                           new String[]{e.toString()} ),
+                                     e );
+            }
+        }
+        return -1;
+    }
+
+    public IVariable[] getVariables() throws DebugException {
+        IVariable[] variables = super.getVariables();
+        List result = new ArrayList( (variables.length - 1) / 2 );
+        for ( int i = 0; i < variables.length; i++ ) {
+            String name = variables[i].getName();
+            if ( !(name.equals( "drools" )) && !(name.endsWith( "__Handle__" )) ) {
+                result.add( variables[i] );
+            }
+        }
+        return (IVariable[]) result.toArray( new IVariable[result.size()] );
+    }
+
+    protected List getVariables0() throws DebugException {
+        synchronized ( fThread ) {
+            if ( fVariables == null ) {
+
+                // throw exception if native method, so variable view will update
+                // with information message
+                if ( isNative() ) {
+                    requestFailed( JDIDebugModelMessages.JDIStackFrame_Variable_information_unavailable_for_native_methods,
+                                   null );
+                }
+
+                Method method = getUnderlyingMethod();
+                fVariables = new ArrayList();
+                // #isStatic() does not claim to throw any exceptions - so it is not try/catch coded
+                if ( method.isStatic() ) {
+                    // add statics
+                    List allFields = null;
+                    ReferenceType declaringType = method.declaringType();
+                    try {
+                        allFields = declaringType.allFields();
+                    } catch ( RuntimeException e ) {
+                        targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_fields,
+                                                                   new String[]{e.toString()} ),
+                                             e );
+                        // execution will not reach this line, as 
+                        // #targetRequestFailed will throw an exception					
+                        return Collections.EMPTY_LIST;
+                    }
+                    if ( allFields != null ) {
+                        Iterator fields = allFields.iterator();
+                        while ( fields.hasNext() ) {
+                            Field field = (Field) fields.next();
+                            if ( field.isStatic() ) {
+                                fVariables.add( new JDIFieldVariable( (JDIDebugTarget) getDebugTarget(),
+                                                                      field,
+                                                                      declaringType ) );
+                            }
+                        }
+                        Collections.sort( fVariables,
+                                          new Comparator() {
+                                              public int compare(Object a,
+                                                                 Object b) {
+                                                  JDIFieldVariable v1 = (JDIFieldVariable) a;
+                                                  JDIFieldVariable v2 = (JDIFieldVariable) b;
+                                                  try {
+                                                      return v1.getName().compareToIgnoreCase( v2.getName() );
+                                                  } catch ( DebugException de ) {
+                                                      logError( de );
+                                                      return -1;
+                                                  }
+                                              }
+                                          } );
+                    }
+                } else {
+                    // add "this"
+                    ObjectReference t = getUnderlyingThisObject();
+                    if ( t != null ) {
+                        fVariables.add( new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
+                                                                t ) );
+                    }
+                }
+                // add locals
+                Iterator variables = getUnderlyingVisibleVariables().iterator();
+                while ( variables.hasNext() ) {
+                    LocalVariable var = (LocalVariable) variables.next();
+                    fVariables.add( new DroolsLocalVariable( this,
+                                                             var ) );
+                }
+            } else if ( fRefreshVariables ) {
+                updateVariables();
+            }
+            fRefreshVariables = false;
+            return fVariables;
+        }
+    }
+
+    protected JDIStackFrame bind(StackFrame frame,
+                                 int depth) {
+        if ( initialized ) {
+            synchronized ( fThread ) {
+                if ( fDepth == -2 ) {
+                    // first initialization
+                    fStackFrame = frame;
+                    fDepth = depth;
+                    fLocation = frame.location();
+                    return this;
+                } else if ( depth == -1 ) {
+                    // mark as invalid
+                    fDepth = -1;
+                    fStackFrame = null;
+                    return null;
+                } else if ( fDepth == depth ) {
+                    Location location = frame.location();
+                    Method method = location.method();
+                    if ( method.equals( fLocation.method() ) ) {
+                        try {
+                            if ( method.declaringType().defaultStratum().equals( "Java" ) || //$NON-NLS-1$
+                                 equals( getSourceName( location ),
+                                         getSourceName( fLocation ) ) ) {
+                                // TODO: what about receiving type being the same?
+                                fStackFrame = frame;
+                                fLocation = location;
+                                clearCachedData();
+                                return this;
+                            }
+                        } catch ( DebugException e ) {
+                        }
+                    }
+                }
+                // invalidate this franme
+                bind( null,
+                      -1 );
+                // return a new frame
+                return createNewDroolsFrame( frame,
+                                             depth );
+            }
+        } else {
+            return null;
+        }
+    }
+
+    protected DroolsStackFrame createNewDroolsFrame(StackFrame frame,
+                                                    int depth) {
+        return DroolsThread.createCustomFrame( fThread,
+                                               depth,
+                                               frame );
+    }
+
+    public IThread getThread() {
+        return fThread;
+    }
+
+    public Method getUnderlyingMethod() {
+        synchronized ( fThread ) {
+            return fLocation.method();
+        }
+    }
+
+    protected List getUnderlyingVisibleVariables() throws DebugException {
+        synchronized ( fThread ) {
+            List variables = Collections.EMPTY_LIST;
+            try {
+                variables = getUnderlyingStackFrame().visibleVariables();
+            } catch ( AbsentInformationException e ) {
+                setLocalsAvailable( false );
+            } catch ( NativeMethodException e ) {
+                setLocalsAvailable( false );
+            } catch ( RuntimeException e ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_visible_variables_2,
+                                                           new String[]{e.toString()} ),
+                                     e );
+            }
+            return variables;
+        }
+    }
+
+    protected ObjectReference getUnderlyingThisObject() throws DebugException {
+        synchronized ( fThread ) {
+            if ( (fStackFrame == null || fThisObject == null) && !isStatic() ) {
+                try {
+                    fThisObject = getUnderlyingStackFrame().thisObject();
+                } catch ( RuntimeException e ) {
+                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_this,
+                                                               new String[]{e.toString()} ),
+                                         e );
+                    // execution will not reach this line, as 
+                    // #targetRequestFailed will throw an exception			
+                    return null;
+                }
+            }
+            return fThisObject;
+        }
+    }
+
+    public String getDeclaringTypeName() throws DebugException {
+        synchronized ( fThread ) {
+            try {
+                if ( isObsolete() ) {
+                    return JDIDebugModelMessages.JDIStackFrame__unknown_declaring_type__1;
+                }
+                return JDIReferenceType.getGenericName( getUnderlyingMethod().declaringType() );
+            } catch ( RuntimeException e ) {
+                if ( getThread().isSuspended() ) {
+                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_declaring_type,
+                                                               new String[]{e.toString()} ),
+                                         e );
+                }
+                return JDIDebugModelMessages.JDIStackFrame__unknown_declaring_type__1;
+            }
+        }
+    }
+
+    public String getSourceName() throws DebugException {
+        synchronized ( fThread ) {
+            return getSourceName( fLocation );
+        }
+    }
+
+    public boolean isObsolete() {
+        if ( !JDIDebugPlugin.isJdiVersionGreaterThanOrEqual( new int[]{1, 4} ) || !((JDIDebugTarget) getDebugTarget()).hasHCROccurred() ) {
+            // If no hot code replace has occurred, this frame
+            // cannot be obsolete.
+            return false;
+        }
+        // if this frame's thread is not suspended, the obsolete status cannot
+        // change until it suspends again
+        synchronized ( fThread ) {
+            if ( getThread().isSuspended() ) {
+                return getUnderlyingMethod().isObsolete();
+            }
+            return false;
+        }
+    }
+
+    protected boolean exists() {
+        synchronized ( fThread ) {
+            return fDepth != -1;
+        }
+    }
+
+    protected StackFrame getUnderlyingStackFrame() throws DebugException {
+        synchronized ( fThread ) {
+            if ( fStackFrame == null ) {
+                if ( fDepth == -1 ) {
+                    throw new DebugException( new Status( IStatus.ERROR,
+                                                          JDIDebugPlugin.getUniqueIdentifier(),
+                                                          IJavaStackFrame.ERR_INVALID_STACK_FRAME,
+                                                          JDIDebugModelMessages.JDIStackFrame_25,
+                                                          null ) );
+                }
+                if ( fThread.isSuspended() ) {
+                    // re-index stack frames - See Bug 47198
+                    fThread.computeStackFrames();
+                    if ( fDepth == -1 ) {
+                        // If depth is -1, then this is an invalid frame
+                        throw new DebugException( new Status( IStatus.ERROR,
+                                                              JDIDebugPlugin.getUniqueIdentifier(),
+                                                              IJavaStackFrame.ERR_INVALID_STACK_FRAME,
+                                                              JDIDebugModelMessages.JDIStackFrame_25,
+                                                              null ) );
+                    }
+                } else {
+                    throw new DebugException( new Status( IStatus.ERROR,
+                                                          JDIDebugPlugin.getUniqueIdentifier(),
+                                                          IJavaThread.ERR_THREAD_NOT_SUSPENDED,
+                                                          JDIDebugModelMessages.JDIStackFrame_25,
+                                                          null ) );
+                }
+            }
+            return fStackFrame;
+        }
+    }
+
+    protected void setUnderlyingStackFrame(StackFrame frame) {
+        synchronized ( fThread ) {
+            fStackFrame = frame;
+            if ( frame == null ) {
+                fRefreshVariables = true;
+            }
+        }
+    }
+
+    protected void setThread(JDIThread thread) {
+        fThread = (DroolsThread) thread;
+    }
+
+    public String getSourcePath(String stratum) throws DebugException {
+        synchronized ( fThread ) {
+            try {
+                return fLocation.sourcePath( stratum );
+            } catch ( AbsentInformationException e ) {
+            } catch ( RuntimeException e ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_path,
+                                                           new String[]{e.toString()} ),
+                                     e );
+            }
+        }
+        return null;
+    }
+
+    public String getSourcePath() throws DebugException {
+        synchronized ( fThread ) {
+            try {
+                return fLocation.sourcePath();
+            } catch ( AbsentInformationException e ) {
+            } catch ( RuntimeException e ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_path,
+                                                           new String[]{e.toString()} ),
+                                     e );
+            }
+        }
+        return null;
+    }
+
+    public int getLineNumber(String stratum) throws DebugException {
+        synchronized ( fThread ) {
+            try {
+                return fLocation.lineNumber( stratum );
+            } catch ( RuntimeException e ) {
+                if ( getThread().isSuspended() ) {
+                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_line_number,
+                                                               new String[]{e.toString()} ),
+                                         e );
+                }
+            }
+        }
+        return -1;
+    }
+
+    public String getSourceName(String stratum) throws DebugException {
+        synchronized ( fThread ) {
+            try {
+                return fLocation.sourceName( stratum );
+            } catch ( AbsentInformationException e ) {
+            } catch ( NativeMethodException e ) {
+            } catch ( RuntimeException e ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_name,
+                                                           new String[]{e.toString()} ),
+                                     e );
+            }
+        }
+        return null;
+    }
+
+    protected void updateVariables() throws DebugException {
+        if ( fVariables == null ) {
+            return;
+        }
+
+        Method method = getUnderlyingMethod();
+        int index = 0;
+        if ( !method.isStatic() ) {
+            // update "this"
+            ObjectReference thisObject;
+            try {
+                thisObject = getUnderlyingThisObject();
+            } catch ( DebugException exception ) {
+                if ( !getThread().isSuspended() ) {
+                    thisObject = null;
+                } else {
+                    throw exception;
+                }
+            }
+            DroolsThisVariable oldThisObject = null;
+            if ( !fVariables.isEmpty() && fVariables.get( 0 ) instanceof DroolsThisVariable ) {
+                oldThisObject = (DroolsThisVariable) fVariables.get( 0 );
+            }
+            if ( thisObject == null && oldThisObject != null ) {
+                // removal of 'this'
+                fVariables.remove( 0 );
+                index = 0;
+            } else {
+                if ( oldThisObject == null && thisObject != null ) {
+                    // creation of 'this'
+                    oldThisObject = new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
+                                                            thisObject );
+                    fVariables.add( 0,
+                                    oldThisObject );
+                    index = 1;
+                } else {
+                    if ( oldThisObject != null ) {
+                        // 'this' still exists, replace with new 'this' if a different receiver
+                        if ( !oldThisObject.retrieveValue().equals( thisObject ) ) {
+                            fVariables.remove( 0 );
+                            fVariables.add( 0,
+                                            new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
+                                                                    thisObject ) );
+                        }
+                        index = 1;
+                    }
+                }
+            }
+        }
+
+        List locals = null;
+        try {
+            locals = getUnderlyingStackFrame().visibleVariables();
+        } catch ( AbsentInformationException e ) {
+            locals = Collections.EMPTY_LIST;
+        } catch ( NativeMethodException e ) {
+            locals = Collections.EMPTY_LIST;
+        } catch ( RuntimeException e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_visible_variables,
+                                                       new String[]{e.toString()} ),
+                                 e );
+            // execution will not reach this line, as 
+            // #targetRequestFailed will throw an exception			
+            return;
+        }
+        int localIndex = -1;
+        while ( index < fVariables.size() ) {
+            Object var = fVariables.get( index );
+            if ( var instanceof JDILocalVariable ) {
+                DroolsLocalVariable local = (DroolsLocalVariable) fVariables.get( index );
+                localIndex = locals.indexOf( local.getLocal() );
+                if ( localIndex >= 0 ) {
+                    // update variable with new underling JDI LocalVariable
+                    local.setLocal( (LocalVariable) locals.get( localIndex ) );
+                    locals.remove( localIndex );
+                    index++;
+                } else {
+                    // remove variable
+                    fVariables.remove( index );
+                }
+            } else {
+                //field variable of a static frame
+                index++;
+            }
+        }
+
+        // add any new locals
+        Iterator newOnes = locals.iterator();
+        while ( newOnes.hasNext() ) {
+            DroolsLocalVariable local = new DroolsLocalVariable( this,
+                                                                 (LocalVariable) newOnes.next() );
+            fVariables.add( local );
+        }
+    }
+
+    protected void setVariables(List variables) {
+        fVariables = variables;
+    }
+
+    public String getReceivingTypeName() throws DebugException {
+        if ( fStackFrame == null || fReceivingTypeName == null ) {
+            try {
+                if ( isObsolete() ) {
+                    fReceivingTypeName = JDIDebugModelMessages.JDIStackFrame__unknown_receiving_type__2;
+                } else {
+                    ObjectReference thisObject = getUnderlyingThisObject();
+                    if ( thisObject == null ) {
+                        fReceivingTypeName = getDeclaringTypeName();
+                    } else {
+                        fReceivingTypeName = JDIReferenceType.getGenericName( thisObject.referenceType() );
+                    }
+                }
+            } catch ( RuntimeException e ) {
+                if ( getThread().isSuspended() ) {
+                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_receiving_type,
+                                                               new String[]{e.toString()} ),
+                                         e );
+                }
+                return JDIDebugModelMessages.JDIStackFrame__unknown_receiving_type__2;
+            }
+        }
+        return fReceivingTypeName;
+    }
+
+    private String getSourceName(Location location) throws DebugException {
+        try {
+            return location.sourceName();
+        } catch ( AbsentInformationException e ) {
+            return null;
+        } catch ( NativeMethodException e ) {
+            return null;
+        } catch ( RuntimeException e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_name,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+        return null;
+    }
+
+    private boolean equals(Object o1,
+                           Object o2) {
+        if ( o1 == null ) {
+            return o2 == null;
+        } else {
+            return o1.equals( o2 );
+        }
+    }
+
+    protected void clearCachedData() {
+        fThisObject = null;
+        fReceivingTypeName = null;
+    }
+
+    private void setLocalsAvailable(boolean available) {
+        if ( available != fLocalsAvailable ) {
+            fLocalsAvailable = available;
+            fireChangeEvent( DebugEvent.STATE );
+        }
+    }
+
+    public boolean wereLocalsAvailable() {
+        return fLocalsAvailable;
+    }
+
+    public IJavaVariable[] getLocalVariables() throws DebugException {
+        List list = getUnderlyingVisibleVariables();
+        IJavaVariable[] locals = new IJavaVariable[list.size()];
+        for ( int i = 0; i < list.size(); i++ ) {
+            locals[i] = new DroolsLocalVariable( this,
+                                                 (LocalVariable) list.get( i ) );
+        }
+        return locals;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIThisVariable;
-
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.Value;
-
-public class DroolsThisVariable extends JDIThisVariable {
-
-	public DroolsThisVariable(JDIDebugTarget target, ObjectReference object) {
-		super(target, object);
-	}
-	
-	protected Value retrieveValue() {
-		return super.retrieveValue();
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+package org.drools.eclipse.debug.core;
+
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDIThisVariable;
+
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.Value;
+
+public class DroolsThisVariable extends JDIThisVariable {
+
+	public DroolsThisVariable(JDIDebugTarget target, ObjectReference object) {
+		super(target, object);
+	}
+	
+	protected Value retrieveValue() {
+		return super.retrieveValue();
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,325 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
-import org.eclipse.jdt.internal.debug.core.model.JDIThread;
-import org.mvel.debug.Debugger;
-
-import com.sun.jdi.ClassType;
-import com.sun.jdi.IncompatibleThreadStateException;
-import com.sun.jdi.IntegerValue;
-import com.sun.jdi.InvalidStackFrameException;
-import com.sun.jdi.Location;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectCollectedException;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.StackFrame;
-import com.sun.jdi.ThreadReference;
-
-/**
- * Drools Thread supporting MVEL and Java dialect stackframes
- *
- */
-public class DroolsThread extends JDIThread {
-
-    private List    fStackFrames;
-    private boolean fRefreshChildren = true;
-
-    public DroolsThread(JDIDebugTarget target,
-                        ThreadReference thread) throws ObjectCollectedException {
-        super( target,
-               thread );
-    }
-
-    protected void initialize() throws ObjectCollectedException {
-        super.initialize();
-        fStackFrames = new ArrayList();
-    }
-
-    public synchronized List computeStackFrames() throws DebugException {
-        return computeStackFrames( fRefreshChildren );
-    }
-
-    protected synchronized List computeStackFrames(boolean refreshChildren) throws DebugException {
-        if ( isSuspended() ) {
-            if ( isTerminated() ) {
-                fStackFrames.clear();
-            } else if ( refreshChildren ) {
-                List frames = getUnderlyingFrames();
-                int oldSize = fStackFrames.size();
-                int newSize = frames.size();
-                int discard = oldSize - newSize; // number of old frames to discard, if any
-                for ( int i = 0; i < discard; i++ ) {
-                    DroolsStackFrame invalid = (DroolsStackFrame) fStackFrames.remove( 0 );
-                    invalid.bind( null,
-                                  -1 );
-                }
-                int newFrames = newSize - oldSize; // number of frames to create, if any
-                int depth = oldSize;
-                for ( int i = newFrames - 1; i >= 0; i-- ) {
-                    StackFrame currentFrame = (StackFrame) frames.get( i );
-                    //MVEL: create an mvel stack frame when the declaring type is our debugger?
-
-                    DroolsStackFrame customFrame;
-
-                    customFrame = createCustomFrame( this,
-                                                     depth,
-                                                     currentFrame );
-
-                    fStackFrames.add( 0,
-                                      customFrame );
-
-                    depth++;
-                }
-                int numToRebind = Math.min( newSize,
-                                            oldSize ); // number of frames to attempt to rebind
-                int offset = newSize - 1;
-                for ( depth = 0; depth < numToRebind; depth++ ) {
-                    DroolsStackFrame oldFrame = (DroolsStackFrame) fStackFrames.get( offset );
-                    StackFrame frame = (StackFrame) frames.get( offset );
-                    DroolsStackFrame newFrame = (DroolsStackFrame) oldFrame.bind( frame,
-                                                                                  depth );
-                    if ( newFrame != oldFrame ) {
-                        fStackFrames.set( offset,
-                                          newFrame );
-                    }
-                    offset--;
-                }
-
-            }
-            fRefreshChildren = false;
-        } else {
-            return Collections.EMPTY_LIST;
-        }
-        return fStackFrames;
-    }
-
-    public final static DroolsStackFrame createCustomFrame(DroolsThread thread,
-                                                           int depth,
-                                                           StackFrame currentFrame) {
-        DroolsStackFrame customFrame;
-        Location loc = currentFrame.location();
-        if ( loc.declaringType().name().equals( "org.drools.base.mvel.MVELDebugHandler" ) && loc.method().name().equals( "onBreak" ) ) {
-            customFrame = new MVELStackFrame( thread,
-                                              currentFrame,
-                                              depth );
-        } else {
-            customFrame = new DroolsStackFrame( thread,
-                                                currentFrame,
-                                                depth );
-        }
-        return customFrame;
-    }
-
-    private List getUnderlyingFrames() throws DebugException {
-        if ( !isSuspended() ) {
-            // Checking isSuspended here eliminates a race condition in resume
-            // between the time stack frames are preserved and the time the
-            // underlying thread is actually resumed.
-            requestFailed( JDIDebugModelMessages.JDIThread_Unable_to_retrieve_stack_frame___thread_not_suspended__1,
-                           null,
-                           IJavaThread.ERR_THREAD_NOT_SUSPENDED );
-        }
-        try {
-            return getUnderlyingThread().frames();
-        } catch ( IncompatibleThreadStateException e ) {
-            requestFailed( JDIDebugModelMessages.JDIThread_Unable_to_retrieve_stack_frame___thread_not_suspended__1,
-                           e,
-                           IJavaThread.ERR_THREAD_NOT_SUSPENDED );
-        } catch ( RuntimeException e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_retrieving_stack_frames_2,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        } catch ( InternalError e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_retrieving_stack_frames_2,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-        // execution will not reach this line, as
-        // #targetRequestFailed will thrown an exception
-        return null;
-    }
-
-    protected synchronized void preserveStackFrames() {
-        fRefreshChildren = true;
-        Iterator frames = fStackFrames.iterator();
-        while ( frames.hasNext() ) {
-            ((DroolsStackFrame) frames.next()).setUnderlyingStackFrame( null );
-        }
-    }
-
-    protected synchronized void disposeStackFrames() {
-        fStackFrames.clear();
-        fRefreshChildren = true;
-    }
-
-    protected void popFrame(IStackFrame frame) throws DebugException {
-        JDIDebugTarget target = (JDIDebugTarget) getDebugTarget();
-        if ( target.canPopFrames() ) {
-            // JDK 1.4 support
-            try {
-                // Pop the frame and all frames above it
-                StackFrame jdiFrame = null;
-                int desiredSize = fStackFrames.size() - fStackFrames.indexOf( frame ) - 1;
-                int lastSize = fStackFrames.size() + 1; // Set up to pass the first test
-                int size = fStackFrames.size();
-                while ( size < lastSize && size > desiredSize ) {
-                    // Keep popping frames until the stack stops getting smaller
-                    // or popFrame is gone.
-                    // see Bug 8054
-                    jdiFrame = ((DroolsStackFrame) frame).getUnderlyingStackFrame();
-                    preserveStackFrames();
-                    getUnderlyingThread().popFrames( jdiFrame );
-                    lastSize = size;
-                    size = computeStackFrames().size();
-                }
-            } catch ( IncompatibleThreadStateException exception ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_popping,
-                                                           new String[]{exception.toString()} ),
-                                     exception );
-            } catch ( InvalidStackFrameException exception ) {
-                // InvalidStackFrameException can be thrown when all but the
-                // deepest frame were popped. Fire a changed notification
-                // in case this has occured.
-                fireChangeEvent( DebugEvent.CONTENT );
-                targetRequestFailed( exception.toString(),
-                                     exception );
-            } catch ( RuntimeException exception ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_popping,
-                                                           new String[]{exception.toString()} ),
-                                     exception );
-            }
-        }
-    }
-
-    protected void terminated() {
-        super.terminated();
-    }
-
-    protected void removeCurrentBreakpoint(IBreakpoint bp) {
-        super.removeCurrentBreakpoint( bp );
-    }
-
-    protected synchronized void suspendedByVM() {
-        super.suspendedByVM();
-    }
-
-    protected synchronized void resumedByVM() throws DebugException {
-        super.resumedByVM();
-    }
-
-    protected void setRunning(boolean running) {
-        super.setRunning( running );
-    }
-
-    protected void dropToFrame(IStackFrame frame) throws DebugException {
-        super.dropToFrame( frame );
-    }
-
-    protected synchronized void stepToFrame(IStackFrame frame) throws DebugException {
-        super.stepToFrame( frame );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jdt.internal.debug.core.model.JDIThread#newInstance(com.sun.jdi.ClassType, com.sun.jdi.Method, java.util.List)
-     */
-    public ObjectReference newInstance(ClassType receiverClass,
-                                       Method constructor,
-                                       List args) throws DebugException {
-        return super.newInstance( receiverClass,
-                                  constructor,
-                                  args );
-    }
-
-    public synchronized void stepOver() throws DebugException {
-
-        // Detection for active stackframe
-        if ( !(getTopStackFrame() instanceof MVELStackFrame) ) {
-            super.stepOver();
-            return;
-        }
-
-        //MVEL step over
-        MVELStackFrame mvelStack = (MVELStackFrame) getTopStackFrame();
-
-        if ( !canStepOver() || !mvelStack.canStepOver() ) {
-            return;
-        }
-
-        if ( !setRemoteOnBreakReturn( Debugger.STEP ) ) {
-            return;
-        }
-
-        preserveStackFrames();
-
-        setRunning( true );
-
-        try {
-            getUnderlyingThread().resume();
-        } catch ( RuntimeException e ) {
-            //stepEnd();
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_stepping,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-
-    }
-
-    private boolean setRemoteOnBreakReturn(int step_over) throws DebugException {
-
-        JDIStackFrame top = (JDIStackFrame) getTopStackFrame();
-        if ( top == null || (!(top instanceof MVELStackFrame)) ) {
-            return false;
-        }
-
-        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
-        Object debugHandlerClass = handleriter.next();
-
-        int line = step_over;
-
-        ReferenceType refType = (ReferenceType) debugHandlerClass;
-        Method m = (Method) refType.methodsByName( "setOnBreakReturn" ).iterator().next();
-        List args = new ArrayList();
-        IntegerValue lineVal = getVM().mirrorOf( line );
-        //ObjectReference realVal = val.getUnderlyingObject();
-        args.add( lineVal );
-
-        try {
-            ClassType tt = (ClassType) debugHandlerClass;
-            tt.invokeMethod( getUnderlyingThread(),
-                             m,
-                             args,
-                             ObjectReference.INVOKE_SINGLE_THREADED );
-
-        } catch ( Exception e ) {
-            DroolsEclipsePlugin.log( e );
-            return false;
-        }
-        return true;
-    }
-
-    public synchronized void resume() throws DebugException {
-        // clear up the step over flag. step over button never calls this method.
-        setRemoteOnBreakReturn( Debugger.CONTINUE );
-        super.resume();
-    }
-
-    public void setInvokingMethod(boolean invoking) {
-        super.setInvokingMethod( invoking );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,325 @@
+package org.drools.eclipse.debug.core;
+
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.debug.core.model.IStackFrame;
+import org.eclipse.jdt.debug.core.IJavaThread;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
+import org.eclipse.jdt.internal.debug.core.model.JDIThread;
+import org.mvel.debug.Debugger;
+
+import com.sun.jdi.ClassType;
+import com.sun.jdi.IncompatibleThreadStateException;
+import com.sun.jdi.IntegerValue;
+import com.sun.jdi.InvalidStackFrameException;
+import com.sun.jdi.Location;
+import com.sun.jdi.Method;
+import com.sun.jdi.ObjectCollectedException;
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.ReferenceType;
+import com.sun.jdi.StackFrame;
+import com.sun.jdi.ThreadReference;
+
+/**
+ * Drools Thread supporting MVEL and Java dialect stackframes
+ *
+ */
+public class DroolsThread extends JDIThread {
+
+    private List    fStackFrames;
+    private boolean fRefreshChildren = true;
+
+    public DroolsThread(JDIDebugTarget target,
+                        ThreadReference thread) throws ObjectCollectedException {
+        super( target,
+               thread );
+    }
+
+    protected void initialize() throws ObjectCollectedException {
+        super.initialize();
+        fStackFrames = new ArrayList();
+    }
+
+    public synchronized List computeStackFrames() throws DebugException {
+        return computeStackFrames( fRefreshChildren );
+    }
+
+    protected synchronized List computeStackFrames(boolean refreshChildren) throws DebugException {
+        if ( isSuspended() ) {
+            if ( isTerminated() ) {
+                fStackFrames.clear();
+            } else if ( refreshChildren ) {
+                List frames = getUnderlyingFrames();
+                int oldSize = fStackFrames.size();
+                int newSize = frames.size();
+                int discard = oldSize - newSize; // number of old frames to discard, if any
+                for ( int i = 0; i < discard; i++ ) {
+                    DroolsStackFrame invalid = (DroolsStackFrame) fStackFrames.remove( 0 );
+                    invalid.bind( null,
+                                  -1 );
+                }
+                int newFrames = newSize - oldSize; // number of frames to create, if any
+                int depth = oldSize;
+                for ( int i = newFrames - 1; i >= 0; i-- ) {
+                    StackFrame currentFrame = (StackFrame) frames.get( i );
+                    //MVEL: create an mvel stack frame when the declaring type is our debugger?
+
+                    DroolsStackFrame customFrame;
+
+                    customFrame = createCustomFrame( this,
+                                                     depth,
+                                                     currentFrame );
+
+                    fStackFrames.add( 0,
+                                      customFrame );
+
+                    depth++;
+                }
+                int numToRebind = Math.min( newSize,
+                                            oldSize ); // number of frames to attempt to rebind
+                int offset = newSize - 1;
+                for ( depth = 0; depth < numToRebind; depth++ ) {
+                    DroolsStackFrame oldFrame = (DroolsStackFrame) fStackFrames.get( offset );
+                    StackFrame frame = (StackFrame) frames.get( offset );
+                    DroolsStackFrame newFrame = (DroolsStackFrame) oldFrame.bind( frame,
+                                                                                  depth );
+                    if ( newFrame != oldFrame ) {
+                        fStackFrames.set( offset,
+                                          newFrame );
+                    }
+                    offset--;
+                }
+
+            }
+            fRefreshChildren = false;
+        } else {
+            return Collections.EMPTY_LIST;
+        }
+        return fStackFrames;
+    }
+
+    public final static DroolsStackFrame createCustomFrame(DroolsThread thread,
+                                                           int depth,
+                                                           StackFrame currentFrame) {
+        DroolsStackFrame customFrame;
+        Location loc = currentFrame.location();
+        if ( loc.declaringType().name().equals( "org.drools.base.mvel.MVELDebugHandler" ) && loc.method().name().equals( "onBreak" ) ) {
+            customFrame = new MVELStackFrame( thread,
+                                              currentFrame,
+                                              depth );
+        } else {
+            customFrame = new DroolsStackFrame( thread,
+                                                currentFrame,
+                                                depth );
+        }
+        return customFrame;
+    }
+
+    private List getUnderlyingFrames() throws DebugException {
+        if ( !isSuspended() ) {
+            // Checking isSuspended here eliminates a race condition in resume
+            // between the time stack frames are preserved and the time the
+            // underlying thread is actually resumed.
+            requestFailed( JDIDebugModelMessages.JDIThread_Unable_to_retrieve_stack_frame___thread_not_suspended__1,
+                           null,
+                           IJavaThread.ERR_THREAD_NOT_SUSPENDED );
+        }
+        try {
+            return getUnderlyingThread().frames();
+        } catch ( IncompatibleThreadStateException e ) {
+            requestFailed( JDIDebugModelMessages.JDIThread_Unable_to_retrieve_stack_frame___thread_not_suspended__1,
+                           e,
+                           IJavaThread.ERR_THREAD_NOT_SUSPENDED );
+        } catch ( RuntimeException e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_retrieving_stack_frames_2,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        } catch ( InternalError e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_retrieving_stack_frames_2,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+        // execution will not reach this line, as
+        // #targetRequestFailed will thrown an exception
+        return null;
+    }
+
+    protected synchronized void preserveStackFrames() {
+        fRefreshChildren = true;
+        Iterator frames = fStackFrames.iterator();
+        while ( frames.hasNext() ) {
+            ((DroolsStackFrame) frames.next()).setUnderlyingStackFrame( null );
+        }
+    }
+
+    protected synchronized void disposeStackFrames() {
+        fStackFrames.clear();
+        fRefreshChildren = true;
+    }
+
+    protected void popFrame(IStackFrame frame) throws DebugException {
+        JDIDebugTarget target = (JDIDebugTarget) getDebugTarget();
+        if ( target.canPopFrames() ) {
+            // JDK 1.4 support
+            try {
+                // Pop the frame and all frames above it
+                StackFrame jdiFrame = null;
+                int desiredSize = fStackFrames.size() - fStackFrames.indexOf( frame ) - 1;
+                int lastSize = fStackFrames.size() + 1; // Set up to pass the first test
+                int size = fStackFrames.size();
+                while ( size < lastSize && size > desiredSize ) {
+                    // Keep popping frames until the stack stops getting smaller
+                    // or popFrame is gone.
+                    // see Bug 8054
+                    jdiFrame = ((DroolsStackFrame) frame).getUnderlyingStackFrame();
+                    preserveStackFrames();
+                    getUnderlyingThread().popFrames( jdiFrame );
+                    lastSize = size;
+                    size = computeStackFrames().size();
+                }
+            } catch ( IncompatibleThreadStateException exception ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_popping,
+                                                           new String[]{exception.toString()} ),
+                                     exception );
+            } catch ( InvalidStackFrameException exception ) {
+                // InvalidStackFrameException can be thrown when all but the
+                // deepest frame were popped. Fire a changed notification
+                // in case this has occured.
+                fireChangeEvent( DebugEvent.CONTENT );
+                targetRequestFailed( exception.toString(),
+                                     exception );
+            } catch ( RuntimeException exception ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_popping,
+                                                           new String[]{exception.toString()} ),
+                                     exception );
+            }
+        }
+    }
+
+    protected void terminated() {
+        super.terminated();
+    }
+
+    protected void removeCurrentBreakpoint(IBreakpoint bp) {
+        super.removeCurrentBreakpoint( bp );
+    }
+
+    protected synchronized void suspendedByVM() {
+        super.suspendedByVM();
+    }
+
+    protected synchronized void resumedByVM() throws DebugException {
+        super.resumedByVM();
+    }
+
+    protected void setRunning(boolean running) {
+        super.setRunning( running );
+    }
+
+    protected void dropToFrame(IStackFrame frame) throws DebugException {
+        super.dropToFrame( frame );
+    }
+
+    protected synchronized void stepToFrame(IStackFrame frame) throws DebugException {
+        super.stepToFrame( frame );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.jdt.internal.debug.core.model.JDIThread#newInstance(com.sun.jdi.ClassType, com.sun.jdi.Method, java.util.List)
+     */
+    public ObjectReference newInstance(ClassType receiverClass,
+                                       Method constructor,
+                                       List args) throws DebugException {
+        return super.newInstance( receiverClass,
+                                  constructor,
+                                  args );
+    }
+
+    public synchronized void stepOver() throws DebugException {
+
+        // Detection for active stackframe
+        if ( !(getTopStackFrame() instanceof MVELStackFrame) ) {
+            super.stepOver();
+            return;
+        }
+
+        //MVEL step over
+        MVELStackFrame mvelStack = (MVELStackFrame) getTopStackFrame();
+
+        if ( !canStepOver() || !mvelStack.canStepOver() ) {
+            return;
+        }
+
+        if ( !setRemoteOnBreakReturn( Debugger.STEP ) ) {
+            return;
+        }
+
+        preserveStackFrames();
+
+        setRunning( true );
+
+        try {
+            getUnderlyingThread().resume();
+        } catch ( RuntimeException e ) {
+            //stepEnd();
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_stepping,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+
+    }
+
+    private boolean setRemoteOnBreakReturn(int step_over) throws DebugException {
+
+        JDIStackFrame top = (JDIStackFrame) getTopStackFrame();
+        if ( top == null || (!(top instanceof MVELStackFrame)) ) {
+            return false;
+        }
+
+        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
+        Object debugHandlerClass = handleriter.next();
+
+        int line = step_over;
+
+        ReferenceType refType = (ReferenceType) debugHandlerClass;
+        Method m = (Method) refType.methodsByName( "setOnBreakReturn" ).iterator().next();
+        List args = new ArrayList();
+        IntegerValue lineVal = getVM().mirrorOf( line );
+        //ObjectReference realVal = val.getUnderlyingObject();
+        args.add( lineVal );
+
+        try {
+            ClassType tt = (ClassType) debugHandlerClass;
+            tt.invokeMethod( getUnderlyingThread(),
+                             m,
+                             args,
+                             ObjectReference.INVOKE_SINGLE_THREADED );
+
+        } catch ( Exception e ) {
+            DroolsEclipsePlugin.log( e );
+            return false;
+        }
+        return true;
+    }
+
+    public synchronized void resume() throws DebugException {
+        // clear up the step over flag. step over button never calls this method.
+        setRemoteOnBreakReturn( Debugger.CONTINUE );
+        super.resume();
+    }
+
+    public void setInvokingMethod(boolean invoking) {
+        super.setInvokingMethod( invoking );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,15 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-public interface IDroolsDebugConstants {
-
-	String ID_DROOLS_DEBUG_MODEL = "org.drools.eclipse.debug";
-	String DROOLS_MARKER_TYPE = "org.drools.eclipse.droolsBreakpointMarker";
-	String DRL_LINE_NUMBER = "Drools_DRL_LineNumber";
-	String LAUNCH_CONFIGURATION_TYPE = "org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate";
-    
-    /**
-     * com.package.HelloWorld:14;com.package.GoodBye:7 style of packed rule info. int is the linenumber at the drl. 
-     */
-    String DRL_RULES = "org.drools.eclipse.debug.DRL_RULES";
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,15 @@
+package org.drools.eclipse.debug.core;
+
+public interface IDroolsDebugConstants {
+
+	String ID_DROOLS_DEBUG_MODEL = "org.drools.eclipse.debug";
+	String DROOLS_MARKER_TYPE = "org.drools.eclipse.droolsBreakpointMarker";
+	String DRL_LINE_NUMBER = "Drools_DRL_LineNumber";
+	String LAUNCH_CONFIGURATION_TYPE = "org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate";
+    
+    /**
+     * com.package.HelloWorld:14;com.package.GoodBye:7 style of packed rule info. int is the linenumber at the drl. 
+     */
+    String DRL_RULES = "org.drools.eclipse.debug.DRL_RULES";
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,527 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.debug.DebugUtil;
-import org.drools.eclipse.debug.VariableWrapper;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdi.internal.ObjectReferenceImpl;
-import org.eclipse.jdt.debug.core.IJavaClassObject;
-import org.eclipse.jdt.debug.core.IJavaFieldVariable;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaReferenceType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
-import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
-
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.ArrayReference;
-import com.sun.jdi.BooleanValue;
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.ClassType;
-import com.sun.jdi.Field;
-import com.sun.jdi.IncompatibleThreadStateException;
-import com.sun.jdi.IntegerValue;
-import com.sun.jdi.InvalidTypeException;
-import com.sun.jdi.InvocationException;
-import com.sun.jdi.LocalVariable;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.StackFrame;
-import com.sun.jdi.StringReference;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.Value;
-
-/**
- * Stack Frame for MVEL Dialect
- * 
- * @author Ahti Kitsik
- *
- */
-public class MVELStackFrame extends DroolsStackFrame {
-
-    private int                             cacheLineNumber           = -1;
-    private int                             cacheBreakpointLineNumber = -1;
-    private String                          cacheMVELName             = null;
-    private IVariable[]                     cacheVariables            = null;
-
-    private boolean                         evaluating                = false;
-
-    /**
-     * Dummy type with changed stratum to force debugger's LaunchView to show proper stackframe name
-     */
-    private static final IJavaReferenceType REF_TYPE                  = new IJavaReferenceType() {
-
-                                                                          public String[] getAllFieldNames() throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public String[] getAvailableStrata() throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public IJavaObject getClassLoaderObject() throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public IJavaClassObject getClassObject() throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public String[] getDeclaredFieldNames() throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public String getDefaultStratum() throws DebugException {
-                                                                              return "MVEL";
-                                                                          }
-
-                                                                          public IJavaFieldVariable getField(String name) throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public String getGenericSignature() throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public String getSourceName() throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public String[] getSourceNames(String stratum) throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public String[] getSourcePaths(String stratum) throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public String getName() throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public String getSignature() throws DebugException {
-                                                                              return null;
-                                                                          }
-
-                                                                          public IDebugTarget getDebugTarget() {
-                                                                              return null;
-                                                                          }
-
-                                                                          public ILaunch getLaunch() {
-                                                                              return null;
-                                                                          }
-
-                                                                          public String getModelIdentifier() {
-                                                                              return null;
-                                                                          }
-
-                                                                          public Object getAdapter(Class adapter) {
-                                                                              return null;
-                                                                          }
-
-                                                                      };
-
-    public MVELStackFrame(DroolsThread thread,
-                          StackFrame frame,
-                          int depth) {
-        super( thread,
-               frame,
-               depth );
-
-    }
-
-    public IVariable[] getVariables() throws DebugException {
-
-        if ( !isSuspended() ) {
-            return null;
-        }
-
-        if ( cacheVariables != null ) {
-            return cacheVariables;
-        }
-
-        evaluating = true;
-        try {
-            List result = new ArrayList( 0 );
-
-            Method method = getUnderlyingMethod(); // onBreak
-            ReferenceType declaringType = method.declaringType(); // org.drools.base.mvel.MVELDebugHandler
-
-            try {
-
-                Object var = method.variables().get( 0 );
-                LocalVariable v2 = (LocalVariable) var;
-                DroolsLocalVariable frameLocal = new DroolsLocalVariable( this,
-                                                                          v2 );
-
-                IValue knownVars = DebugUtil.getValueByExpression( "return getFactory().getKnownVariables().toArray(new String[0]);",
-                                                                   frameLocal.getValue() );
-
-                IValue factory = DebugUtil.getValueByExpression( "return getFactory();",
-                                                                 frameLocal.getValue() );
-
-                IValue vars2 = DebugUtil.getValueByExpression( "return getFactory().getKnownVariables();",
-                                                               frameLocal.getValue() );
-
-                JDIObjectValue vvv = (JDIObjectValue) knownVars;
-
-                if ( vvv != null && ((ArrayReference) vvv.getUnderlyingObject()).length() > 0 ) {
-                    ArrayReference arr = (ArrayReference) vvv.getUnderlyingObject();
-
-                    Iterator varIter = arr.getValues().iterator();
-
-                    while ( varIter.hasNext() ) {
-                        final String varName = ((StringReference) varIter.next()).value();
-
-                        IJavaValue val = (IJavaValue) DebugUtil.getValueByExpression( "return getVariableResolver(\"" + varName + "\").getValue();",
-                                                                                      factory );
-                        if ( val != null ) {
-                            final ObjectReference valRef = ((JDIObjectValue) val).getUnderlyingObject();
-                            VariableWrapper local = new VariableWrapper( varName,
-                                                                         val );
-
-                            local.setPublic( true );
-                            result.add( local );
-                        } else {
-                            DroolsEclipsePlugin.log( new Exception( "Unable to get value for variable named '" + varName + "' suspend=" + isSuspended() ) );
-                        }
-                    }
-
-                }
-
-                IVariable[] vararr = (IVariable[]) result.toArray( new IVariable[result.size()] );
-                cacheVariables = vararr;
-                return vararr;
-
-            } catch ( Throwable t ) {
-                DroolsEclipsePlugin.log( t );
-            }
-
-            IVariable[] vararr = (IVariable[]) result.toArray( new IVariable[result.size()] );
-
-            Arrays.sort( vararr,
-                         new Comparator() {
-
-                             public int compare(Object var1,
-                                                Object var2) {
-                                 try {
-                                     return ((IVariable) var1).getName().compareTo( ((IVariable) var2).getName() );
-                                 } catch ( DebugException e ) {
-                                     return 0;
-                                 }
-                             }
-
-                         } );
-            cacheVariables = vararr;
-            return vararr;
-        } finally {
-            evaluating = false;
-            evalEnd();
-        }
-    }
-
-    private boolean internalHasNext(Value iter) throws InvalidTypeException,
-                                               ClassNotLoadedException,
-                                               IncompatibleThreadStateException,
-                                               InvocationException,
-                                               DebugException {
-        BooleanValue hasNext = (BooleanValue) runMethod( iter,
-                                                         "hasNext" );
-        return hasNext.booleanValue();
-    }
-
-    private Value fetchField(Value factoryVar,
-                             String fieldName) throws ClassNotLoadedException,
-                                              DebugException {
-        return fetchField( (ObjectReference) factoryVar,
-                           fieldName );
-    }
-
-    private Value runMethod(Value val,
-                            String methodName) throws InvalidTypeException,
-                                              ClassNotLoadedException,
-                                              IncompatibleThreadStateException,
-                                              InvocationException,
-                                              DebugException {
-
-        ObjectReference refObj = (ObjectReference) val;
-        ReferenceType t = refObj.referenceType();
-        Method m2 = (Method) t.methodsByName( methodName ).iterator().next();
-        ThreadReference thread = ((DroolsThread) getThread()).getUnderlyingThread();
-
-        Value res = refObj.invokeMethod( thread,
-                                         m2,
-                                         new ArrayList(),
-                                         0 );
-
-        return res;
-    }
-
-    private Value fetchField(DroolsLocalVariable frameLocal,
-                             String fieldName) throws DebugException,
-                                              ClassNotLoadedException {
-        ObjectReference objRef = ((JDIObjectValue) frameLocal.getValue()).getUnderlyingObject();
-        return fetchField( objRef,
-                           fieldName );
-    }
-
-    private Value fetchField(ObjectReference ref,
-                             String fieldName) throws ClassNotLoadedException,
-                                              DebugException {
-        ClassType varType = (ClassType) ref.type();
-        Field field = varType.fieldByName( fieldName );
-        Value res = ref.getValue( field );
-        return res;
-    }
-
-    protected DroolsStackFrame createNewDroolsFrame(StackFrame frame,
-                                                    int depth) {
-        return new MVELStackFrame( (DroolsThread) getThread(),
-                                   frame,
-                                   depth );
-    }
-
-    public int getLineNumber() throws DebugException {
-
-        if ( cacheLineNumber != -1 ) {
-            return cacheLineNumber;
-        }
-
-        if ( !isSuspended() ) {
-            return -1;
-        }
-
-        evaluating = true;
-        try {
-            DroolsDebugTarget t = (DroolsDebugTarget) getDebugTarget();
-
-            //int lineNr = getBreakpointLineNumber();
-            String sourceName = getMVELName();
-
-            DroolsLineBreakpoint bpoint = (DroolsLineBreakpoint) t.getDroolsBreakpoint( sourceName );
-
-            if ( bpoint == null ) {
-                return -1;
-            }
-
-            int line;
-
-            try {
-                line = Integer.parseInt( bpoint.getFileRuleMappings().get( sourceName ).toString() );
-            } catch ( Throwable t2 ) {
-                DroolsEclipsePlugin.log( t2 );
-                return -1;
-            }
-
-            int fragmentLine = getBreakpointLineNumber(); // 4->5 for step over
-
-            int res = line + fragmentLine;
-
-            cacheLineNumber = res;
-            return res;
-        } finally {
-            evaluating = false;
-            evalEnd();
-        }
-    }
-
-    public RuleInfo getExecutingRuleInfo() {
-        try {
-            String type = getDeclaringTypeName();
-
-            return DroolsEclipsePlugin.getDefault().getRuleInfoByClass( type );
-
-        } catch ( DebugException exc ) {
-            DroolsEclipsePlugin.log( exc );
-        }
-        return null;
-    }
-
-    public int getBreakpointLineNumber() {
-
-        if ( cacheBreakpointLineNumber != -1 ) {
-            return cacheBreakpointLineNumber;
-        }
-
-        if ( !isSuspended() ) {
-            return -1;
-        }
-
-        evaluating = true;
-        try {
-            try {
-                Object o = getRemoteVar( "lineNumber" );
-                if ( o == null ) {
-                    return -1;
-                }
-                IntegerValue val = (IntegerValue) o;
-                int realval = val.value();
-                cacheBreakpointLineNumber = realval;
-                return realval;
-            } catch ( Throwable e ) {
-                DroolsEclipsePlugin.log( e );
-            }
-            return -1;
-        } finally {
-            evaluating = false;
-            evalEnd();
-        }
-    }
-
-    public String getMVELName() {
-
-        if ( cacheMVELName != null ) {
-            return cacheMVELName;
-        }
-
-        if ( !isSuspended() ) {
-            return null;
-        }
-
-        evaluating = true;
-        try {
-            try {
-                Object rem = getRemoteVar( "sourceName" );
-                if ( rem == null ) {
-                    return null;
-                }
-                StringReference res = (StringReference) rem;
-                String realres = res.value();
-                cacheMVELName = realres;
-                return realres;
-            } catch ( Throwable e ) {
-                DroolsEclipsePlugin.log( e );
-            }
-
-            return "Unavailable";
-        } finally {
-            evaluating = false;
-            evalEnd();
-        }
-    }
-
-    private void evalEnd() {
-        fireChangeEvent( DebugEvent.STATE );
-        //fireChangeEvent( DebugEvent.CONTENT );
-    }
-
-    private Object getRemoteVar(String methodName) throws AbsentInformationException,
-                                                  ClassNotLoadedException,
-                                                  DebugException,
-                                                  InvalidTypeException,
-                                                  IncompatibleThreadStateException,
-                                                  InvocationException {
-
-        //frame arg
-        Method method = getUnderlyingMethod(); // onBreak
-        //ReferenceType declaringType = method.declaringType(); // org.drools.base.mvel.MVELDebugHandler
-
-        LocalVariable var = (LocalVariable) method.variables().get( 0 );//frame
-
-        ClassType frameType = (ClassType) var.type();
-
-        StackFrame frame = getUnderlyingStackFrame();
-        Value value = frame.getValue( var );
-        //getThread().getTopStackFrame().get
-
-        //IValue value = jdivar.getValue();
-        ObjectReferenceImpl o = (ObjectReferenceImpl) value;
-
-        /*        if ( value instanceof JDINullValue ) {
-         return null;
-         }
-         */
-
-        //ObjectReference o = (ObjectReference) ((JDIObjectValue) value).getUnderlyingObject();
-        if ( o == null ) {
-            return null;
-        }
-
-        Field field = frameType.fieldByName( methodName );
-        Value val = o.getValue( field );
-        return val;
-    }
-
-    public String getSourcePath() throws DebugException {
-        return getMVELName();
-    }
-
-    public boolean canStepInto() {
-        return false;
-    }
-
-    public boolean canStepOver() {
-        return exists() && !isObsolete() && !evaluating;
-    }
-
-    public boolean canDropToFrame() {
-        return false;
-    }
-
-    public boolean canStepReturn() {
-        return false;
-    }
-
-    public boolean canStepWithFilters() {
-        return false;
-    }
-
-    public IJavaReferenceType getReferenceType() throws DebugException {
-        return REF_TYPE;
-    }
-
-    public String getSourceName() throws DebugException {
-        return getMVELName();
-    }
-
-    protected JDIStackFrame bind(StackFrame frame,
-                                 int depth) {
-        clearCachedData();
-        return super.bind( frame,
-                           depth );
-    }
-
-    protected void clearCachedData() {
-        super.clearCachedData();
-        clearFrameCache();
-        if ( !isSuspended() ) {
-            initMVELinfo();
-        }
-    }
-
-    private void initMVELinfo() {
-        try {
-            getLineNumber();
-        } catch ( DebugException e ) {
-            // no luck this time. will be initialized later
-        }
-        getBreakpointLineNumber();
-        getMVELName();
-        try {
-            getVariables();
-        } catch ( DebugException e1 ) {
-            // no luck this time. will be initialized later
-        }
-    }
-
-    private void clearFrameCache() {
-        cacheLineNumber = -1;
-        cacheBreakpointLineNumber = -1;
-        cacheMVELName = null;
-        cacheVariables = null;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,527 @@
+package org.drools.eclipse.debug.core;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.debug.DebugUtil;
+import org.drools.eclipse.debug.VariableWrapper;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdi.internal.ObjectReferenceImpl;
+import org.eclipse.jdt.debug.core.IJavaClassObject;
+import org.eclipse.jdt.debug.core.IJavaFieldVariable;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaReferenceType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
+import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
+
+import com.sun.jdi.AbsentInformationException;
+import com.sun.jdi.ArrayReference;
+import com.sun.jdi.BooleanValue;
+import com.sun.jdi.ClassNotLoadedException;
+import com.sun.jdi.ClassType;
+import com.sun.jdi.Field;
+import com.sun.jdi.IncompatibleThreadStateException;
+import com.sun.jdi.IntegerValue;
+import com.sun.jdi.InvalidTypeException;
+import com.sun.jdi.InvocationException;
+import com.sun.jdi.LocalVariable;
+import com.sun.jdi.Method;
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.ReferenceType;
+import com.sun.jdi.StackFrame;
+import com.sun.jdi.StringReference;
+import com.sun.jdi.ThreadReference;
+import com.sun.jdi.Value;
+
+/**
+ * Stack Frame for MVEL Dialect
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class MVELStackFrame extends DroolsStackFrame {
+
+    private int                             cacheLineNumber           = -1;
+    private int                             cacheBreakpointLineNumber = -1;
+    private String                          cacheMVELName             = null;
+    private IVariable[]                     cacheVariables            = null;
+
+    private boolean                         evaluating                = false;
+
+    /**
+     * Dummy type with changed stratum to force debugger's LaunchView to show proper stackframe name
+     */
+    private static final IJavaReferenceType REF_TYPE                  = new IJavaReferenceType() {
+
+                                                                          public String[] getAllFieldNames() throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public String[] getAvailableStrata() throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public IJavaObject getClassLoaderObject() throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public IJavaClassObject getClassObject() throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public String[] getDeclaredFieldNames() throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public String getDefaultStratum() throws DebugException {
+                                                                              return "MVEL";
+                                                                          }
+
+                                                                          public IJavaFieldVariable getField(String name) throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public String getGenericSignature() throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public String getSourceName() throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public String[] getSourceNames(String stratum) throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public String[] getSourcePaths(String stratum) throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public String getName() throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public String getSignature() throws DebugException {
+                                                                              return null;
+                                                                          }
+
+                                                                          public IDebugTarget getDebugTarget() {
+                                                                              return null;
+                                                                          }
+
+                                                                          public ILaunch getLaunch() {
+                                                                              return null;
+                                                                          }
+
+                                                                          public String getModelIdentifier() {
+                                                                              return null;
+                                                                          }
+
+                                                                          public Object getAdapter(Class adapter) {
+                                                                              return null;
+                                                                          }
+
+                                                                      };
+
+    public MVELStackFrame(DroolsThread thread,
+                          StackFrame frame,
+                          int depth) {
+        super( thread,
+               frame,
+               depth );
+
+    }
+
+    public IVariable[] getVariables() throws DebugException {
+
+        if ( !isSuspended() ) {
+            return null;
+        }
+
+        if ( cacheVariables != null ) {
+            return cacheVariables;
+        }
+
+        evaluating = true;
+        try {
+            List result = new ArrayList( 0 );
+
+            Method method = getUnderlyingMethod(); // onBreak
+            ReferenceType declaringType = method.declaringType(); // org.drools.base.mvel.MVELDebugHandler
+
+            try {
+
+                Object var = method.variables().get( 0 );
+                LocalVariable v2 = (LocalVariable) var;
+                DroolsLocalVariable frameLocal = new DroolsLocalVariable( this,
+                                                                          v2 );
+
+                IValue knownVars = DebugUtil.getValueByExpression( "return getFactory().getKnownVariables().toArray(new String[0]);",
+                                                                   frameLocal.getValue() );
+
+                IValue factory = DebugUtil.getValueByExpression( "return getFactory();",
+                                                                 frameLocal.getValue() );
+
+                IValue vars2 = DebugUtil.getValueByExpression( "return getFactory().getKnownVariables();",
+                                                               frameLocal.getValue() );
+
+                JDIObjectValue vvv = (JDIObjectValue) knownVars;
+
+                if ( vvv != null && ((ArrayReference) vvv.getUnderlyingObject()).length() > 0 ) {
+                    ArrayReference arr = (ArrayReference) vvv.getUnderlyingObject();
+
+                    Iterator varIter = arr.getValues().iterator();
+
+                    while ( varIter.hasNext() ) {
+                        final String varName = ((StringReference) varIter.next()).value();
+
+                        IJavaValue val = (IJavaValue) DebugUtil.getValueByExpression( "return getVariableResolver(\"" + varName + "\").getValue();",
+                                                                                      factory );
+                        if ( val != null ) {
+                            final ObjectReference valRef = ((JDIObjectValue) val).getUnderlyingObject();
+                            VariableWrapper local = new VariableWrapper( varName,
+                                                                         val );
+
+                            local.setPublic( true );
+                            result.add( local );
+                        } else {
+                            DroolsEclipsePlugin.log( new Exception( "Unable to get value for variable named '" + varName + "' suspend=" + isSuspended() ) );
+                        }
+                    }
+
+                }
+
+                IVariable[] vararr = (IVariable[]) result.toArray( new IVariable[result.size()] );
+                cacheVariables = vararr;
+                return vararr;
+
+            } catch ( Throwable t ) {
+                DroolsEclipsePlugin.log( t );
+            }
+
+            IVariable[] vararr = (IVariable[]) result.toArray( new IVariable[result.size()] );
+
+            Arrays.sort( vararr,
+                         new Comparator() {
+
+                             public int compare(Object var1,
+                                                Object var2) {
+                                 try {
+                                     return ((IVariable) var1).getName().compareTo( ((IVariable) var2).getName() );
+                                 } catch ( DebugException e ) {
+                                     return 0;
+                                 }
+                             }
+
+                         } );
+            cacheVariables = vararr;
+            return vararr;
+        } finally {
+            evaluating = false;
+            evalEnd();
+        }
+    }
+
+    private boolean internalHasNext(Value iter) throws InvalidTypeException,
+                                               ClassNotLoadedException,
+                                               IncompatibleThreadStateException,
+                                               InvocationException,
+                                               DebugException {
+        BooleanValue hasNext = (BooleanValue) runMethod( iter,
+                                                         "hasNext" );
+        return hasNext.booleanValue();
+    }
+
+    private Value fetchField(Value factoryVar,
+                             String fieldName) throws ClassNotLoadedException,
+                                              DebugException {
+        return fetchField( (ObjectReference) factoryVar,
+                           fieldName );
+    }
+
+    private Value runMethod(Value val,
+                            String methodName) throws InvalidTypeException,
+                                              ClassNotLoadedException,
+                                              IncompatibleThreadStateException,
+                                              InvocationException,
+                                              DebugException {
+
+        ObjectReference refObj = (ObjectReference) val;
+        ReferenceType t = refObj.referenceType();
+        Method m2 = (Method) t.methodsByName( methodName ).iterator().next();
+        ThreadReference thread = ((DroolsThread) getThread()).getUnderlyingThread();
+
+        Value res = refObj.invokeMethod( thread,
+                                         m2,
+                                         new ArrayList(),
+                                         0 );
+
+        return res;
+    }
+
+    private Value fetchField(DroolsLocalVariable frameLocal,
+                             String fieldName) throws DebugException,
+                                              ClassNotLoadedException {
+        ObjectReference objRef = ((JDIObjectValue) frameLocal.getValue()).getUnderlyingObject();
+        return fetchField( objRef,
+                           fieldName );
+    }
+
+    private Value fetchField(ObjectReference ref,
+                             String fieldName) throws ClassNotLoadedException,
+                                              DebugException {
+        ClassType varType = (ClassType) ref.type();
+        Field field = varType.fieldByName( fieldName );
+        Value res = ref.getValue( field );
+        return res;
+    }
+
+    protected DroolsStackFrame createNewDroolsFrame(StackFrame frame,
+                                                    int depth) {
+        return new MVELStackFrame( (DroolsThread) getThread(),
+                                   frame,
+                                   depth );
+    }
+
+    public int getLineNumber() throws DebugException {
+
+        if ( cacheLineNumber != -1 ) {
+            return cacheLineNumber;
+        }
+
+        if ( !isSuspended() ) {
+            return -1;
+        }
+
+        evaluating = true;
+        try {
+            DroolsDebugTarget t = (DroolsDebugTarget) getDebugTarget();
+
+            //int lineNr = getBreakpointLineNumber();
+            String sourceName = getMVELName();
+
+            DroolsLineBreakpoint bpoint = (DroolsLineBreakpoint) t.getDroolsBreakpoint( sourceName );
+
+            if ( bpoint == null ) {
+                return -1;
+            }
+
+            int line;
+
+            try {
+                line = Integer.parseInt( bpoint.getFileRuleMappings().get( sourceName ).toString() );
+            } catch ( Throwable t2 ) {
+                DroolsEclipsePlugin.log( t2 );
+                return -1;
+            }
+
+            int fragmentLine = getBreakpointLineNumber(); // 4->5 for step over
+
+            int res = line + fragmentLine;
+
+            cacheLineNumber = res;
+            return res;
+        } finally {
+            evaluating = false;
+            evalEnd();
+        }
+    }
+
+    public RuleInfo getExecutingRuleInfo() {
+        try {
+            String type = getDeclaringTypeName();
+
+            return DroolsEclipsePlugin.getDefault().getRuleInfoByClass( type );
+
+        } catch ( DebugException exc ) {
+            DroolsEclipsePlugin.log( exc );
+        }
+        return null;
+    }
+
+    public int getBreakpointLineNumber() {
+
+        if ( cacheBreakpointLineNumber != -1 ) {
+            return cacheBreakpointLineNumber;
+        }
+
+        if ( !isSuspended() ) {
+            return -1;
+        }
+
+        evaluating = true;
+        try {
+            try {
+                Object o = getRemoteVar( "lineNumber" );
+                if ( o == null ) {
+                    return -1;
+                }
+                IntegerValue val = (IntegerValue) o;
+                int realval = val.value();
+                cacheBreakpointLineNumber = realval;
+                return realval;
+            } catch ( Throwable e ) {
+                DroolsEclipsePlugin.log( e );
+            }
+            return -1;
+        } finally {
+            evaluating = false;
+            evalEnd();
+        }
+    }
+
+    public String getMVELName() {
+
+        if ( cacheMVELName != null ) {
+            return cacheMVELName;
+        }
+
+        if ( !isSuspended() ) {
+            return null;
+        }
+
+        evaluating = true;
+        try {
+            try {
+                Object rem = getRemoteVar( "sourceName" );
+                if ( rem == null ) {
+                    return null;
+                }
+                StringReference res = (StringReference) rem;
+                String realres = res.value();
+                cacheMVELName = realres;
+                return realres;
+            } catch ( Throwable e ) {
+                DroolsEclipsePlugin.log( e );
+            }
+
+            return "Unavailable";
+        } finally {
+            evaluating = false;
+            evalEnd();
+        }
+    }
+
+    private void evalEnd() {
+        fireChangeEvent( DebugEvent.STATE );
+        //fireChangeEvent( DebugEvent.CONTENT );
+    }
+
+    private Object getRemoteVar(String methodName) throws AbsentInformationException,
+                                                  ClassNotLoadedException,
+                                                  DebugException,
+                                                  InvalidTypeException,
+                                                  IncompatibleThreadStateException,
+                                                  InvocationException {
+
+        //frame arg
+        Method method = getUnderlyingMethod(); // onBreak
+        //ReferenceType declaringType = method.declaringType(); // org.drools.base.mvel.MVELDebugHandler
+
+        LocalVariable var = (LocalVariable) method.variables().get( 0 );//frame
+
+        ClassType frameType = (ClassType) var.type();
+
+        StackFrame frame = getUnderlyingStackFrame();
+        Value value = frame.getValue( var );
+        //getThread().getTopStackFrame().get
+
+        //IValue value = jdivar.getValue();
+        ObjectReferenceImpl o = (ObjectReferenceImpl) value;
+
+        /*        if ( value instanceof JDINullValue ) {
+         return null;
+         }
+         */
+
+        //ObjectReference o = (ObjectReference) ((JDIObjectValue) value).getUnderlyingObject();
+        if ( o == null ) {
+            return null;
+        }
+
+        Field field = frameType.fieldByName( methodName );
+        Value val = o.getValue( field );
+        return val;
+    }
+
+    public String getSourcePath() throws DebugException {
+        return getMVELName();
+    }
+
+    public boolean canStepInto() {
+        return false;
+    }
+
+    public boolean canStepOver() {
+        return exists() && !isObsolete() && !evaluating;
+    }
+
+    public boolean canDropToFrame() {
+        return false;
+    }
+
+    public boolean canStepReturn() {
+        return false;
+    }
+
+    public boolean canStepWithFilters() {
+        return false;
+    }
+
+    public IJavaReferenceType getReferenceType() throws DebugException {
+        return REF_TYPE;
+    }
+
+    public String getSourceName() throws DebugException {
+        return getMVELName();
+    }
+
+    protected JDIStackFrame bind(StackFrame frame,
+                                 int depth) {
+        clearCachedData();
+        return super.bind( frame,
+                           depth );
+    }
+
+    protected void clearCachedData() {
+        super.clearCachedData();
+        clearFrameCache();
+        if ( !isSuspended() ) {
+            initMVELinfo();
+        }
+    }
+
+    private void initMVELinfo() {
+        try {
+            getLineNumber();
+        } catch ( DebugException e ) {
+            // no luck this time. will be initialized later
+        }
+        getBreakpointLineNumber();
+        getMVELName();
+        try {
+            getVariables();
+        } catch ( DebugException e1 ) {
+            // no luck this time. will be initialized later
+        }
+    }
+
+    private void clearFrameCache() {
+        cacheLineNumber = -1;
+        cacheBreakpointLineNumber = -1;
+        cacheMVELName = null;
+        cacheVariables = null;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,25 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIThisVariable;
-
-import com.sun.jdi.ObjectReference;
-
-public class MVELThisVariable extends JDIThisVariable {
-
-    private String label;
-
-    public MVELThisVariable(JDIDebugTarget target, ObjectReference object, String label) {
-        super( target, object );
-        this.label = label;
-    }
-
-    public String getName() {
-        return label;
-    }
-
-    public boolean isPublic() throws DebugException {
-        return true;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,25 @@
+package org.drools.eclipse.debug.core;
+
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDIThisVariable;
+
+import com.sun.jdi.ObjectReference;
+
+public class MVELThisVariable extends JDIThisVariable {
+
+    private String label;
+
+    public MVELThisVariable(JDIDebugTarget target, ObjectReference object, String label) {
+        super( target, object );
+        this.label = label;
+    }
+
+    public String getName() {
+        return label;
+    }
+
+    public boolean isPublic() throws DebugException {
+        return true;
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,222 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.builder.Util;
-import org.drools.eclipse.editors.completion.DSLTree;
-import org.drools.lang.dsl.DSLMapping;
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.drools.lang.dsl.DSLMappingFile;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * This holds the DSL configuration for an editor instance.
- * When loading, it will find the DSL file, and load the applicable lists.
- * 
- * This provides a link between the editor and the DSL features of the rule language.  
- * 
- * It will look for a DSL configuration, as named in the rule file, in the same directory as the rule file.
- * Failing this, it will search one directory above the rule file. 
- * Failing that, it will search the root of the project in the workspace.
- * 
- * @author Michael Neale
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DSLAdapter {
-
-    private String dslConfigName;
-    private boolean valid = false;
-    private List conditionProposals = new ArrayList();
-    private List consequenceProposals = new ArrayList();
-	private DSLTree dslTree = new DSLTree();
-    
-    //to dig out the expander, without using the parser.
-    private static final Pattern EXPANDER_PATTERN = Pattern.compile( "\\n\\s*expander\\s*(.*)\\.dsl\\s", 
-                                                             Pattern.DOTALL | Pattern.MULTILINE );
-    /**
-     * This will sniff out the DSL config file name from the content.
-     * It will then use the IFile input to search around for the file itself.
-     * TODO: provide an alternative that just loads off a stream (for non IDEs workbenches like jlibrary).
-     * @param content Rule source
-     * @param input File from the FileEditorInput
-     */
-    public DSLAdapter(String content, IFile input) throws CoreException {
-        dslConfigName = findDSLConfigName( content, input );
-        if (dslConfigName == null) {
-        	return;
-        }
-        loadConfig( input );
-    }
-    
-    /** Get a reader to the DSL contents */
-    public static Reader getDSLContent(String ruleSource, IResource input) throws CoreException {
-        String dslFileName = findDSLConfigName( ruleSource, input );
-        if (dslFileName == null) {
-        	return null;
-        }
-        IResource res = findDSLResource( input, dslFileName );
-        if (res instanceof IFile) {
-            IFile dslConf = (IFile) res;
-            if (dslConf.exists()) {
-                return new InputStreamReader(dslConf.getContents());
-            }
-        }
-        return null;
-    }
-
-    /**
-     * This does the hunting around the projec to find the .dsl file.
-     */
-    private void loadConfig(IFile input) {
-        IResource res = findDSLResource( input, dslConfigName );
-        if (res instanceof IFile) {
-            IFile dslConf = (IFile) res;
-            if (dslConf.exists()) {
-                InputStream stream = null; 
-                try {
-                    stream = dslConf.getContents();
-                    readConfig( stream );
-                    valid = true;
-                } catch ( Exception e ) {
-                    throw new IllegalStateException("Unable to open DSL config file. (Exception: " + e.getMessage() + ")");
-                } finally {
-                    closeStream( stream );
-                }
-                
-            }
-        }
-    }
-
-    private static IResource findDSLResource(IResource input, String dslFileName) {
-        IResource res = input.getParent().findMember( dslFileName );
-        if (res == null) res = input.getParent().getParent().findMember( dslFileName ); //try parent directory
-        if (res == null) res = input.getProject().findMember( dslFileName ); //try root of project.
-        return res;
-    }
-
-    
-    /** This will load in the DSL config file, using the DSLMapping from drools-compiler */
-    void readConfig(InputStream stream) throws IOException, CoreException {
-        DSLMappingFile file = new DSLMappingFile();
-        file.parseAndLoad(new InputStreamReader(stream));
-
-        DSLMapping grammar = file.getMapping();
-        List conditions = grammar.getEntries( DSLMappingEntry.CONDITION );
-        List consequences = grammar.getEntries( DSLMappingEntry.CONSEQUENCE );
-        
-        conditionProposals = buildProposals(conditions);
-        consequenceProposals = buildProposals(consequences);
-        
-		dslTree.buildTree(grammar);
-    }
-
-    private List buildProposals(List suggestions) {
-    	List result = new ArrayList(suggestions.size());
-    	Iterator iterator = suggestions.iterator();
-        while (iterator.hasNext()) {
-            DSLMappingEntry text = (DSLMappingEntry) iterator.next();
-            result.add(text.getMappingKey());
-        }
-        return result;
-    }
-
-    private void closeStream(InputStream stream) {
-        if (stream != null) try {
-            stream.close();
-        } catch ( IOException e ) {}
-    }
-
-    DSLAdapter() {
-        
-    }
-    
-    private static String findDSLConfigName(String content, IResource input) throws CoreException {
-        String dslConfigName = findDSLConfigName( content );
-        if (dslConfigName == null)  {
-	    	// try searching the .package file
-	    	if (input != null && input.getParent() != null) {
-	        	MyResourceVisitor visitor = new MyResourceVisitor();
-	        	input.getParent().accept(visitor, IResource.DEPTH_ONE, IResource.NONE);
-	        	IResource packageDef = visitor.getPackageDef();
-	        	if (packageDef != null) {
-	        		if (packageDef instanceof IFile) {
-	        			IFile file = (IFile) packageDef;
-	        	        try {
-	        	        	String pContent = new String(Util.getResourceContentsAsCharArray(file));
-	        	        	dslConfigName = findDSLConfigName( pContent );
-	        	        } catch (CoreException e) {
-	        	        	DroolsEclipsePlugin.log(e);
-	        	        }
-	        		}
-	        	}
-	        }
-        }
-        return dslConfigName;
-    }
-
-    /** Sniffs out the expander/DSL config name as best it can. */
-    static String findDSLConfigName(String content) {
-        String name = null;
-        Matcher matches = EXPANDER_PATTERN.matcher( content );
-        if (matches.find()) {
-            name = matches.group(1) + ".dsl";
-        }
-        return name;
-    }
-    
-    
-    String getDSLConfigName() {
-        return dslConfigName;
-    }
-    
-    
-    public boolean isValid() {
-        return valid;
-    }
-    
-    
-    public boolean hasConditions() {
-        return conditionProposals.size() > 0;
-    }
-    
-    public boolean hasConsequences() {
-        return consequenceProposals.size() > 0;
-    }
-    
-    public List listConditionItems() {
-        return conditionProposals;
-    }
-    
-    public List listConsequenceItems() {
-        return consequenceProposals;
-    }    
-    
-    public DSLTree getDSLTree() {
-    	return dslTree;
-    }
-    
-    private static class MyResourceVisitor implements IResourceVisitor {
-    	private IResource packageDef;
-		public boolean visit(IResource resource) throws CoreException {
-			if ("package".equals(resource.getFileExtension())) {
-				packageDef = resource;
-			}
-			return true;
-		}
-		public IResource getPackageDef() {
-			return packageDef;
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,222 @@
+package org.drools.eclipse.dsl.editor;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.builder.Util;
+import org.drools.eclipse.editors.completion.DSLTree;
+import org.drools.lang.dsl.DSLMapping;
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingFile;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.runtime.CoreException;
+
+/**
+ * This holds the DSL configuration for an editor instance.
+ * When loading, it will find the DSL file, and load the applicable lists.
+ * 
+ * This provides a link between the editor and the DSL features of the rule language.  
+ * 
+ * It will look for a DSL configuration, as named in the rule file, in the same directory as the rule file.
+ * Failing this, it will search one directory above the rule file. 
+ * Failing that, it will search the root of the project in the workspace.
+ * 
+ * @author Michael Neale
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DSLAdapter {
+
+    private String dslConfigName;
+    private boolean valid = false;
+    private List conditionProposals = new ArrayList();
+    private List consequenceProposals = new ArrayList();
+	private DSLTree dslTree = new DSLTree();
+    
+    //to dig out the expander, without using the parser.
+    private static final Pattern EXPANDER_PATTERN = Pattern.compile( "\\n\\s*expander\\s*(.*)\\.dsl\\s", 
+                                                             Pattern.DOTALL | Pattern.MULTILINE );
+    /**
+     * This will sniff out the DSL config file name from the content.
+     * It will then use the IFile input to search around for the file itself.
+     * TODO: provide an alternative that just loads off a stream (for non IDEs workbenches like jlibrary).
+     * @param content Rule source
+     * @param input File from the FileEditorInput
+     */
+    public DSLAdapter(String content, IFile input) throws CoreException {
+        dslConfigName = findDSLConfigName( content, input );
+        if (dslConfigName == null) {
+        	return;
+        }
+        loadConfig( input );
+    }
+    
+    /** Get a reader to the DSL contents */
+    public static Reader getDSLContent(String ruleSource, IResource input) throws CoreException {
+        String dslFileName = findDSLConfigName( ruleSource, input );
+        if (dslFileName == null) {
+        	return null;
+        }
+        IResource res = findDSLResource( input, dslFileName );
+        if (res instanceof IFile) {
+            IFile dslConf = (IFile) res;
+            if (dslConf.exists()) {
+                return new InputStreamReader(dslConf.getContents());
+            }
+        }
+        return null;
+    }
+
+    /**
+     * This does the hunting around the projec to find the .dsl file.
+     */
+    private void loadConfig(IFile input) {
+        IResource res = findDSLResource( input, dslConfigName );
+        if (res instanceof IFile) {
+            IFile dslConf = (IFile) res;
+            if (dslConf.exists()) {
+                InputStream stream = null; 
+                try {
+                    stream = dslConf.getContents();
+                    readConfig( stream );
+                    valid = true;
+                } catch ( Exception e ) {
+                    throw new IllegalStateException("Unable to open DSL config file. (Exception: " + e.getMessage() + ")");
+                } finally {
+                    closeStream( stream );
+                }
+                
+            }
+        }
+    }
+
+    private static IResource findDSLResource(IResource input, String dslFileName) {
+        IResource res = input.getParent().findMember( dslFileName );
+        if (res == null) res = input.getParent().getParent().findMember( dslFileName ); //try parent directory
+        if (res == null) res = input.getProject().findMember( dslFileName ); //try root of project.
+        return res;
+    }
+
+    
+    /** This will load in the DSL config file, using the DSLMapping from drools-compiler */
+    void readConfig(InputStream stream) throws IOException, CoreException {
+        DSLMappingFile file = new DSLMappingFile();
+        file.parseAndLoad(new InputStreamReader(stream));
+
+        DSLMapping grammar = file.getMapping();
+        List conditions = grammar.getEntries( DSLMappingEntry.CONDITION );
+        List consequences = grammar.getEntries( DSLMappingEntry.CONSEQUENCE );
+        
+        conditionProposals = buildProposals(conditions);
+        consequenceProposals = buildProposals(consequences);
+        
+		dslTree.buildTree(grammar);
+    }
+
+    private List buildProposals(List suggestions) {
+    	List result = new ArrayList(suggestions.size());
+    	Iterator iterator = suggestions.iterator();
+        while (iterator.hasNext()) {
+            DSLMappingEntry text = (DSLMappingEntry) iterator.next();
+            result.add(text.getMappingKey());
+        }
+        return result;
+    }
+
+    private void closeStream(InputStream stream) {
+        if (stream != null) try {
+            stream.close();
+        } catch ( IOException e ) {}
+    }
+
+    DSLAdapter() {
+        
+    }
+    
+    private static String findDSLConfigName(String content, IResource input) throws CoreException {
+        String dslConfigName = findDSLConfigName( content );
+        if (dslConfigName == null)  {
+	    	// try searching the .package file
+	    	if (input != null && input.getParent() != null) {
+	        	MyResourceVisitor visitor = new MyResourceVisitor();
+	        	input.getParent().accept(visitor, IResource.DEPTH_ONE, IResource.NONE);
+	        	IResource packageDef = visitor.getPackageDef();
+	        	if (packageDef != null) {
+	        		if (packageDef instanceof IFile) {
+	        			IFile file = (IFile) packageDef;
+	        	        try {
+	        	        	String pContent = new String(Util.getResourceContentsAsCharArray(file));
+	        	        	dslConfigName = findDSLConfigName( pContent );
+	        	        } catch (CoreException e) {
+	        	        	DroolsEclipsePlugin.log(e);
+	        	        }
+	        		}
+	        	}
+	        }
+        }
+        return dslConfigName;
+    }
+
+    /** Sniffs out the expander/DSL config name as best it can. */
+    static String findDSLConfigName(String content) {
+        String name = null;
+        Matcher matches = EXPANDER_PATTERN.matcher( content );
+        if (matches.find()) {
+            name = matches.group(1) + ".dsl";
+        }
+        return name;
+    }
+    
+    
+    String getDSLConfigName() {
+        return dslConfigName;
+    }
+    
+    
+    public boolean isValid() {
+        return valid;
+    }
+    
+    
+    public boolean hasConditions() {
+        return conditionProposals.size() > 0;
+    }
+    
+    public boolean hasConsequences() {
+        return consequenceProposals.size() > 0;
+    }
+    
+    public List listConditionItems() {
+        return conditionProposals;
+    }
+    
+    public List listConsequenceItems() {
+        return consequenceProposals;
+    }    
+    
+    public DSLTree getDSLTree() {
+    	return dslTree;
+    }
+    
+    private static class MyResourceVisitor implements IResourceVisitor {
+    	private IResource packageDef;
+		public boolean visit(IResource resource) throws CoreException {
+			if ("package".equals(resource.getFileExtension())) {
+				packageDef = resource;
+			}
+			return true;
+		}
+		public IResource getPackageDef() {
+			return packageDef;
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,57 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Content provider for the Domain Specific Language editor.
- * @author Michael Neale
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DSLContentProvider
-    implements
-    IStructuredContentProvider, IMappingListViewer {
-
-    private TableViewer viewer;
-    private NLGrammarModel model;
-    
-    public DSLContentProvider(TableViewer viewer, NLGrammarModel model) {
-        this.viewer = viewer;
-        this.model = model;
-    }
-    
-    public void dispose() {
-        model.removeChangeListener( this );
-    }
-    
-    public void inputChanged(Viewer viewer,
-                             Object oldInput,
-                             Object newInput) {
-        if (newInput != null)
-            ((NLGrammarModel) newInput).addChangeListener(this);
-        if (oldInput != null)
-            ((NLGrammarModel) oldInput).removeChangeListener(this);
-
-    }
-
-    public void addMapping(DSLMappingEntry item) {
-        viewer.add( item );
-        
-    }
-
-    public void removeMapping(DSLMappingEntry item) {
-
-        viewer.remove( item );
-    }
-
-    public void updateMapping(DSLMappingEntry item) {
-        viewer.update( item, null );
-    }
-
-    public Object[] getElements(Object inputElement) {
-        return model.getEntries().toArray();        
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,57 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+/**
+ * Content provider for the Domain Specific Language editor.
+ * @author Michael Neale
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DSLContentProvider
+    implements
+    IStructuredContentProvider, IMappingListViewer {
+
+    private TableViewer viewer;
+    private NLGrammarModel model;
+    
+    public DSLContentProvider(TableViewer viewer, NLGrammarModel model) {
+        this.viewer = viewer;
+        this.model = model;
+    }
+    
+    public void dispose() {
+        model.removeChangeListener( this );
+    }
+    
+    public void inputChanged(Viewer viewer,
+                             Object oldInput,
+                             Object newInput) {
+        if (newInput != null)
+            ((NLGrammarModel) newInput).addChangeListener(this);
+        if (oldInput != null)
+            ((NLGrammarModel) oldInput).removeChangeListener(this);
+
+    }
+
+    public void addMapping(DSLMappingEntry item) {
+        viewer.add( item );
+        
+    }
+
+    public void removeMapping(DSLMappingEntry item) {
+
+        viewer.remove( item );
+    }
+
+    public void updateMapping(DSLMappingEntry item) {
+        viewer.update( item, null );
+    }
+
+    public Object[] getElements(Object inputElement) {
+        return model.getEntries().toArray();        
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,660 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.builder.IDroolsModelMarker;
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.drools.lang.dsl.DSLMappingFile;
-import org.drools.lang.dsl.DefaultDSLMappingEntry;
-import org.drools.lang.dsl.MappingError;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * This is the tablular DSL configuration editor.
- * @author Michael Neale
- */
-public class DSLEditor extends EditorPart {
-
-    private Table          table;
-    private TableViewer    tableViewer;
-    private NLGrammarModel model;          //this is the model that does all the work (from drools-compiler)
-    private boolean        dirty = false;  //editing or deleting will make it dirty
-    private Text           exprText;       //for language expression
-    private Text           mappingText;    //for target rule expression
-    private Text           descriptionText; //just a comment field
-    private Text           objText;        // for the object name
-    private Combo          sortCombo;      // for the sort field
-
-    public void doSave(IProgressMonitor monitor) {
-
-        FileEditorInput input = (FileEditorInput) getEditorInput();
-        File outputFile = input.getFile().getLocation().toFile();
-        saveFile( monitor,
-                  outputFile,
-                  input );
-
-    }
-
-    private void saveFile(IProgressMonitor monitor,
-                          File outputFile,
-                          FileEditorInput input) {
-        try {
-            validate( input );
-
-            FileWriter writer = new FileWriter( outputFile );
-            DSLMappingFile.saveMapping( writer,
-                                        model );
-
-            makeClean();
-            writer.close();
-            input.getFile().getProject().refreshLocal( IResource.DEPTH_INFINITE,
-                                                       monitor );
-        } catch ( IOException e ) {
-            throw new IllegalStateException( "Unable to save DSL configuration file. (IOException: " + e.getMessage() + ")" );
-        } catch ( CoreException e ) {
-            throw new IllegalStateException( "Unable to resync workbench after DSL save. (CoreException: " + e.getMessage() + ")" );
-        }
-    }
-
-    private void validate(FileEditorInput input) {
-        removeProblemsFor( input.getFile() );
-        List errs = new ArrayList();
-        for ( Iterator iter = model.getEntries().iterator(); iter.hasNext(); ) {
-            DSLMappingEntry item = (DSLMappingEntry) iter.next();
-            errs.addAll( item.getErrors() );
-        }
-        if ( errs.size() > 0 ) {
-            for ( Iterator iter = errs.iterator(); iter.hasNext(); ) {
-                MappingError mapEr = (MappingError) iter.next();
-                createMarker( input.getFile(),
-                              mapEr.getMessage() + "  From [" + mapEr.getTemplateText() + "]",
-                              -1 );
-            }
-        }
-    }
-
-    private void createMarker(final IResource res,
-                              final String message,
-                              final int lineNumber) {
-        try {
-            IWorkspaceRunnable r = new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    IMarker marker = res.createMarker( IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER );
-                    marker.setAttribute( IMarker.MESSAGE,
-                                         message );
-                    marker.setAttribute( IMarker.SEVERITY,
-                                         IMarker.SEVERITY_WARNING );
-                    marker.setAttribute( IMarker.LINE_NUMBER,
-                                         lineNumber );
-                }
-            };
-            res.getWorkspace().run( r,
-                                    null,
-                                    IWorkspace.AVOID_UPDATE,
-                                    null );
-        } catch ( CoreException e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-    }
-
-    private void removeProblemsFor(IResource resource) {
-        try {
-            if ( resource != null && resource.exists() ) {
-                resource.deleteMarkers( IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER,
-                                        false,
-                                        IResource.DEPTH_INFINITE );
-            }
-        } catch ( CoreException e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-    }
-
-    void makeClean() {
-        this.dirty = false;
-        firePropertyChange( PROP_DIRTY );
-
-    }
-
-    public void doSaveAs() {
-        // TODO Implement this.
-    }
-
-    public void init(IEditorSite site,
-                     IEditorInput editorInput) throws PartInitException {
-        FileEditorInput input = (FileEditorInput) editorInput;
-        setSite( site );
-        setInput( editorInput );
-        setVisibleName( input );
-
-        try {
-            InputStream stream = input.getFile().getContents();
-            model = new NLGrammarModel();
-            DSLMappingFile file = new DSLMappingFile();
-            file.parseAndLoad( new InputStreamReader( stream ) );
-            model.addEntries( file.getMapping().getEntries() );
-            stream.close();
-
-        } catch ( CoreException e ) {
-            throw new IllegalStateException( "Unable to load DSL configuration file. (CoreException: " + e.getMessage() + ")" );
-        } catch ( IOException e ) {
-            throw new IllegalStateException( "Unabel to close stream fo DSL config file. (IOException: " + e.getMessage() + ")" );
-        }
-
-    }
-
-    private void setVisibleName(FileEditorInput input) {
-        setPartName( input.getFile().getName() );
-        setContentDescription( "Editing Domain specific language: [" + input.getFile().getFullPath().toString() + "]" );
-    }
-
-    public boolean isDirty() {
-        return dirty;
-    }
-
-    /**
-     * Sets the dirty flag, and notifies the workbench.
-     */
-    void makeDirty() {
-        dirty = true;
-        firePropertyChange( PROP_DIRTY );
-    }
-
-    /**
-     * The method sorts th e
-     *
-     */
-    public void sortModel() {
-        if ( sortCombo.getSelectionIndex() == DSLMappingSorter.EXPRESSION ) {
-            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.EXPRESSION ) );
-        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.OBJECT ) {
-            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.OBJECT ) );
-        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.SCOPE ) {
-            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.SCOPE ) );
-        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.MAPPING ) {
-            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.MAPPING ) );
-        }
-    }
-
-    public boolean isSaveAsAllowed() {
-        // TODO implement SaveAs
-        return false;
-    }
-
-    public void createPartControl(Composite parent) {
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_BOTH );
-        parent.setLayoutData( gridData );
-
-        // Set numColumns to 3 in the overall grid
-        GridLayout layout = new GridLayout( 3,
-                                            false );
-        layout.marginWidth = 4;
-        parent.setLayout( layout );
-
-        //create the overall desc field (comments).
-        createDescriptionField( parent );
-
-        // create the table
-        createTable( parent );
-
-        // Create and setup the TableViewer
-        createTableViewer();
-
-        //set up the table "binding" with the model
-        tableViewer.setContentProvider( new DSLContentProvider( tableViewer,
-                                                                model ) );
-        tableViewer.setLabelProvider( new DSLLabelProvider() );
-        refreshModel();
-
-        //setup the fields below the table
-        createExpressionViewField( parent );
-        createEditButton( parent );
-        createMappingViewField( parent );
-        createDeleteButton( parent );
-        createObjectViewField( parent );
-        createAddButton( parent );
-        createSortField( parent );
-        createSortButton( parent );
-        createCopyButton( parent );
-
-        //listeners on the table...
-        createTableListeners();
-
-    }
-
-    /**
-     * Setup table listeners for GUI events.
-     */
-    private void createTableListeners() {
-
-        //setup views into current selected
-        table.addSelectionListener( new SelectionListener() {
-
-            public void widgetSelected(SelectionEvent e) {
-                populate();
-            }
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-                populate();
-            }
-
-            private void populate() {
-                DSLMappingEntry selected = getCurrentSelected();
-                exprText.setText( selected.getMappingKey() );
-                mappingText.setText( selected.getMappingValue() );
-                objText.setText( selected.getMetaData().getMetaData() == null ? "" : selected.getMetaData().getMetaData() );
-            }
-
-        } );
-
-        //double click support
-        table.addMouseListener( new MouseListener() {
-
-            public void mouseDoubleClick(MouseEvent e) {
-                showEditPopup();
-            }
-
-            public void mouseDown(MouseEvent e) {
-            }
-
-            public void mouseUp(MouseEvent e) {
-            }
-
-        } );
-
-    }
-
-    private void createDescriptionField(Composite parent) {
-        Label descLbl = new Label( parent,
-                                   SWT.NONE );
-        descLbl.setText( "Description:" );
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        descLbl.setLayoutData( gridData );
-
-        descriptionText = new Text( parent,
-                                    SWT.BORDER );
-        descriptionText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-        descriptionText.setText( model.getDescription() == null ? "" : model.getDescription() );
-        descriptionText.addModifyListener( new ModifyListener() {
-
-            public void modifyText(ModifyEvent e) {
-                String text = descriptionText.getText();
-                if ( !text.equals( model.getDescription() ) ) {
-                    model.setDescription( text );
-                    makeDirty();
-                }
-            }
-
-        } );
-    }
-
-    private void createMappingViewField(Composite parent) {
-        Label mapping = new Label( parent,
-                                   SWT.NONE );
-        mapping.setText( "Mapping:" );
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        mapping.setLayoutData( gridData );
-
-        mappingText = new Text( parent,
-                                SWT.BORDER );
-        mappingText.setEditable( false );
-
-        mappingText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-    }
-
-    private void createExpressionViewField(Composite parent) {
-
-        Label expr = new Label( parent,
-                                SWT.NONE );
-        expr.setText( "Expression:" );
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        expr.setLayoutData( gridData );
-
-        exprText = new Text( parent,
-                             SWT.BORDER );
-        exprText.setEditable( false );
-        gridData = new GridData( GridData.FILL_HORIZONTAL );
-
-        exprText.setLayoutData( gridData );
-
-    }
-
-    private void createObjectViewField(Composite parent) {
-
-        Label obj = new Label( parent,
-                               SWT.NONE );
-        obj.setText( "Object:" );
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        obj.setLayoutData( gridData );
-
-        objText = new Text( parent,
-                            SWT.BORDER );
-        objText.setEditable( false );
-        gridData = new GridData( GridData.FILL_HORIZONTAL );
-
-        objText.setLayoutData( gridData );
-
-    }
-
-    private void createSortField(Composite parent) {
-        Label sort = new Label( parent,
-                                SWT.NONE );
-        sort.setText( "Sort by:" );
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        sort.setLayoutData( gridData );
-
-        sortCombo = new Combo( parent,
-                               SWT.READ_ONLY );
-        sortCombo.add( "Object",
-                       DSLMappingSorter.OBJECT );
-        sortCombo.add( "Language Expression",
-                       DSLMappingSorter.EXPRESSION );
-        sortCombo.add( "Rule Language Mapping",
-                       DSLMappingSorter.MAPPING );
-        sortCombo.add( "Scope",
-                       DSLMappingSorter.SCOPE );
-        gridData = new GridData( GridData.FILL_HORIZONTAL );
-
-        sortCombo.setLayoutData( gridData );
-    }
-
-    /** Refreshes the table do make sure it is up to date with the model. */
-    private void refreshModel() {
-        tableViewer.setInput( model );
-    }
-
-    private void createEditButton(Composite parent) {
-        // Create and configure the "Add" button
-        Button add = new Button( parent,
-                                 SWT.PUSH | SWT.CENTER );
-        add.setText( "Edit" );
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        add.setLayoutData( gridData );
-
-        add.addSelectionListener( new SelectionAdapter() {
-
-            // Add a task to the ExampleTaskList and refresh the view
-            public void widgetSelected(SelectionEvent e) {
-                showEditPopup();
-            }
-
-        } );
-    }
-
-    private void showEditPopup() {
-    	DSLMappingEntry selected = getCurrentSelected();
-    	if (selected != null) {
-	        MappingEditor editor = new MappingEditor( getSite().getShell() );
-	        editor.create();
-	        editor.getShell().setText( "Edit language mapping" );
-	        editor.setTitle( "Edit an existing language mapping item." );
-	        editor.setTitleImage( getTitleImage() );
-	
-	        editor.setNLMappingItem( selected );
-	
-	        editor.open();
-	        if ( !editor.isCancelled() ) {
-	            refreshModel();
-	            makeDirty();
-	        }
-    	}
-    }
-
-    private void createDeleteButton(Composite parent) {
-        // Create and configure the "Add" button
-        Button add = new Button( parent,
-                                 SWT.PUSH | SWT.CENTER );
-        add.setText( "Remove" );
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        add.setLayoutData( gridData );
-        add.addSelectionListener( new SelectionAdapter() {
-            // Add a task to the ExampleTaskList and refresh the view
-            public void widgetSelected(SelectionEvent e) {
-                model.removeEntry( getCurrentSelected() );
-                refreshModel();
-                makeDirty();
-                exprText.setText( "" );
-                mappingText.setText( "" );
-                objText.setText( "" );
-            }
-        } );
-    }
-
-    private void createSortButton(Composite parent) {
-        // Create and configure the "Add" button
-        Button sort = new Button( parent,
-                                  SWT.PUSH | SWT.CENTER );
-        sort.setText( "Sort" );
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        sort.setLayoutData( gridData );
-        sort.addSelectionListener( new SelectionAdapter() {
-            // Add a task to the ExampleTaskList and refresh the view
-            public void widgetSelected(SelectionEvent e) {
-                sortModel();
-                refreshModel();
-                makeDirty();
-            }
-
-        } );
-    }
-
-    /**
-     * Return the selected item from the table grid thingy.
-     */
-    private DSLMappingEntry getCurrentSelected() {
-        return (DSLMappingEntry) ((IStructuredSelection) tableViewer.getSelection()).getFirstElement();
-    }
-
-    private void createAddButton(Composite parent) {
-        // Create and configure the "Add" button
-        Button add = new Button( parent,
-                                 SWT.PUSH | SWT.CENTER );
-        add.setText( "Add" );
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        add.setLayoutData( gridData );
-
-        add.addSelectionListener( new SelectionAdapter() {
-
-            // Add an item, should pop up the editor
-            public void widgetSelected(SelectionEvent e) {
-
-                DSLMappingEntry newItem = new DefaultDSLMappingEntry();
-
-                MappingEditor editor = new MappingEditor( getSite().getShell() );//shell);
-                editor.create();
-                editor.getShell().setText( "New language mapping" );
-                editor.setTitle( "Create a new language element mapping." );
-                editor.setTitleImage( getTitleImage() );
-
-                editor.setNLMappingItem( newItem );
-
-                editor.open();
-                if ( !editor.isCancelled() ) {
-                    model.addEntry( newItem );
-                    refreshModel();
-                    makeDirty();
-                }
-
-            }
-        } );
-    }
-
-    private void createCopyButton(Composite parent) {
-        // Create and configure the "Add" button
-        Button copy = new Button( parent,
-                                  SWT.PUSH | SWT.CENTER );
-        copy.setText( "Copy" );
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        copy.setLayoutData( gridData );
-
-        copy.addSelectionListener( new SelectionAdapter() {
-
-            // Add an item, should pop up the editor
-            public void widgetSelected(SelectionEvent e) {
-
-                DSLMappingEntry curr = getCurrentSelected();
-                if (curr != null) {
-	                DSLMappingEntry newItem = new DefaultDSLMappingEntry( curr.getSection(),
-	                                                                      curr.getMetaData(),
-	                                                                      curr.getMappingKey(),
-	                                                                      curr.getMappingValue() );
-	
-	                MappingEditor editor = new MappingEditor( getSite().getShell() );//shell);
-	                editor.create();
-	                editor.getShell().setText( "New language mapping" );
-	                editor.setTitle( "Create a new language element mapping from a copy." );
-	                editor.setTitleImage( getTitleImage() );
-	
-	                editor.setNLMappingItem( newItem );
-	
-	                editor.open();
-	                if ( !editor.isCancelled() ) {
-	                    model.addEntry( newItem );
-	                    refreshModel();
-	                    makeDirty();
-	                }
-                }
-            }
-        } );
-    }
-
-    /**
-     * Create the viewer.
-     */
-    private void createTableViewer() {
-        tableViewer = new TableViewer( table );
-        tableViewer.setUseHashlookup( true );
-        //following is if we want default sorting... my thought is no...
-    }
-
-    /**
-     * Create the Table
-     */
-    private void createTable(Composite parent) {
-        int style = SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
-
-        table = new Table( parent,
-                           style );
-
-        GridData gridData = new GridData( GridData.FILL_BOTH );
-        gridData.grabExcessVerticalSpace = true;
-        gridData.horizontalSpan = 3;
-        table.setLayoutData( gridData );
-
-        table.setLinesVisible( true );
-        table.setHeaderVisible( true );
-
-        TableColumn column;
-
-        //Expression col
-        column = new TableColumn( table,
-                                  SWT.LEFT,
-                                  0 );
-        column.setText( "Language Expression" );
-        column.setWidth( 350 );
-        // Add listener to column so sorted when clicked 
-        column.addSelectionListener( new SelectionAdapter() {
-
-            public void widgetSelected(SelectionEvent e) {
-                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.EXPRESSION ) );
-            }
-        } );
-
-        // 3rd column with task Owner
-        column = new TableColumn( table,
-                                  SWT.LEFT,
-                                  1 );
-        column.setText( "Rule Language Mapping" );
-        column.setWidth( 200 );
-        // Add listener to column so sorted when clicked
-        column.addSelectionListener( new SelectionAdapter() {
-
-            public void widgetSelected(SelectionEvent e) {
-                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.MAPPING ) );
-            }
-        } );
-
-        // 4th column with task PercentComplete 
-        column = new TableColumn( table,
-                                  SWT.LEFT,
-                                  2 );
-        column.setText( "Object" );
-        column.setWidth( 80 );
-
-        // 5th column with task PercentComplete 
-        column = new TableColumn( table,
-                                  SWT.LEFT,
-                                  3 );
-        column.setText( "Scope" );
-        column.setWidth( 80 );
-
-        //  Add listener to column so tasks are sorted when clicked
-        column.addSelectionListener( new SelectionAdapter() {
-
-            public void widgetSelected(SelectionEvent e) {
-                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.SCOPE ) );
-            }
-        } );
-
-    }
-
-    public void setFocus() {
-    }
-
-    public void dispose() {
-        super.dispose();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,660 @@
+package org.drools.eclipse.dsl.editor;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.builder.IDroolsModelMarker;
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingFile;
+import org.drools.lang.dsl.DefaultDSLMappingEntry;
+import org.drools.lang.dsl.MappingError;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.part.EditorPart;
+import org.eclipse.ui.part.FileEditorInput;
+
+/**
+ * This is the tablular DSL configuration editor.
+ * @author Michael Neale
+ */
+public class DSLEditor extends EditorPart {
+
+    private Table          table;
+    private TableViewer    tableViewer;
+    private NLGrammarModel model;          //this is the model that does all the work (from drools-compiler)
+    private boolean        dirty = false;  //editing or deleting will make it dirty
+    private Text           exprText;       //for language expression
+    private Text           mappingText;    //for target rule expression
+    private Text           descriptionText; //just a comment field
+    private Text           objText;        // for the object name
+    private Combo          sortCombo;      // for the sort field
+
+    public void doSave(IProgressMonitor monitor) {
+
+        FileEditorInput input = (FileEditorInput) getEditorInput();
+        File outputFile = input.getFile().getLocation().toFile();
+        saveFile( monitor,
+                  outputFile,
+                  input );
+
+    }
+
+    private void saveFile(IProgressMonitor monitor,
+                          File outputFile,
+                          FileEditorInput input) {
+        try {
+            validate( input );
+
+            FileWriter writer = new FileWriter( outputFile );
+            DSLMappingFile.saveMapping( writer,
+                                        model );
+
+            makeClean();
+            writer.close();
+            input.getFile().getProject().refreshLocal( IResource.DEPTH_INFINITE,
+                                                       monitor );
+        } catch ( IOException e ) {
+            throw new IllegalStateException( "Unable to save DSL configuration file. (IOException: " + e.getMessage() + ")" );
+        } catch ( CoreException e ) {
+            throw new IllegalStateException( "Unable to resync workbench after DSL save. (CoreException: " + e.getMessage() + ")" );
+        }
+    }
+
+    private void validate(FileEditorInput input) {
+        removeProblemsFor( input.getFile() );
+        List errs = new ArrayList();
+        for ( Iterator iter = model.getEntries().iterator(); iter.hasNext(); ) {
+            DSLMappingEntry item = (DSLMappingEntry) iter.next();
+            errs.addAll( item.getErrors() );
+        }
+        if ( errs.size() > 0 ) {
+            for ( Iterator iter = errs.iterator(); iter.hasNext(); ) {
+                MappingError mapEr = (MappingError) iter.next();
+                createMarker( input.getFile(),
+                              mapEr.getMessage() + "  From [" + mapEr.getTemplateText() + "]",
+                              -1 );
+            }
+        }
+    }
+
+    private void createMarker(final IResource res,
+                              final String message,
+                              final int lineNumber) {
+        try {
+            IWorkspaceRunnable r = new IWorkspaceRunnable() {
+                public void run(IProgressMonitor monitor) throws CoreException {
+                    IMarker marker = res.createMarker( IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER );
+                    marker.setAttribute( IMarker.MESSAGE,
+                                         message );
+                    marker.setAttribute( IMarker.SEVERITY,
+                                         IMarker.SEVERITY_WARNING );
+                    marker.setAttribute( IMarker.LINE_NUMBER,
+                                         lineNumber );
+                }
+            };
+            res.getWorkspace().run( r,
+                                    null,
+                                    IWorkspace.AVOID_UPDATE,
+                                    null );
+        } catch ( CoreException e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+    }
+
+    private void removeProblemsFor(IResource resource) {
+        try {
+            if ( resource != null && resource.exists() ) {
+                resource.deleteMarkers( IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER,
+                                        false,
+                                        IResource.DEPTH_INFINITE );
+            }
+        } catch ( CoreException e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+    }
+
+    void makeClean() {
+        this.dirty = false;
+        firePropertyChange( PROP_DIRTY );
+
+    }
+
+    public void doSaveAs() {
+        // TODO Implement this.
+    }
+
+    public void init(IEditorSite site,
+                     IEditorInput editorInput) throws PartInitException {
+        FileEditorInput input = (FileEditorInput) editorInput;
+        setSite( site );
+        setInput( editorInput );
+        setVisibleName( input );
+
+        try {
+            InputStream stream = input.getFile().getContents();
+            model = new NLGrammarModel();
+            DSLMappingFile file = new DSLMappingFile();
+            file.parseAndLoad( new InputStreamReader( stream ) );
+            model.addEntries( file.getMapping().getEntries() );
+            stream.close();
+
+        } catch ( CoreException e ) {
+            throw new IllegalStateException( "Unable to load DSL configuration file. (CoreException: " + e.getMessage() + ")" );
+        } catch ( IOException e ) {
+            throw new IllegalStateException( "Unabel to close stream fo DSL config file. (IOException: " + e.getMessage() + ")" );
+        }
+
+    }
+
+    private void setVisibleName(FileEditorInput input) {
+        setPartName( input.getFile().getName() );
+        setContentDescription( "Editing Domain specific language: [" + input.getFile().getFullPath().toString() + "]" );
+    }
+
+    public boolean isDirty() {
+        return dirty;
+    }
+
+    /**
+     * Sets the dirty flag, and notifies the workbench.
+     */
+    void makeDirty() {
+        dirty = true;
+        firePropertyChange( PROP_DIRTY );
+    }
+
+    /**
+     * The method sorts th e
+     *
+     */
+    public void sortModel() {
+        if ( sortCombo.getSelectionIndex() == DSLMappingSorter.EXPRESSION ) {
+            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.EXPRESSION ) );
+        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.OBJECT ) {
+            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.OBJECT ) );
+        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.SCOPE ) {
+            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.SCOPE ) );
+        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.MAPPING ) {
+            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.MAPPING ) );
+        }
+    }
+
+    public boolean isSaveAsAllowed() {
+        // TODO implement SaveAs
+        return false;
+    }
+
+    public void createPartControl(Composite parent) {
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_BOTH );
+        parent.setLayoutData( gridData );
+
+        // Set numColumns to 3 in the overall grid
+        GridLayout layout = new GridLayout( 3,
+                                            false );
+        layout.marginWidth = 4;
+        parent.setLayout( layout );
+
+        //create the overall desc field (comments).
+        createDescriptionField( parent );
+
+        // create the table
+        createTable( parent );
+
+        // Create and setup the TableViewer
+        createTableViewer();
+
+        //set up the table "binding" with the model
+        tableViewer.setContentProvider( new DSLContentProvider( tableViewer,
+                                                                model ) );
+        tableViewer.setLabelProvider( new DSLLabelProvider() );
+        refreshModel();
+
+        //setup the fields below the table
+        createExpressionViewField( parent );
+        createEditButton( parent );
+        createMappingViewField( parent );
+        createDeleteButton( parent );
+        createObjectViewField( parent );
+        createAddButton( parent );
+        createSortField( parent );
+        createSortButton( parent );
+        createCopyButton( parent );
+
+        //listeners on the table...
+        createTableListeners();
+
+    }
+
+    /**
+     * Setup table listeners for GUI events.
+     */
+    private void createTableListeners() {
+
+        //setup views into current selected
+        table.addSelectionListener( new SelectionListener() {
+
+            public void widgetSelected(SelectionEvent e) {
+                populate();
+            }
+
+            public void widgetDefaultSelected(SelectionEvent e) {
+                populate();
+            }
+
+            private void populate() {
+                DSLMappingEntry selected = getCurrentSelected();
+                exprText.setText( selected.getMappingKey() );
+                mappingText.setText( selected.getMappingValue() );
+                objText.setText( selected.getMetaData().getMetaData() == null ? "" : selected.getMetaData().getMetaData() );
+            }
+
+        } );
+
+        //double click support
+        table.addMouseListener( new MouseListener() {
+
+            public void mouseDoubleClick(MouseEvent e) {
+                showEditPopup();
+            }
+
+            public void mouseDown(MouseEvent e) {
+            }
+
+            public void mouseUp(MouseEvent e) {
+            }
+
+        } );
+
+    }
+
+    private void createDescriptionField(Composite parent) {
+        Label descLbl = new Label( parent,
+                                   SWT.NONE );
+        descLbl.setText( "Description:" );
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        descLbl.setLayoutData( gridData );
+
+        descriptionText = new Text( parent,
+                                    SWT.BORDER );
+        descriptionText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
+        descriptionText.setText( model.getDescription() == null ? "" : model.getDescription() );
+        descriptionText.addModifyListener( new ModifyListener() {
+
+            public void modifyText(ModifyEvent e) {
+                String text = descriptionText.getText();
+                if ( !text.equals( model.getDescription() ) ) {
+                    model.setDescription( text );
+                    makeDirty();
+                }
+            }
+
+        } );
+    }
+
+    private void createMappingViewField(Composite parent) {
+        Label mapping = new Label( parent,
+                                   SWT.NONE );
+        mapping.setText( "Mapping:" );
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        mapping.setLayoutData( gridData );
+
+        mappingText = new Text( parent,
+                                SWT.BORDER );
+        mappingText.setEditable( false );
+
+        mappingText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
+    }
+
+    private void createExpressionViewField(Composite parent) {
+
+        Label expr = new Label( parent,
+                                SWT.NONE );
+        expr.setText( "Expression:" );
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        expr.setLayoutData( gridData );
+
+        exprText = new Text( parent,
+                             SWT.BORDER );
+        exprText.setEditable( false );
+        gridData = new GridData( GridData.FILL_HORIZONTAL );
+
+        exprText.setLayoutData( gridData );
+
+    }
+
+    private void createObjectViewField(Composite parent) {
+
+        Label obj = new Label( parent,
+                               SWT.NONE );
+        obj.setText( "Object:" );
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        obj.setLayoutData( gridData );
+
+        objText = new Text( parent,
+                            SWT.BORDER );
+        objText.setEditable( false );
+        gridData = new GridData( GridData.FILL_HORIZONTAL );
+
+        objText.setLayoutData( gridData );
+
+    }
+
+    private void createSortField(Composite parent) {
+        Label sort = new Label( parent,
+                                SWT.NONE );
+        sort.setText( "Sort by:" );
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        sort.setLayoutData( gridData );
+
+        sortCombo = new Combo( parent,
+                               SWT.READ_ONLY );
+        sortCombo.add( "Object",
+                       DSLMappingSorter.OBJECT );
+        sortCombo.add( "Language Expression",
+                       DSLMappingSorter.EXPRESSION );
+        sortCombo.add( "Rule Language Mapping",
+                       DSLMappingSorter.MAPPING );
+        sortCombo.add( "Scope",
+                       DSLMappingSorter.SCOPE );
+        gridData = new GridData( GridData.FILL_HORIZONTAL );
+
+        sortCombo.setLayoutData( gridData );
+    }
+
+    /** Refreshes the table do make sure it is up to date with the model. */
+    private void refreshModel() {
+        tableViewer.setInput( model );
+    }
+
+    private void createEditButton(Composite parent) {
+        // Create and configure the "Add" button
+        Button add = new Button( parent,
+                                 SWT.PUSH | SWT.CENTER );
+        add.setText( "Edit" );
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        add.setLayoutData( gridData );
+
+        add.addSelectionListener( new SelectionAdapter() {
+
+            // Add a task to the ExampleTaskList and refresh the view
+            public void widgetSelected(SelectionEvent e) {
+                showEditPopup();
+            }
+
+        } );
+    }
+
+    private void showEditPopup() {
+    	DSLMappingEntry selected = getCurrentSelected();
+    	if (selected != null) {
+	        MappingEditor editor = new MappingEditor( getSite().getShell() );
+	        editor.create();
+	        editor.getShell().setText( "Edit language mapping" );
+	        editor.setTitle( "Edit an existing language mapping item." );
+	        editor.setTitleImage( getTitleImage() );
+	
+	        editor.setNLMappingItem( selected );
+	
+	        editor.open();
+	        if ( !editor.isCancelled() ) {
+	            refreshModel();
+	            makeDirty();
+	        }
+    	}
+    }
+
+    private void createDeleteButton(Composite parent) {
+        // Create and configure the "Add" button
+        Button add = new Button( parent,
+                                 SWT.PUSH | SWT.CENTER );
+        add.setText( "Remove" );
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        add.setLayoutData( gridData );
+        add.addSelectionListener( new SelectionAdapter() {
+            // Add a task to the ExampleTaskList and refresh the view
+            public void widgetSelected(SelectionEvent e) {
+                model.removeEntry( getCurrentSelected() );
+                refreshModel();
+                makeDirty();
+                exprText.setText( "" );
+                mappingText.setText( "" );
+                objText.setText( "" );
+            }
+        } );
+    }
+
+    private void createSortButton(Composite parent) {
+        // Create and configure the "Add" button
+        Button sort = new Button( parent,
+                                  SWT.PUSH | SWT.CENTER );
+        sort.setText( "Sort" );
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        sort.setLayoutData( gridData );
+        sort.addSelectionListener( new SelectionAdapter() {
+            // Add a task to the ExampleTaskList and refresh the view
+            public void widgetSelected(SelectionEvent e) {
+                sortModel();
+                refreshModel();
+                makeDirty();
+            }
+
+        } );
+    }
+
+    /**
+     * Return the selected item from the table grid thingy.
+     */
+    private DSLMappingEntry getCurrentSelected() {
+        return (DSLMappingEntry) ((IStructuredSelection) tableViewer.getSelection()).getFirstElement();
+    }
+
+    private void createAddButton(Composite parent) {
+        // Create and configure the "Add" button
+        Button add = new Button( parent,
+                                 SWT.PUSH | SWT.CENTER );
+        add.setText( "Add" );
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        add.setLayoutData( gridData );
+
+        add.addSelectionListener( new SelectionAdapter() {
+
+            // Add an item, should pop up the editor
+            public void widgetSelected(SelectionEvent e) {
+
+                DSLMappingEntry newItem = new DefaultDSLMappingEntry();
+
+                MappingEditor editor = new MappingEditor( getSite().getShell() );//shell);
+                editor.create();
+                editor.getShell().setText( "New language mapping" );
+                editor.setTitle( "Create a new language element mapping." );
+                editor.setTitleImage( getTitleImage() );
+
+                editor.setNLMappingItem( newItem );
+
+                editor.open();
+                if ( !editor.isCancelled() ) {
+                    model.addEntry( newItem );
+                    refreshModel();
+                    makeDirty();
+                }
+
+            }
+        } );
+    }
+
+    private void createCopyButton(Composite parent) {
+        // Create and configure the "Add" button
+        Button copy = new Button( parent,
+                                  SWT.PUSH | SWT.CENTER );
+        copy.setText( "Copy" );
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        copy.setLayoutData( gridData );
+
+        copy.addSelectionListener( new SelectionAdapter() {
+
+            // Add an item, should pop up the editor
+            public void widgetSelected(SelectionEvent e) {
+
+                DSLMappingEntry curr = getCurrentSelected();
+                if (curr != null) {
+	                DSLMappingEntry newItem = new DefaultDSLMappingEntry( curr.getSection(),
+	                                                                      curr.getMetaData(),
+	                                                                      curr.getMappingKey(),
+	                                                                      curr.getMappingValue() );
+	
+	                MappingEditor editor = new MappingEditor( getSite().getShell() );//shell);
+	                editor.create();
+	                editor.getShell().setText( "New language mapping" );
+	                editor.setTitle( "Create a new language element mapping from a copy." );
+	                editor.setTitleImage( getTitleImage() );
+	
+	                editor.setNLMappingItem( newItem );
+	
+	                editor.open();
+	                if ( !editor.isCancelled() ) {
+	                    model.addEntry( newItem );
+	                    refreshModel();
+	                    makeDirty();
+	                }
+                }
+            }
+        } );
+    }
+
+    /**
+     * Create the viewer.
+     */
+    private void createTableViewer() {
+        tableViewer = new TableViewer( table );
+        tableViewer.setUseHashlookup( true );
+        //following is if we want default sorting... my thought is no...
+    }
+
+    /**
+     * Create the Table
+     */
+    private void createTable(Composite parent) {
+        int style = SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
+
+        table = new Table( parent,
+                           style );
+
+        GridData gridData = new GridData( GridData.FILL_BOTH );
+        gridData.grabExcessVerticalSpace = true;
+        gridData.horizontalSpan = 3;
+        table.setLayoutData( gridData );
+
+        table.setLinesVisible( true );
+        table.setHeaderVisible( true );
+
+        TableColumn column;
+
+        //Expression col
+        column = new TableColumn( table,
+                                  SWT.LEFT,
+                                  0 );
+        column.setText( "Language Expression" );
+        column.setWidth( 350 );
+        // Add listener to column so sorted when clicked 
+        column.addSelectionListener( new SelectionAdapter() {
+
+            public void widgetSelected(SelectionEvent e) {
+                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.EXPRESSION ) );
+            }
+        } );
+
+        // 3rd column with task Owner
+        column = new TableColumn( table,
+                                  SWT.LEFT,
+                                  1 );
+        column.setText( "Rule Language Mapping" );
+        column.setWidth( 200 );
+        // Add listener to column so sorted when clicked
+        column.addSelectionListener( new SelectionAdapter() {
+
+            public void widgetSelected(SelectionEvent e) {
+                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.MAPPING ) );
+            }
+        } );
+
+        // 4th column with task PercentComplete 
+        column = new TableColumn( table,
+                                  SWT.LEFT,
+                                  2 );
+        column.setText( "Object" );
+        column.setWidth( 80 );
+
+        // 5th column with task PercentComplete 
+        column = new TableColumn( table,
+                                  SWT.LEFT,
+                                  3 );
+        column.setText( "Scope" );
+        column.setWidth( 80 );
+
+        //  Add listener to column so tasks are sorted when clicked
+        column.addSelectionListener( new SelectionAdapter() {
+
+            public void widgetSelected(SelectionEvent e) {
+                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.SCOPE ) );
+            }
+        } );
+
+    }
+
+    public void setFocus() {
+    }
+
+    public void dispose() {
+        super.dispose();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,46 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Provides visible part of the DSL editor table.
- * 
- * @author Michael Neale
- *
- */
-public class DSLLabelProvider extends LabelProvider
-    implements
-    ITableLabelProvider {
-
-    public Image getColumnImage(Object element,
-                                int columnIndex) {
-        return null;
-    }
-
-    public String getColumnText(Object element,
-                                int columnIndex) {
-        String result = "";
-        DSLMappingEntry item = (DSLMappingEntry) element;
-        switch (columnIndex) {
-            case 0:  
-                result = item.getMappingKey();
-                break;
-            case 1 :
-                result = item.getMappingValue();
-                break;
-            case 2 :
-            	result = item.getMetaData().getMetaData();
-            	break;
-            case 3 :
-                result = item.getSection().getSymbol();
-                break;
-            default :
-                break;  
-        }
-        return result;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,46 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * Provides visible part of the DSL editor table.
+ * 
+ * @author Michael Neale
+ *
+ */
+public class DSLLabelProvider extends LabelProvider
+    implements
+    ITableLabelProvider {
+
+    public Image getColumnImage(Object element,
+                                int columnIndex) {
+        return null;
+    }
+
+    public String getColumnText(Object element,
+                                int columnIndex) {
+        String result = "";
+        DSLMappingEntry item = (DSLMappingEntry) element;
+        switch (columnIndex) {
+            case 0:  
+                result = item.getMappingKey();
+                break;
+            case 1 :
+                result = item.getMappingValue();
+                break;
+            case 2 :
+            	result = item.getMetaData().getMetaData();
+            	break;
+            case 3 :
+                result = item.getSection().getSymbol();
+                break;
+            default :
+                break;  
+        }
+        return result;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,82 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/** 
- * Provides sorting for the natural language table viewer.
- * @author Michael Neale
- */
-public class DSLMappingSorter extends ViewerSorter {
-
-	public final static int OBJECT = 0;
-	public final static int EXPRESSION = 1;
-	public final static int MAPPING = 2;
-	public final static int SCOPE = 3;
-
-	// Criteria that the instance uses 
-	private int criteria;
-
-	/**
-	 * Creates a resource sorter that will use the given sort criteria.
-	 *
-	 * @param criteria the sort criterion to use: one of <code>NAME</code> or 
-	 *   <code>TYPE</code>
-	 */
-	public DSLMappingSorter(int criteria) {
-		super();
-		this.criteria = criteria;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on ViewerSorter.
-	 */
-	public int compare(Viewer viewer, Object o1, Object o2) {
-
-        DSLMappingEntry item1 = (DSLMappingEntry) o1;
-        DSLMappingEntry item2 = (DSLMappingEntry) o2;
-
-		switch (criteria) {
-			case OBJECT:
-				return compareObject(item1, item2);
-			case EXPRESSION :
-				return compareExpressions(item1, item2);
-			case MAPPING :
-				return compareMappings(item1, item2);
-			case SCOPE :
-				return compareScope(item1, item2);
-			default:
-				return 0;
-		}
-	}
-
-	
-
-	private int compareScope(DSLMappingEntry item1,
-                             DSLMappingEntry item2) {
-        return item1.getSection().compareTo( item2.getSection() );
-    }
-
-    private int compareMappings(DSLMappingEntry item1,
-                                DSLMappingEntry item2) {
-        return item1.getMappingValue().compareTo( item2.getMappingValue() );
-    }
-
-    private int compareExpressions(DSLMappingEntry item1,
-                                   DSLMappingEntry item2) {
-        return item1.getMappingKey().compareTo( item2.getMappingKey() );
-    }
-
-    private int compareObject(DSLMappingEntry item1, 
-                              DSLMappingEntry item2) {
-		return item1.getMetaData().compareTo(item2.getMetaData());
-	}
-    
-    /**
-	 * @return the sort criterion
-	 */
-	public int getCriteria() {
-		return criteria;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,82 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerSorter;
+
+/** 
+ * Provides sorting for the natural language table viewer.
+ * @author Michael Neale
+ */
+public class DSLMappingSorter extends ViewerSorter {
+
+	public final static int OBJECT = 0;
+	public final static int EXPRESSION = 1;
+	public final static int MAPPING = 2;
+	public final static int SCOPE = 3;
+
+	// Criteria that the instance uses 
+	private int criteria;
+
+	/**
+	 * Creates a resource sorter that will use the given sort criteria.
+	 *
+	 * @param criteria the sort criterion to use: one of <code>NAME</code> or 
+	 *   <code>TYPE</code>
+	 */
+	public DSLMappingSorter(int criteria) {
+		super();
+		this.criteria = criteria;
+	}
+
+	/* (non-Javadoc)
+	 * Method declared on ViewerSorter.
+	 */
+	public int compare(Viewer viewer, Object o1, Object o2) {
+
+        DSLMappingEntry item1 = (DSLMappingEntry) o1;
+        DSLMappingEntry item2 = (DSLMappingEntry) o2;
+
+		switch (criteria) {
+			case OBJECT:
+				return compareObject(item1, item2);
+			case EXPRESSION :
+				return compareExpressions(item1, item2);
+			case MAPPING :
+				return compareMappings(item1, item2);
+			case SCOPE :
+				return compareScope(item1, item2);
+			default:
+				return 0;
+		}
+	}
+
+	
+
+	private int compareScope(DSLMappingEntry item1,
+                             DSLMappingEntry item2) {
+        return item1.getSection().compareTo( item2.getSection() );
+    }
+
+    private int compareMappings(DSLMappingEntry item1,
+                                DSLMappingEntry item2) {
+        return item1.getMappingValue().compareTo( item2.getMappingValue() );
+    }
+
+    private int compareExpressions(DSLMappingEntry item1,
+                                   DSLMappingEntry item2) {
+        return item1.getMappingKey().compareTo( item2.getMappingKey() );
+    }
+
+    private int compareObject(DSLMappingEntry item1, 
+                              DSLMappingEntry item2) {
+		return item1.getMetaData().compareTo(item2.getMetaData());
+	}
+    
+    /**
+	 * @return the sort criterion
+	 */
+	public int getCriteria() {
+		return criteria;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.ui.part.FileEditorInput;
-
-public class DSLRuleEditor extends DRLRuleEditor {
-
-    protected DSLAdapter dslAdapter;
-
-	public DSLAdapter getDSLAdapter() {
-		if (dslAdapter == null) {
-			try {
-				String content = getSourceViewer().getDocument().get();
-				dslAdapter = new DSLAdapter(content, ((FileEditorInput) getEditorInput()).getFile());
-				if (!dslAdapter.isValid()) {
-					dslAdapter = null;
-				}
-			} catch (CoreException exc) {
-				dslAdapter = null;
-			}
-		}
-		return dslAdapter;
-	}
-
-	protected SourceViewerConfiguration createSourceViewerConfiguration() {
-		return new DSLRuleSourceViewerConfig(this); 
-	}
-
-	public void doSave(IProgressMonitor monitor) {
-		super.doSave(monitor);
-		// remove cached content
-		dslAdapter = null;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.text.source.SourceViewerConfiguration;
+import org.eclipse.ui.part.FileEditorInput;
+
+public class DSLRuleEditor extends DRLRuleEditor {
+
+    protected DSLAdapter dslAdapter;
+
+	public DSLAdapter getDSLAdapter() {
+		if (dslAdapter == null) {
+			try {
+				String content = getSourceViewer().getDocument().get();
+				dslAdapter = new DSLAdapter(content, ((FileEditorInput) getEditorInput()).getFile());
+				if (!dslAdapter.isValid()) {
+					dslAdapter = null;
+				}
+			} catch (CoreException exc) {
+				dslAdapter = null;
+			}
+		}
+		return dslAdapter;
+	}
+
+	protected SourceViewerConfiguration createSourceViewerConfiguration() {
+		return new DSLRuleSourceViewerConfig(this); 
+	}
+
+	public void doSave(IProgressMonitor monitor) {
+		super.doSave(monitor);
+		// remove cached content
+		dslAdapter = null;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,118 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import java.io.Reader;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.lang.dsl.DSLMappingFile;
-import org.drools.lang.dsl.DefaultExpander;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.editor.FormEditor;
-
-/**
- * Editor for rules using a domain-specific language.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DSLRuleEditor2 extends FormEditor {
-
-	private DSLRuleEditor dslRuleEditor;
-	private DSLtoDRLRuleViewer drlRuleViewer;
-
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		super.init(site, input);
-		setPartName(input.getName());
-	}
-
-	protected void addPages() {
-		try {
-			dslRuleEditor = new DSLRuleEditor() {
-				public void close(boolean save) {
-					super.close(save);
-					DSLRuleEditor2.this.close(save);
-				}
-				protected void setPartName(String partName) {
-					super.setPartName(partName);
-					DSLRuleEditor2.this.setPartName(partName);
-				}
-			};
-			int text = addPage(dslRuleEditor, getEditorInput());
-			setPageText(text, "Text Editor");
-			drlRuleViewer = new DSLtoDRLRuleViewer(dslRuleEditor);
-			text = addPage(drlRuleViewer, getEditorInput());
-			setPageText(text, "DRL Viewer");
-		} catch (PartInitException e) {
-			DroolsEclipsePlugin.log(e);
-		}
-	}
-
-	public void doSave(IProgressMonitor monitor) {
-		dslRuleEditor.doSave(monitor);
-		setInput(getEditorInput());
-	}
-
-	public void doSaveAs() {
-		dslRuleEditor.doSaveAs();
-	}
-
-	public boolean isSaveAsAllowed() {
-		return dslRuleEditor.isSaveAsAllowed();
-	}
-
-	public Object getAdapter(Class adapter) {
-		return dslRuleEditor.getAdapter(adapter);
-	}
-
-	public void setFocus() {
-		if (getActivePage() == 1) {
-			// check if translation does succeed
-			try {
-		        DefaultExpander expander = new DefaultExpander();
-		        String content = dslRuleEditor.getContent();
-	        	Reader reader = DSLAdapter.getDSLContent(content, dslRuleEditor.getResource());
-	        	if (reader == null) {
-	        		throw new IllegalArgumentException("Could not find dsl definition.");
-	        	}
-	            DSLMappingFile mapping = new DSLMappingFile();
-	            mapping.parseAndLoad(reader);
-	            reader.close();
-	            expander.addDSLMapping(mapping.getMapping());
-	            expander.expand(content);
-	            // if translation succeeds, change to drl viewer
-				drlRuleViewer.setInput(getEditorInput());
-	        } catch (Throwable t) {
-	        	// if translation fails, show error and go to first page
-	        	handleError(t);
-	        	setActivePage(0);
-	        }
-		}
-		super.setFocus();
-	}
-
-    private void handleError(Throwable t) {
-        DroolsEclipsePlugin.log( t );
-        Throwable cause = t.getCause();
-        if ( cause == null ) {
-            cause = t;
-        }
-        String message = cause.getClass().getName()+": "+cause.getMessage();
-        if ( message == null || message.length() == 0 ) {
-            message = "Uncategorized Error!";
-        }
-        IStatus status = new Status( IStatus.ERROR,
-                                     DroolsEclipsePlugin.getUniqueIdentifier(),
-                                     -1,
-                                     message,
-                                     null);
-        ErrorDialog.openError( getSite().getShell(),
-                               "DSL Rule Translation Error!",
-                               "DSL Rule Translation Error!",
-                               status );
-
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,118 @@
+package org.drools.eclipse.dsl.editor;
+
+import java.io.Reader;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.lang.dsl.DSLMappingFile;
+import org.drools.lang.dsl.DefaultExpander;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.forms.editor.FormEditor;
+
+/**
+ * Editor for rules using a domain-specific language.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DSLRuleEditor2 extends FormEditor {
+
+	private DSLRuleEditor dslRuleEditor;
+	private DSLtoDRLRuleViewer drlRuleViewer;
+
+	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
+		super.init(site, input);
+		setPartName(input.getName());
+	}
+
+	protected void addPages() {
+		try {
+			dslRuleEditor = new DSLRuleEditor() {
+				public void close(boolean save) {
+					super.close(save);
+					DSLRuleEditor2.this.close(save);
+				}
+				protected void setPartName(String partName) {
+					super.setPartName(partName);
+					DSLRuleEditor2.this.setPartName(partName);
+				}
+			};
+			int text = addPage(dslRuleEditor, getEditorInput());
+			setPageText(text, "Text Editor");
+			drlRuleViewer = new DSLtoDRLRuleViewer(dslRuleEditor);
+			text = addPage(drlRuleViewer, getEditorInput());
+			setPageText(text, "DRL Viewer");
+		} catch (PartInitException e) {
+			DroolsEclipsePlugin.log(e);
+		}
+	}
+
+	public void doSave(IProgressMonitor monitor) {
+		dslRuleEditor.doSave(monitor);
+		setInput(getEditorInput());
+	}
+
+	public void doSaveAs() {
+		dslRuleEditor.doSaveAs();
+	}
+
+	public boolean isSaveAsAllowed() {
+		return dslRuleEditor.isSaveAsAllowed();
+	}
+
+	public Object getAdapter(Class adapter) {
+		return dslRuleEditor.getAdapter(adapter);
+	}
+
+	public void setFocus() {
+		if (getActivePage() == 1) {
+			// check if translation does succeed
+			try {
+		        DefaultExpander expander = new DefaultExpander();
+		        String content = dslRuleEditor.getContent();
+	        	Reader reader = DSLAdapter.getDSLContent(content, dslRuleEditor.getResource());
+	        	if (reader == null) {
+	        		throw new IllegalArgumentException("Could not find dsl definition.");
+	        	}
+	            DSLMappingFile mapping = new DSLMappingFile();
+	            mapping.parseAndLoad(reader);
+	            reader.close();
+	            expander.addDSLMapping(mapping.getMapping());
+	            expander.expand(content);
+	            // if translation succeeds, change to drl viewer
+				drlRuleViewer.setInput(getEditorInput());
+	        } catch (Throwable t) {
+	        	// if translation fails, show error and go to first page
+	        	handleError(t);
+	        	setActivePage(0);
+	        }
+		}
+		super.setFocus();
+	}
+
+    private void handleError(Throwable t) {
+        DroolsEclipsePlugin.log( t );
+        Throwable cause = t.getCause();
+        if ( cause == null ) {
+            cause = t;
+        }
+        String message = cause.getClass().getName()+": "+cause.getMessage();
+        if ( message == null || message.length() == 0 ) {
+            message = "Uncategorized Error!";
+        }
+        IStatus status = new Status( IStatus.ERROR,
+                                     DroolsEclipsePlugin.getUniqueIdentifier(),
+                                     -1,
+                                     message,
+                                     null);
+        ErrorDialog.openError( getSite().getShell(),
+                               "DSL Rule Translation Error!",
+                               "DSL Rule Translation Error!",
+                               status );
+
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,38 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.eclipse.dsl.editor.completion.DSLRuleCompletionProcessor;
-import org.drools.eclipse.editors.DRLSourceViewerConfig;
-import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.source.ISourceViewer;
-
-/**
- * Source viewer config wires up the syntax highlighting, partitioning
- * and content assistance.
- * 
- * @author Michael Neale
- *
- */
-public class DSLRuleSourceViewerConfig extends DRLSourceViewerConfig {
-
-	public DSLRuleSourceViewerConfig(DSLRuleEditor editor) {
-		super(editor);
-	}
-
-	/**
-	 * Get the appropriate content assistance, for each partition.
-	 */
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-		ContentAssistant assistant = new ContentAssistant();
-		assistant.setContentAssistProcessor(
-			new DefaultCompletionProcessor(getEditor()), IDocument.DEFAULT_CONTENT_TYPE);
-		assistant.setContentAssistProcessor(
-			new DSLRuleCompletionProcessor(getEditor()), DRLPartionScanner.RULE_PART_CONTENT);
-		assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-		assistant.setAutoActivationDelay(0);
-		return assistant;
-	}
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,38 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.eclipse.dsl.editor.completion.DSLRuleCompletionProcessor;
+import org.drools.eclipse.editors.DRLSourceViewerConfig;
+import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.source.ISourceViewer;
+
+/**
+ * Source viewer config wires up the syntax highlighting, partitioning
+ * and content assistance.
+ * 
+ * @author Michael Neale
+ *
+ */
+public class DSLRuleSourceViewerConfig extends DRLSourceViewerConfig {
+
+	public DSLRuleSourceViewerConfig(DSLRuleEditor editor) {
+		super(editor);
+	}
+
+	/**
+	 * Get the appropriate content assistance, for each partition.
+	 */
+	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+		ContentAssistant assistant = new ContentAssistant();
+		assistant.setContentAssistProcessor(
+			new DefaultCompletionProcessor(getEditor()), IDocument.DEFAULT_CONTENT_TYPE);
+		assistant.setContentAssistProcessor(
+			new DSLRuleCompletionProcessor(getEditor()), DRLPartionScanner.RULE_PART_CONTENT);
+		assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+		assistant.setAutoActivationDelay(0);
+		return assistant;
+	}
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,34 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import java.io.Reader;
-
-import org.drools.lang.dsl.DSLMappingFile;
-import org.drools.lang.dsl.DefaultExpander;
-import org.eclipse.jface.text.IDocument;
-
-public class DSLtoDRLDocument extends TransformedDocument {
-
-	private DSLtoDRLRuleViewer viewer;
-	
-	public DSLtoDRLDocument(IDocument dslDocument, DSLtoDRLRuleViewer viewer) {
-		super(dslDocument);
-		this.viewer = viewer;
-	}
-	
-	protected String transformInput(String content) {
-        DefaultExpander expander = new DefaultExpander();
-        try {
-        	Reader reader = DSLAdapter.getDSLContent(content, viewer.getResource());
-            DSLMappingFile mapping = new DSLMappingFile();
-            mapping.parseAndLoad(reader);
-            reader.close();
-            expander.addDSLMapping(mapping.getMapping());
-            return expander.expand(content);
-        } catch (Throwable t) {
-        	//viewer.handleError(t);
-        	return content;
-        }
-
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,34 @@
+package org.drools.eclipse.dsl.editor;
+
+import java.io.Reader;
+
+import org.drools.lang.dsl.DSLMappingFile;
+import org.drools.lang.dsl.DefaultExpander;
+import org.eclipse.jface.text.IDocument;
+
+public class DSLtoDRLDocument extends TransformedDocument {
+
+	private DSLtoDRLRuleViewer viewer;
+	
+	public DSLtoDRLDocument(IDocument dslDocument, DSLtoDRLRuleViewer viewer) {
+		super(dslDocument);
+		this.viewer = viewer;
+	}
+	
+	protected String transformInput(String content) {
+        DefaultExpander expander = new DefaultExpander();
+        try {
+        	Reader reader = DSLAdapter.getDSLContent(content, viewer.getResource());
+            DSLMappingFile mapping = new DSLMappingFile();
+            mapping.parseAndLoad(reader);
+            reader.close();
+            expander.addDSLMapping(mapping.getMapping());
+            return expander.expand(content);
+        } catch (Throwable t) {
+        	//viewer.handleError(t);
+        	return content;
+        }
+
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,27 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.eclipse.editors.DRLDocumentProvider;
-import org.eclipse.jface.text.IDocument;
-
-public class DSLtoDRLDocumentProvider extends DRLDocumentProvider {
-
-	private DSLtoDRLRuleViewer drlViewer;
-	private IDocument document;
-	
-	public DSLtoDRLDocumentProvider(DSLtoDRLRuleViewer drlViewer) {
-		this.drlViewer = drlViewer;
-	}
-	
-	public IDocument getDocument(Object element) {
-		if (document == null) {
-			IDocument superDocument = super.getDocument(element);
-			document = new DSLtoDRLDocument(superDocument, drlViewer);
-		}
-		return document;
-    }
-	
-	public boolean isModifiable(Object element) {
-		return false;
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,27 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.eclipse.editors.DRLDocumentProvider;
+import org.eclipse.jface.text.IDocument;
+
+public class DSLtoDRLDocumentProvider extends DRLDocumentProvider {
+
+	private DSLtoDRLRuleViewer drlViewer;
+	private IDocument document;
+	
+	public DSLtoDRLDocumentProvider(DSLtoDRLRuleViewer drlViewer) {
+		this.drlViewer = drlViewer;
+	}
+	
+	public IDocument getDocument(Object element) {
+		if (document == null) {
+			IDocument superDocument = super.getDocument(element);
+			document = new DSLtoDRLDocument(superDocument, drlViewer);
+		}
+		return document;
+    }
+	
+	public boolean isModifiable(Object element) {
+		return false;
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,43 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-public class DSLtoDRLRuleViewer extends AbstractRuleEditor {
-	
-	private DSLRuleEditor dslRuleEditor;
-
-	public DSLtoDRLRuleViewer(DSLRuleEditor dslRuleEditor) {
-		this.dslRuleEditor = dslRuleEditor;
-	}
-	
-    protected IDocumentProvider createDocumentProvider() {
-    	return new DSLtoDRLDocumentProvider(this);
-    }
-    
-    public String getDSLRuleContent() {
-    	return dslRuleEditor.getContent();
-    }
-
-	public void handleError(Throwable t) {
-		DroolsEclipsePlugin.log(t);
-		Throwable cause = t.getCause();
-		if (cause == null) {
-			cause = t;
-		}
-		String message = cause.getClass().getName() + ": " + cause.getMessage();
-		if (message == null || message.length() == 0) {
-			message = "Uncategorized Error!";
-		}
-		IStatus status = new Status(IStatus.ERROR, DroolsEclipsePlugin
-				.getUniqueIdentifier(), -1, message, null);
-		ErrorDialog.openError(getSite().getShell(),
-				"DSL Rule Translation Error!", "DSL Rule Translation Error!",
-				status);
-
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,43 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.ui.texteditor.IDocumentProvider;
+
+public class DSLtoDRLRuleViewer extends AbstractRuleEditor {
+	
+	private DSLRuleEditor dslRuleEditor;
+
+	public DSLtoDRLRuleViewer(DSLRuleEditor dslRuleEditor) {
+		this.dslRuleEditor = dslRuleEditor;
+	}
+	
+    protected IDocumentProvider createDocumentProvider() {
+    	return new DSLtoDRLDocumentProvider(this);
+    }
+    
+    public String getDSLRuleContent() {
+    	return dslRuleEditor.getContent();
+    }
+
+	public void handleError(Throwable t) {
+		DroolsEclipsePlugin.log(t);
+		Throwable cause = t.getCause();
+		if (cause == null) {
+			cause = t;
+		}
+		String message = cause.getClass().getName() + ": " + cause.getMessage();
+		if (message == null || message.length() == 0) {
+			message = "Uncategorized Error!";
+		}
+		IStatus status = new Status(IStatus.ERROR, DroolsEclipsePlugin
+				.getUniqueIdentifier(), -1, message, null);
+		ErrorDialog.openError(getSite().getShell(),
+				"DSL Rule Translation Error!", "DSL Rule Translation Error!",
+				status);
+
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.lang.dsl.DSLMappingEntry;
-
-/**
- * Used to keep the view up to date with changes in mappings.
- * 
- * @author Michael Neale
- */
-public interface IMappingListViewer {
-
-    public void addMapping(DSLMappingEntry item);
-    
-    public void removeMapping(DSLMappingEntry item);
-    
-    public void updateMapping(DSLMappingEntry item);
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.lang.dsl.DSLMappingEntry;
+
+/**
+ * Used to keep the view up to date with changes in mappings.
+ * 
+ * @author Michael Neale
+ */
+public interface IMappingListViewer {
+
+    public void addMapping(DSLMappingEntry item);
+    
+    public void removeMapping(DSLMappingEntry item);
+    
+    public void updateMapping(DSLMappingEntry item);
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,221 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.drools.lang.dsl.DSLMappingEntry.Section;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * This provides an editor for mapping language mappings.
- * This is preferable to in place editing, as it fits the usage pattern of read lots,
- * edit little.
- * 
- * This is a simple popup modal dialog.
- * 
- * @author Michael Neale
- */
-public class MappingEditor extends TitleAreaDialog {
-
-    private static final int       SCOPE_KEYWORD = 0;
-    private static final int       SCOPE_WHEN    = 1;
-    private static final int       SCOPE_THEN    = 2;
-    private static final int       SCOPE_ALL     = 3;
-    
-    private static final String    SCOPE_STR_KEYWORD = "keyword"; 
-    private static final String    SCOPE_STR_WHEN = "condition"; 
-    private static final String    SCOPE_STR_THEN = "consequence"; 
-    private static final String    SCOPE_STR_ALL  = "*"; 
-
-    private Text                   exprText;
-    private Text                   mappingText;
-    private Text                   objText;
-    private Combo                  scopeCombo;
-    private boolean                cancelled;
-
-    private DSLMappingEntry model;
-
-    protected MappingEditor(Shell parent) {
-        super( parent );
-    }
-
-    /**
-     * Pass in a NLMapping item for display/edits.
-     * Changes will be applied to this object only if the user clicks OK.
-     */
-    public void setNLMappingItem(DSLMappingEntry item) {
-        model = item;
-        setSection( model.getSection() );
-        exprText.setText( model.getMappingKey() == null ? "" : model.getMappingKey() );
-        mappingText.setText( model.getMappingValue() == null ? "" : model.getMappingValue() );
-        objText.setText( model.getMetaData().getMetaData() == null ? "" : model.getMetaData().getMetaData() );
-    }
-
-    private void setSection(Section section) {
-        if ( section == DSLMappingEntry.CONDITION ) {
-            scopeCombo.select( SCOPE_WHEN );
-        } else if ( section == DSLMappingEntry.CONSEQUENCE ) {
-            scopeCombo.select( SCOPE_THEN );
-        } else if ( section == DSLMappingEntry.ANY ) {
-            scopeCombo.select( SCOPE_ALL );
-        } else if ( section == DSLMappingEntry.KEYWORD ) {
-            scopeCombo.select( SCOPE_KEYWORD );
-        } else {
-            throw new IllegalArgumentException( "Unknown scope type: " + section );
-        }
-    }
-
-    private Section getSection(String sectionStr) {
-        DSLMappingEntry.Section section = DSLMappingEntry.ANY;
-        if ( SCOPE_STR_KEYWORD.equals( sectionStr ) ) {
-            section = DSLMappingEntry.KEYWORD;
-        } else if ( SCOPE_STR_WHEN.equals( sectionStr ) ) {
-            section = DSLMappingEntry.CONDITION;
-        } else if ( SCOPE_STR_THEN.equals( sectionStr ) ) {
-            section = DSLMappingEntry.CONSEQUENCE;
-        }
-        return section;
-    }
-
-    protected void cancelPressed() {
-        this.cancelled = true;
-        super.cancelPressed();
-    }
-
-    protected void okPressed() {
-        this.cancelled = false;
-        this.model.setMappingKey( this.exprText.getText() );
-        this.model.setMappingValue( this.mappingText.getText() );
-        this.model.setSection( this.getSection( this.scopeCombo.getText() ) );
-        this.model.setMetaData( new DSLMappingEntry.DefaultDSLEntryMetaData( this.objText.getText() ) );
-        super.okPressed();
-    }
-
-    /** This will tell if the user cancelled the edit */
-    public boolean isCancelled() {
-        return cancelled;
-    }
-
-    protected Control createDialogArea(Composite parent) {
-
-        //set the overall layout
-        GridLayout gridLayout = new GridLayout();
-        gridLayout.marginHeight = 10;
-        gridLayout.verticalSpacing = 10;
-        gridLayout.marginWidth = 10;
-        gridLayout.numColumns = 2;
-        parent.setLayout( gridLayout );
-
-        //setup fields
-        createExpressionField( parent );
-        createMappingField( parent );
-        createObjectField( parent );
-        createScopeField( parent );
-
-        // create the top level composite wrapper
-        Composite composite = new Composite( parent,
-                                             SWT.NONE );
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = 10;
-        layout.marginWidth = 10;
-        layout.verticalSpacing = 10;
-        composite.setLayout( layout );
-        composite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
-        composite.setFont( parent.getFont() );
-
-        return composite;
-    }
-
-    private void createMappingField(Composite parent) {
-        Label mappingLbl = new Label( parent,
-                                      SWT.NONE );
-        mappingLbl.setText( "Rule mapping:" );
-        mappingLbl.setFont( parent.getFont() );
-        mappingLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
-
-        mappingText = new Text( parent,
-                                SWT.BORDER );
-        GridData data = new GridData();
-        data.widthHint = 450;
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        mappingText.setLayoutData( data );
-
-        mappingText.setToolTipText( "Enter the rule language mapping that the \nlanguage item will be translated to." + " Use the named variables (holes) \nthat you specify in the language expression above." );
-
-    }
-
-    private void createExpressionField(Composite parent) {
-        Label exprLbl = new Label( parent,
-                                   SWT.NONE );
-        exprLbl.setText( "Language expression:" );
-        exprLbl.setFont( parent.getFont() );
-        exprLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
-
-        exprText = new Text( parent,
-                             SWT.BORDER );
-        GridData data = new GridData();
-        data.widthHint = 450;
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        exprText.setLayoutData( data );
-        exprText.setToolTipText( "Enter the language expression that you want to use in a rule.\n" + "Use curly brackets to mark 'holes' where the values will be extracted\n" + "from in the rule source. " + "Such as: Person has a name of {name} \n"
-                                 + "This will then parse the rule source to extract the data out of \n" + "the place where {name} would appear." );
-    }
-
-    private void createObjectField(Composite parent) {
-        Label objectLbl = new Label( parent,
-                                     SWT.NONE );
-        objectLbl.setText( "Object:" );
-        objectLbl.setFont( parent.getFont() );
-        objectLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
-
-        objText = new Text( parent,
-                            SWT.BORDER );
-        GridData data = new GridData();
-        data.widthHint = 450;
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        objText.setLayoutData( data );
-
-        objText.setToolTipText( "Enter the name of the object." );
-
-    }
-
-    private void createScopeField(Composite parent) {
-
-        //type
-        Label scopeLbl = new Label( parent,
-                                    SWT.NONE );
-        scopeLbl.setText( "Scope:" );
-        scopeLbl.setFont( parent.getFont() );
-        scopeLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
-
-        scopeCombo = new Combo( parent,
-                                SWT.READ_ONLY );
-
-        scopeCombo.add( SCOPE_STR_KEYWORD,
-                        SCOPE_KEYWORD );
-        scopeCombo.add( SCOPE_STR_WHEN,
-                        SCOPE_WHEN );
-        scopeCombo.add( SCOPE_STR_THEN,
-                        SCOPE_THEN );
-        scopeCombo.add( SCOPE_STR_ALL,
-                        SCOPE_ALL );
-
-        scopeCombo.select( SCOPE_ALL ); //the default
-
-        scopeCombo.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING ) );
-        scopeCombo.setFont( parent.getFont() );
-        scopeCombo.setToolTipText( "This specifies what part of the rule the expression applies. Indicating '*' means global." );
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,221 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingEntry.Section;
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * This provides an editor for mapping language mappings.
+ * This is preferable to in place editing, as it fits the usage pattern of read lots,
+ * edit little.
+ * 
+ * This is a simple popup modal dialog.
+ * 
+ * @author Michael Neale
+ */
+public class MappingEditor extends TitleAreaDialog {
+
+    private static final int       SCOPE_KEYWORD = 0;
+    private static final int       SCOPE_WHEN    = 1;
+    private static final int       SCOPE_THEN    = 2;
+    private static final int       SCOPE_ALL     = 3;
+    
+    private static final String    SCOPE_STR_KEYWORD = "keyword"; 
+    private static final String    SCOPE_STR_WHEN = "condition"; 
+    private static final String    SCOPE_STR_THEN = "consequence"; 
+    private static final String    SCOPE_STR_ALL  = "*"; 
+
+    private Text                   exprText;
+    private Text                   mappingText;
+    private Text                   objText;
+    private Combo                  scopeCombo;
+    private boolean                cancelled;
+
+    private DSLMappingEntry model;
+
+    protected MappingEditor(Shell parent) {
+        super( parent );
+    }
+
+    /**
+     * Pass in a NLMapping item for display/edits.
+     * Changes will be applied to this object only if the user clicks OK.
+     */
+    public void setNLMappingItem(DSLMappingEntry item) {
+        model = item;
+        setSection( model.getSection() );
+        exprText.setText( model.getMappingKey() == null ? "" : model.getMappingKey() );
+        mappingText.setText( model.getMappingValue() == null ? "" : model.getMappingValue() );
+        objText.setText( model.getMetaData().getMetaData() == null ? "" : model.getMetaData().getMetaData() );
+    }
+
+    private void setSection(Section section) {
+        if ( section == DSLMappingEntry.CONDITION ) {
+            scopeCombo.select( SCOPE_WHEN );
+        } else if ( section == DSLMappingEntry.CONSEQUENCE ) {
+            scopeCombo.select( SCOPE_THEN );
+        } else if ( section == DSLMappingEntry.ANY ) {
+            scopeCombo.select( SCOPE_ALL );
+        } else if ( section == DSLMappingEntry.KEYWORD ) {
+            scopeCombo.select( SCOPE_KEYWORD );
+        } else {
+            throw new IllegalArgumentException( "Unknown scope type: " + section );
+        }
+    }
+
+    private Section getSection(String sectionStr) {
+        DSLMappingEntry.Section section = DSLMappingEntry.ANY;
+        if ( SCOPE_STR_KEYWORD.equals( sectionStr ) ) {
+            section = DSLMappingEntry.KEYWORD;
+        } else if ( SCOPE_STR_WHEN.equals( sectionStr ) ) {
+            section = DSLMappingEntry.CONDITION;
+        } else if ( SCOPE_STR_THEN.equals( sectionStr ) ) {
+            section = DSLMappingEntry.CONSEQUENCE;
+        }
+        return section;
+    }
+
+    protected void cancelPressed() {
+        this.cancelled = true;
+        super.cancelPressed();
+    }
+
+    protected void okPressed() {
+        this.cancelled = false;
+        this.model.setMappingKey( this.exprText.getText() );
+        this.model.setMappingValue( this.mappingText.getText() );
+        this.model.setSection( this.getSection( this.scopeCombo.getText() ) );
+        this.model.setMetaData( new DSLMappingEntry.DefaultDSLEntryMetaData( this.objText.getText() ) );
+        super.okPressed();
+    }
+
+    /** This will tell if the user cancelled the edit */
+    public boolean isCancelled() {
+        return cancelled;
+    }
+
+    protected Control createDialogArea(Composite parent) {
+
+        //set the overall layout
+        GridLayout gridLayout = new GridLayout();
+        gridLayout.marginHeight = 10;
+        gridLayout.verticalSpacing = 10;
+        gridLayout.marginWidth = 10;
+        gridLayout.numColumns = 2;
+        parent.setLayout( gridLayout );
+
+        //setup fields
+        createExpressionField( parent );
+        createMappingField( parent );
+        createObjectField( parent );
+        createScopeField( parent );
+
+        // create the top level composite wrapper
+        Composite composite = new Composite( parent,
+                                             SWT.NONE );
+        GridLayout layout = new GridLayout();
+        layout.marginHeight = 10;
+        layout.marginWidth = 10;
+        layout.verticalSpacing = 10;
+        composite.setLayout( layout );
+        composite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
+        composite.setFont( parent.getFont() );
+
+        return composite;
+    }
+
+    private void createMappingField(Composite parent) {
+        Label mappingLbl = new Label( parent,
+                                      SWT.NONE );
+        mappingLbl.setText( "Rule mapping:" );
+        mappingLbl.setFont( parent.getFont() );
+        mappingLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
+
+        mappingText = new Text( parent,
+                                SWT.BORDER );
+        GridData data = new GridData();
+        data.widthHint = 450;
+        data.horizontalAlignment = GridData.FILL;
+        data.grabExcessHorizontalSpace = true;
+        mappingText.setLayoutData( data );
+
+        mappingText.setToolTipText( "Enter the rule language mapping that the \nlanguage item will be translated to." + " Use the named variables (holes) \nthat you specify in the language expression above." );
+
+    }
+
+    private void createExpressionField(Composite parent) {
+        Label exprLbl = new Label( parent,
+                                   SWT.NONE );
+        exprLbl.setText( "Language expression:" );
+        exprLbl.setFont( parent.getFont() );
+        exprLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
+
+        exprText = new Text( parent,
+                             SWT.BORDER );
+        GridData data = new GridData();
+        data.widthHint = 450;
+        data.horizontalAlignment = GridData.FILL;
+        data.grabExcessHorizontalSpace = true;
+        exprText.setLayoutData( data );
+        exprText.setToolTipText( "Enter the language expression that you want to use in a rule.\n" + "Use curly brackets to mark 'holes' where the values will be extracted\n" + "from in the rule source. " + "Such as: Person has a name of {name} \n"
+                                 + "This will then parse the rule source to extract the data out of \n" + "the place where {name} would appear." );
+    }
+
+    private void createObjectField(Composite parent) {
+        Label objectLbl = new Label( parent,
+                                     SWT.NONE );
+        objectLbl.setText( "Object:" );
+        objectLbl.setFont( parent.getFont() );
+        objectLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
+
+        objText = new Text( parent,
+                            SWT.BORDER );
+        GridData data = new GridData();
+        data.widthHint = 450;
+        data.horizontalAlignment = GridData.FILL;
+        data.grabExcessHorizontalSpace = true;
+        objText.setLayoutData( data );
+
+        objText.setToolTipText( "Enter the name of the object." );
+
+    }
+
+    private void createScopeField(Composite parent) {
+
+        //type
+        Label scopeLbl = new Label( parent,
+                                    SWT.NONE );
+        scopeLbl.setText( "Scope:" );
+        scopeLbl.setFont( parent.getFont() );
+        scopeLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
+
+        scopeCombo = new Combo( parent,
+                                SWT.READ_ONLY );
+
+        scopeCombo.add( SCOPE_STR_KEYWORD,
+                        SCOPE_KEYWORD );
+        scopeCombo.add( SCOPE_STR_WHEN,
+                        SCOPE_WHEN );
+        scopeCombo.add( SCOPE_STR_THEN,
+                        SCOPE_THEN );
+        scopeCombo.add( SCOPE_STR_ALL,
+                        SCOPE_ALL );
+
+        scopeCombo.select( SCOPE_ALL ); //the default
+
+        scopeCombo.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING ) );
+        scopeCombo.setFont( parent.getFont() );
+        scopeCombo.setToolTipText( "This specifies what part of the rule the expression applies. Indicating '*' means global." );
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,35 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.drools.lang.dsl.DefaultDSLMapping;
-
-/**
- * This extends the compilers DSL grammar implementation to provide
- * change listener support.
- * 
- * @author Michael Neale
- *
- */
-public class NLGrammarModel extends DefaultDSLMapping {
-    
-    private static final long serialVersionUID = 400L;
-    
-    private Set changeListeners = new HashSet();
-
-    /**
-     * @param viewer
-     */
-    public void removeChangeListener(IMappingListViewer viewer) {
-        changeListeners.remove(viewer);
-    }
-
-    /**
-     * @param viewer
-     */
-    public void addChangeListener(IMappingListViewer viewer) {
-        changeListeners.add(viewer);
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,35 @@
+package org.drools.eclipse.dsl.editor;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.drools.lang.dsl.DefaultDSLMapping;
+
+/**
+ * This extends the compilers DSL grammar implementation to provide
+ * change listener support.
+ * 
+ * @author Michael Neale
+ *
+ */
+public class NLGrammarModel extends DefaultDSLMapping {
+    
+    private static final long serialVersionUID = 400L;
+    
+    private Set changeListeners = new HashSet();
+
+    /**
+     * @param viewer
+     */
+    public void removeChangeListener(IMappingListViewer viewer) {
+        changeListeners.remove(viewer);
+    }
+
+    /**
+     * @param viewer
+     */
+    public void addChangeListener(IMappingListViewer viewer) {
+        changeListeners.add(viewer);
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,93 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.eclipse.jface.text.AbstractDocument;
-import org.eclipse.jface.text.DefaultLineTracker;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.ITextStore;
-
-/**
- * A document that transforms the input of the original document
- * to something else.  Changing something in this document will
- * NOT change the original document (as the transformation is only
- * defined in one way). All changes will also be overridden as soon
- * as the original document changes.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class TransformedDocument extends AbstractDocument {
-	
-	private IDocument parentDocument;
-	private boolean changed = true;
-		
-	public TransformedDocument(IDocument parentDocument) {
-		this.parentDocument = parentDocument;
-		parentDocument.addDocumentListener(new IDocumentListener() {
-			public void documentAboutToBeChanged(DocumentEvent event) {
-				// Do nothing
-			}
-			public void documentChanged(DocumentEvent event) {
-				changed = true;
-			}
-		});
-		setTextStore(new StringTextStore());
-		setLineTracker(new DefaultLineTracker());
-		completeInitialization();
-	}
-	
-	/** 
-	 * Always check that the store is up-to-date.
-	 * All read operations access the store so this method makes sure
-	 * that the document is updated whenever necessary.
-	 */
-	protected ITextStore getStore() {
-		if (changed) {
-			update();
-		}
-		return super.getStore();
-	}
-	
-	private void update() {
-		String translation = transformInput(parentDocument.get());
-		super.getStore().set(translation);
-		getTracker().set(translation);
-		changed = false;
-	}
-	
-	/**
-	 * Transforms the original content of the document.
-	 */
-	protected abstract String transformInput(String content);
-
-	/**
-	 * Default text store.
-	 */
-	private static class StringTextStore implements ITextStore {
-
-		private String fContent;
-
-		public StringTextStore() {
-		}
-
-		public char get(int offset) {
-			return fContent.charAt(offset);
-		}
-
-		public String get(int offset, int length) {
-			return fContent.substring(offset, offset + length);
-		}
-
-		public int getLength() {
-			return fContent.length();
-		}
-
-		public void replace(int offset, int length, String text) {
-		}
-
-		public void set(String text) {
-			this.fContent = text;
-		}
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,93 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.eclipse.jface.text.AbstractDocument;
+import org.eclipse.jface.text.DefaultLineTracker;
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.jface.text.ITextStore;
+
+/**
+ * A document that transforms the input of the original document
+ * to something else.  Changing something in this document will
+ * NOT change the original document (as the transformation is only
+ * defined in one way). All changes will also be overridden as soon
+ * as the original document changes.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class TransformedDocument extends AbstractDocument {
+	
+	private IDocument parentDocument;
+	private boolean changed = true;
+		
+	public TransformedDocument(IDocument parentDocument) {
+		this.parentDocument = parentDocument;
+		parentDocument.addDocumentListener(new IDocumentListener() {
+			public void documentAboutToBeChanged(DocumentEvent event) {
+				// Do nothing
+			}
+			public void documentChanged(DocumentEvent event) {
+				changed = true;
+			}
+		});
+		setTextStore(new StringTextStore());
+		setLineTracker(new DefaultLineTracker());
+		completeInitialization();
+	}
+	
+	/** 
+	 * Always check that the store is up-to-date.
+	 * All read operations access the store so this method makes sure
+	 * that the document is updated whenever necessary.
+	 */
+	protected ITextStore getStore() {
+		if (changed) {
+			update();
+		}
+		return super.getStore();
+	}
+	
+	private void update() {
+		String translation = transformInput(parentDocument.get());
+		super.getStore().set(translation);
+		getTracker().set(translation);
+		changed = false;
+	}
+	
+	/**
+	 * Transforms the original content of the document.
+	 */
+	protected abstract String transformInput(String content);
+
+	/**
+	 * Default text store.
+	 */
+	private static class StringTextStore implements ITextStore {
+
+		private String fContent;
+
+		public StringTextStore() {
+		}
+
+		public char get(int offset) {
+			return fContent.charAt(offset);
+		}
+
+		public String get(int offset, int length) {
+			return fContent.substring(offset, offset + length);
+		}
+
+		public int getLength() {
+			return fContent.length();
+		}
+
+		public void replace(int offset, int length, String text) {
+		}
+
+		public void set(String text) {
+			this.fContent = text;
+		}
+	}
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,168 +0,0 @@
-package org.drools.eclipse.dsl.editor.completion;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.dsl.editor.DSLAdapter;
-import org.drools.eclipse.dsl.editor.DSLRuleEditor;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
-import org.drools.eclipse.editors.completion.RuleCompletionProposal;
-import org.drools.lang.Location;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * For handling DSL rules.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DSLRuleCompletionProcessor extends RuleCompletionProcessor {
-
-	private static final Image DSL_ICON = 
-		DroolsPluginImages.getImage(DroolsPluginImages.DSL_EXPRESSION);
-
-	public DSLRuleCompletionProcessor(AbstractRuleEditor editor) {
-		super(editor);
-	}
-
-    protected DSLRuleEditor getDSLRuleEditor() {
-    	return (DSLRuleEditor) getEditor();
-    }
-    
-	protected void addRHSCompletionProposals(List list, int documentOffset, String prefix, String backText,
-			String conditions, String consequence) {
-		// super.addRHSCompletionProposals(list, documentOffset, prefix, backText, conditions, consequence);
-		DSLAdapter adapter = getDSLRuleEditor().getDSLAdapter();
-		if (adapter != null) {
-			List dslConsequences = adapter.getDSLTree().getConsequenceChildrenList(prefix, true);
-			addDSLProposals(list, documentOffset, prefix, dslConsequences);
-		}
-	}
-	
-	protected void addLHSCompletionProposals(List list, int documentOffset,
-			Location location, String prefix, String backText) {
-		// super.addLHSCompletionProposals(list, documentOffset, location, prefix, backText);
-		DSLAdapter adapter = getDSLRuleEditor().getDSLAdapter();
-		if (adapter != null) {
-			String lastobj = this.getLastNonDashLine(backText);
-			String last = this.getLastLine(backText);
-			// we have to check if the last line is when. if it is we set
-			// the last line to zero length string
-			if (last.equals("when")) {
-				last = "";
-				lastobj = "*";
-			}
-			// pass the last string in the backText to getProposals
-			List dslConditions = this.getProposals(adapter, lastobj, last);
-			// if we couldn't find any matches, we add the list from
-			// the DSLAdapter so that there's something
-			if (dslConditions.size() == 0) {
-				dslConditions.addAll(adapter.listConditionItems());
-			}
-			addDSLProposals(list, documentOffset, prefix, dslConditions);
-		}
-	}
-	
-	private void addDSLProposals(final List list, int documentOffset, final String prefix, List dslItems) {
-		Iterator iterator = dslItems.iterator();
-		while (iterator.hasNext()) {
-			String consequence = (String) iterator.next();
-			RuleCompletionProposal p = new RuleCompletionProposal(
-				documentOffset - prefix.length(), prefix.length(), consequence);
-			p.setImage(DSL_ICON);
-			list.add(p);
-		}
-	}
-
-	/**
-	 * because of how the backText works, we need to get the last line, so that
-	 * we can pass it to the DSLUtility
-	 * 
-	 * @param backText
-	 * @return
-	 */
-	public String getLastLine(String backText) {
-		BufferedReader breader = new BufferedReader(new StringReader(backText));
-		String last = "";
-		String line = null;
-		try {
-			while ((line = breader.readLine()) != null) {
-				// only if the line has text do we set last to it
-				if (line.length() > 0) {
-					last = line;
-				}
-			}
-		} catch (IOException e) {
-			// TODO need to log this.
-			// I'm leaving this for mic_hat, so he has something to do
-		}
-		// now that all the conditions for a single object are on the same line
-		// we need to check for the left parenthesis
-		if (last.indexOf("(") > -1) {
-			last = last.substring(last.lastIndexOf("(") + 1);
-		}
-		// if the string has a comma "," we get the substring starting from
-		// the index after the last comma
-		if (last.indexOf(",") > -1) {
-			last = last.substring(last.lastIndexOf(",") + 1);
-		}
-		// if the line ends with right parenthesis, we change it to zero length
-		// string
-		if (last.endsWith(")")) {
-			last = "";
-		}
-		return last;
-	}
-
-	/**
-	 * Returns the last line that doesn't start with a dash
-	 * 
-	 * @param backText
-	 * @return
-	 */
-	public String getLastNonDashLine(String backText) {
-		BufferedReader breader = new BufferedReader(new StringReader(backText));
-		String last = "";
-		String line = null;
-		try {
-			while ((line = breader.readLine()) != null) {
-				// there may be blank lines, so we trim first
-				line = line.trim();
-				// only if the line has text do we set last to it
-				if (line.length() > 0 && !line.startsWith("-")) {
-					last = line;
-				}
-			}
-		} catch (IOException e) {
-			// TODO need to log this.
-			// I'm leaving this for mic_hat, so he has something to do
-		}
-		if (last.indexOf("(") > -1 && !last.endsWith(")")) {
-			last = last.substring(0, last.indexOf("("));
-		} else if (last.indexOf("(") > -1 && last.endsWith(")")) {
-			last = "";
-		}
-		return last;
-	}
-
-	/**
-	 * The DSLTree is configurable. It can either return just the child of the
-	 * last token found, or it can traverse the tree and generate all the
-	 * combinations beneath the last matching node. TODO I don't know how to add
-	 * configuration to the editor, so it needs to be hooked up to the
-	 * configuration for the editor later.
-	 * 
-	 * @param last
-	 * @return
-	 */
-	protected List getProposals(DSLAdapter adapter, String obj, String last) {
-		if (last.length() == 0) {
-			last = " ";
-		}
-		return adapter.getDSLTree().getChildrenList(obj, last, true);
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,168 @@
+package org.drools.eclipse.dsl.editor.completion;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.dsl.editor.DSLAdapter;
+import org.drools.eclipse.dsl.editor.DSLRuleEditor;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
+import org.drools.eclipse.editors.completion.RuleCompletionProposal;
+import org.drools.lang.Location;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * For handling DSL rules.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DSLRuleCompletionProcessor extends RuleCompletionProcessor {
+
+	private static final Image DSL_ICON = 
+		DroolsPluginImages.getImage(DroolsPluginImages.DSL_EXPRESSION);
+
+	public DSLRuleCompletionProcessor(AbstractRuleEditor editor) {
+		super(editor);
+	}
+
+    protected DSLRuleEditor getDSLRuleEditor() {
+    	return (DSLRuleEditor) getEditor();
+    }
+    
+	protected void addRHSCompletionProposals(List list, int documentOffset, String prefix, String backText,
+			String conditions, String consequence) {
+		// super.addRHSCompletionProposals(list, documentOffset, prefix, backText, conditions, consequence);
+		DSLAdapter adapter = getDSLRuleEditor().getDSLAdapter();
+		if (adapter != null) {
+			List dslConsequences = adapter.getDSLTree().getConsequenceChildrenList(prefix, true);
+			addDSLProposals(list, documentOffset, prefix, dslConsequences);
+		}
+	}
+	
+	protected void addLHSCompletionProposals(List list, int documentOffset,
+			Location location, String prefix, String backText) {
+		// super.addLHSCompletionProposals(list, documentOffset, location, prefix, backText);
+		DSLAdapter adapter = getDSLRuleEditor().getDSLAdapter();
+		if (adapter != null) {
+			String lastobj = this.getLastNonDashLine(backText);
+			String last = this.getLastLine(backText);
+			// we have to check if the last line is when. if it is we set
+			// the last line to zero length string
+			if (last.equals("when")) {
+				last = "";
+				lastobj = "*";
+			}
+			// pass the last string in the backText to getProposals
+			List dslConditions = this.getProposals(adapter, lastobj, last);
+			// if we couldn't find any matches, we add the list from
+			// the DSLAdapter so that there's something
+			if (dslConditions.size() == 0) {
+				dslConditions.addAll(adapter.listConditionItems());
+			}
+			addDSLProposals(list, documentOffset, prefix, dslConditions);
+		}
+	}
+	
+	private void addDSLProposals(final List list, int documentOffset, final String prefix, List dslItems) {
+		Iterator iterator = dslItems.iterator();
+		while (iterator.hasNext()) {
+			String consequence = (String) iterator.next();
+			RuleCompletionProposal p = new RuleCompletionProposal(
+				documentOffset - prefix.length(), prefix.length(), consequence);
+			p.setImage(DSL_ICON);
+			list.add(p);
+		}
+	}
+
+	/**
+	 * because of how the backText works, we need to get the last line, so that
+	 * we can pass it to the DSLUtility
+	 * 
+	 * @param backText
+	 * @return
+	 */
+	public String getLastLine(String backText) {
+		BufferedReader breader = new BufferedReader(new StringReader(backText));
+		String last = "";
+		String line = null;
+		try {
+			while ((line = breader.readLine()) != null) {
+				// only if the line has text do we set last to it
+				if (line.length() > 0) {
+					last = line;
+				}
+			}
+		} catch (IOException e) {
+			// TODO need to log this.
+			// I'm leaving this for mic_hat, so he has something to do
+		}
+		// now that all the conditions for a single object are on the same line
+		// we need to check for the left parenthesis
+		if (last.indexOf("(") > -1) {
+			last = last.substring(last.lastIndexOf("(") + 1);
+		}
+		// if the string has a comma "," we get the substring starting from
+		// the index after the last comma
+		if (last.indexOf(",") > -1) {
+			last = last.substring(last.lastIndexOf(",") + 1);
+		}
+		// if the line ends with right parenthesis, we change it to zero length
+		// string
+		if (last.endsWith(")")) {
+			last = "";
+		}
+		return last;
+	}
+
+	/**
+	 * Returns the last line that doesn't start with a dash
+	 * 
+	 * @param backText
+	 * @return
+	 */
+	public String getLastNonDashLine(String backText) {
+		BufferedReader breader = new BufferedReader(new StringReader(backText));
+		String last = "";
+		String line = null;
+		try {
+			while ((line = breader.readLine()) != null) {
+				// there may be blank lines, so we trim first
+				line = line.trim();
+				// only if the line has text do we set last to it
+				if (line.length() > 0 && !line.startsWith("-")) {
+					last = line;
+				}
+			}
+		} catch (IOException e) {
+			// TODO need to log this.
+			// I'm leaving this for mic_hat, so he has something to do
+		}
+		if (last.indexOf("(") > -1 && !last.endsWith(")")) {
+			last = last.substring(0, last.indexOf("("));
+		} else if (last.indexOf("(") > -1 && last.endsWith(")")) {
+			last = "";
+		}
+		return last;
+	}
+
+	/**
+	 * The DSLTree is configurable. It can either return just the child of the
+	 * last token found, or it can traverse the tree and generate all the
+	 * combinations beneath the last matching node. TODO I don't know how to add
+	 * configuration to the editor, so it needs to be hooked up to the
+	 * configuration for the editor later.
+	 * 
+	 * @param last
+	 * @return
+	 */
+	protected List getProposals(DSLAdapter adapter, String obj, String last) {
+		if (last.length() == 0) {
+			last = " ";
+		}
+		return adapter.getDSLTree().getChildrenList(obj, last, true);
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,172 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.HashMap;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.outline.RuleContentOutlinePage;
-import org.drools.eclipse.editors.scanners.RuleEditorMessages;
-import org.drools.eclipse.preferences.IDroolsConstants;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.ui.actions.ToggleBreakpointAction;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotation;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel;
-import org.eclipse.jface.text.source.projection.ProjectionSupport;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
-import org.eclipse.ui.texteditor.TextOperationAction;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * Abstract text-based rule editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class AbstractRuleEditor extends TextEditor {
-
-	protected RuleContentOutlinePage ruleContentOutline = null;
-
-    protected Annotation[] oldAnnotations;
-    protected ProjectionAnnotationModel annotationModel;
-	protected DroolsPairMatcher bracketMatcher = new DroolsPairMatcher();
-	
-	public AbstractRuleEditor() {
-		setSourceViewerConfiguration(createSourceViewerConfiguration());
-		setDocumentProvider(createDocumentProvider());
-		getPreferenceStore().setDefault(IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS, true);
-		PreferenceConverter.setDefault(getPreferenceStore(), IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS_COLOR, new RGB(192, 192, 192));
-    }
-	
-	protected SourceViewerConfiguration createSourceViewerConfiguration() {
-		return new DRLSourceViewerConfig(this); 
-	}
-
-    protected IDocumentProvider createDocumentProvider() {
-    	return new DRLDocumentProvider();
-    }
-
-	public void createPartControl(Composite parent) {
-		super.createPartControl(parent);
-		ProjectionViewer viewer = (ProjectionViewer) getSourceViewer();
-		ProjectionSupport projectionSupport = new ProjectionSupport(viewer,
-			getAnnotationAccess(), getSharedColors());
-		projectionSupport.install();
-		// turn projection mode on
-		viewer.doOperation(ProjectionViewer.TOGGLE);
-		annotationModel = viewer.getProjectionAnnotationModel();
-	}
-	
-	protected ISourceViewer createSourceViewer(Composite parent,
-			IVerticalRuler ruler, int styles) {
-		ISourceViewer viewer = new ProjectionViewer(parent, ruler,
-				getOverviewRuler(), isOverviewRulerVisible(), styles);
-		// ensure decoration support has been created and configured.
-		getSourceViewerDecorationSupport(viewer);
-		return viewer;
-	}
-	
-	protected void configureSourceViewerDecorationSupport(SourceViewerDecorationSupport support) {
-		support.setCharacterPairMatcher(bracketMatcher);
-		support.setMatchingCharacterPainterPreferenceKeys(
-			IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS,
-			IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS_COLOR);
-		super.configureSourceViewerDecorationSupport(support);
-	}
-	
-	public void updateFoldingStructure(List positions) {
-		Annotation[] annotations = new Annotation[positions.size()];
-		// this will hold the new annotations along
-		// with their corresponding positions
-		HashMap newAnnotations = new HashMap();
-		for (int i = 0; i < positions.size(); i++) {
-			ProjectionAnnotation annotation = new ProjectionAnnotation();
-			newAnnotations.put(annotation, positions.get(i));
-			annotations[i] = annotation;
-		}
-		annotationModel.modifyAnnotations(oldAnnotations, newAnnotations, null);
-		oldAnnotations = annotations;
-	}
-
-	/** For user triggered content assistance */
-	protected void createActions() {
-		super.createActions();
-
-		IAction a = new TextOperationAction(RuleEditorMessages
-				.getResourceBundle(), "ContentAssistProposal.", this,
-				ISourceViewer.CONTENTASSIST_PROPOSALS);
-		a
-				.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-		setAction("ContentAssistProposal", a);
-
-		a = new TextOperationAction(
-				RuleEditorMessages.getResourceBundle(),
-				"ContentAssistTip.", this, ISourceViewer.CONTENTASSIST_CONTEXT_INFORMATION); //$NON-NLS-1$
-		a
-				.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_CONTEXT_INFORMATION);
-		setAction("ContentAssistTip", a);
-		
-		a = new ToggleBreakpointAction(getSite().getPart() , null, getVerticalRuler());
-		setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, a);
-
-	}
-	
-    protected ContentOutlinePage getContentOutline() {
-        if (ruleContentOutline == null) {
-            ruleContentOutline = new RuleContentOutlinePage(this);
-            ruleContentOutline.update();
-        }
-        return ruleContentOutline;
-    }
-
-	public String getContent() {
-		return getSourceViewer().getDocument().get();
-	}
-	
-	public IResource getResource() {
-		if (getEditorInput() instanceof IFileEditorInput) {
-			return ((IFileEditorInput) getEditorInput()).getFile();
-		}
-		return null;
-	}
-	
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IContentOutlinePage.class)) {
-			return getContentOutline();
-		}
-		return super.getAdapter(adapter);
-	}
-
-	public void doSave(IProgressMonitor monitor) {
-		// invalidate cached parsed rules
-		DroolsEclipsePlugin.getDefault().invalidateResource(getResource());
-		// save
-		super.doSave(monitor);
-		// update outline view
-		if (ruleContentOutline != null) {
-			ruleContentOutline.update();
-		}
-	}
-
-	public void dispose() {
-		super.dispose();
-		if (bracketMatcher != null) {
-			bracketMatcher.dispose();
-			bracketMatcher = null;
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,172 @@
+package org.drools.eclipse.editors;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.outline.RuleContentOutlinePage;
+import org.drools.eclipse.editors.scanners.RuleEditorMessages;
+import org.drools.eclipse.preferences.IDroolsConstants;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.ui.actions.ToggleBreakpointAction;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.preference.PreferenceConverter;
+import org.eclipse.jface.text.source.Annotation;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.IVerticalRuler;
+import org.eclipse.jface.text.source.SourceViewerConfiguration;
+import org.eclipse.jface.text.source.projection.ProjectionAnnotation;
+import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel;
+import org.eclipse.jface.text.source.projection.ProjectionSupport;
+import org.eclipse.jface.text.source.projection.ProjectionViewer;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.editors.text.TextEditor;
+import org.eclipse.ui.texteditor.IDocumentProvider;
+import org.eclipse.ui.texteditor.ITextEditorActionConstants;
+import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
+import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
+import org.eclipse.ui.texteditor.TextOperationAction;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+/**
+ * Abstract text-based rule editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class AbstractRuleEditor extends TextEditor {
+
+	protected RuleContentOutlinePage ruleContentOutline = null;
+
+    protected Annotation[] oldAnnotations;
+    protected ProjectionAnnotationModel annotationModel;
+	protected DroolsPairMatcher bracketMatcher = new DroolsPairMatcher();
+	
+	public AbstractRuleEditor() {
+		setSourceViewerConfiguration(createSourceViewerConfiguration());
+		setDocumentProvider(createDocumentProvider());
+		getPreferenceStore().setDefault(IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS, true);
+		PreferenceConverter.setDefault(getPreferenceStore(), IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS_COLOR, new RGB(192, 192, 192));
+    }
+	
+	protected SourceViewerConfiguration createSourceViewerConfiguration() {
+		return new DRLSourceViewerConfig(this); 
+	}
+
+    protected IDocumentProvider createDocumentProvider() {
+    	return new DRLDocumentProvider();
+    }
+
+	public void createPartControl(Composite parent) {
+		super.createPartControl(parent);
+		ProjectionViewer viewer = (ProjectionViewer) getSourceViewer();
+		ProjectionSupport projectionSupport = new ProjectionSupport(viewer,
+			getAnnotationAccess(), getSharedColors());
+		projectionSupport.install();
+		// turn projection mode on
+		viewer.doOperation(ProjectionViewer.TOGGLE);
+		annotationModel = viewer.getProjectionAnnotationModel();
+	}
+	
+	protected ISourceViewer createSourceViewer(Composite parent,
+			IVerticalRuler ruler, int styles) {
+		ISourceViewer viewer = new ProjectionViewer(parent, ruler,
+				getOverviewRuler(), isOverviewRulerVisible(), styles);
+		// ensure decoration support has been created and configured.
+		getSourceViewerDecorationSupport(viewer);
+		return viewer;
+	}
+	
+	protected void configureSourceViewerDecorationSupport(SourceViewerDecorationSupport support) {
+		support.setCharacterPairMatcher(bracketMatcher);
+		support.setMatchingCharacterPainterPreferenceKeys(
+			IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS,
+			IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS_COLOR);
+		super.configureSourceViewerDecorationSupport(support);
+	}
+	
+	public void updateFoldingStructure(List positions) {
+		Annotation[] annotations = new Annotation[positions.size()];
+		// this will hold the new annotations along
+		// with their corresponding positions
+		HashMap newAnnotations = new HashMap();
+		for (int i = 0; i < positions.size(); i++) {
+			ProjectionAnnotation annotation = new ProjectionAnnotation();
+			newAnnotations.put(annotation, positions.get(i));
+			annotations[i] = annotation;
+		}
+		annotationModel.modifyAnnotations(oldAnnotations, newAnnotations, null);
+		oldAnnotations = annotations;
+	}
+
+	/** For user triggered content assistance */
+	protected void createActions() {
+		super.createActions();
+
+		IAction a = new TextOperationAction(RuleEditorMessages
+				.getResourceBundle(), "ContentAssistProposal.", this,
+				ISourceViewer.CONTENTASSIST_PROPOSALS);
+		a
+				.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
+		setAction("ContentAssistProposal", a);
+
+		a = new TextOperationAction(
+				RuleEditorMessages.getResourceBundle(),
+				"ContentAssistTip.", this, ISourceViewer.CONTENTASSIST_CONTEXT_INFORMATION); //$NON-NLS-1$
+		a
+				.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_CONTEXT_INFORMATION);
+		setAction("ContentAssistTip", a);
+		
+		a = new ToggleBreakpointAction(getSite().getPart() , null, getVerticalRuler());
+		setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, a);
+
+	}
+	
+    protected ContentOutlinePage getContentOutline() {
+        if (ruleContentOutline == null) {
+            ruleContentOutline = new RuleContentOutlinePage(this);
+            ruleContentOutline.update();
+        }
+        return ruleContentOutline;
+    }
+
+	public String getContent() {
+		return getSourceViewer().getDocument().get();
+	}
+	
+	public IResource getResource() {
+		if (getEditorInput() instanceof IFileEditorInput) {
+			return ((IFileEditorInput) getEditorInput()).getFile();
+		}
+		return null;
+	}
+	
+	public Object getAdapter(Class adapter) {
+		if (adapter.equals(IContentOutlinePage.class)) {
+			return getContentOutline();
+		}
+		return super.getAdapter(adapter);
+	}
+
+	public void doSave(IProgressMonitor monitor) {
+		// invalidate cached parsed rules
+		DroolsEclipsePlugin.getDefault().invalidateResource(getResource());
+		// save
+		super.doSave(monitor);
+		// update outline view
+		if (ruleContentOutline != null) {
+			ruleContentOutline.update();
+		}
+	}
+
+	public void dispose() {
+		super.dispose();
+		if (bracketMatcher != null) {
+			bracketMatcher.dispose();
+			bracketMatcher = null;
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,45 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Drools color manager.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ColorManager {
-
-    private static final ColorManager INSTANCE = new ColorManager();
-    
-    public static final RGB SINGLE_LINE_COMMENT = new RGB(128, 128, 0);
-    public static final RGB KEYWORD = new RGB(150, 0, 0);
-    public static final RGB STRING = new RGB(0, 128, 0); 
-
-	protected Map colorTable = new HashMap(10);
-
-	void dispose() {
-		Iterator e = colorTable.values().iterator();
-		while (e.hasNext()) {
-			 ((Color) e.next()).dispose();
-		}
-	}
-    
-    public static ColorManager getInstance() {
-        return INSTANCE;
-    }
-    
-	public Color getColor(RGB rgb) {
-		Color color = (Color) colorTable.get(rgb);
-		if (color == null) {
-			color = new Color(Display.getCurrent(), rgb);
-			colorTable.put(rgb, color);
-		}
-		return color;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,45 @@
+package org.drools.eclipse.editors;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * Drools color manager.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ColorManager {
+
+    private static final ColorManager INSTANCE = new ColorManager();
+    
+    public static final RGB SINGLE_LINE_COMMENT = new RGB(128, 128, 0);
+    public static final RGB KEYWORD = new RGB(150, 0, 0);
+    public static final RGB STRING = new RGB(0, 128, 0); 
+
+	protected Map colorTable = new HashMap(10);
+
+	void dispose() {
+		Iterator e = colorTable.values().iterator();
+		while (e.hasNext()) {
+			 ((Color) e.next()).dispose();
+		}
+	}
+    
+    public static ColorManager getInstance() {
+        return INSTANCE;
+    }
+    
+	public Color getColor(RGB rgb) {
+		Color color = (Color) colorTable.get(rgb);
+		if (color == null) {
+			color = new Color(Display.getCurrent(), rgb);
+			colorTable.put(rgb, color);
+		}
+		return color;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,39 +0,0 @@
-package org.drools.eclipse.editors;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.debug.core.IDroolsDebugConstants;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Position;
-import org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel;
-
-/**
- * Drools annotation model.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DRLAnnotationModel extends ResourceMarkerAnnotationModel {
-
-	public DRLAnnotationModel(IResource resource) {
-		super(resource);
-	}
-
-	protected Position createPositionFromMarker(IMarker marker) {
-        try {
-        	if (!marker.getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
-	            return super.createPositionFromMarker(marker);
-	        }
-	        int line = marker.getAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, -1);
-	        try {
-	        	return new Position(fDocument.getLineOffset(line - 1));
-	        } catch (BadLocationException exc) {
-	        	return super.createPositionFromMarker(marker);
-	        }
-        } catch (CoreException exc) {
-        	DroolsEclipsePlugin.log(exc);
-        	return null;
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,39 @@
+package org.drools.eclipse.editors;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.debug.core.IDroolsDebugConstants;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.Position;
+import org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel;
+
+/**
+ * Drools annotation model.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DRLAnnotationModel extends ResourceMarkerAnnotationModel {
+
+	public DRLAnnotationModel(IResource resource) {
+		super(resource);
+	}
+
+	protected Position createPositionFromMarker(IMarker marker) {
+        try {
+        	if (!marker.getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
+	            return super.createPositionFromMarker(marker);
+	        }
+	        int line = marker.getAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, -1);
+	        try {
+	        	return new Position(fDocument.getLineOffset(line - 1));
+	        } catch (BadLocationException exc) {
+	        	return super.createPositionFromMarker(marker);
+	        }
+        } catch (CoreException exc) {
+        	DroolsEclipsePlugin.log(exc);
+        	return null;
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.editors;
-
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.editors.text.TextFileDocumentProvider;
-
-
-/**
- * Simple document provider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DRLDocumentProvider extends TextFileDocumentProvider {
-	
-	public IDocument getDocument(Object element) {
-        IDocument document = getParentDocument(element); 
-        if (document != null) {
-            IDocumentPartitioner partitioner =
-                new FastPartitioner(
-                    new DRLPartionScanner(),
-                    DRLPartionScanner.LEGAL_CONTENT_TYPES);
-            partitioner.connect(document);
-            document.setDocumentPartitioner(partitioner);
-        }
-        return document;
-    }
-    
-    protected IAnnotationModel createAnnotationModel(IFile file) {
-        return new DRLAnnotationModel(file);
-	}
-    
-    protected IDocument getParentDocument(Object element) {
-        return super.getDocument(element);
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.editors;
+
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.jface.text.source.IAnnotationModel;
+import org.eclipse.ui.editors.text.TextFileDocumentProvider;
+
+
+/**
+ * Simple document provider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DRLDocumentProvider extends TextFileDocumentProvider {
+	
+	public IDocument getDocument(Object element) {
+        IDocument document = getParentDocument(element); 
+        if (document != null) {
+            IDocumentPartitioner partitioner =
+                new FastPartitioner(
+                    new DRLPartionScanner(),
+                    DRLPartionScanner.LEGAL_CONTENT_TYPES);
+            partitioner.connect(document);
+            document.setDocumentPartitioner(partitioner);
+        }
+        return document;
+    }
+    
+    protected IAnnotationModel createAnnotationModel(IFile file) {
+        return new DRLAnnotationModel(file);
+	}
+    
+    protected IDocument getParentDocument(Object element) {
+        return super.getDocument(element);
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-package org.drools.eclipse.editors;
-
-import org.eclipse.jface.text.source.Annotation;
-
-/**
- * Problem annotation for Drools.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DRLProblemAnnotation extends Annotation {
-
-	public static final String ERROR = "org.drools.eclipse.editors.error_annotation";
-	
-	public DRLProblemAnnotation(String text) {
-		super(ERROR, false, text);
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+package org.drools.eclipse.editors;
+
+import org.eclipse.jface.text.source.Annotation;
+
+/**
+ * Problem annotation for Drools.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DRLProblemAnnotation extends Annotation {
+
+	public static final String ERROR = "org.drools.eclipse.editors.error_annotation";
+	
+	public DRLProblemAnnotation(String text) {
+		super(ERROR, false, text);
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,150 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.preferences.IDroolsConstants;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.widgets.Display;
-
-public class DRLReconcilingStrategy implements IReconcilingStrategy {
-
-    private static final Pattern RULE_PATTERN = Pattern.compile("\\n\\s*(rule\\s+.*?\\n\\s*end)", Pattern.DOTALL);
-    private static final Pattern TEMPLATE_PATTERN = Pattern.compile("\\n\\s*(template\\s+.*?\\n\\s*end)", Pattern.DOTALL);
-    private static final Pattern QUERY_PATTERN = Pattern.compile("\\n\\s*(query\\s+.*?\\n\\s*end)", Pattern.DOTALL);
-    private static final Pattern FUNCTION_PATTERN = Pattern.compile("\\n\\s*(function\\s+[^\\{]*\\{)", Pattern.DOTALL);
-    private static final Pattern IMPORT_PATTERN = Pattern.compile("\\n\\s*((\\s*import\\s+[^\\s;]+;?[\\t\\x0B\\f\\r]*\\n)+)", Pattern.DOTALL);
-    
-	private ISourceViewer sourceViewer;
-	private AbstractRuleEditor editor;
-	private IDocument document;
-    private boolean folding;
-
-	public DRLReconcilingStrategy(ISourceViewer sourceViewer, final AbstractRuleEditor editor) {
-		this.sourceViewer = sourceViewer;
-		this.editor = editor;
-		IPreferenceStore preferenceStore = DroolsEclipsePlugin.getDefault().getPreferenceStore();
-    	folding = preferenceStore.getBoolean(IDroolsConstants.EDITOR_FOLDING);
-    	preferenceStore.addPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (IDroolsConstants.EDITOR_FOLDING.equals(event.getProperty())) {
-					folding = ((Boolean) event.getNewValue()).booleanValue();
-					if (folding) {
-						reconcile();
-					} else {
-						Display.getDefault().asyncExec(new Runnable() {
-							public void run() {
-								editor.updateFoldingStructure(new ArrayList());
-							}
-						});
-					}
-				}
-			}
-    	});
-    }
-
-	public void setDocument(IDocument document) {
-		this.document = document;
-		reconcile();
-	}
-
-	public void reconcile(DirtyRegion dirtyRegion, IRegion region) {
-		reconcile();
-	}
-
-	public void reconcile(IRegion region) {
-		reconcile();
-	}
-
-	private void reconcile() {
-		if (document != null) {
-            String s = document.get();
-            if (folding) {
-            	calculateFolding(s);
-            }
-            
-//			IFile file = ((IFileEditorInput) input).getFile();
-//			IAnnotationModel annotationModel = sourceViewer.getAnnotationModel();
-//	        removeAnnotationsFor(annotationModel);
-//            DroolsBuildMarker[] markers = DroolsBuilder.parseFile(file, s);
-//            for (int i = 0; i < markers.length; i++) {
-//            	createAnnotation(file, annotationModel, markers[i].getText(), markers[i].getOffset(), markers[i].getLength());
-//            }
-		} 
-    }
-
-    private static void createAnnotation(IFile file, final IAnnotationModel annotationModel, final String message, final int offset, final int length) {
-		Annotation annotation = new DRLProblemAnnotation(message);
-		Position position = new Position(0, 1);
-//		Position position = new Position(offset, length);
-        annotationModel.addAnnotation(annotation, position);
-    }
-    
-    public static void removeAnnotationsFor(IAnnotationModel annotationModel) {
-		Iterator iterator = annotationModel.getAnnotationIterator();
-		while (iterator.hasNext()) {
-			Annotation annotation = (Annotation) iterator.next();
-			if (annotation instanceof DRLProblemAnnotation) {
-				annotationModel.removeAnnotation(annotation);
-			}
-		}
-    }
-
-    protected void calculateFolding(String input) {
-    	// TODO replace this parsing by getting this input from the parsed rule file
-    	final List positions = new ArrayList();
-        Matcher matcher = RULE_PATTERN.matcher(input);
-        while (matcher.find()) {
-			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
-        }
-        matcher = QUERY_PATTERN.matcher(input);
-        while (matcher.find()) {
-			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
-        }
-        matcher = TEMPLATE_PATTERN.matcher(input);
-        while (matcher.find()) {
-			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
-        }
-        matcher = IMPORT_PATTERN.matcher(input);
-        while (matcher.find()) {
-			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
-        }
-        matcher = FUNCTION_PATTERN.matcher(input);
-        while (matcher.find()) {
-        	int start = matcher.start(1);
-        	// TODO also take comments, strings etc. in consideration
-        	// use JavaPairMatcher or similar
-        	int nbOpenBrackets = 1;
-        	for (int i = matcher.end(); i < input.length(); i++) {
-    			if (input.charAt(i) == '{') {
-    				nbOpenBrackets++;
-    			} else if (input.charAt(i) == '}') {
-    				if (--nbOpenBrackets == 0) {
-            			positions.add(new Position(start, i - start + 1));
-            			break;
-    				}
-    			}
-        	}
-        }
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				editor.updateFoldingStructure(positions);
-			}
-		});
-	}
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,150 @@
+package org.drools.eclipse.editors;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.preferences.IDroolsConstants;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Position;
+import org.eclipse.jface.text.reconciler.DirtyRegion;
+import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
+import org.eclipse.jface.text.source.Annotation;
+import org.eclipse.jface.text.source.IAnnotationModel;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.widgets.Display;
+
+public class DRLReconcilingStrategy implements IReconcilingStrategy {
+
+    private static final Pattern RULE_PATTERN = Pattern.compile("\\n\\s*(rule\\s+.*?\\n\\s*end)", Pattern.DOTALL);
+    private static final Pattern TEMPLATE_PATTERN = Pattern.compile("\\n\\s*(template\\s+.*?\\n\\s*end)", Pattern.DOTALL);
+    private static final Pattern QUERY_PATTERN = Pattern.compile("\\n\\s*(query\\s+.*?\\n\\s*end)", Pattern.DOTALL);
+    private static final Pattern FUNCTION_PATTERN = Pattern.compile("\\n\\s*(function\\s+[^\\{]*\\{)", Pattern.DOTALL);
+    private static final Pattern IMPORT_PATTERN = Pattern.compile("\\n\\s*((\\s*import\\s+[^\\s;]+;?[\\t\\x0B\\f\\r]*\\n)+)", Pattern.DOTALL);
+    
+	private ISourceViewer sourceViewer;
+	private AbstractRuleEditor editor;
+	private IDocument document;
+    private boolean folding;
+
+	public DRLReconcilingStrategy(ISourceViewer sourceViewer, final AbstractRuleEditor editor) {
+		this.sourceViewer = sourceViewer;
+		this.editor = editor;
+		IPreferenceStore preferenceStore = DroolsEclipsePlugin.getDefault().getPreferenceStore();
+    	folding = preferenceStore.getBoolean(IDroolsConstants.EDITOR_FOLDING);
+    	preferenceStore.addPropertyChangeListener(new IPropertyChangeListener() {
+			public void propertyChange(PropertyChangeEvent event) {
+				if (IDroolsConstants.EDITOR_FOLDING.equals(event.getProperty())) {
+					folding = ((Boolean) event.getNewValue()).booleanValue();
+					if (folding) {
+						reconcile();
+					} else {
+						Display.getDefault().asyncExec(new Runnable() {
+							public void run() {
+								editor.updateFoldingStructure(new ArrayList());
+							}
+						});
+					}
+				}
+			}
+    	});
+    }
+
+	public void setDocument(IDocument document) {
+		this.document = document;
+		reconcile();
+	}
+
+	public void reconcile(DirtyRegion dirtyRegion, IRegion region) {
+		reconcile();
+	}
+
+	public void reconcile(IRegion region) {
+		reconcile();
+	}
+
+	private void reconcile() {
+		if (document != null) {
+            String s = document.get();
+            if (folding) {
+            	calculateFolding(s);
+            }
+            
+//			IFile file = ((IFileEditorInput) input).getFile();
+//			IAnnotationModel annotationModel = sourceViewer.getAnnotationModel();
+//	        removeAnnotationsFor(annotationModel);
+//            DroolsBuildMarker[] markers = DroolsBuilder.parseFile(file, s);
+//            for (int i = 0; i < markers.length; i++) {
+//            	createAnnotation(file, annotationModel, markers[i].getText(), markers[i].getOffset(), markers[i].getLength());
+//            }
+		} 
+    }
+
+    private static void createAnnotation(IFile file, final IAnnotationModel annotationModel, final String message, final int offset, final int length) {
+		Annotation annotation = new DRLProblemAnnotation(message);
+		Position position = new Position(0, 1);
+//		Position position = new Position(offset, length);
+        annotationModel.addAnnotation(annotation, position);
+    }
+    
+    public static void removeAnnotationsFor(IAnnotationModel annotationModel) {
+		Iterator iterator = annotationModel.getAnnotationIterator();
+		while (iterator.hasNext()) {
+			Annotation annotation = (Annotation) iterator.next();
+			if (annotation instanceof DRLProblemAnnotation) {
+				annotationModel.removeAnnotation(annotation);
+			}
+		}
+    }
+
+    protected void calculateFolding(String input) {
+    	// TODO replace this parsing by getting this input from the parsed rule file
+    	final List positions = new ArrayList();
+        Matcher matcher = RULE_PATTERN.matcher(input);
+        while (matcher.find()) {
+			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
+        }
+        matcher = QUERY_PATTERN.matcher(input);
+        while (matcher.find()) {
+			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
+        }
+        matcher = TEMPLATE_PATTERN.matcher(input);
+        while (matcher.find()) {
+			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
+        }
+        matcher = IMPORT_PATTERN.matcher(input);
+        while (matcher.find()) {
+			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
+        }
+        matcher = FUNCTION_PATTERN.matcher(input);
+        while (matcher.find()) {
+        	int start = matcher.start(1);
+        	// TODO also take comments, strings etc. in consideration
+        	// use JavaPairMatcher or similar
+        	int nbOpenBrackets = 1;
+        	for (int i = matcher.end(); i < input.length(); i++) {
+    			if (input.charAt(i) == '{') {
+    				nbOpenBrackets++;
+    			} else if (input.charAt(i) == '}') {
+    				if (--nbOpenBrackets == 0) {
+            			positions.add(new Position(start, i - start + 1));
+            			break;
+    				}
+    			}
+        	}
+        }
+		Display.getDefault().asyncExec(new Runnable() {
+			public void run() {
+				editor.updateFoldingStructure(positions);
+			}
+		});
+	}
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,295 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.compiler.DroolsParserException;
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.debug.core.IDroolsDebugConstants;
-import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.FactTemplateDescr;
-import org.drools.lang.descr.FunctionDescr;
-import org.drools.lang.descr.FunctionImportDescr;
-import org.drools.lang.descr.GlobalDescr;
-import org.drools.lang.descr.ImportDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.jdt.core.CompletionRequestor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-
-/**
- * Generic rule editor for drools.
- * @author Michael Neale
- */
-public class DRLRuleEditor extends AbstractRuleEditor {
-
-    protected List imports;
-    protected List functions;
-    protected Map templates;
-    protected List globals;
-    protected String packageName;
-    protected List classesInPackage;
-	protected Map attributes;
-
-    public DRLRuleEditor() {
-	}
-
-	public List getImports() {
-		if (imports == null || isDirty()) {
-			loadImportsAndFunctions();
-		}
-		return imports;
-	}
-
-	public List getFunctions() {
-		if (functions == null) {
-			loadImportsAndFunctions();
-		}
-		return functions;
-	}
-
-	public Set getTemplates() {
-		if (templates == null) {
-			loadImportsAndFunctions();
-		}
-		return templates.keySet();
-	}
-
-	public Map getAttributes() {
-		if ( attributes == null ) {
-			loadImportsAndFunctions();
-		}
-		return attributes;
-	}
-
-
-	public FactTemplateDescr getTemplate(String name) {
-		if (templates == null) {
-			loadImportsAndFunctions();
-		}
-		return (FactTemplateDescr) templates.get(name);
-	}
-
-	public List getGlobals() {
-		if (globals == null ) {
-			loadImportsAndFunctions();
-		}
-		return globals;
-	}
-
-	public String getPackage() {
-		if (packageName == null) {
-			loadImportsAndFunctions();
-		}
-		return packageName;
-	}
-
-	public List getClassesInPackage() {
-		if (classesInPackage == null) {
-			classesInPackage = getAllClassesInPackage(getPackage());
-		}
-		return classesInPackage;
-	}
-
-	protected List getAllClassesInPackage(String packageName) {
-		List list = new ArrayList();
-		if (packageName != null) {
-			IEditorInput input = getEditorInput();
-			if (input instanceof IFileEditorInput) {
-				IProject project = ((IFileEditorInput) input).getFile().getProject();
-				IJavaProject javaProject = JavaCore.create(project);
-				list = getAllClassesInPackage(packageName, javaProject);
-			}
-		}
-		return list;
-	}
-
-	public static List getAllClassesInPackage(String packageName, IJavaProject javaProject) {
-		final List list = new ArrayList();
-		CompletionRequestor requestor = new CompletionRequestor() {
-			public void accept(org.eclipse.jdt.core.CompletionProposal proposal) {
-				String className = new String(proposal.getCompletion());
-				if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF) {
-					list.add(className);
-				}
-				// ignore all other proposals
-			}
-		};
-
-		try {
-			javaProject.newEvaluationContext().codeComplete(packageName + ".", packageName.length() + 1, requestor);
-		} catch (Throwable t) {
-			DroolsEclipsePlugin.log(t);
-		}
-		return list;
-	}
-
-	protected List getAllStaticMethodsInClass(String className) {
-		final List list = new ArrayList();
-		if (className != null) {
-			IEditorInput input = getEditorInput();
-			if (input instanceof IFileEditorInput) {
-				IProject project = ((IFileEditorInput) input).getFile().getProject();
-				IJavaProject javaProject = JavaCore.create(project);
-
-				CompletionRequestor requestor = new CompletionRequestor() {
-					public void accept(org.eclipse.jdt.core.CompletionProposal proposal) {
-						String functionName = new String(proposal.getCompletion());
-						if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.METHOD_REF) {
-							list.add(functionName.substring(0, functionName.length() - 2)); // remove the ()
-						}
-						// ignore all other proposals
-					}
-				};
-
-				try {
-					javaProject.newEvaluationContext().codeComplete(className + ".", className.length() + 1, requestor);
-				} catch (Throwable t) {
-					DroolsEclipsePlugin.log(t);
-				}
-			}
-		}
-		return list;
-	}
-
-    protected void loadImportsAndFunctions() {
-        try {
-            DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(this, true, false);
-            PackageDescr descr = drlInfo.getPackageDescr();
-            // package
-            this.packageName = drlInfo.getPackageName();
-            // imports
-            List allImports = descr.getImports();
-            this.imports = new ArrayList();
-            if (packageName != null) {
-                imports.addAll(getAllClassesInPackage(packageName));
-            }
-            Iterator iterator = allImports.iterator();
-            while (iterator.hasNext()) {
-                String importName = ((ImportDescr) iterator.next()).getTarget();
-                if (importName.endsWith(".*")) {
-                    String packageName = importName.substring(0, importName.length() - 2);
-                    imports.addAll(getAllClassesInPackage(packageName));
-                } else {
-                    imports.add(importName);
-                }
-            }
-            // functions
-            List functionDescrs = descr.getFunctions();
-            List functionImports = descr.getFunctionImports();
-            functions = new ArrayList(functionDescrs.size());
-            iterator = functionDescrs.iterator();
-            while (iterator.hasNext()) {
-                functions.add(((FunctionDescr) iterator.next()).getName());
-            }
-            iterator = functionImports.iterator();
-            while (iterator.hasNext()) {
-                String functionImport = ((FunctionImportDescr) iterator.next()).getTarget();
-                if (functionImport.endsWith(".*")) {
-                    String className = functionImport.substring(0, functionImport.length() - 2);
-                    functions.addAll(getAllStaticMethodsInClass(className));
-                } else {
-                    int index = functionImport.lastIndexOf('.');
-                    if (index != -1) {
-                        functions.add(functionImport.substring(index + 1));
-                    }
-                }
-            }
-            // templates
-            List templateDescrs = descr.getFactTemplates();
-            templates = new HashMap(templateDescrs.size());
-            iterator = templateDescrs.iterator();
-            while (iterator.hasNext()) {
-                FactTemplateDescr template = (FactTemplateDescr) iterator.next();
-                templates.put(template.getName(), template);
-            }
-            // globals
-            List globalDescrs = descr.getGlobals();
-            globals = new ArrayList();
-            iterator = globalDescrs.iterator();
-            while (iterator.hasNext()) {
-                GlobalDescr global = (GlobalDescr) iterator.next();
-                globals.add(global);
-            }
-
-            //attributes
-            this.attributes = new HashMap();
-        	for (Iterator attrIter = descr.getAttributes().iterator(); attrIter.hasNext();) {
-        		AttributeDescr attribute = (AttributeDescr) attrIter.next();
-        		if (attribute != null && attribute.getName() != null) {
-        			attributes.put(attribute.getName(), attribute.getValue());
-        		}
-        	}
-
-        } catch (DroolsParserException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-    }
-
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IToggleBreakpointsTarget.class)) {
-			return getBreakpointAdapter();
-		}
-		return super.getAdapter(adapter);
-	}
-
-	private Object getBreakpointAdapter() {
-		return new DroolsLineBreakpointAdapter();
-	}
-
-	public void doSave(IProgressMonitor monitor) {
-		super.doSave(monitor);
-		// remove cached content
-		imports = null;
-		functions = null;
-		templates = null;
-		globals = null;
-		packageName = null;
-		classesInPackage = null;
-	}
-
-	public void gotoMarker(IMarker marker) {
-		try {
-			if (marker.getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
-				int line = marker.getAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, -1);
-	            if (line > -1)
-	            	--line;
-	                try {
-	                    IDocument document = getDocumentProvider().getDocument(getEditorInput());
-	                    selectAndReveal(document.getLineOffset(line), document.getLineLength(line));
-	                } catch(BadLocationException exc) {
-	                	DroolsEclipsePlugin.log(exc);
-	                }
-			} else {
-				super.gotoMarker(marker);
-			}
-		} catch (CoreException exc) {
-			DroolsEclipsePlugin.log(exc);
-		}
-	}
-
-
-	public BaseDescr getDescr(int offset) {
-		try {
-			DRLInfo info = DroolsEclipsePlugin.getDefault().parseResource(this, true, false);
-			return DescrUtil.getDescr(info.getPackageDescr(), offset);
-		} catch (DroolsParserException exc) {
-			return null;
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,295 @@
+package org.drools.eclipse.editors;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.compiler.DroolsParserException;
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.debug.core.IDroolsDebugConstants;
+import org.drools.lang.descr.AttributeDescr;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.FunctionImportDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.lang.descr.ImportDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
+import org.eclipse.jdt.core.CompletionRequestor;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IFileEditorInput;
+
+/**
+ * Generic rule editor for drools.
+ * @author Michael Neale
+ */
+public class DRLRuleEditor extends AbstractRuleEditor {
+
+    protected List imports;
+    protected List functions;
+    protected Map templates;
+    protected List globals;
+    protected String packageName;
+    protected List classesInPackage;
+	protected Map attributes;
+
+    public DRLRuleEditor() {
+	}
+
+	public List getImports() {
+		if (imports == null || isDirty()) {
+			loadImportsAndFunctions();
+		}
+		return imports;
+	}
+
+	public List getFunctions() {
+		if (functions == null) {
+			loadImportsAndFunctions();
+		}
+		return functions;
+	}
+
+	public Set getTemplates() {
+		if (templates == null) {
+			loadImportsAndFunctions();
+		}
+		return templates.keySet();
+	}
+
+	public Map getAttributes() {
+		if ( attributes == null ) {
+			loadImportsAndFunctions();
+		}
+		return attributes;
+	}
+
+
+	public FactTemplateDescr getTemplate(String name) {
+		if (templates == null) {
+			loadImportsAndFunctions();
+		}
+		return (FactTemplateDescr) templates.get(name);
+	}
+
+	public List getGlobals() {
+		if (globals == null ) {
+			loadImportsAndFunctions();
+		}
+		return globals;
+	}
+
+	public String getPackage() {
+		if (packageName == null) {
+			loadImportsAndFunctions();
+		}
+		return packageName;
+	}
+
+	public List getClassesInPackage() {
+		if (classesInPackage == null) {
+			classesInPackage = getAllClassesInPackage(getPackage());
+		}
+		return classesInPackage;
+	}
+
+	protected List getAllClassesInPackage(String packageName) {
+		List list = new ArrayList();
+		if (packageName != null) {
+			IEditorInput input = getEditorInput();
+			if (input instanceof IFileEditorInput) {
+				IProject project = ((IFileEditorInput) input).getFile().getProject();
+				IJavaProject javaProject = JavaCore.create(project);
+				list = getAllClassesInPackage(packageName, javaProject);
+			}
+		}
+		return list;
+	}
+
+	public static List getAllClassesInPackage(String packageName, IJavaProject javaProject) {
+		final List list = new ArrayList();
+		CompletionRequestor requestor = new CompletionRequestor() {
+			public void accept(org.eclipse.jdt.core.CompletionProposal proposal) {
+				String className = new String(proposal.getCompletion());
+				if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF) {
+					list.add(className);
+				}
+				// ignore all other proposals
+			}
+		};
+
+		try {
+			javaProject.newEvaluationContext().codeComplete(packageName + ".", packageName.length() + 1, requestor);
+		} catch (Throwable t) {
+			DroolsEclipsePlugin.log(t);
+		}
+		return list;
+	}
+
+	protected List getAllStaticMethodsInClass(String className) {
+		final List list = new ArrayList();
+		if (className != null) {
+			IEditorInput input = getEditorInput();
+			if (input instanceof IFileEditorInput) {
+				IProject project = ((IFileEditorInput) input).getFile().getProject();
+				IJavaProject javaProject = JavaCore.create(project);
+
+				CompletionRequestor requestor = new CompletionRequestor() {
+					public void accept(org.eclipse.jdt.core.CompletionProposal proposal) {
+						String functionName = new String(proposal.getCompletion());
+						if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.METHOD_REF) {
+							list.add(functionName.substring(0, functionName.length() - 2)); // remove the ()
+						}
+						// ignore all other proposals
+					}
+				};
+
+				try {
+					javaProject.newEvaluationContext().codeComplete(className + ".", className.length() + 1, requestor);
+				} catch (Throwable t) {
+					DroolsEclipsePlugin.log(t);
+				}
+			}
+		}
+		return list;
+	}
+
+    protected void loadImportsAndFunctions() {
+        try {
+            DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(this, true, false);
+            PackageDescr descr = drlInfo.getPackageDescr();
+            // package
+            this.packageName = drlInfo.getPackageName();
+            // imports
+            List allImports = descr.getImports();
+            this.imports = new ArrayList();
+            if (packageName != null) {
+                imports.addAll(getAllClassesInPackage(packageName));
+            }
+            Iterator iterator = allImports.iterator();
+            while (iterator.hasNext()) {
+                String importName = ((ImportDescr) iterator.next()).getTarget();
+                if (importName.endsWith(".*")) {
+                    String packageName = importName.substring(0, importName.length() - 2);
+                    imports.addAll(getAllClassesInPackage(packageName));
+                } else {
+                    imports.add(importName);
+                }
+            }
+            // functions
+            List functionDescrs = descr.getFunctions();
+            List functionImports = descr.getFunctionImports();
+            functions = new ArrayList(functionDescrs.size());
+            iterator = functionDescrs.iterator();
+            while (iterator.hasNext()) {
+                functions.add(((FunctionDescr) iterator.next()).getName());
+            }
+            iterator = functionImports.iterator();
+            while (iterator.hasNext()) {
+                String functionImport = ((FunctionImportDescr) iterator.next()).getTarget();
+                if (functionImport.endsWith(".*")) {
+                    String className = functionImport.substring(0, functionImport.length() - 2);
+                    functions.addAll(getAllStaticMethodsInClass(className));
+                } else {
+                    int index = functionImport.lastIndexOf('.');
+                    if (index != -1) {
+                        functions.add(functionImport.substring(index + 1));
+                    }
+                }
+            }
+            // templates
+            List templateDescrs = descr.getFactTemplates();
+            templates = new HashMap(templateDescrs.size());
+            iterator = templateDescrs.iterator();
+            while (iterator.hasNext()) {
+                FactTemplateDescr template = (FactTemplateDescr) iterator.next();
+                templates.put(template.getName(), template);
+            }
+            // globals
+            List globalDescrs = descr.getGlobals();
+            globals = new ArrayList();
+            iterator = globalDescrs.iterator();
+            while (iterator.hasNext()) {
+                GlobalDescr global = (GlobalDescr) iterator.next();
+                globals.add(global);
+            }
+
+            //attributes
+            this.attributes = new HashMap();
+        	for (Iterator attrIter = descr.getAttributes().iterator(); attrIter.hasNext();) {
+        		AttributeDescr attribute = (AttributeDescr) attrIter.next();
+        		if (attribute != null && attribute.getName() != null) {
+        			attributes.put(attribute.getName(), attribute.getValue());
+        		}
+        	}
+
+        } catch (DroolsParserException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+    }
+
+	public Object getAdapter(Class adapter) {
+		if (adapter.equals(IToggleBreakpointsTarget.class)) {
+			return getBreakpointAdapter();
+		}
+		return super.getAdapter(adapter);
+	}
+
+	private Object getBreakpointAdapter() {
+		return new DroolsLineBreakpointAdapter();
+	}
+
+	public void doSave(IProgressMonitor monitor) {
+		super.doSave(monitor);
+		// remove cached content
+		imports = null;
+		functions = null;
+		templates = null;
+		globals = null;
+		packageName = null;
+		classesInPackage = null;
+	}
+
+	public void gotoMarker(IMarker marker) {
+		try {
+			if (marker.getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
+				int line = marker.getAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, -1);
+	            if (line > -1)
+	            	--line;
+	                try {
+	                    IDocument document = getDocumentProvider().getDocument(getEditorInput());
+	                    selectAndReveal(document.getLineOffset(line), document.getLineLength(line));
+	                } catch(BadLocationException exc) {
+	                	DroolsEclipsePlugin.log(exc);
+	                }
+			} else {
+				super.gotoMarker(marker);
+			}
+		} catch (CoreException exc) {
+			DroolsEclipsePlugin.log(exc);
+		}
+	}
+
+
+	public BaseDescr getDescr(int offset) {
+		try {
+			DRLInfo info = DroolsEclipsePlugin.getDefault().parseResource(this, true, false);
+			return DescrUtil.getDescr(info.getPackageDescr(), offset);
+		} catch (DroolsParserException exc) {
+			return null;
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,313 +0,0 @@
-package org.drools.eclipse.editors;
-
-/*
- * Copyright 2006 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.
- */
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.rete.ReteViewer;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.editor.FormEditor;
-
-/**
- * This is a multi table editor wrapper for both the text editor and the RETE
- * viewer.
- * 
- * @author Kris
- * @author Ahti Kitsik
- */
-public class DRLRuleEditor2 extends FormEditor {
-
-    private DRLRuleEditor             textEditor;
-
-    private ReteViewer                reteViewer;
-
-    private ZoomComboContributionItem zitem;
-
-    private ZoomInAction2             zoomIn;
-    private ZoomOutAction2            zoomOut;
-
-    protected ReteGraph               graph;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.forms.editor.FormEditor#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-     */
-    public void init(IEditorSite site,
-                     IEditorInput input) throws PartInitException {
-        super.init( site,
-                    input );
-        setPartName( input.getName() );
-    }
-
-    /**
-     * Adds Text Editor for rules and Rete graph viewer
-     * 
-     * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
-     */
-    protected void addPages() {
-        try {
-            textEditor = new DRLRuleEditor() {
-                public void close(boolean save) {
-                    super.close( save );
-                    DRLRuleEditor2.this.close( save );
-                }
-
-                protected void setPartName(String partName) {
-                    super.setPartName( partName );
-                    DRLRuleEditor2.this.setPartName( partName );
-                }
-            };
-
-            reteViewer = new ReteViewer(textEditor);
-
-            int text = addPage( textEditor,
-                                getEditorInput() );
-
-            int rete = addPage( reteViewer,
-                                getEditorInput() );
-
-            setPageText( text,
-                         "Text Editor" );
-            setPageText( rete,
-                         "Rete Tree" );
-
-            textEditor.getDocumentProvider().getDocument( getEditorInput() ).addDocumentListener( new IDocumentListener() {
-
-                public void documentAboutToBeChanged(DocumentEvent event) {
-                }
-
-                public void documentChanged(DocumentEvent event) {
-                    reteViewer.fireDocumentChanged();
-                }
-
-            } );
-
-        } catch ( PartInitException e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void doSave(IProgressMonitor monitor) {
-        textEditor.doSave( monitor );
-        setInput( getEditorInput() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorPart#doSaveAs()
-     */
-    public void doSaveAs() {
-        textEditor.doSaveAs();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
-     */
-    public boolean isSaveAsAllowed() {
-        return textEditor.isSaveAsAllowed();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.MultiPageEditorPart#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class adapter) {
-        if ( adapter == ZoomManager.class ) {
-
-            if ( getActiveEditor() instanceof ReteViewer ) {
-                return reteViewer.getAdapter( adapter );
-            } else if ( getActiveEditor() instanceof DRLRuleEditor ) {
-                return null;
-            }
-
-        } else if ( adapter == ZoomInAction2.class ) {
-            return zoomIn;
-        } else if ( adapter == ZoomOutAction2.class ) {
-            return zoomOut;
-        } else if ( adapter == ZoomComboContributionItem.class ) {
-            return zitem;
-        }
-
-        return textEditor.getAdapter( adapter );
-    }
-
-    /**
-     * Updates ZoomManagers for contributed actions.
-     */
-    private void updateZoomItems() {
-        updateZoomIn();
-
-        updateZoomOut();
-
-        updateZoomCombo();
-
-    }
-
-    private void updateZoomCombo() {
-        if ( zitem != null ) {
-            zitem.setZoomManager( getZoomManager() );
-        }
-    }
-
-    private void updateZoomIn() {
-        boolean zoomActive = getZoomManager() != null;
-        if ( zoomIn != null ) {
-            zoomIn.setZoomManager( getZoomManager() );
-            zoomIn.setEnabled( zoomActive );
-        }
-    }
-
-    private void updateZoomOut() {
-        boolean zoomActive = getZoomManager() != null;
-        if ( zoomOut != null ) {
-            zoomOut.setZoomManager( getZoomManager() );
-            zoomOut.setEnabled( zoomActive );
-        }
-    }
-
-    /**
-     * Sets ZoomComboContributionItem to be used for updating it's
-     * ZoomManager when multipage tab is switched.
-     * 
-     * @param zitem contribution item
-     */
-    public void setZoomComboContributionItem(ZoomComboContributionItem zitem) {
-        this.zitem = zitem;
-        updateZoomCombo();
-    }
-
-    private ZoomManager getZoomManager() {
-        return (ZoomManager) getAdapter( ZoomManager.class );
-    }
-
-    /**
-     * Sets ZoomOutAction2 to be used for updating it's
-     * ZoomManager when multipage tab is switched.
-     * 
-     * @param zoomOutAction zoom action
-     */
-    public void setZoomOutAction(ZoomOutAction2 zoomOutAction) {
-        this.zoomOut = zoomOutAction;
-        updateZoomOut();
-    }
-
-    /**
-     * Sets ZoomInAction to be used for updating it's
-     * ZoomManager when multipage tab is switched. 
-     * @param zoomInAction zoom action
-     */
-    public void setZoomInAction(ZoomInAction2 zoomInAction) {
-        this.zoomIn = zoomInAction;
-        updateZoomIn();
-    }
-
-    public void setFocus() {
-        if ( getActivePage() == 1 ) {
-            boolean reteFailed = false;
-            graph = null;
-            try {
-                final String contents = textEditor.getDocumentProvider().getDocument( getEditorInput() ).get();
-                final IRunnableWithProgress runnable = new IRunnableWithProgress() {
-
-                    public void run(IProgressMonitor monitor) throws InvocationTargetException,
-                                                             InterruptedException {
-                        try {
-                            graph = reteViewer.loadReteModel( monitor,
-                                                              contents );
-                        } catch ( Throwable e ) {
-                            if ( e instanceof InvocationTargetException ) {
-                                throw (InvocationTargetException) e;
-                            } else if ( e instanceof InterruptedException ) {
-                                throw (InterruptedException) e;
-                            }
-                            throw new InvocationTargetException( e );
-                        }
-
-                    }
-
-                };
-
-                getEditorSite().getWorkbenchWindow().getWorkbench().getProgressService().busyCursorWhile( runnable );
-
-                reteViewer.drawGraph( graph );
-
-            } catch ( InvocationTargetException e ) {
-                handleError( e );
-                reteFailed = true;
-            } catch ( InterruptedException e ) {
-                MessageDialog.openError( getSite().getShell(),
-                                         "Rete Tree Error!",
-                                         "Rete Tree Calculation Cancelled!" );
-                reteFailed = true;
-            } catch ( Throwable t ) {
-                handleError( t );
-                reteFailed = true;
-            }
-            if ( reteFailed ) {
-                setActivePage( 0 );
-            }
-        }
-
-        super.setFocus();
-        updateZoomItems();
-
-    }
-
-    private void handleError(Throwable t) {
-        DroolsEclipsePlugin.log( t );
-        Throwable cause = t.getCause();
-        if ( cause == null ) {
-            cause = t;
-        }
-        String message = cause.getClass().getName()+": "+cause.getMessage();
-        if ( message == null || message.length() == 0 ) {
-            message = "Uncategorized Error!";
-        }
-        IStatus status = new Status( IStatus.ERROR,
-                                     DroolsEclipsePlugin.getUniqueIdentifier(),
-                                     -1,
-                                     message,
-                                     null);
-        ErrorDialog.openError( getSite().getShell(),
-                               "Rete Tree Build Error!",
-                               "Rete Tree Build Error!",
-                               status );
-
-    }
-
-    /**
-     * Increasing visibility to allow switching tabs by page index
-     */
-    public void setActivePage(int pageIndex) {
-        super.setActivePage( pageIndex );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,313 @@
+package org.drools.eclipse.editors;
+
+/*
+ * Copyright 2006 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.
+ */
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.rete.ReteViewer;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.forms.editor.FormEditor;
+
+/**
+ * This is a multi table editor wrapper for both the text editor and the RETE
+ * viewer.
+ * 
+ * @author Kris
+ * @author Ahti Kitsik
+ */
+public class DRLRuleEditor2 extends FormEditor {
+
+    private DRLRuleEditor             textEditor;
+
+    private ReteViewer                reteViewer;
+
+    private ZoomComboContributionItem zitem;
+
+    private ZoomInAction2             zoomIn;
+    private ZoomOutAction2            zoomOut;
+
+    protected ReteGraph               graph;
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.forms.editor.FormEditor#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
+     */
+    public void init(IEditorSite site,
+                     IEditorInput input) throws PartInitException {
+        super.init( site,
+                    input );
+        setPartName( input.getName() );
+    }
+
+    /**
+     * Adds Text Editor for rules and Rete graph viewer
+     * 
+     * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
+     */
+    protected void addPages() {
+        try {
+            textEditor = new DRLRuleEditor() {
+                public void close(boolean save) {
+                    super.close( save );
+                    DRLRuleEditor2.this.close( save );
+                }
+
+                protected void setPartName(String partName) {
+                    super.setPartName( partName );
+                    DRLRuleEditor2.this.setPartName( partName );
+                }
+            };
+
+            reteViewer = new ReteViewer(textEditor);
+
+            int text = addPage( textEditor,
+                                getEditorInput() );
+
+            int rete = addPage( reteViewer,
+                                getEditorInput() );
+
+            setPageText( text,
+                         "Text Editor" );
+            setPageText( rete,
+                         "Rete Tree" );
+
+            textEditor.getDocumentProvider().getDocument( getEditorInput() ).addDocumentListener( new IDocumentListener() {
+
+                public void documentAboutToBeChanged(DocumentEvent event) {
+                }
+
+                public void documentChanged(DocumentEvent event) {
+                    reteViewer.fireDocumentChanged();
+                }
+
+            } );
+
+        } catch ( PartInitException e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
+     */
+    public void doSave(IProgressMonitor monitor) {
+        textEditor.doSave( monitor );
+        setInput( getEditorInput() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.EditorPart#doSaveAs()
+     */
+    public void doSaveAs() {
+        textEditor.doSaveAs();
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
+     */
+    public boolean isSaveAsAllowed() {
+        return textEditor.isSaveAsAllowed();
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.MultiPageEditorPart#getAdapter(java.lang.Class)
+     */
+    public Object getAdapter(Class adapter) {
+        if ( adapter == ZoomManager.class ) {
+
+            if ( getActiveEditor() instanceof ReteViewer ) {
+                return reteViewer.getAdapter( adapter );
+            } else if ( getActiveEditor() instanceof DRLRuleEditor ) {
+                return null;
+            }
+
+        } else if ( adapter == ZoomInAction2.class ) {
+            return zoomIn;
+        } else if ( adapter == ZoomOutAction2.class ) {
+            return zoomOut;
+        } else if ( adapter == ZoomComboContributionItem.class ) {
+            return zitem;
+        }
+
+        return textEditor.getAdapter( adapter );
+    }
+
+    /**
+     * Updates ZoomManagers for contributed actions.
+     */
+    private void updateZoomItems() {
+        updateZoomIn();
+
+        updateZoomOut();
+
+        updateZoomCombo();
+
+    }
+
+    private void updateZoomCombo() {
+        if ( zitem != null ) {
+            zitem.setZoomManager( getZoomManager() );
+        }
+    }
+
+    private void updateZoomIn() {
+        boolean zoomActive = getZoomManager() != null;
+        if ( zoomIn != null ) {
+            zoomIn.setZoomManager( getZoomManager() );
+            zoomIn.setEnabled( zoomActive );
+        }
+    }
+
+    private void updateZoomOut() {
+        boolean zoomActive = getZoomManager() != null;
+        if ( zoomOut != null ) {
+            zoomOut.setZoomManager( getZoomManager() );
+            zoomOut.setEnabled( zoomActive );
+        }
+    }
+
+    /**
+     * Sets ZoomComboContributionItem to be used for updating it's
+     * ZoomManager when multipage tab is switched.
+     * 
+     * @param zitem contribution item
+     */
+    public void setZoomComboContributionItem(ZoomComboContributionItem zitem) {
+        this.zitem = zitem;
+        updateZoomCombo();
+    }
+
+    private ZoomManager getZoomManager() {
+        return (ZoomManager) getAdapter( ZoomManager.class );
+    }
+
+    /**
+     * Sets ZoomOutAction2 to be used for updating it's
+     * ZoomManager when multipage tab is switched.
+     * 
+     * @param zoomOutAction zoom action
+     */
+    public void setZoomOutAction(ZoomOutAction2 zoomOutAction) {
+        this.zoomOut = zoomOutAction;
+        updateZoomOut();
+    }
+
+    /**
+     * Sets ZoomInAction to be used for updating it's
+     * ZoomManager when multipage tab is switched. 
+     * @param zoomInAction zoom action
+     */
+    public void setZoomInAction(ZoomInAction2 zoomInAction) {
+        this.zoomIn = zoomInAction;
+        updateZoomIn();
+    }
+
+    public void setFocus() {
+        if ( getActivePage() == 1 ) {
+            boolean reteFailed = false;
+            graph = null;
+            try {
+                final String contents = textEditor.getDocumentProvider().getDocument( getEditorInput() ).get();
+                final IRunnableWithProgress runnable = new IRunnableWithProgress() {
+
+                    public void run(IProgressMonitor monitor) throws InvocationTargetException,
+                                                             InterruptedException {
+                        try {
+                            graph = reteViewer.loadReteModel( monitor,
+                                                              contents );
+                        } catch ( Throwable e ) {
+                            if ( e instanceof InvocationTargetException ) {
+                                throw (InvocationTargetException) e;
+                            } else if ( e instanceof InterruptedException ) {
+                                throw (InterruptedException) e;
+                            }
+                            throw new InvocationTargetException( e );
+                        }
+
+                    }
+
+                };
+
+                getEditorSite().getWorkbenchWindow().getWorkbench().getProgressService().busyCursorWhile( runnable );
+
+                reteViewer.drawGraph( graph );
+
+            } catch ( InvocationTargetException e ) {
+                handleError( e );
+                reteFailed = true;
+            } catch ( InterruptedException e ) {
+                MessageDialog.openError( getSite().getShell(),
+                                         "Rete Tree Error!",
+                                         "Rete Tree Calculation Cancelled!" );
+                reteFailed = true;
+            } catch ( Throwable t ) {
+                handleError( t );
+                reteFailed = true;
+            }
+            if ( reteFailed ) {
+                setActivePage( 0 );
+            }
+        }
+
+        super.setFocus();
+        updateZoomItems();
+
+    }
+
+    private void handleError(Throwable t) {
+        DroolsEclipsePlugin.log( t );
+        Throwable cause = t.getCause();
+        if ( cause == null ) {
+            cause = t;
+        }
+        String message = cause.getClass().getName()+": "+cause.getMessage();
+        if ( message == null || message.length() == 0 ) {
+            message = "Uncategorized Error!";
+        }
+        IStatus status = new Status( IStatus.ERROR,
+                                     DroolsEclipsePlugin.getUniqueIdentifier(),
+                                     -1,
+                                     message,
+                                     null);
+        ErrorDialog.openError( getSite().getShell(),
+                               "Rete Tree Build Error!",
+                               "Rete Tree Build Error!",
+                               status );
+
+    }
+
+    /**
+     * Increasing visibility to allow switching tabs by page index
+     */
+    public void setActivePage(int pageIndex) {
+        super.setActivePage( pageIndex );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,111 +0,0 @@
-package org.drools.eclipse.editors;
-
-/*
- * Copyright 2006 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.
- */
-
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.editors.text.TextEditorActionContributor;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * ActionContributors for DRLRuleEditor2
- * 
- * Currently implements contributors to zoom feature at rete viewer. 
- * 
- * @author Ahti Kitsik
- *
- */
-public class DRLRuleEditorActionContributor extends MultiPageEditorActionBarContributor {
-
-    private TextEditorActionContributor contributor = new TextEditorActionContributor();
-
-    private ZoomComboContributionItem   zitem;
-    private ZoomOutAction2              zoomOut;
-    private ZoomInAction2               zoomIn;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorActionBarContributor#init(org.eclipse.ui.IActionBars, org.eclipse.ui.IWorkbenchPage)
-     */
-    public void init(IActionBars bars,
-                     IWorkbenchPage page) {
-        contributor.init( bars );
-        super.init( bars,
-                    page );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.MultiPageEditorActionBarContributor#setActivePage(org.eclipse.ui.IEditorPart)
-     */
-    public void setActivePage(IEditorPart activeEditor) {
-        IActionBars bars = getActionBars();
-        if ( activeEditor instanceof ITextEditor ) {
-            if ( bars != null ) {
-                contributor.setActiveEditor( activeEditor );
-            }
-        }
-    }
-
-    /**
-     * In addition to @link org.eclipse.ui.part.MultiPageEditorActionBarContributor#setActiveEditor(org.eclipse.ui.IEditorPart)
-     * it sets contribution items to DRLRuleEditor2 for later use when
-     * multipageditor tabs are switched.
-     * 
-     */
-    public void setActiveEditor(IEditorPart part) {
-        super.setActiveEditor( part );
-        if ( part instanceof DRLRuleEditor2 ) {
-            DRLRuleEditor2 p = (DRLRuleEditor2) part;
-            p.setZoomComboContributionItem( zitem );
-            p.setZoomInAction( zoomIn );
-            p.setZoomOutAction( zoomOut );
-        }
-    }
-
-    /**
-     * Adds Zoom-related contributions.
-     * 
-     * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToToolBar(org.eclipse.jface.action.IToolBarManager)
-     */
-    public void contributeToToolBar(IToolBarManager toolBarManager) {
-        super.contributeToToolBar( toolBarManager );
-        toolBarManager.add( new Separator() );
-        String[] zoomStrings = new String[]{ZoomManager.FIT_ALL, ZoomManager.FIT_HEIGHT, ZoomManager.FIT_WIDTH};
-
-        zitem = new ZoomComboContributionItem( getPage(),
-                                               zoomStrings );
-        zitem.setZoomManager( null );
-        zitem.setVisible( false );
-
-        zoomIn = new ZoomInAction2();
-        zoomIn.setEnabled( false );
-
-        zoomOut = new ZoomOutAction2();
-        zoomOut.setEnabled( false );
-
-        toolBarManager.add( zitem );
-        toolBarManager.add( zoomIn );
-        toolBarManager.add( zoomOut );
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,111 @@
+package org.drools.eclipse.editors;
+
+/*
+ * Copyright 2006 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.
+ */
+
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.editors.text.TextEditorActionContributor;
+import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
+import org.eclipse.ui.texteditor.ITextEditor;
+
+/**
+ * ActionContributors for DRLRuleEditor2
+ * 
+ * Currently implements contributors to zoom feature at rete viewer. 
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class DRLRuleEditorActionContributor extends MultiPageEditorActionBarContributor {
+
+    private TextEditorActionContributor contributor = new TextEditorActionContributor();
+
+    private ZoomComboContributionItem   zitem;
+    private ZoomOutAction2              zoomOut;
+    private ZoomInAction2               zoomIn;
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.EditorActionBarContributor#init(org.eclipse.ui.IActionBars, org.eclipse.ui.IWorkbenchPage)
+     */
+    public void init(IActionBars bars,
+                     IWorkbenchPage page) {
+        contributor.init( bars );
+        super.init( bars,
+                    page );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.MultiPageEditorActionBarContributor#setActivePage(org.eclipse.ui.IEditorPart)
+     */
+    public void setActivePage(IEditorPart activeEditor) {
+        IActionBars bars = getActionBars();
+        if ( activeEditor instanceof ITextEditor ) {
+            if ( bars != null ) {
+                contributor.setActiveEditor( activeEditor );
+            }
+        }
+    }
+
+    /**
+     * In addition to @link org.eclipse.ui.part.MultiPageEditorActionBarContributor#setActiveEditor(org.eclipse.ui.IEditorPart)
+     * it sets contribution items to DRLRuleEditor2 for later use when
+     * multipageditor tabs are switched.
+     * 
+     */
+    public void setActiveEditor(IEditorPart part) {
+        super.setActiveEditor( part );
+        if ( part instanceof DRLRuleEditor2 ) {
+            DRLRuleEditor2 p = (DRLRuleEditor2) part;
+            p.setZoomComboContributionItem( zitem );
+            p.setZoomInAction( zoomIn );
+            p.setZoomOutAction( zoomOut );
+        }
+    }
+
+    /**
+     * Adds Zoom-related contributions.
+     * 
+     * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToToolBar(org.eclipse.jface.action.IToolBarManager)
+     */
+    public void contributeToToolBar(IToolBarManager toolBarManager) {
+        super.contributeToToolBar( toolBarManager );
+        toolBarManager.add( new Separator() );
+        String[] zoomStrings = new String[]{ZoomManager.FIT_ALL, ZoomManager.FIT_HEIGHT, ZoomManager.FIT_WIDTH};
+
+        zitem = new ZoomComboContributionItem( getPage(),
+                                               zoomStrings );
+        zitem.setZoomManager( null );
+        zitem.setVisible( false );
+
+        zoomIn = new ZoomInAction2();
+        zoomIn.setEnabled( false );
+
+        zoomOut = new ZoomOutAction2();
+        zoomOut.setEnabled( false );
+
+        toolBarManager.add( zitem );
+        toolBarManager.add( zoomIn );
+        toolBarManager.add( zoomOut );
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,125 +0,0 @@
-package org.drools.eclipse.editors;
-
-import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
-import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.drools.eclipse.editors.scanners.DRLScanner;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.presentation.IPresentationReconciler;
-import org.eclipse.jface.text.presentation.PresentationReconciler;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.reconciler.MonoReconciler;
-import org.eclipse.jface.text.rules.BufferedRuleBasedScanner;
-import org.eclipse.jface.text.rules.DefaultDamagerRepairer;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.source.DefaultAnnotationHover;
-import org.eclipse.jface.text.source.IAnnotationHover;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-
-/**
- * Source viewer config wires up the syntax highlighting, partitioning
- * and content assistance.
- * 
- * @author Michael Neale
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DRLSourceViewerConfig extends SourceViewerConfiguration {
-
-	private DRLScanner scanner;
-
-	private AbstractRuleEditor editor;
-
-	public DRLSourceViewerConfig(AbstractRuleEditor editor) {
-		this.editor = editor;
-	}
-	
-	protected AbstractRuleEditor getEditor() {
-		return editor;
-	}
-
-	protected DRLScanner getScanner() {
-		if (scanner == null) {
-			scanner = new DRLScanner();
-		}
-		return scanner;
-	}
-
-	/**
-	 * Define reconciler - this has to be done for each partition.
-	 * Currently there are 3 partitions, Inside rule, outside rule and inside comment.
-	 */
-	public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
-		PresentationReconciler reconciler = new PresentationReconciler();
-
-		//bucket partition... (everything else outside a rule)
-		DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getScanner());
-		reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
-		reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
-
-		//inside a rule partition
-		dr = new DefaultDamagerRepairer(getScanner());
-		reconciler.setDamager(dr, DRLPartionScanner.RULE_PART_CONTENT);
-		reconciler.setRepairer(dr, DRLPartionScanner.RULE_PART_CONTENT);
-
-		//finally, inside a multi line comment.
-		dr = new DefaultDamagerRepairer(new SingleTokenScanner(
-				new TextAttribute(ColorManager.getInstance().getColor(
-						ColorManager.SINGLE_LINE_COMMENT))));
-		reconciler.setDamager(dr, DRLPartionScanner.RULE_COMMENT);
-		reconciler.setRepairer(dr, DRLPartionScanner.RULE_COMMENT);
-
-		return reconciler;
-	}
-
-	/**
-	 * Single token scanner, used for scanning for multiline comments mainly.
-	 */
-	static class SingleTokenScanner extends BufferedRuleBasedScanner {
-		public SingleTokenScanner(TextAttribute attribute) {
-			setDefaultReturnToken(new Token(attribute));
-		}
-	}
-
-	/**
-	 * Get the appropriate content assistance, for each partition.
-	 */
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-		ContentAssistant assistant = new ContentAssistant();
-		//setup the content assistance, which is
-		//sensitive to the partition that it is in.
-		assistant.setContentAssistProcessor(
-			new DefaultCompletionProcessor(editor), IDocument.DEFAULT_CONTENT_TYPE);
-		assistant.setContentAssistProcessor(
-			new RuleCompletionProcessor(editor), DRLPartionScanner.RULE_PART_CONTENT);
-		assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-		return assistant;
-	}
-
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-		return DRLPartionScanner.LEGAL_CONTENT_TYPES;
-	}
-
-	public IReconciler getReconciler(ISourceViewer sourceViewer) {
-		MonoReconciler reconciler = null;
-		if (sourceViewer != null) {
-			reconciler = new MonoReconciler(
-				new DRLReconcilingStrategy(sourceViewer, editor), false);
-			reconciler.setDelay(500);
-			reconciler.setProgressMonitor(new NullProgressMonitor());
-		}
-		return reconciler;
-	}
-
-	public IAnnotationHover getOverviewRulerAnnotationHover(ISourceViewer sourceViewer) {
-		return new DefaultAnnotationHover();
-	}
-
-	public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
-		return new DefaultAnnotationHover();
-	}
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,125 @@
+package org.drools.eclipse.editors;
+
+import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
+import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.drools.eclipse.editors.scanners.DRLScanner;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.TextAttribute;
+import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.presentation.IPresentationReconciler;
+import org.eclipse.jface.text.presentation.PresentationReconciler;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.reconciler.MonoReconciler;
+import org.eclipse.jface.text.rules.BufferedRuleBasedScanner;
+import org.eclipse.jface.text.rules.DefaultDamagerRepairer;
+import org.eclipse.jface.text.rules.Token;
+import org.eclipse.jface.text.source.DefaultAnnotationHover;
+import org.eclipse.jface.text.source.IAnnotationHover;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewerConfiguration;
+
+/**
+ * Source viewer config wires up the syntax highlighting, partitioning
+ * and content assistance.
+ * 
+ * @author Michael Neale
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DRLSourceViewerConfig extends SourceViewerConfiguration {
+
+	private DRLScanner scanner;
+
+	private AbstractRuleEditor editor;
+
+	public DRLSourceViewerConfig(AbstractRuleEditor editor) {
+		this.editor = editor;
+	}
+	
+	protected AbstractRuleEditor getEditor() {
+		return editor;
+	}
+
+	protected DRLScanner getScanner() {
+		if (scanner == null) {
+			scanner = new DRLScanner();
+		}
+		return scanner;
+	}
+
+	/**
+	 * Define reconciler - this has to be done for each partition.
+	 * Currently there are 3 partitions, Inside rule, outside rule and inside comment.
+	 */
+	public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
+		PresentationReconciler reconciler = new PresentationReconciler();
+
+		//bucket partition... (everything else outside a rule)
+		DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getScanner());
+		reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
+		reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
+
+		//inside a rule partition
+		dr = new DefaultDamagerRepairer(getScanner());
+		reconciler.setDamager(dr, DRLPartionScanner.RULE_PART_CONTENT);
+		reconciler.setRepairer(dr, DRLPartionScanner.RULE_PART_CONTENT);
+
+		//finally, inside a multi line comment.
+		dr = new DefaultDamagerRepairer(new SingleTokenScanner(
+				new TextAttribute(ColorManager.getInstance().getColor(
+						ColorManager.SINGLE_LINE_COMMENT))));
+		reconciler.setDamager(dr, DRLPartionScanner.RULE_COMMENT);
+		reconciler.setRepairer(dr, DRLPartionScanner.RULE_COMMENT);
+
+		return reconciler;
+	}
+
+	/**
+	 * Single token scanner, used for scanning for multiline comments mainly.
+	 */
+	static class SingleTokenScanner extends BufferedRuleBasedScanner {
+		public SingleTokenScanner(TextAttribute attribute) {
+			setDefaultReturnToken(new Token(attribute));
+		}
+	}
+
+	/**
+	 * Get the appropriate content assistance, for each partition.
+	 */
+	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+		ContentAssistant assistant = new ContentAssistant();
+		//setup the content assistance, which is
+		//sensitive to the partition that it is in.
+		assistant.setContentAssistProcessor(
+			new DefaultCompletionProcessor(editor), IDocument.DEFAULT_CONTENT_TYPE);
+		assistant.setContentAssistProcessor(
+			new RuleCompletionProcessor(editor), DRLPartionScanner.RULE_PART_CONTENT);
+		assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+		return assistant;
+	}
+
+	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
+		return DRLPartionScanner.LEGAL_CONTENT_TYPES;
+	}
+
+	public IReconciler getReconciler(ISourceViewer sourceViewer) {
+		MonoReconciler reconciler = null;
+		if (sourceViewer != null) {
+			reconciler = new MonoReconciler(
+				new DRLReconcilingStrategy(sourceViewer, editor), false);
+			reconciler.setDelay(500);
+			reconciler.setProgressMonitor(new NullProgressMonitor());
+		}
+		return reconciler;
+	}
+
+	public IAnnotationHover getOverviewRulerAnnotationHover(ISourceViewer sourceViewer) {
+		return new DefaultAnnotationHover();
+	}
+
+	public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
+		return new DefaultAnnotationHover();
+	}
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,108 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.Iterator;
-
-import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.FactTemplateDescr;
-import org.drools.lang.descr.FunctionDescr;
-import org.drools.lang.descr.FunctionImportDescr;
-import org.drools.lang.descr.GlobalDescr;
-import org.drools.lang.descr.ImportDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.RuleDescr;
-
-/**
- * Util class for searching Descr tree.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public final class DescrUtil {
-	
-	private DescrUtil() {
-	}
-
-	public static BaseDescr getDescr(BaseDescr descr, int offset) {
-		if (descr instanceof PackageDescr) {
-			PackageDescr packageDescr = (PackageDescr) descr;
-			// rules
-			for (Iterator iterator = packageDescr.getRules().iterator(); iterator.hasNext(); ) {
-				RuleDescr ruleDescr = (RuleDescr) iterator.next();
-				if (ruleDescr != null) {
-					BaseDescr result = getDescr(ruleDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// imports
-			for (Iterator iterator = packageDescr.getImports().iterator(); iterator.hasNext(); ) {
-				ImportDescr importDescr = (ImportDescr) iterator.next();
-				if (importDescr != null) {
-					BaseDescr result = getDescr(importDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// function imports
-			for (Iterator iterator = packageDescr.getFunctionImports().iterator(); iterator.hasNext(); ) {
-				FunctionImportDescr functionImportDescr = (FunctionImportDescr) iterator.next();
-				if (functionImportDescr != null) {
-					BaseDescr result = getDescr(functionImportDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// functions
-			for (Iterator iterator = packageDescr.getFunctions().iterator(); iterator.hasNext(); ) {
-				FunctionDescr functionDescr = (FunctionDescr) iterator.next();
-				if (functionDescr != null) {
-					BaseDescr result = getDescr(functionDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// attributes
-			for (Iterator iterator = packageDescr.getAttributes().iterator(); iterator.hasNext(); ) {
-				AttributeDescr attributeDescr = (AttributeDescr) iterator.next();
-				if (attributeDescr != null) {
-					BaseDescr result = getDescr(attributeDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// globals
-			for (Iterator iterator = packageDescr.getGlobals().iterator(); iterator.hasNext(); ) {
-				GlobalDescr globalDescr = (GlobalDescr) iterator.next();
-				if (globalDescr != null) {
-					BaseDescr result = getDescr(globalDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// fact templates
-			for (Iterator iterator = packageDescr.getFactTemplates().iterator(); iterator.hasNext(); ) {
-				FactTemplateDescr factTemplDescr = (FactTemplateDescr) iterator.next();
-				if (factTemplDescr != null) {
-					BaseDescr result = getDescr(factTemplDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			return null;
-		} else {
-			if (offset < descr.getStartCharacter() || offset > descr.getEndCharacter()) {
-				return null;
-			}
-			// TODO: select subDescr if possible
-			return descr;
-		}
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,108 @@
+package org.drools.eclipse.editors;
+
+import java.util.Iterator;
+
+import org.drools.lang.descr.AttributeDescr;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.FunctionImportDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.lang.descr.ImportDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.RuleDescr;
+
+/**
+ * Util class for searching Descr tree.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public final class DescrUtil {
+	
+	private DescrUtil() {
+	}
+
+	public static BaseDescr getDescr(BaseDescr descr, int offset) {
+		if (descr instanceof PackageDescr) {
+			PackageDescr packageDescr = (PackageDescr) descr;
+			// rules
+			for (Iterator iterator = packageDescr.getRules().iterator(); iterator.hasNext(); ) {
+				RuleDescr ruleDescr = (RuleDescr) iterator.next();
+				if (ruleDescr != null) {
+					BaseDescr result = getDescr(ruleDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// imports
+			for (Iterator iterator = packageDescr.getImports().iterator(); iterator.hasNext(); ) {
+				ImportDescr importDescr = (ImportDescr) iterator.next();
+				if (importDescr != null) {
+					BaseDescr result = getDescr(importDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// function imports
+			for (Iterator iterator = packageDescr.getFunctionImports().iterator(); iterator.hasNext(); ) {
+				FunctionImportDescr functionImportDescr = (FunctionImportDescr) iterator.next();
+				if (functionImportDescr != null) {
+					BaseDescr result = getDescr(functionImportDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// functions
+			for (Iterator iterator = packageDescr.getFunctions().iterator(); iterator.hasNext(); ) {
+				FunctionDescr functionDescr = (FunctionDescr) iterator.next();
+				if (functionDescr != null) {
+					BaseDescr result = getDescr(functionDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// attributes
+			for (Iterator iterator = packageDescr.getAttributes().iterator(); iterator.hasNext(); ) {
+				AttributeDescr attributeDescr = (AttributeDescr) iterator.next();
+				if (attributeDescr != null) {
+					BaseDescr result = getDescr(attributeDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// globals
+			for (Iterator iterator = packageDescr.getGlobals().iterator(); iterator.hasNext(); ) {
+				GlobalDescr globalDescr = (GlobalDescr) iterator.next();
+				if (globalDescr != null) {
+					BaseDescr result = getDescr(globalDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// fact templates
+			for (Iterator iterator = packageDescr.getFactTemplates().iterator(); iterator.hasNext(); ) {
+				FactTemplateDescr factTemplDescr = (FactTemplateDescr) iterator.next();
+				if (factTemplDescr != null) {
+					BaseDescr result = getDescr(factTemplDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			return null;
+		} else {
+			if (offset < descr.getStartCharacter() || offset > descr.getEndCharacter()) {
+				return null;
+			}
+			// TODO: select subDescr if possible
+			return descr;
+		}
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,89 +0,0 @@
-package org.drools.eclipse.editors;
-
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.debug.core.DroolsLineBreakpoint;
-import org.drools.eclipse.debug.core.IDroolsDebugConstants;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class DroolsLineBreakpointAdapter implements IToggleBreakpointsTarget {
-
-	public boolean canToggleLineBreakpoints(IWorkbenchPart part, ISelection selection) {
-		if (part instanceof IEditorPart && selection instanceof ITextSelection) {
-			IEditorPart editor = (IEditorPart) part;
-			IResource resource = (IResource) editor.getEditorInput().getAdapter(IResource.class);
-			ITextSelection textSelection = (ITextSelection) selection;
-			int lineNumber = textSelection.getStartLine();
-			try {
-				DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(resource, false);
-				if (drlInfo != null) {
-					RuleInfo ruleInfo = drlInfo.getRuleInfo(lineNumber);
-					if (ruleInfo != null) {
-						if (ruleInfo.getConsequenceDrlLineNumber() <= lineNumber) {
-							return true;
-						}
-					}
-					FunctionInfo functionInfo = drlInfo.getFunctionInfo(lineNumber);
-					if (functionInfo != null) {
-						if (functionInfo.getDrlLineNumber() <= lineNumber) {
-							return true;
-						}
-					}
-				}
-			} catch (Throwable t) {
-				DroolsEclipsePlugin.log(t);
-			}
-		}
-		return false;
-	}
-
-	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) {
-		return false;
-	}
-
-	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection) {
-		return false;
-	}
-
-	public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-		if (part instanceof IEditorPart) {
-			IEditorPart editor = (IEditorPart) part;
-			IResource resource = (IResource) editor.getEditorInput().getAdapter(IResource.class);
-			ITextSelection textSelection = (ITextSelection) selection;
-			int lineNumber = textSelection.getStartLine();
-			IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL);
-			for (int i = 0; i < breakpoints.length; i++) {
-				IBreakpoint breakpoint = breakpoints[i];
-				if (resource.equals(breakpoint.getMarker().getResource())) {
-					if (breakpoint.getMarker().getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
-						if (((DroolsLineBreakpoint) breakpoint).getDRLLineNumber() == (lineNumber + 1)) {
-							breakpoint.delete();
-							return;
-						}
-					}
-				}
-			}
-			// TODO: drools breakpoints can only be created in functions and consequences
-			DroolsLineBreakpoint lineBreakpoint = new DroolsLineBreakpoint(resource, lineNumber + 1);
-			DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(lineBreakpoint);
-		}
-	}
-
-    public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-		// do nothing
-	}
-
-	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-		// do nothing
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,89 @@
+package org.drools.eclipse.editors;
+
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.debug.core.DroolsLineBreakpoint;
+import org.drools.eclipse.debug.core.IDroolsDebugConstants;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
+import org.eclipse.jface.text.ITextSelection;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPart;
+
+public class DroolsLineBreakpointAdapter implements IToggleBreakpointsTarget {
+
+	public boolean canToggleLineBreakpoints(IWorkbenchPart part, ISelection selection) {
+		if (part instanceof IEditorPart && selection instanceof ITextSelection) {
+			IEditorPart editor = (IEditorPart) part;
+			IResource resource = (IResource) editor.getEditorInput().getAdapter(IResource.class);
+			ITextSelection textSelection = (ITextSelection) selection;
+			int lineNumber = textSelection.getStartLine();
+			try {
+				DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(resource, false);
+				if (drlInfo != null) {
+					RuleInfo ruleInfo = drlInfo.getRuleInfo(lineNumber);
+					if (ruleInfo != null) {
+						if (ruleInfo.getConsequenceDrlLineNumber() <= lineNumber) {
+							return true;
+						}
+					}
+					FunctionInfo functionInfo = drlInfo.getFunctionInfo(lineNumber);
+					if (functionInfo != null) {
+						if (functionInfo.getDrlLineNumber() <= lineNumber) {
+							return true;
+						}
+					}
+				}
+			} catch (Throwable t) {
+				DroolsEclipsePlugin.log(t);
+			}
+		}
+		return false;
+	}
+
+	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) {
+		return false;
+	}
+
+	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection) {
+		return false;
+	}
+
+	public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
+		if (part instanceof IEditorPart) {
+			IEditorPart editor = (IEditorPart) part;
+			IResource resource = (IResource) editor.getEditorInput().getAdapter(IResource.class);
+			ITextSelection textSelection = (ITextSelection) selection;
+			int lineNumber = textSelection.getStartLine();
+			IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL);
+			for (int i = 0; i < breakpoints.length; i++) {
+				IBreakpoint breakpoint = breakpoints[i];
+				if (resource.equals(breakpoint.getMarker().getResource())) {
+					if (breakpoint.getMarker().getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
+						if (((DroolsLineBreakpoint) breakpoint).getDRLLineNumber() == (lineNumber + 1)) {
+							breakpoint.delete();
+							return;
+						}
+					}
+				}
+			}
+			// TODO: drools breakpoints can only be created in functions and consequences
+			DroolsLineBreakpoint lineBreakpoint = new DroolsLineBreakpoint(resource, lineNumber + 1);
+			DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(lineBreakpoint);
+		}
+	}
+
+    public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
+		// do nothing
+	}
+
+	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
+		// do nothing
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,89 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.Stack;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.source.ICharacterPairMatcher;
-
-public final class DroolsPairMatcher implements ICharacterPairMatcher {
-
-	private int anchor;
-	private static final char[] leftChars = new char[] { '(', '{', '[' };
-	private static final char[] rightChars = new char[] { ')', '}', ']' };
-
-	public IRegion match(IDocument document, int offset) {
-        if (offset <= 0) {
-        	return null;
-        }
-        try {
-		    char c = document.getChar(offset - 1);
-		    for (int i = 0; i < rightChars.length; i++) {
-			    if (c == rightChars[i]) {
-			        return searchLeft(document, offset, rightChars[i], leftChars[i]);
-			    }
-			    if (c == leftChars[i]) {
-			        return searchRight(document, offset, rightChars[i], leftChars[i]);
-			    }
-		    }
-        } catch (BadLocationException e) {
-        	DroolsEclipsePlugin.log(e);
-        }
-        return null;
-    }
-
-	private IRegion searchRight(IDocument document, int offset, char rightChar, char leftChar) throws BadLocationException {
-        Stack stack = new Stack();
-        anchor = ICharacterPairMatcher.LEFT;
-        char[] chars = document.get(offset, document.getLength() - offset).toCharArray();
-        for (int i = 0; i < chars.length; i++) {
-	        if (chars[i] == leftChar) {
-	            stack.push(new Character(chars[i]));
-	            continue;
-	        }
-	        if (chars[i] == rightChar) {
-	        	if (stack.isEmpty()) {
-		            return new Region(offset - 1, i + 2);
-		        } else {
-		        	stack.pop();
-		        }
-	        }
-        }
-        return null;
-    }
-
-	private IRegion searchLeft(IDocument document, int offset, char rightChar, char leftChar)
-			throws BadLocationException {
-		Stack stack = new Stack();
-		anchor = ICharacterPairMatcher.RIGHT;
-		char[] chars = document.get(0, offset - 1).toCharArray();
-        for (int i = chars.length - 1; i >= 0; i--) {
-			if (chars[i] == rightChar) {
-				stack.push(new Character(chars[i]));
-				continue;
-			}
-			if (chars[i] == leftChar) {
-				if (stack.isEmpty()) {
-					return new Region(i, offset - i);
-				} else {
-					stack.pop();
-				}
-			}
-        }
-		return null;
-	}
-
-	public int getAnchor() {
-		return anchor;
-	}
-
-	public void dispose() {
-	}
-
-	public void clear() {
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,89 @@
+package org.drools.eclipse.editors;
+
+import java.util.Stack;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Region;
+import org.eclipse.jface.text.source.ICharacterPairMatcher;
+
+public final class DroolsPairMatcher implements ICharacterPairMatcher {
+
+	private int anchor;
+	private static final char[] leftChars = new char[] { '(', '{', '[' };
+	private static final char[] rightChars = new char[] { ')', '}', ']' };
+
+	public IRegion match(IDocument document, int offset) {
+        if (offset <= 0) {
+        	return null;
+        }
+        try {
+		    char c = document.getChar(offset - 1);
+		    for (int i = 0; i < rightChars.length; i++) {
+			    if (c == rightChars[i]) {
+			        return searchLeft(document, offset, rightChars[i], leftChars[i]);
+			    }
+			    if (c == leftChars[i]) {
+			        return searchRight(document, offset, rightChars[i], leftChars[i]);
+			    }
+		    }
+        } catch (BadLocationException e) {
+        	DroolsEclipsePlugin.log(e);
+        }
+        return null;
+    }
+
+	private IRegion searchRight(IDocument document, int offset, char rightChar, char leftChar) throws BadLocationException {
+        Stack stack = new Stack();
+        anchor = ICharacterPairMatcher.LEFT;
+        char[] chars = document.get(offset, document.getLength() - offset).toCharArray();
+        for (int i = 0; i < chars.length; i++) {
+	        if (chars[i] == leftChar) {
+	            stack.push(new Character(chars[i]));
+	            continue;
+	        }
+	        if (chars[i] == rightChar) {
+	        	if (stack.isEmpty()) {
+		            return new Region(offset - 1, i + 2);
+		        } else {
+		        	stack.pop();
+		        }
+	        }
+        }
+        return null;
+    }
+
+	private IRegion searchLeft(IDocument document, int offset, char rightChar, char leftChar)
+			throws BadLocationException {
+		Stack stack = new Stack();
+		anchor = ICharacterPairMatcher.RIGHT;
+		char[] chars = document.get(0, offset - 1).toCharArray();
+        for (int i = chars.length - 1; i >= 0; i--) {
+			if (chars[i] == rightChar) {
+				stack.push(new Character(chars[i]));
+				continue;
+			}
+			if (chars[i] == leftChar) {
+				if (stack.isEmpty()) {
+					return new Region(i, offset - i);
+				} else {
+					stack.pop();
+				}
+			}
+        }
+		return null;
+	}
+
+	public int getAnchor() {
+		return anchor;
+	}
+
+	public void dispose() {
+	}
+
+	public void clear() {
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,77 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This provides a list of keywords for syntax highlighting.
- * Uses a pseudo properties file format.
- * @author Michael Neale
- */
-public class Keywords {
-
-    private String[] allDrools;
-    private String[] allJava;
-    private String[] allMvel;
-    private static Keywords instance;
-
-    public static Keywords getInstance() {
-        if (instance == null) {
-            instance = new Keywords();
-        }
-        return instance;
-    }
-
-
-    public String[] getAllDroolsKeywords() {
-        return allDrools;
-    }
-
-    public String[] getAllJavaKeywords() {
-        return allJava;
-    }
-
-    public String[] getAllMvelKeywords() {
-        return allMvel;
-    }
-
-
-    private Keywords() {
-    	allDrools = readKeywords("keywords.properties");
-        allJava = readKeywords("java_keywords.properties");
-        allMvel = readKeywords("mvel_keywords.properties");
-    }
-
-    private String[] readKeywords(String fileName) {
-        InputStream stream = this.getClass().getResourceAsStream(fileName);
-        try {
-            BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
-
-            List list = new ArrayList();
-
-            String line = null;
-            while ((line = reader.readLine()) != null) {
-               if (!line.startsWith( "#" ))  list.add( line );
-            }
-
-            return (String[]) list.toArray( new String[list.size()] );
-        }
-        catch ( IOException e ) {
-            throw new IllegalArgumentException("Could not load keywords for editor.");
-        }
-        finally {
-            try {
-                stream.close();
-            }
-            catch ( IOException e ) {
-                throw new IllegalStateException("Error closing stream.");
-            }
-        }
-    }
-
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,77 @@
+package org.drools.eclipse.editors;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * This provides a list of keywords for syntax highlighting.
+ * Uses a pseudo properties file format.
+ * @author Michael Neale
+ */
+public class Keywords {
+
+    private String[] allDrools;
+    private String[] allJava;
+    private String[] allMvel;
+    private static Keywords instance;
+
+    public static Keywords getInstance() {
+        if (instance == null) {
+            instance = new Keywords();
+        }
+        return instance;
+    }
+
+
+    public String[] getAllDroolsKeywords() {
+        return allDrools;
+    }
+
+    public String[] getAllJavaKeywords() {
+        return allJava;
+    }
+
+    public String[] getAllMvelKeywords() {
+        return allMvel;
+    }
+
+
+    private Keywords() {
+    	allDrools = readKeywords("keywords.properties");
+        allJava = readKeywords("java_keywords.properties");
+        allMvel = readKeywords("mvel_keywords.properties");
+    }
+
+    private String[] readKeywords(String fileName) {
+        InputStream stream = this.getClass().getResourceAsStream(fileName);
+        try {
+            BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
+
+            List list = new ArrayList();
+
+            String line = null;
+            while ((line = reader.readLine()) != null) {
+               if (!line.startsWith( "#" ))  list.add( line );
+            }
+
+            return (String[]) list.toArray( new String[list.size()] );
+        }
+        catch ( IOException e ) {
+            throw new IllegalArgumentException("Could not load keywords for editor.");
+        }
+        finally {
+            try {
+                stream.close();
+            }
+            catch ( IOException e ) {
+                throw new IllegalStateException("Error closing stream.");
+            }
+        }
+    }
+
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.editors;
-
-/*
- * Copyright 2006 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.
- */
-
-import org.eclipse.draw2d.ScalableFigure;
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.ui.actions.ZoomInAction;
-
-/**
- * Similar to ZoomInAction but adds setZoomManager(..) functionality.
- * 
- * ZoomInAction2 provides default constructor for initializing
- * ZoomInAction without the need for ZoomManager.
- * 
- * Please note that ZoomInAction2 is not very functional until it has
- * correct zoomManager set by setZoomManager(ZoomManager manager).<br/>
- * 
- * setZoomManager(ZoomManager manager) can be used several times.
- * 
- * @author Ahti Kitsik
- *
- */
-public class ZoomInAction2 extends ZoomInAction {
-
-    final private static ZoomManager FAKE_ZOOM_MANAGER = new ZoomManager( (ScalableFigure) null,
-                                                                          null );
-
-    /**
-     * Default constructor to allow ZoomInActions without specified
-     * ZoomManager.
-     */
-    public ZoomInAction2() {
-        super( FAKE_ZOOM_MANAGER );
-    }
-
-    /**
-     * Replaces existing zoomManager with the new one.
-     * 
-     * Implementation is null-safe.
-     * 
-     * @param newManager new zoom manager
-     */
-    public void setZoomManager(ZoomManager newManager) {
-
-        if ( zoomManager != null ) {
-            zoomManager.removeZoomListener( this );
-        }
-
-        zoomManager = newManager;
-
-        if ( zoomManager != null ) {
-            zoomManager.addZoomListener( this );
-        }
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.editors;
+
+/*
+ * Copyright 2006 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.
+ */
+
+import org.eclipse.draw2d.ScalableFigure;
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.ui.actions.ZoomInAction;
+
+/**
+ * Similar to ZoomInAction but adds setZoomManager(..) functionality.
+ * 
+ * ZoomInAction2 provides default constructor for initializing
+ * ZoomInAction without the need for ZoomManager.
+ * 
+ * Please note that ZoomInAction2 is not very functional until it has
+ * correct zoomManager set by setZoomManager(ZoomManager manager).<br/>
+ * 
+ * setZoomManager(ZoomManager manager) can be used several times.
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class ZoomInAction2 extends ZoomInAction {
+
+    final private static ZoomManager FAKE_ZOOM_MANAGER = new ZoomManager( (ScalableFigure) null,
+                                                                          null );
+
+    /**
+     * Default constructor to allow ZoomInActions without specified
+     * ZoomManager.
+     */
+    public ZoomInAction2() {
+        super( FAKE_ZOOM_MANAGER );
+    }
+
+    /**
+     * Replaces existing zoomManager with the new one.
+     * 
+     * Implementation is null-safe.
+     * 
+     * @param newManager new zoom manager
+     */
+    public void setZoomManager(ZoomManager newManager) {
+
+        if ( zoomManager != null ) {
+            zoomManager.removeZoomListener( this );
+        }
+
+        zoomManager = newManager;
+
+        if ( zoomManager != null ) {
+            zoomManager.addZoomListener( this );
+        }
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.editors;
-
-/*
- * Copyright 2006 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.
- */
-
-import org.eclipse.draw2d.ScalableFigure;
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.ui.actions.ZoomOutAction;
-
-/**
- * Similar to ZoomOutAction but adds setZoomManager(..) functionality.
- * 
- * ZoomOutAction2 provides default constructor for initializing
- * ZoomOutAction without the need for ZoomManager.
- * 
- * Please note that ZoomOutAction2 is not very functional until it has
- * correct zoomManager set by setZoomManager(ZoomManager manager).<br/>
- * 
- * setZoomManager(ZoomManager manager) can be used several times.
- * 
- * @author Ahti Kitsik
- *
- */
-public class ZoomOutAction2 extends ZoomOutAction {
-
-    final private static ZoomManager FAKE_ZOOM_MANAGER = new ZoomManager( (ScalableFigure) null,
-                                                                          null );
-
-    /**
-     * Default constructor to allow ZoomOutActions without specified
-     * ZoomManager.
-     */
-    public ZoomOutAction2() {
-        super( FAKE_ZOOM_MANAGER );
-    }
-
-    /**
-     * Replaces existing zoomManager with the new one.
-     * 
-     * Implementation is null-safe.
-     * 
-     * @param newManager new zoom manager
-     */
-    public void setZoomManager(ZoomManager manager) {
-
-        if ( zoomManager != null ) {
-            zoomManager.removeZoomListener( this );
-        }
-
-        zoomManager = manager;
-
-        if ( zoomManager != null ) {
-            zoomManager.addZoomListener( this );
-        }
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.editors;
+
+/*
+ * Copyright 2006 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.
+ */
+
+import org.eclipse.draw2d.ScalableFigure;
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.ui.actions.ZoomOutAction;
+
+/**
+ * Similar to ZoomOutAction but adds setZoomManager(..) functionality.
+ * 
+ * ZoomOutAction2 provides default constructor for initializing
+ * ZoomOutAction without the need for ZoomManager.
+ * 
+ * Please note that ZoomOutAction2 is not very functional until it has
+ * correct zoomManager set by setZoomManager(ZoomManager manager).<br/>
+ * 
+ * setZoomManager(ZoomManager manager) can be used several times.
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class ZoomOutAction2 extends ZoomOutAction {
+
+    final private static ZoomManager FAKE_ZOOM_MANAGER = new ZoomManager( (ScalableFigure) null,
+                                                                          null );
+
+    /**
+     * Default constructor to allow ZoomOutActions without specified
+     * ZoomManager.
+     */
+    public ZoomOutAction2() {
+        super( FAKE_ZOOM_MANAGER );
+    }
+
+    /**
+     * Replaces existing zoomManager with the new one.
+     * 
+     * Implementation is null-safe.
+     * 
+     * @param newManager new zoom manager
+     */
+    public void setZoomManager(ZoomManager manager) {
+
+        if ( zoomManager != null ) {
+            zoomManager.removeZoomListener( this );
+        }
+
+        zoomManager = manager;
+
+        if ( zoomManager != null ) {
+            zoomManager.addZoomListener( this );
+        }
+
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,113 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.ui.IEditorPart;
-
-/**
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class AbstractCompletionProcessor implements IContentAssistProcessor {
-
-    private IEditorPart editor;
-
-    public AbstractCompletionProcessor(IEditorPart editor) {
-    	this.editor = editor;
-    }
-
-    protected IEditorPart getEditor() {
-    	return editor;
-    }
-
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-    	List proposals = getCompletionProposals(viewer, documentOffset);
-    	if (proposals == null) {
-    		return new ICompletionProposal[0];
-    	}
-        Collections.sort(proposals, new RuleCompletionProposal.RuleCompletionProposalComparator());
-        return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
-	}
-
-	/**
-	 * Returns a list of RuleCompletionProposals.
-	 *
-	 * @param viewer
-	 * @param documentOffset
-	 * @return
-	 */
-	protected abstract List getCompletionProposals(ITextViewer viewer, int documentOffset);
-
-    /**
-     *  Filter out the proposals whose content does not start with the given prefix.
-     */
-    protected static void filterProposalsOnPrefix(String prefix, List props) {
-    	if ( prefix != null && prefix.trim().length() > 0 ) {
-    		Iterator iterator = props.iterator();
-            String prefixLc = prefix.toLowerCase();
-    		while ( iterator.hasNext() ) {
-                ICompletionProposal item = (ICompletionProposal) iterator.next();
-                String content = item.getDisplayString().toLowerCase();
-                if ( !content.toLowerCase().startsWith( prefixLc ) ) {
-                    iterator.remove();
-                }
-    		}
-    	}
-    }
-
-    /**
-     * Read some text from behind the cursor position.
-     * This provides context to both filter what is shown based
-     * on what the user has typed in, and also to provide more information for the
-     * list of suggestions based on context.
-     */
-    protected String readBackwards(int documentOffset, IDocument doc) throws BadLocationException {
-        int startPart = doc.getPartition(documentOffset).getOffset();
-        String prefix = doc.get(startPart, documentOffset - startPart);
-        return prefix;
-    }
-
-	/*
-	 * @see IContentAssistProcessor
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return null;
-	}
-
-	/*
-	 * @see IContentAssistProcessor
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return null;
-	}
-
-	/*
-	 * @see IContentAssistProcessor
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		return null;
-	}
-
-	/*
-	 * @see IContentAssistProcessor
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
-		return null;
-	}
-
-	/*
-	 * @see IContentAssistProcessor
-	 */
-	public String getErrorMessage() {
-		return null;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,113 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.jface.text.contentassist.IContextInformationValidator;
+import org.eclipse.ui.IEditorPart;
+
+/**
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class AbstractCompletionProcessor implements IContentAssistProcessor {
+
+    private IEditorPart editor;
+
+    public AbstractCompletionProcessor(IEditorPart editor) {
+    	this.editor = editor;
+    }
+
+    protected IEditorPart getEditor() {
+    	return editor;
+    }
+
+	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
+    	List proposals = getCompletionProposals(viewer, documentOffset);
+    	if (proposals == null) {
+    		return new ICompletionProposal[0];
+    	}
+        Collections.sort(proposals, new RuleCompletionProposal.RuleCompletionProposalComparator());
+        return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
+	}
+
+	/**
+	 * Returns a list of RuleCompletionProposals.
+	 *
+	 * @param viewer
+	 * @param documentOffset
+	 * @return
+	 */
+	protected abstract List getCompletionProposals(ITextViewer viewer, int documentOffset);
+
+    /**
+     *  Filter out the proposals whose content does not start with the given prefix.
+     */
+    protected static void filterProposalsOnPrefix(String prefix, List props) {
+    	if ( prefix != null && prefix.trim().length() > 0 ) {
+    		Iterator iterator = props.iterator();
+            String prefixLc = prefix.toLowerCase();
+    		while ( iterator.hasNext() ) {
+                ICompletionProposal item = (ICompletionProposal) iterator.next();
+                String content = item.getDisplayString().toLowerCase();
+                if ( !content.toLowerCase().startsWith( prefixLc ) ) {
+                    iterator.remove();
+                }
+    		}
+    	}
+    }
+
+    /**
+     * Read some text from behind the cursor position.
+     * This provides context to both filter what is shown based
+     * on what the user has typed in, and also to provide more information for the
+     * list of suggestions based on context.
+     */
+    protected String readBackwards(int documentOffset, IDocument doc) throws BadLocationException {
+        int startPart = doc.getPartition(documentOffset).getOffset();
+        String prefix = doc.get(startPart, documentOffset - startPart);
+        return prefix;
+    }
+
+	/*
+	 * @see IContentAssistProcessor
+	 */
+	public char[] getCompletionProposalAutoActivationCharacters() {
+		return null;
+	}
+
+	/*
+	 * @see IContentAssistProcessor
+	 */
+	public char[] getContextInformationAutoActivationCharacters() {
+		return null;
+	}
+
+	/*
+	 * @see IContentAssistProcessor
+	 */
+	public IContextInformationValidator getContextInformationValidator() {
+		return null;
+	}
+
+	/*
+	 * @see IContentAssistProcessor
+	 */
+	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
+		return null;
+	}
+
+	/*
+	 * @see IContentAssistProcessor
+	 */
+	public String getErrorMessage() {
+		return null;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,219 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
-import org.drools.lang.Location;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.RuleDescr;
-
-/**
- * A utility class that invokes the DRLParser on some partial drl text, and provides
- * information back about the context of that parserd drl,
- * such as a location type, a dialect, and so on.
- *
- */
-public class CompletionContext {
-
-    static final Pattern PATTERN_PATTERN_OPERATOR            = Pattern.compile( ".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:\\(\\),]+)(\\s*([<>=!]+)\\s*[^\\s<>!=:]*\\s*(&&|\\|\\|))*\\s+",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern PATTERN_PATTERN_COMPARATOR_ARGUMENT = Pattern.compile( ".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:\\(\\)]+)\\s*(([<>=!]+)\\s*[^\\s<>!=:]+\\s*(&&|\\|\\|)\\s*)*([<>=!]+)\\s*[^\\s<>!=:]*",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern EVAL_PATTERN                        = Pattern.compile( ".*\\s+eval\\s*\\(\\s*([(^\\))(\\([^\\)]*\\)?)]*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ACCUMULATE_PATTERN_INIT             = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ACCUMULATE_PATTERN_ACTION           = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ACCUMULATE_PATTERN_REVERSE          = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)\\)\\s*,?\\s*reverse\\s*\\(\\s*(.*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ACCUMULATE_PATTERN_RESULT           = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)\\)\\s*,?(\\s*reverse\\s*\\(\\s*(.*)\\)\\s*,?)?\\s*result\\s*\\(\\s*(.*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern THEN_PATTERN                        = Pattern.compile( ".*\n\\s*when\\s*(.*)\n\\s*then\\s*(.*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ENDS_WITH_SPACES                    = Pattern.compile( ".*\\s+",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ENDS_WITH_COLON                     = Pattern.compile( ".*:\\s*",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ENDS_WITH_BRACKET                   = Pattern.compile( ".*\\)\\s*",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern MVEL_DIALECT_PATTERN                = Pattern.compile( ".*dialect\\s+\"mvel\".*",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern JAVA_DIALECT_PATTERN                = Pattern.compile( ".*dialect\\s+\"java\".*",
-                                                                                Pattern.DOTALL );
-
-    static final String  MVEL_DIALECT                        = "mvel";
-    static final String  JAVA_DIALECT                        = "java";
-
-    private String       backText;
-    private DrlParser    parser;
-    private RuleDescr    rule;
-    private PackageDescr packageDescr;
-    private String       dialect;
-
-    public CompletionContext(String backText) {
-        this.backText = backText;
-        this.parser = new DrlParser();
-
-        try {
-            packageDescr = parser.parse( backText );
-            List rules = packageDescr.getRules();
-            if ( rules != null && rules.size() == 1 ) {
-                this.rule = (RuleDescr) rules.get( 0 );
-            }
-
-        } catch ( DroolsParserException exc ) {
-            // do nothing
-        }
-
-        //FIXME: the whole story of dialect determination for completion needs beefing up
-        determineDialect( backText );
-    }
-
-    public boolean isJavaDialect() {
-        return JAVA_DIALECT.equalsIgnoreCase( dialect );
-    }
-
-    public boolean isMvelDialect() {
-        return MVEL_DIALECT.equalsIgnoreCase( dialect );
-    }
-
-    public boolean isDefaultDialect() {
-        return !isJavaDialect() && !isMvelDialect();
-    }
-
-    public PackageDescr getPackageDescr() {
-        return packageDescr;
-    }
-
-    //note: this is a crude but reasonably fast way to determine the dialect,
-    //especially when parsing imcomplete rules
-    private void determineDialect(String backText) {
-        dialect = null;
-        boolean mvel = MVEL_DIALECT_PATTERN.matcher( backText ).matches();
-        boolean java = JAVA_DIALECT_PATTERN.matcher( backText ).matches();
-        //which dialect may be defined for this rule?
-        if ( mvel ) {
-            dialect = MVEL_DIALECT;
-        }
-        if ( java ) {
-            dialect = JAVA_DIALECT;
-        }
-    }
-
-    public Location getLocation() {
-        if ( backText == null || rule == null ) {
-            return new Location( Location.LOCATION_UNKNOWN );
-        }
-        return determineLocationForDescr( rule,
-                                          parser.getLocation(),
-                                          backText );
-    }
-
-    public RuleDescr getRule() {
-        return rule;
-    }
-
-    private static Location determineLocationForDescr(BaseDescr descr,
-                                                      Location location,
-                                                      String backText) {
-        if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR ) {
-            if ( !ENDS_WITH_SPACES.matcher( backText ).matches() || ENDS_WITH_COLON.matcher( backText ).matches() ) {
-                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_END ) {
-            if ( !backText.endsWith( " " ) ) {
-                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_EVAL ) {
-            Matcher matcher = EVAL_PATTERN.matcher( backText );
-            if ( matcher.matches() ) {
-                String content = matcher.group( 1 );
-                location.setProperty( Location.LOCATION_EVAL_CONTENT,
-                                      content );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_START ) {
-            Matcher matcher = PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT );
-                location.setProperty( Location.LOCATION_PROPERTY_OPERATOR,
-                                      matcher.group( 7 ) );
-                return location;
-            }
-
-            matcher = PATTERN_PATTERN_OPERATOR.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR );
-                return location;
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_FROM ) {
-            if ( location.getProperty( Location.LOCATION_FROM_CONTENT ) == null ) {
-                location.setProperty( Location.LOCATION_FROM_CONTENT,
-                                      "" );
-            } else if ( ((String) location.getProperty( Location.LOCATION_FROM_CONTENT )).length() > 0 && (ENDS_WITH_SPACES.matcher( backText ).matches() || ENDS_WITH_BRACKET.matcher( backText ).matches()) ) {
-                location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_INIT ) {
-            Matcher matcher = ACCUMULATE_PATTERN_INIT.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE );
-                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT,
-                                      matcher.group( 1 ) );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION ) {
-            Matcher matcher = ACCUMULATE_PATTERN_ACTION.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE );
-                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT,
-                                      matcher.group( 2 ) );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_REVERSE ) {
-            Matcher matcher = ACCUMULATE_PATTERN_REVERSE.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_REVERSE_INSIDE );
-                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_REVERSE_CONTENT,
-                                      matcher.group( 3 ) );
-            }
-            matcher = ACCUMULATE_PATTERN_RESULT.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE );
-                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT,
-                                      matcher.group( 5 ) );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT ) {
-            Matcher matcher = ACCUMULATE_PATTERN_RESULT.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE );
-                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT,
-                                      matcher.group( 5 ) );
-            }
-        } else if ( location.getType() == Location.LOCATION_RHS ) {
-            Matcher matcher = THEN_PATTERN.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setProperty( Location.LOCATION_LHS_CONTENT,
-                                      matcher.group( 1 ) );
-                location.setProperty( Location.LOCATION_RHS_CONTENT,
-                                      matcher.group( 2 ) );
-                return location;
-            }
-        }
-
-        return location;
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,219 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.DroolsParserException;
+import org.drools.lang.Location;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.RuleDescr;
+
+/**
+ * A utility class that invokes the DRLParser on some partial drl text, and provides
+ * information back about the context of that parserd drl,
+ * such as a location type, a dialect, and so on.
+ *
+ */
+public class CompletionContext {
+
+    static final Pattern PATTERN_PATTERN_OPERATOR            = Pattern.compile( ".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:\\(\\),]+)(\\s*([<>=!]+)\\s*[^\\s<>!=:]*\\s*(&&|\\|\\|))*\\s+",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern PATTERN_PATTERN_COMPARATOR_ARGUMENT = Pattern.compile( ".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:\\(\\)]+)\\s*(([<>=!]+)\\s*[^\\s<>!=:]+\\s*(&&|\\|\\|)\\s*)*([<>=!]+)\\s*[^\\s<>!=:]*",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern EVAL_PATTERN                        = Pattern.compile( ".*\\s+eval\\s*\\(\\s*([(^\\))(\\([^\\)]*\\)?)]*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ACCUMULATE_PATTERN_INIT             = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ACCUMULATE_PATTERN_ACTION           = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ACCUMULATE_PATTERN_REVERSE          = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)\\)\\s*,?\\s*reverse\\s*\\(\\s*(.*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ACCUMULATE_PATTERN_RESULT           = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)\\)\\s*,?(\\s*reverse\\s*\\(\\s*(.*)\\)\\s*,?)?\\s*result\\s*\\(\\s*(.*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern THEN_PATTERN                        = Pattern.compile( ".*\n\\s*when\\s*(.*)\n\\s*then\\s*(.*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ENDS_WITH_SPACES                    = Pattern.compile( ".*\\s+",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ENDS_WITH_COLON                     = Pattern.compile( ".*:\\s*",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ENDS_WITH_BRACKET                   = Pattern.compile( ".*\\)\\s*",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern MVEL_DIALECT_PATTERN                = Pattern.compile( ".*dialect\\s+\"mvel\".*",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern JAVA_DIALECT_PATTERN                = Pattern.compile( ".*dialect\\s+\"java\".*",
+                                                                                Pattern.DOTALL );
+
+    static final String  MVEL_DIALECT                        = "mvel";
+    static final String  JAVA_DIALECT                        = "java";
+
+    private String       backText;
+    private DrlParser    parser;
+    private RuleDescr    rule;
+    private PackageDescr packageDescr;
+    private String       dialect;
+
+    public CompletionContext(String backText) {
+        this.backText = backText;
+        this.parser = new DrlParser();
+
+        try {
+            packageDescr = parser.parse( backText );
+            List rules = packageDescr.getRules();
+            if ( rules != null && rules.size() == 1 ) {
+                this.rule = (RuleDescr) rules.get( 0 );
+            }
+
+        } catch ( DroolsParserException exc ) {
+            // do nothing
+        }
+
+        //FIXME: the whole story of dialect determination for completion needs beefing up
+        determineDialect( backText );
+    }
+
+    public boolean isJavaDialect() {
+        return JAVA_DIALECT.equalsIgnoreCase( dialect );
+    }
+
+    public boolean isMvelDialect() {
+        return MVEL_DIALECT.equalsIgnoreCase( dialect );
+    }
+
+    public boolean isDefaultDialect() {
+        return !isJavaDialect() && !isMvelDialect();
+    }
+
+    public PackageDescr getPackageDescr() {
+        return packageDescr;
+    }
+
+    //note: this is a crude but reasonably fast way to determine the dialect,
+    //especially when parsing imcomplete rules
+    private void determineDialect(String backText) {
+        dialect = null;
+        boolean mvel = MVEL_DIALECT_PATTERN.matcher( backText ).matches();
+        boolean java = JAVA_DIALECT_PATTERN.matcher( backText ).matches();
+        //which dialect may be defined for this rule?
+        if ( mvel ) {
+            dialect = MVEL_DIALECT;
+        }
+        if ( java ) {
+            dialect = JAVA_DIALECT;
+        }
+    }
+
+    public Location getLocation() {
+        if ( backText == null || rule == null ) {
+            return new Location( Location.LOCATION_UNKNOWN );
+        }
+        return determineLocationForDescr( rule,
+                                          parser.getLocation(),
+                                          backText );
+    }
+
+    public RuleDescr getRule() {
+        return rule;
+    }
+
+    private static Location determineLocationForDescr(BaseDescr descr,
+                                                      Location location,
+                                                      String backText) {
+        if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR ) {
+            if ( !ENDS_WITH_SPACES.matcher( backText ).matches() || ENDS_WITH_COLON.matcher( backText ).matches() ) {
+                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_END ) {
+            if ( !backText.endsWith( " " ) ) {
+                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_EVAL ) {
+            Matcher matcher = EVAL_PATTERN.matcher( backText );
+            if ( matcher.matches() ) {
+                String content = matcher.group( 1 );
+                location.setProperty( Location.LOCATION_EVAL_CONTENT,
+                                      content );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_START ) {
+            Matcher matcher = PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT );
+                location.setProperty( Location.LOCATION_PROPERTY_OPERATOR,
+                                      matcher.group( 7 ) );
+                return location;
+            }
+
+            matcher = PATTERN_PATTERN_OPERATOR.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR );
+                return location;
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_FROM ) {
+            if ( location.getProperty( Location.LOCATION_FROM_CONTENT ) == null ) {
+                location.setProperty( Location.LOCATION_FROM_CONTENT,
+                                      "" );
+            } else if ( ((String) location.getProperty( Location.LOCATION_FROM_CONTENT )).length() > 0 && (ENDS_WITH_SPACES.matcher( backText ).matches() || ENDS_WITH_BRACKET.matcher( backText ).matches()) ) {
+                location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_INIT ) {
+            Matcher matcher = ACCUMULATE_PATTERN_INIT.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE );
+                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT,
+                                      matcher.group( 1 ) );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION ) {
+            Matcher matcher = ACCUMULATE_PATTERN_ACTION.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE );
+                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT,
+                                      matcher.group( 2 ) );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_REVERSE ) {
+            Matcher matcher = ACCUMULATE_PATTERN_REVERSE.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_REVERSE_INSIDE );
+                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_REVERSE_CONTENT,
+                                      matcher.group( 3 ) );
+            }
+            matcher = ACCUMULATE_PATTERN_RESULT.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE );
+                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT,
+                                      matcher.group( 5 ) );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT ) {
+            Matcher matcher = ACCUMULATE_PATTERN_RESULT.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE );
+                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT,
+                                      matcher.group( 5 ) );
+            }
+        } else if ( location.getType() == Location.LOCATION_RHS ) {
+            Matcher matcher = THEN_PATTERN.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setProperty( Location.LOCATION_LHS_CONTENT,
+                                      matcher.group( 1 ) );
+                location.setProperty( Location.LOCATION_RHS_CONTENT,
+                                      matcher.group( 2 ) );
+                return location;
+            }
+        }
+
+        return location;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,435 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.StringTokenizer;
-import java.util.regex.Pattern;
-
-import org.eclipse.jdt.core.Signature;
-
-public class CompletionUtil {
-
-    protected static final Pattern INCOMPLETED_MVEL_EXPRESSION = Pattern.compile( "[\\.\\(\\{\\[]\\Z",
-                                                                                  Pattern.DOTALL );
-
-    protected static final Pattern COMPLETED_MVEL_EXPRESSION   = Pattern.compile( "]\\)\\}\\]\\Z",
-                                                                                  Pattern.DOTALL );
-
-    protected static final Pattern MODIFY_PATTERN              = Pattern.compile( ".*modify\\s*\\(\\s*(.*)\\s*\\)(\\s*\\{(.*)\\s*\\}?)?",
-                                                                                  Pattern.DOTALL );
-
-    protected static final Pattern START_OF_NEW_JAVA_STATEMENT = Pattern.compile( ".*[;{}]\\s*",
-                                                                                  Pattern.DOTALL );
-    protected static final Pattern START_OF_METHOD_ARGS        = Pattern.compile( ".*[\\(]\\s*",
-                                                                                  Pattern.DOTALL );
-
-    private CompletionUtil() {
-    }
-
-    /**
-     * Looks behind, gets stuff after the white space. Basically ripping out the
-     * last word.
-     */
-    public static String stripLastWord(String prefix) {
-        if ( "".equals( prefix ) ) {
-            return prefix;
-        }
-        if ( prefix.charAt( prefix.length() - 1 ) == ' ' ) {
-            return "";
-        } else {
-            char[] c = prefix.toCharArray();
-            int start = 0;
-            for ( int i = c.length - 1; i >= 0; i-- ) {
-                if ( Character.isWhitespace( c[i] ) || c[i] == '(' || c[i] == ':' || c[i] == ';' || c[i] == '=' || c[i] == '<' || c[i] == '>' || c[i] == '.' || c[i] == '{' || c[i] == '}' ) {
-                    start = i + 1;
-                    break;
-                }
-            }
-            prefix = prefix.substring( start,
-                                       prefix.length() );
-            return prefix;
-        }
-    }
-
-    public static String getPreviousExpression(String backText) {
-        int separator = backText.lastIndexOf( ';' );
-        if ( separator < 0 ) {
-            return backText;
-        }
-        return backText.substring( 0,
-                                   separator + 1 );
-    }
-
-    public static String getLastExpression(String backText) {
-        StringTokenizer st = new StringTokenizer( backText,
-                                                  ";" );
-        String last = "";
-        while ( st.hasMoreTokens() ) {
-            last = st.nextToken();
-        }
-        if ( last.trim().length() == 0 ) {
-            return backText;
-        }
-        return last;
-    }
-
-    public static String getInnerExpression(String backText) {
-        String last = getLastExpression( backText ).trim();
-
-        char[] c = last.toCharArray();
-        int start = 0;
-        for ( int i = c.length - 1; i >= 0; i-- ) {
-            if ( Character.isWhitespace( c[i] ) || c[i] == '(' || c[i] == '+' || c[i] == ')' || c[i] == '[' || c[i] == ']' || c[i] == ':' || c[i] == '=' || c[i] == '<' || c[i] == '>' || c[i] == ',' || c[i] == '{' || c[i] == '}' ) {
-                start = i + 1;
-                break;
-            }
-        }
-        last = last.substring( start );
-        return last;
-    }
-
-    public static int nestedExpressionIndex(char[] chars,
-                                            int start,
-                                            char type) {
-        int depth = 1;
-        char term = type;
-        switch ( type ) {
-            case '[' :
-                term = ']';
-                break;
-            case '{' :
-                term = '}';
-                break;
-            case '(' :
-                term = ')';
-                break;
-        }
-
-        if ( type == term ) {
-            for ( start++; start < chars.length; start++ ) {
-                if ( chars[start] == type ) {
-                    return start;
-                }
-            }
-        } else {
-            for ( start++; start < chars.length; start++ ) {
-                if ( chars[start] == '\'' || chars[start] == '"' ) {
-                    //start = captureStringLiteral(chars[start], chars, start, chars.length);
-                } else if ( chars[start] == type ) {
-                    depth++;
-                } else if ( chars[start] == term && --depth == 0 ) {
-                    return start;
-                }
-            }
-        }
-
-        return -1;
-    }
-
-    public static String stripWhiteSpace(String prefix) {
-        if ( "".equals( prefix ) ) {
-            return prefix;
-        }
-        if ( prefix.charAt( prefix.length() - 1 ) == ' ' ) {
-            return "";
-        } else {
-            char[] c = prefix.toCharArray();
-            int start = 0;
-            for ( int i = c.length - 1; i >= 0; i-- ) {
-                if ( Character.isWhitespace( c[i] ) ) {
-                    start = i + 1;
-                    break;
-                }
-            }
-            prefix = prefix.substring( start,
-                                       prefix.length() );
-            return prefix;
-        }
-    }
-
-    /**
-     * Attempt to enhance a consequence backtext such that it should compile in MVEL
-     * @param backText
-     * @return a substring of the back text, that should be compilable without
-     *         syntax errors by the mvel compiler
-     *
-     *         TODO: add tests and more use
-     *         cases
-     */
-    public static String getCompilableText(String backText) {
-        String trimed = backText.trim();
-        if ( trimed.endsWith( ";" ) ) {
-            // RHS expression should compile if it ends with ; but to get the last object,
-            // we do no want it, to simulate a return statement
-            return backText.substring( 0,
-                                       backText.length() - 1 );
-        } else if ( trimed.endsWith( "." ) || trimed.endsWith( "," ) ) {
-            // RHS expression should compile if it ends with no dot or comma
-            return backText.substring( 0,
-                                       backText.length() - 1 );
-        } else if ( CompletionUtil.COMPLETED_MVEL_EXPRESSION.matcher( backText ).matches() ) {
-            // RHS expression should compile if closed. just need to close the
-            // statement
-            return backText + ";";
-            //        } else if ( INCOMPLETED_MVEL_EXPRESSION.matcher( backText ).matches() ) {
-            //            // remove the last char and close the statement
-            //            return backText.substring( 0,
-            //                                       backText.length() - 1 );
-        } else {
-            //TODO: support completion within with {} blocks
-            //TODO: support completion within nested expression.
-
-            return backText;
-        }
-    }
-
-    /*
-     * propertyname extraction and bean convention methods names checks
-     */
-
-    public static boolean isGetter(String methodName,
-                                   int argCount,
-                                   String returnedType) {
-        return isAccessor( methodName,
-                           argCount,
-                           0,
-                           "get",
-                           returnedType,
-                           Signature.SIG_VOID,
-                           false );
-    }
-
-    public static boolean isSetter(String methodName,
-                                   int argCount,
-                                   String returnedType) {
-        return isAccessor( methodName,
-                           argCount,
-                           1,
-                           "set",
-                           returnedType,
-                           Signature.SIG_VOID,
-                           true );
-    }
-
-    public static boolean isIsGetter(String methodName,
-                                     int argCount,
-                                     String returnedType) {
-        return isAccessor( methodName,
-                           argCount,
-                           0,
-                           "is",
-                           returnedType,
-                           Signature.SIG_BOOLEAN,
-                           true );
-    }
-
-    /**
-     * Given a data depicting a method (name, # or params/args, returned type key), tries to return a  bean property name derived from that method.
-     * If a bean property name is not found, the initial method name is returned
-     * @param methodName
-     * @param parameterCount
-     * @param returnType
-     * @return a bean property name
-     */
-    public static String getPropertyName(String methodName,
-                                         int parameterCount,
-                                         String returnType) {
-        if ( methodName == null ) {
-            return null;
-        }
-        String simpleName = methodName.replaceAll( "\\(\\)",
-                                                   "" );
-        int prefixLength = 0;
-        if ( isIsGetter( simpleName,
-                         parameterCount,
-                         returnType ) ) {
-
-            prefixLength = 2;
-
-        } else if ( isGetter( simpleName,
-                              parameterCount,
-                              returnType ) //
-                    || isSetter( simpleName,
-                                 parameterCount,
-                                 returnType ) ) {
-
-            prefixLength = 3;
-        } else {
-            return methodName;
-        }
-
-        char firstChar = Character.toLowerCase( simpleName.charAt( prefixLength ) );
-        String propertyName = firstChar + simpleName.substring( prefixLength + 1 );
-        return propertyName;
-    }
-
-    public static String getPropertyName(String methodName,
-                                         char[] signature) {
-        if ( signature == null || methodName == null ) {
-            return methodName;
-        }
-
-        int parameterCount = Signature.getParameterCount( signature );
-        String returnType = new String( Signature.getReturnType( signature ) );
-
-        return getPropertyName( methodName,
-                                parameterCount,
-                                returnType );
-    }
-
-    /**
-     * Given a data depicting a method (name, # or params/args, returned type key), tries to return a  writable bean property name derived from that method.
-     * If a writable (ie setter) bean property name is not found, the initial method name is returned
-     * @param methodName
-     * @param parameterCount
-     * @param returnType
-     * @return a bean property name
-     */
-    public static String getWritablePropertyName(String methodName,
-                                                 int parameterCount,
-                                                 String returnType) {
-        if ( methodName == null ) {
-            return null;
-        }
-        String simpleName = methodName.replaceAll( "\\(\\)",
-                                                   "" );
-        if ( !isSetter( simpleName,
-                        parameterCount,
-                        returnType ) ) {
-            return methodName;
-        }
-
-        int prefixLength = 3;
-
-        char firstChar = Character.toLowerCase( simpleName.charAt( prefixLength ) );
-        String propertyName = firstChar + simpleName.substring( prefixLength + 1 );
-        return propertyName;
-    }
-
-    public static String getWritablePropertyName(String methodName,
-                                                 char[] signature) {
-        if ( signature == null || methodName == null ) {
-            return methodName;
-        }
-
-        int parameterCount = Signature.getParameterCount( signature );
-        String returnType = new String( Signature.getReturnType( signature ) );
-
-        return getWritablePropertyName( methodName,
-                                        parameterCount,
-                                        returnType );
-    }
-
-    /**
-     * Determine if the given method is a bean accessor (ie getter/setter)
-     * @param methodName
-     * @param actualParameterCount
-     * @param requiredParameterCount
-     * @param prefix
-     * @param returnType
-     * @param requiredReturnType
-     * @param includeType
-     * @return true if the method is a bean accessor, false otherwise
-     */
-    private static boolean isAccessor(String methodName,
-                                      int actualParameterCount,
-                                      int requiredParameterCount,
-                                      String prefix,
-                                      String returnType,
-                                      String requiredReturnType,
-                                      boolean includeType) {
-
-        //must be longer than the accessor prefix
-        if ( methodName.length() < prefix.length() + 1 ) {
-            return false;
-        }
-
-        //start with get, set or is
-        if ( !methodName.startsWith( prefix ) ) {
-            return false;
-        }
-
-        if ( actualParameterCount != requiredParameterCount ) {
-            return false;
-        }
-
-        //if we check for the returned type, verify that the returned type is of the cirrect type signature
-        if ( includeType ) {
-            if ( !requiredReturnType.equals( returnType ) ) {
-                return false;
-            }
-        } else {
-            if ( requiredReturnType.equals( returnType ) ) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    public static boolean isStartOfNewStatement(String text,
-                                                String prefix) {
-        String javaTextWithoutPrefix = text.substring( 0,
-                                                       text.length() - prefix.length() );
-
-        if ( "".equals( javaTextWithoutPrefix.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( javaTextWithoutPrefix ).matches() ) {
-            return true;
-        }
-        return false;
-    }
-
-    public static String getLastLine(String text) {
-        final BufferedReader reader = new BufferedReader( new StringReader( text ) );
-        String line = null;
-        String lastLine = null;
-        try {
-            while ( (line = reader.readLine()) != null ) {
-                if ( line.trim().length() > 0 ) {
-                    lastLine = line;
-                }
-            }
-        } catch ( final IOException e ) {
-            // should never happen, it's just reading over a string.
-        }
-        return lastLine;
-    }
-
-    /**
-     * COMPENSATES FOR LACK OF getSimpleName IN java.lang.Class
-     * Borrowed and adpated from MVEL's org.mvel.util.ParseTools.getSimpleClassName(Class)
-     * @param cls -- class reference
-     * @return Simple name of class
-     */
-    public static String getSimpleClassName(Class cls) {
-        int lastIndex = cls.getName().lastIndexOf( '$' );
-        if ( lastIndex < 0 ) {
-            lastIndex = cls.getName().lastIndexOf( '.' );
-        }
-        if ( cls.isArray() ) {
-            return cls.getName().substring( lastIndex + 1 ) + "[]";
-        } else {
-            return cls.getName().substring( lastIndex + 1 );
-        }
-    }
-
-    public static String getTextWithoutPrefix(final String javaText,
-                                              final String prefix) {
-        int endIndex = javaText.length() - prefix.length();
-        String javaTextWithoutPrefix = javaText;
-        //javaText can be an empty string.
-        if ( endIndex >= 0 ) {
-            javaTextWithoutPrefix = javaText.substring( 0,
-                                                        endIndex );
-        }
-        return javaTextWithoutPrefix;
-    }
-
-    public static boolean isStartOfDialectExpression(String text) {
-        return "".equals( text.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( text ).matches();
-    }
-
-    public static boolean isStartOfMethodArgsExpression(String text) {
-        return CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( text ).matches();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,435 @@
+package org.drools.eclipse.editors.completion;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.StringTokenizer;
+import java.util.regex.Pattern;
+
+import org.eclipse.jdt.core.Signature;
+
+public class CompletionUtil {
+
+    protected static final Pattern INCOMPLETED_MVEL_EXPRESSION = Pattern.compile( "[\\.\\(\\{\\[]\\Z",
+                                                                                  Pattern.DOTALL );
+
+    protected static final Pattern COMPLETED_MVEL_EXPRESSION   = Pattern.compile( "]\\)\\}\\]\\Z",
+                                                                                  Pattern.DOTALL );
+
+    protected static final Pattern MODIFY_PATTERN              = Pattern.compile( ".*modify\\s*\\(\\s*(.*)\\s*\\)(\\s*\\{(.*)\\s*\\}?)?",
+                                                                                  Pattern.DOTALL );
+
+    protected static final Pattern START_OF_NEW_JAVA_STATEMENT = Pattern.compile( ".*[;{}]\\s*",
+                                                                                  Pattern.DOTALL );
+    protected static final Pattern START_OF_METHOD_ARGS        = Pattern.compile( ".*[\\(]\\s*",
+                                                                                  Pattern.DOTALL );
+
+    private CompletionUtil() {
+    }
+
+    /**
+     * Looks behind, gets stuff after the white space. Basically ripping out the
+     * last word.
+     */
+    public static String stripLastWord(String prefix) {
+        if ( "".equals( prefix ) ) {
+            return prefix;
+        }
+        if ( prefix.charAt( prefix.length() - 1 ) == ' ' ) {
+            return "";
+        } else {
+            char[] c = prefix.toCharArray();
+            int start = 0;
+            for ( int i = c.length - 1; i >= 0; i-- ) {
+                if ( Character.isWhitespace( c[i] ) || c[i] == '(' || c[i] == ':' || c[i] == ';' || c[i] == '=' || c[i] == '<' || c[i] == '>' || c[i] == '.' || c[i] == '{' || c[i] == '}' ) {
+                    start = i + 1;
+                    break;
+                }
+            }
+            prefix = prefix.substring( start,
+                                       prefix.length() );
+            return prefix;
+        }
+    }
+
+    public static String getPreviousExpression(String backText) {
+        int separator = backText.lastIndexOf( ';' );
+        if ( separator < 0 ) {
+            return backText;
+        }
+        return backText.substring( 0,
+                                   separator + 1 );
+    }
+
+    public static String getLastExpression(String backText) {
+        StringTokenizer st = new StringTokenizer( backText,
+                                                  ";" );
+        String last = "";
+        while ( st.hasMoreTokens() ) {
+            last = st.nextToken();
+        }
+        if ( last.trim().length() == 0 ) {
+            return backText;
+        }
+        return last;
+    }
+
+    public static String getInnerExpression(String backText) {
+        String last = getLastExpression( backText ).trim();
+
+        char[] c = last.toCharArray();
+        int start = 0;
+        for ( int i = c.length - 1; i >= 0; i-- ) {
+            if ( Character.isWhitespace( c[i] ) || c[i] == '(' || c[i] == '+' || c[i] == ')' || c[i] == '[' || c[i] == ']' || c[i] == ':' || c[i] == '=' || c[i] == '<' || c[i] == '>' || c[i] == ',' || c[i] == '{' || c[i] == '}' ) {
+                start = i + 1;
+                break;
+            }
+        }
+        last = last.substring( start );
+        return last;
+    }
+
+    public static int nestedExpressionIndex(char[] chars,
+                                            int start,
+                                            char type) {
+        int depth = 1;
+        char term = type;
+        switch ( type ) {
+            case '[' :
+                term = ']';
+                break;
+            case '{' :
+                term = '}';
+                break;
+            case '(' :
+                term = ')';
+                break;
+        }
+
+        if ( type == term ) {
+            for ( start++; start < chars.length; start++ ) {
+                if ( chars[start] == type ) {
+                    return start;
+                }
+            }
+        } else {
+            for ( start++; start < chars.length; start++ ) {
+                if ( chars[start] == '\'' || chars[start] == '"' ) {
+                    //start = captureStringLiteral(chars[start], chars, start, chars.length);
+                } else if ( chars[start] == type ) {
+                    depth++;
+                } else if ( chars[start] == term && --depth == 0 ) {
+                    return start;
+                }
+            }
+        }
+
+        return -1;
+    }
+
+    public static String stripWhiteSpace(String prefix) {
+        if ( "".equals( prefix ) ) {
+            return prefix;
+        }
+        if ( prefix.charAt( prefix.length() - 1 ) == ' ' ) {
+            return "";
+        } else {
+            char[] c = prefix.toCharArray();
+            int start = 0;
+            for ( int i = c.length - 1; i >= 0; i-- ) {
+                if ( Character.isWhitespace( c[i] ) ) {
+                    start = i + 1;
+                    break;
+                }
+            }
+            prefix = prefix.substring( start,
+                                       prefix.length() );
+            return prefix;
+        }
+    }
+
+    /**
+     * Attempt to enhance a consequence backtext such that it should compile in MVEL
+     * @param backText
+     * @return a substring of the back text, that should be compilable without
+     *         syntax errors by the mvel compiler
+     *
+     *         TODO: add tests and more use
+     *         cases
+     */
+    public static String getCompilableText(String backText) {
+        String trimed = backText.trim();
+        if ( trimed.endsWith( ";" ) ) {
+            // RHS expression should compile if it ends with ; but to get the last object,
+            // we do no want it, to simulate a return statement
+            return backText.substring( 0,
+                                       backText.length() - 1 );
+        } else if ( trimed.endsWith( "." ) || trimed.endsWith( "," ) ) {
+            // RHS expression should compile if it ends with no dot or comma
+            return backText.substring( 0,
+                                       backText.length() - 1 );
+        } else if ( CompletionUtil.COMPLETED_MVEL_EXPRESSION.matcher( backText ).matches() ) {
+            // RHS expression should compile if closed. just need to close the
+            // statement
+            return backText + ";";
+            //        } else if ( INCOMPLETED_MVEL_EXPRESSION.matcher( backText ).matches() ) {
+            //            // remove the last char and close the statement
+            //            return backText.substring( 0,
+            //                                       backText.length() - 1 );
+        } else {
+            //TODO: support completion within with {} blocks
+            //TODO: support completion within nested expression.
+
+            return backText;
+        }
+    }
+
+    /*
+     * propertyname extraction and bean convention methods names checks
+     */
+
+    public static boolean isGetter(String methodName,
+                                   int argCount,
+                                   String returnedType) {
+        return isAccessor( methodName,
+                           argCount,
+                           0,
+                           "get",
+                           returnedType,
+                           Signature.SIG_VOID,
+                           false );
+    }
+
+    public static boolean isSetter(String methodName,
+                                   int argCount,
+                                   String returnedType) {
+        return isAccessor( methodName,
+                           argCount,
+                           1,
+                           "set",
+                           returnedType,
+                           Signature.SIG_VOID,
+                           true );
+    }
+
+    public static boolean isIsGetter(String methodName,
+                                     int argCount,
+                                     String returnedType) {
+        return isAccessor( methodName,
+                           argCount,
+                           0,
+                           "is",
+                           returnedType,
+                           Signature.SIG_BOOLEAN,
+                           true );
+    }
+
+    /**
+     * Given a data depicting a method (name, # or params/args, returned type key), tries to return a  bean property name derived from that method.
+     * If a bean property name is not found, the initial method name is returned
+     * @param methodName
+     * @param parameterCount
+     * @param returnType
+     * @return a bean property name
+     */
+    public static String getPropertyName(String methodName,
+                                         int parameterCount,
+                                         String returnType) {
+        if ( methodName == null ) {
+            return null;
+        }
+        String simpleName = methodName.replaceAll( "\\(\\)",
+                                                   "" );
+        int prefixLength = 0;
+        if ( isIsGetter( simpleName,
+                         parameterCount,
+                         returnType ) ) {
+
+            prefixLength = 2;
+
+        } else if ( isGetter( simpleName,
+                              parameterCount,
+                              returnType ) //
+                    || isSetter( simpleName,
+                                 parameterCount,
+                                 returnType ) ) {
+
+            prefixLength = 3;
+        } else {
+            return methodName;
+        }
+
+        char firstChar = Character.toLowerCase( simpleName.charAt( prefixLength ) );
+        String propertyName = firstChar + simpleName.substring( prefixLength + 1 );
+        return propertyName;
+    }
+
+    public static String getPropertyName(String methodName,
+                                         char[] signature) {
+        if ( signature == null || methodName == null ) {
+            return methodName;
+        }
+
+        int parameterCount = Signature.getParameterCount( signature );
+        String returnType = new String( Signature.getReturnType( signature ) );
+
+        return getPropertyName( methodName,
+                                parameterCount,
+                                returnType );
+    }
+
+    /**
+     * Given a data depicting a method (name, # or params/args, returned type key), tries to return a  writable bean property name derived from that method.
+     * If a writable (ie setter) bean property name is not found, the initial method name is returned
+     * @param methodName
+     * @param parameterCount
+     * @param returnType
+     * @return a bean property name
+     */
+    public static String getWritablePropertyName(String methodName,
+                                                 int parameterCount,
+                                                 String returnType) {
+        if ( methodName == null ) {
+            return null;
+        }
+        String simpleName = methodName.replaceAll( "\\(\\)",
+                                                   "" );
+        if ( !isSetter( simpleName,
+                        parameterCount,
+                        returnType ) ) {
+            return methodName;
+        }
+
+        int prefixLength = 3;
+
+        char firstChar = Character.toLowerCase( simpleName.charAt( prefixLength ) );
+        String propertyName = firstChar + simpleName.substring( prefixLength + 1 );
+        return propertyName;
+    }
+
+    public static String getWritablePropertyName(String methodName,
+                                                 char[] signature) {
+        if ( signature == null || methodName == null ) {
+            return methodName;
+        }
+
+        int parameterCount = Signature.getParameterCount( signature );
+        String returnType = new String( Signature.getReturnType( signature ) );
+
+        return getWritablePropertyName( methodName,
+                                        parameterCount,
+                                        returnType );
+    }
+
+    /**
+     * Determine if the given method is a bean accessor (ie getter/setter)
+     * @param methodName
+     * @param actualParameterCount
+     * @param requiredParameterCount
+     * @param prefix
+     * @param returnType
+     * @param requiredReturnType
+     * @param includeType
+     * @return true if the method is a bean accessor, false otherwise
+     */
+    private static boolean isAccessor(String methodName,
+                                      int actualParameterCount,
+                                      int requiredParameterCount,
+                                      String prefix,
+                                      String returnType,
+                                      String requiredReturnType,
+                                      boolean includeType) {
+
+        //must be longer than the accessor prefix
+        if ( methodName.length() < prefix.length() + 1 ) {
+            return false;
+        }
+
+        //start with get, set or is
+        if ( !methodName.startsWith( prefix ) ) {
+            return false;
+        }
+
+        if ( actualParameterCount != requiredParameterCount ) {
+            return false;
+        }
+
+        //if we check for the returned type, verify that the returned type is of the cirrect type signature
+        if ( includeType ) {
+            if ( !requiredReturnType.equals( returnType ) ) {
+                return false;
+            }
+        } else {
+            if ( requiredReturnType.equals( returnType ) ) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public static boolean isStartOfNewStatement(String text,
+                                                String prefix) {
+        String javaTextWithoutPrefix = text.substring( 0,
+                                                       text.length() - prefix.length() );
+
+        if ( "".equals( javaTextWithoutPrefix.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( javaTextWithoutPrefix ).matches() ) {
+            return true;
+        }
+        return false;
+    }
+
+    public static String getLastLine(String text) {
+        final BufferedReader reader = new BufferedReader( new StringReader( text ) );
+        String line = null;
+        String lastLine = null;
+        try {
+            while ( (line = reader.readLine()) != null ) {
+                if ( line.trim().length() > 0 ) {
+                    lastLine = line;
+                }
+            }
+        } catch ( final IOException e ) {
+            // should never happen, it's just reading over a string.
+        }
+        return lastLine;
+    }
+
+    /**
+     * COMPENSATES FOR LACK OF getSimpleName IN java.lang.Class
+     * Borrowed and adpated from MVEL's org.mvel.util.ParseTools.getSimpleClassName(Class)
+     * @param cls -- class reference
+     * @return Simple name of class
+     */
+    public static String getSimpleClassName(Class cls) {
+        int lastIndex = cls.getName().lastIndexOf( '$' );
+        if ( lastIndex < 0 ) {
+            lastIndex = cls.getName().lastIndexOf( '.' );
+        }
+        if ( cls.isArray() ) {
+            return cls.getName().substring( lastIndex + 1 ) + "[]";
+        } else {
+            return cls.getName().substring( lastIndex + 1 );
+        }
+    }
+
+    public static String getTextWithoutPrefix(final String javaText,
+                                              final String prefix) {
+        int endIndex = javaText.length() - prefix.length();
+        String javaTextWithoutPrefix = javaText;
+        //javaText can be an empty string.
+        if ( endIndex >= 0 ) {
+            javaTextWithoutPrefix = javaText.substring( 0,
+                                                        endIndex );
+        }
+        return javaTextWithoutPrefix;
+    }
+
+    public static boolean isStartOfDialectExpression(String text) {
+        return "".equals( text.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( text ).matches();
+    }
+
+    public static boolean isStartOfMethodArgsExpression(String text) {
+        return CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( text ).matches();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,493 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.drools.lang.dsl.DSLMapping;
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.drools.lang.dsl.DSLMappingEntry.Section;
-
-public class DSLTree {
-
-    public static final String separator = "=";
-    public static final String tab = "  ";
-    
-    private Node current = null;
-    private Node last = null;
-    private Node rootCond = null;
-    private Node rootConseq = null;
-    private boolean empty = true;
-    private ArrayList suggestions = new ArrayList();
-    private HashMap objToNL = new HashMap();
-    
-    public DSLTree() {
-        this.rootCond = new Node("root");
-        this.rootConseq = new Node("root");
-    }
-    
-    /**
-     * the method will take the dsl file and build a DSLTree using
-     * the Node class.
-     * @param dslFile
-     */
-    public void buildTree(String dslFile) {
-        buildTree(openDSLFile(dslFile));
-    }
-
-    /**
-     * the method uses the DSLAdapter to get the contents of the
-     * DSL mapping file.
-     * @param dslcontents
-     */
-    public void buildTree(Reader dslcontents) {
-    	buildTree(createBufferedReader(dslcontents));
-    }
-    
-    private void buildTree(BufferedReader breader) {
-        this.rootCond.clearChildren();
-        this.rootConseq.clearChildren();
-        parseFile(breader);
-        try {
-            breader.close();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        this.empty = false;
-    }
-    
-    /**
-     * method will create a BufferedReader to read the file.
-     * @param filename
-     * @return
-     */
-    protected BufferedReader openDSLFile(String filename) {
-        try {
-            FileReader reader = new FileReader(filename);
-            BufferedReader breader = new BufferedReader(reader);
-            return breader;
-        } catch (IOException e) {
-            e.printStackTrace();
-            return null;
-        }
-    }
-
-    /**
-     * Create a buffered reader for the reader created by the DSLAdapater
-     * @param reader
-     * @return
-     */
-    protected BufferedReader createBufferedReader(Reader reader) {
-		return new BufferedReader(reader);
-    }
-    
-    /**
-     * if the DSL mapping hasn't been loaded, the method will return
-     * true. If the DSL mapping has been loaded, the method returns
-     * false.
-     * @return
-     */
-    public boolean isEmpty() {
-    	return this.empty;
-    }
-    
-    /**
-     * method will use the BufferedReader to read the contents of the file.
-     * It calls other methods to parse the line and build the tree.
-     * @param reader
-     */
-    protected void parseFile(BufferedReader reader) {
-        String line = null;
-        try {
-            while ( (line = reader.readLine()) != null) {
-            	Section section = getSection(line);
-                String nl = stripHeadingAndCode(line);
-                String objname = this.getObjMetadata(nl);
-                nl = this.stripObjMetadata(nl);
-                addEntry(section, nl, objname);
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-    
-    public void buildTree(DSLMapping mapping) {
-    	List entries = mapping.getEntries();
-    	for (Iterator iterator = entries.iterator(); iterator.hasNext(); ) {
-    		DSLMappingEntry entry = (DSLMappingEntry) iterator.next();
-        	Section section = entry.getSection();
-            String nl = entry.getMappingKey();
-            String objname = entry.getMetaData().getMetaData();
-            addEntry(section, nl, objname);
-    	}
-    }
-    
-    private void addEntry(Section section, String nl, String objname) {
-        if (!nl.startsWith("-")) {
-        	if (objname != null) {
-        		this.addObjToNLMap(objname, nl);
-        	}
-            String[] tokenz = nl.split("\\s");
-            if (section == DSLMappingEntry.CONDITION || section == DSLMappingEntry.ANY) {
-            	addTokens(tokenz, rootCond);
-            }
-            if (section == DSLMappingEntry.CONSEQUENCE || section == DSLMappingEntry.ANY) {
-            	addTokens(tokenz, rootConseq);
-            }
-        } else {
-        	String res = (String)this.objToNL.get(objname);
-            StringTokenizer tokenz = new StringTokenizer(nl);
-            addTokens(res,tokenz);
-        }
-    }
-    
-    public void addObjToNLMap(String objname, String nl) {
-    	if (!objname.startsWith("-")) {
-    		this.objToNL.put(objname, nl);
-    	}
-    }
-    
-    protected Section getSection(String text) {
-        if (text.startsWith(DSLMappingEntry.CONDITION.getSymbol())) {
-            return DSLMappingEntry.CONDITION;
-        } else if (text.startsWith(DSLMappingEntry.CONSEQUENCE.getSymbol())) {
-            return DSLMappingEntry.CONSEQUENCE;
-        } else if (text.startsWith(DSLMappingEntry.ANY.getSymbol())) {
-            return DSLMappingEntry.ANY;
-        } else if (text.startsWith(DSLMappingEntry.KEYWORD.getSymbol())) {
-        	return DSLMappingEntry.KEYWORD;
-        }
-        return null; 
-    }
-    
-    /**
-     * method will strip out the when, then, * at the beginning of each 
-     * line and the mapped drl expression
-     * @param text
-     * @return
-     */
-    protected String stripHeadingAndCode(String text) {
-        if (text.startsWith(DSLMappingEntry.CONDITION.getSymbol())) {
-            return text.substring(DSLMappingEntry.CONDITION.getSymbol().length() + 2,text.indexOf("="));
-        } else if (text.startsWith(DSLMappingEntry.CONSEQUENCE.getSymbol())) {
-            return text.substring(DSLMappingEntry.CONSEQUENCE.getSymbol().length() + 2,text.indexOf("="));
-        } else if (text.startsWith(DSLMappingEntry.ANY.getSymbol())) {
-            return text.substring(DSLMappingEntry.ANY.getSymbol().length() + 2,text.indexOf("="));
-        } else if (text.startsWith("#")) {
-            return "";
-        } else {
-            return text;
-        }
-    }
-    
-    /**
-     * Method will return just the object metadata
-     * @param text
-     * @return
-     */
-    protected String getObjMetadata(String text) {
-    	if (text.startsWith("[")) {
-        	return text.substring(1,text.lastIndexOf("]"));
-    	} else {
-    		return "";
-    	}
-    }
-
-    /**
-     * method will strip the metadata from the text string
-     * @param text
-     * @return
-     */
-    protected String stripObjMetadata(String text) {
-    	if (text.startsWith("[")) {
-        	return text.substring(text.lastIndexOf("]") + 1);
-    	} else {
-    		return text;
-    	}
-    }
-    
-    /**
-     * The method is different than addTokens(StringTokenizer). this method
-     * expects additional metadata. It expects to get an object name or "*"
-     * meaning all. If the metadata is a wildcard all, it will add the
-     * tokens to all the top level nodes that are immediate child of root.
-     * @param metadata
-     * @param tokens
-     */
-    public void addTokens(String metadata, StringTokenizer tokens) {
-    	Node mnode = this.rootCond.addToken(metadata);
-    	Node thenode = mnode;
-    	while (tokens.hasMoreTokens()) {
-    		Node newnode = thenode.addToken(tokens.nextToken());
-    		thenode = newnode;
-    	}
-    }
-    
-    /**
-     * method adds the token to root
-     * @param tokens
-     */
-    public void addTokens(String[] tokens, Node rootNode) {
-        Node thenode = rootNode;
-        for (int i = 0; i < tokens.length; i++) {
-            Node newnode = thenode.addToken(tokens[i]);
-            thenode = newnode;
-        }
-    }
-    
-    /**
-     * the method will tokenize the text and try to find
-     * the node that matches and return the children. the method
-     * will traverse down the network as far as it can and return
-     * the children at that level.
-     * @param text
-     * @return
-     */
-    public Node[] getConditionChildren(String text) {
-        Node thenode = this.rootCond;
-    	if (text.length() > 0) {
-            StringTokenizer tokenz = new StringTokenizer(text);
-            this.last = this.current;
-            while (tokenz.hasMoreTokens()) {
-                String strtk = tokenz.nextToken();
-                Node ch = thenode.getChild(strtk);
-                // if a child is found, we set thenode to the child Node
-                if (ch != null) {
-                    thenode = ch;
-                } else {
-                    break;
-                }
-            }
-            if (thenode != this.rootCond) {
-                this.current = thenode;
-            }
-    	}
-        Collection children = thenode.getChildren();
-        Node[] nchild = new Node[children.size()];
-        return (Node[])children.toArray(nchild);
-    }
-
-    /**
-     * the method will tokenize the text and try to find
-     * the node that matches and return the children. the method
-     * will traverse down the network as far as it can and return
-     * the children at that level.
-     * @param text
-     * @return
-     */
-    public Node[] getConsequenceChildren(String text) {
-        Node thenode = this.rootConseq;
-    	if (text.length() >= 0) {
-            StringTokenizer tokenz = new StringTokenizer(text);
-            this.last = this.current;
-            while (tokenz.hasMoreTokens()) {
-                String strtk = tokenz.nextToken();
-                Node ch = thenode.getChild(strtk);
-                // if a child is found, we set thenode to the child Node
-                if (ch != null) {
-                    thenode = ch;
-                } else {
-                    break;
-                }
-            }
-            if (thenode != this.rootConseq) {
-                this.current = thenode;
-            }
-    	}
-        Collection children = thenode.getChildren();
-        Node[] nchild = new Node[children.size()];
-        return (Node[]) children.toArray(nchild);
-    }
-
-    /**
-     * the method expects the caller to pass the object
-     * @param obj
-     * @param text
-     * @return
-     */
-    public Node[] getChildren(String obj, String text) {
-        Node thenode = this.rootCond.getChild(obj);
-    	if (thenode != null && text.length() > 0) {
-            StringTokenizer tokenz = new StringTokenizer(text);
-            this.last = this.current;
-            while (tokenz.hasMoreTokens()) {
-                String strtk = tokenz.nextToken();
-                Node ch = thenode.getChild(strtk);
-                // if a child is found, we set thenode to the child Node
-                if (ch != null) {
-                    thenode = ch;
-                } else {
-                    break;
-                }
-            }
-            if (thenode != this.rootCond) {
-                this.current = thenode;
-            }
-    	}
-    	if (thenode == null) {
-    		return null;
-    		// thenode = this.rootCond;
-    	}
-        Collection children = thenode.getChildren();
-        Node[] nchild = new Node[children.size()];
-        return (Node[])children.toArray(nchild);
-    }
-    
-    /**
-     * for convienance, the method will return a list of strings
-     * that are children of the last node found. If the editor
-     * wants to generate the children strings, call the method
-     * with true
-     * @param text
-     * @return
-     */
-    public ArrayList getConditionChildrenList(String text, boolean addChildren) {
-    	Node[] c = getConditionChildren(text);
-    	this.suggestions.clear();
-    	for (int idx=0; idx < c.length; idx++) {
-    		this.suggestions.add(c[idx].getToken());
-    		if (addChildren) {
-        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
-    		}
-    	}
-    	return this.suggestions;
-    }
-    
-    /**
-     * for convienance, the method will return a list of strings
-     * that are children of the last node found. If the editor
-     * wants to generate the children strings, call the method
-     * with true
-     * @param text
-     * @return
-     */
-    public ArrayList getConsequenceChildrenList(String text, boolean addChildren) {
-    	Node[] c = getConsequenceChildren(text);
-    	this.suggestions.clear();
-    	for (int idx=0; idx < c.length; idx++) {
-    		if (addChildren) {
-        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
-    		} else {
-    			this.suggestions.add(c[idx].getToken());
-    		}
-    	}
-    	return this.suggestions;
-    }
-    
-    /**
-     * 
-     * @param obj
-     * @param text
-     * @param addChildren
-     * @return
-     */
-    public ArrayList getChildrenList(String obj, String text, boolean addChildren) {
-    	Node[] c = getChildren(obj,text);
-    	this.suggestions.clear();
-    	if (c != null) {
-	    	for (int idx=0; idx < c.length; idx++) {
-	    		if (addChildren) {
-	        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
-	    		} else {
-	    			this.suggestions.add(c[idx].getToken());
-	    		}
-	    	}
-    	}
-    	if (c == null || text.trim().length() == 0) {
-	    	// in the event the line is zero length after it is trimmed, we also add
-	    	// the top level nodes
-    		Iterator top = this.rootCond.getChildren().iterator();
-        	while (top.hasNext()) {
-        		Node t = (Node)top.next();
-        		if (!this.suggestions.contains(t.getToken())) {
-            		if (addChildren) {
-                		this.addChildToList(t, t.getToken(), this.suggestions);
-            		} else {
-                		this.suggestions.add(t.getToken());
-            		}
-        		}
-        	}
-    	}
-    	return this.suggestions;
-    }
-
-    /**
-     * method will prepend the parent text to the child and generate
-     * the possible combinations in text format.
-     * @param n
-     * @param prefix
-     * @param list
-     */
-    public void addChildToList(Node n, String prefix, ArrayList list) {
-    	if (n.getChildren().size() > 0) {
-    		Iterator itr = n.getChildren().iterator();
-    		while (itr.hasNext()) {
-    			Node child = (Node)itr.next();
-    			String text = prefix + " " + child.getToken();
-    			// list.add(text);
-    			addChildToList(child,text,list);
-    		}
-    	} else {
-    		list.add(prefix);
-    	}
-    }
-    
-    public Node getCurrent() {
-        return current;
-    }
-
-    public void setCurrent(Node current) {
-        this.current = current;
-    }
-
-    public Node getLast() {
-        return last;
-    }
-
-    public void setLast(Node last) {
-        this.last = last;
-    }
-
-    /**
-     * The method will print the DSLTree to System.out in text format.
-     */
-    public void printTree() {
-        System.out.println("ROOT");
-        Iterator itr = this.rootCond.getChildren().iterator();
-        while (itr.hasNext()) {
-            Node n = (Node)itr.next();
-            printNode(n);
-        }
-    }
-    
-    /**
-     * method will print the node and then iterate over the children
-     * @param n
-     */
-    protected void printNode(Node n) {
-        printTabs(n.getDepth());
-        System.out.println("- \"" + n.getToken() + "\"");
-        Iterator itr = n.getChildren().iterator();
-        while (itr.hasNext()) {
-            Node c = (Node)itr.next();
-            printNode(c);
-        }
-    }
-    
-    /**
-     * Method will print n number of tabs
-     * @param count
-     */
-    protected void printTabs(int count) {
-        for (int idx=0; idx < count; idx++) {
-            System.out.print(tab);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,493 @@
+package org.drools.eclipse.editors.completion;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import org.drools.lang.dsl.DSLMapping;
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingEntry.Section;
+
+public class DSLTree {
+
+    public static final String separator = "=";
+    public static final String tab = "  ";
+    
+    private Node current = null;
+    private Node last = null;
+    private Node rootCond = null;
+    private Node rootConseq = null;
+    private boolean empty = true;
+    private ArrayList suggestions = new ArrayList();
+    private HashMap objToNL = new HashMap();
+    
+    public DSLTree() {
+        this.rootCond = new Node("root");
+        this.rootConseq = new Node("root");
+    }
+    
+    /**
+     * the method will take the dsl file and build a DSLTree using
+     * the Node class.
+     * @param dslFile
+     */
+    public void buildTree(String dslFile) {
+        buildTree(openDSLFile(dslFile));
+    }
+
+    /**
+     * the method uses the DSLAdapter to get the contents of the
+     * DSL mapping file.
+     * @param dslcontents
+     */
+    public void buildTree(Reader dslcontents) {
+    	buildTree(createBufferedReader(dslcontents));
+    }
+    
+    private void buildTree(BufferedReader breader) {
+        this.rootCond.clearChildren();
+        this.rootConseq.clearChildren();
+        parseFile(breader);
+        try {
+            breader.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        this.empty = false;
+    }
+    
+    /**
+     * method will create a BufferedReader to read the file.
+     * @param filename
+     * @return
+     */
+    protected BufferedReader openDSLFile(String filename) {
+        try {
+            FileReader reader = new FileReader(filename);
+            BufferedReader breader = new BufferedReader(reader);
+            return breader;
+        } catch (IOException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    /**
+     * Create a buffered reader for the reader created by the DSLAdapater
+     * @param reader
+     * @return
+     */
+    protected BufferedReader createBufferedReader(Reader reader) {
+		return new BufferedReader(reader);
+    }
+    
+    /**
+     * if the DSL mapping hasn't been loaded, the method will return
+     * true. If the DSL mapping has been loaded, the method returns
+     * false.
+     * @return
+     */
+    public boolean isEmpty() {
+    	return this.empty;
+    }
+    
+    /**
+     * method will use the BufferedReader to read the contents of the file.
+     * It calls other methods to parse the line and build the tree.
+     * @param reader
+     */
+    protected void parseFile(BufferedReader reader) {
+        String line = null;
+        try {
+            while ( (line = reader.readLine()) != null) {
+            	Section section = getSection(line);
+                String nl = stripHeadingAndCode(line);
+                String objname = this.getObjMetadata(nl);
+                nl = this.stripObjMetadata(nl);
+                addEntry(section, nl, objname);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+    
+    public void buildTree(DSLMapping mapping) {
+    	List entries = mapping.getEntries();
+    	for (Iterator iterator = entries.iterator(); iterator.hasNext(); ) {
+    		DSLMappingEntry entry = (DSLMappingEntry) iterator.next();
+        	Section section = entry.getSection();
+            String nl = entry.getMappingKey();
+            String objname = entry.getMetaData().getMetaData();
+            addEntry(section, nl, objname);
+    	}
+    }
+    
+    private void addEntry(Section section, String nl, String objname) {
+        if (!nl.startsWith("-")) {
+        	if (objname != null) {
+        		this.addObjToNLMap(objname, nl);
+        	}
+            String[] tokenz = nl.split("\\s");
+            if (section == DSLMappingEntry.CONDITION || section == DSLMappingEntry.ANY) {
+            	addTokens(tokenz, rootCond);
+            }
+            if (section == DSLMappingEntry.CONSEQUENCE || section == DSLMappingEntry.ANY) {
+            	addTokens(tokenz, rootConseq);
+            }
+        } else {
+        	String res = (String)this.objToNL.get(objname);
+            StringTokenizer tokenz = new StringTokenizer(nl);
+            addTokens(res,tokenz);
+        }
+    }
+    
+    public void addObjToNLMap(String objname, String nl) {
+    	if (!objname.startsWith("-")) {
+    		this.objToNL.put(objname, nl);
+    	}
+    }
+    
+    protected Section getSection(String text) {
+        if (text.startsWith(DSLMappingEntry.CONDITION.getSymbol())) {
+            return DSLMappingEntry.CONDITION;
+        } else if (text.startsWith(DSLMappingEntry.CONSEQUENCE.getSymbol())) {
+            return DSLMappingEntry.CONSEQUENCE;
+        } else if (text.startsWith(DSLMappingEntry.ANY.getSymbol())) {
+            return DSLMappingEntry.ANY;
+        } else if (text.startsWith(DSLMappingEntry.KEYWORD.getSymbol())) {
+        	return DSLMappingEntry.KEYWORD;
+        }
+        return null; 
+    }
+    
+    /**
+     * method will strip out the when, then, * at the beginning of each 
+     * line and the mapped drl expression
+     * @param text
+     * @return
+     */
+    protected String stripHeadingAndCode(String text) {
+        if (text.startsWith(DSLMappingEntry.CONDITION.getSymbol())) {
+            return text.substring(DSLMappingEntry.CONDITION.getSymbol().length() + 2,text.indexOf("="));
+        } else if (text.startsWith(DSLMappingEntry.CONSEQUENCE.getSymbol())) {
+            return text.substring(DSLMappingEntry.CONSEQUENCE.getSymbol().length() + 2,text.indexOf("="));
+        } else if (text.startsWith(DSLMappingEntry.ANY.getSymbol())) {
+            return text.substring(DSLMappingEntry.ANY.getSymbol().length() + 2,text.indexOf("="));
+        } else if (text.startsWith("#")) {
+            return "";
+        } else {
+            return text;
+        }
+    }
+    
+    /**
+     * Method will return just the object metadata
+     * @param text
+     * @return
+     */
+    protected String getObjMetadata(String text) {
+    	if (text.startsWith("[")) {
+        	return text.substring(1,text.lastIndexOf("]"));
+    	} else {
+    		return "";
+    	}
+    }
+
+    /**
+     * method will strip the metadata from the text string
+     * @param text
+     * @return
+     */
+    protected String stripObjMetadata(String text) {
+    	if (text.startsWith("[")) {
+        	return text.substring(text.lastIndexOf("]") + 1);
+    	} else {
+    		return text;
+    	}
+    }
+    
+    /**
+     * The method is different than addTokens(StringTokenizer). this method
+     * expects additional metadata. It expects to get an object name or "*"
+     * meaning all. If the metadata is a wildcard all, it will add the
+     * tokens to all the top level nodes that are immediate child of root.
+     * @param metadata
+     * @param tokens
+     */
+    public void addTokens(String metadata, StringTokenizer tokens) {
+    	Node mnode = this.rootCond.addToken(metadata);
+    	Node thenode = mnode;
+    	while (tokens.hasMoreTokens()) {
+    		Node newnode = thenode.addToken(tokens.nextToken());
+    		thenode = newnode;
+    	}
+    }
+    
+    /**
+     * method adds the token to root
+     * @param tokens
+     */
+    public void addTokens(String[] tokens, Node rootNode) {
+        Node thenode = rootNode;
+        for (int i = 0; i < tokens.length; i++) {
+            Node newnode = thenode.addToken(tokens[i]);
+            thenode = newnode;
+        }
+    }
+    
+    /**
+     * the method will tokenize the text and try to find
+     * the node that matches and return the children. the method
+     * will traverse down the network as far as it can and return
+     * the children at that level.
+     * @param text
+     * @return
+     */
+    public Node[] getConditionChildren(String text) {
+        Node thenode = this.rootCond;
+    	if (text.length() > 0) {
+            StringTokenizer tokenz = new StringTokenizer(text);
+            this.last = this.current;
+            while (tokenz.hasMoreTokens()) {
+                String strtk = tokenz.nextToken();
+                Node ch = thenode.getChild(strtk);
+                // if a child is found, we set thenode to the child Node
+                if (ch != null) {
+                    thenode = ch;
+                } else {
+                    break;
+                }
+            }
+            if (thenode != this.rootCond) {
+                this.current = thenode;
+            }
+    	}
+        Collection children = thenode.getChildren();
+        Node[] nchild = new Node[children.size()];
+        return (Node[])children.toArray(nchild);
+    }
+
+    /**
+     * the method will tokenize the text and try to find
+     * the node that matches and return the children. the method
+     * will traverse down the network as far as it can and return
+     * the children at that level.
+     * @param text
+     * @return
+     */
+    public Node[] getConsequenceChildren(String text) {
+        Node thenode = this.rootConseq;
+    	if (text.length() >= 0) {
+            StringTokenizer tokenz = new StringTokenizer(text);
+            this.last = this.current;
+            while (tokenz.hasMoreTokens()) {
+                String strtk = tokenz.nextToken();
+                Node ch = thenode.getChild(strtk);
+                // if a child is found, we set thenode to the child Node
+                if (ch != null) {
+                    thenode = ch;
+                } else {
+                    break;
+                }
+            }
+            if (thenode != this.rootConseq) {
+                this.current = thenode;
+            }
+    	}
+        Collection children = thenode.getChildren();
+        Node[] nchild = new Node[children.size()];
+        return (Node[]) children.toArray(nchild);
+    }
+
+    /**
+     * the method expects the caller to pass the object
+     * @param obj
+     * @param text
+     * @return
+     */
+    public Node[] getChildren(String obj, String text) {
+        Node thenode = this.rootCond.getChild(obj);
+    	if (thenode != null && text.length() > 0) {
+            StringTokenizer tokenz = new StringTokenizer(text);
+            this.last = this.current;
+            while (tokenz.hasMoreTokens()) {
+                String strtk = tokenz.nextToken();
+                Node ch = thenode.getChild(strtk);
+                // if a child is found, we set thenode to the child Node
+                if (ch != null) {
+                    thenode = ch;
+                } else {
+                    break;
+                }
+            }
+            if (thenode != this.rootCond) {
+                this.current = thenode;
+            }
+    	}
+    	if (thenode == null) {
+    		return null;
+    		// thenode = this.rootCond;
+    	}
+        Collection children = thenode.getChildren();
+        Node[] nchild = new Node[children.size()];
+        return (Node[])children.toArray(nchild);
+    }
+    
+    /**
+     * for convienance, the method will return a list of strings
+     * that are children of the last node found. If the editor
+     * wants to generate the children strings, call the method
+     * with true
+     * @param text
+     * @return
+     */
+    public ArrayList getConditionChildrenList(String text, boolean addChildren) {
+    	Node[] c = getConditionChildren(text);
+    	this.suggestions.clear();
+    	for (int idx=0; idx < c.length; idx++) {
+    		this.suggestions.add(c[idx].getToken());
+    		if (addChildren) {
+        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
+    		}
+    	}
+    	return this.suggestions;
+    }
+    
+    /**
+     * for convienance, the method will return a list of strings
+     * that are children of the last node found. If the editor
+     * wants to generate the children strings, call the method
+     * with true
+     * @param text
+     * @return
+     */
+    public ArrayList getConsequenceChildrenList(String text, boolean addChildren) {
+    	Node[] c = getConsequenceChildren(text);
+    	this.suggestions.clear();
+    	for (int idx=0; idx < c.length; idx++) {
+    		if (addChildren) {
+        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
+    		} else {
+    			this.suggestions.add(c[idx].getToken());
+    		}
+    	}
+    	return this.suggestions;
+    }
+    
+    /**
+     * 
+     * @param obj
+     * @param text
+     * @param addChildren
+     * @return
+     */
+    public ArrayList getChildrenList(String obj, String text, boolean addChildren) {
+    	Node[] c = getChildren(obj,text);
+    	this.suggestions.clear();
+    	if (c != null) {
+	    	for (int idx=0; idx < c.length; idx++) {
+	    		if (addChildren) {
+	        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
+	    		} else {
+	    			this.suggestions.add(c[idx].getToken());
+	    		}
+	    	}
+    	}
+    	if (c == null || text.trim().length() == 0) {
+	    	// in the event the line is zero length after it is trimmed, we also add
+	    	// the top level nodes
+    		Iterator top = this.rootCond.getChildren().iterator();
+        	while (top.hasNext()) {
+        		Node t = (Node)top.next();
+        		if (!this.suggestions.contains(t.getToken())) {
+            		if (addChildren) {
+                		this.addChildToList(t, t.getToken(), this.suggestions);
+            		} else {
+                		this.suggestions.add(t.getToken());
+            		}
+        		}
+        	}
+    	}
+    	return this.suggestions;
+    }
+
+    /**
+     * method will prepend the parent text to the child and generate
+     * the possible combinations in text format.
+     * @param n
+     * @param prefix
+     * @param list
+     */
+    public void addChildToList(Node n, String prefix, ArrayList list) {
+    	if (n.getChildren().size() > 0) {
+    		Iterator itr = n.getChildren().iterator();
+    		while (itr.hasNext()) {
+    			Node child = (Node)itr.next();
+    			String text = prefix + " " + child.getToken();
+    			// list.add(text);
+    			addChildToList(child,text,list);
+    		}
+    	} else {
+    		list.add(prefix);
+    	}
+    }
+    
+    public Node getCurrent() {
+        return current;
+    }
+
+    public void setCurrent(Node current) {
+        this.current = current;
+    }
+
+    public Node getLast() {
+        return last;
+    }
+
+    public void setLast(Node last) {
+        this.last = last;
+    }
+
+    /**
+     * The method will print the DSLTree to System.out in text format.
+     */
+    public void printTree() {
+        System.out.println("ROOT");
+        Iterator itr = this.rootCond.getChildren().iterator();
+        while (itr.hasNext()) {
+            Node n = (Node)itr.next();
+            printNode(n);
+        }
+    }
+    
+    /**
+     * method will print the node and then iterate over the children
+     * @param n
+     */
+    protected void printNode(Node n) {
+        printTabs(n.getDepth());
+        System.out.println("- \"" + n.getToken() + "\"");
+        Iterator itr = n.getChildren().iterator();
+        while (itr.hasNext()) {
+            Node c = (Node)itr.next();
+            printNode(c);
+        }
+    }
+    
+    /**
+     * Method will print n number of tabs
+     * @param count
+     */
+    protected void printTabs(int count) {
+        for (int idx=0; idx < count; idx++) {
+            System.out.print(tab);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,414 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.lang.descr.FactTemplateDescr;
-import org.drools.lang.descr.GlobalDescr;
-import org.drools.rule.builder.dialect.java.KnowledgeHelperFixer;
-import org.drools.util.StringUtils;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jdt.core.CompletionContext;
-import org.eclipse.jdt.core.CompletionProposal;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.ILocalVariable;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.eval.IEvaluationContext;
-import org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.JavaMethodCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.LazyJavaTypeCompletionProposal;
-import org.eclipse.jdt.ui.text.java.CompletionProposalCollector;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-
-/**
- * This is the basic completion processor that is used when the editor is outside of a rule block
- * partition.
- * The provides the content assistance for basic rule assembly stuff.
- *
- * This processor will also read behind the current editing position, to provide some context to
- * help provide the pop up list.
- *
- * @author Michael Neale, Kris Verlaenen
- */
-public class DefaultCompletionProcessor extends AbstractCompletionProcessor {
-
-    private static final String    NEW_RULE_TEMPLATE           = "rule \"new rule\"" + System.getProperty( "line.separator" ) + "\twhen" + System.getProperty( "line.separator" ) + "\t\t" + System.getProperty( "line.separator" ) + "\tthen"
-                                                                 + System.getProperty( "line.separator" ) + "\t\t" + System.getProperty( "line.separator" ) + "end";
-    private static final String    NEW_QUERY_TEMPLATE          = "query \"query name\"" + System.getProperty( "line.separator" ) + "\t#conditions" + System.getProperty( "line.separator" ) + "end";
-    private static final String    NEW_FUNCTION_TEMPLATE       = "function void yourFunction(Type arg) {" + System.getProperty( "line.separator" ) + "\t/* code goes here*/" + System.getProperty( "line.separator" ) + "}";
-    private static final String    NEW_TEMPLATE_TEMPLATE       = "template Name" + System.getProperty( "line.separator" ) + "\t" + System.getProperty( "line.separator" ) + "end";
-    protected static final Pattern IMPORT_PATTERN              = Pattern.compile( ".*\n\\W*import\\W[^;\\s]*",
-                                                                                  Pattern.DOTALL );
-    // TODO: doesn't work for { inside functions
-    private static final Pattern   FUNCTION_PATTERN            = Pattern.compile( ".*\n\\W*function\\s+(\\S+)\\s+(\\S+)\\s*\\(([^\\)]*)\\)\\s*\\{([^\\}]*)",
-                                                                                  Pattern.DOTALL );
-    protected static final Image   VARIABLE_ICON               = DroolsPluginImages.getImage( DroolsPluginImages.VARIABLE );
-    protected static final Image   METHOD_ICON                 = DroolsPluginImages.getImage( DroolsPluginImages.METHOD );
-    protected static final Image   CLASS_ICON                  = DroolsPluginImages.getImage( DroolsPluginImages.CLASS );
-
-    public DefaultCompletionProcessor(AbstractRuleEditor editor) {
-        super( editor );
-    }
-
-    protected List getCompletionProposals(ITextViewer viewer,
-                                          int documentOffset) {
-        try {
-            IDocument doc = viewer.getDocument();
-            String backText = readBackwards( documentOffset,
-                                             doc );
-
-            String prefix = CompletionUtil.stripLastWord( backText );
-
-            List props = null;
-            Matcher matcher = IMPORT_PATTERN.matcher( backText );
-            if ( matcher.matches() ) {
-                String classNameStart = backText.substring( backText.lastIndexOf( "import" ) + 7 );
-                props = getAllClassProposals( classNameStart,
-                                              documentOffset,
-                                              prefix );
-            } else {
-                matcher = FUNCTION_PATTERN.matcher( backText );
-                if ( matcher.matches() ) {
-                    // extract function parameters
-                    Map params = extractParams( matcher.group( 3 ) );
-                    // add global parameters
-                    List globals = getGlobals();
-                    if ( globals != null ) {
-                        for ( Iterator iterator = globals.iterator(); iterator.hasNext(); ) {
-                            GlobalDescr global = (GlobalDescr) iterator.next();
-                            params.put( global.getIdentifier(),
-                                        global.getType() );
-                        }
-                    }
-                    String functionText = matcher.group( 4 );
-                    props = getJavaCompletionProposals( documentOffset,
-                                                        functionText,
-                                                        prefix,
-                                                        params );
-                    filterProposalsOnPrefix( prefix,
-                                             props );
-                } else {
-                    props = getPossibleProposals( viewer,
-                                                  documentOffset,
-                                                  backText,
-                                                  prefix );
-                }
-            }
-            return props;
-        } catch ( Throwable t ) {
-            DroolsEclipsePlugin.log( t );
-        }
-        return null;
-    }
-
-    private Map extractParams(String params) {
-        Map result = new HashMap();
-        String[] parameters = StringUtils.split( params,
-                                                 "," );
-        for ( int i = 0; i < parameters.length; i++ ) {
-            String[] typeAndName = StringUtils.split( parameters[i] );
-            if ( typeAndName.length == 2 ) {
-                result.put( typeAndName[1],
-                            typeAndName[0] );
-            }
-        }
-        return result;
-    }
-
-    /*
-     * create and returns a java project based on the current editor input or returns null
-     */
-    private IJavaProject getCurrentJavaProject() {
-        IEditorInput input = getEditor().getEditorInput();
-        if ( !(input instanceof IFileEditorInput) ) {
-            return null;
-        }
-        IProject project = ((IFileEditorInput) input).getFile().getProject();
-        IJavaProject javaProject = JavaCore.create( project );
-        return javaProject;
-    }
-
-    protected List getAllClassProposals(final String classNameStart,
-                                        final int documentOffset,
-                                        final String prefix) {
-        List result = new ArrayList();
-        IJavaProject javaProject = getCurrentJavaProject();
-        if ( javaProject == null ) {
-            return result;
-        }
-        CompletionProposalCollector collector = new CompletionProposalCollector( javaProject ) {
-            public void accept(CompletionProposal proposal) {
-                if ( proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.PACKAGE_REF || proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF ) {
-                    super.accept( proposal );
-                }
-            }
-        };
-        collector.acceptContext( new CompletionContext() );
-        try {
-            IEvaluationContext evalContext = javaProject.newEvaluationContext();
-            evalContext.codeComplete( classNameStart,
-                                      classNameStart.length(),
-                                      collector );
-            IJavaCompletionProposal[] proposals = collector.getJavaCompletionProposals();
-            for ( int i = 0; i < proposals.length; i++ ) {
-                if ( proposals[i] instanceof AbstractJavaCompletionProposal ) {
-                    AbstractJavaCompletionProposal javaProposal = (AbstractJavaCompletionProposal) proposals[i];
-                    int replacementOffset = documentOffset - (classNameStart.length() - javaProposal.getReplacementOffset());
-                    javaProposal.setReplacementOffset( replacementOffset );
-                    if ( javaProposal instanceof LazyJavaTypeCompletionProposal ) {
-                        String completionPrefix = classNameStart.substring( classNameStart.length() - javaProposal.getReplacementLength() );
-                        int dotIndex = completionPrefix.lastIndexOf( '.' );
-                        // match up to the last dot in order to make higher level matching still work (camel case...)
-                        if ( dotIndex != -1 ) {
-                            javaProposal.setReplacementString( ((LazyJavaTypeCompletionProposal) javaProposal).getQualifiedTypeName() );
-                        }
-                    }
-                    result.add( proposals[i] );
-                }
-            }
-        } catch ( Throwable t ) {
-            DroolsEclipsePlugin.log( t );
-        }
-        return result;
-    }
-
-    protected List getPossibleProposals(ITextViewer viewer,
-                                        int documentOffset,
-                                        String backText,
-                                        final String prefix) {
-        List list = new ArrayList();
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "rule",
-                                              NEW_RULE_TEMPLATE,
-                                              6 ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "import",
-                                              "import " ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "expander",
-                                              "expander " ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "global",
-                                              "global " ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "package",
-                                              "package " ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "query",
-                                              NEW_QUERY_TEMPLATE ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "function",
-                                              NEW_FUNCTION_TEMPLATE,
-                                              14 ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "template",
-                                              NEW_TEMPLATE_TEMPLATE,
-                                              9 ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "dialect \"java\"",
-                                              "dialect \"java\" " ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "dialect \"mvel\"",
-                                              "dialect \"mvel\" " ) );
-        filterProposalsOnPrefix( prefix,
-                                 list );
-        return list;
-    }
-
-    protected List getJavaCompletionProposals(final int documentOffset,
-                                              final String javaText,
-                                              final String prefix,
-                                              Map params) {
-        final List list = new ArrayList();
-        requestJavaCompletionProposals( javaText,
-                                        prefix,
-                                        documentOffset,
-                                        params,
-                                        list );
-        return list;
-    }
-
-    /*
-     * do we already have a completion for that string that would be either a local variable or a field?
-     */
-    protected static boolean doesNotContainFieldCompletion(String completion,
-                                                         List completions) {
-        if ( completion == null || completion.length() == 0 || completions == null ) {
-            return false;
-        }
-        for ( Iterator iter = completions.iterator(); iter.hasNext(); ) {
-            Object o = iter.next();
-            if ( o instanceof AbstractJavaCompletionProposal ) {
-                AbstractJavaCompletionProposal prop = (AbstractJavaCompletionProposal) o;
-                String content = prop.getReplacementString();
-                if ( completion.equals( content ) ) {
-                    IJavaElement javaElement = prop.getJavaElement();
-                    if ( javaElement instanceof ILocalVariable || javaElement instanceof IField ) {
-                        return false;
-                    }
-                }
-            }
-        }
-        return true;
-    }
-
-    protected void requestJavaCompletionProposals(final String javaText,
-                                                  final String prefix,
-                                                  final int documentOffset,
-                                                  Map params,
-                                                  Collection results) {
-
-
-        String javaTextWithoutPrefix = CompletionUtil.getTextWithoutPrefix( javaText,
-                                                                            prefix );
-        // boolean to filter default Object methods produced by code completion when in the beginning of a statement
-        boolean filterObjectMethods = false;
-        if ( "".equals( javaTextWithoutPrefix.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( javaTextWithoutPrefix ).matches() ) {
-            filterObjectMethods = true;
-        }
-        IJavaProject javaProject = getCurrentJavaProject();
-        if ( javaProject == null ) {
-            return;
-        }
-
-        CompletionProposalCollector collector = new CompletionProposalCollector( javaProject );
-        collector.acceptContext( new CompletionContext() );
-
-        try {
-            IEvaluationContext evalContext = javaProject.newEvaluationContext();
-            List imports = getImports();
-            if ( imports != null && imports.size() > 0 ) {
-                evalContext.setImports( (String[]) imports.toArray( new String[imports.size()] ) );
-            }
-            StringBuffer javaTextWithParams = new StringBuffer();
-            Iterator iterator = params.entrySet().iterator();
-            while ( iterator.hasNext() ) {
-                Map.Entry entry = (Map.Entry) iterator.next();
-                // this does not seem to work, so adding variables manually
-                // evalContext.newVariable((String) entry.getValue(), (String) entry.getKey(), null);
-                javaTextWithParams.append( entry.getValue() + " " + entry.getKey() + ";\n" );
-            }
-            javaTextWithParams.append( "org.drools.spi.KnowledgeHelper drools;" );
-            javaTextWithParams.append( javaText );
-            String jtext = javaTextWithParams.toString();
-            String fixedText = new KnowledgeHelperFixer().fix( jtext );
-
-            evalContext.codeComplete( fixedText,
-                                      fixedText.length(),
-                                      collector );
-            IJavaCompletionProposal[] proposals = collector.getJavaCompletionProposals();
-            for ( int i = 0; i < proposals.length; i++ ) {
-                if ( proposals[i] instanceof AbstractJavaCompletionProposal ) {
-                    AbstractJavaCompletionProposal javaProposal = (AbstractJavaCompletionProposal) proposals[i];
-                    int replacementOffset = documentOffset - (fixedText.length() - javaProposal.getReplacementOffset());
-                    javaProposal.setReplacementOffset( replacementOffset );
-                    if ( javaProposal instanceof LazyJavaTypeCompletionProposal ) {
-                        String completionPrefix = javaText.substring( javaText.length() - javaProposal.getReplacementLength() );
-                        int dotIndex = completionPrefix.lastIndexOf( '.' );
-                        // match up to the last dot in order to make higher level matching still work (camel case...)
-                        if ( dotIndex != -1 ) {
-                            javaProposal.setReplacementString( ((LazyJavaTypeCompletionProposal) javaProposal).getQualifiedTypeName() );
-                        }
-                    }
-                    if ( !filterObjectMethods || !(proposals[i] instanceof JavaMethodCompletionProposal) ) {
-                        results.add( proposals[i] );
-                    }
-                }
-            }
-        } catch ( Throwable t ) {
-            DroolsEclipsePlugin.log( t );
-        }
-    }
-
-    protected String getPackage() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getPackage();
-        }
-        return "";
-    }
-
-    protected List getImports() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getImports();
-        }
-        return Collections.EMPTY_LIST;
-    }
-
-    protected Set getUniqueImports() {
-        HashSet set = new HashSet();
-        set.addAll( getImports() );
-        return set;
-    }
-
-    protected List getFunctions() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getFunctions();
-        }
-        return Collections.EMPTY_LIST;
-    }
-
-    protected Map getAttributes() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getAttributes();
-        }
-        return Collections.EMPTY_MAP;
-    }
-
-    protected Set getTemplates() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getTemplates();
-        }
-        return Collections.EMPTY_SET;
-    }
-
-    protected FactTemplateDescr getTemplate(String name) {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getTemplate( name );
-        }
-        return null;
-    }
-
-    protected List getGlobals() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getGlobals();
-        }
-        return Collections.EMPTY_LIST;
-    }
-
-    protected List getClassesInPackage() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getClassesInPackage();
-        }
-        return Collections.EMPTY_LIST;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,414 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.rule.builder.dialect.java.KnowledgeHelperFixer;
+import org.drools.util.StringUtils;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jdt.core.CompletionContext;
+import org.eclipse.jdt.core.CompletionProposal;
+import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.ILocalVariable;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.eval.IEvaluationContext;
+import org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal;
+import org.eclipse.jdt.internal.ui.text.java.JavaMethodCompletionProposal;
+import org.eclipse.jdt.internal.ui.text.java.LazyJavaTypeCompletionProposal;
+import org.eclipse.jdt.ui.text.java.CompletionProposalCollector;
+import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IFileEditorInput;
+
+/**
+ * This is the basic completion processor that is used when the editor is outside of a rule block
+ * partition.
+ * The provides the content assistance for basic rule assembly stuff.
+ *
+ * This processor will also read behind the current editing position, to provide some context to
+ * help provide the pop up list.
+ *
+ * @author Michael Neale, Kris Verlaenen
+ */
+public class DefaultCompletionProcessor extends AbstractCompletionProcessor {
+
+    private static final String    NEW_RULE_TEMPLATE           = "rule \"new rule\"" + System.getProperty( "line.separator" ) + "\twhen" + System.getProperty( "line.separator" ) + "\t\t" + System.getProperty( "line.separator" ) + "\tthen"
+                                                                 + System.getProperty( "line.separator" ) + "\t\t" + System.getProperty( "line.separator" ) + "end";
+    private static final String    NEW_QUERY_TEMPLATE          = "query \"query name\"" + System.getProperty( "line.separator" ) + "\t#conditions" + System.getProperty( "line.separator" ) + "end";
+    private static final String    NEW_FUNCTION_TEMPLATE       = "function void yourFunction(Type arg) {" + System.getProperty( "line.separator" ) + "\t/* code goes here*/" + System.getProperty( "line.separator" ) + "}";
+    private static final String    NEW_TEMPLATE_TEMPLATE       = "template Name" + System.getProperty( "line.separator" ) + "\t" + System.getProperty( "line.separator" ) + "end";
+    protected static final Pattern IMPORT_PATTERN              = Pattern.compile( ".*\n\\W*import\\W[^;\\s]*",
+                                                                                  Pattern.DOTALL );
+    // TODO: doesn't work for { inside functions
+    private static final Pattern   FUNCTION_PATTERN            = Pattern.compile( ".*\n\\W*function\\s+(\\S+)\\s+(\\S+)\\s*\\(([^\\)]*)\\)\\s*\\{([^\\}]*)",
+                                                                                  Pattern.DOTALL );
+    protected static final Image   VARIABLE_ICON               = DroolsPluginImages.getImage( DroolsPluginImages.VARIABLE );
+    protected static final Image   METHOD_ICON                 = DroolsPluginImages.getImage( DroolsPluginImages.METHOD );
+    protected static final Image   CLASS_ICON                  = DroolsPluginImages.getImage( DroolsPluginImages.CLASS );
+
+    public DefaultCompletionProcessor(AbstractRuleEditor editor) {
+        super( editor );
+    }
+
+    protected List getCompletionProposals(ITextViewer viewer,
+                                          int documentOffset) {
+        try {
+            IDocument doc = viewer.getDocument();
+            String backText = readBackwards( documentOffset,
+                                             doc );
+
+            String prefix = CompletionUtil.stripLastWord( backText );
+
+            List props = null;
+            Matcher matcher = IMPORT_PATTERN.matcher( backText );
+            if ( matcher.matches() ) {
+                String classNameStart = backText.substring( backText.lastIndexOf( "import" ) + 7 );
+                props = getAllClassProposals( classNameStart,
+                                              documentOffset,
+                                              prefix );
+            } else {
+                matcher = FUNCTION_PATTERN.matcher( backText );
+                if ( matcher.matches() ) {
+                    // extract function parameters
+                    Map params = extractParams( matcher.group( 3 ) );
+                    // add global parameters
+                    List globals = getGlobals();
+                    if ( globals != null ) {
+                        for ( Iterator iterator = globals.iterator(); iterator.hasNext(); ) {
+                            GlobalDescr global = (GlobalDescr) iterator.next();
+                            params.put( global.getIdentifier(),
+                                        global.getType() );
+                        }
+                    }
+                    String functionText = matcher.group( 4 );
+                    props = getJavaCompletionProposals( documentOffset,
+                                                        functionText,
+                                                        prefix,
+                                                        params );
+                    filterProposalsOnPrefix( prefix,
+                                             props );
+                } else {
+                    props = getPossibleProposals( viewer,
+                                                  documentOffset,
+                                                  backText,
+                                                  prefix );
+                }
+            }
+            return props;
+        } catch ( Throwable t ) {
+            DroolsEclipsePlugin.log( t );
+        }
+        return null;
+    }
+
+    private Map extractParams(String params) {
+        Map result = new HashMap();
+        String[] parameters = StringUtils.split( params,
+                                                 "," );
+        for ( int i = 0; i < parameters.length; i++ ) {
+            String[] typeAndName = StringUtils.split( parameters[i] );
+            if ( typeAndName.length == 2 ) {
+                result.put( typeAndName[1],
+                            typeAndName[0] );
+            }
+        }
+        return result;
+    }
+
+    /*
+     * create and returns a java project based on the current editor input or returns null
+     */
+    private IJavaProject getCurrentJavaProject() {
+        IEditorInput input = getEditor().getEditorInput();
+        if ( !(input instanceof IFileEditorInput) ) {
+            return null;
+        }
+        IProject project = ((IFileEditorInput) input).getFile().getProject();
+        IJavaProject javaProject = JavaCore.create( project );
+        return javaProject;
+    }
+
+    protected List getAllClassProposals(final String classNameStart,
+                                        final int documentOffset,
+                                        final String prefix) {
+        List result = new ArrayList();
+        IJavaProject javaProject = getCurrentJavaProject();
+        if ( javaProject == null ) {
+            return result;
+        }
+        CompletionProposalCollector collector = new CompletionProposalCollector( javaProject ) {
+            public void accept(CompletionProposal proposal) {
+                if ( proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.PACKAGE_REF || proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF ) {
+                    super.accept( proposal );
+                }
+            }
+        };
+        collector.acceptContext( new CompletionContext() );
+        try {
+            IEvaluationContext evalContext = javaProject.newEvaluationContext();
+            evalContext.codeComplete( classNameStart,
+                                      classNameStart.length(),
+                                      collector );
+            IJavaCompletionProposal[] proposals = collector.getJavaCompletionProposals();
+            for ( int i = 0; i < proposals.length; i++ ) {
+                if ( proposals[i] instanceof AbstractJavaCompletionProposal ) {
+                    AbstractJavaCompletionProposal javaProposal = (AbstractJavaCompletionProposal) proposals[i];
+                    int replacementOffset = documentOffset - (classNameStart.length() - javaProposal.getReplacementOffset());
+                    javaProposal.setReplacementOffset( replacementOffset );
+                    if ( javaProposal instanceof LazyJavaTypeCompletionProposal ) {
+                        String completionPrefix = classNameStart.substring( classNameStart.length() - javaProposal.getReplacementLength() );
+                        int dotIndex = completionPrefix.lastIndexOf( '.' );
+                        // match up to the last dot in order to make higher level matching still work (camel case...)
+                        if ( dotIndex != -1 ) {
+                            javaProposal.setReplacementString( ((LazyJavaTypeCompletionProposal) javaProposal).getQualifiedTypeName() );
+                        }
+                    }
+                    result.add( proposals[i] );
+                }
+            }
+        } catch ( Throwable t ) {
+            DroolsEclipsePlugin.log( t );
+        }
+        return result;
+    }
+
+    protected List getPossibleProposals(ITextViewer viewer,
+                                        int documentOffset,
+                                        String backText,
+                                        final String prefix) {
+        List list = new ArrayList();
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "rule",
+                                              NEW_RULE_TEMPLATE,
+                                              6 ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "import",
+                                              "import " ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "expander",
+                                              "expander " ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "global",
+                                              "global " ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "package",
+                                              "package " ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "query",
+                                              NEW_QUERY_TEMPLATE ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "function",
+                                              NEW_FUNCTION_TEMPLATE,
+                                              14 ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "template",
+                                              NEW_TEMPLATE_TEMPLATE,
+                                              9 ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "dialect \"java\"",
+                                              "dialect \"java\" " ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "dialect \"mvel\"",
+                                              "dialect \"mvel\" " ) );
+        filterProposalsOnPrefix( prefix,
+                                 list );
+        return list;
+    }
+
+    protected List getJavaCompletionProposals(final int documentOffset,
+                                              final String javaText,
+                                              final String prefix,
+                                              Map params) {
+        final List list = new ArrayList();
+        requestJavaCompletionProposals( javaText,
+                                        prefix,
+                                        documentOffset,
+                                        params,
+                                        list );
+        return list;
+    }
+
+    /*
+     * do we already have a completion for that string that would be either a local variable or a field?
+     */
+    protected static boolean doesNotContainFieldCompletion(String completion,
+                                                         List completions) {
+        if ( completion == null || completion.length() == 0 || completions == null ) {
+            return false;
+        }
+        for ( Iterator iter = completions.iterator(); iter.hasNext(); ) {
+            Object o = iter.next();
+            if ( o instanceof AbstractJavaCompletionProposal ) {
+                AbstractJavaCompletionProposal prop = (AbstractJavaCompletionProposal) o;
+                String content = prop.getReplacementString();
+                if ( completion.equals( content ) ) {
+                    IJavaElement javaElement = prop.getJavaElement();
+                    if ( javaElement instanceof ILocalVariable || javaElement instanceof IField ) {
+                        return false;
+                    }
+                }
+            }
+        }
+        return true;
+    }
+
+    protected void requestJavaCompletionProposals(final String javaText,
+                                                  final String prefix,
+                                                  final int documentOffset,
+                                                  Map params,
+                                                  Collection results) {
+
+
+        String javaTextWithoutPrefix = CompletionUtil.getTextWithoutPrefix( javaText,
+                                                                            prefix );
+        // boolean to filter default Object methods produced by code completion when in the beginning of a statement
+        boolean filterObjectMethods = false;
+        if ( "".equals( javaTextWithoutPrefix.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( javaTextWithoutPrefix ).matches() ) {
+            filterObjectMethods = true;
+        }
+        IJavaProject javaProject = getCurrentJavaProject();
+        if ( javaProject == null ) {
+            return;
+        }
+
+        CompletionProposalCollector collector = new CompletionProposalCollector( javaProject );
+        collector.acceptContext( new CompletionContext() );
+
+        try {
+            IEvaluationContext evalContext = javaProject.newEvaluationContext();
+            List imports = getImports();
+            if ( imports != null && imports.size() > 0 ) {
+                evalContext.setImports( (String[]) imports.toArray( new String[imports.size()] ) );
+            }
+            StringBuffer javaTextWithParams = new StringBuffer();
+            Iterator iterator = params.entrySet().iterator();
+            while ( iterator.hasNext() ) {
+                Map.Entry entry = (Map.Entry) iterator.next();
+                // this does not seem to work, so adding variables manually
+                // evalContext.newVariable((String) entry.getValue(), (String) entry.getKey(), null);
+                javaTextWithParams.append( entry.getValue() + " " + entry.getKey() + ";\n" );
+            }
+            javaTextWithParams.append( "org.drools.spi.KnowledgeHelper drools;" );
+            javaTextWithParams.append( javaText );
+            String jtext = javaTextWithParams.toString();
+            String fixedText = new KnowledgeHelperFixer().fix( jtext );
+
+            evalContext.codeComplete( fixedText,
+                                      fixedText.length(),
+                                      collector );
+            IJavaCompletionProposal[] proposals = collector.getJavaCompletionProposals();
+            for ( int i = 0; i < proposals.length; i++ ) {
+                if ( proposals[i] instanceof AbstractJavaCompletionProposal ) {
+                    AbstractJavaCompletionProposal javaProposal = (AbstractJavaCompletionProposal) proposals[i];
+                    int replacementOffset = documentOffset - (fixedText.length() - javaProposal.getReplacementOffset());
+                    javaProposal.setReplacementOffset( replacementOffset );
+                    if ( javaProposal instanceof LazyJavaTypeCompletionProposal ) {
+                        String completionPrefix = javaText.substring( javaText.length() - javaProposal.getReplacementLength() );
+                        int dotIndex = completionPrefix.lastIndexOf( '.' );
+                        // match up to the last dot in order to make higher level matching still work (camel case...)
+                        if ( dotIndex != -1 ) {
+                            javaProposal.setReplacementString( ((LazyJavaTypeCompletionProposal) javaProposal).getQualifiedTypeName() );
+                        }
+                    }
+                    if ( !filterObjectMethods || !(proposals[i] instanceof JavaMethodCompletionProposal) ) {
+                        results.add( proposals[i] );
+                    }
+                }
+            }
+        } catch ( Throwable t ) {
+            DroolsEclipsePlugin.log( t );
+        }
+    }
+
+    protected String getPackage() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getPackage();
+        }
+        return "";
+    }
+
+    protected List getImports() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getImports();
+        }
+        return Collections.EMPTY_LIST;
+    }
+
+    protected Set getUniqueImports() {
+        HashSet set = new HashSet();
+        set.addAll( getImports() );
+        return set;
+    }
+
+    protected List getFunctions() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getFunctions();
+        }
+        return Collections.EMPTY_LIST;
+    }
+
+    protected Map getAttributes() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getAttributes();
+        }
+        return Collections.EMPTY_MAP;
+    }
+
+    protected Set getTemplates() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getTemplates();
+        }
+        return Collections.EMPTY_SET;
+    }
+
+    protected FactTemplateDescr getTemplate(String name) {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getTemplate( name );
+        }
+        return null;
+    }
+
+    protected List getGlobals() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getGlobals();
+        }
+        return Collections.EMPTY_LIST;
+    }
+
+    protected List getClassesInPackage() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getClassesInPackage();
+        }
+        return Collections.EMPTY_LIST;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,110 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.Collection;
-import java.util.HashMap;
-
-public class Node {
-    private HashMap children = new HashMap();
-    private Node parent = null;
-    private String token;
-    private int depth = 0;
-    
-    public Node(String name) {
-        this.token = name;
-    }
-
-    /**
-     * The method will create a new Node instance and try to add it as
-     * a child node. If an Node with the same string token exists, the
-     * method will return the existing node instead.
-     * @param token
-     * @return
-     */
-    public Node addToken(String token) {
-        Node newnode = new Node(token);
-        // set the depth first
-        newnode.setDepth(depth + 1);
-        // add the node as a child
-        newnode = addChild(newnode);
-        return newnode;
-    }
-    
-    /**
-     * if the string matches this node's token, the method will return
-     * true. Otherwise it returns false.
-     * @param input
-     * @return
-     */
-    public boolean isMatch(String input) {
-        return input.equals(token);
-    }
-
-    public boolean isMatch(Node n) {
-        return this.token.equals(n.getToken());
-    }
-    
-    /**
-     * The method will check to see if a Node with the same string token
-     * already exists. If it doesn't, it will add the token as a child and
-     * return the same node.
-     * 
-     * On the otherhand, if there is an existing Node for the same string
-     * token, the method returns the existing Node instance.
-     * @param n
-     * @return
-     */
-    public Node addChild(Node n) {
-        if (!this.children.containsKey(n.getToken())) {
-            this.children.put(n.getToken(),n);
-            n.setParent(this);
-            return n;
-        } else {
-            return (Node)this.children.get(n.getToken());
-        }
-    }
-    
-    public void removeChild(Node n) {
-        this.children.remove(n.getToken());
-    }
-    
-    public Collection getChildren() {
-        return this.children.values();
-    }
-
-    /**
-     * The method will get the child matching the string token
-     * @param token
-     * @return
-     */
-    public Node getChild(String token) {
-        return (Node)this.children.get(token);
-    }
-    
-    public Node getParent() {
-        return parent;
-    }
-
-    public void setParent(Node parent) {
-        this.parent = parent;
-    }
-
-    public String getToken() {
-        return token;
-    }
-
-    public void setToken(String token) {
-        this.token = token;
-    }
-    
-    public int getDepth() {
-        return depth;
-    }
-
-    public void setDepth(int depth) {
-        this.depth = depth;
-    }
-    
-    public void clearChildren() {
-        this.children.clear();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,110 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.Collection;
+import java.util.HashMap;
+
+public class Node {
+    private HashMap children = new HashMap();
+    private Node parent = null;
+    private String token;
+    private int depth = 0;
+    
+    public Node(String name) {
+        this.token = name;
+    }
+
+    /**
+     * The method will create a new Node instance and try to add it as
+     * a child node. If an Node with the same string token exists, the
+     * method will return the existing node instead.
+     * @param token
+     * @return
+     */
+    public Node addToken(String token) {
+        Node newnode = new Node(token);
+        // set the depth first
+        newnode.setDepth(depth + 1);
+        // add the node as a child
+        newnode = addChild(newnode);
+        return newnode;
+    }
+    
+    /**
+     * if the string matches this node's token, the method will return
+     * true. Otherwise it returns false.
+     * @param input
+     * @return
+     */
+    public boolean isMatch(String input) {
+        return input.equals(token);
+    }
+
+    public boolean isMatch(Node n) {
+        return this.token.equals(n.getToken());
+    }
+    
+    /**
+     * The method will check to see if a Node with the same string token
+     * already exists. If it doesn't, it will add the token as a child and
+     * return the same node.
+     * 
+     * On the otherhand, if there is an existing Node for the same string
+     * token, the method returns the existing Node instance.
+     * @param n
+     * @return
+     */
+    public Node addChild(Node n) {
+        if (!this.children.containsKey(n.getToken())) {
+            this.children.put(n.getToken(),n);
+            n.setParent(this);
+            return n;
+        } else {
+            return (Node)this.children.get(n.getToken());
+        }
+    }
+    
+    public void removeChild(Node n) {
+        this.children.remove(n.getToken());
+    }
+    
+    public Collection getChildren() {
+        return this.children.values();
+    }
+
+    /**
+     * The method will get the child matching the string token
+     * @param token
+     * @return
+     */
+    public Node getChild(String token) {
+        return (Node)this.children.get(token);
+    }
+    
+    public Node getParent() {
+        return parent;
+    }
+
+    public void setParent(Node parent) {
+        this.parent = parent;
+    }
+
+    public String getToken() {
+        return token;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+    
+    public int getDepth() {
+        return depth;
+    }
+
+    public void setDepth(int depth) {
+        this.depth = depth;
+    }
+    
+    public void clearChildren() {
+        this.children.clear();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,35 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.lang.reflect.Field;
-
-public class ReflectionUtils {
-
-	private ReflectionUtils() {
-	}
-
-	public static Object getField(Object instance, String name) {
-		Class clazz = instance.getClass();
-
-		do {
-			Field[] fields = clazz.getDeclaredFields();
-			for (int i = 0; i < fields.length; i++) {
-				Field f = fields[i];
-				if (name.equals(f.getName())) {
-					try {
-						f.setAccessible(true);
-						return f.get(instance);
-
-					} catch (SecurityException ex) {
-						return null;
-					} catch (IllegalArgumentException ex) {
-						return null;
-					} catch (IllegalAccessException ex) {
-						return null;
-					}
-				}
-			}
-			clazz = clazz.getSuperclass();
-		} while (clazz.getSuperclass() != null);
-		return null;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,35 @@
+package org.drools.eclipse.editors.completion;
+
+import java.lang.reflect.Field;
+
+public class ReflectionUtils {
+
+	private ReflectionUtils() {
+	}
+
+	public static Object getField(Object instance, String name) {
+		Class clazz = instance.getClass();
+
+		do {
+			Field[] fields = clazz.getDeclaredFields();
+			for (int i = 0; i < fields.length; i++) {
+				Field f = fields[i];
+				if (name.equals(f.getName())) {
+					try {
+						f.setAccessible(true);
+						return f.get(instance);
+
+					} catch (SecurityException ex) {
+						return null;
+					} catch (IllegalArgumentException ex) {
+						return null;
+					} catch (IllegalAccessException ex) {
+						return null;
+					}
+				}
+			}
+			clazz = clazz.getSuperclass();
+		} while (clazz.getSuperclass() != null);
+		return null;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,1642 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-
-import org.drools.base.ClassTypeResolver;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.eclipse.util.ProjectClassLoader;
-import org.drools.lang.Location;
-import org.drools.lang.descr.AndDescr;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.ExistsDescr;
-import org.drools.lang.descr.FactTemplateDescr;
-import org.drools.lang.descr.FieldBindingDescr;
-import org.drools.lang.descr.FieldTemplateDescr;
-import org.drools.lang.descr.GlobalDescr;
-import org.drools.lang.descr.NotDescr;
-import org.drools.lang.descr.OrDescr;
-import org.drools.lang.descr.PatternDescr;
-import org.drools.rule.builder.dialect.mvel.MVELConsequenceBuilder;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
-import org.drools.spi.KnowledgeHelper;
-import org.drools.util.asm.ClassFieldInspector;
-import org.eclipse.jdt.core.CompletionProposal;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.JavaMethodCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.swt.graphics.Image;
-import org.mvel.CompiledExpression;
-import org.mvel.ExpressionCompiler;
-import org.mvel.ParserContext;
-import org.mvel.PropertyVerifier;
-
-/**
- * For handling within rules.
- *
- * @author Michael Neale, Kris Verlanen
- */
-public class RuleCompletionProcessor extends DefaultCompletionProcessor {
-
-    private static final String DIALECT     = "dialect";
-
-    private static final Image  DROOLS_ICON = DroolsPluginImages.getImage( DroolsPluginImages.DROOLS );
-
-    private static final Image  CLASS_ICON  = DroolsPluginImages.getImage( DroolsPluginImages.CLASS );
-
-    /**
-     * A CompletionContext contains the DRL backtext parsing results, to avoid
-     * multilpe parser invocations
-     */
-    private CompletionContext   context;
-
-    public RuleCompletionProcessor(AbstractRuleEditor editor) {
-        super( editor );
-    }
-
-    protected List getCompletionProposals(ITextViewer viewer,
-                                          int documentOffset) {
-        try {
-            final List list = new ArrayList();
-            IDocument doc = viewer.getDocument();
-
-            String backText = readBackwards( documentOffset,
-                                             doc );
-            final String prefix = CompletionUtil.stripLastWord( backText );
-
-            // if inside the keyword "rule ", no code completion
-            if ( backText.length() < 5 ) {
-                return list;
-            }
-
-            this.context = new CompletionContext( backText );
-            Location location = context.getLocation();
-
-            if ( location.getType() == Location.LOCATION_RULE_HEADER ) {
-                addRuleHeaderProposals( list,
-                                        documentOffset,
-                                        prefix,
-                                        backText );
-            } else if ( location.getType() == Location.LOCATION_RHS ) {
-                addRHSCompletionProposals( list,
-                                           documentOffset,
-                                           prefix,
-                                           backText,
-                                           (String) location.getProperty( Location.LOCATION_LHS_CONTENT ),
-                                           (String) location.getProperty( Location.LOCATION_RHS_CONTENT ) );
-            } else {
-                addLHSCompletionProposals( list,
-                                           documentOffset,
-                                           location,
-                                           prefix,
-                                           backText );
-            }
-
-            filterProposalsOnPrefix( prefix,
-                                     list );
-            return list;
-        } catch ( Throwable t ) {
-            DroolsEclipsePlugin.log( t );
-        }
-        return null;
-    }
-
-    protected void addRHSCompletionProposals(List list,
-                                             int documentOffset,
-                                             String prefix,
-                                             String backText,
-                                             String conditions,
-                                             String consequence) {
-        // only add functions and keywords if at the beginning of a
-        // new statement
-        if ( consequence == null || consequence.length() < prefix.length() ) {
-            // possible if doing code completion directly after "then"
-            return;
-        }
-        String consequenceWithoutPrefix = consequence.substring( 0,
-                                                                 consequence.length() - prefix.length() );
-
-        if ( context == null ) {
-            context = new CompletionContext( backText );
-        }
-
-        boolean startOfDialectExpression = CompletionUtil.isStartOfDialectExpression( consequenceWithoutPrefix );
-        if ( isJavaDialect() && startOfDialectExpression ) {
-            addRHSKeywordCompletionProposals( list,
-                                              documentOffset,
-                                              prefix );
-            addRHSFunctionCompletionProposals( list,
-                                               documentOffset,
-                                               prefix );
-        }
-        
-
-        //if we have 1st a dialect defined locally, or 2nd a global dialect
-        //the locally defined dialect will override the package default
-        if ( isJavaDialect() ) {
-            addRHSJavaCompletionProposals( list,
-                                           documentOffset,
-                                           prefix,
-                                           backText,
-                                           consequence );
-        } else if ( isMvelDialect() ) {
-            addRHSMvelCompletionProposals( list,
-                                           documentOffset,
-                                           prefix,
-                                           backText,
-                                           consequence,
-                                           startOfDialectExpression );
-        }
-    }
-
-    private boolean isJavaDialect() {
-        // java is the default dialect, so no package dialect means java
-        // conditions are ordered from the more specific to the more general
-        if ( context.isJavaDialect() ) {
-            return true;
-        } else if ( context.isDefaultDialect() && (!(getAttributes().containsKey( DIALECT )) || hasPackageDialect( "java" )) ) {
-            return true;
-        }
-
-        return false;
-    }
-
-    private boolean isMvelDialect() {
-        if ( context.isMvelDialect() ) {
-            return true;
-        } else if ( context.isDefaultDialect() && hasPackageDialect( "mvel" ) ) {
-            return true;
-        }
-        return false;
-    }
-
-    private boolean hasPackageDialect(String dialect) {
-        String globalDialect = (String) getAttributes().get( DIALECT );
-        if ( globalDialect != null && dialect.equalsIgnoreCase( globalDialect ) ) {
-            return true;
-        }
-        return false;
-    }
-
-    protected void addLHSCompletionProposals(List list,
-                                             int documentOffset,
-                                             Location location,
-                                             String prefix,
-                                             String backText) {
-        switch ( location.getType() ) {
-            case Location.LOCATION_LHS_BEGIN_OF_CONDITION :
-                // if we are at the beginning of a new condition
-                // add drools keywords
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "and",
-                                                      "and ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "or",
-                                                      "or ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "from",
-                                                      "from ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "forall",
-                                                      "forall(  )",
-                                                      8,
-                                                      DROOLS_ICON ) );
-                RuleCompletionProposal prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                          prefix.length(),
-                                                                          "eval",
-                                                                          "eval(  )",
-                                                                          6 );
-                prop.setImage( DROOLS_ICON );
-                list.add( prop );
-                prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                   prefix.length(),
-                                                   "then",
-                                                   "then" + System.getProperty( "line.separator" ) + "\t" );
-                prop.setImage( DROOLS_ICON );
-                list.add( prop );
-                // we do not break but also add all elements that are needed for
-                // and/or
-            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR :
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "not",
-                                                      "not ",
-                                                      DROOLS_ICON ) );
-                // we do not break but also add all elements that are needed for
-                // not
-            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT :
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "exists",
-                                                      "exists ",
-                                                      DROOLS_ICON ) );
-                // we do not break but also add all elements that are needed for
-                // exists
-            case Location.LOCATION_LHS_FROM_ACCUMULATE :
-            case Location.LOCATION_LHS_FROM_COLLECT :
-            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS :
-                // and add imported classes
-                Iterator iterator = getImports().iterator();
-                while ( iterator.hasNext() ) {
-                    String name = (String) iterator.next();
-                    int index = name.lastIndexOf( "." );
-                    if ( index != -1 ) {
-                        String className = name.substring( index + 1 );
-                        RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                               prefix.length(),
-                                                                               className,
-                                                                               className + "(  )",
-                                                                               className.length() + 2 );
-                        p.setPriority( -1 );
-                        p.setImage( CLASS_ICON );
-                        list.add( p );
-                    }
-                }
-                iterator = getClassesInPackage().iterator();
-                while ( iterator.hasNext() ) {
-                    String name = (String) iterator.next();
-                    int index = name.lastIndexOf( "." );
-                    if ( index != -1 ) {
-                        String className = name.substring( index + 1 );
-                        RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                               prefix.length(),
-                                                                               className,
-                                                                               className + "(  )",
-                                                                               className.length() + 2 );
-                        p.setPriority( -1 );
-                        p.setImage( CLASS_ICON );
-                        list.add( p );
-                    }
-                }
-                iterator = getTemplates().iterator();
-                while ( iterator.hasNext() ) {
-                    String name = (String) iterator.next();
-                    RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                           prefix.length(),
-                                                                           name,
-                                                                           name + "(  )",
-                                                                           name.length() + 2 );
-                    p.setPriority( -1 );
-                    p.setImage( CLASS_ICON );
-                    list.add( p );
-                }
-                break;
-            case Location.LOCATION_LHS_INSIDE_CONDITION_START :
-                String className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
-                String propertyName = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
-                if ( className != null ) {
-                    boolean isTemplate = addFactTemplatePropertyProposals( documentOffset,
-                                                                           prefix,
-                                                                           className,
-                                                                           list );
-                    if ( !isTemplate ) {
-                        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
-                                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
-                        try {
-                            String currentClass = className;
-                            if ( propertyName != null ) {
-                                String[] nestedProperties = propertyName.split( "\\." );
-                                int nbSuperProperties = nestedProperties.length - 1;
-                                if ( propertyName.endsWith( "." ) ) {
-                                    nbSuperProperties++;
-                                }
-                                for ( int i = 0; i < nbSuperProperties; i++ ) {
-                                    String simplePropertyName = nestedProperties[i];
-                                    currentClass = getSimplePropertyClass( currentClass,
-                                                                           simplePropertyName );
-                                    currentClass = convertToNonPrimitiveClass( currentClass );
-                                }
-                            }
-                            RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                                   prefix.length(),
-                                                                                   "this" );
-                            p.setImage( METHOD_ICON );
-                            list.add( p );
-                            Class clazz = resolver.resolveType( currentClass );
-                            if ( clazz != null ) {
-                                if ( Map.class.isAssignableFrom( clazz ) ) {
-                                    p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                    prefix.length(),
-                                                                    "this['']",
-                                                                    "this['']",
-                                                                    6 );
-                                    p.setImage( METHOD_ICON );
-                                    list.add( p );
-                                }
-                                ClassFieldInspector inspector = new ClassFieldInspector( clazz );
-                                Map types = inspector.getFieldTypes();
-                                Iterator iterator2 = inspector.getFieldNames().keySet().iterator();
-                                while ( iterator2.hasNext() ) {
-                                    String name = (String) iterator2.next();
-                                    p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                    prefix.length(),
-                                                                    name,
-                                                                    name + " " );
-                                    p.setImage( METHOD_ICON );
-                                    list.add( p );
-                                    Class type = (Class) types.get( name );
-                                    if ( type != null && Map.class.isAssignableFrom( type ) ) {
-                                        name += "['']";
-                                        p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                        prefix.length(),
-                                                                        name,
-                                                                        name,
-                                                                        name.length() - 2 );
-                                        p.setImage( METHOD_ICON );
-                                        list.add( p );
-                                    }
-                                }
-                            }
-                        } catch ( IOException exc ) {
-                            // Do nothing
-                        } catch ( ClassNotFoundException exc ) {
-                            // Do nothing
-                        }
-                    }
-                }
-                break;
-            case Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR :
-                className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
-                String property = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
-                String type = getPropertyClass( className,
-                                                property );
-
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "==",
-                                                      "== ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "!=",
-                                                      "!= ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      ":",
-                                                      ": ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "->",
-                                                      "-> (  )",
-                                                      5,
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "memberOf",
-                                                      "memberOf ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "not memberOf",
-                                                      "not memberOf ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "in",
-                                                      "in (  )",
-                                                      5,
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "not in",
-                                                      "not in (  )",
-                                                      9,
-                                                      DROOLS_ICON ) );
-
-                if ( isComparable( type ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "<",
-                                                          "< ",
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "<=",
-                                                          "<= ",
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          ">",
-                                                          "> ",
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          ">=",
-                                                          ">= ",
-                                                          DROOLS_ICON ) );
-                }
-                if ( type.equals( "java.lang.String" ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "matches",
-                                                          "matches \"\"",
-                                                          9,
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "not matches",
-                                                          "not matches \"\"",
-                                                          13,
-                                                          DROOLS_ICON ) );
-                }
-                if ( isSubtypeOf( type,
-                                  "java.util.Collection" ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "contains",
-                                                          "contains ",
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "not contains",
-                                                          "not contains ",
-                                                          DROOLS_ICON ) );
-                }
-                break;
-            case Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT :
-                // determine type
-                className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
-                property = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
-                String operator = (String) location.getProperty( Location.LOCATION_PROPERTY_OPERATOR );
-                type = getPropertyClass( className,
-                                         property );
-
-                if ( "in".equals( operator ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "()",
-                                                          "(  )",
-                                                          2,
-                                                          DROOLS_ICON ) );
-                    break;
-                }
-
-                if ( "contains".equals( operator ) || "excludes".equals( operator ) ) {
-                    type = "java.lang.Object";
-                }
-
-                if ( "memberOf".equals( operator ) ) {
-                    type = "java.util.Collection";
-                }
-
-                boolean isObject = false;
-                if ( "java.lang.Object".equals( type ) ) {
-                    isObject = true;
-                }
-
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "null",
-                                                      "null ",
-                                                      DROOLS_ICON ) );
-                if ( "boolean".equals( type ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "true",
-                                                          "true ",
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "false",
-                                                          "false ",
-                                                          DROOLS_ICON ) );
-                }
-                if ( isObject || "java.lang.String".equals( type ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "\"\"",
-                                                          "\"\"",
-                                                          1,
-                                                          DROOLS_ICON ) );
-                }
-                if ( isObject || "java.util.Date".equals( type ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "\"dd-mmm-yyyy\"",
-                                                          "\"dd-mmm-yyyy\"",
-                                                          1,
-                                                          DROOLS_ICON ) );
-                }
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "()",
-                                                      "(  )",
-                                                      2,
-                                                      DROOLS_ICON ) );
-                // add parameters with possibly matching type
-                if ( context.getRule() != null ) {
-                    Map result = new HashMap();
-                    addRuleParameters( result,
-                                       context.getRule().getLhs().getDescrs() );
-                    Iterator iterator2 = result.entrySet().iterator();
-                    while ( iterator2.hasNext() ) {
-                        Map.Entry entry = (Map.Entry) iterator2.next();
-                        String paramName = (String) entry.getKey();
-                        String paramType = (String) entry.getValue();
-                        if ( isSubtypeOf( paramType,
-                                          type ) ) {
-                            RuleCompletionProposal proposal = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                                          prefix.length(),
-                                                                                          paramName );
-                            proposal.setPriority( -1 );
-                            proposal.setImage( VARIABLE_ICON );
-                            list.add( proposal );
-                        }
-                    }
-                }
-                // add globals with possibly matching type
-                List globals = getGlobals();
-                if ( globals != null ) {
-                    for ( iterator = globals.iterator(); iterator.hasNext(); ) {
-                        GlobalDescr global = (GlobalDescr) iterator.next();
-                        if ( isSubtypeOf( global.getType(),
-                                          type ) ) {
-                            RuleCompletionProposal proposal = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                                          prefix.length(),
-                                                                                          global.getIdentifier() );
-                            proposal.setPriority( -1 );
-                            proposal.setImage( VARIABLE_ICON );
-                            list.add( proposal );
-                        }
-                    }
-                }
-                break;
-            case Location.LOCATION_LHS_INSIDE_EVAL :
-                String content = (String) location.getProperty( Location.LOCATION_EVAL_CONTENT );
-                list.addAll( getJavaCompletionProposals( documentOffset,
-                                                         content,
-                                                         prefix,
-                                                         getRuleParameters( backText ) ) );
-                break;
-            case Location.LOCATION_LHS_INSIDE_CONDITION_END :
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "&&",
-                                                      "&& ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "||",
-                                                      "|| ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      ",",
-                                                      ", ",
-                                                      DROOLS_ICON ) );
-                break;
-            case Location.LOCATION_LHS_FROM :
-                String fromText = (String) location.getProperty( Location.LOCATION_FROM_CONTENT );
-                int index = fromText.indexOf( '.' );
-                if ( index == -1 ) {
-                    // add accumulate and collect keyword
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "accumulate",
-                                                          "accumulate (  , init (  ), action (  ), result (  ) )",
-                                                          13,
-                                                          DROOLS_ICON ) );
-                    PackageBuilderConfiguration config = new PackageBuilderConfiguration( ProjectClassLoader.getProjectClassLoader( getEditor() ),
-                                                                                          null );
-                    Map accumulateFunctions = config.getAccumulateFunctionsMap();
-                    for ( Iterator iterator2 = accumulateFunctions.keySet().iterator(); iterator2.hasNext(); ) {
-                        String accumulateFunction = (String) iterator2.next();
-                        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                              prefix.length(),
-                                                              "accumulate " + accumulateFunction,
-                                                              "accumulate (  , " + accumulateFunction + "(  ) )",
-                                                              13,
-                                                              DROOLS_ICON ) );
-                    }
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "collect",
-                                                          "collect (  )",
-                                                          10,
-                                                          DROOLS_ICON ) );
-                    // add all functions
-                    if ( "".equals( fromText ) ) {
-                        List functions = getFunctions();
-                        iterator = functions.iterator();
-                        while ( iterator.hasNext() ) {
-                            String name = (String) iterator.next() + "()";
-                            prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                               prefix.length(),
-                                                               name,
-                                                               name,
-                                                               name.length() - 1 );
-                            prop.setPriority( -1 );
-                            prop.setImage( METHOD_ICON );
-                            list.add( prop );
-                        }
-                    }
-                    list.addAll( getJavaCompletionProposals( documentOffset,
-                                                             fromText,
-                                                             prefix,
-                                                             getRuleParameters( backText ) ) );
-                }
-                break;
-            case Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE :
-                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
-                list.addAll( getJavaCompletionProposals( documentOffset,
-                                                         content,
-                                                         prefix,
-                                                         getRuleParameters( backText ) ) );
-                break;
-            case Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE :
-                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
-                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT );
-                list.addAll( getJavaCompletionProposals( documentOffset,
-                                                         content,
-                                                         prefix,
-                                                         getRuleParameters( backText ) ) );
-                break;
-            case Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE :
-                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
-                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT );
-                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT );
-                list.addAll( getJavaCompletionProposals( documentOffset,
-                                                         content,
-                                                         prefix,
-                                                         getRuleParameters( backText ) ) );
-                break;
-        }
-    }
-
-    private String getPropertyClass(String className,
-                                    String propertyName) {
-        if ( className != null && propertyName != null ) {
-            FactTemplateDescr template = getTemplate( className );
-            if ( template != null ) {
-                Iterator iterator = template.getFields().iterator();
-                while ( iterator.hasNext() ) {
-                    FieldTemplateDescr field = (FieldTemplateDescr) iterator.next();
-                    if ( propertyName.equals( field.getName() ) ) {
-                        String type = field.getClassType();
-                        if ( isPrimitiveType( type ) ) {
-                            return type;
-                        }
-                        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
-                                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
-                        try {
-                            Class clazz = resolver.resolveType( type );
-                            if ( clazz != null ) {
-                                return clazz.getName();
-                            }
-                        } catch ( ClassNotFoundException exc ) {
-                            DroolsEclipsePlugin.log( exc );
-                        }
-                    }
-                }
-                // if not found, return null
-            } else {
-                String[] nestedProperties = propertyName.split( "\\." );
-                String currentClass = className;
-                for ( int i = 0; i < nestedProperties.length; i++ ) {
-                    String simplePropertyName = nestedProperties[i];
-                    currentClass = getSimplePropertyClass( currentClass,
-                                                           simplePropertyName );
-                }
-                return currentClass;
-            }
-        }
-        return null;
-    }
-
-    private String getSimplePropertyClass(String className,
-                                          String propertyName) {
-        if ( "this".equals( propertyName ) ) {
-            return className;
-        }
-        if ( propertyName.endsWith( "]" ) ) {
-            // TODO can we take advantage of generics here?
-            return "java.lang.Object";
-        }
-        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
-                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
-        try {
-            Class clazz = resolver.resolveType( className );
-            if ( clazz != null ) {
-                Class clazzz = (Class) new ClassFieldInspector( clazz ).getFieldTypes().get( propertyName );
-                if ( clazzz != null ) {
-                    return clazzz.getName();
-                }
-            }
-        } catch ( IOException exc ) {
-            // Do nothing
-        } catch ( ClassNotFoundException exc ) {
-            // Do nothing
-        }
-        return "java.lang.Object";
-    }
-
-    private Map getRuleParameters(String backText) {
-        Map result = new HashMap();
-        // add globals
-        List globals = getGlobals();
-        if ( globals != null ) {
-            for ( Iterator iterator = globals.iterator(); iterator.hasNext(); ) {
-                GlobalDescr global = (GlobalDescr) iterator.next();
-                result.put( global.getIdentifier(),
-                            global.getType() );
-            }
-        }
-
-        if ( context == null ) {
-            context = new CompletionContext( backText );
-        }
-        if ( context.getRule() == null ) {
-            return result;
-        }
-        // add parameters defined in conditions
-        addRuleParameters( result,
-                           context.getRule().getLhs().getDescrs() );
-        return result;
-    }
-
-    private boolean isComparable(String type) {
-        if ( type == null ) {
-            return false;
-        }
-        if ( isPrimitiveNumericType( type ) ) {
-            return true;
-        }
-        if ( isObjectNumericType( type ) ) {
-            return true;
-        }
-        if ( isSubtypeOf( type,
-                          "java.lang.Comparable" ) ) {
-            return true;
-        }
-        return false;
-    }
-
-    private boolean isPrimitiveType(String type) {
-        return isPrimitiveNumericType( type ) || type.equals( "boolean" );
-    }
-
-    private boolean isPrimitiveNumericType(String type) {
-        return type.equals( "byte" ) || type.equals( "short" ) || type.equals( "int" ) || type.equals( "long" ) || type.equals( "float" ) || type.equals( "double" ) || type.equals( "char" );
-    }
-
-    private boolean isObjectNumericType(String type) {
-        return type.equals( "java.lang.Byte" ) || type.equals( "java.lang.Short" ) || type.equals( "java.lang.Integer" ) || type.equals( "java.lang.Long" ) || type.equals( "java.lang.Float" ) || type.equals( "java.lang.Double" )
-               || type.equals( "java.lang.Char" );
-    }
-
-    /**
-     * Returns true if the first class is the same or a subtype of the second
-     * class.
-     *
-     * @param class1
-     * @param class2
-     * @return
-     */
-    private boolean isSubtypeOf(String class1,
-                                String class2) {
-        if ( class1 == null || class2 == null ) {
-            return false;
-        }
-        class1 = convertToNonPrimitiveClass( class1 );
-        class2 = convertToNonPrimitiveClass( class2 );
-        // TODO add code to take primitive types into account
-        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
-                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
-        try {
-            Class clazz1 = resolver.resolveType( class1 );
-            Class clazz2 = resolver.resolveType( class2 );
-            if ( clazz1 == null || clazz2 == null ) {
-                return false;
-            }
-            return clazz2.isAssignableFrom( clazz1 );
-        } catch ( ClassNotFoundException exc ) {
-            return false;
-        }
-    }
-
-    private String convertToNonPrimitiveClass(String clazz) {
-        if ( !isPrimitiveType( clazz ) ) {
-            return clazz;
-        }
-        if ( "byte".equals( clazz ) ) {
-            return "java.lang.Byte";
-        } else if ( "short".equals( clazz ) ) {
-            return "java.lang.Short";
-        } else if ( "int".equals( clazz ) ) {
-            return "java.lang.Integer";
-        } else if ( "long".equals( clazz ) ) {
-            return "java.lang.Long";
-        } else if ( "float".equals( clazz ) ) {
-            return "java.lang.Float";
-        } else if ( "double".equals( clazz ) ) {
-            return "java.lang.Double";
-        } else if ( "char".equals( clazz ) ) {
-            return "java.lang.Char";
-        } else if ( "boolean".equals( clazz ) ) {
-            return "java.lang.Boolean";
-        }
-        // should never occur
-        return null;
-    }
-
-    private void addRHSFunctionCompletionProposals(List list,
-                                                   int documentOffset,
-                                                   String prefix) {
-        Iterator iterator;
-        RuleCompletionProposal prop;
-        List functions = getFunctions();
-        iterator = functions.iterator();
-        while ( iterator.hasNext() ) {
-            String name = (String) iterator.next() + "()";
-            prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                               prefix.length(),
-                                               name,
-                                               name + ";",
-                                               name.length() - 1 );
-            prop.setPriority( -1 );
-            prop.setImage( METHOD_ICON );
-            list.add( prop );
-        }
-    }
-
-    private void addRHSKeywordCompletionProposals(List list,
-                                                  int documentOffset,
-                                                  String prefix) {
-        RuleCompletionProposal prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                  prefix.length(),
-                                                                  "update",
-                                                                  "update();",
-                                                                  7 );
-        prop.setImage( DROOLS_ICON );
-        list.add( prop );
-        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                           prefix.length(),
-                                           "retract",
-                                           "retract();",
-                                           8 );
-        prop.setImage( DROOLS_ICON );
-        list.add( prop );
-        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                           prefix.length(),
-                                           "insert",
-                                           "insert();",
-                                           7 );
-        prop.setImage( DROOLS_ICON );
-        list.add( prop );
-        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                           prefix.length(),
-                                           "insertLogical",
-                                           "insertLogical();",
-                                           14 );
-        prop.setImage( DROOLS_ICON );
-        list.add( prop );
-    }
-
-    private void addRHSJavaCompletionProposals(List list,
-                                               int documentOffset,
-                                               String prefix,
-                                               String backText,
-                                               String consequence) {
-        list.addAll( getJavaCompletionProposals( documentOffset,
-                                                 consequence,
-                                                 prefix,
-                                                 getRuleParameters( backText ) ) );
-    }
-
-    private void addRHSMvelCompletionProposals(List list,
-                                               final int documentOffset,
-                                               String prefix,
-                                               String backText,
-                                               String consequence,
-                                               boolean expressionStart) {
-
-        Collection mvelCompletionProposals = getMvelCompletionProposals( consequence,
-                                                                         documentOffset,
-                                                                         prefix,
-                                                                         getRuleParameters( backText ),
-                                                                         backText,
-                                                                         expressionStart );
-        list.addAll( mvelCompletionProposals );
-    }
-
-    private Collection getMvelCompletionProposals(final String consequenceBackText,
-                                                  final int documentOffset,
-                                                  final String prefix,
-                                                  Map params,
-                                                  String ruleBackText,
-                                                  boolean startOfExpression) {
-
-        final Set proposals = new HashSet();
-
-        if ( !(getEditor() instanceof DRLRuleEditor) ) {
-            return proposals;
-        }
-
-        try {
-            DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource( (DRLRuleEditor) getEditor(),
-                                                                              true,
-                                                                              true );
-
-            String textWithoutPrefix = CompletionUtil.getTextWithoutPrefix( consequenceBackText,
-                                                                            prefix );
-            boolean expressionStart = CompletionUtil.isStartOfDialectExpression( textWithoutPrefix );
-
-            boolean isConstrained = textWithoutPrefix.endsWith( "." );
-
-            // we split the expression in various regions:
-            // *the previous expression
-            // *the last expression
-            // *the last inner expression
-
-            // attempt to compile and analyze the previous expression to collect inputs and vars
-            String previousExpression = CompletionUtil.getPreviousExpression( consequenceBackText );
-            MvelContext previousExprContext = analyzeMvelExpression( getResolvedMvelInputs( params ),
-                                                                     drlInfo,
-                                                                     previousExpression );
-
-            // attempt to compile and analyze the last and last inner expression, using as inputs the previous expression inputs and vars
-            Map variables = previousExprContext.getContext().getVariables();
-            Map inputs = previousExprContext.getContext().getInputs();
-            inputs.putAll( variables );
-
-            //last inner expression
-            String lastInnerExpression = CompletionUtil.getTextWithoutPrefix( CompletionUtil.getInnerExpression( consequenceBackText ),
-                                                                              prefix );
-            String compilableLastInnerExpression = CompletionUtil.getCompilableText( lastInnerExpression );
-
-            MvelContext lastInnerExprContext = analyzeMvelExpression( inputs,
-                                                                      drlInfo,
-                                                                      compilableLastInnerExpression );
-
-            //last expression
-            String lastExpression = CompletionUtil.getLastExpression( consequenceBackText ).trim();
-            //is this a modify expression?
-            //group 1 is the body of modify
-            //group 2 if present is the whole with block including brackets
-            //group 3 if present is the inner content of the with block
-            Matcher modMatcher = CompletionUtil.MODIFY_PATTERN.matcher( lastExpression );
-
-            boolean isModifyBlock = modMatcher.matches() && modMatcher.groupCount() == 3;
-
-            //if constrained, get completion for egress of last inner, filtered on prefix
-            if ( isConstrained ) {
-                if ( lastInnerExprContext.isStaticFlag() ) {
-                    return getMvelClassCompletionsFromJDT( documentOffset,
-                                                           "",
-                                                           params,
-                                                           lastInnerExprContext.getReturnedType() );
-
-                }
-
-                return getMvelInstanceCompletionsFromJDT( documentOffset,
-                                                          "",
-                                                          params,
-                                                          lastInnerExprContext.getReturnedType(),
-                                                          false );
-            }
-            //if expression start inside with block, then get completion for prefix with egrss of modif var + prev expr var&inputs
-            else if ( expressionStart && isModifyBlock ) {
-                String modifyVar = modMatcher.group( 1 );
-                //String modifyWith = modMatcher.group( 3 );
-
-                //get the egress type of the modify var
-                MvelContext modVarContext = analyzeMvelExpression( inputs,
-                                                                   drlInfo,
-                                                                   modifyVar );
-
-                Class modVarType = modVarContext.getReturnedType();
-
-                Collection modVarComps = getMvelInstanceCompletionsFromJDT( documentOffset,
-                                                                            "",
-                                                                            params,
-                                                                            modVarType,
-                                                                            true );
-
-                proposals.addAll( modVarComps );
-
-                //                addMvelCompletions( proposals,
-                //                                    documentOffset,
-                //                                    "",
-                //                                    lastInnerExprContext.getContext().getVariables() );
-                //
-                //                addMvelCompletions( proposals,
-                //                                    documentOffset,
-                //                                    "",
-                //                                    lastInnerExprContext.getContext().getInputs() );
-                //
-                //                Collection jdtProps = getJavaCompletionProposals( documentOffset,
-                //                                                                  prefix,
-                //                                                                  prefix,
-                //                                                                  params );
-                //
-                //                proposals.addAll( jdtProps );
-                return proposals;
-
-            }
-            //If expression start, and all other cases then get completion for prefix with prev expr var&inputs
-            addMvelCompletions( proposals,
-                                documentOffset,
-                                prefix,
-                                lastInnerExprContext.getContext().getVariables() );
-
-            addMvelCompletions( proposals,
-                                documentOffset,
-                                prefix,
-                                lastInnerExprContext.getContext().getInputs() );
-
-            Collection jdtProps = getJavaCompletionProposals( documentOffset,
-                                                              prefix,
-                                                              prefix,
-                                                              params );
-
-            proposals.addAll( jdtProps );
-
-        } catch ( Throwable e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-        Set uniqueProposals = new HashSet();
-        addAllNewProposals( uniqueProposals,
-                            proposals );
-        return uniqueProposals;
-    }
-
-    private Map getResolvedMvelInputs(Map params) {
-        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
-                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
-
-        Map resolved = new HashMap();
-        for ( Iterator iter = params.entrySet().iterator(); iter.hasNext(); ) {
-            Map.Entry entry = (Map.Entry) iter.next();
-            String inputType = (String) entry.getValue();
-            try {
-                Class type = resolver.resolveType( inputType );
-                resolved.put( entry.getKey(),
-                              type );
-            } catch ( ClassNotFoundException e ) {
-                DroolsEclipsePlugin.log( e );
-            }
-        }
-        return resolved;
-    }
-
-    class MvelContext {
-        private CompiledExpression expression;
-        private ParserContext      initialContext;
-        private Class              returnedType;
-        private boolean            staticFlag;
-
-        public ParserContext getContext() {
-            if ( getExpression() != null ) {
-                if ( getExpression().getParserContext() != null ) {
-                    return getExpression().getParserContext();
-                }
-            }
-            return getInitialContext();
-        }
-
-        void setExpression(CompiledExpression expression) {
-            this.expression = expression;
-        }
-
-        CompiledExpression getExpression() {
-            return expression;
-        }
-
-        void setInitialContext(ParserContext initialContext) {
-            this.initialContext = initialContext;
-        }
-
-        ParserContext getInitialContext() {
-            return initialContext;
-        }
-
-        void setReturnedType(Class returnedType) {
-            this.returnedType = returnedType;
-        }
-
-        Class getReturnedType() {
-            return returnedType;
-        }
-
-        public boolean isStaticFlag() {
-            return staticFlag;
-        }
-
-        public void setStaticFlag(boolean staticFlag) {
-            this.staticFlag = staticFlag;
-        }
-    }
-
-    private MvelContext analyzeMvelExpression(Map params,
-                                              DRLInfo drlInfo,
-                                              String mvel) {
-
-        String macroMvel = processMacros( mvel );
-
-        String name = context.getRule().getName();
-        RuleInfo currentRule = getCurrentRule( drlInfo,
-                                               name );
-        String qName = drlInfo.getPackageName() + "." + currentRule.getRuleName();
-        MVELDialect dialect = (MVELDialect) currentRule.getDialect();
-        ParserContext initialContext = createInitialContext( params,
-                                                             qName,
-                                                             dialect );
-        MvelContext mCon = new MvelContext();
-        mCon.setInitialContext( initialContext );
-
-        try {
-            ExpressionCompiler compiler = new ExpressionCompiler( macroMvel );
-            CompiledExpression expression = compiler.compile( initialContext );
-            mCon.setExpression( expression );
-
-            ParserContext compilationContext = compiler.getParserContextState();
-
-            Class lastType = expression.getKnownEgressType();
-
-            //Statics expression may return Class as an egress type
-            if ( lastType != null && "java.lang.Class".equals( lastType.getName() ) ) {
-                mCon.setStaticFlag( true );
-            }
-
-            if ( lastType == null || "java.lang.Object".equals( lastType.getName() ) || "java.lang.Class".equals( lastType.getName() ) ) {
-                // attempt to use the property verifier to get
-                // a better type  resolution (a recommend by cbrock, though egress gives consistent results)
-                lastType = new PropertyVerifier( macroMvel,
-                                                 compilationContext ).analyze();
-            }
-
-            if ( lastType == null ) {
-                lastType = Object.class;
-            }
-
-            mCon.setReturnedType( lastType );
-        } catch ( Exception e ) {
-            //do nothing while doing completion.
-        }
-        return mCon;
-    }
-
-    private static ParserContext createInitialContext(Map params,
-                                                      String qualifiedName,
-                                                      MVELDialect dialect) {
-
-        final ParserContext context = new ParserContext( dialect.getImports(),
-                                                         null,
-                                                         qualifiedName );
-
-        for ( Iterator it = dialect.getPackgeImports().values().iterator(); it.hasNext(); ) {
-            String packageImport = (String) it.next();
-            context.addPackageImport( packageImport );
-        }
-        context.setStrictTypeEnforcement( false );
-
-        context.setInterceptors( dialect.getInterceptors() );
-        context.setInputs( params );
-        context.addInput( "drools",
-                          KnowledgeHelper.class );
-        context.setCompiled( true );
-        return context;
-    }
-
-    public static String processMacros(String mvel) {
-        MVELConsequenceBuilder builder = new MVELConsequenceBuilder();
-        String macrosProcessedCompilableConsequence = builder.processMacros( mvel.trim() );
-        return macrosProcessedCompilableConsequence;
-    }
-
-    private static RuleInfo getCurrentRule(DRLInfo drlInfo,
-                                    String currentRulename) {
-        RuleInfo currentRule = null;
-        RuleInfo[] ruleInfos = drlInfo.getRuleInfos();
-        for ( int i = 0; i < ruleInfos.length; i++ ) {
-            if ( currentRulename.equals( ruleInfos[i].getRuleName() ) ) {
-                currentRule = ruleInfos[i];
-                break;
-            }
-        }
-        return currentRule;
-    }
-
-    /*
-     * Completions for object instance members
-     */
-    private Collection getMvelInstanceCompletionsFromJDT(final int documentOffset,
-                                                         final String prefix,
-                                                         Map params,
-                                                         Class lastType,
-                                                         boolean settersOnly) {
-        if ( lastType == null ) {
-            lastType = Object.class;
-        }
-
-        //FIXME: there is a small chance of var name collision using this arbitrary mvdrlofc as a variable name.
-        //ideally the variable name should be inferred from the last member of the expression
-        final String syntheticVarName = "mvdrlofc";
-
-        String javaText = "\n" + CompletionUtil.getSimpleClassName( lastType ) + " " + syntheticVarName + ";\n" + syntheticVarName + ".";
-        final List list1 = new ArrayList();
-        requestJavaCompletionProposals( javaText,
-                                        prefix,
-                                        documentOffset,
-                                        params,
-                                        list1 );
-
-        final List list = list1;
-
-        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list,
-                                                                        settersOnly );
-        return mvelList;
-    }
-
-    /*
-     * Completions for static Class members
-     */
-    private Collection getMvelClassCompletionsFromJDT(final int documentOffset,
-                                                      final String prefix,
-                                                      Map params,
-                                                      Class lastType) {
-        if ( lastType == null ) {
-            lastType = Object.class;
-        }
-
-        //FIXME: there is a small chance of var name collision using this arbitrary mvdrlofc as a variable name.
-        //ideally the variable name should be inferred from the last member of the expression
-
-        String javaText = "\n" + CompletionUtil.getSimpleClassName( lastType ) + ".";
-        final List list1 = new ArrayList();
-        requestJavaCompletionProposals( javaText,
-                                        prefix,
-                                        documentOffset,
-                                        params,
-                                        list1 );
-        final List list = list1;
-        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list,
-                                                                        false );
-        return mvelList;
-    }
-
-    private static void addMvelCompletions(final Collection proposals,
-                                    int documentOffset,
-                                    String prefix,
-                                    Map inputs) {
-        Set newProposals = new HashSet();
-        for ( Iterator iter = inputs.entrySet().iterator(); iter.hasNext(); ) {
-            Map.Entry entry = (Map.Entry) iter.next();
-            String prop = (String) entry.getKey();
-
-            Class type = (Class) entry.getValue();
-            String display = prop + "  " + CompletionUtil.getSimpleClassName( type );
-
-            RuleCompletionProposal rcp = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                     prefix.length(),
-                                                                     display,
-                                                                     prop );
-            rcp.setImage( DefaultCompletionProcessor.VARIABLE_ICON );
-            newProposals.add( rcp );
-        }
-        addAllNewProposals( proposals,
-                            newProposals );
-    }
-
-    public static void addAllNewProposals(final Collection proposals,
-                                          final Collection newProposals) {
-        for ( Iterator iter = newProposals.iterator(); iter.hasNext(); ) {
-            ICompletionProposal newProp = (ICompletionProposal) iter.next();
-            String displayString = newProp.getDisplayString();
-
-            //JBRULES-1134 do not add completions if they already exist
-            if ( !containsProposal( proposals,
-                                    displayString ) ) {
-                proposals.add( newProp );
-            }
-        }
-    }
-
-    /**
-     * Attempt to compare proposals of different types based on the tokenized display string
-     * @param proposals
-     * @param newProposal
-     * @return true if the collection contains a proposal which matches the new Proposal.
-     * The match is based on the first token based on a space split
-     */
-    public static boolean containsProposal(final Collection proposals,
-                                           String newProposal) {
-        for ( Iterator iter = proposals.iterator(); iter.hasNext(); ) {
-            ICompletionProposal prop = (ICompletionProposal) iter.next();
-            String displayString = prop.getDisplayString();
-            String[] existings = displayString.split( " " );
-            if ( existings.length == 0 ) {
-                continue;
-            }
-
-            String[] newProposals = newProposal.split( " " );
-            if ( newProposals.length == 0 ) {
-                continue;
-            }
-
-            if ( existings[0].equals( newProposals[0] ) ) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private void addRuleParameters(Map result,
-                                   List descrs) {
-        if ( descrs == null ) {
-            return;
-        }
-        Iterator iterator = descrs.iterator();
-        while ( iterator.hasNext() ) {
-            BaseDescr descr = (BaseDescr) iterator.next();
-            addRuleParameters( result,
-                               descr );
-        }
-    }
-
-    private void addRuleParameters(Map result,
-                                   BaseDescr descr) {
-        if ( descr == null ) {
-            return;
-        }
-        if ( descr instanceof PatternDescr ) {
-            String name = ((PatternDescr) descr).getIdentifier();
-            if ( name != null ) {
-                result.put( name,
-                            ((PatternDescr) descr).getObjectType() );
-            }
-            addRuleSubParameters( result,
-                                  ((PatternDescr) descr).getDescrs(),
-                                  ((PatternDescr) descr).getObjectType() );
-        } else if ( descr instanceof AndDescr ) {
-            addRuleParameters( result,
-                               ((AndDescr) descr).getDescrs() );
-        } else if ( descr instanceof OrDescr ) {
-            addRuleParameters( result,
-                               ((OrDescr) descr).getDescrs() );
-        } else if ( descr instanceof ExistsDescr ) {
-            addRuleParameters( result,
-                               ((ExistsDescr) descr).getDescrs() );
-        } else if ( descr instanceof NotDescr ) {
-            addRuleParameters( result,
-                               ((NotDescr) descr).getDescrs() );
-        }
-    }
-
-    private void addRuleSubParameters(Map result,
-                                      List descrs,
-                                      String clazz) {
-        if ( descrs == null ) {
-            return;
-        }
-        Iterator iterator = descrs.iterator();
-        while ( iterator.hasNext() ) {
-            BaseDescr descr = (BaseDescr) iterator.next();
-            if ( descr instanceof FieldBindingDescr ) {
-                FieldBindingDescr fieldDescr = (FieldBindingDescr) descr;
-                String name = fieldDescr.getIdentifier();
-                String field = fieldDescr.getFieldName();
-                String type = getPropertyClass( clazz,
-                                                field );
-                if ( name != null ) {
-                    result.put( name,
-                                type );
-                }
-            }
-        }
-    }
-
-    private void addRuleHeaderProposals(List list,
-                                        int documentOffset,
-                                        String prefix,
-                                        String backText) {
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "salience",
-                                              "salience ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "no-loop",
-                                              "no-loop ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "agenda-group",
-                                              "agenda-group ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "duration",
-                                              "duration ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "auto-focus",
-                                              "auto-focus ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "when",
-                                              "when" + System.getProperty( "line.separator" ) + "\t ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "activation-group",
-                                              "activation-group ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "date-effective",
-                                              "date-effective \"dd-MMM-yyyy\"",
-                                              16,
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "date-expires",
-                                              "date-expires \"dd-MMM-yyyy\"",
-                                              14,
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "enabled",
-                                              "enabled false",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "ruleflow-group",
-                                              "ruleflow-group \"\"",
-                                              16,
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "lock-on-active",
-                                              "lock-on-active ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "dialect \"java\"",
-                                              "dialect \"java\" ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "dialect \"mvel\"",
-                                              "dialect \"mvel\" ",
-                                              DROOLS_ICON ) );
-    }
-
-    private boolean addFactTemplatePropertyProposals(int documentOffset,
-                                                     String prefix,
-                                                     String templateName,
-                                                     List list) {
-        FactTemplateDescr descr = getTemplate( templateName );
-        if ( descr == null ) {
-            return false;
-        }
-        Iterator iterator = descr.getFields().iterator();
-        while ( iterator.hasNext() ) {
-            FieldTemplateDescr field = (FieldTemplateDescr) iterator.next();
-            String fieldName = field.getName();
-            RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                   prefix.length(),
-                                                                   fieldName,
-                                                                   fieldName + " " );
-            p.setImage( METHOD_ICON );
-            list.add( p );
-        }
-        return true;
-    }
-
-    /*
-     * Filters accessor method proposals to replace them with their mvel expression equivalent
-     * For instance a completion for getStatus() would be replaced by a completion for status
-     * when asking for stters only, then only setters or writable fields will be returned
-     */
-    public static Collection mvelifyProposals(List list,
-                                              boolean settersOnly) {
-        final Collection set = new HashSet();
-
-        for ( Iterator iter = list.iterator(); iter.hasNext(); ) {
-            Object o = iter.next();
-            if ( o instanceof JavaMethodCompletionProposal ) {
-                //methods
-                processJavaMethodCompletionProposal( list,
-                                                     settersOnly,
-                                                     set,
-                                                     o );
-
-            } else if ( o instanceof JavaCompletionProposal ) {
-                //fields
-                processesJavaCompletionProposal( settersOnly,
-                                                 set,
-                                                 o );
-            } else if ( !settersOnly ) {
-                set.add( o );
-            }
-        }
-        return set;
-    }
-
-    private static void processesJavaCompletionProposal(boolean settersOnly,
-                                                        final Collection set,
-                                                        Object o) {
-        if ( settersOnly ) {
-            JavaCompletionProposal jcp = (JavaCompletionProposal) o;
-            //TODO: FIXME: this is very fragile as it uses reflection to access the private completion field.
-            //Yet this is needed to do mvel filtering based on the method signtures, IF we use the richer JDT completion
-            //                    Object field = ReflectionUtils.getField( o,
-            //                                                             "fProposal" );
-            IJavaElement javaElement = jcp.getJavaElement();
-            if ( javaElement.getElementType() == IJavaElement.FIELD ) {
-                set.add( o );
-
-            }
-        } else {
-            set.add( o );
-        }
-    }
-
-    private static void processJavaMethodCompletionProposal(List list,
-                                                            boolean settersOnly,
-                                                            final Collection set,
-                                                            Object o) {
-        LazyJavaCompletionProposal javaProposal = (LazyJavaCompletionProposal) o;
-        //TODO: FIXME: this is very fragile as it uses reflection to access the private completion field.
-        //Yet this is needed to do mvel filtering based on the method signtures, IF we use the richer JDT completion
-        Object field = ReflectionUtils.getField( o,
-                                                 "fProposal" );
-        if ( field != null && field instanceof CompletionProposal ) {
-            CompletionProposal proposal = (CompletionProposal) field;
-
-            String completion = new String( proposal.getCompletion() );
-
-            String propertyOrMethodName = null;
-
-            boolean isSetter = false;
-            boolean isAccessor = false;
-            if ( settersOnly ) {
-                // get the eventual writable property name for that method name and signature
-                propertyOrMethodName = CompletionUtil.getWritablePropertyName( completion,
-                                                                               proposal.getSignature() );
-                //                      if we got a property name that differs from the orginal method name
-                //then this is a bean accessor
-                isSetter = !completion.equals( propertyOrMethodName );
-
-            } else {
-                // get the eventual property name for that method name and signature
-                propertyOrMethodName = CompletionUtil.getPropertyName( completion,
-                                                                       proposal.getSignature() );
-                //if we got a property name that differs from the orginal method name
-                //then this is a bean accessor
-                isAccessor = !completion.equals( propertyOrMethodName );
-            }
-
-            // is the completion for a bean accessor? and do we have already some relevant completion?
-            boolean doesNotContainFieldCompletion = DefaultCompletionProcessor.doesNotContainFieldCompletion( propertyOrMethodName,
-                                                                                                              list );
-            if ( ((settersOnly && isSetter) || (!settersOnly && isAccessor)) && doesNotContainFieldCompletion ) {
-
-                //TODO: craft a better JDTish display name than just the property name
-                RuleCompletionProposal prop = new RuleCompletionProposal( javaProposal.getReplacementOffset(),
-                                                                          javaProposal.getReplacementLength(),
-                                                                          propertyOrMethodName );
-                prop.setImage( DefaultCompletionProcessor.VARIABLE_ICON );
-                //set high priority such that the completion for accessors shows up first
-                prop.setPriority( 1000 );
-                set.add( prop );
-
-            }
-
-            else if ( !settersOnly ) {
-                set.add( o );
-            }
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,1642 @@
+package org.drools.eclipse.editors.completion;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+
+import org.drools.base.ClassTypeResolver;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.eclipse.util.ProjectClassLoader;
+import org.drools.lang.Location;
+import org.drools.lang.descr.AndDescr;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.ExistsDescr;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.FieldBindingDescr;
+import org.drools.lang.descr.FieldTemplateDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.lang.descr.NotDescr;
+import org.drools.lang.descr.OrDescr;
+import org.drools.lang.descr.PatternDescr;
+import org.drools.rule.builder.dialect.mvel.MVELConsequenceBuilder;
+import org.drools.rule.builder.dialect.mvel.MVELDialect;
+import org.drools.spi.KnowledgeHelper;
+import org.drools.util.asm.ClassFieldInspector;
+import org.eclipse.jdt.core.CompletionProposal;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal;
+import org.eclipse.jdt.internal.ui.text.java.JavaMethodCompletionProposal;
+import org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.swt.graphics.Image;
+import org.mvel.CompiledExpression;
+import org.mvel.ExpressionCompiler;
+import org.mvel.ParserContext;
+import org.mvel.PropertyVerifier;
+
+/**
+ * For handling within rules.
+ *
+ * @author Michael Neale, Kris Verlanen
+ */
+public class RuleCompletionProcessor extends DefaultCompletionProcessor {
+
+    private static final String DIALECT     = "dialect";
+
+    private static final Image  DROOLS_ICON = DroolsPluginImages.getImage( DroolsPluginImages.DROOLS );
+
+    private static final Image  CLASS_ICON  = DroolsPluginImages.getImage( DroolsPluginImages.CLASS );
+
+    /**
+     * A CompletionContext contains the DRL backtext parsing results, to avoid
+     * multilpe parser invocations
+     */
+    private CompletionContext   context;
+
+    public RuleCompletionProcessor(AbstractRuleEditor editor) {
+        super( editor );
+    }
+
+    protected List getCompletionProposals(ITextViewer viewer,
+                                          int documentOffset) {
+        try {
+            final List list = new ArrayList();
+            IDocument doc = viewer.getDocument();
+
+            String backText = readBackwards( documentOffset,
+                                             doc );
+            final String prefix = CompletionUtil.stripLastWord( backText );
+
+            // if inside the keyword "rule ", no code completion
+            if ( backText.length() < 5 ) {
+                return list;
+            }
+
+            this.context = new CompletionContext( backText );
+            Location location = context.getLocation();
+
+            if ( location.getType() == Location.LOCATION_RULE_HEADER ) {
+                addRuleHeaderProposals( list,
+                                        documentOffset,
+                                        prefix,
+                                        backText );
+            } else if ( location.getType() == Location.LOCATION_RHS ) {
+                addRHSCompletionProposals( list,
+                                           documentOffset,
+                                           prefix,
+                                           backText,
+                                           (String) location.getProperty( Location.LOCATION_LHS_CONTENT ),
+                                           (String) location.getProperty( Location.LOCATION_RHS_CONTENT ) );
+            } else {
+                addLHSCompletionProposals( list,
+                                           documentOffset,
+                                           location,
+                                           prefix,
+                                           backText );
+            }
+
+            filterProposalsOnPrefix( prefix,
+                                     list );
+            return list;
+        } catch ( Throwable t ) {
+            DroolsEclipsePlugin.log( t );
+        }
+        return null;
+    }
+
+    protected void addRHSCompletionProposals(List list,
+                                             int documentOffset,
+                                             String prefix,
+                                             String backText,
+                                             String conditions,
+                                             String consequence) {
+        // only add functions and keywords if at the beginning of a
+        // new statement
+        if ( consequence == null || consequence.length() < prefix.length() ) {
+            // possible if doing code completion directly after "then"
+            return;
+        }
+        String consequenceWithoutPrefix = consequence.substring( 0,
+                                                                 consequence.length() - prefix.length() );
+
+        if ( context == null ) {
+            context = new CompletionContext( backText );
+        }
+
+        boolean startOfDialectExpression = CompletionUtil.isStartOfDialectExpression( consequenceWithoutPrefix );
+        if ( isJavaDialect() && startOfDialectExpression ) {
+            addRHSKeywordCompletionProposals( list,
+                                              documentOffset,
+                                              prefix );
+            addRHSFunctionCompletionProposals( list,
+                                               documentOffset,
+                                               prefix );
+        }
+        
+
+        //if we have 1st a dialect defined locally, or 2nd a global dialect
+        //the locally defined dialect will override the package default
+        if ( isJavaDialect() ) {
+            addRHSJavaCompletionProposals( list,
+                                           documentOffset,
+                                           prefix,
+                                           backText,
+                                           consequence );
+        } else if ( isMvelDialect() ) {
+            addRHSMvelCompletionProposals( list,
+                                           documentOffset,
+                                           prefix,
+                                           backText,
+                                           consequence,
+                                           startOfDialectExpression );
+        }
+    }
+
+    private boolean isJavaDialect() {
+        // java is the default dialect, so no package dialect means java
+        // conditions are ordered from the more specific to the more general
+        if ( context.isJavaDialect() ) {
+            return true;
+        } else if ( context.isDefaultDialect() && (!(getAttributes().containsKey( DIALECT )) || hasPackageDialect( "java" )) ) {
+            return true;
+        }
+
+        return false;
+    }
+
+    private boolean isMvelDialect() {
+        if ( context.isMvelDialect() ) {
+            return true;
+        } else if ( context.isDefaultDialect() && hasPackageDialect( "mvel" ) ) {
+            return true;
+        }
+        return false;
+    }
+
+    private boolean hasPackageDialect(String dialect) {
+        String globalDialect = (String) getAttributes().get( DIALECT );
+        if ( globalDialect != null && dialect.equalsIgnoreCase( globalDialect ) ) {
+            return true;
+        }
+        return false;
+    }
+
+    protected void addLHSCompletionProposals(List list,
+                                             int documentOffset,
+                                             Location location,
+                                             String prefix,
+                                             String backText) {
+        switch ( location.getType() ) {
+            case Location.LOCATION_LHS_BEGIN_OF_CONDITION :
+                // if we are at the beginning of a new condition
+                // add drools keywords
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "and",
+                                                      "and ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "or",
+                                                      "or ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "from",
+                                                      "from ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "forall",
+                                                      "forall(  )",
+                                                      8,
+                                                      DROOLS_ICON ) );
+                RuleCompletionProposal prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                          prefix.length(),
+                                                                          "eval",
+                                                                          "eval(  )",
+                                                                          6 );
+                prop.setImage( DROOLS_ICON );
+                list.add( prop );
+                prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                   prefix.length(),
+                                                   "then",
+                                                   "then" + System.getProperty( "line.separator" ) + "\t" );
+                prop.setImage( DROOLS_ICON );
+                list.add( prop );
+                // we do not break but also add all elements that are needed for
+                // and/or
+            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR :
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "not",
+                                                      "not ",
+                                                      DROOLS_ICON ) );
+                // we do not break but also add all elements that are needed for
+                // not
+            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT :
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "exists",
+                                                      "exists ",
+                                                      DROOLS_ICON ) );
+                // we do not break but also add all elements that are needed for
+                // exists
+            case Location.LOCATION_LHS_FROM_ACCUMULATE :
+            case Location.LOCATION_LHS_FROM_COLLECT :
+            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS :
+                // and add imported classes
+                Iterator iterator = getImports().iterator();
+                while ( iterator.hasNext() ) {
+                    String name = (String) iterator.next();
+                    int index = name.lastIndexOf( "." );
+                    if ( index != -1 ) {
+                        String className = name.substring( index + 1 );
+                        RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                               prefix.length(),
+                                                                               className,
+                                                                               className + "(  )",
+                                                                               className.length() + 2 );
+                        p.setPriority( -1 );
+                        p.setImage( CLASS_ICON );
+                        list.add( p );
+                    }
+                }
+                iterator = getClassesInPackage().iterator();
+                while ( iterator.hasNext() ) {
+                    String name = (String) iterator.next();
+                    int index = name.lastIndexOf( "." );
+                    if ( index != -1 ) {
+                        String className = name.substring( index + 1 );
+                        RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                               prefix.length(),
+                                                                               className,
+                                                                               className + "(  )",
+                                                                               className.length() + 2 );
+                        p.setPriority( -1 );
+                        p.setImage( CLASS_ICON );
+                        list.add( p );
+                    }
+                }
+                iterator = getTemplates().iterator();
+                while ( iterator.hasNext() ) {
+                    String name = (String) iterator.next();
+                    RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                           prefix.length(),
+                                                                           name,
+                                                                           name + "(  )",
+                                                                           name.length() + 2 );
+                    p.setPriority( -1 );
+                    p.setImage( CLASS_ICON );
+                    list.add( p );
+                }
+                break;
+            case Location.LOCATION_LHS_INSIDE_CONDITION_START :
+                String className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
+                String propertyName = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
+                if ( className != null ) {
+                    boolean isTemplate = addFactTemplatePropertyProposals( documentOffset,
+                                                                           prefix,
+                                                                           className,
+                                                                           list );
+                    if ( !isTemplate ) {
+                        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
+                                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
+                        try {
+                            String currentClass = className;
+                            if ( propertyName != null ) {
+                                String[] nestedProperties = propertyName.split( "\\." );
+                                int nbSuperProperties = nestedProperties.length - 1;
+                                if ( propertyName.endsWith( "." ) ) {
+                                    nbSuperProperties++;
+                                }
+                                for ( int i = 0; i < nbSuperProperties; i++ ) {
+                                    String simplePropertyName = nestedProperties[i];
+                                    currentClass = getSimplePropertyClass( currentClass,
+                                                                           simplePropertyName );
+                                    currentClass = convertToNonPrimitiveClass( currentClass );
+                                }
+                            }
+                            RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                                   prefix.length(),
+                                                                                   "this" );
+                            p.setImage( METHOD_ICON );
+                            list.add( p );
+                            Class clazz = resolver.resolveType( currentClass );
+                            if ( clazz != null ) {
+                                if ( Map.class.isAssignableFrom( clazz ) ) {
+                                    p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                    prefix.length(),
+                                                                    "this['']",
+                                                                    "this['']",
+                                                                    6 );
+                                    p.setImage( METHOD_ICON );
+                                    list.add( p );
+                                }
+                                ClassFieldInspector inspector = new ClassFieldInspector( clazz );
+                                Map types = inspector.getFieldTypes();
+                                Iterator iterator2 = inspector.getFieldNames().keySet().iterator();
+                                while ( iterator2.hasNext() ) {
+                                    String name = (String) iterator2.next();
+                                    p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                    prefix.length(),
+                                                                    name,
+                                                                    name + " " );
+                                    p.setImage( METHOD_ICON );
+                                    list.add( p );
+                                    Class type = (Class) types.get( name );
+                                    if ( type != null && Map.class.isAssignableFrom( type ) ) {
+                                        name += "['']";
+                                        p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                        prefix.length(),
+                                                                        name,
+                                                                        name,
+                                                                        name.length() - 2 );
+                                        p.setImage( METHOD_ICON );
+                                        list.add( p );
+                                    }
+                                }
+                            }
+                        } catch ( IOException exc ) {
+                            // Do nothing
+                        } catch ( ClassNotFoundException exc ) {
+                            // Do nothing
+                        }
+                    }
+                }
+                break;
+            case Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR :
+                className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
+                String property = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
+                String type = getPropertyClass( className,
+                                                property );
+
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "==",
+                                                      "== ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "!=",
+                                                      "!= ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      ":",
+                                                      ": ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "->",
+                                                      "-> (  )",
+                                                      5,
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "memberOf",
+                                                      "memberOf ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "not memberOf",
+                                                      "not memberOf ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "in",
+                                                      "in (  )",
+                                                      5,
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "not in",
+                                                      "not in (  )",
+                                                      9,
+                                                      DROOLS_ICON ) );
+
+                if ( isComparable( type ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "<",
+                                                          "< ",
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "<=",
+                                                          "<= ",
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          ">",
+                                                          "> ",
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          ">=",
+                                                          ">= ",
+                                                          DROOLS_ICON ) );
+                }
+                if ( type.equals( "java.lang.String" ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "matches",
+                                                          "matches \"\"",
+                                                          9,
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "not matches",
+                                                          "not matches \"\"",
+                                                          13,
+                                                          DROOLS_ICON ) );
+                }
+                if ( isSubtypeOf( type,
+                                  "java.util.Collection" ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "contains",
+                                                          "contains ",
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "not contains",
+                                                          "not contains ",
+                                                          DROOLS_ICON ) );
+                }
+                break;
+            case Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT :
+                // determine type
+                className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
+                property = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
+                String operator = (String) location.getProperty( Location.LOCATION_PROPERTY_OPERATOR );
+                type = getPropertyClass( className,
+                                         property );
+
+                if ( "in".equals( operator ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "()",
+                                                          "(  )",
+                                                          2,
+                                                          DROOLS_ICON ) );
+                    break;
+                }
+
+                if ( "contains".equals( operator ) || "excludes".equals( operator ) ) {
+                    type = "java.lang.Object";
+                }
+
+                if ( "memberOf".equals( operator ) ) {
+                    type = "java.util.Collection";
+                }
+
+                boolean isObject = false;
+                if ( "java.lang.Object".equals( type ) ) {
+                    isObject = true;
+                }
+
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "null",
+                                                      "null ",
+                                                      DROOLS_ICON ) );
+                if ( "boolean".equals( type ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "true",
+                                                          "true ",
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "false",
+                                                          "false ",
+                                                          DROOLS_ICON ) );
+                }
+                if ( isObject || "java.lang.String".equals( type ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "\"\"",
+                                                          "\"\"",
+                                                          1,
+                                                          DROOLS_ICON ) );
+                }
+                if ( isObject || "java.util.Date".equals( type ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "\"dd-mmm-yyyy\"",
+                                                          "\"dd-mmm-yyyy\"",
+                                                          1,
+                                                          DROOLS_ICON ) );
+                }
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "()",
+                                                      "(  )",
+                                                      2,
+                                                      DROOLS_ICON ) );
+                // add parameters with possibly matching type
+                if ( context.getRule() != null ) {
+                    Map result = new HashMap();
+                    addRuleParameters( result,
+                                       context.getRule().getLhs().getDescrs() );
+                    Iterator iterator2 = result.entrySet().iterator();
+                    while ( iterator2.hasNext() ) {
+                        Map.Entry entry = (Map.Entry) iterator2.next();
+                        String paramName = (String) entry.getKey();
+                        String paramType = (String) entry.getValue();
+                        if ( isSubtypeOf( paramType,
+                                          type ) ) {
+                            RuleCompletionProposal proposal = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                                          prefix.length(),
+                                                                                          paramName );
+                            proposal.setPriority( -1 );
+                            proposal.setImage( VARIABLE_ICON );
+                            list.add( proposal );
+                        }
+                    }
+                }
+                // add globals with possibly matching type
+                List globals = getGlobals();
+                if ( globals != null ) {
+                    for ( iterator = globals.iterator(); iterator.hasNext(); ) {
+                        GlobalDescr global = (GlobalDescr) iterator.next();
+                        if ( isSubtypeOf( global.getType(),
+                                          type ) ) {
+                            RuleCompletionProposal proposal = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                                          prefix.length(),
+                                                                                          global.getIdentifier() );
+                            proposal.setPriority( -1 );
+                            proposal.setImage( VARIABLE_ICON );
+                            list.add( proposal );
+                        }
+                    }
+                }
+                break;
+            case Location.LOCATION_LHS_INSIDE_EVAL :
+                String content = (String) location.getProperty( Location.LOCATION_EVAL_CONTENT );
+                list.addAll( getJavaCompletionProposals( documentOffset,
+                                                         content,
+                                                         prefix,
+                                                         getRuleParameters( backText ) ) );
+                break;
+            case Location.LOCATION_LHS_INSIDE_CONDITION_END :
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "&&",
+                                                      "&& ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "||",
+                                                      "|| ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      ",",
+                                                      ", ",
+                                                      DROOLS_ICON ) );
+                break;
+            case Location.LOCATION_LHS_FROM :
+                String fromText = (String) location.getProperty( Location.LOCATION_FROM_CONTENT );
+                int index = fromText.indexOf( '.' );
+                if ( index == -1 ) {
+                    // add accumulate and collect keyword
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "accumulate",
+                                                          "accumulate (  , init (  ), action (  ), result (  ) )",
+                                                          13,
+                                                          DROOLS_ICON ) );
+                    PackageBuilderConfiguration config = new PackageBuilderConfiguration( ProjectClassLoader.getProjectClassLoader( getEditor() ),
+                                                                                          null );
+                    Map accumulateFunctions = config.getAccumulateFunctionsMap();
+                    for ( Iterator iterator2 = accumulateFunctions.keySet().iterator(); iterator2.hasNext(); ) {
+                        String accumulateFunction = (String) iterator2.next();
+                        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                              prefix.length(),
+                                                              "accumulate " + accumulateFunction,
+                                                              "accumulate (  , " + accumulateFunction + "(  ) )",
+                                                              13,
+                                                              DROOLS_ICON ) );
+                    }
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "collect",
+                                                          "collect (  )",
+                                                          10,
+                                                          DROOLS_ICON ) );
+                    // add all functions
+                    if ( "".equals( fromText ) ) {
+                        List functions = getFunctions();
+                        iterator = functions.iterator();
+                        while ( iterator.hasNext() ) {
+                            String name = (String) iterator.next() + "()";
+                            prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                               prefix.length(),
+                                                               name,
+                                                               name,
+                                                               name.length() - 1 );
+                            prop.setPriority( -1 );
+                            prop.setImage( METHOD_ICON );
+                            list.add( prop );
+                        }
+                    }
+                    list.addAll( getJavaCompletionProposals( documentOffset,
+                                                             fromText,
+                                                             prefix,
+                                                             getRuleParameters( backText ) ) );
+                }
+                break;
+            case Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE :
+                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
+                list.addAll( getJavaCompletionProposals( documentOffset,
+                                                         content,
+                                                         prefix,
+                                                         getRuleParameters( backText ) ) );
+                break;
+            case Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE :
+                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
+                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT );
+                list.addAll( getJavaCompletionProposals( documentOffset,
+                                                         content,
+                                                         prefix,
+                                                         getRuleParameters( backText ) ) );
+                break;
+            case Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE :
+                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
+                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT );
+                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT );
+                list.addAll( getJavaCompletionProposals( documentOffset,
+                                                         content,
+                                                         prefix,
+                                                         getRuleParameters( backText ) ) );
+                break;
+        }
+    }
+
+    private String getPropertyClass(String className,
+                                    String propertyName) {
+        if ( className != null && propertyName != null ) {
+            FactTemplateDescr template = getTemplate( className );
+            if ( template != null ) {
+                Iterator iterator = template.getFields().iterator();
+                while ( iterator.hasNext() ) {
+                    FieldTemplateDescr field = (FieldTemplateDescr) iterator.next();
+                    if ( propertyName.equals( field.getName() ) ) {
+                        String type = field.getClassType();
+                        if ( isPrimitiveType( type ) ) {
+                            return type;
+                        }
+                        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
+                                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
+                        try {
+                            Class clazz = resolver.resolveType( type );
+                            if ( clazz != null ) {
+                                return clazz.getName();
+                            }
+                        } catch ( ClassNotFoundException exc ) {
+                            DroolsEclipsePlugin.log( exc );
+                        }
+                    }
+                }
+                // if not found, return null
+            } else {
+                String[] nestedProperties = propertyName.split( "\\." );
+                String currentClass = className;
+                for ( int i = 0; i < nestedProperties.length; i++ ) {
+                    String simplePropertyName = nestedProperties[i];
+                    currentClass = getSimplePropertyClass( currentClass,
+                                                           simplePropertyName );
+                }
+                return currentClass;
+            }
+        }
+        return null;
+    }
+
+    private String getSimplePropertyClass(String className,
+                                          String propertyName) {
+        if ( "this".equals( propertyName ) ) {
+            return className;
+        }
+        if ( propertyName.endsWith( "]" ) ) {
+            // TODO can we take advantage of generics here?
+            return "java.lang.Object";
+        }
+        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
+                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
+        try {
+            Class clazz = resolver.resolveType( className );
+            if ( clazz != null ) {
+                Class clazzz = (Class) new ClassFieldInspector( clazz ).getFieldTypes().get( propertyName );
+                if ( clazzz != null ) {
+                    return clazzz.getName();
+                }
+            }
+        } catch ( IOException exc ) {
+            // Do nothing
+        } catch ( ClassNotFoundException exc ) {
+            // Do nothing
+        }
+        return "java.lang.Object";
+    }
+
+    private Map getRuleParameters(String backText) {
+        Map result = new HashMap();
+        // add globals
+        List globals = getGlobals();
+        if ( globals != null ) {
+            for ( Iterator iterator = globals.iterator(); iterator.hasNext(); ) {
+                GlobalDescr global = (GlobalDescr) iterator.next();
+                result.put( global.getIdentifier(),
+                            global.getType() );
+            }
+        }
+
+        if ( context == null ) {
+            context = new CompletionContext( backText );
+        }
+        if ( context.getRule() == null ) {
+            return result;
+        }
+        // add parameters defined in conditions
+        addRuleParameters( result,
+                           context.getRule().getLhs().getDescrs() );
+        return result;
+    }
+
+    private boolean isComparable(String type) {
+        if ( type == null ) {
+            return false;
+        }
+        if ( isPrimitiveNumericType( type ) ) {
+            return true;
+        }
+        if ( isObjectNumericType( type ) ) {
+            return true;
+        }
+        if ( isSubtypeOf( type,
+                          "java.lang.Comparable" ) ) {
+            return true;
+        }
+        return false;
+    }
+
+    private boolean isPrimitiveType(String type) {
+        return isPrimitiveNumericType( type ) || type.equals( "boolean" );
+    }
+
+    private boolean isPrimitiveNumericType(String type) {
+        return type.equals( "byte" ) || type.equals( "short" ) || type.equals( "int" ) || type.equals( "long" ) || type.equals( "float" ) || type.equals( "double" ) || type.equals( "char" );
+    }
+
+    private boolean isObjectNumericType(String type) {
+        return type.equals( "java.lang.Byte" ) || type.equals( "java.lang.Short" ) || type.equals( "java.lang.Integer" ) || type.equals( "java.lang.Long" ) || type.equals( "java.lang.Float" ) || type.equals( "java.lang.Double" )
+               || type.equals( "java.lang.Char" );
+    }
+
+    /**
+     * Returns true if the first class is the same or a subtype of the second
+     * class.
+     *
+     * @param class1
+     * @param class2
+     * @return
+     */
+    private boolean isSubtypeOf(String class1,
+                                String class2) {
+        if ( class1 == null || class2 == null ) {
+            return false;
+        }
+        class1 = convertToNonPrimitiveClass( class1 );
+        class2 = convertToNonPrimitiveClass( class2 );
+        // TODO add code to take primitive types into account
+        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
+                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
+        try {
+            Class clazz1 = resolver.resolveType( class1 );
+            Class clazz2 = resolver.resolveType( class2 );
+            if ( clazz1 == null || clazz2 == null ) {
+                return false;
+            }
+            return clazz2.isAssignableFrom( clazz1 );
+        } catch ( ClassNotFoundException exc ) {
+            return false;
+        }
+    }
+
+    private String convertToNonPrimitiveClass(String clazz) {
+        if ( !isPrimitiveType( clazz ) ) {
+            return clazz;
+        }
+        if ( "byte".equals( clazz ) ) {
+            return "java.lang.Byte";
+        } else if ( "short".equals( clazz ) ) {
+            return "java.lang.Short";
+        } else if ( "int".equals( clazz ) ) {
+            return "java.lang.Integer";
+        } else if ( "long".equals( clazz ) ) {
+            return "java.lang.Long";
+        } else if ( "float".equals( clazz ) ) {
+            return "java.lang.Float";
+        } else if ( "double".equals( clazz ) ) {
+            return "java.lang.Double";
+        } else if ( "char".equals( clazz ) ) {
+            return "java.lang.Char";
+        } else if ( "boolean".equals( clazz ) ) {
+            return "java.lang.Boolean";
+        }
+        // should never occur
+        return null;
+    }
+
+    private void addRHSFunctionCompletionProposals(List list,
+                                                   int documentOffset,
+                                                   String prefix) {
+        Iterator iterator;
+        RuleCompletionProposal prop;
+        List functions = getFunctions();
+        iterator = functions.iterator();
+        while ( iterator.hasNext() ) {
+            String name = (String) iterator.next() + "()";
+            prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                               prefix.length(),
+                                               name,
+                                               name + ";",
+                                               name.length() - 1 );
+            prop.setPriority( -1 );
+            prop.setImage( METHOD_ICON );
+            list.add( prop );
+        }
+    }
+
+    private void addRHSKeywordCompletionProposals(List list,
+                                                  int documentOffset,
+                                                  String prefix) {
+        RuleCompletionProposal prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                  prefix.length(),
+                                                                  "update",
+                                                                  "update();",
+                                                                  7 );
+        prop.setImage( DROOLS_ICON );
+        list.add( prop );
+        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                           prefix.length(),
+                                           "retract",
+                                           "retract();",
+                                           8 );
+        prop.setImage( DROOLS_ICON );
+        list.add( prop );
+        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                           prefix.length(),
+                                           "insert",
+                                           "insert();",
+                                           7 );
+        prop.setImage( DROOLS_ICON );
+        list.add( prop );
+        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                           prefix.length(),
+                                           "insertLogical",
+                                           "insertLogical();",
+                                           14 );
+        prop.setImage( DROOLS_ICON );
+        list.add( prop );
+    }
+
+    private void addRHSJavaCompletionProposals(List list,
+                                               int documentOffset,
+                                               String prefix,
+                                               String backText,
+                                               String consequence) {
+        list.addAll( getJavaCompletionProposals( documentOffset,
+                                                 consequence,
+                                                 prefix,
+                                                 getRuleParameters( backText ) ) );
+    }
+
+    private void addRHSMvelCompletionProposals(List list,
+                                               final int documentOffset,
+                                               String prefix,
+                                               String backText,
+                                               String consequence,
+                                               boolean expressionStart) {
+
+        Collection mvelCompletionProposals = getMvelCompletionProposals( consequence,
+                                                                         documentOffset,
+                                                                         prefix,
+                                                                         getRuleParameters( backText ),
+                                                                         backText,
+                                                                         expressionStart );
+        list.addAll( mvelCompletionProposals );
+    }
+
+    private Collection getMvelCompletionProposals(final String consequenceBackText,
+                                                  final int documentOffset,
+                                                  final String prefix,
+                                                  Map params,
+                                                  String ruleBackText,
+                                                  boolean startOfExpression) {
+
+        final Set proposals = new HashSet();
+
+        if ( !(getEditor() instanceof DRLRuleEditor) ) {
+            return proposals;
+        }
+
+        try {
+            DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource( (DRLRuleEditor) getEditor(),
+                                                                              true,
+                                                                              true );
+
+            String textWithoutPrefix = CompletionUtil.getTextWithoutPrefix( consequenceBackText,
+                                                                            prefix );
+            boolean expressionStart = CompletionUtil.isStartOfDialectExpression( textWithoutPrefix );
+
+            boolean isConstrained = textWithoutPrefix.endsWith( "." );
+
+            // we split the expression in various regions:
+            // *the previous expression
+            // *the last expression
+            // *the last inner expression
+
+            // attempt to compile and analyze the previous expression to collect inputs and vars
+            String previousExpression = CompletionUtil.getPreviousExpression( consequenceBackText );
+            MvelContext previousExprContext = analyzeMvelExpression( getResolvedMvelInputs( params ),
+                                                                     drlInfo,
+                                                                     previousExpression );
+
+            // attempt to compile and analyze the last and last inner expression, using as inputs the previous expression inputs and vars
+            Map variables = previousExprContext.getContext().getVariables();
+            Map inputs = previousExprContext.getContext().getInputs();
+            inputs.putAll( variables );
+
+            //last inner expression
+            String lastInnerExpression = CompletionUtil.getTextWithoutPrefix( CompletionUtil.getInnerExpression( consequenceBackText ),
+                                                                              prefix );
+            String compilableLastInnerExpression = CompletionUtil.getCompilableText( lastInnerExpression );
+
+            MvelContext lastInnerExprContext = analyzeMvelExpression( inputs,
+                                                                      drlInfo,
+                                                                      compilableLastInnerExpression );
+
+            //last expression
+            String lastExpression = CompletionUtil.getLastExpression( consequenceBackText ).trim();
+            //is this a modify expression?
+            //group 1 is the body of modify
+            //group 2 if present is the whole with block including brackets
+            //group 3 if present is the inner content of the with block
+            Matcher modMatcher = CompletionUtil.MODIFY_PATTERN.matcher( lastExpression );
+
+            boolean isModifyBlock = modMatcher.matches() && modMatcher.groupCount() == 3;
+
+            //if constrained, get completion for egress of last inner, filtered on prefix
+            if ( isConstrained ) {
+                if ( lastInnerExprContext.isStaticFlag() ) {
+                    return getMvelClassCompletionsFromJDT( documentOffset,
+                                                           "",
+                                                           params,
+                                                           lastInnerExprContext.getReturnedType() );
+
+                }
+
+                return getMvelInstanceCompletionsFromJDT( documentOffset,
+                                                          "",
+                                                          params,
+                                                          lastInnerExprContext.getReturnedType(),
+                                                          false );
+            }
+            //if expression start inside with block, then get completion for prefix with egrss of modif var + prev expr var&inputs
+            else if ( expressionStart && isModifyBlock ) {
+                String modifyVar = modMatcher.group( 1 );
+                //String modifyWith = modMatcher.group( 3 );
+
+                //get the egress type of the modify var
+                MvelContext modVarContext = analyzeMvelExpression( inputs,
+                                                                   drlInfo,
+                                                                   modifyVar );
+
+                Class modVarType = modVarContext.getReturnedType();
+
+                Collection modVarComps = getMvelInstanceCompletionsFromJDT( documentOffset,
+                                                                            "",
+                                                                            params,
+                                                                            modVarType,
+                                                                            true );
+
+                proposals.addAll( modVarComps );
+
+                //                addMvelCompletions( proposals,
+                //                                    documentOffset,
+                //                                    "",
+                //                                    lastInnerExprContext.getContext().getVariables() );
+                //
+                //                addMvelCompletions( proposals,
+                //                                    documentOffset,
+                //                                    "",
+                //                                    lastInnerExprContext.getContext().getInputs() );
+                //
+                //                Collection jdtProps = getJavaCompletionProposals( documentOffset,
+                //                                                                  prefix,
+                //                                                                  prefix,
+                //                                                                  params );
+                //
+                //                proposals.addAll( jdtProps );
+                return proposals;
+
+            }
+            //If expression start, and all other cases then get completion for prefix with prev expr var&inputs
+            addMvelCompletions( proposals,
+                                documentOffset,
+                                prefix,
+                                lastInnerExprContext.getContext().getVariables() );
+
+            addMvelCompletions( proposals,
+                                documentOffset,
+                                prefix,
+                                lastInnerExprContext.getContext().getInputs() );
+
+            Collection jdtProps = getJavaCompletionProposals( documentOffset,
+                                                              prefix,
+                                                              prefix,
+                                                              params );
+
+            proposals.addAll( jdtProps );
+
+        } catch ( Throwable e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+        Set uniqueProposals = new HashSet();
+        addAllNewProposals( uniqueProposals,
+                            proposals );
+        return uniqueProposals;
+    }
+
+    private Map getResolvedMvelInputs(Map params) {
+        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
+                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
+
+        Map resolved = new HashMap();
+        for ( Iterator iter = params.entrySet().iterator(); iter.hasNext(); ) {
+            Map.Entry entry = (Map.Entry) iter.next();
+            String inputType = (String) entry.getValue();
+            try {
+                Class type = resolver.resolveType( inputType );
+                resolved.put( entry.getKey(),
+                              type );
+            } catch ( ClassNotFoundException e ) {
+                DroolsEclipsePlugin.log( e );
+            }
+        }
+        return resolved;
+    }
+
+    class MvelContext {
+        private CompiledExpression expression;
+        private ParserContext      initialContext;
+        private Class              returnedType;
+        private boolean            staticFlag;
+
+        public ParserContext getContext() {
+            if ( getExpression() != null ) {
+                if ( getExpression().getParserContext() != null ) {
+                    return getExpression().getParserContext();
+                }
+            }
+            return getInitialContext();
+        }
+
+        void setExpression(CompiledExpression expression) {
+            this.expression = expression;
+        }
+
+        CompiledExpression getExpression() {
+            return expression;
+        }
+
+        void setInitialContext(ParserContext initialContext) {
+            this.initialContext = initialContext;
+        }
+
+        ParserContext getInitialContext() {
+            return initialContext;
+        }
+
+        void setReturnedType(Class returnedType) {
+            this.returnedType = returnedType;
+        }
+
+        Class getReturnedType() {
+            return returnedType;
+        }
+
+        public boolean isStaticFlag() {
+            return staticFlag;
+        }
+
+        public void setStaticFlag(boolean staticFlag) {
+            this.staticFlag = staticFlag;
+        }
+    }
+
+    private MvelContext analyzeMvelExpression(Map params,
+                                              DRLInfo drlInfo,
+                                              String mvel) {
+
+        String macroMvel = processMacros( mvel );
+
+        String name = context.getRule().getName();
+        RuleInfo currentRule = getCurrentRule( drlInfo,
+                                               name );
+        String qName = drlInfo.getPackageName() + "." + currentRule.getRuleName();
+        MVELDialect dialect = (MVELDialect) currentRule.getDialect();
+        ParserContext initialContext = createInitialContext( params,
+                                                             qName,
+                                                             dialect );
+        MvelContext mCon = new MvelContext();
+        mCon.setInitialContext( initialContext );
+
+        try {
+            ExpressionCompiler compiler = new ExpressionCompiler( macroMvel );
+            CompiledExpression expression = compiler.compile( initialContext );
+            mCon.setExpression( expression );
+
+            ParserContext compilationContext = compiler.getParserContextState();
+
+            Class lastType = expression.getKnownEgressType();
+
+            //Statics expression may return Class as an egress type
+            if ( lastType != null && "java.lang.Class".equals( lastType.getName() ) ) {
+                mCon.setStaticFlag( true );
+            }
+
+            if ( lastType == null || "java.lang.Object".equals( lastType.getName() ) || "java.lang.Class".equals( lastType.getName() ) ) {
+                // attempt to use the property verifier to get
+                // a better type  resolution (a recommend by cbrock, though egress gives consistent results)
+                lastType = new PropertyVerifier( macroMvel,
+                                                 compilationContext ).analyze();
+            }
+
+            if ( lastType == null ) {
+                lastType = Object.class;
+            }
+
+            mCon.setReturnedType( lastType );
+        } catch ( Exception e ) {
+            //do nothing while doing completion.
+        }
+        return mCon;
+    }
+
+    private static ParserContext createInitialContext(Map params,
+                                                      String qualifiedName,
+                                                      MVELDialect dialect) {
+
+        final ParserContext context = new ParserContext( dialect.getImports(),
+                                                         null,
+                                                         qualifiedName );
+
+        for ( Iterator it = dialect.getPackgeImports().values().iterator(); it.hasNext(); ) {
+            String packageImport = (String) it.next();
+            context.addPackageImport( packageImport );
+        }
+        context.setStrictTypeEnforcement( false );
+
+        context.setInterceptors( dialect.getInterceptors() );
+        context.setInputs( params );
+        context.addInput( "drools",
+                          KnowledgeHelper.class );
+        context.setCompiled( true );
+        return context;
+    }
+
+    public static String processMacros(String mvel) {
+        MVELConsequenceBuilder builder = new MVELConsequenceBuilder();
+        String macrosProcessedCompilableConsequence = builder.processMacros( mvel.trim() );
+        return macrosProcessedCompilableConsequence;
+    }
+
+    private static RuleInfo getCurrentRule(DRLInfo drlInfo,
+                                    String currentRulename) {
+        RuleInfo currentRule = null;
+        RuleInfo[] ruleInfos = drlInfo.getRuleInfos();
+        for ( int i = 0; i < ruleInfos.length; i++ ) {
+            if ( currentRulename.equals( ruleInfos[i].getRuleName() ) ) {
+                currentRule = ruleInfos[i];
+                break;
+            }
+        }
+        return currentRule;
+    }
+
+    /*
+     * Completions for object instance members
+     */
+    private Collection getMvelInstanceCompletionsFromJDT(final int documentOffset,
+                                                         final String prefix,
+                                                         Map params,
+                                                         Class lastType,
+                                                         boolean settersOnly) {
+        if ( lastType == null ) {
+            lastType = Object.class;
+        }
+
+        //FIXME: there is a small chance of var name collision using this arbitrary mvdrlofc as a variable name.
+        //ideally the variable name should be inferred from the last member of the expression
+        final String syntheticVarName = "mvdrlofc";
+
+        String javaText = "\n" + CompletionUtil.getSimpleClassName( lastType ) + " " + syntheticVarName + ";\n" + syntheticVarName + ".";
+        final List list1 = new ArrayList();
+        requestJavaCompletionProposals( javaText,
+                                        prefix,
+                                        documentOffset,
+                                        params,
+                                        list1 );
+
+        final List list = list1;
+
+        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list,
+                                                                        settersOnly );
+        return mvelList;
+    }
+
+    /*
+     * Completions for static Class members
+     */
+    private Collection getMvelClassCompletionsFromJDT(final int documentOffset,
+                                                      final String prefix,
+                                                      Map params,
+                                                      Class lastType) {
+        if ( lastType == null ) {
+            lastType = Object.class;
+        }
+
+        //FIXME: there is a small chance of var name collision using this arbitrary mvdrlofc as a variable name.
+        //ideally the variable name should be inferred from the last member of the expression
+
+        String javaText = "\n" + CompletionUtil.getSimpleClassName( lastType ) + ".";
+        final List list1 = new ArrayList();
+        requestJavaCompletionProposals( javaText,
+                                        prefix,
+                                        documentOffset,
+                                        params,
+                                        list1 );
+        final List list = list1;
+        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list,
+                                                                        false );
+        return mvelList;
+    }
+
+    private static void addMvelCompletions(final Collection proposals,
+                                    int documentOffset,
+                                    String prefix,
+                                    Map inputs) {
+        Set newProposals = new HashSet();
+        for ( Iterator iter = inputs.entrySet().iterator(); iter.hasNext(); ) {
+            Map.Entry entry = (Map.Entry) iter.next();
+            String prop = (String) entry.getKey();
+
+            Class type = (Class) entry.getValue();
+            String display = prop + "  " + CompletionUtil.getSimpleClassName( type );
+
+            RuleCompletionProposal rcp = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                     prefix.length(),
+                                                                     display,
+                                                                     prop );
+            rcp.setImage( DefaultCompletionProcessor.VARIABLE_ICON );
+            newProposals.add( rcp );
+        }
+        addAllNewProposals( proposals,
+                            newProposals );
+    }
+
+    public static void addAllNewProposals(final Collection proposals,
+                                          final Collection newProposals) {
+        for ( Iterator iter = newProposals.iterator(); iter.hasNext(); ) {
+            ICompletionProposal newProp = (ICompletionProposal) iter.next();
+            String displayString = newProp.getDisplayString();
+
+            //JBRULES-1134 do not add completions if they already exist
+            if ( !containsProposal( proposals,
+                                    displayString ) ) {
+                proposals.add( newProp );
+            }
+        }
+    }
+
+    /**
+     * Attempt to compare proposals of different types based on the tokenized display string
+     * @param proposals
+     * @param newProposal
+     * @return true if the collection contains a proposal which matches the new Proposal.
+     * The match is based on the first token based on a space split
+     */
+    public static boolean containsProposal(final Collection proposals,
+                                           String newProposal) {
+        for ( Iterator iter = proposals.iterator(); iter.hasNext(); ) {
+            ICompletionProposal prop = (ICompletionProposal) iter.next();
+            String displayString = prop.getDisplayString();
+            String[] existings = displayString.split( " " );
+            if ( existings.length == 0 ) {
+                continue;
+            }
+
+            String[] newProposals = newProposal.split( " " );
+            if ( newProposals.length == 0 ) {
+                continue;
+            }
+
+            if ( existings[0].equals( newProposals[0] ) ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private void addRuleParameters(Map result,
+                                   List descrs) {
+        if ( descrs == null ) {
+            return;
+        }
+        Iterator iterator = descrs.iterator();
+        while ( iterator.hasNext() ) {
+            BaseDescr descr = (BaseDescr) iterator.next();
+            addRuleParameters( result,
+                               descr );
+        }
+    }
+
+    private void addRuleParameters(Map result,
+                                   BaseDescr descr) {
+        if ( descr == null ) {
+            return;
+        }
+        if ( descr instanceof PatternDescr ) {
+            String name = ((PatternDescr) descr).getIdentifier();
+            if ( name != null ) {
+                result.put( name,
+                            ((PatternDescr) descr).getObjectType() );
+            }
+            addRuleSubParameters( result,
+                                  ((PatternDescr) descr).getDescrs(),
+                                  ((PatternDescr) descr).getObjectType() );
+        } else if ( descr instanceof AndDescr ) {
+            addRuleParameters( result,
+                               ((AndDescr) descr).getDescrs() );
+        } else if ( descr instanceof OrDescr ) {
+            addRuleParameters( result,
+                               ((OrDescr) descr).getDescrs() );
+        } else if ( descr instanceof ExistsDescr ) {
+            addRuleParameters( result,
+                               ((ExistsDescr) descr).getDescrs() );
+        } else if ( descr instanceof NotDescr ) {
+            addRuleParameters( result,
+                               ((NotDescr) descr).getDescrs() );
+        }
+    }
+
+    private void addRuleSubParameters(Map result,
+                                      List descrs,
+                                      String clazz) {
+        if ( descrs == null ) {
+            return;
+        }
+        Iterator iterator = descrs.iterator();
+        while ( iterator.hasNext() ) {
+            BaseDescr descr = (BaseDescr) iterator.next();
+            if ( descr instanceof FieldBindingDescr ) {
+                FieldBindingDescr fieldDescr = (FieldBindingDescr) descr;
+                String name = fieldDescr.getIdentifier();
+                String field = fieldDescr.getFieldName();
+                String type = getPropertyClass( clazz,
+                                                field );
+                if ( name != null ) {
+                    result.put( name,
+                                type );
+                }
+            }
+        }
+    }
+
+    private void addRuleHeaderProposals(List list,
+                                        int documentOffset,
+                                        String prefix,
+                                        String backText) {
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "salience",
+                                              "salience ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "no-loop",
+                                              "no-loop ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "agenda-group",
+                                              "agenda-group ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "duration",
+                                              "duration ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "auto-focus",
+                                              "auto-focus ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "when",
+                                              "when" + System.getProperty( "line.separator" ) + "\t ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "activation-group",
+                                              "activation-group ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "date-effective",
+                                              "date-effective \"dd-MMM-yyyy\"",
+                                              16,
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "date-expires",
+                                              "date-expires \"dd-MMM-yyyy\"",
+                                              14,
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "enabled",
+                                              "enabled false",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "ruleflow-group",
+                                              "ruleflow-group \"\"",
+                                              16,
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "lock-on-active",
+                                              "lock-on-active ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "dialect \"java\"",
+                                              "dialect \"java\" ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "dialect \"mvel\"",
+                                              "dialect \"mvel\" ",
+                                              DROOLS_ICON ) );
+    }
+
+    private boolean addFactTemplatePropertyProposals(int documentOffset,
+                                                     String prefix,
+                                                     String templateName,
+                                                     List list) {
+        FactTemplateDescr descr = getTemplate( templateName );
+        if ( descr == null ) {
+            return false;
+        }
+        Iterator iterator = descr.getFields().iterator();
+        while ( iterator.hasNext() ) {
+            FieldTemplateDescr field = (FieldTemplateDescr) iterator.next();
+            String fieldName = field.getName();
+            RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                   prefix.length(),
+                                                                   fieldName,
+                                                                   fieldName + " " );
+            p.setImage( METHOD_ICON );
+            list.add( p );
+        }
+        return true;
+    }
+
+    /*
+     * Filters accessor method proposals to replace them with their mvel expression equivalent
+     * For instance a completion for getStatus() would be replaced by a completion for status
+     * when asking for stters only, then only setters or writable fields will be returned
+     */
+    public static Collection mvelifyProposals(List list,
+                                              boolean settersOnly) {
+        final Collection set = new HashSet();
+
+        for ( Iterator iter = list.iterator(); iter.hasNext(); ) {
+            Object o = iter.next();
+            if ( o instanceof JavaMethodCompletionProposal ) {
+                //methods
+                processJavaMethodCompletionProposal( list,
+                                                     settersOnly,
+                                                     set,
+                                                     o );
+
+            } else if ( o instanceof JavaCompletionProposal ) {
+                //fields
+                processesJavaCompletionProposal( settersOnly,
+                                                 set,
+                                                 o );
+            } else if ( !settersOnly ) {
+                set.add( o );
+            }
+        }
+        return set;
+    }
+
+    private static void processesJavaCompletionProposal(boolean settersOnly,
+                                                        final Collection set,
+                                                        Object o) {
+        if ( settersOnly ) {
+            JavaCompletionProposal jcp = (JavaCompletionProposal) o;
+            //TODO: FIXME: this is very fragile as it uses reflection to access the private completion field.
+            //Yet this is needed to do mvel filtering based on the method signtures, IF we use the richer JDT completion
+            //                    Object field = ReflectionUtils.getField( o,
+            //                                                             "fProposal" );
+            IJavaElement javaElement = jcp.getJavaElement();
+            if ( javaElement.getElementType() == IJavaElement.FIELD ) {
+                set.add( o );
+
+            }
+        } else {
+            set.add( o );
+        }
+    }
+
+    private static void processJavaMethodCompletionProposal(List list,
+                                                            boolean settersOnly,
+                                                            final Collection set,
+                                                            Object o) {
+        LazyJavaCompletionProposal javaProposal = (LazyJavaCompletionProposal) o;
+        //TODO: FIXME: this is very fragile as it uses reflection to access the private completion field.
+        //Yet this is needed to do mvel filtering based on the method signtures, IF we use the richer JDT completion
+        Object field = ReflectionUtils.getField( o,
+                                                 "fProposal" );
+        if ( field != null && field instanceof CompletionProposal ) {
+            CompletionProposal proposal = (CompletionProposal) field;
+
+            String completion = new String( proposal.getCompletion() );
+
+            String propertyOrMethodName = null;
+
+            boolean isSetter = false;
+            boolean isAccessor = false;
+            if ( settersOnly ) {
+                // get the eventual writable property name for that method name and signature
+                propertyOrMethodName = CompletionUtil.getWritablePropertyName( completion,
+                                                                               proposal.getSignature() );
+                //                      if we got a property name that differs from the orginal method name
+                //then this is a bean accessor
+                isSetter = !completion.equals( propertyOrMethodName );
+
+            } else {
+                // get the eventual property name for that method name and signature
+                propertyOrMethodName = CompletionUtil.getPropertyName( completion,
+                                                                       proposal.getSignature() );
+                //if we got a property name that differs from the orginal method name
+                //then this is a bean accessor
+                isAccessor = !completion.equals( propertyOrMethodName );
+            }
+
+            // is the completion for a bean accessor? and do we have already some relevant completion?
+            boolean doesNotContainFieldCompletion = DefaultCompletionProcessor.doesNotContainFieldCompletion( propertyOrMethodName,
+                                                                                                              list );
+            if ( ((settersOnly && isSetter) || (!settersOnly && isAccessor)) && doesNotContainFieldCompletion ) {
+
+                //TODO: craft a better JDTish display name than just the property name
+                RuleCompletionProposal prop = new RuleCompletionProposal( javaProposal.getReplacementOffset(),
+                                                                          javaProposal.getReplacementLength(),
+                                                                          propertyOrMethodName );
+                prop.setImage( DefaultCompletionProcessor.VARIABLE_ICON );
+                //set high priority such that the completion for accessors shows up first
+                prop.setPriority( 1000 );
+                set.add( prop );
+
+            }
+
+            else if ( !settersOnly ) {
+                set.add( o );
+            }
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,210 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.Comparator;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * Holds a completion proposal to be popped up.
- *
- * @author Michael Neale
- *
- */
-public class RuleCompletionProposal
-    implements
-    ICompletionProposal {
-
-    private String content;
-    private String display;
-    private int    replacementOffset;
-    private int    replacementLength;
-    private int    cursorPosition;
-    private Image  image;
-    private int    priority;
-
-    /** This is used when the stuff that is displayed, is the stuff that is used. */
-    public RuleCompletionProposal(int replacementOffset,
-                                  int replacementLength,
-                                  String content) {
-        this( replacementOffset,
-              replacementLength,
-              content,
-              content );
-    }
-
-    /** This is used when a different display value is shown to what is put in when selected. */
-    public RuleCompletionProposal(int replacementOffset,
-                                  int replacementLength,
-                                  String display,
-                                  String content) {
-        this( replacementOffset,
-              replacementLength,
-              display,
-              content,
-              content.length() );
-    }
-
-    /** Also allows an icon to be used */
-    public RuleCompletionProposal(int replacementOffset,
-                                  int replacementLength,
-                                  String display,
-                                  String content,
-                                  Image image) {
-        this( replacementOffset,
-              replacementLength,
-              display,
-              content,
-              content.length(),
-              image );
-    }
-
-    public RuleCompletionProposal(int replacementOffset,
-                                  int replacementLength,
-                                  String display,
-                                  String content,
-                                  int cursorPosition) {
-        this( replacementOffset,
-              replacementLength,
-              display,
-              content,
-              cursorPosition,
-              null );
-    }
-
-    /** This is used when a different display value is shown to what is put in when selected. */
-    public RuleCompletionProposal(int replacementOffset,
-                                  int replacementLength,
-                                  String display,
-                                  String content,
-                                  int cursorPosition,
-                                  Image image) {
-        this.replacementOffset = replacementOffset;
-        this.replacementLength = replacementLength;
-        this.content = content;
-        this.display = display;
-        this.cursorPosition = cursorPosition;
-        this.image = image;
-    }
-
-    public String getDisplay() {
-        return display;
-    }
-
-    public int getReplacementLength() {
-        return replacementLength;
-    }
-
-    public int getCursorPosition() {
-        return cursorPosition;
-    }
-
-    public Image getImage() {
-        return image;
-    }
-
-    public String getContent() {
-        return content;
-    }
-
-    public void setImage(Image image) {
-        this.image = image;
-    }
-
-    public int getPriority() {
-        return priority;
-    }
-
-    public void setPriority(int priority) {
-        this.priority = priority;
-    }
-
-    public String toString() {
-        return content;
-    }
-
-    //TODO:fixme now that we mix JDT and own proposals, comparison is all wrong, resulting in wrong ordering of mixed proposals (such as with mvel
-    public static class RuleCompletionProposalComparator
-        implements
-        Comparator {
-        public int compare(Object arg0,
-                           Object arg1) {
-            if ( arg0 instanceof RuleCompletionProposal ) {
-                if ( arg1 instanceof RuleCompletionProposal ) {
-                    RuleCompletionProposal prop0 = (RuleCompletionProposal) arg0;
-                    RuleCompletionProposal prop1 = (RuleCompletionProposal) arg1;
-                    if ( prop0.getPriority() == prop1.getPriority() ) {
-                        return prop0.display.compareTo( prop1.display );
-                    } else if ( prop0.getPriority() > prop1.getPriority() ) {
-                        return -1;
-                    } else {
-                        return 1;
-                    }
-                } else {
-                    return -1;
-                }
-            } else {
-                if ( arg1 instanceof RuleCompletionProposal ) {
-                    return 1;
-                }
-                return 0;
-            }
-        }
-    }
-
-    public void apply(IDocument document) {
-        try {
-            document.replace( replacementOffset,
-                              replacementLength,
-                              content );
-        } catch ( BadLocationException x ) {
-            // ignore
-        }
-    }
-
-    public String getAdditionalProposalInfo() {
-        return null;
-    }
-
-    public IContextInformation getContextInformation() {
-        return null;
-    }
-
-    public String getDisplayString() {
-        if ( display != null ) {
-            return display;
-        }
-        return content;
-    }
-
-    public int hashCode() {
-        final int PRIME = 31;
-        int result = 1;
-        result = PRIME * result + ((content == null) ? 0 : content.hashCode());
-        result = PRIME * result + ((display == null) ? 0 : display.hashCode());
-        return result;
-    }
-
-    public boolean equals(Object obj) {
-        if ( this == obj ) return true;
-        if ( obj == null ) return false;
-        if ( getClass() != obj.getClass() ) return false;
-        final RuleCompletionProposal other = (RuleCompletionProposal) obj;
-        if ( content == null ) {
-            if ( other.content != null ) return false;
-        } else if ( !content.equals( other.content ) ) return false;
-        if ( display == null ) {
-            if ( other.display != null ) return false;
-        } else if ( !display.equals( other.display ) ) return false;
-        return true;
-    }
-
-    public Point getSelection(IDocument document) {
-        return new Point( replacementOffset + cursorPosition,
-                          0 );
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,210 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.Comparator;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+
+/**
+ * Holds a completion proposal to be popped up.
+ *
+ * @author Michael Neale
+ *
+ */
+public class RuleCompletionProposal
+    implements
+    ICompletionProposal {
+
+    private String content;
+    private String display;
+    private int    replacementOffset;
+    private int    replacementLength;
+    private int    cursorPosition;
+    private Image  image;
+    private int    priority;
+
+    /** This is used when the stuff that is displayed, is the stuff that is used. */
+    public RuleCompletionProposal(int replacementOffset,
+                                  int replacementLength,
+                                  String content) {
+        this( replacementOffset,
+              replacementLength,
+              content,
+              content );
+    }
+
+    /** This is used when a different display value is shown to what is put in when selected. */
+    public RuleCompletionProposal(int replacementOffset,
+                                  int replacementLength,
+                                  String display,
+                                  String content) {
+        this( replacementOffset,
+              replacementLength,
+              display,
+              content,
+              content.length() );
+    }
+
+    /** Also allows an icon to be used */
+    public RuleCompletionProposal(int replacementOffset,
+                                  int replacementLength,
+                                  String display,
+                                  String content,
+                                  Image image) {
+        this( replacementOffset,
+              replacementLength,
+              display,
+              content,
+              content.length(),
+              image );
+    }
+
+    public RuleCompletionProposal(int replacementOffset,
+                                  int replacementLength,
+                                  String display,
+                                  String content,
+                                  int cursorPosition) {
+        this( replacementOffset,
+              replacementLength,
+              display,
+              content,
+              cursorPosition,
+              null );
+    }
+
+    /** This is used when a different display value is shown to what is put in when selected. */
+    public RuleCompletionProposal(int replacementOffset,
+                                  int replacementLength,
+                                  String display,
+                                  String content,
+                                  int cursorPosition,
+                                  Image image) {
+        this.replacementOffset = replacementOffset;
+        this.replacementLength = replacementLength;
+        this.content = content;
+        this.display = display;
+        this.cursorPosition = cursorPosition;
+        this.image = image;
+    }
+
+    public String getDisplay() {
+        return display;
+    }
+
+    public int getReplacementLength() {
+        return replacementLength;
+    }
+
+    public int getCursorPosition() {
+        return cursorPosition;
+    }
+
+    public Image getImage() {
+        return image;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setImage(Image image) {
+        this.image = image;
+    }
+
+    public int getPriority() {
+        return priority;
+    }
+
+    public void setPriority(int priority) {
+        this.priority = priority;
+    }
+
+    public String toString() {
+        return content;
+    }
+
+    //TODO:fixme now that we mix JDT and own proposals, comparison is all wrong, resulting in wrong ordering of mixed proposals (such as with mvel
+    public static class RuleCompletionProposalComparator
+        implements
+        Comparator {
+        public int compare(Object arg0,
+                           Object arg1) {
+            if ( arg0 instanceof RuleCompletionProposal ) {
+                if ( arg1 instanceof RuleCompletionProposal ) {
+                    RuleCompletionProposal prop0 = (RuleCompletionProposal) arg0;
+                    RuleCompletionProposal prop1 = (RuleCompletionProposal) arg1;
+                    if ( prop0.getPriority() == prop1.getPriority() ) {
+                        return prop0.display.compareTo( prop1.display );
+                    } else if ( prop0.getPriority() > prop1.getPriority() ) {
+                        return -1;
+                    } else {
+                        return 1;
+                    }
+                } else {
+                    return -1;
+                }
+            } else {
+                if ( arg1 instanceof RuleCompletionProposal ) {
+                    return 1;
+                }
+                return 0;
+            }
+        }
+    }
+
+    public void apply(IDocument document) {
+        try {
+            document.replace( replacementOffset,
+                              replacementLength,
+                              content );
+        } catch ( BadLocationException x ) {
+            // ignore
+        }
+    }
+
+    public String getAdditionalProposalInfo() {
+        return null;
+    }
+
+    public IContextInformation getContextInformation() {
+        return null;
+    }
+
+    public String getDisplayString() {
+        if ( display != null ) {
+            return display;
+        }
+        return content;
+    }
+
+    public int hashCode() {
+        final int PRIME = 31;
+        int result = 1;
+        result = PRIME * result + ((content == null) ? 0 : content.hashCode());
+        result = PRIME * result + ((display == null) ? 0 : display.hashCode());
+        return result;
+    }
+
+    public boolean equals(Object obj) {
+        if ( this == obj ) return true;
+        if ( obj == null ) return false;
+        if ( getClass() != obj.getClass() ) return false;
+        final RuleCompletionProposal other = (RuleCompletionProposal) obj;
+        if ( content == null ) {
+            if ( other.content != null ) return false;
+        } else if ( !content.equals( other.content ) ) return false;
+        if ( display == null ) {
+            if ( other.display != null ) return false;
+        } else if ( !display.equals( other.display ) ) return false;
+        return true;
+    }
+
+    public Point getSelection(IDocument document) {
+        return new Point( replacementOffset + cursorPosition,
+                          0 );
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,247 +0,0 @@
-package org.drools.eclipse.editors.outline;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.compiler.DroolsParserException;
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.core.DroolsElement;
-import org.drools.eclipse.core.DroolsModelBuilder;
-import org.drools.eclipse.core.Package;
-import org.drools.eclipse.core.RuleSet;
-import org.drools.eclipse.core.ui.DroolsContentProvider;
-import org.drools.eclipse.core.ui.DroolsLabelProvider;
-import org.drools.eclipse.core.ui.DroolsTreeSorter;
-import org.drools.eclipse.core.ui.FilterActionGroup;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-
-/**
- * Simple outline view of a DRL file. At present this is not wired in with the Parser, so it is fault
- * tolerant of incorrect syntax. 
- * Should provide navigation assistance in large rule files.
- * 
- * @author "Jeff Brown" <brown_j at ociweb.com>
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class RuleContentOutlinePage extends ContentOutlinePage {
-
-    private AbstractRuleEditor editor;
-    private RuleSet ruleSet = DroolsModelBuilder.createRuleSet();
-    private Map rules;
-
-    ///////////////////////////////////
-    // Patterns that the parser uses
-    ///////////////////////////////////
-    private static final Pattern RULE_PATTERN1 = Pattern.compile(
-			"\\n\\s*rule\\s+\"([^\"]+)\"", Pattern.DOTALL);
-
-    private static final Pattern RULE_PATTERN2 = Pattern.compile(
-			"\\n\\s*rule\\s+([^\\s;#\"]+)", Pattern.DOTALL);
-
-    private static final Pattern PACKAGE_PATTERN = Pattern.compile(
-			"\\s*package\\s+([^\\s;#]+);?", Pattern.DOTALL);
-
-	private static final Pattern FUNCTION_PATTERN = Pattern.compile(
-			"\\n\\s*function\\s+(\\S+)\\s+(\\S+)\\(.*\\)", Pattern.DOTALL);
-
-	private static final Pattern TEMPLATE_PATTERN = Pattern.compile(
-			"\\n\\s*template\\s+([^\\s;#\"]+)", Pattern.DOTALL);
-
-	private static final Pattern IMPORT_PATTERN = Pattern.compile(
-			"\\n\\s*import\\s+([^\\s;#]+);?", Pattern.DOTALL);
-
-	private static final Pattern EXPANDER_PATTERN = Pattern.compile(
-			"\\n\\s*expander\\s+([^\\s;#]+);?", Pattern.DOTALL);
-
-	private static final Pattern GLOBAL_PATTERN = Pattern.compile(
-			"\\n\\s*global\\s+(\\S+)\\s+([^\\s;#]+);?", Pattern.DOTALL);
-
-	private static final Pattern QUERY_PATTERN1 = Pattern.compile(
-			"\\n\\s*query\\s+\"([^\"]+)\"", Pattern.DOTALL);
-
-	private static final Pattern QUERY_PATTERN2 = Pattern.compile(
-			"\\n\\s*query\\s+([^\\s;#\"]+)", Pattern.DOTALL);
-
-    public RuleContentOutlinePage(AbstractRuleEditor editor) {
-        this.editor = editor;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        TreeViewer viewer = getTreeViewer();
-        viewer.setContentProvider(new DroolsContentProvider());
-        viewer.setLabelProvider(new DroolsLabelProvider());
-        viewer.setSorter(new DroolsTreeSorter());
-        viewer.setInput(ruleSet);
-        FilterActionGroup filterActionGroup = new FilterActionGroup(
-    		viewer, "org.drools.eclipse.editors.outline.RuleContentOutlinePage");
-		filterActionGroup.fillActionBars(getSite().getActionBars());
-        update();
-
-        // add the listener for navigation of the rule document.
-        super.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                Object selectionObj = event.getSelection();
-                if (selectionObj != null && selectionObj instanceof StructuredSelection) {
-                    StructuredSelection sel = (StructuredSelection) selectionObj;
-                    DroolsElement element = (DroolsElement) sel.getFirstElement();
-                    if (element != null) {
-                        editor.selectAndReveal(element.getOffset(),
-                                                element.getLength());
-                    }
-                }
-            }
-        });
-    }
-
-    /**
-     * Updates the outline page.
-     */
-    public void update() {
-        TreeViewer viewer = getTreeViewer();
-        if (viewer != null) {
-            Control control = viewer.getControl();
-            if (control != null && !control.isDisposed()) {
-            	initRules();
-            	populatePackageTreeNode();
-            	viewer.refresh();
-                control.setRedraw(false);
-                viewer.expandToLevel(2);
-                control.setRedraw(true);
-            }
-        }
-    }
-
-    /**
-     * populates the PackageTreeNode with all of its child elements
-     * 
-     * @param packageTreeNode the node to populate
-     */
-    public void populatePackageTreeNode() {
-    	String ruleFileContents = editor.getContent();
-    	populatePackageTreeNode(ruleFileContents);
-    }
-    
-    void populatePackageTreeNode(String ruleFileContents) {
-    	DroolsModelBuilder.clearRuleSet(ruleSet);
-    	Matcher matcher = PACKAGE_PATTERN.matcher(ruleFileContents);
-    	String packageName = null;
-    	int startChar = 0;
-    	int endChar = 0; 
-        if (matcher.find()) {
-            packageName = matcher.group(1);
-            startChar = matcher.start(1);
-            endChar = matcher.end(1);
-        }
-        Package pkg = DroolsModelBuilder.addPackage(ruleSet, packageName,
-    		startChar, endChar - startChar);
-
-        matcher = RULE_PATTERN1.matcher(ruleFileContents);
-        while (matcher.find()) {
-            String ruleName = matcher.group(1);
-            DroolsModelBuilder.addRule(pkg, ruleName, null,
-        		matcher.start(1), matcher.end(1) - matcher.start(1),
-        		extractAttributes((RuleDescr) rules.get(ruleName)));
-        }
-        matcher = RULE_PATTERN2.matcher(ruleFileContents);
-        while (matcher.find()) {
-            String ruleName = matcher.group(1);
-            DroolsModelBuilder.addRule(pkg, ruleName, null,
-        		matcher.start(1), matcher.end(1) - matcher.start(1),
-        		extractAttributes((RuleDescr) rules.get(ruleName)));
-         } 
-        matcher = FUNCTION_PATTERN.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String functionName = matcher.group(2);
-			DroolsModelBuilder.addFunction(pkg, functionName + "()", null,
-				matcher.start(2), matcher.end(2) - matcher.start(2));
-		}
-		matcher = EXPANDER_PATTERN.matcher(ruleFileContents);
-		if (matcher.find()) {
-			String expanderName = matcher.group(1);
-			DroolsModelBuilder.addExpander(pkg, expanderName, null,
-				matcher.start(1), matcher.end(1) - matcher.start(1));
-		}
-		matcher = IMPORT_PATTERN.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String importName = matcher.group(1);
-			DroolsModelBuilder.addImport(pkg, importName, null,
-				matcher.start(1), matcher.end(1) - matcher.start(1));
-		}
-		matcher = GLOBAL_PATTERN.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String globalType = matcher.group(1);
-			String globalName = matcher.group(2);
-			String name = globalName + " : " + globalType;
-			DroolsModelBuilder.addGlobal(pkg, name, null,
-				matcher.start(2), matcher.end(2) - matcher.start(2));
-		}
-		matcher = QUERY_PATTERN1.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String queryName = matcher.group(1);
-			DroolsModelBuilder.addQuery(pkg, queryName, null,
-					matcher.start(1), matcher.end(1) - matcher.start(1));
-		}
-		matcher = QUERY_PATTERN2.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String queryName = matcher.group(1);
-			DroolsModelBuilder.addQuery(pkg, queryName, null,
-				matcher.start(1), matcher.end(1) - matcher.start(1));
-		}
-		matcher = TEMPLATE_PATTERN.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String templateName = matcher.group(1);
-			DroolsModelBuilder.addTemplate(pkg, templateName, null,
-					matcher.start(1), matcher.end(1) - matcher.start(1));
-		}
-    }
-    
-    RuleSet getRuleSet() {
-    	return ruleSet;
-    }
-    
-    private Map extractAttributes(RuleDescr ruleDescr) {
-        Map attributes = null;
-        if (ruleDescr != null) {
-        	attributes = new HashMap();
-        	for (Iterator iterator = ruleDescr.getAttributes().iterator(); iterator.hasNext();) {
-        		AttributeDescr attribute = (AttributeDescr) iterator.next();
-        		if (attribute != null && attribute.getName() != null) {
-        			attributes.put(attribute.getName(), attribute.getValue());
-        		}
-        	}
-        }
-        return attributes;
-    }
-
-    public void initRules() {
-    	rules = new HashMap();
-    	try {
-    		DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(editor, true, false);
-    		if (drlInfo != null) {
-		    	PackageDescr packageDescr = drlInfo.getPackageDescr();
-	    		for (Iterator iterator = packageDescr.getRules().iterator(); iterator.hasNext(); ) {
-	    			RuleDescr ruleDescr = (RuleDescr) iterator.next();
-	    			rules.put(ruleDescr.getName(), ruleDescr);
-	    		}
-    		}
-    	} catch (DroolsParserException e) {
-    		DroolsEclipsePlugin.log(e);
-    	}
-    }
-    
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,247 @@
+package org.drools.eclipse.editors.outline;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.compiler.DroolsParserException;
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.core.DroolsElement;
+import org.drools.eclipse.core.DroolsModelBuilder;
+import org.drools.eclipse.core.Package;
+import org.drools.eclipse.core.RuleSet;
+import org.drools.eclipse.core.ui.DroolsContentProvider;
+import org.drools.eclipse.core.ui.DroolsLabelProvider;
+import org.drools.eclipse.core.ui.DroolsTreeSorter;
+import org.drools.eclipse.core.ui.FilterActionGroup;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.lang.descr.AttributeDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+
+/**
+ * Simple outline view of a DRL file. At present this is not wired in with the Parser, so it is fault
+ * tolerant of incorrect syntax. 
+ * Should provide navigation assistance in large rule files.
+ * 
+ * @author "Jeff Brown" <brown_j at ociweb.com>
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class RuleContentOutlinePage extends ContentOutlinePage {
+
+    private AbstractRuleEditor editor;
+    private RuleSet ruleSet = DroolsModelBuilder.createRuleSet();
+    private Map rules;
+
+    ///////////////////////////////////
+    // Patterns that the parser uses
+    ///////////////////////////////////
+    private static final Pattern RULE_PATTERN1 = Pattern.compile(
+			"\\n\\s*rule\\s+\"([^\"]+)\"", Pattern.DOTALL);
+
+    private static final Pattern RULE_PATTERN2 = Pattern.compile(
+			"\\n\\s*rule\\s+([^\\s;#\"]+)", Pattern.DOTALL);
+
+    private static final Pattern PACKAGE_PATTERN = Pattern.compile(
+			"\\s*package\\s+([^\\s;#]+);?", Pattern.DOTALL);
+
+	private static final Pattern FUNCTION_PATTERN = Pattern.compile(
+			"\\n\\s*function\\s+(\\S+)\\s+(\\S+)\\(.*\\)", Pattern.DOTALL);
+
+	private static final Pattern TEMPLATE_PATTERN = Pattern.compile(
+			"\\n\\s*template\\s+([^\\s;#\"]+)", Pattern.DOTALL);
+
+	private static final Pattern IMPORT_PATTERN = Pattern.compile(
+			"\\n\\s*import\\s+([^\\s;#]+);?", Pattern.DOTALL);
+
+	private static final Pattern EXPANDER_PATTERN = Pattern.compile(
+			"\\n\\s*expander\\s+([^\\s;#]+);?", Pattern.DOTALL);
+
+	private static final Pattern GLOBAL_PATTERN = Pattern.compile(
+			"\\n\\s*global\\s+(\\S+)\\s+([^\\s;#]+);?", Pattern.DOTALL);
+
+	private static final Pattern QUERY_PATTERN1 = Pattern.compile(
+			"\\n\\s*query\\s+\"([^\"]+)\"", Pattern.DOTALL);
+
+	private static final Pattern QUERY_PATTERN2 = Pattern.compile(
+			"\\n\\s*query\\s+([^\\s;#\"]+)", Pattern.DOTALL);
+
+    public RuleContentOutlinePage(AbstractRuleEditor editor) {
+        this.editor = editor;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        TreeViewer viewer = getTreeViewer();
+        viewer.setContentProvider(new DroolsContentProvider());
+        viewer.setLabelProvider(new DroolsLabelProvider());
+        viewer.setSorter(new DroolsTreeSorter());
+        viewer.setInput(ruleSet);
+        FilterActionGroup filterActionGroup = new FilterActionGroup(
+    		viewer, "org.drools.eclipse.editors.outline.RuleContentOutlinePage");
+		filterActionGroup.fillActionBars(getSite().getActionBars());
+        update();
+
+        // add the listener for navigation of the rule document.
+        super.addSelectionChangedListener(new ISelectionChangedListener() {
+            public void selectionChanged(SelectionChangedEvent event) {
+                Object selectionObj = event.getSelection();
+                if (selectionObj != null && selectionObj instanceof StructuredSelection) {
+                    StructuredSelection sel = (StructuredSelection) selectionObj;
+                    DroolsElement element = (DroolsElement) sel.getFirstElement();
+                    if (element != null) {
+                        editor.selectAndReveal(element.getOffset(),
+                                                element.getLength());
+                    }
+                }
+            }
+        });
+    }
+
+    /**
+     * Updates the outline page.
+     */
+    public void update() {
+        TreeViewer viewer = getTreeViewer();
+        if (viewer != null) {
+            Control control = viewer.getControl();
+            if (control != null && !control.isDisposed()) {
+            	initRules();
+            	populatePackageTreeNode();
+            	viewer.refresh();
+                control.setRedraw(false);
+                viewer.expandToLevel(2);
+                control.setRedraw(true);
+            }
+        }
+    }
+
+    /**
+     * populates the PackageTreeNode with all of its child elements
+     * 
+     * @param packageTreeNode the node to populate
+     */
+    public void populatePackageTreeNode() {
+    	String ruleFileContents = editor.getContent();
+    	populatePackageTreeNode(ruleFileContents);
+    }
+    
+    void populatePackageTreeNode(String ruleFileContents) {
+    	DroolsModelBuilder.clearRuleSet(ruleSet);
+    	Matcher matcher = PACKAGE_PATTERN.matcher(ruleFileContents);
+    	String packageName = null;
+    	int startChar = 0;
+    	int endChar = 0; 
+        if (matcher.find()) {
+            packageName = matcher.group(1);
+            startChar = matcher.start(1);
+            endChar = matcher.end(1);
+        }
+        Package pkg = DroolsModelBuilder.addPackage(ruleSet, packageName,
+    		startChar, endChar - startChar);
+
+        matcher = RULE_PATTERN1.matcher(ruleFileContents);
+        while (matcher.find()) {
+            String ruleName = matcher.group(1);
+            DroolsModelBuilder.addRule(pkg, ruleName, null,
+        		matcher.start(1), matcher.end(1) - matcher.start(1),
+        		extractAttributes((RuleDescr) rules.get(ruleName)));
+        }
+        matcher = RULE_PATTERN2.matcher(ruleFileContents);
+        while (matcher.find()) {
+            String ruleName = matcher.group(1);
+            DroolsModelBuilder.addRule(pkg, ruleName, null,
+        		matcher.start(1), matcher.end(1) - matcher.start(1),
+        		extractAttributes((RuleDescr) rules.get(ruleName)));
+         } 
+        matcher = FUNCTION_PATTERN.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String functionName = matcher.group(2);
+			DroolsModelBuilder.addFunction(pkg, functionName + "()", null,
+				matcher.start(2), matcher.end(2) - matcher.start(2));
+		}
+		matcher = EXPANDER_PATTERN.matcher(ruleFileContents);
+		if (matcher.find()) {
+			String expanderName = matcher.group(1);
+			DroolsModelBuilder.addExpander(pkg, expanderName, null,
+				matcher.start(1), matcher.end(1) - matcher.start(1));
+		}
+		matcher = IMPORT_PATTERN.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String importName = matcher.group(1);
+			DroolsModelBuilder.addImport(pkg, importName, null,
+				matcher.start(1), matcher.end(1) - matcher.start(1));
+		}
+		matcher = GLOBAL_PATTERN.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String globalType = matcher.group(1);
+			String globalName = matcher.group(2);
+			String name = globalName + " : " + globalType;
+			DroolsModelBuilder.addGlobal(pkg, name, null,
+				matcher.start(2), matcher.end(2) - matcher.start(2));
+		}
+		matcher = QUERY_PATTERN1.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String queryName = matcher.group(1);
+			DroolsModelBuilder.addQuery(pkg, queryName, null,
+					matcher.start(1), matcher.end(1) - matcher.start(1));
+		}
+		matcher = QUERY_PATTERN2.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String queryName = matcher.group(1);
+			DroolsModelBuilder.addQuery(pkg, queryName, null,
+				matcher.start(1), matcher.end(1) - matcher.start(1));
+		}
+		matcher = TEMPLATE_PATTERN.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String templateName = matcher.group(1);
+			DroolsModelBuilder.addTemplate(pkg, templateName, null,
+					matcher.start(1), matcher.end(1) - matcher.start(1));
+		}
+    }
+    
+    RuleSet getRuleSet() {
+    	return ruleSet;
+    }
+    
+    private Map extractAttributes(RuleDescr ruleDescr) {
+        Map attributes = null;
+        if (ruleDescr != null) {
+        	attributes = new HashMap();
+        	for (Iterator iterator = ruleDescr.getAttributes().iterator(); iterator.hasNext();) {
+        		AttributeDescr attribute = (AttributeDescr) iterator.next();
+        		if (attribute != null && attribute.getName() != null) {
+        			attributes.put(attribute.getName(), attribute.getValue());
+        		}
+        	}
+        }
+        return attributes;
+    }
+
+    public void initRules() {
+    	rules = new HashMap();
+    	try {
+    		DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(editor, true, false);
+    		if (drlInfo != null) {
+		    	PackageDescr packageDescr = drlInfo.getPackageDescr();
+	    		for (Iterator iterator = packageDescr.getRules().iterator(); iterator.hasNext(); ) {
+	    			RuleDescr ruleDescr = (RuleDescr) iterator.next();
+	    			rules.put(ruleDescr.getName(), ruleDescr);
+	    		}
+    		}
+    	} catch (DroolsParserException e) {
+    		DroolsEclipsePlugin.log(e);
+    	}
+    }
+    
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,305 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-/*
- * Copyright 2006 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.
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.eclipse.editors.rete.part.VertexEditPartFactory;
-import org.drools.reteoo.BaseVertex;
-import org.drools.reteoo.ReteooRuleBase;
-import org.drools.reteoo.ReteooVisitor;
-import org.drools.rule.Package;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.ConnectionLayer;
-import org.eclipse.draw2d.ConnectionRouter;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.ShortestPathConnectionRouter;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.LayerConstants;
-import org.eclipse.gef.MouseWheelHandler;
-import org.eclipse.gef.MouseWheelZoomHandler;
-import org.eclipse.gef.editparts.LayerManager;
-import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.ui.parts.GraphicalEditor;
-import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
-import org.eclipse.swt.SWT;
-
-/**
- * GEF-based RETE Viewer
- * 
- * @author Ahti Kitsik
- *
- */
-public class ReteViewer extends GraphicalEditor {
-
-    private static final String  MSG_PARSE_ERROR         = "Unable to parse rules to show RETE view!";
-
-    private static final int     SIMPLE_ROUTER_MIN_NODES = 100;
-
-    ScalableFreeformRootEditPart rootEditPart            = new ScalableFreeformRootEditPart();
-
-    private ReteGraph            diagram                 = new ReteGraph();
-
-    private boolean              relayoutRequired        = true;
-    
-    private DRLRuleEditor drlEditor;
-
-    /**
-     * Constructor.
-     * 
-     * @param documentProvider documentProvider must contain Document with rules.
-     */
-    public ReteViewer(DRLRuleEditor drlEditor) {
-        this.drlEditor = drlEditor;
-        setEditDomain( new DefaultEditDomain( this ) );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.ui.parts.GraphicalEditor#configureGraphicalViewer()
-     */
-    protected void configureGraphicalViewer() {
-        super.configureGraphicalViewer();
-        GraphicalViewer viewer = getGraphicalViewer();
-        viewer.getControl().setBackground( ColorConstants.white );
-        viewer.setEditPartFactory( new VertexEditPartFactory() );
-        viewer.setRootEditPart( rootEditPart );
-        viewer.setKeyHandler( new GraphicalViewerKeyHandler( viewer ) );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.ui.parts.GraphicalEditor#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class type) {
-
-        if ( type == ZoomManager.class ) return ((ScalableFreeformRootEditPart) getGraphicalViewer().getRootEditPart()).getZoomManager();
-        if ( type == GraphicalViewer.class ) return getGraphicalViewer();
-        if ( type == EditPart.class && getGraphicalViewer() != null ) return getGraphicalViewer().getRootEditPart();
-        if ( type == IFigure.class && getGraphicalViewer() != null ) return ((GraphicalEditPart) getGraphicalViewer().getRootEditPart()).getFigure();
-        return super.getAdapter( type );
-    }
-
-    private RuleBase getRuleBase(String contents) {
-        try {
-        	DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(drlEditor, true, true);
-        	if (drlInfo != null) {
-        		Package pkg = drlInfo.getPackage();
-        		ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO);
-        		ruleBase.addPackage(pkg);
-        		return ruleBase;
-        	}
-        } catch ( Throwable t ) {
-            DroolsEclipsePlugin.log( t );
-        }
-        return null;
-    }
-
-    /**
-     * Loads model from rule base,
-     * calculates rete view and initializes diagram model.
-     * @param monitor 
-     * @param contents 
-     * @return
-     */
-    public ReteGraph loadReteModel(IProgressMonitor monitor,
-                                   String contents) throws Throwable {
-        if ( relayoutRequired == false ) {
-            return diagram;
-        }
-
-        ReteGraph newDiagram = new ReteGraph();
-
-        try {
-
-            monitor.beginTask( "Loading RETE Tree",
-                               100 );
-
-            monitor.subTask( "Loading Rule Base" );
-            RuleBase ruleBase = getRuleBase( contents );
-            if ( ruleBase == null ) {
-                final Exception error = new Exception( MSG_PARSE_ERROR );
-                throw error;
-            }
-            monitor.worked( 50 );
-            if ( monitor.isCanceled() ) {
-                throw new InterruptedException();
-            }
-
-            monitor.subTask( "Building RETE Tree" );
-            final ReteooVisitor visitor = new ReteooVisitor( newDiagram );
-            visitor.visit( ruleBase );
-            monitor.worked( 30 );
-            if ( monitor.isCanceled() ) {
-                throw new InterruptedException();
-            }
-
-            monitor.subTask( "Calculating RETE Tree Layout" );
-            BaseVertex rootVertex = visitor.getRootVertex();
-            RowList rowList = ReteooLayoutFactory.calculateReteRows( rootVertex );
-            ReteooLayoutFactory.layoutRowList( newDiagram,
-                                               rowList );
-            zeroBaseDiagram( newDiagram );
-            monitor.worked( 20 );
-            if ( monitor.isCanceled() ) {
-                throw new InterruptedException();
-            }
-            monitor.done();
-
-        } catch ( Throwable t ) {
-            if ( !(t instanceof InterruptedException) ) {
-                DroolsEclipsePlugin.log( t );
-            }
-            throw t;
-        }
-        relayoutRequired = false;
-        return newDiagram;
-    }
-
-    private ReteGraph getModel() {
-        return diagram;
-    }
-
-    /**
-     * Loads Rete model and initializes zoom manager.
-     * 
-     */
-    protected void initializeGraphicalViewer() {
-        ZoomManager zoomManager = rootEditPart.getZoomManager();
-
-        //List<String>
-        List zoomLevels = new ArrayList( 3 );
-
-        zoomLevels.add( ZoomManager.FIT_ALL );
-        zoomLevels.add( ZoomManager.FIT_HEIGHT );
-        zoomLevels.add( ZoomManager.FIT_WIDTH );
-
-        zoomManager.setZoomLevelContributions( zoomLevels );
-
-        // Zoom mousewheel - Ctrl+Mousewheel for zoom in/out
-        getGraphicalViewer().setProperty( MouseWheelHandler.KeyGenerator.getKey( SWT.MOD1 ),
-                                          MouseWheelZoomHandler.SINGLETON );
-
-    }
-
-    /**
-     * Moves all <code>diagram</code> nodes to upper left corner
-     * and shifting to right if neccessary to get rid of negative XY coordinates.
-     * 
-     */
-    private void zeroBaseDiagram(ReteGraph graph) {
-
-        Dimension dim = rootEditPart.getContentPane().getSize();
-
-        int minx = 0, miny = 0, maxx = 0, x = dim.width;
-
-        final Iterator nodeIter = graph.getChildren().iterator();
-        while ( nodeIter.hasNext() ) {
-            Point loc = ((BaseVertex) (nodeIter.next())).getLocation();
-            minx = Math.min( loc.x,
-                             minx );
-            maxx = Math.max( loc.x,
-                             maxx );
-            miny = Math.min( loc.y,
-                             miny );
-        }
-
-        int delta = (x - (maxx - minx + 20)) / 2;
-        minx = minx - (delta);
-
-        final Iterator nodeIter2 = graph.getChildren().iterator();
-        while ( nodeIter2.hasNext() ) {
-            final BaseVertex vertex = (BaseVertex) (nodeIter2.next());
-            Point loc = vertex.getLocation();
-            vertex.setLocation( new Point( loc.x - minx,
-                                           loc.y - miny ) );
-        }
-    }
-
-    /**
-     * No save operation in ReteViewer
-     */
-    public void doSave(IProgressMonitor monitor) {
-
-    }
-
-    /**
-     * ReteViewer is never dirty.
-     * This prevents editor close mechanism to ask file save confirmation
-     * even after one of the vertices is moved.
-     */
-    public boolean isDirty() {
-        return false;
-    }
-
-    /**
-     * Fired when underlying source is modified.
-     * Marks graph viewer to be relayouted when activated.
-     */
-    public void fireDocumentChanged() {
-        relayoutRequired = true;
-    }
-
-    /**
-     * Draws graph.
-     * 
-     * @param newGraph used to replace existing graph. if null then existing graph is simply redrawn.
-     */
-    public void drawGraph(ReteGraph newGraph) {
-
-        LayerManager manager = (LayerManager) getGraphicalViewer().getEditPartRegistry().get( LayerManager.ID );
-        ConnectionLayer connLayer = (ConnectionLayer) manager.getLayer( LayerConstants.CONNECTION_LAYER );
-
-        // Lazy-init model initialization
-        if ( getGraphicalViewer().getContents() == null ) {
-            getGraphicalViewer().setContents( getModel() );
-        }
-
-        final boolean isNewDiagram = newGraph != null && newGraph != diagram;
-
-        if ( isNewDiagram ) {
-            diagram.removeAll();
-        }
-
-        // Update connection router according to new model size
-        ConnectionRouter router;
-        if ( (isNewDiagram && newGraph.getChildren().size() < SIMPLE_ROUTER_MIN_NODES) || (!isNewDiagram && getModel().getChildren().size() < SIMPLE_ROUTER_MIN_NODES) ) {
-            router = new ShortestPathConnectionRouter( (IFigure) rootEditPart.getContentPane().getChildren().get( 0 ) );
-        } else {
-            router = ConnectionRouter.NULL;
-        }
-        connLayer.setConnectionRouter( router );
-
-        if ( newGraph != null && newGraph != diagram ) {
-            diagram.addAll( newGraph.getChildren() );
-        }
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,305 @@
+package org.drools.eclipse.editors.rete;
+
+/*
+ * Copyright 2006 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.
+ */
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.eclipse.editors.rete.part.VertexEditPartFactory;
+import org.drools.reteoo.BaseVertex;
+import org.drools.reteoo.ReteooRuleBase;
+import org.drools.reteoo.ReteooVisitor;
+import org.drools.rule.Package;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.ConnectionLayer;
+import org.eclipse.draw2d.ConnectionRouter;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.ShortestPathConnectionRouter;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.DefaultEditDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.GraphicalViewer;
+import org.eclipse.gef.LayerConstants;
+import org.eclipse.gef.MouseWheelHandler;
+import org.eclipse.gef.MouseWheelZoomHandler;
+import org.eclipse.gef.editparts.LayerManager;
+import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.ui.parts.GraphicalEditor;
+import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
+import org.eclipse.swt.SWT;
+
+/**
+ * GEF-based RETE Viewer
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class ReteViewer extends GraphicalEditor {
+
+    private static final String  MSG_PARSE_ERROR         = "Unable to parse rules to show RETE view!";
+
+    private static final int     SIMPLE_ROUTER_MIN_NODES = 100;
+
+    ScalableFreeformRootEditPart rootEditPart            = new ScalableFreeformRootEditPart();
+
+    private ReteGraph            diagram                 = new ReteGraph();
+
+    private boolean              relayoutRequired        = true;
+    
+    private DRLRuleEditor drlEditor;
+
+    /**
+     * Constructor.
+     * 
+     * @param documentProvider documentProvider must contain Document with rules.
+     */
+    public ReteViewer(DRLRuleEditor drlEditor) {
+        this.drlEditor = drlEditor;
+        setEditDomain( new DefaultEditDomain( this ) );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.ui.parts.GraphicalEditor#configureGraphicalViewer()
+     */
+    protected void configureGraphicalViewer() {
+        super.configureGraphicalViewer();
+        GraphicalViewer viewer = getGraphicalViewer();
+        viewer.getControl().setBackground( ColorConstants.white );
+        viewer.setEditPartFactory( new VertexEditPartFactory() );
+        viewer.setRootEditPart( rootEditPart );
+        viewer.setKeyHandler( new GraphicalViewerKeyHandler( viewer ) );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.ui.parts.GraphicalEditor#getAdapter(java.lang.Class)
+     */
+    public Object getAdapter(Class type) {
+
+        if ( type == ZoomManager.class ) return ((ScalableFreeformRootEditPart) getGraphicalViewer().getRootEditPart()).getZoomManager();
+        if ( type == GraphicalViewer.class ) return getGraphicalViewer();
+        if ( type == EditPart.class && getGraphicalViewer() != null ) return getGraphicalViewer().getRootEditPart();
+        if ( type == IFigure.class && getGraphicalViewer() != null ) return ((GraphicalEditPart) getGraphicalViewer().getRootEditPart()).getFigure();
+        return super.getAdapter( type );
+    }
+
+    private RuleBase getRuleBase(String contents) {
+        try {
+        	DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(drlEditor, true, true);
+        	if (drlInfo != null) {
+        		Package pkg = drlInfo.getPackage();
+        		ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO);
+        		ruleBase.addPackage(pkg);
+        		return ruleBase;
+        	}
+        } catch ( Throwable t ) {
+            DroolsEclipsePlugin.log( t );
+        }
+        return null;
+    }
+
+    /**
+     * Loads model from rule base,
+     * calculates rete view and initializes diagram model.
+     * @param monitor 
+     * @param contents 
+     * @return
+     */
+    public ReteGraph loadReteModel(IProgressMonitor monitor,
+                                   String contents) throws Throwable {
+        if ( relayoutRequired == false ) {
+            return diagram;
+        }
+
+        ReteGraph newDiagram = new ReteGraph();
+
+        try {
+
+            monitor.beginTask( "Loading RETE Tree",
+                               100 );
+
+            monitor.subTask( "Loading Rule Base" );
+            RuleBase ruleBase = getRuleBase( contents );
+            if ( ruleBase == null ) {
+                final Exception error = new Exception( MSG_PARSE_ERROR );
+                throw error;
+            }
+            monitor.worked( 50 );
+            if ( monitor.isCanceled() ) {
+                throw new InterruptedException();
+            }
+
+            monitor.subTask( "Building RETE Tree" );
+            final ReteooVisitor visitor = new ReteooVisitor( newDiagram );
+            visitor.visit( ruleBase );
+            monitor.worked( 30 );
+            if ( monitor.isCanceled() ) {
+                throw new InterruptedException();
+            }
+
+            monitor.subTask( "Calculating RETE Tree Layout" );
+            BaseVertex rootVertex = visitor.getRootVertex();
+            RowList rowList = ReteooLayoutFactory.calculateReteRows( rootVertex );
+            ReteooLayoutFactory.layoutRowList( newDiagram,
+                                               rowList );
+            zeroBaseDiagram( newDiagram );
+            monitor.worked( 20 );
+            if ( monitor.isCanceled() ) {
+                throw new InterruptedException();
+            }
+            monitor.done();
+
+        } catch ( Throwable t ) {
+            if ( !(t instanceof InterruptedException) ) {
+                DroolsEclipsePlugin.log( t );
+            }
+            throw t;
+        }
+        relayoutRequired = false;
+        return newDiagram;
+    }
+
+    private ReteGraph getModel() {
+        return diagram;
+    }
+
+    /**
+     * Loads Rete model and initializes zoom manager.
+     * 
+     */
+    protected void initializeGraphicalViewer() {
+        ZoomManager zoomManager = rootEditPart.getZoomManager();
+
+        //List<String>
+        List zoomLevels = new ArrayList( 3 );
+
+        zoomLevels.add( ZoomManager.FIT_ALL );
+        zoomLevels.add( ZoomManager.FIT_HEIGHT );
+        zoomLevels.add( ZoomManager.FIT_WIDTH );
+
+        zoomManager.setZoomLevelContributions( zoomLevels );
+
+        // Zoom mousewheel - Ctrl+Mousewheel for zoom in/out
+        getGraphicalViewer().setProperty( MouseWheelHandler.KeyGenerator.getKey( SWT.MOD1 ),
+                                          MouseWheelZoomHandler.SINGLETON );
+
+    }
+
+    /**
+     * Moves all <code>diagram</code> nodes to upper left corner
+     * and shifting to right if neccessary to get rid of negative XY coordinates.
+     * 
+     */
+    private void zeroBaseDiagram(ReteGraph graph) {
+
+        Dimension dim = rootEditPart.getContentPane().getSize();
+
+        int minx = 0, miny = 0, maxx = 0, x = dim.width;
+
+        final Iterator nodeIter = graph.getChildren().iterator();
+        while ( nodeIter.hasNext() ) {
+            Point loc = ((BaseVertex) (nodeIter.next())).getLocation();
+            minx = Math.min( loc.x,
+                             minx );
+            maxx = Math.max( loc.x,
+                             maxx );
+            miny = Math.min( loc.y,
+                             miny );
+        }
+
+        int delta = (x - (maxx - minx + 20)) / 2;
+        minx = minx - (delta);
+
+        final Iterator nodeIter2 = graph.getChildren().iterator();
+        while ( nodeIter2.hasNext() ) {
+            final BaseVertex vertex = (BaseVertex) (nodeIter2.next());
+            Point loc = vertex.getLocation();
+            vertex.setLocation( new Point( loc.x - minx,
+                                           loc.y - miny ) );
+        }
+    }
+
+    /**
+     * No save operation in ReteViewer
+     */
+    public void doSave(IProgressMonitor monitor) {
+
+    }
+
+    /**
+     * ReteViewer is never dirty.
+     * This prevents editor close mechanism to ask file save confirmation
+     * even after one of the vertices is moved.
+     */
+    public boolean isDirty() {
+        return false;
+    }
+
+    /**
+     * Fired when underlying source is modified.
+     * Marks graph viewer to be relayouted when activated.
+     */
+    public void fireDocumentChanged() {
+        relayoutRequired = true;
+    }
+
+    /**
+     * Draws graph.
+     * 
+     * @param newGraph used to replace existing graph. if null then existing graph is simply redrawn.
+     */
+    public void drawGraph(ReteGraph newGraph) {
+
+        LayerManager manager = (LayerManager) getGraphicalViewer().getEditPartRegistry().get( LayerManager.ID );
+        ConnectionLayer connLayer = (ConnectionLayer) manager.getLayer( LayerConstants.CONNECTION_LAYER );
+
+        // Lazy-init model initialization
+        if ( getGraphicalViewer().getContents() == null ) {
+            getGraphicalViewer().setContents( getModel() );
+        }
+
+        final boolean isNewDiagram = newGraph != null && newGraph != diagram;
+
+        if ( isNewDiagram ) {
+            diagram.removeAll();
+        }
+
+        // Update connection router according to new model size
+        ConnectionRouter router;
+        if ( (isNewDiagram && newGraph.getChildren().size() < SIMPLE_ROUTER_MIN_NODES) || (!isNewDiagram && getModel().getChildren().size() < SIMPLE_ROUTER_MIN_NODES) ) {
+            router = new ShortestPathConnectionRouter( (IFigure) rootEditPart.getContentPane().getChildren().get( 0 ) );
+        } else {
+            router = ConnectionRouter.NULL;
+        }
+        connLayer.setConnectionRouter( router );
+
+        if ( newGraph != null && newGraph != diagram ) {
+            diagram.addAll( newGraph.getChildren() );
+        }
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,155 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.drools.eclipse.editors.rete.model.Connection;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.reteoo.BaseVertex;
-import org.eclipse.draw2d.geometry.Point;
-
-/**
- * Factory methods for calculating and layouting reteoo graph
- *
- */
-public class ReteooLayoutFactory {
-
-    /**
-     * Calculates layouting for provided graph.
-     * 
-     * @param root graph root vertex
-     * 
-     * @return Optimally layouted rows from provided graph
-     */
-    public static RowList calculateReteRows(BaseVertex root) {
-        RowList rowList;
-        rowList = new RowList();
-
-        rowList.add( 0,
-                     root );
-
-        int curRow = 0;
-
-        final Set seenVertices = new HashSet();
-        seenVertices.add( root );
-
-        while ( curRow < rowList.getDepth() ) {
-            final List rowVertices = rowList.get( curRow ).getVertices();
-
-            for ( final Iterator rowNodeIter = rowVertices.iterator(); rowNodeIter.hasNext(); ) {
-                final BaseVertex rowNode = (BaseVertex) rowNodeIter.next();
-
-                final List edges = rowNode.getSourceConnections();
-
-                for ( final Iterator edgeIter = edges.iterator(); edgeIter.hasNext(); ) {
-
-                    final Connection edge = (Connection) edgeIter.next();
-                    final BaseVertex destNode = edge.getOpposite( rowNode );
-
-                    if ( !seenVertices.contains( destNode ) ) {
-                        rowList.add( curRow + 1,
-                                     destNode );
-                        seenVertices.add( destNode );
-                    }
-                }
-
-                seenVertices.add( rowNode );
-            }
-
-            ++curRow;
-        }
-
-        rowList.optimize();
-
-        return rowList;
-    }
-
-    /**
-     * Adds all vertices from rowList to the graph.
-     * 
-     * @param graph
-     * @param rowList
-     */
-    public static void layoutRowList(ReteGraph graph,
-                                     RowList rowList) {
-        new LayoutCalculator( graph,
-                              rowList );
-    }
-
-    private static class LayoutCalculator {
-
-        public final static String COORDS                = "drools.LayoutCalculator.coords";
-
-        private static final int   COLUMN_SPACE          = 40;
-        private static final int   ROW_HEIGHT_MULTIPLIER = 6;
-
-        private RowList            rowList;
-
-        private int                columnWidth;
-        private int                rowHeight;
-
-        private ReteGraph          graph;
-
-        private LayoutCalculator(final ReteGraph graph,
-                                 final RowList rowList) {
-            this.graph = graph;
-            this.rowList = rowList;
-            computeSize();
-
-            List vertices = getGraph().getChildren();
-            Iterator iter = vertices.iterator();
-            while ( iter.hasNext() ) {
-                BaseVertex v = (BaseVertex) iter.next();
-                initialize_local_vertex( v );
-            }
-
-        }
-
-        private void computeSize() {
-            final List vertices = getGraph().getChildren();
-
-            for ( final Iterator vertexIter = vertices.iterator(); vertexIter.hasNext(); ) {
-                final BaseVertex vertex = (BaseVertex) vertexIter.next();
-
-                final int width = vertex.getSize().width;
-                final int height = vertex.getSize().height;
-
-                if ( width > this.columnWidth ) {
-                    this.columnWidth = width;
-                }
-
-                if ( height > this.rowHeight ) {
-                    this.rowHeight = height;
-                }
-            }
-
-            this.columnWidth = this.columnWidth + LayoutCalculator.COLUMN_SPACE;
-        }
-
-        private void initialize_local_vertex(final BaseVertex vertex) {
-            final int row = this.rowList.getRow( vertex );
-            final int col = this.rowList.getColumn( vertex );
-
-            final int rowWidth = this.rowList.getWidth( row );
-
-            final int columnWidthPx = columnWidth;
-            final int rowHeightPx = rowHeight;
-
-            double x = (col * columnWidthPx);
-            double y = (row * (rowHeightPx * LayoutCalculator.ROW_HEIGHT_MULTIPLIER));
-
-            x = x + (columnWidthPx / 2) - ((rowWidth - 1) * (columnWidthPx / 2));
-            y = y + (rowHeightPx / 2) + 3;
-
-            vertex.setLocation( new Point( x,
-                                           y ) );
-        }
-
-        private ReteGraph getGraph() {
-            return graph;
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,155 @@
+package org.drools.eclipse.editors.rete;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.drools.eclipse.editors.rete.model.Connection;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.reteoo.BaseVertex;
+import org.eclipse.draw2d.geometry.Point;
+
+/**
+ * Factory methods for calculating and layouting reteoo graph
+ *
+ */
+public class ReteooLayoutFactory {
+
+    /**
+     * Calculates layouting for provided graph.
+     * 
+     * @param root graph root vertex
+     * 
+     * @return Optimally layouted rows from provided graph
+     */
+    public static RowList calculateReteRows(BaseVertex root) {
+        RowList rowList;
+        rowList = new RowList();
+
+        rowList.add( 0,
+                     root );
+
+        int curRow = 0;
+
+        final Set seenVertices = new HashSet();
+        seenVertices.add( root );
+
+        while ( curRow < rowList.getDepth() ) {
+            final List rowVertices = rowList.get( curRow ).getVertices();
+
+            for ( final Iterator rowNodeIter = rowVertices.iterator(); rowNodeIter.hasNext(); ) {
+                final BaseVertex rowNode = (BaseVertex) rowNodeIter.next();
+
+                final List edges = rowNode.getSourceConnections();
+
+                for ( final Iterator edgeIter = edges.iterator(); edgeIter.hasNext(); ) {
+
+                    final Connection edge = (Connection) edgeIter.next();
+                    final BaseVertex destNode = edge.getOpposite( rowNode );
+
+                    if ( !seenVertices.contains( destNode ) ) {
+                        rowList.add( curRow + 1,
+                                     destNode );
+                        seenVertices.add( destNode );
+                    }
+                }
+
+                seenVertices.add( rowNode );
+            }
+
+            ++curRow;
+        }
+
+        rowList.optimize();
+
+        return rowList;
+    }
+
+    /**
+     * Adds all vertices from rowList to the graph.
+     * 
+     * @param graph
+     * @param rowList
+     */
+    public static void layoutRowList(ReteGraph graph,
+                                     RowList rowList) {
+        new LayoutCalculator( graph,
+                              rowList );
+    }
+
+    private static class LayoutCalculator {
+
+        public final static String COORDS                = "drools.LayoutCalculator.coords";
+
+        private static final int   COLUMN_SPACE          = 40;
+        private static final int   ROW_HEIGHT_MULTIPLIER = 6;
+
+        private RowList            rowList;
+
+        private int                columnWidth;
+        private int                rowHeight;
+
+        private ReteGraph          graph;
+
+        private LayoutCalculator(final ReteGraph graph,
+                                 final RowList rowList) {
+            this.graph = graph;
+            this.rowList = rowList;
+            computeSize();
+
+            List vertices = getGraph().getChildren();
+            Iterator iter = vertices.iterator();
+            while ( iter.hasNext() ) {
+                BaseVertex v = (BaseVertex) iter.next();
+                initialize_local_vertex( v );
+            }
+
+        }
+
+        private void computeSize() {
+            final List vertices = getGraph().getChildren();
+
+            for ( final Iterator vertexIter = vertices.iterator(); vertexIter.hasNext(); ) {
+                final BaseVertex vertex = (BaseVertex) vertexIter.next();
+
+                final int width = vertex.getSize().width;
+                final int height = vertex.getSize().height;
+
+                if ( width > this.columnWidth ) {
+                    this.columnWidth = width;
+                }
+
+                if ( height > this.rowHeight ) {
+                    this.rowHeight = height;
+                }
+            }
+
+            this.columnWidth = this.columnWidth + LayoutCalculator.COLUMN_SPACE;
+        }
+
+        private void initialize_local_vertex(final BaseVertex vertex) {
+            final int row = this.rowList.getRow( vertex );
+            final int col = this.rowList.getColumn( vertex );
+
+            final int rowWidth = this.rowList.getWidth( row );
+
+            final int columnWidthPx = columnWidth;
+            final int rowHeightPx = rowHeight;
+
+            double x = (col * columnWidthPx);
+            double y = (row * (rowHeightPx * LayoutCalculator.ROW_HEIGHT_MULTIPLIER));
+
+            x = x + (columnWidthPx / 2) - ((rowWidth - 1) * (columnWidthPx / 2));
+            y = y + (rowHeightPx / 2) + 3;
+
+            vertex.setLocation( new Point( x,
+                                           y ) );
+        }
+
+        private ReteGraph getGraph() {
+            return graph;
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,139 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-/*
- * Copyright 2006 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.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.drools.reteoo.BaseVertex;
-
-/**
- * Represents one row in rete graph
- *
- */
-public class Row {
-
-    private final int depth;
-
-    //List<BaseVertex>
-    private List      vertices;
-
-    /**
-     * Default constructor.
-     * 
-     * @param depth row depth 
-     */
-    public Row(final int depth) {
-        super();
-        this.vertices = new ArrayList();
-        this.depth = depth;
-    }
-
-    /**
-     * Returns row depth
-     * 
-     * @return row depth
-     */
-    public int getDepth() {
-        return this.depth;
-    }
-
-    /**
-     * Adds new vertex to this row.
-     * 
-     * @param vertex new vertex to be added 
-     */
-    public void add(final BaseVertex vertex) {
-        this.vertices.add( vertex );
-    }
-
-    /**
-     * Returns all vertices from this row.
-     * 
-     * @return list of vertices with type BaseVertex
-     */
-    public List getVertices() {
-        return this.vertices;
-    }
-
-    /**
-     * @param vertex
-     * @return <code>true</code> if vertex is found in row. <code>false</code> otherwise.
-     */
-    public boolean contains(final BaseVertex vertex) {
-        return this.vertices.contains( vertex );
-    }
-
-    /**
-     * @return number of vertices in row 
-     */
-    public int getWidth() {
-        return this.vertices.size();
-    }
-
-    /**
-     * Optimizing vertices for optimal presentation
-     * 
-     */
-    public void optimize() {
-        final List sorted = new ArrayList( this.vertices );
-
-        Collections.sort( sorted,
-                          new Comparator() {
-                              public int compare(final Object o1,
-                                                 final Object o2) {
-                                  final BaseVertex v1 = (BaseVertex) o1;
-                                  final BaseVertex v2 = (BaseVertex) o2;
-
-                                  int v1OutDegree = v1.getSourceConnections().size();
-                                  int v2OutDegree = v2.getSourceConnections().size();
-
-                                  if ( v1OutDegree < v2OutDegree ) {
-                                      return 1;
-                                  }
-
-                                  if ( v1OutDegree > v2OutDegree ) {
-                                      return -1;
-                                  }
-
-                                  return 0;
-                              }
-                          } );
-
-        final LinkedList optimized = new LinkedList();
-
-        boolean front = false;
-
-        for ( final Iterator vertexIter = sorted.iterator(); vertexIter.hasNext(); ) {
-            final BaseVertex vertex = (BaseVertex) vertexIter.next();
-
-            if ( front ) {
-                optimized.addFirst( vertex );
-            } else {
-                optimized.addLast( vertex );
-            }
-
-            front = !front;
-        }
-
-        this.vertices = optimized;
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,139 @@
+package org.drools.eclipse.editors.rete;
+
+/*
+ * Copyright 2006 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.drools.reteoo.BaseVertex;
+
+/**
+ * Represents one row in rete graph
+ *
+ */
+public class Row {
+
+    private final int depth;
+
+    //List<BaseVertex>
+    private List      vertices;
+
+    /**
+     * Default constructor.
+     * 
+     * @param depth row depth 
+     */
+    public Row(final int depth) {
+        super();
+        this.vertices = new ArrayList();
+        this.depth = depth;
+    }
+
+    /**
+     * Returns row depth
+     * 
+     * @return row depth
+     */
+    public int getDepth() {
+        return this.depth;
+    }
+
+    /**
+     * Adds new vertex to this row.
+     * 
+     * @param vertex new vertex to be added 
+     */
+    public void add(final BaseVertex vertex) {
+        this.vertices.add( vertex );
+    }
+
+    /**
+     * Returns all vertices from this row.
+     * 
+     * @return list of vertices with type BaseVertex
+     */
+    public List getVertices() {
+        return this.vertices;
+    }
+
+    /**
+     * @param vertex
+     * @return <code>true</code> if vertex is found in row. <code>false</code> otherwise.
+     */
+    public boolean contains(final BaseVertex vertex) {
+        return this.vertices.contains( vertex );
+    }
+
+    /**
+     * @return number of vertices in row 
+     */
+    public int getWidth() {
+        return this.vertices.size();
+    }
+
+    /**
+     * Optimizing vertices for optimal presentation
+     * 
+     */
+    public void optimize() {
+        final List sorted = new ArrayList( this.vertices );
+
+        Collections.sort( sorted,
+                          new Comparator() {
+                              public int compare(final Object o1,
+                                                 final Object o2) {
+                                  final BaseVertex v1 = (BaseVertex) o1;
+                                  final BaseVertex v2 = (BaseVertex) o2;
+
+                                  int v1OutDegree = v1.getSourceConnections().size();
+                                  int v2OutDegree = v2.getSourceConnections().size();
+
+                                  if ( v1OutDegree < v2OutDegree ) {
+                                      return 1;
+                                  }
+
+                                  if ( v1OutDegree > v2OutDegree ) {
+                                      return -1;
+                                  }
+
+                                  return 0;
+                              }
+                          } );
+
+        final LinkedList optimized = new LinkedList();
+
+        boolean front = false;
+
+        for ( final Iterator vertexIter = sorted.iterator(); vertexIter.hasNext(); ) {
+            final BaseVertex vertex = (BaseVertex) vertexIter.next();
+
+            if ( front ) {
+                optimized.addFirst( vertex );
+            } else {
+                optimized.addLast( vertex );
+            }
+
+            front = !front;
+        }
+
+        this.vertices = optimized;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,169 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-/*
- * Copyright 2006 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.
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.reteoo.BaseVertex;
-
-/**
- * Holder for Row elements.
- * 
- */
-public class RowList {
-
-    // List<Row>
-    private List rows;
-
-    /**
-     * Default constructor.
-     */
-    public RowList() {
-        super();
-        this.rows = new ArrayList();
-    }
-
-    /**
-     * Adds new vertex to specified depth
-     * 
-     * @param depth depth for vertex
-     * @param vertex vertex
-     */
-    public void add(final int depth,
-                    final BaseVertex vertex) {
-        if ( this.rows.size() < (depth + 1) ) {
-            final int addRows = depth - this.rows.size() + 1;
-
-            for ( int i = 0; i < addRows; ++i ) {
-                this.rows.add( new Row( (depth - addRows) + i ) );
-            }
-        }
-
-        ((Row) this.rows.get( depth )).add( vertex );
-    }
-
-    /**
-     * @return number of rows in RowList
-     */
-    public int getDepth() {
-        return this.rows.size();
-    }
-
-    /**
-     * @param row index of the row to be returned (0..n-1)
-     * @return specified row
-     */
-    public Row get(final int row) {
-        return (Row) this.rows.get( row );
-    }
-
-    /**
-     * Finds specified vertex from the rows.
-     * 
-     * @param vertex vertex
-     * 
-     * @return row number where vertex was found (0..n-1). <code>-1</code> if not found. 
-     */
-    public int getRow(final BaseVertex vertex) {
-        final int numRows = this.rows.size();
-
-        for ( int i = 0; i < numRows; ++i ) {
-            if ( ((Row) this.rows.get( i )).contains( vertex ) ) {
-                return i;
-            }
-        }
-
-        return -1;
-    }
-
-    /**
-     * Finds the longest row width.
-     * 
-     * @return width of the longest row
-     */
-    public int getWidth() {
-        int width = 0;
-
-        for ( final Iterator rowIter = this.rows.iterator(); rowIter.hasNext(); ) {
-            final Row row = (Row) rowIter.next();
-            final int rowWidth = row.getWidth();
-
-            if ( rowWidth > width ) {
-                width = rowWidth;
-            }
-        }
-
-        return width;
-    }
-
-    /**
-     * Width of the row at specified index.
-     * 
-     * @param row
-     * @return width
-     */
-    public int getWidth(final int row) {
-        return ((Row) this.rows.get( row )).getWidth();
-    }
-
-    /**
-     * @param vertex vertex to search
-     * @return column where vertex was found
-     */
-    public int getColumn(final BaseVertex vertex) {
-        final int row = getRow( vertex );
-
-        if ( row < 0 ) {
-            return -1;
-        }
-
-        final List rowVertices = get( row ).getVertices();
-
-        final int numCols = rowVertices.size();
-
-        for ( int i = 0; i < numCols; ++i ) {
-            if ( rowVertices.get( i ).equals( vertex ) ) {
-                return i;
-            }
-        }
-
-        return -1;
-    }
-
-    /**
-     * Dumps all row vertices to System.err
-     */
-    public void dump() {
-        final int numRows = this.rows.size();
-
-        for ( int i = 0; i < numRows; ++i ) {
-            System.err.println( i + ": " + get( i ).getVertices() );
-        }
-    }
-
-    /**
-     * Optimizes all rows for optimal presentation
-     */
-    public void optimize() {
-        final int numRows = this.rows.size();
-
-        for ( int i = 0; i < numRows; ++i ) {
-            get( i ).optimize();
-        }
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,169 @@
+package org.drools.eclipse.editors.rete;
+
+/*
+ * Copyright 2006 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.
+ */
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.reteoo.BaseVertex;
+
+/**
+ * Holder for Row elements.
+ * 
+ */
+public class RowList {
+
+    // List<Row>
+    private List rows;
+
+    /**
+     * Default constructor.
+     */
+    public RowList() {
+        super();
+        this.rows = new ArrayList();
+    }
+
+    /**
+     * Adds new vertex to specified depth
+     * 
+     * @param depth depth for vertex
+     * @param vertex vertex
+     */
+    public void add(final int depth,
+                    final BaseVertex vertex) {
+        if ( this.rows.size() < (depth + 1) ) {
+            final int addRows = depth - this.rows.size() + 1;
+
+            for ( int i = 0; i < addRows; ++i ) {
+                this.rows.add( new Row( (depth - addRows) + i ) );
+            }
+        }
+
+        ((Row) this.rows.get( depth )).add( vertex );
+    }
+
+    /**
+     * @return number of rows in RowList
+     */
+    public int getDepth() {
+        return this.rows.size();
+    }
+
+    /**
+     * @param row index of the row to be returned (0..n-1)
+     * @return specified row
+     */
+    public Row get(final int row) {
+        return (Row) this.rows.get( row );
+    }
+
+    /**
+     * Finds specified vertex from the rows.
+     * 
+     * @param vertex vertex
+     * 
+     * @return row number where vertex was found (0..n-1). <code>-1</code> if not found. 
+     */
+    public int getRow(final BaseVertex vertex) {
+        final int numRows = this.rows.size();
+
+        for ( int i = 0; i < numRows; ++i ) {
+            if ( ((Row) this.rows.get( i )).contains( vertex ) ) {
+                return i;
+            }
+        }
+
+        return -1;
+    }
+
+    /**
+     * Finds the longest row width.
+     * 
+     * @return width of the longest row
+     */
+    public int getWidth() {
+        int width = 0;
+
+        for ( final Iterator rowIter = this.rows.iterator(); rowIter.hasNext(); ) {
+            final Row row = (Row) rowIter.next();
+            final int rowWidth = row.getWidth();
+
+            if ( rowWidth > width ) {
+                width = rowWidth;
+            }
+        }
+
+        return width;
+    }
+
+    /**
+     * Width of the row at specified index.
+     * 
+     * @param row
+     * @return width
+     */
+    public int getWidth(final int row) {
+        return ((Row) this.rows.get( row )).getWidth();
+    }
+
+    /**
+     * @param vertex vertex to search
+     * @return column where vertex was found
+     */
+    public int getColumn(final BaseVertex vertex) {
+        final int row = getRow( vertex );
+
+        if ( row < 0 ) {
+            return -1;
+        }
+
+        final List rowVertices = get( row ).getVertices();
+
+        final int numCols = rowVertices.size();
+
+        for ( int i = 0; i < numCols; ++i ) {
+            if ( rowVertices.get( i ).equals( vertex ) ) {
+                return i;
+            }
+        }
+
+        return -1;
+    }
+
+    /**
+     * Dumps all row vertices to System.err
+     */
+    public void dump() {
+        final int numRows = this.rows.size();
+
+        for ( int i = 0; i < numRows; ++i ) {
+            System.err.println( i + ": " + get( i ).getVertices() );
+        }
+    }
+
+    /**
+     * Optimizes all rows for optimal presentation
+     */
+    public void optimize() {
+        final int numRows = this.rows.size();
+
+        for ( int i = 0; i < numRows; ++i ) {
+            get( i ).optimize();
+        }
+    }
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,79 +0,0 @@
-package org.drools.eclipse.editors.rete.commands;
-
-import org.drools.reteoo.BaseVertex;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-
-/**
- * A command to move a vertex.
- * 
- */
-public class NodeSetConstraintCommand extends Command {
-
-    /** Stores the new size and location. */
-    private final Rectangle           newBounds;
-
-    /** Stores the old size and location. */
-    private Rectangle                 oldBounds;
-
-    /** A request to move/resize an edit part. */
-    private final ChangeBoundsRequest request;
-
-    /** BaseVertex to manipulate. */
-    private final BaseVertex          vertex;
-
-    /**
-     * Create a command that can resize and/or move a vertex.
-     *  
-     * @param vertex the vertex to manipulate
-     * @param req       the move request
-     * @param newBounds the new location. size is ignored
-     * @throws IllegalArgumentException if any of the parameters is null
-     */
-    public NodeSetConstraintCommand(BaseVertex vertex,
-                                    ChangeBoundsRequest req,
-                                    Rectangle newBounds) {
-        if ( vertex == null || req == null || newBounds == null ) {
-            throw new IllegalArgumentException();
-        }
-        this.vertex = vertex;
-        this.request = req;
-        this.newBounds = newBounds.getCopy();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.commands.Command#canExecute()
-     */
-    public boolean canExecute() {
-        Object type = request.getType();
-        return (RequestConstants.REQ_MOVE.equals( type ) || RequestConstants.REQ_MOVE_CHILDREN.equals( type ));
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.commands.Command#execute()
-     */
-    public void execute() {
-        oldBounds = new Rectangle( vertex.getLocation(),
-                                   vertex.getSize() );
-        redo();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.commands.Command#redo()
-     */
-    public void redo() {
-        vertex.setSize( newBounds.getSize() );
-        vertex.setLocation( newBounds.getLocation() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.commands.Command#undo()
-     */
-    public void undo() {
-        vertex.setSize( oldBounds.getSize() );
-        vertex.setLocation( oldBounds.getLocation() );
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,79 @@
+package org.drools.eclipse.editors.rete.commands;
+
+import org.drools.reteoo.BaseVertex;
+import org.eclipse.draw2d.geometry.Rectangle;
+
+import org.eclipse.gef.RequestConstants;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.requests.ChangeBoundsRequest;
+
+/**
+ * A command to move a vertex.
+ * 
+ */
+public class NodeSetConstraintCommand extends Command {
+
+    /** Stores the new size and location. */
+    private final Rectangle           newBounds;
+
+    /** Stores the old size and location. */
+    private Rectangle                 oldBounds;
+
+    /** A request to move/resize an edit part. */
+    private final ChangeBoundsRequest request;
+
+    /** BaseVertex to manipulate. */
+    private final BaseVertex          vertex;
+
+    /**
+     * Create a command that can resize and/or move a vertex.
+     *  
+     * @param vertex the vertex to manipulate
+     * @param req       the move request
+     * @param newBounds the new location. size is ignored
+     * @throws IllegalArgumentException if any of the parameters is null
+     */
+    public NodeSetConstraintCommand(BaseVertex vertex,
+                                    ChangeBoundsRequest req,
+                                    Rectangle newBounds) {
+        if ( vertex == null || req == null || newBounds == null ) {
+            throw new IllegalArgumentException();
+        }
+        this.vertex = vertex;
+        this.request = req;
+        this.newBounds = newBounds.getCopy();
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.commands.Command#canExecute()
+     */
+    public boolean canExecute() {
+        Object type = request.getType();
+        return (RequestConstants.REQ_MOVE.equals( type ) || RequestConstants.REQ_MOVE_CHILDREN.equals( type ));
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.commands.Command#execute()
+     */
+    public void execute() {
+        oldBounds = new Rectangle( vertex.getLocation(),
+                                   vertex.getSize() );
+        redo();
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.commands.Command#redo()
+     */
+    public void redo() {
+        vertex.setSize( newBounds.getSize() );
+        vertex.setLocation( newBounds.getLocation() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.commands.Command#undo()
+     */
+    public void undo() {
+        vertex.setSize( oldBounds.getSize() );
+        vertex.setLocation( oldBounds.getLocation() );
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,20 +0,0 @@
-package org.drools.eclipse.editors.rete.figure;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.swt.SWT;
-
-/**
- * ConnectionFigure between two Vertices. 
- *
- */
-public class ConnectionFigure extends PolylineConnection {
-
-    /**
-     * Painting antialiased connector
-     */
-    public void paint(Graphics g) {
-        g.setAntialias( SWT.ON );
-        super.paint( g );
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,20 @@
+package org.drools.eclipse.editors.rete.figure;
+
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.swt.SWT;
+
+/**
+ * ConnectionFigure between two Vertices. 
+ *
+ */
+public class ConnectionFigure extends PolylineConnection {
+
+    /**
+     * Painting antialiased connector
+     */
+    public void paint(Graphics g) {
+        g.setAntialias( SWT.ON );
+        super.paint( g );
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,54 +0,0 @@
-package org.drools.eclipse.editors.rete.figure;
-
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Figure representing BaseVertex
- *
- */
-public class VertexFigure extends Figure {
-
-    final private Color backgroundColor;
-    final private Color borderColor;
-
-    /**
-     * Initializing Figure
-     * 
-     * @param backgroundColor background color
-     * @param borderColor border color
-     */
-    public VertexFigure(Color backgroundColor,
-                        Color borderColor) {
-        this.backgroundColor = backgroundColor;
-        this.borderColor = borderColor;
-    }
-
-    /**
-     * Painting antialiased vertex
-     */
-    public void paint(Graphics g) {
-        g.setAntialias( SWT.ON );
-        Rectangle r = getBounds().getCopy();
-        g.translate( r.getLocation() );
-        g.setBackgroundColor( backgroundColor );
-        g.setForegroundColor( borderColor );
-        g.fillArc( 0,
-                   0,
-                   15,
-                   15,
-                   0,
-                   360 );
-        g.drawArc( 0,
-                   0,
-                   14,
-                   14,
-                   0,
-                   360 );
-        super.paint( g );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,54 @@
+package org.drools.eclipse.editors.rete.figure;
+
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Figure representing BaseVertex
+ *
+ */
+public class VertexFigure extends Figure {
+
+    final private Color backgroundColor;
+    final private Color borderColor;
+
+    /**
+     * Initializing Figure
+     * 
+     * @param backgroundColor background color
+     * @param borderColor border color
+     */
+    public VertexFigure(Color backgroundColor,
+                        Color borderColor) {
+        this.backgroundColor = backgroundColor;
+        this.borderColor = borderColor;
+    }
+
+    /**
+     * Painting antialiased vertex
+     */
+    public void paint(Graphics g) {
+        g.setAntialias( SWT.ON );
+        Rectangle r = getBounds().getCopy();
+        g.translate( r.getLocation() );
+        g.setBackgroundColor( backgroundColor );
+        g.setForegroundColor( borderColor );
+        g.fillArc( 0,
+                   0,
+                   15,
+                   15,
+                   0,
+                   360 );
+        g.drawArc( 0,
+                   0,
+                   14,
+                   14,
+                   0,
+                   360 );
+        super.paint( g );
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,80 +0,0 @@
-package org.drools.eclipse.editors.rete.model;
-
-import org.drools.reteoo.BaseVertex;
-
-/**
- * A connection between two distinct vertices.
- */
-public class Connection extends ModelElement {
-
-    private boolean    isConnected;
-
-    private BaseVertex source;
-
-    private BaseVertex target;
-
-    /** 
-     * Creating a connection between two distinct vertices.
-     * 
-     * @param source a source endpoint
-     * @param target a target endpoint
-     * @throws IllegalArgumentException if any of the parameters are null or source == target
-     */
-    public Connection(BaseVertex source,
-                      BaseVertex target) {
-        this.source = source;
-        this.target = target;
-        source.addConnection( this );
-        target.addConnection( this );
-        isConnected = true;
-    }
-
-    /** 
-     * Disconnect this connection from the vertices it is attached to.
-     */
-    public void disconnect() {
-        if ( isConnected ) {
-            source.removeConnection( this );
-            target.removeConnection( this );
-            isConnected = false;
-        }
-    }
-
-    /**
-     * Returns the source endpoint of this connection.
-     * 
-     * @return BaseVertex vertex
-     */
-    public BaseVertex getSource() {
-        return source;
-    }
-
-    /**
-     * Returns the target endpoint of this connection.
-     * 
-     * @return BaseVertex vertex
-     */
-    public BaseVertex getTarget() {
-        return target;
-    }
-
-    /**
-     * Gets opposite of specified vertex.
-     * 
-     * Returning <code>null</code> if specified not does not belong into this connection.
-     * 
-     * @param vertex
-     * @return opposite of vertex
-     */
-    public BaseVertex getOpposite(BaseVertex vertex) {
-        // If null or not part of this connection
-        if ( vertex == null || (!vertex.equals( getSource() ) && !vertex.equals( getTarget() )) ) {
-            return null;
-        }
-        if ( vertex.equals( getSource() ) ) {
-            return getTarget();
-        }
-        return getSource();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,80 @@
+package org.drools.eclipse.editors.rete.model;
+
+import org.drools.reteoo.BaseVertex;
+
+/**
+ * A connection between two distinct vertices.
+ */
+public class Connection extends ModelElement {
+
+    private boolean    isConnected;
+
+    private BaseVertex source;
+
+    private BaseVertex target;
+
+    /** 
+     * Creating a connection between two distinct vertices.
+     * 
+     * @param source a source endpoint
+     * @param target a target endpoint
+     * @throws IllegalArgumentException if any of the parameters are null or source == target
+     */
+    public Connection(BaseVertex source,
+                      BaseVertex target) {
+        this.source = source;
+        this.target = target;
+        source.addConnection( this );
+        target.addConnection( this );
+        isConnected = true;
+    }
+
+    /** 
+     * Disconnect this connection from the vertices it is attached to.
+     */
+    public void disconnect() {
+        if ( isConnected ) {
+            source.removeConnection( this );
+            target.removeConnection( this );
+            isConnected = false;
+        }
+    }
+
+    /**
+     * Returns the source endpoint of this connection.
+     * 
+     * @return BaseVertex vertex
+     */
+    public BaseVertex getSource() {
+        return source;
+    }
+
+    /**
+     * Returns the target endpoint of this connection.
+     * 
+     * @return BaseVertex vertex
+     */
+    public BaseVertex getTarget() {
+        return target;
+    }
+
+    /**
+     * Gets opposite of specified vertex.
+     * 
+     * Returning <code>null</code> if specified not does not belong into this connection.
+     * 
+     * @param vertex
+     * @return opposite of vertex
+     */
+    public BaseVertex getOpposite(BaseVertex vertex) {
+        // If null or not part of this connection
+        if ( vertex == null || (!vertex.equals( getSource() ) && !vertex.equals( getTarget() )) ) {
+            return null;
+        }
+        if ( vertex.equals( getSource() ) ) {
+            return getTarget();
+        }
+        return getSource();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,287 +0,0 @@
-package org.drools.eclipse.editors.rete.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.spi.Constraint;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Visual vertex representation for ReteGraph.
- * 
- * Base impl for all rete vertices.
- * 
- * Can be connected with another BaseVertex with a Connector.
- * 
- * @author Ahti Kitsik
- * 
- */
-abstract public class GraphicalVertex extends ModelElement {
-
-    private static final String          VERTEX_NAME             = "BaseVertex ";
-
-    private static final String          WIDTH                   = "Width";
-
-    private static final String          HEIGHT                  = "Height";
-
-    private static IPropertyDescriptor[] descriptors;
-
-    /** ID for the Height property value (used for by the corresponding property descriptor). */
-    private static final String          HEIGHT_PROP             = VERTEX_NAME + "." + HEIGHT;
-
-    /** ID for the Width property value (used for by the corresponding property descriptor). */
-    private static final String          WIDTH_PROP              = VERTEX_NAME + "." + WIDTH;
-
-    /** Property ID to use when the location of this shape is modified. */
-    public static final String           LOCATION_PROP           = VERTEX_NAME + ".Location";
-
-    /** Property ID to use then the size of this shape is modified. */
-    public static final String           SIZE_PROP               = VERTEX_NAME + ".Size";
-
-    /** Property ID to use when the list of outgoing connections is modified. */
-    public static final String           SOURCE_CONNECTIONS_PROP = VERTEX_NAME + ".SourceConn";
-
-    /** Property ID to use when the list of incoming connections is modified. */
-    public static final String           TARGET_CONNECTIONS_PROP = VERTEX_NAME + ".TargetConn";
-
-    /** ID for the X property value (used for by the corresponding property descriptor).  */
-    private static final String          XPOS_PROP               = VERTEX_NAME + ".xPos";
-
-    /** ID for the Y property value (used for by the corresponding property descriptor).  */
-    private static final String          YPOS_PROP               = VERTEX_NAME + ".yPos";
-
-    /*
-     * Initializes the property descriptors array.
-     * @see #getPropertyDescriptors()
-     * @see #getPropertyValue(Object)
-     * @see #setPropertyValue(Object, Object)
-     */
-    static {
-        descriptors = new IPropertyDescriptor[]{new TextPropertyDescriptor( XPOS_PROP,
-                                                                            "X" ), // id and description pair
-            new TextPropertyDescriptor( YPOS_PROP,
-                                        "Y" ), new TextPropertyDescriptor( WIDTH_PROP,
-                                                                           WIDTH ), new TextPropertyDescriptor( HEIGHT_PROP,
-                                                                                                                HEIGHT ),};
-    } // static
-
-    /** Location of this vertex. */
-    private Point                        location                = new Point( 0,
-                                                                              0 );
-    /** Size of this vertex. */
-    private final static Dimension       size                    = new Dimension( 16,
-                                                                                  16 );
-    /** List of outgoing Connections. */
-    private List                         sourceConnections       = new ArrayList();
-    /** List of incoming Connections. */
-    private List                         targetConnections       = new ArrayList();
-
-    /**
-     * HTML formatted representation of this node
-     * 
-     * @return #getHtml
-     */
-    abstract public String getHtml();
-
-    /**
-     * Color used for filling vertex figure
-     * 
-     * @return color
-     */
-    abstract public Color getFillColor();
-
-    /**
-     * Add an incoming or outgoing connection to this vertex.
-     * @param conn a non-null connection instance
-     * @throws IllegalArgumentException if the connection is null or has not distinct endpoints
-     */
-    public void addConnection(Connection conn) {
-        if ( conn == null || conn.getSource() == conn.getTarget() ) {
-            throw new IllegalArgumentException();
-        }
-        if ( conn.getSource() == this ) {
-            sourceConnections.add( conn );
-            firePropertyChange( SOURCE_CONNECTIONS_PROP,
-                                null,
-                                conn );
-        } else if ( conn.getTarget() == this ) {
-            targetConnections.add( conn );
-            firePropertyChange( TARGET_CONNECTIONS_PROP,
-                                null,
-                                conn );
-        }
-    }
-
-    /**
-     * Return the Location of this vertex.
-     * 
-     * @return a non-null copy of location instance
-     */
-    public Point getLocation() {
-        return location.getCopy();
-    }
-
-    /**
-     * Returns an array of IPropertyDescriptors for this vertex.
-     * 
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    /**
-     * Return the property value for the given propertyId, or null.
-     */
-    public Object getPropertyValue(Object propertyId) {
-        if ( XPOS_PROP.equals( propertyId ) ) {
-            return Integer.toString( location.x );
-        }
-        if ( YPOS_PROP.equals( propertyId ) ) {
-            return Integer.toString( location.y );
-        }
-        if ( HEIGHT_PROP.equals( propertyId ) ) {
-            return Integer.toString( size.height );
-        }
-        if ( WIDTH_PROP.equals( propertyId ) ) {
-            return Integer.toString( size.width );
-        }
-        return null;
-    }
-
-    /**
-     * Return the Size of this vertex.
-     * @return a non-null copy of Dimension instance
-     */
-    public Dimension getSize() {
-        return size.getCopy();
-    }
-
-    /**
-     * Return a List of outgoing Connections.
-     */
-    public List getSourceConnections() {
-        return new ArrayList( sourceConnections );
-    }
-
-    /**
-     * Return a List of incoming Connections.
-     */
-    public List getTargetConnections() {
-        return new ArrayList( targetConnections );
-    }
-
-    /**
-     * Remove an incoming or outgoing connection from this vertex.
-     * 
-     * @param conn a non-null connection instance
-     * @throws IllegalArgumentException if the parameter is null
-     */
-    public void removeConnection(Connection conn) {
-        if ( conn == null ) {
-            throw new IllegalArgumentException();
-        }
-        if ( conn.getSource() == this ) {
-            sourceConnections.remove( conn );
-            firePropertyChange( SOURCE_CONNECTIONS_PROP,
-                                null,
-                                conn );
-        } else if ( conn.getTarget() == this ) {
-            targetConnections.remove( conn );
-            firePropertyChange( TARGET_CONNECTIONS_PROP,
-                                null,
-                                conn );
-        }
-    }
-
-    /**
-     * Set the Location of this vertex.
-     * @param newLocation a non-null Point instance
-     * @throws IllegalArgumentException if the parameter is null
-     */
-    public void setLocation(Point newLocation) {
-        if ( newLocation == null ) {
-            throw new IllegalArgumentException();
-        }
-        location.setLocation( newLocation );
-        firePropertyChange( LOCATION_PROP,
-                            null,
-                            location );
-    }
-
-    /**
-     * Set the property value for the given property id.
-     */
-    public void setPropertyValue(Object propertyId,
-                                 Object value) {
-        if ( XPOS_PROP.equals( propertyId ) ) {
-            int x = Integer.parseInt( (String) value );
-            setLocation( new Point( x,
-                                    location.y ) );
-        } else if ( YPOS_PROP.equals( propertyId ) ) {
-            int y = Integer.parseInt( (String) value );
-            setLocation( new Point( location.x,
-                                    y ) );
-        } else if ( HEIGHT_PROP.equals( propertyId ) ) {
-            int height = Integer.parseInt( (String) value );
-            setSize( new Dimension( size.width,
-                                    height ) );
-        } else if ( WIDTH_PROP.equals( propertyId ) ) {
-            int width = Integer.parseInt( (String) value );
-            setSize( new Dimension( width,
-                                    size.height ) );
-        }
-    }
-
-    /**
-     * Set the Size of this vertex.
-     * Will not update the size if newSize is null.
-     * @param newSize a non-null Dimension instance or null
-     */
-    public void setSize(Dimension newSize) {
-        if ( newSize != null ) {
-            size.setSize( newSize );
-            firePropertyChange( SIZE_PROP,
-                                null,
-                                size );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see java.lang.Object#toString()
-     */
-    public String toString() {
-        return VERTEX_NAME + hashCode();
-    }
-
-    /**
-     * Color used for borders
-     * 
-     * @return draw color
-     */
-    public Color getDrawColor() {
-        return ColorConstants.black;
-    }
-
-    /**
-     * Constructs constraints string
-     * 
-     * @param constraints array of constraints 
-     * @return html-formatted constraints representation
-     */
-    public static String dumpConstraints(final Constraint[] constraints) {
-        if ( constraints == null ) {
-            return null;
-        }
-        final StringBuffer buffer = new StringBuffer();
-        for ( int i = 0, length = constraints.length; i < length; i++ ) {
-            buffer.append( constraints[i].toString() + "<br>" );
-        }
-        return buffer.toString();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,287 @@
+package org.drools.eclipse.editors.rete.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.spi.Constraint;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * Visual vertex representation for ReteGraph.
+ * 
+ * Base impl for all rete vertices.
+ * 
+ * Can be connected with another BaseVertex with a Connector.
+ * 
+ * @author Ahti Kitsik
+ * 
+ */
+abstract public class GraphicalVertex extends ModelElement {
+
+    private static final String          VERTEX_NAME             = "BaseVertex ";
+
+    private static final String          WIDTH                   = "Width";
+
+    private static final String          HEIGHT                  = "Height";
+
+    private static IPropertyDescriptor[] descriptors;
+
+    /** ID for the Height property value (used for by the corresponding property descriptor). */
+    private static final String          HEIGHT_PROP             = VERTEX_NAME + "." + HEIGHT;
+
+    /** ID for the Width property value (used for by the corresponding property descriptor). */
+    private static final String          WIDTH_PROP              = VERTEX_NAME + "." + WIDTH;
+
+    /** Property ID to use when the location of this shape is modified. */
+    public static final String           LOCATION_PROP           = VERTEX_NAME + ".Location";
+
+    /** Property ID to use then the size of this shape is modified. */
+    public static final String           SIZE_PROP               = VERTEX_NAME + ".Size";
+
+    /** Property ID to use when the list of outgoing connections is modified. */
+    public static final String           SOURCE_CONNECTIONS_PROP = VERTEX_NAME + ".SourceConn";
+
+    /** Property ID to use when the list of incoming connections is modified. */
+    public static final String           TARGET_CONNECTIONS_PROP = VERTEX_NAME + ".TargetConn";
+
+    /** ID for the X property value (used for by the corresponding property descriptor).  */
+    private static final String          XPOS_PROP               = VERTEX_NAME + ".xPos";
+
+    /** ID for the Y property value (used for by the corresponding property descriptor).  */
+    private static final String          YPOS_PROP               = VERTEX_NAME + ".yPos";
+
+    /*
+     * Initializes the property descriptors array.
+     * @see #getPropertyDescriptors()
+     * @see #getPropertyValue(Object)
+     * @see #setPropertyValue(Object, Object)
+     */
+    static {
+        descriptors = new IPropertyDescriptor[]{new TextPropertyDescriptor( XPOS_PROP,
+                                                                            "X" ), // id and description pair
+            new TextPropertyDescriptor( YPOS_PROP,
+                                        "Y" ), new TextPropertyDescriptor( WIDTH_PROP,
+                                                                           WIDTH ), new TextPropertyDescriptor( HEIGHT_PROP,
+                                                                                                                HEIGHT ),};
+    } // static
+
+    /** Location of this vertex. */
+    private Point                        location                = new Point( 0,
+                                                                              0 );
+    /** Size of this vertex. */
+    private final static Dimension       size                    = new Dimension( 16,
+                                                                                  16 );
+    /** List of outgoing Connections. */
+    private List                         sourceConnections       = new ArrayList();
+    /** List of incoming Connections. */
+    private List                         targetConnections       = new ArrayList();
+
+    /**
+     * HTML formatted representation of this node
+     * 
+     * @return #getHtml
+     */
+    abstract public String getHtml();
+
+    /**
+     * Color used for filling vertex figure
+     * 
+     * @return color
+     */
+    abstract public Color getFillColor();
+
+    /**
+     * Add an incoming or outgoing connection to this vertex.
+     * @param conn a non-null connection instance
+     * @throws IllegalArgumentException if the connection is null or has not distinct endpoints
+     */
+    public void addConnection(Connection conn) {
+        if ( conn == null || conn.getSource() == conn.getTarget() ) {
+            throw new IllegalArgumentException();
+        }
+        if ( conn.getSource() == this ) {
+            sourceConnections.add( conn );
+            firePropertyChange( SOURCE_CONNECTIONS_PROP,
+                                null,
+                                conn );
+        } else if ( conn.getTarget() == this ) {
+            targetConnections.add( conn );
+            firePropertyChange( TARGET_CONNECTIONS_PROP,
+                                null,
+                                conn );
+        }
+    }
+
+    /**
+     * Return the Location of this vertex.
+     * 
+     * @return a non-null copy of location instance
+     */
+    public Point getLocation() {
+        return location.getCopy();
+    }
+
+    /**
+     * Returns an array of IPropertyDescriptors for this vertex.
+     * 
+     */
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    /**
+     * Return the property value for the given propertyId, or null.
+     */
+    public Object getPropertyValue(Object propertyId) {
+        if ( XPOS_PROP.equals( propertyId ) ) {
+            return Integer.toString( location.x );
+        }
+        if ( YPOS_PROP.equals( propertyId ) ) {
+            return Integer.toString( location.y );
+        }
+        if ( HEIGHT_PROP.equals( propertyId ) ) {
+            return Integer.toString( size.height );
+        }
+        if ( WIDTH_PROP.equals( propertyId ) ) {
+            return Integer.toString( size.width );
+        }
+        return null;
+    }
+
+    /**
+     * Return the Size of this vertex.
+     * @return a non-null copy of Dimension instance
+     */
+    public Dimension getSize() {
+        return size.getCopy();
+    }
+
+    /**
+     * Return a List of outgoing Connections.
+     */
+    public List getSourceConnections() {
+        return new ArrayList( sourceConnections );
+    }
+
+    /**
+     * Return a List of incoming Connections.
+     */
+    public List getTargetConnections() {
+        return new ArrayList( targetConnections );
+    }
+
+    /**
+     * Remove an incoming or outgoing connection from this vertex.
+     * 
+     * @param conn a non-null connection instance
+     * @throws IllegalArgumentException if the parameter is null
+     */
+    public void removeConnection(Connection conn) {
+        if ( conn == null ) {
+            throw new IllegalArgumentException();
+        }
+        if ( conn.getSource() == this ) {
+            sourceConnections.remove( conn );
+            firePropertyChange( SOURCE_CONNECTIONS_PROP,
+                                null,
+                                conn );
+        } else if ( conn.getTarget() == this ) {
+            targetConnections.remove( conn );
+            firePropertyChange( TARGET_CONNECTIONS_PROP,
+                                null,
+                                conn );
+        }
+    }
+
+    /**
+     * Set the Location of this vertex.
+     * @param newLocation a non-null Point instance
+     * @throws IllegalArgumentException if the parameter is null
+     */
+    public void setLocation(Point newLocation) {
+        if ( newLocation == null ) {
+            throw new IllegalArgumentException();
+        }
+        location.setLocation( newLocation );
+        firePropertyChange( LOCATION_PROP,
+                            null,
+                            location );
+    }
+
+    /**
+     * Set the property value for the given property id.
+     */
+    public void setPropertyValue(Object propertyId,
+                                 Object value) {
+        if ( XPOS_PROP.equals( propertyId ) ) {
+            int x = Integer.parseInt( (String) value );
+            setLocation( new Point( x,
+                                    location.y ) );
+        } else if ( YPOS_PROP.equals( propertyId ) ) {
+            int y = Integer.parseInt( (String) value );
+            setLocation( new Point( location.x,
+                                    y ) );
+        } else if ( HEIGHT_PROP.equals( propertyId ) ) {
+            int height = Integer.parseInt( (String) value );
+            setSize( new Dimension( size.width,
+                                    height ) );
+        } else if ( WIDTH_PROP.equals( propertyId ) ) {
+            int width = Integer.parseInt( (String) value );
+            setSize( new Dimension( width,
+                                    size.height ) );
+        }
+    }
+
+    /**
+     * Set the Size of this vertex.
+     * Will not update the size if newSize is null.
+     * @param newSize a non-null Dimension instance or null
+     */
+    public void setSize(Dimension newSize) {
+        if ( newSize != null ) {
+            size.setSize( newSize );
+            firePropertyChange( SIZE_PROP,
+                                null,
+                                size );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see java.lang.Object#toString()
+     */
+    public String toString() {
+        return VERTEX_NAME + hashCode();
+    }
+
+    /**
+     * Color used for borders
+     * 
+     * @return draw color
+     */
+    public Color getDrawColor() {
+        return ColorConstants.black;
+    }
+
+    /**
+     * Constructs constraints string
+     * 
+     * @param constraints array of constraints 
+     * @return html-formatted constraints representation
+     */
+    public static String dumpConstraints(final Constraint[] constraints) {
+        if ( constraints == null ) {
+            return null;
+        }
+        final StringBuffer buffer = new StringBuffer();
+        for ( int i = 0, length = constraints.length; i < length; i++ ) {
+            buffer.append( constraints[i].toString() + "<br>" );
+        }
+        return buffer.toString();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-package org.drools.eclipse.editors.rete.model;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-
-/**
- * Abstract prototype of a model element.
- */
-public abstract class ModelElement {
-
-    /** Delegate used to implemenent property-change-support. */
-    private transient PropertyChangeSupport pcsDelegate = new PropertyChangeSupport( this );
-
-    /** 
-     * Attach a non-null PropertyChangeListener to this object.
-     * 
-     * @param l a non-null PropertyChangeListener instance
-     * @throws IllegalArgumentException if the parameter is null
-     */
-    public synchronized void addPropertyChangeListener(PropertyChangeListener l) {
-        if ( l == null ) {
-            throw new IllegalArgumentException();
-        }
-        pcsDelegate.addPropertyChangeListener( l );
-    }
-
-    /** 
-     * Report a property change to registered listeners (for example edit parts).
-     * 
-     * @param property the programmatic name of the property that changed
-     * @param oldValue the old value of this property
-     * @param newValue the new value of this property
-     */
-    protected void firePropertyChange(String property,
-                                      Object oldValue,
-                                      Object newValue) {
-        if ( pcsDelegate.hasListeners( property ) ) {
-            pcsDelegate.firePropertyChange( property,
-                                            oldValue,
-                                            newValue );
-        }
-    }
-
-    /** 
-     * Remove a PropertyChangeListener from this component.
-     * 
-     * @param l a PropertyChangeListener instance
-     */
-    public synchronized void removePropertyChangeListener(PropertyChangeListener l) {
-        if ( l != null ) {
-            pcsDelegate.removePropertyChangeListener( l );
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+package org.drools.eclipse.editors.rete.model;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+
+/**
+ * Abstract prototype of a model element.
+ */
+public abstract class ModelElement {
+
+    /** Delegate used to implemenent property-change-support. */
+    private transient PropertyChangeSupport pcsDelegate = new PropertyChangeSupport( this );
+
+    /** 
+     * Attach a non-null PropertyChangeListener to this object.
+     * 
+     * @param l a non-null PropertyChangeListener instance
+     * @throws IllegalArgumentException if the parameter is null
+     */
+    public synchronized void addPropertyChangeListener(PropertyChangeListener l) {
+        if ( l == null ) {
+            throw new IllegalArgumentException();
+        }
+        pcsDelegate.addPropertyChangeListener( l );
+    }
+
+    /** 
+     * Report a property change to registered listeners (for example edit parts).
+     * 
+     * @param property the programmatic name of the property that changed
+     * @param oldValue the old value of this property
+     * @param newValue the new value of this property
+     */
+    protected void firePropertyChange(String property,
+                                      Object oldValue,
+                                      Object newValue) {
+        if ( pcsDelegate.hasListeners( property ) ) {
+            pcsDelegate.firePropertyChange( property,
+                                            oldValue,
+                                            newValue );
+        }
+    }
+
+    /** 
+     * Remove a PropertyChangeListener from this component.
+     * 
+     * @param l a PropertyChangeListener instance
+     */
+    public synchronized void removePropertyChangeListener(PropertyChangeListener l) {
+        if ( l != null ) {
+            pcsDelegate.removePropertyChangeListener( l );
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,79 +0,0 @@
-package org.drools.eclipse.editors.rete.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.reteoo.BaseVertex;
-
-/**
- * Rete graph containing a set of vertices that form the graph itself.
- */
-public class ReteGraph extends ModelElement {
-
-    /** Property ID to use when a child is added to this diagram. */
-    public static final String PROP_CHILD_ADDED   = "ReteGraph.ChildAdded";
-
-    /** Property ID to use when a child is removed from this diagram. */
-    public static final String PROP_CHILD_REMOVED = "ReteGraph.ChildRemoved";
-
-    private List               vertices           = new ArrayList();
-
-    /** 
-     * Add new BaseVertex to the graph
-     * 
-     * @param vertex
-     * 
-     * @return true, if vertex was added, false otherwise
-     */
-    public boolean addChild(BaseVertex vertex) {
-        if ( vertex != null && vertices.add( vertex ) ) {
-            firePropertyChange( PROP_CHILD_ADDED,
-                                null,
-                                vertex );
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Return all Vertices in this graph
-     */
-    public List getChildren() {
-        return vertices;
-    }
-
-    /**
-     * Remove a vertex from this graph
-     * 
-     * @param vertex vertex to be removed
-     * @return true, if the vertex removal succeeded, false otherwise
-     */
-    public boolean removeChild(BaseVertex vertex) {
-        if ( vertex != null && vertices.remove( vertex ) ) {
-            firePropertyChange( PROP_CHILD_REMOVED,
-                                null,
-                                vertex );
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Removes all vertices from graph.
-     */
-    public void removeAll() {
-        while ( vertices.size() > 0 ) {
-            removeChild( ((BaseVertex) vertices.get( 0 )) );
-        }
-    }
-
-    public void addAll(List children) {
-        final Iterator iter = children.iterator();
-        while ( iter.hasNext() ) {
-            BaseVertex vertex = (BaseVertex) iter.next();
-            addChild( vertex );
-        }
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,79 @@
+package org.drools.eclipse.editors.rete.model;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.reteoo.BaseVertex;
+
+/**
+ * Rete graph containing a set of vertices that form the graph itself.
+ */
+public class ReteGraph extends ModelElement {
+
+    /** Property ID to use when a child is added to this diagram. */
+    public static final String PROP_CHILD_ADDED   = "ReteGraph.ChildAdded";
+
+    /** Property ID to use when a child is removed from this diagram. */
+    public static final String PROP_CHILD_REMOVED = "ReteGraph.ChildRemoved";
+
+    private List               vertices           = new ArrayList();
+
+    /** 
+     * Add new BaseVertex to the graph
+     * 
+     * @param vertex
+     * 
+     * @return true, if vertex was added, false otherwise
+     */
+    public boolean addChild(BaseVertex vertex) {
+        if ( vertex != null && vertices.add( vertex ) ) {
+            firePropertyChange( PROP_CHILD_ADDED,
+                                null,
+                                vertex );
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * Return all Vertices in this graph
+     */
+    public List getChildren() {
+        return vertices;
+    }
+
+    /**
+     * Remove a vertex from this graph
+     * 
+     * @param vertex vertex to be removed
+     * @return true, if the vertex removal succeeded, false otherwise
+     */
+    public boolean removeChild(BaseVertex vertex) {
+        if ( vertex != null && vertices.remove( vertex ) ) {
+            firePropertyChange( PROP_CHILD_REMOVED,
+                                null,
+                                vertex );
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * Removes all vertices from graph.
+     */
+    public void removeAll() {
+        while ( vertices.size() > 0 ) {
+            removeChild( ((BaseVertex) vertices.get( 0 )) );
+        }
+    }
+
+    public void addAll(List children) {
+        final Iterator iter = children.iterator();
+        while ( iter.hasNext() ) {
+            BaseVertex vertex = (BaseVertex) iter.next();
+            addChild( vertex );
+        }
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,501 +0,0 @@
-package org.drools.eclipse.editors.rete.model;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.reteoo.AccumulateNodeVertex;
-import org.drools.reteoo.AlphaNodeVertex;
-import org.drools.reteoo.BaseVertex;
-import org.drools.reteoo.CollectNodeVertex;
-import org.drools.reteoo.EvalConditionNodeVertex;
-import org.drools.reteoo.ExistsNodeVertex;
-import org.drools.reteoo.FromNodeVertex;
-import org.drools.reteoo.JoinNodeVertex;
-import org.drools.reteoo.LeftInputAdapterNodeVertex;
-import org.drools.reteoo.NotNodeVertex;
-import org.drools.reteoo.ObjectTypeNodeVertex;
-import org.drools.reteoo.QueryTerminalNodeVertex;
-import org.drools.reteoo.ReteVertex;
-import org.drools.reteoo.RightInputAdapterNodeVertex;
-import org.drools.reteoo.RuleTerminalNodeVertex;
-import org.drools.spi.Constraint;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Providing IPropertySource for property sheets that show
- * rete graph vertex properties.
- * 
- */
-public class VertexPropertySource
-    implements
-    IPropertySource {
-
-    private static final String       VERTEX_FROM                = "From BaseVertex";
-
-    private static final String       VERTEX_ACCUMULATE          = "Accumulate BaseVertex";
-
-    private static final String       VERTEX_COLLECT             = "Collect BaseVertex";
-
-    private static final String       VERTEX_EXISTS              = "Exists BaseVertex";
-
-    private static final String       VERTEX_TERMINAL            = "Terminal BaseVertex";
-
-    private static final String       VERTEX_QUERY_TERMINAL      = "Query Terminal BaseVertex";
-
-    private static final String       VERTEX_EVAL_CONDITION      = "Eval Condition BaseVertex";
-
-    private static final String       VERTEX_NOT                 = "Not BaseVertex";
-
-    private static final String       VERTEX_JOIN                = "Join BaseVertex";
-
-    private static final String       VERTEX_RIGHT_INPUT_ADAPTER = "Right Input Adapter BaseVertex";
-
-    private static final String       VERTEX_LEFT_INPUT_ADAPTER  = "Left Input Adapter BaseVertex";
-
-    private static final String       VERTEX_ALPHA               = "Alpha BaseVertex";
-
-    private static final String       VERTEX_OBJECT_TYPE         = "Object Type BaseVertex";
-
-    private static final String       VERTEX_RETE                = "Rete BaseVertex";
-
-    private static final String       CONSTRAINT_CAP             = "Constraint";
-
-    private static final String       CONSTRAINT                 = "constraint";
-
-    public String                     ID_ROOT                    = "vertex";                               //$NON-NLS-1$
-
-    public String                     ID_ID                      = "id";                                   //$NON-NLS-1$
-    public String                     ID_HTML                    = "html";                                 //$NON-NLS-1$
-
-    private IPropertyDescriptor[]     descriptors;
-
-    private final IPropertyDescriptor PROP_NAME                  = new PropertyDescriptor( "name",
-                                                                                           "Name" );
-    private final IPropertyDescriptor PROP_ID                    = new PropertyDescriptor( "id",
-                                                                                           "ID" );
-    private final IPropertyDescriptor PROP_RULE                  = new PropertyDescriptor( "rule",
-                                                                                           "Rule" );
-
-    private final IPropertyDescriptor PROP_QUERY                 = new PropertyDescriptor( "query",
-                                                                                           "Query" );
-    // Alpha-specific
-    private final IPropertyDescriptor PROP_ALPHA_FIELD_NAME      = new PropertyDescriptor( "fieldName",
-                                                                                           "Field Name" );
-    private final IPropertyDescriptor PROP_ALPHA_EVALUATOR       = new PropertyDescriptor( "evaluator",
-                                                                                           "Evaluator" );
-    private final IPropertyDescriptor PROP_ALPHA_VALUE           = new PropertyDescriptor( "value",
-                                                                                           "Value" );
-
-    // ObjectType specific
-    private final IPropertyDescriptor PROP_OBJ_TYPE              = new PropertyDescriptor( "objectType",
-                                                                                           "Object Type" );
-
-    private final static String       CAT_GENERAL                = "General";
-    private final static String       CAT_OTHER                  = "Other";
-
-    protected BaseVertex              vertex                     = null;
-
-    // Map<String,NodeValue>
-    private Map                       values                     = new HashMap();
-
-    /**
-     * Constructor initializing properties from <code>vertex</code>
-     * 
-     * @param vertex source vertex for this property source
-     */
-    public VertexPropertySource(BaseVertex vertex) {
-        this.vertex = vertex;
-
-        initProperties( vertex );
-    }
-
-    final private void initProperties(BaseVertex vertex) {
-
-        List descriptorList = new ArrayList();
-
-        if ( vertex instanceof ExistsNodeVertex ) {
-            initExistsNodeProperties( (ExistsNodeVertex) vertex,
-                                      descriptorList,
-                                      values );
-        } else if ( vertex instanceof FromNodeVertex ) {
-            initFromNodeProperties( (FromNodeVertex) vertex,
-                                    descriptorList,
-                                    values );
-        } else if ( vertex instanceof AccumulateNodeVertex ) {
-            initAccumulateNodeProperties( (AccumulateNodeVertex) vertex,
-                                          descriptorList,
-                                          values );
-        } else if ( vertex instanceof CollectNodeVertex ) {
-            initCollectNodeProperties( (CollectNodeVertex) vertex,
-                                       descriptorList,
-                                       values );
-        } else if ( vertex instanceof RuleTerminalNodeVertex ) {
-            initTerminalNodeProperties( (RuleTerminalNodeVertex) vertex,
-                    descriptorList,
-                    values );
-    	} else if ( vertex instanceof QueryTerminalNodeVertex ) {
-            initQueryTerminalNodeProperties( (QueryTerminalNodeVertex) vertex,
-                    descriptorList,
-                    values );
-    	} else if ( vertex instanceof EvalConditionNodeVertex ) {
-            initEvalConditionNodeProperties( (EvalConditionNodeVertex) vertex,
-                                             descriptorList,
-                                             values );
-        } else if ( vertex instanceof NotNodeVertex ) {
-            initNotNodeProperties( (NotNodeVertex) vertex,
-                                   descriptorList,
-                                   values );
-        } else if ( vertex instanceof JoinNodeVertex ) {
-            initJoinNodeProperties( (JoinNodeVertex) vertex,
-                                    descriptorList,
-                                    values );
-        } else if ( vertex instanceof RightInputAdapterNodeVertex ) {
-            initRightInputAdapterNodeProperties( descriptorList,
-                                                 values );
-        } else if ( vertex instanceof LeftInputAdapterNodeVertex ) {
-            initLeftInputAdapterNodeProperties( (LeftInputAdapterNodeVertex) vertex,
-                                                descriptorList,
-                                                values );
-        } else if ( vertex instanceof AlphaNodeVertex ) {
-            initAlphaNodeProperties( (AlphaNodeVertex) vertex,
-                                     descriptorList,
-                                     values );
-        } else if ( vertex instanceof ObjectTypeNodeVertex ) {
-            initObjectTypeNodeProperties( (ObjectTypeNodeVertex) vertex,
-                                          descriptorList,
-                                          values );
-        } else if ( vertex instanceof ReteVertex ) {
-            initReteNodeProperties( (ReteVertex) vertex,
-                                    descriptorList,
-                                    values );
-        }
-
-        descriptors = (IPropertyDescriptor[]) descriptorList.toArray( new IPropertyDescriptor[0] );
-    }
-
-    private void initExistsNodeProperties(ExistsNodeVertex vertex,
-                                          List descriptorList,
-                                          Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_EXISTS,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initCollectNodeProperties(CollectNodeVertex vertex,
-                                           List descriptorList,
-                                           Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_COLLECT,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initAccumulateNodeProperties(AccumulateNodeVertex vertex,
-                                              List descriptorList,
-                                              Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_ACCUMULATE,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initFromNodeProperties(FromNodeVertex vertex,
-                                        List descriptorList,
-                                        Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_FROM,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initReteNodeProperties(ReteVertex vertex,
-                                        List descriptorList,
-                                        Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_RETE,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initObjectTypeNodeProperties(ObjectTypeNodeVertex vertex,
-                                              List descriptorList,
-                                              Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_OBJECT_TYPE,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_OBJ_TYPE,
-                     vertex.getObjectType(),
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initAlphaNodeProperties(AlphaNodeVertex vertex,
-                                         List descriptorList,
-                                         Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_ALPHA,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ALPHA_FIELD_NAME,
-                     vertex.getFieldName(),
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ALPHA_EVALUATOR,
-                     vertex.getEvaluator(),
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ALPHA_VALUE,
-                     vertex.getValue(),
-                     descriptorList,
-                     valueMap );
-
-        Constraint constraint = vertex.getConstraint();
-        if ( constraint == null ) {
-            return;
-        }
-        IPropertyDescriptor prop = new PropertyDescriptor( CONSTRAINT,
-                                                           CONSTRAINT_CAP );
-        addProperty( prop,
-                     constraint.toString(),
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initLeftInputAdapterNodeProperties(LeftInputAdapterNodeVertex vertex,
-                                                    List descriptorList,
-                                                    Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_LEFT_INPUT_ADAPTER,
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initRightInputAdapterNodeProperties(List descriptorList,
-                                                     Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_RIGHT_INPUT_ADAPTER,
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initJoinNodeProperties(JoinNodeVertex vertex,
-                                        List descriptorList,
-                                        Map valueMap) {
-
-        addProperty( PROP_NAME,
-                     VERTEX_JOIN,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-
-        Constraint[] constraints = vertex.getConstraints();
-
-        if ( constraints == null ) {
-            return;
-        }
-
-        for ( int i = 0, length = constraints.length; i < length; i++ ) {
-            PropertyDescriptor prop = new PropertyDescriptor( CONSTRAINT + (i + 1),
-                                                              CONSTRAINT_CAP + " " + (i + 1) );
-            addOther( prop,
-                      constraints[i].toString(),
-                      descriptorList,
-                      valueMap );
-        }
-
-    }
-
-    private void initNotNodeProperties(NotNodeVertex vertex,
-                                       List descriptorList,
-                                       Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_NOT,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initEvalConditionNodeProperties(EvalConditionNodeVertex vertex,
-                                                 List descriptorList,
-                                                 Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_EVAL_CONDITION,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initTerminalNodeProperties(RuleTerminalNodeVertex node,
-                                            List descriptorList,
-                                            Map valueMap) {
-
-        addProperty( PROP_NAME,
-                     VERTEX_TERMINAL,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( node.getId() ),
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_RULE,
-                     node.getRuleName(),
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initQueryTerminalNodeProperties(QueryTerminalNodeVertex node,
-		            List descriptorList,
-		            Map valueMap) {
-		
-		addProperty( PROP_NAME,
-				     VERTEX_QUERY_TERMINAL,
-                     descriptorList,
-                     valueMap );
-		addProperty( PROP_ID,
-                     Integer.toString( node.getId() ),
-                     descriptorList,
-		             valueMap );
-		addProperty( PROP_QUERY,
-		             node.getQueryName(),
-		             descriptorList,
-		             valueMap );
-		
-	}
-
-    private void addProperty(IPropertyDescriptor field,
-                             String value,
-                             List descriptorList,
-                             Map valueMap) {
-        descriptorList.add( field );
-        valueMap.put( field.getId().toString(),
-                      new NodeValue( CAT_GENERAL,
-                                     value ) );
-        if ( field instanceof PropertyDescriptor ) {
-            ((PropertyDescriptor) field).setAlwaysIncompatible( true );
-            ((PropertyDescriptor) field).setCategory( CAT_GENERAL );
-        }
-
-    }
-
-    private void addOther(IPropertyDescriptor field,
-                          String value,
-                          List descriptorList,
-                          Map valueMap) {
-        descriptorList.add( field );
-        valueMap.put( field.getId().toString(),
-                      new NodeValue( CAT_OTHER,
-                                     value ) );
-
-        if ( field instanceof PropertyDescriptor ) {
-            ((PropertyDescriptor) field).setAlwaysIncompatible( true );
-            ((PropertyDescriptor) field).setCategory( CAT_OTHER );
-        }
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-     */
-    public Object getEditableValue() {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-     */
-    public Object getPropertyValue(Object propName) {
-        return getPropertyValue( (String) propName );
-    }
-
-    /**
-     * Property value.
-     * 
-     * @param propName
-     * @return
-     */
-    public Object getPropertyValue(String propName) {
-        return ((NodeValue) (values.get( propName ))).value;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-     */
-    public void setPropertyValue(Object propName,
-                                 Object value) {
-        setPropertyValue( propName,
-                          value );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    /**
-     * Doing nothing as resetting properties from property sheet is not possible.
-     */
-    public void resetPropertyValue(Object propName) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-     */
-    public boolean isPropertySet(Object propName) {
-        return values.containsKey( propName );
-    }
-
-    private class NodeValue {
-        final String category;
-        final String value;
-
-        NodeValue(String category,
-                  String value) {
-            this.category = category;
-            this.value = value;
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,501 @@
+package org.drools.eclipse.editors.rete.model;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.reteoo.AccumulateNodeVertex;
+import org.drools.reteoo.AlphaNodeVertex;
+import org.drools.reteoo.BaseVertex;
+import org.drools.reteoo.CollectNodeVertex;
+import org.drools.reteoo.EvalConditionNodeVertex;
+import org.drools.reteoo.ExistsNodeVertex;
+import org.drools.reteoo.FromNodeVertex;
+import org.drools.reteoo.JoinNodeVertex;
+import org.drools.reteoo.LeftInputAdapterNodeVertex;
+import org.drools.reteoo.NotNodeVertex;
+import org.drools.reteoo.ObjectTypeNodeVertex;
+import org.drools.reteoo.QueryTerminalNodeVertex;
+import org.drools.reteoo.ReteVertex;
+import org.drools.reteoo.RightInputAdapterNodeVertex;
+import org.drools.reteoo.RuleTerminalNodeVertex;
+import org.drools.spi.Constraint;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+/**
+ * Providing IPropertySource for property sheets that show
+ * rete graph vertex properties.
+ * 
+ */
+public class VertexPropertySource
+    implements
+    IPropertySource {
+
+    private static final String       VERTEX_FROM                = "From BaseVertex";
+
+    private static final String       VERTEX_ACCUMULATE          = "Accumulate BaseVertex";
+
+    private static final String       VERTEX_COLLECT             = "Collect BaseVertex";
+
+    private static final String       VERTEX_EXISTS              = "Exists BaseVertex";
+
+    private static final String       VERTEX_TERMINAL            = "Terminal BaseVertex";
+
+    private static final String       VERTEX_QUERY_TERMINAL      = "Query Terminal BaseVertex";
+
+    private static final String       VERTEX_EVAL_CONDITION      = "Eval Condition BaseVertex";
+
+    private static final String       VERTEX_NOT                 = "Not BaseVertex";
+
+    private static final String       VERTEX_JOIN                = "Join BaseVertex";
+
+    private static final String       VERTEX_RIGHT_INPUT_ADAPTER = "Right Input Adapter BaseVertex";
+
+    private static final String       VERTEX_LEFT_INPUT_ADAPTER  = "Left Input Adapter BaseVertex";
+
+    private static final String       VERTEX_ALPHA               = "Alpha BaseVertex";
+
+    private static final String       VERTEX_OBJECT_TYPE         = "Object Type BaseVertex";
+
+    private static final String       VERTEX_RETE                = "Rete BaseVertex";
+
+    private static final String       CONSTRAINT_CAP             = "Constraint";
+
+    private static final String       CONSTRAINT                 = "constraint";
+
+    public String                     ID_ROOT                    = "vertex";                               //$NON-NLS-1$
+
+    public String                     ID_ID                      = "id";                                   //$NON-NLS-1$
+    public String                     ID_HTML                    = "html";                                 //$NON-NLS-1$
+
+    private IPropertyDescriptor[]     descriptors;
+
+    private final IPropertyDescriptor PROP_NAME                  = new PropertyDescriptor( "name",
+                                                                                           "Name" );
+    private final IPropertyDescriptor PROP_ID                    = new PropertyDescriptor( "id",
+                                                                                           "ID" );
+    private final IPropertyDescriptor PROP_RULE                  = new PropertyDescriptor( "rule",
+                                                                                           "Rule" );
+
+    private final IPropertyDescriptor PROP_QUERY                 = new PropertyDescriptor( "query",
+                                                                                           "Query" );
+    // Alpha-specific
+    private final IPropertyDescriptor PROP_ALPHA_FIELD_NAME      = new PropertyDescriptor( "fieldName",
+                                                                                           "Field Name" );
+    private final IPropertyDescriptor PROP_ALPHA_EVALUATOR       = new PropertyDescriptor( "evaluator",
+                                                                                           "Evaluator" );
+    private final IPropertyDescriptor PROP_ALPHA_VALUE           = new PropertyDescriptor( "value",
+                                                                                           "Value" );
+
+    // ObjectType specific
+    private final IPropertyDescriptor PROP_OBJ_TYPE              = new PropertyDescriptor( "objectType",
+                                                                                           "Object Type" );
+
+    private final static String       CAT_GENERAL                = "General";
+    private final static String       CAT_OTHER                  = "Other";
+
+    protected BaseVertex              vertex                     = null;
+
+    // Map<String,NodeValue>
+    private Map                       values                     = new HashMap();
+
+    /**
+     * Constructor initializing properties from <code>vertex</code>
+     * 
+     * @param vertex source vertex for this property source
+     */
+    public VertexPropertySource(BaseVertex vertex) {
+        this.vertex = vertex;
+
+        initProperties( vertex );
+    }
+
+    final private void initProperties(BaseVertex vertex) {
+
+        List descriptorList = new ArrayList();
+
+        if ( vertex instanceof ExistsNodeVertex ) {
+            initExistsNodeProperties( (ExistsNodeVertex) vertex,
+                                      descriptorList,
+                                      values );
+        } else if ( vertex instanceof FromNodeVertex ) {
+            initFromNodeProperties( (FromNodeVertex) vertex,
+                                    descriptorList,
+                                    values );
+        } else if ( vertex instanceof AccumulateNodeVertex ) {
+            initAccumulateNodeProperties( (AccumulateNodeVertex) vertex,
+                                          descriptorList,
+                                          values );
+        } else if ( vertex instanceof CollectNodeVertex ) {
+            initCollectNodeProperties( (CollectNodeVertex) vertex,
+                                       descriptorList,
+                                       values );
+        } else if ( vertex instanceof RuleTerminalNodeVertex ) {
+            initTerminalNodeProperties( (RuleTerminalNodeVertex) vertex,
+                    descriptorList,
+                    values );
+    	} else if ( vertex instanceof QueryTerminalNodeVertex ) {
+            initQueryTerminalNodeProperties( (QueryTerminalNodeVertex) vertex,
+                    descriptorList,
+                    values );
+    	} else if ( vertex instanceof EvalConditionNodeVertex ) {
+            initEvalConditionNodeProperties( (EvalConditionNodeVertex) vertex,
+                                             descriptorList,
+                                             values );
+        } else if ( vertex instanceof NotNodeVertex ) {
+            initNotNodeProperties( (NotNodeVertex) vertex,
+                                   descriptorList,
+                                   values );
+        } else if ( vertex instanceof JoinNodeVertex ) {
+            initJoinNodeProperties( (JoinNodeVertex) vertex,
+                                    descriptorList,
+                                    values );
+        } else if ( vertex instanceof RightInputAdapterNodeVertex ) {
+            initRightInputAdapterNodeProperties( descriptorList,
+                                                 values );
+        } else if ( vertex instanceof LeftInputAdapterNodeVertex ) {
+            initLeftInputAdapterNodeProperties( (LeftInputAdapterNodeVertex) vertex,
+                                                descriptorList,
+                                                values );
+        } else if ( vertex instanceof AlphaNodeVertex ) {
+            initAlphaNodeProperties( (AlphaNodeVertex) vertex,
+                                     descriptorList,
+                                     values );
+        } else if ( vertex instanceof ObjectTypeNodeVertex ) {
+            initObjectTypeNodeProperties( (ObjectTypeNodeVertex) vertex,
+                                          descriptorList,
+                                          values );
+        } else if ( vertex instanceof ReteVertex ) {
+            initReteNodeProperties( (ReteVertex) vertex,
+                                    descriptorList,
+                                    values );
+        }
+
+        descriptors = (IPropertyDescriptor[]) descriptorList.toArray( new IPropertyDescriptor[0] );
+    }
+
+    private void initExistsNodeProperties(ExistsNodeVertex vertex,
+                                          List descriptorList,
+                                          Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_EXISTS,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initCollectNodeProperties(CollectNodeVertex vertex,
+                                           List descriptorList,
+                                           Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_COLLECT,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initAccumulateNodeProperties(AccumulateNodeVertex vertex,
+                                              List descriptorList,
+                                              Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_ACCUMULATE,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initFromNodeProperties(FromNodeVertex vertex,
+                                        List descriptorList,
+                                        Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_FROM,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initReteNodeProperties(ReteVertex vertex,
+                                        List descriptorList,
+                                        Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_RETE,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initObjectTypeNodeProperties(ObjectTypeNodeVertex vertex,
+                                              List descriptorList,
+                                              Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_OBJECT_TYPE,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_OBJ_TYPE,
+                     vertex.getObjectType(),
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initAlphaNodeProperties(AlphaNodeVertex vertex,
+                                         List descriptorList,
+                                         Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_ALPHA,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ALPHA_FIELD_NAME,
+                     vertex.getFieldName(),
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ALPHA_EVALUATOR,
+                     vertex.getEvaluator(),
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ALPHA_VALUE,
+                     vertex.getValue(),
+                     descriptorList,
+                     valueMap );
+
+        Constraint constraint = vertex.getConstraint();
+        if ( constraint == null ) {
+            return;
+        }
+        IPropertyDescriptor prop = new PropertyDescriptor( CONSTRAINT,
+                                                           CONSTRAINT_CAP );
+        addProperty( prop,
+                     constraint.toString(),
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initLeftInputAdapterNodeProperties(LeftInputAdapterNodeVertex vertex,
+                                                    List descriptorList,
+                                                    Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_LEFT_INPUT_ADAPTER,
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initRightInputAdapterNodeProperties(List descriptorList,
+                                                     Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_RIGHT_INPUT_ADAPTER,
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initJoinNodeProperties(JoinNodeVertex vertex,
+                                        List descriptorList,
+                                        Map valueMap) {
+
+        addProperty( PROP_NAME,
+                     VERTEX_JOIN,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+
+        Constraint[] constraints = vertex.getConstraints();
+
+        if ( constraints == null ) {
+            return;
+        }
+
+        for ( int i = 0, length = constraints.length; i < length; i++ ) {
+            PropertyDescriptor prop = new PropertyDescriptor( CONSTRAINT + (i + 1),
+                                                              CONSTRAINT_CAP + " " + (i + 1) );
+            addOther( prop,
+                      constraints[i].toString(),
+                      descriptorList,
+                      valueMap );
+        }
+
+    }
+
+    private void initNotNodeProperties(NotNodeVertex vertex,
+                                       List descriptorList,
+                                       Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_NOT,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initEvalConditionNodeProperties(EvalConditionNodeVertex vertex,
+                                                 List descriptorList,
+                                                 Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_EVAL_CONDITION,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initTerminalNodeProperties(RuleTerminalNodeVertex node,
+                                            List descriptorList,
+                                            Map valueMap) {
+
+        addProperty( PROP_NAME,
+                     VERTEX_TERMINAL,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( node.getId() ),
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_RULE,
+                     node.getRuleName(),
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initQueryTerminalNodeProperties(QueryTerminalNodeVertex node,
+		            List descriptorList,
+		            Map valueMap) {
+		
+		addProperty( PROP_NAME,
+				     VERTEX_QUERY_TERMINAL,
+                     descriptorList,
+                     valueMap );
+		addProperty( PROP_ID,
+                     Integer.toString( node.getId() ),
+                     descriptorList,
+		             valueMap );
+		addProperty( PROP_QUERY,
+		             node.getQueryName(),
+		             descriptorList,
+		             valueMap );
+		
+	}
+
+    private void addProperty(IPropertyDescriptor field,
+                             String value,
+                             List descriptorList,
+                             Map valueMap) {
+        descriptorList.add( field );
+        valueMap.put( field.getId().toString(),
+                      new NodeValue( CAT_GENERAL,
+                                     value ) );
+        if ( field instanceof PropertyDescriptor ) {
+            ((PropertyDescriptor) field).setAlwaysIncompatible( true );
+            ((PropertyDescriptor) field).setCategory( CAT_GENERAL );
+        }
+
+    }
+
+    private void addOther(IPropertyDescriptor field,
+                          String value,
+                          List descriptorList,
+                          Map valueMap) {
+        descriptorList.add( field );
+        valueMap.put( field.getId().toString(),
+                      new NodeValue( CAT_OTHER,
+                                     value ) );
+
+        if ( field instanceof PropertyDescriptor ) {
+            ((PropertyDescriptor) field).setAlwaysIncompatible( true );
+            ((PropertyDescriptor) field).setCategory( CAT_OTHER );
+        }
+
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
+     */
+    public Object getEditableValue() {
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
+     */
+    public Object getPropertyValue(Object propName) {
+        return getPropertyValue( (String) propName );
+    }
+
+    /**
+     * Property value.
+     * 
+     * @param propName
+     * @return
+     */
+    public Object getPropertyValue(String propName) {
+        return ((NodeValue) (values.get( propName ))).value;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
+     */
+    public void setPropertyValue(Object propName,
+                                 Object value) {
+        setPropertyValue( propName,
+                          value );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
+     */
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    /**
+     * Doing nothing as resetting properties from property sheet is not possible.
+     */
+    public void resetPropertyValue(Object propName) {
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
+     */
+    public boolean isPropertySet(Object propName) {
+        return values.containsKey( propName );
+    }
+
+    private class NodeValue {
+        final String category;
+        final String value;
+
+        NodeValue(String category,
+                  String value) {
+            this.category = category;
+            this.value = value;
+        }
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,82 +0,0 @@
-/*
- * Copyright 2006 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.
- */
-package org.drools.eclipse.editors.rete.part;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import org.drools.eclipse.editors.rete.figure.ConnectionFigure;
-import org.drools.eclipse.editors.rete.model.ModelElement;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.draw2d.PolylineDecoration;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.editparts.AbstractConnectionEditPart;
-import org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy;
-
-/**
- * Edit part for Connection model elements.
- */
-class ConnectionEditPart extends AbstractConnectionEditPart
-    implements
-    PropertyChangeListener {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
-     */
-    public void activate() {
-        if ( !isActive() ) {
-            super.activate();
-            ((ModelElement) getModel()).addPropertyChangeListener( this );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
-     */
-    protected void createEditPolicies() {
-        installEditPolicy( EditPolicy.CONNECTION_ENDPOINTS_ROLE,
-                           new ConnectionEndpointEditPolicy() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
-     */
-    protected IFigure createFigure() {
-        PolylineConnection connection = new ConnectionFigure();
-        PolylineDecoration decoration = new PolylineDecoration();
-        connection.setTargetDecoration( decoration );
-        return connection;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
-     */
-    public void deactivate() {
-        if ( isActive() ) {
-            super.deactivate();
-            ((ModelElement) getModel()).removePropertyChangeListener( this );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent evt) {
-        // Doing nothing   
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2006 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.
+ */
+package org.drools.eclipse.editors.rete.part;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import org.drools.eclipse.editors.rete.figure.ConnectionFigure;
+import org.drools.eclipse.editors.rete.model.ModelElement;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.draw2d.PolylineDecoration;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.editparts.AbstractConnectionEditPart;
+import org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy;
+
+/**
+ * Edit part for Connection model elements.
+ */
+class ConnectionEditPart extends AbstractConnectionEditPart
+    implements
+    PropertyChangeListener {
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
+     */
+    public void activate() {
+        if ( !isActive() ) {
+            super.activate();
+            ((ModelElement) getModel()).addPropertyChangeListener( this );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
+     */
+    protected void createEditPolicies() {
+        installEditPolicy( EditPolicy.CONNECTION_ENDPOINTS_ROLE,
+                           new ConnectionEndpointEditPolicy() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
+     */
+    protected IFigure createFigure() {
+        PolylineConnection connection = new ConnectionFigure();
+        PolylineDecoration decoration = new PolylineDecoration();
+        connection.setTargetDecoration( decoration );
+        return connection;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
+     */
+    public void deactivate() {
+        if ( isActive() ) {
+            super.deactivate();
+            ((ModelElement) getModel()).removePropertyChangeListener( this );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+     */
+    public void propertyChange(PropertyChangeEvent evt) {
+        // Doing nothing   
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,154 +0,0 @@
-/*
- * Copyright 2006 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.
- */
-package org.drools.eclipse.editors.rete.part;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.List;
-
-import org.drools.eclipse.editors.rete.commands.NodeSetConstraintCommand;
-import org.drools.eclipse.editors.rete.model.ModelElement;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.reteoo.BaseVertex;
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.FreeformLayer;
-import org.eclipse.draw2d.FreeformLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.NodeEditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
-import org.eclipse.gef.editpolicies.XYLayoutEditPolicy;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.gef.requests.CreateRequest;
-
-/**
- * EditPart for ReteGraph
- * 
- */
-public class DiagramEditPart extends AbstractGraphicalEditPart
-    implements
-    PropertyChangeListener {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
-     */
-    public void activate() {
-        if ( !isActive() ) {
-            super.activate();
-            ((ModelElement) getModel()).addPropertyChangeListener( this );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
-     */
-    protected void createEditPolicies() {
-        installEditPolicy( EditPolicy.COMPONENT_ROLE,
-                           new RootComponentEditPolicy() );
-        installEditPolicy( EditPolicy.LAYOUT_ROLE,
-                           new NodesXYLayoutEditPolicy() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
-     */
-    protected IFigure createFigure() {
-        Figure f = new FreeformLayer();
-        f.setBorder( new MarginBorder( 3 ) );
-        f.setLayoutManager( new FreeformLayout() );
-        return f;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
-     */
-    public void deactivate() {
-        if ( isActive() ) {
-            super.deactivate();
-            ((ModelElement) getModel()).removePropertyChangeListener( this );
-        }
-    }
-
-    private ReteGraph getCastedModel() {
-        return (ReteGraph) getModel();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractEditPart#getModelChildren()
-     */
-    protected List getModelChildren() {
-        return getCastedModel().getChildren(); // return a list of nodes
-    }
-
-    /* (non-Javadoc)
-     * @see java.beans.PropertyChangeListener#propertyChange(PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent evt) {
-        String prop = evt.getPropertyName();
-        if ( ReteGraph.PROP_CHILD_ADDED.equals( prop ) || ReteGraph.PROP_CHILD_REMOVED.equals( prop ) ) {
-            refreshChildren();
-        }
-    }
-
-    private static class NodesXYLayoutEditPolicy extends XYLayoutEditPolicy {
-
-        /* (non-Javadoc)
-         * @see ConstrainedLayoutEditPolicy#createChangeConstraintCommand(ChangeBoundsRequest, EditPart, Object)
-         */
-        protected Command createChangeConstraintCommand(ChangeBoundsRequest request,
-                                                        EditPart child,
-                                                        Object constraint) {
-            if ( child instanceof NodeEditPart && constraint instanceof Rectangle ) {
-                // return a command that can move and/or resize a BaseVertex
-                return new NodeSetConstraintCommand( (BaseVertex) child.getModel(),
-                                                     request,
-                                                     (Rectangle) constraint );
-            }
-            return super.createChangeConstraintCommand( request,
-                                                        child,
-                                                        constraint );
-        }
-
-        /* (non-Javadoc)
-         * @see ConstrainedLayoutEditPolicy#createChangeConstraintCommand(EditPart, Object)
-         */
-        protected Command createChangeConstraintCommand(EditPart child,
-                                                        Object constraint) {
-            return null;
-        }
-
-        /* (non-Javadoc)
-         * @see LayoutEditPolicy#getCreateCommand(CreateRequest)
-         */
-        protected Command getCreateCommand(CreateRequest request) {
-            return null;
-        }
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class key) {
-        return super.getAdapter( key );
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,154 @@
+/*
+ * Copyright 2006 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.
+ */
+package org.drools.eclipse.editors.rete.part;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
+import org.drools.eclipse.editors.rete.commands.NodeSetConstraintCommand;
+import org.drools.eclipse.editors.rete.model.ModelElement;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.reteoo.BaseVertex;
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.FreeformLayer;
+import org.eclipse.draw2d.FreeformLayout;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.MarginBorder;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.NodeEditPart;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
+import org.eclipse.gef.editpolicies.XYLayoutEditPolicy;
+import org.eclipse.gef.requests.ChangeBoundsRequest;
+import org.eclipse.gef.requests.CreateRequest;
+
+/**
+ * EditPart for ReteGraph
+ * 
+ */
+public class DiagramEditPart extends AbstractGraphicalEditPart
+    implements
+    PropertyChangeListener {
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
+     */
+    public void activate() {
+        if ( !isActive() ) {
+            super.activate();
+            ((ModelElement) getModel()).addPropertyChangeListener( this );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
+     */
+    protected void createEditPolicies() {
+        installEditPolicy( EditPolicy.COMPONENT_ROLE,
+                           new RootComponentEditPolicy() );
+        installEditPolicy( EditPolicy.LAYOUT_ROLE,
+                           new NodesXYLayoutEditPolicy() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
+     */
+    protected IFigure createFigure() {
+        Figure f = new FreeformLayer();
+        f.setBorder( new MarginBorder( 3 ) );
+        f.setLayoutManager( new FreeformLayout() );
+        return f;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
+     */
+    public void deactivate() {
+        if ( isActive() ) {
+            super.deactivate();
+            ((ModelElement) getModel()).removePropertyChangeListener( this );
+        }
+    }
+
+    private ReteGraph getCastedModel() {
+        return (ReteGraph) getModel();
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractEditPart#getModelChildren()
+     */
+    protected List getModelChildren() {
+        return getCastedModel().getChildren(); // return a list of nodes
+    }
+
+    /* (non-Javadoc)
+     * @see java.beans.PropertyChangeListener#propertyChange(PropertyChangeEvent)
+     */
+    public void propertyChange(PropertyChangeEvent evt) {
+        String prop = evt.getPropertyName();
+        if ( ReteGraph.PROP_CHILD_ADDED.equals( prop ) || ReteGraph.PROP_CHILD_REMOVED.equals( prop ) ) {
+            refreshChildren();
+        }
+    }
+
+    private static class NodesXYLayoutEditPolicy extends XYLayoutEditPolicy {
+
+        /* (non-Javadoc)
+         * @see ConstrainedLayoutEditPolicy#createChangeConstraintCommand(ChangeBoundsRequest, EditPart, Object)
+         */
+        protected Command createChangeConstraintCommand(ChangeBoundsRequest request,
+                                                        EditPart child,
+                                                        Object constraint) {
+            if ( child instanceof NodeEditPart && constraint instanceof Rectangle ) {
+                // return a command that can move and/or resize a BaseVertex
+                return new NodeSetConstraintCommand( (BaseVertex) child.getModel(),
+                                                     request,
+                                                     (Rectangle) constraint );
+            }
+            return super.createChangeConstraintCommand( request,
+                                                        child,
+                                                        constraint );
+        }
+
+        /* (non-Javadoc)
+         * @see ConstrainedLayoutEditPolicy#createChangeConstraintCommand(EditPart, Object)
+         */
+        protected Command createChangeConstraintCommand(EditPart child,
+                                                        Object constraint) {
+            return null;
+        }
+
+        /* (non-Javadoc)
+         * @see LayoutEditPolicy#getCreateCommand(CreateRequest)
+         */
+        protected Command getCreateCommand(CreateRequest request) {
+            return null;
+        }
+
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getAdapter(java.lang.Class)
+     */
+    public Object getAdapter(Class key) {
+        return super.getAdapter( key );
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,167 +0,0 @@
-package org.drools.eclipse.editors.rete.part;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.List;
-
-import org.drools.eclipse.editors.rete.figure.VertexFigure;
-import org.drools.eclipse.editors.rete.model.GraphicalVertex;
-import org.drools.eclipse.editors.rete.model.ModelElement;
-import org.drools.eclipse.editors.rete.model.VertexPropertySource;
-import org.drools.reteoo.BaseVertex;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.draw2d.EllipseAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * EditPart used for Vertices
- */
-class VertexEditPart extends AbstractGraphicalEditPart
-    implements
-    PropertyChangeListener,
-    org.eclipse.gef.NodeEditPart {
-
-    private IPropertySource  propertySource;
-
-    private ConnectionAnchor anchor;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
-     */
-    public void activate() {
-        if ( !isActive() ) {
-            super.activate();
-            ((ModelElement) getModel()).addPropertyChangeListener( this );
-            propertySource = new VertexPropertySource( getCastedModel() );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
-     */
-    protected void createEditPolicies() {
-    }
-
-    /*(non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
-     */
-    protected IFigure createFigure() {
-        return new VertexFigure( getCastedModel().getFillColor(),
-                                 getCastedModel().getDrawColor() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
-     */
-    public void deactivate() {
-        if ( isActive() ) {
-            super.deactivate();
-            ((ModelElement) getModel()).removePropertyChangeListener( this );
-            propertySource = null;
-        }
-    }
-
-    private BaseVertex getCastedModel() {
-        return (BaseVertex) getModel();
-    }
-
-    private ConnectionAnchor getConnectionAnchor() {
-        if ( anchor == null ) {
-            if ( getModel() instanceof BaseVertex ) anchor = new EllipseAnchor( getFigure() );
-            else
-            // if Nodes gets extended the conditions above must be updated
-            throw new IllegalArgumentException( "unexpected model" );
-        }
-        return anchor;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getModelSourceConnections()
-     */
-    protected List getModelSourceConnections() {
-        return getCastedModel().getSourceConnections();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getModelTargetConnections()
-     */
-    protected List getModelTargetConnections() {
-        return getCastedModel().getTargetConnections();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.NodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart)
-     */
-    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
-        return getConnectionAnchor();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.NodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.Request)
-     */
-    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
-        return getConnectionAnchor();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.NodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart)
-     */
-    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
-        return getConnectionAnchor();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.NodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.Request)
-     */
-    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
-        return getConnectionAnchor();
-    }
-
-    /* (non-Javadoc)
-     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent evt) {
-        String prop = evt.getPropertyName();
-        if ( GraphicalVertex.SIZE_PROP.equals( prop ) || GraphicalVertex.LOCATION_PROP.equals( prop ) ) {
-            refreshVisuals();
-        } else if ( GraphicalVertex.SOURCE_CONNECTIONS_PROP.equals( prop ) ) {
-            refreshSourceConnections();
-        } else if ( GraphicalVertex.TARGET_CONNECTIONS_PROP.equals( prop ) ) {
-            refreshTargetConnections();
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractEditPart#refreshVisuals()
-     */
-    protected void refreshVisuals() {
-        Rectangle bounds = new Rectangle( getCastedModel().getLocation(),
-                                          getCastedModel().getSize() );
-        ((GraphicalEditPart) getParent()).setLayoutConstraint( this,
-                                                               getFigure(),
-                                                               bounds );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class key) {
-        if ( key == IPropertySource.class ) {
-            return propertySource;
-        }
-        return super.getAdapter( key );
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,167 @@
+package org.drools.eclipse.editors.rete.part;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
+import org.drools.eclipse.editors.rete.figure.VertexFigure;
+import org.drools.eclipse.editors.rete.model.GraphicalVertex;
+import org.drools.eclipse.editors.rete.model.ModelElement;
+import org.drools.eclipse.editors.rete.model.VertexPropertySource;
+import org.drools.reteoo.BaseVertex;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.draw2d.EllipseAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.eclipse.ui.views.properties.IPropertySource;
+
+/**
+ * EditPart used for Vertices
+ */
+class VertexEditPart extends AbstractGraphicalEditPart
+    implements
+    PropertyChangeListener,
+    org.eclipse.gef.NodeEditPart {
+
+    private IPropertySource  propertySource;
+
+    private ConnectionAnchor anchor;
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
+     */
+    public void activate() {
+        if ( !isActive() ) {
+            super.activate();
+            ((ModelElement) getModel()).addPropertyChangeListener( this );
+            propertySource = new VertexPropertySource( getCastedModel() );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
+     */
+    protected void createEditPolicies() {
+    }
+
+    /*(non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
+     */
+    protected IFigure createFigure() {
+        return new VertexFigure( getCastedModel().getFillColor(),
+                                 getCastedModel().getDrawColor() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
+     */
+    public void deactivate() {
+        if ( isActive() ) {
+            super.deactivate();
+            ((ModelElement) getModel()).removePropertyChangeListener( this );
+            propertySource = null;
+        }
+    }
+
+    private BaseVertex getCastedModel() {
+        return (BaseVertex) getModel();
+    }
+
+    private ConnectionAnchor getConnectionAnchor() {
+        if ( anchor == null ) {
+            if ( getModel() instanceof BaseVertex ) anchor = new EllipseAnchor( getFigure() );
+            else
+            // if Nodes gets extended the conditions above must be updated
+            throw new IllegalArgumentException( "unexpected model" );
+        }
+        return anchor;
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getModelSourceConnections()
+     */
+    protected List getModelSourceConnections() {
+        return getCastedModel().getSourceConnections();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getModelTargetConnections()
+     */
+    protected List getModelTargetConnections() {
+        return getCastedModel().getTargetConnections();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.NodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart)
+     */
+    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
+        return getConnectionAnchor();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.NodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.Request)
+     */
+    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+        return getConnectionAnchor();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.NodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart)
+     */
+    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
+        return getConnectionAnchor();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.NodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.Request)
+     */
+    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+        return getConnectionAnchor();
+    }
+
+    /* (non-Javadoc)
+     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+     */
+    public void propertyChange(PropertyChangeEvent evt) {
+        String prop = evt.getPropertyName();
+        if ( GraphicalVertex.SIZE_PROP.equals( prop ) || GraphicalVertex.LOCATION_PROP.equals( prop ) ) {
+            refreshVisuals();
+        } else if ( GraphicalVertex.SOURCE_CONNECTIONS_PROP.equals( prop ) ) {
+            refreshSourceConnections();
+        } else if ( GraphicalVertex.TARGET_CONNECTIONS_PROP.equals( prop ) ) {
+            refreshTargetConnections();
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractEditPart#refreshVisuals()
+     */
+    protected void refreshVisuals() {
+        Rectangle bounds = new Rectangle( getCastedModel().getLocation(),
+                                          getCastedModel().getSize() );
+        ((GraphicalEditPart) getParent()).setLayoutConstraint( this,
+                                                               getFigure(),
+                                                               bounds );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getAdapter(java.lang.Class)
+     */
+    public Object getAdapter(Class key) {
+        if ( key == IPropertySource.class ) {
+            return propertySource;
+        }
+        return super.getAdapter( key );
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,50 +0,0 @@
-package org.drools.eclipse.editors.rete.part;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.rete.model.Connection;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.reteoo.BaseVertex;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartFactory;
-
-/**
- * Factory mapping model elements to edit parts
- */
-public class VertexEditPartFactory
-    implements
-    EditPartFactory {
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.EditPartFactory#createEditPart(org.eclipse.gef.EditPart, java.lang.Object)
-     */
-    public EditPart createEditPart(EditPart context,
-                                   Object modelElement) {
-        // get EditPart for model element
-        EditPart part = getPartForElement( modelElement );
-        // store model element in EditPart
-        part.setModel( modelElement );
-        return part;
-    }
-
-    /**
-     * Maps object to EditPart.
-     *  
-     * @throws RuntimeException if no match was found
-     */
-    private EditPart getPartForElement(Object modelElement) {
-        if ( modelElement instanceof ReteGraph ) {
-            return new DiagramEditPart();
-        }
-        if ( modelElement instanceof BaseVertex ) {
-            return new VertexEditPart();
-        }
-        if ( modelElement instanceof Connection ) {
-            return new ConnectionEditPart();
-        }
-        DroolsEclipsePlugin.log( new Exception( "Can't create part for model element: " + ((modelElement != null) ? modelElement.getClass().getName() : "null") ) );
-        return null;
-        
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,50 @@
+package org.drools.eclipse.editors.rete.part;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.rete.model.Connection;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.reteoo.BaseVertex;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartFactory;
+
+/**
+ * Factory mapping model elements to edit parts
+ */
+public class VertexEditPartFactory
+    implements
+    EditPartFactory {
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.EditPartFactory#createEditPart(org.eclipse.gef.EditPart, java.lang.Object)
+     */
+    public EditPart createEditPart(EditPart context,
+                                   Object modelElement) {
+        // get EditPart for model element
+        EditPart part = getPartForElement( modelElement );
+        // store model element in EditPart
+        part.setModel( modelElement );
+        return part;
+    }
+
+    /**
+     * Maps object to EditPart.
+     *  
+     * @throws RuntimeException if no match was found
+     */
+    private EditPart getPartForElement(Object modelElement) {
+        if ( modelElement instanceof ReteGraph ) {
+            return new DiagramEditPart();
+        }
+        if ( modelElement instanceof BaseVertex ) {
+            return new VertexEditPart();
+        }
+        if ( modelElement instanceof Connection ) {
+            return new ConnectionEditPart();
+        }
+        DroolsEclipsePlugin.log( new Exception( "Can't create part for model element: " + ((modelElement != null) ? modelElement.getClass().getName() : "null") ) );
+        return null;
+        
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.editors.scanners;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.rules.IPredicateRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.MultiLineRule;
-import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
-import org.eclipse.jface.text.rules.Token;
-
-
-/**
- * Break apart the rule source, very very simply.
- *
- * The job of the partitioner is to identify if the cursor position
- * is in a rule block, or not.  Comments are also generated as a
- * separate partition.
- *  TODO: add support for dialect based partitioning for correct syntaxhighlighting
- * @author Michael Neale
- */
-public class DRLPartionScanner extends RuleBasedPartitionScanner {
-
-    public static final String RULE_PART_CONTENT = "__partition_rule_content";
-    public static final String RULE_COMMENT = "__partition_multiline_comment";
-
-    public static final String[] LEGAL_CONTENT_TYPES = {
-    	IDocument.DEFAULT_CONTENT_TYPE,
-    	RULE_PART_CONTENT,
-    	RULE_COMMENT
-    };
-
-    public DRLPartionScanner() {
-        initialise();
-    }
-
-    private void initialise() {
-        List rules = new ArrayList();
-
-        // rules
-        IToken rulePartition = new Token(RULE_PART_CONTENT);
-        rules.add(new MultiLineRule("\nrule", "\nend", rulePartition));
-        //a query is really just a rule for most purposes.
-        rules.add(new MultiLineRule("\nquery", "\nend", rulePartition));
-
-        // comments
-        IToken comment = new Token(RULE_COMMENT);
-        rules.add( new MultiLineRule("/*", "*/", comment, (char) 0, true));
-
-        setPredicateRules((IPredicateRule[]) rules.toArray(new IPredicateRule[rules.size()]));
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.editors.scanners;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.rules.IPredicateRule;
+import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.jface.text.rules.MultiLineRule;
+import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
+import org.eclipse.jface.text.rules.Token;
+
+
+/**
+ * Break apart the rule source, very very simply.
+ *
+ * The job of the partitioner is to identify if the cursor position
+ * is in a rule block, or not.  Comments are also generated as a
+ * separate partition.
+ *  TODO: add support for dialect based partitioning for correct syntaxhighlighting
+ * @author Michael Neale
+ */
+public class DRLPartionScanner extends RuleBasedPartitionScanner {
+
+    public static final String RULE_PART_CONTENT = "__partition_rule_content";
+    public static final String RULE_COMMENT = "__partition_multiline_comment";
+
+    public static final String[] LEGAL_CONTENT_TYPES = {
+    	IDocument.DEFAULT_CONTENT_TYPE,
+    	RULE_PART_CONTENT,
+    	RULE_COMMENT
+    };
+
+    public DRLPartionScanner() {
+        initialise();
+    }
+
+    private void initialise() {
+        List rules = new ArrayList();
+
+        // rules
+        IToken rulePartition = new Token(RULE_PART_CONTENT);
+        rules.add(new MultiLineRule("\nrule", "\nend", rulePartition));
+        //a query is really just a rule for most purposes.
+        rules.add(new MultiLineRule("\nquery", "\nend", rulePartition));
+
+        // comments
+        IToken comment = new Token(RULE_COMMENT);
+        rules.add( new MultiLineRule("/*", "*/", comment, (char) 0, true));
+
+        setPredicateRules((IPredicateRule[]) rules.toArray(new IPredicateRule[rules.size()]));
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,92 +0,0 @@
-package org.drools.eclipse.editors.scanners;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.editors.ColorManager;
-import org.drools.eclipse.editors.Keywords;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.EndOfLineRule;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-import org.eclipse.jface.text.rules.SingleLineRule;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WhitespaceRule;
-import org.eclipse.jface.text.rules.WordRule;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-
-
-
-/**
- * Basic keyword scanner for syntax highlighting.
- *
- * @author Michael Neale
- */
-public class DRLScanner extends RuleBasedScanner {
-
-	private static final Color KEYWORD_COLOR = ColorManager.getInstance().getColor(ColorManager.KEYWORD);
-	private static final Color COMMENT_COLOR = ColorManager.getInstance().getColor(ColorManager.SINGLE_LINE_COMMENT);
-    private static final Color STRING_COLOR = ColorManager.getInstance().getColor(ColorManager.STRING);
-
-    private static final String[] DROOLS_KEYWORDS = Keywords.getInstance().getAllDroolsKeywords();
-    private static final String[] JAVA_KEYWORDS = Keywords.getInstance().getAllJavaKeywords();
-    private static final String[] MVEL_KEYWORDS = Keywords.getInstance().getAllMvelKeywords();
-
-    private static final String[] JAVA_TYPES = { "void", "boolean", "char", "byte", "short", "strictfp", "int", "long", "float", "double" };
-
-    private static final String[] JAVA_CONSTANTS = { "false", "true", "null" };
-    private static final String[] MVEL_CONSTANTS = { "false", "true", "null", "nil", "empty", "this"  };
-
-
-	public DRLScanner() {
-
-		IToken keyword = new Token(new TextAttribute(KEYWORD_COLOR, null, SWT.BOLD));
-		IToken comment= new Token(new TextAttribute(COMMENT_COLOR));
-		IToken string = new Token(new TextAttribute(STRING_COLOR));
-		IToken other = new Token(null);
-
-        List rules = new ArrayList();
-
-		rules.add(new EndOfLineRule("//", comment));
-        rules.add(new EndOfLineRule("#", comment));
-
-        // Add rule for strings and character constants.
-        rules.add(new SingleLineRule("\"", "\"", string, '\\'));
-        rules.add(new SingleLineRule("'", "'", string, '\\'));
-
-        //for unfilled "holes"
-        //rules.add(new SingleLineRule("{", "}", comment));
-
-        // Add generic whitespace rule.
-        rules.add(new WhitespaceRule(new WhitespaceDetector()));
-
-        // Add word rule for keywords, types, and constants.
-        WordRule wordRule= new WordRule(new RuleWordDetector(), other);
-        for (int i= 0; i < DROOLS_KEYWORDS.length; i++)
-            wordRule.addWord(DROOLS_KEYWORDS[i], keyword);
-
-        for (int i= 0; i < JAVA_KEYWORDS.length; i++)
-            wordRule.addWord(JAVA_KEYWORDS[i], keyword);
-        for (int i= 0; i < JAVA_TYPES.length; i++)
-            wordRule.addWord(JAVA_TYPES[i], keyword);
-        for (int i= 0; i < JAVA_CONSTANTS.length; i++)
-            wordRule.addWord(JAVA_CONSTANTS[i], keyword);
-
-        //FIXME: this a bit brutal. we should identify different highlighting for Java and Mvel
-        for (int i= 0; i < MVEL_KEYWORDS.length; i++)
-            wordRule.addWord(MVEL_KEYWORDS[i], keyword);
-        for (int i= 0; i < MVEL_CONSTANTS.length; i++)
-            wordRule.addWord(MVEL_CONSTANTS[i], keyword);
-
-
-        rules.add(wordRule);
-
-        IRule[] result= new IRule[rules.size()];
-        rules.toArray(result);
-
-		setRules(result);
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,92 @@
+package org.drools.eclipse.editors.scanners;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.editors.ColorManager;
+import org.drools.eclipse.editors.Keywords;
+import org.eclipse.jface.text.TextAttribute;
+import org.eclipse.jface.text.rules.EndOfLineRule;
+import org.eclipse.jface.text.rules.IRule;
+import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.jface.text.rules.RuleBasedScanner;
+import org.eclipse.jface.text.rules.SingleLineRule;
+import org.eclipse.jface.text.rules.Token;
+import org.eclipse.jface.text.rules.WhitespaceRule;
+import org.eclipse.jface.text.rules.WordRule;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+
+
+
+/**
+ * Basic keyword scanner for syntax highlighting.
+ *
+ * @author Michael Neale
+ */
+public class DRLScanner extends RuleBasedScanner {
+
+	private static final Color KEYWORD_COLOR = ColorManager.getInstance().getColor(ColorManager.KEYWORD);
+	private static final Color COMMENT_COLOR = ColorManager.getInstance().getColor(ColorManager.SINGLE_LINE_COMMENT);
+    private static final Color STRING_COLOR = ColorManager.getInstance().getColor(ColorManager.STRING);
+
+    private static final String[] DROOLS_KEYWORDS = Keywords.getInstance().getAllDroolsKeywords();
+    private static final String[] JAVA_KEYWORDS = Keywords.getInstance().getAllJavaKeywords();
+    private static final String[] MVEL_KEYWORDS = Keywords.getInstance().getAllMvelKeywords();
+
+    private static final String[] JAVA_TYPES = { "void", "boolean", "char", "byte", "short", "strictfp", "int", "long", "float", "double" };
+
+    private static final String[] JAVA_CONSTANTS = { "false", "true", "null" };
+    private static final String[] MVEL_CONSTANTS = { "false", "true", "null", "nil", "empty", "this"  };
+
+
+	public DRLScanner() {
+
+		IToken keyword = new Token(new TextAttribute(KEYWORD_COLOR, null, SWT.BOLD));
+		IToken comment= new Token(new TextAttribute(COMMENT_COLOR));
+		IToken string = new Token(new TextAttribute(STRING_COLOR));
+		IToken other = new Token(null);
+
+        List rules = new ArrayList();
+
+		rules.add(new EndOfLineRule("//", comment));
+        rules.add(new EndOfLineRule("#", comment));
+
+        // Add rule for strings and character constants.
+        rules.add(new SingleLineRule("\"", "\"", string, '\\'));
+        rules.add(new SingleLineRule("'", "'", string, '\\'));
+
+        //for unfilled "holes"
+        //rules.add(new SingleLineRule("{", "}", comment));
+
+        // Add generic whitespace rule.
+        rules.add(new WhitespaceRule(new WhitespaceDetector()));
+
+        // Add word rule for keywords, types, and constants.
+        WordRule wordRule= new WordRule(new RuleWordDetector(), other);
+        for (int i= 0; i < DROOLS_KEYWORDS.length; i++)
+            wordRule.addWord(DROOLS_KEYWORDS[i], keyword);
+
+        for (int i= 0; i < JAVA_KEYWORDS.length; i++)
+            wordRule.addWord(JAVA_KEYWORDS[i], keyword);
+        for (int i= 0; i < JAVA_TYPES.length; i++)
+            wordRule.addWord(JAVA_TYPES[i], keyword);
+        for (int i= 0; i < JAVA_CONSTANTS.length; i++)
+            wordRule.addWord(JAVA_CONSTANTS[i], keyword);
+
+        //FIXME: this a bit brutal. we should identify different highlighting for Java and Mvel
+        for (int i= 0; i < MVEL_KEYWORDS.length; i++)
+            wordRule.addWord(MVEL_KEYWORDS[i], keyword);
+        for (int i= 0; i < MVEL_CONSTANTS.length; i++)
+            wordRule.addWord(MVEL_CONSTANTS[i], keyword);
+
+
+        rules.add(wordRule);
+
+        IRule[] result= new IRule[rules.size()];
+        rules.toArray(result);
+
+		setRules(result);
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.drools.eclipse.editors.scanners;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class RuleEditorMessages {
-
-    
-    
-	private static final String RESOURCE_BUNDLE= getLocation();
-    
-
-
-    
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private RuleEditorMessages() {
-	}
-
-	public static String getString(String key) {
-        
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-	
-	public static ResourceBundle getResourceBundle() {
-		return fgResourceBundle;
-	}
-
-    
-    private static String getLocation()  {
-        return RuleEditorMessages.class.getPackage().getName() + ".RuleEditorMessages";        
-    }    
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.drools.eclipse.editors.scanners;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class RuleEditorMessages {
+
+    
+    
+	private static final String RESOURCE_BUNDLE= getLocation();
+    
+
+
+    
+	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+
+	private RuleEditorMessages() {
+	}
+
+	public static String getString(String key) {
+        
+		try {
+			return fgResourceBundle.getString(key);
+		} catch (MissingResourceException e) {
+			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
+		}
+	}
+	
+	public static ResourceBundle getResourceBundle() {
+		return fgResourceBundle;
+	}
+
+    
+    private static String getLocation()  {
+        return RuleEditorMessages.class.getPackage().getName() + ".RuleEditorMessages";        
+    }    
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,20 +0,0 @@
-package org.drools.eclipse.editors.scanners;
-
-import org.eclipse.jface.text.rules.IWordDetector;
-
-public class RuleWordDetector implements IWordDetector {
-
-        /* (non-Javadoc)
-         * Method declared on IWordDetector.
-         */
-        public boolean isWordPart(char character) {            
-            return Character.isJavaIdentifierPart(character) || character == '-';
-        }
-        
-        /* (non-Javadoc)
-         * Method declared on IWordDetector.
-         */
-        public boolean isWordStart(char character) {
-            return Character.isJavaIdentifierStart(character);
-        }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,20 @@
+package org.drools.eclipse.editors.scanners;
+
+import org.eclipse.jface.text.rules.IWordDetector;
+
+public class RuleWordDetector implements IWordDetector {
+
+        /* (non-Javadoc)
+         * Method declared on IWordDetector.
+         */
+        public boolean isWordPart(char character) {            
+            return Character.isJavaIdentifierPart(character) || character == '-';
+        }
+        
+        /* (non-Javadoc)
+         * Method declared on IWordDetector.
+         */
+        public boolean isWordStart(char character) {
+            return Character.isJavaIdentifierStart(character);
+        }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,17 +0,0 @@
-package org.drools.eclipse.editors.scanners;
-
-import org.eclipse.jface.text.rules.IWhitespaceDetector;
-
-/**
- * A rule aware white space detector.
- */
-public class WhitespaceDetector implements IWhitespaceDetector {
-
-    /* (non-Javadoc)
-     * Method declared on IWhitespaceDetector
-     */
-    public boolean isWhitespace(char character) {
-        return Character.isWhitespace(character);
-    }
-}
-

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,17 @@
+package org.drools.eclipse.editors.scanners;
+
+import org.eclipse.jface.text.rules.IWhitespaceDetector;
+
+/**
+ * A rule aware white space detector.
+ */
+public class WhitespaceDetector implements IWhitespaceDetector {
+
+    /* (non-Javadoc)
+     * Method declared on IWhitespaceDetector
+     */
+    public boolean isWhitespace(char character) {
+        return Character.isWhitespace(character);
+    }
+}
+

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,52 +0,0 @@
-package org.drools.eclipse.flow.common.datatype;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.Set;
-
-import org.drools.ruleflow.common.datatype.DataTypeFactory;
-
-/**
- * A registry of datatypes.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface DataTypeRegistry {
-    
-	/**
-	 * Returns all registered data types.
-	 */
-    Set getDataTypes();
-    
-    void registerDataType(Class type, DataTypeFactory dataTypeFactory, String name,
-        Class valueEditorClass, Class dataTypeEditorClass);
-    
-    /**
-     * Returns the data type info of the data type with the given type
-     * @param type
-     * @return the data type info
-     * @throws IllegalArgumentException if the data type info of this type cannot be found
-     */
-    IDataTypeInfo getDataTypeInfo(Class type);
-    
-    interface IDataTypeInfo {
-        Class getType();
-        DataTypeFactory getDataTypeFactory();
-        String getName();
-        Class getDataTypeEditorClass();
-        Class getValueEditorClass();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,52 @@
+package org.drools.eclipse.flow.common.datatype;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.Set;
+
+import org.drools.ruleflow.common.datatype.DataTypeFactory;
+
+/**
+ * A registry of datatypes.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface DataTypeRegistry {
+    
+	/**
+	 * Returns all registered data types.
+	 */
+    Set getDataTypes();
+    
+    void registerDataType(Class type, DataTypeFactory dataTypeFactory, String name,
+        Class valueEditorClass, Class dataTypeEditorClass);
+    
+    /**
+     * Returns the data type info of the data type with the given type
+     * @param type
+     * @return the data type info
+     * @throws IllegalArgumentException if the data type info of this type cannot be found
+     */
+    IDataTypeInfo getDataTypeInfo(Class type);
+    
+    interface IDataTypeInfo {
+        Class getType();
+        DataTypeFactory getDataTypeFactory();
+        String getName();
+        Class getDataTypeEditorClass();
+        Class getValueEditorClass();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,74 +0,0 @@
-package org.drools.eclipse.flow.common.datatype;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.datatype.impl.DataTypeRegistryImpl;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.BooleanEditor;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.EmptyEditor;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.IntegerEditor;
-import org.drools.ruleflow.common.datatype.DataTypeFactory;
-import org.drools.ruleflow.common.datatype.impl.InstanceDataTypeFactory;
-import org.drools.ruleflow.common.datatype.impl.type.BooleanDataType;
-import org.drools.ruleflow.common.datatype.impl.type.FloatDataType;
-import org.drools.ruleflow.common.datatype.impl.type.IntegerDataType;
-import org.drools.ruleflow.common.datatype.impl.type.StringDataType;
-import org.drools.ruleflow.common.datatype.impl.type.UndefinedDataType;
-
-import sun.beans.editors.FloatEditor;
-import sun.beans.editors.StringEditor;
-
-/**
- * Default datatype registry containing default datatypes.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DefaultDataTypeRegistry {
-
-	private static final DataTypeRegistry variableDataTypeRegistry = new DataTypeRegistryImpl();
-
-	private DefaultDataTypeRegistry() {
-	}
-
-	static {
-		registerVariableDataType(UndefinedDataType.class,
-				new InstanceDataTypeFactory(UndefinedDataType.class),
-				"Undefined", EmptyEditor.class, EmptyEditor.class);
-		registerVariableDataType(BooleanDataType.class,
-				new InstanceDataTypeFactory(BooleanDataType.class), "Boolean",
-				BooleanEditor.class, EmptyEditor.class);
-		registerVariableDataType(IntegerDataType.class,
-				new InstanceDataTypeFactory(IntegerDataType.class), "Integer",
-				IntegerEditor.class, EmptyEditor.class);
-		registerVariableDataType(FloatDataType.class,
-				new InstanceDataTypeFactory(FloatDataType.class), "Float",
-				FloatEditor.class, EmptyEditor.class);
-		registerVariableDataType(StringDataType.class,
-				new InstanceDataTypeFactory(StringDataType.class), "String",
-				StringEditor.class, EmptyEditor.class);
-	}
-
-	public static void registerVariableDataType(Class type,
-			DataTypeFactory dataTypeFactory, String name,
-			Class valueEditorClass, Class dataTypeEditorClass) {
-		variableDataTypeRegistry.registerDataType(type, dataTypeFactory, name,
-				valueEditorClass, dataTypeEditorClass);
-	}
-
-	public static DataTypeRegistry getInstance() {
-		return variableDataTypeRegistry;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,74 @@
+package org.drools.eclipse.flow.common.datatype;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.datatype.impl.DataTypeRegistryImpl;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.BooleanEditor;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.EmptyEditor;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.IntegerEditor;
+import org.drools.ruleflow.common.datatype.DataTypeFactory;
+import org.drools.ruleflow.common.datatype.impl.InstanceDataTypeFactory;
+import org.drools.ruleflow.common.datatype.impl.type.BooleanDataType;
+import org.drools.ruleflow.common.datatype.impl.type.FloatDataType;
+import org.drools.ruleflow.common.datatype.impl.type.IntegerDataType;
+import org.drools.ruleflow.common.datatype.impl.type.StringDataType;
+import org.drools.ruleflow.common.datatype.impl.type.UndefinedDataType;
+
+import sun.beans.editors.FloatEditor;
+import sun.beans.editors.StringEditor;
+
+/**
+ * Default datatype registry containing default datatypes.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DefaultDataTypeRegistry {
+
+	private static final DataTypeRegistry variableDataTypeRegistry = new DataTypeRegistryImpl();
+
+	private DefaultDataTypeRegistry() {
+	}
+
+	static {
+		registerVariableDataType(UndefinedDataType.class,
+				new InstanceDataTypeFactory(UndefinedDataType.class),
+				"Undefined", EmptyEditor.class, EmptyEditor.class);
+		registerVariableDataType(BooleanDataType.class,
+				new InstanceDataTypeFactory(BooleanDataType.class), "Boolean",
+				BooleanEditor.class, EmptyEditor.class);
+		registerVariableDataType(IntegerDataType.class,
+				new InstanceDataTypeFactory(IntegerDataType.class), "Integer",
+				IntegerEditor.class, EmptyEditor.class);
+		registerVariableDataType(FloatDataType.class,
+				new InstanceDataTypeFactory(FloatDataType.class), "Float",
+				FloatEditor.class, EmptyEditor.class);
+		registerVariableDataType(StringDataType.class,
+				new InstanceDataTypeFactory(StringDataType.class), "String",
+				StringEditor.class, EmptyEditor.class);
+	}
+
+	public static void registerVariableDataType(Class type,
+			DataTypeFactory dataTypeFactory, String name,
+			Class valueEditorClass, Class dataTypeEditorClass) {
+		variableDataTypeRegistry.registerDataType(type, dataTypeFactory, name,
+				valueEditorClass, dataTypeEditorClass);
+	}
+
+	public static DataTypeRegistry getInstance() {
+		return variableDataTypeRegistry;
+	}
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,95 +0,0 @@
-package org.drools.eclipse.flow.common.datatype.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
-import org.drools.ruleflow.common.datatype.DataTypeFactory;
-
-/**
- * Default implementation of a datatype registry.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DataTypeRegistryImpl implements DataTypeRegistry {
-
-    private Map dataTypes = new HashMap();
-    
-    public Set getDataTypes() {
-        return new HashSet(dataTypes.values());
-    }
-
-    public void registerDataType(Class type, DataTypeFactory dataTypeFactory, String name,
-            Class valueEditorClass, Class dataTypeEditorClass) {
-        if (dataTypeFactory == null) {
-            throw new NullPointerException("Data type factory may not be null");
-        }
-        if (name == null) {
-            throw new NullPointerException("Name may not be null");
-        }
-        if (valueEditorClass == null) {
-            throw new NullPointerException("valueEditorClass may not be null");
-        }
-        if (dataTypeEditorClass == null) {
-            throw new NullPointerException("dataTypeEditorClass may not be null");
-        }
-        dataTypes.put(type, new DataTypeInfo(
-            type, dataTypeFactory, name, valueEditorClass, dataTypeEditorClass));
-    }
-    
-    public IDataTypeInfo getDataTypeInfo(Class type) {
-        IDataTypeInfo dataTypeInfo = (IDataTypeInfo) dataTypes.get(type);
-        if (dataTypeInfo == null) {
-            throw new IllegalArgumentException("Cannot find data type info with type " + type);
-        }
-        return dataTypeInfo;
-    }
-    
-    public class DataTypeInfo implements IDataTypeInfo {
-        private Class type;
-        private DataTypeFactory dataTypeFactory;
-        private String name;
-        private Class valueEditorClass;
-        private Class dataTypeEditorClass;
-        private DataTypeInfo(Class type, DataTypeFactory dataTypeFactory, String name,
-                Class valueEditorClass, Class dataTypeEditorClass) {
-            this.type = type;
-            this.dataTypeFactory = dataTypeFactory;
-            this.name = name;
-            this.valueEditorClass = valueEditorClass;
-            this.dataTypeEditorClass = dataTypeEditorClass;
-        }
-        public Class getType() {
-            return type;
-        }
-        public DataTypeFactory getDataTypeFactory() {
-            return dataTypeFactory;
-        }
-        public String getName() {
-            return name;
-        }
-        public Class getValueEditorClass() {
-            return valueEditorClass;
-        }
-        public Class getDataTypeEditorClass() {
-            return dataTypeEditorClass;
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,95 @@
+package org.drools.eclipse.flow.common.datatype.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
+import org.drools.ruleflow.common.datatype.DataTypeFactory;
+
+/**
+ * Default implementation of a datatype registry.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DataTypeRegistryImpl implements DataTypeRegistry {
+
+    private Map dataTypes = new HashMap();
+    
+    public Set getDataTypes() {
+        return new HashSet(dataTypes.values());
+    }
+
+    public void registerDataType(Class type, DataTypeFactory dataTypeFactory, String name,
+            Class valueEditorClass, Class dataTypeEditorClass) {
+        if (dataTypeFactory == null) {
+            throw new NullPointerException("Data type factory may not be null");
+        }
+        if (name == null) {
+            throw new NullPointerException("Name may not be null");
+        }
+        if (valueEditorClass == null) {
+            throw new NullPointerException("valueEditorClass may not be null");
+        }
+        if (dataTypeEditorClass == null) {
+            throw new NullPointerException("dataTypeEditorClass may not be null");
+        }
+        dataTypes.put(type, new DataTypeInfo(
+            type, dataTypeFactory, name, valueEditorClass, dataTypeEditorClass));
+    }
+    
+    public IDataTypeInfo getDataTypeInfo(Class type) {
+        IDataTypeInfo dataTypeInfo = (IDataTypeInfo) dataTypes.get(type);
+        if (dataTypeInfo == null) {
+            throw new IllegalArgumentException("Cannot find data type info with type " + type);
+        }
+        return dataTypeInfo;
+    }
+    
+    public class DataTypeInfo implements IDataTypeInfo {
+        private Class type;
+        private DataTypeFactory dataTypeFactory;
+        private String name;
+        private Class valueEditorClass;
+        private Class dataTypeEditorClass;
+        private DataTypeInfo(Class type, DataTypeFactory dataTypeFactory, String name,
+                Class valueEditorClass, Class dataTypeEditorClass) {
+            this.type = type;
+            this.dataTypeFactory = dataTypeFactory;
+            this.name = name;
+            this.valueEditorClass = valueEditorClass;
+            this.dataTypeEditorClass = dataTypeEditorClass;
+        }
+        public Class getType() {
+            return type;
+        }
+        public DataTypeFactory getDataTypeFactory() {
+            return dataTypeFactory;
+        }
+        public String getName() {
+            return name;
+        }
+        public Class getValueEditorClass() {
+            return valueEditorClass;
+        }
+        public Class getDataTypeEditorClass() {
+            return dataTypeEditorClass;
+        }
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,159 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-
-public class DropDownMenuWithDefaultAction extends Action
-    implements
-    IMenuCreator {
-
-    private Menu                    dropDownMenu;
-
-    private IAction                 delegate;
-
-    private List                    list;
-
-    private IPropertyChangeListener enabledListener;
-    private SelectionListener       selectionListener;
-
-    public DropDownMenuWithDefaultAction(final IAction action) {
-        this.selectionListener = new ItemSelectionListener( this );
-        setMenuCreator( this );
-        this.dropDownMenu = null;
-        setAction( action );
-        this.list = new ArrayList();
-    }
-
-    public void dispose() {
-        if ( this.dropDownMenu != null ) {
-            this.dropDownMenu.dispose();
-            this.dropDownMenu = null;
-        }
-    }
-
-    public void add(final IContributionItem item) {
-        this.list.add( item );
-    }
-
-    public void add(final IAction action) {
-        this.list.add( action );
-    }
-
-    public Menu getMenu(final Control parent) {
-        if ( this.dropDownMenu == null ) {
-            this.dropDownMenu = new Menu( parent );
-            populateMenu();
-        }
-        return this.dropDownMenu;
-    }
-
-    public Menu getMenu(final Menu parent) {
-        if ( this.dropDownMenu == null ) {
-            this.dropDownMenu = new Menu( parent );
-            populateMenu();
-        }
-        return this.dropDownMenu;
-    }
-
-    private void populateMenu() {
-        for ( final Iterator it = this.list.iterator(); it.hasNext(); ) {
-            final Object object = it.next();
-            if ( object instanceof IContributionItem ) {
-                final IContributionItem item = (IContributionItem) object;
-                item.fill( this.dropDownMenu,
-                           -1 );
-            } else {
-                final IAction action = (IAction) object;
-                final ActionContributionItem item = new ActionContributionItem( action );
-                item.fill( this.dropDownMenu,
-                           -1 );
-            }
-        }
-        final MenuItem[] items = this.dropDownMenu.getItems();
-        for ( int i = 0; i < items.length; i++ ) {
-            items[i].addSelectionListener( this.selectionListener );
-        }
-    }
-
-    public void setAction(final IAction action) {
-        if ( this.enabledListener == null ) {
-            this.enabledListener = new EnabledPropertyChangeListener( this );
-        }
-        setText( action.getText() );
-        setToolTipText( action.getToolTipText() );
-        setImageDescriptor( action.getImageDescriptor() );
-        setDisabledImageDescriptor( action.getDisabledImageDescriptor() );
-        setEnabled( action.isEnabled() );
-        setDescription( action.getDescription() );
-        setHelpListener( action.getHelpListener() );
-        setHoverImageDescriptor( action.getHoverImageDescriptor() );
-        if ( this.delegate != null ) {
-            this.delegate.removePropertyChangeListener( this.enabledListener );
-        }
-        this.delegate = action;
-        this.delegate.addPropertyChangeListener( this.enabledListener );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run() {
-        this.delegate.run();
-    }
-
-    public static class EnabledPropertyChangeListener
-        implements
-        IPropertyChangeListener {
-        private IAction action;
-
-        public EnabledPropertyChangeListener(final IAction action) {
-            this.action = action;
-        }
-
-        public void propertyChange(final PropertyChangeEvent event) {
-            if ( event.getProperty().equals( IAction.ENABLED ) ) {
-                this.action.setEnabled( ((Boolean) event.getNewValue()).booleanValue() );
-            }
-        }
-    }
-
-    public static class ItemSelectionListener
-        implements
-        SelectionListener {
-        private DropDownMenuWithDefaultAction dropDownMenu;
-
-        public ItemSelectionListener(final DropDownMenuWithDefaultAction dropDownMenu) {
-            this.dropDownMenu = dropDownMenu;
-        }
-
-        public void widgetDefaultSelected(final SelectionEvent e) {
-            final MenuItem menuItem = (MenuItem) e.getSource();
-            if ( menuItem.getData() instanceof ActionContributionItem ) {
-                final ActionContributionItem item = (ActionContributionItem) menuItem.getData();
-                this.dropDownMenu.setAction( item.getAction() );
-            }
-        }
-
-        public void widgetSelected(final SelectionEvent e) {
-            final MenuItem menuItem = (MenuItem) e.getSource();
-            if ( menuItem.getData() instanceof ActionContributionItem ) {
-                final ActionContributionItem item = (ActionContributionItem) menuItem.getData();
-                this.dropDownMenu.setAction( item.getAction() );
-            }
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,159 @@
+package org.drools.eclipse.flow.common.editor;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IMenuCreator;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
+
+public class DropDownMenuWithDefaultAction extends Action
+    implements
+    IMenuCreator {
+
+    private Menu                    dropDownMenu;
+
+    private IAction                 delegate;
+
+    private List                    list;
+
+    private IPropertyChangeListener enabledListener;
+    private SelectionListener       selectionListener;
+
+    public DropDownMenuWithDefaultAction(final IAction action) {
+        this.selectionListener = new ItemSelectionListener( this );
+        setMenuCreator( this );
+        this.dropDownMenu = null;
+        setAction( action );
+        this.list = new ArrayList();
+    }
+
+    public void dispose() {
+        if ( this.dropDownMenu != null ) {
+            this.dropDownMenu.dispose();
+            this.dropDownMenu = null;
+        }
+    }
+
+    public void add(final IContributionItem item) {
+        this.list.add( item );
+    }
+
+    public void add(final IAction action) {
+        this.list.add( action );
+    }
+
+    public Menu getMenu(final Control parent) {
+        if ( this.dropDownMenu == null ) {
+            this.dropDownMenu = new Menu( parent );
+            populateMenu();
+        }
+        return this.dropDownMenu;
+    }
+
+    public Menu getMenu(final Menu parent) {
+        if ( this.dropDownMenu == null ) {
+            this.dropDownMenu = new Menu( parent );
+            populateMenu();
+        }
+        return this.dropDownMenu;
+    }
+
+    private void populateMenu() {
+        for ( final Iterator it = this.list.iterator(); it.hasNext(); ) {
+            final Object object = it.next();
+            if ( object instanceof IContributionItem ) {
+                final IContributionItem item = (IContributionItem) object;
+                item.fill( this.dropDownMenu,
+                           -1 );
+            } else {
+                final IAction action = (IAction) object;
+                final ActionContributionItem item = new ActionContributionItem( action );
+                item.fill( this.dropDownMenu,
+                           -1 );
+            }
+        }
+        final MenuItem[] items = this.dropDownMenu.getItems();
+        for ( int i = 0; i < items.length; i++ ) {
+            items[i].addSelectionListener( this.selectionListener );
+        }
+    }
+
+    public void setAction(final IAction action) {
+        if ( this.enabledListener == null ) {
+            this.enabledListener = new EnabledPropertyChangeListener( this );
+        }
+        setText( action.getText() );
+        setToolTipText( action.getToolTipText() );
+        setImageDescriptor( action.getImageDescriptor() );
+        setDisabledImageDescriptor( action.getDisabledImageDescriptor() );
+        setEnabled( action.isEnabled() );
+        setDescription( action.getDescription() );
+        setHelpListener( action.getHelpListener() );
+        setHoverImageDescriptor( action.getHoverImageDescriptor() );
+        if ( this.delegate != null ) {
+            this.delegate.removePropertyChangeListener( this.enabledListener );
+        }
+        this.delegate = action;
+        this.delegate.addPropertyChangeListener( this.enabledListener );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+     */
+    public void run() {
+        this.delegate.run();
+    }
+
+    public static class EnabledPropertyChangeListener
+        implements
+        IPropertyChangeListener {
+        private IAction action;
+
+        public EnabledPropertyChangeListener(final IAction action) {
+            this.action = action;
+        }
+
+        public void propertyChange(final PropertyChangeEvent event) {
+            if ( event.getProperty().equals( IAction.ENABLED ) ) {
+                this.action.setEnabled( ((Boolean) event.getNewValue()).booleanValue() );
+            }
+        }
+    }
+
+    public static class ItemSelectionListener
+        implements
+        SelectionListener {
+        private DropDownMenuWithDefaultAction dropDownMenu;
+
+        public ItemSelectionListener(final DropDownMenuWithDefaultAction dropDownMenu) {
+            this.dropDownMenu = dropDownMenu;
+        }
+
+        public void widgetDefaultSelected(final SelectionEvent e) {
+            final MenuItem menuItem = (MenuItem) e.getSource();
+            if ( menuItem.getData() instanceof ActionContributionItem ) {
+                final ActionContributionItem item = (ActionContributionItem) menuItem.getData();
+                this.dropDownMenu.setAction( item.getAction() );
+            }
+        }
+
+        public void widgetSelected(final SelectionEvent e) {
+            final MenuItem menuItem = (MenuItem) e.getSource();
+            if ( menuItem.getData() instanceof ActionContributionItem ) {
+                final ActionContributionItem item = (ActionContributionItem) menuItem.getData();
+                this.dropDownMenu.setAction( item.getAction() );
+            }
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,83 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.gef.ui.actions.ActionBarContributor;
-import org.eclipse.gef.ui.actions.AlignmentRetargetAction;
-import org.eclipse.gef.ui.actions.DeleteRetargetAction;
-import org.eclipse.gef.ui.actions.GEFActionConstants;
-import org.eclipse.gef.ui.actions.RedoRetargetAction;
-import org.eclipse.gef.ui.actions.UndoRetargetAction;
-import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
-import org.eclipse.gef.ui.actions.ZoomInRetargetAction;
-import org.eclipse.gef.ui.actions.ZoomOutRetargetAction;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.RetargetAction;
-
-/**
- * Common implementation of a ActionBarContributor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class GenericActionBarContributor extends ActionBarContributor {
-
-    protected void buildActions() {
-        addRetargetAction( new UndoRetargetAction() );
-        addRetargetAction( new RedoRetargetAction() );
-        addRetargetAction( new DeleteRetargetAction() );
-
-    	addRetargetAction( new ZoomInRetargetAction() );
-    	addRetargetAction( new ZoomOutRetargetAction() );
-    	
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.LEFT ) );
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.CENTER ) );
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.RIGHT ) );
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.TOP ) );
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.MIDDLE ) );
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.BOTTOM ) );
-        
-    	addRetargetAction( new RetargetAction(
-			GEFActionConstants.TOGGLE_GRID_VISIBILITY, "Grid" ));
-    }
-
-    public void contributeToToolBar(IToolBarManager toolBarManager) {
-        toolBarManager.add( getAction( ActionFactory.UNDO.getId() ) );
-        toolBarManager.add( getAction( ActionFactory.REDO.getId() ) );
-        toolBarManager.add( new Separator() );
-        toolBarManager.add( new ZoomComboContributionItem( getPage() ) );
-        toolBarManager.add( new Separator() );                              
-        
-        DropDownMenuWithDefaultAction alignMenu = new DropDownMenuWithDefaultAction( getActionRegistry().getAction( GEFActionConstants.ALIGN_LEFT ) );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_LEFT ) );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_CENTER ) );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_RIGHT ) );
-        alignMenu.add( new Separator() );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_TOP ) );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_MIDDLE ) );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_BOTTOM ) );
-        toolBarManager.add( alignMenu );
-        
-        toolBarManager.add( new Separator() );                              
-        toolBarManager.add( getAction(GEFActionConstants.TOGGLE_GRID_VISIBILITY) );
-    }
-    
-    protected void declareGlobalActionKeys() {
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,83 @@
+package org.drools.eclipse.flow.common.editor;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.draw2d.PositionConstants;
+import org.eclipse.gef.ui.actions.ActionBarContributor;
+import org.eclipse.gef.ui.actions.AlignmentRetargetAction;
+import org.eclipse.gef.ui.actions.DeleteRetargetAction;
+import org.eclipse.gef.ui.actions.GEFActionConstants;
+import org.eclipse.gef.ui.actions.RedoRetargetAction;
+import org.eclipse.gef.ui.actions.UndoRetargetAction;
+import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
+import org.eclipse.gef.ui.actions.ZoomInRetargetAction;
+import org.eclipse.gef.ui.actions.ZoomOutRetargetAction;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.ui.actions.ActionFactory;
+import org.eclipse.ui.actions.RetargetAction;
+
+/**
+ * Common implementation of a ActionBarContributor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class GenericActionBarContributor extends ActionBarContributor {
+
+    protected void buildActions() {
+        addRetargetAction( new UndoRetargetAction() );
+        addRetargetAction( new RedoRetargetAction() );
+        addRetargetAction( new DeleteRetargetAction() );
+
+    	addRetargetAction( new ZoomInRetargetAction() );
+    	addRetargetAction( new ZoomOutRetargetAction() );
+    	
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.LEFT ) );
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.CENTER ) );
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.RIGHT ) );
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.TOP ) );
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.MIDDLE ) );
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.BOTTOM ) );
+        
+    	addRetargetAction( new RetargetAction(
+			GEFActionConstants.TOGGLE_GRID_VISIBILITY, "Grid" ));
+    }
+
+    public void contributeToToolBar(IToolBarManager toolBarManager) {
+        toolBarManager.add( getAction( ActionFactory.UNDO.getId() ) );
+        toolBarManager.add( getAction( ActionFactory.REDO.getId() ) );
+        toolBarManager.add( new Separator() );
+        toolBarManager.add( new ZoomComboContributionItem( getPage() ) );
+        toolBarManager.add( new Separator() );                              
+        
+        DropDownMenuWithDefaultAction alignMenu = new DropDownMenuWithDefaultAction( getActionRegistry().getAction( GEFActionConstants.ALIGN_LEFT ) );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_LEFT ) );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_CENTER ) );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_RIGHT ) );
+        alignMenu.add( new Separator() );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_TOP ) );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_MIDDLE ) );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_BOTTOM ) );
+        toolBarManager.add( alignMenu );
+        
+        toolBarManager.add( new Separator() );                              
+        toolBarManager.add( getAction(GEFActionConstants.TOGGLE_GRID_VISIBILITY) );
+    }
+    
+    protected void declareGlobalActionKeys() {
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,65 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.gef.ContextMenuProvider;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.ui.actions.ActionRegistry;
-import org.eclipse.gef.ui.actions.GEFActionConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.actions.ActionFactory;
-
-/**
- * Common implementation of a ContextMenuProvider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class GenericContextMenuProvider extends ContextMenuProvider {
-
-	private ActionRegistry actionRegistry;
-
-	public GenericContextMenuProvider(GraphicalViewer viewer,
-			ActionRegistry registry) {
-		super(viewer);
-		setActionRegistry(registry);
-	}
-
-	public void buildContextMenu(IMenuManager menu) {
-		GEFActionConstants.addStandardActionGroups(menu);
-
-		IAction action = getActionRegistry().getAction(
-				ActionFactory.UNDO.getId());
-		menu.appendToGroup(GEFActionConstants.GROUP_UNDO, action);
-
-		action = getActionRegistry().getAction(ActionFactory.REDO.getId());
-		menu.appendToGroup(GEFActionConstants.GROUP_UNDO, action);
-
-		action = getActionRegistry().getAction(ActionFactory.DELETE.getId());
-		if (action.isEnabled()) {
-			menu.appendToGroup(GEFActionConstants.GROUP_EDIT, action);
-		}
-	}
-
-	private ActionRegistry getActionRegistry() {
-		return actionRegistry;
-	}
-
-	public void setActionRegistry(ActionRegistry registry) {
-		actionRegistry = registry;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,65 @@
+package org.drools.eclipse.flow.common.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.gef.ContextMenuProvider;
+import org.eclipse.gef.GraphicalViewer;
+import org.eclipse.gef.ui.actions.ActionRegistry;
+import org.eclipse.gef.ui.actions.GEFActionConstants;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.ui.actions.ActionFactory;
+
+/**
+ * Common implementation of a ContextMenuProvider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class GenericContextMenuProvider extends ContextMenuProvider {
+
+	private ActionRegistry actionRegistry;
+
+	public GenericContextMenuProvider(GraphicalViewer viewer,
+			ActionRegistry registry) {
+		super(viewer);
+		setActionRegistry(registry);
+	}
+
+	public void buildContextMenu(IMenuManager menu) {
+		GEFActionConstants.addStandardActionGroups(menu);
+
+		IAction action = getActionRegistry().getAction(
+				ActionFactory.UNDO.getId());
+		menu.appendToGroup(GEFActionConstants.GROUP_UNDO, action);
+
+		action = getActionRegistry().getAction(ActionFactory.REDO.getId());
+		menu.appendToGroup(GEFActionConstants.GROUP_UNDO, action);
+
+		action = getActionRegistry().getAction(ActionFactory.DELETE.getId());
+		if (action.isEnabled()) {
+			menu.appendToGroup(GEFActionConstants.GROUP_EDIT, action);
+		}
+	}
+
+	private ActionRegistry getActionRegistry() {
+		return actionRegistry;
+	}
+
+	public void setActionRegistry(ActionRegistry registry) {
+		actionRegistry = registry;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,311 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.OutputStream;
-import java.util.EventObject;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.gef.ContextMenuProvider;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPartFactory;
-import org.eclipse.gef.KeyHandler;
-import org.eclipse.gef.KeyStroke;
-import org.eclipse.gef.editparts.ScalableRootEditPart;
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.ui.actions.ActionRegistry;
-import org.eclipse.gef.ui.actions.AlignmentAction;
-import org.eclipse.gef.ui.actions.DirectEditAction;
-import org.eclipse.gef.ui.actions.GEFActionConstants;
-import org.eclipse.gef.ui.actions.ToggleGridAction;
-import org.eclipse.gef.ui.parts.GraphicalEditorWithPalette;
-import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SaveAsDialog;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * Abstract implementation of a graphical editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class GenericModelEditor extends GraphicalEditorWithPalette {
-
-	private Object model;
-	private boolean savePreviouslyNeeded = false;
-	private KeyHandler sharedKeyHandler;
-	private PaletteRoot root;
-	private OverviewOutlinePage overviewOutlinePage;
-
-	public GenericModelEditor() {
-		setEditDomain(new DefaultEditDomain(this));
-	}
-
-	protected void setModel(Object model) {
-		this.model = model;
-	}
-
-	protected Object getModel() {
-		return model;
-	}
-
-	protected void createActions() {
-		super.createActions();
-		ActionRegistry registry = getActionRegistry();
-
-		IAction action = new DirectEditAction((IWorkbenchPart) this);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.LEFT);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.CENTER);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.RIGHT);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.TOP);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.MIDDLE);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.BOTTOM);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-	}
-
-	public void commandStackChanged(EventObject event) {
-		if (isDirty()) {
-			if (!savePreviouslyNeeded()) {
-				setSavePreviouslyNeeded(true);
-				firePropertyChange(IEditorPart.PROP_DIRTY);
-			}
-		} else {
-			setSavePreviouslyNeeded(false);
-			firePropertyChange(IEditorPart.PROP_DIRTY);
-		}
-		super.commandStackChanged(event);
-	}
-
-	protected void createOutputStream(OutputStream os) throws IOException {
-		ObjectOutputStream out = new ObjectOutputStream(os);
-		out.writeObject(model);
-		out.close();
-	}
-
-	protected void configureGraphicalViewer() {
-		super.configureGraphicalViewer();
-		getGraphicalViewer().setRootEditPart(new ScalableRootEditPart());
-		getGraphicalViewer().setEditPartFactory(createEditPartFactory());
-		getGraphicalViewer().setKeyHandler(
-				new GraphicalViewerKeyHandler(getGraphicalViewer())
-						.setParent(getCommonKeyHandler()));
-
-		IAction showGrid = new ToggleGridAction(getGraphicalViewer());
-		getActionRegistry().registerAction(showGrid);
-
-		ContextMenuProvider provider = new GenericContextMenuProvider(
-				getGraphicalViewer(), getActionRegistry());
-		getGraphicalViewer().setContextMenu(provider);
-		getSite().registerContextMenu("org.drools.eclipse.flow.editor.contextmenu",
-				provider, getGraphicalViewer());
-	}
-	
-	protected abstract EditPartFactory createEditPartFactory();
-
-	protected void initializeGraphicalViewer() {
-		getGraphicalViewer().setContents(model);
-	}
-
-	public void doSave(IProgressMonitor monitor) {
-		try {
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			createOutputStream(out);
-			IFile file = ((IFileEditorInput) getEditorInput()).getFile();
-			file.setContents(new ByteArrayInputStream(out.toByteArray()), true,
-					false, monitor);
-			out.close();
-			getCommandStack().markSaveLocation();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	public void doSaveAs() {
-		SaveAsDialog dialog = new SaveAsDialog(getSite().getWorkbenchWindow()
-				.getShell());
-		dialog.setOriginalFile(((IFileEditorInput) getEditorInput()).getFile());
-		dialog.open();
-		IPath path = dialog.getResult();
-
-		if (path == null) {
-			return;
-		}
-
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		final IFile file = workspace.getRoot().getFile(path);
-
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			public void execute(final IProgressMonitor monitor)
-					throws CoreException {
-				try {
-					ByteArrayOutputStream out = new ByteArrayOutputStream();
-					createOutputStream(out);
-					file.create(new ByteArrayInputStream(out.toByteArray()),
-							true, monitor);
-					out.close();
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
-		};
-
-		try {
-			new ProgressMonitorDialog(getSite().getWorkbenchWindow().getShell())
-					.run(false, true, op);
-			setInput(new FileEditorInput(file));
-			getCommandStack().markSaveLocation();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	protected KeyHandler getCommonKeyHandler() {
-		if (sharedKeyHandler == null) {
-			sharedKeyHandler = new KeyHandler();
-			sharedKeyHandler
-					.put(KeyStroke.getPressed(SWT.DEL, 127, 0),
-							getActionRegistry().getAction(
-									ActionFactory.DELETE.getId()));
-			sharedKeyHandler.put(KeyStroke.getPressed(SWT.F2, 0),
-					getActionRegistry().getAction(
-							GEFActionConstants.DIRECT_EDIT));
-		}
-		return sharedKeyHandler;
-	}
-
-	public boolean isDirty() {
-		return isSaveOnCloseNeeded();
-	}
-
-	public boolean isSaveAsAllowed() {
-		return true;
-	}
-
-	public boolean isSaveOnCloseNeeded() {
-		return getCommandStack().isDirty();
-	}
-
-	private boolean savePreviouslyNeeded() {
-		return savePreviouslyNeeded;
-	}
-
-	private void setSavePreviouslyNeeded(boolean value) {
-		savePreviouslyNeeded = value;
-	}
-
-	protected PaletteRoot getPaletteRoot() {
-		if (root == null) {
-			root = createPalette();
-		}
-		return root;
-	}
-
-	protected abstract PaletteRoot createPalette();
-
-	protected void setInput(IEditorInput input) {
-		super.setInput(input);
-
-		IFile file = ((IFileEditorInput) input).getFile();
-		setPartName(file.getName());
-		try {
-			InputStream is = file.getContents(false);
-			createInputStream(is);
-		} catch (Exception e) {
-			DroolsEclipsePlugin.log(e);
-			model = createModel();
-		}
-		if (getGraphicalViewer() != null) {
-			initializeGraphicalViewer();
-		}
-	}
-
-	protected void createInputStream(InputStream is) throws Exception {
-		ObjectInputStream ois = new ObjectInputStreamWithLoader(is, getClass()
-				.getClassLoader());
-		model = ois.readObject();
-		ois.close();
-	}
-
-	protected abstract Object createModel();
-
-	public Object getAdapter(Class type) {
-		if (type == IContentOutlinePage.class) {
-			return getOverviewOutlinePage();
-		}
-		if (type == ZoomManager.class) {
-			return ((ScalableRootEditPart) getGraphicalViewer()
-					.getRootEditPart()).getZoomManager();
-		}
-		return super.getAdapter(type);
-	}
-
-	protected OverviewOutlinePage getOverviewOutlinePage() {
-		if (null == overviewOutlinePage && null != getGraphicalViewer()) {
-			ScalableRootEditPart rootEditPart = (ScalableRootEditPart) getGraphicalViewer()
-					.getRootEditPart();
-			overviewOutlinePage = new OverviewOutlinePage(rootEditPart);
-		}
-		return overviewOutlinePage;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,311 @@
+package org.drools.eclipse.flow.common.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.OutputStream;
+import java.util.EventObject;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.PositionConstants;
+import org.eclipse.gef.ContextMenuProvider;
+import org.eclipse.gef.DefaultEditDomain;
+import org.eclipse.gef.EditPartFactory;
+import org.eclipse.gef.KeyHandler;
+import org.eclipse.gef.KeyStroke;
+import org.eclipse.gef.editparts.ScalableRootEditPart;
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.gef.ui.actions.ActionRegistry;
+import org.eclipse.gef.ui.actions.AlignmentAction;
+import org.eclipse.gef.ui.actions.DirectEditAction;
+import org.eclipse.gef.ui.actions.GEFActionConstants;
+import org.eclipse.gef.ui.actions.ToggleGridAction;
+import org.eclipse.gef.ui.parts.GraphicalEditorWithPalette;
+import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.actions.ActionFactory;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.SaveAsDialog;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+/**
+ * Abstract implementation of a graphical editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class GenericModelEditor extends GraphicalEditorWithPalette {
+
+	private Object model;
+	private boolean savePreviouslyNeeded = false;
+	private KeyHandler sharedKeyHandler;
+	private PaletteRoot root;
+	private OverviewOutlinePage overviewOutlinePage;
+
+	public GenericModelEditor() {
+		setEditDomain(new DefaultEditDomain(this));
+	}
+
+	protected void setModel(Object model) {
+		this.model = model;
+	}
+
+	protected Object getModel() {
+		return model;
+	}
+
+	protected void createActions() {
+		super.createActions();
+		ActionRegistry registry = getActionRegistry();
+
+		IAction action = new DirectEditAction((IWorkbenchPart) this);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.LEFT);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.CENTER);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.RIGHT);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.TOP);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.MIDDLE);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.BOTTOM);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+	}
+
+	public void commandStackChanged(EventObject event) {
+		if (isDirty()) {
+			if (!savePreviouslyNeeded()) {
+				setSavePreviouslyNeeded(true);
+				firePropertyChange(IEditorPart.PROP_DIRTY);
+			}
+		} else {
+			setSavePreviouslyNeeded(false);
+			firePropertyChange(IEditorPart.PROP_DIRTY);
+		}
+		super.commandStackChanged(event);
+	}
+
+	protected void createOutputStream(OutputStream os) throws IOException {
+		ObjectOutputStream out = new ObjectOutputStream(os);
+		out.writeObject(model);
+		out.close();
+	}
+
+	protected void configureGraphicalViewer() {
+		super.configureGraphicalViewer();
+		getGraphicalViewer().setRootEditPart(new ScalableRootEditPart());
+		getGraphicalViewer().setEditPartFactory(createEditPartFactory());
+		getGraphicalViewer().setKeyHandler(
+				new GraphicalViewerKeyHandler(getGraphicalViewer())
+						.setParent(getCommonKeyHandler()));
+
+		IAction showGrid = new ToggleGridAction(getGraphicalViewer());
+		getActionRegistry().registerAction(showGrid);
+
+		ContextMenuProvider provider = new GenericContextMenuProvider(
+				getGraphicalViewer(), getActionRegistry());
+		getGraphicalViewer().setContextMenu(provider);
+		getSite().registerContextMenu("org.drools.eclipse.flow.editor.contextmenu",
+				provider, getGraphicalViewer());
+	}
+	
+	protected abstract EditPartFactory createEditPartFactory();
+
+	protected void initializeGraphicalViewer() {
+		getGraphicalViewer().setContents(model);
+	}
+
+	public void doSave(IProgressMonitor monitor) {
+		try {
+			ByteArrayOutputStream out = new ByteArrayOutputStream();
+			createOutputStream(out);
+			IFile file = ((IFileEditorInput) getEditorInput()).getFile();
+			file.setContents(new ByteArrayInputStream(out.toByteArray()), true,
+					false, monitor);
+			out.close();
+			getCommandStack().markSaveLocation();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
+	public void doSaveAs() {
+		SaveAsDialog dialog = new SaveAsDialog(getSite().getWorkbenchWindow()
+				.getShell());
+		dialog.setOriginalFile(((IFileEditorInput) getEditorInput()).getFile());
+		dialog.open();
+		IPath path = dialog.getResult();
+
+		if (path == null) {
+			return;
+		}
+
+		IWorkspace workspace = ResourcesPlugin.getWorkspace();
+		final IFile file = workspace.getRoot().getFile(path);
+
+		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+			public void execute(final IProgressMonitor monitor)
+					throws CoreException {
+				try {
+					ByteArrayOutputStream out = new ByteArrayOutputStream();
+					createOutputStream(out);
+					file.create(new ByteArrayInputStream(out.toByteArray()),
+							true, monitor);
+					out.close();
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		};
+
+		try {
+			new ProgressMonitorDialog(getSite().getWorkbenchWindow().getShell())
+					.run(false, true, op);
+			setInput(new FileEditorInput(file));
+			getCommandStack().markSaveLocation();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
+	protected KeyHandler getCommonKeyHandler() {
+		if (sharedKeyHandler == null) {
+			sharedKeyHandler = new KeyHandler();
+			sharedKeyHandler
+					.put(KeyStroke.getPressed(SWT.DEL, 127, 0),
+							getActionRegistry().getAction(
+									ActionFactory.DELETE.getId()));
+			sharedKeyHandler.put(KeyStroke.getPressed(SWT.F2, 0),
+					getActionRegistry().getAction(
+							GEFActionConstants.DIRECT_EDIT));
+		}
+		return sharedKeyHandler;
+	}
+
+	public boolean isDirty() {
+		return isSaveOnCloseNeeded();
+	}
+
+	public boolean isSaveAsAllowed() {
+		return true;
+	}
+
+	public boolean isSaveOnCloseNeeded() {
+		return getCommandStack().isDirty();
+	}
+
+	private boolean savePreviouslyNeeded() {
+		return savePreviouslyNeeded;
+	}
+
+	private void setSavePreviouslyNeeded(boolean value) {
+		savePreviouslyNeeded = value;
+	}
+
+	protected PaletteRoot getPaletteRoot() {
+		if (root == null) {
+			root = createPalette();
+		}
+		return root;
+	}
+
+	protected abstract PaletteRoot createPalette();
+
+	protected void setInput(IEditorInput input) {
+		super.setInput(input);
+
+		IFile file = ((IFileEditorInput) input).getFile();
+		setPartName(file.getName());
+		try {
+			InputStream is = file.getContents(false);
+			createInputStream(is);
+		} catch (Exception e) {
+			DroolsEclipsePlugin.log(e);
+			model = createModel();
+		}
+		if (getGraphicalViewer() != null) {
+			initializeGraphicalViewer();
+		}
+	}
+
+	protected void createInputStream(InputStream is) throws Exception {
+		ObjectInputStream ois = new ObjectInputStreamWithLoader(is, getClass()
+				.getClassLoader());
+		model = ois.readObject();
+		ois.close();
+	}
+
+	protected abstract Object createModel();
+
+	public Object getAdapter(Class type) {
+		if (type == IContentOutlinePage.class) {
+			return getOverviewOutlinePage();
+		}
+		if (type == ZoomManager.class) {
+			return ((ScalableRootEditPart) getGraphicalViewer()
+					.getRootEditPart()).getZoomManager();
+		}
+		return super.getAdapter(type);
+	}
+
+	protected OverviewOutlinePage getOverviewOutlinePage() {
+		if (null == overviewOutlinePage && null != getGraphicalViewer()) {
+			ScalableRootEditPart rootEditPart = (ScalableRootEditPart) getGraphicalViewer()
+					.getRootEditPart();
+			overviewOutlinePage = new OverviewOutlinePage(rootEditPart);
+		}
+		return overviewOutlinePage;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,92 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectStreamClass;
-import java.io.StreamCorruptedException;
-import java.lang.reflect.Array;
-
-/**
- * Implementation of an ObjectInputStream that has a custom classloader.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ObjectInputStreamWithLoader extends ObjectInputStream {
-
-    private ClassLoader loader;
-
-    /**
-     * Loader must be non-null;
-     */
-    public ObjectInputStreamWithLoader(InputStream in, ClassLoader loader)
-            throws IOException, StreamCorruptedException {
-        super(in);
-        if (loader == null) {
-            throw new IllegalArgumentException("Illegal null argument to ObjectInputStreamWithLoader");
-        }
-        this.loader = loader;
-    }
-
-    /**
-     * Make a primitive array class
-     */
-    private Class primitiveType(char type) {
-        switch (type) {
-            case 'B': return byte.class;
-            case 'C': return char.class;
-            case 'D': return double.class;
-            case 'F': return float.class;
-            case 'I': return int.class;
-            case 'J': return long.class;
-            case 'S': return short.class;
-            case 'Z': return boolean.class;
-            default: return null;
-        }
-    }
-
-    /**
-     * Use the given ClassLoader rather than using the system class
-     */
-    protected Class resolveClass(ObjectStreamClass classDesc)
-            throws IOException, ClassNotFoundException {
-        String cname = classDesc.getName();
-        if (cname.startsWith("[")) {
-            // An array
-            Class component = null;        // component class
-            int dcount;         // dimension
-            for (dcount=1; cname.charAt(dcount)=='['; dcount++);
-            if (cname.charAt(dcount) == 'L') {
-                String className = cname.substring(dcount+1, cname.length()-1);
-                component = loader.loadClass(className);
-            } else {
-                if (cname.length() != dcount + 1) {
-                    throw new ClassNotFoundException(cname);// malformed
-                }
-                component = primitiveType(cname.charAt(dcount));
-            }
-            int dim[] = new int[dcount];
-            for (int i = 0; i < dcount; i++) {
-                dim[i]=0;
-            }
-            return Array.newInstance(component, dim).getClass();
-        }
-        return loader.loadClass(cname);
-    }
-}
-

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,92 @@
+package org.drools.eclipse.flow.common.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectStreamClass;
+import java.io.StreamCorruptedException;
+import java.lang.reflect.Array;
+
+/**
+ * Implementation of an ObjectInputStream that has a custom classloader.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ObjectInputStreamWithLoader extends ObjectInputStream {
+
+    private ClassLoader loader;
+
+    /**
+     * Loader must be non-null;
+     */
+    public ObjectInputStreamWithLoader(InputStream in, ClassLoader loader)
+            throws IOException, StreamCorruptedException {
+        super(in);
+        if (loader == null) {
+            throw new IllegalArgumentException("Illegal null argument to ObjectInputStreamWithLoader");
+        }
+        this.loader = loader;
+    }
+
+    /**
+     * Make a primitive array class
+     */
+    private Class primitiveType(char type) {
+        switch (type) {
+            case 'B': return byte.class;
+            case 'C': return char.class;
+            case 'D': return double.class;
+            case 'F': return float.class;
+            case 'I': return int.class;
+            case 'J': return long.class;
+            case 'S': return short.class;
+            case 'Z': return boolean.class;
+            default: return null;
+        }
+    }
+
+    /**
+     * Use the given ClassLoader rather than using the system class
+     */
+    protected Class resolveClass(ObjectStreamClass classDesc)
+            throws IOException, ClassNotFoundException {
+        String cname = classDesc.getName();
+        if (cname.startsWith("[")) {
+            // An array
+            Class component = null;        // component class
+            int dcount;         // dimension
+            for (dcount=1; cname.charAt(dcount)=='['; dcount++);
+            if (cname.charAt(dcount) == 'L') {
+                String className = cname.substring(dcount+1, cname.length()-1);
+                component = loader.loadClass(className);
+            } else {
+                if (cname.length() != dcount + 1) {
+                    throw new ClassNotFoundException(cname);// malformed
+                }
+                component = primitiveType(cname.charAt(dcount));
+            }
+            int dim[] = new int[dcount];
+            for (int i = 0; i < dcount; i++) {
+                dim[i]=0;
+            }
+            return Array.newInstance(component, dim).getClass();
+        }
+        return loader.loadClass(cname);
+    }
+}
+

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,90 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.draw2d.LightweightSystem;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.Viewport;
-import org.eclipse.draw2d.parts.ScrollableThumbnail;
-import org.eclipse.draw2d.parts.Thumbnail;
-import org.eclipse.gef.LayerConstants;
-import org.eclipse.gef.editparts.ScalableRootEditPart;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.part.Page;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * Common implementation of an outline page.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class OverviewOutlinePage extends Page implements IContentOutlinePage {
-
-	private Canvas overview;
-	private ScalableRootEditPart rootEditPart;
-	private Thumbnail thumbnail;
-
-	public OverviewOutlinePage(ScalableRootEditPart rootEditPart) {
-		this.rootEditPart = rootEditPart;
-	}
-
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-	}
-
-	public void createControl(Composite parent) {
-		overview = new Canvas(parent, SWT.NONE);
-		LightweightSystem lws = new LightweightSystem(overview);
-		thumbnail = new ScrollableThumbnail((Viewport) rootEditPart.getFigure());
-		thumbnail.setBorder(new MarginBorder(3));
-		thumbnail.setSource(rootEditPart
-				.getLayer(LayerConstants.PRINTABLE_LAYERS));
-		lws.setContents(thumbnail);
-	}
-
-	public void dispose() {
-		if (null != thumbnail) {
-			thumbnail.deactivate();
-		}
-		super.dispose();
-	}
-
-	public Control getControl() {
-		return overview;
-	}
-
-	public ISelection getSelection() {
-		return StructuredSelection.EMPTY;
-	}
-
-	public void removeSelectionChangedListener(
-			ISelectionChangedListener listener) {
-	}
-
-	public void setFocus() {
-		if (getControl() != null) {
-			getControl().setFocus();
-		}
-	}
-
-	public void setSelection(ISelection selection) {
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,90 @@
+package org.drools.eclipse.flow.common.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.draw2d.LightweightSystem;
+import org.eclipse.draw2d.MarginBorder;
+import org.eclipse.draw2d.Viewport;
+import org.eclipse.draw2d.parts.ScrollableThumbnail;
+import org.eclipse.draw2d.parts.Thumbnail;
+import org.eclipse.gef.LayerConstants;
+import org.eclipse.gef.editparts.ScalableRootEditPart;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.part.Page;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+/**
+ * Common implementation of an outline page.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class OverviewOutlinePage extends Page implements IContentOutlinePage {
+
+	private Canvas overview;
+	private ScalableRootEditPart rootEditPart;
+	private Thumbnail thumbnail;
+
+	public OverviewOutlinePage(ScalableRootEditPart rootEditPart) {
+		this.rootEditPart = rootEditPart;
+	}
+
+	public void addSelectionChangedListener(ISelectionChangedListener listener) {
+	}
+
+	public void createControl(Composite parent) {
+		overview = new Canvas(parent, SWT.NONE);
+		LightweightSystem lws = new LightweightSystem(overview);
+		thumbnail = new ScrollableThumbnail((Viewport) rootEditPart.getFigure());
+		thumbnail.setBorder(new MarginBorder(3));
+		thumbnail.setSource(rootEditPart
+				.getLayer(LayerConstants.PRINTABLE_LAYERS));
+		lws.setContents(thumbnail);
+	}
+
+	public void dispose() {
+		if (null != thumbnail) {
+			thumbnail.deactivate();
+		}
+		super.dispose();
+	}
+
+	public Control getControl() {
+		return overview;
+	}
+
+	public ISelection getSelection() {
+		return StructuredSelection.EMPTY;
+	}
+
+	public void removeSelectionChangedListener(
+			ISelectionChangedListener listener) {
+	}
+
+	public void setFocus() {
+		if (getControl() != null) {
+			getControl().setFocus();
+		}
+	}
+
+	public void setSelection(ISelection selection) {
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,205 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Default wrapper of a model element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class DefaultElementWrapper implements IPropertySource, ElementWrapper, Serializable {
-
-    protected static IPropertyDescriptor[] descriptors;
-
-    public static final String NAME = "Name";
-    static {
-        descriptors = new IPropertyDescriptor[] {
-            new TextPropertyDescriptor(NAME, "Name"),
-        };
-    }
-    
-    private Object element;
-    private Rectangle constraint;
-    private ProcessWrapper parent;
-    private List incomingConnections = new ArrayList();
-    private List outgoingConnections = new ArrayList();
-    private transient List listeners = new ArrayList();
-    
-    protected void setElement(Object element) {
-		this.element = element;
-	}
-
-	public Object getElement() {
-		return element;
-	}
-
-	public void setConstraint(Rectangle constraint) {
-		this.constraint = constraint;
-		notifyListeners(CHANGE_CONSTRAINT);
-	}
-
-	public Rectangle getConstraint() {
-		return constraint;
-	}
-
-	public void setParent(ProcessWrapper parent) {
-		this.parent = parent;
-	}
-
-	protected ProcessWrapper getParent() {
-		return parent;
-	}
-
-	public List getOutgoingConnections() {
-		return Collections.unmodifiableList(outgoingConnections);
-	}
-
-	public List getIncomingConnections() {
-		return Collections.unmodifiableList(incomingConnections);
-	}
-
-	public void addIncomingConnection(ElementConnection connection) {
-		incomingConnections.add(connection);
-		internalAddIncomingConnection(connection);
-		notifyListeners(CHANGE_INCOMING_CONNECTIONS);
-	}
-
-	protected void internalAddIncomingConnection(ElementConnection connection) {
-	}
-
-	public void removeIncomingConnection(ElementConnection connection) {
-		incomingConnections.remove(connection);
-		internalRemoveIncomingConnection(connection);
-		notifyListeners(CHANGE_INCOMING_CONNECTIONS);
-	}
-
-	protected void internalRemoveIncomingConnection(ElementConnection connection) {
-	}
-
-	public void addOutgoingConnection(ElementConnection connection) {
-		outgoingConnections.add(connection);
-		internalAddOutgoingConnection(connection);
-		notifyListeners(CHANGE_OUTGOING_CONNECTIONS);
-	}
-
-	protected void internalAddOutgoingConnection(ElementConnection connection) {
-	}
-
-	public void removeOutgoingConnection(ElementConnection connection) {
-		outgoingConnections.remove(connection);
-		internalRemoveOutgoingConnection(connection);
-		notifyListeners(CHANGE_OUTGOING_CONNECTIONS);
-	}
-
-	protected void internalRemoveOutgoingConnection(ElementConnection connection) {
-	}
-
-	public void setName(String name) {
-		internalSetName(name);
-		notifyListeners(CHANGE_NAME);
-	}
-
-	protected void internalSetName(String name) {
-	}
-
-	public List getOutgoingConnections(int type) {
-		List result = new ArrayList();
-		for (Iterator it = outgoingConnections.iterator(); it.hasNext();) {
-			ElementConnection connection = (ElementConnection) it.next();
-			if (connection.getType() == type) {
-				result.add(connection);
-			}
-		}
-		return Collections.unmodifiableList(result);
-	}
-
-	public List getIncomingConnections(int type) {
-		List result = new ArrayList();
-		for (Iterator it = incomingConnections.iterator(); it.hasNext();) {
-			ElementConnection connection = (ElementConnection) it.next();
-			if (connection.getType() == type) {
-				result.add(connection);
-			}
-		}
-		return Collections.unmodifiableList(result);
-	}
-
-	public void addListener(ModelListener listener) {
-		listeners.add(listener);
-	}
-
-	public void removeListener(ModelListener listener) {
-		listeners.remove(listener);
-	}
-
-	protected void notifyListeners(int change) {
-		ModelEvent event = new ModelEvent(change);
-		for (Iterator it = listeners.iterator(); it.hasNext();) {
-			ModelListener listener = (ModelListener) it.next();
-			listener.modelChanged(event);
-		}
-	}
-
-	private void readObject(ObjectInputStream aInputStream)
-			throws ClassNotFoundException, IOException {
-		aInputStream.defaultReadObject();
-		listeners = new ArrayList();
-	}
-
-	public IPropertyDescriptor[] getPropertyDescriptors() {
-		return descriptors;
-	}
-
-	public Object getEditableValue() {
-		return this;
-	}
-
-	public boolean isPropertySet(Object id) {
-		return true;
-	}
-
-	public Object getPropertyValue(Object id) {
-		if (NAME.equals(id)) {
-			return getName();
-		}
-		return null;
-	}
-
-	public void resetPropertyValue(Object id) {
-		if (NAME.equals(id)) {
-			setName("");
-		}
-	}
-
-	public void setPropertyValue(Object id, Object value) {
-		if (NAME.equals(id)) {
-			setName((String) value);
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,205 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * Default wrapper of a model element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class DefaultElementWrapper implements IPropertySource, ElementWrapper, Serializable {
+
+    protected static IPropertyDescriptor[] descriptors;
+
+    public static final String NAME = "Name";
+    static {
+        descriptors = new IPropertyDescriptor[] {
+            new TextPropertyDescriptor(NAME, "Name"),
+        };
+    }
+    
+    private Object element;
+    private Rectangle constraint;
+    private ProcessWrapper parent;
+    private List incomingConnections = new ArrayList();
+    private List outgoingConnections = new ArrayList();
+    private transient List listeners = new ArrayList();
+    
+    protected void setElement(Object element) {
+		this.element = element;
+	}
+
+	public Object getElement() {
+		return element;
+	}
+
+	public void setConstraint(Rectangle constraint) {
+		this.constraint = constraint;
+		notifyListeners(CHANGE_CONSTRAINT);
+	}
+
+	public Rectangle getConstraint() {
+		return constraint;
+	}
+
+	public void setParent(ProcessWrapper parent) {
+		this.parent = parent;
+	}
+
+	protected ProcessWrapper getParent() {
+		return parent;
+	}
+
+	public List getOutgoingConnections() {
+		return Collections.unmodifiableList(outgoingConnections);
+	}
+
+	public List getIncomingConnections() {
+		return Collections.unmodifiableList(incomingConnections);
+	}
+
+	public void addIncomingConnection(ElementConnection connection) {
+		incomingConnections.add(connection);
+		internalAddIncomingConnection(connection);
+		notifyListeners(CHANGE_INCOMING_CONNECTIONS);
+	}
+
+	protected void internalAddIncomingConnection(ElementConnection connection) {
+	}
+
+	public void removeIncomingConnection(ElementConnection connection) {
+		incomingConnections.remove(connection);
+		internalRemoveIncomingConnection(connection);
+		notifyListeners(CHANGE_INCOMING_CONNECTIONS);
+	}
+
+	protected void internalRemoveIncomingConnection(ElementConnection connection) {
+	}
+
+	public void addOutgoingConnection(ElementConnection connection) {
+		outgoingConnections.add(connection);
+		internalAddOutgoingConnection(connection);
+		notifyListeners(CHANGE_OUTGOING_CONNECTIONS);
+	}
+
+	protected void internalAddOutgoingConnection(ElementConnection connection) {
+	}
+
+	public void removeOutgoingConnection(ElementConnection connection) {
+		outgoingConnections.remove(connection);
+		internalRemoveOutgoingConnection(connection);
+		notifyListeners(CHANGE_OUTGOING_CONNECTIONS);
+	}
+
+	protected void internalRemoveOutgoingConnection(ElementConnection connection) {
+	}
+
+	public void setName(String name) {
+		internalSetName(name);
+		notifyListeners(CHANGE_NAME);
+	}
+
+	protected void internalSetName(String name) {
+	}
+
+	public List getOutgoingConnections(int type) {
+		List result = new ArrayList();
+		for (Iterator it = outgoingConnections.iterator(); it.hasNext();) {
+			ElementConnection connection = (ElementConnection) it.next();
+			if (connection.getType() == type) {
+				result.add(connection);
+			}
+		}
+		return Collections.unmodifiableList(result);
+	}
+
+	public List getIncomingConnections(int type) {
+		List result = new ArrayList();
+		for (Iterator it = incomingConnections.iterator(); it.hasNext();) {
+			ElementConnection connection = (ElementConnection) it.next();
+			if (connection.getType() == type) {
+				result.add(connection);
+			}
+		}
+		return Collections.unmodifiableList(result);
+	}
+
+	public void addListener(ModelListener listener) {
+		listeners.add(listener);
+	}
+
+	public void removeListener(ModelListener listener) {
+		listeners.remove(listener);
+	}
+
+	protected void notifyListeners(int change) {
+		ModelEvent event = new ModelEvent(change);
+		for (Iterator it = listeners.iterator(); it.hasNext();) {
+			ModelListener listener = (ModelListener) it.next();
+			listener.modelChanged(event);
+		}
+	}
+
+	private void readObject(ObjectInputStream aInputStream)
+			throws ClassNotFoundException, IOException {
+		aInputStream.defaultReadObject();
+		listeners = new ArrayList();
+	}
+
+	public IPropertyDescriptor[] getPropertyDescriptors() {
+		return descriptors;
+	}
+
+	public Object getEditableValue() {
+		return this;
+	}
+
+	public boolean isPropertySet(Object id) {
+		return true;
+	}
+
+	public Object getPropertyValue(Object id) {
+		if (NAME.equals(id)) {
+			return getName();
+		}
+		return null;
+	}
+
+	public void resetPropertyValue(Object id) {
+		if (NAME.equals(id)) {
+			setName("");
+		}
+	}
+
+	public void setPropertyValue(Object id, Object value) {
+		if (NAME.equals(id)) {
+			setName((String) value);
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,146 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Point;
-
-/**
- * A connection between two model elements.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementConnection implements Serializable {
-    
-	private static final long serialVersionUID = 400L;
-	
-	public static final int CHANGE_BENDPOINTS = 1;
-	
-	private ElementWrapper source;
-    private ElementWrapper target;
-    private int type;
-    private List bendpoints = new ArrayList();
-    private transient List listeners = new ArrayList();
-    
-    public ElementConnection(int type) {
-        this.type = type;
-    }
-    
-    public ElementConnection(ElementWrapper source, ElementWrapper target, int type) {
-        this(type);
-        if (source == null) {
-        	throw new IllegalArgumentException("source is null");        	
-        }
-        if (target == null) {
-        	throw new IllegalArgumentException("target is null");
-        }
-    	this.source = source;
-        this.target = target;
-    }
-    
-    public void disconnect() {
-    	if (source == null) {
-    		throw new IllegalStateException("Can't disconnect, source is null");
-    	}
-    	if (target == null) {
-    		throw new IllegalStateException("Can't disconnect, target is null");
-    	}
-    	source.removeOutgoingConnection(this);
-    	target.removeIncomingConnection(this);
-    	source = null;
-    	target = null;
-    }
-    
-    public void connect(ElementWrapper source, ElementWrapper target) {
-    	if (source == null) {
-    		throw new IllegalArgumentException("source is null");
-    	}
-        if (this.source != null) {
-            throw new IllegalStateException("The source of a connection cannot be changed");
-        }
-        if (target == null) {
-    		throw new IllegalArgumentException("target is null");
-    	}
-        if (this.target != null) {
-            throw new IllegalStateException("The target of a connection cannot be changed");
-        }
-        this.source = source;
-        this.target = target;
-    	source.addOutgoingConnection(this);
-        target.addIncomingConnection(this);
-    }
-    
-    
-    public ElementWrapper getSource() {
-        return source;
-    }
-    
-    
-    public ElementWrapper getTarget() {
-        return target;
-    }
-
-    public int getType() {
-        return type;
-    }
-    
-    public void addBendpoint(int index, Point point) {
-        bendpoints.add(index, point);
-        notifyListeners(CHANGE_BENDPOINTS);
-    }
-
-    public void removeBendpoint(int index) {
-        bendpoints.remove(index);
-        notifyListeners(CHANGE_BENDPOINTS);
-    }
-
-    public void replaceBendpoint(int index, Point point) {
-        bendpoints.set(index, point);
-        notifyListeners(CHANGE_BENDPOINTS);
-    }
-
-    public List getBendpoints() {
-        return bendpoints;
-    }
-
-    public void addListener(ModelListener listener) {
-        listeners.add(listener);
-    }
-
-    public void removeListener(ModelListener listener) {
-        listeners.remove(listener);
-    }
-
-    protected void notifyListeners(int change) {
-        ModelEvent event = new ModelEvent(change);
-        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
-        	ModelListener listener = (ModelListener) it.next();
-        	listener.modelChanged(event);
-        }
-    }
-
-    private void readObject(ObjectInputStream aInputStream)
-            throws ClassNotFoundException, IOException {
-        aInputStream.defaultReadObject();
-        listeners = new ArrayList();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,146 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Point;
+
+/**
+ * A connection between two model elements.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementConnection implements Serializable {
+    
+	private static final long serialVersionUID = 400L;
+	
+	public static final int CHANGE_BENDPOINTS = 1;
+	
+	private ElementWrapper source;
+    private ElementWrapper target;
+    private int type;
+    private List bendpoints = new ArrayList();
+    private transient List listeners = new ArrayList();
+    
+    public ElementConnection(int type) {
+        this.type = type;
+    }
+    
+    public ElementConnection(ElementWrapper source, ElementWrapper target, int type) {
+        this(type);
+        if (source == null) {
+        	throw new IllegalArgumentException("source is null");        	
+        }
+        if (target == null) {
+        	throw new IllegalArgumentException("target is null");
+        }
+    	this.source = source;
+        this.target = target;
+    }
+    
+    public void disconnect() {
+    	if (source == null) {
+    		throw new IllegalStateException("Can't disconnect, source is null");
+    	}
+    	if (target == null) {
+    		throw new IllegalStateException("Can't disconnect, target is null");
+    	}
+    	source.removeOutgoingConnection(this);
+    	target.removeIncomingConnection(this);
+    	source = null;
+    	target = null;
+    }
+    
+    public void connect(ElementWrapper source, ElementWrapper target) {
+    	if (source == null) {
+    		throw new IllegalArgumentException("source is null");
+    	}
+        if (this.source != null) {
+            throw new IllegalStateException("The source of a connection cannot be changed");
+        }
+        if (target == null) {
+    		throw new IllegalArgumentException("target is null");
+    	}
+        if (this.target != null) {
+            throw new IllegalStateException("The target of a connection cannot be changed");
+        }
+        this.source = source;
+        this.target = target;
+    	source.addOutgoingConnection(this);
+        target.addIncomingConnection(this);
+    }
+    
+    
+    public ElementWrapper getSource() {
+        return source;
+    }
+    
+    
+    public ElementWrapper getTarget() {
+        return target;
+    }
+
+    public int getType() {
+        return type;
+    }
+    
+    public void addBendpoint(int index, Point point) {
+        bendpoints.add(index, point);
+        notifyListeners(CHANGE_BENDPOINTS);
+    }
+
+    public void removeBendpoint(int index) {
+        bendpoints.remove(index);
+        notifyListeners(CHANGE_BENDPOINTS);
+    }
+
+    public void replaceBendpoint(int index, Point point) {
+        bendpoints.set(index, point);
+        notifyListeners(CHANGE_BENDPOINTS);
+    }
+
+    public List getBendpoints() {
+        return bendpoints;
+    }
+
+    public void addListener(ModelListener listener) {
+        listeners.add(listener);
+    }
+
+    public void removeListener(ModelListener listener) {
+        listeners.remove(listener);
+    }
+
+    protected void notifyListeners(int change) {
+        ModelEvent event = new ModelEvent(change);
+        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
+        	ModelListener listener = (ModelListener) it.next();
+        	listener.modelChanged(event);
+        }
+    }
+
+    private void readObject(ObjectInputStream aInputStream)
+            throws ClassNotFoundException, IOException {
+        aInputStream.defaultReadObject();
+        listeners = new ArrayList();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,39 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-/**
- * Factory for creating element connections.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementConnectionFactory {
-	
-	private int type;
-	
-	public ElementConnectionFactory(int type) {
-		this.type = type;
-	}
-	
-	public ElementConnection createElementConnection() {
-		ElementConnection connection = new ElementConnection(type);
-		return connection;
-	}
-	
-	protected int getType() {
-		return this.type;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,39 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+/**
+ * Factory for creating element connections.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementConnectionFactory {
+	
+	private int type;
+	
+	public ElementConnectionFactory(int type) {
+		this.type = type;
+	}
+	
+	public ElementConnection createElementConnection() {
+		ElementConnection connection = new ElementConnection(type);
+		return connection;
+	}
+	
+	protected int getType() {
+		return this.type;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,57 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * Wrapper of a model element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface ElementWrapper {
-	
-	static final int CHANGE_INCOMING_CONNECTIONS = 1;
-	static final int CHANGE_OUTGOING_CONNECTIONS = 2;
-	static final int CHANGE_CONSTRAINT = 3;
-	static final int CHANGE_NAME = 4;
-    
-    String getId();
-    String getName();
-    void setName(String name);
-    
-    void setConstraint(Rectangle constraint);
-    Rectangle getConstraint();
-    
-    void setParent(ProcessWrapper parent);
-    
-    List getOutgoingConnections();
-    List getIncomingConnections();
-    void addIncomingConnection(ElementConnection connection);
-    void removeIncomingConnection(ElementConnection connection);
-    void addOutgoingConnection(ElementConnection connection);
-    void removeOutgoingConnection(ElementConnection connection);
-    boolean acceptsIncomingConnection(ElementConnection connection);
-    boolean acceptsOutgoingConnection(ElementConnection connection);
-    List getOutgoingConnections(int type);
-    List getIncomingConnections(int type);
-    
-    void addListener(ModelListener listener);
-    void removeListener(ModelListener listener);
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,57 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Rectangle;
+
+/**
+ * Wrapper of a model element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface ElementWrapper {
+	
+	static final int CHANGE_INCOMING_CONNECTIONS = 1;
+	static final int CHANGE_OUTGOING_CONNECTIONS = 2;
+	static final int CHANGE_CONSTRAINT = 3;
+	static final int CHANGE_NAME = 4;
+    
+    String getId();
+    String getName();
+    void setName(String name);
+    
+    void setConstraint(Rectangle constraint);
+    Rectangle getConstraint();
+    
+    void setParent(ProcessWrapper parent);
+    
+    List getOutgoingConnections();
+    List getIncomingConnections();
+    void addIncomingConnection(ElementConnection connection);
+    void removeIncomingConnection(ElementConnection connection);
+    void addOutgoingConnection(ElementConnection connection);
+    void removeOutgoingConnection(ElementConnection connection);
+    boolean acceptsIncomingConnection(ElementConnection connection);
+    boolean acceptsOutgoingConnection(ElementConnection connection);
+    List getOutgoingConnections(int type);
+    List getIncomingConnections(int type);
+    
+    void addListener(ModelListener listener);
+    void removeListener(ModelListener listener);
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,35 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-/**
- * Event notifying a change in a model element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ModelEvent {
-	
-	private int change;
-    
-    public ModelEvent(int change) {
-        this.change = change;
-    }
-    
-    public int getChange() {
-        return change;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,35 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+/**
+ * Event notifying a change in a model element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ModelEvent {
+	
+	private int change;
+    
+    public ModelEvent(int change) {
+        this.change = change;
+    }
+    
+    public int getChange() {
+        return change;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,27 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-/**
- * A listener for model events.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface ModelListener {
-
-    void modelChanged(ModelEvent event);
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,27 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+/**
+ * A listener for model events.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface ModelListener {
+
+    void modelChanged(ModelEvent event);
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,234 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.ruleflow.common.core.Process;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * A wrapper for process element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class ProcessWrapper implements IPropertySource, Serializable {
-
-	public static final int CHANGE_ELEMENTS = 1;
-	public static final int CHANGE_ROUTER_LAYOUT = 2;
-
-    public static final Integer ROUTER_LAYOUT_MANUAL = new Integer(0);
-    public static final Integer ROUTER_LAYOUT_MANHATTAN = new Integer(1);
-    public static final Integer ROUTER_LAYOUT_SHORTEST_PATH = new Integer(2);
-
-    protected static IPropertyDescriptor[] descriptors;
-
-    public static final String NAME = "name";
-    public static final String VERSION = "version";
-    public static final String ID = "id";
-    public static final String PACKAGE_NAME = "packageName";
-    public static final String ROUTER_LAYOUT = "routerLayout";
-    
-    static {
-        descriptors = new IPropertyDescriptor[] {
-            new TextPropertyDescriptor(NAME, "Name"),
-            new TextPropertyDescriptor(VERSION, "Version"),
-            new TextPropertyDescriptor(ID, "Id"),
-            new TextPropertyDescriptor(PACKAGE_NAME, "Package"),
-            new ComboBoxPropertyDescriptor(ROUTER_LAYOUT, "Connection Layout", 
-                new String[] { "Manual", "Manhatten", "Shortest Path" }),
-        };
-    }
-    
-    private Process process;
-    private Map elements = new HashMap();
-    private Integer routerLayout;
-    private transient List listeners = new ArrayList();
-    
-    public ProcessWrapper() {
-        process = createProcess();
-    }
-
-    protected abstract Process createProcess();
-
-    public Process getProcess() {
-        return process;
-    }
-    
-    public String getName() {
-        return process.getName() == null ? "" : process.getName();
-    }
-    
-    public void setName(String name) {
-        process.setName(name);
-    }
-    
-    public String getVersion() {
-        return process.getVersion() == null ? "" : process.getVersion();
-    }
-    
-    public void setVersion(String version) {
-        process.setVersion(version);
-    }
-    
-    public String getId() {
-    	return process.getId();
-    }
-    
-    public void setId(String id) {
-    	process.setId(id);
-    }
-    
-    public String getPackageName() {
-        return process.getPackageName() == null ? "" : process.getPackageName();
-    }
-    
-    public void setPackageName(String packageName) {
-        process.setPackageName(packageName);
-    }
-    
-    public Integer getRouterLayout() {
-    	if (routerLayout == null) {
-    		routerLayout = ROUTER_LAYOUT_SHORTEST_PATH;
-    	}
-    	return routerLayout;
-    }
-    
-    public void setRouterLayout(Integer routerLayout) {
-    	this.routerLayout = routerLayout;
-    	notifyListeners(CHANGE_ROUTER_LAYOUT);
-    }
-    
-    public List getElements() {
-        return Collections.unmodifiableList(new ArrayList(elements.values()));
-    }
-    
-    public ElementWrapper getElement(String id) {
-        return (ElementWrapper) elements.get(id);
-    }
-    
-    public void addElement(ElementWrapper element) {
-        internalAddElement(element);
-		//id is set in methode above
-		elements.put(element.getId(), element);
-		notifyListeners(CHANGE_ELEMENTS);
-    }
-    
-    protected abstract void internalAddElement(ElementWrapper element);
-    
-    public void removeElement(ElementWrapper element) {
-        elements.remove(element.getId());
-        notifyListeners(CHANGE_ELEMENTS);
-        internalRemoveElement(element);
-    }
-    
-    protected abstract void internalRemoveElement(ElementWrapper element);
-    
-    public void addListener(ModelListener listener) {
-        listeners.add(listener);
-    }
-
-    public void removeListener(ModelListener listener) {
-        listeners.remove(listener);
-    }
-    
-    public void notifyListeners(int change) {
-        ModelEvent event = new ModelEvent(change);
-        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
-        	ModelListener listener = (ModelListener) it.next();
-        	listener.modelChanged(event);
-        }
-    }
-    
-    private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
-        aInputStream.defaultReadObject();
-        listeners = new ArrayList();
-    }
-    
-    public Object getEditableValue() {
-        return this;
-    }
-
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    public Object getPropertyValue(Object id) {
-        if (NAME.equals(id)) {
-            return getName();
-        }
-        if (VERSION.equals(id)) {
-            return getVersion();
-        }
-        if (ID.equals(id)) {
-            return getId() + "";
-        }
-        if (PACKAGE_NAME.equals(id)) {
-            return getPackageName();
-        }
-        if (ROUTER_LAYOUT.equals(id)) {
-            return routerLayout;
-        }
-        return null;
-    }
-
-    public boolean isPropertySet(Object id) {
-        return true;
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (NAME.equals(id)) {
-            setName("");
-        }
-        if (VERSION.equals(id)) {
-            setVersion("");
-        }
-        if (ID.equals(id)) {
-            setId("");
-        }
-        if (PACKAGE_NAME.equals(id)) {
-            setPackageName("");
-        }
-        if (ROUTER_LAYOUT.equals(id)) {
-            setRouterLayout(null);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (NAME.equals(id)) {
-            setName((String) value);
-        } else if (VERSION.equals(id)) {
-            setVersion((String) value);
-        } else if (ID.equals(id)) {
-            setId((String) value);
-        } else if (PACKAGE_NAME.equals(id)) {
-            setPackageName((String) value);
-        } else if (ROUTER_LAYOUT.equals(id)) {
-            setRouterLayout((Integer) value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,234 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.ruleflow.common.core.Process;
+import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * A wrapper for process element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class ProcessWrapper implements IPropertySource, Serializable {
+
+	public static final int CHANGE_ELEMENTS = 1;
+	public static final int CHANGE_ROUTER_LAYOUT = 2;
+
+    public static final Integer ROUTER_LAYOUT_MANUAL = new Integer(0);
+    public static final Integer ROUTER_LAYOUT_MANHATTAN = new Integer(1);
+    public static final Integer ROUTER_LAYOUT_SHORTEST_PATH = new Integer(2);
+
+    protected static IPropertyDescriptor[] descriptors;
+
+    public static final String NAME = "name";
+    public static final String VERSION = "version";
+    public static final String ID = "id";
+    public static final String PACKAGE_NAME = "packageName";
+    public static final String ROUTER_LAYOUT = "routerLayout";
+    
+    static {
+        descriptors = new IPropertyDescriptor[] {
+            new TextPropertyDescriptor(NAME, "Name"),
+            new TextPropertyDescriptor(VERSION, "Version"),
+            new TextPropertyDescriptor(ID, "Id"),
+            new TextPropertyDescriptor(PACKAGE_NAME, "Package"),
+            new ComboBoxPropertyDescriptor(ROUTER_LAYOUT, "Connection Layout", 
+                new String[] { "Manual", "Manhatten", "Shortest Path" }),
+        };
+    }
+    
+    private Process process;
+    private Map elements = new HashMap();
+    private Integer routerLayout;
+    private transient List listeners = new ArrayList();
+    
+    public ProcessWrapper() {
+        process = createProcess();
+    }
+
+    protected abstract Process createProcess();
+
+    public Process getProcess() {
+        return process;
+    }
+    
+    public String getName() {
+        return process.getName() == null ? "" : process.getName();
+    }
+    
+    public void setName(String name) {
+        process.setName(name);
+    }
+    
+    public String getVersion() {
+        return process.getVersion() == null ? "" : process.getVersion();
+    }
+    
+    public void setVersion(String version) {
+        process.setVersion(version);
+    }
+    
+    public String getId() {
+    	return process.getId();
+    }
+    
+    public void setId(String id) {
+    	process.setId(id);
+    }
+    
+    public String getPackageName() {
+        return process.getPackageName() == null ? "" : process.getPackageName();
+    }
+    
+    public void setPackageName(String packageName) {
+        process.setPackageName(packageName);
+    }
+    
+    public Integer getRouterLayout() {
+    	if (routerLayout == null) {
+    		routerLayout = ROUTER_LAYOUT_SHORTEST_PATH;
+    	}
+    	return routerLayout;
+    }
+    
+    public void setRouterLayout(Integer routerLayout) {
+    	this.routerLayout = routerLayout;
+    	notifyListeners(CHANGE_ROUTER_LAYOUT);
+    }
+    
+    public List getElements() {
+        return Collections.unmodifiableList(new ArrayList(elements.values()));
+    }
+    
+    public ElementWrapper getElement(String id) {
+        return (ElementWrapper) elements.get(id);
+    }
+    
+    public void addElement(ElementWrapper element) {
+        internalAddElement(element);
+		//id is set in methode above
+		elements.put(element.getId(), element);
+		notifyListeners(CHANGE_ELEMENTS);
+    }
+    
+    protected abstract void internalAddElement(ElementWrapper element);
+    
+    public void removeElement(ElementWrapper element) {
+        elements.remove(element.getId());
+        notifyListeners(CHANGE_ELEMENTS);
+        internalRemoveElement(element);
+    }
+    
+    protected abstract void internalRemoveElement(ElementWrapper element);
+    
+    public void addListener(ModelListener listener) {
+        listeners.add(listener);
+    }
+
+    public void removeListener(ModelListener listener) {
+        listeners.remove(listener);
+    }
+    
+    public void notifyListeners(int change) {
+        ModelEvent event = new ModelEvent(change);
+        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
+        	ModelListener listener = (ModelListener) it.next();
+        	listener.modelChanged(event);
+        }
+    }
+    
+    private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
+        aInputStream.defaultReadObject();
+        listeners = new ArrayList();
+    }
+    
+    public Object getEditableValue() {
+        return this;
+    }
+
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    public Object getPropertyValue(Object id) {
+        if (NAME.equals(id)) {
+            return getName();
+        }
+        if (VERSION.equals(id)) {
+            return getVersion();
+        }
+        if (ID.equals(id)) {
+            return getId() + "";
+        }
+        if (PACKAGE_NAME.equals(id)) {
+            return getPackageName();
+        }
+        if (ROUTER_LAYOUT.equals(id)) {
+            return routerLayout;
+        }
+        return null;
+    }
+
+    public boolean isPropertySet(Object id) {
+        return true;
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (NAME.equals(id)) {
+            setName("");
+        }
+        if (VERSION.equals(id)) {
+            setVersion("");
+        }
+        if (ID.equals(id)) {
+            setId("");
+        }
+        if (PACKAGE_NAME.equals(id)) {
+            setPackageName("");
+        }
+        if (ROUTER_LAYOUT.equals(id)) {
+            setRouterLayout(null);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (NAME.equals(id)) {
+            setName((String) value);
+        } else if (VERSION.equals(id)) {
+            setVersion((String) value);
+        } else if (ID.equals(id)) {
+            setId((String) value);
+        } else if (PACKAGE_NAME.equals(id)) {
+            setPackageName((String) value);
+        } else if (ROUTER_LAYOUT.equals(id)) {
+            setRouterLayout((Integer) value);
+        }
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,58 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for adding an element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class AddElementCommand extends Command {
-
-    private ElementWrapper child;
-    private ProcessWrapper parent;
-
-    public void execute() {
-        parent.addElement(child);
-        child.setParent(parent);
-    }
-
-    protected ProcessWrapper getParent() {
-        return parent;
-    }
-    
-    protected ElementWrapper getChild() {
-        return child;
-    }
-
-    public void setChild(ElementWrapper newChild) {
-        child = newChild;
-    }
-
-    public void setParent(ProcessWrapper newParent) {
-        parent = newParent;
-    }
-
-    public void undo() {
-        parent.removeElement(child);
-        child.setParent(null);
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,58 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for adding an element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class AddElementCommand extends Command {
+
+    private ElementWrapper child;
+    private ProcessWrapper parent;
+
+    public void execute() {
+        parent.addElement(child);
+        child.setParent(parent);
+    }
+
+    protected ProcessWrapper getParent() {
+        return parent;
+    }
+    
+    protected ElementWrapper getChild() {
+        return child;
+    }
+
+    public void setChild(ElementWrapper newChild) {
+        child = newChild;
+    }
+
+    public void setParent(ProcessWrapper newParent) {
+        parent = newParent;
+    }
+
+    public void undo() {
+        parent.removeElement(child);
+        child.setParent(null);
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,49 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for changing a constraint.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ChangeConstraintCommand extends Command {
-
-    private ElementWrapper element;
-    private Rectangle constraint;
-    private Rectangle oldConstraint;
-
-    public void execute() {
-        element.setConstraint(constraint);
-    }
-
-    public void setConstraint(Rectangle rect) {
-        constraint = rect;
-    }
-
-    public void setElement(ElementWrapper element) {
-        this.element = element;
-        oldConstraint = element.getConstraint();
-    }
-    
-    public void undo() {
-        element.setConstraint(oldConstraint);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,49 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for changing a constraint.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ChangeConstraintCommand extends Command {
+
+    private ElementWrapper element;
+    private Rectangle constraint;
+    private Rectangle oldConstraint;
+
+    public void execute() {
+        element.setConstraint(constraint);
+    }
+
+    public void setConstraint(Rectangle rect) {
+        constraint = rect;
+    }
+
+    public void setElement(ElementWrapper element) {
+        this.element = element;
+        oldConstraint = element.getConstraint();
+    }
+    
+    public void undo() {
+        element.setConstraint(oldConstraint);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,52 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for creating a bendpoint.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class CreateBendpointCommand extends Command {
-
-    private ElementConnection connection;
-    private Point location;
-    private int index;
-
-    public void execute() {
-        connection.addBendpoint(index, location);
-    }
-
-    public void setConnection(Object model) {
-        connection = (ElementConnection) model;
-    }
-
-    public void setIndex(int i) {
-        index = i;
-    }
-
-    public void setLocation(Point point) {
-        location = point;
-    }
-
-    public void undo() {
-        connection.removeBendpoint(index);
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,52 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for creating a bendpoint.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class CreateBendpointCommand extends Command {
+
+    private ElementConnection connection;
+    private Point location;
+    private int index;
+
+    public void execute() {
+        connection.addBendpoint(index, location);
+    }
+
+    public void setConnection(Object model) {
+        connection = (ElementConnection) model;
+    }
+
+    public void setIndex(int i) {
+        index = i;
+    }
+
+    public void setLocation(Point point) {
+        location = point;
+    }
+
+    public void undo() {
+        connection.removeBendpoint(index);
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,50 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.commands.Command;
-
-
-/**
- * A command for deleting a bendpoint.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DeleteBendpointCommand extends Command {
-
-    private ElementConnection connection;
-    private Point oldLocation;
-    private int index;
-
-    public void execute() {
-        oldLocation = (Point) connection.getBendpoints().get(index);
-        connection.removeBendpoint(index);
-    }
-
-    public void setConnectionModel(Object model) {
-        connection = (ElementConnection) model;
-    }
-
-    public void setIndex(int i) {
-        index = i;
-    }
-
-    public void undo() {
-        connection.addBendpoint(index, oldLocation);
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,50 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.commands.Command;
+
+
+/**
+ * A command for deleting a bendpoint.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DeleteBendpointCommand extends Command {
+
+    private ElementConnection connection;
+    private Point oldLocation;
+    private int index;
+
+    public void execute() {
+        oldLocation = (Point) connection.getBendpoints().get(index);
+        connection.removeBendpoint(index);
+    }
+
+    public void setConnectionModel(Object model) {
+        connection = (ElementConnection) model;
+    }
+
+    public void setIndex(int i) {
+        index = i;
+    }
+
+    public void undo() {
+        connection.addBendpoint(index, oldLocation);
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,52 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for deleting a connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DeleteConnectionCommand extends Command {
-
-    private ElementWrapper source;
-    private ElementWrapper target;
-    private ElementConnection connection;
-
-    public void execute() {
-    	connection.disconnect();
-    }
-
-    public void setSource(ElementWrapper action) {
-        source = action;
-    }
-
-    public void setTarget(ElementWrapper action) {
-        target = action;
-    }
-
-    public void setAntecedentTaskConnection(ElementConnection connection) {
-        this.connection = connection;
-    }
-
-    public void undo() {
-    	connection.connect(source, target);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,52 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for deleting a connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DeleteConnectionCommand extends Command {
+
+    private ElementWrapper source;
+    private ElementWrapper target;
+    private ElementConnection connection;
+
+    public void execute() {
+    	connection.disconnect();
+    }
+
+    public void setSource(ElementWrapper action) {
+        source = action;
+    }
+
+    public void setTarget(ElementWrapper action) {
+        target = action;
+    }
+
+    public void setAntecedentTaskConnection(ElementConnection connection) {
+        this.connection = connection;
+    }
+
+    public void undo() {
+    	connection.connect(source, target);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,101 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for deleting an element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DeleteElementCommand extends Command {
-
-    private ElementWrapper child;
-    private ProcessWrapper parent;
-    
-    private List incomingElementWrappers = new ArrayList();
-    private List outgoingElementWrappers = new ArrayList();
-    private List incomingConnections = new ArrayList();
-    private List outgoingConnections = new ArrayList();
-    
-    
-    private void deleteConnections(ElementWrapper element) {
-    	for (Iterator it = element.getIncomingConnections().iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		incomingElementWrappers.add(connection.getSource());
-    		incomingConnections.add(connection);
-    	}
-    	for (Iterator it = element.getOutgoingConnections().iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		outgoingElementWrappers.add(connection.getTarget());
-    		outgoingConnections.add(connection);
-    	} 
-    	for (Iterator it = incomingConnections.iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		connection.disconnect();
-    	}
-    	for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		connection.disconnect();
-    	}
-    }
-
-    public void execute() {
-        deleteConnections(child);
-        parent.removeElement(child);
-    }
-
-    private void restoreConnections() {
-    	int i = 0;
-    	for (Iterator it = incomingConnections.iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		connection.connect((ElementWrapper) incomingElementWrappers.get(i), child);
-    		i++;
-    	}
-    	i = 0;
-    	for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		connection.connect(child, (ElementWrapper) outgoingElementWrappers.get(i));
-    		i++;
-    	}
-    	incomingConnections.clear();
-    	incomingElementWrappers.clear();
-    	outgoingConnections.clear();
-    	outgoingElementWrappers.clear();
-    }
-    
-    public void setChild(ElementWrapper child) {
-        this.child = child;
-    }
-
-    public void setParent(ProcessWrapper parent) {
-        this.parent = parent;
-    }
-
-    public void undo() {
-        parent.addElement(child);
-        restoreConnections();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,101 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for deleting an element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DeleteElementCommand extends Command {
+
+    private ElementWrapper child;
+    private ProcessWrapper parent;
+    
+    private List incomingElementWrappers = new ArrayList();
+    private List outgoingElementWrappers = new ArrayList();
+    private List incomingConnections = new ArrayList();
+    private List outgoingConnections = new ArrayList();
+    
+    
+    private void deleteConnections(ElementWrapper element) {
+    	for (Iterator it = element.getIncomingConnections().iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		incomingElementWrappers.add(connection.getSource());
+    		incomingConnections.add(connection);
+    	}
+    	for (Iterator it = element.getOutgoingConnections().iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		outgoingElementWrappers.add(connection.getTarget());
+    		outgoingConnections.add(connection);
+    	} 
+    	for (Iterator it = incomingConnections.iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		connection.disconnect();
+    	}
+    	for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		connection.disconnect();
+    	}
+    }
+
+    public void execute() {
+        deleteConnections(child);
+        parent.removeElement(child);
+    }
+
+    private void restoreConnections() {
+    	int i = 0;
+    	for (Iterator it = incomingConnections.iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		connection.connect((ElementWrapper) incomingElementWrappers.get(i), child);
+    		i++;
+    	}
+    	i = 0;
+    	for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		connection.connect(child, (ElementWrapper) outgoingElementWrappers.get(i));
+    		i++;
+    	}
+    	incomingConnections.clear();
+    	incomingElementWrappers.clear();
+    	outgoingConnections.clear();
+    	outgoingElementWrappers.clear();
+    }
+    
+    public void setChild(ElementWrapper child) {
+        this.child = child;
+    }
+
+    public void setParent(ProcessWrapper parent) {
+        this.parent = parent;
+    }
+
+    public void undo() {
+        parent.addElement(child);
+        restoreConnections();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,87 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for creating an element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementConnectionCreateCommand extends Command {
-
-	private ElementConnection connection;
-    private ElementWrapper source;
-    private ElementWrapper target;
-
-    public boolean canExecute() {
-        if (source.equals(target)) {
-            return false;
-        }
-        
-        // Check for existence of connection already
-        List connections = source.getOutgoingConnections(connection.getType());
-        for (Iterator it = connections.iterator(); it.hasNext(); ) {
-        	ElementConnection conn = (ElementConnection) it.next();
-            if (conn.getTarget().equals(target)) {
-            	return false;
-            }
-        }
-        return source.acceptsOutgoingConnection(connection)
-            && target != null && target.acceptsIncomingConnection(connection);
-    }
-
-    public void execute() {
-        connection.connect(source, target);
-    }
-
-    public ElementWrapper getSource() {
-        return source;
-    }
-
-    public ElementWrapper getTarget() {
-        return target;
-    }
-
-    
-
-    public void redo() {
-    	connection.connect(source, target);
-    }
-
-    public void setSource(ElementWrapper source) {
-    	this.source = source;
-    }
-
-    public void setConnection(ElementConnection connection) {
-        this.connection = connection;
-    }
-
-    public void setTarget(ElementWrapper target) {
-    	this.target = target;
-    }
-
-    public void undo() {
-    	connection.disconnect();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,87 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for creating an element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementConnectionCreateCommand extends Command {
+
+	private ElementConnection connection;
+    private ElementWrapper source;
+    private ElementWrapper target;
+
+    public boolean canExecute() {
+        if (source.equals(target)) {
+            return false;
+        }
+        
+        // Check for existence of connection already
+        List connections = source.getOutgoingConnections(connection.getType());
+        for (Iterator it = connections.iterator(); it.hasNext(); ) {
+        	ElementConnection conn = (ElementConnection) it.next();
+            if (conn.getTarget().equals(target)) {
+            	return false;
+            }
+        }
+        return source.acceptsOutgoingConnection(connection)
+            && target != null && target.acceptsIncomingConnection(connection);
+    }
+
+    public void execute() {
+        connection.connect(source, target);
+    }
+
+    public ElementWrapper getSource() {
+        return source;
+    }
+
+    public ElementWrapper getTarget() {
+        return target;
+    }
+
+    
+
+    public void redo() {
+    	connection.connect(source, target);
+    }
+
+    public void setSource(ElementWrapper source) {
+    	this.source = source;
+    }
+
+    public void setConnection(ElementConnection connection) {
+        this.connection = connection;
+    }
+
+    public void setTarget(ElementWrapper target) {
+    	this.target = target;
+    }
+
+    public void undo() {
+    	connection.disconnect();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for moving a bendpoint.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MoveBendpointCommand extends Command {
-
-    private ElementConnection connection;
-    private Point oldLocation, newLocation;
-    private int index;
-
-    public void execute() {
-        oldLocation = (Point) connection.getBendpoints().get(index);
-        connection.replaceBendpoint(index, newLocation);
-    }
-
-    public void setConnectionModel(Object model) {
-        connection = (ElementConnection) model;
-    }
-
-    public void setIndex(int i) {
-        index = i;
-    }
-
-    public void setNewLocation(Point point) {
-        newLocation = point;
-    }
-
-    public void undo() {
-        connection.replaceBendpoint(index, oldLocation);
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for moving a bendpoint.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MoveBendpointCommand extends Command {
+
+    private ElementConnection connection;
+    private Point oldLocation, newLocation;
+    private int index;
+
+    public void execute() {
+        oldLocation = (Point) connection.getBendpoints().get(index);
+        connection.replaceBendpoint(index, newLocation);
+    }
+
+    public void setConnectionModel(Object model) {
+        connection = (ElementConnection) model;
+    }
+
+    public void setIndex(int i) {
+        index = i;
+    }
+
+    public void setNewLocation(Point point) {
+        newLocation = point;
+    }
+
+    public void undo() {
+        connection.replaceBendpoint(index, oldLocation);
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,75 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for reconnecting the source of a connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ReconnectElementConnectionSourceCommand extends Command {
-
-	private ElementConnection connection;
-	private ElementWrapper target;
-	private ElementWrapper oldSource;
-	private ElementWrapper newSource;
-    
-    public boolean canExecute() {
-        if (connection.getTarget().equals(newSource))
-            return false;
-            
-        List connections = newSource.getOutgoingConnections(connection.getType()); 
-        for (int i = 0; i < connections.size(); i++) {
-            ElementConnection connection = ((ElementConnection)(connections.get(i)));
-            if (connection.getTarget().equals(target) && !connection.getSource().equals(oldSource))
-                return false;
-        }
-        return newSource.acceptsOutgoingConnection(connection); //XXX    
-    }
-
-    public void execute() {
-        if (newSource != null) {
-        	connection.disconnect();
-        	connection.connect(newSource, target); 
-        }
-    }
-
-    public void setSource(ElementWrapper source) {
-    	this.newSource = source;
-    }
-
-    public void setConnection(ElementConnection connection) {
-        this.connection = connection;
-        this.target = connection.getTarget();
-        this.oldSource = connection.getSource();
-    }
-
-    public void undo() {
-    	connection.disconnect();
-    	connection.connect(oldSource, target);    	
-    }
-    
-    public void redo() {
-    	connection.disconnect();
-    	connection.connect(newSource, target);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,75 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for reconnecting the source of a connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ReconnectElementConnectionSourceCommand extends Command {
+
+	private ElementConnection connection;
+	private ElementWrapper target;
+	private ElementWrapper oldSource;
+	private ElementWrapper newSource;
+    
+    public boolean canExecute() {
+        if (connection.getTarget().equals(newSource))
+            return false;
+            
+        List connections = newSource.getOutgoingConnections(connection.getType()); 
+        for (int i = 0; i < connections.size(); i++) {
+            ElementConnection connection = ((ElementConnection)(connections.get(i)));
+            if (connection.getTarget().equals(target) && !connection.getSource().equals(oldSource))
+                return false;
+        }
+        return newSource.acceptsOutgoingConnection(connection); //XXX    
+    }
+
+    public void execute() {
+        if (newSource != null) {
+        	connection.disconnect();
+        	connection.connect(newSource, target); 
+        }
+    }
+
+    public void setSource(ElementWrapper source) {
+    	this.newSource = source;
+    }
+
+    public void setConnection(ElementConnection connection) {
+        this.connection = connection;
+        this.target = connection.getTarget();
+        this.oldSource = connection.getSource();
+    }
+
+    public void undo() {
+    	connection.disconnect();
+    	connection.connect(oldSource, target);    	
+    }
+    
+    public void redo() {
+    	connection.disconnect();
+    	connection.connect(newSource, target);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,77 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for reconnecting the target of a connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ReconnectElementConnectionTargetCommand extends Command {
-
-    private ElementConnection connection;
-    private ElementWrapper oldTarget;
-    private ElementWrapper newTarget;
-    private ElementWrapper source;
-    
-    
-    public boolean canExecute() {
-        if (connection.getSource().equals(newTarget))
-            return false;
-            
-        List connections = newTarget.getIncomingConnections(connection.getType());
-        for (Iterator it = connections.iterator(); it.hasNext(); ) {
-        	ElementConnection connection = (ElementConnection) it.next();
-            if (connection.getSource().equals(source) && !connection.getTarget().equals(oldTarget))
-                return false;
-        }   
-        return newTarget.acceptsIncomingConnection(connection);    
-    }
-
-    public void execute() {
-        if (newTarget != null) {
-        	connection.disconnect();
-        	connection.connect(source, newTarget);    	
-        }
-    }
-
-    public void setTarget(ElementWrapper target) {
-        this.newTarget = target;
-    }
-
-    public void setConnection(ElementConnection connection) {
-        this.connection = connection;
-        this.source = connection.getSource();
-        this.oldTarget = connection.getTarget();
-    }
-
-    public void undo() {
-    	connection.disconnect();
-    	connection.connect(source, oldTarget);
-    }
-    
-    public void redo() {
-    	connection.disconnect();
-    	connection.connect(source, newTarget);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,77 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for reconnecting the target of a connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ReconnectElementConnectionTargetCommand extends Command {
+
+    private ElementConnection connection;
+    private ElementWrapper oldTarget;
+    private ElementWrapper newTarget;
+    private ElementWrapper source;
+    
+    
+    public boolean canExecute() {
+        if (connection.getSource().equals(newTarget))
+            return false;
+            
+        List connections = newTarget.getIncomingConnections(connection.getType());
+        for (Iterator it = connections.iterator(); it.hasNext(); ) {
+        	ElementConnection connection = (ElementConnection) it.next();
+            if (connection.getSource().equals(source) && !connection.getTarget().equals(oldTarget))
+                return false;
+        }   
+        return newTarget.acceptsIncomingConnection(connection);    
+    }
+
+    public void execute() {
+        if (newTarget != null) {
+        	connection.disconnect();
+        	connection.connect(source, newTarget);    	
+        }
+    }
+
+    public void setTarget(ElementWrapper target) {
+        this.newTarget = target;
+    }
+
+    public void setConnection(ElementConnection connection) {
+        this.connection = connection;
+        this.source = connection.getSource();
+        this.oldTarget = connection.getTarget();
+    }
+
+    public void undo() {
+    	connection.disconnect();
+    	connection.connect(source, oldTarget);
+    }
+    
+    public void redo() {
+    	connection.disconnect();
+    	connection.connect(source, newTarget);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for renaming an element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RenameElementCommand extends Command {
-
-    private ElementWrapper source;
-    private String name;
-    private String oldName;
-
-    public void execute() {
-        source.setName(name);
-    }
-
-    public void setName(String string) {
-        name = string;
-    }
-
-    public void setOldName(String string) {
-        oldName = string;
-    }
-
-    public void setSource(ElementWrapper action) {
-        source = action;
-    }
-
-    public void undo() {
-        source.setName(oldName);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for renaming an element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RenameElementCommand extends Command {
+
+    private ElementWrapper source;
+    private String name;
+    private String oldName;
+
+    public void execute() {
+        source.setName(name);
+    }
+
+    public void setName(String string) {
+        name = string;
+    }
+
+    public void setOldName(String string) {
+        oldName = string;
+    }
+
+    public void setSource(ElementWrapper action) {
+        source = action;
+    }
+
+    public void undo() {
+        source.setName(oldName);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,87 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for splitting a connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class SplitConnectionCommand extends Command {
-
-    private ProcessWrapper parent;
-    private ElementWrapper oldSource;
-    private ElementWrapper oldTarget;
-    private ElementConnection oldConnection;
-    private ElementConnection secondConnection;    
-    private ElementWrapper newElement;
-    
-    public void setNewSecondConnection(ElementConnection connection) {
-    	if (connection == null) {
-    		throw new IllegalArgumentException("new second connection cannot be null");
-    	}
-    	this.secondConnection = connection;
-    }
-    
-    public void execute() {
-    	if (secondConnection == null) {
-    		throw new IllegalStateException("new second connection is still null");
-    	}
-    	oldConnection.disconnect();
-    	parent.addElement(newElement);
-        newElement.setParent(parent);
-    	oldConnection.connect(oldSource, newElement);
-    	secondConnection.connect(newElement, oldTarget);
-    }
-
-    public void setParent(ProcessWrapper process) {
-    	if (process == null) {
-    		throw new IllegalArgumentException("process is null");
-    	}
-        parent = process;
-    }
-
-    public void setElementConnection(ElementConnection connection) {
-    	if (connection == null) {
-    		throw new IllegalArgumentException("Element connection is null");
-    	}
-        this.oldConnection = connection;
-        oldSource = connection.getSource();
-        oldTarget = connection.getTarget();
-    }
-
-    public void setNewElement(ElementWrapper newElement) {
-    	if (newElement == null) {
-    		throw new IllegalArgumentException("NewElement is null");
-    	}
-        this.newElement = newElement;
-        
-    }
-
-    public void undo() {
-    	oldConnection.disconnect();
-    	secondConnection.disconnect();
-    	parent.removeElement(newElement);
-    	newElement.setParent(null);
-    	oldConnection.connect(oldSource, oldTarget);    	
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,87 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for splitting a connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SplitConnectionCommand extends Command {
+
+    private ProcessWrapper parent;
+    private ElementWrapper oldSource;
+    private ElementWrapper oldTarget;
+    private ElementConnection oldConnection;
+    private ElementConnection secondConnection;    
+    private ElementWrapper newElement;
+    
+    public void setNewSecondConnection(ElementConnection connection) {
+    	if (connection == null) {
+    		throw new IllegalArgumentException("new second connection cannot be null");
+    	}
+    	this.secondConnection = connection;
+    }
+    
+    public void execute() {
+    	if (secondConnection == null) {
+    		throw new IllegalStateException("new second connection is still null");
+    	}
+    	oldConnection.disconnect();
+    	parent.addElement(newElement);
+        newElement.setParent(parent);
+    	oldConnection.connect(oldSource, newElement);
+    	secondConnection.connect(newElement, oldTarget);
+    }
+
+    public void setParent(ProcessWrapper process) {
+    	if (process == null) {
+    		throw new IllegalArgumentException("process is null");
+    	}
+        parent = process;
+    }
+
+    public void setElementConnection(ElementConnection connection) {
+    	if (connection == null) {
+    		throw new IllegalArgumentException("Element connection is null");
+    	}
+        this.oldConnection = connection;
+        oldSource = connection.getSource();
+        oldTarget = connection.getTarget();
+    }
+
+    public void setNewElement(ElementWrapper newElement) {
+    	if (newElement == null) {
+    		throw new IllegalArgumentException("NewElement is null");
+    	}
+        this.newElement = newElement;
+        
+    }
+
+    public void undo() {
+    	oldConnection.disconnect();
+    	secondConnection.disconnect();
+    	parent.removeElement(newElement);
+    	newElement.setParent(null);
+    	oldConnection.connect(oldSource, oldTarget);    	
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,128 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.AbsoluteBendpoint;
-import org.eclipse.draw2d.PolygonDecoration;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.draw2d.graph.DirectedGraph;
-import org.eclipse.draw2d.graph.DirectedGraphLayout;
-import org.eclipse.draw2d.graph.Edge;
-import org.eclipse.draw2d.graph.Node;
-import org.eclipse.draw2d.graph.NodeList;
-
-public class DirectedGraphLayoutVisitor {
-
-	private Map partToNodesMap;
-	private DirectedGraph graph;
-
-	public void layoutDiagram(ProcessEditPart diagram) {
-		partToNodesMap = new HashMap();
-		graph = new DirectedGraph();
-		addNodes(diagram);
-		if (graph.nodes.size() > 0) {	
-			addEdges(diagram);
-			new DirectedGraphLayout().visit(graph);
-			applyResults(diagram);
-		}
-	}
-
-	protected void addNodes(ProcessEditPart diagram) {
-		for (int i = 0; i < diagram.getChildren().size(); i++) {
-			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
-			addNodes(elementEditPart);
-		}
-	}
-
-	protected void addNodes(ElementEditPart elementEditPart) {
-		Node n = new Node(elementEditPart);
-		n.width = elementEditPart.getFigure().getPreferredSize(400, 300).width;
-		n.height = elementEditPart.getFigure().getPreferredSize(400, 300).height;
-		n.setPadding(new Insets(10, 8, 10, 12));
-		partToNodesMap.put(elementEditPart, n);
-		graph.nodes.add(n);
-	}
-
-	protected void addEdges(ProcessEditPart diagram) {
-		for (int i = 0; i < diagram.getChildren().size(); i++) {
-			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
-			addEdges(elementEditPart);
-		}
-	}
-
-	protected void addEdges(ElementEditPart elementEditPart) {
-		List outgoing = elementEditPart.getSourceConnections();
-		for (int i = 0; i < outgoing.size(); i++) {
-			ElementConnectionEditPart connectionPart = (ElementConnectionEditPart) elementEditPart.getSourceConnections().get(i);
-			addEdges(connectionPart);
-		}
-	}
-
-	protected void addEdges(ElementConnectionEditPart connectionPart) {
-		Node source = (Node) partToNodesMap.get(connectionPart.getSource());
-		Node target = (Node) partToNodesMap.get(connectionPart.getTarget());
-		Edge e = new Edge(connectionPart, source, target);
-		e.weight = 2;
-		graph.edges.add(e);
-		partToNodesMap.put(connectionPart, e);
-	}
-
-	protected void applyResults(ProcessEditPart diagram) {
-		applyChildrenResults(diagram);
-	}
-
-	protected void applyChildrenResults(ProcessEditPart diagram) {
-		for (int i = 0; i < diagram.getChildren().size(); i++) {
-			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
-			applyResults(elementEditPart);
-		}
-	}
-
-	protected void applyOwnResults(ProcessEditPart diagram) {
-	}
-
-	public void applyResults(ElementEditPart elementEditPart) {
-		Node n = (Node) partToNodesMap.get(elementEditPart);
-		ElementFigure elementFigure = (ElementFigure) elementEditPart.getFigure();
-		Rectangle bounds = new Rectangle(n.x, n.y, elementFigure.getPreferredSize().width,
-				elementFigure.getPreferredSize().height);
-		elementFigure.setBounds(bounds);
-		for (int i = 0; i < elementEditPart.getSourceConnections().size(); i++) {
-			ElementConnectionEditPart connectionPart = (ElementConnectionEditPart) elementEditPart.getSourceConnections().get(i);
-			applyResults(connectionPart);
-		}
-	}
-
-	protected void applyResults(ElementConnectionEditPart connectionPart)	{
-		Edge e = (Edge) partToNodesMap.get(connectionPart);
-		NodeList nodes = e.vNodes;
-		PolylineConnection conn = (PolylineConnection) connectionPart.getConnectionFigure();
-		conn.setTargetDecoration(new PolygonDecoration());
-		if (nodes != null) {
-			List bends = new ArrayList();
-			for (int i = 0; i < nodes.size(); i++) {
-				Node vn = nodes.getNode(i);
-				int x = vn.x;
-				int y = vn.y;
-				if (e.isFeedback()) {
-					bends.add(new AbsoluteBendpoint(x, y + vn.height));
-					bends.add(new AbsoluteBendpoint(x, y));
-				} else {
-					bends.add(new AbsoluteBendpoint(x, y));
-					bends.add(new AbsoluteBendpoint(x, y + vn.height));
-				}
-			}
-			conn.setRoutingConstraint(bends);
-		} else {
-			conn.setRoutingConstraint(Collections.EMPTY_LIST);
-		}
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,128 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.AbsoluteBendpoint;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.draw2d.geometry.Insets;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.draw2d.graph.DirectedGraph;
+import org.eclipse.draw2d.graph.DirectedGraphLayout;
+import org.eclipse.draw2d.graph.Edge;
+import org.eclipse.draw2d.graph.Node;
+import org.eclipse.draw2d.graph.NodeList;
+
+public class DirectedGraphLayoutVisitor {
+
+	private Map partToNodesMap;
+	private DirectedGraph graph;
+
+	public void layoutDiagram(ProcessEditPart diagram) {
+		partToNodesMap = new HashMap();
+		graph = new DirectedGraph();
+		addNodes(diagram);
+		if (graph.nodes.size() > 0) {	
+			addEdges(diagram);
+			new DirectedGraphLayout().visit(graph);
+			applyResults(diagram);
+		}
+	}
+
+	protected void addNodes(ProcessEditPart diagram) {
+		for (int i = 0; i < diagram.getChildren().size(); i++) {
+			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
+			addNodes(elementEditPart);
+		}
+	}
+
+	protected void addNodes(ElementEditPart elementEditPart) {
+		Node n = new Node(elementEditPart);
+		n.width = elementEditPart.getFigure().getPreferredSize(400, 300).width;
+		n.height = elementEditPart.getFigure().getPreferredSize(400, 300).height;
+		n.setPadding(new Insets(10, 8, 10, 12));
+		partToNodesMap.put(elementEditPart, n);
+		graph.nodes.add(n);
+	}
+
+	protected void addEdges(ProcessEditPart diagram) {
+		for (int i = 0; i < diagram.getChildren().size(); i++) {
+			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
+			addEdges(elementEditPart);
+		}
+	}
+
+	protected void addEdges(ElementEditPart elementEditPart) {
+		List outgoing = elementEditPart.getSourceConnections();
+		for (int i = 0; i < outgoing.size(); i++) {
+			ElementConnectionEditPart connectionPart = (ElementConnectionEditPart) elementEditPart.getSourceConnections().get(i);
+			addEdges(connectionPart);
+		}
+	}
+
+	protected void addEdges(ElementConnectionEditPart connectionPart) {
+		Node source = (Node) partToNodesMap.get(connectionPart.getSource());
+		Node target = (Node) partToNodesMap.get(connectionPart.getTarget());
+		Edge e = new Edge(connectionPart, source, target);
+		e.weight = 2;
+		graph.edges.add(e);
+		partToNodesMap.put(connectionPart, e);
+	}
+
+	protected void applyResults(ProcessEditPart diagram) {
+		applyChildrenResults(diagram);
+	}
+
+	protected void applyChildrenResults(ProcessEditPart diagram) {
+		for (int i = 0; i < diagram.getChildren().size(); i++) {
+			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
+			applyResults(elementEditPart);
+		}
+	}
+
+	protected void applyOwnResults(ProcessEditPart diagram) {
+	}
+
+	public void applyResults(ElementEditPart elementEditPart) {
+		Node n = (Node) partToNodesMap.get(elementEditPart);
+		ElementFigure elementFigure = (ElementFigure) elementEditPart.getFigure();
+		Rectangle bounds = new Rectangle(n.x, n.y, elementFigure.getPreferredSize().width,
+				elementFigure.getPreferredSize().height);
+		elementFigure.setBounds(bounds);
+		for (int i = 0; i < elementEditPart.getSourceConnections().size(); i++) {
+			ElementConnectionEditPart connectionPart = (ElementConnectionEditPart) elementEditPart.getSourceConnections().get(i);
+			applyResults(connectionPart);
+		}
+	}
+
+	protected void applyResults(ElementConnectionEditPart connectionPart)	{
+		Edge e = (Edge) partToNodesMap.get(connectionPart);
+		NodeList nodes = e.vNodes;
+		PolylineConnection conn = (PolylineConnection) connectionPart.getConnectionFigure();
+		conn.setTargetDecoration(new PolygonDecoration());
+		if (nodes != null) {
+			List bends = new ArrayList();
+			for (int i = 0; i < nodes.size(); i++) {
+				Node vn = nodes.getNode(i);
+				int x = vn.x;
+				int y = vn.y;
+				if (e.isFeedback()) {
+					bends.add(new AbsoluteBendpoint(x, y + vn.height));
+					bends.add(new AbsoluteBendpoint(x, y));
+				} else {
+					bends.add(new AbsoluteBendpoint(x, y));
+					bends.add(new AbsoluteBendpoint(x, y + vn.height));
+				}
+			}
+			conn.setRoutingConstraint(bends);
+		} else {
+			conn.setRoutingConstraint(Collections.EMPTY_LIST);
+		}
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,57 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.jface.viewers.CellEditor;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-import org.eclipse.gef.tools.CellEditorLocator;
-
-/**
- * A CellEditorLocator for elements.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementCellEditorLocator implements CellEditorLocator {
-
-    private Label label;
-
-    public ElementCellEditorLocator(Label label) {
-        setLabel(label);
-    }
-
-    public void relocate(CellEditor cellEditor) {
-        Text text = (Text) cellEditor.getControl();
-        Point pref = text.computeSize(-1, -1);
-        Rectangle rect = label.getTextBounds().getCopy();
-        label.translateToAbsolute(rect);
-        text.setBounds(rect.x - 1, rect.y - 1, pref.x + 1, pref.y + 1);
-    }
-
-    protected Label getLabel() {
-        return label;
-    }
-
-    protected void setLabel(Label label) {
-        this.label = label;
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,57 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Text;
+
+import org.eclipse.jface.viewers.CellEditor;
+
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Rectangle;
+
+import org.eclipse.gef.tools.CellEditorLocator;
+
+/**
+ * A CellEditorLocator for elements.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementCellEditorLocator implements CellEditorLocator {
+
+    private Label label;
+
+    public ElementCellEditorLocator(Label label) {
+        setLabel(label);
+    }
+
+    public void relocate(CellEditor cellEditor) {
+        Text text = (Text) cellEditor.getControl();
+        Point pref = text.computeSize(-1, -1);
+        Rectangle rect = label.getTextBounds().getCopy();
+        label.translateToAbsolute(rect);
+        text.setBounds(rect.x - 1, rect.y - 1, pref.x + 1, pref.y + 1);
+    }
+
+    protected Label getLabel() {
+        return label;
+    }
+
+    protected void setLabel(Label label) {
+        this.label = label;
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,101 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
-import org.drools.eclipse.flow.common.editor.core.ModelEvent;
-import org.drools.eclipse.flow.common.editor.core.ModelListener;
-import org.drools.eclipse.flow.common.editor.policy.ConnectionBendpointEditPolicy;
-import org.drools.eclipse.flow.common.editor.policy.ConnectionEditPolicy;
-import org.eclipse.draw2d.AbsoluteBendpoint;
-import org.eclipse.draw2d.BendpointConnectionRouter;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PolygonDecoration;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.editparts.AbstractConnectionEditPart;
-import org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy;
-
-/**
- * Implementation of a connection EditPart.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementConnectionEditPart extends AbstractConnectionEditPart implements ModelListener {
-    
-    protected void createEditPolicies() {
-    	ConnectionEditPolicy connectionEditPolicy = new ConnectionEditPolicy();
-    	connectionEditPolicy.setDefaultElementConnectionFactory(getDefaultElementConnectionFactory());
-        installEditPolicy(EditPolicy.CONNECTION_ENDPOINTS_ROLE, new ConnectionEndpointEditPolicy());
-        installEditPolicy(EditPolicy.CONNECTION_ROLE, connectionEditPolicy);
-        installEditPolicy(EditPolicy.CONNECTION_BENDPOINTS_ROLE, new ConnectionBendpointEditPolicy());
-    }
-    
-    protected ElementConnectionFactory getDefaultElementConnectionFactory() {
-    	return new ElementConnectionFactory(0);
-    }
-
-    protected IFigure createFigure() {
-        PolylineConnection result = new PolylineConnection();
-        result.setConnectionRouter(new BendpointConnectionRouter());
-        result.setTargetDecoration(new PolygonDecoration());
-        return result;
-    }
-    
-    public void setSelected(int value) {
-        super.setSelected(value);
-        if (value != EditPart.SELECTED_NONE) {
-            ((PolylineConnection)getFigure()).setLineWidth(2);
-        } else {
-            ((PolylineConnection)getFigure()).setLineWidth(1);
-        }
-    }
-    
-    public void modelChanged(ModelEvent event) {
-        if (event.getChange() == ElementConnection.CHANGE_BENDPOINTS) {
-            refreshBendpoints();
-        }
-    }
-
-    public void activate() {
-        super.activate();
-        ((ElementConnection) getModel()).addListener(this);
-    }
-
-    public void deactivate() {
-        ((ElementConnection) getModel()).removeListener(this);
-        super.deactivate();
-    }
-
-    protected void refreshBendpoints() {
-        List bendpoints = ((ElementConnection) getModel()).getBendpoints();
-        List constraint = new ArrayList();
-        for (int i = 0; i < bendpoints.size(); i++) {
-            constraint.add(new AbsoluteBendpoint((Point) bendpoints.get(i)));
-        }
-        getConnectionFigure().setRoutingConstraint(constraint);
-    }
-
-    protected void refreshVisuals() {
-        refreshBendpoints();
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,101 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
+import org.drools.eclipse.flow.common.editor.core.ModelEvent;
+import org.drools.eclipse.flow.common.editor.core.ModelListener;
+import org.drools.eclipse.flow.common.editor.policy.ConnectionBendpointEditPolicy;
+import org.drools.eclipse.flow.common.editor.policy.ConnectionEditPolicy;
+import org.eclipse.draw2d.AbsoluteBendpoint;
+import org.eclipse.draw2d.BendpointConnectionRouter;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.editparts.AbstractConnectionEditPart;
+import org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy;
+
+/**
+ * Implementation of a connection EditPart.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementConnectionEditPart extends AbstractConnectionEditPart implements ModelListener {
+    
+    protected void createEditPolicies() {
+    	ConnectionEditPolicy connectionEditPolicy = new ConnectionEditPolicy();
+    	connectionEditPolicy.setDefaultElementConnectionFactory(getDefaultElementConnectionFactory());
+        installEditPolicy(EditPolicy.CONNECTION_ENDPOINTS_ROLE, new ConnectionEndpointEditPolicy());
+        installEditPolicy(EditPolicy.CONNECTION_ROLE, connectionEditPolicy);
+        installEditPolicy(EditPolicy.CONNECTION_BENDPOINTS_ROLE, new ConnectionBendpointEditPolicy());
+    }
+    
+    protected ElementConnectionFactory getDefaultElementConnectionFactory() {
+    	return new ElementConnectionFactory(0);
+    }
+
+    protected IFigure createFigure() {
+        PolylineConnection result = new PolylineConnection();
+        result.setConnectionRouter(new BendpointConnectionRouter());
+        result.setTargetDecoration(new PolygonDecoration());
+        return result;
+    }
+    
+    public void setSelected(int value) {
+        super.setSelected(value);
+        if (value != EditPart.SELECTED_NONE) {
+            ((PolylineConnection)getFigure()).setLineWidth(2);
+        } else {
+            ((PolylineConnection)getFigure()).setLineWidth(1);
+        }
+    }
+    
+    public void modelChanged(ModelEvent event) {
+        if (event.getChange() == ElementConnection.CHANGE_BENDPOINTS) {
+            refreshBendpoints();
+        }
+    }
+
+    public void activate() {
+        super.activate();
+        ((ElementConnection) getModel()).addListener(this);
+    }
+
+    public void deactivate() {
+        ((ElementConnection) getModel()).removeListener(this);
+        super.deactivate();
+    }
+
+    protected void refreshBendpoints() {
+        List bendpoints = ((ElementConnection) getModel()).getBendpoints();
+        List constraint = new ArrayList();
+        for (int i = 0; i < bendpoints.size(); i++) {
+            constraint.add(new AbsoluteBendpoint((Point) bendpoints.get(i)));
+        }
+        getConnectionFigure().setRoutingConstraint(constraint);
+    }
+
+    protected void refreshVisuals() {
+        refreshBendpoints();
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,134 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ModelEvent;
-import org.drools.eclipse.flow.common.editor.core.ModelListener;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.drools.eclipse.flow.common.editor.policy.ElementDirectEditManager;
-import org.drools.eclipse.flow.common.editor.policy.ElementDirectEditPolicy;
-import org.drools.eclipse.flow.common.editor.policy.ElementEditPolicy;
-import org.drools.eclipse.flow.common.editor.policy.ElementNodeEditPolicy;
-import org.eclipse.draw2d.ChopboxAnchor;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.NodeEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.jface.viewers.TextCellEditor;
-
-/**
- * Default implementation of an element EditPart.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class ElementEditPart extends AbstractGraphicalEditPart implements NodeEditPart, ModelListener {
-    
-    private DirectEditManager manager;
-    
-    protected void createEditPolicies() {
-        installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new ElementNodeEditPolicy());
-        installEditPolicy(EditPolicy.COMPONENT_ROLE, new ElementEditPolicy());
-        installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ElementDirectEditPolicy());
-    }
-    
-    protected ElementWrapper getElementWrapper() {
-    	return (ElementWrapper) getModel();
-    }
-
-    protected List getModelSourceConnections() {
-        return getElementWrapper().getOutgoingConnections();
-    }
-    
-    protected List getModelTargetConnections() {
-        return getElementWrapper().getIncomingConnections();
-    }
-    
-    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
-        return new ChopboxAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
-        return new ChopboxAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
-        return new ChopboxAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
-        return new ChopboxAnchor(getFigure());
-    }
-
-    protected void refreshVisuals() {
-        ElementWrapper element = getElementWrapper();
-        ElementFigure figure = (ElementFigure) getFigure();
-        figure.setText(element.getName());
-        if (element.getConstraint().width == -1) {
-            element.getConstraint().width = figure.getBounds().width;
-        }
-        if (element.getConstraint().height == -1) {
-            element.getConstraint().height = figure.getBounds().height;
-        }
-        ((GraphicalEditPart) getParent()).setLayoutConstraint(this, figure, element.getConstraint());
-    }
-    
-    public void modelChanged(ModelEvent event) {
-        if (event.getChange() == ElementWrapper.CHANGE_INCOMING_CONNECTIONS) {
-            refreshTargetConnections();
-        } else if (event.getChange() == ElementWrapper.CHANGE_OUTGOING_CONNECTIONS) {
-            refreshSourceConnections();
-        } else if (event.getChange() == ElementWrapper.CHANGE_NAME) {
-            refreshVisuals();
-        } else if (event.getChange() == ElementWrapper.CHANGE_CONSTRAINT) {
-            refreshVisuals();
-        }
-    }
-
-    public void activate() {
-        super.activate();
-        ((ElementWrapper) getModel()).addListener(this);
-    }
-
-    public void deactivate() {
-        ((ElementWrapper) getModel()).removeListener(this);
-        super.deactivate();
-    }
-
-    public void performRequest(Request request) {
-        if (request.getType() == RequestConstants.REQ_DIRECT_EDIT) {
-            performDirectEdit();
-        } else {
-            super.performRequest(request);
-        }
-    }
-    
-    private void performDirectEdit() {
-        if (manager == null) {
-            manager = new ElementDirectEditManager(this, TextCellEditor.class,
-                new ElementCellEditorLocator(((ElementFigure) getFigure()).getLabel()));
-        }
-        manager.show();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,134 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ModelEvent;
+import org.drools.eclipse.flow.common.editor.core.ModelListener;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.drools.eclipse.flow.common.editor.policy.ElementDirectEditManager;
+import org.drools.eclipse.flow.common.editor.policy.ElementDirectEditPolicy;
+import org.drools.eclipse.flow.common.editor.policy.ElementEditPolicy;
+import org.drools.eclipse.flow.common.editor.policy.ElementNodeEditPolicy;
+import org.eclipse.draw2d.ChopboxAnchor;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.NodeEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.RequestConstants;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.jface.viewers.TextCellEditor;
+
+/**
+ * Default implementation of an element EditPart.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class ElementEditPart extends AbstractGraphicalEditPart implements NodeEditPart, ModelListener {
+    
+    private DirectEditManager manager;
+    
+    protected void createEditPolicies() {
+        installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new ElementNodeEditPolicy());
+        installEditPolicy(EditPolicy.COMPONENT_ROLE, new ElementEditPolicy());
+        installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ElementDirectEditPolicy());
+    }
+    
+    protected ElementWrapper getElementWrapper() {
+    	return (ElementWrapper) getModel();
+    }
+
+    protected List getModelSourceConnections() {
+        return getElementWrapper().getOutgoingConnections();
+    }
+    
+    protected List getModelTargetConnections() {
+        return getElementWrapper().getIncomingConnections();
+    }
+    
+    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
+        return new ChopboxAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
+        return new ChopboxAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+        return new ChopboxAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+        return new ChopboxAnchor(getFigure());
+    }
+
+    protected void refreshVisuals() {
+        ElementWrapper element = getElementWrapper();
+        ElementFigure figure = (ElementFigure) getFigure();
+        figure.setText(element.getName());
+        if (element.getConstraint().width == -1) {
+            element.getConstraint().width = figure.getBounds().width;
+        }
+        if (element.getConstraint().height == -1) {
+            element.getConstraint().height = figure.getBounds().height;
+        }
+        ((GraphicalEditPart) getParent()).setLayoutConstraint(this, figure, element.getConstraint());
+    }
+    
+    public void modelChanged(ModelEvent event) {
+        if (event.getChange() == ElementWrapper.CHANGE_INCOMING_CONNECTIONS) {
+            refreshTargetConnections();
+        } else if (event.getChange() == ElementWrapper.CHANGE_OUTGOING_CONNECTIONS) {
+            refreshSourceConnections();
+        } else if (event.getChange() == ElementWrapper.CHANGE_NAME) {
+            refreshVisuals();
+        } else if (event.getChange() == ElementWrapper.CHANGE_CONSTRAINT) {
+            refreshVisuals();
+        }
+    }
+
+    public void activate() {
+        super.activate();
+        ((ElementWrapper) getModel()).addListener(this);
+    }
+
+    public void deactivate() {
+        ((ElementWrapper) getModel()).removeListener(this);
+        super.deactivate();
+    }
+
+    public void performRequest(Request request) {
+        if (request.getType() == RequestConstants.REQ_DIRECT_EDIT) {
+            performDirectEdit();
+        } else {
+            super.performRequest(request);
+        }
+    }
+    
+    private void performDirectEdit() {
+        if (manager == null) {
+            manager = new ElementDirectEditManager(this, TextCellEditor.class,
+                new ElementCellEditorLocator(((ElementFigure) getFigure()).getLabel()));
+        }
+        manager.show();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,26 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-
-public class GraphLayoutManager extends AbstractLayout {
-
-	private ProcessEditPart diagram;
-
-	public GraphLayoutManager(ProcessEditPart diagram) {
-		this.diagram = diagram;
-	}
-	
-	protected Dimension calculatePreferredSize(IFigure container, int wHint, int hHint) {		
-		container.validate();
-		return container.getSize();
-	}
-
-	
-	public void layout(IFigure container) {
-		new DirectedGraphLayoutVisitor().layoutDiagram(diagram);
-		// diagram.setTableModelBounds();
-	}
-	
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,26 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+
+import org.eclipse.draw2d.AbstractLayout;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Dimension;
+
+public class GraphLayoutManager extends AbstractLayout {
+
+	private ProcessEditPart diagram;
+
+	public GraphLayoutManager(ProcessEditPart diagram) {
+		this.diagram = diagram;
+	}
+	
+	protected Dimension calculatePreferredSize(IFigure container, int wHint, int hHint) {		
+		container.validate();
+		return container.getSize();
+	}
+
+	
+	public void layout(IFigure container) {
+		new DirectedGraphLayoutVisitor().layoutDiagram(diagram);
+		// diagram.setTableModelBounds();
+	}
+	
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,141 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ModelEvent;
-import org.drools.eclipse.flow.common.editor.core.ModelListener;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.drools.eclipse.flow.common.editor.policy.ProcessLayoutEditPolicy;
-import org.eclipse.draw2d.Animation;
-import org.eclipse.draw2d.AutomaticRouter;
-import org.eclipse.draw2d.BendpointConnectionRouter;
-import org.eclipse.draw2d.ConnectionLayer;
-import org.eclipse.draw2d.FanRouter;
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.ManhattanConnectionRouter;
-import org.eclipse.draw2d.ShortestPathConnectionRouter;
-import org.eclipse.draw2d.XYLayout;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.LayerConstants;
-import org.eclipse.gef.SnapToGrid;
-import org.eclipse.gef.SnapToHelper;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
-import org.eclipse.swt.SWT;
-
-/**
- * Default implementation of a process EditPart.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ProcessEditPart extends AbstractGraphicalEditPart implements ModelListener {
-    
-//	private GraphLayoutManager graphLayoutManager;
-	
-    protected IFigure createFigure() {
-        Figure f = new Figure();
-        f.setLayoutManager(new XYLayout());
-//        graphLayoutManager = new GraphLayoutManager(this);
-//        f.setLayoutManager(graphLayoutManager);
-//        graphLayoutManager.layout(f);
-        return f;
-    }
-
-    protected void createEditPolicies() {
-        installEditPolicy(EditPolicy.NODE_ROLE, null);
-        installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, null);
-        installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, null);
-        installEditPolicy(EditPolicy.LAYOUT_ROLE, new ProcessLayoutEditPolicy());
-        installEditPolicy(EditPolicy.COMPONENT_ROLE, new RootComponentEditPolicy());
-    }
-
-    protected List getModelChildren() {
-        return getProcessWrapper().getElements();
-    }
-    
-    protected ProcessWrapper getProcessWrapper() {
-    	return (ProcessWrapper) getModel();
-    }
-
-    public void activate() {
-        super.activate();
-        ((ProcessWrapper) getModel()).addListener(this);
-    }
-
-    public void deactivate() {
-        ((ProcessWrapper) getModel()).removeListener(this);
-        super.deactivate();
-    }
-
-    public void modelChanged(ModelEvent event) {
-        if (event.getChange() == ProcessWrapper.CHANGE_ELEMENTS) {
-            refreshChildren();
-        } else if (event.getChange() == ProcessWrapper.CHANGE_ROUTER_LAYOUT) {
-    		refreshVisuals();
-    	}
-    }
-    
-    public Object getAdapter(Class adapter) {
-    	if (adapter == SnapToHelper.class) {
-    		Boolean val = (Boolean) getViewer().getProperty(SnapToGrid.PROPERTY_GRID_ENABLED);
-    		if (val != null && val.booleanValue()) {
-    			return new SnapToGrid(this);
-    		}
-    	}
-    	return super.getAdapter(adapter);
-    }
-    
-    protected void refreshVisuals() {
-    	Animation.markBegin();
-    	ConnectionLayer layer = (ConnectionLayer) getLayer(LayerConstants.CONNECTION_LAYER);
-        if ((getViewer().getControl().getStyle() & SWT.MIRRORED ) == 0) {
-            layer.setAntialias(SWT.ON);
-        }
-
-    	if (getProcessWrapper().getRouterLayout().equals(ProcessWrapper.ROUTER_LAYOUT_MANUAL)) {
-    		AutomaticRouter router = new FanRouter();
-    		router.setNextRouter(new BendpointConnectionRouter());
-    		layer.setConnectionRouter(router);
-    	} else if (getProcessWrapper().getRouterLayout().equals(ProcessWrapper.ROUTER_LAYOUT_MANHATTAN)) {
-    		layer.setConnectionRouter(new ManhattanConnectionRouter());
-    	} else {
-    		layer.setConnectionRouter(new ShortestPathConnectionRouter(getFigure()));
-    	}
-    	Animation.run(400);
-    }
-    
-	public boolean setTableModelBounds() {
-		List tableParts = getChildren();
-		for (Iterator iter = tableParts.iterator(); iter.hasNext(); ) {
-			ElementEditPart elementEditPart = (ElementEditPart) iter.next();
-			ElementFigure elementFigure = (ElementFigure) elementEditPart.getFigure();
-			if (elementFigure == null) {
-				continue;
-			}
-			Rectangle constraint = elementFigure.getBounds().getCopy();
-			ElementWrapper elementWrapper = elementEditPart.getElementWrapper();
-			elementWrapper.setConstraint(constraint);
-		}
-		return true;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,141 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ModelEvent;
+import org.drools.eclipse.flow.common.editor.core.ModelListener;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.drools.eclipse.flow.common.editor.policy.ProcessLayoutEditPolicy;
+import org.eclipse.draw2d.Animation;
+import org.eclipse.draw2d.AutomaticRouter;
+import org.eclipse.draw2d.BendpointConnectionRouter;
+import org.eclipse.draw2d.ConnectionLayer;
+import org.eclipse.draw2d.FanRouter;
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.ManhattanConnectionRouter;
+import org.eclipse.draw2d.ShortestPathConnectionRouter;
+import org.eclipse.draw2d.XYLayout;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.LayerConstants;
+import org.eclipse.gef.SnapToGrid;
+import org.eclipse.gef.SnapToHelper;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
+import org.eclipse.swt.SWT;
+
+/**
+ * Default implementation of a process EditPart.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ProcessEditPart extends AbstractGraphicalEditPart implements ModelListener {
+    
+//	private GraphLayoutManager graphLayoutManager;
+	
+    protected IFigure createFigure() {
+        Figure f = new Figure();
+        f.setLayoutManager(new XYLayout());
+//        graphLayoutManager = new GraphLayoutManager(this);
+//        f.setLayoutManager(graphLayoutManager);
+//        graphLayoutManager.layout(f);
+        return f;
+    }
+
+    protected void createEditPolicies() {
+        installEditPolicy(EditPolicy.NODE_ROLE, null);
+        installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, null);
+        installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, null);
+        installEditPolicy(EditPolicy.LAYOUT_ROLE, new ProcessLayoutEditPolicy());
+        installEditPolicy(EditPolicy.COMPONENT_ROLE, new RootComponentEditPolicy());
+    }
+
+    protected List getModelChildren() {
+        return getProcessWrapper().getElements();
+    }
+    
+    protected ProcessWrapper getProcessWrapper() {
+    	return (ProcessWrapper) getModel();
+    }
+
+    public void activate() {
+        super.activate();
+        ((ProcessWrapper) getModel()).addListener(this);
+    }
+
+    public void deactivate() {
+        ((ProcessWrapper) getModel()).removeListener(this);
+        super.deactivate();
+    }
+
+    public void modelChanged(ModelEvent event) {
+        if (event.getChange() == ProcessWrapper.CHANGE_ELEMENTS) {
+            refreshChildren();
+        } else if (event.getChange() == ProcessWrapper.CHANGE_ROUTER_LAYOUT) {
+    		refreshVisuals();
+    	}
+    }
+    
+    public Object getAdapter(Class adapter) {
+    	if (adapter == SnapToHelper.class) {
+    		Boolean val = (Boolean) getViewer().getProperty(SnapToGrid.PROPERTY_GRID_ENABLED);
+    		if (val != null && val.booleanValue()) {
+    			return new SnapToGrid(this);
+    		}
+    	}
+    	return super.getAdapter(adapter);
+    }
+    
+    protected void refreshVisuals() {
+    	Animation.markBegin();
+    	ConnectionLayer layer = (ConnectionLayer) getLayer(LayerConstants.CONNECTION_LAYER);
+        if ((getViewer().getControl().getStyle() & SWT.MIRRORED ) == 0) {
+            layer.setAntialias(SWT.ON);
+        }
+
+    	if (getProcessWrapper().getRouterLayout().equals(ProcessWrapper.ROUTER_LAYOUT_MANUAL)) {
+    		AutomaticRouter router = new FanRouter();
+    		router.setNextRouter(new BendpointConnectionRouter());
+    		layer.setConnectionRouter(router);
+    	} else if (getProcessWrapper().getRouterLayout().equals(ProcessWrapper.ROUTER_LAYOUT_MANHATTAN)) {
+    		layer.setConnectionRouter(new ManhattanConnectionRouter());
+    	} else {
+    		layer.setConnectionRouter(new ShortestPathConnectionRouter(getFigure()));
+    	}
+    	Animation.run(400);
+    }
+    
+	public boolean setTableModelBounds() {
+		List tableParts = getChildren();
+		for (Iterator iter = tableParts.iterator(); iter.hasNext(); ) {
+			ElementEditPart elementEditPart = (ElementEditPart) iter.next();
+			ElementFigure elementFigure = (ElementFigure) elementEditPart.getFigure();
+			if (elementFigure == null) {
+				continue;
+			}
+			Rectangle constraint = elementFigure.getBounds().getCopy();
+			ElementWrapper elementWrapper = elementEditPart.getElementWrapper();
+			elementWrapper.setConstraint(constraint);
+		}
+		return true;
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,69 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart.figure;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.Panel;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Default implementation of an element Figure.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class ElementFigure extends Panel {
-    
-    private boolean selected;
-    private Label label = new Label();
-
-    public ElementFigure() {
-        add(label);
-        customizeFigure();
-        setSize(80, 40);
-    }
-    
-    public void setIcon(Image icon) {
-        label.setIcon(icon);
-    }
-    
-    public void setText(String text) {
-        label.setText(text);
-    }
-    
-    public Label getLabel() {
-        return label;
-    }
-    
-    public void setBounds(Rectangle bounds) {
-        super.setBounds(bounds);
-        label.setBounds(bounds);
-    }
-    
-    protected abstract void customizeFigure();
-    
-    public void setSelected(boolean b) {
-        selected = b;
-    }
-    
-    public boolean isSelected() {
-        return selected;
-    }
-
-    public void setFocus(boolean b) {
-        repaint();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,69 @@
+package org.drools.eclipse.flow.common.editor.editpart.figure;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.Panel;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * Default implementation of an element Figure.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class ElementFigure extends Panel {
+    
+    private boolean selected;
+    private Label label = new Label();
+
+    public ElementFigure() {
+        add(label);
+        customizeFigure();
+        setSize(80, 40);
+    }
+    
+    public void setIcon(Image icon) {
+        label.setIcon(icon);
+    }
+    
+    public void setText(String text) {
+        label.setText(text);
+    }
+    
+    public Label getLabel() {
+        return label;
+    }
+    
+    public void setBounds(Rectangle bounds) {
+        super.setBounds(bounds);
+        label.setBounds(bounds);
+    }
+    
+    protected abstract void customizeFigure();
+    
+    public void setSelected(boolean b) {
+        selected = b;
+    }
+    
+    public boolean isSelected() {
+        return selected;
+    }
+
+    public void setFocus(boolean b) {
+        repaint();
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,64 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.command.CreateBendpointCommand;
-import org.drools.eclipse.flow.common.editor.core.command.DeleteBendpointCommand;
-import org.drools.eclipse.flow.common.editor.core.command.MoveBendpointCommand;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.BendpointEditPolicy;
-import org.eclipse.gef.requests.BendpointRequest;
-
-/**
- * Policy for bendpoints of connections.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConnectionBendpointEditPolicy extends BendpointEditPolicy {
-
-    protected Command getCreateBendpointCommand(BendpointRequest request) {
-        Point point = request.getLocation();
-        getConnection().translateToRelative(point);
-        
-        CreateBendpointCommand command = new CreateBendpointCommand();
-        command.setLocation(point);
-        command.setConnection(getHost().getModel());
-        command.setIndex(request.getIndex());
-        
-        return command;
-    }
-
-    protected Command getDeleteBendpointCommand(BendpointRequest request) {
-        DeleteBendpointCommand command = new DeleteBendpointCommand();
-        command.setConnectionModel(getHost().getModel());
-        command.setIndex(request.getIndex());
-        return command;
-    }
-
-    protected Command getMoveBendpointCommand(BendpointRequest request) {
-        Point location = request.getLocation();
-        getConnection().translateToRelative(location);
-
-        MoveBendpointCommand command = new MoveBendpointCommand();
-        command.setConnectionModel(getHost().getModel());
-        command.setIndex(request.getIndex());
-        command.setNewLocation(location);
-
-        return command;
-
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,64 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.command.CreateBendpointCommand;
+import org.drools.eclipse.flow.common.editor.core.command.DeleteBendpointCommand;
+import org.drools.eclipse.flow.common.editor.core.command.MoveBendpointCommand;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.BendpointEditPolicy;
+import org.eclipse.gef.requests.BendpointRequest;
+
+/**
+ * Policy for bendpoints of connections.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConnectionBendpointEditPolicy extends BendpointEditPolicy {
+
+    protected Command getCreateBendpointCommand(BendpointRequest request) {
+        Point point = request.getLocation();
+        getConnection().translateToRelative(point);
+        
+        CreateBendpointCommand command = new CreateBendpointCommand();
+        command.setLocation(point);
+        command.setConnection(getHost().getModel());
+        command.setIndex(request.getIndex());
+        
+        return command;
+    }
+
+    protected Command getDeleteBendpointCommand(BendpointRequest request) {
+        DeleteBendpointCommand command = new DeleteBendpointCommand();
+        command.setConnectionModel(getHost().getModel());
+        command.setIndex(request.getIndex());
+        return command;
+    }
+
+    protected Command getMoveBendpointCommand(BendpointRequest request) {
+        Point location = request.getLocation();
+        getConnection().translateToRelative(location);
+
+        MoveBendpointCommand command = new MoveBendpointCommand();
+        command.setConnectionModel(getHost().getModel());
+        command.setIndex(request.getIndex());
+        command.setNewLocation(location);
+
+        return command;
+
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,101 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.drools.eclipse.flow.common.editor.core.command.DeleteConnectionCommand;
-import org.drools.eclipse.flow.common.editor.core.command.SplitConnectionCommand;
-import org.drools.eclipse.flow.common.editor.editpart.ElementConnectionEditPart;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.CreateRequest;
-import org.eclipse.gef.requests.GroupRequest;
-
-/**
- * Policy for editing connections.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConnectionEditPolicy extends org.eclipse.gef.editpolicies.ConnectionEditPolicy {
-
-	private ElementConnectionFactory elementConnectionFactory;
-	
-	
-	public void setDefaultElementConnectionFactory(ElementConnectionFactory factory) {
-		if (factory == null) {
-			throw new IllegalArgumentException("ElementConnectionFactory is null");
-		}
-		this.elementConnectionFactory = factory;
-	}
-	
-	public ElementConnectionFactory getDefaultElementConnectionFactory() {
-		return elementConnectionFactory;
-	}
-	
-    public Command getCommand(Request request) {
-        if (REQ_CREATE.equals(request.getType()))
-            return getSplitTransitionCommand(request);
-        return super.getCommand(request);
-    }
-
-    private PolylineConnection getConnectionFigure() {
-        return ((PolylineConnection) ((ElementConnectionEditPart) getHost()).getFigure());
-    }
-
-    protected Command getDeleteCommand(GroupRequest request) {
-        DeleteConnectionCommand cmd = new DeleteConnectionCommand();
-        ElementConnection connection = (ElementConnection) getHost().getModel();
-        cmd.setAntecedentTaskConnection(connection);
-        cmd.setSource(connection.getSource());
-        cmd.setTarget(connection.getTarget());
-        return cmd;
-    }
-
-    protected Command getSplitTransitionCommand(Request request) {
-    	if (elementConnectionFactory == null) {
-    		throw new IllegalStateException("DefaultElementConnectionFactory is null");
-    	}
-        SplitConnectionCommand cmd = new SplitConnectionCommand();
-        cmd.setElementConnection(((ElementConnection) getHost().getModel()));
-        cmd.setNewSecondConnection(elementConnectionFactory.createElementConnection());
-        cmd.setParent(((ProcessWrapper) ((ElementConnectionEditPart) getHost())
-            .getSource().getParent().getModel()));
-        cmd.setNewElement(((ElementWrapper) ((CreateRequest) request).getNewObject()));
-        return cmd;
-    }
-
-    public EditPart getTargetEditPart(Request request) {
-        if (REQ_CREATE.equals(request.getType()))
-            return getHost();
-        return null;
-    }
-
-    public void eraseTargetFeedback(Request request) {
-        if (REQ_CREATE.equals(request.getType()))
-            getConnectionFigure().setLineWidth(1);
-    }
-
-    public void showTargetFeedback(Request request) {
-        if (REQ_CREATE.equals(request.getType()))
-            getConnectionFigure().setLineWidth(2);
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,101 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.eclipse.flow.common.editor.core.command.DeleteConnectionCommand;
+import org.drools.eclipse.flow.common.editor.core.command.SplitConnectionCommand;
+import org.drools.eclipse.flow.common.editor.editpart.ElementConnectionEditPart;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.requests.CreateRequest;
+import org.eclipse.gef.requests.GroupRequest;
+
+/**
+ * Policy for editing connections.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConnectionEditPolicy extends org.eclipse.gef.editpolicies.ConnectionEditPolicy {
+
+	private ElementConnectionFactory elementConnectionFactory;
+	
+	
+	public void setDefaultElementConnectionFactory(ElementConnectionFactory factory) {
+		if (factory == null) {
+			throw new IllegalArgumentException("ElementConnectionFactory is null");
+		}
+		this.elementConnectionFactory = factory;
+	}
+	
+	public ElementConnectionFactory getDefaultElementConnectionFactory() {
+		return elementConnectionFactory;
+	}
+	
+    public Command getCommand(Request request) {
+        if (REQ_CREATE.equals(request.getType()))
+            return getSplitTransitionCommand(request);
+        return super.getCommand(request);
+    }
+
+    private PolylineConnection getConnectionFigure() {
+        return ((PolylineConnection) ((ElementConnectionEditPart) getHost()).getFigure());
+    }
+
+    protected Command getDeleteCommand(GroupRequest request) {
+        DeleteConnectionCommand cmd = new DeleteConnectionCommand();
+        ElementConnection connection = (ElementConnection) getHost().getModel();
+        cmd.setAntecedentTaskConnection(connection);
+        cmd.setSource(connection.getSource());
+        cmd.setTarget(connection.getTarget());
+        return cmd;
+    }
+
+    protected Command getSplitTransitionCommand(Request request) {
+    	if (elementConnectionFactory == null) {
+    		throw new IllegalStateException("DefaultElementConnectionFactory is null");
+    	}
+        SplitConnectionCommand cmd = new SplitConnectionCommand();
+        cmd.setElementConnection(((ElementConnection) getHost().getModel()));
+        cmd.setNewSecondConnection(elementConnectionFactory.createElementConnection());
+        cmd.setParent(((ProcessWrapper) ((ElementConnectionEditPart) getHost())
+            .getSource().getParent().getModel()));
+        cmd.setNewElement(((ElementWrapper) ((CreateRequest) request).getNewObject()));
+        return cmd;
+    }
+
+    public EditPart getTargetEditPart(Request request) {
+        if (REQ_CREATE.equals(request.getType()))
+            return getHost();
+        return null;
+    }
+
+    public void eraseTargetFeedback(Request request) {
+        if (REQ_CREATE.equals(request.getType()))
+            getConnectionFigure().setLineWidth(1);
+    }
+
+    public void showTargetFeedback(Request request) {
+        if (REQ_CREATE.equals(request.getType()))
+            getConnectionFigure().setLineWidth(2);
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,44 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.tools.CellEditorLocator;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Manager for directly editing elements.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementDirectEditManager extends DirectEditManager {
-
-    private ElementWrapper element;
-
-    public ElementDirectEditManager(GraphicalEditPart source, Class editorType,
-            CellEditorLocator locator) {
-        super(source, editorType, locator);
-        element = (ElementWrapper) source.getModel();
-    }
-
-    protected void initCellEditor() {
-        getCellEditor().setValue(element.getName());
-        Text text = (Text) getCellEditor().getControl();
-        text.selectAll();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,44 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.tools.CellEditorLocator;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Manager for directly editing elements.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementDirectEditManager extends DirectEditManager {
+
+    private ElementWrapper element;
+
+    public ElementDirectEditManager(GraphicalEditPart source, Class editorType,
+            CellEditorLocator locator) {
+        super(source, editorType, locator);
+        element = (ElementWrapper) source.getModel();
+    }
+
+    protected void initCellEditor() {
+        getCellEditor().setValue(element.getName());
+        Text text = (Text) getCellEditor().getControl();
+        text.selectAll();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,45 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.command.RenameElementCommand;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.DirectEditPolicy;
-import org.eclipse.gef.requests.DirectEditRequest;
-
-/**
- * Policy for directly editing elements.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementDirectEditPolicy extends DirectEditPolicy {
-
-    protected Command getDirectEditCommand(DirectEditRequest request) {
-        RenameElementCommand cmd = new RenameElementCommand();
-        cmd.setSource((ElementWrapper) getHost().getModel());
-        cmd.setOldName(((ElementWrapper) getHost().getModel()).getName());
-        cmd.setName((String) request.getCellEditor().getValue());
-        return cmd;
-    }
-
-    protected void showCurrentEditValue(DirectEditRequest request) {
-        String value = (String) request.getCellEditor().getValue();
-        ((ElementFigure) getHostFigure()).setText(value);
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,45 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.command.RenameElementCommand;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.DirectEditPolicy;
+import org.eclipse.gef.requests.DirectEditRequest;
+
+/**
+ * Policy for directly editing elements.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementDirectEditPolicy extends DirectEditPolicy {
+
+    protected Command getDirectEditCommand(DirectEditRequest request) {
+        RenameElementCommand cmd = new RenameElementCommand();
+        cmd.setSource((ElementWrapper) getHost().getModel());
+        cmd.setOldName(((ElementWrapper) getHost().getModel()).getName());
+        cmd.setName((String) request.getCellEditor().getValue());
+        return cmd;
+    }
+
+    protected void showCurrentEditValue(DirectEditRequest request) {
+        String value = (String) request.getCellEditor().getValue();
+        ((ElementFigure) getHostFigure()).setText(value);
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.drools.eclipse.flow.common.editor.core.command.DeleteElementCommand;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.ComponentEditPolicy;
-import org.eclipse.gef.requests.GroupRequest;
-
-/**
- * Policy for editing elements.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementEditPolicy extends ComponentEditPolicy {
-
-    protected Command createDeleteCommand(GroupRequest deleteRequest) {
-        ProcessWrapper parent = (ProcessWrapper) getHost().getParent().getModel();
-        DeleteElementCommand deleteCmd = new DeleteElementCommand();
-        deleteCmd.setParent(parent);
-        deleteCmd.setChild((ElementWrapper) (getHost().getModel()));
-        return deleteCmd;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.eclipse.flow.common.editor.core.command.DeleteElementCommand;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.ComponentEditPolicy;
+import org.eclipse.gef.requests.GroupRequest;
+
+/**
+ * Policy for editing elements.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementEditPolicy extends ComponentEditPolicy {
+
+    protected Command createDeleteCommand(GroupRequest deleteRequest) {
+        ProcessWrapper parent = (ProcessWrapper) getHost().getParent().getModel();
+        DeleteElementCommand deleteCmd = new DeleteElementCommand();
+        deleteCmd.setParent(parent);
+        deleteCmd.setChild((ElementWrapper) (getHost().getModel()));
+        return deleteCmd;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,77 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.command.ElementConnectionCreateCommand;
-import org.drools.eclipse.flow.common.editor.core.command.ReconnectElementConnectionSourceCommand;
-import org.drools.eclipse.flow.common.editor.core.command.ReconnectElementConnectionTargetCommand;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy;
-import org.eclipse.gef.requests.CreateConnectionRequest;
-import org.eclipse.gef.requests.ReconnectRequest;
-
-/**
- * Policy for editing an element node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementNodeEditPolicy extends GraphicalNodeEditPolicy {
-
-    protected Command getConnectionCompleteCommand(CreateConnectionRequest request) {
-        ElementConnectionCreateCommand cmd =
-            (ElementConnectionCreateCommand) request.getStartCommand();
-        cmd.setConnection((ElementConnection) request.getNewObject());
-        cmd.setTarget(getElement());
-        return cmd;
-    }
-
-    protected Command getConnectionCreateCommand(CreateConnectionRequest request) {
-        ElementConnectionCreateCommand cmd =
-            new ElementConnectionCreateCommand();
-        cmd.setConnection((ElementConnection) request.getNewObject());
-        cmd.setSource(getElement());
-        request.setStartCommand(cmd);
-        return cmd;
-    }
-
-    protected ElementEditPart getActivityPart() {
-        return (ElementEditPart) getHost();
-    }
-
-    protected ElementWrapper getElement() {
-        return (ElementWrapper) getHost().getModel();
-    }
-
-    protected Command getReconnectSourceCommand(ReconnectRequest request) {
-        ReconnectElementConnectionSourceCommand cmd
-            = new ReconnectElementConnectionSourceCommand();
-        cmd.setConnection((ElementConnection) request.getConnectionEditPart().getModel());
-        cmd.setSource(getElement());
-        return cmd;
-    }
-
-    protected Command getReconnectTargetCommand(ReconnectRequest request) {
-        ReconnectElementConnectionTargetCommand cmd
-            = new ReconnectElementConnectionTargetCommand();
-        cmd.setConnection((ElementConnection) request.getConnectionEditPart().getModel());
-        cmd.setTarget(getElement());
-        return cmd;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,77 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.command.ElementConnectionCreateCommand;
+import org.drools.eclipse.flow.common.editor.core.command.ReconnectElementConnectionSourceCommand;
+import org.drools.eclipse.flow.common.editor.core.command.ReconnectElementConnectionTargetCommand;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy;
+import org.eclipse.gef.requests.CreateConnectionRequest;
+import org.eclipse.gef.requests.ReconnectRequest;
+
+/**
+ * Policy for editing an element node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementNodeEditPolicy extends GraphicalNodeEditPolicy {
+
+    protected Command getConnectionCompleteCommand(CreateConnectionRequest request) {
+        ElementConnectionCreateCommand cmd =
+            (ElementConnectionCreateCommand) request.getStartCommand();
+        cmd.setConnection((ElementConnection) request.getNewObject());
+        cmd.setTarget(getElement());
+        return cmd;
+    }
+
+    protected Command getConnectionCreateCommand(CreateConnectionRequest request) {
+        ElementConnectionCreateCommand cmd =
+            new ElementConnectionCreateCommand();
+        cmd.setConnection((ElementConnection) request.getNewObject());
+        cmd.setSource(getElement());
+        request.setStartCommand(cmd);
+        return cmd;
+    }
+
+    protected ElementEditPart getActivityPart() {
+        return (ElementEditPart) getHost();
+    }
+
+    protected ElementWrapper getElement() {
+        return (ElementWrapper) getHost().getModel();
+    }
+
+    protected Command getReconnectSourceCommand(ReconnectRequest request) {
+        ReconnectElementConnectionSourceCommand cmd
+            = new ReconnectElementConnectionSourceCommand();
+        cmd.setConnection((ElementConnection) request.getConnectionEditPart().getModel());
+        cmd.setSource(getElement());
+        return cmd;
+    }
+
+    protected Command getReconnectTargetCommand(ReconnectRequest request) {
+        ReconnectElementConnectionTargetCommand cmd
+            = new ReconnectElementConnectionTargetCommand();
+        cmd.setConnection((ElementConnection) request.getConnectionEditPart().getModel());
+        cmd.setTarget(getElement());
+        return cmd;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,63 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.drools.eclipse.flow.common.editor.core.command.AddElementCommand;
-import org.drools.eclipse.flow.common.editor.core.command.ChangeConstraintCommand;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.XYLayoutEditPolicy;
-import org.eclipse.gef.requests.CreateRequest;
-
-/**
- * Policy for performing layout of a process.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ProcessLayoutEditPolicy extends XYLayoutEditPolicy {
-    
-    protected Command getCreateCommand(CreateRequest request) {
-        AddElementCommand command = new AddElementCommand();
-        command.setParent((ProcessWrapper) getHost().getModel());
-        ElementWrapper element = (ElementWrapper) request.getNewObject();
-        element.setConstraint((Rectangle) getConstraintFor(request));
-        command.setChild(element);
-        return command;
-    }
-
-    protected Command getDeleteDependantCommand(Request request) {
-        return null;
-    }
-
-    protected Command createAddCommand(EditPart child, Object constraint) {
-        ElementWrapper element = (ElementWrapper) child.getModel();
-        AddElementCommand add = new AddElementCommand();
-        add.setParent((ProcessWrapper) getHost().getModel());
-        add.setChild(element);
-        return add;
-    }
-
-    protected Command createChangeConstraintCommand(EditPart child, Object constraint) {
-        ChangeConstraintCommand command = new ChangeConstraintCommand();
-        command.setElement((ElementWrapper) child.getModel());
-        command.setConstraint((Rectangle)constraint);
-        return command;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,63 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.eclipse.flow.common.editor.core.command.AddElementCommand;
+import org.drools.eclipse.flow.common.editor.core.command.ChangeConstraintCommand;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.XYLayoutEditPolicy;
+import org.eclipse.gef.requests.CreateRequest;
+
+/**
+ * Policy for performing layout of a process.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ProcessLayoutEditPolicy extends XYLayoutEditPolicy {
+    
+    protected Command getCreateCommand(CreateRequest request) {
+        AddElementCommand command = new AddElementCommand();
+        command.setParent((ProcessWrapper) getHost().getModel());
+        ElementWrapper element = (ElementWrapper) request.getNewObject();
+        element.setConstraint((Rectangle) getConstraintFor(request));
+        command.setChild(element);
+        return command;
+    }
+
+    protected Command getDeleteDependantCommand(Request request) {
+        return null;
+    }
+
+    protected Command createAddCommand(EditPart child, Object constraint) {
+        ElementWrapper element = (ElementWrapper) child.getModel();
+        AddElementCommand add = new AddElementCommand();
+        add.setParent((ProcessWrapper) getHost().getModel());
+        add.setChild(element);
+        return add;
+    }
+
+    protected Command createChangeConstraintCommand(EditPart child, Object constraint) {
+        ChangeConstraintCommand command = new ChangeConstraintCommand();
+        command.setElement((ElementWrapper) child.getModel());
+        command.setConstraint((Rectangle)constraint);
+        return command;
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.ruleflow.common.datatype.DataType;
-
-/**
- * An editor for a datatype.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface DataTypeEditor {
-
-    void setDataType(DataType dataType);
-    
-    DataType getDataType();
-    
-    void reset();
-    
-    void addListener(DataTypeListener listener);
-    
-    void removeListener(DataTypeListener listener);
-
-    public interface DataTypeListener {
-        void dataTypeChanged(DataType dataType);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.flow.common.view.datatype.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.ruleflow.common.datatype.DataType;
+
+/**
+ * An editor for a datatype.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface DataTypeEditor {
+
+    void setDataType(DataType dataType);
+    
+    DataType getDataType();
+    
+    void reset();
+    
+    void addListener(DataTypeListener listener);
+    
+    void removeListener(DataTypeListener listener);
+
+    public interface DataTypeListener {
+        void dataTypeChanged(DataType dataType);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,38 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.ruleflow.common.datatype.DataType;
-
-
-/**
- * An editor for an object with a given datatype.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface Editor {
-
-    void setDataType(DataType dataType);
-    
-	Serializable getValue();
-    
-    void setValue(Serializable value);
-    
-    void reset();
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,38 @@
+package org.drools.eclipse.flow.common.view.datatype.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.ruleflow.common.datatype.DataType;
+
+
+/**
+ * An editor for an object with a given datatype.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface Editor {
+
+    void setDataType(DataType dataType);
+    
+	Serializable getValue();
+    
+    void setValue(Serializable value);
+    
+    void reset();
+    
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,75 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.common.datatype.impl.type.BooleanDataType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Default boolean editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class BooleanEditor extends Composite implements Editor {
-
-    private static final String[] TF = { "true", "false" };
-    
-    private Combo combo;
-    
-    public BooleanEditor(Composite parent) {
-        super(parent, SWT.NONE);
-        setLayout(new FillLayout());
-        combo = new Combo(this, SWT.READ_ONLY);
-        combo.setItems(TF);
-        combo.select(1);
-    }
-
-    public void setDataType(DataType dataType) {
-        if (!(dataType instanceof BooleanDataType)) {
-            throw new IllegalArgumentException("Illegal data type " + dataType);
-        }
-    }
-
-    public Serializable getValue() {
-        return Boolean.valueOf(combo.getSelectionIndex() == 0);
-    }
-    
-    public void setValue(Serializable value) {
-        if (value == null) {
-            combo.select(1);
-        } else if (value instanceof Boolean) {
-            combo.select(((Boolean) value).booleanValue() ? 0 : 1);
-        } else {
-            throw new IllegalArgumentException("Value must be a boolean: " + value);
-        }
-    }
-    
-    public void reset() {
-        combo.select(1);
-    }
-    
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        combo.setEnabled(enabled);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,75 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.common.datatype.impl.type.BooleanDataType;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Default boolean editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class BooleanEditor extends Composite implements Editor {
+
+    private static final String[] TF = { "true", "false" };
+    
+    private Combo combo;
+    
+    public BooleanEditor(Composite parent) {
+        super(parent, SWT.NONE);
+        setLayout(new FillLayout());
+        combo = new Combo(this, SWT.READ_ONLY);
+        combo.setItems(TF);
+        combo.select(1);
+    }
+
+    public void setDataType(DataType dataType) {
+        if (!(dataType instanceof BooleanDataType)) {
+            throw new IllegalArgumentException("Illegal data type " + dataType);
+        }
+    }
+
+    public Serializable getValue() {
+        return Boolean.valueOf(combo.getSelectionIndex() == 0);
+    }
+    
+    public void setValue(Serializable value) {
+        if (value == null) {
+            combo.select(1);
+        } else if (value instanceof Boolean) {
+            combo.select(((Boolean) value).booleanValue() ? 0 : 1);
+        } else {
+            throw new IllegalArgumentException("Value must be a boolean: " + value);
+        }
+    }
+    
+    public void reset() {
+        combo.select(1);
+    }
+    
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        combo.setEnabled(enabled);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,96 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Combobox for datatypes based on a datatype registry.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DataTypeCombo extends Composite {
-    
-    private DataTypeRegistry registry;
-    private ComboViewer dataTypeCombo;
-    
-    public DataTypeCombo(Composite parent, int style, DataTypeRegistry registry) {
-        super(parent, style);
-        this.registry = registry;
-        setLayout(new FillLayout());
-        dataTypeCombo = new ComboViewer(this, SWT.READ_ONLY);
-        dataTypeCombo.setLabelProvider(new LabelProvider() {
-            public String getText(Object element) {
-                return ((DataTypeRegistry.IDataTypeInfo) element).getName();
-            }
-        });
-        dataTypeCombo.add(registry.getDataTypes().toArray(
-            new DataTypeRegistry.IDataTypeInfo[0]));
-    }
-    
-    private DataTypeRegistry.IDataTypeInfo getSelectedTypeInfo() {
-        ISelection selection = dataTypeCombo.getSelection();
-        if (!selection.isEmpty()) {
-            return (DataTypeRegistry.IDataTypeInfo)
-                ((StructuredSelection) selection).getFirstElement();
-        }
-        return null;
-    }
-    
-    public void setDataType(DataType dataType) {
-        if (dataType == null) {
-        	dataTypeCombo.setSelection(null);
-        } else {
-        	// TODO : check what happens if dataType not in combo
-            try {
-            	dataTypeCombo.setSelection(new StructuredSelection(registry.getDataTypeInfo(dataType.getClass())));
-            } catch (IllegalArgumentException e) {
-            	// "DataTypeInfo not found in registry: " + dataType.getClass()
-            	DroolsEclipsePlugin.log(e);
-            }
-        }
-    }
-    
-    public DataType getDataType() {
-    	DataTypeRegistry.IDataTypeInfo dataTypeInfo =
-    		getSelectedTypeInfo();
-        return dataTypeInfo == null ? null : 
-        	dataTypeInfo.getDataTypeFactory().createDataType();
-    }
-    
-    public void reset() {
-    	dataTypeCombo.setSelection(null);
-    }
-    
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        dataTypeCombo.getCombo().setEnabled(enabled);
-    }
-    
-    public void addSelectionChangedListener(ISelectionChangedListener listener) {
-    	dataTypeCombo.addSelectionChangedListener(listener);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,96 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.eclipse.jface.viewers.ComboViewer;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Combobox for datatypes based on a datatype registry.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DataTypeCombo extends Composite {
+    
+    private DataTypeRegistry registry;
+    private ComboViewer dataTypeCombo;
+    
+    public DataTypeCombo(Composite parent, int style, DataTypeRegistry registry) {
+        super(parent, style);
+        this.registry = registry;
+        setLayout(new FillLayout());
+        dataTypeCombo = new ComboViewer(this, SWT.READ_ONLY);
+        dataTypeCombo.setLabelProvider(new LabelProvider() {
+            public String getText(Object element) {
+                return ((DataTypeRegistry.IDataTypeInfo) element).getName();
+            }
+        });
+        dataTypeCombo.add(registry.getDataTypes().toArray(
+            new DataTypeRegistry.IDataTypeInfo[0]));
+    }
+    
+    private DataTypeRegistry.IDataTypeInfo getSelectedTypeInfo() {
+        ISelection selection = dataTypeCombo.getSelection();
+        if (!selection.isEmpty()) {
+            return (DataTypeRegistry.IDataTypeInfo)
+                ((StructuredSelection) selection).getFirstElement();
+        }
+        return null;
+    }
+    
+    public void setDataType(DataType dataType) {
+        if (dataType == null) {
+        	dataTypeCombo.setSelection(null);
+        } else {
+        	// TODO : check what happens if dataType not in combo
+            try {
+            	dataTypeCombo.setSelection(new StructuredSelection(registry.getDataTypeInfo(dataType.getClass())));
+            } catch (IllegalArgumentException e) {
+            	// "DataTypeInfo not found in registry: " + dataType.getClass()
+            	DroolsEclipsePlugin.log(e);
+            }
+        }
+    }
+    
+    public DataType getDataType() {
+    	DataTypeRegistry.IDataTypeInfo dataTypeInfo =
+    		getSelectedTypeInfo();
+        return dataTypeInfo == null ? null : 
+        	dataTypeInfo.getDataTypeFactory().createDataType();
+    }
+    
+    public void reset() {
+    	dataTypeCombo.setSelection(null);
+    }
+    
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        dataTypeCombo.getCombo().setEnabled(enabled);
+    }
+    
+    public void addSelectionChangedListener(ISelectionChangedListener listener) {
+    	dataTypeCombo.addSelectionChangedListener(listener);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,125 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
-import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.common.datatype.impl.type.UndefinedDataType;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Default editor for a datatype. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DataTypeEditorComposite extends Composite implements DataTypeEditor.DataTypeListener {
-    private DataTypeRegistry registry;
-    private DataTypeEditor dataTypeEditor;
-    private List listeners = new ArrayList();
-   
-    public DataTypeEditorComposite(Composite parent, int style, DataTypeRegistry registry) {
-        super(parent, style);
-        this.registry = registry;
-        setLayout(new FillLayout());
-        dataTypeEditor = new EmptyEditor(this);
-    }
-    public void setDataType(DataType dataType) {
-        if (dataType == null) {
-            reset();
-        } else {
-            // update data type editor
-            dataTypeEditor.removeListener(this);
-            ((Composite) dataTypeEditor).dispose();
-            dataTypeEditor = null;
-            Class editorClass = null;
-            try {
-                editorClass = registry.getDataTypeInfo(dataType.getClass()).getDataTypeEditorClass();
-                dataTypeEditor = (DataTypeEditor) editorClass.getConstructor(
-                    new Class[] { Composite.class }).newInstance(new Object[] { this });
-            } catch (IllegalArgumentException e) {
-            	// "Could not find data type info for type " + dataType.getClass()
-                DroolsEclipsePlugin.log(e);
-            } catch (InstantiationException e) {
-                // "Could not create editor for type " + editorClass
-                DroolsEclipsePlugin.log(e);
-            } catch (NoSuchMethodException e) {
-                // "Could not create editor for type " + editorClass
-                DroolsEclipsePlugin.log(e);
-            } catch (InvocationTargetException e) {
-                // "Could not create editor for type " + editorClass
-                DroolsEclipsePlugin.log(e);
-            } catch (IllegalAccessException e) {
-                // "Could not create editor for type " + editorClass
-                DroolsEclipsePlugin.log(e);
-            }
-            
-            if (dataTypeEditor == null) {
-                dataTypeEditor = new EmptyEditor(this);
-            }
-            dataTypeEditor.addListener(this);
-            dataTypeEditor.setDataType(dataType);
-            ((Composite) dataTypeEditor).setBackground(getBackground());
-            layout();
-        }
-    }
-    
-    public DataType getDataType() {
-        return dataTypeEditor.getDataType();
-    }
-    
-   public void reset() {
-        setDataType(UndefinedDataType.getInstance());
-    }
-    
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        ((Composite) dataTypeEditor).setEnabled(enabled);
-    }
-    
-    public void addListener(DataTypeEditor.DataTypeListener listener) {
-        listeners.add(listener);
-    }
-    
-    public void removeListener(DataTypeEditor.DataTypeListener listener) {
-        listeners.remove(listener);
-    }
-    
-    private void notifyListeners() {
-        DataType dataType = getDataType();
-        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
-        	DataTypeEditor.DataTypeListener listener = (DataTypeEditor.DataTypeListener) it.next();
-            listener.dataTypeChanged(dataType);
-        }
-    }
-
-    public void dataTypeChanged(DataType dataType) {
-        notifyListeners();
-    }
-    
-    public void setBackground(Color color) {
-    	super.setBackground(color);
-    	((Composite) dataTypeEditor).setBackground(color);
-    }
-}
Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,125 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
+import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.common.datatype.impl.type.UndefinedDataType;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Default editor for a datatype. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DataTypeEditorComposite extends Composite implements DataTypeEditor.DataTypeListener {
+    private DataTypeRegistry registry;
+    private DataTypeEditor dataTypeEditor;
+    private List listeners = new ArrayList();
+   
+    public DataTypeEditorComposite(Composite parent, int style, DataTypeRegistry registry) {
+        super(parent, style);
+        this.registry = registry;
+        setLayout(new FillLayout());
+        dataTypeEditor = new EmptyEditor(this);
+    }
+    public void setDataType(DataType dataType) {
+        if (dataType == null) {
+            reset();
+        } else {
+            // update data type editor
+            dataTypeEditor.removeListener(this);
+            ((Composite) dataTypeEditor).dispose();
+            dataTypeEditor = null;
+            Class editorClass = null;
+            try {
+                editorClass = registry.getDataTypeInfo(dataType.getClass()).getDataTypeEditorClass();
+                dataTypeEditor = (DataTypeEditor) editorClass.getConstructor(
+                    new Class[] { Composite.class }).newInstance(new Object[] { this });
+            } catch (IllegalArgumentException e) {
+            	// "Could not find data type info for type " + dataType.getClass()
+                DroolsEclipsePlugin.log(e);
+            } catch (InstantiationException e) {
+                // "Could not create editor for type " + editorClass
+                DroolsEclipsePlugin.log(e);
+            } catch (NoSuchMethodException e) {
+                // "Could not create editor for type " + editorClass
+                DroolsEclipsePlugin.log(e);
+            } catch (InvocationTargetException e) {
+                // "Could not create editor for type " + editorClass
+                DroolsEclipsePlugin.log(e);
+            } catch (IllegalAccessException e) {
+                // "Could not create editor for type " + editorClass
+                DroolsEclipsePlugin.log(e);
+            }
+            
+            if (dataTypeEditor == null) {
+                dataTypeEditor = new EmptyEditor(this);
+            }
+            dataTypeEditor.addListener(this);
+            dataTypeEditor.setDataType(dataType);
+            ((Composite) dataTypeEditor).setBackground(getBackground());
+            layout();
+        }
+    }
+    
+    public DataType getDataType() {
+        return dataTypeEditor.getDataType();
+    }
+    
+   public void reset() {
+        setDataType(UndefinedDataType.getInstance());
+    }
+    
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        ((Composite) dataTypeEditor).setEnabled(enabled);
+    }
+    
+    public void addListener(DataTypeEditor.DataTypeListener listener) {
+        listeners.add(listener);
+    }
+    
+    public void removeListener(DataTypeEditor.DataTypeListener listener) {
+        listeners.remove(listener);
+    }
+    
+    private void notifyListeners() {
+        DataType dataType = getDataType();
+        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
+        	DataTypeEditor.DataTypeListener listener = (DataTypeEditor.DataTypeListener) it.next();
+            listener.dataTypeChanged(dataType);
+        }
+    }
+
+    public void dataTypeChanged(DataType dataType) {
+        notifyListeners();
+    }
+    
+    public void setBackground(Color color) {
+    	super.setBackground(color);
+    	((Composite) dataTypeEditor).setBackground(color);
+    }
+}
Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,97 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-import java.lang.reflect.InvocationTargetException;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Container for an editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class EditorComposite extends Composite {
-    
-    private DataTypeRegistry registry;
-    private Editor editor;
-    
-    public EditorComposite(Composite parent, int style, DataTypeRegistry registry) {
-        super(parent, style);
-        this.registry = registry;
-        setLayout(new FillLayout());
-        editor = new EmptyEditor(this);
-    }
-    
-    public void setDataType(DataType type) {
-        ((Composite) editor).dispose();
-        if (type == null) {
-            editor = new EmptyEditor(this);
-        } else {
-        	Class editorClass = null;
-            try {
-                editorClass = registry.getDataTypeInfo(type.getClass()).getValueEditorClass();
-                editor = (Editor) editorClass.getConstructor(
-                    new Class[] { Composite.class }).newInstance(new Object[] { this });
-            } catch (IllegalArgumentException e) {
-                // "Could not find data type info for type " + type.getClass()
-            	DroolsEclipsePlugin.log(e);
-                editor = new EmptyEditor(this);
-            } catch (InstantiationException e) {
-                // "Could not create editor for editor " + editorClass
-            	DroolsEclipsePlugin.log(e);
-                editor = new EmptyEditor(this);
-            } catch (NoSuchMethodException e) {
-            	// "Could not create editor for editor " + editorClass
-            	DroolsEclipsePlugin.log(e);
-                editor = new EmptyEditor(this);
-            } catch (InvocationTargetException e) {
-            	// "Could not create editor for editor " + editorClass
-            	DroolsEclipsePlugin.log(e);
-                editor = new EmptyEditor(this);
-            } catch (IllegalAccessException e) {
-            	// "Could not create editor for editor " + editorClass
-            	DroolsEclipsePlugin.log(e);
-                editor = new EmptyEditor(this);
-            }
-            editor.setDataType(type);
-            layout();
-        }
-    }
-    
-    public void setValue(Serializable value) {
-        editor.setValue(value);
-    }
-    
-    public Serializable getValue() {
-        return editor.getValue();
-    }
-
-    public void reset() {
-        editor.reset();
-    }
-    
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        ((Composite) editor).setEnabled(enabled);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,97 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Container for an editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class EditorComposite extends Composite {
+    
+    private DataTypeRegistry registry;
+    private Editor editor;
+    
+    public EditorComposite(Composite parent, int style, DataTypeRegistry registry) {
+        super(parent, style);
+        this.registry = registry;
+        setLayout(new FillLayout());
+        editor = new EmptyEditor(this);
+    }
+    
+    public void setDataType(DataType type) {
+        ((Composite) editor).dispose();
+        if (type == null) {
+            editor = new EmptyEditor(this);
+        } else {
+        	Class editorClass = null;
+            try {
+                editorClass = registry.getDataTypeInfo(type.getClass()).getValueEditorClass();
+                editor = (Editor) editorClass.getConstructor(
+                    new Class[] { Composite.class }).newInstance(new Object[] { this });
+            } catch (IllegalArgumentException e) {
+                // "Could not find data type info for type " + type.getClass()
+            	DroolsEclipsePlugin.log(e);
+                editor = new EmptyEditor(this);
+            } catch (InstantiationException e) {
+                // "Could not create editor for editor " + editorClass
+            	DroolsEclipsePlugin.log(e);
+                editor = new EmptyEditor(this);
+            } catch (NoSuchMethodException e) {
+            	// "Could not create editor for editor " + editorClass
+            	DroolsEclipsePlugin.log(e);
+                editor = new EmptyEditor(this);
+            } catch (InvocationTargetException e) {
+            	// "Could not create editor for editor " + editorClass
+            	DroolsEclipsePlugin.log(e);
+                editor = new EmptyEditor(this);
+            } catch (IllegalAccessException e) {
+            	// "Could not create editor for editor " + editorClass
+            	DroolsEclipsePlugin.log(e);
+                editor = new EmptyEditor(this);
+            }
+            editor.setDataType(type);
+            layout();
+        }
+    }
+    
+    public void setValue(Serializable value) {
+        editor.setValue(value);
+    }
+    
+    public Serializable getValue() {
+        return editor.getValue();
+    }
+
+    public void reset() {
+        editor.reset();
+    }
+    
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        ((Composite) editor).setEnabled(enabled);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,79 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * Default empty editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class EmptyEditor extends Composite implements Editor, DataTypeEditor {
-
-    private DataType dataType;
-    private Serializable value;
-    private Label label;
-    
-    public EmptyEditor(Composite parent) {
-        super(parent, SWT.NONE);
-        setSize(0, 0);
-        setLayout(new FillLayout());
-        label = new Label(this, SWT.NONE);
-    }
-    
-    public DataType getDataType() {
-        return dataType;
-    }
-    
-    public void setDataType(DataType dataType) {
-        this.dataType = dataType;
-    }
-
-    public Serializable getValue() {
-        return value;
-    }
-
-    public void setValue(Serializable value) {
-        this.value = value;
-    }
-
-    public void reset() {
-        // do nothing
-    }
-
-    public void addListener(DataTypeEditor.DataTypeListener listener) {
-        // do nothing
-    }
-    
-    public void removeListener(DataTypeEditor.DataTypeListener listener) {
-        // do nothing
-    }
-    
-    public void setBackground(Color color) {
-    	super.setBackground(color);
-    	label.setBackground(color);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,79 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+/**
+ * Default empty editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class EmptyEditor extends Composite implements Editor, DataTypeEditor {
+
+    private DataType dataType;
+    private Serializable value;
+    private Label label;
+    
+    public EmptyEditor(Composite parent) {
+        super(parent, SWT.NONE);
+        setSize(0, 0);
+        setLayout(new FillLayout());
+        label = new Label(this, SWT.NONE);
+    }
+    
+    public DataType getDataType() {
+        return dataType;
+    }
+    
+    public void setDataType(DataType dataType) {
+        this.dataType = dataType;
+    }
+
+    public Serializable getValue() {
+        return value;
+    }
+
+    public void setValue(Serializable value) {
+        this.value = value;
+    }
+
+    public void reset() {
+        // do nothing
+    }
+
+    public void addListener(DataTypeEditor.DataTypeListener listener) {
+        // do nothing
+    }
+    
+    public void removeListener(DataTypeEditor.DataTypeListener listener) {
+        // do nothing
+    }
+    
+    public void setBackground(Color color) {
+    	super.setBackground(color);
+    	label.setBackground(color);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,80 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.common.datatype.impl.type.FloatDataType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Default float editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class FloatEditor extends Composite implements Editor {
-
-    private Text text;
-    
-    public FloatEditor(Composite parent) {
-        super(parent, SWT.NONE);
-        setLayout(new FillLayout());
-        text = new Text(this, SWT.NONE);
-    }
-
-    public void setDataType(DataType dataType) {
-        if (!(dataType instanceof FloatDataType)) {
-            throw new IllegalArgumentException("Illegal data type " + dataType);
-        }
-    }
-
-    public Serializable getValue() throws IllegalArgumentException {
-        String valueString = text.getText();
-        if ("".equals(valueString)) {
-            return null;
-        }
-        try {
-            return new Float(valueString);
-        } catch (NumberFormatException e) {
-            throw new IllegalArgumentException("The value " + valueString
-                + " is not a valid float.");
-        }
-    }
-    
-    public void setValue(Serializable value) {
-        if (value == null) {
-            text.setText("");
-        } else if (value instanceof Float) {
-            text.setText(((Float) value).toString());
-        } else {
-            throw new IllegalArgumentException("Value must be a float: " + value);
-        }
-    }
-    
-    public void reset() {
-        text.setText("");
-    }
-
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        text.setEnabled(enabled);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,80 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.common.datatype.impl.type.FloatDataType;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Default float editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class FloatEditor extends Composite implements Editor {
+
+    private Text text;
+    
+    public FloatEditor(Composite parent) {
+        super(parent, SWT.NONE);
+        setLayout(new FillLayout());
+        text = new Text(this, SWT.NONE);
+    }
+
+    public void setDataType(DataType dataType) {
+        if (!(dataType instanceof FloatDataType)) {
+            throw new IllegalArgumentException("Illegal data type " + dataType);
+        }
+    }
+
+    public Serializable getValue() throws IllegalArgumentException {
+        String valueString = text.getText();
+        if ("".equals(valueString)) {
+            return null;
+        }
+        try {
+            return new Float(valueString);
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("The value " + valueString
+                + " is not a valid float.");
+        }
+    }
+    
+    public void setValue(Serializable value) {
+        if (value == null) {
+            text.setText("");
+        } else if (value instanceof Float) {
+            text.setText(((Float) value).toString());
+        } else {
+            throw new IllegalArgumentException("Value must be a float: " + value);
+        }
+    }
+    
+    public void reset() {
+        text.setText("");
+    }
+
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        text.setEnabled(enabled);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,80 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.common.datatype.impl.type.IntegerDataType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Default integer editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class IntegerEditor extends Composite implements Editor {
-
-    private Text text;
-    
-    public IntegerEditor(Composite parent) {
-        super(parent, SWT.NONE);
-        setLayout(new FillLayout());
-        text = new Text(this, SWT.NONE);
-    }
-
-    public void setDataType(DataType dataType) {
-        if (!(dataType instanceof IntegerDataType)) {
-            throw new IllegalArgumentException("Illegal data type " + dataType);
-        }
-    }
-
-    public Serializable getValue() {
-        String valueString = text.getText();
-        if ("".equals(valueString)) {
-            return null;
-        }
-        try {
-            return new Integer(valueString);
-        } catch (NumberFormatException e) {
-            throw new IllegalArgumentException("The value " + valueString
-                + " is not a valid integer.");
-        }
-    }
-
-    public void setValue(Serializable value) {
-        if (value == null) {
-            text.setText("");
-        } else if (value instanceof Integer) {
-            text.setText(((Integer) value).toString());
-        } else {
-            throw new IllegalArgumentException("Value must be an integer: " + value);
-        }
-    }
-    
-    public void reset() {
-        text.setText("");
-    }
-
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        text.setEnabled(enabled);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,80 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.common.datatype.impl.type.IntegerDataType;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Default integer editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class IntegerEditor extends Composite implements Editor {
+
+    private Text text;
+    
+    public IntegerEditor(Composite parent) {
+        super(parent, SWT.NONE);
+        setLayout(new FillLayout());
+        text = new Text(this, SWT.NONE);
+    }
+
+    public void setDataType(DataType dataType) {
+        if (!(dataType instanceof IntegerDataType)) {
+            throw new IllegalArgumentException("Illegal data type " + dataType);
+        }
+    }
+
+    public Serializable getValue() {
+        String valueString = text.getText();
+        if ("".equals(valueString)) {
+            return null;
+        }
+        try {
+            return new Integer(valueString);
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("The value " + valueString
+                + " is not a valid integer.");
+        }
+    }
+
+    public void setValue(Serializable value) {
+        if (value == null) {
+            text.setText("");
+        } else if (value instanceof Integer) {
+            text.setText(((Integer) value).toString());
+        } else {
+            throw new IllegalArgumentException("Value must be an integer: " + value);
+        }
+    }
+    
+    public void reset() {
+        text.setText("");
+    }
+
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        text.setEnabled(enabled);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.common.datatype.impl.type.StringDataType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Default string editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class StringEditor extends Composite implements Editor {
-
-    private Text text;
-    
-    public StringEditor(Composite parent) {
-        super(parent, SWT.NONE);
-        setLayout(new FillLayout());
-        text = new Text(this, SWT.NONE);
-    }
-
-    public void setDataType(DataType dataType) {
-        if (!(dataType instanceof StringDataType)) {
-            throw new IllegalArgumentException("Illegal data type " + dataType);
-        }
-    }
-
-    public Serializable getValue() {
-        return text.getText();
-    }
-
-    public void setValue(Serializable value) {
-        if (value == null) {
-            text.setText("");
-        } else if (value instanceof String) {
-            text.setText(value == null ? "" : (String) value);
-        } else {
-            throw new IllegalArgumentException("Value must be a string: " + value);
-        }
-    }
-
-    public void reset() {
-        text.setText("");
-    }
-
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        text.setEnabled(enabled);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.common.datatype.impl.type.StringDataType;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Default string editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class StringEditor extends Composite implements Editor {
+
+    private Text text;
+    
+    public StringEditor(Composite parent) {
+        super(parent, SWT.NONE);
+        setLayout(new FillLayout());
+        text = new Text(this, SWT.NONE);
+    }
+
+    public void setDataType(DataType dataType) {
+        if (!(dataType instanceof StringDataType)) {
+            throw new IllegalArgumentException("Illegal data type " + dataType);
+        }
+    }
+
+    public Serializable getValue() {
+        return text.getText();
+    }
+
+    public void setValue(Serializable value) {
+        if (value == null) {
+            text.setText("");
+        } else if (value instanceof String) {
+            text.setText(value == null ? "" : (String) value);
+        } else {
+            throw new IllegalArgumentException("Value must be a string: " + value);
+        }
+    }
+
+    public void reset() {
+        text.setText("");
+    }
+
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        text.setEnabled(enabled);
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,60 +0,0 @@
-package org.drools.eclipse.flow.common.view.property;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Cell editor for a JavaBean.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class BeanDialogCellEditor extends DialogCellEditor {
-
-    public BeanDialogCellEditor(Composite parent) {
-        super(parent);
-    }
-
-    protected Object openDialogBox(Control cellEditorWindow) {
-        EditBeanDialog dialog = createDialog(cellEditorWindow.getShell());
-        Object value = getValue();
-        if (value != null) {
-            dialog.setValue(value);
-        }
-        int result = dialog.open();
-        if (result == Window.CANCEL) {
-            return null;
-        }
-        return dialog.getValue();
-    }
-    
-    protected abstract EditBeanDialog createDialog(Shell shell);
-
-    protected void updateContents(Object value) {
-        getDefaultLabel().setText(getLabelText(value));
-    }
-    
-    protected String getLabelText(Object value) {
-        if (value == null) {
-            return "";
-        }
-        return value.toString();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,60 @@
+package org.drools.eclipse.flow.common.view.property;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.jface.viewers.DialogCellEditor;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell editor for a JavaBean.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class BeanDialogCellEditor extends DialogCellEditor {
+
+    public BeanDialogCellEditor(Composite parent) {
+        super(parent);
+    }
+
+    protected Object openDialogBox(Control cellEditorWindow) {
+        EditBeanDialog dialog = createDialog(cellEditorWindow.getShell());
+        Object value = getValue();
+        if (value != null) {
+            dialog.setValue(value);
+        }
+        int result = dialog.open();
+        if (result == Window.CANCEL) {
+            return null;
+        }
+        return dialog.getValue();
+    }
+    
+    protected abstract EditBeanDialog createDialog(Shell shell);
+
+    protected void updateContents(Object value) {
+        getDefaultLabel().setText(getLabelText(value));
+    }
+    
+    protected String getLabelText(Object value) {
+        if (value == null) {
+            return "";
+        }
+        return value.toString();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,66 +0,0 @@
-package org.drools.eclipse.flow.common.view.property;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog for editing a JavaBean.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class EditBeanDialog extends Dialog {
-
-    private String title;
-    private Object value;
-    
-    protected EditBeanDialog(Shell parentShell, String title) {
-        super(parentShell);
-        this.title = title;
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-    }
-    
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        newShell.setText(title);
-    }
-    
-    protected Point getInitialSize() {
-        return new Point(400, 200);
-    }
-    
-    public Object getValue() {
-        return value;
-    }
-    
-    protected void okPressed() {
-        try {
-            value = updateValue(value);
-            super.okPressed();
-        } catch (IllegalArgumentException e) {
-            // value could not be set, ignoring ok
-        }
-    }
-    
-    protected abstract Object updateValue(Object value);
-    
-    public void setValue(Object value) {
-        this.value = value;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,66 @@
+package org.drools.eclipse.flow.common.view.property;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Dialog for editing a JavaBean.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class EditBeanDialog extends Dialog {
+
+    private String title;
+    private Object value;
+    
+    protected EditBeanDialog(Shell parentShell, String title) {
+        super(parentShell);
+        this.title = title;
+        setShellStyle(getShellStyle() | SWT.RESIZE);
+    }
+    
+    protected void configureShell(Shell newShell) {
+        super.configureShell(newShell);
+        newShell.setText(title);
+    }
+    
+    protected Point getInitialSize() {
+        return new Point(400, 200);
+    }
+    
+    public Object getValue() {
+        return value;
+    }
+    
+    protected void okPressed() {
+        try {
+            value = updateValue(value);
+            super.okPressed();
+        } catch (IllegalArgumentException e) {
+            // value could not be set, ignoring ok
+        }
+    }
+    
+    protected abstract Object updateValue(Object value);
+    
+    public void setValue(Object value) {
+        this.value = value;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,177 +0,0 @@
-package org.drools.eclipse.flow.common.view.property;
-/*
- * Copyright 2005 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.
- */
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog for editing a list.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class EditListDialog extends EditBeanDialog {
-    
-    private Class editItemDialogClass;
-    private List newList;
-    private ListViewer listViewer;
-    private Button removeButton;
-    private Button editButton;
-
-    protected EditListDialog(Shell parentShell, String title, Class editItemDialogClass) {
-        super(parentShell, title);
-        this.editItemDialogClass = editItemDialogClass;
-    }
-    
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = (Composite) super.createDialogArea(parent);
-        GridLayout gridLayout = new GridLayout();
-        gridLayout.numColumns = 2;
-        composite.setLayout(gridLayout);
-
-        listViewer = new ListViewer(composite, SWT.SINGLE);
-        listViewer.add(newList.toArray());
-        listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                removeButton.setEnabled(!event.getSelection().isEmpty());
-                editButton.setEnabled(!event.getSelection().isEmpty());
-            }
-        });
-        GridData gridData = new GridData();
-        gridData.grabExcessHorizontalSpace = true;
-        gridData.grabExcessVerticalSpace = true;
-        gridData.horizontalAlignment = GridData.FILL;
-        gridData.verticalAlignment = GridData.FILL;
-        gridData.verticalSpan = 3;
-        listViewer.getList().setLayoutData(gridData);
-        
-        Button addButton = new Button(composite, SWT.NONE);
-        addButton.setText("Add");
-        gridData = new GridData();
-        gridData.horizontalAlignment = GridData.FILL;
-        gridData.verticalAlignment = GridData.BEGINNING;
-        addButton.setLayoutData(gridData);
-        addButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                addItem();
-            }
-        });
-
-        removeButton = new Button(composite, SWT.NONE);
-        removeButton.setText("Remove");
-        removeButton.setEnabled(false);
-        gridData = new GridData();
-        gridData.verticalAlignment = GridData.BEGINNING;
-        removeButton.setLayoutData(gridData);
-        removeButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                removeItem();
-            }
-        });
-
-        editButton = new Button(composite, SWT.NONE);
-        editButton.setText("Edit");
-        editButton.setEnabled(false);
-        gridData = new GridData();
-        gridData.horizontalAlignment = GridData.FILL;
-        gridData.verticalAlignment = GridData.BEGINNING;
-        editButton.setLayoutData(gridData);
-        editButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                editItem();
-            }
-        });
-
-        return composite;
-    }
-    
-    public void setValue(Object value) {
-        super.setValue(value);
-        this.newList = new ArrayList((List) value);
-    }
-    
-    protected Object updateValue(Object value) {
-        return newList;
-    }
-
-    private void addItem() {
-        EditBeanDialog dialog = createEditItemDialog();
-        dialog.setValue(createItem());
-        int code = dialog.open();
-        Object result = dialog.getValue();
-        if (code != CANCEL) {
-            newList.add(result);
-            listViewer.add(result);
-        }
-    }
-    
-    protected abstract Object createItem();
-    
-    private void editItem() {
-        EditBeanDialog dialog = createEditItemDialog();
-        Iterator iterator = ((StructuredSelection) listViewer.getSelection()).iterator();
-        if (iterator.hasNext()) {
-            dialog.setValue(iterator.next());
-            int code = dialog.open();
-            Object result = dialog.getValue();
-            if (code != CANCEL) {
-                listViewer.update(result, null);
-            }
-        }
-    }
-    
-    private void removeItem() {
-        Iterator iterator = ((StructuredSelection) listViewer.getSelection()).iterator();
-        // single selection only allowed
-        if (iterator.hasNext()) {
-            Object item = iterator.next();
-            newList.remove(item);
-            listViewer.remove(item);
-        }
-    }
-    
-    private EditBeanDialog createEditItemDialog() {
-        try {
-            return (EditBeanDialog) editItemDialogClass.getConstructor(
-                new Class[] { Shell.class }).newInstance(
-                new Object[] { getShell() });
-        } catch (InstantiationException e) {
-            throw new RuntimeException(e);
-        } catch (IllegalAccessException e) {
-            throw new RuntimeException(e);
-        } catch (InvocationTargetException e) {
-            throw new RuntimeException(e);
-        } catch (NoSuchMethodException e) {
-            throw new RuntimeException(e);
-        } 
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,177 @@
+package org.drools.eclipse.flow.common.view.property;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Dialog for editing a list.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class EditListDialog extends EditBeanDialog {
+    
+    private Class editItemDialogClass;
+    private List newList;
+    private ListViewer listViewer;
+    private Button removeButton;
+    private Button editButton;
+
+    protected EditListDialog(Shell parentShell, String title, Class editItemDialogClass) {
+        super(parentShell, title);
+        this.editItemDialogClass = editItemDialogClass;
+    }
+    
+    protected Control createDialogArea(Composite parent) {
+        Composite composite = (Composite) super.createDialogArea(parent);
+        GridLayout gridLayout = new GridLayout();
+        gridLayout.numColumns = 2;
+        composite.setLayout(gridLayout);
+
+        listViewer = new ListViewer(composite, SWT.SINGLE);
+        listViewer.add(newList.toArray());
+        listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+            public void selectionChanged(SelectionChangedEvent event) {
+                removeButton.setEnabled(!event.getSelection().isEmpty());
+                editButton.setEnabled(!event.getSelection().isEmpty());
+            }
+        });
+        GridData gridData = new GridData();
+        gridData.grabExcessHorizontalSpace = true;
+        gridData.grabExcessVerticalSpace = true;
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.verticalAlignment = GridData.FILL;
+        gridData.verticalSpan = 3;
+        listViewer.getList().setLayoutData(gridData);
+        
+        Button addButton = new Button(composite, SWT.NONE);
+        addButton.setText("Add");
+        gridData = new GridData();
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.verticalAlignment = GridData.BEGINNING;
+        addButton.setLayoutData(gridData);
+        addButton.addSelectionListener(new SelectionAdapter() {
+            public void widgetSelected(SelectionEvent e) {
+                addItem();
+            }
+        });
+
+        removeButton = new Button(composite, SWT.NONE);
+        removeButton.setText("Remove");
+        removeButton.setEnabled(false);
+        gridData = new GridData();
+        gridData.verticalAlignment = GridData.BEGINNING;
+        removeButton.setLayoutData(gridData);
+        removeButton.addSelectionListener(new SelectionAdapter() {
+            public void widgetSelected(SelectionEvent e) {
+                removeItem();
+            }
+        });
+
+        editButton = new Button(composite, SWT.NONE);
+        editButton.setText("Edit");
+        editButton.setEnabled(false);
+        gridData = new GridData();
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.verticalAlignment = GridData.BEGINNING;
+        editButton.setLayoutData(gridData);
+        editButton.addSelectionListener(new SelectionAdapter() {
+            public void widgetSelected(SelectionEvent e) {
+                editItem();
+            }
+        });
+
+        return composite;
+    }
+    
+    public void setValue(Object value) {
+        super.setValue(value);
+        this.newList = new ArrayList((List) value);
+    }
+    
+    protected Object updateValue(Object value) {
+        return newList;
+    }
+
+    private void addItem() {
+        EditBeanDialog dialog = createEditItemDialog();
+        dialog.setValue(createItem());
+        int code = dialog.open();
+        Object result = dialog.getValue();
+        if (code != CANCEL) {
+            newList.add(result);
+            listViewer.add(result);
+        }
+    }
+    
+    protected abstract Object createItem();
+    
+    private void editItem() {
+        EditBeanDialog dialog = createEditItemDialog();
+        Iterator iterator = ((StructuredSelection) listViewer.getSelection()).iterator();
+        if (iterator.hasNext()) {
+            dialog.setValue(iterator.next());
+            int code = dialog.open();
+            Object result = dialog.getValue();
+            if (code != CANCEL) {
+                listViewer.update(result, null);
+            }
+        }
+    }
+    
+    private void removeItem() {
+        Iterator iterator = ((StructuredSelection) listViewer.getSelection()).iterator();
+        // single selection only allowed
+        if (iterator.hasNext()) {
+            Object item = iterator.next();
+            newList.remove(item);
+            listViewer.remove(item);
+        }
+    }
+    
+    private EditBeanDialog createEditItemDialog() {
+        try {
+            return (EditBeanDialog) editItemDialogClass.getConstructor(
+                new Class[] { Shell.class }).newInstance(
+                new Object[] { getShell() });
+        } catch (InstantiationException e) {
+            throw new RuntimeException(e);
+        } catch (IllegalAccessException e) {
+            throw new RuntimeException(e);
+        } catch (InvocationTargetException e) {
+            throw new RuntimeException(e);
+        } catch (NoSuchMethodException e) {
+            throw new RuntimeException(e);
+        } 
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-package org.drools.eclipse.flow.common.view.property;
-/*
- * Copyright 2005 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.
- */
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Property descriptor for a list.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ListPropertyDescriptor extends PropertyDescriptor {
-    
-    private Class cellEditorClass;
-    
-    public ListPropertyDescriptor(Object id, String displayName, Class cellEditorClass) {
-        super(id, displayName);
-        this.cellEditorClass = cellEditorClass;
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent) {
-        try {
-            CellEditor editor = (CellEditor) cellEditorClass.getConstructor(new Class[] { Composite.class }).newInstance(new Object[] { parent });
-            if (getValidator() != null) {
-                editor.setValidator(getValidator());
-            }
-            return editor;
-        } catch (InvocationTargetException e) {
-            throw new RuntimeException(e);
-        } catch (NoSuchMethodException e) {
-            throw new RuntimeException(e);
-        } catch (InstantiationException e) {
-            throw new RuntimeException(e);
-        } catch (IllegalAccessException e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+package org.drools.eclipse.flow.common.view.property;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+/**
+ * Property descriptor for a list.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ListPropertyDescriptor extends PropertyDescriptor {
+    
+    private Class cellEditorClass;
+    
+    public ListPropertyDescriptor(Object id, String displayName, Class cellEditorClass) {
+        super(id, displayName);
+        this.cellEditorClass = cellEditorClass;
+    }
+    
+    public CellEditor createPropertyEditor(Composite parent) {
+        try {
+            CellEditor editor = (CellEditor) cellEditorClass.getConstructor(new Class[] { Composite.class }).newInstance(new Object[] { parent });
+            if (getValidator() != null) {
+                editor.setValidator(getValidator());
+            }
+            return editor;
+        } catch (InvocationTargetException e) {
+            throw new RuntimeException(e);
+        } catch (NoSuchMethodException e) {
+            throw new RuntimeException(e);
+        } catch (InstantiationException e) {
+            throw new RuntimeException(e);
+        } catch (IllegalAccessException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,73 +0,0 @@
-package org.drools.eclipse.flow.ruleflow;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.InputStream;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Page for creating a new RuleFlow file.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class NewRuleFlowFilePage extends WizardNewFileCreationPage {
-
-    private IWorkbench workbench;
-
-    public NewRuleFlowFilePage(IWorkbench workbench, IStructuredSelection selection) {
-        super("createRuleFlowPage", selection);
-        setTitle("Create RuleFlow File");
-        setDescription("Create a new RuleFlow file");
-        this.workbench = workbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        setPageComplete(true);
-    }
-
-    public boolean finish() {
-        String fileName = getFileName();
-        if (!fileName.endsWith(".rf")) {
-            setFileName(fileName + ".rf");
-        }
-        org.eclipse.core.resources.IFile newFile = createNewFile();
-        if (newFile == null)
-            return false;
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (PartInitException e) {
-            e.printStackTrace();
-            return false;
-        }
-        return true;
-    }
-    
-    protected InputStream getInitialContents() {
-        String s = "org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template";
-        return getClass().getClassLoader().getResourceAsStream(s);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,73 @@
+package org.drools.eclipse.flow.ruleflow;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.InputStream;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * Page for creating a new RuleFlow file.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class NewRuleFlowFilePage extends WizardNewFileCreationPage {
+
+    private IWorkbench workbench;
+
+    public NewRuleFlowFilePage(IWorkbench workbench, IStructuredSelection selection) {
+        super("createRuleFlowPage", selection);
+        setTitle("Create RuleFlow File");
+        setDescription("Create a new RuleFlow file");
+        this.workbench = workbench;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        setPageComplete(true);
+    }
+
+    public boolean finish() {
+        String fileName = getFileName();
+        if (!fileName.endsWith(".rf")) {
+            setFileName(fileName + ".rf");
+        }
+        org.eclipse.core.resources.IFile newFile = createNewFile();
+        if (newFile == null)
+            return false;
+        try {
+            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
+            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
+            if (page != null)
+                IDE.openEditor(page, newFile, true);
+        } catch (PartInitException e) {
+            e.printStackTrace();
+            return false;
+        }
+        return true;
+    }
+    
+    protected InputStream getInitialContents() {
+        String s = "org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template";
+        return getClass().getClassLoader().getResourceAsStream(s);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,49 +0,0 @@
-package org.drools.eclipse.flow.ruleflow;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * Wizard for creating a new RuleFlow file.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class NewRuleFlowFileWizard extends Wizard implements INewWizard {
-
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    private NewRuleFlowFilePage mainPage;
-    
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle("New RuleFlow File");
-    }
-    
-    public void addPages() {
-        mainPage = new NewRuleFlowFilePage(workbench, selection);
-        addPage(mainPage);
-     }
-
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,49 @@
+package org.drools.eclipse.flow.ruleflow;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+/**
+ * Wizard for creating a new RuleFlow file.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class NewRuleFlowFileWizard extends Wizard implements INewWizard {
+
+    private IWorkbench workbench;
+    private IStructuredSelection selection;
+    private NewRuleFlowFilePage mainPage;
+    
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.workbench = workbench;
+        this.selection = selection;
+        setWindowTitle("New RuleFlow File");
+    }
+    
+    public void addPages() {
+        mainPage = new NewRuleFlowFilePage(workbench, selection);
+        addPage(mainPage);
+     }
+
+    public boolean performFinish() {
+        return mainPage.finish();
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,92 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.ruleflow.view.property.action.ActionPropertyDescriptor;
-import org.drools.ruleflow.core.ActionNode;
-import org.drools.ruleflow.core.impl.ActionNodeImpl;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * Wrapper for an action node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ActionWrapper extends NodeWrapper {
-
-	private static final long serialVersionUID = -3618183280436588589L;
-
-	private IPropertyDescriptor[] descriptors;
-
-    public static final String ACTION = "Action";
-
-    public ActionWrapper() {
-        setNode(new ActionNodeImpl());
-        getActionNode().setName("Action");
-    }
-    
-    private void setDescriptors() {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-            new ActionPropertyDescriptor(ACTION, "Action", getActionNode(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
-    }
-    
-    public ActionNode getActionNode() {
-        return (ActionNode) getNode();
-    }
-    
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-    	if (descriptors == null) {
-    		setDescriptors();
-    	}
-        return descriptors;
-    }
-
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return getOutgoingConnections().isEmpty();
-    }
-    
-    public Object getPropertyValue(Object id) {
-        if (ACTION.equals(id)) {
-        	Object action = getActionNode().getAction();
-            return action == null ? "" : action.toString();
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (ACTION.equals(id)) {
-        	getActionNode().setAction(null);
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (ACTION.equals(id)) {
-        	getActionNode().setAction(value);
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,92 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.ruleflow.view.property.action.ActionPropertyDescriptor;
+import org.drools.ruleflow.core.ActionNode;
+import org.drools.ruleflow.core.impl.ActionNodeImpl;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+
+/**
+ * Wrapper for an action node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionWrapper extends NodeWrapper {
+
+	private static final long serialVersionUID = -3618183280436588589L;
+
+	private IPropertyDescriptor[] descriptors;
+
+    public static final String ACTION = "Action";
+
+    public ActionWrapper() {
+        setNode(new ActionNodeImpl());
+        getActionNode().setName("Action");
+    }
+    
+    private void setDescriptors() {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+            new ActionPropertyDescriptor(ACTION, "Action", getActionNode(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
+    }
+    
+    public ActionNode getActionNode() {
+        return (ActionNode) getNode();
+    }
+    
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+    	if (descriptors == null) {
+    		setDescriptors();
+    	}
+        return descriptors;
+    }
+
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return getOutgoingConnections().isEmpty();
+    }
+    
+    public Object getPropertyValue(Object id) {
+        if (ACTION.equals(id)) {
+        	Object action = getActionNode().getAction();
+            return action == null ? "" : action.toString();
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (ACTION.equals(id)) {
+        	getActionNode().setAction(null);
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (ACTION.equals(id)) {
+        	getActionNode().setAction(value);
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,56 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.ruleflow.core.Connection;
-import org.drools.ruleflow.core.Node;
-import org.drools.ruleflow.core.impl.ConnectionImpl;
-
-/**
- * Wrapper for a connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConnectionWrapper extends ElementConnection {
-		
-	private static final long serialVersionUID = 400L;
-
-	private Connection connection;
-	
-	public ConnectionWrapper(int type) {
-		super(type);
-	}
-	
-	public ConnectionWrapper(NodeWrapper source, NodeWrapper target, int type) {
-        super(source, target, type);
-    }
-	
-	public void disconnect() {
-		super.disconnect();
-		connection.terminate();
-		connection = null;
-	}
-	
-	public void connect(ElementWrapper source, ElementWrapper target) {
-		super.connect(source, target);
-		Node from = ((NodeWrapper) getSource()).getNode();
-		Node to = ((NodeWrapper) getTarget()).getNode();
-		int type = getType();
-		connection = new ConnectionImpl(from, to, type);		
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,56 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.ruleflow.core.Connection;
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.impl.ConnectionImpl;
+
+/**
+ * Wrapper for a connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConnectionWrapper extends ElementConnection {
+		
+	private static final long serialVersionUID = 400L;
+
+	private Connection connection;
+	
+	public ConnectionWrapper(int type) {
+		super(type);
+	}
+	
+	public ConnectionWrapper(NodeWrapper source, NodeWrapper target, int type) {
+        super(source, target, type);
+    }
+	
+	public void disconnect() {
+		super.disconnect();
+		connection.terminate();
+		connection = null;
+	}
+	
+	public void connect(ElementWrapper source, ElementWrapper target) {
+		super.connect(source, target);
+		Node from = ((NodeWrapper) getSource()).getNode();
+		Node to = ((NodeWrapper) getTarget()).getNode();
+		int type = getType();
+		connection = new ConnectionImpl(from, to, type);		
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
-
-/**
- * Factory for creating a connection wrapper.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConnectionWrapperFactory extends ElementConnectionFactory {
-	
-	public ConnectionWrapperFactory(int type) {
-		super(type);
-	}
-	
-	public ElementConnection createElementConnection() {
-		ConnectionWrapper connection = new ConnectionWrapper(getType());
-		return connection;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
+
+/**
+ * Factory for creating a connection wrapper.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConnectionWrapperFactory extends ElementConnectionFactory {
+	
+	public ConnectionWrapperFactory(int type) {
+		super(type);
+	}
+	
+	public ElementConnection createElementConnection() {
+		ConnectionWrapper connection = new ConnectionWrapper(getType());
+		return connection;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,47 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.ruleflow.core.EndNode;
-import org.drools.ruleflow.core.impl.EndNodeImpl;
-
-/**
- * Wrapper for an end node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class EndNodeWrapper extends NodeWrapper {
-
-    private static final long serialVersionUID = 400L;
-
-    public EndNodeWrapper() {
-        setNode(new EndNodeImpl());
-        getEndNode().setName("End");
-    }
-    
-    public EndNode getEndNode() {
-        return (EndNode) getNode();
-    }
-    
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return false;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,47 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.ruleflow.core.EndNode;
+import org.drools.ruleflow.core.impl.EndNodeImpl;
+
+/**
+ * Wrapper for an end node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class EndNodeWrapper extends NodeWrapper {
+
+    private static final long serialVersionUID = 400L;
+
+    public EndNodeWrapper() {
+        setNode(new EndNodeImpl());
+        getEndNode().setName("End");
+    }
+    
+    public EndNode getEndNode() {
+        return (EndNode) getNode();
+    }
+    
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return false;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,88 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.ruleflow.core.Connection;
-import org.drools.ruleflow.core.Join;
-import org.drools.ruleflow.core.impl.JoinImpl;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * Wrapper for a join node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class JoinWrapper extends NodeWrapper {
-
-    private static final long serialVersionUID = 400L;
-    private static IPropertyDescriptor[] descriptors;
-
-    public static final String TYPE = "type";
-    static {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-            new ComboBoxPropertyDescriptor(TYPE, "Type", new String[] { "", "AND", "XOR" });
-    }
-    
-    public JoinWrapper() {
-        setNode(new JoinImpl());
-        getJoin().setName("Join");
-    }
-    
-    public Join getJoin() {
-        return (Join) getNode();
-    }
-    
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return true;
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return connection.getType() == Connection.TYPE_NORMAL
-        	&& getOutgoingConnections().isEmpty();
-    }
-
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    public Object getPropertyValue(Object id) {
-        if (TYPE.equals(id)) {
-            return new Integer(getJoin().getType());
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (TYPE.equals(id)) {
-            getJoin().setType(Join.TYPE_UNDEFINED);
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (TYPE.equals(id)) {
-            getJoin().setType(((Integer) value).intValue());
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,88 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.ruleflow.core.Connection;
+import org.drools.ruleflow.core.Join;
+import org.drools.ruleflow.core.impl.JoinImpl;
+import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+
+/**
+ * Wrapper for a join node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class JoinWrapper extends NodeWrapper {
+
+    private static final long serialVersionUID = 400L;
+    private static IPropertyDescriptor[] descriptors;
+
+    public static final String TYPE = "type";
+    static {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+            new ComboBoxPropertyDescriptor(TYPE, "Type", new String[] { "", "AND", "XOR" });
+    }
+    
+    public JoinWrapper() {
+        setNode(new JoinImpl());
+        getJoin().setName("Join");
+    }
+    
+    public Join getJoin() {
+        return (Join) getNode();
+    }
+    
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return true;
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return connection.getType() == Connection.TYPE_NORMAL
+        	&& getOutgoingConnections().isEmpty();
+    }
+
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    public Object getPropertyValue(Object id) {
+        if (TYPE.equals(id)) {
+            return new Integer(getJoin().getType());
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (TYPE.equals(id)) {
+            getJoin().setType(Join.TYPE_UNDEFINED);
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (TYPE.equals(id)) {
+            getJoin().setType(((Integer) value).intValue());
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,91 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.ruleflow.view.property.constraint.MilestoneConstraintPropertyDescriptor;
-import org.drools.ruleflow.core.MilestoneNode;
-import org.drools.ruleflow.core.impl.MilestoneNodeImpl;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * Wrapper for a milestone node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MilestoneWrapper extends NodeWrapper {
-
-	private static final long serialVersionUID = -5976489437109982927L;
-	private IPropertyDescriptor[] descriptors;
-
-    public static final String CONSTRAINT = "Constraint";
-
-    public MilestoneWrapper() {
-        setNode(new MilestoneNodeImpl());
-        getMilestoneNode().setName("Milestone");
-    }
-    
-    private void setDescriptors() {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-            new MilestoneConstraintPropertyDescriptor(CONSTRAINT, "Constraint", getMilestoneNode(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
-    }
-    
-    public MilestoneNode getMilestoneNode() {
-        return (MilestoneNode) getNode();
-    }
-    
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-    	if (descriptors == null) {
-    		setDescriptors();
-    	}
-        return descriptors;
-    }
-
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return getOutgoingConnections().isEmpty();
-    }
-    
-    public Object getPropertyValue(Object id) {
-        if (CONSTRAINT.equals(id)) {
-        	String constraint = getMilestoneNode().getConstraint();
-            return constraint == null ? "" : constraint;
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (CONSTRAINT.equals(id)) {
-        	getMilestoneNode().setConstraint("");
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (CONSTRAINT.equals(id)) {
-        	getMilestoneNode().setConstraint((String) value);
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,91 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.ruleflow.view.property.constraint.MilestoneConstraintPropertyDescriptor;
+import org.drools.ruleflow.core.MilestoneNode;
+import org.drools.ruleflow.core.impl.MilestoneNodeImpl;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+
+/**
+ * Wrapper for a milestone node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MilestoneWrapper extends NodeWrapper {
+
+	private static final long serialVersionUID = -5976489437109982927L;
+	private IPropertyDescriptor[] descriptors;
+
+    public static final String CONSTRAINT = "Constraint";
+
+    public MilestoneWrapper() {
+        setNode(new MilestoneNodeImpl());
+        getMilestoneNode().setName("Milestone");
+    }
+    
+    private void setDescriptors() {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+            new MilestoneConstraintPropertyDescriptor(CONSTRAINT, "Constraint", getMilestoneNode(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
+    }
+    
+    public MilestoneNode getMilestoneNode() {
+        return (MilestoneNode) getNode();
+    }
+    
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+    	if (descriptors == null) {
+    		setDescriptors();
+    	}
+        return descriptors;
+    }
+
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return getOutgoingConnections().isEmpty();
+    }
+    
+    public Object getPropertyValue(Object id) {
+        if (CONSTRAINT.equals(id)) {
+        	String constraint = getMilestoneNode().getConstraint();
+            return constraint == null ? "" : constraint;
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (CONSTRAINT.equals(id)) {
+        	getMilestoneNode().setConstraint("");
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (CONSTRAINT.equals(id)) {
+        	getMilestoneNode().setConstraint((String) value);
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,50 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.ruleflow.core.Node;
-
-/**
- * Wrapper for a node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class NodeWrapper extends DefaultElementWrapper {
-	
-    protected void setNode(Node node) {
-        setElement(node);
-    }
-    
-    public Node getNode() {
-        return (Node) getElement();
-    }
-    
-    public String getId() {
-        long id = getNode().getId();
-        return id == -1 ? null : getNode().getId() + "-Wrapper";
-    }
-
-    public String getName() {
-        return getNode().getName();
-    }
-
-    public void internalSetName(String name) {
-        getNode().setName(name);    
-        notifyListeners(CHANGE_NAME);
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,50 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.ruleflow.core.Node;
+
+/**
+ * Wrapper for a node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class NodeWrapper extends DefaultElementWrapper {
+	
+    protected void setNode(Node node) {
+        setElement(node);
+    }
+    
+    public Node getNode() {
+        return (Node) getElement();
+    }
+    
+    public String getId() {
+        long id = getNode().getId();
+        return id == -1 ? null : getNode().getId() + "-Wrapper";
+    }
+
+    public String getName() {
+        return getNode().getName();
+    }
+
+    public void internalSetName(String name) {
+        getNode().setName(name);    
+        notifyListeners(CHANGE_NAME);
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,85 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.drools.ruleflow.common.core.Process;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.drools.ruleflow.core.impl.RuleFlowProcessImpl;
-
-/**
- * Wrapper for a RuleFlow process.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowProcessWrapper extends ProcessWrapper {
-
-	private static final long serialVersionUID = 400L;
-
-//	private static IPropertyDescriptor[] descriptors;
-//
-//    public static final String VARIABLES = "variables";
-//    static {
-//        descriptors = new IPropertyDescriptor[ProcessWrapper.descriptors.length + 1];
-//        System.arraycopy(ProcessWrapper.descriptors, 0, descriptors, 0, ProcessWrapper.descriptors.length);
-//        descriptors[descriptors.length - 1] = 
-//            new ListPropertyDescriptor(VARIABLES, "Variables", VariableListCellEditor.class);
-//   }
-    
-    public RuleFlowProcess getRuleFlowProcess() {
-        return (RuleFlowProcess) getProcess();
-    }
-    
-    protected Process createProcess() {
-        return new RuleFlowProcessImpl();
-    }
-
-    protected void internalAddElement(ElementWrapper element) {
-        getRuleFlowProcess().addNode(((NodeWrapper) element).getNode()); 
-    }
-
-    protected void internalRemoveElement(ElementWrapper element) {
-        getRuleFlowProcess().removeNode(((NodeWrapper) element).getNode()); 
-    }
-    
-//    public IPropertyDescriptor[] getPropertyDescriptors() {
-//        return descriptors;
-//    }
-//
-//    public Object getPropertyValue(Object id) {
-//        if (VARIABLES.equals(id)) {
-//            return getRuleFlowProcess().getVariables();
-//        }
-//        return super.getPropertyValue(id);
-//    }
-//
-//    public void resetPropertyValue(Object id) {
-//        if (VARIABLES.equals(id)) {
-//            getRuleFlowProcess().setVariables(new ArrayList());
-//        } else {
-//            super.resetPropertyValue(id);
-//        }
-//    }
-//
-//    public void setPropertyValue(Object id, Object value) {
-//        if (VARIABLES.equals(id)) {
-//            getRuleFlowProcess().setVariables((List) value);
-//        } else {
-//            super.setPropertyValue(id, value);
-//        }
-//    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,85 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.ruleflow.common.core.Process;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.drools.ruleflow.core.impl.RuleFlowProcessImpl;
+
+/**
+ * Wrapper for a RuleFlow process.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowProcessWrapper extends ProcessWrapper {
+
+	private static final long serialVersionUID = 400L;
+
+//	private static IPropertyDescriptor[] descriptors;
+//
+//    public static final String VARIABLES = "variables";
+//    static {
+//        descriptors = new IPropertyDescriptor[ProcessWrapper.descriptors.length + 1];
+//        System.arraycopy(ProcessWrapper.descriptors, 0, descriptors, 0, ProcessWrapper.descriptors.length);
+//        descriptors[descriptors.length - 1] = 
+//            new ListPropertyDescriptor(VARIABLES, "Variables", VariableListCellEditor.class);
+//   }
+    
+    public RuleFlowProcess getRuleFlowProcess() {
+        return (RuleFlowProcess) getProcess();
+    }
+    
+    protected Process createProcess() {
+        return new RuleFlowProcessImpl();
+    }
+
+    protected void internalAddElement(ElementWrapper element) {
+        getRuleFlowProcess().addNode(((NodeWrapper) element).getNode()); 
+    }
+
+    protected void internalRemoveElement(ElementWrapper element) {
+        getRuleFlowProcess().removeNode(((NodeWrapper) element).getNode()); 
+    }
+    
+//    public IPropertyDescriptor[] getPropertyDescriptors() {
+//        return descriptors;
+//    }
+//
+//    public Object getPropertyValue(Object id) {
+//        if (VARIABLES.equals(id)) {
+//            return getRuleFlowProcess().getVariables();
+//        }
+//        return super.getPropertyValue(id);
+//    }
+//
+//    public void resetPropertyValue(Object id) {
+//        if (VARIABLES.equals(id)) {
+//            getRuleFlowProcess().setVariables(new ArrayList());
+//        } else {
+//            super.resetPropertyValue(id);
+//        }
+//    }
+//
+//    public void setPropertyValue(Object id, Object value) {
+//        if (VARIABLES.equals(id)) {
+//            getRuleFlowProcess().setVariables((List) value);
+//        } else {
+//            super.setPropertyValue(id, value);
+//        }
+//    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,87 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.ruleflow.core.RuleSetNode;
-import org.drools.ruleflow.core.impl.RuleSetNodeImpl;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Wrapper for a RuleSet node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleSetNodeWrapper extends NodeWrapper {
-
-    private static final long serialVersionUID = 400L;
-    private static IPropertyDescriptor[] descriptors;
-
-    public static final String RULE_FLOW_GROUP = "RuleFlowGroup";
-    static {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-            new TextPropertyDescriptor(RULE_FLOW_GROUP, "RuleFlowGroup");
-    }
-
-    public RuleSetNodeWrapper() {
-        setNode(new RuleSetNodeImpl());
-        getRuleSetNode().setName("RuleSet");
-        getRuleSetNode().setRuleFlowGroup("");
-    }
-    
-    public RuleSetNode getRuleSetNode() {
-        return (RuleSetNode) getNode();
-    }
-    
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return getOutgoingConnections().isEmpty();
-    }
-    
-    public Object getPropertyValue(Object id) {
-        if (RULE_FLOW_GROUP.equals(id)) {
-            return getRuleSetNode().getRuleFlowGroup();
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (RULE_FLOW_GROUP.equals(id)) {
-        	getRuleSetNode().setRuleFlowGroup("");
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (RULE_FLOW_GROUP.equals(id)) {
-            getRuleSetNode().setRuleFlowGroup((String) value);
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,87 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.core.impl.RuleSetNodeImpl;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * Wrapper for a RuleSet node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleSetNodeWrapper extends NodeWrapper {
+
+    private static final long serialVersionUID = 400L;
+    private static IPropertyDescriptor[] descriptors;
+
+    public static final String RULE_FLOW_GROUP = "RuleFlowGroup";
+    static {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+            new TextPropertyDescriptor(RULE_FLOW_GROUP, "RuleFlowGroup");
+    }
+
+    public RuleSetNodeWrapper() {
+        setNode(new RuleSetNodeImpl());
+        getRuleSetNode().setName("RuleSet");
+        getRuleSetNode().setRuleFlowGroup("");
+    }
+    
+    public RuleSetNode getRuleSetNode() {
+        return (RuleSetNode) getNode();
+    }
+    
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return getOutgoingConnections().isEmpty();
+    }
+    
+    public Object getPropertyValue(Object id) {
+        if (RULE_FLOW_GROUP.equals(id)) {
+            return getRuleSetNode().getRuleFlowGroup();
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (RULE_FLOW_GROUP.equals(id)) {
+        	getRuleSetNode().setRuleFlowGroup("");
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (RULE_FLOW_GROUP.equals(id)) {
+            getRuleSetNode().setRuleFlowGroup((String) value);
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,140 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.ruleflow.view.property.constraint.ConstraintsPropertyDescriptor;
-import org.drools.ruleflow.core.Connection;
-import org.drools.ruleflow.core.Constraint;
-import org.drools.ruleflow.core.Split;
-import org.drools.ruleflow.core.impl.SplitImpl;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * Wrapper for a split node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class SplitWrapper extends NodeWrapper {
-
-    public static final String TYPE = "type";
-    public static final String CONSTRAINTS = "constraints";
-    
-    private static final long serialVersionUID = 400L;
-    private transient IPropertyDescriptor[] descriptors;
-
-    public SplitWrapper() {
-        setNode(new SplitImpl());
-        getSplit().setName("Split");
-        setDescriptors();
-    }
-     
-    private void setDescriptors() {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-            new ComboBoxPropertyDescriptor(TYPE, "Type", 
-                new String[] { "", "AND", "XOR", "OR" });
-    }
-    
-    public Split getSplit() {
-        return (Split) getNode();
-    }
-    
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return connection.getType() == Connection.TYPE_NORMAL;
-    }
-
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        if (getParent() != null && (getSplit().getType() == SplitImpl.TYPE_XOR
-                || getSplit().getType() == SplitImpl.TYPE_OR)) {
-            IPropertyDescriptor[] result = new IPropertyDescriptor[descriptors.length + 1];
-            System.arraycopy(descriptors, 0, result, 0, descriptors.length);
-            result[descriptors.length] = 
-                new ConstraintsPropertyDescriptor(CONSTRAINTS, "Constraints", getSplit(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
-            return result;
-        }
-        return descriptors;
-    }
-
-    public Object getPropertyValue(Object id) {
-        if (TYPE.equals(id)) {
-            return new Integer(getSplit().getType());
-        }
-        if (CONSTRAINTS.equals(id)) {
-        	return getSplit().getType() == SplitImpl.TYPE_XOR
-        		|| getSplit().getType() == SplitImpl.TYPE_OR
-        		? new MyHashMap(getSplit().getConstraints()) : new MyHashMap();
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (TYPE.equals(id)) {
-            getSplit().setType(Split.TYPE_UNDEFINED);
-        } else if (CONSTRAINTS.equals(id)) {
-        	for (Iterator it = getSplit().getOutgoingConnections().iterator(); it.hasNext(); ) {
-        		Connection connection = (Connection) it.next();
-        		getSplit().setConstraint(connection, null);
-        	}
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (TYPE.equals(id)) {
-            getSplit().setType(((Integer) value).intValue());
-        } else if (CONSTRAINTS.equals(id)) {
-        	Iterator iterator = ((Map) value).entrySet().iterator();
-        	while (iterator.hasNext()) {
-				Map.Entry element = (Map.Entry) iterator.next();
-				getSplit().setConstraint((Connection) element.getKey(), (Constraint) element.getValue()); 
-			}
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-    
-    private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
-        aInputStream.defaultReadObject();
-        setDescriptors();
-    }
-
-    public class MyHashMap extends HashMap {
-		private static final long serialVersionUID = -1748055291307174539L;
-		public MyHashMap() {
-    	}
-    	public MyHashMap(Map map) {
-    		super(map);
-    	}
-		public String toString() {
-    		return "";
-    	}
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,140 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.ruleflow.view.property.constraint.ConstraintsPropertyDescriptor;
+import org.drools.ruleflow.core.Connection;
+import org.drools.ruleflow.core.Constraint;
+import org.drools.ruleflow.core.Split;
+import org.drools.ruleflow.core.impl.SplitImpl;
+import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+
+/**
+ * Wrapper for a split node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SplitWrapper extends NodeWrapper {
+
+    public static final String TYPE = "type";
+    public static final String CONSTRAINTS = "constraints";
+    
+    private static final long serialVersionUID = 400L;
+    private transient IPropertyDescriptor[] descriptors;
+
+    public SplitWrapper() {
+        setNode(new SplitImpl());
+        getSplit().setName("Split");
+        setDescriptors();
+    }
+     
+    private void setDescriptors() {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+            new ComboBoxPropertyDescriptor(TYPE, "Type", 
+                new String[] { "", "AND", "XOR", "OR" });
+    }
+    
+    public Split getSplit() {
+        return (Split) getNode();
+    }
+    
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return connection.getType() == Connection.TYPE_NORMAL;
+    }
+
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        if (getParent() != null && (getSplit().getType() == SplitImpl.TYPE_XOR
+                || getSplit().getType() == SplitImpl.TYPE_OR)) {
+            IPropertyDescriptor[] result = new IPropertyDescriptor[descriptors.length + 1];
+            System.arraycopy(descriptors, 0, result, 0, descriptors.length);
+            result[descriptors.length] = 
+                new ConstraintsPropertyDescriptor(CONSTRAINTS, "Constraints", getSplit(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
+            return result;
+        }
+        return descriptors;
+    }
+
+    public Object getPropertyValue(Object id) {
+        if (TYPE.equals(id)) {
+            return new Integer(getSplit().getType());
+        }
+        if (CONSTRAINTS.equals(id)) {
+        	return getSplit().getType() == SplitImpl.TYPE_XOR
+        		|| getSplit().getType() == SplitImpl.TYPE_OR
+        		? new MyHashMap(getSplit().getConstraints()) : new MyHashMap();
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (TYPE.equals(id)) {
+            getSplit().setType(Split.TYPE_UNDEFINED);
+        } else if (CONSTRAINTS.equals(id)) {
+        	for (Iterator it = getSplit().getOutgoingConnections().iterator(); it.hasNext(); ) {
+        		Connection connection = (Connection) it.next();
+        		getSplit().setConstraint(connection, null);
+        	}
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (TYPE.equals(id)) {
+            getSplit().setType(((Integer) value).intValue());
+        } else if (CONSTRAINTS.equals(id)) {
+        	Iterator iterator = ((Map) value).entrySet().iterator();
+        	while (iterator.hasNext()) {
+				Map.Entry element = (Map.Entry) iterator.next();
+				getSplit().setConstraint((Connection) element.getKey(), (Constraint) element.getValue()); 
+			}
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+    
+    private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
+        aInputStream.defaultReadObject();
+        setDescriptors();
+    }
+
+    public class MyHashMap extends HashMap {
+		private static final long serialVersionUID = -1748055291307174539L;
+		public MyHashMap() {
+    	}
+    	public MyHashMap(Map map) {
+    		super(map);
+    	}
+		public String toString() {
+    		return "";
+    	}
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,49 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.ruleflow.core.Connection;
-import org.drools.ruleflow.core.StartNode;
-import org.drools.ruleflow.core.impl.StartNodeImpl;
-
-/**
- * Wrapper for a start node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class StartNodeWrapper extends NodeWrapper {
-
-    private static final long serialVersionUID = 400L;
-
-    public StartNodeWrapper() {
-        setNode(new StartNodeImpl());
-        setName("Start");
-    }
-    
-    public StartNode getStartNode() {
-        return (StartNode) getNode();
-    }
-    
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return false;
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return connection.getType() == Connection.TYPE_NORMAL
-    		&& getOutgoingConnections().isEmpty();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,49 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.ruleflow.core.Connection;
+import org.drools.ruleflow.core.StartNode;
+import org.drools.ruleflow.core.impl.StartNodeImpl;
+
+/**
+ * Wrapper for a start node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class StartNodeWrapper extends NodeWrapper {
+
+    private static final long serialVersionUID = 400L;
+
+    public StartNodeWrapper() {
+        setNode(new StartNodeImpl());
+        setName("Start");
+    }
+    
+    public StartNode getStartNode() {
+        return (StartNode) getNode();
+    }
+    
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return false;
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return connection.getType() == Connection.TYPE_NORMAL
+    		&& getOutgoingConnections().isEmpty();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,88 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.ruleflow.core.SubFlowNode;
-import org.drools.ruleflow.core.impl.SubFlowNodeImpl;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Wrapper for a SubFlow node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class SubFlowWrapper extends NodeWrapper {
-
-	private static final long serialVersionUID = 3668348577732020324L;
-    private static IPropertyDescriptor[] descriptors;
-    
-    public static final String PROCESS_ID = "ProcessId";
-
-    static {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-        	new TextPropertyDescriptor(PROCESS_ID, "ProcessId");
-    }
-    
-    public SubFlowWrapper() {
-        setNode(new SubFlowNodeImpl());
-        getSubFlowNode().setName("SubFlow");
-    }
-    
-    public SubFlowNode getSubFlowNode() {
-        return (SubFlowNode) getNode();
-    }
-    
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return getOutgoingConnections().isEmpty();
-    }
-    
-    public Object getPropertyValue(Object id) {
-        if (PROCESS_ID.equals(id)) {
-        	String processId = getSubFlowNode().getProcessId();
-            return processId == null ? "" : processId;
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (PROCESS_ID.equals(id)) {
-        	getSubFlowNode().setProcessId("");
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (PROCESS_ID.equals(id)) {
-        	getSubFlowNode().setProcessId((String) value);
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,88 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.ruleflow.core.SubFlowNode;
+import org.drools.ruleflow.core.impl.SubFlowNodeImpl;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * Wrapper for a SubFlow node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SubFlowWrapper extends NodeWrapper {
+
+	private static final long serialVersionUID = 3668348577732020324L;
+    private static IPropertyDescriptor[] descriptors;
+    
+    public static final String PROCESS_ID = "ProcessId";
+
+    static {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+        	new TextPropertyDescriptor(PROCESS_ID, "ProcessId");
+    }
+    
+    public SubFlowWrapper() {
+        setNode(new SubFlowNodeImpl());
+        getSubFlowNode().setName("SubFlow");
+    }
+    
+    public SubFlowNode getSubFlowNode() {
+        return (SubFlowNode) getNode();
+    }
+    
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return getOutgoingConnections().isEmpty();
+    }
+    
+    public Object getPropertyValue(Object id) {
+        if (PROCESS_ID.equals(id)) {
+        	String processId = getSubFlowNode().getProcessId();
+            return processId == null ? "" : processId;
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (PROCESS_ID.equals(id)) {
+        	getSubFlowNode().setProcessId("");
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (PROCESS_ID.equals(id)) {
+        	getSubFlowNode().setProcessId((String) value);
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,165 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.GenericModelEditor;
-import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
-import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.editor.editpart.RuleFlowEditPartFactory;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPartFactory;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.part.FileEditorInput;
-
-import com.thoughtworks.xstream.XStream;
-
-/**
- * Graphical editor for a RuleFlow.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowModelEditor extends GenericModelEditor {
-
-    protected EditPartFactory createEditPartFactory() {
-        return new RuleFlowEditPartFactory();
-    }
-
-    protected PaletteRoot createPalette() {
-        return RuleFlowPaletteFactory.createPalette();
-    }
-
-    protected Object createModel() {
-        RuleFlowProcessWrapper result = new RuleFlowProcessWrapper();
-        StartNodeWrapper start = new StartNodeWrapper();
-        start.setConstraint(new Rectangle(100, 100, -1, -1));
-        result.addElement(start);
-        IFile file = ((IFileEditorInput)getEditorInput()).getFile();
-        String name = file.getName();
-        result.setName(name.substring(0, name.length() - 3));
-        return result;
-    }
-    
-    public RuleFlowProcessWrapper getRuleFlowModel() {
-        return (RuleFlowProcessWrapper) getModel();
-    }
-
-    protected void createOutputStream(OutputStream os) throws IOException {
-    	createOutputStream(os, true);
-    }
-
-    
-    protected void createOutputStream(OutputStream os, boolean includeGraphics) throws IOException {
-        OutputStreamWriter writer = new OutputStreamWriter(os);
-        try {
-            XStream stream = new XStream();
-            stream.setMode(XStream.ID_REFERENCES);
-            if (includeGraphics) {
-            	stream.toXML(getRuleFlowModel(), writer);
-            } else {
-            	stream.toXML(getRuleFlowModel().getProcess(), writer);
-            }
-            writer.close();
-        } catch (Throwable t) {
-            DroolsEclipsePlugin.log(t);
-        }
-    }
-    
-    public void doSave(IProgressMonitor monitor) {
-        super.doSave(monitor);
-        // save process as separate model file as well
-        IFile file = ((IFileEditorInput) getEditorInput()).getFile();
-        final IFile modelFile = getModelFile(file);
-
-		if (!modelFile.exists()) {
-	        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-	            public void execute(final IProgressMonitor monitor)
-	                    throws CoreException {
-	                try {
-	                    ByteArrayOutputStream out = new ByteArrayOutputStream();
-	                    createOutputStream(out, false);
-	                    modelFile.create(new ByteArrayInputStream(out.toByteArray()),
-	                            true, monitor);
-	                    out.close();
-	                } catch (Exception e) {
-	                    e.printStackTrace();
-	                }
-	            }
-	        };
-	        
-	        try {
-	            new ProgressMonitorDialog(getSite().getWorkbenchWindow().getShell())
-	                    .run(false, true, op);
-	            setInput(new FileEditorInput(file));
-	            getCommandStack().markSaveLocation();
-	        } catch (Exception e) {
-	            e.printStackTrace();
-	        }
-		} else {
-	        ByteArrayOutputStream out = new ByteArrayOutputStream();
-	        try {
-	        	createOutputStream(out, false);
-	            modelFile.setContents(
-	        		new ByteArrayInputStream(out.toByteArray()),
-	        		true, false, monitor);
-	            out.close();
-	        } catch (Throwable t) {
-	        	DroolsEclipsePlugin.log(t);
-	        }
-		}
-    }
-
-	private IFile getModelFile(IFile file) {
-		IProject project = file.getProject();
-		IPath path = file.getProjectRelativePath();
-		String fileName = file.getName().substring(0, file.getName().length() - 2) + "rfm";
-		IPath modelPath = path.removeLastSegments(1).append(fileName);
-		IFile modelFile = project.getFile(modelPath);
-		return modelFile;
-	}
-
-    protected void createInputStream(InputStream is) throws Exception {
-        InputStreamReader reader = new InputStreamReader(is);
-        XStream stream = new XStream();
-        stream.setMode(XStream.ID_REFERENCES);
-        
-        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
-        ClassLoader newLoader = this.getClass().getClassLoader();
-        try {
-            Thread.currentThread().setContextClassLoader(newLoader);
-            setModel(stream.fromXML(reader));
-        } finally {
-            Thread.currentThread().setContextClassLoader(oldLoader);
-        }
-        reader.close();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,165 @@
+package org.drools.eclipse.flow.ruleflow.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.GenericModelEditor;
+import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
+import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.editor.editpart.RuleFlowEditPartFactory;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.EditPartFactory;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.part.FileEditorInput;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ * Graphical editor for a RuleFlow.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowModelEditor extends GenericModelEditor {
+
+    protected EditPartFactory createEditPartFactory() {
+        return new RuleFlowEditPartFactory();
+    }
+
+    protected PaletteRoot createPalette() {
+        return RuleFlowPaletteFactory.createPalette();
+    }
+
+    protected Object createModel() {
+        RuleFlowProcessWrapper result = new RuleFlowProcessWrapper();
+        StartNodeWrapper start = new StartNodeWrapper();
+        start.setConstraint(new Rectangle(100, 100, -1, -1));
+        result.addElement(start);
+        IFile file = ((IFileEditorInput)getEditorInput()).getFile();
+        String name = file.getName();
+        result.setName(name.substring(0, name.length() - 3));
+        return result;
+    }
+    
+    public RuleFlowProcessWrapper getRuleFlowModel() {
+        return (RuleFlowProcessWrapper) getModel();
+    }
+
+    protected void createOutputStream(OutputStream os) throws IOException {
+    	createOutputStream(os, true);
+    }
+
+    
+    protected void createOutputStream(OutputStream os, boolean includeGraphics) throws IOException {
+        OutputStreamWriter writer = new OutputStreamWriter(os);
+        try {
+            XStream stream = new XStream();
+            stream.setMode(XStream.ID_REFERENCES);
+            if (includeGraphics) {
+            	stream.toXML(getRuleFlowModel(), writer);
+            } else {
+            	stream.toXML(getRuleFlowModel().getProcess(), writer);
+            }
+            writer.close();
+        } catch (Throwable t) {
+            DroolsEclipsePlugin.log(t);
+        }
+    }
+    
+    public void doSave(IProgressMonitor monitor) {
+        super.doSave(monitor);
+        // save process as separate model file as well
+        IFile file = ((IFileEditorInput) getEditorInput()).getFile();
+        final IFile modelFile = getModelFile(file);
+
+		if (!modelFile.exists()) {
+	        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+	            public void execute(final IProgressMonitor monitor)
+	                    throws CoreException {
+	                try {
+	                    ByteArrayOutputStream out = new ByteArrayOutputStream();
+	                    createOutputStream(out, false);
+	                    modelFile.create(new ByteArrayInputStream(out.toByteArray()),
+	                            true, monitor);
+	                    out.close();
+	                } catch (Exception e) {
+	                    e.printStackTrace();
+	                }
+	            }
+	        };
+	        
+	        try {
+	            new ProgressMonitorDialog(getSite().getWorkbenchWindow().getShell())
+	                    .run(false, true, op);
+	            setInput(new FileEditorInput(file));
+	            getCommandStack().markSaveLocation();
+	        } catch (Exception e) {
+	            e.printStackTrace();
+	        }
+		} else {
+	        ByteArrayOutputStream out = new ByteArrayOutputStream();
+	        try {
+	        	createOutputStream(out, false);
+	            modelFile.setContents(
+	        		new ByteArrayInputStream(out.toByteArray()),
+	        		true, false, monitor);
+	            out.close();
+	        } catch (Throwable t) {
+	        	DroolsEclipsePlugin.log(t);
+	        }
+		}
+    }
+
+	private IFile getModelFile(IFile file) {
+		IProject project = file.getProject();
+		IPath path = file.getProjectRelativePath();
+		String fileName = file.getName().substring(0, file.getName().length() - 2) + "rfm";
+		IPath modelPath = path.removeLastSegments(1).append(fileName);
+		IFile modelFile = project.getFile(modelPath);
+		return modelFile;
+	}
+
+    protected void createInputStream(InputStream is) throws Exception {
+        InputStreamReader reader = new InputStreamReader(is);
+        XStream stream = new XStream();
+        stream.setMode(XStream.ID_REFERENCES);
+        
+        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+        ClassLoader newLoader = this.getClass().getClassLoader();
+        try {
+            Thread.currentThread().setContextClassLoader(newLoader);
+            setModel(stream.fromXML(reader));
+        } finally {
+            Thread.currentThread().setContextClassLoader(oldLoader);
+        }
+        reader.close();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,190 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
-import org.drools.eclipse.flow.ruleflow.core.ActionWrapper;
-import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper;
-import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapperFactory;
-import org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.JoinWrapper;
-import org.drools.eclipse.flow.ruleflow.core.MilestoneWrapper;
-import org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.SplitWrapper;
-import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.SubFlowWrapper;
-import org.drools.ruleflow.core.Connection;
-import org.eclipse.gef.palette.CombinedTemplateCreationEntry;
-import org.eclipse.gef.palette.ConnectionCreationToolEntry;
-import org.eclipse.gef.palette.MarqueeToolEntry;
-import org.eclipse.gef.palette.PaletteContainer;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteGroup;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.palette.SelectionToolEntry;
-import org.eclipse.gef.palette.ToolEntry;
-import org.eclipse.gef.requests.CreationFactory;
-import org.eclipse.gef.requests.SimpleFactory;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Factory for creating a RuleFlow palette.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowPaletteFactory {
-
-    public static PaletteRoot createPalette() {
-        PaletteRoot flowPalette = new PaletteRoot();
-        flowPalette.addAll(createCategories(flowPalette));
-        return flowPalette;
-    }
-    
-    private static List createCategories(PaletteRoot root) {
-        List categories = new ArrayList();
-        categories.add(createControlGroup(root));
-        categories.add(createComponentsDrawer());
-        return categories;
-    }
-
-    private static PaletteContainer createComponentsDrawer() {
-
-        PaletteDrawer drawer = new PaletteDrawer("Components", null);
-
-        List entries = new ArrayList();
-
-        CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
-            "Start",
-            "Create a new Start",
-            StartNodeWrapper.class,
-            new SimpleFactory(StartNodeWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif")),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif"))
-        );
-        entries.add(combined);
-        
-        combined = new CombinedTemplateCreationEntry(
-            "End",
-            "Create a new End",
-            EndNodeWrapper.class,
-            new SimpleFactory(EndNodeWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif"))
-        );
-        entries.add(combined);
-                
-        combined = new CombinedTemplateCreationEntry(
-            "RuleFlowGroup",
-            "Create a new RuleFlowGroup",
-            RuleSetNodeWrapper.class,
-            new SimpleFactory(RuleSetNodeWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/activity.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/activity.gif"))
-        );
-        entries.add(combined);
-            
-        combined = new CombinedTemplateCreationEntry(
-            "Split",
-            "Create a new Split",
-            SplitWrapper.class,
-            new SimpleFactory(SplitWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/split.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/split.gif"))
-        );
-        entries.add(combined);
-                    
-        combined = new CombinedTemplateCreationEntry(
-            "Join",
-            "Create a new Join",
-            JoinWrapper.class,
-            new SimpleFactory(JoinWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/join.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/join.gif"))
-        );
-        entries.add(combined);
-                        
-        combined = new CombinedTemplateCreationEntry(
-            "Milestone",
-            "Create a new Milestone",
-            MilestoneWrapper.class,
-            new SimpleFactory(MilestoneWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif"))
-        );
-        entries.add(combined);
-                            
-        combined = new CombinedTemplateCreationEntry(
-            "SubFlow",
-            "Create a new SubFlow",
-            SubFlowWrapper.class,
-            new SimpleFactory(SubFlowWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif"))
-        );
-        entries.add(combined);
-                                
-        combined = new CombinedTemplateCreationEntry(
-                "Action",
-                "Create a new Action",
-                ActionWrapper.class,
-                new SimpleFactory(ActionWrapper.class),
-                ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif")), 
-                ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif"))
-            );
-            entries.add(combined);
-                                    
-        drawer.addAll(entries);
-        return drawer;
-    }
-
-    private static PaletteContainer createControlGroup(PaletteRoot root) {
-        PaletteGroup controlGroup = new PaletteGroup("Control Group");
-
-        List entries = new ArrayList();
-
-        ToolEntry tool = new SelectionToolEntry();
-        entries.add(tool);
-        root.setDefaultEntry(tool);
-
-        tool = new MarqueeToolEntry();
-        entries.add(tool);
-        
-        final ElementConnectionFactory normalConnectionFactory = new ConnectionWrapperFactory(Connection.TYPE_NORMAL);
-
-        tool = new ConnectionCreationToolEntry(
-            "Connection Creation",
-            "Creating connections",
-            new CreationFactory() {
-                public Object getNewObject() {
-                	return normalConnectionFactory.createElementConnection();
-                }
-                public Object getObjectType() {
-                	return ConnectionWrapper.class;
-                }
-            },
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/connection.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/connection.gif"))
-        );
-        entries.add(tool);
-        
-        controlGroup.addAll(entries);
-        return controlGroup;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,190 @@
+package org.drools.eclipse.flow.ruleflow.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
+import org.drools.eclipse.flow.ruleflow.core.ActionWrapper;
+import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper;
+import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapperFactory;
+import org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.JoinWrapper;
+import org.drools.eclipse.flow.ruleflow.core.MilestoneWrapper;
+import org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.SplitWrapper;
+import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.SubFlowWrapper;
+import org.drools.ruleflow.core.Connection;
+import org.eclipse.gef.palette.CombinedTemplateCreationEntry;
+import org.eclipse.gef.palette.ConnectionCreationToolEntry;
+import org.eclipse.gef.palette.MarqueeToolEntry;
+import org.eclipse.gef.palette.PaletteContainer;
+import org.eclipse.gef.palette.PaletteDrawer;
+import org.eclipse.gef.palette.PaletteGroup;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.gef.palette.SelectionToolEntry;
+import org.eclipse.gef.palette.ToolEntry;
+import org.eclipse.gef.requests.CreationFactory;
+import org.eclipse.gef.requests.SimpleFactory;
+import org.eclipse.jface.resource.ImageDescriptor;
+
+/**
+ * Factory for creating a RuleFlow palette.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowPaletteFactory {
+
+    public static PaletteRoot createPalette() {
+        PaletteRoot flowPalette = new PaletteRoot();
+        flowPalette.addAll(createCategories(flowPalette));
+        return flowPalette;
+    }
+    
+    private static List createCategories(PaletteRoot root) {
+        List categories = new ArrayList();
+        categories.add(createControlGroup(root));
+        categories.add(createComponentsDrawer());
+        return categories;
+    }
+
+    private static PaletteContainer createComponentsDrawer() {
+
+        PaletteDrawer drawer = new PaletteDrawer("Components", null);
+
+        List entries = new ArrayList();
+
+        CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
+            "Start",
+            "Create a new Start",
+            StartNodeWrapper.class,
+            new SimpleFactory(StartNodeWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif")),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif"))
+        );
+        entries.add(combined);
+        
+        combined = new CombinedTemplateCreationEntry(
+            "End",
+            "Create a new End",
+            EndNodeWrapper.class,
+            new SimpleFactory(EndNodeWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif"))
+        );
+        entries.add(combined);
+                
+        combined = new CombinedTemplateCreationEntry(
+            "RuleFlowGroup",
+            "Create a new RuleFlowGroup",
+            RuleSetNodeWrapper.class,
+            new SimpleFactory(RuleSetNodeWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/activity.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/activity.gif"))
+        );
+        entries.add(combined);
+            
+        combined = new CombinedTemplateCreationEntry(
+            "Split",
+            "Create a new Split",
+            SplitWrapper.class,
+            new SimpleFactory(SplitWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/split.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/split.gif"))
+        );
+        entries.add(combined);
+                    
+        combined = new CombinedTemplateCreationEntry(
+            "Join",
+            "Create a new Join",
+            JoinWrapper.class,
+            new SimpleFactory(JoinWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/join.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/join.gif"))
+        );
+        entries.add(combined);
+                        
+        combined = new CombinedTemplateCreationEntry(
+            "Milestone",
+            "Create a new Milestone",
+            MilestoneWrapper.class,
+            new SimpleFactory(MilestoneWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif"))
+        );
+        entries.add(combined);
+                            
+        combined = new CombinedTemplateCreationEntry(
+            "SubFlow",
+            "Create a new SubFlow",
+            SubFlowWrapper.class,
+            new SimpleFactory(SubFlowWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif"))
+        );
+        entries.add(combined);
+                                
+        combined = new CombinedTemplateCreationEntry(
+                "Action",
+                "Create a new Action",
+                ActionWrapper.class,
+                new SimpleFactory(ActionWrapper.class),
+                ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif")), 
+                ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif"))
+            );
+            entries.add(combined);
+                                    
+        drawer.addAll(entries);
+        return drawer;
+    }
+
+    private static PaletteContainer createControlGroup(PaletteRoot root) {
+        PaletteGroup controlGroup = new PaletteGroup("Control Group");
+
+        List entries = new ArrayList();
+
+        ToolEntry tool = new SelectionToolEntry();
+        entries.add(tool);
+        root.setDefaultEntry(tool);
+
+        tool = new MarqueeToolEntry();
+        entries.add(tool);
+        
+        final ElementConnectionFactory normalConnectionFactory = new ConnectionWrapperFactory(Connection.TYPE_NORMAL);
+
+        tool = new ConnectionCreationToolEntry(
+            "Connection Creation",
+            "Creating connections",
+            new CreationFactory() {
+                public Object getNewObject() {
+                	return normalConnectionFactory.createElementConnection();
+                }
+                public Object getObjectType() {
+                	return ConnectionWrapper.class;
+                }
+            },
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/connection.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/connection.gif"))
+        );
+        entries.add(tool);
+        
+        controlGroup.addAll(entries);
+        return controlGroup;
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,74 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.action;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor;
-import org.drools.ruleflow.core.RuleFlowProcessValidationError;
-import org.drools.ruleflow.core.impl.RuleFlowProcessValidatorImpl;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.ActionDelegate;
-
-/**
- * Action for checking a RuleFlow.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class CheckRuleFlowAction extends ActionDelegate implements IEditorActionDelegate {
-
-    private IEditorPart editor;
-    
-    public void run(IAction action) {
-        execute();
-    }
-
-    public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-        editor = targetEditor;
-    }
-
-    private void execute() {
-        RuleFlowProcessValidationError[] errors = RuleFlowProcessValidatorImpl.getInstance().validateProcess(
-            ((RuleFlowModelEditor) editor).getRuleFlowModel().getRuleFlowProcess());
-        if (errors.length == 0) {
-            MessageDialog.openInformation(editor.getSite().getShell(),
-            "Check RuleFlow", "The RuleFlow model was checked successfully.");
-        } else {
-			StringBuffer error = new StringBuffer(errors[0].toString());
-			error.append("\n");
-            for (int i = 1; i < errors.length; i++) {
-				error.append(" ");
-				error.append(errors[i]);
-				error.append("\n");
-            }
-            ErrorDialog.openError(editor.getSite().getShell(),
-                "Check RuleFlow", "The RuleFlow model contains errors.", 
-                new Status(
-                    IStatus.ERROR,
-                    DroolsEclipsePlugin.getDefault().getBundle().getSymbolicName(),
-                    IStatus.ERROR,
-                    error.toString(),
-                    null)
-                );
-        }
-
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,74 @@
+package org.drools.eclipse.flow.ruleflow.editor.action;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor;
+import org.drools.ruleflow.core.RuleFlowProcessValidationError;
+import org.drools.ruleflow.core.impl.RuleFlowProcessValidatorImpl;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.ui.IEditorActionDelegate;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.actions.ActionDelegate;
+
+/**
+ * Action for checking a RuleFlow.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class CheckRuleFlowAction extends ActionDelegate implements IEditorActionDelegate {
+
+    private IEditorPart editor;
+    
+    public void run(IAction action) {
+        execute();
+    }
+
+    public void setActiveEditor(IAction action, IEditorPart targetEditor) {
+        editor = targetEditor;
+    }
+
+    private void execute() {
+        RuleFlowProcessValidationError[] errors = RuleFlowProcessValidatorImpl.getInstance().validateProcess(
+            ((RuleFlowModelEditor) editor).getRuleFlowModel().getRuleFlowProcess());
+        if (errors.length == 0) {
+            MessageDialog.openInformation(editor.getSite().getShell(),
+            "Check RuleFlow", "The RuleFlow model was checked successfully.");
+        } else {
+			StringBuffer error = new StringBuffer(errors[0].toString());
+			error.append("\n");
+            for (int i = 1; i < errors.length; i++) {
+				error.append(" ");
+				error.append(errors[i]);
+				error.append("\n");
+            }
+            ErrorDialog.openError(editor.getSite().getShell(),
+                "Check RuleFlow", "The RuleFlow model contains errors.", 
+                new Status(
+                    IStatus.ERROR,
+                    DroolsEclipsePlugin.getDefault().getBundle().getSymbolicName(),
+                    IStatus.ERROR,
+                    error.toString(),
+                    null)
+                );
+        }
+
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RoundedRectangle;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for an action node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ActionEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
-    
-    protected IFigure createFigure() {
-        return new RuleSetNodeFigure();
-    }
-    
-    public static class RuleSetNodeFigure extends ElementFigure {
-        
-        private static final Image ICON = ImageDescriptor.createFromURL(
-    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif")).createImage();
-            
-        private RoundedRectangle rectangle;
-        
-        protected void customizeFigure() {
-            rectangle = new RoundedRectangle();
-            rectangle.setCornerDimensions(new Dimension(25, 25));
-            add(rectangle, 0);
-            rectangle.setBackgroundColor(color);
-            rectangle.setBounds(getBounds());
-            setSelected(false);
-            setIcon(ICON);
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            this.rectangle.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            rectangle.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.RoundedRectangle;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for an action node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
+    
+    protected IFigure createFigure() {
+        return new RuleSetNodeFigure();
+    }
+    
+    public static class RuleSetNodeFigure extends ElementFigure {
+        
+        private static final Image ICON = ImageDescriptor.createFromURL(
+    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif")).createImage();
+            
+        private RoundedRectangle rectangle;
+        
+        protected void customizeFigure() {
+            rectangle = new RoundedRectangle();
+            rectangle.setCornerDimensions(new Dimension(25, 25));
+            add(rectangle, 0);
+            rectangle.setBackgroundColor(color);
+            rectangle.setBounds(getBounds());
+            setSelected(false);
+            setIcon(ICON);
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            this.rectangle.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            rectangle.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * EditPart for an end node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class EndNodeEditPart extends ElementEditPart {
-
-    protected IFigure createFigure() {
-        return new EndNodeFigure();
-    }
-
-    public static class EndNodeFigure extends ElementFigure {
-        
-        private static final Image icon = ImageDescriptor.createFromURL(
-        	DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif")).createImage();
-            
-        protected void customizeFigure() {
-            setIcon(icon);
-            setBorder(new LineBorder(1));
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            ((LineBorder) getBorder()).setWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.LineBorder;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * EditPart for an end node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class EndNodeEditPart extends ElementEditPart {
+
+    protected IFigure createFigure() {
+        return new EndNodeFigure();
+    }
+
+    public static class EndNodeFigure extends ElementFigure {
+        
+        private static final Image icon = ImageDescriptor.createFromURL(
+        	DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif")).createImage();
+            
+        protected void customizeFigure() {
+            setIcon(icon);
+            setBorder(new LineBorder(1));
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            ((LineBorder) getBorder()).setWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,81 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.draw2d.Ellipse;
-import org.eclipse.draw2d.EllipseAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for a join node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class JoinEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 70, 130, 180);
-    
-    protected IFigure createFigure() {
-        return new JoinFigure();
-    }
-
-    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public class JoinFigure extends ElementFigure {
-        
-        private Ellipse ellipse;
-        
-        protected void customizeFigure() {
-            ellipse = new Ellipse();
-            add(ellipse, 0);
-            ellipse.setBackgroundColor(color);
-            ellipse.setBounds(getBounds());
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            ellipse.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            ellipse.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,81 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.draw2d.Ellipse;
+import org.eclipse.draw2d.EllipseAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for a join node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class JoinEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 70, 130, 180);
+    
+    protected IFigure createFigure() {
+        return new JoinFigure();
+    }
+
+    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public class JoinFigure extends ElementFigure {
+        
+        private Ellipse ellipse;
+        
+        protected void customizeFigure() {
+            ellipse = new Ellipse();
+            add(ellipse, 0);
+            ellipse.setBackgroundColor(color);
+            ellipse.setBounds(getBounds());
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            ellipse.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            ellipse.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RoundedRectangle;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for a RuleSet node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MilestoneEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
-    
-    protected IFigure createFigure() {
-        return new RuleSetNodeFigure();
-    }
-    
-    public static class RuleSetNodeFigure extends ElementFigure {
-        
-        private static final Image ICON = ImageDescriptor.createFromURL(
-    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif")).createImage();
-            
-        private RoundedRectangle rectangle;
-        
-        protected void customizeFigure() {
-            rectangle = new RoundedRectangle();
-            rectangle.setCornerDimensions(new Dimension(25, 25));
-            add(rectangle, 0);
-            rectangle.setBackgroundColor(color);
-            rectangle.setBounds(getBounds());
-            setSelected(false);
-            setIcon(ICON);
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            this.rectangle.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            rectangle.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.RoundedRectangle;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for a RuleSet node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MilestoneEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
+    
+    protected IFigure createFigure() {
+        return new RuleSetNodeFigure();
+    }
+    
+    public static class RuleSetNodeFigure extends ElementFigure {
+        
+        private static final Image ICON = ImageDescriptor.createFromURL(
+    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif")).createImage();
+            
+        private RoundedRectangle rectangle;
+        
+        protected void customizeFigure() {
+            rectangle = new RoundedRectangle();
+            rectangle.setCornerDimensions(new Dimension(25, 25));
+            add(rectangle, 0);
+            rectangle.setBackgroundColor(color);
+            rectangle.setBounds(getBounds());
+            setSelected(false);
+            setIcon(ICON);
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            this.rectangle.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            rectangle.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
-import org.drools.eclipse.flow.common.editor.editpart.ElementConnectionEditPart;
-import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapperFactory;
-import org.drools.ruleflow.core.Connection;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PolygonDecoration;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.draw2d.geometry.PointList;
-
-/**
- * EditPart for an element connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowConnectionEditPart extends ElementConnectionEditPart {
-    
-	protected ElementConnectionFactory getDefaultElementConnectionFactory() {
-		return new ConnectionWrapperFactory(Connection.TYPE_NORMAL);
-	}
-	
-    protected IFigure createFigure() {
-        PolylineConnection result = (PolylineConnection) super.createFigure();
-        if (((ElementConnection) getModel()).getType() == Connection.TYPE_ABORT) {
-	        PolygonDecoration decoration = new PolygonDecoration();
-	        PointList decorationPointList = new PointList();
-	        decorationPointList.addPoint(0,0);
-	        decorationPointList.addPoint(-1,1);
-	        decorationPointList.addPoint(-2,0);
-	        decorationPointList.addPoint(-1,-1);
-	        decoration.setTemplate(decorationPointList);
-	        result.setSourceDecoration(decoration);
-        }
-        return result;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
+import org.drools.eclipse.flow.common.editor.editpart.ElementConnectionEditPart;
+import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapperFactory;
+import org.drools.ruleflow.core.Connection;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.draw2d.geometry.PointList;
+
+/**
+ * EditPart for an element connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowConnectionEditPart extends ElementConnectionEditPart {
+    
+	protected ElementConnectionFactory getDefaultElementConnectionFactory() {
+		return new ConnectionWrapperFactory(Connection.TYPE_NORMAL);
+	}
+	
+    protected IFigure createFigure() {
+        PolylineConnection result = (PolylineConnection) super.createFigure();
+        if (((ElementConnection) getModel()).getType() == Connection.TYPE_ABORT) {
+	        PolygonDecoration decoration = new PolygonDecoration();
+	        PointList decorationPointList = new PointList();
+	        decorationPointList.addPoint(0,0);
+	        decorationPointList.addPoint(-1,1);
+	        decorationPointList.addPoint(-2,0);
+	        decorationPointList.addPoint(-1,-1);
+	        decoration.setTemplate(decorationPointList);
+	        result.setSourceDecoration(decoration);
+        }
+        return result;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,69 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.editpart.ProcessEditPart;
-import org.drools.eclipse.flow.ruleflow.core.ActionWrapper;
-import org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.JoinWrapper;
-import org.drools.eclipse.flow.ruleflow.core.MilestoneWrapper;
-import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
-import org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.SplitWrapper;
-import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.SubFlowWrapper;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartFactory;
-
-/**
- * Factory for RuleFlow EditParts.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowEditPartFactory implements EditPartFactory {
-
-    public EditPart createEditPart(EditPart context, Object model) {
-        EditPart result = null;
-        if (model instanceof RuleFlowProcessWrapper) {
-            result = new ProcessEditPart();
-        } else if (model instanceof RuleSetNodeWrapper) {
-            result = new RuleSetNodeEditPart();
-        } else if (model instanceof ElementConnection) {
-            result = new RuleFlowConnectionEditPart();
-        } else if (model instanceof StartNodeWrapper) {
-            result = new StartNodeEditPart();
-        } else if (model instanceof EndNodeWrapper) {
-            result = new EndNodeEditPart();
-        } else if (model instanceof SplitWrapper) {
-            result = new SplitEditPart();
-        } else if (model instanceof JoinWrapper) {
-            result = new JoinEditPart();
-        } else if (model instanceof MilestoneWrapper) {
-            result = new MilestoneEditPart();
-        } else if (model instanceof SubFlowWrapper) {
-            result = new SubFlowEditPart();
-        } else if (model instanceof ActionWrapper) {
-            result = new ActionEditPart();
-        } else {
-            throw new IllegalArgumentException(
-                "Unknown model object " + model);
-        }
-        result.setModel(model);
-        return result;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,69 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.editpart.ProcessEditPart;
+import org.drools.eclipse.flow.ruleflow.core.ActionWrapper;
+import org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.JoinWrapper;
+import org.drools.eclipse.flow.ruleflow.core.MilestoneWrapper;
+import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
+import org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.SplitWrapper;
+import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.SubFlowWrapper;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartFactory;
+
+/**
+ * Factory for RuleFlow EditParts.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowEditPartFactory implements EditPartFactory {
+
+    public EditPart createEditPart(EditPart context, Object model) {
+        EditPart result = null;
+        if (model instanceof RuleFlowProcessWrapper) {
+            result = new ProcessEditPart();
+        } else if (model instanceof RuleSetNodeWrapper) {
+            result = new RuleSetNodeEditPart();
+        } else if (model instanceof ElementConnection) {
+            result = new RuleFlowConnectionEditPart();
+        } else if (model instanceof StartNodeWrapper) {
+            result = new StartNodeEditPart();
+        } else if (model instanceof EndNodeWrapper) {
+            result = new EndNodeEditPart();
+        } else if (model instanceof SplitWrapper) {
+            result = new SplitEditPart();
+        } else if (model instanceof JoinWrapper) {
+            result = new JoinEditPart();
+        } else if (model instanceof MilestoneWrapper) {
+            result = new MilestoneEditPart();
+        } else if (model instanceof SubFlowWrapper) {
+            result = new SubFlowEditPart();
+        } else if (model instanceof ActionWrapper) {
+            result = new ActionEditPart();
+        } else {
+            throw new IllegalArgumentException(
+                "Unknown model object " + model);
+        }
+        result.setModel(model);
+        return result;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,64 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RoundedRectangle;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for a RuleSet node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleSetNodeEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
-    
-    protected IFigure createFigure() {
-        return new RuleSetNodeFigure();
-    }
-    
-    public class RuleSetNodeFigure extends ElementFigure {
-        
-        private RoundedRectangle rectangle;
-        
-        protected void customizeFigure() {
-            rectangle = new RoundedRectangle();
-            rectangle.setCornerDimensions(new Dimension(25, 25));
-            add(rectangle, 0);
-            rectangle.setBackgroundColor(color);
-            rectangle.setBounds(getBounds());
-            setSelected(false);
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            this.rectangle.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            rectangle.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,64 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.RoundedRectangle;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for a RuleSet node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleSetNodeEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
+    
+    protected IFigure createFigure() {
+        return new RuleSetNodeFigure();
+    }
+    
+    public class RuleSetNodeFigure extends ElementFigure {
+        
+        private RoundedRectangle rectangle;
+        
+        protected void customizeFigure() {
+            rectangle = new RoundedRectangle();
+            rectangle.setCornerDimensions(new Dimension(25, 25));
+            add(rectangle, 0);
+            rectangle.setBackgroundColor(color);
+            rectangle.setBounds(getBounds());
+            setSelected(false);
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            this.rectangle.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            rectangle.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,81 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.draw2d.Ellipse;
-import org.eclipse.draw2d.EllipseAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for a split node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class SplitEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 70, 130, 180);
-    
-    protected IFigure createFigure() {
-        return new SplitFigure();
-    }
-
-    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public class SplitFigure extends ElementFigure {
-        
-        private Ellipse ellipse;
-        
-        protected void customizeFigure() {
-            ellipse = new Ellipse();
-            add(ellipse, 0);
-            ellipse.setBackgroundColor(color);
-            ellipse.setBounds(getBounds());
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            ellipse.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            ellipse.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,81 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.draw2d.Ellipse;
+import org.eclipse.draw2d.EllipseAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for a split node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SplitEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 70, 130, 180);
+    
+    protected IFigure createFigure() {
+        return new SplitFigure();
+    }
+
+    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public class SplitFigure extends ElementFigure {
+        
+        private Ellipse ellipse;
+        
+        protected void customizeFigure() {
+            ellipse = new Ellipse();
+            add(ellipse, 0);
+            ellipse.setBackgroundColor(color);
+            ellipse.setBounds(getBounds());
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            ellipse.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            ellipse.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * EditPart for a start node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class StartNodeEditPart extends ElementEditPart {
-
-    protected IFigure createFigure() {
-        return new StartNodeFigure();
-    }
-
-    public static class StartNodeFigure extends ElementFigure {
-        
-        private static final Image icon = ImageDescriptor.createFromURL(
-    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif")).createImage();
-        
-        protected void customizeFigure() {
-            setIcon(icon);
-            setBorder(new LineBorder(1));
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            ((LineBorder) getBorder()).setWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.LineBorder;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * EditPart for a start node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class StartNodeEditPart extends ElementEditPart {
+
+    protected IFigure createFigure() {
+        return new StartNodeFigure();
+    }
+
+    public static class StartNodeFigure extends ElementFigure {
+        
+        private static final Image icon = ImageDescriptor.createFromURL(
+    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif")).createImage();
+        
+        protected void customizeFigure() {
+            setIcon(icon);
+            setBorder(new LineBorder(1));
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            ((LineBorder) getBorder()).setWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RoundedRectangle;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for a SubFlow node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class SubFlowEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
-    
-    protected IFigure createFigure() {
-        return new SubFlowNodeFigure();
-    }
-    
-    public static class SubFlowNodeFigure extends ElementFigure {
-        
-        private static final Image ICON = ImageDescriptor.createFromURL(
-        		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif")).createImage();
-                
-        private RoundedRectangle rectangle;
-        
-        protected void customizeFigure() {
-            rectangle = new RoundedRectangle();
-            rectangle.setCornerDimensions(new Dimension(25, 25));
-            add(rectangle, 0);
-            rectangle.setBackgroundColor(color);
-            rectangle.setBounds(getBounds());
-            setSelected(false);
-            setIcon(ICON);
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            this.rectangle.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            rectangle.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.RoundedRectangle;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for a SubFlow node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SubFlowEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
+    
+    protected IFigure createFigure() {
+        return new SubFlowNodeFigure();
+    }
+    
+    public static class SubFlowNodeFigure extends ElementFigure {
+        
+        private static final Image ICON = ImageDescriptor.createFromURL(
+        		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif")).createImage();
+                
+        private RoundedRectangle rectangle;
+        
+        protected void customizeFigure() {
+            rectangle = new RoundedRectangle();
+            rectangle.setCornerDimensions(new Dimension(25, 25));
+            add(rectangle, 0);
+            rectangle.setBackgroundColor(color);
+            rectangle.setBounds(getBounds());
+            setSelected(false);
+            setIcon(ICON);
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            this.rectangle.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            rectangle.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.action;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.core.ActionNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Cell editor for an action.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ActionCellEditor extends BeanDialogCellEditor {
-
-    private RuleFlowProcess process;
-    private ActionNode actionNode;
-    
-    public ActionCellEditor(Composite parent, RuleFlowProcess process, ActionNode actionNode) {
-        super(parent);
-        this.process = process;
-        this.actionNode = actionNode;
-    }
-
-    protected EditBeanDialog createDialog(Shell shell) {
-        return new ActionDialog(shell, process, actionNode);
-    }
-    
-    protected String getLabelText(Object value) {
-    	if (actionNode == null || actionNode.getAction() == null) {
-    		return "";
-    	}
-        return actionNode.getAction().toString();
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.core.ActionNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell editor for an action.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionCellEditor extends BeanDialogCellEditor {
+
+    private RuleFlowProcess process;
+    private ActionNode actionNode;
+    
+    public ActionCellEditor(Composite parent, RuleFlowProcess process, ActionNode actionNode) {
+        super(parent);
+        this.process = process;
+        this.actionNode = actionNode;
+    }
+
+    protected EditBeanDialog createDialog(Shell shell) {
+        return new ActionDialog(shell, process, actionNode);
+    }
+    
+    protected String getLabelText(Object value) {
+    	if (actionNode == null || actionNode.getAction() == null) {
+    		return "";
+    	}
+        return actionNode.getAction().toString();
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,216 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.action;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.eclipse.flow.ruleflow.view.property.constraint.RuleFlowGlobalsDialog;
-import org.drools.eclipse.flow.ruleflow.view.property.constraint.RuleFlowImportsDialog;
-import org.drools.ruleflow.core.ActionNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.drools.ruleflow.core.impl.DroolsConsequenceAction;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Dialog for editing an action.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ActionDialog extends EditBeanDialog {
-
-	private RuleFlowProcess process;
-	private TabFolder tabFolder;
-	private SourceViewer actionViewer;
-	//private ActionCompletionProcessor completionProcessor;
-
-	public ActionDialog(Shell parentShell, RuleFlowProcess process, ActionNode actionNode) {
-		super(parentShell, "Action editor");
-		this.process = process;
-		super.setValue(actionNode.getAction());
-	}
-	
-    public void setValue(Object value) {
-        // the value is automatically retrieved from the actionNode
-    	// and cannot be set manually
-    }
-
-	protected Object updateValue(Object value) {
-		if (tabFolder.getSelectionIndex() == 0) {
-			return getAction();
-		}
-		return null;
-	}
-
-	protected Point getInitialSize() {
-		return new Point(600, 450);
-	}
-
-	private Control createTextualEditor(Composite parent) {
-		actionViewer = new SourceViewer(parent, null, SWT.BORDER);
-//		actionViewer.configure(new DRLSourceViewerConfig(null) {
-//			public IReconciler getReconciler(ISourceViewer sourceViewer) {
-//				return null;
-//			}
-//			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-//				ContentAssistant assistant = new ContentAssistant();
-//				completionProcessor = new ActionCompletionProcessor(process);
-//				assistant.setContentAssistProcessor(
-//					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-//				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-//				return assistant;
-//			}
-//		});
-		Object action = getValue();
-		String value = null;
-		if (action instanceof DroolsConsequenceAction) {
-			value = ((DroolsConsequenceAction) action).getConsequence();
-		}
-		if (value == null) {
-			value = "";
-		}
-		IDocument document = new Document(value);
-		actionViewer.setDocument(document);
-		IDocumentPartitioner partitioner =
-            new FastPartitioner(
-                new DRLPartionScanner(),
-                DRLPartionScanner.LEGAL_CONTENT_TYPES);
-        partitioner.connect(document);
-        document.setDocumentPartitioner(partitioner);
-        actionViewer.getControl().addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
-					actionViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-				}
-			}
-			public void keyReleased(KeyEvent e) {
-			}
-        });
-		return actionViewer.getControl();
-	}
-	
-	private Object getAction() {
-		return new DroolsConsequenceAction(actionViewer.getDocument().get());
-	}
-	
-	public Control createDialogArea(Composite parent) {
-		GridLayout layout = new GridLayout();
-		parent.setLayout(layout);
-		layout.numColumns = 2;
-
-		Composite top = new Composite(parent, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		gd.grabExcessHorizontalSpace = true;
-		top.setLayoutData(gd);
-
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		top.setLayout(layout);
-
-		Button importButton = new Button(top, SWT.PUSH);
-		importButton.setText("Imports ...");
-		importButton.setFont(JFaceResources.getDialogFont());
-		importButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				importButtonPressed();
-			}
-		});
-		gd = new GridData();
-		importButton.setLayoutData(gd);
-
-		Button globalButton = new Button(top, SWT.PUSH);
-		globalButton.setText("Globals ...");
-		globalButton.setFont(JFaceResources.getDialogFont());
-		globalButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				globalButtonPressed();
-			}
-		});
-		gd = new GridData();
-		globalButton.setLayoutData(gd);
-
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		tabFolder.setLayoutData(gd);
-		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
-		textEditorTab.setText("Textual Editor");
-
-		textEditorTab.setControl(createTextualEditor(tabFolder));
-		return tabFolder;
-	}
-	
-	private void importButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowImportsDialog dialog =
-					new RuleFlowImportsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					List imports = dialog.getImports();
-					process.setImports(imports);
-//					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-	
-	private void globalButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowGlobalsDialog dialog =
-					new RuleFlowGlobalsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					Map globals = dialog.getGlobals();
-					process.setGlobals(globals);
-//					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,216 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.eclipse.flow.ruleflow.view.property.constraint.RuleFlowGlobalsDialog;
+import org.drools.eclipse.flow.ruleflow.view.property.constraint.RuleFlowImportsDialog;
+import org.drools.ruleflow.core.ActionNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.drools.ruleflow.core.impl.DroolsConsequenceAction;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+
+/**
+ * Dialog for editing an action.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionDialog extends EditBeanDialog {
+
+	private RuleFlowProcess process;
+	private TabFolder tabFolder;
+	private SourceViewer actionViewer;
+	//private ActionCompletionProcessor completionProcessor;
+
+	public ActionDialog(Shell parentShell, RuleFlowProcess process, ActionNode actionNode) {
+		super(parentShell, "Action editor");
+		this.process = process;
+		super.setValue(actionNode.getAction());
+	}
+	
+    public void setValue(Object value) {
+        // the value is automatically retrieved from the actionNode
+    	// and cannot be set manually
+    }
+
+	protected Object updateValue(Object value) {
+		if (tabFolder.getSelectionIndex() == 0) {
+			return getAction();
+		}
+		return null;
+	}
+
+	protected Point getInitialSize() {
+		return new Point(600, 450);
+	}
+
+	private Control createTextualEditor(Composite parent) {
+		actionViewer = new SourceViewer(parent, null, SWT.BORDER);
+//		actionViewer.configure(new DRLSourceViewerConfig(null) {
+//			public IReconciler getReconciler(ISourceViewer sourceViewer) {
+//				return null;
+//			}
+//			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+//				ContentAssistant assistant = new ContentAssistant();
+//				completionProcessor = new ActionCompletionProcessor(process);
+//				assistant.setContentAssistProcessor(
+//					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
+//				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+//				return assistant;
+//			}
+//		});
+		Object action = getValue();
+		String value = null;
+		if (action instanceof DroolsConsequenceAction) {
+			value = ((DroolsConsequenceAction) action).getConsequence();
+		}
+		if (value == null) {
+			value = "";
+		}
+		IDocument document = new Document(value);
+		actionViewer.setDocument(document);
+		IDocumentPartitioner partitioner =
+            new FastPartitioner(
+                new DRLPartionScanner(),
+                DRLPartionScanner.LEGAL_CONTENT_TYPES);
+        partitioner.connect(document);
+        document.setDocumentPartitioner(partitioner);
+        actionViewer.getControl().addKeyListener(new KeyListener() {
+			public void keyPressed(KeyEvent e) {
+				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
+					actionViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
+				}
+			}
+			public void keyReleased(KeyEvent e) {
+			}
+        });
+		return actionViewer.getControl();
+	}
+	
+	private Object getAction() {
+		return new DroolsConsequenceAction(actionViewer.getDocument().get());
+	}
+	
+	public Control createDialogArea(Composite parent) {
+		GridLayout layout = new GridLayout();
+		parent.setLayout(layout);
+		layout.numColumns = 2;
+
+		Composite top = new Composite(parent, SWT.NONE);
+		GridData gd = new GridData();
+		gd.horizontalSpan = 2;
+		gd.grabExcessHorizontalSpace = true;
+		top.setLayoutData(gd);
+
+		layout = new GridLayout();
+		layout.numColumns = 3;
+		top.setLayout(layout);
+
+		Button importButton = new Button(top, SWT.PUSH);
+		importButton.setText("Imports ...");
+		importButton.setFont(JFaceResources.getDialogFont());
+		importButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				importButtonPressed();
+			}
+		});
+		gd = new GridData();
+		importButton.setLayoutData(gd);
+
+		Button globalButton = new Button(top, SWT.PUSH);
+		globalButton.setText("Globals ...");
+		globalButton.setFont(JFaceResources.getDialogFont());
+		globalButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				globalButtonPressed();
+			}
+		});
+		gd = new GridData();
+		globalButton.setLayoutData(gd);
+
+		tabFolder = new TabFolder(parent, SWT.NONE);
+		gd = new GridData();
+		gd.horizontalSpan = 3;
+		gd.grabExcessHorizontalSpace = true;
+		gd.grabExcessVerticalSpace = true;
+		gd.verticalAlignment = GridData.FILL;
+		gd.horizontalAlignment = GridData.FILL;
+		tabFolder.setLayoutData(gd);
+		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
+		textEditorTab.setText("Textual Editor");
+
+		textEditorTab.setControl(createTextualEditor(tabFolder));
+		return tabFolder;
+	}
+	
+	private void importButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowImportsDialog dialog =
+					new RuleFlowImportsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					List imports = dialog.getImports();
+					process.setImports(imports);
+//					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+	
+	private void globalButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowGlobalsDialog dialog =
+					new RuleFlowGlobalsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					Map globals = dialog.getGlobals();
+					process.setGlobals(globals);
+//					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.action;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.ruleflow.core.ActionNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Property descriptor for an action.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ActionPropertyDescriptor extends PropertyDescriptor {
-    
-    private RuleFlowProcess process;
-    private ActionNode actionNode;
-    
-    public ActionPropertyDescriptor(Object id, String displayName, ActionNode actionNode, RuleFlowProcess process) {
-        super(id, displayName);
-        this.actionNode = actionNode;
-        this.process = process;
-    }
-    
-    public RuleFlowProcess getProcess() {
-        return process;
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent) {
-    	ActionCellEditor editor = new ActionCellEditor(parent, process, actionNode);
-        if (getValidator() != null) {
-            editor.setValidator(getValidator());
-        }
-        return editor;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.ruleflow.core.ActionNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+/**
+ * Property descriptor for an action.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionPropertyDescriptor extends PropertyDescriptor {
+    
+    private RuleFlowProcess process;
+    private ActionNode actionNode;
+    
+    public ActionPropertyDescriptor(Object id, String displayName, ActionNode actionNode, RuleFlowProcess process) {
+        super(id, displayName);
+        this.actionNode = actionNode;
+        this.process = process;
+    }
+    
+    public RuleFlowProcess getProcess() {
+        return process;
+    }
+    
+    public CellEditor createPropertyEditor(Composite parent) {
+    	ActionCellEditor editor = new ActionCellEditor(parent, process, actionNode);
+        if (getValidator() != null) {
+            editor.setValidator(getValidator());
+        }
+        return editor;
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,133 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Completion for ruleflow constraints. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConstraintCompletionProcessor extends RuleCompletionProcessor {
-
-	private RuleFlowProcess process;
-	private List imports;
-	private List globals;
-	
-	public ConstraintCompletionProcessor(RuleFlowProcess process) {
-		super(null);
-		this.process = process;
-	}
-	
-	public IEditorPart getEditor() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench != null) { 
-			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-			if (workbenchWindow != null) {
-				IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); 
-				if (workbenchPage != null) {
-					return workbenchPage.getActiveEditor();
-				}
-			}
-		}
-		return null;
-	}
-
-    protected String readBackwards(int documentOffset, IDocument doc) throws BadLocationException {
-        int startPart = doc.getPartition(documentOffset).getOffset();
-        String prefix = doc.get(startPart, documentOffset - startPart);
-        return "rule dummy \n when \n" + prefix;
-    }
-    
-    public List getImports() {
-    	if (imports == null) {
-    		loadImports();
-    	}
-    	return imports;
-    }
-    
-    private void loadImports() {
-    	this.imports = new ArrayList();
-    	List imports = process.getImports();
-    	if (imports != null) {
-	    	Iterator iterator = imports.iterator();
-	        while (iterator.hasNext()) {
-	            String importName = (String) iterator.next();
-	            if (importName.endsWith(".*")) {
-	            	IJavaProject javaProject = getJavaProject();
-	            	if (javaProject != null) {
-		                String packageName = importName.substring(0, importName.length() - 2);
-		                this.imports.addAll(DRLRuleEditor.getAllClassesInPackage(packageName, javaProject));
-	            	}
-	            } else {
-	            	this.imports.add(importName);
-	            }
-	        }
-    	}
-    }
-    
-    public List getGlobals() {
-    	if (globals == null) {
-    		loadGlobals();
-    	}
-    	return globals;
-    }
-    
-    private void loadGlobals() {
-    	this.globals = Arrays.asList(process.getGlobalNames());
-    }
-    
-    private IJavaProject getJavaProject() {
-    	IEditorPart editor = getEditor();
-    	if (editor != null && editor.getEditorInput() instanceof IFileEditorInput) {
-			IFile file = ((IFileEditorInput) editor.getEditorInput()).getFile();
-	    	try {
-	    		if (file.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
-	    			return JavaCore.create(file.getProject());
-	    		}
-	    	} catch (CoreException e) {
-	    		// do nothing
-	    	}
-		}
-    	return null;
-    }
-    
-    public void reset() {
-    	this.imports = null;
-    	this.globals = null;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,133 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * Completion for ruleflow constraints. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConstraintCompletionProcessor extends RuleCompletionProcessor {
+
+	private RuleFlowProcess process;
+	private List imports;
+	private List globals;
+	
+	public ConstraintCompletionProcessor(RuleFlowProcess process) {
+		super(null);
+		this.process = process;
+	}
+	
+	public IEditorPart getEditor() {
+		IWorkbench workbench = PlatformUI.getWorkbench();
+		if (workbench != null) { 
+			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+			if (workbenchWindow != null) {
+				IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); 
+				if (workbenchPage != null) {
+					return workbenchPage.getActiveEditor();
+				}
+			}
+		}
+		return null;
+	}
+
+    protected String readBackwards(int documentOffset, IDocument doc) throws BadLocationException {
+        int startPart = doc.getPartition(documentOffset).getOffset();
+        String prefix = doc.get(startPart, documentOffset - startPart);
+        return "rule dummy \n when \n" + prefix;
+    }
+    
+    public List getImports() {
+    	if (imports == null) {
+    		loadImports();
+    	}
+    	return imports;
+    }
+    
+    private void loadImports() {
+    	this.imports = new ArrayList();
+    	List imports = process.getImports();
+    	if (imports != null) {
+	    	Iterator iterator = imports.iterator();
+	        while (iterator.hasNext()) {
+	            String importName = (String) iterator.next();
+	            if (importName.endsWith(".*")) {
+	            	IJavaProject javaProject = getJavaProject();
+	            	if (javaProject != null) {
+		                String packageName = importName.substring(0, importName.length() - 2);
+		                this.imports.addAll(DRLRuleEditor.getAllClassesInPackage(packageName, javaProject));
+	            	}
+	            } else {
+	            	this.imports.add(importName);
+	            }
+	        }
+    	}
+    }
+    
+    public List getGlobals() {
+    	if (globals == null) {
+    		loadGlobals();
+    	}
+    	return globals;
+    }
+    
+    private void loadGlobals() {
+    	this.globals = Arrays.asList(process.getGlobalNames());
+    }
+    
+    private IJavaProject getJavaProject() {
+    	IEditorPart editor = getEditor();
+    	if (editor != null && editor.getEditorInput() instanceof IFileEditorInput) {
+			IFile file = ((IFileEditorInput) editor.getEditorInput()).getFile();
+	    	try {
+	    		if (file.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
+	    			return JavaCore.create(file.getProject());
+	    		}
+	    	} catch (CoreException e) {
+	    		// do nothing
+	    	}
+		}
+    	return null;
+    }
+    
+    public void reset() {
+    	this.imports = null;
+    	this.globals = null;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,48 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.core.Split;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Cell editor for constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConstraintListCellEditor extends BeanDialogCellEditor {
-
-    private RuleFlowProcess process;
-    private Split split;
-    
-    public ConstraintListCellEditor(Composite parent, RuleFlowProcess process, Split split) {
-        super(parent);
-        this.process = process;
-        this.split = split;
-    }
-
-    protected EditBeanDialog createDialog(Shell shell) {
-        return new ConstraintListDialog(shell, process, split);
-    }
-    
-    protected String getLabelText(Object value) {
-        return "";
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,48 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.core.Split;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell editor for constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConstraintListCellEditor extends BeanDialogCellEditor {
+
+    private RuleFlowProcess process;
+    private Split split;
+    
+    public ConstraintListCellEditor(Composite parent, RuleFlowProcess process, Split split) {
+        super(parent);
+        this.process = process;
+        this.split = split;
+    }
+
+    protected EditBeanDialog createDialog(Shell shell) {
+        return new ConstraintListDialog(shell, process, split);
+    }
+    
+    protected String getLabelText(Object value) {
+        return "";
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,143 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.core.Connection;
-import org.drools.ruleflow.core.Constraint;
-import org.drools.ruleflow.core.Split;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog for editing constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConstraintListDialog extends EditBeanDialog {
-
-	private RuleFlowProcess process;
-	private Split split;
-	private Map newMap;
-	private Map labels = new HashMap();
-
-	protected ConstraintListDialog(Shell parentShell, RuleFlowProcess process,
-			Split split) {
-		super(parentShell, "Edit Constraints");
-		this.process = process;
-		this.split = split;
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		composite.setLayout(gridLayout);
-
-		List outgoingConnections = split.getOutgoingConnections();
-		labels.clear();
-		for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
-			Connection outgoingConnection = (Connection) it.next();
-			Label label1 = new Label(composite, SWT.NONE);
-			label1.setText("To node " + outgoingConnection.getTo().getName()
-					+ ": ");
-
-			Label label2 = new Label(composite, SWT.NONE);
-			labels.put(outgoingConnection, label2);
-			GridData gridData = new GridData();
-			gridData.grabExcessHorizontalSpace = true;
-			gridData.horizontalAlignment = GridData.FILL;
-			label2.setLayoutData(gridData);
-			Constraint constraint = (Constraint) newMap.get(outgoingConnection);
-			if (constraint != null) {
-				label2.setText(constraint.getName());
-			}
-
-			Button editButton = new Button(composite, SWT.NONE);
-			editButton.setText("Edit");
-			editButton.addSelectionListener(new EditButtonListener(
-					outgoingConnection));
-		}
-
-		return composite;
-	}
-
-	public void setValue(Object value) {
-		super.setValue(value);
-		this.newMap = new HashMap((Map) value);
-	}
-
-	protected Object updateValue(Object value) {
-		return newMap;
-	}
-
-	private void editItem(final Connection connection) {
-
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowConstraintDialog dialog = new RuleFlowConstraintDialog(
-						getShell(), process);
-				dialog.create();
-				Constraint constraint = (Constraint) newMap.get(connection);
-				dialog.setConstraint(constraint);
-				int code = dialog.open();
-				if (code != CANCEL) {
-					constraint = dialog.getConstraint();
-					newMap.put(connection, constraint);
-					setConnectionText((Label) labels.get(connection), constraint
-							.getName());
-				}
-			}
-
-		};
-		r.run();
-	}
-
-	private void setConnectionText(final Label connection, final String name) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				connection.setText(name);
-			}
-		});
-	}
-
-	private class EditButtonListener extends SelectionAdapter {
-		private Connection connection;
-
-		public EditButtonListener(Connection connection) {
-			this.connection = connection;
-		}
-
-		public void widgetSelected(SelectionEvent e) {
-			editItem(connection);
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,143 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.core.Connection;
+import org.drools.ruleflow.core.Constraint;
+import org.drools.ruleflow.core.Split;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Dialog for editing constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConstraintListDialog extends EditBeanDialog {
+
+	private RuleFlowProcess process;
+	private Split split;
+	private Map newMap;
+	private Map labels = new HashMap();
+
+	protected ConstraintListDialog(Shell parentShell, RuleFlowProcess process,
+			Split split) {
+		super(parentShell, "Edit Constraints");
+		this.process = process;
+		this.split = split;
+	}
+
+	protected Control createDialogArea(Composite parent) {
+		Composite composite = (Composite) super.createDialogArea(parent);
+		GridLayout gridLayout = new GridLayout();
+		gridLayout.numColumns = 3;
+		composite.setLayout(gridLayout);
+
+		List outgoingConnections = split.getOutgoingConnections();
+		labels.clear();
+		for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
+			Connection outgoingConnection = (Connection) it.next();
+			Label label1 = new Label(composite, SWT.NONE);
+			label1.setText("To node " + outgoingConnection.getTo().getName()
+					+ ": ");
+
+			Label label2 = new Label(composite, SWT.NONE);
+			labels.put(outgoingConnection, label2);
+			GridData gridData = new GridData();
+			gridData.grabExcessHorizontalSpace = true;
+			gridData.horizontalAlignment = GridData.FILL;
+			label2.setLayoutData(gridData);
+			Constraint constraint = (Constraint) newMap.get(outgoingConnection);
+			if (constraint != null) {
+				label2.setText(constraint.getName());
+			}
+
+			Button editButton = new Button(composite, SWT.NONE);
+			editButton.setText("Edit");
+			editButton.addSelectionListener(new EditButtonListener(
+					outgoingConnection));
+		}
+
+		return composite;
+	}
+
+	public void setValue(Object value) {
+		super.setValue(value);
+		this.newMap = new HashMap((Map) value);
+	}
+
+	protected Object updateValue(Object value) {
+		return newMap;
+	}
+
+	private void editItem(final Connection connection) {
+
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowConstraintDialog dialog = new RuleFlowConstraintDialog(
+						getShell(), process);
+				dialog.create();
+				Constraint constraint = (Constraint) newMap.get(connection);
+				dialog.setConstraint(constraint);
+				int code = dialog.open();
+				if (code != CANCEL) {
+					constraint = dialog.getConstraint();
+					newMap.put(connection, constraint);
+					setConnectionText((Label) labels.get(connection), constraint
+							.getName());
+				}
+			}
+
+		};
+		r.run();
+	}
+
+	private void setConnectionText(final Label connection, final String name) {
+		Display.getDefault().asyncExec(new Runnable() {
+			public void run() {
+				connection.setText(name);
+			}
+		});
+	}
+
+	private class EditButtonListener extends SelectionAdapter {
+		private Connection connection;
+
+		public EditButtonListener(Connection connection) {
+			this.connection = connection;
+		}
+
+		public void widgetSelected(SelectionEvent e) {
+			editItem(connection);
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.ruleflow.core.Split;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Property descriptor for constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConstraintsPropertyDescriptor extends PropertyDescriptor {
-    
-    private RuleFlowProcess process;
-    private Split split;
-    
-    public ConstraintsPropertyDescriptor(Object id, String displayName, Split split, RuleFlowProcess process) {
-        super(id, displayName);
-        this.split = split;
-        this.process = process;
-    }
-    
-    public RuleFlowProcess getProcess() {
-        return process;
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent) {
-        ConstraintListCellEditor editor = new ConstraintListCellEditor(parent, process, split);
-        if (getValidator() != null) {
-            editor.setValidator(getValidator());
-        }
-        return editor;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.ruleflow.core.Split;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+/**
+ * Property descriptor for constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConstraintsPropertyDescriptor extends PropertyDescriptor {
+    
+    private RuleFlowProcess process;
+    private Split split;
+    
+    public ConstraintsPropertyDescriptor(Object id, String displayName, Split split, RuleFlowProcess process) {
+        super(id, displayName);
+        this.split = split;
+        this.process = process;
+    }
+    
+    public RuleFlowProcess getProcess() {
+        return process;
+    }
+    
+    public CellEditor createPropertyEditor(Composite parent) {
+        ConstraintListCellEditor editor = new ConstraintListCellEditor(parent, process, split);
+        if (getValidator() != null) {
+            editor.setValidator(getValidator());
+        }
+        return editor;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,147 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.completion.CompletionUtil;
-import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
-import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
-import org.drools.eclipse.editors.completion.RuleCompletionProposal;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Completion for ruleflow constraints. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ImportCompletionProcessor extends DefaultCompletionProcessor {
-
-	public ImportCompletionProcessor() {
-		super(null);
-	}
-	
-	public IEditorPart getEditor() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench != null) { 
-			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-			if (workbenchWindow != null) {
-				IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); 
-				if (workbenchPage != null) {
-					return workbenchPage.getActiveEditor();
-				}
-			}
-		}
-		return null;
-	}
-
-    protected List getCompletionProposals(ITextViewer viewer,
-            int documentOffset) {
-		try {
-			IDocument doc = viewer.getDocument();
-			String backText = readBackwards(documentOffset, doc);
-
-			String prefix = CompletionUtil.stripLastWord(backText);
-
-			List props = null;
-			Matcher matcher = IMPORT_PATTERN.matcher(backText);
-			if (matcher.matches()) {
-				String classNameStart = backText.substring(backText
-						.lastIndexOf("import") + 7);
-				props = getAllClassProposals(classNameStart, documentOffset,
-						prefix);
-			} else {
-				props = getPossibleProposals(viewer, documentOffset, backText, prefix);
-			}
-			return props;
-		} catch (Throwable t) {
-			DroolsEclipsePlugin.log(t);
-		}
-		return null;
-	}
-
-    
-    public List getImports() {
-    	return Collections.EMPTY_LIST;
-    }
-    
-    public List getGlobals() {
-    	return Collections.EMPTY_LIST;
-    }
-    
-    protected IJavaProject getCurrentJavaProject() {
-    	IEditorPart editor = getEditor();
-    	if (editor != null && editor.getEditorInput() instanceof IFileEditorInput) {
-			IFile file = ((IFileEditorInput) editor.getEditorInput()).getFile();
-	    	try {
-	    		if (file.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
-	    			return JavaCore.create(file.getProject());
-	    		}
-	    	} catch (CoreException e) {
-	    		// do nothing
-	    	}
-		}
-    	return null;
-    }
-    
-    protected List getPossibleProposals(ITextViewer viewer,
-            int documentOffset,
-            String backText,
-            final String prefix) {
-		List list = new ArrayList();
-		list.add(new RuleCompletionProposal(documentOffset - prefix.length(), prefix.length(), "import", "import "));
-		DefaultCompletionProcessor.filterProposalsOnPrefix(prefix, list);
-		return list;
-	}
-
-    /**
-     * @return a list of "MVELified" RuleCompletionProposal. That list contains only unique proposal based on
-     * the overrriden equals in {@link RuleCompletionProposal} to avoid the situation when several
-     * accessors can exist for one property. for that case we want to keep only one proposal.
-     */
-    protected Collection getJavaMvelCompletionProposals(final int documentOffset,
-                                                     final String javaText,
-                                                     final String prefix,
-                                                     Map params) {
-                                                        final List list = new ArrayList();
-                                                        requestJavaCompletionProposals( javaText,
-                                                                                        prefix,
-                                                                                        documentOffset,
-                                                                                        params,
-                                                                                        list );
-                                                    
-                                                        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list, false );
-                                                        return mvelList;
-                                                    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,147 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.completion.CompletionUtil;
+import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
+import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
+import org.drools.eclipse.editors.completion.RuleCompletionProposal;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * Completion for ruleflow constraints. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ImportCompletionProcessor extends DefaultCompletionProcessor {
+
+	public ImportCompletionProcessor() {
+		super(null);
+	}
+	
+	public IEditorPart getEditor() {
+		IWorkbench workbench = PlatformUI.getWorkbench();
+		if (workbench != null) { 
+			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+			if (workbenchWindow != null) {
+				IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); 
+				if (workbenchPage != null) {
+					return workbenchPage.getActiveEditor();
+				}
+			}
+		}
+		return null;
+	}
+
+    protected List getCompletionProposals(ITextViewer viewer,
+            int documentOffset) {
+		try {
+			IDocument doc = viewer.getDocument();
+			String backText = readBackwards(documentOffset, doc);
+
+			String prefix = CompletionUtil.stripLastWord(backText);
+
+			List props = null;
+			Matcher matcher = IMPORT_PATTERN.matcher(backText);
+			if (matcher.matches()) {
+				String classNameStart = backText.substring(backText
+						.lastIndexOf("import") + 7);
+				props = getAllClassProposals(classNameStart, documentOffset,
+						prefix);
+			} else {
+				props = getPossibleProposals(viewer, documentOffset, backText, prefix);
+			}
+			return props;
+		} catch (Throwable t) {
+			DroolsEclipsePlugin.log(t);
+		}
+		return null;
+	}
+
+    
+    public List getImports() {
+    	return Collections.EMPTY_LIST;
+    }
+    
+    public List getGlobals() {
+    	return Collections.EMPTY_LIST;
+    }
+    
+    protected IJavaProject getCurrentJavaProject() {
+    	IEditorPart editor = getEditor();
+    	if (editor != null && editor.getEditorInput() instanceof IFileEditorInput) {
+			IFile file = ((IFileEditorInput) editor.getEditorInput()).getFile();
+	    	try {
+	    		if (file.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
+	    			return JavaCore.create(file.getProject());
+	    		}
+	    	} catch (CoreException e) {
+	    		// do nothing
+	    	}
+		}
+    	return null;
+    }
+    
+    protected List getPossibleProposals(ITextViewer viewer,
+            int documentOffset,
+            String backText,
+            final String prefix) {
+		List list = new ArrayList();
+		list.add(new RuleCompletionProposal(documentOffset - prefix.length(), prefix.length(), "import", "import "));
+		DefaultCompletionProcessor.filterProposalsOnPrefix(prefix, list);
+		return list;
+	}
+
+    /**
+     * @return a list of "MVELified" RuleCompletionProposal. That list contains only unique proposal based on
+     * the overrriden equals in {@link RuleCompletionProposal} to avoid the situation when several
+     * accessors can exist for one property. for that case we want to keep only one proposal.
+     */
+    protected Collection getJavaMvelCompletionProposals(final int documentOffset,
+                                                     final String javaText,
+                                                     final String prefix,
+                                                     Map params) {
+                                                        final List list = new ArrayList();
+                                                        requestJavaCompletionProposals( javaText,
+                                                                                        prefix,
+                                                                                        documentOffset,
+                                                                                        params,
+                                                                                        list );
+                                                    
+                                                        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list, false );
+                                                        return mvelList;
+                                                    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.core.MilestoneNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Cell editor for milestone constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MilestoneConstraintCellEditor extends BeanDialogCellEditor {
-
-    private RuleFlowProcess process;
-    private MilestoneNode milestone;
-    
-    public MilestoneConstraintCellEditor(Composite parent, RuleFlowProcess process, MilestoneNode milestone) {
-        super(parent);
-        this.process = process;
-        this.milestone = milestone;
-    }
-
-    protected EditBeanDialog createDialog(Shell shell) {
-        return new MilestoneConstraintDialog(shell, process, milestone);
-    }
-    
-    protected String getLabelText(Object value) {
-    	if (milestone == null || milestone.getConstraint() == null) {
-    		return "";
-    	}
-        return milestone.getConstraint();
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.core.MilestoneNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell editor for milestone constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MilestoneConstraintCellEditor extends BeanDialogCellEditor {
+
+    private RuleFlowProcess process;
+    private MilestoneNode milestone;
+    
+    public MilestoneConstraintCellEditor(Composite parent, RuleFlowProcess process, MilestoneNode milestone) {
+        super(parent);
+        this.process = process;
+        this.milestone = milestone;
+    }
+
+    protected EditBeanDialog createDialog(Shell shell) {
+        return new MilestoneConstraintDialog(shell, process, milestone);
+    }
+    
+    protected String getLabelText(Object value) {
+    	if (milestone == null || milestone.getConstraint() == null) {
+    		return "";
+    	}
+        return milestone.getConstraint();
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,209 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.editors.DRLSourceViewerConfig;
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.core.MilestoneNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Dialog for editing constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MilestoneConstraintDialog extends EditBeanDialog {
-
-	private RuleFlowProcess process;
-	private TabFolder tabFolder;
-	private SourceViewer constraintViewer;
-	private ConstraintCompletionProcessor completionProcessor;
-
-	public MilestoneConstraintDialog(Shell parentShell, RuleFlowProcess process, MilestoneNode milestone) {
-		super(parentShell, "Constraint editor");
-		this.process = process;
-		setValue(milestone.getConstraint());
-	}
-
-	protected Object updateValue(Object value) {
-		if (tabFolder.getSelectionIndex() == 0) {
-			return getConstraintText();
-		}
-		return null;
-	}
-
-	protected Point getInitialSize() {
-		return new Point(600, 450);
-	}
-
-	private Control createTextualEditor(Composite parent) {
-		constraintViewer = new SourceViewer(parent, null, SWT.BORDER);
-		constraintViewer.configure(new DRLSourceViewerConfig(null) {
-			public IReconciler getReconciler(ISourceViewer sourceViewer) {
-				return null;
-			}
-			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-				ContentAssistant assistant = new ContentAssistant();
-				completionProcessor = new ConstraintCompletionProcessor(process);
-				assistant.setContentAssistProcessor(
-					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-				return assistant;
-			}
-		});
-		String value = (String) getValue();
-		if (value == null) {
-			value = "";
-		}
-		IDocument document = new Document(value);
-		constraintViewer.setDocument(document);
-		IDocumentPartitioner partitioner =
-            new FastPartitioner(
-                new DRLPartionScanner(),
-                DRLPartionScanner.LEGAL_CONTENT_TYPES);
-        partitioner.connect(document);
-        document.setDocumentPartitioner(partitioner);
-        constraintViewer.getControl().addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
-					constraintViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-				}
-			}
-			public void keyReleased(KeyEvent e) {
-			}
-        });
-		return constraintViewer.getControl();
-	}
-	
-	private String getConstraintText() {
-		return constraintViewer.getDocument().get();
-	}
-	
-	public Control createDialogArea(Composite parent) {
-		GridLayout layout = new GridLayout();
-		parent.setLayout(layout);
-		layout.numColumns = 2;
-
-		Composite top = new Composite(parent, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		gd.grabExcessHorizontalSpace = true;
-		top.setLayoutData(gd);
-
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		top.setLayout(layout);
-
-		Button importButton = new Button(top, SWT.PUSH);
-		importButton.setText("Imports ...");
-		importButton.setFont(JFaceResources.getDialogFont());
-		importButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				importButtonPressed();
-			}
-		});
-		gd = new GridData();
-		importButton.setLayoutData(gd);
-
-		Button globalButton = new Button(top, SWT.PUSH);
-		globalButton.setText("Globals ...");
-		globalButton.setFont(JFaceResources.getDialogFont());
-		globalButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				globalButtonPressed();
-			}
-		});
-		gd = new GridData();
-		globalButton.setLayoutData(gd);
-
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		tabFolder.setLayoutData(gd);
-		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
-		textEditorTab.setText("Textual Editor");
-
-		textEditorTab.setControl(createTextualEditor(tabFolder));
-		return tabFolder;
-	}
-	
-	private void importButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowImportsDialog dialog =
-					new RuleFlowImportsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					List imports = dialog.getImports();
-					process.setImports(imports);
-					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-	
-	private void globalButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowGlobalsDialog dialog =
-					new RuleFlowGlobalsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					Map globals = dialog.getGlobals();
-					process.setGlobals(globals);
-					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,209 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.editors.DRLSourceViewerConfig;
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.core.MilestoneNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+
+/**
+ * Dialog for editing constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MilestoneConstraintDialog extends EditBeanDialog {
+
+	private RuleFlowProcess process;
+	private TabFolder tabFolder;
+	private SourceViewer constraintViewer;
+	private ConstraintCompletionProcessor completionProcessor;
+
+	public MilestoneConstraintDialog(Shell parentShell, RuleFlowProcess process, MilestoneNode milestone) {
+		super(parentShell, "Constraint editor");
+		this.process = process;
+		setValue(milestone.getConstraint());
+	}
+
+	protected Object updateValue(Object value) {
+		if (tabFolder.getSelectionIndex() == 0) {
+			return getConstraintText();
+		}
+		return null;
+	}
+
+	protected Point getInitialSize() {
+		return new Point(600, 450);
+	}
+
+	private Control createTextualEditor(Composite parent) {
+		constraintViewer = new SourceViewer(parent, null, SWT.BORDER);
+		constraintViewer.configure(new DRLSourceViewerConfig(null) {
+			public IReconciler getReconciler(ISourceViewer sourceViewer) {
+				return null;
+			}
+			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+				ContentAssistant assistant = new ContentAssistant();
+				completionProcessor = new ConstraintCompletionProcessor(process);
+				assistant.setContentAssistProcessor(
+					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
+				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+				return assistant;
+			}
+		});
+		String value = (String) getValue();
+		if (value == null) {
+			value = "";
+		}
+		IDocument document = new Document(value);
+		constraintViewer.setDocument(document);
+		IDocumentPartitioner partitioner =
+            new FastPartitioner(
+                new DRLPartionScanner(),
+                DRLPartionScanner.LEGAL_CONTENT_TYPES);
+        partitioner.connect(document);
+        document.setDocumentPartitioner(partitioner);
+        constraintViewer.getControl().addKeyListener(new KeyListener() {
+			public void keyPressed(KeyEvent e) {
+				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
+					constraintViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
+				}
+			}
+			public void keyReleased(KeyEvent e) {
+			}
+        });
+		return constraintViewer.getControl();
+	}
+	
+	private String getConstraintText() {
+		return constraintViewer.getDocument().get();
+	}
+	
+	public Control createDialogArea(Composite parent) {
+		GridLayout layout = new GridLayout();
+		parent.setLayout(layout);
+		layout.numColumns = 2;
+
+		Composite top = new Composite(parent, SWT.NONE);
+		GridData gd = new GridData();
+		gd.horizontalSpan = 2;
+		gd.grabExcessHorizontalSpace = true;
+		top.setLayoutData(gd);
+
+		layout = new GridLayout();
+		layout.numColumns = 3;
+		top.setLayout(layout);
+
+		Button importButton = new Button(top, SWT.PUSH);
+		importButton.setText("Imports ...");
+		importButton.setFont(JFaceResources.getDialogFont());
+		importButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				importButtonPressed();
+			}
+		});
+		gd = new GridData();
+		importButton.setLayoutData(gd);
+
+		Button globalButton = new Button(top, SWT.PUSH);
+		globalButton.setText("Globals ...");
+		globalButton.setFont(JFaceResources.getDialogFont());
+		globalButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				globalButtonPressed();
+			}
+		});
+		gd = new GridData();
+		globalButton.setLayoutData(gd);
+
+		tabFolder = new TabFolder(parent, SWT.NONE);
+		gd = new GridData();
+		gd.horizontalSpan = 3;
+		gd.grabExcessHorizontalSpace = true;
+		gd.grabExcessVerticalSpace = true;
+		gd.verticalAlignment = GridData.FILL;
+		gd.horizontalAlignment = GridData.FILL;
+		tabFolder.setLayoutData(gd);
+		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
+		textEditorTab.setText("Textual Editor");
+
+		textEditorTab.setControl(createTextualEditor(tabFolder));
+		return tabFolder;
+	}
+	
+	private void importButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowImportsDialog dialog =
+					new RuleFlowImportsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					List imports = dialog.getImports();
+					process.setImports(imports);
+					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+	
+	private void globalButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowGlobalsDialog dialog =
+					new RuleFlowGlobalsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					Map globals = dialog.getGlobals();
+					process.setGlobals(globals);
+					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.ruleflow.core.MilestoneNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Property descriptor for a milestone constraint.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MilestoneConstraintPropertyDescriptor extends PropertyDescriptor {
-    
-    private RuleFlowProcess process;
-    private MilestoneNode milestone;
-    
-    public MilestoneConstraintPropertyDescriptor(Object id, String displayName, MilestoneNode milestone, RuleFlowProcess process) {
-        super(id, displayName);
-        this.milestone = milestone;
-        this.process = process;
-    }
-    
-    public RuleFlowProcess getProcess() {
-        return process;
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent) {
-    	MilestoneConstraintCellEditor editor = new MilestoneConstraintCellEditor(parent, process, milestone);
-        if (getValidator() != null) {
-            editor.setValidator(getValidator());
-        }
-        return editor;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.ruleflow.core.MilestoneNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+/**
+ * Property descriptor for a milestone constraint.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MilestoneConstraintPropertyDescriptor extends PropertyDescriptor {
+    
+    private RuleFlowProcess process;
+    private MilestoneNode milestone;
+    
+    public MilestoneConstraintPropertyDescriptor(Object id, String displayName, MilestoneNode milestone, RuleFlowProcess process) {
+        super(id, displayName);
+        this.milestone = milestone;
+        this.process = process;
+    }
+    
+    public RuleFlowProcess getProcess() {
+        return process;
+    }
+    
+    public CellEditor createPropertyEditor(Composite parent) {
+    	MilestoneConstraintCellEditor editor = new MilestoneConstraintCellEditor(parent, process, milestone);
+        if (getValidator() != null) {
+            editor.setValidator(getValidator());
+        }
+        return editor;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,323 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.editors.DRLSourceViewerConfig;
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.drools.ruleflow.core.Constraint;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.drools.ruleflow.core.impl.ConstraintImpl;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Dialog for editing constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowConstraintDialog extends Dialog {
-
-	private Constraint constraint;
-	private RuleFlowProcess process;
-	private boolean success;
-	private Button alwaysTrue;
-	private Text nameText;
-	private Text priorityText;
-	private TabFolder tabFolder;
-	private SourceViewer constraintViewer;
-	private ConstraintCompletionProcessor completionProcessor;
-
-	public RuleFlowConstraintDialog(Shell parentShell, RuleFlowProcess process) {
-		super(parentShell);
-		this.process = process;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText("Constraint editor");
-	}
-
-	protected Point getInitialSize() {
-		return new Point(600, 450);
-	}
-
-	private Control createTextualEditor(Composite parent) {
-		constraintViewer = new SourceViewer(parent, null, SWT.BORDER);
-		constraintViewer.configure(new DRLSourceViewerConfig(null) {
-			public IReconciler getReconciler(ISourceViewer sourceViewer) {
-				return null;
-			}
-			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-				ContentAssistant assistant = new ContentAssistant();
-				completionProcessor = new ConstraintCompletionProcessor(process);
-				assistant.setContentAssistProcessor(
-					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-				return assistant;
-			}
-		});
-		IDocument document = new Document();
-		constraintViewer.setDocument(document);
-		IDocumentPartitioner partitioner =
-            new FastPartitioner(
-                new DRLPartionScanner(),
-                DRLPartionScanner.LEGAL_CONTENT_TYPES);
-        partitioner.connect(document);
-        document.setDocumentPartitioner(partitioner);
-        constraintViewer.getControl().addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
-					constraintViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-				}
-			}
-			public void keyReleased(KeyEvent e) {
-			}
-        });
-		return constraintViewer.getControl();
-	}
-	
-	private String getConstraintText() {
-		return constraintViewer.getDocument().get();
-	}
-	
-	private void setConstraintText(String text) {
-		constraintViewer.getDocument().set(text);
-	}
-
-	public Control createDialogArea(Composite parent) {
-
-		GridLayout layout = new GridLayout();
-		parent.setLayout(layout);
-		layout.numColumns = 2;
-
-		Composite top = new Composite(parent, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		gd.grabExcessHorizontalSpace = true;
-		top.setLayoutData(gd);
-
-		layout = new GridLayout();
-		layout.numColumns = 4;
-		top.setLayout(layout);
-
-		Label l1 = new Label(top, SWT.None);
-		l1.setText("Name:");
-		gd = new GridData();
-		l1.setLayoutData(gd);
-		nameText = new Text(top, SWT.BORDER);
-		gd = new GridData();
-		gd.horizontalAlignment = GridData.FILL;
-		gd.widthHint = 200;
-		gd.horizontalSpan = 3;
-		nameText.setLayoutData(gd);
-
-		Label l2 = new Label(top, SWT.NONE);
-		gd = new GridData();
-		l2.setLayoutData(gd);
-		l2.setText("Priority:");
-		priorityText = new Text(top, SWT.BORDER);
-		gd = new GridData();
-		gd.widthHint = 200;
-		gd.horizontalSpan = 3;
-		priorityText.setLayoutData(gd);
-
-		alwaysTrue = new Button(top, SWT.CHECK);
-		alwaysTrue.setText("Always true");
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		alwaysTrue.setLayoutData(gd);
-		
-		Button importButton = new Button(top, SWT.PUSH);
-		importButton.setText("Imports ...");
-		importButton.setFont(JFaceResources.getDialogFont());
-		importButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				importButtonPressed();
-			}
-		});
-		gd = new GridData();
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalAlignment = GridData.END;
-		importButton.setLayoutData(gd);
-
-		Button globalButton = new Button(top, SWT.PUSH);
-		globalButton.setText("Globals ...");
-		globalButton.setFont(JFaceResources.getDialogFont());
-		globalButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				globalButtonPressed();
-			}
-		});
-		gd = new GridData();
-		gd.horizontalAlignment = GridData.END;
-		globalButton.setLayoutData(gd);
-
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		gd = new GridData();
-		gd.horizontalSpan = 4;
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		tabFolder.setLayoutData(gd);
-		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
-		textEditorTab.setText("Textual Editor");
-
-		textEditorTab.setControl(createTextualEditor(tabFolder));
-
-		alwaysTrue.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				tabFolder.setVisible(!alwaysTrue.getSelection());
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-
-		return tabFolder;
-	}
-	
-	private void importButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowImportsDialog dialog =
-					new RuleFlowImportsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					List imports = dialog.getImports();
-					process.setImports(imports);
-					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-
-	private void globalButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowGlobalsDialog dialog =
-					new RuleFlowGlobalsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					Map globals = dialog.getGlobals();
-					process.setGlobals(globals);
-					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-
-	protected void okPressed() {
-		int selectionIndex = tabFolder.getSelectionIndex();
-		if (selectionIndex == 1) {
-			updateTranslation();
-		} else {
-			updateConstraint();
-		}
-		super.okPressed();
-	}
-
-	private void updateTranslation() {
-		// TODO add custom token model checker
-		success = true;
-		constraint = new ConstraintImpl();
-		constraint.setConstraint(null);
-		constraint.setConstraint(getConstraintText());
-		constraint.setName(nameText.getText());
-		try {
-			constraint.setPriority(Integer.parseInt(priorityText.getText()));
-		} catch (NumberFormatException exc) {
-			constraint.setPriority(1);
-		}
-	}
-
-	public boolean isSuccess() {
-		return success;
-	}
-
-	public void updateConstraint() {
-		constraint = new ConstraintImpl();
-		if (!alwaysTrue.getSelection()) {
-			constraint.setConstraint(getConstraintText());
-		} else {
-			constraint.setConstraint("eval(true)");
-		}
-		constraint.setName(nameText.getText());
-		try {
-			constraint.setPriority(Integer.parseInt(priorityText.getText()));
-		} catch (NumberFormatException exc) {
-			constraint.setPriority(1);
-		}
-	}
-
-	public Constraint getConstraint() {
-		return constraint;
-	}
-
-	public void setConstraint(Constraint constraint) {
-		this.constraint = constraint;
-		if (constraint != null) {
-			if ("eval(true)".equals(constraint.getConstraint())) {
-				alwaysTrue.setSelection(true);
-			} else {
-				setConstraintText(constraint.getConstraint().toString());
-			}
-			tabFolder.setVisible(!alwaysTrue.getSelection());
-			nameText.setText(constraint.getName() == null ? "" : constraint
-					.getName());
-			priorityText.setText(constraint.getPriority() + "");
-			setConstraintText(constraint.getConstraint());
-		} else {
-			priorityText.setText("1");
-			nameText.setText("constraint");
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,323 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.editors.DRLSourceViewerConfig;
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.drools.ruleflow.core.Constraint;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.drools.ruleflow.core.impl.ConstraintImpl;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Dialog for editing constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowConstraintDialog extends Dialog {
+
+	private Constraint constraint;
+	private RuleFlowProcess process;
+	private boolean success;
+	private Button alwaysTrue;
+	private Text nameText;
+	private Text priorityText;
+	private TabFolder tabFolder;
+	private SourceViewer constraintViewer;
+	private ConstraintCompletionProcessor completionProcessor;
+
+	public RuleFlowConstraintDialog(Shell parentShell, RuleFlowProcess process) {
+		super(parentShell);
+		this.process = process;
+		setShellStyle(getShellStyle() | SWT.RESIZE);
+	}
+
+	protected void configureShell(Shell newShell) {
+		super.configureShell(newShell);
+		newShell.setText("Constraint editor");
+	}
+
+	protected Point getInitialSize() {
+		return new Point(600, 450);
+	}
+
+	private Control createTextualEditor(Composite parent) {
+		constraintViewer = new SourceViewer(parent, null, SWT.BORDER);
+		constraintViewer.configure(new DRLSourceViewerConfig(null) {
+			public IReconciler getReconciler(ISourceViewer sourceViewer) {
+				return null;
+			}
+			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+				ContentAssistant assistant = new ContentAssistant();
+				completionProcessor = new ConstraintCompletionProcessor(process);
+				assistant.setContentAssistProcessor(
+					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
+				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+				return assistant;
+			}
+		});
+		IDocument document = new Document();
+		constraintViewer.setDocument(document);
+		IDocumentPartitioner partitioner =
+            new FastPartitioner(
+                new DRLPartionScanner(),
+                DRLPartionScanner.LEGAL_CONTENT_TYPES);
+        partitioner.connect(document);
+        document.setDocumentPartitioner(partitioner);
+        constraintViewer.getControl().addKeyListener(new KeyListener() {
+			public void keyPressed(KeyEvent e) {
+				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
+					constraintViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
+				}
+			}
+			public void keyReleased(KeyEvent e) {
+			}
+        });
+		return constraintViewer.getControl();
+	}
+	
+	private String getConstraintText() {
+		return constraintViewer.getDocument().get();
+	}
+	
+	private void setConstraintText(String text) {
+		constraintViewer.getDocument().set(text);
+	}
+
+	public Control createDialogArea(Composite parent) {
+
+		GridLayout layout = new GridLayout();
+		parent.setLayout(layout);
+		layout.numColumns = 2;
+
+		Composite top = new Composite(parent, SWT.NONE);
+		GridData gd = new GridData();
+		gd.horizontalSpan = 2;
+		gd.grabExcessHorizontalSpace = true;
+		top.setLayoutData(gd);
+
+		layout = new GridLayout();
+		layout.numColumns = 4;
+		top.setLayout(layout);
+
+		Label l1 = new Label(top, SWT.None);
+		l1.setText("Name:");
+		gd = new GridData();
+		l1.setLayoutData(gd);
+		nameText = new Text(top, SWT.BORDER);
+		gd = new GridData();
+		gd.horizontalAlignment = GridData.FILL;
+		gd.widthHint = 200;
+		gd.horizontalSpan = 3;
+		nameText.setLayoutData(gd);
+
+		Label l2 = new Label(top, SWT.NONE);
+		gd = new GridData();
+		l2.setLayoutData(gd);
+		l2.setText("Priority:");
+		priorityText = new Text(top, SWT.BORDER);
+		gd = new GridData();
+		gd.widthHint = 200;
+		gd.horizontalSpan = 3;
+		priorityText.setLayoutData(gd);
+
+		alwaysTrue = new Button(top, SWT.CHECK);
+		alwaysTrue.setText("Always true");
+		gd = new GridData();
+		gd.horizontalSpan = 2;
+		alwaysTrue.setLayoutData(gd);
+		
+		Button importButton = new Button(top, SWT.PUSH);
+		importButton.setText("Imports ...");
+		importButton.setFont(JFaceResources.getDialogFont());
+		importButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				importButtonPressed();
+			}
+		});
+		gd = new GridData();
+		gd.grabExcessHorizontalSpace = true;
+		gd.horizontalAlignment = GridData.END;
+		importButton.setLayoutData(gd);
+
+		Button globalButton = new Button(top, SWT.PUSH);
+		globalButton.setText("Globals ...");
+		globalButton.setFont(JFaceResources.getDialogFont());
+		globalButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				globalButtonPressed();
+			}
+		});
+		gd = new GridData();
+		gd.horizontalAlignment = GridData.END;
+		globalButton.setLayoutData(gd);
+
+		tabFolder = new TabFolder(parent, SWT.NONE);
+		gd = new GridData();
+		gd.horizontalSpan = 4;
+		gd.grabExcessHorizontalSpace = true;
+		gd.grabExcessVerticalSpace = true;
+		gd.verticalAlignment = GridData.FILL;
+		gd.horizontalAlignment = GridData.FILL;
+		tabFolder.setLayoutData(gd);
+		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
+		textEditorTab.setText("Textual Editor");
+
+		textEditorTab.setControl(createTextualEditor(tabFolder));
+
+		alwaysTrue.addSelectionListener(new SelectionListener() {
+			public void widgetSelected(SelectionEvent e) {
+				tabFolder.setVisible(!alwaysTrue.getSelection());
+			}
+
+			public void widgetDefaultSelected(SelectionEvent e) {
+				widgetSelected(e);
+			}
+		});
+
+		return tabFolder;
+	}
+	
+	private void importButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowImportsDialog dialog =
+					new RuleFlowImportsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					List imports = dialog.getImports();
+					process.setImports(imports);
+					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+
+	private void globalButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowGlobalsDialog dialog =
+					new RuleFlowGlobalsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					Map globals = dialog.getGlobals();
+					process.setGlobals(globals);
+					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+
+	protected void okPressed() {
+		int selectionIndex = tabFolder.getSelectionIndex();
+		if (selectionIndex == 1) {
+			updateTranslation();
+		} else {
+			updateConstraint();
+		}
+		super.okPressed();
+	}
+
+	private void updateTranslation() {
+		// TODO add custom token model checker
+		success = true;
+		constraint = new ConstraintImpl();
+		constraint.setConstraint(null);
+		constraint.setConstraint(getConstraintText());
+		constraint.setName(nameText.getText());
+		try {
+			constraint.setPriority(Integer.parseInt(priorityText.getText()));
+		} catch (NumberFormatException exc) {
+			constraint.setPriority(1);
+		}
+	}
+
+	public boolean isSuccess() {
+		return success;
+	}
+
+	public void updateConstraint() {
+		constraint = new ConstraintImpl();
+		if (!alwaysTrue.getSelection()) {
+			constraint.setConstraint(getConstraintText());
+		} else {
+			constraint.setConstraint("eval(true)");
+		}
+		constraint.setName(nameText.getText());
+		try {
+			constraint.setPriority(Integer.parseInt(priorityText.getText()));
+		} catch (NumberFormatException exc) {
+			constraint.setPriority(1);
+		}
+	}
+
+	public Constraint getConstraint() {
+		return constraint;
+	}
+
+	public void setConstraint(Constraint constraint) {
+		this.constraint = constraint;
+		if (constraint != null) {
+			if ("eval(true)".equals(constraint.getConstraint())) {
+				alwaysTrue.setSelection(true);
+			} else {
+				setConstraintText(constraint.getConstraint().toString());
+			}
+			tabFolder.setVisible(!alwaysTrue.getSelection());
+			nameText.setText(constraint.getName() == null ? "" : constraint
+					.getName());
+			priorityText.setText(constraint.getPriority() + "");
+			setConstraintText(constraint.getConstraint());
+		} else {
+			priorityText.setText("1");
+			nameText.setText("constraint");
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,139 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.eclipse.editors.DRLSourceViewerConfig;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Dialog for editing imports.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowGlobalsDialog extends Dialog {
-
-	private static final Pattern GLOBAL_PATTERN = Pattern.compile(
-		"\\n\\s*global\\s+([^\\s;#]+)\\s+([^\\s;#]+);?", Pattern.DOTALL);
-	
-	private RuleFlowProcess process;
-	private boolean success;
-	private TabFolder tabFolder;
-	private SourceViewer globalsViewer;
-	private Map globals;
-
-	public RuleFlowGlobalsDialog(Shell parentShell, RuleFlowProcess process) {
-		super(parentShell);
-		this.process = process;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText("Globals editor");
-	}
-
-	protected Point getInitialSize() {
-		return new Point(600, 450);
-	}
-
-	private Control createTextualEditor(Composite parent) {
-		globalsViewer = new SourceViewer(parent, null, SWT.BORDER);
-		globalsViewer.configure(new DRLSourceViewerConfig(null) {
-			public IReconciler getReconciler(ISourceViewer sourceViewer) {
-				return null;
-			}
-			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-				return null;
-			}
-		});
-		IDocument document = new Document(getProcessImports());
-		globalsViewer.setDocument(document);
-		return globalsViewer.getControl();
-	}
-	
-	private String getProcessImports() {
-		String result = "# define your globals here: e.g. global java.util.List myList\n";
-		Map globals = process.getGlobals();
-		if (globals != null) {
-			for (Iterator iterator = globals.entrySet().iterator(); iterator.hasNext(); ) {
-				Map.Entry entry = (Map.Entry) iterator.next();
-				result += "global " + entry.getValue() + " " + entry.getKey() + "\n";
-			}
-		}
-		return result;
-	}
-	
-	public Control createDialogArea(Composite parent) {
-		GridLayout layout = new GridLayout();
-		parent.setLayout(layout);
-		layout.numColumns = 1;
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		GridData gd = new GridData();
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		tabFolder.setLayoutData(gd);
-		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
-		textEditorTab.setText("Globals");
-		textEditorTab.setControl(createTextualEditor(tabFolder));
-		return tabFolder;
-	}
-	
-	protected void okPressed() {
-		success = true;
-		updateGlobals();
-		super.okPressed();
-	}
-
-	public boolean isSuccess() {
-		return success;
-	}
-
-	public Map getGlobals() {
-		return globals;
-	}
-	
-	private void updateGlobals() {
-		this.globals = new HashMap();
-		Matcher matcher = GLOBAL_PATTERN.matcher(globalsViewer.getDocument().get());
-		while (matcher.find()) {
-			this.globals.put(matcher.group(2), matcher.group(1));
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,139 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.eclipse.editors.DRLSourceViewerConfig;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+
+/**
+ * Dialog for editing imports.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowGlobalsDialog extends Dialog {
+
+	private static final Pattern GLOBAL_PATTERN = Pattern.compile(
+		"\\n\\s*global\\s+([^\\s;#]+)\\s+([^\\s;#]+);?", Pattern.DOTALL);
+	
+	private RuleFlowProcess process;
+	private boolean success;
+	private TabFolder tabFolder;
+	private SourceViewer globalsViewer;
+	private Map globals;
+
+	public RuleFlowGlobalsDialog(Shell parentShell, RuleFlowProcess process) {
+		super(parentShell);
+		this.process = process;
+		setShellStyle(getShellStyle() | SWT.RESIZE);
+	}
+
+	protected void configureShell(Shell newShell) {
+		super.configureShell(newShell);
+		newShell.setText("Globals editor");
+	}
+
+	protected Point getInitialSize() {
+		return new Point(600, 450);
+	}
+
+	private Control createTextualEditor(Composite parent) {
+		globalsViewer = new SourceViewer(parent, null, SWT.BORDER);
+		globalsViewer.configure(new DRLSourceViewerConfig(null) {
+			public IReconciler getReconciler(ISourceViewer sourceViewer) {
+				return null;
+			}
+			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+				return null;
+			}
+		});
+		IDocument document = new Document(getProcessImports());
+		globalsViewer.setDocument(document);
+		return globalsViewer.getControl();
+	}
+	
+	private String getProcessImports() {
+		String result = "# define your globals here: e.g. global java.util.List myList\n";
+		Map globals = process.getGlobals();
+		if (globals != null) {
+			for (Iterator iterator = globals.entrySet().iterator(); iterator.hasNext(); ) {
+				Map.Entry entry = (Map.Entry) iterator.next();
+				result += "global " + entry.getValue() + " " + entry.getKey() + "\n";
+			}
+		}
+		return result;
+	}
+	
+	public Control createDialogArea(Composite parent) {
+		GridLayout layout = new GridLayout();
+		parent.setLayout(layout);
+		layout.numColumns = 1;
+		tabFolder = new TabFolder(parent, SWT.NONE);
+		GridData gd = new GridData();
+		gd.grabExcessHorizontalSpace = true;
+		gd.grabExcessVerticalSpace = true;
+		gd.verticalAlignment = GridData.FILL;
+		gd.horizontalAlignment = GridData.FILL;
+		tabFolder.setLayoutData(gd);
+		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
+		textEditorTab.setText("Globals");
+		textEditorTab.setControl(createTextualEditor(tabFolder));
+		return tabFolder;
+	}
+	
+	protected void okPressed() {
+		success = true;
+		updateGlobals();
+		super.okPressed();
+	}
+
+	public boolean isSuccess() {
+		return success;
+	}
+
+	public Map getGlobals() {
+		return globals;
+	}
+	
+	private void updateGlobals() {
+		this.globals = new HashMap();
+		Matcher matcher = GLOBAL_PATTERN.matcher(globalsViewer.getDocument().get());
+		while (matcher.find()) {
+			this.globals.put(matcher.group(2), matcher.group(1));
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,165 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.eclipse.editors.DRLSourceViewerConfig;
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Dialog for editing imports.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowImportsDialog extends Dialog {
-
-	private static final Pattern IMPORT_PATTERN = Pattern.compile(
-		"\\n\\s*import\\s+([^\\s;#]+);?", Pattern.DOTALL);
-	
-	private RuleFlowProcess process;
-	private boolean success;
-	private TabFolder tabFolder;
-	private SourceViewer importsViewer;
-	private List imports;
-
-	public RuleFlowImportsDialog(Shell parentShell, RuleFlowProcess process) {
-		super(parentShell);
-		this.process = process;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText("Imports editor");
-	}
-
-	protected Point getInitialSize() {
-		return new Point(600, 450);
-	}
-
-	private Control createTextualEditor(Composite parent) {
-		importsViewer = new SourceViewer(parent, null, SWT.BORDER);
-		importsViewer.configure(new DRLSourceViewerConfig(null) {
-			public IReconciler getReconciler(ISourceViewer sourceViewer) {
-				return null;
-			}
-			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-				ContentAssistant assistant = new ContentAssistant();
-				IContentAssistProcessor completionProcessor = new ImportCompletionProcessor();
-				assistant.setContentAssistProcessor(
-					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-				return assistant;
-			}
-		});
-		IDocument document = new Document(getProcessImports());
-		importsViewer.setDocument(document);
-		IDocumentPartitioner partitioner =
-            new FastPartitioner(
-                new DRLPartionScanner(),
-                DRLPartionScanner.LEGAL_CONTENT_TYPES);
-        partitioner.connect(document);
-        document.setDocumentPartitioner(partitioner);
-        importsViewer.getControl().addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
-					importsViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-				}
-			}
-			public void keyReleased(KeyEvent e) {
-			}
-        });
-		return importsViewer.getControl();
-	}
-	
-	private String getProcessImports() {
-		String result = "# define your imports here: e.g. import com.sample.MyClass\n";
-		List imports = process.getImports();
-		if (imports != null) {
-			for (Iterator iterator = imports.iterator(); iterator.hasNext(); ) {
-				result += "import " + (String) iterator.next() + "\n";
-			}
-		}
-		return result;
-	}
-	
-	public Control createDialogArea(Composite parent) {
-		GridLayout layout = new GridLayout();
-		parent.setLayout(layout);
-		layout.numColumns = 1;
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		GridData gd = new GridData();
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		tabFolder.setLayoutData(gd);
-		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
-		textEditorTab.setText("Imports");
-		textEditorTab.setControl(createTextualEditor(tabFolder));
-		return tabFolder;
-	}
-	
-	protected void okPressed() {
-		success = true;
-		updateImports();
-		super.okPressed();
-	}
-
-	public boolean isSuccess() {
-		return success;
-	}
-
-	public List getImports() {
-		return imports;
-	}
-	
-	private void updateImports() {
-		this.imports = new ArrayList();
-		Matcher matcher = IMPORT_PATTERN.matcher(importsViewer.getDocument().get());
-		while (matcher.find()) {
-			this.imports.add(matcher.group(1));
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,165 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.eclipse.editors.DRLSourceViewerConfig;
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+
+/**
+ * Dialog for editing imports.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowImportsDialog extends Dialog {
+
+	private static final Pattern IMPORT_PATTERN = Pattern.compile(
+		"\\n\\s*import\\s+([^\\s;#]+);?", Pattern.DOTALL);
+	
+	private RuleFlowProcess process;
+	private boolean success;
+	private TabFolder tabFolder;
+	private SourceViewer importsViewer;
+	private List imports;
+
+	public RuleFlowImportsDialog(Shell parentShell, RuleFlowProcess process) {
+		super(parentShell);
+		this.process = process;
+		setShellStyle(getShellStyle() | SWT.RESIZE);
+	}
+
+	protected void configureShell(Shell newShell) {
+		super.configureShell(newShell);
+		newShell.setText("Imports editor");
+	}
+
+	protected Point getInitialSize() {
+		return new Point(600, 450);
+	}
+
+	private Control createTextualEditor(Composite parent) {
+		importsViewer = new SourceViewer(parent, null, SWT.BORDER);
+		importsViewer.configure(new DRLSourceViewerConfig(null) {
+			public IReconciler getReconciler(ISourceViewer sourceViewer) {
+				return null;
+			}
+			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+				ContentAssistant assistant = new ContentAssistant();
+				IContentAssistProcessor completionProcessor = new ImportCompletionProcessor();
+				assistant.setContentAssistProcessor(
+					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
+				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+				return assistant;
+			}
+		});
+		IDocument document = new Document(getProcessImports());
+		importsViewer.setDocument(document);
+		IDocumentPartitioner partitioner =
+            new FastPartitioner(
+                new DRLPartionScanner(),
+                DRLPartionScanner.LEGAL_CONTENT_TYPES);
+        partitioner.connect(document);
+        document.setDocumentPartitioner(partitioner);
+        importsViewer.getControl().addKeyListener(new KeyListener() {
+			public void keyPressed(KeyEvent e) {
+				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
+					importsViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
+				}
+			}
+			public void keyReleased(KeyEvent e) {
+			}
+        });
+		return importsViewer.getControl();
+	}
+	
+	private String getProcessImports() {
+		String result = "# define your imports here: e.g. import com.sample.MyClass\n";
+		List imports = process.getImports();
+		if (imports != null) {
+			for (Iterator iterator = imports.iterator(); iterator.hasNext(); ) {
+				result += "import " + (String) iterator.next() + "\n";
+			}
+		}
+		return result;
+	}
+	
+	public Control createDialogArea(Composite parent) {
+		GridLayout layout = new GridLayout();
+		parent.setLayout(layout);
+		layout.numColumns = 1;
+		tabFolder = new TabFolder(parent, SWT.NONE);
+		GridData gd = new GridData();
+		gd.grabExcessHorizontalSpace = true;
+		gd.grabExcessVerticalSpace = true;
+		gd.verticalAlignment = GridData.FILL;
+		gd.horizontalAlignment = GridData.FILL;
+		tabFolder.setLayoutData(gd);
+		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
+		textEditorTab.setText("Imports");
+		textEditorTab.setControl(createTextualEditor(tabFolder));
+		return tabFolder;
+	}
+	
+	protected void okPressed() {
+		success = true;
+		updateImports();
+		super.okPressed();
+	}
+
+	public boolean isSuccess() {
+		return success;
+	}
+
+	public List getImports() {
+		return imports;
+	}
+	
+	private void updateImports() {
+		this.imports = new ArrayList();
+		Matcher matcher = IMPORT_PATTERN.matcher(importsViewer.getDocument().get());
+		while (matcher.find()) {
+			this.imports.add(matcher.group(1));
+		}
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,151 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.variable;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.datatype.DefaultDataTypeRegistry;
-import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.DataTypeCombo;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.DataTypeEditorComposite;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.EditorComposite;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.core.Variable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Dialog for editing variables.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class VariableDialog extends EditBeanDialog {
-    
-    private Text nameText;
-    private DataTypeCombo dataTypeCombo;
-    private DataTypeEditorComposite dataTypeEditorComposite;
-    private EditorComposite editorComposite;
-
-    public VariableDialog(Shell parentShell) {
-        super(parentShell, "Edit Variable");
-    }
-    
-    protected Control createDialogArea(Composite parent) {
-        final Composite composite = (Composite) super.createDialogArea(parent);
-        GridLayout gridLayout = new GridLayout();
-        gridLayout.numColumns = 2;
-        composite.setLayout(gridLayout);
-        
-        Label nameLabel = new Label(composite, SWT.NONE);
-        nameLabel.setText("Name: ");
-        nameText = new Text(composite, SWT.NONE);
-        GridData gridData = new GridData();
-        gridData.grabExcessHorizontalSpace = true;
-        gridData.horizontalAlignment = GridData.FILL;
-        nameText.setLayoutData(gridData);
-        String name = ((Variable) getValue()).getName();
-        nameText.setText(name == null ? "" : name);
-
-        Label typeLabel = new Label(composite, SWT.NONE);
-        typeLabel.setText("Type: ");
-        
-        dataTypeCombo = new DataTypeCombo(composite,
-    		SWT.NONE, DefaultDataTypeRegistry.getInstance());
-        DataType dataType = ((Variable) getValue()).getType();
-        dataTypeCombo.setDataType(dataType);
-        dataTypeCombo.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				DataType dataType = dataTypeCombo.getDataType();
-				dataTypeEditorComposite.setDataType(dataType);
-				editorComposite.setDataType(dataType);
-				composite.layout();
-			}
-        });
-        
-    	new Label(composite, SWT.NONE);
-        
-        dataTypeEditorComposite = new DataTypeEditorComposite(composite,
-            SWT.NONE, DefaultDataTypeRegistry.getInstance());
-        gridData = new GridData();
-        gridData.grabExcessHorizontalSpace = true;
-        gridData.horizontalAlignment = GridData.FILL;
-        dataTypeEditorComposite.setLayoutData(gridData);
-        dataTypeEditorComposite.setDataType(dataType);
-        dataTypeEditorComposite.addListener(new DataTypeEditor.DataTypeListener() {
-            public void dataTypeChanged(DataType dataType) {
-                editorComposite.setDataType(dataType);
-                composite.layout();
-            }
-        });
-        
-        Label valueLabel = new Label(composite, SWT.NONE);
-        valueLabel.setText("Value: ");
-        gridData = new GridData();
-        gridData.verticalAlignment = SWT.TOP;
-        valueLabel.setLayoutData(gridData);
-        editorComposite = new EditorComposite(composite,
-            SWT.NONE, DefaultDataTypeRegistry.getInstance());
-        gridData = new GridData();
-        gridData.horizontalAlignment = GridData.FILL;
-        gridData.grabExcessHorizontalSpace = true;
-        editorComposite.setLayoutData(gridData);
-        editorComposite.setDataType(dataType);
-        editorComposite.setValue(((Variable) getValue()).getValue());
-        
-        Composite bottom = new Composite(composite, SWT.NONE);
-        gridData = new GridData();
-        gridData.grabExcessVerticalSpace = true;
-        gridData.horizontalSpan = 2;
-        bottom.setLayoutData(gridData);
-        
-        return composite;
-    }
-    
-    protected Object updateValue(Object value) {
-        Variable variable = (Variable) getValue();
-        variable.setName(nameText.getText());
-        try {
-            variable.setType(dataTypeEditorComposite.getDataType());
-        } catch (IllegalArgumentException e) {
-            showError(e.getMessage());
-            throw e;
-        }
-        try {
-            variable.setValue(editorComposite.getValue());
-        } catch (IllegalArgumentException e) {
-            showError(e.getMessage());
-            throw e;
-        }
-        return variable;
-    }
-    
-    private void showError(String error) {
-        ErrorDialog.openError(getShell(), "Error", error, new Status(
-            IStatus.ERROR, DroolsEclipsePlugin.getDefault().getBundle().getSymbolicName(),
-            IStatus.ERROR, error, null));
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,151 @@
+package org.drools.eclipse.flow.ruleflow.view.property.variable;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.datatype.DefaultDataTypeRegistry;
+import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.DataTypeCombo;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.DataTypeEditorComposite;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.EditorComposite;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.core.Variable;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Dialog for editing variables.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class VariableDialog extends EditBeanDialog {
+    
+    private Text nameText;
+    private DataTypeCombo dataTypeCombo;
+    private DataTypeEditorComposite dataTypeEditorComposite;
+    private EditorComposite editorComposite;
+
+    public VariableDialog(Shell parentShell) {
+        super(parentShell, "Edit Variable");
+    }
+    
+    protected Control createDialogArea(Composite parent) {
+        final Composite composite = (Composite) super.createDialogArea(parent);
+        GridLayout gridLayout = new GridLayout();
+        gridLayout.numColumns = 2;
+        composite.setLayout(gridLayout);
+        
+        Label nameLabel = new Label(composite, SWT.NONE);
+        nameLabel.setText("Name: ");
+        nameText = new Text(composite, SWT.NONE);
+        GridData gridData = new GridData();
+        gridData.grabExcessHorizontalSpace = true;
+        gridData.horizontalAlignment = GridData.FILL;
+        nameText.setLayoutData(gridData);
+        String name = ((Variable) getValue()).getName();
+        nameText.setText(name == null ? "" : name);
+
+        Label typeLabel = new Label(composite, SWT.NONE);
+        typeLabel.setText("Type: ");
+        
+        dataTypeCombo = new DataTypeCombo(composite,
+    		SWT.NONE, DefaultDataTypeRegistry.getInstance());
+        DataType dataType = ((Variable) getValue()).getType();
+        dataTypeCombo.setDataType(dataType);
+        dataTypeCombo.addSelectionChangedListener(new ISelectionChangedListener() {
+			public void selectionChanged(SelectionChangedEvent event) {
+				DataType dataType = dataTypeCombo.getDataType();
+				dataTypeEditorComposite.setDataType(dataType);
+				editorComposite.setDataType(dataType);
+				composite.layout();
+			}
+        });
+        
+    	new Label(composite, SWT.NONE);
+        
+        dataTypeEditorComposite = new DataTypeEditorComposite(composite,
+            SWT.NONE, DefaultDataTypeRegistry.getInstance());
+        gridData = new GridData();
+        gridData.grabExcessHorizontalSpace = true;
+        gridData.horizontalAlignment = GridData.FILL;
+        dataTypeEditorComposite.setLayoutData(gridData);
+        dataTypeEditorComposite.setDataType(dataType);
+        dataTypeEditorComposite.addListener(new DataTypeEditor.DataTypeListener() {
+            public void dataTypeChanged(DataType dataType) {
+                editorComposite.setDataType(dataType);
+                composite.layout();
+            }
+        });
+        
+        Label valueLabel = new Label(composite, SWT.NONE);
+        valueLabel.setText("Value: ");
+        gridData = new GridData();
+        gridData.verticalAlignment = SWT.TOP;
+        valueLabel.setLayoutData(gridData);
+        editorComposite = new EditorComposite(composite,
+            SWT.NONE, DefaultDataTypeRegistry.getInstance());
+        gridData = new GridData();
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.grabExcessHorizontalSpace = true;
+        editorComposite.setLayoutData(gridData);
+        editorComposite.setDataType(dataType);
+        editorComposite.setValue(((Variable) getValue()).getValue());
+        
+        Composite bottom = new Composite(composite, SWT.NONE);
+        gridData = new GridData();
+        gridData.grabExcessVerticalSpace = true;
+        gridData.horizontalSpan = 2;
+        bottom.setLayoutData(gridData);
+        
+        return composite;
+    }
+    
+    protected Object updateValue(Object value) {
+        Variable variable = (Variable) getValue();
+        variable.setName(nameText.getText());
+        try {
+            variable.setType(dataTypeEditorComposite.getDataType());
+        } catch (IllegalArgumentException e) {
+            showError(e.getMessage());
+            throw e;
+        }
+        try {
+            variable.setValue(editorComposite.getValue());
+        } catch (IllegalArgumentException e) {
+            showError(e.getMessage());
+            throw e;
+        }
+        return variable;
+    }
+    
+    private void showError(String error) {
+        ErrorDialog.openError(getShell(), "Error", error, new Status(
+            IStatus.ERROR, DroolsEclipsePlugin.getDefault().getBundle().getSymbolicName(),
+            IStatus.ERROR, error, null));
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.variable;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Cell edtior for variables.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class VariableListCellEditor extends BeanDialogCellEditor {
-
-    public VariableListCellEditor(Composite parent) {
-        super(parent);
-    }
-
-    protected EditBeanDialog createDialog(Shell shell) {
-        return new VariableListDialog(shell);
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.flow.ruleflow.view.property.variable;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell edtior for variables.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class VariableListCellEditor extends BeanDialogCellEditor {
+
+    public VariableListCellEditor(Composite parent) {
+        super(parent);
+    }
+
+    protected EditBeanDialog createDialog(Shell shell) {
+        return new VariableListDialog(shell);
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,36 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.variable;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.view.property.EditListDialog;
-import org.drools.ruleflow.core.impl.VariableImpl;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog for editing a list of variables.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class VariableListDialog extends EditListDialog {
-    
-    protected VariableListDialog(Shell parentShell) {
-        super(parentShell, "Variable List Editor", VariableDialog.class);
-    }
-
-    protected Object createItem() {
-        return new VariableImpl();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,36 @@
+package org.drools.eclipse.flow.ruleflow.view.property.variable;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.view.property.EditListDialog;
+import org.drools.ruleflow.core.impl.VariableImpl;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Dialog for editing a list of variables.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class VariableListDialog extends EditListDialog {
+    
+    protected VariableListDialog(Shell parentShell) {
+        super(parentShell, "Variable List Editor", VariableDialog.class);
+    }
+
+    protected Object createItem() {
+        return new VariableImpl();
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,17 +0,0 @@
-package org.drools.eclipse.launching;
-
-import org.drools.eclipse.debug.core.IDroolsDebugConstants;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;
-
-public class DroolsApplicationLaunchShortcut extends JavaApplicationLaunchShortcut {
-
-	protected ILaunchConfigurationType getConfigurationType() {
-		return getLaunchManager().getLaunchConfigurationType(IDroolsDebugConstants.LAUNCH_CONFIGURATION_TYPE);		
-	}
-
-	protected String getTypeSelectionTitle() {
-		return "Select Drools Application";
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,17 @@
+package org.drools.eclipse.launching;
+
+import org.drools.eclipse.debug.core.IDroolsDebugConstants;
+import org.eclipse.debug.core.ILaunchConfigurationType;
+import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;
+
+public class DroolsApplicationLaunchShortcut extends JavaApplicationLaunchShortcut {
+
+	protected ILaunchConfigurationType getConfigurationType() {
+		return getLaunchManager().getLaunchConfigurationType(IDroolsDebugConstants.LAUNCH_CONFIGURATION_TYPE);		
+	}
+
+	protected String getTypeSelectionTitle() {
+		return "Select Drools Application";
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-package org.drools.eclipse.launching;
-
-import java.text.MessageFormat;
-
-import org.drools.eclipse.debug.core.IDroolsDebugConstants;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMRunner;
-import org.eclipse.jdt.launching.JavaLaunchDelegate;
-
-public class DroolsLaunchConfigurationDelegate extends JavaLaunchDelegate {
-
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		if (monitor == null) {
-            monitor = new NullProgressMonitor();
-		}
-		if (monitor.isCanceled()) {
-			return;
-		}
-		// TODO make sure that all DRLs needed during execution are built and cached
-		super.launch(configuration, mode, launch, monitor);
-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			// TODO only retrieve breakpoints of this project or any
-			// of its dependent projects
-			IBreakpoint[] breakpoints = getDroolsBreakpoints();
-			for (int i = 0; i < breakpoints.length; i++) {
-				launch.getDebugTarget().breakpointAdded(breakpoints[i]);
-			}
-		}
-	}
-	
-	private IBreakpoint[] getDroolsBreakpoints() {
-		return DebugPlugin.getDefault().getBreakpointManager()
-             .getBreakpoints(IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL);
-    }
-
-	public IVMRunner getVMRunner(ILaunchConfiguration configuration, String mode) throws CoreException {
-		IVMInstall vm = verifyVMInstall(configuration);
-		IVMRunner runner = new DroolsVMDebugger(vm);
-		if (runner == null) {
-			abort(MessageFormat.format(LaunchingMessages.JavaLocalApplicationLaunchConfigurationDelegate_0, new String[]{vm.getName(), mode}), null, IJavaLaunchConfigurationConstants.ERR_VM_RUNNER_DOES_NOT_EXIST); 
-		}
-		return runner;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+package org.drools.eclipse.launching;
+
+import java.text.MessageFormat;
+
+import org.drools.eclipse.debug.core.IDroolsDebugConstants;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.jdt.internal.launching.LaunchingMessages;
+import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.IVMRunner;
+import org.eclipse.jdt.launching.JavaLaunchDelegate;
+
+public class DroolsLaunchConfigurationDelegate extends JavaLaunchDelegate {
+
+	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
+		if (monitor == null) {
+            monitor = new NullProgressMonitor();
+		}
+		if (monitor.isCanceled()) {
+			return;
+		}
+		// TODO make sure that all DRLs needed during execution are built and cached
+		super.launch(configuration, mode, launch, monitor);
+		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
+			// TODO only retrieve breakpoints of this project or any
+			// of its dependent projects
+			IBreakpoint[] breakpoints = getDroolsBreakpoints();
+			for (int i = 0; i < breakpoints.length; i++) {
+				launch.getDebugTarget().breakpointAdded(breakpoints[i]);
+			}
+		}
+	}
+	
+	private IBreakpoint[] getDroolsBreakpoints() {
+		return DebugPlugin.getDefault().getBreakpointManager()
+             .getBreakpoints(IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL);
+    }
+
+	public IVMRunner getVMRunner(ILaunchConfiguration configuration, String mode) throws CoreException {
+		IVMInstall vm = verifyVMInstall(configuration);
+		IVMRunner runner = new DroolsVMDebugger(vm);
+		if (runner == null) {
+			abort(MessageFormat.format(LaunchingMessages.JavaLocalApplicationLaunchConfigurationDelegate_0, new String[]{vm.getName(), mode}), null, IJavaLaunchConfigurationConstants.ERR_VM_RUNNER_DOES_NOT_EXIST); 
+		}
+		return runner;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,12 +0,0 @@
-package org.drools.eclipse.launching;
-
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant;
-
-public class DroolsSourceLookupDirector extends AbstractSourceLookupDirector {
-
-	public void initializeParticipants() {
-		addParticipants(new ISourceLookupParticipant[]{new MVELSourceLookupParticipant(), new DroolsSourceLookupParticipant()} );
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,12 @@
+package org.drools.eclipse.launching;
+
+import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
+import org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant;
+
+public class DroolsSourceLookupDirector extends AbstractSourceLookupDirector {
+
+	public void initializeParticipants() {
+		addParticipants(new ISourceLookupParticipant[]{new MVELSourceLookupParticipant(), new DroolsSourceLookupParticipant()} );
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,26 +0,0 @@
-package org.drools.eclipse.launching;
-
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.debug.core.DroolsStackFrame;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.launching.sourcelookup.containers.JavaSourceLookupParticipant;
-
-public class DroolsSourceLookupParticipant extends JavaSourceLookupParticipant {
-
-	public String getSourceName(Object object) throws CoreException {
-		if (object instanceof DroolsStackFrame) {
-			RuleInfo ruleInfo = ((DroolsStackFrame) object).getExecutingRuleInfo();
-			if (ruleInfo != null) {
-                String p = ruleInfo.getSourcePathName();
-				return p;
-			}
-			FunctionInfo functionInfo = ((DroolsStackFrame) object).getExecutingFunctionInfo();
-			if (functionInfo != null) {
-				return functionInfo.getSourcePathName();
-			}
-		}
-		return super.getSourceName(object);
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,26 @@
+package org.drools.eclipse.launching;
+
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.debug.core.DroolsStackFrame;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.launching.sourcelookup.containers.JavaSourceLookupParticipant;
+
+public class DroolsSourceLookupParticipant extends JavaSourceLookupParticipant {
+
+	public String getSourceName(Object object) throws CoreException {
+		if (object instanceof DroolsStackFrame) {
+			RuleInfo ruleInfo = ((DroolsStackFrame) object).getExecutingRuleInfo();
+			if (ruleInfo != null) {
+                String p = ruleInfo.getSourcePathName();
+				return p;
+			}
+			FunctionInfo functionInfo = ((DroolsStackFrame) object).getExecutingFunctionInfo();
+			if (functionInfo != null) {
+				return functionInfo.getSourcePathName();
+			}
+		}
+		return super.getSourceName(object);
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-package org.drools.eclipse.launching;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.WorkspaceSourceContainer;
-
-public class DroolsSourcePathComputerDelegate implements ISourcePathComputerDelegate {
-
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
-		// TODO this shows up the rule in the bin dir
-		// should try to reuse JavaSourcePathComputer
-		return new ISourceContainer[] {new WorkspaceSourceContainer()};
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+package org.drools.eclipse.launching;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.sourcelookup.ISourceContainer;
+import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
+import org.eclipse.debug.core.sourcelookup.containers.WorkspaceSourceContainer;
+
+public class DroolsSourcePathComputerDelegate implements ISourcePathComputerDelegate {
+
+	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
+		// TODO this shows up the rule in the bin dir
+		// should try to reuse JavaSourcePathComputer
+		return new ISourceContainer[] {new WorkspaceSourceContainer()};
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,319 +0,0 @@
-package org.drools.eclipse.launching;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.base.mvel.MVELDebugHandler;
-import org.drools.eclipse.debug.core.DroolsDebugModel;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.jdi.Bootstrap;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-import org.eclipse.jdt.internal.launching.LibraryInfo;
-import org.eclipse.jdt.internal.launching.StandardVMDebugger;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.SocketUtil;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-
-import com.sun.jdi.VirtualMachine;
-import com.sun.jdi.connect.Connector;
-import com.sun.jdi.connect.IllegalConnectorArgumentsException;
-import com.sun.jdi.connect.ListeningConnector;
-
-public class DroolsVMDebugger extends StandardVMDebugger {
-	
-	class ConnectRunnable implements Runnable {
-		
-		private VirtualMachine fVirtualMachine = null;
-		private ListeningConnector fConnector = null;
-		private Map fConnectionMap = null;
-		private Exception fException = null;
-		
-		public ConnectRunnable(ListeningConnector connector, Map map) {
-			fConnector = connector;
-			fConnectionMap = map;
-		}
-		
-		public void run() {
-			try {
-				fVirtualMachine = fConnector.accept(fConnectionMap);
-			} catch (IOException e) {
-				fException = e;
-			} catch (IllegalConnectorArgumentsException e) {
-				fException = e;
-			}
-		}
-		
-		public VirtualMachine getVirtualMachine() {
-			return fVirtualMachine;
-		}
-		
-		public Exception getException() {
-			return fException;
-		}
-	}
-
-	public DroolsVMDebugger(IVMInstall vmInstance) {
-		super(vmInstance);
-	}
-
-	public void run(VMRunnerConfiguration config, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		
-		IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);
-		subMonitor.beginTask(LaunchingMessages.StandardVMDebugger_Launching_VM____1, 4); 
-		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Finding_free_socket____2); 
-
-		int port= SocketUtil.findFreePort();
-		if (port == -1) {
-			abort(LaunchingMessages.StandardVMDebugger_Could_not_find_a_free_socket_for_the_debugger_1, null, IJavaLaunchConfigurationConstants.ERR_NO_SOCKET_AVAILABLE); 
-		}
-		
-		subMonitor.worked(1);
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}		
-		
-		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Constructing_command_line____3); 
-				
-		String program= constructProgramString(config);
-
-		List arguments= new ArrayList(12);
-
-		arguments.add(program);
-
-		// VM args are the first thing after the java program so that users can specify
-		// options like '-client' & '-server' which are required to be the first options
-		String[] allVMArgs = combineVmArgs(config, fVMInstance);
-		addArguments(allVMArgs, arguments);
-        arguments.add("-D"+MVELDebugHandler.DEBUG_LAUNCH_KEY+"=true");
-        
-		addBootClassPathArguments(arguments, config);
-		
-		String[] cp= config.getClassPath();
-		if (cp.length > 0) {
-			arguments.add("-classpath"); //$NON-NLS-1$
-			arguments.add(convertClassPath(cp));
-		}
-		double version = getJavaVersion();
-		if (version < 1.5) {
-			arguments.add("-Xdebug"); //$NON-NLS-1$
-			arguments.add("-Xnoagent"); //$NON-NLS-1$
-		}
-		
-		//check if java 1.4 or greater
-		if (version < 1.4) {
-			arguments.add("-Djava.compiler=NONE"); //$NON-NLS-1$
-		}
-		if (version < 1.5) { 
-			arguments.add("-Xrunjdwp:transport=dt_socket,suspend=y,address=localhost:" + port); //$NON-NLS-1$
-		} else {
-			arguments.add("-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:" + port); //$NON-NLS-1$
-		}
-
-		arguments.add(config.getClassToLaunch());
-		addArguments(config.getProgramArguments(), arguments);
-        
-		String[] cmdLine= new String[arguments.size()];
-		arguments.toArray(cmdLine);
-		
-		String[] envp= config.getEnvironment();
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}		
-		
-		subMonitor.worked(1);
-		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Starting_virtual_machine____4); 
-
-		ListeningConnector connector= getConnector();
-		if (connector == null) {
-			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_find_an_appropriate_debug_connector_2, null, IJavaLaunchConfigurationConstants.ERR_CONNECTOR_NOT_AVAILABLE); 
-		}
-		Map map= connector.defaultArguments();
-		
-		specifyArguments(map, port);
-		Process p= null;
-		try {
-			try {
-				// check for cancellation
-				if (monitor.isCanceled()) {
-					return;
-				}				
-				
-				connector.startListening(map);
-				
-				File workingDir = getWorkingDir(config);
-				p = exec(cmdLine, workingDir, envp);				
-				if (p == null) {
-					return;
-				}
-				
-				// check for cancellation
-				if (monitor.isCanceled()) {
-					p.destroy();
-					return;
-				}				
-				
-				IProcess process= newProcess(launch, p, renderProcessLabel(cmdLine), getDefaultProcessMap());
-				process.setAttribute(IProcess.ATTR_CMDLINE, renderCommandLine(cmdLine));
-				subMonitor.worked(1);
-				subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Establishing_debug_connection____5); 
-				boolean retry= false;
-				do  {
-					try {
-						
-						ConnectRunnable runnable = new ConnectRunnable(connector, map);
-						Thread connectThread = new Thread(runnable, "Listening Connector"); //$NON-NLS-1$
-                        connectThread.setDaemon(true);
-						connectThread.start();
-						while (connectThread.isAlive()) {
-							if (monitor.isCanceled()) {
-								connector.stopListening(map);
-								p.destroy();
-								return;
-							}
-							try {
-								p.exitValue();
-								// process has terminated - stop waiting for a connection
-								try {
-									connector.stopListening(map); 
-								} catch (IOException e) {
-									// expected
-								}
-								checkErrorMessage(process);
-							} catch (IllegalThreadStateException e) {
-								// expected while process is alive
-							}
-							try {
-								Thread.sleep(100);
-							} catch (InterruptedException e) {
-							}
-						}
-
-						Exception ex = runnable.getException();
-						if (ex instanceof IllegalConnectorArgumentsException)						 {
-							throw (IllegalConnectorArgumentsException)ex;
-						}
-						if (ex instanceof InterruptedIOException) {
-							throw (InterruptedIOException)ex;
-						}
-						if (ex instanceof IOException) {
-							throw (IOException)ex;
-						}
-						
-						VirtualMachine vm= runnable.getVirtualMachine();
-						if (vm != null) {
-							DroolsDebugModel.newDebugTarget(launch, vm, renderDebugTarget(config.getClassToLaunch(), port), process, true, false, config.isResumeOnStartup());
-							subMonitor.worked(1);
-							subMonitor.done();
-						}
-						return;
-					} catch (InterruptedIOException e) {
-						checkErrorMessage(process);
-						
-						// timeout, consult status handler if there is one
-						IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_VM_CONNECT_TIMEOUT, "", e); //$NON-NLS-1$
-						IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);
-						
-						retry= false;
-						if (handler == null) {
-							// if there is no handler, throw the exception
-							throw new CoreException(status);
-						} 
-						Object result = handler.handleStatus(status, this);
-						if (result instanceof Boolean) {
-							retry = ((Boolean)result).booleanValue();
-						}
-					}
-				} while (retry);
-			} finally {
-				connector.stopListening(map);
-			}
-		} catch (IOException e) {
-			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_connect_to_VM_4, e, IJavaLaunchConfigurationConstants.ERR_CONNECTION_FAILED);  
-		} catch (IllegalConnectorArgumentsException e) {
-			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_connect_to_VM_5, e, IJavaLaunchConfigurationConstants.ERR_CONNECTION_FAILED);  
-		}
-		if (p != null) {
-			p.destroy();
-		}
-	}
-	
-	private double getJavaVersion() {
-		LibraryInfo libInfo = LaunchingPlugin.getLibraryInfo(fVMInstance.getInstallLocation().getAbsolutePath());
-		if (libInfo == null) {
-		    return 0D;
-		}
-		String version = libInfo.getVersion();
-		int index = version.indexOf("."); //$NON-NLS-1$
-		int nextIndex = version.indexOf(".", index+1); //$NON-NLS-1$
-		try {
-			if (index > 0 && nextIndex>index) {
-				return Double.parseDouble(version.substring(0,nextIndex));
-			} 
-			return Double.parseDouble(version);
-		} catch (NumberFormatException e) {
-			return 0D;
-		}
-
-	}
-
-	protected void checkErrorMessage(IProcess process) throws CoreException {
-		IStreamsProxy streamsProxy = process.getStreamsProxy();
-		if (streamsProxy != null) {
-			String errorMessage= streamsProxy.getErrorStreamMonitor().getContents();
-			if (errorMessage.length() == 0) {
-				errorMessage= streamsProxy.getOutputStreamMonitor().getContents();
-			}
-			if (errorMessage.length() != 0) {
-				abort(errorMessage, null, IJavaLaunchConfigurationConstants.ERR_VM_LAUNCH_ERROR);
-			}
-		}										
-	}
-		
-	protected void specifyArguments(Map map, int portNumber) {
-		// XXX: Revisit - allows us to put a quote (") around the classpath
-		Connector.IntegerArgument port= (Connector.IntegerArgument) map.get("port"); //$NON-NLS-1$
-		port.setValue(portNumber);
-		
-		Connector.IntegerArgument timeoutArg= (Connector.IntegerArgument) map.get("timeout"); //$NON-NLS-1$
-		if (timeoutArg != null) {
-			int timeout = JavaRuntime.getPreferences().getInt(JavaRuntime.PREF_CONNECT_TIMEOUT);
-			timeoutArg.setValue(timeout);
-		}
-	}
-
-	protected ListeningConnector getConnector() {
-		List connectors= Bootstrap.virtualMachineManager().listeningConnectors();
-		for (int i= 0; i < connectors.size(); i++) {
-			ListeningConnector c= (ListeningConnector) connectors.get(i);
-			if ("com.sun.jdi.SocketListen".equals(c.name())) //$NON-NLS-1$
-				return c;
-		}
-		return null;
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,319 @@
+package org.drools.eclipse.launching;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InterruptedIOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.base.mvel.MVELDebugHandler;
+import org.drools.eclipse.debug.core.DroolsDebugModel;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.IStatusHandler;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.debug.core.model.IStreamsProxy;
+import org.eclipse.jdi.Bootstrap;
+import org.eclipse.jdt.internal.launching.LaunchingMessages;
+import org.eclipse.jdt.internal.launching.LaunchingPlugin;
+import org.eclipse.jdt.internal.launching.LibraryInfo;
+import org.eclipse.jdt.internal.launching.StandardVMDebugger;
+import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.JavaRuntime;
+import org.eclipse.jdt.launching.SocketUtil;
+import org.eclipse.jdt.launching.VMRunnerConfiguration;
+
+import com.sun.jdi.VirtualMachine;
+import com.sun.jdi.connect.Connector;
+import com.sun.jdi.connect.IllegalConnectorArgumentsException;
+import com.sun.jdi.connect.ListeningConnector;
+
+public class DroolsVMDebugger extends StandardVMDebugger {
+	
+	class ConnectRunnable implements Runnable {
+		
+		private VirtualMachine fVirtualMachine = null;
+		private ListeningConnector fConnector = null;
+		private Map fConnectionMap = null;
+		private Exception fException = null;
+		
+		public ConnectRunnable(ListeningConnector connector, Map map) {
+			fConnector = connector;
+			fConnectionMap = map;
+		}
+		
+		public void run() {
+			try {
+				fVirtualMachine = fConnector.accept(fConnectionMap);
+			} catch (IOException e) {
+				fException = e;
+			} catch (IllegalConnectorArgumentsException e) {
+				fException = e;
+			}
+		}
+		
+		public VirtualMachine getVirtualMachine() {
+			return fVirtualMachine;
+		}
+		
+		public Exception getException() {
+			return fException;
+		}
+	}
+
+	public DroolsVMDebugger(IVMInstall vmInstance) {
+		super(vmInstance);
+	}
+
+	public void run(VMRunnerConfiguration config, ILaunch launch, IProgressMonitor monitor) throws CoreException {
+
+		if (monitor == null) {
+			monitor = new NullProgressMonitor();
+		}
+		
+		IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);
+		subMonitor.beginTask(LaunchingMessages.StandardVMDebugger_Launching_VM____1, 4); 
+		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Finding_free_socket____2); 
+
+		int port= SocketUtil.findFreePort();
+		if (port == -1) {
+			abort(LaunchingMessages.StandardVMDebugger_Could_not_find_a_free_socket_for_the_debugger_1, null, IJavaLaunchConfigurationConstants.ERR_NO_SOCKET_AVAILABLE); 
+		}
+		
+		subMonitor.worked(1);
+		
+		// check for cancellation
+		if (monitor.isCanceled()) {
+			return;
+		}		
+		
+		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Constructing_command_line____3); 
+				
+		String program= constructProgramString(config);
+
+		List arguments= new ArrayList(12);
+
+		arguments.add(program);
+
+		// VM args are the first thing after the java program so that users can specify
+		// options like '-client' & '-server' which are required to be the first options
+		String[] allVMArgs = combineVmArgs(config, fVMInstance);
+		addArguments(allVMArgs, arguments);
+        arguments.add("-D"+MVELDebugHandler.DEBUG_LAUNCH_KEY+"=true");
+        
+		addBootClassPathArguments(arguments, config);
+		
+		String[] cp= config.getClassPath();
+		if (cp.length > 0) {
+			arguments.add("-classpath"); //$NON-NLS-1$
+			arguments.add(convertClassPath(cp));
+		}
+		double version = getJavaVersion();
+		if (version < 1.5) {
+			arguments.add("-Xdebug"); //$NON-NLS-1$
+			arguments.add("-Xnoagent"); //$NON-NLS-1$
+		}
+		
+		//check if java 1.4 or greater
+		if (version < 1.4) {
+			arguments.add("-Djava.compiler=NONE"); //$NON-NLS-1$
+		}
+		if (version < 1.5) { 
+			arguments.add("-Xrunjdwp:transport=dt_socket,suspend=y,address=localhost:" + port); //$NON-NLS-1$
+		} else {
+			arguments.add("-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:" + port); //$NON-NLS-1$
+		}
+
+		arguments.add(config.getClassToLaunch());
+		addArguments(config.getProgramArguments(), arguments);
+        
+		String[] cmdLine= new String[arguments.size()];
+		arguments.toArray(cmdLine);
+		
+		String[] envp= config.getEnvironment();
+		
+		// check for cancellation
+		if (monitor.isCanceled()) {
+			return;
+		}		
+		
+		subMonitor.worked(1);
+		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Starting_virtual_machine____4); 
+
+		ListeningConnector connector= getConnector();
+		if (connector == null) {
+			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_find_an_appropriate_debug_connector_2, null, IJavaLaunchConfigurationConstants.ERR_CONNECTOR_NOT_AVAILABLE); 
+		}
+		Map map= connector.defaultArguments();
+		
+		specifyArguments(map, port);
+		Process p= null;
+		try {
+			try {
+				// check for cancellation
+				if (monitor.isCanceled()) {
+					return;
+				}				
+				
+				connector.startListening(map);
+				
+				File workingDir = getWorkingDir(config);
+				p = exec(cmdLine, workingDir, envp);				
+				if (p == null) {
+					return;
+				}
+				
+				// check for cancellation
+				if (monitor.isCanceled()) {
+					p.destroy();
+					return;
+				}				
+				
+				IProcess process= newProcess(launch, p, renderProcessLabel(cmdLine), getDefaultProcessMap());
+				process.setAttribute(IProcess.ATTR_CMDLINE, renderCommandLine(cmdLine));
+				subMonitor.worked(1);
+				subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Establishing_debug_connection____5); 
+				boolean retry= false;
+				do  {
+					try {
+						
+						ConnectRunnable runnable = new ConnectRunnable(connector, map);
+						Thread connectThread = new Thread(runnable, "Listening Connector"); //$NON-NLS-1$
+                        connectThread.setDaemon(true);
+						connectThread.start();
+						while (connectThread.isAlive()) {
+							if (monitor.isCanceled()) {
+								connector.stopListening(map);
+								p.destroy();
+								return;
+							}
+							try {
+								p.exitValue();
+								// process has terminated - stop waiting for a connection
+								try {
+									connector.stopListening(map); 
+								} catch (IOException e) {
+									// expected
+								}
+								checkErrorMessage(process);
+							} catch (IllegalThreadStateException e) {
+								// expected while process is alive
+							}
+							try {
+								Thread.sleep(100);
+							} catch (InterruptedException e) {
+							}
+						}
+
+						Exception ex = runnable.getException();
+						if (ex instanceof IllegalConnectorArgumentsException)						 {
+							throw (IllegalConnectorArgumentsException)ex;
+						}
+						if (ex instanceof InterruptedIOException) {
+							throw (InterruptedIOException)ex;
+						}
+						if (ex instanceof IOException) {
+							throw (IOException)ex;
+						}
+						
+						VirtualMachine vm= runnable.getVirtualMachine();
+						if (vm != null) {
+							DroolsDebugModel.newDebugTarget(launch, vm, renderDebugTarget(config.getClassToLaunch(), port), process, true, false, config.isResumeOnStartup());
+							subMonitor.worked(1);
+							subMonitor.done();
+						}
+						return;
+					} catch (InterruptedIOException e) {
+						checkErrorMessage(process);
+						
+						// timeout, consult status handler if there is one
+						IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_VM_CONNECT_TIMEOUT, "", e); //$NON-NLS-1$
+						IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);
+						
+						retry= false;
+						if (handler == null) {
+							// if there is no handler, throw the exception
+							throw new CoreException(status);
+						} 
+						Object result = handler.handleStatus(status, this);
+						if (result instanceof Boolean) {
+							retry = ((Boolean)result).booleanValue();
+						}
+					}
+				} while (retry);
+			} finally {
+				connector.stopListening(map);
+			}
+		} catch (IOException e) {
+			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_connect_to_VM_4, e, IJavaLaunchConfigurationConstants.ERR_CONNECTION_FAILED);  
+		} catch (IllegalConnectorArgumentsException e) {
+			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_connect_to_VM_5, e, IJavaLaunchConfigurationConstants.ERR_CONNECTION_FAILED);  
+		}
+		if (p != null) {
+			p.destroy();
+		}
+	}
+	
+	private double getJavaVersion() {
+		LibraryInfo libInfo = LaunchingPlugin.getLibraryInfo(fVMInstance.getInstallLocation().getAbsolutePath());
+		if (libInfo == null) {
+		    return 0D;
+		}
+		String version = libInfo.getVersion();
+		int index = version.indexOf("."); //$NON-NLS-1$
+		int nextIndex = version.indexOf(".", index+1); //$NON-NLS-1$
+		try {
+			if (index > 0 && nextIndex>index) {
+				return Double.parseDouble(version.substring(0,nextIndex));
+			} 
+			return Double.parseDouble(version);
+		} catch (NumberFormatException e) {
+			return 0D;
+		}
+
+	}
+
+	protected void checkErrorMessage(IProcess process) throws CoreException {
+		IStreamsProxy streamsProxy = process.getStreamsProxy();
+		if (streamsProxy != null) {
+			String errorMessage= streamsProxy.getErrorStreamMonitor().getContents();
+			if (errorMessage.length() == 0) {
+				errorMessage= streamsProxy.getOutputStreamMonitor().getContents();
+			}
+			if (errorMessage.length() != 0) {
+				abort(errorMessage, null, IJavaLaunchConfigurationConstants.ERR_VM_LAUNCH_ERROR);
+			}
+		}										
+	}
+		
+	protected void specifyArguments(Map map, int portNumber) {
+		// XXX: Revisit - allows us to put a quote (") around the classpath
+		Connector.IntegerArgument port= (Connector.IntegerArgument) map.get("port"); //$NON-NLS-1$
+		port.setValue(portNumber);
+		
+		Connector.IntegerArgument timeoutArg= (Connector.IntegerArgument) map.get("timeout"); //$NON-NLS-1$
+		if (timeoutArg != null) {
+			int timeout = JavaRuntime.getPreferences().getInt(JavaRuntime.PREF_CONNECT_TIMEOUT);
+			timeoutArg.setValue(timeout);
+		}
+	}
+
+	protected ListeningConnector getConnector() {
+		List connectors= Bootstrap.virtualMachineManager().listeningConnectors();
+		for (int i= 0; i < connectors.size(); i++) {
+			ListeningConnector c= (ListeningConnector) connectors.get(i);
+			if ("com.sun.jdi.SocketListen".equals(c.name())) //$NON-NLS-1$
+				return c;
+		}
+		return null;
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,57 +0,0 @@
-package org.drools.eclipse.launching;
-
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.debug.core.DroolsDebugTarget;
-import org.drools.eclipse.debug.core.MVELStackFrame;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.jdt.launching.sourcelookup.containers.JavaSourceLookupParticipant;
-
-class MVELSourceLookupParticipant extends JavaSourceLookupParticipant {
-    public void dispose() {
-        //do nothing
-    }
-
-    public Object[] findSourceElements(Object object) throws CoreException {
-        if ( object instanceof MVELStackFrame ) {
-            MVELStackFrame frame = (MVELStackFrame) object;
-
-            //int lineNumber = frame.getBreakpointLineNumber();
-            String mvelName = frame.getMVELName();
-
-            IDebugTarget target = frame.getDebugTarget();
-            if ( target instanceof DroolsDebugTarget ) {
-                DroolsDebugTarget droolsTarget = (DroolsDebugTarget) target;
-                Object bpoint = droolsTarget.getDroolsBreakpoint( mvelName );
-                return new Object[]{bpoint};
-            }
-        }
-        return null;
-    }
-
-    public String getSourceName(Object object) throws CoreException {
-        if ( object instanceof MVELStackFrame ) {
-            MVELStackFrame frame = (MVELStackFrame) object;
-            RuleInfo ruleInfo = frame.getExecutingRuleInfo();
-            if ( ruleInfo != null ) {
-                String sourcePath = ruleInfo.getSourcePathName();
-                return sourcePath;
-            }
-            FunctionInfo functionInfo = frame.getExecutingFunctionInfo();
-            if ( functionInfo != null ) {
-                return functionInfo.getSourcePathName();
-            }
-        }
-        return super.getSourceName( object );
-    }
-
-    public void init(ISourceLookupDirector director) {
-        //do nothing
-    }
-
-    public void sourceContainersChanged(ISourceLookupDirector director) {
-        //do nothing
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,57 @@
+package org.drools.eclipse.launching;
+
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.debug.core.DroolsDebugTarget;
+import org.drools.eclipse.debug.core.MVELStackFrame;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
+import org.eclipse.jdt.launching.sourcelookup.containers.JavaSourceLookupParticipant;
+
+class MVELSourceLookupParticipant extends JavaSourceLookupParticipant {
+    public void dispose() {
+        //do nothing
+    }
+
+    public Object[] findSourceElements(Object object) throws CoreException {
+        if ( object instanceof MVELStackFrame ) {
+            MVELStackFrame frame = (MVELStackFrame) object;
+
+            //int lineNumber = frame.getBreakpointLineNumber();
+            String mvelName = frame.getMVELName();
+
+            IDebugTarget target = frame.getDebugTarget();
+            if ( target instanceof DroolsDebugTarget ) {
+                DroolsDebugTarget droolsTarget = (DroolsDebugTarget) target;
+                Object bpoint = droolsTarget.getDroolsBreakpoint( mvelName );
+                return new Object[]{bpoint};
+            }
+        }
+        return null;
+    }
+
+    public String getSourceName(Object object) throws CoreException {
+        if ( object instanceof MVELStackFrame ) {
+            MVELStackFrame frame = (MVELStackFrame) object;
+            RuleInfo ruleInfo = frame.getExecutingRuleInfo();
+            if ( ruleInfo != null ) {
+                String sourcePath = ruleInfo.getSourcePathName();
+                return sourcePath;
+            }
+            FunctionInfo functionInfo = frame.getExecutingFunctionInfo();
+            if ( functionInfo != null ) {
+                return functionInfo.getSourcePathName();
+            }
+        }
+        return super.getSourceName( object );
+    }
+
+    public void init(ISourceLookupDirector director) {
+        //do nothing
+    }
+
+    public void sourceContainersChanged(ISourceLookupDirector director) {
+        //do nothing
+    }
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,203 +0,0 @@
-package org.drools.eclipse.menu;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.rulebuilder.wizards.NewBrlFileWizard;
-import org.drools.eclipse.wizard.decisiontable.NewDTFileWizard;
-import org.drools.eclipse.wizard.dsl.NewDSLFileWizard;
-import org.drools.eclipse.wizard.project.NewDroolsProjectWizard;
-import org.drools.eclipse.wizard.rule.NewRulePackageWizard;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate;
-
-/**
- * Menu driver for launching wizards etc from the top level toolbar.
- * 
- * More can be added to this as needed.
- * 
- * @author Michael Neale
- */
-public class RuleHelperActionDelegate
-    implements
-    IWorkbenchWindowPulldownDelegate {
-
-    private IWorkbench workbench;
-    private Menu menu;
-
-    /** Return a menu which launches the various wizards */
-    public Menu getMenu(Control parent) {
-
-        setMenu( new Menu( parent ) );
-        
-        final Shell shell = parent.getShell();
-        addProjectWizard( menu,
-                shell );
-
-        addRuleWizard( menu,
-                       shell );
-
-        addDSLWizard( menu,
-                      shell );
-        
-        addDTWizard( menu,
-                      shell );        
-        
-        addGuidedEditorWizard( menu,
-                               shell );
-        
-        return menu;
-    }
-    
-    private void setMenu(Menu menu) {
-        if (this.menu != null) {
-            this.menu.dispose();
-        }
-        this.menu = menu;
-    }
-
-    private void addDTWizard(Menu menu,
-                             final Shell shell) {
-        MenuItem dsl = new MenuItem( menu,
-                                     SWT.NONE );
-        dsl.setText( "New Decision Table" );
-        dsl.addSelectionListener( new SelectionListener() {
-
-            public void widgetSelected(SelectionEvent e) {
-                NewDTFileWizard wizard = new NewDTFileWizard();
-                launchWizard( shell, wizard );
-            }
-            public void widgetDefaultSelected(SelectionEvent e) {}
-        });
-        
-    }
-
-    private void addProjectWizard(Menu menu, final Shell shell) {
-		MenuItem rule = new MenuItem(menu, SWT.NONE);
-		rule.setText("New Rule Project");
-
-		rule.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				NewDroolsProjectWizard wizard = new NewDroolsProjectWizard();
-				launchWizard(shell, wizard);
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-	}
-
-    private void addRuleWizard(Menu menu,
-                               final Shell shell) {
-        MenuItem rule = new MenuItem( menu,
-                                      SWT.NONE );
-        rule.setText( "New Rule resource" );
-
-        rule.addSelectionListener( new SelectionListener() {
-            public void widgetSelected(SelectionEvent e) {
-                NewRulePackageWizard wizard = new NewRulePackageWizard();
-                launchWizard( shell,
-                              wizard );
-            }
-            public void widgetDefaultSelected(SelectionEvent e) {}
-        });
-    }
-
-    private void addDSLWizard(Menu menu,
-                              final Shell shell) {
-        MenuItem dsl = new MenuItem( menu,
-                                     SWT.NONE );
-        dsl.setText( "New Domain Specific Language" );
-        dsl.addSelectionListener( new SelectionListener() {
-
-            public void widgetSelected(SelectionEvent e) {
-                NewDSLFileWizard wizard = new NewDSLFileWizard();
-                launchWizard( shell, wizard );
-            }
-            public void widgetDefaultSelected(SelectionEvent e) {}
-        });
-    }
-    
-    private void addGuidedEditorWizard(Menu menu,
-                                       final Shell shell) {
-        MenuItem dsl = new MenuItem( menu,
-                                     SWT.NONE );
-        dsl.setText( "New Business rule (guided editor)" );
-        dsl.addSelectionListener( new SelectionListener() {
-
-            public void widgetSelected(SelectionEvent e) {
-                NewBrlFileWizard wizard = new NewBrlFileWizard();
-                launchWizard( shell,
-                              wizard );
-            }
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-            }
-        } );
-    }
-
-    private void launchWizard(Shell shell,
-                              INewWizard wizard) {
-        wizard.init( workbench,
-                     new DummySelection() );
-        WizardDialog dialog = new WizardDialog( shell,
-                                                wizard );
-        dialog.open();
-    }    
-
-    public void dispose() {
-    }
-
-    public void init(IWorkbenchWindow window) {
-        workbench = window.getWorkbench();
-    }
-
-    public void run(IAction action) {
-    }
-
-    public void selectionChanged(IAction action,
-                                 ISelection selection) {
-    }
-    
-    /** Stub structured selection listener, as is required to launch the wizard */
-    static class DummySelection implements IStructuredSelection {
-        public Object getFirstElement() {
-            return null;
-        }
-
-        public Iterator iterator() {
-            return (new ArrayList()).iterator();
-        }
-
-        public int size() {
-            return 0;
-        }
-
-        public Object[] toArray() {
-            return null;
-        }
-
-        public List toList() {
-            return null;
-        }
-
-        public boolean isEmpty() {
-            return true;
-        }        
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,203 @@
+package org.drools.eclipse.menu;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.rulebuilder.wizards.NewBrlFileWizard;
+import org.drools.eclipse.wizard.decisiontable.NewDTFileWizard;
+import org.drools.eclipse.wizard.dsl.NewDSLFileWizard;
+import org.drools.eclipse.wizard.project.NewDroolsProjectWizard;
+import org.drools.eclipse.wizard.rule.NewRulePackageWizard;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.IWorkbenchWindowPulldownDelegate;
+
+/**
+ * Menu driver for launching wizards etc from the top level toolbar.
+ * 
+ * More can be added to this as needed.
+ * 
+ * @author Michael Neale
+ */
+public class RuleHelperActionDelegate
+    implements
+    IWorkbenchWindowPulldownDelegate {
+
+    private IWorkbench workbench;
+    private Menu menu;
+
+    /** Return a menu which launches the various wizards */
+    public Menu getMenu(Control parent) {
+
+        setMenu( new Menu( parent ) );
+        
+        final Shell shell = parent.getShell();
+        addProjectWizard( menu,
+                shell );
+
+        addRuleWizard( menu,
+                       shell );
+
+        addDSLWizard( menu,
+                      shell );
+        
+        addDTWizard( menu,
+                      shell );        
+        
+        addGuidedEditorWizard( menu,
+                               shell );
+        
+        return menu;
+    }
+    
+    private void setMenu(Menu menu) {
+        if (this.menu != null) {
+            this.menu.dispose();
+        }
+        this.menu = menu;
+    }
+
+    private void addDTWizard(Menu menu,
+                             final Shell shell) {
+        MenuItem dsl = new MenuItem( menu,
+                                     SWT.NONE );
+        dsl.setText( "New Decision Table" );
+        dsl.addSelectionListener( new SelectionListener() {
+
+            public void widgetSelected(SelectionEvent e) {
+                NewDTFileWizard wizard = new NewDTFileWizard();
+                launchWizard( shell, wizard );
+            }
+            public void widgetDefaultSelected(SelectionEvent e) {}
+        });
+        
+    }
+
+    private void addProjectWizard(Menu menu, final Shell shell) {
+		MenuItem rule = new MenuItem(menu, SWT.NONE);
+		rule.setText("New Rule Project");
+
+		rule.addSelectionListener(new SelectionListener() {
+			public void widgetSelected(SelectionEvent e) {
+				NewDroolsProjectWizard wizard = new NewDroolsProjectWizard();
+				launchWizard(shell, wizard);
+			}
+
+			public void widgetDefaultSelected(SelectionEvent e) {
+			}
+		});
+	}
+
+    private void addRuleWizard(Menu menu,
+                               final Shell shell) {
+        MenuItem rule = new MenuItem( menu,
+                                      SWT.NONE );
+        rule.setText( "New Rule resource" );
+
+        rule.addSelectionListener( new SelectionListener() {
+            public void widgetSelected(SelectionEvent e) {
+                NewRulePackageWizard wizard = new NewRulePackageWizard();
+                launchWizard( shell,
+                              wizard );
+            }
+            public void widgetDefaultSelected(SelectionEvent e) {}
+        });
+    }
+
+    private void addDSLWizard(Menu menu,
+                              final Shell shell) {
+        MenuItem dsl = new MenuItem( menu,
+                                     SWT.NONE );
+        dsl.setText( "New Domain Specific Language" );
+        dsl.addSelectionListener( new SelectionListener() {
+
+            public void widgetSelected(SelectionEvent e) {
+                NewDSLFileWizard wizard = new NewDSLFileWizard();
+                launchWizard( shell, wizard );
+            }
+            public void widgetDefaultSelected(SelectionEvent e) {}
+        });
+    }
+    
+    private void addGuidedEditorWizard(Menu menu,
+                                       final Shell shell) {
+        MenuItem dsl = new MenuItem( menu,
+                                     SWT.NONE );
+        dsl.setText( "New Business rule (guided editor)" );
+        dsl.addSelectionListener( new SelectionListener() {
+
+            public void widgetSelected(SelectionEvent e) {
+                NewBrlFileWizard wizard = new NewBrlFileWizard();
+                launchWizard( shell,
+                              wizard );
+            }
+
+            public void widgetDefaultSelected(SelectionEvent e) {
+            }
+        } );
+    }
+
+    private void launchWizard(Shell shell,
+                              INewWizard wizard) {
+        wizard.init( workbench,
+                     new DummySelection() );
+        WizardDialog dialog = new WizardDialog( shell,
+                                                wizard );
+        dialog.open();
+    }    
+
+    public void dispose() {
+    }
+
+    public void init(IWorkbenchWindow window) {
+        workbench = window.getWorkbench();
+    }
+
+    public void run(IAction action) {
+    }
+
+    public void selectionChanged(IAction action,
+                                 ISelection selection) {
+    }
+    
+    /** Stub structured selection listener, as is required to launch the wizard */
+    static class DummySelection implements IStructuredSelection {
+        public Object getFirstElement() {
+            return null;
+        }
+
+        public Iterator iterator() {
+            return (new ArrayList()).iterator();
+        }
+
+        public int size() {
+            return 0;
+        }
+
+        public Object[] toArray() {
+            return null;
+        }
+
+        public List toList() {
+            return null;
+        }
+
+        public boolean isEmpty() {
+            return true;
+        }        
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,80 +0,0 @@
-package org.drools.eclipse.preferences;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-public class DroolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private Button buildAllCheckBox;
-	private Button collapseEditorCheckBox;
-	private Button cacheParsedRulesCheckBox;
-	
-	protected Control createContents(Composite parent) {
-		buildAllCheckBox = createCheckBox(parent,
-			"Automatically reparse all rules if a Java resource is changed.");
-		collapseEditorCheckBox = createCheckBox(parent,
-			"Use code folding in DRL editor.");
-		cacheParsedRulesCheckBox = createCheckBox(parent,
-			"When parsing rules, always cache the result for future use. Warning: when disabled, debugging of rules will not work.");
-
-		initializeValues();
-
-		return new Composite(parent, SWT.NULL);
-	}
-
-	private Button createCheckBox(Composite group, String label) {
-        Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-        button.setText(label);
-        GridData data = new GridData();
-        button.setLayoutData(data);
-        return button;
-    }
-	
-	protected IPreferenceStore doGetPreferenceStore() {
-        return DroolsEclipsePlugin.getDefault().getPreferenceStore();
-    }
-	
-	private void initializeDefaults() {
-        IPreferenceStore store = getPreferenceStore();
-        buildAllCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.BUILD_ALL));
-        collapseEditorCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.EDITOR_FOLDING));
-        cacheParsedRulesCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.CACHE_PARSED_RULES));
-    }
-
-	private void initializeValues() {
-        IPreferenceStore store = getPreferenceStore();
-        buildAllCheckBox.setSelection(store.getBoolean(IDroolsConstants.BUILD_ALL));
-        collapseEditorCheckBox.setSelection(store.getBoolean(IDroolsConstants.EDITOR_FOLDING));
-        cacheParsedRulesCheckBox.setSelection(store.getBoolean(IDroolsConstants.CACHE_PARSED_RULES));
-    }
-
-	protected void performDefaults() {
-        super.performDefaults();
-        initializeDefaults();
-    }
-
-	public boolean performOk() {
-        storeValues();
-        DroolsEclipsePlugin.getDefault().savePluginPreferences();
-        return true;
-    }
-	
-	private void storeValues() {
-        IPreferenceStore store = getPreferenceStore();
-        store.setValue(IDroolsConstants.BUILD_ALL, buildAllCheckBox.getSelection());
-        store.setValue(IDroolsConstants.EDITOR_FOLDING, collapseEditorCheckBox.getSelection());
-        store.setValue(IDroolsConstants.CACHE_PARSED_RULES, cacheParsedRulesCheckBox.getSelection());
-    }
-
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,80 @@
+package org.drools.eclipse.preferences;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class DroolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
+
+	private Button buildAllCheckBox;
+	private Button collapseEditorCheckBox;
+	private Button cacheParsedRulesCheckBox;
+	
+	protected Control createContents(Composite parent) {
+		buildAllCheckBox = createCheckBox(parent,
+			"Automatically reparse all rules if a Java resource is changed.");
+		collapseEditorCheckBox = createCheckBox(parent,
+			"Use code folding in DRL editor.");
+		cacheParsedRulesCheckBox = createCheckBox(parent,
+			"When parsing rules, always cache the result for future use. Warning: when disabled, debugging of rules will not work.");
+
+		initializeValues();
+
+		return new Composite(parent, SWT.NULL);
+	}
+
+	private Button createCheckBox(Composite group, String label) {
+        Button button = new Button(group, SWT.CHECK | SWT.LEFT);
+        button.setText(label);
+        GridData data = new GridData();
+        button.setLayoutData(data);
+        return button;
+    }
+	
+	protected IPreferenceStore doGetPreferenceStore() {
+        return DroolsEclipsePlugin.getDefault().getPreferenceStore();
+    }
+	
+	private void initializeDefaults() {
+        IPreferenceStore store = getPreferenceStore();
+        buildAllCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.BUILD_ALL));
+        collapseEditorCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.EDITOR_FOLDING));
+        cacheParsedRulesCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.CACHE_PARSED_RULES));
+    }
+
+	private void initializeValues() {
+        IPreferenceStore store = getPreferenceStore();
+        buildAllCheckBox.setSelection(store.getBoolean(IDroolsConstants.BUILD_ALL));
+        collapseEditorCheckBox.setSelection(store.getBoolean(IDroolsConstants.EDITOR_FOLDING));
+        cacheParsedRulesCheckBox.setSelection(store.getBoolean(IDroolsConstants.CACHE_PARSED_RULES));
+    }
+
+	protected void performDefaults() {
+        super.performDefaults();
+        initializeDefaults();
+    }
+
+	public boolean performOk() {
+        storeValues();
+        DroolsEclipsePlugin.getDefault().savePluginPreferences();
+        return true;
+    }
+	
+	private void storeValues() {
+        IPreferenceStore store = getPreferenceStore();
+        store.setValue(IDroolsConstants.BUILD_ALL, buildAllCheckBox.getSelection());
+        store.setValue(IDroolsConstants.EDITOR_FOLDING, collapseEditorCheckBox.getSelection());
+        store.setValue(IDroolsConstants.CACHE_PARSED_RULES, cacheParsedRulesCheckBox.getSelection());
+    }
+
+	public void init(IWorkbench workbench) {
+		// do nothing
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-package org.drools.eclipse.preferences;
-
-public interface IDroolsConstants {
-
-	String BUILD_ALL = "Drools.BuildAll";
-	String EDITOR_FOLDING = "Drools.EditorFolding";
-	String CACHE_PARSED_RULES = "Drools.CacheParsedRules";
-	String DRL_EDITOR_MATCHING_BRACKETS = "Drools.DRLMatchingBrackets";
-	String DRL_EDITOR_MATCHING_BRACKETS_COLOR = "Drools.DRLMatchingBracketsColor";
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+package org.drools.eclipse.preferences;
+
+public interface IDroolsConstants {
+
+	String BUILD_ALL = "Drools.BuildAll";
+	String EDITOR_FOLDING = "Drools.EditorFolding";
+	String CACHE_PARSED_RULES = "Drools.CacheParsedRules";
+	String DRL_EDITOR_MATCHING_BRACKETS = "Drools.DRLMatchingBrackets";
+	String DRL_EDITOR_MATCHING_BRACKETS_COLOR = "Drools.DRLMatchingBracketsColor";
+	
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,69 +0,0 @@
-package org.drools.eclipse.rulebuilder.editors;
-
-import org.drools.brms.client.modeldriven.brl.RuleModel;
-import org.drools.brms.server.util.BRXMLPersistence;
-import org.drools.eclipse.rulebuilder.ui.RuleModeller;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.FormPage;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-
-/**
- * Rule Builder main page used as a tab in {@link RuleEditor} multipage.
- * 
- * @author Ahti Kitsik
- *
- */
-public class BrlPage extends FormPage {
-
-    private static final String PAGE_NAME = "Rule Builder";
-    private static final String PAGE_ID   = BrlPage.class.getName();
-
-    private RuleModeller        modeller;
-    private RuleModel           model;
-    private RuleEditor          editor;
-
-    public BrlPage(RuleEditor editor) {
-        super( editor,
-               PAGE_ID,
-               PAGE_NAME );
-        this.editor = editor;
-    }
-
-    protected void createFormContent(IManagedForm managedForm) {
-        ScrolledForm form = managedForm.getForm();
-        FormToolkit toolkit = managedForm.getToolkit();
-
-        modeller = new RuleModeller( form,
-                                     toolkit,
-                                     model,
-                                     editor );
-    }
-
-    public void setModelXML(String xml) {
-        model = BRXMLPersistence.getInstance().unmarshal( xml );
-        modeller.setModel( model );
-        modeller.reloadWidgets();
-    }
-
-    public RuleModel getRuleModel() {
-        return model;
-    }
-
-    public RuleModeller getModeller() {
-        return modeller;
-    }
-
-    public boolean isDirty() {
-        return modeller.isDirty();
-    }
-
-    public void fireDirtyPropertyChanged() {
-        editor.dirtyPropertyChanged();
-    }
-
-    public void refresh() {
-        modeller.refresh();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,69 @@
+package org.drools.eclipse.rulebuilder.editors;
+
+import org.drools.brms.client.modeldriven.brl.RuleModel;
+import org.drools.brms.server.util.BRXMLPersistence;
+import org.drools.eclipse.rulebuilder.ui.RuleModeller;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.editor.FormPage;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+
+/**
+ * Rule Builder main page used as a tab in {@link RuleEditor} multipage.
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class BrlPage extends FormPage {
+
+    private static final String PAGE_NAME = "Rule Builder";
+    private static final String PAGE_ID   = BrlPage.class.getName();
+
+    private RuleModeller        modeller;
+    private RuleModel           model;
+    private RuleEditor          editor;
+
+    public BrlPage(RuleEditor editor) {
+        super( editor,
+               PAGE_ID,
+               PAGE_NAME );
+        this.editor = editor;
+    }
+
+    protected void createFormContent(IManagedForm managedForm) {
+        ScrolledForm form = managedForm.getForm();
+        FormToolkit toolkit = managedForm.getToolkit();
+
+        modeller = new RuleModeller( form,
+                                     toolkit,
+                                     model,
+                                     editor );
+    }
+
+    public void setModelXML(String xml) {
+        model = BRXMLPersistence.getInstance().unmarshal( xml );
+        modeller.setModel( model );
+        modeller.reloadWidgets();
+    }
+
+    public RuleModel getRuleModel() {
+        return model;
+    }
+
+    public RuleModeller getModeller() {
+        return modeller;
+    }
+
+    public boolean isDirty() {
+        return modeller.isDirty();
+    }
+
+    public void fireDirtyPropertyChanged() {
+        editor.dirtyPropertyChanged();
+    }
+
+    public void refresh() {
+        modeller.refresh();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,394 +0,0 @@
-package org.drools.eclipse.rulebuilder.editors;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.server.rules.SuggestionCompletionLoader;
-import org.drools.brms.server.util.BRDRLPersistence;
-import org.drools.brms.server.util.BRXMLPersistence;
-import org.drools.compiler.DrlParser;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.dsl.editor.DSLAdapter;
-import org.drools.eclipse.editors.DRLDocumentProvider;
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.eclipse.util.ProjectClassLoader;
-import org.drools.lang.dsl.DSLMappingFile;
-import org.eclipse.core.internal.resources.Container;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.ide.ResourceUtil;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.texteditor.DocumentProviderRegistry;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-public class RuleEditor extends FormEditor
-    implements
-    IResourceChangeListener {
-
-    private BrlPage                    guidedEditor;
-
-    private TextEditor                 xmlEditor          = new TextEditor();
-
-    private SuggestionCompletionEngine completion;
-
-    private SuggestionCompletionLoader loader;
-
-    private FileEditorInput            packageEditorInput;
-
-    private final Document             drlDocument;
-
-    private IResourceChangeListener    packageFileTracker = new IResourceChangeListener() {
-
-                                                              public void resourceChanged(IResourceChangeEvent event) {
-                                                                  IResourceDelta delta = getRootDelta( event.getDelta() );
-
-                                                                  IPath p1 = delta.getFullPath();
-                                                                  IPath p2 = packageEditorInput.getFile().getFullPath();
-                                                                  if ( p1.equals( p2 ) ) {
-                                                                      reloadCompletionEngine();
-                                                                  }
-
-                                                              }
-
-                                                          };
-
-    public RuleEditor() {
-        super();
-        ResourcesPlugin.getWorkspace().addResourceChangeListener( this );
-        ResourcesPlugin.getWorkspace().addResourceChangeListener( packageFileTracker,
-                                                                  IResourceChangeEvent.POST_CHANGE );
-        drlDocument = new Document();
-
-    }
-
-    protected FormToolkit createToolkit(Display display) {
-        // Create a toolkit that shares colors between editors.
-        return new FormToolkit( DroolsEclipsePlugin.getDefault().getRuleBuilderFormColors( display ) );
-    }
-
-    protected void addPages() {
-        guidedEditor = new BrlPage( this );
-        try {
-            addPage( guidedEditor );
-            addPage( xmlEditor,
-                     getEditorInput() );
-
-            DRLRuleEditor drlEditor = new DRLRuleEditor() {
-                protected IDocumentProvider createDocumentProvider() {
-                    return new DRLDocumentProvider() {
-                        public boolean isReadOnly(Object element) {
-                            return true;
-                        }
-
-                        public boolean isModifiable(Object element) {
-                            return false;
-                        }
-
-                        protected IDocument getParentDocument(Object element) {
-                            return drlDocument;
-                        }
-                    };
-                }
-
-            };
-
-            addPage( drlEditor,
-                     xmlEditor.getEditorInput() );
-
-            IPath packagePath = getCurrentDirectoryPath( getEditorInput() ).append( "rule.package" );
-
-            IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile( packagePath );
-
-            IJavaProject javaProject = JavaCore.create( file.getProject() );
-
-            ClassLoader classLoader = ProjectClassLoader.getProjectClassLoader( javaProject );
-
-            loader = new SuggestionCompletionLoader( classLoader );
-
-            if ( !file.exists() ) {
-                String defaultHeader = "//This is a package configuration file";
-                defaultHeader += "\n//Add imports, globals etc here which will be used by all the rule assets in thise folder.";
-                InputStream is = new ByteArrayInputStream( defaultHeader.getBytes() );
-                try {
-                    file.create( is,
-                                 true,
-                                 null );
-                } catch ( CoreException e ) {
-                    DroolsEclipsePlugin.log( e );
-                }
-            }
-
-            packageEditorInput = new FileEditorInput( file );
-
-            reloadCompletionEngine();
-
-            setPageText( 1,
-                         "BRL Source" );
-
-            setPageText( 2,
-                         "Generated DRL (read-only)" );
-
-            updateName( false );
-
-        } catch ( PartInitException e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-    }
-
-    private void updateName(boolean forced) {
-        String name = xmlEditor.getTitle();
-        setPartName( name );
-
-        //TODO Add support for other than .brl extensions
-        if ( guidedEditor.getModeller() != null && guidedEditor.getModeller().getModel() != null && (guidedEditor.getModeller().getModel().name == null || forced) ) {
-            String shortName = name.substring( 0,
-                                               name.length() - ".brl".length() );
-            guidedEditor.getModeller().getModel().name = shortName;
-        }
-
-        updateDRLPage();
-
-    }
-
-    private IPath getCurrentDirectoryPath(IEditorInput editorInput) {
-        return ((FileEditorInput) editorInput).getFile().getFullPath().removeLastSegments( 1 ).addTrailingSeparator();
-    }
-
-    private void reloadCompletionEngine() {
-        try {
-
-            // Load all .dsl files from current dir
-            IPath p = (packageEditorInput).getFile().getFullPath().removeLastSegments( 1 );
-
-            Container folder = (Container) ResourcesPlugin.getWorkspace().getRoot().findMember( p,
-                                                                                                false );
-
-            IResource[] files = folder.members( false );
-
-            List dslList = new ArrayList();
-
-            for ( int i = 0; i < files.length; i++ ) {
-                if ( files[i].getName().endsWith( ".dsl" ) ) {
-                    String contents = getFileContents( (IFile) files[i] );
-                    DSLMappingFile dsl = new DSLMappingFile();
-
-                    if ( dsl.parseAndLoad( new StringReader( contents ) ) ) {
-                        dslList.add( dsl );
-                    } else {
-                        //TODO report dsl parse error
-                    }
-                }
-            }
-
-            // Load suggestion engine
-            String str = getFileContents( packageEditorInput.getFile() );
-
-            completion = loader.getSuggestionEngine( str,
-                                                     dslList,
-                                                     dslList );
-
-        } catch ( Exception e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-    }
-
-    private String getFileContents(IFile file) {
-
-        InputStream is;
-        try {
-            is = file.getContents();
-
-            StringBuffer out = new StringBuffer();
-            byte[] b = new byte[4096];
-            for ( int n; (n = is.read( b )) != -1; ) {
-                out.append( new String( b,
-                                        0,
-                                        n ) );
-            }
-
-            return out.toString();
-        } catch ( CoreException e ) {
-            //TODO Report problem with the file loading
-            return "";
-        } catch ( IOException e ) {
-            //TODO Report problem with the file loading
-            return "";
-        }
-
-    }
-
-    public boolean isDirty() {
-        return xmlEditor.isDirty() || guidedEditor.isDirty();
-    }
-
-    protected void pageChange(int newPageIndex) {
-        super.pageChange( newPageIndex );
-
-        IDocument document = getInputDocument();
-
-        if ( newPageIndex == 0 ) {
-
-            boolean newModel = guidedEditor.getModeller().getModel() == null;
-            if ( xmlEditor.isDirty() || newModel ) {
-                guidedEditor.setModelXML( document.get() );
-                if ( newModel ) {
-                    guidedEditor.getModeller().setDirty( false );
-                }
-                updateName( false );
-            }
-
-            guidedEditor.refresh();
-
-        } else if ( newPageIndex == 1 ) {
-
-            if ( guidedEditor.isDirty() ) {
-                document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
-            }
-        } else if ( newPageIndex == 2 ) {
-
-            //Updating main document for proper workflow when page is switched back to "0"
-            if ( guidedEditor.isDirty() ) {
-                document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
-            } else if ( xmlEditor.isDirty() ) {
-                guidedEditor.setModelXML( document.get() );
-            }
-
-            updateDRLPage();
-
-            updateName( false );
-
-        }
-
-    }
-
-    private void updateDRLPage() {
-
-        String drl = "";
-        try {
-            drl = BRDRLPersistence.getInstance().marshal( guidedEditor.getRuleModel() );
-
-            IResource resource = ResourceUtil.getResource( xmlEditor.getEditorInput() );
-
-            Reader reader = DSLAdapter.getDSLContent( drl,
-                                                      resource );
-            DrlParser parser = new DrlParser();
-
-            if ( reader != null ) {
-                drl = parser.getExpandedDRL( drl,
-                                             reader );
-            }
-
-        } catch ( Throwable t ) {
-
-            StringWriter strwriter = new StringWriter();
-            t.printStackTrace( new PrintWriter( strwriter ) );
-            drl = "\nPROBLEM WITH THE DRL CONVERSION!\n\n\nDRL:\n" + drl + "\n\nSTACKTRACE:\n" + strwriter.toString();
-        }
-        drlDocument.set( drl );
-    }
-
-    public void doSave(IProgressMonitor monitor) {
-        IDocument document = getInputDocument();
-
-        if ( xmlEditor.isDirty() ) {
-            guidedEditor.setModelXML( document.get() );
-        } else if ( guidedEditor.isDirty() ) {
-            document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
-        }
-
-        xmlEditor.doSave( monitor );
-
-        guidedEditor.getModeller().setDirty( false );
-
-        guidedEditor.refresh();
-
-    }
-
-    private IDocument getInputDocument() {
-        IEditorInput input = getEditorInput();
-        IDocumentProvider docProvider = DocumentProviderRegistry.getDefault().getDocumentProvider( input );
-        IDocument document = docProvider.getDocument( input );
-        return document;
-    }
-
-    public void doSaveAs() {
-        xmlEditor.doSaveAs();
-        guidedEditor.getModeller().setDirty( false );
-        updateName( true );
-        setInput( xmlEditor.getEditorInput() );
-
-        guidedEditor.refresh();
-
-    }
-
-    public boolean isSaveAsAllowed() {
-        return true;
-    }
-
-    public void resourceChanged(final IResourceChangeEvent event) {
-        if ( event.getType() == IResourceChangeEvent.PRE_CLOSE ) {
-            Display.getDefault().asyncExec( new Runnable() {
-                public void run() {
-                    IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
-                    for ( int i = 0; i < pages.length; i++ ) {
-                        if ( ((FileEditorInput) xmlEditor.getEditorInput()).getFile().getProject().equals( event.getResource() ) ) {
-                            IEditorPart editorPart = pages[i].findEditor( xmlEditor.getEditorInput() );
-                            pages[i].closeEditor( editorPart,
-                                                  true );
-                        }
-                    }
-                }
-            } );
-        }
-    }
-
-    public void dispose() {
-        ResourcesPlugin.getWorkspace().removeResourceChangeListener( this );
-        ResourcesPlugin.getWorkspace().removeResourceChangeListener( packageFileTracker );
-        super.dispose();
-    }
-
-    public void dirtyPropertyChanged() {
-        firePropertyChange( IEditorPart.PROP_DIRTY );
-        guidedEditor.refresh();
-    }
-
-    public SuggestionCompletionEngine getCompletionEngine() {
-        return completion;
-    }
-
-    private IResourceDelta getRootDelta(IResourceDelta delta) {
-        if ( delta.getAffectedChildren().length > 0 ) {
-            return getRootDelta( delta.getAffectedChildren()[0] );
-        }
-        return delta;
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,394 @@
+package org.drools.eclipse.rulebuilder.editors;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.server.rules.SuggestionCompletionLoader;
+import org.drools.brms.server.util.BRDRLPersistence;
+import org.drools.brms.server.util.BRXMLPersistence;
+import org.drools.compiler.DrlParser;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.dsl.editor.DSLAdapter;
+import org.drools.eclipse.editors.DRLDocumentProvider;
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.eclipse.util.ProjectClassLoader;
+import org.drools.lang.dsl.DSLMappingFile;
+import org.eclipse.core.internal.resources.Container;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.editors.text.TextEditor;
+import org.eclipse.ui.forms.editor.FormEditor;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.ide.ResourceUtil;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.texteditor.DocumentProviderRegistry;
+import org.eclipse.ui.texteditor.IDocumentProvider;
+
+public class RuleEditor extends FormEditor
+    implements
+    IResourceChangeListener {
+
+    private BrlPage                    guidedEditor;
+
+    private TextEditor                 xmlEditor          = new TextEditor();
+
+    private SuggestionCompletionEngine completion;
+
+    private SuggestionCompletionLoader loader;
+
+    private FileEditorInput            packageEditorInput;
+
+    private final Document             drlDocument;
+
+    private IResourceChangeListener    packageFileTracker = new IResourceChangeListener() {
+
+                                                              public void resourceChanged(IResourceChangeEvent event) {
+                                                                  IResourceDelta delta = getRootDelta( event.getDelta() );
+
+                                                                  IPath p1 = delta.getFullPath();
+                                                                  IPath p2 = packageEditorInput.getFile().getFullPath();
+                                                                  if ( p1.equals( p2 ) ) {
+                                                                      reloadCompletionEngine();
+                                                                  }
+
+                                                              }
+
+                                                          };
+
+    public RuleEditor() {
+        super();
+        ResourcesPlugin.getWorkspace().addResourceChangeListener( this );
+        ResourcesPlugin.getWorkspace().addResourceChangeListener( packageFileTracker,
+                                                                  IResourceChangeEvent.POST_CHANGE );
+        drlDocument = new Document();
+
+    }
+
+    protected FormToolkit createToolkit(Display display) {
+        // Create a toolkit that shares colors between editors.
+        return new FormToolkit( DroolsEclipsePlugin.getDefault().getRuleBuilderFormColors( display ) );
+    }
+
+    protected void addPages() {
+        guidedEditor = new BrlPage( this );
+        try {
+            addPage( guidedEditor );
+            addPage( xmlEditor,
+                     getEditorInput() );
+
+            DRLRuleEditor drlEditor = new DRLRuleEditor() {
+                protected IDocumentProvider createDocumentProvider() {
+                    return new DRLDocumentProvider() {
+                        public boolean isReadOnly(Object element) {
+                            return true;
+                        }
+
+                        public boolean isModifiable(Object element) {
+                            return false;
+                        }
+
+                        protected IDocument getParentDocument(Object element) {
+                            return drlDocument;
+                        }
+                    };
+                }
+
+            };
+
+            addPage( drlEditor,
+                     xmlEditor.getEditorInput() );
+
+            IPath packagePath = getCurrentDirectoryPath( getEditorInput() ).append( "rule.package" );
+
+            IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile( packagePath );
+
+            IJavaProject javaProject = JavaCore.create( file.getProject() );
+
+            ClassLoader classLoader = ProjectClassLoader.getProjectClassLoader( javaProject );
+
+            loader = new SuggestionCompletionLoader( classLoader );
+
+            if ( !file.exists() ) {
+                String defaultHeader = "//This is a package configuration file";
+                defaultHeader += "\n//Add imports, globals etc here which will be used by all the rule assets in thise folder.";
+                InputStream is = new ByteArrayInputStream( defaultHeader.getBytes() );
+                try {
+                    file.create( is,
+                                 true,
+                                 null );
+                } catch ( CoreException e ) {
+                    DroolsEclipsePlugin.log( e );
+                }
+            }
+
+            packageEditorInput = new FileEditorInput( file );
+
+            reloadCompletionEngine();
+
+            setPageText( 1,
+                         "BRL Source" );
+
+            setPageText( 2,
+                         "Generated DRL (read-only)" );
+
+            updateName( false );
+
+        } catch ( PartInitException e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+    }
+
+    private void updateName(boolean forced) {
+        String name = xmlEditor.getTitle();
+        setPartName( name );
+
+        //TODO Add support for other than .brl extensions
+        if ( guidedEditor.getModeller() != null && guidedEditor.getModeller().getModel() != null && (guidedEditor.getModeller().getModel().name == null || forced) ) {
+            String shortName = name.substring( 0,
+                                               name.length() - ".brl".length() );
+            guidedEditor.getModeller().getModel().name = shortName;
+        }
+
+        updateDRLPage();
+
+    }
+
+    private IPath getCurrentDirectoryPath(IEditorInput editorInput) {
+        return ((FileEditorInput) editorInput).getFile().getFullPath().removeLastSegments( 1 ).addTrailingSeparator();
+    }
+
+    private void reloadCompletionEngine() {
+        try {
+
+            // Load all .dsl files from current dir
+            IPath p = (packageEditorInput).getFile().getFullPath().removeLastSegments( 1 );
+
+            Container folder = (Container) ResourcesPlugin.getWorkspace().getRoot().findMember( p,
+                                                                                                false );
+
+            IResource[] files = folder.members( false );
+
+            List dslList = new ArrayList();
+
+            for ( int i = 0; i < files.length; i++ ) {
+                if ( files[i].getName().endsWith( ".dsl" ) ) {
+                    String contents = getFileContents( (IFile) files[i] );
+                    DSLMappingFile dsl = new DSLMappingFile();
+
+                    if ( dsl.parseAndLoad( new StringReader( contents ) ) ) {
+                        dslList.add( dsl );
+                    } else {
+                        //TODO report dsl parse error
+                    }
+                }
+            }
+
+            // Load suggestion engine
+            String str = getFileContents( packageEditorInput.getFile() );
+
+            completion = loader.getSuggestionEngine( str,
+                                                     dslList,
+                                                     dslList );
+
+        } catch ( Exception e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+    }
+
+    private String getFileContents(IFile file) {
+
+        InputStream is;
+        try {
+            is = file.getContents();
+
+            StringBuffer out = new StringBuffer();
+            byte[] b = new byte[4096];
+            for ( int n; (n = is.read( b )) != -1; ) {
+                out.append( new String( b,
+                                        0,
+                                        n ) );
+            }
+
+            return out.toString();
+        } catch ( CoreException e ) {
+            //TODO Report problem with the file loading
+            return "";
+        } catch ( IOException e ) {
+            //TODO Report problem with the file loading
+            return "";
+        }
+
+    }
+
+    public boolean isDirty() {
+        return xmlEditor.isDirty() || guidedEditor.isDirty();
+    }
+
+    protected void pageChange(int newPageIndex) {
+        super.pageChange( newPageIndex );
+
+        IDocument document = getInputDocument();
+
+        if ( newPageIndex == 0 ) {
+
+            boolean newModel = guidedEditor.getModeller().getModel() == null;
+            if ( xmlEditor.isDirty() || newModel ) {
+                guidedEditor.setModelXML( document.get() );
+                if ( newModel ) {
+                    guidedEditor.getModeller().setDirty( false );
+                }
+                updateName( false );
+            }
+
+            guidedEditor.refresh();
+
+        } else if ( newPageIndex == 1 ) {
+
+            if ( guidedEditor.isDirty() ) {
+                document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
+            }
+        } else if ( newPageIndex == 2 ) {
+
+            //Updating main document for proper workflow when page is switched back to "0"
+            if ( guidedEditor.isDirty() ) {
+                document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
+            } else if ( xmlEditor.isDirty() ) {
+                guidedEditor.setModelXML( document.get() );
+            }
+
+            updateDRLPage();
+
+            updateName( false );
+
+        }
+
+    }
+
+    private void updateDRLPage() {
+
+        String drl = "";
+        try {
+            drl = BRDRLPersistence.getInstance().marshal( guidedEditor.getRuleModel() );
+
+            IResource resource = ResourceUtil.getResource( xmlEditor.getEditorInput() );
+
+            Reader reader = DSLAdapter.getDSLContent( drl,
+                                                      resource );
+            DrlParser parser = new DrlParser();
+
+            if ( reader != null ) {
+                drl = parser.getExpandedDRL( drl,
+                                             reader );
+            }
+
+        } catch ( Throwable t ) {
+
+            StringWriter strwriter = new StringWriter();
+            t.printStackTrace( new PrintWriter( strwriter ) );
+            drl = "\nPROBLEM WITH THE DRL CONVERSION!\n\n\nDRL:\n" + drl + "\n\nSTACKTRACE:\n" + strwriter.toString();
+        }
+        drlDocument.set( drl );
+    }
+
+    public void doSave(IProgressMonitor monitor) {
+        IDocument document = getInputDocument();
+
+        if ( xmlEditor.isDirty() ) {
+            guidedEditor.setModelXML( document.get() );
+        } else if ( guidedEditor.isDirty() ) {
+            document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
+        }
+
+        xmlEditor.doSave( monitor );
+
+        guidedEditor.getModeller().setDirty( false );
+
+        guidedEditor.refresh();
+
+    }
+
+    private IDocument getInputDocument() {
+        IEditorInput input = getEditorInput();
+        IDocumentProvider docProvider = DocumentProviderRegistry.getDefault().getDocumentProvider( input );
+        IDocument document = docProvider.getDocument( input );
+        return document;
+    }
+
+    public void doSaveAs() {
+        xmlEditor.doSaveAs();
+        guidedEditor.getModeller().setDirty( false );
+        updateName( true );
+        setInput( xmlEditor.getEditorInput() );
+
+        guidedEditor.refresh();
+
+    }
+
+    public boolean isSaveAsAllowed() {
+        return true;
+    }
+
+    public void resourceChanged(final IResourceChangeEvent event) {
+        if ( event.getType() == IResourceChangeEvent.PRE_CLOSE ) {
+            Display.getDefault().asyncExec( new Runnable() {
+                public void run() {
+                    IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
+                    for ( int i = 0; i < pages.length; i++ ) {
+                        if ( ((FileEditorInput) xmlEditor.getEditorInput()).getFile().getProject().equals( event.getResource() ) ) {
+                            IEditorPart editorPart = pages[i].findEditor( xmlEditor.getEditorInput() );
+                            pages[i].closeEditor( editorPart,
+                                                  true );
+                        }
+                    }
+                }
+            } );
+        }
+    }
+
+    public void dispose() {
+        ResourcesPlugin.getWorkspace().removeResourceChangeListener( this );
+        ResourcesPlugin.getWorkspace().removeResourceChangeListener( packageFileTracker );
+        super.dispose();
+    }
+
+    public void dirtyPropertyChanged() {
+        firePropertyChange( IEditorPart.PROP_DIRTY );
+        guidedEditor.refresh();
+    }
+
+    public SuggestionCompletionEngine getCompletionEngine() {
+        return completion;
+    }
+
+    private IResourceDelta getRootDelta(IResourceDelta delta) {
+        if ( delta.getAffectedChildren().length > 0 ) {
+            return getRootDelta( delta.getAffectedChildren()[0] );
+        }
+        return delta;
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,140 +0,0 @@
-package org.drools.eclipse.rulebuilder.modeldriven;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * This contains some simple mappings between operators, conditional elements
- * and the human readable equivalent.
- *
- * Yes, I am making the presumption that programmers are not human, but I think
- * they (we) are cool with that.
- *
- * @author Michael Neale
- */
-public class HumanReadable {
-
-    public static Map            operatorDisplayMap   = new HashMap();
-
-    public static Map            ceDisplayMap         = new HashMap();
-
-    public static Map            actionDisplayMap     = new HashMap();
-
-    public static final String[] CONDITIONAL_ELEMENTS = new String[]{"not", "exists", "or"};
-
-    static {
-        operatorDisplayMap.put( "==",
-                                "is equal to" );
-        operatorDisplayMap.put( "!=",
-                                "is not equal to" );
-        operatorDisplayMap.put( "<",
-                                "is less than" );
-        operatorDisplayMap.put( "<=",
-                                "less than or equal to" );
-        operatorDisplayMap.put( ">",
-                                "greater than" );
-        operatorDisplayMap.put( ">=",
-                                "greater than or equal to" );
-        operatorDisplayMap.put( "soundslike", "sounds like" );
-
-        operatorDisplayMap.put( "|| ==",
-                                "or equal to" );
-        operatorDisplayMap.put( "|| !=",
-                                "or not equal to" );
-        operatorDisplayMap.put( "&& !=",
-                                "and not equal to" );
-        operatorDisplayMap.put( "&& >",
-                                "and greater than" );
-        operatorDisplayMap.put( "&& <",
-                                "and less than" );
-        operatorDisplayMap.put( "|| >",
-                                "or greater than" );
-        operatorDisplayMap.put( "|| <",
-                                "or less than" );
-
-        operatorDisplayMap.put( "|| >=",
-                                "or greater than (or equal to)" );
-        operatorDisplayMap.put( "|| <=",
-                                "or less than (or equal to)" );
-        operatorDisplayMap.put( "&& >=",
-                                "and greater than (or equal to)" );
-        operatorDisplayMap.put( "&& <=",
-                                "or less than (or equal to)" );
-        operatorDisplayMap.put( "&& contains",
-                                "and contains" );
-        operatorDisplayMap.put( "|| contains",
-                                "or contains" );
-        operatorDisplayMap.put( "&& matches",
-                                "and matches" );
-        operatorDisplayMap.put( "|| matches",
-                                "or matches" );
-        operatorDisplayMap.put( "|| excludes",
-                                "or excludes" );
-        operatorDisplayMap.put( "&& excludes",
-                                "and excludes" );
-
-        ceDisplayMap.put( "not",
-                          "There is no" );
-        ceDisplayMap.put( "exists",
-                          "There exists" );
-        ceDisplayMap.put( "or",
-                          "Any of" );
-
-        actionDisplayMap.put( "assert",
-                              "Insert" );
-        actionDisplayMap.put( "assertLogical",
-                              "Logically insert" );
-        actionDisplayMap.put( "retract",
-                              "Retract" );
-        actionDisplayMap.put( "set",
-                              "Set" );
-        actionDisplayMap.put( "modify",
-                              "Modify" );
-
-    }
-
-    public static String getActionDisplayName(String action) {
-        return lookup( action,
-                       actionDisplayMap );
-    }
-
-    public static String getOperatorDisplayName(String op) {
-        return lookup( op,
-                       operatorDisplayMap );
-    }
-
-    public static String getCEDisplayName(String ce) {
-        return lookup( ce,
-                       ceDisplayMap );
-    }
-
-    private static String lookup(String ce,
-                                 Map map) {
-        if ( map.containsKey( ce ) ) {
-            return (String) map.get( ce );
-        } else {
-            return ce;
-        }
-    }
-
-    /**
-     * get operator by its display name
-     *
-     * @param op
-     *            operator display name
-     * @return operator
-     */
-    public static String getOperatorName(String op) {
-        Set keys = operatorDisplayMap.keySet();
-        for ( Iterator iter = keys.iterator(); iter.hasNext(); ) {
-            String key = (String) iter.next();
-            if ( op.equals( operatorDisplayMap.get( key ) ) ) {
-                return key;
-            }
-        }
-        throw new RuntimeException( "No operator display name '" + op + "' was found." );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,140 @@
+package org.drools.eclipse.rulebuilder.modeldriven;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * This contains some simple mappings between operators, conditional elements
+ * and the human readable equivalent.
+ *
+ * Yes, I am making the presumption that programmers are not human, but I think
+ * they (we) are cool with that.
+ *
+ * @author Michael Neale
+ */
+public class HumanReadable {
+
+    public static Map            operatorDisplayMap   = new HashMap();
+
+    public static Map            ceDisplayMap         = new HashMap();
+
+    public static Map            actionDisplayMap     = new HashMap();
+
+    public static final String[] CONDITIONAL_ELEMENTS = new String[]{"not", "exists", "or"};
+
+    static {
+        operatorDisplayMap.put( "==",
+                                "is equal to" );
+        operatorDisplayMap.put( "!=",
+                                "is not equal to" );
+        operatorDisplayMap.put( "<",
+                                "is less than" );
+        operatorDisplayMap.put( "<=",
+                                "less than or equal to" );
+        operatorDisplayMap.put( ">",
+                                "greater than" );
+        operatorDisplayMap.put( ">=",
+                                "greater than or equal to" );
+        operatorDisplayMap.put( "soundslike", "sounds like" );
+
+        operatorDisplayMap.put( "|| ==",
+                                "or equal to" );
+        operatorDisplayMap.put( "|| !=",
+                                "or not equal to" );
+        operatorDisplayMap.put( "&& !=",
+                                "and not equal to" );
+        operatorDisplayMap.put( "&& >",
+                                "and greater than" );
+        operatorDisplayMap.put( "&& <",
+                                "and less than" );
+        operatorDisplayMap.put( "|| >",
+                                "or greater than" );
+        operatorDisplayMap.put( "|| <",
+                                "or less than" );
+
+        operatorDisplayMap.put( "|| >=",
+                                "or greater than (or equal to)" );
+        operatorDisplayMap.put( "|| <=",
+                                "or less than (or equal to)" );
+        operatorDisplayMap.put( "&& >=",
+                                "and greater than (or equal to)" );
+        operatorDisplayMap.put( "&& <=",
+                                "or less than (or equal to)" );
+        operatorDisplayMap.put( "&& contains",
+                                "and contains" );
+        operatorDisplayMap.put( "|| contains",
+                                "or contains" );
+        operatorDisplayMap.put( "&& matches",
+                                "and matches" );
+        operatorDisplayMap.put( "|| matches",
+                                "or matches" );
+        operatorDisplayMap.put( "|| excludes",
+                                "or excludes" );
+        operatorDisplayMap.put( "&& excludes",
+                                "and excludes" );
+
+        ceDisplayMap.put( "not",
+                          "There is no" );
+        ceDisplayMap.put( "exists",
+                          "There exists" );
+        ceDisplayMap.put( "or",
+                          "Any of" );
+
+        actionDisplayMap.put( "assert",
+                              "Insert" );
+        actionDisplayMap.put( "assertLogical",
+                              "Logically insert" );
+        actionDisplayMap.put( "retract",
+                              "Retract" );
+        actionDisplayMap.put( "set",
+                              "Set" );
+        actionDisplayMap.put( "modify",
+                              "Modify" );
+
+    }
+
+    public static String getActionDisplayName(String action) {
+        return lookup( action,
+                       actionDisplayMap );
+    }
+
+    public static String getOperatorDisplayName(String op) {
+        return lookup( op,
+                       operatorDisplayMap );
+    }
+
+    public static String getCEDisplayName(String ce) {
+        return lookup( ce,
+                       ceDisplayMap );
+    }
+
+    private static String lookup(String ce,
+                                 Map map) {
+        if ( map.containsKey( ce ) ) {
+            return (String) map.get( ce );
+        } else {
+            return ce;
+        }
+    }
+
+    /**
+     * get operator by its display name
+     *
+     * @param op
+     *            operator display name
+     * @return operator
+     */
+    public static String getOperatorName(String op) {
+        Set keys = operatorDisplayMap.keySet();
+        for ( Iterator iter = keys.iterator(); iter.hasNext(); ) {
+            String key = (String) iter.next();
+            if ( op.equals( operatorDisplayMap.get( key ) ) ) {
+                return key;
+            }
+        }
+        throw new RuntimeException( "No operator display name '" + op + "' was found." );
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,172 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
-import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
-import org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;
-import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * 
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class ActionInsertFactWidget extends Widget {
-
-    private final ActionInsertFact fact;
-
-    public ActionInsertFactWidget(FormToolkit toolkit,
-                                  Composite parent,
-                                  RuleModeller mod,
-                                  ActionInsertFact fact,
-                                  int index) {
-        super( parent,
-               toolkit,
-               mod,
-               index );
-
-        this.fact = fact;
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 4;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        l.verticalSpacing = 0;
-        parent.setLayout( l );
-
-        create();
-    }
-
-    private void create() {
-
-        String assertType = "assert";
-        if ( fact instanceof ActionInsertLogicalFact ) {
-            assertType = "assertLogical";
-        }
-
-        toolkit.createLabel( parent,
-                             HumanReadable.getActionDisplayName( assertType ) + " " + this.fact.factType );
-        addDeleteRHSAction();
-        addMoreOptionsAction();
-        Composite constraintComposite = toolkit.createComposite( parent );
-        GridLayout constraintLayout = new GridLayout();
-        constraintLayout.numColumns = 3;
-        constraintComposite.setLayout( constraintLayout );
-        createConstraintRows( constraintComposite );
-        toolkit.paintBordersFor( constraintComposite );
-    }
-
-    private void addMoreOptionsAction() {
-        final Shell shell = new Shell( Display.getCurrent() );
-        ImageHyperlink link = addImage( parent,
-                                        "icons/new_item.gif" );
-
-        link.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                RuleDialog popup = new AddNewInsertedFactFieldDialog( shell,
-                                                                      getModeller(),
-                                                                      fact );
-                popup.open();
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        link.setToolTipText( "Add another field to this so you can set its value" );
-    }
-
-    private void createConstraintRows(Composite constraintComposite) {
-        for ( int row = 0; row < fact.fieldValues.length; row++ ) {
-            ActionFieldValue val = fact.fieldValues[row];
-            toolkit.createLabel( constraintComposite,
-                                 val.field );
-            valueEditor( constraintComposite,
-                         val );
-            addRemoveFieldAction( constraintComposite,
-                                  row );
-        }
-    }
-
-    private void addRemoveFieldAction(Composite constraintComposite,
-                                      final int row) {
-        ImageHyperlink delLink = addImage( constraintComposite,
-                                           "icons/delete_item_small.gif" );
-        delLink.setToolTipText( "Remove this field action" );
-
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this item?" );
-                dialog.setText( "Remove this item?" );
-                if ( dialog.open() == SWT.YES ) {
-                    fact.removeField( row );
-                    getModeller().setDirty( true );
-                    getModeller().reloadRhs();
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-    }
-
-    private void valueEditor(Composite parent,
-                             final ActionFieldValue val) {
-        final Text box = toolkit.createText( parent,
-                                             "" );
-
-        if ( val.value != null ) {
-            box.setText( val.value );
-        }
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.grabExcessHorizontalSpace = true;
-        gd.minimumWidth = 100;
-        box.setLayoutData( gd );
-
-        box.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                getModeller().setDirty( true );
-                val.value = box.getText();
-            }
-        } );
-
-        if (val.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
-        	new NumericKeyFilter(box);
-        } 
-        
-        
-    }
-
-    public SuggestionCompletionEngine getCompletion() {
-        return getModeller().getSuggestionCompletionEngine();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,172 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
+import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
+import org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;
+import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+/**
+ * 
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class ActionInsertFactWidget extends Widget {
+
+    private final ActionInsertFact fact;
+
+    public ActionInsertFactWidget(FormToolkit toolkit,
+                                  Composite parent,
+                                  RuleModeller mod,
+                                  ActionInsertFact fact,
+                                  int index) {
+        super( parent,
+               toolkit,
+               mod,
+               index );
+
+        this.fact = fact;
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 4;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        l.verticalSpacing = 0;
+        parent.setLayout( l );
+
+        create();
+    }
+
+    private void create() {
+
+        String assertType = "assert";
+        if ( fact instanceof ActionInsertLogicalFact ) {
+            assertType = "assertLogical";
+        }
+
+        toolkit.createLabel( parent,
+                             HumanReadable.getActionDisplayName( assertType ) + " " + this.fact.factType );
+        addDeleteRHSAction();
+        addMoreOptionsAction();
+        Composite constraintComposite = toolkit.createComposite( parent );
+        GridLayout constraintLayout = new GridLayout();
+        constraintLayout.numColumns = 3;
+        constraintComposite.setLayout( constraintLayout );
+        createConstraintRows( constraintComposite );
+        toolkit.paintBordersFor( constraintComposite );
+    }
+
+    private void addMoreOptionsAction() {
+        final Shell shell = new Shell( Display.getCurrent() );
+        ImageHyperlink link = addImage( parent,
+                                        "icons/new_item.gif" );
+
+        link.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                RuleDialog popup = new AddNewInsertedFactFieldDialog( shell,
+                                                                      getModeller(),
+                                                                      fact );
+                popup.open();
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        link.setToolTipText( "Add another field to this so you can set its value" );
+    }
+
+    private void createConstraintRows(Composite constraintComposite) {
+        for ( int row = 0; row < fact.fieldValues.length; row++ ) {
+            ActionFieldValue val = fact.fieldValues[row];
+            toolkit.createLabel( constraintComposite,
+                                 val.field );
+            valueEditor( constraintComposite,
+                         val );
+            addRemoveFieldAction( constraintComposite,
+                                  row );
+        }
+    }
+
+    private void addRemoveFieldAction(Composite constraintComposite,
+                                      final int row) {
+        ImageHyperlink delLink = addImage( constraintComposite,
+                                           "icons/delete_item_small.gif" );
+        delLink.setToolTipText( "Remove this field action" );
+
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this item?" );
+                dialog.setText( "Remove this item?" );
+                if ( dialog.open() == SWT.YES ) {
+                    fact.removeField( row );
+                    getModeller().setDirty( true );
+                    getModeller().reloadRhs();
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+    }
+
+    private void valueEditor(Composite parent,
+                             final ActionFieldValue val) {
+        final Text box = toolkit.createText( parent,
+                                             "" );
+
+        if ( val.value != null ) {
+            box.setText( val.value );
+        }
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.grabExcessHorizontalSpace = true;
+        gd.minimumWidth = 100;
+        box.setLayoutData( gd );
+
+        box.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                getModeller().setDirty( true );
+                val.value = box.getText();
+            }
+        } );
+
+        if (val.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
+        	new NumericKeyFilter(box);
+        } 
+        
+        
+    }
+
+    public SuggestionCompletionEngine getCompletion() {
+        return getModeller().getSuggestionCompletionEngine();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
-import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * 
- * @author Anton Arhipov
- *
- */
-public class ActionRetractFactWidget extends Widget {
-
-    private final ActionRetractFact fact;
-
-    public ActionRetractFactWidget(FormToolkit toolkit,
-                                   Composite parent,
-                                   RuleModeller modeller,
-                                   ActionRetractFact fact,
-                                   int index) {
-
-        super( parent,
-               toolkit,
-               modeller,
-               index );
-
-        this.fact = fact;
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 4;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        l.verticalSpacing = 0;
-        parent.setLayout( l );
-
-        create();
-    }
-
-    private void create() {
-        toolkit.createLabel( parent,
-                             HumanReadable.getActionDisplayName( "retract" ) );
-        toolkit.createLabel( parent,
-                             "[" + fact.variableName + "]" );
-        addDeleteRHSAction();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
+import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+/**
+ * 
+ * @author Anton Arhipov
+ *
+ */
+public class ActionRetractFactWidget extends Widget {
+
+    private final ActionRetractFact fact;
+
+    public ActionRetractFactWidget(FormToolkit toolkit,
+                                   Composite parent,
+                                   RuleModeller modeller,
+                                   ActionRetractFact fact,
+                                   int index) {
+
+        super( parent,
+               toolkit,
+               modeller,
+               index );
+
+        this.fact = fact;
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 4;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        l.verticalSpacing = 0;
+        parent.setLayout( l );
+
+        create();
+    }
+
+    private void create() {
+        toolkit.createLabel( parent,
+                             HumanReadable.getActionDisplayName( "retract" ) );
+        toolkit.createLabel( parent,
+                             "[" + fact.variableName + "]" );
+        addDeleteRHSAction();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,84 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
-import org.drools.brms.client.modeldriven.brl.ActionSetField;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class ActionSetFieldDialog extends RuleDialog {
-
-    private String[]       fieldCompletions;
-
-    private RuleModeller   modeller;
-
-    private ActionSetField field;
-
-    private String         variableClass;
-
-    public ActionSetFieldDialog(Shell parent,
-                                RuleModeller modeller,
-                                ActionSetField field,
-                                String[] fieldCompletions,
-                                String variableClass) {
-        super( parent,
-               "Add a field",
-               "Add a field" );
-
-        this.fieldCompletions = fieldCompletions;
-        this.modeller = modeller;
-        this.field = field;
-        this.variableClass = variableClass;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-        createLabel( composite,
-                     "Add a field" );
-
-        final Combo fieldsCombo = new Combo( parent,
-                                             SWT.READ_ONLY );
-        fieldsCombo.add( "Choose field..." );
-        for ( int i = 0; i < fieldCompletions.length; i++ ) {
-            fieldsCombo.add( fieldCompletions[i] );
-        }
-        fieldsCombo.select( 0 );
-
-        fieldsCombo.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                if ( fieldsCombo.getSelectionIndex() == 0 ) {
-                    return; // no need to change anything
-                }
-
-                String fieldType = modeller.getSuggestionCompletionEngine().getFieldType( variableClass,
-                                                                                          fieldsCombo.getText() );
-                field.addFieldValue( new ActionFieldValue( fieldsCombo.getText(),
-                                                           "",
-                                                           fieldType ) );
-
-                
-                getShell().getDisplay().asyncExec( new Runnable() {
-
-                    public void run() {
-                        modeller.reloadRhs();
-                        modeller.setDirty( true );
-                        close();
-                    }
-
-                } );
-            }
-        } );
-
-        return composite;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,84 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
+import org.drools.brms.client.modeldriven.brl.ActionSetField;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class ActionSetFieldDialog extends RuleDialog {
+
+    private String[]       fieldCompletions;
+
+    private RuleModeller   modeller;
+
+    private ActionSetField field;
+
+    private String         variableClass;
+
+    public ActionSetFieldDialog(Shell parent,
+                                RuleModeller modeller,
+                                ActionSetField field,
+                                String[] fieldCompletions,
+                                String variableClass) {
+        super( parent,
+               "Add a field",
+               "Add a field" );
+
+        this.fieldCompletions = fieldCompletions;
+        this.modeller = modeller;
+        this.field = field;
+        this.variableClass = variableClass;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+        createLabel( composite,
+                     "Add a field" );
+
+        final Combo fieldsCombo = new Combo( parent,
+                                             SWT.READ_ONLY );
+        fieldsCombo.add( "Choose field..." );
+        for ( int i = 0; i < fieldCompletions.length; i++ ) {
+            fieldsCombo.add( fieldCompletions[i] );
+        }
+        fieldsCombo.select( 0 );
+
+        fieldsCombo.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                if ( fieldsCombo.getSelectionIndex() == 0 ) {
+                    return; // no need to change anything
+                }
+
+                String fieldType = modeller.getSuggestionCompletionEngine().getFieldType( variableClass,
+                                                                                          fieldsCombo.getText() );
+                field.addFieldValue( new ActionFieldValue( fieldsCombo.getText(),
+                                                           "",
+                                                           fieldType ) );
+
+                
+                getShell().getDisplay().asyncExec( new Runnable() {
+
+                    public void run() {
+                        modeller.reloadRhs();
+                        modeller.setDirty( true );
+                        close();
+                    }
+
+                } );
+            }
+        } );
+
+        return composite;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,181 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
-import org.drools.brms.client.modeldriven.brl.ActionSetField;
-import org.drools.brms.client.modeldriven.brl.ActionUpdateField;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.RuleModel;
-import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * @author Anton Arhipov
- * @author Ahti Kitsik
- *
- */
-public class ActionSetFieldWidget extends Widget {
-
-	private ActionSetField set;
-
-	final private String[] fieldCompletions;
-
-	private boolean isBoundFact = false;
-
-	private String variableClass;
-
-	public ActionSetFieldWidget(FormToolkit toolkit, Composite parent,
-			RuleModeller mod, RuleModel rule, ActionSetField set, int index) {
-
-		super(parent, toolkit, mod, index);
-
-		this.set = set;
-
-		if (getCompletion().isGlobalVariable(set.variable)) {
-			this.fieldCompletions = getCompletion()
-					.getFieldCompletionsForGlobalVariable(set.variable);
-			this.variableClass = (String) getCompletion().globalTypes
-					.get(set.variable);
-		} else {
-			FactPattern pattern = rule.getBoundFact(set.variable);
-			this.fieldCompletions = getCompletion().getFieldCompletions(
-					pattern.factType);
-			this.isBoundFact = true;
-			this.variableClass = pattern.factType;
-		}
-
-		GridLayout l = new GridLayout();
-		l.numColumns = 6;
-		l.marginBottom = 0;
-		l.marginHeight = 0;
-		l.marginLeft = 0;
-		l.marginRight = 0;
-		l.marginTop = 0;
-		l.marginWidth = 0;
-		l.verticalSpacing = 0;
-		parent.setLayout(l);
-
-		create();
-
-	}
-
-	private void create() {
-		String modifyType = "set";
-		if (this.set instanceof ActionUpdateField) {
-			modifyType = "modify";
-		}
-
-		toolkit.createLabel(parent, HumanReadable
-				.getActionDisplayName(modifyType)
-				+ " [" + this.set.variable + "]");
-		addDeleteRHSAction();
-		addMoreOptionsAction();
-		addRows();
-	}
-
-	private void addRows() {
-		Composite constraintComposite = toolkit.createComposite(parent);
-		GridLayout constraintLayout = new GridLayout();
-		constraintLayout.numColumns = 3;
-		constraintComposite.setLayout(constraintLayout);
-
-		for (int i = 0; i < set.fieldValues.length; i++) {
-			ActionFieldValue val = set.fieldValues[i];
-			toolkit.createLabel(constraintComposite, val.field);
-			valueEditor(constraintComposite, val);
-			addRemoveFieldAction(constraintComposite, i);
-		}
-
-		toolkit.paintBordersFor(constraintComposite);
-	}
-
-	private void addMoreOptionsAction() {
-		// ImageHyperlink link = addImage(parent,
-		// "icons/add_field_to_fact.gif");
-		ImageHyperlink link = addImage(parent, "icons/new_item.gif");
-
-		link.addHyperlinkListener(new IHyperlinkListener() {
-			public void linkActivated(HyperlinkEvent e) {
-				RuleDialog popup = new ActionSetFieldDialog(parent.getShell(),
-						getModeller(), set, fieldCompletions, variableClass);
-				popup.open();
-
-			}
-
-			public void linkEntered(HyperlinkEvent e) {
-			}
-
-			public void linkExited(HyperlinkEvent e) {
-			}
-		});
-		link.setToolTipText("Add a field");
-	}
-
-	private void addRemoveFieldAction(Composite constraintComposite,
-			final int currentRow) {
-		ImageHyperlink delLink = addImage(constraintComposite,
-				"icons/delete_item_small.gif");
-		delLink.setToolTipText("Remove this field action");
-		delLink.addHyperlinkListener(new IHyperlinkListener() {
-			public void linkActivated(HyperlinkEvent e) {
-				MessageBox dialog = new MessageBox(Display.getCurrent()
-						.getActiveShell(), SWT.YES | SWT.NO | SWT.ICON_WARNING);
-				dialog.setMessage("Remove this item?");
-				dialog.setText("Remove this item?");
-				if (dialog.open() == SWT.YES) {
-					set.removeField(currentRow);
-					getModeller().setDirty(true);
-					getModeller().reloadRhs();
-				}
-			}
-
-			public void linkEntered(HyperlinkEvent e) {
-			}
-
-			public void linkExited(HyperlinkEvent e) {
-			}
-		});
-	}
-
-	private void valueEditor(Composite parent, final ActionFieldValue val) {
-		final Text box = toolkit.createText(parent, "");
-
-		if (val.value != null) {
-			box.setText(val.value);
-		}
-
-		GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.grabExcessHorizontalSpace = true;
-        gd.minimumWidth = 100;
-        box.setLayoutData( gd );
-
-		box.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				val.value = box.getText();
-				getModeller().setDirty(true);
-			}
-		});
-
-		if (val.type.equals(SuggestionCompletionEngine.TYPE_NUMERIC)) {
-			new NumericKeyFilter(box);
-		}
-
-	}
-
-	private SuggestionCompletionEngine getCompletion() {
-		return getModeller().getSuggestionCompletionEngine();
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,181 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
+import org.drools.brms.client.modeldriven.brl.ActionSetField;
+import org.drools.brms.client.modeldriven.brl.ActionUpdateField;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.RuleModel;
+import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+/**
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ *
+ */
+public class ActionSetFieldWidget extends Widget {
+
+	private ActionSetField set;
+
+	final private String[] fieldCompletions;
+
+	private boolean isBoundFact = false;
+
+	private String variableClass;
+
+	public ActionSetFieldWidget(FormToolkit toolkit, Composite parent,
+			RuleModeller mod, RuleModel rule, ActionSetField set, int index) {
+
+		super(parent, toolkit, mod, index);
+
+		this.set = set;
+
+		if (getCompletion().isGlobalVariable(set.variable)) {
+			this.fieldCompletions = getCompletion()
+					.getFieldCompletionsForGlobalVariable(set.variable);
+			this.variableClass = (String) getCompletion().globalTypes
+					.get(set.variable);
+		} else {
+			FactPattern pattern = rule.getBoundFact(set.variable);
+			this.fieldCompletions = getCompletion().getFieldCompletions(
+					pattern.factType);
+			this.isBoundFact = true;
+			this.variableClass = pattern.factType;
+		}
+
+		GridLayout l = new GridLayout();
+		l.numColumns = 6;
+		l.marginBottom = 0;
+		l.marginHeight = 0;
+		l.marginLeft = 0;
+		l.marginRight = 0;
+		l.marginTop = 0;
+		l.marginWidth = 0;
+		l.verticalSpacing = 0;
+		parent.setLayout(l);
+
+		create();
+
+	}
+
+	private void create() {
+		String modifyType = "set";
+		if (this.set instanceof ActionUpdateField) {
+			modifyType = "modify";
+		}
+
+		toolkit.createLabel(parent, HumanReadable
+				.getActionDisplayName(modifyType)
+				+ " [" + this.set.variable + "]");
+		addDeleteRHSAction();
+		addMoreOptionsAction();
+		addRows();
+	}
+
+	private void addRows() {
+		Composite constraintComposite = toolkit.createComposite(parent);
+		GridLayout constraintLayout = new GridLayout();
+		constraintLayout.numColumns = 3;
+		constraintComposite.setLayout(constraintLayout);
+
+		for (int i = 0; i < set.fieldValues.length; i++) {
+			ActionFieldValue val = set.fieldValues[i];
+			toolkit.createLabel(constraintComposite, val.field);
+			valueEditor(constraintComposite, val);
+			addRemoveFieldAction(constraintComposite, i);
+		}
+
+		toolkit.paintBordersFor(constraintComposite);
+	}
+
+	private void addMoreOptionsAction() {
+		// ImageHyperlink link = addImage(parent,
+		// "icons/add_field_to_fact.gif");
+		ImageHyperlink link = addImage(parent, "icons/new_item.gif");
+
+		link.addHyperlinkListener(new IHyperlinkListener() {
+			public void linkActivated(HyperlinkEvent e) {
+				RuleDialog popup = new ActionSetFieldDialog(parent.getShell(),
+						getModeller(), set, fieldCompletions, variableClass);
+				popup.open();
+
+			}
+
+			public void linkEntered(HyperlinkEvent e) {
+			}
+
+			public void linkExited(HyperlinkEvent e) {
+			}
+		});
+		link.setToolTipText("Add a field");
+	}
+
+	private void addRemoveFieldAction(Composite constraintComposite,
+			final int currentRow) {
+		ImageHyperlink delLink = addImage(constraintComposite,
+				"icons/delete_item_small.gif");
+		delLink.setToolTipText("Remove this field action");
+		delLink.addHyperlinkListener(new IHyperlinkListener() {
+			public void linkActivated(HyperlinkEvent e) {
+				MessageBox dialog = new MessageBox(Display.getCurrent()
+						.getActiveShell(), SWT.YES | SWT.NO | SWT.ICON_WARNING);
+				dialog.setMessage("Remove this item?");
+				dialog.setText("Remove this item?");
+				if (dialog.open() == SWT.YES) {
+					set.removeField(currentRow);
+					getModeller().setDirty(true);
+					getModeller().reloadRhs();
+				}
+			}
+
+			public void linkEntered(HyperlinkEvent e) {
+			}
+
+			public void linkExited(HyperlinkEvent e) {
+			}
+		});
+	}
+
+	private void valueEditor(Composite parent, final ActionFieldValue val) {
+		final Text box = toolkit.createText(parent, "");
+
+		if (val.value != null) {
+			box.setText(val.value);
+		}
+
+		GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.grabExcessHorizontalSpace = true;
+        gd.minimumWidth = 100;
+        box.setLayoutData( gd );
+
+		box.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				val.value = box.getText();
+				getModeller().setDirty(true);
+			}
+		});
+
+		if (val.type.equals(SuggestionCompletionEngine.TYPE_NUMERIC)) {
+			new NumericKeyFilter(box);
+		}
+
+	}
+
+	private SuggestionCompletionEngine getCompletion() {
+		return getModeller().getSuggestionCompletionEngine();
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,125 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-public class AddCompositeConstraintOptionDialog extends RuleDialog {
-
-    private RuleModeller                   modeller;
-
-    private FactPattern                    pattern;
-
-    private final CompositeFieldConstraint constraint;
-
-    public AddCompositeConstraintOptionDialog(Shell parent,
-                                              RuleModeller modeller,
-                                              CompositeFieldConstraint constraint,
-                                              FactPattern pattern) {
-        super( parent,
-               "Add fields to this constriant",
-               "Pick the value from combo." );
-
-        this.modeller = modeller;
-        this.constraint = constraint;
-        this.pattern = pattern;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 3;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        composite.setLayout( l );
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.horizontalSpan = 2;
-
-        createFieldRestrictionCombo( composite,
-                                     gd );
-        createMultiFieldCombo( composite,
-                               gd );
-
-        return composite;
-    }
-
-    private void createFieldRestrictionCombo(Composite composite,
-                                             GridData gd) {
-        createLabel( composite,
-                     "Add a restriction on a field" );
-        final Combo combo = new Combo( composite,
-                                       SWT.READ_ONLY );
-        combo.setLayoutData( gd );
-        combo.add( "..." );
-        String[] fields = this.modeller.getSuggestionCompletionEngine().getFieldCompletions( this.pattern.factType );
-        for ( int i = 0; i < fields.length; i++ ) {
-            combo.add( fields[i] );
-        }
-        combo.select( 0 );
-
-        combo.addListener( SWT.Selection,
-                           new Listener() {
-                               public void handleEvent(Event event) {
-                                   if ( combo.getSelectionIndex() == 0 ) {
-                                       return;
-                                   }
-
-                                   constraint.addConstraint( new SingleFieldConstraint( combo.getText() ) );
-                                   modeller.setDirty( true );
-                                   modeller.reloadLhs();
-                                   close();
-                               }
-                           } );
-
-    }
-
-    private void createMultiFieldCombo(Composite composite,
-                                       GridData gd) {
-        createLabel( composite,
-                     "Multiple field constraint" );
-        final Combo combo = new Combo( composite,
-                                       SWT.READ_ONLY );
-        combo.setLayoutData( gd );
-        combo.add( "..." );
-        combo.add( "All of (And)" );
-        combo.add( "Any of (Or)" );
-        combo.setData( "All of (And)",
-                       CompositeFieldConstraint.COMPOSITE_TYPE_AND );
-        combo.setData( "Any of (Or)",
-                       CompositeFieldConstraint.COMPOSITE_TYPE_OR );
-        combo.select( 0 );
-
-        combo.addListener( SWT.Selection,
-                           new Listener() {
-                               public void handleEvent(Event event) {
-                                   if ( combo.getSelectionIndex() == 0 ) {
-                                       return;
-                                   }
-                                   CompositeFieldConstraint comp = new CompositeFieldConstraint();
-                                   comp.compositeJunctionType = combo.getText();
-                                   constraint.addConstraint( comp );
-
-                                   modeller.reloadLhs();
-                                   modeller.setDirty( true );
-                                   close();
-                               }
-                           } );
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,125 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+public class AddCompositeConstraintOptionDialog extends RuleDialog {
+
+    private RuleModeller                   modeller;
+
+    private FactPattern                    pattern;
+
+    private final CompositeFieldConstraint constraint;
+
+    public AddCompositeConstraintOptionDialog(Shell parent,
+                                              RuleModeller modeller,
+                                              CompositeFieldConstraint constraint,
+                                              FactPattern pattern) {
+        super( parent,
+               "Add fields to this constriant",
+               "Pick the value from combo." );
+
+        this.modeller = modeller;
+        this.constraint = constraint;
+        this.pattern = pattern;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 3;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        composite.setLayout( l );
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.horizontalSpan = 2;
+
+        createFieldRestrictionCombo( composite,
+                                     gd );
+        createMultiFieldCombo( composite,
+                               gd );
+
+        return composite;
+    }
+
+    private void createFieldRestrictionCombo(Composite composite,
+                                             GridData gd) {
+        createLabel( composite,
+                     "Add a restriction on a field" );
+        final Combo combo = new Combo( composite,
+                                       SWT.READ_ONLY );
+        combo.setLayoutData( gd );
+        combo.add( "..." );
+        String[] fields = this.modeller.getSuggestionCompletionEngine().getFieldCompletions( this.pattern.factType );
+        for ( int i = 0; i < fields.length; i++ ) {
+            combo.add( fields[i] );
+        }
+        combo.select( 0 );
+
+        combo.addListener( SWT.Selection,
+                           new Listener() {
+                               public void handleEvent(Event event) {
+                                   if ( combo.getSelectionIndex() == 0 ) {
+                                       return;
+                                   }
+
+                                   constraint.addConstraint( new SingleFieldConstraint( combo.getText() ) );
+                                   modeller.setDirty( true );
+                                   modeller.reloadLhs();
+                                   close();
+                               }
+                           } );
+
+    }
+
+    private void createMultiFieldCombo(Composite composite,
+                                       GridData gd) {
+        createLabel( composite,
+                     "Multiple field constraint" );
+        final Combo combo = new Combo( composite,
+                                       SWT.READ_ONLY );
+        combo.setLayoutData( gd );
+        combo.add( "..." );
+        combo.add( "All of (And)" );
+        combo.add( "Any of (Or)" );
+        combo.setData( "All of (And)",
+                       CompositeFieldConstraint.COMPOSITE_TYPE_AND );
+        combo.setData( "Any of (Or)",
+                       CompositeFieldConstraint.COMPOSITE_TYPE_OR );
+        combo.select( 0 );
+
+        combo.addListener( SWT.Selection,
+                           new Listener() {
+                               public void handleEvent(Event event) {
+                                   if ( combo.getSelectionIndex() == 0 ) {
+                                       return;
+                                   }
+                                   CompositeFieldConstraint comp = new CompositeFieldConstraint();
+                                   comp.compositeJunctionType = combo.getText();
+                                   constraint.addConstraint( comp );
+
+                                   modeller.reloadLhs();
+                                   modeller.setDirty( true );
+                                   close();
+                               }
+                           } );
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,263 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
-import org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;
-import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
-import org.drools.brms.client.modeldriven.brl.ActionSetField;
-import org.drools.brms.client.modeldriven.brl.ActionUpdateField;
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * This provides a popup for new RHS action selection.
- *
- * @author Anton Arhipov
- * @author Ahti Kitsik
- */
-public class AddNewActionDialog extends RuleDialog {
-
-    private RuleModeller      modeller;
-
-    public AddNewActionDialog(Shell parent,
-                              RuleModeller modeller) {
-        super( parent,
-               "Add a new action",
-               "Pick the values from combos and confirm the selection." );
-        this.modeller = modeller;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-        String heading = "Choose...";
-
-        createValuesOfFieldPart( composite,
-                                   heading );
-
-        createModifyFieldPart( composite,
-                                 heading );
-
-        createRetractFieldPart(composite, heading);
-
-
-        String[] facts = getCompletion().getFactTypes();
-
-        createFactAssertionPart( composite,
-                                 heading,
-                                 facts );
-
-        createFactLogicalAssertionPart( composite,
-                                        heading,
-                                        facts );
-
-        createDslSentences( composite,
-                            heading );
-
-        return composite;
-    }
-
-    private void createRetractFieldPart(Composite composite, String heading) {
-    	createLabel( composite, "Retract the fact" );
-
-    	final Combo factsCombo = new Combo( composite, SWT.READ_ONLY );
-
-    	factsCombo.add( heading );
-
-    	List boundFacts = modeller.getModel().getBoundFacts();
-
-        for ( int i = 0; i < boundFacts.size(); i++ ) {
-            factsCombo.add( (String) boundFacts.get( i ) );
-        }
-        factsCombo.select( 0 );
-
-        factsCombo.addListener( SWT.Selection,
-                new Listener() {
-                    public void handleEvent(Event event) {
-                        if ( factsCombo.getSelectionIndex() == 0 ) {
-                            return;
-                        }
-
-                        modeller.getModel().addRhsItem( new ActionRetractFact(factsCombo.getText()) );
-
-                        modeller.setDirty( true );
-                        modeller.reloadRhs();
-                        close();
-                    }
-                } );
-
-	}
-
-	private void createModifyFieldPart(Composite composite,
-                                       String heading) {
-        createLabel( composite,
-                     "Modify a field on a fact" );
-        final Combo factsCombo = new Combo( composite,
-                                                 SWT.READ_ONLY );
-        factsCombo.add( heading );
-
-        List boundFacts = modeller.getModel().getBoundFacts();
-
-        for ( int i = 0; i < boundFacts.size(); i++ ) {
-            factsCombo.add( (String) boundFacts.get( i ) );
-        }
-        factsCombo.select( 0 );
-
-        factsCombo.addListener( SWT.Selection,
-                                     new Listener() {
-                                         public void handleEvent(Event event) {
-                                             if ( factsCombo.getSelectionIndex() == 0 ) {
-                                                 return;
-                                             }
-
-                                             modeller.getModel().addRhsItem(new ActionUpdateField(factsCombo.getText()));
-
-                                             modeller.setDirty( true );
-                                             modeller.reloadRhs();
-                                             close();
-                                         }
-                                     } );
-
-    }
-
-    private void createDslSentences(Composite composite,
-                                    String heading) {
-        if ( getCompletion().getDSLActions().length > 0 ) {
-            createLabel( composite,
-                         "Actions" );
-
-            final Combo dslCombo = new Combo( composite,
-                                              SWT.READ_ONLY );
-            dslCombo.add( heading );
-            for ( int i = 0; i < getCompletion().getDSLActions().length; i++ ) {
-                DSLSentence sen = getCompletion().getDSLActions()[i];
-                dslCombo.add( sen.toString() );
-            }
-
-            dslCombo.select( 0 );
-
-            dslCombo.addListener( SWT.Selection,
-                                  new Listener() {
-                                      public void handleEvent(Event event) {
-                                          if ( dslCombo.getSelectionIndex() == 0 ) {
-                                              return;
-                                          }
-
-                                          DSLSentence sentence = getCompletion().getDSLActions()[dslCombo.getSelectionIndex() - 1];
-										  modeller.getModel().addRhsItem( sentence.copy() );
-                                          modeller.setDirty( true );
-                                          modeller.reloadRhs();
-                                          close();
-                                      }
-                                  } );
-
-        }
-    }
-
-    private void createFactLogicalAssertionPart(Composite composite,
-                                                String heading,
-                                                String[] facts) {
-        createLabel( composite,
-                     "Logically insert a new fact" );
-        final Combo factsCombo = createFactsCombo( composite,
-                                                   heading,
-                                                   facts );
-        factsCombo.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-
-                                        if ( factsCombo.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-
-                                        modeller.getModel().addRhsItem( new ActionInsertLogicalFact( factsCombo.getText() ) );
-                                        modeller.setDirty( true );
-                                        modeller.reloadRhs();
-                                        close();
-                                    }
-                                } );
-    }
-
-    private void createFactAssertionPart(Composite composite,
-                                         String heading,
-                                         String[] facts) {
-        createLabel( composite,
-                     "Assert a new fact" );
-        final Combo factsCombo = createFactsCombo( composite,
-                                                   heading,
-                                                   facts );
-        factsCombo.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-                                        if ( factsCombo.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-
-                                        modeller.getModel().addRhsItem( new ActionInsertFact( factsCombo.getText() ) );
-                                        modeller.setDirty( true );
-                                        modeller.reloadRhs();
-                                        close();
-                                    }
-                                } );
-    }
-
-    private Combo createFactsCombo(Composite composite,
-                                   String heading,
-                                   String[] facts) {
-        Combo factsCombo = new Combo( composite,
-                                      SWT.READ_ONLY );
-        factsCombo.add( heading );
-        for ( int i = 0; i < facts.length; i++ ) {
-            factsCombo.add( facts[i] );
-        }
-        factsCombo.select( 0 );
-        return factsCombo;
-    }
-
-    private void createValuesOfFieldPart(Composite composite,
-                                           String heading) {
-        createLabel( composite,
-                     "Set the values of a field on" );
-        final Combo globalVarsCombo = new Combo( composite,
-                                                 SWT.READ_ONLY );
-        globalVarsCombo.add( heading );
-
-        List boundFacts = modeller.getModel().getBoundFacts();
-
-        //adding globals
-        String[] globals = modeller.getSuggestionCompletionEngine().getGlobalVariables();
-        boundFacts.addAll(Arrays.asList(globals));
-
-        for ( int i = 0; i < boundFacts.size(); i++ ) {
-            globalVarsCombo.add( (String) boundFacts.get( i ) );
-        }
-        globalVarsCombo.select( 0 );
-
-        globalVarsCombo.addListener( SWT.Selection,
-                                     new Listener() {
-                                         public void handleEvent(Event event) {
-                                             if ( globalVarsCombo.getSelectionIndex() == 0 ) {
-                                                 return;
-                                             }
-
-                                             modeller.getModel().addRhsItem( new ActionSetField( globalVarsCombo.getText() ) );
-                                             modeller.setDirty( true );
-                                             modeller.reloadRhs();
-                                             close();
-                                         }
-                                     } );
-    }
-
-    public SuggestionCompletionEngine getCompletion() {
-        return modeller.getSuggestionCompletionEngine();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,263 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
+import org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;
+import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
+import org.drools.brms.client.modeldriven.brl.ActionSetField;
+import org.drools.brms.client.modeldriven.brl.ActionUpdateField;
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * This provides a popup for new RHS action selection.
+ *
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ */
+public class AddNewActionDialog extends RuleDialog {
+
+    private RuleModeller      modeller;
+
+    public AddNewActionDialog(Shell parent,
+                              RuleModeller modeller) {
+        super( parent,
+               "Add a new action",
+               "Pick the values from combos and confirm the selection." );
+        this.modeller = modeller;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+        String heading = "Choose...";
+
+        createValuesOfFieldPart( composite,
+                                   heading );
+
+        createModifyFieldPart( composite,
+                                 heading );
+
+        createRetractFieldPart(composite, heading);
+
+
+        String[] facts = getCompletion().getFactTypes();
+
+        createFactAssertionPart( composite,
+                                 heading,
+                                 facts );
+
+        createFactLogicalAssertionPart( composite,
+                                        heading,
+                                        facts );
+
+        createDslSentences( composite,
+                            heading );
+
+        return composite;
+    }
+
+    private void createRetractFieldPart(Composite composite, String heading) {
+    	createLabel( composite, "Retract the fact" );
+
+    	final Combo factsCombo = new Combo( composite, SWT.READ_ONLY );
+
+    	factsCombo.add( heading );
+
+    	List boundFacts = modeller.getModel().getBoundFacts();
+
+        for ( int i = 0; i < boundFacts.size(); i++ ) {
+            factsCombo.add( (String) boundFacts.get( i ) );
+        }
+        factsCombo.select( 0 );
+
+        factsCombo.addListener( SWT.Selection,
+                new Listener() {
+                    public void handleEvent(Event event) {
+                        if ( factsCombo.getSelectionIndex() == 0 ) {
+                            return;
+                        }
+
+                        modeller.getModel().addRhsItem( new ActionRetractFact(factsCombo.getText()) );
+
+                        modeller.setDirty( true );
+                        modeller.reloadRhs();
+                        close();
+                    }
+                } );
+
+	}
+
+	private void createModifyFieldPart(Composite composite,
+                                       String heading) {
+        createLabel( composite,
+                     "Modify a field on a fact" );
+        final Combo factsCombo = new Combo( composite,
+                                                 SWT.READ_ONLY );
+        factsCombo.add( heading );
+
+        List boundFacts = modeller.getModel().getBoundFacts();
+
+        for ( int i = 0; i < boundFacts.size(); i++ ) {
+            factsCombo.add( (String) boundFacts.get( i ) );
+        }
+        factsCombo.select( 0 );
+
+        factsCombo.addListener( SWT.Selection,
+                                     new Listener() {
+                                         public void handleEvent(Event event) {
+                                             if ( factsCombo.getSelectionIndex() == 0 ) {
+                                                 return;
+                                             }
+
+                                             modeller.getModel().addRhsItem(new ActionUpdateField(factsCombo.getText()));
+
+                                             modeller.setDirty( true );
+                                             modeller.reloadRhs();
+                                             close();
+                                         }
+                                     } );
+
+    }
+
+    private void createDslSentences(Composite composite,
+                                    String heading) {
+        if ( getCompletion().getDSLActions().length > 0 ) {
+            createLabel( composite,
+                         "Actions" );
+
+            final Combo dslCombo = new Combo( composite,
+                                              SWT.READ_ONLY );
+            dslCombo.add( heading );
+            for ( int i = 0; i < getCompletion().getDSLActions().length; i++ ) {
+                DSLSentence sen = getCompletion().getDSLActions()[i];
+                dslCombo.add( sen.toString() );
+            }
+
+            dslCombo.select( 0 );
+
+            dslCombo.addListener( SWT.Selection,
+                                  new Listener() {
+                                      public void handleEvent(Event event) {
+                                          if ( dslCombo.getSelectionIndex() == 0 ) {
+                                              return;
+                                          }
+
+                                          DSLSentence sentence = getCompletion().getDSLActions()[dslCombo.getSelectionIndex() - 1];
+										  modeller.getModel().addRhsItem( sentence.copy() );
+                                          modeller.setDirty( true );
+                                          modeller.reloadRhs();
+                                          close();
+                                      }
+                                  } );
+
+        }
+    }
+
+    private void createFactLogicalAssertionPart(Composite composite,
+                                                String heading,
+                                                String[] facts) {
+        createLabel( composite,
+                     "Logically insert a new fact" );
+        final Combo factsCombo = createFactsCombo( composite,
+                                                   heading,
+                                                   facts );
+        factsCombo.addListener( SWT.Selection,
+                                new Listener() {
+                                    public void handleEvent(Event event) {
+
+                                        if ( factsCombo.getSelectionIndex() == 0 ) {
+                                            return;
+                                        }
+
+                                        modeller.getModel().addRhsItem( new ActionInsertLogicalFact( factsCombo.getText() ) );
+                                        modeller.setDirty( true );
+                                        modeller.reloadRhs();
+                                        close();
+                                    }
+                                } );
+    }
+
+    private void createFactAssertionPart(Composite composite,
+                                         String heading,
+                                         String[] facts) {
+        createLabel( composite,
+                     "Assert a new fact" );
+        final Combo factsCombo = createFactsCombo( composite,
+                                                   heading,
+                                                   facts );
+        factsCombo.addListener( SWT.Selection,
+                                new Listener() {
+                                    public void handleEvent(Event event) {
+                                        if ( factsCombo.getSelectionIndex() == 0 ) {
+                                            return;
+                                        }
+
+                                        modeller.getModel().addRhsItem( new ActionInsertFact( factsCombo.getText() ) );
+                                        modeller.setDirty( true );
+                                        modeller.reloadRhs();
+                                        close();
+                                    }
+                                } );
+    }
+
+    private Combo createFactsCombo(Composite composite,
+                                   String heading,
+                                   String[] facts) {
+        Combo factsCombo = new Combo( composite,
+                                      SWT.READ_ONLY );
+        factsCombo.add( heading );
+        for ( int i = 0; i < facts.length; i++ ) {
+            factsCombo.add( facts[i] );
+        }
+        factsCombo.select( 0 );
+        return factsCombo;
+    }
+
+    private void createValuesOfFieldPart(Composite composite,
+                                           String heading) {
+        createLabel( composite,
+                     "Set the values of a field on" );
+        final Combo globalVarsCombo = new Combo( composite,
+                                                 SWT.READ_ONLY );
+        globalVarsCombo.add( heading );
+
+        List boundFacts = modeller.getModel().getBoundFacts();
+
+        //adding globals
+        String[] globals = modeller.getSuggestionCompletionEngine().getGlobalVariables();
+        boundFacts.addAll(Arrays.asList(globals));
+
+        for ( int i = 0; i < boundFacts.size(); i++ ) {
+            globalVarsCombo.add( (String) boundFacts.get( i ) );
+        }
+        globalVarsCombo.select( 0 );
+
+        globalVarsCombo.addListener( SWT.Selection,
+                                     new Listener() {
+                                         public void handleEvent(Event event) {
+                                             if ( globalVarsCombo.getSelectionIndex() == 0 ) {
+                                                 return;
+                                             }
+
+                                             modeller.getModel().addRhsItem( new ActionSetField( globalVarsCombo.getText() ) );
+                                             modeller.setDirty( true );
+                                             modeller.reloadRhs();
+                                             close();
+                                         }
+                                     } );
+    }
+
+    public SuggestionCompletionEngine getCompletion() {
+        return modeller.getSuggestionCompletionEngine();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,154 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.IPattern;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * This provides a popup for new LHS condition selection. (add new if-condition)
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- */
-public class AddNewConditionDialog extends RuleDialog {
-
-    private IPattern          pattern;
-
-    private RuleModeller      modeller;
-
-    public AddNewConditionDialog(Shell parent,
-                                 RuleModeller modeller) {
-
-        super( parent,
-               "Add new condition to the rule",
-               "Pick the values from combos and confirm the selection." );
-
-        this.modeller = modeller;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Control dialog = super.createDialogArea( parent );
-
-        Composite composite = (Composite) dialog;
-
-        addFacts( composite );
-
-        addConditionType( composite );
-
-        addDSLSentences( composite );
-
-        return composite;
-    }
-
-    private void addFacts(Composite composite) {
-        createLabel( composite,
-                     "Fact" );
-
-        String[] factTypes = getCompletion().getFactTypes();
-        final Combo factsCombo = new Combo( composite,
-                                            SWT.READ_ONLY );
-        factsCombo.add( "Choose fact type..." );
-        for ( int i = 0; i < factTypes.length; i++ ) {
-            factsCombo.add( factTypes[i] );
-        }
-        factsCombo.select( 0 );
-
-        factsCombo.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-                                        if ( factsCombo.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-                                        modeller.getModel().addLhsItem( new FactPattern( factsCombo.getText() ) );
-                                        modeller.reloadLhs();
-                                        modeller.setDirty( true );
-                                        close();
-                                    }
-                                } );
-    }
-
-    private void addConditionType(Composite composite) {
-        createLabel( composite,
-                     "Condition type" );
-
-        final Combo conditionalsCombo = new Combo( composite,
-                                                   SWT.READ_ONLY );
-        String[] conditionalElements = getCompletion().getConditionalElements();
-        conditionalsCombo.add( "Choose condition type..." );
-        for ( int i = 0; i < conditionalElements.length; i++ ) {
-            conditionalsCombo.add( conditionalElements[i] );
-        }
-        conditionalsCombo.select( 0 );
-
-        conditionalsCombo.addListener( SWT.Selection,
-                                       new Listener() {
-                                           public void handleEvent(Event event) {
-                                               if ( conditionalsCombo.getSelectionIndex() == 0 ) {
-                                                   return;
-                                               }
-
-                                               modeller.getModel().addLhsItem( new CompositeFactPattern( conditionalsCombo.getText() ) );
-                                               modeller.reloadLhs();
-                                               modeller.setDirty( true );
-                                               close();
-                                           }
-                                       } );
-    }
-
-    //
-    // The list of DSL sentences
-    //
-    private void addDSLSentences(Composite composite) {
-        if ( getCompletion().getDSLConditions().length > 0 ) {
-            createLabel( composite,
-                         "Condition sentences" );
-
-            final Combo dslCombo = new Combo( composite,
-                                              SWT.READ_ONLY );
-            dslCombo.add( "Choose..." );
-
-            for ( int i = 0; i < getCompletion().getDSLConditions().length; i++ ) {
-                DSLSentence sen = getCompletion().getDSLConditions()[i];
-                dslCombo.add( sen.toString() );
-            }
-
-            dslCombo.select( 0 );
-
-            dslCombo.addListener( SWT.Selection,
-                                  new Listener() {
-                                      public void handleEvent(Event event) {
-                                          if ( dslCombo.getSelectionIndex() == 0 ) {
-                                              return;
-                                          }
-
-                                          DSLSentence sentence = getCompletion().getDSLConditions()[dslCombo.getSelectionIndex() - 1];
-										//TODO Handle this kind of situations with care - add* can throw runtime exceptions
-                                          modeller.getModel().addLhsItem( sentence.copy() );
-
-                                          modeller.reloadLhs();
-                                          modeller.setDirty( true );
-                                          close();
-                                      }
-                                  } );
-
-        }
-    }
-
-    public IPattern getPattern() {
-        return pattern;
-    }
-
-    private SuggestionCompletionEngine getCompletion() {
-        return modeller.getSuggestionCompletionEngine();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,154 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.IPattern;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * This provides a popup for new LHS condition selection. (add new if-condition)
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ */
+public class AddNewConditionDialog extends RuleDialog {
+
+    private IPattern          pattern;
+
+    private RuleModeller      modeller;
+
+    public AddNewConditionDialog(Shell parent,
+                                 RuleModeller modeller) {
+
+        super( parent,
+               "Add new condition to the rule",
+               "Pick the values from combos and confirm the selection." );
+
+        this.modeller = modeller;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Control dialog = super.createDialogArea( parent );
+
+        Composite composite = (Composite) dialog;
+
+        addFacts( composite );
+
+        addConditionType( composite );
+
+        addDSLSentences( composite );
+
+        return composite;
+    }
+
+    private void addFacts(Composite composite) {
+        createLabel( composite,
+                     "Fact" );
+
+        String[] factTypes = getCompletion().getFactTypes();
+        final Combo factsCombo = new Combo( composite,
+                                            SWT.READ_ONLY );
+        factsCombo.add( "Choose fact type..." );
+        for ( int i = 0; i < factTypes.length; i++ ) {
+            factsCombo.add( factTypes[i] );
+        }
+        factsCombo.select( 0 );
+
+        factsCombo.addListener( SWT.Selection,
+                                new Listener() {
+                                    public void handleEvent(Event event) {
+                                        if ( factsCombo.getSelectionIndex() == 0 ) {
+                                            return;
+                                        }
+                                        modeller.getModel().addLhsItem( new FactPattern( factsCombo.getText() ) );
+                                        modeller.reloadLhs();
+                                        modeller.setDirty( true );
+                                        close();
+                                    }
+                                } );
+    }
+
+    private void addConditionType(Composite composite) {
+        createLabel( composite,
+                     "Condition type" );
+
+        final Combo conditionalsCombo = new Combo( composite,
+                                                   SWT.READ_ONLY );
+        String[] conditionalElements = getCompletion().getConditionalElements();
+        conditionalsCombo.add( "Choose condition type..." );
+        for ( int i = 0; i < conditionalElements.length; i++ ) {
+            conditionalsCombo.add( conditionalElements[i] );
+        }
+        conditionalsCombo.select( 0 );
+
+        conditionalsCombo.addListener( SWT.Selection,
+                                       new Listener() {
+                                           public void handleEvent(Event event) {
+                                               if ( conditionalsCombo.getSelectionIndex() == 0 ) {
+                                                   return;
+                                               }
+
+                                               modeller.getModel().addLhsItem( new CompositeFactPattern( conditionalsCombo.getText() ) );
+                                               modeller.reloadLhs();
+                                               modeller.setDirty( true );
+                                               close();
+                                           }
+                                       } );
+    }
+
+    //
+    // The list of DSL sentences
+    //
+    private void addDSLSentences(Composite composite) {
+        if ( getCompletion().getDSLConditions().length > 0 ) {
+            createLabel( composite,
+                         "Condition sentences" );
+
+            final Combo dslCombo = new Combo( composite,
+                                              SWT.READ_ONLY );
+            dslCombo.add( "Choose..." );
+
+            for ( int i = 0; i < getCompletion().getDSLConditions().length; i++ ) {
+                DSLSentence sen = getCompletion().getDSLConditions()[i];
+                dslCombo.add( sen.toString() );
+            }
+
+            dslCombo.select( 0 );
+
+            dslCombo.addListener( SWT.Selection,
+                                  new Listener() {
+                                      public void handleEvent(Event event) {
+                                          if ( dslCombo.getSelectionIndex() == 0 ) {
+                                              return;
+                                          }
+
+                                          DSLSentence sentence = getCompletion().getDSLConditions()[dslCombo.getSelectionIndex() - 1];
+										//TODO Handle this kind of situations with care - add* can throw runtime exceptions
+                                          modeller.getModel().addLhsItem( sentence.copy() );
+
+                                          modeller.reloadLhs();
+                                          modeller.setDirty( true );
+                                          close();
+                                      }
+                                  } );
+
+        }
+    }
+
+    public IPattern getPattern() {
+        return pattern;
+    }
+
+    private SuggestionCompletionEngine getCompletion() {
+        return modeller.getSuggestionCompletionEngine();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,76 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Adds new fact pattern to a composite fact
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- */
-public class AddNewFactConstraintDialog extends RuleDialog {
-
-    private RuleModeller         modeller;
-
-    private CompositeFactPattern pattern;
-
-    public AddNewFactConstraintDialog(Shell parent,
-                                      RuleModeller modeller,
-                                      CompositeFactPattern pattern) {
-        super( parent,
-               "New fact pattern",
-               "Pick the value from combobox." );
-        this.modeller = modeller;
-        this.pattern = pattern;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        createLabel( composite,
-                     "Choose fact type" );
-
-        String[] fieldCompletitions = getCompletion().getFactTypes();
-        final Combo factsCombo = new Combo( composite,
-                                            SWT.READ_ONLY );
-        factsCombo.add( "Choose fact type..." );
-        for ( int i = 0; i < fieldCompletitions.length; i++ ) {
-            factsCombo.add( fieldCompletitions[i] );
-        }
-        factsCombo.select( 0 );
-
-        factsCombo.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-
-                                        if ( factsCombo.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-
-                                        FactPattern factPattern = new FactPattern();
-                                        factPattern.factType = factsCombo.getText();
-                                        pattern.addFactPattern( factPattern );
-
-                                        modeller.setDirty( true );
-                                        modeller.reloadLhs();
-                                        close();
-                                    }
-                                } );
-
-        return composite;
-    }
-
-    private SuggestionCompletionEngine getCompletion() {
-        return modeller.getSuggestionCompletionEngine();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,76 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Adds new fact pattern to a composite fact
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ */
+public class AddNewFactConstraintDialog extends RuleDialog {
+
+    private RuleModeller         modeller;
+
+    private CompositeFactPattern pattern;
+
+    public AddNewFactConstraintDialog(Shell parent,
+                                      RuleModeller modeller,
+                                      CompositeFactPattern pattern) {
+        super( parent,
+               "New fact pattern",
+               "Pick the value from combobox." );
+        this.modeller = modeller;
+        this.pattern = pattern;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        createLabel( composite,
+                     "Choose fact type" );
+
+        String[] fieldCompletitions = getCompletion().getFactTypes();
+        final Combo factsCombo = new Combo( composite,
+                                            SWT.READ_ONLY );
+        factsCombo.add( "Choose fact type..." );
+        for ( int i = 0; i < fieldCompletitions.length; i++ ) {
+            factsCombo.add( fieldCompletitions[i] );
+        }
+        factsCombo.select( 0 );
+
+        factsCombo.addListener( SWT.Selection,
+                                new Listener() {
+                                    public void handleEvent(Event event) {
+
+                                        if ( factsCombo.getSelectionIndex() == 0 ) {
+                                            return;
+                                        }
+
+                                        FactPattern factPattern = new FactPattern();
+                                        factPattern.factType = factsCombo.getText();
+                                        pattern.addFactPattern( factPattern );
+
+                                        modeller.setDirty( true );
+                                        modeller.reloadLhs();
+                                        close();
+                                    }
+                                } );
+
+        return composite;
+    }
+
+    private SuggestionCompletionEngine getCompletion() {
+        return modeller.getSuggestionCompletionEngine();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,201 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * Adding a new constraint for a field of a FactPattern
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class AddNewFieldConstraintDialog extends RuleDialog {
-
-    private final FormToolkit toolkit;
-
-    private RuleModeller      modeller;
-
-    private FactPattern       pattern;
-
-    private boolean           isNested;
-
-    public AddNewFieldConstraintDialog(Shell parent,
-                                       FormToolkit toolkit,
-                                       RuleModeller modeller,
-                                       FactPattern pattern,
-                                       boolean isNested) {
-        super( parent,
-               "Update constraints",
-               "Pick the values from combos and confirm the selection." );
-        this.toolkit = toolkit;
-        this.modeller = modeller;
-        this.pattern = pattern;
-        this.isNested = isNested;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 3;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        composite.setLayout( l );
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.horizontalSpan = 2;
-
-        createFieldRestrictionCombo( composite,
-                                     gd );
-        createMultipleRestrictionCombo( composite,
-                                        gd );
-        createFormulaRow( composite,
-                          gd );
-        if ( !isNested ) {
-            createVariableBindingRow( composite );
-        }
-
-        toolkit.paintBordersFor( composite );
-        return composite;
-    }
-
-    private void createMultipleRestrictionCombo(Composite composite,
-                                                GridData gd) {
-        createLabel( composite,
-                     "Multiple field constriant" );
-        final Combo composites = new Combo( composite,
-                                            SWT.READ_ONLY );
-
-        composites.setLayoutData( gd );
-
-        composites.add( "..." );
-        composites.add( "All of (And)" );
-        composites.add( "Any of (Or)" );
-        composites.setData( "All of (And)",
-                            CompositeFieldConstraint.COMPOSITE_TYPE_AND );
-        composites.setData( "Any of (Or)",
-                            CompositeFieldConstraint.COMPOSITE_TYPE_OR );
-        composites.select( 0 );
-
-        composites.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-                                        if ( composites.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-
-                                        CompositeFieldConstraint comp = new CompositeFieldConstraint();
-                                        comp.compositeJunctionType = (String) composites.getData( composites.getText() );
-
-                                        pattern.addConstraint( comp );
-                                        modeller.reloadLhs(); //TODO:review, perhaps should be another order of these calls
-                                        modeller.setDirty( true );
-                                        close();
-                                    }
-                                } );
-    }
-
-    private void createFieldRestrictionCombo(Composite composite,
-                                             GridData gd) {
-        createLabel( composite,
-                     "Add a restriction on a field" );
-
-        String[] fieldCompletitions = getCompletion().getFieldCompletions( pattern.factType );
-        final Combo fieldsCombo = new Combo( composite,
-                                             SWT.READ_ONLY );
-        fieldsCombo.setLayoutData( gd );
-        fieldsCombo.add( "..." );
-        for ( int i = 0; i < fieldCompletitions.length; i++ ) {
-            fieldsCombo.add( fieldCompletitions[i] );
-        }
-        fieldsCombo.select( 0 );
-
-        fieldsCombo.addListener( SWT.Selection,
-                                 new Listener() {
-                                     public void handleEvent(Event event) {
-                                         if ( fieldsCombo.getSelectionIndex() == 0 ) {
-                                             return;
-                                         }
-
-                                         SingleFieldConstraint constraint = new SingleFieldConstraint();
-                                         constraint.fieldName = fieldsCombo.getText();
-                                         pattern.addConstraint( constraint );
-                                         modeller.setDirty( true );
-                                         modeller.reloadLhs();
-                                         close();
-                                     }
-                                 } );
-    }
-
-    private void createFormulaRow(Composite composite,
-                                  GridData gd) {
-        createLabel( composite,
-                     "Add a new formula style expression" );
-        Button formulaButton = toolkit.createButton( composite,
-                                                     "New formula",
-                                                     SWT.PUSH );
-
-        formulaButton.addListener( SWT.Selection,
-                                   new Listener() {
-                                       public void handleEvent(Event event) {
-                                           SingleFieldConstraint con = new SingleFieldConstraint();
-                                           con.constraintValueType = ISingleFieldConstraint.TYPE_PREDICATE;
-                                           pattern.addConstraint( con );
-                                           modeller.setDirty( true );
-                                           modeller.reloadLhs();
-                                           close();
-                                       }
-                                   } );
-
-        formulaButton.setLayoutData( gd );
-    }
-
-    private void createVariableBindingRow(Composite composite) {
-        createLabel( composite,
-                     "Variable name" );
-        final Text variableText = createText( composite,
-                                              "" );
-
-        if ( pattern.boundName != null ) {
-            variableText.setText( pattern.boundName );
-        }
-
-        Button varButton = toolkit.createButton( composite,
-                                                 "Set",
-                                                 SWT.PUSH );
-        varButton.addListener( SWT.Selection,
-                               new Listener() {
-                                   public void handleEvent(Event event) {
-                                       pattern.boundName = variableText.getText();
-                                       modeller.reloadLhs();
-                                       modeller.setDirty( true );
-                                       close();
-                                   }
-                               } );
-    }
-
-    private SuggestionCompletionEngine getCompletion() {
-        return modeller.getSuggestionCompletionEngine();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,201 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+/**
+ * Adding a new constraint for a field of a FactPattern
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class AddNewFieldConstraintDialog extends RuleDialog {
+
+    private final FormToolkit toolkit;
+
+    private RuleModeller      modeller;
+
+    private FactPattern       pattern;
+
+    private boolean           isNested;
+
+    public AddNewFieldConstraintDialog(Shell parent,
+                                       FormToolkit toolkit,
+                                       RuleModeller modeller,
+                                       FactPattern pattern,
+                                       boolean isNested) {
+        super( parent,
+               "Update constraints",
+               "Pick the values from combos and confirm the selection." );
+        this.toolkit = toolkit;
+        this.modeller = modeller;
+        this.pattern = pattern;
+        this.isNested = isNested;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 3;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        composite.setLayout( l );
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.horizontalSpan = 2;
+
+        createFieldRestrictionCombo( composite,
+                                     gd );
+        createMultipleRestrictionCombo( composite,
+                                        gd );
+        createFormulaRow( composite,
+                          gd );
+        if ( !isNested ) {
+            createVariableBindingRow( composite );
+        }
+
+        toolkit.paintBordersFor( composite );
+        return composite;
+    }
+
+    private void createMultipleRestrictionCombo(Composite composite,
+                                                GridData gd) {
+        createLabel( composite,
+                     "Multiple field constriant" );
+        final Combo composites = new Combo( composite,
+                                            SWT.READ_ONLY );
+
+        composites.setLayoutData( gd );
+
+        composites.add( "..." );
+        composites.add( "All of (And)" );
+        composites.add( "Any of (Or)" );
+        composites.setData( "All of (And)",
+                            CompositeFieldConstraint.COMPOSITE_TYPE_AND );
+        composites.setData( "Any of (Or)",
+                            CompositeFieldConstraint.COMPOSITE_TYPE_OR );
+        composites.select( 0 );
+
+        composites.addListener( SWT.Selection,
+                                new Listener() {
+                                    public void handleEvent(Event event) {
+                                        if ( composites.getSelectionIndex() == 0 ) {
+                                            return;
+                                        }
+
+                                        CompositeFieldConstraint comp = new CompositeFieldConstraint();
+                                        comp.compositeJunctionType = (String) composites.getData( composites.getText() );
+
+                                        pattern.addConstraint( comp );
+                                        modeller.reloadLhs(); //TODO:review, perhaps should be another order of these calls
+                                        modeller.setDirty( true );
+                                        close();
+                                    }
+                                } );
+    }
+
+    private void createFieldRestrictionCombo(Composite composite,
+                                             GridData gd) {
+        createLabel( composite,
+                     "Add a restriction on a field" );
+
+        String[] fieldCompletitions = getCompletion().getFieldCompletions( pattern.factType );
+        final Combo fieldsCombo = new Combo( composite,
+                                             SWT.READ_ONLY );
+        fieldsCombo.setLayoutData( gd );
+        fieldsCombo.add( "..." );
+        for ( int i = 0; i < fieldCompletitions.length; i++ ) {
+            fieldsCombo.add( fieldCompletitions[i] );
+        }
+        fieldsCombo.select( 0 );
+
+        fieldsCombo.addListener( SWT.Selection,
+                                 new Listener() {
+                                     public void handleEvent(Event event) {
+                                         if ( fieldsCombo.getSelectionIndex() == 0 ) {
+                                             return;
+                                         }
+
+                                         SingleFieldConstraint constraint = new SingleFieldConstraint();
+                                         constraint.fieldName = fieldsCombo.getText();
+                                         pattern.addConstraint( constraint );
+                                         modeller.setDirty( true );
+                                         modeller.reloadLhs();
+                                         close();
+                                     }
+                                 } );
+    }
+
+    private void createFormulaRow(Composite composite,
+                                  GridData gd) {
+        createLabel( composite,
+                     "Add a new formula style expression" );
+        Button formulaButton = toolkit.createButton( composite,
+                                                     "New formula",
+                                                     SWT.PUSH );
+
+        formulaButton.addListener( SWT.Selection,
+                                   new Listener() {
+                                       public void handleEvent(Event event) {
+                                           SingleFieldConstraint con = new SingleFieldConstraint();
+                                           con.constraintValueType = ISingleFieldConstraint.TYPE_PREDICATE;
+                                           pattern.addConstraint( con );
+                                           modeller.setDirty( true );
+                                           modeller.reloadLhs();
+                                           close();
+                                       }
+                                   } );
+
+        formulaButton.setLayoutData( gd );
+    }
+
+    private void createVariableBindingRow(Composite composite) {
+        createLabel( composite,
+                     "Variable name" );
+        final Text variableText = createText( composite,
+                                              "" );
+
+        if ( pattern.boundName != null ) {
+            variableText.setText( pattern.boundName );
+        }
+
+        Button varButton = toolkit.createButton( composite,
+                                                 "Set",
+                                                 SWT.PUSH );
+        varButton.addListener( SWT.Selection,
+                               new Listener() {
+                                   public void handleEvent(Event event) {
+                                       pattern.boundName = variableText.getText();
+                                       modeller.reloadLhs();
+                                       modeller.setDirty( true );
+                                       close();
+                                   }
+                               } );
+    }
+
+    private SuggestionCompletionEngine getCompletion() {
+        return modeller.getSuggestionCompletionEngine();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,74 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
-import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class AddNewInsertedFactFieldDialog extends RuleDialog {
-
-	private RuleModeller modeller;
-
-	private final ActionInsertFact fact;
-
-	public AddNewInsertedFactFieldDialog(Shell parent, RuleModeller modeller,
-			ActionInsertFact fact) {
-		super(parent, "Add new condition to the rule",
-				"Pick the values from combos and confirm the selection.");
-		this.modeller = modeller;
-		this.fact = fact;
-	}
-
-	protected Control createDialogArea(final Composite parent) {
-
-		Composite composite = (Composite) super.createDialogArea(parent);
-
-		createLabel(composite, "Field:");
-
-		final Combo factsCombo = new Combo(composite, SWT.READ_ONLY);
-
-		String[] fields = getCompletion().getFieldCompletions(fact.factType);
-		factsCombo.add("...");
-		for (int i = 0; i < fields.length; i++) {
-			factsCombo.add(fields[i]);
-		}
-		factsCombo.select(0);
-
-		factsCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-
-				if (factsCombo.getSelectionIndex() == 0) {
-					return;
-				}
-
-				String fieldType = modeller.getSuggestionCompletionEngine()
-						.getFieldType(fact.factType, factsCombo.getText());
-				fact.addFieldValue(new ActionFieldValue(factsCombo.getText(),
-						"", fieldType));
-
-				modeller.setDirty(true);
-				modeller.reloadRhs();
-				close();
-			}
-		});
-
-		return composite;
-	}
-
-	public SuggestionCompletionEngine getCompletion() {
-		return modeller.getSuggestionCompletionEngine();
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,74 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
+import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class AddNewInsertedFactFieldDialog extends RuleDialog {
+
+	private RuleModeller modeller;
+
+	private final ActionInsertFact fact;
+
+	public AddNewInsertedFactFieldDialog(Shell parent, RuleModeller modeller,
+			ActionInsertFact fact) {
+		super(parent, "Add new condition to the rule",
+				"Pick the values from combos and confirm the selection.");
+		this.modeller = modeller;
+		this.fact = fact;
+	}
+
+	protected Control createDialogArea(final Composite parent) {
+
+		Composite composite = (Composite) super.createDialogArea(parent);
+
+		createLabel(composite, "Field:");
+
+		final Combo factsCombo = new Combo(composite, SWT.READ_ONLY);
+
+		String[] fields = getCompletion().getFieldCompletions(fact.factType);
+		factsCombo.add("...");
+		for (int i = 0; i < fields.length; i++) {
+			factsCombo.add(fields[i]);
+		}
+		factsCombo.select(0);
+
+		factsCombo.addListener(SWT.Selection, new Listener() {
+			public void handleEvent(Event event) {
+
+				if (factsCombo.getSelectionIndex() == 0) {
+					return;
+				}
+
+				String fieldType = modeller.getSuggestionCompletionEngine()
+						.getFieldType(fact.factType, factsCombo.getText());
+				fact.addFieldValue(new ActionFieldValue(factsCombo.getText(),
+						"", fieldType));
+
+				modeller.setDirty(true);
+				modeller.reloadRhs();
+				close();
+			}
+		});
+
+		return composite;
+	}
+
+	public SuggestionCompletionEngine getCompletion() {
+		return modeller.getSuggestionCompletionEngine();
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,84 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-public class AssignFieldVariableDialog extends RuleDialog {
-
-    private final FormToolkit     toolkit;
-
-    private RuleModeller          modeller;
-
-    private SingleFieldConstraint con;
-
-    public AssignFieldVariableDialog(Shell parent,
-                                     FormToolkit toolkit,
-                                     RuleModeller modeller,
-                                     SingleFieldConstraint con) {
-        super( parent,
-               "Bind the field called [" + con.fieldName + "] to a variable.",
-               "Type the variable name and hit the button." );
-
-        this.toolkit = toolkit;
-        this.modeller = modeller;
-        this.con = con;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 5;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        composite.setLayout( l );
-
-        createVariableBindingRow( composite );
-        toolkit.paintBordersFor( composite );
-        return composite;
-    }
-
-    private void createVariableBindingRow(Composite composite) {
-        createLabel( composite,
-                     "Variable name" );
-        final Text variableText = toolkit.createText( composite,
-                                                      "" );
-
-        if ( con.fieldBinding != null ) {
-            variableText.setText( con.fieldBinding );
-        }
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.horizontalSpan = 3;
-
-        variableText.setLayoutData( gd );
-
-        Button varButton = toolkit.createButton( composite,
-                                                 "Set",
-                                                 SWT.PUSH );
-        varButton.addListener( SWT.Selection,
-                               new Listener() {
-                                   public void handleEvent(Event event) {
-                                       con.fieldBinding = variableText.getText();
-                                       modeller.reloadLhs();
-                                       modeller.setDirty( true );
-                                       close();
-                                   }
-                               } );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,84 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+public class AssignFieldVariableDialog extends RuleDialog {
+
+    private final FormToolkit     toolkit;
+
+    private RuleModeller          modeller;
+
+    private SingleFieldConstraint con;
+
+    public AssignFieldVariableDialog(Shell parent,
+                                     FormToolkit toolkit,
+                                     RuleModeller modeller,
+                                     SingleFieldConstraint con) {
+        super( parent,
+               "Bind the field called [" + con.fieldName + "] to a variable.",
+               "Type the variable name and hit the button." );
+
+        this.toolkit = toolkit;
+        this.modeller = modeller;
+        this.con = con;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 5;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        composite.setLayout( l );
+
+        createVariableBindingRow( composite );
+        toolkit.paintBordersFor( composite );
+        return composite;
+    }
+
+    private void createVariableBindingRow(Composite composite) {
+        createLabel( composite,
+                     "Variable name" );
+        final Text variableText = toolkit.createText( composite,
+                                                      "" );
+
+        if ( con.fieldBinding != null ) {
+            variableText.setText( con.fieldBinding );
+        }
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.horizontalSpan = 3;
+
+        variableText.setLayoutData( gd );
+
+        Button varButton = toolkit.createButton( composite,
+                                                 "Set",
+                                                 SWT.PUSH );
+        varButton.addListener( SWT.Selection,
+                               new Listener() {
+                                   public void handleEvent(Event event) {
+                                       con.fieldBinding = variableText.getText();
+                                       modeller.reloadLhs();
+                                       modeller.setDirty( true );
+                                       close();
+                                   }
+                               } );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,154 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * This is the new smart widget that works off the model.
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class CompositeFactPatternWidget extends Widget {
-
-    private final CompositeFactPattern pattern;
-
-    public CompositeFactPatternWidget(FormToolkit toolkit,
-                                      Composite parent,
-                                      RuleModeller mod,
-                                      CompositeFactPattern factPattern,
-                                      int idx) {
-
-        super( parent,
-               toolkit,
-               mod,
-               idx );
-        this.pattern = factPattern;
-
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 4;
-        layout.marginBottom = 0;
-        layout.marginHeight = 0;
-        layout.marginLeft = 0;
-        layout.marginRight = 0;
-        layout.marginTop = 0;
-        layout.marginWidth = 0;
-        layout.verticalSpacing = 2;
-        parent.setLayout( layout );
-
-        create();
-    }
-
-    private void create() {
-        Label l = toolkit.createLabel( parent,
-                             HumanReadable.getCEDisplayName( pattern.type ) );
-        
-        GridData labelGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
-        labelGD.horizontalSpan = 2;
-        //labelGD.verticalAlignment = SWT.CENTER;
-        //labelGD.horizontalAlignment = SWT.CENTER;
-        l.setLayoutData(labelGD);
-        l.setBackground(new Color(parent.getShell().getDisplay(),240,240,240));
-        
-        l.setLayoutData(labelGD);
-        addDeleteAction();
-        addMoreOptionsAction();
-        Composite composite = toolkit.createComposite( parent );
-        
-
-    	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.horizontalAlignment = SWT.CENTER;
-    	composite.setLayoutData(gd);
-    	
-        createFactRows( toolkit,
-                        composite );
-    }
-
-    protected void addDeleteAction() {
-        ImageHyperlink delWholeLink = addImage( parent,
-                                                "icons/delete_obj.gif" );
-        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this ENTIRE condition, " + "and all the field constraints that belong to it." );
-                dialog.setText( "Remove this entire condition?" );
-                if ( dialog.open() == SWT.YES ) {
-
-                    if ( getModeller().getModel().removeLhsItem( index ) ) {
-                        getModeller().reloadLhs();
-                        getModeller().setDirty( true );
-                    } else {
-                        showMessage( "Can't remove that item as it is used in the action part of the rule." );
-                    }
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delWholeLink.setToolTipText( "Remove the entire composite condition." );
-    }
-
-    private void addMoreOptionsAction() {
-        final ImageHyperlink link = addImage( parent,
-                                              // "icons/add_field_to_fact.gif");
-                                              "icons/new_item.gif" );
-
-        link.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                RuleDialog popup = new AddNewFactConstraintDialog( parent.getShell(),
-                                                                   getModeller(),
-                                                                   pattern );
-                popup.open();
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        link.setToolTipText( "Add a fact to this constraint. " + "If it is an 'or' type, it will need at least 2." );
-    }
-
-    private void createFactRows(FormToolkit toolkit,
-                                Composite constraintComposite) {
-    	
-    	
-        if ( pattern.patterns != null ) {
-            FactPattern[] facts = pattern.patterns;
-            for ( int i = 0; i < facts.length; i++ ) {
-            	
-                new FactPatternWidget( toolkit,
-                                       constraintComposite,
-                                       getModeller(),
-                                       facts[i],
-                                       pattern,
-                                       i,
-                                       false );
-                
-                toolkit.createLabel(constraintComposite, "");
-                toolkit.createLabel(constraintComposite, "");
-            }
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,154 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+/**
+ * This is the new smart widget that works off the model.
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class CompositeFactPatternWidget extends Widget {
+
+    private final CompositeFactPattern pattern;
+
+    public CompositeFactPatternWidget(FormToolkit toolkit,
+                                      Composite parent,
+                                      RuleModeller mod,
+                                      CompositeFactPattern factPattern,
+                                      int idx) {
+
+        super( parent,
+               toolkit,
+               mod,
+               idx );
+        this.pattern = factPattern;
+
+        GridLayout layout = new GridLayout();
+        layout.numColumns = 4;
+        layout.marginBottom = 0;
+        layout.marginHeight = 0;
+        layout.marginLeft = 0;
+        layout.marginRight = 0;
+        layout.marginTop = 0;
+        layout.marginWidth = 0;
+        layout.verticalSpacing = 2;
+        parent.setLayout( layout );
+
+        create();
+    }
+
+    private void create() {
+        Label l = toolkit.createLabel( parent,
+                             HumanReadable.getCEDisplayName( pattern.type ) );
+        
+        GridData labelGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
+        labelGD.horizontalSpan = 2;
+        //labelGD.verticalAlignment = SWT.CENTER;
+        //labelGD.horizontalAlignment = SWT.CENTER;
+        l.setLayoutData(labelGD);
+        l.setBackground(new Color(parent.getShell().getDisplay(),240,240,240));
+        
+        l.setLayoutData(labelGD);
+        addDeleteAction();
+        addMoreOptionsAction();
+        Composite composite = toolkit.createComposite( parent );
+        
+
+    	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+        gd.horizontalAlignment = SWT.CENTER;
+    	composite.setLayoutData(gd);
+    	
+        createFactRows( toolkit,
+                        composite );
+    }
+
+    protected void addDeleteAction() {
+        ImageHyperlink delWholeLink = addImage( parent,
+                                                "icons/delete_obj.gif" );
+        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this ENTIRE condition, " + "and all the field constraints that belong to it." );
+                dialog.setText( "Remove this entire condition?" );
+                if ( dialog.open() == SWT.YES ) {
+
+                    if ( getModeller().getModel().removeLhsItem( index ) ) {
+                        getModeller().reloadLhs();
+                        getModeller().setDirty( true );
+                    } else {
+                        showMessage( "Can't remove that item as it is used in the action part of the rule." );
+                    }
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delWholeLink.setToolTipText( "Remove the entire composite condition." );
+    }
+
+    private void addMoreOptionsAction() {
+        final ImageHyperlink link = addImage( parent,
+                                              // "icons/add_field_to_fact.gif");
+                                              "icons/new_item.gif" );
+
+        link.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                RuleDialog popup = new AddNewFactConstraintDialog( parent.getShell(),
+                                                                   getModeller(),
+                                                                   pattern );
+                popup.open();
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        link.setToolTipText( "Add a fact to this constraint. " + "If it is an 'or' type, it will need at least 2." );
+    }
+
+    private void createFactRows(FormToolkit toolkit,
+                                Composite constraintComposite) {
+    	
+    	
+        if ( pattern.patterns != null ) {
+            FactPattern[] facts = pattern.patterns;
+            for ( int i = 0; i < facts.length; i++ ) {
+            	
+                new FactPatternWidget( toolkit,
+                                       constraintComposite,
+                                       getModeller(),
+                                       facts[i],
+                                       pattern,
+                                       i,
+                                       false );
+                
+                toolkit.createLabel(constraintComposite, "");
+                toolkit.createLabel(constraintComposite, "");
+            }
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,194 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-public class ConstraintValueEditor {
-
-	private Composite composite;
-
-	private ISingleFieldConstraint constraint;
-
-	private FormToolkit toolkit;
-
-	private RuleModeller modeller;
-
-	private boolean numericValue;
-	
-	public ConstraintValueEditor(Composite composite,
-			ISingleFieldConstraint constraint, FormToolkit toolkit,
-			RuleModeller modeller, String numericType /*e.g. is "Numeric"*/) {
-		this.composite = composite;
-		this.constraint = constraint;
-		this.toolkit = toolkit;
-		this.modeller = modeller;
-		
-		if (numericType.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
-            this.numericValue = true;
-        }
-		create();
-	}
-
-	private void create() {
-		if (constraint.constraintValueType == ISingleFieldConstraint.TYPE_UNDEFINED) {
-			ImageHyperlink link = addImage(composite, "icons/edit.gif");
-			link.setToolTipText("Choose value editor type");
-			link.addHyperlinkListener(new IHyperlinkListener() {
-				public void linkActivated(HyperlinkEvent e) {
-					RuleDialog popup = new ValueEditorTypeSelectionDialog(
-							composite.getShell(), toolkit, modeller, constraint);
-					popup.open();
-				}
-
-				public void linkEntered(HyperlinkEvent e) {
-				}
-
-				public void linkExited(HyperlinkEvent e) {
-				}
-			});
-
-			GridData gd = new GridData(GridData.FILL_HORIZONTAL
-					| GridData.GRAB_HORIZONTAL
-					| GridData.HORIZONTAL_ALIGN_BEGINNING);
-			gd.horizontalSpan = 2;
-
-			link.setLayoutData(gd);
-		} else {
-			switch (constraint.constraintValueType) {
-			case ISingleFieldConstraint.TYPE_LITERAL:
-				literalValueEditor(composite, constraint, new GridData(
-						GridData.FILL_HORIZONTAL));
-				break;
-			case ISingleFieldConstraint.TYPE_RET_VALUE:
-				addImage(composite, "icons/function_assets.gif");
-				formulaValueEditor(composite, constraint, new GridData(
-						GridData.FILL_HORIZONTAL));
-				break;
-			case ISingleFieldConstraint.TYPE_VARIABLE:
-				variableEditor(composite, constraint, new GridData(
-						GridData.FILL_HORIZONTAL));
-				break;
-			default:
-				break;
-			}
-		}
-
-	}
-
-	private void literalValueEditor(Composite parent,
-			final ISingleFieldConstraint c, GridData gd) {
-		final Text box = toolkit.createText(parent, "");
-
-		if (c.value != null) {
-			box.setText(c.value);
-		}
-
-		gd.horizontalSpan = 2;
-		gd.grabExcessHorizontalSpace = true;
-		gd.minimumWidth = 100;
-		box.setLayoutData(gd);
-
-		box.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				c.value = box.getText();
-				modeller.setDirty(true);
-			}
-		});
-		
-		if (this.numericValue) {
-			box.addKeyListener(new KeyListener(){
-
-				public void keyPressed(KeyEvent e) {
-					if(Character.isLetter(e.character)){
-						e.doit = false;
-					}
-				}
-
-				public void keyReleased(KeyEvent e) {
-					
-				}
-				
-			});
-		}
-	}
-
-	private void formulaValueEditor(Composite parent,
-			final ISingleFieldConstraint c, GridData gd) {
-
-		final Text box = toolkit.createText(parent, "");
-
-		if (c.value != null) {
-			box.setText(c.value);
-		}
-
-		gd.grabExcessHorizontalSpace = true;
-		gd.minimumWidth = 100;
-		box.setLayoutData(gd);
-
-		box.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				c.value = box.getText();
-				modeller.setDirty(true);
-			}
-		});
-	}
-
-	private void variableEditor(Composite composite,
-			final ISingleFieldConstraint c, GridData gd) {
-		List vars = modeller.getModel().getBoundVariablesInScope(c);
-
-		final Combo combo = new Combo(composite, SWT.READ_ONLY);
-
-		gd.horizontalSpan = 2;
-		combo.setLayoutData(gd);
-		if (c.value == null) {
-			combo.add("Choose ...");
-		}
-
-		int idx = 0;
-
-		for (int i = 0; i < vars.size(); i++) {
-			String var = (String) vars.get(i);
-
-			if (c.value != null && c.value.equals(var)) {
-				idx = i;
-			}
-			combo.add(var);
-		}
-
-		combo.select(idx);
-
-		combo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				c.value = combo.getText();
-			}
-		});
-
-	}
-
-	public ImageHyperlink addImage(Composite parent, String fileName) {
-		ImageHyperlink imageHyperlink = toolkit.createImageHyperlink(parent, 0);
-		ImageDescriptor imageDescriptor = DroolsEclipsePlugin
-				.getImageDescriptor(fileName);
-		imageHyperlink.setImage(imageDescriptor.createImage());
-		return imageHyperlink;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,194 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+public class ConstraintValueEditor {
+
+	private Composite composite;
+
+	private ISingleFieldConstraint constraint;
+
+	private FormToolkit toolkit;
+
+	private RuleModeller modeller;
+
+	private boolean numericValue;
+	
+	public ConstraintValueEditor(Composite composite,
+			ISingleFieldConstraint constraint, FormToolkit toolkit,
+			RuleModeller modeller, String numericType /*e.g. is "Numeric"*/) {
+		this.composite = composite;
+		this.constraint = constraint;
+		this.toolkit = toolkit;
+		this.modeller = modeller;
+		
+		if (numericType.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
+            this.numericValue = true;
+        }
+		create();
+	}
+
+	private void create() {
+		if (constraint.constraintValueType == ISingleFieldConstraint.TYPE_UNDEFINED) {
+			ImageHyperlink link = addImage(composite, "icons/edit.gif");
+			link.setToolTipText("Choose value editor type");
+			link.addHyperlinkListener(new IHyperlinkListener() {
+				public void linkActivated(HyperlinkEvent e) {
+					RuleDialog popup = new ValueEditorTypeSelectionDialog(
+							composite.getShell(), toolkit, modeller, constraint);
+					popup.open();
+				}
+
+				public void linkEntered(HyperlinkEvent e) {
+				}
+
+				public void linkExited(HyperlinkEvent e) {
+				}
+			});
+
+			GridData gd = new GridData(GridData.FILL_HORIZONTAL
+					| GridData.GRAB_HORIZONTAL
+					| GridData.HORIZONTAL_ALIGN_BEGINNING);
+			gd.horizontalSpan = 2;
+
+			link.setLayoutData(gd);
+		} else {
+			switch (constraint.constraintValueType) {
+			case ISingleFieldConstraint.TYPE_LITERAL:
+				literalValueEditor(composite, constraint, new GridData(
+						GridData.FILL_HORIZONTAL));
+				break;
+			case ISingleFieldConstraint.TYPE_RET_VALUE:
+				addImage(composite, "icons/function_assets.gif");
+				formulaValueEditor(composite, constraint, new GridData(
+						GridData.FILL_HORIZONTAL));
+				break;
+			case ISingleFieldConstraint.TYPE_VARIABLE:
+				variableEditor(composite, constraint, new GridData(
+						GridData.FILL_HORIZONTAL));
+				break;
+			default:
+				break;
+			}
+		}
+
+	}
+
+	private void literalValueEditor(Composite parent,
+			final ISingleFieldConstraint c, GridData gd) {
+		final Text box = toolkit.createText(parent, "");
+
+		if (c.value != null) {
+			box.setText(c.value);
+		}
+
+		gd.horizontalSpan = 2;
+		gd.grabExcessHorizontalSpace = true;
+		gd.minimumWidth = 100;
+		box.setLayoutData(gd);
+
+		box.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				c.value = box.getText();
+				modeller.setDirty(true);
+			}
+		});
+		
+		if (this.numericValue) {
+			box.addKeyListener(new KeyListener(){
+
+				public void keyPressed(KeyEvent e) {
+					if(Character.isLetter(e.character)){
+						e.doit = false;
+					}
+				}
+
+				public void keyReleased(KeyEvent e) {
+					
+				}
+				
+			});
+		}
+	}
+
+	private void formulaValueEditor(Composite parent,
+			final ISingleFieldConstraint c, GridData gd) {
+
+		final Text box = toolkit.createText(parent, "");
+
+		if (c.value != null) {
+			box.setText(c.value);
+		}
+
+		gd.grabExcessHorizontalSpace = true;
+		gd.minimumWidth = 100;
+		box.setLayoutData(gd);
+
+		box.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				c.value = box.getText();
+				modeller.setDirty(true);
+			}
+		});
+	}
+
+	private void variableEditor(Composite composite,
+			final ISingleFieldConstraint c, GridData gd) {
+		List vars = modeller.getModel().getBoundVariablesInScope(c);
+
+		final Combo combo = new Combo(composite, SWT.READ_ONLY);
+
+		gd.horizontalSpan = 2;
+		combo.setLayoutData(gd);
+		if (c.value == null) {
+			combo.add("Choose ...");
+		}
+
+		int idx = 0;
+
+		for (int i = 0; i < vars.size(); i++) {
+			String var = (String) vars.get(i);
+
+			if (c.value != null && c.value.equals(var)) {
+				idx = i;
+			}
+			combo.add(var);
+		}
+
+		combo.select(idx);
+
+		combo.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				c.value = combo.getText();
+			}
+		});
+
+	}
+
+	public ImageHyperlink addImage(Composite parent, String fileName) {
+		ImageHyperlink imageHyperlink = toolkit.createImageHyperlink(parent, 0);
+		ImageDescriptor imageDescriptor = DroolsEclipsePlugin
+				.getImageDescriptor(fileName);
+		imageHyperlink.setImage(imageDescriptor.createImage());
+		return imageHyperlink;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,12 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.SelectionDialog;
-
-public class CustomRuleDialog extends SelectionDialog {
-
-    public CustomRuleDialog(Shell parentShell) {
-        super( parentShell );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,12 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.dialogs.SelectionDialog;
+
+public class CustomRuleDialog extends SelectionDialog {
+
+    public CustomRuleDialog(Shell parentShell) {
+        super( parentShell );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,174 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * This displays a widget to edit a DSL sentence.
- * 
- * @author Ahti Kitsik
- * @author Anton Arhipov
- */
-public abstract class DSLSentenceWidget extends Widget {
-
-    private final DSLSentence sentence;
-
-    private List              widgets = new ArrayList();
-
-    public DSLSentenceWidget(FormToolkit toolkit,
-                             Composite parent,
-                             DSLSentence sentence,
-                             RuleModeller modeller,
-                             int index) {
-        super( parent,
-               toolkit,
-               modeller,
-               index );
-
-        this.sentence = sentence;
-
-        makeWidget();
-        addDeleteAction();
-    }
-
-    protected abstract void updateModel();
-
-    private void addDeleteAction() {
-
-        ImageHyperlink delLink = addImage( parent,
-                                           "icons/delete_item_small.gif" );
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this DSL sentense?" );
-                dialog.setText( "Remove this DSL sentense?" );
-                if ( dialog.open() == SWT.YES ) {
-                    updateModel();
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delLink.setToolTipText( "Remove this condition." );
-    }
-
-    private void makeWidget() {
-
-        int elems = 0;
-
-        char[] chars = this.sentence.sentence.toCharArray();
-        Text currentBox = null;
-        Label currentLabel = null;
-        for ( int i = 0; i < chars.length; i++ ) {
-            char c = chars[i];
-            if ( c == '{' ) {
-                currentLabel = null;
-
-                currentBox = toolkit.createText( parent,
-                                                 "" );
-
-                //final Text thisBox = currentBox;
-                elems++;
-
-                GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-                gd.grabExcessHorizontalSpace = true;
-                gd.minimumWidth = 100;
-                currentBox.setLayoutData( gd );
-                
-                widgets.add( currentBox );
-
-            } else if ( c == '}' ) {
-                currentBox = null;
-            } else {
-                if ( currentBox == null && currentLabel == null ) {
-                    currentLabel = toolkit.createLabel( parent,
-                                                        "" );
-                    elems++;
-
-                    widgets.add( currentLabel );
-                }
-                if ( currentLabel != null ) {
-                    currentLabel.setText( currentLabel.getText() + c );
-                } else if ( currentBox != null ) {
-                    currentBox.setText( currentBox.getText() + c );
-                }
-            }
-        }
-
-        GridLayout l = new GridLayout();
-        int cols = elems + 1;
-        l.numColumns = cols;
-        l.verticalSpacing = 0;
-        l.marginTop = 0;
-        l.marginHeight = 2;
-        l.marginBottom = 0;
-        parent.setLayout( l );
-
-        // Attach listeners
-        Iterator widgetiter = widgets.iterator();
-        while ( widgetiter.hasNext() ) {
-            Object o = (Object) widgetiter.next();
-            if (o instanceof Text) {
-                ((Text)o).addModifyListener( new ModifyListener() {
-                    public void modifyText(ModifyEvent e) {
-                        updateSentence();
-                        /*                        Point p = thisBox.getSize();
-                         
-                         GC gc = new GC(thisBox);
-                         gc.setFont(thisBox.getFont());
-                         FontMetrics fontMetrics = gc.getFontMetrics();
-                         int w = fontMetrics.getAverageCharWidth()*thisBox.getText().length();
-                         gc.dispose();
-                         
-                         
-                         thisBox.setSize( w, p.y );
-                         thisBox.redraw();
-                         parent.redraw();
-                         */
-                        getModeller().setDirty( true );
-                    }
-                } );
-                
-            }
-        }
-        toolkit.paintBordersFor( parent );
-    }
-
-    protected void updateSentence() {
-        String newSentence = "";
-        for ( Iterator iter = widgets.iterator(); iter.hasNext(); ) {
-            Control wid = (Control) iter.next();
-            if ( wid instanceof Label ) {
-                newSentence = newSentence + ((Label) wid).getText();
-            } else if ( wid instanceof Text ) {
-                newSentence = newSentence + "{" + ((Text) wid).getText() + "}";
-            }
-        }
-        this.sentence.sentence = newSentence;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,174 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+/**
+ * This displays a widget to edit a DSL sentence.
+ * 
+ * @author Ahti Kitsik
+ * @author Anton Arhipov
+ */
+public abstract class DSLSentenceWidget extends Widget {
+
+    private final DSLSentence sentence;
+
+    private List              widgets = new ArrayList();
+
+    public DSLSentenceWidget(FormToolkit toolkit,
+                             Composite parent,
+                             DSLSentence sentence,
+                             RuleModeller modeller,
+                             int index) {
+        super( parent,
+               toolkit,
+               modeller,
+               index );
+
+        this.sentence = sentence;
+
+        makeWidget();
+        addDeleteAction();
+    }
+
+    protected abstract void updateModel();
+
+    private void addDeleteAction() {
+
+        ImageHyperlink delLink = addImage( parent,
+                                           "icons/delete_item_small.gif" );
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this DSL sentense?" );
+                dialog.setText( "Remove this DSL sentense?" );
+                if ( dialog.open() == SWT.YES ) {
+                    updateModel();
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delLink.setToolTipText( "Remove this condition." );
+    }
+
+    private void makeWidget() {
+
+        int elems = 0;
+
+        char[] chars = this.sentence.sentence.toCharArray();
+        Text currentBox = null;
+        Label currentLabel = null;
+        for ( int i = 0; i < chars.length; i++ ) {
+            char c = chars[i];
+            if ( c == '{' ) {
+                currentLabel = null;
+
+                currentBox = toolkit.createText( parent,
+                                                 "" );
+
+                //final Text thisBox = currentBox;
+                elems++;
+
+                GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+                gd.grabExcessHorizontalSpace = true;
+                gd.minimumWidth = 100;
+                currentBox.setLayoutData( gd );
+                
+                widgets.add( currentBox );
+
+            } else if ( c == '}' ) {
+                currentBox = null;
+            } else {
+                if ( currentBox == null && currentLabel == null ) {
+                    currentLabel = toolkit.createLabel( parent,
+                                                        "" );
+                    elems++;
+
+                    widgets.add( currentLabel );
+                }
+                if ( currentLabel != null ) {
+                    currentLabel.setText( currentLabel.getText() + c );
+                } else if ( currentBox != null ) {
+                    currentBox.setText( currentBox.getText() + c );
+                }
+            }
+        }
+
+        GridLayout l = new GridLayout();
+        int cols = elems + 1;
+        l.numColumns = cols;
+        l.verticalSpacing = 0;
+        l.marginTop = 0;
+        l.marginHeight = 2;
+        l.marginBottom = 0;
+        parent.setLayout( l );
+
+        // Attach listeners
+        Iterator widgetiter = widgets.iterator();
+        while ( widgetiter.hasNext() ) {
+            Object o = (Object) widgetiter.next();
+            if (o instanceof Text) {
+                ((Text)o).addModifyListener( new ModifyListener() {
+                    public void modifyText(ModifyEvent e) {
+                        updateSentence();
+                        /*                        Point p = thisBox.getSize();
+                         
+                         GC gc = new GC(thisBox);
+                         gc.setFont(thisBox.getFont());
+                         FontMetrics fontMetrics = gc.getFontMetrics();
+                         int w = fontMetrics.getAverageCharWidth()*thisBox.getText().length();
+                         gc.dispose();
+                         
+                         
+                         thisBox.setSize( w, p.y );
+                         thisBox.redraw();
+                         parent.redraw();
+                         */
+                        getModeller().setDirty( true );
+                    }
+                } );
+                
+            }
+        }
+        toolkit.paintBordersFor( parent );
+    }
+
+    protected void updateSentence() {
+        String newSentence = "";
+        for ( Iterator iter = widgets.iterator(); iter.hasNext(); ) {
+            Control wid = (Control) iter.next();
+            if ( wid instanceof Label ) {
+                newSentence = newSentence + ((Label) wid).getText();
+            } else if ( wid instanceof Text ) {
+                newSentence = newSentence + "{" + ((Text) wid).getText() + "}";
+            }
+        }
+        this.sentence.sentence = newSentence;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,644 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.ConnectiveConstraint;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.FieldConstraint;
-import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
-import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * This is the new smart widget that works off the model.
- * 
- * @author Michael Neale
- * @author Ahti Kitsik
- * @author Anton Arhipov
- * 
- */
-public class FactPatternWidget extends Widget {
-
-    private final CompositeFactPattern parentPattern;
-
-    private final FactPattern          pattern;
-
-    private boolean                    bindable;
-
-    public FactPatternWidget(FormToolkit toolkit,
-                             Composite parent,
-                             RuleModeller mod,
-                             FactPattern factPattern,
-                             CompositeFactPattern parentPattern,
-                             int idx,
-                             boolean canBind) {
-
-        super( parent,
-               toolkit,
-               mod,
-               idx );
-
-        this.pattern = factPattern;
-        this.parentPattern = parentPattern;
-        this.bindable = canBind;
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 4;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        l.verticalSpacing = 0;
-        parent.setLayout( l );
-
-        create();
-    }
-
-    private void create() {
-        Label l = toolkit.createLabel( parent,
-                             getPatternLabel() );
-        
-        GridData labelGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
-        labelGD.horizontalSpan = 2;
-        //labelGD.verticalAlignment = SWT.CENTER;
-        //labelGD.horizontalAlignment = SWT.CENTER;
-        l.setLayoutData(labelGD);
-        l.setBackground(new Color(parent.getShell().getDisplay(),240,240,240));
-        
-        addDeleteAction();
-        addMoreOptionsAction();
-        
-        Composite constraintComposite = toolkit.createComposite( parent );
-        GridLayout constraintLayout = new GridLayout();
-        constraintLayout.numColumns = 8;
-        constraintComposite.setLayout( constraintLayout );
-
-        for ( int row = 0; row < pattern.getFieldConstraints().length; row++ ) {
-            renderFieldConstraints( constraintComposite,
-                                    pattern.getFieldConstraints()[row],
-                                    null,
-                                    row,
-                                    true,
-                                    false );
-        }
-
-        toolkit.paintBordersFor( constraintComposite );
-    }
-
-    private void addMoreOptionsAction() {
-        ImageHyperlink link = addImage( parent,
-                                        "icons/new_item.gif" );
-
-        link.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                RuleDialog popup = new AddNewFieldConstraintDialog( parent.getShell(),
-                                                                    toolkit,
-                                                                    getModeller(),
-                                                                    pattern,
-                                                                    parentPattern != null );
-                popup.open();
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        link.setToolTipText( "Add a field to this condition, or bind a varible to this fact." );
-    }
-
-    private void addDeleteAction() {
-        ImageHyperlink delWholeLink = addImage( parent,
-                                                "icons/delete_obj.gif" );
-        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this ENTIRE condition, " + "and all the field constraints that belong to it." );
-                dialog.setText( "Remove this entire condition?" );
-                if ( dialog.open() == SWT.YES ) {
-                    if ( parentPattern == null ) {
-                        if ( getModeller().getModel().removeLhsItem( index ) ) {
-                            getModeller().reloadLhs();
-                        } else {
-                            showMessage( "Can't remove that item as it is used in the action part of the rule." );
-                        }
-                    } else {
-                        deleteBindedFact();
-                    }
-                    getModeller().setDirty( true );
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delWholeLink.setToolTipText( "Remove this condition." );
-    }
-
-    private void renderFieldConstraints(Composite constraintComposite,
-                                        FieldConstraint constraint,
-                                        final CompositeFieldConstraint parentConstraint,
-                                        int row,
-                                        boolean showBinding,
-                                        boolean nested) {
-        if ( constraint instanceof SingleFieldConstraint ) {
-            renderSingleFieldConstraint( constraintComposite,
-                                         row,
-                                         constraint,
-                                         parentConstraint,
-                                         showBinding,
-                                         nested );
-        } else if ( constraint instanceof CompositeFieldConstraint ) {
-            compositeFieldConstraintEditor( constraintComposite,
-                                            (CompositeFieldConstraint) constraint,
-                                            parentConstraint,
-                                            row,
-                                            nested );
-        }
-    }
-
-    private void compositeFieldConstraintEditor(Composite constraintComposite,
-                                                final CompositeFieldConstraint constraint,
-                                                final CompositeFieldConstraint parentConstraint,
-                                                final int row,
-                                                boolean nested) {
-
-        // Label
-        if ( constraint.compositeJunctionType.equals( CompositeFieldConstraint.COMPOSITE_TYPE_AND ) ) {
-            toolkit.createLabel( constraintComposite,
-                                 "All of:" );
-        } else {
-            toolkit.createLabel( constraintComposite,
-                                 "Any of:" );
-        }
-
-        addRemoveButton( constraintComposite,
-                         parentConstraint,
-                         row,
-                         "icons/delete_obj.gif",
-                         nested );
-
-        // button "add"
-        ImageHyperlink link = addImage( constraintComposite,
-                                        "icons/new_item.gif" );
-        link.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                RuleDialog popup = new AddCompositeConstraintOptionDialog( parent.getShell(),
-                                                                           getModeller(),
-                                                                           constraint,
-                                                                           pattern );
-                popup.open();
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-
-        link.setToolTipText("Add fields to this constriant.");
-        
-        addNestedElements( constraintComposite,
-                           constraint );
-    }
-
-    private void addNestedElements(Composite constraintComposite,
-                                   final CompositeFieldConstraint constraint) {
-        // Nested elementss
-        FieldConstraint[] nestedConstraints = constraint.constraints;
-        if ( nestedConstraints != null ) {
-            Composite nestedComposite = toolkit.createComposite( constraintComposite );
-            GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-            gd.horizontalSpan = 5;
-            nestedComposite.setLayoutData( gd );
-
-            GridLayout l = new GridLayout();
-            l.numColumns = 8;
-            l.marginBottom = 0;
-            l.marginHeight = 0;
-            l.marginLeft = 0;
-            l.marginRight = 0;
-            l.marginTop = 0;
-            l.marginWidth = 0;
-            l.verticalSpacing = 0;
-            nestedComposite.setLayout( l );
-
-            for ( int i = 0; i < nestedConstraints.length; i++ ) {
-                renderFieldConstraints( nestedComposite,
-                                        nestedConstraints[i],
-                                        constraint,
-                                        i,
-                                        false,
-                                        true );
-                toolkit.paintBordersFor( nestedComposite );
-            }
-        } else {
-            GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-            gd.horizontalSpan = 5;
-            Label dummyLabel = toolkit.createLabel( constraintComposite,
-                                                    "" ); // dummy
-            dummyLabel.setLayoutData( gd );
-        }
-    }
-
-    private void renderSingleFieldConstraint(Composite constraintComposite,
-                                             int row,
-                                             FieldConstraint constraint,
-                                             CompositeFieldConstraint parentConstraint,
-                                             boolean showBinding,
-                                             boolean nested) {
-        final SingleFieldConstraint c = (SingleFieldConstraint) constraint;
-        if ( c.constraintValueType != ISingleFieldConstraint.TYPE_PREDICATE ) {
-            createConstraintRow( constraintComposite,
-                                 parentConstraint,
-                                 row,
-                                 c,
-                                 showBinding,
-                                 nested );
-        } else {
-            createPredicateConstraintRow( constraintComposite,
-                                          row,
-                                          c );
-        }
-    }
-
-    private void createConstraintRow(Composite constraintComposite,
-                                     CompositeFieldConstraint parentConstraint,
-                                     int row,
-                                     final SingleFieldConstraint c,
-                                     boolean showBinding,
-                                     boolean nested) {
-        addBindingField( constraintComposite,
-                         c,
-                         showBinding );
-        toolkit.createLabel( constraintComposite,
-                             c.fieldName );
-        if ( c.connectives == null || c.connectives.length == 0 ) {
-            addRemoveButton( constraintComposite,
-                             parentConstraint,
-                             row,
-                             "icons/delete_item_small.gif",
-                             nested );
-        } else {
-            toolkit.createLabel( constraintComposite,
-                                 "" );
-        }
-        operatorDropDown( constraintComposite,
-                          c );
-        
-        constraintValueEditor(constraintComposite, c, c.fieldName);
-        
-        createConnectives( constraintComposite,
-                           c );
-        addConnectiveAction( constraintComposite,
-                             c );
-    }
-
-    private void addBindingField(Composite constraintComposite,
-                                 final SingleFieldConstraint c,
-                                 boolean showBinding) {
-        if ( !c.isBound() ) {
-            if ( bindable && showBinding ) {
-                ImageHyperlink link = addImage( constraintComposite,
-                                                "icons/new_item.gif" );
-                link.addHyperlinkListener( new IHyperlinkListener() {
-                    public void linkActivated(HyperlinkEvent e) {
-                        RuleDialog popup = new AssignFieldVariableDialog( parent.getShell(),
-                                                                          toolkit,
-                                                                          getModeller(),
-                                                                          c );
-                        popup.open();
-                    }
-
-                    public void linkEntered(HyperlinkEvent e) {
-                    }
-
-                    public void linkExited(HyperlinkEvent e) {
-                    }
-                } );
-
-                link.setToolTipText("Bind the field called [" + c.fieldName + "] to a variable.");
-            } else {
-                toolkit.createLabel( constraintComposite,
-                                     "" );
-            }
-        } else {
-            toolkit.createLabel( constraintComposite,
-                                 "[" + c.fieldBinding + "]" );
-        }
-
-    }
-
-    private void createPredicateConstraintRow(Composite constraintComposite,
-                                              int row,
-                                              final SingleFieldConstraint c) {
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.horizontalSpan = 6;
-        addImage( constraintComposite,
-                  "icons/function_assets.gif" );
-        formulaValueEditor( constraintComposite,
-                            c,
-                            gd );
-        addRemoveButton( constraintComposite,
-                         null,
-                         row,
-                         "icons/delete_item_small.gif",
-                         false );
-    }
-
-    private void createConnectives(Composite parent,
-                                   SingleFieldConstraint c) {
-        if ( c.connectives != null && c.connectives.length > 0 ) {
-            for ( int i = 0; i < c.connectives.length; i++ ) {
-                toolkit.createLabel( parent,
-                                     "" ); // dummy
-                toolkit.createLabel( parent,
-                                     "" ); // dummy
-                toolkit.createLabel( parent,
-                                     "" ); // dummy
-                ConnectiveConstraint con = c.connectives[i];
-                addRemoveConstraintAction( parent,
-                                           c,
-                                           con );
-                connectiveOperatorDropDown( parent,
-                                            con,
-                                            c.fieldName );
-               constraintValueEditor( parent,
-                                       con, c.fieldName );
-                
-            }
-        }
-    }
-
-    private void constraintValueEditor(Composite parent, ISingleFieldConstraint c, String name ){
-    	String type = this.modeller.getSuggestionCompletionEngine().getFieldType( pattern.factType, name );
-        new ConstraintValueEditor (parent, c, toolkit, modeller, type);
-    }
-    
-    
-    private void addConnectiveAction(Composite constraintComposite,
-                                     final SingleFieldConstraint c) {
-        ImageHyperlink link = addImage( constraintComposite,
-                                        "icons/add_connective.gif" );
-        link.setToolTipText( "Add more options to this fields values." );
-        link.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                c.addNewConnective();
-                getModeller().reloadLhs();
-                getModeller().setDirty( true );
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-
-        link.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING ) );
-    }
-
-    private void addRemoveButton(Composite constraintComposite,
-                                 final CompositeFieldConstraint parentConstraint,
-                                 final int row,
-                                 String iconRef,
-                                 boolean nested) {
-        if ( nested ) {
-            addNestedConstraintDeleteAction( constraintComposite,
-                                             parentConstraint,
-                                             row,
-                                             iconRef );
-        } else {
-            addRemoveFieldAction( constraintComposite,
-                                  row,
-                                  iconRef );
-        }
-
-    }
-
-    private void addNestedConstraintDeleteAction(Composite constraintComposite,
-                                                 final CompositeFieldConstraint parentConstraint,
-                                                 final int row,
-                                                 String iconRef) {
-        ImageHyperlink delLink = addImage( constraintComposite,
-                                           iconRef );
-        // "icons/delete_obj.gif");
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this (nested) restriction." );
-                dialog.setText( "Remove this item from nested constraint?" );
-                if ( dialog.open() == SWT.YES ) {
-                    parentConstraint.removeConstraint( row );
-                    getModeller().reloadLhs();
-                    getModeller().setDirty( true );
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-    }
-
-    private void addRemoveFieldAction(Composite constraintComposite,
-                                      final int currentRow,
-                                      String iconRef) {
-        ImageHyperlink delLink = addImage( constraintComposite,
-                                           iconRef );
-        delLink.setToolTipText( "Remove this fieldconstraint" );
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this item?" );
-                dialog.setText( "Remove this item?" );
-                if ( dialog.open() == SWT.YES ) {
-                    pattern.removeConstraint( currentRow );
-                    getModeller().reloadLhs();
-                    getModeller().setDirty( true );
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delLink.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING ) );
-    }
-
-    private void addRemoveConstraintAction(Composite composite,
-                                           final SingleFieldConstraint constraint,
-                                           final ConnectiveConstraint connConstraint) {
-        ImageHyperlink delLink = addImage( composite,
-                                           "icons/delete_item_small.gif" );
-        delLink.setToolTipText( "Remove this field constraint" );
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this item?" );
-                dialog.setText( "Remove this item?" );
-                if ( dialog.open() == SWT.YES ) {
-                    ConnectiveConstraint[] connectives = constraint.connectives;
-                    List nConnectives = new ArrayList();
-                    for ( int i = 0; i < connectives.length; i++ ) {
-                        if ( connectives[i] != connConstraint ) {
-                            nConnectives.add( connectives[i] );
-                        }
-                    }
-                    constraint.connectives = (ConnectiveConstraint[]) nConnectives.toArray( new ConnectiveConstraint[nConnectives.size()] );
-
-                    getModeller().reloadLhs();
-                    getModeller().setDirty( true );
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delLink.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_END ) );
-    }
-
-    /**
-     * This returns the pattern label.
-     */
-    private String getPatternLabel() {
-        if ( pattern.boundName != null ) {
-            return pattern.factType + " [" + pattern.boundName + "]";
-        }
-        return pattern.factType;
-    }
-
-    private void operatorDropDown(Composite parent,
-                                  final SingleFieldConstraint c) {
-        String[] ops = getCompletions().getOperatorCompletions( pattern.factType,
-                                                                c.fieldName );
-        final Combo box = new Combo( parent,
-                                     SWT.SIMPLE | SWT.DROP_DOWN | SWT.READ_ONLY );
-        for ( int i = 0; i < ops.length; i++ ) {
-            String op = ops[i];
-            box.add( HumanReadable.getOperatorDisplayName( op ) );
-            if ( op.equals( c.operator ) ) {
-                box.select( i );
-            }
-        }
-        GridData gridData = new GridData( GridData.FILL_HORIZONTAL );
-        gridData.horizontalSpan = 2;
-        box.setLayoutData( gridData );
-        box.addListener( SWT.Selection,
-                         new Listener() {
-                             public void handleEvent(Event event) {
-                                 c.operator = HumanReadable.getOperatorName( box.getText() );
-                                 getModeller().setDirty( true );
-                             }
-                         } );
-    }
-
-    private void connectiveOperatorDropDown(Composite parent,
-                                            final ConnectiveConstraint con,
-                                            String fieldName) {
-        String[] ops = getCompletions().getConnectiveOperatorCompletions( pattern.factType,
-                                                                          fieldName );
-        final Combo box = new Combo( parent,
-                                     SWT.SIMPLE | SWT.DROP_DOWN | SWT.READ_ONLY );
-        for ( int i = 0; i < ops.length; i++ ) {
-            String op = ops[i];
-            box.add( HumanReadable.getOperatorDisplayName( op ) );
-            if ( op.equals( con.operator ) ) {
-                box.select( i );
-            }
-        }
-        GridData gridData = new GridData( GridData.FILL_HORIZONTAL );
-        gridData.horizontalSpan = 2;
-        box.setLayoutData( gridData );
-        box.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                con.operator = HumanReadable.getOperatorName( box.getText() );
-                getModeller().setDirty( true );
-                
-                
-            }
-        } );
-    }
-
-    private void formulaValueEditor(Composite parent,
-                                    final ISingleFieldConstraint c,
-                                    GridData gd) {
-
-        final Text box = toolkit.createText( parent,
-                                             "" );
-
-        if ( c.value != null ) {
-            box.setText( c.value );
-        }
-        
-        gd.grabExcessHorizontalSpace = true;
-        gd.minimumWidth = 100;
-        box.setLayoutData( gd );
-
-        box.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                c.value = box.getText();
-                getModeller().setDirty( true );
-            }
-        } );
-    }
-
-    private void deleteBindedFact() {
-        List newPatterns = new ArrayList();
-        for ( int i = 0; i < parentPattern.patterns.length; i++ ) {
-            if ( parentPattern.patterns[i] != pattern ) {
-                newPatterns.add( parentPattern.patterns[i] );
-            }
-        }
-        parentPattern.patterns = (FactPattern[]) newPatterns.toArray( new FactPattern[newPatterns.size()] );
-        getModeller().reloadLhs();
-    }
-
-    private SuggestionCompletionEngine getCompletions() {
-        return getModeller().getSuggestionCompletionEngine();
-    }
-
-    
-    
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,644 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.ConnectiveConstraint;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.FieldConstraint;
+import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
+import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+/**
+ * This is the new smart widget that works off the model.
+ * 
+ * @author Michael Neale
+ * @author Ahti Kitsik
+ * @author Anton Arhipov
+ * 
+ */
+public class FactPatternWidget extends Widget {
+
+    private final CompositeFactPattern parentPattern;
+
+    private final FactPattern          pattern;
+
+    private boolean                    bindable;
+
+    public FactPatternWidget(FormToolkit toolkit,
+                             Composite parent,
+                             RuleModeller mod,
+                             FactPattern factPattern,
+                             CompositeFactPattern parentPattern,
+                             int idx,
+                             boolean canBind) {
+
+        super( parent,
+               toolkit,
+               mod,
+               idx );
+
+        this.pattern = factPattern;
+        this.parentPattern = parentPattern;
+        this.bindable = canBind;
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 4;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        l.verticalSpacing = 0;
+        parent.setLayout( l );
+
+        create();
+    }
+
+    private void create() {
+        Label l = toolkit.createLabel( parent,
+                             getPatternLabel() );
+        
+        GridData labelGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
+        labelGD.horizontalSpan = 2;
+        //labelGD.verticalAlignment = SWT.CENTER;
+        //labelGD.horizontalAlignment = SWT.CENTER;
+        l.setLayoutData(labelGD);
+        l.setBackground(new Color(parent.getShell().getDisplay(),240,240,240));
+        
+        addDeleteAction();
+        addMoreOptionsAction();
+        
+        Composite constraintComposite = toolkit.createComposite( parent );
+        GridLayout constraintLayout = new GridLayout();
+        constraintLayout.numColumns = 8;
+        constraintComposite.setLayout( constraintLayout );
+
+        for ( int row = 0; row < pattern.getFieldConstraints().length; row++ ) {
+            renderFieldConstraints( constraintComposite,
+                                    pattern.getFieldConstraints()[row],
+                                    null,
+                                    row,
+                                    true,
+                                    false );
+        }
+
+        toolkit.paintBordersFor( constraintComposite );
+    }
+
+    private void addMoreOptionsAction() {
+        ImageHyperlink link = addImage( parent,
+                                        "icons/new_item.gif" );
+
+        link.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                RuleDialog popup = new AddNewFieldConstraintDialog( parent.getShell(),
+                                                                    toolkit,
+                                                                    getModeller(),
+                                                                    pattern,
+                                                                    parentPattern != null );
+                popup.open();
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        link.setToolTipText( "Add a field to this condition, or bind a varible to this fact." );
+    }
+
+    private void addDeleteAction() {
+        ImageHyperlink delWholeLink = addImage( parent,
+                                                "icons/delete_obj.gif" );
+        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this ENTIRE condition, " + "and all the field constraints that belong to it." );
+                dialog.setText( "Remove this entire condition?" );
+                if ( dialog.open() == SWT.YES ) {
+                    if ( parentPattern == null ) {
+                        if ( getModeller().getModel().removeLhsItem( index ) ) {
+                            getModeller().reloadLhs();
+                        } else {
+                            showMessage( "Can't remove that item as it is used in the action part of the rule." );
+                        }
+                    } else {
+                        deleteBindedFact();
+                    }
+                    getModeller().setDirty( true );
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delWholeLink.setToolTipText( "Remove this condition." );
+    }
+
+    private void renderFieldConstraints(Composite constraintComposite,
+                                        FieldConstraint constraint,
+                                        final CompositeFieldConstraint parentConstraint,
+                                        int row,
+                                        boolean showBinding,
+                                        boolean nested) {
+        if ( constraint instanceof SingleFieldConstraint ) {
+            renderSingleFieldConstraint( constraintComposite,
+                                         row,
+                                         constraint,
+                                         parentConstraint,
+                                         showBinding,
+                                         nested );
+        } else if ( constraint instanceof CompositeFieldConstraint ) {
+            compositeFieldConstraintEditor( constraintComposite,
+                                            (CompositeFieldConstraint) constraint,
+                                            parentConstraint,
+                                            row,
+                                            nested );
+        }
+    }
+
+    private void compositeFieldConstraintEditor(Composite constraintComposite,
+                                                final CompositeFieldConstraint constraint,
+                                                final CompositeFieldConstraint parentConstraint,
+                                                final int row,
+                                                boolean nested) {
+
+        // Label
+        if ( constraint.compositeJunctionType.equals( CompositeFieldConstraint.COMPOSITE_TYPE_AND ) ) {
+            toolkit.createLabel( constraintComposite,
+                                 "All of:" );
+        } else {
+            toolkit.createLabel( constraintComposite,
+                                 "Any of:" );
+        }
+
+        addRemoveButton( constraintComposite,
+                         parentConstraint,
+                         row,
+                         "icons/delete_obj.gif",
+                         nested );
+
+        // button "add"
+        ImageHyperlink link = addImage( constraintComposite,
+                                        "icons/new_item.gif" );
+        link.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                RuleDialog popup = new AddCompositeConstraintOptionDialog( parent.getShell(),
+                                                                           getModeller(),
+                                                                           constraint,
+                                                                           pattern );
+                popup.open();
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+
+        link.setToolTipText("Add fields to this constriant.");
+        
+        addNestedElements( constraintComposite,
+                           constraint );
+    }
+
+    private void addNestedElements(Composite constraintComposite,
+                                   final CompositeFieldConstraint constraint) {
+        // Nested elementss
+        FieldConstraint[] nestedConstraints = constraint.constraints;
+        if ( nestedConstraints != null ) {
+            Composite nestedComposite = toolkit.createComposite( constraintComposite );
+            GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+            gd.horizontalSpan = 5;
+            nestedComposite.setLayoutData( gd );
+
+            GridLayout l = new GridLayout();
+            l.numColumns = 8;
+            l.marginBottom = 0;
+            l.marginHeight = 0;
+            l.marginLeft = 0;
+            l.marginRight = 0;
+            l.marginTop = 0;
+            l.marginWidth = 0;
+            l.verticalSpacing = 0;
+            nestedComposite.setLayout( l );
+
+            for ( int i = 0; i < nestedConstraints.length; i++ ) {
+                renderFieldConstraints( nestedComposite,
+                                        nestedConstraints[i],
+                                        constraint,
+                                        i,
+                                        false,
+                                        true );
+                toolkit.paintBordersFor( nestedComposite );
+            }
+        } else {
+            GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+            gd.horizontalSpan = 5;
+            Label dummyLabel = toolkit.createLabel( constraintComposite,
+                                                    "" ); // dummy
+            dummyLabel.setLayoutData( gd );
+        }
+    }
+
+    private void renderSingleFieldConstraint(Composite constraintComposite,
+                                             int row,
+                                             FieldConstraint constraint,
+                                             CompositeFieldConstraint parentConstraint,
+                                             boolean showBinding,
+                                             boolean nested) {
+        final SingleFieldConstraint c = (SingleFieldConstraint) constraint;
+        if ( c.constraintValueType != ISingleFieldConstraint.TYPE_PREDICATE ) {
+            createConstraintRow( constraintComposite,
+                                 parentConstraint,
+                                 row,
+                                 c,
+                                 showBinding,
+                                 nested );
+        } else {
+            createPredicateConstraintRow( constraintComposite,
+                                          row,
+                                          c );
+        }
+    }
+
+    private void createConstraintRow(Composite constraintComposite,
+                                     CompositeFieldConstraint parentConstraint,
+                                     int row,
+                                     final SingleFieldConstraint c,
+                                     boolean showBinding,
+                                     boolean nested) {
+        addBindingField( constraintComposite,
+                         c,
+                         showBinding );
+        toolkit.createLabel( constraintComposite,
+                             c.fieldName );
+        if ( c.connectives == null || c.connectives.length == 0 ) {
+            addRemoveButton( constraintComposite,
+                             parentConstraint,
+                             row,
+                             "icons/delete_item_small.gif",
+                             nested );
+        } else {
+            toolkit.createLabel( constraintComposite,
+                                 "" );
+        }
+        operatorDropDown( constraintComposite,
+                          c );
+        
+        constraintValueEditor(constraintComposite, c, c.fieldName);
+        
+        createConnectives( constraintComposite,
+                           c );
+        addConnectiveAction( constraintComposite,
+                             c );
+    }
+
+    private void addBindingField(Composite constraintComposite,
+                                 final SingleFieldConstraint c,
+                                 boolean showBinding) {
+        if ( !c.isBound() ) {
+            if ( bindable && showBinding ) {
+                ImageHyperlink link = addImage( constraintComposite,
+                                                "icons/new_item.gif" );
+                link.addHyperlinkListener( new IHyperlinkListener() {
+                    public void linkActivated(HyperlinkEvent e) {
+                        RuleDialog popup = new AssignFieldVariableDialog( parent.getShell(),
+                                                                          toolkit,
+                                                                          getModeller(),
+                                                                          c );
+                        popup.open();
+                    }
+
+                    public void linkEntered(HyperlinkEvent e) {
+                    }
+
+                    public void linkExited(HyperlinkEvent e) {
+                    }
+                } );
+
+                link.setToolTipText("Bind the field called [" + c.fieldName + "] to a variable.");
+            } else {
+                toolkit.createLabel( constraintComposite,
+                                     "" );
+            }
+        } else {
+            toolkit.createLabel( constraintComposite,
+                                 "[" + c.fieldBinding + "]" );
+        }
+
+    }
+
+    private void createPredicateConstraintRow(Composite constraintComposite,
+                                              int row,
+                                              final SingleFieldConstraint c) {
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.horizontalSpan = 6;
+        addImage( constraintComposite,
+                  "icons/function_assets.gif" );
+        formulaValueEditor( constraintComposite,
+                            c,
+                            gd );
+        addRemoveButton( constraintComposite,
+                         null,
+                         row,
+                         "icons/delete_item_small.gif",
+                         false );
+    }
+
+    private void createConnectives(Composite parent,
+                                   SingleFieldConstraint c) {
+        if ( c.connectives != null && c.connectives.length > 0 ) {
+            for ( int i = 0; i < c.connectives.length; i++ ) {
+                toolkit.createLabel( parent,
+                                     "" ); // dummy
+                toolkit.createLabel( parent,
+                                     "" ); // dummy
+                toolkit.createLabel( parent,
+                                     "" ); // dummy
+                ConnectiveConstraint con = c.connectives[i];
+                addRemoveConstraintAction( parent,
+                                           c,
+                                           con );
+                connectiveOperatorDropDown( parent,
+                                            con,
+                                            c.fieldName );
+               constraintValueEditor( parent,
+                                       con, c.fieldName );
+                
+            }
+        }
+    }
+
+    private void constraintValueEditor(Composite parent, ISingleFieldConstraint c, String name ){
+    	String type = this.modeller.getSuggestionCompletionEngine().getFieldType( pattern.factType, name );
+        new ConstraintValueEditor (parent, c, toolkit, modeller, type);
+    }
+    
+    
+    private void addConnectiveAction(Composite constraintComposite,
+                                     final SingleFieldConstraint c) {
+        ImageHyperlink link = addImage( constraintComposite,
+                                        "icons/add_connective.gif" );
+        link.setToolTipText( "Add more options to this fields values." );
+        link.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                c.addNewConnective();
+                getModeller().reloadLhs();
+                getModeller().setDirty( true );
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+
+        link.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING ) );
+    }
+
+    private void addRemoveButton(Composite constraintComposite,
+                                 final CompositeFieldConstraint parentConstraint,
+                                 final int row,
+                                 String iconRef,
+                                 boolean nested) {
+        if ( nested ) {
+            addNestedConstraintDeleteAction( constraintComposite,
+                                             parentConstraint,
+                                             row,
+                                             iconRef );
+        } else {
+            addRemoveFieldAction( constraintComposite,
+                                  row,
+                                  iconRef );
+        }
+
+    }
+
+    private void addNestedConstraintDeleteAction(Composite constraintComposite,
+                                                 final CompositeFieldConstraint parentConstraint,
+                                                 final int row,
+                                                 String iconRef) {
+        ImageHyperlink delLink = addImage( constraintComposite,
+                                           iconRef );
+        // "icons/delete_obj.gif");
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this (nested) restriction." );
+                dialog.setText( "Remove this item from nested constraint?" );
+                if ( dialog.open() == SWT.YES ) {
+                    parentConstraint.removeConstraint( row );
+                    getModeller().reloadLhs();
+                    getModeller().setDirty( true );
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+    }
+
+    private void addRemoveFieldAction(Composite constraintComposite,
+                                      final int currentRow,
+                                      String iconRef) {
+        ImageHyperlink delLink = addImage( constraintComposite,
+                                           iconRef );
+        delLink.setToolTipText( "Remove this fieldconstraint" );
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this item?" );
+                dialog.setText( "Remove this item?" );
+                if ( dialog.open() == SWT.YES ) {
+                    pattern.removeConstraint( currentRow );
+                    getModeller().reloadLhs();
+                    getModeller().setDirty( true );
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delLink.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING ) );
+    }
+
+    private void addRemoveConstraintAction(Composite composite,
+                                           final SingleFieldConstraint constraint,
+                                           final ConnectiveConstraint connConstraint) {
+        ImageHyperlink delLink = addImage( composite,
+                                           "icons/delete_item_small.gif" );
+        delLink.setToolTipText( "Remove this field constraint" );
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this item?" );
+                dialog.setText( "Remove this item?" );
+                if ( dialog.open() == SWT.YES ) {
+                    ConnectiveConstraint[] connectives = constraint.connectives;
+                    List nConnectives = new ArrayList();
+                    for ( int i = 0; i < connectives.length; i++ ) {
+                        if ( connectives[i] != connConstraint ) {
+                            nConnectives.add( connectives[i] );
+                        }
+                    }
+                    constraint.connectives = (ConnectiveConstraint[]) nConnectives.toArray( new ConnectiveConstraint[nConnectives.size()] );
+
+                    getModeller().reloadLhs();
+                    getModeller().setDirty( true );
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delLink.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_END ) );
+    }
+
+    /**
+     * This returns the pattern label.
+     */
+    private String getPatternLabel() {
+        if ( pattern.boundName != null ) {
+            return pattern.factType + " [" + pattern.boundName + "]";
+        }
+        return pattern.factType;
+    }
+
+    private void operatorDropDown(Composite parent,
+                                  final SingleFieldConstraint c) {
+        String[] ops = getCompletions().getOperatorCompletions( pattern.factType,
+                                                                c.fieldName );
+        final Combo box = new Combo( parent,
+                                     SWT.SIMPLE | SWT.DROP_DOWN | SWT.READ_ONLY );
+        for ( int i = 0; i < ops.length; i++ ) {
+            String op = ops[i];
+            box.add( HumanReadable.getOperatorDisplayName( op ) );
+            if ( op.equals( c.operator ) ) {
+                box.select( i );
+            }
+        }
+        GridData gridData = new GridData( GridData.FILL_HORIZONTAL );
+        gridData.horizontalSpan = 2;
+        box.setLayoutData( gridData );
+        box.addListener( SWT.Selection,
+                         new Listener() {
+                             public void handleEvent(Event event) {
+                                 c.operator = HumanReadable.getOperatorName( box.getText() );
+                                 getModeller().setDirty( true );
+                             }
+                         } );
+    }
+
+    private void connectiveOperatorDropDown(Composite parent,
+                                            final ConnectiveConstraint con,
+                                            String fieldName) {
+        String[] ops = getCompletions().getConnectiveOperatorCompletions( pattern.factType,
+                                                                          fieldName );
+        final Combo box = new Combo( parent,
+                                     SWT.SIMPLE | SWT.DROP_DOWN | SWT.READ_ONLY );
+        for ( int i = 0; i < ops.length; i++ ) {
+            String op = ops[i];
+            box.add( HumanReadable.getOperatorDisplayName( op ) );
+            if ( op.equals( con.operator ) ) {
+                box.select( i );
+            }
+        }
+        GridData gridData = new GridData( GridData.FILL_HORIZONTAL );
+        gridData.horizontalSpan = 2;
+        box.setLayoutData( gridData );
+        box.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                con.operator = HumanReadable.getOperatorName( box.getText() );
+                getModeller().setDirty( true );
+                
+                
+            }
+        } );
+    }
+
+    private void formulaValueEditor(Composite parent,
+                                    final ISingleFieldConstraint c,
+                                    GridData gd) {
+
+        final Text box = toolkit.createText( parent,
+                                             "" );
+
+        if ( c.value != null ) {
+            box.setText( c.value );
+        }
+        
+        gd.grabExcessHorizontalSpace = true;
+        gd.minimumWidth = 100;
+        box.setLayoutData( gd );
+
+        box.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                c.value = box.getText();
+                getModeller().setDirty( true );
+            }
+        } );
+    }
+
+    private void deleteBindedFact() {
+        List newPatterns = new ArrayList();
+        for ( int i = 0; i < parentPattern.patterns.length; i++ ) {
+            if ( parentPattern.patterns[i] != pattern ) {
+                newPatterns.add( parentPattern.patterns[i] );
+            }
+        }
+        parentPattern.patterns = (FactPattern[]) newPatterns.toArray( new FactPattern[newPatterns.size()] );
+        getModeller().reloadLhs();
+    }
+
+    private SuggestionCompletionEngine getCompletions() {
+        return getModeller().getSuggestionCompletionEngine();
+    }
+
+    
+    
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,32 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-public class LHSDSLSentenceWidget extends DSLSentenceWidget {
-
-    public LHSDSLSentenceWidget(FormToolkit toolkit,
-                                Composite parent,
-                                DSLSentence sentence,
-                                RuleModeller modeller,
-                                int index) {
-        super( toolkit,
-               parent,
-               sentence,
-               modeller,
-               index );
-
-    }
-
-    protected void updateModel() {
-        if ( getModeller().getModel().removeLhsItem( index ) ) {
-            getModeller().reloadLhs();
-        } else {
-            showMessage( "Can't remove that item as it is used in the action part of the rule." );
-        }
-        getModeller().reloadLhs();
-        getModeller().setDirty( true );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,32 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+public class LHSDSLSentenceWidget extends DSLSentenceWidget {
+
+    public LHSDSLSentenceWidget(FormToolkit toolkit,
+                                Composite parent,
+                                DSLSentence sentence,
+                                RuleModeller modeller,
+                                int index) {
+        super( toolkit,
+               parent,
+               sentence,
+               modeller,
+               index );
+
+    }
+
+    protected void updateModel() {
+        if ( getModeller().getModel().removeLhsItem( index ) ) {
+            getModeller().reloadLhs();
+        } else {
+            showMessage( "Can't remove that item as it is used in the action part of the rule." );
+        }
+        getModeller().reloadLhs();
+        getModeller().setDirty( true );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,28 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.widgets.Text;
-
-public class NumericKeyFilter implements KeyListener {
-
-	private Text box;
-	
-	public NumericKeyFilter(Text box){
-		this.box = box;
-		box.addKeyListener(this);
-	}
-	
-	public void keyPressed(KeyEvent e) {
-		char c = e.character;
-		if (Character.isLetter( c ) && c != '='
-            && !(this.box.getText().startsWith( "=" ))) {
-			e.doit = false;
-		}
-	}
-
-	public void keyReleased(KeyEvent e) {
-		
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,28 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.widgets.Text;
+
+public class NumericKeyFilter implements KeyListener {
+
+	private Text box;
+	
+	public NumericKeyFilter(Text box){
+		this.box = box;
+		box.addKeyListener(this);
+	}
+	
+	public void keyPressed(KeyEvent e) {
+		char c = e.character;
+		if (Character.isLetter( c ) && c != '='
+            && !(this.box.getText().startsWith( "=" ))) {
+			e.doit = false;
+		}
+	}
+
+	public void keyReleased(KeyEvent e) {
+		
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,27 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-public class RHSDSLSentenceWidget extends DSLSentenceWidget {
-
-    public RHSDSLSentenceWidget(FormToolkit toolkit,
-                                Composite parent,
-                                DSLSentence sentence,
-                                RuleModeller modeller,
-                                int index) {
-        super( toolkit,
-               parent,
-               sentence,
-               modeller,
-               index );
-    }
-
-    protected void updateModel() {
-        getModeller().getModel().removeRhsItem( index );
-        getModeller().reloadRhs();
-        getModeller().setDirty( true );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,27 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+public class RHSDSLSentenceWidget extends DSLSentenceWidget {
+
+    public RHSDSLSentenceWidget(FormToolkit toolkit,
+                                Composite parent,
+                                DSLSentence sentence,
+                                RuleModeller modeller,
+                                int index) {
+        super( toolkit,
+               parent,
+               sentence,
+               modeller,
+               index );
+    }
+
+    protected void updateModel() {
+        getModeller().getModel().removeRhsItem( index );
+        getModeller().reloadRhs();
+        getModeller().setDirty( true );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,185 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.brl.RuleAttribute;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-public class RuleAttributeWidget extends Widget {
-
-    public RuleAttributeWidget(FormToolkit toolkit,
-                               Composite parent,
-                               RuleModeller modeller) {
-        super( parent,
-               toolkit,
-               modeller,
-               0 );
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 3;
-        // l.marginBottom = 5;
-        // l.marginHeight = 5;
-        // l.marginLeft = 5;
-        // l.marginRight = 5;
-        // l.marginTop = 10;
-        // l.marginWidth = 10;
-        // l.verticalSpacing = 15;
-        parent.setLayout( l );
-
-        create();
-    }
-
-    private void create() {
-
-        RuleAttribute[] attrs = modeller.getModel().attributes;
-        for ( int i = 0; i < attrs.length; i++ ) {
-            RuleAttribute at = attrs[i];
-            addAttribute( at );
-        }
-        toolkit.paintBordersFor( parent );
-    }
-
-    private void addAttribute(RuleAttribute at) {
-        toolkit.createLabel( parent,
-                             at.attributeName );
-
-        if ( at.attributeName.equals( "no-loop" ) ) {
-            toolkit.createLabel( parent,
-                                 "" );
-        } else if ( at.attributeName.equals( "enabled" ) || at.attributeName.equals( "auto-focus" ) || at.attributeName.equals( "lock-on-active" ) ) {
-            createCheckbox( at );
-        } else {
-            createText( at );
-        }
-
-        addDeleteLink( at );
-
-    }
-
-    private void createText(final RuleAttribute at) {
-        final Text box = toolkit.createText( parent,
-                                             "" );
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.grabExcessHorizontalSpace = true;
-        gd.minimumWidth = 100;
-        box.setLayoutData( gd );
-        
-        box.setText( at.value );
-
-        box.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                at.value = box.getText();
-                modeller.setDirty( true );
-            }
-        } );
-
-        if ( at.attributeName.equals( "date-effective" ) || at.attributeName.equals( "date-expires" ) ) {
-            if ( at.value == null || "".equals( at.value.trim() ) ) {
-                box.setText( "dd-MMM-yyyy" );
-            }
-        }
-
-    }
-
-    private void createCheckbox(final RuleAttribute at) {
-        final Button checkbox = toolkit.createButton( parent,
-                                                      "",
-                                                      SWT.CHECK );
-
-        if ( at.value == null ) {
-            checkbox.setSelection( true );
-            at.value = "true";
-        } else {
-            checkbox.setSelection( at.value.equals( "true" ) ? true : false );
-        }
-
-        checkbox.addSelectionListener( new SelectionListener() {
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-
-            }
-
-            public void widgetSelected(SelectionEvent e) {
-                at.value = (checkbox.getSelection()) ? "true" : "false";
-                modeller.setDirty( true );
-            }
-
-        } );
-
-    }
-
-    private void addDeleteLink(final RuleAttribute at) {
-        ImageHyperlink delLink = addImage( parent,
-                                           "icons/delete_item_small.gif" );
-        delLink.setToolTipText( "Remove this fieldconstraint" );
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this rule option?" );
-                dialog.setText( "Remove this rule option?" );
-                if ( dialog.open() == SWT.YES ) {
-                    RuleAttribute[] attrs = modeller.getModel().attributes;
-                    for ( int i = 0; i < attrs.length; i++ ) {
-                        if ( attrs[i] == at ) {
-                            modeller.getModel().removeAttribute( i );
-
-                            modeller.setDirty( true );
-                            modeller.reloadOptions();
-                        }
-                    }
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-
-    }
-
-    /**
-     * Return a listbox of choices for rule attributes.
-     * 
-     * @return
-     */
-    public static List getAttributeList() {
-        List list = new ArrayList();
-        list.add( "..." );
-
-        list.add( "salience" );
-        list.add( "enabled" );
-        list.add( "date-effective" );
-        list.add( "date-expires" );
-        list.add( "no-loop" );
-        list.add( "agenda-group" );
-        list.add( "activation-group" );
-        list.add( "duration" );
-        list.add( "auto-focus" );
-        list.add( "lock-on-active" );
-        list.add( "ruleflow-group" );
-        list.add( "dialect" );
-
-        return list;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,185 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.brl.RuleAttribute;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+public class RuleAttributeWidget extends Widget {
+
+    public RuleAttributeWidget(FormToolkit toolkit,
+                               Composite parent,
+                               RuleModeller modeller) {
+        super( parent,
+               toolkit,
+               modeller,
+               0 );
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 3;
+        // l.marginBottom = 5;
+        // l.marginHeight = 5;
+        // l.marginLeft = 5;
+        // l.marginRight = 5;
+        // l.marginTop = 10;
+        // l.marginWidth = 10;
+        // l.verticalSpacing = 15;
+        parent.setLayout( l );
+
+        create();
+    }
+
+    private void create() {
+
+        RuleAttribute[] attrs = modeller.getModel().attributes;
+        for ( int i = 0; i < attrs.length; i++ ) {
+            RuleAttribute at = attrs[i];
+            addAttribute( at );
+        }
+        toolkit.paintBordersFor( parent );
+    }
+
+    private void addAttribute(RuleAttribute at) {
+        toolkit.createLabel( parent,
+                             at.attributeName );
+
+        if ( at.attributeName.equals( "no-loop" ) ) {
+            toolkit.createLabel( parent,
+                                 "" );
+        } else if ( at.attributeName.equals( "enabled" ) || at.attributeName.equals( "auto-focus" ) || at.attributeName.equals( "lock-on-active" ) ) {
+            createCheckbox( at );
+        } else {
+            createText( at );
+        }
+
+        addDeleteLink( at );
+
+    }
+
+    private void createText(final RuleAttribute at) {
+        final Text box = toolkit.createText( parent,
+                                             "" );
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.grabExcessHorizontalSpace = true;
+        gd.minimumWidth = 100;
+        box.setLayoutData( gd );
+        
+        box.setText( at.value );
+
+        box.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                at.value = box.getText();
+                modeller.setDirty( true );
+            }
+        } );
+
+        if ( at.attributeName.equals( "date-effective" ) || at.attributeName.equals( "date-expires" ) ) {
+            if ( at.value == null || "".equals( at.value.trim() ) ) {
+                box.setText( "dd-MMM-yyyy" );
+            }
+        }
+
+    }
+
+    private void createCheckbox(final RuleAttribute at) {
+        final Button checkbox = toolkit.createButton( parent,
+                                                      "",
+                                                      SWT.CHECK );
+
+        if ( at.value == null ) {
+            checkbox.setSelection( true );
+            at.value = "true";
+        } else {
+            checkbox.setSelection( at.value.equals( "true" ) ? true : false );
+        }
+
+        checkbox.addSelectionListener( new SelectionListener() {
+
+            public void widgetDefaultSelected(SelectionEvent e) {
+
+            }
+
+            public void widgetSelected(SelectionEvent e) {
+                at.value = (checkbox.getSelection()) ? "true" : "false";
+                modeller.setDirty( true );
+            }
+
+        } );
+
+    }
+
+    private void addDeleteLink(final RuleAttribute at) {
+        ImageHyperlink delLink = addImage( parent,
+                                           "icons/delete_item_small.gif" );
+        delLink.setToolTipText( "Remove this fieldconstraint" );
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this rule option?" );
+                dialog.setText( "Remove this rule option?" );
+                if ( dialog.open() == SWT.YES ) {
+                    RuleAttribute[] attrs = modeller.getModel().attributes;
+                    for ( int i = 0; i < attrs.length; i++ ) {
+                        if ( attrs[i] == at ) {
+                            modeller.getModel().removeAttribute( i );
+
+                            modeller.setDirty( true );
+                            modeller.reloadOptions();
+                        }
+                    }
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+
+    }
+
+    /**
+     * Return a listbox of choices for rule attributes.
+     * 
+     * @return
+     */
+    public static List getAttributeList() {
+        List list = new ArrayList();
+        list.add( "..." );
+
+        list.add( "salience" );
+        list.add( "enabled" );
+        list.add( "date-effective" );
+        list.add( "date-expires" );
+        list.add( "no-loop" );
+        list.add( "agenda-group" );
+        list.add( "activation-group" );
+        list.add( "duration" );
+        list.add( "auto-focus" );
+        list.add( "lock-on-active" );
+        list.add( "ruleflow-group" );
+        list.add( "dialect" );
+
+        return list;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,82 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.brl.RuleAttribute;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-public class RuleAttributesDialog extends RuleDialog {
-
-    private RuleModeller      modeller;
-
-    public RuleAttributesDialog(Shell parent,
-                                RuleModeller modeller) {
-        super( parent,
-               "Add new option to the rule",
-               "Pick the value from combo." );
-
-        this.modeller = modeller;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 3;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        composite.setLayout( l );
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.horizontalSpan = 2;
-
-        createAtributesSelectionCombo( composite,
-                                       gd );
-
-        return composite;
-    }
-
-    private void createAtributesSelectionCombo(Composite composite,
-                                               GridData gd) {
-        createLabel( composite,
-                     "Attributes" );
-        final Combo combo = new Combo( composite,
-                                       SWT.READ_ONLY );
-        combo.setLayoutData( gd );
-        List attributes = RuleAttributeWidget.getAttributeList();
-        for ( Iterator iterator = attributes.iterator(); iterator.hasNext(); ) {
-            String attr = (String) iterator.next();
-            combo.add( attr );
-        }
-        combo.select( 0 );
-
-        combo.addListener( SWT.Selection,
-                           new Listener() {
-                               public void handleEvent(Event event) {
-                                   if ( combo.getSelectionIndex() == 0 ) {
-                                       return;
-                                   }
-                                   modeller.getModel().addAttribute( new RuleAttribute( combo.getText(),
-                                                                                        "" ) );
-                                   modeller.setDirty( true );
-                                   modeller.reloadOptions();
-                                   close();
-                               }
-                           } );
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,82 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.brl.RuleAttribute;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+public class RuleAttributesDialog extends RuleDialog {
+
+    private RuleModeller      modeller;
+
+    public RuleAttributesDialog(Shell parent,
+                                RuleModeller modeller) {
+        super( parent,
+               "Add new option to the rule",
+               "Pick the value from combo." );
+
+        this.modeller = modeller;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 3;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        composite.setLayout( l );
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.horizontalSpan = 2;
+
+        createAtributesSelectionCombo( composite,
+                                       gd );
+
+        return composite;
+    }
+
+    private void createAtributesSelectionCombo(Composite composite,
+                                               GridData gd) {
+        createLabel( composite,
+                     "Attributes" );
+        final Combo combo = new Combo( composite,
+                                       SWT.READ_ONLY );
+        combo.setLayoutData( gd );
+        List attributes = RuleAttributeWidget.getAttributeList();
+        for ( Iterator iterator = attributes.iterator(); iterator.hasNext(); ) {
+            String attr = (String) iterator.next();
+            combo.add( attr );
+        }
+        combo.select( 0 );
+
+        combo.addListener( SWT.Selection,
+                           new Listener() {
+                               public void handleEvent(Event event) {
+                                   if ( combo.getSelectionIndex() == 0 ) {
+                                       return;
+                                   }
+                                   modeller.getModel().addAttribute( new RuleAttribute( combo.getText(),
+                                                                                        "" ) );
+                                   modeller.setDirty( true );
+                                   modeller.reloadOptions();
+                                   close();
+                               }
+                           } );
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,120 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class RuleDialog extends Dialog {
-
-    private String title;
-    private String hint;
-
-    public RuleDialog(Shell parent,
-                      String title,
-                      String hint) {
-        //super(parent,INFOPOPUPRESIZE_SHELLSTYLE,true,true,true,true,title,hint);
-        super( (Shell) parent.getParent() );
-        setShellStyle( getShellStyle() | SWT.RESIZE );
-        this.title = title;
-        this.hint = hint;
-    }
-
-    protected void configureShell(Shell newShell) {
-        super.configureShell( newShell );
-        newShell.setText( title );
-        newShell.setToolTipText( hint );
-    }
-
-    protected Control createDialogArea(Composite parent) {
-
-        Composite finalComposite = new Composite( parent,
-                                                  SWT.NONE );
-        finalComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
-        GridLayout finalLayout = new GridLayout();
-        finalComposite.setLayout( finalLayout );
-
-        Composite titleComposite = new Composite( finalComposite,
-                                                  SWT.NONE );
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = convertVerticalDLUsToPixels( IDialogConstants.VERTICAL_MARGIN );
-        layout.marginWidth = convertHorizontalDLUsToPixels( IDialogConstants.HORIZONTAL_MARGIN );
-        layout.verticalSpacing = 8;
-        layout.horizontalSpacing = 8;
-        titleComposite.setLayout( layout );
-        titleComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
-        applyDialogFont( titleComposite );
-
-        Label l = new Label( titleComposite,
-                             SWT.CENTER );
-        l.setToolTipText( hint );
-        l.setText( title );
-
-        Font exFont = l.getFont();
-
-        FontData[] exfds = l.getFont().getFontData();
-        if ( exfds.length > 0 ) {
-            FontData fd = exfds[0];
-            fd.setHeight( fd.getHeight() + 4 );
-            Font f = new Font( exFont.getDevice(),
-                               fd );
-            l.setFont( f );
-        }
-
-        Composite contentComposite = (Composite) super.createDialogArea( finalComposite );
-
-        return contentComposite;
-    }
-
-    protected void createButtonsForButtonBar(Composite parent) {
-        // We have only cancel button
-        createButton( parent,
-                      IDialogConstants.CANCEL_ID,
-                      IDialogConstants.CANCEL_LABEL,
-                      false );
-
-    }
-
-    /*    
-     protected Control createDialogArea(Composite parent) {
-     Composite composite = new Composite(parent, SWT.NONE);
-     
-     GridLayout layout = new GridLayout();
-     layout.marginHeight = 2;
-     layout.marginWidth = 2;
-     layout.verticalSpacing = 2;
-     layout.horizontalSpacing = 2;
-     composite.setLayout(layout);
-     
-     GridData gd = new GridData(GridData.FILL_BOTH);
-     composite.setLayoutData(gd);
-     
-     return composite;
-     }
-     */
-
-    protected Label createLabel(Composite composite,
-                                String string) {
-        Label l = new Label( composite,
-                             0 );
-        l.setText( string );
-        return l;
-    }
-
-    protected Text createText(Composite composite,
-                              String string) {
-        Text t = new Text( composite,
-                           0 );
-        t.setText( string );
-        return t;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,120 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+public class RuleDialog extends Dialog {
+
+    private String title;
+    private String hint;
+
+    public RuleDialog(Shell parent,
+                      String title,
+                      String hint) {
+        //super(parent,INFOPOPUPRESIZE_SHELLSTYLE,true,true,true,true,title,hint);
+        super( (Shell) parent.getParent() );
+        setShellStyle( getShellStyle() | SWT.RESIZE );
+        this.title = title;
+        this.hint = hint;
+    }
+
+    protected void configureShell(Shell newShell) {
+        super.configureShell( newShell );
+        newShell.setText( title );
+        newShell.setToolTipText( hint );
+    }
+
+    protected Control createDialogArea(Composite parent) {
+
+        Composite finalComposite = new Composite( parent,
+                                                  SWT.NONE );
+        finalComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
+        GridLayout finalLayout = new GridLayout();
+        finalComposite.setLayout( finalLayout );
+
+        Composite titleComposite = new Composite( finalComposite,
+                                                  SWT.NONE );
+        GridLayout layout = new GridLayout();
+        layout.marginHeight = convertVerticalDLUsToPixels( IDialogConstants.VERTICAL_MARGIN );
+        layout.marginWidth = convertHorizontalDLUsToPixels( IDialogConstants.HORIZONTAL_MARGIN );
+        layout.verticalSpacing = 8;
+        layout.horizontalSpacing = 8;
+        titleComposite.setLayout( layout );
+        titleComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
+        applyDialogFont( titleComposite );
+
+        Label l = new Label( titleComposite,
+                             SWT.CENTER );
+        l.setToolTipText( hint );
+        l.setText( title );
+
+        Font exFont = l.getFont();
+
+        FontData[] exfds = l.getFont().getFontData();
+        if ( exfds.length > 0 ) {
+            FontData fd = exfds[0];
+            fd.setHeight( fd.getHeight() + 4 );
+            Font f = new Font( exFont.getDevice(),
+                               fd );
+            l.setFont( f );
+        }
+
+        Composite contentComposite = (Composite) super.createDialogArea( finalComposite );
+
+        return contentComposite;
+    }
+
+    protected void createButtonsForButtonBar(Composite parent) {
+        // We have only cancel button
+        createButton( parent,
+                      IDialogConstants.CANCEL_ID,
+                      IDialogConstants.CANCEL_LABEL,
+                      false );
+
+    }
+
+    /*    
+     protected Control createDialogArea(Composite parent) {
+     Composite composite = new Composite(parent, SWT.NONE);
+     
+     GridLayout layout = new GridLayout();
+     layout.marginHeight = 2;
+     layout.marginWidth = 2;
+     layout.verticalSpacing = 2;
+     layout.horizontalSpacing = 2;
+     composite.setLayout(layout);
+     
+     GridData gd = new GridData(GridData.FILL_BOTH);
+     composite.setLayoutData(gd);
+     
+     return composite;
+     }
+     */
+
+    protected Label createLabel(Composite composite,
+                                String string) {
+        Label l = new Label( composite,
+                             0 );
+        l.setText( string );
+        return l;
+    }
+
+    protected Text createText(Composite composite,
+                              String string) {
+        Text t = new Text( composite,
+                           0 );
+        t.setText( string );
+        return t;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,387 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
-import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
-import org.drools.brms.client.modeldriven.brl.ActionSetField;
-import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.IAction;
-import org.drools.brms.client.modeldriven.brl.IPattern;
-import org.drools.brms.client.modeldriven.brl.RuleModel;
-import org.drools.eclipse.rulebuilder.editors.RuleEditor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.widgets.ColumnLayout;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-
-/**
- * Main modeling class responsible for Eclipse Forms-based rule builder widget
- * rendering
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class RuleModeller {
-
-    private Composite          ifComposite;
-
-    private Composite          thenComposite;
-
-    private Composite          optionsComposite;
-
-    private final ScrolledForm form;
-
-    private final FormToolkit  toolkit;
-
-    private RuleModel          model;
-
-    private boolean            dirty;
-
-    private RuleEditor         editor;
-
-    public boolean isDirty() {
-        return dirty;
-    }
-
-    public void setDirty(boolean dirty) {
-        this.dirty = dirty;
-        editor.dirtyPropertyChanged();
-    }
-
-    public RuleModeller(ScrolledForm form,
-                        FormToolkit toolkit,
-                        RuleModel model,
-                        RuleEditor editor) {
-
-        this.form = form;
-        this.toolkit = toolkit;
-        this.model = model;
-        this.editor = editor;
-
-        setTitleAndFont(form);
-
-        ColumnLayout colLayout = new ColumnLayout();
-        colLayout.minNumColumns = 1;
-        colLayout.maxNumColumns = 1;
-
-        form.getBody().setLayout( colLayout );
-
-        // addToolBar(toolkit, form);
-
-        Shell shell = new Shell( Display.getCurrent() );
-        Window conditionPopup = new AddNewConditionDialog( shell,
-                                                           this );
-        Window actionPopup = new AddNewActionDialog( shell,
-                                                     this );
-
-        Window optionsPopup = new RuleAttributesDialog( shell,
-                                                        this );
-
-        Section ifSection = createMainSection( form,
-                                               toolkit,
-                                               "WHEN",
-                                               conditionPopup );
-        Section thenSection = createMainSection( form,
-                                                 toolkit,
-                                                 "THEN",
-                                                 actionPopup );
-        Section optionsSection = createMainSection( form,
-                                                    toolkit,
-                                                    "(options)",
-                                                    optionsPopup );
-
-        ColumnLayout layout = new ColumnLayout();
-        layout.minNumColumns = 1;
-        layout.maxNumColumns = 1;
-        // layout.verticalSpacing = 0;
-
-        ((Composite) (ifSection.getClient())).setLayout( layout );
-        ((Composite) (thenSection.getClient())).setLayout( layout );
-        ((Composite) (optionsSection.getClient())).setLayout( layout );
-        ifSection.setLayout( layout );
-        thenSection.setLayout( layout );
-        optionsSection.setLayout( layout );
-
-        ifComposite = (Composite) ifSection.getClient();
-        thenComposite = (Composite) thenSection.getClient();
-        optionsComposite = (Composite) optionsSection.getClient();
-
-    }
-
-	private void setTitleAndFont(ScrolledForm form) {
-		form.setText( "Guided rule editor" );
-        
-		Font systemFont = form.getDisplay().getSystemFont();
-		FontData[] exfds = systemFont.getFontData();
-        if ( exfds.length > 0 ) {
-            FontData fd = exfds[0];
-            fd.setHeight( fd.getHeight() + 2 );
-            fd.setStyle(SWT.BOLD);
-            Font f = new Font( systemFont.getDevice(),
-                               fd );
-            form.setFont(f);
-        }
-	}
-
-    public SuggestionCompletionEngine getSuggestionCompletionEngine() {
-        return editor.getCompletionEngine();
-    }
-
-    public RuleModel getModel() {
-        return model;
-    }
-
-    public void setModel(RuleModel model) {
-        this.model = model;
-    }
-
-    private void clearComposite(Composite composite) {
-        if ( composite != null ) {
-            Control[] c = composite.getChildren();
-            for ( int i = 0; i < c.length; i++ ) {
-                Control c2 = c[i];
-                c2.dispose();
-            }
-        }
-    }
-
-    private void reloadCommon() {
-        toolkit.paintBordersFor( form.getBody() );
-        form.redraw();
-        Dialog.applyDialogFont( form.getBody() );
-        form.reflow( true );
-    }
-
-    public void reloadRhs() {
-        clearComposite( thenComposite );
-        redrawRhs();
-        reloadCommon();
-    }
-
-    public void reloadLhs() {
-        clearComposite( ifComposite );
-        redrawLhs();
-        reloadCommon();
-    }
-
-    public void reloadOptions() {
-        clearComposite( optionsComposite );
-        redrawOptions();
-        reloadCommon();
-    }
-
-    public void reloadWidgets() {
-        reloadLhs();
-        reloadRhs();
-        reloadOptions();
-    }
-
-    private void redrawOptions() {
-        Composite comp = toolkit.createComposite( optionsComposite );
-        new RuleAttributeWidget( toolkit,
-                                 comp,
-                                 this );
-    }
-
-    private void redrawRhs() {
-        for ( int i = 0; i < model.rhs.length; i++ ) {
-            IAction action = model.rhs[i];
-
-            if ( action instanceof ActionSetField ) {
-                addActionSetFieldWidget( action,
-                                         i );
-            } else if ( action instanceof ActionInsertFact ) {
-                addActionInsertFactWidget( action,
-                                           i );
-            } else if ( action instanceof ActionRetractFact ) {
-                addActionRetractFactWidget( action,
-                                            i );
-            } else if ( action instanceof DSLSentence ) {
-                addRHSDSLSentenceWidget( i,
-                                         (DSLSentence) action );
-            }
-
-        }
-    }
-
-    private void addActionInsertFactWidget(IAction action,
-                                           int i) {
-        Composite comp = toolkit.createComposite( thenComposite );
-        new ActionInsertFactWidget( toolkit,
-                                    comp,
-                                    this,
-                                    (ActionInsertFact) action,
-                                    i );
-    }
-
-    private void redrawLhs() {
-        for ( int i = 0; i < model.lhs.length; i++ ) {
-            IPattern pattern = model.lhs[i];
-
-            if ( pattern instanceof FactPattern ) {
-                addFactPatternWidget( i,
-                                      (FactPattern) pattern );
-            }
-            if ( pattern instanceof CompositeFactPattern ) {
-                addCompositeFactPatternWidget( i,
-                                               (CompositeFactPattern) pattern );
-            } else if ( pattern instanceof DSLSentence ) {
-                // skip for now
-            } else {
-                // dont' care
-            }
-        }
-
-        for ( int i = 0; i < model.lhs.length; i++ ) {
-            IPattern pattern = model.lhs[i];
-            if ( pattern instanceof DSLSentence ) {
-                addLHSDSLSentenceWidget( i,
-                                         (DSLSentence) pattern );
-            }
-        }
-    }
-
-    private void addActionRetractFactWidget(IAction action,
-                                            int i) {
-        Composite comp = toolkit.createComposite( thenComposite );
-        new ActionRetractFactWidget( toolkit,
-                                     comp,
-                                     this,
-                                     (ActionRetractFact) action,
-                                     i );
-    }
-
-    /*private void addActionAssertFactWidget(IAction action,
-                                           int i) {
-        Composite comp = toolkit.createComposite( thenComposite );
-        new ActionInsertFactWidget( toolkit,
-                                    comp,
-                                    this,
-                                    (ActionInsertFact) action,
-                                    i );
-
-    }*/
-
-    private void addActionSetFieldWidget(IAction action,
-                                         int i) {
-        Composite comp = toolkit.createComposite( thenComposite );
-        new ActionSetFieldWidget( toolkit,
-                                  comp,
-                                  this,
-                                  model,
-                                  (ActionSetField) action,
-                                  i );
-    }
-
-    private void addRHSDSLSentenceWidget(int idx,
-                                         DSLSentence pattern) {
-        Composite comp = toolkit.createComposite( thenComposite );
-        new RHSDSLSentenceWidget( toolkit,
-                                  comp,
-                                  pattern,
-                                  this,
-                                  idx );
-    }
-
-    private void addLHSDSLSentenceWidget(int idx,
-                                         DSLSentence pattern) {
-        Composite comp = toolkit.createComposite( ifComposite );
-        new LHSDSLSentenceWidget( toolkit,
-                                  comp,
-                                  pattern,
-                                  this,
-                                  idx );
-    }
-
-    private void addCompositeFactPatternWidget(int idx,
-                                               CompositeFactPattern pattern) {
-        Composite comp = toolkit.createComposite( ifComposite );
-        new CompositeFactPatternWidget( toolkit,
-                                        comp,
-                                        this,
-                                        pattern,
-                                        idx );
-    }
-
-    private void addFactPatternWidget(int idx,
-                                      FactPattern pattern) {
-        Composite comp = toolkit.createComposite( ifComposite );
-        new FactPatternWidget( toolkit,
-                               comp,
-                               this,
-                               pattern,
-                               null,
-                               idx,
-                               true );
-    }
-
-    private Section createMainSection(final ScrolledForm form,
-                                      FormToolkit toolkit,
-                                      String title,
-                                      Window popup) {
-        ColumnLayout layout = new ColumnLayout();
-        layout.minNumColumns = 1;
-        layout.maxNumColumns = 1;
-        Section l1Sect = toolkit.createSection( form.getBody(),
-                                                ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR | ExpandableComposite.EXPANDED );
-        l1Sect.setActiveToggleColor( toolkit.getHyperlinkGroup().getActiveForeground() );
-        l1Sect.setToggleColor( toolkit.getColors().getColor( FormColors.SEPARATOR ) );
-        l1Sect.setText( title );
-        createAddToolItem( l1Sect,
-                           popup );
-        Composite comp = toolkit.createComposite( l1Sect );
-        l1Sect.setClient( comp );
-        return l1Sect;
-    }
-
-    private void createAddToolItem(Section sect,
-                                   final Window popup) {
-        ToolBar tbar = new ToolBar( sect,
-                                    SWT.FLAT | SWT.HORIZONTAL );
-        ToolItem titem = new ToolItem( tbar,
-                                       SWT.SEPARATOR );
-        titem = new ToolItem( tbar,
-                              SWT.PUSH );
-        titem.setImage( PlatformUI.getWorkbench().getSharedImages().getImage( ISharedImages.IMG_TOOL_NEW_WIZARD ) );
-
-        titem.addListener( SWT.Selection,
-                           new Listener() {
-                               public void handleEvent(Event event) {
-                                   popup.open();
-                               }
-                           } );
-        sect.setTextClient( tbar );
-    }
-
-    public void refresh() {
-        ifComposite.layout();
-        ifComposite.redraw();
-
-        thenComposite.layout();
-        thenComposite.redraw();
-
-        optionsComposite.layout();
-        optionsComposite.redraw();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,387 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
+import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
+import org.drools.brms.client.modeldriven.brl.ActionSetField;
+import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.IAction;
+import org.drools.brms.client.modeldriven.brl.IPattern;
+import org.drools.brms.client.modeldriven.brl.RuleModel;
+import org.drools.eclipse.rulebuilder.editors.RuleEditor;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.ToolBar;
+import org.eclipse.swt.widgets.ToolItem;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.forms.FormColors;
+import org.eclipse.ui.forms.widgets.ColumnLayout;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+import org.eclipse.ui.forms.widgets.Section;
+
+/**
+ * Main modeling class responsible for Eclipse Forms-based rule builder widget
+ * rendering
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class RuleModeller {
+
+    private Composite          ifComposite;
+
+    private Composite          thenComposite;
+
+    private Composite          optionsComposite;
+
+    private final ScrolledForm form;
+
+    private final FormToolkit  toolkit;
+
+    private RuleModel          model;
+
+    private boolean            dirty;
+
+    private RuleEditor         editor;
+
+    public boolean isDirty() {
+        return dirty;
+    }
+
+    public void setDirty(boolean dirty) {
+        this.dirty = dirty;
+        editor.dirtyPropertyChanged();
+    }
+
+    public RuleModeller(ScrolledForm form,
+                        FormToolkit toolkit,
+                        RuleModel model,
+                        RuleEditor editor) {
+
+        this.form = form;
+        this.toolkit = toolkit;
+        this.model = model;
+        this.editor = editor;
+
+        setTitleAndFont(form);
+
+        ColumnLayout colLayout = new ColumnLayout();
+        colLayout.minNumColumns = 1;
+        colLayout.maxNumColumns = 1;
+
+        form.getBody().setLayout( colLayout );
+
+        // addToolBar(toolkit, form);
+
+        Shell shell = new Shell( Display.getCurrent() );
+        Window conditionPopup = new AddNewConditionDialog( shell,
+                                                           this );
+        Window actionPopup = new AddNewActionDialog( shell,
+                                                     this );
+
+        Window optionsPopup = new RuleAttributesDialog( shell,
+                                                        this );
+
+        Section ifSection = createMainSection( form,
+                                               toolkit,
+                                               "WHEN",
+                                               conditionPopup );
+        Section thenSection = createMainSection( form,
+                                                 toolkit,
+                                                 "THEN",
+                                                 actionPopup );
+        Section optionsSection = createMainSection( form,
+                                                    toolkit,
+                                                    "(options)",
+                                                    optionsPopup );
+
+        ColumnLayout layout = new ColumnLayout();
+        layout.minNumColumns = 1;
+        layout.maxNumColumns = 1;
+        // layout.verticalSpacing = 0;
+
+        ((Composite) (ifSection.getClient())).setLayout( layout );
+        ((Composite) (thenSection.getClient())).setLayout( layout );
+        ((Composite) (optionsSection.getClient())).setLayout( layout );
+        ifSection.setLayout( layout );
+        thenSection.setLayout( layout );
+        optionsSection.setLayout( layout );
+
+        ifComposite = (Composite) ifSection.getClient();
+        thenComposite = (Composite) thenSection.getClient();
+        optionsComposite = (Composite) optionsSection.getClient();
+
+    }
+
+	private void setTitleAndFont(ScrolledForm form) {
+		form.setText( "Guided rule editor" );
+        
+		Font systemFont = form.getDisplay().getSystemFont();
+		FontData[] exfds = systemFont.getFontData();
+        if ( exfds.length > 0 ) {
+            FontData fd = exfds[0];
+            fd.setHeight( fd.getHeight() + 2 );
+            fd.setStyle(SWT.BOLD);
+            Font f = new Font( systemFont.getDevice(),
+                               fd );
+            form.setFont(f);
+        }
+	}
+
+    public SuggestionCompletionEngine getSuggestionCompletionEngine() {
+        return editor.getCompletionEngine();
+    }
+
+    public RuleModel getModel() {
+        return model;
+    }
+
+    public void setModel(RuleModel model) {
+        this.model = model;
+    }
+
+    private void clearComposite(Composite composite) {
+        if ( composite != null ) {
+            Control[] c = composite.getChildren();
+            for ( int i = 0; i < c.length; i++ ) {
+                Control c2 = c[i];
+                c2.dispose();
+            }
+        }
+    }
+
+    private void reloadCommon() {
+        toolkit.paintBordersFor( form.getBody() );
+        form.redraw();
+        Dialog.applyDialogFont( form.getBody() );
+        form.reflow( true );
+    }
+
+    public void reloadRhs() {
+        clearComposite( thenComposite );
+        redrawRhs();
+        reloadCommon();
+    }
+
+    public void reloadLhs() {
+        clearComposite( ifComposite );
+        redrawLhs();
+        reloadCommon();
+    }
+
+    public void reloadOptions() {
+        clearComposite( optionsComposite );
+        redrawOptions();
+        reloadCommon();
+    }
+
+    public void reloadWidgets() {
+        reloadLhs();
+        reloadRhs();
+        reloadOptions();
+    }
+
+    private void redrawOptions() {
+        Composite comp = toolkit.createComposite( optionsComposite );
+        new RuleAttributeWidget( toolkit,
+                                 comp,
+                                 this );
+    }
+
+    private void redrawRhs() {
+        for ( int i = 0; i < model.rhs.length; i++ ) {
+            IAction action = model.rhs[i];
+
+            if ( action instanceof ActionSetField ) {
+                addActionSetFieldWidget( action,
+                                         i );
+            } else if ( action instanceof ActionInsertFact ) {
+                addActionInsertFactWidget( action,
+                                           i );
+            } else if ( action instanceof ActionRetractFact ) {
+                addActionRetractFactWidget( action,
+                                            i );
+            } else if ( action instanceof DSLSentence ) {
+                addRHSDSLSentenceWidget( i,
+                                         (DSLSentence) action );
+            }
+
+        }
+    }
+
+    private void addActionInsertFactWidget(IAction action,
+                                           int i) {
+        Composite comp = toolkit.createComposite( thenComposite );
+        new ActionInsertFactWidget( toolkit,
+                                    comp,
+                                    this,
+                                    (ActionInsertFact) action,
+                                    i );
+    }
+
+    private void redrawLhs() {
+        for ( int i = 0; i < model.lhs.length; i++ ) {
+            IPattern pattern = model.lhs[i];
+
+            if ( pattern instanceof FactPattern ) {
+                addFactPatternWidget( i,
+                                      (FactPattern) pattern );
+            }
+            if ( pattern instanceof CompositeFactPattern ) {
+                addCompositeFactPatternWidget( i,
+                                               (CompositeFactPattern) pattern );
+            } else if ( pattern instanceof DSLSentence ) {
+                // skip for now
+            } else {
+                // dont' care
+            }
+        }
+
+        for ( int i = 0; i < model.lhs.length; i++ ) {
+            IPattern pattern = model.lhs[i];
+            if ( pattern instanceof DSLSentence ) {
+                addLHSDSLSentenceWidget( i,
+                                         (DSLSentence) pattern );
+            }
+        }
+    }
+
+    private void addActionRetractFactWidget(IAction action,
+                                            int i) {
+        Composite comp = toolkit.createComposite( thenComposite );
+        new ActionRetractFactWidget( toolkit,
+                                     comp,
+                                     this,
+                                     (ActionRetractFact) action,
+                                     i );
+    }
+
+    /*private void addActionAssertFactWidget(IAction action,
+                                           int i) {
+        Composite comp = toolkit.createComposite( thenComposite );
+        new ActionInsertFactWidget( toolkit,
+                                    comp,
+                                    this,
+                                    (ActionInsertFact) action,
+                                    i );
+
+    }*/
+
+    private void addActionSetFieldWidget(IAction action,
+                                         int i) {
+        Composite comp = toolkit.createComposite( thenComposite );
+        new ActionSetFieldWidget( toolkit,
+                                  comp,
+                                  this,
+                                  model,
+                                  (ActionSetField) action,
+                                  i );
+    }
+
+    private void addRHSDSLSentenceWidget(int idx,
+                                         DSLSentence pattern) {
+        Composite comp = toolkit.createComposite( thenComposite );
+        new RHSDSLSentenceWidget( toolkit,
+                                  comp,
+                                  pattern,
+                                  this,
+                                  idx );
+    }
+
+    private void addLHSDSLSentenceWidget(int idx,
+                                         DSLSentence pattern) {
+        Composite comp = toolkit.createComposite( ifComposite );
+        new LHSDSLSentenceWidget( toolkit,
+                                  comp,
+                                  pattern,
+                                  this,
+                                  idx );
+    }
+
+    private void addCompositeFactPatternWidget(int idx,
+                                               CompositeFactPattern pattern) {
+        Composite comp = toolkit.createComposite( ifComposite );
+        new CompositeFactPatternWidget( toolkit,
+                                        comp,
+                                        this,
+                                        pattern,
+                                        idx );
+    }
+
+    private void addFactPatternWidget(int idx,
+                                      FactPattern pattern) {
+        Composite comp = toolkit.createComposite( ifComposite );
+        new FactPatternWidget( toolkit,
+                               comp,
+                               this,
+                               pattern,
+                               null,
+                               idx,
+                               true );
+    }
+
+    private Section createMainSection(final ScrolledForm form,
+                                      FormToolkit toolkit,
+                                      String title,
+                                      Window popup) {
+        ColumnLayout layout = new ColumnLayout();
+        layout.minNumColumns = 1;
+        layout.maxNumColumns = 1;
+        Section l1Sect = toolkit.createSection( form.getBody(),
+                                                ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR | ExpandableComposite.EXPANDED );
+        l1Sect.setActiveToggleColor( toolkit.getHyperlinkGroup().getActiveForeground() );
+        l1Sect.setToggleColor( toolkit.getColors().getColor( FormColors.SEPARATOR ) );
+        l1Sect.setText( title );
+        createAddToolItem( l1Sect,
+                           popup );
+        Composite comp = toolkit.createComposite( l1Sect );
+        l1Sect.setClient( comp );
+        return l1Sect;
+    }
+
+    private void createAddToolItem(Section sect,
+                                   final Window popup) {
+        ToolBar tbar = new ToolBar( sect,
+                                    SWT.FLAT | SWT.HORIZONTAL );
+        ToolItem titem = new ToolItem( tbar,
+                                       SWT.SEPARATOR );
+        titem = new ToolItem( tbar,
+                              SWT.PUSH );
+        titem.setImage( PlatformUI.getWorkbench().getSharedImages().getImage( ISharedImages.IMG_TOOL_NEW_WIZARD ) );
+
+        titem.addListener( SWT.Selection,
+                           new Listener() {
+                               public void handleEvent(Event event) {
+                                   popup.open();
+                               }
+                           } );
+        sect.setTextClient( tbar );
+    }
+
+    public void refresh() {
+        ifComposite.layout();
+        ifComposite.redraw();
+
+        thenComposite.layout();
+        thenComposite.redraw();
+
+        optionsComposite.layout();
+        optionsComposite.redraw();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,78 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-public class ValueEditorTypeSelectionDialog extends RuleDialog {
-
-    private final FormToolkit      toolkit;
-
-    private RuleModeller           modeller;
-
-    private ISingleFieldConstraint constraint;
-
-    public ValueEditorTypeSelectionDialog(Shell parent,
-                                          FormToolkit toolkit,
-                                          RuleModeller modeller,
-                                          ISingleFieldConstraint constraint) {
-        super( parent,
-               "Select value editor type",
-               "Select value editor type" );
-        this.toolkit = toolkit;
-        this.modeller = modeller;
-        this.constraint = constraint;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        createLabel( composite,
-                     "Field value:" );
-        final Combo valueTypeCombo = new Combo( composite,
-                                                SWT.READ_ONLY );
-        valueTypeCombo.add( "Literal value" ); // 0
-        valueTypeCombo.add( "A formula" ); // 1
-
-        if ( modeller.getModel().getBoundVariablesInScope( constraint ).size() > 0 ) {
-            valueTypeCombo.add( "Bound variable" ); // 2
-        }
-
-        valueTypeCombo.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-
-                switch ( valueTypeCombo.getSelectionIndex() ) {
-                    case 0 :
-                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
-                        break;
-                    case 1 :
-                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_RET_VALUE;
-                        break;
-                    case 2 :
-                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_VARIABLE;
-                        break;
-                }
-
-                getShell().getDisplay().asyncExec( new Runnable() {
-
-                    public void run() {
-                        modeller.reloadLhs();
-                        modeller.setDirty( true );
-                        close();
-                    }
-
-                } );
-            }
-        } );
-
-        toolkit.paintBordersFor( composite );
-        return composite;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,78 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+public class ValueEditorTypeSelectionDialog extends RuleDialog {
+
+    private final FormToolkit      toolkit;
+
+    private RuleModeller           modeller;
+
+    private ISingleFieldConstraint constraint;
+
+    public ValueEditorTypeSelectionDialog(Shell parent,
+                                          FormToolkit toolkit,
+                                          RuleModeller modeller,
+                                          ISingleFieldConstraint constraint) {
+        super( parent,
+               "Select value editor type",
+               "Select value editor type" );
+        this.toolkit = toolkit;
+        this.modeller = modeller;
+        this.constraint = constraint;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        createLabel( composite,
+                     "Field value:" );
+        final Combo valueTypeCombo = new Combo( composite,
+                                                SWT.READ_ONLY );
+        valueTypeCombo.add( "Literal value" ); // 0
+        valueTypeCombo.add( "A formula" ); // 1
+
+        if ( modeller.getModel().getBoundVariablesInScope( constraint ).size() > 0 ) {
+            valueTypeCombo.add( "Bound variable" ); // 2
+        }
+
+        valueTypeCombo.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+
+                switch ( valueTypeCombo.getSelectionIndex() ) {
+                    case 0 :
+                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
+                        break;
+                    case 1 :
+                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_RET_VALUE;
+                        break;
+                    case 2 :
+                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_VARIABLE;
+                        break;
+                }
+
+                getShell().getDisplay().asyncExec( new Runnable() {
+
+                    public void run() {
+                        modeller.reloadLhs();
+                        modeller.setDirty( true );
+                        close();
+                    }
+
+                } );
+            }
+        } );
+
+        toolkit.paintBordersFor( composite );
+        return composite;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,80 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-public abstract class Widget {
-
-    final protected Composite    parent;
-
-    final protected FormToolkit  toolkit;
-
-    final protected RuleModeller modeller;
-
-    final protected int          index;
-
-    public Widget(Composite parent,
-                  FormToolkit toolkit,
-                  RuleModeller modeller,
-                  int index) {
-        this.parent = parent;
-        this.toolkit = toolkit;
-        this.modeller = modeller;
-        this.index = index;
-    }
-
-    public ImageHyperlink addImage(Composite parent,
-                                   String fileName) {
-        ImageHyperlink imageHyperlink = toolkit.createImageHyperlink( parent,
-                                                                      0 );
-        ImageDescriptor imageDescriptor = DroolsEclipsePlugin.getImageDescriptor( fileName );
-        imageHyperlink.setImage( imageDescriptor.createImage() );
-        return imageHyperlink;
-    }
-
-    protected void addDeleteRHSAction() {
-        ImageHyperlink delWholeLink = addImage( parent,
-                                                "icons/delete_obj.gif" );
-        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this action?" );
-                dialog.setText( "Remove this action?" );
-                if ( dialog.open() == SWT.YES ) {
-                    getModeller().getModel().removeRhsItem( index );
-                    getModeller().setDirty( true );
-                    getModeller().reloadRhs();
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delWholeLink.setToolTipText( "Remove this action." );
-    }
-
-    protected void showMessage(String msg) {
-        MessageBox dialog = new MessageBox( Display.getDefault().getActiveShell(),
-                                            SWT.OK | SWT.ICON_INFORMATION );
-        dialog.setMessage( msg );
-        dialog.setText( "Information" );
-        dialog.open();
-    }
-
-    protected RuleModeller getModeller() {
-        return modeller;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,80 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+public abstract class Widget {
+
+    final protected Composite    parent;
+
+    final protected FormToolkit  toolkit;
+
+    final protected RuleModeller modeller;
+
+    final protected int          index;
+
+    public Widget(Composite parent,
+                  FormToolkit toolkit,
+                  RuleModeller modeller,
+                  int index) {
+        this.parent = parent;
+        this.toolkit = toolkit;
+        this.modeller = modeller;
+        this.index = index;
+    }
+
+    public ImageHyperlink addImage(Composite parent,
+                                   String fileName) {
+        ImageHyperlink imageHyperlink = toolkit.createImageHyperlink( parent,
+                                                                      0 );
+        ImageDescriptor imageDescriptor = DroolsEclipsePlugin.getImageDescriptor( fileName );
+        imageHyperlink.setImage( imageDescriptor.createImage() );
+        return imageHyperlink;
+    }
+
+    protected void addDeleteRHSAction() {
+        ImageHyperlink delWholeLink = addImage( parent,
+                                                "icons/delete_obj.gif" );
+        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this action?" );
+                dialog.setText( "Remove this action?" );
+                if ( dialog.open() == SWT.YES ) {
+                    getModeller().getModel().removeRhsItem( index );
+                    getModeller().setDirty( true );
+                    getModeller().reloadRhs();
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delWholeLink.setToolTipText( "Remove this action." );
+    }
+
+    protected void showMessage(String msg) {
+        MessageBox dialog = new MessageBox( Display.getDefault().getActiveShell(),
+                                            SWT.OK | SWT.ICON_INFORMATION );
+        dialog.setMessage( msg );
+        dialog.setText( "Information" );
+        dialog.open();
+    }
+
+    protected RuleModeller getModeller() {
+        return modeller;
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,35 +0,0 @@
-package org.drools.eclipse.rulebuilder.wizards;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * A wizard to create a BRL guided rule file.
- */
-public class NewBrlFileWizard extends Wizard implements INewWizard {
-
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    private NewBrlFileWizardPage mainPage;
-
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle("New Guided Rule");
-    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
-        setDefaultPageImageDescriptor(desc);
-    }
-
-    public void addPages() {
-        mainPage = new NewBrlFileWizardPage(workbench, selection);
-        addPage(mainPage);
-     }
-
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,35 @@
+package org.drools.eclipse.rulebuilder.wizards;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+/**
+ * A wizard to create a BRL guided rule file.
+ */
+public class NewBrlFileWizard extends Wizard implements INewWizard {
+
+    private IWorkbench workbench;
+    private IStructuredSelection selection;
+    private NewBrlFileWizardPage mainPage;
+
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.workbench = workbench;
+        this.selection = selection;
+        setWindowTitle("New Guided Rule");
+    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
+        setDefaultPageImageDescriptor(desc);
+    }
+
+    public void addPages() {
+        mainPage = new NewBrlFileWizardPage(workbench, selection);
+        addPage(mainPage);
+     }
+
+    public boolean performFinish() {
+        return mainPage.finish();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,63 +0,0 @@
-package org.drools.eclipse.rulebuilder.wizards;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-
-/**
- * A page to create a new rule using the Guided Editor.
- */
-public class NewBrlFileWizardPage extends WizardNewFileCreationPage {
-
-    private static final String BRL_EXTENSION = ".brl";
-    private IWorkbench workbench;
-
-    public NewBrlFileWizardPage(IWorkbench workbench, IStructuredSelection selection) {
-        super("createGuidedRuleFilePage", selection);
-        setTitle( "RuleBuilder Editor File" );
-        setDescription( "This wizard creates a new file with *.brl extension that can be opened by a multi-page editor." );
-        this.workbench = workbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        setPageComplete(true);
-    }
-
-    public boolean finish() {
-        String fileName = getFileName();
-        if (!fileName.endsWith(BRL_EXTENSION)) {
-            setFileName(fileName + BRL_EXTENSION);
-        }
-        org.eclipse.core.resources.IFile newFile = createNewFile();
-        if (newFile == null)
-            return false;
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (PartInitException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-        return true;
-    }
-
-    protected InputStream getInitialContents() {
-//            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
-//                "org/drools/eclipse/rulebuilder/wizards/template.brl").openStream();
-            String contents = "";
-            return new ByteArrayInputStream( contents.getBytes() );
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,63 @@
+package org.drools.eclipse.rulebuilder.wizards;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
+
+
+/**
+ * A page to create a new rule using the Guided Editor.
+ */
+public class NewBrlFileWizardPage extends WizardNewFileCreationPage {
+
+    private static final String BRL_EXTENSION = ".brl";
+    private IWorkbench workbench;
+
+    public NewBrlFileWizardPage(IWorkbench workbench, IStructuredSelection selection) {
+        super("createGuidedRuleFilePage", selection);
+        setTitle( "RuleBuilder Editor File" );
+        setDescription( "This wizard creates a new file with *.brl extension that can be opened by a multi-page editor." );
+        this.workbench = workbench;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        setPageComplete(true);
+    }
+
+    public boolean finish() {
+        String fileName = getFileName();
+        if (!fileName.endsWith(BRL_EXTENSION)) {
+            setFileName(fileName + BRL_EXTENSION);
+        }
+        org.eclipse.core.resources.IFile newFile = createNewFile();
+        if (newFile == null)
+            return false;
+        try {
+            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
+            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
+            if (page != null)
+                IDE.openEditor(page, newFile, true);
+        } catch (PartInitException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+        return true;
+    }
+
+    protected InputStream getInitialContents() {
+//            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
+//                "org/drools/eclipse/rulebuilder/wizards/template.brl").openStream();
+            String contents = "";
+            return new ByteArrayInputStream( contents.getBytes() );
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,102 +0,0 @@
-package org.drools.eclipse.util;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-public class DroolsClasspathContainer implements IClasspathContainer {
-
-    IClasspathEntry droolsLibraryEntries[];
-    IPath path;
-    IJavaProject javaProject;
-
-    public DroolsClasspathContainer(IJavaProject project, IPath path) {
-        javaProject = null;
-        javaProject = project;
-        this.path = path;
-    }
-
-    public IClasspathEntry[] getClasspathEntries() {
-        if (droolsLibraryEntries == null) {
-            droolsLibraryEntries = createDroolsLibraryEntries(javaProject);
-        }
-        return droolsLibraryEntries;
-    }
-
-    public String getDescription() {
-        return "Drools Library";
-    }
-
-    public int getKind() {
-        return 1;
-    }
-
-    public IPath getPath() {
-        return path;
-    }
-
-    private IClasspathEntry[] createDroolsLibraryEntries(IJavaProject project) {
-        List jarNames = getJarNames();
-        List list = new ArrayList();
-        for (int i = 0; i < jarNames.size(); i++) {
-            Path path = new Path((String) jarNames.get(i));
-            list.add(JavaCore.newLibraryEntry(
-                path, path, null));
-        }
-        // also add jdt core jar from eclipse itself
-        String pluginRootString = Platform.getInstallLocation().getURL().getPath() + "plugins/";
-        File pluginRoot = new Path(pluginRootString).toFile();
-        File[] files = pluginRoot.listFiles();
-        for (int i = 0; i < files.length; i++) {
-	        if (files[i].getAbsolutePath().indexOf("org.eclipse.jdt.core_3.2") > -1) {
-	        	Path path = new Path(files[i].getAbsolutePath());
-	        	list.add(JavaCore.newLibraryEntry(path, path, null));
-	        	break;
-	        }
-        }
-        return (IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]);
-    }
-
-    private List getJarNames() {
-        String s = getDroolsLocation();
-        List list = new ArrayList();
-        File file = (new Path(s)).toFile();
-        addJarNames(file, list);
-        return list;
-    }
-
-    private void addJarNames(File file, List list) {
-        File[] files = file.listFiles();
-        for (int i = 0; i < files.length; i++) {
-	        if (files[i].isDirectory() && files[i].getName().equals("lib")) {
-	            File[] jarFiles = files[i].listFiles();
-	            for (int j = 0; j < jarFiles.length; j++) {
-	                if (jarFiles[j].getPath().endsWith(".jar")) {
-	                    list.add(jarFiles[j].getAbsolutePath());
-	                }
-	            }
-            }
-        }
-    }
-
-    private String getDroolsLocation() {
-        try {
-            return FileLocator.toFileURL(Platform.getBundle("org.drools.eclipse")
-                .getEntry("/")).getFile().toString();
-        } catch (IOException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-        return null;
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,102 @@
+package org.drools.eclipse.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jdt.core.IClasspathContainer;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+
+public class DroolsClasspathContainer implements IClasspathContainer {
+
+    IClasspathEntry droolsLibraryEntries[];
+    IPath path;
+    IJavaProject javaProject;
+
+    public DroolsClasspathContainer(IJavaProject project, IPath path) {
+        javaProject = null;
+        javaProject = project;
+        this.path = path;
+    }
+
+    public IClasspathEntry[] getClasspathEntries() {
+        if (droolsLibraryEntries == null) {
+            droolsLibraryEntries = createDroolsLibraryEntries(javaProject);
+        }
+        return droolsLibraryEntries;
+    }
+
+    public String getDescription() {
+        return "Drools Library";
+    }
+
+    public int getKind() {
+        return 1;
+    }
+
+    public IPath getPath() {
+        return path;
+    }
+
+    private IClasspathEntry[] createDroolsLibraryEntries(IJavaProject project) {
+        List jarNames = getJarNames();
+        List list = new ArrayList();
+        for (int i = 0; i < jarNames.size(); i++) {
+            Path path = new Path((String) jarNames.get(i));
+            list.add(JavaCore.newLibraryEntry(
+                path, path, null));
+        }
+        // also add jdt core jar from eclipse itself
+        String pluginRootString = Platform.getInstallLocation().getURL().getPath() + "plugins/";
+        File pluginRoot = new Path(pluginRootString).toFile();
+        File[] files = pluginRoot.listFiles();
+        for (int i = 0; i < files.length; i++) {
+	        if (files[i].getAbsolutePath().indexOf("org.eclipse.jdt.core_3.2") > -1) {
+	        	Path path = new Path(files[i].getAbsolutePath());
+	        	list.add(JavaCore.newLibraryEntry(path, path, null));
+	        	break;
+	        }
+        }
+        return (IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]);
+    }
+
+    private List getJarNames() {
+        String s = getDroolsLocation();
+        List list = new ArrayList();
+        File file = (new Path(s)).toFile();
+        addJarNames(file, list);
+        return list;
+    }
+
+    private void addJarNames(File file, List list) {
+        File[] files = file.listFiles();
+        for (int i = 0; i < files.length; i++) {
+	        if (files[i].isDirectory() && files[i].getName().equals("lib")) {
+	            File[] jarFiles = files[i].listFiles();
+	            for (int j = 0; j < jarFiles.length; j++) {
+	                if (jarFiles[j].getPath().endsWith(".jar")) {
+	                    list.add(jarFiles[j].getAbsolutePath());
+	                }
+	            }
+            }
+        }
+    }
+
+    private String getDroolsLocation() {
+        try {
+            return FileLocator.toFileURL(Platform.getBundle("org.drools.eclipse")
+                .getEntry("/")).getFile().toString();
+        } catch (IOException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+        return null;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-package org.drools.eclipse.util;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.ClasspathContainerInitializer;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-public class DroolsClasspathContainerInitializer extends ClasspathContainerInitializer {
-
-    public void initialize(IPath ipath, IJavaProject project) throws CoreException {
-        DroolsClasspathContainer container =
-            new DroolsClasspathContainer(project, ipath);
-        JavaCore.setClasspathContainer(ipath, new IJavaProject[] { project },
-            new IClasspathContainer[] { container }, null);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+package org.drools.eclipse.util;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.ClasspathContainerInitializer;
+import org.eclipse.jdt.core.IClasspathContainer;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+
+public class DroolsClasspathContainerInitializer extends ClasspathContainerInitializer {
+
+    public void initialize(IPath ipath, IJavaProject project) throws CoreException {
+        DroolsClasspathContainer container =
+            new DroolsClasspathContainer(project, ipath);
+        JavaCore.setClasspathContainer(ipath, new IJavaProject[] { project },
+            new IClasspathContainer[] { container }, null);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,123 +0,0 @@
-package org.drools.eclipse.util;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-
-public class ProjectClassLoader {
-	
-	public static URLClassLoader getProjectClassLoader(IEditorPart editor) {
-		IEditorInput input = editor.getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			return getProjectClassLoader(((IFileEditorInput) input).getFile());
-		}
-		return null;
-	}
-
-	public static URLClassLoader getProjectClassLoader(IFile file) {
-		IProject project = file.getProject();
-		IJavaProject javaProject = JavaCore.create(project);
-		return getProjectClassLoader(javaProject);
-	}
-
-    public static URLClassLoader getProjectClassLoader(IJavaProject project) {
-        List pathElements = getProjectClassPathURLs(project);
-        URL urlPaths[] = (URL[]) pathElements.toArray(new URL[pathElements.size()]);
-        return new URLClassLoader(urlPaths, Thread.currentThread().getContextClassLoader());
-    }
-
-    private static URL getRawLocationURL(IPath simplePath)
-            throws MalformedURLException {
-        File file = getRawLocationFile(simplePath);
-        return file.toURI().toURL();
-    }
-
-    private static File getRawLocationFile(IPath simplePath) {
-        IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(simplePath);
-        File file = null;
-        if (resource != null) {
-            file = ResourcesPlugin.getWorkspace().getRoot().findMember(
-                    simplePath).getRawLocation().toFile();
-        } else {
-            file = simplePath.toFile();
-        }
-        return file;
-    }
-
-    public static List getProjectClassPathURLs(IJavaProject project) {
-        List pathElements = new ArrayList();
-        try {
-            IClasspathEntry[] paths = project.getResolvedClasspath(true);
-            Set outputPaths = new HashSet();
-            if (paths != null) {
-                
-                for ( int i = 0; i < paths.length; i++ ) {
-                    IClasspathEntry path = paths[i];
-                    if (path.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
-                        URL url = getRawLocationURL(path.getPath());
-                        pathElements.add(url);
-                    } else if (path.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-                    	IPath output = path.getOutputLocation();
-                    	if (path.getOutputLocation() != null) {
-                    		outputPaths.add(output);
-                    	}
-                    }
-                }
-            }
-            IPath location = getProjectLocation(project.getProject());
-            IPath outputPath = location.append(project.getOutputLocation()
-                    .removeFirstSegments(1));
-            pathElements.add(outputPath.toFile().toURI().toURL());
-            for (Iterator iterator = outputPaths.iterator(); iterator.hasNext(); ) {
-            	IPath path = (IPath) iterator.next();
-            	outputPath = location.append(path.removeFirstSegments(1));
-                pathElements.add(outputPath.toFile().toURI().toURL());
-            }
-            
-            // also add classpath of required projects
-            String[] names = project.getRequiredProjectNames();
-            for ( int i = 0; i < names.length; i++ ) {
-                String projectName = names[i];
-                IProject reqProject = project.getProject().getWorkspace()
-                    .getRoot().getProject(projectName);
-                if (reqProject != null) {
-                    IJavaProject reqJavaProject = JavaCore.create(reqProject);
-                    pathElements.addAll(getProjectClassPathURLs(reqJavaProject));
-                }
-            }
-        } catch (JavaModelException e) {
-            DroolsEclipsePlugin.log(e);
-        } catch (MalformedURLException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-        return pathElements;
-    }
-    
-    public static IPath getProjectLocation(IProject project) {
-        if (project.getRawLocation() == null) {
-            return project.getLocation();
-        } else {
-            return project.getRawLocation();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,123 @@
+package org.drools.eclipse.util;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+
+public class ProjectClassLoader {
+	
+	public static URLClassLoader getProjectClassLoader(IEditorPart editor) {
+		IEditorInput input = editor.getEditorInput();
+		if (input instanceof IFileEditorInput) {
+			return getProjectClassLoader(((IFileEditorInput) input).getFile());
+		}
+		return null;
+	}
+
+	public static URLClassLoader getProjectClassLoader(IFile file) {
+		IProject project = file.getProject();
+		IJavaProject javaProject = JavaCore.create(project);
+		return getProjectClassLoader(javaProject);
+	}
+
+    public static URLClassLoader getProjectClassLoader(IJavaProject project) {
+        List pathElements = getProjectClassPathURLs(project);
+        URL urlPaths[] = (URL[]) pathElements.toArray(new URL[pathElements.size()]);
+        return new URLClassLoader(urlPaths, Thread.currentThread().getContextClassLoader());
+    }
+
+    private static URL getRawLocationURL(IPath simplePath)
+            throws MalformedURLException {
+        File file = getRawLocationFile(simplePath);
+        return file.toURI().toURL();
+    }
+
+    private static File getRawLocationFile(IPath simplePath) {
+        IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(simplePath);
+        File file = null;
+        if (resource != null) {
+            file = ResourcesPlugin.getWorkspace().getRoot().findMember(
+                    simplePath).getRawLocation().toFile();
+        } else {
+            file = simplePath.toFile();
+        }
+        return file;
+    }
+
+    public static List getProjectClassPathURLs(IJavaProject project) {
+        List pathElements = new ArrayList();
+        try {
+            IClasspathEntry[] paths = project.getResolvedClasspath(true);
+            Set outputPaths = new HashSet();
+            if (paths != null) {
+                
+                for ( int i = 0; i < paths.length; i++ ) {
+                    IClasspathEntry path = paths[i];
+                    if (path.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
+                        URL url = getRawLocationURL(path.getPath());
+                        pathElements.add(url);
+                    } else if (path.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+                    	IPath output = path.getOutputLocation();
+                    	if (path.getOutputLocation() != null) {
+                    		outputPaths.add(output);
+                    	}
+                    }
+                }
+            }
+            IPath location = getProjectLocation(project.getProject());
+            IPath outputPath = location.append(project.getOutputLocation()
+                    .removeFirstSegments(1));
+            pathElements.add(outputPath.toFile().toURI().toURL());
+            for (Iterator iterator = outputPaths.iterator(); iterator.hasNext(); ) {
+            	IPath path = (IPath) iterator.next();
+            	outputPath = location.append(path.removeFirstSegments(1));
+                pathElements.add(outputPath.toFile().toURI().toURL());
+            }
+            
+            // also add classpath of required projects
+            String[] names = project.getRequiredProjectNames();
+            for ( int i = 0; i < names.length; i++ ) {
+                String projectName = names[i];
+                IProject reqProject = project.getProject().getWorkspace()
+                    .getRoot().getProject(projectName);
+                if (reqProject != null) {
+                    IJavaProject reqJavaProject = JavaCore.create(reqProject);
+                    pathElements.addAll(getProjectClassPathURLs(reqJavaProject));
+                }
+            }
+        } catch (JavaModelException e) {
+            DroolsEclipsePlugin.log(e);
+        } catch (MalformedURLException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+        return pathElements;
+    }
+    
+    public static IPath getProjectLocation(IProject project) {
+        if (project.getRawLocation() == null) {
+            return project.getLocation();
+        } else {
+            return project.getRawLocation();
+        }
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,288 +0,0 @@
-package org.drools.eclipse.view.rules;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.core.DroolsElement;
-import org.drools.eclipse.core.DroolsModelBuilder;
-import org.drools.eclipse.core.Function;
-import org.drools.eclipse.core.Global;
-import org.drools.eclipse.core.Package;
-import org.drools.eclipse.core.Query;
-import org.drools.eclipse.core.Rule;
-import org.drools.eclipse.core.RuleSet;
-import org.drools.eclipse.core.Template;
-import org.drools.eclipse.core.ui.DroolsContentProvider;
-import org.drools.eclipse.core.ui.DroolsLabelProvider;
-import org.drools.eclipse.core.ui.DroolsTreeSorter;
-import org.drools.eclipse.core.ui.FilterActionGroup;
-import org.drools.lang.descr.FactTemplateDescr;
-import org.drools.lang.descr.FunctionDescr;
-import org.drools.lang.descr.GlobalDescr;
-import org.drools.lang.descr.QueryDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class RulesView extends ViewPart implements IDoubleClickListener, IResourceVisitor, IResourceChangeListener {
-
-	private final RuleSet ruleSet = DroolsModelBuilder.createRuleSet();
-
-	private Map resourcesMap = new HashMap();
-	private TreeViewer treeViewer;
-	
-	public void createPartControl(Composite parent) {
-		treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		treeViewer.setContentProvider(new DroolsContentProvider());
-		treeViewer.setLabelProvider(new DroolsLabelProvider());
-		treeViewer.setSorter(new DroolsTreeSorter());
-		treeViewer.addDoubleClickListener(this);
-		treeViewer.setUseHashlookup(true);
-		treeViewer.setInput(ruleSet);
-		FilterActionGroup filterActionGroup = new FilterActionGroup(
-			treeViewer, "org.drools.eclipse.view.rules.RulesView");
-		filterActionGroup.fillActionBars(getViewSite().getActionBars());
-	}
-	
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		try {
-			ResourcesPlugin.getWorkspace().getRoot().accept(this);
-		} catch (CoreException e) {
-			DroolsEclipsePlugin.log(e);
-		}
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-	}
-	
-	public void dispose() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-	}
-	
-	public void setFocus() {
-		treeViewer.getControl().setFocus();
-	}
-
-	public boolean visit(IResource resource) throws CoreException {
-		return updateResource(resource);
-	}
-	
-	private boolean updateResource(IResource resource) {
-    	IProject project = resource.getProject();
-    	if (project != null) {
-            IJavaProject javaProject = JavaCore.create(project);
-            if (!javaProject.exists()) {
-            	return false;
-            }
-    		if (resource instanceof IFile 
-    				&& "drl".equals(resource.getFileExtension())
-    				&& javaProject.isOnClasspath(resource)) {
-    			try {
-    				IFile file = (IFile) resource;
-    				DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(resource, false);
-    				String packageName = drlInfo.getPackageName();
-    				Package pkg = ruleSet.getPackage(packageName);
-    				if (pkg == null) {
-    					pkg = DroolsModelBuilder.addPackage(ruleSet, packageName, 0, 0);
-    				}
-    				// add rules
-    				List rules = drlInfo.getPackageDescr().getRules();
-    				for (Iterator iterator = rules.iterator(); iterator.hasNext();) {
-    					RuleDescr ruleDescr = (RuleDescr) iterator.next();
-    					boolean isQuery = ruleDescr instanceof QueryDescr;
-    					String ruleName = ruleDescr.getName();
-    					if (!isQuery) {
-    						Rule rule = DroolsModelBuilder.addRule(
-								pkg, ruleName, file, ruleDescr.getStartCharacter(),
-								ruleDescr.getEndCharacter() - ruleDescr.getStartCharacter() + 1, null);
-	    					// create link between resource and created rule nodes
-	    					List droolsElements = (List) resourcesMap.get(file);
-	    					if (droolsElements == null) {
-	    						droolsElements = new ArrayList();
-	    						resourcesMap.put(file, droolsElements);
-	    					}
-	    					droolsElements.add(rule);
-    					} else {
-    						Query query = DroolsModelBuilder.addQuery(
-								pkg, ruleName, file, ruleDescr.getStartCharacter(), 
-								ruleDescr.getEndCharacter() - ruleDescr.getStartCharacter() + 1);
-	    					// create link between resource and created rule nodes
-	    					List droolsElements = (List) resourcesMap.get(file);
-	    					if (droolsElements == null) {
-	    						droolsElements = new ArrayList();
-	    						resourcesMap.put(file, droolsElements);
-	    					}
-	    					droolsElements.add(query);
-    					}
-    				}
-    				// add templates
-    				List templates = drlInfo.getPackageDescr().getFactTemplates();
-    				for (Iterator iterator = templates.iterator(); iterator.hasNext();) {
-    					FactTemplateDescr templateDescr = (FactTemplateDescr) iterator.next();
-						Template template = DroolsModelBuilder.addTemplate(
-							pkg, templateDescr.getName(), file, templateDescr.getStartCharacter(),
-							templateDescr.getEndCharacter() - templateDescr.getStartCharacter() + 1);
-    					// create link between resource and created rule nodes
-    					List droolsElements = (List) resourcesMap.get(file);
-    					if (droolsElements == null) {
-    						droolsElements = new ArrayList();
-    						resourcesMap.put(file, droolsElements);
-    					}
-    					droolsElements.add(template);
-    				}
-    				// add globals
-    				List globals = drlInfo.getPackageDescr().getGlobals();
-    				for (Iterator iterator = globals.iterator(); iterator.hasNext();) {
-    					GlobalDescr globalDescr = (GlobalDescr) iterator.next();
-    					Global global = DroolsModelBuilder.addGlobal(
-							pkg, globalDescr.getIdentifier(), file, globalDescr.getStartCharacter(),
-							globalDescr.getEndCharacter() - globalDescr.getStartCharacter() + 1);
-    					// create link between resource and created rule nodes
-    					List droolsElements = (List) resourcesMap.get(file);
-    					if (droolsElements == null) {
-    						droolsElements = new ArrayList();
-    						resourcesMap.put(file, droolsElements);
-    					}
-    					droolsElements.add(global);
-    				}
-    				// add functions
-    				List functions = drlInfo.getPackageDescr().getFunctions();
-    				for (Iterator iterator = functions.iterator(); iterator.hasNext();) {
-    					FunctionDescr functionDescr = (FunctionDescr) iterator.next();
-    					String functionName = functionDescr.getName();
-    					Function function = DroolsModelBuilder.addFunction(
-							pkg, functionName, file, functionDescr.getStartCharacter(),
-							functionDescr.getEndCharacter() - functionDescr.getStartCharacter() + 1);
-    					// create link between resource and created rule nodes
-    					List droolsElements = (List) resourcesMap.get(file);
-    					if (droolsElements == null) {
-    						droolsElements = new ArrayList();
-    						resourcesMap.put(file, droolsElements);
-    					}
-    					droolsElements.add(function);
-    				}
-    			} catch (Throwable t) {
-    				DroolsEclipsePlugin.log(t);
-    			}
-    			return false;
-    		}
-        }
-        return true;
-	}
-
-	public void resourceChanged(final IResourceChangeEvent event) {
-		try {
-			if (event.getType() == IResourceChangeEvent.POST_CHANGE) {
-				IResourceDelta delta = event.getDelta();
-				if (delta != null) {
-					delta.accept(new IResourceDeltaVisitor() {
-						public boolean visit(IResourceDelta delta) throws CoreException {
-							IResource resource = delta.getResource();
-							removeElementsFromResource(resource);
-							boolean result = true;
-							if (delta.getKind() != IResourceDelta.REMOVED) {
-								result = updateResource(resource);
-							}
-							treeViewer.getControl().getDisplay().asyncExec(
-						        new Runnable() {
-									public void run() {
-										treeViewer.refresh();
-									}
-								}
-					        );
-							return result;
-						}
-					});
-				}
-			} else if (event.getType() == IResourceChangeEvent.PRE_DELETE) {
-				IResource resource = event.getResource();
-				if (resource != null) {
-					resource.accept(new IResourceVisitor() {
-						public boolean visit(IResource resource) throws CoreException {
-							removeElementsFromResource(resource);
-							return true;
-						}
-					});
-				}
-			} else if (event.getType() == IResourceChangeEvent.PRE_CLOSE) {
-				IResource resource = event.getResource();
-				if (resource != null) {
-					resource.accept(new IResourceVisitor() {
-						public boolean visit(IResource resource) throws CoreException {
-							removeElementsFromResource(resource);
-							return true;
-						}
-					});
-				}
-			}
-		} catch (Throwable t) {
-			DroolsEclipsePlugin.log(t);
-		}
-	}
-	
-	private void removeElementsFromResource(IResource resource) {
-		List droolsElements = (List) resourcesMap.get(resource);
-		if (droolsElements != null) {
-			for (Iterator iterator = droolsElements.iterator(); iterator.hasNext();) {
-				DroolsModelBuilder.removeElement((DroolsElement) iterator.next());
-			}
-			resourcesMap.remove(resource);
-		}
-	}
-
-	public void doubleClick(DoubleClickEvent event) {
-		ISelection selection = event.getSelection();
-		if (selection instanceof IStructuredSelection) {
-			Object selected = ((StructuredSelection) selection).getFirstElement();
-			if (selected != null && selected instanceof DroolsElement) {
-				DroolsElement droolsSelected = (DroolsElement) selected;
-				IFile file = droolsSelected.getFile();
-				if (file != null) {
-					try {
-						IEditorPart editor = IDE.openEditor(getSite().getPage(), file);
-						if (editor instanceof FormEditor) {
-							editor = ((FormEditor) editor).getActiveEditor();
-						}
-						if (editor instanceof ITextEditor) {
-							((ITextEditor)editor).selectAndReveal(
-								droolsSelected.getOffset(), droolsSelected.getLength());
-						}
-					} catch (Throwable t) {
-						DroolsEclipsePlugin.log(t);
-					}
-				}
-			}
-		}
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,288 @@
+package org.drools.eclipse.view.rules;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.core.DroolsElement;
+import org.drools.eclipse.core.DroolsModelBuilder;
+import org.drools.eclipse.core.Function;
+import org.drools.eclipse.core.Global;
+import org.drools.eclipse.core.Package;
+import org.drools.eclipse.core.Query;
+import org.drools.eclipse.core.Rule;
+import org.drools.eclipse.core.RuleSet;
+import org.drools.eclipse.core.Template;
+import org.drools.eclipse.core.ui.DroolsContentProvider;
+import org.drools.eclipse.core.ui.DroolsLabelProvider;
+import org.drools.eclipse.core.ui.DroolsTreeSorter;
+import org.drools.eclipse.core.ui.FilterActionGroup;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.lang.descr.QueryDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.forms.editor.FormEditor;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.part.ViewPart;
+import org.eclipse.ui.texteditor.ITextEditor;
+
+public class RulesView extends ViewPart implements IDoubleClickListener, IResourceVisitor, IResourceChangeListener {
+
+	private final RuleSet ruleSet = DroolsModelBuilder.createRuleSet();
+
+	private Map resourcesMap = new HashMap();
+	private TreeViewer treeViewer;
+	
+	public void createPartControl(Composite parent) {
+		treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
+		treeViewer.setContentProvider(new DroolsContentProvider());
+		treeViewer.setLabelProvider(new DroolsLabelProvider());
+		treeViewer.setSorter(new DroolsTreeSorter());
+		treeViewer.addDoubleClickListener(this);
+		treeViewer.setUseHashlookup(true);
+		treeViewer.setInput(ruleSet);
+		FilterActionGroup filterActionGroup = new FilterActionGroup(
+			treeViewer, "org.drools.eclipse.view.rules.RulesView");
+		filterActionGroup.fillActionBars(getViewSite().getActionBars());
+	}
+	
+	public void init(IViewSite site, IMemento memento) throws PartInitException {
+		super.init(site, memento);
+		try {
+			ResourcesPlugin.getWorkspace().getRoot().accept(this);
+		} catch (CoreException e) {
+			DroolsEclipsePlugin.log(e);
+		}
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
+	}
+	
+	public void dispose() {
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
+	}
+	
+	public void setFocus() {
+		treeViewer.getControl().setFocus();
+	}
+
+	public boolean visit(IResource resource) throws CoreException {
+		return updateResource(resource);
+	}
+	
+	private boolean updateResource(IResource resource) {
+    	IProject project = resource.getProject();
+    	if (project != null) {
+            IJavaProject javaProject = JavaCore.create(project);
+            if (!javaProject.exists()) {
+            	return false;
+            }
+    		if (resource instanceof IFile 
+    				&& "drl".equals(resource.getFileExtension())
+    				&& javaProject.isOnClasspath(resource)) {
+    			try {
+    				IFile file = (IFile) resource;
+    				DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(resource, false);
+    				String packageName = drlInfo.getPackageName();
+    				Package pkg = ruleSet.getPackage(packageName);
+    				if (pkg == null) {
+    					pkg = DroolsModelBuilder.addPackage(ruleSet, packageName, 0, 0);
+    				}
+    				// add rules
+    				List rules = drlInfo.getPackageDescr().getRules();
+    				for (Iterator iterator = rules.iterator(); iterator.hasNext();) {
+    					RuleDescr ruleDescr = (RuleDescr) iterator.next();
+    					boolean isQuery = ruleDescr instanceof QueryDescr;
+    					String ruleName = ruleDescr.getName();
+    					if (!isQuery) {
+    						Rule rule = DroolsModelBuilder.addRule(
+								pkg, ruleName, file, ruleDescr.getStartCharacter(),
+								ruleDescr.getEndCharacter() - ruleDescr.getStartCharacter() + 1, null);
+	    					// create link between resource and created rule nodes
+	    					List droolsElements = (List) resourcesMap.get(file);
+	    					if (droolsElements == null) {
+	    						droolsElements = new ArrayList();
+	    						resourcesMap.put(file, droolsElements);
+	    					}
+	    					droolsElements.add(rule);
+    					} else {
+    						Query query = DroolsModelBuilder.addQuery(
+								pkg, ruleName, file, ruleDescr.getStartCharacter(), 
+								ruleDescr.getEndCharacter() - ruleDescr.getStartCharacter() + 1);
+	    					// create link between resource and created rule nodes
+	    					List droolsElements = (List) resourcesMap.get(file);
+	    					if (droolsElements == null) {
+	    						droolsElements = new ArrayList();
+	    						resourcesMap.put(file, droolsElements);
+	    					}
+	    					droolsElements.add(query);
+    					}
+    				}
+    				// add templates
+    				List templates = drlInfo.getPackageDescr().getFactTemplates();
+    				for (Iterator iterator = templates.iterator(); iterator.hasNext();) {
+    					FactTemplateDescr templateDescr = (FactTemplateDescr) iterator.next();
+						Template template = DroolsModelBuilder.addTemplate(
+							pkg, templateDescr.getName(), file, templateDescr.getStartCharacter(),
+							templateDescr.getEndCharacter() - templateDescr.getStartCharacter() + 1);
+    					// create link between resource and created rule nodes
+    					List droolsElements = (List) resourcesMap.get(file);
+    					if (droolsElements == null) {
+    						droolsElements = new ArrayList();
+    						resourcesMap.put(file, droolsElements);
+    					}
+    					droolsElements.add(template);
+    				}
+    				// add globals
+    				List globals = drlInfo.getPackageDescr().getGlobals();
+    				for (Iterator iterator = globals.iterator(); iterator.hasNext();) {
+    					GlobalDescr globalDescr = (GlobalDescr) iterator.next();
+    					Global global = DroolsModelBuilder.addGlobal(
+							pkg, globalDescr.getIdentifier(), file, globalDescr.getStartCharacter(),
+							globalDescr.getEndCharacter() - globalDescr.getStartCharacter() + 1);
+    					// create link between resource and created rule nodes
+    					List droolsElements = (List) resourcesMap.get(file);
+    					if (droolsElements == null) {
+    						droolsElements = new ArrayList();
+    						resourcesMap.put(file, droolsElements);
+    					}
+    					droolsElements.add(global);
+    				}
+    				// add functions
+    				List functions = drlInfo.getPackageDescr().getFunctions();
+    				for (Iterator iterator = functions.iterator(); iterator.hasNext();) {
+    					FunctionDescr functionDescr = (FunctionDescr) iterator.next();
+    					String functionName = functionDescr.getName();
+    					Function function = DroolsModelBuilder.addFunction(
+							pkg, functionName, file, functionDescr.getStartCharacter(),
+							functionDescr.getEndCharacter() - functionDescr.getStartCharacter() + 1);
+    					// create link between resource and created rule nodes
+    					List droolsElements = (List) resourcesMap.get(file);
+    					if (droolsElements == null) {
+    						droolsElements = new ArrayList();
+    						resourcesMap.put(file, droolsElements);
+    					}
+    					droolsElements.add(function);
+    				}
+    			} catch (Throwable t) {
+    				DroolsEclipsePlugin.log(t);
+    			}
+    			return false;
+    		}
+        }
+        return true;
+	}
+
+	public void resourceChanged(final IResourceChangeEvent event) {
+		try {
+			if (event.getType() == IResourceChangeEvent.POST_CHANGE) {
+				IResourceDelta delta = event.getDelta();
+				if (delta != null) {
+					delta.accept(new IResourceDeltaVisitor() {
+						public boolean visit(IResourceDelta delta) throws CoreException {
+							IResource resource = delta.getResource();
+							removeElementsFromResource(resource);
+							boolean result = true;
+							if (delta.getKind() != IResourceDelta.REMOVED) {
+								result = updateResource(resource);
+							}
+							treeViewer.getControl().getDisplay().asyncExec(
+						        new Runnable() {
+									public void run() {
+										treeViewer.refresh();
+									}
+								}
+					        );
+							return result;
+						}
+					});
+				}
+			} else if (event.getType() == IResourceChangeEvent.PRE_DELETE) {
+				IResource resource = event.getResource();
+				if (resource != null) {
+					resource.accept(new IResourceVisitor() {
+						public boolean visit(IResource resource) throws CoreException {
+							removeElementsFromResource(resource);
+							return true;
+						}
+					});
+				}
+			} else if (event.getType() == IResourceChangeEvent.PRE_CLOSE) {
+				IResource resource = event.getResource();
+				if (resource != null) {
+					resource.accept(new IResourceVisitor() {
+						public boolean visit(IResource resource) throws CoreException {
+							removeElementsFromResource(resource);
+							return true;
+						}
+					});
+				}
+			}
+		} catch (Throwable t) {
+			DroolsEclipsePlugin.log(t);
+		}
+	}
+	
+	private void removeElementsFromResource(IResource resource) {
+		List droolsElements = (List) resourcesMap.get(resource);
+		if (droolsElements != null) {
+			for (Iterator iterator = droolsElements.iterator(); iterator.hasNext();) {
+				DroolsModelBuilder.removeElement((DroolsElement) iterator.next());
+			}
+			resourcesMap.remove(resource);
+		}
+	}
+
+	public void doubleClick(DoubleClickEvent event) {
+		ISelection selection = event.getSelection();
+		if (selection instanceof IStructuredSelection) {
+			Object selected = ((StructuredSelection) selection).getFirstElement();
+			if (selected != null && selected instanceof DroolsElement) {
+				DroolsElement droolsSelected = (DroolsElement) selected;
+				IFile file = droolsSelected.getFile();
+				if (file != null) {
+					try {
+						IEditorPart editor = IDE.openEditor(getSite().getPage(), file);
+						if (editor instanceof FormEditor) {
+							editor = ((FormEditor) editor).getActiveEditor();
+						}
+						if (editor instanceof ITextEditor) {
+							((ITextEditor)editor).selectAndReveal(
+								droolsSelected.getOffset(), droolsSelected.getLength());
+						}
+					} catch (Throwable t) {
+						DroolsEclipsePlugin.log(t);
+					}
+				}
+			}
+		}
+	}
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,69 +0,0 @@
-package org.drools.eclipse.wizard.decisiontable;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * A page to create a new Decision table scaffolding based on a template.
- *
- * @author Michael Neale
- */
-public class NewDTFilePage extends WizardNewFileCreationPage {
-
-    private static final String XLS_EXTENSION = ".xls";
-    private IWorkbench workbench;
-
-    public NewDTFilePage(IWorkbench workbench, IStructuredSelection selection) {
-        super("createDTFilePage", selection);
-        setTitle("New Decision Table");
-        setDescription("Create a new Decision Table scaffolding.");
-        this.workbench = workbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        setPageComplete(true);
-    }
-
-    public boolean finish() {
-        String fileName = getFileName();
-        if (!fileName.endsWith(XLS_EXTENSION)) {
-            setFileName(fileName + XLS_EXTENSION);
-        }
-        org.eclipse.core.resources.IFile newFile = createNewFile();
-        if (newFile == null)
-            return false;
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (PartInitException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-        return true;
-    }
-
-    protected InputStream getInitialContents() {
-        try {
-            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
-                "org/drools/eclipse/wizard/decisiontable/template.xls").openStream();
-        } catch (IOException e) {
-            return null;
-        } catch (NullPointerException e) {
-            return null;
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,69 @@
+package org.drools.eclipse.wizard.decisiontable;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * A page to create a new Decision table scaffolding based on a template.
+ *
+ * @author Michael Neale
+ */
+public class NewDTFilePage extends WizardNewFileCreationPage {
+
+    private static final String XLS_EXTENSION = ".xls";
+    private IWorkbench workbench;
+
+    public NewDTFilePage(IWorkbench workbench, IStructuredSelection selection) {
+        super("createDTFilePage", selection);
+        setTitle("New Decision Table");
+        setDescription("Create a new Decision Table scaffolding.");
+        this.workbench = workbench;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        setPageComplete(true);
+    }
+
+    public boolean finish() {
+        String fileName = getFileName();
+        if (!fileName.endsWith(XLS_EXTENSION)) {
+            setFileName(fileName + XLS_EXTENSION);
+        }
+        org.eclipse.core.resources.IFile newFile = createNewFile();
+        if (newFile == null)
+            return false;
+        try {
+            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
+            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
+            if (page != null)
+                IDE.openEditor(page, newFile, true);
+        } catch (PartInitException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+        return true;
+    }
+
+    protected InputStream getInitialContents() {
+        try {
+            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
+                "org/drools/eclipse/wizard/decisiontable/template.xls").openStream();
+        } catch (IOException e) {
+            return null;
+        } catch (NullPointerException e) {
+            return null;
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.wizard.decisiontable;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * A wizard to create a Decision Table scaffold.
- * 
- * @author Michael Neale
- */
-public class NewDTFileWizard extends Wizard implements INewWizard {
-
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    private NewDTFilePage mainPage;
-    
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle("New Decision Table");
-    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/dt-large.gif");
-        setDefaultPageImageDescriptor(desc);        
-    }
-    
-    public void addPages() {
-        mainPage = new NewDTFilePage(workbench, selection);
-        addPage(mainPage);
-     }
-
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-    
-
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.wizard.decisiontable;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+/**
+ * A wizard to create a Decision Table scaffold.
+ * 
+ * @author Michael Neale
+ */
+public class NewDTFileWizard extends Wizard implements INewWizard {
+
+    private IWorkbench workbench;
+    private IStructuredSelection selection;
+    private NewDTFilePage mainPage;
+    
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.workbench = workbench;
+        this.selection = selection;
+        setWindowTitle("New Decision Table");
+    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/dt-large.gif");
+        setDefaultPageImageDescriptor(desc);        
+    }
+    
+    public void addPages() {
+        mainPage = new NewDTFilePage(workbench, selection);
+        addPage(mainPage);
+     }
+
+    public boolean performFinish() {
+        return mainPage.finish();
+    }
+    
+
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,74 +0,0 @@
-/*
- * Created on 11-jan-2005
- *
- */
-package org.drools.eclipse.wizard.dsl;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * A page to create a new Domain Specific Language configuration.
- * There may be additional options here in future.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- * @author Michael Neale
- */
-public class NewDSLFilePage extends WizardNewFileCreationPage {
-
-    private IWorkbench workbench;
-
-    public NewDSLFilePage(IWorkbench workbench, IStructuredSelection selection) {
-        super("createDSLFilePage", selection);
-        setTitle("New DSL");
-        setDescription("Create a new Domain Specific Language configuration");
-        this.workbench = workbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        setPageComplete(true);
-    }
-
-    public boolean finish() {
-        String fileName = getFileName();
-        if (!fileName.endsWith(".dsl")) {
-            setFileName(fileName + ".dsl");
-        }
-        org.eclipse.core.resources.IFile newFile = createNewFile();
-        if (newFile == null)
-            return false;
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (PartInitException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-        return true;
-    }
-    
-    protected InputStream getInitialContents() {
-        try {
-            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
-                "org/drools/eclipse/wizard/dsl/template.dsl").openStream();
-        } catch (IOException e) {
-            return null;
-        } catch (NullPointerException e) {
-            return null;
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,74 @@
+/*
+ * Created on 11-jan-2005
+ *
+ */
+package org.drools.eclipse.wizard.dsl;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * A page to create a new Domain Specific Language configuration.
+ * There may be additional options here in future.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ * @author Michael Neale
+ */
+public class NewDSLFilePage extends WizardNewFileCreationPage {
+
+    private IWorkbench workbench;
+
+    public NewDSLFilePage(IWorkbench workbench, IStructuredSelection selection) {
+        super("createDSLFilePage", selection);
+        setTitle("New DSL");
+        setDescription("Create a new Domain Specific Language configuration");
+        this.workbench = workbench;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        setPageComplete(true);
+    }
+
+    public boolean finish() {
+        String fileName = getFileName();
+        if (!fileName.endsWith(".dsl")) {
+            setFileName(fileName + ".dsl");
+        }
+        org.eclipse.core.resources.IFile newFile = createNewFile();
+        if (newFile == null)
+            return false;
+        try {
+            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
+            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
+            if (page != null)
+                IDE.openEditor(page, newFile, true);
+        } catch (PartInitException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+        return true;
+    }
+    
+    protected InputStream getInitialContents() {
+        try {
+            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
+                "org/drools/eclipse/wizard/dsl/template.dsl").openStream();
+        } catch (IOException e) {
+            return null;
+        } catch (NullPointerException e) {
+            return null;
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,41 +0,0 @@
-package org.drools.eclipse.wizard.dsl;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * A wizard to create a new Domain Specific Language.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- * @author Michael Neale
- */
-public class NewDSLFileWizard extends Wizard implements INewWizard {
-
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    private NewDSLFilePage mainPage;
-    
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle("New Domain Specific Language configuration");
-    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/dsl-large.png");
-        setDefaultPageImageDescriptor(desc);        
-    }
-    
-    public void addPages() {
-        mainPage = new NewDSLFilePage(workbench, selection);
-        addPage(mainPage);
-     }
-
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-    
-
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,41 @@
+package org.drools.eclipse.wizard.dsl;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+/**
+ * A wizard to create a new Domain Specific Language.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ * @author Michael Neale
+ */
+public class NewDSLFileWizard extends Wizard implements INewWizard {
+
+    private IWorkbench workbench;
+    private IStructuredSelection selection;
+    private NewDSLFilePage mainPage;
+    
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.workbench = workbench;
+        this.selection = selection;
+        setWindowTitle("New Domain Specific Language configuration");
+    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/dsl-large.png");
+        setDefaultPageImageDescriptor(desc);        
+    }
+    
+    public void addPages() {
+        mainPage = new NewDSLFilePage(workbench, selection);
+        addPage(mainPage);
+     }
+
+    public boolean performFinish() {
+        return mainPage.finish();
+    }
+    
+
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,436 +0,0 @@
-package org.drools.eclipse.wizard.project;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.builder.DroolsBuilder;
-import org.drools.eclipse.util.DroolsClasspathContainer;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-/**
- * A wizard to create a new Drools project.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class NewDroolsProjectWizard extends BasicNewResourceWizard {
-
-    public static final String DROOLS_CLASSPATH_CONTAINER_PATH = "DROOLS/Drools";
-    
-    private IProject newProject;
-    private WizardNewProjectCreationPage mainPage;
-    private NewDroolsProjectWizardPage extraPage;
-    
-    public void addPages() {
-        super.addPages();
-        mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");
-        mainPage.setTitle("New Drools Project");
-        mainPage.setDescription("Create a new Drools Project");
-        this.addPage(mainPage);
-        extraPage = new NewDroolsProjectWizardPage();
-        addPage(extraPage);
-        setNeedsProgressMonitor(true);
-    }
-
-    public boolean performFinish() {
-        createDroolsProject();
-        if (newProject == null) {
-            return false;
-        }
-        selectAndReveal(newProject);
-        return true;
-    }
-
-    private void createDroolsProject() {
-        newProject = createNewProject();
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                try {
-                	IJavaProject project = JavaCore.create(newProject);
-                    createOutputLocation(project, monitor);
-                    addJavaBuilder(project, monitor);
-                    setClasspath(project, monitor);
-                    createInitialContent(project, monitor);
-                	newProject.build(IncrementalProjectBuilder.FULL_BUILD, monitor);
-                } catch (IOException _ex) {
-                	ErrorDialog.openError(getShell(), "Problem creating Drools project",
-                        null, null);
-                }
-            }
-        };
-        try {
-            getContainer().run(true, true, op);
-        } catch (Throwable t) {
-            DroolsEclipsePlugin.log(t);
-        }
-    }
-    
-    private IProject createNewProject() {
-        if (newProject != null) {
-            return newProject;
-        }
-        final IProject newProjectHandle = mainPage.getProjectHandle();
-
-        // get a project descriptor
-        IPath newPath = null;
-        if (!mainPage.useDefaults())
-            newPath = mainPage.getLocationPath();
-
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        final IProjectDescription description = workspace
-                .newProjectDescription(newProjectHandle.getName());
-        description.setLocation(newPath);
-        addNatures(description);
-
-        // create the new project operation
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                createProject(description, newProjectHandle, monitor);
-            }
-        };
-
-        // run the new project creation operation
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return null;
-        } catch (InvocationTargetException e) {
-            Throwable t = e.getTargetException();
-            if (t instanceof CoreException) {
-                if (((CoreException) t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
-                    MessageDialog.openError(getShell(),
-                        "NewProject.errorMessage",
-                        "NewProject.caseVariantExistsError"
-                                + newProjectHandle.getName());
-                } else {
-                    ErrorDialog.openError(getShell(),
-                        "NewProject.errorMessage", null, // no special message
-                        ((CoreException) t).getStatus());
-                }
-            } else {
-                DroolsEclipsePlugin.log(e);
-            }
-            return null;
-        }
-
-        return newProjectHandle;
-    }
-    
-    private void addNatures(IProjectDescription projectDescription) {
-        List list = new ArrayList();
-        list.addAll(Arrays.asList(projectDescription.getNatureIds()));
-        list.add("org.eclipse.jdt.core.javanature");
-        projectDescription.setNatureIds((String[]) list
-            .toArray(new String[list.size()]));
-    }
-    
-    private void createProject(IProjectDescription description,
-            IProject projectHandle, IProgressMonitor monitor)
-            throws CoreException, OperationCanceledException {
-        try {
-            monitor.beginTask("", 2000);
-            projectHandle.create(description, new SubProgressMonitor(monitor,
-                    1000));
-            if (monitor.isCanceled()) {
-                throw new OperationCanceledException();
-            }
-            projectHandle.open(IResource.BACKGROUND_REFRESH,
-                new SubProgressMonitor(monitor, 1000));
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    private void createOutputLocation(IJavaProject project, IProgressMonitor monitor)
-            throws JavaModelException, CoreException {
-        IFolder folder = project.getProject().getFolder("bin");
-        createFolder(folder, monitor);
-        IPath path = folder.getFullPath();
-        project.setOutputLocation(path, null);
-    }
-
-    private void addJavaBuilder(IJavaProject project, IProgressMonitor monitor) throws CoreException {
-        IProjectDescription description = project.getProject().getDescription();
-        ICommand[] commands = description.getBuildSpec();
-        ICommand[] newCommands = new ICommand[commands.length + 2];
-        System.arraycopy(commands, 0, newCommands, 0, commands.length);
-
-        ICommand javaCommand = description.newCommand();
-        javaCommand.setBuilderName("org.eclipse.jdt.core.javabuilder");
-        newCommands[commands.length] = javaCommand;
-        
-        ICommand droolsCommand = description.newCommand();
-        droolsCommand.setBuilderName(DroolsBuilder.BUILDER_ID);
-        newCommands[commands.length + 1] = droolsCommand;
-        
-        description.setBuildSpec(newCommands);
-        project.getProject().setDescription(description, monitor);
-    }
-
-    private void setClasspath(IJavaProject project, IProgressMonitor monitor)
-            throws JavaModelException, CoreException {
-        project.setRawClasspath(new IClasspathEntry[0], monitor);
-        addSourceFolders(project, monitor);
-        addJRELibraries(project, monitor);
-        addDroolsLibraries(project, monitor);
-    }
-
-    private void addSourceFolders(IJavaProject project, IProgressMonitor monitor) throws JavaModelException, CoreException {
-        List list = new ArrayList();
-        list.addAll(Arrays.asList(project.getRawClasspath()));
-        addSourceFolder(project, list, "src/main/java", monitor);
-        addSourceFolder(project, list, "src/main/rules", monitor);
-        project.setRawClasspath((IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]), null);
-    }
-    
-    private void addJRELibraries(IJavaProject project, IProgressMonitor monitor) throws JavaModelException {
-        List list = new ArrayList();
-        list.addAll(Arrays.asList(project.getRawClasspath()));
-        list.addAll(Arrays.asList(PreferenceConstants.getDefaultJRELibrary()));
-        project.setRawClasspath((IClasspathEntry[]) list
-            .toArray(new IClasspathEntry[list.size()]), monitor);
-    }
-
-    private static IPath getClassPathContainerPath() {
-        return new Path(DROOLS_CLASSPATH_CONTAINER_PATH);
-    }
-
-    private static void createDroolsLibraryContainer(IJavaProject project, IProgressMonitor monitor)
-            throws JavaModelException {
-        JavaCore.setClasspathContainer(getClassPathContainerPath(),
-            new IJavaProject[] { project },
-            new IClasspathContainer[] { new DroolsClasspathContainer(
-                    project, getClassPathContainerPath()) }, monitor);
-    }
-
-    public static void addDroolsLibraries(IJavaProject project, IProgressMonitor monitor)
-            throws JavaModelException {
-        createDroolsLibraryContainer(project, monitor);
-        List list = new ArrayList();
-        list.addAll(Arrays.asList(project.getRawClasspath()));
-        list.add(JavaCore.newContainerEntry(getClassPathContainerPath()));
-        project.setRawClasspath((IClasspathEntry[]) list
-            .toArray(new IClasspathEntry[list.size()]), monitor);
-    }
-
-    private void createInitialContent(IJavaProject project, IProgressMonitor monitor)
-            throws CoreException, JavaModelException, IOException {
-    	try {
-	    	if (extraPage.createJavaRuleFile()) {
-	    		createRuleSampleLauncher(project);
-	    	}
-	    	if (extraPage.createRuleFile()) {
-	    		createRule(project, monitor);
-	    	}
-	    	if (extraPage.createDecisionTableFile()) {
-	    		createDecisionTable(project, monitor);
-	    	}
-	    	if (extraPage.createJavaDecisionTableFile()) {
-	    		createDecisionTableSampleLauncher(project);
-	    	}
-	    	if (extraPage.createRuleFlowFile()) {
-	    		createRuleFlow(project, monitor);
-	    	}
-	    	if (extraPage.createJavaRuleFlowFile()) {
-	    		createRuleFlowSampleLauncher(project);
-	    	}
-    	} catch (Throwable t) {
-    		t.printStackTrace();
-    	}
-	}
-
-    /**
-     * Create the sample rule launcher file.
-     */
-    private void createRuleSampleLauncher(IJavaProject project)
-            throws JavaModelException, IOException {
-        
-        String s = "org/drools/eclipse/wizard/project/RuleLauncherSample.java.template";
-        IFolder folder = project.getProject().getFolder("src/main/java");
-        IPackageFragmentRoot packageFragmentRoot = project
-                .getPackageFragmentRoot(folder);
-        IPackageFragment packageFragment = packageFragmentRoot
-                .createPackageFragment("com.sample", true, null);
-        InputStream inputstream = getClass().getClassLoader()
-                .getResourceAsStream(s);
-        packageFragment.createCompilationUnit("DroolsTest.java", new String(
-                readStream(inputstream)), true, null);
-    }
-
-    /**
-     * Create the sample decision table launcher file.
-     */
-    private void createDecisionTableSampleLauncher(IJavaProject project)
-            throws JavaModelException, IOException {
-        
-        String s = "org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template";
-        IFolder folder = project.getProject().getFolder("src/main/java");
-        IPackageFragmentRoot packageFragmentRoot = project
-                .getPackageFragmentRoot(folder);
-        IPackageFragment packageFragment = packageFragmentRoot
-                .createPackageFragment("com.sample", true, null);
-        InputStream inputstream = getClass().getClassLoader()
-                .getResourceAsStream(s);
-        packageFragment.createCompilationUnit("DecisionTableTest.java", new String(
-                readStream(inputstream)), true, null);
-    }
-
-    /**
-     * Create the sample rule file.
-     */
-    private void createRule(IJavaProject project, IProgressMonitor monitor)
-            throws CoreException {
-        String fileName = "org/drools/eclipse/wizard/project/Sample.drl.template";
-        IFolder folder = project.getProject().getFolder("src/main/rules");
-        IFile file = folder.getFile("Sample.drl");
-        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
-        if (!file.exists()) {
-        	file.create(inputstream, true, monitor);
-        } else {
-        	file.setContents(inputstream, true, false, monitor);
-        }
-    }
-
-    /**
-     * Create the sample decision table file.
-     */
-    private void createDecisionTable(IJavaProject project, IProgressMonitor monitor)
-            throws CoreException {
-        String fileName = "org/drools/eclipse/wizard/project/Sample.xls.template";
-        IFolder folder = project.getProject().getFolder("src/main/rules");
-        IFile file = folder.getFile("Sample.xls");
-        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
-        if (!file.exists()) {
-        	file.create(inputstream, true, monitor);
-        } else {
-        	file.setContents(inputstream, true, false, monitor);
-        }
-    }
-
-    /**
-     * Create the sample RuleFlow file.
-     */
-    private void createRuleFlow(IJavaProject project, IProgressMonitor monitor)
-            throws CoreException {
-        String fileName = "org/drools/eclipse/wizard/project/ruleflow.rf.template";
-        IFolder folder = project.getProject().getFolder("src/main/rules");
-        IFile file = folder.getFile("ruleflow.rf");
-        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
-        if (!file.exists()) {
-        	file.create(inputstream, true, monitor);
-        } else {
-        	file.setContents(inputstream, true, false, monitor);
-        }
-        fileName = "org/drools/eclipse/wizard/project/ruleflow.rfm.template";
-        folder = project.getProject().getFolder("src/main/rules");
-        file = folder.getFile("ruleflow.rfm");
-        inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
-        if (!file.exists()) {
-        	file.create(inputstream, true, monitor);
-        } else {
-        	file.setContents(inputstream, true, false, monitor);
-        }
-        fileName = "org/drools/eclipse/wizard/project/ruleflow.drl.template";
-        folder = project.getProject().getFolder("src/main/rules");
-        file = folder.getFile("ruleflow.drl");
-        inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
-        if (!file.exists()) {
-        	file.create(inputstream, true, monitor);
-        } else {
-        	file.setContents(inputstream, true, false, monitor);
-        }
-    }
-
-    /**
-     * Create the sample RuleFlow launcher file.
-     */
-    private void createRuleFlowSampleLauncher(IJavaProject project)
-            throws JavaModelException, IOException {
-        
-        String s = "org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template";
-        IFolder folder = project.getProject().getFolder("src/main/java");
-        IPackageFragmentRoot packageFragmentRoot = project
-                .getPackageFragmentRoot(folder);
-        IPackageFragment packageFragment = packageFragmentRoot
-                .createPackageFragment("com.sample", true, null);
-        InputStream inputstream = getClass().getClassLoader()
-                .getResourceAsStream(s);
-        packageFragment.createCompilationUnit("RuleFlowTest.java", new String(
-                readStream(inputstream)), true, null);
-    }
-
-    protected void initializeDefaultPageImageDescriptor() {
-    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
-        setDefaultPageImageDescriptor(desc);
-    }
-
-    private byte[] readStream(InputStream inputstream) throws IOException {
-		byte bytes[] = (byte[]) null;
-		int i = 0;
-		byte tempBytes[] = new byte[1024];
-		for (int j = inputstream.read(tempBytes); j != -1; j = inputstream.read(tempBytes)) {
-			byte tempBytes2[] = new byte[i + j];
-			if (i > 0) {
-				System.arraycopy(bytes, 0, tempBytes2, 0, i);
-			}
-			System.arraycopy(tempBytes, 0, tempBytes2, i, j);
-			bytes = tempBytes2;
-			i += j;
-		}
-
-		return bytes;
-	}
-    
-    private void addSourceFolder(IJavaProject project, List list, String s, IProgressMonitor monitor) throws CoreException {
-        IFolder folder = project.getProject().getFolder(s);
-        createFolder(folder, monitor);
-        IPackageFragmentRoot ipackagefragmentroot = project.getPackageFragmentRoot(folder);
-        list.add(JavaCore.newSourceEntry(ipackagefragmentroot.getPath()));
-    }
-    
-    private void createFolder(IFolder folder, IProgressMonitor monitor) throws CoreException {
-        IContainer container = folder.getParent();
-        if (container != null && !container.exists()
-                && (container instanceof IFolder))
-            createFolder((IFolder) container, monitor);
-        if (!folder.exists()) {
-        	folder.create(true, true, monitor);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,436 @@
+package org.drools.eclipse.wizard.project;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.builder.DroolsBuilder;
+import org.drools.eclipse.util.DroolsClasspathContainer;
+import org.eclipse.core.resources.ICommand;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceStatus;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.jdt.core.IClasspathContainer;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.ui.PreferenceConstants;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
+import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
+
+/**
+ * A wizard to create a new Drools project.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class NewDroolsProjectWizard extends BasicNewResourceWizard {
+
+    public static final String DROOLS_CLASSPATH_CONTAINER_PATH = "DROOLS/Drools";
+    
+    private IProject newProject;
+    private WizardNewProjectCreationPage mainPage;
+    private NewDroolsProjectWizardPage extraPage;
+    
+    public void addPages() {
+        super.addPages();
+        mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");
+        mainPage.setTitle("New Drools Project");
+        mainPage.setDescription("Create a new Drools Project");
+        this.addPage(mainPage);
+        extraPage = new NewDroolsProjectWizardPage();
+        addPage(extraPage);
+        setNeedsProgressMonitor(true);
+    }
+
+    public boolean performFinish() {
+        createDroolsProject();
+        if (newProject == null) {
+            return false;
+        }
+        selectAndReveal(newProject);
+        return true;
+    }
+
+    private void createDroolsProject() {
+        newProject = createNewProject();
+        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+            protected void execute(IProgressMonitor monitor)
+                    throws CoreException {
+                try {
+                	IJavaProject project = JavaCore.create(newProject);
+                    createOutputLocation(project, monitor);
+                    addJavaBuilder(project, monitor);
+                    setClasspath(project, monitor);
+                    createInitialContent(project, monitor);
+                	newProject.build(IncrementalProjectBuilder.FULL_BUILD, monitor);
+                } catch (IOException _ex) {
+                	ErrorDialog.openError(getShell(), "Problem creating Drools project",
+                        null, null);
+                }
+            }
+        };
+        try {
+            getContainer().run(true, true, op);
+        } catch (Throwable t) {
+            DroolsEclipsePlugin.log(t);
+        }
+    }
+    
+    private IProject createNewProject() {
+        if (newProject != null) {
+            return newProject;
+        }
+        final IProject newProjectHandle = mainPage.getProjectHandle();
+
+        // get a project descriptor
+        IPath newPath = null;
+        if (!mainPage.useDefaults())
+            newPath = mainPage.getLocationPath();
+
+        IWorkspace workspace = ResourcesPlugin.getWorkspace();
+        final IProjectDescription description = workspace
+                .newProjectDescription(newProjectHandle.getName());
+        description.setLocation(newPath);
+        addNatures(description);
+
+        // create the new project operation
+        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+            protected void execute(IProgressMonitor monitor)
+                    throws CoreException {
+                createProject(description, newProjectHandle, monitor);
+            }
+        };
+
+        // run the new project creation operation
+        try {
+            getContainer().run(true, true, op);
+        } catch (InterruptedException e) {
+            return null;
+        } catch (InvocationTargetException e) {
+            Throwable t = e.getTargetException();
+            if (t instanceof CoreException) {
+                if (((CoreException) t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
+                    MessageDialog.openError(getShell(),
+                        "NewProject.errorMessage",
+                        "NewProject.caseVariantExistsError"
+                                + newProjectHandle.getName());
+                } else {
+                    ErrorDialog.openError(getShell(),
+                        "NewProject.errorMessage", null, // no special message
+                        ((CoreException) t).getStatus());
+                }
+            } else {
+                DroolsEclipsePlugin.log(e);
+            }
+            return null;
+        }
+
+        return newProjectHandle;
+    }
+    
+    private void addNatures(IProjectDescription projectDescription) {
+        List list = new ArrayList();
+        list.addAll(Arrays.asList(projectDescription.getNatureIds()));
+        list.add("org.eclipse.jdt.core.javanature");
+        projectDescription.setNatureIds((String[]) list
+            .toArray(new String[list.size()]));
+    }
+    
+    private void createProject(IProjectDescription description,
+            IProject projectHandle, IProgressMonitor monitor)
+            throws CoreException, OperationCanceledException {
+        try {
+            monitor.beginTask("", 2000);
+            projectHandle.create(description, new SubProgressMonitor(monitor,
+                    1000));
+            if (monitor.isCanceled()) {
+                throw new OperationCanceledException();
+            }
+            projectHandle.open(IResource.BACKGROUND_REFRESH,
+                new SubProgressMonitor(monitor, 1000));
+        } finally {
+            monitor.done();
+        }
+    }
+    
+    private void createOutputLocation(IJavaProject project, IProgressMonitor monitor)
+            throws JavaModelException, CoreException {
+        IFolder folder = project.getProject().getFolder("bin");
+        createFolder(folder, monitor);
+        IPath path = folder.getFullPath();
+        project.setOutputLocation(path, null);
+    }
+
+    private void addJavaBuilder(IJavaProject project, IProgressMonitor monitor) throws CoreException {
+        IProjectDescription description = project.getProject().getDescription();
+        ICommand[] commands = description.getBuildSpec();
+        ICommand[] newCommands = new ICommand[commands.length + 2];
+        System.arraycopy(commands, 0, newCommands, 0, commands.length);
+
+        ICommand javaCommand = description.newCommand();
+        javaCommand.setBuilderName("org.eclipse.jdt.core.javabuilder");
+        newCommands[commands.length] = javaCommand;
+        
+        ICommand droolsCommand = description.newCommand();
+        droolsCommand.setBuilderName(DroolsBuilder.BUILDER_ID);
+        newCommands[commands.length + 1] = droolsCommand;
+        
+        description.setBuildSpec(newCommands);
+        project.getProject().setDescription(description, monitor);
+    }
+
+    private void setClasspath(IJavaProject project, IProgressMonitor monitor)
+            throws JavaModelException, CoreException {
+        project.setRawClasspath(new IClasspathEntry[0], monitor);
+        addSourceFolders(project, monitor);
+        addJRELibraries(project, monitor);
+        addDroolsLibraries(project, monitor);
+    }
+
+    private void addSourceFolders(IJavaProject project, IProgressMonitor monitor) throws JavaModelException, CoreException {
+        List list = new ArrayList();
+        list.addAll(Arrays.asList(project.getRawClasspath()));
+        addSourceFolder(project, list, "src/main/java", monitor);
+        addSourceFolder(project, list, "src/main/rules", monitor);
+        project.setRawClasspath((IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]), null);
+    }
+    
+    private void addJRELibraries(IJavaProject project, IProgressMonitor monitor) throws JavaModelException {
+        List list = new ArrayList();
+        list.addAll(Arrays.asList(project.getRawClasspath()));
+        list.addAll(Arrays.asList(PreferenceConstants.getDefaultJRELibrary()));
+        project.setRawClasspath((IClasspathEntry[]) list
+            .toArray(new IClasspathEntry[list.size()]), monitor);
+    }
+
+    private static IPath getClassPathContainerPath() {
+        return new Path(DROOLS_CLASSPATH_CONTAINER_PATH);
+    }
+
+    private static void createDroolsLibraryContainer(IJavaProject project, IProgressMonitor monitor)
+            throws JavaModelException {
+        JavaCore.setClasspathContainer(getClassPathContainerPath(),
+            new IJavaProject[] { project },
+            new IClasspathContainer[] { new DroolsClasspathContainer(
+                    project, getClassPathContainerPath()) }, monitor);
+    }
+
+    public static void addDroolsLibraries(IJavaProject project, IProgressMonitor monitor)
+            throws JavaModelException {
+        createDroolsLibraryContainer(project, monitor);
+        List list = new ArrayList();
+        list.addAll(Arrays.asList(project.getRawClasspath()));
+        list.add(JavaCore.newContainerEntry(getClassPathContainerPath()));
+        project.setRawClasspath((IClasspathEntry[]) list
+            .toArray(new IClasspathEntry[list.size()]), monitor);
+    }
+
+    private void createInitialContent(IJavaProject project, IProgressMonitor monitor)
+            throws CoreException, JavaModelException, IOException {
+    	try {
+	    	if (extraPage.createJavaRuleFile()) {
+	    		createRuleSampleLauncher(project);
+	    	}
+	    	if (extraPage.createRuleFile()) {
+	    		createRule(project, monitor);
+	    	}
+	    	if (extraPage.createDecisionTableFile()) {
+	    		createDecisionTable(project, monitor);
+	    	}
+	    	if (extraPage.createJavaDecisionTableFile()) {
+	    		createDecisionTableSampleLauncher(project);
+	    	}
+	    	if (extraPage.createRuleFlowFile()) {
+	    		createRuleFlow(project, monitor);
+	    	}
+	    	if (extraPage.createJavaRuleFlowFile()) {
+	    		createRuleFlowSampleLauncher(project);
+	    	}
+    	} catch (Throwable t) {
+    		t.printStackTrace();
+    	}
+	}
+
+    /**
+     * Create the sample rule launcher file.
+     */
+    private void createRuleSampleLauncher(IJavaProject project)
+            throws JavaModelException, IOException {
+        
+        String s = "org/drools/eclipse/wizard/project/RuleLauncherSample.java.template";
+        IFolder folder = project.getProject().getFolder("src/main/java");
+        IPackageFragmentRoot packageFragmentRoot = project
+                .getPackageFragmentRoot(folder);
+        IPackageFragment packageFragment = packageFragmentRoot
+                .createPackageFragment("com.sample", true, null);
+        InputStream inputstream = getClass().getClassLoader()
+                .getResourceAsStream(s);
+        packageFragment.createCompilationUnit("DroolsTest.java", new String(
+                readStream(inputstream)), true, null);
+    }
+
+    /**
+     * Create the sample decision table launcher file.
+     */
+    private void createDecisionTableSampleLauncher(IJavaProject project)
+            throws JavaModelException, IOException {
+        
+        String s = "org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template";
+        IFolder folder = project.getProject().getFolder("src/main/java");
+        IPackageFragmentRoot packageFragmentRoot = project
+                .getPackageFragmentRoot(folder);
+        IPackageFragment packageFragment = packageFragmentRoot
+                .createPackageFragment("com.sample", true, null);
+        InputStream inputstream = getClass().getClassLoader()
+                .getResourceAsStream(s);
+        packageFragment.createCompilationUnit("DecisionTableTest.java", new String(
+                readStream(inputstream)), true, null);
+    }
+
+    /**
+     * Create the sample rule file.
+     */
+    private void createRule(IJavaProject project, IProgressMonitor monitor)
+            throws CoreException {
+        String fileName = "org/drools/eclipse/wizard/project/Sample.drl.template";
+        IFolder folder = project.getProject().getFolder("src/main/rules");
+        IFile file = folder.getFile("Sample.drl");
+        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+        if (!file.exists()) {
+        	file.create(inputstream, true, monitor);
+        } else {
+        	file.setContents(inputstream, true, false, monitor);
+        }
+    }
+
+    /**
+     * Create the sample decision table file.
+     */
+    private void createDecisionTable(IJavaProject project, IProgressMonitor monitor)
+            throws CoreException {
+        String fileName = "org/drools/eclipse/wizard/project/Sample.xls.template";
+        IFolder folder = project.getProject().getFolder("src/main/rules");
+        IFile file = folder.getFile("Sample.xls");
+        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+        if (!file.exists()) {
+        	file.create(inputstream, true, monitor);
+        } else {
+        	file.setContents(inputstream, true, false, monitor);
+        }
+    }
+
+    /**
+     * Create the sample RuleFlow file.
+     */
+    private void createRuleFlow(IJavaProject project, IProgressMonitor monitor)
+            throws CoreException {
+        String fileName = "org/drools/eclipse/wizard/project/ruleflow.rf.template";
+        IFolder folder = project.getProject().getFolder("src/main/rules");
+        IFile file = folder.getFile("ruleflow.rf");
+        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+        if (!file.exists()) {
+        	file.create(inputstream, true, monitor);
+        } else {
+        	file.setContents(inputstream, true, false, monitor);
+        }
+        fileName = "org/drools/eclipse/wizard/project/ruleflow.rfm.template";
+        folder = project.getProject().getFolder("src/main/rules");
+        file = folder.getFile("ruleflow.rfm");
+        inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+        if (!file.exists()) {
+        	file.create(inputstream, true, monitor);
+        } else {
+        	file.setContents(inputstream, true, false, monitor);
+        }
+        fileName = "org/drools/eclipse/wizard/project/ruleflow.drl.template";
+        folder = project.getProject().getFolder("src/main/rules");
+        file = folder.getFile("ruleflow.drl");
+        inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+        if (!file.exists()) {
+        	file.create(inputstream, true, monitor);
+        } else {
+        	file.setContents(inputstream, true, false, monitor);
+        }
+    }
+
+    /**
+     * Create the sample RuleFlow launcher file.
+     */
+    private void createRuleFlowSampleLauncher(IJavaProject project)
+            throws JavaModelException, IOException {
+        
+        String s = "org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template";
+        IFolder folder = project.getProject().getFolder("src/main/java");
+        IPackageFragmentRoot packageFragmentRoot = project
+                .getPackageFragmentRoot(folder);
+        IPackageFragment packageFragment = packageFragmentRoot
+                .createPackageFragment("com.sample", true, null);
+        InputStream inputstream = getClass().getClassLoader()
+                .getResourceAsStream(s);
+        packageFragment.createCompilationUnit("RuleFlowTest.java", new String(
+                readStream(inputstream)), true, null);
+    }
+
+    protected void initializeDefaultPageImageDescriptor() {
+    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
+        setDefaultPageImageDescriptor(desc);
+    }
+
+    private byte[] readStream(InputStream inputstream) throws IOException {
+		byte bytes[] = (byte[]) null;
+		int i = 0;
+		byte tempBytes[] = new byte[1024];
+		for (int j = inputstream.read(tempBytes); j != -1; j = inputstream.read(tempBytes)) {
+			byte tempBytes2[] = new byte[i + j];
+			if (i > 0) {
+				System.arraycopy(bytes, 0, tempBytes2, 0, i);
+			}
+			System.arraycopy(tempBytes, 0, tempBytes2, i, j);
+			bytes = tempBytes2;
+			i += j;
+		}
+
+		return bytes;
+	}
+    
+    private void addSourceFolder(IJavaProject project, List list, String s, IProgressMonitor monitor) throws CoreException {
+        IFolder folder = project.getProject().getFolder(s);
+        createFolder(folder, monitor);
+        IPackageFragmentRoot ipackagefragmentroot = project.getPackageFragmentRoot(folder);
+        list.add(JavaCore.newSourceEntry(ipackagefragmentroot.getPath()));
+    }
+    
+    private void createFolder(IFolder folder, IProgressMonitor monitor) throws CoreException {
+        IContainer container = folder.getParent();
+        if (container != null && !container.exists()
+                && (container instanceof IFolder))
+            createFolder((IFolder) container, monitor);
+        if (!folder.exists()) {
+        	folder.create(true, true, monitor);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,147 +0,0 @@
-package org.drools.eclipse.wizard.project;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-public class NewDroolsProjectWizardPage extends WizardPage {
-
-	private Button addSampleJavaRuleCodeButton;
-	private Button addSampleRuleButton;
-	private Button addSampleJavaDecisionTableCodeButton;
-	private Button addSampleDecisionTableCodeButton;
-	private Button addSampleRuleFlowButton;
-	private Button addSampleJavaRuleFlowCodeButton;
-	private boolean addSampleJavaRuleCode = true;
-	private boolean addSampleRule = true;
-	private boolean addSampleJavaDecisionTableCode = false;
-	private boolean addSampleDecisionTableCode = false;
-	private boolean addSampleJavaRuleFlowCode = false;
-	private boolean addSampleRuleFlow = false;
-	
-	public NewDroolsProjectWizardPage() {
-		super("extendedNewProjectPage");
-		setTitle("New Drools Project");
-        setDescription("Create a new Drools Project");
-	}
-	
-	public void createControl(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setFont(parent.getFont());
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        createControls(composite);
-        setPageComplete(true);
-        // Show description on opening
-        setErrorMessage(null);
-        setMessage(null);
-        setControl(composite);
-	}
-	
-	private void createControls(Composite parent) {
-		addSampleRuleButton = createCheckBox(parent,
-			"Add a sample HelloWorld rule file to this project.");
-		addSampleRuleButton.setSelection(addSampleRule);
-		addSampleRuleButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleRule = ((Button) e.widget).getSelection();
-			}
-		});
-		addSampleJavaRuleCodeButton = createCheckBox(parent,
-			"Add a sample Java class for loading and executing the HelloWorld rules.");
-		addSampleJavaRuleCodeButton.setSelection(addSampleJavaRuleCode);
-		addSampleJavaRuleCodeButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleJavaRuleCode = ((Button) e.widget).getSelection();
-			}
-		});
-		addSampleDecisionTableCodeButton = createCheckBox(parent,
-			"Add a sample HelloWorld decision table file to this project.");
-		addSampleDecisionTableCodeButton.setSelection(addSampleDecisionTableCode);
-		addSampleDecisionTableCodeButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleDecisionTableCode = ((Button) e.widget).getSelection();
-			}
-		});
-		addSampleJavaDecisionTableCodeButton = createCheckBox(parent,
-			"Add a sample Java class for loading and executing the HelloWorld decision table.");
-		addSampleJavaDecisionTableCodeButton.setSelection(addSampleDecisionTableCode);
-		addSampleJavaDecisionTableCodeButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleJavaDecisionTableCode = ((Button) e.widget).getSelection();
-			}
-		});
-		addSampleRuleFlowButton = createCheckBox(parent,
-			"Add a sample RuleFlow file to this project.");
-		addSampleRuleFlowButton.setSelection(addSampleRuleFlow);
-		addSampleRuleFlowButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleRuleFlow = ((Button) e.widget).getSelection();
-			}
-		});
-		addSampleJavaRuleFlowCodeButton = createCheckBox(parent,
-			"Add a sample Java class for loading and executing the RuleFlow.");
-		addSampleJavaRuleFlowCodeButton.setSelection(addSampleJavaRuleFlowCode);
-		addSampleJavaRuleFlowCodeButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleJavaRuleFlowCode = ((Button) e.widget).getSelection();
-			}
-		});
-
-	}
-
-	private Button createCheckBox(Composite group, String label) {
-        Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-        button.setText(label);
-        GridData data = new GridData();
-        button.setLayoutData(data);
-        return button;
-    }
-	
-	public boolean createRuleFile() {
-		return addSampleRule;
-	}
-	
-	public boolean createJavaRuleFile() {
-		return addSampleJavaRuleCode;
-	}
-	
-	public boolean createDecisionTableFile() {
-		return addSampleDecisionTableCode;
-	}
-	
-	public boolean createJavaDecisionTableFile() {
-		return addSampleJavaDecisionTableCode;
-	}
-	
-	public boolean createRuleFlowFile() {
-		return addSampleRuleFlow;
-	}
-	
-	public boolean createJavaRuleFlowFile() {
-		return addSampleJavaRuleFlowCode;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,147 @@
+package org.drools.eclipse.wizard.project;
+
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+
+public class NewDroolsProjectWizardPage extends WizardPage {
+
+	private Button addSampleJavaRuleCodeButton;
+	private Button addSampleRuleButton;
+	private Button addSampleJavaDecisionTableCodeButton;
+	private Button addSampleDecisionTableCodeButton;
+	private Button addSampleRuleFlowButton;
+	private Button addSampleJavaRuleFlowCodeButton;
+	private boolean addSampleJavaRuleCode = true;
+	private boolean addSampleRule = true;
+	private boolean addSampleJavaDecisionTableCode = false;
+	private boolean addSampleDecisionTableCode = false;
+	private boolean addSampleJavaRuleFlowCode = false;
+	private boolean addSampleRuleFlow = false;
+	
+	public NewDroolsProjectWizardPage() {
+		super("extendedNewProjectPage");
+		setTitle("New Drools Project");
+        setDescription("Create a new Drools Project");
+	}
+	
+	public void createControl(Composite parent) {
+        Composite composite = new Composite(parent, SWT.NULL);
+        composite.setFont(parent.getFont());
+        composite.setLayout(new GridLayout());
+        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
+        createControls(composite);
+        setPageComplete(true);
+        // Show description on opening
+        setErrorMessage(null);
+        setMessage(null);
+        setControl(composite);
+	}
+	
+	private void createControls(Composite parent) {
+		addSampleRuleButton = createCheckBox(parent,
+			"Add a sample HelloWorld rule file to this project.");
+		addSampleRuleButton.setSelection(addSampleRule);
+		addSampleRuleButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleRule = ((Button) e.widget).getSelection();
+			}
+		});
+		addSampleJavaRuleCodeButton = createCheckBox(parent,
+			"Add a sample Java class for loading and executing the HelloWorld rules.");
+		addSampleJavaRuleCodeButton.setSelection(addSampleJavaRuleCode);
+		addSampleJavaRuleCodeButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleJavaRuleCode = ((Button) e.widget).getSelection();
+			}
+		});
+		addSampleDecisionTableCodeButton = createCheckBox(parent,
+			"Add a sample HelloWorld decision table file to this project.");
+		addSampleDecisionTableCodeButton.setSelection(addSampleDecisionTableCode);
+		addSampleDecisionTableCodeButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleDecisionTableCode = ((Button) e.widget).getSelection();
+			}
+		});
+		addSampleJavaDecisionTableCodeButton = createCheckBox(parent,
+			"Add a sample Java class for loading and executing the HelloWorld decision table.");
+		addSampleJavaDecisionTableCodeButton.setSelection(addSampleDecisionTableCode);
+		addSampleJavaDecisionTableCodeButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleJavaDecisionTableCode = ((Button) e.widget).getSelection();
+			}
+		});
+		addSampleRuleFlowButton = createCheckBox(parent,
+			"Add a sample RuleFlow file to this project.");
+		addSampleRuleFlowButton.setSelection(addSampleRuleFlow);
+		addSampleRuleFlowButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleRuleFlow = ((Button) e.widget).getSelection();
+			}
+		});
+		addSampleJavaRuleFlowCodeButton = createCheckBox(parent,
+			"Add a sample Java class for loading and executing the RuleFlow.");
+		addSampleJavaRuleFlowCodeButton.setSelection(addSampleJavaRuleFlowCode);
+		addSampleJavaRuleFlowCodeButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleJavaRuleFlowCode = ((Button) e.widget).getSelection();
+			}
+		});
+
+	}
+
+	private Button createCheckBox(Composite group, String label) {
+        Button button = new Button(group, SWT.CHECK | SWT.LEFT);
+        button.setText(label);
+        GridData data = new GridData();
+        button.setLayoutData(data);
+        return button;
+    }
+	
+	public boolean createRuleFile() {
+		return addSampleRule;
+	}
+	
+	public boolean createJavaRuleFile() {
+		return addSampleJavaRuleCode;
+	}
+	
+	public boolean createDecisionTableFile() {
+		return addSampleDecisionTableCode;
+	}
+	
+	public boolean createJavaDecisionTableFile() {
+		return addSampleJavaDecisionTableCode;
+	}
+	
+	public boolean createRuleFlowFile() {
+		return addSampleRuleFlow;
+	}
+	
+	public boolean createJavaRuleFlowFile() {
+		return addSampleJavaRuleFlowCode;
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,83 +0,0 @@
-package org.drools.eclipse.wizard.rule;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.text.DateFormat;
-import java.util.Date;
-import java.util.regex.Pattern;
-
-/**
- * This will generate DRL bits and bobs based on various templates.
- * For use by the wizards only. 
- * TODO: move this to string template (as it is being used elsewhere in drools)
- * @author Michael Neale
- */
-public class DRLGenerator {
-
-    private static final Pattern packageDec = Pattern.compile( "\\$package\\$" );
-    private static final Pattern dateDec = Pattern.compile( "\\$date\\$" );
-    private static final Pattern functionsDec = Pattern.compile( "\\$functions\\$" );
-    private static final Pattern expanderDec = Pattern.compile( "\\$expander\\$" );
-    
-    public InputStream generateRule(String packageName,
-                                    InputStream template) throws IOException {
-        
-        String temp = readTemplate( template );
-        temp = doHeader( packageName,
-                         temp );
-        
-        return toStream( temp );
-        
-
-    }
-    
-    public InputStream generatePackage(String packageName, boolean functions, boolean expander, InputStream template) throws IOException {
-        String temp = readTemplate( template );
-        temp = doHeader(packageName, temp );
-        if (functions) {
-            temp = functionsDec.matcher( temp ).replaceFirst( "function myFunction( ... ) " + System.getProperty("line.separator") + "    #function content (can have multiple functions) " + System.getProperty("line.separator") + "end" + System.getProperty("line.separator"));
-        } else {
-            temp = functionsDec.matcher( temp ).replaceFirst( "");
-        }
-        if (expander) {
-            temp = expanderDec.matcher( temp ).replaceFirst( "expander customLanguage.dsl" + System.getProperty("line.separator") + "");
-        } else {
-            temp = expanderDec.matcher( temp ).replaceFirst( "");
-        }
-        return toStream( temp );
-
-        
-    }    
-
-    private ByteArrayInputStream toStream(String temp) throws UnsupportedEncodingException {
-        ByteArrayInputStream stream = new ByteArrayInputStream(temp.getBytes( "UTF-8" ));
-        return stream;
-    }
-
-    private String doHeader(String packageName,
-                            String temp) {
-        temp = packageDec.matcher( temp ).replaceFirst( "package " + packageName + System.getProperty("line.separator") );
-        temp = dateDec.matcher( temp ).replaceFirst( DateFormat.getDateInstance().format( new Date()) );
-        return temp;
-    }
-
-    private String readTemplate(InputStream template) throws IOException {
-        BufferedReader reader = new BufferedReader(new InputStreamReader(template));
-        String line = null;
-        StringBuffer buf = new StringBuffer();
-        while ((line = reader.readLine())  != null) {
-            buf.append(line + System.getProperty("line.separator"));
-        }
-        String temp = buf.toString();
-        return temp;
-    }
-    
-
-
-    
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,83 @@
+package org.drools.eclipse.wizard.rule;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.regex.Pattern;
+
+/**
+ * This will generate DRL bits and bobs based on various templates.
+ * For use by the wizards only. 
+ * TODO: move this to string template (as it is being used elsewhere in drools)
+ * @author Michael Neale
+ */
+public class DRLGenerator {
+
+    private static final Pattern packageDec = Pattern.compile( "\\$package\\$" );
+    private static final Pattern dateDec = Pattern.compile( "\\$date\\$" );
+    private static final Pattern functionsDec = Pattern.compile( "\\$functions\\$" );
+    private static final Pattern expanderDec = Pattern.compile( "\\$expander\\$" );
+    
+    public InputStream generateRule(String packageName,
+                                    InputStream template) throws IOException {
+        
+        String temp = readTemplate( template );
+        temp = doHeader( packageName,
+                         temp );
+        
+        return toStream( temp );
+        
+
+    }
+    
+    public InputStream generatePackage(String packageName, boolean functions, boolean expander, InputStream template) throws IOException {
+        String temp = readTemplate( template );
+        temp = doHeader(packageName, temp );
+        if (functions) {
+            temp = functionsDec.matcher( temp ).replaceFirst( "function myFunction( ... ) " + System.getProperty("line.separator") + "    #function content (can have multiple functions) " + System.getProperty("line.separator") + "end" + System.getProperty("line.separator"));
+        } else {
+            temp = functionsDec.matcher( temp ).replaceFirst( "");
+        }
+        if (expander) {
+            temp = expanderDec.matcher( temp ).replaceFirst( "expander customLanguage.dsl" + System.getProperty("line.separator") + "");
+        } else {
+            temp = expanderDec.matcher( temp ).replaceFirst( "");
+        }
+        return toStream( temp );
+
+        
+    }    
+
+    private ByteArrayInputStream toStream(String temp) throws UnsupportedEncodingException {
+        ByteArrayInputStream stream = new ByteArrayInputStream(temp.getBytes( "UTF-8" ));
+        return stream;
+    }
+
+    private String doHeader(String packageName,
+                            String temp) {
+        temp = packageDec.matcher( temp ).replaceFirst( "package " + packageName + System.getProperty("line.separator") );
+        temp = dateDec.matcher( temp ).replaceFirst( DateFormat.getDateInstance().format( new Date()) );
+        return temp;
+    }
+
+    private String readTemplate(InputStream template) throws IOException {
+        BufferedReader reader = new BufferedReader(new InputStreamReader(template));
+        String line = null;
+        StringBuffer buf = new StringBuffer();
+        while ((line = reader.readLine())  != null) {
+            buf.append(line + System.getProperty("line.separator"));
+        }
+        String temp = buf.toString();
+        return temp;
+    }
+    
+
+
+    
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,194 +0,0 @@
-/*
- * Created on 11-jan-2005
- *
- */
-package org.drools.eclipse.wizard.rule;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * A page to create a new .drl package/package file.
- * There is only one page for this wizard, its very simple.
- * 
- * Enhancements may be made to allow configuration of semantic languages, DSLs (locate a DSL) and other 
- * package level options.
- * 
- * @author Michael Neale
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class NewRulePackagePage extends WizardNewFileCreationPage {
-
-    private static final int TYPE_RULE = 1;
-    private static final int TYPE_PACKAGE = 0;
-    private IWorkbench workbench;
-    private Combo  ruleFileType;
-    private Button  expander;
-    private Button  function;
-    private Text    packageName;
-    
-    
-    public NewRulePackagePage(IWorkbench workbench, IStructuredSelection selection) {
-        super("createDRLFilePage", selection);
-        setTitle("New Rules File");
-        setDescription("Create a new rules file (drl)");
-        this.workbench = workbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        setPageComplete(true);
-        super.setMessage( "Hint: Press CTRL+SPACE when editing rules to get content sensitive assistance/popups.");
-    }
-    
-    
-    protected void createAdvancedControls(Composite parent) {
-        Composite container = new Composite(parent, SWT.NONE);
-        final GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        container.setLayout( layout );
-        setControl( container );
-
-        //setup the controls.
-        createType( container );
-        createDSL( container );
-        createFunctions( container );
-        createPackageName( container );
-        
-        super.createAdvancedControls( parent );
-    }
-
-    private void createPackageName(Composite container) {
-        //package name
-        Label pack = new Label(container, SWT.NONE);
-        pack.setText( "Rule package name:" );
-        pack.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
-        pack.setFont( this.getFont() );
-        packageName = new Text(container, SWT.BORDER);
-        packageName.setLayoutData(  new GridData(GridData.FILL_HORIZONTAL) );
-        packageName.setToolTipText( "Rules require a namespace." );
-        packageName.setFont( this.getFont() );
-    }
-
-    private void createFunctions(Composite container) {
-        //function
-        Label func = new Label(container, SWT.NONE);
-        func.setText( "Use functions:" );
-        func.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
-        func.setFont( this.getFont() );
-        function = new Button(container, SWT.CHECK);
-        function.setSelection( false );
-        function.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING) );
-        function.setToolTipText( "Functions are methods you embed in your rule source." );
-    }
-
-    private void createDSL(Composite container) {
-        //expander
-        Label exp = new Label(container, SWT.NONE);
-        exp.setText( "Use a DSL:" );
-        exp.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
-        exp.setFont( this.getFont() );
-        expander = new Button(container, SWT.CHECK);
-        expander.setSelection( false );
-        expander.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING) );
-        expander.setToolTipText( "Domain Specific Language: allows you to create your own domain specific languages\n for use in rules." );
-    }
-
-    private void createType(Composite container) {
-        //type
-        Label type = new Label(container, SWT.NONE);
-        type.setText( "Type of rule resource:" );
-        type.setFont( this.getFont() );
-        type.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
-        ruleFileType = new Combo( container,
-                           SWT.READ_ONLY);
-        ruleFileType.add( "New DRL (rule package)", TYPE_PACKAGE );
-        ruleFileType.add( "New Rule (individual rule)", TYPE_RULE );
-        ruleFileType.select( 0 );
-        ruleFileType.setLayoutData( new GridData(GridData.FILL_HORIZONTAL) );
-        ruleFileType.setFont( this.getFont() );
-        
-    }
-    
-    public boolean finish() {
-        if (!validate()) {
-            return false;
-        }
-        String fileName = getFileName();
-        String extension = expander.getSelection() ? ".dslr" : ".drl";
-        if (!fileName.endsWith(extension)) {
-            setFileName(fileName + extension);
-        }
-        org.eclipse.core.resources.IFile newFile = createNewFile();
-        if (newFile == null)
-            return false;
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (PartInitException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-        return true;
-    }
-
-    private boolean validate() {
-        if (this.packageName.getText() == null || packageName.getText().equals( "" )) {
-            setErrorMessage( "You must provide a rule package name" );
-            return false;
-        } else {
-            return true;
-        }
-    }
-    
-    protected InputStream getInitialContents() {
-        
-        try {
-        	
-            DRLGenerator gen = new DRLGenerator();
-            if (this.ruleFileType.getSelectionIndex() == TYPE_RULE) {
-                InputStream template = getTemplate("org/drools/eclipse/wizard/rule/new_rule.drl.template");                
-                return gen.generateRule( this.packageName.getText(), 
-                                         template );
-            } else {
-                InputStream template = getTemplate("org/drools/eclipse/wizard/rule/new_package.drl.template");                
-                return gen.generatePackage( this.packageName.getText(), 
-                                            function.getSelection(), 
-                                            expander.getSelection(), 
-                                            template );
-            }
-        } catch (IOException e) {
-            return null;
-        } catch (NullPointerException e) {
-            return null;
-        }
-    }
-
-    private InputStream getTemplate(String templatePath) throws IOException {
-        return DroolsEclipsePlugin.getDefault().getBundle().getResource(templatePath).openStream();
-    }
-    
-
-    
-    
-    
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,194 @@
+/*
+ * Created on 11-jan-2005
+ *
+ */
+package org.drools.eclipse.wizard.rule;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * A page to create a new .drl package/package file.
+ * There is only one page for this wizard, its very simple.
+ * 
+ * Enhancements may be made to allow configuration of semantic languages, DSLs (locate a DSL) and other 
+ * package level options.
+ * 
+ * @author Michael Neale
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class NewRulePackagePage extends WizardNewFileCreationPage {
+
+    private static final int TYPE_RULE = 1;
+    private static final int TYPE_PACKAGE = 0;
+    private IWorkbench workbench;
+    private Combo  ruleFileType;
+    private Button  expander;
+    private Button  function;
+    private Text    packageName;
+    
+    
+    public NewRulePackagePage(IWorkbench workbench, IStructuredSelection selection) {
+        super("createDRLFilePage", selection);
+        setTitle("New Rules File");
+        setDescription("Create a new rules file (drl)");
+        this.workbench = workbench;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        setPageComplete(true);
+        super.setMessage( "Hint: Press CTRL+SPACE when editing rules to get content sensitive assistance/popups.");
+    }
+    
+    
+    protected void createAdvancedControls(Composite parent) {
+        Composite container = new Composite(parent, SWT.NONE);
+        final GridLayout layout = new GridLayout();
+        layout.numColumns = 2;
+        container.setLayout( layout );
+        setControl( container );
+
+        //setup the controls.
+        createType( container );
+        createDSL( container );
+        createFunctions( container );
+        createPackageName( container );
+        
+        super.createAdvancedControls( parent );
+    }
+
+    private void createPackageName(Composite container) {
+        //package name
+        Label pack = new Label(container, SWT.NONE);
+        pack.setText( "Rule package name:" );
+        pack.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
+        pack.setFont( this.getFont() );
+        packageName = new Text(container, SWT.BORDER);
+        packageName.setLayoutData(  new GridData(GridData.FILL_HORIZONTAL) );
+        packageName.setToolTipText( "Rules require a namespace." );
+        packageName.setFont( this.getFont() );
+    }
+
+    private void createFunctions(Composite container) {
+        //function
+        Label func = new Label(container, SWT.NONE);
+        func.setText( "Use functions:" );
+        func.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
+        func.setFont( this.getFont() );
+        function = new Button(container, SWT.CHECK);
+        function.setSelection( false );
+        function.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING) );
+        function.setToolTipText( "Functions are methods you embed in your rule source." );
+    }
+
+    private void createDSL(Composite container) {
+        //expander
+        Label exp = new Label(container, SWT.NONE);
+        exp.setText( "Use a DSL:" );
+        exp.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
+        exp.setFont( this.getFont() );
+        expander = new Button(container, SWT.CHECK);
+        expander.setSelection( false );
+        expander.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING) );
+        expander.setToolTipText( "Domain Specific Language: allows you to create your own domain specific languages\n for use in rules." );
+    }
+
+    private void createType(Composite container) {
+        //type
+        Label type = new Label(container, SWT.NONE);
+        type.setText( "Type of rule resource:" );
+        type.setFont( this.getFont() );
+        type.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
+        ruleFileType = new Combo( container,
+                           SWT.READ_ONLY);
+        ruleFileType.add( "New DRL (rule package)", TYPE_PACKAGE );
+        ruleFileType.add( "New Rule (individual rule)", TYPE_RULE );
+        ruleFileType.select( 0 );
+        ruleFileType.setLayoutData( new GridData(GridData.FILL_HORIZONTAL) );
+        ruleFileType.setFont( this.getFont() );
+        
+    }
+    
+    public boolean finish() {
+        if (!validate()) {
+            return false;
+        }
+        String fileName = getFileName();
+        String extension = expander.getSelection() ? ".dslr" : ".drl";
+        if (!fileName.endsWith(extension)) {
+            setFileName(fileName + extension);
+        }
+        org.eclipse.core.resources.IFile newFile = createNewFile();
+        if (newFile == null)
+            return false;
+        try {
+            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
+            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
+            if (page != null)
+                IDE.openEditor(page, newFile, true);
+        } catch (PartInitException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+        return true;
+    }
+
+    private boolean validate() {
+        if (this.packageName.getText() == null || packageName.getText().equals( "" )) {
+            setErrorMessage( "You must provide a rule package name" );
+            return false;
+        } else {
+            return true;
+        }
+    }
+    
+    protected InputStream getInitialContents() {
+        
+        try {
+        	
+            DRLGenerator gen = new DRLGenerator();
+            if (this.ruleFileType.getSelectionIndex() == TYPE_RULE) {
+                InputStream template = getTemplate("org/drools/eclipse/wizard/rule/new_rule.drl.template");                
+                return gen.generateRule( this.packageName.getText(), 
+                                         template );
+            } else {
+                InputStream template = getTemplate("org/drools/eclipse/wizard/rule/new_package.drl.template");                
+                return gen.generatePackage( this.packageName.getText(), 
+                                            function.getSelection(), 
+                                            expander.getSelection(), 
+                                            template );
+            }
+        } catch (IOException e) {
+            return null;
+        } catch (NullPointerException e) {
+            return null;
+        }
+    }
+
+    private InputStream getTemplate(String templatePath) throws IOException {
+        return DroolsEclipsePlugin.getDefault().getBundle().getResource(templatePath).openStream();
+    }
+    
+
+    
+    
+    
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,41 +0,0 @@
-package org.drools.eclipse.wizard.rule;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * This is a wizard to create a new .drl file (for example a rule or a whole rule package).
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- * @author Michael Neale
- */
-public class NewRulePackageWizard extends Wizard implements INewWizard {
-
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    private NewRulePackagePage mainPage;
-    
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle("New Rule Package...");
-        
-    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
-        setDefaultPageImageDescriptor(desc);
-    }
-    
-    public void addPages() {
-        mainPage = new NewRulePackagePage(workbench, selection);
-        addPage(mainPage);
-     }
-
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-    
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,41 @@
+package org.drools.eclipse.wizard.rule;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+/**
+ * This is a wizard to create a new .drl file (for example a rule or a whole rule package).
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ * @author Michael Neale
+ */
+public class NewRulePackageWizard extends Wizard implements INewWizard {
+
+    private IWorkbench workbench;
+    private IStructuredSelection selection;
+    private NewRulePackagePage mainPage;
+    
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.workbench = workbench;
+        this.selection = selection;
+        setWindowTitle("New Rule Package...");
+        
+    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
+        setDefaultPageImageDescriptor(desc);
+    }
+    
+    public void addPages() {
+        mainPage = new NewRulePackagePage(workbench, selection);
+        addPage(mainPage);
+     }
+
+    public boolean performFinish() {
+        return mainPage.finish();
+    }
+    
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link AccumulateNode} and adds visual extras like color information
- *
- */
-public class AccumulateNodeVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "AccumulateNode";
-    
-    private final AccumulateNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public AccumulateNodeVertex(final AccumulateNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.lightGreen;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link AccumulateNode} and adds visual extras like color information
+ *
+ */
+public class AccumulateNodeVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "AccumulateNode";
+    
+    private final AccumulateNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public AccumulateNodeVertex(final AccumulateNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.lightGreen;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,119 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.drools.base.ClassFieldExtractor;
-import org.drools.rule.LiteralConstraint;
-import org.drools.spi.AlphaNodeFieldConstraint;
-import org.drools.spi.Constraint;
-import org.drools.spi.FieldExtractor;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link AlphaNode} and adds visual extras like color information
- *
- */
-public class AlphaNodeVertex extends BaseVertex {
-
-    private final AlphaNode node;
-
-    private final String    NODE_NAME = "AlphaNode";
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public AlphaNodeVertex(final AlphaNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
-        if (constraint instanceof LiteralConstraint) {
-        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
-            FieldExtractor extractor = literalConstraint.getFieldExtractor();
-            if (extractor instanceof ClassFieldExtractor) {
-            	ClassFieldExtractor classFieldExtractor = (ClassFieldExtractor) extractor;
-            	return NODE_NAME + "<BR/>field : " + classFieldExtractor.getFieldName() + "<BR/>evaluator : " + literalConstraint.getEvaluator() + "<BR/>value :  " + literalConstraint.getField();
-            }
-        }
-        return NODE_NAME + "<BR/>";
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return this.node.toString();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.blue;
-    }
-
-    /**
-     * Constraint has field extractor and this method is returning fieldName
-     * it.
-     * 
-     * @return field name
-     */
-    public String getFieldName() {
-    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
-        if (constraint instanceof LiteralConstraint) {
-        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
-            FieldExtractor extractor = literalConstraint.getFieldExtractor();
-            if (extractor instanceof ClassFieldExtractor) {
-            	return ((ClassFieldExtractor) extractor).getFieldName();
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Constraint's evaluator string
-     * 
-     * @return evaluator string
-     */
-    public String getEvaluator() {
-    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
-        if (constraint instanceof LiteralConstraint) {
-        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
-        	return literalConstraint.getEvaluator().toString();
-        }
-        return null;
-    }
-
-    /**
-     * Constraint field string
-     * 
-     * @return field string
-     */
-    public String getValue() {
-    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
-        if (constraint instanceof LiteralConstraint) {
-        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
-        	return literalConstraint.getField().toString();
-        }
-        return null;
-    }
-
-    /**
-     * Constraint
-     * 
-     * @return constraint
-     */
-    public Constraint getConstraint() {
-        return this.node.getConstraint();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,119 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.drools.base.ClassFieldExtractor;
+import org.drools.rule.LiteralConstraint;
+import org.drools.spi.AlphaNodeFieldConstraint;
+import org.drools.spi.Constraint;
+import org.drools.spi.FieldExtractor;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link AlphaNode} and adds visual extras like color information
+ *
+ */
+public class AlphaNodeVertex extends BaseVertex {
+
+    private final AlphaNode node;
+
+    private final String    NODE_NAME = "AlphaNode";
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public AlphaNodeVertex(final AlphaNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
+        if (constraint instanceof LiteralConstraint) {
+        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
+            FieldExtractor extractor = literalConstraint.getFieldExtractor();
+            if (extractor instanceof ClassFieldExtractor) {
+            	ClassFieldExtractor classFieldExtractor = (ClassFieldExtractor) extractor;
+            	return NODE_NAME + "<BR/>field : " + classFieldExtractor.getFieldName() + "<BR/>evaluator : " + literalConstraint.getEvaluator() + "<BR/>value :  " + literalConstraint.getField();
+            }
+        }
+        return NODE_NAME + "<BR/>";
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return this.node.toString();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.blue;
+    }
+
+    /**
+     * Constraint has field extractor and this method is returning fieldName
+     * it.
+     * 
+     * @return field name
+     */
+    public String getFieldName() {
+    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
+        if (constraint instanceof LiteralConstraint) {
+        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
+            FieldExtractor extractor = literalConstraint.getFieldExtractor();
+            if (extractor instanceof ClassFieldExtractor) {
+            	return ((ClassFieldExtractor) extractor).getFieldName();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Constraint's evaluator string
+     * 
+     * @return evaluator string
+     */
+    public String getEvaluator() {
+    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
+        if (constraint instanceof LiteralConstraint) {
+        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
+        	return literalConstraint.getEvaluator().toString();
+        }
+        return null;
+    }
+
+    /**
+     * Constraint field string
+     * 
+     * @return field string
+     */
+    public String getValue() {
+    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
+        if (constraint instanceof LiteralConstraint) {
+        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
+        	return literalConstraint.getField().toString();
+        }
+        return null;
+    }
+
+    /**
+     * Constraint
+     * 
+     * @return constraint
+     */
+    public Constraint getConstraint() {
+        return this.node.getConstraint();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,33 +0,0 @@
-/*
- * Copyright 2006 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.
- */
-package org.drools.reteoo;
-
-import org.drools.eclipse.editors.rete.model.GraphicalVertex;
-
-/**
- * Intermediate class to have a workaround for *Node default visibility  
- * and ReteooVisitor.
- * 
- * It's not good to have {@link GraphicalVertex} dependency in
- * org.drools.reteoo package. 
- * 
- * @author Ahti Kitsik
- *
- */
-abstract public class BaseVertex extends GraphicalVertex {
-
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2006 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.
+ */
+package org.drools.reteoo;
+
+import org.drools.eclipse.editors.rete.model.GraphicalVertex;
+
+/**
+ * Intermediate class to have a workaround for *Node default visibility  
+ * and ReteooVisitor.
+ * 
+ * It's not good to have {@link GraphicalVertex} dependency in
+ * org.drools.reteoo package. 
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+abstract public class BaseVertex extends GraphicalVertex {
+
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link CollectNode} and adds visual extras like color information
- *
- */
-public class CollectNodeVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "CollectNode";
-    
-    private final CollectNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public CollectNodeVertex(final CollectNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId() + " : Chared count = " + this.node.getSharedCount();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.lightGray;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link CollectNode} and adds visual extras like color information
+ *
+ */
+public class CollectNodeVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "CollectNode";
+    
+    private final CollectNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public CollectNodeVertex(final CollectNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId() + " : Chared count = " + this.node.getSharedCount();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.lightGray;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,57 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link EvalConditionNode} and adds visual extras like color information
- *
- */
-public class EvalConditionNodeVertex extends BaseVertex {
-    
-    private static final String     NODE_NAME = "EvalConditionNode";
-    private final EvalConditionNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public EvalConditionNodeVertex(final EvalConditionNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME + " : " + this.node.getId();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return node id
-     */
-    public int getId() {
-        return node.getId();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.white;
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,57 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link EvalConditionNode} and adds visual extras like color information
+ *
+ */
+public class EvalConditionNodeVertex extends BaseVertex {
+    
+    private static final String     NODE_NAME = "EvalConditionNode";
+    private final EvalConditionNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public EvalConditionNodeVertex(final EvalConditionNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + " : " + this.node.getId();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return node id
+     */
+    public int getId() {
+        return node.getId();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.white;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link ExistsNode} and adds visual extras like color information
- *
- */
-public class ExistsNodeVertex extends BaseVertex {
-
-    private static final String NODE_NAME = "ExistsNode";
-
-    private final ExistsNode    node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public ExistsNodeVertex(final ExistsNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME + " : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.cyan;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link ExistsNode} and adds visual extras like color information
+ *
+ */
+public class ExistsNodeVertex extends BaseVertex {
+
+    private static final String NODE_NAME = "ExistsNode";
+
+    private final ExistsNode    node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public ExistsNodeVertex(final ExistsNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + " : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.cyan;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link FromNode} and adds visual extras like color information
- *
- */
-public class FromNodeVertex extends BaseVertex {
-
-    private static final String NODE_NAME = "FromNode";
-
-    private final FromNode      node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public FromNodeVertex(final FromNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME + " : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.lightBlue;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link FromNode} and adds visual extras like color information
+ *
+ */
+public class FromNodeVertex extends BaseVertex {
+
+    private static final String NODE_NAME = "FromNode";
+
+    private final FromNode      node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public FromNodeVertex(final FromNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + " : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.lightBlue;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,69 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.drools.spi.Constraint;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link JoinNode} and adds visual extras like color information
- *
- */
-public class JoinNodeVertex extends BaseVertex {
-
-    private static final String NODE_NAME = "JoinNode";
-
-    private final JoinNode      node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public JoinNodeVertex(final JoinNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME + "<BR/>" + dumpConstraints( this.node.getConstraints() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.green;
-    }
-
-    /**
-     * Node constraints
-     * 
-     * @return array of constraints
-     */
-    public Constraint[] getConstraints() {
-        return node.getConstraints();
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return node id
-     */
-    public int getId() {
-        return node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,69 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.drools.spi.Constraint;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link JoinNode} and adds visual extras like color information
+ *
+ */
+public class JoinNodeVertex extends BaseVertex {
+
+    private static final String NODE_NAME = "JoinNode";
+
+    private final JoinNode      node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public JoinNodeVertex(final JoinNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + "<BR/>" + dumpConstraints( this.node.getConstraints() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.green;
+    }
+
+    /**
+     * Node constraints
+     * 
+     * @return array of constraints
+     */
+    public Constraint[] getConstraints() {
+        return node.getConstraints();
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return node id
+     */
+    public int getId() {
+        return node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,50 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link LeftInputAdapterNode} and adds visual extras like color information
- *
- */
-public class LeftInputAdapterNodeVertex extends BaseVertex {
-
-    private static final String        NODE_NAME = "LeftInputAdapterNode";
-
-    private final LeftInputAdapterNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public LeftInputAdapterNodeVertex(final LeftInputAdapterNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return this.node.toString();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.yellow;
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,50 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link LeftInputAdapterNode} and adds visual extras like color information
+ *
+ */
+public class LeftInputAdapterNodeVertex extends BaseVertex {
+
+    private static final String        NODE_NAME = "LeftInputAdapterNode";
+
+    private final LeftInputAdapterNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public LeftInputAdapterNodeVertex(final LeftInputAdapterNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return this.node.toString();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.yellow;
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link NotNode} and adds visual extras like color information
- *
- */
-public class NotNodeVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "NotNode";
-    
-    private final NotNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public NotNodeVertex(final NotNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.cyan;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return node id
-     */
-    public int getId() {
-        return node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link NotNode} and adds visual extras like color information
+ *
+ */
+public class NotNodeVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "NotNode";
+    
+    private final NotNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public NotNodeVertex(final NotNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.cyan;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return node id
+     */
+    public int getId() {
+        return node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.drools.spi.ObjectType;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link ObjectTypeNode} and adds visual extras like color information
- *
- */
-public class ObjectTypeNodeVertex extends BaseVertex {
-
-    private static final String  NODE_NAME = "ObjectTypeNode";
-
-    private final ObjectTypeNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public ObjectTypeNodeVertex(final ObjectTypeNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME + " : " + this.node.getObjectType();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.red;
-    }
-
-    /**
-     * {@link ObjectType} as {@link String}
-     * 
-     * @return object type as string
-     */
-    public String getObjectType() {
-        return node.getObjectType().toString();
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.drools.spi.ObjectType;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link ObjectTypeNode} and adds visual extras like color information
+ *
+ */
+public class ObjectTypeNodeVertex extends BaseVertex {
+
+    private static final String  NODE_NAME = "ObjectTypeNode";
+
+    private final ObjectTypeNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public ObjectTypeNodeVertex(final ObjectTypeNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + " : " + this.node.getObjectType();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.red;
+    }
+
+    /**
+     * {@link ObjectType} as {@link String}
+     * 
+     * @return object type as string
+     */
+    public String getObjectType() {
+        return node.getObjectType().toString();
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,66 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link QueryTerminalNode} and adds visual extras like color information
- *
- */
-public class QueryTerminalNodeVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "QueryTerminalNode";
-    
-    private final QueryTerminalNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public QueryTerminalNodeVertex(final QueryTerminalNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId() + " : " + this.node.getRule();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.darkGray;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-    /**
-     * @return
-     */
-    public String getQueryName() {
-        return node.getRule().getName();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,66 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link QueryTerminalNode} and adds visual extras like color information
+ *
+ */
+public class QueryTerminalNodeVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "QueryTerminalNode";
+    
+    private final QueryTerminalNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public QueryTerminalNodeVertex(final QueryTerminalNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId() + " : " + this.node.getRule();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.darkGray;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+    /**
+     * @return
+     */
+    public String getQueryName() {
+        return node.getRule().getName();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link Rete} and adds visual extras like color information
- *
- */
-public class ReteVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "Rete";
-    
-    private final Rete node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public ReteVertex(final Rete node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return node id
-     */
-    public int getId() {
-        return node.getId();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.white;
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link Rete} and adds visual extras like color information
+ *
+ */
+public class ReteVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "Rete";
+    
+    private final Rete node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public ReteVertex(final Rete node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return node id
+     */
+    public int getId() {
+        return node.getId();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.white;
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,149 +0,0 @@
-package org.drools.reteoo;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.common.BaseNode;
-import org.drools.eclipse.editors.rete.model.Connection;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.util.Iterator;
-import org.drools.util.ObjectHashMap;
-import org.drools.util.ReflectiveVisitor;
-import org.drools.util.ObjectHashMap.ObjectEntry;
-
-/**
- * Produces a graph in GraphViz DOT format.
- *
- * @see http://www.research.att.com/sw/tools/graphviz/ 
- * @see http://www.pixelglow.com/graphviz/
- *
- * @author Andy Barnett
- */
-public class ReteooVisitor extends ReflectiveVisitor {
-
-    private static final String PACKAGE_NAME = "org.drools.reteoo.";
-
-    /**
-     * Keeps track of visited JoinNode DOT IDs. This mapping allows the visitor
-     * to recognize JoinNodes it has already visited and as a consequence link
-     * existing nodes back together. This is vital to the Visitor being able to
-     * link two JoinNodeInputs together through their common JoinNode.
-     */
-    private final Map           visitedNodes = new HashMap();
-
-    private ReteGraph           graph;
-
-    private BaseVertex          rootVertex;
-
-    private BaseVertex          parentVertex;
-
-    /**
-     * Constructor.
-     */
-    public ReteooVisitor(final ReteGraph graph) {
-        this.graph = graph;
-    }
-
-    public ReteGraph getGraph() {
-        return this.graph;
-    }
-
-    public BaseVertex getRootVertex() {
-        return this.rootVertex;
-    }
-
-    /**
-     * RuleBaseImpl visits its Rete.
-     */
-    public void visitReteooRuleBase(final ReteooRuleBase ruleBase) {
-        visit( (ruleBase).getRete() );
-    }
-
-    /**
-     * Rete visits each of its ObjectTypeNodes.
-     */
-    public void visitRete(final Rete rete) {
-        this.rootVertex = (ReteVertex) this.visitedNodes.get( dotId( rete ) );
-        if ( this.rootVertex == null ) {
-            this.rootVertex = new ReteVertex( rete );
-            this.visitedNodes.put( dotId( rete ),
-                                   this.rootVertex );
-        }
-
-        this.graph.addChild( this.rootVertex );
-        this.parentVertex = this.rootVertex;
-
-        final ObjectHashMap map = rete.getObjectTypeNodes();
-
-        final Iterator it = map.iterator();
-        for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
-            visit( entry.getValue() );
-        }
-
-    }
-
-    public void visitBaseNode(final BaseNode node) {
-        BaseVertex vertex = (BaseVertex) this.visitedNodes.get( dotId( node ) );
-        if ( vertex == null ) {
-            try {
-                String name = node.getClass().getName();
-                name = name.substring( name.lastIndexOf( '.' ) + 1 ) + "Vertex";
-                final Class clazz = Class.forName( PACKAGE_NAME + name );
-                vertex = (BaseVertex) clazz.getConstructor( new Class[]{node.getClass()} ).newInstance( new Object[]{node} );
-            } catch ( final Exception e ) {
-                throw new RuntimeException( "problem visiting vertex " + node.getClass().getName(),
-                                            e );
-            }
-            this.graph.addChild( vertex );
-            this.visitedNodes.put( dotId( node ),
-                                   vertex );
-
-            new Connection( this.parentVertex,
-                            vertex );
-
-            final BaseVertex oldParentVertex = this.parentVertex;
-            this.parentVertex = vertex;
-
-            List list = null;
-            if ( node instanceof ObjectSource ) {
-                list = Arrays.asList( ((ObjectSource) node).getSinkPropagator().getSinks() );
-            } else if ( node instanceof TupleSource ) {
-                list = Arrays.asList( ((TupleSource) node).getSinkPropagator().getSinks() );
-            }
-
-            if ( list != null ) {
-                for ( final java.util.Iterator it = list.iterator(); it.hasNext(); ) {
-                    final Object nextNode = it.next();
-                    visitNode( nextNode );
-                }
-            }
-            this.parentVertex = oldParentVertex;
-        } else {
-            new Connection( this.parentVertex,
-                            vertex );
-        }
-    }
-
-    /**
-     * Helper method to ensure nodes are not visited more than once.
-     */
-    private void visitNode(final Object node) {
-        Object realNode = node;
-        if ( node instanceof ObjectHashMap.ObjectEntry ) {
-            ObjectHashMap.ObjectEntry entry = (ObjectHashMap.ObjectEntry) node;
-            realNode = entry.getValue();
-        }
-        visit( realNode );
-    }
-
-    /**
-     * The identity hashCode for the given object is used as its unique DOT
-     * identifier.
-     */
-    private static String dotId(final Object object) {
-        return Integer.toHexString( System.identityHashCode( object ) ).toUpperCase();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,149 @@
+package org.drools.reteoo;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.common.BaseNode;
+import org.drools.eclipse.editors.rete.model.Connection;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.util.Iterator;
+import org.drools.util.ObjectHashMap;
+import org.drools.util.ReflectiveVisitor;
+import org.drools.util.ObjectHashMap.ObjectEntry;
+
+/**
+ * Produces a graph in GraphViz DOT format.
+ *
+ * @see http://www.research.att.com/sw/tools/graphviz/ 
+ * @see http://www.pixelglow.com/graphviz/
+ *
+ * @author Andy Barnett
+ */
+public class ReteooVisitor extends ReflectiveVisitor {
+
+    private static final String PACKAGE_NAME = "org.drools.reteoo.";
+
+    /**
+     * Keeps track of visited JoinNode DOT IDs. This mapping allows the visitor
+     * to recognize JoinNodes it has already visited and as a consequence link
+     * existing nodes back together. This is vital to the Visitor being able to
+     * link two JoinNodeInputs together through their common JoinNode.
+     */
+    private final Map           visitedNodes = new HashMap();
+
+    private ReteGraph           graph;
+
+    private BaseVertex          rootVertex;
+
+    private BaseVertex          parentVertex;
+
+    /**
+     * Constructor.
+     */
+    public ReteooVisitor(final ReteGraph graph) {
+        this.graph = graph;
+    }
+
+    public ReteGraph getGraph() {
+        return this.graph;
+    }
+
+    public BaseVertex getRootVertex() {
+        return this.rootVertex;
+    }
+
+    /**
+     * RuleBaseImpl visits its Rete.
+     */
+    public void visitReteooRuleBase(final ReteooRuleBase ruleBase) {
+        visit( (ruleBase).getRete() );
+    }
+
+    /**
+     * Rete visits each of its ObjectTypeNodes.
+     */
+    public void visitRete(final Rete rete) {
+        this.rootVertex = (ReteVertex) this.visitedNodes.get( dotId( rete ) );
+        if ( this.rootVertex == null ) {
+            this.rootVertex = new ReteVertex( rete );
+            this.visitedNodes.put( dotId( rete ),
+                                   this.rootVertex );
+        }
+
+        this.graph.addChild( this.rootVertex );
+        this.parentVertex = this.rootVertex;
+
+        final ObjectHashMap map = rete.getObjectTypeNodes();
+
+        final Iterator it = map.iterator();
+        for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
+            visit( entry.getValue() );
+        }
+
+    }
+
+    public void visitBaseNode(final BaseNode node) {
+        BaseVertex vertex = (BaseVertex) this.visitedNodes.get( dotId( node ) );
+        if ( vertex == null ) {
+            try {
+                String name = node.getClass().getName();
+                name = name.substring( name.lastIndexOf( '.' ) + 1 ) + "Vertex";
+                final Class clazz = Class.forName( PACKAGE_NAME + name );
+                vertex = (BaseVertex) clazz.getConstructor( new Class[]{node.getClass()} ).newInstance( new Object[]{node} );
+            } catch ( final Exception e ) {
+                throw new RuntimeException( "problem visiting vertex " + node.getClass().getName(),
+                                            e );
+            }
+            this.graph.addChild( vertex );
+            this.visitedNodes.put( dotId( node ),
+                                   vertex );
+
+            new Connection( this.parentVertex,
+                            vertex );
+
+            final BaseVertex oldParentVertex = this.parentVertex;
+            this.parentVertex = vertex;
+
+            List list = null;
+            if ( node instanceof ObjectSource ) {
+                list = Arrays.asList( ((ObjectSource) node).getSinkPropagator().getSinks() );
+            } else if ( node instanceof TupleSource ) {
+                list = Arrays.asList( ((TupleSource) node).getSinkPropagator().getSinks() );
+            }
+
+            if ( list != null ) {
+                for ( final java.util.Iterator it = list.iterator(); it.hasNext(); ) {
+                    final Object nextNode = it.next();
+                    visitNode( nextNode );
+                }
+            }
+            this.parentVertex = oldParentVertex;
+        } else {
+            new Connection( this.parentVertex,
+                            vertex );
+        }
+    }
+
+    /**
+     * Helper method to ensure nodes are not visited more than once.
+     */
+    private void visitNode(final Object node) {
+        Object realNode = node;
+        if ( node instanceof ObjectHashMap.ObjectEntry ) {
+            ObjectHashMap.ObjectEntry entry = (ObjectHashMap.ObjectEntry) node;
+            realNode = entry.getValue();
+        }
+        visit( realNode );
+    }
+
+    /**
+     * The identity hashCode for the given object is used as its unique DOT
+     * identifier.
+     */
+    private static String dotId(final Object object) {
+        return Integer.toHexString( System.identityHashCode( object ) ).toUpperCase();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,38 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link RightInputAdapterNode} and adds visual extras like color information
- *
- */
-public class RightInputAdapterNodeVertex extends BaseVertex {
-
-    private static final String NODE_NAME = "RightInputAdapterNode";
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public RightInputAdapterNodeVertex(final RightInputAdapterNode node) {
-        super();
-    }
-
-    public String getHtml() {
-        return NODE_NAME;
-    }
-
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    public Color getFillColor() {
-        return ColorConstants.orange;
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,38 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link RightInputAdapterNode} and adds visual extras like color information
+ *
+ */
+public class RightInputAdapterNodeVertex extends BaseVertex {
+
+    private static final String NODE_NAME = "RightInputAdapterNode";
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public RightInputAdapterNodeVertex(final RightInputAdapterNode node) {
+        super();
+    }
+
+    public String getHtml() {
+        return NODE_NAME;
+    }
+
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    public Color getFillColor() {
+        return ColorConstants.orange;
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,66 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link TerminalNode} and adds visual extras like color information
- *
- */
-public class RuleTerminalNodeVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "TerminalNode";
-    
-    private final RuleTerminalNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public RuleTerminalNodeVertex(final RuleTerminalNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId() + " : " + this.node.getRule();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.darkGray;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-    /**
-     * @return
-     */
-    public String getRuleName() {
-        return node.getRule().getName();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,66 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link TerminalNode} and adds visual extras like color information
+ *
+ */
+public class RuleTerminalNodeVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "TerminalNode";
+    
+    private final RuleTerminalNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public RuleTerminalNodeVertex(final RuleTerminalNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId() + " : " + this.node.getRule();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.darkGray;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+    /**
+     * @return
+     */
+    public String getRuleName() {
+        return node.getRule().getName();
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,43 +0,0 @@
-# this contains the java keywords for syntax highlighting
-# all java keywords are present, those that are not relevant are commented out
-
-# abstract
-# assert
-break
-case
-catch
-# class
-# const
-continue
-default
-do
-else
-# enum
-# extends
-final
-finally
-for
-goto
-if
-# implements
-# import
-instanceof
-# interface
-# native
-new
-# package
-# private
-# protected
-# public
-return
-# static
-# super
-switch
-# synchronized
-# this
-throw
-# throws
-# transient
-try
-# volatile
-while
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,43 @@
+# this contains the java keywords for syntax highlighting
+# all java keywords are present, those that are not relevant are commented out
+
+# abstract
+# assert
+break
+case
+catch
+# class
+# const
+continue
+default
+do
+else
+# enum
+# extends
+final
+finally
+for
+goto
+if
+# implements
+# import
+instanceof
+# interface
+# native
+new
+# package
+# private
+# protected
+# public
+return
+# static
+# super
+switch
+# synchronized
+# this
+throw
+# throws
+# transient
+try
+# volatile
+while
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,46 +0,0 @@
-# This contains the keywords for syntax highlighting.
-when
-then
-rule
-end
-update
-modify
-retract
-insert
-insertLogical
-salience
-import
-expander
-package
-function
-global
-query
-exists
-eval
-agenda-group
-lock-on-active
-no-loop
-duration
-->
-not
-auto-focus
-activation-group
-new
-contains
-matches
-excludes
-template
-from
-accumulate
-collect
-date-effective
-date-expires
-enabled
-forall
-dialect
-ruleflow-group
-modifyRetract
-modifyInsert
-memberOf
-and
-or
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,46 @@
+# This contains the keywords for syntax highlighting.
+when
+then
+rule
+end
+update
+modify
+retract
+insert
+insertLogical
+salience
+import
+expander
+package
+function
+global
+query
+exists
+eval
+agenda-group
+lock-on-active
+no-loop
+duration
+->
+not
+auto-focus
+activation-group
+new
+contains
+matches
+excludes
+template
+from
+accumulate
+collect
+date-effective
+date-expires
+enabled
+forall
+dialect
+ruleflow-group
+modifyRetract
+modifyInsert
+memberOf
+and
+or
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,20 +0,0 @@
-# this contains the mvel keywords for syntax highlighting
-if
-else
-foreach
-switch
-var
-while
-do
-for
-return
-instanceof
-is
-contains
-soundslike
-strsim
-convertable_to
-new
-in
-with
-

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,20 @@
+# this contains the mvel keywords for syntax highlighting
+if
+else
+foreach
+switch
+var
+while
+do
+for
+return
+instanceof
+is
+contains
+soundslike
+strsim
+convertable_to
+new
+in
+with
+

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,20 +0,0 @@
-###############################################################################
-# Used to configure content assistance
-###############################################################################
-
-## Actions ##
-
-ContentAssistProposal.label=Content Assist at Ctrl+SPACE
-ContentAssistProposal.tooltip=Content Assist
-ContentAssistProposal.image=
-ContentAssistProposal.description=Content Assist
-
-ContentAssistTip.label=Content Tip at Ctrl+SHIFT+SPACE
-ContentAssistTip.tooltip=Content Tip
-ContentAssistTip.image=
-ContentAssistTip.description=Content Tip
-
-DefineFoldingRegion.label=Define Folding Region
-DefineFoldingRegion.tooltip=Define Folding Region
-DefineFoldingRegion.image=
-DefineFoldingRegion.description=Define Folding Region

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,20 @@
+###############################################################################
+# Used to configure content assistance
+###############################################################################
+
+## Actions ##
+
+ContentAssistProposal.label=Content Assist at Ctrl+SPACE
+ContentAssistProposal.tooltip=Content Assist
+ContentAssistProposal.image=
+ContentAssistProposal.description=Content Assist
+
+ContentAssistTip.label=Content Tip at Ctrl+SHIFT+SPACE
+ContentAssistTip.tooltip=Content Tip
+ContentAssistTip.image=
+ContentAssistTip.description=Content Tip
+
+DefineFoldingRegion.label=Define Folding Region
+DefineFoldingRegion.tooltip=Define Folding Region
+DefineFoldingRegion.image=
+DefineFoldingRegion.description=Define Folding Region

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,44 +0,0 @@
-<org.drools.eclipse.flow.ruleflow.core.WorkflowProcessWrapper id="1" serialization="custom">
-  <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
-    <default>
-      <elements id="2">
-        <entry>
-          <string>1-Wrapper</string>
-          <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper id="3" serialization="custom">
-            <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-              <default>
-                <constraint id="4">
-                  <x>100</x>
-                  <y>100</y>
-                  <width>80</width>
-                  <height>40</height>
-                </constraint>
-                <element class="org.drools.ruleflow.core.impl.StartNode" id="5">
-                  <id>1</id>
-                  <name>Start</name>
-                  <incomingConnections id="6"/>
-                  <outgoingConnections id="7"/>
-                </element>
-                <incomingConnections id="8"/>
-                <outgoingConnections id="9"/>
-              </default>
-            </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-          </org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper>
-        </entry>
-      </elements>
-      <process class="org.drools.ruleflow.core.impl.RuleFlowProcess" id="10">
-        <nodes id="11">
-          <entry>
-            <long>1</long>
-            <org.drools.ruleflow.core.impl.StartNode reference="5"/>
-          </entry>
-        </nodes>
-        <variables id="12"/>
-        <lastNodeId>1</lastNodeId>
-        <id>0</id>
-        <name>flow</name>
-        <type>Workflow</type>
-      </process>
-    </default>
-  </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
-</org.drools.eclipse.flow.ruleflow.core.WorkflowProcessWrapper>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,44 @@
+<org.drools.eclipse.flow.ruleflow.core.WorkflowProcessWrapper id="1" serialization="custom">
+  <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+    <default>
+      <elements id="2">
+        <entry>
+          <string>1-Wrapper</string>
+          <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper id="3" serialization="custom">
+            <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+              <default>
+                <constraint id="4">
+                  <x>100</x>
+                  <y>100</y>
+                  <width>80</width>
+                  <height>40</height>
+                </constraint>
+                <element class="org.drools.ruleflow.core.impl.StartNode" id="5">
+                  <id>1</id>
+                  <name>Start</name>
+                  <incomingConnections id="6"/>
+                  <outgoingConnections id="7"/>
+                </element>
+                <incomingConnections id="8"/>
+                <outgoingConnections id="9"/>
+              </default>
+            </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+          </org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper>
+        </entry>
+      </elements>
+      <process class="org.drools.ruleflow.core.impl.RuleFlowProcess" id="10">
+        <nodes id="11">
+          <entry>
+            <long>1</long>
+            <org.drools.ruleflow.core.impl.StartNode reference="5"/>
+          </entry>
+        </nodes>
+        <variables id="12"/>
+        <lastNodeId>1</lastNodeId>
+        <id>0</id>
+        <name>flow</name>
+        <type>Workflow</type>
+      </process>
+    </default>
+  </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+</org.drools.eclipse.flow.ruleflow.core.WorkflowProcessWrapper>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/template.xls
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/template.xls (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/template.xls)
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,9 +0,0 @@
-#This is a starter DSL to show off some of the features. Make sure you change it to be what you need !.
-[when]There is an Instance with field of "{value}"=i: Instance(field=="{value}")
-[when]Instance is at least {number} and field is "{value}"=i: Instance(number > {number}, location=="{value}")
-[then]Log : "{message}"=System.out.println("{message}");
-[then]Set field of instance to "{value}"=i.setField("{value}");
-[then]Create instance : "{value}"=insert(new Instance("{value}"));
-[when]There is no current Instance with field : "{value}"=not Instance(field == "{value}")
-[then]Report error : "{error}"=System.err.println("{error}");
-[then]Retract the fact : '{variable}'=retract({variable}); //this would retract bound variable {variable}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,9 @@
+#This is a starter DSL to show off some of the features. Make sure you change it to be what you need !.
+[when]There is an Instance with field of "{value}"=i: Instance(field=="{value}")
+[when]Instance is at least {number} and field is "{value}"=i: Instance(number > {number}, location=="{value}")
+[then]Log : "{message}"=System.out.println("{message}");
+[then]Set field of instance to "{value}"=i.setField("{value}");
+[then]Create instance : "{value}"=insert(new Instance("{value}"));
+[when]There is no current Instance with field : "{value}"=not Instance(field == "{value}")
+[then]Report error : "{error}"=System.err.println("{error}");
+[then]Retract the fact : '{variable}'=retract({variable}); //this would retract bound variable {variable}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,91 +0,0 @@
-package com.sample;
-
-/*
- * Copyright 2005 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.
- */
-
-import java.io.StringReader;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-import org.drools.compiler.PackageBuilder;
-import org.drools.decisiontable.InputType;
-import org.drools.decisiontable.SpreadsheetCompiler;
-import org.drools.rule.Package;
-
-public class DecisionTableTest {
-
-    public static final void main(String[] args) {
-        try {
-        	
-        	//load up the rulebase
-            RuleBase ruleBase = readDecisionTable();
-            WorkingMemory workingMemory = ruleBase.newStatefulSession();
-            
-            //go !
-            Message message = new Message();
-            message.setMessage(  "Hello World" );
-            message.setStatus( Message.HELLO );
-            workingMemory.insert( message );
-            workingMemory.fireAllRules();   
-            
-            
-        } catch (Throwable t) {
-            t.printStackTrace();
-        }
-    }
-
-    /**
-     * Please note that this is the "low level" rule assembly API.
-     */
-	private static RuleBase readDecisionTable() throws Exception {
-		//read in the source
-        final SpreadsheetCompiler converter = new SpreadsheetCompiler();
-        final String drl = converter.compile( "/Sample.xls", InputType.XLS );
-		PackageBuilder builder = new PackageBuilder();
-		builder.addPackageFromDrl( new StringReader( drl ) );
-		Package pkg = builder.getPackage();
-		RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-		ruleBase.addPackage( pkg );
-		return ruleBase;
-	}
-
-	public static class Message {
-		public static final int HELLO = 0;
-		public static final int GOODBYE = 1;
-		
-		private String message;
-		
-		private int status;
-		
-		public String getMessage() {
-			return this.message;
-		}
-		
-		public void setMessage(String message) {
-			this.message = message;
-		}
-		
-		public int getStatus() {
-			return this.status;
-		}
-		
-		public void setStatus( int status ) {
-			this.status = status;
-		}
-	}
-    
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,91 @@
+package com.sample;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.StringReader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.compiler.PackageBuilder;
+import org.drools.decisiontable.InputType;
+import org.drools.decisiontable.SpreadsheetCompiler;
+import org.drools.rule.Package;
+
+public class DecisionTableTest {
+
+    public static final void main(String[] args) {
+        try {
+        	
+        	//load up the rulebase
+            RuleBase ruleBase = readDecisionTable();
+            WorkingMemory workingMemory = ruleBase.newStatefulSession();
+            
+            //go !
+            Message message = new Message();
+            message.setMessage(  "Hello World" );
+            message.setStatus( Message.HELLO );
+            workingMemory.insert( message );
+            workingMemory.fireAllRules();   
+            
+            
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+    }
+
+    /**
+     * Please note that this is the "low level" rule assembly API.
+     */
+	private static RuleBase readDecisionTable() throws Exception {
+		//read in the source
+        final SpreadsheetCompiler converter = new SpreadsheetCompiler();
+        final String drl = converter.compile( "/Sample.xls", InputType.XLS );
+		PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl( new StringReader( drl ) );
+		Package pkg = builder.getPackage();
+		RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+		ruleBase.addPackage( pkg );
+		return ruleBase;
+	}
+
+	public static class Message {
+		public static final int HELLO = 0;
+		public static final int GOODBYE = 1;
+		
+		private String message;
+		
+		private int status;
+		
+		public String getMessage() {
+			return this.message;
+		}
+		
+		public void setMessage(String message) {
+			this.message = message;
+		}
+		
+		public int getStatus() {
+			return this.status;
+		}
+		
+		public void setStatus( int status ) {
+			this.status = status;
+		}
+	}
+    
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,99 +0,0 @@
-package com.sample;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-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 up the rulebase
-            RuleBase ruleBase = readRule();
-            WorkingMemory workingMemory = ruleBase.newStatefulSession();
-            
-            //go !
-            Message message = new Message();
-            message.setMessage(  "Hello World" );
-            message.setStatus( Message.HELLO );
-            workingMemory.insert( message );
-            
-            workingMemory.startProcess("com.sample.ruleflow");
-            workingMemory.fireAllRules();   
-            
-        } catch (Throwable t) {
-            t.printStackTrace();
-        }
-    }
-
-    /**
-     * Please note that this is the "low level" rule assembly API.
-     */
-	private static RuleBase readRule() throws Exception {
-		//read in the source
-		Reader source = new InputStreamReader( RuleFlowTest.class.getResourceAsStream( "/ruleflow.drl" ) );
-		
-		//optionally read in the DSL (if you are using it).
-		//Reader dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/mylang.dsl" ) );
-
-		//Use package builder to build up a rule package.
-		//An alternative lower level class called "DrlParser" can also be used...
-		
-		PackageBuilder builder = new PackageBuilder();
-
-		//this wil parse and compile in one step
-		//NOTE: There are 2 methods here, the one argument one is for normal DRL.
-		builder.addPackageFromDrl( source );
-
-		//Use the following instead of above if you are using a DSL:
-		//builder.addPackageFromDrl( source, dsl );
-		
-		//add ruleflow
-		source = new InputStreamReader( RuleFlowTest.class.getResourceAsStream( "/ruleflow.rfm" ) );
-		builder.addRuleFlow(source);
-		
-		//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 );
-		
-		return ruleBase;
-	}
-	
-	public static class Message {
-		public static final int HELLO = 0;
-		public static final int GOODBYE = 1;
-		
-		private String message;
-		
-		private int status;
-		
-		public String getMessage() {
-			return this.message;
-		}
-		
-		public void setMessage(String message) {
-			this.message = message;
-		}
-		
-		public int getStatus() {
-			return this.status;
-		}
-		
-		public void setStatus( int status ) {
-			this.status = status;
-		}
-	}
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,99 @@
+package com.sample;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+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 up the rulebase
+            RuleBase ruleBase = readRule();
+            WorkingMemory workingMemory = ruleBase.newStatefulSession();
+            
+            //go !
+            Message message = new Message();
+            message.setMessage(  "Hello World" );
+            message.setStatus( Message.HELLO );
+            workingMemory.insert( message );
+            
+            workingMemory.startProcess("com.sample.ruleflow");
+            workingMemory.fireAllRules();   
+            
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+    }
+
+    /**
+     * Please note that this is the "low level" rule assembly API.
+     */
+	private static RuleBase readRule() throws Exception {
+		//read in the source
+		Reader source = new InputStreamReader( RuleFlowTest.class.getResourceAsStream( "/ruleflow.drl" ) );
+		
+		//optionally read in the DSL (if you are using it).
+		//Reader dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/mylang.dsl" ) );
+
+		//Use package builder to build up a rule package.
+		//An alternative lower level class called "DrlParser" can also be used...
+		
+		PackageBuilder builder = new PackageBuilder();
+
+		//this wil parse and compile in one step
+		//NOTE: There are 2 methods here, the one argument one is for normal DRL.
+		builder.addPackageFromDrl( source );
+
+		//Use the following instead of above if you are using a DSL:
+		//builder.addPackageFromDrl( source, dsl );
+		
+		//add ruleflow
+		source = new InputStreamReader( RuleFlowTest.class.getResourceAsStream( "/ruleflow.rfm" ) );
+		builder.addRuleFlow(source);
+		
+		//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 );
+		
+		return ruleBase;
+	}
+	
+	public static class Message {
+		public static final int HELLO = 0;
+		public static final int GOODBYE = 1;
+		
+		private String message;
+		
+		private int status;
+		
+		public String getMessage() {
+			return this.message;
+		}
+		
+		public void setMessage(String message) {
+			this.message = message;
+		}
+		
+		public int getStatus() {
+			return this.status;
+		}
+		
+		public void setStatus( int status ) {
+			this.status = status;
+		}
+	}
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,93 +0,0 @@
-package com.sample;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-import org.drools.compiler.PackageBuilder;
-import org.drools.rule.Package;
-
-/**
- * This is a sample file to launch a rule package from a rule source file.
- */
-public class DroolsTest {
-
-    public static final void main(String[] args) {
-        try {
-        	
-        	//load up the rulebase
-            RuleBase ruleBase = readRule();
-            WorkingMemory workingMemory = ruleBase.newStatefulSession();
-            
-            //go !
-            Message message = new Message();
-            message.setMessage(  "Hello World" );
-            message.setStatus( Message.HELLO );
-            workingMemory.insert( message );
-            workingMemory.fireAllRules();   
-            
-            
-        } catch (Throwable t) {
-            t.printStackTrace();
-        }
-    }
-
-    /**
-     * Please note that this is the "low level" rule assembly API.
-     */
-	private static RuleBase readRule() throws Exception {
-		//read in the source
-		Reader source = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/Sample.drl" ) );
-		
-		//optionally read in the DSL (if you are using it).
-		//Reader dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/mylang.dsl" ) );
-
-		//Use package builder to build up a rule package.
-		//An alternative lower level class called "DrlParser" can also be used...
-		
-		PackageBuilder builder = new PackageBuilder();
-
-		//this wil parse and compile in one step
-		//NOTE: There are 2 methods here, the one argument one is for normal DRL.
-		builder.addPackageFromDrl( source );
-
-		//Use the following instead of above if you are using a DSL:
-		//builder.addPackageFromDrl( source, dsl );
-		
-		//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 );
-		return ruleBase;
-	}
-	
-	public static class Message {
-		public static final int HELLO = 0;
-		public static final int GOODBYE = 1;
-		
-		private String message;
-		
-		private int status;
-		
-		public String getMessage() {
-			return this.message;
-		}
-		
-		public void setMessage(String message) {
-			this.message = message;
-		}
-		
-		public int getStatus() {
-			return this.status;
-		}
-		
-		public void setStatus( int status ) {
-			this.status = status;
-		}
-	}
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,93 @@
+package com.sample;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.compiler.PackageBuilder;
+import org.drools.rule.Package;
+
+/**
+ * This is a sample file to launch a rule package from a rule source file.
+ */
+public class DroolsTest {
+
+    public static final void main(String[] args) {
+        try {
+        	
+        	//load up the rulebase
+            RuleBase ruleBase = readRule();
+            WorkingMemory workingMemory = ruleBase.newStatefulSession();
+            
+            //go !
+            Message message = new Message();
+            message.setMessage(  "Hello World" );
+            message.setStatus( Message.HELLO );
+            workingMemory.insert( message );
+            workingMemory.fireAllRules();   
+            
+            
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+    }
+
+    /**
+     * Please note that this is the "low level" rule assembly API.
+     */
+	private static RuleBase readRule() throws Exception {
+		//read in the source
+		Reader source = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/Sample.drl" ) );
+		
+		//optionally read in the DSL (if you are using it).
+		//Reader dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/mylang.dsl" ) );
+
+		//Use package builder to build up a rule package.
+		//An alternative lower level class called "DrlParser" can also be used...
+		
+		PackageBuilder builder = new PackageBuilder();
+
+		//this wil parse and compile in one step
+		//NOTE: There are 2 methods here, the one argument one is for normal DRL.
+		builder.addPackageFromDrl( source );
+
+		//Use the following instead of above if you are using a DSL:
+		//builder.addPackageFromDrl( source, dsl );
+		
+		//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 );
+		return ruleBase;
+	}
+	
+	public static class Message {
+		public static final int HELLO = 0;
+		public static final int GOODBYE = 1;
+		
+		private String message;
+		
+		private int status;
+		
+		public String getMessage() {
+			return this.message;
+		}
+		
+		public void setMessage(String message) {
+			this.message = message;
+		}
+		
+		public int getStatus() {
+			return this.status;
+		}
+		
+		public void setStatus( int status ) {
+			this.status = status;
+		}
+	}
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,23 +0,0 @@
-package com.sample
- 
-import com.sample.DroolsTest.Message;
- 
-rule "Hello World"
-	when
-		m : Message( status == Message.HELLO, message : message )
-	then
-		System.out.println( message ); 
-		m.setMessage( "Goodbye cruel world" );
-		m.setStatus( Message.GOODBYE );
-		update( m );
-end
-
-rule "GoodBye"
-	no-loop true
-	when
-		m : Message( status == Message.GOODBYE, message : message )
-	then
-		System.out.println( message ); 
-		m.setMessage( message );
-		
-end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,23 @@
+package com.sample
+ 
+import com.sample.DroolsTest.Message;
+ 
+rule "Hello World"
+	when
+		m : Message( status == Message.HELLO, message : message )
+	then
+		System.out.println( message ); 
+		m.setMessage( "Goodbye cruel world" );
+		m.setStatus( Message.GOODBYE );
+		update( m );
+end
+
+rule "GoodBye"
+	no-loop true
+	when
+		m : Message( status == Message.GOODBYE, message : message )
+	then
+		System.out.println( message ); 
+		m.setMessage( message );
+		
+end
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.xls.template
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.xls.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.xls.template)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,23 +0,0 @@
-package com.sample
- 
-import com.sample.RuleFlowTest.Message;
- 
-rule "Hello World" ruleflow-group "hello"
-	when
-		m : Message( status == Message.HELLO, message : message )
-	then
-		System.out.println( message ); 
-		m.setMessage( "Goodbye cruel world" );
-		m.setStatus( Message.GOODBYE );
-		update( m );
-end
-
-rule "GoodBye" ruleflow-group "goodbye"
-	no-loop true
-	when
-		m : Message( status == Message.GOODBYE, message : message )
-	then
-		System.out.println( message ); 
-		m.setMessage( message );
-		
-end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,23 @@
+package com.sample
+ 
+import com.sample.RuleFlowTest.Message;
+ 
+rule "Hello World" ruleflow-group "hello"
+	when
+		m : Message( status == Message.HELLO, message : message )
+	then
+		System.out.println( message ); 
+		m.setMessage( "Goodbye cruel world" );
+		m.setStatus( Message.GOODBYE );
+		update( m );
+end
+
+rule "GoodBye" ruleflow-group "goodbye"
+	no-loop true
+	when
+		m : Message( status == Message.GOODBYE, message : message )
+	then
+		System.out.println( message ); 
+		m.setMessage( message );
+		
+end
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,211 +0,0 @@
-<org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper id="1" serialization="custom">
-  <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
-    <default>
-      <elements id="2">
-        <entry>
-          <string>2-Wrapper</string>
-          <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper id="3" serialization="custom">
-            <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-              <default>
-                <constraint id="4">
-                  <x>190</x>
-                  <y>101</y>
-                  <width>80</width>
-                  <height>40</height>
-                </constraint>
-                <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="5">
-                  <ruleFlowGroup>hello</ruleFlowGroup>
-                  <id>2</id>
-                  <name>hello</name>
-                  <incomingConnections id="6">
-                    <org.drools.ruleflow.core.impl.ConnectionImpl id="7">
-                      <type>1</type>
-                      <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="8">
-                        <id>1</id>
-                        <name>Start</name>
-                        <incomingConnections id="9"/>
-                        <outgoingConnections id="10">
-                          <org.drools.ruleflow.core.impl.ConnectionImpl reference="7"/>
-                        </outgoingConnections>
-                      </from>
-                      <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
-                    </org.drools.ruleflow.core.impl.ConnectionImpl>
-                  </incomingConnections>
-                  <outgoingConnections id="11">
-                    <org.drools.ruleflow.core.impl.ConnectionImpl id="12">
-                      <type>1</type>
-                      <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
-                      <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="13">
-                        <ruleFlowGroup>goodbye</ruleFlowGroup>
-                        <id>3</id>
-                        <name>goodbye</name>
-                        <incomingConnections id="14">
-                          <org.drools.ruleflow.core.impl.ConnectionImpl reference="12"/>
-                        </incomingConnections>
-                        <outgoingConnections id="15">
-                          <org.drools.ruleflow.core.impl.ConnectionImpl id="16">
-                            <type>1</type>
-                            <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="13"/>
-                            <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="17">
-                              <id>4</id>
-                              <name>End</name>
-                              <incomingConnections id="18">
-                                <org.drools.ruleflow.core.impl.ConnectionImpl reference="16"/>
-                              </incomingConnections>
-                              <outgoingConnections id="19"/>
-                            </to>
-                          </org.drools.ruleflow.core.impl.ConnectionImpl>
-                        </outgoingConnections>
-                      </to>
-                    </org.drools.ruleflow.core.impl.ConnectionImpl>
-                  </outgoingConnections>
-                </element>
-                <incomingConnections id="20">
-                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="21" serialization="custom">
-                    <org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                      <default>
-                        <type>1</type>
-                        <bendpoints id="22"/>
-                        <source class="org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper" id="23" serialization="custom">
-                          <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                            <default>
-                              <constraint id="24">
-                                <x>57</x>
-                                <y>100</y>
-                                <width>80</width>
-                                <height>40</height>
-                              </constraint>
-                              <element class="org.drools.ruleflow.core.impl.StartNodeImpl" reference="8"/>
-                              <incomingConnections id="25"/>
-                              <outgoingConnections id="26">
-                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="21"/>
-                              </outgoingConnections>
-                            </default>
-                          </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                        </source>
-                        <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
-                      </default>
-                    </org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                    <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                      <default>
-                        <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="7"/>
-                      </default>
-                    </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                </incomingConnections>
-                <outgoingConnections id="27">
-                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="28" serialization="custom">
-                    <org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                      <default>
-                        <type>1</type>
-                        <bendpoints id="29"/>
-                        <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
-                        <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="30" serialization="custom">
-                          <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                            <default>
-                              <constraint id="31">
-                                <x>336</x>
-                                <y>101</y>
-                                <width>80</width>
-                                <height>40</height>
-                              </constraint>
-                              <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="13"/>
-                              <incomingConnections id="32">
-                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="28"/>
-                              </incomingConnections>
-                              <outgoingConnections id="33">
-                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="34" serialization="custom">
-                                  <org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                                    <default>
-                                      <type>1</type>
-                                      <bendpoints id="35"/>
-                                      <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="30"/>
-                                      <target class="org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper" id="36" serialization="custom">
-                                        <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                                          <default>
-                                            <constraint id="37">
-                                              <x>473</x>
-                                              <y>102</y>
-                                              <width>80</width>
-                                              <height>40</height>
-                                            </constraint>
-                                            <element class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="17"/>
-                                            <incomingConnections id="38">
-                                              <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="34"/>
-                                            </incomingConnections>
-                                            <outgoingConnections id="39"/>
-                                            <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
-                                          </default>
-                                        </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                                      </target>
-                                    </default>
-                                  </org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                                    <default>
-                                      <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="16"/>
-                                    </default>
-                                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                                </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                              </outgoingConnections>
-                              <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
-                            </default>
-                          </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                        </target>
-                      </default>
-                    </org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                    <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                      <default>
-                        <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="12"/>
-                      </default>
-                    </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                </outgoingConnections>
-                <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
-              </default>
-            </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-          </org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper>
-        </entry>
-        <entry>
-          <string>4-Wrapper</string>
-          <org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper reference="36"/>
-        </entry>
-        <entry>
-          <string>3-Wrapper</string>
-          <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="30"/>
-        </entry>
-        <entry>
-          <string>1-Wrapper</string>
-          <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper reference="23"/>
-        </entry>
-      </elements>
-      <process class="org.drools.ruleflow.core.impl.RuleFlowProcessImpl" id="40">
-        <nodes id="41">
-          <entry>
-            <long>2</long>
-            <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="5"/>
-          </entry>
-          <entry>
-            <long>4</long>
-            <org.drools.ruleflow.core.impl.EndNodeImpl reference="17"/>
-          </entry>
-          <entry>
-            <long>1</long>
-            <org.drools.ruleflow.core.impl.StartNodeImpl reference="8"/>
-          </entry>
-          <entry>
-            <long>3</long>
-            <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="13"/>
-          </entry>
-        </nodes>
-        <variables id="42"/>
-        <lastNodeId>4</lastNodeId>
-        <id>com.sample.ruleflow</id>
-        <name>Ruleflow</name>
-        <version>1.0</version>
-        <type>RuleFlow</type>
-        <packageName>com.sample</packageName>
-      </process>
-      <routerLayout>2</routerLayout>
-    </default>
-  </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
-</org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,211 @@
+<org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper id="1" serialization="custom">
+  <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+    <default>
+      <elements id="2">
+        <entry>
+          <string>2-Wrapper</string>
+          <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper id="3" serialization="custom">
+            <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+              <default>
+                <constraint id="4">
+                  <x>190</x>
+                  <y>101</y>
+                  <width>80</width>
+                  <height>40</height>
+                </constraint>
+                <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="5">
+                  <ruleFlowGroup>hello</ruleFlowGroup>
+                  <id>2</id>
+                  <name>hello</name>
+                  <incomingConnections id="6">
+                    <org.drools.ruleflow.core.impl.ConnectionImpl id="7">
+                      <type>1</type>
+                      <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="8">
+                        <id>1</id>
+                        <name>Start</name>
+                        <incomingConnections id="9"/>
+                        <outgoingConnections id="10">
+                          <org.drools.ruleflow.core.impl.ConnectionImpl reference="7"/>
+                        </outgoingConnections>
+                      </from>
+                      <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+                    </org.drools.ruleflow.core.impl.ConnectionImpl>
+                  </incomingConnections>
+                  <outgoingConnections id="11">
+                    <org.drools.ruleflow.core.impl.ConnectionImpl id="12">
+                      <type>1</type>
+                      <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+                      <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="13">
+                        <ruleFlowGroup>goodbye</ruleFlowGroup>
+                        <id>3</id>
+                        <name>goodbye</name>
+                        <incomingConnections id="14">
+                          <org.drools.ruleflow.core.impl.ConnectionImpl reference="12"/>
+                        </incomingConnections>
+                        <outgoingConnections id="15">
+                          <org.drools.ruleflow.core.impl.ConnectionImpl id="16">
+                            <type>1</type>
+                            <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="13"/>
+                            <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="17">
+                              <id>4</id>
+                              <name>End</name>
+                              <incomingConnections id="18">
+                                <org.drools.ruleflow.core.impl.ConnectionImpl reference="16"/>
+                              </incomingConnections>
+                              <outgoingConnections id="19"/>
+                            </to>
+                          </org.drools.ruleflow.core.impl.ConnectionImpl>
+                        </outgoingConnections>
+                      </to>
+                    </org.drools.ruleflow.core.impl.ConnectionImpl>
+                  </outgoingConnections>
+                </element>
+                <incomingConnections id="20">
+                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="21" serialization="custom">
+                    <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                      <default>
+                        <type>1</type>
+                        <bendpoints id="22"/>
+                        <source class="org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper" id="23" serialization="custom">
+                          <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                            <default>
+                              <constraint id="24">
+                                <x>57</x>
+                                <y>100</y>
+                                <width>80</width>
+                                <height>40</height>
+                              </constraint>
+                              <element class="org.drools.ruleflow.core.impl.StartNodeImpl" reference="8"/>
+                              <incomingConnections id="25"/>
+                              <outgoingConnections id="26">
+                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="21"/>
+                              </outgoingConnections>
+                            </default>
+                          </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                        </source>
+                        <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+                      </default>
+                    </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                    <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                      <default>
+                        <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="7"/>
+                      </default>
+                    </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                </incomingConnections>
+                <outgoingConnections id="27">
+                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="28" serialization="custom">
+                    <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                      <default>
+                        <type>1</type>
+                        <bendpoints id="29"/>
+                        <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+                        <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="30" serialization="custom">
+                          <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                            <default>
+                              <constraint id="31">
+                                <x>336</x>
+                                <y>101</y>
+                                <width>80</width>
+                                <height>40</height>
+                              </constraint>
+                              <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="13"/>
+                              <incomingConnections id="32">
+                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="28"/>
+                              </incomingConnections>
+                              <outgoingConnections id="33">
+                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="34" serialization="custom">
+                                  <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                                    <default>
+                                      <type>1</type>
+                                      <bendpoints id="35"/>
+                                      <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="30"/>
+                                      <target class="org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper" id="36" serialization="custom">
+                                        <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                                          <default>
+                                            <constraint id="37">
+                                              <x>473</x>
+                                              <y>102</y>
+                                              <width>80</width>
+                                              <height>40</height>
+                                            </constraint>
+                                            <element class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="17"/>
+                                            <incomingConnections id="38">
+                                              <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="34"/>
+                                            </incomingConnections>
+                                            <outgoingConnections id="39"/>
+                                            <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+                                          </default>
+                                        </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                                      </target>
+                                    </default>
+                                  </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                                    <default>
+                                      <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="16"/>
+                                    </default>
+                                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                                </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                              </outgoingConnections>
+                              <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+                            </default>
+                          </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                        </target>
+                      </default>
+                    </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                    <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                      <default>
+                        <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="12"/>
+                      </default>
+                    </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                </outgoingConnections>
+                <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+              </default>
+            </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+          </org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper>
+        </entry>
+        <entry>
+          <string>4-Wrapper</string>
+          <org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper reference="36"/>
+        </entry>
+        <entry>
+          <string>3-Wrapper</string>
+          <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="30"/>
+        </entry>
+        <entry>
+          <string>1-Wrapper</string>
+          <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper reference="23"/>
+        </entry>
+      </elements>
+      <process class="org.drools.ruleflow.core.impl.RuleFlowProcessImpl" id="40">
+        <nodes id="41">
+          <entry>
+            <long>2</long>
+            <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="5"/>
+          </entry>
+          <entry>
+            <long>4</long>
+            <org.drools.ruleflow.core.impl.EndNodeImpl reference="17"/>
+          </entry>
+          <entry>
+            <long>1</long>
+            <org.drools.ruleflow.core.impl.StartNodeImpl reference="8"/>
+          </entry>
+          <entry>
+            <long>3</long>
+            <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="13"/>
+          </entry>
+        </nodes>
+        <variables id="42"/>
+        <lastNodeId>4</lastNodeId>
+        <id>com.sample.ruleflow</id>
+        <name>Ruleflow</name>
+        <version>1.0</version>
+        <type>RuleFlow</type>
+        <packageName>com.sample</packageName>
+      </process>
+      <routerLayout>2</routerLayout>
+    </default>
+  </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+</org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,73 +0,0 @@
-<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
-  <nodes id="2">
-    <entry>
-      <long>2</long>
-      <org.drools.ruleflow.core.impl.RuleSetNodeImpl id="3">
-        <ruleFlowGroup>hello</ruleFlowGroup>
-        <id>2</id>
-        <name>hello</name>
-        <incomingConnections id="4">
-          <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
-            <type>1</type>
-            <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="6">
-              <id>1</id>
-              <name>Start</name>
-              <incomingConnections id="7"/>
-              <outgoingConnections id="8">
-                <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
-              </outgoingConnections>
-            </from>
-            <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
-          </org.drools.ruleflow.core.impl.ConnectionImpl>
-        </incomingConnections>
-        <outgoingConnections id="9">
-          <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
-            <type>1</type>
-            <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
-            <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="11">
-              <ruleFlowGroup>goodbye</ruleFlowGroup>
-              <id>3</id>
-              <name>goodbye</name>
-              <incomingConnections id="12">
-                <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
-              </incomingConnections>
-              <outgoingConnections id="13">
-                <org.drools.ruleflow.core.impl.ConnectionImpl id="14">
-                  <type>1</type>
-                  <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="11"/>
-                  <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="15">
-                    <id>4</id>
-                    <name>End</name>
-                    <incomingConnections id="16">
-                      <org.drools.ruleflow.core.impl.ConnectionImpl reference="14"/>
-                    </incomingConnections>
-                    <outgoingConnections id="17"/>
-                  </to>
-                </org.drools.ruleflow.core.impl.ConnectionImpl>
-              </outgoingConnections>
-            </to>
-          </org.drools.ruleflow.core.impl.ConnectionImpl>
-        </outgoingConnections>
-      </org.drools.ruleflow.core.impl.RuleSetNodeImpl>
-    </entry>
-    <entry>
-      <long>4</long>
-      <org.drools.ruleflow.core.impl.EndNodeImpl reference="15"/>
-    </entry>
-    <entry>
-      <long>1</long>
-      <org.drools.ruleflow.core.impl.StartNodeImpl reference="6"/>
-    </entry>
-    <entry>
-      <long>3</long>
-      <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="11"/>
-    </entry>
-  </nodes>
-  <variables id="18"/>
-  <lastNodeId>4</lastNodeId>
-  <id>com.sample.ruleflow</id>
-  <name>Ruleflow</name>
-  <version>1.0</version>
-  <type>RuleFlow</type>
-  <packageName>com.sample</packageName>
-</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,73 @@
+<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
+  <nodes id="2">
+    <entry>
+      <long>2</long>
+      <org.drools.ruleflow.core.impl.RuleSetNodeImpl id="3">
+        <ruleFlowGroup>hello</ruleFlowGroup>
+        <id>2</id>
+        <name>hello</name>
+        <incomingConnections id="4">
+          <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
+            <type>1</type>
+            <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="6">
+              <id>1</id>
+              <name>Start</name>
+              <incomingConnections id="7"/>
+              <outgoingConnections id="8">
+                <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
+              </outgoingConnections>
+            </from>
+            <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+          </org.drools.ruleflow.core.impl.ConnectionImpl>
+        </incomingConnections>
+        <outgoingConnections id="9">
+          <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
+            <type>1</type>
+            <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+            <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="11">
+              <ruleFlowGroup>goodbye</ruleFlowGroup>
+              <id>3</id>
+              <name>goodbye</name>
+              <incomingConnections id="12">
+                <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
+              </incomingConnections>
+              <outgoingConnections id="13">
+                <org.drools.ruleflow.core.impl.ConnectionImpl id="14">
+                  <type>1</type>
+                  <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="11"/>
+                  <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="15">
+                    <id>4</id>
+                    <name>End</name>
+                    <incomingConnections id="16">
+                      <org.drools.ruleflow.core.impl.ConnectionImpl reference="14"/>
+                    </incomingConnections>
+                    <outgoingConnections id="17"/>
+                  </to>
+                </org.drools.ruleflow.core.impl.ConnectionImpl>
+              </outgoingConnections>
+            </to>
+          </org.drools.ruleflow.core.impl.ConnectionImpl>
+        </outgoingConnections>
+      </org.drools.ruleflow.core.impl.RuleSetNodeImpl>
+    </entry>
+    <entry>
+      <long>4</long>
+      <org.drools.ruleflow.core.impl.EndNodeImpl reference="15"/>
+    </entry>
+    <entry>
+      <long>1</long>
+      <org.drools.ruleflow.core.impl.StartNodeImpl reference="6"/>
+    </entry>
+    <entry>
+      <long>3</long>
+      <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="11"/>
+    </entry>
+  </nodes>
+  <variables id="18"/>
+  <lastNodeId>4</lastNodeId>
+  <id>com.sample.ruleflow</id>
+  <name>Ruleflow</name>
+  <version>1.0</version>
+  <type>RuleFlow</type>
+  <packageName>com.sample</packageName>
+</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,28 +0,0 @@
-#created on: $date$
-$package$
-#list any import classes here.
-
-$expander$
-
-#declare any global variables here
-
-$functions$
-
-
-rule "Your First Rule"
-	
-	when
-		#conditions
-	then 
-		#actions
-		
-end
-
-rule "Your Second Rule"
-	#include attributes such as "salience" here...
-	when
-		#conditions
-	then 
-		#actions
-		
-end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,28 @@
+#created on: $date$
+$package$
+#list any import classes here.
+
+$expander$
+
+#declare any global variables here
+
+$functions$
+
+
+rule "Your First Rule"
+	
+	when
+		#conditions
+	then 
+		#actions
+		
+end
+
+rule "Your Second Rule"
+	#include attributes such as "salience" here...
+	when
+		#conditions
+	then 
+		#actions
+		
+end
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-#created on: $date$
-$package$
-rule "A stand alone rule"
-	
-	when
-		#conditions
-	then 
-		#actions
-		
-end
-

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+#created on: $date$
+$package$
+rule "A stand alone rule"
+	
+	when
+		#conditions
+	then 
+		#actions
+		
+end
+

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test)


Property changes on: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test
___________________________________________________________________
Name: svn:ignore
   + target
local


nbproject

*.ipr
*.iws
*.iml


bin


Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.classpath
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/.classpath	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/test/java"/>
-	<classpathentry kind="src" path="src/test/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.classpath (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/.classpath)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.classpath	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry kind="src" path="src/test/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.project
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/.project	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>drools-eclipse-test</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/.project)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.project	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>drools-eclipse-test</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.settings (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/.settings)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,58 +0,0 @@
-#Tue Apr 03 23:12:19 PDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,58 @@
+#Tue Apr 03 23:12:19 PDT 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.3

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/META-INF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/META-INF)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/META-INF/MANIFEST.MF	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/META-INF/MANIFEST.MF	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: JBoss Rules Eclipse Test fragment
-Bundle-SymbolicName: org.drools.eclipse.test
-Bundle-Version: 4.0.6
-Bundle-Vendor: krisv,mic
-Fragment-Host: org.drools.eclipse;bundle-version="4.0.6"
-Bundle-Localization: plugin
-Require-Bundle: org.junit
-Bundle-ClassPath: .
-Bundle-RequiredExecutionEnvironment: J2SE-1.4

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/META-INF/MANIFEST.MF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/META-INF/MANIFEST.MF)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/META-INF/MANIFEST.MF	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: JBoss Rules Eclipse Test fragment
+Bundle-SymbolicName: org.drools.eclipse.test
+Bundle-Version: 4.0.6
+Bundle-Vendor: krisv,mic
+Fragment-Host: org.drools.eclipse;bundle-version="4.0.6"
+Bundle-Localization: plugin
+Require-Bundle: org.junit
+Bundle-ClassPath: .
+Bundle-RequiredExecutionEnvironment: J2SE-1.4

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/build.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/build.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,14 +0,0 @@
-bin.includes = META-INF/,\
-               .,\
-               test.xml
-jars.compile.order = .
-source.. = src/test/java/,\
-           src/test/resources/
-output.. = bin/
-src.includes = .classpath,\
-               .project,\
-               .settings/,\
-               META-INF/,\
-               build.properties,\
-               src/,\
-               test.xml

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/build.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/build.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/build.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,14 @@
+bin.includes = META-INF/,\
+               .,\
+               test.xml
+jars.compile.order = .
+source.. = src/test/java/,\
+           src/test/resources/
+output.. = bin/
+src.includes = .classpath,\
+               .project,\
+               .settings/,\
+               META-INF/,\
+               build.properties,\
+               src/,\
+               test.xml

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,9 +0,0 @@
-package org.drools.eclipse;
-import junit.framework.Test;
-
-
-public class AllTests {
-	public static Test suite() {
-		return AllTestsUtil.suite();
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,9 @@
+package org.drools.eclipse;
+import junit.framework.Test;
+
+
+public class AllTests {
+	public static Test suite() {
+		return AllTestsUtil.suite();
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,166 +0,0 @@
-package org.drools.eclipse;
-
-//Copyright (c) 2006 Alex Blewitt
-//All rights reserved. This program and the accompanying materials
-//are made available under the terms of the Eclipse Public License v1.0
-//which accompanies this distribution, and is available at
-//http://www.eclipse.org/legal/epl-v10.html
-//
-//Contributors:
-//Alex Blewitt - Initial API and implementation
-//
-import java.lang.reflect.Modifier;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Vector;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.runner.ClassPathTestCollector;
-import junit.runner.TestCollector;
-import org.eclipse.core.runtime.Platform;
-/**
-* Run all the tests in this project, either computed from the classpath or from
-* the bundlepath. To use this as-is, drop it into a non-default package that
-* has the same name as the plugin. For example, if the plugin is called
-* <code>org.example.foo</code>, this should be placed in a package
-* <code>org.example.foo</code>, and all tests should live under the
-* <code>org.example.foo</code> package structure (either directly, or in any
-* subpackage). By default this will include all non-abstract classes named
-* <code>XxxTest</code>, excluding <code>XxxPlatformTest</code> if running
-* outside of the platform.
-*/
-
-public class AllTestsUtil {
-	/**
-	 * Detects classes from the bundle PLUGIN_NAME's entries. Uses
-	 * <code>bundle.findEntries</code> to obtain a list of classes that live
-	 * in the specified PACKAGE_NAME, and adds those to the test path, providing
-	 * that they are {@link AllTests#isValidTest(String, boolean) valid}.
-	 */
-	private static class BundleTestDetector implements TestCollector {
-		/*
-		 * @see junit.runner.TestCollector#collectTests()
-		 */
-		public Enumeration collectTests() {
-			final Vector tests = new Vector();
-			try {
-				Enumeration entries = Platform.getBundle(PLUGIN_NAME).findEntries("/", "*" + SUFFIX + ".class", true);
-				while (entries.hasMoreElements()) {
-					URL entry = (URL) entries.nextElement();
-					// Change the URLs to have Java class names
-					String path = entry.getPath().replace('/', '.');
-					int start = path.indexOf(PACKAGE_NAME);
-					String name = path.substring(start, path.length()
-							- ".class".length());
-					if (isValidTest(name, true)) {
-						tests.add(name);
-					}
-				}
-			} catch (Exception e) {
-				// If we get here, the Platform isn't installed and so we fail
-				// quietly. This isn't a problem; we might be outside of the
-				// Platform framework and just running tests locally. It's not
-				// even worth printing anything out to the error log as it would
-				// just confuse people investigating stack traces etc.
-			}
-			return tests.elements();
-		}
-	}
-	/**
-	 * Searches the current classpath for tests, which are those ending with
-	 * SUFFIX, excluding those which end in IN_CONTAINER_SUFFIX, providing that
-	 * they are {@link AllTests#isValidTest(String, boolean) valid}.
-	 */
-	private static class ClassFileDetector extends ClassPathTestCollector {
-		/*
-		 * @see junit.runner.ClassPathTestCollector#isTestClass(java.lang.String)
-		 */
-		protected boolean isTestClass(String classFileName) {
-			return classFileName.endsWith(SUFFIX + ".class")
-					&& isValidTest(classNameFromFile(classFileName), false);
-		}
-	}
-	/**
-	 * All tests should end in XxxTest
-	 */
-	public static final String SUFFIX = "Test";
-	/**
-	 * All in-container tests should end in XxxPlatformTest
-	 */
-	public static final String IN_CONTAINER_SUFFIX = "Platform" + SUFFIX;
-	/**
-	 * The base package name of the tests to run. This defaults to the name of
-	 * the package that the AllTests class is in for ease of management but may
-	 * be trivially changed if required. Note that at least some identifiable
-	 * part must be provided here (so default package names are not allowed)
-	 * since the URL that comes up in the bundle entries have a prefix that is
-	 * not detectable automatically. Even if this is "org" or "com" that should
-	 * be enough.
-	 */
-	public static final String PACKAGE_NAME = AllTests.class.getPackage()
-			.getName();
-	/**
-	 * The name of the plugin to search if the platform is loaded. This defaults
-	 * to the name of the package that the AllTests class is in for ease of
-	 * management but may be trivially changed if required.
-	 */
-	
-	//PO: this is wrong. we need to use the PLUGIN_ID of the host, not that of the 
-	// fragment
-//	public static final String PLUGIN_NAME = AllTests.class.getPackage()
-//	.getName();
-	public static final String PLUGIN_NAME = "org.drools.eclipse";
-	
-	/**
-	 * Add the tests reported by collector to the list of tests to run
-	 * @param collector the test collector to run
-	 * @param suite the suite to add the tests to
-	 */
-	private static void addTestsToSuite(TestCollector collector, TestSuite suite) {
-		Enumeration e = collector.collectTests();
-		while (e.hasMoreElements()) {
-			String name = (String) e.nextElement();
-			try {
-				suite.addTestSuite(Class.forName(name));
-			} catch (ClassNotFoundException e1) {
-				System.err.println("Cannot load test: " + e1);
-			}
-		}
-	}
-	/**
-	 * Is the test a valid test?
-	 * @param name the name of the test
-	 * @param inContainer true if we want to include the inContainer tests
-	 * @return true if the name is a valid class (can be loaded), that it is not
-	 *         abstract, and that it ends with SUFFIX, and that either
-	 *         inContainer tests are to be included or the name does not end
-	 *         with IN_CONTAINER_SUFFIX
-	 */
-	private static boolean isValidTest(String name, boolean inContainer) {
-		try {
-			return name.endsWith(SUFFIX)
-					&& (inContainer || !name.endsWith(IN_CONTAINER_SUFFIX))
-					&& ((Class.forName(name).getModifiers() & Modifier.ABSTRACT) == 0);
-		} catch (ClassNotFoundException e) {
-			System.err.println(e.toString());
-			return false;
-		}
-	}
-	/**
-	 * Return all the tests. If we're in a platform, return everything. If not,
-	 * we return those tests that end in SUFFIX but excluding those ending in
-	 * IN_CONTAINER_SUFFIX.
-	 * @return a suite of tests for JUnit to run
-	 * @throws Error if there are no tests to run.
-	 */
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		addTestsToSuite(new ClassFileDetector(), suite);
-		addTestsToSuite(new BundleTestDetector(), suite);
-		if (suite.countTestCases() == 0) {
-			throw new Error("There are no test cases to run");
-		} else {
-			return suite;
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,166 @@
+package org.drools.eclipse;
+
+//Copyright (c) 2006 Alex Blewitt
+//All rights reserved. This program and the accompanying materials
+//are made available under the terms of the Eclipse Public License v1.0
+//which accompanies this distribution, and is available at
+//http://www.eclipse.org/legal/epl-v10.html
+//
+//Contributors:
+//Alex Blewitt - Initial API and implementation
+//
+import java.lang.reflect.Modifier;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.Vector;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.runner.ClassPathTestCollector;
+import junit.runner.TestCollector;
+import org.eclipse.core.runtime.Platform;
+/**
+* Run all the tests in this project, either computed from the classpath or from
+* the bundlepath. To use this as-is, drop it into a non-default package that
+* has the same name as the plugin. For example, if the plugin is called
+* <code>org.example.foo</code>, this should be placed in a package
+* <code>org.example.foo</code>, and all tests should live under the
+* <code>org.example.foo</code> package structure (either directly, or in any
+* subpackage). By default this will include all non-abstract classes named
+* <code>XxxTest</code>, excluding <code>XxxPlatformTest</code> if running
+* outside of the platform.
+*/
+
+public class AllTestsUtil {
+	/**
+	 * Detects classes from the bundle PLUGIN_NAME's entries. Uses
+	 * <code>bundle.findEntries</code> to obtain a list of classes that live
+	 * in the specified PACKAGE_NAME, and adds those to the test path, providing
+	 * that they are {@link AllTests#isValidTest(String, boolean) valid}.
+	 */
+	private static class BundleTestDetector implements TestCollector {
+		/*
+		 * @see junit.runner.TestCollector#collectTests()
+		 */
+		public Enumeration collectTests() {
+			final Vector tests = new Vector();
+			try {
+				Enumeration entries = Platform.getBundle(PLUGIN_NAME).findEntries("/", "*" + SUFFIX + ".class", true);
+				while (entries.hasMoreElements()) {
+					URL entry = (URL) entries.nextElement();
+					// Change the URLs to have Java class names
+					String path = entry.getPath().replace('/', '.');
+					int start = path.indexOf(PACKAGE_NAME);
+					String name = path.substring(start, path.length()
+							- ".class".length());
+					if (isValidTest(name, true)) {
+						tests.add(name);
+					}
+				}
+			} catch (Exception e) {
+				// If we get here, the Platform isn't installed and so we fail
+				// quietly. This isn't a problem; we might be outside of the
+				// Platform framework and just running tests locally. It's not
+				// even worth printing anything out to the error log as it would
+				// just confuse people investigating stack traces etc.
+			}
+			return tests.elements();
+		}
+	}
+	/**
+	 * Searches the current classpath for tests, which are those ending with
+	 * SUFFIX, excluding those which end in IN_CONTAINER_SUFFIX, providing that
+	 * they are {@link AllTests#isValidTest(String, boolean) valid}.
+	 */
+	private static class ClassFileDetector extends ClassPathTestCollector {
+		/*
+		 * @see junit.runner.ClassPathTestCollector#isTestClass(java.lang.String)
+		 */
+		protected boolean isTestClass(String classFileName) {
+			return classFileName.endsWith(SUFFIX + ".class")
+					&& isValidTest(classNameFromFile(classFileName), false);
+		}
+	}
+	/**
+	 * All tests should end in XxxTest
+	 */
+	public static final String SUFFIX = "Test";
+	/**
+	 * All in-container tests should end in XxxPlatformTest
+	 */
+	public static final String IN_CONTAINER_SUFFIX = "Platform" + SUFFIX;
+	/**
+	 * The base package name of the tests to run. This defaults to the name of
+	 * the package that the AllTests class is in for ease of management but may
+	 * be trivially changed if required. Note that at least some identifiable
+	 * part must be provided here (so default package names are not allowed)
+	 * since the URL that comes up in the bundle entries have a prefix that is
+	 * not detectable automatically. Even if this is "org" or "com" that should
+	 * be enough.
+	 */
+	public static final String PACKAGE_NAME = AllTests.class.getPackage()
+			.getName();
+	/**
+	 * The name of the plugin to search if the platform is loaded. This defaults
+	 * to the name of the package that the AllTests class is in for ease of
+	 * management but may be trivially changed if required.
+	 */
+	
+	//PO: this is wrong. we need to use the PLUGIN_ID of the host, not that of the 
+	// fragment
+//	public static final String PLUGIN_NAME = AllTests.class.getPackage()
+//	.getName();
+	public static final String PLUGIN_NAME = "org.drools.eclipse";
+	
+	/**
+	 * Add the tests reported by collector to the list of tests to run
+	 * @param collector the test collector to run
+	 * @param suite the suite to add the tests to
+	 */
+	private static void addTestsToSuite(TestCollector collector, TestSuite suite) {
+		Enumeration e = collector.collectTests();
+		while (e.hasMoreElements()) {
+			String name = (String) e.nextElement();
+			try {
+				suite.addTestSuite(Class.forName(name));
+			} catch (ClassNotFoundException e1) {
+				System.err.println("Cannot load test: " + e1);
+			}
+		}
+	}
+	/**
+	 * Is the test a valid test?
+	 * @param name the name of the test
+	 * @param inContainer true if we want to include the inContainer tests
+	 * @return true if the name is a valid class (can be loaded), that it is not
+	 *         abstract, and that it ends with SUFFIX, and that either
+	 *         inContainer tests are to be included or the name does not end
+	 *         with IN_CONTAINER_SUFFIX
+	 */
+	private static boolean isValidTest(String name, boolean inContainer) {
+		try {
+			return name.endsWith(SUFFIX)
+					&& (inContainer || !name.endsWith(IN_CONTAINER_SUFFIX))
+					&& ((Class.forName(name).getModifiers() & Modifier.ABSTRACT) == 0);
+		} catch (ClassNotFoundException e) {
+			System.err.println(e.toString());
+			return false;
+		}
+	}
+	/**
+	 * Return all the tests. If we're in a platform, return everything. If not,
+	 * we return those tests that end in SUFFIX but excluding those ending in
+	 * IN_CONTAINER_SUFFIX.
+	 * @return a suite of tests for JUnit to run
+	 * @throws Error if there are no tests to run.
+	 */
+	public static Test suite() {
+		TestSuite suite = new TestSuite(AllTests.class.getName());
+		addTestsToSuite(new ClassFileDetector(), suite);
+		addTestsToSuite(new BundleTestDetector(), suite);
+		if (suite.countTestCases() == 0) {
+			throw new Error("There are no test cases to run");
+		} else {
+			return suite;
+		}
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,109 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map.Entry;
-
-import junit.framework.TestCase;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.base.MapGlobalResolver;
-import org.drools.compiler.PackageBuilder;
-import org.drools.reteoo.ReteooStatefulSession;
-import org.drools.spi.Activation;
-import org.drools.spi.AgendaGroup;
-
-/**
- *
- * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
- * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
- * VIEWS (which are using reflection)
- *    
- * @author Kris Verlaenen
- */
-public class DebugViewsTest extends TestCase {
-	
-	/*
-	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
-	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
-	 * VIEWS (which are using reflection)
-	 */
-    
-    public void testApplicationDataView() throws Exception {
-    	Reader source = new InputStreamReader(DebugViewsTest.class.getResourceAsStream("/debug.drl"));
-    	PackageBuilder builder = new PackageBuilder();
-    	builder.addPackageFromDrl(source);
-    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-    	ruleBase.addPackage(builder.getPackage());
-    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
-    	session.setGlobal("s", "String");
-    	List list = new ArrayList();
-    	list.add("Value");
-    	session.setGlobal("list", list);
-    	Entry[] globals = ((MapGlobalResolver) session.getGlobalResolver()).getGlobals();
-    	assertEquals(2, globals.length);
-    	if ("list".equals(globals[0].getKey())) {
-	    	assertEquals("list", globals[0].getKey());
-	    	assertEquals(list, globals[0].getValue());
-	    	assertEquals("s", globals[1].getKey());
-	    	assertEquals("String", globals[1].getValue());
-    	} else {
-	    	assertEquals("list", globals[1].getKey());
-	    	assertEquals(list, globals[1].getValue());
-	    	assertEquals("s", globals[0].getKey());
-	    	assertEquals("String", globals[0].getValue());
-    	}
-    }
-    
-	/*
-	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
-	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
-	 * VIEWS (which are using reflection)
-	 */
-    
-    public void testAgendaView() throws Exception {
-    	Reader source = new InputStreamReader(DebugViewsTest.class.getResourceAsStream("/debug.drl"));
-    	PackageBuilder builder = new PackageBuilder();
-    	builder.addPackageFromDrl(source);
-    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-    	ruleBase.addPackage(builder.getPackage());
-    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
-    	List list = new ArrayList();
-    	session.setGlobal("list", list);
-    	session.insert("String1");
-    	AgendaGroup focus = session.getAgenda().getFocus();
-    	assertEquals("MAIN", focus.getName());
-    	AgendaGroup[] agendaGroups = session.getAgenda().getAgendaGroups();
-    	assertEquals(1, agendaGroups.length);
-    	assertEquals("MAIN", agendaGroups[0].getName());
-    	assertEquals(1, agendaGroups[0].getActivations().length);
-    	
-    	Activation activation = agendaGroups[0].getActivations()[0];
-    	assertEquals("ActivationCreator", activation.getRule().getName());
-    	Entry[] parameters = session.getActivationParameters(activation.getActivationNumber());
-    	assertEquals(1, parameters.length);
-    	assertEquals("o", parameters[0].getKey());
-    	assertEquals("String1", parameters[0].getValue());
-    }
-    
-	/*
-	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
-	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
-	 * VIEWS (which are using reflection)
-	 */
-    
-    public void testWorkingMemoryView() throws Exception {
-    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
-    	session.insert("Test1");
-    	session.insert("Test2");
-    	Object[] objects = session.iterateObjectsToList().toArray();
-    	assertEquals(2, objects.length);
-    	assertTrue(("Test1".equals(objects[0]) && "Test2".equals(objects[1])) ||
-    			   ("Test2".equals(objects[0]) && "Test1".equals(objects[1])));
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,109 @@
+package org.drools.eclipse.debug;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map.Entry;
+
+import junit.framework.TestCase;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.base.MapGlobalResolver;
+import org.drools.compiler.PackageBuilder;
+import org.drools.reteoo.ReteooStatefulSession;
+import org.drools.spi.Activation;
+import org.drools.spi.AgendaGroup;
+
+/**
+ *
+ * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
+ * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
+ * VIEWS (which are using reflection)
+ *    
+ * @author Kris Verlaenen
+ */
+public class DebugViewsTest extends TestCase {
+	
+	/*
+	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
+	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
+	 * VIEWS (which are using reflection)
+	 */
+    
+    public void testApplicationDataView() throws Exception {
+    	Reader source = new InputStreamReader(DebugViewsTest.class.getResourceAsStream("/debug.drl"));
+    	PackageBuilder builder = new PackageBuilder();
+    	builder.addPackageFromDrl(source);
+    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+    	ruleBase.addPackage(builder.getPackage());
+    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
+    	session.setGlobal("s", "String");
+    	List list = new ArrayList();
+    	list.add("Value");
+    	session.setGlobal("list", list);
+    	Entry[] globals = ((MapGlobalResolver) session.getGlobalResolver()).getGlobals();
+    	assertEquals(2, globals.length);
+    	if ("list".equals(globals[0].getKey())) {
+	    	assertEquals("list", globals[0].getKey());
+	    	assertEquals(list, globals[0].getValue());
+	    	assertEquals("s", globals[1].getKey());
+	    	assertEquals("String", globals[1].getValue());
+    	} else {
+	    	assertEquals("list", globals[1].getKey());
+	    	assertEquals(list, globals[1].getValue());
+	    	assertEquals("s", globals[0].getKey());
+	    	assertEquals("String", globals[0].getValue());
+    	}
+    }
+    
+	/*
+	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
+	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
+	 * VIEWS (which are using reflection)
+	 */
+    
+    public void testAgendaView() throws Exception {
+    	Reader source = new InputStreamReader(DebugViewsTest.class.getResourceAsStream("/debug.drl"));
+    	PackageBuilder builder = new PackageBuilder();
+    	builder.addPackageFromDrl(source);
+    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+    	ruleBase.addPackage(builder.getPackage());
+    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
+    	List list = new ArrayList();
+    	session.setGlobal("list", list);
+    	session.insert("String1");
+    	AgendaGroup focus = session.getAgenda().getFocus();
+    	assertEquals("MAIN", focus.getName());
+    	AgendaGroup[] agendaGroups = session.getAgenda().getAgendaGroups();
+    	assertEquals(1, agendaGroups.length);
+    	assertEquals("MAIN", agendaGroups[0].getName());
+    	assertEquals(1, agendaGroups[0].getActivations().length);
+    	
+    	Activation activation = agendaGroups[0].getActivations()[0];
+    	assertEquals("ActivationCreator", activation.getRule().getName());
+    	Entry[] parameters = session.getActivationParameters(activation.getActivationNumber());
+    	assertEquals(1, parameters.length);
+    	assertEquals("o", parameters[0].getKey());
+    	assertEquals("String1", parameters[0].getValue());
+    }
+    
+	/*
+	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
+	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
+	 * VIEWS (which are using reflection)
+	 */
+    
+    public void testWorkingMemoryView() throws Exception {
+    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
+    	session.insert("Test1");
+    	session.insert("Test2");
+    	Object[] objects = session.iterateObjectsToList().toArray();
+    	assertEquals(2, objects.length);
+    	assertTrue(("Test1".equals(objects[0]) && "Test2".equals(objects[1])) ||
+    			   ("Test2".equals(objects[0]) && "Test1".equals(objects[1])));
+    }
+    
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,52 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import junit.framework.TestCase;
-
-import org.drools.eclipse.dsl.editor.DSLAdapter;
-
-/**
- * 
- * @author Michael Neale
- */
-public class DSLAdapterTest extends TestCase {
-    
-    public void testFindExpander() {
-        
-        StringBuffer buf = largeString();
-        
-        String pat = "\nexpander  \t abc.dsl ";
-        
-        assertEquals("abc.dsl", DSLAdapter.findDSLConfigName( pat ));
-        
-        
-        assertEquals("abc.dsl", DSLAdapter.findDSLConfigName( buf.toString() ));
-        
-        assertEquals(null, DSLAdapter.findDSLConfigName( "abc /n/n" ));
-        
-        assertEquals(null, DSLAdapter.findDSLConfigName( "fdfds" ));
-        
-    }
-    
-    public void testLoadGrammar() throws Exception {
-        DSLAdapter ad = new DSLAdapter();
-        
-        ad.readConfig( this.getClass().getResourceAsStream( "test.dsl" ) );
-        assertNotNull(ad.listConditionItems());
-        assertNotNull(ad.listConsequenceItems());
-    }
-
-    private StringBuffer largeString() {
-        StringBuffer buf = new StringBuffer();
-        for (int i = 0; i < 1000; i++) {
-            if (i == 42) {
-                buf.append( "\n   expander abc.dsl  \n" );
-            }
-            
-            buf.append( "\n" );
-            buf.append( " fdsfdsfds && " + i);
-            
-        }
-        return buf;
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,52 @@
+package org.drools.eclipse.dsl.editor;
+
+import junit.framework.TestCase;
+
+import org.drools.eclipse.dsl.editor.DSLAdapter;
+
+/**
+ * 
+ * @author Michael Neale
+ */
+public class DSLAdapterTest extends TestCase {
+    
+    public void testFindExpander() {
+        
+        StringBuffer buf = largeString();
+        
+        String pat = "\nexpander  \t abc.dsl ";
+        
+        assertEquals("abc.dsl", DSLAdapter.findDSLConfigName( pat ));
+        
+        
+        assertEquals("abc.dsl", DSLAdapter.findDSLConfigName( buf.toString() ));
+        
+        assertEquals(null, DSLAdapter.findDSLConfigName( "abc /n/n" ));
+        
+        assertEquals(null, DSLAdapter.findDSLConfigName( "fdfds" ));
+        
+    }
+    
+    public void testLoadGrammar() throws Exception {
+        DSLAdapter ad = new DSLAdapter();
+        
+        ad.readConfig( this.getClass().getResourceAsStream( "test.dsl" ) );
+        assertNotNull(ad.listConditionItems());
+        assertNotNull(ad.listConsequenceItems());
+    }
+
+    private StringBuffer largeString() {
+        StringBuffer buf = new StringBuffer();
+        for (int i = 0; i < 1000; i++) {
+            if (i == 42) {
+                buf.append( "\n   expander abc.dsl  \n" );
+            }
+            
+            buf.append( "\n" );
+            buf.append( " fdsfdsfds && " + i);
+            
+        }
+        return buf;
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3 +0,0 @@
-#this is a DSL
-[condition][]Left hand side=Right hand side
-[condition][]Something else=boo
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3 @@
+#this is a DSL
+[condition][]Left hand side=Right hand side
+[condition][]Something else=boo
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.FastPartitioner;
-
-import junit.framework.TestCase;
-
-public class AbstractCompletionProcessorTest extends TestCase {
-
-    public void testReadBackwards() throws BadLocationException {
-        //setup
-        IDocument doc = getDoc();
-        int rhsStartOffset = 150;
-
-        AbstractCompletionProcessor proc = new MockCompletionProcessor();
-        String backText = proc.readBackwards( rhsStartOffset,
-                                              doc );
-        String rule2 = "\nrule YourRule \n" + //
-                       "   dialect \"mvel\"\n" + //
-                       "   when\n" + //
-                       "       Class ( )\n" + //
-                       "   then\n";
-
-        assertEquals( rule2,
-                      backText );
-    }
-
-    private IDocument getDoc() {
-        String input = "rule MyRule \n" + //
-                       "   when\n" + //
-                       "       Class ( )\n" + //
-                       "   then\n" + //
-                       "       System.out.println(\"Hey\");\n" + //
-                       "end\n" + //
-                       "rule YourRule \n" + //
-                       "   dialect \"mvel\"\n" + //
-                       "   when\n" + //
-                       "       Class ( )\n" + //
-                       "   then\n" + //
-                       "       " +//
-                       "end\n\n" ;
-
-        IDocument doc = new Document( input );
-        IDocumentPartitioner partitioner = new FastPartitioner( new DRLPartionScanner(),
-                                                                DRLPartionScanner.LEGAL_CONTENT_TYPES );
-        partitioner.connect( doc );
-        doc.setDocumentPartitioner( partitioner );
-        return doc;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+package org.drools.eclipse.editors.completion;
+
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.rules.FastPartitioner;
+
+import junit.framework.TestCase;
+
+public class AbstractCompletionProcessorTest extends TestCase {
+
+    public void testReadBackwards() throws BadLocationException {
+        //setup
+        IDocument doc = getDoc();
+        int rhsStartOffset = 150;
+
+        AbstractCompletionProcessor proc = new MockCompletionProcessor();
+        String backText = proc.readBackwards( rhsStartOffset,
+                                              doc );
+        String rule2 = "\nrule YourRule \n" + //
+                       "   dialect \"mvel\"\n" + //
+                       "   when\n" + //
+                       "       Class ( )\n" + //
+                       "   then\n";
+
+        assertEquals( rule2,
+                      backText );
+    }
+
+    private IDocument getDoc() {
+        String input = "rule MyRule \n" + //
+                       "   when\n" + //
+                       "       Class ( )\n" + //
+                       "   then\n" + //
+                       "       System.out.println(\"Hey\");\n" + //
+                       "end\n" + //
+                       "rule YourRule \n" + //
+                       "   dialect \"mvel\"\n" + //
+                       "   when\n" + //
+                       "       Class ( )\n" + //
+                       "   then\n" + //
+                       "       " +//
+                       "end\n\n" ;
+
+        IDocument doc = new Document( input );
+        IDocumentPartitioner partitioner = new FastPartitioner( new DRLPartionScanner(),
+                                                                DRLPartionScanner.LEGAL_CONTENT_TYPES );
+        partitioner.connect( doc );
+        doc.setDocumentPartitioner( partitioner );
+        return doc;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,1899 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import org.drools.lang.Location;
-
-import junit.framework.TestCase;
-
-/**
- * Test to check the location determination when doing code completion inside
- * rule condtions.
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- *
- */
-public class CompletionContextTest extends TestCase {
-
-    public void testColumnOperatorPattern() {
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    property ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property   ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : property ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(name:property ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    name:property ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name:property   ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(   name  :  property  ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", property2 ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", name : property2 ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", name:property2 ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\",   name  :  property2  ").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name:prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(name:prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(   name  :  prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property <= ").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : property == ").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(property==").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property contains ").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", property2 >= ").matches());
-    }
-
-    public void testColumnArgumentPattern() {
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property == ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property >= ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(property== ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(   property   ==   ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( name : property == ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(name:property== ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(  name  :  property  ==  ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\", property2 == ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\",property2== ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\",  property2  ==  ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property == otherProp").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(property==otherProp").matches());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( condition == true ) \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		class: Class( condition == true, condition2 == null ) \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION5() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( condition == true ) \n" +
-        	"		Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION6() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		class: Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION7() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		class:Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    /** Inside of condition: start */
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START2() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( na";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("na", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START3() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name.subProperty['test'].subsu";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("name.subProperty['test'].subsu", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START4() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( condition == true, ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START5() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( condition == true, na";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START6() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( \n" +
-        	"			";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START7() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( condition == true, \n" +
-        	"			";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START8() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( c: condition, \n" +
-        	"			";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START9a() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       Class ( name:";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START9b() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name: ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START10() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name:";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-
-    }
-
-    /** Inside of  condition: Operator */
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR1() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR2() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class(property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR3() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name : property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR4() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class (name:property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR5() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class (name:property   ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR6() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1 : property1, name : property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR7() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1 : property1 == \"value\", name : property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR8() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1 : property1 == \"value\",property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR9() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1 : property1, \n" +
-        	"			name : property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    /** Inside of condition: argument */
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT1() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property== ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT3() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name : property <= ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("<=", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name:property != ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("!=", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT5() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1 : property1, property2 == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class (name:property== ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT7() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property == otherPropertyN";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT8() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property == \"someth";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT9() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property contains ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("contains", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT10() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property excludes ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("excludes", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT11() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property matches \"prop";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("matches", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT12() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property in ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("in", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property in ('1', '2') ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START11() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property in ('1', '2'), ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT13() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not in ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("in", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not in ('1', '2') ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START12() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not in ('1', '2'), ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT14() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property memberOf ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("memberOf", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property memberOf collection ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START13() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property memberOf collection, ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT15() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not memberOf ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("memberOf", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not memberOf collection ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START14() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not memberOf collection, ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    /** EXISTS */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists(";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS5() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists ( Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists ( name : Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDeterminationINSIDE_CONDITION_START16() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    /** NOT */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS7() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not exists ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS8() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not exists Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START21() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START22() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not exists Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START23() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not exists name : Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION9() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not Class () \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    /** AND */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) &&  ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class () and   ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		name : Class ( name: property ) and ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR5() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name: property ) \n" +
-        	"       and ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR7() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and name : Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR8() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) && name : Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION31() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION32() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and not Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION33() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and exists Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START20() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and Class ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR21() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and Class ( name ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("name", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR22() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and Class ( name == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class ( ) and not ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class ( ) and exists ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION30() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and not Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-
-        /** OR */
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR21() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR22() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) || ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR23() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class () or   ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR24() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		name : Class ( name: property ) or ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR25() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name: property ) \n" +
-        	"       or ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR26() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR27() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or name : Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR28() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) || name : Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION40() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START40() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or Class ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or Class ( name ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("name", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT30() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or Class ( name == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_EGIN_OF_CONDITION_NOT() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class ( ) or not ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS40() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class ( ) or exists ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    /** EVAL */
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval(";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( myCla";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("myCla", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getMetho";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getMetho", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL5() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getMethod(";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getMethod(", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getMethod().get";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getMethod().get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL7() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getMethod(\"someStringWith)))\").get";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getMethod(\"someStringWith)))\").get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL8() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getMethod(\"someStringWith(((\").get";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getMethod(\"someStringWith(((\").get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL9() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( true )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION50() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getProperty(name).isTrue() )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION51() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getProperty(\"someStringWith(((\").isTrue() )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL10() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getProperty((((String) s) )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getProperty((((String) s) )", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION52() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getProperty((((String) s))))";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION53() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( true ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    /** MULTIPLE RESTRICTIONS */
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR12() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 && ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR13() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name : property1, property2 > 0 && ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR14() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property1 < 20, property2 > 0 && ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT20() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 && < ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("<", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 && < 10 ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START41() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 && < 10, ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR60() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 || ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR61() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 || \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR62() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name : property1, property2 > 0 || ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR63() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property1 < 20, property2 > 0 || ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END10() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END11() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END12() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 && < 10 ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END13() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 || < 10 ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END14() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property == \"test\" || == \"test2\" ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        }
-
-    /** FROM */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION60() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION61() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) fr";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
-        assertEquals("", location.getProperty(Location.LOCATION_FROM_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from myGlob";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
-        assertEquals("myGlob", location.getProperty(Location.LOCATION_FROM_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from myGlobal.get";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
-        assertEquals("myGlobal.get", location.getProperty(Location.LOCATION_FROM_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION75() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from myGlobal.getList() \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION71() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from getDroolsFunction() \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    /** FROM ACCUMULATE */
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate(";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION73() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total = 0; ), \n" +
-        	"			action( total += $cheese.getPrice(); ), \n" +
-        	"           result( new Integer( total ) ) \n" +
-        	"		) \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_INIT_INSIDE() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE, location.getType());
-        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_ACTION_INSIDE() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total = 0; ), \n" +
-        	"			action( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE, location.getType());
-        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_RESULT_INSIDE() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total = 0; ), \n" +
-        	"			action( total += $cheese.getPrice(); ), \n" +
-        	"           result( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE, location.getType());
-        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        assertEquals(" total += $cheese.getPrice(); ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
-        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_INIT_INSIDE2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total =";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE, location.getType());
-        assertEquals("int total =", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_ACTION_INSIDE2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total = 0; ), \n" +
-        	"			action( total += $ch";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE, location.getType());
-        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        assertEquals("total += $ch", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_RESULT_INSIDE2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total = 0; ), \n" +
-        	"			action( total += $cheese.getPrice(); ), \n" +
-        	"           result( new Integer( tot";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE, location.getType());
-        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        assertEquals(" total += $cheese.getPrice(); ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
-        assertEquals("new Integer( tot", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR40() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    /** FROM COLLECT */
-    public void testCheckLHSLocationDetermination_FROM_COLLECT1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_COLLECT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_COLLECT2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect(";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_COLLECT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION67() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect ( \n" +
-        	"			Cheese( type == $likes )" +
-        	"		) \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START31() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect ( \n" +
-        	"			Cheese( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR31() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect ( \n" +
-        	"			Cheese( type ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT21() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect ( \n" +
-        	"			Cheese( type == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    /** NESTED FROM */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION68() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM5() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) from ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION69() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION70() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
-        }
-
-    /** FORALL */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION81() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		forall ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START32() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		forall ( " +
-        	"           Class ( pr";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("pr", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR32() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		forall ( " +
-        	"           Class ( property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT22() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		forall ( " +
-        	"           Class ( property == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION76() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		forall ( " +
-        	"           Class ( property == \"test\")" +
-        	"           C";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION77a() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() ) ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION77b() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START45a() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       Class ( name :";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START45b() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       Class ( name : ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckRHSLocationDetermination_firstLineOfLHS() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when\n" +
-        	"		Class ( )\n" +
-        	"   then\n" +
-        	"       ";
-
-        Location location = new CompletionContext(input).getLocation();
-
-        assertEquals(Location.LOCATION_RHS, location.getType());
-        assertEquals("", location.getProperty(Location.LOCATION_RHS_CONTENT));
-    }
-
-    public void testCheckRHSLocationDetermination_startOfNewlINE() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when\n" +
-        	"		Class ( )\n" +
-        	"   then\n" +
-        	"       assert(null);\n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RHS, location.getType());
-        assertEquals("assert(null);\n       ", location.getProperty(Location.LOCATION_RHS_CONTENT));
-    }
-
-    public void testCheckRHSLocationDetermination3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when\n" +
-        	"		Class ( )\n" +
-        	"   then\n" +
-        	"       meth";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RHS, location.getType());
-        assertEquals("meth", location.getProperty(Location.LOCATION_RHS_CONTENT));
-    }
-
-    public void testCheckRuleHeaderLocationDetermination() {
-        String input =
-        	"rule MyRule ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void testCheckRuleHeaderLocationDetermination2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	salience 12 activation-group \"my";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void FAILINGtestCheckRuleHeaderLocationDetermination3() {
-        // KRISV: still can't make this work... apparently, ANTLR is trying to recover from
-        // the error (unkown token) by deleting the token. I don't know why it continues to
-        // execute actions though, if the EOF is found.
-        String input =
-          "rule \"Hello World\" ruleflow-group \"hello\" s";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void testCheckRuleHeaderLocationDetermination_dialect1() {
-        String input  =
-        	"rule MyRule \n" +
-        	"	dialect \"java\"";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void testCheckRuleHeaderLocationDetermination_dialect2() {
-        String input  =
-        	"rule MyRule \n" +
-        	"	dialect \"mvel\"";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void testCheckRuleHeaderLocationDetermination_dialect3() {
-        String input  =
-        	"rule MyRule \n" +
-        	"	dialect ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void testCheckRuleHeaderLocationDetermination_dialect4() {
-        String input  =
-        	"rule MyRule \n" +
-        	"	dialect \"";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    //TODO: add tests for dialect defined at package header level
-
-    public void testCheckQueryLocationDetermination_RULE_HEADER1() {
-        String input =
-        	"query MyQuery ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-        }
-
-    public void testCheckQueryLocationDetermination_RULE_HEADER2() {
-        String input =
-        	"query \"MyQuery\" ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-        }
-
-    public void testCheckQueryLocationDetermination_LHS_BEGIN_OF_CONDITION() {
-        String input =
-            "query MyQuery() ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckQueryLocationDetermination_LHS_INSIDE_CONDITION_START() {
-        String input =
-        	"query MyQuery \n" +
-        	"	Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,1899 @@
+package org.drools.eclipse.editors.completion;
+
+import org.drools.lang.Location;
+
+import junit.framework.TestCase;
+
+/**
+ * Test to check the location determination when doing code completion inside
+ * rule condtions.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ *
+ */
+public class CompletionContextTest extends TestCase {
+
+    public void testColumnOperatorPattern() {
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    property ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property   ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : property ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(name:property ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    name:property ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name:property   ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(   name  :  property  ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", property2 ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", name : property2 ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", name:property2 ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\",   name  :  property2  ").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name:prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(name:prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(   name  :  prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property <= ").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : property == ").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(property==").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property contains ").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", property2 >= ").matches());
+    }
+
+    public void testColumnArgumentPattern() {
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property == ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property >= ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(property== ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(   property   ==   ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( name : property == ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(name:property== ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(  name  :  property  ==  ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\", property2 == ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\",property2== ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\",  property2  ==  ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property == otherProp").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(property==otherProp").matches());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( condition == true ) \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		class: Class( condition == true, condition2 == null ) \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION5() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( condition == true ) \n" +
+        	"		Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION6() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		class: Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION7() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		class:Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    /** Inside of condition: start */
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START2() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( na";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("na", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START3() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name.subProperty['test'].subsu";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("name.subProperty['test'].subsu", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START4() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( condition == true, ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START5() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( condition == true, na";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START6() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( \n" +
+        	"			";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START7() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( condition == true, \n" +
+        	"			";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START8() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( c: condition, \n" +
+        	"			";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START9a() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       Class ( name:";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START9b() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name: ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START10() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name:";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+
+    }
+
+    /** Inside of  condition: Operator */
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR1() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR2() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class(property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR3() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name : property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR4() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class (name:property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR5() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class (name:property   ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR6() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1 : property1, name : property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR7() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1 : property1 == \"value\", name : property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR8() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1 : property1 == \"value\",property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR9() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1 : property1, \n" +
+        	"			name : property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    /** Inside of condition: argument */
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT1() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property== ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT3() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name : property <= ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("<=", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name:property != ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("!=", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT5() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1 : property1, property2 == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class (name:property== ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT7() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property == otherPropertyN";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT8() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property == \"someth";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT9() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property contains ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("contains", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT10() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property excludes ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("excludes", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT11() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property matches \"prop";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("matches", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT12() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property in ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("in", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property in ('1', '2') ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START11() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property in ('1', '2'), ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT13() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not in ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("in", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not in ('1', '2') ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START12() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not in ('1', '2'), ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT14() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property memberOf ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("memberOf", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property memberOf collection ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START13() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property memberOf collection, ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT15() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not memberOf ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("memberOf", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not memberOf collection ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START14() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not memberOf collection, ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    /** EXISTS */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists(";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS5() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists ( Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists ( name : Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDeterminationINSIDE_CONDITION_START16() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    /** NOT */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS7() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not exists ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS8() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not exists Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START21() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START22() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not exists Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START23() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not exists name : Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION9() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not Class () \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    /** AND */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) &&  ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class () and   ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		name : Class ( name: property ) and ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR5() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name: property ) \n" +
+        	"       and ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR7() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and name : Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR8() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) && name : Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION31() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION32() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and not Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION33() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and exists Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START20() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and Class ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR21() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and Class ( name ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("name", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR22() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and Class ( name == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class ( ) and not ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class ( ) and exists ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION30() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and not Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+
+        /** OR */
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR21() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR22() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) || ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR23() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class () or   ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR24() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		name : Class ( name: property ) or ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR25() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name: property ) \n" +
+        	"       or ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR26() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR27() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or name : Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR28() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) || name : Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION40() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START40() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or Class ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or Class ( name ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("name", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT30() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or Class ( name == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_EGIN_OF_CONDITION_NOT() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class ( ) or not ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS40() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class ( ) or exists ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    /** EVAL */
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval(";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( myCla";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("myCla", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getMetho";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getMetho", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL5() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getMethod(";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getMethod(", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getMethod().get";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getMethod().get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL7() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getMethod(\"someStringWith)))\").get";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getMethod(\"someStringWith)))\").get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL8() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getMethod(\"someStringWith(((\").get";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getMethod(\"someStringWith(((\").get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL9() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( true )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION50() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getProperty(name).isTrue() )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION51() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getProperty(\"someStringWith(((\").isTrue() )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL10() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getProperty((((String) s) )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getProperty((((String) s) )", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION52() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getProperty((((String) s))))";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION53() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( true ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    /** MULTIPLE RESTRICTIONS */
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR12() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 && ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR13() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name : property1, property2 > 0 && ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR14() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property1 < 20, property2 > 0 && ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT20() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 && < ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("<", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 && < 10 ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START41() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 && < 10, ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR60() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 || ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR61() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 || \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR62() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name : property1, property2 > 0 || ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR63() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property1 < 20, property2 > 0 || ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END10() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END11() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END12() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 && < 10 ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END13() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 || < 10 ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END14() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property == \"test\" || == \"test2\" ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        }
+
+    /** FROM */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION60() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION61() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) fr";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
+        assertEquals("", location.getProperty(Location.LOCATION_FROM_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from myGlob";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
+        assertEquals("myGlob", location.getProperty(Location.LOCATION_FROM_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from myGlobal.get";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
+        assertEquals("myGlobal.get", location.getProperty(Location.LOCATION_FROM_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION75() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from myGlobal.getList() \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION71() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from getDroolsFunction() \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    /** FROM ACCUMULATE */
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate(";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION73() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total = 0; ), \n" +
+        	"			action( total += $cheese.getPrice(); ), \n" +
+        	"           result( new Integer( total ) ) \n" +
+        	"		) \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_INIT_INSIDE() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE, location.getType());
+        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_ACTION_INSIDE() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total = 0; ), \n" +
+        	"			action( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE, location.getType());
+        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_RESULT_INSIDE() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total = 0; ), \n" +
+        	"			action( total += $cheese.getPrice(); ), \n" +
+        	"           result( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE, location.getType());
+        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        assertEquals(" total += $cheese.getPrice(); ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
+        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_INIT_INSIDE2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total =";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE, location.getType());
+        assertEquals("int total =", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_ACTION_INSIDE2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total = 0; ), \n" +
+        	"			action( total += $ch";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE, location.getType());
+        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        assertEquals("total += $ch", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_RESULT_INSIDE2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total = 0; ), \n" +
+        	"			action( total += $cheese.getPrice(); ), \n" +
+        	"           result( new Integer( tot";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE, location.getType());
+        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        assertEquals(" total += $cheese.getPrice(); ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
+        assertEquals("new Integer( tot", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR40() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    /** FROM COLLECT */
+    public void testCheckLHSLocationDetermination_FROM_COLLECT1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_COLLECT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_COLLECT2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect(";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_COLLECT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION67() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect ( \n" +
+        	"			Cheese( type == $likes )" +
+        	"		) \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START31() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect ( \n" +
+        	"			Cheese( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR31() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect ( \n" +
+        	"			Cheese( type ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT21() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect ( \n" +
+        	"			Cheese( type == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    /** NESTED FROM */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION68() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM5() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) from ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION69() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION70() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
+        }
+
+    /** FORALL */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION81() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		forall ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START32() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		forall ( " +
+        	"           Class ( pr";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("pr", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR32() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		forall ( " +
+        	"           Class ( property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT22() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		forall ( " +
+        	"           Class ( property == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION76() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		forall ( " +
+        	"           Class ( property == \"test\")" +
+        	"           C";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION77a() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() ) ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION77b() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START45a() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       Class ( name :";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START45b() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       Class ( name : ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckRHSLocationDetermination_firstLineOfLHS() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when\n" +
+        	"		Class ( )\n" +
+        	"   then\n" +
+        	"       ";
+
+        Location location = new CompletionContext(input).getLocation();
+
+        assertEquals(Location.LOCATION_RHS, location.getType());
+        assertEquals("", location.getProperty(Location.LOCATION_RHS_CONTENT));
+    }
+
+    public void testCheckRHSLocationDetermination_startOfNewlINE() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when\n" +
+        	"		Class ( )\n" +
+        	"   then\n" +
+        	"       assert(null);\n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RHS, location.getType());
+        assertEquals("assert(null);\n       ", location.getProperty(Location.LOCATION_RHS_CONTENT));
+    }
+
+    public void testCheckRHSLocationDetermination3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when\n" +
+        	"		Class ( )\n" +
+        	"   then\n" +
+        	"       meth";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RHS, location.getType());
+        assertEquals("meth", location.getProperty(Location.LOCATION_RHS_CONTENT));
+    }
+
+    public void testCheckRuleHeaderLocationDetermination() {
+        String input =
+        	"rule MyRule ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void testCheckRuleHeaderLocationDetermination2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	salience 12 activation-group \"my";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void FAILINGtestCheckRuleHeaderLocationDetermination3() {
+        // KRISV: still can't make this work... apparently, ANTLR is trying to recover from
+        // the error (unkown token) by deleting the token. I don't know why it continues to
+        // execute actions though, if the EOF is found.
+        String input =
+          "rule \"Hello World\" ruleflow-group \"hello\" s";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void testCheckRuleHeaderLocationDetermination_dialect1() {
+        String input  =
+        	"rule MyRule \n" +
+        	"	dialect \"java\"";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void testCheckRuleHeaderLocationDetermination_dialect2() {
+        String input  =
+        	"rule MyRule \n" +
+        	"	dialect \"mvel\"";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void testCheckRuleHeaderLocationDetermination_dialect3() {
+        String input  =
+        	"rule MyRule \n" +
+        	"	dialect ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void testCheckRuleHeaderLocationDetermination_dialect4() {
+        String input  =
+        	"rule MyRule \n" +
+        	"	dialect \"";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    //TODO: add tests for dialect defined at package header level
+
+    public void testCheckQueryLocationDetermination_RULE_HEADER1() {
+        String input =
+        	"query MyQuery ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+        }
+
+    public void testCheckQueryLocationDetermination_RULE_HEADER2() {
+        String input =
+        	"query \"MyQuery\" ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+        }
+
+    public void testCheckQueryLocationDetermination_LHS_BEGIN_OF_CONDITION() {
+        String input =
+            "query MyQuery() ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckQueryLocationDetermination_LHS_INSIDE_CONDITION_START() {
+        String input =
+        	"query MyQuery \n" +
+        	"	Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,341 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import org.eclipse.jdt.core.Signature;
-
-import junit.framework.TestCase;
-
-public class CompletionUtilTest extends TestCase {
-
-    public void testIsGetter() {
-        assertTrue( CompletionUtil.isGetter( "getThis",
-                                             0,
-                                             "String" ) );
-    }
-
-    public void testIsGetterCannotReturnVoid() {
-        assertFalse( CompletionUtil.isGetter( "getThis",
-                                              0,
-                                              Signature.SIG_VOID ) );
-    }
-
-    public void testIsGetterWrongPrefix() {
-        assertFalse( CompletionUtil.isGetter( "hasThis",
-                                              0,
-                                              Signature.SIG_VOID ) );
-    }
-
-    public void testIsGetterTooManyArgs() {
-        assertFalse( CompletionUtil.isGetter( "getThis",
-                                              2,
-                                              "String" ) );
-    }
-
-    public void testIsGetterMethodNameTooShort() {
-        assertFalse( CompletionUtil.isGetter( "get",
-                                              2,
-                                              "String" ) );
-    }
-
-    public void testIsIsGetter() {
-        assertTrue( CompletionUtil.isIsGetter( "isGood",
-                                               0,
-                                               Signature.SIG_BOOLEAN ) );
-    }
-
-    public void testIsIsGetterWrongPrefix() {
-        assertFalse( CompletionUtil.isIsGetter( "getThis",
-                                                0,
-                                                Signature.SIG_BOOLEAN ) );
-    }
-
-    public void testIsIsGetterAlwaysReturnsBoolean() {
-        assertFalse( CompletionUtil.isIsGetter( "isThis",
-                                                0,
-                                                Signature.SIG_VOID ) );
-    }
-
-    public void testIsIsGetterTooManyArgs() {
-        assertFalse( CompletionUtil.isIsGetter( "isThis",
-                                                2,
-                                                "String" ) );
-    }
-
-    public void testIsIsGetterMethodNameTooShort() {
-        assertFalse( CompletionUtil.isIsGetter( "is",
-                                                2,
-                                                "String" ) );
-    }
-
-    public void testIsSetter() {
-        assertTrue( CompletionUtil.isSetter( "setThat",
-                                             1,
-                                             Signature.SIG_VOID ) );
-    }
-
-    public void testIsSetterWrongPrefix() {
-        assertFalse( CompletionUtil.isSetter( "getThat",
-                                              1,
-                                              Signature.SIG_VOID ) );
-    }
-
-    public void testIsSetterTooShort() {
-        assertFalse( CompletionUtil.isSetter( "se",
-                                              1,
-                                              Signature.SIG_VOID ) );
-    }
-
-    public void testIsSetterNoArgs() {
-        assertFalse( CompletionUtil.isSetter( "setThat",
-                                              0,
-                                              Signature.SIG_VOID ) );
-    }
-
-    public void testIsSetterWrongType() {
-        assertFalse( CompletionUtil.isSetter( "setThat",
-                                              1,
-                                              "String" ) );
-    }
-
-    public void testGetPropertyName() {
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "getMe",
-                                                      0,
-                                                      "String" ) );
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "isMe",
-                                                      0,
-                                                      Signature.SIG_BOOLEAN ) );
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "setMe",
-                                                      1,
-                                                      Signature.SIG_VOID ) );
-
-        assertEquals( "setMe",
-                      CompletionUtil.getPropertyName( "setMe",
-                                                      0,
-                                                      Signature.SIG_VOID ) );
-
-        assertEquals( "MySuperMethod",
-                      CompletionUtil.getPropertyName( "MySuperMethod",
-                                                      1,
-                                                      Signature.SIG_VOID ) );
-    }
-
-    public void testGetPropertyNameStripsParenthesis() {
-
-        assertEquals( "MySuperMethod()",
-                      CompletionUtil.getPropertyName( "MySuperMethod()",
-                                                      1,
-                                                      Signature.SIG_VOID ) );
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "getMe()",
-                                                      0,
-                                                      "String" ) );
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "isMe()",
-                                                      0,
-                                                      Signature.SIG_BOOLEAN ) );
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "setMe()",
-                                                      1,
-                                                      Signature.SIG_VOID ) );
-    }
-
-    public void testStripLastWord() {
-        String backtext = "rule \"GoodBye\"\r\n" + "	no-loop true\r\n" + "	when\r\n" + "		m : Message( status == Message.GOODBYE, message : message )\r\n" + "	then\r\n" + "		m.message=message;\r\n" + "		m.last";
-
-        String lastword = "last";
-        assertEquals( lastword,
-                      CompletionUtil.stripLastWord( backtext ) );
-    }
-
-    public void testGetPreviousExpression1() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression2() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message== ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression3() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(sdasdasd, ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression4() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message( ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression5() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   this.asd ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression6() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(){ ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression7() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetLastExpression11() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d'";
-        String previous = "\r\n" + "   adasd ='d'";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression1() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
-        String previous = "\r\n   adasd ='d'";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression10() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';\r\n";
-        assertEquals( backText,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression2() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message== ";
-        String previous = "\r\n   message== ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression3() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(sdasdasd, ";
-        String previous = "\r\n   message(sdasdasd, ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression4() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message( ";
-        String previous = "\r\n   message( ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression5() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   this.asd ";
-        String previous = "\r\n   this.asd ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression6() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(){ ";
-        String previous = "\r\n   message(){ ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression7() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
-        String previous = "message== ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetInnerExpression() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
-        String previous = "";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetInnerExpression2() {
-        String backText = "System.out.println(m ";
-        String previous = "m";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetInnerExpression3() {
-        String backText = "update(m) {";
-        String previous = "";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetInnerExpression4() {
-        String backText = "update(m) {some=";
-        String previous = "";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetInnerExpression5() {
-        String backText = "update(m) {asdasdas==asdasd, asdasd";
-        String previous = "asdasd";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetInnerExpression6() {
-        String backText = "update(m) {asdasdas==asdasd, asdasd}";
-        String previous = "";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetLastExpression_withComments() {
-        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n\n";
-        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" + "\n";
-        assertEquals( exp,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression_withComments2() {
-        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n";
-        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" ;
-        assertEquals( exp,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-    public void testGetLastExpression_withComments3() {
-        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n";
-        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" ;
-        assertEquals( exp,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetTextWithoutPrefix() {
-        String text = "modify(m) {asdasdas==asdasd, asdasd.asa";
-        String expected = "modify(m) {asdasdas==asdasd, asdasd.";
-        assertEquals( expected,
-                      CompletionUtil.getTextWithoutPrefix( text,
-                                                           "asa" ) );
-    }
-
-    public void testGetTextWithoutPrefix2() {
-        String text = "it";
-        String expected = "";
-        assertEquals( expected,
-                      CompletionUtil.getTextWithoutPrefix( text,
-                                                           text ) );
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,341 @@
+package org.drools.eclipse.editors.completion;
+
+import org.eclipse.jdt.core.Signature;
+
+import junit.framework.TestCase;
+
+public class CompletionUtilTest extends TestCase {
+
+    public void testIsGetter() {
+        assertTrue( CompletionUtil.isGetter( "getThis",
+                                             0,
+                                             "String" ) );
+    }
+
+    public void testIsGetterCannotReturnVoid() {
+        assertFalse( CompletionUtil.isGetter( "getThis",
+                                              0,
+                                              Signature.SIG_VOID ) );
+    }
+
+    public void testIsGetterWrongPrefix() {
+        assertFalse( CompletionUtil.isGetter( "hasThis",
+                                              0,
+                                              Signature.SIG_VOID ) );
+    }
+
+    public void testIsGetterTooManyArgs() {
+        assertFalse( CompletionUtil.isGetter( "getThis",
+                                              2,
+                                              "String" ) );
+    }
+
+    public void testIsGetterMethodNameTooShort() {
+        assertFalse( CompletionUtil.isGetter( "get",
+                                              2,
+                                              "String" ) );
+    }
+
+    public void testIsIsGetter() {
+        assertTrue( CompletionUtil.isIsGetter( "isGood",
+                                               0,
+                                               Signature.SIG_BOOLEAN ) );
+    }
+
+    public void testIsIsGetterWrongPrefix() {
+        assertFalse( CompletionUtil.isIsGetter( "getThis",
+                                                0,
+                                                Signature.SIG_BOOLEAN ) );
+    }
+
+    public void testIsIsGetterAlwaysReturnsBoolean() {
+        assertFalse( CompletionUtil.isIsGetter( "isThis",
+                                                0,
+                                                Signature.SIG_VOID ) );
+    }
+
+    public void testIsIsGetterTooManyArgs() {
+        assertFalse( CompletionUtil.isIsGetter( "isThis",
+                                                2,
+                                                "String" ) );
+    }
+
+    public void testIsIsGetterMethodNameTooShort() {
+        assertFalse( CompletionUtil.isIsGetter( "is",
+                                                2,
+                                                "String" ) );
+    }
+
+    public void testIsSetter() {
+        assertTrue( CompletionUtil.isSetter( "setThat",
+                                             1,
+                                             Signature.SIG_VOID ) );
+    }
+
+    public void testIsSetterWrongPrefix() {
+        assertFalse( CompletionUtil.isSetter( "getThat",
+                                              1,
+                                              Signature.SIG_VOID ) );
+    }
+
+    public void testIsSetterTooShort() {
+        assertFalse( CompletionUtil.isSetter( "se",
+                                              1,
+                                              Signature.SIG_VOID ) );
+    }
+
+    public void testIsSetterNoArgs() {
+        assertFalse( CompletionUtil.isSetter( "setThat",
+                                              0,
+                                              Signature.SIG_VOID ) );
+    }
+
+    public void testIsSetterWrongType() {
+        assertFalse( CompletionUtil.isSetter( "setThat",
+                                              1,
+                                              "String" ) );
+    }
+
+    public void testGetPropertyName() {
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "getMe",
+                                                      0,
+                                                      "String" ) );
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "isMe",
+                                                      0,
+                                                      Signature.SIG_BOOLEAN ) );
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "setMe",
+                                                      1,
+                                                      Signature.SIG_VOID ) );
+
+        assertEquals( "setMe",
+                      CompletionUtil.getPropertyName( "setMe",
+                                                      0,
+                                                      Signature.SIG_VOID ) );
+
+        assertEquals( "MySuperMethod",
+                      CompletionUtil.getPropertyName( "MySuperMethod",
+                                                      1,
+                                                      Signature.SIG_VOID ) );
+    }
+
+    public void testGetPropertyNameStripsParenthesis() {
+
+        assertEquals( "MySuperMethod()",
+                      CompletionUtil.getPropertyName( "MySuperMethod()",
+                                                      1,
+                                                      Signature.SIG_VOID ) );
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "getMe()",
+                                                      0,
+                                                      "String" ) );
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "isMe()",
+                                                      0,
+                                                      Signature.SIG_BOOLEAN ) );
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "setMe()",
+                                                      1,
+                                                      Signature.SIG_VOID ) );
+    }
+
+    public void testStripLastWord() {
+        String backtext = "rule \"GoodBye\"\r\n" + "	no-loop true\r\n" + "	when\r\n" + "		m : Message( status == Message.GOODBYE, message : message )\r\n" + "	then\r\n" + "		m.message=message;\r\n" + "		m.last";
+
+        String lastword = "last";
+        assertEquals( lastword,
+                      CompletionUtil.stripLastWord( backtext ) );
+    }
+
+    public void testGetPreviousExpression1() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression2() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message== ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression3() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(sdasdasd, ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression4() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message( ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression5() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   this.asd ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression6() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(){ ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression7() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetLastExpression11() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d'";
+        String previous = "\r\n" + "   adasd ='d'";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression1() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
+        String previous = "\r\n   adasd ='d'";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression10() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';\r\n";
+        assertEquals( backText,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression2() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message== ";
+        String previous = "\r\n   message== ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression3() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(sdasdasd, ";
+        String previous = "\r\n   message(sdasdasd, ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression4() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message( ";
+        String previous = "\r\n   message( ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression5() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   this.asd ";
+        String previous = "\r\n   this.asd ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression6() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(){ ";
+        String previous = "\r\n   message(){ ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression7() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
+        String previous = "message== ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetInnerExpression() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
+        String previous = "";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetInnerExpression2() {
+        String backText = "System.out.println(m ";
+        String previous = "m";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetInnerExpression3() {
+        String backText = "update(m) {";
+        String previous = "";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetInnerExpression4() {
+        String backText = "update(m) {some=";
+        String previous = "";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetInnerExpression5() {
+        String backText = "update(m) {asdasdas==asdasd, asdasd";
+        String previous = "asdasd";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetInnerExpression6() {
+        String backText = "update(m) {asdasdas==asdasd, asdasd}";
+        String previous = "";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetLastExpression_withComments() {
+        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n\n";
+        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" + "\n";
+        assertEquals( exp,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression_withComments2() {
+        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n";
+        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" ;
+        assertEquals( exp,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+    public void testGetLastExpression_withComments3() {
+        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n";
+        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" ;
+        assertEquals( exp,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetTextWithoutPrefix() {
+        String text = "modify(m) {asdasdas==asdasd, asdasd.asa";
+        String expected = "modify(m) {asdasdas==asdasd, asdasd.";
+        assertEquals( expected,
+                      CompletionUtil.getTextWithoutPrefix( text,
+                                                           "asa" ) );
+    }
+
+    public void testGetTextWithoutPrefix2() {
+        String text = "it";
+        String expected = "";
+        assertEquals( expected,
+                      CompletionUtil.getTextWithoutPrefix( text,
+                                                           text ) );
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,34 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import junit.framework.TestCase;
-
-public class ContextScanningTest extends TestCase {
-
-    public void testCheckAfterToken() {
-        
-        
-        
-        assertTrue(checkContains("when", "rule something \nwhen \t blah"));
-        assertTrue(checkContains("when", "rule something when nothing"));
-        assertFalse(checkContains("when", "rule something whennothing"));
-        assertTrue(checkContains("when", "rule something \twhen nothing"));
-    }
-
-    private boolean checkContains(String keyword,
-                                 String chunk) {
-        //Pattern p = Pattern.compile(".*(.)" + keyword + "(.).*", Pattern.DOTALL);
-        Pattern p = Pattern.compile(".*rule.*\\W" + keyword + "\\W.*", Pattern.DOTALL);
-        Matcher matcher = p.matcher(chunk);
-       
-        return matcher.matches();
-    }
-    
-    
-
-
-
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,34 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import junit.framework.TestCase;
+
+public class ContextScanningTest extends TestCase {
+
+    public void testCheckAfterToken() {
+        
+        
+        
+        assertTrue(checkContains("when", "rule something \nwhen \t blah"));
+        assertTrue(checkContains("when", "rule something when nothing"));
+        assertFalse(checkContains("when", "rule something whennothing"));
+        assertTrue(checkContains("when", "rule something \twhen nothing"));
+    }
+
+    private boolean checkContains(String keyword,
+                                 String chunk) {
+        //Pattern p = Pattern.compile(".*(.)" + keyword + "(.).*", Pattern.DOTALL);
+        Pattern p = Pattern.compile(".*rule.*\\W" + keyword + "\\W.*", Pattern.DOTALL);
+        Matcher matcher = p.matcher(chunk);
+       
+        return matcher.matches();
+    }
+    
+    
+
+
+
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,60 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-public class DRLCompletionProcessorTest extends TestCase {
-
-    public void testLookBehind() {
-        assertEquals("something", CompletionUtil.stripLastWord(" something"));
-        assertEquals("another", CompletionUtil.stripLastWord("another"));
-
-        String s = "rule something \n\nwhen";
-        assertEquals("when", CompletionUtil.stripLastWord(s));
-    }
-
-    public void testPrefixFiltering_FiltersBasedOnDisplayedStringNotContent() {
-        List list = new ArrayList();
-        list.add(new RuleCompletionProposal(0, 0, "abcd", "zxyz"));
-        list.add(new RuleCompletionProposal(0, 0, "azard","good"));
-        list.add(new RuleCompletionProposal(0, 0, "art","apple"));
-        list.add(new RuleCompletionProposal(0, 0, "spe", "ape"));
-
-        DefaultCompletionProcessor.filterProposalsOnPrefix("a", list);
-        assertEquals(3, list.size());
-        assertEquals("zxyz", list.get(0).toString());
-        assertEquals("good", list.get(1).toString());
-        assertEquals("apple", list.get(2).toString());
-
-    }
-
-    public void testPrefixFiltering_FiltersAllWhenThereisNoMatches() {
-        List list = new ArrayList();
-        list = new ArrayList();
-        list.add(new RuleCompletionProposal(0, 0, "aardvark", "something"));
-        list.add(new RuleCompletionProposal(0, 0, "smeg"));
-        list.add(new RuleCompletionProposal(0, 0, "apple"));
-        list.add(new RuleCompletionProposal(0, 0, "ape", "zzzzz"));
-        DefaultCompletionProcessor.filterProposalsOnPrefix("xzyz", list);
-        assertEquals(0, list.size());
-
-    }
-
-    public void testPrefixFiltering_IgnoreCase() {
-        List list = new ArrayList();
-        list = new ArrayList();
-        list.add(new RuleCompletionProposal(0, 0, "ART"));
-        list.add(new RuleCompletionProposal(0, 0, "art"));
-        list.add(new RuleCompletionProposal(0, 0, "aRT"));
-        list.add(new RuleCompletionProposal(0, 0, "Art", "zzzzz"));
-        DefaultCompletionProcessor.filterProposalsOnPrefix("art", list);
-        assertEquals(4, list.size());
-
-        DefaultCompletionProcessor.filterProposalsOnPrefix("ART", list);
-        assertEquals(4, list.size());
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,60 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+public class DRLCompletionProcessorTest extends TestCase {
+
+    public void testLookBehind() {
+        assertEquals("something", CompletionUtil.stripLastWord(" something"));
+        assertEquals("another", CompletionUtil.stripLastWord("another"));
+
+        String s = "rule something \n\nwhen";
+        assertEquals("when", CompletionUtil.stripLastWord(s));
+    }
+
+    public void testPrefixFiltering_FiltersBasedOnDisplayedStringNotContent() {
+        List list = new ArrayList();
+        list.add(new RuleCompletionProposal(0, 0, "abcd", "zxyz"));
+        list.add(new RuleCompletionProposal(0, 0, "azard","good"));
+        list.add(new RuleCompletionProposal(0, 0, "art","apple"));
+        list.add(new RuleCompletionProposal(0, 0, "spe", "ape"));
+
+        DefaultCompletionProcessor.filterProposalsOnPrefix("a", list);
+        assertEquals(3, list.size());
+        assertEquals("zxyz", list.get(0).toString());
+        assertEquals("good", list.get(1).toString());
+        assertEquals("apple", list.get(2).toString());
+
+    }
+
+    public void testPrefixFiltering_FiltersAllWhenThereisNoMatches() {
+        List list = new ArrayList();
+        list = new ArrayList();
+        list.add(new RuleCompletionProposal(0, 0, "aardvark", "something"));
+        list.add(new RuleCompletionProposal(0, 0, "smeg"));
+        list.add(new RuleCompletionProposal(0, 0, "apple"));
+        list.add(new RuleCompletionProposal(0, 0, "ape", "zzzzz"));
+        DefaultCompletionProcessor.filterProposalsOnPrefix("xzyz", list);
+        assertEquals(0, list.size());
+
+    }
+
+    public void testPrefixFiltering_IgnoreCase() {
+        List list = new ArrayList();
+        list = new ArrayList();
+        list.add(new RuleCompletionProposal(0, 0, "ART"));
+        list.add(new RuleCompletionProposal(0, 0, "art"));
+        list.add(new RuleCompletionProposal(0, 0, "aRT"));
+        list.add(new RuleCompletionProposal(0, 0, "Art", "zzzzz"));
+        DefaultCompletionProcessor.filterProposalsOnPrefix("art", list);
+        assertEquals(4, list.size());
+
+        DefaultCompletionProcessor.filterProposalsOnPrefix("ART", list);
+        assertEquals(4, list.size());
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,589 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
-import org.drools.lang.descr.EvalDescr;
-import org.drools.lang.descr.FieldBindingDescr;
-import org.drools.lang.descr.FieldConstraintDescr;
-import org.drools.lang.descr.FromDescr;
-import org.drools.lang.descr.LiteralRestrictionDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.PatternDescr;
-import org.drools.lang.descr.RestrictionConnectiveDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.drools.lang.descr.VariableRestrictionDescr;
-
-/**
- * Test to check the results from parsing incomplete rule fragments.
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class IncompleteParsingTest extends TestCase {
-
-	private RuleDescr parseRuleString(String s) {
-		PackageDescr packageDescr = parseString(s);
-		if (packageDescr != null) {
-			List rules = packageDescr.getRules();
-			if (rules != null && rules.size() == 1) {
-				return (RuleDescr) rules.get(0);
-			}
-		}
-		return null;
-	}
-
-	private PackageDescr parseString(String s) {
-		DrlParser parser = new DrlParser();
-		try {
-			return parser.parse(s);
-		} catch (DroolsParserException exc) {
-			exc.printStackTrace();
-		}
-		return null;
-	}
-
-
-    public void testParsingColumn() {
-        String input =
-        	"rule MyRule \n" +
-        	"  when \n" +
-        	"    ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(0, rule.getLhs().getDescrs().size());
-
-
-        /**
-         * This is how the parsed tree should look like:
-         *
-         * RuleDescr
-         *   PatternDescr [objectType = "Class"]
-         *     FieldConstraintDescr [fieldName = "condition"]
-         *       LiteralRestrictionDescr [evaluator = "==", text = "true"]
-         */
-    }
-
-
-    public void testParsingColumn1() {
-        String input =
-        	"rule MyRule \n" +
-        	"  when \n" +
-        	"    Class( condition == true ) \n" +
-        	"    ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertTrue(pattern.getEndLine() != -1 || pattern.getEndColumn() != -1);
-        assertEquals(1, pattern.getDescrs().size());
-        assertEquals(input.indexOf( "Class" ), pattern.getStartCharacter());
-        assertEquals(input.indexOf( "(" ), pattern.getLeftParentCharacter());
-        assertEquals(input.indexOf( ")" ), pattern.getRightParentCharacter());
-        assertEquals(input.indexOf( ")" ), pattern.getEndCharacter());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("condition", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        LiteralRestrictionDescr restriction = (LiteralRestrictionDescr) field.getRestrictions().get(0);
-        assertEquals("==", restriction.getEvaluator());
-        assertEquals("true", restriction.getText());
-    }
-
-
-    public void testParsingColumn2() {
-        String input =
-
-        	"rule MyRule \n" +
-	    	"  when \n" +
-	    	"    class: Class( condition == true, condition2 == null ) \n" +
-	    	"    ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertTrue(pattern.getEndCharacter() != -1);
-    }
-
-
-    public void testParsingColumn3() {
-        String input =
-	    	"rule MyRule \n" +
-	    	"  when \n" +
-	    	"    Cl";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(0, rule.getLhs().getDescrs().size());
-
-    }
-
-
-    public void testParsingColumn4() {
-        String input =
-	    	"rule MyRule \n" +
-	    	"  when \n" +
-	    	"    Class( condition == true ) \n" +
-	    	"    Cl";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertTrue(pattern.getEndCharacter() != -1);
-
-    }
-
-
-    public void testParsingColumn5() {
-        String input =
-			"rule MyRule \n" +
-			"  when \n" +
-			"    class:";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("class", pattern.getIdentifier());
-        assertNull(pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn6() {
-        String input =
-			"rule MyRule \n" +
-			"  when \n" +
-			"    class: Cl";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("class", pattern.getIdentifier());
-        assertEquals("Cl", pattern.getObjectType());
-        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
-        assertEquals(0, pattern.getDescrs().size());
-        assertEquals(-1, pattern.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn7() {
-        String input =
-			"rule MyRule \n" +
-			"  when \n" +
-			"    class:Cl";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("class", pattern.getIdentifier());
-        assertEquals("Cl", pattern.getObjectType());
-        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
-        assertEquals(0, pattern.getDescrs().size());
-        assertEquals(-1, pattern.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn8() {
-        /** Inside of condition: start */
-        String input =
-			"rule MyRule \n" +
-			"  when \n" +
-			"    Class (";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
-        assertEquals(0, pattern.getDescrs().size());
-        assertEquals(-1, pattern.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn9() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( na";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals( "na", field.getFieldName() );
-        assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn10() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name['xyz'].subname.subsubn";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals( "name['xyz'].subname.subsubn", field.getFieldName() );
-        assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn11() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( condition == true, ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn12() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( c : condition, ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldBindingDescr fieldBinding = (FieldBindingDescr) pattern.getDescrs().get(0);
-        assertEquals(-1, fieldBinding.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn13() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( condition == true, na";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(2, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals(-1, field.getEndCharacter());
-        assertEquals( "condition", field.getFieldName() );
-         field = (FieldConstraintDescr) pattern.getDescrs().get(1);
-        assertEquals( "na", field.getFieldName() );
-        assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void FAILINGtestParsingColumn14() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name:";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldBindingDescr binding1 = (FieldBindingDescr) pattern.getDescrs().get(0);
-        assertEquals("name", binding1.getIdentifier());
-        assertNull(binding1.getFieldName());
-
-    }
-
-
-    public void testParsingColumn15() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(0, field.getRestrictions().size());
-        assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn16() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name: property ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
-        assertEquals("name", binding.getIdentifier());
-        assertEquals("property", binding.getFieldName());
-
-    }
-
-
-    public void testParsingColumn17() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1: property1 == \"value1\", name2: property2 ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(3, pattern.getDescrs().size());
-        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
-        assertEquals("name1", binding.getIdentifier());
-        assertEquals("property1", binding.getFieldName());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(1);
-        assertEquals("property1", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
-        assertEquals("==", literal.getEvaluator());
-        assertEquals("value1", literal.getText());
-        binding = (FieldBindingDescr) pattern.getDescrs().get(2);
-        assertEquals("name2", binding.getIdentifier());
-        assertEquals("property2", binding.getFieldName());
-
-    }
-
-
-    public void testParsingColumn18() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class(name:property==";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(2, pattern.getDescrs().size());
-        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
-        assertEquals("name", binding.getIdentifier());
-        assertEquals("property", binding.getFieldName());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(1);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-
-    }
-
-
-    public void testParsingColumn19() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( property == otherPropertyN";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        VariableRestrictionDescr variable = (VariableRestrictionDescr) field.getRestrictions().get(0);
-        assertEquals("==", variable.getEvaluator());
-        assertEquals("otherPropertyN", variable.getIdentifier());
-        assertEquals(-1, field.getEndCharacter());
-    }
-
-
-    public void testParsingColumn20() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( property == \"someth";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
-        // KRISV: for now, it would be really messy to make this work. String is a
-        // lexer rule (not parser), and changing that or controling the behavior of it
-        // is not simple. Can we leave the way it is for now?
-        //
-        // TODO literal should be a LiteralRestrictionDescr with filled in evaluator and text, not null
-        // assertEquals("==", literal.getEvaluator());
-        // assertEquals("someth", literal.getText());
-        // TODO this method does not yet exist
-        // assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn21() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( property contains ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        // KRISV: you are right
-        //
-        // now I would like to access the evaluator 'contains', but this seems
-        // not possible because the parser cannot create this descr yet
-        // since it does not know what class to create (VariableRestrictionDescr
-        // or LiteralRestrictionDescr or ?)
-        // so maybe I should just extract this info myself, based on the
-        // starting character of this FieldConstraintDescr?
-        // TODO this method does not yet exist
-        assertEquals(-1, field.getEndCharacter());
-    }
-
-
-    public void testParsingColumn22() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( property matches \"someth";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
-        // KRISV: see comments above
-        //
-        // TODO literal should be a LiteralRestrictionDescr with filled in evaluator and text, not null
-        // assertEquals("matches", literal.getEvaluator());
-        // assertEquals("someth", literal.getText());
-        // TODO this method does not yet exist
-        // assertEquals(-1, field.getEndCharacter());
-    }
-
-
-    public void testParsingColumn23() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       eval ( ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        EvalDescr eval = (EvalDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals(input.indexOf( "eval" ), eval.getStartCharacter());
-        assertEquals(-1, eval.getEndCharacter());
-    }
-
-
-    public void testParsingColumn24() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       Class ( property > 0 & ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
-        assertEquals(">", literal.getEvaluator());
-        assertEquals("0", literal.getText());
-        RestrictionConnectiveDescr connective = (RestrictionConnectiveDescr) field.getRestriction();
-        assertEquals(RestrictionConnectiveDescr.AND, connective.getConnective());
-    }
-
-
-    public void testParsingColumn25() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       Class ( ) from a";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        FromDescr from = (FromDescr) pattern.getSource();
-        assertEquals(-1, from.getEndCharacter());
-        assertTrue(pattern.getEndCharacter() != -1);
-    }
-
-
-    public void testParsingColumn26() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from myGlobal.getList() \n" +
-        	"       ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        FromDescr from = (FromDescr) pattern.getSource();
-        assertTrue(from.getEndCharacter() != -1);
-    }
-
-
-    public void testParsingColumn27() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from getDroolsFunction() \n" +
-        	"       ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        FromDescr from = (FromDescr) pattern.getSource();
-        assertTrue(from.getEndCharacter() != -1);
-    }
-
-    public void testParsingCharactersStartEnd() {
-        String input =
-        	"package test; \n" +
-        	"rule MyRule \n" +
-        	"  when \n" +
-        	"    Class( condition == true ) \n" +
-        	"  then \n" +
-        	"    System.out.println(\"Done\") \n" +
-        	"end \n";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(input.indexOf( "rule" ), rule.getStartCharacter());
-        assertEquals(input.indexOf( "end" )+2, rule.getEndCharacter());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals(input.indexOf( "Class" ), pattern.getStartCharacter());
-        assertEquals(input.indexOf( "(" ), pattern.getLeftParentCharacter());
-        assertEquals(input.indexOf( ")" ), pattern.getRightParentCharacter());
-        assertEquals(input.indexOf( ")" ), pattern.getEndCharacter());
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,589 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.DroolsParserException;
+import org.drools.lang.descr.EvalDescr;
+import org.drools.lang.descr.FieldBindingDescr;
+import org.drools.lang.descr.FieldConstraintDescr;
+import org.drools.lang.descr.FromDescr;
+import org.drools.lang.descr.LiteralRestrictionDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.PatternDescr;
+import org.drools.lang.descr.RestrictionConnectiveDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.drools.lang.descr.VariableRestrictionDescr;
+
+/**
+ * Test to check the results from parsing incomplete rule fragments.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class IncompleteParsingTest extends TestCase {
+
+	private RuleDescr parseRuleString(String s) {
+		PackageDescr packageDescr = parseString(s);
+		if (packageDescr != null) {
+			List rules = packageDescr.getRules();
+			if (rules != null && rules.size() == 1) {
+				return (RuleDescr) rules.get(0);
+			}
+		}
+		return null;
+	}
+
+	private PackageDescr parseString(String s) {
+		DrlParser parser = new DrlParser();
+		try {
+			return parser.parse(s);
+		} catch (DroolsParserException exc) {
+			exc.printStackTrace();
+		}
+		return null;
+	}
+
+
+    public void testParsingColumn() {
+        String input =
+        	"rule MyRule \n" +
+        	"  when \n" +
+        	"    ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(0, rule.getLhs().getDescrs().size());
+
+
+        /**
+         * This is how the parsed tree should look like:
+         *
+         * RuleDescr
+         *   PatternDescr [objectType = "Class"]
+         *     FieldConstraintDescr [fieldName = "condition"]
+         *       LiteralRestrictionDescr [evaluator = "==", text = "true"]
+         */
+    }
+
+
+    public void testParsingColumn1() {
+        String input =
+        	"rule MyRule \n" +
+        	"  when \n" +
+        	"    Class( condition == true ) \n" +
+        	"    ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertTrue(pattern.getEndLine() != -1 || pattern.getEndColumn() != -1);
+        assertEquals(1, pattern.getDescrs().size());
+        assertEquals(input.indexOf( "Class" ), pattern.getStartCharacter());
+        assertEquals(input.indexOf( "(" ), pattern.getLeftParentCharacter());
+        assertEquals(input.indexOf( ")" ), pattern.getRightParentCharacter());
+        assertEquals(input.indexOf( ")" ), pattern.getEndCharacter());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("condition", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        LiteralRestrictionDescr restriction = (LiteralRestrictionDescr) field.getRestrictions().get(0);
+        assertEquals("==", restriction.getEvaluator());
+        assertEquals("true", restriction.getText());
+    }
+
+
+    public void testParsingColumn2() {
+        String input =
+
+        	"rule MyRule \n" +
+	    	"  when \n" +
+	    	"    class: Class( condition == true, condition2 == null ) \n" +
+	    	"    ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertTrue(pattern.getEndCharacter() != -1);
+    }
+
+
+    public void testParsingColumn3() {
+        String input =
+	    	"rule MyRule \n" +
+	    	"  when \n" +
+	    	"    Cl";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(0, rule.getLhs().getDescrs().size());
+
+    }
+
+
+    public void testParsingColumn4() {
+        String input =
+	    	"rule MyRule \n" +
+	    	"  when \n" +
+	    	"    Class( condition == true ) \n" +
+	    	"    Cl";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertTrue(pattern.getEndCharacter() != -1);
+
+    }
+
+
+    public void testParsingColumn5() {
+        String input =
+			"rule MyRule \n" +
+			"  when \n" +
+			"    class:";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("class", pattern.getIdentifier());
+        assertNull(pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn6() {
+        String input =
+			"rule MyRule \n" +
+			"  when \n" +
+			"    class: Cl";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("class", pattern.getIdentifier());
+        assertEquals("Cl", pattern.getObjectType());
+        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
+        assertEquals(0, pattern.getDescrs().size());
+        assertEquals(-1, pattern.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn7() {
+        String input =
+			"rule MyRule \n" +
+			"  when \n" +
+			"    class:Cl";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("class", pattern.getIdentifier());
+        assertEquals("Cl", pattern.getObjectType());
+        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
+        assertEquals(0, pattern.getDescrs().size());
+        assertEquals(-1, pattern.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn8() {
+        /** Inside of condition: start */
+        String input =
+			"rule MyRule \n" +
+			"  when \n" +
+			"    Class (";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
+        assertEquals(0, pattern.getDescrs().size());
+        assertEquals(-1, pattern.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn9() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( na";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals( "na", field.getFieldName() );
+        assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn10() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name['xyz'].subname.subsubn";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals( "name['xyz'].subname.subsubn", field.getFieldName() );
+        assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn11() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( condition == true, ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn12() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( c : condition, ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldBindingDescr fieldBinding = (FieldBindingDescr) pattern.getDescrs().get(0);
+        assertEquals(-1, fieldBinding.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn13() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( condition == true, na";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(2, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals(-1, field.getEndCharacter());
+        assertEquals( "condition", field.getFieldName() );
+         field = (FieldConstraintDescr) pattern.getDescrs().get(1);
+        assertEquals( "na", field.getFieldName() );
+        assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void FAILINGtestParsingColumn14() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name:";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldBindingDescr binding1 = (FieldBindingDescr) pattern.getDescrs().get(0);
+        assertEquals("name", binding1.getIdentifier());
+        assertNull(binding1.getFieldName());
+
+    }
+
+
+    public void testParsingColumn15() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(0, field.getRestrictions().size());
+        assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn16() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name: property ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
+        assertEquals("name", binding.getIdentifier());
+        assertEquals("property", binding.getFieldName());
+
+    }
+
+
+    public void testParsingColumn17() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1: property1 == \"value1\", name2: property2 ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(3, pattern.getDescrs().size());
+        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
+        assertEquals("name1", binding.getIdentifier());
+        assertEquals("property1", binding.getFieldName());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(1);
+        assertEquals("property1", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
+        assertEquals("==", literal.getEvaluator());
+        assertEquals("value1", literal.getText());
+        binding = (FieldBindingDescr) pattern.getDescrs().get(2);
+        assertEquals("name2", binding.getIdentifier());
+        assertEquals("property2", binding.getFieldName());
+
+    }
+
+
+    public void testParsingColumn18() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class(name:property==";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(2, pattern.getDescrs().size());
+        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
+        assertEquals("name", binding.getIdentifier());
+        assertEquals("property", binding.getFieldName());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(1);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+
+    }
+
+
+    public void testParsingColumn19() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( property == otherPropertyN";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        VariableRestrictionDescr variable = (VariableRestrictionDescr) field.getRestrictions().get(0);
+        assertEquals("==", variable.getEvaluator());
+        assertEquals("otherPropertyN", variable.getIdentifier());
+        assertEquals(-1, field.getEndCharacter());
+    }
+
+
+    public void testParsingColumn20() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( property == \"someth";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
+        // KRISV: for now, it would be really messy to make this work. String is a
+        // lexer rule (not parser), and changing that or controling the behavior of it
+        // is not simple. Can we leave the way it is for now?
+        //
+        // TODO literal should be a LiteralRestrictionDescr with filled in evaluator and text, not null
+        // assertEquals("==", literal.getEvaluator());
+        // assertEquals("someth", literal.getText());
+        // TODO this method does not yet exist
+        // assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn21() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( property contains ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        // KRISV: you are right
+        //
+        // now I would like to access the evaluator 'contains', but this seems
+        // not possible because the parser cannot create this descr yet
+        // since it does not know what class to create (VariableRestrictionDescr
+        // or LiteralRestrictionDescr or ?)
+        // so maybe I should just extract this info myself, based on the
+        // starting character of this FieldConstraintDescr?
+        // TODO this method does not yet exist
+        assertEquals(-1, field.getEndCharacter());
+    }
+
+
+    public void testParsingColumn22() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( property matches \"someth";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
+        // KRISV: see comments above
+        //
+        // TODO literal should be a LiteralRestrictionDescr with filled in evaluator and text, not null
+        // assertEquals("matches", literal.getEvaluator());
+        // assertEquals("someth", literal.getText());
+        // TODO this method does not yet exist
+        // assertEquals(-1, field.getEndCharacter());
+    }
+
+
+    public void testParsingColumn23() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       eval ( ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        EvalDescr eval = (EvalDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals(input.indexOf( "eval" ), eval.getStartCharacter());
+        assertEquals(-1, eval.getEndCharacter());
+    }
+
+
+    public void testParsingColumn24() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       Class ( property > 0 & ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
+        assertEquals(">", literal.getEvaluator());
+        assertEquals("0", literal.getText());
+        RestrictionConnectiveDescr connective = (RestrictionConnectiveDescr) field.getRestriction();
+        assertEquals(RestrictionConnectiveDescr.AND, connective.getConnective());
+    }
+
+
+    public void testParsingColumn25() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       Class ( ) from a";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        FromDescr from = (FromDescr) pattern.getSource();
+        assertEquals(-1, from.getEndCharacter());
+        assertTrue(pattern.getEndCharacter() != -1);
+    }
+
+
+    public void testParsingColumn26() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from myGlobal.getList() \n" +
+        	"       ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        FromDescr from = (FromDescr) pattern.getSource();
+        assertTrue(from.getEndCharacter() != -1);
+    }
+
+
+    public void testParsingColumn27() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from getDroolsFunction() \n" +
+        	"       ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        FromDescr from = (FromDescr) pattern.getSource();
+        assertTrue(from.getEndCharacter() != -1);
+    }
+
+    public void testParsingCharactersStartEnd() {
+        String input =
+        	"package test; \n" +
+        	"rule MyRule \n" +
+        	"  when \n" +
+        	"    Class( condition == true ) \n" +
+        	"  then \n" +
+        	"    System.out.println(\"Done\") \n" +
+        	"end \n";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(input.indexOf( "rule" ), rule.getStartCharacter());
+        assertEquals(input.indexOf( "end" )+2, rule.getEndCharacter());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals(input.indexOf( "Class" ), pattern.getStartCharacter());
+        assertEquals(input.indexOf( "(" ), pattern.getLeftParentCharacter());
+        assertEquals(input.indexOf( ")" ), pattern.getRightParentCharacter());
+        assertEquals(input.indexOf( ")" ), pattern.getEndCharacter());
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,17 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import org.drools.eclipse.editors.Keywords;
-
-import junit.framework.TestCase;
-
-public class KeywordsTest extends TestCase {
-
-    public void testAll() {
-        Keywords keys = Keywords.getInstance();
-        String[] all = keys.getAllDroolsKeywords();
-        assertTrue(all.length > 0);
-        assertEquals("when", all[0]);
-
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,17 @@
+package org.drools.eclipse.editors.completion;
+
+import org.drools.eclipse.editors.Keywords;
+
+import junit.framework.TestCase;
+
+public class KeywordsTest extends TestCase {
+
+    public void testAll() {
+        Keywords keys = Keywords.getInstance();
+        String[] all = keys.getAllDroolsKeywords();
+        assertTrue(all.length > 0);
+        assertEquals("when", all[0]);
+
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,17 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.List;
-
-import org.eclipse.jface.text.ITextViewer;
-
-public class MockCompletionProcessor extends AbstractCompletionProcessor {
-
-    public MockCompletionProcessor() {
-        super( null );
-    }
-
-    protected List getCompletionProposals(ITextViewer viewer,
-                                          int documentOffset) {
-        return null;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,17 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.List;
+
+import org.eclipse.jface.text.ITextViewer;
+
+public class MockCompletionProcessor extends AbstractCompletionProcessor {
+
+    public MockCompletionProcessor() {
+        super( null );
+    }
+
+    protected List getCompletionProposals(ITextViewer viewer,
+                                          int documentOffset) {
+        return null;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,25 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import junit.framework.TestCase;
-
-public class MvelParsingTest extends TestCase {
-    public void testGetInnerExpression4() {
-        String backText =
-            "modify(m) {some=";
-        String previous ="";
-        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
-    }
-    public void testGetInnerExpression5() {
-        String backText =
-            "modify(m) {asdasdas==asdasd, asdasd";
-        String previous ="asdasd";
-        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
-    }
-    public void testGetInnerExpression6() {
-        String backText =
-            "modify(m) {asdasdas==asdasd, asdasd}";
-        String previous ="";
-        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,25 @@
+package org.drools.eclipse.editors.completion;
+
+import junit.framework.TestCase;
+
+public class MvelParsingTest extends TestCase {
+    public void testGetInnerExpression4() {
+        String backText =
+            "modify(m) {some=";
+        String previous ="";
+        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
+    }
+    public void testGetInnerExpression5() {
+        String backText =
+            "modify(m) {asdasdas==asdasd, asdasd";
+        String previous ="asdasd";
+        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
+    }
+    public void testGetInnerExpression6() {
+        String backText =
+            "modify(m) {asdasdas==asdasd, asdasd}";
+        String previous ="";
+        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,117 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.drools.rule.builder.dialect.java.KnowledgeHelperFixer;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-
-import junit.framework.TestCase;
-
-public class RuleCompletionProcessorTest extends TestCase {
-
-    class MockCompletionProposal
-        implements
-        ICompletionProposal {
-
-        String displayString;
-
-        public MockCompletionProposal(String displayString) {
-            this.displayString = displayString;
-        }
-
-        public void apply(IDocument document) {
-            // TODO Auto-generated method stub
-
-        }
-
-        public String getAdditionalProposalInfo() {
-            // TODO Auto-generated method stub
-            return null;
-        }
-
-        public IContextInformation getContextInformation() {
-            // TODO Auto-generated method stub
-            return null;
-        }
-
-        public String getDisplayString() {
-            return displayString;
-        }
-
-        public Image getImage() {
-            // TODO Auto-generated method stub
-            return null;
-        }
-
-        public Point getSelection(IDocument document) {
-            // TODO Auto-generated method stub
-            return null;
-        }
-
-    }
-
-    public void testContainsProposal() {
-        Collection proposals = new ArrayList();
-
-        MockCompletionProposal c1 = new MockCompletionProposal( "getName() Object - MyObject" );
-        proposals.add( c1 );
-
-        String newProposal = "getName() String - CompletionProposal";
-
-        assertTrue( RuleCompletionProcessor.containsProposal( proposals,
-                                                              newProposal ) );
-
-        MockCompletionProposal c2 = new MockCompletionProposal( "getNoName() Object - MyObject" );
-        proposals.add( c2 );
-        assertFalse( RuleCompletionProcessor.containsProposal( proposals,
-                                                               "getNoName" ) );
-    }
-
-    public void testAddAllNewProposals() {
-        ArrayList proposals = new ArrayList();
-        MockCompletionProposal c = new MockCompletionProposal( "getName() Object - MyObject" );
-        proposals.add( c );
-
-        ArrayList newProposals = new ArrayList();
-        MockCompletionProposal c1 = new MockCompletionProposal( "getName() Objectw - MyObject" );
-        newProposals.add( c1 );
-        MockCompletionProposal c2 = new MockCompletionProposal( "getNoName() Object - MyObject" );
-        newProposals.add( c2 );
-        MockCompletionProposal c3 = new MockCompletionProposal( "getNoName() NoObject - MyObject" );
-        newProposals.add( c3 );
-
-        RuleCompletionProcessor.addAllNewProposals( proposals,
-                                                    newProposals );
-
-        assertTrue( proposals.size() == 2 );
-
-        ICompletionProposal prop = (ICompletionProposal) proposals.get( 1 );
-        assertEquals( "getNoName() Object - MyObject",
-                      prop.getDisplayString() );
-    }
-
-    public void testProcessMacros() {
-        String text = "";
-        final String[] functions = new String[]{"update", "retract", "insert", "insertLogical"};
-        for ( int i = 0; i < functions.length; i++ ) {
-            String string = functions[i];
-            String expected = "drools." + string;
-
-            assertEquals( expected,
-                          new KnowledgeHelperFixer().fix( string ) );
-
-        }
-    }
-
-    public void testIsStartOfDialectExpression() {
-        //for now inside a method start, we are not starting a new expression for completion purpose
-        String s = "System.out.println(\"\");\r\n" + "  update(";
-        assertFalse( CompletionUtil.isStartOfDialectExpression( s ) );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,117 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.drools.rule.builder.dialect.java.KnowledgeHelperFixer;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+
+import junit.framework.TestCase;
+
+public class RuleCompletionProcessorTest extends TestCase {
+
+    class MockCompletionProposal
+        implements
+        ICompletionProposal {
+
+        String displayString;
+
+        public MockCompletionProposal(String displayString) {
+            this.displayString = displayString;
+        }
+
+        public void apply(IDocument document) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public String getAdditionalProposalInfo() {
+            // TODO Auto-generated method stub
+            return null;
+        }
+
+        public IContextInformation getContextInformation() {
+            // TODO Auto-generated method stub
+            return null;
+        }
+
+        public String getDisplayString() {
+            return displayString;
+        }
+
+        public Image getImage() {
+            // TODO Auto-generated method stub
+            return null;
+        }
+
+        public Point getSelection(IDocument document) {
+            // TODO Auto-generated method stub
+            return null;
+        }
+
+    }
+
+    public void testContainsProposal() {
+        Collection proposals = new ArrayList();
+
+        MockCompletionProposal c1 = new MockCompletionProposal( "getName() Object - MyObject" );
+        proposals.add( c1 );
+
+        String newProposal = "getName() String - CompletionProposal";
+
+        assertTrue( RuleCompletionProcessor.containsProposal( proposals,
+                                                              newProposal ) );
+
+        MockCompletionProposal c2 = new MockCompletionProposal( "getNoName() Object - MyObject" );
+        proposals.add( c2 );
+        assertFalse( RuleCompletionProcessor.containsProposal( proposals,
+                                                               "getNoName" ) );
+    }
+
+    public void testAddAllNewProposals() {
+        ArrayList proposals = new ArrayList();
+        MockCompletionProposal c = new MockCompletionProposal( "getName() Object - MyObject" );
+        proposals.add( c );
+
+        ArrayList newProposals = new ArrayList();
+        MockCompletionProposal c1 = new MockCompletionProposal( "getName() Objectw - MyObject" );
+        newProposals.add( c1 );
+        MockCompletionProposal c2 = new MockCompletionProposal( "getNoName() Object - MyObject" );
+        newProposals.add( c2 );
+        MockCompletionProposal c3 = new MockCompletionProposal( "getNoName() NoObject - MyObject" );
+        newProposals.add( c3 );
+
+        RuleCompletionProcessor.addAllNewProposals( proposals,
+                                                    newProposals );
+
+        assertTrue( proposals.size() == 2 );
+
+        ICompletionProposal prop = (ICompletionProposal) proposals.get( 1 );
+        assertEquals( "getNoName() Object - MyObject",
+                      prop.getDisplayString() );
+    }
+
+    public void testProcessMacros() {
+        String text = "";
+        final String[] functions = new String[]{"update", "retract", "insert", "insertLogical"};
+        for ( int i = 0; i < functions.length; i++ ) {
+            String string = functions[i];
+            String expected = "drools." + string;
+
+            assertEquals( expected,
+                          new KnowledgeHelperFixer().fix( string ) );
+
+        }
+    }
+
+    public void testIsStartOfDialectExpression() {
+        //for now inside a method start, we are not starting a new expression for completion purpose
+        String s = "System.out.println(\"\");\r\n" + "  update(";
+        assertFalse( CompletionUtil.isStartOfDialectExpression( s ) );
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,42 +0,0 @@
-package org.drools.eclipse.editors.outline;
-
-import junit.framework.TestCase;
-
-import org.drools.eclipse.core.DroolsElement;
-import org.drools.eclipse.core.Function;
-import org.drools.eclipse.core.Package;
-import org.drools.eclipse.core.RuleSet;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.eclipse.editors.outline.RuleContentOutlinePage;
-
-public class RuleContentOutlineTest extends TestCase {
-
-	public void testNodeBuild() {		
-        RuleContentOutlinePage page = new RuleContentOutlinePage( null );
-        String source = "package test;\nexpander foobar.dsl\nimport foo\nfunction void smeg(s) {\n \n}\n";
-        page.populatePackageTreeNode( source );
-        RuleSet ruleSet = page.getRuleSet();
-        Package p = ruleSet.getPackage("test");
-        assertNotNull(p);
-        DroolsElement[] nodes = p.getChildren();
-
-        for ( int i = 0; i < nodes.length; i++ ) {
-            if ( nodes[i] instanceof Function ) {
-                Function func = (Function) nodes[i];
-                assertEquals( "smeg()",
-                              func.getFunctionName() );
-
-            }
-        }
-
-        source = "package test;\n function String foo(String bar) {";
-        page.populatePackageTreeNode( source );
-        p = ruleSet.getPackage("test");
-        assertNotNull(p);
-        Function func = (Function) p.getChildren()[0];
-        assertEquals( "foo()",
-                      func.getFunctionName() );
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,42 @@
+package org.drools.eclipse.editors.outline;
+
+import junit.framework.TestCase;
+
+import org.drools.eclipse.core.DroolsElement;
+import org.drools.eclipse.core.Function;
+import org.drools.eclipse.core.Package;
+import org.drools.eclipse.core.RuleSet;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.eclipse.editors.outline.RuleContentOutlinePage;
+
+public class RuleContentOutlineTest extends TestCase {
+
+	public void testNodeBuild() {		
+        RuleContentOutlinePage page = new RuleContentOutlinePage( null );
+        String source = "package test;\nexpander foobar.dsl\nimport foo\nfunction void smeg(s) {\n \n}\n";
+        page.populatePackageTreeNode( source );
+        RuleSet ruleSet = page.getRuleSet();
+        Package p = ruleSet.getPackage("test");
+        assertNotNull(p);
+        DroolsElement[] nodes = p.getChildren();
+
+        for ( int i = 0; i < nodes.length; i++ ) {
+            if ( nodes[i] instanceof Function ) {
+                Function func = (Function) nodes[i];
+                assertEquals( "smeg()",
+                              func.getFunctionName() );
+
+            }
+        }
+
+        source = "package test;\n function String foo(String bar) {";
+        page.populatePackageTreeNode( source );
+        p = ruleSet.getPackage("test");
+        assertNotNull(p);
+        Function func = (Function) p.getChildren()[0];
+        assertEquals( "foo()",
+                      func.getFunctionName() );
+
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,224 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.drools.PackageIntegrationException;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.PackageBuilder;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.reteoo.AlphaNodeVertex;
-import org.drools.reteoo.BaseVertex;
-import org.drools.reteoo.LeftInputAdapterNodeVertex;
-import org.drools.reteoo.ObjectTypeNodeVertex;
-import org.drools.reteoo.ReteVertex;
-import org.drools.reteoo.ReteooRuleBase;
-import org.drools.reteoo.ReteooVisitor;
-import org.drools.reteoo.RuleTerminalNodeVertex;
-import org.drools.rule.Package;
-
-/**
- * 
- * Integration-like tests
- * 
- * Testing {@link ReteooLayoutFactory}
- * It is using following components:
- * {@link Row},
- * {@link RowList},
- * org.drools.reteoo.*Vertex,
- * org.drools.ide.editors.rete.model.*
- * 
- * @author Ahti Kitsik
- *
- */
-public class ReteooLayoutFactoryTest extends TestCase {
-
-    /**
-     * Constructor.
-     * 
-     * @param name case name
-     */
-    public ReteooLayoutFactoryTest(String name) {
-        super( name );
-    }
-
-    /**
-     * Test method for {@link org.drools.eclipse.editors.rete.ReteooLayoutFactory#calculateReteRows(org.drools.reteoo.BaseVertex)}.
-     * @throws IOException 
-     * @throws DroolsParserException 
-     * @throws PackageIntegrationException 
-     * @throws DroolsParserException 
-     * @throws PackageIntegrationException 
-     */
-    public final void testCalculateReteRows() throws IOException,
-                                             PackageIntegrationException,
-                                             DroolsParserException {
-        ReteGraph graph = new ReteGraph();
-        BaseVertex root = loadRete( graph );
-        final RowList rows = ReteooLayoutFactory.calculateReteRows( root );
-
-        int rownum = rows.getDepth();
-
-        assertEquals( 5,
-                      rownum );
-
-        int[] expectedDepths = new int[]{-1, 0, 1, 2, 3};
-        int[] expectedSizes = new int[]{1, 1, 2, 2, 2};
-
-        for ( int j = 0; j < rownum; j++ ) {
-            final Row row = rows.get( j );
-            final int rowDepth = row.getDepth();
-            assertEquals( expectedDepths[j],
-                          rowDepth );
-            assertEquals( expectedSizes[j],
-                          row.getVertices().size() );
-        }
-
-    }
-
-    /**
-     * Test method for {@link org.drools.eclipse.editors.rete.ReteooLayoutFactory#layoutRowList(org.drools.eclipse.editors.rete.model.ReteGraph, org.drools.eclipse.editors.rete.RowList)}.
-     * 
-     * @throws IOException 
-     * @throws DroolsParserException 
-     * @throws PackageIntegrationException 
-     * @throws DroolsParserException 
-     * @throws PackageIntegrationException 
-     */
-    public final void testLayoutRowList() throws IOException,
-                                         PackageIntegrationException,
-                                         DroolsParserException {
-        ReteGraph graph = new ReteGraph();
-        BaseVertex root = loadRete( graph );
-        final RowList rows = ReteooLayoutFactory.calculateReteRows( root );
-
-        ReteooLayoutFactory.layoutRowList( graph,
-                                           rows );
-
-        final List nodes = graph.getChildren();
-
-        BaseVertex[] yOrder = (BaseVertex[]) nodes.toArray( new BaseVertex[0] );
-        Arrays.sort( yOrder,
-                     new Comparator() {
-                         public int compare(Object o1,
-                                            Object o2) {
-                             BaseVertex v1 = (BaseVertex) o1;
-                             BaseVertex v2 = (BaseVertex) o2;
-                             int y1 = v1.getLocation().y;
-                             int y2 = v2.getLocation().y;
-                             return new Integer( y1 ).compareTo( new Integer( y2 ) );
-                         }
-
-                     } );
-
-        Class[] expectedTypes = new Class[]{ReteVertex.class, ObjectTypeNodeVertex.class, AlphaNodeVertex.class, AlphaNodeVertex.class, LeftInputAdapterNodeVertex.class, LeftInputAdapterNodeVertex.class, RuleTerminalNodeVertex.class,
-                RuleTerminalNodeVertex.class};
-
-        for ( int i = 0; i < yOrder.length; i++ ) {
-            assertEquals( expectedTypes[i],
-                          yOrder[i].getClass() );
-            if ( i > 0 ) {
-                // If current vertex has same type as previous then
-                // y-pos should match and x-pos should not match.                
-                // If type is different then y-pos should *not* match.
-
-                BaseVertex current = yOrder[i];
-                BaseVertex previous = yOrder[i - 1];
-                if ( current.getClass().equals( previous.getClass() ) ) {
-                    assertEquals( current.getLocation().y,
-                                  previous.getLocation().y );
-                    assertNotSame( new Integer( current.getLocation().x ),
-                                   new Integer( previous.getLocation().x ) );
-                } else {
-                    assertNotSame( new Integer( current.getLocation().y ),
-                                   new Integer( previous.getLocation().y ) );
-                }
-            }
-        }
-
-    }
-
-    private BaseVertex loadRete(ReteGraph graph) throws IOException,
-                                                PackageIntegrationException,
-                                                DroolsParserException {
-        final InputStream is = getClass().getClassLoader().getResourceAsStream( "simplerule.drl" );
-        String drl = streamToString( is );
-
-        DrlParser parser = new DrlParser();
-        PackageDescr packageDescr = parser.parse(drl);
-        PackageBuilder builder = new PackageBuilder();
-        builder.addPackage(packageDescr);
-        Package pkg = builder.getPackage();
-		ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO);
-		ruleBase.addPackage(pkg);
-
-        final ReteooVisitor visitor = new ReteooVisitor( graph );
-        visitor.visit( ruleBase );
-
-        BaseVertex root = visitor.getRootVertex();
-        return root;
-    }
-
-    private String streamToString(InputStream is) throws IOException {
-        byte[] buffer = new byte[4096];
-        OutputStream outputStream = new ByteArrayOutputStream();
-
-        while ( true ) {
-            int read = is.read( buffer );
-
-            if ( read == -1 ) {
-                break;
-            }
-
-            outputStream.write( buffer,
-                                0,
-                                read );
-        }
-
-        outputStream.close();
-        is.close();
-
-        return outputStream.toString();
-    }
-
-    /**
-     * Used by simplerule.drl
-     *
-     */
-    public static class Message {
-        public static final int HELLO   = 0;
-        public static final int GOODBYE = 1;
-
-        private String          message;
-
-        private int             status;
-
-        public String getMessage() {
-            return this.message;
-        }
-
-        public void setMessage(final String message) {
-            this.message = message;
-        }
-
-        public int getStatus() {
-            return this.status;
-        }
-
-        public void setStatus(final int status) {
-            this.status = status;
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,224 @@
+package org.drools.eclipse.editors.rete;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.drools.PackageIntegrationException;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilder;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.reteoo.AlphaNodeVertex;
+import org.drools.reteoo.BaseVertex;
+import org.drools.reteoo.LeftInputAdapterNodeVertex;
+import org.drools.reteoo.ObjectTypeNodeVertex;
+import org.drools.reteoo.ReteVertex;
+import org.drools.reteoo.ReteooRuleBase;
+import org.drools.reteoo.ReteooVisitor;
+import org.drools.reteoo.RuleTerminalNodeVertex;
+import org.drools.rule.Package;
+
+/**
+ * 
+ * Integration-like tests
+ * 
+ * Testing {@link ReteooLayoutFactory}
+ * It is using following components:
+ * {@link Row},
+ * {@link RowList},
+ * org.drools.reteoo.*Vertex,
+ * org.drools.ide.editors.rete.model.*
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class ReteooLayoutFactoryTest extends TestCase {
+
+    /**
+     * Constructor.
+     * 
+     * @param name case name
+     */
+    public ReteooLayoutFactoryTest(String name) {
+        super( name );
+    }
+
+    /**
+     * Test method for {@link org.drools.eclipse.editors.rete.ReteooLayoutFactory#calculateReteRows(org.drools.reteoo.BaseVertex)}.
+     * @throws IOException 
+     * @throws DroolsParserException 
+     * @throws PackageIntegrationException 
+     * @throws DroolsParserException 
+     * @throws PackageIntegrationException 
+     */
+    public final void testCalculateReteRows() throws IOException,
+                                             PackageIntegrationException,
+                                             DroolsParserException {
+        ReteGraph graph = new ReteGraph();
+        BaseVertex root = loadRete( graph );
+        final RowList rows = ReteooLayoutFactory.calculateReteRows( root );
+
+        int rownum = rows.getDepth();
+
+        assertEquals( 5,
+                      rownum );
+
+        int[] expectedDepths = new int[]{-1, 0, 1, 2, 3};
+        int[] expectedSizes = new int[]{1, 1, 2, 2, 2};
+
+        for ( int j = 0; j < rownum; j++ ) {
+            final Row row = rows.get( j );
+            final int rowDepth = row.getDepth();
+            assertEquals( expectedDepths[j],
+                          rowDepth );
+            assertEquals( expectedSizes[j],
+                          row.getVertices().size() );
+        }
+
+    }
+
+    /**
+     * Test method for {@link org.drools.eclipse.editors.rete.ReteooLayoutFactory#layoutRowList(org.drools.eclipse.editors.rete.model.ReteGraph, org.drools.eclipse.editors.rete.RowList)}.
+     * 
+     * @throws IOException 
+     * @throws DroolsParserException 
+     * @throws PackageIntegrationException 
+     * @throws DroolsParserException 
+     * @throws PackageIntegrationException 
+     */
+    public final void testLayoutRowList() throws IOException,
+                                         PackageIntegrationException,
+                                         DroolsParserException {
+        ReteGraph graph = new ReteGraph();
+        BaseVertex root = loadRete( graph );
+        final RowList rows = ReteooLayoutFactory.calculateReteRows( root );
+
+        ReteooLayoutFactory.layoutRowList( graph,
+                                           rows );
+
+        final List nodes = graph.getChildren();
+
+        BaseVertex[] yOrder = (BaseVertex[]) nodes.toArray( new BaseVertex[0] );
+        Arrays.sort( yOrder,
+                     new Comparator() {
+                         public int compare(Object o1,
+                                            Object o2) {
+                             BaseVertex v1 = (BaseVertex) o1;
+                             BaseVertex v2 = (BaseVertex) o2;
+                             int y1 = v1.getLocation().y;
+                             int y2 = v2.getLocation().y;
+                             return new Integer( y1 ).compareTo( new Integer( y2 ) );
+                         }
+
+                     } );
+
+        Class[] expectedTypes = new Class[]{ReteVertex.class, ObjectTypeNodeVertex.class, AlphaNodeVertex.class, AlphaNodeVertex.class, LeftInputAdapterNodeVertex.class, LeftInputAdapterNodeVertex.class, RuleTerminalNodeVertex.class,
+                RuleTerminalNodeVertex.class};
+
+        for ( int i = 0; i < yOrder.length; i++ ) {
+            assertEquals( expectedTypes[i],
+                          yOrder[i].getClass() );
+            if ( i > 0 ) {
+                // If current vertex has same type as previous then
+                // y-pos should match and x-pos should not match.                
+                // If type is different then y-pos should *not* match.
+
+                BaseVertex current = yOrder[i];
+                BaseVertex previous = yOrder[i - 1];
+                if ( current.getClass().equals( previous.getClass() ) ) {
+                    assertEquals( current.getLocation().y,
+                                  previous.getLocation().y );
+                    assertNotSame( new Integer( current.getLocation().x ),
+                                   new Integer( previous.getLocation().x ) );
+                } else {
+                    assertNotSame( new Integer( current.getLocation().y ),
+                                   new Integer( previous.getLocation().y ) );
+                }
+            }
+        }
+
+    }
+
+    private BaseVertex loadRete(ReteGraph graph) throws IOException,
+                                                PackageIntegrationException,
+                                                DroolsParserException {
+        final InputStream is = getClass().getClassLoader().getResourceAsStream( "simplerule.drl" );
+        String drl = streamToString( is );
+
+        DrlParser parser = new DrlParser();
+        PackageDescr packageDescr = parser.parse(drl);
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackage(packageDescr);
+        Package pkg = builder.getPackage();
+		ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO);
+		ruleBase.addPackage(pkg);
+
+        final ReteooVisitor visitor = new ReteooVisitor( graph );
+        visitor.visit( ruleBase );
+
+        BaseVertex root = visitor.getRootVertex();
+        return root;
+    }
+
+    private String streamToString(InputStream is) throws IOException {
+        byte[] buffer = new byte[4096];
+        OutputStream outputStream = new ByteArrayOutputStream();
+
+        while ( true ) {
+            int read = is.read( buffer );
+
+            if ( read == -1 ) {
+                break;
+            }
+
+            outputStream.write( buffer,
+                                0,
+                                read );
+        }
+
+        outputStream.close();
+        is.close();
+
+        return outputStream.toString();
+    }
+
+    /**
+     * Used by simplerule.drl
+     *
+     */
+    public static class Message {
+        public static final int HELLO   = 0;
+        public static final int GOODBYE = 1;
+
+        private String          message;
+
+        private int             status;
+
+        public String getMessage() {
+            return this.message;
+        }
+
+        public void setMessage(final String message) {
+            this.message = message;
+        }
+
+        public int getStatus() {
+            return this.status;
+        }
+
+        public void setStatus(final int status) {
+            this.status = status;
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,223 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.drools.eclipse.editors.DRLRuleEditor2;
-import org.drools.eclipse.editors.ZoomInAction2;
-import org.drools.eclipse.editors.ZoomOutAction2;
-import org.eclipse.core.filebuffers.manipulation.ContainerCreator;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-public class ZoomControlTest extends TestCase {
-
-    private IFile                         fFile1;
-    private IFile                         fFile2;
-
-    private final static IProgressMonitor NULL_MONITOR     = new NullProgressMonitor();
-
-    private static final String           ORIGINAL_CONTENT = "package test\nrule \"a\"\nend\nrule \"b\"\nend";
-
-    public ZoomControlTest(String name) {
-        super( name );
-    }
-
-    private String getOriginalContent() {
-        return ORIGINAL_CONTENT;
-    }
-
-    /*
-     * @see junit.framework.TestCase#setUp()
-     */
-    protected void setUp() throws Exception {
-        IFolder folder = createFolder( "ZoomControlTestProject/multipleEditorTest/" );
-        fFile1 = createFile( folder,
-                             "myfile1.drl",
-                             getOriginalContent() );
-        fFile2 = createFile( folder,
-                             "myfile2.drl",
-                             getOriginalContent() );
-    }
-
-    /*
-     * @see junit.framework.TestCase#tearDown()
-     */
-    protected void tearDown() throws Exception {
-        deleteProject( "ZoomControlTestProject" );
-        fFile1 = null;
-        fFile2 = null;
-    }
-
-    public void testMultipleEditors() throws PartInitException {
-
-        IWorkbench workbench = PlatformUI.getWorkbench();
-        IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
-
-        DRLRuleEditor2 part1 = (DRLRuleEditor2) IDE.openEditor( page,
-                                                                fFile1 );
-        DRLRuleEditor2 part2 = (DRLRuleEditor2) IDE.openEditor( page,
-                                                                fFile2 );
-
-        checkVisibility( part1,
-                         part2,
-                         false );
-
-        // Editor1 active
-        page.activate( part1 );
-        checkVisibility( part1,
-                         part2,
-                         false );
-// TODO
-//        part1.setActivePage( 1 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//
-//        part1.setActivePage( 0 );
-//        checkVisibility( part1,
-//                         part2,
-//                         false );
-//
-//        part1.setActivePage( 1 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//
-//        // Editor2 active
-//        page.activate( part2 );
-//        part2.setActivePage( 0 );
-//        checkVisibility( part1,
-//                         part2,
-//                         false );
-//
-//        part2.setActivePage( 1 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//
-//        // Editor1 active
-//        page.activate( part1 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//
-//        // Editor2 active
-//        page.activate( part2 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//
-//        part2.setActivePage( 0 );
-//        checkVisibility( part1,
-//                         part2,
-//                         false );
-//
-//        // Editor1 active
-//        page.activate( part1 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//        part2.setActivePage( 0 );
-//        checkVisibility( part1,
-//                         part2,
-//                         false );
-
-    }
-
-    public void testSecondEditorAfterFirst() throws PartInitException {
-
-        IWorkbench workbench = PlatformUI.getWorkbench();
-        IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
-
-        DRLRuleEditor2 part1 = (DRLRuleEditor2) IDE.openEditor( page,
-                                                                fFile1 );
-// TODO
-//        // Editor1 active
-//        page.activate( part1 );
-//        part1.setActivePage( 1 );
-//        checkVisibility( part1,
-//                         null,
-//                         true );
-//
-//        DRLRuleEditor2 part2 = (DRLRuleEditor2) IDE.openEditor( page,
-//                                                                fFile2 );
-//        page.activate( part2 );
-//        checkVisibility( part1,
-//                         part2,
-//                         false );
-
-    }
-
-    private void checkVisibility(DRLRuleEditor2 part1,
-                                 DRLRuleEditor2 part2,
-                                 boolean enabled) {
-        if ( part1 != null ) {
-            checkVisibility( part1,
-                             enabled );
-        }
-
-        if ( part2 != null ) {
-            checkVisibility( part2,
-                             enabled );
-        }
-    }
-
-    private void checkVisibility(DRLRuleEditor2 editor,
-                                 boolean enabled) {
-        ZoomInAction2 zoomIn = (ZoomInAction2) editor.getAdapter( ZoomInAction2.class );
-        ZoomOutAction2 zoomOut = (ZoomOutAction2) editor.getAdapter( ZoomOutAction2.class );
-        ZoomComboContributionItem zitem = (ZoomComboContributionItem) editor.getAdapter( ZoomComboContributionItem.class );
-
-        assertEquals( enabled,
-                      zoomIn.isEnabled() );
-        assertEquals( enabled,
-                      zoomOut.isEnabled() );
-        assertEquals( enabled,
-                      zitem.getZoomManager() != null );
-
-    }
-
-    private IFile createFile(IFolder folder,
-                             String name,
-                             String contents) throws CoreException {
-        IFile file = folder.getFile( name );
-        InputStream inputStream = new ByteArrayInputStream( contents.getBytes() );
-        file.create( inputStream,
-                     true,
-                     NULL_MONITOR );
-        return file;
-    }
-
-    private IFolder createFolder(String portableFolderPath) throws CoreException {
-        ContainerCreator creator = new ContainerCreator( ResourcesPlugin.getWorkspace(),
-                                                         new Path( portableFolderPath ) );
-        IContainer container = creator.createContainer( NULL_MONITOR );
-        return (IFolder) container;
-    }
-
-    private void deleteProject(String projectName) throws CoreException {
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-        IProject project = root.getProject( projectName );
-        if ( project.exists() ) project.delete( true,
-                                                true,
-                                                NULL_MONITOR );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,223 @@
+package org.drools.eclipse.editors.rete;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import junit.framework.TestCase;
+
+import org.drools.eclipse.editors.DRLRuleEditor2;
+import org.drools.eclipse.editors.ZoomInAction2;
+import org.drools.eclipse.editors.ZoomOutAction2;
+import org.eclipse.core.filebuffers.manipulation.ContainerCreator;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+
+public class ZoomControlTest extends TestCase {
+
+    private IFile                         fFile1;
+    private IFile                         fFile2;
+
+    private final static IProgressMonitor NULL_MONITOR     = new NullProgressMonitor();
+
+    private static final String           ORIGINAL_CONTENT = "package test\nrule \"a\"\nend\nrule \"b\"\nend";
+
+    public ZoomControlTest(String name) {
+        super( name );
+    }
+
+    private String getOriginalContent() {
+        return ORIGINAL_CONTENT;
+    }
+
+    /*
+     * @see junit.framework.TestCase#setUp()
+     */
+    protected void setUp() throws Exception {
+        IFolder folder = createFolder( "ZoomControlTestProject/multipleEditorTest/" );
+        fFile1 = createFile( folder,
+                             "myfile1.drl",
+                             getOriginalContent() );
+        fFile2 = createFile( folder,
+                             "myfile2.drl",
+                             getOriginalContent() );
+    }
+
+    /*
+     * @see junit.framework.TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception {
+        deleteProject( "ZoomControlTestProject" );
+        fFile1 = null;
+        fFile2 = null;
+    }
+
+    public void testMultipleEditors() throws PartInitException {
+
+        IWorkbench workbench = PlatformUI.getWorkbench();
+        IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
+
+        DRLRuleEditor2 part1 = (DRLRuleEditor2) IDE.openEditor( page,
+                                                                fFile1 );
+        DRLRuleEditor2 part2 = (DRLRuleEditor2) IDE.openEditor( page,
+                                                                fFile2 );
+
+        checkVisibility( part1,
+                         part2,
+                         false );
+
+        // Editor1 active
+        page.activate( part1 );
+        checkVisibility( part1,
+                         part2,
+                         false );
+// TODO
+//        part1.setActivePage( 1 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//
+//        part1.setActivePage( 0 );
+//        checkVisibility( part1,
+//                         part2,
+//                         false );
+//
+//        part1.setActivePage( 1 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//
+//        // Editor2 active
+//        page.activate( part2 );
+//        part2.setActivePage( 0 );
+//        checkVisibility( part1,
+//                         part2,
+//                         false );
+//
+//        part2.setActivePage( 1 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//
+//        // Editor1 active
+//        page.activate( part1 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//
+//        // Editor2 active
+//        page.activate( part2 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//
+//        part2.setActivePage( 0 );
+//        checkVisibility( part1,
+//                         part2,
+//                         false );
+//
+//        // Editor1 active
+//        page.activate( part1 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//        part2.setActivePage( 0 );
+//        checkVisibility( part1,
+//                         part2,
+//                         false );
+
+    }
+
+    public void testSecondEditorAfterFirst() throws PartInitException {
+
+        IWorkbench workbench = PlatformUI.getWorkbench();
+        IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
+
+        DRLRuleEditor2 part1 = (DRLRuleEditor2) IDE.openEditor( page,
+                                                                fFile1 );
+// TODO
+//        // Editor1 active
+//        page.activate( part1 );
+//        part1.setActivePage( 1 );
+//        checkVisibility( part1,
+//                         null,
+//                         true );
+//
+//        DRLRuleEditor2 part2 = (DRLRuleEditor2) IDE.openEditor( page,
+//                                                                fFile2 );
+//        page.activate( part2 );
+//        checkVisibility( part1,
+//                         part2,
+//                         false );
+
+    }
+
+    private void checkVisibility(DRLRuleEditor2 part1,
+                                 DRLRuleEditor2 part2,
+                                 boolean enabled) {
+        if ( part1 != null ) {
+            checkVisibility( part1,
+                             enabled );
+        }
+
+        if ( part2 != null ) {
+            checkVisibility( part2,
+                             enabled );
+        }
+    }
+
+    private void checkVisibility(DRLRuleEditor2 editor,
+                                 boolean enabled) {
+        ZoomInAction2 zoomIn = (ZoomInAction2) editor.getAdapter( ZoomInAction2.class );
+        ZoomOutAction2 zoomOut = (ZoomOutAction2) editor.getAdapter( ZoomOutAction2.class );
+        ZoomComboContributionItem zitem = (ZoomComboContributionItem) editor.getAdapter( ZoomComboContributionItem.class );
+
+        assertEquals( enabled,
+                      zoomIn.isEnabled() );
+        assertEquals( enabled,
+                      zoomOut.isEnabled() );
+        assertEquals( enabled,
+                      zitem.getZoomManager() != null );
+
+    }
+
+    private IFile createFile(IFolder folder,
+                             String name,
+                             String contents) throws CoreException {
+        IFile file = folder.getFile( name );
+        InputStream inputStream = new ByteArrayInputStream( contents.getBytes() );
+        file.create( inputStream,
+                     true,
+                     NULL_MONITOR );
+        return file;
+    }
+
+    private IFolder createFolder(String portableFolderPath) throws CoreException {
+        ContainerCreator creator = new ContainerCreator( ResourcesPlugin.getWorkspace(),
+                                                         new Path( portableFolderPath ) );
+        IContainer container = creator.createContainer( NULL_MONITOR );
+        return (IFolder) container;
+    }
+
+    private void deleteProject(String projectName) throws CoreException {
+        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+        IProject project = root.getProject( projectName );
+        if ( project.exists() ) project.delete( true,
+                                                true,
+                                                NULL_MONITOR );
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,50 +0,0 @@
-package org.drools.eclipse.wizard.rule;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import junit.framework.TestCase;
-
-public class DRLGenTemplateTest extends TestCase {
-    
-    public void testNewRule() throws Exception {
-        DRLGenerator gen = new DRLGenerator();
-        InputStream result = gen.generateRule("myPackage", getClass().getResourceAsStream( "new_rule.drl.template" ));
-        
-        assertNotNull(result);
-        StringBuffer buf = getResult( result );
-        assertTrue(buf.toString().indexOf( "package myPackage" ) > -1);
-        assertFalse(buf.toString().indexOf( "$date$" ) > -1);
-        
-    }
-    
-    public void testNewPackage() throws Exception {
-        DRLGenerator gen = new DRLGenerator();
-        InputStream result = gen.generatePackage("myPackage", true, true, getClass().getResourceAsStream( "new_rule.drl.template" ));
-        
-        assertNotNull(result);
-        StringBuffer buf = getResult( result );
-        assertTrue(buf.toString().indexOf( "package myPackage" ) > -1);
-        assertFalse(buf.toString().indexOf( "$date$" ) > -1);
-        assertFalse(buf.toString().indexOf( "$expander$" ) > -1);
-        assertFalse(buf.toString().indexOf( "$functions$" ) > -1);
-     
-        
-        
-    }
-    
-
-    private StringBuffer getResult(InputStream result) throws IOException {
-        BufferedReader reader = new BufferedReader(new InputStreamReader(result));
-        String line = null;
-        StringBuffer buf = new StringBuffer();
-        while ((line = reader.readLine())  != null) {
-            buf.append(line + "\n");
-        }
-        return buf;
-    }
-    
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,50 @@
+package org.drools.eclipse.wizard.rule;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import junit.framework.TestCase;
+
+public class DRLGenTemplateTest extends TestCase {
+    
+    public void testNewRule() throws Exception {
+        DRLGenerator gen = new DRLGenerator();
+        InputStream result = gen.generateRule("myPackage", getClass().getResourceAsStream( "new_rule.drl.template" ));
+        
+        assertNotNull(result);
+        StringBuffer buf = getResult( result );
+        assertTrue(buf.toString().indexOf( "package myPackage" ) > -1);
+        assertFalse(buf.toString().indexOf( "$date$" ) > -1);
+        
+    }
+    
+    public void testNewPackage() throws Exception {
+        DRLGenerator gen = new DRLGenerator();
+        InputStream result = gen.generatePackage("myPackage", true, true, getClass().getResourceAsStream( "new_rule.drl.template" ));
+        
+        assertNotNull(result);
+        StringBuffer buf = getResult( result );
+        assertTrue(buf.toString().indexOf( "package myPackage" ) > -1);
+        assertFalse(buf.toString().indexOf( "$date$" ) > -1);
+        assertFalse(buf.toString().indexOf( "$expander$" ) > -1);
+        assertFalse(buf.toString().indexOf( "$functions$" ) > -1);
+     
+        
+        
+    }
+    
+
+    private StringBuffer getResult(InputStream result) throws IOException {
+        BufferedReader reader = new BufferedReader(new InputStreamReader(result));
+        String line = null;
+        StringBuffer buf = new StringBuffer();
+        while ((line = reader.readLine())  != null) {
+            buf.append(line + "\n");
+        }
+        return buf;
+    }
+    
+    
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/resources)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/debug.drl
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/resources/debug.drl	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/debug.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-package com.sample
- 
-global String s
-global java.util.List list
-
-rule "ActivationCreator"
-    when
-        o: String()
-    then
-        list.add(o);
-end

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/debug.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/resources/debug.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/debug.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/debug.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+package com.sample
+ 
+global String s
+global java.util.List list
+
+rule "ActivationCreator"
+    when
+        o: String()
+    then
+        list.add(o);
+end

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/simplerule.drl
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/resources/simplerule.drl	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/simplerule.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,24 +0,0 @@
-package org.drools.examples
-
-// Rules for ReteooLayoutFactoryTest
-
-import org.drools.eclipse.editors.rete.ReteooLayoutFactoryTest.Message;
-
-rule "Hello World"
-        when
-                m : Message( status == Message.HELLO, message : message )
-        then
-                System.out.println( message );
-                m.setMessage( "Goodbye cruel world" );
-                m.setStatus( Message.GOODBYE );
-                update( m );
-end
-
-rule "GoodBye"
-        no-loop true
-        when
-                m : Message( status == Message.GOODBYE, message : message )
-        then
-                System.out.println( message );
-                m.setMessage( message );
-end

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/simplerule.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/src/test/resources/simplerule.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/simplerule.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/src/test/resources/simplerule.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,24 @@
+package org.drools.examples
+
+// Rules for ReteooLayoutFactoryTest
+
+import org.drools.eclipse.editors.rete.ReteooLayoutFactoryTest.Message;
+
+rule "Hello World"
+        when
+                m : Message( status == Message.HELLO, message : message )
+        then
+                System.out.println( message );
+                m.setMessage( "Goodbye cruel world" );
+                m.setStatus( Message.GOODBYE );
+                update( m );
+end
+
+rule "GoodBye"
+        no-loop true
+        when
+                m : Message( status == Message.GOODBYE, message : message )
+        then
+                System.out.println( message );
+                m.setMessage( message );
+end

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/test.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/test.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/test.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,46 +0,0 @@
-<?xml version="1.0"?>
-<project name="testsuite" default="run" basedir="."> 
-  <property name="eclipse-home" value="${baseLocation}"/>
-  <property name="plugin-name" value="org.drools.eclipse"/>
-  <property name="library-file" location="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml"/>
-  
-  <!-- This target holds all initialization code that needs to be done for
-       all tests that are to be run. Initialization for individual tests
-       should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-  
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="test-workspace" location="${eclipse-home}/test-workspace"/>
-    
-    <delete dir="${test-workspace}" quiet="true"/>
-    
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${test-workspace}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.drools.eclipse.AllTests"/>
-    </ant>           
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after
-       after all of the tests have been run. We can use this target to
-       delete temporary files that have been created. -->
-  <target name="cleanup">
-  
-  </target>
-  
-  <!-- This target runs the test suite. Any actions that need to happen
-       after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <copy todir="${base}/surefire-reports">
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </copy>    
-    
-    <rename src="${base}/surefire-reports/org.drools.eclipse.AllTests.xml" dest="${base}/surefire-reports/TEST-org.drools.eclipse.AllTests.xml"/>
-  </target>
-</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/test.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test/test.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/test.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test/test.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<project name="testsuite" default="run" basedir="."> 
+  <property name="eclipse-home" value="${baseLocation}"/>
+  <property name="plugin-name" value="org.drools.eclipse"/>
+  <property name="library-file" location="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml"/>
+  
+  <!-- This target holds all initialization code that needs to be done for
+       all tests that are to be run. Initialization for individual tests
+       should be done within the body of the suite target. -->
+  <target name="init">
+    <tstamp/>
+    <delete>
+      <fileset dir="${eclipse-home}" includes="org*.xml"/>
+    </delete>
+  </target>
+  
+  <!-- This target defines the tests that need to be run. -->
+  <target name="suite">
+    <property name="test-workspace" location="${eclipse-home}/test-workspace"/>
+    
+    <delete dir="${test-workspace}" quiet="true"/>
+    
+    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
+      <property name="data-dir" value="${test-workspace}"/>
+      <property name="plugin-name" value="${plugin-name}"/>
+      <property name="classname" value="org.drools.eclipse.AllTests"/>
+    </ant>           
+  </target>
+  
+  <!-- This target holds code to cleanup the testing environment after
+       after all of the tests have been run. We can use this target to
+       delete temporary files that have been created. -->
+  <target name="cleanup">
+  
+  </target>
+  
+  <!-- This target runs the test suite. Any actions that need to happen
+       after all the tests have been run should go here. -->
+  <target name="run" depends="init,suite,cleanup">
+    <copy todir="${base}/surefire-reports">
+      <fileset dir="${eclipse-home}" includes="org*.xml"/>
+    </copy>    
+    
+    <rename src="${base}/surefire-reports/org.drools.eclipse.AllTests.xml" dest="${base}/surefire-reports/TEST-org.drools.eclipse.AllTests.xml"/>
+  </target>
+</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test-feature)


Property changes on: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature
___________________________________________________________________
Name: svn:ignore
   + target
local


nbproject

*.ipr
*.iws
*.iml



Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/.project
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test-feature/.project	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>drools-eclipse-test-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/.project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test-feature/.project)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/.project	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>drools-eclipse-test-feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/build.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test-feature/build.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1 +0,0 @@
-bin.includes = feature.xml

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/build.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test-feature/build.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/build.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1 @@
+bin.includes = feature.xml

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/feature.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test-feature/feature.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/feature.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.drools.eclipse.test-feature"
-      label="JBossRules Feature"
-      version="4.0.6"
-      provider-name="JBoss, Inc.">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="org.drools.eclipse.test"
-         download-size="0"
-         install-size="0"
-         version="4.0.6"/>
-
-</feature>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/feature.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test-feature/feature.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/feature.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/feature.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.drools.eclipse.test-feature"
+      label="JBossRules Feature"
+      version="4.0.6"
+      provider-name="JBoss, Inc.">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="http://www.example.com/license">
+      [Enter License Description here.]
+   </license>
+
+   <plugin
+         id="org.drools.eclipse.test"
+         download-size="0"
+         install-size="0"
+         version="4.0.6"/>
+
+</feature>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/pom.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test-feature/pom.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,25 +0,0 @@
-<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/P
-OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-        <modelVersion>4.0.0</modelVersion>
-        <groupId>drools</groupId>
-        <artifactId>drools-eclipse-test-feature</artifactId>
-        <packaging>eclipse-feature</packaging>
-        <version>1.0-SNAPSHOT</version>
-        <build>
-                <plugins>
-                        <plugin>
-                                <groupId>org.codehaus.tycho</groupId>
-                                <artifactId>maven-osgi-lifecycle-plugin</artifactId>
-                                <extensions>true</extensions>
-                        </plugin>
-                </plugins>
-        </build>
-  <dependencies>
-    <dependency>
-      <groupId>drools</groupId>
-      <artifactId>drools-eclipse-plugin</artifactId>
-      <version>1.0-SNAPSHOT</version>
-    </dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/pom.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/drools-eclipse-test-feature/pom.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/drools-eclipse-test-feature/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,25 @@
+<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/P
+OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+        <modelVersion>4.0.0</modelVersion>
+        <groupId>drools</groupId>
+        <artifactId>drools-eclipse-test-feature</artifactId>
+        <packaging>eclipse-feature</packaging>
+        <version>1.0-SNAPSHOT</version>
+        <build>
+                <plugins>
+                        <plugin>
+                                <groupId>org.codehaus.tycho</groupId>
+                                <artifactId>maven-osgi-lifecycle-plugin</artifactId>
+                                <extensions>true</extensions>
+                        </plugin>
+                </plugins>
+        </build>
+  <dependencies>
+    <dependency>
+      <groupId>drools</groupId>
+      <artifactId>drools-eclipse-plugin</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+
+</project>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/genericTargets.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/genericTargets.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/genericTargets.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,170 +0,0 @@
-<project name="Generic Build Targets" default="noDefault">
-
-<!-- Properties that must be passed to this script:
-	buildDirectory
-	id
-	type
-	ignoreTagInfo
-	recursiveGeneration
-	workingDirectory
-	configInfo
--->
-
-<!-- ===================================================================== -->
-<!-- Setup default values -->
-<!--   configs : by default build a platform-independent configuration -->
-<!--   fetchTag : by default use the CVS tags as spec'd in directory.txt -->
-<!-- ===================================================================== -->
-<property name="configs" value="*,*,*"/>
-<property name="fetchTag" value=""/>
-<property name="buildingOSGi" value="true"/>
-<property name="generateJnlp" value="false"/>
-<property name="signJars" value="false"/>
-<property name="generateFeatureVersionSuffix" value="false" />
-<property name="generateVersionsLists" value="true" />
-<property name="groupConfigurations" value="false"/>
-<property name="pluginPath" value=""/>
-
-<!-- ===================================================================== -->
-<!-- Fetch a single element (feature, plugin, fragment) -->
-<!-- ===================================================================== -->
-<target name="fetchElement" description="Checking out source from repository..." depends="init">
-	<mkdir dir="${buildDirectory}/features"/>
-	<mkdir dir="${buildDirectory}/plugins"/>
-	<eclipse.fetch
-		elements="${type}@${id}"
-		buildDirectory="${buildDirectory}"
-		directory="${buildDirectory}/directory.txt"
-		fetchTag="${fetchTag}"
-		configInfo="${configs}"
-		baseLocation="${baseLocation}"
-	/>
-	
-	<!-- Run generated fetch script -->
-	<ant antfile="${buildDirectory}/fetch_${id}.xml">
-		<!-- ************  should not have to spec these  *************** -->
-		<property name="featureOnly" value="true"/>
-		<property name="featureAndPlugins" value="true"/>
-		<property name="featuresRecursively" value="true"/>
-	</ant>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Clean previously built elements -->
-<!-- ===================================================================== -->
-<target name="cleanElement" description="Scrubbing features and plugins of old jars..." depends="init">
-<echo message="${elementPath}"/>
-	<ant antfile="build.xml" dir="${elementPath}" target="clean"/>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Generate a build.xml file for an element -->
-<!-- ===================================================================== -->
-<target name="generateScript" description="Generating build scripts..." depends="init">
-	<eclipse.buildScript 
-		elements="${type}@${id}" 
-		buildDirectory="${buildDirectory}"
-		configInfo="${configs}"
-		baseLocation="${baseLocation}"
-		buildingOSGi="${buildingOSGi}"
-		outputUpdateJars="${outputUpdateJars}"
-		archivesFormat="${archivesFormat}"
-		product="${product}"
-		forceContextQualifier="${forceContextQualifier}"
-		generateJnlp="${generateJnlp}"
-		signJars="${signJars}"
-		generateFeatureVersionSuffix="${generateFeatureVersionSuffix}"
-		generateVersionsLists="${generateVersionsLists}"
-		groupConfiguration="${groupConfigurations}"
-		pluginPath="${pluginPath}"
-	/>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Run build.xml for a single element-->
-<!-- ===================================================================== -->
-<target name="processElement" description="Processing build scripts..." depends="init">
-	<ant antfile="build.xml" dir="${elementPath}" target="build.jars">
-		<property name="target" value="build.jars"/>
-	</ant>
-</target>
-
-<!-- **********************
-1) the gather targets do more than just gather.  These are packaging targets.
-We need to continue ot separate the two concepts (gather and package) as 
-the packaging is different if we wanted to create an update site packaging
-(for example).  The gathers are commented out for now as the new generated
-scripts do not seem to have them.
-
-2) do we really need the ws and os properties?  In all cases?  Do they have to be 
-set here?
--->
-
-<!-- ===================================================================== -->
-<!-- Gather items listed in bin.includes -->
-<!-- ===================================================================== -->
-<target name="gatherBinaries" description="Gathering binary distribution..." depends="init">
-	<!-- ant antfile="build.xml" dir="${elementPath}" target="gather.bin.parts"/ -->
-	<ant antfile="build.xml" dir="${elementPath}" target="zip.distribution">
-		<property name="os" value="${os}" />
-		<property name="ws" value="${ws}" />	
-	</ant>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Gather source for a build element -->
-<!-- ===================================================================== -->
-<target name="gatherSources" description="Gathering source distribution..." depends="init">
-	<!--suspect:  this call is required to create the *.src.zip inside each plugin-->
-	<ant antfile="build.xml" dir="${elementPath}" target="build.sources">
-		<property name="os" value="${os}" />
-		<property name="ws" value="${ws}" />	
-	</ant>
-	<ant antfile="build.xml" dir="${elementPath}" target="zip.sources">
-		<property name="os" value="${os}" />
-		<property name="ws" value="${ws}" />	
-	</ant>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Gather log files for an element -->
-<!-- Suspect: We just unzip these right away -->
-<!-- ===================================================================== -->
-<target name="gatherLogs" description="Gathering build logs..." depends="init">
-	<ant antfile="build.xml" dir="${elementPath}" target="zip.logs" >
-		<property name="buildDirectory" value="${buildDirectory}" />
-	</ant>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Default target                                                        -->
-<!-- ===================================================================== -->
-<target name="noDefault">
-	<echo message="This file must be called with explicit targets" />
-</target>
-
-<!-- ===================================================================== -->
-<!-- Assemble one build element -->
-<!-- ===================================================================== -->
-<target name="assembleElement" description="Assembling the build..." depends="init">
-	<ant antfile="assemble.${id}.all.xml" dir="${buildDirectory}"/>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Package one build element -->
-<!-- ===================================================================== -->
-<target name="packageElement" description="Packaging the build..." depends="init">
-	<ant antfile="package.${id}.all.xml" dir="${buildDirectory}"/>
-</target>
-	
-<!-- ===================================================================== -->
-<!-- Miscellaneous helper targets -->
-<!-- ===================================================================== -->
-<target name="init">
-	<condition property="elementPath" value="${buildDirectory}/plugins/${id}">
-		<equals arg1="${type}" arg2="fragment" />
-	</condition>
-	<property name="elementPath" value="${buildDirectory}/${type}s/${id}" />
-</target>
-
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/genericTargets.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/genericTargets.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/genericTargets.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/genericTargets.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,170 @@
+<project name="Generic Build Targets" default="noDefault">
+
+<!-- Properties that must be passed to this script:
+	buildDirectory
+	id
+	type
+	ignoreTagInfo
+	recursiveGeneration
+	workingDirectory
+	configInfo
+-->
+
+<!-- ===================================================================== -->
+<!-- Setup default values -->
+<!--   configs : by default build a platform-independent configuration -->
+<!--   fetchTag : by default use the CVS tags as spec'd in directory.txt -->
+<!-- ===================================================================== -->
+<property name="configs" value="*,*,*"/>
+<property name="fetchTag" value=""/>
+<property name="buildingOSGi" value="true"/>
+<property name="generateJnlp" value="false"/>
+<property name="signJars" value="false"/>
+<property name="generateFeatureVersionSuffix" value="false" />
+<property name="generateVersionsLists" value="true" />
+<property name="groupConfigurations" value="false"/>
+<property name="pluginPath" value=""/>
+
+<!-- ===================================================================== -->
+<!-- Fetch a single element (feature, plugin, fragment) -->
+<!-- ===================================================================== -->
+<target name="fetchElement" description="Checking out source from repository..." depends="init">
+	<mkdir dir="${buildDirectory}/features"/>
+	<mkdir dir="${buildDirectory}/plugins"/>
+	<eclipse.fetch
+		elements="${type}@${id}"
+		buildDirectory="${buildDirectory}"
+		directory="${buildDirectory}/directory.txt"
+		fetchTag="${fetchTag}"
+		configInfo="${configs}"
+		baseLocation="${baseLocation}"
+	/>
+	
+	<!-- Run generated fetch script -->
+	<ant antfile="${buildDirectory}/fetch_${id}.xml">
+		<!-- ************  should not have to spec these  *************** -->
+		<property name="featureOnly" value="true"/>
+		<property name="featureAndPlugins" value="true"/>
+		<property name="featuresRecursively" value="true"/>
+	</ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Clean previously built elements -->
+<!-- ===================================================================== -->
+<target name="cleanElement" description="Scrubbing features and plugins of old jars..." depends="init">
+<echo message="${elementPath}"/>
+	<ant antfile="build.xml" dir="${elementPath}" target="clean"/>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Generate a build.xml file for an element -->
+<!-- ===================================================================== -->
+<target name="generateScript" description="Generating build scripts..." depends="init">
+	<eclipse.buildScript 
+		elements="${type}@${id}" 
+		buildDirectory="${buildDirectory}"
+		configInfo="${configs}"
+		baseLocation="${baseLocation}"
+		buildingOSGi="${buildingOSGi}"
+		outputUpdateJars="${outputUpdateJars}"
+		archivesFormat="${archivesFormat}"
+		product="${product}"
+		forceContextQualifier="${forceContextQualifier}"
+		generateJnlp="${generateJnlp}"
+		signJars="${signJars}"
+		generateFeatureVersionSuffix="${generateFeatureVersionSuffix}"
+		generateVersionsLists="${generateVersionsLists}"
+		groupConfiguration="${groupConfigurations}"
+		pluginPath="${pluginPath}"
+	/>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Run build.xml for a single element-->
+<!-- ===================================================================== -->
+<target name="processElement" description="Processing build scripts..." depends="init">
+	<ant antfile="build.xml" dir="${elementPath}" target="build.jars">
+		<property name="target" value="build.jars"/>
+	</ant>
+</target>
+
+<!-- **********************
+1) the gather targets do more than just gather.  These are packaging targets.
+We need to continue ot separate the two concepts (gather and package) as 
+the packaging is different if we wanted to create an update site packaging
+(for example).  The gathers are commented out for now as the new generated
+scripts do not seem to have them.
+
+2) do we really need the ws and os properties?  In all cases?  Do they have to be 
+set here?
+-->
+
+<!-- ===================================================================== -->
+<!-- Gather items listed in bin.includes -->
+<!-- ===================================================================== -->
+<target name="gatherBinaries" description="Gathering binary distribution..." depends="init">
+	<!-- ant antfile="build.xml" dir="${elementPath}" target="gather.bin.parts"/ -->
+	<ant antfile="build.xml" dir="${elementPath}" target="zip.distribution">
+		<property name="os" value="${os}" />
+		<property name="ws" value="${ws}" />	
+	</ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Gather source for a build element -->
+<!-- ===================================================================== -->
+<target name="gatherSources" description="Gathering source distribution..." depends="init">
+	<!--suspect:  this call is required to create the *.src.zip inside each plugin-->
+	<ant antfile="build.xml" dir="${elementPath}" target="build.sources">
+		<property name="os" value="${os}" />
+		<property name="ws" value="${ws}" />	
+	</ant>
+	<ant antfile="build.xml" dir="${elementPath}" target="zip.sources">
+		<property name="os" value="${os}" />
+		<property name="ws" value="${ws}" />	
+	</ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Gather log files for an element -->
+<!-- Suspect: We just unzip these right away -->
+<!-- ===================================================================== -->
+<target name="gatherLogs" description="Gathering build logs..." depends="init">
+	<ant antfile="build.xml" dir="${elementPath}" target="zip.logs" >
+		<property name="buildDirectory" value="${buildDirectory}" />
+	</ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Default target                                                        -->
+<!-- ===================================================================== -->
+<target name="noDefault">
+	<echo message="This file must be called with explicit targets" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Assemble one build element -->
+<!-- ===================================================================== -->
+<target name="assembleElement" description="Assembling the build..." depends="init">
+	<ant antfile="assemble.${id}.all.xml" dir="${buildDirectory}"/>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Package one build element -->
+<!-- ===================================================================== -->
+<target name="packageElement" description="Packaging the build..." depends="init">
+	<ant antfile="package.${id}.all.xml" dir="${buildDirectory}"/>
+</target>
+	
+<!-- ===================================================================== -->
+<!-- Miscellaneous helper targets -->
+<!-- ===================================================================== -->
+<target name="init">
+	<condition property="elementPath" value="${buildDirectory}/plugins/${id}">
+		<equals arg1="${type}" arg2="fragment" />
+	</condition>
+	<property name="elementPath" value="${buildDirectory}/${type}s/${id}" />
+</target>
+
+</project>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/package.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/package.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/package.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,64 +0,0 @@
-<project name="packager" default="main" basedir=".">
-	<target name="init">
-		<mkdir dir="${workingDirectory}"/>
-		<mkdir dir="${downloadDirectory}"/>
-		<mkdir dir="${tempDirectory}"/>
-	</target>
-
-	<target name="retrieveMapFiles">
-	    <available property="mapsFetched" file="${workingDirectory}/all.maps"/>
-		<ant antfile="${customTargets}" target="getMapFiles" />
-		<concat destfile="${workingDirectory}/all.maps">
-			<fileset dir="${downloadDirectory}" includes="**/*.map"/>
-		</concat>
-	</target>
-	
-	<!-- take the content of all.maps, retrieve the files according to the filtering options (config, content), 
-	and generate a directory.txt for the rest of the process using config as a key, and containing the name of the zip and the directory -->
-	<target name="retrieveFiles">
-		<eclipse.fetchFilesGenerator map="${workingDirectory}/all.maps"
-									workingDirectory="${workingDirectory}"
-									configInfo="${config}"
-									contentFilter="${contentFilter}"
-									componentFilter="${componentFilter}"/>
-		<ant antfile="fetch.xml" dir="${workingDirectory}" />
-	</target>
-	
-	<!-- Process the directory.txt to create unzipper.xml, and run unzipper.xml-->
-	<target name="prepareResources">
-		<eclipse.unzipperBuilder 	workingDirectory="${workingDirectory}" 
-											configInfo="${config}"
-											packagePropertyFile="${packagingPropertyFile}"/>
-		<ant antfile="${workingDirectory}/unzipper.xml"/>
-	</target>
-
-	<!-- Generate an assemble script (assemble.xml) for the given features -->
-	<target name="generateAssembleScripts">
-		<eclipse.assembler featureList="${featureList}" 
-									workingDirectory="${workingDirectory}" 
-									configInfo="${config}" 
-									baseLocation="${tempDirectory}/${featurePaths}" 
-									packagePropertyFile="${packagingPropertyFile}" 
-									deltaPack="${deltaPack}"
-									archivesFormat="${archivesFormat}"/> 
-	</target>
-
-	<!-- Call the assemble.xml script -->
-	<target name="callAssembleScripts">
-		<ant antfile="package.all.xml" dir="${workingDirectory}"/>
-	</target>
-	
-	
-	<target name="main" description="Start the packager for a given config">
-		<property file="${packagingInfo}/packager.properties"/>
-		<property name="customTargets" location="${packagingInfo}/customTargets.xml"/>
-		<property name="packagingPropertyFile" location="${packagingInfo}/${packagingProperties}"/>
-		
-		<antcall target="init"/>
-		<antcall target="retrieveMapFiles"/>
-		<antcall target="retrieveFiles"/>
-		<antcall target="prepareResources"/>
-		<antcall target="generateAssembleScripts"/>
-		<antcall target="callAssembleScripts"/>
-	</target>
-</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/package.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/package.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/package.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/package.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,64 @@
+<project name="packager" default="main" basedir=".">
+	<target name="init">
+		<mkdir dir="${workingDirectory}"/>
+		<mkdir dir="${downloadDirectory}"/>
+		<mkdir dir="${tempDirectory}"/>
+	</target>
+
+	<target name="retrieveMapFiles">
+	    <available property="mapsFetched" file="${workingDirectory}/all.maps"/>
+		<ant antfile="${customTargets}" target="getMapFiles" />
+		<concat destfile="${workingDirectory}/all.maps">
+			<fileset dir="${downloadDirectory}" includes="**/*.map"/>
+		</concat>
+	</target>
+	
+	<!-- take the content of all.maps, retrieve the files according to the filtering options (config, content), 
+	and generate a directory.txt for the rest of the process using config as a key, and containing the name of the zip and the directory -->
+	<target name="retrieveFiles">
+		<eclipse.fetchFilesGenerator map="${workingDirectory}/all.maps"
+									workingDirectory="${workingDirectory}"
+									configInfo="${config}"
+									contentFilter="${contentFilter}"
+									componentFilter="${componentFilter}"/>
+		<ant antfile="fetch.xml" dir="${workingDirectory}" />
+	</target>
+	
+	<!-- Process the directory.txt to create unzipper.xml, and run unzipper.xml-->
+	<target name="prepareResources">
+		<eclipse.unzipperBuilder 	workingDirectory="${workingDirectory}" 
+											configInfo="${config}"
+											packagePropertyFile="${packagingPropertyFile}"/>
+		<ant antfile="${workingDirectory}/unzipper.xml"/>
+	</target>
+
+	<!-- Generate an assemble script (assemble.xml) for the given features -->
+	<target name="generateAssembleScripts">
+		<eclipse.assembler featureList="${featureList}" 
+									workingDirectory="${workingDirectory}" 
+									configInfo="${config}" 
+									baseLocation="${tempDirectory}/${featurePaths}" 
+									packagePropertyFile="${packagingPropertyFile}" 
+									deltaPack="${deltaPack}"
+									archivesFormat="${archivesFormat}"/> 
+	</target>
+
+	<!-- Call the assemble.xml script -->
+	<target name="callAssembleScripts">
+		<ant antfile="package.all.xml" dir="${workingDirectory}"/>
+	</target>
+	
+	
+	<target name="main" description="Start the packager for a given config">
+		<property file="${packagingInfo}/packager.properties"/>
+		<property name="customTargets" location="${packagingInfo}/customTargets.xml"/>
+		<property name="packagingPropertyFile" location="${packagingInfo}/${packagingProperties}"/>
+		
+		<antcall target="init"/>
+		<antcall target="retrieveMapFiles"/>
+		<antcall target="retrieveFiles"/>
+		<antcall target="prepareResources"/>
+		<antcall target="generateAssembleScripts"/>
+		<antcall target="callAssembleScripts"/>
+	</target>
+</project>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/pom.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,286 +0,0 @@
-<?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">
-
-  <parent>
-    <artifactId>drools</artifactId>
-    <groupId>org.drools</groupId>
-    <version>4.0.6</version>
-  </parent>
-
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>drools-eclipse3.2</artifactId>
-   <packaging>pom</packaging>
-
-  <name>Drools :: Eclipse-Plugin3.2</name>
-  <build>
-    <plugins>    
-     <plugin>
-       <artifactId>maven-antrun-plugin</artifactId>
-       <inherited>false</inherited>
-       <executions>
-         <execution>
-           <id>clean lib</id>
-           <phase>clean</phase>
-           <configuration>
-             <tasks>                              
-                <delete>
-                  <fileset dir="drools-eclipse-plugin/lib" includes="**/*.jar" excludes="**/.svn" />                 
-                </delete>
-                <delete dir="drools-eclipse-plugin/help/shared" />     
-                <delete dir="drools-eclipse-plugin/help/eclipse" />     
-             </tasks>
-           </configuration>
-           <goals>
-             <goal>run</goal>
-           </goals>
-         </execution>    
-         
-         <execution>
-           <id>unzip manual</id>
-           <phase>process-resources</phase>
-           <configuration>
-             <tasks>     
-               <unzip src="drools-eclipse-plugin/lib/drools-documentation.jar" dest="drools-eclipse-plugin/help">
-                  <patternset>
-                      <include name="eclipse/**/**"/>
-                      <include name="shared/**/**"/>
-                  </patternset>               
-               </unzip>         
-               
-               <delete dir="drools-eclipse-plugin/lib/drools-documentation.jar" />     
-             </tasks>
-           </configuration>
-           <goals>
-             <goal>run</goal>
-           </goals>           
-         </execution>
-       
-         <execution>
-           <id>compile-plugin</id>
-           <phase>compile</phase>
-           <configuration>
-             <tasks>                              
-                <property name="eclipse.home" value="target/eclipse" />             
-                
-                <property name="localEclipseDrop" value="${basedir}/local-eclipse-drop-mirror" />                
-                <delete  dir="target/eclipse.build" />
-                
-                <ant target="setupLocalEclipse" antfile="setupEclipse.xml">
-                  <property name="localEclipseDrop" value="${localEclipseDrop}" />
-                </ant>
-                 
-                <java jar="${eclipse.home}/startup.jar"
-                      fork="true"
-                      failonerror="true"
-                      maxmemory="128m">
-                     <arg line="-application org.eclipse.ant.core.antRunner -DmavenCompilePhase=true"/>
-                </java>                 
-             </tasks>
-           </configuration>
-           <goals>
-             <goal>run</goal>
-           </goals>
-         </execution>
-         
-         <execution>
-           <id>test-plugin</id>
-           <phase>test</phase>
-           <configuration>
-             <tasks>            
-               <!-- Determine OS -->
-               <condition property="baseos" value="win32">
-                   <contains string="${os.name}" substring="Windows" />
-               </condition>
-             
-               <condition property="baseos" value="linux">
-                   <contains string="${os.name}" substring="Linux" />
-               </condition>
-               
-               <condition property="baseos" value="macosx">
-                   <contains string="${os.name}" substring="Mac OS X" />
-               </condition>
-               
-               <condition property="baseos" value="win32">
-                   <contains string="${os.name}" substring="Windows" />
-               </condition>        
-             
-               <condition property="baseos" value="aix">
-                   <contains string="${os.name}" substring="AIX" />
-               </condition>    
-               
-               <condition property="baseos" value="hpux">
-                   <contains string="${os.name}" substring="HP-UX" />
-               </condition> 
-               
-               <condition property="baseos" value="solaris">
-                   <contains string="${os.name}" substring="Solaris" />
-               </condition>  
-               
-               <condition property="baseos" value="qnx">
-                   <contains string="${os.name}" substring="QNX" />
-               </condition>                        
-               
-               <!-- Determine WS -->
-               <condition property="basews" value="win32">
-                   <contains string="${os.name}" substring="Windows" />
-               </condition>    
-               
-               <condition property="basews" value="gtk">
-                   <contains string="${os.name}" substring="Linux" />
-               </condition>    
-               
-               <condition property="basews" value="carbon">
-                   <contains string="${os.name}" substring="Mac OS X" />
-               </condition>        
-                   
-               <!-- Determine ARCH -->
-               <condition property="basearch" value="x86">
-                 <or>
-                   <contains string="${os.arch}" substring="i386" />
-                   <contains string="${os.arch}" substring="i686" />
-                   <contains string="${os.arch}" substring="x86" />
-                   <contains string="${os.arch}" substring="Pentium" />
-                 </or>
-               </condition>
-             
-               <condition property="basearch" value="linux">
-                   <contains string="${os.name}" substring="Linux" />
-               </condition>
-               
-               <condition property="basearch" value="ppc">
-                   <contains string="${os.name}" substring="ppc" />
-               </condition>                     
-               
-               <condition property="basearch" value="sparc">
-                   <contains string="${os.name}" substring="sparc" />
-               </condition>                   
-               
-               <condition property="mavenTestPhase" value="" else="-DmavenTestPhase=true">
-                   <isset property="maven.test.skip" />
-               </condition>                
-              
-                <property name="eclipse.home" value="target/eclipse" />                             
-                
-                <echo>-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}</echo>
-                 
-                <java jar="${eclipse.home}/startup.jar"
-                      fork="true"
-                      failonerror="true"
-                      maxmemory="128m">
-                     <arg line="-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}"/>
-                </java>                 
-             </tasks>
-           </configuration>
-           <goals>
-             <goal>run</goal>
-           </goals>
-         </execution>         
-         
-         <execution>
-           <id>unzip</id>
-           <phase>package</phase>
-           <configuration>
-             <tasks>                
-                <unzip src="target/drools-eclipse3.2-${project.version}.zip" dest="../target/eclipse3.2"/>                         
-             </tasks>
-           </configuration>
-           <goals>
-             <goal>run</goal>
-           </goals>
-         </execution>         
-       </executions>
-     </plugin>
-     
-     <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>copy-dependencies</id>
-            <phase>generate-resources</phase>
-            <goals>
-              <goal>copy-dependencies</goal>
-            </goals>
-            <configuration>
-              <outputDirectory>drools-eclipse-plugin/lib</outputDirectory>
-              <overWriteReleases>true</overWriteReleases>
-              <overWriteSnapshots>true</overWriteSnapshots>
-              <overWriteIfNewer>true</overWriteIfNewer>
-              <stripVersion>true</stripVersion>              
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>     
-    </plugins>
-  </build>
-
-  <repositories>
-    <repository>
-      <id>basedir</id>
-      <url>file://${basedir}/../m2_repo</url>
-    </repository>
-  </repositories>
-
-  <dependencies>
-
-    <!-- this should include core and compiler -->
-    <dependency>
-      <groupId>org.drools</groupId>
-      <artifactId>drools-jsr94</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.eclipse.jdt</groupId>
-          <artifactId>core</artifactId>
-        </exclusion>
-
-        <exclusion>
-          <groupId>janino</groupId>
-          <artifactId>janino</artifactId>
-        </exclusion>
-
-        <exclusion>
-          <groupId>jsr94</groupId>
-          <artifactId>jsr94-sigtest</artifactId>
-        </exclusion>
-
-        <exclusion>
-          <groupId>jsr94</groupId>
-          <artifactId>jsr94-tck</artifactId>
-        </exclusion>
-
-      </exclusions>
-    </dependency>
-
-    <dependency>
-      <groupId>org.drools</groupId>
-      <artifactId>drools-decisiontables</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.eclipse.jdt</groupId>
-          <artifactId>core</artifactId>
-        </exclusion>
-
-        <exclusion>
-          <groupId>janino</groupId>
-          <artifactId>janino</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>com.thoughtworks.xstream</groupId>
-      <artifactId>xstream</artifactId>
-    </dependency>
-    <dependency>
-      <!-- TODO remove this dependency and change MANIFEST.MF to use xpp3_min.jar (non-optional dep of xstream) -->
-      <groupId>xpp3</groupId>
-      <artifactId>xpp3</artifactId>
-      <scope>runtime</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.drools</groupId>
-      <artifactId>drools-documentation</artifactId>         
-   </dependency>      
-</dependencies>
-
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/pom.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,286 @@
+<?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">
+
+  <parent>
+    <artifactId>drools</artifactId>
+    <groupId>org.drools</groupId>
+    <version>4.0.6</version>
+  </parent>
+
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>drools-eclipse3.2</artifactId>
+   <packaging>pom</packaging>
+
+  <name>Drools :: Eclipse-Plugin3.2</name>
+  <build>
+    <plugins>    
+     <plugin>
+       <artifactId>maven-antrun-plugin</artifactId>
+       <inherited>false</inherited>
+       <executions>
+         <execution>
+           <id>clean lib</id>
+           <phase>clean</phase>
+           <configuration>
+             <tasks>                              
+                <delete>
+                  <fileset dir="drools-eclipse-plugin/lib" includes="**/*.jar" excludes="**/.svn" />                 
+                </delete>
+                <delete dir="drools-eclipse-plugin/help/shared" />     
+                <delete dir="drools-eclipse-plugin/help/eclipse" />     
+             </tasks>
+           </configuration>
+           <goals>
+             <goal>run</goal>
+           </goals>
+         </execution>    
+         
+         <execution>
+           <id>unzip manual</id>
+           <phase>process-resources</phase>
+           <configuration>
+             <tasks>     
+               <unzip src="drools-eclipse-plugin/lib/drools-documentation.jar" dest="drools-eclipse-plugin/help">
+                  <patternset>
+                      <include name="eclipse/**/**"/>
+                      <include name="shared/**/**"/>
+                  </patternset>               
+               </unzip>         
+               
+               <delete dir="drools-eclipse-plugin/lib/drools-documentation.jar" />     
+             </tasks>
+           </configuration>
+           <goals>
+             <goal>run</goal>
+           </goals>           
+         </execution>
+       
+         <execution>
+           <id>compile-plugin</id>
+           <phase>compile</phase>
+           <configuration>
+             <tasks>                              
+                <property name="eclipse.home" value="target/eclipse" />             
+                
+                <property name="localEclipseDrop" value="${basedir}/local-eclipse-drop-mirror" />                
+                <delete  dir="target/eclipse.build" />
+                
+                <ant target="setupLocalEclipse" antfile="setupEclipse.xml">
+                  <property name="localEclipseDrop" value="${localEclipseDrop}" />
+                </ant>
+                 
+                <java jar="${eclipse.home}/startup.jar"
+                      fork="true"
+                      failonerror="true"
+                      maxmemory="128m">
+                     <arg line="-application org.eclipse.ant.core.antRunner -DmavenCompilePhase=true"/>
+                </java>                 
+             </tasks>
+           </configuration>
+           <goals>
+             <goal>run</goal>
+           </goals>
+         </execution>
+         
+         <execution>
+           <id>test-plugin</id>
+           <phase>test</phase>
+           <configuration>
+             <tasks>            
+               <!-- Determine OS -->
+               <condition property="baseos" value="win32">
+                   <contains string="${os.name}" substring="Windows" />
+               </condition>
+             
+               <condition property="baseos" value="linux">
+                   <contains string="${os.name}" substring="Linux" />
+               </condition>
+               
+               <condition property="baseos" value="macosx">
+                   <contains string="${os.name}" substring="Mac OS X" />
+               </condition>
+               
+               <condition property="baseos" value="win32">
+                   <contains string="${os.name}" substring="Windows" />
+               </condition>        
+             
+               <condition property="baseos" value="aix">
+                   <contains string="${os.name}" substring="AIX" />
+               </condition>    
+               
+               <condition property="baseos" value="hpux">
+                   <contains string="${os.name}" substring="HP-UX" />
+               </condition> 
+               
+               <condition property="baseos" value="solaris">
+                   <contains string="${os.name}" substring="Solaris" />
+               </condition>  
+               
+               <condition property="baseos" value="qnx">
+                   <contains string="${os.name}" substring="QNX" />
+               </condition>                        
+               
+               <!-- Determine WS -->
+               <condition property="basews" value="win32">
+                   <contains string="${os.name}" substring="Windows" />
+               </condition>    
+               
+               <condition property="basews" value="gtk">
+                   <contains string="${os.name}" substring="Linux" />
+               </condition>    
+               
+               <condition property="basews" value="carbon">
+                   <contains string="${os.name}" substring="Mac OS X" />
+               </condition>        
+                   
+               <!-- Determine ARCH -->
+               <condition property="basearch" value="x86">
+                 <or>
+                   <contains string="${os.arch}" substring="i386" />
+                   <contains string="${os.arch}" substring="i686" />
+                   <contains string="${os.arch}" substring="x86" />
+                   <contains string="${os.arch}" substring="Pentium" />
+                 </or>
+               </condition>
+             
+               <condition property="basearch" value="linux">
+                   <contains string="${os.name}" substring="Linux" />
+               </condition>
+               
+               <condition property="basearch" value="ppc">
+                   <contains string="${os.name}" substring="ppc" />
+               </condition>                     
+               
+               <condition property="basearch" value="sparc">
+                   <contains string="${os.name}" substring="sparc" />
+               </condition>                   
+               
+               <condition property="mavenTestPhase" value="" else="-DmavenTestPhase=true">
+                   <isset property="maven.test.skip" />
+               </condition>                
+              
+                <property name="eclipse.home" value="target/eclipse" />                             
+                
+                <echo>-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}</echo>
+                 
+                <java jar="${eclipse.home}/startup.jar"
+                      fork="true"
+                      failonerror="true"
+                      maxmemory="128m">
+                     <arg line="-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}"/>
+                </java>                 
+             </tasks>
+           </configuration>
+           <goals>
+             <goal>run</goal>
+           </goals>
+         </execution>         
+         
+         <execution>
+           <id>unzip</id>
+           <phase>package</phase>
+           <configuration>
+             <tasks>                
+                <unzip src="target/drools-eclipse3.2-${project.version}.zip" dest="../target/eclipse3.2"/>                         
+             </tasks>
+           </configuration>
+           <goals>
+             <goal>run</goal>
+           </goals>
+         </execution>         
+       </executions>
+     </plugin>
+     
+     <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy-dependencies</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>copy-dependencies</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>drools-eclipse-plugin/lib</outputDirectory>
+              <overWriteReleases>true</overWriteReleases>
+              <overWriteSnapshots>true</overWriteSnapshots>
+              <overWriteIfNewer>true</overWriteIfNewer>
+              <stripVersion>true</stripVersion>              
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>     
+    </plugins>
+  </build>
+
+  <repositories>
+    <repository>
+      <id>basedir</id>
+      <url>file://${basedir}/../m2_repo</url>
+    </repository>
+  </repositories>
+
+  <dependencies>
+
+    <!-- this should include core and compiler -->
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-jsr94</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.eclipse.jdt</groupId>
+          <artifactId>core</artifactId>
+        </exclusion>
+
+        <exclusion>
+          <groupId>janino</groupId>
+          <artifactId>janino</artifactId>
+        </exclusion>
+
+        <exclusion>
+          <groupId>jsr94</groupId>
+          <artifactId>jsr94-sigtest</artifactId>
+        </exclusion>
+
+        <exclusion>
+          <groupId>jsr94</groupId>
+          <artifactId>jsr94-tck</artifactId>
+        </exclusion>
+
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-decisiontables</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.eclipse.jdt</groupId>
+          <artifactId>core</artifactId>
+        </exclusion>
+
+        <exclusion>
+          <groupId>janino</groupId>
+          <artifactId>janino</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>com.thoughtworks.xstream</groupId>
+      <artifactId>xstream</artifactId>
+    </dependency>
+    <dependency>
+      <!-- TODO remove this dependency and change MANIFEST.MF to use xpp3_min.jar (non-optional dep of xstream) -->
+      <groupId>xpp3</groupId>
+      <artifactId>xpp3</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-documentation</artifactId>         
+   </dependency>      
+</dependencies>
+
+</project>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/setupEclipse.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/setupEclipse.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/setupEclipse.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,125 +0,0 @@
-<project name="Setup Local  Eclipse" default="setupLocalEclipse">   
-  
-  <property file="build.properties"/>
-
-  <property name="localEclipseDrop" value="${basedir}/local-eclipse-drop-mirror" />   
- 
-  <!-- set the OS name, make sure each condition is mutally exclusive -->
-	<condition property="download.type" value="win32">
-		<os family="windows" />
-	</condition>	
-			
-	<condition property="download.type" value="macosx-carbon">
-		<and>
-			<os family="mac" />
-			<os family="unix" />
-		</and>
-	</condition>
-	
-	<condition property="download.type" value="linux-gtk">
-		<and>
-			<not>
-				<os family="mac" />
-			</not>
-			<os family="unix" />
-		</and>
-	</condition>		
-	
-	<condition property="download.extension" value="zip">
-		<os family="windows" />
-	</condition>		
-	
-	<condition property="download.extension" value="tar.gz">
-		<or>
-			<os family="mac" />
-			<os family="unix" />
-		</or>
-	</condition>	
-		  		        
-   <condition property="expandTypeZip" value="true">
-       <equals arg1="${download.extension}" arg2="zip" />
-   </condition>   
-
-   <condition property="expandTypeTarGz" value="true">
-       <equals arg1="${download.extension}" arg2="tar.gz" />
-   </condition>   
-   
-  <!-- make sure the directory exists -->   
-  <target name="makeLocalEclipseDropDir">
-    <mkdir dir="${localEclipseDrop}" />    
-  </target>   
-   
-  <target name="getEclipseJar" depends="checkEclipseJar" unless="skipGetEclipseJar">
-    <mkdir dir="${localEclipseDrop}/eclipse/${eclipseBuildRevision}" />    
-    
-    <get usetimestamp="true" src="${eclipseURL}/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" 
-         dest="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" /> 
-  </target>  
-  
-  <target name="getTestJar" depends="checkTestJar" unless="skipGetTestJar">
-    <mkdir dir="${localEclipseDrop}/eclipse/${eclipseBuildRevision}" />    
-    <get usetimestamp="true" src="${eclipseURL}/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip"
-         dest="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip"/>    
-  </target>
-
-  <target name="getGefJar" depends="checkGefJar" unless="skipGetGefJar">
-    <mkdir dir="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}" />    
-    <get usetimestamp="true" src="${eclipseGefURL}/${eclipseGefBuildRevision}/GEF-runtime-${eclipseBuildId}.zip" 
-         dest="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseBuildId}.zip" />
-  </target>      
-
-	<target name="checkEclipseJar">	
-		<available file="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-win32.zip" property="skipGetEclipseJar" />
-	</target>
-	
-	<target name="checkTestJar">	
-		<available file="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip" property="skipGetTestJar" />
-	</target>	
-		
-	<target name="checkGefJar">	
-		<available file="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseBuildId}.zip" property="skipGetGefJar" />
-	</target>	  
-
-  <target name="setupLocalEclipseDrop"  depends="checkEclipseDir" unless="skipUnzipEclipseJars">
-    <antcall target="makeLocalEclipseDropDir" />
-    <antcall target="getEclipseJar" />
-    <antcall target="getTestJar" />    
-    <antcall target="getGefJar" />      
-  </target>
-  
-  <target name="expandEclipseJars">   
-    <antcall target="unzipEclipse" />	
-    <antcall target="untarEclipse" />
-    
-    <unzip dest="${base}" overwrite="true"
-           src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip" />   				
-				
-		<unzip dest="${base}" overwrite="true" 
-		       src="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseBuildId}.zip" />				         
-  </target>    
-  
-  <target name="unzipEclipse" if="expandTypeZip">
-  	<unzip dest="${base}" overwrite="true" 
-  	       src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" />  
-  </target>
-
-  <target name="untarEclipse" if="expandTypeTarGz">
-	<gunzip src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.tar.gz"/>
-	<untar dest="${base}" src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.tar" />
-  </target>
-  
-  <target name="checkEclipseDir">
-    <available file="${base}/eclipse" property="skipUnzipEclipseJars" />
-  </target>
-    
-  <target name="setupLocalEclipse" depends="checkLocalEclipse" unless="skipSetupLocalEcipse">  
-    <echo>local eclipse drop mirror - ${localEclipseDrop}</echo>
-    <antcall target="setupLocalEclipseDrop" />
-    <antcall target="expandEclipseJars" />
-  </target>	
-  
-  <target name="checkLocalEclipse">
-      <available type="dir" file="${base}/eclipse" property="skipSetupLocalEcipse" />
-  </target>
-  
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/setupEclipse.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.2/setupEclipse.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/setupEclipse.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/setupEclipse.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,125 @@
+<project name="Setup Local  Eclipse" default="setupLocalEclipse">   
+  
+  <property file="build.properties"/>
+
+  <property name="localEclipseDrop" value="${basedir}/local-eclipse-drop-mirror" />   
+ 
+  <!-- set the OS name, make sure each condition is mutally exclusive -->
+	<condition property="download.type" value="win32">
+		<os family="windows" />
+	</condition>	
+			
+	<condition property="download.type" value="macosx-carbon">
+		<and>
+			<os family="mac" />
+			<os family="unix" />
+		</and>
+	</condition>
+	
+	<condition property="download.type" value="linux-gtk">
+		<and>
+			<not>
+				<os family="mac" />
+			</not>
+			<os family="unix" />
+		</and>
+	</condition>		
+	
+	<condition property="download.extension" value="zip">
+		<os family="windows" />
+	</condition>		
+	
+	<condition property="download.extension" value="tar.gz">
+		<or>
+			<os family="mac" />
+			<os family="unix" />
+		</or>
+	</condition>	
+		  		        
+   <condition property="expandTypeZip" value="true">
+       <equals arg1="${download.extension}" arg2="zip" />
+   </condition>   
+
+   <condition property="expandTypeTarGz" value="true">
+       <equals arg1="${download.extension}" arg2="tar.gz" />
+   </condition>   
+   
+  <!-- make sure the directory exists -->   
+  <target name="makeLocalEclipseDropDir">
+    <mkdir dir="${localEclipseDrop}" />    
+  </target>   
+   
+  <target name="getEclipseJar" depends="checkEclipseJar" unless="skipGetEclipseJar">
+    <mkdir dir="${localEclipseDrop}/eclipse/${eclipseBuildRevision}" />    
+    
+    <get usetimestamp="true" src="${eclipseURL}/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" 
+         dest="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" /> 
+  </target>  
+  
+  <target name="getTestJar" depends="checkTestJar" unless="skipGetTestJar">
+    <mkdir dir="${localEclipseDrop}/eclipse/${eclipseBuildRevision}" />    
+    <get usetimestamp="true" src="${eclipseURL}/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip"
+         dest="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip"/>    
+  </target>
+
+  <target name="getGefJar" depends="checkGefJar" unless="skipGetGefJar">
+    <mkdir dir="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}" />    
+    <get usetimestamp="true" src="${eclipseGefURL}/${eclipseGefBuildRevision}/GEF-runtime-${eclipseBuildId}.zip" 
+         dest="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseBuildId}.zip" />
+  </target>      
+
+	<target name="checkEclipseJar">	
+		<available file="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-win32.zip" property="skipGetEclipseJar" />
+	</target>
+	
+	<target name="checkTestJar">	
+		<available file="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip" property="skipGetTestJar" />
+	</target>	
+		
+	<target name="checkGefJar">	
+		<available file="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseBuildId}.zip" property="skipGetGefJar" />
+	</target>	  
+
+  <target name="setupLocalEclipseDrop"  depends="checkEclipseDir" unless="skipUnzipEclipseJars">
+    <antcall target="makeLocalEclipseDropDir" />
+    <antcall target="getEclipseJar" />
+    <antcall target="getTestJar" />    
+    <antcall target="getGefJar" />      
+  </target>
+  
+  <target name="expandEclipseJars">   
+    <antcall target="unzipEclipse" />	
+    <antcall target="untarEclipse" />
+    
+    <unzip dest="${base}" overwrite="true"
+           src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip" />   				
+				
+		<unzip dest="${base}" overwrite="true" 
+		       src="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseBuildId}.zip" />				         
+  </target>    
+  
+  <target name="unzipEclipse" if="expandTypeZip">
+  	<unzip dest="${base}" overwrite="true" 
+  	       src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" />  
+  </target>
+
+  <target name="untarEclipse" if="expandTypeTarGz">
+	<gunzip src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.tar.gz"/>
+	<untar dest="${base}" src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.tar" />
+  </target>
+  
+  <target name="checkEclipseDir">
+    <available file="${base}/eclipse" property="skipUnzipEclipseJars" />
+  </target>
+    
+  <target name="setupLocalEclipse" depends="checkLocalEclipse" unless="skipSetupLocalEcipse">  
+    <echo>local eclipse drop mirror - ${localEclipseDrop}</echo>
+    <antcall target="setupLocalEclipseDrop" />
+    <antcall target="expandEclipseJars" />
+  </target>	
+  
+  <target name="checkLocalEclipse">
+      <available type="dir" file="${base}/eclipse" property="skipSetupLocalEcipse" />
+  </target>
+  
+</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3 (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/allElements.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/allElements.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/allElements.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,45 +0,0 @@
-<project name="allElements Delegator">
- 	<!-- ===================================================================== -->
- 	<!-- Run a given ${target} on all elements being built                     -->
- 	<!-- Replace element.id with the id of the top level element being built.    -->
-	<!-- If element.id does not exist in ${buildDirectory}/features/element.id   -->
-	<!-- or ${baseLocation}/features/element.id, then you must provide the       -->
-	<!-- location by setting the property "pluginPath"                           -->
- 	<!-- Add on <ant> task for each top level element being built.             -->
- 	<!-- ===================================================================== -->
- 	<target name="allElementsDelegator">
-    <antcall target="org.drools.eclipse.feature"  />
-    <antcall target="org.drools.eclipse.test-feature"  />
- 	</target>
-
- 	<target name="org.drools.eclipse.feature" if="mavenCompilePhase">
- 		<ant antfile="${genericTargets}" target="${target}">
-	 		<property name="type" value="feature" />
-	 		<property name="id" value="org.drools.eclipse.feature" />
- 		</ant>
- 	</target>
-
- 	<target name="org.drools.eclipse.test-feature" if="mavenTestPhase">
- 		<ant antfile="${genericTargets}" target="${target}">
-	 		<property name="type" value="feature" />
-	 		<property name="id" value="org.drools.eclipse.test-feature" />
- 		</ant>
- 	</target>
-
- 	<!-- ===================================================================== -->
- 	<!-- Targets to assemble the built elements for particular configurations  -->
- 	<!-- These generally call the generated assemble scripts (named in         -->
- 	<!-- ${assembleScriptName}) but may also add pre and post processing       -->
- 	<!-- Add one target for each root element and each configuration           -->
- 	<!-- Replace element.id with the id of the top level element being built   -->
- 	<!-- ===================================================================== -->
- 	<target name="assemble.org.drools.eclipse.feature">
- 		<property name="archiveName" value="${zipFile}"/>
- 		<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
- 	</target>
-
- 	<target name="assemble.org.drools.eclipse.test-feature">
- 		<property name="archiveName" value="${testZipFile}"/>
- 		<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
- 	</target>
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/allElements.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/allElements.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/allElements.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/allElements.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,45 @@
+<project name="allElements Delegator">
+ 	<!-- ===================================================================== -->
+ 	<!-- Run a given ${target} on all elements being built                     -->
+ 	<!-- Replace element.id with the id of the top level element being built.    -->
+	<!-- If element.id does not exist in ${buildDirectory}/features/element.id   -->
+	<!-- or ${baseLocation}/features/element.id, then you must provide the       -->
+	<!-- location by setting the property "pluginPath"                           -->
+ 	<!-- Add on <ant> task for each top level element being built.             -->
+ 	<!-- ===================================================================== -->
+ 	<target name="allElementsDelegator">
+    <antcall target="org.drools.eclipse.feature"  />
+    <antcall target="org.drools.eclipse.test-feature"  />
+ 	</target>
+
+ 	<target name="org.drools.eclipse.feature" if="mavenCompilePhase">
+ 		<ant antfile="${genericTargets}" target="${target}">
+	 		<property name="type" value="feature" />
+	 		<property name="id" value="org.drools.eclipse.feature" />
+ 		</ant>
+ 	</target>
+
+ 	<target name="org.drools.eclipse.test-feature" if="mavenTestPhase">
+ 		<ant antfile="${genericTargets}" target="${target}">
+	 		<property name="type" value="feature" />
+	 		<property name="id" value="org.drools.eclipse.test-feature" />
+ 		</ant>
+ 	</target>
+
+ 	<!-- ===================================================================== -->
+ 	<!-- Targets to assemble the built elements for particular configurations  -->
+ 	<!-- These generally call the generated assemble scripts (named in         -->
+ 	<!-- ${assembleScriptName}) but may also add pre and post processing       -->
+ 	<!-- Add one target for each root element and each configuration           -->
+ 	<!-- Replace element.id with the id of the top level element being built   -->
+ 	<!-- ===================================================================== -->
+ 	<target name="assemble.org.drools.eclipse.feature">
+ 		<property name="archiveName" value="${zipFile}"/>
+ 		<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+ 	</target>
+
+ 	<target name="assemble.org.drools.eclipse.test-feature">
+ 		<property name="archiveName" value="${testZipFile}"/>
+ 		<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
+ 	</target>
+</project>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/build.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,73 +0,0 @@
-#product=/plugin or feature id/path/to/.product
-runPackager=true
-droolsVersion=4.0.6
-
-# The prefix that will be used in the generated archive.
-archivePrefix=
-# The location underwhich all of the build output will be collected.
-collectingFolder=${archivePrefix}
-
-##sets the zip name
-zipFile=drools-eclipse3.3-${droolsVersion}.zip
-testZipFile=drools-eclipse3.3-test-${droolsVersion}.zip
-
-#Set to true if you want the output to be ready for an update jar (no site.xml generated)
-outputUpdateJars = false
-
-# Timestamp for the build.  Used in naming the build output
-timestamp=007
-
-# Type of build.  Used in naming the build output.  Typically this value is
-# one of I, N, M, S, ...
-buildType=N
-
-# ID of the build.  Used in naming the build output.
-buildId=drools-build
-
-# Label for the build.  Used in naming the build output
-buildLabel=${buildType}.${buildId}
-
-#Where the customised scripts live
-builder=.
-base=${builder}/target
-buildDirectory=${base}/eclipse.build
-baseLocation=${base}/eclipse
-
-
-#Os/Ws/Arch/nl of the eclipse specified by baseLocation
-#baseos=win32
-#basews=win32
-#basearch=x86
-
-eclipseGefURL=http://download.eclipse.org/tools/gef/downloads/drops
-eclipseURL=http://download.eclipse.org/eclipse/downloads/drops
-eclipseBuildRevision=R-3.3.1.1-200710231652
-eclipseGefBuildRevision=R-3.3.1-200709241000
-eclipseBuildId=3.3.1.1
-eclipseGefBuildId=3.3.1
-
-# We don't want any SCM automation
-skipFetch=true
-
-# Specify the output format of the compiler log when eclipse jdt is used
-logExtension=.log
-
-# Whether or not to include debug info in the output jars
-javacDebugInfo=false
-
-# Whether or not to fail the build if there are compiler errors
-javacFailOnError=false
-
-# Enable or disable verbose mode of the compiler
-javacVerbose=true
-
-# Extra arguments for the compiler. These are specific to the java compiler being used.
-#compilerArg=
-
-# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties
-javacSource=1.4
-
-# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties.
-javacTarget=1.4
-
-

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/build.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,73 @@
+#product=/plugin or feature id/path/to/.product
+runPackager=true
+droolsVersion=4.0.6
+
+# The prefix that will be used in the generated archive.
+archivePrefix=
+# The location underwhich all of the build output will be collected.
+collectingFolder=${archivePrefix}
+
+##sets the zip name
+zipFile=drools-eclipse3.3-${droolsVersion}.zip
+testZipFile=drools-eclipse3.3-test-${droolsVersion}.zip
+
+#Set to true if you want the output to be ready for an update jar (no site.xml generated)
+outputUpdateJars = false
+
+# Timestamp for the build.  Used in naming the build output
+timestamp=007
+
+# Type of build.  Used in naming the build output.  Typically this value is
+# one of I, N, M, S, ...
+buildType=N
+
+# ID of the build.  Used in naming the build output.
+buildId=drools-build
+
+# Label for the build.  Used in naming the build output
+buildLabel=${buildType}.${buildId}
+
+#Where the customised scripts live
+builder=.
+base=${builder}/target
+buildDirectory=${base}/eclipse.build
+baseLocation=${base}/eclipse
+
+
+#Os/Ws/Arch/nl of the eclipse specified by baseLocation
+#baseos=win32
+#basews=win32
+#basearch=x86
+
+eclipseGefURL=http://download.eclipse.org/tools/gef/downloads/drops
+eclipseURL=http://download.eclipse.org/eclipse/downloads/drops
+eclipseBuildRevision=R-3.3.1.1-200710231652
+eclipseGefBuildRevision=R-3.3.1-200709241000
+eclipseBuildId=3.3.1.1
+eclipseGefBuildId=3.3.1
+
+# We don't want any SCM automation
+skipFetch=true
+
+# Specify the output format of the compiler log when eclipse jdt is used
+logExtension=.log
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=false
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+# Enable or disable verbose mode of the compiler
+javacVerbose=true
+
+# Extra arguments for the compiler. These are specific to the java compiler being used.
+#compilerArg=
+
+# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties
+javacSource=1.4
+
+# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties.
+javacTarget=1.4
+
+

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/build.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,126 +0,0 @@
-<project name="Build All Elements" default="main">
-
-<!-- ===================================================================== -->
-<!-- Global properties.  See the build.properties for information on -->
-<!-- the properties which callers can control. -->
-<!-- ===================================================================== -->
-<property name="builder" location="${user.dir}"/>
-<property name="builderDirectory" location="${builder}"/>
-<property name="buildProperties" location="${builder}/build.properties"/>
-<property file="${buildProperties}"/>
-<available property="customTargets" file="${builder}/customTargets.xml" value="${builder}/customTargets.xml"/>
-<property name="customTargets" location="${eclipse.pdebuild.templates}/headless-build/customTargets.xml"/>
-<property name="genericTargets" location="${eclipse.pdebuild.scripts}/genericTargets.xml"/>
-
-<!-- ===================================================================== -->
-<!-- main entry point to setup, fetch, generate, build etc. Use -->
-<!-- the customTargets.xml to modify the build behaviour. -->
-<!-- ===================================================================== -->
-
-<!-- ******* add in the descriptions for each of the top level targets to teh target decl -->
-<target name="main" description="the main build target">	
-  	<antcall target="preBuild" /> 
- 	<antcall target="fetch" />
-	<antcall target="generate" /> 
-	<antcall target="process" /> 
-	<antcall target="assemble" />
-	<antcall target="package" />
-	<antcall target="postBuild" />
-</target>
-
-<!-- ===================================================================== -->
-<!-- Steps to do before starting the build.  Typical setup includes -->
-<!-- fetching the map files and building the directory.  -->
-<!-- ===================================================================== -->
-<target name="preBuild">
-	<mkdir dir="${buildDirectory}" />
-	<ant antfile="${customTargets}" target="preSetup" /> 
-	<ant antfile="${customTargets}" target="getMapFiles" /> 
-	<concat destfile="${buildDirectory}/directory.txt" fixlastline="yes">
-		<fileset dir="${buildDirectory}" includes="maps/**/*.map"/>
-	</concat>
-	<ant antfile="${customTargets}" target="postSetup" />
-</target>
-
-<!-- ===================================================================== -->
-<!-- Fetch the elements identified in the customTargets -->
-<!-- ===================================================================== -->
-<target name="fetch" unless="skipFetch">
-	<ant antfile="${customTargets}" target="preFetch"/>
-	<!-- Generates and then execute the fetch scripts for each build element-->
-	<ant antfile="${customTargets}" target="allElements">
-		<property name="target" value="fetchElement" />
-	</ant>
-	
-	<ant antfile="${customTargets}" target="postFetch"/>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Generate the build scripts for each element identified in the customTargets -->
-<!-- ===================================================================== -->
-<target name="generate">
-	<ant antfile="${customTargets}" target="preGenerate"/>
-	<!-- Generate the build.xml for each build element-->
-	<ant antfile="${customTargets}" target="allElements">
-		<property name="target" value="generateScript" />
-	</ant>
-	<ant antfile="${customTargets}" target="postGenerate"/>	
-</target>
-
-<!-- ===================================================================== -->
-<!-- Run the build scripts for each element identified in the customTargets -->
-<!-- ===================================================================== -->
-<target name="process">
-	<!-- Run custom tasks before processing, i.e. creating source build zip files -->
-	<ant antfile="${customTargets}" target="preProcess" />
-
-	<!-- Process all of the build elements-->
-	<ant antfile="${customTargets}" target="allElements">
-		<property name="target" value="processElement" />
-	</ant>
-
-	<!-- Run custom tasks after compiling, i.e. reporting compile errors -->
-	<ant antfile="${customTargets}" target="postProcess" />
-</target>
-
-<!-- ===================================================================== -->
-<!-- Assemble the build elements into final distributions -->
-<!-- ===================================================================== -->
-<target name="assemble">
-	<ant antfile="${customTargets}" target="preAssemble"/>
-	<ant antfile="${customTargets}" target="allElements">
-		<property name="target" value="assembleElement"/>
-	</ant>
-	<ant antfile="${customTargets}" target="postAssemble"/>	
-</target>
-
-<!-- ===================================================================== -->
-<!-- Package the build elements into final distributions -->
-<!-- ===================================================================== -->
-<target name="package" if="runPackager">
-	<ant antfile="${customTargets}" target="prePackage"/>
-	<ant antfile="${customTargets}" target="allElements">
-		<property name="target" value="packageElement"/>
-	</ant>
-	<ant antfile="${customTargets}" target="postPackage"/>	
-</target>
-
-<!-- ===================================================================== -->
-<!-- Do any steps required after the build (e.g., posting, testing, ...) -->
-<!-- ===================================================================== -->
-<target name="postBuild">
-	<ant antfile="${customTargets}" target="postBuild" />
-</target>
-
-<!-- ===================================================================== -->
-<!-- Clean the build elements.  This target is here as an entry -->
-<!-- point to the customTargets.  It is not called directly in the normal -->
-<!-- course of events. -->
-<!-- ===================================================================== -->
-<target name="clean">
-  <ant antfile="${customTargets}" target="allElements">
-     <property name="target" value="cleanElement"/>
-  </ant>
-</target>
-
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/build.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/build.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,126 @@
+<project name="Build All Elements" default="main">
+
+<!-- ===================================================================== -->
+<!-- Global properties.  See the build.properties for information on -->
+<!-- the properties which callers can control. -->
+<!-- ===================================================================== -->
+<property name="builder" location="${user.dir}"/>
+<property name="builderDirectory" location="${builder}"/>
+<property name="buildProperties" location="${builder}/build.properties"/>
+<property file="${buildProperties}"/>
+<available property="customTargets" file="${builder}/customTargets.xml" value="${builder}/customTargets.xml"/>
+<property name="customTargets" location="${eclipse.pdebuild.templates}/headless-build/customTargets.xml"/>
+<property name="genericTargets" location="${eclipse.pdebuild.scripts}/genericTargets.xml"/>
+
+<!-- ===================================================================== -->
+<!-- main entry point to setup, fetch, generate, build etc. Use -->
+<!-- the customTargets.xml to modify the build behaviour. -->
+<!-- ===================================================================== -->
+
+<!-- ******* add in the descriptions for each of the top level targets to teh target decl -->
+<target name="main" description="the main build target">	
+  	<antcall target="preBuild" /> 
+ 	<antcall target="fetch" />
+	<antcall target="generate" /> 
+	<antcall target="process" /> 
+	<antcall target="assemble" />
+	<antcall target="package" />
+	<antcall target="postBuild" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do before starting the build.  Typical setup includes -->
+<!-- fetching the map files and building the directory.  -->
+<!-- ===================================================================== -->
+<target name="preBuild">
+	<mkdir dir="${buildDirectory}" />
+	<ant antfile="${customTargets}" target="preSetup" /> 
+	<ant antfile="${customTargets}" target="getMapFiles" /> 
+	<concat destfile="${buildDirectory}/directory.txt" fixlastline="yes">
+		<fileset dir="${buildDirectory}" includes="maps/**/*.map"/>
+	</concat>
+	<ant antfile="${customTargets}" target="postSetup" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Fetch the elements identified in the customTargets -->
+<!-- ===================================================================== -->
+<target name="fetch" unless="skipFetch">
+	<ant antfile="${customTargets}" target="preFetch"/>
+	<!-- Generates and then execute the fetch scripts for each build element-->
+	<ant antfile="${customTargets}" target="allElements">
+		<property name="target" value="fetchElement" />
+	</ant>
+	
+	<ant antfile="${customTargets}" target="postFetch"/>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Generate the build scripts for each element identified in the customTargets -->
+<!-- ===================================================================== -->
+<target name="generate">
+	<ant antfile="${customTargets}" target="preGenerate"/>
+	<!-- Generate the build.xml for each build element-->
+	<ant antfile="${customTargets}" target="allElements">
+		<property name="target" value="generateScript" />
+	</ant>
+	<ant antfile="${customTargets}" target="postGenerate"/>	
+</target>
+
+<!-- ===================================================================== -->
+<!-- Run the build scripts for each element identified in the customTargets -->
+<!-- ===================================================================== -->
+<target name="process">
+	<!-- Run custom tasks before processing, i.e. creating source build zip files -->
+	<ant antfile="${customTargets}" target="preProcess" />
+
+	<!-- Process all of the build elements-->
+	<ant antfile="${customTargets}" target="allElements">
+		<property name="target" value="processElement" />
+	</ant>
+
+	<!-- Run custom tasks after compiling, i.e. reporting compile errors -->
+	<ant antfile="${customTargets}" target="postProcess" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Assemble the build elements into final distributions -->
+<!-- ===================================================================== -->
+<target name="assemble">
+	<ant antfile="${customTargets}" target="preAssemble"/>
+	<ant antfile="${customTargets}" target="allElements">
+		<property name="target" value="assembleElement"/>
+	</ant>
+	<ant antfile="${customTargets}" target="postAssemble"/>	
+</target>
+
+<!-- ===================================================================== -->
+<!-- Package the build elements into final distributions -->
+<!-- ===================================================================== -->
+<target name="package" if="runPackager">
+	<ant antfile="${customTargets}" target="prePackage"/>
+	<ant antfile="${customTargets}" target="allElements">
+		<property name="target" value="packageElement"/>
+	</ant>
+	<ant antfile="${customTargets}" target="postPackage"/>	
+</target>
+
+<!-- ===================================================================== -->
+<!-- Do any steps required after the build (e.g., posting, testing, ...) -->
+<!-- ===================================================================== -->
+<target name="postBuild">
+	<ant antfile="${customTargets}" target="postBuild" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Clean the build elements.  This target is here as an entry -->
+<!-- point to the customTargets.  It is not called directly in the normal -->
+<!-- course of events. -->
+<!-- ===================================================================== -->
+<target name="clean">
+  <ant antfile="${customTargets}" target="allElements">
+     <property name="target" value="cleanElement"/>
+  </ant>
+</target>
+
+</project>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/customTargets.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/customTargets.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/customTargets.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,198 +0,0 @@
-<project name="Build specific targets and properties" default="noDefault">
-	<!-- ===================================================================== -->
-	<!-- Run a given ${target} on all elements being built -->
-	<!-- Add on <ant> task for each top level element being built. -->
-	<!-- ===================================================================== -->
-	<property name="allElementsFile" value="${builder}/allElements.xml"/>
-	<import file="${allElementsFile}" />
-	<target name="allElements">
-		<antcall target="allElementsDelegator" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- ===================================================================== -->
-	<!-- Check out map files from correct repository -->
-	<!-- Replace values for mapsCheckoutTag as desired. -->
-	<!-- ===================================================================== -->
-	<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
-		<property name="mapsCheckoutTag" value="HEAD" />
-		<cvs cvsRoot="${mapsRepo}" package="${mapsRoot}" dest="${buildDirectory}/maps" tag="${mapsCheckoutTag}" />
-	</target>
-
-	<target name="checkLocalMaps">
-		<available property="skipMaps" file="${buildDirectory}/maps" />
-	</target>
-
-	<target name="tagMapFiles" if="tagMaps">
-		<cvs dest="${buildDirectory}/maps/${mapsRoot}" command="tag ${mapsTagTag}" />
-	</target>
-
-	<!-- ===================================================================== -->
-
-	<target name="clean" unless="noclean">
-		<antcall target="allElements">
-			<param name="target" value="cleanElement" />
-		</antcall>
-	</target>
-
-	<target name="gatherLogs">
-		<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
-		<antcall target="allElements">
-			<param name="target" value="gatherLogs" />
-		</antcall>
-		<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
-			<fileset dir="${buildDirectory}/features">
-				<include name="**/*.log.zip" />
-			</fileset>
-		</unzip>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before setup -->
-	<!-- ===================================================================== -->
-	<target name="preSetup">
-	  <echo>preSetup</echo>	  
-    <!--cleanup -->
-    <delete failonerror="false" file="${base}/eclipse/org.drools.eclipse*.xml" />
-    <delete failonerror="false" dir="${base}/eclipse/test-workspace"/>
-    
-    <delete failonerror="false"  dir="${base}/eclipse/features/org.drools.eclipse.feature_${droolsVersion}"/>
-    <delete failonerror="false" dir="${base}/eclipse/features/org.drools.eclipse.test-feature_${droolsVersion}"/>
-    
-    <delete failonerror="false" file="${base}/eclipse/plugins/org.drools.eclipse_${droolsVersion}.jar"/>
-    <delete failonerror="false" dir="${base}/eclipse/plugins/org.drools.eclipse.test_${droolsVersion}"/>            
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do after setup but before starting the build proper -->
-	<!-- ===================================================================== -->
-	<target name="postSetup">		
-		<mkdir dir="${buildDirectory}/features"/>
-		<mkdir dir="${buildDirectory}/plugins"/>
-		
-		<antcall target="compilePostSetup" />
-		<antcall target="testPostSetup" />
-	</target>
-	
-	<target name="compilePostSetup" if="mavenCompilePhase">
-		<copy todir="${buildDirectory}/features/org.drools.eclipse.feature">
-			<fileset dir="${builder}/drools-eclipse-feature"/>
-		</copy>
-
-		<copy todir="${buildDirectory}/plugins/org.drools.eclipse">
-				<fileset dir="${builder}/drools-eclipse-plugin"/>
-		</copy>		
-	</target>
-
-	<target name="testPostSetup" if="mavenTestPhase">
-		
-		<copy todir="${buildDirectory}/features/org.drools.eclipse.test-feature">
-			<fileset dir="${builder}/drools-eclipse-test-feature"/>
-		</copy>
-
-		<copy todir="${buildDirectory}/plugins/org.drools.eclipse.test">
-				<fileset dir="${builder}/drools-eclipse-test"/>
-		</copy>		
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before fetching the build elements -->
-	<!-- ===================================================================== -->
-	<target name="preFetch">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after fetching the build elements -->
-	<!-- ===================================================================== -->
-	<target name="postFetch">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before generating the build scripts. -->
-	<!-- ===================================================================== -->
-	<target name="preGenerate">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after generating the build scripts. -->
-	<!-- ===================================================================== -->
-	<target name="postGenerate">
-		<antcall target="clean" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="preProcess">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="postProcess">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running assemble. -->
-	<!-- ===================================================================== -->
-	<target name="preAssemble">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after  running assemble. -->
-	<!-- ===================================================================== -->
-	<target name="postAssemble">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running package. -->
-	<!-- ===================================================================== -->
-	<target name="prePackage">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after  running package. -->
-	<!-- ===================================================================== -->
-	<target name="postPackage" if="mavenCompilePhase">
-	    <copy file="${buildDirectory}/${buildLabel}/${zipFile}" tofile="${base}/${zipFile}" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the build is done. -->
-	<!-- ===================================================================== -->
-	<target name="postBuild">
-		<antcall target="gatherLogs" />
-		<antcall target="test" />
-	</target>	
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do to test the build results -->
-	<!-- ===================================================================== -->
-  <target name="test" if="mavenTestPhase">  
-    <unzip src="${buildDirectory}/${buildLabel}/${zipFile}"
-           dest="${base}/eclipse"/>
-    <unzip src="${buildDirectory}/${buildLabel}/${testZipFile}" 
-           dest="${base}/eclipse"/>    
-
-
-    <ant antfile="${base}/eclipse/plugins/org.drools.eclipse.test_${droolsVersion}/test.xml">        
-      <property name="os" value="${baseos}" />
-      <property name="ws" value="${basews}" />
-      <property name="arch" value="${basearch}" />
-    </ant>
-  </target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do to publish the build results -->
-	<!-- ===================================================================== -->
-	<target name="publish">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="You must specify a target when invoking this file" />
-	</target>
-
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/customTargets.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/customTargets.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/customTargets.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/customTargets.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,198 @@
+<project name="Build specific targets and properties" default="noDefault">
+	<!-- ===================================================================== -->
+	<!-- Run a given ${target} on all elements being built -->
+	<!-- Add on <ant> task for each top level element being built. -->
+	<!-- ===================================================================== -->
+	<property name="allElementsFile" value="${builder}/allElements.xml"/>
+	<import file="${allElementsFile}" />
+	<target name="allElements">
+		<antcall target="allElementsDelegator" />
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- ===================================================================== -->
+	<!-- Check out map files from correct repository -->
+	<!-- Replace values for mapsCheckoutTag as desired. -->
+	<!-- ===================================================================== -->
+	<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
+		<property name="mapsCheckoutTag" value="HEAD" />
+		<cvs cvsRoot="${mapsRepo}" package="${mapsRoot}" dest="${buildDirectory}/maps" tag="${mapsCheckoutTag}" />
+	</target>
+
+	<target name="checkLocalMaps">
+		<available property="skipMaps" file="${buildDirectory}/maps" />
+	</target>
+
+	<target name="tagMapFiles" if="tagMaps">
+		<cvs dest="${buildDirectory}/maps/${mapsRoot}" command="tag ${mapsTagTag}" />
+	</target>
+
+	<!-- ===================================================================== -->
+
+	<target name="clean" unless="noclean">
+		<antcall target="allElements">
+			<param name="target" value="cleanElement" />
+		</antcall>
+	</target>
+
+	<target name="gatherLogs">
+		<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
+		<antcall target="allElements">
+			<param name="target" value="gatherLogs" />
+		</antcall>
+		<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
+			<fileset dir="${buildDirectory}/features">
+				<include name="**/*.log.zip" />
+			</fileset>
+		</unzip>
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before setup -->
+	<!-- ===================================================================== -->
+	<target name="preSetup">
+	  <echo>preSetup</echo>	  
+    <!--cleanup -->
+    <delete failonerror="false" file="${base}/eclipse/org.drools.eclipse*.xml" />
+    <delete failonerror="false" dir="${base}/eclipse/test-workspace"/>
+    
+    <delete failonerror="false"  dir="${base}/eclipse/features/org.drools.eclipse.feature_${droolsVersion}"/>
+    <delete failonerror="false" dir="${base}/eclipse/features/org.drools.eclipse.test-feature_${droolsVersion}"/>
+    
+    <delete failonerror="false" file="${base}/eclipse/plugins/org.drools.eclipse_${droolsVersion}.jar"/>
+    <delete failonerror="false" dir="${base}/eclipse/plugins/org.drools.eclipse.test_${droolsVersion}"/>            
+	</target>
+	
+	<!-- ===================================================================== -->
+	<!-- Steps to do after setup but before starting the build proper -->
+	<!-- ===================================================================== -->
+	<target name="postSetup">		
+		<mkdir dir="${buildDirectory}/features"/>
+		<mkdir dir="${buildDirectory}/plugins"/>
+		
+		<antcall target="compilePostSetup" />
+		<antcall target="testPostSetup" />
+	</target>
+	
+	<target name="compilePostSetup" if="mavenCompilePhase">
+		<copy todir="${buildDirectory}/features/org.drools.eclipse.feature">
+			<fileset dir="${builder}/drools-eclipse-feature"/>
+		</copy>
+
+		<copy todir="${buildDirectory}/plugins/org.drools.eclipse">
+				<fileset dir="${builder}/drools-eclipse-plugin"/>
+		</copy>		
+	</target>
+
+	<target name="testPostSetup" if="mavenTestPhase">
+		
+		<copy todir="${buildDirectory}/features/org.drools.eclipse.test-feature">
+			<fileset dir="${builder}/drools-eclipse-test-feature"/>
+		</copy>
+
+		<copy todir="${buildDirectory}/plugins/org.drools.eclipse.test">
+				<fileset dir="${builder}/drools-eclipse-test"/>
+		</copy>		
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before fetching the build elements -->
+	<!-- ===================================================================== -->
+	<target name="preFetch">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after fetching the build elements -->
+	<!-- ===================================================================== -->
+	<target name="postFetch">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before generating the build scripts. -->
+	<!-- ===================================================================== -->
+	<target name="preGenerate">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after generating the build scripts. -->
+	<!-- ===================================================================== -->
+	<target name="postGenerate">
+		<antcall target="clean" />
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before running the build.xmls for the elements being built. -->
+	<!-- ===================================================================== -->
+	<target name="preProcess">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after running the build.xmls for the elements being built. -->
+	<!-- ===================================================================== -->
+	<target name="postProcess">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before running assemble. -->
+	<!-- ===================================================================== -->
+	<target name="preAssemble">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after  running assemble. -->
+	<!-- ===================================================================== -->
+	<target name="postAssemble">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do before running package. -->
+	<!-- ===================================================================== -->
+	<target name="prePackage">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after  running package. -->
+	<!-- ===================================================================== -->
+	<target name="postPackage" if="mavenCompilePhase">
+	    <copy file="${buildDirectory}/${buildLabel}/${zipFile}" tofile="${base}/${zipFile}" />
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do after the build is done. -->
+	<!-- ===================================================================== -->
+	<target name="postBuild">
+		<antcall target="gatherLogs" />
+		<antcall target="test" />
+	</target>	
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do to test the build results -->
+	<!-- ===================================================================== -->
+  <target name="test" if="mavenTestPhase">  
+    <unzip src="${buildDirectory}/${buildLabel}/${zipFile}"
+           dest="${base}/eclipse"/>
+    <unzip src="${buildDirectory}/${buildLabel}/${testZipFile}" 
+           dest="${base}/eclipse"/>    
+
+
+    <ant antfile="${base}/eclipse/plugins/org.drools.eclipse.test_${droolsVersion}/test.xml">        
+      <property name="os" value="${baseos}" />
+      <property name="ws" value="${basews}" />
+      <property name="arch" value="${basearch}" />
+    </ant>
+  </target>
+
+	<!-- ===================================================================== -->
+	<!-- Steps to do to publish the build results -->
+	<!-- ===================================================================== -->
+	<target name="publish">
+	</target>
+
+	<!-- ===================================================================== -->
+	<!-- Default target                                                        -->
+	<!-- ===================================================================== -->
+	<target name="noDefault">
+		<echo message="You must specify a target when invoking this file" />
+	</target>
+
+</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-feature)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/.project
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-feature/.project	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>drools-eclipse-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/.project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-feature/.project)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/.project	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>drools-eclipse-feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/build.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-feature/build.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1 +0,0 @@
-bin.includes = feature.xml

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/build.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-feature/build.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/build.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1 @@
+bin.includes = feature.xml

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/feature.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-feature/feature.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/feature.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.drools.eclipse.feature"
-      label="JBossRules Feature"
-      version="4.0.6"
-      provider-name="JBoss, Inc.">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.jdt.debug"/>
-      <import plugin="org.eclipse.jdt.debug.ui"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.jdt.ui"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.console"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui.forms"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.gef"/>
-      <import plugin="com.ibm.icu"/>
-   </requires>
-
-   <plugin
-         id="org.drools.eclipse"
-         download-size="0"
-         install-size="0"
-         version="4.0.6"
-         unpack="false"/>
-
-</feature>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/feature.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-feature/feature.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/feature.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/feature.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.drools.eclipse.feature"
+      label="JBossRules Feature"
+      version="4.0.6"
+      provider-name="JBoss, Inc.">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="http://www.example.com/license">
+      [Enter License Description here.]
+   </license>
+
+   <requires>
+      <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.eclipse.core.resources"/>
+      <import plugin="org.eclipse.debug.core"/>
+      <import plugin="org.eclipse.debug.ui"/>
+      <import plugin="org.eclipse.jdt.core"/>
+      <import plugin="org.eclipse.jdt.debug"/>
+      <import plugin="org.eclipse.jdt.debug.ui"/>
+      <import plugin="org.eclipse.jdt.launching"/>
+      <import plugin="org.eclipse.jdt.ui"/>
+      <import plugin="org.eclipse.jface.text"/>
+      <import plugin="org.eclipse.ui"/>
+      <import plugin="org.eclipse.ui.console"/>
+      <import plugin="org.eclipse.ui.editors"/>
+      <import plugin="org.eclipse.ui.forms"/>
+      <import plugin="org.eclipse.ui.ide"/>
+      <import plugin="org.eclipse.ui.views"/>
+      <import plugin="org.eclipse.ui.workbench.texteditor"/>
+      <import plugin="org.eclipse.gef"/>
+      <import plugin="com.ibm.icu"/>
+   </requires>
+
+   <plugin
+         id="org.drools.eclipse"
+         download-size="0"
+         install-size="0"
+         version="4.0.6"
+         unpack="false"/>
+
+</feature>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/pom.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-feature/pom.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,25 +0,0 @@
-<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/P
-OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-        <modelVersion>4.0.0</modelVersion>
-        <groupId>drools</groupId>
-        <artifactId>drools-eclipse-feature</artifactId>
-        <packaging>eclipse-feature</packaging>
-        <version>1.0-SNAPSHOT</version>
-        <build>
-                <plugins>
-                        <plugin>
-                                <groupId>org.codehaus.tycho</groupId>
-                                <artifactId>maven-osgi-lifecycle-plugin</artifactId>
-                                <extensions>true</extensions>
-                        </plugin>
-                </plugins>
-        </build>
-  <dependencies>
-    <dependency>
-      <groupId>drools</groupId>
-      <artifactId>drools-eclipse-plugin</artifactId>
-      <version>1.0-SNAPSHOT</version>
-    </dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/pom.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-feature/pom.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-feature/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,25 @@
+<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/P
+OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+        <modelVersion>4.0.0</modelVersion>
+        <groupId>drools</groupId>
+        <artifactId>drools-eclipse-feature</artifactId>
+        <packaging>eclipse-feature</packaging>
+        <version>1.0-SNAPSHOT</version>
+        <build>
+                <plugins>
+                        <plugin>
+                                <groupId>org.codehaus.tycho</groupId>
+                                <artifactId>maven-osgi-lifecycle-plugin</artifactId>
+                                <extensions>true</extensions>
+                        </plugin>
+                </plugins>
+        </build>
+  <dependencies>
+    <dependency>
+      <groupId>drools</groupId>
+      <artifactId>drools-eclipse-plugin</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+
+</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.classpath
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/.classpath	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry kind="src" path="src/main/resources"/>
-	<classpathentry exported="true" kind="lib" path="lib/drools-compiler.jar" sourcepath="/drools-compiler"/>
-	<classpathentry exported="true" kind="lib" path="lib/drools-core.jar" sourcepath="/drools-core"/>
-	<classpathentry exported="true" kind="lib" path="lib/drools-decisiontables.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/drools-jsr94.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/jsr94.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/junit.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/jxl.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/mvel.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/xpp3.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/xstream.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/antlr-runtime.jar"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.classpath (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/.classpath)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.classpath	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" path="src/main/resources"/>
+	<classpathentry exported="true" kind="lib" path="lib/drools-compiler.jar" sourcepath="/drools-compiler"/>
+	<classpathentry exported="true" kind="lib" path="lib/drools-core.jar" sourcepath="/drools-core"/>
+	<classpathentry exported="true" kind="lib" path="lib/drools-decisiontables.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/drools-jsr94.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/jsr94.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/junit.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/jxl.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/mvel.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/xpp3.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/xstream.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/antlr-runtime.jar"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.project
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/.project	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>drools-eclipse-plugin</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/.project)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.project	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>drools-eclipse-plugin</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/.settings (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/.settings)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/META-INF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/META-INF)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/META-INF/MANIFEST.MF	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/META-INF/MANIFEST.MF	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,45 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Drools Eclipse Plug-in
-Bundle-SymbolicName: org.drools.eclipse;singleton:=true
-Bundle-Version: 4.0.6
-Bundle-Activator: org.drools.eclipse.DroolsEclipsePlugin
-Bundle-Vendor: krisv,mic
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.debug.core,
- org.eclipse.debug.ui,
- org.eclipse.jdt.core,
- org.eclipse.jdt.debug,
- org.eclipse.jdt.debug.ui,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.ui,
- org.eclipse.jface.text,
- org.eclipse.ui,
- org.eclipse.ui.console,
- org.eclipse.ui.editors,
- org.eclipse.ui.forms,
- org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.gef,
- com.ibm.icu
-Eclipse-LazyStart: true
-Eclipse-BuddyPolicy: registered
-Bundle-ClassPath: .,
- lib/drools-compiler.jar,
- lib/drools-core.jar,
- lib/drools-decisiontables.jar,
- lib/drools-jsr94.jar,
- lib/jsr94.jar,
- lib/junit.jar,
- lib/jxl.jar,
- lib/mvel.jar,
- lib/xercesImpl.jar,
- lib/xml-apis.jar,
- lib/xpp3.jar,
- lib/xstream.jar,
- lib/antlr-runtime.jar
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: org.drools.eclipse.util

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/META-INF/MANIFEST.MF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/META-INF/MANIFEST.MF)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/META-INF/MANIFEST.MF	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,45 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Drools Eclipse Plug-in
+Bundle-SymbolicName: org.drools.eclipse;singleton:=true
+Bundle-Version: 4.0.6
+Bundle-Activator: org.drools.eclipse.DroolsEclipsePlugin
+Bundle-Vendor: krisv,mic
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources,
+ org.eclipse.debug.core,
+ org.eclipse.debug.ui,
+ org.eclipse.jdt.core,
+ org.eclipse.jdt.debug,
+ org.eclipse.jdt.debug.ui,
+ org.eclipse.jdt.launching,
+ org.eclipse.jdt.ui,
+ org.eclipse.jface.text,
+ org.eclipse.ui,
+ org.eclipse.ui.console,
+ org.eclipse.ui.editors,
+ org.eclipse.ui.forms,
+ org.eclipse.ui.ide,
+ org.eclipse.ui.views,
+ org.eclipse.ui.workbench.texteditor,
+ org.eclipse.gef,
+ com.ibm.icu
+Eclipse-LazyStart: true
+Eclipse-BuddyPolicy: registered
+Bundle-ClassPath: .,
+ lib/drools-compiler.jar,
+ lib/drools-core.jar,
+ lib/drools-decisiontables.jar,
+ lib/drools-jsr94.jar,
+ lib/jsr94.jar,
+ lib/junit.jar,
+ lib/jxl.jar,
+ lib/mvel.jar,
+ lib/xercesImpl.jar,
+ lib/xml-apis.jar,
+ lib/xpp3.jar,
+ lib/xstream.jar,
+ lib/antlr-runtime.jar
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Export-Package: org.drools.eclipse.util

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/build.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/build.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-bin.includes = .,\
-			   META-INF/,\
-               icons/,\
-               plugin.xml,\
-               help/,\
-               lib/
-bin.excludes = lib/drools-documentation.jar
-src.includes = META-INF/,\
-               icons/,\
-               plugin.xml,\
-               help/,\
-               lib/,\
-               .project,\
-               .classpath
-src.excludes =  lib/drools-documentation.jar
-jars.compile.order = .
-source.. = src/main/java/,\
-           src/main/resources/

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/build.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/build.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/build.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+bin.includes = .,\
+			   META-INF/,\
+               icons/,\
+               plugin.xml,\
+               help/,\
+               lib/
+bin.excludes = lib/drools-documentation.jar
+src.includes = META-INF/,\
+               icons/,\
+               plugin.xml,\
+               help/,\
+               lib/,\
+               .project,\
+               .classpath
+src.excludes =  lib/drools-documentation.jar
+jars.compile.order = .
+source.. = src/main/java/,\
+           src/main/resources/

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/help (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/help)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/action.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/action.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/action.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/activity.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/activity.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/activity.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/add_connective.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/add_connective.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/add_connective.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/add_field_to_fact.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/add_field_to_fact.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/add_field_to_fact.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/arrowleft.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/arrowleft.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/arrowleft.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/arrowright.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/arrowright.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/arrowright.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/bluediamond.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/bluediamond.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/bluediamond.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/check.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/check.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/check.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/class_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/class_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/class_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/clear.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/clear.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/clear.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/clear_disabled.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/clear_disabled.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/clear_disabled.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/connection.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/connection.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/connection.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/constant_co.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/constant_co.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/constant_co.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/delete_item_small.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/delete_item_small.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/delete_item_small.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/delete_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/delete_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/delete_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-large.PNG
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-large.PNG (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-large.PNG)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-query.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-query.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-query.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-rule.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-rule.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/drools-rule.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/drools.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/drools.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl-large.png
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl-large.png (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl-large.png)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl.png
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl.png (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl.png)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl_expression.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl_expression.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/dsl_expression.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dt_large.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dt_large.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/dt_large.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dt_small.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/dt_small.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/dt_small.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/edit.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/edit.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/edit.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/field_private_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/field_private_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/field_private_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/field_public_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/field_public_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/field_public_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/function_assets.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/function_assets.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/function_assets.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/greensquare.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/greensquare.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/greensquare.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/import.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/import.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/import.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/import_statement.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/import_statement.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/import_statement.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/join.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/join.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/join.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/logical_structure.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/logical_structure.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/logical_structure.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/logical_structure_disabled.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/logical_structure_disabled.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/logical_structure_disabled.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/methpub_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/methpub_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/methpub_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/new_item.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/new_item.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/new_item.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/open.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/open.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/open.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/package_obj.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/package_obj.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/package_obj.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/process.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process_start.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process_start.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/process_start.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process_stop.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/process_stop.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/process_stop.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/public_co.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/public_co.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/public_co.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/question.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/question.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/question.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/redsquare.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/redsquare.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/redsquare.GIF)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/refresh.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/refresh.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/refresh.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/refresh_disabled.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/refresh_disabled.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/refresh_disabled.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/sample.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/sample.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/sample.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/split.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/split.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/split.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/static_co.gif
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/static_co.gif (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/static_co.gif)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/yellowsquare.GIF
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/icons/yellowsquare.GIF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/icons/yellowsquare.GIF)
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/lib (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/lib)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/plugin.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/plugin.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/plugin.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,430 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension point="org.eclipse.ui.views">
-      <category
-         name="Drools"
-         id="org.drools.eclipse.views">
-      </category>
-      <view
-         name="Working Memory View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.debug.WorkingMemoryView"
-         id="org.drools.eclipse.debug.WorkingMemoryView">
-      </view>
-      <view
-         name="Agenda View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.debug.AgendaView"
-         id="org.drools.eclipse.debug.AgendaView">
-      </view>
-      <view
-         name="Global Data View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.debug.ApplicationDataView"
-         id="org.drools.eclipse.debug.ApplicationDataView">
-      </view>
-      <!--
-      <view
-         name="Realtime Audit View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.debug.RealtimeAuditView"
-         id="org.drools.eclipse.debug.RealtimeAuditView">
-      </view>
-      -->
-      <view
-         name="Audit View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.debug.AuditView"
-         id="org.drools.eclipse.debug.AuditView">
-      </view>
-      <view
-         name="Rules View"
-         icon="icons/drools.gif"
-         category="org.drools.eclipse.views"
-         class="org.drools.eclipse.view.rules.RulesView"
-         id="org.drools.eclipse.view.rules.RulesView">
-      </view>
-   </extension>
-
-   <extension
-         point="org.eclipse.debug.core.logicalStructureTypes">
-      <logicalStructureType
-        id="org.drools.eclipse.debug.AgendaLogicalStructures"
-        class="org.drools.eclipse.debug.AgendaLogicalStructureDelegate"
-        modelIdentifier="org.eclipse.jdt.debug"
-        description="Agenda Item">
-      </logicalStructureType>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            class="org.drools.eclipse.editors.DRLRuleEditor2"
-            contributorClass="org.drools.eclipse.editors.DRLRuleEditorActionContributor"
-            extensions="drl,jbrule,drools,rule,package,pkg"
-            icon="icons/drools.gif"
-            id="org.drools.eclipse.editors.DRLRuleEditor"
-            name="Rule Editor"/>
-      <editor
-            class="org.drools.eclipse.dsl.editor.DSLRuleEditor2"
-            contributorClass="org.drools.eclipse.editors.DRLRuleEditorActionContributor"
-            extensions="dslr,dslrule"
-            icon="icons/drools.gif"
-            id="org.drools.eclipse.editors.DSLRuleEditor"
-            name="DSL Rule Editor"/>
-      <editor
-            class="org.drools.eclipse.dsl.editor.DSLEditor"
-            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
-            default="false"
-            extensions="dsl,lang"
-            icon="icons/dsl.GIF"
-            id="org.drools.eclipse.editor.DomainSpecLangEditor"
-            name="DSL Editor"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <wizard
-            category="org.drools.eclipse.new"
-            class="org.drools.eclipse.wizard.rule.NewRulePackageWizard"
-            descriptionImage="icons/drools-large.PNG"
-            icon="icons/drools.gif"
-            id="org.drools.eclipse.new.file"
-            name="Rule Resource"/>
-      <wizard
-            category="org.drools.eclipse.new"
-            class="org.drools.eclipse.wizard.dsl.NewDSLFileWizard"
-            descriptionImage="icons/dsl-large.png"
-            icon="icons/dsl.GIF"
-            id="org.drools.eclipse.new.dsl"
-            name="Domain Specific Language"/>
-      <wizard
-            id = "org.drools.eclipse.wizards.new.project"
-            name = "Rule Project"
-            class= "org.drools.eclipse.wizard.project.NewDroolsProjectWizard"
-            category= "org.drools.eclipse.new"
-            project= "true"
-            icon= "icons/drools.gif">
-         <description>This wizard creates a new Rule project.</description>
-      </wizard>
-      <category
-            id="org.drools.eclipse.new"
-            name="Drools"/>
-      <wizard
-            category="org.drools.eclipse.new"
-            class="org.drools.eclipse.wizard.decisiontable.NewDTFileWizard"
-            descriptionImage="icons/dt_large.gif"
-            icon="icons/dt_small.gif"
-            id="org.drools.eclipse.new.decisiontable"
-            name="Decision Table"/>
-   </extension>
-   <extension
-         id="org.drools.eclipse.actionSet"
-         name="Drools"
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            id="org.drools.eclipse.workbenchMenu"
-            label="Drools"
-            visible="true">
-         <action
-               class="org.drools.eclipse.menu.RuleHelperActionDelegate"
-               icon="icons/drools.gif"
-               id="org.drools.eclipse.openRulesWorkbench"
-               label="Drools wizards"
-               style="pulldown"
-               toolbarPath="Normal/additions"
-               tooltip="Drools workbench"/>
-      </actionSet>
-   </extension>
-
-   <extension
-      id="droolsbuilder" name="Drools Builder" point="org.eclipse.core.resources.builders">
-      <builder>
-         <run class="org.drools.eclipse.builder.DroolsBuilder"/>
-      </builder>
-   </extension>
-
-   <extension
-         id="problem"
-         point="org.eclipse.core.resources.markers"
-         name="Drools Error">
-      <super type="org.eclipse.core.resources.problemmarker"/>
-      <super type="org.eclipse.core.resources.textmarker"/>
-      <persistent value="true" />
-   </extension>
-
-   <extension
-         id="droolsBreakpointMarker"
-         point="org.eclipse.core.resources.markers"
-         name="Drools Breakpoint Marker">
-	  <super type="org.eclipse.debug.core.breakpointMarker"/>
-      <persistent value="true"/>
-	</extension>
-
-   <extension point="org.eclipse.debug.core.breakpoints">
-      <breakpoint
-         id="droolsBreakpoint"
-         markerType="org.drools.eclipse.droolsBreakpointMarker"
-         class="org.drools.eclipse.debug.core.DroolsLineBreakpoint">
-      </breakpoint>
-   </extension>
-
-   <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
-       <classpathContainerInitializer class="org.drools.eclipse.util.DroolsClasspathContainerInitializer" id="DROOLS" />
-   </extension>
-
-   <extension point="org.eclipse.ui.editors.annotationTypes">
-      <type super="org.eclipse.ui.workbench.texteditor.error" markerSeverity="2" markerType="org.eclipse.core.resources.problemmarker" name="org.drools.eclipse.editors.error_annotation"/>
-   </extension>
-
-   <extension point="org.eclipse.help.toc">
-      <toc file="help/eclipse/toc.xml" primary="true" />
-   </extension>
-
-   <extension point = "org.eclipse.ui.preferencePages">
-      <page id="org.drools.eclipse.preferences.DroolsPreferencePage"
-         class="org.drools.eclipse.preferences.DroolsPreferencePage"
-         name="Drools Preferences">
-      </page>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-         name="Drools"
-         icon="icons/drools.gif"
-         class="org.drools.eclipse.DroolsPerspective"
-         id="org.drools.eclipse.DroolsPerspective">
-      </perspective>
-   </extension>
-
-   <!-- Extensions for the interactive debugger -->
-
-   <extension point = "org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-   	     id="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
-         name="Drools Application"
-         delegate="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
-         sourceLocatorId="org.drools.eclipse.launching.DroolsSourceLookupDirector"
-         sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer"
-         modes= "debug" />
-   </extension>
-
-   <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-         icon="icons/drools.gif"
-         configTypeID="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
-         id="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate.Image">
-      </launchConfigurationTypeImage>
-   </extension>
-
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
-            class="org.eclipse.jdt.internal.debug.ui.launcher.LocalJavaApplicationTabGroup"
-            id="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication">
-            <launchMode
-                  mode="debug"
-                  perspective="org.eclipse.debug.ui.DebugPerspective"
-                  description="Debug a Drools application">
-            </launchMode>
-            <launchMode
-                  mode="run"
-                  description="Run a Drools application">
-            </launchMode>
-      </launchConfigurationTabGroup>
-   </extension>
-   
-   <extension
-         point="org.eclipse.debug.ui.launchShortcuts">
-      <shortcut
-            label="Drools Application"
-            icon="icons/drools.gif"
-            modes="debug"
-            class="org.drools.eclipse.launching.DroolsApplicationLaunchShortcut"
-            id="org.drools.eclipse.launching.DroolsApplicationLaunchShortcut">
-         <contextualLaunch>
-           <enablement>
-             <with variable="selection">
-               <count value="1"/>
-               <iterate>
-                <or>
-               	  <test property="org.eclipse.jdt.launching.hasMain"/>
-               	  <and>
-               	     <test property="org.eclipse.jdt.launching.isContainer"/>
-               	     <test property="org.eclipse.jdt.launching.hasProjectNature" args="org.eclipse.jdt.core.javanature"/>
-               	  </and>
-               	</or>
-               </iterate>
-             </with>
-           </enablement>
-  		 </contextualLaunch>
-         <perspective id="org.eclipse.jdt.ui.JavaPerspective"/>
-         <perspective id="org.drools.eclipse.DroolsPerspective"/>
-         <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
-         <perspective id="org.eclipse.debug.ui.DebugPerspective"/>
-      </shortcut>
-   </extension>
-
-   <extension
-         point="org.eclipse.debug.core.sourceLocators">
-      <sourceLocator
-         name="Drools Source Lookup Director"
-         class="org.drools.eclipse.launching.DroolsSourceLookupDirector"
-         id="org.drools.eclipse.launching.DroolsSourceLookupDirector">
-      </sourceLocator>
-   </extension>
-
-   <extension point="org.eclipse.ui.editors.markerUpdaters">
-      <updater
-         markerType="org.drools.eclipse.droolsBreakpointMarker"
-         class="org.drools.eclipse.debug.core.DroolsLineBreakpointMarkerUpdater"
-         id="org.drools.eclipse.debug.core.DroolsLineBreakpointMarkerUpdater" />
-   </extension>
-
-   <!-- not used anymore
-   <extension
-         point="org.eclipse.debug.core.sourcePathComputers">
-      <sourcePathComputer
-         class="org.drools.eclipse.launching.DroolsSourcePathComputerDelegate"
-         id="org.drools.eclipse.launching.DroolsSourcePathComputerDelegate">
-      </sourcePathComputer>
-   </extension> -->
-
-   <extension
-         point="org.eclipse.debug.ui.debugModelPresentations">
-      <debugModelPresentation
-         class="org.drools.eclipse.debug.core.DroolsDebugModelPresentation"
-         id="org.drools.eclipse.debug">
-      </debugModelPresentation>
-   </extension>
-
-   <!-- not working if using multipage editor -->
-   <extension point="org.eclipse.ui.editorActions">
-      <editorContribution
-            targetID="org.drools.eclipse.editors.DRLRuleEditor"
-            id="org.drools.eclipse.editors.DRLRuleEditor.RulerActions">
-         <action
-            label="Not Used"
-            class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
-            style="push"
-            actionID="RulerDoubleClick"
-            id="org.drools.eclipse.editors.DRLRuleEditor.ToggleBreakpointRulerAction" />
-      </editorContribution>
-   </extension>
-
-   <!-- not working if using multipage editor -->
-   <extension point="org.eclipse.ui.popupMenus">
-      <viewerContribution
-            targetID="#TextRulerContext"
-            id="org.drools.eclipse.editors.DRLRuleEditor.RulerPopupActions">
-         <action
-            label="Toggle Breakpoint"
-            class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
-            menubarPath="additions"
-            id="org.drools.eclipse.editors.DRLRuleEditor.rulerContextMenu.ToggleBreakpointRulerAction">
-         </action>
-      </viewerContribution>
-   </extension>
-
-   <extension point = "org.eclipse.ui.popupMenus">
-	 <objectContribution
-           objectClass="org.eclipse.core.resources.IProject"
-           id="org.drools.eclipse.action.ConvertToDroolsProject1">
-        <filter name="nature" value="org.eclipse.jdt.core.javanature"/>
-	    <action id="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-	       label="Convert to Drools Project"
-	       icon="icons/drools.gif"
-	       menubarPath="additions"
-	       class="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-           definitionId="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-	       enablesFor="1">
-	    </action>
-      </objectContribution>
-      <objectContribution
-           objectClass="org.eclipse.jdt.core.IJavaProject"
-           id="org.drools.eclipse.action.ConvertToDroolsProject2">
-	    <action id="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-	       label="Convert to Drools Project"
-	       icon="icons/drools.gif"
-	       menubarPath="additions"
-	       class="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-           definitionId="org.drools.eclipse.action.ConvertToDroolsProjectAction"
-	       enablesFor="1">
-	    </action>
-      </objectContribution>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="RuleFlow Editor"
-            extensions="rf, ruleflow, rflow"
-            icon="icons/process.gif"
-            contributorClass="org.drools.eclipse.flow.common.editor.GenericActionBarContributor"
-            class="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor"
-            id="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor">
-      </editor>
-   </extension>
-
-   <extension
-         point = "org.eclipse.ui.editorActions">
-      <editorContribution
-            id="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
-            targetID="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor">
-	     <action
-	        id="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
-            label="Check RuleFlow"
-	        toolbarPath="Drools"
-            icon="icons/check.gif"
-            tooltip="Check the ruleflow model"
-            class="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
-         />
-      </editorContribution>
-   </extension>
-
-   <extension
-         point = "org.eclipse.ui.newWizards">
-	  <category
-	    id = "org.drools.eclipse.flow.new"
-	    name="RuleFlow">
-	  </category>
- 	  <wizard
-	      id = "org.drools.eclipse.flow.ruleflow.NewRuleFlowFileWizard"
-      	  name = "RuleFlow File"
-	      class="org.drools.eclipse.flow.ruleflow.NewRuleFlowFileWizard"
-          category="org.drools.eclipse.new"
-	      icon="icons/process.gif">
-    	<description>A wizard that creates a new ruleflow file</description>
-	    <selection class="org.eclipse.core.resources.IResource"/>
-	  </wizard>
-   </extension>
-
-   <!-- RuleBuilder Extensions -->
-      <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            class="org.drools.eclipse.rulebuilder.editors.RuleEditor"
-            extensions="brl"
-            icon="icons/drools.gif"
-            id="org.drools.eclipse.ide.rulebuilder.brl.editors.RuleEditor"
-            name="Guided Rule Editor"/>
-   </extension>
-
-
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <wizard
-            category="org.drools.eclipse.new"
-            class="org.drools.eclipse.rulebuilder.wizards.NewBrlFileWizard"
-            descriptionImage="icons/drools-large.PNG"
-            icon="icons/drools.gif"
-            id="org.drools.eclipse.rulebuilder.wizards.NewGuidedRuleFileWizard"
-            name="Guided Rule"/>
-   </extension>
-</plugin>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/plugin.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/plugin.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/plugin.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/plugin.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,430 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+   <extension point="org.eclipse.ui.views">
+      <category
+         name="Drools"
+         id="org.drools.eclipse.views">
+      </category>
+      <view
+         name="Working Memory View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.debug.WorkingMemoryView"
+         id="org.drools.eclipse.debug.WorkingMemoryView">
+      </view>
+      <view
+         name="Agenda View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.debug.AgendaView"
+         id="org.drools.eclipse.debug.AgendaView">
+      </view>
+      <view
+         name="Global Data View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.debug.ApplicationDataView"
+         id="org.drools.eclipse.debug.ApplicationDataView">
+      </view>
+      <!--
+      <view
+         name="Realtime Audit View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.debug.RealtimeAuditView"
+         id="org.drools.eclipse.debug.RealtimeAuditView">
+      </view>
+      -->
+      <view
+         name="Audit View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.debug.AuditView"
+         id="org.drools.eclipse.debug.AuditView">
+      </view>
+      <view
+         name="Rules View"
+         icon="icons/drools.gif"
+         category="org.drools.eclipse.views"
+         class="org.drools.eclipse.view.rules.RulesView"
+         id="org.drools.eclipse.view.rules.RulesView">
+      </view>
+   </extension>
+
+   <extension
+         point="org.eclipse.debug.core.logicalStructureTypes">
+      <logicalStructureType
+        id="org.drools.eclipse.debug.AgendaLogicalStructures"
+        class="org.drools.eclipse.debug.AgendaLogicalStructureDelegate"
+        modelIdentifier="org.eclipse.jdt.debug"
+        description="Agenda Item">
+      </logicalStructureType>
+   </extension>
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            class="org.drools.eclipse.editors.DRLRuleEditor2"
+            contributorClass="org.drools.eclipse.editors.DRLRuleEditorActionContributor"
+            extensions="drl,jbrule,drools,rule,package,pkg"
+            icon="icons/drools.gif"
+            id="org.drools.eclipse.editors.DRLRuleEditor"
+            name="Rule Editor"/>
+      <editor
+            class="org.drools.eclipse.dsl.editor.DSLRuleEditor2"
+            contributorClass="org.drools.eclipse.editors.DRLRuleEditorActionContributor"
+            extensions="dslr,dslrule"
+            icon="icons/drools.gif"
+            id="org.drools.eclipse.editors.DSLRuleEditor"
+            name="DSL Rule Editor"/>
+      <editor
+            class="org.drools.eclipse.dsl.editor.DSLEditor"
+            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+            default="false"
+            extensions="dsl,lang"
+            icon="icons/dsl.GIF"
+            id="org.drools.eclipse.editor.DomainSpecLangEditor"
+            name="DSL Editor"/>
+   </extension>
+   <extension
+         point="org.eclipse.ui.newWizards">
+      <wizard
+            category="org.drools.eclipse.new"
+            class="org.drools.eclipse.wizard.rule.NewRulePackageWizard"
+            descriptionImage="icons/drools-large.PNG"
+            icon="icons/drools.gif"
+            id="org.drools.eclipse.new.file"
+            name="Rule Resource"/>
+      <wizard
+            category="org.drools.eclipse.new"
+            class="org.drools.eclipse.wizard.dsl.NewDSLFileWizard"
+            descriptionImage="icons/dsl-large.png"
+            icon="icons/dsl.GIF"
+            id="org.drools.eclipse.new.dsl"
+            name="Domain Specific Language"/>
+      <wizard
+            id = "org.drools.eclipse.wizards.new.project"
+            name = "Rule Project"
+            class= "org.drools.eclipse.wizard.project.NewDroolsProjectWizard"
+            category= "org.drools.eclipse.new"
+            project= "true"
+            icon= "icons/drools.gif">
+         <description>This wizard creates a new Rule project.</description>
+      </wizard>
+      <category
+            id="org.drools.eclipse.new"
+            name="Drools"/>
+      <wizard
+            category="org.drools.eclipse.new"
+            class="org.drools.eclipse.wizard.decisiontable.NewDTFileWizard"
+            descriptionImage="icons/dt_large.gif"
+            icon="icons/dt_small.gif"
+            id="org.drools.eclipse.new.decisiontable"
+            name="Decision Table"/>
+   </extension>
+   <extension
+         id="org.drools.eclipse.actionSet"
+         name="Drools"
+         point="org.eclipse.ui.actionSets">
+      <actionSet
+            id="org.drools.eclipse.workbenchMenu"
+            label="Drools"
+            visible="true">
+         <action
+               class="org.drools.eclipse.menu.RuleHelperActionDelegate"
+               icon="icons/drools.gif"
+               id="org.drools.eclipse.openRulesWorkbench"
+               label="Drools wizards"
+               style="pulldown"
+               toolbarPath="Normal/additions"
+               tooltip="Drools workbench"/>
+      </actionSet>
+   </extension>
+
+   <extension
+      id="droolsbuilder" name="Drools Builder" point="org.eclipse.core.resources.builders">
+      <builder>
+         <run class="org.drools.eclipse.builder.DroolsBuilder"/>
+      </builder>
+   </extension>
+
+   <extension
+         id="problem"
+         point="org.eclipse.core.resources.markers"
+         name="Drools Error">
+      <super type="org.eclipse.core.resources.problemmarker"/>
+      <super type="org.eclipse.core.resources.textmarker"/>
+      <persistent value="true" />
+   </extension>
+
+   <extension
+         id="droolsBreakpointMarker"
+         point="org.eclipse.core.resources.markers"
+         name="Drools Breakpoint Marker">
+	  <super type="org.eclipse.debug.core.breakpointMarker"/>
+      <persistent value="true"/>
+	</extension>
+
+   <extension point="org.eclipse.debug.core.breakpoints">
+      <breakpoint
+         id="droolsBreakpoint"
+         markerType="org.drools.eclipse.droolsBreakpointMarker"
+         class="org.drools.eclipse.debug.core.DroolsLineBreakpoint">
+      </breakpoint>
+   </extension>
+
+   <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
+       <classpathContainerInitializer class="org.drools.eclipse.util.DroolsClasspathContainerInitializer" id="DROOLS" />
+   </extension>
+
+   <extension point="org.eclipse.ui.editors.annotationTypes">
+      <type super="org.eclipse.ui.workbench.texteditor.error" markerSeverity="2" markerType="org.eclipse.core.resources.problemmarker" name="org.drools.eclipse.editors.error_annotation"/>
+   </extension>
+
+   <extension point="org.eclipse.help.toc">
+      <toc file="help/eclipse/toc.xml" primary="true" />
+   </extension>
+
+   <extension point = "org.eclipse.ui.preferencePages">
+      <page id="org.drools.eclipse.preferences.DroolsPreferencePage"
+         class="org.drools.eclipse.preferences.DroolsPreferencePage"
+         name="Drools Preferences">
+      </page>
+   </extension>
+
+   <extension
+         point="org.eclipse.ui.perspectives">
+      <perspective
+         name="Drools"
+         icon="icons/drools.gif"
+         class="org.drools.eclipse.DroolsPerspective"
+         id="org.drools.eclipse.DroolsPerspective">
+      </perspective>
+   </extension>
+
+   <!-- Extensions for the interactive debugger -->
+
+   <extension point = "org.eclipse.debug.core.launchConfigurationTypes">
+      <launchConfigurationType
+   	     id="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
+         name="Drools Application"
+         delegate="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
+         sourceLocatorId="org.drools.eclipse.launching.DroolsSourceLookupDirector"
+         sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer"
+         modes= "debug" />
+   </extension>
+
+   <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
+      <launchConfigurationTypeImage
+         icon="icons/drools.gif"
+         configTypeID="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
+         id="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate.Image">
+      </launchConfigurationTypeImage>
+   </extension>
+
+   <extension
+         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
+      <launchConfigurationTabGroup
+            type="org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate"
+            class="org.eclipse.jdt.internal.debug.ui.launcher.LocalJavaApplicationTabGroup"
+            id="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication">
+            <launchMode
+                  mode="debug"
+                  perspective="org.eclipse.debug.ui.DebugPerspective"
+                  description="Debug a Drools application">
+            </launchMode>
+            <launchMode
+                  mode="run"
+                  description="Run a Drools application">
+            </launchMode>
+      </launchConfigurationTabGroup>
+   </extension>
+   
+   <extension
+         point="org.eclipse.debug.ui.launchShortcuts">
+      <shortcut
+            label="Drools Application"
+            icon="icons/drools.gif"
+            modes="debug"
+            class="org.drools.eclipse.launching.DroolsApplicationLaunchShortcut"
+            id="org.drools.eclipse.launching.DroolsApplicationLaunchShortcut">
+         <contextualLaunch>
+           <enablement>
+             <with variable="selection">
+               <count value="1"/>
+               <iterate>
+                <or>
+               	  <test property="org.eclipse.jdt.launching.hasMain"/>
+               	  <and>
+               	     <test property="org.eclipse.jdt.launching.isContainer"/>
+               	     <test property="org.eclipse.jdt.launching.hasProjectNature" args="org.eclipse.jdt.core.javanature"/>
+               	  </and>
+               	</or>
+               </iterate>
+             </with>
+           </enablement>
+  		 </contextualLaunch>
+         <perspective id="org.eclipse.jdt.ui.JavaPerspective"/>
+         <perspective id="org.drools.eclipse.DroolsPerspective"/>
+         <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
+         <perspective id="org.eclipse.debug.ui.DebugPerspective"/>
+      </shortcut>
+   </extension>
+
+   <extension
+         point="org.eclipse.debug.core.sourceLocators">
+      <sourceLocator
+         name="Drools Source Lookup Director"
+         class="org.drools.eclipse.launching.DroolsSourceLookupDirector"
+         id="org.drools.eclipse.launching.DroolsSourceLookupDirector">
+      </sourceLocator>
+   </extension>
+
+   <extension point="org.eclipse.ui.editors.markerUpdaters">
+      <updater
+         markerType="org.drools.eclipse.droolsBreakpointMarker"
+         class="org.drools.eclipse.debug.core.DroolsLineBreakpointMarkerUpdater"
+         id="org.drools.eclipse.debug.core.DroolsLineBreakpointMarkerUpdater" />
+   </extension>
+
+   <!-- not used anymore
+   <extension
+         point="org.eclipse.debug.core.sourcePathComputers">
+      <sourcePathComputer
+         class="org.drools.eclipse.launching.DroolsSourcePathComputerDelegate"
+         id="org.drools.eclipse.launching.DroolsSourcePathComputerDelegate">
+      </sourcePathComputer>
+   </extension> -->
+
+   <extension
+         point="org.eclipse.debug.ui.debugModelPresentations">
+      <debugModelPresentation
+         class="org.drools.eclipse.debug.core.DroolsDebugModelPresentation"
+         id="org.drools.eclipse.debug">
+      </debugModelPresentation>
+   </extension>
+
+   <!-- not working if using multipage editor -->
+   <extension point="org.eclipse.ui.editorActions">
+      <editorContribution
+            targetID="org.drools.eclipse.editors.DRLRuleEditor"
+            id="org.drools.eclipse.editors.DRLRuleEditor.RulerActions">
+         <action
+            label="Not Used"
+            class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
+            style="push"
+            actionID="RulerDoubleClick"
+            id="org.drools.eclipse.editors.DRLRuleEditor.ToggleBreakpointRulerAction" />
+      </editorContribution>
+   </extension>
+
+   <!-- not working if using multipage editor -->
+   <extension point="org.eclipse.ui.popupMenus">
+      <viewerContribution
+            targetID="#TextRulerContext"
+            id="org.drools.eclipse.editors.DRLRuleEditor.RulerPopupActions">
+         <action
+            label="Toggle Breakpoint"
+            class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
+            menubarPath="additions"
+            id="org.drools.eclipse.editors.DRLRuleEditor.rulerContextMenu.ToggleBreakpointRulerAction">
+         </action>
+      </viewerContribution>
+   </extension>
+
+   <extension point = "org.eclipse.ui.popupMenus">
+	 <objectContribution
+           objectClass="org.eclipse.core.resources.IProject"
+           id="org.drools.eclipse.action.ConvertToDroolsProject1">
+        <filter name="nature" value="org.eclipse.jdt.core.javanature"/>
+	    <action id="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+	       label="Convert to Drools Project"
+	       icon="icons/drools.gif"
+	       menubarPath="additions"
+	       class="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+           definitionId="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+	       enablesFor="1">
+	    </action>
+      </objectContribution>
+      <objectContribution
+           objectClass="org.eclipse.jdt.core.IJavaProject"
+           id="org.drools.eclipse.action.ConvertToDroolsProject2">
+	    <action id="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+	       label="Convert to Drools Project"
+	       icon="icons/drools.gif"
+	       menubarPath="additions"
+	       class="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+           definitionId="org.drools.eclipse.action.ConvertToDroolsProjectAction"
+	       enablesFor="1">
+	    </action>
+      </objectContribution>
+   </extension>
+
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            name="RuleFlow Editor"
+            extensions="rf, ruleflow, rflow"
+            icon="icons/process.gif"
+            contributorClass="org.drools.eclipse.flow.common.editor.GenericActionBarContributor"
+            class="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor"
+            id="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor">
+      </editor>
+   </extension>
+
+   <extension
+         point = "org.eclipse.ui.editorActions">
+      <editorContribution
+            id="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
+            targetID="org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor">
+	     <action
+	        id="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
+            label="Check RuleFlow"
+	        toolbarPath="Drools"
+            icon="icons/check.gif"
+            tooltip="Check the ruleflow model"
+            class="org.drools.eclipse.flow.ruleflow.editor.action.CheckRuleFlowAction"
+         />
+      </editorContribution>
+   </extension>
+
+   <extension
+         point = "org.eclipse.ui.newWizards">
+	  <category
+	    id = "org.drools.eclipse.flow.new"
+	    name="RuleFlow">
+	  </category>
+ 	  <wizard
+	      id = "org.drools.eclipse.flow.ruleflow.NewRuleFlowFileWizard"
+      	  name = "RuleFlow File"
+	      class="org.drools.eclipse.flow.ruleflow.NewRuleFlowFileWizard"
+          category="org.drools.eclipse.new"
+	      icon="icons/process.gif">
+    	<description>A wizard that creates a new ruleflow file</description>
+	    <selection class="org.eclipse.core.resources.IResource"/>
+	  </wizard>
+   </extension>
+
+   <!-- RuleBuilder Extensions -->
+      <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            class="org.drools.eclipse.rulebuilder.editors.RuleEditor"
+            extensions="brl"
+            icon="icons/drools.gif"
+            id="org.drools.eclipse.ide.rulebuilder.brl.editors.RuleEditor"
+            name="Guided Rule Editor"/>
+   </extension>
+
+
+   <extension
+         point="org.eclipse.ui.newWizards">
+      <wizard
+            category="org.drools.eclipse.new"
+            class="org.drools.eclipse.rulebuilder.wizards.NewBrlFileWizard"
+            descriptionImage="icons/drools-large.PNG"
+            icon="icons/drools.gif"
+            id="org.drools.eclipse.rulebuilder.wizards.NewGuidedRuleFileWizard"
+            name="Guided Rule"/>
+   </extension>
+</plugin>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/pom.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/pom.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,146 +0,0 @@
-<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/P
-OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-        <modelVersion>4.0.0</modelVersion>
-        <groupId>drools</groupId>
-        <artifactId>drools-eclipse-plugin</artifactId>
-        <packaging>osgi-bundle</packaging>
-        <version>1.0-SNAPSHOT</version>
-        
-        
-        
-  <repositories>
-    <repository>
-      <id>eclipse</id>
-      <url>http://repo1.maven.org/eclipse/</url>
-    </repository>
-  </repositories>        
-        
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.tycho</groupId>
-        <artifactId>maven-osgi-lifecycle-plugin</artifactId>
-        <extensions>true</extensions>
-      </plugin>
-    </plugins>
-  </build>
-        
-  <dependencies>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.core.runtime</artifactId>
-      <version>3.2.0.v20060603</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.core.resources</artifactId>
-      <version>3.2.1.R32x_v20060914</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.core.resources.compatibility</artifactId>
-      <version>3.2.0.v20060603</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.core.resources.win32</artifactId>
-      <version>3.2.0.v20060603</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.debug.core</artifactId>
-      <version>3.2.1.v20060823</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.debug.ui</artifactId>
-      <version>3.2.1.v20060823</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jdt.core</artifactId>
-      <version>3.2.1.v_677_R32x</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jdt.debug</artifactId>
-      <version>3.2.1.r321_v20060731</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jdt.debug.ui</artifactId>
-      <version>3.2.1.r321_v20060918</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jdt.launching</artifactId>
-      <version>3.2.1.r321_v20060731</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jdt.ui</artifactId>
-      <version>3.2.1.r321_v20060907</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.jface.text</artifactId>
-      <version>3.2.1.r321_v20060810</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui</artifactId>
-      <version>3.2.1.M20060913-0800</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.console</artifactId>
-      <version>3.1.100.v20060605</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.editors</artifactId>
-      <version>3.2.1.r321_v20060721</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.forms</artifactId>
-      <version>3.2.0.v20060602</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.ide</artifactId>
-      <version>3.2.1.M20060915-1030</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.win32</artifactId>
-      <version>3.2.0.I20060605-1400</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.views</artifactId>
-      <version>3.2.1.M20060906-0800</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.ui.workbench.texteditor</artifactId>
-      <version>3.2.0.v20060605-1400</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse</groupId>
-      <artifactId>org.eclipse.gef</artifactId>
-      <version>3.2.2.v20070208</version>
-    </dependency>
-    <dependency>
-      <groupId>com.ibm</groupId>
-      <artifactId>com.ibm.icu</artifactId>
-      <version>3.4.5</version>
-    </dependency>
-<dependency>
-	<groupId>org.eclipse</groupId>
-	<artifactId>org.eclipse.swt.win32.win32.x86</artifactId>
-	<version>3.2.1.v3235</version>
-</dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/pom.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/pom.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,146 @@
+<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/P
+OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+        <modelVersion>4.0.0</modelVersion>
+        <groupId>drools</groupId>
+        <artifactId>drools-eclipse-plugin</artifactId>
+        <packaging>osgi-bundle</packaging>
+        <version>1.0-SNAPSHOT</version>
+        
+        
+        
+  <repositories>
+    <repository>
+      <id>eclipse</id>
+      <url>http://repo1.maven.org/eclipse/</url>
+    </repository>
+  </repositories>        
+        
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.tycho</groupId>
+        <artifactId>maven-osgi-lifecycle-plugin</artifactId>
+        <extensions>true</extensions>
+      </plugin>
+    </plugins>
+  </build>
+        
+  <dependencies>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.core.runtime</artifactId>
+      <version>3.2.0.v20060603</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.core.resources</artifactId>
+      <version>3.2.1.R32x_v20060914</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.core.resources.compatibility</artifactId>
+      <version>3.2.0.v20060603</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.core.resources.win32</artifactId>
+      <version>3.2.0.v20060603</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.debug.core</artifactId>
+      <version>3.2.1.v20060823</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.debug.ui</artifactId>
+      <version>3.2.1.v20060823</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jdt.core</artifactId>
+      <version>3.2.1.v_677_R32x</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jdt.debug</artifactId>
+      <version>3.2.1.r321_v20060731</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jdt.debug.ui</artifactId>
+      <version>3.2.1.r321_v20060918</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jdt.launching</artifactId>
+      <version>3.2.1.r321_v20060731</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jdt.ui</artifactId>
+      <version>3.2.1.r321_v20060907</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.jface.text</artifactId>
+      <version>3.2.1.r321_v20060810</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui</artifactId>
+      <version>3.2.1.M20060913-0800</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.console</artifactId>
+      <version>3.1.100.v20060605</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.editors</artifactId>
+      <version>3.2.1.r321_v20060721</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.forms</artifactId>
+      <version>3.2.0.v20060602</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.ide</artifactId>
+      <version>3.2.1.M20060915-1030</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.win32</artifactId>
+      <version>3.2.0.I20060605-1400</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.views</artifactId>
+      <version>3.2.1.M20060906-0800</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.ui.workbench.texteditor</artifactId>
+      <version>3.2.0.v20060605-1400</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse</groupId>
+      <artifactId>org.eclipse.gef</artifactId>
+      <version>3.2.2.v20070208</version>
+    </dependency>
+    <dependency>
+      <groupId>com.ibm</groupId>
+      <artifactId>com.ibm.icu</artifactId>
+      <version>3.4.5</version>
+    </dependency>
+<dependency>
+	<groupId>org.eclipse</groupId>
+	<artifactId>org.eclipse.swt.win32.win32.x86</artifactId>
+	<version>3.2.1.v3235</version>
+</dependency>
+  </dependencies>
+
+</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,258 +0,0 @@
-package org.drools.eclipse;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.compiler.Dialect;
-import org.drools.compiler.DroolsError;
-import org.drools.lang.descr.FunctionDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.drools.rule.LineMappings;
-import org.drools.rule.Package;
-import org.drools.rule.PackageCompilationData;
-
-public class DRLInfo {
-
-	private static final DroolsError[] EMPTY_DROOLS_ERROR_ARRAY = new DroolsError[0];
-	private static final List EMPTY_LIST = Collections.unmodifiableList(Collections.EMPTY_LIST);
-
-	private String sourcePathName;
-	private PackageDescr packageDescr;
-	private List parserErrors;
-	private Package compiledPackage;
-	private DroolsError[] builderErrors;
-	// cached entry
-	private transient RuleInfo[] ruleInfos;
-	private transient FunctionInfo[] functionInfos;
-
-	public DRLInfo(String sourcePathName, PackageDescr packageDescr, List parserErrors) {
-		if (sourcePathName == null || "".equals(sourcePathName)) {
-			throw new IllegalArgumentException("Invalid sourcePathName " + sourcePathName);
-		}
-		if (packageDescr == null) {
-			throw new IllegalArgumentException("Null packageDescr");
-		}
-		this.sourcePathName = sourcePathName;
-		this.packageDescr = packageDescr;
-		this.parserErrors =
-			parserErrors == null ? EMPTY_LIST : Collections.unmodifiableList(parserErrors);
-		this.builderErrors = EMPTY_DROOLS_ERROR_ARRAY;
-	}
-
-	public DRLInfo(String pathName, PackageDescr packageDescr, List parserErrors, Package compiledPackage, DroolsError[] builderErrors) {
-		this(pathName, packageDescr, parserErrors);
-		if (compiledPackage == null) {
-			throw new IllegalArgumentException("Null package");
-		}
-		this.compiledPackage = compiledPackage;
-		this.builderErrors =
-			builderErrors == null ? EMPTY_DROOLS_ERROR_ARRAY : builderErrors;
-	}
-
-	public String getSourcePathName() {
-		return sourcePathName;
-	}
-
-	public PackageDescr getPackageDescr() {
-		return packageDescr;
-	}
-
-	public List getParserErrors() {
-		return parserErrors;
-	}
-
-	public Package getPackage() {
-		return compiledPackage;
-	}
-
-	public DroolsError[] getBuilderErrors() {
-		return builderErrors;
-	}
-
-	public String getPackageName() {
-		return packageDescr.getName();
-	}
-
-	public boolean isCompiled() {
-		return compiledPackage != null;
-	}
-
-	public RuleInfo[] getRuleInfos() {
-		if (ruleInfos == null) {
-			List ruleInfosList = new ArrayList();
-	        for (Iterator rules = packageDescr.getRules().iterator(); rules.hasNext(); ) {
-	    		RuleDescr ruleDescr = (RuleDescr) rules.next();
-	    		RuleInfo ruleInfo = new RuleInfo(ruleDescr);
-	    		ruleInfosList.add(ruleInfo);
-	    	}
-	    	ruleInfos = (RuleInfo[]) ruleInfosList.toArray(new RuleInfo[0]);
-		}
-		return ruleInfos;
-	}
-
-	public RuleInfo getRuleInfo(int drlLineNumber) {
-		RuleInfo[] ruleInfos = getRuleInfos();
-
-		int ruleLine = -1;
-		RuleInfo result = null;
-		for (int i = 0; i < ruleInfos.length; i++) {
-			int ruleDrlLineNumber = ruleInfos[i].getDrlLineNumber();
-			if (ruleDrlLineNumber > ruleLine
-					&& ruleDrlLineNumber <= drlLineNumber + 1) {
-				ruleLine = ruleDrlLineNumber;
-				result = ruleInfos[i];
-			}
-		}
-		return result;
-	}
-
-	public class RuleInfo {
-
-		private final RuleDescr ruleDescr;
-		// cached entries
-		private transient String className;
-		private transient int consequenceJavaLineNumber = -1;
-
-		public RuleInfo(RuleDescr ruleDescr) {
-			if (ruleDescr == null) {
-				throw new IllegalArgumentException("Null ruleDescr");
-			}
-			this.ruleDescr = ruleDescr;
-		}
-
-        public Dialect getDialect() {
-            return ruleDescr.getDialect();
-        }
-
-		public String getSourcePathName() {
-			return DRLInfo.this.getSourcePathName();
-		}
-
-		public String getClassName() {
-			// ruleDescr is only filled in during compilation
-			if (!isCompiled()) {
-				throw new IllegalArgumentException("Package has not been compiled");
-			}
-			if (className == null) {
-	    		className = getPackageName() + "." + ruleDescr.getClassName();
-			}
-			return className;
-		}
-
-		public int getDrlLineNumber() {
-			return ruleDescr.getLine();
-		}
-
-		public int getConsequenceDrlLineNumber() {
-			return ruleDescr.getConsequenceLine();
-		}
-
-		public int getConsequenceJavaLineNumber() {
-			if (consequenceJavaLineNumber == -1) {
-				if (!isCompiled()) {
-					throw new IllegalArgumentException("Package has not been compiled");
-				}
-				PackageCompilationData data = compiledPackage
-                					.getPackageCompilationData();
-
-                LineMappings mappings = data.getLineMappings(className);
-                consequenceJavaLineNumber = mappings.getOffset();
-
-			}
-			return consequenceJavaLineNumber;
-		}
-
-		public String getPackageName() {
-			return packageDescr.getName();
-		}
-
-		public String getRuleName() {
-			return ruleDescr.getName();
-		}
-	}
-
-	public FunctionInfo[] getFunctionInfos() {
-		if (functionInfos == null) {
-			List functionInfosList = new ArrayList();
-	        for (Iterator functions = packageDescr.getFunctions().iterator(); functions.hasNext(); ) {
-	    		FunctionDescr functionDescr = (FunctionDescr) functions.next();
-	    		FunctionInfo functionInfo = new FunctionInfo(functionDescr);
-	    		functionInfosList.add(functionInfo);
-	    	}
-	        functionInfos = (FunctionInfo[]) functionInfosList.toArray(new FunctionInfo[0]);
-		}
-		return functionInfos;
-	}
-
-	public FunctionInfo getFunctionInfo(int drlLineNumber) {
-		FunctionInfo[] functionInfos = getFunctionInfos();
-		int functionLine = -1;
-		FunctionInfo result = null;
-		for (int i = 0; i < functionInfos.length; i++) {
-			int functionDrlLineNumber = functionInfos[i].getDrlLineNumber();
-			if (functionDrlLineNumber > functionLine
-					&& functionDrlLineNumber <= drlLineNumber + 1) {
-				functionLine = functionDrlLineNumber;
-				result = functionInfos[i];
-			}
-		}
-		return result;
-	}
-
-	public class FunctionInfo {
-
-		private FunctionDescr functionDescr;
-		// cached entries
-		private transient String className;
-		private transient int javaLineNumber = -1;
-
-		public FunctionInfo(FunctionDescr functionDescr) {
-			if (functionDescr == null) {
-				throw new IllegalArgumentException("Null functionDescr");
-			}
-			this.functionDescr = functionDescr;
-		}
-
-		public String getSourcePathName() {
-			return DRLInfo.this.getSourcePathName();
-		}
-
-		public String getClassName() {
-			// functionDescr is only filled in during compilation
-			if (!isCompiled()) {
-				throw new IllegalArgumentException("Package has not been compiled");
-			}
-			if (className == null) {
-	    		className = functionDescr.getClassName();
-			}
-			return className;
-		}
-
-		public int getDrlLineNumber() {
-			return functionDescr.getLine();
-		}
-
-		public int getJavaLineNumber() {
-			if (javaLineNumber == -1) {
-				if (!isCompiled()) {
-					throw new IllegalArgumentException("Package has not been compiled");
-				}
-				javaLineNumber = compiledPackage
-					.getPackageCompilationData().getLineMappings(className).getOffset();
-			}
-			return javaLineNumber;
-		}
-
-		public String getPackageName() {
-			return packageDescr.getName();
-		}
-
-		public String getFunctionName() {
-			return functionDescr.getName();
-		}
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DRLInfo.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,258 @@
+package org.drools.eclipse;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.compiler.Dialect;
+import org.drools.compiler.DroolsError;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.drools.rule.LineMappings;
+import org.drools.rule.Package;
+import org.drools.rule.PackageCompilationData;
+
+public class DRLInfo {
+
+	private static final DroolsError[] EMPTY_DROOLS_ERROR_ARRAY = new DroolsError[0];
+	private static final List EMPTY_LIST = Collections.unmodifiableList(Collections.EMPTY_LIST);
+
+	private String sourcePathName;
+	private PackageDescr packageDescr;
+	private List parserErrors;
+	private Package compiledPackage;
+	private DroolsError[] builderErrors;
+	// cached entry
+	private transient RuleInfo[] ruleInfos;
+	private transient FunctionInfo[] functionInfos;
+
+	public DRLInfo(String sourcePathName, PackageDescr packageDescr, List parserErrors) {
+		if (sourcePathName == null || "".equals(sourcePathName)) {
+			throw new IllegalArgumentException("Invalid sourcePathName " + sourcePathName);
+		}
+		if (packageDescr == null) {
+			throw new IllegalArgumentException("Null packageDescr");
+		}
+		this.sourcePathName = sourcePathName;
+		this.packageDescr = packageDescr;
+		this.parserErrors =
+			parserErrors == null ? EMPTY_LIST : Collections.unmodifiableList(parserErrors);
+		this.builderErrors = EMPTY_DROOLS_ERROR_ARRAY;
+	}
+
+	public DRLInfo(String pathName, PackageDescr packageDescr, List parserErrors, Package compiledPackage, DroolsError[] builderErrors) {
+		this(pathName, packageDescr, parserErrors);
+		if (compiledPackage == null) {
+			throw new IllegalArgumentException("Null package");
+		}
+		this.compiledPackage = compiledPackage;
+		this.builderErrors =
+			builderErrors == null ? EMPTY_DROOLS_ERROR_ARRAY : builderErrors;
+	}
+
+	public String getSourcePathName() {
+		return sourcePathName;
+	}
+
+	public PackageDescr getPackageDescr() {
+		return packageDescr;
+	}
+
+	public List getParserErrors() {
+		return parserErrors;
+	}
+
+	public Package getPackage() {
+		return compiledPackage;
+	}
+
+	public DroolsError[] getBuilderErrors() {
+		return builderErrors;
+	}
+
+	public String getPackageName() {
+		return packageDescr.getName();
+	}
+
+	public boolean isCompiled() {
+		return compiledPackage != null;
+	}
+
+	public RuleInfo[] getRuleInfos() {
+		if (ruleInfos == null) {
+			List ruleInfosList = new ArrayList();
+	        for (Iterator rules = packageDescr.getRules().iterator(); rules.hasNext(); ) {
+	    		RuleDescr ruleDescr = (RuleDescr) rules.next();
+	    		RuleInfo ruleInfo = new RuleInfo(ruleDescr);
+	    		ruleInfosList.add(ruleInfo);
+	    	}
+	    	ruleInfos = (RuleInfo[]) ruleInfosList.toArray(new RuleInfo[0]);
+		}
+		return ruleInfos;
+	}
+
+	public RuleInfo getRuleInfo(int drlLineNumber) {
+		RuleInfo[] ruleInfos = getRuleInfos();
+
+		int ruleLine = -1;
+		RuleInfo result = null;
+		for (int i = 0; i < ruleInfos.length; i++) {
+			int ruleDrlLineNumber = ruleInfos[i].getDrlLineNumber();
+			if (ruleDrlLineNumber > ruleLine
+					&& ruleDrlLineNumber <= drlLineNumber + 1) {
+				ruleLine = ruleDrlLineNumber;
+				result = ruleInfos[i];
+			}
+		}
+		return result;
+	}
+
+	public class RuleInfo {
+
+		private final RuleDescr ruleDescr;
+		// cached entries
+		private transient String className;
+		private transient int consequenceJavaLineNumber = -1;
+
+		public RuleInfo(RuleDescr ruleDescr) {
+			if (ruleDescr == null) {
+				throw new IllegalArgumentException("Null ruleDescr");
+			}
+			this.ruleDescr = ruleDescr;
+		}
+
+        public Dialect getDialect() {
+            return ruleDescr.getDialect();
+        }
+
+		public String getSourcePathName() {
+			return DRLInfo.this.getSourcePathName();
+		}
+
+		public String getClassName() {
+			// ruleDescr is only filled in during compilation
+			if (!isCompiled()) {
+				throw new IllegalArgumentException("Package has not been compiled");
+			}
+			if (className == null) {
+	    		className = getPackageName() + "." + ruleDescr.getClassName();
+			}
+			return className;
+		}
+
+		public int getDrlLineNumber() {
+			return ruleDescr.getLine();
+		}
+
+		public int getConsequenceDrlLineNumber() {
+			return ruleDescr.getConsequenceLine();
+		}
+
+		public int getConsequenceJavaLineNumber() {
+			if (consequenceJavaLineNumber == -1) {
+				if (!isCompiled()) {
+					throw new IllegalArgumentException("Package has not been compiled");
+				}
+				PackageCompilationData data = compiledPackage
+                					.getPackageCompilationData();
+
+                LineMappings mappings = data.getLineMappings(className);
+                consequenceJavaLineNumber = mappings.getOffset();
+
+			}
+			return consequenceJavaLineNumber;
+		}
+
+		public String getPackageName() {
+			return packageDescr.getName();
+		}
+
+		public String getRuleName() {
+			return ruleDescr.getName();
+		}
+	}
+
+	public FunctionInfo[] getFunctionInfos() {
+		if (functionInfos == null) {
+			List functionInfosList = new ArrayList();
+	        for (Iterator functions = packageDescr.getFunctions().iterator(); functions.hasNext(); ) {
+	    		FunctionDescr functionDescr = (FunctionDescr) functions.next();
+	    		FunctionInfo functionInfo = new FunctionInfo(functionDescr);
+	    		functionInfosList.add(functionInfo);
+	    	}
+	        functionInfos = (FunctionInfo[]) functionInfosList.toArray(new FunctionInfo[0]);
+		}
+		return functionInfos;
+	}
+
+	public FunctionInfo getFunctionInfo(int drlLineNumber) {
+		FunctionInfo[] functionInfos = getFunctionInfos();
+		int functionLine = -1;
+		FunctionInfo result = null;
+		for (int i = 0; i < functionInfos.length; i++) {
+			int functionDrlLineNumber = functionInfos[i].getDrlLineNumber();
+			if (functionDrlLineNumber > functionLine
+					&& functionDrlLineNumber <= drlLineNumber + 1) {
+				functionLine = functionDrlLineNumber;
+				result = functionInfos[i];
+			}
+		}
+		return result;
+	}
+
+	public class FunctionInfo {
+
+		private FunctionDescr functionDescr;
+		// cached entries
+		private transient String className;
+		private transient int javaLineNumber = -1;
+
+		public FunctionInfo(FunctionDescr functionDescr) {
+			if (functionDescr == null) {
+				throw new IllegalArgumentException("Null functionDescr");
+			}
+			this.functionDescr = functionDescr;
+		}
+
+		public String getSourcePathName() {
+			return DRLInfo.this.getSourcePathName();
+		}
+
+		public String getClassName() {
+			// functionDescr is only filled in during compilation
+			if (!isCompiled()) {
+				throw new IllegalArgumentException("Package has not been compiled");
+			}
+			if (className == null) {
+	    		className = functionDescr.getClassName();
+			}
+			return className;
+		}
+
+		public int getDrlLineNumber() {
+			return functionDescr.getLine();
+		}
+
+		public int getJavaLineNumber() {
+			if (javaLineNumber == -1) {
+				if (!isCompiled()) {
+					throw new IllegalArgumentException("Package has not been compiled");
+				}
+				javaLineNumber = compiledPackage
+					.getPackageCompilationData().getLineMappings(className).getOffset();
+			}
+			return javaLineNumber;
+		}
+
+		public String getPackageName() {
+			return packageDescr.getName();
+		}
+
+		public String getFunctionName() {
+			return functionDescr.getName();
+		}
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,425 +0,0 @@
-package org.drools.eclipse;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Reader;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.builder.DroolsBuilder;
-import org.drools.eclipse.builder.Util;
-import org.drools.eclipse.dsl.editor.DSLAdapter;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.eclipse.preferences.IDroolsConstants;
-import org.drools.eclipse.util.ProjectClassLoader;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DroolsEclipsePlugin extends AbstractUIPlugin {
-    
-    public static final int INTERNAL_ERROR = 120;
-    public static final String PLUGIN_ID = "org.drools.eclipse";
-    public static final String BUILD_RESULT_PACKAGE = "Package";
-    public static final String BUILD_RESULT_PACKAGE_DESCR = "PackageDescr";
-    
-	//The shared instance.
-	private static DroolsEclipsePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private Map colors = new HashMap();
-	private Map parsedRules = new HashMap();
-	private Map compiledRules = new HashMap();
-	private Map ruleInfoByClassNameMap = new HashMap();
-	private Map functionInfoByClassNameMap = new HashMap();
-	private boolean useCachePreference;
-
-    private FormColors               ruleBuilderFormColors;
-
-	/**
-	 * The constructor.
-	 */
-	public DroolsEclipsePlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		IPreferenceStore preferenceStore = getPreferenceStore();
-		useCachePreference = preferenceStore.getBoolean(IDroolsConstants.CACHE_PARSED_RULES);
-    	preferenceStore.addPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (IDroolsConstants.CACHE_PARSED_RULES.equals(event.getProperty())) {
-					useCachePreference = ((Boolean) event.getNewValue()).booleanValue();
-					if (!useCachePreference) {
-						clearCache();
-					}
-				}
-			}
-    	});
-
-    }
-	
-	public void clearCache() {
-		parsedRules.clear();
-		compiledRules.clear();
-		ruleInfoByClassNameMap.clear();
-		functionInfoByClassNameMap.clear();
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-		resourceBundle = null;
-		parsedRules = null;
-		compiledRules = null;
-		Iterator iterator = colors.values().iterator();
-		while (iterator.hasNext()) {
-			((Color) iterator.next()).dispose();
-		}
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static DroolsEclipsePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = DroolsEclipsePlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("droolsIDE.DroolsIDEPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-     * Uses the plug ins image registry to "cache" it.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-        
-        DroolsEclipsePlugin plugin = getDefault();
-        ImageRegistry reg = plugin.getImageRegistry();
-        ImageDescriptor des = reg.getDescriptor( path );
-        if (des == null) {
-            des = AbstractUIPlugin.imageDescriptorFromPlugin("org.drools.eclipse", path);
-            reg.put( path, des );
-        }
-		return des;
-	}
-    
-    public static String getUniqueIdentifier() {
-        if (getDefault() == null) {
-            return PLUGIN_ID;
-        }
-        return getDefault().getBundle().getSymbolicName();
-    }
-    
-    public static void log(Throwable t) {
-        Throwable top = t;
-        if (t instanceof DebugException) {
-            DebugException de = (DebugException) t;
-            IStatus status = de.getStatus();
-            if (status.getException() != null) {
-                top = status.getException();
-            }
-        } 
-        log(new Status(IStatus.ERROR, getUniqueIdentifier(),
-            INTERNAL_ERROR, "Internal error in Drools Plugin: ", top));        
-    }
-
-    public static void log(IStatus status) {
-        getDefault().getLog().log(status);
-    }
-
-	public Color getColor(String type) {
-		return (Color) colors.get(type);
-	}
-	
-	public void setColor(String type, Color color) {
-		colors.put(type, color);
-	}
-	
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-		store.setDefault(IDroolsConstants.BUILD_ALL, false);
-		store.setDefault(IDroolsConstants.EDITOR_FOLDING, true);
-		store.setDefault(IDroolsConstants.CACHE_PARSED_RULES, true);
-	}
-	
-	public DRLInfo parseResource(IResource resource, boolean compile) throws DroolsParserException {
-		DRLInfo result = (DRLInfo) compiledRules.get(resource);
-		if (result == null && !compile) {
-			result = (DRLInfo) parsedRules.get(resource);
-		}
-		if (result != null) {
-			return result;
-		}
-		return generateParsedResource(resource, compile);
-	}
-	
-	public DRLInfo parseResource(AbstractRuleEditor editor, boolean useUnsavedContent, boolean compile) throws DroolsParserException {
-		IResource resource = editor.getResource();
-		if (!editor.isDirty() || !useUnsavedContent) {
-			DRLInfo result = (DRLInfo) compiledRules.get(resource);
-			if (result == null && !compile) {
-				result = (DRLInfo) parsedRules.get(resource);
-			}
-			if (result != null) {
-				return result;
-			}
-		}
-		if (!editor.isDirty()) {
-			return generateParsedResource(editor.getContent(), resource, true, compile);
-		}
-		// TODO: can we cache result when using unsaved content as well? 
-		return generateParsedResource(editor.getContent(), resource, !useUnsavedContent, compile);
-	}
-	
-	public DRLInfo parseXLSResource(String content, IResource resource) throws DroolsParserException {
-		DRLInfo result = (DRLInfo) compiledRules.get(resource);
-		if (result != null) {
-			return result;
-		}
-		return generateParsedResource(content, resource, false, true);
-	}
-	
-	public DRLInfo parseBRLResource(String content, IResource resource) throws DroolsParserException {
-		DRLInfo result = (DRLInfo) compiledRules.get(resource);
-		if (result != null) {
-			return result;
-		}
-		return generateParsedResource(content, resource, false, true);
-	}
-	
-	public void invalidateResource(IResource resource) {
-		DRLInfo cached = (DRLInfo) compiledRules.remove(resource);
-		if (cached != null) {
-			RuleInfo[] ruleInfos = cached.getRuleInfos();
-			for (int i = 0; i < ruleInfos.length; i++) {
-				ruleInfoByClassNameMap.remove(ruleInfos[i].getClassName());
-			}
-			FunctionInfo[] functionInfos = cached.getFunctionInfos();
-			for (int i = 0; i < functionInfos.length; i++) {
-				functionInfoByClassNameMap.remove(functionInfos[i].getClassName());
-			}
-		}
-		parsedRules.remove(resource);
-	}
-	
-	private DRLInfo generateParsedResource(IResource resource, boolean compile) throws DroolsParserException {
-		if (resource instanceof IFile) {
-			IFile file = (IFile) resource;
-	        try {
-	        	String content = new String(Util.getResourceContentsAsCharArray(file));
-	        	return generateParsedResource(content, file, true, compile);
-	        } catch (CoreException e) {
-	        	log(e);
-	        }
-		}
-		return null;
-	}
-
-	private DRLInfo generateParsedResource(String content, IResource resource, boolean useCache, boolean compile) throws DroolsParserException {
-		useCache = useCache && useCachePreference;
-        DrlParser parser = new DrlParser();
-        try {
-            Reader dslReader = DSLAdapter.getDSLContent(content, resource);
-            ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
-            ClassLoader newLoader = DroolsBuilder.class.getClassLoader();
-            PackageBuilderConfiguration builder_configuration = new PackageBuilderConfiguration();
-            if (resource.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
-                IJavaProject project = JavaCore.create(resource.getProject());
-                newLoader = ProjectClassLoader.getProjectClassLoader(project);
-                String level = project.getOption(JavaCore.COMPILER_COMPLIANCE, true);
-                JavaDialectConfiguration javaConf = ( JavaDialectConfiguration ) builder_configuration.getDialectConfiguration( "java" );
-                javaConf.setJavaLanguageLevel(level);
-            }
-            try {
-            	builder_configuration.setClassLoader(newLoader);
-                Thread.currentThread().setContextClassLoader(newLoader);
-
-                // first parse the source
-                PackageDescr packageDescr = null;
-                List parserErrors = null;
-                if (useCache) {
-                	DRLInfo cachedDrlInfo = (DRLInfo) parsedRules.get(resource);
-                	if (cachedDrlInfo != null) {
-                		packageDescr = cachedDrlInfo.getPackageDescr();
-                		parserErrors = cachedDrlInfo.getParserErrors();
-                	}
-                }
-                
-                if (packageDescr == null) {
-                	if (dslReader != null) {
-                		packageDescr = parser.parse(content, dslReader);
-                	} else {
-                		packageDescr = parser.parse(content);
-                	}
-                	parserErrors = parser.getErrors();
-                }
-                PackageBuilder builder = null;
-        		DRLInfo result = null;
-            	// compile parsed rules if necessary
-            	if (compile && !parser.hasErrors()) {
-                    builder = new PackageBuilder(builder_configuration);
-
-                    // check whether a .package file exists and add it
-                    if (resource.getParent() != null) {
-                    	MyResourceVisitor visitor = new MyResourceVisitor();
-                		resource.getParent().accept(visitor, IResource.DEPTH_ONE, IResource.NONE);
-                    	IResource packageDef = visitor.getPackageDef();
-                    	if (packageDef != null) {
-                    		builder.addPackage(parseResource(packageDef, false).getPackageDescr());
-                    	}
-                    }
-                    
-                    builder.addPackage(packageDescr);
-        			result = new DRLInfo(
-	    				resource.getProjectRelativePath().toString(),
-	    				packageDescr, parserErrors,
-	    				builder.getPackage(), builder.getErrors().getErrors());
-        		} else {
-        			result = new DRLInfo(
-	    				resource.getProjectRelativePath().toString(),
-	    				packageDescr, parserErrors);
-        		}
-        		            		
-            	// cache result
-        		if (useCache) {
-	    			if (compile && !parser.hasErrors()) {
-	    				parsedRules.remove(resource);
-    					compiledRules.put(resource, result);
-	        			RuleInfo[] ruleInfos = result.getRuleInfos();
-	        			for (int i = 0; i < ruleInfos.length; i++) {
-	        				ruleInfoByClassNameMap.put(ruleInfos[i].getClassName(), ruleInfos[i]);
-	        			}
-	        			FunctionInfo[] functionInfos = result.getFunctionInfos();
-	        			for (int i = 0; i < functionInfos.length; i++) {
-	        				functionInfoByClassNameMap.put(functionInfos[i].getClassName(), functionInfos[i]);
-	        			}
-	    			} else {
-    					parsedRules.put(resource, result);
-	    			}
-        		}
-            	return result;
-            } finally {
-                Thread.currentThread().setContextClassLoader(oldLoader);
-            }
-        } catch (CoreException e) {
-        	log(e);
-        }
-		return null;
-	}
-	
-	public RuleInfo getRuleInfoByClass(String ruleClassName) {
-		return (RuleInfo) ruleInfoByClassNameMap.get(ruleClassName);
-	}
-
-	public FunctionInfo getFunctionInfoByClass(String functionClassName) {
-		return (FunctionInfo) functionInfoByClassNameMap.get(functionClassName);
-	}
-
-    /**
-     * Form Colors, default colors for now.
-     * 
-     * @param display
-     * @return
-     */
-    public FormColors getRuleBuilderFormColors(Display display) {
-        if ( ruleBuilderFormColors == null ) {
-            ruleBuilderFormColors = new FormColors( display );
-            ruleBuilderFormColors.markShared();
-        }
-        return ruleBuilderFormColors;
-    }
-
-    private class MyResourceVisitor implements IResourceVisitor {
-    	private IResource packageDef;
-		public boolean visit(IResource resource) throws CoreException {
-			if ("package".equals(resource.getFileExtension())) {
-				packageDef = resource;
-			}
-			return true;
-		}
-		public IResource getPackageDef() {
-			return packageDef;
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,425 @@
+package org.drools.eclipse;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Reader;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.builder.DroolsBuilder;
+import org.drools.eclipse.builder.Util;
+import org.drools.eclipse.dsl.editor.DSLAdapter;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.eclipse.preferences.IDroolsConstants;
+import org.drools.eclipse.util.ProjectClassLoader;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.forms.FormColors;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The main plugin class to be used in the desktop.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DroolsEclipsePlugin extends AbstractUIPlugin {
+    
+    public static final int INTERNAL_ERROR = 120;
+    public static final String PLUGIN_ID = "org.drools.eclipse";
+    public static final String BUILD_RESULT_PACKAGE = "Package";
+    public static final String BUILD_RESULT_PACKAGE_DESCR = "PackageDescr";
+    
+	//The shared instance.
+	private static DroolsEclipsePlugin plugin;
+	//Resource bundle.
+	private ResourceBundle resourceBundle;
+	private Map colors = new HashMap();
+	private Map parsedRules = new HashMap();
+	private Map compiledRules = new HashMap();
+	private Map ruleInfoByClassNameMap = new HashMap();
+	private Map functionInfoByClassNameMap = new HashMap();
+	private boolean useCachePreference;
+
+    private FormColors               ruleBuilderFormColors;
+
+	/**
+	 * The constructor.
+	 */
+	public DroolsEclipsePlugin() {
+		super();
+		plugin = this;
+	}
+
+	/**
+	 * This method is called upon plug-in activation
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		IPreferenceStore preferenceStore = getPreferenceStore();
+		useCachePreference = preferenceStore.getBoolean(IDroolsConstants.CACHE_PARSED_RULES);
+    	preferenceStore.addPropertyChangeListener(new IPropertyChangeListener() {
+			public void propertyChange(PropertyChangeEvent event) {
+				if (IDroolsConstants.CACHE_PARSED_RULES.equals(event.getProperty())) {
+					useCachePreference = ((Boolean) event.getNewValue()).booleanValue();
+					if (!useCachePreference) {
+						clearCache();
+					}
+				}
+			}
+    	});
+
+    }
+	
+	public void clearCache() {
+		parsedRules.clear();
+		compiledRules.clear();
+		ruleInfoByClassNameMap.clear();
+		functionInfoByClassNameMap.clear();
+	}
+
+	/**
+	 * This method is called when the plug-in is stopped
+	 */
+	public void stop(BundleContext context) throws Exception {
+		super.stop(context);
+		plugin = null;
+		resourceBundle = null;
+		parsedRules = null;
+		compiledRules = null;
+		Iterator iterator = colors.values().iterator();
+		while (iterator.hasNext()) {
+			((Color) iterator.next()).dispose();
+		}
+	}
+
+	/**
+	 * Returns the shared instance.
+	 */
+	public static DroolsEclipsePlugin getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the string from the plugin's resource bundle,
+	 * or 'key' if not found.
+	 */
+	public static String getResourceString(String key) {
+		ResourceBundle bundle = DroolsEclipsePlugin.getDefault().getResourceBundle();
+		try {
+			return (bundle != null) ? bundle.getString(key) : key;
+		} catch (MissingResourceException e) {
+			return key;
+		}
+	}
+
+	/**
+	 * Returns the plugin's resource bundle,
+	 */
+	public ResourceBundle getResourceBundle() {
+		try {
+			if (resourceBundle == null)
+				resourceBundle = ResourceBundle.getBundle("droolsIDE.DroolsIDEPluginResources");
+		} catch (MissingResourceException x) {
+			resourceBundle = null;
+		}
+		return resourceBundle;
+	}
+
+	/**
+	 * Returns an image descriptor for the image file at the given
+	 * plug-in relative path.
+     * Uses the plug ins image registry to "cache" it.
+	 *
+	 * @param path the path
+	 * @return the image descriptor
+	 */
+	public static ImageDescriptor getImageDescriptor(String path) {
+        
+        DroolsEclipsePlugin plugin = getDefault();
+        ImageRegistry reg = plugin.getImageRegistry();
+        ImageDescriptor des = reg.getDescriptor( path );
+        if (des == null) {
+            des = AbstractUIPlugin.imageDescriptorFromPlugin("org.drools.eclipse", path);
+            reg.put( path, des );
+        }
+		return des;
+	}
+    
+    public static String getUniqueIdentifier() {
+        if (getDefault() == null) {
+            return PLUGIN_ID;
+        }
+        return getDefault().getBundle().getSymbolicName();
+    }
+    
+    public static void log(Throwable t) {
+        Throwable top = t;
+        if (t instanceof DebugException) {
+            DebugException de = (DebugException) t;
+            IStatus status = de.getStatus();
+            if (status.getException() != null) {
+                top = status.getException();
+            }
+        } 
+        log(new Status(IStatus.ERROR, getUniqueIdentifier(),
+            INTERNAL_ERROR, "Internal error in Drools Plugin: ", top));        
+    }
+
+    public static void log(IStatus status) {
+        getDefault().getLog().log(status);
+    }
+
+	public Color getColor(String type) {
+		return (Color) colors.get(type);
+	}
+	
+	public void setColor(String type, Color color) {
+		colors.put(type, color);
+	}
+	
+	protected void initializeDefaultPreferences(IPreferenceStore store) {
+		store.setDefault(IDroolsConstants.BUILD_ALL, false);
+		store.setDefault(IDroolsConstants.EDITOR_FOLDING, true);
+		store.setDefault(IDroolsConstants.CACHE_PARSED_RULES, true);
+	}
+	
+	public DRLInfo parseResource(IResource resource, boolean compile) throws DroolsParserException {
+		DRLInfo result = (DRLInfo) compiledRules.get(resource);
+		if (result == null && !compile) {
+			result = (DRLInfo) parsedRules.get(resource);
+		}
+		if (result != null) {
+			return result;
+		}
+		return generateParsedResource(resource, compile);
+	}
+	
+	public DRLInfo parseResource(AbstractRuleEditor editor, boolean useUnsavedContent, boolean compile) throws DroolsParserException {
+		IResource resource = editor.getResource();
+		if (!editor.isDirty() || !useUnsavedContent) {
+			DRLInfo result = (DRLInfo) compiledRules.get(resource);
+			if (result == null && !compile) {
+				result = (DRLInfo) parsedRules.get(resource);
+			}
+			if (result != null) {
+				return result;
+			}
+		}
+		if (!editor.isDirty()) {
+			return generateParsedResource(editor.getContent(), resource, true, compile);
+		}
+		// TODO: can we cache result when using unsaved content as well? 
+		return generateParsedResource(editor.getContent(), resource, !useUnsavedContent, compile);
+	}
+	
+	public DRLInfo parseXLSResource(String content, IResource resource) throws DroolsParserException {
+		DRLInfo result = (DRLInfo) compiledRules.get(resource);
+		if (result != null) {
+			return result;
+		}
+		return generateParsedResource(content, resource, false, true);
+	}
+	
+	public DRLInfo parseBRLResource(String content, IResource resource) throws DroolsParserException {
+		DRLInfo result = (DRLInfo) compiledRules.get(resource);
+		if (result != null) {
+			return result;
+		}
+		return generateParsedResource(content, resource, false, true);
+	}
+	
+	public void invalidateResource(IResource resource) {
+		DRLInfo cached = (DRLInfo) compiledRules.remove(resource);
+		if (cached != null) {
+			RuleInfo[] ruleInfos = cached.getRuleInfos();
+			for (int i = 0; i < ruleInfos.length; i++) {
+				ruleInfoByClassNameMap.remove(ruleInfos[i].getClassName());
+			}
+			FunctionInfo[] functionInfos = cached.getFunctionInfos();
+			for (int i = 0; i < functionInfos.length; i++) {
+				functionInfoByClassNameMap.remove(functionInfos[i].getClassName());
+			}
+		}
+		parsedRules.remove(resource);
+	}
+	
+	private DRLInfo generateParsedResource(IResource resource, boolean compile) throws DroolsParserException {
+		if (resource instanceof IFile) {
+			IFile file = (IFile) resource;
+	        try {
+	        	String content = new String(Util.getResourceContentsAsCharArray(file));
+	        	return generateParsedResource(content, file, true, compile);
+	        } catch (CoreException e) {
+	        	log(e);
+	        }
+		}
+		return null;
+	}
+
+	private DRLInfo generateParsedResource(String content, IResource resource, boolean useCache, boolean compile) throws DroolsParserException {
+		useCache = useCache && useCachePreference;
+        DrlParser parser = new DrlParser();
+        try {
+            Reader dslReader = DSLAdapter.getDSLContent(content, resource);
+            ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+            ClassLoader newLoader = DroolsBuilder.class.getClassLoader();
+            PackageBuilderConfiguration builder_configuration = new PackageBuilderConfiguration();
+            if (resource.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
+                IJavaProject project = JavaCore.create(resource.getProject());
+                newLoader = ProjectClassLoader.getProjectClassLoader(project);
+                String level = project.getOption(JavaCore.COMPILER_COMPLIANCE, true);
+                JavaDialectConfiguration javaConf = ( JavaDialectConfiguration ) builder_configuration.getDialectConfiguration( "java" );
+                javaConf.setJavaLanguageLevel(level);
+            }
+            try {
+            	builder_configuration.setClassLoader(newLoader);
+                Thread.currentThread().setContextClassLoader(newLoader);
+
+                // first parse the source
+                PackageDescr packageDescr = null;
+                List parserErrors = null;
+                if (useCache) {
+                	DRLInfo cachedDrlInfo = (DRLInfo) parsedRules.get(resource);
+                	if (cachedDrlInfo != null) {
+                		packageDescr = cachedDrlInfo.getPackageDescr();
+                		parserErrors = cachedDrlInfo.getParserErrors();
+                	}
+                }
+                
+                if (packageDescr == null) {
+                	if (dslReader != null) {
+                		packageDescr = parser.parse(content, dslReader);
+                	} else {
+                		packageDescr = parser.parse(content);
+                	}
+                	parserErrors = parser.getErrors();
+                }
+                PackageBuilder builder = null;
+        		DRLInfo result = null;
+            	// compile parsed rules if necessary
+            	if (compile && !parser.hasErrors()) {
+                    builder = new PackageBuilder(builder_configuration);
+
+                    // check whether a .package file exists and add it
+                    if (resource.getParent() != null) {
+                    	MyResourceVisitor visitor = new MyResourceVisitor();
+                		resource.getParent().accept(visitor, IResource.DEPTH_ONE, IResource.NONE);
+                    	IResource packageDef = visitor.getPackageDef();
+                    	if (packageDef != null) {
+                    		builder.addPackage(parseResource(packageDef, false).getPackageDescr());
+                    	}
+                    }
+                    
+                    builder.addPackage(packageDescr);
+        			result = new DRLInfo(
+	    				resource.getProjectRelativePath().toString(),
+	    				packageDescr, parserErrors,
+	    				builder.getPackage(), builder.getErrors().getErrors());
+        		} else {
+        			result = new DRLInfo(
+	    				resource.getProjectRelativePath().toString(),
+	    				packageDescr, parserErrors);
+        		}
+        		            		
+            	// cache result
+        		if (useCache) {
+	    			if (compile && !parser.hasErrors()) {
+	    				parsedRules.remove(resource);
+    					compiledRules.put(resource, result);
+	        			RuleInfo[] ruleInfos = result.getRuleInfos();
+	        			for (int i = 0; i < ruleInfos.length; i++) {
+	        				ruleInfoByClassNameMap.put(ruleInfos[i].getClassName(), ruleInfos[i]);
+	        			}
+	        			FunctionInfo[] functionInfos = result.getFunctionInfos();
+	        			for (int i = 0; i < functionInfos.length; i++) {
+	        				functionInfoByClassNameMap.put(functionInfos[i].getClassName(), functionInfos[i]);
+	        			}
+	    			} else {
+    					parsedRules.put(resource, result);
+	    			}
+        		}
+            	return result;
+            } finally {
+                Thread.currentThread().setContextClassLoader(oldLoader);
+            }
+        } catch (CoreException e) {
+        	log(e);
+        }
+		return null;
+	}
+	
+	public RuleInfo getRuleInfoByClass(String ruleClassName) {
+		return (RuleInfo) ruleInfoByClassNameMap.get(ruleClassName);
+	}
+
+	public FunctionInfo getFunctionInfoByClass(String functionClassName) {
+		return (FunctionInfo) functionInfoByClassNameMap.get(functionClassName);
+	}
+
+    /**
+     * Form Colors, default colors for now.
+     * 
+     * @param display
+     * @return
+     */
+    public FormColors getRuleBuilderFormColors(Display display) {
+        if ( ruleBuilderFormColors == null ) {
+            ruleBuilderFormColors = new FormColors( display );
+            ruleBuilderFormColors.markShared();
+        }
+        return ruleBuilderFormColors;
+    }
+
+    private class MyResourceVisitor implements IResourceVisitor {
+    	private IResource packageDef;
+		public boolean visit(IResource resource) throws CoreException {
+			if ("package".equals(resource.getFileExtension())) {
+				packageDef = resource;
+			}
+			return true;
+		}
+		public IResource getPackageDef() {
+			return packageDef;
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,77 +0,0 @@
-package org.drools.eclipse;
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.progress.IProgressConstants;
-
-public class DroolsPerspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
- 		String editorArea = layout.getEditorArea();
-		
-		IFolderLayout folder= layout.createFolder("left", IPageLayout.LEFT, (float)0.25, editorArea); //$NON-NLS-1$
-		folder.addView(JavaUI.ID_PACKAGES);
-		folder.addPlaceholder(JavaUI.ID_TYPE_HIERARCHY);
-		folder.addView(IPageLayout.ID_RES_NAV);
-		
-		IFolderLayout rulesfolder= layout.createFolder("leftbottom", IPageLayout.BOTTOM, (float)0.5, "left"); //$NON-NLS-1$
-		rulesfolder.addView(IDroolsConstants.RULES_VIEW);
-		
-		IFolderLayout outputfolder= layout.createFolder("bottom", IPageLayout.BOTTOM, (float)0.75, editorArea); //$NON-NLS-1$
-		outputfolder.addView(IPageLayout.ID_PROBLEM_VIEW);
-		outputfolder.addView(IPageLayout.ID_PROP_SHEET);
-		outputfolder.addPlaceholder(JavaUI.ID_JAVADOC_VIEW);
-		outputfolder.addPlaceholder(JavaUI.ID_SOURCE_VIEW);
-		outputfolder.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
-		outputfolder.addPlaceholder(IPageLayout.ID_BOOKMARKS);
-		outputfolder.addPlaceholder(IProgressConstants.PROGRESS_VIEW_ID);
-		
-		// *** Drools-specific extensions ***
-		outputfolder.addView(IDroolsConstants.AUDIT_VIEW);
-		layout.addShowViewShortcut(IDroolsConstants.AUDIT_VIEW);
-		layout.addNewWizardShortcut("org.drools.eclipse.new.file");
-		layout.addNewWizardShortcut("org.drools.eclipse.new.dsl");
-		layout.addNewWizardShortcut("org.drools.eclipse.wizards.new.project");
-		// **********************************
-		
-		layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.RIGHT, (float)0.75, editorArea);
-		
-		layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET);
-		layout.addActionSet(JavaUI.ID_ACTION_SET);
-		layout.addActionSet(JavaUI.ID_ELEMENT_CREATION_ACTION_SET);
-		layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET);
-		
-		// views - java
-		layout.addShowViewShortcut(JavaUI.ID_PACKAGES);
-		layout.addShowViewShortcut(JavaUI.ID_TYPE_HIERARCHY);
-		layout.addShowViewShortcut(JavaUI.ID_SOURCE_VIEW);
-		layout.addShowViewShortcut(JavaUI.ID_JAVADOC_VIEW);
-
-		// views - debugging
-		layout.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
-
-		// views - standard workbench
-		layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
-		layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
-		layout.addShowViewShortcut(IPageLayout.ID_RES_NAV);
-		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
-		layout.addShowViewShortcut(IProgressConstants.PROGRESS_VIEW_ID);
-				
-		// new actions - Java project creation wizard
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewPackageCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewClassCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewEnumCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard");	 //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard"); //$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//$NON-NLS-1$
-		layout.addNewWizardShortcut("org.eclipse.ui.editors.wizards.UntitledTextFileWizard");//$NON-NLS-1$
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPerspective.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,77 @@
+package org.drools.eclipse;
+
+import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.jdt.ui.JavaUI;
+import org.eclipse.ui.IFolderLayout;
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPerspectiveFactory;
+import org.eclipse.ui.console.IConsoleConstants;
+import org.eclipse.ui.progress.IProgressConstants;
+
+public class DroolsPerspective implements IPerspectiveFactory {
+
+	public void createInitialLayout(IPageLayout layout) {
+ 		String editorArea = layout.getEditorArea();
+		
+		IFolderLayout folder= layout.createFolder("left", IPageLayout.LEFT, (float)0.25, editorArea); //$NON-NLS-1$
+		folder.addView(JavaUI.ID_PACKAGES);
+		folder.addPlaceholder(JavaUI.ID_TYPE_HIERARCHY);
+		folder.addView(IPageLayout.ID_RES_NAV);
+		
+		IFolderLayout rulesfolder= layout.createFolder("leftbottom", IPageLayout.BOTTOM, (float)0.5, "left"); //$NON-NLS-1$
+		rulesfolder.addView(IDroolsConstants.RULES_VIEW);
+		
+		IFolderLayout outputfolder= layout.createFolder("bottom", IPageLayout.BOTTOM, (float)0.75, editorArea); //$NON-NLS-1$
+		outputfolder.addView(IPageLayout.ID_PROBLEM_VIEW);
+		outputfolder.addView(IPageLayout.ID_PROP_SHEET);
+		outputfolder.addPlaceholder(JavaUI.ID_JAVADOC_VIEW);
+		outputfolder.addPlaceholder(JavaUI.ID_SOURCE_VIEW);
+		outputfolder.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
+		outputfolder.addPlaceholder(IPageLayout.ID_BOOKMARKS);
+		outputfolder.addPlaceholder(IProgressConstants.PROGRESS_VIEW_ID);
+		
+		// *** Drools-specific extensions ***
+		outputfolder.addView(IDroolsConstants.AUDIT_VIEW);
+		layout.addShowViewShortcut(IDroolsConstants.AUDIT_VIEW);
+		layout.addNewWizardShortcut("org.drools.eclipse.new.file");
+		layout.addNewWizardShortcut("org.drools.eclipse.new.dsl");
+		layout.addNewWizardShortcut("org.drools.eclipse.wizards.new.project");
+		// **********************************
+		
+		layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.RIGHT, (float)0.75, editorArea);
+		
+		layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET);
+		layout.addActionSet(JavaUI.ID_ACTION_SET);
+		layout.addActionSet(JavaUI.ID_ELEMENT_CREATION_ACTION_SET);
+		layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET);
+		
+		// views - java
+		layout.addShowViewShortcut(JavaUI.ID_PACKAGES);
+		layout.addShowViewShortcut(JavaUI.ID_TYPE_HIERARCHY);
+		layout.addShowViewShortcut(JavaUI.ID_SOURCE_VIEW);
+		layout.addShowViewShortcut(JavaUI.ID_JAVADOC_VIEW);
+
+		// views - debugging
+		layout.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
+
+		// views - standard workbench
+		layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
+		layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
+		layout.addShowViewShortcut(IPageLayout.ID_RES_NAV);
+		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
+		layout.addShowViewShortcut(IProgressConstants.PROGRESS_VIEW_ID);
+				
+		// new actions - Java project creation wizard
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewPackageCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewClassCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewEnumCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard");	 //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard"); //$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//$NON-NLS-1$
+		layout.addNewWizardShortcut("org.eclipse.ui.editors.wizards.UntitledTextFileWizard");//$NON-NLS-1$
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,146 +0,0 @@
-package org.drools.eclipse;
-/*
- * Copyright 2005 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.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Handles the images used in this plugin.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DroolsPluginImages {
-
-    public static final String IMG_LOGICAL = "ImageLogical";
-    public static final String IMG_LOGICAL_DISABLED = "ImageLogicalDisabled";
-    public static final String REFRESH_LOG = "RefreshLog";
-    public static final String REFRESH_LOG_DISABLED = "RefreshLogDisabled";
-    public static final String OPEN_LOG = "OpenLog";
-    public static final String DELETE_LOG = "ClearLog";
-    public static final String DELETE_LOG_DISABLED = "ClearLogDisabled";
-    public static final String INSERT = "Insert";
-    public static final String UPDATE = "Update";
-    public static final String RETRACT = "RetractO";
-    public static final String CREATE_ACTIVATION = "CreateActivation";
-    public static final String CANCEL_ACTIVATION = "CancelActivation";
-    public static final String EXECUTE_ACTIVATION = "ExecuteActivation";
-    public static final String CLASS = "Class";
-    public static final String PACKAGE = "Package";
-    public static final String METHOD = "Method";
-    public static final String VARIABLE = "Variable";
-    public static final String DROOLS = "Drools";
-    public static final String RULE = "DroolsRule";
-    public static final String QUERY = "DroolsQuery";
-    public static final String DSL_EXPRESSION = "DslExpression";
-    public static final String IMPORT = "Import";
-    public static final String DSL = "DSL";
-    public static final String GLOBAL = "Global";
-    public static final String RULEFLOW = "RuleFlow";
-    
-    private static ImageRegistry imageRegistry;
-    private static final String PATH_SUFFIX = "/icons/";
-    private static final URL ICON_BASE_URL =
-    	DroolsEclipsePlugin.getDefault().getBundle().getEntry(PATH_SUFFIX);
-    
-    private static void declareImages() {
-        declareRegistryImage(IMG_LOGICAL, "logical_structure.gif");
-        declareRegistryImage(IMG_LOGICAL_DISABLED, "logical_structure_disabled.gif");
-        declareRegistryImage(REFRESH_LOG, "refresh.gif");
-        declareRegistryImage(REFRESH_LOG_DISABLED, "refresh_disabled.gif");
-        declareRegistryImage(OPEN_LOG, "open.gif");
-        declareRegistryImage(DELETE_LOG, "clear.gif");
-        declareRegistryImage(DELETE_LOG_DISABLED, "clear_disabled.gif");
-        declareRegistryImage(INSERT, "greensquare.GIF");
-        declareRegistryImage(UPDATE, "yellowsquare.GIF");
-        declareRegistryImage(RETRACT, "redsquare.GIF");
-        declareRegistryImage(CREATE_ACTIVATION, "arrowright.GIF");
-        declareRegistryImage(CANCEL_ACTIVATION, "arrowleft.GIF");
-        declareRegistryImage(EXECUTE_ACTIVATION, "bluediamond.GIF");
-        declareRegistryImage(CLASS, "class_obj.gif");
-        declareRegistryImage(PACKAGE, "package_obj.gif");
-        declareRegistryImage(METHOD, "methpub_obj.gif");
-        declareRegistryImage(VARIABLE, "field_private_obj.gif");
-        declareRegistryImage(DROOLS, "drools.gif");
-        declareRegistryImage(RULE, "drools-rule.GIF");
-        declareRegistryImage(QUERY, "drools-query.GIF");
-        declareRegistryImage(DSL_EXPRESSION, "dsl_expression.gif");
-        declareRegistryImage(IMPORT, "import.gif");
-        declareRegistryImage(DSL, "dsl.GIF");
-        declareRegistryImage(GLOBAL, "field_public_obj.gif");
-        declareRegistryImage(RULEFLOW, "process.gif");
-    }
-
-    /**
-     * Declare an Image in the registry table.
-     * @param key   The key to use when registering the image
-     * @param path  The path where the image can be found. This path is relative to where
-     *              this plugin class is found (i.e. typically the packages directory)
-     */
-    private final static void declareRegistryImage(String key, String path) {
-        ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
-        try {
-            desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
-        } catch (MalformedURLException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-        imageRegistry.put(key, desc);
-    }
-    
-    /**
-     * Returns the ImageRegistry.
-     */
-    public static ImageRegistry getImageRegistry() {
-        if (imageRegistry == null) {
-            initializeImageRegistry();
-        }
-        return imageRegistry;
-    }
-
-    public static ImageRegistry initializeImageRegistry() {
-        imageRegistry = new ImageRegistry();
-        declareImages();
-        return imageRegistry;
-    }
-
-    /**
-     * Returns the <code>Image</code> identified by the given key,
-     * or <code>null</code> if it does not exist.
-     */
-    public static Image getImage(String key) {
-        return getImageRegistry().get(key);
-    }
-    
-    /**
-     * Returns the <code>ImageDescriptor</code> identified by the given key,
-     * or <code>null</code> if it does not exist.
-     */
-    public static ImageDescriptor getImageDescriptor(String key) {
-		return getImageRegistry().getDescriptor(key);
-    }
-    
-    private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
-        if (ICON_BASE_URL == null) {
-            throw new MalformedURLException();
-        }
-            
-        return new URL(ICON_BASE_URL, iconPath);
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsPluginImages.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,146 @@
+package org.drools.eclipse;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * Handles the images used in this plugin.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DroolsPluginImages {
+
+    public static final String IMG_LOGICAL = "ImageLogical";
+    public static final String IMG_LOGICAL_DISABLED = "ImageLogicalDisabled";
+    public static final String REFRESH_LOG = "RefreshLog";
+    public static final String REFRESH_LOG_DISABLED = "RefreshLogDisabled";
+    public static final String OPEN_LOG = "OpenLog";
+    public static final String DELETE_LOG = "ClearLog";
+    public static final String DELETE_LOG_DISABLED = "ClearLogDisabled";
+    public static final String INSERT = "Insert";
+    public static final String UPDATE = "Update";
+    public static final String RETRACT = "RetractO";
+    public static final String CREATE_ACTIVATION = "CreateActivation";
+    public static final String CANCEL_ACTIVATION = "CancelActivation";
+    public static final String EXECUTE_ACTIVATION = "ExecuteActivation";
+    public static final String CLASS = "Class";
+    public static final String PACKAGE = "Package";
+    public static final String METHOD = "Method";
+    public static final String VARIABLE = "Variable";
+    public static final String DROOLS = "Drools";
+    public static final String RULE = "DroolsRule";
+    public static final String QUERY = "DroolsQuery";
+    public static final String DSL_EXPRESSION = "DslExpression";
+    public static final String IMPORT = "Import";
+    public static final String DSL = "DSL";
+    public static final String GLOBAL = "Global";
+    public static final String RULEFLOW = "RuleFlow";
+    
+    private static ImageRegistry imageRegistry;
+    private static final String PATH_SUFFIX = "/icons/";
+    private static final URL ICON_BASE_URL =
+    	DroolsEclipsePlugin.getDefault().getBundle().getEntry(PATH_SUFFIX);
+    
+    private static void declareImages() {
+        declareRegistryImage(IMG_LOGICAL, "logical_structure.gif");
+        declareRegistryImage(IMG_LOGICAL_DISABLED, "logical_structure_disabled.gif");
+        declareRegistryImage(REFRESH_LOG, "refresh.gif");
+        declareRegistryImage(REFRESH_LOG_DISABLED, "refresh_disabled.gif");
+        declareRegistryImage(OPEN_LOG, "open.gif");
+        declareRegistryImage(DELETE_LOG, "clear.gif");
+        declareRegistryImage(DELETE_LOG_DISABLED, "clear_disabled.gif");
+        declareRegistryImage(INSERT, "greensquare.GIF");
+        declareRegistryImage(UPDATE, "yellowsquare.GIF");
+        declareRegistryImage(RETRACT, "redsquare.GIF");
+        declareRegistryImage(CREATE_ACTIVATION, "arrowright.GIF");
+        declareRegistryImage(CANCEL_ACTIVATION, "arrowleft.GIF");
+        declareRegistryImage(EXECUTE_ACTIVATION, "bluediamond.GIF");
+        declareRegistryImage(CLASS, "class_obj.gif");
+        declareRegistryImage(PACKAGE, "package_obj.gif");
+        declareRegistryImage(METHOD, "methpub_obj.gif");
+        declareRegistryImage(VARIABLE, "field_private_obj.gif");
+        declareRegistryImage(DROOLS, "drools.gif");
+        declareRegistryImage(RULE, "drools-rule.GIF");
+        declareRegistryImage(QUERY, "drools-query.GIF");
+        declareRegistryImage(DSL_EXPRESSION, "dsl_expression.gif");
+        declareRegistryImage(IMPORT, "import.gif");
+        declareRegistryImage(DSL, "dsl.GIF");
+        declareRegistryImage(GLOBAL, "field_public_obj.gif");
+        declareRegistryImage(RULEFLOW, "process.gif");
+    }
+
+    /**
+     * Declare an Image in the registry table.
+     * @param key   The key to use when registering the image
+     * @param path  The path where the image can be found. This path is relative to where
+     *              this plugin class is found (i.e. typically the packages directory)
+     */
+    private final static void declareRegistryImage(String key, String path) {
+        ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
+        try {
+            desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
+        } catch (MalformedURLException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+        imageRegistry.put(key, desc);
+    }
+    
+    /**
+     * Returns the ImageRegistry.
+     */
+    public static ImageRegistry getImageRegistry() {
+        if (imageRegistry == null) {
+            initializeImageRegistry();
+        }
+        return imageRegistry;
+    }
+
+    public static ImageRegistry initializeImageRegistry() {
+        imageRegistry = new ImageRegistry();
+        declareImages();
+        return imageRegistry;
+    }
+
+    /**
+     * Returns the <code>Image</code> identified by the given key,
+     * or <code>null</code> if it does not exist.
+     */
+    public static Image getImage(String key) {
+        return getImageRegistry().get(key);
+    }
+    
+    /**
+     * Returns the <code>ImageDescriptor</code> identified by the given key,
+     * or <code>null</code> if it does not exist.
+     */
+    public static ImageDescriptor getImageDescriptor(String key) {
+		return getImageRegistry().getDescriptor(key);
+    }
+    
+    private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
+        if (ICON_BASE_URL == null) {
+            throw new MalformedURLException();
+        }
+            
+        return new URL(ICON_BASE_URL, iconPath);
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,8 +0,0 @@
-package org.drools.eclipse;
-
-public interface IDroolsConstants {
-	
-	final String AUDIT_VIEW = "org.drools.eclipse.debug.AuditView";
-	final String RULES_VIEW = "org.drools.eclipse.view.rules.RulesView";
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/IDroolsConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,8 @@
+package org.drools.eclipse;
+
+public interface IDroolsConstants {
+	
+	final String AUDIT_VIEW = "org.drools.eclipse.debug.AuditView";
+	final String RULES_VIEW = "org.drools.eclipse.view.rules.RulesView";
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,88 +0,0 @@
-package org.drools.eclipse.action;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.builder.DroolsBuilder;
-import org.drools.eclipse.wizard.project.NewDroolsProjectWizard;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class ConvertToDroolsProjectAction implements IObjectActionDelegate {
-
-    private IJavaProject project;
-    
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	public void run(IAction action) {
-		if (project != null && project.exists()) {
-			try {
-				addDroolsBuilder(project, null);
-				addDroolsLibraries(project, null);
-			} catch (Throwable t) {
-				DroolsEclipsePlugin.log(t);
-			}
-		}
-
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection structured = (IStructuredSelection) selection;
-			if (structured.size() == 1) {
-				Object element = structured.getFirstElement();
-				if (element instanceof IJavaProject) {
-					project = (IJavaProject) element;
-				} else if (element instanceof IProject) {
-					IJavaProject javaProject = JavaCore.create((IProject) element);
-					if (javaProject != null && javaProject.exists()) {
-						project = javaProject;
-					}
-				}
-			}
-		}
-	}
-	
-    public static void addDroolsBuilder(IJavaProject project, IProgressMonitor monitor) throws CoreException {
-        IProjectDescription description = project.getProject().getDescription();
-        // check whether Drools builder is already part of the project
-        ICommand[] commands = description.getBuildSpec();
-        for (int i = 0; i < commands.length; i++) {
-        	if (DroolsBuilder.BUILDER_ID.equals(commands[i].getBuilderName())) {
-        		return;
-        	}
-        }
-        // add Drools builder
-        ICommand[] newCommands = new ICommand[commands.length + 1];
-        System.arraycopy(commands, 0, newCommands, 0, commands.length);
-
-        ICommand droolsCommand = description.newCommand();
-        droolsCommand.setBuilderName(DroolsBuilder.BUILDER_ID);
-        newCommands[commands.length] = droolsCommand;
-        
-        description.setBuildSpec(newCommands);
-        project.getProject().setDescription(description, monitor);
-    }
-    
-    public static void addDroolsLibraries(IJavaProject project, IProgressMonitor monitor) throws JavaModelException {
-    	IClasspathEntry[] classpathEntries = project.getRawClasspath();
-    	for (int i = 0; i < classpathEntries.length; i++) {
-    		if (NewDroolsProjectWizard.DROOLS_CLASSPATH_CONTAINER_PATH.equals(classpathEntries[i].getPath().toString())) {
-    			return;
-    		}
-    	}
-		NewDroolsProjectWizard.addDroolsLibraries(project, null);
-    }
-            
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/action/ConvertToDroolsProjectAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,88 @@
+package org.drools.eclipse.action;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.builder.DroolsBuilder;
+import org.drools.eclipse.wizard.project.NewDroolsProjectWizard;
+import org.eclipse.core.resources.ICommand;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+
+public class ConvertToDroolsProjectAction implements IObjectActionDelegate {
+
+    private IJavaProject project;
+    
+	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+	}
+
+	public void run(IAction action) {
+		if (project != null && project.exists()) {
+			try {
+				addDroolsBuilder(project, null);
+				addDroolsLibraries(project, null);
+			} catch (Throwable t) {
+				DroolsEclipsePlugin.log(t);
+			}
+		}
+
+	}
+
+	public void selectionChanged(IAction action, ISelection selection) {
+		if (selection instanceof IStructuredSelection) {
+			IStructuredSelection structured = (IStructuredSelection) selection;
+			if (structured.size() == 1) {
+				Object element = structured.getFirstElement();
+				if (element instanceof IJavaProject) {
+					project = (IJavaProject) element;
+				} else if (element instanceof IProject) {
+					IJavaProject javaProject = JavaCore.create((IProject) element);
+					if (javaProject != null && javaProject.exists()) {
+						project = javaProject;
+					}
+				}
+			}
+		}
+	}
+	
+    public static void addDroolsBuilder(IJavaProject project, IProgressMonitor monitor) throws CoreException {
+        IProjectDescription description = project.getProject().getDescription();
+        // check whether Drools builder is already part of the project
+        ICommand[] commands = description.getBuildSpec();
+        for (int i = 0; i < commands.length; i++) {
+        	if (DroolsBuilder.BUILDER_ID.equals(commands[i].getBuilderName())) {
+        		return;
+        	}
+        }
+        // add Drools builder
+        ICommand[] newCommands = new ICommand[commands.length + 1];
+        System.arraycopy(commands, 0, newCommands, 0, commands.length);
+
+        ICommand droolsCommand = description.newCommand();
+        droolsCommand.setBuilderName(DroolsBuilder.BUILDER_ID);
+        newCommands[commands.length] = droolsCommand;
+        
+        description.setBuildSpec(newCommands);
+        project.getProject().setDescription(description, monitor);
+    }
+    
+    public static void addDroolsLibraries(IJavaProject project, IProgressMonitor monitor) throws JavaModelException {
+    	IClasspathEntry[] classpathEntries = project.getRawClasspath();
+    	for (int i = 0; i < classpathEntries.length; i++) {
+    		if (NewDroolsProjectWizard.DROOLS_CLASSPATH_CONTAINER_PATH.equals(classpathEntries[i].getPath().toString())) {
+    			return;
+    		}
+    	}
+		NewDroolsProjectWizard.addDroolsLibraries(project, null);
+    }
+            
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.builder;
-
-public class DroolsBuildMarker {
-
-	private String text;
-	private int line = -1;
-	private int offset = -1;
-	private int length = -1;
-	
-	public DroolsBuildMarker(String text) {
-		this.text = text;
-	}
-	
-	public DroolsBuildMarker(String text, int line) {
-		this.text = text;
-		this.line = line;
-	}
-
-	public DroolsBuildMarker(String text, int offset, int length) {
-		this.text = text;
-		this.offset = offset;
-		this.length = length;
-	}
-
-	public int getLength() {
-		return length;
-	}
-
-	public int getLine() {
-		return line;
-	}
-
-	public int getOffset() {
-		return offset;
-	}
-
-	public String getText() {
-		return text;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuildMarker.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.builder;
+
+public class DroolsBuildMarker {
+
+	private String text;
+	private int line = -1;
+	private int offset = -1;
+	private int length = -1;
+	
+	public DroolsBuildMarker(String text) {
+		this.text = text;
+	}
+	
+	public DroolsBuildMarker(String text, int line) {
+		this.text = text;
+		this.line = line;
+	}
+
+	public DroolsBuildMarker(String text, int offset, int length) {
+		this.text = text;
+		this.offset = offset;
+		this.length = length;
+	}
+
+	public int getLength() {
+		return length;
+	}
+
+	public int getLine() {
+		return line;
+	}
+
+	public int getOffset() {
+		return offset;
+	}
+
+	public String getText() {
+		return text;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,444 +0,0 @@
-package org.drools.eclipse.builder;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.antlr.runtime.RecognitionException;
-import org.drools.brms.client.modeldriven.brl.RuleModel;
-import org.drools.brms.server.util.BRDRLPersistence;
-import org.drools.brms.server.util.BRXMLPersistence;
-import org.drools.commons.jci.problems.CompilationProblem;
-import org.drools.compiler.DroolsError;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.FactTemplateError;
-import org.drools.compiler.FieldTemplateError;
-import org.drools.compiler.FunctionError;
-import org.drools.compiler.GlobalError;
-import org.drools.compiler.ImportError;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.ParserError;
-import org.drools.compiler.ProcessBuilder;
-import org.drools.compiler.RuleError;
-import org.drools.decisiontable.InputType;
-import org.drools.decisiontable.SpreadsheetCompiler;
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
-import org.drools.eclipse.preferences.IDroolsConstants;
-import org.drools.lang.ExpanderException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-
-import com.thoughtworks.xstream.XStream;
-
-/**
- * Automatically syntax checks .drl files and adds possible
- * errors or warnings to the problem list. Nominally is triggerd on save.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DroolsBuilder extends IncrementalProjectBuilder {
-
-    public static final String BUILDER_ID = "org.drools.eclipse.droolsbuilder";
-
-    protected IProject[] build(int kind, Map args, IProgressMonitor monitor)
-            throws CoreException {
-        IProject currentProject = getProject();
-        if (currentProject == null || !currentProject.isAccessible()) {
-            return new IProject[0];
-        }
-        try {
-            if (monitor != null && monitor.isCanceled())
-                throw new OperationCanceledException();
-
-            if (kind == IncrementalProjectBuilder.FULL_BUILD) {
-                fullBuild(monitor);
-            } else {
-                IResourceDelta delta = getDelta(getProject());
-                if (delta == null) {
-                    fullBuild(monitor);
-                } else {
-                    incrementalBuild(delta, monitor);
-                }
-            }
-        } catch (CoreException e) {
-            IMarker marker = currentProject.createMarker(IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER);
-            marker.setAttribute(IMarker.MESSAGE, "Error when trying to build Drools project: " + e.getLocalizedMessage());
-            marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
-        }
-        return getRequiredProjects(currentProject);
-    }
-    
-    protected void fullBuild(IProgressMonitor monitor)
-            throws CoreException {
-        getProject().accept(new DroolsBuildVisitor());
-    }
-    
-    protected void incrementalBuild(IResourceDelta delta,
-            IProgressMonitor monitor) throws CoreException {
-    	boolean buildAll = DroolsEclipsePlugin.getDefault().getPreferenceStore().getBoolean(IDroolsConstants.BUILD_ALL);
-        if (buildAll) {
-        	// to make sure that all rules are checked when a java file is changed 
-        	fullBuild(monitor);
-        } else {
-        	delta.accept(new DroolsBuildDeltaVisitor());
-        }
-    }
-
-    private class DroolsBuildVisitor implements IResourceVisitor {
-        public boolean visit(IResource res) {
-            return parseResource(res, true);
-        }
-    }
-
-    private class DroolsBuildDeltaVisitor implements IResourceDeltaVisitor {
-        public boolean visit(IResourceDelta delta) throws CoreException {
-            return parseResource(delta.getResource(), false);
-        }
-    }
-    
-    private boolean parseResource(IResource res, boolean clean) {
-        try {
-            IJavaProject project = JavaCore.create(res.getProject());
-            // exclude files that are located in the output directory,
-            // unless the ouput directory is the same as the project location
-            if (!project.getOutputLocation().equals(project.getPath())
-                    && project.getOutputLocation().isPrefixOf(res.getFullPath())) {
-                return false;
-            }
-        } catch (JavaModelException e) {
-            // do nothing
-        }
-
-        if (res instanceof IFile
-        		&& ("drl".equals(res.getFileExtension())
-    				|| "dslr".equals(res.getFileExtension())
-    				|| ".package".equals(res.getName()))) {
-            removeProblemsFor(res);
-            try {
-            	if (clean) {
-            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
-            	}
-            	DroolsBuildMarker[] markers = parseDRLFile((IFile) res, new String(Util.getResourceContentsAsCharArray((IFile) res)));
-		        for (int i = 0; i < markers.length; i++) {
-		        	createMarker(res, markers[i].getText(), markers[i].getLine());
-		        }
-            } catch (Throwable t) {
-            	createMarker(res, t.getMessage(), -1);
-            }
-            return false;
-        } else if (res instanceof IFile && "xls".equals(res.getFileExtension())) {
-            removeProblemsFor(res);
-            try {
-            	if (clean) {
-            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
-            	}
-            	DroolsBuildMarker[] markers = parseXLSFile((IFile) res);
-		        for (int i = 0; i < markers.length; i++) {
-		        	createMarker(res, markers[i].getText(), markers[i].getLine());
-		        }
-            } catch (Throwable t) {
-            	createMarker(res, t.getMessage(), -1);
-            }
-            return false;
-        } else if (res instanceof IFile && "brl".equals(res.getFileExtension())) {
-            removeProblemsFor(res);
-            try {
-            	if (clean) {
-            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
-            	}
-            	DroolsBuildMarker[] markers = parseBRLFile((IFile) res);
-		        for (int i = 0; i < markers.length; i++) {
-		        	createMarker(res, markers[i].getText(), markers[i].getLine());
-		        }
-            } catch (Throwable t) {
-            	createMarker(res, t.getMessage(), -1);
-            }
-            return false;
-        } else if (res instanceof IFile && "rf".equals(res.getFileExtension())) {
-            removeProblemsFor(res);
-            try {
-            	if (clean) {
-            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
-            	}
-            	DroolsBuildMarker[] markers = parseRuleFlowFile((IFile) res);
-		        for (int i = 0; i < markers.length; i++) {
-		        	createMarker(res, markers[i].getText(), markers[i].getLine());
-		        }
-            } catch (Throwable t) {
-            	createMarker(res, t.getMessage(), -1);
-            }
-            return false;
-        }
-
-        return true;
-    }
-    
-    private DroolsBuildMarker[] parseDRLFile(IFile file, String content) {
-    	List markers = new ArrayList();
-		try {
-            DRLInfo drlInfo =
-            	DroolsEclipsePlugin.getDefault().parseResource(file, true);
-            //parser errors
-            markParseErrors(markers, drlInfo.getParserErrors());  
-            markOtherErrors(markers, drlInfo.getBuilderErrors());
-        } catch (DroolsParserException e) {
-            // we have an error thrown from DrlParser
-            Throwable cause = e.getCause();
-            if (cause instanceof RecognitionException ) {
-                RecognitionException recogErr = (RecognitionException) cause;
-                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
-            }
-        } catch (Exception t) {
-        	String message = t.getMessage();
-            if (message == null || message.trim().equals("")) {
-                message = "Error: " + t.getClass().getName();
-            }
-            markers.add(new DroolsBuildMarker(message));
-        }
-        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
-    }
-
-    private DroolsBuildMarker[] parseXLSFile(IFile file) {
-    	List markers = new ArrayList();
-		try {
-			SpreadsheetCompiler converter = new SpreadsheetCompiler();
-	        String drl = converter.compile(file.getContents(), InputType.XLS);
-	        DRLInfo drlInfo =
-            	DroolsEclipsePlugin.getDefault().parseXLSResource(drl, file);
-            // parser errors
-            markParseErrors(markers, drlInfo.getParserErrors());  
-            markOtherErrors(markers, drlInfo.getBuilderErrors());
-        } catch (DroolsParserException e) {
-            // we have an error thrown from DrlParser
-            Throwable cause = e.getCause();
-            if (cause instanceof RecognitionException ) {
-                RecognitionException recogErr = (RecognitionException) cause;
-                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
-            }
-        } catch (Exception t) {
-        	String message = t.getMessage();
-            if (message == null || message.trim().equals( "" )) {
-                message = "Error: " + t.getClass().getName();
-            }
-            markers.add(new DroolsBuildMarker(message));
-        }
-        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
-    }
-
-    private DroolsBuildMarker[] parseBRLFile(IFile file) {
-    	List markers = new ArrayList();
-		try {
-			String brl = convertToString(file.getContents());
-			RuleModel model = BRXMLPersistence.getInstance().unmarshal(brl);
-			String drl = BRDRLPersistence.getInstance().marshal(model);
-			
-			// TODO pass this through DSL converter in case brl is based on dsl
-			
-	        DRLInfo drlInfo =
-            	DroolsEclipsePlugin.getDefault().parseBRLResource(drl, file);
-            // parser errors
-            markParseErrors(markers, drlInfo.getParserErrors());  
-            markOtherErrors(markers, drlInfo.getBuilderErrors());
-        } catch (DroolsParserException e) {
-            // we have an error thrown from DrlParser
-            Throwable cause = e.getCause();
-            if (cause instanceof RecognitionException ) {
-                RecognitionException recogErr = (RecognitionException) cause;
-                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
-            }
-        } catch (Exception t) {
-        	String message = t.getMessage();
-            if (message == null || message.trim().equals( "" )) {
-                message = "Error: " + t.getClass().getName();
-            }
-            markers.add(new DroolsBuildMarker(message));
-        }
-        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
-    }
-    
-    private DroolsBuildMarker[] parseRuleFlowFile(IFile file) {
-    	List markers = new ArrayList();
-		try {
-			String ruleflow = convertToString(file.getContents());
-			XStream stream = new XStream();
-	        stream.setMode(XStream.ID_REFERENCES);
-	        
-	        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
-	        ClassLoader newLoader = this.getClass().getClassLoader();
-	        try {
-	            Thread.currentThread().setContextClassLoader(newLoader);
-	            Object o = stream.fromXML(ruleflow);
-	            if (o instanceof RuleFlowProcessWrapper) {
-	            	ProcessBuilder processBuilder = new ProcessBuilder(new PackageBuilder());
-	            	processBuilder.addProcess(((RuleFlowProcessWrapper) o).getRuleFlowProcess());
-	            	markParseErrors(markers, processBuilder.getErrors());
-	            }
-	        } finally {
-	            Thread.currentThread().setContextClassLoader(oldLoader);
-	        }			
-        } catch (Exception t) {
-        	String message = t.getMessage();
-            if (message == null || message.trim().equals( "" )) {
-                message = "Error: " + t.getClass().getName();
-            }
-            markers.add(new DroolsBuildMarker(message));
-        }
-        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
-    }
-    
-    private static String convertToString(final InputStream inputStream) throws IOException {
-    	Reader reader = new InputStreamReader(inputStream);
-    	final StringBuffer text = new StringBuffer();
-        final char[] buf = new char[1024];
-        int len = 0;
-        while ((len = reader.read(buf)) >= 0) {
-            text.append(buf, 0, len);
-        }
-        return text.toString();
-    }
-
-    /**
-     * This will create markers for parse errors.
-     * Parse errors mean that antlr has picked up some major typos in the input source.
-     */
-    private void markParseErrors(List markers, List parserErrors) {
-        for ( Iterator iter = parserErrors.iterator(); iter.hasNext(); ) {
-        	Object error = iter.next();
-        	if (error instanceof ParserError) {
-        		ParserError err = (ParserError) error;
-        		markers.add(new DroolsBuildMarker(err.getMessage(), err.getRow()));
-        	} else if (error instanceof ExpanderException) {
-        		ExpanderException exc = (ExpanderException) error;
-        		// TODO line mapping is incorrect
-        		markers.add(new DroolsBuildMarker(exc.getMessage(), -1));
-        	} else {
-        		markers.add(new DroolsBuildMarker(error.toString()));
-        	}
-        }
-    }
-
-    /**
-     * This will create markers for build errors that happen AFTER parsing.
-     */
-    private void markOtherErrors(List markers,
-                                        DroolsError[] buildErrors) {
-        // TODO are there warnings too?
-        for (int i = 0; i < buildErrors.length; i++ ) {
-        	DroolsError error = buildErrors[i];
-        	if (error instanceof GlobalError) {
-        		GlobalError globalError = (GlobalError) error;
-        		markers.add(new DroolsBuildMarker(globalError.getGlobal(), -1));
-        	} else if (error instanceof RuleError) {
-        		RuleError ruleError = (RuleError) error;
-        		// TODO try to retrieve line number (or even character start-end)
-        		// disabled for now because line number are those of the rule class,
-        		// not the rule file itself
-        		if (ruleError.getObject() instanceof CompilationProblem[]) {
-        			CompilationProblem[] problems = (CompilationProblem[]) ruleError.getObject();
-        			for (int j = 0; j < problems.length; j++) {
-        				markers.add(new DroolsBuildMarker(problems[j].getMessage(), ruleError.getLine()));
-        			}
-        		} else {
-        			markers.add(new DroolsBuildMarker(ruleError.getRule().getName() + ":" + ruleError.getMessage(), ruleError.getLine()));
-        		}
-        	} else if (error instanceof ParserError) {
-        		ParserError parserError = (ParserError) error;
-        		// TODO try to retrieve character start-end
-        		markers.add(new DroolsBuildMarker(parserError.getMessage(), parserError.getRow()));
-        	} else if (error instanceof FunctionError) {
-        		FunctionError functionError = (FunctionError) error;
-        		// TODO add line to function error
-        		// TODO try to retrieve character start-end
-        		if (functionError.getObject() instanceof CompilationProblem[]) {
-        			CompilationProblem[] problems = (CompilationProblem[]) functionError.getObject();
-        			for (int j = 0; j < problems.length; j++) {
-        				markers.add(new DroolsBuildMarker(problems[j].getMessage(), functionError.getErrorLines()[j]));
-        			}
-        		} else {
-        			markers.add(new DroolsBuildMarker(functionError.getFunctionDescr().getName() + ":" + functionError.getMessage(), -1));
-        		}
-        	} else if (error instanceof FieldTemplateError) {
-        		markers.add(new DroolsBuildMarker(error.getMessage(), ((FieldTemplateError) error).getLine()));
-        	} else if (error instanceof FactTemplateError) {
-        		markers.add(new DroolsBuildMarker(error.getMessage(), ((FactTemplateError) error).getLine()));
-        	} else if (error instanceof ImportError) {
-        		markers.add(new DroolsBuildMarker("ImportError: " + error.getMessage()));
-        	} else {
-        		markers.add(new DroolsBuildMarker("Unknown DroolsError " + error.getClass() + ": " + error));
-        	}
-        }
-    }
-
-    private void createMarker(final IResource res, final String message, final int lineNumber) {
-        try {
-        	IWorkspaceRunnable r= new IWorkspaceRunnable() {
-        		public void run(IProgressMonitor monitor) throws CoreException {
-            		IMarker marker = res
-                    	.createMarker(IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER);
-		            marker.setAttribute(IMarker.MESSAGE, message);
-		            marker.setAttribute(IMarker.SEVERITY,
-		                    IMarker.SEVERITY_ERROR);
-		            marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
-	    		}
-			};
-			res.getWorkspace().run(r, null, IWorkspace.AVOID_UPDATE, null);
-        } catch (CoreException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-    }
-    
-    private void removeProblemsFor(IResource resource) {
-        try {
-            if (resource != null && resource.exists()) {
-                resource.deleteMarkers(
-                        IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER, false,
-                        IResource.DEPTH_INFINITE);
-            }
-        } catch (CoreException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-    }
-    
-    private IProject[] getRequiredProjects(IProject project) {
-    	IJavaProject javaProject = JavaCore.create(project);
-    	List projects = new ArrayList();
-    	try {
-    		IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
-    		for (int i = 0, l = entries.length; i < l; i++) {
-    			IClasspathEntry entry = entries[i];
-    			if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
-					IProject p = project.getWorkspace().getRoot().getProject(entry.getPath().lastSegment()); // missing projects are considered too
-	    			if (p != null && !projects.contains(p)) {
-	    				projects.add(p);
-	    			}
-    			}
-    		}
-    	} catch(JavaModelException e) {
-    		return new IProject[0];
-    	}
-    	return (IProject[]) projects.toArray(new IProject[projects.size()]);
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,444 @@
+package org.drools.eclipse.builder;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.antlr.runtime.RecognitionException;
+import org.drools.brms.client.modeldriven.brl.RuleModel;
+import org.drools.brms.server.util.BRDRLPersistence;
+import org.drools.brms.server.util.BRXMLPersistence;
+import org.drools.commons.jci.problems.CompilationProblem;
+import org.drools.compiler.DroolsError;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.FactTemplateError;
+import org.drools.compiler.FieldTemplateError;
+import org.drools.compiler.FunctionError;
+import org.drools.compiler.GlobalError;
+import org.drools.compiler.ImportError;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.ParserError;
+import org.drools.compiler.ProcessBuilder;
+import org.drools.compiler.RuleError;
+import org.drools.decisiontable.InputType;
+import org.drools.decisiontable.SpreadsheetCompiler;
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
+import org.drools.eclipse.preferences.IDroolsConstants;
+import org.drools.lang.ExpanderException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ * Automatically syntax checks .drl files and adds possible
+ * errors or warnings to the problem list. Nominally is triggerd on save.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DroolsBuilder extends IncrementalProjectBuilder {
+
+    public static final String BUILDER_ID = "org.drools.eclipse.droolsbuilder";
+
+    protected IProject[] build(int kind, Map args, IProgressMonitor monitor)
+            throws CoreException {
+        IProject currentProject = getProject();
+        if (currentProject == null || !currentProject.isAccessible()) {
+            return new IProject[0];
+        }
+        try {
+            if (monitor != null && monitor.isCanceled())
+                throw new OperationCanceledException();
+
+            if (kind == IncrementalProjectBuilder.FULL_BUILD) {
+                fullBuild(monitor);
+            } else {
+                IResourceDelta delta = getDelta(getProject());
+                if (delta == null) {
+                    fullBuild(monitor);
+                } else {
+                    incrementalBuild(delta, monitor);
+                }
+            }
+        } catch (CoreException e) {
+            IMarker marker = currentProject.createMarker(IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER);
+            marker.setAttribute(IMarker.MESSAGE, "Error when trying to build Drools project: " + e.getLocalizedMessage());
+            marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
+        }
+        return getRequiredProjects(currentProject);
+    }
+    
+    protected void fullBuild(IProgressMonitor monitor)
+            throws CoreException {
+        getProject().accept(new DroolsBuildVisitor());
+    }
+    
+    protected void incrementalBuild(IResourceDelta delta,
+            IProgressMonitor monitor) throws CoreException {
+    	boolean buildAll = DroolsEclipsePlugin.getDefault().getPreferenceStore().getBoolean(IDroolsConstants.BUILD_ALL);
+        if (buildAll) {
+        	// to make sure that all rules are checked when a java file is changed 
+        	fullBuild(monitor);
+        } else {
+        	delta.accept(new DroolsBuildDeltaVisitor());
+        }
+    }
+
+    private class DroolsBuildVisitor implements IResourceVisitor {
+        public boolean visit(IResource res) {
+            return parseResource(res, true);
+        }
+    }
+
+    private class DroolsBuildDeltaVisitor implements IResourceDeltaVisitor {
+        public boolean visit(IResourceDelta delta) throws CoreException {
+            return parseResource(delta.getResource(), false);
+        }
+    }
+    
+    private boolean parseResource(IResource res, boolean clean) {
+        try {
+            IJavaProject project = JavaCore.create(res.getProject());
+            // exclude files that are located in the output directory,
+            // unless the ouput directory is the same as the project location
+            if (!project.getOutputLocation().equals(project.getPath())
+                    && project.getOutputLocation().isPrefixOf(res.getFullPath())) {
+                return false;
+            }
+        } catch (JavaModelException e) {
+            // do nothing
+        }
+
+        if (res instanceof IFile
+        		&& ("drl".equals(res.getFileExtension())
+    				|| "dslr".equals(res.getFileExtension())
+    				|| ".package".equals(res.getName()))) {
+            removeProblemsFor(res);
+            try {
+            	if (clean) {
+            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
+            	}
+            	DroolsBuildMarker[] markers = parseDRLFile((IFile) res, new String(Util.getResourceContentsAsCharArray((IFile) res)));
+		        for (int i = 0; i < markers.length; i++) {
+		        	createMarker(res, markers[i].getText(), markers[i].getLine());
+		        }
+            } catch (Throwable t) {
+            	createMarker(res, t.getMessage(), -1);
+            }
+            return false;
+        } else if (res instanceof IFile && "xls".equals(res.getFileExtension())) {
+            removeProblemsFor(res);
+            try {
+            	if (clean) {
+            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
+            	}
+            	DroolsBuildMarker[] markers = parseXLSFile((IFile) res);
+		        for (int i = 0; i < markers.length; i++) {
+		        	createMarker(res, markers[i].getText(), markers[i].getLine());
+		        }
+            } catch (Throwable t) {
+            	createMarker(res, t.getMessage(), -1);
+            }
+            return false;
+        } else if (res instanceof IFile && "brl".equals(res.getFileExtension())) {
+            removeProblemsFor(res);
+            try {
+            	if (clean) {
+            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
+            	}
+            	DroolsBuildMarker[] markers = parseBRLFile((IFile) res);
+		        for (int i = 0; i < markers.length; i++) {
+		        	createMarker(res, markers[i].getText(), markers[i].getLine());
+		        }
+            } catch (Throwable t) {
+            	createMarker(res, t.getMessage(), -1);
+            }
+            return false;
+        } else if (res instanceof IFile && "rf".equals(res.getFileExtension())) {
+            removeProblemsFor(res);
+            try {
+            	if (clean) {
+            		DroolsEclipsePlugin.getDefault().invalidateResource(res);
+            	}
+            	DroolsBuildMarker[] markers = parseRuleFlowFile((IFile) res);
+		        for (int i = 0; i < markers.length; i++) {
+		        	createMarker(res, markers[i].getText(), markers[i].getLine());
+		        }
+            } catch (Throwable t) {
+            	createMarker(res, t.getMessage(), -1);
+            }
+            return false;
+        }
+
+        return true;
+    }
+    
+    private DroolsBuildMarker[] parseDRLFile(IFile file, String content) {
+    	List markers = new ArrayList();
+		try {
+            DRLInfo drlInfo =
+            	DroolsEclipsePlugin.getDefault().parseResource(file, true);
+            //parser errors
+            markParseErrors(markers, drlInfo.getParserErrors());  
+            markOtherErrors(markers, drlInfo.getBuilderErrors());
+        } catch (DroolsParserException e) {
+            // we have an error thrown from DrlParser
+            Throwable cause = e.getCause();
+            if (cause instanceof RecognitionException ) {
+                RecognitionException recogErr = (RecognitionException) cause;
+                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
+            }
+        } catch (Exception t) {
+        	String message = t.getMessage();
+            if (message == null || message.trim().equals("")) {
+                message = "Error: " + t.getClass().getName();
+            }
+            markers.add(new DroolsBuildMarker(message));
+        }
+        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
+    }
+
+    private DroolsBuildMarker[] parseXLSFile(IFile file) {
+    	List markers = new ArrayList();
+		try {
+			SpreadsheetCompiler converter = new SpreadsheetCompiler();
+	        String drl = converter.compile(file.getContents(), InputType.XLS);
+	        DRLInfo drlInfo =
+            	DroolsEclipsePlugin.getDefault().parseXLSResource(drl, file);
+            // parser errors
+            markParseErrors(markers, drlInfo.getParserErrors());  
+            markOtherErrors(markers, drlInfo.getBuilderErrors());
+        } catch (DroolsParserException e) {
+            // we have an error thrown from DrlParser
+            Throwable cause = e.getCause();
+            if (cause instanceof RecognitionException ) {
+                RecognitionException recogErr = (RecognitionException) cause;
+                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
+            }
+        } catch (Exception t) {
+        	String message = t.getMessage();
+            if (message == null || message.trim().equals( "" )) {
+                message = "Error: " + t.getClass().getName();
+            }
+            markers.add(new DroolsBuildMarker(message));
+        }
+        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
+    }
+
+    private DroolsBuildMarker[] parseBRLFile(IFile file) {
+    	List markers = new ArrayList();
+		try {
+			String brl = convertToString(file.getContents());
+			RuleModel model = BRXMLPersistence.getInstance().unmarshal(brl);
+			String drl = BRDRLPersistence.getInstance().marshal(model);
+			
+			// TODO pass this through DSL converter in case brl is based on dsl
+			
+	        DRLInfo drlInfo =
+            	DroolsEclipsePlugin.getDefault().parseBRLResource(drl, file);
+            // parser errors
+            markParseErrors(markers, drlInfo.getParserErrors());  
+            markOtherErrors(markers, drlInfo.getBuilderErrors());
+        } catch (DroolsParserException e) {
+            // we have an error thrown from DrlParser
+            Throwable cause = e.getCause();
+            if (cause instanceof RecognitionException ) {
+                RecognitionException recogErr = (RecognitionException) cause;
+                markers.add(new DroolsBuildMarker(recogErr.getMessage(), recogErr.line)); //flick back the line number
+            }
+        } catch (Exception t) {
+        	String message = t.getMessage();
+            if (message == null || message.trim().equals( "" )) {
+                message = "Error: " + t.getClass().getName();
+            }
+            markers.add(new DroolsBuildMarker(message));
+        }
+        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
+    }
+    
+    private DroolsBuildMarker[] parseRuleFlowFile(IFile file) {
+    	List markers = new ArrayList();
+		try {
+			String ruleflow = convertToString(file.getContents());
+			XStream stream = new XStream();
+	        stream.setMode(XStream.ID_REFERENCES);
+	        
+	        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+	        ClassLoader newLoader = this.getClass().getClassLoader();
+	        try {
+	            Thread.currentThread().setContextClassLoader(newLoader);
+	            Object o = stream.fromXML(ruleflow);
+	            if (o instanceof RuleFlowProcessWrapper) {
+	            	ProcessBuilder processBuilder = new ProcessBuilder(new PackageBuilder());
+	            	processBuilder.addProcess(((RuleFlowProcessWrapper) o).getRuleFlowProcess());
+	            	markParseErrors(markers, processBuilder.getErrors());
+	            }
+	        } finally {
+	            Thread.currentThread().setContextClassLoader(oldLoader);
+	        }			
+        } catch (Exception t) {
+        	String message = t.getMessage();
+            if (message == null || message.trim().equals( "" )) {
+                message = "Error: " + t.getClass().getName();
+            }
+            markers.add(new DroolsBuildMarker(message));
+        }
+        return (DroolsBuildMarker[]) markers.toArray(new DroolsBuildMarker[markers.size()]);
+    }
+    
+    private static String convertToString(final InputStream inputStream) throws IOException {
+    	Reader reader = new InputStreamReader(inputStream);
+    	final StringBuffer text = new StringBuffer();
+        final char[] buf = new char[1024];
+        int len = 0;
+        while ((len = reader.read(buf)) >= 0) {
+            text.append(buf, 0, len);
+        }
+        return text.toString();
+    }
+
+    /**
+     * This will create markers for parse errors.
+     * Parse errors mean that antlr has picked up some major typos in the input source.
+     */
+    private void markParseErrors(List markers, List parserErrors) {
+        for ( Iterator iter = parserErrors.iterator(); iter.hasNext(); ) {
+        	Object error = iter.next();
+        	if (error instanceof ParserError) {
+        		ParserError err = (ParserError) error;
+        		markers.add(new DroolsBuildMarker(err.getMessage(), err.getRow()));
+        	} else if (error instanceof ExpanderException) {
+        		ExpanderException exc = (ExpanderException) error;
+        		// TODO line mapping is incorrect
+        		markers.add(new DroolsBuildMarker(exc.getMessage(), -1));
+        	} else {
+        		markers.add(new DroolsBuildMarker(error.toString()));
+        	}
+        }
+    }
+
+    /**
+     * This will create markers for build errors that happen AFTER parsing.
+     */
+    private void markOtherErrors(List markers,
+                                        DroolsError[] buildErrors) {
+        // TODO are there warnings too?
+        for (int i = 0; i < buildErrors.length; i++ ) {
+        	DroolsError error = buildErrors[i];
+        	if (error instanceof GlobalError) {
+        		GlobalError globalError = (GlobalError) error;
+        		markers.add(new DroolsBuildMarker(globalError.getGlobal(), -1));
+        	} else if (error instanceof RuleError) {
+        		RuleError ruleError = (RuleError) error;
+        		// TODO try to retrieve line number (or even character start-end)
+        		// disabled for now because line number are those of the rule class,
+        		// not the rule file itself
+        		if (ruleError.getObject() instanceof CompilationProblem[]) {
+        			CompilationProblem[] problems = (CompilationProblem[]) ruleError.getObject();
+        			for (int j = 0; j < problems.length; j++) {
+        				markers.add(new DroolsBuildMarker(problems[j].getMessage(), ruleError.getLine()));
+        			}
+        		} else {
+        			markers.add(new DroolsBuildMarker(ruleError.getRule().getName() + ":" + ruleError.getMessage(), ruleError.getLine()));
+        		}
+        	} else if (error instanceof ParserError) {
+        		ParserError parserError = (ParserError) error;
+        		// TODO try to retrieve character start-end
+        		markers.add(new DroolsBuildMarker(parserError.getMessage(), parserError.getRow()));
+        	} else if (error instanceof FunctionError) {
+        		FunctionError functionError = (FunctionError) error;
+        		// TODO add line to function error
+        		// TODO try to retrieve character start-end
+        		if (functionError.getObject() instanceof CompilationProblem[]) {
+        			CompilationProblem[] problems = (CompilationProblem[]) functionError.getObject();
+        			for (int j = 0; j < problems.length; j++) {
+        				markers.add(new DroolsBuildMarker(problems[j].getMessage(), functionError.getErrorLines()[j]));
+        			}
+        		} else {
+        			markers.add(new DroolsBuildMarker(functionError.getFunctionDescr().getName() + ":" + functionError.getMessage(), -1));
+        		}
+        	} else if (error instanceof FieldTemplateError) {
+        		markers.add(new DroolsBuildMarker(error.getMessage(), ((FieldTemplateError) error).getLine()));
+        	} else if (error instanceof FactTemplateError) {
+        		markers.add(new DroolsBuildMarker(error.getMessage(), ((FactTemplateError) error).getLine()));
+        	} else if (error instanceof ImportError) {
+        		markers.add(new DroolsBuildMarker("ImportError: " + error.getMessage()));
+        	} else {
+        		markers.add(new DroolsBuildMarker("Unknown DroolsError " + error.getClass() + ": " + error));
+        	}
+        }
+    }
+
+    private void createMarker(final IResource res, final String message, final int lineNumber) {
+        try {
+        	IWorkspaceRunnable r= new IWorkspaceRunnable() {
+        		public void run(IProgressMonitor monitor) throws CoreException {
+            		IMarker marker = res
+                    	.createMarker(IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER);
+		            marker.setAttribute(IMarker.MESSAGE, message);
+		            marker.setAttribute(IMarker.SEVERITY,
+		                    IMarker.SEVERITY_ERROR);
+		            marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
+	    		}
+			};
+			res.getWorkspace().run(r, null, IWorkspace.AVOID_UPDATE, null);
+        } catch (CoreException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+    }
+    
+    private void removeProblemsFor(IResource resource) {
+        try {
+            if (resource != null && resource.exists()) {
+                resource.deleteMarkers(
+                        IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER, false,
+                        IResource.DEPTH_INFINITE);
+            }
+        } catch (CoreException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+    }
+    
+    private IProject[] getRequiredProjects(IProject project) {
+    	IJavaProject javaProject = JavaCore.create(project);
+    	List projects = new ArrayList();
+    	try {
+    		IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
+    		for (int i = 0, l = entries.length; i < l; i++) {
+    			IClasspathEntry entry = entries[i];
+    			if (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
+					IProject p = project.getWorkspace().getRoot().getProject(entry.getPath().lastSegment()); // missing projects are considered too
+	    			if (p != null && !projects.contains(p)) {
+	    				projects.add(p);
+	    			}
+    			}
+    		}
+    	} catch(JavaModelException e) {
+    		return new IProject[0];
+    	}
+    	return (IProject[]) projects.toArray(new IProject[projects.size()]);
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,15 +0,0 @@
-package org.drools.eclipse.builder;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-
-/**
- * The drools problem marker id.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public interface IDroolsModelMarker {
-
-    public static final String DROOLS_MODEL_PROBLEM_MARKER = DroolsEclipsePlugin.PLUGIN_ID
-            + ".problem";
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/IDroolsModelMarker.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,15 @@
+package org.drools.eclipse.builder;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+
+/**
+ * The drools problem marker id.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public interface IDroolsModelMarker {
+
+    public static final String DROOLS_MODEL_PROBLEM_MARKER = DroolsEclipsePlugin.PLUGIN_ID
+            + ".problem";
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,108 +0,0 @@
-package org.drools.eclipse.builder;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * Utility class.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Util {
-
-    public static final char[] NO_CHAR = new char[0];
-    private static final int DEFAULT_READING_SIZE = 8192;
-    
-    public static char[] getResourceContentsAsCharArray(IFile file) throws CoreException {
-        String encoding = null;
-        try {
-            encoding = file.getCharset();
-        }
-        catch(CoreException ce) {
-            // do not use any encoding
-        }
-        
-        InputStream stream= null;
-        stream = new BufferedInputStream(file.getContents(true));
-        try {
-            return getInputStreamAsCharArray(stream, -1, encoding);
-        } catch (IOException e) {
-            throw new CoreException(new Status(IStatus.ERROR, DroolsEclipsePlugin.PLUGIN_ID, IStatus.ERROR, "IOException", e));
-        } finally {
-            try {
-                stream.close();
-            } catch (IOException e) {
-                // ignore
-            }
-        }
-    }
-
-    private static char[] getInputStreamAsCharArray(InputStream stream,
-            int length, String encoding) throws IOException {
-        InputStreamReader reader = null;
-        reader = encoding == null ? new InputStreamReader(stream)
-                : new InputStreamReader(stream, encoding);
-        char[] contents;
-        if (length == -1) {
-            contents = NO_CHAR;
-            int contentsLength = 0;
-            int amountRead = -1;
-            do {
-                int amountRequested = Math.max(stream.available(),
-                        DEFAULT_READING_SIZE);
-                if (contentsLength + amountRequested > contents.length) {
-                    System.arraycopy(contents, 0,
-                            contents = new char[contentsLength
-                                    + amountRequested], 0, contentsLength);
-                }
-                amountRead = reader.read(contents, contentsLength,
-                        amountRequested);
-
-                if (amountRead > 0) {
-                    contentsLength += amountRead;
-                }
-            } while (amountRead != -1);
-
-            int start = 0;
-            if (contentsLength > 0 && "UTF-8".equals(encoding)) {
-                if (contents[0] == 0xFEFF) {
-                    contentsLength--;
-                    start = 1;
-                }
-            }
-            if (contentsLength < contents.length) {
-                System.arraycopy(contents, start,
-                        contents = new char[contentsLength], 0, contentsLength);
-            }
-        } else {
-            contents = new char[length];
-            int len = 0;
-            int readSize = 0;
-            while ((readSize != -1) && (len != length)) {
-                len += readSize;
-                readSize = reader.read(contents, len, length - len);
-            }
-            int start = 0;
-            if (length > 0 && "UTF-8".equals(encoding)) {
-                if (contents[0] == 0xFEFF) {
-                    len--;
-                    start = 1;
-                }
-            }
-            if (len != length)
-                System.arraycopy(contents, start, (contents = new char[len]),
-                        0, len);
-        }
-
-        return contents;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/Util.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,108 @@
+package org.drools.eclipse.builder;
+
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+
+/**
+ * Utility class.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Util {
+
+    public static final char[] NO_CHAR = new char[0];
+    private static final int DEFAULT_READING_SIZE = 8192;
+    
+    public static char[] getResourceContentsAsCharArray(IFile file) throws CoreException {
+        String encoding = null;
+        try {
+            encoding = file.getCharset();
+        }
+        catch(CoreException ce) {
+            // do not use any encoding
+        }
+        
+        InputStream stream= null;
+        stream = new BufferedInputStream(file.getContents(true));
+        try {
+            return getInputStreamAsCharArray(stream, -1, encoding);
+        } catch (IOException e) {
+            throw new CoreException(new Status(IStatus.ERROR, DroolsEclipsePlugin.PLUGIN_ID, IStatus.ERROR, "IOException", e));
+        } finally {
+            try {
+                stream.close();
+            } catch (IOException e) {
+                // ignore
+            }
+        }
+    }
+
+    private static char[] getInputStreamAsCharArray(InputStream stream,
+            int length, String encoding) throws IOException {
+        InputStreamReader reader = null;
+        reader = encoding == null ? new InputStreamReader(stream)
+                : new InputStreamReader(stream, encoding);
+        char[] contents;
+        if (length == -1) {
+            contents = NO_CHAR;
+            int contentsLength = 0;
+            int amountRead = -1;
+            do {
+                int amountRequested = Math.max(stream.available(),
+                        DEFAULT_READING_SIZE);
+                if (contentsLength + amountRequested > contents.length) {
+                    System.arraycopy(contents, 0,
+                            contents = new char[contentsLength
+                                    + amountRequested], 0, contentsLength);
+                }
+                amountRead = reader.read(contents, contentsLength,
+                        amountRequested);
+
+                if (amountRead > 0) {
+                    contentsLength += amountRead;
+                }
+            } while (amountRead != -1);
+
+            int start = 0;
+            if (contentsLength > 0 && "UTF-8".equals(encoding)) {
+                if (contents[0] == 0xFEFF) {
+                    contentsLength--;
+                    start = 1;
+                }
+            }
+            if (contentsLength < contents.length) {
+                System.arraycopy(contents, start,
+                        contents = new char[contentsLength], 0, contentsLength);
+            }
+        } else {
+            contents = new char[length];
+            int len = 0;
+            int readSize = 0;
+            while ((readSize != -1) && (len != length)) {
+                len += readSize;
+                readSize = reader.read(contents, len, length - len);
+            }
+            int start = 0;
+            if (length > 0 && "UTF-8".equals(encoding)) {
+                if (contents[0] == 0xFEFF) {
+                    len--;
+                    start = 1;
+                }
+            }
+            if (len != length)
+                System.arraycopy(contents, start, (contents = new char[len]),
+                        0, len);
+        }
+
+        return contents;
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,66 +0,0 @@
-package org.drools.eclipse.core;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * This represents a drools model element.  It is linked to its direct
- * parents and its children. If relevant, Drools model elements refer
- * to the file they are defined in and the offset and length of that
- * element in the file. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public abstract class DroolsElement {
-
-	public static final int RULESET = 0;
-	public static final int PACKAGE = 1;
-	public static final int RULE = 2;
-	public static final int QUERY = 3;
-	public static final int FUNCTION = 4;
-	public static final int TEMPLATE = 5;
-	public static final int EXPANDER = 6;
-	public static final int GLOBAL = 7;
-	public static final int IMPORT = 8;
-	public static final int RULE_ATTRIBUTE = 9;
-	
-	protected static final DroolsElement[] NO_ELEMENTS = new DroolsElement[0];
-	
-	private DroolsElement parent;
-	private IFile file;
-	private int offset;
-	private int length;
-	
-	protected DroolsElement(DroolsElement parent) {
-		this.parent = parent;
-	}
-	
-	public abstract int getType();
-	
-	public DroolsElement getParent() {
-		return parent;
-	}
-	
-	public abstract DroolsElement[] getChildren();
-
-	public IFile getFile() {
-		return file;
-	}
-	
-	public int getOffset() {
-		return offset;
-	}
-
-	public int getLength() {
-		return length;
-	}
-
-	// These are helper methods for creating the model and should not
-	// be used directly.  Use DroolsModelBuilder instead.
-
-	void setFile(IFile file, int offset, int length) {
-		this.file = file;
-		this.offset = offset;
-		this.length = length;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsElement.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,66 @@
+package org.drools.eclipse.core;
+
+import org.eclipse.core.resources.IFile;
+
+/**
+ * This represents a drools model element.  It is linked to its direct
+ * parents and its children. If relevant, Drools model elements refer
+ * to the file they are defined in and the offset and length of that
+ * element in the file. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public abstract class DroolsElement {
+
+	public static final int RULESET = 0;
+	public static final int PACKAGE = 1;
+	public static final int RULE = 2;
+	public static final int QUERY = 3;
+	public static final int FUNCTION = 4;
+	public static final int TEMPLATE = 5;
+	public static final int EXPANDER = 6;
+	public static final int GLOBAL = 7;
+	public static final int IMPORT = 8;
+	public static final int RULE_ATTRIBUTE = 9;
+	
+	protected static final DroolsElement[] NO_ELEMENTS = new DroolsElement[0];
+	
+	private DroolsElement parent;
+	private IFile file;
+	private int offset;
+	private int length;
+	
+	protected DroolsElement(DroolsElement parent) {
+		this.parent = parent;
+	}
+	
+	public abstract int getType();
+	
+	public DroolsElement getParent() {
+		return parent;
+	}
+	
+	public abstract DroolsElement[] getChildren();
+
+	public IFile getFile() {
+		return file;
+	}
+	
+	public int getOffset() {
+		return offset;
+	}
+
+	public int getLength() {
+		return length;
+	}
+
+	// These are helper methods for creating the model and should not
+	// be used directly.  Use DroolsModelBuilder instead.
+
+	void setFile(IFile file, int offset, int length) {
+		this.file = file;
+		this.offset = offset;
+		this.length = length;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,174 +0,0 @@
-package org.drools.eclipse.core;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-
-public class DroolsModelBuilder {
-	
-	public static RuleSet createRuleSet() {
-		return new RuleSet();
-	}
-
-	public static Package createPackage(String packageName, int offset, int length) {
-		Package pkg = new Package(null, packageName);
-		pkg.setFile(null, offset, length);
-		return pkg;
-	}
-	
-	public static Package addPackage(RuleSet ruleSet, String packageName, int offset, int length) {
-		Package pkg = new Package(ruleSet, packageName);
-		pkg.setFile(null, offset, length);
-		ruleSet.addPackage(pkg);
-		return pkg;
-	}
-	
-	public static void removePackage(Package pkg) {
-		RuleSet ruleSet = pkg.getParentRuleSet();
-		if (ruleSet != null) {
-			ruleSet.removePackage(pkg.getPackageName());
-		}
-	}
-	
-	public static void clearRuleSet(RuleSet ruleSet) {
-		ruleSet.clear();
-	}
-	
-	public static Rule addRule(Package pkg, String ruleName, IFile file, int offset, int length, Map attributes) {
-		Rule rule = new Rule(pkg, ruleName);
-		rule.setFile(file, offset, length);
-		if (attributes != null) {
-			for (Iterator iterator = attributes.entrySet().iterator(); iterator.hasNext();) {
-				Map.Entry entry = (Map.Entry) iterator.next();
-				RuleAttribute attribute = new RuleAttribute(rule, (String) entry.getKey(), entry.getValue());
-				attribute.setFile(file, offset, length);
-				rule.addAttribute(attribute);
-			}
-		}
-		pkg.addRule(rule);
-		return rule;
-	}
-	
-	public static void removeRule(Rule rule) {
-		Package pkg = rule.getParentPackage();
-		if (pkg != null) {
-			pkg.removeRule(rule);
-			if (pkg.getChildren().length == 0) {
-				removePackage(pkg);
-			}
-		}
-	}
-
-	public static Function addFunction(Package pkg, String functionName, IFile file, int offset, int length) {
-		Function function = new Function(pkg, functionName);
-		function.setFile(file, offset, length);
-		pkg.addFunction(function);
-		return function;
-	}
-
-	public static void removeFunction(Function function) {
-		Package pkg = function.getParentPackage();
-		if (pkg != null) {
-			pkg.removeFunction(function);
-		}
-	}
-
-	public static void addExpander(Package pkg, String expanderName, IFile file, int offset, int length) {
-		Expander expander = new Expander(pkg, expanderName);
-		expander.setFile(file, offset, length);
-		pkg.addExpander(expander);
-	}
-
-	public static void removeExpander(Expander expander) {
-		Package pkg = expander.getParentPackage();
-		if (pkg != null) {
-			pkg.removeExpander(expander);
-		}
-	}
-
-	public static void addImport(Package pkg, String importClass, IFile file, int offset, int length) {
-		Import imp = new Import(pkg, importClass);
-		imp.setFile(file, offset, length);
-		pkg.addImport(imp);
-	}
-
-	public static void removeImport(Import imp) {
-		Package pkg = imp.getParentPackage();
-		if (pkg != null) {
-			pkg.removeImport(imp);
-		}
-	}
-
-	public static Global addGlobal(Package pkg, String globalName, IFile file, int offset, int length) {
-		Global global = new Global(pkg, globalName);
-		global.setFile(file, offset, length);
-		pkg.addGlobal(global);
-		return global;
-	}
-
-	public static void removeGlobal(Global global) {
-		Package pkg = global.getParentPackage();
-		if (pkg != null) {
-			pkg.removeGlobal(global);
-		}
-	}
-
-	public static Query addQuery(Package pkg, String queryName, IFile file, int offset, int length) {
-		Query query = new Query(pkg, queryName);
-		query.setFile(file, offset, length);
-		pkg.addQuery(query);
-		return query;
-	}
-
-	public static void removeQuery(Query query) {
-		Package pkg = query.getParentPackage();
-		if (pkg != null) {
-			pkg.removeQuery(query);
-		}
-	}
-
-	public static Template addTemplate(Package pkg, String templateName, IFile file, int offset, int length) {
-		Template template = new Template(pkg, templateName);
-		template.setFile(file, offset, length);
-		pkg.addTemplate(template);
-		return template;
-	}
-
-	public static void removeTemplate(Template template) {
-		Package pkg = template.getParentPackage();
-		if (pkg != null) {
-			pkg.removeTemplate(template);
-		}
-	}
-	
-	public static void removeElement(DroolsElement element) {
-		switch (element.getType()) {
-			case DroolsElement.RULESET:
-				clearRuleSet((RuleSet) element);
-				break;
-			case DroolsElement.PACKAGE:
-				removePackage((Package) element);
-				break;
-			case DroolsElement.RULE:
-				removeRule((Rule) element);
-				break;
-			case DroolsElement.QUERY:
-				removeQuery((Query) element);
-				break;
-			case DroolsElement.FUNCTION:
-				removeFunction((Function) element);
-				break;
-			case DroolsElement.TEMPLATE:
-				removeTemplate((Template) element);
-				break;
-			case DroolsElement.EXPANDER:
-				removeExpander((Expander) element);
-				break;
-			case DroolsElement.GLOBAL:
-				removeGlobal((Global) element);
-				break;
-		}
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/DroolsModelBuilder.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,174 @@
+package org.drools.eclipse.core;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+
+public class DroolsModelBuilder {
+	
+	public static RuleSet createRuleSet() {
+		return new RuleSet();
+	}
+
+	public static Package createPackage(String packageName, int offset, int length) {
+		Package pkg = new Package(null, packageName);
+		pkg.setFile(null, offset, length);
+		return pkg;
+	}
+	
+	public static Package addPackage(RuleSet ruleSet, String packageName, int offset, int length) {
+		Package pkg = new Package(ruleSet, packageName);
+		pkg.setFile(null, offset, length);
+		ruleSet.addPackage(pkg);
+		return pkg;
+	}
+	
+	public static void removePackage(Package pkg) {
+		RuleSet ruleSet = pkg.getParentRuleSet();
+		if (ruleSet != null) {
+			ruleSet.removePackage(pkg.getPackageName());
+		}
+	}
+	
+	public static void clearRuleSet(RuleSet ruleSet) {
+		ruleSet.clear();
+	}
+	
+	public static Rule addRule(Package pkg, String ruleName, IFile file, int offset, int length, Map attributes) {
+		Rule rule = new Rule(pkg, ruleName);
+		rule.setFile(file, offset, length);
+		if (attributes != null) {
+			for (Iterator iterator = attributes.entrySet().iterator(); iterator.hasNext();) {
+				Map.Entry entry = (Map.Entry) iterator.next();
+				RuleAttribute attribute = new RuleAttribute(rule, (String) entry.getKey(), entry.getValue());
+				attribute.setFile(file, offset, length);
+				rule.addAttribute(attribute);
+			}
+		}
+		pkg.addRule(rule);
+		return rule;
+	}
+	
+	public static void removeRule(Rule rule) {
+		Package pkg = rule.getParentPackage();
+		if (pkg != null) {
+			pkg.removeRule(rule);
+			if (pkg.getChildren().length == 0) {
+				removePackage(pkg);
+			}
+		}
+	}
+
+	public static Function addFunction(Package pkg, String functionName, IFile file, int offset, int length) {
+		Function function = new Function(pkg, functionName);
+		function.setFile(file, offset, length);
+		pkg.addFunction(function);
+		return function;
+	}
+
+	public static void removeFunction(Function function) {
+		Package pkg = function.getParentPackage();
+		if (pkg != null) {
+			pkg.removeFunction(function);
+		}
+	}
+
+	public static void addExpander(Package pkg, String expanderName, IFile file, int offset, int length) {
+		Expander expander = new Expander(pkg, expanderName);
+		expander.setFile(file, offset, length);
+		pkg.addExpander(expander);
+	}
+
+	public static void removeExpander(Expander expander) {
+		Package pkg = expander.getParentPackage();
+		if (pkg != null) {
+			pkg.removeExpander(expander);
+		}
+	}
+
+	public static void addImport(Package pkg, String importClass, IFile file, int offset, int length) {
+		Import imp = new Import(pkg, importClass);
+		imp.setFile(file, offset, length);
+		pkg.addImport(imp);
+	}
+
+	public static void removeImport(Import imp) {
+		Package pkg = imp.getParentPackage();
+		if (pkg != null) {
+			pkg.removeImport(imp);
+		}
+	}
+
+	public static Global addGlobal(Package pkg, String globalName, IFile file, int offset, int length) {
+		Global global = new Global(pkg, globalName);
+		global.setFile(file, offset, length);
+		pkg.addGlobal(global);
+		return global;
+	}
+
+	public static void removeGlobal(Global global) {
+		Package pkg = global.getParentPackage();
+		if (pkg != null) {
+			pkg.removeGlobal(global);
+		}
+	}
+
+	public static Query addQuery(Package pkg, String queryName, IFile file, int offset, int length) {
+		Query query = new Query(pkg, queryName);
+		query.setFile(file, offset, length);
+		pkg.addQuery(query);
+		return query;
+	}
+
+	public static void removeQuery(Query query) {
+		Package pkg = query.getParentPackage();
+		if (pkg != null) {
+			pkg.removeQuery(query);
+		}
+	}
+
+	public static Template addTemplate(Package pkg, String templateName, IFile file, int offset, int length) {
+		Template template = new Template(pkg, templateName);
+		template.setFile(file, offset, length);
+		pkg.addTemplate(template);
+		return template;
+	}
+
+	public static void removeTemplate(Template template) {
+		Package pkg = template.getParentPackage();
+		if (pkg != null) {
+			pkg.removeTemplate(template);
+		}
+	}
+	
+	public static void removeElement(DroolsElement element) {
+		switch (element.getType()) {
+			case DroolsElement.RULESET:
+				clearRuleSet((RuleSet) element);
+				break;
+			case DroolsElement.PACKAGE:
+				removePackage((Package) element);
+				break;
+			case DroolsElement.RULE:
+				removeRule((Rule) element);
+				break;
+			case DroolsElement.QUERY:
+				removeQuery((Query) element);
+				break;
+			case DroolsElement.FUNCTION:
+				removeFunction((Function) element);
+				break;
+			case DroolsElement.TEMPLATE:
+				removeTemplate((Template) element);
+				break;
+			case DroolsElement.EXPANDER:
+				removeExpander((Expander) element);
+				break;
+			case DroolsElement.GLOBAL:
+				removeGlobal((Global) element);
+				break;
+		}
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents an expander. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Expander extends DroolsElement {
-
-	private final String expander;
-
-	Expander(Package parent, String expander) {
-		super(parent);
-		this.expander = expander;
-	}
-	
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-	public String getExpander() {
-		return expander;
-	}
-
-	public int getType() {
-		return EXPANDER;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return expander;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Expander.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents an expander. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Expander extends DroolsElement {
+
+	private final String expander;
+
+	Expander(Package parent, String expander) {
+		super(parent);
+		this.expander = expander;
+	}
+	
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+	public String getExpander() {
+		return expander;
+	}
+
+	public int getType() {
+		return EXPANDER;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return expander;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents a function. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Function extends DroolsElement {
-
-    private final String functionName;
-
-    Function(Package parent, String functionName) {
-        super(parent);
-        this.functionName = functionName;
-    }
-    
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-    public String getFunctionName() {
-    	return functionName;
-    }
-
-	public int getType() {
-		return FUNCTION;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return functionName;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Function.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents a function. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Function extends DroolsElement {
+
+    private final String functionName;
+
+    Function(Package parent, String functionName) {
+        super(parent);
+        this.functionName = functionName;
+    }
+    
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+    public String getFunctionName() {
+    	return functionName;
+    }
+
+	public int getType() {
+		return FUNCTION;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return functionName;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents a global. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Global extends DroolsElement {
-
-    private final String globalName;
-
-    Global(Package parent, String globalName) {
-        super(parent);
-        this.globalName = globalName;
-    }
-    
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-    public String getGlobalName() {
-    	return globalName;
-    }
-
-	public int getType() {
-		return GLOBAL;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return globalName;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Global.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents a global. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Global extends DroolsElement {
+
+    private final String globalName;
+
+    Global(Package parent, String globalName) {
+        super(parent);
+        this.globalName = globalName;
+    }
+    
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+    public String getGlobalName() {
+    	return globalName;
+    }
+
+	public int getType() {
+		return GLOBAL;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return globalName;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents an import. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Import extends DroolsElement {
-
-    private final String importClass;
-
-    Import(Package parent, String importClass) {
-        super(parent);
-        this.importClass = importClass;
-    }
-    
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-    public String getImportClass() {
-    	return importClass;
-    }
-
-	public int getType() {
-		return IMPORT;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return importClass;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Import.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents an import. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Import extends DroolsElement {
+
+    private final String importClass;
+
+    Import(Package parent, String importClass) {
+        super(parent);
+        this.importClass = importClass;
+    }
+    
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+    public String getImportClass() {
+    	return importClass;
+    }
+
+	public int getType() {
+		return IMPORT;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return importClass;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,115 +0,0 @@
-package org.drools.eclipse.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This represents a package. 
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class Package extends DroolsElement {
-
-	private String packageName;
-	private List rules = new ArrayList();
-	private List functions = new ArrayList();
-	private List expanders = new ArrayList();
-	private List imports = new ArrayList();
-	private List globals = new ArrayList();
-	private List queries = new ArrayList();
-	private List templates = new ArrayList();
-
-	Package(RuleSet parent, String packageName) {
-		super(parent);
-		this.packageName =
-			packageName == null ? "(default package)" : packageName;
-	}
-
-	public RuleSet getParentRuleSet() {
-		return (RuleSet) getParent();
-	}
-	
-	public String getPackageName() {
-		return packageName;
-	}
-
-	public int getType() {
-		return PACKAGE;
-	}
-	
-	public DroolsElement[] getChildren() {
-		List children = new ArrayList();
-		children.addAll(rules);
-		children.addAll(queries);
-		children.addAll(globals);
-		children.addAll(functions);
-		children.addAll(expanders);
-		children.addAll(imports);
-		children.addAll(templates);
-		return (DroolsElement[]) children.toArray(new DroolsElement[0]);
-	}
-
-	public String toString() {
-		return packageName;
-	}
-
-	// These are helper methods for creating the model and should not
-	// be used directly.  Use DroolsModelBuilder instead.
-
-	void addRule(Rule rule) {
-		rules.add(rule);
-	}
-	
-	void removeRule(Rule rule) {
-		rules.remove(rule);
-	}
-	
-	void addFunction(Function function) {
-		functions.add(function);
-	}
-	
-	void removeFunction(Function function) {
-		functions.remove(function);
-	}
-	
-	void addExpander(Expander expander) {
-		expanders.add(expander);
-	}
-	
-	void removeExpander(Expander expander) {
-		expanders.remove(expander);
-	}
-	
-	void addImport(Import imp) {
-		imports.add(imp);
-	}
-	
-	void removeImport(Import imp) {
-		imports.remove(imp);
-	}
-	
-	void addGlobal(Global global) {
-		globals.add(global);
-	}
-	
-	void removeGlobal(Global global) {
-		globals.remove(global);
-	}
-	
-	void addQuery(Query query) {
-		queries.add(query);
-	}
-	
-	void removeQuery(Query query) {
-		queries.remove(query);
-	}
-	
-	void addTemplate(Template template) {
-		templates.add(template);
-	}
-	
-	void removeTemplate(Template template) {
-		templates.remove(template);
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Package.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,115 @@
+package org.drools.eclipse.core;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * This represents a package. 
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class Package extends DroolsElement {
+
+	private String packageName;
+	private List rules = new ArrayList();
+	private List functions = new ArrayList();
+	private List expanders = new ArrayList();
+	private List imports = new ArrayList();
+	private List globals = new ArrayList();
+	private List queries = new ArrayList();
+	private List templates = new ArrayList();
+
+	Package(RuleSet parent, String packageName) {
+		super(parent);
+		this.packageName =
+			packageName == null ? "(default package)" : packageName;
+	}
+
+	public RuleSet getParentRuleSet() {
+		return (RuleSet) getParent();
+	}
+	
+	public String getPackageName() {
+		return packageName;
+	}
+
+	public int getType() {
+		return PACKAGE;
+	}
+	
+	public DroolsElement[] getChildren() {
+		List children = new ArrayList();
+		children.addAll(rules);
+		children.addAll(queries);
+		children.addAll(globals);
+		children.addAll(functions);
+		children.addAll(expanders);
+		children.addAll(imports);
+		children.addAll(templates);
+		return (DroolsElement[]) children.toArray(new DroolsElement[0]);
+	}
+
+	public String toString() {
+		return packageName;
+	}
+
+	// These are helper methods for creating the model and should not
+	// be used directly.  Use DroolsModelBuilder instead.
+
+	void addRule(Rule rule) {
+		rules.add(rule);
+	}
+	
+	void removeRule(Rule rule) {
+		rules.remove(rule);
+	}
+	
+	void addFunction(Function function) {
+		functions.add(function);
+	}
+	
+	void removeFunction(Function function) {
+		functions.remove(function);
+	}
+	
+	void addExpander(Expander expander) {
+		expanders.add(expander);
+	}
+	
+	void removeExpander(Expander expander) {
+		expanders.remove(expander);
+	}
+	
+	void addImport(Import imp) {
+		imports.add(imp);
+	}
+	
+	void removeImport(Import imp) {
+		imports.remove(imp);
+	}
+	
+	void addGlobal(Global global) {
+		globals.add(global);
+	}
+	
+	void removeGlobal(Global global) {
+		globals.remove(global);
+	}
+	
+	void addQuery(Query query) {
+		queries.add(query);
+	}
+	
+	void removeQuery(Query query) {
+		queries.remove(query);
+	}
+	
+	void addTemplate(Template template) {
+		templates.add(template);
+	}
+	
+	void removeTemplate(Template template) {
+		templates.remove(template);
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents a query. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Query extends DroolsElement {
-
-    private final String query;
-
-    Query(Package parent, String query) {
-        super(parent);
-        this.query = query;
-    }
-
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-	public String getQueryName() {
-		return query;
-	}
-	
-	public int getType() {
-		return QUERY;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return query;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Query.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents a query. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Query extends DroolsElement {
+
+    private final String query;
+
+    Query(Package parent, String query) {
+        super(parent);
+        this.query = query;
+    }
+
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+	public String getQueryName() {
+		return query;
+	}
+	
+	public int getType() {
+		return QUERY;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return query;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,52 +0,0 @@
-package org.drools.eclipse.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This represents a rule. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class Rule extends DroolsElement {
-
-    private final String ruleName;
-    private Map attributes = new HashMap();
-
-    Rule(Package parent, String ruleName) {
-    	super(parent);
-        this.ruleName = ruleName;
-    }
-
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-	public String getRuleName() {
-		return ruleName;
-	}
-	
-	public RuleAttribute getAttribute(String attributeName) {
-		return (RuleAttribute) attributes.get(attributeName);
-	}
-	
-	public int getType() {
-		return RULE;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return ruleName;
-	}
-
-	// These are helper methods for creating the model and should not
-	// be used directly.  Use DroolsModelBuilder instead.
-
-    void addAttribute(RuleAttribute attribute) {
-		attributes.put(attribute.getAttributeName(), attribute);
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Rule.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,52 @@
+package org.drools.eclipse.core;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * This represents a rule. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class Rule extends DroolsElement {
+
+    private final String ruleName;
+    private Map attributes = new HashMap();
+
+    Rule(Package parent, String ruleName) {
+    	super(parent);
+        this.ruleName = ruleName;
+    }
+
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+	public String getRuleName() {
+		return ruleName;
+	}
+	
+	public RuleAttribute getAttribute(String attributeName) {
+		return (RuleAttribute) attributes.get(attributeName);
+	}
+	
+	public int getType() {
+		return RULE;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return ruleName;
+	}
+
+	// These are helper methods for creating the model and should not
+	// be used directly.  Use DroolsModelBuilder instead.
+
+    void addAttribute(RuleAttribute attribute) {
+		attributes.put(attribute.getAttributeName(), attribute);
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,39 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents a rule attribute. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class RuleAttribute extends DroolsElement {
-
-    private final String attributeName;
-    private final Object attributeValue;
-
-    RuleAttribute(Rule parent, String attributeName, Object attributeValue) {
-    	super(parent);
-        this.attributeName = attributeName;
-        this.attributeValue = attributeValue;
-    }
-
-	public Rule getParentRule() {
-		return (Rule) getParent();
-	}
-	
-	public String getAttributeName() {
-		return attributeName;
-	}
-	
-	public int getType() {
-		return RULE_ATTRIBUTE;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return attributeName + " = " + attributeValue;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleAttribute.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,39 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents a rule attribute. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class RuleAttribute extends DroolsElement {
+
+    private final String attributeName;
+    private final Object attributeValue;
+
+    RuleAttribute(Rule parent, String attributeName, Object attributeValue) {
+    	super(parent);
+        this.attributeName = attributeName;
+        this.attributeValue = attributeValue;
+    }
+
+	public Rule getParentRule() {
+		return (Rule) getParent();
+	}
+	
+	public String getAttributeName() {
+		return attributeName;
+	}
+	
+	public int getType() {
+		return RULE_ATTRIBUTE;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return attributeName + " = " + attributeValue;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,47 +0,0 @@
-package org.drools.eclipse.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This represents a rule set. 
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleSet extends DroolsElement {
-	
-	private Map packages = new HashMap();
-	
-	RuleSet() {
-		super(null);
-	}
-	
-	public Package getPackage(String packageName) {
-		return (Package) packages.get(packageName);
-	}
-	
-	public int getType() {
-		return RULESET;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return (DroolsElement[]) packages.values().toArray(
-			new DroolsElement[packages.size()]);
-	}
-
-	// These are helper methods for creating the model and should not
-	// be used directly.  Use DroolsModelBuilder instead.
-
-	void addPackage(Package pkg) {
-		packages.put(pkg.getPackageName(), pkg);
-	}
-	
-	void removePackage(String packageName) {
-		packages.remove(packageName);
-	}
-	
-	void clear() {
-		packages.clear();
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/RuleSet.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,47 @@
+package org.drools.eclipse.core;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * This represents a rule set. 
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleSet extends DroolsElement {
+	
+	private Map packages = new HashMap();
+	
+	RuleSet() {
+		super(null);
+	}
+	
+	public Package getPackage(String packageName) {
+		return (Package) packages.get(packageName);
+	}
+	
+	public int getType() {
+		return RULESET;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return (DroolsElement[]) packages.values().toArray(
+			new DroolsElement[packages.size()]);
+	}
+
+	// These are helper methods for creating the model and should not
+	// be used directly.  Use DroolsModelBuilder instead.
+
+	void addPackage(Package pkg) {
+		packages.put(pkg.getPackageName(), pkg);
+	}
+	
+	void removePackage(String packageName) {
+		packages.remove(packageName);
+	}
+	
+	void clear() {
+		packages.clear();
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.core;
-
-/**
- * This represents a template. 
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class Template extends DroolsElement {
-
-    private final String templateName;
-
-    Template(Package parent, String templateName) {
-        super(parent);
-        this.templateName = templateName;
-    }
-
-	public Package getParentPackage() {
-		return (Package) getParent();
-	}
-	
-	public String getTemplateName() {
-		return templateName;
-	}
-	
-	public int getType() {
-		return TEMPLATE;
-	}
-	
-	public DroolsElement[] getChildren() {
-		return NO_ELEMENTS;
-	}
-
-	public String toString() {
-		return templateName;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/Template.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.core;
+
+/**
+ * This represents a template. 
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class Template extends DroolsElement {
+
+    private final String templateName;
+
+    Template(Package parent, String templateName) {
+        super(parent);
+        this.templateName = templateName;
+    }
+
+	public Package getParentPackage() {
+		return (Package) getParent();
+	}
+	
+	public String getTemplateName() {
+		return templateName;
+	}
+	
+	public int getType() {
+		return TEMPLATE;
+	}
+	
+	public DroolsElement[] getChildren() {
+		return NO_ELEMENTS;
+	}
+
+	public String toString() {
+		return templateName;
+	}
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,44 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.core.DroolsElement;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Content provider for Drools model elements. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DroolsContentProvider implements ITreeContentProvider {
-
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement instanceof DroolsElement) {
-			return ((DroolsElement) parentElement).getChildren();
-		}
-		return new Object[0];
-	}
-
-	public Object getParent(Object element) {
-		if (element instanceof DroolsElement) {
-			return ((DroolsElement) element).getParent();
-		}
-		return null;
-	}
-
-	public boolean hasChildren(Object element) {
-        return getChildren(element).length > 0;
-	}
-
-	public Object[] getElements(Object inputElement) {
-        return getChildren(inputElement);
-	}
-
-	public void dispose() {
-        // do nothing
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        // do nothing
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,44 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.core.DroolsElement;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+/**
+ * Content provider for Drools model elements. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DroolsContentProvider implements ITreeContentProvider {
+
+	public Object[] getChildren(Object parentElement) {
+		if (parentElement instanceof DroolsElement) {
+			return ((DroolsElement) parentElement).getChildren();
+		}
+		return new Object[0];
+	}
+
+	public Object getParent(Object element) {
+		if (element instanceof DroolsElement) {
+			return ((DroolsElement) element).getParent();
+		}
+		return null;
+	}
+
+	public boolean hasChildren(Object element) {
+        return getChildren(element).length > 0;
+	}
+
+	public Object[] getElements(Object inputElement) {
+        return getChildren(inputElement);
+	}
+
+	public void dispose() {
+        // do nothing
+	}
+
+	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+        // do nothing
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.core.DroolsElement;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * Filter for the rules viewer.
- */
-public class DroolsFilter extends ViewerFilter {
-
-	public static final int FILTER_RULES = 1;
-	public static final int FILTER_QUERIES = 2;
-	public static final int FILTER_FUNCTIONS = 4;
-	public static final int FILTER_TEMPLATES = 8;
-	public static final int FILTER_GLOBALS = 16;
-	
-	private int filterProperties;
-
-	public final void addFilter(int filter) {
-		filterProperties |= filter;
-	}
-
-	public final void removeFilter(int filter) {
-		filterProperties &= (-1 ^ filter);
-	}
-
-	public final boolean hasFilter(int filter) {
-		return (filterProperties & filter) != 0;
-	}
-	
-	public boolean isFilterProperty(Object element, Object property) {
-		return false;
-	}
-
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		if (element instanceof DroolsElement) {
-			DroolsElement droolsElement = (DroolsElement) element;
-			int type = droolsElement.getType();
-			if (hasFilter(FILTER_RULES) && type == DroolsElement.RULE) {
-				return false;
-			}
-			if (hasFilter(FILTER_QUERIES) && type == DroolsElement.QUERY) {
-				return false;
-			}
-			if (hasFilter(FILTER_FUNCTIONS) && type == DroolsElement.FUNCTION) {
-				return false;
-			}
-			if (hasFilter(FILTER_TEMPLATES) && type == DroolsElement.TEMPLATE) {
-				return false;
-			}
-			if (hasFilter(FILTER_GLOBALS) && type == DroolsElement.GLOBAL) {
-				return false;
-			}
-		}			
-		return true;
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsFilter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.core.DroolsElement;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
+
+/**
+ * Filter for the rules viewer.
+ */
+public class DroolsFilter extends ViewerFilter {
+
+	public static final int FILTER_RULES = 1;
+	public static final int FILTER_QUERIES = 2;
+	public static final int FILTER_FUNCTIONS = 4;
+	public static final int FILTER_TEMPLATES = 8;
+	public static final int FILTER_GLOBALS = 16;
+	
+	private int filterProperties;
+
+	public final void addFilter(int filter) {
+		filterProperties |= filter;
+	}
+
+	public final void removeFilter(int filter) {
+		filterProperties &= (-1 ^ filter);
+	}
+
+	public final boolean hasFilter(int filter) {
+		return (filterProperties & filter) != 0;
+	}
+	
+	public boolean isFilterProperty(Object element, Object property) {
+		return false;
+	}
+
+	public boolean select(Viewer viewer, Object parentElement, Object element) {
+		if (element instanceof DroolsElement) {
+			DroolsElement droolsElement = (DroolsElement) element;
+			int type = droolsElement.getType();
+			if (hasFilter(FILTER_RULES) && type == DroolsElement.RULE) {
+				return false;
+			}
+			if (hasFilter(FILTER_QUERIES) && type == DroolsElement.QUERY) {
+				return false;
+			}
+			if (hasFilter(FILTER_FUNCTIONS) && type == DroolsElement.FUNCTION) {
+				return false;
+			}
+			if (hasFilter(FILTER_TEMPLATES) && type == DroolsElement.TEMPLATE) {
+				return false;
+			}
+			if (hasFilter(FILTER_GLOBALS) && type == DroolsElement.GLOBAL) {
+				return false;
+			}
+		}			
+		return true;
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,31 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.core.DroolsElement;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class DroolsLabelProvider extends LabelProvider {
-
-	private static final String[] ICONS = new String[] {
-		DroolsPluginImages.PACKAGE,	// ruleset
-		DroolsPluginImages.PACKAGE,	// package
-		DroolsPluginImages.DROOLS, 	// rule
-		DroolsPluginImages.DROOLS, 	// query
-		DroolsPluginImages.METHOD, 	// function
-		DroolsPluginImages.CLASS, 	// template
-		DroolsPluginImages.DSL, 	// expander
-		DroolsPluginImages.GLOBAL, 	// global
-		DroolsPluginImages.IMPORT, 	// import
-		DroolsPluginImages.DROOLS, 	// rule attribute
-	};
-	
-    public Image getImage(Object element) {
-    	if (element instanceof DroolsElement) {
-    		String icon = ICONS[((DroolsElement) element).getType()];
-    		return DroolsPluginImages.getImageRegistry().get(icon);
-    	}
-        return null;
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsLabelProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,31 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.core.DroolsElement;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+public class DroolsLabelProvider extends LabelProvider {
+
+	private static final String[] ICONS = new String[] {
+		DroolsPluginImages.PACKAGE,	// ruleset
+		DroolsPluginImages.PACKAGE,	// package
+		DroolsPluginImages.DROOLS, 	// rule
+		DroolsPluginImages.DROOLS, 	// query
+		DroolsPluginImages.METHOD, 	// function
+		DroolsPluginImages.CLASS, 	// template
+		DroolsPluginImages.DSL, 	// expander
+		DroolsPluginImages.GLOBAL, 	// global
+		DroolsPluginImages.IMPORT, 	// import
+		DroolsPluginImages.DROOLS, 	// rule attribute
+	};
+	
+    public Image getImage(Object element) {
+    	if (element instanceof DroolsElement) {
+    		String icon = ICONS[((DroolsElement) element).getType()];
+    		return DroolsPluginImages.getImageRegistry().get(icon);
+    	}
+        return null;
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,82 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.core.DroolsElement;
-import org.drools.eclipse.core.Expander;
-import org.drools.eclipse.core.Function;
-import org.drools.eclipse.core.Global;
-import org.drools.eclipse.core.Import;
-import org.drools.eclipse.core.Package;
-import org.drools.eclipse.core.Query;
-import org.drools.eclipse.core.Rule;
-import org.drools.eclipse.core.RuleAttribute;
-import org.drools.eclipse.core.RuleSet;
-import org.drools.eclipse.core.Template;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-public class DroolsTreeSorter extends ViewerSorter {
-	
-	// level 0
-	private static final int RULESET = 0;
-	
-	// level 1
-	private static final int PACKAGE = 1;
-	
-	// level 2
-	private static final int RULE = 2;
-	private static final int QUERY = 3;
-	private static final int FUNCTION = 4;
-	private static final int TEMPLATE = 5;
-	private static final int EXPANDER = 6;
-	private static final int GLOBAL = 7;
-	private static final int IMPORT = 8;
-
-	// level 3
-	private static final int RULE_ATTRIBUTE = 9;
-	
-	private static final int UNKNOWN = 10;
-
-	private static DroolsLabelProvider labelProvider = new DroolsLabelProvider();
-
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		DroolsElement node1 = (DroolsElement) e1;
-		DroolsElement node2 = (DroolsElement) e2;
-		int type1 = getElementType(node1);
-		int type2 = getElementType(node2);
-		if (type1 != type2) {
-			return type1 - type2;
-		}
-		String label1 = labelProvider.getText(node1); 
-		String label2 = labelProvider.getText(node2);
-		if (label1 == null) {
-			return (label2 == null ? 0 : -1);
-		}
-		return label1.compareTo(label2);
-	}
-	
-	private int getElementType(DroolsElement o) {
-		if (o instanceof RuleSet) {
-			return RULESET;
-		} else if (o instanceof Package) {
-			return PACKAGE;
-		} else if (o instanceof Rule) {
-			return RULE;
-		} else if (o instanceof Query) {
-			return QUERY;
-		} else if (o instanceof Function) {
-			return FUNCTION;
-		} else if (o instanceof Template) {
-			return TEMPLATE;
-		} else if (o instanceof Expander) {
-			return EXPANDER;
-		} else if (o instanceof Global) {
-			return GLOBAL;
-		} else if (o instanceof Import) {
-			return IMPORT;
-		} else if (o instanceof RuleAttribute) {
-			return RULE_ATTRIBUTE;
-		}
-		return UNKNOWN;
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/DroolsTreeSorter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,82 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.core.DroolsElement;
+import org.drools.eclipse.core.Expander;
+import org.drools.eclipse.core.Function;
+import org.drools.eclipse.core.Global;
+import org.drools.eclipse.core.Import;
+import org.drools.eclipse.core.Package;
+import org.drools.eclipse.core.Query;
+import org.drools.eclipse.core.Rule;
+import org.drools.eclipse.core.RuleAttribute;
+import org.drools.eclipse.core.RuleSet;
+import org.drools.eclipse.core.Template;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerSorter;
+
+public class DroolsTreeSorter extends ViewerSorter {
+	
+	// level 0
+	private static final int RULESET = 0;
+	
+	// level 1
+	private static final int PACKAGE = 1;
+	
+	// level 2
+	private static final int RULE = 2;
+	private static final int QUERY = 3;
+	private static final int FUNCTION = 4;
+	private static final int TEMPLATE = 5;
+	private static final int EXPANDER = 6;
+	private static final int GLOBAL = 7;
+	private static final int IMPORT = 8;
+
+	// level 3
+	private static final int RULE_ATTRIBUTE = 9;
+	
+	private static final int UNKNOWN = 10;
+
+	private static DroolsLabelProvider labelProvider = new DroolsLabelProvider();
+
+	public int compare(Viewer viewer, Object e1, Object e2) {
+		DroolsElement node1 = (DroolsElement) e1;
+		DroolsElement node2 = (DroolsElement) e2;
+		int type1 = getElementType(node1);
+		int type2 = getElementType(node2);
+		if (type1 != type2) {
+			return type1 - type2;
+		}
+		String label1 = labelProvider.getText(node1); 
+		String label2 = labelProvider.getText(node2);
+		if (label1 == null) {
+			return (label2 == null ? 0 : -1);
+		}
+		return label1.compareTo(label2);
+	}
+	
+	private int getElementType(DroolsElement o) {
+		if (o instanceof RuleSet) {
+			return RULESET;
+		} else if (o instanceof Package) {
+			return PACKAGE;
+		} else if (o instanceof Rule) {
+			return RULE;
+		} else if (o instanceof Query) {
+			return QUERY;
+		} else if (o instanceof Function) {
+			return FUNCTION;
+		} else if (o instanceof Template) {
+			return TEMPLATE;
+		} else if (o instanceof Expander) {
+			return EXPANDER;
+		} else if (o instanceof Global) {
+			return GLOBAL;
+		} else if (o instanceof Import) {
+			return IMPORT;
+		} else if (o instanceof RuleAttribute) {
+			return RULE_ATTRIBUTE;
+		}
+		return UNKNOWN;
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,34 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.DroolsPluginImages;
-import org.eclipse.jface.action.Action;
-
-/**
- * Action used to enable / disable filter properties
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class FilterAction extends Action {
-
-	private int filterType;
-
-	private FilterActionGroup filterActionGroup;
-
-	public FilterAction(FilterActionGroup actionGroup, String title,
-			int property, boolean initValue, String imageDescriptorKey) {
-		super(title);
-		filterActionGroup = actionGroup;
-		filterType = property;
-		setChecked(initValue);
-		setImageDescriptor(DroolsPluginImages.getImageDescriptor(imageDescriptorKey));
-	}
-
-	public int getFilterType() {
-		return filterType;
-	}
-
-	public void run() {
-		filterActionGroup.setFilter(filterType, isChecked());
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,34 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.DroolsPluginImages;
+import org.eclipse.jface.action.Action;
+
+/**
+ * Action used to enable / disable filter properties
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class FilterAction extends Action {
+
+	private int filterType;
+
+	private FilterActionGroup filterActionGroup;
+
+	public FilterAction(FilterActionGroup actionGroup, String title,
+			int property, boolean initValue, String imageDescriptorKey) {
+		super(title);
+		filterActionGroup = actionGroup;
+		filterType = property;
+		setChecked(initValue);
+		setImageDescriptor(DroolsPluginImages.getImageDescriptor(imageDescriptorKey));
+	}
+
+	public int getFilterType() {
+		return filterType;
+	}
+
+	public void run() {
+		filterActionGroup.setFilter(filterType, isChecked());
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,112 +0,0 @@
-package org.drools.eclipse.core.ui;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.actions.ActionGroup;
-
-/**
- * Action Group that contributes filter buttons.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class FilterActionGroup extends ActionGroup {
-
-	private FilterAction[] filterActions;
-	private DroolsFilter filter;
-	public int i;
-	
-	private StructuredViewer viewer;
-	private String viewerId;
-	
-	public FilterActionGroup(StructuredViewer viewer, String viewerId) {	
-		this.viewer = viewer;
-		this.viewerId = viewerId;
-		filter = new DroolsFilter();
-		filterActions = new FilterAction[] {
-			addFilterForType(DroolsFilter.FILTER_RULES, "Hide Rules", DroolsPluginImages.RULE),
-			addFilterForType(DroolsFilter.FILTER_QUERIES, "Hide Queries", DroolsPluginImages.QUERY),
-			addFilterForType(DroolsFilter.FILTER_FUNCTIONS, "Hide Functions", DroolsPluginImages.METHOD),
-			addFilterForType(DroolsFilter.FILTER_GLOBALS, "Hide Globals", DroolsPluginImages.GLOBAL),
-			addFilterForType(DroolsFilter.FILTER_TEMPLATES, "Hide Templates", DroolsPluginImages.CLASS),
-		};
-		viewer.addFilter(filter);
-	}
-	
-	private FilterAction addFilterForType(int filterType, String tooltip, String imageDescriptorKey) {
-		boolean filterEnabled = DroolsEclipsePlugin.getDefault()
-			.getPreferenceStore().getBoolean(getPreferenceKey(filterType));
-		if (filterEnabled) {
-			filter.addFilter(filterType);
-		}
-		FilterAction hideAction = new FilterAction(this, tooltip, filterType, filterEnabled, imageDescriptorKey);
-		hideAction.setToolTipText(tooltip);
-		return hideAction;
-	}
-	
-	private String getPreferenceKey(int filterProperty) {
-		return "DroolsFilterActionGroup." + viewerId + '.' + String.valueOf(filterProperty);
-	}
-	
-	public void setFilter(int filterType, boolean set) {
-		setDroolsFilters(new int[] {filterType}, new boolean[] {set}, true);
-	}
-
-	private void setDroolsFilters(int[] propertyKeys, boolean[] propertyValues, boolean refresh) {
-		if (propertyKeys.length == 0)
-			return;
-		Assert.isTrue(propertyKeys.length == propertyValues.length);
-		
-		for (int i= 0; i < propertyKeys.length; i++) {
-			int filterProperty= propertyKeys[i];
-			boolean set= propertyValues[i];
-
-			IPreferenceStore store = DroolsEclipsePlugin.getDefault().getPreferenceStore();
-			boolean found = false;
-			for (int j= 0; j < filterActions.length; j++) {
-				int currProperty= filterActions[j].getFilterType();
-				if (currProperty == filterProperty) {
-					filterActions[j].setChecked(set);
-					found= true;
-					store.setValue(getPreferenceKey(filterProperty), set);
-				}
-			}
-			if (found) {
-				if (set) {
-					filter.addFilter(filterProperty);
-				} else {
-					filter.removeFilter(filterProperty);
-				}
-			}
-		}
-		if (refresh) {
-			viewer.getControl().setRedraw(false);
-			BusyIndicator.showWhile(viewer.getControl().getDisplay(), new Runnable() {
-				public void run() {
-					viewer.refresh();
-				}
-			});
-			viewer.getControl().setRedraw(true);
-		}
-	}
-	
-	public boolean hasDroolsFilter(int filterType) {
-		return filter.hasFilter(filterType);
-	}
-	
-	public void fillActionBars(IActionBars actionBars) {
-		contributeToToolBar(actionBars.getToolBarManager());
-	}
-	
-	public void contributeToToolBar(IToolBarManager tbm) {
-		for (int i= 0; i < filterActions.length; i++) {
-			tbm.add(filterActions[i]);
-		}
-	}
-	
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/core/ui/FilterActionGroup.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,112 @@
+package org.drools.eclipse.core.ui;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.util.Assert;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.swt.custom.BusyIndicator;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.actions.ActionGroup;
+
+/**
+ * Action Group that contributes filter buttons.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class FilterActionGroup extends ActionGroup {
+
+	private FilterAction[] filterActions;
+	private DroolsFilter filter;
+	public int i;
+	
+	private StructuredViewer viewer;
+	private String viewerId;
+	
+	public FilterActionGroup(StructuredViewer viewer, String viewerId) {	
+		this.viewer = viewer;
+		this.viewerId = viewerId;
+		filter = new DroolsFilter();
+		filterActions = new FilterAction[] {
+			addFilterForType(DroolsFilter.FILTER_RULES, "Hide Rules", DroolsPluginImages.RULE),
+			addFilterForType(DroolsFilter.FILTER_QUERIES, "Hide Queries", DroolsPluginImages.QUERY),
+			addFilterForType(DroolsFilter.FILTER_FUNCTIONS, "Hide Functions", DroolsPluginImages.METHOD),
+			addFilterForType(DroolsFilter.FILTER_GLOBALS, "Hide Globals", DroolsPluginImages.GLOBAL),
+			addFilterForType(DroolsFilter.FILTER_TEMPLATES, "Hide Templates", DroolsPluginImages.CLASS),
+		};
+		viewer.addFilter(filter);
+	}
+	
+	private FilterAction addFilterForType(int filterType, String tooltip, String imageDescriptorKey) {
+		boolean filterEnabled = DroolsEclipsePlugin.getDefault()
+			.getPreferenceStore().getBoolean(getPreferenceKey(filterType));
+		if (filterEnabled) {
+			filter.addFilter(filterType);
+		}
+		FilterAction hideAction = new FilterAction(this, tooltip, filterType, filterEnabled, imageDescriptorKey);
+		hideAction.setToolTipText(tooltip);
+		return hideAction;
+	}
+	
+	private String getPreferenceKey(int filterProperty) {
+		return "DroolsFilterActionGroup." + viewerId + '.' + String.valueOf(filterProperty);
+	}
+	
+	public void setFilter(int filterType, boolean set) {
+		setDroolsFilters(new int[] {filterType}, new boolean[] {set}, true);
+	}
+
+	private void setDroolsFilters(int[] propertyKeys, boolean[] propertyValues, boolean refresh) {
+		if (propertyKeys.length == 0)
+			return;
+		Assert.isTrue(propertyKeys.length == propertyValues.length);
+		
+		for (int i= 0; i < propertyKeys.length; i++) {
+			int filterProperty= propertyKeys[i];
+			boolean set= propertyValues[i];
+
+			IPreferenceStore store = DroolsEclipsePlugin.getDefault().getPreferenceStore();
+			boolean found = false;
+			for (int j= 0; j < filterActions.length; j++) {
+				int currProperty= filterActions[j].getFilterType();
+				if (currProperty == filterProperty) {
+					filterActions[j].setChecked(set);
+					found= true;
+					store.setValue(getPreferenceKey(filterProperty), set);
+				}
+			}
+			if (found) {
+				if (set) {
+					filter.addFilter(filterProperty);
+				} else {
+					filter.removeFilter(filterProperty);
+				}
+			}
+		}
+		if (refresh) {
+			viewer.getControl().setRedraw(false);
+			BusyIndicator.showWhile(viewer.getControl().getDisplay(), new Runnable() {
+				public void run() {
+					viewer.refresh();
+				}
+			});
+			viewer.getControl().setRedraw(true);
+		}
+	}
+	
+	public boolean hasDroolsFilter(int filterType) {
+		return filter.hasFilter(filterType);
+	}
+	
+	public void fillActionBars(IActionBars actionBars) {
+		contributeToToolBar(actionBars.getToolBarManager());
+	}
+	
+	public void contributeToToolBar(IToolBarManager tbm) {
+		for (int i= 0; i < filterActions.length; i++) {
+			tbm.add(filterActions[i]);
+		}
+	}
+	
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,81 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaClassType;
-import org.eclipse.jdt.debug.core.IJavaInterfaceType;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-/**
- * The logical structures of Agenda.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class AgendaLogicalStructureDelegate implements ILogicalStructureTypeDelegate {
-
-    public boolean providesLogicalStructure(IValue value) {
-        if (!(value instanceof IJavaObject)) {
-            return false;
-        }
-        IJavaObject javaValue= (IJavaObject) value;
-        try {
-            IJavaType type= javaValue.getJavaType();
-            if (!(type instanceof IJavaClassType)) {
-                return false;
-            }
-            IJavaClassType classType = (IJavaClassType) type;
-            IJavaInterfaceType[] interfaceTypes = classType.getAllInterfaces();
-            for ( int i = 0; i < interfaceTypes.length; i++ ) {
-                if ("org.drools.spi.Activation".equals(interfaceTypes[i].getName())) {
-                    return true;
-                }                
-            }
-            return false;
-        } catch (DebugException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-    }
-
-    public IValue getLogicalStructure(IValue value) throws CoreException {
-        if (!(value instanceof IJavaObject)) {
-            return null;
-        }
-        IJavaObject javaValue = (IJavaObject) value;
-        if (!providesLogicalStructure(value)) {
-            return null;
-        }
-        IJavaArray ruleParameters = (IJavaArray) DebugUtil.getValueByExpression("return getRule().getDeclarations();", value);
-        List variables = new ArrayList();
-        variables.add(new VariableWrapper("ruleName", (IJavaValue) DebugUtil.getValueByExpression("return getRule().getName();", value)));
-        
-        IJavaValue[] javaValues = ruleParameters.getValues();
-        for ( int j = 0; j < javaValues.length; j++ ) {
-            IJavaValue declaration = javaValues[j];
-            IVariable[] vars = declaration.getVariables();
-            for ( int k = 0; k < vars.length; k++ ) {
-                IVariable declarationVar = vars[k];
-                if ("identifier".equals(declarationVar.getName())) {
-                    String paramName = declarationVar.getValue().getValueString();
-                    IJavaValue varValue = (IJavaValue) DebugUtil.getValueByExpression("return getRule().getDeclaration(\"" + paramName + "\").getValue(((org.drools.common.InternalFactHandle) getTuple().get(getRule().getDeclaration(\"" + paramName + "\"))).getObject());", value);
-                    if (varValue != null) {
-                    	variables.add(new VariableWrapper(paramName, varValue));
-                    }
-                    break;
-                }                
-            }            
-        }
-        return new ObjectWrapper(javaValue, (IJavaVariable[]) variables.toArray(new IJavaVariable[variables.size()]));
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaLogicalStructureDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,81 @@
+package org.drools.eclipse.debug;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaArray;
+import org.eclipse.jdt.debug.core.IJavaClassType;
+import org.eclipse.jdt.debug.core.IJavaInterfaceType;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+
+/**
+ * The logical structures of Agenda.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class AgendaLogicalStructureDelegate implements ILogicalStructureTypeDelegate {
+
+    public boolean providesLogicalStructure(IValue value) {
+        if (!(value instanceof IJavaObject)) {
+            return false;
+        }
+        IJavaObject javaValue= (IJavaObject) value;
+        try {
+            IJavaType type= javaValue.getJavaType();
+            if (!(type instanceof IJavaClassType)) {
+                return false;
+            }
+            IJavaClassType classType = (IJavaClassType) type;
+            IJavaInterfaceType[] interfaceTypes = classType.getAllInterfaces();
+            for ( int i = 0; i < interfaceTypes.length; i++ ) {
+                if ("org.drools.spi.Activation".equals(interfaceTypes[i].getName())) {
+                    return true;
+                }                
+            }
+            return false;
+        } catch (DebugException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+    }
+
+    public IValue getLogicalStructure(IValue value) throws CoreException {
+        if (!(value instanceof IJavaObject)) {
+            return null;
+        }
+        IJavaObject javaValue = (IJavaObject) value;
+        if (!providesLogicalStructure(value)) {
+            return null;
+        }
+        IJavaArray ruleParameters = (IJavaArray) DebugUtil.getValueByExpression("return getRule().getDeclarations();", value);
+        List variables = new ArrayList();
+        variables.add(new VariableWrapper("ruleName", (IJavaValue) DebugUtil.getValueByExpression("return getRule().getName();", value)));
+        
+        IJavaValue[] javaValues = ruleParameters.getValues();
+        for ( int j = 0; j < javaValues.length; j++ ) {
+            IJavaValue declaration = javaValues[j];
+            IVariable[] vars = declaration.getVariables();
+            for ( int k = 0; k < vars.length; k++ ) {
+                IVariable declarationVar = vars[k];
+                if ("identifier".equals(declarationVar.getName())) {
+                    String paramName = declarationVar.getValue().getValueString();
+                    IJavaValue varValue = (IJavaValue) DebugUtil.getValueByExpression("return getRule().getDeclaration(\"" + paramName + "\").getValue(((org.drools.common.InternalFactHandle) getTuple().get(getRule().getDeclaration(\"" + paramName + "\"))).getObject());", value);
+                    if (varValue != null) {
+                    	variables.add(new VariableWrapper(paramName, varValue));
+                    }
+                    break;
+                }                
+            }            
+        }
+        return new ObjectWrapper(javaValue, (IJavaVariable[]) variables.toArray(new IJavaVariable[variables.size()]));
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,19 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.eclipse.jface.viewers.IContentProvider;
-
-/**
- * The Agenda View.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class AgendaView extends DroolsDebugEventHandlerView {
-
-    protected IContentProvider createContentProvider() {
-        return new AgendaViewContentProvider(this);
-    }
-    
-    protected int getAutoExpandLevel() {
-    	return 1;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,19 @@
+package org.drools.eclipse.debug;
+
+import org.eclipse.jface.viewers.IContentProvider;
+
+/**
+ * The Agenda View.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class AgendaView extends DroolsDebugEventHandlerView {
+
+    protected IContentProvider createContentProvider() {
+        return new AgendaViewContentProvider(this);
+    }
+    
+    protected int getAutoExpandLevel() {
+    	return 1;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,205 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-/**
- * The Agenda View content provider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class AgendaViewContentProvider extends DroolsDebugViewContentProvider {
-
-    private DroolsDebugEventHandlerView view;
-
-    public AgendaViewContentProvider(DroolsDebugEventHandlerView view) {
-        this.view = view;
-    }
-    
-    protected String getEmptyString() {
-    	return "The selected working memory has an empty agenda.";
-    }
-
-    public Object[] getChildren(Object obj) {
-        try {
-            Object[] variables = null;
-            if (obj != null && obj instanceof IJavaObject
-                    && "org.drools.reteoo.ReteooStatefulSession".equals(
-                        ((IJavaObject) obj).getReferenceTypeName())) {
-                variables = getAgendaElements((IJavaObject) obj);
-            } else if (obj instanceof IVariable) {
-            	if (view.isShowLogicalStructure()) {
-            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
-                	variables = value.getVariables();
-                }
-            	if (variables == null) {
-                	variables = ((IVariable) obj).getValue().getVariables();
-                }
-            }
-            if (variables == null) {
-                return new Object[0];
-            } else {
-                cache(obj, variables);
-                return variables;
-            }
-        } catch (DebugException e) {
-            DroolsEclipsePlugin.log(e);
-            return new Object[0];
-        }
-    }
-    
-    private Object[] getAgendaElements(IJavaObject workingMemoryImpl) throws DebugException {
-        List result = new ArrayList();
-        IValue agendaGroupObjects = DebugUtil.getValueByExpression("return getAgenda().getAgendaGroups();", workingMemoryImpl);
-        IValue focus = DebugUtil.getValueByExpression("return getAgenda().getFocus();", workingMemoryImpl);
-        if (agendaGroupObjects instanceof IJavaArray) {
-	        IJavaArray agendaGroupArray = (IJavaArray) agendaGroupObjects;
-	    	IJavaValue[] agendaGroupValueArray = agendaGroupArray.getValues();
-	        for (int i = 0; i < agendaGroupValueArray.length; i++) {
-	        	IJavaValue agendaGroup = agendaGroupValueArray[i];
-	        	String name = "";
-			    List activationsResult = new ArrayList();
-			    IVariable[] agendaGroupVarArray = agendaGroup.getVariables();
-	        	for (int j = 0; j < agendaGroupVarArray.length; j++) {
-	        		IVariable agendaGroupVar = agendaGroupVarArray[j];
-	        		if ("name".equals(agendaGroupVar.getName())) {
-	        			name = agendaGroupVar.getValue().getValueString();
-	        			break;
-	        		}
-	        	}
-				IJavaArray activations = (IJavaArray) DebugUtil.getValueByExpression("return getActivations();", agendaGroup);
-				IJavaValue[] activationArray = activations.getValues();
-	            for (int l = 0; l < activationArray.length; l++) {
-	            	IJavaValue activation = activationArray[l];
-	            	if (activation.getJavaType() != null) {
-	            		activationsResult.add(new VariableWrapper("[" + l + "]", 
-	            			new LazyActivationWrapper(activations, activation, workingMemoryImpl)));
-	            	}
-	            }
-	        	boolean active = false;
-            	if (agendaGroup.equals(focus)) {
-            		active = true;
-	            }
-            	// because the debug view does not handle spaces well, all spaces
-            	// in the agenda group name are replaced with '_'s.
-            	name = replaceSpaces(name);
-	            result.add(new MyVariableWrapper(name + "[" + (active ? "focus" : "nofocus") + "]", 
-            		new ObjectWrapper((IJavaObject) agendaGroup,
-        				(IJavaVariable[]) activationsResult.toArray(new IJavaVariable[activationsResult.size()]))));
-	        }
-        }
-        return result.toArray(new IVariable[0]);
-    }
-    
-    private String replaceSpaces(String name) {
-    	return name.replace(' ', '_');
-    }
-
-    private class LazyActivationWrapper extends ObjectWrapper {
-    	
-    	private IJavaValue activation;
-    	private IJavaValue workingMemoryImpl;
-    	
-    	public LazyActivationWrapper(IJavaObject object, IJavaValue activation, IJavaObject workingMemoryImpl) {
-    		super(object, null);
-    		this.activation = activation;
-    		this.workingMemoryImpl = workingMemoryImpl;
-    	}
-    	
-    	public IVariable[] getVariables() {
-    		IVariable[] result = super.getVariables();
-    		if (result == null) {
-    			try {
-	                List variables = new ArrayList();
-	                variables.add(new VariableWrapper("ruleName", (IJavaValue) DebugUtil.getValueByExpression("return getRule().getName();", activation)));
-	        		String activationId = null;
-				    IVariable[] activationVarArray = activation.getVariables();
-		        	for (int j = 0; j < activationVarArray.length; j++) {
-		        		IVariable activationVar = activationVarArray[j];
-		        		if ("activationNumber".equals(activationVar.getName())) {
-		        			activationId = activationVar.getValue().getValueString();
-		        			break;
-		        		}
-		        	}
-		        	if (activationId != null) {
-			        	IValue objects = DebugUtil.getValueByExpression("return getActivationParameters(" + activationId + ");", workingMemoryImpl);
-			        	if (objects instanceof IJavaArray) {
-			                IJavaArray array = (IJavaArray) objects;
-			                IJavaValue[] javaVals = array.getValues();
-			                for ( int k = 0; k < javaVals.length; k++ ) {
-			                    IJavaValue mapEntry = javaVals[k];
-			                    String key = null;
-			                    IJavaValue value = null;
-			                    
-			                    IVariable[] vars = mapEntry.getVariables();
-			                    for ( int j = 0; j < vars.length; j++ ) {
-			                        IVariable var = vars[j];
-			                        if ("key".equals(var.getName())) {
-			                            key = var.getValue().getValueString();
-			                        } else if ("value".equals(var.getName())) {
-			                            value = (IJavaValue) var.getValue();
-			                        }
-			                    }
-			                    variables.add(new VariableWrapper(key, value));
-			                }
-			                result = (IJavaVariable[]) variables.toArray(new IJavaVariable[variables.size()]);
-			        	}
-		        	}
-    			} catch (Throwable t) {
-    				DroolsEclipsePlugin.log(t);
-    			}
-        		if (result == null) {
-        			result = new IJavaVariable[0];
-        		}
-                setVariables((IJavaVariable[]) result);
-    		}
-    		return result;
-    	}
-    	
-    	public boolean hasVariables() {
-    		return true;
-    	}
-    	
-    	public String getValueString() throws DebugException {
-    		return "Activation";
-    	}
-    	
-    	public String getReferenceTypeName() throws DebugException {
-    		return "";
-    	}
-    }
-    
-    /**
-     * Special VariableWrapper that considers variables with the same name
-     * as equal.
-     */
-    private class MyVariableWrapper extends VariableWrapper {
-    	
-    	public MyVariableWrapper(String name, IJavaValue value) {
-    		super(name, value);
-    	}
-    	
-    	public boolean equals(Object obj) {
-            if (obj instanceof VariableWrapper) {
-                VariableWrapper var = (VariableWrapper) obj;
-                return var.getName().equals(getName());
-            }
-            return false;
-        }
-
-        public int hashCode() {
-            return getName().hashCode();
-        }
-    	
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AgendaViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,205 @@
+package org.drools.eclipse.debug;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaArray;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+
+/**
+ * The Agenda View content provider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class AgendaViewContentProvider extends DroolsDebugViewContentProvider {
+
+    private DroolsDebugEventHandlerView view;
+
+    public AgendaViewContentProvider(DroolsDebugEventHandlerView view) {
+        this.view = view;
+    }
+    
+    protected String getEmptyString() {
+    	return "The selected working memory has an empty agenda.";
+    }
+
+    public Object[] getChildren(Object obj) {
+        try {
+            Object[] variables = null;
+            if (obj != null && obj instanceof IJavaObject
+                    && "org.drools.reteoo.ReteooStatefulSession".equals(
+                        ((IJavaObject) obj).getReferenceTypeName())) {
+                variables = getAgendaElements((IJavaObject) obj);
+            } else if (obj instanceof IVariable) {
+            	if (view.isShowLogicalStructure()) {
+            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
+                	variables = value.getVariables();
+                }
+            	if (variables == null) {
+                	variables = ((IVariable) obj).getValue().getVariables();
+                }
+            }
+            if (variables == null) {
+                return new Object[0];
+            } else {
+                cache(obj, variables);
+                return variables;
+            }
+        } catch (DebugException e) {
+            DroolsEclipsePlugin.log(e);
+            return new Object[0];
+        }
+    }
+    
+    private Object[] getAgendaElements(IJavaObject workingMemoryImpl) throws DebugException {
+        List result = new ArrayList();
+        IValue agendaGroupObjects = DebugUtil.getValueByExpression("return getAgenda().getAgendaGroups();", workingMemoryImpl);
+        IValue focus = DebugUtil.getValueByExpression("return getAgenda().getFocus();", workingMemoryImpl);
+        if (agendaGroupObjects instanceof IJavaArray) {
+	        IJavaArray agendaGroupArray = (IJavaArray) agendaGroupObjects;
+	    	IJavaValue[] agendaGroupValueArray = agendaGroupArray.getValues();
+	        for (int i = 0; i < agendaGroupValueArray.length; i++) {
+	        	IJavaValue agendaGroup = agendaGroupValueArray[i];
+	        	String name = "";
+			    List activationsResult = new ArrayList();
+			    IVariable[] agendaGroupVarArray = agendaGroup.getVariables();
+	        	for (int j = 0; j < agendaGroupVarArray.length; j++) {
+	        		IVariable agendaGroupVar = agendaGroupVarArray[j];
+	        		if ("name".equals(agendaGroupVar.getName())) {
+	        			name = agendaGroupVar.getValue().getValueString();
+	        			break;
+	        		}
+	        	}
+				IJavaArray activations = (IJavaArray) DebugUtil.getValueByExpression("return getActivations();", agendaGroup);
+				IJavaValue[] activationArray = activations.getValues();
+	            for (int l = 0; l < activationArray.length; l++) {
+	            	IJavaValue activation = activationArray[l];
+	            	if (activation.getJavaType() != null) {
+	            		activationsResult.add(new VariableWrapper("[" + l + "]", 
+	            			new LazyActivationWrapper(activations, activation, workingMemoryImpl)));
+	            	}
+	            }
+	        	boolean active = false;
+            	if (agendaGroup.equals(focus)) {
+            		active = true;
+	            }
+            	// because the debug view does not handle spaces well, all spaces
+            	// in the agenda group name are replaced with '_'s.
+            	name = replaceSpaces(name);
+	            result.add(new MyVariableWrapper(name + "[" + (active ? "focus" : "nofocus") + "]", 
+            		new ObjectWrapper((IJavaObject) agendaGroup,
+        				(IJavaVariable[]) activationsResult.toArray(new IJavaVariable[activationsResult.size()]))));
+	        }
+        }
+        return result.toArray(new IVariable[0]);
+    }
+    
+    private String replaceSpaces(String name) {
+    	return name.replace(' ', '_');
+    }
+
+    private class LazyActivationWrapper extends ObjectWrapper {
+    	
+    	private IJavaValue activation;
+    	private IJavaValue workingMemoryImpl;
+    	
+    	public LazyActivationWrapper(IJavaObject object, IJavaValue activation, IJavaObject workingMemoryImpl) {
+    		super(object, null);
+    		this.activation = activation;
+    		this.workingMemoryImpl = workingMemoryImpl;
+    	}
+    	
+    	public IVariable[] getVariables() {
+    		IVariable[] result = super.getVariables();
+    		if (result == null) {
+    			try {
+	                List variables = new ArrayList();
+	                variables.add(new VariableWrapper("ruleName", (IJavaValue) DebugUtil.getValueByExpression("return getRule().getName();", activation)));
+	        		String activationId = null;
+				    IVariable[] activationVarArray = activation.getVariables();
+		        	for (int j = 0; j < activationVarArray.length; j++) {
+		        		IVariable activationVar = activationVarArray[j];
+		        		if ("activationNumber".equals(activationVar.getName())) {
+		        			activationId = activationVar.getValue().getValueString();
+		        			break;
+		        		}
+		        	}
+		        	if (activationId != null) {
+			        	IValue objects = DebugUtil.getValueByExpression("return getActivationParameters(" + activationId + ");", workingMemoryImpl);
+			        	if (objects instanceof IJavaArray) {
+			                IJavaArray array = (IJavaArray) objects;
+			                IJavaValue[] javaVals = array.getValues();
+			                for ( int k = 0; k < javaVals.length; k++ ) {
+			                    IJavaValue mapEntry = javaVals[k];
+			                    String key = null;
+			                    IJavaValue value = null;
+			                    
+			                    IVariable[] vars = mapEntry.getVariables();
+			                    for ( int j = 0; j < vars.length; j++ ) {
+			                        IVariable var = vars[j];
+			                        if ("key".equals(var.getName())) {
+			                            key = var.getValue().getValueString();
+			                        } else if ("value".equals(var.getName())) {
+			                            value = (IJavaValue) var.getValue();
+			                        }
+			                    }
+			                    variables.add(new VariableWrapper(key, value));
+			                }
+			                result = (IJavaVariable[]) variables.toArray(new IJavaVariable[variables.size()]);
+			        	}
+		        	}
+    			} catch (Throwable t) {
+    				DroolsEclipsePlugin.log(t);
+    			}
+        		if (result == null) {
+        			result = new IJavaVariable[0];
+        		}
+                setVariables((IJavaVariable[]) result);
+    		}
+    		return result;
+    	}
+    	
+    	public boolean hasVariables() {
+    		return true;
+    	}
+    	
+    	public String getValueString() throws DebugException {
+    		return "Activation";
+    	}
+    	
+    	public String getReferenceTypeName() throws DebugException {
+    		return "";
+    	}
+    }
+    
+    /**
+     * Special VariableWrapper that considers variables with the same name
+     * as equal.
+     */
+    private class MyVariableWrapper extends VariableWrapper {
+    	
+    	public MyVariableWrapper(String name, IJavaValue value) {
+    		super(name, value);
+    	}
+    	
+    	public boolean equals(Object obj) {
+            if (obj instanceof VariableWrapper) {
+                VariableWrapper var = (VariableWrapper) obj;
+                return var.getName().equals(getName());
+            }
+            return false;
+        }
+
+        public int hashCode() {
+            return getName().hashCode();
+        }
+    	
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,16 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.eclipse.jface.viewers.IContentProvider;
-
-/**
- * The Application Data View.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class ApplicationDataView extends DroolsDebugEventHandlerView {
-
-    protected IContentProvider createContentProvider() {
-        ApplicationDataViewContentProvider contentProvider = new ApplicationDataViewContentProvider(this);
-        return contentProvider;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,16 @@
+package org.drools.eclipse.debug;
+
+import org.eclipse.jface.viewers.IContentProvider;
+
+/**
+ * The Application Data View.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class ApplicationDataView extends DroolsDebugEventHandlerView {
+
+    protected IContentProvider createContentProvider() {
+        ApplicationDataViewContentProvider contentProvider = new ApplicationDataViewContentProvider(this);
+        return contentProvider;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,85 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaValue;
-
-/**
- * The Application Data View content provider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class ApplicationDataViewContentProvider extends DroolsDebugViewContentProvider {
-
-    private DroolsDebugEventHandlerView view;
-    
-    public ApplicationDataViewContentProvider(DroolsDebugEventHandlerView view) {
-        this.view = view;
-    }
-    
-    protected String getEmptyString() {
-    	return "The selected working memory has no globals defined.";
-    }
-
-    public Object[] getChildren(Object obj) {
-        try {
-            IVariable[] variables = null;
-            if (obj != null && obj instanceof IJavaObject
-                    && "org.drools.reteoo.ReteooStatefulSession".equals(
-                        ((IJavaObject) obj).getReferenceTypeName())) {
-                variables = getApplicationDataElements((IJavaObject) obj);
-            } else if (obj instanceof IVariable) {
-            	if (view.isShowLogicalStructure()) {
-            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
-                	variables = value.getVariables();
-                }
-            	if (variables == null) {
-                	variables = ((IVariable) obj).getValue().getVariables();
-                }
-            }
-            if (variables == null) {
-                return new Object[0];
-            } else {
-                cache(obj, variables);
-                return variables;
-            }
-        } catch (DebugException e) {
-            DroolsEclipsePlugin.log(e);
-            return new Object[0];
-        }
-    }
-    
-    private IVariable[] getApplicationDataElements(IJavaObject stackObj) throws DebugException {
-        IValue objects = DebugUtil.getValueByExpression("return ((org.drools.base.MapGlobalResolver) getGlobalResolver()).getGlobals();", stackObj);
-        if (objects instanceof IJavaArray) {
-            IJavaArray array = (IJavaArray) objects;
-            List result = new ArrayList();
-            IJavaValue[] javaVals = array.getValues();
-            for ( int i = 0; i < javaVals.length; i++ ) {
-                IJavaValue mapEntry = javaVals[i];
-                String key = null;
-                IJavaValue value = null;
-                
-                IVariable[] vars = mapEntry.getVariables();
-                for ( int j = 0; j < vars.length; j++ ) {
-                    IVariable var = vars[j];
-                    if ("key".equals(var.getName())) {
-                        key = var.getValue().getValueString();
-                    } else if ("value".equals(var.getName())) {
-                        value = (IJavaValue) var.getValue();
-                    }
-                }
-                result.add(new VariableWrapper(key, value));
-            }
-            return (IVariable[]) result.toArray(new IVariable[result.size()]);
-        }
-        return null;
-    }    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ApplicationDataViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,85 @@
+package org.drools.eclipse.debug;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaArray;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaValue;
+
+/**
+ * The Application Data View content provider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class ApplicationDataViewContentProvider extends DroolsDebugViewContentProvider {
+
+    private DroolsDebugEventHandlerView view;
+    
+    public ApplicationDataViewContentProvider(DroolsDebugEventHandlerView view) {
+        this.view = view;
+    }
+    
+    protected String getEmptyString() {
+    	return "The selected working memory has no globals defined.";
+    }
+
+    public Object[] getChildren(Object obj) {
+        try {
+            IVariable[] variables = null;
+            if (obj != null && obj instanceof IJavaObject
+                    && "org.drools.reteoo.ReteooStatefulSession".equals(
+                        ((IJavaObject) obj).getReferenceTypeName())) {
+                variables = getApplicationDataElements((IJavaObject) obj);
+            } else if (obj instanceof IVariable) {
+            	if (view.isShowLogicalStructure()) {
+            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
+                	variables = value.getVariables();
+                }
+            	if (variables == null) {
+                	variables = ((IVariable) obj).getValue().getVariables();
+                }
+            }
+            if (variables == null) {
+                return new Object[0];
+            } else {
+                cache(obj, variables);
+                return variables;
+            }
+        } catch (DebugException e) {
+            DroolsEclipsePlugin.log(e);
+            return new Object[0];
+        }
+    }
+    
+    private IVariable[] getApplicationDataElements(IJavaObject stackObj) throws DebugException {
+        IValue objects = DebugUtil.getValueByExpression("return ((org.drools.base.MapGlobalResolver) getGlobalResolver()).getGlobals();", stackObj);
+        if (objects instanceof IJavaArray) {
+            IJavaArray array = (IJavaArray) objects;
+            List result = new ArrayList();
+            IJavaValue[] javaVals = array.getValues();
+            for ( int i = 0; i < javaVals.length; i++ ) {
+                IJavaValue mapEntry = javaVals[i];
+                String key = null;
+                IJavaValue value = null;
+                
+                IVariable[] vars = mapEntry.getVariables();
+                for ( int j = 0; j < vars.length; j++ ) {
+                    IVariable var = vars[j];
+                    if ("key".equals(var.getName())) {
+                        key = var.getValue().getValueString();
+                    } else if ("value".equals(var.getName())) {
+                        value = (IJavaValue) var.getValue();
+                    }
+                }
+                result.add(new VariableWrapper(key, value));
+            }
+            return (IVariable[]) result.toArray(new IVariable[result.size()]);
+        }
+        return null;
+    }    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,441 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.ObjectInputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.audit.event.ActivationLogEvent;
-import org.drools.audit.event.LogEvent;
-import org.drools.audit.event.ObjectLogEvent;
-import org.drools.audit.event.RuleBaseLogEvent;
-import org.drools.audit.event.RuleFlowGroupLogEvent;
-import org.drools.audit.event.RuleFlowLogEvent;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.debug.actions.DeleteLogAction;
-import org.drools.eclipse.debug.actions.OpenLogAction;
-import org.drools.eclipse.debug.actions.RefreshLogAction;
-import org.drools.eclipse.debug.actions.ShowEventCauseAction;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PartInitException;
-
-import com.thoughtworks.xstream.XStream;
-
-public class AuditView extends AbstractDebugView {
-	
-	private static final String LOG_FILE_NAME = "LogFileName";
-	private static final String CAUSE_EVENT_COLOR = "CauseEventColor";
-	
-	private String logFileName;
-	private IAction deleteAction;
-	private IAction refreshAction;
-	
-    protected Viewer createViewer(Composite parent) {
-		final TreeViewer variablesViewer = new TreeViewer(parent);
-		variablesViewer.setContentProvider(new AuditViewContentProvider());
-        variablesViewer.setLabelProvider(new AuditLabelProvider());
-        variablesViewer.setUseHashlookup(true);
-        variablesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				getViewer().refresh();
-			}
-        });
-        return variablesViewer;
-    }
-    
-    public void setLogFile(String logFileName) {
-    	this.logFileName = logFileName;
-    	refresh();
-		deleteAction.setEnabled(logFileName != null);
-        refreshAction.setEnabled(logFileName != null);
-    }
-    
-    public void refresh() {
-    	if (logFileName == null) {
-    		getViewer().setInput(null);
-    		return;
-    	}
-		try {
-			XStream xstream = new XStream();
-			ObjectInputStream in = xstream.createObjectInputStream(
-				new FileReader(logFileName));
-			getViewer().setInput(createEventList((List) in.readObject()));
-			// TODO: this is necessary because otherwise, the show cause action
-			// cannot find the cause event if it hasn't been shown yet
-			((TreeViewer) getViewer()).expandAll();
-		} catch (FileNotFoundException e) {
-			setLogFile(null);
-			getViewer().setInput(null);
-		} catch (Throwable t) {
-			DroolsEclipsePlugin.log(t);
-			getViewer().setInput(null);
-		}
-    }
-    
-    protected List createEventList(List logEvents) {
-		Iterator iterator = logEvents.iterator();
-		List events = new ArrayList();
-		Event currentBeforeActivationEvent = null;
-		Event currentBeforePackageEvent = null;
-		List newActivations = new ArrayList();
-		Map activationMap = new HashMap();
-		Map objectMap = new HashMap();
-		while (iterator.hasNext()) {
-			LogEvent inEvent = (LogEvent) iterator.next();
-			Event event = new Event(inEvent.getType());
-			switch (inEvent.getType()) {
-				case LogEvent.INSERTED:
-					ObjectLogEvent inObjectEvent = (ObjectLogEvent) inEvent;
-					event.setString("Object inserted (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					event.addSubEvents(newActivations);
-					newActivations.clear();
-					objectMap.put(new Long(((ObjectLogEvent) inEvent).getFactId()), event);
-					break;
-				case LogEvent.UPDATED:
-					inObjectEvent = (ObjectLogEvent) inEvent;
-					event.setString("Object updated (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					event.addSubEvents(newActivations);
-					newActivations.clear();
-					Event assertEvent = (Event) objectMap.get(new Long(((ObjectLogEvent) inEvent).getFactId()));
-					if (assertEvent != null) {
-						event.setCauseEvent(assertEvent);
-					}
-					break;
-				case LogEvent.RETRACTED:
-					inObjectEvent = (ObjectLogEvent) inEvent;
-					event.setString("Object removed (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					event.addSubEvents(newActivations);
-					newActivations.clear();
-					assertEvent = (Event) objectMap.get(new Long(((ObjectLogEvent) inEvent).getFactId()));
-					if (assertEvent != null) {
-						event.setCauseEvent(assertEvent);
-					}
-					break;
-				case LogEvent.ACTIVATION_CREATED:
-					ActivationLogEvent inActivationEvent = (ActivationLogEvent) inEvent;
-					event.setString("Activation created: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
-					newActivations.add(event);
-					activationMap.put(((ActivationLogEvent) inEvent).getActivationId(), event);
-					break;
-				case LogEvent.ACTIVATION_CANCELLED:
-					inActivationEvent = (ActivationLogEvent) inEvent;
-					event.setString("Activation cancelled: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
-					newActivations.add(event);
-					event.setCauseEvent((Event) activationMap.get(((ActivationLogEvent) inEvent).getActivationId()));
-					break;
-				case LogEvent.BEFORE_ACTIVATION_FIRE:
-					inActivationEvent = (ActivationLogEvent) inEvent;
-					event.setString("Activation executed: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
-					events.add(event);
-					currentBeforeActivationEvent = event;
-					event.setCauseEvent((Event) activationMap.get(((ActivationLogEvent) inEvent).getActivationId()));
-					break;
-				case LogEvent.AFTER_ACTIVATION_FIRE:
-					currentBeforeActivationEvent = null;
-					break;
-				case LogEvent.RULEFLOW_CREATED:
-					RuleFlowLogEvent inRuleFlowEvent = (RuleFlowLogEvent) inEvent;
-					event.setString("RuleFlow started: " + inRuleFlowEvent.getProcessName() + "[" + inRuleFlowEvent.getProcessId() + "]");
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					break;
-				case LogEvent.RULEFLOW_COMPLETED:
-					inRuleFlowEvent = (RuleFlowLogEvent) inEvent;
-					event.setString("RuleFlow completed: " + inRuleFlowEvent.getProcessName() + "[" + inRuleFlowEvent.getProcessId() + "]");
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					break;
-				case LogEvent.RULEFLOW_GROUP_ACTIVATED:
-					RuleFlowGroupLogEvent inRuleFlowGroupEvent = (RuleFlowGroupLogEvent) inEvent;
-					event.setString("RuleFlowGroup activated: " + inRuleFlowGroupEvent.getGroupName() + "[size=" + inRuleFlowGroupEvent.getSize() + "]");
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					break;
-				case LogEvent.RULEFLOW_GROUP_DEACTIVATED:
-					inRuleFlowGroupEvent = (RuleFlowGroupLogEvent) inEvent;
-					event.setString("RuleFlowGroup deactivated: " + inRuleFlowGroupEvent.getGroupName() + "[size=" + inRuleFlowGroupEvent.getSize() + "]");
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					break;
-				case LogEvent.BEFORE_PACKAGE_ADDED:
-					RuleBaseLogEvent ruleBaseEvent = (RuleBaseLogEvent) inEvent;
-					event.setString("Package added: " + ruleBaseEvent.getPackageName());
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					currentBeforePackageEvent = event;
-					break;
-				case LogEvent.AFTER_PACKAGE_ADDED:
-					currentBeforePackageEvent = null;
-					break;
-				case LogEvent.BEFORE_PACKAGE_REMOVED:
-					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
-					event.setString("Package removed: " + ruleBaseEvent.getPackageName());
-					if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					currentBeforePackageEvent = event;
-					break;
-				case LogEvent.AFTER_PACKAGE_REMOVED:
-					currentBeforePackageEvent = null;
-					break;
-				case LogEvent.AFTER_RULE_ADDED:
-					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
-					event.setString("Rule added: " + ruleBaseEvent.getRuleName());
-					if (currentBeforePackageEvent != null) {
-						currentBeforePackageEvent.addSubEvent(event);
-					} else if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					event.addSubEvents(newActivations);
-					newActivations.clear();
-					break;
-				case LogEvent.AFTER_RULE_REMOVED:
-					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
-					event.setString("Rule removed: " + ruleBaseEvent.getRuleName());
-					if (currentBeforePackageEvent != null) {
-						currentBeforePackageEvent.addSubEvent(event);
-					} else if (currentBeforeActivationEvent != null) {
-						currentBeforeActivationEvent.addSubEvent(event);
-					} else {
-						events.add(event);
-					}
-					event.addSubEvents(newActivations);
-					newActivations.clear();
-					break;
-			}
-		}
-		return events;
-    }
-    
-    public void deleteLog() {
-    	if (logFileName != null) {
-    		File file = new File(logFileName);
-    		try {
-    			file.delete();
-    			// TODO delete file cause this doesn't seem to work
-    			setLogFile(null);
-    			refresh();
-    		} catch (Throwable t) {
-    			t.printStackTrace();
-    			DroolsEclipsePlugin.log(t);
-    		}
-    	}
-    }
-    
-	protected void becomesVisible() {
-		refresh();
-	}
-    
-    protected String getHelpContextId() {
-        return null;
-    }
-    
-    public Event getSelectedEvent() {
-    	ISelection selection = getViewer().getSelection();
-    	if (selection instanceof IStructuredSelection) {
-    		Object selected = ((IStructuredSelection) selection).getFirstElement();
-    		if (selected instanceof Event) {
-    			return (Event) selected;
-    		}
-    	}
-    	return null;
-    }
-    
-    public void showEvent(Event event) {
-    	((TreeViewer) getViewer()).reveal(event);
-    }
-
-    protected void fillContextMenu(IMenuManager menu) {
-    	Event selected = getSelectedEvent();
-    	if (selected != null) {
-			Event causeEvent = selected.getCauseEvent();
-			if (causeEvent != null) {
-				menu.add(getAction("ShowEventCause"));
-			}
-    	}
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-    }
-
-	protected void createActions() {
-        deleteAction = new DeleteLogAction(this);
-        setAction("ClearLog", deleteAction);
-        deleteAction.setEnabled(logFileName != null);
-        refreshAction = new RefreshLogAction(this);
-        setAction("RefreshLog", refreshAction);
-        refreshAction.setEnabled(logFileName != null);
-        IAction action = new OpenLogAction(this);
-        setAction("OpenLog", action);
-		action = new ShowEventCauseAction(this);
-		setAction("ShowEventCause", action);
-    }
-
-    protected void configureToolBar(IToolBarManager tbm) {
-        tbm.add(getAction("OpenLog"));
-        tbm.add(getAction("RefreshLog"));
-        tbm.add(getAction("ClearLog"));
-    }
-    
-    public void saveState(IMemento memento) {
-    	memento.putString(LOG_FILE_NAME, logFileName);
-    }
-    
-    public void init(IViewSite site, IMemento memento) throws PartInitException {
-        super.init(site, memento);
-        if (memento != null) {
-        	logFileName = memento.getString(LOG_FILE_NAME);
-        }
-    }
-    
-	public class Event {
-		
-		private String toString;
-		private int type;
-		private List subEvents = new ArrayList();
-		private Event causeEvent;
-		
-		public Event(int type) {
-			this.type = type;
-		}
-		
-		public void setString(String toString) {
-			this.toString = toString;
-		}
-		
-		public String toString() {
-			return toString;
-		}
-		
-		public int getType() {
-			return type;
-		}
-		
-		public void addSubEvent(Event subEvent) {
-			subEvents.add(subEvent);
-		}
-		
-		public void addSubEvents(Collection subEvents) {
-			this.subEvents.addAll(subEvents);
-		}
-		
-		public Object[] getSubEvents() {
-			return subEvents.toArray();
-		}
-		
-		public boolean hasSubEvents() {
-			return !subEvents.isEmpty();
-		}
-		
-		public void setCauseEvent(Event causeEvent) {
-			this.causeEvent = causeEvent;
-		}
-		
-		public Event getCauseEvent() {
-			return causeEvent;
-		}
-	}
-	
-	public class AuditLabelProvider extends LabelProvider implements IColorProvider {
-
-		public Color getForeground(Object element) {
-			return null;
-		}
-
-		public Color getBackground(Object element) {
-			Event selected = getSelectedEvent();
-			if (selected != null) {
-				if (element.equals(selected.getCauseEvent())) {
-			        Color color = DroolsEclipsePlugin.getDefault().getColor(CAUSE_EVENT_COLOR);
-			        if (color == null) {
-			        	color = new Color(getControl().getDisplay(), 0, 255, 0); 
-		        		DroolsEclipsePlugin.getDefault().setColor(CAUSE_EVENT_COLOR, color);
-			        }
-			        return color;
-				}
-			}
-			return null;
-		}
-		
-	    public Image getImage(Object element) {
-	    	if (element instanceof Event) {
-	    		int type = ((Event) element).getType();
-	    		switch (type) {
-	    			case LogEvent.INSERTED: return DroolsPluginImages.getImage(DroolsPluginImages.INSERT);
-	    			case LogEvent.UPDATED: return DroolsPluginImages.getImage(DroolsPluginImages.UPDATE);
-	    			case LogEvent.RETRACTED: return DroolsPluginImages.getImage(DroolsPluginImages.RETRACT);
-	    			case LogEvent.ACTIVATION_CREATED: return DroolsPluginImages.getImage(DroolsPluginImages.CREATE_ACTIVATION);
-	    			case LogEvent.ACTIVATION_CANCELLED: return DroolsPluginImages.getImage(DroolsPluginImages.CANCEL_ACTIVATION);
-	    			case LogEvent.BEFORE_ACTIVATION_FIRE: return DroolsPluginImages.getImage(DroolsPluginImages.EXECUTE_ACTIVATION);
-	    			case LogEvent.RULEFLOW_CREATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
-	    			case LogEvent.RULEFLOW_COMPLETED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
-	    			case LogEvent.RULEFLOW_GROUP_ACTIVATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
-	    			case LogEvent.RULEFLOW_GROUP_DEACTIVATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
-	    			case LogEvent.BEFORE_PACKAGE_ADDED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
-	    			case LogEvent.BEFORE_PACKAGE_REMOVED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
-	    			case LogEvent.AFTER_RULE_ADDED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
-	    			case LogEvent.AFTER_RULE_REMOVED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
-	    		}
-	    		return null;
-	    	}
-	        return null;
-	    }
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,441 @@
+package org.drools.eclipse.debug;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.ObjectInputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.audit.event.ActivationLogEvent;
+import org.drools.audit.event.LogEvent;
+import org.drools.audit.event.ObjectLogEvent;
+import org.drools.audit.event.RuleBaseLogEvent;
+import org.drools.audit.event.RuleFlowGroupLogEvent;
+import org.drools.audit.event.RuleFlowLogEvent;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.debug.actions.DeleteLogAction;
+import org.drools.eclipse.debug.actions.OpenLogAction;
+import org.drools.eclipse.debug.actions.RefreshLogAction;
+import org.drools.eclipse.debug.actions.ShowEventCauseAction;
+import org.eclipse.debug.ui.AbstractDebugView;
+import org.eclipse.jface.action.GroupMarker;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.PartInitException;
+
+import com.thoughtworks.xstream.XStream;
+
+public class AuditView extends AbstractDebugView {
+	
+	private static final String LOG_FILE_NAME = "LogFileName";
+	private static final String CAUSE_EVENT_COLOR = "CauseEventColor";
+	
+	private String logFileName;
+	private IAction deleteAction;
+	private IAction refreshAction;
+	
+    protected Viewer createViewer(Composite parent) {
+		final TreeViewer variablesViewer = new TreeViewer(parent);
+		variablesViewer.setContentProvider(new AuditViewContentProvider());
+        variablesViewer.setLabelProvider(new AuditLabelProvider());
+        variablesViewer.setUseHashlookup(true);
+        variablesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+			public void selectionChanged(SelectionChangedEvent event) {
+				getViewer().refresh();
+			}
+        });
+        return variablesViewer;
+    }
+    
+    public void setLogFile(String logFileName) {
+    	this.logFileName = logFileName;
+    	refresh();
+		deleteAction.setEnabled(logFileName != null);
+        refreshAction.setEnabled(logFileName != null);
+    }
+    
+    public void refresh() {
+    	if (logFileName == null) {
+    		getViewer().setInput(null);
+    		return;
+    	}
+		try {
+			XStream xstream = new XStream();
+			ObjectInputStream in = xstream.createObjectInputStream(
+				new FileReader(logFileName));
+			getViewer().setInput(createEventList((List) in.readObject()));
+			// TODO: this is necessary because otherwise, the show cause action
+			// cannot find the cause event if it hasn't been shown yet
+			((TreeViewer) getViewer()).expandAll();
+		} catch (FileNotFoundException e) {
+			setLogFile(null);
+			getViewer().setInput(null);
+		} catch (Throwable t) {
+			DroolsEclipsePlugin.log(t);
+			getViewer().setInput(null);
+		}
+    }
+    
+    protected List createEventList(List logEvents) {
+		Iterator iterator = logEvents.iterator();
+		List events = new ArrayList();
+		Event currentBeforeActivationEvent = null;
+		Event currentBeforePackageEvent = null;
+		List newActivations = new ArrayList();
+		Map activationMap = new HashMap();
+		Map objectMap = new HashMap();
+		while (iterator.hasNext()) {
+			LogEvent inEvent = (LogEvent) iterator.next();
+			Event event = new Event(inEvent.getType());
+			switch (inEvent.getType()) {
+				case LogEvent.INSERTED:
+					ObjectLogEvent inObjectEvent = (ObjectLogEvent) inEvent;
+					event.setString("Object inserted (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					event.addSubEvents(newActivations);
+					newActivations.clear();
+					objectMap.put(new Long(((ObjectLogEvent) inEvent).getFactId()), event);
+					break;
+				case LogEvent.UPDATED:
+					inObjectEvent = (ObjectLogEvent) inEvent;
+					event.setString("Object updated (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					event.addSubEvents(newActivations);
+					newActivations.clear();
+					Event assertEvent = (Event) objectMap.get(new Long(((ObjectLogEvent) inEvent).getFactId()));
+					if (assertEvent != null) {
+						event.setCauseEvent(assertEvent);
+					}
+					break;
+				case LogEvent.RETRACTED:
+					inObjectEvent = (ObjectLogEvent) inEvent;
+					event.setString("Object removed (" + inObjectEvent.getFactId() + "): " + inObjectEvent.getObjectToString());
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					event.addSubEvents(newActivations);
+					newActivations.clear();
+					assertEvent = (Event) objectMap.get(new Long(((ObjectLogEvent) inEvent).getFactId()));
+					if (assertEvent != null) {
+						event.setCauseEvent(assertEvent);
+					}
+					break;
+				case LogEvent.ACTIVATION_CREATED:
+					ActivationLogEvent inActivationEvent = (ActivationLogEvent) inEvent;
+					event.setString("Activation created: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
+					newActivations.add(event);
+					activationMap.put(((ActivationLogEvent) inEvent).getActivationId(), event);
+					break;
+				case LogEvent.ACTIVATION_CANCELLED:
+					inActivationEvent = (ActivationLogEvent) inEvent;
+					event.setString("Activation cancelled: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
+					newActivations.add(event);
+					event.setCauseEvent((Event) activationMap.get(((ActivationLogEvent) inEvent).getActivationId()));
+					break;
+				case LogEvent.BEFORE_ACTIVATION_FIRE:
+					inActivationEvent = (ActivationLogEvent) inEvent;
+					event.setString("Activation executed: Rule " + inActivationEvent.getRule() + " " + inActivationEvent.getDeclarations());
+					events.add(event);
+					currentBeforeActivationEvent = event;
+					event.setCauseEvent((Event) activationMap.get(((ActivationLogEvent) inEvent).getActivationId()));
+					break;
+				case LogEvent.AFTER_ACTIVATION_FIRE:
+					currentBeforeActivationEvent = null;
+					break;
+				case LogEvent.RULEFLOW_CREATED:
+					RuleFlowLogEvent inRuleFlowEvent = (RuleFlowLogEvent) inEvent;
+					event.setString("RuleFlow started: " + inRuleFlowEvent.getProcessName() + "[" + inRuleFlowEvent.getProcessId() + "]");
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					break;
+				case LogEvent.RULEFLOW_COMPLETED:
+					inRuleFlowEvent = (RuleFlowLogEvent) inEvent;
+					event.setString("RuleFlow completed: " + inRuleFlowEvent.getProcessName() + "[" + inRuleFlowEvent.getProcessId() + "]");
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					break;
+				case LogEvent.RULEFLOW_GROUP_ACTIVATED:
+					RuleFlowGroupLogEvent inRuleFlowGroupEvent = (RuleFlowGroupLogEvent) inEvent;
+					event.setString("RuleFlowGroup activated: " + inRuleFlowGroupEvent.getGroupName() + "[size=" + inRuleFlowGroupEvent.getSize() + "]");
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					break;
+				case LogEvent.RULEFLOW_GROUP_DEACTIVATED:
+					inRuleFlowGroupEvent = (RuleFlowGroupLogEvent) inEvent;
+					event.setString("RuleFlowGroup deactivated: " + inRuleFlowGroupEvent.getGroupName() + "[size=" + inRuleFlowGroupEvent.getSize() + "]");
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					break;
+				case LogEvent.BEFORE_PACKAGE_ADDED:
+					RuleBaseLogEvent ruleBaseEvent = (RuleBaseLogEvent) inEvent;
+					event.setString("Package added: " + ruleBaseEvent.getPackageName());
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					currentBeforePackageEvent = event;
+					break;
+				case LogEvent.AFTER_PACKAGE_ADDED:
+					currentBeforePackageEvent = null;
+					break;
+				case LogEvent.BEFORE_PACKAGE_REMOVED:
+					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
+					event.setString("Package removed: " + ruleBaseEvent.getPackageName());
+					if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					currentBeforePackageEvent = event;
+					break;
+				case LogEvent.AFTER_PACKAGE_REMOVED:
+					currentBeforePackageEvent = null;
+					break;
+				case LogEvent.AFTER_RULE_ADDED:
+					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
+					event.setString("Rule added: " + ruleBaseEvent.getRuleName());
+					if (currentBeforePackageEvent != null) {
+						currentBeforePackageEvent.addSubEvent(event);
+					} else if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					event.addSubEvents(newActivations);
+					newActivations.clear();
+					break;
+				case LogEvent.AFTER_RULE_REMOVED:
+					ruleBaseEvent = (RuleBaseLogEvent) inEvent;
+					event.setString("Rule removed: " + ruleBaseEvent.getRuleName());
+					if (currentBeforePackageEvent != null) {
+						currentBeforePackageEvent.addSubEvent(event);
+					} else if (currentBeforeActivationEvent != null) {
+						currentBeforeActivationEvent.addSubEvent(event);
+					} else {
+						events.add(event);
+					}
+					event.addSubEvents(newActivations);
+					newActivations.clear();
+					break;
+			}
+		}
+		return events;
+    }
+    
+    public void deleteLog() {
+    	if (logFileName != null) {
+    		File file = new File(logFileName);
+    		try {
+    			file.delete();
+    			// TODO delete file cause this doesn't seem to work
+    			setLogFile(null);
+    			refresh();
+    		} catch (Throwable t) {
+    			t.printStackTrace();
+    			DroolsEclipsePlugin.log(t);
+    		}
+    	}
+    }
+    
+	protected void becomesVisible() {
+		refresh();
+	}
+    
+    protected String getHelpContextId() {
+        return null;
+    }
+    
+    public Event getSelectedEvent() {
+    	ISelection selection = getViewer().getSelection();
+    	if (selection instanceof IStructuredSelection) {
+    		Object selected = ((IStructuredSelection) selection).getFirstElement();
+    		if (selected instanceof Event) {
+    			return (Event) selected;
+    		}
+    	}
+    	return null;
+    }
+    
+    public void showEvent(Event event) {
+    	((TreeViewer) getViewer()).reveal(event);
+    }
+
+    protected void fillContextMenu(IMenuManager menu) {
+    	Event selected = getSelectedEvent();
+    	if (selected != null) {
+			Event causeEvent = selected.getCauseEvent();
+			if (causeEvent != null) {
+				menu.add(getAction("ShowEventCause"));
+			}
+    	}
+		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+    }
+
+	protected void createActions() {
+        deleteAction = new DeleteLogAction(this);
+        setAction("ClearLog", deleteAction);
+        deleteAction.setEnabled(logFileName != null);
+        refreshAction = new RefreshLogAction(this);
+        setAction("RefreshLog", refreshAction);
+        refreshAction.setEnabled(logFileName != null);
+        IAction action = new OpenLogAction(this);
+        setAction("OpenLog", action);
+		action = new ShowEventCauseAction(this);
+		setAction("ShowEventCause", action);
+    }
+
+    protected void configureToolBar(IToolBarManager tbm) {
+        tbm.add(getAction("OpenLog"));
+        tbm.add(getAction("RefreshLog"));
+        tbm.add(getAction("ClearLog"));
+    }
+    
+    public void saveState(IMemento memento) {
+    	memento.putString(LOG_FILE_NAME, logFileName);
+    }
+    
+    public void init(IViewSite site, IMemento memento) throws PartInitException {
+        super.init(site, memento);
+        if (memento != null) {
+        	logFileName = memento.getString(LOG_FILE_NAME);
+        }
+    }
+    
+	public class Event {
+		
+		private String toString;
+		private int type;
+		private List subEvents = new ArrayList();
+		private Event causeEvent;
+		
+		public Event(int type) {
+			this.type = type;
+		}
+		
+		public void setString(String toString) {
+			this.toString = toString;
+		}
+		
+		public String toString() {
+			return toString;
+		}
+		
+		public int getType() {
+			return type;
+		}
+		
+		public void addSubEvent(Event subEvent) {
+			subEvents.add(subEvent);
+		}
+		
+		public void addSubEvents(Collection subEvents) {
+			this.subEvents.addAll(subEvents);
+		}
+		
+		public Object[] getSubEvents() {
+			return subEvents.toArray();
+		}
+		
+		public boolean hasSubEvents() {
+			return !subEvents.isEmpty();
+		}
+		
+		public void setCauseEvent(Event causeEvent) {
+			this.causeEvent = causeEvent;
+		}
+		
+		public Event getCauseEvent() {
+			return causeEvent;
+		}
+	}
+	
+	public class AuditLabelProvider extends LabelProvider implements IColorProvider {
+
+		public Color getForeground(Object element) {
+			return null;
+		}
+
+		public Color getBackground(Object element) {
+			Event selected = getSelectedEvent();
+			if (selected != null) {
+				if (element.equals(selected.getCauseEvent())) {
+			        Color color = DroolsEclipsePlugin.getDefault().getColor(CAUSE_EVENT_COLOR);
+			        if (color == null) {
+			        	color = new Color(getControl().getDisplay(), 0, 255, 0); 
+		        		DroolsEclipsePlugin.getDefault().setColor(CAUSE_EVENT_COLOR, color);
+			        }
+			        return color;
+				}
+			}
+			return null;
+		}
+		
+	    public Image getImage(Object element) {
+	    	if (element instanceof Event) {
+	    		int type = ((Event) element).getType();
+	    		switch (type) {
+	    			case LogEvent.INSERTED: return DroolsPluginImages.getImage(DroolsPluginImages.INSERT);
+	    			case LogEvent.UPDATED: return DroolsPluginImages.getImage(DroolsPluginImages.UPDATE);
+	    			case LogEvent.RETRACTED: return DroolsPluginImages.getImage(DroolsPluginImages.RETRACT);
+	    			case LogEvent.ACTIVATION_CREATED: return DroolsPluginImages.getImage(DroolsPluginImages.CREATE_ACTIVATION);
+	    			case LogEvent.ACTIVATION_CANCELLED: return DroolsPluginImages.getImage(DroolsPluginImages.CANCEL_ACTIVATION);
+	    			case LogEvent.BEFORE_ACTIVATION_FIRE: return DroolsPluginImages.getImage(DroolsPluginImages.EXECUTE_ACTIVATION);
+	    			case LogEvent.RULEFLOW_CREATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
+	    			case LogEvent.RULEFLOW_COMPLETED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
+	    			case LogEvent.RULEFLOW_GROUP_ACTIVATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
+	    			case LogEvent.RULEFLOW_GROUP_DEACTIVATED: return DroolsPluginImages.getImage(DroolsPluginImages.RULEFLOW);
+	    			case LogEvent.BEFORE_PACKAGE_ADDED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
+	    			case LogEvent.BEFORE_PACKAGE_REMOVED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
+	    			case LogEvent.AFTER_RULE_ADDED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
+	    			case LogEvent.AFTER_RULE_REMOVED: return DroolsPluginImages.getImage(DroolsPluginImages.DROOLS);
+	    		}
+	    		return null;
+	    	}
+	        return null;
+	    }
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,29 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.List;
-
-import org.drools.eclipse.debug.AuditView.Event;
-
-public class AuditViewContentProvider extends DroolsDebugViewContentProvider {
-
-    protected String getEmptyString() {
-    	return "The selected audit log is empty.";
-    }
-
-    public Object[] getChildren(Object obj) {
-		if (obj instanceof List) {
-			return ((List) obj).toArray();
-		}
-        if (obj instanceof Event) {
-    		return ((Event) obj).getSubEvents();
-        }
-        return new Object[0];
-    }
-    
-    public boolean hasChildren(Object obj) {
-        if (obj instanceof Event) {
-    		return ((Event) obj).hasSubEvents();
-        }
-        return false;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/AuditViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,29 @@
+package org.drools.eclipse.debug;
+
+import java.util.List;
+
+import org.drools.eclipse.debug.AuditView.Event;
+
+public class AuditViewContentProvider extends DroolsDebugViewContentProvider {
+
+    protected String getEmptyString() {
+    	return "The selected audit log is empty.";
+    }
+
+    public Object[] getChildren(Object obj) {
+		if (obj instanceof List) {
+			return ((List) obj).toArray();
+		}
+        if (obj instanceof Event) {
+    		return ((Event) obj).getSubEvents();
+        }
+        return new Object[0];
+    }
+    
+    public boolean hasChildren(Object obj) {
+        if (obj instanceof Event) {
+    		return ((Event) obj).hasSubEvents();
+        }
+        return false;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,204 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.debug.core.IJavaClassType;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaReferenceType;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.eval.IAstEvaluationEngine;
-import org.eclipse.jdt.debug.eval.ICompiledExpression;
-import org.eclipse.jdt.debug.eval.IEvaluationListener;
-import org.eclipse.jdt.debug.eval.IEvaluationResult;
-import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
-
-public class DebugUtil {
-
-    public static final int INFO_EVALUATION_STACK_FRAME = 111;
-    private static IStatus fgNeedStackFrame = new Status(IStatus.INFO,
-        DroolsEclipsePlugin.getUniqueIdentifier(), INFO_EVALUATION_STACK_FRAME,
-        "Provides thread context for an evaluation", null);
-    private static IStatusHandler fgStackFrameProvider;
-
-    public static IValue getValueByExpression(String expression, IValue value) {
-        if (!(value instanceof IJavaObject)) {
-            return null;
-        }
-        IJavaObject javaValue = (IJavaObject) value;
-        try {
-            IJavaType type = javaValue.getJavaType();
-            if (!(type instanceof IJavaClassType)) {
-                return null;
-            }
-            IJavaStackFrame stackFrame = getStackFrame(javaValue);
-            if (stackFrame == null) {
-                return null;
-            }
-
-			// find the project the snippets will be compiled in.
-			ISourceLocator locator= javaValue.getLaunch().getSourceLocator();
-			Object sourceElement= null;
-			if (locator instanceof ISourceLookupDirector) {
-				String[] sourcePaths = ((IJavaClassType) type).getSourcePaths(null);
-				if (sourcePaths != null && sourcePaths.length > 0) {
-					sourceElement = ((ISourceLookupDirector) locator).getSourceElement(sourcePaths[0]);
-				}
-				if (!(sourceElement instanceof IJavaElement) && sourceElement instanceof IAdaptable) {
-					sourceElement = ((IAdaptable) sourceElement).getAdapter(IJavaElement.class);
-				}
-			}
-			if (sourceElement == null) {
-				sourceElement = locator.getSourceElement(stackFrame);
-				if (!(sourceElement instanceof IJavaElement) && sourceElement instanceof IAdaptable) {
-					Object newSourceElement = ((IAdaptable) sourceElement).getAdapter(IJavaElement.class);
-					// if the source is a drl during the execution of the rule
-					if (newSourceElement != null) {
-						sourceElement = newSourceElement;
-					}
-				}
-			}
-			IJavaProject project = null;
-			if (sourceElement instanceof IJavaElement) {
-				project = ((IJavaElement) sourceElement).getJavaProject();
-			} else if (sourceElement instanceof IResource) {
-				IJavaProject resourceProject = JavaCore.create(((IResource) sourceElement).getProject());
-				if (resourceProject.exists()) {
-					project = resourceProject;
-				}
-			}
-            if (project == null) {
-                return null;
-            }
-
-            IAstEvaluationEngine evaluationEngine = JDIDebugPlugin.getDefault()
-                    .getEvaluationEngine(project,
-                            (IJavaDebugTarget) stackFrame.getDebugTarget());
-
-            EvaluationBlock evaluationBlock = new EvaluationBlock(javaValue,
-                    (IJavaReferenceType) type, (IJavaThread) stackFrame.getThread(),
-                    evaluationEngine);
-            return evaluationBlock.evaluate(expression);
-
-        } catch (CoreException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-        return null;
-    }
-
-    /**
-     * Return the current stack frame context, or a valid stack frame for the
-     * given value.
-     */
-    private static IJavaStackFrame getStackFrame(IValue value)
-            throws CoreException {
-        IStatusHandler handler = getStackFrameProvider();
-        if (handler != null) {
-            IJavaStackFrame stackFrame = (IJavaStackFrame) handler
-                    .handleStatus(fgNeedStackFrame, value);
-            if (stackFrame != null) {
-                return stackFrame;
-            }
-        }
-        IDebugTarget target = value.getDebugTarget();
-        IJavaDebugTarget javaTarget = (IJavaDebugTarget) target
-                .getAdapter(IJavaDebugTarget.class);
-        if (javaTarget != null) {
-            IThread[] threads = javaTarget.getThreads();
-            for (int i = 0; i < threads.length; i++) {
-                IThread thread = threads[i];
-                if (thread.isSuspended()) {
-                    return (IJavaStackFrame) thread.getTopStackFrame();
-                }
-            }
-        }
-        return null;
-    }
-
-    private static IStatusHandler getStackFrameProvider() {
-        if (fgStackFrameProvider == null) {
-            fgStackFrameProvider = DebugPlugin.getDefault().getStatusHandler(
-                    fgNeedStackFrame);
-        }
-        return fgStackFrameProvider;
-    }
-
-    private static class EvaluationBlock implements IEvaluationListener {
-
-        private IJavaObject fEvaluationValue;
-        private IJavaReferenceType fEvaluationType;
-        private IJavaThread fThread;
-        private IAstEvaluationEngine fEvaluationEngine;
-        private IEvaluationResult fResult;
-
-        public EvaluationBlock(IJavaObject value, IJavaReferenceType type,
-                IJavaThread thread, IAstEvaluationEngine evaluationEngine) {
-            fEvaluationValue = value;
-            fEvaluationType = type;
-            fThread = thread;
-            fEvaluationEngine = evaluationEngine;
-        }
-
-        public void evaluationComplete(IEvaluationResult result) {
-            synchronized (this) {
-                fResult = result;
-                this.notify();
-            }
-        }
-
-        public IJavaValue evaluate(String snippet) throws DebugException {
-            ICompiledExpression compiledExpression = fEvaluationEngine
-                    .getCompiledExpression(snippet, fEvaluationType);
-            if (compiledExpression.hasErrors()) {
-                String[] errorMessages = compiledExpression.getErrorMessages();
-                String message = "";
-
-                for ( int i = 0; i < errorMessages.length; i++ ) {
-                    message += errorMessages[i] + "\n";
-                }
-                throw new DebugException(new Status(IStatus.ERROR, 
-                    DroolsEclipsePlugin.PLUGIN_ID, DroolsEclipsePlugin.INTERNAL_ERROR,
-                    "Error when compiling snippet " + snippet + ": " + message, null));
-            }
-            fResult = null;
-            fEvaluationEngine.evaluateExpression(compiledExpression,
-                    fEvaluationValue, fThread, this,
-                    DebugEvent.EVALUATION_IMPLICIT, false);
-            synchronized (this) {
-                if (fResult == null) {
-                    try {
-                        this.wait();
-                    } catch (InterruptedException e) {
-                    }
-                }
-            }
-            if (fResult == null) {
-                return null;
-            }
-            if (fResult.hasErrors()) {
-                return null;
-            }
-            return fResult.getValue();
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DebugUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,204 @@
+package org.drools.eclipse.debug;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.IStatusHandler;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.ISourceLocator;
+import org.eclipse.debug.core.model.IThread;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.debug.core.IJavaClassType;
+import org.eclipse.jdt.debug.core.IJavaDebugTarget;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaReferenceType;
+import org.eclipse.jdt.debug.core.IJavaStackFrame;
+import org.eclipse.jdt.debug.core.IJavaThread;
+import org.eclipse.jdt.debug.core.IJavaType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.eval.IAstEvaluationEngine;
+import org.eclipse.jdt.debug.eval.ICompiledExpression;
+import org.eclipse.jdt.debug.eval.IEvaluationListener;
+import org.eclipse.jdt.debug.eval.IEvaluationResult;
+import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
+
+public class DebugUtil {
+
+    public static final int INFO_EVALUATION_STACK_FRAME = 111;
+    private static IStatus fgNeedStackFrame = new Status(IStatus.INFO,
+        DroolsEclipsePlugin.getUniqueIdentifier(), INFO_EVALUATION_STACK_FRAME,
+        "Provides thread context for an evaluation", null);
+    private static IStatusHandler fgStackFrameProvider;
+
+    public static IValue getValueByExpression(String expression, IValue value) {
+        if (!(value instanceof IJavaObject)) {
+            return null;
+        }
+        IJavaObject javaValue = (IJavaObject) value;
+        try {
+            IJavaType type = javaValue.getJavaType();
+            if (!(type instanceof IJavaClassType)) {
+                return null;
+            }
+            IJavaStackFrame stackFrame = getStackFrame(javaValue);
+            if (stackFrame == null) {
+                return null;
+            }
+
+			// find the project the snippets will be compiled in.
+			ISourceLocator locator= javaValue.getLaunch().getSourceLocator();
+			Object sourceElement= null;
+			if (locator instanceof ISourceLookupDirector) {
+				String[] sourcePaths = ((IJavaClassType) type).getSourcePaths(null);
+				if (sourcePaths != null && sourcePaths.length > 0) {
+					sourceElement = ((ISourceLookupDirector) locator).getSourceElement(sourcePaths[0]);
+				}
+				if (!(sourceElement instanceof IJavaElement) && sourceElement instanceof IAdaptable) {
+					sourceElement = ((IAdaptable) sourceElement).getAdapter(IJavaElement.class);
+				}
+			}
+			if (sourceElement == null) {
+				sourceElement = locator.getSourceElement(stackFrame);
+				if (!(sourceElement instanceof IJavaElement) && sourceElement instanceof IAdaptable) {
+					Object newSourceElement = ((IAdaptable) sourceElement).getAdapter(IJavaElement.class);
+					// if the source is a drl during the execution of the rule
+					if (newSourceElement != null) {
+						sourceElement = newSourceElement;
+					}
+				}
+			}
+			IJavaProject project = null;
+			if (sourceElement instanceof IJavaElement) {
+				project = ((IJavaElement) sourceElement).getJavaProject();
+			} else if (sourceElement instanceof IResource) {
+				IJavaProject resourceProject = JavaCore.create(((IResource) sourceElement).getProject());
+				if (resourceProject.exists()) {
+					project = resourceProject;
+				}
+			}
+            if (project == null) {
+                return null;
+            }
+
+            IAstEvaluationEngine evaluationEngine = JDIDebugPlugin.getDefault()
+                    .getEvaluationEngine(project,
+                            (IJavaDebugTarget) stackFrame.getDebugTarget());
+
+            EvaluationBlock evaluationBlock = new EvaluationBlock(javaValue,
+                    (IJavaReferenceType) type, (IJavaThread) stackFrame.getThread(),
+                    evaluationEngine);
+            return evaluationBlock.evaluate(expression);
+
+        } catch (CoreException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+        return null;
+    }
+
+    /**
+     * Return the current stack frame context, or a valid stack frame for the
+     * given value.
+     */
+    private static IJavaStackFrame getStackFrame(IValue value)
+            throws CoreException {
+        IStatusHandler handler = getStackFrameProvider();
+        if (handler != null) {
+            IJavaStackFrame stackFrame = (IJavaStackFrame) handler
+                    .handleStatus(fgNeedStackFrame, value);
+            if (stackFrame != null) {
+                return stackFrame;
+            }
+        }
+        IDebugTarget target = value.getDebugTarget();
+        IJavaDebugTarget javaTarget = (IJavaDebugTarget) target
+                .getAdapter(IJavaDebugTarget.class);
+        if (javaTarget != null) {
+            IThread[] threads = javaTarget.getThreads();
+            for (int i = 0; i < threads.length; i++) {
+                IThread thread = threads[i];
+                if (thread.isSuspended()) {
+                    return (IJavaStackFrame) thread.getTopStackFrame();
+                }
+            }
+        }
+        return null;
+    }
+
+    private static IStatusHandler getStackFrameProvider() {
+        if (fgStackFrameProvider == null) {
+            fgStackFrameProvider = DebugPlugin.getDefault().getStatusHandler(
+                    fgNeedStackFrame);
+        }
+        return fgStackFrameProvider;
+    }
+
+    private static class EvaluationBlock implements IEvaluationListener {
+
+        private IJavaObject fEvaluationValue;
+        private IJavaReferenceType fEvaluationType;
+        private IJavaThread fThread;
+        private IAstEvaluationEngine fEvaluationEngine;
+        private IEvaluationResult fResult;
+
+        public EvaluationBlock(IJavaObject value, IJavaReferenceType type,
+                IJavaThread thread, IAstEvaluationEngine evaluationEngine) {
+            fEvaluationValue = value;
+            fEvaluationType = type;
+            fThread = thread;
+            fEvaluationEngine = evaluationEngine;
+        }
+
+        public void evaluationComplete(IEvaluationResult result) {
+            synchronized (this) {
+                fResult = result;
+                this.notify();
+            }
+        }
+
+        public IJavaValue evaluate(String snippet) throws DebugException {
+            ICompiledExpression compiledExpression = fEvaluationEngine
+                    .getCompiledExpression(snippet, fEvaluationType);
+            if (compiledExpression.hasErrors()) {
+                String[] errorMessages = compiledExpression.getErrorMessages();
+                String message = "";
+
+                for ( int i = 0; i < errorMessages.length; i++ ) {
+                    message += errorMessages[i] + "\n";
+                }
+                throw new DebugException(new Status(IStatus.ERROR, 
+                    DroolsEclipsePlugin.PLUGIN_ID, DroolsEclipsePlugin.INTERNAL_ERROR,
+                    "Error when compiling snippet " + snippet + ": " + message, null));
+            }
+            fResult = null;
+            fEvaluationEngine.evaluateExpression(compiledExpression,
+                    fEvaluationValue, fThread, this,
+                    DebugEvent.EVALUATION_IMPLICIT, false);
+            synchronized (this) {
+                if (fResult == null) {
+                    try {
+                        this.wait();
+                    } catch (InterruptedException e) {
+                    }
+                }
+            }
+            if (fResult == null) {
+                return null;
+            }
+            if (fResult.hasErrors()) {
+                return null;
+            }
+            return fResult.getValue();
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,279 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.debug.actions.ShowLogicalStructureAction;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.VariablesViewModelPresentation;
-import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.contexts.DebugContextEvent;
-import org.eclipse.debug.ui.contexts.IDebugContextListener;
-import org.eclipse.debug.ui.contexts.IDebugContextService;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * A generic Drools debug view.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public abstract class DroolsDebugEventHandlerView extends AbstractDebugView implements IDebugContextListener, ISelectionListener {
-
-    private VariablesViewModelPresentation modelPresentation;
-    private boolean showLogical = true;
-    private Object[] oldExpandedElements = new Object[0];
-
-    public void dispose() {
-		DebugContextManager.getDefault().removeDebugContextListener(this);
-        getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
-        super.dispose();
-    }
-
-    public boolean isShowLogicalStructure() {
-        return showLogical;
-    }
-
-    public void setShowLogicalStructure(boolean showLogical) {
-        this.showLogical = showLogical;
-    }
-
-    protected void setViewerInput(Object context) {
-    	Object input = null;
-    	
-    	// if a working memory has been explicitly selected as variable, use this
-    	if (context instanceof IVariable) {
-        	IVariable variable = (IVariable) context;
-            try {
-                IValue value = ((IVariable) context).getValue();
-                if (value != null && value instanceof IJavaObject
-                        && "org.drools.reteoo.ReteooStatefulSession".equals(
-                            variable.getValue().getReferenceTypeName())) {
-                    input = value;
-                }
-            } catch (Throwable t) {
-                DroolsEclipsePlugin.log(t);
-            }
-        }
-    	// else get selected thread and determine if any of the stack frames
-    	// is executing in a working memory, if so, use that one 
-    	if (input == null) {
-    		IDebugContextService debugContextService = DebugContextManager.getDefault().getContextService(getSite().getWorkbenchWindow());
-    		if (debugContextService != null) {
-	    		ISelection stackSelection = debugContextService.getActiveContext();
-	    		if (stackSelection instanceof IStructuredSelection) {
-	                Object selection = ((IStructuredSelection) stackSelection).getFirstElement();
-	                if (selection instanceof IJavaStackFrame) {
-	                	try {
-	                    	IJavaThread thread = (IJavaThread) ((IJavaStackFrame) selection).getThread();
-	                    	IStackFrame[] frames = thread.getStackFrames();
-	                    	for (int i = 0; i < frames.length; i++) {
-	                            IJavaObject stackObj = ((IJavaStackFrame) frames[i]).getThis();
-	                            if ((stackObj != null)
-	                                    && (stackObj.getJavaType() != null)
-	                                    && ("org.drools.reteoo.ReteooStatefulSession".equals(
-	                                        stackObj.getJavaType().getName()))) {
-	                                input = stackObj;
-	                                break;
-	                            }
-	                    	}
-	                    } catch (Throwable t) {
-	                        DroolsEclipsePlugin.log(t);
-	                    }
-	                }
-	    		}
-    		}
-    	}
-		
-    	Object current = getViewer().getInput();
-				
-		if (current == null && input == null) {
-			return;
-		}
-
-		Object[] newExpandedElements = ((TreeViewer) getViewer()).getExpandedElements();
-		if (newExpandedElements.length != 0) {
-			oldExpandedElements = newExpandedElements;
-		}
-		getViewer().setInput(input);
-		if (input != null) {
-			((TreeViewer) getViewer()).setExpandedElements(oldExpandedElements);
-			((TreeViewer) getViewer()).expandToLevel(getAutoExpandLevel());
-		}
-    }
-
-    protected Viewer createViewer(Composite parent) {
-		TreeViewer variablesViewer = new TreeViewer(parent);
-		variablesViewer.setContentProvider(createContentProvider());
-        variablesViewer.setLabelProvider(new VariablesViewLabelProvider(
-            getModelPresentation()));
-        variablesViewer.setUseHashlookup(true);
-		DebugContextManager.getDefault().addDebugContextListener(this);
-        getSite().getPage().addSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
-		return variablesViewer;
-    }
-    
-    protected int getAutoExpandLevel() {
-    	return 0;
-    }
-    
-    protected abstract IContentProvider createContentProvider();
-
-    protected String getHelpContextId() {
-        return null;
-    }
-
-	protected void becomesHidden() {
-		setViewerInput(null);
-		super.becomesHidden();
-	}
-
-	protected void becomesVisible() {
-		super.becomesVisible();
-        ISelection selection = getSite().getPage().getSelection(
-            IDebugUIConstants.ID_VARIABLE_VIEW);
-        if (selection instanceof IStructuredSelection) {
-            setViewerInput(((IStructuredSelection) selection).getFirstElement());
-        } else {
-        	setViewerInput(null);
-        }
-    }
-
-	protected void createActions() {
-        IAction action = new ShowLogicalStructureAction(this);
-        setAction("ShowLogicalStructure", action);
-    }
-
-    protected void configureToolBar(IToolBarManager tbm) {
-        tbm.add(getAction("ShowLogicalStructure"));
-    }
-
-    protected void fillContextMenu(IMenuManager menu) {
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-    }
-
-	public void contextActivated(ISelection selection, IWorkbenchPart part) {
-		if (!isAvailable() || !isVisible()) {
-			return;
-		}
-		
-		if (selection instanceof IStructuredSelection) {
-			setViewerInput(((IStructuredSelection)selection).getFirstElement());
-		}
-		showViewer();
-	}
-
-	public void debugContextChanged(DebugContextEvent event) {
-		//selectionChanged(null, event.getContext());
-	}
-	
-    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-        if (!isAvailable()) {
-            return;
-        }
-        if (selection == null) {
-            setViewerInput(null);
-        } else if (selection instanceof IStructuredSelection) {
-            setViewerInput(((IStructuredSelection) selection).getFirstElement());
-        }
-    }
-    
-	protected void initActionState(IAction action) {
-		// The show logical structure action is always enabled by default
-		// when (re)starting the view 
-		String id = action.getId();
-		if (id.endsWith("ShowLogicalStructureAction")) {
-			action.setChecked(true);
-		} else {
-			super.initActionState(action);
-		}
-	}
-    
-    protected IDebugModelPresentation getModelPresentation() {
-        if (modelPresentation == null) {
-            modelPresentation = new VariablesViewModelPresentation();
-        }
-        return modelPresentation;
-    }
-
-	private class VariablesViewLabelProvider implements ILabelProvider, IColorProvider {
-
-        private IDebugModelPresentation presentation;
-
-        public VariablesViewLabelProvider(IDebugModelPresentation presentation) {
-            this.presentation = presentation;
-        }
-
-        public IDebugModelPresentation getPresentation() {
-            return presentation;
-        }
-
-        public Image getImage(Object element) {
-            return presentation.getImage(element);
-        }
-
-        public String getText(Object element) {
-            return presentation.getText(element);
-        }
-
-        public void addListener(ILabelProviderListener listener) {
-            presentation.addListener(listener);
-        }
-
-        public void dispose() {
-            presentation.dispose();
-        }
-
-        public boolean isLabelProperty(Object element, String property) {
-            return presentation.isLabelProperty(element, property);
-        }
-
-        public void removeListener(ILabelProviderListener listener) {
-            presentation.removeListener(listener);
-        }
-
-        public Color getForeground(Object element) {
-            if (element instanceof IVariable) {
-                IVariable variable = (IVariable) element;
-                try {
-                    if (variable.hasValueChanged()) {
-                        return JFaceResources.getColorRegistry()
-                            .get(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR);
-                    }
-                } catch (DebugException e) {
-                    DroolsEclipsePlugin.log(e);
-                }
-            }
-            return null;
-        }
-
-        public Color getBackground(Object element) {
-            return null;
-        }
-
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugEventHandlerView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,279 @@
+package org.drools.eclipse.debug;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.debug.actions.ShowLogicalStructureAction;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IStackFrame;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.debug.internal.ui.VariablesViewModelPresentation;
+import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
+import org.eclipse.debug.ui.AbstractDebugView;
+import org.eclipse.debug.ui.IDebugModelPresentation;
+import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.debug.ui.contexts.DebugContextEvent;
+import org.eclipse.debug.ui.contexts.IDebugContextListener;
+import org.eclipse.debug.ui.contexts.IDebugContextService;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaStackFrame;
+import org.eclipse.jdt.debug.core.IJavaThread;
+import org.eclipse.jface.action.GroupMarker;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.ISelectionListener;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.IWorkbenchPart;
+
+/**
+ * A generic Drools debug view.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public abstract class DroolsDebugEventHandlerView extends AbstractDebugView implements IDebugContextListener, ISelectionListener {
+
+    private VariablesViewModelPresentation modelPresentation;
+    private boolean showLogical = true;
+    private Object[] oldExpandedElements = new Object[0];
+
+    public void dispose() {
+		DebugContextManager.getDefault().removeDebugContextListener(this);
+        getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
+        super.dispose();
+    }
+
+    public boolean isShowLogicalStructure() {
+        return showLogical;
+    }
+
+    public void setShowLogicalStructure(boolean showLogical) {
+        this.showLogical = showLogical;
+    }
+
+    protected void setViewerInput(Object context) {
+    	Object input = null;
+    	
+    	// if a working memory has been explicitly selected as variable, use this
+    	if (context instanceof IVariable) {
+        	IVariable variable = (IVariable) context;
+            try {
+                IValue value = ((IVariable) context).getValue();
+                if (value != null && value instanceof IJavaObject
+                        && "org.drools.reteoo.ReteooStatefulSession".equals(
+                            variable.getValue().getReferenceTypeName())) {
+                    input = value;
+                }
+            } catch (Throwable t) {
+                DroolsEclipsePlugin.log(t);
+            }
+        }
+    	// else get selected thread and determine if any of the stack frames
+    	// is executing in a working memory, if so, use that one 
+    	if (input == null) {
+    		IDebugContextService debugContextService = DebugContextManager.getDefault().getContextService(getSite().getWorkbenchWindow());
+    		if (debugContextService != null) {
+	    		ISelection stackSelection = debugContextService.getActiveContext();
+	    		if (stackSelection instanceof IStructuredSelection) {
+	                Object selection = ((IStructuredSelection) stackSelection).getFirstElement();
+	                if (selection instanceof IJavaStackFrame) {
+	                	try {
+	                    	IJavaThread thread = (IJavaThread) ((IJavaStackFrame) selection).getThread();
+	                    	IStackFrame[] frames = thread.getStackFrames();
+	                    	for (int i = 0; i < frames.length; i++) {
+	                            IJavaObject stackObj = ((IJavaStackFrame) frames[i]).getThis();
+	                            if ((stackObj != null)
+	                                    && (stackObj.getJavaType() != null)
+	                                    && ("org.drools.reteoo.ReteooStatefulSession".equals(
+	                                        stackObj.getJavaType().getName()))) {
+	                                input = stackObj;
+	                                break;
+	                            }
+	                    	}
+	                    } catch (Throwable t) {
+	                        DroolsEclipsePlugin.log(t);
+	                    }
+	                }
+	    		}
+    		}
+    	}
+		
+    	Object current = getViewer().getInput();
+				
+		if (current == null && input == null) {
+			return;
+		}
+
+		Object[] newExpandedElements = ((TreeViewer) getViewer()).getExpandedElements();
+		if (newExpandedElements.length != 0) {
+			oldExpandedElements = newExpandedElements;
+		}
+		getViewer().setInput(input);
+		if (input != null) {
+			((TreeViewer) getViewer()).setExpandedElements(oldExpandedElements);
+			((TreeViewer) getViewer()).expandToLevel(getAutoExpandLevel());
+		}
+    }
+
+    protected Viewer createViewer(Composite parent) {
+		TreeViewer variablesViewer = new TreeViewer(parent);
+		variablesViewer.setContentProvider(createContentProvider());
+        variablesViewer.setLabelProvider(new VariablesViewLabelProvider(
+            getModelPresentation()));
+        variablesViewer.setUseHashlookup(true);
+		DebugContextManager.getDefault().addDebugContextListener(this);
+        getSite().getPage().addSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
+		return variablesViewer;
+    }
+    
+    protected int getAutoExpandLevel() {
+    	return 0;
+    }
+    
+    protected abstract IContentProvider createContentProvider();
+
+    protected String getHelpContextId() {
+        return null;
+    }
+
+	protected void becomesHidden() {
+		setViewerInput(null);
+		super.becomesHidden();
+	}
+
+	protected void becomesVisible() {
+		super.becomesVisible();
+        ISelection selection = getSite().getPage().getSelection(
+            IDebugUIConstants.ID_VARIABLE_VIEW);
+        if (selection instanceof IStructuredSelection) {
+            setViewerInput(((IStructuredSelection) selection).getFirstElement());
+        } else {
+        	setViewerInput(null);
+        }
+    }
+
+	protected void createActions() {
+        IAction action = new ShowLogicalStructureAction(this);
+        setAction("ShowLogicalStructure", action);
+    }
+
+    protected void configureToolBar(IToolBarManager tbm) {
+        tbm.add(getAction("ShowLogicalStructure"));
+    }
+
+    protected void fillContextMenu(IMenuManager menu) {
+		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+    }
+
+	public void contextActivated(ISelection selection, IWorkbenchPart part) {
+		if (!isAvailable() || !isVisible()) {
+			return;
+		}
+		
+		if (selection instanceof IStructuredSelection) {
+			setViewerInput(((IStructuredSelection)selection).getFirstElement());
+		}
+		showViewer();
+	}
+
+	public void debugContextChanged(DebugContextEvent event) {
+		//selectionChanged(null, event.getContext());
+	}
+	
+    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+        if (!isAvailable()) {
+            return;
+        }
+        if (selection == null) {
+            setViewerInput(null);
+        } else if (selection instanceof IStructuredSelection) {
+            setViewerInput(((IStructuredSelection) selection).getFirstElement());
+        }
+    }
+    
+	protected void initActionState(IAction action) {
+		// The show logical structure action is always enabled by default
+		// when (re)starting the view 
+		String id = action.getId();
+		if (id.endsWith("ShowLogicalStructureAction")) {
+			action.setChecked(true);
+		} else {
+			super.initActionState(action);
+		}
+	}
+    
+    protected IDebugModelPresentation getModelPresentation() {
+        if (modelPresentation == null) {
+            modelPresentation = new VariablesViewModelPresentation();
+        }
+        return modelPresentation;
+    }
+
+	private class VariablesViewLabelProvider implements ILabelProvider, IColorProvider {
+
+        private IDebugModelPresentation presentation;
+
+        public VariablesViewLabelProvider(IDebugModelPresentation presentation) {
+            this.presentation = presentation;
+        }
+
+        public IDebugModelPresentation getPresentation() {
+            return presentation;
+        }
+
+        public Image getImage(Object element) {
+            return presentation.getImage(element);
+        }
+
+        public String getText(Object element) {
+            return presentation.getText(element);
+        }
+
+        public void addListener(ILabelProviderListener listener) {
+            presentation.addListener(listener);
+        }
+
+        public void dispose() {
+            presentation.dispose();
+        }
+
+        public boolean isLabelProperty(Object element, String property) {
+            return presentation.isLabelProperty(element, property);
+        }
+
+        public void removeListener(ILabelProviderListener listener) {
+            presentation.removeListener(listener);
+        }
+
+        public Color getForeground(Object element) {
+            if (element instanceof IVariable) {
+                IVariable variable = (IVariable) element;
+                try {
+                    if (variable.hasValueChanged()) {
+                        return JFaceResources.getColorRegistry()
+                            .get(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR);
+                    }
+                } catch (DebugException e) {
+                    DroolsEclipsePlugin.log(e);
+                }
+            }
+            return null;
+        }
+
+        public Color getBackground(Object element) {
+            return null;
+        }
+
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,140 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * A generic Drools debug view content provider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DroolsDebugViewContentProvider implements ITreeContentProvider {
-    
-    private Map parentCache;
-    
-    public DroolsDebugViewContentProvider() {
-        parentCache = new HashMap(10);
-    }
-    
-    public Object[] getChildren(Object parent) {
-        return null;
-    }
-    
-    public Object[] getElements(Object parent) {
-        Object[] result = getChildren(parent);
-        if (result != null && result.length == 0) {
-        	return new Object[] { getEmptyString() };
-        }
-        return result;
-    }
-    
-    protected String getEmptyString() {
-    	return "Empty";
-    }
-
-    protected void cache(Object parent, Object[] children) {        
-        for (int i = 0; i < children.length; i++) {
-            parentCache.put(children[i], parent);
-        }       
-    }
-    
-    public Object getParent(Object item) {
-        return parentCache.get(item);
-    }
-
-    public void dispose() {
-        parentCache= null;
-    }
-    
-    protected void clearCache() {
-        if (parentCache != null) {
-            parentCache.clear();
-        }
-    }
-    
-    public void removeCache(Object[] children) {
-        if (parentCache == null) {
-            return;
-        }
-        for (int i = 0; i < children.length; i++) {
-            parentCache.remove(children[i]);   
-        }
-    }
-
-    public boolean hasChildren(Object element) {
-        try {
-            if (element instanceof IVariable) {
-                IValue v = ((IVariable)element).getValue();
-                return v != null && v.hasVariables();
-            }
-            if (element instanceof IValue) {
-                return ((IValue)element).hasVariables();
-            }
-            if (element instanceof IStackFrame) {
-                return ((IStackFrame)element).hasVariables();
-            }
-        } catch (DebugException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-        return false;
-    }
-
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        clearCache();
-    }
-    
-    public List getCachedDecendants(Object parent) {
-        Iterator children = parentCache.keySet().iterator();
-        List cachedChildren = new ArrayList(10);
-        while (children.hasNext()) {
-            Object child = children.next();
-            if (isCachedDecendant(child, parent)) {
-                cachedChildren.add(child);
-            }
-        }
-        return cachedChildren;
-    }
-    
-    protected boolean isCachedDecendant(Object child, Object parent) {
-        Object p = getParent(child);
-        while (p != null) {
-            if (p.equals(parent)) {
-                return true;
-            }
-            p = getParent(p);
-        }
-        return false;
-    }
-    
-    protected IValue getLogicalValue(IValue value, List previousStructureIds) {
-        ILogicalStructureType[] types = DebugPlugin.getLogicalStructureTypes(value);
-        if (types.length > 0) {
-            ILogicalStructureType type = DebugPlugin.getDefaultStructureType(types);
-            if (type != null && !previousStructureIds.contains(type.getId())) {
-                try {
-                    value = type.getLogicalStructure(value);
-                    previousStructureIds.add(type.getId());
-                    return getLogicalValue(value, previousStructureIds);
-                } catch (CoreException e) {
-                    // unable to display logical structure
-                }
-            }
-        }
-        return value;
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/DroolsDebugViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,140 @@
+package org.drools.eclipse.debug;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.ILogicalStructureType;
+import org.eclipse.debug.core.model.IStackFrame;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+/**
+ * A generic Drools debug view content provider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DroolsDebugViewContentProvider implements ITreeContentProvider {
+    
+    private Map parentCache;
+    
+    public DroolsDebugViewContentProvider() {
+        parentCache = new HashMap(10);
+    }
+    
+    public Object[] getChildren(Object parent) {
+        return null;
+    }
+    
+    public Object[] getElements(Object parent) {
+        Object[] result = getChildren(parent);
+        if (result != null && result.length == 0) {
+        	return new Object[] { getEmptyString() };
+        }
+        return result;
+    }
+    
+    protected String getEmptyString() {
+    	return "Empty";
+    }
+
+    protected void cache(Object parent, Object[] children) {        
+        for (int i = 0; i < children.length; i++) {
+            parentCache.put(children[i], parent);
+        }       
+    }
+    
+    public Object getParent(Object item) {
+        return parentCache.get(item);
+    }
+
+    public void dispose() {
+        parentCache= null;
+    }
+    
+    protected void clearCache() {
+        if (parentCache != null) {
+            parentCache.clear();
+        }
+    }
+    
+    public void removeCache(Object[] children) {
+        if (parentCache == null) {
+            return;
+        }
+        for (int i = 0; i < children.length; i++) {
+            parentCache.remove(children[i]);   
+        }
+    }
+
+    public boolean hasChildren(Object element) {
+        try {
+            if (element instanceof IVariable) {
+                IValue v = ((IVariable)element).getValue();
+                return v != null && v.hasVariables();
+            }
+            if (element instanceof IValue) {
+                return ((IValue)element).hasVariables();
+            }
+            if (element instanceof IStackFrame) {
+                return ((IStackFrame)element).hasVariables();
+            }
+        } catch (DebugException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+        return false;
+    }
+
+    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+        clearCache();
+    }
+    
+    public List getCachedDecendants(Object parent) {
+        Iterator children = parentCache.keySet().iterator();
+        List cachedChildren = new ArrayList(10);
+        while (children.hasNext()) {
+            Object child = children.next();
+            if (isCachedDecendant(child, parent)) {
+                cachedChildren.add(child);
+            }
+        }
+        return cachedChildren;
+    }
+    
+    protected boolean isCachedDecendant(Object child, Object parent) {
+        Object p = getParent(child);
+        while (p != null) {
+            if (p.equals(parent)) {
+                return true;
+            }
+            p = getParent(p);
+        }
+        return false;
+    }
+    
+    protected IValue getLogicalValue(IValue value, List previousStructureIds) {
+        ILogicalStructureType[] types = DebugPlugin.getLogicalStructureTypes(value);
+        if (types.length > 0) {
+            ILogicalStructureType type = DebugPlugin.getDefaultStructureType(types);
+            if (type != null && !previousStructureIds.contains(type.getId())) {
+                try {
+                    value = type.getLogicalStructure(value);
+                    previousStructureIds.add(type.getId());
+                    return getLogicalValue(value, previousStructureIds);
+                } catch (CoreException e) {
+                    // unable to display logical structure
+                }
+            }
+        }
+        return value;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,108 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaFieldVariable;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-/**
- * Creates a IJavaObject from an IJavaObject and given variables.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class ObjectWrapper implements IJavaObject {
-    
-    private IJavaObject object;
-    private IJavaVariable[] variables;
-    
-    public ObjectWrapper(IJavaObject object, IJavaVariable[] variables) {
-        this.object = object;
-        this.variables = variables;
-    }
-
-    public IJavaValue sendMessage(String selector, String signature, IJavaValue[] args, IJavaThread thread, boolean superSend) throws DebugException {
-        return object.sendMessage(selector, signature, args, thread, superSend);
-    }
-
-    public IJavaValue sendMessage(String selector, String signature, IJavaValue[] args, IJavaThread thread, String typeSignature) throws DebugException {
-        return object.sendMessage(selector, signature, args, thread, typeSignature);
-    }
-
-    public IJavaFieldVariable getField(String name, boolean superField) throws DebugException {
-        return object.getField(name, superField);
-    }
-
-    public IJavaFieldVariable getField(String name, String typeSignature) throws DebugException {
-        return object.getField(name, typeSignature);
-    }
-
-    public String getSignature() throws DebugException {
-        return object.getSignature();
-    }
-
-    public String getGenericSignature() throws DebugException {
-        return object.getGenericSignature();
-    }
-
-    public IJavaType getJavaType() throws DebugException {
-        return object.getJavaType();
-    }
-
-    public String getReferenceTypeName() throws DebugException {
-        return object.getReferenceTypeName();
-    }
-
-    public String getValueString() throws DebugException {
-        return object.getValueString();
-    }
-
-    public boolean isAllocated() throws DebugException {
-        return object.isAllocated();
-    }
-
-    public IVariable[] getVariables() {
-        return variables;
-    }
-
-    public boolean hasVariables() {
-        return variables.length > 0;
-    }
-    
-    protected void setVariables(IJavaVariable[] variables) {
-    	this.variables = variables;
-    }
-
-    public String getModelIdentifier() {
-        return object.getModelIdentifier();
-    }
-
-    public IDebugTarget getDebugTarget() {
-        return object.getDebugTarget();
-    }
-
-    public ILaunch getLaunch() {
-        return object.getLaunch();
-    }
-
-    public Object getAdapter(Class adapter) {
-        return object.getAdapter(adapter);
-    }
-
-    public IJavaThread[] getWaitingThreads() throws DebugException {
-        return object.getWaitingThreads();
-    }
-
-    public IJavaThread getOwningThread() throws DebugException {
-        return object.getOwningThread();
-    }
-
-	public IJavaObject[] getReferringObjects(long max) throws DebugException {
-		return object.getReferringObjects(max);
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/ObjectWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,108 @@
+package org.drools.eclipse.debug;
+
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaFieldVariable;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaThread;
+import org.eclipse.jdt.debug.core.IJavaType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+
+/**
+ * Creates a IJavaObject from an IJavaObject and given variables.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class ObjectWrapper implements IJavaObject {
+    
+    private IJavaObject object;
+    private IJavaVariable[] variables;
+    
+    public ObjectWrapper(IJavaObject object, IJavaVariable[] variables) {
+        this.object = object;
+        this.variables = variables;
+    }
+
+    public IJavaValue sendMessage(String selector, String signature, IJavaValue[] args, IJavaThread thread, boolean superSend) throws DebugException {
+        return object.sendMessage(selector, signature, args, thread, superSend);
+    }
+
+    public IJavaValue sendMessage(String selector, String signature, IJavaValue[] args, IJavaThread thread, String typeSignature) throws DebugException {
+        return object.sendMessage(selector, signature, args, thread, typeSignature);
+    }
+
+    public IJavaFieldVariable getField(String name, boolean superField) throws DebugException {
+        return object.getField(name, superField);
+    }
+
+    public IJavaFieldVariable getField(String name, String typeSignature) throws DebugException {
+        return object.getField(name, typeSignature);
+    }
+
+    public String getSignature() throws DebugException {
+        return object.getSignature();
+    }
+
+    public String getGenericSignature() throws DebugException {
+        return object.getGenericSignature();
+    }
+
+    public IJavaType getJavaType() throws DebugException {
+        return object.getJavaType();
+    }
+
+    public String getReferenceTypeName() throws DebugException {
+        return object.getReferenceTypeName();
+    }
+
+    public String getValueString() throws DebugException {
+        return object.getValueString();
+    }
+
+    public boolean isAllocated() throws DebugException {
+        return object.isAllocated();
+    }
+
+    public IVariable[] getVariables() {
+        return variables;
+    }
+
+    public boolean hasVariables() {
+        return variables.length > 0;
+    }
+    
+    protected void setVariables(IJavaVariable[] variables) {
+    	this.variables = variables;
+    }
+
+    public String getModelIdentifier() {
+        return object.getModelIdentifier();
+    }
+
+    public IDebugTarget getDebugTarget() {
+        return object.getDebugTarget();
+    }
+
+    public ILaunch getLaunch() {
+        return object.getLaunch();
+    }
+
+    public Object getAdapter(Class adapter) {
+        return object.getAdapter(adapter);
+    }
+
+    public IJavaThread[] getWaitingThreads() throws DebugException {
+        return object.getWaitingThreads();
+    }
+
+    public IJavaThread getOwningThread() throws DebugException {
+        return object.getOwningThread();
+    }
+
+	public IJavaObject[] getReferringObjects(long max) throws DebugException {
+		return object.getReferringObjects(max);
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,105 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.io.ObjectInputStream;
-import java.io.StringReader;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-
-import com.thoughtworks.xstream.XStream;
-
-/**
- * An audit view that shows the contents of the selected logger when debugging.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RealtimeAuditView extends AuditView implements ISelectionListener {
-
-    public void dispose() {
-        getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
-        super.dispose();
-    }
-
-    protected Viewer createViewer(Composite parent) {
-        getSite().getPage().addSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
-    	return super.createViewer(parent);
-    }
-    
-    protected void setViewerInput(Object context) {
-     	// if an in memory logger has been explicitly selected as variable
-    	if (context instanceof IVariable) {
-        	IVariable variable = (IVariable) context;
-            try {
-                IValue value = ((IVariable) context).getValue();
-                if (value != null && value instanceof IJavaObject
-                        && "org.drools.audit.WorkingMemoryInMemoryLogger".equals(
-                            variable.getValue().getReferenceTypeName())) {
-                	setAuditEvents((IJavaObject) value);
-                }
-            } catch (Throwable t) {
-                DroolsEclipsePlugin.log(t);
-            }
-        }
-    }
-
-	protected void becomesHidden() {
-		setViewerInput(null);
-		super.becomesHidden();
-	}
-
-	protected void becomesVisible() {
-		super.becomesVisible();
-        ISelection selection = getSite().getPage().getSelection(
-            IDebugUIConstants.ID_VARIABLE_VIEW);
-        if (selection instanceof IStructuredSelection) {
-            setViewerInput(((IStructuredSelection) selection).getFirstElement());
-        }
-    }
-
-    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-        if (!isAvailable()) {
-            return;
-        }
-        if (selection == null) {
-            setViewerInput(null);
-        } else if (selection instanceof IStructuredSelection) {
-            setViewerInput(((IStructuredSelection) selection).getFirstElement());
-        }
-    }
-    
-	protected void createActions() {
-	}
-	
-    protected void configureToolBar(IToolBarManager tbm) {
-    }
-    
-    private void setAuditEvents(IJavaObject inMemoryLogger) throws DebugException {
-        IValue eventString = DebugUtil.getValueByExpression("return getEvents();", inMemoryLogger);
-        String s = eventString.getValueString();
-        if (s != null) {
-        	try {
-				XStream xstream = new XStream();
-				ObjectInputStream in = xstream.createObjectInputStream(
-					new StringReader(s));
-				getViewer().setInput(createEventList((List) in.readObject()));
-        	} catch (Throwable t) {
-        		DroolsEclipsePlugin.log(t);
-        		getViewer().setInput(null);
-        	}
-        } else {
-        	getViewer().setInput(null);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/RealtimeAuditView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,105 @@
+package org.drools.eclipse.debug;
+
+import java.io.ObjectInputStream;
+import java.io.StringReader;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.ISelectionListener;
+import org.eclipse.ui.IWorkbenchPart;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ * An audit view that shows the contents of the selected logger when debugging.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RealtimeAuditView extends AuditView implements ISelectionListener {
+
+    public void dispose() {
+        getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
+        super.dispose();
+    }
+
+    protected Viewer createViewer(Composite parent) {
+        getSite().getPage().addSelectionListener(IDebugUIConstants.ID_VARIABLE_VIEW, this);
+    	return super.createViewer(parent);
+    }
+    
+    protected void setViewerInput(Object context) {
+     	// if an in memory logger has been explicitly selected as variable
+    	if (context instanceof IVariable) {
+        	IVariable variable = (IVariable) context;
+            try {
+                IValue value = ((IVariable) context).getValue();
+                if (value != null && value instanceof IJavaObject
+                        && "org.drools.audit.WorkingMemoryInMemoryLogger".equals(
+                            variable.getValue().getReferenceTypeName())) {
+                	setAuditEvents((IJavaObject) value);
+                }
+            } catch (Throwable t) {
+                DroolsEclipsePlugin.log(t);
+            }
+        }
+    }
+
+	protected void becomesHidden() {
+		setViewerInput(null);
+		super.becomesHidden();
+	}
+
+	protected void becomesVisible() {
+		super.becomesVisible();
+        ISelection selection = getSite().getPage().getSelection(
+            IDebugUIConstants.ID_VARIABLE_VIEW);
+        if (selection instanceof IStructuredSelection) {
+            setViewerInput(((IStructuredSelection) selection).getFirstElement());
+        }
+    }
+
+    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+        if (!isAvailable()) {
+            return;
+        }
+        if (selection == null) {
+            setViewerInput(null);
+        } else if (selection instanceof IStructuredSelection) {
+            setViewerInput(((IStructuredSelection) selection).getFirstElement());
+        }
+    }
+    
+	protected void createActions() {
+	}
+	
+    protected void configureToolBar(IToolBarManager tbm) {
+    }
+    
+    private void setAuditEvents(IJavaObject inMemoryLogger) throws DebugException {
+        IValue eventString = DebugUtil.getValueByExpression("return getEvents();", inMemoryLogger);
+        String s = eventString.getValueString();
+        if (s != null) {
+        	try {
+				XStream xstream = new XStream();
+				ObjectInputStream in = xstream.createObjectInputStream(
+					new StringReader(s));
+				getViewer().setInput(createEventList((List) in.readObject()));
+        	} catch (Throwable t) {
+        		DroolsEclipsePlugin.log(t);
+        		getViewer().setInput(null);
+        	}
+        } else {
+        	getViewer().setInput(null);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,147 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.jdt.debug.core.IJavaModifiers;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-/**
- * Creates a Variable from an IValue and a given name.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class VariableWrapper extends PlatformObject implements IJavaVariable  {
-
-    private String name;
-    private IJavaValue value;
-    private boolean isLocal = false;
-    private boolean isPublic = false;
-    
-    public VariableWrapper(String name, IJavaValue value) {
-        this.name = name;
-        this.value = value;
-    }
-    
-    public String getSignature() throws DebugException {
-        return ((IJavaValue) getValue()).getSignature();
-    }
-
-    public String getGenericSignature() throws DebugException {
-        return ((IJavaValue) getValue()).getGenericSignature();
-    }
-    
-    public IJavaType getJavaType() throws DebugException {
-        return ((IJavaValue) getValue()).getJavaType();
-    }
-
-    public boolean isLocal() {
-        return isLocal;
-    }
-
-    public IValue getValue() {
-        return value;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getReferenceTypeName() throws DebugException {
-        return ((IJavaValue) getValue()).getReferenceTypeName();
-    }
-
-    public boolean hasValueChanged() {
-        return false;
-    }
-
-    public boolean isPublic() {
-        return isPublic;
-    }
-
-    public boolean isPrivate() {
-        return false;
-    }
-
-    public boolean isProtected() {
-        return false;
-    }
-
-    public boolean isPackagePrivate() {
-        return false;
-    }
-
-    public boolean isFinal() {
-        return false;
-    }
-
-    public boolean isStatic() {
-        return false;
-    }
-
-    public boolean isSynthetic() {
-        return false;
-    }
-
-    public String getModelIdentifier() {
-        return getValue().getModelIdentifier();
-    }
-
-    public IDebugTarget getDebugTarget() {
-        return ((IJavaValue) getValue()).getDebugTarget();
-    }
-
-    public ILaunch getLaunch() {
-        return getValue().getLaunch();
-    }
-
-    public void setValue(String expression) {
-    }
-
-    public void setValue(IValue value) {
-    }
-
-    public boolean supportsValueModification() {
-        return false;
-    }
-
-    public boolean verifyValue(String expression) {
-        return false;
-    }
-
-    public boolean verifyValue(IValue value) {
-        return false;
-    }
-
-    public Object getAdapter(Class adapter) {
-        if (IJavaVariable.class.equals(adapter) ||
-            IJavaModifiers.class.equals(adapter)) {
-            return this;
-        }
-        return super.getAdapter(adapter);
-    }
-
-    public boolean equals(Object obj) {
-        if (obj instanceof VariableWrapper) {
-            VariableWrapper var = (VariableWrapper) obj;
-            return var.getName().equals(getName()) && var.getValue().equals(getValue());
-        }
-        return false;
-    }
-
-    public int hashCode() {
-        return name.hashCode() + value.hashCode();
-    }
-
-    public void setLocal(boolean val) {
-        isLocal=val;
-    }
-    
-    public void setPublic(boolean val) {
-        isPublic = val;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/VariableWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,147 @@
+package org.drools.eclipse.debug;
+
+import org.eclipse.core.runtime.PlatformObject;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.jdt.debug.core.IJavaModifiers;
+import org.eclipse.jdt.debug.core.IJavaType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+
+/**
+ * Creates a Variable from an IValue and a given name.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class VariableWrapper extends PlatformObject implements IJavaVariable  {
+
+    private String name;
+    private IJavaValue value;
+    private boolean isLocal = false;
+    private boolean isPublic = false;
+    
+    public VariableWrapper(String name, IJavaValue value) {
+        this.name = name;
+        this.value = value;
+    }
+    
+    public String getSignature() throws DebugException {
+        return ((IJavaValue) getValue()).getSignature();
+    }
+
+    public String getGenericSignature() throws DebugException {
+        return ((IJavaValue) getValue()).getGenericSignature();
+    }
+    
+    public IJavaType getJavaType() throws DebugException {
+        return ((IJavaValue) getValue()).getJavaType();
+    }
+
+    public boolean isLocal() {
+        return isLocal;
+    }
+
+    public IValue getValue() {
+        return value;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String getReferenceTypeName() throws DebugException {
+        return ((IJavaValue) getValue()).getReferenceTypeName();
+    }
+
+    public boolean hasValueChanged() {
+        return false;
+    }
+
+    public boolean isPublic() {
+        return isPublic;
+    }
+
+    public boolean isPrivate() {
+        return false;
+    }
+
+    public boolean isProtected() {
+        return false;
+    }
+
+    public boolean isPackagePrivate() {
+        return false;
+    }
+
+    public boolean isFinal() {
+        return false;
+    }
+
+    public boolean isStatic() {
+        return false;
+    }
+
+    public boolean isSynthetic() {
+        return false;
+    }
+
+    public String getModelIdentifier() {
+        return getValue().getModelIdentifier();
+    }
+
+    public IDebugTarget getDebugTarget() {
+        return ((IJavaValue) getValue()).getDebugTarget();
+    }
+
+    public ILaunch getLaunch() {
+        return getValue().getLaunch();
+    }
+
+    public void setValue(String expression) {
+    }
+
+    public void setValue(IValue value) {
+    }
+
+    public boolean supportsValueModification() {
+        return false;
+    }
+
+    public boolean verifyValue(String expression) {
+        return false;
+    }
+
+    public boolean verifyValue(IValue value) {
+        return false;
+    }
+
+    public Object getAdapter(Class adapter) {
+        if (IJavaVariable.class.equals(adapter) ||
+            IJavaModifiers.class.equals(adapter)) {
+            return this;
+        }
+        return super.getAdapter(adapter);
+    }
+
+    public boolean equals(Object obj) {
+        if (obj instanceof VariableWrapper) {
+            VariableWrapper var = (VariableWrapper) obj;
+            return var.getName().equals(getName()) && var.getValue().equals(getValue());
+        }
+        return false;
+    }
+
+    public int hashCode() {
+        return name.hashCode() + value.hashCode();
+    }
+
+    public void setLocal(boolean val) {
+        isLocal=val;
+    }
+    
+    public void setPublic(boolean val) {
+        isPublic = val;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,16 +0,0 @@
-package org.drools.eclipse.debug;
-
-import org.eclipse.jface.viewers.IContentProvider;
-
-/**
- * The Working Memory view.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class WorkingMemoryView extends DroolsDebugEventHandlerView {
-
-    protected IContentProvider createContentProvider() {
-        WorkingMemoryViewContentProvider contentProvider = new WorkingMemoryViewContentProvider(this);
-        return contentProvider;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,16 @@
+package org.drools.eclipse.debug;
+
+import org.eclipse.jface.viewers.IContentProvider;
+
+/**
+ * The Working Memory view.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class WorkingMemoryView extends DroolsDebugEventHandlerView {
+
+    protected IContentProvider createContentProvider() {
+        WorkingMemoryViewContentProvider contentProvider = new WorkingMemoryViewContentProvider(this);
+        return contentProvider;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,203 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaModifiers;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-/**
- * The Working Memory view content provider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class WorkingMemoryViewContentProvider extends DroolsDebugViewContentProvider {
-
-    private DroolsDebugEventHandlerView view;
-    
-    public WorkingMemoryViewContentProvider(DroolsDebugEventHandlerView view) {
-        this.view = view;
-    }
-    
-    protected String getEmptyString() {
-    	return "The selected working memory is empty.";
-    }
-
-    public Object[] getChildren(Object obj) {
-        try {
-            IVariable[] variables = null;
-            if (obj != null && obj instanceof IJavaObject
-                    && "org.drools.reteoo.ReteooStatefulSession".equals(
-                        ((IJavaObject) obj).getReferenceTypeName())) {
-                variables = getWorkingMemoryElements((IJavaObject) obj);
-            } else if (obj instanceof IVariable) {
-            	if (view.isShowLogicalStructure()) {
-            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
-                	variables = value.getVariables();
-                }
-            	if (variables == null) {
-                	variables = ((IVariable) obj).getValue().getVariables();
-                }
-            }
-            if (variables == null) {
-                return new Object[0];
-            } else {
-                cache(obj, variables);
-                return variables;
-            }
-        } catch (DebugException e) {
-            DroolsEclipsePlugin.log(e);
-            return new Object[0];
-        }
-    }
-    
-    private IVariable[] getWorkingMemoryElements(IJavaObject stackObj) throws DebugException {
-        IValue objects = DebugUtil.getValueByExpression("return iterateObjectsToList().toArray();", stackObj);
-        if (objects instanceof IJavaArray) {
-            IJavaArray array = (IJavaArray) objects;
-            List result = new ArrayList();
-            
-            IJavaValue[] vals = array.getValues();
-            
-            for ( int i = 0; i < vals.length; i++ ) {
-                result.add(new MyJavaVariable("[" + i + "]", vals[i]));
-            }
-            
-            
-            return (IVariable[]) result.toArray(new IVariable[0]);
-        }
-        return null;
-    }
-    
-    public class MyJavaVariable implements IJavaVariable {
-
-    	private String name;
-    	private IJavaValue value;
-
-    	public MyJavaVariable(String name, IJavaValue value) {
-    		this.name = name;
-    		this.value = value;
-    	}
-    	
-    	public String getSignature() throws DebugException {
-    		return ((IJavaValue)getValue()).getSignature();
-    	}
-
-    	public String getGenericSignature() throws DebugException {
-    		return ((IJavaValue)getValue()).getGenericSignature();
-    	}
-    	
-    	public IJavaType getJavaType() throws DebugException {
-    		return ((IJavaValue)getValue()).getJavaType();
-    	}
-
-    	public boolean isLocal() {
-    		return false;
-    	}
-
-    	public IValue getValue() {
-    		return value;
-    	}
-
-    	public String getName() {
-    		return name;
-    	}
-
-    	public String getReferenceTypeName() throws DebugException {
-    		return ((IJavaValue) getValue()).getReferenceTypeName();
-    	}
-
-    	public boolean hasValueChanged() {
-    		return false;
-    	}
-
-    	public boolean isPublic() {
-    		return false;
-    	}
-
-    	public boolean isPrivate() {
-    		return false;
-    	}
-
-    	public boolean isProtected() {
-    		return false;
-    	}
-
-    	public boolean isPackagePrivate() {
-    		return false;
-    	}
-
-    	public boolean isFinal() {
-    		return false;
-    	}
-
-    	public boolean isStatic() {
-    		return false;
-    	}
-
-    	public boolean isSynthetic() {
-    		return false;
-    	}
-
-    	public String getModelIdentifier() {
-    		return getValue().getModelIdentifier();
-    	}
-
-    	public IDebugTarget getDebugTarget() {
-    		return ((IJavaValue)getValue()).getDebugTarget();
-    	}
-
-    	public ILaunch getLaunch() {
-    		return getValue().getLaunch();
-    	}
-
-    	public void setValue(String expression) {
-    	}
-
-    	public void setValue(IValue value) {
-    	}
-
-    	public boolean supportsValueModification() {
-    		return false;
-    	}
-
-    	public boolean verifyValue(String expression) {
-    		return false;
-    	}
-
-    	public boolean verifyValue(IValue value) {
-    		return false;
-    	}
-
-    	public Object getAdapter(Class adapter) {
-    		if (IJavaVariable.class.equals(adapter) ||
-    			IJavaModifiers.class.equals(adapter)) {
-    			return this;
-    		}
-    		return null;
-    	}
-
-    	public boolean equals(Object obj) {
-    		if (obj instanceof MyJavaVariable) {
-    			MyJavaVariable var = (MyJavaVariable) obj;
-    			return var.getName().equals(getName()) && var.getValue().equals(getValue());
-    		}
-    		return false;
-    	}
-
-    	public int hashCode() {
-    		return name.hashCode() + value.hashCode();
-    	}
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/WorkingMemoryViewContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,203 @@
+package org.drools.eclipse.debug;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaArray;
+import org.eclipse.jdt.debug.core.IJavaModifiers;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+
+/**
+ * The Working Memory view content provider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class WorkingMemoryViewContentProvider extends DroolsDebugViewContentProvider {
+
+    private DroolsDebugEventHandlerView view;
+    
+    public WorkingMemoryViewContentProvider(DroolsDebugEventHandlerView view) {
+        this.view = view;
+    }
+    
+    protected String getEmptyString() {
+    	return "The selected working memory is empty.";
+    }
+
+    public Object[] getChildren(Object obj) {
+        try {
+            IVariable[] variables = null;
+            if (obj != null && obj instanceof IJavaObject
+                    && "org.drools.reteoo.ReteooStatefulSession".equals(
+                        ((IJavaObject) obj).getReferenceTypeName())) {
+                variables = getWorkingMemoryElements((IJavaObject) obj);
+            } else if (obj instanceof IVariable) {
+            	if (view.isShowLogicalStructure()) {
+            		IValue value = getLogicalValue(((IVariable) obj).getValue(), new ArrayList());
+                	variables = value.getVariables();
+                }
+            	if (variables == null) {
+                	variables = ((IVariable) obj).getValue().getVariables();
+                }
+            }
+            if (variables == null) {
+                return new Object[0];
+            } else {
+                cache(obj, variables);
+                return variables;
+            }
+        } catch (DebugException e) {
+            DroolsEclipsePlugin.log(e);
+            return new Object[0];
+        }
+    }
+    
+    private IVariable[] getWorkingMemoryElements(IJavaObject stackObj) throws DebugException {
+        IValue objects = DebugUtil.getValueByExpression("return iterateObjectsToList().toArray();", stackObj);
+        if (objects instanceof IJavaArray) {
+            IJavaArray array = (IJavaArray) objects;
+            List result = new ArrayList();
+            
+            IJavaValue[] vals = array.getValues();
+            
+            for ( int i = 0; i < vals.length; i++ ) {
+                result.add(new MyJavaVariable("[" + i + "]", vals[i]));
+            }
+            
+            
+            return (IVariable[]) result.toArray(new IVariable[0]);
+        }
+        return null;
+    }
+    
+    public class MyJavaVariable implements IJavaVariable {
+
+    	private String name;
+    	private IJavaValue value;
+
+    	public MyJavaVariable(String name, IJavaValue value) {
+    		this.name = name;
+    		this.value = value;
+    	}
+    	
+    	public String getSignature() throws DebugException {
+    		return ((IJavaValue)getValue()).getSignature();
+    	}
+
+    	public String getGenericSignature() throws DebugException {
+    		return ((IJavaValue)getValue()).getGenericSignature();
+    	}
+    	
+    	public IJavaType getJavaType() throws DebugException {
+    		return ((IJavaValue)getValue()).getJavaType();
+    	}
+
+    	public boolean isLocal() {
+    		return false;
+    	}
+
+    	public IValue getValue() {
+    		return value;
+    	}
+
+    	public String getName() {
+    		return name;
+    	}
+
+    	public String getReferenceTypeName() throws DebugException {
+    		return ((IJavaValue) getValue()).getReferenceTypeName();
+    	}
+
+    	public boolean hasValueChanged() {
+    		return false;
+    	}
+
+    	public boolean isPublic() {
+    		return false;
+    	}
+
+    	public boolean isPrivate() {
+    		return false;
+    	}
+
+    	public boolean isProtected() {
+    		return false;
+    	}
+
+    	public boolean isPackagePrivate() {
+    		return false;
+    	}
+
+    	public boolean isFinal() {
+    		return false;
+    	}
+
+    	public boolean isStatic() {
+    		return false;
+    	}
+
+    	public boolean isSynthetic() {
+    		return false;
+    	}
+
+    	public String getModelIdentifier() {
+    		return getValue().getModelIdentifier();
+    	}
+
+    	public IDebugTarget getDebugTarget() {
+    		return ((IJavaValue)getValue()).getDebugTarget();
+    	}
+
+    	public ILaunch getLaunch() {
+    		return getValue().getLaunch();
+    	}
+
+    	public void setValue(String expression) {
+    	}
+
+    	public void setValue(IValue value) {
+    	}
+
+    	public boolean supportsValueModification() {
+    		return false;
+    	}
+
+    	public boolean verifyValue(String expression) {
+    		return false;
+    	}
+
+    	public boolean verifyValue(IValue value) {
+    		return false;
+    	}
+
+    	public Object getAdapter(Class adapter) {
+    		if (IJavaVariable.class.equals(adapter) ||
+    			IJavaModifiers.class.equals(adapter)) {
+    			return this;
+    		}
+    		return null;
+    	}
+
+    	public boolean equals(Object obj) {
+    		if (obj instanceof MyJavaVariable) {
+    			MyJavaVariable var = (MyJavaVariable) obj;
+    			return var.getName().equals(getName()) && var.getValue().equals(getValue());
+    		}
+    		return false;
+    	}
+
+    	public int hashCode() {
+    		return name.hashCode() + value.hashCode();
+    	}
+    }
+    
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.debug.actions;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.debug.AuditView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/**
- * Action to clear the log.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class DeleteLogAction extends Action {
-    
-    private AuditView view;
-
-    public DeleteLogAction(AuditView view) {
-        super(null, IAction.AS_PUSH_BUTTON);
-        this.view = view;
-        setToolTipText("Clear Log");
-        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.DELETE_LOG));
-        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.DELETE_LOG_DISABLED));
-        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ClearLogAction");
-    }
-
-    public void run() {
-        if (!view.isAvailable()) {
-            return;
-        }
-        view.deleteLog();  
-        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
-            public void run() {
-            	view.getViewer().refresh();                    
-            }
-        });         
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/DeleteLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.debug.actions;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.debug.AuditView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.custom.BusyIndicator;
+
+/**
+ * Action to clear the log.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class DeleteLogAction extends Action {
+    
+    private AuditView view;
+
+    public DeleteLogAction(AuditView view) {
+        super(null, IAction.AS_PUSH_BUTTON);
+        this.view = view;
+        setToolTipText("Clear Log");
+        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.DELETE_LOG));
+        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.DELETE_LOG_DISABLED));
+        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ClearLogAction");
+    }
+
+    public void run() {
+        if (!view.isAvailable()) {
+            return;
+        }
+        view.deleteLog();  
+        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
+            public void run() {
+            	view.getViewer().refresh();                    
+            }
+        });         
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,43 +0,0 @@
-package org.drools.eclipse.debug.actions;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.debug.AuditView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.FileDialog;
-
-/**
- * Action to open a log.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class OpenLogAction extends Action {
-    
-    private AuditView view;
-
-    public OpenLogAction(AuditView view) {
-        super(null, IAction.AS_PUSH_BUTTON);
-        this.view = view;
-        setToolTipText("Open Log");
-        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.OPEN_LOG));
-        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".OpenLogAction");
-    }
-
-    public void run() {
-        if (!view.isAvailable()) {
-            return;
-        }
-        FileDialog dialog = new FileDialog(view.getSite().getShell());
-        dialog.setFilterExtensions(new String[] { "*.log" });
-        String fileName = dialog.open();
-        view.setLogFile(fileName);  
-        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
-            public void run() {
-            	view.getViewer().refresh();                    
-            }
-        });         
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/OpenLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,43 @@
+package org.drools.eclipse.debug.actions;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.debug.AuditView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.custom.BusyIndicator;
+import org.eclipse.swt.widgets.FileDialog;
+
+/**
+ * Action to open a log.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class OpenLogAction extends Action {
+    
+    private AuditView view;
+
+    public OpenLogAction(AuditView view) {
+        super(null, IAction.AS_PUSH_BUTTON);
+        this.view = view;
+        setToolTipText("Open Log");
+        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.OPEN_LOG));
+        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".OpenLogAction");
+    }
+
+    public void run() {
+        if (!view.isAvailable()) {
+            return;
+        }
+        FileDialog dialog = new FileDialog(view.getSite().getShell());
+        dialog.setFilterExtensions(new String[] { "*.log" });
+        String fileName = dialog.open();
+        view.setLogFile(fileName);  
+        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
+            public void run() {
+            	view.getViewer().refresh();                    
+            }
+        });         
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.debug.actions;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.debug.AuditView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/**
- * Action to refresh the log.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class RefreshLogAction extends Action {
-    
-    private AuditView view;
-
-    public RefreshLogAction(AuditView view) {
-        super(null, IAction.AS_PUSH_BUTTON);
-        this.view = view;
-        setToolTipText("Refresh Log");
-        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.REFRESH_LOG));
-        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.REFRESH_LOG_DISABLED));
-        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".RefreshLogAction");
-    }
-
-    public void run() {
-        if (!view.isAvailable()) {
-            return;
-        }
-        view.refresh();  
-        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
-            public void run() {
-            	view.getViewer().refresh();                    
-            }
-        });         
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/RefreshLogAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.debug.actions;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.debug.AuditView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.custom.BusyIndicator;
+
+/**
+ * Action to refresh the log.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class RefreshLogAction extends Action {
+    
+    private AuditView view;
+
+    public RefreshLogAction(AuditView view) {
+        super(null, IAction.AS_PUSH_BUTTON);
+        this.view = view;
+        setToolTipText("Refresh Log");
+        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.REFRESH_LOG));
+        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.REFRESH_LOG_DISABLED));
+        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".RefreshLogAction");
+    }
+
+    public void run() {
+        if (!view.isAvailable()) {
+            return;
+        }
+        view.refresh();  
+        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
+            public void run() {
+            	view.getViewer().refresh();                    
+            }
+        });         
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,36 +0,0 @@
-package org.drools.eclipse.debug.actions;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.debug.AuditView;
-import org.drools.eclipse.debug.AuditView.Event;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-
-/**
- * Action to show the cause event of an audit event.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class ShowEventCauseAction extends Action {
-    
-    private AuditView view;
-
-    public ShowEventCauseAction(AuditView view) {
-        super(null, IAction.AS_PUSH_BUTTON);
-        this.view = view;
-        setToolTipText("Show Cause");
-        setText("Show Cause");
-        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ShowEventCause");
-    }
-
-    public void run() {
-    	Event event = view.getSelectedEvent();
-    	if (event != null) {
-    		Event cause = event.getCauseEvent();
-    		if (cause != null) {
-    			view.showEvent(cause);
-    		}
-    	}
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowEventCauseAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,36 @@
+package org.drools.eclipse.debug.actions;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.debug.AuditView;
+import org.drools.eclipse.debug.AuditView.Event;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+
+/**
+ * Action to show the cause event of an audit event.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class ShowEventCauseAction extends Action {
+    
+    private AuditView view;
+
+    public ShowEventCauseAction(AuditView view) {
+        super(null, IAction.AS_PUSH_BUTTON);
+        this.view = view;
+        setToolTipText("Show Cause");
+        setText("Show Cause");
+        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ShowEventCause");
+    }
+
+    public void run() {
+    	Event event = view.getSelectedEvent();
+    	if (event != null) {
+    		Event cause = event.getCauseEvent();
+    		if (cause != null) {
+    			view.showEvent(cause);
+    		}
+    	}
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,45 +0,0 @@
-package org.drools.eclipse.debug.actions;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.debug.DroolsDebugEventHandlerView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/**
- * Action to toggle the display of the logical structure of variables
- * that are shown in the tree.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class ShowLogicalStructureAction extends Action {
-    
-    private DroolsDebugEventHandlerView view;
-
-    public ShowLogicalStructureAction(DroolsDebugEventHandlerView view) {
-        super(null, IAction.AS_CHECK_BOX);
-        this.view = view;
-        setToolTipText("Show Logical Structure");
-        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.IMG_LOGICAL));
-        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.IMG_LOGICAL_DISABLED));
-        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ShowLogicalStructureAction");
-    }
-
-    public void run() {
-        valueChanged(isChecked());
-    }
-
-    private void valueChanged(boolean on) {
-        if (!view.isAvailable()) {
-            return;
-        }
-        view.setShowLogicalStructure(on);  
-        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
-            public void run() {
-            	view.getViewer().refresh();                    
-            }
-        });         
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/actions/ShowLogicalStructureAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,45 @@
+package org.drools.eclipse.debug.actions;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.debug.DroolsDebugEventHandlerView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.custom.BusyIndicator;
+
+/**
+ * Action to toggle the display of the logical structure of variables
+ * that are shown in the tree.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class ShowLogicalStructureAction extends Action {
+    
+    private DroolsDebugEventHandlerView view;
+
+    public ShowLogicalStructureAction(DroolsDebugEventHandlerView view) {
+        super(null, IAction.AS_CHECK_BOX);
+        this.view = view;
+        setToolTipText("Show Logical Structure");
+        setImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.IMG_LOGICAL));
+        setDisabledImageDescriptor(DroolsPluginImages.getImageDescriptor(DroolsPluginImages.IMG_LOGICAL_DISABLED));
+        setId(DroolsEclipsePlugin.getUniqueIdentifier() + ".ShowLogicalStructureAction");
+    }
+
+    public void run() {
+        valueChanged(isChecked());
+    }
+
+    private void valueChanged(boolean on) {
+        if (!view.isAvailable()) {
+            return;
+        }
+        view.setShowLogicalStructure(on);  
+        BusyIndicator.showWhile(view.getViewer().getControl().getDisplay(), new Runnable() {
+            public void run() {
+            	view.getViewer().refresh();                    
+            }
+        });         
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,39 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-
-import com.sun.jdi.VirtualMachine;
-
-public class DroolsDebugModel {
-	
-	private DroolsDebugModel() {
-	}
-
-	public static IDebugTarget newDebugTarget(ILaunch launch, VirtualMachine vm, String name, IProcess process, boolean allowTerminate, boolean allowDisconnect) {
-		return newDebugTarget(launch, vm, name, process, allowTerminate, allowDisconnect, true);
-	}
-	
-	public static IDebugTarget newDebugTarget(final ILaunch launch, final VirtualMachine vm, final String name, final IProcess process, final boolean allowTerminate, final boolean allowDisconnect, final boolean resume) {
-		final IJavaDebugTarget[] target = new IJavaDebugTarget[1];
-		IWorkspaceRunnable r = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor m) {
-				target[0]= new DroolsDebugTarget(launch, vm, name, allowTerminate, allowDisconnect, process, resume);
-			}
-		};
-		try {
-			ResourcesPlugin.getWorkspace().run(r, null, 0, null);
-		} catch (CoreException exc) {
-			DroolsEclipsePlugin.log(exc);
-		}
-		return target[0];
-	}
-        
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,39 @@
+package org.drools.eclipse.debug.core;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.jdt.debug.core.IJavaDebugTarget;
+
+import com.sun.jdi.VirtualMachine;
+
+public class DroolsDebugModel {
+	
+	private DroolsDebugModel() {
+	}
+
+	public static IDebugTarget newDebugTarget(ILaunch launch, VirtualMachine vm, String name, IProcess process, boolean allowTerminate, boolean allowDisconnect) {
+		return newDebugTarget(launch, vm, name, process, allowTerminate, allowDisconnect, true);
+	}
+	
+	public static IDebugTarget newDebugTarget(final ILaunch launch, final VirtualMachine vm, final String name, final IProcess process, final boolean allowTerminate, final boolean allowDisconnect, final boolean resume) {
+		final IJavaDebugTarget[] target = new IJavaDebugTarget[1];
+		IWorkspaceRunnable r = new IWorkspaceRunnable() {
+			public void run(IProgressMonitor m) {
+				target[0]= new DroolsDebugTarget(launch, vm, name, allowTerminate, allowDisconnect, process, resume);
+			}
+		};
+		try {
+			ResourcesPlugin.getWorkspace().run(r, null, 0, null);
+		} catch (CoreException exc) {
+			DroolsEclipsePlugin.log(exc);
+		}
+		return target[0];
+	}
+        
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,24 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.internal.debug.ui.JDIModelPresentation;
-
-public class DroolsDebugModelPresentation extends JDIModelPresentation {
-
-	protected String getBreakpointText(IBreakpoint breakpoint) {
-		if (breakpoint instanceof DroolsLineBreakpoint) {
-			DroolsLineBreakpoint breakp = ((DroolsLineBreakpoint) breakpoint);
-            int lineNumber = breakp.getDRLLineNumber();
-            int real;
-            try {
-                real = breakp.getLineNumber();
-            } catch ( CoreException e ) {
-                return breakpoint.getMarker().getResource().getName() + " [line: " + lineNumber + "] real: NA!!"; 
-            }
-			return breakpoint.getMarker().getResource().getName() + " [line: " + lineNumber + "] real: "+real;
-		}
-		return super.getBreakpointText(breakpoint);
-	}
-	    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugModelPresentation.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,24 @@
+package org.drools.eclipse.debug.core;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.jdt.internal.debug.ui.JDIModelPresentation;
+
+public class DroolsDebugModelPresentation extends JDIModelPresentation {
+
+	protected String getBreakpointText(IBreakpoint breakpoint) {
+		if (breakpoint instanceof DroolsLineBreakpoint) {
+			DroolsLineBreakpoint breakp = ((DroolsLineBreakpoint) breakpoint);
+            int lineNumber = breakp.getDRLLineNumber();
+            int real;
+            try {
+                real = breakp.getLineNumber();
+            } catch ( CoreException e ) {
+                return breakpoint.getMarker().getResource().getName() + " [line: " + lineNumber + "] real: NA!!"; 
+            }
+			return breakpoint.getMarker().getResource().getName() + " [line: " + lineNumber + "] real: "+real;
+		}
+		return super.getBreakpointText(breakpoint);
+	}
+	    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,905 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.jdi.TimeoutException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.internal.debug.core.IJDIEventListener;
-import org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
-import org.eclipse.jdt.internal.debug.core.model.JDIThread;
-
-import com.sun.jdi.ClassType;
-import com.sun.jdi.IntegerValue;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectCollectedException;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.StringReference;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.VMDisconnectedException;
-import com.sun.jdi.VirtualMachine;
-import com.sun.jdi.event.ClassPrepareEvent;
-import com.sun.jdi.event.Event;
-import com.sun.jdi.event.MethodEntryEvent;
-import com.sun.jdi.event.ThreadDeathEvent;
-import com.sun.jdi.event.ThreadStartEvent;
-import com.sun.jdi.event.VMStartEvent;
-import com.sun.jdi.request.ClassPrepareRequest;
-import com.sun.jdi.request.EventRequest;
-import com.sun.jdi.request.EventRequestManager;
-import com.sun.jdi.request.MethodEntryRequest;
-
-public class DroolsDebugTarget extends JDIDebugTarget {
-
-    private ArrayList          fThreads;
-    private ThreadStartHandler fThreadStartHandler = null;
-    private boolean            fSuspended          = true;
-
-    public DroolsDebugTarget(ILaunch launch,
-                             VirtualMachine jvm,
-                             String name,
-                             boolean supportTerminate,
-                             boolean supportDisconnect,
-                             IProcess process,
-                             boolean resume) {
-        super( launch,
-               jvm,
-               name,
-               supportTerminate,
-               supportDisconnect,
-               process,
-               resume );
-    }
-
-    public void breakpointAdded(IBreakpoint breakpoint) {
-
-        try {
-            if ( breakpoint instanceof DroolsLineBreakpoint ) {
-                ((DroolsLineBreakpoint) breakpoint).setJavaBreakpointProperties();
-
-                final DroolsLineBreakpoint d = (DroolsLineBreakpoint) breakpoint;
-
-                if ( d.getDialectName().equals( MVELDialect.ID ) ) {
-                    //getBreakpoints().add( breakpoint );
-                    //super.breakpointAdded(breakpoint);
-
-                    Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
-                    if ( !handleriter.hasNext() ) {
-                        // Create class prepare request to add breakpoint after MVELDebugHanlder is loaded
-                        ClassPrepareRequest req = getEventRequestManager().createClassPrepareRequest();
-                        req.addClassFilter( "org.drools.base.mvel.MVELDebugHandler" );
-                        req.setSuspendPolicy( EventRequest.SUSPEND_ALL );
-
-                        addJDIEventListener( new IJDIEventListener() {
-
-                                                 public boolean handleEvent(Event event,
-                                                                            JDIDebugTarget target) {
-                                                     addRemoteBreakpoint( d );
-                                                     return true;
-                                                 }
-
-                                                 public void wonSuspendVote(Event event,
-                                                                            JDIDebugTarget target) {
-                                                 }
-
-                                             },
-                                             req );
-
-                        req.enable();
-                        return;
-                    }
-
-                    addRemoteBreakpoint( d );
-                } else {
-                    // only add breakpoint if setting Java properties of DRL
-                    // breakpoint does not generate an error
-                    super.breakpointAdded( breakpoint );
-                }
-            } else {
-                super.breakpointAdded( breakpoint );
-            }
-        } catch ( Throwable t ) {
-            // Exception will be thrown when trying to use breakpoint
-            // on drl that is incorrect (cannot be parsed or compiled)
-            DroolsEclipsePlugin.log( t );
-        }
-    }
-
-    protected synchronized void initialize() {
-        setThreadList( new ArrayList( 5 ) );
-        super.initialize();
-    }
-
-    protected JDIThread createThread(ThreadReference thread) {
-        JDIThread jdiThread = null;
-        try {
-            jdiThread = new DroolsThread( this,
-                                          thread );
-        } catch ( ObjectCollectedException exception ) {
-            // ObjectCollectionException can be thrown if the thread has already
-            // completed (exited) in the VM.
-            return null;
-        }
-        if ( isDisconnected() ) {
-            return null;
-        }
-        synchronized ( fThreads ) {
-            fThreads.add( jdiThread );
-        }
-        jdiThread.fireCreationEvent();
-        return jdiThread;
-    }
-
-    private Iterator getThreadIterator() {
-        List threadList;
-        synchronized ( fThreads ) {
-            threadList = (List) fThreads.clone();
-        }
-        return threadList.iterator();
-    }
-
-    private boolean hasSuspendedThreads() {
-        Iterator it = getThreadIterator();
-        while ( it.hasNext() ) {
-            IThread thread = (IThread) it.next();
-            if ( thread.isSuspended() ) return true;
-        }
-        return false;
-    }
-
-    public boolean canResume() {
-        return (isSuspended() || hasSuspendedThreads()) && isAvailable() && !isPerformingHotCodeReplace();
-    }
-
-    protected void resume(boolean fireNotification) throws DebugException {
-        if ( (!isSuspended() && !hasSuspendedThreads()) || !isAvailable() ) {
-            return;
-        }
-        try {
-            setSuspended( false );
-            resumeThreads();
-            VirtualMachine vm = getVM();
-            if ( vm != null ) {
-                vm.resume();
-            }
-            if ( fireNotification ) {
-                fireResumeEvent( DebugEvent.CLIENT_REQUEST );
-            }
-        } catch ( VMDisconnectedException e ) {
-            disconnected();
-            return;
-        } catch ( RuntimeException e ) {
-            setSuspended( true );
-            fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_resume,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-    }
-
-    private void setSuspended(boolean suspended) {
-        fSuspended = suspended;
-    }
-
-    public boolean isSuspended() {
-        return fSuspended;
-    }
-
-    private void setThreadList(ArrayList threads) {
-        fThreads = threads;
-    }
-
-    public IThread[] getThreads() {
-        synchronized ( fThreads ) {
-            return (IThread[]) fThreads.toArray( new IThread[0] );
-        }
-    }
-
-    protected void removeAllThreads() {
-        Iterator itr = getThreadIterator();
-        while ( itr.hasNext() ) {
-            DroolsThread child = (DroolsThread) itr.next();
-            child.terminated();
-        }
-        synchronized ( fThreads ) {
-            fThreads.clear();
-        }
-    }
-
-    protected void initializeRequests() {
-        setThreadStartHandler( new ThreadStartHandler() );
-        new ThreadDeathHandler();
-        new MVELTraceHandler();
-    }
-
-    class ThreadDeathHandler
-        implements
-        IJDIEventListener {
-
-        protected ThreadDeathHandler() {
-            createRequest();
-        }
-
-        /**
-         * Creates and registers a request to listen to thread
-         * death events.
-         */
-        protected void createRequest() {
-            EventRequestManager manager = getEventRequestManager();
-            if ( manager != null ) {
-                try {
-                    EventRequest req = manager.createThreadDeathRequest();
-                    req.setSuspendPolicy( EventRequest.SUSPEND_NONE );
-                    req.enable();
-                    addJDIEventListener( this,
-                                         req );
-                } catch ( RuntimeException e ) {
-                    logError( e );
-                }
-            }
-        }
-
-        /**
-         * Locates the model thread associated with the underlying JDI thread
-         * that has terminated, and removes it from the collection of
-         * threads belonging to this debug target. A terminate event is
-         * fired for the model thread.
-         *
-         * @param event a thread death event
-         * @param target the target in which the thread died
-         * @return <code>true</code> - the thread should be resumed
-         */
-        public boolean handleEvent(Event event,
-                                   JDIDebugTarget target) {
-            ThreadReference ref = ((ThreadDeathEvent) event).thread();
-            DroolsThread thread = (DroolsThread) findThread( ref );
-            if ( thread != null ) {
-                synchronized ( fThreads ) {
-                    fThreads.remove( thread );
-                }
-                thread.terminated();
-            }
-            return true;
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
-         */
-        public void wonSuspendVote(Event event,
-                                   JDIDebugTarget target) {
-            // do nothing
-        }
-
-    }
-
-    class ThreadStartHandler
-        implements
-        IJDIEventListener {
-
-        protected EventRequest fRequest;
-
-        protected ThreadStartHandler() {
-            createRequest();
-        }
-
-        /**
-         * Creates and registers a request to handle all thread start
-         * events
-         */
-        protected void createRequest() {
-            EventRequestManager manager = getEventRequestManager();
-            if ( manager != null ) {
-                try {
-                    EventRequest req = manager.createThreadStartRequest();
-                    req.setSuspendPolicy( EventRequest.SUSPEND_NONE );
-                    req.enable();
-                    addJDIEventListener( this,
-                                         req );
-                    setRequest( req );
-                } catch ( RuntimeException e ) {
-                    logError( e );
-                }
-            }
-        }
-
-        /**
-         * Creates a model thread for the underlying JDI thread
-         * and adds it to the collection of threads for this
-         * debug target. As a side effect of creating the thread,
-         * a create event is fired for the model thread.
-         * The event is ignored if the underlying thread is already
-         * marked as collected.
-         *
-         * @param event a thread start event
-         * @param target the target in which the thread started
-         * @return <code>true</code> - the thread should be resumed
-         */
-        public boolean handleEvent(Event event,
-                                   JDIDebugTarget target) {
-            ThreadReference thread = ((ThreadStartEvent) event).thread();
-            try {
-                if ( thread.isCollected() ) {
-                    return false;
-                }
-            } catch ( VMDisconnectedException exception ) {
-                return false;
-            } catch ( ObjectCollectedException e ) {
-                return false;
-            } catch ( TimeoutException e ) {
-                // continue - attempt to create the thread
-            }
-            DroolsThread jdiThread = (DroolsThread) findThread( thread );
-            if ( jdiThread == null ) {
-                jdiThread = (DroolsThread) createThread( thread );
-                if ( jdiThread == null ) {
-                    return false;
-                }
-            } else {
-                jdiThread.disposeStackFrames();
-                jdiThread.fireChangeEvent( DebugEvent.CONTENT );
-            }
-            return !jdiThread.isSuspended();
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
-         */
-        public void wonSuspendVote(Event event,
-                                   JDIDebugTarget target) {
-            // do nothing
-        }
-
-        /**
-         * Deregisters this event listener.
-         */
-        protected void deleteRequest() {
-            if ( getRequest() != null ) {
-                removeJDIEventListener( this,
-                                        getRequest() );
-                setRequest( null );
-            }
-        }
-
-        protected EventRequest getRequest() {
-            return fRequest;
-        }
-
-        protected void setRequest(EventRequest request) {
-            fRequest = request;
-        }
-    }
-
-    private void disposeThreadHandler() {
-        ThreadStartHandler handler = getThreadStartHandler2();
-        if ( handler != null ) {
-            handler.deleteRequest();
-        }
-    }
-
-    public boolean hasThreads() {
-        return fThreads.size() > 0;
-    }
-
-    protected ThreadStartHandler getThreadStartHandler2() {
-        return fThreadStartHandler;
-    }
-
-    protected void setThreadStartHandler(ThreadStartHandler threadStartHandler) {
-        fThreadStartHandler = threadStartHandler;
-    }
-
-    public boolean isOutOfSynch() throws DebugException {
-        Iterator threads = getThreadIterator();
-        while ( threads.hasNext() ) {
-            JDIThread thread = (JDIThread) threads.next();
-            if ( thread.isOutOfSynch() ) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public boolean mayBeOutOfSynch() {
-        Iterator threads = getThreadIterator();
-        while ( threads.hasNext() ) {
-            JDIThread thread = (JDIThread) threads.next();
-            if ( thread.mayBeOutOfSynch() ) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public JDIThread findThread(ThreadReference tr) {
-        Iterator iter = getThreadIterator();
-        while ( iter.hasNext() ) {
-            JDIThread thread = (JDIThread) iter.next();
-            if ( thread.getUnderlyingThread().equals( tr ) ) return thread;
-        }
-        return null;
-    }
-
-    public void breakpointRemoved(IBreakpoint breakpoint,
-                                  IMarkerDelta delta) {
-        if ( !isAvailable() ) {
-            return;
-        }
-        if ( supportsBreakpoint( breakpoint ) ) {
-            try {
-
-                if ( breakpoint instanceof DroolsLineBreakpoint ) {
-                    ((DroolsLineBreakpoint) breakpoint).setJavaBreakpointProperties();
-
-                    final DroolsLineBreakpoint d = (DroolsLineBreakpoint) breakpoint;
-
-                    if ( d.getDialectName().equals( MVELDialect.ID ) ) {
-                        removeRemoteBreakpoint( (DroolsLineBreakpoint) breakpoint,
-                                                delta );
-                    }
-                }
-
-                ((JavaBreakpoint) breakpoint).removeFromTarget( this );
-                getBreakpoints().remove( breakpoint );
-                Iterator threads = getThreadIterator();
-                while ( threads.hasNext() ) {
-                    ((DroolsThread) threads.next()).removeCurrentBreakpoint( breakpoint );
-                }
-            } catch ( CoreException e ) {
-                logError( e );
-            }
-        }
-    }
-
-    protected void suspendThreads() {
-        Iterator threads = getThreadIterator();
-        while ( threads.hasNext() ) {
-            ((DroolsThread) threads.next()).suspendedByVM();
-        }
-    }
-
-    protected void resumeThreads() throws DebugException {
-        Iterator threads = getThreadIterator();
-        while ( threads.hasNext() ) {
-            ((DroolsThread) threads.next()).resumedByVM();
-        }
-    }
-
-    public void disconnect() throws DebugException {
-
-        if ( !isAvailable() ) {
-            // already done
-            return;
-        }
-
-        if ( !canDisconnect() ) {
-            notSupported( JDIDebugModelMessages.JDIDebugTarget_does_not_support_disconnect );
-        }
-
-        try {
-            disposeThreadHandler();
-            VirtualMachine vm = getVM();
-            if ( vm != null ) {
-                vm.dispose();
-            }
-        } catch ( VMDisconnectedException e ) {
-            // if the VM disconnects while disconnecting, perform
-            // normal disconnect handling
-            disconnected();
-        } catch ( RuntimeException e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_disconnecting,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-
-    }
-
-    public void terminate() throws DebugException {
-        if ( !isAvailable() ) {
-            return;
-        }
-        if ( !supportsTerminate() ) {
-            notSupported( JDIDebugModelMessages.JDIDebugTarget_does_not_support_termination );
-        }
-        try {
-            setTerminating( true );
-            disposeThreadHandler();
-            VirtualMachine vm = getVM();
-            if ( vm != null ) {
-                vm.exit( 1 );
-            }
-            IProcess process = getProcess();
-            if ( process != null ) {
-                process.terminate();
-            }
-        } catch ( VMDisconnectedException e ) {
-            // if the VM disconnects while exiting, perform
-            // normal termination processing
-            terminated();
-        } catch ( TimeoutException exception ) {
-            // if there is a timeout see if the associated process is terminated
-            IProcess process = getProcess();
-            if ( process != null && process.isTerminated() ) {
-                terminated();
-            } else {
-                // All we can do is disconnect
-                disconnected();
-            }
-        } catch ( RuntimeException e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_terminating,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-    }
-
-    public void handleVMStart(VMStartEvent event) {
-        if ( isResumeOnStartup() ) {
-            try {
-                setSuspended( true );
-                resume();
-            } catch ( DebugException e ) {
-                logError( e );
-            }
-        }
-        // If any threads have resumed since thread collection was initialized,
-        // update their status (avoid concurrent modification - use #getThreads())
-        IThread[] threads = getThreads();
-        for ( int i = 0; i < threads.length; i++ ) {
-            DroolsThread thread = (DroolsThread) threads[i];
-            if ( thread.isSuspended() ) {
-                try {
-                    boolean suspended = thread.getUnderlyingThread().isSuspended();
-                    if ( !suspended ) {
-                        thread.setRunning( true );
-                        thread.fireResumeEvent( DebugEvent.CLIENT_REQUEST );
-                    }
-                } catch ( VMDisconnectedException e ) {
-                } catch ( ObjectCollectedException e ) {
-                } catch ( RuntimeException e ) {
-                    logError( e );
-                }
-            }
-        }
-    }
-
-    protected void initializeState() {
-
-        List threads = null;
-        VirtualMachine vm = getVM();
-        if ( vm != null ) {
-            try {
-                threads = vm.allThreads();
-            } catch ( RuntimeException e ) {
-                internalError( e );
-            }
-            if ( threads != null ) {
-                Iterator initialThreads = threads.iterator();
-                while ( initialThreads.hasNext() ) {
-                    createThread( (ThreadReference) initialThreads.next() );
-                }
-            }
-        }
-
-        if ( isResumeOnStartup() ) {
-            setSuspended( false );
-        }
-    }
-
-    public void suspend() throws DebugException {
-        if ( isSuspended() ) {
-            return;
-        }
-        try {
-            VirtualMachine vm = getVM();
-            if ( vm != null ) {
-                vm.suspend();
-            }
-            suspendThreads();
-            setSuspended( true );
-            fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
-        } catch ( RuntimeException e ) {
-            setSuspended( false );
-            fireResumeEvent( DebugEvent.CLIENT_REQUEST );
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_suspend,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-    }
-
-    public void prepareToSuspendByBreakpoint(JavaBreakpoint breakpoint) {
-        setSuspended( true );
-        suspendThreads();
-    }
-
-    protected void cancelSuspendByBreakpoint(JavaBreakpoint breakpoint) throws DebugException {
-        setSuspended( false );
-        resumeThreads();
-    }
-
-    class MVELTraceHandler
-        implements
-        IJDIEventListener {
-
-        protected MVELTraceHandler() {
-            createRequest();
-        }
-
-        protected void createRequest() {
-            EventRequestManager manager = getEventRequestManager();
-            if ( manager != null ) {
-                try {
-                    ClassPrepareRequest req = manager.createClassPrepareRequest();
-                    req.addClassFilter( "org.drools.base.mvel.MVELDebugHandler" );
-                    req.setSuspendPolicy( EventRequest.SUSPEND_ALL );
-                    addJDIEventListener( MVELTraceHandler.this,
-                                         req );
-                    req.enable();
-
-                } catch ( RuntimeException e ) {
-                    logError( e );
-                }
-            }
-        }
-
-        /**
-         * Locates the model thread associated with the underlying JDI thread
-         * that has terminated, and removes it from the collection of
-         * threads belonging to this debug target. A terminate event is
-         * fired for the model thread.
-         *
-         * @param event a thread death event
-         * @param target the target in which the thread died
-         * @return <code>true</code> - the thread should be resumed
-         */
-        public boolean handleEvent(Event event,
-                                   JDIDebugTarget target) {
-            String name = ((ClassPrepareEvent) event).referenceType().name();
-
-            MethodEntryRequest req = getEventRequestManager().createMethodEntryRequest();
-            req.addClassFilter( ((ClassPrepareEvent) event).referenceType() );
-
-            //breakpointCatched
-
-            /*field= type.fieldByName(getFieldName());
-             Field field;
-             EventRequest req= manager.createModificationWatchpointRequest(field);
-             */
-            req.setSuspendPolicy( EventRequest.SUSPEND_EVENT_THREAD );
-            addJDIEventListener( new IJDIEventListener() {
-
-                                     public boolean handleEvent(Event event,
-                                                                JDIDebugTarget target) {
-                                         MethodEntryEvent entryEvent = (MethodEntryEvent) event;
-
-                                         String name2 = entryEvent.method().name();
-
-                                         if ( !name2.equals( "onBreak" ) && !name2.equals( "receiveBreakpoints" ) ) {
-                                             //event.virtualMachine().resume();
-                                             return true;
-                                         }
-
-                                         try {
-                                             IThread[] tharr = getThreads();
-
-                                             ThreadReference t = null;
-                                             DroolsThread t2 = null;
-
-                                             for ( int i = 0; i < tharr.length; i++ ) {
-                                                 DroolsThread th2 = (DroolsThread) tharr[i];
-                                                 ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
-
-                                                 if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
-                                                     t = th2real;
-                                                     t2 = (DroolsThread) th2;
-
-                                                     th2real.suspend();
-                                                     th2.setRunning( false );
-                                                     th2.fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
-
-                                                     return true;
-                                                 }
-                                             }
-                                         } catch ( Exception t ) {
-                                             logError( t );
-                                         }
-                                         return true;
-
-                                     }
-
-                                     public void wonSuspendVote(Event event,
-                                                                JDIDebugTarget target) {
-
-                                     }
-
-                                 },
-                                 req );
-
-            req.enable();
-
-            return true;
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
-         */
-        public void wonSuspendVote(Event event,
-                                   JDIDebugTarget target) {
-            // do nothing
-        }
-
-    }
-
-    /**
-     * Tries to find a match for the provided breakpoint information from the list of registered breakpoints.
-     * For stepping and possibly other purposes it returns also a breakpoint for cases where exactly the same line was not found.
-     * 
-     * If breakpoint is not found for <code>line</code> at <code>source</code> then it takes the first line that is above the
-     * specified line at the same file.
-     * 
-     * @param source
-     * @param line
-     * @return
-     */
-    public DroolsLineBreakpoint getDroolsBreakpoint(String source) {
-
-        if ( source == null ) {
-            return null;
-        }
-
-        Iterator iterator = getBreakpoints().iterator();
-        while ( iterator.hasNext() ) {
-            IJavaBreakpoint element = (IJavaBreakpoint) iterator.next();
-            if ( element instanceof DroolsLineBreakpoint && ((DroolsLineBreakpoint) element).getDialectName().equals( MVELDialect.ID ) ) {
-                DroolsLineBreakpoint l = (DroolsLineBreakpoint) element;
-                try {
-
-                    int matchLine = l.getLineNumber();
-                    String matchSource = l.getRuleName();
-
-                    if ( source.equals( matchSource ) || l.getFileRuleMappings().containsKey( source ) ) {
-                        return l;
-                    }
-
-                } catch ( CoreException e ) {
-                    logError( e );
-                }
-            }
-        }
-
-        return null;
-    }
-
-    private void addRemoteBreakpoint(DroolsLineBreakpoint d) {
-
-        try {
-            if ( !d.isEnabled() ) {
-                return; // No need to install disabled breakpoints
-            }
-        } catch ( CoreException e2 ) {
-            logError( e2 );
-            return; // No need to install breakpoints that are this much broken
-        }
-
-        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
-        Object debugHandlerClass = handleriter.next();
-
-        int line;
-        String sourceName;
-
-        try {
-            line = d.getLineNumber();
-            sourceName = d.getTypeName();
-        } catch ( CoreException e1 ) {
-            logError( e1 );
-            return;
-        }
-
-        ReferenceType refType = (ReferenceType) debugHandlerClass;
-        Method m = (Method) refType.methodsByName( "registerBreakpoint" ).iterator().next();
-        List args = new ArrayList();
-        IntegerValue lineVal = getVM().mirrorOf( line );
-        StringReference nameVal = getVM().mirrorOf( sourceName );
-        JDIObjectValue val = (JDIObjectValue) newValue( sourceName );
-        ObjectReference realVal = val.getUnderlyingObject();
-        args.add( nameVal );
-        args.add( lineVal );
-
-        try {
-            ClassType tt = (ClassType) debugHandlerClass;
-            IThread[] tharr = getThreads();
-            ThreadReference t = null;
-            DroolsThread t2 = null;
-
-            for ( int i = 0; i < tharr.length; i++ ) {
-                IThread th2 = tharr[i];
-                ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
-
-                if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
-                    t = th2real;
-                    t2 = (DroolsThread) th2;
-                }
-            }
-
-            tt.invokeMethod( t,
-                             m,
-                             args,
-                             ObjectReference.INVOKE_SINGLE_THREADED );
-            //t2.computeNewStackFrames();
-
-            super.breakpointAdded( d );
-
-        } catch ( Exception e ) {
-            logError( e );
-        }
-
-    }
-
-    private void removeRemoteBreakpoint(DroolsLineBreakpoint d,
-                                        IMarkerDelta delta) {
-        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
-        Object debugHandlerClass = handleriter.next();
-
-        int line;
-        String sourceName;
-
-        try {
-            line = d.getLineNumber();
-            sourceName = d.getTypeName();
-        } catch ( CoreException e1 ) {
-            logError( e1 );
-            return;
-        }
-
-        ReferenceType refType = (ReferenceType) debugHandlerClass;
-        Method m = (Method) refType.methodsByName( "removeBreakpoint" ).iterator().next();
-        List args = new ArrayList();
-        IntegerValue lineVal = getVM().mirrorOf( line );
-        StringReference nameVal = getVM().mirrorOf( sourceName );
-        JDIObjectValue val = (JDIObjectValue) newValue( sourceName );
-        ObjectReference realVal = val.getUnderlyingObject();
-        args.add( nameVal );
-        args.add( lineVal );
-
-        try {
-            ClassType tt = (ClassType) debugHandlerClass;
-            IThread[] tharr = getThreads();
-            ThreadReference t = null;
-            DroolsThread t2 = null;
-
-            for ( int i = 0; i < tharr.length; i++ ) {
-                IThread th2 = tharr[i];
-                ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
-
-                if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
-                    t = th2real;
-                    t2 = (DroolsThread) th2;
-                }
-            }
-
-            tt.invokeMethod( t,
-                             m,
-                             args,
-                             ObjectReference.INVOKE_SINGLE_THREADED );
-
-        } catch ( Exception e ) {
-            logError( e );
-        }
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsDebugTarget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,905 @@
+package org.drools.eclipse.debug.core;
+
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.rule.builder.dialect.mvel.MVELDialect;
+import org.eclipse.core.resources.IMarkerDelta;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.debug.core.model.IThread;
+import org.eclipse.jdi.TimeoutException;
+import org.eclipse.jdt.debug.core.IJavaBreakpoint;
+import org.eclipse.jdt.internal.debug.core.IJDIEventListener;
+import org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
+import org.eclipse.jdt.internal.debug.core.model.JDIThread;
+
+import com.sun.jdi.ClassType;
+import com.sun.jdi.IntegerValue;
+import com.sun.jdi.Method;
+import com.sun.jdi.ObjectCollectedException;
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.ReferenceType;
+import com.sun.jdi.StringReference;
+import com.sun.jdi.ThreadReference;
+import com.sun.jdi.VMDisconnectedException;
+import com.sun.jdi.VirtualMachine;
+import com.sun.jdi.event.ClassPrepareEvent;
+import com.sun.jdi.event.Event;
+import com.sun.jdi.event.MethodEntryEvent;
+import com.sun.jdi.event.ThreadDeathEvent;
+import com.sun.jdi.event.ThreadStartEvent;
+import com.sun.jdi.event.VMStartEvent;
+import com.sun.jdi.request.ClassPrepareRequest;
+import com.sun.jdi.request.EventRequest;
+import com.sun.jdi.request.EventRequestManager;
+import com.sun.jdi.request.MethodEntryRequest;
+
+public class DroolsDebugTarget extends JDIDebugTarget {
+
+    private ArrayList          fThreads;
+    private ThreadStartHandler fThreadStartHandler = null;
+    private boolean            fSuspended          = true;
+
+    public DroolsDebugTarget(ILaunch launch,
+                             VirtualMachine jvm,
+                             String name,
+                             boolean supportTerminate,
+                             boolean supportDisconnect,
+                             IProcess process,
+                             boolean resume) {
+        super( launch,
+               jvm,
+               name,
+               supportTerminate,
+               supportDisconnect,
+               process,
+               resume );
+    }
+
+    public void breakpointAdded(IBreakpoint breakpoint) {
+
+        try {
+            if ( breakpoint instanceof DroolsLineBreakpoint ) {
+                ((DroolsLineBreakpoint) breakpoint).setJavaBreakpointProperties();
+
+                final DroolsLineBreakpoint d = (DroolsLineBreakpoint) breakpoint;
+
+                if ( d.getDialectName().equals( MVELDialect.ID ) ) {
+                    //getBreakpoints().add( breakpoint );
+                    //super.breakpointAdded(breakpoint);
+
+                    Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
+                    if ( !handleriter.hasNext() ) {
+                        // Create class prepare request to add breakpoint after MVELDebugHanlder is loaded
+                        ClassPrepareRequest req = getEventRequestManager().createClassPrepareRequest();
+                        req.addClassFilter( "org.drools.base.mvel.MVELDebugHandler" );
+                        req.setSuspendPolicy( EventRequest.SUSPEND_ALL );
+
+                        addJDIEventListener( new IJDIEventListener() {
+
+                                                 public boolean handleEvent(Event event,
+                                                                            JDIDebugTarget target) {
+                                                     addRemoteBreakpoint( d );
+                                                     return true;
+                                                 }
+
+                                                 public void wonSuspendVote(Event event,
+                                                                            JDIDebugTarget target) {
+                                                 }
+
+                                             },
+                                             req );
+
+                        req.enable();
+                        return;
+                    }
+
+                    addRemoteBreakpoint( d );
+                } else {
+                    // only add breakpoint if setting Java properties of DRL
+                    // breakpoint does not generate an error
+                    super.breakpointAdded( breakpoint );
+                }
+            } else {
+                super.breakpointAdded( breakpoint );
+            }
+        } catch ( Throwable t ) {
+            // Exception will be thrown when trying to use breakpoint
+            // on drl that is incorrect (cannot be parsed or compiled)
+            DroolsEclipsePlugin.log( t );
+        }
+    }
+
+    protected synchronized void initialize() {
+        setThreadList( new ArrayList( 5 ) );
+        super.initialize();
+    }
+
+    protected JDIThread createThread(ThreadReference thread) {
+        JDIThread jdiThread = null;
+        try {
+            jdiThread = new DroolsThread( this,
+                                          thread );
+        } catch ( ObjectCollectedException exception ) {
+            // ObjectCollectionException can be thrown if the thread has already
+            // completed (exited) in the VM.
+            return null;
+        }
+        if ( isDisconnected() ) {
+            return null;
+        }
+        synchronized ( fThreads ) {
+            fThreads.add( jdiThread );
+        }
+        jdiThread.fireCreationEvent();
+        return jdiThread;
+    }
+
+    private Iterator getThreadIterator() {
+        List threadList;
+        synchronized ( fThreads ) {
+            threadList = (List) fThreads.clone();
+        }
+        return threadList.iterator();
+    }
+
+    private boolean hasSuspendedThreads() {
+        Iterator it = getThreadIterator();
+        while ( it.hasNext() ) {
+            IThread thread = (IThread) it.next();
+            if ( thread.isSuspended() ) return true;
+        }
+        return false;
+    }
+
+    public boolean canResume() {
+        return (isSuspended() || hasSuspendedThreads()) && isAvailable() && !isPerformingHotCodeReplace();
+    }
+
+    protected void resume(boolean fireNotification) throws DebugException {
+        if ( (!isSuspended() && !hasSuspendedThreads()) || !isAvailable() ) {
+            return;
+        }
+        try {
+            setSuspended( false );
+            resumeThreads();
+            VirtualMachine vm = getVM();
+            if ( vm != null ) {
+                vm.resume();
+            }
+            if ( fireNotification ) {
+                fireResumeEvent( DebugEvent.CLIENT_REQUEST );
+            }
+        } catch ( VMDisconnectedException e ) {
+            disconnected();
+            return;
+        } catch ( RuntimeException e ) {
+            setSuspended( true );
+            fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_resume,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+    }
+
+    private void setSuspended(boolean suspended) {
+        fSuspended = suspended;
+    }
+
+    public boolean isSuspended() {
+        return fSuspended;
+    }
+
+    private void setThreadList(ArrayList threads) {
+        fThreads = threads;
+    }
+
+    public IThread[] getThreads() {
+        synchronized ( fThreads ) {
+            return (IThread[]) fThreads.toArray( new IThread[0] );
+        }
+    }
+
+    protected void removeAllThreads() {
+        Iterator itr = getThreadIterator();
+        while ( itr.hasNext() ) {
+            DroolsThread child = (DroolsThread) itr.next();
+            child.terminated();
+        }
+        synchronized ( fThreads ) {
+            fThreads.clear();
+        }
+    }
+
+    protected void initializeRequests() {
+        setThreadStartHandler( new ThreadStartHandler() );
+        new ThreadDeathHandler();
+        new MVELTraceHandler();
+    }
+
+    class ThreadDeathHandler
+        implements
+        IJDIEventListener {
+
+        protected ThreadDeathHandler() {
+            createRequest();
+        }
+
+        /**
+         * Creates and registers a request to listen to thread
+         * death events.
+         */
+        protected void createRequest() {
+            EventRequestManager manager = getEventRequestManager();
+            if ( manager != null ) {
+                try {
+                    EventRequest req = manager.createThreadDeathRequest();
+                    req.setSuspendPolicy( EventRequest.SUSPEND_NONE );
+                    req.enable();
+                    addJDIEventListener( this,
+                                         req );
+                } catch ( RuntimeException e ) {
+                    logError( e );
+                }
+            }
+        }
+
+        /**
+         * Locates the model thread associated with the underlying JDI thread
+         * that has terminated, and removes it from the collection of
+         * threads belonging to this debug target. A terminate event is
+         * fired for the model thread.
+         *
+         * @param event a thread death event
+         * @param target the target in which the thread died
+         * @return <code>true</code> - the thread should be resumed
+         */
+        public boolean handleEvent(Event event,
+                                   JDIDebugTarget target) {
+            ThreadReference ref = ((ThreadDeathEvent) event).thread();
+            DroolsThread thread = (DroolsThread) findThread( ref );
+            if ( thread != null ) {
+                synchronized ( fThreads ) {
+                    fThreads.remove( thread );
+                }
+                thread.terminated();
+            }
+            return true;
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
+         */
+        public void wonSuspendVote(Event event,
+                                   JDIDebugTarget target) {
+            // do nothing
+        }
+
+    }
+
+    class ThreadStartHandler
+        implements
+        IJDIEventListener {
+
+        protected EventRequest fRequest;
+
+        protected ThreadStartHandler() {
+            createRequest();
+        }
+
+        /**
+         * Creates and registers a request to handle all thread start
+         * events
+         */
+        protected void createRequest() {
+            EventRequestManager manager = getEventRequestManager();
+            if ( manager != null ) {
+                try {
+                    EventRequest req = manager.createThreadStartRequest();
+                    req.setSuspendPolicy( EventRequest.SUSPEND_NONE );
+                    req.enable();
+                    addJDIEventListener( this,
+                                         req );
+                    setRequest( req );
+                } catch ( RuntimeException e ) {
+                    logError( e );
+                }
+            }
+        }
+
+        /**
+         * Creates a model thread for the underlying JDI thread
+         * and adds it to the collection of threads for this
+         * debug target. As a side effect of creating the thread,
+         * a create event is fired for the model thread.
+         * The event is ignored if the underlying thread is already
+         * marked as collected.
+         *
+         * @param event a thread start event
+         * @param target the target in which the thread started
+         * @return <code>true</code> - the thread should be resumed
+         */
+        public boolean handleEvent(Event event,
+                                   JDIDebugTarget target) {
+            ThreadReference thread = ((ThreadStartEvent) event).thread();
+            try {
+                if ( thread.isCollected() ) {
+                    return false;
+                }
+            } catch ( VMDisconnectedException exception ) {
+                return false;
+            } catch ( ObjectCollectedException e ) {
+                return false;
+            } catch ( TimeoutException e ) {
+                // continue - attempt to create the thread
+            }
+            DroolsThread jdiThread = (DroolsThread) findThread( thread );
+            if ( jdiThread == null ) {
+                jdiThread = (DroolsThread) createThread( thread );
+                if ( jdiThread == null ) {
+                    return false;
+                }
+            } else {
+                jdiThread.disposeStackFrames();
+                jdiThread.fireChangeEvent( DebugEvent.CONTENT );
+            }
+            return !jdiThread.isSuspended();
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
+         */
+        public void wonSuspendVote(Event event,
+                                   JDIDebugTarget target) {
+            // do nothing
+        }
+
+        /**
+         * Deregisters this event listener.
+         */
+        protected void deleteRequest() {
+            if ( getRequest() != null ) {
+                removeJDIEventListener( this,
+                                        getRequest() );
+                setRequest( null );
+            }
+        }
+
+        protected EventRequest getRequest() {
+            return fRequest;
+        }
+
+        protected void setRequest(EventRequest request) {
+            fRequest = request;
+        }
+    }
+
+    private void disposeThreadHandler() {
+        ThreadStartHandler handler = getThreadStartHandler2();
+        if ( handler != null ) {
+            handler.deleteRequest();
+        }
+    }
+
+    public boolean hasThreads() {
+        return fThreads.size() > 0;
+    }
+
+    protected ThreadStartHandler getThreadStartHandler2() {
+        return fThreadStartHandler;
+    }
+
+    protected void setThreadStartHandler(ThreadStartHandler threadStartHandler) {
+        fThreadStartHandler = threadStartHandler;
+    }
+
+    public boolean isOutOfSynch() throws DebugException {
+        Iterator threads = getThreadIterator();
+        while ( threads.hasNext() ) {
+            JDIThread thread = (JDIThread) threads.next();
+            if ( thread.isOutOfSynch() ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public boolean mayBeOutOfSynch() {
+        Iterator threads = getThreadIterator();
+        while ( threads.hasNext() ) {
+            JDIThread thread = (JDIThread) threads.next();
+            if ( thread.mayBeOutOfSynch() ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public JDIThread findThread(ThreadReference tr) {
+        Iterator iter = getThreadIterator();
+        while ( iter.hasNext() ) {
+            JDIThread thread = (JDIThread) iter.next();
+            if ( thread.getUnderlyingThread().equals( tr ) ) return thread;
+        }
+        return null;
+    }
+
+    public void breakpointRemoved(IBreakpoint breakpoint,
+                                  IMarkerDelta delta) {
+        if ( !isAvailable() ) {
+            return;
+        }
+        if ( supportsBreakpoint( breakpoint ) ) {
+            try {
+
+                if ( breakpoint instanceof DroolsLineBreakpoint ) {
+                    ((DroolsLineBreakpoint) breakpoint).setJavaBreakpointProperties();
+
+                    final DroolsLineBreakpoint d = (DroolsLineBreakpoint) breakpoint;
+
+                    if ( d.getDialectName().equals( MVELDialect.ID ) ) {
+                        removeRemoteBreakpoint( (DroolsLineBreakpoint) breakpoint,
+                                                delta );
+                    }
+                }
+
+                ((JavaBreakpoint) breakpoint).removeFromTarget( this );
+                getBreakpoints().remove( breakpoint );
+                Iterator threads = getThreadIterator();
+                while ( threads.hasNext() ) {
+                    ((DroolsThread) threads.next()).removeCurrentBreakpoint( breakpoint );
+                }
+            } catch ( CoreException e ) {
+                logError( e );
+            }
+        }
+    }
+
+    protected void suspendThreads() {
+        Iterator threads = getThreadIterator();
+        while ( threads.hasNext() ) {
+            ((DroolsThread) threads.next()).suspendedByVM();
+        }
+    }
+
+    protected void resumeThreads() throws DebugException {
+        Iterator threads = getThreadIterator();
+        while ( threads.hasNext() ) {
+            ((DroolsThread) threads.next()).resumedByVM();
+        }
+    }
+
+    public void disconnect() throws DebugException {
+
+        if ( !isAvailable() ) {
+            // already done
+            return;
+        }
+
+        if ( !canDisconnect() ) {
+            notSupported( JDIDebugModelMessages.JDIDebugTarget_does_not_support_disconnect );
+        }
+
+        try {
+            disposeThreadHandler();
+            VirtualMachine vm = getVM();
+            if ( vm != null ) {
+                vm.dispose();
+            }
+        } catch ( VMDisconnectedException e ) {
+            // if the VM disconnects while disconnecting, perform
+            // normal disconnect handling
+            disconnected();
+        } catch ( RuntimeException e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_disconnecting,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+
+    }
+
+    public void terminate() throws DebugException {
+        if ( !isAvailable() ) {
+            return;
+        }
+        if ( !supportsTerminate() ) {
+            notSupported( JDIDebugModelMessages.JDIDebugTarget_does_not_support_termination );
+        }
+        try {
+            setTerminating( true );
+            disposeThreadHandler();
+            VirtualMachine vm = getVM();
+            if ( vm != null ) {
+                vm.exit( 1 );
+            }
+            IProcess process = getProcess();
+            if ( process != null ) {
+                process.terminate();
+            }
+        } catch ( VMDisconnectedException e ) {
+            // if the VM disconnects while exiting, perform
+            // normal termination processing
+            terminated();
+        } catch ( TimeoutException exception ) {
+            // if there is a timeout see if the associated process is terminated
+            IProcess process = getProcess();
+            if ( process != null && process.isTerminated() ) {
+                terminated();
+            } else {
+                // All we can do is disconnect
+                disconnected();
+            }
+        } catch ( RuntimeException e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_terminating,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+    }
+
+    public void handleVMStart(VMStartEvent event) {
+        if ( isResumeOnStartup() ) {
+            try {
+                setSuspended( true );
+                resume();
+            } catch ( DebugException e ) {
+                logError( e );
+            }
+        }
+        // If any threads have resumed since thread collection was initialized,
+        // update their status (avoid concurrent modification - use #getThreads())
+        IThread[] threads = getThreads();
+        for ( int i = 0; i < threads.length; i++ ) {
+            DroolsThread thread = (DroolsThread) threads[i];
+            if ( thread.isSuspended() ) {
+                try {
+                    boolean suspended = thread.getUnderlyingThread().isSuspended();
+                    if ( !suspended ) {
+                        thread.setRunning( true );
+                        thread.fireResumeEvent( DebugEvent.CLIENT_REQUEST );
+                    }
+                } catch ( VMDisconnectedException e ) {
+                } catch ( ObjectCollectedException e ) {
+                } catch ( RuntimeException e ) {
+                    logError( e );
+                }
+            }
+        }
+    }
+
+    protected void initializeState() {
+
+        List threads = null;
+        VirtualMachine vm = getVM();
+        if ( vm != null ) {
+            try {
+                threads = vm.allThreads();
+            } catch ( RuntimeException e ) {
+                internalError( e );
+            }
+            if ( threads != null ) {
+                Iterator initialThreads = threads.iterator();
+                while ( initialThreads.hasNext() ) {
+                    createThread( (ThreadReference) initialThreads.next() );
+                }
+            }
+        }
+
+        if ( isResumeOnStartup() ) {
+            setSuspended( false );
+        }
+    }
+
+    public void suspend() throws DebugException {
+        if ( isSuspended() ) {
+            return;
+        }
+        try {
+            VirtualMachine vm = getVM();
+            if ( vm != null ) {
+                vm.suspend();
+            }
+            suspendThreads();
+            setSuspended( true );
+            fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
+        } catch ( RuntimeException e ) {
+            setSuspended( false );
+            fireResumeEvent( DebugEvent.CLIENT_REQUEST );
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIDebugTarget_exception_suspend,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+    }
+
+    public void prepareToSuspendByBreakpoint(JavaBreakpoint breakpoint) {
+        setSuspended( true );
+        suspendThreads();
+    }
+
+    protected void cancelSuspendByBreakpoint(JavaBreakpoint breakpoint) throws DebugException {
+        setSuspended( false );
+        resumeThreads();
+    }
+
+    class MVELTraceHandler
+        implements
+        IJDIEventListener {
+
+        protected MVELTraceHandler() {
+            createRequest();
+        }
+
+        protected void createRequest() {
+            EventRequestManager manager = getEventRequestManager();
+            if ( manager != null ) {
+                try {
+                    ClassPrepareRequest req = manager.createClassPrepareRequest();
+                    req.addClassFilter( "org.drools.base.mvel.MVELDebugHandler" );
+                    req.setSuspendPolicy( EventRequest.SUSPEND_ALL );
+                    addJDIEventListener( MVELTraceHandler.this,
+                                         req );
+                    req.enable();
+
+                } catch ( RuntimeException e ) {
+                    logError( e );
+                }
+            }
+        }
+
+        /**
+         * Locates the model thread associated with the underlying JDI thread
+         * that has terminated, and removes it from the collection of
+         * threads belonging to this debug target. A terminate event is
+         * fired for the model thread.
+         *
+         * @param event a thread death event
+         * @param target the target in which the thread died
+         * @return <code>true</code> - the thread should be resumed
+         */
+        public boolean handleEvent(Event event,
+                                   JDIDebugTarget target) {
+            String name = ((ClassPrepareEvent) event).referenceType().name();
+
+            MethodEntryRequest req = getEventRequestManager().createMethodEntryRequest();
+            req.addClassFilter( ((ClassPrepareEvent) event).referenceType() );
+
+            //breakpointCatched
+
+            /*field= type.fieldByName(getFieldName());
+             Field field;
+             EventRequest req= manager.createModificationWatchpointRequest(field);
+             */
+            req.setSuspendPolicy( EventRequest.SUSPEND_EVENT_THREAD );
+            addJDIEventListener( new IJDIEventListener() {
+
+                                     public boolean handleEvent(Event event,
+                                                                JDIDebugTarget target) {
+                                         MethodEntryEvent entryEvent = (MethodEntryEvent) event;
+
+                                         String name2 = entryEvent.method().name();
+
+                                         if ( !name2.equals( "onBreak" ) && !name2.equals( "receiveBreakpoints" ) ) {
+                                             //event.virtualMachine().resume();
+                                             return true;
+                                         }
+
+                                         try {
+                                             IThread[] tharr = getThreads();
+
+                                             ThreadReference t = null;
+                                             DroolsThread t2 = null;
+
+                                             for ( int i = 0; i < tharr.length; i++ ) {
+                                                 DroolsThread th2 = (DroolsThread) tharr[i];
+                                                 ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
+
+                                                 if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
+                                                     t = th2real;
+                                                     t2 = (DroolsThread) th2;
+
+                                                     th2real.suspend();
+                                                     th2.setRunning( false );
+                                                     th2.fireSuspendEvent( DebugEvent.CLIENT_REQUEST );
+
+                                                     return true;
+                                                 }
+                                             }
+                                         } catch ( Exception t ) {
+                                             logError( t );
+                                         }
+                                         return true;
+
+                                     }
+
+                                     public void wonSuspendVote(Event event,
+                                                                JDIDebugTarget target) {
+
+                                     }
+
+                                 },
+                                 req );
+
+            req.enable();
+
+            return true;
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.jdt.internal.debug.core.IJDIEventListener#wonSuspendVote(com.sun.jdi.event.Event, org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget)
+         */
+        public void wonSuspendVote(Event event,
+                                   JDIDebugTarget target) {
+            // do nothing
+        }
+
+    }
+
+    /**
+     * Tries to find a match for the provided breakpoint information from the list of registered breakpoints.
+     * For stepping and possibly other purposes it returns also a breakpoint for cases where exactly the same line was not found.
+     * 
+     * If breakpoint is not found for <code>line</code> at <code>source</code> then it takes the first line that is above the
+     * specified line at the same file.
+     * 
+     * @param source
+     * @param line
+     * @return
+     */
+    public DroolsLineBreakpoint getDroolsBreakpoint(String source) {
+
+        if ( source == null ) {
+            return null;
+        }
+
+        Iterator iterator = getBreakpoints().iterator();
+        while ( iterator.hasNext() ) {
+            IJavaBreakpoint element = (IJavaBreakpoint) iterator.next();
+            if ( element instanceof DroolsLineBreakpoint && ((DroolsLineBreakpoint) element).getDialectName().equals( MVELDialect.ID ) ) {
+                DroolsLineBreakpoint l = (DroolsLineBreakpoint) element;
+                try {
+
+                    int matchLine = l.getLineNumber();
+                    String matchSource = l.getRuleName();
+
+                    if ( source.equals( matchSource ) || l.getFileRuleMappings().containsKey( source ) ) {
+                        return l;
+                    }
+
+                } catch ( CoreException e ) {
+                    logError( e );
+                }
+            }
+        }
+
+        return null;
+    }
+
+    private void addRemoteBreakpoint(DroolsLineBreakpoint d) {
+
+        try {
+            if ( !d.isEnabled() ) {
+                return; // No need to install disabled breakpoints
+            }
+        } catch ( CoreException e2 ) {
+            logError( e2 );
+            return; // No need to install breakpoints that are this much broken
+        }
+
+        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
+        Object debugHandlerClass = handleriter.next();
+
+        int line;
+        String sourceName;
+
+        try {
+            line = d.getLineNumber();
+            sourceName = d.getTypeName();
+        } catch ( CoreException e1 ) {
+            logError( e1 );
+            return;
+        }
+
+        ReferenceType refType = (ReferenceType) debugHandlerClass;
+        Method m = (Method) refType.methodsByName( "registerBreakpoint" ).iterator().next();
+        List args = new ArrayList();
+        IntegerValue lineVal = getVM().mirrorOf( line );
+        StringReference nameVal = getVM().mirrorOf( sourceName );
+        JDIObjectValue val = (JDIObjectValue) newValue( sourceName );
+        ObjectReference realVal = val.getUnderlyingObject();
+        args.add( nameVal );
+        args.add( lineVal );
+
+        try {
+            ClassType tt = (ClassType) debugHandlerClass;
+            IThread[] tharr = getThreads();
+            ThreadReference t = null;
+            DroolsThread t2 = null;
+
+            for ( int i = 0; i < tharr.length; i++ ) {
+                IThread th2 = tharr[i];
+                ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
+
+                if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
+                    t = th2real;
+                    t2 = (DroolsThread) th2;
+                }
+            }
+
+            tt.invokeMethod( t,
+                             m,
+                             args,
+                             ObjectReference.INVOKE_SINGLE_THREADED );
+            //t2.computeNewStackFrames();
+
+            super.breakpointAdded( d );
+
+        } catch ( Exception e ) {
+            logError( e );
+        }
+
+    }
+
+    private void removeRemoteBreakpoint(DroolsLineBreakpoint d,
+                                        IMarkerDelta delta) {
+        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
+        Object debugHandlerClass = handleriter.next();
+
+        int line;
+        String sourceName;
+
+        try {
+            line = d.getLineNumber();
+            sourceName = d.getTypeName();
+        } catch ( CoreException e1 ) {
+            logError( e1 );
+            return;
+        }
+
+        ReferenceType refType = (ReferenceType) debugHandlerClass;
+        Method m = (Method) refType.methodsByName( "removeBreakpoint" ).iterator().next();
+        List args = new ArrayList();
+        IntegerValue lineVal = getVM().mirrorOf( line );
+        StringReference nameVal = getVM().mirrorOf( sourceName );
+        JDIObjectValue val = (JDIObjectValue) newValue( sourceName );
+        ObjectReference realVal = val.getUnderlyingObject();
+        args.add( nameVal );
+        args.add( lineVal );
+
+        try {
+            ClassType tt = (ClassType) debugHandlerClass;
+            IThread[] tharr = getThreads();
+            ThreadReference t = null;
+            DroolsThread t2 = null;
+
+            for ( int i = 0; i < tharr.length; i++ ) {
+                IThread th2 = tharr[i];
+                ThreadReference th2real = ((DroolsThread) tharr[i]).getUnderlyingThread();
+
+                if ( th2real.suspendCount() == 1 && th2.getName().equals( "main" ) ) {
+                    t = th2real;
+                    t2 = (DroolsThread) th2;
+                }
+            }
+
+            tt.invokeMethod( t,
+                             m,
+                             args,
+                             ObjectReference.INVOKE_SINGLE_THREADED );
+
+        } catch ( Exception e ) {
+            logError( e );
+        }
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,174 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.internal.debug.core.breakpoints.JavaLineBreakpoint;
-
-public class DroolsLineBreakpoint extends JavaLineBreakpoint {
-
-    private static final String DIALECT = "org.drools.eclipse.debug.core.breakpointDialect";
-
-    /**
-     * Default constructor is required for the breakpoint manager
-     * to re-create persisted breakpoints. After instantiating a breakpoint,
-     * the <code>setMarker(...)</code> method is called to restore
-     * this breakpoint's attributes.
-     */
-    public DroolsLineBreakpoint() {
-        super();
-    }
-
-    /**
-     * Constructs a line breakpoint on the given resource at the given
-     * line number.
-     *
-     * @param resource file on which to set the breakpoint
-     * @param lineNumber line number of the breakpoint
-     * @throws CoreException if unable to create the breakpoint
-     */
-    public DroolsLineBreakpoint(IResource resource, int lineNumber)
-			throws CoreException {
-        super( resource, "", -1, -1, -1, 0, true,
-            createAttributesMap( lineNumber ), IDroolsDebugConstants.DROOLS_MARKER_TYPE );
-        setJavaBreakpointProperties();
-    }
-
-    private static Map createAttributesMap(int lineNumber) {
-        Map map = new HashMap();
-        map.put( IDroolsDebugConstants.DRL_LINE_NUMBER, new Integer( lineNumber ) );
-        return map;
-    }
-
-    public int getDRLLineNumber() {
-        return getMarker().getAttribute( IDroolsDebugConstants.DRL_LINE_NUMBER, -1 );
-    }
-
-    public String getModelIdentifier() {
-        return IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL;
-    }
-
-    public String getDialectName() {
-        return getMarker().getAttribute( DIALECT, "Unknown");
-    }
-
-    public Map getFileRuleMappings() {
-        String packedInfo = getMarker().getAttribute( IDroolsDebugConstants.DRL_RULES, "");
-        return unpackRuleMapping( packedInfo );
-    }
-
-    public void setJavaBreakpointProperties() throws CoreException {
-        IMarker marker = getMarker();
-        int drlLineNumber = getDRLLineNumber();
-        if ( marker.exists() ) {
-            try {
-                DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource( marker.getResource(), true );
-
-                RuleInfo[] ruleInfos = drlInfo.getRuleInfos();
-
-                StringBuffer rb = new StringBuffer();
-                for (int i=0;i<ruleInfos.length; i++) {
-                    int line = ruleInfos[i].getConsequenceDrlLineNumber();
-                    String ruleid = ruleInfos[i].getClassName()+":"+line;
-                    rb.append(ruleid);
-                    if (i<ruleInfos.length-1) {
-                        rb.append(";");
-                    }
-                }
-
-                marker.setAttribute( IDroolsDebugConstants.DRL_RULES, rb.toString());
-
-                marker.setAttribute( TYPE_NAME, getRuleClassName( drlInfo, marker.getResource().toString(), drlLineNumber ) );
-                int ruleLineNumber = getRuleLineNumber( drlInfo, marker.getResource().toString(), drlLineNumber );
-                marker.setAttribute( IMarker.LINE_NUMBER, ruleLineNumber );
-                marker.setAttribute( DIALECT, getDialect( drlInfo, drlLineNumber ) );
-
-            } catch ( Throwable t ) {
-                throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
-                                                     "Cannot determine ruleInfo " + marker.getResource() + " " + drlLineNumber, t ) );
-            }
-        }
-    }
-
-    private String getDialect(DRLInfo info, int drlLineNumber) {
-        if ( info != null ) {
-            return info.getRuleInfo( drlLineNumber ).getDialect().getId();
-        }
-        return null;
-    }
-
-    private String getRuleClassName(DRLInfo drlInfo, String resource, int lineNumber) throws CoreException {
-        if ( drlInfo != null ) {
-            RuleInfo ruleInfo = drlInfo.getRuleInfo( lineNumber );
-            if ( ruleInfo != null ) {
-                return ruleInfo.getClassName();
-            }
-            FunctionInfo functionInfo = drlInfo.getFunctionInfo( lineNumber );
-            if ( functionInfo != null ) {
-                return functionInfo.getClassName();
-            }
-        }
-        throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
-                                             "Cannot determine ruleClassName for " + resource + " " + lineNumber, null ) );
-    }
-
-    private int getRuleLineNumber(DRLInfo drlInfo, String resource, int lineNumber) throws CoreException {
-        if ( drlInfo != null ) {
-            RuleInfo ruleInfo = drlInfo.getRuleInfo( lineNumber );
-            if ( ruleInfo != null ) {
-                if ( ruleInfo.getConsequenceDrlLineNumber() < lineNumber ) {
-
-                    int line = ruleInfo.getConsequenceJavaLineNumber()
-                                        	+ (lineNumber - ruleInfo.getConsequenceDrlLineNumber());
-                    if (ruleInfo.getDialect().getId().equals( MVELDialect.ID )) {
-                        return line;
-                    }
-                    return line+1;
-                }
-            }
-            FunctionInfo functionInfo = drlInfo.getFunctionInfo( lineNumber );
-            if ( functionInfo != null ) {
-                return functionInfo.getJavaLineNumber()
-                	+ (lineNumber - functionInfo.getDrlLineNumber());
-            }
-        }
-        throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
-                                             "Cannot determine ruleLineNumber for " + resource + " " + lineNumber, null ) );
-    }
-
-    public String getRuleName() {
-        IMarker marker = getMarker();
-        if ( marker.exists() ) {
-                try {
-                    return (String) marker.getAttribute( TYPE_NAME);
-                } catch ( CoreException e ) {
-                    DroolsEclipsePlugin.log( e );
-                }
-        }
-        return null;
-    }
-
-    private final static Map unpackRuleMapping(String input) {
-        Map map = new HashMap();
-        String[] rules = input.split( "\\;");
-        for (int i=0; i<rules.length; i++) {
-            if (rules[i].length()>0) {
-                String[] inf = rules[i].split( "\\:" );
-                map.put( inf[0], Integer.valueOf( inf[1] ) );
-            }
-        }
-        return map;
-    }
-
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpoint.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,174 @@
+package org.drools.eclipse.debug.core;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.rule.builder.dialect.mvel.MVELDialect;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.internal.debug.core.breakpoints.JavaLineBreakpoint;
+
+public class DroolsLineBreakpoint extends JavaLineBreakpoint {
+
+    private static final String DIALECT = "org.drools.eclipse.debug.core.breakpointDialect";
+
+    /**
+     * Default constructor is required for the breakpoint manager
+     * to re-create persisted breakpoints. After instantiating a breakpoint,
+     * the <code>setMarker(...)</code> method is called to restore
+     * this breakpoint's attributes.
+     */
+    public DroolsLineBreakpoint() {
+        super();
+    }
+
+    /**
+     * Constructs a line breakpoint on the given resource at the given
+     * line number.
+     *
+     * @param resource file on which to set the breakpoint
+     * @param lineNumber line number of the breakpoint
+     * @throws CoreException if unable to create the breakpoint
+     */
+    public DroolsLineBreakpoint(IResource resource, int lineNumber)
+			throws CoreException {
+        super( resource, "", -1, -1, -1, 0, true,
+            createAttributesMap( lineNumber ), IDroolsDebugConstants.DROOLS_MARKER_TYPE );
+        setJavaBreakpointProperties();
+    }
+
+    private static Map createAttributesMap(int lineNumber) {
+        Map map = new HashMap();
+        map.put( IDroolsDebugConstants.DRL_LINE_NUMBER, new Integer( lineNumber ) );
+        return map;
+    }
+
+    public int getDRLLineNumber() {
+        return getMarker().getAttribute( IDroolsDebugConstants.DRL_LINE_NUMBER, -1 );
+    }
+
+    public String getModelIdentifier() {
+        return IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL;
+    }
+
+    public String getDialectName() {
+        return getMarker().getAttribute( DIALECT, "Unknown");
+    }
+
+    public Map getFileRuleMappings() {
+        String packedInfo = getMarker().getAttribute( IDroolsDebugConstants.DRL_RULES, "");
+        return unpackRuleMapping( packedInfo );
+    }
+
+    public void setJavaBreakpointProperties() throws CoreException {
+        IMarker marker = getMarker();
+        int drlLineNumber = getDRLLineNumber();
+        if ( marker.exists() ) {
+            try {
+                DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource( marker.getResource(), true );
+
+                RuleInfo[] ruleInfos = drlInfo.getRuleInfos();
+
+                StringBuffer rb = new StringBuffer();
+                for (int i=0;i<ruleInfos.length; i++) {
+                    int line = ruleInfos[i].getConsequenceDrlLineNumber();
+                    String ruleid = ruleInfos[i].getClassName()+":"+line;
+                    rb.append(ruleid);
+                    if (i<ruleInfos.length-1) {
+                        rb.append(";");
+                    }
+                }
+
+                marker.setAttribute( IDroolsDebugConstants.DRL_RULES, rb.toString());
+
+                marker.setAttribute( TYPE_NAME, getRuleClassName( drlInfo, marker.getResource().toString(), drlLineNumber ) );
+                int ruleLineNumber = getRuleLineNumber( drlInfo, marker.getResource().toString(), drlLineNumber );
+                marker.setAttribute( IMarker.LINE_NUMBER, ruleLineNumber );
+                marker.setAttribute( DIALECT, getDialect( drlInfo, drlLineNumber ) );
+
+            } catch ( Throwable t ) {
+                throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
+                                                     "Cannot determine ruleInfo " + marker.getResource() + " " + drlLineNumber, t ) );
+            }
+        }
+    }
+
+    private String getDialect(DRLInfo info, int drlLineNumber) {
+        if ( info != null ) {
+            return info.getRuleInfo( drlLineNumber ).getDialect().getId();
+        }
+        return null;
+    }
+
+    private String getRuleClassName(DRLInfo drlInfo, String resource, int lineNumber) throws CoreException {
+        if ( drlInfo != null ) {
+            RuleInfo ruleInfo = drlInfo.getRuleInfo( lineNumber );
+            if ( ruleInfo != null ) {
+                return ruleInfo.getClassName();
+            }
+            FunctionInfo functionInfo = drlInfo.getFunctionInfo( lineNumber );
+            if ( functionInfo != null ) {
+                return functionInfo.getClassName();
+            }
+        }
+        throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
+                                             "Cannot determine ruleClassName for " + resource + " " + lineNumber, null ) );
+    }
+
+    private int getRuleLineNumber(DRLInfo drlInfo, String resource, int lineNumber) throws CoreException {
+        if ( drlInfo != null ) {
+            RuleInfo ruleInfo = drlInfo.getRuleInfo( lineNumber );
+            if ( ruleInfo != null ) {
+                if ( ruleInfo.getConsequenceDrlLineNumber() < lineNumber ) {
+
+                    int line = ruleInfo.getConsequenceJavaLineNumber()
+                                        	+ (lineNumber - ruleInfo.getConsequenceDrlLineNumber());
+                    if (ruleInfo.getDialect().getId().equals( MVELDialect.ID )) {
+                        return line;
+                    }
+                    return line+1;
+                }
+            }
+            FunctionInfo functionInfo = drlInfo.getFunctionInfo( lineNumber );
+            if ( functionInfo != null ) {
+                return functionInfo.getJavaLineNumber()
+                	+ (lineNumber - functionInfo.getDrlLineNumber());
+            }
+        }
+        throw new CoreException( new Status( IStatus.ERROR, DroolsEclipsePlugin.getUniqueIdentifier(), 0,
+                                             "Cannot determine ruleLineNumber for " + resource + " " + lineNumber, null ) );
+    }
+
+    public String getRuleName() {
+        IMarker marker = getMarker();
+        if ( marker.exists() ) {
+                try {
+                    return (String) marker.getAttribute( TYPE_NAME);
+                } catch ( CoreException e ) {
+                    DroolsEclipsePlugin.log( e );
+                }
+        }
+        return null;
+    }
+
+    private final static Map unpackRuleMapping(String input) {
+        Map map = new HashMap();
+        String[] rules = input.split( "\\;");
+        for (int i=0; i<rules.length; i++) {
+            if (rules[i].length()>0) {
+                String[] inf = rules[i].split( "\\:" );
+                map.put( inf[0], Integer.valueOf( inf[1] ) );
+            }
+        }
+        return map;
+    }
+
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,61 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.ui.texteditor.IMarkerUpdater;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-public class DroolsLineBreakpointMarkerUpdater implements IMarkerUpdater {
-
-	private static final String[] ATTRIBUTES = { 
-		IMarker.LINE_NUMBER, 
-		IDroolsDebugConstants.DRL_LINE_NUMBER 
-	};
-	
-	public String getMarkerType() {
-		// responsible for only Drools line breakpoint markers
-		return IDroolsDebugConstants.DROOLS_MARKER_TYPE;
-	}
-
-	public String[] getAttribute() {
-		return ATTRIBUTES;
-	}
-
-	public boolean updateMarker(IMarker marker, IDocument document, Position position) {
-		if (position == null) {
-			return true;
-		}
-		if (position.isDeleted()) {
-			return false;
-		}
-		boolean offsetsInitialized = false;
-		boolean offsetsChanged = false;
-		int markerStart = MarkerUtilities.getCharStart(marker);
-		int markerEnd = MarkerUtilities.getCharEnd(marker);
-		if (markerStart != -1 && markerEnd != -1) {
-			offsetsInitialized = true;
-			int offset = position.getOffset();
-			if (markerStart != offset) {
-				MarkerUtilities.setCharStart(marker, offset);
-				offsetsChanged= true;
-			}
-			offset += position.getLength();
-			if (markerEnd != offset) {
-				MarkerUtilities.setCharEnd(marker, offset);
-				offsetsChanged= true;
-			}
-		}
-		if (!offsetsInitialized || (offsetsChanged && MarkerUtilities.getLineNumber(marker) != -1)) {
-			try {
-				int drlLineNumber = document.getLineOfOffset(position.getOffset()) + 1;
-				marker.setAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, drlLineNumber);
-			} catch (Throwable t) {
-				DroolsEclipsePlugin.log(t);
-			}
-		}
-		return true;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLineBreakpointMarkerUpdater.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,61 @@
+package org.drools.eclipse.debug.core;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.Position;
+import org.eclipse.ui.texteditor.IMarkerUpdater;
+import org.eclipse.ui.texteditor.MarkerUtilities;
+
+public class DroolsLineBreakpointMarkerUpdater implements IMarkerUpdater {
+
+	private static final String[] ATTRIBUTES = { 
+		IMarker.LINE_NUMBER, 
+		IDroolsDebugConstants.DRL_LINE_NUMBER 
+	};
+	
+	public String getMarkerType() {
+		// responsible for only Drools line breakpoint markers
+		return IDroolsDebugConstants.DROOLS_MARKER_TYPE;
+	}
+
+	public String[] getAttribute() {
+		return ATTRIBUTES;
+	}
+
+	public boolean updateMarker(IMarker marker, IDocument document, Position position) {
+		if (position == null) {
+			return true;
+		}
+		if (position.isDeleted()) {
+			return false;
+		}
+		boolean offsetsInitialized = false;
+		boolean offsetsChanged = false;
+		int markerStart = MarkerUtilities.getCharStart(marker);
+		int markerEnd = MarkerUtilities.getCharEnd(marker);
+		if (markerStart != -1 && markerEnd != -1) {
+			offsetsInitialized = true;
+			int offset = position.getOffset();
+			if (markerStart != offset) {
+				MarkerUtilities.setCharStart(marker, offset);
+				offsetsChanged= true;
+			}
+			offset += position.getLength();
+			if (markerEnd != offset) {
+				MarkerUtilities.setCharEnd(marker, offset);
+				offsetsChanged= true;
+			}
+		}
+		if (!offsetsInitialized || (offsetsChanged && MarkerUtilities.getLineNumber(marker) != -1)) {
+			try {
+				int drlLineNumber = document.getLineOfOffset(position.getOffset()) + 1;
+				marker.setAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, drlLineNumber);
+			} catch (Throwable t) {
+				DroolsEclipsePlugin.log(t);
+			}
+		}
+		return true;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,22 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.eclipse.jdt.internal.debug.core.model.JDILocalVariable;
-import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
-
-import com.sun.jdi.LocalVariable;
-
-public class DroolsLocalVariable extends JDILocalVariable {
-	
-	public DroolsLocalVariable(JDIStackFrame frame, LocalVariable local) {
-		super(frame, local);
-	}
-
-	protected void setLocal(LocalVariable local) {
-		super.setLocal(local);
-	}
-	
-	protected LocalVariable getLocal() {
-		return super.getLocal();
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsLocalVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,22 @@
+package org.drools.eclipse.debug.core;
+
+import org.eclipse.jdt.internal.debug.core.model.JDILocalVariable;
+import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
+
+import com.sun.jdi.LocalVariable;
+
+public class DroolsLocalVariable extends JDILocalVariable {
+	
+	public DroolsLocalVariable(JDIStackFrame frame, LocalVariable local) {
+		super(frame, local);
+	}
+
+	protected void setLocal(LocalVariable local) {
+		super.setLocal(local);
+	}
+	
+	protected LocalVariable getLocal() {
+		return super.getLocal();
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,639 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIFieldVariable;
-import org.eclipse.jdt.internal.debug.core.model.JDILocalVariable;
-import org.eclipse.jdt.internal.debug.core.model.JDIReferenceType;
-import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
-import org.eclipse.jdt.internal.debug.core.model.JDIThread;
-
-import com.ibm.icu.text.MessageFormat;
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.Field;
-import com.sun.jdi.LocalVariable;
-import com.sun.jdi.Location;
-import com.sun.jdi.Method;
-import com.sun.jdi.NativeMethodException;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.StackFrame;
-
-public class DroolsStackFrame extends JDIStackFrame {
-
-    private static final String CONSEQUENCE_SIGNATURE = "(Lorg/drools/spi/KnowledgeHelper";
-
-    private DroolsThread        fThread;
-    private Location            fLocation;
-    private List                fVariables;
-    private boolean             fRefreshVariables     = true;
-    private int                 fDepth                = -2;
-    private boolean             initialized           = true;
-    private StackFrame          fStackFrame;
-    private ObjectReference     fThisObject;
-    private String              fReceivingTypeName;
-    private boolean             fLocalsAvailable      = true;
-
-    public DroolsStackFrame(DroolsThread thread,
-                            StackFrame frame,
-                            int depth) {
-        super( thread,
-               frame,
-               depth );
-        bind( frame,
-              depth );
-    }
-
-    public boolean isExecutingRule() {
-        try {
-            if ( "consequence".equals( getMethodName() ) && getSignature().startsWith( CONSEQUENCE_SIGNATURE ) ) {
-                return true;
-            }
-        } catch ( DebugException exc ) {
-            DroolsEclipsePlugin.log( exc );
-        }
-        return false;
-    }
-
-    public RuleInfo getExecutingRuleInfo() {
-        try {
-            String methodName = getMethodName();
-            String signature = getSignature();
-            String type = getDeclaringTypeName();
-            if ( "consequence".equals( methodName ) && signature.startsWith( CONSEQUENCE_SIGNATURE ) ) {
-                return DroolsEclipsePlugin.getDefault().getRuleInfoByClass( type );
-            }
-
-        } catch ( DebugException exc ) {
-            DroolsEclipsePlugin.log( exc );
-        }
-        return null;
-    }
-
-    public FunctionInfo getExecutingFunctionInfo() {
-        try {
-            return DroolsEclipsePlugin.getDefault().getFunctionInfoByClass( getDeclaringTypeName() );
-        } catch ( DebugException exc ) {
-            DroolsEclipsePlugin.log( exc );
-        }
-        return null;
-    }
-
-    public int getLineNumber() throws DebugException {
-        synchronized ( fThread ) {
-            RuleInfo ruleInfo = getExecutingRuleInfo();
-            if ( ruleInfo != null ) {
-                return ruleInfo.getConsequenceDrlLineNumber() + (getInternalLineNumber() - ruleInfo.getConsequenceJavaLineNumber() - 1);
-            }
-            FunctionInfo functionInfo = getExecutingFunctionInfo();
-            if ( functionInfo != null ) {
-                return functionInfo.getDrlLineNumber() + (getInternalLineNumber() - functionInfo.getJavaLineNumber());
-            }
-        }
-
-        return getInternalLineNumber();
-    }
-
-    private int getInternalLineNumber() throws DebugException {
-        try {
-            return fLocation.lineNumber();
-        } catch ( RuntimeException e ) {
-            if ( getThread().isSuspended() ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_line_number,
-                                                           new String[]{e.toString()} ),
-                                     e );
-            }
-        }
-        return -1;
-    }
-
-    public IVariable[] getVariables() throws DebugException {
-        IVariable[] variables = super.getVariables();
-        List result = new ArrayList( (variables.length - 1) / 2 );
-        for ( int i = 0; i < variables.length; i++ ) {
-            String name = variables[i].getName();
-            if ( !(name.equals( "drools" )) && !(name.endsWith( "__Handle__" )) ) {
-                result.add( variables[i] );
-            }
-        }
-        return (IVariable[]) result.toArray( new IVariable[result.size()] );
-    }
-
-    protected List getVariables0() throws DebugException {
-        synchronized ( fThread ) {
-            if ( fVariables == null ) {
-
-                // throw exception if native method, so variable view will update
-                // with information message
-                if ( isNative() ) {
-                    requestFailed( JDIDebugModelMessages.JDIStackFrame_Variable_information_unavailable_for_native_methods,
-                                   null );
-                }
-
-                Method method = getUnderlyingMethod();
-                fVariables = new ArrayList();
-                // #isStatic() does not claim to throw any exceptions - so it is not try/catch coded
-                if ( method.isStatic() ) {
-                    // add statics
-                    List allFields = null;
-                    ReferenceType declaringType = method.declaringType();
-                    try {
-                        allFields = declaringType.allFields();
-                    } catch ( RuntimeException e ) {
-                        targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_fields,
-                                                                   new String[]{e.toString()} ),
-                                             e );
-                        // execution will not reach this line, as 
-                        // #targetRequestFailed will throw an exception					
-                        return Collections.EMPTY_LIST;
-                    }
-                    if ( allFields != null ) {
-                        Iterator fields = allFields.iterator();
-                        while ( fields.hasNext() ) {
-                            Field field = (Field) fields.next();
-                            if ( field.isStatic() ) {
-                                fVariables.add( new JDIFieldVariable( (JDIDebugTarget) getDebugTarget(),
-                                                                      field,
-                                                                      declaringType ) );
-                            }
-                        }
-                        Collections.sort( fVariables,
-                                          new Comparator() {
-                                              public int compare(Object a,
-                                                                 Object b) {
-                                                  JDIFieldVariable v1 = (JDIFieldVariable) a;
-                                                  JDIFieldVariable v2 = (JDIFieldVariable) b;
-                                                  try {
-                                                      return v1.getName().compareToIgnoreCase( v2.getName() );
-                                                  } catch ( DebugException de ) {
-                                                      logError( de );
-                                                      return -1;
-                                                  }
-                                              }
-                                          } );
-                    }
-                } else {
-                    // add "this"
-                    ObjectReference t = getUnderlyingThisObject();
-                    if ( t != null ) {
-                        fVariables.add( new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
-                                                                t ) );
-                    }
-                }
-                // add locals
-                Iterator variables = getUnderlyingVisibleVariables().iterator();
-                while ( variables.hasNext() ) {
-                    LocalVariable var = (LocalVariable) variables.next();
-                    fVariables.add( new DroolsLocalVariable( this,
-                                                             var ) );
-                }
-            } else if ( fRefreshVariables ) {
-                updateVariables();
-            }
-            fRefreshVariables = false;
-            return fVariables;
-        }
-    }
-
-    protected JDIStackFrame bind(StackFrame frame,
-                                 int depth) {
-        if ( initialized ) {
-            synchronized ( fThread ) {
-                if ( fDepth == -2 ) {
-                    // first initialization
-                    fStackFrame = frame;
-                    fDepth = depth;
-                    fLocation = frame.location();
-                    return this;
-                } else if ( depth == -1 ) {
-                    // mark as invalid
-                    fDepth = -1;
-                    fStackFrame = null;
-                    return null;
-                } else if ( fDepth == depth ) {
-                    Location location = frame.location();
-                    Method method = location.method();
-                    if ( method.equals( fLocation.method() ) ) {
-                        try {
-                            if ( method.declaringType().defaultStratum().equals( "Java" ) || //$NON-NLS-1$
-                                 equals( getSourceName( location ),
-                                         getSourceName( fLocation ) ) ) {
-                                // TODO: what about receiving type being the same?
-                                fStackFrame = frame;
-                                fLocation = location;
-                                clearCachedData();
-                                return this;
-                            }
-                        } catch ( DebugException e ) {
-                        }
-                    }
-                }
-                // invalidate this franme
-                bind( null,
-                      -1 );
-                // return a new frame
-                return createNewDroolsFrame( frame,
-                                             depth );
-            }
-        } else {
-            return null;
-        }
-    }
-
-    protected DroolsStackFrame createNewDroolsFrame(StackFrame frame,
-                                                    int depth) {
-        return DroolsThread.createCustomFrame( fThread,
-                                               depth,
-                                               frame );
-    }
-
-    public IThread getThread() {
-        return fThread;
-    }
-
-    public Method getUnderlyingMethod() {
-        synchronized ( fThread ) {
-            return fLocation.method();
-        }
-    }
-
-    protected List getUnderlyingVisibleVariables() throws DebugException {
-        synchronized ( fThread ) {
-            List variables = Collections.EMPTY_LIST;
-            try {
-                variables = getUnderlyingStackFrame().visibleVariables();
-            } catch ( AbsentInformationException e ) {
-                setLocalsAvailable( false );
-            } catch ( NativeMethodException e ) {
-                setLocalsAvailable( false );
-            } catch ( RuntimeException e ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_visible_variables_2,
-                                                           new String[]{e.toString()} ),
-                                     e );
-            }
-            return variables;
-        }
-    }
-
-    protected ObjectReference getUnderlyingThisObject() throws DebugException {
-        synchronized ( fThread ) {
-            if ( (fStackFrame == null || fThisObject == null) && !isStatic() ) {
-                try {
-                    fThisObject = getUnderlyingStackFrame().thisObject();
-                } catch ( RuntimeException e ) {
-                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_this,
-                                                               new String[]{e.toString()} ),
-                                         e );
-                    // execution will not reach this line, as 
-                    // #targetRequestFailed will throw an exception			
-                    return null;
-                }
-            }
-            return fThisObject;
-        }
-    }
-
-    public String getDeclaringTypeName() throws DebugException {
-        synchronized ( fThread ) {
-            try {
-                if ( isObsolete() ) {
-                    return JDIDebugModelMessages.JDIStackFrame__unknown_declaring_type__1;
-                }
-                return JDIReferenceType.getGenericName( getUnderlyingMethod().declaringType() );
-            } catch ( RuntimeException e ) {
-                if ( getThread().isSuspended() ) {
-                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_declaring_type,
-                                                               new String[]{e.toString()} ),
-                                         e );
-                }
-                return JDIDebugModelMessages.JDIStackFrame__unknown_declaring_type__1;
-            }
-        }
-    }
-
-    public String getSourceName() throws DebugException {
-        synchronized ( fThread ) {
-            return getSourceName( fLocation );
-        }
-    }
-
-    public boolean isObsolete() {
-        if ( !JDIDebugPlugin.isJdiVersionGreaterThanOrEqual( new int[]{1, 4} ) || !((JDIDebugTarget) getDebugTarget()).hasHCROccurred() ) {
-            // If no hot code replace has occurred, this frame
-            // cannot be obsolete.
-            return false;
-        }
-        // if this frame's thread is not suspended, the obsolete status cannot
-        // change until it suspends again
-        synchronized ( fThread ) {
-            if ( getThread().isSuspended() ) {
-                return getUnderlyingMethod().isObsolete();
-            }
-            return false;
-        }
-    }
-
-    protected boolean exists() {
-        synchronized ( fThread ) {
-            return fDepth != -1;
-        }
-    }
-
-    protected StackFrame getUnderlyingStackFrame() throws DebugException {
-        synchronized ( fThread ) {
-            if ( fStackFrame == null ) {
-                if ( fDepth == -1 ) {
-                    throw new DebugException( new Status( IStatus.ERROR,
-                                                          JDIDebugPlugin.getUniqueIdentifier(),
-                                                          IJavaStackFrame.ERR_INVALID_STACK_FRAME,
-                                                          JDIDebugModelMessages.JDIStackFrame_25,
-                                                          null ) );
-                }
-                if ( fThread.isSuspended() ) {
-                    // re-index stack frames - See Bug 47198
-                    fThread.computeStackFrames();
-                    if ( fDepth == -1 ) {
-                        // If depth is -1, then this is an invalid frame
-                        throw new DebugException( new Status( IStatus.ERROR,
-                                                              JDIDebugPlugin.getUniqueIdentifier(),
-                                                              IJavaStackFrame.ERR_INVALID_STACK_FRAME,
-                                                              JDIDebugModelMessages.JDIStackFrame_25,
-                                                              null ) );
-                    }
-                } else {
-                    throw new DebugException( new Status( IStatus.ERROR,
-                                                          JDIDebugPlugin.getUniqueIdentifier(),
-                                                          IJavaThread.ERR_THREAD_NOT_SUSPENDED,
-                                                          JDIDebugModelMessages.JDIStackFrame_25,
-                                                          null ) );
-                }
-            }
-            return fStackFrame;
-        }
-    }
-
-    protected void setUnderlyingStackFrame(StackFrame frame) {
-        synchronized ( fThread ) {
-            fStackFrame = frame;
-            if ( frame == null ) {
-                fRefreshVariables = true;
-            }
-        }
-    }
-
-    protected void setThread(JDIThread thread) {
-        fThread = (DroolsThread) thread;
-    }
-
-    public String getSourcePath(String stratum) throws DebugException {
-        synchronized ( fThread ) {
-            try {
-                return fLocation.sourcePath( stratum );
-            } catch ( AbsentInformationException e ) {
-            } catch ( RuntimeException e ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_path,
-                                                           new String[]{e.toString()} ),
-                                     e );
-            }
-        }
-        return null;
-    }
-
-    public String getSourcePath() throws DebugException {
-        synchronized ( fThread ) {
-            try {
-                return fLocation.sourcePath();
-            } catch ( AbsentInformationException e ) {
-            } catch ( RuntimeException e ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_path,
-                                                           new String[]{e.toString()} ),
-                                     e );
-            }
-        }
-        return null;
-    }
-
-    public int getLineNumber(String stratum) throws DebugException {
-        synchronized ( fThread ) {
-            try {
-                return fLocation.lineNumber( stratum );
-            } catch ( RuntimeException e ) {
-                if ( getThread().isSuspended() ) {
-                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_line_number,
-                                                               new String[]{e.toString()} ),
-                                         e );
-                }
-            }
-        }
-        return -1;
-    }
-
-    public String getSourceName(String stratum) throws DebugException {
-        synchronized ( fThread ) {
-            try {
-                return fLocation.sourceName( stratum );
-            } catch ( AbsentInformationException e ) {
-            } catch ( NativeMethodException e ) {
-            } catch ( RuntimeException e ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_name,
-                                                           new String[]{e.toString()} ),
-                                     e );
-            }
-        }
-        return null;
-    }
-
-    protected void updateVariables() throws DebugException {
-        if ( fVariables == null ) {
-            return;
-        }
-
-        Method method = getUnderlyingMethod();
-        int index = 0;
-        if ( !method.isStatic() ) {
-            // update "this"
-            ObjectReference thisObject;
-            try {
-                thisObject = getUnderlyingThisObject();
-            } catch ( DebugException exception ) {
-                if ( !getThread().isSuspended() ) {
-                    thisObject = null;
-                } else {
-                    throw exception;
-                }
-            }
-            DroolsThisVariable oldThisObject = null;
-            if ( !fVariables.isEmpty() && fVariables.get( 0 ) instanceof DroolsThisVariable ) {
-                oldThisObject = (DroolsThisVariable) fVariables.get( 0 );
-            }
-            if ( thisObject == null && oldThisObject != null ) {
-                // removal of 'this'
-                fVariables.remove( 0 );
-                index = 0;
-            } else {
-                if ( oldThisObject == null && thisObject != null ) {
-                    // creation of 'this'
-                    oldThisObject = new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
-                                                            thisObject );
-                    fVariables.add( 0,
-                                    oldThisObject );
-                    index = 1;
-                } else {
-                    if ( oldThisObject != null ) {
-                        // 'this' still exists, replace with new 'this' if a different receiver
-                        if ( !oldThisObject.retrieveValue().equals( thisObject ) ) {
-                            fVariables.remove( 0 );
-                            fVariables.add( 0,
-                                            new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
-                                                                    thisObject ) );
-                        }
-                        index = 1;
-                    }
-                }
-            }
-        }
-
-        List locals = null;
-        try {
-            locals = getUnderlyingStackFrame().visibleVariables();
-        } catch ( AbsentInformationException e ) {
-            locals = Collections.EMPTY_LIST;
-        } catch ( NativeMethodException e ) {
-            locals = Collections.EMPTY_LIST;
-        } catch ( RuntimeException e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_visible_variables,
-                                                       new String[]{e.toString()} ),
-                                 e );
-            // execution will not reach this line, as 
-            // #targetRequestFailed will throw an exception			
-            return;
-        }
-        int localIndex = -1;
-        while ( index < fVariables.size() ) {
-            Object var = fVariables.get( index );
-            if ( var instanceof JDILocalVariable ) {
-                DroolsLocalVariable local = (DroolsLocalVariable) fVariables.get( index );
-                localIndex = locals.indexOf( local.getLocal() );
-                if ( localIndex >= 0 ) {
-                    // update variable with new underling JDI LocalVariable
-                    local.setLocal( (LocalVariable) locals.get( localIndex ) );
-                    locals.remove( localIndex );
-                    index++;
-                } else {
-                    // remove variable
-                    fVariables.remove( index );
-                }
-            } else {
-                //field variable of a static frame
-                index++;
-            }
-        }
-
-        // add any new locals
-        Iterator newOnes = locals.iterator();
-        while ( newOnes.hasNext() ) {
-            DroolsLocalVariable local = new DroolsLocalVariable( this,
-                                                                 (LocalVariable) newOnes.next() );
-            fVariables.add( local );
-        }
-    }
-
-    protected void setVariables(List variables) {
-        fVariables = variables;
-    }
-
-    public String getReceivingTypeName() throws DebugException {
-        if ( fStackFrame == null || fReceivingTypeName == null ) {
-            try {
-                if ( isObsolete() ) {
-                    fReceivingTypeName = JDIDebugModelMessages.JDIStackFrame__unknown_receiving_type__2;
-                } else {
-                    ObjectReference thisObject = getUnderlyingThisObject();
-                    if ( thisObject == null ) {
-                        fReceivingTypeName = getDeclaringTypeName();
-                    } else {
-                        fReceivingTypeName = JDIReferenceType.getGenericName( thisObject.referenceType() );
-                    }
-                }
-            } catch ( RuntimeException e ) {
-                if ( getThread().isSuspended() ) {
-                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_receiving_type,
-                                                               new String[]{e.toString()} ),
-                                         e );
-                }
-                return JDIDebugModelMessages.JDIStackFrame__unknown_receiving_type__2;
-            }
-        }
-        return fReceivingTypeName;
-    }
-
-    private String getSourceName(Location location) throws DebugException {
-        try {
-            return location.sourceName();
-        } catch ( AbsentInformationException e ) {
-            return null;
-        } catch ( NativeMethodException e ) {
-            return null;
-        } catch ( RuntimeException e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_name,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-        return null;
-    }
-
-    private boolean equals(Object o1,
-                           Object o2) {
-        if ( o1 == null ) {
-            return o2 == null;
-        } else {
-            return o1.equals( o2 );
-        }
-    }
-
-    protected void clearCachedData() {
-        fThisObject = null;
-        fReceivingTypeName = null;
-    }
-
-    private void setLocalsAvailable(boolean available) {
-        if ( available != fLocalsAvailable ) {
-            fLocalsAvailable = available;
-            fireChangeEvent( DebugEvent.STATE );
-        }
-    }
-
-    public boolean wereLocalsAvailable() {
-        return fLocalsAvailable;
-    }
-
-    public IJavaVariable[] getLocalVariables() throws DebugException {
-        List list = getUnderlyingVisibleVariables();
-        IJavaVariable[] locals = new IJavaVariable[list.size()];
-        for ( int i = 0; i < list.size(); i++ ) {
-            locals[i] = new DroolsLocalVariable( this,
-                                                 (LocalVariable) list.get( i ) );
-        }
-        return locals;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsStackFrame.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,639 @@
+package org.drools.eclipse.debug.core;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IThread;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdt.debug.core.IJavaStackFrame;
+import org.eclipse.jdt.debug.core.IJavaThread;
+import org.eclipse.jdt.debug.core.IJavaVariable;
+import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDIFieldVariable;
+import org.eclipse.jdt.internal.debug.core.model.JDILocalVariable;
+import org.eclipse.jdt.internal.debug.core.model.JDIReferenceType;
+import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
+import org.eclipse.jdt.internal.debug.core.model.JDIThread;
+
+import com.ibm.icu.text.MessageFormat;
+import com.sun.jdi.AbsentInformationException;
+import com.sun.jdi.Field;
+import com.sun.jdi.LocalVariable;
+import com.sun.jdi.Location;
+import com.sun.jdi.Method;
+import com.sun.jdi.NativeMethodException;
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.ReferenceType;
+import com.sun.jdi.StackFrame;
+
+public class DroolsStackFrame extends JDIStackFrame {
+
+    private static final String CONSEQUENCE_SIGNATURE = "(Lorg/drools/spi/KnowledgeHelper";
+
+    private DroolsThread        fThread;
+    private Location            fLocation;
+    private List                fVariables;
+    private boolean             fRefreshVariables     = true;
+    private int                 fDepth                = -2;
+    private boolean             initialized           = true;
+    private StackFrame          fStackFrame;
+    private ObjectReference     fThisObject;
+    private String              fReceivingTypeName;
+    private boolean             fLocalsAvailable      = true;
+
+    public DroolsStackFrame(DroolsThread thread,
+                            StackFrame frame,
+                            int depth) {
+        super( thread,
+               frame,
+               depth );
+        bind( frame,
+              depth );
+    }
+
+    public boolean isExecutingRule() {
+        try {
+            if ( "consequence".equals( getMethodName() ) && getSignature().startsWith( CONSEQUENCE_SIGNATURE ) ) {
+                return true;
+            }
+        } catch ( DebugException exc ) {
+            DroolsEclipsePlugin.log( exc );
+        }
+        return false;
+    }
+
+    public RuleInfo getExecutingRuleInfo() {
+        try {
+            String methodName = getMethodName();
+            String signature = getSignature();
+            String type = getDeclaringTypeName();
+            if ( "consequence".equals( methodName ) && signature.startsWith( CONSEQUENCE_SIGNATURE ) ) {
+                return DroolsEclipsePlugin.getDefault().getRuleInfoByClass( type );
+            }
+
+        } catch ( DebugException exc ) {
+            DroolsEclipsePlugin.log( exc );
+        }
+        return null;
+    }
+
+    public FunctionInfo getExecutingFunctionInfo() {
+        try {
+            return DroolsEclipsePlugin.getDefault().getFunctionInfoByClass( getDeclaringTypeName() );
+        } catch ( DebugException exc ) {
+            DroolsEclipsePlugin.log( exc );
+        }
+        return null;
+    }
+
+    public int getLineNumber() throws DebugException {
+        synchronized ( fThread ) {
+            RuleInfo ruleInfo = getExecutingRuleInfo();
+            if ( ruleInfo != null ) {
+                return ruleInfo.getConsequenceDrlLineNumber() + (getInternalLineNumber() - ruleInfo.getConsequenceJavaLineNumber() - 1);
+            }
+            FunctionInfo functionInfo = getExecutingFunctionInfo();
+            if ( functionInfo != null ) {
+                return functionInfo.getDrlLineNumber() + (getInternalLineNumber() - functionInfo.getJavaLineNumber());
+            }
+        }
+
+        return getInternalLineNumber();
+    }
+
+    private int getInternalLineNumber() throws DebugException {
+        try {
+            return fLocation.lineNumber();
+        } catch ( RuntimeException e ) {
+            if ( getThread().isSuspended() ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_line_number,
+                                                           new String[]{e.toString()} ),
+                                     e );
+            }
+        }
+        return -1;
+    }
+
+    public IVariable[] getVariables() throws DebugException {
+        IVariable[] variables = super.getVariables();
+        List result = new ArrayList( (variables.length - 1) / 2 );
+        for ( int i = 0; i < variables.length; i++ ) {
+            String name = variables[i].getName();
+            if ( !(name.equals( "drools" )) && !(name.endsWith( "__Handle__" )) ) {
+                result.add( variables[i] );
+            }
+        }
+        return (IVariable[]) result.toArray( new IVariable[result.size()] );
+    }
+
+    protected List getVariables0() throws DebugException {
+        synchronized ( fThread ) {
+            if ( fVariables == null ) {
+
+                // throw exception if native method, so variable view will update
+                // with information message
+                if ( isNative() ) {
+                    requestFailed( JDIDebugModelMessages.JDIStackFrame_Variable_information_unavailable_for_native_methods,
+                                   null );
+                }
+
+                Method method = getUnderlyingMethod();
+                fVariables = new ArrayList();
+                // #isStatic() does not claim to throw any exceptions - so it is not try/catch coded
+                if ( method.isStatic() ) {
+                    // add statics
+                    List allFields = null;
+                    ReferenceType declaringType = method.declaringType();
+                    try {
+                        allFields = declaringType.allFields();
+                    } catch ( RuntimeException e ) {
+                        targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_fields,
+                                                                   new String[]{e.toString()} ),
+                                             e );
+                        // execution will not reach this line, as 
+                        // #targetRequestFailed will throw an exception					
+                        return Collections.EMPTY_LIST;
+                    }
+                    if ( allFields != null ) {
+                        Iterator fields = allFields.iterator();
+                        while ( fields.hasNext() ) {
+                            Field field = (Field) fields.next();
+                            if ( field.isStatic() ) {
+                                fVariables.add( new JDIFieldVariable( (JDIDebugTarget) getDebugTarget(),
+                                                                      field,
+                                                                      declaringType ) );
+                            }
+                        }
+                        Collections.sort( fVariables,
+                                          new Comparator() {
+                                              public int compare(Object a,
+                                                                 Object b) {
+                                                  JDIFieldVariable v1 = (JDIFieldVariable) a;
+                                                  JDIFieldVariable v2 = (JDIFieldVariable) b;
+                                                  try {
+                                                      return v1.getName().compareToIgnoreCase( v2.getName() );
+                                                  } catch ( DebugException de ) {
+                                                      logError( de );
+                                                      return -1;
+                                                  }
+                                              }
+                                          } );
+                    }
+                } else {
+                    // add "this"
+                    ObjectReference t = getUnderlyingThisObject();
+                    if ( t != null ) {
+                        fVariables.add( new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
+                                                                t ) );
+                    }
+                }
+                // add locals
+                Iterator variables = getUnderlyingVisibleVariables().iterator();
+                while ( variables.hasNext() ) {
+                    LocalVariable var = (LocalVariable) variables.next();
+                    fVariables.add( new DroolsLocalVariable( this,
+                                                             var ) );
+                }
+            } else if ( fRefreshVariables ) {
+                updateVariables();
+            }
+            fRefreshVariables = false;
+            return fVariables;
+        }
+    }
+
+    protected JDIStackFrame bind(StackFrame frame,
+                                 int depth) {
+        if ( initialized ) {
+            synchronized ( fThread ) {
+                if ( fDepth == -2 ) {
+                    // first initialization
+                    fStackFrame = frame;
+                    fDepth = depth;
+                    fLocation = frame.location();
+                    return this;
+                } else if ( depth == -1 ) {
+                    // mark as invalid
+                    fDepth = -1;
+                    fStackFrame = null;
+                    return null;
+                } else if ( fDepth == depth ) {
+                    Location location = frame.location();
+                    Method method = location.method();
+                    if ( method.equals( fLocation.method() ) ) {
+                        try {
+                            if ( method.declaringType().defaultStratum().equals( "Java" ) || //$NON-NLS-1$
+                                 equals( getSourceName( location ),
+                                         getSourceName( fLocation ) ) ) {
+                                // TODO: what about receiving type being the same?
+                                fStackFrame = frame;
+                                fLocation = location;
+                                clearCachedData();
+                                return this;
+                            }
+                        } catch ( DebugException e ) {
+                        }
+                    }
+                }
+                // invalidate this franme
+                bind( null,
+                      -1 );
+                // return a new frame
+                return createNewDroolsFrame( frame,
+                                             depth );
+            }
+        } else {
+            return null;
+        }
+    }
+
+    protected DroolsStackFrame createNewDroolsFrame(StackFrame frame,
+                                                    int depth) {
+        return DroolsThread.createCustomFrame( fThread,
+                                               depth,
+                                               frame );
+    }
+
+    public IThread getThread() {
+        return fThread;
+    }
+
+    public Method getUnderlyingMethod() {
+        synchronized ( fThread ) {
+            return fLocation.method();
+        }
+    }
+
+    protected List getUnderlyingVisibleVariables() throws DebugException {
+        synchronized ( fThread ) {
+            List variables = Collections.EMPTY_LIST;
+            try {
+                variables = getUnderlyingStackFrame().visibleVariables();
+            } catch ( AbsentInformationException e ) {
+                setLocalsAvailable( false );
+            } catch ( NativeMethodException e ) {
+                setLocalsAvailable( false );
+            } catch ( RuntimeException e ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_visible_variables_2,
+                                                           new String[]{e.toString()} ),
+                                     e );
+            }
+            return variables;
+        }
+    }
+
+    protected ObjectReference getUnderlyingThisObject() throws DebugException {
+        synchronized ( fThread ) {
+            if ( (fStackFrame == null || fThisObject == null) && !isStatic() ) {
+                try {
+                    fThisObject = getUnderlyingStackFrame().thisObject();
+                } catch ( RuntimeException e ) {
+                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_this,
+                                                               new String[]{e.toString()} ),
+                                         e );
+                    // execution will not reach this line, as 
+                    // #targetRequestFailed will throw an exception			
+                    return null;
+                }
+            }
+            return fThisObject;
+        }
+    }
+
+    public String getDeclaringTypeName() throws DebugException {
+        synchronized ( fThread ) {
+            try {
+                if ( isObsolete() ) {
+                    return JDIDebugModelMessages.JDIStackFrame__unknown_declaring_type__1;
+                }
+                return JDIReferenceType.getGenericName( getUnderlyingMethod().declaringType() );
+            } catch ( RuntimeException e ) {
+                if ( getThread().isSuspended() ) {
+                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_declaring_type,
+                                                               new String[]{e.toString()} ),
+                                         e );
+                }
+                return JDIDebugModelMessages.JDIStackFrame__unknown_declaring_type__1;
+            }
+        }
+    }
+
+    public String getSourceName() throws DebugException {
+        synchronized ( fThread ) {
+            return getSourceName( fLocation );
+        }
+    }
+
+    public boolean isObsolete() {
+        if ( !JDIDebugPlugin.isJdiVersionGreaterThanOrEqual( new int[]{1, 4} ) || !((JDIDebugTarget) getDebugTarget()).hasHCROccurred() ) {
+            // If no hot code replace has occurred, this frame
+            // cannot be obsolete.
+            return false;
+        }
+        // if this frame's thread is not suspended, the obsolete status cannot
+        // change until it suspends again
+        synchronized ( fThread ) {
+            if ( getThread().isSuspended() ) {
+                return getUnderlyingMethod().isObsolete();
+            }
+            return false;
+        }
+    }
+
+    protected boolean exists() {
+        synchronized ( fThread ) {
+            return fDepth != -1;
+        }
+    }
+
+    protected StackFrame getUnderlyingStackFrame() throws DebugException {
+        synchronized ( fThread ) {
+            if ( fStackFrame == null ) {
+                if ( fDepth == -1 ) {
+                    throw new DebugException( new Status( IStatus.ERROR,
+                                                          JDIDebugPlugin.getUniqueIdentifier(),
+                                                          IJavaStackFrame.ERR_INVALID_STACK_FRAME,
+                                                          JDIDebugModelMessages.JDIStackFrame_25,
+                                                          null ) );
+                }
+                if ( fThread.isSuspended() ) {
+                    // re-index stack frames - See Bug 47198
+                    fThread.computeStackFrames();
+                    if ( fDepth == -1 ) {
+                        // If depth is -1, then this is an invalid frame
+                        throw new DebugException( new Status( IStatus.ERROR,
+                                                              JDIDebugPlugin.getUniqueIdentifier(),
+                                                              IJavaStackFrame.ERR_INVALID_STACK_FRAME,
+                                                              JDIDebugModelMessages.JDIStackFrame_25,
+                                                              null ) );
+                    }
+                } else {
+                    throw new DebugException( new Status( IStatus.ERROR,
+                                                          JDIDebugPlugin.getUniqueIdentifier(),
+                                                          IJavaThread.ERR_THREAD_NOT_SUSPENDED,
+                                                          JDIDebugModelMessages.JDIStackFrame_25,
+                                                          null ) );
+                }
+            }
+            return fStackFrame;
+        }
+    }
+
+    protected void setUnderlyingStackFrame(StackFrame frame) {
+        synchronized ( fThread ) {
+            fStackFrame = frame;
+            if ( frame == null ) {
+                fRefreshVariables = true;
+            }
+        }
+    }
+
+    protected void setThread(JDIThread thread) {
+        fThread = (DroolsThread) thread;
+    }
+
+    public String getSourcePath(String stratum) throws DebugException {
+        synchronized ( fThread ) {
+            try {
+                return fLocation.sourcePath( stratum );
+            } catch ( AbsentInformationException e ) {
+            } catch ( RuntimeException e ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_path,
+                                                           new String[]{e.toString()} ),
+                                     e );
+            }
+        }
+        return null;
+    }
+
+    public String getSourcePath() throws DebugException {
+        synchronized ( fThread ) {
+            try {
+                return fLocation.sourcePath();
+            } catch ( AbsentInformationException e ) {
+            } catch ( RuntimeException e ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_path,
+                                                           new String[]{e.toString()} ),
+                                     e );
+            }
+        }
+        return null;
+    }
+
+    public int getLineNumber(String stratum) throws DebugException {
+        synchronized ( fThread ) {
+            try {
+                return fLocation.lineNumber( stratum );
+            } catch ( RuntimeException e ) {
+                if ( getThread().isSuspended() ) {
+                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_line_number,
+                                                               new String[]{e.toString()} ),
+                                         e );
+                }
+            }
+        }
+        return -1;
+    }
+
+    public String getSourceName(String stratum) throws DebugException {
+        synchronized ( fThread ) {
+            try {
+                return fLocation.sourceName( stratum );
+            } catch ( AbsentInformationException e ) {
+            } catch ( NativeMethodException e ) {
+            } catch ( RuntimeException e ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_name,
+                                                           new String[]{e.toString()} ),
+                                     e );
+            }
+        }
+        return null;
+    }
+
+    protected void updateVariables() throws DebugException {
+        if ( fVariables == null ) {
+            return;
+        }
+
+        Method method = getUnderlyingMethod();
+        int index = 0;
+        if ( !method.isStatic() ) {
+            // update "this"
+            ObjectReference thisObject;
+            try {
+                thisObject = getUnderlyingThisObject();
+            } catch ( DebugException exception ) {
+                if ( !getThread().isSuspended() ) {
+                    thisObject = null;
+                } else {
+                    throw exception;
+                }
+            }
+            DroolsThisVariable oldThisObject = null;
+            if ( !fVariables.isEmpty() && fVariables.get( 0 ) instanceof DroolsThisVariable ) {
+                oldThisObject = (DroolsThisVariable) fVariables.get( 0 );
+            }
+            if ( thisObject == null && oldThisObject != null ) {
+                // removal of 'this'
+                fVariables.remove( 0 );
+                index = 0;
+            } else {
+                if ( oldThisObject == null && thisObject != null ) {
+                    // creation of 'this'
+                    oldThisObject = new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
+                                                            thisObject );
+                    fVariables.add( 0,
+                                    oldThisObject );
+                    index = 1;
+                } else {
+                    if ( oldThisObject != null ) {
+                        // 'this' still exists, replace with new 'this' if a different receiver
+                        if ( !oldThisObject.retrieveValue().equals( thisObject ) ) {
+                            fVariables.remove( 0 );
+                            fVariables.add( 0,
+                                            new DroolsThisVariable( (JDIDebugTarget) getDebugTarget(),
+                                                                    thisObject ) );
+                        }
+                        index = 1;
+                    }
+                }
+            }
+        }
+
+        List locals = null;
+        try {
+            locals = getUnderlyingStackFrame().visibleVariables();
+        } catch ( AbsentInformationException e ) {
+            locals = Collections.EMPTY_LIST;
+        } catch ( NativeMethodException e ) {
+            locals = Collections.EMPTY_LIST;
+        } catch ( RuntimeException e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_visible_variables,
+                                                       new String[]{e.toString()} ),
+                                 e );
+            // execution will not reach this line, as 
+            // #targetRequestFailed will throw an exception			
+            return;
+        }
+        int localIndex = -1;
+        while ( index < fVariables.size() ) {
+            Object var = fVariables.get( index );
+            if ( var instanceof JDILocalVariable ) {
+                DroolsLocalVariable local = (DroolsLocalVariable) fVariables.get( index );
+                localIndex = locals.indexOf( local.getLocal() );
+                if ( localIndex >= 0 ) {
+                    // update variable with new underling JDI LocalVariable
+                    local.setLocal( (LocalVariable) locals.get( localIndex ) );
+                    locals.remove( localIndex );
+                    index++;
+                } else {
+                    // remove variable
+                    fVariables.remove( index );
+                }
+            } else {
+                //field variable of a static frame
+                index++;
+            }
+        }
+
+        // add any new locals
+        Iterator newOnes = locals.iterator();
+        while ( newOnes.hasNext() ) {
+            DroolsLocalVariable local = new DroolsLocalVariable( this,
+                                                                 (LocalVariable) newOnes.next() );
+            fVariables.add( local );
+        }
+    }
+
+    protected void setVariables(List variables) {
+        fVariables = variables;
+    }
+
+    public String getReceivingTypeName() throws DebugException {
+        if ( fStackFrame == null || fReceivingTypeName == null ) {
+            try {
+                if ( isObsolete() ) {
+                    fReceivingTypeName = JDIDebugModelMessages.JDIStackFrame__unknown_receiving_type__2;
+                } else {
+                    ObjectReference thisObject = getUnderlyingThisObject();
+                    if ( thisObject == null ) {
+                        fReceivingTypeName = getDeclaringTypeName();
+                    } else {
+                        fReceivingTypeName = JDIReferenceType.getGenericName( thisObject.referenceType() );
+                    }
+                }
+            } catch ( RuntimeException e ) {
+                if ( getThread().isSuspended() ) {
+                    targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_receiving_type,
+                                                               new String[]{e.toString()} ),
+                                         e );
+                }
+                return JDIDebugModelMessages.JDIStackFrame__unknown_receiving_type__2;
+            }
+        }
+        return fReceivingTypeName;
+    }
+
+    private String getSourceName(Location location) throws DebugException {
+        try {
+            return location.sourceName();
+        } catch ( AbsentInformationException e ) {
+            return null;
+        } catch ( NativeMethodException e ) {
+            return null;
+        } catch ( RuntimeException e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIStackFrame_exception_retrieving_source_name,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+        return null;
+    }
+
+    private boolean equals(Object o1,
+                           Object o2) {
+        if ( o1 == null ) {
+            return o2 == null;
+        } else {
+            return o1.equals( o2 );
+        }
+    }
+
+    protected void clearCachedData() {
+        fThisObject = null;
+        fReceivingTypeName = null;
+    }
+
+    private void setLocalsAvailable(boolean available) {
+        if ( available != fLocalsAvailable ) {
+            fLocalsAvailable = available;
+            fireChangeEvent( DebugEvent.STATE );
+        }
+    }
+
+    public boolean wereLocalsAvailable() {
+        return fLocalsAvailable;
+    }
+
+    public IJavaVariable[] getLocalVariables() throws DebugException {
+        List list = getUnderlyingVisibleVariables();
+        IJavaVariable[] locals = new IJavaVariable[list.size()];
+        for ( int i = 0; i < list.size(); i++ ) {
+            locals[i] = new DroolsLocalVariable( this,
+                                                 (LocalVariable) list.get( i ) );
+        }
+        return locals;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIThisVariable;
-
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.Value;
-
-public class DroolsThisVariable extends JDIThisVariable {
-
-	public DroolsThisVariable(JDIDebugTarget target, ObjectReference object) {
-		super(target, object);
-	}
-	
-	protected Value retrieveValue() {
-		return super.retrieveValue();
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThisVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+package org.drools.eclipse.debug.core;
+
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDIThisVariable;
+
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.Value;
+
+public class DroolsThisVariable extends JDIThisVariable {
+
+	public DroolsThisVariable(JDIDebugTarget target, ObjectReference object) {
+		super(target, object);
+	}
+	
+	protected Value retrieveValue() {
+		return super.retrieveValue();
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,325 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
-import org.eclipse.jdt.internal.debug.core.model.JDIThread;
-import org.mvel.debug.Debugger;
-
-import com.sun.jdi.ClassType;
-import com.sun.jdi.IncompatibleThreadStateException;
-import com.sun.jdi.IntegerValue;
-import com.sun.jdi.InvalidStackFrameException;
-import com.sun.jdi.Location;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectCollectedException;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.StackFrame;
-import com.sun.jdi.ThreadReference;
-
-/**
- * Drools Thread supporting MVEL and Java dialect stackframes
- *
- */
-public class DroolsThread extends JDIThread {
-
-    private List    fStackFrames;
-    private boolean fRefreshChildren = true;
-
-    public DroolsThread(JDIDebugTarget target,
-                        ThreadReference thread) throws ObjectCollectedException {
-        super( target,
-               thread );
-    }
-
-    protected void initialize() throws ObjectCollectedException {
-        super.initialize();
-        fStackFrames = new ArrayList();
-    }
-
-    public synchronized List computeStackFrames() throws DebugException {
-        return computeStackFrames( fRefreshChildren );
-    }
-
-    protected synchronized List computeStackFrames(boolean refreshChildren) throws DebugException {
-        if ( isSuspended() ) {
-            if ( isTerminated() ) {
-                fStackFrames.clear();
-            } else if ( refreshChildren ) {
-                List frames = getUnderlyingFrames();
-                int oldSize = fStackFrames.size();
-                int newSize = frames.size();
-                int discard = oldSize - newSize; // number of old frames to discard, if any
-                for ( int i = 0; i < discard; i++ ) {
-                    DroolsStackFrame invalid = (DroolsStackFrame) fStackFrames.remove( 0 );
-                    invalid.bind( null,
-                                  -1 );
-                }
-                int newFrames = newSize - oldSize; // number of frames to create, if any
-                int depth = oldSize;
-                for ( int i = newFrames - 1; i >= 0; i-- ) {
-                    StackFrame currentFrame = (StackFrame) frames.get( i );
-                    //MVEL: create an mvel stack frame when the declaring type is our debugger?
-
-                    DroolsStackFrame customFrame;
-
-                    customFrame = createCustomFrame( this,
-                                                     depth,
-                                                     currentFrame );
-
-                    fStackFrames.add( 0,
-                                      customFrame );
-
-                    depth++;
-                }
-                int numToRebind = Math.min( newSize,
-                                            oldSize ); // number of frames to attempt to rebind
-                int offset = newSize - 1;
-                for ( depth = 0; depth < numToRebind; depth++ ) {
-                    DroolsStackFrame oldFrame = (DroolsStackFrame) fStackFrames.get( offset );
-                    StackFrame frame = (StackFrame) frames.get( offset );
-                    DroolsStackFrame newFrame = (DroolsStackFrame) oldFrame.bind( frame,
-                                                                                  depth );
-                    if ( newFrame != oldFrame ) {
-                        fStackFrames.set( offset,
-                                          newFrame );
-                    }
-                    offset--;
-                }
-
-            }
-            fRefreshChildren = false;
-        } else {
-            return Collections.EMPTY_LIST;
-        }
-        return fStackFrames;
-    }
-
-    public final static DroolsStackFrame createCustomFrame(DroolsThread thread,
-                                                           int depth,
-                                                           StackFrame currentFrame) {
-        DroolsStackFrame customFrame;
-        Location loc = currentFrame.location();
-        if ( loc.declaringType().name().equals( "org.drools.base.mvel.MVELDebugHandler" ) && loc.method().name().equals( "onBreak" ) ) {
-            customFrame = new MVELStackFrame( thread,
-                                              currentFrame,
-                                              depth );
-        } else {
-            customFrame = new DroolsStackFrame( thread,
-                                                currentFrame,
-                                                depth );
-        }
-        return customFrame;
-    }
-
-    private List getUnderlyingFrames() throws DebugException {
-        if ( !isSuspended() ) {
-            // Checking isSuspended here eliminates a race condition in resume
-            // between the time stack frames are preserved and the time the
-            // underlying thread is actually resumed.
-            requestFailed( JDIDebugModelMessages.JDIThread_Unable_to_retrieve_stack_frame___thread_not_suspended__1,
-                           null,
-                           IJavaThread.ERR_THREAD_NOT_SUSPENDED );
-        }
-        try {
-            return getUnderlyingThread().frames();
-        } catch ( IncompatibleThreadStateException e ) {
-            requestFailed( JDIDebugModelMessages.JDIThread_Unable_to_retrieve_stack_frame___thread_not_suspended__1,
-                           e,
-                           IJavaThread.ERR_THREAD_NOT_SUSPENDED );
-        } catch ( RuntimeException e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_retrieving_stack_frames_2,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        } catch ( InternalError e ) {
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_retrieving_stack_frames_2,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-        // execution will not reach this line, as
-        // #targetRequestFailed will thrown an exception
-        return null;
-    }
-
-    protected synchronized void preserveStackFrames() {
-        fRefreshChildren = true;
-        Iterator frames = fStackFrames.iterator();
-        while ( frames.hasNext() ) {
-            ((DroolsStackFrame) frames.next()).setUnderlyingStackFrame( null );
-        }
-    }
-
-    protected synchronized void disposeStackFrames() {
-        fStackFrames.clear();
-        fRefreshChildren = true;
-    }
-
-    protected void popFrame(IStackFrame frame) throws DebugException {
-        JDIDebugTarget target = (JDIDebugTarget) getDebugTarget();
-        if ( target.canPopFrames() ) {
-            // JDK 1.4 support
-            try {
-                // Pop the frame and all frames above it
-                StackFrame jdiFrame = null;
-                int desiredSize = fStackFrames.size() - fStackFrames.indexOf( frame ) - 1;
-                int lastSize = fStackFrames.size() + 1; // Set up to pass the first test
-                int size = fStackFrames.size();
-                while ( size < lastSize && size > desiredSize ) {
-                    // Keep popping frames until the stack stops getting smaller
-                    // or popFrame is gone.
-                    // see Bug 8054
-                    jdiFrame = ((DroolsStackFrame) frame).getUnderlyingStackFrame();
-                    preserveStackFrames();
-                    getUnderlyingThread().popFrames( jdiFrame );
-                    lastSize = size;
-                    size = computeStackFrames().size();
-                }
-            } catch ( IncompatibleThreadStateException exception ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_popping,
-                                                           new String[]{exception.toString()} ),
-                                     exception );
-            } catch ( InvalidStackFrameException exception ) {
-                // InvalidStackFrameException can be thrown when all but the
-                // deepest frame were popped. Fire a changed notification
-                // in case this has occured.
-                fireChangeEvent( DebugEvent.CONTENT );
-                targetRequestFailed( exception.toString(),
-                                     exception );
-            } catch ( RuntimeException exception ) {
-                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_popping,
-                                                           new String[]{exception.toString()} ),
-                                     exception );
-            }
-        }
-    }
-
-    protected void terminated() {
-        super.terminated();
-    }
-
-    protected void removeCurrentBreakpoint(IBreakpoint bp) {
-        super.removeCurrentBreakpoint( bp );
-    }
-
-    protected synchronized void suspendedByVM() {
-        super.suspendedByVM();
-    }
-
-    protected synchronized void resumedByVM() throws DebugException {
-        super.resumedByVM();
-    }
-
-    protected void setRunning(boolean running) {
-        super.setRunning( running );
-    }
-
-    protected void dropToFrame(IStackFrame frame) throws DebugException {
-        super.dropToFrame( frame );
-    }
-
-    protected synchronized void stepToFrame(IStackFrame frame) throws DebugException {
-        super.stepToFrame( frame );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jdt.internal.debug.core.model.JDIThread#newInstance(com.sun.jdi.ClassType, com.sun.jdi.Method, java.util.List)
-     */
-    public ObjectReference newInstance(ClassType receiverClass,
-                                       Method constructor,
-                                       List args) throws DebugException {
-        return super.newInstance( receiverClass,
-                                  constructor,
-                                  args );
-    }
-
-    public synchronized void stepOver() throws DebugException {
-
-        // Detection for active stackframe
-        if ( !(getTopStackFrame() instanceof MVELStackFrame) ) {
-            super.stepOver();
-            return;
-        }
-
-        //MVEL step over
-        MVELStackFrame mvelStack = (MVELStackFrame) getTopStackFrame();
-
-        if ( !canStepOver() || !mvelStack.canStepOver() ) {
-            return;
-        }
-
-        if ( !setRemoteOnBreakReturn( Debugger.STEP ) ) {
-            return;
-        }
-
-        preserveStackFrames();
-
-        setRunning( true );
-
-        try {
-            getUnderlyingThread().resume();
-        } catch ( RuntimeException e ) {
-            //stepEnd();
-            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_stepping,
-                                                       new String[]{e.toString()} ),
-                                 e );
-        }
-
-    }
-
-    private boolean setRemoteOnBreakReturn(int step_over) throws DebugException {
-
-        JDIStackFrame top = (JDIStackFrame) getTopStackFrame();
-        if ( top == null || (!(top instanceof MVELStackFrame)) ) {
-            return false;
-        }
-
-        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
-        Object debugHandlerClass = handleriter.next();
-
-        int line = step_over;
-
-        ReferenceType refType = (ReferenceType) debugHandlerClass;
-        Method m = (Method) refType.methodsByName( "setOnBreakReturn" ).iterator().next();
-        List args = new ArrayList();
-        IntegerValue lineVal = getVM().mirrorOf( line );
-        //ObjectReference realVal = val.getUnderlyingObject();
-        args.add( lineVal );
-
-        try {
-            ClassType tt = (ClassType) debugHandlerClass;
-            tt.invokeMethod( getUnderlyingThread(),
-                             m,
-                             args,
-                             ObjectReference.INVOKE_SINGLE_THREADED );
-
-        } catch ( Exception e ) {
-            DroolsEclipsePlugin.log( e );
-            return false;
-        }
-        return true;
-    }
-
-    public synchronized void resume() throws DebugException {
-        // clear up the step over flag. step over button never calls this method.
-        setRemoteOnBreakReturn( Debugger.CONTINUE );
-        super.resume();
-    }
-
-    public void setInvokingMethod(boolean invoking) {
-        super.setInvokingMethod( invoking );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/DroolsThread.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,325 @@
+package org.drools.eclipse.debug.core;
+
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.debug.core.model.IStackFrame;
+import org.eclipse.jdt.debug.core.IJavaThread;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
+import org.eclipse.jdt.internal.debug.core.model.JDIThread;
+import org.mvel.debug.Debugger;
+
+import com.sun.jdi.ClassType;
+import com.sun.jdi.IncompatibleThreadStateException;
+import com.sun.jdi.IntegerValue;
+import com.sun.jdi.InvalidStackFrameException;
+import com.sun.jdi.Location;
+import com.sun.jdi.Method;
+import com.sun.jdi.ObjectCollectedException;
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.ReferenceType;
+import com.sun.jdi.StackFrame;
+import com.sun.jdi.ThreadReference;
+
+/**
+ * Drools Thread supporting MVEL and Java dialect stackframes
+ *
+ */
+public class DroolsThread extends JDIThread {
+
+    private List    fStackFrames;
+    private boolean fRefreshChildren = true;
+
+    public DroolsThread(JDIDebugTarget target,
+                        ThreadReference thread) throws ObjectCollectedException {
+        super( target,
+               thread );
+    }
+
+    protected void initialize() throws ObjectCollectedException {
+        super.initialize();
+        fStackFrames = new ArrayList();
+    }
+
+    public synchronized List computeStackFrames() throws DebugException {
+        return computeStackFrames( fRefreshChildren );
+    }
+
+    protected synchronized List computeStackFrames(boolean refreshChildren) throws DebugException {
+        if ( isSuspended() ) {
+            if ( isTerminated() ) {
+                fStackFrames.clear();
+            } else if ( refreshChildren ) {
+                List frames = getUnderlyingFrames();
+                int oldSize = fStackFrames.size();
+                int newSize = frames.size();
+                int discard = oldSize - newSize; // number of old frames to discard, if any
+                for ( int i = 0; i < discard; i++ ) {
+                    DroolsStackFrame invalid = (DroolsStackFrame) fStackFrames.remove( 0 );
+                    invalid.bind( null,
+                                  -1 );
+                }
+                int newFrames = newSize - oldSize; // number of frames to create, if any
+                int depth = oldSize;
+                for ( int i = newFrames - 1; i >= 0; i-- ) {
+                    StackFrame currentFrame = (StackFrame) frames.get( i );
+                    //MVEL: create an mvel stack frame when the declaring type is our debugger?
+
+                    DroolsStackFrame customFrame;
+
+                    customFrame = createCustomFrame( this,
+                                                     depth,
+                                                     currentFrame );
+
+                    fStackFrames.add( 0,
+                                      customFrame );
+
+                    depth++;
+                }
+                int numToRebind = Math.min( newSize,
+                                            oldSize ); // number of frames to attempt to rebind
+                int offset = newSize - 1;
+                for ( depth = 0; depth < numToRebind; depth++ ) {
+                    DroolsStackFrame oldFrame = (DroolsStackFrame) fStackFrames.get( offset );
+                    StackFrame frame = (StackFrame) frames.get( offset );
+                    DroolsStackFrame newFrame = (DroolsStackFrame) oldFrame.bind( frame,
+                                                                                  depth );
+                    if ( newFrame != oldFrame ) {
+                        fStackFrames.set( offset,
+                                          newFrame );
+                    }
+                    offset--;
+                }
+
+            }
+            fRefreshChildren = false;
+        } else {
+            return Collections.EMPTY_LIST;
+        }
+        return fStackFrames;
+    }
+
+    public final static DroolsStackFrame createCustomFrame(DroolsThread thread,
+                                                           int depth,
+                                                           StackFrame currentFrame) {
+        DroolsStackFrame customFrame;
+        Location loc = currentFrame.location();
+        if ( loc.declaringType().name().equals( "org.drools.base.mvel.MVELDebugHandler" ) && loc.method().name().equals( "onBreak" ) ) {
+            customFrame = new MVELStackFrame( thread,
+                                              currentFrame,
+                                              depth );
+        } else {
+            customFrame = new DroolsStackFrame( thread,
+                                                currentFrame,
+                                                depth );
+        }
+        return customFrame;
+    }
+
+    private List getUnderlyingFrames() throws DebugException {
+        if ( !isSuspended() ) {
+            // Checking isSuspended here eliminates a race condition in resume
+            // between the time stack frames are preserved and the time the
+            // underlying thread is actually resumed.
+            requestFailed( JDIDebugModelMessages.JDIThread_Unable_to_retrieve_stack_frame___thread_not_suspended__1,
+                           null,
+                           IJavaThread.ERR_THREAD_NOT_SUSPENDED );
+        }
+        try {
+            return getUnderlyingThread().frames();
+        } catch ( IncompatibleThreadStateException e ) {
+            requestFailed( JDIDebugModelMessages.JDIThread_Unable_to_retrieve_stack_frame___thread_not_suspended__1,
+                           e,
+                           IJavaThread.ERR_THREAD_NOT_SUSPENDED );
+        } catch ( RuntimeException e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_retrieving_stack_frames_2,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        } catch ( InternalError e ) {
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_retrieving_stack_frames_2,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+        // execution will not reach this line, as
+        // #targetRequestFailed will thrown an exception
+        return null;
+    }
+
+    protected synchronized void preserveStackFrames() {
+        fRefreshChildren = true;
+        Iterator frames = fStackFrames.iterator();
+        while ( frames.hasNext() ) {
+            ((DroolsStackFrame) frames.next()).setUnderlyingStackFrame( null );
+        }
+    }
+
+    protected synchronized void disposeStackFrames() {
+        fStackFrames.clear();
+        fRefreshChildren = true;
+    }
+
+    protected void popFrame(IStackFrame frame) throws DebugException {
+        JDIDebugTarget target = (JDIDebugTarget) getDebugTarget();
+        if ( target.canPopFrames() ) {
+            // JDK 1.4 support
+            try {
+                // Pop the frame and all frames above it
+                StackFrame jdiFrame = null;
+                int desiredSize = fStackFrames.size() - fStackFrames.indexOf( frame ) - 1;
+                int lastSize = fStackFrames.size() + 1; // Set up to pass the first test
+                int size = fStackFrames.size();
+                while ( size < lastSize && size > desiredSize ) {
+                    // Keep popping frames until the stack stops getting smaller
+                    // or popFrame is gone.
+                    // see Bug 8054
+                    jdiFrame = ((DroolsStackFrame) frame).getUnderlyingStackFrame();
+                    preserveStackFrames();
+                    getUnderlyingThread().popFrames( jdiFrame );
+                    lastSize = size;
+                    size = computeStackFrames().size();
+                }
+            } catch ( IncompatibleThreadStateException exception ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_popping,
+                                                           new String[]{exception.toString()} ),
+                                     exception );
+            } catch ( InvalidStackFrameException exception ) {
+                // InvalidStackFrameException can be thrown when all but the
+                // deepest frame were popped. Fire a changed notification
+                // in case this has occured.
+                fireChangeEvent( DebugEvent.CONTENT );
+                targetRequestFailed( exception.toString(),
+                                     exception );
+            } catch ( RuntimeException exception ) {
+                targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_popping,
+                                                           new String[]{exception.toString()} ),
+                                     exception );
+            }
+        }
+    }
+
+    protected void terminated() {
+        super.terminated();
+    }
+
+    protected void removeCurrentBreakpoint(IBreakpoint bp) {
+        super.removeCurrentBreakpoint( bp );
+    }
+
+    protected synchronized void suspendedByVM() {
+        super.suspendedByVM();
+    }
+
+    protected synchronized void resumedByVM() throws DebugException {
+        super.resumedByVM();
+    }
+
+    protected void setRunning(boolean running) {
+        super.setRunning( running );
+    }
+
+    protected void dropToFrame(IStackFrame frame) throws DebugException {
+        super.dropToFrame( frame );
+    }
+
+    protected synchronized void stepToFrame(IStackFrame frame) throws DebugException {
+        super.stepToFrame( frame );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.jdt.internal.debug.core.model.JDIThread#newInstance(com.sun.jdi.ClassType, com.sun.jdi.Method, java.util.List)
+     */
+    public ObjectReference newInstance(ClassType receiverClass,
+                                       Method constructor,
+                                       List args) throws DebugException {
+        return super.newInstance( receiverClass,
+                                  constructor,
+                                  args );
+    }
+
+    public synchronized void stepOver() throws DebugException {
+
+        // Detection for active stackframe
+        if ( !(getTopStackFrame() instanceof MVELStackFrame) ) {
+            super.stepOver();
+            return;
+        }
+
+        //MVEL step over
+        MVELStackFrame mvelStack = (MVELStackFrame) getTopStackFrame();
+
+        if ( !canStepOver() || !mvelStack.canStepOver() ) {
+            return;
+        }
+
+        if ( !setRemoteOnBreakReturn( Debugger.STEP ) ) {
+            return;
+        }
+
+        preserveStackFrames();
+
+        setRunning( true );
+
+        try {
+            getUnderlyingThread().resume();
+        } catch ( RuntimeException e ) {
+            //stepEnd();
+            targetRequestFailed( MessageFormat.format( JDIDebugModelMessages.JDIThread_exception_stepping,
+                                                       new String[]{e.toString()} ),
+                                 e );
+        }
+
+    }
+
+    private boolean setRemoteOnBreakReturn(int step_over) throws DebugException {
+
+        JDIStackFrame top = (JDIStackFrame) getTopStackFrame();
+        if ( top == null || (!(top instanceof MVELStackFrame)) ) {
+            return false;
+        }
+
+        Iterator handleriter = getVM().classesByName( "org.drools.base.mvel.MVELDebugHandler" ).iterator();
+        Object debugHandlerClass = handleriter.next();
+
+        int line = step_over;
+
+        ReferenceType refType = (ReferenceType) debugHandlerClass;
+        Method m = (Method) refType.methodsByName( "setOnBreakReturn" ).iterator().next();
+        List args = new ArrayList();
+        IntegerValue lineVal = getVM().mirrorOf( line );
+        //ObjectReference realVal = val.getUnderlyingObject();
+        args.add( lineVal );
+
+        try {
+            ClassType tt = (ClassType) debugHandlerClass;
+            tt.invokeMethod( getUnderlyingThread(),
+                             m,
+                             args,
+                             ObjectReference.INVOKE_SINGLE_THREADED );
+
+        } catch ( Exception e ) {
+            DroolsEclipsePlugin.log( e );
+            return false;
+        }
+        return true;
+    }
+
+    public synchronized void resume() throws DebugException {
+        // clear up the step over flag. step over button never calls this method.
+        setRemoteOnBreakReturn( Debugger.CONTINUE );
+        super.resume();
+    }
+
+    public void setInvokingMethod(boolean invoking) {
+        super.setInvokingMethod( invoking );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,15 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-public interface IDroolsDebugConstants {
-
-	String ID_DROOLS_DEBUG_MODEL = "org.drools.eclipse.debug";
-	String DROOLS_MARKER_TYPE = "org.drools.eclipse.droolsBreakpointMarker";
-	String DRL_LINE_NUMBER = "Drools_DRL_LineNumber";
-	String LAUNCH_CONFIGURATION_TYPE = "org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate";
-    
-    /**
-     * com.package.HelloWorld:14;com.package.GoodBye:7 style of packed rule info. int is the linenumber at the drl. 
-     */
-    String DRL_RULES = "org.drools.eclipse.debug.DRL_RULES";
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/IDroolsDebugConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,15 @@
+package org.drools.eclipse.debug.core;
+
+public interface IDroolsDebugConstants {
+
+	String ID_DROOLS_DEBUG_MODEL = "org.drools.eclipse.debug";
+	String DROOLS_MARKER_TYPE = "org.drools.eclipse.droolsBreakpointMarker";
+	String DRL_LINE_NUMBER = "Drools_DRL_LineNumber";
+	String LAUNCH_CONFIGURATION_TYPE = "org.drools.eclipse.launching.DroolsLaunchConfigurationDelegate";
+    
+    /**
+     * com.package.HelloWorld:14;com.package.GoodBye:7 style of packed rule info. int is the linenumber at the drl. 
+     */
+    String DRL_RULES = "org.drools.eclipse.debug.DRL_RULES";
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,530 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.debug.DebugUtil;
-import org.drools.eclipse.debug.VariableWrapper;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdi.internal.ObjectReferenceImpl;
-import org.eclipse.jdt.debug.core.IJavaClassObject;
-import org.eclipse.jdt.debug.core.IJavaFieldVariable;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaReferenceType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
-import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
-
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.ArrayReference;
-import com.sun.jdi.BooleanValue;
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.ClassType;
-import com.sun.jdi.Field;
-import com.sun.jdi.IncompatibleThreadStateException;
-import com.sun.jdi.IntegerValue;
-import com.sun.jdi.InvalidTypeException;
-import com.sun.jdi.InvocationException;
-import com.sun.jdi.LocalVariable;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.StackFrame;
-import com.sun.jdi.StringReference;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.Value;
-
-/**
- * Stack Frame for MVEL Dialect
- * 
- * @author Ahti Kitsik
- *
- */
-public class MVELStackFrame extends DroolsStackFrame {
-
-    private int                             cacheLineNumber           = -1;
-    private int                             cacheBreakpointLineNumber = -1;
-    private String                          cacheMVELName             = null;
-    private IVariable[]                     cacheVariables            = null;
-
-    private boolean                         evaluating                = false;
-
-    /**
-     * Dummy type with changed stratum to force debugger's LaunchView to show proper stackframe name
-     */
-    private static final IJavaReferenceType REF_TYPE                  = new IJavaReferenceType() {
-
-    	public IJavaFieldVariable getField(String name) throws DebugException {
-    		return null;
-    	}
-    	public IJavaClassObject getClassObject() throws DebugException {
-    		return null;
-    	}
-    	
-    	public String[] getAvailableStrata() throws DebugException {
-    		return null;
-    	}
-    	
-    	public String getDefaultStratum() throws DebugException {
-    		return "MVEL";
-    	}
-    	
-    	public String[] getDeclaredFieldNames() throws DebugException {
-    		return null;
-    	}
-    	
-    	public String[] getAllFieldNames() throws DebugException {
-    		return null;
-    	}
-        
-        public IJavaObject getClassLoaderObject() throws DebugException {
-    		return null;
-    	}
-        
-        public String getGenericSignature() throws DebugException {
-    		return null;
-    	}
-        
-        public String getSourceName() throws DebugException {
-    		return null;
-    	}
-        
-        public String[] getSourceNames(String stratum) throws DebugException {
-    		return null;
-    	}
-        
-        public String[] getSourcePaths(String stratum) throws DebugException {
-    		return null;
-    	}
-        
-        public IJavaObject[] getInstances(long max) throws DebugException {
-    		return null;
-    	}
-        
-		public String getName() throws DebugException {
-			return null;
-		}
-		
-		public String getSignature() throws DebugException {
-			return null;
-		}
-		
-		public IDebugTarget getDebugTarget() {
-			return null;
-		}
-		
-		public ILaunch getLaunch() {
-			return null;
-		}
-		
-		public String getModelIdentifier() {
-			return null;
-		}
-		
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-
-                                                                      };
-
-    public MVELStackFrame(DroolsThread thread,
-                          StackFrame frame,
-                          int depth) {
-        super( thread,
-               frame,
-               depth );
-
-    }
-
-    public IVariable[] getVariables() throws DebugException {
-
-        if ( !isSuspended() ) {
-            return null;
-        }
-
-        if ( cacheVariables != null ) {
-            return cacheVariables;
-        }
-
-        evaluating = true;
-        try {
-            List result = new ArrayList( 0 );
-
-            Method method = getUnderlyingMethod(); // onBreak
-            ReferenceType declaringType = method.declaringType(); // org.drools.base.mvel.MVELDebugHandler
-
-            try {
-
-                Object var = method.variables().get( 0 );
-                LocalVariable v2 = (LocalVariable) var;
-                DroolsLocalVariable frameLocal = new DroolsLocalVariable( this,
-                                                                          v2 );
-
-                IValue knownVars = DebugUtil.getValueByExpression( "return getFactory().getKnownVariables().toArray(new String[0]);",
-                                                                   frameLocal.getValue() );
-
-                IValue factory = DebugUtil.getValueByExpression( "return getFactory();",
-                                                                 frameLocal.getValue() );
-
-                IValue vars2 = DebugUtil.getValueByExpression( "return getFactory().getKnownVariables();",
-                                                               frameLocal.getValue() );
-
-                JDIObjectValue vvv = (JDIObjectValue) knownVars;
-
-                if ( vvv != null && ((ArrayReference) vvv.getUnderlyingObject()).length() > 0 ) {
-                    ArrayReference arr = (ArrayReference) vvv.getUnderlyingObject();
-
-                    Iterator varIter = arr.getValues().iterator();
-
-                    while ( varIter.hasNext() ) {
-                        final String varName = ((StringReference) varIter.next()).value();
-
-                        IJavaValue val = (IJavaValue) DebugUtil.getValueByExpression( "return getVariableResolver(\"" + varName + "\").getValue();",
-                                                                                      factory );
-                        if ( val != null ) {
-                            final ObjectReference valRef = ((JDIObjectValue) val).getUnderlyingObject();
-                            VariableWrapper local = new VariableWrapper( varName,
-                                                                         val );
-
-                            local.setPublic( true );
-                            result.add( local );
-                        } else {
-                            DroolsEclipsePlugin.log( new Exception( "Unable to get value for variable named '" + varName + "' suspend=" + isSuspended() ) );
-                        }
-                    }
-
-                }
-
-                IVariable[] vararr = (IVariable[]) result.toArray( new IVariable[result.size()] );
-                cacheVariables = vararr;
-                return vararr;
-
-            } catch ( Throwable t ) {
-                DroolsEclipsePlugin.log( t );
-            }
-
-            IVariable[] vararr = (IVariable[]) result.toArray( new IVariable[result.size()] );
-
-            Arrays.sort( vararr,
-                         new Comparator() {
-
-                             public int compare(Object var1,
-                                                Object var2) {
-                                 try {
-                                     return ((IVariable) var1).getName().compareTo( ((IVariable) var2).getName() );
-                                 } catch ( DebugException e ) {
-                                     return 0;
-                                 }
-                             }
-
-                         } );
-            cacheVariables = vararr;
-            return vararr;
-        } finally {
-            evaluating = false;
-            evalEnd();
-        }
-    }
-
-    private boolean internalHasNext(Value iter) throws InvalidTypeException,
-                                               ClassNotLoadedException,
-                                               IncompatibleThreadStateException,
-                                               InvocationException,
-                                               DebugException {
-        BooleanValue hasNext = (BooleanValue) runMethod( iter,
-                                                         "hasNext" );
-        return hasNext.booleanValue();
-    }
-
-    private Value fetchField(Value factoryVar,
-                             String fieldName) throws ClassNotLoadedException,
-                                              DebugException {
-        return fetchField( (ObjectReference) factoryVar,
-                           fieldName );
-    }
-
-    private Value runMethod(Value val,
-                            String methodName) throws InvalidTypeException,
-                                              ClassNotLoadedException,
-                                              IncompatibleThreadStateException,
-                                              InvocationException,
-                                              DebugException {
-
-        ObjectReference refObj = (ObjectReference) val;
-        ReferenceType t = refObj.referenceType();
-        Method m2 = (Method) t.methodsByName( methodName ).iterator().next();
-        ThreadReference thread = ((DroolsThread) getThread()).getUnderlyingThread();
-
-        Value res = refObj.invokeMethod( thread,
-                                         m2,
-                                         new ArrayList(),
-                                         0 );
-
-        return res;
-    }
-
-    private Value fetchField(DroolsLocalVariable frameLocal,
-                             String fieldName) throws DebugException,
-                                              ClassNotLoadedException {
-        ObjectReference objRef = ((JDIObjectValue) frameLocal.getValue()).getUnderlyingObject();
-        return fetchField( objRef,
-                           fieldName );
-    }
-
-    private Value fetchField(ObjectReference ref,
-                             String fieldName) throws ClassNotLoadedException,
-                                              DebugException {
-        ClassType varType = (ClassType) ref.type();
-        Field field = varType.fieldByName( fieldName );
-        Value res = ref.getValue( field );
-        return res;
-    }
-
-    protected DroolsStackFrame createNewDroolsFrame(StackFrame frame,
-                                                    int depth) {
-        return new MVELStackFrame( (DroolsThread) getThread(),
-                                   frame,
-                                   depth );
-    }
-
-    public int getLineNumber() throws DebugException {
-
-        if ( cacheLineNumber != -1 ) {
-            return cacheLineNumber;
-        }
-
-        if ( !isSuspended() ) {
-            return -1;
-        }
-
-        evaluating = true;
-        try {
-            DroolsDebugTarget t = (DroolsDebugTarget) getDebugTarget();
-
-            //int lineNr = getBreakpointLineNumber();
-            String sourceName = getMVELName();
-
-            DroolsLineBreakpoint bpoint = (DroolsLineBreakpoint) t.getDroolsBreakpoint( sourceName );
-
-            if ( bpoint == null ) {
-                return -1;
-            }
-
-            int line;
-
-            try {
-                line = Integer.parseInt( bpoint.getFileRuleMappings().get( sourceName ).toString() );
-            } catch ( Throwable t2 ) {
-                DroolsEclipsePlugin.log( t2 );
-                return -1;
-            }
-
-            int fragmentLine = getBreakpointLineNumber(); // 4->5 for step over
-
-            int res = line + fragmentLine;
-
-            cacheLineNumber = res;
-            return res;
-        } finally {
-            evaluating = false;
-            evalEnd();
-        }
-    }
-
-    public RuleInfo getExecutingRuleInfo() {
-        try {
-            String type = getDeclaringTypeName();
-
-            return DroolsEclipsePlugin.getDefault().getRuleInfoByClass( type );
-
-        } catch ( DebugException exc ) {
-            DroolsEclipsePlugin.log( exc );
-        }
-        return null;
-    }
-
-    public int getBreakpointLineNumber() {
-
-        if ( cacheBreakpointLineNumber != -1 ) {
-            return cacheBreakpointLineNumber;
-        }
-
-        if ( !isSuspended() ) {
-            return -1;
-        }
-
-        evaluating = true;
-        try {
-            try {
-                Object o = getRemoteVar( "lineNumber" );
-                if ( o == null ) {
-                    return -1;
-                }
-                IntegerValue val = (IntegerValue) o;
-                int realval = val.value();
-                cacheBreakpointLineNumber = realval;
-                return realval;
-            } catch ( Throwable e ) {
-                DroolsEclipsePlugin.log( e );
-            }
-            return -1;
-        } finally {
-            evaluating = false;
-            evalEnd();
-        }
-    }
-
-    public String getMVELName() {
-
-        if ( cacheMVELName != null ) {
-            return cacheMVELName;
-        }
-
-        if ( !isSuspended() ) {
-            return null;
-        }
-
-        evaluating = true;
-        try {
-            try {
-                Object rem = getRemoteVar( "sourceName" );
-                if ( rem == null ) {
-                    return null;
-                }
-                StringReference res = (StringReference) rem;
-                String realres = res.value();
-                cacheMVELName = realres;
-                return realres;
-            } catch ( Throwable e ) {
-                DroolsEclipsePlugin.log( e );
-            }
-
-            return "Unavailable";
-        } finally {
-            evaluating = false;
-            evalEnd();
-        }
-    }
-
-    private void evalEnd() {
-        fireChangeEvent( DebugEvent.STATE );
-        //fireChangeEvent( DebugEvent.CONTENT );
-    }
-
-    private Object getRemoteVar(String methodName) throws AbsentInformationException,
-                                                  ClassNotLoadedException,
-                                                  DebugException,
-                                                  InvalidTypeException,
-                                                  IncompatibleThreadStateException,
-                                                  InvocationException {
-
-        //frame arg
-        Method method = getUnderlyingMethod(); // onBreak
-        //ReferenceType declaringType = method.declaringType(); // org.drools.base.mvel.MVELDebugHandler
-
-        LocalVariable var = (LocalVariable) method.variables().get( 0 );//frame
-
-        ClassType frameType = (ClassType) var.type();
-
-        StackFrame frame = getUnderlyingStackFrame();
-        Value value = frame.getValue( var );
-        //getThread().getTopStackFrame().get
-
-        //IValue value = jdivar.getValue();
-        ObjectReferenceImpl o = (ObjectReferenceImpl) value;
-
-        /*        if ( value instanceof JDINullValue ) {
-         return null;
-         }
-         */
-
-        //ObjectReference o = (ObjectReference) ((JDIObjectValue) value).getUnderlyingObject();
-        if ( o == null ) {
-            return null;
-        }
-
-        Field field = frameType.fieldByName( methodName );
-        Value val = o.getValue( field );
-        return val;
-    }
-
-    public String getSourcePath() throws DebugException {
-        return getMVELName();
-    }
-
-    public boolean canStepInto() {
-        return false;
-    }
-
-    public boolean canStepOver() {
-        return exists() && !isObsolete() && !evaluating;
-    }
-
-    public boolean canDropToFrame() {
-        return false;
-    }
-
-    public boolean canStepReturn() {
-        return false;
-    }
-
-    public boolean canStepWithFilters() {
-        return false;
-    }
-
-    public IJavaReferenceType getReferenceType() throws DebugException {
-        return REF_TYPE;
-    }
-
-    public String getSourceName() throws DebugException {
-        return getMVELName();
-    }
-
-    protected JDIStackFrame bind(StackFrame frame,
-                                 int depth) {
-        clearCachedData();
-        return super.bind( frame,
-                           depth );
-    }
-
-    protected void clearCachedData() {
-        super.clearCachedData();
-        clearFrameCache();
-        if ( !isSuspended() ) {
-            initMVELinfo();
-        }
-    }
-
-    private void initMVELinfo() {
-        try {
-            getLineNumber();
-        } catch ( DebugException e ) {
-            // no luck this time. will be initialized later
-        }
-        getBreakpointLineNumber();
-        getMVELName();
-        try {
-            getVariables();
-        } catch ( DebugException e1 ) {
-            // no luck this time. will be initialized later
-        }
-    }
-
-    private void clearFrameCache() {
-        cacheLineNumber = -1;
-        cacheBreakpointLineNumber = -1;
-        cacheMVELName = null;
-        cacheVariables = null;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELStackFrame.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,530 @@
+package org.drools.eclipse.debug.core;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.debug.DebugUtil;
+import org.drools.eclipse.debug.VariableWrapper;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.model.IValue;
+import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.jdi.internal.ObjectReferenceImpl;
+import org.eclipse.jdt.debug.core.IJavaClassObject;
+import org.eclipse.jdt.debug.core.IJavaFieldVariable;
+import org.eclipse.jdt.debug.core.IJavaObject;
+import org.eclipse.jdt.debug.core.IJavaReferenceType;
+import org.eclipse.jdt.debug.core.IJavaValue;
+import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;
+import org.eclipse.jdt.internal.debug.core.model.JDIStackFrame;
+
+import com.sun.jdi.AbsentInformationException;
+import com.sun.jdi.ArrayReference;
+import com.sun.jdi.BooleanValue;
+import com.sun.jdi.ClassNotLoadedException;
+import com.sun.jdi.ClassType;
+import com.sun.jdi.Field;
+import com.sun.jdi.IncompatibleThreadStateException;
+import com.sun.jdi.IntegerValue;
+import com.sun.jdi.InvalidTypeException;
+import com.sun.jdi.InvocationException;
+import com.sun.jdi.LocalVariable;
+import com.sun.jdi.Method;
+import com.sun.jdi.ObjectReference;
+import com.sun.jdi.ReferenceType;
+import com.sun.jdi.StackFrame;
+import com.sun.jdi.StringReference;
+import com.sun.jdi.ThreadReference;
+import com.sun.jdi.Value;
+
+/**
+ * Stack Frame for MVEL Dialect
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class MVELStackFrame extends DroolsStackFrame {
+
+    private int                             cacheLineNumber           = -1;
+    private int                             cacheBreakpointLineNumber = -1;
+    private String                          cacheMVELName             = null;
+    private IVariable[]                     cacheVariables            = null;
+
+    private boolean                         evaluating                = false;
+
+    /**
+     * Dummy type with changed stratum to force debugger's LaunchView to show proper stackframe name
+     */
+    private static final IJavaReferenceType REF_TYPE                  = new IJavaReferenceType() {
+
+    	public IJavaFieldVariable getField(String name) throws DebugException {
+    		return null;
+    	}
+    	public IJavaClassObject getClassObject() throws DebugException {
+    		return null;
+    	}
+    	
+    	public String[] getAvailableStrata() throws DebugException {
+    		return null;
+    	}
+    	
+    	public String getDefaultStratum() throws DebugException {
+    		return "MVEL";
+    	}
+    	
+    	public String[] getDeclaredFieldNames() throws DebugException {
+    		return null;
+    	}
+    	
+    	public String[] getAllFieldNames() throws DebugException {
+    		return null;
+    	}
+        
+        public IJavaObject getClassLoaderObject() throws DebugException {
+    		return null;
+    	}
+        
+        public String getGenericSignature() throws DebugException {
+    		return null;
+    	}
+        
+        public String getSourceName() throws DebugException {
+    		return null;
+    	}
+        
+        public String[] getSourceNames(String stratum) throws DebugException {
+    		return null;
+    	}
+        
+        public String[] getSourcePaths(String stratum) throws DebugException {
+    		return null;
+    	}
+        
+        public IJavaObject[] getInstances(long max) throws DebugException {
+    		return null;
+    	}
+        
+		public String getName() throws DebugException {
+			return null;
+		}
+		
+		public String getSignature() throws DebugException {
+			return null;
+		}
+		
+		public IDebugTarget getDebugTarget() {
+			return null;
+		}
+		
+		public ILaunch getLaunch() {
+			return null;
+		}
+		
+		public String getModelIdentifier() {
+			return null;
+		}
+		
+		public Object getAdapter(Class adapter) {
+			return null;
+		}
+
+                                                                      };
+
+    public MVELStackFrame(DroolsThread thread,
+                          StackFrame frame,
+                          int depth) {
+        super( thread,
+               frame,
+               depth );
+
+    }
+
+    public IVariable[] getVariables() throws DebugException {
+
+        if ( !isSuspended() ) {
+            return null;
+        }
+
+        if ( cacheVariables != null ) {
+            return cacheVariables;
+        }
+
+        evaluating = true;
+        try {
+            List result = new ArrayList( 0 );
+
+            Method method = getUnderlyingMethod(); // onBreak
+            ReferenceType declaringType = method.declaringType(); // org.drools.base.mvel.MVELDebugHandler
+
+            try {
+
+                Object var = method.variables().get( 0 );
+                LocalVariable v2 = (LocalVariable) var;
+                DroolsLocalVariable frameLocal = new DroolsLocalVariable( this,
+                                                                          v2 );
+
+                IValue knownVars = DebugUtil.getValueByExpression( "return getFactory().getKnownVariables().toArray(new String[0]);",
+                                                                   frameLocal.getValue() );
+
+                IValue factory = DebugUtil.getValueByExpression( "return getFactory();",
+                                                                 frameLocal.getValue() );
+
+                IValue vars2 = DebugUtil.getValueByExpression( "return getFactory().getKnownVariables();",
+                                                               frameLocal.getValue() );
+
+                JDIObjectValue vvv = (JDIObjectValue) knownVars;
+
+                if ( vvv != null && ((ArrayReference) vvv.getUnderlyingObject()).length() > 0 ) {
+                    ArrayReference arr = (ArrayReference) vvv.getUnderlyingObject();
+
+                    Iterator varIter = arr.getValues().iterator();
+
+                    while ( varIter.hasNext() ) {
+                        final String varName = ((StringReference) varIter.next()).value();
+
+                        IJavaValue val = (IJavaValue) DebugUtil.getValueByExpression( "return getVariableResolver(\"" + varName + "\").getValue();",
+                                                                                      factory );
+                        if ( val != null ) {
+                            final ObjectReference valRef = ((JDIObjectValue) val).getUnderlyingObject();
+                            VariableWrapper local = new VariableWrapper( varName,
+                                                                         val );
+
+                            local.setPublic( true );
+                            result.add( local );
+                        } else {
+                            DroolsEclipsePlugin.log( new Exception( "Unable to get value for variable named '" + varName + "' suspend=" + isSuspended() ) );
+                        }
+                    }
+
+                }
+
+                IVariable[] vararr = (IVariable[]) result.toArray( new IVariable[result.size()] );
+                cacheVariables = vararr;
+                return vararr;
+
+            } catch ( Throwable t ) {
+                DroolsEclipsePlugin.log( t );
+            }
+
+            IVariable[] vararr = (IVariable[]) result.toArray( new IVariable[result.size()] );
+
+            Arrays.sort( vararr,
+                         new Comparator() {
+
+                             public int compare(Object var1,
+                                                Object var2) {
+                                 try {
+                                     return ((IVariable) var1).getName().compareTo( ((IVariable) var2).getName() );
+                                 } catch ( DebugException e ) {
+                                     return 0;
+                                 }
+                             }
+
+                         } );
+            cacheVariables = vararr;
+            return vararr;
+        } finally {
+            evaluating = false;
+            evalEnd();
+        }
+    }
+
+    private boolean internalHasNext(Value iter) throws InvalidTypeException,
+                                               ClassNotLoadedException,
+                                               IncompatibleThreadStateException,
+                                               InvocationException,
+                                               DebugException {
+        BooleanValue hasNext = (BooleanValue) runMethod( iter,
+                                                         "hasNext" );
+        return hasNext.booleanValue();
+    }
+
+    private Value fetchField(Value factoryVar,
+                             String fieldName) throws ClassNotLoadedException,
+                                              DebugException {
+        return fetchField( (ObjectReference) factoryVar,
+                           fieldName );
+    }
+
+    private Value runMethod(Value val,
+                            String methodName) throws InvalidTypeException,
+                                              ClassNotLoadedException,
+                                              IncompatibleThreadStateException,
+                                              InvocationException,
+                                              DebugException {
+
+        ObjectReference refObj = (ObjectReference) val;
+        ReferenceType t = refObj.referenceType();
+        Method m2 = (Method) t.methodsByName( methodName ).iterator().next();
+        ThreadReference thread = ((DroolsThread) getThread()).getUnderlyingThread();
+
+        Value res = refObj.invokeMethod( thread,
+                                         m2,
+                                         new ArrayList(),
+                                         0 );
+
+        return res;
+    }
+
+    private Value fetchField(DroolsLocalVariable frameLocal,
+                             String fieldName) throws DebugException,
+                                              ClassNotLoadedException {
+        ObjectReference objRef = ((JDIObjectValue) frameLocal.getValue()).getUnderlyingObject();
+        return fetchField( objRef,
+                           fieldName );
+    }
+
+    private Value fetchField(ObjectReference ref,
+                             String fieldName) throws ClassNotLoadedException,
+                                              DebugException {
+        ClassType varType = (ClassType) ref.type();
+        Field field = varType.fieldByName( fieldName );
+        Value res = ref.getValue( field );
+        return res;
+    }
+
+    protected DroolsStackFrame createNewDroolsFrame(StackFrame frame,
+                                                    int depth) {
+        return new MVELStackFrame( (DroolsThread) getThread(),
+                                   frame,
+                                   depth );
+    }
+
+    public int getLineNumber() throws DebugException {
+
+        if ( cacheLineNumber != -1 ) {
+            return cacheLineNumber;
+        }
+
+        if ( !isSuspended() ) {
+            return -1;
+        }
+
+        evaluating = true;
+        try {
+            DroolsDebugTarget t = (DroolsDebugTarget) getDebugTarget();
+
+            //int lineNr = getBreakpointLineNumber();
+            String sourceName = getMVELName();
+
+            DroolsLineBreakpoint bpoint = (DroolsLineBreakpoint) t.getDroolsBreakpoint( sourceName );
+
+            if ( bpoint == null ) {
+                return -1;
+            }
+
+            int line;
+
+            try {
+                line = Integer.parseInt( bpoint.getFileRuleMappings().get( sourceName ).toString() );
+            } catch ( Throwable t2 ) {
+                DroolsEclipsePlugin.log( t2 );
+                return -1;
+            }
+
+            int fragmentLine = getBreakpointLineNumber(); // 4->5 for step over
+
+            int res = line + fragmentLine;
+
+            cacheLineNumber = res;
+            return res;
+        } finally {
+            evaluating = false;
+            evalEnd();
+        }
+    }
+
+    public RuleInfo getExecutingRuleInfo() {
+        try {
+            String type = getDeclaringTypeName();
+
+            return DroolsEclipsePlugin.getDefault().getRuleInfoByClass( type );
+
+        } catch ( DebugException exc ) {
+            DroolsEclipsePlugin.log( exc );
+        }
+        return null;
+    }
+
+    public int getBreakpointLineNumber() {
+
+        if ( cacheBreakpointLineNumber != -1 ) {
+            return cacheBreakpointLineNumber;
+        }
+
+        if ( !isSuspended() ) {
+            return -1;
+        }
+
+        evaluating = true;
+        try {
+            try {
+                Object o = getRemoteVar( "lineNumber" );
+                if ( o == null ) {
+                    return -1;
+                }
+                IntegerValue val = (IntegerValue) o;
+                int realval = val.value();
+                cacheBreakpointLineNumber = realval;
+                return realval;
+            } catch ( Throwable e ) {
+                DroolsEclipsePlugin.log( e );
+            }
+            return -1;
+        } finally {
+            evaluating = false;
+            evalEnd();
+        }
+    }
+
+    public String getMVELName() {
+
+        if ( cacheMVELName != null ) {
+            return cacheMVELName;
+        }
+
+        if ( !isSuspended() ) {
+            return null;
+        }
+
+        evaluating = true;
+        try {
+            try {
+                Object rem = getRemoteVar( "sourceName" );
+                if ( rem == null ) {
+                    return null;
+                }
+                StringReference res = (StringReference) rem;
+                String realres = res.value();
+                cacheMVELName = realres;
+                return realres;
+            } catch ( Throwable e ) {
+                DroolsEclipsePlugin.log( e );
+            }
+
+            return "Unavailable";
+        } finally {
+            evaluating = false;
+            evalEnd();
+        }
+    }
+
+    private void evalEnd() {
+        fireChangeEvent( DebugEvent.STATE );
+        //fireChangeEvent( DebugEvent.CONTENT );
+    }
+
+    private Object getRemoteVar(String methodName) throws AbsentInformationException,
+                                                  ClassNotLoadedException,
+                                                  DebugException,
+                                                  InvalidTypeException,
+                                                  IncompatibleThreadStateException,
+                                                  InvocationException {
+
+        //frame arg
+        Method method = getUnderlyingMethod(); // onBreak
+        //ReferenceType declaringType = method.declaringType(); // org.drools.base.mvel.MVELDebugHandler
+
+        LocalVariable var = (LocalVariable) method.variables().get( 0 );//frame
+
+        ClassType frameType = (ClassType) var.type();
+
+        StackFrame frame = getUnderlyingStackFrame();
+        Value value = frame.getValue( var );
+        //getThread().getTopStackFrame().get
+
+        //IValue value = jdivar.getValue();
+        ObjectReferenceImpl o = (ObjectReferenceImpl) value;
+
+        /*        if ( value instanceof JDINullValue ) {
+         return null;
+         }
+         */
+
+        //ObjectReference o = (ObjectReference) ((JDIObjectValue) value).getUnderlyingObject();
+        if ( o == null ) {
+            return null;
+        }
+
+        Field field = frameType.fieldByName( methodName );
+        Value val = o.getValue( field );
+        return val;
+    }
+
+    public String getSourcePath() throws DebugException {
+        return getMVELName();
+    }
+
+    public boolean canStepInto() {
+        return false;
+    }
+
+    public boolean canStepOver() {
+        return exists() && !isObsolete() && !evaluating;
+    }
+
+    public boolean canDropToFrame() {
+        return false;
+    }
+
+    public boolean canStepReturn() {
+        return false;
+    }
+
+    public boolean canStepWithFilters() {
+        return false;
+    }
+
+    public IJavaReferenceType getReferenceType() throws DebugException {
+        return REF_TYPE;
+    }
+
+    public String getSourceName() throws DebugException {
+        return getMVELName();
+    }
+
+    protected JDIStackFrame bind(StackFrame frame,
+                                 int depth) {
+        clearCachedData();
+        return super.bind( frame,
+                           depth );
+    }
+
+    protected void clearCachedData() {
+        super.clearCachedData();
+        clearFrameCache();
+        if ( !isSuspended() ) {
+            initMVELinfo();
+        }
+    }
+
+    private void initMVELinfo() {
+        try {
+            getLineNumber();
+        } catch ( DebugException e ) {
+            // no luck this time. will be initialized later
+        }
+        getBreakpointLineNumber();
+        getMVELName();
+        try {
+            getVariables();
+        } catch ( DebugException e1 ) {
+            // no luck this time. will be initialized later
+        }
+    }
+
+    private void clearFrameCache() {
+        cacheLineNumber = -1;
+        cacheBreakpointLineNumber = -1;
+        cacheMVELName = null;
+        cacheVariables = null;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,25 +0,0 @@
-package org.drools.eclipse.debug.core;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIThisVariable;
-
-import com.sun.jdi.ObjectReference;
-
-public class MVELThisVariable extends JDIThisVariable {
-
-    private String label;
-
-    public MVELThisVariable(JDIDebugTarget target, ObjectReference object, String label) {
-        super( target, object );
-        this.label = label;
-    }
-
-    public String getName() {
-        return label;
-    }
-
-    public boolean isPublic() throws DebugException {
-        return true;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/debug/core/MVELThisVariable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,25 @@
+package org.drools.eclipse.debug.core;
+
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
+import org.eclipse.jdt.internal.debug.core.model.JDIThisVariable;
+
+import com.sun.jdi.ObjectReference;
+
+public class MVELThisVariable extends JDIThisVariable {
+
+    private String label;
+
+    public MVELThisVariable(JDIDebugTarget target, ObjectReference object, String label) {
+        super( target, object );
+        this.label = label;
+    }
+
+    public String getName() {
+        return label;
+    }
+
+    public boolean isPublic() throws DebugException {
+        return true;
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,222 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.builder.Util;
-import org.drools.eclipse.editors.completion.DSLTree;
-import org.drools.lang.dsl.DSLMapping;
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.drools.lang.dsl.DSLMappingFile;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * This holds the DSL configuration for an editor instance.
- * When loading, it will find the DSL file, and load the applicable lists.
- * 
- * This provides a link between the editor and the DSL features of the rule language.  
- * 
- * It will look for a DSL configuration, as named in the rule file, in the same directory as the rule file.
- * Failing this, it will search one directory above the rule file. 
- * Failing that, it will search the root of the project in the workspace.
- * 
- * @author Michael Neale
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DSLAdapter {
-
-    private String dslConfigName;
-    private boolean valid = false;
-    private List conditionProposals = new ArrayList();
-    private List consequenceProposals = new ArrayList();
-	private DSLTree dslTree = new DSLTree();
-    
-    //to dig out the expander, without using the parser.
-    private static final Pattern EXPANDER_PATTERN = Pattern.compile( "\\n\\s*expander\\s*(.*)\\.dsl\\s", 
-                                                             Pattern.DOTALL | Pattern.MULTILINE );
-    /**
-     * This will sniff out the DSL config file name from the content.
-     * It will then use the IFile input to search around for the file itself.
-     * TODO: provide an alternative that just loads off a stream (for non IDEs workbenches like jlibrary).
-     * @param content Rule source
-     * @param input File from the FileEditorInput
-     */
-    public DSLAdapter(String content, IFile input) throws CoreException {
-        dslConfigName = findDSLConfigName( content, input );
-        if (dslConfigName == null) {
-        	return;
-        }
-        loadConfig( input );
-    }
-    
-    /** Get a reader to the DSL contents */
-    public static Reader getDSLContent(String ruleSource, IResource input) throws CoreException {
-        String dslFileName = findDSLConfigName( ruleSource, input );
-        if (dslFileName == null) {
-        	return null;
-        }
-        IResource res = findDSLResource( input, dslFileName );
-        if (res instanceof IFile) {
-            IFile dslConf = (IFile) res;
-            if (dslConf.exists()) {
-                return new InputStreamReader(dslConf.getContents());
-            }
-        }
-        return null;
-    }
-
-    /**
-     * This does the hunting around the projec to find the .dsl file.
-     */
-    private void loadConfig(IFile input) {
-        IResource res = findDSLResource( input, dslConfigName );
-        if (res instanceof IFile) {
-            IFile dslConf = (IFile) res;
-            if (dslConf.exists()) {
-                InputStream stream = null; 
-                try {
-                    stream = dslConf.getContents();
-                    readConfig( stream );
-                    valid = true;
-                } catch ( Exception e ) {
-                    throw new IllegalStateException("Unable to open DSL config file. (Exception: " + e.getMessage() + ")");
-                } finally {
-                    closeStream( stream );
-                }
-                
-            }
-        }
-    }
-
-    private static IResource findDSLResource(IResource input, String dslFileName) {
-        IResource res = input.getParent().findMember( dslFileName );
-        if (res == null) res = input.getParent().getParent().findMember( dslFileName ); //try parent directory
-        if (res == null) res = input.getProject().findMember( dslFileName ); //try root of project.
-        return res;
-    }
-
-    
-    /** This will load in the DSL config file, using the DSLMapping from drools-compiler */
-    void readConfig(InputStream stream) throws IOException, CoreException {
-        DSLMappingFile file = new DSLMappingFile();
-        file.parseAndLoad(new InputStreamReader(stream));
-
-        DSLMapping grammar = file.getMapping();
-        List conditions = grammar.getEntries( DSLMappingEntry.CONDITION );
-        List consequences = grammar.getEntries( DSLMappingEntry.CONSEQUENCE );
-        
-        conditionProposals = buildProposals(conditions);
-        consequenceProposals = buildProposals(consequences);
-        
-		dslTree.buildTree(grammar);
-    }
-
-    private List buildProposals(List suggestions) {
-    	List result = new ArrayList(suggestions.size());
-    	Iterator iterator = suggestions.iterator();
-        while (iterator.hasNext()) {
-            DSLMappingEntry text = (DSLMappingEntry) iterator.next();
-            result.add(text.getMappingKey());
-        }
-        return result;
-    }
-
-    private void closeStream(InputStream stream) {
-        if (stream != null) try {
-            stream.close();
-        } catch ( IOException e ) {}
-    }
-
-    DSLAdapter() {
-        
-    }
-    
-    private static String findDSLConfigName(String content, IResource input) throws CoreException {
-        String dslConfigName = findDSLConfigName( content );
-        if (dslConfigName == null)  {
-	    	// try searching the .package file
-	    	if (input != null && input.getParent() != null) {
-	        	MyResourceVisitor visitor = new MyResourceVisitor();
-	        	input.getParent().accept(visitor, IResource.DEPTH_ONE, IResource.NONE);
-	        	IResource packageDef = visitor.getPackageDef();
-	        	if (packageDef != null) {
-	        		if (packageDef instanceof IFile) {
-	        			IFile file = (IFile) packageDef;
-	        	        try {
-	        	        	String pContent = new String(Util.getResourceContentsAsCharArray(file));
-	        	        	dslConfigName = findDSLConfigName( pContent );
-	        	        } catch (CoreException e) {
-	        	        	DroolsEclipsePlugin.log(e);
-	        	        }
-	        		}
-	        	}
-	        }
-        }
-        return dslConfigName;
-    }
-
-    /** Sniffs out the expander/DSL config name as best it can. */
-    static String findDSLConfigName(String content) {
-        String name = null;
-        Matcher matches = EXPANDER_PATTERN.matcher( content );
-        if (matches.find()) {
-            name = matches.group(1) + ".dsl";
-        }
-        return name;
-    }
-    
-    
-    String getDSLConfigName() {
-        return dslConfigName;
-    }
-    
-    
-    public boolean isValid() {
-        return valid;
-    }
-    
-    
-    public boolean hasConditions() {
-        return conditionProposals.size() > 0;
-    }
-    
-    public boolean hasConsequences() {
-        return consequenceProposals.size() > 0;
-    }
-    
-    public List listConditionItems() {
-        return conditionProposals;
-    }
-    
-    public List listConsequenceItems() {
-        return consequenceProposals;
-    }    
-    
-    public DSLTree getDSLTree() {
-    	return dslTree;
-    }
-    
-    private static class MyResourceVisitor implements IResourceVisitor {
-    	private IResource packageDef;
-		public boolean visit(IResource resource) throws CoreException {
-			if ("package".equals(resource.getFileExtension())) {
-				packageDef = resource;
-			}
-			return true;
-		}
-		public IResource getPackageDef() {
-			return packageDef;
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,222 @@
+package org.drools.eclipse.dsl.editor;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.builder.Util;
+import org.drools.eclipse.editors.completion.DSLTree;
+import org.drools.lang.dsl.DSLMapping;
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingFile;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.runtime.CoreException;
+
+/**
+ * This holds the DSL configuration for an editor instance.
+ * When loading, it will find the DSL file, and load the applicable lists.
+ * 
+ * This provides a link between the editor and the DSL features of the rule language.  
+ * 
+ * It will look for a DSL configuration, as named in the rule file, in the same directory as the rule file.
+ * Failing this, it will search one directory above the rule file. 
+ * Failing that, it will search the root of the project in the workspace.
+ * 
+ * @author Michael Neale
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DSLAdapter {
+
+    private String dslConfigName;
+    private boolean valid = false;
+    private List conditionProposals = new ArrayList();
+    private List consequenceProposals = new ArrayList();
+	private DSLTree dslTree = new DSLTree();
+    
+    //to dig out the expander, without using the parser.
+    private static final Pattern EXPANDER_PATTERN = Pattern.compile( "\\n\\s*expander\\s*(.*)\\.dsl\\s", 
+                                                             Pattern.DOTALL | Pattern.MULTILINE );
+    /**
+     * This will sniff out the DSL config file name from the content.
+     * It will then use the IFile input to search around for the file itself.
+     * TODO: provide an alternative that just loads off a stream (for non IDEs workbenches like jlibrary).
+     * @param content Rule source
+     * @param input File from the FileEditorInput
+     */
+    public DSLAdapter(String content, IFile input) throws CoreException {
+        dslConfigName = findDSLConfigName( content, input );
+        if (dslConfigName == null) {
+        	return;
+        }
+        loadConfig( input );
+    }
+    
+    /** Get a reader to the DSL contents */
+    public static Reader getDSLContent(String ruleSource, IResource input) throws CoreException {
+        String dslFileName = findDSLConfigName( ruleSource, input );
+        if (dslFileName == null) {
+        	return null;
+        }
+        IResource res = findDSLResource( input, dslFileName );
+        if (res instanceof IFile) {
+            IFile dslConf = (IFile) res;
+            if (dslConf.exists()) {
+                return new InputStreamReader(dslConf.getContents());
+            }
+        }
+        return null;
+    }
+
+    /**
+     * This does the hunting around the projec to find the .dsl file.
+     */
+    private void loadConfig(IFile input) {
+        IResource res = findDSLResource( input, dslConfigName );
+        if (res instanceof IFile) {
+            IFile dslConf = (IFile) res;
+            if (dslConf.exists()) {
+                InputStream stream = null; 
+                try {
+                    stream = dslConf.getContents();
+                    readConfig( stream );
+                    valid = true;
+                } catch ( Exception e ) {
+                    throw new IllegalStateException("Unable to open DSL config file. (Exception: " + e.getMessage() + ")");
+                } finally {
+                    closeStream( stream );
+                }
+                
+            }
+        }
+    }
+
+    private static IResource findDSLResource(IResource input, String dslFileName) {
+        IResource res = input.getParent().findMember( dslFileName );
+        if (res == null) res = input.getParent().getParent().findMember( dslFileName ); //try parent directory
+        if (res == null) res = input.getProject().findMember( dslFileName ); //try root of project.
+        return res;
+    }
+
+    
+    /** This will load in the DSL config file, using the DSLMapping from drools-compiler */
+    void readConfig(InputStream stream) throws IOException, CoreException {
+        DSLMappingFile file = new DSLMappingFile();
+        file.parseAndLoad(new InputStreamReader(stream));
+
+        DSLMapping grammar = file.getMapping();
+        List conditions = grammar.getEntries( DSLMappingEntry.CONDITION );
+        List consequences = grammar.getEntries( DSLMappingEntry.CONSEQUENCE );
+        
+        conditionProposals = buildProposals(conditions);
+        consequenceProposals = buildProposals(consequences);
+        
+		dslTree.buildTree(grammar);
+    }
+
+    private List buildProposals(List suggestions) {
+    	List result = new ArrayList(suggestions.size());
+    	Iterator iterator = suggestions.iterator();
+        while (iterator.hasNext()) {
+            DSLMappingEntry text = (DSLMappingEntry) iterator.next();
+            result.add(text.getMappingKey());
+        }
+        return result;
+    }
+
+    private void closeStream(InputStream stream) {
+        if (stream != null) try {
+            stream.close();
+        } catch ( IOException e ) {}
+    }
+
+    DSLAdapter() {
+        
+    }
+    
+    private static String findDSLConfigName(String content, IResource input) throws CoreException {
+        String dslConfigName = findDSLConfigName( content );
+        if (dslConfigName == null)  {
+	    	// try searching the .package file
+	    	if (input != null && input.getParent() != null) {
+	        	MyResourceVisitor visitor = new MyResourceVisitor();
+	        	input.getParent().accept(visitor, IResource.DEPTH_ONE, IResource.NONE);
+	        	IResource packageDef = visitor.getPackageDef();
+	        	if (packageDef != null) {
+	        		if (packageDef instanceof IFile) {
+	        			IFile file = (IFile) packageDef;
+	        	        try {
+	        	        	String pContent = new String(Util.getResourceContentsAsCharArray(file));
+	        	        	dslConfigName = findDSLConfigName( pContent );
+	        	        } catch (CoreException e) {
+	        	        	DroolsEclipsePlugin.log(e);
+	        	        }
+	        		}
+	        	}
+	        }
+        }
+        return dslConfigName;
+    }
+
+    /** Sniffs out the expander/DSL config name as best it can. */
+    static String findDSLConfigName(String content) {
+        String name = null;
+        Matcher matches = EXPANDER_PATTERN.matcher( content );
+        if (matches.find()) {
+            name = matches.group(1) + ".dsl";
+        }
+        return name;
+    }
+    
+    
+    String getDSLConfigName() {
+        return dslConfigName;
+    }
+    
+    
+    public boolean isValid() {
+        return valid;
+    }
+    
+    
+    public boolean hasConditions() {
+        return conditionProposals.size() > 0;
+    }
+    
+    public boolean hasConsequences() {
+        return consequenceProposals.size() > 0;
+    }
+    
+    public List listConditionItems() {
+        return conditionProposals;
+    }
+    
+    public List listConsequenceItems() {
+        return consequenceProposals;
+    }    
+    
+    public DSLTree getDSLTree() {
+    	return dslTree;
+    }
+    
+    private static class MyResourceVisitor implements IResourceVisitor {
+    	private IResource packageDef;
+		public boolean visit(IResource resource) throws CoreException {
+			if ("package".equals(resource.getFileExtension())) {
+				packageDef = resource;
+			}
+			return true;
+		}
+		public IResource getPackageDef() {
+			return packageDef;
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,57 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Content provider for the Domain Specific Language editor.
- * @author Michael Neale
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DSLContentProvider
-    implements
-    IStructuredContentProvider, IMappingListViewer {
-
-    private TableViewer viewer;
-    private NLGrammarModel model;
-    
-    public DSLContentProvider(TableViewer viewer, NLGrammarModel model) {
-        this.viewer = viewer;
-        this.model = model;
-    }
-    
-    public void dispose() {
-        model.removeChangeListener( this );
-    }
-    
-    public void inputChanged(Viewer viewer,
-                             Object oldInput,
-                             Object newInput) {
-        if (newInput != null)
-            ((NLGrammarModel) newInput).addChangeListener(this);
-        if (oldInput != null)
-            ((NLGrammarModel) oldInput).removeChangeListener(this);
-
-    }
-
-    public void addMapping(DSLMappingEntry item) {
-        viewer.add( item );
-        
-    }
-
-    public void removeMapping(DSLMappingEntry item) {
-
-        viewer.remove( item );
-    }
-
-    public void updateMapping(DSLMappingEntry item) {
-        viewer.update( item, null );
-    }
-
-    public Object[] getElements(Object inputElement) {
-        return model.getEntries().toArray();        
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLContentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,57 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+/**
+ * Content provider for the Domain Specific Language editor.
+ * @author Michael Neale
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DSLContentProvider
+    implements
+    IStructuredContentProvider, IMappingListViewer {
+
+    private TableViewer viewer;
+    private NLGrammarModel model;
+    
+    public DSLContentProvider(TableViewer viewer, NLGrammarModel model) {
+        this.viewer = viewer;
+        this.model = model;
+    }
+    
+    public void dispose() {
+        model.removeChangeListener( this );
+    }
+    
+    public void inputChanged(Viewer viewer,
+                             Object oldInput,
+                             Object newInput) {
+        if (newInput != null)
+            ((NLGrammarModel) newInput).addChangeListener(this);
+        if (oldInput != null)
+            ((NLGrammarModel) oldInput).removeChangeListener(this);
+
+    }
+
+    public void addMapping(DSLMappingEntry item) {
+        viewer.add( item );
+        
+    }
+
+    public void removeMapping(DSLMappingEntry item) {
+
+        viewer.remove( item );
+    }
+
+    public void updateMapping(DSLMappingEntry item) {
+        viewer.update( item, null );
+    }
+
+    public Object[] getElements(Object inputElement) {
+        return model.getEntries().toArray();        
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,660 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.builder.IDroolsModelMarker;
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.drools.lang.dsl.DSLMappingFile;
-import org.drools.lang.dsl.DefaultDSLMappingEntry;
-import org.drools.lang.dsl.MappingError;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * This is the tablular DSL configuration editor.
- * @author Michael Neale
- */
-public class DSLEditor extends EditorPart {
-
-    private Table          table;
-    private TableViewer    tableViewer;
-    private NLGrammarModel model;          //this is the model that does all the work (from drools-compiler)
-    private boolean        dirty = false;  //editing or deleting will make it dirty
-    private Text           exprText;       //for language expression
-    private Text           mappingText;    //for target rule expression
-    private Text           descriptionText; //just a comment field
-    private Text           objText;        // for the object name
-    private Combo          sortCombo;      // for the sort field
-
-    public void doSave(IProgressMonitor monitor) {
-
-        FileEditorInput input = (FileEditorInput) getEditorInput();
-        File outputFile = input.getFile().getLocation().toFile();
-        saveFile( monitor,
-                  outputFile,
-                  input );
-
-    }
-
-    private void saveFile(IProgressMonitor monitor,
-                          File outputFile,
-                          FileEditorInput input) {
-        try {
-            validate( input );
-
-            FileWriter writer = new FileWriter( outputFile );
-            DSLMappingFile.saveMapping( writer,
-                                        model );
-
-            makeClean();
-            writer.close();
-            input.getFile().getProject().refreshLocal( IResource.DEPTH_INFINITE,
-                                                       monitor );
-        } catch ( IOException e ) {
-            throw new IllegalStateException( "Unable to save DSL configuration file. (IOException: " + e.getMessage() + ")" );
-        } catch ( CoreException e ) {
-            throw new IllegalStateException( "Unable to resync workbench after DSL save. (CoreException: " + e.getMessage() + ")" );
-        }
-    }
-
-    private void validate(FileEditorInput input) {
-        removeProblemsFor( input.getFile() );
-        List errs = new ArrayList();
-        for ( Iterator iter = model.getEntries().iterator(); iter.hasNext(); ) {
-            DSLMappingEntry item = (DSLMappingEntry) iter.next();
-            errs.addAll( item.getErrors() );
-        }
-        if ( errs.size() > 0 ) {
-            for ( Iterator iter = errs.iterator(); iter.hasNext(); ) {
-                MappingError mapEr = (MappingError) iter.next();
-                createMarker( input.getFile(),
-                              mapEr.getMessage() + "  From [" + mapEr.getTemplateText() + "]",
-                              -1 );
-            }
-        }
-    }
-
-    private void createMarker(final IResource res,
-                              final String message,
-                              final int lineNumber) {
-        try {
-            IWorkspaceRunnable r = new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    IMarker marker = res.createMarker( IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER );
-                    marker.setAttribute( IMarker.MESSAGE,
-                                         message );
-                    marker.setAttribute( IMarker.SEVERITY,
-                                         IMarker.SEVERITY_WARNING );
-                    marker.setAttribute( IMarker.LINE_NUMBER,
-                                         lineNumber );
-                }
-            };
-            res.getWorkspace().run( r,
-                                    null,
-                                    IWorkspace.AVOID_UPDATE,
-                                    null );
-        } catch ( CoreException e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-    }
-
-    private void removeProblemsFor(IResource resource) {
-        try {
-            if ( resource != null && resource.exists() ) {
-                resource.deleteMarkers( IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER,
-                                        false,
-                                        IResource.DEPTH_INFINITE );
-            }
-        } catch ( CoreException e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-    }
-
-    void makeClean() {
-        this.dirty = false;
-        firePropertyChange( PROP_DIRTY );
-
-    }
-
-    public void doSaveAs() {
-        // TODO Implement this.
-    }
-
-    public void init(IEditorSite site,
-                     IEditorInput editorInput) throws PartInitException {
-        FileEditorInput input = (FileEditorInput) editorInput;
-        setSite( site );
-        setInput( editorInput );
-        setVisibleName( input );
-
-        try {
-            InputStream stream = input.getFile().getContents();
-            model = new NLGrammarModel();
-            DSLMappingFile file = new DSLMappingFile();
-            file.parseAndLoad( new InputStreamReader( stream ) );
-            model.addEntries( file.getMapping().getEntries() );
-            stream.close();
-
-        } catch ( CoreException e ) {
-            throw new IllegalStateException( "Unable to load DSL configuration file. (CoreException: " + e.getMessage() + ")" );
-        } catch ( IOException e ) {
-            throw new IllegalStateException( "Unabel to close stream fo DSL config file. (IOException: " + e.getMessage() + ")" );
-        }
-
-    }
-
-    private void setVisibleName(FileEditorInput input) {
-        setPartName( input.getFile().getName() );
-        setContentDescription( "Editing Domain specific language: [" + input.getFile().getFullPath().toString() + "]" );
-    }
-
-    public boolean isDirty() {
-        return dirty;
-    }
-
-    /**
-     * Sets the dirty flag, and notifies the workbench.
-     */
-    void makeDirty() {
-        dirty = true;
-        firePropertyChange( PROP_DIRTY );
-    }
-
-    /**
-     * The method sorts th e
-     *
-     */
-    public void sortModel() {
-        if ( sortCombo.getSelectionIndex() == DSLMappingSorter.EXPRESSION ) {
-            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.EXPRESSION ) );
-        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.OBJECT ) {
-            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.OBJECT ) );
-        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.SCOPE ) {
-            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.SCOPE ) );
-        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.MAPPING ) {
-            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.MAPPING ) );
-        }
-    }
-
-    public boolean isSaveAsAllowed() {
-        // TODO implement SaveAs
-        return false;
-    }
-
-    public void createPartControl(Composite parent) {
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_BOTH );
-        parent.setLayoutData( gridData );
-
-        // Set numColumns to 3 in the overall grid
-        GridLayout layout = new GridLayout( 3,
-                                            false );
-        layout.marginWidth = 4;
-        parent.setLayout( layout );
-
-        //create the overall desc field (comments).
-        createDescriptionField( parent );
-
-        // create the table
-        createTable( parent );
-
-        // Create and setup the TableViewer
-        createTableViewer();
-
-        //set up the table "binding" with the model
-        tableViewer.setContentProvider( new DSLContentProvider( tableViewer,
-                                                                model ) );
-        tableViewer.setLabelProvider( new DSLLabelProvider() );
-        refreshModel();
-
-        //setup the fields below the table
-        createExpressionViewField( parent );
-        createEditButton( parent );
-        createMappingViewField( parent );
-        createDeleteButton( parent );
-        createObjectViewField( parent );
-        createAddButton( parent );
-        createSortField( parent );
-        createSortButton( parent );
-        createCopyButton( parent );
-
-        //listeners on the table...
-        createTableListeners();
-
-    }
-
-    /**
-     * Setup table listeners for GUI events.
-     */
-    private void createTableListeners() {
-
-        //setup views into current selected
-        table.addSelectionListener( new SelectionListener() {
-
-            public void widgetSelected(SelectionEvent e) {
-                populate();
-            }
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-                populate();
-            }
-
-            private void populate() {
-                DSLMappingEntry selected = getCurrentSelected();
-                exprText.setText( selected.getMappingKey() );
-                mappingText.setText( selected.getMappingValue() );
-                objText.setText( selected.getMetaData().getMetaData() == null ? "" : selected.getMetaData().getMetaData() );
-            }
-
-        } );
-
-        //double click support
-        table.addMouseListener( new MouseListener() {
-
-            public void mouseDoubleClick(MouseEvent e) {
-                showEditPopup();
-            }
-
-            public void mouseDown(MouseEvent e) {
-            }
-
-            public void mouseUp(MouseEvent e) {
-            }
-
-        } );
-
-    }
-
-    private void createDescriptionField(Composite parent) {
-        Label descLbl = new Label( parent,
-                                   SWT.NONE );
-        descLbl.setText( "Description:" );
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        descLbl.setLayoutData( gridData );
-
-        descriptionText = new Text( parent,
-                                    SWT.BORDER );
-        descriptionText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-        descriptionText.setText( model.getDescription() == null ? "" : model.getDescription() );
-        descriptionText.addModifyListener( new ModifyListener() {
-
-            public void modifyText(ModifyEvent e) {
-                String text = descriptionText.getText();
-                if ( !text.equals( model.getDescription() ) ) {
-                    model.setDescription( text );
-                    makeDirty();
-                }
-            }
-
-        } );
-    }
-
-    private void createMappingViewField(Composite parent) {
-        Label mapping = new Label( parent,
-                                   SWT.NONE );
-        mapping.setText( "Mapping:" );
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        mapping.setLayoutData( gridData );
-
-        mappingText = new Text( parent,
-                                SWT.BORDER );
-        mappingText.setEditable( false );
-
-        mappingText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-    }
-
-    private void createExpressionViewField(Composite parent) {
-
-        Label expr = new Label( parent,
-                                SWT.NONE );
-        expr.setText( "Expression:" );
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        expr.setLayoutData( gridData );
-
-        exprText = new Text( parent,
-                             SWT.BORDER );
-        exprText.setEditable( false );
-        gridData = new GridData( GridData.FILL_HORIZONTAL );
-
-        exprText.setLayoutData( gridData );
-
-    }
-
-    private void createObjectViewField(Composite parent) {
-
-        Label obj = new Label( parent,
-                               SWT.NONE );
-        obj.setText( "Object:" );
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        obj.setLayoutData( gridData );
-
-        objText = new Text( parent,
-                            SWT.BORDER );
-        objText.setEditable( false );
-        gridData = new GridData( GridData.FILL_HORIZONTAL );
-
-        objText.setLayoutData( gridData );
-
-    }
-
-    private void createSortField(Composite parent) {
-        Label sort = new Label( parent,
-                                SWT.NONE );
-        sort.setText( "Sort by:" );
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        sort.setLayoutData( gridData );
-
-        sortCombo = new Combo( parent,
-                               SWT.READ_ONLY );
-        sortCombo.add( "Object",
-                       DSLMappingSorter.OBJECT );
-        sortCombo.add( "Language Expression",
-                       DSLMappingSorter.EXPRESSION );
-        sortCombo.add( "Rule Language Mapping",
-                       DSLMappingSorter.MAPPING );
-        sortCombo.add( "Scope",
-                       DSLMappingSorter.SCOPE );
-        gridData = new GridData( GridData.FILL_HORIZONTAL );
-
-        sortCombo.setLayoutData( gridData );
-    }
-
-    /** Refreshes the table do make sure it is up to date with the model. */
-    private void refreshModel() {
-        tableViewer.setInput( model );
-    }
-
-    private void createEditButton(Composite parent) {
-        // Create and configure the "Add" button
-        Button add = new Button( parent,
-                                 SWT.PUSH | SWT.CENTER );
-        add.setText( "Edit" );
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        add.setLayoutData( gridData );
-
-        add.addSelectionListener( new SelectionAdapter() {
-
-            // Add a task to the ExampleTaskList and refresh the view
-            public void widgetSelected(SelectionEvent e) {
-                showEditPopup();
-            }
-
-        } );
-    }
-
-    private void showEditPopup() {
-    	DSLMappingEntry selected = getCurrentSelected();
-    	if (selected != null) {
-	        MappingEditor editor = new MappingEditor( getSite().getShell() );
-	        editor.create();
-	        editor.getShell().setText( "Edit language mapping" );
-	        editor.setTitle( "Edit an existing language mapping item." );
-	        editor.setTitleImage( getTitleImage() );
-	
-	        editor.setNLMappingItem( selected );
-	
-	        editor.open();
-	        if ( !editor.isCancelled() ) {
-	            refreshModel();
-	            makeDirty();
-	        }
-    	}
-    }
-
-    private void createDeleteButton(Composite parent) {
-        // Create and configure the "Add" button
-        Button add = new Button( parent,
-                                 SWT.PUSH | SWT.CENTER );
-        add.setText( "Remove" );
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        add.setLayoutData( gridData );
-        add.addSelectionListener( new SelectionAdapter() {
-            // Add a task to the ExampleTaskList and refresh the view
-            public void widgetSelected(SelectionEvent e) {
-                model.removeEntry( getCurrentSelected() );
-                refreshModel();
-                makeDirty();
-                exprText.setText( "" );
-                mappingText.setText( "" );
-                objText.setText( "" );
-            }
-        } );
-    }
-
-    private void createSortButton(Composite parent) {
-        // Create and configure the "Add" button
-        Button sort = new Button( parent,
-                                  SWT.PUSH | SWT.CENTER );
-        sort.setText( "Sort" );
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        sort.setLayoutData( gridData );
-        sort.addSelectionListener( new SelectionAdapter() {
-            // Add a task to the ExampleTaskList and refresh the view
-            public void widgetSelected(SelectionEvent e) {
-                sortModel();
-                refreshModel();
-                makeDirty();
-            }
-
-        } );
-    }
-
-    /**
-     * Return the selected item from the table grid thingy.
-     */
-    private DSLMappingEntry getCurrentSelected() {
-        return (DSLMappingEntry) ((IStructuredSelection) tableViewer.getSelection()).getFirstElement();
-    }
-
-    private void createAddButton(Composite parent) {
-        // Create and configure the "Add" button
-        Button add = new Button( parent,
-                                 SWT.PUSH | SWT.CENTER );
-        add.setText( "Add" );
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        add.setLayoutData( gridData );
-
-        add.addSelectionListener( new SelectionAdapter() {
-
-            // Add an item, should pop up the editor
-            public void widgetSelected(SelectionEvent e) {
-
-                DSLMappingEntry newItem = new DefaultDSLMappingEntry();
-
-                MappingEditor editor = new MappingEditor( getSite().getShell() );//shell);
-                editor.create();
-                editor.getShell().setText( "New language mapping" );
-                editor.setTitle( "Create a new language element mapping." );
-                editor.setTitleImage( getTitleImage() );
-
-                editor.setNLMappingItem( newItem );
-
-                editor.open();
-                if ( !editor.isCancelled() ) {
-                    model.addEntry( newItem );
-                    refreshModel();
-                    makeDirty();
-                }
-
-            }
-        } );
-    }
-
-    private void createCopyButton(Composite parent) {
-        // Create and configure the "Add" button
-        Button copy = new Button( parent,
-                                  SWT.PUSH | SWT.CENTER );
-        copy.setText( "Copy" );
-
-        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
-        gridData.widthHint = 80;
-        copy.setLayoutData( gridData );
-
-        copy.addSelectionListener( new SelectionAdapter() {
-
-            // Add an item, should pop up the editor
-            public void widgetSelected(SelectionEvent e) {
-
-                DSLMappingEntry curr = getCurrentSelected();
-                if (curr != null) {
-	                DSLMappingEntry newItem = new DefaultDSLMappingEntry( curr.getSection(),
-	                                                                      curr.getMetaData(),
-	                                                                      curr.getMappingKey(),
-	                                                                      curr.getMappingValue() );
-	
-	                MappingEditor editor = new MappingEditor( getSite().getShell() );//shell);
-	                editor.create();
-	                editor.getShell().setText( "New language mapping" );
-	                editor.setTitle( "Create a new language element mapping from a copy." );
-	                editor.setTitleImage( getTitleImage() );
-	
-	                editor.setNLMappingItem( newItem );
-	
-	                editor.open();
-	                if ( !editor.isCancelled() ) {
-	                    model.addEntry( newItem );
-	                    refreshModel();
-	                    makeDirty();
-	                }
-                }
-            }
-        } );
-    }
-
-    /**
-     * Create the viewer.
-     */
-    private void createTableViewer() {
-        tableViewer = new TableViewer( table );
-        tableViewer.setUseHashlookup( true );
-        //following is if we want default sorting... my thought is no...
-    }
-
-    /**
-     * Create the Table
-     */
-    private void createTable(Composite parent) {
-        int style = SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
-
-        table = new Table( parent,
-                           style );
-
-        GridData gridData = new GridData( GridData.FILL_BOTH );
-        gridData.grabExcessVerticalSpace = true;
-        gridData.horizontalSpan = 3;
-        table.setLayoutData( gridData );
-
-        table.setLinesVisible( true );
-        table.setHeaderVisible( true );
-
-        TableColumn column;
-
-        //Expression col
-        column = new TableColumn( table,
-                                  SWT.LEFT,
-                                  0 );
-        column.setText( "Language Expression" );
-        column.setWidth( 350 );
-        // Add listener to column so sorted when clicked 
-        column.addSelectionListener( new SelectionAdapter() {
-
-            public void widgetSelected(SelectionEvent e) {
-                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.EXPRESSION ) );
-            }
-        } );
-
-        // 3rd column with task Owner
-        column = new TableColumn( table,
-                                  SWT.LEFT,
-                                  1 );
-        column.setText( "Rule Language Mapping" );
-        column.setWidth( 200 );
-        // Add listener to column so sorted when clicked
-        column.addSelectionListener( new SelectionAdapter() {
-
-            public void widgetSelected(SelectionEvent e) {
-                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.MAPPING ) );
-            }
-        } );
-
-        // 4th column with task PercentComplete 
-        column = new TableColumn( table,
-                                  SWT.LEFT,
-                                  2 );
-        column.setText( "Object" );
-        column.setWidth( 80 );
-
-        // 5th column with task PercentComplete 
-        column = new TableColumn( table,
-                                  SWT.LEFT,
-                                  3 );
-        column.setText( "Scope" );
-        column.setWidth( 80 );
-
-        //  Add listener to column so tasks are sorted when clicked
-        column.addSelectionListener( new SelectionAdapter() {
-
-            public void widgetSelected(SelectionEvent e) {
-                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.SCOPE ) );
-            }
-        } );
-
-    }
-
-    public void setFocus() {
-    }
-
-    public void dispose() {
-        super.dispose();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,660 @@
+package org.drools.eclipse.dsl.editor;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.builder.IDroolsModelMarker;
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingFile;
+import org.drools.lang.dsl.DefaultDSLMappingEntry;
+import org.drools.lang.dsl.MappingError;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.part.EditorPart;
+import org.eclipse.ui.part.FileEditorInput;
+
+/**
+ * This is the tablular DSL configuration editor.
+ * @author Michael Neale
+ */
+public class DSLEditor extends EditorPart {
+
+    private Table          table;
+    private TableViewer    tableViewer;
+    private NLGrammarModel model;          //this is the model that does all the work (from drools-compiler)
+    private boolean        dirty = false;  //editing or deleting will make it dirty
+    private Text           exprText;       //for language expression
+    private Text           mappingText;    //for target rule expression
+    private Text           descriptionText; //just a comment field
+    private Text           objText;        // for the object name
+    private Combo          sortCombo;      // for the sort field
+
+    public void doSave(IProgressMonitor monitor) {
+
+        FileEditorInput input = (FileEditorInput) getEditorInput();
+        File outputFile = input.getFile().getLocation().toFile();
+        saveFile( monitor,
+                  outputFile,
+                  input );
+
+    }
+
+    private void saveFile(IProgressMonitor monitor,
+                          File outputFile,
+                          FileEditorInput input) {
+        try {
+            validate( input );
+
+            FileWriter writer = new FileWriter( outputFile );
+            DSLMappingFile.saveMapping( writer,
+                                        model );
+
+            makeClean();
+            writer.close();
+            input.getFile().getProject().refreshLocal( IResource.DEPTH_INFINITE,
+                                                       monitor );
+        } catch ( IOException e ) {
+            throw new IllegalStateException( "Unable to save DSL configuration file. (IOException: " + e.getMessage() + ")" );
+        } catch ( CoreException e ) {
+            throw new IllegalStateException( "Unable to resync workbench after DSL save. (CoreException: " + e.getMessage() + ")" );
+        }
+    }
+
+    private void validate(FileEditorInput input) {
+        removeProblemsFor( input.getFile() );
+        List errs = new ArrayList();
+        for ( Iterator iter = model.getEntries().iterator(); iter.hasNext(); ) {
+            DSLMappingEntry item = (DSLMappingEntry) iter.next();
+            errs.addAll( item.getErrors() );
+        }
+        if ( errs.size() > 0 ) {
+            for ( Iterator iter = errs.iterator(); iter.hasNext(); ) {
+                MappingError mapEr = (MappingError) iter.next();
+                createMarker( input.getFile(),
+                              mapEr.getMessage() + "  From [" + mapEr.getTemplateText() + "]",
+                              -1 );
+            }
+        }
+    }
+
+    private void createMarker(final IResource res,
+                              final String message,
+                              final int lineNumber) {
+        try {
+            IWorkspaceRunnable r = new IWorkspaceRunnable() {
+                public void run(IProgressMonitor monitor) throws CoreException {
+                    IMarker marker = res.createMarker( IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER );
+                    marker.setAttribute( IMarker.MESSAGE,
+                                         message );
+                    marker.setAttribute( IMarker.SEVERITY,
+                                         IMarker.SEVERITY_WARNING );
+                    marker.setAttribute( IMarker.LINE_NUMBER,
+                                         lineNumber );
+                }
+            };
+            res.getWorkspace().run( r,
+                                    null,
+                                    IWorkspace.AVOID_UPDATE,
+                                    null );
+        } catch ( CoreException e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+    }
+
+    private void removeProblemsFor(IResource resource) {
+        try {
+            if ( resource != null && resource.exists() ) {
+                resource.deleteMarkers( IDroolsModelMarker.DROOLS_MODEL_PROBLEM_MARKER,
+                                        false,
+                                        IResource.DEPTH_INFINITE );
+            }
+        } catch ( CoreException e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+    }
+
+    void makeClean() {
+        this.dirty = false;
+        firePropertyChange( PROP_DIRTY );
+
+    }
+
+    public void doSaveAs() {
+        // TODO Implement this.
+    }
+
+    public void init(IEditorSite site,
+                     IEditorInput editorInput) throws PartInitException {
+        FileEditorInput input = (FileEditorInput) editorInput;
+        setSite( site );
+        setInput( editorInput );
+        setVisibleName( input );
+
+        try {
+            InputStream stream = input.getFile().getContents();
+            model = new NLGrammarModel();
+            DSLMappingFile file = new DSLMappingFile();
+            file.parseAndLoad( new InputStreamReader( stream ) );
+            model.addEntries( file.getMapping().getEntries() );
+            stream.close();
+
+        } catch ( CoreException e ) {
+            throw new IllegalStateException( "Unable to load DSL configuration file. (CoreException: " + e.getMessage() + ")" );
+        } catch ( IOException e ) {
+            throw new IllegalStateException( "Unabel to close stream fo DSL config file. (IOException: " + e.getMessage() + ")" );
+        }
+
+    }
+
+    private void setVisibleName(FileEditorInput input) {
+        setPartName( input.getFile().getName() );
+        setContentDescription( "Editing Domain specific language: [" + input.getFile().getFullPath().toString() + "]" );
+    }
+
+    public boolean isDirty() {
+        return dirty;
+    }
+
+    /**
+     * Sets the dirty flag, and notifies the workbench.
+     */
+    void makeDirty() {
+        dirty = true;
+        firePropertyChange( PROP_DIRTY );
+    }
+
+    /**
+     * The method sorts th e
+     *
+     */
+    public void sortModel() {
+        if ( sortCombo.getSelectionIndex() == DSLMappingSorter.EXPRESSION ) {
+            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.EXPRESSION ) );
+        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.OBJECT ) {
+            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.OBJECT ) );
+        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.SCOPE ) {
+            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.SCOPE ) );
+        } else if ( sortCombo.getSelectionIndex() == DSLMappingSorter.MAPPING ) {
+            tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.MAPPING ) );
+        }
+    }
+
+    public boolean isSaveAsAllowed() {
+        // TODO implement SaveAs
+        return false;
+    }
+
+    public void createPartControl(Composite parent) {
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_BOTH );
+        parent.setLayoutData( gridData );
+
+        // Set numColumns to 3 in the overall grid
+        GridLayout layout = new GridLayout( 3,
+                                            false );
+        layout.marginWidth = 4;
+        parent.setLayout( layout );
+
+        //create the overall desc field (comments).
+        createDescriptionField( parent );
+
+        // create the table
+        createTable( parent );
+
+        // Create and setup the TableViewer
+        createTableViewer();
+
+        //set up the table "binding" with the model
+        tableViewer.setContentProvider( new DSLContentProvider( tableViewer,
+                                                                model ) );
+        tableViewer.setLabelProvider( new DSLLabelProvider() );
+        refreshModel();
+
+        //setup the fields below the table
+        createExpressionViewField( parent );
+        createEditButton( parent );
+        createMappingViewField( parent );
+        createDeleteButton( parent );
+        createObjectViewField( parent );
+        createAddButton( parent );
+        createSortField( parent );
+        createSortButton( parent );
+        createCopyButton( parent );
+
+        //listeners on the table...
+        createTableListeners();
+
+    }
+
+    /**
+     * Setup table listeners for GUI events.
+     */
+    private void createTableListeners() {
+
+        //setup views into current selected
+        table.addSelectionListener( new SelectionListener() {
+
+            public void widgetSelected(SelectionEvent e) {
+                populate();
+            }
+
+            public void widgetDefaultSelected(SelectionEvent e) {
+                populate();
+            }
+
+            private void populate() {
+                DSLMappingEntry selected = getCurrentSelected();
+                exprText.setText( selected.getMappingKey() );
+                mappingText.setText( selected.getMappingValue() );
+                objText.setText( selected.getMetaData().getMetaData() == null ? "" : selected.getMetaData().getMetaData() );
+            }
+
+        } );
+
+        //double click support
+        table.addMouseListener( new MouseListener() {
+
+            public void mouseDoubleClick(MouseEvent e) {
+                showEditPopup();
+            }
+
+            public void mouseDown(MouseEvent e) {
+            }
+
+            public void mouseUp(MouseEvent e) {
+            }
+
+        } );
+
+    }
+
+    private void createDescriptionField(Composite parent) {
+        Label descLbl = new Label( parent,
+                                   SWT.NONE );
+        descLbl.setText( "Description:" );
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        descLbl.setLayoutData( gridData );
+
+        descriptionText = new Text( parent,
+                                    SWT.BORDER );
+        descriptionText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
+        descriptionText.setText( model.getDescription() == null ? "" : model.getDescription() );
+        descriptionText.addModifyListener( new ModifyListener() {
+
+            public void modifyText(ModifyEvent e) {
+                String text = descriptionText.getText();
+                if ( !text.equals( model.getDescription() ) ) {
+                    model.setDescription( text );
+                    makeDirty();
+                }
+            }
+
+        } );
+    }
+
+    private void createMappingViewField(Composite parent) {
+        Label mapping = new Label( parent,
+                                   SWT.NONE );
+        mapping.setText( "Mapping:" );
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        mapping.setLayoutData( gridData );
+
+        mappingText = new Text( parent,
+                                SWT.BORDER );
+        mappingText.setEditable( false );
+
+        mappingText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
+    }
+
+    private void createExpressionViewField(Composite parent) {
+
+        Label expr = new Label( parent,
+                                SWT.NONE );
+        expr.setText( "Expression:" );
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        expr.setLayoutData( gridData );
+
+        exprText = new Text( parent,
+                             SWT.BORDER );
+        exprText.setEditable( false );
+        gridData = new GridData( GridData.FILL_HORIZONTAL );
+
+        exprText.setLayoutData( gridData );
+
+    }
+
+    private void createObjectViewField(Composite parent) {
+
+        Label obj = new Label( parent,
+                               SWT.NONE );
+        obj.setText( "Object:" );
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        obj.setLayoutData( gridData );
+
+        objText = new Text( parent,
+                            SWT.BORDER );
+        objText.setEditable( false );
+        gridData = new GridData( GridData.FILL_HORIZONTAL );
+
+        objText.setLayoutData( gridData );
+
+    }
+
+    private void createSortField(Composite parent) {
+        Label sort = new Label( parent,
+                                SWT.NONE );
+        sort.setText( "Sort by:" );
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        sort.setLayoutData( gridData );
+
+        sortCombo = new Combo( parent,
+                               SWT.READ_ONLY );
+        sortCombo.add( "Object",
+                       DSLMappingSorter.OBJECT );
+        sortCombo.add( "Language Expression",
+                       DSLMappingSorter.EXPRESSION );
+        sortCombo.add( "Rule Language Mapping",
+                       DSLMappingSorter.MAPPING );
+        sortCombo.add( "Scope",
+                       DSLMappingSorter.SCOPE );
+        gridData = new GridData( GridData.FILL_HORIZONTAL );
+
+        sortCombo.setLayoutData( gridData );
+    }
+
+    /** Refreshes the table do make sure it is up to date with the model. */
+    private void refreshModel() {
+        tableViewer.setInput( model );
+    }
+
+    private void createEditButton(Composite parent) {
+        // Create and configure the "Add" button
+        Button add = new Button( parent,
+                                 SWT.PUSH | SWT.CENTER );
+        add.setText( "Edit" );
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        add.setLayoutData( gridData );
+
+        add.addSelectionListener( new SelectionAdapter() {
+
+            // Add a task to the ExampleTaskList and refresh the view
+            public void widgetSelected(SelectionEvent e) {
+                showEditPopup();
+            }
+
+        } );
+    }
+
+    private void showEditPopup() {
+    	DSLMappingEntry selected = getCurrentSelected();
+    	if (selected != null) {
+	        MappingEditor editor = new MappingEditor( getSite().getShell() );
+	        editor.create();
+	        editor.getShell().setText( "Edit language mapping" );
+	        editor.setTitle( "Edit an existing language mapping item." );
+	        editor.setTitleImage( getTitleImage() );
+	
+	        editor.setNLMappingItem( selected );
+	
+	        editor.open();
+	        if ( !editor.isCancelled() ) {
+	            refreshModel();
+	            makeDirty();
+	        }
+    	}
+    }
+
+    private void createDeleteButton(Composite parent) {
+        // Create and configure the "Add" button
+        Button add = new Button( parent,
+                                 SWT.PUSH | SWT.CENTER );
+        add.setText( "Remove" );
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        add.setLayoutData( gridData );
+        add.addSelectionListener( new SelectionAdapter() {
+            // Add a task to the ExampleTaskList and refresh the view
+            public void widgetSelected(SelectionEvent e) {
+                model.removeEntry( getCurrentSelected() );
+                refreshModel();
+                makeDirty();
+                exprText.setText( "" );
+                mappingText.setText( "" );
+                objText.setText( "" );
+            }
+        } );
+    }
+
+    private void createSortButton(Composite parent) {
+        // Create and configure the "Add" button
+        Button sort = new Button( parent,
+                                  SWT.PUSH | SWT.CENTER );
+        sort.setText( "Sort" );
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        sort.setLayoutData( gridData );
+        sort.addSelectionListener( new SelectionAdapter() {
+            // Add a task to the ExampleTaskList and refresh the view
+            public void widgetSelected(SelectionEvent e) {
+                sortModel();
+                refreshModel();
+                makeDirty();
+            }
+
+        } );
+    }
+
+    /**
+     * Return the selected item from the table grid thingy.
+     */
+    private DSLMappingEntry getCurrentSelected() {
+        return (DSLMappingEntry) ((IStructuredSelection) tableViewer.getSelection()).getFirstElement();
+    }
+
+    private void createAddButton(Composite parent) {
+        // Create and configure the "Add" button
+        Button add = new Button( parent,
+                                 SWT.PUSH | SWT.CENTER );
+        add.setText( "Add" );
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        add.setLayoutData( gridData );
+
+        add.addSelectionListener( new SelectionAdapter() {
+
+            // Add an item, should pop up the editor
+            public void widgetSelected(SelectionEvent e) {
+
+                DSLMappingEntry newItem = new DefaultDSLMappingEntry();
+
+                MappingEditor editor = new MappingEditor( getSite().getShell() );//shell);
+                editor.create();
+                editor.getShell().setText( "New language mapping" );
+                editor.setTitle( "Create a new language element mapping." );
+                editor.setTitleImage( getTitleImage() );
+
+                editor.setNLMappingItem( newItem );
+
+                editor.open();
+                if ( !editor.isCancelled() ) {
+                    model.addEntry( newItem );
+                    refreshModel();
+                    makeDirty();
+                }
+
+            }
+        } );
+    }
+
+    private void createCopyButton(Composite parent) {
+        // Create and configure the "Add" button
+        Button copy = new Button( parent,
+                                  SWT.PUSH | SWT.CENTER );
+        copy.setText( "Copy" );
+
+        GridData gridData = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING );
+        gridData.widthHint = 80;
+        copy.setLayoutData( gridData );
+
+        copy.addSelectionListener( new SelectionAdapter() {
+
+            // Add an item, should pop up the editor
+            public void widgetSelected(SelectionEvent e) {
+
+                DSLMappingEntry curr = getCurrentSelected();
+                if (curr != null) {
+	                DSLMappingEntry newItem = new DefaultDSLMappingEntry( curr.getSection(),
+	                                                                      curr.getMetaData(),
+	                                                                      curr.getMappingKey(),
+	                                                                      curr.getMappingValue() );
+	
+	                MappingEditor editor = new MappingEditor( getSite().getShell() );//shell);
+	                editor.create();
+	                editor.getShell().setText( "New language mapping" );
+	                editor.setTitle( "Create a new language element mapping from a copy." );
+	                editor.setTitleImage( getTitleImage() );
+	
+	                editor.setNLMappingItem( newItem );
+	
+	                editor.open();
+	                if ( !editor.isCancelled() ) {
+	                    model.addEntry( newItem );
+	                    refreshModel();
+	                    makeDirty();
+	                }
+                }
+            }
+        } );
+    }
+
+    /**
+     * Create the viewer.
+     */
+    private void createTableViewer() {
+        tableViewer = new TableViewer( table );
+        tableViewer.setUseHashlookup( true );
+        //following is if we want default sorting... my thought is no...
+    }
+
+    /**
+     * Create the Table
+     */
+    private void createTable(Composite parent) {
+        int style = SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
+
+        table = new Table( parent,
+                           style );
+
+        GridData gridData = new GridData( GridData.FILL_BOTH );
+        gridData.grabExcessVerticalSpace = true;
+        gridData.horizontalSpan = 3;
+        table.setLayoutData( gridData );
+
+        table.setLinesVisible( true );
+        table.setHeaderVisible( true );
+
+        TableColumn column;
+
+        //Expression col
+        column = new TableColumn( table,
+                                  SWT.LEFT,
+                                  0 );
+        column.setText( "Language Expression" );
+        column.setWidth( 350 );
+        // Add listener to column so sorted when clicked 
+        column.addSelectionListener( new SelectionAdapter() {
+
+            public void widgetSelected(SelectionEvent e) {
+                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.EXPRESSION ) );
+            }
+        } );
+
+        // 3rd column with task Owner
+        column = new TableColumn( table,
+                                  SWT.LEFT,
+                                  1 );
+        column.setText( "Rule Language Mapping" );
+        column.setWidth( 200 );
+        // Add listener to column so sorted when clicked
+        column.addSelectionListener( new SelectionAdapter() {
+
+            public void widgetSelected(SelectionEvent e) {
+                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.MAPPING ) );
+            }
+        } );
+
+        // 4th column with task PercentComplete 
+        column = new TableColumn( table,
+                                  SWT.LEFT,
+                                  2 );
+        column.setText( "Object" );
+        column.setWidth( 80 );
+
+        // 5th column with task PercentComplete 
+        column = new TableColumn( table,
+                                  SWT.LEFT,
+                                  3 );
+        column.setText( "Scope" );
+        column.setWidth( 80 );
+
+        //  Add listener to column so tasks are sorted when clicked
+        column.addSelectionListener( new SelectionAdapter() {
+
+            public void widgetSelected(SelectionEvent e) {
+                tableViewer.setSorter( new DSLMappingSorter( DSLMappingSorter.SCOPE ) );
+            }
+        } );
+
+    }
+
+    public void setFocus() {
+    }
+
+    public void dispose() {
+        super.dispose();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,46 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Provides visible part of the DSL editor table.
- * 
- * @author Michael Neale
- *
- */
-public class DSLLabelProvider extends LabelProvider
-    implements
-    ITableLabelProvider {
-
-    public Image getColumnImage(Object element,
-                                int columnIndex) {
-        return null;
-    }
-
-    public String getColumnText(Object element,
-                                int columnIndex) {
-        String result = "";
-        DSLMappingEntry item = (DSLMappingEntry) element;
-        switch (columnIndex) {
-            case 0:  
-                result = item.getMappingKey();
-                break;
-            case 1 :
-                result = item.getMappingValue();
-                break;
-            case 2 :
-            	result = item.getMetaData().getMetaData();
-            	break;
-            case 3 :
-                result = item.getSection().getSymbol();
-                break;
-            default :
-                break;  
-        }
-        return result;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLLabelProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,46 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * Provides visible part of the DSL editor table.
+ * 
+ * @author Michael Neale
+ *
+ */
+public class DSLLabelProvider extends LabelProvider
+    implements
+    ITableLabelProvider {
+
+    public Image getColumnImage(Object element,
+                                int columnIndex) {
+        return null;
+    }
+
+    public String getColumnText(Object element,
+                                int columnIndex) {
+        String result = "";
+        DSLMappingEntry item = (DSLMappingEntry) element;
+        switch (columnIndex) {
+            case 0:  
+                result = item.getMappingKey();
+                break;
+            case 1 :
+                result = item.getMappingValue();
+                break;
+            case 2 :
+            	result = item.getMetaData().getMetaData();
+            	break;
+            case 3 :
+                result = item.getSection().getSymbol();
+                break;
+            default :
+                break;  
+        }
+        return result;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,82 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/** 
- * Provides sorting for the natural language table viewer.
- * @author Michael Neale
- */
-public class DSLMappingSorter extends ViewerSorter {
-
-	public final static int OBJECT = 0;
-	public final static int EXPRESSION = 1;
-	public final static int MAPPING = 2;
-	public final static int SCOPE = 3;
-
-	// Criteria that the instance uses 
-	private int criteria;
-
-	/**
-	 * Creates a resource sorter that will use the given sort criteria.
-	 *
-	 * @param criteria the sort criterion to use: one of <code>NAME</code> or 
-	 *   <code>TYPE</code>
-	 */
-	public DSLMappingSorter(int criteria) {
-		super();
-		this.criteria = criteria;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on ViewerSorter.
-	 */
-	public int compare(Viewer viewer, Object o1, Object o2) {
-
-        DSLMappingEntry item1 = (DSLMappingEntry) o1;
-        DSLMappingEntry item2 = (DSLMappingEntry) o2;
-
-		switch (criteria) {
-			case OBJECT:
-				return compareObject(item1, item2);
-			case EXPRESSION :
-				return compareExpressions(item1, item2);
-			case MAPPING :
-				return compareMappings(item1, item2);
-			case SCOPE :
-				return compareScope(item1, item2);
-			default:
-				return 0;
-		}
-	}
-
-	
-
-	private int compareScope(DSLMappingEntry item1,
-                             DSLMappingEntry item2) {
-        return item1.getSection().compareTo( item2.getSection() );
-    }
-
-    private int compareMappings(DSLMappingEntry item1,
-                                DSLMappingEntry item2) {
-        return item1.getMappingValue().compareTo( item2.getMappingValue() );
-    }
-
-    private int compareExpressions(DSLMappingEntry item1,
-                                   DSLMappingEntry item2) {
-        return item1.getMappingKey().compareTo( item2.getMappingKey() );
-    }
-
-    private int compareObject(DSLMappingEntry item1, 
-                              DSLMappingEntry item2) {
-		return item1.getMetaData().compareTo(item2.getMetaData());
-	}
-    
-    /**
-	 * @return the sort criterion
-	 */
-	public int getCriteria() {
-		return criteria;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLMappingSorter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,82 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerSorter;
+
+/** 
+ * Provides sorting for the natural language table viewer.
+ * @author Michael Neale
+ */
+public class DSLMappingSorter extends ViewerSorter {
+
+	public final static int OBJECT = 0;
+	public final static int EXPRESSION = 1;
+	public final static int MAPPING = 2;
+	public final static int SCOPE = 3;
+
+	// Criteria that the instance uses 
+	private int criteria;
+
+	/**
+	 * Creates a resource sorter that will use the given sort criteria.
+	 *
+	 * @param criteria the sort criterion to use: one of <code>NAME</code> or 
+	 *   <code>TYPE</code>
+	 */
+	public DSLMappingSorter(int criteria) {
+		super();
+		this.criteria = criteria;
+	}
+
+	/* (non-Javadoc)
+	 * Method declared on ViewerSorter.
+	 */
+	public int compare(Viewer viewer, Object o1, Object o2) {
+
+        DSLMappingEntry item1 = (DSLMappingEntry) o1;
+        DSLMappingEntry item2 = (DSLMappingEntry) o2;
+
+		switch (criteria) {
+			case OBJECT:
+				return compareObject(item1, item2);
+			case EXPRESSION :
+				return compareExpressions(item1, item2);
+			case MAPPING :
+				return compareMappings(item1, item2);
+			case SCOPE :
+				return compareScope(item1, item2);
+			default:
+				return 0;
+		}
+	}
+
+	
+
+	private int compareScope(DSLMappingEntry item1,
+                             DSLMappingEntry item2) {
+        return item1.getSection().compareTo( item2.getSection() );
+    }
+
+    private int compareMappings(DSLMappingEntry item1,
+                                DSLMappingEntry item2) {
+        return item1.getMappingValue().compareTo( item2.getMappingValue() );
+    }
+
+    private int compareExpressions(DSLMappingEntry item1,
+                                   DSLMappingEntry item2) {
+        return item1.getMappingKey().compareTo( item2.getMappingKey() );
+    }
+
+    private int compareObject(DSLMappingEntry item1, 
+                              DSLMappingEntry item2) {
+		return item1.getMetaData().compareTo(item2.getMetaData());
+	}
+    
+    /**
+	 * @return the sort criterion
+	 */
+	public int getCriteria() {
+		return criteria;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.ui.part.FileEditorInput;
-
-public class DSLRuleEditor extends DRLRuleEditor {
-
-    protected DSLAdapter dslAdapter;
-
-	public DSLAdapter getDSLAdapter() {
-		if (dslAdapter == null) {
-			try {
-				String content = getSourceViewer().getDocument().get();
-				dslAdapter = new DSLAdapter(content, ((FileEditorInput) getEditorInput()).getFile());
-				if (!dslAdapter.isValid()) {
-					dslAdapter = null;
-				}
-			} catch (CoreException exc) {
-				dslAdapter = null;
-			}
-		}
-		return dslAdapter;
-	}
-
-	protected SourceViewerConfiguration createSourceViewerConfiguration() {
-		return new DSLRuleSourceViewerConfig(this); 
-	}
-
-	public void doSave(IProgressMonitor monitor) {
-		super.doSave(monitor);
-		// remove cached content
-		dslAdapter = null;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.text.source.SourceViewerConfiguration;
+import org.eclipse.ui.part.FileEditorInput;
+
+public class DSLRuleEditor extends DRLRuleEditor {
+
+    protected DSLAdapter dslAdapter;
+
+	public DSLAdapter getDSLAdapter() {
+		if (dslAdapter == null) {
+			try {
+				String content = getSourceViewer().getDocument().get();
+				dslAdapter = new DSLAdapter(content, ((FileEditorInput) getEditorInput()).getFile());
+				if (!dslAdapter.isValid()) {
+					dslAdapter = null;
+				}
+			} catch (CoreException exc) {
+				dslAdapter = null;
+			}
+		}
+		return dslAdapter;
+	}
+
+	protected SourceViewerConfiguration createSourceViewerConfiguration() {
+		return new DSLRuleSourceViewerConfig(this); 
+	}
+
+	public void doSave(IProgressMonitor monitor) {
+		super.doSave(monitor);
+		// remove cached content
+		dslAdapter = null;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,118 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import java.io.Reader;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.lang.dsl.DSLMappingFile;
-import org.drools.lang.dsl.DefaultExpander;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.editor.FormEditor;
-
-/**
- * Editor for rules using a domain-specific language.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DSLRuleEditor2 extends FormEditor {
-
-	private DSLRuleEditor dslRuleEditor;
-	private DSLtoDRLRuleViewer drlRuleViewer;
-
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		super.init(site, input);
-		setPartName(input.getName());
-	}
-
-	protected void addPages() {
-		try {
-			dslRuleEditor = new DSLRuleEditor() {
-				public void close(boolean save) {
-					super.close(save);
-					DSLRuleEditor2.this.close(save);
-				}
-				protected void setPartName(String partName) {
-					super.setPartName(partName);
-					DSLRuleEditor2.this.setPartName(partName);
-				}
-			};
-			int text = addPage(dslRuleEditor, getEditorInput());
-			setPageText(text, "Text Editor");
-			drlRuleViewer = new DSLtoDRLRuleViewer(dslRuleEditor);
-			text = addPage(drlRuleViewer, getEditorInput());
-			setPageText(text, "DRL Viewer");
-		} catch (PartInitException e) {
-			DroolsEclipsePlugin.log(e);
-		}
-	}
-
-	public void doSave(IProgressMonitor monitor) {
-		dslRuleEditor.doSave(monitor);
-		setInput(getEditorInput());
-	}
-
-	public void doSaveAs() {
-		dslRuleEditor.doSaveAs();
-	}
-
-	public boolean isSaveAsAllowed() {
-		return dslRuleEditor.isSaveAsAllowed();
-	}
-
-	public Object getAdapter(Class adapter) {
-		return dslRuleEditor.getAdapter(adapter);
-	}
-
-	public void setFocus() {
-		if (getActivePage() == 1) {
-			// check if translation does succeed
-			try {
-		        DefaultExpander expander = new DefaultExpander();
-		        String content = dslRuleEditor.getContent();
-	        	Reader reader = DSLAdapter.getDSLContent(content, dslRuleEditor.getResource());
-	        	if (reader == null) {
-	        		throw new IllegalArgumentException("Could not find dsl definition.");
-	        	}
-	            DSLMappingFile mapping = new DSLMappingFile();
-	            mapping.parseAndLoad(reader);
-	            reader.close();
-	            expander.addDSLMapping(mapping.getMapping());
-	            expander.expand(content);
-	            // if translation succeeds, change to drl viewer
-				drlRuleViewer.setInput(getEditorInput());
-	        } catch (Throwable t) {
-	        	// if translation fails, show error and go to first page
-	        	handleError(t);
-	        	setActivePage(0);
-	        }
-		}
-		super.setFocus();
-	}
-
-    private void handleError(Throwable t) {
-        DroolsEclipsePlugin.log( t );
-        Throwable cause = t.getCause();
-        if ( cause == null ) {
-            cause = t;
-        }
-        String message = cause.getClass().getName()+": "+cause.getMessage();
-        if ( message == null || message.length() == 0 ) {
-            message = "Uncategorized Error!";
-        }
-        IStatus status = new Status( IStatus.ERROR,
-                                     DroolsEclipsePlugin.getUniqueIdentifier(),
-                                     -1,
-                                     message,
-                                     null);
-        ErrorDialog.openError( getSite().getShell(),
-                               "DSL Rule Translation Error!",
-                               "DSL Rule Translation Error!",
-                               status );
-
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,118 @@
+package org.drools.eclipse.dsl.editor;
+
+import java.io.Reader;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.lang.dsl.DSLMappingFile;
+import org.drools.lang.dsl.DefaultExpander;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.forms.editor.FormEditor;
+
+/**
+ * Editor for rules using a domain-specific language.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DSLRuleEditor2 extends FormEditor {
+
+	private DSLRuleEditor dslRuleEditor;
+	private DSLtoDRLRuleViewer drlRuleViewer;
+
+	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
+		super.init(site, input);
+		setPartName(input.getName());
+	}
+
+	protected void addPages() {
+		try {
+			dslRuleEditor = new DSLRuleEditor() {
+				public void close(boolean save) {
+					super.close(save);
+					DSLRuleEditor2.this.close(save);
+				}
+				protected void setPartName(String partName) {
+					super.setPartName(partName);
+					DSLRuleEditor2.this.setPartName(partName);
+				}
+			};
+			int text = addPage(dslRuleEditor, getEditorInput());
+			setPageText(text, "Text Editor");
+			drlRuleViewer = new DSLtoDRLRuleViewer(dslRuleEditor);
+			text = addPage(drlRuleViewer, getEditorInput());
+			setPageText(text, "DRL Viewer");
+		} catch (PartInitException e) {
+			DroolsEclipsePlugin.log(e);
+		}
+	}
+
+	public void doSave(IProgressMonitor monitor) {
+		dslRuleEditor.doSave(monitor);
+		setInput(getEditorInput());
+	}
+
+	public void doSaveAs() {
+		dslRuleEditor.doSaveAs();
+	}
+
+	public boolean isSaveAsAllowed() {
+		return dslRuleEditor.isSaveAsAllowed();
+	}
+
+	public Object getAdapter(Class adapter) {
+		return dslRuleEditor.getAdapter(adapter);
+	}
+
+	public void setFocus() {
+		if (getActivePage() == 1) {
+			// check if translation does succeed
+			try {
+		        DefaultExpander expander = new DefaultExpander();
+		        String content = dslRuleEditor.getContent();
+	        	Reader reader = DSLAdapter.getDSLContent(content, dslRuleEditor.getResource());
+	        	if (reader == null) {
+	        		throw new IllegalArgumentException("Could not find dsl definition.");
+	        	}
+	            DSLMappingFile mapping = new DSLMappingFile();
+	            mapping.parseAndLoad(reader);
+	            reader.close();
+	            expander.addDSLMapping(mapping.getMapping());
+	            expander.expand(content);
+	            // if translation succeeds, change to drl viewer
+				drlRuleViewer.setInput(getEditorInput());
+	        } catch (Throwable t) {
+	        	// if translation fails, show error and go to first page
+	        	handleError(t);
+	        	setActivePage(0);
+	        }
+		}
+		super.setFocus();
+	}
+
+    private void handleError(Throwable t) {
+        DroolsEclipsePlugin.log( t );
+        Throwable cause = t.getCause();
+        if ( cause == null ) {
+            cause = t;
+        }
+        String message = cause.getClass().getName()+": "+cause.getMessage();
+        if ( message == null || message.length() == 0 ) {
+            message = "Uncategorized Error!";
+        }
+        IStatus status = new Status( IStatus.ERROR,
+                                     DroolsEclipsePlugin.getUniqueIdentifier(),
+                                     -1,
+                                     message,
+                                     null);
+        ErrorDialog.openError( getSite().getShell(),
+                               "DSL Rule Translation Error!",
+                               "DSL Rule Translation Error!",
+                               status );
+
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,38 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.eclipse.dsl.editor.completion.DSLRuleCompletionProcessor;
-import org.drools.eclipse.editors.DRLSourceViewerConfig;
-import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.source.ISourceViewer;
-
-/**
- * Source viewer config wires up the syntax highlighting, partitioning
- * and content assistance.
- * 
- * @author Michael Neale
- *
- */
-public class DSLRuleSourceViewerConfig extends DRLSourceViewerConfig {
-
-	public DSLRuleSourceViewerConfig(DSLRuleEditor editor) {
-		super(editor);
-	}
-
-	/**
-	 * Get the appropriate content assistance, for each partition.
-	 */
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-		ContentAssistant assistant = new ContentAssistant();
-		assistant.setContentAssistProcessor(
-			new DefaultCompletionProcessor(getEditor()), IDocument.DEFAULT_CONTENT_TYPE);
-		assistant.setContentAssistProcessor(
-			new DSLRuleCompletionProcessor(getEditor()), DRLPartionScanner.RULE_PART_CONTENT);
-		assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-		assistant.setAutoActivationDelay(0);
-		return assistant;
-	}
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleSourceViewerConfig.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,38 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.eclipse.dsl.editor.completion.DSLRuleCompletionProcessor;
+import org.drools.eclipse.editors.DRLSourceViewerConfig;
+import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.source.ISourceViewer;
+
+/**
+ * Source viewer config wires up the syntax highlighting, partitioning
+ * and content assistance.
+ * 
+ * @author Michael Neale
+ *
+ */
+public class DSLRuleSourceViewerConfig extends DRLSourceViewerConfig {
+
+	public DSLRuleSourceViewerConfig(DSLRuleEditor editor) {
+		super(editor);
+	}
+
+	/**
+	 * Get the appropriate content assistance, for each partition.
+	 */
+	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+		ContentAssistant assistant = new ContentAssistant();
+		assistant.setContentAssistProcessor(
+			new DefaultCompletionProcessor(getEditor()), IDocument.DEFAULT_CONTENT_TYPE);
+		assistant.setContentAssistProcessor(
+			new DSLRuleCompletionProcessor(getEditor()), DRLPartionScanner.RULE_PART_CONTENT);
+		assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+		assistant.setAutoActivationDelay(0);
+		return assistant;
+	}
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,34 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import java.io.Reader;
-
-import org.drools.lang.dsl.DSLMappingFile;
-import org.drools.lang.dsl.DefaultExpander;
-import org.eclipse.jface.text.IDocument;
-
-public class DSLtoDRLDocument extends TransformedDocument {
-
-	private DSLtoDRLRuleViewer viewer;
-	
-	public DSLtoDRLDocument(IDocument dslDocument, DSLtoDRLRuleViewer viewer) {
-		super(dslDocument);
-		this.viewer = viewer;
-	}
-	
-	protected String transformInput(String content) {
-        DefaultExpander expander = new DefaultExpander();
-        try {
-        	Reader reader = DSLAdapter.getDSLContent(content, viewer.getResource());
-            DSLMappingFile mapping = new DSLMappingFile();
-            mapping.parseAndLoad(reader);
-            reader.close();
-            expander.addDSLMapping(mapping.getMapping());
-            return expander.expand(content);
-        } catch (Throwable t) {
-        	//viewer.handleError(t);
-        	return content;
-        }
-
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocument.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,34 @@
+package org.drools.eclipse.dsl.editor;
+
+import java.io.Reader;
+
+import org.drools.lang.dsl.DSLMappingFile;
+import org.drools.lang.dsl.DefaultExpander;
+import org.eclipse.jface.text.IDocument;
+
+public class DSLtoDRLDocument extends TransformedDocument {
+
+	private DSLtoDRLRuleViewer viewer;
+	
+	public DSLtoDRLDocument(IDocument dslDocument, DSLtoDRLRuleViewer viewer) {
+		super(dslDocument);
+		this.viewer = viewer;
+	}
+	
+	protected String transformInput(String content) {
+        DefaultExpander expander = new DefaultExpander();
+        try {
+        	Reader reader = DSLAdapter.getDSLContent(content, viewer.getResource());
+            DSLMappingFile mapping = new DSLMappingFile();
+            mapping.parseAndLoad(reader);
+            reader.close();
+            expander.addDSLMapping(mapping.getMapping());
+            return expander.expand(content);
+        } catch (Throwable t) {
+        	//viewer.handleError(t);
+        	return content;
+        }
+
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,27 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.eclipse.editors.DRLDocumentProvider;
-import org.eclipse.jface.text.IDocument;
-
-public class DSLtoDRLDocumentProvider extends DRLDocumentProvider {
-
-	private DSLtoDRLRuleViewer drlViewer;
-	private IDocument document;
-	
-	public DSLtoDRLDocumentProvider(DSLtoDRLRuleViewer drlViewer) {
-		this.drlViewer = drlViewer;
-	}
-	
-	public IDocument getDocument(Object element) {
-		if (document == null) {
-			IDocument superDocument = super.getDocument(element);
-			document = new DSLtoDRLDocument(superDocument, drlViewer);
-		}
-		return document;
-    }
-	
-	public boolean isModifiable(Object element) {
-		return false;
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLDocumentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,27 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.eclipse.editors.DRLDocumentProvider;
+import org.eclipse.jface.text.IDocument;
+
+public class DSLtoDRLDocumentProvider extends DRLDocumentProvider {
+
+	private DSLtoDRLRuleViewer drlViewer;
+	private IDocument document;
+	
+	public DSLtoDRLDocumentProvider(DSLtoDRLRuleViewer drlViewer) {
+		this.drlViewer = drlViewer;
+	}
+	
+	public IDocument getDocument(Object element) {
+		if (document == null) {
+			IDocument superDocument = super.getDocument(element);
+			document = new DSLtoDRLDocument(superDocument, drlViewer);
+		}
+		return document;
+    }
+	
+	public boolean isModifiable(Object element) {
+		return false;
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,43 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-public class DSLtoDRLRuleViewer extends AbstractRuleEditor {
-	
-	private DSLRuleEditor dslRuleEditor;
-
-	public DSLtoDRLRuleViewer(DSLRuleEditor dslRuleEditor) {
-		this.dslRuleEditor = dslRuleEditor;
-	}
-	
-    protected IDocumentProvider createDocumentProvider() {
-    	return new DSLtoDRLDocumentProvider(this);
-    }
-    
-    public String getDSLRuleContent() {
-    	return dslRuleEditor.getContent();
-    }
-
-	public void handleError(Throwable t) {
-		DroolsEclipsePlugin.log(t);
-		Throwable cause = t.getCause();
-		if (cause == null) {
-			cause = t;
-		}
-		String message = cause.getClass().getName() + ": " + cause.getMessage();
-		if (message == null || message.length() == 0) {
-			message = "Uncategorized Error!";
-		}
-		IStatus status = new Status(IStatus.ERROR, DroolsEclipsePlugin
-				.getUniqueIdentifier(), -1, message, null);
-		ErrorDialog.openError(getSite().getShell(),
-				"DSL Rule Translation Error!", "DSL Rule Translation Error!",
-				status);
-
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,43 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.ui.texteditor.IDocumentProvider;
+
+public class DSLtoDRLRuleViewer extends AbstractRuleEditor {
+	
+	private DSLRuleEditor dslRuleEditor;
+
+	public DSLtoDRLRuleViewer(DSLRuleEditor dslRuleEditor) {
+		this.dslRuleEditor = dslRuleEditor;
+	}
+	
+    protected IDocumentProvider createDocumentProvider() {
+    	return new DSLtoDRLDocumentProvider(this);
+    }
+    
+    public String getDSLRuleContent() {
+    	return dslRuleEditor.getContent();
+    }
+
+	public void handleError(Throwable t) {
+		DroolsEclipsePlugin.log(t);
+		Throwable cause = t.getCause();
+		if (cause == null) {
+			cause = t;
+		}
+		String message = cause.getClass().getName() + ": " + cause.getMessage();
+		if (message == null || message.length() == 0) {
+			message = "Uncategorized Error!";
+		}
+		IStatus status = new Status(IStatus.ERROR, DroolsEclipsePlugin
+				.getUniqueIdentifier(), -1, message, null);
+		ErrorDialog.openError(getSite().getShell(),
+				"DSL Rule Translation Error!", "DSL Rule Translation Error!",
+				status);
+
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.lang.dsl.DSLMappingEntry;
-
-/**
- * Used to keep the view up to date with changes in mappings.
- * 
- * @author Michael Neale
- */
-public interface IMappingListViewer {
-
-    public void addMapping(DSLMappingEntry item);
-    
-    public void removeMapping(DSLMappingEntry item);
-    
-    public void updateMapping(DSLMappingEntry item);
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/IMappingListViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.lang.dsl.DSLMappingEntry;
+
+/**
+ * Used to keep the view up to date with changes in mappings.
+ * 
+ * @author Michael Neale
+ */
+public interface IMappingListViewer {
+
+    public void addMapping(DSLMappingEntry item);
+    
+    public void removeMapping(DSLMappingEntry item);
+    
+    public void updateMapping(DSLMappingEntry item);
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,221 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.drools.lang.dsl.DSLMappingEntry.Section;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * This provides an editor for mapping language mappings.
- * This is preferable to in place editing, as it fits the usage pattern of read lots,
- * edit little.
- * 
- * This is a simple popup modal dialog.
- * 
- * @author Michael Neale
- */
-public class MappingEditor extends TitleAreaDialog {
-
-    private static final int       SCOPE_KEYWORD = 0;
-    private static final int       SCOPE_WHEN    = 1;
-    private static final int       SCOPE_THEN    = 2;
-    private static final int       SCOPE_ALL     = 3;
-    
-    private static final String    SCOPE_STR_KEYWORD = "keyword"; 
-    private static final String    SCOPE_STR_WHEN = "condition"; 
-    private static final String    SCOPE_STR_THEN = "consequence"; 
-    private static final String    SCOPE_STR_ALL  = "*"; 
-
-    private Text                   exprText;
-    private Text                   mappingText;
-    private Text                   objText;
-    private Combo                  scopeCombo;
-    private boolean                cancelled;
-
-    private DSLMappingEntry model;
-
-    protected MappingEditor(Shell parent) {
-        super( parent );
-    }
-
-    /**
-     * Pass in a NLMapping item for display/edits.
-     * Changes will be applied to this object only if the user clicks OK.
-     */
-    public void setNLMappingItem(DSLMappingEntry item) {
-        model = item;
-        setSection( model.getSection() );
-        exprText.setText( model.getMappingKey() == null ? "" : model.getMappingKey() );
-        mappingText.setText( model.getMappingValue() == null ? "" : model.getMappingValue() );
-        objText.setText( model.getMetaData().getMetaData() == null ? "" : model.getMetaData().getMetaData() );
-    }
-
-    private void setSection(Section section) {
-        if ( section == DSLMappingEntry.CONDITION ) {
-            scopeCombo.select( SCOPE_WHEN );
-        } else if ( section == DSLMappingEntry.CONSEQUENCE ) {
-            scopeCombo.select( SCOPE_THEN );
-        } else if ( section == DSLMappingEntry.ANY ) {
-            scopeCombo.select( SCOPE_ALL );
-        } else if ( section == DSLMappingEntry.KEYWORD ) {
-            scopeCombo.select( SCOPE_KEYWORD );
-        } else {
-            throw new IllegalArgumentException( "Unknown scope type: " + section );
-        }
-    }
-
-    private Section getSection(String sectionStr) {
-        DSLMappingEntry.Section section = DSLMappingEntry.ANY;
-        if ( SCOPE_STR_KEYWORD.equals( sectionStr ) ) {
-            section = DSLMappingEntry.KEYWORD;
-        } else if ( SCOPE_STR_WHEN.equals( sectionStr ) ) {
-            section = DSLMappingEntry.CONDITION;
-        } else if ( SCOPE_STR_THEN.equals( sectionStr ) ) {
-            section = DSLMappingEntry.CONSEQUENCE;
-        }
-        return section;
-    }
-
-    protected void cancelPressed() {
-        this.cancelled = true;
-        super.cancelPressed();
-    }
-
-    protected void okPressed() {
-        this.cancelled = false;
-        this.model.setMappingKey( this.exprText.getText() );
-        this.model.setMappingValue( this.mappingText.getText() );
-        this.model.setSection( this.getSection( this.scopeCombo.getText() ) );
-        this.model.setMetaData( new DSLMappingEntry.DefaultDSLEntryMetaData( this.objText.getText() ) );
-        super.okPressed();
-    }
-
-    /** This will tell if the user cancelled the edit */
-    public boolean isCancelled() {
-        return cancelled;
-    }
-
-    protected Control createDialogArea(Composite parent) {
-
-        //set the overall layout
-        GridLayout gridLayout = new GridLayout();
-        gridLayout.marginHeight = 10;
-        gridLayout.verticalSpacing = 10;
-        gridLayout.marginWidth = 10;
-        gridLayout.numColumns = 2;
-        parent.setLayout( gridLayout );
-
-        //setup fields
-        createExpressionField( parent );
-        createMappingField( parent );
-        createObjectField( parent );
-        createScopeField( parent );
-
-        // create the top level composite wrapper
-        Composite composite = new Composite( parent,
-                                             SWT.NONE );
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = 10;
-        layout.marginWidth = 10;
-        layout.verticalSpacing = 10;
-        composite.setLayout( layout );
-        composite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
-        composite.setFont( parent.getFont() );
-
-        return composite;
-    }
-
-    private void createMappingField(Composite parent) {
-        Label mappingLbl = new Label( parent,
-                                      SWT.NONE );
-        mappingLbl.setText( "Rule mapping:" );
-        mappingLbl.setFont( parent.getFont() );
-        mappingLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
-
-        mappingText = new Text( parent,
-                                SWT.BORDER );
-        GridData data = new GridData();
-        data.widthHint = 450;
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        mappingText.setLayoutData( data );
-
-        mappingText.setToolTipText( "Enter the rule language mapping that the \nlanguage item will be translated to." + " Use the named variables (holes) \nthat you specify in the language expression above." );
-
-    }
-
-    private void createExpressionField(Composite parent) {
-        Label exprLbl = new Label( parent,
-                                   SWT.NONE );
-        exprLbl.setText( "Language expression:" );
-        exprLbl.setFont( parent.getFont() );
-        exprLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
-
-        exprText = new Text( parent,
-                             SWT.BORDER );
-        GridData data = new GridData();
-        data.widthHint = 450;
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        exprText.setLayoutData( data );
-        exprText.setToolTipText( "Enter the language expression that you want to use in a rule.\n" + "Use curly brackets to mark 'holes' where the values will be extracted\n" + "from in the rule source. " + "Such as: Person has a name of {name} \n"
-                                 + "This will then parse the rule source to extract the data out of \n" + "the place where {name} would appear." );
-    }
-
-    private void createObjectField(Composite parent) {
-        Label objectLbl = new Label( parent,
-                                     SWT.NONE );
-        objectLbl.setText( "Object:" );
-        objectLbl.setFont( parent.getFont() );
-        objectLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
-
-        objText = new Text( parent,
-                            SWT.BORDER );
-        GridData data = new GridData();
-        data.widthHint = 450;
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        objText.setLayoutData( data );
-
-        objText.setToolTipText( "Enter the name of the object." );
-
-    }
-
-    private void createScopeField(Composite parent) {
-
-        //type
-        Label scopeLbl = new Label( parent,
-                                    SWT.NONE );
-        scopeLbl.setText( "Scope:" );
-        scopeLbl.setFont( parent.getFont() );
-        scopeLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
-
-        scopeCombo = new Combo( parent,
-                                SWT.READ_ONLY );
-
-        scopeCombo.add( SCOPE_STR_KEYWORD,
-                        SCOPE_KEYWORD );
-        scopeCombo.add( SCOPE_STR_WHEN,
-                        SCOPE_WHEN );
-        scopeCombo.add( SCOPE_STR_THEN,
-                        SCOPE_THEN );
-        scopeCombo.add( SCOPE_STR_ALL,
-                        SCOPE_ALL );
-
-        scopeCombo.select( SCOPE_ALL ); //the default
-
-        scopeCombo.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING ) );
-        scopeCombo.setFont( parent.getFont() );
-        scopeCombo.setToolTipText( "This specifies what part of the rule the expression applies. Indicating '*' means global." );
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/MappingEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,221 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingEntry.Section;
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * This provides an editor for mapping language mappings.
+ * This is preferable to in place editing, as it fits the usage pattern of read lots,
+ * edit little.
+ * 
+ * This is a simple popup modal dialog.
+ * 
+ * @author Michael Neale
+ */
+public class MappingEditor extends TitleAreaDialog {
+
+    private static final int       SCOPE_KEYWORD = 0;
+    private static final int       SCOPE_WHEN    = 1;
+    private static final int       SCOPE_THEN    = 2;
+    private static final int       SCOPE_ALL     = 3;
+    
+    private static final String    SCOPE_STR_KEYWORD = "keyword"; 
+    private static final String    SCOPE_STR_WHEN = "condition"; 
+    private static final String    SCOPE_STR_THEN = "consequence"; 
+    private static final String    SCOPE_STR_ALL  = "*"; 
+
+    private Text                   exprText;
+    private Text                   mappingText;
+    private Text                   objText;
+    private Combo                  scopeCombo;
+    private boolean                cancelled;
+
+    private DSLMappingEntry model;
+
+    protected MappingEditor(Shell parent) {
+        super( parent );
+    }
+
+    /**
+     * Pass in a NLMapping item for display/edits.
+     * Changes will be applied to this object only if the user clicks OK.
+     */
+    public void setNLMappingItem(DSLMappingEntry item) {
+        model = item;
+        setSection( model.getSection() );
+        exprText.setText( model.getMappingKey() == null ? "" : model.getMappingKey() );
+        mappingText.setText( model.getMappingValue() == null ? "" : model.getMappingValue() );
+        objText.setText( model.getMetaData().getMetaData() == null ? "" : model.getMetaData().getMetaData() );
+    }
+
+    private void setSection(Section section) {
+        if ( section == DSLMappingEntry.CONDITION ) {
+            scopeCombo.select( SCOPE_WHEN );
+        } else if ( section == DSLMappingEntry.CONSEQUENCE ) {
+            scopeCombo.select( SCOPE_THEN );
+        } else if ( section == DSLMappingEntry.ANY ) {
+            scopeCombo.select( SCOPE_ALL );
+        } else if ( section == DSLMappingEntry.KEYWORD ) {
+            scopeCombo.select( SCOPE_KEYWORD );
+        } else {
+            throw new IllegalArgumentException( "Unknown scope type: " + section );
+        }
+    }
+
+    private Section getSection(String sectionStr) {
+        DSLMappingEntry.Section section = DSLMappingEntry.ANY;
+        if ( SCOPE_STR_KEYWORD.equals( sectionStr ) ) {
+            section = DSLMappingEntry.KEYWORD;
+        } else if ( SCOPE_STR_WHEN.equals( sectionStr ) ) {
+            section = DSLMappingEntry.CONDITION;
+        } else if ( SCOPE_STR_THEN.equals( sectionStr ) ) {
+            section = DSLMappingEntry.CONSEQUENCE;
+        }
+        return section;
+    }
+
+    protected void cancelPressed() {
+        this.cancelled = true;
+        super.cancelPressed();
+    }
+
+    protected void okPressed() {
+        this.cancelled = false;
+        this.model.setMappingKey( this.exprText.getText() );
+        this.model.setMappingValue( this.mappingText.getText() );
+        this.model.setSection( this.getSection( this.scopeCombo.getText() ) );
+        this.model.setMetaData( new DSLMappingEntry.DefaultDSLEntryMetaData( this.objText.getText() ) );
+        super.okPressed();
+    }
+
+    /** This will tell if the user cancelled the edit */
+    public boolean isCancelled() {
+        return cancelled;
+    }
+
+    protected Control createDialogArea(Composite parent) {
+
+        //set the overall layout
+        GridLayout gridLayout = new GridLayout();
+        gridLayout.marginHeight = 10;
+        gridLayout.verticalSpacing = 10;
+        gridLayout.marginWidth = 10;
+        gridLayout.numColumns = 2;
+        parent.setLayout( gridLayout );
+
+        //setup fields
+        createExpressionField( parent );
+        createMappingField( parent );
+        createObjectField( parent );
+        createScopeField( parent );
+
+        // create the top level composite wrapper
+        Composite composite = new Composite( parent,
+                                             SWT.NONE );
+        GridLayout layout = new GridLayout();
+        layout.marginHeight = 10;
+        layout.marginWidth = 10;
+        layout.verticalSpacing = 10;
+        composite.setLayout( layout );
+        composite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
+        composite.setFont( parent.getFont() );
+
+        return composite;
+    }
+
+    private void createMappingField(Composite parent) {
+        Label mappingLbl = new Label( parent,
+                                      SWT.NONE );
+        mappingLbl.setText( "Rule mapping:" );
+        mappingLbl.setFont( parent.getFont() );
+        mappingLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
+
+        mappingText = new Text( parent,
+                                SWT.BORDER );
+        GridData data = new GridData();
+        data.widthHint = 450;
+        data.horizontalAlignment = GridData.FILL;
+        data.grabExcessHorizontalSpace = true;
+        mappingText.setLayoutData( data );
+
+        mappingText.setToolTipText( "Enter the rule language mapping that the \nlanguage item will be translated to." + " Use the named variables (holes) \nthat you specify in the language expression above." );
+
+    }
+
+    private void createExpressionField(Composite parent) {
+        Label exprLbl = new Label( parent,
+                                   SWT.NONE );
+        exprLbl.setText( "Language expression:" );
+        exprLbl.setFont( parent.getFont() );
+        exprLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
+
+        exprText = new Text( parent,
+                             SWT.BORDER );
+        GridData data = new GridData();
+        data.widthHint = 450;
+        data.horizontalAlignment = GridData.FILL;
+        data.grabExcessHorizontalSpace = true;
+        exprText.setLayoutData( data );
+        exprText.setToolTipText( "Enter the language expression that you want to use in a rule.\n" + "Use curly brackets to mark 'holes' where the values will be extracted\n" + "from in the rule source. " + "Such as: Person has a name of {name} \n"
+                                 + "This will then parse the rule source to extract the data out of \n" + "the place where {name} would appear." );
+    }
+
+    private void createObjectField(Composite parent) {
+        Label objectLbl = new Label( parent,
+                                     SWT.NONE );
+        objectLbl.setText( "Object:" );
+        objectLbl.setFont( parent.getFont() );
+        objectLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
+
+        objText = new Text( parent,
+                            SWT.BORDER );
+        GridData data = new GridData();
+        data.widthHint = 450;
+        data.horizontalAlignment = GridData.FILL;
+        data.grabExcessHorizontalSpace = true;
+        objText.setLayoutData( data );
+
+        objText.setToolTipText( "Enter the name of the object." );
+
+    }
+
+    private void createScopeField(Composite parent) {
+
+        //type
+        Label scopeLbl = new Label( parent,
+                                    SWT.NONE );
+        scopeLbl.setText( "Scope:" );
+        scopeLbl.setFont( parent.getFont() );
+        scopeLbl.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) );
+
+        scopeCombo = new Combo( parent,
+                                SWT.READ_ONLY );
+
+        scopeCombo.add( SCOPE_STR_KEYWORD,
+                        SCOPE_KEYWORD );
+        scopeCombo.add( SCOPE_STR_WHEN,
+                        SCOPE_WHEN );
+        scopeCombo.add( SCOPE_STR_THEN,
+                        SCOPE_THEN );
+        scopeCombo.add( SCOPE_STR_ALL,
+                        SCOPE_ALL );
+
+        scopeCombo.select( SCOPE_ALL ); //the default
+
+        scopeCombo.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING ) );
+        scopeCombo.setFont( parent.getFont() );
+        scopeCombo.setToolTipText( "This specifies what part of the rule the expression applies. Indicating '*' means global." );
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,35 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.drools.lang.dsl.DefaultDSLMapping;
-
-/**
- * This extends the compilers DSL grammar implementation to provide
- * change listener support.
- * 
- * @author Michael Neale
- *
- */
-public class NLGrammarModel extends DefaultDSLMapping {
-    
-    private static final long serialVersionUID = 400L;
-    
-    private Set changeListeners = new HashSet();
-
-    /**
-     * @param viewer
-     */
-    public void removeChangeListener(IMappingListViewer viewer) {
-        changeListeners.remove(viewer);
-    }
-
-    /**
-     * @param viewer
-     */
-    public void addChangeListener(IMappingListViewer viewer) {
-        changeListeners.add(viewer);
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/NLGrammarModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,35 @@
+package org.drools.eclipse.dsl.editor;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.drools.lang.dsl.DefaultDSLMapping;
+
+/**
+ * This extends the compilers DSL grammar implementation to provide
+ * change listener support.
+ * 
+ * @author Michael Neale
+ *
+ */
+public class NLGrammarModel extends DefaultDSLMapping {
+    
+    private static final long serialVersionUID = 400L;
+    
+    private Set changeListeners = new HashSet();
+
+    /**
+     * @param viewer
+     */
+    public void removeChangeListener(IMappingListViewer viewer) {
+        changeListeners.remove(viewer);
+    }
+
+    /**
+     * @param viewer
+     */
+    public void addChangeListener(IMappingListViewer viewer) {
+        changeListeners.add(viewer);
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,93 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import org.eclipse.jface.text.AbstractDocument;
-import org.eclipse.jface.text.DefaultLineTracker;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.ITextStore;
-
-/**
- * A document that transforms the input of the original document
- * to something else.  Changing something in this document will
- * NOT change the original document (as the transformation is only
- * defined in one way). All changes will also be overridden as soon
- * as the original document changes.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class TransformedDocument extends AbstractDocument {
-	
-	private IDocument parentDocument;
-	private boolean changed = true;
-		
-	public TransformedDocument(IDocument parentDocument) {
-		this.parentDocument = parentDocument;
-		parentDocument.addDocumentListener(new IDocumentListener() {
-			public void documentAboutToBeChanged(DocumentEvent event) {
-				// Do nothing
-			}
-			public void documentChanged(DocumentEvent event) {
-				changed = true;
-			}
-		});
-		setTextStore(new StringTextStore());
-		setLineTracker(new DefaultLineTracker());
-		completeInitialization();
-	}
-	
-	/** 
-	 * Always check that the store is up-to-date.
-	 * All read operations access the store so this method makes sure
-	 * that the document is updated whenever necessary.
-	 */
-	protected ITextStore getStore() {
-		if (changed) {
-			update();
-		}
-		return super.getStore();
-	}
-	
-	private void update() {
-		String translation = transformInput(parentDocument.get());
-		super.getStore().set(translation);
-		getTracker().set(translation);
-		changed = false;
-	}
-	
-	/**
-	 * Transforms the original content of the document.
-	 */
-	protected abstract String transformInput(String content);
-
-	/**
-	 * Default text store.
-	 */
-	private static class StringTextStore implements ITextStore {
-
-		private String fContent;
-
-		public StringTextStore() {
-		}
-
-		public char get(int offset) {
-			return fContent.charAt(offset);
-		}
-
-		public String get(int offset, int length) {
-			return fContent.substring(offset, offset + length);
-		}
-
-		public int getLength() {
-			return fContent.length();
-		}
-
-		public void replace(int offset, int length, String text) {
-		}
-
-		public void set(String text) {
-			this.fContent = text;
-		}
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/TransformedDocument.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,93 @@
+package org.drools.eclipse.dsl.editor;
+
+import org.eclipse.jface.text.AbstractDocument;
+import org.eclipse.jface.text.DefaultLineTracker;
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.jface.text.ITextStore;
+
+/**
+ * A document that transforms the input of the original document
+ * to something else.  Changing something in this document will
+ * NOT change the original document (as the transformation is only
+ * defined in one way). All changes will also be overridden as soon
+ * as the original document changes.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class TransformedDocument extends AbstractDocument {
+	
+	private IDocument parentDocument;
+	private boolean changed = true;
+		
+	public TransformedDocument(IDocument parentDocument) {
+		this.parentDocument = parentDocument;
+		parentDocument.addDocumentListener(new IDocumentListener() {
+			public void documentAboutToBeChanged(DocumentEvent event) {
+				// Do nothing
+			}
+			public void documentChanged(DocumentEvent event) {
+				changed = true;
+			}
+		});
+		setTextStore(new StringTextStore());
+		setLineTracker(new DefaultLineTracker());
+		completeInitialization();
+	}
+	
+	/** 
+	 * Always check that the store is up-to-date.
+	 * All read operations access the store so this method makes sure
+	 * that the document is updated whenever necessary.
+	 */
+	protected ITextStore getStore() {
+		if (changed) {
+			update();
+		}
+		return super.getStore();
+	}
+	
+	private void update() {
+		String translation = transformInput(parentDocument.get());
+		super.getStore().set(translation);
+		getTracker().set(translation);
+		changed = false;
+	}
+	
+	/**
+	 * Transforms the original content of the document.
+	 */
+	protected abstract String transformInput(String content);
+
+	/**
+	 * Default text store.
+	 */
+	private static class StringTextStore implements ITextStore {
+
+		private String fContent;
+
+		public StringTextStore() {
+		}
+
+		public char get(int offset) {
+			return fContent.charAt(offset);
+		}
+
+		public String get(int offset, int length) {
+			return fContent.substring(offset, offset + length);
+		}
+
+		public int getLength() {
+			return fContent.length();
+		}
+
+		public void replace(int offset, int length, String text) {
+		}
+
+		public void set(String text) {
+			this.fContent = text;
+		}
+	}
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,168 +0,0 @@
-package org.drools.eclipse.dsl.editor.completion;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.dsl.editor.DSLAdapter;
-import org.drools.eclipse.dsl.editor.DSLRuleEditor;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
-import org.drools.eclipse.editors.completion.RuleCompletionProposal;
-import org.drools.lang.Location;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * For handling DSL rules.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DSLRuleCompletionProcessor extends RuleCompletionProcessor {
-
-	private static final Image DSL_ICON = 
-		DroolsPluginImages.getImage(DroolsPluginImages.DSL_EXPRESSION);
-
-	public DSLRuleCompletionProcessor(AbstractRuleEditor editor) {
-		super(editor);
-	}
-
-    protected DSLRuleEditor getDSLRuleEditor() {
-    	return (DSLRuleEditor) getEditor();
-    }
-    
-	protected void addRHSCompletionProposals(List list, int documentOffset, String prefix, String backText,
-			String conditions, String consequence) {
-		// super.addRHSCompletionProposals(list, documentOffset, prefix, backText, conditions, consequence);
-		DSLAdapter adapter = getDSLRuleEditor().getDSLAdapter();
-		if (adapter != null) {
-			List dslConsequences = adapter.getDSLTree().getConsequenceChildrenList(prefix, true);
-			addDSLProposals(list, documentOffset, prefix, dslConsequences);
-		}
-	}
-	
-	protected void addLHSCompletionProposals(List list, int documentOffset,
-			Location location, String prefix, String backText) {
-		// super.addLHSCompletionProposals(list, documentOffset, location, prefix, backText);
-		DSLAdapter adapter = getDSLRuleEditor().getDSLAdapter();
-		if (adapter != null) {
-			String lastobj = this.getLastNonDashLine(backText);
-			String last = this.getLastLine(backText);
-			// we have to check if the last line is when. if it is we set
-			// the last line to zero length string
-			if (last.equals("when")) {
-				last = "";
-				lastobj = "*";
-			}
-			// pass the last string in the backText to getProposals
-			List dslConditions = this.getProposals(adapter, lastobj, last);
-			// if we couldn't find any matches, we add the list from
-			// the DSLAdapter so that there's something
-			if (dslConditions.size() == 0) {
-				dslConditions.addAll(adapter.listConditionItems());
-			}
-			addDSLProposals(list, documentOffset, prefix, dslConditions);
-		}
-	}
-	
-	private void addDSLProposals(final List list, int documentOffset, final String prefix, List dslItems) {
-		Iterator iterator = dslItems.iterator();
-		while (iterator.hasNext()) {
-			String consequence = (String) iterator.next();
-			RuleCompletionProposal p = new RuleCompletionProposal(
-				documentOffset - prefix.length(), prefix.length(), consequence);
-			p.setImage(DSL_ICON);
-			list.add(p);
-		}
-	}
-
-	/**
-	 * because of how the backText works, we need to get the last line, so that
-	 * we can pass it to the DSLUtility
-	 * 
-	 * @param backText
-	 * @return
-	 */
-	public String getLastLine(String backText) {
-		BufferedReader breader = new BufferedReader(new StringReader(backText));
-		String last = "";
-		String line = null;
-		try {
-			while ((line = breader.readLine()) != null) {
-				// only if the line has text do we set last to it
-				if (line.length() > 0) {
-					last = line;
-				}
-			}
-		} catch (IOException e) {
-			// TODO need to log this.
-			// I'm leaving this for mic_hat, so he has something to do
-		}
-		// now that all the conditions for a single object are on the same line
-		// we need to check for the left parenthesis
-		if (last.indexOf("(") > -1) {
-			last = last.substring(last.lastIndexOf("(") + 1);
-		}
-		// if the string has a comma "," we get the substring starting from
-		// the index after the last comma
-		if (last.indexOf(",") > -1) {
-			last = last.substring(last.lastIndexOf(",") + 1);
-		}
-		// if the line ends with right parenthesis, we change it to zero length
-		// string
-		if (last.endsWith(")")) {
-			last = "";
-		}
-		return last;
-	}
-
-	/**
-	 * Returns the last line that doesn't start with a dash
-	 * 
-	 * @param backText
-	 * @return
-	 */
-	public String getLastNonDashLine(String backText) {
-		BufferedReader breader = new BufferedReader(new StringReader(backText));
-		String last = "";
-		String line = null;
-		try {
-			while ((line = breader.readLine()) != null) {
-				// there may be blank lines, so we trim first
-				line = line.trim();
-				// only if the line has text do we set last to it
-				if (line.length() > 0 && !line.startsWith("-")) {
-					last = line;
-				}
-			}
-		} catch (IOException e) {
-			// TODO need to log this.
-			// I'm leaving this for mic_hat, so he has something to do
-		}
-		if (last.indexOf("(") > -1 && !last.endsWith(")")) {
-			last = last.substring(0, last.indexOf("("));
-		} else if (last.indexOf("(") > -1 && last.endsWith(")")) {
-			last = "";
-		}
-		return last;
-	}
-
-	/**
-	 * The DSLTree is configurable. It can either return just the child of the
-	 * last token found, or it can traverse the tree and generate all the
-	 * combinations beneath the last matching node. TODO I don't know how to add
-	 * configuration to the editor, so it needs to be hooked up to the
-	 * configuration for the editor later.
-	 * 
-	 * @param last
-	 * @return
-	 */
-	protected List getProposals(DSLAdapter adapter, String obj, String last) {
-		if (last.length() == 0) {
-			last = " ";
-		}
-		return adapter.getDSLTree().getChildrenList(obj, last, true);
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/completion/DSLRuleCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,168 @@
+package org.drools.eclipse.dsl.editor.completion;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.dsl.editor.DSLAdapter;
+import org.drools.eclipse.dsl.editor.DSLRuleEditor;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
+import org.drools.eclipse.editors.completion.RuleCompletionProposal;
+import org.drools.lang.Location;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * For handling DSL rules.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DSLRuleCompletionProcessor extends RuleCompletionProcessor {
+
+	private static final Image DSL_ICON = 
+		DroolsPluginImages.getImage(DroolsPluginImages.DSL_EXPRESSION);
+
+	public DSLRuleCompletionProcessor(AbstractRuleEditor editor) {
+		super(editor);
+	}
+
+    protected DSLRuleEditor getDSLRuleEditor() {
+    	return (DSLRuleEditor) getEditor();
+    }
+    
+	protected void addRHSCompletionProposals(List list, int documentOffset, String prefix, String backText,
+			String conditions, String consequence) {
+		// super.addRHSCompletionProposals(list, documentOffset, prefix, backText, conditions, consequence);
+		DSLAdapter adapter = getDSLRuleEditor().getDSLAdapter();
+		if (adapter != null) {
+			List dslConsequences = adapter.getDSLTree().getConsequenceChildrenList(prefix, true);
+			addDSLProposals(list, documentOffset, prefix, dslConsequences);
+		}
+	}
+	
+	protected void addLHSCompletionProposals(List list, int documentOffset,
+			Location location, String prefix, String backText) {
+		// super.addLHSCompletionProposals(list, documentOffset, location, prefix, backText);
+		DSLAdapter adapter = getDSLRuleEditor().getDSLAdapter();
+		if (adapter != null) {
+			String lastobj = this.getLastNonDashLine(backText);
+			String last = this.getLastLine(backText);
+			// we have to check if the last line is when. if it is we set
+			// the last line to zero length string
+			if (last.equals("when")) {
+				last = "";
+				lastobj = "*";
+			}
+			// pass the last string in the backText to getProposals
+			List dslConditions = this.getProposals(adapter, lastobj, last);
+			// if we couldn't find any matches, we add the list from
+			// the DSLAdapter so that there's something
+			if (dslConditions.size() == 0) {
+				dslConditions.addAll(adapter.listConditionItems());
+			}
+			addDSLProposals(list, documentOffset, prefix, dslConditions);
+		}
+	}
+	
+	private void addDSLProposals(final List list, int documentOffset, final String prefix, List dslItems) {
+		Iterator iterator = dslItems.iterator();
+		while (iterator.hasNext()) {
+			String consequence = (String) iterator.next();
+			RuleCompletionProposal p = new RuleCompletionProposal(
+				documentOffset - prefix.length(), prefix.length(), consequence);
+			p.setImage(DSL_ICON);
+			list.add(p);
+		}
+	}
+
+	/**
+	 * because of how the backText works, we need to get the last line, so that
+	 * we can pass it to the DSLUtility
+	 * 
+	 * @param backText
+	 * @return
+	 */
+	public String getLastLine(String backText) {
+		BufferedReader breader = new BufferedReader(new StringReader(backText));
+		String last = "";
+		String line = null;
+		try {
+			while ((line = breader.readLine()) != null) {
+				// only if the line has text do we set last to it
+				if (line.length() > 0) {
+					last = line;
+				}
+			}
+		} catch (IOException e) {
+			// TODO need to log this.
+			// I'm leaving this for mic_hat, so he has something to do
+		}
+		// now that all the conditions for a single object are on the same line
+		// we need to check for the left parenthesis
+		if (last.indexOf("(") > -1) {
+			last = last.substring(last.lastIndexOf("(") + 1);
+		}
+		// if the string has a comma "," we get the substring starting from
+		// the index after the last comma
+		if (last.indexOf(",") > -1) {
+			last = last.substring(last.lastIndexOf(",") + 1);
+		}
+		// if the line ends with right parenthesis, we change it to zero length
+		// string
+		if (last.endsWith(")")) {
+			last = "";
+		}
+		return last;
+	}
+
+	/**
+	 * Returns the last line that doesn't start with a dash
+	 * 
+	 * @param backText
+	 * @return
+	 */
+	public String getLastNonDashLine(String backText) {
+		BufferedReader breader = new BufferedReader(new StringReader(backText));
+		String last = "";
+		String line = null;
+		try {
+			while ((line = breader.readLine()) != null) {
+				// there may be blank lines, so we trim first
+				line = line.trim();
+				// only if the line has text do we set last to it
+				if (line.length() > 0 && !line.startsWith("-")) {
+					last = line;
+				}
+			}
+		} catch (IOException e) {
+			// TODO need to log this.
+			// I'm leaving this for mic_hat, so he has something to do
+		}
+		if (last.indexOf("(") > -1 && !last.endsWith(")")) {
+			last = last.substring(0, last.indexOf("("));
+		} else if (last.indexOf("(") > -1 && last.endsWith(")")) {
+			last = "";
+		}
+		return last;
+	}
+
+	/**
+	 * The DSLTree is configurable. It can either return just the child of the
+	 * last token found, or it can traverse the tree and generate all the
+	 * combinations beneath the last matching node. TODO I don't know how to add
+	 * configuration to the editor, so it needs to be hooked up to the
+	 * configuration for the editor later.
+	 * 
+	 * @param last
+	 * @return
+	 */
+	protected List getProposals(DSLAdapter adapter, String obj, String last) {
+		if (last.length() == 0) {
+			last = " ";
+		}
+		return adapter.getDSLTree().getChildrenList(obj, last, true);
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,172 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.HashMap;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.outline.RuleContentOutlinePage;
-import org.drools.eclipse.editors.scanners.RuleEditorMessages;
-import org.drools.eclipse.preferences.IDroolsConstants;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.ui.actions.ToggleBreakpointAction;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotation;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel;
-import org.eclipse.jface.text.source.projection.ProjectionSupport;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
-import org.eclipse.ui.texteditor.TextOperationAction;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * Abstract text-based rule editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class AbstractRuleEditor extends TextEditor {
-
-	protected RuleContentOutlinePage ruleContentOutline = null;
-
-    protected Annotation[] oldAnnotations;
-    protected ProjectionAnnotationModel annotationModel;
-	protected DroolsPairMatcher bracketMatcher = new DroolsPairMatcher();
-	
-	public AbstractRuleEditor() {
-		setSourceViewerConfiguration(createSourceViewerConfiguration());
-		setDocumentProvider(createDocumentProvider());
-		getPreferenceStore().setDefault(IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS, true);
-		PreferenceConverter.setDefault(getPreferenceStore(), IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS_COLOR, new RGB(192, 192, 192));
-    }
-	
-	protected SourceViewerConfiguration createSourceViewerConfiguration() {
-		return new DRLSourceViewerConfig(this); 
-	}
-
-    protected IDocumentProvider createDocumentProvider() {
-    	return new DRLDocumentProvider();
-    }
-
-	public void createPartControl(Composite parent) {
-		super.createPartControl(parent);
-		ProjectionViewer viewer = (ProjectionViewer) getSourceViewer();
-		ProjectionSupport projectionSupport = new ProjectionSupport(viewer,
-			getAnnotationAccess(), getSharedColors());
-		projectionSupport.install();
-		// turn projection mode on
-		viewer.doOperation(ProjectionViewer.TOGGLE);
-		annotationModel = viewer.getProjectionAnnotationModel();
-	}
-	
-	protected ISourceViewer createSourceViewer(Composite parent,
-			IVerticalRuler ruler, int styles) {
-		ISourceViewer viewer = new ProjectionViewer(parent, ruler,
-				getOverviewRuler(), isOverviewRulerVisible(), styles);
-		// ensure decoration support has been created and configured.
-		getSourceViewerDecorationSupport(viewer);
-		return viewer;
-	}
-	
-	protected void configureSourceViewerDecorationSupport(SourceViewerDecorationSupport support) {
-		support.setCharacterPairMatcher(bracketMatcher);
-		support.setMatchingCharacterPainterPreferenceKeys(
-			IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS,
-			IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS_COLOR);
-		super.configureSourceViewerDecorationSupport(support);
-	}
-	
-	public void updateFoldingStructure(List positions) {
-		Annotation[] annotations = new Annotation[positions.size()];
-		// this will hold the new annotations along
-		// with their corresponding positions
-		HashMap newAnnotations = new HashMap();
-		for (int i = 0; i < positions.size(); i++) {
-			ProjectionAnnotation annotation = new ProjectionAnnotation();
-			newAnnotations.put(annotation, positions.get(i));
-			annotations[i] = annotation;
-		}
-		annotationModel.modifyAnnotations(oldAnnotations, newAnnotations, null);
-		oldAnnotations = annotations;
-	}
-
-	/** For user triggered content assistance */
-	protected void createActions() {
-		super.createActions();
-
-		IAction a = new TextOperationAction(RuleEditorMessages
-				.getResourceBundle(), "ContentAssistProposal.", this,
-				ISourceViewer.CONTENTASSIST_PROPOSALS);
-		a
-				.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-		setAction("ContentAssistProposal", a);
-
-		a = new TextOperationAction(
-				RuleEditorMessages.getResourceBundle(),
-				"ContentAssistTip.", this, ISourceViewer.CONTENTASSIST_CONTEXT_INFORMATION); //$NON-NLS-1$
-		a
-				.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_CONTEXT_INFORMATION);
-		setAction("ContentAssistTip", a);
-		
-		a = new ToggleBreakpointAction(getSite().getPart() , null, getVerticalRuler());
-		setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, a);
-
-	}
-	
-    protected ContentOutlinePage getContentOutline() {
-        if (ruleContentOutline == null) {
-            ruleContentOutline = new RuleContentOutlinePage(this);
-            ruleContentOutline.update();
-        }
-        return ruleContentOutline;
-    }
-
-	public String getContent() {
-		return getSourceViewer().getDocument().get();
-	}
-	
-	public IResource getResource() {
-		if (getEditorInput() instanceof IFileEditorInput) {
-			return ((IFileEditorInput) getEditorInput()).getFile();
-		}
-		return null;
-	}
-	
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IContentOutlinePage.class)) {
-			return getContentOutline();
-		}
-		return super.getAdapter(adapter);
-	}
-
-	public void doSave(IProgressMonitor monitor) {
-		// invalidate cached parsed rules
-		DroolsEclipsePlugin.getDefault().invalidateResource(getResource());
-		// save
-		super.doSave(monitor);
-		// update outline view
-		if (ruleContentOutline != null) {
-			ruleContentOutline.update();
-		}
-	}
-
-	public void dispose() {
-		super.dispose();
-		if (bracketMatcher != null) {
-			bracketMatcher.dispose();
-			bracketMatcher = null;
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/AbstractRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,172 @@
+package org.drools.eclipse.editors;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.outline.RuleContentOutlinePage;
+import org.drools.eclipse.editors.scanners.RuleEditorMessages;
+import org.drools.eclipse.preferences.IDroolsConstants;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.ui.actions.ToggleBreakpointAction;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.preference.PreferenceConverter;
+import org.eclipse.jface.text.source.Annotation;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.IVerticalRuler;
+import org.eclipse.jface.text.source.SourceViewerConfiguration;
+import org.eclipse.jface.text.source.projection.ProjectionAnnotation;
+import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel;
+import org.eclipse.jface.text.source.projection.ProjectionSupport;
+import org.eclipse.jface.text.source.projection.ProjectionViewer;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.editors.text.TextEditor;
+import org.eclipse.ui.texteditor.IDocumentProvider;
+import org.eclipse.ui.texteditor.ITextEditorActionConstants;
+import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
+import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
+import org.eclipse.ui.texteditor.TextOperationAction;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+/**
+ * Abstract text-based rule editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class AbstractRuleEditor extends TextEditor {
+
+	protected RuleContentOutlinePage ruleContentOutline = null;
+
+    protected Annotation[] oldAnnotations;
+    protected ProjectionAnnotationModel annotationModel;
+	protected DroolsPairMatcher bracketMatcher = new DroolsPairMatcher();
+	
+	public AbstractRuleEditor() {
+		setSourceViewerConfiguration(createSourceViewerConfiguration());
+		setDocumentProvider(createDocumentProvider());
+		getPreferenceStore().setDefault(IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS, true);
+		PreferenceConverter.setDefault(getPreferenceStore(), IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS_COLOR, new RGB(192, 192, 192));
+    }
+	
+	protected SourceViewerConfiguration createSourceViewerConfiguration() {
+		return new DRLSourceViewerConfig(this); 
+	}
+
+    protected IDocumentProvider createDocumentProvider() {
+    	return new DRLDocumentProvider();
+    }
+
+	public void createPartControl(Composite parent) {
+		super.createPartControl(parent);
+		ProjectionViewer viewer = (ProjectionViewer) getSourceViewer();
+		ProjectionSupport projectionSupport = new ProjectionSupport(viewer,
+			getAnnotationAccess(), getSharedColors());
+		projectionSupport.install();
+		// turn projection mode on
+		viewer.doOperation(ProjectionViewer.TOGGLE);
+		annotationModel = viewer.getProjectionAnnotationModel();
+	}
+	
+	protected ISourceViewer createSourceViewer(Composite parent,
+			IVerticalRuler ruler, int styles) {
+		ISourceViewer viewer = new ProjectionViewer(parent, ruler,
+				getOverviewRuler(), isOverviewRulerVisible(), styles);
+		// ensure decoration support has been created and configured.
+		getSourceViewerDecorationSupport(viewer);
+		return viewer;
+	}
+	
+	protected void configureSourceViewerDecorationSupport(SourceViewerDecorationSupport support) {
+		support.setCharacterPairMatcher(bracketMatcher);
+		support.setMatchingCharacterPainterPreferenceKeys(
+			IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS,
+			IDroolsConstants.DRL_EDITOR_MATCHING_BRACKETS_COLOR);
+		super.configureSourceViewerDecorationSupport(support);
+	}
+	
+	public void updateFoldingStructure(List positions) {
+		Annotation[] annotations = new Annotation[positions.size()];
+		// this will hold the new annotations along
+		// with their corresponding positions
+		HashMap newAnnotations = new HashMap();
+		for (int i = 0; i < positions.size(); i++) {
+			ProjectionAnnotation annotation = new ProjectionAnnotation();
+			newAnnotations.put(annotation, positions.get(i));
+			annotations[i] = annotation;
+		}
+		annotationModel.modifyAnnotations(oldAnnotations, newAnnotations, null);
+		oldAnnotations = annotations;
+	}
+
+	/** For user triggered content assistance */
+	protected void createActions() {
+		super.createActions();
+
+		IAction a = new TextOperationAction(RuleEditorMessages
+				.getResourceBundle(), "ContentAssistProposal.", this,
+				ISourceViewer.CONTENTASSIST_PROPOSALS);
+		a
+				.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
+		setAction("ContentAssistProposal", a);
+
+		a = new TextOperationAction(
+				RuleEditorMessages.getResourceBundle(),
+				"ContentAssistTip.", this, ISourceViewer.CONTENTASSIST_CONTEXT_INFORMATION); //$NON-NLS-1$
+		a
+				.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_CONTEXT_INFORMATION);
+		setAction("ContentAssistTip", a);
+		
+		a = new ToggleBreakpointAction(getSite().getPart() , null, getVerticalRuler());
+		setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, a);
+
+	}
+	
+    protected ContentOutlinePage getContentOutline() {
+        if (ruleContentOutline == null) {
+            ruleContentOutline = new RuleContentOutlinePage(this);
+            ruleContentOutline.update();
+        }
+        return ruleContentOutline;
+    }
+
+	public String getContent() {
+		return getSourceViewer().getDocument().get();
+	}
+	
+	public IResource getResource() {
+		if (getEditorInput() instanceof IFileEditorInput) {
+			return ((IFileEditorInput) getEditorInput()).getFile();
+		}
+		return null;
+	}
+	
+	public Object getAdapter(Class adapter) {
+		if (adapter.equals(IContentOutlinePage.class)) {
+			return getContentOutline();
+		}
+		return super.getAdapter(adapter);
+	}
+
+	public void doSave(IProgressMonitor monitor) {
+		// invalidate cached parsed rules
+		DroolsEclipsePlugin.getDefault().invalidateResource(getResource());
+		// save
+		super.doSave(monitor);
+		// update outline view
+		if (ruleContentOutline != null) {
+			ruleContentOutline.update();
+		}
+	}
+
+	public void dispose() {
+		super.dispose();
+		if (bracketMatcher != null) {
+			bracketMatcher.dispose();
+			bracketMatcher = null;
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,45 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Drools color manager.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ColorManager {
-
-    private static final ColorManager INSTANCE = new ColorManager();
-    
-    public static final RGB SINGLE_LINE_COMMENT = new RGB(128, 128, 0);
-    public static final RGB KEYWORD = new RGB(150, 0, 0);
-    public static final RGB STRING = new RGB(0, 128, 0); 
-
-	protected Map colorTable = new HashMap(10);
-
-	void dispose() {
-		Iterator e = colorTable.values().iterator();
-		while (e.hasNext()) {
-			 ((Color) e.next()).dispose();
-		}
-	}
-    
-    public static ColorManager getInstance() {
-        return INSTANCE;
-    }
-    
-	public Color getColor(RGB rgb) {
-		Color color = (Color) colorTable.get(rgb);
-		if (color == null) {
-			color = new Color(Display.getCurrent(), rgb);
-			colorTable.put(rgb, color);
-		}
-		return color;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ColorManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,45 @@
+package org.drools.eclipse.editors;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * Drools color manager.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ColorManager {
+
+    private static final ColorManager INSTANCE = new ColorManager();
+    
+    public static final RGB SINGLE_LINE_COMMENT = new RGB(128, 128, 0);
+    public static final RGB KEYWORD = new RGB(150, 0, 0);
+    public static final RGB STRING = new RGB(0, 128, 0); 
+
+	protected Map colorTable = new HashMap(10);
+
+	void dispose() {
+		Iterator e = colorTable.values().iterator();
+		while (e.hasNext()) {
+			 ((Color) e.next()).dispose();
+		}
+	}
+    
+    public static ColorManager getInstance() {
+        return INSTANCE;
+    }
+    
+	public Color getColor(RGB rgb) {
+		Color color = (Color) colorTable.get(rgb);
+		if (color == null) {
+			color = new Color(Display.getCurrent(), rgb);
+			colorTable.put(rgb, color);
+		}
+		return color;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,39 +0,0 @@
-package org.drools.eclipse.editors;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.debug.core.IDroolsDebugConstants;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Position;
-import org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel;
-
-/**
- * Drools annotation model.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DRLAnnotationModel extends ResourceMarkerAnnotationModel {
-
-	public DRLAnnotationModel(IResource resource) {
-		super(resource);
-	}
-
-	protected Position createPositionFromMarker(IMarker marker) {
-        try {
-        	if (!marker.getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
-	            return super.createPositionFromMarker(marker);
-	        }
-	        int line = marker.getAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, -1);
-	        try {
-	        	return new Position(fDocument.getLineOffset(line - 1));
-	        } catch (BadLocationException exc) {
-	        	return super.createPositionFromMarker(marker);
-	        }
-        } catch (CoreException exc) {
-        	DroolsEclipsePlugin.log(exc);
-        	return null;
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLAnnotationModel.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,39 @@
+package org.drools.eclipse.editors;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.debug.core.IDroolsDebugConstants;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.Position;
+import org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel;
+
+/**
+ * Drools annotation model.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DRLAnnotationModel extends ResourceMarkerAnnotationModel {
+
+	public DRLAnnotationModel(IResource resource) {
+		super(resource);
+	}
+
+	protected Position createPositionFromMarker(IMarker marker) {
+        try {
+        	if (!marker.getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
+	            return super.createPositionFromMarker(marker);
+	        }
+	        int line = marker.getAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, -1);
+	        try {
+	        	return new Position(fDocument.getLineOffset(line - 1));
+	        } catch (BadLocationException exc) {
+	        	return super.createPositionFromMarker(marker);
+	        }
+        } catch (CoreException exc) {
+        	DroolsEclipsePlugin.log(exc);
+        	return null;
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.editors;
-
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.editors.text.TextFileDocumentProvider;
-
-
-/**
- * Simple document provider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DRLDocumentProvider extends TextFileDocumentProvider {
-	
-	public IDocument getDocument(Object element) {
-        IDocument document = getParentDocument(element); 
-        if (document != null) {
-            IDocumentPartitioner partitioner =
-                new FastPartitioner(
-                    new DRLPartionScanner(),
-                    DRLPartionScanner.LEGAL_CONTENT_TYPES);
-            partitioner.connect(document);
-            document.setDocumentPartitioner(partitioner);
-        }
-        return document;
-    }
-    
-    protected IAnnotationModel createAnnotationModel(IFile file) {
-        return new DRLAnnotationModel(file);
-	}
-    
-    protected IDocument getParentDocument(Object element) {
-        return super.getDocument(element);
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.editors;
+
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.jface.text.source.IAnnotationModel;
+import org.eclipse.ui.editors.text.TextFileDocumentProvider;
+
+
+/**
+ * Simple document provider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DRLDocumentProvider extends TextFileDocumentProvider {
+	
+	public IDocument getDocument(Object element) {
+        IDocument document = getParentDocument(element); 
+        if (document != null) {
+            IDocumentPartitioner partitioner =
+                new FastPartitioner(
+                    new DRLPartionScanner(),
+                    DRLPartionScanner.LEGAL_CONTENT_TYPES);
+            partitioner.connect(document);
+            document.setDocumentPartitioner(partitioner);
+        }
+        return document;
+    }
+    
+    protected IAnnotationModel createAnnotationModel(IFile file) {
+        return new DRLAnnotationModel(file);
+	}
+    
+    protected IDocument getParentDocument(Object element) {
+        return super.getDocument(element);
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-package org.drools.eclipse.editors;
-
-import org.eclipse.jface.text.source.Annotation;
-
-/**
- * Problem annotation for Drools.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DRLProblemAnnotation extends Annotation {
-
-	public static final String ERROR = "org.drools.eclipse.editors.error_annotation";
-	
-	public DRLProblemAnnotation(String text) {
-		super(ERROR, false, text);
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLProblemAnnotation.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+package org.drools.eclipse.editors;
+
+import org.eclipse.jface.text.source.Annotation;
+
+/**
+ * Problem annotation for Drools.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DRLProblemAnnotation extends Annotation {
+
+	public static final String ERROR = "org.drools.eclipse.editors.error_annotation";
+	
+	public DRLProblemAnnotation(String text) {
+		super(ERROR, false, text);
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,150 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.preferences.IDroolsConstants;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.widgets.Display;
-
-public class DRLReconcilingStrategy implements IReconcilingStrategy {
-
-    private static final Pattern RULE_PATTERN = Pattern.compile("\\n\\s*(rule\\s+.*?\\n\\s*end)", Pattern.DOTALL);
-    private static final Pattern TEMPLATE_PATTERN = Pattern.compile("\\n\\s*(template\\s+.*?\\n\\s*end)", Pattern.DOTALL);
-    private static final Pattern QUERY_PATTERN = Pattern.compile("\\n\\s*(query\\s+.*?\\n\\s*end)", Pattern.DOTALL);
-    private static final Pattern FUNCTION_PATTERN = Pattern.compile("\\n\\s*(function\\s+[^\\{]*\\{)", Pattern.DOTALL);
-    private static final Pattern IMPORT_PATTERN = Pattern.compile("\\n\\s*((\\s*import\\s+[^\\s;]+;?[\\t\\x0B\\f\\r]*\\n)+)", Pattern.DOTALL);
-    
-	private ISourceViewer sourceViewer;
-	private AbstractRuleEditor editor;
-	private IDocument document;
-    private boolean folding;
-
-	public DRLReconcilingStrategy(ISourceViewer sourceViewer, final AbstractRuleEditor editor) {
-		this.sourceViewer = sourceViewer;
-		this.editor = editor;
-		IPreferenceStore preferenceStore = DroolsEclipsePlugin.getDefault().getPreferenceStore();
-    	folding = preferenceStore.getBoolean(IDroolsConstants.EDITOR_FOLDING);
-    	preferenceStore.addPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (IDroolsConstants.EDITOR_FOLDING.equals(event.getProperty())) {
-					folding = ((Boolean) event.getNewValue()).booleanValue();
-					if (folding) {
-						reconcile();
-					} else {
-						Display.getDefault().asyncExec(new Runnable() {
-							public void run() {
-								editor.updateFoldingStructure(new ArrayList());
-							}
-						});
-					}
-				}
-			}
-    	});
-    }
-
-	public void setDocument(IDocument document) {
-		this.document = document;
-		reconcile();
-	}
-
-	public void reconcile(DirtyRegion dirtyRegion, IRegion region) {
-		reconcile();
-	}
-
-	public void reconcile(IRegion region) {
-		reconcile();
-	}
-
-	private void reconcile() {
-		if (document != null) {
-            String s = document.get();
-            if (folding) {
-            	calculateFolding(s);
-            }
-            
-//			IFile file = ((IFileEditorInput) input).getFile();
-//			IAnnotationModel annotationModel = sourceViewer.getAnnotationModel();
-//	        removeAnnotationsFor(annotationModel);
-//            DroolsBuildMarker[] markers = DroolsBuilder.parseFile(file, s);
-//            for (int i = 0; i < markers.length; i++) {
-//            	createAnnotation(file, annotationModel, markers[i].getText(), markers[i].getOffset(), markers[i].getLength());
-//            }
-		} 
-    }
-
-    private static void createAnnotation(IFile file, final IAnnotationModel annotationModel, final String message, final int offset, final int length) {
-		Annotation annotation = new DRLProblemAnnotation(message);
-		Position position = new Position(0, 1);
-//		Position position = new Position(offset, length);
-        annotationModel.addAnnotation(annotation, position);
-    }
-    
-    public static void removeAnnotationsFor(IAnnotationModel annotationModel) {
-		Iterator iterator = annotationModel.getAnnotationIterator();
-		while (iterator.hasNext()) {
-			Annotation annotation = (Annotation) iterator.next();
-			if (annotation instanceof DRLProblemAnnotation) {
-				annotationModel.removeAnnotation(annotation);
-			}
-		}
-    }
-
-    protected void calculateFolding(String input) {
-    	// TODO replace this parsing by getting this input from the parsed rule file
-    	final List positions = new ArrayList();
-        Matcher matcher = RULE_PATTERN.matcher(input);
-        while (matcher.find()) {
-			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
-        }
-        matcher = QUERY_PATTERN.matcher(input);
-        while (matcher.find()) {
-			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
-        }
-        matcher = TEMPLATE_PATTERN.matcher(input);
-        while (matcher.find()) {
-			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
-        }
-        matcher = IMPORT_PATTERN.matcher(input);
-        while (matcher.find()) {
-			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
-        }
-        matcher = FUNCTION_PATTERN.matcher(input);
-        while (matcher.find()) {
-        	int start = matcher.start(1);
-        	// TODO also take comments, strings etc. in consideration
-        	// use JavaPairMatcher or similar
-        	int nbOpenBrackets = 1;
-        	for (int i = matcher.end(); i < input.length(); i++) {
-    			if (input.charAt(i) == '{') {
-    				nbOpenBrackets++;
-    			} else if (input.charAt(i) == '}') {
-    				if (--nbOpenBrackets == 0) {
-            			positions.add(new Position(start, i - start + 1));
-            			break;
-    				}
-    			}
-        	}
-        }
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				editor.updateFoldingStructure(positions);
-			}
-		});
-	}
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLReconcilingStrategy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,150 @@
+package org.drools.eclipse.editors;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.preferences.IDroolsConstants;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Position;
+import org.eclipse.jface.text.reconciler.DirtyRegion;
+import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
+import org.eclipse.jface.text.source.Annotation;
+import org.eclipse.jface.text.source.IAnnotationModel;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.widgets.Display;
+
+public class DRLReconcilingStrategy implements IReconcilingStrategy {
+
+    private static final Pattern RULE_PATTERN = Pattern.compile("\\n\\s*(rule\\s+.*?\\n\\s*end)", Pattern.DOTALL);
+    private static final Pattern TEMPLATE_PATTERN = Pattern.compile("\\n\\s*(template\\s+.*?\\n\\s*end)", Pattern.DOTALL);
+    private static final Pattern QUERY_PATTERN = Pattern.compile("\\n\\s*(query\\s+.*?\\n\\s*end)", Pattern.DOTALL);
+    private static final Pattern FUNCTION_PATTERN = Pattern.compile("\\n\\s*(function\\s+[^\\{]*\\{)", Pattern.DOTALL);
+    private static final Pattern IMPORT_PATTERN = Pattern.compile("\\n\\s*((\\s*import\\s+[^\\s;]+;?[\\t\\x0B\\f\\r]*\\n)+)", Pattern.DOTALL);
+    
+	private ISourceViewer sourceViewer;
+	private AbstractRuleEditor editor;
+	private IDocument document;
+    private boolean folding;
+
+	public DRLReconcilingStrategy(ISourceViewer sourceViewer, final AbstractRuleEditor editor) {
+		this.sourceViewer = sourceViewer;
+		this.editor = editor;
+		IPreferenceStore preferenceStore = DroolsEclipsePlugin.getDefault().getPreferenceStore();
+    	folding = preferenceStore.getBoolean(IDroolsConstants.EDITOR_FOLDING);
+    	preferenceStore.addPropertyChangeListener(new IPropertyChangeListener() {
+			public void propertyChange(PropertyChangeEvent event) {
+				if (IDroolsConstants.EDITOR_FOLDING.equals(event.getProperty())) {
+					folding = ((Boolean) event.getNewValue()).booleanValue();
+					if (folding) {
+						reconcile();
+					} else {
+						Display.getDefault().asyncExec(new Runnable() {
+							public void run() {
+								editor.updateFoldingStructure(new ArrayList());
+							}
+						});
+					}
+				}
+			}
+    	});
+    }
+
+	public void setDocument(IDocument document) {
+		this.document = document;
+		reconcile();
+	}
+
+	public void reconcile(DirtyRegion dirtyRegion, IRegion region) {
+		reconcile();
+	}
+
+	public void reconcile(IRegion region) {
+		reconcile();
+	}
+
+	private void reconcile() {
+		if (document != null) {
+            String s = document.get();
+            if (folding) {
+            	calculateFolding(s);
+            }
+            
+//			IFile file = ((IFileEditorInput) input).getFile();
+//			IAnnotationModel annotationModel = sourceViewer.getAnnotationModel();
+//	        removeAnnotationsFor(annotationModel);
+//            DroolsBuildMarker[] markers = DroolsBuilder.parseFile(file, s);
+//            for (int i = 0; i < markers.length; i++) {
+//            	createAnnotation(file, annotationModel, markers[i].getText(), markers[i].getOffset(), markers[i].getLength());
+//            }
+		} 
+    }
+
+    private static void createAnnotation(IFile file, final IAnnotationModel annotationModel, final String message, final int offset, final int length) {
+		Annotation annotation = new DRLProblemAnnotation(message);
+		Position position = new Position(0, 1);
+//		Position position = new Position(offset, length);
+        annotationModel.addAnnotation(annotation, position);
+    }
+    
+    public static void removeAnnotationsFor(IAnnotationModel annotationModel) {
+		Iterator iterator = annotationModel.getAnnotationIterator();
+		while (iterator.hasNext()) {
+			Annotation annotation = (Annotation) iterator.next();
+			if (annotation instanceof DRLProblemAnnotation) {
+				annotationModel.removeAnnotation(annotation);
+			}
+		}
+    }
+
+    protected void calculateFolding(String input) {
+    	// TODO replace this parsing by getting this input from the parsed rule file
+    	final List positions = new ArrayList();
+        Matcher matcher = RULE_PATTERN.matcher(input);
+        while (matcher.find()) {
+			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
+        }
+        matcher = QUERY_PATTERN.matcher(input);
+        while (matcher.find()) {
+			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
+        }
+        matcher = TEMPLATE_PATTERN.matcher(input);
+        while (matcher.find()) {
+			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
+        }
+        matcher = IMPORT_PATTERN.matcher(input);
+        while (matcher.find()) {
+			positions.add(new Position(matcher.start(1), matcher.end(1) - matcher.start(1)));
+        }
+        matcher = FUNCTION_PATTERN.matcher(input);
+        while (matcher.find()) {
+        	int start = matcher.start(1);
+        	// TODO also take comments, strings etc. in consideration
+        	// use JavaPairMatcher or similar
+        	int nbOpenBrackets = 1;
+        	for (int i = matcher.end(); i < input.length(); i++) {
+    			if (input.charAt(i) == '{') {
+    				nbOpenBrackets++;
+    			} else if (input.charAt(i) == '}') {
+    				if (--nbOpenBrackets == 0) {
+            			positions.add(new Position(start, i - start + 1));
+            			break;
+    				}
+    			}
+        	}
+        }
+		Display.getDefault().asyncExec(new Runnable() {
+			public void run() {
+				editor.updateFoldingStructure(positions);
+			}
+		});
+	}
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,295 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.compiler.DroolsParserException;
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.debug.core.IDroolsDebugConstants;
-import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.FactTemplateDescr;
-import org.drools.lang.descr.FunctionDescr;
-import org.drools.lang.descr.FunctionImportDescr;
-import org.drools.lang.descr.GlobalDescr;
-import org.drools.lang.descr.ImportDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.jdt.core.CompletionRequestor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-
-/**
- * Generic rule editor for drools.
- * @author Michael Neale
- */
-public class DRLRuleEditor extends AbstractRuleEditor {
-
-    protected List imports;
-    protected List functions;
-    protected Map templates;
-    protected List globals;
-    protected String packageName;
-    protected List classesInPackage;
-	protected Map attributes;
-
-    public DRLRuleEditor() {
-	}
-
-	public List getImports() {
-		if (imports == null || isDirty()) {
-			loadImportsAndFunctions();
-		}
-		return imports;
-	}
-
-	public List getFunctions() {
-		if (functions == null) {
-			loadImportsAndFunctions();
-		}
-		return functions;
-	}
-
-	public Set getTemplates() {
-		if (templates == null) {
-			loadImportsAndFunctions();
-		}
-		return templates.keySet();
-	}
-
-	public Map getAttributes() {
-		if ( attributes == null ) {
-			loadImportsAndFunctions();
-		}
-		return attributes;
-	}
-
-
-	public FactTemplateDescr getTemplate(String name) {
-		if (templates == null) {
-			loadImportsAndFunctions();
-		}
-		return (FactTemplateDescr) templates.get(name);
-	}
-
-	public List getGlobals() {
-		if (globals == null ) {
-			loadImportsAndFunctions();
-		}
-		return globals;
-	}
-
-	public String getPackage() {
-		if (packageName == null) {
-			loadImportsAndFunctions();
-		}
-		return packageName;
-	}
-
-	public List getClassesInPackage() {
-		if (classesInPackage == null) {
-			classesInPackage = getAllClassesInPackage(getPackage());
-		}
-		return classesInPackage;
-	}
-
-	protected List getAllClassesInPackage(String packageName) {
-		List list = new ArrayList();
-		if (packageName != null) {
-			IEditorInput input = getEditorInput();
-			if (input instanceof IFileEditorInput) {
-				IProject project = ((IFileEditorInput) input).getFile().getProject();
-				IJavaProject javaProject = JavaCore.create(project);
-				list = getAllClassesInPackage(packageName, javaProject);
-			}
-		}
-		return list;
-	}
-
-	public static List getAllClassesInPackage(String packageName, IJavaProject javaProject) {
-		final List list = new ArrayList();
-		CompletionRequestor requestor = new CompletionRequestor() {
-			public void accept(org.eclipse.jdt.core.CompletionProposal proposal) {
-				String className = new String(proposal.getCompletion());
-				if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF) {
-					list.add(className);
-				}
-				// ignore all other proposals
-			}
-		};
-
-		try {
-			javaProject.newEvaluationContext().codeComplete(packageName + ".", packageName.length() + 1, requestor);
-		} catch (Throwable t) {
-			DroolsEclipsePlugin.log(t);
-		}
-		return list;
-	}
-
-	protected List getAllStaticMethodsInClass(String className) {
-		final List list = new ArrayList();
-		if (className != null) {
-			IEditorInput input = getEditorInput();
-			if (input instanceof IFileEditorInput) {
-				IProject project = ((IFileEditorInput) input).getFile().getProject();
-				IJavaProject javaProject = JavaCore.create(project);
-
-				CompletionRequestor requestor = new CompletionRequestor() {
-					public void accept(org.eclipse.jdt.core.CompletionProposal proposal) {
-						String functionName = new String(proposal.getCompletion());
-						if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.METHOD_REF) {
-							list.add(functionName.substring(0, functionName.length() - 2)); // remove the ()
-						}
-						// ignore all other proposals
-					}
-				};
-
-				try {
-					javaProject.newEvaluationContext().codeComplete(className + ".", className.length() + 1, requestor);
-				} catch (Throwable t) {
-					DroolsEclipsePlugin.log(t);
-				}
-			}
-		}
-		return list;
-	}
-
-    protected void loadImportsAndFunctions() {
-        try {
-            DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(this, true, false);
-            PackageDescr descr = drlInfo.getPackageDescr();
-            // package
-            this.packageName = drlInfo.getPackageName();
-            // imports
-            List allImports = descr.getImports();
-            this.imports = new ArrayList();
-            if (packageName != null) {
-                imports.addAll(getAllClassesInPackage(packageName));
-            }
-            Iterator iterator = allImports.iterator();
-            while (iterator.hasNext()) {
-                String importName = ((ImportDescr) iterator.next()).getTarget();
-                if (importName.endsWith(".*")) {
-                    String packageName = importName.substring(0, importName.length() - 2);
-                    imports.addAll(getAllClassesInPackage(packageName));
-                } else {
-                    imports.add(importName);
-                }
-            }
-            // functions
-            List functionDescrs = descr.getFunctions();
-            List functionImports = descr.getFunctionImports();
-            functions = new ArrayList(functionDescrs.size());
-            iterator = functionDescrs.iterator();
-            while (iterator.hasNext()) {
-                functions.add(((FunctionDescr) iterator.next()).getName());
-            }
-            iterator = functionImports.iterator();
-            while (iterator.hasNext()) {
-                String functionImport = ((FunctionImportDescr) iterator.next()).getTarget();
-                if (functionImport.endsWith(".*")) {
-                    String className = functionImport.substring(0, functionImport.length() - 2);
-                    functions.addAll(getAllStaticMethodsInClass(className));
-                } else {
-                    int index = functionImport.lastIndexOf('.');
-                    if (index != -1) {
-                        functions.add(functionImport.substring(index + 1));
-                    }
-                }
-            }
-            // templates
-            List templateDescrs = descr.getFactTemplates();
-            templates = new HashMap(templateDescrs.size());
-            iterator = templateDescrs.iterator();
-            while (iterator.hasNext()) {
-                FactTemplateDescr template = (FactTemplateDescr) iterator.next();
-                templates.put(template.getName(), template);
-            }
-            // globals
-            List globalDescrs = descr.getGlobals();
-            globals = new ArrayList();
-            iterator = globalDescrs.iterator();
-            while (iterator.hasNext()) {
-                GlobalDescr global = (GlobalDescr) iterator.next();
-                globals.add(global);
-            }
-
-            //attributes
-            this.attributes = new HashMap();
-        	for (Iterator attrIter = descr.getAttributes().iterator(); attrIter.hasNext();) {
-        		AttributeDescr attribute = (AttributeDescr) attrIter.next();
-        		if (attribute != null && attribute.getName() != null) {
-        			attributes.put(attribute.getName(), attribute.getValue());
-        		}
-        	}
-
-        } catch (DroolsParserException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-    }
-
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IToggleBreakpointsTarget.class)) {
-			return getBreakpointAdapter();
-		}
-		return super.getAdapter(adapter);
-	}
-
-	private Object getBreakpointAdapter() {
-		return new DroolsLineBreakpointAdapter();
-	}
-
-	public void doSave(IProgressMonitor monitor) {
-		super.doSave(monitor);
-		// remove cached content
-		imports = null;
-		functions = null;
-		templates = null;
-		globals = null;
-		packageName = null;
-		classesInPackage = null;
-	}
-
-	public void gotoMarker(IMarker marker) {
-		try {
-			if (marker.getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
-				int line = marker.getAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, -1);
-	            if (line > -1)
-	            	--line;
-	                try {
-	                    IDocument document = getDocumentProvider().getDocument(getEditorInput());
-	                    selectAndReveal(document.getLineOffset(line), document.getLineLength(line));
-	                } catch(BadLocationException exc) {
-	                	DroolsEclipsePlugin.log(exc);
-	                }
-			} else {
-				super.gotoMarker(marker);
-			}
-		} catch (CoreException exc) {
-			DroolsEclipsePlugin.log(exc);
-		}
-	}
-
-
-	public BaseDescr getDescr(int offset) {
-		try {
-			DRLInfo info = DroolsEclipsePlugin.getDefault().parseResource(this, true, false);
-			return DescrUtil.getDescr(info.getPackageDescr(), offset);
-		} catch (DroolsParserException exc) {
-			return null;
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,295 @@
+package org.drools.eclipse.editors;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.compiler.DroolsParserException;
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.debug.core.IDroolsDebugConstants;
+import org.drools.lang.descr.AttributeDescr;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.FunctionImportDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.lang.descr.ImportDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
+import org.eclipse.jdt.core.CompletionRequestor;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IFileEditorInput;
+
+/**
+ * Generic rule editor for drools.
+ * @author Michael Neale
+ */
+public class DRLRuleEditor extends AbstractRuleEditor {
+
+    protected List imports;
+    protected List functions;
+    protected Map templates;
+    protected List globals;
+    protected String packageName;
+    protected List classesInPackage;
+	protected Map attributes;
+
+    public DRLRuleEditor() {
+	}
+
+	public List getImports() {
+		if (imports == null || isDirty()) {
+			loadImportsAndFunctions();
+		}
+		return imports;
+	}
+
+	public List getFunctions() {
+		if (functions == null) {
+			loadImportsAndFunctions();
+		}
+		return functions;
+	}
+
+	public Set getTemplates() {
+		if (templates == null) {
+			loadImportsAndFunctions();
+		}
+		return templates.keySet();
+	}
+
+	public Map getAttributes() {
+		if ( attributes == null ) {
+			loadImportsAndFunctions();
+		}
+		return attributes;
+	}
+
+
+	public FactTemplateDescr getTemplate(String name) {
+		if (templates == null) {
+			loadImportsAndFunctions();
+		}
+		return (FactTemplateDescr) templates.get(name);
+	}
+
+	public List getGlobals() {
+		if (globals == null ) {
+			loadImportsAndFunctions();
+		}
+		return globals;
+	}
+
+	public String getPackage() {
+		if (packageName == null) {
+			loadImportsAndFunctions();
+		}
+		return packageName;
+	}
+
+	public List getClassesInPackage() {
+		if (classesInPackage == null) {
+			classesInPackage = getAllClassesInPackage(getPackage());
+		}
+		return classesInPackage;
+	}
+
+	protected List getAllClassesInPackage(String packageName) {
+		List list = new ArrayList();
+		if (packageName != null) {
+			IEditorInput input = getEditorInput();
+			if (input instanceof IFileEditorInput) {
+				IProject project = ((IFileEditorInput) input).getFile().getProject();
+				IJavaProject javaProject = JavaCore.create(project);
+				list = getAllClassesInPackage(packageName, javaProject);
+			}
+		}
+		return list;
+	}
+
+	public static List getAllClassesInPackage(String packageName, IJavaProject javaProject) {
+		final List list = new ArrayList();
+		CompletionRequestor requestor = new CompletionRequestor() {
+			public void accept(org.eclipse.jdt.core.CompletionProposal proposal) {
+				String className = new String(proposal.getCompletion());
+				if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF) {
+					list.add(className);
+				}
+				// ignore all other proposals
+			}
+		};
+
+		try {
+			javaProject.newEvaluationContext().codeComplete(packageName + ".", packageName.length() + 1, requestor);
+		} catch (Throwable t) {
+			DroolsEclipsePlugin.log(t);
+		}
+		return list;
+	}
+
+	protected List getAllStaticMethodsInClass(String className) {
+		final List list = new ArrayList();
+		if (className != null) {
+			IEditorInput input = getEditorInput();
+			if (input instanceof IFileEditorInput) {
+				IProject project = ((IFileEditorInput) input).getFile().getProject();
+				IJavaProject javaProject = JavaCore.create(project);
+
+				CompletionRequestor requestor = new CompletionRequestor() {
+					public void accept(org.eclipse.jdt.core.CompletionProposal proposal) {
+						String functionName = new String(proposal.getCompletion());
+						if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.METHOD_REF) {
+							list.add(functionName.substring(0, functionName.length() - 2)); // remove the ()
+						}
+						// ignore all other proposals
+					}
+				};
+
+				try {
+					javaProject.newEvaluationContext().codeComplete(className + ".", className.length() + 1, requestor);
+				} catch (Throwable t) {
+					DroolsEclipsePlugin.log(t);
+				}
+			}
+		}
+		return list;
+	}
+
+    protected void loadImportsAndFunctions() {
+        try {
+            DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(this, true, false);
+            PackageDescr descr = drlInfo.getPackageDescr();
+            // package
+            this.packageName = drlInfo.getPackageName();
+            // imports
+            List allImports = descr.getImports();
+            this.imports = new ArrayList();
+            if (packageName != null) {
+                imports.addAll(getAllClassesInPackage(packageName));
+            }
+            Iterator iterator = allImports.iterator();
+            while (iterator.hasNext()) {
+                String importName = ((ImportDescr) iterator.next()).getTarget();
+                if (importName.endsWith(".*")) {
+                    String packageName = importName.substring(0, importName.length() - 2);
+                    imports.addAll(getAllClassesInPackage(packageName));
+                } else {
+                    imports.add(importName);
+                }
+            }
+            // functions
+            List functionDescrs = descr.getFunctions();
+            List functionImports = descr.getFunctionImports();
+            functions = new ArrayList(functionDescrs.size());
+            iterator = functionDescrs.iterator();
+            while (iterator.hasNext()) {
+                functions.add(((FunctionDescr) iterator.next()).getName());
+            }
+            iterator = functionImports.iterator();
+            while (iterator.hasNext()) {
+                String functionImport = ((FunctionImportDescr) iterator.next()).getTarget();
+                if (functionImport.endsWith(".*")) {
+                    String className = functionImport.substring(0, functionImport.length() - 2);
+                    functions.addAll(getAllStaticMethodsInClass(className));
+                } else {
+                    int index = functionImport.lastIndexOf('.');
+                    if (index != -1) {
+                        functions.add(functionImport.substring(index + 1));
+                    }
+                }
+            }
+            // templates
+            List templateDescrs = descr.getFactTemplates();
+            templates = new HashMap(templateDescrs.size());
+            iterator = templateDescrs.iterator();
+            while (iterator.hasNext()) {
+                FactTemplateDescr template = (FactTemplateDescr) iterator.next();
+                templates.put(template.getName(), template);
+            }
+            // globals
+            List globalDescrs = descr.getGlobals();
+            globals = new ArrayList();
+            iterator = globalDescrs.iterator();
+            while (iterator.hasNext()) {
+                GlobalDescr global = (GlobalDescr) iterator.next();
+                globals.add(global);
+            }
+
+            //attributes
+            this.attributes = new HashMap();
+        	for (Iterator attrIter = descr.getAttributes().iterator(); attrIter.hasNext();) {
+        		AttributeDescr attribute = (AttributeDescr) attrIter.next();
+        		if (attribute != null && attribute.getName() != null) {
+        			attributes.put(attribute.getName(), attribute.getValue());
+        		}
+        	}
+
+        } catch (DroolsParserException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+    }
+
+	public Object getAdapter(Class adapter) {
+		if (adapter.equals(IToggleBreakpointsTarget.class)) {
+			return getBreakpointAdapter();
+		}
+		return super.getAdapter(adapter);
+	}
+
+	private Object getBreakpointAdapter() {
+		return new DroolsLineBreakpointAdapter();
+	}
+
+	public void doSave(IProgressMonitor monitor) {
+		super.doSave(monitor);
+		// remove cached content
+		imports = null;
+		functions = null;
+		templates = null;
+		globals = null;
+		packageName = null;
+		classesInPackage = null;
+	}
+
+	public void gotoMarker(IMarker marker) {
+		try {
+			if (marker.getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
+				int line = marker.getAttribute(IDroolsDebugConstants.DRL_LINE_NUMBER, -1);
+	            if (line > -1)
+	            	--line;
+	                try {
+	                    IDocument document = getDocumentProvider().getDocument(getEditorInput());
+	                    selectAndReveal(document.getLineOffset(line), document.getLineLength(line));
+	                } catch(BadLocationException exc) {
+	                	DroolsEclipsePlugin.log(exc);
+	                }
+			} else {
+				super.gotoMarker(marker);
+			}
+		} catch (CoreException exc) {
+			DroolsEclipsePlugin.log(exc);
+		}
+	}
+
+
+	public BaseDescr getDescr(int offset) {
+		try {
+			DRLInfo info = DroolsEclipsePlugin.getDefault().parseResource(this, true, false);
+			return DescrUtil.getDescr(info.getPackageDescr(), offset);
+		} catch (DroolsParserException exc) {
+			return null;
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,313 +0,0 @@
-package org.drools.eclipse.editors;
-
-/*
- * Copyright 2006 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.
- */
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.rete.ReteViewer;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.editor.FormEditor;
-
-/**
- * This is a multi table editor wrapper for both the text editor and the RETE
- * viewer.
- * 
- * @author Kris
- * @author Ahti Kitsik
- */
-public class DRLRuleEditor2 extends FormEditor {
-
-    private DRLRuleEditor             textEditor;
-
-    private ReteViewer                reteViewer;
-
-    private ZoomComboContributionItem zitem;
-
-    private ZoomInAction2             zoomIn;
-    private ZoomOutAction2            zoomOut;
-
-    protected ReteGraph               graph;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.forms.editor.FormEditor#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-     */
-    public void init(IEditorSite site,
-                     IEditorInput input) throws PartInitException {
-        super.init( site,
-                    input );
-        setPartName( input.getName() );
-    }
-
-    /**
-     * Adds Text Editor for rules and Rete graph viewer
-     * 
-     * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
-     */
-    protected void addPages() {
-        try {
-            textEditor = new DRLRuleEditor() {
-                public void close(boolean save) {
-                    super.close( save );
-                    DRLRuleEditor2.this.close( save );
-                }
-
-                protected void setPartName(String partName) {
-                    super.setPartName( partName );
-                    DRLRuleEditor2.this.setPartName( partName );
-                }
-            };
-
-            reteViewer = new ReteViewer(textEditor);
-
-            int text = addPage( textEditor,
-                                getEditorInput() );
-
-            int rete = addPage( reteViewer,
-                                getEditorInput() );
-
-            setPageText( text,
-                         "Text Editor" );
-            setPageText( rete,
-                         "Rete Tree" );
-
-            textEditor.getDocumentProvider().getDocument( getEditorInput() ).addDocumentListener( new IDocumentListener() {
-
-                public void documentAboutToBeChanged(DocumentEvent event) {
-                }
-
-                public void documentChanged(DocumentEvent event) {
-                    reteViewer.fireDocumentChanged();
-                }
-
-            } );
-
-        } catch ( PartInitException e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void doSave(IProgressMonitor monitor) {
-        textEditor.doSave( monitor );
-        setInput( getEditorInput() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorPart#doSaveAs()
-     */
-    public void doSaveAs() {
-        textEditor.doSaveAs();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
-     */
-    public boolean isSaveAsAllowed() {
-        return textEditor.isSaveAsAllowed();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.MultiPageEditorPart#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class adapter) {
-        if ( adapter == ZoomManager.class ) {
-
-            if ( getActiveEditor() instanceof ReteViewer ) {
-                return reteViewer.getAdapter( adapter );
-            } else if ( getActiveEditor() instanceof DRLRuleEditor ) {
-                return null;
-            }
-
-        } else if ( adapter == ZoomInAction2.class ) {
-            return zoomIn;
-        } else if ( adapter == ZoomOutAction2.class ) {
-            return zoomOut;
-        } else if ( adapter == ZoomComboContributionItem.class ) {
-            return zitem;
-        }
-
-        return textEditor.getAdapter( adapter );
-    }
-
-    /**
-     * Updates ZoomManagers for contributed actions.
-     */
-    private void updateZoomItems() {
-        updateZoomIn();
-
-        updateZoomOut();
-
-        updateZoomCombo();
-
-    }
-
-    private void updateZoomCombo() {
-        if ( zitem != null ) {
-            zitem.setZoomManager( getZoomManager() );
-        }
-    }
-
-    private void updateZoomIn() {
-        boolean zoomActive = getZoomManager() != null;
-        if ( zoomIn != null ) {
-            zoomIn.setZoomManager( getZoomManager() );
-            zoomIn.setEnabled( zoomActive );
-        }
-    }
-
-    private void updateZoomOut() {
-        boolean zoomActive = getZoomManager() != null;
-        if ( zoomOut != null ) {
-            zoomOut.setZoomManager( getZoomManager() );
-            zoomOut.setEnabled( zoomActive );
-        }
-    }
-
-    /**
-     * Sets ZoomComboContributionItem to be used for updating it's
-     * ZoomManager when multipage tab is switched.
-     * 
-     * @param zitem contribution item
-     */
-    public void setZoomComboContributionItem(ZoomComboContributionItem zitem) {
-        this.zitem = zitem;
-        updateZoomCombo();
-    }
-
-    private ZoomManager getZoomManager() {
-        return (ZoomManager) getAdapter( ZoomManager.class );
-    }
-
-    /**
-     * Sets ZoomOutAction2 to be used for updating it's
-     * ZoomManager when multipage tab is switched.
-     * 
-     * @param zoomOutAction zoom action
-     */
-    public void setZoomOutAction(ZoomOutAction2 zoomOutAction) {
-        this.zoomOut = zoomOutAction;
-        updateZoomOut();
-    }
-
-    /**
-     * Sets ZoomInAction to be used for updating it's
-     * ZoomManager when multipage tab is switched. 
-     * @param zoomInAction zoom action
-     */
-    public void setZoomInAction(ZoomInAction2 zoomInAction) {
-        this.zoomIn = zoomInAction;
-        updateZoomIn();
-    }
-
-    public void setFocus() {
-        if ( getActivePage() == 1 ) {
-            boolean reteFailed = false;
-            graph = null;
-            try {
-                final String contents = textEditor.getDocumentProvider().getDocument( getEditorInput() ).get();
-                final IRunnableWithProgress runnable = new IRunnableWithProgress() {
-
-                    public void run(IProgressMonitor monitor) throws InvocationTargetException,
-                                                             InterruptedException {
-                        try {
-                            graph = reteViewer.loadReteModel( monitor,
-                                                              contents );
-                        } catch ( Throwable e ) {
-                            if ( e instanceof InvocationTargetException ) {
-                                throw (InvocationTargetException) e;
-                            } else if ( e instanceof InterruptedException ) {
-                                throw (InterruptedException) e;
-                            }
-                            throw new InvocationTargetException( e );
-                        }
-
-                    }
-
-                };
-
-                getEditorSite().getWorkbenchWindow().getWorkbench().getProgressService().busyCursorWhile( runnable );
-
-                reteViewer.drawGraph( graph );
-
-            } catch ( InvocationTargetException e ) {
-                handleError( e );
-                reteFailed = true;
-            } catch ( InterruptedException e ) {
-                MessageDialog.openError( getSite().getShell(),
-                                         "Rete Tree Error!",
-                                         "Rete Tree Calculation Cancelled!" );
-                reteFailed = true;
-            } catch ( Throwable t ) {
-                handleError( t );
-                reteFailed = true;
-            }
-            if ( reteFailed ) {
-                setActivePage( 0 );
-            }
-        }
-
-        super.setFocus();
-        updateZoomItems();
-
-    }
-
-    private void handleError(Throwable t) {
-        DroolsEclipsePlugin.log( t );
-        Throwable cause = t.getCause();
-        if ( cause == null ) {
-            cause = t;
-        }
-        String message = cause.getClass().getName()+": "+cause.getMessage();
-        if ( message == null || message.length() == 0 ) {
-            message = "Uncategorized Error!";
-        }
-        IStatus status = new Status( IStatus.ERROR,
-                                     DroolsEclipsePlugin.getUniqueIdentifier(),
-                                     -1,
-                                     message,
-                                     null);
-        ErrorDialog.openError( getSite().getShell(),
-                               "Rete Tree Build Error!",
-                               "Rete Tree Build Error!",
-                               status );
-
-    }
-
-    /**
-     * Increasing visibility to allow switching tabs by page index
-     */
-    public void setActivePage(int pageIndex) {
-        super.setActivePage( pageIndex );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditor2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,313 @@
+package org.drools.eclipse.editors;
+
+/*
+ * Copyright 2006 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.
+ */
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.rete.ReteViewer;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.forms.editor.FormEditor;
+
+/**
+ * This is a multi table editor wrapper for both the text editor and the RETE
+ * viewer.
+ * 
+ * @author Kris
+ * @author Ahti Kitsik
+ */
+public class DRLRuleEditor2 extends FormEditor {
+
+    private DRLRuleEditor             textEditor;
+
+    private ReteViewer                reteViewer;
+
+    private ZoomComboContributionItem zitem;
+
+    private ZoomInAction2             zoomIn;
+    private ZoomOutAction2            zoomOut;
+
+    protected ReteGraph               graph;
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.forms.editor.FormEditor#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
+     */
+    public void init(IEditorSite site,
+                     IEditorInput input) throws PartInitException {
+        super.init( site,
+                    input );
+        setPartName( input.getName() );
+    }
+
+    /**
+     * Adds Text Editor for rules and Rete graph viewer
+     * 
+     * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
+     */
+    protected void addPages() {
+        try {
+            textEditor = new DRLRuleEditor() {
+                public void close(boolean save) {
+                    super.close( save );
+                    DRLRuleEditor2.this.close( save );
+                }
+
+                protected void setPartName(String partName) {
+                    super.setPartName( partName );
+                    DRLRuleEditor2.this.setPartName( partName );
+                }
+            };
+
+            reteViewer = new ReteViewer(textEditor);
+
+            int text = addPage( textEditor,
+                                getEditorInput() );
+
+            int rete = addPage( reteViewer,
+                                getEditorInput() );
+
+            setPageText( text,
+                         "Text Editor" );
+            setPageText( rete,
+                         "Rete Tree" );
+
+            textEditor.getDocumentProvider().getDocument( getEditorInput() ).addDocumentListener( new IDocumentListener() {
+
+                public void documentAboutToBeChanged(DocumentEvent event) {
+                }
+
+                public void documentChanged(DocumentEvent event) {
+                    reteViewer.fireDocumentChanged();
+                }
+
+            } );
+
+        } catch ( PartInitException e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
+     */
+    public void doSave(IProgressMonitor monitor) {
+        textEditor.doSave( monitor );
+        setInput( getEditorInput() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.EditorPart#doSaveAs()
+     */
+    public void doSaveAs() {
+        textEditor.doSaveAs();
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
+     */
+    public boolean isSaveAsAllowed() {
+        return textEditor.isSaveAsAllowed();
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.MultiPageEditorPart#getAdapter(java.lang.Class)
+     */
+    public Object getAdapter(Class adapter) {
+        if ( adapter == ZoomManager.class ) {
+
+            if ( getActiveEditor() instanceof ReteViewer ) {
+                return reteViewer.getAdapter( adapter );
+            } else if ( getActiveEditor() instanceof DRLRuleEditor ) {
+                return null;
+            }
+
+        } else if ( adapter == ZoomInAction2.class ) {
+            return zoomIn;
+        } else if ( adapter == ZoomOutAction2.class ) {
+            return zoomOut;
+        } else if ( adapter == ZoomComboContributionItem.class ) {
+            return zitem;
+        }
+
+        return textEditor.getAdapter( adapter );
+    }
+
+    /**
+     * Updates ZoomManagers for contributed actions.
+     */
+    private void updateZoomItems() {
+        updateZoomIn();
+
+        updateZoomOut();
+
+        updateZoomCombo();
+
+    }
+
+    private void updateZoomCombo() {
+        if ( zitem != null ) {
+            zitem.setZoomManager( getZoomManager() );
+        }
+    }
+
+    private void updateZoomIn() {
+        boolean zoomActive = getZoomManager() != null;
+        if ( zoomIn != null ) {
+            zoomIn.setZoomManager( getZoomManager() );
+            zoomIn.setEnabled( zoomActive );
+        }
+    }
+
+    private void updateZoomOut() {
+        boolean zoomActive = getZoomManager() != null;
+        if ( zoomOut != null ) {
+            zoomOut.setZoomManager( getZoomManager() );
+            zoomOut.setEnabled( zoomActive );
+        }
+    }
+
+    /**
+     * Sets ZoomComboContributionItem to be used for updating it's
+     * ZoomManager when multipage tab is switched.
+     * 
+     * @param zitem contribution item
+     */
+    public void setZoomComboContributionItem(ZoomComboContributionItem zitem) {
+        this.zitem = zitem;
+        updateZoomCombo();
+    }
+
+    private ZoomManager getZoomManager() {
+        return (ZoomManager) getAdapter( ZoomManager.class );
+    }
+
+    /**
+     * Sets ZoomOutAction2 to be used for updating it's
+     * ZoomManager when multipage tab is switched.
+     * 
+     * @param zoomOutAction zoom action
+     */
+    public void setZoomOutAction(ZoomOutAction2 zoomOutAction) {
+        this.zoomOut = zoomOutAction;
+        updateZoomOut();
+    }
+
+    /**
+     * Sets ZoomInAction to be used for updating it's
+     * ZoomManager when multipage tab is switched. 
+     * @param zoomInAction zoom action
+     */
+    public void setZoomInAction(ZoomInAction2 zoomInAction) {
+        this.zoomIn = zoomInAction;
+        updateZoomIn();
+    }
+
+    public void setFocus() {
+        if ( getActivePage() == 1 ) {
+            boolean reteFailed = false;
+            graph = null;
+            try {
+                final String contents = textEditor.getDocumentProvider().getDocument( getEditorInput() ).get();
+                final IRunnableWithProgress runnable = new IRunnableWithProgress() {
+
+                    public void run(IProgressMonitor monitor) throws InvocationTargetException,
+                                                             InterruptedException {
+                        try {
+                            graph = reteViewer.loadReteModel( monitor,
+                                                              contents );
+                        } catch ( Throwable e ) {
+                            if ( e instanceof InvocationTargetException ) {
+                                throw (InvocationTargetException) e;
+                            } else if ( e instanceof InterruptedException ) {
+                                throw (InterruptedException) e;
+                            }
+                            throw new InvocationTargetException( e );
+                        }
+
+                    }
+
+                };
+
+                getEditorSite().getWorkbenchWindow().getWorkbench().getProgressService().busyCursorWhile( runnable );
+
+                reteViewer.drawGraph( graph );
+
+            } catch ( InvocationTargetException e ) {
+                handleError( e );
+                reteFailed = true;
+            } catch ( InterruptedException e ) {
+                MessageDialog.openError( getSite().getShell(),
+                                         "Rete Tree Error!",
+                                         "Rete Tree Calculation Cancelled!" );
+                reteFailed = true;
+            } catch ( Throwable t ) {
+                handleError( t );
+                reteFailed = true;
+            }
+            if ( reteFailed ) {
+                setActivePage( 0 );
+            }
+        }
+
+        super.setFocus();
+        updateZoomItems();
+
+    }
+
+    private void handleError(Throwable t) {
+        DroolsEclipsePlugin.log( t );
+        Throwable cause = t.getCause();
+        if ( cause == null ) {
+            cause = t;
+        }
+        String message = cause.getClass().getName()+": "+cause.getMessage();
+        if ( message == null || message.length() == 0 ) {
+            message = "Uncategorized Error!";
+        }
+        IStatus status = new Status( IStatus.ERROR,
+                                     DroolsEclipsePlugin.getUniqueIdentifier(),
+                                     -1,
+                                     message,
+                                     null);
+        ErrorDialog.openError( getSite().getShell(),
+                               "Rete Tree Build Error!",
+                               "Rete Tree Build Error!",
+                               status );
+
+    }
+
+    /**
+     * Increasing visibility to allow switching tabs by page index
+     */
+    public void setActivePage(int pageIndex) {
+        super.setActivePage( pageIndex );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,111 +0,0 @@
-package org.drools.eclipse.editors;
-
-/*
- * Copyright 2006 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.
- */
-
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.editors.text.TextEditorActionContributor;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * ActionContributors for DRLRuleEditor2
- * 
- * Currently implements contributors to zoom feature at rete viewer. 
- * 
- * @author Ahti Kitsik
- *
- */
-public class DRLRuleEditorActionContributor extends MultiPageEditorActionBarContributor {
-
-    private TextEditorActionContributor contributor = new TextEditorActionContributor();
-
-    private ZoomComboContributionItem   zitem;
-    private ZoomOutAction2              zoomOut;
-    private ZoomInAction2               zoomIn;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorActionBarContributor#init(org.eclipse.ui.IActionBars, org.eclipse.ui.IWorkbenchPage)
-     */
-    public void init(IActionBars bars,
-                     IWorkbenchPage page) {
-        contributor.init( bars );
-        super.init( bars,
-                    page );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.MultiPageEditorActionBarContributor#setActivePage(org.eclipse.ui.IEditorPart)
-     */
-    public void setActivePage(IEditorPart activeEditor) {
-        IActionBars bars = getActionBars();
-        if ( activeEditor instanceof ITextEditor ) {
-            if ( bars != null ) {
-                contributor.setActiveEditor( activeEditor );
-            }
-        }
-    }
-
-    /**
-     * In addition to @link org.eclipse.ui.part.MultiPageEditorActionBarContributor#setActiveEditor(org.eclipse.ui.IEditorPart)
-     * it sets contribution items to DRLRuleEditor2 for later use when
-     * multipageditor tabs are switched.
-     * 
-     */
-    public void setActiveEditor(IEditorPart part) {
-        super.setActiveEditor( part );
-        if ( part instanceof DRLRuleEditor2 ) {
-            DRLRuleEditor2 p = (DRLRuleEditor2) part;
-            p.setZoomComboContributionItem( zitem );
-            p.setZoomInAction( zoomIn );
-            p.setZoomOutAction( zoomOut );
-        }
-    }
-
-    /**
-     * Adds Zoom-related contributions.
-     * 
-     * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToToolBar(org.eclipse.jface.action.IToolBarManager)
-     */
-    public void contributeToToolBar(IToolBarManager toolBarManager) {
-        super.contributeToToolBar( toolBarManager );
-        toolBarManager.add( new Separator() );
-        String[] zoomStrings = new String[]{ZoomManager.FIT_ALL, ZoomManager.FIT_HEIGHT, ZoomManager.FIT_WIDTH};
-
-        zitem = new ZoomComboContributionItem( getPage(),
-                                               zoomStrings );
-        zitem.setZoomManager( null );
-        zitem.setVisible( false );
-
-        zoomIn = new ZoomInAction2();
-        zoomIn.setEnabled( false );
-
-        zoomOut = new ZoomOutAction2();
-        zoomOut.setEnabled( false );
-
-        toolBarManager.add( zitem );
-        toolBarManager.add( zoomIn );
-        toolBarManager.add( zoomOut );
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLRuleEditorActionContributor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,111 @@
+package org.drools.eclipse.editors;
+
+/*
+ * Copyright 2006 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.
+ */
+
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.editors.text.TextEditorActionContributor;
+import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
+import org.eclipse.ui.texteditor.ITextEditor;
+
+/**
+ * ActionContributors for DRLRuleEditor2
+ * 
+ * Currently implements contributors to zoom feature at rete viewer. 
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class DRLRuleEditorActionContributor extends MultiPageEditorActionBarContributor {
+
+    private TextEditorActionContributor contributor = new TextEditorActionContributor();
+
+    private ZoomComboContributionItem   zitem;
+    private ZoomOutAction2              zoomOut;
+    private ZoomInAction2               zoomIn;
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.EditorActionBarContributor#init(org.eclipse.ui.IActionBars, org.eclipse.ui.IWorkbenchPage)
+     */
+    public void init(IActionBars bars,
+                     IWorkbenchPage page) {
+        contributor.init( bars );
+        super.init( bars,
+                    page );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.MultiPageEditorActionBarContributor#setActivePage(org.eclipse.ui.IEditorPart)
+     */
+    public void setActivePage(IEditorPart activeEditor) {
+        IActionBars bars = getActionBars();
+        if ( activeEditor instanceof ITextEditor ) {
+            if ( bars != null ) {
+                contributor.setActiveEditor( activeEditor );
+            }
+        }
+    }
+
+    /**
+     * In addition to @link org.eclipse.ui.part.MultiPageEditorActionBarContributor#setActiveEditor(org.eclipse.ui.IEditorPart)
+     * it sets contribution items to DRLRuleEditor2 for later use when
+     * multipageditor tabs are switched.
+     * 
+     */
+    public void setActiveEditor(IEditorPart part) {
+        super.setActiveEditor( part );
+        if ( part instanceof DRLRuleEditor2 ) {
+            DRLRuleEditor2 p = (DRLRuleEditor2) part;
+            p.setZoomComboContributionItem( zitem );
+            p.setZoomInAction( zoomIn );
+            p.setZoomOutAction( zoomOut );
+        }
+    }
+
+    /**
+     * Adds Zoom-related contributions.
+     * 
+     * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToToolBar(org.eclipse.jface.action.IToolBarManager)
+     */
+    public void contributeToToolBar(IToolBarManager toolBarManager) {
+        super.contributeToToolBar( toolBarManager );
+        toolBarManager.add( new Separator() );
+        String[] zoomStrings = new String[]{ZoomManager.FIT_ALL, ZoomManager.FIT_HEIGHT, ZoomManager.FIT_WIDTH};
+
+        zitem = new ZoomComboContributionItem( getPage(),
+                                               zoomStrings );
+        zitem.setZoomManager( null );
+        zitem.setVisible( false );
+
+        zoomIn = new ZoomInAction2();
+        zoomIn.setEnabled( false );
+
+        zoomOut = new ZoomOutAction2();
+        zoomOut.setEnabled( false );
+
+        toolBarManager.add( zitem );
+        toolBarManager.add( zoomIn );
+        toolBarManager.add( zoomOut );
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,125 +0,0 @@
-package org.drools.eclipse.editors;
-
-import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
-import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.drools.eclipse.editors.scanners.DRLScanner;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.presentation.IPresentationReconciler;
-import org.eclipse.jface.text.presentation.PresentationReconciler;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.reconciler.MonoReconciler;
-import org.eclipse.jface.text.rules.BufferedRuleBasedScanner;
-import org.eclipse.jface.text.rules.DefaultDamagerRepairer;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.source.DefaultAnnotationHover;
-import org.eclipse.jface.text.source.IAnnotationHover;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-
-/**
- * Source viewer config wires up the syntax highlighting, partitioning
- * and content assistance.
- * 
- * @author Michael Neale
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DRLSourceViewerConfig extends SourceViewerConfiguration {
-
-	private DRLScanner scanner;
-
-	private AbstractRuleEditor editor;
-
-	public DRLSourceViewerConfig(AbstractRuleEditor editor) {
-		this.editor = editor;
-	}
-	
-	protected AbstractRuleEditor getEditor() {
-		return editor;
-	}
-
-	protected DRLScanner getScanner() {
-		if (scanner == null) {
-			scanner = new DRLScanner();
-		}
-		return scanner;
-	}
-
-	/**
-	 * Define reconciler - this has to be done for each partition.
-	 * Currently there are 3 partitions, Inside rule, outside rule and inside comment.
-	 */
-	public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
-		PresentationReconciler reconciler = new PresentationReconciler();
-
-		//bucket partition... (everything else outside a rule)
-		DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getScanner());
-		reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
-		reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
-
-		//inside a rule partition
-		dr = new DefaultDamagerRepairer(getScanner());
-		reconciler.setDamager(dr, DRLPartionScanner.RULE_PART_CONTENT);
-		reconciler.setRepairer(dr, DRLPartionScanner.RULE_PART_CONTENT);
-
-		//finally, inside a multi line comment.
-		dr = new DefaultDamagerRepairer(new SingleTokenScanner(
-				new TextAttribute(ColorManager.getInstance().getColor(
-						ColorManager.SINGLE_LINE_COMMENT))));
-		reconciler.setDamager(dr, DRLPartionScanner.RULE_COMMENT);
-		reconciler.setRepairer(dr, DRLPartionScanner.RULE_COMMENT);
-
-		return reconciler;
-	}
-
-	/**
-	 * Single token scanner, used for scanning for multiline comments mainly.
-	 */
-	static class SingleTokenScanner extends BufferedRuleBasedScanner {
-		public SingleTokenScanner(TextAttribute attribute) {
-			setDefaultReturnToken(new Token(attribute));
-		}
-	}
-
-	/**
-	 * Get the appropriate content assistance, for each partition.
-	 */
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-		ContentAssistant assistant = new ContentAssistant();
-		//setup the content assistance, which is
-		//sensitive to the partition that it is in.
-		assistant.setContentAssistProcessor(
-			new DefaultCompletionProcessor(editor), IDocument.DEFAULT_CONTENT_TYPE);
-		assistant.setContentAssistProcessor(
-			new RuleCompletionProcessor(editor), DRLPartionScanner.RULE_PART_CONTENT);
-		assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-		return assistant;
-	}
-
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-		return DRLPartionScanner.LEGAL_CONTENT_TYPES;
-	}
-
-	public IReconciler getReconciler(ISourceViewer sourceViewer) {
-		MonoReconciler reconciler = null;
-		if (sourceViewer != null) {
-			reconciler = new MonoReconciler(
-				new DRLReconcilingStrategy(sourceViewer, editor), false);
-			reconciler.setDelay(500);
-			reconciler.setProgressMonitor(new NullProgressMonitor());
-		}
-		return reconciler;
-	}
-
-	public IAnnotationHover getOverviewRulerAnnotationHover(ISourceViewer sourceViewer) {
-		return new DefaultAnnotationHover();
-	}
-
-	public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
-		return new DefaultAnnotationHover();
-	}
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLSourceViewerConfig.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,125 @@
+package org.drools.eclipse.editors;
+
+import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
+import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.drools.eclipse.editors.scanners.DRLScanner;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.TextAttribute;
+import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.presentation.IPresentationReconciler;
+import org.eclipse.jface.text.presentation.PresentationReconciler;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.reconciler.MonoReconciler;
+import org.eclipse.jface.text.rules.BufferedRuleBasedScanner;
+import org.eclipse.jface.text.rules.DefaultDamagerRepairer;
+import org.eclipse.jface.text.rules.Token;
+import org.eclipse.jface.text.source.DefaultAnnotationHover;
+import org.eclipse.jface.text.source.IAnnotationHover;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewerConfiguration;
+
+/**
+ * Source viewer config wires up the syntax highlighting, partitioning
+ * and content assistance.
+ * 
+ * @author Michael Neale
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DRLSourceViewerConfig extends SourceViewerConfiguration {
+
+	private DRLScanner scanner;
+
+	private AbstractRuleEditor editor;
+
+	public DRLSourceViewerConfig(AbstractRuleEditor editor) {
+		this.editor = editor;
+	}
+	
+	protected AbstractRuleEditor getEditor() {
+		return editor;
+	}
+
+	protected DRLScanner getScanner() {
+		if (scanner == null) {
+			scanner = new DRLScanner();
+		}
+		return scanner;
+	}
+
+	/**
+	 * Define reconciler - this has to be done for each partition.
+	 * Currently there are 3 partitions, Inside rule, outside rule and inside comment.
+	 */
+	public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
+		PresentationReconciler reconciler = new PresentationReconciler();
+
+		//bucket partition... (everything else outside a rule)
+		DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getScanner());
+		reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
+		reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
+
+		//inside a rule partition
+		dr = new DefaultDamagerRepairer(getScanner());
+		reconciler.setDamager(dr, DRLPartionScanner.RULE_PART_CONTENT);
+		reconciler.setRepairer(dr, DRLPartionScanner.RULE_PART_CONTENT);
+
+		//finally, inside a multi line comment.
+		dr = new DefaultDamagerRepairer(new SingleTokenScanner(
+				new TextAttribute(ColorManager.getInstance().getColor(
+						ColorManager.SINGLE_LINE_COMMENT))));
+		reconciler.setDamager(dr, DRLPartionScanner.RULE_COMMENT);
+		reconciler.setRepairer(dr, DRLPartionScanner.RULE_COMMENT);
+
+		return reconciler;
+	}
+
+	/**
+	 * Single token scanner, used for scanning for multiline comments mainly.
+	 */
+	static class SingleTokenScanner extends BufferedRuleBasedScanner {
+		public SingleTokenScanner(TextAttribute attribute) {
+			setDefaultReturnToken(new Token(attribute));
+		}
+	}
+
+	/**
+	 * Get the appropriate content assistance, for each partition.
+	 */
+	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+		ContentAssistant assistant = new ContentAssistant();
+		//setup the content assistance, which is
+		//sensitive to the partition that it is in.
+		assistant.setContentAssistProcessor(
+			new DefaultCompletionProcessor(editor), IDocument.DEFAULT_CONTENT_TYPE);
+		assistant.setContentAssistProcessor(
+			new RuleCompletionProcessor(editor), DRLPartionScanner.RULE_PART_CONTENT);
+		assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+		return assistant;
+	}
+
+	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
+		return DRLPartionScanner.LEGAL_CONTENT_TYPES;
+	}
+
+	public IReconciler getReconciler(ISourceViewer sourceViewer) {
+		MonoReconciler reconciler = null;
+		if (sourceViewer != null) {
+			reconciler = new MonoReconciler(
+				new DRLReconcilingStrategy(sourceViewer, editor), false);
+			reconciler.setDelay(500);
+			reconciler.setProgressMonitor(new NullProgressMonitor());
+		}
+		return reconciler;
+	}
+
+	public IAnnotationHover getOverviewRulerAnnotationHover(ISourceViewer sourceViewer) {
+		return new DefaultAnnotationHover();
+	}
+
+	public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
+		return new DefaultAnnotationHover();
+	}
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,108 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.Iterator;
-
-import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.FactTemplateDescr;
-import org.drools.lang.descr.FunctionDescr;
-import org.drools.lang.descr.FunctionImportDescr;
-import org.drools.lang.descr.GlobalDescr;
-import org.drools.lang.descr.ImportDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.RuleDescr;
-
-/**
- * Util class for searching Descr tree.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public final class DescrUtil {
-	
-	private DescrUtil() {
-	}
-
-	public static BaseDescr getDescr(BaseDescr descr, int offset) {
-		if (descr instanceof PackageDescr) {
-			PackageDescr packageDescr = (PackageDescr) descr;
-			// rules
-			for (Iterator iterator = packageDescr.getRules().iterator(); iterator.hasNext(); ) {
-				RuleDescr ruleDescr = (RuleDescr) iterator.next();
-				if (ruleDescr != null) {
-					BaseDescr result = getDescr(ruleDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// imports
-			for (Iterator iterator = packageDescr.getImports().iterator(); iterator.hasNext(); ) {
-				ImportDescr importDescr = (ImportDescr) iterator.next();
-				if (importDescr != null) {
-					BaseDescr result = getDescr(importDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// function imports
-			for (Iterator iterator = packageDescr.getFunctionImports().iterator(); iterator.hasNext(); ) {
-				FunctionImportDescr functionImportDescr = (FunctionImportDescr) iterator.next();
-				if (functionImportDescr != null) {
-					BaseDescr result = getDescr(functionImportDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// functions
-			for (Iterator iterator = packageDescr.getFunctions().iterator(); iterator.hasNext(); ) {
-				FunctionDescr functionDescr = (FunctionDescr) iterator.next();
-				if (functionDescr != null) {
-					BaseDescr result = getDescr(functionDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// attributes
-			for (Iterator iterator = packageDescr.getAttributes().iterator(); iterator.hasNext(); ) {
-				AttributeDescr attributeDescr = (AttributeDescr) iterator.next();
-				if (attributeDescr != null) {
-					BaseDescr result = getDescr(attributeDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// globals
-			for (Iterator iterator = packageDescr.getGlobals().iterator(); iterator.hasNext(); ) {
-				GlobalDescr globalDescr = (GlobalDescr) iterator.next();
-				if (globalDescr != null) {
-					BaseDescr result = getDescr(globalDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			// fact templates
-			for (Iterator iterator = packageDescr.getFactTemplates().iterator(); iterator.hasNext(); ) {
-				FactTemplateDescr factTemplDescr = (FactTemplateDescr) iterator.next();
-				if (factTemplDescr != null) {
-					BaseDescr result = getDescr(factTemplDescr, offset);
-					if (result != null) {
-						return result;
-					}
-				}
-			}
-			return null;
-		} else {
-			if (offset < descr.getStartCharacter() || offset > descr.getEndCharacter()) {
-				return null;
-			}
-			// TODO: select subDescr if possible
-			return descr;
-		}
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DescrUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,108 @@
+package org.drools.eclipse.editors;
+
+import java.util.Iterator;
+
+import org.drools.lang.descr.AttributeDescr;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.FunctionImportDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.lang.descr.ImportDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.RuleDescr;
+
+/**
+ * Util class for searching Descr tree.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public final class DescrUtil {
+	
+	private DescrUtil() {
+	}
+
+	public static BaseDescr getDescr(BaseDescr descr, int offset) {
+		if (descr instanceof PackageDescr) {
+			PackageDescr packageDescr = (PackageDescr) descr;
+			// rules
+			for (Iterator iterator = packageDescr.getRules().iterator(); iterator.hasNext(); ) {
+				RuleDescr ruleDescr = (RuleDescr) iterator.next();
+				if (ruleDescr != null) {
+					BaseDescr result = getDescr(ruleDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// imports
+			for (Iterator iterator = packageDescr.getImports().iterator(); iterator.hasNext(); ) {
+				ImportDescr importDescr = (ImportDescr) iterator.next();
+				if (importDescr != null) {
+					BaseDescr result = getDescr(importDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// function imports
+			for (Iterator iterator = packageDescr.getFunctionImports().iterator(); iterator.hasNext(); ) {
+				FunctionImportDescr functionImportDescr = (FunctionImportDescr) iterator.next();
+				if (functionImportDescr != null) {
+					BaseDescr result = getDescr(functionImportDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// functions
+			for (Iterator iterator = packageDescr.getFunctions().iterator(); iterator.hasNext(); ) {
+				FunctionDescr functionDescr = (FunctionDescr) iterator.next();
+				if (functionDescr != null) {
+					BaseDescr result = getDescr(functionDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// attributes
+			for (Iterator iterator = packageDescr.getAttributes().iterator(); iterator.hasNext(); ) {
+				AttributeDescr attributeDescr = (AttributeDescr) iterator.next();
+				if (attributeDescr != null) {
+					BaseDescr result = getDescr(attributeDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// globals
+			for (Iterator iterator = packageDescr.getGlobals().iterator(); iterator.hasNext(); ) {
+				GlobalDescr globalDescr = (GlobalDescr) iterator.next();
+				if (globalDescr != null) {
+					BaseDescr result = getDescr(globalDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			// fact templates
+			for (Iterator iterator = packageDescr.getFactTemplates().iterator(); iterator.hasNext(); ) {
+				FactTemplateDescr factTemplDescr = (FactTemplateDescr) iterator.next();
+				if (factTemplDescr != null) {
+					BaseDescr result = getDescr(factTemplDescr, offset);
+					if (result != null) {
+						return result;
+					}
+				}
+			}
+			return null;
+		} else {
+			if (offset < descr.getStartCharacter() || offset > descr.getEndCharacter()) {
+				return null;
+			}
+			// TODO: select subDescr if possible
+			return descr;
+		}
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,89 +0,0 @@
-package org.drools.eclipse.editors;
-
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.debug.core.DroolsLineBreakpoint;
-import org.drools.eclipse.debug.core.IDroolsDebugConstants;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class DroolsLineBreakpointAdapter implements IToggleBreakpointsTarget {
-
-	public boolean canToggleLineBreakpoints(IWorkbenchPart part, ISelection selection) {
-		if (part instanceof IEditorPart && selection instanceof ITextSelection) {
-			IEditorPart editor = (IEditorPart) part;
-			IResource resource = (IResource) editor.getEditorInput().getAdapter(IResource.class);
-			ITextSelection textSelection = (ITextSelection) selection;
-			int lineNumber = textSelection.getStartLine();
-			try {
-				DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(resource, false);
-				if (drlInfo != null) {
-					RuleInfo ruleInfo = drlInfo.getRuleInfo(lineNumber);
-					if (ruleInfo != null) {
-						if (ruleInfo.getConsequenceDrlLineNumber() <= lineNumber) {
-							return true;
-						}
-					}
-					FunctionInfo functionInfo = drlInfo.getFunctionInfo(lineNumber);
-					if (functionInfo != null) {
-						if (functionInfo.getDrlLineNumber() <= lineNumber) {
-							return true;
-						}
-					}
-				}
-			} catch (Throwable t) {
-				DroolsEclipsePlugin.log(t);
-			}
-		}
-		return false;
-	}
-
-	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) {
-		return false;
-	}
-
-	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection) {
-		return false;
-	}
-
-	public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-		if (part instanceof IEditorPart) {
-			IEditorPart editor = (IEditorPart) part;
-			IResource resource = (IResource) editor.getEditorInput().getAdapter(IResource.class);
-			ITextSelection textSelection = (ITextSelection) selection;
-			int lineNumber = textSelection.getStartLine();
-			IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL);
-			for (int i = 0; i < breakpoints.length; i++) {
-				IBreakpoint breakpoint = breakpoints[i];
-				if (resource.equals(breakpoint.getMarker().getResource())) {
-					if (breakpoint.getMarker().getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
-						if (((DroolsLineBreakpoint) breakpoint).getDRLLineNumber() == (lineNumber + 1)) {
-							breakpoint.delete();
-							return;
-						}
-					}
-				}
-			}
-			// TODO: drools breakpoints can only be created in functions and consequences
-			DroolsLineBreakpoint lineBreakpoint = new DroolsLineBreakpoint(resource, lineNumber + 1);
-			DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(lineBreakpoint);
-		}
-	}
-
-    public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-		// do nothing
-	}
-
-	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-		// do nothing
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsLineBreakpointAdapter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,89 @@
+package org.drools.eclipse.editors;
+
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.debug.core.DroolsLineBreakpoint;
+import org.drools.eclipse.debug.core.IDroolsDebugConstants;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
+import org.eclipse.jface.text.ITextSelection;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPart;
+
+public class DroolsLineBreakpointAdapter implements IToggleBreakpointsTarget {
+
+	public boolean canToggleLineBreakpoints(IWorkbenchPart part, ISelection selection) {
+		if (part instanceof IEditorPart && selection instanceof ITextSelection) {
+			IEditorPart editor = (IEditorPart) part;
+			IResource resource = (IResource) editor.getEditorInput().getAdapter(IResource.class);
+			ITextSelection textSelection = (ITextSelection) selection;
+			int lineNumber = textSelection.getStartLine();
+			try {
+				DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(resource, false);
+				if (drlInfo != null) {
+					RuleInfo ruleInfo = drlInfo.getRuleInfo(lineNumber);
+					if (ruleInfo != null) {
+						if (ruleInfo.getConsequenceDrlLineNumber() <= lineNumber) {
+							return true;
+						}
+					}
+					FunctionInfo functionInfo = drlInfo.getFunctionInfo(lineNumber);
+					if (functionInfo != null) {
+						if (functionInfo.getDrlLineNumber() <= lineNumber) {
+							return true;
+						}
+					}
+				}
+			} catch (Throwable t) {
+				DroolsEclipsePlugin.log(t);
+			}
+		}
+		return false;
+	}
+
+	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) {
+		return false;
+	}
+
+	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection) {
+		return false;
+	}
+
+	public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
+		if (part instanceof IEditorPart) {
+			IEditorPart editor = (IEditorPart) part;
+			IResource resource = (IResource) editor.getEditorInput().getAdapter(IResource.class);
+			ITextSelection textSelection = (ITextSelection) selection;
+			int lineNumber = textSelection.getStartLine();
+			IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL);
+			for (int i = 0; i < breakpoints.length; i++) {
+				IBreakpoint breakpoint = breakpoints[i];
+				if (resource.equals(breakpoint.getMarker().getResource())) {
+					if (breakpoint.getMarker().getType().equals(IDroolsDebugConstants.DROOLS_MARKER_TYPE)) {
+						if (((DroolsLineBreakpoint) breakpoint).getDRLLineNumber() == (lineNumber + 1)) {
+							breakpoint.delete();
+							return;
+						}
+					}
+				}
+			}
+			// TODO: drools breakpoints can only be created in functions and consequences
+			DroolsLineBreakpoint lineBreakpoint = new DroolsLineBreakpoint(resource, lineNumber + 1);
+			DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(lineBreakpoint);
+		}
+	}
+
+    public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
+		// do nothing
+	}
+
+	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
+		// do nothing
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,89 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.util.Stack;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.source.ICharacterPairMatcher;
-
-public final class DroolsPairMatcher implements ICharacterPairMatcher {
-
-	private int anchor;
-	private static final char[] leftChars = new char[] { '(', '{', '[' };
-	private static final char[] rightChars = new char[] { ')', '}', ']' };
-
-	public IRegion match(IDocument document, int offset) {
-        if (offset <= 0) {
-        	return null;
-        }
-        try {
-		    char c = document.getChar(offset - 1);
-		    for (int i = 0; i < rightChars.length; i++) {
-			    if (c == rightChars[i]) {
-			        return searchLeft(document, offset, rightChars[i], leftChars[i]);
-			    }
-			    if (c == leftChars[i]) {
-			        return searchRight(document, offset, rightChars[i], leftChars[i]);
-			    }
-		    }
-        } catch (BadLocationException e) {
-        	DroolsEclipsePlugin.log(e);
-        }
-        return null;
-    }
-
-	private IRegion searchRight(IDocument document, int offset, char rightChar, char leftChar) throws BadLocationException {
-        Stack stack = new Stack();
-        anchor = ICharacterPairMatcher.LEFT;
-        char[] chars = document.get(offset, document.getLength() - offset).toCharArray();
-        for (int i = 0; i < chars.length; i++) {
-	        if (chars[i] == leftChar) {
-	            stack.push(new Character(chars[i]));
-	            continue;
-	        }
-	        if (chars[i] == rightChar) {
-	        	if (stack.isEmpty()) {
-		            return new Region(offset - 1, i + 2);
-		        } else {
-		        	stack.pop();
-		        }
-	        }
-        }
-        return null;
-    }
-
-	private IRegion searchLeft(IDocument document, int offset, char rightChar, char leftChar)
-			throws BadLocationException {
-		Stack stack = new Stack();
-		anchor = ICharacterPairMatcher.RIGHT;
-		char[] chars = document.get(0, offset - 1).toCharArray();
-        for (int i = chars.length - 1; i >= 0; i--) {
-			if (chars[i] == rightChar) {
-				stack.push(new Character(chars[i]));
-				continue;
-			}
-			if (chars[i] == leftChar) {
-				if (stack.isEmpty()) {
-					return new Region(i, offset - i);
-				} else {
-					stack.pop();
-				}
-			}
-        }
-		return null;
-	}
-
-	public int getAnchor() {
-		return anchor;
-	}
-
-	public void dispose() {
-	}
-
-	public void clear() {
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DroolsPairMatcher.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,89 @@
+package org.drools.eclipse.editors;
+
+import java.util.Stack;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.Region;
+import org.eclipse.jface.text.source.ICharacterPairMatcher;
+
+public final class DroolsPairMatcher implements ICharacterPairMatcher {
+
+	private int anchor;
+	private static final char[] leftChars = new char[] { '(', '{', '[' };
+	private static final char[] rightChars = new char[] { ')', '}', ']' };
+
+	public IRegion match(IDocument document, int offset) {
+        if (offset <= 0) {
+        	return null;
+        }
+        try {
+		    char c = document.getChar(offset - 1);
+		    for (int i = 0; i < rightChars.length; i++) {
+			    if (c == rightChars[i]) {
+			        return searchLeft(document, offset, rightChars[i], leftChars[i]);
+			    }
+			    if (c == leftChars[i]) {
+			        return searchRight(document, offset, rightChars[i], leftChars[i]);
+			    }
+		    }
+        } catch (BadLocationException e) {
+        	DroolsEclipsePlugin.log(e);
+        }
+        return null;
+    }
+
+	private IRegion searchRight(IDocument document, int offset, char rightChar, char leftChar) throws BadLocationException {
+        Stack stack = new Stack();
+        anchor = ICharacterPairMatcher.LEFT;
+        char[] chars = document.get(offset, document.getLength() - offset).toCharArray();
+        for (int i = 0; i < chars.length; i++) {
+	        if (chars[i] == leftChar) {
+	            stack.push(new Character(chars[i]));
+	            continue;
+	        }
+	        if (chars[i] == rightChar) {
+	        	if (stack.isEmpty()) {
+		            return new Region(offset - 1, i + 2);
+		        } else {
+		        	stack.pop();
+		        }
+	        }
+        }
+        return null;
+    }
+
+	private IRegion searchLeft(IDocument document, int offset, char rightChar, char leftChar)
+			throws BadLocationException {
+		Stack stack = new Stack();
+		anchor = ICharacterPairMatcher.RIGHT;
+		char[] chars = document.get(0, offset - 1).toCharArray();
+        for (int i = chars.length - 1; i >= 0; i--) {
+			if (chars[i] == rightChar) {
+				stack.push(new Character(chars[i]));
+				continue;
+			}
+			if (chars[i] == leftChar) {
+				if (stack.isEmpty()) {
+					return new Region(i, offset - i);
+				} else {
+					stack.pop();
+				}
+			}
+        }
+		return null;
+	}
+
+	public int getAnchor() {
+		return anchor;
+	}
+
+	public void dispose() {
+	}
+
+	public void clear() {
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,77 +0,0 @@
-package org.drools.eclipse.editors;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This provides a list of keywords for syntax highlighting.
- * Uses a pseudo properties file format.
- * @author Michael Neale
- */
-public class Keywords {
-
-    private String[] allDrools;
-    private String[] allJava;
-    private String[] allMvel;
-    private static Keywords instance;
-
-    public static Keywords getInstance() {
-        if (instance == null) {
-            instance = new Keywords();
-        }
-        return instance;
-    }
-
-
-    public String[] getAllDroolsKeywords() {
-        return allDrools;
-    }
-
-    public String[] getAllJavaKeywords() {
-        return allJava;
-    }
-
-    public String[] getAllMvelKeywords() {
-        return allMvel;
-    }
-
-
-    private Keywords() {
-    	allDrools = readKeywords("keywords.properties");
-        allJava = readKeywords("java_keywords.properties");
-        allMvel = readKeywords("mvel_keywords.properties");
-    }
-
-    private String[] readKeywords(String fileName) {
-        InputStream stream = this.getClass().getResourceAsStream(fileName);
-        try {
-            BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
-
-            List list = new ArrayList();
-
-            String line = null;
-            while ((line = reader.readLine()) != null) {
-               if (!line.startsWith( "#" ))  list.add( line );
-            }
-
-            return (String[]) list.toArray( new String[list.size()] );
-        }
-        catch ( IOException e ) {
-            throw new IllegalArgumentException("Could not load keywords for editor.");
-        }
-        finally {
-            try {
-                stream.close();
-            }
-            catch ( IOException e ) {
-                throw new IllegalStateException("Error closing stream.");
-            }
-        }
-    }
-
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/Keywords.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,77 @@
+package org.drools.eclipse.editors;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * This provides a list of keywords for syntax highlighting.
+ * Uses a pseudo properties file format.
+ * @author Michael Neale
+ */
+public class Keywords {
+
+    private String[] allDrools;
+    private String[] allJava;
+    private String[] allMvel;
+    private static Keywords instance;
+
+    public static Keywords getInstance() {
+        if (instance == null) {
+            instance = new Keywords();
+        }
+        return instance;
+    }
+
+
+    public String[] getAllDroolsKeywords() {
+        return allDrools;
+    }
+
+    public String[] getAllJavaKeywords() {
+        return allJava;
+    }
+
+    public String[] getAllMvelKeywords() {
+        return allMvel;
+    }
+
+
+    private Keywords() {
+    	allDrools = readKeywords("keywords.properties");
+        allJava = readKeywords("java_keywords.properties");
+        allMvel = readKeywords("mvel_keywords.properties");
+    }
+
+    private String[] readKeywords(String fileName) {
+        InputStream stream = this.getClass().getResourceAsStream(fileName);
+        try {
+            BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
+
+            List list = new ArrayList();
+
+            String line = null;
+            while ((line = reader.readLine()) != null) {
+               if (!line.startsWith( "#" ))  list.add( line );
+            }
+
+            return (String[]) list.toArray( new String[list.size()] );
+        }
+        catch ( IOException e ) {
+            throw new IllegalArgumentException("Could not load keywords for editor.");
+        }
+        finally {
+            try {
+                stream.close();
+            }
+            catch ( IOException e ) {
+                throw new IllegalStateException("Error closing stream.");
+            }
+        }
+    }
+
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.editors;
-
-/*
- * Copyright 2006 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.
- */
-
-import org.eclipse.draw2d.ScalableFigure;
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.ui.actions.ZoomInAction;
-
-/**
- * Similar to ZoomInAction but adds setZoomManager(..) functionality.
- * 
- * ZoomInAction2 provides default constructor for initializing
- * ZoomInAction without the need for ZoomManager.
- * 
- * Please note that ZoomInAction2 is not very functional until it has
- * correct zoomManager set by setZoomManager(ZoomManager manager).<br/>
- * 
- * setZoomManager(ZoomManager manager) can be used several times.
- * 
- * @author Ahti Kitsik
- *
- */
-public class ZoomInAction2 extends ZoomInAction {
-
-    final private static ZoomManager FAKE_ZOOM_MANAGER = new ZoomManager( (ScalableFigure) null,
-                                                                          null );
-
-    /**
-     * Default constructor to allow ZoomInActions without specified
-     * ZoomManager.
-     */
-    public ZoomInAction2() {
-        super( FAKE_ZOOM_MANAGER );
-    }
-
-    /**
-     * Replaces existing zoomManager with the new one.
-     * 
-     * Implementation is null-safe.
-     * 
-     * @param newManager new zoom manager
-     */
-    public void setZoomManager(ZoomManager newManager) {
-
-        if ( zoomManager != null ) {
-            zoomManager.removeZoomListener( this );
-        }
-
-        zoomManager = newManager;
-
-        if ( zoomManager != null ) {
-            zoomManager.addZoomListener( this );
-        }
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomInAction2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.editors;
+
+/*
+ * Copyright 2006 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.
+ */
+
+import org.eclipse.draw2d.ScalableFigure;
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.ui.actions.ZoomInAction;
+
+/**
+ * Similar to ZoomInAction but adds setZoomManager(..) functionality.
+ * 
+ * ZoomInAction2 provides default constructor for initializing
+ * ZoomInAction without the need for ZoomManager.
+ * 
+ * Please note that ZoomInAction2 is not very functional until it has
+ * correct zoomManager set by setZoomManager(ZoomManager manager).<br/>
+ * 
+ * setZoomManager(ZoomManager manager) can be used several times.
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class ZoomInAction2 extends ZoomInAction {
+
+    final private static ZoomManager FAKE_ZOOM_MANAGER = new ZoomManager( (ScalableFigure) null,
+                                                                          null );
+
+    /**
+     * Default constructor to allow ZoomInActions without specified
+     * ZoomManager.
+     */
+    public ZoomInAction2() {
+        super( FAKE_ZOOM_MANAGER );
+    }
+
+    /**
+     * Replaces existing zoomManager with the new one.
+     * 
+     * Implementation is null-safe.
+     * 
+     * @param newManager new zoom manager
+     */
+    public void setZoomManager(ZoomManager newManager) {
+
+        if ( zoomManager != null ) {
+            zoomManager.removeZoomListener( this );
+        }
+
+        zoomManager = newManager;
+
+        if ( zoomManager != null ) {
+            zoomManager.addZoomListener( this );
+        }
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.editors;
-
-/*
- * Copyright 2006 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.
- */
-
-import org.eclipse.draw2d.ScalableFigure;
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.ui.actions.ZoomOutAction;
-
-/**
- * Similar to ZoomOutAction but adds setZoomManager(..) functionality.
- * 
- * ZoomOutAction2 provides default constructor for initializing
- * ZoomOutAction without the need for ZoomManager.
- * 
- * Please note that ZoomOutAction2 is not very functional until it has
- * correct zoomManager set by setZoomManager(ZoomManager manager).<br/>
- * 
- * setZoomManager(ZoomManager manager) can be used several times.
- * 
- * @author Ahti Kitsik
- *
- */
-public class ZoomOutAction2 extends ZoomOutAction {
-
-    final private static ZoomManager FAKE_ZOOM_MANAGER = new ZoomManager( (ScalableFigure) null,
-                                                                          null );
-
-    /**
-     * Default constructor to allow ZoomOutActions without specified
-     * ZoomManager.
-     */
-    public ZoomOutAction2() {
-        super( FAKE_ZOOM_MANAGER );
-    }
-
-    /**
-     * Replaces existing zoomManager with the new one.
-     * 
-     * Implementation is null-safe.
-     * 
-     * @param newManager new zoom manager
-     */
-    public void setZoomManager(ZoomManager manager) {
-
-        if ( zoomManager != null ) {
-            zoomManager.removeZoomListener( this );
-        }
-
-        zoomManager = manager;
-
-        if ( zoomManager != null ) {
-            zoomManager.addZoomListener( this );
-        }
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/ZoomOutAction2.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.editors;
+
+/*
+ * Copyright 2006 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.
+ */
+
+import org.eclipse.draw2d.ScalableFigure;
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.ui.actions.ZoomOutAction;
+
+/**
+ * Similar to ZoomOutAction but adds setZoomManager(..) functionality.
+ * 
+ * ZoomOutAction2 provides default constructor for initializing
+ * ZoomOutAction without the need for ZoomManager.
+ * 
+ * Please note that ZoomOutAction2 is not very functional until it has
+ * correct zoomManager set by setZoomManager(ZoomManager manager).<br/>
+ * 
+ * setZoomManager(ZoomManager manager) can be used several times.
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class ZoomOutAction2 extends ZoomOutAction {
+
+    final private static ZoomManager FAKE_ZOOM_MANAGER = new ZoomManager( (ScalableFigure) null,
+                                                                          null );
+
+    /**
+     * Default constructor to allow ZoomOutActions without specified
+     * ZoomManager.
+     */
+    public ZoomOutAction2() {
+        super( FAKE_ZOOM_MANAGER );
+    }
+
+    /**
+     * Replaces existing zoomManager with the new one.
+     * 
+     * Implementation is null-safe.
+     * 
+     * @param newManager new zoom manager
+     */
+    public void setZoomManager(ZoomManager manager) {
+
+        if ( zoomManager != null ) {
+            zoomManager.removeZoomListener( this );
+        }
+
+        zoomManager = manager;
+
+        if ( zoomManager != null ) {
+            zoomManager.addZoomListener( this );
+        }
+
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,113 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.ui.IEditorPart;
-
-/**
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class AbstractCompletionProcessor implements IContentAssistProcessor {
-
-    private IEditorPart editor;
-
-    public AbstractCompletionProcessor(IEditorPart editor) {
-    	this.editor = editor;
-    }
-
-    protected IEditorPart getEditor() {
-    	return editor;
-    }
-
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-    	List proposals = getCompletionProposals(viewer, documentOffset);
-    	if (proposals == null) {
-    		return new ICompletionProposal[0];
-    	}
-        Collections.sort(proposals, new RuleCompletionProposal.RuleCompletionProposalComparator());
-        return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
-	}
-
-	/**
-	 * Returns a list of RuleCompletionProposals.
-	 *
-	 * @param viewer
-	 * @param documentOffset
-	 * @return
-	 */
-	protected abstract List getCompletionProposals(ITextViewer viewer, int documentOffset);
-
-    /**
-     *  Filter out the proposals whose content does not start with the given prefix.
-     */
-    protected static void filterProposalsOnPrefix(String prefix, List props) {
-    	if ( prefix != null && prefix.trim().length() > 0 ) {
-    		Iterator iterator = props.iterator();
-            String prefixLc = prefix.toLowerCase();
-    		while ( iterator.hasNext() ) {
-                ICompletionProposal item = (ICompletionProposal) iterator.next();
-                String content = item.getDisplayString().toLowerCase();
-                if ( !content.toLowerCase().startsWith( prefixLc ) ) {
-                    iterator.remove();
-                }
-    		}
-    	}
-    }
-
-    /**
-     * Read some text from behind the cursor position.
-     * This provides context to both filter what is shown based
-     * on what the user has typed in, and also to provide more information for the
-     * list of suggestions based on context.
-     */
-    protected String readBackwards(int documentOffset, IDocument doc) throws BadLocationException {
-        int startPart = doc.getPartition(documentOffset).getOffset();
-        String prefix = doc.get(startPart, documentOffset - startPart);
-        return prefix;
-    }
-
-	/*
-	 * @see IContentAssistProcessor
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return null;
-	}
-
-	/*
-	 * @see IContentAssistProcessor
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return null;
-	}
-
-	/*
-	 * @see IContentAssistProcessor
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		return null;
-	}
-
-	/*
-	 * @see IContentAssistProcessor
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
-		return null;
-	}
-
-	/*
-	 * @see IContentAssistProcessor
-	 */
-	public String getErrorMessage() {
-		return null;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,113 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.jface.text.contentassist.IContextInformationValidator;
+import org.eclipse.ui.IEditorPart;
+
+/**
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class AbstractCompletionProcessor implements IContentAssistProcessor {
+
+    private IEditorPart editor;
+
+    public AbstractCompletionProcessor(IEditorPart editor) {
+    	this.editor = editor;
+    }
+
+    protected IEditorPart getEditor() {
+    	return editor;
+    }
+
+	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
+    	List proposals = getCompletionProposals(viewer, documentOffset);
+    	if (proposals == null) {
+    		return new ICompletionProposal[0];
+    	}
+        Collections.sort(proposals, new RuleCompletionProposal.RuleCompletionProposalComparator());
+        return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
+	}
+
+	/**
+	 * Returns a list of RuleCompletionProposals.
+	 *
+	 * @param viewer
+	 * @param documentOffset
+	 * @return
+	 */
+	protected abstract List getCompletionProposals(ITextViewer viewer, int documentOffset);
+
+    /**
+     *  Filter out the proposals whose content does not start with the given prefix.
+     */
+    protected static void filterProposalsOnPrefix(String prefix, List props) {
+    	if ( prefix != null && prefix.trim().length() > 0 ) {
+    		Iterator iterator = props.iterator();
+            String prefixLc = prefix.toLowerCase();
+    		while ( iterator.hasNext() ) {
+                ICompletionProposal item = (ICompletionProposal) iterator.next();
+                String content = item.getDisplayString().toLowerCase();
+                if ( !content.toLowerCase().startsWith( prefixLc ) ) {
+                    iterator.remove();
+                }
+    		}
+    	}
+    }
+
+    /**
+     * Read some text from behind the cursor position.
+     * This provides context to both filter what is shown based
+     * on what the user has typed in, and also to provide more information for the
+     * list of suggestions based on context.
+     */
+    protected String readBackwards(int documentOffset, IDocument doc) throws BadLocationException {
+        int startPart = doc.getPartition(documentOffset).getOffset();
+        String prefix = doc.get(startPart, documentOffset - startPart);
+        return prefix;
+    }
+
+	/*
+	 * @see IContentAssistProcessor
+	 */
+	public char[] getCompletionProposalAutoActivationCharacters() {
+		return null;
+	}
+
+	/*
+	 * @see IContentAssistProcessor
+	 */
+	public char[] getContextInformationAutoActivationCharacters() {
+		return null;
+	}
+
+	/*
+	 * @see IContentAssistProcessor
+	 */
+	public IContextInformationValidator getContextInformationValidator() {
+		return null;
+	}
+
+	/*
+	 * @see IContentAssistProcessor
+	 */
+	public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
+		return null;
+	}
+
+	/*
+	 * @see IContentAssistProcessor
+	 */
+	public String getErrorMessage() {
+		return null;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,219 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
-import org.drools.lang.Location;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.RuleDescr;
-
-/**
- * A utility class that invokes the DRLParser on some partial drl text, and provides
- * information back about the context of that parserd drl,
- * such as a location type, a dialect, and so on.
- *
- */
-public class CompletionContext {
-
-    static final Pattern PATTERN_PATTERN_OPERATOR            = Pattern.compile( ".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:\\(\\),]+)(\\s*([<>=!]+)\\s*[^\\s<>!=:]*\\s*(&&|\\|\\|))*\\s+",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern PATTERN_PATTERN_COMPARATOR_ARGUMENT = Pattern.compile( ".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:\\(\\)]+)\\s*(([<>=!]+)\\s*[^\\s<>!=:]+\\s*(&&|\\|\\|)\\s*)*([<>=!]+)\\s*[^\\s<>!=:]*",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern EVAL_PATTERN                        = Pattern.compile( ".*\\s+eval\\s*\\(\\s*([(^\\))(\\([^\\)]*\\)?)]*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ACCUMULATE_PATTERN_INIT             = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ACCUMULATE_PATTERN_ACTION           = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ACCUMULATE_PATTERN_REVERSE          = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)\\)\\s*,?\\s*reverse\\s*\\(\\s*(.*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ACCUMULATE_PATTERN_RESULT           = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)\\)\\s*,?(\\s*reverse\\s*\\(\\s*(.*)\\)\\s*,?)?\\s*result\\s*\\(\\s*(.*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern THEN_PATTERN                        = Pattern.compile( ".*\n\\s*when\\s*(.*)\n\\s*then\\s*(.*)",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ENDS_WITH_SPACES                    = Pattern.compile( ".*\\s+",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ENDS_WITH_COLON                     = Pattern.compile( ".*:\\s*",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern ENDS_WITH_BRACKET                   = Pattern.compile( ".*\\)\\s*",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern MVEL_DIALECT_PATTERN                = Pattern.compile( ".*dialect\\s+\"mvel\".*",
-                                                                                Pattern.DOTALL );
-
-    static final Pattern JAVA_DIALECT_PATTERN                = Pattern.compile( ".*dialect\\s+\"java\".*",
-                                                                                Pattern.DOTALL );
-
-    static final String  MVEL_DIALECT                        = "mvel";
-    static final String  JAVA_DIALECT                        = "java";
-
-    private String       backText;
-    private DrlParser    parser;
-    private RuleDescr    rule;
-    private PackageDescr packageDescr;
-    private String       dialect;
-
-    public CompletionContext(String backText) {
-        this.backText = backText;
-        this.parser = new DrlParser();
-
-        try {
-            packageDescr = parser.parse( backText );
-            List rules = packageDescr.getRules();
-            if ( rules != null && rules.size() == 1 ) {
-                this.rule = (RuleDescr) rules.get( 0 );
-            }
-
-        } catch ( DroolsParserException exc ) {
-            // do nothing
-        }
-
-        //FIXME: the whole story of dialect determination for completion needs beefing up
-        determineDialect( backText );
-    }
-
-    public boolean isJavaDialect() {
-        return JAVA_DIALECT.equalsIgnoreCase( dialect );
-    }
-
-    public boolean isMvelDialect() {
-        return MVEL_DIALECT.equalsIgnoreCase( dialect );
-    }
-
-    public boolean isDefaultDialect() {
-        return !isJavaDialect() && !isMvelDialect();
-    }
-
-    public PackageDescr getPackageDescr() {
-        return packageDescr;
-    }
-
-    //note: this is a crude but reasonably fast way to determine the dialect,
-    //especially when parsing imcomplete rules
-    private void determineDialect(String backText) {
-        dialect = null;
-        boolean mvel = MVEL_DIALECT_PATTERN.matcher( backText ).matches();
-        boolean java = JAVA_DIALECT_PATTERN.matcher( backText ).matches();
-        //which dialect may be defined for this rule?
-        if ( mvel ) {
-            dialect = MVEL_DIALECT;
-        }
-        if ( java ) {
-            dialect = JAVA_DIALECT;
-        }
-    }
-
-    public Location getLocation() {
-        if ( backText == null || rule == null ) {
-            return new Location( Location.LOCATION_UNKNOWN );
-        }
-        return determineLocationForDescr( rule,
-                                          parser.getLocation(),
-                                          backText );
-    }
-
-    public RuleDescr getRule() {
-        return rule;
-    }
-
-    private static Location determineLocationForDescr(BaseDescr descr,
-                                                      Location location,
-                                                      String backText) {
-        if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR ) {
-            if ( !ENDS_WITH_SPACES.matcher( backText ).matches() || ENDS_WITH_COLON.matcher( backText ).matches() ) {
-                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_END ) {
-            if ( !backText.endsWith( " " ) ) {
-                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_EVAL ) {
-            Matcher matcher = EVAL_PATTERN.matcher( backText );
-            if ( matcher.matches() ) {
-                String content = matcher.group( 1 );
-                location.setProperty( Location.LOCATION_EVAL_CONTENT,
-                                      content );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_START ) {
-            Matcher matcher = PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT );
-                location.setProperty( Location.LOCATION_PROPERTY_OPERATOR,
-                                      matcher.group( 7 ) );
-                return location;
-            }
-
-            matcher = PATTERN_PATTERN_OPERATOR.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR );
-                return location;
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_FROM ) {
-            if ( location.getProperty( Location.LOCATION_FROM_CONTENT ) == null ) {
-                location.setProperty( Location.LOCATION_FROM_CONTENT,
-                                      "" );
-            } else if ( ((String) location.getProperty( Location.LOCATION_FROM_CONTENT )).length() > 0 && (ENDS_WITH_SPACES.matcher( backText ).matches() || ENDS_WITH_BRACKET.matcher( backText ).matches()) ) {
-                location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_INIT ) {
-            Matcher matcher = ACCUMULATE_PATTERN_INIT.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE );
-                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT,
-                                      matcher.group( 1 ) );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION ) {
-            Matcher matcher = ACCUMULATE_PATTERN_ACTION.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE );
-                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT,
-                                      matcher.group( 2 ) );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_REVERSE ) {
-            Matcher matcher = ACCUMULATE_PATTERN_REVERSE.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_REVERSE_INSIDE );
-                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_REVERSE_CONTENT,
-                                      matcher.group( 3 ) );
-            }
-            matcher = ACCUMULATE_PATTERN_RESULT.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE );
-                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT,
-                                      matcher.group( 5 ) );
-            }
-        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT ) {
-            Matcher matcher = ACCUMULATE_PATTERN_RESULT.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE );
-                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT,
-                                      matcher.group( 5 ) );
-            }
-        } else if ( location.getType() == Location.LOCATION_RHS ) {
-            Matcher matcher = THEN_PATTERN.matcher( backText );
-            if ( matcher.matches() ) {
-                location.setProperty( Location.LOCATION_LHS_CONTENT,
-                                      matcher.group( 1 ) );
-                location.setProperty( Location.LOCATION_RHS_CONTENT,
-                                      matcher.group( 2 ) );
-                return location;
-            }
-        }
-
-        return location;
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionContext.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,219 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.DroolsParserException;
+import org.drools.lang.Location;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.RuleDescr;
+
+/**
+ * A utility class that invokes the DRLParser on some partial drl text, and provides
+ * information back about the context of that parserd drl,
+ * such as a location type, a dialect, and so on.
+ *
+ */
+public class CompletionContext {
+
+    static final Pattern PATTERN_PATTERN_OPERATOR            = Pattern.compile( ".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:\\(\\),]+)(\\s*([<>=!]+)\\s*[^\\s<>!=:]*\\s*(&&|\\|\\|))*\\s+",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern PATTERN_PATTERN_COMPARATOR_ARGUMENT = Pattern.compile( ".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:\\(\\)]+)\\s*(([<>=!]+)\\s*[^\\s<>!=:]+\\s*(&&|\\|\\|)\\s*)*([<>=!]+)\\s*[^\\s<>!=:]*",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern EVAL_PATTERN                        = Pattern.compile( ".*\\s+eval\\s*\\(\\s*([(^\\))(\\([^\\)]*\\)?)]*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ACCUMULATE_PATTERN_INIT             = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ACCUMULATE_PATTERN_ACTION           = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ACCUMULATE_PATTERN_REVERSE          = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)\\)\\s*,?\\s*reverse\\s*\\(\\s*(.*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ACCUMULATE_PATTERN_RESULT           = Pattern.compile( ".*,?\\s*init\\s*\\(\\s*(.*)\\)\\s*,?\\s*action\\s*\\(\\s*(.*)\\)\\s*,?(\\s*reverse\\s*\\(\\s*(.*)\\)\\s*,?)?\\s*result\\s*\\(\\s*(.*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern THEN_PATTERN                        = Pattern.compile( ".*\n\\s*when\\s*(.*)\n\\s*then\\s*(.*)",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ENDS_WITH_SPACES                    = Pattern.compile( ".*\\s+",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ENDS_WITH_COLON                     = Pattern.compile( ".*:\\s*",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern ENDS_WITH_BRACKET                   = Pattern.compile( ".*\\)\\s*",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern MVEL_DIALECT_PATTERN                = Pattern.compile( ".*dialect\\s+\"mvel\".*",
+                                                                                Pattern.DOTALL );
+
+    static final Pattern JAVA_DIALECT_PATTERN                = Pattern.compile( ".*dialect\\s+\"java\".*",
+                                                                                Pattern.DOTALL );
+
+    static final String  MVEL_DIALECT                        = "mvel";
+    static final String  JAVA_DIALECT                        = "java";
+
+    private String       backText;
+    private DrlParser    parser;
+    private RuleDescr    rule;
+    private PackageDescr packageDescr;
+    private String       dialect;
+
+    public CompletionContext(String backText) {
+        this.backText = backText;
+        this.parser = new DrlParser();
+
+        try {
+            packageDescr = parser.parse( backText );
+            List rules = packageDescr.getRules();
+            if ( rules != null && rules.size() == 1 ) {
+                this.rule = (RuleDescr) rules.get( 0 );
+            }
+
+        } catch ( DroolsParserException exc ) {
+            // do nothing
+        }
+
+        //FIXME: the whole story of dialect determination for completion needs beefing up
+        determineDialect( backText );
+    }
+
+    public boolean isJavaDialect() {
+        return JAVA_DIALECT.equalsIgnoreCase( dialect );
+    }
+
+    public boolean isMvelDialect() {
+        return MVEL_DIALECT.equalsIgnoreCase( dialect );
+    }
+
+    public boolean isDefaultDialect() {
+        return !isJavaDialect() && !isMvelDialect();
+    }
+
+    public PackageDescr getPackageDescr() {
+        return packageDescr;
+    }
+
+    //note: this is a crude but reasonably fast way to determine the dialect,
+    //especially when parsing imcomplete rules
+    private void determineDialect(String backText) {
+        dialect = null;
+        boolean mvel = MVEL_DIALECT_PATTERN.matcher( backText ).matches();
+        boolean java = JAVA_DIALECT_PATTERN.matcher( backText ).matches();
+        //which dialect may be defined for this rule?
+        if ( mvel ) {
+            dialect = MVEL_DIALECT;
+        }
+        if ( java ) {
+            dialect = JAVA_DIALECT;
+        }
+    }
+
+    public Location getLocation() {
+        if ( backText == null || rule == null ) {
+            return new Location( Location.LOCATION_UNKNOWN );
+        }
+        return determineLocationForDescr( rule,
+                                          parser.getLocation(),
+                                          backText );
+    }
+
+    public RuleDescr getRule() {
+        return rule;
+    }
+
+    private static Location determineLocationForDescr(BaseDescr descr,
+                                                      Location location,
+                                                      String backText) {
+        if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR ) {
+            if ( !ENDS_WITH_SPACES.matcher( backText ).matches() || ENDS_WITH_COLON.matcher( backText ).matches() ) {
+                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_END ) {
+            if ( !backText.endsWith( " " ) ) {
+                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_EVAL ) {
+            Matcher matcher = EVAL_PATTERN.matcher( backText );
+            if ( matcher.matches() ) {
+                String content = matcher.group( 1 );
+                location.setProperty( Location.LOCATION_EVAL_CONTENT,
+                                      content );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_INSIDE_CONDITION_START ) {
+            Matcher matcher = PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT );
+                location.setProperty( Location.LOCATION_PROPERTY_OPERATOR,
+                                      matcher.group( 7 ) );
+                return location;
+            }
+
+            matcher = PATTERN_PATTERN_OPERATOR.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR );
+                return location;
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_FROM ) {
+            if ( location.getProperty( Location.LOCATION_FROM_CONTENT ) == null ) {
+                location.setProperty( Location.LOCATION_FROM_CONTENT,
+                                      "" );
+            } else if ( ((String) location.getProperty( Location.LOCATION_FROM_CONTENT )).length() > 0 && (ENDS_WITH_SPACES.matcher( backText ).matches() || ENDS_WITH_BRACKET.matcher( backText ).matches()) ) {
+                location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_INIT ) {
+            Matcher matcher = ACCUMULATE_PATTERN_INIT.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE );
+                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT,
+                                      matcher.group( 1 ) );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION ) {
+            Matcher matcher = ACCUMULATE_PATTERN_ACTION.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE );
+                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT,
+                                      matcher.group( 2 ) );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_REVERSE ) {
+            Matcher matcher = ACCUMULATE_PATTERN_REVERSE.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_REVERSE_INSIDE );
+                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_REVERSE_CONTENT,
+                                      matcher.group( 3 ) );
+            }
+            matcher = ACCUMULATE_PATTERN_RESULT.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE );
+                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT,
+                                      matcher.group( 5 ) );
+            }
+        } else if ( location.getType() == Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT ) {
+            Matcher matcher = ACCUMULATE_PATTERN_RESULT.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE );
+                location.setProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT,
+                                      matcher.group( 5 ) );
+            }
+        } else if ( location.getType() == Location.LOCATION_RHS ) {
+            Matcher matcher = THEN_PATTERN.matcher( backText );
+            if ( matcher.matches() ) {
+                location.setProperty( Location.LOCATION_LHS_CONTENT,
+                                      matcher.group( 1 ) );
+                location.setProperty( Location.LOCATION_RHS_CONTENT,
+                                      matcher.group( 2 ) );
+                return location;
+            }
+        }
+
+        return location;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,435 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.StringTokenizer;
-import java.util.regex.Pattern;
-
-import org.eclipse.jdt.core.Signature;
-
-public class CompletionUtil {
-
-    protected static final Pattern INCOMPLETED_MVEL_EXPRESSION = Pattern.compile( "[\\.\\(\\{\\[]\\Z",
-                                                                                  Pattern.DOTALL );
-
-    protected static final Pattern COMPLETED_MVEL_EXPRESSION   = Pattern.compile( "]\\)\\}\\]\\Z",
-                                                                                  Pattern.DOTALL );
-
-    protected static final Pattern MODIFY_PATTERN              = Pattern.compile( ".*modify\\s*\\(\\s*(.*)\\s*\\)(\\s*\\{(.*)\\s*\\}?)?",
-                                                                                  Pattern.DOTALL );
-
-    protected static final Pattern START_OF_NEW_JAVA_STATEMENT = Pattern.compile( ".*[;{}]\\s*",
-                                                                                  Pattern.DOTALL );
-    protected static final Pattern START_OF_METHOD_ARGS        = Pattern.compile( ".*[\\(]\\s*",
-                                                                                  Pattern.DOTALL );
-
-    private CompletionUtil() {
-    }
-
-    /**
-     * Looks behind, gets stuff after the white space. Basically ripping out the
-     * last word.
-     */
-    public static String stripLastWord(String prefix) {
-        if ( "".equals( prefix ) ) {
-            return prefix;
-        }
-        if ( prefix.charAt( prefix.length() - 1 ) == ' ' ) {
-            return "";
-        } else {
-            char[] c = prefix.toCharArray();
-            int start = 0;
-            for ( int i = c.length - 1; i >= 0; i-- ) {
-                if ( Character.isWhitespace( c[i] ) || c[i] == '(' || c[i] == ':' || c[i] == ';' || c[i] == '=' || c[i] == '<' || c[i] == '>' || c[i] == '.' || c[i] == '{' || c[i] == '}' ) {
-                    start = i + 1;
-                    break;
-                }
-            }
-            prefix = prefix.substring( start,
-                                       prefix.length() );
-            return prefix;
-        }
-    }
-
-    public static String getPreviousExpression(String backText) {
-        int separator = backText.lastIndexOf( ';' );
-        if ( separator < 0 ) {
-            return backText;
-        }
-        return backText.substring( 0,
-                                   separator + 1 );
-    }
-
-    public static String getLastExpression(String backText) {
-        StringTokenizer st = new StringTokenizer( backText,
-                                                  ";" );
-        String last = "";
-        while ( st.hasMoreTokens() ) {
-            last = st.nextToken();
-        }
-        if ( last.trim().length() == 0 ) {
-            return backText;
-        }
-        return last;
-    }
-
-    public static String getInnerExpression(String backText) {
-        String last = getLastExpression( backText ).trim();
-
-        char[] c = last.toCharArray();
-        int start = 0;
-        for ( int i = c.length - 1; i >= 0; i-- ) {
-            if ( Character.isWhitespace( c[i] ) || c[i] == '(' || c[i] == '+' || c[i] == ')' || c[i] == '[' || c[i] == ']' || c[i] == ':' || c[i] == '=' || c[i] == '<' || c[i] == '>' || c[i] == ',' || c[i] == '{' || c[i] == '}' ) {
-                start = i + 1;
-                break;
-            }
-        }
-        last = last.substring( start );
-        return last;
-    }
-
-    public static int nestedExpressionIndex(char[] chars,
-                                            int start,
-                                            char type) {
-        int depth = 1;
-        char term = type;
-        switch ( type ) {
-            case '[' :
-                term = ']';
-                break;
-            case '{' :
-                term = '}';
-                break;
-            case '(' :
-                term = ')';
-                break;
-        }
-
-        if ( type == term ) {
-            for ( start++; start < chars.length; start++ ) {
-                if ( chars[start] == type ) {
-                    return start;
-                }
-            }
-        } else {
-            for ( start++; start < chars.length; start++ ) {
-                if ( chars[start] == '\'' || chars[start] == '"' ) {
-                    //start = captureStringLiteral(chars[start], chars, start, chars.length);
-                } else if ( chars[start] == type ) {
-                    depth++;
-                } else if ( chars[start] == term && --depth == 0 ) {
-                    return start;
-                }
-            }
-        }
-
-        return -1;
-    }
-
-    public static String stripWhiteSpace(String prefix) {
-        if ( "".equals( prefix ) ) {
-            return prefix;
-        }
-        if ( prefix.charAt( prefix.length() - 1 ) == ' ' ) {
-            return "";
-        } else {
-            char[] c = prefix.toCharArray();
-            int start = 0;
-            for ( int i = c.length - 1; i >= 0; i-- ) {
-                if ( Character.isWhitespace( c[i] ) ) {
-                    start = i + 1;
-                    break;
-                }
-            }
-            prefix = prefix.substring( start,
-                                       prefix.length() );
-            return prefix;
-        }
-    }
-
-    /**
-     * Attempt to enhance a consequence backtext such that it should compile in MVEL
-     * @param backText
-     * @return a substring of the back text, that should be compilable without
-     *         syntax errors by the mvel compiler
-     *
-     *         TODO: add tests and more use
-     *         cases
-     */
-    public static String getCompilableText(String backText) {
-        String trimed = backText.trim();
-        if ( trimed.endsWith( ";" ) ) {
-            // RHS expression should compile if it ends with ; but to get the last object,
-            // we do no want it, to simulate a return statement
-            return backText.substring( 0,
-                                       backText.length() - 1 );
-        } else if ( trimed.endsWith( "." ) || trimed.endsWith( "," ) ) {
-            // RHS expression should compile if it ends with no dot or comma
-            return backText.substring( 0,
-                                       backText.length() - 1 );
-        } else if ( CompletionUtil.COMPLETED_MVEL_EXPRESSION.matcher( backText ).matches() ) {
-            // RHS expression should compile if closed. just need to close the
-            // statement
-            return backText + ";";
-            //        } else if ( INCOMPLETED_MVEL_EXPRESSION.matcher( backText ).matches() ) {
-            //            // remove the last char and close the statement
-            //            return backText.substring( 0,
-            //                                       backText.length() - 1 );
-        } else {
-            //TODO: support completion within with {} blocks
-            //TODO: support completion within nested expression.
-
-            return backText;
-        }
-    }
-
-    /*
-     * propertyname extraction and bean convention methods names checks
-     */
-
-    public static boolean isGetter(String methodName,
-                                   int argCount,
-                                   String returnedType) {
-        return isAccessor( methodName,
-                           argCount,
-                           0,
-                           "get",
-                           returnedType,
-                           Signature.SIG_VOID,
-                           false );
-    }
-
-    public static boolean isSetter(String methodName,
-                                   int argCount,
-                                   String returnedType) {
-        return isAccessor( methodName,
-                           argCount,
-                           1,
-                           "set",
-                           returnedType,
-                           Signature.SIG_VOID,
-                           true );
-    }
-
-    public static boolean isIsGetter(String methodName,
-                                     int argCount,
-                                     String returnedType) {
-        return isAccessor( methodName,
-                           argCount,
-                           0,
-                           "is",
-                           returnedType,
-                           Signature.SIG_BOOLEAN,
-                           true );
-    }
-
-    /**
-     * Given a data depicting a method (name, # or params/args, returned type key), tries to return a  bean property name derived from that method.
-     * If a bean property name is not found, the initial method name is returned
-     * @param methodName
-     * @param parameterCount
-     * @param returnType
-     * @return a bean property name
-     */
-    public static String getPropertyName(String methodName,
-                                         int parameterCount,
-                                         String returnType) {
-        if ( methodName == null ) {
-            return null;
-        }
-        String simpleName = methodName.replaceAll( "\\(\\)",
-                                                   "" );
-        int prefixLength = 0;
-        if ( isIsGetter( simpleName,
-                         parameterCount,
-                         returnType ) ) {
-
-            prefixLength = 2;
-
-        } else if ( isGetter( simpleName,
-                              parameterCount,
-                              returnType ) //
-                    || isSetter( simpleName,
-                                 parameterCount,
-                                 returnType ) ) {
-
-            prefixLength = 3;
-        } else {
-            return methodName;
-        }
-
-        char firstChar = Character.toLowerCase( simpleName.charAt( prefixLength ) );
-        String propertyName = firstChar + simpleName.substring( prefixLength + 1 );
-        return propertyName;
-    }
-
-    public static String getPropertyName(String methodName,
-                                         char[] signature) {
-        if ( signature == null || methodName == null ) {
-            return methodName;
-        }
-
-        int parameterCount = Signature.getParameterCount( signature );
-        String returnType = new String( Signature.getReturnType( signature ) );
-
-        return getPropertyName( methodName,
-                                parameterCount,
-                                returnType );
-    }
-
-    /**
-     * Given a data depicting a method (name, # or params/args, returned type key), tries to return a  writable bean property name derived from that method.
-     * If a writable (ie setter) bean property name is not found, the initial method name is returned
-     * @param methodName
-     * @param parameterCount
-     * @param returnType
-     * @return a bean property name
-     */
-    public static String getWritablePropertyName(String methodName,
-                                                 int parameterCount,
-                                                 String returnType) {
-        if ( methodName == null ) {
-            return null;
-        }
-        String simpleName = methodName.replaceAll( "\\(\\)",
-                                                   "" );
-        if ( !isSetter( simpleName,
-                        parameterCount,
-                        returnType ) ) {
-            return methodName;
-        }
-
-        int prefixLength = 3;
-
-        char firstChar = Character.toLowerCase( simpleName.charAt( prefixLength ) );
-        String propertyName = firstChar + simpleName.substring( prefixLength + 1 );
-        return propertyName;
-    }
-
-    public static String getWritablePropertyName(String methodName,
-                                                 char[] signature) {
-        if ( signature == null || methodName == null ) {
-            return methodName;
-        }
-
-        int parameterCount = Signature.getParameterCount( signature );
-        String returnType = new String( Signature.getReturnType( signature ) );
-
-        return getWritablePropertyName( methodName,
-                                        parameterCount,
-                                        returnType );
-    }
-
-    /**
-     * Determine if the given method is a bean accessor (ie getter/setter)
-     * @param methodName
-     * @param actualParameterCount
-     * @param requiredParameterCount
-     * @param prefix
-     * @param returnType
-     * @param requiredReturnType
-     * @param includeType
-     * @return true if the method is a bean accessor, false otherwise
-     */
-    private static boolean isAccessor(String methodName,
-                                      int actualParameterCount,
-                                      int requiredParameterCount,
-                                      String prefix,
-                                      String returnType,
-                                      String requiredReturnType,
-                                      boolean includeType) {
-
-        //must be longer than the accessor prefix
-        if ( methodName.length() < prefix.length() + 1 ) {
-            return false;
-        }
-
-        //start with get, set or is
-        if ( !methodName.startsWith( prefix ) ) {
-            return false;
-        }
-
-        if ( actualParameterCount != requiredParameterCount ) {
-            return false;
-        }
-
-        //if we check for the returned type, verify that the returned type is of the cirrect type signature
-        if ( includeType ) {
-            if ( !requiredReturnType.equals( returnType ) ) {
-                return false;
-            }
-        } else {
-            if ( requiredReturnType.equals( returnType ) ) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    public static boolean isStartOfNewStatement(String text,
-                                                String prefix) {
-        String javaTextWithoutPrefix = text.substring( 0,
-                                                       text.length() - prefix.length() );
-
-        if ( "".equals( javaTextWithoutPrefix.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( javaTextWithoutPrefix ).matches() ) {
-            return true;
-        }
-        return false;
-    }
-
-    public static String getLastLine(String text) {
-        final BufferedReader reader = new BufferedReader( new StringReader( text ) );
-        String line = null;
-        String lastLine = null;
-        try {
-            while ( (line = reader.readLine()) != null ) {
-                if ( line.trim().length() > 0 ) {
-                    lastLine = line;
-                }
-            }
-        } catch ( final IOException e ) {
-            // should never happen, it's just reading over a string.
-        }
-        return lastLine;
-    }
-
-    /**
-     * COMPENSATES FOR LACK OF getSimpleName IN java.lang.Class
-     * Borrowed and adpated from MVEL's org.mvel.util.ParseTools.getSimpleClassName(Class)
-     * @param cls -- class reference
-     * @return Simple name of class
-     */
-    public static String getSimpleClassName(Class cls) {
-        int lastIndex = cls.getName().lastIndexOf( '$' );
-        if ( lastIndex < 0 ) {
-            lastIndex = cls.getName().lastIndexOf( '.' );
-        }
-        if ( cls.isArray() ) {
-            return cls.getName().substring( lastIndex + 1 ) + "[]";
-        } else {
-            return cls.getName().substring( lastIndex + 1 );
-        }
-    }
-
-    public static String getTextWithoutPrefix(final String javaText,
-                                              final String prefix) {
-        int endIndex = javaText.length() - prefix.length();
-        String javaTextWithoutPrefix = javaText;
-        //javaText can be an empty string.
-        if ( endIndex >= 0 ) {
-            javaTextWithoutPrefix = javaText.substring( 0,
-                                                        endIndex );
-        }
-        return javaTextWithoutPrefix;
-    }
-
-    public static boolean isStartOfDialectExpression(String text) {
-        return "".equals( text.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( text ).matches();
-    }
-
-    public static boolean isStartOfMethodArgsExpression(String text) {
-        return CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( text ).matches();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,435 @@
+package org.drools.eclipse.editors.completion;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.StringTokenizer;
+import java.util.regex.Pattern;
+
+import org.eclipse.jdt.core.Signature;
+
+public class CompletionUtil {
+
+    protected static final Pattern INCOMPLETED_MVEL_EXPRESSION = Pattern.compile( "[\\.\\(\\{\\[]\\Z",
+                                                                                  Pattern.DOTALL );
+
+    protected static final Pattern COMPLETED_MVEL_EXPRESSION   = Pattern.compile( "]\\)\\}\\]\\Z",
+                                                                                  Pattern.DOTALL );
+
+    protected static final Pattern MODIFY_PATTERN              = Pattern.compile( ".*modify\\s*\\(\\s*(.*)\\s*\\)(\\s*\\{(.*)\\s*\\}?)?",
+                                                                                  Pattern.DOTALL );
+
+    protected static final Pattern START_OF_NEW_JAVA_STATEMENT = Pattern.compile( ".*[;{}]\\s*",
+                                                                                  Pattern.DOTALL );
+    protected static final Pattern START_OF_METHOD_ARGS        = Pattern.compile( ".*[\\(]\\s*",
+                                                                                  Pattern.DOTALL );
+
+    private CompletionUtil() {
+    }
+
+    /**
+     * Looks behind, gets stuff after the white space. Basically ripping out the
+     * last word.
+     */
+    public static String stripLastWord(String prefix) {
+        if ( "".equals( prefix ) ) {
+            return prefix;
+        }
+        if ( prefix.charAt( prefix.length() - 1 ) == ' ' ) {
+            return "";
+        } else {
+            char[] c = prefix.toCharArray();
+            int start = 0;
+            for ( int i = c.length - 1; i >= 0; i-- ) {
+                if ( Character.isWhitespace( c[i] ) || c[i] == '(' || c[i] == ':' || c[i] == ';' || c[i] == '=' || c[i] == '<' || c[i] == '>' || c[i] == '.' || c[i] == '{' || c[i] == '}' ) {
+                    start = i + 1;
+                    break;
+                }
+            }
+            prefix = prefix.substring( start,
+                                       prefix.length() );
+            return prefix;
+        }
+    }
+
+    public static String getPreviousExpression(String backText) {
+        int separator = backText.lastIndexOf( ';' );
+        if ( separator < 0 ) {
+            return backText;
+        }
+        return backText.substring( 0,
+                                   separator + 1 );
+    }
+
+    public static String getLastExpression(String backText) {
+        StringTokenizer st = new StringTokenizer( backText,
+                                                  ";" );
+        String last = "";
+        while ( st.hasMoreTokens() ) {
+            last = st.nextToken();
+        }
+        if ( last.trim().length() == 0 ) {
+            return backText;
+        }
+        return last;
+    }
+
+    public static String getInnerExpression(String backText) {
+        String last = getLastExpression( backText ).trim();
+
+        char[] c = last.toCharArray();
+        int start = 0;
+        for ( int i = c.length - 1; i >= 0; i-- ) {
+            if ( Character.isWhitespace( c[i] ) || c[i] == '(' || c[i] == '+' || c[i] == ')' || c[i] == '[' || c[i] == ']' || c[i] == ':' || c[i] == '=' || c[i] == '<' || c[i] == '>' || c[i] == ',' || c[i] == '{' || c[i] == '}' ) {
+                start = i + 1;
+                break;
+            }
+        }
+        last = last.substring( start );
+        return last;
+    }
+
+    public static int nestedExpressionIndex(char[] chars,
+                                            int start,
+                                            char type) {
+        int depth = 1;
+        char term = type;
+        switch ( type ) {
+            case '[' :
+                term = ']';
+                break;
+            case '{' :
+                term = '}';
+                break;
+            case '(' :
+                term = ')';
+                break;
+        }
+
+        if ( type == term ) {
+            for ( start++; start < chars.length; start++ ) {
+                if ( chars[start] == type ) {
+                    return start;
+                }
+            }
+        } else {
+            for ( start++; start < chars.length; start++ ) {
+                if ( chars[start] == '\'' || chars[start] == '"' ) {
+                    //start = captureStringLiteral(chars[start], chars, start, chars.length);
+                } else if ( chars[start] == type ) {
+                    depth++;
+                } else if ( chars[start] == term && --depth == 0 ) {
+                    return start;
+                }
+            }
+        }
+
+        return -1;
+    }
+
+    public static String stripWhiteSpace(String prefix) {
+        if ( "".equals( prefix ) ) {
+            return prefix;
+        }
+        if ( prefix.charAt( prefix.length() - 1 ) == ' ' ) {
+            return "";
+        } else {
+            char[] c = prefix.toCharArray();
+            int start = 0;
+            for ( int i = c.length - 1; i >= 0; i-- ) {
+                if ( Character.isWhitespace( c[i] ) ) {
+                    start = i + 1;
+                    break;
+                }
+            }
+            prefix = prefix.substring( start,
+                                       prefix.length() );
+            return prefix;
+        }
+    }
+
+    /**
+     * Attempt to enhance a consequence backtext such that it should compile in MVEL
+     * @param backText
+     * @return a substring of the back text, that should be compilable without
+     *         syntax errors by the mvel compiler
+     *
+     *         TODO: add tests and more use
+     *         cases
+     */
+    public static String getCompilableText(String backText) {
+        String trimed = backText.trim();
+        if ( trimed.endsWith( ";" ) ) {
+            // RHS expression should compile if it ends with ; but to get the last object,
+            // we do no want it, to simulate a return statement
+            return backText.substring( 0,
+                                       backText.length() - 1 );
+        } else if ( trimed.endsWith( "." ) || trimed.endsWith( "," ) ) {
+            // RHS expression should compile if it ends with no dot or comma
+            return backText.substring( 0,
+                                       backText.length() - 1 );
+        } else if ( CompletionUtil.COMPLETED_MVEL_EXPRESSION.matcher( backText ).matches() ) {
+            // RHS expression should compile if closed. just need to close the
+            // statement
+            return backText + ";";
+            //        } else if ( INCOMPLETED_MVEL_EXPRESSION.matcher( backText ).matches() ) {
+            //            // remove the last char and close the statement
+            //            return backText.substring( 0,
+            //                                       backText.length() - 1 );
+        } else {
+            //TODO: support completion within with {} blocks
+            //TODO: support completion within nested expression.
+
+            return backText;
+        }
+    }
+
+    /*
+     * propertyname extraction and bean convention methods names checks
+     */
+
+    public static boolean isGetter(String methodName,
+                                   int argCount,
+                                   String returnedType) {
+        return isAccessor( methodName,
+                           argCount,
+                           0,
+                           "get",
+                           returnedType,
+                           Signature.SIG_VOID,
+                           false );
+    }
+
+    public static boolean isSetter(String methodName,
+                                   int argCount,
+                                   String returnedType) {
+        return isAccessor( methodName,
+                           argCount,
+                           1,
+                           "set",
+                           returnedType,
+                           Signature.SIG_VOID,
+                           true );
+    }
+
+    public static boolean isIsGetter(String methodName,
+                                     int argCount,
+                                     String returnedType) {
+        return isAccessor( methodName,
+                           argCount,
+                           0,
+                           "is",
+                           returnedType,
+                           Signature.SIG_BOOLEAN,
+                           true );
+    }
+
+    /**
+     * Given a data depicting a method (name, # or params/args, returned type key), tries to return a  bean property name derived from that method.
+     * If a bean property name is not found, the initial method name is returned
+     * @param methodName
+     * @param parameterCount
+     * @param returnType
+     * @return a bean property name
+     */
+    public static String getPropertyName(String methodName,
+                                         int parameterCount,
+                                         String returnType) {
+        if ( methodName == null ) {
+            return null;
+        }
+        String simpleName = methodName.replaceAll( "\\(\\)",
+                                                   "" );
+        int prefixLength = 0;
+        if ( isIsGetter( simpleName,
+                         parameterCount,
+                         returnType ) ) {
+
+            prefixLength = 2;
+
+        } else if ( isGetter( simpleName,
+                              parameterCount,
+                              returnType ) //
+                    || isSetter( simpleName,
+                                 parameterCount,
+                                 returnType ) ) {
+
+            prefixLength = 3;
+        } else {
+            return methodName;
+        }
+
+        char firstChar = Character.toLowerCase( simpleName.charAt( prefixLength ) );
+        String propertyName = firstChar + simpleName.substring( prefixLength + 1 );
+        return propertyName;
+    }
+
+    public static String getPropertyName(String methodName,
+                                         char[] signature) {
+        if ( signature == null || methodName == null ) {
+            return methodName;
+        }
+
+        int parameterCount = Signature.getParameterCount( signature );
+        String returnType = new String( Signature.getReturnType( signature ) );
+
+        return getPropertyName( methodName,
+                                parameterCount,
+                                returnType );
+    }
+
+    /**
+     * Given a data depicting a method (name, # or params/args, returned type key), tries to return a  writable bean property name derived from that method.
+     * If a writable (ie setter) bean property name is not found, the initial method name is returned
+     * @param methodName
+     * @param parameterCount
+     * @param returnType
+     * @return a bean property name
+     */
+    public static String getWritablePropertyName(String methodName,
+                                                 int parameterCount,
+                                                 String returnType) {
+        if ( methodName == null ) {
+            return null;
+        }
+        String simpleName = methodName.replaceAll( "\\(\\)",
+                                                   "" );
+        if ( !isSetter( simpleName,
+                        parameterCount,
+                        returnType ) ) {
+            return methodName;
+        }
+
+        int prefixLength = 3;
+
+        char firstChar = Character.toLowerCase( simpleName.charAt( prefixLength ) );
+        String propertyName = firstChar + simpleName.substring( prefixLength + 1 );
+        return propertyName;
+    }
+
+    public static String getWritablePropertyName(String methodName,
+                                                 char[] signature) {
+        if ( signature == null || methodName == null ) {
+            return methodName;
+        }
+
+        int parameterCount = Signature.getParameterCount( signature );
+        String returnType = new String( Signature.getReturnType( signature ) );
+
+        return getWritablePropertyName( methodName,
+                                        parameterCount,
+                                        returnType );
+    }
+
+    /**
+     * Determine if the given method is a bean accessor (ie getter/setter)
+     * @param methodName
+     * @param actualParameterCount
+     * @param requiredParameterCount
+     * @param prefix
+     * @param returnType
+     * @param requiredReturnType
+     * @param includeType
+     * @return true if the method is a bean accessor, false otherwise
+     */
+    private static boolean isAccessor(String methodName,
+                                      int actualParameterCount,
+                                      int requiredParameterCount,
+                                      String prefix,
+                                      String returnType,
+                                      String requiredReturnType,
+                                      boolean includeType) {
+
+        //must be longer than the accessor prefix
+        if ( methodName.length() < prefix.length() + 1 ) {
+            return false;
+        }
+
+        //start with get, set or is
+        if ( !methodName.startsWith( prefix ) ) {
+            return false;
+        }
+
+        if ( actualParameterCount != requiredParameterCount ) {
+            return false;
+        }
+
+        //if we check for the returned type, verify that the returned type is of the cirrect type signature
+        if ( includeType ) {
+            if ( !requiredReturnType.equals( returnType ) ) {
+                return false;
+            }
+        } else {
+            if ( requiredReturnType.equals( returnType ) ) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public static boolean isStartOfNewStatement(String text,
+                                                String prefix) {
+        String javaTextWithoutPrefix = text.substring( 0,
+                                                       text.length() - prefix.length() );
+
+        if ( "".equals( javaTextWithoutPrefix.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( javaTextWithoutPrefix ).matches() ) {
+            return true;
+        }
+        return false;
+    }
+
+    public static String getLastLine(String text) {
+        final BufferedReader reader = new BufferedReader( new StringReader( text ) );
+        String line = null;
+        String lastLine = null;
+        try {
+            while ( (line = reader.readLine()) != null ) {
+                if ( line.trim().length() > 0 ) {
+                    lastLine = line;
+                }
+            }
+        } catch ( final IOException e ) {
+            // should never happen, it's just reading over a string.
+        }
+        return lastLine;
+    }
+
+    /**
+     * COMPENSATES FOR LACK OF getSimpleName IN java.lang.Class
+     * Borrowed and adpated from MVEL's org.mvel.util.ParseTools.getSimpleClassName(Class)
+     * @param cls -- class reference
+     * @return Simple name of class
+     */
+    public static String getSimpleClassName(Class cls) {
+        int lastIndex = cls.getName().lastIndexOf( '$' );
+        if ( lastIndex < 0 ) {
+            lastIndex = cls.getName().lastIndexOf( '.' );
+        }
+        if ( cls.isArray() ) {
+            return cls.getName().substring( lastIndex + 1 ) + "[]";
+        } else {
+            return cls.getName().substring( lastIndex + 1 );
+        }
+    }
+
+    public static String getTextWithoutPrefix(final String javaText,
+                                              final String prefix) {
+        int endIndex = javaText.length() - prefix.length();
+        String javaTextWithoutPrefix = javaText;
+        //javaText can be an empty string.
+        if ( endIndex >= 0 ) {
+            javaTextWithoutPrefix = javaText.substring( 0,
+                                                        endIndex );
+        }
+        return javaTextWithoutPrefix;
+    }
+
+    public static boolean isStartOfDialectExpression(String text) {
+        return "".equals( text.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( text ).matches();
+    }
+
+    public static boolean isStartOfMethodArgsExpression(String text) {
+        return CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( text ).matches();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,493 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.drools.lang.dsl.DSLMapping;
-import org.drools.lang.dsl.DSLMappingEntry;
-import org.drools.lang.dsl.DSLMappingEntry.Section;
-
-public class DSLTree {
-
-    public static final String separator = "=";
-    public static final String tab = "  ";
-    
-    private Node current = null;
-    private Node last = null;
-    private Node rootCond = null;
-    private Node rootConseq = null;
-    private boolean empty = true;
-    private ArrayList suggestions = new ArrayList();
-    private HashMap objToNL = new HashMap();
-    
-    public DSLTree() {
-        this.rootCond = new Node("root");
-        this.rootConseq = new Node("root");
-    }
-    
-    /**
-     * the method will take the dsl file and build a DSLTree using
-     * the Node class.
-     * @param dslFile
-     */
-    public void buildTree(String dslFile) {
-        buildTree(openDSLFile(dslFile));
-    }
-
-    /**
-     * the method uses the DSLAdapter to get the contents of the
-     * DSL mapping file.
-     * @param dslcontents
-     */
-    public void buildTree(Reader dslcontents) {
-    	buildTree(createBufferedReader(dslcontents));
-    }
-    
-    private void buildTree(BufferedReader breader) {
-        this.rootCond.clearChildren();
-        this.rootConseq.clearChildren();
-        parseFile(breader);
-        try {
-            breader.close();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        this.empty = false;
-    }
-    
-    /**
-     * method will create a BufferedReader to read the file.
-     * @param filename
-     * @return
-     */
-    protected BufferedReader openDSLFile(String filename) {
-        try {
-            FileReader reader = new FileReader(filename);
-            BufferedReader breader = new BufferedReader(reader);
-            return breader;
-        } catch (IOException e) {
-            e.printStackTrace();
-            return null;
-        }
-    }
-
-    /**
-     * Create a buffered reader for the reader created by the DSLAdapater
-     * @param reader
-     * @return
-     */
-    protected BufferedReader createBufferedReader(Reader reader) {
-		return new BufferedReader(reader);
-    }
-    
-    /**
-     * if the DSL mapping hasn't been loaded, the method will return
-     * true. If the DSL mapping has been loaded, the method returns
-     * false.
-     * @return
-     */
-    public boolean isEmpty() {
-    	return this.empty;
-    }
-    
-    /**
-     * method will use the BufferedReader to read the contents of the file.
-     * It calls other methods to parse the line and build the tree.
-     * @param reader
-     */
-    protected void parseFile(BufferedReader reader) {
-        String line = null;
-        try {
-            while ( (line = reader.readLine()) != null) {
-            	Section section = getSection(line);
-                String nl = stripHeadingAndCode(line);
-                String objname = this.getObjMetadata(nl);
-                nl = this.stripObjMetadata(nl);
-                addEntry(section, nl, objname);
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-    
-    public void buildTree(DSLMapping mapping) {
-    	List entries = mapping.getEntries();
-    	for (Iterator iterator = entries.iterator(); iterator.hasNext(); ) {
-    		DSLMappingEntry entry = (DSLMappingEntry) iterator.next();
-        	Section section = entry.getSection();
-            String nl = entry.getMappingKey();
-            String objname = entry.getMetaData().getMetaData();
-            addEntry(section, nl, objname);
-    	}
-    }
-    
-    private void addEntry(Section section, String nl, String objname) {
-        if (!nl.startsWith("-")) {
-        	if (objname != null) {
-        		this.addObjToNLMap(objname, nl);
-        	}
-            String[] tokenz = nl.split("\\s");
-            if (section == DSLMappingEntry.CONDITION || section == DSLMappingEntry.ANY) {
-            	addTokens(tokenz, rootCond);
-            }
-            if (section == DSLMappingEntry.CONSEQUENCE || section == DSLMappingEntry.ANY) {
-            	addTokens(tokenz, rootConseq);
-            }
-        } else {
-        	String res = (String)this.objToNL.get(objname);
-            StringTokenizer tokenz = new StringTokenizer(nl);
-            addTokens(res,tokenz);
-        }
-    }
-    
-    public void addObjToNLMap(String objname, String nl) {
-    	if (!objname.startsWith("-")) {
-    		this.objToNL.put(objname, nl);
-    	}
-    }
-    
-    protected Section getSection(String text) {
-        if (text.startsWith(DSLMappingEntry.CONDITION.getSymbol())) {
-            return DSLMappingEntry.CONDITION;
-        } else if (text.startsWith(DSLMappingEntry.CONSEQUENCE.getSymbol())) {
-            return DSLMappingEntry.CONSEQUENCE;
-        } else if (text.startsWith(DSLMappingEntry.ANY.getSymbol())) {
-            return DSLMappingEntry.ANY;
-        } else if (text.startsWith(DSLMappingEntry.KEYWORD.getSymbol())) {
-        	return DSLMappingEntry.KEYWORD;
-        }
-        return null; 
-    }
-    
-    /**
-     * method will strip out the when, then, * at the beginning of each 
-     * line and the mapped drl expression
-     * @param text
-     * @return
-     */
-    protected String stripHeadingAndCode(String text) {
-        if (text.startsWith(DSLMappingEntry.CONDITION.getSymbol())) {
-            return text.substring(DSLMappingEntry.CONDITION.getSymbol().length() + 2,text.indexOf("="));
-        } else if (text.startsWith(DSLMappingEntry.CONSEQUENCE.getSymbol())) {
-            return text.substring(DSLMappingEntry.CONSEQUENCE.getSymbol().length() + 2,text.indexOf("="));
-        } else if (text.startsWith(DSLMappingEntry.ANY.getSymbol())) {
-            return text.substring(DSLMappingEntry.ANY.getSymbol().length() + 2,text.indexOf("="));
-        } else if (text.startsWith("#")) {
-            return "";
-        } else {
-            return text;
-        }
-    }
-    
-    /**
-     * Method will return just the object metadata
-     * @param text
-     * @return
-     */
-    protected String getObjMetadata(String text) {
-    	if (text.startsWith("[")) {
-        	return text.substring(1,text.lastIndexOf("]"));
-    	} else {
-    		return "";
-    	}
-    }
-
-    /**
-     * method will strip the metadata from the text string
-     * @param text
-     * @return
-     */
-    protected String stripObjMetadata(String text) {
-    	if (text.startsWith("[")) {
-        	return text.substring(text.lastIndexOf("]") + 1);
-    	} else {
-    		return text;
-    	}
-    }
-    
-    /**
-     * The method is different than addTokens(StringTokenizer). this method
-     * expects additional metadata. It expects to get an object name or "*"
-     * meaning all. If the metadata is a wildcard all, it will add the
-     * tokens to all the top level nodes that are immediate child of root.
-     * @param metadata
-     * @param tokens
-     */
-    public void addTokens(String metadata, StringTokenizer tokens) {
-    	Node mnode = this.rootCond.addToken(metadata);
-    	Node thenode = mnode;
-    	while (tokens.hasMoreTokens()) {
-    		Node newnode = thenode.addToken(tokens.nextToken());
-    		thenode = newnode;
-    	}
-    }
-    
-    /**
-     * method adds the token to root
-     * @param tokens
-     */
-    public void addTokens(String[] tokens, Node rootNode) {
-        Node thenode = rootNode;
-        for (int i = 0; i < tokens.length; i++) {
-            Node newnode = thenode.addToken(tokens[i]);
-            thenode = newnode;
-        }
-    }
-    
-    /**
-     * the method will tokenize the text and try to find
-     * the node that matches and return the children. the method
-     * will traverse down the network as far as it can and return
-     * the children at that level.
-     * @param text
-     * @return
-     */
-    public Node[] getConditionChildren(String text) {
-        Node thenode = this.rootCond;
-    	if (text.length() > 0) {
-            StringTokenizer tokenz = new StringTokenizer(text);
-            this.last = this.current;
-            while (tokenz.hasMoreTokens()) {
-                String strtk = tokenz.nextToken();
-                Node ch = thenode.getChild(strtk);
-                // if a child is found, we set thenode to the child Node
-                if (ch != null) {
-                    thenode = ch;
-                } else {
-                    break;
-                }
-            }
-            if (thenode != this.rootCond) {
-                this.current = thenode;
-            }
-    	}
-        Collection children = thenode.getChildren();
-        Node[] nchild = new Node[children.size()];
-        return (Node[])children.toArray(nchild);
-    }
-
-    /**
-     * the method will tokenize the text and try to find
-     * the node that matches and return the children. the method
-     * will traverse down the network as far as it can and return
-     * the children at that level.
-     * @param text
-     * @return
-     */
-    public Node[] getConsequenceChildren(String text) {
-        Node thenode = this.rootConseq;
-    	if (text.length() >= 0) {
-            StringTokenizer tokenz = new StringTokenizer(text);
-            this.last = this.current;
-            while (tokenz.hasMoreTokens()) {
-                String strtk = tokenz.nextToken();
-                Node ch = thenode.getChild(strtk);
-                // if a child is found, we set thenode to the child Node
-                if (ch != null) {
-                    thenode = ch;
-                } else {
-                    break;
-                }
-            }
-            if (thenode != this.rootConseq) {
-                this.current = thenode;
-            }
-    	}
-        Collection children = thenode.getChildren();
-        Node[] nchild = new Node[children.size()];
-        return (Node[]) children.toArray(nchild);
-    }
-
-    /**
-     * the method expects the caller to pass the object
-     * @param obj
-     * @param text
-     * @return
-     */
-    public Node[] getChildren(String obj, String text) {
-        Node thenode = this.rootCond.getChild(obj);
-    	if (thenode != null && text.length() > 0) {
-            StringTokenizer tokenz = new StringTokenizer(text);
-            this.last = this.current;
-            while (tokenz.hasMoreTokens()) {
-                String strtk = tokenz.nextToken();
-                Node ch = thenode.getChild(strtk);
-                // if a child is found, we set thenode to the child Node
-                if (ch != null) {
-                    thenode = ch;
-                } else {
-                    break;
-                }
-            }
-            if (thenode != this.rootCond) {
-                this.current = thenode;
-            }
-    	}
-    	if (thenode == null) {
-    		return null;
-    		// thenode = this.rootCond;
-    	}
-        Collection children = thenode.getChildren();
-        Node[] nchild = new Node[children.size()];
-        return (Node[])children.toArray(nchild);
-    }
-    
-    /**
-     * for convienance, the method will return a list of strings
-     * that are children of the last node found. If the editor
-     * wants to generate the children strings, call the method
-     * with true
-     * @param text
-     * @return
-     */
-    public ArrayList getConditionChildrenList(String text, boolean addChildren) {
-    	Node[] c = getConditionChildren(text);
-    	this.suggestions.clear();
-    	for (int idx=0; idx < c.length; idx++) {
-    		this.suggestions.add(c[idx].getToken());
-    		if (addChildren) {
-        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
-    		}
-    	}
-    	return this.suggestions;
-    }
-    
-    /**
-     * for convienance, the method will return a list of strings
-     * that are children of the last node found. If the editor
-     * wants to generate the children strings, call the method
-     * with true
-     * @param text
-     * @return
-     */
-    public ArrayList getConsequenceChildrenList(String text, boolean addChildren) {
-    	Node[] c = getConsequenceChildren(text);
-    	this.suggestions.clear();
-    	for (int idx=0; idx < c.length; idx++) {
-    		if (addChildren) {
-        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
-    		} else {
-    			this.suggestions.add(c[idx].getToken());
-    		}
-    	}
-    	return this.suggestions;
-    }
-    
-    /**
-     * 
-     * @param obj
-     * @param text
-     * @param addChildren
-     * @return
-     */
-    public ArrayList getChildrenList(String obj, String text, boolean addChildren) {
-    	Node[] c = getChildren(obj,text);
-    	this.suggestions.clear();
-    	if (c != null) {
-	    	for (int idx=0; idx < c.length; idx++) {
-	    		if (addChildren) {
-	        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
-	    		} else {
-	    			this.suggestions.add(c[idx].getToken());
-	    		}
-	    	}
-    	}
-    	if (c == null || text.trim().length() == 0) {
-	    	// in the event the line is zero length after it is trimmed, we also add
-	    	// the top level nodes
-    		Iterator top = this.rootCond.getChildren().iterator();
-        	while (top.hasNext()) {
-        		Node t = (Node)top.next();
-        		if (!this.suggestions.contains(t.getToken())) {
-            		if (addChildren) {
-                		this.addChildToList(t, t.getToken(), this.suggestions);
-            		} else {
-                		this.suggestions.add(t.getToken());
-            		}
-        		}
-        	}
-    	}
-    	return this.suggestions;
-    }
-
-    /**
-     * method will prepend the parent text to the child and generate
-     * the possible combinations in text format.
-     * @param n
-     * @param prefix
-     * @param list
-     */
-    public void addChildToList(Node n, String prefix, ArrayList list) {
-    	if (n.getChildren().size() > 0) {
-    		Iterator itr = n.getChildren().iterator();
-    		while (itr.hasNext()) {
-    			Node child = (Node)itr.next();
-    			String text = prefix + " " + child.getToken();
-    			// list.add(text);
-    			addChildToList(child,text,list);
-    		}
-    	} else {
-    		list.add(prefix);
-    	}
-    }
-    
-    public Node getCurrent() {
-        return current;
-    }
-
-    public void setCurrent(Node current) {
-        this.current = current;
-    }
-
-    public Node getLast() {
-        return last;
-    }
-
-    public void setLast(Node last) {
-        this.last = last;
-    }
-
-    /**
-     * The method will print the DSLTree to System.out in text format.
-     */
-    public void printTree() {
-        System.out.println("ROOT");
-        Iterator itr = this.rootCond.getChildren().iterator();
-        while (itr.hasNext()) {
-            Node n = (Node)itr.next();
-            printNode(n);
-        }
-    }
-    
-    /**
-     * method will print the node and then iterate over the children
-     * @param n
-     */
-    protected void printNode(Node n) {
-        printTabs(n.getDepth());
-        System.out.println("- \"" + n.getToken() + "\"");
-        Iterator itr = n.getChildren().iterator();
-        while (itr.hasNext()) {
-            Node c = (Node)itr.next();
-            printNode(c);
-        }
-    }
-    
-    /**
-     * Method will print n number of tabs
-     * @param count
-     */
-    protected void printTabs(int count) {
-        for (int idx=0; idx < count; idx++) {
-            System.out.print(tab);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DSLTree.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,493 @@
+package org.drools.eclipse.editors.completion;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import org.drools.lang.dsl.DSLMapping;
+import org.drools.lang.dsl.DSLMappingEntry;
+import org.drools.lang.dsl.DSLMappingEntry.Section;
+
+public class DSLTree {
+
+    public static final String separator = "=";
+    public static final String tab = "  ";
+    
+    private Node current = null;
+    private Node last = null;
+    private Node rootCond = null;
+    private Node rootConseq = null;
+    private boolean empty = true;
+    private ArrayList suggestions = new ArrayList();
+    private HashMap objToNL = new HashMap();
+    
+    public DSLTree() {
+        this.rootCond = new Node("root");
+        this.rootConseq = new Node("root");
+    }
+    
+    /**
+     * the method will take the dsl file and build a DSLTree using
+     * the Node class.
+     * @param dslFile
+     */
+    public void buildTree(String dslFile) {
+        buildTree(openDSLFile(dslFile));
+    }
+
+    /**
+     * the method uses the DSLAdapter to get the contents of the
+     * DSL mapping file.
+     * @param dslcontents
+     */
+    public void buildTree(Reader dslcontents) {
+    	buildTree(createBufferedReader(dslcontents));
+    }
+    
+    private void buildTree(BufferedReader breader) {
+        this.rootCond.clearChildren();
+        this.rootConseq.clearChildren();
+        parseFile(breader);
+        try {
+            breader.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        this.empty = false;
+    }
+    
+    /**
+     * method will create a BufferedReader to read the file.
+     * @param filename
+     * @return
+     */
+    protected BufferedReader openDSLFile(String filename) {
+        try {
+            FileReader reader = new FileReader(filename);
+            BufferedReader breader = new BufferedReader(reader);
+            return breader;
+        } catch (IOException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    /**
+     * Create a buffered reader for the reader created by the DSLAdapater
+     * @param reader
+     * @return
+     */
+    protected BufferedReader createBufferedReader(Reader reader) {
+		return new BufferedReader(reader);
+    }
+    
+    /**
+     * if the DSL mapping hasn't been loaded, the method will return
+     * true. If the DSL mapping has been loaded, the method returns
+     * false.
+     * @return
+     */
+    public boolean isEmpty() {
+    	return this.empty;
+    }
+    
+    /**
+     * method will use the BufferedReader to read the contents of the file.
+     * It calls other methods to parse the line and build the tree.
+     * @param reader
+     */
+    protected void parseFile(BufferedReader reader) {
+        String line = null;
+        try {
+            while ( (line = reader.readLine()) != null) {
+            	Section section = getSection(line);
+                String nl = stripHeadingAndCode(line);
+                String objname = this.getObjMetadata(nl);
+                nl = this.stripObjMetadata(nl);
+                addEntry(section, nl, objname);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+    
+    public void buildTree(DSLMapping mapping) {
+    	List entries = mapping.getEntries();
+    	for (Iterator iterator = entries.iterator(); iterator.hasNext(); ) {
+    		DSLMappingEntry entry = (DSLMappingEntry) iterator.next();
+        	Section section = entry.getSection();
+            String nl = entry.getMappingKey();
+            String objname = entry.getMetaData().getMetaData();
+            addEntry(section, nl, objname);
+    	}
+    }
+    
+    private void addEntry(Section section, String nl, String objname) {
+        if (!nl.startsWith("-")) {
+        	if (objname != null) {
+        		this.addObjToNLMap(objname, nl);
+        	}
+            String[] tokenz = nl.split("\\s");
+            if (section == DSLMappingEntry.CONDITION || section == DSLMappingEntry.ANY) {
+            	addTokens(tokenz, rootCond);
+            }
+            if (section == DSLMappingEntry.CONSEQUENCE || section == DSLMappingEntry.ANY) {
+            	addTokens(tokenz, rootConseq);
+            }
+        } else {
+        	String res = (String)this.objToNL.get(objname);
+            StringTokenizer tokenz = new StringTokenizer(nl);
+            addTokens(res,tokenz);
+        }
+    }
+    
+    public void addObjToNLMap(String objname, String nl) {
+    	if (!objname.startsWith("-")) {
+    		this.objToNL.put(objname, nl);
+    	}
+    }
+    
+    protected Section getSection(String text) {
+        if (text.startsWith(DSLMappingEntry.CONDITION.getSymbol())) {
+            return DSLMappingEntry.CONDITION;
+        } else if (text.startsWith(DSLMappingEntry.CONSEQUENCE.getSymbol())) {
+            return DSLMappingEntry.CONSEQUENCE;
+        } else if (text.startsWith(DSLMappingEntry.ANY.getSymbol())) {
+            return DSLMappingEntry.ANY;
+        } else if (text.startsWith(DSLMappingEntry.KEYWORD.getSymbol())) {
+        	return DSLMappingEntry.KEYWORD;
+        }
+        return null; 
+    }
+    
+    /**
+     * method will strip out the when, then, * at the beginning of each 
+     * line and the mapped drl expression
+     * @param text
+     * @return
+     */
+    protected String stripHeadingAndCode(String text) {
+        if (text.startsWith(DSLMappingEntry.CONDITION.getSymbol())) {
+            return text.substring(DSLMappingEntry.CONDITION.getSymbol().length() + 2,text.indexOf("="));
+        } else if (text.startsWith(DSLMappingEntry.CONSEQUENCE.getSymbol())) {
+            return text.substring(DSLMappingEntry.CONSEQUENCE.getSymbol().length() + 2,text.indexOf("="));
+        } else if (text.startsWith(DSLMappingEntry.ANY.getSymbol())) {
+            return text.substring(DSLMappingEntry.ANY.getSymbol().length() + 2,text.indexOf("="));
+        } else if (text.startsWith("#")) {
+            return "";
+        } else {
+            return text;
+        }
+    }
+    
+    /**
+     * Method will return just the object metadata
+     * @param text
+     * @return
+     */
+    protected String getObjMetadata(String text) {
+    	if (text.startsWith("[")) {
+        	return text.substring(1,text.lastIndexOf("]"));
+    	} else {
+    		return "";
+    	}
+    }
+
+    /**
+     * method will strip the metadata from the text string
+     * @param text
+     * @return
+     */
+    protected String stripObjMetadata(String text) {
+    	if (text.startsWith("[")) {
+        	return text.substring(text.lastIndexOf("]") + 1);
+    	} else {
+    		return text;
+    	}
+    }
+    
+    /**
+     * The method is different than addTokens(StringTokenizer). this method
+     * expects additional metadata. It expects to get an object name or "*"
+     * meaning all. If the metadata is a wildcard all, it will add the
+     * tokens to all the top level nodes that are immediate child of root.
+     * @param metadata
+     * @param tokens
+     */
+    public void addTokens(String metadata, StringTokenizer tokens) {
+    	Node mnode = this.rootCond.addToken(metadata);
+    	Node thenode = mnode;
+    	while (tokens.hasMoreTokens()) {
+    		Node newnode = thenode.addToken(tokens.nextToken());
+    		thenode = newnode;
+    	}
+    }
+    
+    /**
+     * method adds the token to root
+     * @param tokens
+     */
+    public void addTokens(String[] tokens, Node rootNode) {
+        Node thenode = rootNode;
+        for (int i = 0; i < tokens.length; i++) {
+            Node newnode = thenode.addToken(tokens[i]);
+            thenode = newnode;
+        }
+    }
+    
+    /**
+     * the method will tokenize the text and try to find
+     * the node that matches and return the children. the method
+     * will traverse down the network as far as it can and return
+     * the children at that level.
+     * @param text
+     * @return
+     */
+    public Node[] getConditionChildren(String text) {
+        Node thenode = this.rootCond;
+    	if (text.length() > 0) {
+            StringTokenizer tokenz = new StringTokenizer(text);
+            this.last = this.current;
+            while (tokenz.hasMoreTokens()) {
+                String strtk = tokenz.nextToken();
+                Node ch = thenode.getChild(strtk);
+                // if a child is found, we set thenode to the child Node
+                if (ch != null) {
+                    thenode = ch;
+                } else {
+                    break;
+                }
+            }
+            if (thenode != this.rootCond) {
+                this.current = thenode;
+            }
+    	}
+        Collection children = thenode.getChildren();
+        Node[] nchild = new Node[children.size()];
+        return (Node[])children.toArray(nchild);
+    }
+
+    /**
+     * the method will tokenize the text and try to find
+     * the node that matches and return the children. the method
+     * will traverse down the network as far as it can and return
+     * the children at that level.
+     * @param text
+     * @return
+     */
+    public Node[] getConsequenceChildren(String text) {
+        Node thenode = this.rootConseq;
+    	if (text.length() >= 0) {
+            StringTokenizer tokenz = new StringTokenizer(text);
+            this.last = this.current;
+            while (tokenz.hasMoreTokens()) {
+                String strtk = tokenz.nextToken();
+                Node ch = thenode.getChild(strtk);
+                // if a child is found, we set thenode to the child Node
+                if (ch != null) {
+                    thenode = ch;
+                } else {
+                    break;
+                }
+            }
+            if (thenode != this.rootConseq) {
+                this.current = thenode;
+            }
+    	}
+        Collection children = thenode.getChildren();
+        Node[] nchild = new Node[children.size()];
+        return (Node[]) children.toArray(nchild);
+    }
+
+    /**
+     * the method expects the caller to pass the object
+     * @param obj
+     * @param text
+     * @return
+     */
+    public Node[] getChildren(String obj, String text) {
+        Node thenode = this.rootCond.getChild(obj);
+    	if (thenode != null && text.length() > 0) {
+            StringTokenizer tokenz = new StringTokenizer(text);
+            this.last = this.current;
+            while (tokenz.hasMoreTokens()) {
+                String strtk = tokenz.nextToken();
+                Node ch = thenode.getChild(strtk);
+                // if a child is found, we set thenode to the child Node
+                if (ch != null) {
+                    thenode = ch;
+                } else {
+                    break;
+                }
+            }
+            if (thenode != this.rootCond) {
+                this.current = thenode;
+            }
+    	}
+    	if (thenode == null) {
+    		return null;
+    		// thenode = this.rootCond;
+    	}
+        Collection children = thenode.getChildren();
+        Node[] nchild = new Node[children.size()];
+        return (Node[])children.toArray(nchild);
+    }
+    
+    /**
+     * for convienance, the method will return a list of strings
+     * that are children of the last node found. If the editor
+     * wants to generate the children strings, call the method
+     * with true
+     * @param text
+     * @return
+     */
+    public ArrayList getConditionChildrenList(String text, boolean addChildren) {
+    	Node[] c = getConditionChildren(text);
+    	this.suggestions.clear();
+    	for (int idx=0; idx < c.length; idx++) {
+    		this.suggestions.add(c[idx].getToken());
+    		if (addChildren) {
+        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
+    		}
+    	}
+    	return this.suggestions;
+    }
+    
+    /**
+     * for convienance, the method will return a list of strings
+     * that are children of the last node found. If the editor
+     * wants to generate the children strings, call the method
+     * with true
+     * @param text
+     * @return
+     */
+    public ArrayList getConsequenceChildrenList(String text, boolean addChildren) {
+    	Node[] c = getConsequenceChildren(text);
+    	this.suggestions.clear();
+    	for (int idx=0; idx < c.length; idx++) {
+    		if (addChildren) {
+        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
+    		} else {
+    			this.suggestions.add(c[idx].getToken());
+    		}
+    	}
+    	return this.suggestions;
+    }
+    
+    /**
+     * 
+     * @param obj
+     * @param text
+     * @param addChildren
+     * @return
+     */
+    public ArrayList getChildrenList(String obj, String text, boolean addChildren) {
+    	Node[] c = getChildren(obj,text);
+    	this.suggestions.clear();
+    	if (c != null) {
+	    	for (int idx=0; idx < c.length; idx++) {
+	    		if (addChildren) {
+	        		this.addChildToList(c[idx], c[idx].getToken(), this.suggestions);
+	    		} else {
+	    			this.suggestions.add(c[idx].getToken());
+	    		}
+	    	}
+    	}
+    	if (c == null || text.trim().length() == 0) {
+	    	// in the event the line is zero length after it is trimmed, we also add
+	    	// the top level nodes
+    		Iterator top = this.rootCond.getChildren().iterator();
+        	while (top.hasNext()) {
+        		Node t = (Node)top.next();
+        		if (!this.suggestions.contains(t.getToken())) {
+            		if (addChildren) {
+                		this.addChildToList(t, t.getToken(), this.suggestions);
+            		} else {
+                		this.suggestions.add(t.getToken());
+            		}
+        		}
+        	}
+    	}
+    	return this.suggestions;
+    }
+
+    /**
+     * method will prepend the parent text to the child and generate
+     * the possible combinations in text format.
+     * @param n
+     * @param prefix
+     * @param list
+     */
+    public void addChildToList(Node n, String prefix, ArrayList list) {
+    	if (n.getChildren().size() > 0) {
+    		Iterator itr = n.getChildren().iterator();
+    		while (itr.hasNext()) {
+    			Node child = (Node)itr.next();
+    			String text = prefix + " " + child.getToken();
+    			// list.add(text);
+    			addChildToList(child,text,list);
+    		}
+    	} else {
+    		list.add(prefix);
+    	}
+    }
+    
+    public Node getCurrent() {
+        return current;
+    }
+
+    public void setCurrent(Node current) {
+        this.current = current;
+    }
+
+    public Node getLast() {
+        return last;
+    }
+
+    public void setLast(Node last) {
+        this.last = last;
+    }
+
+    /**
+     * The method will print the DSLTree to System.out in text format.
+     */
+    public void printTree() {
+        System.out.println("ROOT");
+        Iterator itr = this.rootCond.getChildren().iterator();
+        while (itr.hasNext()) {
+            Node n = (Node)itr.next();
+            printNode(n);
+        }
+    }
+    
+    /**
+     * method will print the node and then iterate over the children
+     * @param n
+     */
+    protected void printNode(Node n) {
+        printTabs(n.getDepth());
+        System.out.println("- \"" + n.getToken() + "\"");
+        Iterator itr = n.getChildren().iterator();
+        while (itr.hasNext()) {
+            Node c = (Node)itr.next();
+            printNode(c);
+        }
+    }
+    
+    /**
+     * Method will print n number of tabs
+     * @param count
+     */
+    protected void printTabs(int count) {
+        for (int idx=0; idx < count; idx++) {
+            System.out.print(tab);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,414 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.lang.descr.FactTemplateDescr;
-import org.drools.lang.descr.GlobalDescr;
-import org.drools.rule.builder.dialect.java.KnowledgeHelperFixer;
-import org.drools.util.StringUtils;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jdt.core.CompletionContext;
-import org.eclipse.jdt.core.CompletionProposal;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.ILocalVariable;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.eval.IEvaluationContext;
-import org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.JavaMethodCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.LazyJavaTypeCompletionProposal;
-import org.eclipse.jdt.ui.text.java.CompletionProposalCollector;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-
-/**
- * This is the basic completion processor that is used when the editor is outside of a rule block
- * partition.
- * The provides the content assistance for basic rule assembly stuff.
- *
- * This processor will also read behind the current editing position, to provide some context to
- * help provide the pop up list.
- *
- * @author Michael Neale, Kris Verlaenen
- */
-public class DefaultCompletionProcessor extends AbstractCompletionProcessor {
-
-    private static final String    NEW_RULE_TEMPLATE           = "rule \"new rule\"" + System.getProperty( "line.separator" ) + "\twhen" + System.getProperty( "line.separator" ) + "\t\t" + System.getProperty( "line.separator" ) + "\tthen"
-                                                                 + System.getProperty( "line.separator" ) + "\t\t" + System.getProperty( "line.separator" ) + "end";
-    private static final String    NEW_QUERY_TEMPLATE          = "query \"query name\"" + System.getProperty( "line.separator" ) + "\t#conditions" + System.getProperty( "line.separator" ) + "end";
-    private static final String    NEW_FUNCTION_TEMPLATE       = "function void yourFunction(Type arg) {" + System.getProperty( "line.separator" ) + "\t/* code goes here*/" + System.getProperty( "line.separator" ) + "}";
-    private static final String    NEW_TEMPLATE_TEMPLATE       = "template Name" + System.getProperty( "line.separator" ) + "\t" + System.getProperty( "line.separator" ) + "end";
-    protected static final Pattern IMPORT_PATTERN              = Pattern.compile( ".*\n\\W*import\\W[^;\\s]*",
-                                                                                  Pattern.DOTALL );
-    // TODO: doesn't work for { inside functions
-    private static final Pattern   FUNCTION_PATTERN            = Pattern.compile( ".*\n\\W*function\\s+(\\S+)\\s+(\\S+)\\s*\\(([^\\)]*)\\)\\s*\\{([^\\}]*)",
-                                                                                  Pattern.DOTALL );
-    protected static final Image   VARIABLE_ICON               = DroolsPluginImages.getImage( DroolsPluginImages.VARIABLE );
-    protected static final Image   METHOD_ICON                 = DroolsPluginImages.getImage( DroolsPluginImages.METHOD );
-    protected static final Image   CLASS_ICON                  = DroolsPluginImages.getImage( DroolsPluginImages.CLASS );
-
-    public DefaultCompletionProcessor(AbstractRuleEditor editor) {
-        super( editor );
-    }
-
-    protected List getCompletionProposals(ITextViewer viewer,
-                                          int documentOffset) {
-        try {
-            IDocument doc = viewer.getDocument();
-            String backText = readBackwards( documentOffset,
-                                             doc );
-
-            String prefix = CompletionUtil.stripLastWord( backText );
-
-            List props = null;
-            Matcher matcher = IMPORT_PATTERN.matcher( backText );
-            if ( matcher.matches() ) {
-                String classNameStart = backText.substring( backText.lastIndexOf( "import" ) + 7 );
-                props = getAllClassProposals( classNameStart,
-                                              documentOffset,
-                                              prefix );
-            } else {
-                matcher = FUNCTION_PATTERN.matcher( backText );
-                if ( matcher.matches() ) {
-                    // extract function parameters
-                    Map params = extractParams( matcher.group( 3 ) );
-                    // add global parameters
-                    List globals = getGlobals();
-                    if ( globals != null ) {
-                        for ( Iterator iterator = globals.iterator(); iterator.hasNext(); ) {
-                            GlobalDescr global = (GlobalDescr) iterator.next();
-                            params.put( global.getIdentifier(),
-                                        global.getType() );
-                        }
-                    }
-                    String functionText = matcher.group( 4 );
-                    props = getJavaCompletionProposals( documentOffset,
-                                                        functionText,
-                                                        prefix,
-                                                        params );
-                    filterProposalsOnPrefix( prefix,
-                                             props );
-                } else {
-                    props = getPossibleProposals( viewer,
-                                                  documentOffset,
-                                                  backText,
-                                                  prefix );
-                }
-            }
-            return props;
-        } catch ( Throwable t ) {
-            DroolsEclipsePlugin.log( t );
-        }
-        return null;
-    }
-
-    private Map extractParams(String params) {
-        Map result = new HashMap();
-        String[] parameters = StringUtils.split( params,
-                                                 "," );
-        for ( int i = 0; i < parameters.length; i++ ) {
-            String[] typeAndName = StringUtils.split( parameters[i] );
-            if ( typeAndName.length == 2 ) {
-                result.put( typeAndName[1],
-                            typeAndName[0] );
-            }
-        }
-        return result;
-    }
-
-    /*
-     * create and returns a java project based on the current editor input or returns null
-     */
-    private IJavaProject getCurrentJavaProject() {
-        IEditorInput input = getEditor().getEditorInput();
-        if ( !(input instanceof IFileEditorInput) ) {
-            return null;
-        }
-        IProject project = ((IFileEditorInput) input).getFile().getProject();
-        IJavaProject javaProject = JavaCore.create( project );
-        return javaProject;
-    }
-
-    protected List getAllClassProposals(final String classNameStart,
-                                        final int documentOffset,
-                                        final String prefix) {
-        List result = new ArrayList();
-        IJavaProject javaProject = getCurrentJavaProject();
-        if ( javaProject == null ) {
-            return result;
-        }
-        CompletionProposalCollector collector = new CompletionProposalCollector( javaProject ) {
-            public void accept(CompletionProposal proposal) {
-                if ( proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.PACKAGE_REF || proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF ) {
-                    super.accept( proposal );
-                }
-            }
-        };
-        collector.acceptContext( new CompletionContext() );
-        try {
-            IEvaluationContext evalContext = javaProject.newEvaluationContext();
-            evalContext.codeComplete( classNameStart,
-                                      classNameStart.length(),
-                                      collector );
-            IJavaCompletionProposal[] proposals = collector.getJavaCompletionProposals();
-            for ( int i = 0; i < proposals.length; i++ ) {
-                if ( proposals[i] instanceof AbstractJavaCompletionProposal ) {
-                    AbstractJavaCompletionProposal javaProposal = (AbstractJavaCompletionProposal) proposals[i];
-                    int replacementOffset = documentOffset - (classNameStart.length() - javaProposal.getReplacementOffset());
-                    javaProposal.setReplacementOffset( replacementOffset );
-                    if ( javaProposal instanceof LazyJavaTypeCompletionProposal ) {
-                        String completionPrefix = classNameStart.substring( classNameStart.length() - javaProposal.getReplacementLength() );
-                        int dotIndex = completionPrefix.lastIndexOf( '.' );
-                        // match up to the last dot in order to make higher level matching still work (camel case...)
-                        if ( dotIndex != -1 ) {
-                            javaProposal.setReplacementString( ((LazyJavaTypeCompletionProposal) javaProposal).getQualifiedTypeName() );
-                        }
-                    }
-                    result.add( proposals[i] );
-                }
-            }
-        } catch ( Throwable t ) {
-            DroolsEclipsePlugin.log( t );
-        }
-        return result;
-    }
-
-    protected List getPossibleProposals(ITextViewer viewer,
-                                        int documentOffset,
-                                        String backText,
-                                        final String prefix) {
-        List list = new ArrayList();
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "rule",
-                                              NEW_RULE_TEMPLATE,
-                                              6 ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "import",
-                                              "import " ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "expander",
-                                              "expander " ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "global",
-                                              "global " ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "package",
-                                              "package " ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "query",
-                                              NEW_QUERY_TEMPLATE ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "function",
-                                              NEW_FUNCTION_TEMPLATE,
-                                              14 ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "template",
-                                              NEW_TEMPLATE_TEMPLATE,
-                                              9 ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "dialect \"java\"",
-                                              "dialect \"java\" " ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "dialect \"mvel\"",
-                                              "dialect \"mvel\" " ) );
-        filterProposalsOnPrefix( prefix,
-                                 list );
-        return list;
-    }
-
-    protected List getJavaCompletionProposals(final int documentOffset,
-                                              final String javaText,
-                                              final String prefix,
-                                              Map params) {
-        final List list = new ArrayList();
-        requestJavaCompletionProposals( javaText,
-                                        prefix,
-                                        documentOffset,
-                                        params,
-                                        list );
-        return list;
-    }
-
-    /*
-     * do we already have a completion for that string that would be either a local variable or a field?
-     */
-    protected static boolean doesNotContainFieldCompletion(String completion,
-                                                         List completions) {
-        if ( completion == null || completion.length() == 0 || completions == null ) {
-            return false;
-        }
-        for ( Iterator iter = completions.iterator(); iter.hasNext(); ) {
-            Object o = iter.next();
-            if ( o instanceof AbstractJavaCompletionProposal ) {
-                AbstractJavaCompletionProposal prop = (AbstractJavaCompletionProposal) o;
-                String content = prop.getReplacementString();
-                if ( completion.equals( content ) ) {
-                    IJavaElement javaElement = prop.getJavaElement();
-                    if ( javaElement instanceof ILocalVariable || javaElement instanceof IField ) {
-                        return false;
-                    }
-                }
-            }
-        }
-        return true;
-    }
-
-    protected void requestJavaCompletionProposals(final String javaText,
-                                                  final String prefix,
-                                                  final int documentOffset,
-                                                  Map params,
-                                                  Collection results) {
-
-
-        String javaTextWithoutPrefix = CompletionUtil.getTextWithoutPrefix( javaText,
-                                                                            prefix );
-        // boolean to filter default Object methods produced by code completion when in the beginning of a statement
-        boolean filterObjectMethods = false;
-        if ( "".equals( javaTextWithoutPrefix.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( javaTextWithoutPrefix ).matches() ) {
-            filterObjectMethods = true;
-        }
-        IJavaProject javaProject = getCurrentJavaProject();
-        if ( javaProject == null ) {
-            return;
-        }
-
-        CompletionProposalCollector collector = new CompletionProposalCollector( javaProject );
-        collector.acceptContext( new CompletionContext() );
-
-        try {
-            IEvaluationContext evalContext = javaProject.newEvaluationContext();
-            List imports = getImports();
-            if ( imports != null && imports.size() > 0 ) {
-                evalContext.setImports( (String[]) imports.toArray( new String[imports.size()] ) );
-            }
-            StringBuffer javaTextWithParams = new StringBuffer();
-            Iterator iterator = params.entrySet().iterator();
-            while ( iterator.hasNext() ) {
-                Map.Entry entry = (Map.Entry) iterator.next();
-                // this does not seem to work, so adding variables manually
-                // evalContext.newVariable((String) entry.getValue(), (String) entry.getKey(), null);
-                javaTextWithParams.append( entry.getValue() + " " + entry.getKey() + ";\n" );
-            }
-            javaTextWithParams.append( "org.drools.spi.KnowledgeHelper drools;" );
-            javaTextWithParams.append( javaText );
-            String jtext = javaTextWithParams.toString();
-            String fixedText = new KnowledgeHelperFixer().fix( jtext );
-
-            evalContext.codeComplete( fixedText,
-                                      fixedText.length(),
-                                      collector );
-            IJavaCompletionProposal[] proposals = collector.getJavaCompletionProposals();
-            for ( int i = 0; i < proposals.length; i++ ) {
-                if ( proposals[i] instanceof AbstractJavaCompletionProposal ) {
-                    AbstractJavaCompletionProposal javaProposal = (AbstractJavaCompletionProposal) proposals[i];
-                    int replacementOffset = documentOffset - (fixedText.length() - javaProposal.getReplacementOffset());
-                    javaProposal.setReplacementOffset( replacementOffset );
-                    if ( javaProposal instanceof LazyJavaTypeCompletionProposal ) {
-                        String completionPrefix = javaText.substring( javaText.length() - javaProposal.getReplacementLength() );
-                        int dotIndex = completionPrefix.lastIndexOf( '.' );
-                        // match up to the last dot in order to make higher level matching still work (camel case...)
-                        if ( dotIndex != -1 ) {
-                            javaProposal.setReplacementString( ((LazyJavaTypeCompletionProposal) javaProposal).getQualifiedTypeName() );
-                        }
-                    }
-                    if ( !filterObjectMethods || !(proposals[i] instanceof JavaMethodCompletionProposal) ) {
-                        results.add( proposals[i] );
-                    }
-                }
-            }
-        } catch ( Throwable t ) {
-            DroolsEclipsePlugin.log( t );
-        }
-    }
-
-    protected String getPackage() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getPackage();
-        }
-        return "";
-    }
-
-    protected List getImports() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getImports();
-        }
-        return Collections.EMPTY_LIST;
-    }
-
-    protected Set getUniqueImports() {
-        HashSet set = new HashSet();
-        set.addAll( getImports() );
-        return set;
-    }
-
-    protected List getFunctions() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getFunctions();
-        }
-        return Collections.EMPTY_LIST;
-    }
-
-    protected Map getAttributes() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getAttributes();
-        }
-        return Collections.EMPTY_MAP;
-    }
-
-    protected Set getTemplates() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getTemplates();
-        }
-        return Collections.EMPTY_SET;
-    }
-
-    protected FactTemplateDescr getTemplate(String name) {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getTemplate( name );
-        }
-        return null;
-    }
-
-    protected List getGlobals() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getGlobals();
-        }
-        return Collections.EMPTY_LIST;
-    }
-
-    protected List getClassesInPackage() {
-        if ( getEditor() instanceof DRLRuleEditor ) {
-            return ((DRLRuleEditor) getEditor()).getClassesInPackage();
-        }
-        return Collections.EMPTY_LIST;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,414 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.rule.builder.dialect.java.KnowledgeHelperFixer;
+import org.drools.util.StringUtils;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jdt.core.CompletionContext;
+import org.eclipse.jdt.core.CompletionProposal;
+import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.ILocalVariable;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.eval.IEvaluationContext;
+import org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal;
+import org.eclipse.jdt.internal.ui.text.java.JavaMethodCompletionProposal;
+import org.eclipse.jdt.internal.ui.text.java.LazyJavaTypeCompletionProposal;
+import org.eclipse.jdt.ui.text.java.CompletionProposalCollector;
+import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IFileEditorInput;
+
+/**
+ * This is the basic completion processor that is used when the editor is outside of a rule block
+ * partition.
+ * The provides the content assistance for basic rule assembly stuff.
+ *
+ * This processor will also read behind the current editing position, to provide some context to
+ * help provide the pop up list.
+ *
+ * @author Michael Neale, Kris Verlaenen
+ */
+public class DefaultCompletionProcessor extends AbstractCompletionProcessor {
+
+    private static final String    NEW_RULE_TEMPLATE           = "rule \"new rule\"" + System.getProperty( "line.separator" ) + "\twhen" + System.getProperty( "line.separator" ) + "\t\t" + System.getProperty( "line.separator" ) + "\tthen"
+                                                                 + System.getProperty( "line.separator" ) + "\t\t" + System.getProperty( "line.separator" ) + "end";
+    private static final String    NEW_QUERY_TEMPLATE          = "query \"query name\"" + System.getProperty( "line.separator" ) + "\t#conditions" + System.getProperty( "line.separator" ) + "end";
+    private static final String    NEW_FUNCTION_TEMPLATE       = "function void yourFunction(Type arg) {" + System.getProperty( "line.separator" ) + "\t/* code goes here*/" + System.getProperty( "line.separator" ) + "}";
+    private static final String    NEW_TEMPLATE_TEMPLATE       = "template Name" + System.getProperty( "line.separator" ) + "\t" + System.getProperty( "line.separator" ) + "end";
+    protected static final Pattern IMPORT_PATTERN              = Pattern.compile( ".*\n\\W*import\\W[^;\\s]*",
+                                                                                  Pattern.DOTALL );
+    // TODO: doesn't work for { inside functions
+    private static final Pattern   FUNCTION_PATTERN            = Pattern.compile( ".*\n\\W*function\\s+(\\S+)\\s+(\\S+)\\s*\\(([^\\)]*)\\)\\s*\\{([^\\}]*)",
+                                                                                  Pattern.DOTALL );
+    protected static final Image   VARIABLE_ICON               = DroolsPluginImages.getImage( DroolsPluginImages.VARIABLE );
+    protected static final Image   METHOD_ICON                 = DroolsPluginImages.getImage( DroolsPluginImages.METHOD );
+    protected static final Image   CLASS_ICON                  = DroolsPluginImages.getImage( DroolsPluginImages.CLASS );
+
+    public DefaultCompletionProcessor(AbstractRuleEditor editor) {
+        super( editor );
+    }
+
+    protected List getCompletionProposals(ITextViewer viewer,
+                                          int documentOffset) {
+        try {
+            IDocument doc = viewer.getDocument();
+            String backText = readBackwards( documentOffset,
+                                             doc );
+
+            String prefix = CompletionUtil.stripLastWord( backText );
+
+            List props = null;
+            Matcher matcher = IMPORT_PATTERN.matcher( backText );
+            if ( matcher.matches() ) {
+                String classNameStart = backText.substring( backText.lastIndexOf( "import" ) + 7 );
+                props = getAllClassProposals( classNameStart,
+                                              documentOffset,
+                                              prefix );
+            } else {
+                matcher = FUNCTION_PATTERN.matcher( backText );
+                if ( matcher.matches() ) {
+                    // extract function parameters
+                    Map params = extractParams( matcher.group( 3 ) );
+                    // add global parameters
+                    List globals = getGlobals();
+                    if ( globals != null ) {
+                        for ( Iterator iterator = globals.iterator(); iterator.hasNext(); ) {
+                            GlobalDescr global = (GlobalDescr) iterator.next();
+                            params.put( global.getIdentifier(),
+                                        global.getType() );
+                        }
+                    }
+                    String functionText = matcher.group( 4 );
+                    props = getJavaCompletionProposals( documentOffset,
+                                                        functionText,
+                                                        prefix,
+                                                        params );
+                    filterProposalsOnPrefix( prefix,
+                                             props );
+                } else {
+                    props = getPossibleProposals( viewer,
+                                                  documentOffset,
+                                                  backText,
+                                                  prefix );
+                }
+            }
+            return props;
+        } catch ( Throwable t ) {
+            DroolsEclipsePlugin.log( t );
+        }
+        return null;
+    }
+
+    private Map extractParams(String params) {
+        Map result = new HashMap();
+        String[] parameters = StringUtils.split( params,
+                                                 "," );
+        for ( int i = 0; i < parameters.length; i++ ) {
+            String[] typeAndName = StringUtils.split( parameters[i] );
+            if ( typeAndName.length == 2 ) {
+                result.put( typeAndName[1],
+                            typeAndName[0] );
+            }
+        }
+        return result;
+    }
+
+    /*
+     * create and returns a java project based on the current editor input or returns null
+     */
+    private IJavaProject getCurrentJavaProject() {
+        IEditorInput input = getEditor().getEditorInput();
+        if ( !(input instanceof IFileEditorInput) ) {
+            return null;
+        }
+        IProject project = ((IFileEditorInput) input).getFile().getProject();
+        IJavaProject javaProject = JavaCore.create( project );
+        return javaProject;
+    }
+
+    protected List getAllClassProposals(final String classNameStart,
+                                        final int documentOffset,
+                                        final String prefix) {
+        List result = new ArrayList();
+        IJavaProject javaProject = getCurrentJavaProject();
+        if ( javaProject == null ) {
+            return result;
+        }
+        CompletionProposalCollector collector = new CompletionProposalCollector( javaProject ) {
+            public void accept(CompletionProposal proposal) {
+                if ( proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.PACKAGE_REF || proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF ) {
+                    super.accept( proposal );
+                }
+            }
+        };
+        collector.acceptContext( new CompletionContext() );
+        try {
+            IEvaluationContext evalContext = javaProject.newEvaluationContext();
+            evalContext.codeComplete( classNameStart,
+                                      classNameStart.length(),
+                                      collector );
+            IJavaCompletionProposal[] proposals = collector.getJavaCompletionProposals();
+            for ( int i = 0; i < proposals.length; i++ ) {
+                if ( proposals[i] instanceof AbstractJavaCompletionProposal ) {
+                    AbstractJavaCompletionProposal javaProposal = (AbstractJavaCompletionProposal) proposals[i];
+                    int replacementOffset = documentOffset - (classNameStart.length() - javaProposal.getReplacementOffset());
+                    javaProposal.setReplacementOffset( replacementOffset );
+                    if ( javaProposal instanceof LazyJavaTypeCompletionProposal ) {
+                        String completionPrefix = classNameStart.substring( classNameStart.length() - javaProposal.getReplacementLength() );
+                        int dotIndex = completionPrefix.lastIndexOf( '.' );
+                        // match up to the last dot in order to make higher level matching still work (camel case...)
+                        if ( dotIndex != -1 ) {
+                            javaProposal.setReplacementString( ((LazyJavaTypeCompletionProposal) javaProposal).getQualifiedTypeName() );
+                        }
+                    }
+                    result.add( proposals[i] );
+                }
+            }
+        } catch ( Throwable t ) {
+            DroolsEclipsePlugin.log( t );
+        }
+        return result;
+    }
+
+    protected List getPossibleProposals(ITextViewer viewer,
+                                        int documentOffset,
+                                        String backText,
+                                        final String prefix) {
+        List list = new ArrayList();
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "rule",
+                                              NEW_RULE_TEMPLATE,
+                                              6 ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "import",
+                                              "import " ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "expander",
+                                              "expander " ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "global",
+                                              "global " ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "package",
+                                              "package " ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "query",
+                                              NEW_QUERY_TEMPLATE ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "function",
+                                              NEW_FUNCTION_TEMPLATE,
+                                              14 ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "template",
+                                              NEW_TEMPLATE_TEMPLATE,
+                                              9 ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "dialect \"java\"",
+                                              "dialect \"java\" " ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "dialect \"mvel\"",
+                                              "dialect \"mvel\" " ) );
+        filterProposalsOnPrefix( prefix,
+                                 list );
+        return list;
+    }
+
+    protected List getJavaCompletionProposals(final int documentOffset,
+                                              final String javaText,
+                                              final String prefix,
+                                              Map params) {
+        final List list = new ArrayList();
+        requestJavaCompletionProposals( javaText,
+                                        prefix,
+                                        documentOffset,
+                                        params,
+                                        list );
+        return list;
+    }
+
+    /*
+     * do we already have a completion for that string that would be either a local variable or a field?
+     */
+    protected static boolean doesNotContainFieldCompletion(String completion,
+                                                         List completions) {
+        if ( completion == null || completion.length() == 0 || completions == null ) {
+            return false;
+        }
+        for ( Iterator iter = completions.iterator(); iter.hasNext(); ) {
+            Object o = iter.next();
+            if ( o instanceof AbstractJavaCompletionProposal ) {
+                AbstractJavaCompletionProposal prop = (AbstractJavaCompletionProposal) o;
+                String content = prop.getReplacementString();
+                if ( completion.equals( content ) ) {
+                    IJavaElement javaElement = prop.getJavaElement();
+                    if ( javaElement instanceof ILocalVariable || javaElement instanceof IField ) {
+                        return false;
+                    }
+                }
+            }
+        }
+        return true;
+    }
+
+    protected void requestJavaCompletionProposals(final String javaText,
+                                                  final String prefix,
+                                                  final int documentOffset,
+                                                  Map params,
+                                                  Collection results) {
+
+
+        String javaTextWithoutPrefix = CompletionUtil.getTextWithoutPrefix( javaText,
+                                                                            prefix );
+        // boolean to filter default Object methods produced by code completion when in the beginning of a statement
+        boolean filterObjectMethods = false;
+        if ( "".equals( javaTextWithoutPrefix.trim() ) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher( javaTextWithoutPrefix ).matches() ) {
+            filterObjectMethods = true;
+        }
+        IJavaProject javaProject = getCurrentJavaProject();
+        if ( javaProject == null ) {
+            return;
+        }
+
+        CompletionProposalCollector collector = new CompletionProposalCollector( javaProject );
+        collector.acceptContext( new CompletionContext() );
+
+        try {
+            IEvaluationContext evalContext = javaProject.newEvaluationContext();
+            List imports = getImports();
+            if ( imports != null && imports.size() > 0 ) {
+                evalContext.setImports( (String[]) imports.toArray( new String[imports.size()] ) );
+            }
+            StringBuffer javaTextWithParams = new StringBuffer();
+            Iterator iterator = params.entrySet().iterator();
+            while ( iterator.hasNext() ) {
+                Map.Entry entry = (Map.Entry) iterator.next();
+                // this does not seem to work, so adding variables manually
+                // evalContext.newVariable((String) entry.getValue(), (String) entry.getKey(), null);
+                javaTextWithParams.append( entry.getValue() + " " + entry.getKey() + ";\n" );
+            }
+            javaTextWithParams.append( "org.drools.spi.KnowledgeHelper drools;" );
+            javaTextWithParams.append( javaText );
+            String jtext = javaTextWithParams.toString();
+            String fixedText = new KnowledgeHelperFixer().fix( jtext );
+
+            evalContext.codeComplete( fixedText,
+                                      fixedText.length(),
+                                      collector );
+            IJavaCompletionProposal[] proposals = collector.getJavaCompletionProposals();
+            for ( int i = 0; i < proposals.length; i++ ) {
+                if ( proposals[i] instanceof AbstractJavaCompletionProposal ) {
+                    AbstractJavaCompletionProposal javaProposal = (AbstractJavaCompletionProposal) proposals[i];
+                    int replacementOffset = documentOffset - (fixedText.length() - javaProposal.getReplacementOffset());
+                    javaProposal.setReplacementOffset( replacementOffset );
+                    if ( javaProposal instanceof LazyJavaTypeCompletionProposal ) {
+                        String completionPrefix = javaText.substring( javaText.length() - javaProposal.getReplacementLength() );
+                        int dotIndex = completionPrefix.lastIndexOf( '.' );
+                        // match up to the last dot in order to make higher level matching still work (camel case...)
+                        if ( dotIndex != -1 ) {
+                            javaProposal.setReplacementString( ((LazyJavaTypeCompletionProposal) javaProposal).getQualifiedTypeName() );
+                        }
+                    }
+                    if ( !filterObjectMethods || !(proposals[i] instanceof JavaMethodCompletionProposal) ) {
+                        results.add( proposals[i] );
+                    }
+                }
+            }
+        } catch ( Throwable t ) {
+            DroolsEclipsePlugin.log( t );
+        }
+    }
+
+    protected String getPackage() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getPackage();
+        }
+        return "";
+    }
+
+    protected List getImports() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getImports();
+        }
+        return Collections.EMPTY_LIST;
+    }
+
+    protected Set getUniqueImports() {
+        HashSet set = new HashSet();
+        set.addAll( getImports() );
+        return set;
+    }
+
+    protected List getFunctions() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getFunctions();
+        }
+        return Collections.EMPTY_LIST;
+    }
+
+    protected Map getAttributes() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getAttributes();
+        }
+        return Collections.EMPTY_MAP;
+    }
+
+    protected Set getTemplates() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getTemplates();
+        }
+        return Collections.EMPTY_SET;
+    }
+
+    protected FactTemplateDescr getTemplate(String name) {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getTemplate( name );
+        }
+        return null;
+    }
+
+    protected List getGlobals() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getGlobals();
+        }
+        return Collections.EMPTY_LIST;
+    }
+
+    protected List getClassesInPackage() {
+        if ( getEditor() instanceof DRLRuleEditor ) {
+            return ((DRLRuleEditor) getEditor()).getClassesInPackage();
+        }
+        return Collections.EMPTY_LIST;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,110 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.Collection;
-import java.util.HashMap;
-
-public class Node {
-    private HashMap children = new HashMap();
-    private Node parent = null;
-    private String token;
-    private int depth = 0;
-    
-    public Node(String name) {
-        this.token = name;
-    }
-
-    /**
-     * The method will create a new Node instance and try to add it as
-     * a child node. If an Node with the same string token exists, the
-     * method will return the existing node instead.
-     * @param token
-     * @return
-     */
-    public Node addToken(String token) {
-        Node newnode = new Node(token);
-        // set the depth first
-        newnode.setDepth(depth + 1);
-        // add the node as a child
-        newnode = addChild(newnode);
-        return newnode;
-    }
-    
-    /**
-     * if the string matches this node's token, the method will return
-     * true. Otherwise it returns false.
-     * @param input
-     * @return
-     */
-    public boolean isMatch(String input) {
-        return input.equals(token);
-    }
-
-    public boolean isMatch(Node n) {
-        return this.token.equals(n.getToken());
-    }
-    
-    /**
-     * The method will check to see if a Node with the same string token
-     * already exists. If it doesn't, it will add the token as a child and
-     * return the same node.
-     * 
-     * On the otherhand, if there is an existing Node for the same string
-     * token, the method returns the existing Node instance.
-     * @param n
-     * @return
-     */
-    public Node addChild(Node n) {
-        if (!this.children.containsKey(n.getToken())) {
-            this.children.put(n.getToken(),n);
-            n.setParent(this);
-            return n;
-        } else {
-            return (Node)this.children.get(n.getToken());
-        }
-    }
-    
-    public void removeChild(Node n) {
-        this.children.remove(n.getToken());
-    }
-    
-    public Collection getChildren() {
-        return this.children.values();
-    }
-
-    /**
-     * The method will get the child matching the string token
-     * @param token
-     * @return
-     */
-    public Node getChild(String token) {
-        return (Node)this.children.get(token);
-    }
-    
-    public Node getParent() {
-        return parent;
-    }
-
-    public void setParent(Node parent) {
-        this.parent = parent;
-    }
-
-    public String getToken() {
-        return token;
-    }
-
-    public void setToken(String token) {
-        this.token = token;
-    }
-    
-    public int getDepth() {
-        return depth;
-    }
-
-    public void setDepth(int depth) {
-        this.depth = depth;
-    }
-    
-    public void clearChildren() {
-        this.children.clear();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/Node.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,110 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.Collection;
+import java.util.HashMap;
+
+public class Node {
+    private HashMap children = new HashMap();
+    private Node parent = null;
+    private String token;
+    private int depth = 0;
+    
+    public Node(String name) {
+        this.token = name;
+    }
+
+    /**
+     * The method will create a new Node instance and try to add it as
+     * a child node. If an Node with the same string token exists, the
+     * method will return the existing node instead.
+     * @param token
+     * @return
+     */
+    public Node addToken(String token) {
+        Node newnode = new Node(token);
+        // set the depth first
+        newnode.setDepth(depth + 1);
+        // add the node as a child
+        newnode = addChild(newnode);
+        return newnode;
+    }
+    
+    /**
+     * if the string matches this node's token, the method will return
+     * true. Otherwise it returns false.
+     * @param input
+     * @return
+     */
+    public boolean isMatch(String input) {
+        return input.equals(token);
+    }
+
+    public boolean isMatch(Node n) {
+        return this.token.equals(n.getToken());
+    }
+    
+    /**
+     * The method will check to see if a Node with the same string token
+     * already exists. If it doesn't, it will add the token as a child and
+     * return the same node.
+     * 
+     * On the otherhand, if there is an existing Node for the same string
+     * token, the method returns the existing Node instance.
+     * @param n
+     * @return
+     */
+    public Node addChild(Node n) {
+        if (!this.children.containsKey(n.getToken())) {
+            this.children.put(n.getToken(),n);
+            n.setParent(this);
+            return n;
+        } else {
+            return (Node)this.children.get(n.getToken());
+        }
+    }
+    
+    public void removeChild(Node n) {
+        this.children.remove(n.getToken());
+    }
+    
+    public Collection getChildren() {
+        return this.children.values();
+    }
+
+    /**
+     * The method will get the child matching the string token
+     * @param token
+     * @return
+     */
+    public Node getChild(String token) {
+        return (Node)this.children.get(token);
+    }
+    
+    public Node getParent() {
+        return parent;
+    }
+
+    public void setParent(Node parent) {
+        this.parent = parent;
+    }
+
+    public String getToken() {
+        return token;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+    
+    public int getDepth() {
+        return depth;
+    }
+
+    public void setDepth(int depth) {
+        this.depth = depth;
+    }
+    
+    public void clearChildren() {
+        this.children.clear();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,35 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.lang.reflect.Field;
-
-public class ReflectionUtils {
-
-	private ReflectionUtils() {
-	}
-
-	public static Object getField(Object instance, String name) {
-		Class clazz = instance.getClass();
-
-		do {
-			Field[] fields = clazz.getDeclaredFields();
-			for (int i = 0; i < fields.length; i++) {
-				Field f = fields[i];
-				if (name.equals(f.getName())) {
-					try {
-						f.setAccessible(true);
-						return f.get(instance);
-
-					} catch (SecurityException ex) {
-						return null;
-					} catch (IllegalArgumentException ex) {
-						return null;
-					} catch (IllegalAccessException ex) {
-						return null;
-					}
-				}
-			}
-			clazz = clazz.getSuperclass();
-		} while (clazz.getSuperclass() != null);
-		return null;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/ReflectionUtils.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,35 @@
+package org.drools.eclipse.editors.completion;
+
+import java.lang.reflect.Field;
+
+public class ReflectionUtils {
+
+	private ReflectionUtils() {
+	}
+
+	public static Object getField(Object instance, String name) {
+		Class clazz = instance.getClass();
+
+		do {
+			Field[] fields = clazz.getDeclaredFields();
+			for (int i = 0; i < fields.length; i++) {
+				Field f = fields[i];
+				if (name.equals(f.getName())) {
+					try {
+						f.setAccessible(true);
+						return f.get(instance);
+
+					} catch (SecurityException ex) {
+						return null;
+					} catch (IllegalArgumentException ex) {
+						return null;
+					} catch (IllegalAccessException ex) {
+						return null;
+					}
+				}
+			}
+			clazz = clazz.getSuperclass();
+		} while (clazz.getSuperclass() != null);
+		return null;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,1642 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-
-import org.drools.base.ClassTypeResolver;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.DroolsPluginImages;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.eclipse.util.ProjectClassLoader;
-import org.drools.lang.Location;
-import org.drools.lang.descr.AndDescr;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.ExistsDescr;
-import org.drools.lang.descr.FactTemplateDescr;
-import org.drools.lang.descr.FieldBindingDescr;
-import org.drools.lang.descr.FieldTemplateDescr;
-import org.drools.lang.descr.GlobalDescr;
-import org.drools.lang.descr.NotDescr;
-import org.drools.lang.descr.OrDescr;
-import org.drools.lang.descr.PatternDescr;
-import org.drools.rule.builder.dialect.mvel.MVELConsequenceBuilder;
-import org.drools.rule.builder.dialect.mvel.MVELDialect;
-import org.drools.spi.KnowledgeHelper;
-import org.drools.util.asm.ClassFieldInspector;
-import org.eclipse.jdt.core.CompletionProposal;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.JavaMethodCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.swt.graphics.Image;
-import org.mvel.CompiledExpression;
-import org.mvel.ExpressionCompiler;
-import org.mvel.ParserContext;
-import org.mvel.PropertyVerifier;
-
-/**
- * For handling within rules.
- *
- * @author Michael Neale, Kris Verlanen
- */
-public class RuleCompletionProcessor extends DefaultCompletionProcessor {
-
-    private static final String DIALECT     = "dialect";
-
-    private static final Image  DROOLS_ICON = DroolsPluginImages.getImage( DroolsPluginImages.DROOLS );
-
-    private static final Image  CLASS_ICON  = DroolsPluginImages.getImage( DroolsPluginImages.CLASS );
-
-    /**
-     * A CompletionContext contains the DRL backtext parsing results, to avoid
-     * multilpe parser invocations
-     */
-    private CompletionContext   context;
-
-    public RuleCompletionProcessor(AbstractRuleEditor editor) {
-        super( editor );
-    }
-
-    protected List getCompletionProposals(ITextViewer viewer,
-                                          int documentOffset) {
-        try {
-            final List list = new ArrayList();
-            IDocument doc = viewer.getDocument();
-
-            String backText = readBackwards( documentOffset,
-                                             doc );
-            final String prefix = CompletionUtil.stripLastWord( backText );
-
-            // if inside the keyword "rule ", no code completion
-            if ( backText.length() < 5 ) {
-                return list;
-            }
-
-            this.context = new CompletionContext( backText );
-            Location location = context.getLocation();
-
-            if ( location.getType() == Location.LOCATION_RULE_HEADER ) {
-                addRuleHeaderProposals( list,
-                                        documentOffset,
-                                        prefix,
-                                        backText );
-            } else if ( location.getType() == Location.LOCATION_RHS ) {
-                addRHSCompletionProposals( list,
-                                           documentOffset,
-                                           prefix,
-                                           backText,
-                                           (String) location.getProperty( Location.LOCATION_LHS_CONTENT ),
-                                           (String) location.getProperty( Location.LOCATION_RHS_CONTENT ) );
-            } else {
-                addLHSCompletionProposals( list,
-                                           documentOffset,
-                                           location,
-                                           prefix,
-                                           backText );
-            }
-
-            filterProposalsOnPrefix( prefix,
-                                     list );
-            return list;
-        } catch ( Throwable t ) {
-            DroolsEclipsePlugin.log( t );
-        }
-        return null;
-    }
-
-    protected void addRHSCompletionProposals(List list,
-                                             int documentOffset,
-                                             String prefix,
-                                             String backText,
-                                             String conditions,
-                                             String consequence) {
-        // only add functions and keywords if at the beginning of a
-        // new statement
-        if ( consequence == null || consequence.length() < prefix.length() ) {
-            // possible if doing code completion directly after "then"
-            return;
-        }
-        String consequenceWithoutPrefix = consequence.substring( 0,
-                                                                 consequence.length() - prefix.length() );
-
-        if ( context == null ) {
-            context = new CompletionContext( backText );
-        }
-
-        boolean startOfDialectExpression = CompletionUtil.isStartOfDialectExpression( consequenceWithoutPrefix );
-        if ( isJavaDialect() && startOfDialectExpression ) {
-            addRHSKeywordCompletionProposals( list,
-                                              documentOffset,
-                                              prefix );
-            addRHSFunctionCompletionProposals( list,
-                                               documentOffset,
-                                               prefix );
-        }
-        
-
-        //if we have 1st a dialect defined locally, or 2nd a global dialect
-        //the locally defined dialect will override the package default
-        if ( isJavaDialect() ) {
-            addRHSJavaCompletionProposals( list,
-                                           documentOffset,
-                                           prefix,
-                                           backText,
-                                           consequence );
-        } else if ( isMvelDialect() ) {
-            addRHSMvelCompletionProposals( list,
-                                           documentOffset,
-                                           prefix,
-                                           backText,
-                                           consequence,
-                                           startOfDialectExpression );
-        }
-    }
-
-    private boolean isJavaDialect() {
-        // java is the default dialect, so no package dialect means java
-        // conditions are ordered from the more specific to the more general
-        if ( context.isJavaDialect() ) {
-            return true;
-        } else if ( context.isDefaultDialect() && (!(getAttributes().containsKey( DIALECT )) || hasPackageDialect( "java" )) ) {
-            return true;
-        }
-
-        return false;
-    }
-
-    private boolean isMvelDialect() {
-        if ( context.isMvelDialect() ) {
-            return true;
-        } else if ( context.isDefaultDialect() && hasPackageDialect( "mvel" ) ) {
-            return true;
-        }
-        return false;
-    }
-
-    private boolean hasPackageDialect(String dialect) {
-        String globalDialect = (String) getAttributes().get( DIALECT );
-        if ( globalDialect != null && dialect.equalsIgnoreCase( globalDialect ) ) {
-            return true;
-        }
-        return false;
-    }
-
-    protected void addLHSCompletionProposals(List list,
-                                             int documentOffset,
-                                             Location location,
-                                             String prefix,
-                                             String backText) {
-        switch ( location.getType() ) {
-            case Location.LOCATION_LHS_BEGIN_OF_CONDITION :
-                // if we are at the beginning of a new condition
-                // add drools keywords
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "and",
-                                                      "and ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "or",
-                                                      "or ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "from",
-                                                      "from ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "forall",
-                                                      "forall(  )",
-                                                      8,
-                                                      DROOLS_ICON ) );
-                RuleCompletionProposal prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                          prefix.length(),
-                                                                          "eval",
-                                                                          "eval(  )",
-                                                                          6 );
-                prop.setImage( DROOLS_ICON );
-                list.add( prop );
-                prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                   prefix.length(),
-                                                   "then",
-                                                   "then" + System.getProperty( "line.separator" ) + "\t" );
-                prop.setImage( DROOLS_ICON );
-                list.add( prop );
-                // we do not break but also add all elements that are needed for
-                // and/or
-            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR :
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "not",
-                                                      "not ",
-                                                      DROOLS_ICON ) );
-                // we do not break but also add all elements that are needed for
-                // not
-            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT :
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "exists",
-                                                      "exists ",
-                                                      DROOLS_ICON ) );
-                // we do not break but also add all elements that are needed for
-                // exists
-            case Location.LOCATION_LHS_FROM_ACCUMULATE :
-            case Location.LOCATION_LHS_FROM_COLLECT :
-            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS :
-                // and add imported classes
-                Iterator iterator = getImports().iterator();
-                while ( iterator.hasNext() ) {
-                    String name = (String) iterator.next();
-                    int index = name.lastIndexOf( "." );
-                    if ( index != -1 ) {
-                        String className = name.substring( index + 1 );
-                        RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                               prefix.length(),
-                                                                               className,
-                                                                               className + "(  )",
-                                                                               className.length() + 2 );
-                        p.setPriority( -1 );
-                        p.setImage( CLASS_ICON );
-                        list.add( p );
-                    }
-                }
-                iterator = getClassesInPackage().iterator();
-                while ( iterator.hasNext() ) {
-                    String name = (String) iterator.next();
-                    int index = name.lastIndexOf( "." );
-                    if ( index != -1 ) {
-                        String className = name.substring( index + 1 );
-                        RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                               prefix.length(),
-                                                                               className,
-                                                                               className + "(  )",
-                                                                               className.length() + 2 );
-                        p.setPriority( -1 );
-                        p.setImage( CLASS_ICON );
-                        list.add( p );
-                    }
-                }
-                iterator = getTemplates().iterator();
-                while ( iterator.hasNext() ) {
-                    String name = (String) iterator.next();
-                    RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                           prefix.length(),
-                                                                           name,
-                                                                           name + "(  )",
-                                                                           name.length() + 2 );
-                    p.setPriority( -1 );
-                    p.setImage( CLASS_ICON );
-                    list.add( p );
-                }
-                break;
-            case Location.LOCATION_LHS_INSIDE_CONDITION_START :
-                String className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
-                String propertyName = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
-                if ( className != null ) {
-                    boolean isTemplate = addFactTemplatePropertyProposals( documentOffset,
-                                                                           prefix,
-                                                                           className,
-                                                                           list );
-                    if ( !isTemplate ) {
-                        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
-                                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
-                        try {
-                            String currentClass = className;
-                            if ( propertyName != null ) {
-                                String[] nestedProperties = propertyName.split( "\\." );
-                                int nbSuperProperties = nestedProperties.length - 1;
-                                if ( propertyName.endsWith( "." ) ) {
-                                    nbSuperProperties++;
-                                }
-                                for ( int i = 0; i < nbSuperProperties; i++ ) {
-                                    String simplePropertyName = nestedProperties[i];
-                                    currentClass = getSimplePropertyClass( currentClass,
-                                                                           simplePropertyName );
-                                    currentClass = convertToNonPrimitiveClass( currentClass );
-                                }
-                            }
-                            RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                                   prefix.length(),
-                                                                                   "this" );
-                            p.setImage( METHOD_ICON );
-                            list.add( p );
-                            Class clazz = resolver.resolveType( currentClass );
-                            if ( clazz != null ) {
-                                if ( Map.class.isAssignableFrom( clazz ) ) {
-                                    p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                    prefix.length(),
-                                                                    "this['']",
-                                                                    "this['']",
-                                                                    6 );
-                                    p.setImage( METHOD_ICON );
-                                    list.add( p );
-                                }
-                                ClassFieldInspector inspector = new ClassFieldInspector( clazz );
-                                Map types = inspector.getFieldTypes();
-                                Iterator iterator2 = inspector.getFieldNames().keySet().iterator();
-                                while ( iterator2.hasNext() ) {
-                                    String name = (String) iterator2.next();
-                                    p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                    prefix.length(),
-                                                                    name,
-                                                                    name + " " );
-                                    p.setImage( METHOD_ICON );
-                                    list.add( p );
-                                    Class type = (Class) types.get( name );
-                                    if ( type != null && Map.class.isAssignableFrom( type ) ) {
-                                        name += "['']";
-                                        p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                        prefix.length(),
-                                                                        name,
-                                                                        name,
-                                                                        name.length() - 2 );
-                                        p.setImage( METHOD_ICON );
-                                        list.add( p );
-                                    }
-                                }
-                            }
-                        } catch ( IOException exc ) {
-                            // Do nothing
-                        } catch ( ClassNotFoundException exc ) {
-                            // Do nothing
-                        }
-                    }
-                }
-                break;
-            case Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR :
-                className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
-                String property = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
-                String type = getPropertyClass( className,
-                                                property );
-
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "==",
-                                                      "== ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "!=",
-                                                      "!= ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      ":",
-                                                      ": ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "->",
-                                                      "-> (  )",
-                                                      5,
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "memberOf",
-                                                      "memberOf ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "not memberOf",
-                                                      "not memberOf ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "in",
-                                                      "in (  )",
-                                                      5,
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "not in",
-                                                      "not in (  )",
-                                                      9,
-                                                      DROOLS_ICON ) );
-
-                if ( isComparable( type ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "<",
-                                                          "< ",
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "<=",
-                                                          "<= ",
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          ">",
-                                                          "> ",
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          ">=",
-                                                          ">= ",
-                                                          DROOLS_ICON ) );
-                }
-                if ( type.equals( "java.lang.String" ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "matches",
-                                                          "matches \"\"",
-                                                          9,
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "not matches",
-                                                          "not matches \"\"",
-                                                          13,
-                                                          DROOLS_ICON ) );
-                }
-                if ( isSubtypeOf( type,
-                                  "java.util.Collection" ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "contains",
-                                                          "contains ",
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "not contains",
-                                                          "not contains ",
-                                                          DROOLS_ICON ) );
-                }
-                break;
-            case Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT :
-                // determine type
-                className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
-                property = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
-                String operator = (String) location.getProperty( Location.LOCATION_PROPERTY_OPERATOR );
-                type = getPropertyClass( className,
-                                         property );
-
-                if ( "in".equals( operator ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "()",
-                                                          "(  )",
-                                                          2,
-                                                          DROOLS_ICON ) );
-                    break;
-                }
-
-                if ( "contains".equals( operator ) || "excludes".equals( operator ) ) {
-                    type = "java.lang.Object";
-                }
-
-                if ( "memberOf".equals( operator ) ) {
-                    type = "java.util.Collection";
-                }
-
-                boolean isObject = false;
-                if ( "java.lang.Object".equals( type ) ) {
-                    isObject = true;
-                }
-
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "null",
-                                                      "null ",
-                                                      DROOLS_ICON ) );
-                if ( "boolean".equals( type ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "true",
-                                                          "true ",
-                                                          DROOLS_ICON ) );
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "false",
-                                                          "false ",
-                                                          DROOLS_ICON ) );
-                }
-                if ( isObject || "java.lang.String".equals( type ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "\"\"",
-                                                          "\"\"",
-                                                          1,
-                                                          DROOLS_ICON ) );
-                }
-                if ( isObject || "java.util.Date".equals( type ) ) {
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "\"dd-mmm-yyyy\"",
-                                                          "\"dd-mmm-yyyy\"",
-                                                          1,
-                                                          DROOLS_ICON ) );
-                }
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "()",
-                                                      "(  )",
-                                                      2,
-                                                      DROOLS_ICON ) );
-                // add parameters with possibly matching type
-                if ( context.getRule() != null ) {
-                    Map result = new HashMap();
-                    addRuleParameters( result,
-                                       context.getRule().getLhs().getDescrs() );
-                    Iterator iterator2 = result.entrySet().iterator();
-                    while ( iterator2.hasNext() ) {
-                        Map.Entry entry = (Map.Entry) iterator2.next();
-                        String paramName = (String) entry.getKey();
-                        String paramType = (String) entry.getValue();
-                        if ( isSubtypeOf( paramType,
-                                          type ) ) {
-                            RuleCompletionProposal proposal = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                                          prefix.length(),
-                                                                                          paramName );
-                            proposal.setPriority( -1 );
-                            proposal.setImage( VARIABLE_ICON );
-                            list.add( proposal );
-                        }
-                    }
-                }
-                // add globals with possibly matching type
-                List globals = getGlobals();
-                if ( globals != null ) {
-                    for ( iterator = globals.iterator(); iterator.hasNext(); ) {
-                        GlobalDescr global = (GlobalDescr) iterator.next();
-                        if ( isSubtypeOf( global.getType(),
-                                          type ) ) {
-                            RuleCompletionProposal proposal = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                                          prefix.length(),
-                                                                                          global.getIdentifier() );
-                            proposal.setPriority( -1 );
-                            proposal.setImage( VARIABLE_ICON );
-                            list.add( proposal );
-                        }
-                    }
-                }
-                break;
-            case Location.LOCATION_LHS_INSIDE_EVAL :
-                String content = (String) location.getProperty( Location.LOCATION_EVAL_CONTENT );
-                list.addAll( getJavaCompletionProposals( documentOffset,
-                                                         content,
-                                                         prefix,
-                                                         getRuleParameters( backText ) ) );
-                break;
-            case Location.LOCATION_LHS_INSIDE_CONDITION_END :
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "&&",
-                                                      "&& ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      "||",
-                                                      "|| ",
-                                                      DROOLS_ICON ) );
-                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                      prefix.length(),
-                                                      ",",
-                                                      ", ",
-                                                      DROOLS_ICON ) );
-                break;
-            case Location.LOCATION_LHS_FROM :
-                String fromText = (String) location.getProperty( Location.LOCATION_FROM_CONTENT );
-                int index = fromText.indexOf( '.' );
-                if ( index == -1 ) {
-                    // add accumulate and collect keyword
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "accumulate",
-                                                          "accumulate (  , init (  ), action (  ), result (  ) )",
-                                                          13,
-                                                          DROOLS_ICON ) );
-                    PackageBuilderConfiguration config = new PackageBuilderConfiguration( ProjectClassLoader.getProjectClassLoader( getEditor() ),
-                                                                                          null );
-                    Map accumulateFunctions = config.getAccumulateFunctionsMap();
-                    for ( Iterator iterator2 = accumulateFunctions.keySet().iterator(); iterator2.hasNext(); ) {
-                        String accumulateFunction = (String) iterator2.next();
-                        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                              prefix.length(),
-                                                              "accumulate " + accumulateFunction,
-                                                              "accumulate (  , " + accumulateFunction + "(  ) )",
-                                                              13,
-                                                              DROOLS_ICON ) );
-                    }
-                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                          prefix.length(),
-                                                          "collect",
-                                                          "collect (  )",
-                                                          10,
-                                                          DROOLS_ICON ) );
-                    // add all functions
-                    if ( "".equals( fromText ) ) {
-                        List functions = getFunctions();
-                        iterator = functions.iterator();
-                        while ( iterator.hasNext() ) {
-                            String name = (String) iterator.next() + "()";
-                            prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                               prefix.length(),
-                                                               name,
-                                                               name,
-                                                               name.length() - 1 );
-                            prop.setPriority( -1 );
-                            prop.setImage( METHOD_ICON );
-                            list.add( prop );
-                        }
-                    }
-                    list.addAll( getJavaCompletionProposals( documentOffset,
-                                                             fromText,
-                                                             prefix,
-                                                             getRuleParameters( backText ) ) );
-                }
-                break;
-            case Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE :
-                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
-                list.addAll( getJavaCompletionProposals( documentOffset,
-                                                         content,
-                                                         prefix,
-                                                         getRuleParameters( backText ) ) );
-                break;
-            case Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE :
-                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
-                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT );
-                list.addAll( getJavaCompletionProposals( documentOffset,
-                                                         content,
-                                                         prefix,
-                                                         getRuleParameters( backText ) ) );
-                break;
-            case Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE :
-                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
-                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT );
-                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT );
-                list.addAll( getJavaCompletionProposals( documentOffset,
-                                                         content,
-                                                         prefix,
-                                                         getRuleParameters( backText ) ) );
-                break;
-        }
-    }
-
-    private String getPropertyClass(String className,
-                                    String propertyName) {
-        if ( className != null && propertyName != null ) {
-            FactTemplateDescr template = getTemplate( className );
-            if ( template != null ) {
-                Iterator iterator = template.getFields().iterator();
-                while ( iterator.hasNext() ) {
-                    FieldTemplateDescr field = (FieldTemplateDescr) iterator.next();
-                    if ( propertyName.equals( field.getName() ) ) {
-                        String type = field.getClassType();
-                        if ( isPrimitiveType( type ) ) {
-                            return type;
-                        }
-                        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
-                                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
-                        try {
-                            Class clazz = resolver.resolveType( type );
-                            if ( clazz != null ) {
-                                return clazz.getName();
-                            }
-                        } catch ( ClassNotFoundException exc ) {
-                            DroolsEclipsePlugin.log( exc );
-                        }
-                    }
-                }
-                // if not found, return null
-            } else {
-                String[] nestedProperties = propertyName.split( "\\." );
-                String currentClass = className;
-                for ( int i = 0; i < nestedProperties.length; i++ ) {
-                    String simplePropertyName = nestedProperties[i];
-                    currentClass = getSimplePropertyClass( currentClass,
-                                                           simplePropertyName );
-                }
-                return currentClass;
-            }
-        }
-        return null;
-    }
-
-    private String getSimplePropertyClass(String className,
-                                          String propertyName) {
-        if ( "this".equals( propertyName ) ) {
-            return className;
-        }
-        if ( propertyName.endsWith( "]" ) ) {
-            // TODO can we take advantage of generics here?
-            return "java.lang.Object";
-        }
-        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
-                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
-        try {
-            Class clazz = resolver.resolveType( className );
-            if ( clazz != null ) {
-                Class clazzz = (Class) new ClassFieldInspector( clazz ).getFieldTypes().get( propertyName );
-                if ( clazzz != null ) {
-                    return clazzz.getName();
-                }
-            }
-        } catch ( IOException exc ) {
-            // Do nothing
-        } catch ( ClassNotFoundException exc ) {
-            // Do nothing
-        }
-        return "java.lang.Object";
-    }
-
-    private Map getRuleParameters(String backText) {
-        Map result = new HashMap();
-        // add globals
-        List globals = getGlobals();
-        if ( globals != null ) {
-            for ( Iterator iterator = globals.iterator(); iterator.hasNext(); ) {
-                GlobalDescr global = (GlobalDescr) iterator.next();
-                result.put( global.getIdentifier(),
-                            global.getType() );
-            }
-        }
-
-        if ( context == null ) {
-            context = new CompletionContext( backText );
-        }
-        if ( context.getRule() == null ) {
-            return result;
-        }
-        // add parameters defined in conditions
-        addRuleParameters( result,
-                           context.getRule().getLhs().getDescrs() );
-        return result;
-    }
-
-    private boolean isComparable(String type) {
-        if ( type == null ) {
-            return false;
-        }
-        if ( isPrimitiveNumericType( type ) ) {
-            return true;
-        }
-        if ( isObjectNumericType( type ) ) {
-            return true;
-        }
-        if ( isSubtypeOf( type,
-                          "java.lang.Comparable" ) ) {
-            return true;
-        }
-        return false;
-    }
-
-    private boolean isPrimitiveType(String type) {
-        return isPrimitiveNumericType( type ) || type.equals( "boolean" );
-    }
-
-    private boolean isPrimitiveNumericType(String type) {
-        return type.equals( "byte" ) || type.equals( "short" ) || type.equals( "int" ) || type.equals( "long" ) || type.equals( "float" ) || type.equals( "double" ) || type.equals( "char" );
-    }
-
-    private boolean isObjectNumericType(String type) {
-        return type.equals( "java.lang.Byte" ) || type.equals( "java.lang.Short" ) || type.equals( "java.lang.Integer" ) || type.equals( "java.lang.Long" ) || type.equals( "java.lang.Float" ) || type.equals( "java.lang.Double" )
-               || type.equals( "java.lang.Char" );
-    }
-
-    /**
-     * Returns true if the first class is the same or a subtype of the second
-     * class.
-     *
-     * @param class1
-     * @param class2
-     * @return
-     */
-    private boolean isSubtypeOf(String class1,
-                                String class2) {
-        if ( class1 == null || class2 == null ) {
-            return false;
-        }
-        class1 = convertToNonPrimitiveClass( class1 );
-        class2 = convertToNonPrimitiveClass( class2 );
-        // TODO add code to take primitive types into account
-        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
-                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
-        try {
-            Class clazz1 = resolver.resolveType( class1 );
-            Class clazz2 = resolver.resolveType( class2 );
-            if ( clazz1 == null || clazz2 == null ) {
-                return false;
-            }
-            return clazz2.isAssignableFrom( clazz1 );
-        } catch ( ClassNotFoundException exc ) {
-            return false;
-        }
-    }
-
-    private String convertToNonPrimitiveClass(String clazz) {
-        if ( !isPrimitiveType( clazz ) ) {
-            return clazz;
-        }
-        if ( "byte".equals( clazz ) ) {
-            return "java.lang.Byte";
-        } else if ( "short".equals( clazz ) ) {
-            return "java.lang.Short";
-        } else if ( "int".equals( clazz ) ) {
-            return "java.lang.Integer";
-        } else if ( "long".equals( clazz ) ) {
-            return "java.lang.Long";
-        } else if ( "float".equals( clazz ) ) {
-            return "java.lang.Float";
-        } else if ( "double".equals( clazz ) ) {
-            return "java.lang.Double";
-        } else if ( "char".equals( clazz ) ) {
-            return "java.lang.Char";
-        } else if ( "boolean".equals( clazz ) ) {
-            return "java.lang.Boolean";
-        }
-        // should never occur
-        return null;
-    }
-
-    private void addRHSFunctionCompletionProposals(List list,
-                                                   int documentOffset,
-                                                   String prefix) {
-        Iterator iterator;
-        RuleCompletionProposal prop;
-        List functions = getFunctions();
-        iterator = functions.iterator();
-        while ( iterator.hasNext() ) {
-            String name = (String) iterator.next() + "()";
-            prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                               prefix.length(),
-                                               name,
-                                               name + ";",
-                                               name.length() - 1 );
-            prop.setPriority( -1 );
-            prop.setImage( METHOD_ICON );
-            list.add( prop );
-        }
-    }
-
-    private void addRHSKeywordCompletionProposals(List list,
-                                                  int documentOffset,
-                                                  String prefix) {
-        RuleCompletionProposal prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                  prefix.length(),
-                                                                  "update",
-                                                                  "update();",
-                                                                  7 );
-        prop.setImage( DROOLS_ICON );
-        list.add( prop );
-        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                           prefix.length(),
-                                           "retract",
-                                           "retract();",
-                                           8 );
-        prop.setImage( DROOLS_ICON );
-        list.add( prop );
-        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                           prefix.length(),
-                                           "insert",
-                                           "insert();",
-                                           7 );
-        prop.setImage( DROOLS_ICON );
-        list.add( prop );
-        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                           prefix.length(),
-                                           "insertLogical",
-                                           "insertLogical();",
-                                           14 );
-        prop.setImage( DROOLS_ICON );
-        list.add( prop );
-    }
-
-    private void addRHSJavaCompletionProposals(List list,
-                                               int documentOffset,
-                                               String prefix,
-                                               String backText,
-                                               String consequence) {
-        list.addAll( getJavaCompletionProposals( documentOffset,
-                                                 consequence,
-                                                 prefix,
-                                                 getRuleParameters( backText ) ) );
-    }
-
-    private void addRHSMvelCompletionProposals(List list,
-                                               final int documentOffset,
-                                               String prefix,
-                                               String backText,
-                                               String consequence,
-                                               boolean expressionStart) {
-
-        Collection mvelCompletionProposals = getMvelCompletionProposals( consequence,
-                                                                         documentOffset,
-                                                                         prefix,
-                                                                         getRuleParameters( backText ),
-                                                                         backText,
-                                                                         expressionStart );
-        list.addAll( mvelCompletionProposals );
-    }
-
-    private Collection getMvelCompletionProposals(final String consequenceBackText,
-                                                  final int documentOffset,
-                                                  final String prefix,
-                                                  Map params,
-                                                  String ruleBackText,
-                                                  boolean startOfExpression) {
-
-        final Set proposals = new HashSet();
-
-        if ( !(getEditor() instanceof DRLRuleEditor) ) {
-            return proposals;
-        }
-
-        try {
-            DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource( (DRLRuleEditor) getEditor(),
-                                                                              true,
-                                                                              true );
-
-            String textWithoutPrefix = CompletionUtil.getTextWithoutPrefix( consequenceBackText,
-                                                                            prefix );
-            boolean expressionStart = CompletionUtil.isStartOfDialectExpression( textWithoutPrefix );
-
-            boolean isConstrained = textWithoutPrefix.endsWith( "." );
-
-            // we split the expression in various regions:
-            // *the previous expression
-            // *the last expression
-            // *the last inner expression
-
-            // attempt to compile and analyze the previous expression to collect inputs and vars
-            String previousExpression = CompletionUtil.getPreviousExpression( consequenceBackText );
-            MvelContext previousExprContext = analyzeMvelExpression( getResolvedMvelInputs( params ),
-                                                                     drlInfo,
-                                                                     previousExpression );
-
-            // attempt to compile and analyze the last and last inner expression, using as inputs the previous expression inputs and vars
-            Map variables = previousExprContext.getContext().getVariables();
-            Map inputs = previousExprContext.getContext().getInputs();
-            inputs.putAll( variables );
-
-            //last inner expression
-            String lastInnerExpression = CompletionUtil.getTextWithoutPrefix( CompletionUtil.getInnerExpression( consequenceBackText ),
-                                                                              prefix );
-            String compilableLastInnerExpression = CompletionUtil.getCompilableText( lastInnerExpression );
-
-            MvelContext lastInnerExprContext = analyzeMvelExpression( inputs,
-                                                                      drlInfo,
-                                                                      compilableLastInnerExpression );
-
-            //last expression
-            String lastExpression = CompletionUtil.getLastExpression( consequenceBackText ).trim();
-            //is this a modify expression?
-            //group 1 is the body of modify
-            //group 2 if present is the whole with block including brackets
-            //group 3 if present is the inner content of the with block
-            Matcher modMatcher = CompletionUtil.MODIFY_PATTERN.matcher( lastExpression );
-
-            boolean isModifyBlock = modMatcher.matches() && modMatcher.groupCount() == 3;
-
-            //if constrained, get completion for egress of last inner, filtered on prefix
-            if ( isConstrained ) {
-                if ( lastInnerExprContext.isStaticFlag() ) {
-                    return getMvelClassCompletionsFromJDT( documentOffset,
-                                                           "",
-                                                           params,
-                                                           lastInnerExprContext.getReturnedType() );
-
-                }
-
-                return getMvelInstanceCompletionsFromJDT( documentOffset,
-                                                          "",
-                                                          params,
-                                                          lastInnerExprContext.getReturnedType(),
-                                                          false );
-            }
-            //if expression start inside with block, then get completion for prefix with egrss of modif var + prev expr var&inputs
-            else if ( expressionStart && isModifyBlock ) {
-                String modifyVar = modMatcher.group( 1 );
-                //String modifyWith = modMatcher.group( 3 );
-
-                //get the egress type of the modify var
-                MvelContext modVarContext = analyzeMvelExpression( inputs,
-                                                                   drlInfo,
-                                                                   modifyVar );
-
-                Class modVarType = modVarContext.getReturnedType();
-
-                Collection modVarComps = getMvelInstanceCompletionsFromJDT( documentOffset,
-                                                                            "",
-                                                                            params,
-                                                                            modVarType,
-                                                                            true );
-
-                proposals.addAll( modVarComps );
-
-                //                addMvelCompletions( proposals,
-                //                                    documentOffset,
-                //                                    "",
-                //                                    lastInnerExprContext.getContext().getVariables() );
-                //
-                //                addMvelCompletions( proposals,
-                //                                    documentOffset,
-                //                                    "",
-                //                                    lastInnerExprContext.getContext().getInputs() );
-                //
-                //                Collection jdtProps = getJavaCompletionProposals( documentOffset,
-                //                                                                  prefix,
-                //                                                                  prefix,
-                //                                                                  params );
-                //
-                //                proposals.addAll( jdtProps );
-                return proposals;
-
-            }
-            //If expression start, and all other cases then get completion for prefix with prev expr var&inputs
-            addMvelCompletions( proposals,
-                                documentOffset,
-                                prefix,
-                                lastInnerExprContext.getContext().getVariables() );
-
-            addMvelCompletions( proposals,
-                                documentOffset,
-                                prefix,
-                                lastInnerExprContext.getContext().getInputs() );
-
-            Collection jdtProps = getJavaCompletionProposals( documentOffset,
-                                                              prefix,
-                                                              prefix,
-                                                              params );
-
-            proposals.addAll( jdtProps );
-
-        } catch ( Throwable e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-        Set uniqueProposals = new HashSet();
-        addAllNewProposals( uniqueProposals,
-                            proposals );
-        return uniqueProposals;
-    }
-
-    private Map getResolvedMvelInputs(Map params) {
-        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
-                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
-
-        Map resolved = new HashMap();
-        for ( Iterator iter = params.entrySet().iterator(); iter.hasNext(); ) {
-            Map.Entry entry = (Map.Entry) iter.next();
-            String inputType = (String) entry.getValue();
-            try {
-                Class type = resolver.resolveType( inputType );
-                resolved.put( entry.getKey(),
-                              type );
-            } catch ( ClassNotFoundException e ) {
-                DroolsEclipsePlugin.log( e );
-            }
-        }
-        return resolved;
-    }
-
-    class MvelContext {
-        private CompiledExpression expression;
-        private ParserContext      initialContext;
-        private Class              returnedType;
-        private boolean            staticFlag;
-
-        public ParserContext getContext() {
-            if ( getExpression() != null ) {
-                if ( getExpression().getParserContext() != null ) {
-                    return getExpression().getParserContext();
-                }
-            }
-            return getInitialContext();
-        }
-
-        void setExpression(CompiledExpression expression) {
-            this.expression = expression;
-        }
-
-        CompiledExpression getExpression() {
-            return expression;
-        }
-
-        void setInitialContext(ParserContext initialContext) {
-            this.initialContext = initialContext;
-        }
-
-        ParserContext getInitialContext() {
-            return initialContext;
-        }
-
-        void setReturnedType(Class returnedType) {
-            this.returnedType = returnedType;
-        }
-
-        Class getReturnedType() {
-            return returnedType;
-        }
-
-        public boolean isStaticFlag() {
-            return staticFlag;
-        }
-
-        public void setStaticFlag(boolean staticFlag) {
-            this.staticFlag = staticFlag;
-        }
-    }
-
-    private MvelContext analyzeMvelExpression(Map params,
-                                              DRLInfo drlInfo,
-                                              String mvel) {
-
-        String macroMvel = processMacros( mvel );
-
-        String name = context.getRule().getName();
-        RuleInfo currentRule = getCurrentRule( drlInfo,
-                                               name );
-        String qName = drlInfo.getPackageName() + "." + currentRule.getRuleName();
-        MVELDialect dialect = (MVELDialect) currentRule.getDialect();
-        ParserContext initialContext = createInitialContext( params,
-                                                             qName,
-                                                             dialect );
-        MvelContext mCon = new MvelContext();
-        mCon.setInitialContext( initialContext );
-
-        try {
-            ExpressionCompiler compiler = new ExpressionCompiler( macroMvel );
-            CompiledExpression expression = compiler.compile( initialContext );
-            mCon.setExpression( expression );
-
-            ParserContext compilationContext = compiler.getParserContextState();
-
-            Class lastType = expression.getKnownEgressType();
-
-            //Statics expression may return Class as an egress type
-            if ( lastType != null && "java.lang.Class".equals( lastType.getName() ) ) {
-                mCon.setStaticFlag( true );
-            }
-
-            if ( lastType == null || "java.lang.Object".equals( lastType.getName() ) || "java.lang.Class".equals( lastType.getName() ) ) {
-                // attempt to use the property verifier to get
-                // a better type  resolution (a recommend by cbrock, though egress gives consistent results)
-                lastType = new PropertyVerifier( macroMvel,
-                                                 compilationContext ).analyze();
-            }
-
-            if ( lastType == null ) {
-                lastType = Object.class;
-            }
-
-            mCon.setReturnedType( lastType );
-        } catch ( Exception e ) {
-            //do nothing while doing completion.
-        }
-        return mCon;
-    }
-
-    private static ParserContext createInitialContext(Map params,
-                                                      String qualifiedName,
-                                                      MVELDialect dialect) {
-
-        final ParserContext context = new ParserContext( dialect.getImports(),
-                                                         null,
-                                                         qualifiedName );
-
-        for ( Iterator it = dialect.getPackgeImports().values().iterator(); it.hasNext(); ) {
-            String packageImport = (String) it.next();
-            context.addPackageImport( packageImport );
-        }
-        context.setStrictTypeEnforcement( false );
-
-        context.setInterceptors( dialect.getInterceptors() );
-        context.setInputs( params );
-        context.addInput( "drools",
-                          KnowledgeHelper.class );
-        context.setCompiled( true );
-        return context;
-    }
-
-    public static String processMacros(String mvel) {
-        MVELConsequenceBuilder builder = new MVELConsequenceBuilder();
-        String macrosProcessedCompilableConsequence = builder.processMacros( mvel.trim() );
-        return macrosProcessedCompilableConsequence;
-    }
-
-    private static RuleInfo getCurrentRule(DRLInfo drlInfo,
-                                    String currentRulename) {
-        RuleInfo currentRule = null;
-        RuleInfo[] ruleInfos = drlInfo.getRuleInfos();
-        for ( int i = 0; i < ruleInfos.length; i++ ) {
-            if ( currentRulename.equals( ruleInfos[i].getRuleName() ) ) {
-                currentRule = ruleInfos[i];
-                break;
-            }
-        }
-        return currentRule;
-    }
-
-    /*
-     * Completions for object instance members
-     */
-    private Collection getMvelInstanceCompletionsFromJDT(final int documentOffset,
-                                                         final String prefix,
-                                                         Map params,
-                                                         Class lastType,
-                                                         boolean settersOnly) {
-        if ( lastType == null ) {
-            lastType = Object.class;
-        }
-
-        //FIXME: there is a small chance of var name collision using this arbitrary mvdrlofc as a variable name.
-        //ideally the variable name should be inferred from the last member of the expression
-        final String syntheticVarName = "mvdrlofc";
-
-        String javaText = "\n" + CompletionUtil.getSimpleClassName( lastType ) + " " + syntheticVarName + ";\n" + syntheticVarName + ".";
-        final List list1 = new ArrayList();
-        requestJavaCompletionProposals( javaText,
-                                        prefix,
-                                        documentOffset,
-                                        params,
-                                        list1 );
-
-        final List list = list1;
-
-        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list,
-                                                                        settersOnly );
-        return mvelList;
-    }
-
-    /*
-     * Completions for static Class members
-     */
-    private Collection getMvelClassCompletionsFromJDT(final int documentOffset,
-                                                      final String prefix,
-                                                      Map params,
-                                                      Class lastType) {
-        if ( lastType == null ) {
-            lastType = Object.class;
-        }
-
-        //FIXME: there is a small chance of var name collision using this arbitrary mvdrlofc as a variable name.
-        //ideally the variable name should be inferred from the last member of the expression
-
-        String javaText = "\n" + CompletionUtil.getSimpleClassName( lastType ) + ".";
-        final List list1 = new ArrayList();
-        requestJavaCompletionProposals( javaText,
-                                        prefix,
-                                        documentOffset,
-                                        params,
-                                        list1 );
-        final List list = list1;
-        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list,
-                                                                        false );
-        return mvelList;
-    }
-
-    private static void addMvelCompletions(final Collection proposals,
-                                    int documentOffset,
-                                    String prefix,
-                                    Map inputs) {
-        Set newProposals = new HashSet();
-        for ( Iterator iter = inputs.entrySet().iterator(); iter.hasNext(); ) {
-            Map.Entry entry = (Map.Entry) iter.next();
-            String prop = (String) entry.getKey();
-
-            Class type = (Class) entry.getValue();
-            String display = prop + "  " + CompletionUtil.getSimpleClassName( type );
-
-            RuleCompletionProposal rcp = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                     prefix.length(),
-                                                                     display,
-                                                                     prop );
-            rcp.setImage( DefaultCompletionProcessor.VARIABLE_ICON );
-            newProposals.add( rcp );
-        }
-        addAllNewProposals( proposals,
-                            newProposals );
-    }
-
-    public static void addAllNewProposals(final Collection proposals,
-                                          final Collection newProposals) {
-        for ( Iterator iter = newProposals.iterator(); iter.hasNext(); ) {
-            ICompletionProposal newProp = (ICompletionProposal) iter.next();
-            String displayString = newProp.getDisplayString();
-
-            //JBRULES-1134 do not add completions if they already exist
-            if ( !containsProposal( proposals,
-                                    displayString ) ) {
-                proposals.add( newProp );
-            }
-        }
-    }
-
-    /**
-     * Attempt to compare proposals of different types based on the tokenized display string
-     * @param proposals
-     * @param newProposal
-     * @return true if the collection contains a proposal which matches the new Proposal.
-     * The match is based on the first token based on a space split
-     */
-    public static boolean containsProposal(final Collection proposals,
-                                           String newProposal) {
-        for ( Iterator iter = proposals.iterator(); iter.hasNext(); ) {
-            ICompletionProposal prop = (ICompletionProposal) iter.next();
-            String displayString = prop.getDisplayString();
-            String[] existings = displayString.split( " " );
-            if ( existings.length == 0 ) {
-                continue;
-            }
-
-            String[] newProposals = newProposal.split( " " );
-            if ( newProposals.length == 0 ) {
-                continue;
-            }
-
-            if ( existings[0].equals( newProposals[0] ) ) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private void addRuleParameters(Map result,
-                                   List descrs) {
-        if ( descrs == null ) {
-            return;
-        }
-        Iterator iterator = descrs.iterator();
-        while ( iterator.hasNext() ) {
-            BaseDescr descr = (BaseDescr) iterator.next();
-            addRuleParameters( result,
-                               descr );
-        }
-    }
-
-    private void addRuleParameters(Map result,
-                                   BaseDescr descr) {
-        if ( descr == null ) {
-            return;
-        }
-        if ( descr instanceof PatternDescr ) {
-            String name = ((PatternDescr) descr).getIdentifier();
-            if ( name != null ) {
-                result.put( name,
-                            ((PatternDescr) descr).getObjectType() );
-            }
-            addRuleSubParameters( result,
-                                  ((PatternDescr) descr).getDescrs(),
-                                  ((PatternDescr) descr).getObjectType() );
-        } else if ( descr instanceof AndDescr ) {
-            addRuleParameters( result,
-                               ((AndDescr) descr).getDescrs() );
-        } else if ( descr instanceof OrDescr ) {
-            addRuleParameters( result,
-                               ((OrDescr) descr).getDescrs() );
-        } else if ( descr instanceof ExistsDescr ) {
-            addRuleParameters( result,
-                               ((ExistsDescr) descr).getDescrs() );
-        } else if ( descr instanceof NotDescr ) {
-            addRuleParameters( result,
-                               ((NotDescr) descr).getDescrs() );
-        }
-    }
-
-    private void addRuleSubParameters(Map result,
-                                      List descrs,
-                                      String clazz) {
-        if ( descrs == null ) {
-            return;
-        }
-        Iterator iterator = descrs.iterator();
-        while ( iterator.hasNext() ) {
-            BaseDescr descr = (BaseDescr) iterator.next();
-            if ( descr instanceof FieldBindingDescr ) {
-                FieldBindingDescr fieldDescr = (FieldBindingDescr) descr;
-                String name = fieldDescr.getIdentifier();
-                String field = fieldDescr.getFieldName();
-                String type = getPropertyClass( clazz,
-                                                field );
-                if ( name != null ) {
-                    result.put( name,
-                                type );
-                }
-            }
-        }
-    }
-
-    private void addRuleHeaderProposals(List list,
-                                        int documentOffset,
-                                        String prefix,
-                                        String backText) {
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "salience",
-                                              "salience ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "no-loop",
-                                              "no-loop ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "agenda-group",
-                                              "agenda-group ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "duration",
-                                              "duration ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "auto-focus",
-                                              "auto-focus ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "when",
-                                              "when" + System.getProperty( "line.separator" ) + "\t ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "activation-group",
-                                              "activation-group ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "date-effective",
-                                              "date-effective \"dd-MMM-yyyy\"",
-                                              16,
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "date-expires",
-                                              "date-expires \"dd-MMM-yyyy\"",
-                                              14,
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "enabled",
-                                              "enabled false",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "ruleflow-group",
-                                              "ruleflow-group \"\"",
-                                              16,
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "lock-on-active",
-                                              "lock-on-active ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "dialect \"java\"",
-                                              "dialect \"java\" ",
-                                              DROOLS_ICON ) );
-        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
-                                              prefix.length(),
-                                              "dialect \"mvel\"",
-                                              "dialect \"mvel\" ",
-                                              DROOLS_ICON ) );
-    }
-
-    private boolean addFactTemplatePropertyProposals(int documentOffset,
-                                                     String prefix,
-                                                     String templateName,
-                                                     List list) {
-        FactTemplateDescr descr = getTemplate( templateName );
-        if ( descr == null ) {
-            return false;
-        }
-        Iterator iterator = descr.getFields().iterator();
-        while ( iterator.hasNext() ) {
-            FieldTemplateDescr field = (FieldTemplateDescr) iterator.next();
-            String fieldName = field.getName();
-            RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
-                                                                   prefix.length(),
-                                                                   fieldName,
-                                                                   fieldName + " " );
-            p.setImage( METHOD_ICON );
-            list.add( p );
-        }
-        return true;
-    }
-
-    /*
-     * Filters accessor method proposals to replace them with their mvel expression equivalent
-     * For instance a completion for getStatus() would be replaced by a completion for status
-     * when asking for stters only, then only setters or writable fields will be returned
-     */
-    public static Collection mvelifyProposals(List list,
-                                              boolean settersOnly) {
-        final Collection set = new HashSet();
-
-        for ( Iterator iter = list.iterator(); iter.hasNext(); ) {
-            Object o = iter.next();
-            if ( o instanceof JavaMethodCompletionProposal ) {
-                //methods
-                processJavaMethodCompletionProposal( list,
-                                                     settersOnly,
-                                                     set,
-                                                     o );
-
-            } else if ( o instanceof JavaCompletionProposal ) {
-                //fields
-                processesJavaCompletionProposal( settersOnly,
-                                                 set,
-                                                 o );
-            } else if ( !settersOnly ) {
-                set.add( o );
-            }
-        }
-        return set;
-    }
-
-    private static void processesJavaCompletionProposal(boolean settersOnly,
-                                                        final Collection set,
-                                                        Object o) {
-        if ( settersOnly ) {
-            JavaCompletionProposal jcp = (JavaCompletionProposal) o;
-            //TODO: FIXME: this is very fragile as it uses reflection to access the private completion field.
-            //Yet this is needed to do mvel filtering based on the method signtures, IF we use the richer JDT completion
-            //                    Object field = ReflectionUtils.getField( o,
-            //                                                             "fProposal" );
-            IJavaElement javaElement = jcp.getJavaElement();
-            if ( javaElement.getElementType() == IJavaElement.FIELD ) {
-                set.add( o );
-
-            }
-        } else {
-            set.add( o );
-        }
-    }
-
-    private static void processJavaMethodCompletionProposal(List list,
-                                                            boolean settersOnly,
-                                                            final Collection set,
-                                                            Object o) {
-        LazyJavaCompletionProposal javaProposal = (LazyJavaCompletionProposal) o;
-        //TODO: FIXME: this is very fragile as it uses reflection to access the private completion field.
-        //Yet this is needed to do mvel filtering based on the method signtures, IF we use the richer JDT completion
-        Object field = ReflectionUtils.getField( o,
-                                                 "fProposal" );
-        if ( field != null && field instanceof CompletionProposal ) {
-            CompletionProposal proposal = (CompletionProposal) field;
-
-            String completion = new String( proposal.getCompletion() );
-
-            String propertyOrMethodName = null;
-
-            boolean isSetter = false;
-            boolean isAccessor = false;
-            if ( settersOnly ) {
-                // get the eventual writable property name for that method name and signature
-                propertyOrMethodName = CompletionUtil.getWritablePropertyName( completion,
-                                                                               proposal.getSignature() );
-                //                      if we got a property name that differs from the orginal method name
-                //then this is a bean accessor
-                isSetter = !completion.equals( propertyOrMethodName );
-
-            } else {
-                // get the eventual property name for that method name and signature
-                propertyOrMethodName = CompletionUtil.getPropertyName( completion,
-                                                                       proposal.getSignature() );
-                //if we got a property name that differs from the orginal method name
-                //then this is a bean accessor
-                isAccessor = !completion.equals( propertyOrMethodName );
-            }
-
-            // is the completion for a bean accessor? and do we have already some relevant completion?
-            boolean doesNotContainFieldCompletion = DefaultCompletionProcessor.doesNotContainFieldCompletion( propertyOrMethodName,
-                                                                                                              list );
-            if ( ((settersOnly && isSetter) || (!settersOnly && isAccessor)) && doesNotContainFieldCompletion ) {
-
-                //TODO: craft a better JDTish display name than just the property name
-                RuleCompletionProposal prop = new RuleCompletionProposal( javaProposal.getReplacementOffset(),
-                                                                          javaProposal.getReplacementLength(),
-                                                                          propertyOrMethodName );
-                prop.setImage( DefaultCompletionProcessor.VARIABLE_ICON );
-                //set high priority such that the completion for accessors shows up first
-                prop.setPriority( 1000 );
-                set.add( prop );
-
-            }
-
-            else if ( !settersOnly ) {
-                set.add( o );
-            }
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,1642 @@
+package org.drools.eclipse.editors.completion;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+
+import org.drools.base.ClassTypeResolver;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.DroolsPluginImages;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.eclipse.util.ProjectClassLoader;
+import org.drools.lang.Location;
+import org.drools.lang.descr.AndDescr;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.ExistsDescr;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.FieldBindingDescr;
+import org.drools.lang.descr.FieldTemplateDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.lang.descr.NotDescr;
+import org.drools.lang.descr.OrDescr;
+import org.drools.lang.descr.PatternDescr;
+import org.drools.rule.builder.dialect.mvel.MVELConsequenceBuilder;
+import org.drools.rule.builder.dialect.mvel.MVELDialect;
+import org.drools.spi.KnowledgeHelper;
+import org.drools.util.asm.ClassFieldInspector;
+import org.eclipse.jdt.core.CompletionProposal;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal;
+import org.eclipse.jdt.internal.ui.text.java.JavaMethodCompletionProposal;
+import org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.swt.graphics.Image;
+import org.mvel.CompiledExpression;
+import org.mvel.ExpressionCompiler;
+import org.mvel.ParserContext;
+import org.mvel.PropertyVerifier;
+
+/**
+ * For handling within rules.
+ *
+ * @author Michael Neale, Kris Verlanen
+ */
+public class RuleCompletionProcessor extends DefaultCompletionProcessor {
+
+    private static final String DIALECT     = "dialect";
+
+    private static final Image  DROOLS_ICON = DroolsPluginImages.getImage( DroolsPluginImages.DROOLS );
+
+    private static final Image  CLASS_ICON  = DroolsPluginImages.getImage( DroolsPluginImages.CLASS );
+
+    /**
+     * A CompletionContext contains the DRL backtext parsing results, to avoid
+     * multilpe parser invocations
+     */
+    private CompletionContext   context;
+
+    public RuleCompletionProcessor(AbstractRuleEditor editor) {
+        super( editor );
+    }
+
+    protected List getCompletionProposals(ITextViewer viewer,
+                                          int documentOffset) {
+        try {
+            final List list = new ArrayList();
+            IDocument doc = viewer.getDocument();
+
+            String backText = readBackwards( documentOffset,
+                                             doc );
+            final String prefix = CompletionUtil.stripLastWord( backText );
+
+            // if inside the keyword "rule ", no code completion
+            if ( backText.length() < 5 ) {
+                return list;
+            }
+
+            this.context = new CompletionContext( backText );
+            Location location = context.getLocation();
+
+            if ( location.getType() == Location.LOCATION_RULE_HEADER ) {
+                addRuleHeaderProposals( list,
+                                        documentOffset,
+                                        prefix,
+                                        backText );
+            } else if ( location.getType() == Location.LOCATION_RHS ) {
+                addRHSCompletionProposals( list,
+                                           documentOffset,
+                                           prefix,
+                                           backText,
+                                           (String) location.getProperty( Location.LOCATION_LHS_CONTENT ),
+                                           (String) location.getProperty( Location.LOCATION_RHS_CONTENT ) );
+            } else {
+                addLHSCompletionProposals( list,
+                                           documentOffset,
+                                           location,
+                                           prefix,
+                                           backText );
+            }
+
+            filterProposalsOnPrefix( prefix,
+                                     list );
+            return list;
+        } catch ( Throwable t ) {
+            DroolsEclipsePlugin.log( t );
+        }
+        return null;
+    }
+
+    protected void addRHSCompletionProposals(List list,
+                                             int documentOffset,
+                                             String prefix,
+                                             String backText,
+                                             String conditions,
+                                             String consequence) {
+        // only add functions and keywords if at the beginning of a
+        // new statement
+        if ( consequence == null || consequence.length() < prefix.length() ) {
+            // possible if doing code completion directly after "then"
+            return;
+        }
+        String consequenceWithoutPrefix = consequence.substring( 0,
+                                                                 consequence.length() - prefix.length() );
+
+        if ( context == null ) {
+            context = new CompletionContext( backText );
+        }
+
+        boolean startOfDialectExpression = CompletionUtil.isStartOfDialectExpression( consequenceWithoutPrefix );
+        if ( isJavaDialect() && startOfDialectExpression ) {
+            addRHSKeywordCompletionProposals( list,
+                                              documentOffset,
+                                              prefix );
+            addRHSFunctionCompletionProposals( list,
+                                               documentOffset,
+                                               prefix );
+        }
+        
+
+        //if we have 1st a dialect defined locally, or 2nd a global dialect
+        //the locally defined dialect will override the package default
+        if ( isJavaDialect() ) {
+            addRHSJavaCompletionProposals( list,
+                                           documentOffset,
+                                           prefix,
+                                           backText,
+                                           consequence );
+        } else if ( isMvelDialect() ) {
+            addRHSMvelCompletionProposals( list,
+                                           documentOffset,
+                                           prefix,
+                                           backText,
+                                           consequence,
+                                           startOfDialectExpression );
+        }
+    }
+
+    private boolean isJavaDialect() {
+        // java is the default dialect, so no package dialect means java
+        // conditions are ordered from the more specific to the more general
+        if ( context.isJavaDialect() ) {
+            return true;
+        } else if ( context.isDefaultDialect() && (!(getAttributes().containsKey( DIALECT )) || hasPackageDialect( "java" )) ) {
+            return true;
+        }
+
+        return false;
+    }
+
+    private boolean isMvelDialect() {
+        if ( context.isMvelDialect() ) {
+            return true;
+        } else if ( context.isDefaultDialect() && hasPackageDialect( "mvel" ) ) {
+            return true;
+        }
+        return false;
+    }
+
+    private boolean hasPackageDialect(String dialect) {
+        String globalDialect = (String) getAttributes().get( DIALECT );
+        if ( globalDialect != null && dialect.equalsIgnoreCase( globalDialect ) ) {
+            return true;
+        }
+        return false;
+    }
+
+    protected void addLHSCompletionProposals(List list,
+                                             int documentOffset,
+                                             Location location,
+                                             String prefix,
+                                             String backText) {
+        switch ( location.getType() ) {
+            case Location.LOCATION_LHS_BEGIN_OF_CONDITION :
+                // if we are at the beginning of a new condition
+                // add drools keywords
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "and",
+                                                      "and ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "or",
+                                                      "or ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "from",
+                                                      "from ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "forall",
+                                                      "forall(  )",
+                                                      8,
+                                                      DROOLS_ICON ) );
+                RuleCompletionProposal prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                          prefix.length(),
+                                                                          "eval",
+                                                                          "eval(  )",
+                                                                          6 );
+                prop.setImage( DROOLS_ICON );
+                list.add( prop );
+                prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                   prefix.length(),
+                                                   "then",
+                                                   "then" + System.getProperty( "line.separator" ) + "\t" );
+                prop.setImage( DROOLS_ICON );
+                list.add( prop );
+                // we do not break but also add all elements that are needed for
+                // and/or
+            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR :
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "not",
+                                                      "not ",
+                                                      DROOLS_ICON ) );
+                // we do not break but also add all elements that are needed for
+                // not
+            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT :
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "exists",
+                                                      "exists ",
+                                                      DROOLS_ICON ) );
+                // we do not break but also add all elements that are needed for
+                // exists
+            case Location.LOCATION_LHS_FROM_ACCUMULATE :
+            case Location.LOCATION_LHS_FROM_COLLECT :
+            case Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS :
+                // and add imported classes
+                Iterator iterator = getImports().iterator();
+                while ( iterator.hasNext() ) {
+                    String name = (String) iterator.next();
+                    int index = name.lastIndexOf( "." );
+                    if ( index != -1 ) {
+                        String className = name.substring( index + 1 );
+                        RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                               prefix.length(),
+                                                                               className,
+                                                                               className + "(  )",
+                                                                               className.length() + 2 );
+                        p.setPriority( -1 );
+                        p.setImage( CLASS_ICON );
+                        list.add( p );
+                    }
+                }
+                iterator = getClassesInPackage().iterator();
+                while ( iterator.hasNext() ) {
+                    String name = (String) iterator.next();
+                    int index = name.lastIndexOf( "." );
+                    if ( index != -1 ) {
+                        String className = name.substring( index + 1 );
+                        RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                               prefix.length(),
+                                                                               className,
+                                                                               className + "(  )",
+                                                                               className.length() + 2 );
+                        p.setPriority( -1 );
+                        p.setImage( CLASS_ICON );
+                        list.add( p );
+                    }
+                }
+                iterator = getTemplates().iterator();
+                while ( iterator.hasNext() ) {
+                    String name = (String) iterator.next();
+                    RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                           prefix.length(),
+                                                                           name,
+                                                                           name + "(  )",
+                                                                           name.length() + 2 );
+                    p.setPriority( -1 );
+                    p.setImage( CLASS_ICON );
+                    list.add( p );
+                }
+                break;
+            case Location.LOCATION_LHS_INSIDE_CONDITION_START :
+                String className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
+                String propertyName = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
+                if ( className != null ) {
+                    boolean isTemplate = addFactTemplatePropertyProposals( documentOffset,
+                                                                           prefix,
+                                                                           className,
+                                                                           list );
+                    if ( !isTemplate ) {
+                        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
+                                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
+                        try {
+                            String currentClass = className;
+                            if ( propertyName != null ) {
+                                String[] nestedProperties = propertyName.split( "\\." );
+                                int nbSuperProperties = nestedProperties.length - 1;
+                                if ( propertyName.endsWith( "." ) ) {
+                                    nbSuperProperties++;
+                                }
+                                for ( int i = 0; i < nbSuperProperties; i++ ) {
+                                    String simplePropertyName = nestedProperties[i];
+                                    currentClass = getSimplePropertyClass( currentClass,
+                                                                           simplePropertyName );
+                                    currentClass = convertToNonPrimitiveClass( currentClass );
+                                }
+                            }
+                            RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                                   prefix.length(),
+                                                                                   "this" );
+                            p.setImage( METHOD_ICON );
+                            list.add( p );
+                            Class clazz = resolver.resolveType( currentClass );
+                            if ( clazz != null ) {
+                                if ( Map.class.isAssignableFrom( clazz ) ) {
+                                    p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                    prefix.length(),
+                                                                    "this['']",
+                                                                    "this['']",
+                                                                    6 );
+                                    p.setImage( METHOD_ICON );
+                                    list.add( p );
+                                }
+                                ClassFieldInspector inspector = new ClassFieldInspector( clazz );
+                                Map types = inspector.getFieldTypes();
+                                Iterator iterator2 = inspector.getFieldNames().keySet().iterator();
+                                while ( iterator2.hasNext() ) {
+                                    String name = (String) iterator2.next();
+                                    p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                    prefix.length(),
+                                                                    name,
+                                                                    name + " " );
+                                    p.setImage( METHOD_ICON );
+                                    list.add( p );
+                                    Class type = (Class) types.get( name );
+                                    if ( type != null && Map.class.isAssignableFrom( type ) ) {
+                                        name += "['']";
+                                        p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                        prefix.length(),
+                                                                        name,
+                                                                        name,
+                                                                        name.length() - 2 );
+                                        p.setImage( METHOD_ICON );
+                                        list.add( p );
+                                    }
+                                }
+                            }
+                        } catch ( IOException exc ) {
+                            // Do nothing
+                        } catch ( ClassNotFoundException exc ) {
+                            // Do nothing
+                        }
+                    }
+                }
+                break;
+            case Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR :
+                className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
+                String property = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
+                String type = getPropertyClass( className,
+                                                property );
+
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "==",
+                                                      "== ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "!=",
+                                                      "!= ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      ":",
+                                                      ": ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "->",
+                                                      "-> (  )",
+                                                      5,
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "memberOf",
+                                                      "memberOf ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "not memberOf",
+                                                      "not memberOf ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "in",
+                                                      "in (  )",
+                                                      5,
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "not in",
+                                                      "not in (  )",
+                                                      9,
+                                                      DROOLS_ICON ) );
+
+                if ( isComparable( type ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "<",
+                                                          "< ",
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "<=",
+                                                          "<= ",
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          ">",
+                                                          "> ",
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          ">=",
+                                                          ">= ",
+                                                          DROOLS_ICON ) );
+                }
+                if ( type.equals( "java.lang.String" ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "matches",
+                                                          "matches \"\"",
+                                                          9,
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "not matches",
+                                                          "not matches \"\"",
+                                                          13,
+                                                          DROOLS_ICON ) );
+                }
+                if ( isSubtypeOf( type,
+                                  "java.util.Collection" ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "contains",
+                                                          "contains ",
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "not contains",
+                                                          "not contains ",
+                                                          DROOLS_ICON ) );
+                }
+                break;
+            case Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT :
+                // determine type
+                className = (String) location.getProperty( Location.LOCATION_PROPERTY_CLASS_NAME );
+                property = (String) location.getProperty( Location.LOCATION_PROPERTY_PROPERTY_NAME );
+                String operator = (String) location.getProperty( Location.LOCATION_PROPERTY_OPERATOR );
+                type = getPropertyClass( className,
+                                         property );
+
+                if ( "in".equals( operator ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "()",
+                                                          "(  )",
+                                                          2,
+                                                          DROOLS_ICON ) );
+                    break;
+                }
+
+                if ( "contains".equals( operator ) || "excludes".equals( operator ) ) {
+                    type = "java.lang.Object";
+                }
+
+                if ( "memberOf".equals( operator ) ) {
+                    type = "java.util.Collection";
+                }
+
+                boolean isObject = false;
+                if ( "java.lang.Object".equals( type ) ) {
+                    isObject = true;
+                }
+
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "null",
+                                                      "null ",
+                                                      DROOLS_ICON ) );
+                if ( "boolean".equals( type ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "true",
+                                                          "true ",
+                                                          DROOLS_ICON ) );
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "false",
+                                                          "false ",
+                                                          DROOLS_ICON ) );
+                }
+                if ( isObject || "java.lang.String".equals( type ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "\"\"",
+                                                          "\"\"",
+                                                          1,
+                                                          DROOLS_ICON ) );
+                }
+                if ( isObject || "java.util.Date".equals( type ) ) {
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "\"dd-mmm-yyyy\"",
+                                                          "\"dd-mmm-yyyy\"",
+                                                          1,
+                                                          DROOLS_ICON ) );
+                }
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "()",
+                                                      "(  )",
+                                                      2,
+                                                      DROOLS_ICON ) );
+                // add parameters with possibly matching type
+                if ( context.getRule() != null ) {
+                    Map result = new HashMap();
+                    addRuleParameters( result,
+                                       context.getRule().getLhs().getDescrs() );
+                    Iterator iterator2 = result.entrySet().iterator();
+                    while ( iterator2.hasNext() ) {
+                        Map.Entry entry = (Map.Entry) iterator2.next();
+                        String paramName = (String) entry.getKey();
+                        String paramType = (String) entry.getValue();
+                        if ( isSubtypeOf( paramType,
+                                          type ) ) {
+                            RuleCompletionProposal proposal = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                                          prefix.length(),
+                                                                                          paramName );
+                            proposal.setPriority( -1 );
+                            proposal.setImage( VARIABLE_ICON );
+                            list.add( proposal );
+                        }
+                    }
+                }
+                // add globals with possibly matching type
+                List globals = getGlobals();
+                if ( globals != null ) {
+                    for ( iterator = globals.iterator(); iterator.hasNext(); ) {
+                        GlobalDescr global = (GlobalDescr) iterator.next();
+                        if ( isSubtypeOf( global.getType(),
+                                          type ) ) {
+                            RuleCompletionProposal proposal = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                                          prefix.length(),
+                                                                                          global.getIdentifier() );
+                            proposal.setPriority( -1 );
+                            proposal.setImage( VARIABLE_ICON );
+                            list.add( proposal );
+                        }
+                    }
+                }
+                break;
+            case Location.LOCATION_LHS_INSIDE_EVAL :
+                String content = (String) location.getProperty( Location.LOCATION_EVAL_CONTENT );
+                list.addAll( getJavaCompletionProposals( documentOffset,
+                                                         content,
+                                                         prefix,
+                                                         getRuleParameters( backText ) ) );
+                break;
+            case Location.LOCATION_LHS_INSIDE_CONDITION_END :
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "&&",
+                                                      "&& ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      "||",
+                                                      "|| ",
+                                                      DROOLS_ICON ) );
+                list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                      prefix.length(),
+                                                      ",",
+                                                      ", ",
+                                                      DROOLS_ICON ) );
+                break;
+            case Location.LOCATION_LHS_FROM :
+                String fromText = (String) location.getProperty( Location.LOCATION_FROM_CONTENT );
+                int index = fromText.indexOf( '.' );
+                if ( index == -1 ) {
+                    // add accumulate and collect keyword
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "accumulate",
+                                                          "accumulate (  , init (  ), action (  ), result (  ) )",
+                                                          13,
+                                                          DROOLS_ICON ) );
+                    PackageBuilderConfiguration config = new PackageBuilderConfiguration( ProjectClassLoader.getProjectClassLoader( getEditor() ),
+                                                                                          null );
+                    Map accumulateFunctions = config.getAccumulateFunctionsMap();
+                    for ( Iterator iterator2 = accumulateFunctions.keySet().iterator(); iterator2.hasNext(); ) {
+                        String accumulateFunction = (String) iterator2.next();
+                        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                              prefix.length(),
+                                                              "accumulate " + accumulateFunction,
+                                                              "accumulate (  , " + accumulateFunction + "(  ) )",
+                                                              13,
+                                                              DROOLS_ICON ) );
+                    }
+                    list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                          prefix.length(),
+                                                          "collect",
+                                                          "collect (  )",
+                                                          10,
+                                                          DROOLS_ICON ) );
+                    // add all functions
+                    if ( "".equals( fromText ) ) {
+                        List functions = getFunctions();
+                        iterator = functions.iterator();
+                        while ( iterator.hasNext() ) {
+                            String name = (String) iterator.next() + "()";
+                            prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                               prefix.length(),
+                                                               name,
+                                                               name,
+                                                               name.length() - 1 );
+                            prop.setPriority( -1 );
+                            prop.setImage( METHOD_ICON );
+                            list.add( prop );
+                        }
+                    }
+                    list.addAll( getJavaCompletionProposals( documentOffset,
+                                                             fromText,
+                                                             prefix,
+                                                             getRuleParameters( backText ) ) );
+                }
+                break;
+            case Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE :
+                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
+                list.addAll( getJavaCompletionProposals( documentOffset,
+                                                         content,
+                                                         prefix,
+                                                         getRuleParameters( backText ) ) );
+                break;
+            case Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE :
+                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
+                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT );
+                list.addAll( getJavaCompletionProposals( documentOffset,
+                                                         content,
+                                                         prefix,
+                                                         getRuleParameters( backText ) ) );
+                break;
+            case Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE :
+                content = (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT );
+                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT );
+                content += (String) location.getProperty( Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT );
+                list.addAll( getJavaCompletionProposals( documentOffset,
+                                                         content,
+                                                         prefix,
+                                                         getRuleParameters( backText ) ) );
+                break;
+        }
+    }
+
+    private String getPropertyClass(String className,
+                                    String propertyName) {
+        if ( className != null && propertyName != null ) {
+            FactTemplateDescr template = getTemplate( className );
+            if ( template != null ) {
+                Iterator iterator = template.getFields().iterator();
+                while ( iterator.hasNext() ) {
+                    FieldTemplateDescr field = (FieldTemplateDescr) iterator.next();
+                    if ( propertyName.equals( field.getName() ) ) {
+                        String type = field.getClassType();
+                        if ( isPrimitiveType( type ) ) {
+                            return type;
+                        }
+                        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
+                                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
+                        try {
+                            Class clazz = resolver.resolveType( type );
+                            if ( clazz != null ) {
+                                return clazz.getName();
+                            }
+                        } catch ( ClassNotFoundException exc ) {
+                            DroolsEclipsePlugin.log( exc );
+                        }
+                    }
+                }
+                // if not found, return null
+            } else {
+                String[] nestedProperties = propertyName.split( "\\." );
+                String currentClass = className;
+                for ( int i = 0; i < nestedProperties.length; i++ ) {
+                    String simplePropertyName = nestedProperties[i];
+                    currentClass = getSimplePropertyClass( currentClass,
+                                                           simplePropertyName );
+                }
+                return currentClass;
+            }
+        }
+        return null;
+    }
+
+    private String getSimplePropertyClass(String className,
+                                          String propertyName) {
+        if ( "this".equals( propertyName ) ) {
+            return className;
+        }
+        if ( propertyName.endsWith( "]" ) ) {
+            // TODO can we take advantage of generics here?
+            return "java.lang.Object";
+        }
+        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
+                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
+        try {
+            Class clazz = resolver.resolveType( className );
+            if ( clazz != null ) {
+                Class clazzz = (Class) new ClassFieldInspector( clazz ).getFieldTypes().get( propertyName );
+                if ( clazzz != null ) {
+                    return clazzz.getName();
+                }
+            }
+        } catch ( IOException exc ) {
+            // Do nothing
+        } catch ( ClassNotFoundException exc ) {
+            // Do nothing
+        }
+        return "java.lang.Object";
+    }
+
+    private Map getRuleParameters(String backText) {
+        Map result = new HashMap();
+        // add globals
+        List globals = getGlobals();
+        if ( globals != null ) {
+            for ( Iterator iterator = globals.iterator(); iterator.hasNext(); ) {
+                GlobalDescr global = (GlobalDescr) iterator.next();
+                result.put( global.getIdentifier(),
+                            global.getType() );
+            }
+        }
+
+        if ( context == null ) {
+            context = new CompletionContext( backText );
+        }
+        if ( context.getRule() == null ) {
+            return result;
+        }
+        // add parameters defined in conditions
+        addRuleParameters( result,
+                           context.getRule().getLhs().getDescrs() );
+        return result;
+    }
+
+    private boolean isComparable(String type) {
+        if ( type == null ) {
+            return false;
+        }
+        if ( isPrimitiveNumericType( type ) ) {
+            return true;
+        }
+        if ( isObjectNumericType( type ) ) {
+            return true;
+        }
+        if ( isSubtypeOf( type,
+                          "java.lang.Comparable" ) ) {
+            return true;
+        }
+        return false;
+    }
+
+    private boolean isPrimitiveType(String type) {
+        return isPrimitiveNumericType( type ) || type.equals( "boolean" );
+    }
+
+    private boolean isPrimitiveNumericType(String type) {
+        return type.equals( "byte" ) || type.equals( "short" ) || type.equals( "int" ) || type.equals( "long" ) || type.equals( "float" ) || type.equals( "double" ) || type.equals( "char" );
+    }
+
+    private boolean isObjectNumericType(String type) {
+        return type.equals( "java.lang.Byte" ) || type.equals( "java.lang.Short" ) || type.equals( "java.lang.Integer" ) || type.equals( "java.lang.Long" ) || type.equals( "java.lang.Float" ) || type.equals( "java.lang.Double" )
+               || type.equals( "java.lang.Char" );
+    }
+
+    /**
+     * Returns true if the first class is the same or a subtype of the second
+     * class.
+     *
+     * @param class1
+     * @param class2
+     * @return
+     */
+    private boolean isSubtypeOf(String class1,
+                                String class2) {
+        if ( class1 == null || class2 == null ) {
+            return false;
+        }
+        class1 = convertToNonPrimitiveClass( class1 );
+        class2 = convertToNonPrimitiveClass( class2 );
+        // TODO add code to take primitive types into account
+        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
+                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
+        try {
+            Class clazz1 = resolver.resolveType( class1 );
+            Class clazz2 = resolver.resolveType( class2 );
+            if ( clazz1 == null || clazz2 == null ) {
+                return false;
+            }
+            return clazz2.isAssignableFrom( clazz1 );
+        } catch ( ClassNotFoundException exc ) {
+            return false;
+        }
+    }
+
+    private String convertToNonPrimitiveClass(String clazz) {
+        if ( !isPrimitiveType( clazz ) ) {
+            return clazz;
+        }
+        if ( "byte".equals( clazz ) ) {
+            return "java.lang.Byte";
+        } else if ( "short".equals( clazz ) ) {
+            return "java.lang.Short";
+        } else if ( "int".equals( clazz ) ) {
+            return "java.lang.Integer";
+        } else if ( "long".equals( clazz ) ) {
+            return "java.lang.Long";
+        } else if ( "float".equals( clazz ) ) {
+            return "java.lang.Float";
+        } else if ( "double".equals( clazz ) ) {
+            return "java.lang.Double";
+        } else if ( "char".equals( clazz ) ) {
+            return "java.lang.Char";
+        } else if ( "boolean".equals( clazz ) ) {
+            return "java.lang.Boolean";
+        }
+        // should never occur
+        return null;
+    }
+
+    private void addRHSFunctionCompletionProposals(List list,
+                                                   int documentOffset,
+                                                   String prefix) {
+        Iterator iterator;
+        RuleCompletionProposal prop;
+        List functions = getFunctions();
+        iterator = functions.iterator();
+        while ( iterator.hasNext() ) {
+            String name = (String) iterator.next() + "()";
+            prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                               prefix.length(),
+                                               name,
+                                               name + ";",
+                                               name.length() - 1 );
+            prop.setPriority( -1 );
+            prop.setImage( METHOD_ICON );
+            list.add( prop );
+        }
+    }
+
+    private void addRHSKeywordCompletionProposals(List list,
+                                                  int documentOffset,
+                                                  String prefix) {
+        RuleCompletionProposal prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                  prefix.length(),
+                                                                  "update",
+                                                                  "update();",
+                                                                  7 );
+        prop.setImage( DROOLS_ICON );
+        list.add( prop );
+        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                           prefix.length(),
+                                           "retract",
+                                           "retract();",
+                                           8 );
+        prop.setImage( DROOLS_ICON );
+        list.add( prop );
+        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                           prefix.length(),
+                                           "insert",
+                                           "insert();",
+                                           7 );
+        prop.setImage( DROOLS_ICON );
+        list.add( prop );
+        prop = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                           prefix.length(),
+                                           "insertLogical",
+                                           "insertLogical();",
+                                           14 );
+        prop.setImage( DROOLS_ICON );
+        list.add( prop );
+    }
+
+    private void addRHSJavaCompletionProposals(List list,
+                                               int documentOffset,
+                                               String prefix,
+                                               String backText,
+                                               String consequence) {
+        list.addAll( getJavaCompletionProposals( documentOffset,
+                                                 consequence,
+                                                 prefix,
+                                                 getRuleParameters( backText ) ) );
+    }
+
+    private void addRHSMvelCompletionProposals(List list,
+                                               final int documentOffset,
+                                               String prefix,
+                                               String backText,
+                                               String consequence,
+                                               boolean expressionStart) {
+
+        Collection mvelCompletionProposals = getMvelCompletionProposals( consequence,
+                                                                         documentOffset,
+                                                                         prefix,
+                                                                         getRuleParameters( backText ),
+                                                                         backText,
+                                                                         expressionStart );
+        list.addAll( mvelCompletionProposals );
+    }
+
+    private Collection getMvelCompletionProposals(final String consequenceBackText,
+                                                  final int documentOffset,
+                                                  final String prefix,
+                                                  Map params,
+                                                  String ruleBackText,
+                                                  boolean startOfExpression) {
+
+        final Set proposals = new HashSet();
+
+        if ( !(getEditor() instanceof DRLRuleEditor) ) {
+            return proposals;
+        }
+
+        try {
+            DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource( (DRLRuleEditor) getEditor(),
+                                                                              true,
+                                                                              true );
+
+            String textWithoutPrefix = CompletionUtil.getTextWithoutPrefix( consequenceBackText,
+                                                                            prefix );
+            boolean expressionStart = CompletionUtil.isStartOfDialectExpression( textWithoutPrefix );
+
+            boolean isConstrained = textWithoutPrefix.endsWith( "." );
+
+            // we split the expression in various regions:
+            // *the previous expression
+            // *the last expression
+            // *the last inner expression
+
+            // attempt to compile and analyze the previous expression to collect inputs and vars
+            String previousExpression = CompletionUtil.getPreviousExpression( consequenceBackText );
+            MvelContext previousExprContext = analyzeMvelExpression( getResolvedMvelInputs( params ),
+                                                                     drlInfo,
+                                                                     previousExpression );
+
+            // attempt to compile and analyze the last and last inner expression, using as inputs the previous expression inputs and vars
+            Map variables = previousExprContext.getContext().getVariables();
+            Map inputs = previousExprContext.getContext().getInputs();
+            inputs.putAll( variables );
+
+            //last inner expression
+            String lastInnerExpression = CompletionUtil.getTextWithoutPrefix( CompletionUtil.getInnerExpression( consequenceBackText ),
+                                                                              prefix );
+            String compilableLastInnerExpression = CompletionUtil.getCompilableText( lastInnerExpression );
+
+            MvelContext lastInnerExprContext = analyzeMvelExpression( inputs,
+                                                                      drlInfo,
+                                                                      compilableLastInnerExpression );
+
+            //last expression
+            String lastExpression = CompletionUtil.getLastExpression( consequenceBackText ).trim();
+            //is this a modify expression?
+            //group 1 is the body of modify
+            //group 2 if present is the whole with block including brackets
+            //group 3 if present is the inner content of the with block
+            Matcher modMatcher = CompletionUtil.MODIFY_PATTERN.matcher( lastExpression );
+
+            boolean isModifyBlock = modMatcher.matches() && modMatcher.groupCount() == 3;
+
+            //if constrained, get completion for egress of last inner, filtered on prefix
+            if ( isConstrained ) {
+                if ( lastInnerExprContext.isStaticFlag() ) {
+                    return getMvelClassCompletionsFromJDT( documentOffset,
+                                                           "",
+                                                           params,
+                                                           lastInnerExprContext.getReturnedType() );
+
+                }
+
+                return getMvelInstanceCompletionsFromJDT( documentOffset,
+                                                          "",
+                                                          params,
+                                                          lastInnerExprContext.getReturnedType(),
+                                                          false );
+            }
+            //if expression start inside with block, then get completion for prefix with egrss of modif var + prev expr var&inputs
+            else if ( expressionStart && isModifyBlock ) {
+                String modifyVar = modMatcher.group( 1 );
+                //String modifyWith = modMatcher.group( 3 );
+
+                //get the egress type of the modify var
+                MvelContext modVarContext = analyzeMvelExpression( inputs,
+                                                                   drlInfo,
+                                                                   modifyVar );
+
+                Class modVarType = modVarContext.getReturnedType();
+
+                Collection modVarComps = getMvelInstanceCompletionsFromJDT( documentOffset,
+                                                                            "",
+                                                                            params,
+                                                                            modVarType,
+                                                                            true );
+
+                proposals.addAll( modVarComps );
+
+                //                addMvelCompletions( proposals,
+                //                                    documentOffset,
+                //                                    "",
+                //                                    lastInnerExprContext.getContext().getVariables() );
+                //
+                //                addMvelCompletions( proposals,
+                //                                    documentOffset,
+                //                                    "",
+                //                                    lastInnerExprContext.getContext().getInputs() );
+                //
+                //                Collection jdtProps = getJavaCompletionProposals( documentOffset,
+                //                                                                  prefix,
+                //                                                                  prefix,
+                //                                                                  params );
+                //
+                //                proposals.addAll( jdtProps );
+                return proposals;
+
+            }
+            //If expression start, and all other cases then get completion for prefix with prev expr var&inputs
+            addMvelCompletions( proposals,
+                                documentOffset,
+                                prefix,
+                                lastInnerExprContext.getContext().getVariables() );
+
+            addMvelCompletions( proposals,
+                                documentOffset,
+                                prefix,
+                                lastInnerExprContext.getContext().getInputs() );
+
+            Collection jdtProps = getJavaCompletionProposals( documentOffset,
+                                                              prefix,
+                                                              prefix,
+                                                              params );
+
+            proposals.addAll( jdtProps );
+
+        } catch ( Throwable e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+        Set uniqueProposals = new HashSet();
+        addAllNewProposals( uniqueProposals,
+                            proposals );
+        return uniqueProposals;
+    }
+
+    private Map getResolvedMvelInputs(Map params) {
+        ClassTypeResolver resolver = new ClassTypeResolver( getUniqueImports(),
+                                                            ProjectClassLoader.getProjectClassLoader( getEditor() ) );
+
+        Map resolved = new HashMap();
+        for ( Iterator iter = params.entrySet().iterator(); iter.hasNext(); ) {
+            Map.Entry entry = (Map.Entry) iter.next();
+            String inputType = (String) entry.getValue();
+            try {
+                Class type = resolver.resolveType( inputType );
+                resolved.put( entry.getKey(),
+                              type );
+            } catch ( ClassNotFoundException e ) {
+                DroolsEclipsePlugin.log( e );
+            }
+        }
+        return resolved;
+    }
+
+    class MvelContext {
+        private CompiledExpression expression;
+        private ParserContext      initialContext;
+        private Class              returnedType;
+        private boolean            staticFlag;
+
+        public ParserContext getContext() {
+            if ( getExpression() != null ) {
+                if ( getExpression().getParserContext() != null ) {
+                    return getExpression().getParserContext();
+                }
+            }
+            return getInitialContext();
+        }
+
+        void setExpression(CompiledExpression expression) {
+            this.expression = expression;
+        }
+
+        CompiledExpression getExpression() {
+            return expression;
+        }
+
+        void setInitialContext(ParserContext initialContext) {
+            this.initialContext = initialContext;
+        }
+
+        ParserContext getInitialContext() {
+            return initialContext;
+        }
+
+        void setReturnedType(Class returnedType) {
+            this.returnedType = returnedType;
+        }
+
+        Class getReturnedType() {
+            return returnedType;
+        }
+
+        public boolean isStaticFlag() {
+            return staticFlag;
+        }
+
+        public void setStaticFlag(boolean staticFlag) {
+            this.staticFlag = staticFlag;
+        }
+    }
+
+    private MvelContext analyzeMvelExpression(Map params,
+                                              DRLInfo drlInfo,
+                                              String mvel) {
+
+        String macroMvel = processMacros( mvel );
+
+        String name = context.getRule().getName();
+        RuleInfo currentRule = getCurrentRule( drlInfo,
+                                               name );
+        String qName = drlInfo.getPackageName() + "." + currentRule.getRuleName();
+        MVELDialect dialect = (MVELDialect) currentRule.getDialect();
+        ParserContext initialContext = createInitialContext( params,
+                                                             qName,
+                                                             dialect );
+        MvelContext mCon = new MvelContext();
+        mCon.setInitialContext( initialContext );
+
+        try {
+            ExpressionCompiler compiler = new ExpressionCompiler( macroMvel );
+            CompiledExpression expression = compiler.compile( initialContext );
+            mCon.setExpression( expression );
+
+            ParserContext compilationContext = compiler.getParserContextState();
+
+            Class lastType = expression.getKnownEgressType();
+
+            //Statics expression may return Class as an egress type
+            if ( lastType != null && "java.lang.Class".equals( lastType.getName() ) ) {
+                mCon.setStaticFlag( true );
+            }
+
+            if ( lastType == null || "java.lang.Object".equals( lastType.getName() ) || "java.lang.Class".equals( lastType.getName() ) ) {
+                // attempt to use the property verifier to get
+                // a better type  resolution (a recommend by cbrock, though egress gives consistent results)
+                lastType = new PropertyVerifier( macroMvel,
+                                                 compilationContext ).analyze();
+            }
+
+            if ( lastType == null ) {
+                lastType = Object.class;
+            }
+
+            mCon.setReturnedType( lastType );
+        } catch ( Exception e ) {
+            //do nothing while doing completion.
+        }
+        return mCon;
+    }
+
+    private static ParserContext createInitialContext(Map params,
+                                                      String qualifiedName,
+                                                      MVELDialect dialect) {
+
+        final ParserContext context = new ParserContext( dialect.getImports(),
+                                                         null,
+                                                         qualifiedName );
+
+        for ( Iterator it = dialect.getPackgeImports().values().iterator(); it.hasNext(); ) {
+            String packageImport = (String) it.next();
+            context.addPackageImport( packageImport );
+        }
+        context.setStrictTypeEnforcement( false );
+
+        context.setInterceptors( dialect.getInterceptors() );
+        context.setInputs( params );
+        context.addInput( "drools",
+                          KnowledgeHelper.class );
+        context.setCompiled( true );
+        return context;
+    }
+
+    public static String processMacros(String mvel) {
+        MVELConsequenceBuilder builder = new MVELConsequenceBuilder();
+        String macrosProcessedCompilableConsequence = builder.processMacros( mvel.trim() );
+        return macrosProcessedCompilableConsequence;
+    }
+
+    private static RuleInfo getCurrentRule(DRLInfo drlInfo,
+                                    String currentRulename) {
+        RuleInfo currentRule = null;
+        RuleInfo[] ruleInfos = drlInfo.getRuleInfos();
+        for ( int i = 0; i < ruleInfos.length; i++ ) {
+            if ( currentRulename.equals( ruleInfos[i].getRuleName() ) ) {
+                currentRule = ruleInfos[i];
+                break;
+            }
+        }
+        return currentRule;
+    }
+
+    /*
+     * Completions for object instance members
+     */
+    private Collection getMvelInstanceCompletionsFromJDT(final int documentOffset,
+                                                         final String prefix,
+                                                         Map params,
+                                                         Class lastType,
+                                                         boolean settersOnly) {
+        if ( lastType == null ) {
+            lastType = Object.class;
+        }
+
+        //FIXME: there is a small chance of var name collision using this arbitrary mvdrlofc as a variable name.
+        //ideally the variable name should be inferred from the last member of the expression
+        final String syntheticVarName = "mvdrlofc";
+
+        String javaText = "\n" + CompletionUtil.getSimpleClassName( lastType ) + " " + syntheticVarName + ";\n" + syntheticVarName + ".";
+        final List list1 = new ArrayList();
+        requestJavaCompletionProposals( javaText,
+                                        prefix,
+                                        documentOffset,
+                                        params,
+                                        list1 );
+
+        final List list = list1;
+
+        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list,
+                                                                        settersOnly );
+        return mvelList;
+    }
+
+    /*
+     * Completions for static Class members
+     */
+    private Collection getMvelClassCompletionsFromJDT(final int documentOffset,
+                                                      final String prefix,
+                                                      Map params,
+                                                      Class lastType) {
+        if ( lastType == null ) {
+            lastType = Object.class;
+        }
+
+        //FIXME: there is a small chance of var name collision using this arbitrary mvdrlofc as a variable name.
+        //ideally the variable name should be inferred from the last member of the expression
+
+        String javaText = "\n" + CompletionUtil.getSimpleClassName( lastType ) + ".";
+        final List list1 = new ArrayList();
+        requestJavaCompletionProposals( javaText,
+                                        prefix,
+                                        documentOffset,
+                                        params,
+                                        list1 );
+        final List list = list1;
+        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list,
+                                                                        false );
+        return mvelList;
+    }
+
+    private static void addMvelCompletions(final Collection proposals,
+                                    int documentOffset,
+                                    String prefix,
+                                    Map inputs) {
+        Set newProposals = new HashSet();
+        for ( Iterator iter = inputs.entrySet().iterator(); iter.hasNext(); ) {
+            Map.Entry entry = (Map.Entry) iter.next();
+            String prop = (String) entry.getKey();
+
+            Class type = (Class) entry.getValue();
+            String display = prop + "  " + CompletionUtil.getSimpleClassName( type );
+
+            RuleCompletionProposal rcp = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                     prefix.length(),
+                                                                     display,
+                                                                     prop );
+            rcp.setImage( DefaultCompletionProcessor.VARIABLE_ICON );
+            newProposals.add( rcp );
+        }
+        addAllNewProposals( proposals,
+                            newProposals );
+    }
+
+    public static void addAllNewProposals(final Collection proposals,
+                                          final Collection newProposals) {
+        for ( Iterator iter = newProposals.iterator(); iter.hasNext(); ) {
+            ICompletionProposal newProp = (ICompletionProposal) iter.next();
+            String displayString = newProp.getDisplayString();
+
+            //JBRULES-1134 do not add completions if they already exist
+            if ( !containsProposal( proposals,
+                                    displayString ) ) {
+                proposals.add( newProp );
+            }
+        }
+    }
+
+    /**
+     * Attempt to compare proposals of different types based on the tokenized display string
+     * @param proposals
+     * @param newProposal
+     * @return true if the collection contains a proposal which matches the new Proposal.
+     * The match is based on the first token based on a space split
+     */
+    public static boolean containsProposal(final Collection proposals,
+                                           String newProposal) {
+        for ( Iterator iter = proposals.iterator(); iter.hasNext(); ) {
+            ICompletionProposal prop = (ICompletionProposal) iter.next();
+            String displayString = prop.getDisplayString();
+            String[] existings = displayString.split( " " );
+            if ( existings.length == 0 ) {
+                continue;
+            }
+
+            String[] newProposals = newProposal.split( " " );
+            if ( newProposals.length == 0 ) {
+                continue;
+            }
+
+            if ( existings[0].equals( newProposals[0] ) ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private void addRuleParameters(Map result,
+                                   List descrs) {
+        if ( descrs == null ) {
+            return;
+        }
+        Iterator iterator = descrs.iterator();
+        while ( iterator.hasNext() ) {
+            BaseDescr descr = (BaseDescr) iterator.next();
+            addRuleParameters( result,
+                               descr );
+        }
+    }
+
+    private void addRuleParameters(Map result,
+                                   BaseDescr descr) {
+        if ( descr == null ) {
+            return;
+        }
+        if ( descr instanceof PatternDescr ) {
+            String name = ((PatternDescr) descr).getIdentifier();
+            if ( name != null ) {
+                result.put( name,
+                            ((PatternDescr) descr).getObjectType() );
+            }
+            addRuleSubParameters( result,
+                                  ((PatternDescr) descr).getDescrs(),
+                                  ((PatternDescr) descr).getObjectType() );
+        } else if ( descr instanceof AndDescr ) {
+            addRuleParameters( result,
+                               ((AndDescr) descr).getDescrs() );
+        } else if ( descr instanceof OrDescr ) {
+            addRuleParameters( result,
+                               ((OrDescr) descr).getDescrs() );
+        } else if ( descr instanceof ExistsDescr ) {
+            addRuleParameters( result,
+                               ((ExistsDescr) descr).getDescrs() );
+        } else if ( descr instanceof NotDescr ) {
+            addRuleParameters( result,
+                               ((NotDescr) descr).getDescrs() );
+        }
+    }
+
+    private void addRuleSubParameters(Map result,
+                                      List descrs,
+                                      String clazz) {
+        if ( descrs == null ) {
+            return;
+        }
+        Iterator iterator = descrs.iterator();
+        while ( iterator.hasNext() ) {
+            BaseDescr descr = (BaseDescr) iterator.next();
+            if ( descr instanceof FieldBindingDescr ) {
+                FieldBindingDescr fieldDescr = (FieldBindingDescr) descr;
+                String name = fieldDescr.getIdentifier();
+                String field = fieldDescr.getFieldName();
+                String type = getPropertyClass( clazz,
+                                                field );
+                if ( name != null ) {
+                    result.put( name,
+                                type );
+                }
+            }
+        }
+    }
+
+    private void addRuleHeaderProposals(List list,
+                                        int documentOffset,
+                                        String prefix,
+                                        String backText) {
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "salience",
+                                              "salience ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "no-loop",
+                                              "no-loop ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "agenda-group",
+                                              "agenda-group ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "duration",
+                                              "duration ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "auto-focus",
+                                              "auto-focus ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "when",
+                                              "when" + System.getProperty( "line.separator" ) + "\t ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "activation-group",
+                                              "activation-group ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "date-effective",
+                                              "date-effective \"dd-MMM-yyyy\"",
+                                              16,
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "date-expires",
+                                              "date-expires \"dd-MMM-yyyy\"",
+                                              14,
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "enabled",
+                                              "enabled false",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "ruleflow-group",
+                                              "ruleflow-group \"\"",
+                                              16,
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "lock-on-active",
+                                              "lock-on-active ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "dialect \"java\"",
+                                              "dialect \"java\" ",
+                                              DROOLS_ICON ) );
+        list.add( new RuleCompletionProposal( documentOffset - prefix.length(),
+                                              prefix.length(),
+                                              "dialect \"mvel\"",
+                                              "dialect \"mvel\" ",
+                                              DROOLS_ICON ) );
+    }
+
+    private boolean addFactTemplatePropertyProposals(int documentOffset,
+                                                     String prefix,
+                                                     String templateName,
+                                                     List list) {
+        FactTemplateDescr descr = getTemplate( templateName );
+        if ( descr == null ) {
+            return false;
+        }
+        Iterator iterator = descr.getFields().iterator();
+        while ( iterator.hasNext() ) {
+            FieldTemplateDescr field = (FieldTemplateDescr) iterator.next();
+            String fieldName = field.getName();
+            RuleCompletionProposal p = new RuleCompletionProposal( documentOffset - prefix.length(),
+                                                                   prefix.length(),
+                                                                   fieldName,
+                                                                   fieldName + " " );
+            p.setImage( METHOD_ICON );
+            list.add( p );
+        }
+        return true;
+    }
+
+    /*
+     * Filters accessor method proposals to replace them with their mvel expression equivalent
+     * For instance a completion for getStatus() would be replaced by a completion for status
+     * when asking for stters only, then only setters or writable fields will be returned
+     */
+    public static Collection mvelifyProposals(List list,
+                                              boolean settersOnly) {
+        final Collection set = new HashSet();
+
+        for ( Iterator iter = list.iterator(); iter.hasNext(); ) {
+            Object o = iter.next();
+            if ( o instanceof JavaMethodCompletionProposal ) {
+                //methods
+                processJavaMethodCompletionProposal( list,
+                                                     settersOnly,
+                                                     set,
+                                                     o );
+
+            } else if ( o instanceof JavaCompletionProposal ) {
+                //fields
+                processesJavaCompletionProposal( settersOnly,
+                                                 set,
+                                                 o );
+            } else if ( !settersOnly ) {
+                set.add( o );
+            }
+        }
+        return set;
+    }
+
+    private static void processesJavaCompletionProposal(boolean settersOnly,
+                                                        final Collection set,
+                                                        Object o) {
+        if ( settersOnly ) {
+            JavaCompletionProposal jcp = (JavaCompletionProposal) o;
+            //TODO: FIXME: this is very fragile as it uses reflection to access the private completion field.
+            //Yet this is needed to do mvel filtering based on the method signtures, IF we use the richer JDT completion
+            //                    Object field = ReflectionUtils.getField( o,
+            //                                                             "fProposal" );
+            IJavaElement javaElement = jcp.getJavaElement();
+            if ( javaElement.getElementType() == IJavaElement.FIELD ) {
+                set.add( o );
+
+            }
+        } else {
+            set.add( o );
+        }
+    }
+
+    private static void processJavaMethodCompletionProposal(List list,
+                                                            boolean settersOnly,
+                                                            final Collection set,
+                                                            Object o) {
+        LazyJavaCompletionProposal javaProposal = (LazyJavaCompletionProposal) o;
+        //TODO: FIXME: this is very fragile as it uses reflection to access the private completion field.
+        //Yet this is needed to do mvel filtering based on the method signtures, IF we use the richer JDT completion
+        Object field = ReflectionUtils.getField( o,
+                                                 "fProposal" );
+        if ( field != null && field instanceof CompletionProposal ) {
+            CompletionProposal proposal = (CompletionProposal) field;
+
+            String completion = new String( proposal.getCompletion() );
+
+            String propertyOrMethodName = null;
+
+            boolean isSetter = false;
+            boolean isAccessor = false;
+            if ( settersOnly ) {
+                // get the eventual writable property name for that method name and signature
+                propertyOrMethodName = CompletionUtil.getWritablePropertyName( completion,
+                                                                               proposal.getSignature() );
+                //                      if we got a property name that differs from the orginal method name
+                //then this is a bean accessor
+                isSetter = !completion.equals( propertyOrMethodName );
+
+            } else {
+                // get the eventual property name for that method name and signature
+                propertyOrMethodName = CompletionUtil.getPropertyName( completion,
+                                                                       proposal.getSignature() );
+                //if we got a property name that differs from the orginal method name
+                //then this is a bean accessor
+                isAccessor = !completion.equals( propertyOrMethodName );
+            }
+
+            // is the completion for a bean accessor? and do we have already some relevant completion?
+            boolean doesNotContainFieldCompletion = DefaultCompletionProcessor.doesNotContainFieldCompletion( propertyOrMethodName,
+                                                                                                              list );
+            if ( ((settersOnly && isSetter) || (!settersOnly && isAccessor)) && doesNotContainFieldCompletion ) {
+
+                //TODO: craft a better JDTish display name than just the property name
+                RuleCompletionProposal prop = new RuleCompletionProposal( javaProposal.getReplacementOffset(),
+                                                                          javaProposal.getReplacementLength(),
+                                                                          propertyOrMethodName );
+                prop.setImage( DefaultCompletionProcessor.VARIABLE_ICON );
+                //set high priority such that the completion for accessors shows up first
+                prop.setPriority( 1000 );
+                set.add( prop );
+
+            }
+
+            else if ( !settersOnly ) {
+                set.add( o );
+            }
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,210 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.Comparator;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * Holds a completion proposal to be popped up.
- *
- * @author Michael Neale
- *
- */
-public class RuleCompletionProposal
-    implements
-    ICompletionProposal {
-
-    private String content;
-    private String display;
-    private int    replacementOffset;
-    private int    replacementLength;
-    private int    cursorPosition;
-    private Image  image;
-    private int    priority;
-
-    /** This is used when the stuff that is displayed, is the stuff that is used. */
-    public RuleCompletionProposal(int replacementOffset,
-                                  int replacementLength,
-                                  String content) {
-        this( replacementOffset,
-              replacementLength,
-              content,
-              content );
-    }
-
-    /** This is used when a different display value is shown to what is put in when selected. */
-    public RuleCompletionProposal(int replacementOffset,
-                                  int replacementLength,
-                                  String display,
-                                  String content) {
-        this( replacementOffset,
-              replacementLength,
-              display,
-              content,
-              content.length() );
-    }
-
-    /** Also allows an icon to be used */
-    public RuleCompletionProposal(int replacementOffset,
-                                  int replacementLength,
-                                  String display,
-                                  String content,
-                                  Image image) {
-        this( replacementOffset,
-              replacementLength,
-              display,
-              content,
-              content.length(),
-              image );
-    }
-
-    public RuleCompletionProposal(int replacementOffset,
-                                  int replacementLength,
-                                  String display,
-                                  String content,
-                                  int cursorPosition) {
-        this( replacementOffset,
-              replacementLength,
-              display,
-              content,
-              cursorPosition,
-              null );
-    }
-
-    /** This is used when a different display value is shown to what is put in when selected. */
-    public RuleCompletionProposal(int replacementOffset,
-                                  int replacementLength,
-                                  String display,
-                                  String content,
-                                  int cursorPosition,
-                                  Image image) {
-        this.replacementOffset = replacementOffset;
-        this.replacementLength = replacementLength;
-        this.content = content;
-        this.display = display;
-        this.cursorPosition = cursorPosition;
-        this.image = image;
-    }
-
-    public String getDisplay() {
-        return display;
-    }
-
-    public int getReplacementLength() {
-        return replacementLength;
-    }
-
-    public int getCursorPosition() {
-        return cursorPosition;
-    }
-
-    public Image getImage() {
-        return image;
-    }
-
-    public String getContent() {
-        return content;
-    }
-
-    public void setImage(Image image) {
-        this.image = image;
-    }
-
-    public int getPriority() {
-        return priority;
-    }
-
-    public void setPriority(int priority) {
-        this.priority = priority;
-    }
-
-    public String toString() {
-        return content;
-    }
-
-    //TODO:fixme now that we mix JDT and own proposals, comparison is all wrong, resulting in wrong ordering of mixed proposals (such as with mvel
-    public static class RuleCompletionProposalComparator
-        implements
-        Comparator {
-        public int compare(Object arg0,
-                           Object arg1) {
-            if ( arg0 instanceof RuleCompletionProposal ) {
-                if ( arg1 instanceof RuleCompletionProposal ) {
-                    RuleCompletionProposal prop0 = (RuleCompletionProposal) arg0;
-                    RuleCompletionProposal prop1 = (RuleCompletionProposal) arg1;
-                    if ( prop0.getPriority() == prop1.getPriority() ) {
-                        return prop0.display.compareTo( prop1.display );
-                    } else if ( prop0.getPriority() > prop1.getPriority() ) {
-                        return -1;
-                    } else {
-                        return 1;
-                    }
-                } else {
-                    return -1;
-                }
-            } else {
-                if ( arg1 instanceof RuleCompletionProposal ) {
-                    return 1;
-                }
-                return 0;
-            }
-        }
-    }
-
-    public void apply(IDocument document) {
-        try {
-            document.replace( replacementOffset,
-                              replacementLength,
-                              content );
-        } catch ( BadLocationException x ) {
-            // ignore
-        }
-    }
-
-    public String getAdditionalProposalInfo() {
-        return null;
-    }
-
-    public IContextInformation getContextInformation() {
-        return null;
-    }
-
-    public String getDisplayString() {
-        if ( display != null ) {
-            return display;
-        }
-        return content;
-    }
-
-    public int hashCode() {
-        final int PRIME = 31;
-        int result = 1;
-        result = PRIME * result + ((content == null) ? 0 : content.hashCode());
-        result = PRIME * result + ((display == null) ? 0 : display.hashCode());
-        return result;
-    }
-
-    public boolean equals(Object obj) {
-        if ( this == obj ) return true;
-        if ( obj == null ) return false;
-        if ( getClass() != obj.getClass() ) return false;
-        final RuleCompletionProposal other = (RuleCompletionProposal) obj;
-        if ( content == null ) {
-            if ( other.content != null ) return false;
-        } else if ( !content.equals( other.content ) ) return false;
-        if ( display == null ) {
-            if ( other.display != null ) return false;
-        } else if ( !display.equals( other.display ) ) return false;
-        return true;
-    }
-
-    public Point getSelection(IDocument document) {
-        return new Point( replacementOffset + cursorPosition,
-                          0 );
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProposal.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,210 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.Comparator;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+
+/**
+ * Holds a completion proposal to be popped up.
+ *
+ * @author Michael Neale
+ *
+ */
+public class RuleCompletionProposal
+    implements
+    ICompletionProposal {
+
+    private String content;
+    private String display;
+    private int    replacementOffset;
+    private int    replacementLength;
+    private int    cursorPosition;
+    private Image  image;
+    private int    priority;
+
+    /** This is used when the stuff that is displayed, is the stuff that is used. */
+    public RuleCompletionProposal(int replacementOffset,
+                                  int replacementLength,
+                                  String content) {
+        this( replacementOffset,
+              replacementLength,
+              content,
+              content );
+    }
+
+    /** This is used when a different display value is shown to what is put in when selected. */
+    public RuleCompletionProposal(int replacementOffset,
+                                  int replacementLength,
+                                  String display,
+                                  String content) {
+        this( replacementOffset,
+              replacementLength,
+              display,
+              content,
+              content.length() );
+    }
+
+    /** Also allows an icon to be used */
+    public RuleCompletionProposal(int replacementOffset,
+                                  int replacementLength,
+                                  String display,
+                                  String content,
+                                  Image image) {
+        this( replacementOffset,
+              replacementLength,
+              display,
+              content,
+              content.length(),
+              image );
+    }
+
+    public RuleCompletionProposal(int replacementOffset,
+                                  int replacementLength,
+                                  String display,
+                                  String content,
+                                  int cursorPosition) {
+        this( replacementOffset,
+              replacementLength,
+              display,
+              content,
+              cursorPosition,
+              null );
+    }
+
+    /** This is used when a different display value is shown to what is put in when selected. */
+    public RuleCompletionProposal(int replacementOffset,
+                                  int replacementLength,
+                                  String display,
+                                  String content,
+                                  int cursorPosition,
+                                  Image image) {
+        this.replacementOffset = replacementOffset;
+        this.replacementLength = replacementLength;
+        this.content = content;
+        this.display = display;
+        this.cursorPosition = cursorPosition;
+        this.image = image;
+    }
+
+    public String getDisplay() {
+        return display;
+    }
+
+    public int getReplacementLength() {
+        return replacementLength;
+    }
+
+    public int getCursorPosition() {
+        return cursorPosition;
+    }
+
+    public Image getImage() {
+        return image;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setImage(Image image) {
+        this.image = image;
+    }
+
+    public int getPriority() {
+        return priority;
+    }
+
+    public void setPriority(int priority) {
+        this.priority = priority;
+    }
+
+    public String toString() {
+        return content;
+    }
+
+    //TODO:fixme now that we mix JDT and own proposals, comparison is all wrong, resulting in wrong ordering of mixed proposals (such as with mvel
+    public static class RuleCompletionProposalComparator
+        implements
+        Comparator {
+        public int compare(Object arg0,
+                           Object arg1) {
+            if ( arg0 instanceof RuleCompletionProposal ) {
+                if ( arg1 instanceof RuleCompletionProposal ) {
+                    RuleCompletionProposal prop0 = (RuleCompletionProposal) arg0;
+                    RuleCompletionProposal prop1 = (RuleCompletionProposal) arg1;
+                    if ( prop0.getPriority() == prop1.getPriority() ) {
+                        return prop0.display.compareTo( prop1.display );
+                    } else if ( prop0.getPriority() > prop1.getPriority() ) {
+                        return -1;
+                    } else {
+                        return 1;
+                    }
+                } else {
+                    return -1;
+                }
+            } else {
+                if ( arg1 instanceof RuleCompletionProposal ) {
+                    return 1;
+                }
+                return 0;
+            }
+        }
+    }
+
+    public void apply(IDocument document) {
+        try {
+            document.replace( replacementOffset,
+                              replacementLength,
+                              content );
+        } catch ( BadLocationException x ) {
+            // ignore
+        }
+    }
+
+    public String getAdditionalProposalInfo() {
+        return null;
+    }
+
+    public IContextInformation getContextInformation() {
+        return null;
+    }
+
+    public String getDisplayString() {
+        if ( display != null ) {
+            return display;
+        }
+        return content;
+    }
+
+    public int hashCode() {
+        final int PRIME = 31;
+        int result = 1;
+        result = PRIME * result + ((content == null) ? 0 : content.hashCode());
+        result = PRIME * result + ((display == null) ? 0 : display.hashCode());
+        return result;
+    }
+
+    public boolean equals(Object obj) {
+        if ( this == obj ) return true;
+        if ( obj == null ) return false;
+        if ( getClass() != obj.getClass() ) return false;
+        final RuleCompletionProposal other = (RuleCompletionProposal) obj;
+        if ( content == null ) {
+            if ( other.content != null ) return false;
+        } else if ( !content.equals( other.content ) ) return false;
+        if ( display == null ) {
+            if ( other.display != null ) return false;
+        } else if ( !display.equals( other.display ) ) return false;
+        return true;
+    }
+
+    public Point getSelection(IDocument document) {
+        return new Point( replacementOffset + cursorPosition,
+                          0 );
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,247 +0,0 @@
-package org.drools.eclipse.editors.outline;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.compiler.DroolsParserException;
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.core.DroolsElement;
-import org.drools.eclipse.core.DroolsModelBuilder;
-import org.drools.eclipse.core.Package;
-import org.drools.eclipse.core.RuleSet;
-import org.drools.eclipse.core.ui.DroolsContentProvider;
-import org.drools.eclipse.core.ui.DroolsLabelProvider;
-import org.drools.eclipse.core.ui.DroolsTreeSorter;
-import org.drools.eclipse.core.ui.FilterActionGroup;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-
-/**
- * Simple outline view of a DRL file. At present this is not wired in with the Parser, so it is fault
- * tolerant of incorrect syntax. 
- * Should provide navigation assistance in large rule files.
- * 
- * @author "Jeff Brown" <brown_j at ociweb.com>
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class RuleContentOutlinePage extends ContentOutlinePage {
-
-    private AbstractRuleEditor editor;
-    private RuleSet ruleSet = DroolsModelBuilder.createRuleSet();
-    private Map rules;
-
-    ///////////////////////////////////
-    // Patterns that the parser uses
-    ///////////////////////////////////
-    private static final Pattern RULE_PATTERN1 = Pattern.compile(
-			"\\n\\s*rule\\s+\"([^\"]+)\"", Pattern.DOTALL);
-
-    private static final Pattern RULE_PATTERN2 = Pattern.compile(
-			"\\n\\s*rule\\s+([^\\s;#\"]+)", Pattern.DOTALL);
-
-    private static final Pattern PACKAGE_PATTERN = Pattern.compile(
-			"\\s*package\\s+([^\\s;#]+);?", Pattern.DOTALL);
-
-	private static final Pattern FUNCTION_PATTERN = Pattern.compile(
-			"\\n\\s*function\\s+(\\S+)\\s+(\\S+)\\(.*\\)", Pattern.DOTALL);
-
-	private static final Pattern TEMPLATE_PATTERN = Pattern.compile(
-			"\\n\\s*template\\s+([^\\s;#\"]+)", Pattern.DOTALL);
-
-	private static final Pattern IMPORT_PATTERN = Pattern.compile(
-			"\\n\\s*import\\s+([^\\s;#]+);?", Pattern.DOTALL);
-
-	private static final Pattern EXPANDER_PATTERN = Pattern.compile(
-			"\\n\\s*expander\\s+([^\\s;#]+);?", Pattern.DOTALL);
-
-	private static final Pattern GLOBAL_PATTERN = Pattern.compile(
-			"\\n\\s*global\\s+(\\S+)\\s+([^\\s;#]+);?", Pattern.DOTALL);
-
-	private static final Pattern QUERY_PATTERN1 = Pattern.compile(
-			"\\n\\s*query\\s+\"([^\"]+)\"", Pattern.DOTALL);
-
-	private static final Pattern QUERY_PATTERN2 = Pattern.compile(
-			"\\n\\s*query\\s+([^\\s;#\"]+)", Pattern.DOTALL);
-
-    public RuleContentOutlinePage(AbstractRuleEditor editor) {
-        this.editor = editor;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        TreeViewer viewer = getTreeViewer();
-        viewer.setContentProvider(new DroolsContentProvider());
-        viewer.setLabelProvider(new DroolsLabelProvider());
-        viewer.setSorter(new DroolsTreeSorter());
-        viewer.setInput(ruleSet);
-        FilterActionGroup filterActionGroup = new FilterActionGroup(
-    		viewer, "org.drools.eclipse.editors.outline.RuleContentOutlinePage");
-		filterActionGroup.fillActionBars(getSite().getActionBars());
-        update();
-
-        // add the listener for navigation of the rule document.
-        super.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                Object selectionObj = event.getSelection();
-                if (selectionObj != null && selectionObj instanceof StructuredSelection) {
-                    StructuredSelection sel = (StructuredSelection) selectionObj;
-                    DroolsElement element = (DroolsElement) sel.getFirstElement();
-                    if (element != null) {
-                        editor.selectAndReveal(element.getOffset(),
-                                                element.getLength());
-                    }
-                }
-            }
-        });
-    }
-
-    /**
-     * Updates the outline page.
-     */
-    public void update() {
-        TreeViewer viewer = getTreeViewer();
-        if (viewer != null) {
-            Control control = viewer.getControl();
-            if (control != null && !control.isDisposed()) {
-            	initRules();
-            	populatePackageTreeNode();
-            	viewer.refresh();
-                control.setRedraw(false);
-                viewer.expandToLevel(2);
-                control.setRedraw(true);
-            }
-        }
-    }
-
-    /**
-     * populates the PackageTreeNode with all of its child elements
-     * 
-     * @param packageTreeNode the node to populate
-     */
-    public void populatePackageTreeNode() {
-    	String ruleFileContents = editor.getContent();
-    	populatePackageTreeNode(ruleFileContents);
-    }
-    
-    void populatePackageTreeNode(String ruleFileContents) {
-    	DroolsModelBuilder.clearRuleSet(ruleSet);
-    	Matcher matcher = PACKAGE_PATTERN.matcher(ruleFileContents);
-    	String packageName = null;
-    	int startChar = 0;
-    	int endChar = 0; 
-        if (matcher.find()) {
-            packageName = matcher.group(1);
-            startChar = matcher.start(1);
-            endChar = matcher.end(1);
-        }
-        Package pkg = DroolsModelBuilder.addPackage(ruleSet, packageName,
-    		startChar, endChar - startChar);
-
-        matcher = RULE_PATTERN1.matcher(ruleFileContents);
-        while (matcher.find()) {
-            String ruleName = matcher.group(1);
-            DroolsModelBuilder.addRule(pkg, ruleName, null,
-        		matcher.start(1), matcher.end(1) - matcher.start(1),
-        		extractAttributes((RuleDescr) rules.get(ruleName)));
-        }
-        matcher = RULE_PATTERN2.matcher(ruleFileContents);
-        while (matcher.find()) {
-            String ruleName = matcher.group(1);
-            DroolsModelBuilder.addRule(pkg, ruleName, null,
-        		matcher.start(1), matcher.end(1) - matcher.start(1),
-        		extractAttributes((RuleDescr) rules.get(ruleName)));
-         } 
-        matcher = FUNCTION_PATTERN.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String functionName = matcher.group(2);
-			DroolsModelBuilder.addFunction(pkg, functionName + "()", null,
-				matcher.start(2), matcher.end(2) - matcher.start(2));
-		}
-		matcher = EXPANDER_PATTERN.matcher(ruleFileContents);
-		if (matcher.find()) {
-			String expanderName = matcher.group(1);
-			DroolsModelBuilder.addExpander(pkg, expanderName, null,
-				matcher.start(1), matcher.end(1) - matcher.start(1));
-		}
-		matcher = IMPORT_PATTERN.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String importName = matcher.group(1);
-			DroolsModelBuilder.addImport(pkg, importName, null,
-				matcher.start(1), matcher.end(1) - matcher.start(1));
-		}
-		matcher = GLOBAL_PATTERN.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String globalType = matcher.group(1);
-			String globalName = matcher.group(2);
-			String name = globalName + " : " + globalType;
-			DroolsModelBuilder.addGlobal(pkg, name, null,
-				matcher.start(2), matcher.end(2) - matcher.start(2));
-		}
-		matcher = QUERY_PATTERN1.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String queryName = matcher.group(1);
-			DroolsModelBuilder.addQuery(pkg, queryName, null,
-					matcher.start(1), matcher.end(1) - matcher.start(1));
-		}
-		matcher = QUERY_PATTERN2.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String queryName = matcher.group(1);
-			DroolsModelBuilder.addQuery(pkg, queryName, null,
-				matcher.start(1), matcher.end(1) - matcher.start(1));
-		}
-		matcher = TEMPLATE_PATTERN.matcher(ruleFileContents);
-		while (matcher.find()) {
-			String templateName = matcher.group(1);
-			DroolsModelBuilder.addTemplate(pkg, templateName, null,
-					matcher.start(1), matcher.end(1) - matcher.start(1));
-		}
-    }
-    
-    RuleSet getRuleSet() {
-    	return ruleSet;
-    }
-    
-    private Map extractAttributes(RuleDescr ruleDescr) {
-        Map attributes = null;
-        if (ruleDescr != null) {
-        	attributes = new HashMap();
-        	for (Iterator iterator = ruleDescr.getAttributes().iterator(); iterator.hasNext();) {
-        		AttributeDescr attribute = (AttributeDescr) iterator.next();
-        		if (attribute != null && attribute.getName() != null) {
-        			attributes.put(attribute.getName(), attribute.getValue());
-        		}
-        	}
-        }
-        return attributes;
-    }
-
-    public void initRules() {
-    	rules = new HashMap();
-    	try {
-    		DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(editor, true, false);
-    		if (drlInfo != null) {
-		    	PackageDescr packageDescr = drlInfo.getPackageDescr();
-	    		for (Iterator iterator = packageDescr.getRules().iterator(); iterator.hasNext(); ) {
-	    			RuleDescr ruleDescr = (RuleDescr) iterator.next();
-	    			rules.put(ruleDescr.getName(), ruleDescr);
-	    		}
-    		}
-    	} catch (DroolsParserException e) {
-    		DroolsEclipsePlugin.log(e);
-    	}
-    }
-    
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/outline/RuleContentOutlinePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,247 @@
+package org.drools.eclipse.editors.outline;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.compiler.DroolsParserException;
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.core.DroolsElement;
+import org.drools.eclipse.core.DroolsModelBuilder;
+import org.drools.eclipse.core.Package;
+import org.drools.eclipse.core.RuleSet;
+import org.drools.eclipse.core.ui.DroolsContentProvider;
+import org.drools.eclipse.core.ui.DroolsLabelProvider;
+import org.drools.eclipse.core.ui.DroolsTreeSorter;
+import org.drools.eclipse.core.ui.FilterActionGroup;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.lang.descr.AttributeDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+
+/**
+ * Simple outline view of a DRL file. At present this is not wired in with the Parser, so it is fault
+ * tolerant of incorrect syntax. 
+ * Should provide navigation assistance in large rule files.
+ * 
+ * @author "Jeff Brown" <brown_j at ociweb.com>
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class RuleContentOutlinePage extends ContentOutlinePage {
+
+    private AbstractRuleEditor editor;
+    private RuleSet ruleSet = DroolsModelBuilder.createRuleSet();
+    private Map rules;
+
+    ///////////////////////////////////
+    // Patterns that the parser uses
+    ///////////////////////////////////
+    private static final Pattern RULE_PATTERN1 = Pattern.compile(
+			"\\n\\s*rule\\s+\"([^\"]+)\"", Pattern.DOTALL);
+
+    private static final Pattern RULE_PATTERN2 = Pattern.compile(
+			"\\n\\s*rule\\s+([^\\s;#\"]+)", Pattern.DOTALL);
+
+    private static final Pattern PACKAGE_PATTERN = Pattern.compile(
+			"\\s*package\\s+([^\\s;#]+);?", Pattern.DOTALL);
+
+	private static final Pattern FUNCTION_PATTERN = Pattern.compile(
+			"\\n\\s*function\\s+(\\S+)\\s+(\\S+)\\(.*\\)", Pattern.DOTALL);
+
+	private static final Pattern TEMPLATE_PATTERN = Pattern.compile(
+			"\\n\\s*template\\s+([^\\s;#\"]+)", Pattern.DOTALL);
+
+	private static final Pattern IMPORT_PATTERN = Pattern.compile(
+			"\\n\\s*import\\s+([^\\s;#]+);?", Pattern.DOTALL);
+
+	private static final Pattern EXPANDER_PATTERN = Pattern.compile(
+			"\\n\\s*expander\\s+([^\\s;#]+);?", Pattern.DOTALL);
+
+	private static final Pattern GLOBAL_PATTERN = Pattern.compile(
+			"\\n\\s*global\\s+(\\S+)\\s+([^\\s;#]+);?", Pattern.DOTALL);
+
+	private static final Pattern QUERY_PATTERN1 = Pattern.compile(
+			"\\n\\s*query\\s+\"([^\"]+)\"", Pattern.DOTALL);
+
+	private static final Pattern QUERY_PATTERN2 = Pattern.compile(
+			"\\n\\s*query\\s+([^\\s;#\"]+)", Pattern.DOTALL);
+
+    public RuleContentOutlinePage(AbstractRuleEditor editor) {
+        this.editor = editor;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        TreeViewer viewer = getTreeViewer();
+        viewer.setContentProvider(new DroolsContentProvider());
+        viewer.setLabelProvider(new DroolsLabelProvider());
+        viewer.setSorter(new DroolsTreeSorter());
+        viewer.setInput(ruleSet);
+        FilterActionGroup filterActionGroup = new FilterActionGroup(
+    		viewer, "org.drools.eclipse.editors.outline.RuleContentOutlinePage");
+		filterActionGroup.fillActionBars(getSite().getActionBars());
+        update();
+
+        // add the listener for navigation of the rule document.
+        super.addSelectionChangedListener(new ISelectionChangedListener() {
+            public void selectionChanged(SelectionChangedEvent event) {
+                Object selectionObj = event.getSelection();
+                if (selectionObj != null && selectionObj instanceof StructuredSelection) {
+                    StructuredSelection sel = (StructuredSelection) selectionObj;
+                    DroolsElement element = (DroolsElement) sel.getFirstElement();
+                    if (element != null) {
+                        editor.selectAndReveal(element.getOffset(),
+                                                element.getLength());
+                    }
+                }
+            }
+        });
+    }
+
+    /**
+     * Updates the outline page.
+     */
+    public void update() {
+        TreeViewer viewer = getTreeViewer();
+        if (viewer != null) {
+            Control control = viewer.getControl();
+            if (control != null && !control.isDisposed()) {
+            	initRules();
+            	populatePackageTreeNode();
+            	viewer.refresh();
+                control.setRedraw(false);
+                viewer.expandToLevel(2);
+                control.setRedraw(true);
+            }
+        }
+    }
+
+    /**
+     * populates the PackageTreeNode with all of its child elements
+     * 
+     * @param packageTreeNode the node to populate
+     */
+    public void populatePackageTreeNode() {
+    	String ruleFileContents = editor.getContent();
+    	populatePackageTreeNode(ruleFileContents);
+    }
+    
+    void populatePackageTreeNode(String ruleFileContents) {
+    	DroolsModelBuilder.clearRuleSet(ruleSet);
+    	Matcher matcher = PACKAGE_PATTERN.matcher(ruleFileContents);
+    	String packageName = null;
+    	int startChar = 0;
+    	int endChar = 0; 
+        if (matcher.find()) {
+            packageName = matcher.group(1);
+            startChar = matcher.start(1);
+            endChar = matcher.end(1);
+        }
+        Package pkg = DroolsModelBuilder.addPackage(ruleSet, packageName,
+    		startChar, endChar - startChar);
+
+        matcher = RULE_PATTERN1.matcher(ruleFileContents);
+        while (matcher.find()) {
+            String ruleName = matcher.group(1);
+            DroolsModelBuilder.addRule(pkg, ruleName, null,
+        		matcher.start(1), matcher.end(1) - matcher.start(1),
+        		extractAttributes((RuleDescr) rules.get(ruleName)));
+        }
+        matcher = RULE_PATTERN2.matcher(ruleFileContents);
+        while (matcher.find()) {
+            String ruleName = matcher.group(1);
+            DroolsModelBuilder.addRule(pkg, ruleName, null,
+        		matcher.start(1), matcher.end(1) - matcher.start(1),
+        		extractAttributes((RuleDescr) rules.get(ruleName)));
+         } 
+        matcher = FUNCTION_PATTERN.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String functionName = matcher.group(2);
+			DroolsModelBuilder.addFunction(pkg, functionName + "()", null,
+				matcher.start(2), matcher.end(2) - matcher.start(2));
+		}
+		matcher = EXPANDER_PATTERN.matcher(ruleFileContents);
+		if (matcher.find()) {
+			String expanderName = matcher.group(1);
+			DroolsModelBuilder.addExpander(pkg, expanderName, null,
+				matcher.start(1), matcher.end(1) - matcher.start(1));
+		}
+		matcher = IMPORT_PATTERN.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String importName = matcher.group(1);
+			DroolsModelBuilder.addImport(pkg, importName, null,
+				matcher.start(1), matcher.end(1) - matcher.start(1));
+		}
+		matcher = GLOBAL_PATTERN.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String globalType = matcher.group(1);
+			String globalName = matcher.group(2);
+			String name = globalName + " : " + globalType;
+			DroolsModelBuilder.addGlobal(pkg, name, null,
+				matcher.start(2), matcher.end(2) - matcher.start(2));
+		}
+		matcher = QUERY_PATTERN1.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String queryName = matcher.group(1);
+			DroolsModelBuilder.addQuery(pkg, queryName, null,
+					matcher.start(1), matcher.end(1) - matcher.start(1));
+		}
+		matcher = QUERY_PATTERN2.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String queryName = matcher.group(1);
+			DroolsModelBuilder.addQuery(pkg, queryName, null,
+				matcher.start(1), matcher.end(1) - matcher.start(1));
+		}
+		matcher = TEMPLATE_PATTERN.matcher(ruleFileContents);
+		while (matcher.find()) {
+			String templateName = matcher.group(1);
+			DroolsModelBuilder.addTemplate(pkg, templateName, null,
+					matcher.start(1), matcher.end(1) - matcher.start(1));
+		}
+    }
+    
+    RuleSet getRuleSet() {
+    	return ruleSet;
+    }
+    
+    private Map extractAttributes(RuleDescr ruleDescr) {
+        Map attributes = null;
+        if (ruleDescr != null) {
+        	attributes = new HashMap();
+        	for (Iterator iterator = ruleDescr.getAttributes().iterator(); iterator.hasNext();) {
+        		AttributeDescr attribute = (AttributeDescr) iterator.next();
+        		if (attribute != null && attribute.getName() != null) {
+        			attributes.put(attribute.getName(), attribute.getValue());
+        		}
+        	}
+        }
+        return attributes;
+    }
+
+    public void initRules() {
+    	rules = new HashMap();
+    	try {
+    		DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(editor, true, false);
+    		if (drlInfo != null) {
+		    	PackageDescr packageDescr = drlInfo.getPackageDescr();
+	    		for (Iterator iterator = packageDescr.getRules().iterator(); iterator.hasNext(); ) {
+	    			RuleDescr ruleDescr = (RuleDescr) iterator.next();
+	    			rules.put(ruleDescr.getName(), ruleDescr);
+	    		}
+    		}
+    	} catch (DroolsParserException e) {
+    		DroolsEclipsePlugin.log(e);
+    	}
+    }
+    
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,305 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-/*
- * Copyright 2006 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.
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.eclipse.editors.rete.part.VertexEditPartFactory;
-import org.drools.reteoo.BaseVertex;
-import org.drools.reteoo.ReteooRuleBase;
-import org.drools.reteoo.ReteooVisitor;
-import org.drools.rule.Package;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.ConnectionLayer;
-import org.eclipse.draw2d.ConnectionRouter;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.ShortestPathConnectionRouter;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.LayerConstants;
-import org.eclipse.gef.MouseWheelHandler;
-import org.eclipse.gef.MouseWheelZoomHandler;
-import org.eclipse.gef.editparts.LayerManager;
-import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.ui.parts.GraphicalEditor;
-import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
-import org.eclipse.swt.SWT;
-
-/**
- * GEF-based RETE Viewer
- * 
- * @author Ahti Kitsik
- *
- */
-public class ReteViewer extends GraphicalEditor {
-
-    private static final String  MSG_PARSE_ERROR         = "Unable to parse rules to show RETE view!";
-
-    private static final int     SIMPLE_ROUTER_MIN_NODES = 100;
-
-    ScalableFreeformRootEditPart rootEditPart            = new ScalableFreeformRootEditPart();
-
-    private ReteGraph            diagram                 = new ReteGraph();
-
-    private boolean              relayoutRequired        = true;
-    
-    private DRLRuleEditor drlEditor;
-
-    /**
-     * Constructor.
-     * 
-     * @param documentProvider documentProvider must contain Document with rules.
-     */
-    public ReteViewer(DRLRuleEditor drlEditor) {
-        this.drlEditor = drlEditor;
-        setEditDomain( new DefaultEditDomain( this ) );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.ui.parts.GraphicalEditor#configureGraphicalViewer()
-     */
-    protected void configureGraphicalViewer() {
-        super.configureGraphicalViewer();
-        GraphicalViewer viewer = getGraphicalViewer();
-        viewer.getControl().setBackground( ColorConstants.white );
-        viewer.setEditPartFactory( new VertexEditPartFactory() );
-        viewer.setRootEditPart( rootEditPart );
-        viewer.setKeyHandler( new GraphicalViewerKeyHandler( viewer ) );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.ui.parts.GraphicalEditor#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class type) {
-
-        if ( type == ZoomManager.class ) return ((ScalableFreeformRootEditPart) getGraphicalViewer().getRootEditPart()).getZoomManager();
-        if ( type == GraphicalViewer.class ) return getGraphicalViewer();
-        if ( type == EditPart.class && getGraphicalViewer() != null ) return getGraphicalViewer().getRootEditPart();
-        if ( type == IFigure.class && getGraphicalViewer() != null ) return ((GraphicalEditPart) getGraphicalViewer().getRootEditPart()).getFigure();
-        return super.getAdapter( type );
-    }
-
-    private RuleBase getRuleBase(String contents) {
-        try {
-        	DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(drlEditor, true, true);
-        	if (drlInfo != null) {
-        		Package pkg = drlInfo.getPackage();
-        		ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO);
-        		ruleBase.addPackage(pkg);
-        		return ruleBase;
-        	}
-        } catch ( Throwable t ) {
-            DroolsEclipsePlugin.log( t );
-        }
-        return null;
-    }
-
-    /**
-     * Loads model from rule base,
-     * calculates rete view and initializes diagram model.
-     * @param monitor 
-     * @param contents 
-     * @return
-     */
-    public ReteGraph loadReteModel(IProgressMonitor monitor,
-                                   String contents) throws Throwable {
-        if ( relayoutRequired == false ) {
-            return diagram;
-        }
-
-        ReteGraph newDiagram = new ReteGraph();
-
-        try {
-
-            monitor.beginTask( "Loading RETE Tree",
-                               100 );
-
-            monitor.subTask( "Loading Rule Base" );
-            RuleBase ruleBase = getRuleBase( contents );
-            if ( ruleBase == null ) {
-                final Exception error = new Exception( MSG_PARSE_ERROR );
-                throw error;
-            }
-            monitor.worked( 50 );
-            if ( monitor.isCanceled() ) {
-                throw new InterruptedException();
-            }
-
-            monitor.subTask( "Building RETE Tree" );
-            final ReteooVisitor visitor = new ReteooVisitor( newDiagram );
-            visitor.visit( ruleBase );
-            monitor.worked( 30 );
-            if ( monitor.isCanceled() ) {
-                throw new InterruptedException();
-            }
-
-            monitor.subTask( "Calculating RETE Tree Layout" );
-            BaseVertex rootVertex = visitor.getRootVertex();
-            RowList rowList = ReteooLayoutFactory.calculateReteRows( rootVertex );
-            ReteooLayoutFactory.layoutRowList( newDiagram,
-                                               rowList );
-            zeroBaseDiagram( newDiagram );
-            monitor.worked( 20 );
-            if ( monitor.isCanceled() ) {
-                throw new InterruptedException();
-            }
-            monitor.done();
-
-        } catch ( Throwable t ) {
-            if ( !(t instanceof InterruptedException) ) {
-                DroolsEclipsePlugin.log( t );
-            }
-            throw t;
-        }
-        relayoutRequired = false;
-        return newDiagram;
-    }
-
-    private ReteGraph getModel() {
-        return diagram;
-    }
-
-    /**
-     * Loads Rete model and initializes zoom manager.
-     * 
-     */
-    protected void initializeGraphicalViewer() {
-        ZoomManager zoomManager = rootEditPart.getZoomManager();
-
-        //List<String>
-        List zoomLevels = new ArrayList( 3 );
-
-        zoomLevels.add( ZoomManager.FIT_ALL );
-        zoomLevels.add( ZoomManager.FIT_HEIGHT );
-        zoomLevels.add( ZoomManager.FIT_WIDTH );
-
-        zoomManager.setZoomLevelContributions( zoomLevels );
-
-        // Zoom mousewheel - Ctrl+Mousewheel for zoom in/out
-        getGraphicalViewer().setProperty( MouseWheelHandler.KeyGenerator.getKey( SWT.MOD1 ),
-                                          MouseWheelZoomHandler.SINGLETON );
-
-    }
-
-    /**
-     * Moves all <code>diagram</code> nodes to upper left corner
-     * and shifting to right if neccessary to get rid of negative XY coordinates.
-     * 
-     */
-    private void zeroBaseDiagram(ReteGraph graph) {
-
-        Dimension dim = rootEditPart.getContentPane().getSize();
-
-        int minx = 0, miny = 0, maxx = 0, x = dim.width;
-
-        final Iterator nodeIter = graph.getChildren().iterator();
-        while ( nodeIter.hasNext() ) {
-            Point loc = ((BaseVertex) (nodeIter.next())).getLocation();
-            minx = Math.min( loc.x,
-                             minx );
-            maxx = Math.max( loc.x,
-                             maxx );
-            miny = Math.min( loc.y,
-                             miny );
-        }
-
-        int delta = (x - (maxx - minx + 20)) / 2;
-        minx = minx - (delta);
-
-        final Iterator nodeIter2 = graph.getChildren().iterator();
-        while ( nodeIter2.hasNext() ) {
-            final BaseVertex vertex = (BaseVertex) (nodeIter2.next());
-            Point loc = vertex.getLocation();
-            vertex.setLocation( new Point( loc.x - minx,
-                                           loc.y - miny ) );
-        }
-    }
-
-    /**
-     * No save operation in ReteViewer
-     */
-    public void doSave(IProgressMonitor monitor) {
-
-    }
-
-    /**
-     * ReteViewer is never dirty.
-     * This prevents editor close mechanism to ask file save confirmation
-     * even after one of the vertices is moved.
-     */
-    public boolean isDirty() {
-        return false;
-    }
-
-    /**
-     * Fired when underlying source is modified.
-     * Marks graph viewer to be relayouted when activated.
-     */
-    public void fireDocumentChanged() {
-        relayoutRequired = true;
-    }
-
-    /**
-     * Draws graph.
-     * 
-     * @param newGraph used to replace existing graph. if null then existing graph is simply redrawn.
-     */
-    public void drawGraph(ReteGraph newGraph) {
-
-        LayerManager manager = (LayerManager) getGraphicalViewer().getEditPartRegistry().get( LayerManager.ID );
-        ConnectionLayer connLayer = (ConnectionLayer) manager.getLayer( LayerConstants.CONNECTION_LAYER );
-
-        // Lazy-init model initialization
-        if ( getGraphicalViewer().getContents() == null ) {
-            getGraphicalViewer().setContents( getModel() );
-        }
-
-        final boolean isNewDiagram = newGraph != null && newGraph != diagram;
-
-        if ( isNewDiagram ) {
-            diagram.removeAll();
-        }
-
-        // Update connection router according to new model size
-        ConnectionRouter router;
-        if ( (isNewDiagram && newGraph.getChildren().size() < SIMPLE_ROUTER_MIN_NODES) || (!isNewDiagram && getModel().getChildren().size() < SIMPLE_ROUTER_MIN_NODES) ) {
-            router = new ShortestPathConnectionRouter( (IFigure) rootEditPart.getContentPane().getChildren().get( 0 ) );
-        } else {
-            router = ConnectionRouter.NULL;
-        }
-        connLayer.setConnectionRouter( router );
-
-        if ( newGraph != null && newGraph != diagram ) {
-            diagram.addAll( newGraph.getChildren() );
-        }
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,305 @@
+package org.drools.eclipse.editors.rete;
+
+/*
+ * Copyright 2006 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.
+ */
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.eclipse.editors.rete.part.VertexEditPartFactory;
+import org.drools.reteoo.BaseVertex;
+import org.drools.reteoo.ReteooRuleBase;
+import org.drools.reteoo.ReteooVisitor;
+import org.drools.rule.Package;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.ConnectionLayer;
+import org.eclipse.draw2d.ConnectionRouter;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.ShortestPathConnectionRouter;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.DefaultEditDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.GraphicalViewer;
+import org.eclipse.gef.LayerConstants;
+import org.eclipse.gef.MouseWheelHandler;
+import org.eclipse.gef.MouseWheelZoomHandler;
+import org.eclipse.gef.editparts.LayerManager;
+import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.ui.parts.GraphicalEditor;
+import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
+import org.eclipse.swt.SWT;
+
+/**
+ * GEF-based RETE Viewer
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class ReteViewer extends GraphicalEditor {
+
+    private static final String  MSG_PARSE_ERROR         = "Unable to parse rules to show RETE view!";
+
+    private static final int     SIMPLE_ROUTER_MIN_NODES = 100;
+
+    ScalableFreeformRootEditPart rootEditPart            = new ScalableFreeformRootEditPart();
+
+    private ReteGraph            diagram                 = new ReteGraph();
+
+    private boolean              relayoutRequired        = true;
+    
+    private DRLRuleEditor drlEditor;
+
+    /**
+     * Constructor.
+     * 
+     * @param documentProvider documentProvider must contain Document with rules.
+     */
+    public ReteViewer(DRLRuleEditor drlEditor) {
+        this.drlEditor = drlEditor;
+        setEditDomain( new DefaultEditDomain( this ) );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.ui.parts.GraphicalEditor#configureGraphicalViewer()
+     */
+    protected void configureGraphicalViewer() {
+        super.configureGraphicalViewer();
+        GraphicalViewer viewer = getGraphicalViewer();
+        viewer.getControl().setBackground( ColorConstants.white );
+        viewer.setEditPartFactory( new VertexEditPartFactory() );
+        viewer.setRootEditPart( rootEditPart );
+        viewer.setKeyHandler( new GraphicalViewerKeyHandler( viewer ) );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.ui.parts.GraphicalEditor#getAdapter(java.lang.Class)
+     */
+    public Object getAdapter(Class type) {
+
+        if ( type == ZoomManager.class ) return ((ScalableFreeformRootEditPart) getGraphicalViewer().getRootEditPart()).getZoomManager();
+        if ( type == GraphicalViewer.class ) return getGraphicalViewer();
+        if ( type == EditPart.class && getGraphicalViewer() != null ) return getGraphicalViewer().getRootEditPart();
+        if ( type == IFigure.class && getGraphicalViewer() != null ) return ((GraphicalEditPart) getGraphicalViewer().getRootEditPart()).getFigure();
+        return super.getAdapter( type );
+    }
+
+    private RuleBase getRuleBase(String contents) {
+        try {
+        	DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(drlEditor, true, true);
+        	if (drlInfo != null) {
+        		Package pkg = drlInfo.getPackage();
+        		ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO);
+        		ruleBase.addPackage(pkg);
+        		return ruleBase;
+        	}
+        } catch ( Throwable t ) {
+            DroolsEclipsePlugin.log( t );
+        }
+        return null;
+    }
+
+    /**
+     * Loads model from rule base,
+     * calculates rete view and initializes diagram model.
+     * @param monitor 
+     * @param contents 
+     * @return
+     */
+    public ReteGraph loadReteModel(IProgressMonitor monitor,
+                                   String contents) throws Throwable {
+        if ( relayoutRequired == false ) {
+            return diagram;
+        }
+
+        ReteGraph newDiagram = new ReteGraph();
+
+        try {
+
+            monitor.beginTask( "Loading RETE Tree",
+                               100 );
+
+            monitor.subTask( "Loading Rule Base" );
+            RuleBase ruleBase = getRuleBase( contents );
+            if ( ruleBase == null ) {
+                final Exception error = new Exception( MSG_PARSE_ERROR );
+                throw error;
+            }
+            monitor.worked( 50 );
+            if ( monitor.isCanceled() ) {
+                throw new InterruptedException();
+            }
+
+            monitor.subTask( "Building RETE Tree" );
+            final ReteooVisitor visitor = new ReteooVisitor( newDiagram );
+            visitor.visit( ruleBase );
+            monitor.worked( 30 );
+            if ( monitor.isCanceled() ) {
+                throw new InterruptedException();
+            }
+
+            monitor.subTask( "Calculating RETE Tree Layout" );
+            BaseVertex rootVertex = visitor.getRootVertex();
+            RowList rowList = ReteooLayoutFactory.calculateReteRows( rootVertex );
+            ReteooLayoutFactory.layoutRowList( newDiagram,
+                                               rowList );
+            zeroBaseDiagram( newDiagram );
+            monitor.worked( 20 );
+            if ( monitor.isCanceled() ) {
+                throw new InterruptedException();
+            }
+            monitor.done();
+
+        } catch ( Throwable t ) {
+            if ( !(t instanceof InterruptedException) ) {
+                DroolsEclipsePlugin.log( t );
+            }
+            throw t;
+        }
+        relayoutRequired = false;
+        return newDiagram;
+    }
+
+    private ReteGraph getModel() {
+        return diagram;
+    }
+
+    /**
+     * Loads Rete model and initializes zoom manager.
+     * 
+     */
+    protected void initializeGraphicalViewer() {
+        ZoomManager zoomManager = rootEditPart.getZoomManager();
+
+        //List<String>
+        List zoomLevels = new ArrayList( 3 );
+
+        zoomLevels.add( ZoomManager.FIT_ALL );
+        zoomLevels.add( ZoomManager.FIT_HEIGHT );
+        zoomLevels.add( ZoomManager.FIT_WIDTH );
+
+        zoomManager.setZoomLevelContributions( zoomLevels );
+
+        // Zoom mousewheel - Ctrl+Mousewheel for zoom in/out
+        getGraphicalViewer().setProperty( MouseWheelHandler.KeyGenerator.getKey( SWT.MOD1 ),
+                                          MouseWheelZoomHandler.SINGLETON );
+
+    }
+
+    /**
+     * Moves all <code>diagram</code> nodes to upper left corner
+     * and shifting to right if neccessary to get rid of negative XY coordinates.
+     * 
+     */
+    private void zeroBaseDiagram(ReteGraph graph) {
+
+        Dimension dim = rootEditPart.getContentPane().getSize();
+
+        int minx = 0, miny = 0, maxx = 0, x = dim.width;
+
+        final Iterator nodeIter = graph.getChildren().iterator();
+        while ( nodeIter.hasNext() ) {
+            Point loc = ((BaseVertex) (nodeIter.next())).getLocation();
+            minx = Math.min( loc.x,
+                             minx );
+            maxx = Math.max( loc.x,
+                             maxx );
+            miny = Math.min( loc.y,
+                             miny );
+        }
+
+        int delta = (x - (maxx - minx + 20)) / 2;
+        minx = minx - (delta);
+
+        final Iterator nodeIter2 = graph.getChildren().iterator();
+        while ( nodeIter2.hasNext() ) {
+            final BaseVertex vertex = (BaseVertex) (nodeIter2.next());
+            Point loc = vertex.getLocation();
+            vertex.setLocation( new Point( loc.x - minx,
+                                           loc.y - miny ) );
+        }
+    }
+
+    /**
+     * No save operation in ReteViewer
+     */
+    public void doSave(IProgressMonitor monitor) {
+
+    }
+
+    /**
+     * ReteViewer is never dirty.
+     * This prevents editor close mechanism to ask file save confirmation
+     * even after one of the vertices is moved.
+     */
+    public boolean isDirty() {
+        return false;
+    }
+
+    /**
+     * Fired when underlying source is modified.
+     * Marks graph viewer to be relayouted when activated.
+     */
+    public void fireDocumentChanged() {
+        relayoutRequired = true;
+    }
+
+    /**
+     * Draws graph.
+     * 
+     * @param newGraph used to replace existing graph. if null then existing graph is simply redrawn.
+     */
+    public void drawGraph(ReteGraph newGraph) {
+
+        LayerManager manager = (LayerManager) getGraphicalViewer().getEditPartRegistry().get( LayerManager.ID );
+        ConnectionLayer connLayer = (ConnectionLayer) manager.getLayer( LayerConstants.CONNECTION_LAYER );
+
+        // Lazy-init model initialization
+        if ( getGraphicalViewer().getContents() == null ) {
+            getGraphicalViewer().setContents( getModel() );
+        }
+
+        final boolean isNewDiagram = newGraph != null && newGraph != diagram;
+
+        if ( isNewDiagram ) {
+            diagram.removeAll();
+        }
+
+        // Update connection router according to new model size
+        ConnectionRouter router;
+        if ( (isNewDiagram && newGraph.getChildren().size() < SIMPLE_ROUTER_MIN_NODES) || (!isNewDiagram && getModel().getChildren().size() < SIMPLE_ROUTER_MIN_NODES) ) {
+            router = new ShortestPathConnectionRouter( (IFigure) rootEditPart.getContentPane().getChildren().get( 0 ) );
+        } else {
+            router = ConnectionRouter.NULL;
+        }
+        connLayer.setConnectionRouter( router );
+
+        if ( newGraph != null && newGraph != diagram ) {
+            diagram.addAll( newGraph.getChildren() );
+        }
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,155 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.drools.eclipse.editors.rete.model.Connection;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.reteoo.BaseVertex;
-import org.eclipse.draw2d.geometry.Point;
-
-/**
- * Factory methods for calculating and layouting reteoo graph
- *
- */
-public class ReteooLayoutFactory {
-
-    /**
-     * Calculates layouting for provided graph.
-     * 
-     * @param root graph root vertex
-     * 
-     * @return Optimally layouted rows from provided graph
-     */
-    public static RowList calculateReteRows(BaseVertex root) {
-        RowList rowList;
-        rowList = new RowList();
-
-        rowList.add( 0,
-                     root );
-
-        int curRow = 0;
-
-        final Set seenVertices = new HashSet();
-        seenVertices.add( root );
-
-        while ( curRow < rowList.getDepth() ) {
-            final List rowVertices = rowList.get( curRow ).getVertices();
-
-            for ( final Iterator rowNodeIter = rowVertices.iterator(); rowNodeIter.hasNext(); ) {
-                final BaseVertex rowNode = (BaseVertex) rowNodeIter.next();
-
-                final List edges = rowNode.getSourceConnections();
-
-                for ( final Iterator edgeIter = edges.iterator(); edgeIter.hasNext(); ) {
-
-                    final Connection edge = (Connection) edgeIter.next();
-                    final BaseVertex destNode = edge.getOpposite( rowNode );
-
-                    if ( !seenVertices.contains( destNode ) ) {
-                        rowList.add( curRow + 1,
-                                     destNode );
-                        seenVertices.add( destNode );
-                    }
-                }
-
-                seenVertices.add( rowNode );
-            }
-
-            ++curRow;
-        }
-
-        rowList.optimize();
-
-        return rowList;
-    }
-
-    /**
-     * Adds all vertices from rowList to the graph.
-     * 
-     * @param graph
-     * @param rowList
-     */
-    public static void layoutRowList(ReteGraph graph,
-                                     RowList rowList) {
-        new LayoutCalculator( graph,
-                              rowList );
-    }
-
-    private static class LayoutCalculator {
-
-        public final static String COORDS                = "drools.LayoutCalculator.coords";
-
-        private static final int   COLUMN_SPACE          = 40;
-        private static final int   ROW_HEIGHT_MULTIPLIER = 6;
-
-        private RowList            rowList;
-
-        private int                columnWidth;
-        private int                rowHeight;
-
-        private ReteGraph          graph;
-
-        private LayoutCalculator(final ReteGraph graph,
-                                 final RowList rowList) {
-            this.graph = graph;
-            this.rowList = rowList;
-            computeSize();
-
-            List vertices = getGraph().getChildren();
-            Iterator iter = vertices.iterator();
-            while ( iter.hasNext() ) {
-                BaseVertex v = (BaseVertex) iter.next();
-                initialize_local_vertex( v );
-            }
-
-        }
-
-        private void computeSize() {
-            final List vertices = getGraph().getChildren();
-
-            for ( final Iterator vertexIter = vertices.iterator(); vertexIter.hasNext(); ) {
-                final BaseVertex vertex = (BaseVertex) vertexIter.next();
-
-                final int width = vertex.getSize().width;
-                final int height = vertex.getSize().height;
-
-                if ( width > this.columnWidth ) {
-                    this.columnWidth = width;
-                }
-
-                if ( height > this.rowHeight ) {
-                    this.rowHeight = height;
-                }
-            }
-
-            this.columnWidth = this.columnWidth + LayoutCalculator.COLUMN_SPACE;
-        }
-
-        private void initialize_local_vertex(final BaseVertex vertex) {
-            final int row = this.rowList.getRow( vertex );
-            final int col = this.rowList.getColumn( vertex );
-
-            final int rowWidth = this.rowList.getWidth( row );
-
-            final int columnWidthPx = columnWidth;
-            final int rowHeightPx = rowHeight;
-
-            double x = (col * columnWidthPx);
-            double y = (row * (rowHeightPx * LayoutCalculator.ROW_HEIGHT_MULTIPLIER));
-
-            x = x + (columnWidthPx / 2) - ((rowWidth - 1) * (columnWidthPx / 2));
-            y = y + (rowHeightPx / 2) + 3;
-
-            vertex.setLocation( new Point( x,
-                                           y ) );
-        }
-
-        private ReteGraph getGraph() {
-            return graph;
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteooLayoutFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,155 @@
+package org.drools.eclipse.editors.rete;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.drools.eclipse.editors.rete.model.Connection;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.reteoo.BaseVertex;
+import org.eclipse.draw2d.geometry.Point;
+
+/**
+ * Factory methods for calculating and layouting reteoo graph
+ *
+ */
+public class ReteooLayoutFactory {
+
+    /**
+     * Calculates layouting for provided graph.
+     * 
+     * @param root graph root vertex
+     * 
+     * @return Optimally layouted rows from provided graph
+     */
+    public static RowList calculateReteRows(BaseVertex root) {
+        RowList rowList;
+        rowList = new RowList();
+
+        rowList.add( 0,
+                     root );
+
+        int curRow = 0;
+
+        final Set seenVertices = new HashSet();
+        seenVertices.add( root );
+
+        while ( curRow < rowList.getDepth() ) {
+            final List rowVertices = rowList.get( curRow ).getVertices();
+
+            for ( final Iterator rowNodeIter = rowVertices.iterator(); rowNodeIter.hasNext(); ) {
+                final BaseVertex rowNode = (BaseVertex) rowNodeIter.next();
+
+                final List edges = rowNode.getSourceConnections();
+
+                for ( final Iterator edgeIter = edges.iterator(); edgeIter.hasNext(); ) {
+
+                    final Connection edge = (Connection) edgeIter.next();
+                    final BaseVertex destNode = edge.getOpposite( rowNode );
+
+                    if ( !seenVertices.contains( destNode ) ) {
+                        rowList.add( curRow + 1,
+                                     destNode );
+                        seenVertices.add( destNode );
+                    }
+                }
+
+                seenVertices.add( rowNode );
+            }
+
+            ++curRow;
+        }
+
+        rowList.optimize();
+
+        return rowList;
+    }
+
+    /**
+     * Adds all vertices from rowList to the graph.
+     * 
+     * @param graph
+     * @param rowList
+     */
+    public static void layoutRowList(ReteGraph graph,
+                                     RowList rowList) {
+        new LayoutCalculator( graph,
+                              rowList );
+    }
+
+    private static class LayoutCalculator {
+
+        public final static String COORDS                = "drools.LayoutCalculator.coords";
+
+        private static final int   COLUMN_SPACE          = 40;
+        private static final int   ROW_HEIGHT_MULTIPLIER = 6;
+
+        private RowList            rowList;
+
+        private int                columnWidth;
+        private int                rowHeight;
+
+        private ReteGraph          graph;
+
+        private LayoutCalculator(final ReteGraph graph,
+                                 final RowList rowList) {
+            this.graph = graph;
+            this.rowList = rowList;
+            computeSize();
+
+            List vertices = getGraph().getChildren();
+            Iterator iter = vertices.iterator();
+            while ( iter.hasNext() ) {
+                BaseVertex v = (BaseVertex) iter.next();
+                initialize_local_vertex( v );
+            }
+
+        }
+
+        private void computeSize() {
+            final List vertices = getGraph().getChildren();
+
+            for ( final Iterator vertexIter = vertices.iterator(); vertexIter.hasNext(); ) {
+                final BaseVertex vertex = (BaseVertex) vertexIter.next();
+
+                final int width = vertex.getSize().width;
+                final int height = vertex.getSize().height;
+
+                if ( width > this.columnWidth ) {
+                    this.columnWidth = width;
+                }
+
+                if ( height > this.rowHeight ) {
+                    this.rowHeight = height;
+                }
+            }
+
+            this.columnWidth = this.columnWidth + LayoutCalculator.COLUMN_SPACE;
+        }
+
+        private void initialize_local_vertex(final BaseVertex vertex) {
+            final int row = this.rowList.getRow( vertex );
+            final int col = this.rowList.getColumn( vertex );
+
+            final int rowWidth = this.rowList.getWidth( row );
+
+            final int columnWidthPx = columnWidth;
+            final int rowHeightPx = rowHeight;
+
+            double x = (col * columnWidthPx);
+            double y = (row * (rowHeightPx * LayoutCalculator.ROW_HEIGHT_MULTIPLIER));
+
+            x = x + (columnWidthPx / 2) - ((rowWidth - 1) * (columnWidthPx / 2));
+            y = y + (rowHeightPx / 2) + 3;
+
+            vertex.setLocation( new Point( x,
+                                           y ) );
+        }
+
+        private ReteGraph getGraph() {
+            return graph;
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,139 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-/*
- * Copyright 2006 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.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.drools.reteoo.BaseVertex;
-
-/**
- * Represents one row in rete graph
- *
- */
-public class Row {
-
-    private final int depth;
-
-    //List<BaseVertex>
-    private List      vertices;
-
-    /**
-     * Default constructor.
-     * 
-     * @param depth row depth 
-     */
-    public Row(final int depth) {
-        super();
-        this.vertices = new ArrayList();
-        this.depth = depth;
-    }
-
-    /**
-     * Returns row depth
-     * 
-     * @return row depth
-     */
-    public int getDepth() {
-        return this.depth;
-    }
-
-    /**
-     * Adds new vertex to this row.
-     * 
-     * @param vertex new vertex to be added 
-     */
-    public void add(final BaseVertex vertex) {
-        this.vertices.add( vertex );
-    }
-
-    /**
-     * Returns all vertices from this row.
-     * 
-     * @return list of vertices with type BaseVertex
-     */
-    public List getVertices() {
-        return this.vertices;
-    }
-
-    /**
-     * @param vertex
-     * @return <code>true</code> if vertex is found in row. <code>false</code> otherwise.
-     */
-    public boolean contains(final BaseVertex vertex) {
-        return this.vertices.contains( vertex );
-    }
-
-    /**
-     * @return number of vertices in row 
-     */
-    public int getWidth() {
-        return this.vertices.size();
-    }
-
-    /**
-     * Optimizing vertices for optimal presentation
-     * 
-     */
-    public void optimize() {
-        final List sorted = new ArrayList( this.vertices );
-
-        Collections.sort( sorted,
-                          new Comparator() {
-                              public int compare(final Object o1,
-                                                 final Object o2) {
-                                  final BaseVertex v1 = (BaseVertex) o1;
-                                  final BaseVertex v2 = (BaseVertex) o2;
-
-                                  int v1OutDegree = v1.getSourceConnections().size();
-                                  int v2OutDegree = v2.getSourceConnections().size();
-
-                                  if ( v1OutDegree < v2OutDegree ) {
-                                      return 1;
-                                  }
-
-                                  if ( v1OutDegree > v2OutDegree ) {
-                                      return -1;
-                                  }
-
-                                  return 0;
-                              }
-                          } );
-
-        final LinkedList optimized = new LinkedList();
-
-        boolean front = false;
-
-        for ( final Iterator vertexIter = sorted.iterator(); vertexIter.hasNext(); ) {
-            final BaseVertex vertex = (BaseVertex) vertexIter.next();
-
-            if ( front ) {
-                optimized.addFirst( vertex );
-            } else {
-                optimized.addLast( vertex );
-            }
-
-            front = !front;
-        }
-
-        this.vertices = optimized;
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/Row.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,139 @@
+package org.drools.eclipse.editors.rete;
+
+/*
+ * Copyright 2006 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.drools.reteoo.BaseVertex;
+
+/**
+ * Represents one row in rete graph
+ *
+ */
+public class Row {
+
+    private final int depth;
+
+    //List<BaseVertex>
+    private List      vertices;
+
+    /**
+     * Default constructor.
+     * 
+     * @param depth row depth 
+     */
+    public Row(final int depth) {
+        super();
+        this.vertices = new ArrayList();
+        this.depth = depth;
+    }
+
+    /**
+     * Returns row depth
+     * 
+     * @return row depth
+     */
+    public int getDepth() {
+        return this.depth;
+    }
+
+    /**
+     * Adds new vertex to this row.
+     * 
+     * @param vertex new vertex to be added 
+     */
+    public void add(final BaseVertex vertex) {
+        this.vertices.add( vertex );
+    }
+
+    /**
+     * Returns all vertices from this row.
+     * 
+     * @return list of vertices with type BaseVertex
+     */
+    public List getVertices() {
+        return this.vertices;
+    }
+
+    /**
+     * @param vertex
+     * @return <code>true</code> if vertex is found in row. <code>false</code> otherwise.
+     */
+    public boolean contains(final BaseVertex vertex) {
+        return this.vertices.contains( vertex );
+    }
+
+    /**
+     * @return number of vertices in row 
+     */
+    public int getWidth() {
+        return this.vertices.size();
+    }
+
+    /**
+     * Optimizing vertices for optimal presentation
+     * 
+     */
+    public void optimize() {
+        final List sorted = new ArrayList( this.vertices );
+
+        Collections.sort( sorted,
+                          new Comparator() {
+                              public int compare(final Object o1,
+                                                 final Object o2) {
+                                  final BaseVertex v1 = (BaseVertex) o1;
+                                  final BaseVertex v2 = (BaseVertex) o2;
+
+                                  int v1OutDegree = v1.getSourceConnections().size();
+                                  int v2OutDegree = v2.getSourceConnections().size();
+
+                                  if ( v1OutDegree < v2OutDegree ) {
+                                      return 1;
+                                  }
+
+                                  if ( v1OutDegree > v2OutDegree ) {
+                                      return -1;
+                                  }
+
+                                  return 0;
+                              }
+                          } );
+
+        final LinkedList optimized = new LinkedList();
+
+        boolean front = false;
+
+        for ( final Iterator vertexIter = sorted.iterator(); vertexIter.hasNext(); ) {
+            final BaseVertex vertex = (BaseVertex) vertexIter.next();
+
+            if ( front ) {
+                optimized.addFirst( vertex );
+            } else {
+                optimized.addLast( vertex );
+            }
+
+            front = !front;
+        }
+
+        this.vertices = optimized;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,169 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-/*
- * Copyright 2006 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.
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.reteoo.BaseVertex;
-
-/**
- * Holder for Row elements.
- * 
- */
-public class RowList {
-
-    // List<Row>
-    private List rows;
-
-    /**
-     * Default constructor.
-     */
-    public RowList() {
-        super();
-        this.rows = new ArrayList();
-    }
-
-    /**
-     * Adds new vertex to specified depth
-     * 
-     * @param depth depth for vertex
-     * @param vertex vertex
-     */
-    public void add(final int depth,
-                    final BaseVertex vertex) {
-        if ( this.rows.size() < (depth + 1) ) {
-            final int addRows = depth - this.rows.size() + 1;
-
-            for ( int i = 0; i < addRows; ++i ) {
-                this.rows.add( new Row( (depth - addRows) + i ) );
-            }
-        }
-
-        ((Row) this.rows.get( depth )).add( vertex );
-    }
-
-    /**
-     * @return number of rows in RowList
-     */
-    public int getDepth() {
-        return this.rows.size();
-    }
-
-    /**
-     * @param row index of the row to be returned (0..n-1)
-     * @return specified row
-     */
-    public Row get(final int row) {
-        return (Row) this.rows.get( row );
-    }
-
-    /**
-     * Finds specified vertex from the rows.
-     * 
-     * @param vertex vertex
-     * 
-     * @return row number where vertex was found (0..n-1). <code>-1</code> if not found. 
-     */
-    public int getRow(final BaseVertex vertex) {
-        final int numRows = this.rows.size();
-
-        for ( int i = 0; i < numRows; ++i ) {
-            if ( ((Row) this.rows.get( i )).contains( vertex ) ) {
-                return i;
-            }
-        }
-
-        return -1;
-    }
-
-    /**
-     * Finds the longest row width.
-     * 
-     * @return width of the longest row
-     */
-    public int getWidth() {
-        int width = 0;
-
-        for ( final Iterator rowIter = this.rows.iterator(); rowIter.hasNext(); ) {
-            final Row row = (Row) rowIter.next();
-            final int rowWidth = row.getWidth();
-
-            if ( rowWidth > width ) {
-                width = rowWidth;
-            }
-        }
-
-        return width;
-    }
-
-    /**
-     * Width of the row at specified index.
-     * 
-     * @param row
-     * @return width
-     */
-    public int getWidth(final int row) {
-        return ((Row) this.rows.get( row )).getWidth();
-    }
-
-    /**
-     * @param vertex vertex to search
-     * @return column where vertex was found
-     */
-    public int getColumn(final BaseVertex vertex) {
-        final int row = getRow( vertex );
-
-        if ( row < 0 ) {
-            return -1;
-        }
-
-        final List rowVertices = get( row ).getVertices();
-
-        final int numCols = rowVertices.size();
-
-        for ( int i = 0; i < numCols; ++i ) {
-            if ( rowVertices.get( i ).equals( vertex ) ) {
-                return i;
-            }
-        }
-
-        return -1;
-    }
-
-    /**
-     * Dumps all row vertices to System.err
-     */
-    public void dump() {
-        final int numRows = this.rows.size();
-
-        for ( int i = 0; i < numRows; ++i ) {
-            System.err.println( i + ": " + get( i ).getVertices() );
-        }
-    }
-
-    /**
-     * Optimizes all rows for optimal presentation
-     */
-    public void optimize() {
-        final int numRows = this.rows.size();
-
-        for ( int i = 0; i < numRows; ++i ) {
-            get( i ).optimize();
-        }
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/RowList.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,169 @@
+package org.drools.eclipse.editors.rete;
+
+/*
+ * Copyright 2006 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.
+ */
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.reteoo.BaseVertex;
+
+/**
+ * Holder for Row elements.
+ * 
+ */
+public class RowList {
+
+    // List<Row>
+    private List rows;
+
+    /**
+     * Default constructor.
+     */
+    public RowList() {
+        super();
+        this.rows = new ArrayList();
+    }
+
+    /**
+     * Adds new vertex to specified depth
+     * 
+     * @param depth depth for vertex
+     * @param vertex vertex
+     */
+    public void add(final int depth,
+                    final BaseVertex vertex) {
+        if ( this.rows.size() < (depth + 1) ) {
+            final int addRows = depth - this.rows.size() + 1;
+
+            for ( int i = 0; i < addRows; ++i ) {
+                this.rows.add( new Row( (depth - addRows) + i ) );
+            }
+        }
+
+        ((Row) this.rows.get( depth )).add( vertex );
+    }
+
+    /**
+     * @return number of rows in RowList
+     */
+    public int getDepth() {
+        return this.rows.size();
+    }
+
+    /**
+     * @param row index of the row to be returned (0..n-1)
+     * @return specified row
+     */
+    public Row get(final int row) {
+        return (Row) this.rows.get( row );
+    }
+
+    /**
+     * Finds specified vertex from the rows.
+     * 
+     * @param vertex vertex
+     * 
+     * @return row number where vertex was found (0..n-1). <code>-1</code> if not found. 
+     */
+    public int getRow(final BaseVertex vertex) {
+        final int numRows = this.rows.size();
+
+        for ( int i = 0; i < numRows; ++i ) {
+            if ( ((Row) this.rows.get( i )).contains( vertex ) ) {
+                return i;
+            }
+        }
+
+        return -1;
+    }
+
+    /**
+     * Finds the longest row width.
+     * 
+     * @return width of the longest row
+     */
+    public int getWidth() {
+        int width = 0;
+
+        for ( final Iterator rowIter = this.rows.iterator(); rowIter.hasNext(); ) {
+            final Row row = (Row) rowIter.next();
+            final int rowWidth = row.getWidth();
+
+            if ( rowWidth > width ) {
+                width = rowWidth;
+            }
+        }
+
+        return width;
+    }
+
+    /**
+     * Width of the row at specified index.
+     * 
+     * @param row
+     * @return width
+     */
+    public int getWidth(final int row) {
+        return ((Row) this.rows.get( row )).getWidth();
+    }
+
+    /**
+     * @param vertex vertex to search
+     * @return column where vertex was found
+     */
+    public int getColumn(final BaseVertex vertex) {
+        final int row = getRow( vertex );
+
+        if ( row < 0 ) {
+            return -1;
+        }
+
+        final List rowVertices = get( row ).getVertices();
+
+        final int numCols = rowVertices.size();
+
+        for ( int i = 0; i < numCols; ++i ) {
+            if ( rowVertices.get( i ).equals( vertex ) ) {
+                return i;
+            }
+        }
+
+        return -1;
+    }
+
+    /**
+     * Dumps all row vertices to System.err
+     */
+    public void dump() {
+        final int numRows = this.rows.size();
+
+        for ( int i = 0; i < numRows; ++i ) {
+            System.err.println( i + ": " + get( i ).getVertices() );
+        }
+    }
+
+    /**
+     * Optimizes all rows for optimal presentation
+     */
+    public void optimize() {
+        final int numRows = this.rows.size();
+
+        for ( int i = 0; i < numRows; ++i ) {
+            get( i ).optimize();
+        }
+    }
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,79 +0,0 @@
-package org.drools.eclipse.editors.rete.commands;
-
-import org.drools.reteoo.BaseVertex;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-
-/**
- * A command to move a vertex.
- * 
- */
-public class NodeSetConstraintCommand extends Command {
-
-    /** Stores the new size and location. */
-    private final Rectangle           newBounds;
-
-    /** Stores the old size and location. */
-    private Rectangle                 oldBounds;
-
-    /** A request to move/resize an edit part. */
-    private final ChangeBoundsRequest request;
-
-    /** BaseVertex to manipulate. */
-    private final BaseVertex          vertex;
-
-    /**
-     * Create a command that can resize and/or move a vertex.
-     *  
-     * @param vertex the vertex to manipulate
-     * @param req       the move request
-     * @param newBounds the new location. size is ignored
-     * @throws IllegalArgumentException if any of the parameters is null
-     */
-    public NodeSetConstraintCommand(BaseVertex vertex,
-                                    ChangeBoundsRequest req,
-                                    Rectangle newBounds) {
-        if ( vertex == null || req == null || newBounds == null ) {
-            throw new IllegalArgumentException();
-        }
-        this.vertex = vertex;
-        this.request = req;
-        this.newBounds = newBounds.getCopy();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.commands.Command#canExecute()
-     */
-    public boolean canExecute() {
-        Object type = request.getType();
-        return (RequestConstants.REQ_MOVE.equals( type ) || RequestConstants.REQ_MOVE_CHILDREN.equals( type ));
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.commands.Command#execute()
-     */
-    public void execute() {
-        oldBounds = new Rectangle( vertex.getLocation(),
-                                   vertex.getSize() );
-        redo();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.commands.Command#redo()
-     */
-    public void redo() {
-        vertex.setSize( newBounds.getSize() );
-        vertex.setLocation( newBounds.getLocation() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.commands.Command#undo()
-     */
-    public void undo() {
-        vertex.setSize( oldBounds.getSize() );
-        vertex.setLocation( oldBounds.getLocation() );
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/commands/NodeSetConstraintCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,79 @@
+package org.drools.eclipse.editors.rete.commands;
+
+import org.drools.reteoo.BaseVertex;
+import org.eclipse.draw2d.geometry.Rectangle;
+
+import org.eclipse.gef.RequestConstants;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.requests.ChangeBoundsRequest;
+
+/**
+ * A command to move a vertex.
+ * 
+ */
+public class NodeSetConstraintCommand extends Command {
+
+    /** Stores the new size and location. */
+    private final Rectangle           newBounds;
+
+    /** Stores the old size and location. */
+    private Rectangle                 oldBounds;
+
+    /** A request to move/resize an edit part. */
+    private final ChangeBoundsRequest request;
+
+    /** BaseVertex to manipulate. */
+    private final BaseVertex          vertex;
+
+    /**
+     * Create a command that can resize and/or move a vertex.
+     *  
+     * @param vertex the vertex to manipulate
+     * @param req       the move request
+     * @param newBounds the new location. size is ignored
+     * @throws IllegalArgumentException if any of the parameters is null
+     */
+    public NodeSetConstraintCommand(BaseVertex vertex,
+                                    ChangeBoundsRequest req,
+                                    Rectangle newBounds) {
+        if ( vertex == null || req == null || newBounds == null ) {
+            throw new IllegalArgumentException();
+        }
+        this.vertex = vertex;
+        this.request = req;
+        this.newBounds = newBounds.getCopy();
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.commands.Command#canExecute()
+     */
+    public boolean canExecute() {
+        Object type = request.getType();
+        return (RequestConstants.REQ_MOVE.equals( type ) || RequestConstants.REQ_MOVE_CHILDREN.equals( type ));
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.commands.Command#execute()
+     */
+    public void execute() {
+        oldBounds = new Rectangle( vertex.getLocation(),
+                                   vertex.getSize() );
+        redo();
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.commands.Command#redo()
+     */
+    public void redo() {
+        vertex.setSize( newBounds.getSize() );
+        vertex.setLocation( newBounds.getLocation() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.commands.Command#undo()
+     */
+    public void undo() {
+        vertex.setSize( oldBounds.getSize() );
+        vertex.setLocation( oldBounds.getLocation() );
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,20 +0,0 @@
-package org.drools.eclipse.editors.rete.figure;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.swt.SWT;
-
-/**
- * ConnectionFigure between two Vertices. 
- *
- */
-public class ConnectionFigure extends PolylineConnection {
-
-    /**
-     * Painting antialiased connector
-     */
-    public void paint(Graphics g) {
-        g.setAntialias( SWT.ON );
-        super.paint( g );
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/ConnectionFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,20 @@
+package org.drools.eclipse.editors.rete.figure;
+
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.swt.SWT;
+
+/**
+ * ConnectionFigure between two Vertices. 
+ *
+ */
+public class ConnectionFigure extends PolylineConnection {
+
+    /**
+     * Painting antialiased connector
+     */
+    public void paint(Graphics g) {
+        g.setAntialias( SWT.ON );
+        super.paint( g );
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,54 +0,0 @@
-package org.drools.eclipse.editors.rete.figure;
-
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Figure representing BaseVertex
- *
- */
-public class VertexFigure extends Figure {
-
-    final private Color backgroundColor;
-    final private Color borderColor;
-
-    /**
-     * Initializing Figure
-     * 
-     * @param backgroundColor background color
-     * @param borderColor border color
-     */
-    public VertexFigure(Color backgroundColor,
-                        Color borderColor) {
-        this.backgroundColor = backgroundColor;
-        this.borderColor = borderColor;
-    }
-
-    /**
-     * Painting antialiased vertex
-     */
-    public void paint(Graphics g) {
-        g.setAntialias( SWT.ON );
-        Rectangle r = getBounds().getCopy();
-        g.translate( r.getLocation() );
-        g.setBackgroundColor( backgroundColor );
-        g.setForegroundColor( borderColor );
-        g.fillArc( 0,
-                   0,
-                   15,
-                   15,
-                   0,
-                   360 );
-        g.drawArc( 0,
-                   0,
-                   14,
-                   14,
-                   0,
-                   360 );
-        super.paint( g );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/figure/VertexFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,54 @@
+package org.drools.eclipse.editors.rete.figure;
+
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Figure representing BaseVertex
+ *
+ */
+public class VertexFigure extends Figure {
+
+    final private Color backgroundColor;
+    final private Color borderColor;
+
+    /**
+     * Initializing Figure
+     * 
+     * @param backgroundColor background color
+     * @param borderColor border color
+     */
+    public VertexFigure(Color backgroundColor,
+                        Color borderColor) {
+        this.backgroundColor = backgroundColor;
+        this.borderColor = borderColor;
+    }
+
+    /**
+     * Painting antialiased vertex
+     */
+    public void paint(Graphics g) {
+        g.setAntialias( SWT.ON );
+        Rectangle r = getBounds().getCopy();
+        g.translate( r.getLocation() );
+        g.setBackgroundColor( backgroundColor );
+        g.setForegroundColor( borderColor );
+        g.fillArc( 0,
+                   0,
+                   15,
+                   15,
+                   0,
+                   360 );
+        g.drawArc( 0,
+                   0,
+                   14,
+                   14,
+                   0,
+                   360 );
+        super.paint( g );
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,80 +0,0 @@
-package org.drools.eclipse.editors.rete.model;
-
-import org.drools.reteoo.BaseVertex;
-
-/**
- * A connection between two distinct vertices.
- */
-public class Connection extends ModelElement {
-
-    private boolean    isConnected;
-
-    private BaseVertex source;
-
-    private BaseVertex target;
-
-    /** 
-     * Creating a connection between two distinct vertices.
-     * 
-     * @param source a source endpoint
-     * @param target a target endpoint
-     * @throws IllegalArgumentException if any of the parameters are null or source == target
-     */
-    public Connection(BaseVertex source,
-                      BaseVertex target) {
-        this.source = source;
-        this.target = target;
-        source.addConnection( this );
-        target.addConnection( this );
-        isConnected = true;
-    }
-
-    /** 
-     * Disconnect this connection from the vertices it is attached to.
-     */
-    public void disconnect() {
-        if ( isConnected ) {
-            source.removeConnection( this );
-            target.removeConnection( this );
-            isConnected = false;
-        }
-    }
-
-    /**
-     * Returns the source endpoint of this connection.
-     * 
-     * @return BaseVertex vertex
-     */
-    public BaseVertex getSource() {
-        return source;
-    }
-
-    /**
-     * Returns the target endpoint of this connection.
-     * 
-     * @return BaseVertex vertex
-     */
-    public BaseVertex getTarget() {
-        return target;
-    }
-
-    /**
-     * Gets opposite of specified vertex.
-     * 
-     * Returning <code>null</code> if specified not does not belong into this connection.
-     * 
-     * @param vertex
-     * @return opposite of vertex
-     */
-    public BaseVertex getOpposite(BaseVertex vertex) {
-        // If null or not part of this connection
-        if ( vertex == null || (!vertex.equals( getSource() ) && !vertex.equals( getTarget() )) ) {
-            return null;
-        }
-        if ( vertex.equals( getSource() ) ) {
-            return getTarget();
-        }
-        return getSource();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/Connection.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,80 @@
+package org.drools.eclipse.editors.rete.model;
+
+import org.drools.reteoo.BaseVertex;
+
+/**
+ * A connection between two distinct vertices.
+ */
+public class Connection extends ModelElement {
+
+    private boolean    isConnected;
+
+    private BaseVertex source;
+
+    private BaseVertex target;
+
+    /** 
+     * Creating a connection between two distinct vertices.
+     * 
+     * @param source a source endpoint
+     * @param target a target endpoint
+     * @throws IllegalArgumentException if any of the parameters are null or source == target
+     */
+    public Connection(BaseVertex source,
+                      BaseVertex target) {
+        this.source = source;
+        this.target = target;
+        source.addConnection( this );
+        target.addConnection( this );
+        isConnected = true;
+    }
+
+    /** 
+     * Disconnect this connection from the vertices it is attached to.
+     */
+    public void disconnect() {
+        if ( isConnected ) {
+            source.removeConnection( this );
+            target.removeConnection( this );
+            isConnected = false;
+        }
+    }
+
+    /**
+     * Returns the source endpoint of this connection.
+     * 
+     * @return BaseVertex vertex
+     */
+    public BaseVertex getSource() {
+        return source;
+    }
+
+    /**
+     * Returns the target endpoint of this connection.
+     * 
+     * @return BaseVertex vertex
+     */
+    public BaseVertex getTarget() {
+        return target;
+    }
+
+    /**
+     * Gets opposite of specified vertex.
+     * 
+     * Returning <code>null</code> if specified not does not belong into this connection.
+     * 
+     * @param vertex
+     * @return opposite of vertex
+     */
+    public BaseVertex getOpposite(BaseVertex vertex) {
+        // If null or not part of this connection
+        if ( vertex == null || (!vertex.equals( getSource() ) && !vertex.equals( getTarget() )) ) {
+            return null;
+        }
+        if ( vertex.equals( getSource() ) ) {
+            return getTarget();
+        }
+        return getSource();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,287 +0,0 @@
-package org.drools.eclipse.editors.rete.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.spi.Constraint;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Visual vertex representation for ReteGraph.
- * 
- * Base impl for all rete vertices.
- * 
- * Can be connected with another BaseVertex with a Connector.
- * 
- * @author Ahti Kitsik
- * 
- */
-abstract public class GraphicalVertex extends ModelElement {
-
-    private static final String          VERTEX_NAME             = "BaseVertex ";
-
-    private static final String          WIDTH                   = "Width";
-
-    private static final String          HEIGHT                  = "Height";
-
-    private static IPropertyDescriptor[] descriptors;
-
-    /** ID for the Height property value (used for by the corresponding property descriptor). */
-    private static final String          HEIGHT_PROP             = VERTEX_NAME + "." + HEIGHT;
-
-    /** ID for the Width property value (used for by the corresponding property descriptor). */
-    private static final String          WIDTH_PROP              = VERTEX_NAME + "." + WIDTH;
-
-    /** Property ID to use when the location of this shape is modified. */
-    public static final String           LOCATION_PROP           = VERTEX_NAME + ".Location";
-
-    /** Property ID to use then the size of this shape is modified. */
-    public static final String           SIZE_PROP               = VERTEX_NAME + ".Size";
-
-    /** Property ID to use when the list of outgoing connections is modified. */
-    public static final String           SOURCE_CONNECTIONS_PROP = VERTEX_NAME + ".SourceConn";
-
-    /** Property ID to use when the list of incoming connections is modified. */
-    public static final String           TARGET_CONNECTIONS_PROP = VERTEX_NAME + ".TargetConn";
-
-    /** ID for the X property value (used for by the corresponding property descriptor).  */
-    private static final String          XPOS_PROP               = VERTEX_NAME + ".xPos";
-
-    /** ID for the Y property value (used for by the corresponding property descriptor).  */
-    private static final String          YPOS_PROP               = VERTEX_NAME + ".yPos";
-
-    /*
-     * Initializes the property descriptors array.
-     * @see #getPropertyDescriptors()
-     * @see #getPropertyValue(Object)
-     * @see #setPropertyValue(Object, Object)
-     */
-    static {
-        descriptors = new IPropertyDescriptor[]{new TextPropertyDescriptor( XPOS_PROP,
-                                                                            "X" ), // id and description pair
-            new TextPropertyDescriptor( YPOS_PROP,
-                                        "Y" ), new TextPropertyDescriptor( WIDTH_PROP,
-                                                                           WIDTH ), new TextPropertyDescriptor( HEIGHT_PROP,
-                                                                                                                HEIGHT ),};
-    } // static
-
-    /** Location of this vertex. */
-    private Point                        location                = new Point( 0,
-                                                                              0 );
-    /** Size of this vertex. */
-    private final static Dimension       size                    = new Dimension( 16,
-                                                                                  16 );
-    /** List of outgoing Connections. */
-    private List                         sourceConnections       = new ArrayList();
-    /** List of incoming Connections. */
-    private List                         targetConnections       = new ArrayList();
-
-    /**
-     * HTML formatted representation of this node
-     * 
-     * @return #getHtml
-     */
-    abstract public String getHtml();
-
-    /**
-     * Color used for filling vertex figure
-     * 
-     * @return color
-     */
-    abstract public Color getFillColor();
-
-    /**
-     * Add an incoming or outgoing connection to this vertex.
-     * @param conn a non-null connection instance
-     * @throws IllegalArgumentException if the connection is null or has not distinct endpoints
-     */
-    public void addConnection(Connection conn) {
-        if ( conn == null || conn.getSource() == conn.getTarget() ) {
-            throw new IllegalArgumentException();
-        }
-        if ( conn.getSource() == this ) {
-            sourceConnections.add( conn );
-            firePropertyChange( SOURCE_CONNECTIONS_PROP,
-                                null,
-                                conn );
-        } else if ( conn.getTarget() == this ) {
-            targetConnections.add( conn );
-            firePropertyChange( TARGET_CONNECTIONS_PROP,
-                                null,
-                                conn );
-        }
-    }
-
-    /**
-     * Return the Location of this vertex.
-     * 
-     * @return a non-null copy of location instance
-     */
-    public Point getLocation() {
-        return location.getCopy();
-    }
-
-    /**
-     * Returns an array of IPropertyDescriptors for this vertex.
-     * 
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    /**
-     * Return the property value for the given propertyId, or null.
-     */
-    public Object getPropertyValue(Object propertyId) {
-        if ( XPOS_PROP.equals( propertyId ) ) {
-            return Integer.toString( location.x );
-        }
-        if ( YPOS_PROP.equals( propertyId ) ) {
-            return Integer.toString( location.y );
-        }
-        if ( HEIGHT_PROP.equals( propertyId ) ) {
-            return Integer.toString( size.height );
-        }
-        if ( WIDTH_PROP.equals( propertyId ) ) {
-            return Integer.toString( size.width );
-        }
-        return null;
-    }
-
-    /**
-     * Return the Size of this vertex.
-     * @return a non-null copy of Dimension instance
-     */
-    public Dimension getSize() {
-        return size.getCopy();
-    }
-
-    /**
-     * Return a List of outgoing Connections.
-     */
-    public List getSourceConnections() {
-        return new ArrayList( sourceConnections );
-    }
-
-    /**
-     * Return a List of incoming Connections.
-     */
-    public List getTargetConnections() {
-        return new ArrayList( targetConnections );
-    }
-
-    /**
-     * Remove an incoming or outgoing connection from this vertex.
-     * 
-     * @param conn a non-null connection instance
-     * @throws IllegalArgumentException if the parameter is null
-     */
-    public void removeConnection(Connection conn) {
-        if ( conn == null ) {
-            throw new IllegalArgumentException();
-        }
-        if ( conn.getSource() == this ) {
-            sourceConnections.remove( conn );
-            firePropertyChange( SOURCE_CONNECTIONS_PROP,
-                                null,
-                                conn );
-        } else if ( conn.getTarget() == this ) {
-            targetConnections.remove( conn );
-            firePropertyChange( TARGET_CONNECTIONS_PROP,
-                                null,
-                                conn );
-        }
-    }
-
-    /**
-     * Set the Location of this vertex.
-     * @param newLocation a non-null Point instance
-     * @throws IllegalArgumentException if the parameter is null
-     */
-    public void setLocation(Point newLocation) {
-        if ( newLocation == null ) {
-            throw new IllegalArgumentException();
-        }
-        location.setLocation( newLocation );
-        firePropertyChange( LOCATION_PROP,
-                            null,
-                            location );
-    }
-
-    /**
-     * Set the property value for the given property id.
-     */
-    public void setPropertyValue(Object propertyId,
-                                 Object value) {
-        if ( XPOS_PROP.equals( propertyId ) ) {
-            int x = Integer.parseInt( (String) value );
-            setLocation( new Point( x,
-                                    location.y ) );
-        } else if ( YPOS_PROP.equals( propertyId ) ) {
-            int y = Integer.parseInt( (String) value );
-            setLocation( new Point( location.x,
-                                    y ) );
-        } else if ( HEIGHT_PROP.equals( propertyId ) ) {
-            int height = Integer.parseInt( (String) value );
-            setSize( new Dimension( size.width,
-                                    height ) );
-        } else if ( WIDTH_PROP.equals( propertyId ) ) {
-            int width = Integer.parseInt( (String) value );
-            setSize( new Dimension( width,
-                                    size.height ) );
-        }
-    }
-
-    /**
-     * Set the Size of this vertex.
-     * Will not update the size if newSize is null.
-     * @param newSize a non-null Dimension instance or null
-     */
-    public void setSize(Dimension newSize) {
-        if ( newSize != null ) {
-            size.setSize( newSize );
-            firePropertyChange( SIZE_PROP,
-                                null,
-                                size );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see java.lang.Object#toString()
-     */
-    public String toString() {
-        return VERTEX_NAME + hashCode();
-    }
-
-    /**
-     * Color used for borders
-     * 
-     * @return draw color
-     */
-    public Color getDrawColor() {
-        return ColorConstants.black;
-    }
-
-    /**
-     * Constructs constraints string
-     * 
-     * @param constraints array of constraints 
-     * @return html-formatted constraints representation
-     */
-    public static String dumpConstraints(final Constraint[] constraints) {
-        if ( constraints == null ) {
-            return null;
-        }
-        final StringBuffer buffer = new StringBuffer();
-        for ( int i = 0, length = constraints.length; i < length; i++ ) {
-            buffer.append( constraints[i].toString() + "<br>" );
-        }
-        return buffer.toString();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/GraphicalVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,287 @@
+package org.drools.eclipse.editors.rete.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.spi.Constraint;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * Visual vertex representation for ReteGraph.
+ * 
+ * Base impl for all rete vertices.
+ * 
+ * Can be connected with another BaseVertex with a Connector.
+ * 
+ * @author Ahti Kitsik
+ * 
+ */
+abstract public class GraphicalVertex extends ModelElement {
+
+    private static final String          VERTEX_NAME             = "BaseVertex ";
+
+    private static final String          WIDTH                   = "Width";
+
+    private static final String          HEIGHT                  = "Height";
+
+    private static IPropertyDescriptor[] descriptors;
+
+    /** ID for the Height property value (used for by the corresponding property descriptor). */
+    private static final String          HEIGHT_PROP             = VERTEX_NAME + "." + HEIGHT;
+
+    /** ID for the Width property value (used for by the corresponding property descriptor). */
+    private static final String          WIDTH_PROP              = VERTEX_NAME + "." + WIDTH;
+
+    /** Property ID to use when the location of this shape is modified. */
+    public static final String           LOCATION_PROP           = VERTEX_NAME + ".Location";
+
+    /** Property ID to use then the size of this shape is modified. */
+    public static final String           SIZE_PROP               = VERTEX_NAME + ".Size";
+
+    /** Property ID to use when the list of outgoing connections is modified. */
+    public static final String           SOURCE_CONNECTIONS_PROP = VERTEX_NAME + ".SourceConn";
+
+    /** Property ID to use when the list of incoming connections is modified. */
+    public static final String           TARGET_CONNECTIONS_PROP = VERTEX_NAME + ".TargetConn";
+
+    /** ID for the X property value (used for by the corresponding property descriptor).  */
+    private static final String          XPOS_PROP               = VERTEX_NAME + ".xPos";
+
+    /** ID for the Y property value (used for by the corresponding property descriptor).  */
+    private static final String          YPOS_PROP               = VERTEX_NAME + ".yPos";
+
+    /*
+     * Initializes the property descriptors array.
+     * @see #getPropertyDescriptors()
+     * @see #getPropertyValue(Object)
+     * @see #setPropertyValue(Object, Object)
+     */
+    static {
+        descriptors = new IPropertyDescriptor[]{new TextPropertyDescriptor( XPOS_PROP,
+                                                                            "X" ), // id and description pair
+            new TextPropertyDescriptor( YPOS_PROP,
+                                        "Y" ), new TextPropertyDescriptor( WIDTH_PROP,
+                                                                           WIDTH ), new TextPropertyDescriptor( HEIGHT_PROP,
+                                                                                                                HEIGHT ),};
+    } // static
+
+    /** Location of this vertex. */
+    private Point                        location                = new Point( 0,
+                                                                              0 );
+    /** Size of this vertex. */
+    private final static Dimension       size                    = new Dimension( 16,
+                                                                                  16 );
+    /** List of outgoing Connections. */
+    private List                         sourceConnections       = new ArrayList();
+    /** List of incoming Connections. */
+    private List                         targetConnections       = new ArrayList();
+
+    /**
+     * HTML formatted representation of this node
+     * 
+     * @return #getHtml
+     */
+    abstract public String getHtml();
+
+    /**
+     * Color used for filling vertex figure
+     * 
+     * @return color
+     */
+    abstract public Color getFillColor();
+
+    /**
+     * Add an incoming or outgoing connection to this vertex.
+     * @param conn a non-null connection instance
+     * @throws IllegalArgumentException if the connection is null or has not distinct endpoints
+     */
+    public void addConnection(Connection conn) {
+        if ( conn == null || conn.getSource() == conn.getTarget() ) {
+            throw new IllegalArgumentException();
+        }
+        if ( conn.getSource() == this ) {
+            sourceConnections.add( conn );
+            firePropertyChange( SOURCE_CONNECTIONS_PROP,
+                                null,
+                                conn );
+        } else if ( conn.getTarget() == this ) {
+            targetConnections.add( conn );
+            firePropertyChange( TARGET_CONNECTIONS_PROP,
+                                null,
+                                conn );
+        }
+    }
+
+    /**
+     * Return the Location of this vertex.
+     * 
+     * @return a non-null copy of location instance
+     */
+    public Point getLocation() {
+        return location.getCopy();
+    }
+
+    /**
+     * Returns an array of IPropertyDescriptors for this vertex.
+     * 
+     */
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    /**
+     * Return the property value for the given propertyId, or null.
+     */
+    public Object getPropertyValue(Object propertyId) {
+        if ( XPOS_PROP.equals( propertyId ) ) {
+            return Integer.toString( location.x );
+        }
+        if ( YPOS_PROP.equals( propertyId ) ) {
+            return Integer.toString( location.y );
+        }
+        if ( HEIGHT_PROP.equals( propertyId ) ) {
+            return Integer.toString( size.height );
+        }
+        if ( WIDTH_PROP.equals( propertyId ) ) {
+            return Integer.toString( size.width );
+        }
+        return null;
+    }
+
+    /**
+     * Return the Size of this vertex.
+     * @return a non-null copy of Dimension instance
+     */
+    public Dimension getSize() {
+        return size.getCopy();
+    }
+
+    /**
+     * Return a List of outgoing Connections.
+     */
+    public List getSourceConnections() {
+        return new ArrayList( sourceConnections );
+    }
+
+    /**
+     * Return a List of incoming Connections.
+     */
+    public List getTargetConnections() {
+        return new ArrayList( targetConnections );
+    }
+
+    /**
+     * Remove an incoming or outgoing connection from this vertex.
+     * 
+     * @param conn a non-null connection instance
+     * @throws IllegalArgumentException if the parameter is null
+     */
+    public void removeConnection(Connection conn) {
+        if ( conn == null ) {
+            throw new IllegalArgumentException();
+        }
+        if ( conn.getSource() == this ) {
+            sourceConnections.remove( conn );
+            firePropertyChange( SOURCE_CONNECTIONS_PROP,
+                                null,
+                                conn );
+        } else if ( conn.getTarget() == this ) {
+            targetConnections.remove( conn );
+            firePropertyChange( TARGET_CONNECTIONS_PROP,
+                                null,
+                                conn );
+        }
+    }
+
+    /**
+     * Set the Location of this vertex.
+     * @param newLocation a non-null Point instance
+     * @throws IllegalArgumentException if the parameter is null
+     */
+    public void setLocation(Point newLocation) {
+        if ( newLocation == null ) {
+            throw new IllegalArgumentException();
+        }
+        location.setLocation( newLocation );
+        firePropertyChange( LOCATION_PROP,
+                            null,
+                            location );
+    }
+
+    /**
+     * Set the property value for the given property id.
+     */
+    public void setPropertyValue(Object propertyId,
+                                 Object value) {
+        if ( XPOS_PROP.equals( propertyId ) ) {
+            int x = Integer.parseInt( (String) value );
+            setLocation( new Point( x,
+                                    location.y ) );
+        } else if ( YPOS_PROP.equals( propertyId ) ) {
+            int y = Integer.parseInt( (String) value );
+            setLocation( new Point( location.x,
+                                    y ) );
+        } else if ( HEIGHT_PROP.equals( propertyId ) ) {
+            int height = Integer.parseInt( (String) value );
+            setSize( new Dimension( size.width,
+                                    height ) );
+        } else if ( WIDTH_PROP.equals( propertyId ) ) {
+            int width = Integer.parseInt( (String) value );
+            setSize( new Dimension( width,
+                                    size.height ) );
+        }
+    }
+
+    /**
+     * Set the Size of this vertex.
+     * Will not update the size if newSize is null.
+     * @param newSize a non-null Dimension instance or null
+     */
+    public void setSize(Dimension newSize) {
+        if ( newSize != null ) {
+            size.setSize( newSize );
+            firePropertyChange( SIZE_PROP,
+                                null,
+                                size );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see java.lang.Object#toString()
+     */
+    public String toString() {
+        return VERTEX_NAME + hashCode();
+    }
+
+    /**
+     * Color used for borders
+     * 
+     * @return draw color
+     */
+    public Color getDrawColor() {
+        return ColorConstants.black;
+    }
+
+    /**
+     * Constructs constraints string
+     * 
+     * @param constraints array of constraints 
+     * @return html-formatted constraints representation
+     */
+    public static String dumpConstraints(final Constraint[] constraints) {
+        if ( constraints == null ) {
+            return null;
+        }
+        final StringBuffer buffer = new StringBuffer();
+        for ( int i = 0, length = constraints.length; i < length; i++ ) {
+            buffer.append( constraints[i].toString() + "<br>" );
+        }
+        return buffer.toString();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-package org.drools.eclipse.editors.rete.model;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-
-/**
- * Abstract prototype of a model element.
- */
-public abstract class ModelElement {
-
-    /** Delegate used to implemenent property-change-support. */
-    private transient PropertyChangeSupport pcsDelegate = new PropertyChangeSupport( this );
-
-    /** 
-     * Attach a non-null PropertyChangeListener to this object.
-     * 
-     * @param l a non-null PropertyChangeListener instance
-     * @throws IllegalArgumentException if the parameter is null
-     */
-    public synchronized void addPropertyChangeListener(PropertyChangeListener l) {
-        if ( l == null ) {
-            throw new IllegalArgumentException();
-        }
-        pcsDelegate.addPropertyChangeListener( l );
-    }
-
-    /** 
-     * Report a property change to registered listeners (for example edit parts).
-     * 
-     * @param property the programmatic name of the property that changed
-     * @param oldValue the old value of this property
-     * @param newValue the new value of this property
-     */
-    protected void firePropertyChange(String property,
-                                      Object oldValue,
-                                      Object newValue) {
-        if ( pcsDelegate.hasListeners( property ) ) {
-            pcsDelegate.firePropertyChange( property,
-                                            oldValue,
-                                            newValue );
-        }
-    }
-
-    /** 
-     * Remove a PropertyChangeListener from this component.
-     * 
-     * @param l a PropertyChangeListener instance
-     */
-    public synchronized void removePropertyChangeListener(PropertyChangeListener l) {
-        if ( l != null ) {
-            pcsDelegate.removePropertyChangeListener( l );
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ModelElement.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+package org.drools.eclipse.editors.rete.model;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+
+/**
+ * Abstract prototype of a model element.
+ */
+public abstract class ModelElement {
+
+    /** Delegate used to implemenent property-change-support. */
+    private transient PropertyChangeSupport pcsDelegate = new PropertyChangeSupport( this );
+
+    /** 
+     * Attach a non-null PropertyChangeListener to this object.
+     * 
+     * @param l a non-null PropertyChangeListener instance
+     * @throws IllegalArgumentException if the parameter is null
+     */
+    public synchronized void addPropertyChangeListener(PropertyChangeListener l) {
+        if ( l == null ) {
+            throw new IllegalArgumentException();
+        }
+        pcsDelegate.addPropertyChangeListener( l );
+    }
+
+    /** 
+     * Report a property change to registered listeners (for example edit parts).
+     * 
+     * @param property the programmatic name of the property that changed
+     * @param oldValue the old value of this property
+     * @param newValue the new value of this property
+     */
+    protected void firePropertyChange(String property,
+                                      Object oldValue,
+                                      Object newValue) {
+        if ( pcsDelegate.hasListeners( property ) ) {
+            pcsDelegate.firePropertyChange( property,
+                                            oldValue,
+                                            newValue );
+        }
+    }
+
+    /** 
+     * Remove a PropertyChangeListener from this component.
+     * 
+     * @param l a PropertyChangeListener instance
+     */
+    public synchronized void removePropertyChangeListener(PropertyChangeListener l) {
+        if ( l != null ) {
+            pcsDelegate.removePropertyChangeListener( l );
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,79 +0,0 @@
-package org.drools.eclipse.editors.rete.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.reteoo.BaseVertex;
-
-/**
- * Rete graph containing a set of vertices that form the graph itself.
- */
-public class ReteGraph extends ModelElement {
-
-    /** Property ID to use when a child is added to this diagram. */
-    public static final String PROP_CHILD_ADDED   = "ReteGraph.ChildAdded";
-
-    /** Property ID to use when a child is removed from this diagram. */
-    public static final String PROP_CHILD_REMOVED = "ReteGraph.ChildRemoved";
-
-    private List               vertices           = new ArrayList();
-
-    /** 
-     * Add new BaseVertex to the graph
-     * 
-     * @param vertex
-     * 
-     * @return true, if vertex was added, false otherwise
-     */
-    public boolean addChild(BaseVertex vertex) {
-        if ( vertex != null && vertices.add( vertex ) ) {
-            firePropertyChange( PROP_CHILD_ADDED,
-                                null,
-                                vertex );
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Return all Vertices in this graph
-     */
-    public List getChildren() {
-        return vertices;
-    }
-
-    /**
-     * Remove a vertex from this graph
-     * 
-     * @param vertex vertex to be removed
-     * @return true, if the vertex removal succeeded, false otherwise
-     */
-    public boolean removeChild(BaseVertex vertex) {
-        if ( vertex != null && vertices.remove( vertex ) ) {
-            firePropertyChange( PROP_CHILD_REMOVED,
-                                null,
-                                vertex );
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Removes all vertices from graph.
-     */
-    public void removeAll() {
-        while ( vertices.size() > 0 ) {
-            removeChild( ((BaseVertex) vertices.get( 0 )) );
-        }
-    }
-
-    public void addAll(List children) {
-        final Iterator iter = children.iterator();
-        while ( iter.hasNext() ) {
-            BaseVertex vertex = (BaseVertex) iter.next();
-            addChild( vertex );
-        }
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/ReteGraph.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,79 @@
+package org.drools.eclipse.editors.rete.model;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.reteoo.BaseVertex;
+
+/**
+ * Rete graph containing a set of vertices that form the graph itself.
+ */
+public class ReteGraph extends ModelElement {
+
+    /** Property ID to use when a child is added to this diagram. */
+    public static final String PROP_CHILD_ADDED   = "ReteGraph.ChildAdded";
+
+    /** Property ID to use when a child is removed from this diagram. */
+    public static final String PROP_CHILD_REMOVED = "ReteGraph.ChildRemoved";
+
+    private List               vertices           = new ArrayList();
+
+    /** 
+     * Add new BaseVertex to the graph
+     * 
+     * @param vertex
+     * 
+     * @return true, if vertex was added, false otherwise
+     */
+    public boolean addChild(BaseVertex vertex) {
+        if ( vertex != null && vertices.add( vertex ) ) {
+            firePropertyChange( PROP_CHILD_ADDED,
+                                null,
+                                vertex );
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * Return all Vertices in this graph
+     */
+    public List getChildren() {
+        return vertices;
+    }
+
+    /**
+     * Remove a vertex from this graph
+     * 
+     * @param vertex vertex to be removed
+     * @return true, if the vertex removal succeeded, false otherwise
+     */
+    public boolean removeChild(BaseVertex vertex) {
+        if ( vertex != null && vertices.remove( vertex ) ) {
+            firePropertyChange( PROP_CHILD_REMOVED,
+                                null,
+                                vertex );
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * Removes all vertices from graph.
+     */
+    public void removeAll() {
+        while ( vertices.size() > 0 ) {
+            removeChild( ((BaseVertex) vertices.get( 0 )) );
+        }
+    }
+
+    public void addAll(List children) {
+        final Iterator iter = children.iterator();
+        while ( iter.hasNext() ) {
+            BaseVertex vertex = (BaseVertex) iter.next();
+            addChild( vertex );
+        }
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,501 +0,0 @@
-package org.drools.eclipse.editors.rete.model;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.reteoo.AccumulateNodeVertex;
-import org.drools.reteoo.AlphaNodeVertex;
-import org.drools.reteoo.BaseVertex;
-import org.drools.reteoo.CollectNodeVertex;
-import org.drools.reteoo.EvalConditionNodeVertex;
-import org.drools.reteoo.ExistsNodeVertex;
-import org.drools.reteoo.FromNodeVertex;
-import org.drools.reteoo.JoinNodeVertex;
-import org.drools.reteoo.LeftInputAdapterNodeVertex;
-import org.drools.reteoo.NotNodeVertex;
-import org.drools.reteoo.ObjectTypeNodeVertex;
-import org.drools.reteoo.QueryTerminalNodeVertex;
-import org.drools.reteoo.ReteVertex;
-import org.drools.reteoo.RightInputAdapterNodeVertex;
-import org.drools.reteoo.RuleTerminalNodeVertex;
-import org.drools.spi.Constraint;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Providing IPropertySource for property sheets that show
- * rete graph vertex properties.
- * 
- */
-public class VertexPropertySource
-    implements
-    IPropertySource {
-
-    private static final String       VERTEX_FROM                = "From BaseVertex";
-
-    private static final String       VERTEX_ACCUMULATE          = "Accumulate BaseVertex";
-
-    private static final String       VERTEX_COLLECT             = "Collect BaseVertex";
-
-    private static final String       VERTEX_EXISTS              = "Exists BaseVertex";
-
-    private static final String       VERTEX_TERMINAL            = "Terminal BaseVertex";
-
-    private static final String       VERTEX_QUERY_TERMINAL      = "Query Terminal BaseVertex";
-
-    private static final String       VERTEX_EVAL_CONDITION      = "Eval Condition BaseVertex";
-
-    private static final String       VERTEX_NOT                 = "Not BaseVertex";
-
-    private static final String       VERTEX_JOIN                = "Join BaseVertex";
-
-    private static final String       VERTEX_RIGHT_INPUT_ADAPTER = "Right Input Adapter BaseVertex";
-
-    private static final String       VERTEX_LEFT_INPUT_ADAPTER  = "Left Input Adapter BaseVertex";
-
-    private static final String       VERTEX_ALPHA               = "Alpha BaseVertex";
-
-    private static final String       VERTEX_OBJECT_TYPE         = "Object Type BaseVertex";
-
-    private static final String       VERTEX_RETE                = "Rete BaseVertex";
-
-    private static final String       CONSTRAINT_CAP             = "Constraint";
-
-    private static final String       CONSTRAINT                 = "constraint";
-
-    public String                     ID_ROOT                    = "vertex";                               //$NON-NLS-1$
-
-    public String                     ID_ID                      = "id";                                   //$NON-NLS-1$
-    public String                     ID_HTML                    = "html";                                 //$NON-NLS-1$
-
-    private IPropertyDescriptor[]     descriptors;
-
-    private final IPropertyDescriptor PROP_NAME                  = new PropertyDescriptor( "name",
-                                                                                           "Name" );
-    private final IPropertyDescriptor PROP_ID                    = new PropertyDescriptor( "id",
-                                                                                           "ID" );
-    private final IPropertyDescriptor PROP_RULE                  = new PropertyDescriptor( "rule",
-                                                                                           "Rule" );
-
-    private final IPropertyDescriptor PROP_QUERY                 = new PropertyDescriptor( "query",
-                                                                                           "Query" );
-    // Alpha-specific
-    private final IPropertyDescriptor PROP_ALPHA_FIELD_NAME      = new PropertyDescriptor( "fieldName",
-                                                                                           "Field Name" );
-    private final IPropertyDescriptor PROP_ALPHA_EVALUATOR       = new PropertyDescriptor( "evaluator",
-                                                                                           "Evaluator" );
-    private final IPropertyDescriptor PROP_ALPHA_VALUE           = new PropertyDescriptor( "value",
-                                                                                           "Value" );
-
-    // ObjectType specific
-    private final IPropertyDescriptor PROP_OBJ_TYPE              = new PropertyDescriptor( "objectType",
-                                                                                           "Object Type" );
-
-    private final static String       CAT_GENERAL                = "General";
-    private final static String       CAT_OTHER                  = "Other";
-
-    protected BaseVertex              vertex                     = null;
-
-    // Map<String,NodeValue>
-    private Map                       values                     = new HashMap();
-
-    /**
-     * Constructor initializing properties from <code>vertex</code>
-     * 
-     * @param vertex source vertex for this property source
-     */
-    public VertexPropertySource(BaseVertex vertex) {
-        this.vertex = vertex;
-
-        initProperties( vertex );
-    }
-
-    final private void initProperties(BaseVertex vertex) {
-
-        List descriptorList = new ArrayList();
-
-        if ( vertex instanceof ExistsNodeVertex ) {
-            initExistsNodeProperties( (ExistsNodeVertex) vertex,
-                                      descriptorList,
-                                      values );
-        } else if ( vertex instanceof FromNodeVertex ) {
-            initFromNodeProperties( (FromNodeVertex) vertex,
-                                    descriptorList,
-                                    values );
-        } else if ( vertex instanceof AccumulateNodeVertex ) {
-            initAccumulateNodeProperties( (AccumulateNodeVertex) vertex,
-                                          descriptorList,
-                                          values );
-        } else if ( vertex instanceof CollectNodeVertex ) {
-            initCollectNodeProperties( (CollectNodeVertex) vertex,
-                                       descriptorList,
-                                       values );
-        } else if ( vertex instanceof RuleTerminalNodeVertex ) {
-            initTerminalNodeProperties( (RuleTerminalNodeVertex) vertex,
-                    descriptorList,
-                    values );
-    	} else if ( vertex instanceof QueryTerminalNodeVertex ) {
-            initQueryTerminalNodeProperties( (QueryTerminalNodeVertex) vertex,
-                    descriptorList,
-                    values );
-    	} else if ( vertex instanceof EvalConditionNodeVertex ) {
-            initEvalConditionNodeProperties( (EvalConditionNodeVertex) vertex,
-                                             descriptorList,
-                                             values );
-        } else if ( vertex instanceof NotNodeVertex ) {
-            initNotNodeProperties( (NotNodeVertex) vertex,
-                                   descriptorList,
-                                   values );
-        } else if ( vertex instanceof JoinNodeVertex ) {
-            initJoinNodeProperties( (JoinNodeVertex) vertex,
-                                    descriptorList,
-                                    values );
-        } else if ( vertex instanceof RightInputAdapterNodeVertex ) {
-            initRightInputAdapterNodeProperties( descriptorList,
-                                                 values );
-        } else if ( vertex instanceof LeftInputAdapterNodeVertex ) {
-            initLeftInputAdapterNodeProperties( (LeftInputAdapterNodeVertex) vertex,
-                                                descriptorList,
-                                                values );
-        } else if ( vertex instanceof AlphaNodeVertex ) {
-            initAlphaNodeProperties( (AlphaNodeVertex) vertex,
-                                     descriptorList,
-                                     values );
-        } else if ( vertex instanceof ObjectTypeNodeVertex ) {
-            initObjectTypeNodeProperties( (ObjectTypeNodeVertex) vertex,
-                                          descriptorList,
-                                          values );
-        } else if ( vertex instanceof ReteVertex ) {
-            initReteNodeProperties( (ReteVertex) vertex,
-                                    descriptorList,
-                                    values );
-        }
-
-        descriptors = (IPropertyDescriptor[]) descriptorList.toArray( new IPropertyDescriptor[0] );
-    }
-
-    private void initExistsNodeProperties(ExistsNodeVertex vertex,
-                                          List descriptorList,
-                                          Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_EXISTS,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initCollectNodeProperties(CollectNodeVertex vertex,
-                                           List descriptorList,
-                                           Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_COLLECT,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initAccumulateNodeProperties(AccumulateNodeVertex vertex,
-                                              List descriptorList,
-                                              Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_ACCUMULATE,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initFromNodeProperties(FromNodeVertex vertex,
-                                        List descriptorList,
-                                        Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_FROM,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initReteNodeProperties(ReteVertex vertex,
-                                        List descriptorList,
-                                        Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_RETE,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initObjectTypeNodeProperties(ObjectTypeNodeVertex vertex,
-                                              List descriptorList,
-                                              Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_OBJECT_TYPE,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_OBJ_TYPE,
-                     vertex.getObjectType(),
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initAlphaNodeProperties(AlphaNodeVertex vertex,
-                                         List descriptorList,
-                                         Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_ALPHA,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ALPHA_FIELD_NAME,
-                     vertex.getFieldName(),
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ALPHA_EVALUATOR,
-                     vertex.getEvaluator(),
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ALPHA_VALUE,
-                     vertex.getValue(),
-                     descriptorList,
-                     valueMap );
-
-        Constraint constraint = vertex.getConstraint();
-        if ( constraint == null ) {
-            return;
-        }
-        IPropertyDescriptor prop = new PropertyDescriptor( CONSTRAINT,
-                                                           CONSTRAINT_CAP );
-        addProperty( prop,
-                     constraint.toString(),
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initLeftInputAdapterNodeProperties(LeftInputAdapterNodeVertex vertex,
-                                                    List descriptorList,
-                                                    Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_LEFT_INPUT_ADAPTER,
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initRightInputAdapterNodeProperties(List descriptorList,
-                                                     Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_RIGHT_INPUT_ADAPTER,
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initJoinNodeProperties(JoinNodeVertex vertex,
-                                        List descriptorList,
-                                        Map valueMap) {
-
-        addProperty( PROP_NAME,
-                     VERTEX_JOIN,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-
-        Constraint[] constraints = vertex.getConstraints();
-
-        if ( constraints == null ) {
-            return;
-        }
-
-        for ( int i = 0, length = constraints.length; i < length; i++ ) {
-            PropertyDescriptor prop = new PropertyDescriptor( CONSTRAINT + (i + 1),
-                                                              CONSTRAINT_CAP + " " + (i + 1) );
-            addOther( prop,
-                      constraints[i].toString(),
-                      descriptorList,
-                      valueMap );
-        }
-
-    }
-
-    private void initNotNodeProperties(NotNodeVertex vertex,
-                                       List descriptorList,
-                                       Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_NOT,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initEvalConditionNodeProperties(EvalConditionNodeVertex vertex,
-                                                 List descriptorList,
-                                                 Map valueMap) {
-        addProperty( PROP_NAME,
-                     VERTEX_EVAL_CONDITION,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( vertex.getId() ),
-                     descriptorList,
-                     valueMap );
-    }
-
-    private void initTerminalNodeProperties(RuleTerminalNodeVertex node,
-                                            List descriptorList,
-                                            Map valueMap) {
-
-        addProperty( PROP_NAME,
-                     VERTEX_TERMINAL,
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_ID,
-                     Integer.toString( node.getId() ),
-                     descriptorList,
-                     valueMap );
-        addProperty( PROP_RULE,
-                     node.getRuleName(),
-                     descriptorList,
-                     valueMap );
-
-    }
-
-    private void initQueryTerminalNodeProperties(QueryTerminalNodeVertex node,
-		            List descriptorList,
-		            Map valueMap) {
-		
-		addProperty( PROP_NAME,
-				     VERTEX_QUERY_TERMINAL,
-                     descriptorList,
-                     valueMap );
-		addProperty( PROP_ID,
-                     Integer.toString( node.getId() ),
-                     descriptorList,
-		             valueMap );
-		addProperty( PROP_QUERY,
-		             node.getQueryName(),
-		             descriptorList,
-		             valueMap );
-		
-	}
-
-    private void addProperty(IPropertyDescriptor field,
-                             String value,
-                             List descriptorList,
-                             Map valueMap) {
-        descriptorList.add( field );
-        valueMap.put( field.getId().toString(),
-                      new NodeValue( CAT_GENERAL,
-                                     value ) );
-        if ( field instanceof PropertyDescriptor ) {
-            ((PropertyDescriptor) field).setAlwaysIncompatible( true );
-            ((PropertyDescriptor) field).setCategory( CAT_GENERAL );
-        }
-
-    }
-
-    private void addOther(IPropertyDescriptor field,
-                          String value,
-                          List descriptorList,
-                          Map valueMap) {
-        descriptorList.add( field );
-        valueMap.put( field.getId().toString(),
-                      new NodeValue( CAT_OTHER,
-                                     value ) );
-
-        if ( field instanceof PropertyDescriptor ) {
-            ((PropertyDescriptor) field).setAlwaysIncompatible( true );
-            ((PropertyDescriptor) field).setCategory( CAT_OTHER );
-        }
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-     */
-    public Object getEditableValue() {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-     */
-    public Object getPropertyValue(Object propName) {
-        return getPropertyValue( (String) propName );
-    }
-
-    /**
-     * Property value.
-     * 
-     * @param propName
-     * @return
-     */
-    public Object getPropertyValue(String propName) {
-        return ((NodeValue) (values.get( propName ))).value;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-     */
-    public void setPropertyValue(Object propName,
-                                 Object value) {
-        setPropertyValue( propName,
-                          value );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    /**
-     * Doing nothing as resetting properties from property sheet is not possible.
-     */
-    public void resetPropertyValue(Object propName) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-     */
-    public boolean isPropertySet(Object propName) {
-        return values.containsKey( propName );
-    }
-
-    private class NodeValue {
-        final String category;
-        final String value;
-
-        NodeValue(String category,
-                  String value) {
-            this.category = category;
-            this.value = value;
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/model/VertexPropertySource.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,501 @@
+package org.drools.eclipse.editors.rete.model;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.reteoo.AccumulateNodeVertex;
+import org.drools.reteoo.AlphaNodeVertex;
+import org.drools.reteoo.BaseVertex;
+import org.drools.reteoo.CollectNodeVertex;
+import org.drools.reteoo.EvalConditionNodeVertex;
+import org.drools.reteoo.ExistsNodeVertex;
+import org.drools.reteoo.FromNodeVertex;
+import org.drools.reteoo.JoinNodeVertex;
+import org.drools.reteoo.LeftInputAdapterNodeVertex;
+import org.drools.reteoo.NotNodeVertex;
+import org.drools.reteoo.ObjectTypeNodeVertex;
+import org.drools.reteoo.QueryTerminalNodeVertex;
+import org.drools.reteoo.ReteVertex;
+import org.drools.reteoo.RightInputAdapterNodeVertex;
+import org.drools.reteoo.RuleTerminalNodeVertex;
+import org.drools.spi.Constraint;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+/**
+ * Providing IPropertySource for property sheets that show
+ * rete graph vertex properties.
+ * 
+ */
+public class VertexPropertySource
+    implements
+    IPropertySource {
+
+    private static final String       VERTEX_FROM                = "From BaseVertex";
+
+    private static final String       VERTEX_ACCUMULATE          = "Accumulate BaseVertex";
+
+    private static final String       VERTEX_COLLECT             = "Collect BaseVertex";
+
+    private static final String       VERTEX_EXISTS              = "Exists BaseVertex";
+
+    private static final String       VERTEX_TERMINAL            = "Terminal BaseVertex";
+
+    private static final String       VERTEX_QUERY_TERMINAL      = "Query Terminal BaseVertex";
+
+    private static final String       VERTEX_EVAL_CONDITION      = "Eval Condition BaseVertex";
+
+    private static final String       VERTEX_NOT                 = "Not BaseVertex";
+
+    private static final String       VERTEX_JOIN                = "Join BaseVertex";
+
+    private static final String       VERTEX_RIGHT_INPUT_ADAPTER = "Right Input Adapter BaseVertex";
+
+    private static final String       VERTEX_LEFT_INPUT_ADAPTER  = "Left Input Adapter BaseVertex";
+
+    private static final String       VERTEX_ALPHA               = "Alpha BaseVertex";
+
+    private static final String       VERTEX_OBJECT_TYPE         = "Object Type BaseVertex";
+
+    private static final String       VERTEX_RETE                = "Rete BaseVertex";
+
+    private static final String       CONSTRAINT_CAP             = "Constraint";
+
+    private static final String       CONSTRAINT                 = "constraint";
+
+    public String                     ID_ROOT                    = "vertex";                               //$NON-NLS-1$
+
+    public String                     ID_ID                      = "id";                                   //$NON-NLS-1$
+    public String                     ID_HTML                    = "html";                                 //$NON-NLS-1$
+
+    private IPropertyDescriptor[]     descriptors;
+
+    private final IPropertyDescriptor PROP_NAME                  = new PropertyDescriptor( "name",
+                                                                                           "Name" );
+    private final IPropertyDescriptor PROP_ID                    = new PropertyDescriptor( "id",
+                                                                                           "ID" );
+    private final IPropertyDescriptor PROP_RULE                  = new PropertyDescriptor( "rule",
+                                                                                           "Rule" );
+
+    private final IPropertyDescriptor PROP_QUERY                 = new PropertyDescriptor( "query",
+                                                                                           "Query" );
+    // Alpha-specific
+    private final IPropertyDescriptor PROP_ALPHA_FIELD_NAME      = new PropertyDescriptor( "fieldName",
+                                                                                           "Field Name" );
+    private final IPropertyDescriptor PROP_ALPHA_EVALUATOR       = new PropertyDescriptor( "evaluator",
+                                                                                           "Evaluator" );
+    private final IPropertyDescriptor PROP_ALPHA_VALUE           = new PropertyDescriptor( "value",
+                                                                                           "Value" );
+
+    // ObjectType specific
+    private final IPropertyDescriptor PROP_OBJ_TYPE              = new PropertyDescriptor( "objectType",
+                                                                                           "Object Type" );
+
+    private final static String       CAT_GENERAL                = "General";
+    private final static String       CAT_OTHER                  = "Other";
+
+    protected BaseVertex              vertex                     = null;
+
+    // Map<String,NodeValue>
+    private Map                       values                     = new HashMap();
+
+    /**
+     * Constructor initializing properties from <code>vertex</code>
+     * 
+     * @param vertex source vertex for this property source
+     */
+    public VertexPropertySource(BaseVertex vertex) {
+        this.vertex = vertex;
+
+        initProperties( vertex );
+    }
+
+    final private void initProperties(BaseVertex vertex) {
+
+        List descriptorList = new ArrayList();
+
+        if ( vertex instanceof ExistsNodeVertex ) {
+            initExistsNodeProperties( (ExistsNodeVertex) vertex,
+                                      descriptorList,
+                                      values );
+        } else if ( vertex instanceof FromNodeVertex ) {
+            initFromNodeProperties( (FromNodeVertex) vertex,
+                                    descriptorList,
+                                    values );
+        } else if ( vertex instanceof AccumulateNodeVertex ) {
+            initAccumulateNodeProperties( (AccumulateNodeVertex) vertex,
+                                          descriptorList,
+                                          values );
+        } else if ( vertex instanceof CollectNodeVertex ) {
+            initCollectNodeProperties( (CollectNodeVertex) vertex,
+                                       descriptorList,
+                                       values );
+        } else if ( vertex instanceof RuleTerminalNodeVertex ) {
+            initTerminalNodeProperties( (RuleTerminalNodeVertex) vertex,
+                    descriptorList,
+                    values );
+    	} else if ( vertex instanceof QueryTerminalNodeVertex ) {
+            initQueryTerminalNodeProperties( (QueryTerminalNodeVertex) vertex,
+                    descriptorList,
+                    values );
+    	} else if ( vertex instanceof EvalConditionNodeVertex ) {
+            initEvalConditionNodeProperties( (EvalConditionNodeVertex) vertex,
+                                             descriptorList,
+                                             values );
+        } else if ( vertex instanceof NotNodeVertex ) {
+            initNotNodeProperties( (NotNodeVertex) vertex,
+                                   descriptorList,
+                                   values );
+        } else if ( vertex instanceof JoinNodeVertex ) {
+            initJoinNodeProperties( (JoinNodeVertex) vertex,
+                                    descriptorList,
+                                    values );
+        } else if ( vertex instanceof RightInputAdapterNodeVertex ) {
+            initRightInputAdapterNodeProperties( descriptorList,
+                                                 values );
+        } else if ( vertex instanceof LeftInputAdapterNodeVertex ) {
+            initLeftInputAdapterNodeProperties( (LeftInputAdapterNodeVertex) vertex,
+                                                descriptorList,
+                                                values );
+        } else if ( vertex instanceof AlphaNodeVertex ) {
+            initAlphaNodeProperties( (AlphaNodeVertex) vertex,
+                                     descriptorList,
+                                     values );
+        } else if ( vertex instanceof ObjectTypeNodeVertex ) {
+            initObjectTypeNodeProperties( (ObjectTypeNodeVertex) vertex,
+                                          descriptorList,
+                                          values );
+        } else if ( vertex instanceof ReteVertex ) {
+            initReteNodeProperties( (ReteVertex) vertex,
+                                    descriptorList,
+                                    values );
+        }
+
+        descriptors = (IPropertyDescriptor[]) descriptorList.toArray( new IPropertyDescriptor[0] );
+    }
+
+    private void initExistsNodeProperties(ExistsNodeVertex vertex,
+                                          List descriptorList,
+                                          Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_EXISTS,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initCollectNodeProperties(CollectNodeVertex vertex,
+                                           List descriptorList,
+                                           Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_COLLECT,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initAccumulateNodeProperties(AccumulateNodeVertex vertex,
+                                              List descriptorList,
+                                              Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_ACCUMULATE,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initFromNodeProperties(FromNodeVertex vertex,
+                                        List descriptorList,
+                                        Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_FROM,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initReteNodeProperties(ReteVertex vertex,
+                                        List descriptorList,
+                                        Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_RETE,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initObjectTypeNodeProperties(ObjectTypeNodeVertex vertex,
+                                              List descriptorList,
+                                              Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_OBJECT_TYPE,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_OBJ_TYPE,
+                     vertex.getObjectType(),
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initAlphaNodeProperties(AlphaNodeVertex vertex,
+                                         List descriptorList,
+                                         Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_ALPHA,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ALPHA_FIELD_NAME,
+                     vertex.getFieldName(),
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ALPHA_EVALUATOR,
+                     vertex.getEvaluator(),
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ALPHA_VALUE,
+                     vertex.getValue(),
+                     descriptorList,
+                     valueMap );
+
+        Constraint constraint = vertex.getConstraint();
+        if ( constraint == null ) {
+            return;
+        }
+        IPropertyDescriptor prop = new PropertyDescriptor( CONSTRAINT,
+                                                           CONSTRAINT_CAP );
+        addProperty( prop,
+                     constraint.toString(),
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initLeftInputAdapterNodeProperties(LeftInputAdapterNodeVertex vertex,
+                                                    List descriptorList,
+                                                    Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_LEFT_INPUT_ADAPTER,
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initRightInputAdapterNodeProperties(List descriptorList,
+                                                     Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_RIGHT_INPUT_ADAPTER,
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initJoinNodeProperties(JoinNodeVertex vertex,
+                                        List descriptorList,
+                                        Map valueMap) {
+
+        addProperty( PROP_NAME,
+                     VERTEX_JOIN,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+
+        Constraint[] constraints = vertex.getConstraints();
+
+        if ( constraints == null ) {
+            return;
+        }
+
+        for ( int i = 0, length = constraints.length; i < length; i++ ) {
+            PropertyDescriptor prop = new PropertyDescriptor( CONSTRAINT + (i + 1),
+                                                              CONSTRAINT_CAP + " " + (i + 1) );
+            addOther( prop,
+                      constraints[i].toString(),
+                      descriptorList,
+                      valueMap );
+        }
+
+    }
+
+    private void initNotNodeProperties(NotNodeVertex vertex,
+                                       List descriptorList,
+                                       Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_NOT,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initEvalConditionNodeProperties(EvalConditionNodeVertex vertex,
+                                                 List descriptorList,
+                                                 Map valueMap) {
+        addProperty( PROP_NAME,
+                     VERTEX_EVAL_CONDITION,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( vertex.getId() ),
+                     descriptorList,
+                     valueMap );
+    }
+
+    private void initTerminalNodeProperties(RuleTerminalNodeVertex node,
+                                            List descriptorList,
+                                            Map valueMap) {
+
+        addProperty( PROP_NAME,
+                     VERTEX_TERMINAL,
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_ID,
+                     Integer.toString( node.getId() ),
+                     descriptorList,
+                     valueMap );
+        addProperty( PROP_RULE,
+                     node.getRuleName(),
+                     descriptorList,
+                     valueMap );
+
+    }
+
+    private void initQueryTerminalNodeProperties(QueryTerminalNodeVertex node,
+		            List descriptorList,
+		            Map valueMap) {
+		
+		addProperty( PROP_NAME,
+				     VERTEX_QUERY_TERMINAL,
+                     descriptorList,
+                     valueMap );
+		addProperty( PROP_ID,
+                     Integer.toString( node.getId() ),
+                     descriptorList,
+		             valueMap );
+		addProperty( PROP_QUERY,
+		             node.getQueryName(),
+		             descriptorList,
+		             valueMap );
+		
+	}
+
+    private void addProperty(IPropertyDescriptor field,
+                             String value,
+                             List descriptorList,
+                             Map valueMap) {
+        descriptorList.add( field );
+        valueMap.put( field.getId().toString(),
+                      new NodeValue( CAT_GENERAL,
+                                     value ) );
+        if ( field instanceof PropertyDescriptor ) {
+            ((PropertyDescriptor) field).setAlwaysIncompatible( true );
+            ((PropertyDescriptor) field).setCategory( CAT_GENERAL );
+        }
+
+    }
+
+    private void addOther(IPropertyDescriptor field,
+                          String value,
+                          List descriptorList,
+                          Map valueMap) {
+        descriptorList.add( field );
+        valueMap.put( field.getId().toString(),
+                      new NodeValue( CAT_OTHER,
+                                     value ) );
+
+        if ( field instanceof PropertyDescriptor ) {
+            ((PropertyDescriptor) field).setAlwaysIncompatible( true );
+            ((PropertyDescriptor) field).setCategory( CAT_OTHER );
+        }
+
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
+     */
+    public Object getEditableValue() {
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
+     */
+    public Object getPropertyValue(Object propName) {
+        return getPropertyValue( (String) propName );
+    }
+
+    /**
+     * Property value.
+     * 
+     * @param propName
+     * @return
+     */
+    public Object getPropertyValue(String propName) {
+        return ((NodeValue) (values.get( propName ))).value;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
+     */
+    public void setPropertyValue(Object propName,
+                                 Object value) {
+        setPropertyValue( propName,
+                          value );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
+     */
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    /**
+     * Doing nothing as resetting properties from property sheet is not possible.
+     */
+    public void resetPropertyValue(Object propName) {
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
+     */
+    public boolean isPropertySet(Object propName) {
+        return values.containsKey( propName );
+    }
+
+    private class NodeValue {
+        final String category;
+        final String value;
+
+        NodeValue(String category,
+                  String value) {
+            this.category = category;
+            this.value = value;
+        }
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,82 +0,0 @@
-/*
- * Copyright 2006 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.
- */
-package org.drools.eclipse.editors.rete.part;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import org.drools.eclipse.editors.rete.figure.ConnectionFigure;
-import org.drools.eclipse.editors.rete.model.ModelElement;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.draw2d.PolylineDecoration;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.editparts.AbstractConnectionEditPart;
-import org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy;
-
-/**
- * Edit part for Connection model elements.
- */
-class ConnectionEditPart extends AbstractConnectionEditPart
-    implements
-    PropertyChangeListener {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
-     */
-    public void activate() {
-        if ( !isActive() ) {
-            super.activate();
-            ((ModelElement) getModel()).addPropertyChangeListener( this );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
-     */
-    protected void createEditPolicies() {
-        installEditPolicy( EditPolicy.CONNECTION_ENDPOINTS_ROLE,
-                           new ConnectionEndpointEditPolicy() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
-     */
-    protected IFigure createFigure() {
-        PolylineConnection connection = new ConnectionFigure();
-        PolylineDecoration decoration = new PolylineDecoration();
-        connection.setTargetDecoration( decoration );
-        return connection;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
-     */
-    public void deactivate() {
-        if ( isActive() ) {
-            super.deactivate();
-            ((ModelElement) getModel()).removePropertyChangeListener( this );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent evt) {
-        // Doing nothing   
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/ConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2006 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.
+ */
+package org.drools.eclipse.editors.rete.part;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import org.drools.eclipse.editors.rete.figure.ConnectionFigure;
+import org.drools.eclipse.editors.rete.model.ModelElement;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.draw2d.PolylineDecoration;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.editparts.AbstractConnectionEditPart;
+import org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy;
+
+/**
+ * Edit part for Connection model elements.
+ */
+class ConnectionEditPart extends AbstractConnectionEditPart
+    implements
+    PropertyChangeListener {
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
+     */
+    public void activate() {
+        if ( !isActive() ) {
+            super.activate();
+            ((ModelElement) getModel()).addPropertyChangeListener( this );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
+     */
+    protected void createEditPolicies() {
+        installEditPolicy( EditPolicy.CONNECTION_ENDPOINTS_ROLE,
+                           new ConnectionEndpointEditPolicy() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
+     */
+    protected IFigure createFigure() {
+        PolylineConnection connection = new ConnectionFigure();
+        PolylineDecoration decoration = new PolylineDecoration();
+        connection.setTargetDecoration( decoration );
+        return connection;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
+     */
+    public void deactivate() {
+        if ( isActive() ) {
+            super.deactivate();
+            ((ModelElement) getModel()).removePropertyChangeListener( this );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+     */
+    public void propertyChange(PropertyChangeEvent evt) {
+        // Doing nothing   
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,154 +0,0 @@
-/*
- * Copyright 2006 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.
- */
-package org.drools.eclipse.editors.rete.part;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.List;
-
-import org.drools.eclipse.editors.rete.commands.NodeSetConstraintCommand;
-import org.drools.eclipse.editors.rete.model.ModelElement;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.reteoo.BaseVertex;
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.FreeformLayer;
-import org.eclipse.draw2d.FreeformLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.NodeEditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
-import org.eclipse.gef.editpolicies.XYLayoutEditPolicy;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.gef.requests.CreateRequest;
-
-/**
- * EditPart for ReteGraph
- * 
- */
-public class DiagramEditPart extends AbstractGraphicalEditPart
-    implements
-    PropertyChangeListener {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
-     */
-    public void activate() {
-        if ( !isActive() ) {
-            super.activate();
-            ((ModelElement) getModel()).addPropertyChangeListener( this );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
-     */
-    protected void createEditPolicies() {
-        installEditPolicy( EditPolicy.COMPONENT_ROLE,
-                           new RootComponentEditPolicy() );
-        installEditPolicy( EditPolicy.LAYOUT_ROLE,
-                           new NodesXYLayoutEditPolicy() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
-     */
-    protected IFigure createFigure() {
-        Figure f = new FreeformLayer();
-        f.setBorder( new MarginBorder( 3 ) );
-        f.setLayoutManager( new FreeformLayout() );
-        return f;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
-     */
-    public void deactivate() {
-        if ( isActive() ) {
-            super.deactivate();
-            ((ModelElement) getModel()).removePropertyChangeListener( this );
-        }
-    }
-
-    private ReteGraph getCastedModel() {
-        return (ReteGraph) getModel();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractEditPart#getModelChildren()
-     */
-    protected List getModelChildren() {
-        return getCastedModel().getChildren(); // return a list of nodes
-    }
-
-    /* (non-Javadoc)
-     * @see java.beans.PropertyChangeListener#propertyChange(PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent evt) {
-        String prop = evt.getPropertyName();
-        if ( ReteGraph.PROP_CHILD_ADDED.equals( prop ) || ReteGraph.PROP_CHILD_REMOVED.equals( prop ) ) {
-            refreshChildren();
-        }
-    }
-
-    private static class NodesXYLayoutEditPolicy extends XYLayoutEditPolicy {
-
-        /* (non-Javadoc)
-         * @see ConstrainedLayoutEditPolicy#createChangeConstraintCommand(ChangeBoundsRequest, EditPart, Object)
-         */
-        protected Command createChangeConstraintCommand(ChangeBoundsRequest request,
-                                                        EditPart child,
-                                                        Object constraint) {
-            if ( child instanceof NodeEditPart && constraint instanceof Rectangle ) {
-                // return a command that can move and/or resize a BaseVertex
-                return new NodeSetConstraintCommand( (BaseVertex) child.getModel(),
-                                                     request,
-                                                     (Rectangle) constraint );
-            }
-            return super.createChangeConstraintCommand( request,
-                                                        child,
-                                                        constraint );
-        }
-
-        /* (non-Javadoc)
-         * @see ConstrainedLayoutEditPolicy#createChangeConstraintCommand(EditPart, Object)
-         */
-        protected Command createChangeConstraintCommand(EditPart child,
-                                                        Object constraint) {
-            return null;
-        }
-
-        /* (non-Javadoc)
-         * @see LayoutEditPolicy#getCreateCommand(CreateRequest)
-         */
-        protected Command getCreateCommand(CreateRequest request) {
-            return null;
-        }
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class key) {
-        return super.getAdapter( key );
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/DiagramEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,154 @@
+/*
+ * Copyright 2006 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.
+ */
+package org.drools.eclipse.editors.rete.part;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
+import org.drools.eclipse.editors.rete.commands.NodeSetConstraintCommand;
+import org.drools.eclipse.editors.rete.model.ModelElement;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.reteoo.BaseVertex;
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.FreeformLayer;
+import org.eclipse.draw2d.FreeformLayout;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.MarginBorder;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.NodeEditPart;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
+import org.eclipse.gef.editpolicies.XYLayoutEditPolicy;
+import org.eclipse.gef.requests.ChangeBoundsRequest;
+import org.eclipse.gef.requests.CreateRequest;
+
+/**
+ * EditPart for ReteGraph
+ * 
+ */
+public class DiagramEditPart extends AbstractGraphicalEditPart
+    implements
+    PropertyChangeListener {
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
+     */
+    public void activate() {
+        if ( !isActive() ) {
+            super.activate();
+            ((ModelElement) getModel()).addPropertyChangeListener( this );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
+     */
+    protected void createEditPolicies() {
+        installEditPolicy( EditPolicy.COMPONENT_ROLE,
+                           new RootComponentEditPolicy() );
+        installEditPolicy( EditPolicy.LAYOUT_ROLE,
+                           new NodesXYLayoutEditPolicy() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
+     */
+    protected IFigure createFigure() {
+        Figure f = new FreeformLayer();
+        f.setBorder( new MarginBorder( 3 ) );
+        f.setLayoutManager( new FreeformLayout() );
+        return f;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
+     */
+    public void deactivate() {
+        if ( isActive() ) {
+            super.deactivate();
+            ((ModelElement) getModel()).removePropertyChangeListener( this );
+        }
+    }
+
+    private ReteGraph getCastedModel() {
+        return (ReteGraph) getModel();
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractEditPart#getModelChildren()
+     */
+    protected List getModelChildren() {
+        return getCastedModel().getChildren(); // return a list of nodes
+    }
+
+    /* (non-Javadoc)
+     * @see java.beans.PropertyChangeListener#propertyChange(PropertyChangeEvent)
+     */
+    public void propertyChange(PropertyChangeEvent evt) {
+        String prop = evt.getPropertyName();
+        if ( ReteGraph.PROP_CHILD_ADDED.equals( prop ) || ReteGraph.PROP_CHILD_REMOVED.equals( prop ) ) {
+            refreshChildren();
+        }
+    }
+
+    private static class NodesXYLayoutEditPolicy extends XYLayoutEditPolicy {
+
+        /* (non-Javadoc)
+         * @see ConstrainedLayoutEditPolicy#createChangeConstraintCommand(ChangeBoundsRequest, EditPart, Object)
+         */
+        protected Command createChangeConstraintCommand(ChangeBoundsRequest request,
+                                                        EditPart child,
+                                                        Object constraint) {
+            if ( child instanceof NodeEditPart && constraint instanceof Rectangle ) {
+                // return a command that can move and/or resize a BaseVertex
+                return new NodeSetConstraintCommand( (BaseVertex) child.getModel(),
+                                                     request,
+                                                     (Rectangle) constraint );
+            }
+            return super.createChangeConstraintCommand( request,
+                                                        child,
+                                                        constraint );
+        }
+
+        /* (non-Javadoc)
+         * @see ConstrainedLayoutEditPolicy#createChangeConstraintCommand(EditPart, Object)
+         */
+        protected Command createChangeConstraintCommand(EditPart child,
+                                                        Object constraint) {
+            return null;
+        }
+
+        /* (non-Javadoc)
+         * @see LayoutEditPolicy#getCreateCommand(CreateRequest)
+         */
+        protected Command getCreateCommand(CreateRequest request) {
+            return null;
+        }
+
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getAdapter(java.lang.Class)
+     */
+    public Object getAdapter(Class key) {
+        return super.getAdapter( key );
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,167 +0,0 @@
-package org.drools.eclipse.editors.rete.part;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.List;
-
-import org.drools.eclipse.editors.rete.figure.VertexFigure;
-import org.drools.eclipse.editors.rete.model.GraphicalVertex;
-import org.drools.eclipse.editors.rete.model.ModelElement;
-import org.drools.eclipse.editors.rete.model.VertexPropertySource;
-import org.drools.reteoo.BaseVertex;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.draw2d.EllipseAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * EditPart used for Vertices
- */
-class VertexEditPart extends AbstractGraphicalEditPart
-    implements
-    PropertyChangeListener,
-    org.eclipse.gef.NodeEditPart {
-
-    private IPropertySource  propertySource;
-
-    private ConnectionAnchor anchor;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
-     */
-    public void activate() {
-        if ( !isActive() ) {
-            super.activate();
-            ((ModelElement) getModel()).addPropertyChangeListener( this );
-            propertySource = new VertexPropertySource( getCastedModel() );
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
-     */
-    protected void createEditPolicies() {
-    }
-
-    /*(non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
-     */
-    protected IFigure createFigure() {
-        return new VertexFigure( getCastedModel().getFillColor(),
-                                 getCastedModel().getDrawColor() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
-     */
-    public void deactivate() {
-        if ( isActive() ) {
-            super.deactivate();
-            ((ModelElement) getModel()).removePropertyChangeListener( this );
-            propertySource = null;
-        }
-    }
-
-    private BaseVertex getCastedModel() {
-        return (BaseVertex) getModel();
-    }
-
-    private ConnectionAnchor getConnectionAnchor() {
-        if ( anchor == null ) {
-            if ( getModel() instanceof BaseVertex ) anchor = new EllipseAnchor( getFigure() );
-            else
-            // if Nodes gets extended the conditions above must be updated
-            throw new IllegalArgumentException( "unexpected model" );
-        }
-        return anchor;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getModelSourceConnections()
-     */
-    protected List getModelSourceConnections() {
-        return getCastedModel().getSourceConnections();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getModelTargetConnections()
-     */
-    protected List getModelTargetConnections() {
-        return getCastedModel().getTargetConnections();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.NodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart)
-     */
-    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
-        return getConnectionAnchor();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.NodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.Request)
-     */
-    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
-        return getConnectionAnchor();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.NodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart)
-     */
-    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
-        return getConnectionAnchor();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.NodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.Request)
-     */
-    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
-        return getConnectionAnchor();
-    }
-
-    /* (non-Javadoc)
-     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-     */
-    public void propertyChange(PropertyChangeEvent evt) {
-        String prop = evt.getPropertyName();
-        if ( GraphicalVertex.SIZE_PROP.equals( prop ) || GraphicalVertex.LOCATION_PROP.equals( prop ) ) {
-            refreshVisuals();
-        } else if ( GraphicalVertex.SOURCE_CONNECTIONS_PROP.equals( prop ) ) {
-            refreshSourceConnections();
-        } else if ( GraphicalVertex.TARGET_CONNECTIONS_PROP.equals( prop ) ) {
-            refreshTargetConnections();
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractEditPart#refreshVisuals()
-     */
-    protected void refreshVisuals() {
-        Rectangle bounds = new Rectangle( getCastedModel().getLocation(),
-                                          getCastedModel().getSize() );
-        ((GraphicalEditPart) getParent()).setLayoutConstraint( this,
-                                                               getFigure(),
-                                                               bounds );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class key) {
-        if ( key == IPropertySource.class ) {
-            return propertySource;
-        }
-        return super.getAdapter( key );
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,167 @@
+package org.drools.eclipse.editors.rete.part;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
+
+import org.drools.eclipse.editors.rete.figure.VertexFigure;
+import org.drools.eclipse.editors.rete.model.GraphicalVertex;
+import org.drools.eclipse.editors.rete.model.ModelElement;
+import org.drools.eclipse.editors.rete.model.VertexPropertySource;
+import org.drools.reteoo.BaseVertex;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.draw2d.EllipseAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.eclipse.ui.views.properties.IPropertySource;
+
+/**
+ * EditPart used for Vertices
+ */
+class VertexEditPart extends AbstractGraphicalEditPart
+    implements
+    PropertyChangeListener,
+    org.eclipse.gef.NodeEditPart {
+
+    private IPropertySource  propertySource;
+
+    private ConnectionAnchor anchor;
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate()
+     */
+    public void activate() {
+        if ( !isActive() ) {
+            super.activate();
+            ((ModelElement) getModel()).addPropertyChangeListener( this );
+            propertySource = new VertexPropertySource( getCastedModel() );
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
+     */
+    protected void createEditPolicies() {
+    }
+
+    /*(non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
+     */
+    protected IFigure createFigure() {
+        return new VertexFigure( getCastedModel().getFillColor(),
+                                 getCastedModel().getDrawColor() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate()
+     */
+    public void deactivate() {
+        if ( isActive() ) {
+            super.deactivate();
+            ((ModelElement) getModel()).removePropertyChangeListener( this );
+            propertySource = null;
+        }
+    }
+
+    private BaseVertex getCastedModel() {
+        return (BaseVertex) getModel();
+    }
+
+    private ConnectionAnchor getConnectionAnchor() {
+        if ( anchor == null ) {
+            if ( getModel() instanceof BaseVertex ) anchor = new EllipseAnchor( getFigure() );
+            else
+            // if Nodes gets extended the conditions above must be updated
+            throw new IllegalArgumentException( "unexpected model" );
+        }
+        return anchor;
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getModelSourceConnections()
+     */
+    protected List getModelSourceConnections() {
+        return getCastedModel().getSourceConnections();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getModelTargetConnections()
+     */
+    protected List getModelTargetConnections() {
+        return getCastedModel().getTargetConnections();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.NodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart)
+     */
+    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
+        return getConnectionAnchor();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.NodeEditPart#getSourceConnectionAnchor(org.eclipse.gef.Request)
+     */
+    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+        return getConnectionAnchor();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.NodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart)
+     */
+    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
+        return getConnectionAnchor();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.NodeEditPart#getTargetConnectionAnchor(org.eclipse.gef.Request)
+     */
+    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+        return getConnectionAnchor();
+    }
+
+    /* (non-Javadoc)
+     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+     */
+    public void propertyChange(PropertyChangeEvent evt) {
+        String prop = evt.getPropertyName();
+        if ( GraphicalVertex.SIZE_PROP.equals( prop ) || GraphicalVertex.LOCATION_PROP.equals( prop ) ) {
+            refreshVisuals();
+        } else if ( GraphicalVertex.SOURCE_CONNECTIONS_PROP.equals( prop ) ) {
+            refreshSourceConnections();
+        } else if ( GraphicalVertex.TARGET_CONNECTIONS_PROP.equals( prop ) ) {
+            refreshTargetConnections();
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractEditPart#refreshVisuals()
+     */
+    protected void refreshVisuals() {
+        Rectangle bounds = new Rectangle( getCastedModel().getLocation(),
+                                          getCastedModel().getSize() );
+        ((GraphicalEditPart) getParent()).setLayoutConstraint( this,
+                                                               getFigure(),
+                                                               bounds );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getAdapter(java.lang.Class)
+     */
+    public Object getAdapter(Class key) {
+        if ( key == IPropertySource.class ) {
+            return propertySource;
+        }
+        return super.getAdapter( key );
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,50 +0,0 @@
-package org.drools.eclipse.editors.rete.part;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.rete.model.Connection;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.reteoo.BaseVertex;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartFactory;
-
-/**
- * Factory mapping model elements to edit parts
- */
-public class VertexEditPartFactory
-    implements
-    EditPartFactory {
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.gef.EditPartFactory#createEditPart(org.eclipse.gef.EditPart, java.lang.Object)
-     */
-    public EditPart createEditPart(EditPart context,
-                                   Object modelElement) {
-        // get EditPart for model element
-        EditPart part = getPartForElement( modelElement );
-        // store model element in EditPart
-        part.setModel( modelElement );
-        return part;
-    }
-
-    /**
-     * Maps object to EditPart.
-     *  
-     * @throws RuntimeException if no match was found
-     */
-    private EditPart getPartForElement(Object modelElement) {
-        if ( modelElement instanceof ReteGraph ) {
-            return new DiagramEditPart();
-        }
-        if ( modelElement instanceof BaseVertex ) {
-            return new VertexEditPart();
-        }
-        if ( modelElement instanceof Connection ) {
-            return new ConnectionEditPart();
-        }
-        DroolsEclipsePlugin.log( new Exception( "Can't create part for model element: " + ((modelElement != null) ? modelElement.getClass().getName() : "null") ) );
-        return null;
-        
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/part/VertexEditPartFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,50 @@
+package org.drools.eclipse.editors.rete.part;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.rete.model.Connection;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.reteoo.BaseVertex;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartFactory;
+
+/**
+ * Factory mapping model elements to edit parts
+ */
+public class VertexEditPartFactory
+    implements
+    EditPartFactory {
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.gef.EditPartFactory#createEditPart(org.eclipse.gef.EditPart, java.lang.Object)
+     */
+    public EditPart createEditPart(EditPart context,
+                                   Object modelElement) {
+        // get EditPart for model element
+        EditPart part = getPartForElement( modelElement );
+        // store model element in EditPart
+        part.setModel( modelElement );
+        return part;
+    }
+
+    /**
+     * Maps object to EditPart.
+     *  
+     * @throws RuntimeException if no match was found
+     */
+    private EditPart getPartForElement(Object modelElement) {
+        if ( modelElement instanceof ReteGraph ) {
+            return new DiagramEditPart();
+        }
+        if ( modelElement instanceof BaseVertex ) {
+            return new VertexEditPart();
+        }
+        if ( modelElement instanceof Connection ) {
+            return new ConnectionEditPart();
+        }
+        DroolsEclipsePlugin.log( new Exception( "Can't create part for model element: " + ((modelElement != null) ? modelElement.getClass().getName() : "null") ) );
+        return null;
+        
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.editors.scanners;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.rules.IPredicateRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.MultiLineRule;
-import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
-import org.eclipse.jface.text.rules.Token;
-
-
-/**
- * Break apart the rule source, very very simply.
- *
- * The job of the partitioner is to identify if the cursor position
- * is in a rule block, or not.  Comments are also generated as a
- * separate partition.
- *  TODO: add support for dialect based partitioning for correct syntaxhighlighting
- * @author Michael Neale
- */
-public class DRLPartionScanner extends RuleBasedPartitionScanner {
-
-    public static final String RULE_PART_CONTENT = "__partition_rule_content";
-    public static final String RULE_COMMENT = "__partition_multiline_comment";
-
-    public static final String[] LEGAL_CONTENT_TYPES = {
-    	IDocument.DEFAULT_CONTENT_TYPE,
-    	RULE_PART_CONTENT,
-    	RULE_COMMENT
-    };
-
-    public DRLPartionScanner() {
-        initialise();
-    }
-
-    private void initialise() {
-        List rules = new ArrayList();
-
-        // rules
-        IToken rulePartition = new Token(RULE_PART_CONTENT);
-        rules.add(new MultiLineRule("\nrule", "\nend", rulePartition));
-        //a query is really just a rule for most purposes.
-        rules.add(new MultiLineRule("\nquery", "\nend", rulePartition));
-
-        // comments
-        IToken comment = new Token(RULE_COMMENT);
-        rules.add( new MultiLineRule("/*", "*/", comment, (char) 0, true));
-
-        setPredicateRules((IPredicateRule[]) rules.toArray(new IPredicateRule[rules.size()]));
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLPartionScanner.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.editors.scanners;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.rules.IPredicateRule;
+import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.jface.text.rules.MultiLineRule;
+import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
+import org.eclipse.jface.text.rules.Token;
+
+
+/**
+ * Break apart the rule source, very very simply.
+ *
+ * The job of the partitioner is to identify if the cursor position
+ * is in a rule block, or not.  Comments are also generated as a
+ * separate partition.
+ *  TODO: add support for dialect based partitioning for correct syntaxhighlighting
+ * @author Michael Neale
+ */
+public class DRLPartionScanner extends RuleBasedPartitionScanner {
+
+    public static final String RULE_PART_CONTENT = "__partition_rule_content";
+    public static final String RULE_COMMENT = "__partition_multiline_comment";
+
+    public static final String[] LEGAL_CONTENT_TYPES = {
+    	IDocument.DEFAULT_CONTENT_TYPE,
+    	RULE_PART_CONTENT,
+    	RULE_COMMENT
+    };
+
+    public DRLPartionScanner() {
+        initialise();
+    }
+
+    private void initialise() {
+        List rules = new ArrayList();
+
+        // rules
+        IToken rulePartition = new Token(RULE_PART_CONTENT);
+        rules.add(new MultiLineRule("\nrule", "\nend", rulePartition));
+        //a query is really just a rule for most purposes.
+        rules.add(new MultiLineRule("\nquery", "\nend", rulePartition));
+
+        // comments
+        IToken comment = new Token(RULE_COMMENT);
+        rules.add( new MultiLineRule("/*", "*/", comment, (char) 0, true));
+
+        setPredicateRules((IPredicateRule[]) rules.toArray(new IPredicateRule[rules.size()]));
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,92 +0,0 @@
-package org.drools.eclipse.editors.scanners;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.editors.ColorManager;
-import org.drools.eclipse.editors.Keywords;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.EndOfLineRule;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-import org.eclipse.jface.text.rules.SingleLineRule;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WhitespaceRule;
-import org.eclipse.jface.text.rules.WordRule;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-
-
-
-/**
- * Basic keyword scanner for syntax highlighting.
- *
- * @author Michael Neale
- */
-public class DRLScanner extends RuleBasedScanner {
-
-	private static final Color KEYWORD_COLOR = ColorManager.getInstance().getColor(ColorManager.KEYWORD);
-	private static final Color COMMENT_COLOR = ColorManager.getInstance().getColor(ColorManager.SINGLE_LINE_COMMENT);
-    private static final Color STRING_COLOR = ColorManager.getInstance().getColor(ColorManager.STRING);
-
-    private static final String[] DROOLS_KEYWORDS = Keywords.getInstance().getAllDroolsKeywords();
-    private static final String[] JAVA_KEYWORDS = Keywords.getInstance().getAllJavaKeywords();
-    private static final String[] MVEL_KEYWORDS = Keywords.getInstance().getAllMvelKeywords();
-
-    private static final String[] JAVA_TYPES = { "void", "boolean", "char", "byte", "short", "strictfp", "int", "long", "float", "double" };
-
-    private static final String[] JAVA_CONSTANTS = { "false", "true", "null" };
-    private static final String[] MVEL_CONSTANTS = { "false", "true", "null", "nil", "empty", "this"  };
-
-
-	public DRLScanner() {
-
-		IToken keyword = new Token(new TextAttribute(KEYWORD_COLOR, null, SWT.BOLD));
-		IToken comment= new Token(new TextAttribute(COMMENT_COLOR));
-		IToken string = new Token(new TextAttribute(STRING_COLOR));
-		IToken other = new Token(null);
-
-        List rules = new ArrayList();
-
-		rules.add(new EndOfLineRule("//", comment));
-        rules.add(new EndOfLineRule("#", comment));
-
-        // Add rule for strings and character constants.
-        rules.add(new SingleLineRule("\"", "\"", string, '\\'));
-        rules.add(new SingleLineRule("'", "'", string, '\\'));
-
-        //for unfilled "holes"
-        //rules.add(new SingleLineRule("{", "}", comment));
-
-        // Add generic whitespace rule.
-        rules.add(new WhitespaceRule(new WhitespaceDetector()));
-
-        // Add word rule for keywords, types, and constants.
-        WordRule wordRule= new WordRule(new RuleWordDetector(), other);
-        for (int i= 0; i < DROOLS_KEYWORDS.length; i++)
-            wordRule.addWord(DROOLS_KEYWORDS[i], keyword);
-
-        for (int i= 0; i < JAVA_KEYWORDS.length; i++)
-            wordRule.addWord(JAVA_KEYWORDS[i], keyword);
-        for (int i= 0; i < JAVA_TYPES.length; i++)
-            wordRule.addWord(JAVA_TYPES[i], keyword);
-        for (int i= 0; i < JAVA_CONSTANTS.length; i++)
-            wordRule.addWord(JAVA_CONSTANTS[i], keyword);
-
-        //FIXME: this a bit brutal. we should identify different highlighting for Java and Mvel
-        for (int i= 0; i < MVEL_KEYWORDS.length; i++)
-            wordRule.addWord(MVEL_KEYWORDS[i], keyword);
-        for (int i= 0; i < MVEL_CONSTANTS.length; i++)
-            wordRule.addWord(MVEL_CONSTANTS[i], keyword);
-
-
-        rules.add(wordRule);
-
-        IRule[] result= new IRule[rules.size()];
-        rules.toArray(result);
-
-		setRules(result);
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/DRLScanner.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,92 @@
+package org.drools.eclipse.editors.scanners;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.editors.ColorManager;
+import org.drools.eclipse.editors.Keywords;
+import org.eclipse.jface.text.TextAttribute;
+import org.eclipse.jface.text.rules.EndOfLineRule;
+import org.eclipse.jface.text.rules.IRule;
+import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.jface.text.rules.RuleBasedScanner;
+import org.eclipse.jface.text.rules.SingleLineRule;
+import org.eclipse.jface.text.rules.Token;
+import org.eclipse.jface.text.rules.WhitespaceRule;
+import org.eclipse.jface.text.rules.WordRule;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+
+
+
+/**
+ * Basic keyword scanner for syntax highlighting.
+ *
+ * @author Michael Neale
+ */
+public class DRLScanner extends RuleBasedScanner {
+
+	private static final Color KEYWORD_COLOR = ColorManager.getInstance().getColor(ColorManager.KEYWORD);
+	private static final Color COMMENT_COLOR = ColorManager.getInstance().getColor(ColorManager.SINGLE_LINE_COMMENT);
+    private static final Color STRING_COLOR = ColorManager.getInstance().getColor(ColorManager.STRING);
+
+    private static final String[] DROOLS_KEYWORDS = Keywords.getInstance().getAllDroolsKeywords();
+    private static final String[] JAVA_KEYWORDS = Keywords.getInstance().getAllJavaKeywords();
+    private static final String[] MVEL_KEYWORDS = Keywords.getInstance().getAllMvelKeywords();
+
+    private static final String[] JAVA_TYPES = { "void", "boolean", "char", "byte", "short", "strictfp", "int", "long", "float", "double" };
+
+    private static final String[] JAVA_CONSTANTS = { "false", "true", "null" };
+    private static final String[] MVEL_CONSTANTS = { "false", "true", "null", "nil", "empty", "this"  };
+
+
+	public DRLScanner() {
+
+		IToken keyword = new Token(new TextAttribute(KEYWORD_COLOR, null, SWT.BOLD));
+		IToken comment= new Token(new TextAttribute(COMMENT_COLOR));
+		IToken string = new Token(new TextAttribute(STRING_COLOR));
+		IToken other = new Token(null);
+
+        List rules = new ArrayList();
+
+		rules.add(new EndOfLineRule("//", comment));
+        rules.add(new EndOfLineRule("#", comment));
+
+        // Add rule for strings and character constants.
+        rules.add(new SingleLineRule("\"", "\"", string, '\\'));
+        rules.add(new SingleLineRule("'", "'", string, '\\'));
+
+        //for unfilled "holes"
+        //rules.add(new SingleLineRule("{", "}", comment));
+
+        // Add generic whitespace rule.
+        rules.add(new WhitespaceRule(new WhitespaceDetector()));
+
+        // Add word rule for keywords, types, and constants.
+        WordRule wordRule= new WordRule(new RuleWordDetector(), other);
+        for (int i= 0; i < DROOLS_KEYWORDS.length; i++)
+            wordRule.addWord(DROOLS_KEYWORDS[i], keyword);
+
+        for (int i= 0; i < JAVA_KEYWORDS.length; i++)
+            wordRule.addWord(JAVA_KEYWORDS[i], keyword);
+        for (int i= 0; i < JAVA_TYPES.length; i++)
+            wordRule.addWord(JAVA_TYPES[i], keyword);
+        for (int i= 0; i < JAVA_CONSTANTS.length; i++)
+            wordRule.addWord(JAVA_CONSTANTS[i], keyword);
+
+        //FIXME: this a bit brutal. we should identify different highlighting for Java and Mvel
+        for (int i= 0; i < MVEL_KEYWORDS.length; i++)
+            wordRule.addWord(MVEL_KEYWORDS[i], keyword);
+        for (int i= 0; i < MVEL_CONSTANTS.length; i++)
+            wordRule.addWord(MVEL_CONSTANTS[i], keyword);
+
+
+        rules.add(wordRule);
+
+        IRule[] result= new IRule[rules.size()];
+        rules.toArray(result);
+
+		setRules(result);
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.drools.eclipse.editors.scanners;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class RuleEditorMessages {
-
-    
-    
-	private static final String RESOURCE_BUNDLE= getLocation();
-    
-
-
-    
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private RuleEditorMessages() {
-	}
-
-	public static String getString(String key) {
-        
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-	
-	public static ResourceBundle getResourceBundle() {
-		return fgResourceBundle;
-	}
-
-    
-    private static String getLocation()  {
-        return RuleEditorMessages.class.getPackage().getName() + ".RuleEditorMessages";        
-    }    
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleEditorMessages.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.drools.eclipse.editors.scanners;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class RuleEditorMessages {
+
+    
+    
+	private static final String RESOURCE_BUNDLE= getLocation();
+    
+
+
+    
+	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+
+	private RuleEditorMessages() {
+	}
+
+	public static String getString(String key) {
+        
+		try {
+			return fgResourceBundle.getString(key);
+		} catch (MissingResourceException e) {
+			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
+		}
+	}
+	
+	public static ResourceBundle getResourceBundle() {
+		return fgResourceBundle;
+	}
+
+    
+    private static String getLocation()  {
+        return RuleEditorMessages.class.getPackage().getName() + ".RuleEditorMessages";        
+    }    
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,20 +0,0 @@
-package org.drools.eclipse.editors.scanners;
-
-import org.eclipse.jface.text.rules.IWordDetector;
-
-public class RuleWordDetector implements IWordDetector {
-
-        /* (non-Javadoc)
-         * Method declared on IWordDetector.
-         */
-        public boolean isWordPart(char character) {            
-            return Character.isJavaIdentifierPart(character) || character == '-';
-        }
-        
-        /* (non-Javadoc)
-         * Method declared on IWordDetector.
-         */
-        public boolean isWordStart(char character) {
-            return Character.isJavaIdentifierStart(character);
-        }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/RuleWordDetector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,20 @@
+package org.drools.eclipse.editors.scanners;
+
+import org.eclipse.jface.text.rules.IWordDetector;
+
+public class RuleWordDetector implements IWordDetector {
+
+        /* (non-Javadoc)
+         * Method declared on IWordDetector.
+         */
+        public boolean isWordPart(char character) {            
+            return Character.isJavaIdentifierPart(character) || character == '-';
+        }
+        
+        /* (non-Javadoc)
+         * Method declared on IWordDetector.
+         */
+        public boolean isWordStart(char character) {
+            return Character.isJavaIdentifierStart(character);
+        }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,17 +0,0 @@
-package org.drools.eclipse.editors.scanners;
-
-import org.eclipse.jface.text.rules.IWhitespaceDetector;
-
-/**
- * A rule aware white space detector.
- */
-public class WhitespaceDetector implements IWhitespaceDetector {
-
-    /* (non-Javadoc)
-     * Method declared on IWhitespaceDetector
-     */
-    public boolean isWhitespace(char character) {
-        return Character.isWhitespace(character);
-    }
-}
-

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/scanners/WhitespaceDetector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,17 @@
+package org.drools.eclipse.editors.scanners;
+
+import org.eclipse.jface.text.rules.IWhitespaceDetector;
+
+/**
+ * A rule aware white space detector.
+ */
+public class WhitespaceDetector implements IWhitespaceDetector {
+
+    /* (non-Javadoc)
+     * Method declared on IWhitespaceDetector
+     */
+    public boolean isWhitespace(char character) {
+        return Character.isWhitespace(character);
+    }
+}
+

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,52 +0,0 @@
-package org.drools.eclipse.flow.common.datatype;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.Set;
-
-import org.drools.ruleflow.common.datatype.DataTypeFactory;
-
-/**
- * A registry of datatypes.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface DataTypeRegistry {
-    
-	/**
-	 * Returns all registered data types.
-	 */
-    Set getDataTypes();
-    
-    void registerDataType(Class type, DataTypeFactory dataTypeFactory, String name,
-        Class valueEditorClass, Class dataTypeEditorClass);
-    
-    /**
-     * Returns the data type info of the data type with the given type
-     * @param type
-     * @return the data type info
-     * @throws IllegalArgumentException if the data type info of this type cannot be found
-     */
-    IDataTypeInfo getDataTypeInfo(Class type);
-    
-    interface IDataTypeInfo {
-        Class getType();
-        DataTypeFactory getDataTypeFactory();
-        String getName();
-        Class getDataTypeEditorClass();
-        Class getValueEditorClass();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DataTypeRegistry.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,52 @@
+package org.drools.eclipse.flow.common.datatype;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.Set;
+
+import org.drools.ruleflow.common.datatype.DataTypeFactory;
+
+/**
+ * A registry of datatypes.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface DataTypeRegistry {
+    
+	/**
+	 * Returns all registered data types.
+	 */
+    Set getDataTypes();
+    
+    void registerDataType(Class type, DataTypeFactory dataTypeFactory, String name,
+        Class valueEditorClass, Class dataTypeEditorClass);
+    
+    /**
+     * Returns the data type info of the data type with the given type
+     * @param type
+     * @return the data type info
+     * @throws IllegalArgumentException if the data type info of this type cannot be found
+     */
+    IDataTypeInfo getDataTypeInfo(Class type);
+    
+    interface IDataTypeInfo {
+        Class getType();
+        DataTypeFactory getDataTypeFactory();
+        String getName();
+        Class getDataTypeEditorClass();
+        Class getValueEditorClass();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,74 +0,0 @@
-package org.drools.eclipse.flow.common.datatype;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.datatype.impl.DataTypeRegistryImpl;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.BooleanEditor;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.EmptyEditor;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.IntegerEditor;
-import org.drools.ruleflow.common.datatype.DataTypeFactory;
-import org.drools.ruleflow.common.datatype.impl.InstanceDataTypeFactory;
-import org.drools.ruleflow.common.datatype.impl.type.BooleanDataType;
-import org.drools.ruleflow.common.datatype.impl.type.FloatDataType;
-import org.drools.ruleflow.common.datatype.impl.type.IntegerDataType;
-import org.drools.ruleflow.common.datatype.impl.type.StringDataType;
-import org.drools.ruleflow.common.datatype.impl.type.UndefinedDataType;
-
-//import sun.beans.editors.FloatEditor;
-//import sun.beans.editors.StringEditor;
-
-/**
- * Default datatype registry containing default datatypes.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DefaultDataTypeRegistry {
-
-	private static final DataTypeRegistry variableDataTypeRegistry = new DataTypeRegistryImpl();
-
-	private DefaultDataTypeRegistry() {
-	}
-
-	static {
-		registerVariableDataType(UndefinedDataType.class,
-				new InstanceDataTypeFactory(UndefinedDataType.class),
-				"Undefined", EmptyEditor.class, EmptyEditor.class);
-		registerVariableDataType(BooleanDataType.class,
-				new InstanceDataTypeFactory(BooleanDataType.class), "Boolean",
-				BooleanEditor.class, EmptyEditor.class);
-		registerVariableDataType(IntegerDataType.class,
-				new InstanceDataTypeFactory(IntegerDataType.class), "Integer",
-				IntegerEditor.class, EmptyEditor.class);
-//		registerVariableDataType(FloatDataType.class,
-//				new InstanceDataTypeFactory(FloatDataType.class), "Float",
-//				FloatEditor.class, EmptyEditor.class);
-//		registerVariableDataType(StringDataType.class,
-//				new InstanceDataTypeFactory(StringDataType.class), "String",
-//				StringEditor.class, EmptyEditor.class);
-	}
-
-	public static void registerVariableDataType(Class type,
-			DataTypeFactory dataTypeFactory, String name,
-			Class valueEditorClass, Class dataTypeEditorClass) {
-		variableDataTypeRegistry.registerDataType(type, dataTypeFactory, name,
-				valueEditorClass, dataTypeEditorClass);
-	}
-
-	public static DataTypeRegistry getInstance() {
-		return variableDataTypeRegistry;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/DefaultDataTypeRegistry.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,74 @@
+package org.drools.eclipse.flow.common.datatype;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.datatype.impl.DataTypeRegistryImpl;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.BooleanEditor;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.EmptyEditor;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.IntegerEditor;
+import org.drools.ruleflow.common.datatype.DataTypeFactory;
+import org.drools.ruleflow.common.datatype.impl.InstanceDataTypeFactory;
+import org.drools.ruleflow.common.datatype.impl.type.BooleanDataType;
+import org.drools.ruleflow.common.datatype.impl.type.FloatDataType;
+import org.drools.ruleflow.common.datatype.impl.type.IntegerDataType;
+import org.drools.ruleflow.common.datatype.impl.type.StringDataType;
+import org.drools.ruleflow.common.datatype.impl.type.UndefinedDataType;
+
+//import sun.beans.editors.FloatEditor;
+//import sun.beans.editors.StringEditor;
+
+/**
+ * Default datatype registry containing default datatypes.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DefaultDataTypeRegistry {
+
+	private static final DataTypeRegistry variableDataTypeRegistry = new DataTypeRegistryImpl();
+
+	private DefaultDataTypeRegistry() {
+	}
+
+	static {
+		registerVariableDataType(UndefinedDataType.class,
+				new InstanceDataTypeFactory(UndefinedDataType.class),
+				"Undefined", EmptyEditor.class, EmptyEditor.class);
+		registerVariableDataType(BooleanDataType.class,
+				new InstanceDataTypeFactory(BooleanDataType.class), "Boolean",
+				BooleanEditor.class, EmptyEditor.class);
+		registerVariableDataType(IntegerDataType.class,
+				new InstanceDataTypeFactory(IntegerDataType.class), "Integer",
+				IntegerEditor.class, EmptyEditor.class);
+//		registerVariableDataType(FloatDataType.class,
+//				new InstanceDataTypeFactory(FloatDataType.class), "Float",
+//				FloatEditor.class, EmptyEditor.class);
+//		registerVariableDataType(StringDataType.class,
+//				new InstanceDataTypeFactory(StringDataType.class), "String",
+//				StringEditor.class, EmptyEditor.class);
+	}
+
+	public static void registerVariableDataType(Class type,
+			DataTypeFactory dataTypeFactory, String name,
+			Class valueEditorClass, Class dataTypeEditorClass) {
+		variableDataTypeRegistry.registerDataType(type, dataTypeFactory, name,
+				valueEditorClass, dataTypeEditorClass);
+	}
+
+	public static DataTypeRegistry getInstance() {
+		return variableDataTypeRegistry;
+	}
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,95 +0,0 @@
-package org.drools.eclipse.flow.common.datatype.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
-import org.drools.ruleflow.common.datatype.DataTypeFactory;
-
-/**
- * Default implementation of a datatype registry.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DataTypeRegistryImpl implements DataTypeRegistry {
-
-    private Map dataTypes = new HashMap();
-    
-    public Set getDataTypes() {
-        return new HashSet(dataTypes.values());
-    }
-
-    public void registerDataType(Class type, DataTypeFactory dataTypeFactory, String name,
-            Class valueEditorClass, Class dataTypeEditorClass) {
-        if (dataTypeFactory == null) {
-            throw new NullPointerException("Data type factory may not be null");
-        }
-        if (name == null) {
-            throw new NullPointerException("Name may not be null");
-        }
-        if (valueEditorClass == null) {
-            throw new NullPointerException("valueEditorClass may not be null");
-        }
-        if (dataTypeEditorClass == null) {
-            throw new NullPointerException("dataTypeEditorClass may not be null");
-        }
-        dataTypes.put(type, new DataTypeInfo(
-            type, dataTypeFactory, name, valueEditorClass, dataTypeEditorClass));
-    }
-    
-    public IDataTypeInfo getDataTypeInfo(Class type) {
-        IDataTypeInfo dataTypeInfo = (IDataTypeInfo) dataTypes.get(type);
-        if (dataTypeInfo == null) {
-            throw new IllegalArgumentException("Cannot find data type info with type " + type);
-        }
-        return dataTypeInfo;
-    }
-    
-    public class DataTypeInfo implements IDataTypeInfo {
-        private Class type;
-        private DataTypeFactory dataTypeFactory;
-        private String name;
-        private Class valueEditorClass;
-        private Class dataTypeEditorClass;
-        private DataTypeInfo(Class type, DataTypeFactory dataTypeFactory, String name,
-                Class valueEditorClass, Class dataTypeEditorClass) {
-            this.type = type;
-            this.dataTypeFactory = dataTypeFactory;
-            this.name = name;
-            this.valueEditorClass = valueEditorClass;
-            this.dataTypeEditorClass = dataTypeEditorClass;
-        }
-        public Class getType() {
-            return type;
-        }
-        public DataTypeFactory getDataTypeFactory() {
-            return dataTypeFactory;
-        }
-        public String getName() {
-            return name;
-        }
-        public Class getValueEditorClass() {
-            return valueEditorClass;
-        }
-        public Class getDataTypeEditorClass() {
-            return dataTypeEditorClass;
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/datatype/impl/DataTypeRegistryImpl.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,95 @@
+package org.drools.eclipse.flow.common.datatype.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
+import org.drools.ruleflow.common.datatype.DataTypeFactory;
+
+/**
+ * Default implementation of a datatype registry.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DataTypeRegistryImpl implements DataTypeRegistry {
+
+    private Map dataTypes = new HashMap();
+    
+    public Set getDataTypes() {
+        return new HashSet(dataTypes.values());
+    }
+
+    public void registerDataType(Class type, DataTypeFactory dataTypeFactory, String name,
+            Class valueEditorClass, Class dataTypeEditorClass) {
+        if (dataTypeFactory == null) {
+            throw new NullPointerException("Data type factory may not be null");
+        }
+        if (name == null) {
+            throw new NullPointerException("Name may not be null");
+        }
+        if (valueEditorClass == null) {
+            throw new NullPointerException("valueEditorClass may not be null");
+        }
+        if (dataTypeEditorClass == null) {
+            throw new NullPointerException("dataTypeEditorClass may not be null");
+        }
+        dataTypes.put(type, new DataTypeInfo(
+            type, dataTypeFactory, name, valueEditorClass, dataTypeEditorClass));
+    }
+    
+    public IDataTypeInfo getDataTypeInfo(Class type) {
+        IDataTypeInfo dataTypeInfo = (IDataTypeInfo) dataTypes.get(type);
+        if (dataTypeInfo == null) {
+            throw new IllegalArgumentException("Cannot find data type info with type " + type);
+        }
+        return dataTypeInfo;
+    }
+    
+    public class DataTypeInfo implements IDataTypeInfo {
+        private Class type;
+        private DataTypeFactory dataTypeFactory;
+        private String name;
+        private Class valueEditorClass;
+        private Class dataTypeEditorClass;
+        private DataTypeInfo(Class type, DataTypeFactory dataTypeFactory, String name,
+                Class valueEditorClass, Class dataTypeEditorClass) {
+            this.type = type;
+            this.dataTypeFactory = dataTypeFactory;
+            this.name = name;
+            this.valueEditorClass = valueEditorClass;
+            this.dataTypeEditorClass = dataTypeEditorClass;
+        }
+        public Class getType() {
+            return type;
+        }
+        public DataTypeFactory getDataTypeFactory() {
+            return dataTypeFactory;
+        }
+        public String getName() {
+            return name;
+        }
+        public Class getValueEditorClass() {
+            return valueEditorClass;
+        }
+        public Class getDataTypeEditorClass() {
+            return dataTypeEditorClass;
+        }
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,159 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-
-public class DropDownMenuWithDefaultAction extends Action
-    implements
-    IMenuCreator {
-
-    private Menu                    dropDownMenu;
-
-    private IAction                 delegate;
-
-    private List                    list;
-
-    private IPropertyChangeListener enabledListener;
-    private SelectionListener       selectionListener;
-
-    public DropDownMenuWithDefaultAction(final IAction action) {
-        this.selectionListener = new ItemSelectionListener( this );
-        setMenuCreator( this );
-        this.dropDownMenu = null;
-        setAction( action );
-        this.list = new ArrayList();
-    }
-
-    public void dispose() {
-        if ( this.dropDownMenu != null ) {
-            this.dropDownMenu.dispose();
-            this.dropDownMenu = null;
-        }
-    }
-
-    public void add(final IContributionItem item) {
-        this.list.add( item );
-    }
-
-    public void add(final IAction action) {
-        this.list.add( action );
-    }
-
-    public Menu getMenu(final Control parent) {
-        if ( this.dropDownMenu == null ) {
-            this.dropDownMenu = new Menu( parent );
-            populateMenu();
-        }
-        return this.dropDownMenu;
-    }
-
-    public Menu getMenu(final Menu parent) {
-        if ( this.dropDownMenu == null ) {
-            this.dropDownMenu = new Menu( parent );
-            populateMenu();
-        }
-        return this.dropDownMenu;
-    }
-
-    private void populateMenu() {
-        for ( final Iterator it = this.list.iterator(); it.hasNext(); ) {
-            final Object object = it.next();
-            if ( object instanceof IContributionItem ) {
-                final IContributionItem item = (IContributionItem) object;
-                item.fill( this.dropDownMenu,
-                           -1 );
-            } else {
-                final IAction action = (IAction) object;
-                final ActionContributionItem item = new ActionContributionItem( action );
-                item.fill( this.dropDownMenu,
-                           -1 );
-            }
-        }
-        final MenuItem[] items = this.dropDownMenu.getItems();
-        for ( int i = 0; i < items.length; i++ ) {
-            items[i].addSelectionListener( this.selectionListener );
-        }
-    }
-
-    public void setAction(final IAction action) {
-        if ( this.enabledListener == null ) {
-            this.enabledListener = new EnabledPropertyChangeListener( this );
-        }
-        setText( action.getText() );
-        setToolTipText( action.getToolTipText() );
-        setImageDescriptor( action.getImageDescriptor() );
-        setDisabledImageDescriptor( action.getDisabledImageDescriptor() );
-        setEnabled( action.isEnabled() );
-        setDescription( action.getDescription() );
-        setHelpListener( action.getHelpListener() );
-        setHoverImageDescriptor( action.getHoverImageDescriptor() );
-        if ( this.delegate != null ) {
-            this.delegate.removePropertyChangeListener( this.enabledListener );
-        }
-        this.delegate = action;
-        this.delegate.addPropertyChangeListener( this.enabledListener );
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run() {
-        this.delegate.run();
-    }
-
-    public static class EnabledPropertyChangeListener
-        implements
-        IPropertyChangeListener {
-        private IAction action;
-
-        public EnabledPropertyChangeListener(final IAction action) {
-            this.action = action;
-        }
-
-        public void propertyChange(final PropertyChangeEvent event) {
-            if ( event.getProperty().equals( IAction.ENABLED ) ) {
-                this.action.setEnabled( ((Boolean) event.getNewValue()).booleanValue() );
-            }
-        }
-    }
-
-    public static class ItemSelectionListener
-        implements
-        SelectionListener {
-        private DropDownMenuWithDefaultAction dropDownMenu;
-
-        public ItemSelectionListener(final DropDownMenuWithDefaultAction dropDownMenu) {
-            this.dropDownMenu = dropDownMenu;
-        }
-
-        public void widgetDefaultSelected(final SelectionEvent e) {
-            final MenuItem menuItem = (MenuItem) e.getSource();
-            if ( menuItem.getData() instanceof ActionContributionItem ) {
-                final ActionContributionItem item = (ActionContributionItem) menuItem.getData();
-                this.dropDownMenu.setAction( item.getAction() );
-            }
-        }
-
-        public void widgetSelected(final SelectionEvent e) {
-            final MenuItem menuItem = (MenuItem) e.getSource();
-            if ( menuItem.getData() instanceof ActionContributionItem ) {
-                final ActionContributionItem item = (ActionContributionItem) menuItem.getData();
-                this.dropDownMenu.setAction( item.getAction() );
-            }
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/DropDownMenuWithDefaultAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,159 @@
+package org.drools.eclipse.flow.common.editor;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IMenuCreator;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
+
+public class DropDownMenuWithDefaultAction extends Action
+    implements
+    IMenuCreator {
+
+    private Menu                    dropDownMenu;
+
+    private IAction                 delegate;
+
+    private List                    list;
+
+    private IPropertyChangeListener enabledListener;
+    private SelectionListener       selectionListener;
+
+    public DropDownMenuWithDefaultAction(final IAction action) {
+        this.selectionListener = new ItemSelectionListener( this );
+        setMenuCreator( this );
+        this.dropDownMenu = null;
+        setAction( action );
+        this.list = new ArrayList();
+    }
+
+    public void dispose() {
+        if ( this.dropDownMenu != null ) {
+            this.dropDownMenu.dispose();
+            this.dropDownMenu = null;
+        }
+    }
+
+    public void add(final IContributionItem item) {
+        this.list.add( item );
+    }
+
+    public void add(final IAction action) {
+        this.list.add( action );
+    }
+
+    public Menu getMenu(final Control parent) {
+        if ( this.dropDownMenu == null ) {
+            this.dropDownMenu = new Menu( parent );
+            populateMenu();
+        }
+        return this.dropDownMenu;
+    }
+
+    public Menu getMenu(final Menu parent) {
+        if ( this.dropDownMenu == null ) {
+            this.dropDownMenu = new Menu( parent );
+            populateMenu();
+        }
+        return this.dropDownMenu;
+    }
+
+    private void populateMenu() {
+        for ( final Iterator it = this.list.iterator(); it.hasNext(); ) {
+            final Object object = it.next();
+            if ( object instanceof IContributionItem ) {
+                final IContributionItem item = (IContributionItem) object;
+                item.fill( this.dropDownMenu,
+                           -1 );
+            } else {
+                final IAction action = (IAction) object;
+                final ActionContributionItem item = new ActionContributionItem( action );
+                item.fill( this.dropDownMenu,
+                           -1 );
+            }
+        }
+        final MenuItem[] items = this.dropDownMenu.getItems();
+        for ( int i = 0; i < items.length; i++ ) {
+            items[i].addSelectionListener( this.selectionListener );
+        }
+    }
+
+    public void setAction(final IAction action) {
+        if ( this.enabledListener == null ) {
+            this.enabledListener = new EnabledPropertyChangeListener( this );
+        }
+        setText( action.getText() );
+        setToolTipText( action.getToolTipText() );
+        setImageDescriptor( action.getImageDescriptor() );
+        setDisabledImageDescriptor( action.getDisabledImageDescriptor() );
+        setEnabled( action.isEnabled() );
+        setDescription( action.getDescription() );
+        setHelpListener( action.getHelpListener() );
+        setHoverImageDescriptor( action.getHoverImageDescriptor() );
+        if ( this.delegate != null ) {
+            this.delegate.removePropertyChangeListener( this.enabledListener );
+        }
+        this.delegate = action;
+        this.delegate.addPropertyChangeListener( this.enabledListener );
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+     */
+    public void run() {
+        this.delegate.run();
+    }
+
+    public static class EnabledPropertyChangeListener
+        implements
+        IPropertyChangeListener {
+        private IAction action;
+
+        public EnabledPropertyChangeListener(final IAction action) {
+            this.action = action;
+        }
+
+        public void propertyChange(final PropertyChangeEvent event) {
+            if ( event.getProperty().equals( IAction.ENABLED ) ) {
+                this.action.setEnabled( ((Boolean) event.getNewValue()).booleanValue() );
+            }
+        }
+    }
+
+    public static class ItemSelectionListener
+        implements
+        SelectionListener {
+        private DropDownMenuWithDefaultAction dropDownMenu;
+
+        public ItemSelectionListener(final DropDownMenuWithDefaultAction dropDownMenu) {
+            this.dropDownMenu = dropDownMenu;
+        }
+
+        public void widgetDefaultSelected(final SelectionEvent e) {
+            final MenuItem menuItem = (MenuItem) e.getSource();
+            if ( menuItem.getData() instanceof ActionContributionItem ) {
+                final ActionContributionItem item = (ActionContributionItem) menuItem.getData();
+                this.dropDownMenu.setAction( item.getAction() );
+            }
+        }
+
+        public void widgetSelected(final SelectionEvent e) {
+            final MenuItem menuItem = (MenuItem) e.getSource();
+            if ( menuItem.getData() instanceof ActionContributionItem ) {
+                final ActionContributionItem item = (ActionContributionItem) menuItem.getData();
+                this.dropDownMenu.setAction( item.getAction() );
+            }
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,83 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.gef.ui.actions.ActionBarContributor;
-import org.eclipse.gef.ui.actions.AlignmentRetargetAction;
-import org.eclipse.gef.ui.actions.DeleteRetargetAction;
-import org.eclipse.gef.ui.actions.GEFActionConstants;
-import org.eclipse.gef.ui.actions.RedoRetargetAction;
-import org.eclipse.gef.ui.actions.UndoRetargetAction;
-import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
-import org.eclipse.gef.ui.actions.ZoomInRetargetAction;
-import org.eclipse.gef.ui.actions.ZoomOutRetargetAction;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.RetargetAction;
-
-/**
- * Common implementation of a ActionBarContributor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class GenericActionBarContributor extends ActionBarContributor {
-
-    protected void buildActions() {
-        addRetargetAction( new UndoRetargetAction() );
-        addRetargetAction( new RedoRetargetAction() );
-        addRetargetAction( new DeleteRetargetAction() );
-
-    	addRetargetAction( new ZoomInRetargetAction() );
-    	addRetargetAction( new ZoomOutRetargetAction() );
-    	
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.LEFT ) );
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.CENTER ) );
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.RIGHT ) );
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.TOP ) );
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.MIDDLE ) );
-        addRetargetAction( new AlignmentRetargetAction( PositionConstants.BOTTOM ) );
-        
-    	addRetargetAction( new RetargetAction(
-			GEFActionConstants.TOGGLE_GRID_VISIBILITY, "Grid" ));
-    }
-
-    public void contributeToToolBar(IToolBarManager toolBarManager) {
-        toolBarManager.add( getAction( ActionFactory.UNDO.getId() ) );
-        toolBarManager.add( getAction( ActionFactory.REDO.getId() ) );
-        toolBarManager.add( new Separator() );
-        toolBarManager.add( new ZoomComboContributionItem( getPage() ) );
-        toolBarManager.add( new Separator() );                              
-        
-        DropDownMenuWithDefaultAction alignMenu = new DropDownMenuWithDefaultAction( getActionRegistry().getAction( GEFActionConstants.ALIGN_LEFT ) );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_LEFT ) );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_CENTER ) );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_RIGHT ) );
-        alignMenu.add( new Separator() );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_TOP ) );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_MIDDLE ) );
-        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_BOTTOM ) );
-        toolBarManager.add( alignMenu );
-        
-        toolBarManager.add( new Separator() );                              
-        toolBarManager.add( getAction(GEFActionConstants.TOGGLE_GRID_VISIBILITY) );
-    }
-    
-    protected void declareGlobalActionKeys() {
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericActionBarContributor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,83 @@
+package org.drools.eclipse.flow.common.editor;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.draw2d.PositionConstants;
+import org.eclipse.gef.ui.actions.ActionBarContributor;
+import org.eclipse.gef.ui.actions.AlignmentRetargetAction;
+import org.eclipse.gef.ui.actions.DeleteRetargetAction;
+import org.eclipse.gef.ui.actions.GEFActionConstants;
+import org.eclipse.gef.ui.actions.RedoRetargetAction;
+import org.eclipse.gef.ui.actions.UndoRetargetAction;
+import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
+import org.eclipse.gef.ui.actions.ZoomInRetargetAction;
+import org.eclipse.gef.ui.actions.ZoomOutRetargetAction;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.ui.actions.ActionFactory;
+import org.eclipse.ui.actions.RetargetAction;
+
+/**
+ * Common implementation of a ActionBarContributor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class GenericActionBarContributor extends ActionBarContributor {
+
+    protected void buildActions() {
+        addRetargetAction( new UndoRetargetAction() );
+        addRetargetAction( new RedoRetargetAction() );
+        addRetargetAction( new DeleteRetargetAction() );
+
+    	addRetargetAction( new ZoomInRetargetAction() );
+    	addRetargetAction( new ZoomOutRetargetAction() );
+    	
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.LEFT ) );
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.CENTER ) );
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.RIGHT ) );
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.TOP ) );
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.MIDDLE ) );
+        addRetargetAction( new AlignmentRetargetAction( PositionConstants.BOTTOM ) );
+        
+    	addRetargetAction( new RetargetAction(
+			GEFActionConstants.TOGGLE_GRID_VISIBILITY, "Grid" ));
+    }
+
+    public void contributeToToolBar(IToolBarManager toolBarManager) {
+        toolBarManager.add( getAction( ActionFactory.UNDO.getId() ) );
+        toolBarManager.add( getAction( ActionFactory.REDO.getId() ) );
+        toolBarManager.add( new Separator() );
+        toolBarManager.add( new ZoomComboContributionItem( getPage() ) );
+        toolBarManager.add( new Separator() );                              
+        
+        DropDownMenuWithDefaultAction alignMenu = new DropDownMenuWithDefaultAction( getActionRegistry().getAction( GEFActionConstants.ALIGN_LEFT ) );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_LEFT ) );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_CENTER ) );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_RIGHT ) );
+        alignMenu.add( new Separator() );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_TOP ) );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_MIDDLE ) );
+        alignMenu.add( getActionRegistry().getAction( GEFActionConstants.ALIGN_BOTTOM ) );
+        toolBarManager.add( alignMenu );
+        
+        toolBarManager.add( new Separator() );                              
+        toolBarManager.add( getAction(GEFActionConstants.TOGGLE_GRID_VISIBILITY) );
+    }
+    
+    protected void declareGlobalActionKeys() {
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,65 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.gef.ContextMenuProvider;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.ui.actions.ActionRegistry;
-import org.eclipse.gef.ui.actions.GEFActionConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.actions.ActionFactory;
-
-/**
- * Common implementation of a ContextMenuProvider.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class GenericContextMenuProvider extends ContextMenuProvider {
-
-	private ActionRegistry actionRegistry;
-
-	public GenericContextMenuProvider(GraphicalViewer viewer,
-			ActionRegistry registry) {
-		super(viewer);
-		setActionRegistry(registry);
-	}
-
-	public void buildContextMenu(IMenuManager menu) {
-		GEFActionConstants.addStandardActionGroups(menu);
-
-		IAction action = getActionRegistry().getAction(
-				ActionFactory.UNDO.getId());
-		menu.appendToGroup(GEFActionConstants.GROUP_UNDO, action);
-
-		action = getActionRegistry().getAction(ActionFactory.REDO.getId());
-		menu.appendToGroup(GEFActionConstants.GROUP_UNDO, action);
-
-		action = getActionRegistry().getAction(ActionFactory.DELETE.getId());
-		if (action.isEnabled()) {
-			menu.appendToGroup(GEFActionConstants.GROUP_EDIT, action);
-		}
-	}
-
-	private ActionRegistry getActionRegistry() {
-		return actionRegistry;
-	}
-
-	public void setActionRegistry(ActionRegistry registry) {
-		actionRegistry = registry;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericContextMenuProvider.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,65 @@
+package org.drools.eclipse.flow.common.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.gef.ContextMenuProvider;
+import org.eclipse.gef.GraphicalViewer;
+import org.eclipse.gef.ui.actions.ActionRegistry;
+import org.eclipse.gef.ui.actions.GEFActionConstants;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.ui.actions.ActionFactory;
+
+/**
+ * Common implementation of a ContextMenuProvider.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class GenericContextMenuProvider extends ContextMenuProvider {
+
+	private ActionRegistry actionRegistry;
+
+	public GenericContextMenuProvider(GraphicalViewer viewer,
+			ActionRegistry registry) {
+		super(viewer);
+		setActionRegistry(registry);
+	}
+
+	public void buildContextMenu(IMenuManager menu) {
+		GEFActionConstants.addStandardActionGroups(menu);
+
+		IAction action = getActionRegistry().getAction(
+				ActionFactory.UNDO.getId());
+		menu.appendToGroup(GEFActionConstants.GROUP_UNDO, action);
+
+		action = getActionRegistry().getAction(ActionFactory.REDO.getId());
+		menu.appendToGroup(GEFActionConstants.GROUP_UNDO, action);
+
+		action = getActionRegistry().getAction(ActionFactory.DELETE.getId());
+		if (action.isEnabled()) {
+			menu.appendToGroup(GEFActionConstants.GROUP_EDIT, action);
+		}
+	}
+
+	private ActionRegistry getActionRegistry() {
+		return actionRegistry;
+	}
+
+	public void setActionRegistry(ActionRegistry registry) {
+		actionRegistry = registry;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,311 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.OutputStream;
-import java.util.EventObject;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.gef.ContextMenuProvider;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPartFactory;
-import org.eclipse.gef.KeyHandler;
-import org.eclipse.gef.KeyStroke;
-import org.eclipse.gef.editparts.ScalableRootEditPart;
-import org.eclipse.gef.editparts.ZoomManager;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.ui.actions.ActionRegistry;
-import org.eclipse.gef.ui.actions.AlignmentAction;
-import org.eclipse.gef.ui.actions.DirectEditAction;
-import org.eclipse.gef.ui.actions.GEFActionConstants;
-import org.eclipse.gef.ui.actions.ToggleGridAction;
-import org.eclipse.gef.ui.parts.GraphicalEditorWithPalette;
-import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SaveAsDialog;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * Abstract implementation of a graphical editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class GenericModelEditor extends GraphicalEditorWithPalette {
-
-	private Object model;
-	private boolean savePreviouslyNeeded = false;
-	private KeyHandler sharedKeyHandler;
-	private PaletteRoot root;
-	private OverviewOutlinePage overviewOutlinePage;
-
-	public GenericModelEditor() {
-		setEditDomain(new DefaultEditDomain(this));
-	}
-
-	protected void setModel(Object model) {
-		this.model = model;
-	}
-
-	protected Object getModel() {
-		return model;
-	}
-
-	protected void createActions() {
-		super.createActions();
-		ActionRegistry registry = getActionRegistry();
-
-		IAction action = new DirectEditAction((IWorkbenchPart) this);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.LEFT);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.CENTER);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.RIGHT);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.TOP);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.MIDDLE);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-
-		action = new AlignmentAction((IWorkbenchPart) this,
-				PositionConstants.BOTTOM);
-		registry.registerAction(action);
-		getSelectionActions().add(action.getId());
-	}
-
-	public void commandStackChanged(EventObject event) {
-		if (isDirty()) {
-			if (!savePreviouslyNeeded()) {
-				setSavePreviouslyNeeded(true);
-				firePropertyChange(IEditorPart.PROP_DIRTY);
-			}
-		} else {
-			setSavePreviouslyNeeded(false);
-			firePropertyChange(IEditorPart.PROP_DIRTY);
-		}
-		super.commandStackChanged(event);
-	}
-
-	protected void createOutputStream(OutputStream os) throws IOException {
-		ObjectOutputStream out = new ObjectOutputStream(os);
-		out.writeObject(model);
-		out.close();
-	}
-
-	protected void configureGraphicalViewer() {
-		super.configureGraphicalViewer();
-		getGraphicalViewer().setRootEditPart(new ScalableRootEditPart());
-		getGraphicalViewer().setEditPartFactory(createEditPartFactory());
-		getGraphicalViewer().setKeyHandler(
-				new GraphicalViewerKeyHandler(getGraphicalViewer())
-						.setParent(getCommonKeyHandler()));
-
-		IAction showGrid = new ToggleGridAction(getGraphicalViewer());
-		getActionRegistry().registerAction(showGrid);
-
-		ContextMenuProvider provider = new GenericContextMenuProvider(
-				getGraphicalViewer(), getActionRegistry());
-		getGraphicalViewer().setContextMenu(provider);
-		getSite().registerContextMenu("org.drools.eclipse.flow.editor.contextmenu",
-				provider, getGraphicalViewer());
-	}
-	
-	protected abstract EditPartFactory createEditPartFactory();
-
-	protected void initializeGraphicalViewer() {
-		getGraphicalViewer().setContents(model);
-	}
-
-	public void doSave(IProgressMonitor monitor) {
-		try {
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			createOutputStream(out);
-			IFile file = ((IFileEditorInput) getEditorInput()).getFile();
-			file.setContents(new ByteArrayInputStream(out.toByteArray()), true,
-					false, monitor);
-			out.close();
-			getCommandStack().markSaveLocation();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	public void doSaveAs() {
-		SaveAsDialog dialog = new SaveAsDialog(getSite().getWorkbenchWindow()
-				.getShell());
-		dialog.setOriginalFile(((IFileEditorInput) getEditorInput()).getFile());
-		dialog.open();
-		IPath path = dialog.getResult();
-
-		if (path == null) {
-			return;
-		}
-
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		final IFile file = workspace.getRoot().getFile(path);
-
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			public void execute(final IProgressMonitor monitor)
-					throws CoreException {
-				try {
-					ByteArrayOutputStream out = new ByteArrayOutputStream();
-					createOutputStream(out);
-					file.create(new ByteArrayInputStream(out.toByteArray()),
-							true, monitor);
-					out.close();
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
-		};
-
-		try {
-			new ProgressMonitorDialog(getSite().getWorkbenchWindow().getShell())
-					.run(false, true, op);
-			setInput(new FileEditorInput(file));
-			getCommandStack().markSaveLocation();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	protected KeyHandler getCommonKeyHandler() {
-		if (sharedKeyHandler == null) {
-			sharedKeyHandler = new KeyHandler();
-			sharedKeyHandler
-					.put(KeyStroke.getPressed(SWT.DEL, 127, 0),
-							getActionRegistry().getAction(
-									ActionFactory.DELETE.getId()));
-			sharedKeyHandler.put(KeyStroke.getPressed(SWT.F2, 0),
-					getActionRegistry().getAction(
-							GEFActionConstants.DIRECT_EDIT));
-		}
-		return sharedKeyHandler;
-	}
-
-	public boolean isDirty() {
-		return isSaveOnCloseNeeded();
-	}
-
-	public boolean isSaveAsAllowed() {
-		return true;
-	}
-
-	public boolean isSaveOnCloseNeeded() {
-		return getCommandStack().isDirty();
-	}
-
-	private boolean savePreviouslyNeeded() {
-		return savePreviouslyNeeded;
-	}
-
-	private void setSavePreviouslyNeeded(boolean value) {
-		savePreviouslyNeeded = value;
-	}
-
-	protected PaletteRoot getPaletteRoot() {
-		if (root == null) {
-			root = createPalette();
-		}
-		return root;
-	}
-
-	protected abstract PaletteRoot createPalette();
-
-	protected void setInput(IEditorInput input) {
-		super.setInput(input);
-
-		IFile file = ((IFileEditorInput) input).getFile();
-		setPartName(file.getName());
-		try {
-			InputStream is = file.getContents(false);
-			createInputStream(is);
-		} catch (Exception e) {
-			DroolsEclipsePlugin.log(e);
-			model = createModel();
-		}
-		if (getGraphicalViewer() != null) {
-			initializeGraphicalViewer();
-		}
-	}
-
-	protected void createInputStream(InputStream is) throws Exception {
-		ObjectInputStream ois = new ObjectInputStreamWithLoader(is, getClass()
-				.getClassLoader());
-		model = ois.readObject();
-		ois.close();
-	}
-
-	protected abstract Object createModel();
-
-	public Object getAdapter(Class type) {
-		if (type == IContentOutlinePage.class) {
-			return getOverviewOutlinePage();
-		}
-		if (type == ZoomManager.class) {
-			return ((ScalableRootEditPart) getGraphicalViewer()
-					.getRootEditPart()).getZoomManager();
-		}
-		return super.getAdapter(type);
-	}
-
-	protected OverviewOutlinePage getOverviewOutlinePage() {
-		if (null == overviewOutlinePage && null != getGraphicalViewer()) {
-			ScalableRootEditPart rootEditPart = (ScalableRootEditPart) getGraphicalViewer()
-					.getRootEditPart();
-			overviewOutlinePage = new OverviewOutlinePage(rootEditPart);
-		}
-		return overviewOutlinePage;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/GenericModelEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,311 @@
+package org.drools.eclipse.flow.common.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.OutputStream;
+import java.util.EventObject;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.PositionConstants;
+import org.eclipse.gef.ContextMenuProvider;
+import org.eclipse.gef.DefaultEditDomain;
+import org.eclipse.gef.EditPartFactory;
+import org.eclipse.gef.KeyHandler;
+import org.eclipse.gef.KeyStroke;
+import org.eclipse.gef.editparts.ScalableRootEditPart;
+import org.eclipse.gef.editparts.ZoomManager;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.gef.ui.actions.ActionRegistry;
+import org.eclipse.gef.ui.actions.AlignmentAction;
+import org.eclipse.gef.ui.actions.DirectEditAction;
+import org.eclipse.gef.ui.actions.GEFActionConstants;
+import org.eclipse.gef.ui.actions.ToggleGridAction;
+import org.eclipse.gef.ui.parts.GraphicalEditorWithPalette;
+import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.actions.ActionFactory;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.SaveAsDialog;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+/**
+ * Abstract implementation of a graphical editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class GenericModelEditor extends GraphicalEditorWithPalette {
+
+	private Object model;
+	private boolean savePreviouslyNeeded = false;
+	private KeyHandler sharedKeyHandler;
+	private PaletteRoot root;
+	private OverviewOutlinePage overviewOutlinePage;
+
+	public GenericModelEditor() {
+		setEditDomain(new DefaultEditDomain(this));
+	}
+
+	protected void setModel(Object model) {
+		this.model = model;
+	}
+
+	protected Object getModel() {
+		return model;
+	}
+
+	protected void createActions() {
+		super.createActions();
+		ActionRegistry registry = getActionRegistry();
+
+		IAction action = new DirectEditAction((IWorkbenchPart) this);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.LEFT);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.CENTER);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.RIGHT);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.TOP);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.MIDDLE);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+
+		action = new AlignmentAction((IWorkbenchPart) this,
+				PositionConstants.BOTTOM);
+		registry.registerAction(action);
+		getSelectionActions().add(action.getId());
+	}
+
+	public void commandStackChanged(EventObject event) {
+		if (isDirty()) {
+			if (!savePreviouslyNeeded()) {
+				setSavePreviouslyNeeded(true);
+				firePropertyChange(IEditorPart.PROP_DIRTY);
+			}
+		} else {
+			setSavePreviouslyNeeded(false);
+			firePropertyChange(IEditorPart.PROP_DIRTY);
+		}
+		super.commandStackChanged(event);
+	}
+
+	protected void createOutputStream(OutputStream os) throws IOException {
+		ObjectOutputStream out = new ObjectOutputStream(os);
+		out.writeObject(model);
+		out.close();
+	}
+
+	protected void configureGraphicalViewer() {
+		super.configureGraphicalViewer();
+		getGraphicalViewer().setRootEditPart(new ScalableRootEditPart());
+		getGraphicalViewer().setEditPartFactory(createEditPartFactory());
+		getGraphicalViewer().setKeyHandler(
+				new GraphicalViewerKeyHandler(getGraphicalViewer())
+						.setParent(getCommonKeyHandler()));
+
+		IAction showGrid = new ToggleGridAction(getGraphicalViewer());
+		getActionRegistry().registerAction(showGrid);
+
+		ContextMenuProvider provider = new GenericContextMenuProvider(
+				getGraphicalViewer(), getActionRegistry());
+		getGraphicalViewer().setContextMenu(provider);
+		getSite().registerContextMenu("org.drools.eclipse.flow.editor.contextmenu",
+				provider, getGraphicalViewer());
+	}
+	
+	protected abstract EditPartFactory createEditPartFactory();
+
+	protected void initializeGraphicalViewer() {
+		getGraphicalViewer().setContents(model);
+	}
+
+	public void doSave(IProgressMonitor monitor) {
+		try {
+			ByteArrayOutputStream out = new ByteArrayOutputStream();
+			createOutputStream(out);
+			IFile file = ((IFileEditorInput) getEditorInput()).getFile();
+			file.setContents(new ByteArrayInputStream(out.toByteArray()), true,
+					false, monitor);
+			out.close();
+			getCommandStack().markSaveLocation();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
+	public void doSaveAs() {
+		SaveAsDialog dialog = new SaveAsDialog(getSite().getWorkbenchWindow()
+				.getShell());
+		dialog.setOriginalFile(((IFileEditorInput) getEditorInput()).getFile());
+		dialog.open();
+		IPath path = dialog.getResult();
+
+		if (path == null) {
+			return;
+		}
+
+		IWorkspace workspace = ResourcesPlugin.getWorkspace();
+		final IFile file = workspace.getRoot().getFile(path);
+
+		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+			public void execute(final IProgressMonitor monitor)
+					throws CoreException {
+				try {
+					ByteArrayOutputStream out = new ByteArrayOutputStream();
+					createOutputStream(out);
+					file.create(new ByteArrayInputStream(out.toByteArray()),
+							true, monitor);
+					out.close();
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		};
+
+		try {
+			new ProgressMonitorDialog(getSite().getWorkbenchWindow().getShell())
+					.run(false, true, op);
+			setInput(new FileEditorInput(file));
+			getCommandStack().markSaveLocation();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
+	protected KeyHandler getCommonKeyHandler() {
+		if (sharedKeyHandler == null) {
+			sharedKeyHandler = new KeyHandler();
+			sharedKeyHandler
+					.put(KeyStroke.getPressed(SWT.DEL, 127, 0),
+							getActionRegistry().getAction(
+									ActionFactory.DELETE.getId()));
+			sharedKeyHandler.put(KeyStroke.getPressed(SWT.F2, 0),
+					getActionRegistry().getAction(
+							GEFActionConstants.DIRECT_EDIT));
+		}
+		return sharedKeyHandler;
+	}
+
+	public boolean isDirty() {
+		return isSaveOnCloseNeeded();
+	}
+
+	public boolean isSaveAsAllowed() {
+		return true;
+	}
+
+	public boolean isSaveOnCloseNeeded() {
+		return getCommandStack().isDirty();
+	}
+
+	private boolean savePreviouslyNeeded() {
+		return savePreviouslyNeeded;
+	}
+
+	private void setSavePreviouslyNeeded(boolean value) {
+		savePreviouslyNeeded = value;
+	}
+
+	protected PaletteRoot getPaletteRoot() {
+		if (root == null) {
+			root = createPalette();
+		}
+		return root;
+	}
+
+	protected abstract PaletteRoot createPalette();
+
+	protected void setInput(IEditorInput input) {
+		super.setInput(input);
+
+		IFile file = ((IFileEditorInput) input).getFile();
+		setPartName(file.getName());
+		try {
+			InputStream is = file.getContents(false);
+			createInputStream(is);
+		} catch (Exception e) {
+			DroolsEclipsePlugin.log(e);
+			model = createModel();
+		}
+		if (getGraphicalViewer() != null) {
+			initializeGraphicalViewer();
+		}
+	}
+
+	protected void createInputStream(InputStream is) throws Exception {
+		ObjectInputStream ois = new ObjectInputStreamWithLoader(is, getClass()
+				.getClassLoader());
+		model = ois.readObject();
+		ois.close();
+	}
+
+	protected abstract Object createModel();
+
+	public Object getAdapter(Class type) {
+		if (type == IContentOutlinePage.class) {
+			return getOverviewOutlinePage();
+		}
+		if (type == ZoomManager.class) {
+			return ((ScalableRootEditPart) getGraphicalViewer()
+					.getRootEditPart()).getZoomManager();
+		}
+		return super.getAdapter(type);
+	}
+
+	protected OverviewOutlinePage getOverviewOutlinePage() {
+		if (null == overviewOutlinePage && null != getGraphicalViewer()) {
+			ScalableRootEditPart rootEditPart = (ScalableRootEditPart) getGraphicalViewer()
+					.getRootEditPart();
+			overviewOutlinePage = new OverviewOutlinePage(rootEditPart);
+		}
+		return overviewOutlinePage;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,92 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectStreamClass;
-import java.io.StreamCorruptedException;
-import java.lang.reflect.Array;
-
-/**
- * Implementation of an ObjectInputStream that has a custom classloader.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ObjectInputStreamWithLoader extends ObjectInputStream {
-
-    private ClassLoader loader;
-
-    /**
-     * Loader must be non-null;
-     */
-    public ObjectInputStreamWithLoader(InputStream in, ClassLoader loader)
-            throws IOException, StreamCorruptedException {
-        super(in);
-        if (loader == null) {
-            throw new IllegalArgumentException("Illegal null argument to ObjectInputStreamWithLoader");
-        }
-        this.loader = loader;
-    }
-
-    /**
-     * Make a primitive array class
-     */
-    private Class primitiveType(char type) {
-        switch (type) {
-            case 'B': return byte.class;
-            case 'C': return char.class;
-            case 'D': return double.class;
-            case 'F': return float.class;
-            case 'I': return int.class;
-            case 'J': return long.class;
-            case 'S': return short.class;
-            case 'Z': return boolean.class;
-            default: return null;
-        }
-    }
-
-    /**
-     * Use the given ClassLoader rather than using the system class
-     */
-    protected Class resolveClass(ObjectStreamClass classDesc)
-            throws IOException, ClassNotFoundException {
-        String cname = classDesc.getName();
-        if (cname.startsWith("[")) {
-            // An array
-            Class component = null;        // component class
-            int dcount;         // dimension
-            for (dcount=1; cname.charAt(dcount)=='['; dcount++);
-            if (cname.charAt(dcount) == 'L') {
-                String className = cname.substring(dcount+1, cname.length()-1);
-                component = loader.loadClass(className);
-            } else {
-                if (cname.length() != dcount + 1) {
-                    throw new ClassNotFoundException(cname);// malformed
-                }
-                component = primitiveType(cname.charAt(dcount));
-            }
-            int dim[] = new int[dcount];
-            for (int i = 0; i < dcount; i++) {
-                dim[i]=0;
-            }
-            return Array.newInstance(component, dim).getClass();
-        }
-        return loader.loadClass(cname);
-    }
-}
-

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/ObjectInputStreamWithLoader.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,92 @@
+package org.drools.eclipse.flow.common.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectStreamClass;
+import java.io.StreamCorruptedException;
+import java.lang.reflect.Array;
+
+/**
+ * Implementation of an ObjectInputStream that has a custom classloader.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ObjectInputStreamWithLoader extends ObjectInputStream {
+
+    private ClassLoader loader;
+
+    /**
+     * Loader must be non-null;
+     */
+    public ObjectInputStreamWithLoader(InputStream in, ClassLoader loader)
+            throws IOException, StreamCorruptedException {
+        super(in);
+        if (loader == null) {
+            throw new IllegalArgumentException("Illegal null argument to ObjectInputStreamWithLoader");
+        }
+        this.loader = loader;
+    }
+
+    /**
+     * Make a primitive array class
+     */
+    private Class primitiveType(char type) {
+        switch (type) {
+            case 'B': return byte.class;
+            case 'C': return char.class;
+            case 'D': return double.class;
+            case 'F': return float.class;
+            case 'I': return int.class;
+            case 'J': return long.class;
+            case 'S': return short.class;
+            case 'Z': return boolean.class;
+            default: return null;
+        }
+    }
+
+    /**
+     * Use the given ClassLoader rather than using the system class
+     */
+    protected Class resolveClass(ObjectStreamClass classDesc)
+            throws IOException, ClassNotFoundException {
+        String cname = classDesc.getName();
+        if (cname.startsWith("[")) {
+            // An array
+            Class component = null;        // component class
+            int dcount;         // dimension
+            for (dcount=1; cname.charAt(dcount)=='['; dcount++);
+            if (cname.charAt(dcount) == 'L') {
+                String className = cname.substring(dcount+1, cname.length()-1);
+                component = loader.loadClass(className);
+            } else {
+                if (cname.length() != dcount + 1) {
+                    throw new ClassNotFoundException(cname);// malformed
+                }
+                component = primitiveType(cname.charAt(dcount));
+            }
+            int dim[] = new int[dcount];
+            for (int i = 0; i < dcount; i++) {
+                dim[i]=0;
+            }
+            return Array.newInstance(component, dim).getClass();
+        }
+        return loader.loadClass(cname);
+    }
+}
+

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,90 +0,0 @@
-package org.drools.eclipse.flow.common.editor;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.draw2d.LightweightSystem;
-import org.eclipse.draw2d.MarginBorder;
-import org.eclipse.draw2d.Viewport;
-import org.eclipse.draw2d.parts.ScrollableThumbnail;
-import org.eclipse.draw2d.parts.Thumbnail;
-import org.eclipse.gef.LayerConstants;
-import org.eclipse.gef.editparts.ScalableRootEditPart;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.part.Page;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * Common implementation of an outline page.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class OverviewOutlinePage extends Page implements IContentOutlinePage {
-
-	private Canvas overview;
-	private ScalableRootEditPart rootEditPart;
-	private Thumbnail thumbnail;
-
-	public OverviewOutlinePage(ScalableRootEditPart rootEditPart) {
-		this.rootEditPart = rootEditPart;
-	}
-
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-	}
-
-	public void createControl(Composite parent) {
-		overview = new Canvas(parent, SWT.NONE);
-		LightweightSystem lws = new LightweightSystem(overview);
-		thumbnail = new ScrollableThumbnail((Viewport) rootEditPart.getFigure());
-		thumbnail.setBorder(new MarginBorder(3));
-		thumbnail.setSource(rootEditPart
-				.getLayer(LayerConstants.PRINTABLE_LAYERS));
-		lws.setContents(thumbnail);
-	}
-
-	public void dispose() {
-		if (null != thumbnail) {
-			thumbnail.deactivate();
-		}
-		super.dispose();
-	}
-
-	public Control getControl() {
-		return overview;
-	}
-
-	public ISelection getSelection() {
-		return StructuredSelection.EMPTY;
-	}
-
-	public void removeSelectionChangedListener(
-			ISelectionChangedListener listener) {
-	}
-
-	public void setFocus() {
-		if (getControl() != null) {
-			getControl().setFocus();
-		}
-	}
-
-	public void setSelection(ISelection selection) {
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/OverviewOutlinePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,90 @@
+package org.drools.eclipse.flow.common.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.draw2d.LightweightSystem;
+import org.eclipse.draw2d.MarginBorder;
+import org.eclipse.draw2d.Viewport;
+import org.eclipse.draw2d.parts.ScrollableThumbnail;
+import org.eclipse.draw2d.parts.Thumbnail;
+import org.eclipse.gef.LayerConstants;
+import org.eclipse.gef.editparts.ScalableRootEditPart;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.part.Page;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+/**
+ * Common implementation of an outline page.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class OverviewOutlinePage extends Page implements IContentOutlinePage {
+
+	private Canvas overview;
+	private ScalableRootEditPart rootEditPart;
+	private Thumbnail thumbnail;
+
+	public OverviewOutlinePage(ScalableRootEditPart rootEditPart) {
+		this.rootEditPart = rootEditPart;
+	}
+
+	public void addSelectionChangedListener(ISelectionChangedListener listener) {
+	}
+
+	public void createControl(Composite parent) {
+		overview = new Canvas(parent, SWT.NONE);
+		LightweightSystem lws = new LightweightSystem(overview);
+		thumbnail = new ScrollableThumbnail((Viewport) rootEditPart.getFigure());
+		thumbnail.setBorder(new MarginBorder(3));
+		thumbnail.setSource(rootEditPart
+				.getLayer(LayerConstants.PRINTABLE_LAYERS));
+		lws.setContents(thumbnail);
+	}
+
+	public void dispose() {
+		if (null != thumbnail) {
+			thumbnail.deactivate();
+		}
+		super.dispose();
+	}
+
+	public Control getControl() {
+		return overview;
+	}
+
+	public ISelection getSelection() {
+		return StructuredSelection.EMPTY;
+	}
+
+	public void removeSelectionChangedListener(
+			ISelectionChangedListener listener) {
+	}
+
+	public void setFocus() {
+		if (getControl() != null) {
+			getControl().setFocus();
+		}
+	}
+
+	public void setSelection(ISelection selection) {
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,205 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Default wrapper of a model element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class DefaultElementWrapper implements IPropertySource, ElementWrapper, Serializable {
-
-    protected static IPropertyDescriptor[] descriptors;
-
-    public static final String NAME = "Name";
-    static {
-        descriptors = new IPropertyDescriptor[] {
-            new TextPropertyDescriptor(NAME, "Name"),
-        };
-    }
-    
-    private Object element;
-    private Rectangle constraint;
-    private ProcessWrapper parent;
-    private List incomingConnections = new ArrayList();
-    private List outgoingConnections = new ArrayList();
-    private transient List listeners = new ArrayList();
-    
-    protected void setElement(Object element) {
-		this.element = element;
-	}
-
-	public Object getElement() {
-		return element;
-	}
-
-	public void setConstraint(Rectangle constraint) {
-		this.constraint = constraint;
-		notifyListeners(CHANGE_CONSTRAINT);
-	}
-
-	public Rectangle getConstraint() {
-		return constraint;
-	}
-
-	public void setParent(ProcessWrapper parent) {
-		this.parent = parent;
-	}
-
-	protected ProcessWrapper getParent() {
-		return parent;
-	}
-
-	public List getOutgoingConnections() {
-		return Collections.unmodifiableList(outgoingConnections);
-	}
-
-	public List getIncomingConnections() {
-		return Collections.unmodifiableList(incomingConnections);
-	}
-
-	public void addIncomingConnection(ElementConnection connection) {
-		incomingConnections.add(connection);
-		internalAddIncomingConnection(connection);
-		notifyListeners(CHANGE_INCOMING_CONNECTIONS);
-	}
-
-	protected void internalAddIncomingConnection(ElementConnection connection) {
-	}
-
-	public void removeIncomingConnection(ElementConnection connection) {
-		incomingConnections.remove(connection);
-		internalRemoveIncomingConnection(connection);
-		notifyListeners(CHANGE_INCOMING_CONNECTIONS);
-	}
-
-	protected void internalRemoveIncomingConnection(ElementConnection connection) {
-	}
-
-	public void addOutgoingConnection(ElementConnection connection) {
-		outgoingConnections.add(connection);
-		internalAddOutgoingConnection(connection);
-		notifyListeners(CHANGE_OUTGOING_CONNECTIONS);
-	}
-
-	protected void internalAddOutgoingConnection(ElementConnection connection) {
-	}
-
-	public void removeOutgoingConnection(ElementConnection connection) {
-		outgoingConnections.remove(connection);
-		internalRemoveOutgoingConnection(connection);
-		notifyListeners(CHANGE_OUTGOING_CONNECTIONS);
-	}
-
-	protected void internalRemoveOutgoingConnection(ElementConnection connection) {
-	}
-
-	public void setName(String name) {
-		internalSetName(name);
-		notifyListeners(CHANGE_NAME);
-	}
-
-	protected void internalSetName(String name) {
-	}
-
-	public List getOutgoingConnections(int type) {
-		List result = new ArrayList();
-		for (Iterator it = outgoingConnections.iterator(); it.hasNext();) {
-			ElementConnection connection = (ElementConnection) it.next();
-			if (connection.getType() == type) {
-				result.add(connection);
-			}
-		}
-		return Collections.unmodifiableList(result);
-	}
-
-	public List getIncomingConnections(int type) {
-		List result = new ArrayList();
-		for (Iterator it = incomingConnections.iterator(); it.hasNext();) {
-			ElementConnection connection = (ElementConnection) it.next();
-			if (connection.getType() == type) {
-				result.add(connection);
-			}
-		}
-		return Collections.unmodifiableList(result);
-	}
-
-	public void addListener(ModelListener listener) {
-		listeners.add(listener);
-	}
-
-	public void removeListener(ModelListener listener) {
-		listeners.remove(listener);
-	}
-
-	protected void notifyListeners(int change) {
-		ModelEvent event = new ModelEvent(change);
-		for (Iterator it = listeners.iterator(); it.hasNext();) {
-			ModelListener listener = (ModelListener) it.next();
-			listener.modelChanged(event);
-		}
-	}
-
-	private void readObject(ObjectInputStream aInputStream)
-			throws ClassNotFoundException, IOException {
-		aInputStream.defaultReadObject();
-		listeners = new ArrayList();
-	}
-
-	public IPropertyDescriptor[] getPropertyDescriptors() {
-		return descriptors;
-	}
-
-	public Object getEditableValue() {
-		return this;
-	}
-
-	public boolean isPropertySet(Object id) {
-		return true;
-	}
-
-	public Object getPropertyValue(Object id) {
-		if (NAME.equals(id)) {
-			return getName();
-		}
-		return null;
-	}
-
-	public void resetPropertyValue(Object id) {
-		if (NAME.equals(id)) {
-			setName("");
-		}
-	}
-
-	public void setPropertyValue(Object id, Object value) {
-		if (NAME.equals(id)) {
-			setName((String) value);
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/DefaultElementWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,205 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * Default wrapper of a model element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class DefaultElementWrapper implements IPropertySource, ElementWrapper, Serializable {
+
+    protected static IPropertyDescriptor[] descriptors;
+
+    public static final String NAME = "Name";
+    static {
+        descriptors = new IPropertyDescriptor[] {
+            new TextPropertyDescriptor(NAME, "Name"),
+        };
+    }
+    
+    private Object element;
+    private Rectangle constraint;
+    private ProcessWrapper parent;
+    private List incomingConnections = new ArrayList();
+    private List outgoingConnections = new ArrayList();
+    private transient List listeners = new ArrayList();
+    
+    protected void setElement(Object element) {
+		this.element = element;
+	}
+
+	public Object getElement() {
+		return element;
+	}
+
+	public void setConstraint(Rectangle constraint) {
+		this.constraint = constraint;
+		notifyListeners(CHANGE_CONSTRAINT);
+	}
+
+	public Rectangle getConstraint() {
+		return constraint;
+	}
+
+	public void setParent(ProcessWrapper parent) {
+		this.parent = parent;
+	}
+
+	protected ProcessWrapper getParent() {
+		return parent;
+	}
+
+	public List getOutgoingConnections() {
+		return Collections.unmodifiableList(outgoingConnections);
+	}
+
+	public List getIncomingConnections() {
+		return Collections.unmodifiableList(incomingConnections);
+	}
+
+	public void addIncomingConnection(ElementConnection connection) {
+		incomingConnections.add(connection);
+		internalAddIncomingConnection(connection);
+		notifyListeners(CHANGE_INCOMING_CONNECTIONS);
+	}
+
+	protected void internalAddIncomingConnection(ElementConnection connection) {
+	}
+
+	public void removeIncomingConnection(ElementConnection connection) {
+		incomingConnections.remove(connection);
+		internalRemoveIncomingConnection(connection);
+		notifyListeners(CHANGE_INCOMING_CONNECTIONS);
+	}
+
+	protected void internalRemoveIncomingConnection(ElementConnection connection) {
+	}
+
+	public void addOutgoingConnection(ElementConnection connection) {
+		outgoingConnections.add(connection);
+		internalAddOutgoingConnection(connection);
+		notifyListeners(CHANGE_OUTGOING_CONNECTIONS);
+	}
+
+	protected void internalAddOutgoingConnection(ElementConnection connection) {
+	}
+
+	public void removeOutgoingConnection(ElementConnection connection) {
+		outgoingConnections.remove(connection);
+		internalRemoveOutgoingConnection(connection);
+		notifyListeners(CHANGE_OUTGOING_CONNECTIONS);
+	}
+
+	protected void internalRemoveOutgoingConnection(ElementConnection connection) {
+	}
+
+	public void setName(String name) {
+		internalSetName(name);
+		notifyListeners(CHANGE_NAME);
+	}
+
+	protected void internalSetName(String name) {
+	}
+
+	public List getOutgoingConnections(int type) {
+		List result = new ArrayList();
+		for (Iterator it = outgoingConnections.iterator(); it.hasNext();) {
+			ElementConnection connection = (ElementConnection) it.next();
+			if (connection.getType() == type) {
+				result.add(connection);
+			}
+		}
+		return Collections.unmodifiableList(result);
+	}
+
+	public List getIncomingConnections(int type) {
+		List result = new ArrayList();
+		for (Iterator it = incomingConnections.iterator(); it.hasNext();) {
+			ElementConnection connection = (ElementConnection) it.next();
+			if (connection.getType() == type) {
+				result.add(connection);
+			}
+		}
+		return Collections.unmodifiableList(result);
+	}
+
+	public void addListener(ModelListener listener) {
+		listeners.add(listener);
+	}
+
+	public void removeListener(ModelListener listener) {
+		listeners.remove(listener);
+	}
+
+	protected void notifyListeners(int change) {
+		ModelEvent event = new ModelEvent(change);
+		for (Iterator it = listeners.iterator(); it.hasNext();) {
+			ModelListener listener = (ModelListener) it.next();
+			listener.modelChanged(event);
+		}
+	}
+
+	private void readObject(ObjectInputStream aInputStream)
+			throws ClassNotFoundException, IOException {
+		aInputStream.defaultReadObject();
+		listeners = new ArrayList();
+	}
+
+	public IPropertyDescriptor[] getPropertyDescriptors() {
+		return descriptors;
+	}
+
+	public Object getEditableValue() {
+		return this;
+	}
+
+	public boolean isPropertySet(Object id) {
+		return true;
+	}
+
+	public Object getPropertyValue(Object id) {
+		if (NAME.equals(id)) {
+			return getName();
+		}
+		return null;
+	}
+
+	public void resetPropertyValue(Object id) {
+		if (NAME.equals(id)) {
+			setName("");
+		}
+	}
+
+	public void setPropertyValue(Object id, Object value) {
+		if (NAME.equals(id)) {
+			setName((String) value);
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,146 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Point;
-
-/**
- * A connection between two model elements.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementConnection implements Serializable {
-    
-	private static final long serialVersionUID = 400L;
-	
-	public static final int CHANGE_BENDPOINTS = 1;
-	
-	private ElementWrapper source;
-    private ElementWrapper target;
-    private int type;
-    private List bendpoints = new ArrayList();
-    private transient List listeners = new ArrayList();
-    
-    public ElementConnection(int type) {
-        this.type = type;
-    }
-    
-    public ElementConnection(ElementWrapper source, ElementWrapper target, int type) {
-        this(type);
-        if (source == null) {
-        	throw new IllegalArgumentException("source is null");        	
-        }
-        if (target == null) {
-        	throw new IllegalArgumentException("target is null");
-        }
-    	this.source = source;
-        this.target = target;
-    }
-    
-    public void disconnect() {
-    	if (source == null) {
-    		throw new IllegalStateException("Can't disconnect, source is null");
-    	}
-    	if (target == null) {
-    		throw new IllegalStateException("Can't disconnect, target is null");
-    	}
-    	source.removeOutgoingConnection(this);
-    	target.removeIncomingConnection(this);
-    	source = null;
-    	target = null;
-    }
-    
-    public void connect(ElementWrapper source, ElementWrapper target) {
-    	if (source == null) {
-    		throw new IllegalArgumentException("source is null");
-    	}
-        if (this.source != null) {
-            throw new IllegalStateException("The source of a connection cannot be changed");
-        }
-        if (target == null) {
-    		throw new IllegalArgumentException("target is null");
-    	}
-        if (this.target != null) {
-            throw new IllegalStateException("The target of a connection cannot be changed");
-        }
-        this.source = source;
-        this.target = target;
-    	source.addOutgoingConnection(this);
-        target.addIncomingConnection(this);
-    }
-    
-    
-    public ElementWrapper getSource() {
-        return source;
-    }
-    
-    
-    public ElementWrapper getTarget() {
-        return target;
-    }
-
-    public int getType() {
-        return type;
-    }
-    
-    public void addBendpoint(int index, Point point) {
-        bendpoints.add(index, point);
-        notifyListeners(CHANGE_BENDPOINTS);
-    }
-
-    public void removeBendpoint(int index) {
-        bendpoints.remove(index);
-        notifyListeners(CHANGE_BENDPOINTS);
-    }
-
-    public void replaceBendpoint(int index, Point point) {
-        bendpoints.set(index, point);
-        notifyListeners(CHANGE_BENDPOINTS);
-    }
-
-    public List getBendpoints() {
-        return bendpoints;
-    }
-
-    public void addListener(ModelListener listener) {
-        listeners.add(listener);
-    }
-
-    public void removeListener(ModelListener listener) {
-        listeners.remove(listener);
-    }
-
-    protected void notifyListeners(int change) {
-        ModelEvent event = new ModelEvent(change);
-        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
-        	ModelListener listener = (ModelListener) it.next();
-        	listener.modelChanged(event);
-        }
-    }
-
-    private void readObject(ObjectInputStream aInputStream)
-            throws ClassNotFoundException, IOException {
-        aInputStream.defaultReadObject();
-        listeners = new ArrayList();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnection.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,146 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Point;
+
+/**
+ * A connection between two model elements.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementConnection implements Serializable {
+    
+	private static final long serialVersionUID = 400L;
+	
+	public static final int CHANGE_BENDPOINTS = 1;
+	
+	private ElementWrapper source;
+    private ElementWrapper target;
+    private int type;
+    private List bendpoints = new ArrayList();
+    private transient List listeners = new ArrayList();
+    
+    public ElementConnection(int type) {
+        this.type = type;
+    }
+    
+    public ElementConnection(ElementWrapper source, ElementWrapper target, int type) {
+        this(type);
+        if (source == null) {
+        	throw new IllegalArgumentException("source is null");        	
+        }
+        if (target == null) {
+        	throw new IllegalArgumentException("target is null");
+        }
+    	this.source = source;
+        this.target = target;
+    }
+    
+    public void disconnect() {
+    	if (source == null) {
+    		throw new IllegalStateException("Can't disconnect, source is null");
+    	}
+    	if (target == null) {
+    		throw new IllegalStateException("Can't disconnect, target is null");
+    	}
+    	source.removeOutgoingConnection(this);
+    	target.removeIncomingConnection(this);
+    	source = null;
+    	target = null;
+    }
+    
+    public void connect(ElementWrapper source, ElementWrapper target) {
+    	if (source == null) {
+    		throw new IllegalArgumentException("source is null");
+    	}
+        if (this.source != null) {
+            throw new IllegalStateException("The source of a connection cannot be changed");
+        }
+        if (target == null) {
+    		throw new IllegalArgumentException("target is null");
+    	}
+        if (this.target != null) {
+            throw new IllegalStateException("The target of a connection cannot be changed");
+        }
+        this.source = source;
+        this.target = target;
+    	source.addOutgoingConnection(this);
+        target.addIncomingConnection(this);
+    }
+    
+    
+    public ElementWrapper getSource() {
+        return source;
+    }
+    
+    
+    public ElementWrapper getTarget() {
+        return target;
+    }
+
+    public int getType() {
+        return type;
+    }
+    
+    public void addBendpoint(int index, Point point) {
+        bendpoints.add(index, point);
+        notifyListeners(CHANGE_BENDPOINTS);
+    }
+
+    public void removeBendpoint(int index) {
+        bendpoints.remove(index);
+        notifyListeners(CHANGE_BENDPOINTS);
+    }
+
+    public void replaceBendpoint(int index, Point point) {
+        bendpoints.set(index, point);
+        notifyListeners(CHANGE_BENDPOINTS);
+    }
+
+    public List getBendpoints() {
+        return bendpoints;
+    }
+
+    public void addListener(ModelListener listener) {
+        listeners.add(listener);
+    }
+
+    public void removeListener(ModelListener listener) {
+        listeners.remove(listener);
+    }
+
+    protected void notifyListeners(int change) {
+        ModelEvent event = new ModelEvent(change);
+        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
+        	ModelListener listener = (ModelListener) it.next();
+        	listener.modelChanged(event);
+        }
+    }
+
+    private void readObject(ObjectInputStream aInputStream)
+            throws ClassNotFoundException, IOException {
+        aInputStream.defaultReadObject();
+        listeners = new ArrayList();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,39 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-/**
- * Factory for creating element connections.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementConnectionFactory {
-	
-	private int type;
-	
-	public ElementConnectionFactory(int type) {
-		this.type = type;
-	}
-	
-	public ElementConnection createElementConnection() {
-		ElementConnection connection = new ElementConnection(type);
-		return connection;
-	}
-	
-	protected int getType() {
-		return this.type;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementConnectionFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,39 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+/**
+ * Factory for creating element connections.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementConnectionFactory {
+	
+	private int type;
+	
+	public ElementConnectionFactory(int type) {
+		this.type = type;
+	}
+	
+	public ElementConnection createElementConnection() {
+		ElementConnection connection = new ElementConnection(type);
+		return connection;
+	}
+	
+	protected int getType() {
+		return this.type;
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,57 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * Wrapper of a model element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface ElementWrapper {
-	
-	static final int CHANGE_INCOMING_CONNECTIONS = 1;
-	static final int CHANGE_OUTGOING_CONNECTIONS = 2;
-	static final int CHANGE_CONSTRAINT = 3;
-	static final int CHANGE_NAME = 4;
-    
-    String getId();
-    String getName();
-    void setName(String name);
-    
-    void setConstraint(Rectangle constraint);
-    Rectangle getConstraint();
-    
-    void setParent(ProcessWrapper parent);
-    
-    List getOutgoingConnections();
-    List getIncomingConnections();
-    void addIncomingConnection(ElementConnection connection);
-    void removeIncomingConnection(ElementConnection connection);
-    void addOutgoingConnection(ElementConnection connection);
-    void removeOutgoingConnection(ElementConnection connection);
-    boolean acceptsIncomingConnection(ElementConnection connection);
-    boolean acceptsOutgoingConnection(ElementConnection connection);
-    List getOutgoingConnections(int type);
-    List getIncomingConnections(int type);
-    
-    void addListener(ModelListener listener);
-    void removeListener(ModelListener listener);
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ElementWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,57 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Rectangle;
+
+/**
+ * Wrapper of a model element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface ElementWrapper {
+	
+	static final int CHANGE_INCOMING_CONNECTIONS = 1;
+	static final int CHANGE_OUTGOING_CONNECTIONS = 2;
+	static final int CHANGE_CONSTRAINT = 3;
+	static final int CHANGE_NAME = 4;
+    
+    String getId();
+    String getName();
+    void setName(String name);
+    
+    void setConstraint(Rectangle constraint);
+    Rectangle getConstraint();
+    
+    void setParent(ProcessWrapper parent);
+    
+    List getOutgoingConnections();
+    List getIncomingConnections();
+    void addIncomingConnection(ElementConnection connection);
+    void removeIncomingConnection(ElementConnection connection);
+    void addOutgoingConnection(ElementConnection connection);
+    void removeOutgoingConnection(ElementConnection connection);
+    boolean acceptsIncomingConnection(ElementConnection connection);
+    boolean acceptsOutgoingConnection(ElementConnection connection);
+    List getOutgoingConnections(int type);
+    List getIncomingConnections(int type);
+    
+    void addListener(ModelListener listener);
+    void removeListener(ModelListener listener);
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,35 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-/**
- * Event notifying a change in a model element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ModelEvent {
-	
-	private int change;
-    
-    public ModelEvent(int change) {
-        this.change = change;
-    }
-    
-    public int getChange() {
-        return change;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelEvent.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,35 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+/**
+ * Event notifying a change in a model element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ModelEvent {
+	
+	private int change;
+    
+    public ModelEvent(int change) {
+        this.change = change;
+    }
+    
+    public int getChange() {
+        return change;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,27 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-/**
- * A listener for model events.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface ModelListener {
-
-    void modelChanged(ModelEvent event);
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ModelListener.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,27 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+/**
+ * A listener for model events.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface ModelListener {
+
+    void modelChanged(ModelEvent event);
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,234 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.ruleflow.common.core.Process;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * A wrapper for process element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class ProcessWrapper implements IPropertySource, Serializable {
-
-	public static final int CHANGE_ELEMENTS = 1;
-	public static final int CHANGE_ROUTER_LAYOUT = 2;
-
-    public static final Integer ROUTER_LAYOUT_MANUAL = new Integer(0);
-    public static final Integer ROUTER_LAYOUT_MANHATTAN = new Integer(1);
-    public static final Integer ROUTER_LAYOUT_SHORTEST_PATH = new Integer(2);
-
-    protected static IPropertyDescriptor[] descriptors;
-
-    public static final String NAME = "name";
-    public static final String VERSION = "version";
-    public static final String ID = "id";
-    public static final String PACKAGE_NAME = "packageName";
-    public static final String ROUTER_LAYOUT = "routerLayout";
-    
-    static {
-        descriptors = new IPropertyDescriptor[] {
-            new TextPropertyDescriptor(NAME, "Name"),
-            new TextPropertyDescriptor(VERSION, "Version"),
-            new TextPropertyDescriptor(ID, "Id"),
-            new TextPropertyDescriptor(PACKAGE_NAME, "Package"),
-            new ComboBoxPropertyDescriptor(ROUTER_LAYOUT, "Connection Layout", 
-                new String[] { "Manual", "Manhatten", "Shortest Path" }),
-        };
-    }
-    
-    private Process process;
-    private Map elements = new HashMap();
-    private Integer routerLayout;
-    private transient List listeners = new ArrayList();
-    
-    public ProcessWrapper() {
-        process = createProcess();
-    }
-
-    protected abstract Process createProcess();
-
-    public Process getProcess() {
-        return process;
-    }
-    
-    public String getName() {
-        return process.getName() == null ? "" : process.getName();
-    }
-    
-    public void setName(String name) {
-        process.setName(name);
-    }
-    
-    public String getVersion() {
-        return process.getVersion() == null ? "" : process.getVersion();
-    }
-    
-    public void setVersion(String version) {
-        process.setVersion(version);
-    }
-    
-    public String getId() {
-    	return process.getId();
-    }
-    
-    public void setId(String id) {
-    	process.setId(id);
-    }
-    
-    public String getPackageName() {
-        return process.getPackageName() == null ? "" : process.getPackageName();
-    }
-    
-    public void setPackageName(String packageName) {
-        process.setPackageName(packageName);
-    }
-    
-    public Integer getRouterLayout() {
-    	if (routerLayout == null) {
-    		routerLayout = ROUTER_LAYOUT_SHORTEST_PATH;
-    	}
-    	return routerLayout;
-    }
-    
-    public void setRouterLayout(Integer routerLayout) {
-    	this.routerLayout = routerLayout;
-    	notifyListeners(CHANGE_ROUTER_LAYOUT);
-    }
-    
-    public List getElements() {
-        return Collections.unmodifiableList(new ArrayList(elements.values()));
-    }
-    
-    public ElementWrapper getElement(String id) {
-        return (ElementWrapper) elements.get(id);
-    }
-    
-    public void addElement(ElementWrapper element) {
-        internalAddElement(element);
-		//id is set in methode above
-		elements.put(element.getId(), element);
-		notifyListeners(CHANGE_ELEMENTS);
-    }
-    
-    protected abstract void internalAddElement(ElementWrapper element);
-    
-    public void removeElement(ElementWrapper element) {
-        elements.remove(element.getId());
-        notifyListeners(CHANGE_ELEMENTS);
-        internalRemoveElement(element);
-    }
-    
-    protected abstract void internalRemoveElement(ElementWrapper element);
-    
-    public void addListener(ModelListener listener) {
-        listeners.add(listener);
-    }
-
-    public void removeListener(ModelListener listener) {
-        listeners.remove(listener);
-    }
-    
-    public void notifyListeners(int change) {
-        ModelEvent event = new ModelEvent(change);
-        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
-        	ModelListener listener = (ModelListener) it.next();
-        	listener.modelChanged(event);
-        }
-    }
-    
-    private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
-        aInputStream.defaultReadObject();
-        listeners = new ArrayList();
-    }
-    
-    public Object getEditableValue() {
-        return this;
-    }
-
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    public Object getPropertyValue(Object id) {
-        if (NAME.equals(id)) {
-            return getName();
-        }
-        if (VERSION.equals(id)) {
-            return getVersion();
-        }
-        if (ID.equals(id)) {
-            return getId() + "";
-        }
-        if (PACKAGE_NAME.equals(id)) {
-            return getPackageName();
-        }
-        if (ROUTER_LAYOUT.equals(id)) {
-            return routerLayout;
-        }
-        return null;
-    }
-
-    public boolean isPropertySet(Object id) {
-        return true;
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (NAME.equals(id)) {
-            setName("");
-        }
-        if (VERSION.equals(id)) {
-            setVersion("");
-        }
-        if (ID.equals(id)) {
-            setId("");
-        }
-        if (PACKAGE_NAME.equals(id)) {
-            setPackageName("");
-        }
-        if (ROUTER_LAYOUT.equals(id)) {
-            setRouterLayout(null);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (NAME.equals(id)) {
-            setName((String) value);
-        } else if (VERSION.equals(id)) {
-            setVersion((String) value);
-        } else if (ID.equals(id)) {
-            setId((String) value);
-        } else if (PACKAGE_NAME.equals(id)) {
-            setPackageName((String) value);
-        } else if (ROUTER_LAYOUT.equals(id)) {
-            setRouterLayout((Integer) value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,234 @@
+package org.drools.eclipse.flow.common.editor.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.ruleflow.common.core.Process;
+import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * A wrapper for process element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class ProcessWrapper implements IPropertySource, Serializable {
+
+	public static final int CHANGE_ELEMENTS = 1;
+	public static final int CHANGE_ROUTER_LAYOUT = 2;
+
+    public static final Integer ROUTER_LAYOUT_MANUAL = new Integer(0);
+    public static final Integer ROUTER_LAYOUT_MANHATTAN = new Integer(1);
+    public static final Integer ROUTER_LAYOUT_SHORTEST_PATH = new Integer(2);
+
+    protected static IPropertyDescriptor[] descriptors;
+
+    public static final String NAME = "name";
+    public static final String VERSION = "version";
+    public static final String ID = "id";
+    public static final String PACKAGE_NAME = "packageName";
+    public static final String ROUTER_LAYOUT = "routerLayout";
+    
+    static {
+        descriptors = new IPropertyDescriptor[] {
+            new TextPropertyDescriptor(NAME, "Name"),
+            new TextPropertyDescriptor(VERSION, "Version"),
+            new TextPropertyDescriptor(ID, "Id"),
+            new TextPropertyDescriptor(PACKAGE_NAME, "Package"),
+            new ComboBoxPropertyDescriptor(ROUTER_LAYOUT, "Connection Layout", 
+                new String[] { "Manual", "Manhatten", "Shortest Path" }),
+        };
+    }
+    
+    private Process process;
+    private Map elements = new HashMap();
+    private Integer routerLayout;
+    private transient List listeners = new ArrayList();
+    
+    public ProcessWrapper() {
+        process = createProcess();
+    }
+
+    protected abstract Process createProcess();
+
+    public Process getProcess() {
+        return process;
+    }
+    
+    public String getName() {
+        return process.getName() == null ? "" : process.getName();
+    }
+    
+    public void setName(String name) {
+        process.setName(name);
+    }
+    
+    public String getVersion() {
+        return process.getVersion() == null ? "" : process.getVersion();
+    }
+    
+    public void setVersion(String version) {
+        process.setVersion(version);
+    }
+    
+    public String getId() {
+    	return process.getId();
+    }
+    
+    public void setId(String id) {
+    	process.setId(id);
+    }
+    
+    public String getPackageName() {
+        return process.getPackageName() == null ? "" : process.getPackageName();
+    }
+    
+    public void setPackageName(String packageName) {
+        process.setPackageName(packageName);
+    }
+    
+    public Integer getRouterLayout() {
+    	if (routerLayout == null) {
+    		routerLayout = ROUTER_LAYOUT_SHORTEST_PATH;
+    	}
+    	return routerLayout;
+    }
+    
+    public void setRouterLayout(Integer routerLayout) {
+    	this.routerLayout = routerLayout;
+    	notifyListeners(CHANGE_ROUTER_LAYOUT);
+    }
+    
+    public List getElements() {
+        return Collections.unmodifiableList(new ArrayList(elements.values()));
+    }
+    
+    public ElementWrapper getElement(String id) {
+        return (ElementWrapper) elements.get(id);
+    }
+    
+    public void addElement(ElementWrapper element) {
+        internalAddElement(element);
+		//id is set in methode above
+		elements.put(element.getId(), element);
+		notifyListeners(CHANGE_ELEMENTS);
+    }
+    
+    protected abstract void internalAddElement(ElementWrapper element);
+    
+    public void removeElement(ElementWrapper element) {
+        elements.remove(element.getId());
+        notifyListeners(CHANGE_ELEMENTS);
+        internalRemoveElement(element);
+    }
+    
+    protected abstract void internalRemoveElement(ElementWrapper element);
+    
+    public void addListener(ModelListener listener) {
+        listeners.add(listener);
+    }
+
+    public void removeListener(ModelListener listener) {
+        listeners.remove(listener);
+    }
+    
+    public void notifyListeners(int change) {
+        ModelEvent event = new ModelEvent(change);
+        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
+        	ModelListener listener = (ModelListener) it.next();
+        	listener.modelChanged(event);
+        }
+    }
+    
+    private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
+        aInputStream.defaultReadObject();
+        listeners = new ArrayList();
+    }
+    
+    public Object getEditableValue() {
+        return this;
+    }
+
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    public Object getPropertyValue(Object id) {
+        if (NAME.equals(id)) {
+            return getName();
+        }
+        if (VERSION.equals(id)) {
+            return getVersion();
+        }
+        if (ID.equals(id)) {
+            return getId() + "";
+        }
+        if (PACKAGE_NAME.equals(id)) {
+            return getPackageName();
+        }
+        if (ROUTER_LAYOUT.equals(id)) {
+            return routerLayout;
+        }
+        return null;
+    }
+
+    public boolean isPropertySet(Object id) {
+        return true;
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (NAME.equals(id)) {
+            setName("");
+        }
+        if (VERSION.equals(id)) {
+            setVersion("");
+        }
+        if (ID.equals(id)) {
+            setId("");
+        }
+        if (PACKAGE_NAME.equals(id)) {
+            setPackageName("");
+        }
+        if (ROUTER_LAYOUT.equals(id)) {
+            setRouterLayout(null);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (NAME.equals(id)) {
+            setName((String) value);
+        } else if (VERSION.equals(id)) {
+            setVersion((String) value);
+        } else if (ID.equals(id)) {
+            setId((String) value);
+        } else if (PACKAGE_NAME.equals(id)) {
+            setPackageName((String) value);
+        } else if (ROUTER_LAYOUT.equals(id)) {
+            setRouterLayout((Integer) value);
+        }
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,58 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for adding an element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class AddElementCommand extends Command {
-
-    private ElementWrapper child;
-    private ProcessWrapper parent;
-
-    public void execute() {
-        parent.addElement(child);
-        child.setParent(parent);
-    }
-
-    protected ProcessWrapper getParent() {
-        return parent;
-    }
-    
-    protected ElementWrapper getChild() {
-        return child;
-    }
-
-    public void setChild(ElementWrapper newChild) {
-        child = newChild;
-    }
-
-    public void setParent(ProcessWrapper newParent) {
-        parent = newParent;
-    }
-
-    public void undo() {
-        parent.removeElement(child);
-        child.setParent(null);
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/AddElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,58 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for adding an element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class AddElementCommand extends Command {
+
+    private ElementWrapper child;
+    private ProcessWrapper parent;
+
+    public void execute() {
+        parent.addElement(child);
+        child.setParent(parent);
+    }
+
+    protected ProcessWrapper getParent() {
+        return parent;
+    }
+    
+    protected ElementWrapper getChild() {
+        return child;
+    }
+
+    public void setChild(ElementWrapper newChild) {
+        child = newChild;
+    }
+
+    public void setParent(ProcessWrapper newParent) {
+        parent = newParent;
+    }
+
+    public void undo() {
+        parent.removeElement(child);
+        child.setParent(null);
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,49 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for changing a constraint.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ChangeConstraintCommand extends Command {
-
-    private ElementWrapper element;
-    private Rectangle constraint;
-    private Rectangle oldConstraint;
-
-    public void execute() {
-        element.setConstraint(constraint);
-    }
-
-    public void setConstraint(Rectangle rect) {
-        constraint = rect;
-    }
-
-    public void setElement(ElementWrapper element) {
-        this.element = element;
-        oldConstraint = element.getConstraint();
-    }
-    
-    public void undo() {
-        element.setConstraint(oldConstraint);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ChangeConstraintCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,49 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for changing a constraint.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ChangeConstraintCommand extends Command {
+
+    private ElementWrapper element;
+    private Rectangle constraint;
+    private Rectangle oldConstraint;
+
+    public void execute() {
+        element.setConstraint(constraint);
+    }
+
+    public void setConstraint(Rectangle rect) {
+        constraint = rect;
+    }
+
+    public void setElement(ElementWrapper element) {
+        this.element = element;
+        oldConstraint = element.getConstraint();
+    }
+    
+    public void undo() {
+        element.setConstraint(oldConstraint);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,52 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for creating a bendpoint.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class CreateBendpointCommand extends Command {
-
-    private ElementConnection connection;
-    private Point location;
-    private int index;
-
-    public void execute() {
-        connection.addBendpoint(index, location);
-    }
-
-    public void setConnection(Object model) {
-        connection = (ElementConnection) model;
-    }
-
-    public void setIndex(int i) {
-        index = i;
-    }
-
-    public void setLocation(Point point) {
-        location = point;
-    }
-
-    public void undo() {
-        connection.removeBendpoint(index);
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/CreateBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,52 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for creating a bendpoint.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class CreateBendpointCommand extends Command {
+
+    private ElementConnection connection;
+    private Point location;
+    private int index;
+
+    public void execute() {
+        connection.addBendpoint(index, location);
+    }
+
+    public void setConnection(Object model) {
+        connection = (ElementConnection) model;
+    }
+
+    public void setIndex(int i) {
+        index = i;
+    }
+
+    public void setLocation(Point point) {
+        location = point;
+    }
+
+    public void undo() {
+        connection.removeBendpoint(index);
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,50 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.commands.Command;
-
-
-/**
- * A command for deleting a bendpoint.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DeleteBendpointCommand extends Command {
-
-    private ElementConnection connection;
-    private Point oldLocation;
-    private int index;
-
-    public void execute() {
-        oldLocation = (Point) connection.getBendpoints().get(index);
-        connection.removeBendpoint(index);
-    }
-
-    public void setConnectionModel(Object model) {
-        connection = (ElementConnection) model;
-    }
-
-    public void setIndex(int i) {
-        index = i;
-    }
-
-    public void undo() {
-        connection.addBendpoint(index, oldLocation);
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,50 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.commands.Command;
+
+
+/**
+ * A command for deleting a bendpoint.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DeleteBendpointCommand extends Command {
+
+    private ElementConnection connection;
+    private Point oldLocation;
+    private int index;
+
+    public void execute() {
+        oldLocation = (Point) connection.getBendpoints().get(index);
+        connection.removeBendpoint(index);
+    }
+
+    public void setConnectionModel(Object model) {
+        connection = (ElementConnection) model;
+    }
+
+    public void setIndex(int i) {
+        index = i;
+    }
+
+    public void undo() {
+        connection.addBendpoint(index, oldLocation);
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,52 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for deleting a connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DeleteConnectionCommand extends Command {
-
-    private ElementWrapper source;
-    private ElementWrapper target;
-    private ElementConnection connection;
-
-    public void execute() {
-    	connection.disconnect();
-    }
-
-    public void setSource(ElementWrapper action) {
-        source = action;
-    }
-
-    public void setTarget(ElementWrapper action) {
-        target = action;
-    }
-
-    public void setAntecedentTaskConnection(ElementConnection connection) {
-        this.connection = connection;
-    }
-
-    public void undo() {
-    	connection.connect(source, target);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteConnectionCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,52 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for deleting a connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DeleteConnectionCommand extends Command {
+
+    private ElementWrapper source;
+    private ElementWrapper target;
+    private ElementConnection connection;
+
+    public void execute() {
+    	connection.disconnect();
+    }
+
+    public void setSource(ElementWrapper action) {
+        source = action;
+    }
+
+    public void setTarget(ElementWrapper action) {
+        target = action;
+    }
+
+    public void setAntecedentTaskConnection(ElementConnection connection) {
+        this.connection = connection;
+    }
+
+    public void undo() {
+    	connection.connect(source, target);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,101 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for deleting an element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DeleteElementCommand extends Command {
-
-    private ElementWrapper child;
-    private ProcessWrapper parent;
-    
-    private List incomingElementWrappers = new ArrayList();
-    private List outgoingElementWrappers = new ArrayList();
-    private List incomingConnections = new ArrayList();
-    private List outgoingConnections = new ArrayList();
-    
-    
-    private void deleteConnections(ElementWrapper element) {
-    	for (Iterator it = element.getIncomingConnections().iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		incomingElementWrappers.add(connection.getSource());
-    		incomingConnections.add(connection);
-    	}
-    	for (Iterator it = element.getOutgoingConnections().iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		outgoingElementWrappers.add(connection.getTarget());
-    		outgoingConnections.add(connection);
-    	} 
-    	for (Iterator it = incomingConnections.iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		connection.disconnect();
-    	}
-    	for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		connection.disconnect();
-    	}
-    }
-
-    public void execute() {
-        deleteConnections(child);
-        parent.removeElement(child);
-    }
-
-    private void restoreConnections() {
-    	int i = 0;
-    	for (Iterator it = incomingConnections.iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		connection.connect((ElementWrapper) incomingElementWrappers.get(i), child);
-    		i++;
-    	}
-    	i = 0;
-    	for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
-    		ElementConnection connection = (ElementConnection) it.next();
-    		connection.connect(child, (ElementWrapper) outgoingElementWrappers.get(i));
-    		i++;
-    	}
-    	incomingConnections.clear();
-    	incomingElementWrappers.clear();
-    	outgoingConnections.clear();
-    	outgoingElementWrappers.clear();
-    }
-    
-    public void setChild(ElementWrapper child) {
-        this.child = child;
-    }
-
-    public void setParent(ProcessWrapper parent) {
-        this.parent = parent;
-    }
-
-    public void undo() {
-        parent.addElement(child);
-        restoreConnections();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/DeleteElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,101 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for deleting an element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DeleteElementCommand extends Command {
+
+    private ElementWrapper child;
+    private ProcessWrapper parent;
+    
+    private List incomingElementWrappers = new ArrayList();
+    private List outgoingElementWrappers = new ArrayList();
+    private List incomingConnections = new ArrayList();
+    private List outgoingConnections = new ArrayList();
+    
+    
+    private void deleteConnections(ElementWrapper element) {
+    	for (Iterator it = element.getIncomingConnections().iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		incomingElementWrappers.add(connection.getSource());
+    		incomingConnections.add(connection);
+    	}
+    	for (Iterator it = element.getOutgoingConnections().iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		outgoingElementWrappers.add(connection.getTarget());
+    		outgoingConnections.add(connection);
+    	} 
+    	for (Iterator it = incomingConnections.iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		connection.disconnect();
+    	}
+    	for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		connection.disconnect();
+    	}
+    }
+
+    public void execute() {
+        deleteConnections(child);
+        parent.removeElement(child);
+    }
+
+    private void restoreConnections() {
+    	int i = 0;
+    	for (Iterator it = incomingConnections.iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		connection.connect((ElementWrapper) incomingElementWrappers.get(i), child);
+    		i++;
+    	}
+    	i = 0;
+    	for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
+    		ElementConnection connection = (ElementConnection) it.next();
+    		connection.connect(child, (ElementWrapper) outgoingElementWrappers.get(i));
+    		i++;
+    	}
+    	incomingConnections.clear();
+    	incomingElementWrappers.clear();
+    	outgoingConnections.clear();
+    	outgoingElementWrappers.clear();
+    }
+    
+    public void setChild(ElementWrapper child) {
+        this.child = child;
+    }
+
+    public void setParent(ProcessWrapper parent) {
+        this.parent = parent;
+    }
+
+    public void undo() {
+        parent.addElement(child);
+        restoreConnections();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,87 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for creating an element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementConnectionCreateCommand extends Command {
-
-	private ElementConnection connection;
-    private ElementWrapper source;
-    private ElementWrapper target;
-
-    public boolean canExecute() {
-        if (source.equals(target)) {
-            return false;
-        }
-        
-        // Check for existence of connection already
-        List connections = source.getOutgoingConnections(connection.getType());
-        for (Iterator it = connections.iterator(); it.hasNext(); ) {
-        	ElementConnection conn = (ElementConnection) it.next();
-            if (conn.getTarget().equals(target)) {
-            	return false;
-            }
-        }
-        return source.acceptsOutgoingConnection(connection)
-            && target != null && target.acceptsIncomingConnection(connection);
-    }
-
-    public void execute() {
-        connection.connect(source, target);
-    }
-
-    public ElementWrapper getSource() {
-        return source;
-    }
-
-    public ElementWrapper getTarget() {
-        return target;
-    }
-
-    
-
-    public void redo() {
-    	connection.connect(source, target);
-    }
-
-    public void setSource(ElementWrapper source) {
-    	this.source = source;
-    }
-
-    public void setConnection(ElementConnection connection) {
-        this.connection = connection;
-    }
-
-    public void setTarget(ElementWrapper target) {
-    	this.target = target;
-    }
-
-    public void undo() {
-    	connection.disconnect();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ElementConnectionCreateCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,87 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for creating an element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementConnectionCreateCommand extends Command {
+
+	private ElementConnection connection;
+    private ElementWrapper source;
+    private ElementWrapper target;
+
+    public boolean canExecute() {
+        if (source.equals(target)) {
+            return false;
+        }
+        
+        // Check for existence of connection already
+        List connections = source.getOutgoingConnections(connection.getType());
+        for (Iterator it = connections.iterator(); it.hasNext(); ) {
+        	ElementConnection conn = (ElementConnection) it.next();
+            if (conn.getTarget().equals(target)) {
+            	return false;
+            }
+        }
+        return source.acceptsOutgoingConnection(connection)
+            && target != null && target.acceptsIncomingConnection(connection);
+    }
+
+    public void execute() {
+        connection.connect(source, target);
+    }
+
+    public ElementWrapper getSource() {
+        return source;
+    }
+
+    public ElementWrapper getTarget() {
+        return target;
+    }
+
+    
+
+    public void redo() {
+    	connection.connect(source, target);
+    }
+
+    public void setSource(ElementWrapper source) {
+    	this.source = source;
+    }
+
+    public void setConnection(ElementConnection connection) {
+        this.connection = connection;
+    }
+
+    public void setTarget(ElementWrapper target) {
+    	this.target = target;
+    }
+
+    public void undo() {
+    	connection.disconnect();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for moving a bendpoint.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MoveBendpointCommand extends Command {
-
-    private ElementConnection connection;
-    private Point oldLocation, newLocation;
-    private int index;
-
-    public void execute() {
-        oldLocation = (Point) connection.getBendpoints().get(index);
-        connection.replaceBendpoint(index, newLocation);
-    }
-
-    public void setConnectionModel(Object model) {
-        connection = (ElementConnection) model;
-    }
-
-    public void setIndex(int i) {
-        index = i;
-    }
-
-    public void setNewLocation(Point point) {
-        newLocation = point;
-    }
-
-    public void undo() {
-        connection.replaceBendpoint(index, oldLocation);
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/MoveBendpointCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for moving a bendpoint.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MoveBendpointCommand extends Command {
+
+    private ElementConnection connection;
+    private Point oldLocation, newLocation;
+    private int index;
+
+    public void execute() {
+        oldLocation = (Point) connection.getBendpoints().get(index);
+        connection.replaceBendpoint(index, newLocation);
+    }
+
+    public void setConnectionModel(Object model) {
+        connection = (ElementConnection) model;
+    }
+
+    public void setIndex(int i) {
+        index = i;
+    }
+
+    public void setNewLocation(Point point) {
+        newLocation = point;
+    }
+
+    public void undo() {
+        connection.replaceBendpoint(index, oldLocation);
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,75 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for reconnecting the source of a connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ReconnectElementConnectionSourceCommand extends Command {
-
-	private ElementConnection connection;
-	private ElementWrapper target;
-	private ElementWrapper oldSource;
-	private ElementWrapper newSource;
-    
-    public boolean canExecute() {
-        if (connection.getTarget().equals(newSource))
-            return false;
-            
-        List connections = newSource.getOutgoingConnections(connection.getType()); 
-        for (int i = 0; i < connections.size(); i++) {
-            ElementConnection connection = ((ElementConnection)(connections.get(i)));
-            if (connection.getTarget().equals(target) && !connection.getSource().equals(oldSource))
-                return false;
-        }
-        return newSource.acceptsOutgoingConnection(connection); //XXX    
-    }
-
-    public void execute() {
-        if (newSource != null) {
-        	connection.disconnect();
-        	connection.connect(newSource, target); 
-        }
-    }
-
-    public void setSource(ElementWrapper source) {
-    	this.newSource = source;
-    }
-
-    public void setConnection(ElementConnection connection) {
-        this.connection = connection;
-        this.target = connection.getTarget();
-        this.oldSource = connection.getSource();
-    }
-
-    public void undo() {
-    	connection.disconnect();
-    	connection.connect(oldSource, target);    	
-    }
-    
-    public void redo() {
-    	connection.disconnect();
-    	connection.connect(newSource, target);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionSourceCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,75 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for reconnecting the source of a connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ReconnectElementConnectionSourceCommand extends Command {
+
+	private ElementConnection connection;
+	private ElementWrapper target;
+	private ElementWrapper oldSource;
+	private ElementWrapper newSource;
+    
+    public boolean canExecute() {
+        if (connection.getTarget().equals(newSource))
+            return false;
+            
+        List connections = newSource.getOutgoingConnections(connection.getType()); 
+        for (int i = 0; i < connections.size(); i++) {
+            ElementConnection connection = ((ElementConnection)(connections.get(i)));
+            if (connection.getTarget().equals(target) && !connection.getSource().equals(oldSource))
+                return false;
+        }
+        return newSource.acceptsOutgoingConnection(connection); //XXX    
+    }
+
+    public void execute() {
+        if (newSource != null) {
+        	connection.disconnect();
+        	connection.connect(newSource, target); 
+        }
+    }
+
+    public void setSource(ElementWrapper source) {
+    	this.newSource = source;
+    }
+
+    public void setConnection(ElementConnection connection) {
+        this.connection = connection;
+        this.target = connection.getTarget();
+        this.oldSource = connection.getSource();
+    }
+
+    public void undo() {
+    	connection.disconnect();
+    	connection.connect(oldSource, target);    	
+    }
+    
+    public void redo() {
+    	connection.disconnect();
+    	connection.connect(newSource, target);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,77 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for reconnecting the target of a connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ReconnectElementConnectionTargetCommand extends Command {
-
-    private ElementConnection connection;
-    private ElementWrapper oldTarget;
-    private ElementWrapper newTarget;
-    private ElementWrapper source;
-    
-    
-    public boolean canExecute() {
-        if (connection.getSource().equals(newTarget))
-            return false;
-            
-        List connections = newTarget.getIncomingConnections(connection.getType());
-        for (Iterator it = connections.iterator(); it.hasNext(); ) {
-        	ElementConnection connection = (ElementConnection) it.next();
-            if (connection.getSource().equals(source) && !connection.getTarget().equals(oldTarget))
-                return false;
-        }   
-        return newTarget.acceptsIncomingConnection(connection);    
-    }
-
-    public void execute() {
-        if (newTarget != null) {
-        	connection.disconnect();
-        	connection.connect(source, newTarget);    	
-        }
-    }
-
-    public void setTarget(ElementWrapper target) {
-        this.newTarget = target;
-    }
-
-    public void setConnection(ElementConnection connection) {
-        this.connection = connection;
-        this.source = connection.getSource();
-        this.oldTarget = connection.getTarget();
-    }
-
-    public void undo() {
-    	connection.disconnect();
-    	connection.connect(source, oldTarget);
-    }
-    
-    public void redo() {
-    	connection.disconnect();
-    	connection.connect(source, newTarget);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/ReconnectElementConnectionTargetCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,77 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for reconnecting the target of a connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ReconnectElementConnectionTargetCommand extends Command {
+
+    private ElementConnection connection;
+    private ElementWrapper oldTarget;
+    private ElementWrapper newTarget;
+    private ElementWrapper source;
+    
+    
+    public boolean canExecute() {
+        if (connection.getSource().equals(newTarget))
+            return false;
+            
+        List connections = newTarget.getIncomingConnections(connection.getType());
+        for (Iterator it = connections.iterator(); it.hasNext(); ) {
+        	ElementConnection connection = (ElementConnection) it.next();
+            if (connection.getSource().equals(source) && !connection.getTarget().equals(oldTarget))
+                return false;
+        }   
+        return newTarget.acceptsIncomingConnection(connection);    
+    }
+
+    public void execute() {
+        if (newTarget != null) {
+        	connection.disconnect();
+        	connection.connect(source, newTarget);    	
+        }
+    }
+
+    public void setTarget(ElementWrapper target) {
+        this.newTarget = target;
+    }
+
+    public void setConnection(ElementConnection connection) {
+        this.connection = connection;
+        this.source = connection.getSource();
+        this.oldTarget = connection.getTarget();
+    }
+
+    public void undo() {
+    	connection.disconnect();
+    	connection.connect(source, oldTarget);
+    }
+    
+    public void redo() {
+    	connection.disconnect();
+    	connection.connect(source, newTarget);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for renaming an element.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RenameElementCommand extends Command {
-
-    private ElementWrapper source;
-    private String name;
-    private String oldName;
-
-    public void execute() {
-        source.setName(name);
-    }
-
-    public void setName(String string) {
-        name = string;
-    }
-
-    public void setOldName(String string) {
-        oldName = string;
-    }
-
-    public void setSource(ElementWrapper action) {
-        source = action;
-    }
-
-    public void undo() {
-        source.setName(oldName);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/RenameElementCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for renaming an element.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RenameElementCommand extends Command {
+
+    private ElementWrapper source;
+    private String name;
+    private String oldName;
+
+    public void execute() {
+        source.setName(name);
+    }
+
+    public void setName(String string) {
+        name = string;
+    }
+
+    public void setOldName(String string) {
+        oldName = string;
+    }
+
+    public void setSource(ElementWrapper action) {
+        source = action;
+    }
+
+    public void undo() {
+        source.setName(oldName);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,87 +0,0 @@
-package org.drools.eclipse.flow.common.editor.core.command;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.eclipse.gef.commands.Command;
-
-/**
- * A command for splitting a connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class SplitConnectionCommand extends Command {
-
-    private ProcessWrapper parent;
-    private ElementWrapper oldSource;
-    private ElementWrapper oldTarget;
-    private ElementConnection oldConnection;
-    private ElementConnection secondConnection;    
-    private ElementWrapper newElement;
-    
-    public void setNewSecondConnection(ElementConnection connection) {
-    	if (connection == null) {
-    		throw new IllegalArgumentException("new second connection cannot be null");
-    	}
-    	this.secondConnection = connection;
-    }
-    
-    public void execute() {
-    	if (secondConnection == null) {
-    		throw new IllegalStateException("new second connection is still null");
-    	}
-    	oldConnection.disconnect();
-    	parent.addElement(newElement);
-        newElement.setParent(parent);
-    	oldConnection.connect(oldSource, newElement);
-    	secondConnection.connect(newElement, oldTarget);
-    }
-
-    public void setParent(ProcessWrapper process) {
-    	if (process == null) {
-    		throw new IllegalArgumentException("process is null");
-    	}
-        parent = process;
-    }
-
-    public void setElementConnection(ElementConnection connection) {
-    	if (connection == null) {
-    		throw new IllegalArgumentException("Element connection is null");
-    	}
-        this.oldConnection = connection;
-        oldSource = connection.getSource();
-        oldTarget = connection.getTarget();
-    }
-
-    public void setNewElement(ElementWrapper newElement) {
-    	if (newElement == null) {
-    		throw new IllegalArgumentException("NewElement is null");
-    	}
-        this.newElement = newElement;
-        
-    }
-
-    public void undo() {
-    	oldConnection.disconnect();
-    	secondConnection.disconnect();
-    	parent.removeElement(newElement);
-    	newElement.setParent(null);
-    	oldConnection.connect(oldSource, oldTarget);    	
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/command/SplitConnectionCommand.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,87 @@
+package org.drools.eclipse.flow.common.editor.core.command;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.eclipse.gef.commands.Command;
+
+/**
+ * A command for splitting a connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SplitConnectionCommand extends Command {
+
+    private ProcessWrapper parent;
+    private ElementWrapper oldSource;
+    private ElementWrapper oldTarget;
+    private ElementConnection oldConnection;
+    private ElementConnection secondConnection;    
+    private ElementWrapper newElement;
+    
+    public void setNewSecondConnection(ElementConnection connection) {
+    	if (connection == null) {
+    		throw new IllegalArgumentException("new second connection cannot be null");
+    	}
+    	this.secondConnection = connection;
+    }
+    
+    public void execute() {
+    	if (secondConnection == null) {
+    		throw new IllegalStateException("new second connection is still null");
+    	}
+    	oldConnection.disconnect();
+    	parent.addElement(newElement);
+        newElement.setParent(parent);
+    	oldConnection.connect(oldSource, newElement);
+    	secondConnection.connect(newElement, oldTarget);
+    }
+
+    public void setParent(ProcessWrapper process) {
+    	if (process == null) {
+    		throw new IllegalArgumentException("process is null");
+    	}
+        parent = process;
+    }
+
+    public void setElementConnection(ElementConnection connection) {
+    	if (connection == null) {
+    		throw new IllegalArgumentException("Element connection is null");
+    	}
+        this.oldConnection = connection;
+        oldSource = connection.getSource();
+        oldTarget = connection.getTarget();
+    }
+
+    public void setNewElement(ElementWrapper newElement) {
+    	if (newElement == null) {
+    		throw new IllegalArgumentException("NewElement is null");
+    	}
+        this.newElement = newElement;
+        
+    }
+
+    public void undo() {
+    	oldConnection.disconnect();
+    	secondConnection.disconnect();
+    	parent.removeElement(newElement);
+    	newElement.setParent(null);
+    	oldConnection.connect(oldSource, oldTarget);    	
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,128 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.AbsoluteBendpoint;
-import org.eclipse.draw2d.PolygonDecoration;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.draw2d.graph.DirectedGraph;
-import org.eclipse.draw2d.graph.DirectedGraphLayout;
-import org.eclipse.draw2d.graph.Edge;
-import org.eclipse.draw2d.graph.Node;
-import org.eclipse.draw2d.graph.NodeList;
-
-public class DirectedGraphLayoutVisitor {
-
-	private Map partToNodesMap;
-	private DirectedGraph graph;
-
-	public void layoutDiagram(ProcessEditPart diagram) {
-		partToNodesMap = new HashMap();
-		graph = new DirectedGraph();
-		addNodes(diagram);
-		if (graph.nodes.size() > 0) {	
-			addEdges(diagram);
-			new DirectedGraphLayout().visit(graph);
-			applyResults(diagram);
-		}
-	}
-
-	protected void addNodes(ProcessEditPart diagram) {
-		for (int i = 0; i < diagram.getChildren().size(); i++) {
-			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
-			addNodes(elementEditPart);
-		}
-	}
-
-	protected void addNodes(ElementEditPart elementEditPart) {
-		Node n = new Node(elementEditPart);
-		n.width = elementEditPart.getFigure().getPreferredSize(400, 300).width;
-		n.height = elementEditPart.getFigure().getPreferredSize(400, 300).height;
-		n.setPadding(new Insets(10, 8, 10, 12));
-		partToNodesMap.put(elementEditPart, n);
-		graph.nodes.add(n);
-	}
-
-	protected void addEdges(ProcessEditPart diagram) {
-		for (int i = 0; i < diagram.getChildren().size(); i++) {
-			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
-			addEdges(elementEditPart);
-		}
-	}
-
-	protected void addEdges(ElementEditPart elementEditPart) {
-		List outgoing = elementEditPart.getSourceConnections();
-		for (int i = 0; i < outgoing.size(); i++) {
-			ElementConnectionEditPart connectionPart = (ElementConnectionEditPart) elementEditPart.getSourceConnections().get(i);
-			addEdges(connectionPart);
-		}
-	}
-
-	protected void addEdges(ElementConnectionEditPart connectionPart) {
-		Node source = (Node) partToNodesMap.get(connectionPart.getSource());
-		Node target = (Node) partToNodesMap.get(connectionPart.getTarget());
-		Edge e = new Edge(connectionPart, source, target);
-		e.weight = 2;
-		graph.edges.add(e);
-		partToNodesMap.put(connectionPart, e);
-	}
-
-	protected void applyResults(ProcessEditPart diagram) {
-		applyChildrenResults(diagram);
-	}
-
-	protected void applyChildrenResults(ProcessEditPart diagram) {
-		for (int i = 0; i < diagram.getChildren().size(); i++) {
-			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
-			applyResults(elementEditPart);
-		}
-	}
-
-	protected void applyOwnResults(ProcessEditPart diagram) {
-	}
-
-	public void applyResults(ElementEditPart elementEditPart) {
-		Node n = (Node) partToNodesMap.get(elementEditPart);
-		ElementFigure elementFigure = (ElementFigure) elementEditPart.getFigure();
-		Rectangle bounds = new Rectangle(n.x, n.y, elementFigure.getPreferredSize().width,
-				elementFigure.getPreferredSize().height);
-		elementFigure.setBounds(bounds);
-		for (int i = 0; i < elementEditPart.getSourceConnections().size(); i++) {
-			ElementConnectionEditPart connectionPart = (ElementConnectionEditPart) elementEditPart.getSourceConnections().get(i);
-			applyResults(connectionPart);
-		}
-	}
-
-	protected void applyResults(ElementConnectionEditPart connectionPart)	{
-		Edge e = (Edge) partToNodesMap.get(connectionPart);
-		NodeList nodes = e.vNodes;
-		PolylineConnection conn = (PolylineConnection) connectionPart.getConnectionFigure();
-		conn.setTargetDecoration(new PolygonDecoration());
-		if (nodes != null) {
-			List bends = new ArrayList();
-			for (int i = 0; i < nodes.size(); i++) {
-				Node vn = nodes.getNode(i);
-				int x = vn.x;
-				int y = vn.y;
-				if (e.isFeedback()) {
-					bends.add(new AbsoluteBendpoint(x, y + vn.height));
-					bends.add(new AbsoluteBendpoint(x, y));
-				} else {
-					bends.add(new AbsoluteBendpoint(x, y));
-					bends.add(new AbsoluteBendpoint(x, y + vn.height));
-				}
-			}
-			conn.setRoutingConstraint(bends);
-		} else {
-			conn.setRoutingConstraint(Collections.EMPTY_LIST);
-		}
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/DirectedGraphLayoutVisitor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,128 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.AbsoluteBendpoint;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.draw2d.geometry.Insets;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.draw2d.graph.DirectedGraph;
+import org.eclipse.draw2d.graph.DirectedGraphLayout;
+import org.eclipse.draw2d.graph.Edge;
+import org.eclipse.draw2d.graph.Node;
+import org.eclipse.draw2d.graph.NodeList;
+
+public class DirectedGraphLayoutVisitor {
+
+	private Map partToNodesMap;
+	private DirectedGraph graph;
+
+	public void layoutDiagram(ProcessEditPart diagram) {
+		partToNodesMap = new HashMap();
+		graph = new DirectedGraph();
+		addNodes(diagram);
+		if (graph.nodes.size() > 0) {	
+			addEdges(diagram);
+			new DirectedGraphLayout().visit(graph);
+			applyResults(diagram);
+		}
+	}
+
+	protected void addNodes(ProcessEditPart diagram) {
+		for (int i = 0; i < diagram.getChildren().size(); i++) {
+			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
+			addNodes(elementEditPart);
+		}
+	}
+
+	protected void addNodes(ElementEditPart elementEditPart) {
+		Node n = new Node(elementEditPart);
+		n.width = elementEditPart.getFigure().getPreferredSize(400, 300).width;
+		n.height = elementEditPart.getFigure().getPreferredSize(400, 300).height;
+		n.setPadding(new Insets(10, 8, 10, 12));
+		partToNodesMap.put(elementEditPart, n);
+		graph.nodes.add(n);
+	}
+
+	protected void addEdges(ProcessEditPart diagram) {
+		for (int i = 0; i < diagram.getChildren().size(); i++) {
+			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
+			addEdges(elementEditPart);
+		}
+	}
+
+	protected void addEdges(ElementEditPart elementEditPart) {
+		List outgoing = elementEditPart.getSourceConnections();
+		for (int i = 0; i < outgoing.size(); i++) {
+			ElementConnectionEditPart connectionPart = (ElementConnectionEditPart) elementEditPart.getSourceConnections().get(i);
+			addEdges(connectionPart);
+		}
+	}
+
+	protected void addEdges(ElementConnectionEditPart connectionPart) {
+		Node source = (Node) partToNodesMap.get(connectionPart.getSource());
+		Node target = (Node) partToNodesMap.get(connectionPart.getTarget());
+		Edge e = new Edge(connectionPart, source, target);
+		e.weight = 2;
+		graph.edges.add(e);
+		partToNodesMap.put(connectionPart, e);
+	}
+
+	protected void applyResults(ProcessEditPart diagram) {
+		applyChildrenResults(diagram);
+	}
+
+	protected void applyChildrenResults(ProcessEditPart diagram) {
+		for (int i = 0; i < diagram.getChildren().size(); i++) {
+			ElementEditPart elementEditPart = (ElementEditPart) diagram.getChildren().get(i);
+			applyResults(elementEditPart);
+		}
+	}
+
+	protected void applyOwnResults(ProcessEditPart diagram) {
+	}
+
+	public void applyResults(ElementEditPart elementEditPart) {
+		Node n = (Node) partToNodesMap.get(elementEditPart);
+		ElementFigure elementFigure = (ElementFigure) elementEditPart.getFigure();
+		Rectangle bounds = new Rectangle(n.x, n.y, elementFigure.getPreferredSize().width,
+				elementFigure.getPreferredSize().height);
+		elementFigure.setBounds(bounds);
+		for (int i = 0; i < elementEditPart.getSourceConnections().size(); i++) {
+			ElementConnectionEditPart connectionPart = (ElementConnectionEditPart) elementEditPart.getSourceConnections().get(i);
+			applyResults(connectionPart);
+		}
+	}
+
+	protected void applyResults(ElementConnectionEditPart connectionPart)	{
+		Edge e = (Edge) partToNodesMap.get(connectionPart);
+		NodeList nodes = e.vNodes;
+		PolylineConnection conn = (PolylineConnection) connectionPart.getConnectionFigure();
+		conn.setTargetDecoration(new PolygonDecoration());
+		if (nodes != null) {
+			List bends = new ArrayList();
+			for (int i = 0; i < nodes.size(); i++) {
+				Node vn = nodes.getNode(i);
+				int x = vn.x;
+				int y = vn.y;
+				if (e.isFeedback()) {
+					bends.add(new AbsoluteBendpoint(x, y + vn.height));
+					bends.add(new AbsoluteBendpoint(x, y));
+				} else {
+					bends.add(new AbsoluteBendpoint(x, y));
+					bends.add(new AbsoluteBendpoint(x, y + vn.height));
+				}
+			}
+			conn.setRoutingConstraint(bends);
+		} else {
+			conn.setRoutingConstraint(Collections.EMPTY_LIST);
+		}
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,57 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.jface.viewers.CellEditor;
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-import org.eclipse.gef.tools.CellEditorLocator;
-
-/**
- * A CellEditorLocator for elements.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementCellEditorLocator implements CellEditorLocator {
-
-    private Label label;
-
-    public ElementCellEditorLocator(Label label) {
-        setLabel(label);
-    }
-
-    public void relocate(CellEditor cellEditor) {
-        Text text = (Text) cellEditor.getControl();
-        Point pref = text.computeSize(-1, -1);
-        Rectangle rect = label.getTextBounds().getCopy();
-        label.translateToAbsolute(rect);
-        text.setBounds(rect.x - 1, rect.y - 1, pref.x + 1, pref.y + 1);
-    }
-
-    protected Label getLabel() {
-        return label;
-    }
-
-    protected void setLabel(Label label) {
-        this.label = label;
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementCellEditorLocator.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,57 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Text;
+
+import org.eclipse.jface.viewers.CellEditor;
+
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Rectangle;
+
+import org.eclipse.gef.tools.CellEditorLocator;
+
+/**
+ * A CellEditorLocator for elements.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementCellEditorLocator implements CellEditorLocator {
+
+    private Label label;
+
+    public ElementCellEditorLocator(Label label) {
+        setLabel(label);
+    }
+
+    public void relocate(CellEditor cellEditor) {
+        Text text = (Text) cellEditor.getControl();
+        Point pref = text.computeSize(-1, -1);
+        Rectangle rect = label.getTextBounds().getCopy();
+        label.translateToAbsolute(rect);
+        text.setBounds(rect.x - 1, rect.y - 1, pref.x + 1, pref.y + 1);
+    }
+
+    protected Label getLabel() {
+        return label;
+    }
+
+    protected void setLabel(Label label) {
+        this.label = label;
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,101 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
-import org.drools.eclipse.flow.common.editor.core.ModelEvent;
-import org.drools.eclipse.flow.common.editor.core.ModelListener;
-import org.drools.eclipse.flow.common.editor.policy.ConnectionBendpointEditPolicy;
-import org.drools.eclipse.flow.common.editor.policy.ConnectionEditPolicy;
-import org.eclipse.draw2d.AbsoluteBendpoint;
-import org.eclipse.draw2d.BendpointConnectionRouter;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PolygonDecoration;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.editparts.AbstractConnectionEditPart;
-import org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy;
-
-/**
- * Implementation of a connection EditPart.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementConnectionEditPart extends AbstractConnectionEditPart implements ModelListener {
-    
-    protected void createEditPolicies() {
-    	ConnectionEditPolicy connectionEditPolicy = new ConnectionEditPolicy();
-    	connectionEditPolicy.setDefaultElementConnectionFactory(getDefaultElementConnectionFactory());
-        installEditPolicy(EditPolicy.CONNECTION_ENDPOINTS_ROLE, new ConnectionEndpointEditPolicy());
-        installEditPolicy(EditPolicy.CONNECTION_ROLE, connectionEditPolicy);
-        installEditPolicy(EditPolicy.CONNECTION_BENDPOINTS_ROLE, new ConnectionBendpointEditPolicy());
-    }
-    
-    protected ElementConnectionFactory getDefaultElementConnectionFactory() {
-    	return new ElementConnectionFactory(0);
-    }
-
-    protected IFigure createFigure() {
-        PolylineConnection result = new PolylineConnection();
-        result.setConnectionRouter(new BendpointConnectionRouter());
-        result.setTargetDecoration(new PolygonDecoration());
-        return result;
-    }
-    
-    public void setSelected(int value) {
-        super.setSelected(value);
-        if (value != EditPart.SELECTED_NONE) {
-            ((PolylineConnection)getFigure()).setLineWidth(2);
-        } else {
-            ((PolylineConnection)getFigure()).setLineWidth(1);
-        }
-    }
-    
-    public void modelChanged(ModelEvent event) {
-        if (event.getChange() == ElementConnection.CHANGE_BENDPOINTS) {
-            refreshBendpoints();
-        }
-    }
-
-    public void activate() {
-        super.activate();
-        ((ElementConnection) getModel()).addListener(this);
-    }
-
-    public void deactivate() {
-        ((ElementConnection) getModel()).removeListener(this);
-        super.deactivate();
-    }
-
-    protected void refreshBendpoints() {
-        List bendpoints = ((ElementConnection) getModel()).getBendpoints();
-        List constraint = new ArrayList();
-        for (int i = 0; i < bendpoints.size(); i++) {
-            constraint.add(new AbsoluteBendpoint((Point) bendpoints.get(i)));
-        }
-        getConnectionFigure().setRoutingConstraint(constraint);
-    }
-
-    protected void refreshVisuals() {
-        refreshBendpoints();
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,101 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
+import org.drools.eclipse.flow.common.editor.core.ModelEvent;
+import org.drools.eclipse.flow.common.editor.core.ModelListener;
+import org.drools.eclipse.flow.common.editor.policy.ConnectionBendpointEditPolicy;
+import org.drools.eclipse.flow.common.editor.policy.ConnectionEditPolicy;
+import org.eclipse.draw2d.AbsoluteBendpoint;
+import org.eclipse.draw2d.BendpointConnectionRouter;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.editparts.AbstractConnectionEditPart;
+import org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy;
+
+/**
+ * Implementation of a connection EditPart.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementConnectionEditPart extends AbstractConnectionEditPart implements ModelListener {
+    
+    protected void createEditPolicies() {
+    	ConnectionEditPolicy connectionEditPolicy = new ConnectionEditPolicy();
+    	connectionEditPolicy.setDefaultElementConnectionFactory(getDefaultElementConnectionFactory());
+        installEditPolicy(EditPolicy.CONNECTION_ENDPOINTS_ROLE, new ConnectionEndpointEditPolicy());
+        installEditPolicy(EditPolicy.CONNECTION_ROLE, connectionEditPolicy);
+        installEditPolicy(EditPolicy.CONNECTION_BENDPOINTS_ROLE, new ConnectionBendpointEditPolicy());
+    }
+    
+    protected ElementConnectionFactory getDefaultElementConnectionFactory() {
+    	return new ElementConnectionFactory(0);
+    }
+
+    protected IFigure createFigure() {
+        PolylineConnection result = new PolylineConnection();
+        result.setConnectionRouter(new BendpointConnectionRouter());
+        result.setTargetDecoration(new PolygonDecoration());
+        return result;
+    }
+    
+    public void setSelected(int value) {
+        super.setSelected(value);
+        if (value != EditPart.SELECTED_NONE) {
+            ((PolylineConnection)getFigure()).setLineWidth(2);
+        } else {
+            ((PolylineConnection)getFigure()).setLineWidth(1);
+        }
+    }
+    
+    public void modelChanged(ModelEvent event) {
+        if (event.getChange() == ElementConnection.CHANGE_BENDPOINTS) {
+            refreshBendpoints();
+        }
+    }
+
+    public void activate() {
+        super.activate();
+        ((ElementConnection) getModel()).addListener(this);
+    }
+
+    public void deactivate() {
+        ((ElementConnection) getModel()).removeListener(this);
+        super.deactivate();
+    }
+
+    protected void refreshBendpoints() {
+        List bendpoints = ((ElementConnection) getModel()).getBendpoints();
+        List constraint = new ArrayList();
+        for (int i = 0; i < bendpoints.size(); i++) {
+            constraint.add(new AbsoluteBendpoint((Point) bendpoints.get(i)));
+        }
+        getConnectionFigure().setRoutingConstraint(constraint);
+    }
+
+    protected void refreshVisuals() {
+        refreshBendpoints();
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,134 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ModelEvent;
-import org.drools.eclipse.flow.common.editor.core.ModelListener;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.drools.eclipse.flow.common.editor.policy.ElementDirectEditManager;
-import org.drools.eclipse.flow.common.editor.policy.ElementDirectEditPolicy;
-import org.drools.eclipse.flow.common.editor.policy.ElementEditPolicy;
-import org.drools.eclipse.flow.common.editor.policy.ElementNodeEditPolicy;
-import org.eclipse.draw2d.ChopboxAnchor;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.NodeEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.jface.viewers.TextCellEditor;
-
-/**
- * Default implementation of an element EditPart.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class ElementEditPart extends AbstractGraphicalEditPart implements NodeEditPart, ModelListener {
-    
-    private DirectEditManager manager;
-    
-    protected void createEditPolicies() {
-        installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new ElementNodeEditPolicy());
-        installEditPolicy(EditPolicy.COMPONENT_ROLE, new ElementEditPolicy());
-        installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ElementDirectEditPolicy());
-    }
-    
-    protected ElementWrapper getElementWrapper() {
-    	return (ElementWrapper) getModel();
-    }
-
-    protected List getModelSourceConnections() {
-        return getElementWrapper().getOutgoingConnections();
-    }
-    
-    protected List getModelTargetConnections() {
-        return getElementWrapper().getIncomingConnections();
-    }
-    
-    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
-        return new ChopboxAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
-        return new ChopboxAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
-        return new ChopboxAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
-        return new ChopboxAnchor(getFigure());
-    }
-
-    protected void refreshVisuals() {
-        ElementWrapper element = getElementWrapper();
-        ElementFigure figure = (ElementFigure) getFigure();
-        figure.setText(element.getName());
-        if (element.getConstraint().width == -1) {
-            element.getConstraint().width = figure.getBounds().width;
-        }
-        if (element.getConstraint().height == -1) {
-            element.getConstraint().height = figure.getBounds().height;
-        }
-        ((GraphicalEditPart) getParent()).setLayoutConstraint(this, figure, element.getConstraint());
-    }
-    
-    public void modelChanged(ModelEvent event) {
-        if (event.getChange() == ElementWrapper.CHANGE_INCOMING_CONNECTIONS) {
-            refreshTargetConnections();
-        } else if (event.getChange() == ElementWrapper.CHANGE_OUTGOING_CONNECTIONS) {
-            refreshSourceConnections();
-        } else if (event.getChange() == ElementWrapper.CHANGE_NAME) {
-            refreshVisuals();
-        } else if (event.getChange() == ElementWrapper.CHANGE_CONSTRAINT) {
-            refreshVisuals();
-        }
-    }
-
-    public void activate() {
-        super.activate();
-        ((ElementWrapper) getModel()).addListener(this);
-    }
-
-    public void deactivate() {
-        ((ElementWrapper) getModel()).removeListener(this);
-        super.deactivate();
-    }
-
-    public void performRequest(Request request) {
-        if (request.getType() == RequestConstants.REQ_DIRECT_EDIT) {
-            performDirectEdit();
-        } else {
-            super.performRequest(request);
-        }
-    }
-    
-    private void performDirectEdit() {
-        if (manager == null) {
-            manager = new ElementDirectEditManager(this, TextCellEditor.class,
-                new ElementCellEditorLocator(((ElementFigure) getFigure()).getLabel()));
-        }
-        manager.show();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ElementEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,134 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ModelEvent;
+import org.drools.eclipse.flow.common.editor.core.ModelListener;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.drools.eclipse.flow.common.editor.policy.ElementDirectEditManager;
+import org.drools.eclipse.flow.common.editor.policy.ElementDirectEditPolicy;
+import org.drools.eclipse.flow.common.editor.policy.ElementEditPolicy;
+import org.drools.eclipse.flow.common.editor.policy.ElementNodeEditPolicy;
+import org.eclipse.draw2d.ChopboxAnchor;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.NodeEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.RequestConstants;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.jface.viewers.TextCellEditor;
+
+/**
+ * Default implementation of an element EditPart.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class ElementEditPart extends AbstractGraphicalEditPart implements NodeEditPart, ModelListener {
+    
+    private DirectEditManager manager;
+    
+    protected void createEditPolicies() {
+        installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new ElementNodeEditPolicy());
+        installEditPolicy(EditPolicy.COMPONENT_ROLE, new ElementEditPolicy());
+        installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ElementDirectEditPolicy());
+    }
+    
+    protected ElementWrapper getElementWrapper() {
+    	return (ElementWrapper) getModel();
+    }
+
+    protected List getModelSourceConnections() {
+        return getElementWrapper().getOutgoingConnections();
+    }
+    
+    protected List getModelTargetConnections() {
+        return getElementWrapper().getIncomingConnections();
+    }
+    
+    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
+        return new ChopboxAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
+        return new ChopboxAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+        return new ChopboxAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+        return new ChopboxAnchor(getFigure());
+    }
+
+    protected void refreshVisuals() {
+        ElementWrapper element = getElementWrapper();
+        ElementFigure figure = (ElementFigure) getFigure();
+        figure.setText(element.getName());
+        if (element.getConstraint().width == -1) {
+            element.getConstraint().width = figure.getBounds().width;
+        }
+        if (element.getConstraint().height == -1) {
+            element.getConstraint().height = figure.getBounds().height;
+        }
+        ((GraphicalEditPart) getParent()).setLayoutConstraint(this, figure, element.getConstraint());
+    }
+    
+    public void modelChanged(ModelEvent event) {
+        if (event.getChange() == ElementWrapper.CHANGE_INCOMING_CONNECTIONS) {
+            refreshTargetConnections();
+        } else if (event.getChange() == ElementWrapper.CHANGE_OUTGOING_CONNECTIONS) {
+            refreshSourceConnections();
+        } else if (event.getChange() == ElementWrapper.CHANGE_NAME) {
+            refreshVisuals();
+        } else if (event.getChange() == ElementWrapper.CHANGE_CONSTRAINT) {
+            refreshVisuals();
+        }
+    }
+
+    public void activate() {
+        super.activate();
+        ((ElementWrapper) getModel()).addListener(this);
+    }
+
+    public void deactivate() {
+        ((ElementWrapper) getModel()).removeListener(this);
+        super.deactivate();
+    }
+
+    public void performRequest(Request request) {
+        if (request.getType() == RequestConstants.REQ_DIRECT_EDIT) {
+            performDirectEdit();
+        } else {
+            super.performRequest(request);
+        }
+    }
+    
+    private void performDirectEdit() {
+        if (manager == null) {
+            manager = new ElementDirectEditManager(this, TextCellEditor.class,
+                new ElementCellEditorLocator(((ElementFigure) getFigure()).getLabel()));
+        }
+        manager.show();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,26 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-
-public class GraphLayoutManager extends AbstractLayout {
-
-	private ProcessEditPart diagram;
-
-	public GraphLayoutManager(ProcessEditPart diagram) {
-		this.diagram = diagram;
-	}
-	
-	protected Dimension calculatePreferredSize(IFigure container, int wHint, int hHint) {		
-		container.validate();
-		return container.getSize();
-	}
-
-	
-	public void layout(IFigure container) {
-		new DirectedGraphLayoutVisitor().layoutDiagram(diagram);
-		// diagram.setTableModelBounds();
-	}
-	
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/GraphLayoutManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,26 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+
+import org.eclipse.draw2d.AbstractLayout;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Dimension;
+
+public class GraphLayoutManager extends AbstractLayout {
+
+	private ProcessEditPart diagram;
+
+	public GraphLayoutManager(ProcessEditPart diagram) {
+		this.diagram = diagram;
+	}
+	
+	protected Dimension calculatePreferredSize(IFigure container, int wHint, int hHint) {		
+		container.validate();
+		return container.getSize();
+	}
+
+	
+	public void layout(IFigure container) {
+		new DirectedGraphLayoutVisitor().layoutDiagram(diagram);
+		// diagram.setTableModelBounds();
+	}
+	
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,141 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ModelEvent;
-import org.drools.eclipse.flow.common.editor.core.ModelListener;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.drools.eclipse.flow.common.editor.policy.ProcessLayoutEditPolicy;
-import org.eclipse.draw2d.Animation;
-import org.eclipse.draw2d.AutomaticRouter;
-import org.eclipse.draw2d.BendpointConnectionRouter;
-import org.eclipse.draw2d.ConnectionLayer;
-import org.eclipse.draw2d.FanRouter;
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.ManhattanConnectionRouter;
-import org.eclipse.draw2d.ShortestPathConnectionRouter;
-import org.eclipse.draw2d.XYLayout;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.LayerConstants;
-import org.eclipse.gef.SnapToGrid;
-import org.eclipse.gef.SnapToHelper;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
-import org.eclipse.swt.SWT;
-
-/**
- * Default implementation of a process EditPart.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ProcessEditPart extends AbstractGraphicalEditPart implements ModelListener {
-    
-//	private GraphLayoutManager graphLayoutManager;
-	
-    protected IFigure createFigure() {
-        Figure f = new Figure();
-        f.setLayoutManager(new XYLayout());
-//        graphLayoutManager = new GraphLayoutManager(this);
-//        f.setLayoutManager(graphLayoutManager);
-//        graphLayoutManager.layout(f);
-        return f;
-    }
-
-    protected void createEditPolicies() {
-        installEditPolicy(EditPolicy.NODE_ROLE, null);
-        installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, null);
-        installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, null);
-        installEditPolicy(EditPolicy.LAYOUT_ROLE, new ProcessLayoutEditPolicy());
-        installEditPolicy(EditPolicy.COMPONENT_ROLE, new RootComponentEditPolicy());
-    }
-
-    protected List getModelChildren() {
-        return getProcessWrapper().getElements();
-    }
-    
-    protected ProcessWrapper getProcessWrapper() {
-    	return (ProcessWrapper) getModel();
-    }
-
-    public void activate() {
-        super.activate();
-        ((ProcessWrapper) getModel()).addListener(this);
-    }
-
-    public void deactivate() {
-        ((ProcessWrapper) getModel()).removeListener(this);
-        super.deactivate();
-    }
-
-    public void modelChanged(ModelEvent event) {
-        if (event.getChange() == ProcessWrapper.CHANGE_ELEMENTS) {
-            refreshChildren();
-        } else if (event.getChange() == ProcessWrapper.CHANGE_ROUTER_LAYOUT) {
-    		refreshVisuals();
-    	}
-    }
-    
-    public Object getAdapter(Class adapter) {
-    	if (adapter == SnapToHelper.class) {
-    		Boolean val = (Boolean) getViewer().getProperty(SnapToGrid.PROPERTY_GRID_ENABLED);
-    		if (val != null && val.booleanValue()) {
-    			return new SnapToGrid(this);
-    		}
-    	}
-    	return super.getAdapter(adapter);
-    }
-    
-    protected void refreshVisuals() {
-    	Animation.markBegin();
-    	ConnectionLayer layer = (ConnectionLayer) getLayer(LayerConstants.CONNECTION_LAYER);
-        if ((getViewer().getControl().getStyle() & SWT.MIRRORED ) == 0) {
-            layer.setAntialias(SWT.ON);
-        }
-
-    	if (getProcessWrapper().getRouterLayout().equals(ProcessWrapper.ROUTER_LAYOUT_MANUAL)) {
-    		AutomaticRouter router = new FanRouter();
-    		router.setNextRouter(new BendpointConnectionRouter());
-    		layer.setConnectionRouter(router);
-    	} else if (getProcessWrapper().getRouterLayout().equals(ProcessWrapper.ROUTER_LAYOUT_MANHATTAN)) {
-    		layer.setConnectionRouter(new ManhattanConnectionRouter());
-    	} else {
-    		layer.setConnectionRouter(new ShortestPathConnectionRouter(getFigure()));
-    	}
-    	Animation.run(400);
-    }
-    
-	public boolean setTableModelBounds() {
-		List tableParts = getChildren();
-		for (Iterator iter = tableParts.iterator(); iter.hasNext(); ) {
-			ElementEditPart elementEditPart = (ElementEditPart) iter.next();
-			ElementFigure elementFigure = (ElementFigure) elementEditPart.getFigure();
-			if (elementFigure == null) {
-				continue;
-			}
-			Rectangle constraint = elementFigure.getBounds().getCopy();
-			ElementWrapper elementWrapper = elementEditPart.getElementWrapper();
-			elementWrapper.setConstraint(constraint);
-		}
-		return true;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/ProcessEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,141 @@
+package org.drools.eclipse.flow.common.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ModelEvent;
+import org.drools.eclipse.flow.common.editor.core.ModelListener;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.drools.eclipse.flow.common.editor.policy.ProcessLayoutEditPolicy;
+import org.eclipse.draw2d.Animation;
+import org.eclipse.draw2d.AutomaticRouter;
+import org.eclipse.draw2d.BendpointConnectionRouter;
+import org.eclipse.draw2d.ConnectionLayer;
+import org.eclipse.draw2d.FanRouter;
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.ManhattanConnectionRouter;
+import org.eclipse.draw2d.ShortestPathConnectionRouter;
+import org.eclipse.draw2d.XYLayout;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.LayerConstants;
+import org.eclipse.gef.SnapToGrid;
+import org.eclipse.gef.SnapToHelper;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.eclipse.gef.editpolicies.RootComponentEditPolicy;
+import org.eclipse.swt.SWT;
+
+/**
+ * Default implementation of a process EditPart.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ProcessEditPart extends AbstractGraphicalEditPart implements ModelListener {
+    
+//	private GraphLayoutManager graphLayoutManager;
+	
+    protected IFigure createFigure() {
+        Figure f = new Figure();
+        f.setLayoutManager(new XYLayout());
+//        graphLayoutManager = new GraphLayoutManager(this);
+//        f.setLayoutManager(graphLayoutManager);
+//        graphLayoutManager.layout(f);
+        return f;
+    }
+
+    protected void createEditPolicies() {
+        installEditPolicy(EditPolicy.NODE_ROLE, null);
+        installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, null);
+        installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, null);
+        installEditPolicy(EditPolicy.LAYOUT_ROLE, new ProcessLayoutEditPolicy());
+        installEditPolicy(EditPolicy.COMPONENT_ROLE, new RootComponentEditPolicy());
+    }
+
+    protected List getModelChildren() {
+        return getProcessWrapper().getElements();
+    }
+    
+    protected ProcessWrapper getProcessWrapper() {
+    	return (ProcessWrapper) getModel();
+    }
+
+    public void activate() {
+        super.activate();
+        ((ProcessWrapper) getModel()).addListener(this);
+    }
+
+    public void deactivate() {
+        ((ProcessWrapper) getModel()).removeListener(this);
+        super.deactivate();
+    }
+
+    public void modelChanged(ModelEvent event) {
+        if (event.getChange() == ProcessWrapper.CHANGE_ELEMENTS) {
+            refreshChildren();
+        } else if (event.getChange() == ProcessWrapper.CHANGE_ROUTER_LAYOUT) {
+    		refreshVisuals();
+    	}
+    }
+    
+    public Object getAdapter(Class adapter) {
+    	if (adapter == SnapToHelper.class) {
+    		Boolean val = (Boolean) getViewer().getProperty(SnapToGrid.PROPERTY_GRID_ENABLED);
+    		if (val != null && val.booleanValue()) {
+    			return new SnapToGrid(this);
+    		}
+    	}
+    	return super.getAdapter(adapter);
+    }
+    
+    protected void refreshVisuals() {
+    	Animation.markBegin();
+    	ConnectionLayer layer = (ConnectionLayer) getLayer(LayerConstants.CONNECTION_LAYER);
+        if ((getViewer().getControl().getStyle() & SWT.MIRRORED ) == 0) {
+            layer.setAntialias(SWT.ON);
+        }
+
+    	if (getProcessWrapper().getRouterLayout().equals(ProcessWrapper.ROUTER_LAYOUT_MANUAL)) {
+    		AutomaticRouter router = new FanRouter();
+    		router.setNextRouter(new BendpointConnectionRouter());
+    		layer.setConnectionRouter(router);
+    	} else if (getProcessWrapper().getRouterLayout().equals(ProcessWrapper.ROUTER_LAYOUT_MANHATTAN)) {
+    		layer.setConnectionRouter(new ManhattanConnectionRouter());
+    	} else {
+    		layer.setConnectionRouter(new ShortestPathConnectionRouter(getFigure()));
+    	}
+    	Animation.run(400);
+    }
+    
+	public boolean setTableModelBounds() {
+		List tableParts = getChildren();
+		for (Iterator iter = tableParts.iterator(); iter.hasNext(); ) {
+			ElementEditPart elementEditPart = (ElementEditPart) iter.next();
+			ElementFigure elementFigure = (ElementFigure) elementEditPart.getFigure();
+			if (elementFigure == null) {
+				continue;
+			}
+			Rectangle constraint = elementFigure.getBounds().getCopy();
+			ElementWrapper elementWrapper = elementEditPart.getElementWrapper();
+			elementWrapper.setConstraint(constraint);
+		}
+		return true;
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,69 +0,0 @@
-package org.drools.eclipse.flow.common.editor.editpart.figure;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.Panel;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Default implementation of an element Figure.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class ElementFigure extends Panel {
-    
-    private boolean selected;
-    private Label label = new Label();
-
-    public ElementFigure() {
-        add(label);
-        customizeFigure();
-        setSize(80, 40);
-    }
-    
-    public void setIcon(Image icon) {
-        label.setIcon(icon);
-    }
-    
-    public void setText(String text) {
-        label.setText(text);
-    }
-    
-    public Label getLabel() {
-        return label;
-    }
-    
-    public void setBounds(Rectangle bounds) {
-        super.setBounds(bounds);
-        label.setBounds(bounds);
-    }
-    
-    protected abstract void customizeFigure();
-    
-    public void setSelected(boolean b) {
-        selected = b;
-    }
-    
-    public boolean isSelected() {
-        return selected;
-    }
-
-    public void setFocus(boolean b) {
-        repaint();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/editpart/figure/ElementFigure.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,69 @@
+package org.drools.eclipse.flow.common.editor.editpart.figure;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.Panel;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * Default implementation of an element Figure.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class ElementFigure extends Panel {
+    
+    private boolean selected;
+    private Label label = new Label();
+
+    public ElementFigure() {
+        add(label);
+        customizeFigure();
+        setSize(80, 40);
+    }
+    
+    public void setIcon(Image icon) {
+        label.setIcon(icon);
+    }
+    
+    public void setText(String text) {
+        label.setText(text);
+    }
+    
+    public Label getLabel() {
+        return label;
+    }
+    
+    public void setBounds(Rectangle bounds) {
+        super.setBounds(bounds);
+        label.setBounds(bounds);
+    }
+    
+    protected abstract void customizeFigure();
+    
+    public void setSelected(boolean b) {
+        selected = b;
+    }
+    
+    public boolean isSelected() {
+        return selected;
+    }
+
+    public void setFocus(boolean b) {
+        repaint();
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,64 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.command.CreateBendpointCommand;
-import org.drools.eclipse.flow.common.editor.core.command.DeleteBendpointCommand;
-import org.drools.eclipse.flow.common.editor.core.command.MoveBendpointCommand;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.BendpointEditPolicy;
-import org.eclipse.gef.requests.BendpointRequest;
-
-/**
- * Policy for bendpoints of connections.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConnectionBendpointEditPolicy extends BendpointEditPolicy {
-
-    protected Command getCreateBendpointCommand(BendpointRequest request) {
-        Point point = request.getLocation();
-        getConnection().translateToRelative(point);
-        
-        CreateBendpointCommand command = new CreateBendpointCommand();
-        command.setLocation(point);
-        command.setConnection(getHost().getModel());
-        command.setIndex(request.getIndex());
-        
-        return command;
-    }
-
-    protected Command getDeleteBendpointCommand(BendpointRequest request) {
-        DeleteBendpointCommand command = new DeleteBendpointCommand();
-        command.setConnectionModel(getHost().getModel());
-        command.setIndex(request.getIndex());
-        return command;
-    }
-
-    protected Command getMoveBendpointCommand(BendpointRequest request) {
-        Point location = request.getLocation();
-        getConnection().translateToRelative(location);
-
-        MoveBendpointCommand command = new MoveBendpointCommand();
-        command.setConnectionModel(getHost().getModel());
-        command.setIndex(request.getIndex());
-        command.setNewLocation(location);
-
-        return command;
-
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionBendpointEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,64 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.command.CreateBendpointCommand;
+import org.drools.eclipse.flow.common.editor.core.command.DeleteBendpointCommand;
+import org.drools.eclipse.flow.common.editor.core.command.MoveBendpointCommand;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.BendpointEditPolicy;
+import org.eclipse.gef.requests.BendpointRequest;
+
+/**
+ * Policy for bendpoints of connections.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConnectionBendpointEditPolicy extends BendpointEditPolicy {
+
+    protected Command getCreateBendpointCommand(BendpointRequest request) {
+        Point point = request.getLocation();
+        getConnection().translateToRelative(point);
+        
+        CreateBendpointCommand command = new CreateBendpointCommand();
+        command.setLocation(point);
+        command.setConnection(getHost().getModel());
+        command.setIndex(request.getIndex());
+        
+        return command;
+    }
+
+    protected Command getDeleteBendpointCommand(BendpointRequest request) {
+        DeleteBendpointCommand command = new DeleteBendpointCommand();
+        command.setConnectionModel(getHost().getModel());
+        command.setIndex(request.getIndex());
+        return command;
+    }
+
+    protected Command getMoveBendpointCommand(BendpointRequest request) {
+        Point location = request.getLocation();
+        getConnection().translateToRelative(location);
+
+        MoveBendpointCommand command = new MoveBendpointCommand();
+        command.setConnectionModel(getHost().getModel());
+        command.setIndex(request.getIndex());
+        command.setNewLocation(location);
+
+        return command;
+
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,101 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.drools.eclipse.flow.common.editor.core.command.DeleteConnectionCommand;
-import org.drools.eclipse.flow.common.editor.core.command.SplitConnectionCommand;
-import org.drools.eclipse.flow.common.editor.editpart.ElementConnectionEditPart;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.CreateRequest;
-import org.eclipse.gef.requests.GroupRequest;
-
-/**
- * Policy for editing connections.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConnectionEditPolicy extends org.eclipse.gef.editpolicies.ConnectionEditPolicy {
-
-	private ElementConnectionFactory elementConnectionFactory;
-	
-	
-	public void setDefaultElementConnectionFactory(ElementConnectionFactory factory) {
-		if (factory == null) {
-			throw new IllegalArgumentException("ElementConnectionFactory is null");
-		}
-		this.elementConnectionFactory = factory;
-	}
-	
-	public ElementConnectionFactory getDefaultElementConnectionFactory() {
-		return elementConnectionFactory;
-	}
-	
-    public Command getCommand(Request request) {
-        if (REQ_CREATE.equals(request.getType()))
-            return getSplitTransitionCommand(request);
-        return super.getCommand(request);
-    }
-
-    private PolylineConnection getConnectionFigure() {
-        return ((PolylineConnection) ((ElementConnectionEditPart) getHost()).getFigure());
-    }
-
-    protected Command getDeleteCommand(GroupRequest request) {
-        DeleteConnectionCommand cmd = new DeleteConnectionCommand();
-        ElementConnection connection = (ElementConnection) getHost().getModel();
-        cmd.setAntecedentTaskConnection(connection);
-        cmd.setSource(connection.getSource());
-        cmd.setTarget(connection.getTarget());
-        return cmd;
-    }
-
-    protected Command getSplitTransitionCommand(Request request) {
-    	if (elementConnectionFactory == null) {
-    		throw new IllegalStateException("DefaultElementConnectionFactory is null");
-    	}
-        SplitConnectionCommand cmd = new SplitConnectionCommand();
-        cmd.setElementConnection(((ElementConnection) getHost().getModel()));
-        cmd.setNewSecondConnection(elementConnectionFactory.createElementConnection());
-        cmd.setParent(((ProcessWrapper) ((ElementConnectionEditPart) getHost())
-            .getSource().getParent().getModel()));
-        cmd.setNewElement(((ElementWrapper) ((CreateRequest) request).getNewObject()));
-        return cmd;
-    }
-
-    public EditPart getTargetEditPart(Request request) {
-        if (REQ_CREATE.equals(request.getType()))
-            return getHost();
-        return null;
-    }
-
-    public void eraseTargetFeedback(Request request) {
-        if (REQ_CREATE.equals(request.getType()))
-            getConnectionFigure().setLineWidth(1);
-    }
-
-    public void showTargetFeedback(Request request) {
-        if (REQ_CREATE.equals(request.getType()))
-            getConnectionFigure().setLineWidth(2);
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ConnectionEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,101 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.eclipse.flow.common.editor.core.command.DeleteConnectionCommand;
+import org.drools.eclipse.flow.common.editor.core.command.SplitConnectionCommand;
+import org.drools.eclipse.flow.common.editor.editpart.ElementConnectionEditPart;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.requests.CreateRequest;
+import org.eclipse.gef.requests.GroupRequest;
+
+/**
+ * Policy for editing connections.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConnectionEditPolicy extends org.eclipse.gef.editpolicies.ConnectionEditPolicy {
+
+	private ElementConnectionFactory elementConnectionFactory;
+	
+	
+	public void setDefaultElementConnectionFactory(ElementConnectionFactory factory) {
+		if (factory == null) {
+			throw new IllegalArgumentException("ElementConnectionFactory is null");
+		}
+		this.elementConnectionFactory = factory;
+	}
+	
+	public ElementConnectionFactory getDefaultElementConnectionFactory() {
+		return elementConnectionFactory;
+	}
+	
+    public Command getCommand(Request request) {
+        if (REQ_CREATE.equals(request.getType()))
+            return getSplitTransitionCommand(request);
+        return super.getCommand(request);
+    }
+
+    private PolylineConnection getConnectionFigure() {
+        return ((PolylineConnection) ((ElementConnectionEditPart) getHost()).getFigure());
+    }
+
+    protected Command getDeleteCommand(GroupRequest request) {
+        DeleteConnectionCommand cmd = new DeleteConnectionCommand();
+        ElementConnection connection = (ElementConnection) getHost().getModel();
+        cmd.setAntecedentTaskConnection(connection);
+        cmd.setSource(connection.getSource());
+        cmd.setTarget(connection.getTarget());
+        return cmd;
+    }
+
+    protected Command getSplitTransitionCommand(Request request) {
+    	if (elementConnectionFactory == null) {
+    		throw new IllegalStateException("DefaultElementConnectionFactory is null");
+    	}
+        SplitConnectionCommand cmd = new SplitConnectionCommand();
+        cmd.setElementConnection(((ElementConnection) getHost().getModel()));
+        cmd.setNewSecondConnection(elementConnectionFactory.createElementConnection());
+        cmd.setParent(((ProcessWrapper) ((ElementConnectionEditPart) getHost())
+            .getSource().getParent().getModel()));
+        cmd.setNewElement(((ElementWrapper) ((CreateRequest) request).getNewObject()));
+        return cmd;
+    }
+
+    public EditPart getTargetEditPart(Request request) {
+        if (REQ_CREATE.equals(request.getType()))
+            return getHost();
+        return null;
+    }
+
+    public void eraseTargetFeedback(Request request) {
+        if (REQ_CREATE.equals(request.getType()))
+            getConnectionFigure().setLineWidth(1);
+    }
+
+    public void showTargetFeedback(Request request) {
+        if (REQ_CREATE.equals(request.getType()))
+            getConnectionFigure().setLineWidth(2);
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,44 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.tools.CellEditorLocator;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Manager for directly editing elements.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementDirectEditManager extends DirectEditManager {
-
-    private ElementWrapper element;
-
-    public ElementDirectEditManager(GraphicalEditPart source, Class editorType,
-            CellEditorLocator locator) {
-        super(source, editorType, locator);
-        element = (ElementWrapper) source.getModel();
-    }
-
-    protected void initCellEditor() {
-        getCellEditor().setValue(element.getName());
-        Text text = (Text) getCellEditor().getControl();
-        text.selectAll();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,44 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.tools.CellEditorLocator;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Manager for directly editing elements.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementDirectEditManager extends DirectEditManager {
+
+    private ElementWrapper element;
+
+    public ElementDirectEditManager(GraphicalEditPart source, Class editorType,
+            CellEditorLocator locator) {
+        super(source, editorType, locator);
+        element = (ElementWrapper) source.getModel();
+    }
+
+    protected void initCellEditor() {
+        getCellEditor().setValue(element.getName());
+        Text text = (Text) getCellEditor().getControl();
+        text.selectAll();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,45 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.command.RenameElementCommand;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.DirectEditPolicy;
-import org.eclipse.gef.requests.DirectEditRequest;
-
-/**
- * Policy for directly editing elements.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementDirectEditPolicy extends DirectEditPolicy {
-
-    protected Command getDirectEditCommand(DirectEditRequest request) {
-        RenameElementCommand cmd = new RenameElementCommand();
-        cmd.setSource((ElementWrapper) getHost().getModel());
-        cmd.setOldName(((ElementWrapper) getHost().getModel()).getName());
-        cmd.setName((String) request.getCellEditor().getValue());
-        return cmd;
-    }
-
-    protected void showCurrentEditValue(DirectEditRequest request) {
-        String value = (String) request.getCellEditor().getValue();
-        ((ElementFigure) getHostFigure()).setText(value);
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementDirectEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,45 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.command.RenameElementCommand;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.DirectEditPolicy;
+import org.eclipse.gef.requests.DirectEditRequest;
+
+/**
+ * Policy for directly editing elements.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementDirectEditPolicy extends DirectEditPolicy {
+
+    protected Command getDirectEditCommand(DirectEditRequest request) {
+        RenameElementCommand cmd = new RenameElementCommand();
+        cmd.setSource((ElementWrapper) getHost().getModel());
+        cmd.setOldName(((ElementWrapper) getHost().getModel()).getName());
+        cmd.setName((String) request.getCellEditor().getValue());
+        return cmd;
+    }
+
+    protected void showCurrentEditValue(DirectEditRequest request) {
+        String value = (String) request.getCellEditor().getValue();
+        ((ElementFigure) getHostFigure()).setText(value);
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.drools.eclipse.flow.common.editor.core.command.DeleteElementCommand;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.ComponentEditPolicy;
-import org.eclipse.gef.requests.GroupRequest;
-
-/**
- * Policy for editing elements.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementEditPolicy extends ComponentEditPolicy {
-
-    protected Command createDeleteCommand(GroupRequest deleteRequest) {
-        ProcessWrapper parent = (ProcessWrapper) getHost().getParent().getModel();
-        DeleteElementCommand deleteCmd = new DeleteElementCommand();
-        deleteCmd.setParent(parent);
-        deleteCmd.setChild((ElementWrapper) (getHost().getModel()));
-        return deleteCmd;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.eclipse.flow.common.editor.core.command.DeleteElementCommand;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.ComponentEditPolicy;
+import org.eclipse.gef.requests.GroupRequest;
+
+/**
+ * Policy for editing elements.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementEditPolicy extends ComponentEditPolicy {
+
+    protected Command createDeleteCommand(GroupRequest deleteRequest) {
+        ProcessWrapper parent = (ProcessWrapper) getHost().getParent().getModel();
+        DeleteElementCommand deleteCmd = new DeleteElementCommand();
+        deleteCmd.setParent(parent);
+        deleteCmd.setChild((ElementWrapper) (getHost().getModel()));
+        return deleteCmd;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,77 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.command.ElementConnectionCreateCommand;
-import org.drools.eclipse.flow.common.editor.core.command.ReconnectElementConnectionSourceCommand;
-import org.drools.eclipse.flow.common.editor.core.command.ReconnectElementConnectionTargetCommand;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy;
-import org.eclipse.gef.requests.CreateConnectionRequest;
-import org.eclipse.gef.requests.ReconnectRequest;
-
-/**
- * Policy for editing an element node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ElementNodeEditPolicy extends GraphicalNodeEditPolicy {
-
-    protected Command getConnectionCompleteCommand(CreateConnectionRequest request) {
-        ElementConnectionCreateCommand cmd =
-            (ElementConnectionCreateCommand) request.getStartCommand();
-        cmd.setConnection((ElementConnection) request.getNewObject());
-        cmd.setTarget(getElement());
-        return cmd;
-    }
-
-    protected Command getConnectionCreateCommand(CreateConnectionRequest request) {
-        ElementConnectionCreateCommand cmd =
-            new ElementConnectionCreateCommand();
-        cmd.setConnection((ElementConnection) request.getNewObject());
-        cmd.setSource(getElement());
-        request.setStartCommand(cmd);
-        return cmd;
-    }
-
-    protected ElementEditPart getActivityPart() {
-        return (ElementEditPart) getHost();
-    }
-
-    protected ElementWrapper getElement() {
-        return (ElementWrapper) getHost().getModel();
-    }
-
-    protected Command getReconnectSourceCommand(ReconnectRequest request) {
-        ReconnectElementConnectionSourceCommand cmd
-            = new ReconnectElementConnectionSourceCommand();
-        cmd.setConnection((ElementConnection) request.getConnectionEditPart().getModel());
-        cmd.setSource(getElement());
-        return cmd;
-    }
-
-    protected Command getReconnectTargetCommand(ReconnectRequest request) {
-        ReconnectElementConnectionTargetCommand cmd
-            = new ReconnectElementConnectionTargetCommand();
-        cmd.setConnection((ElementConnection) request.getConnectionEditPart().getModel());
-        cmd.setTarget(getElement());
-        return cmd;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ElementNodeEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,77 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.command.ElementConnectionCreateCommand;
+import org.drools.eclipse.flow.common.editor.core.command.ReconnectElementConnectionSourceCommand;
+import org.drools.eclipse.flow.common.editor.core.command.ReconnectElementConnectionTargetCommand;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy;
+import org.eclipse.gef.requests.CreateConnectionRequest;
+import org.eclipse.gef.requests.ReconnectRequest;
+
+/**
+ * Policy for editing an element node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ElementNodeEditPolicy extends GraphicalNodeEditPolicy {
+
+    protected Command getConnectionCompleteCommand(CreateConnectionRequest request) {
+        ElementConnectionCreateCommand cmd =
+            (ElementConnectionCreateCommand) request.getStartCommand();
+        cmd.setConnection((ElementConnection) request.getNewObject());
+        cmd.setTarget(getElement());
+        return cmd;
+    }
+
+    protected Command getConnectionCreateCommand(CreateConnectionRequest request) {
+        ElementConnectionCreateCommand cmd =
+            new ElementConnectionCreateCommand();
+        cmd.setConnection((ElementConnection) request.getNewObject());
+        cmd.setSource(getElement());
+        request.setStartCommand(cmd);
+        return cmd;
+    }
+
+    protected ElementEditPart getActivityPart() {
+        return (ElementEditPart) getHost();
+    }
+
+    protected ElementWrapper getElement() {
+        return (ElementWrapper) getHost().getModel();
+    }
+
+    protected Command getReconnectSourceCommand(ReconnectRequest request) {
+        ReconnectElementConnectionSourceCommand cmd
+            = new ReconnectElementConnectionSourceCommand();
+        cmd.setConnection((ElementConnection) request.getConnectionEditPart().getModel());
+        cmd.setSource(getElement());
+        return cmd;
+    }
+
+    protected Command getReconnectTargetCommand(ReconnectRequest request) {
+        ReconnectElementConnectionTargetCommand cmd
+            = new ReconnectElementConnectionTargetCommand();
+        cmd.setConnection((ElementConnection) request.getConnectionEditPart().getModel());
+        cmd.setTarget(getElement());
+        return cmd;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,63 +0,0 @@
-package org.drools.eclipse.flow.common.editor.policy;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.drools.eclipse.flow.common.editor.core.command.AddElementCommand;
-import org.drools.eclipse.flow.common.editor.core.command.ChangeConstraintCommand;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.XYLayoutEditPolicy;
-import org.eclipse.gef.requests.CreateRequest;
-
-/**
- * Policy for performing layout of a process.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ProcessLayoutEditPolicy extends XYLayoutEditPolicy {
-    
-    protected Command getCreateCommand(CreateRequest request) {
-        AddElementCommand command = new AddElementCommand();
-        command.setParent((ProcessWrapper) getHost().getModel());
-        ElementWrapper element = (ElementWrapper) request.getNewObject();
-        element.setConstraint((Rectangle) getConstraintFor(request));
-        command.setChild(element);
-        return command;
-    }
-
-    protected Command getDeleteDependantCommand(Request request) {
-        return null;
-    }
-
-    protected Command createAddCommand(EditPart child, Object constraint) {
-        ElementWrapper element = (ElementWrapper) child.getModel();
-        AddElementCommand add = new AddElementCommand();
-        add.setParent((ProcessWrapper) getHost().getModel());
-        add.setChild(element);
-        return add;
-    }
-
-    protected Command createChangeConstraintCommand(EditPart child, Object constraint) {
-        ChangeConstraintCommand command = new ChangeConstraintCommand();
-        command.setElement((ElementWrapper) child.getModel());
-        command.setConstraint((Rectangle)constraint);
-        return command;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/policy/ProcessLayoutEditPolicy.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,63 @@
+package org.drools.eclipse.flow.common.editor.policy;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.eclipse.flow.common.editor.core.command.AddElementCommand;
+import org.drools.eclipse.flow.common.editor.core.command.ChangeConstraintCommand;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.XYLayoutEditPolicy;
+import org.eclipse.gef.requests.CreateRequest;
+
+/**
+ * Policy for performing layout of a process.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ProcessLayoutEditPolicy extends XYLayoutEditPolicy {
+    
+    protected Command getCreateCommand(CreateRequest request) {
+        AddElementCommand command = new AddElementCommand();
+        command.setParent((ProcessWrapper) getHost().getModel());
+        ElementWrapper element = (ElementWrapper) request.getNewObject();
+        element.setConstraint((Rectangle) getConstraintFor(request));
+        command.setChild(element);
+        return command;
+    }
+
+    protected Command getDeleteDependantCommand(Request request) {
+        return null;
+    }
+
+    protected Command createAddCommand(EditPart child, Object constraint) {
+        ElementWrapper element = (ElementWrapper) child.getModel();
+        AddElementCommand add = new AddElementCommand();
+        add.setParent((ProcessWrapper) getHost().getModel());
+        add.setChild(element);
+        return add;
+    }
+
+    protected Command createChangeConstraintCommand(EditPart child, Object constraint) {
+        ChangeConstraintCommand command = new ChangeConstraintCommand();
+        command.setElement((ElementWrapper) child.getModel());
+        command.setConstraint((Rectangle)constraint);
+        return command;
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.ruleflow.common.datatype.DataType;
-
-/**
- * An editor for a datatype.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface DataTypeEditor {
-
-    void setDataType(DataType dataType);
-    
-    DataType getDataType();
-    
-    void reset();
-    
-    void addListener(DataTypeListener listener);
-    
-    void removeListener(DataTypeListener listener);
-
-    public interface DataTypeListener {
-        void dataTypeChanged(DataType dataType);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/DataTypeEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.flow.common.view.datatype.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.ruleflow.common.datatype.DataType;
+
+/**
+ * An editor for a datatype.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface DataTypeEditor {
+
+    void setDataType(DataType dataType);
+    
+    DataType getDataType();
+    
+    void reset();
+    
+    void addListener(DataTypeListener listener);
+    
+    void removeListener(DataTypeListener listener);
+
+    public interface DataTypeListener {
+        void dataTypeChanged(DataType dataType);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,38 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.ruleflow.common.datatype.DataType;
-
-
-/**
- * An editor for an object with a given datatype.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface Editor {
-
-    void setDataType(DataType dataType);
-    
-	Serializable getValue();
-    
-    void setValue(Serializable value);
-    
-    void reset();
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/Editor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,38 @@
+package org.drools.eclipse.flow.common.view.datatype.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.ruleflow.common.datatype.DataType;
+
+
+/**
+ * An editor for an object with a given datatype.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface Editor {
+
+    void setDataType(DataType dataType);
+    
+	Serializable getValue();
+    
+    void setValue(Serializable value);
+    
+    void reset();
+    
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,75 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.common.datatype.impl.type.BooleanDataType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Default boolean editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class BooleanEditor extends Composite implements Editor {
-
-    private static final String[] TF = { "true", "false" };
-    
-    private Combo combo;
-    
-    public BooleanEditor(Composite parent) {
-        super(parent, SWT.NONE);
-        setLayout(new FillLayout());
-        combo = new Combo(this, SWT.READ_ONLY);
-        combo.setItems(TF);
-        combo.select(1);
-    }
-
-    public void setDataType(DataType dataType) {
-        if (!(dataType instanceof BooleanDataType)) {
-            throw new IllegalArgumentException("Illegal data type " + dataType);
-        }
-    }
-
-    public Serializable getValue() {
-        return Boolean.valueOf(combo.getSelectionIndex() == 0);
-    }
-    
-    public void setValue(Serializable value) {
-        if (value == null) {
-            combo.select(1);
-        } else if (value instanceof Boolean) {
-            combo.select(((Boolean) value).booleanValue() ? 0 : 1);
-        } else {
-            throw new IllegalArgumentException("Value must be a boolean: " + value);
-        }
-    }
-    
-    public void reset() {
-        combo.select(1);
-    }
-    
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        combo.setEnabled(enabled);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/BooleanEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,75 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.common.datatype.impl.type.BooleanDataType;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Default boolean editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class BooleanEditor extends Composite implements Editor {
+
+    private static final String[] TF = { "true", "false" };
+    
+    private Combo combo;
+    
+    public BooleanEditor(Composite parent) {
+        super(parent, SWT.NONE);
+        setLayout(new FillLayout());
+        combo = new Combo(this, SWT.READ_ONLY);
+        combo.setItems(TF);
+        combo.select(1);
+    }
+
+    public void setDataType(DataType dataType) {
+        if (!(dataType instanceof BooleanDataType)) {
+            throw new IllegalArgumentException("Illegal data type " + dataType);
+        }
+    }
+
+    public Serializable getValue() {
+        return Boolean.valueOf(combo.getSelectionIndex() == 0);
+    }
+    
+    public void setValue(Serializable value) {
+        if (value == null) {
+            combo.select(1);
+        } else if (value instanceof Boolean) {
+            combo.select(((Boolean) value).booleanValue() ? 0 : 1);
+        } else {
+            throw new IllegalArgumentException("Value must be a boolean: " + value);
+        }
+    }
+    
+    public void reset() {
+        combo.select(1);
+    }
+    
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        combo.setEnabled(enabled);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,96 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Combobox for datatypes based on a datatype registry.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DataTypeCombo extends Composite {
-    
-    private DataTypeRegistry registry;
-    private ComboViewer dataTypeCombo;
-    
-    public DataTypeCombo(Composite parent, int style, DataTypeRegistry registry) {
-        super(parent, style);
-        this.registry = registry;
-        setLayout(new FillLayout());
-        dataTypeCombo = new ComboViewer(this, SWT.READ_ONLY);
-        dataTypeCombo.setLabelProvider(new LabelProvider() {
-            public String getText(Object element) {
-                return ((DataTypeRegistry.IDataTypeInfo) element).getName();
-            }
-        });
-        dataTypeCombo.add(registry.getDataTypes().toArray(
-            new DataTypeRegistry.IDataTypeInfo[0]));
-    }
-    
-    private DataTypeRegistry.IDataTypeInfo getSelectedTypeInfo() {
-        ISelection selection = dataTypeCombo.getSelection();
-        if (!selection.isEmpty()) {
-            return (DataTypeRegistry.IDataTypeInfo)
-                ((StructuredSelection) selection).getFirstElement();
-        }
-        return null;
-    }
-    
-    public void setDataType(DataType dataType) {
-        if (dataType == null) {
-        	dataTypeCombo.setSelection(null);
-        } else {
-        	// TODO : check what happens if dataType not in combo
-            try {
-            	dataTypeCombo.setSelection(new StructuredSelection(registry.getDataTypeInfo(dataType.getClass())));
-            } catch (IllegalArgumentException e) {
-            	// "DataTypeInfo not found in registry: " + dataType.getClass()
-            	DroolsEclipsePlugin.log(e);
-            }
-        }
-    }
-    
-    public DataType getDataType() {
-    	DataTypeRegistry.IDataTypeInfo dataTypeInfo =
-    		getSelectedTypeInfo();
-        return dataTypeInfo == null ? null : 
-        	dataTypeInfo.getDataTypeFactory().createDataType();
-    }
-    
-    public void reset() {
-    	dataTypeCombo.setSelection(null);
-    }
-    
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        dataTypeCombo.getCombo().setEnabled(enabled);
-    }
-    
-    public void addSelectionChangedListener(ISelectionChangedListener listener) {
-    	dataTypeCombo.addSelectionChangedListener(listener);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeCombo.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,96 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.eclipse.jface.viewers.ComboViewer;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Combobox for datatypes based on a datatype registry.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DataTypeCombo extends Composite {
+    
+    private DataTypeRegistry registry;
+    private ComboViewer dataTypeCombo;
+    
+    public DataTypeCombo(Composite parent, int style, DataTypeRegistry registry) {
+        super(parent, style);
+        this.registry = registry;
+        setLayout(new FillLayout());
+        dataTypeCombo = new ComboViewer(this, SWT.READ_ONLY);
+        dataTypeCombo.setLabelProvider(new LabelProvider() {
+            public String getText(Object element) {
+                return ((DataTypeRegistry.IDataTypeInfo) element).getName();
+            }
+        });
+        dataTypeCombo.add(registry.getDataTypes().toArray(
+            new DataTypeRegistry.IDataTypeInfo[0]));
+    }
+    
+    private DataTypeRegistry.IDataTypeInfo getSelectedTypeInfo() {
+        ISelection selection = dataTypeCombo.getSelection();
+        if (!selection.isEmpty()) {
+            return (DataTypeRegistry.IDataTypeInfo)
+                ((StructuredSelection) selection).getFirstElement();
+        }
+        return null;
+    }
+    
+    public void setDataType(DataType dataType) {
+        if (dataType == null) {
+        	dataTypeCombo.setSelection(null);
+        } else {
+        	// TODO : check what happens if dataType not in combo
+            try {
+            	dataTypeCombo.setSelection(new StructuredSelection(registry.getDataTypeInfo(dataType.getClass())));
+            } catch (IllegalArgumentException e) {
+            	// "DataTypeInfo not found in registry: " + dataType.getClass()
+            	DroolsEclipsePlugin.log(e);
+            }
+        }
+    }
+    
+    public DataType getDataType() {
+    	DataTypeRegistry.IDataTypeInfo dataTypeInfo =
+    		getSelectedTypeInfo();
+        return dataTypeInfo == null ? null : 
+        	dataTypeInfo.getDataTypeFactory().createDataType();
+    }
+    
+    public void reset() {
+    	dataTypeCombo.setSelection(null);
+    }
+    
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        dataTypeCombo.getCombo().setEnabled(enabled);
+    }
+    
+    public void addSelectionChangedListener(ISelectionChangedListener listener) {
+    	dataTypeCombo.addSelectionChangedListener(listener);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,125 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
-import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.common.datatype.impl.type.UndefinedDataType;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Default editor for a datatype. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class DataTypeEditorComposite extends Composite implements DataTypeEditor.DataTypeListener {
-    private DataTypeRegistry registry;
-    private DataTypeEditor dataTypeEditor;
-    private List listeners = new ArrayList();
-   
-    public DataTypeEditorComposite(Composite parent, int style, DataTypeRegistry registry) {
-        super(parent, style);
-        this.registry = registry;
-        setLayout(new FillLayout());
-        dataTypeEditor = new EmptyEditor(this);
-    }
-    public void setDataType(DataType dataType) {
-        if (dataType == null) {
-            reset();
-        } else {
-            // update data type editor
-            dataTypeEditor.removeListener(this);
-            ((Composite) dataTypeEditor).dispose();
-            dataTypeEditor = null;
-            Class editorClass = null;
-            try {
-                editorClass = registry.getDataTypeInfo(dataType.getClass()).getDataTypeEditorClass();
-                dataTypeEditor = (DataTypeEditor) editorClass.getConstructor(
-                    new Class[] { Composite.class }).newInstance(new Object[] { this });
-            } catch (IllegalArgumentException e) {
-            	// "Could not find data type info for type " + dataType.getClass()
-                DroolsEclipsePlugin.log(e);
-            } catch (InstantiationException e) {
-                // "Could not create editor for type " + editorClass
-                DroolsEclipsePlugin.log(e);
-            } catch (NoSuchMethodException e) {
-                // "Could not create editor for type " + editorClass
-                DroolsEclipsePlugin.log(e);
-            } catch (InvocationTargetException e) {
-                // "Could not create editor for type " + editorClass
-                DroolsEclipsePlugin.log(e);
-            } catch (IllegalAccessException e) {
-                // "Could not create editor for type " + editorClass
-                DroolsEclipsePlugin.log(e);
-            }
-            
-            if (dataTypeEditor == null) {
-                dataTypeEditor = new EmptyEditor(this);
-            }
-            dataTypeEditor.addListener(this);
-            dataTypeEditor.setDataType(dataType);
-            ((Composite) dataTypeEditor).setBackground(getBackground());
-            layout();
-        }
-    }
-    
-    public DataType getDataType() {
-        return dataTypeEditor.getDataType();
-    }
-    
-   public void reset() {
-        setDataType(UndefinedDataType.getInstance());
-    }
-    
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        ((Composite) dataTypeEditor).setEnabled(enabled);
-    }
-    
-    public void addListener(DataTypeEditor.DataTypeListener listener) {
-        listeners.add(listener);
-    }
-    
-    public void removeListener(DataTypeEditor.DataTypeListener listener) {
-        listeners.remove(listener);
-    }
-    
-    private void notifyListeners() {
-        DataType dataType = getDataType();
-        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
-        	DataTypeEditor.DataTypeListener listener = (DataTypeEditor.DataTypeListener) it.next();
-            listener.dataTypeChanged(dataType);
-        }
-    }
-
-    public void dataTypeChanged(DataType dataType) {
-        notifyListeners();
-    }
-    
-    public void setBackground(Color color) {
-    	super.setBackground(color);
-    	((Composite) dataTypeEditor).setBackground(color);
-    }
-}
Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/DataTypeEditorComposite.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,125 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
+import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.common.datatype.impl.type.UndefinedDataType;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Default editor for a datatype. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class DataTypeEditorComposite extends Composite implements DataTypeEditor.DataTypeListener {
+    private DataTypeRegistry registry;
+    private DataTypeEditor dataTypeEditor;
+    private List listeners = new ArrayList();
+   
+    public DataTypeEditorComposite(Composite parent, int style, DataTypeRegistry registry) {
+        super(parent, style);
+        this.registry = registry;
+        setLayout(new FillLayout());
+        dataTypeEditor = new EmptyEditor(this);
+    }
+    public void setDataType(DataType dataType) {
+        if (dataType == null) {
+            reset();
+        } else {
+            // update data type editor
+            dataTypeEditor.removeListener(this);
+            ((Composite) dataTypeEditor).dispose();
+            dataTypeEditor = null;
+            Class editorClass = null;
+            try {
+                editorClass = registry.getDataTypeInfo(dataType.getClass()).getDataTypeEditorClass();
+                dataTypeEditor = (DataTypeEditor) editorClass.getConstructor(
+                    new Class[] { Composite.class }).newInstance(new Object[] { this });
+            } catch (IllegalArgumentException e) {
+            	// "Could not find data type info for type " + dataType.getClass()
+                DroolsEclipsePlugin.log(e);
+            } catch (InstantiationException e) {
+                // "Could not create editor for type " + editorClass
+                DroolsEclipsePlugin.log(e);
+            } catch (NoSuchMethodException e) {
+                // "Could not create editor for type " + editorClass
+                DroolsEclipsePlugin.log(e);
+            } catch (InvocationTargetException e) {
+                // "Could not create editor for type " + editorClass
+                DroolsEclipsePlugin.log(e);
+            } catch (IllegalAccessException e) {
+                // "Could not create editor for type " + editorClass
+                DroolsEclipsePlugin.log(e);
+            }
+            
+            if (dataTypeEditor == null) {
+                dataTypeEditor = new EmptyEditor(this);
+            }
+            dataTypeEditor.addListener(this);
+            dataTypeEditor.setDataType(dataType);
+            ((Composite) dataTypeEditor).setBackground(getBackground());
+            layout();
+        }
+    }
+    
+    public DataType getDataType() {
+        return dataTypeEditor.getDataType();
+    }
+    
+   public void reset() {
+        setDataType(UndefinedDataType.getInstance());
+    }
+    
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        ((Composite) dataTypeEditor).setEnabled(enabled);
+    }
+    
+    public void addListener(DataTypeEditor.DataTypeListener listener) {
+        listeners.add(listener);
+    }
+    
+    public void removeListener(DataTypeEditor.DataTypeListener listener) {
+        listeners.remove(listener);
+    }
+    
+    private void notifyListeners() {
+        DataType dataType = getDataType();
+        for (Iterator it = listeners.iterator(); it.hasNext(); ) {
+        	DataTypeEditor.DataTypeListener listener = (DataTypeEditor.DataTypeListener) it.next();
+            listener.dataTypeChanged(dataType);
+        }
+    }
+
+    public void dataTypeChanged(DataType dataType) {
+        notifyListeners();
+    }
+    
+    public void setBackground(Color color) {
+    	super.setBackground(color);
+    	((Composite) dataTypeEditor).setBackground(color);
+    }
+}
Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,97 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-import java.lang.reflect.InvocationTargetException;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Container for an editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class EditorComposite extends Composite {
-    
-    private DataTypeRegistry registry;
-    private Editor editor;
-    
-    public EditorComposite(Composite parent, int style, DataTypeRegistry registry) {
-        super(parent, style);
-        this.registry = registry;
-        setLayout(new FillLayout());
-        editor = new EmptyEditor(this);
-    }
-    
-    public void setDataType(DataType type) {
-        ((Composite) editor).dispose();
-        if (type == null) {
-            editor = new EmptyEditor(this);
-        } else {
-        	Class editorClass = null;
-            try {
-                editorClass = registry.getDataTypeInfo(type.getClass()).getValueEditorClass();
-                editor = (Editor) editorClass.getConstructor(
-                    new Class[] { Composite.class }).newInstance(new Object[] { this });
-            } catch (IllegalArgumentException e) {
-                // "Could not find data type info for type " + type.getClass()
-            	DroolsEclipsePlugin.log(e);
-                editor = new EmptyEditor(this);
-            } catch (InstantiationException e) {
-                // "Could not create editor for editor " + editorClass
-            	DroolsEclipsePlugin.log(e);
-                editor = new EmptyEditor(this);
-            } catch (NoSuchMethodException e) {
-            	// "Could not create editor for editor " + editorClass
-            	DroolsEclipsePlugin.log(e);
-                editor = new EmptyEditor(this);
-            } catch (InvocationTargetException e) {
-            	// "Could not create editor for editor " + editorClass
-            	DroolsEclipsePlugin.log(e);
-                editor = new EmptyEditor(this);
-            } catch (IllegalAccessException e) {
-            	// "Could not create editor for editor " + editorClass
-            	DroolsEclipsePlugin.log(e);
-                editor = new EmptyEditor(this);
-            }
-            editor.setDataType(type);
-            layout();
-        }
-    }
-    
-    public void setValue(Serializable value) {
-        editor.setValue(value);
-    }
-    
-    public Serializable getValue() {
-        return editor.getValue();
-    }
-
-    public void reset() {
-        editor.reset();
-    }
-    
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        ((Composite) editor).setEnabled(enabled);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EditorComposite.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,97 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.datatype.DataTypeRegistry;
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Container for an editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class EditorComposite extends Composite {
+    
+    private DataTypeRegistry registry;
+    private Editor editor;
+    
+    public EditorComposite(Composite parent, int style, DataTypeRegistry registry) {
+        super(parent, style);
+        this.registry = registry;
+        setLayout(new FillLayout());
+        editor = new EmptyEditor(this);
+    }
+    
+    public void setDataType(DataType type) {
+        ((Composite) editor).dispose();
+        if (type == null) {
+            editor = new EmptyEditor(this);
+        } else {
+        	Class editorClass = null;
+            try {
+                editorClass = registry.getDataTypeInfo(type.getClass()).getValueEditorClass();
+                editor = (Editor) editorClass.getConstructor(
+                    new Class[] { Composite.class }).newInstance(new Object[] { this });
+            } catch (IllegalArgumentException e) {
+                // "Could not find data type info for type " + type.getClass()
+            	DroolsEclipsePlugin.log(e);
+                editor = new EmptyEditor(this);
+            } catch (InstantiationException e) {
+                // "Could not create editor for editor " + editorClass
+            	DroolsEclipsePlugin.log(e);
+                editor = new EmptyEditor(this);
+            } catch (NoSuchMethodException e) {
+            	// "Could not create editor for editor " + editorClass
+            	DroolsEclipsePlugin.log(e);
+                editor = new EmptyEditor(this);
+            } catch (InvocationTargetException e) {
+            	// "Could not create editor for editor " + editorClass
+            	DroolsEclipsePlugin.log(e);
+                editor = new EmptyEditor(this);
+            } catch (IllegalAccessException e) {
+            	// "Could not create editor for editor " + editorClass
+            	DroolsEclipsePlugin.log(e);
+                editor = new EmptyEditor(this);
+            }
+            editor.setDataType(type);
+            layout();
+        }
+    }
+    
+    public void setValue(Serializable value) {
+        editor.setValue(value);
+    }
+    
+    public Serializable getValue() {
+        return editor.getValue();
+    }
+
+    public void reset() {
+        editor.reset();
+    }
+    
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        ((Composite) editor).setEnabled(enabled);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,79 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * Default empty editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class EmptyEditor extends Composite implements Editor, DataTypeEditor {
-
-    private DataType dataType;
-    private Serializable value;
-    private Label label;
-    
-    public EmptyEditor(Composite parent) {
-        super(parent, SWT.NONE);
-        setSize(0, 0);
-        setLayout(new FillLayout());
-        label = new Label(this, SWT.NONE);
-    }
-    
-    public DataType getDataType() {
-        return dataType;
-    }
-    
-    public void setDataType(DataType dataType) {
-        this.dataType = dataType;
-    }
-
-    public Serializable getValue() {
-        return value;
-    }
-
-    public void setValue(Serializable value) {
-        this.value = value;
-    }
-
-    public void reset() {
-        // do nothing
-    }
-
-    public void addListener(DataTypeEditor.DataTypeListener listener) {
-        // do nothing
-    }
-    
-    public void removeListener(DataTypeEditor.DataTypeListener listener) {
-        // do nothing
-    }
-    
-    public void setBackground(Color color) {
-    	super.setBackground(color);
-    	label.setBackground(color);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/EmptyEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,79 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+/**
+ * Default empty editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class EmptyEditor extends Composite implements Editor, DataTypeEditor {
+
+    private DataType dataType;
+    private Serializable value;
+    private Label label;
+    
+    public EmptyEditor(Composite parent) {
+        super(parent, SWT.NONE);
+        setSize(0, 0);
+        setLayout(new FillLayout());
+        label = new Label(this, SWT.NONE);
+    }
+    
+    public DataType getDataType() {
+        return dataType;
+    }
+    
+    public void setDataType(DataType dataType) {
+        this.dataType = dataType;
+    }
+
+    public Serializable getValue() {
+        return value;
+    }
+
+    public void setValue(Serializable value) {
+        this.value = value;
+    }
+
+    public void reset() {
+        // do nothing
+    }
+
+    public void addListener(DataTypeEditor.DataTypeListener listener) {
+        // do nothing
+    }
+    
+    public void removeListener(DataTypeEditor.DataTypeListener listener) {
+        // do nothing
+    }
+    
+    public void setBackground(Color color) {
+    	super.setBackground(color);
+    	label.setBackground(color);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,80 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.common.datatype.impl.type.FloatDataType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Default float editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class FloatEditor extends Composite implements Editor {
-
-    private Text text;
-    
-    public FloatEditor(Composite parent) {
-        super(parent, SWT.NONE);
-        setLayout(new FillLayout());
-        text = new Text(this, SWT.NONE);
-    }
-
-    public void setDataType(DataType dataType) {
-        if (!(dataType instanceof FloatDataType)) {
-            throw new IllegalArgumentException("Illegal data type " + dataType);
-        }
-    }
-
-    public Serializable getValue() throws IllegalArgumentException {
-        String valueString = text.getText();
-        if ("".equals(valueString)) {
-            return null;
-        }
-        try {
-            return new Float(valueString);
-        } catch (NumberFormatException e) {
-            throw new IllegalArgumentException("The value " + valueString
-                + " is not a valid float.");
-        }
-    }
-    
-    public void setValue(Serializable value) {
-        if (value == null) {
-            text.setText("");
-        } else if (value instanceof Float) {
-            text.setText(((Float) value).toString());
-        } else {
-            throw new IllegalArgumentException("Value must be a float: " + value);
-        }
-    }
-    
-    public void reset() {
-        text.setText("");
-    }
-
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        text.setEnabled(enabled);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/FloatEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,80 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.common.datatype.impl.type.FloatDataType;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Default float editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class FloatEditor extends Composite implements Editor {
+
+    private Text text;
+    
+    public FloatEditor(Composite parent) {
+        super(parent, SWT.NONE);
+        setLayout(new FillLayout());
+        text = new Text(this, SWT.NONE);
+    }
+
+    public void setDataType(DataType dataType) {
+        if (!(dataType instanceof FloatDataType)) {
+            throw new IllegalArgumentException("Illegal data type " + dataType);
+        }
+    }
+
+    public Serializable getValue() throws IllegalArgumentException {
+        String valueString = text.getText();
+        if ("".equals(valueString)) {
+            return null;
+        }
+        try {
+            return new Float(valueString);
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("The value " + valueString
+                + " is not a valid float.");
+        }
+    }
+    
+    public void setValue(Serializable value) {
+        if (value == null) {
+            text.setText("");
+        } else if (value instanceof Float) {
+            text.setText(((Float) value).toString());
+        } else {
+            throw new IllegalArgumentException("Value must be a float: " + value);
+        }
+    }
+    
+    public void reset() {
+        text.setText("");
+    }
+
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        text.setEnabled(enabled);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,80 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.common.datatype.impl.type.IntegerDataType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Default integer editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class IntegerEditor extends Composite implements Editor {
-
-    private Text text;
-    
-    public IntegerEditor(Composite parent) {
-        super(parent, SWT.NONE);
-        setLayout(new FillLayout());
-        text = new Text(this, SWT.NONE);
-    }
-
-    public void setDataType(DataType dataType) {
-        if (!(dataType instanceof IntegerDataType)) {
-            throw new IllegalArgumentException("Illegal data type " + dataType);
-        }
-    }
-
-    public Serializable getValue() {
-        String valueString = text.getText();
-        if ("".equals(valueString)) {
-            return null;
-        }
-        try {
-            return new Integer(valueString);
-        } catch (NumberFormatException e) {
-            throw new IllegalArgumentException("The value " + valueString
-                + " is not a valid integer.");
-        }
-    }
-
-    public void setValue(Serializable value) {
-        if (value == null) {
-            text.setText("");
-        } else if (value instanceof Integer) {
-            text.setText(((Integer) value).toString());
-        } else {
-            throw new IllegalArgumentException("Value must be an integer: " + value);
-        }
-    }
-    
-    public void reset() {
-        text.setText("");
-    }
-
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        text.setEnabled(enabled);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/IntegerEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,80 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.common.datatype.impl.type.IntegerDataType;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Default integer editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class IntegerEditor extends Composite implements Editor {
+
+    private Text text;
+    
+    public IntegerEditor(Composite parent) {
+        super(parent, SWT.NONE);
+        setLayout(new FillLayout());
+        text = new Text(this, SWT.NONE);
+    }
+
+    public void setDataType(DataType dataType) {
+        if (!(dataType instanceof IntegerDataType)) {
+            throw new IllegalArgumentException("Illegal data type " + dataType);
+        }
+    }
+
+    public Serializable getValue() {
+        String valueString = text.getText();
+        if ("".equals(valueString)) {
+            return null;
+        }
+        try {
+            return new Integer(valueString);
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("The value " + valueString
+                + " is not a valid integer.");
+        }
+    }
+
+    public void setValue(Serializable value) {
+        if (value == null) {
+            text.setText("");
+        } else if (value instanceof Integer) {
+            text.setText(((Integer) value).toString());
+        } else {
+            throw new IllegalArgumentException("Value must be an integer: " + value);
+        }
+    }
+    
+    public void reset() {
+        text.setText("");
+    }
+
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        text.setEnabled(enabled);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.flow.common.view.datatype.editor.impl;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.Serializable;
-
-import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.common.datatype.impl.type.StringDataType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Default string editor.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class StringEditor extends Composite implements Editor {
-
-    private Text text;
-    
-    public StringEditor(Composite parent) {
-        super(parent, SWT.NONE);
-        setLayout(new FillLayout());
-        text = new Text(this, SWT.NONE);
-    }
-
-    public void setDataType(DataType dataType) {
-        if (!(dataType instanceof StringDataType)) {
-            throw new IllegalArgumentException("Illegal data type " + dataType);
-        }
-    }
-
-    public Serializable getValue() {
-        return text.getText();
-    }
-
-    public void setValue(Serializable value) {
-        if (value == null) {
-            text.setText("");
-        } else if (value instanceof String) {
-            text.setText(value == null ? "" : (String) value);
-        } else {
-            throw new IllegalArgumentException("Value must be a string: " + value);
-        }
-    }
-
-    public void reset() {
-        text.setText("");
-    }
-
-    public void setEnabled(boolean enabled) {
-        super.setEnabled(enabled);
-        text.setEnabled(enabled);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/datatype/editor/impl/StringEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.flow.common.view.datatype.editor.impl;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.Serializable;
+
+import org.drools.eclipse.flow.common.view.datatype.editor.Editor;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.common.datatype.impl.type.StringDataType;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Default string editor.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class StringEditor extends Composite implements Editor {
+
+    private Text text;
+    
+    public StringEditor(Composite parent) {
+        super(parent, SWT.NONE);
+        setLayout(new FillLayout());
+        text = new Text(this, SWT.NONE);
+    }
+
+    public void setDataType(DataType dataType) {
+        if (!(dataType instanceof StringDataType)) {
+            throw new IllegalArgumentException("Illegal data type " + dataType);
+        }
+    }
+
+    public Serializable getValue() {
+        return text.getText();
+    }
+
+    public void setValue(Serializable value) {
+        if (value == null) {
+            text.setText("");
+        } else if (value instanceof String) {
+            text.setText(value == null ? "" : (String) value);
+        } else {
+            throw new IllegalArgumentException("Value must be a string: " + value);
+        }
+    }
+
+    public void reset() {
+        text.setText("");
+    }
+
+    public void setEnabled(boolean enabled) {
+        super.setEnabled(enabled);
+        text.setEnabled(enabled);
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,60 +0,0 @@
-package org.drools.eclipse.flow.common.view.property;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Cell editor for a JavaBean.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class BeanDialogCellEditor extends DialogCellEditor {
-
-    public BeanDialogCellEditor(Composite parent) {
-        super(parent);
-    }
-
-    protected Object openDialogBox(Control cellEditorWindow) {
-        EditBeanDialog dialog = createDialog(cellEditorWindow.getShell());
-        Object value = getValue();
-        if (value != null) {
-            dialog.setValue(value);
-        }
-        int result = dialog.open();
-        if (result == Window.CANCEL) {
-            return null;
-        }
-        return dialog.getValue();
-    }
-    
-    protected abstract EditBeanDialog createDialog(Shell shell);
-
-    protected void updateContents(Object value) {
-        getDefaultLabel().setText(getLabelText(value));
-    }
-    
-    protected String getLabelText(Object value) {
-        if (value == null) {
-            return "";
-        }
-        return value.toString();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/BeanDialogCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,60 @@
+package org.drools.eclipse.flow.common.view.property;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.jface.viewers.DialogCellEditor;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell editor for a JavaBean.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class BeanDialogCellEditor extends DialogCellEditor {
+
+    public BeanDialogCellEditor(Composite parent) {
+        super(parent);
+    }
+
+    protected Object openDialogBox(Control cellEditorWindow) {
+        EditBeanDialog dialog = createDialog(cellEditorWindow.getShell());
+        Object value = getValue();
+        if (value != null) {
+            dialog.setValue(value);
+        }
+        int result = dialog.open();
+        if (result == Window.CANCEL) {
+            return null;
+        }
+        return dialog.getValue();
+    }
+    
+    protected abstract EditBeanDialog createDialog(Shell shell);
+
+    protected void updateContents(Object value) {
+        getDefaultLabel().setText(getLabelText(value));
+    }
+    
+    protected String getLabelText(Object value) {
+        if (value == null) {
+            return "";
+        }
+        return value.toString();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,66 +0,0 @@
-package org.drools.eclipse.flow.common.view.property;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog for editing a JavaBean.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class EditBeanDialog extends Dialog {
-
-    private String title;
-    private Object value;
-    
-    protected EditBeanDialog(Shell parentShell, String title) {
-        super(parentShell);
-        this.title = title;
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-    }
-    
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        newShell.setText(title);
-    }
-    
-    protected Point getInitialSize() {
-        return new Point(400, 200);
-    }
-    
-    public Object getValue() {
-        return value;
-    }
-    
-    protected void okPressed() {
-        try {
-            value = updateValue(value);
-            super.okPressed();
-        } catch (IllegalArgumentException e) {
-            // value could not be set, ignoring ok
-        }
-    }
-    
-    protected abstract Object updateValue(Object value);
-    
-    public void setValue(Object value) {
-        this.value = value;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditBeanDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,66 @@
+package org.drools.eclipse.flow.common.view.property;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Dialog for editing a JavaBean.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class EditBeanDialog extends Dialog {
+
+    private String title;
+    private Object value;
+    
+    protected EditBeanDialog(Shell parentShell, String title) {
+        super(parentShell);
+        this.title = title;
+        setShellStyle(getShellStyle() | SWT.RESIZE);
+    }
+    
+    protected void configureShell(Shell newShell) {
+        super.configureShell(newShell);
+        newShell.setText(title);
+    }
+    
+    protected Point getInitialSize() {
+        return new Point(400, 200);
+    }
+    
+    public Object getValue() {
+        return value;
+    }
+    
+    protected void okPressed() {
+        try {
+            value = updateValue(value);
+            super.okPressed();
+        } catch (IllegalArgumentException e) {
+            // value could not be set, ignoring ok
+        }
+    }
+    
+    protected abstract Object updateValue(Object value);
+    
+    public void setValue(Object value) {
+        this.value = value;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,177 +0,0 @@
-package org.drools.eclipse.flow.common.view.property;
-/*
- * Copyright 2005 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.
- */
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog for editing a list.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class EditListDialog extends EditBeanDialog {
-    
-    private Class editItemDialogClass;
-    private List newList;
-    private ListViewer listViewer;
-    private Button removeButton;
-    private Button editButton;
-
-    protected EditListDialog(Shell parentShell, String title, Class editItemDialogClass) {
-        super(parentShell, title);
-        this.editItemDialogClass = editItemDialogClass;
-    }
-    
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = (Composite) super.createDialogArea(parent);
-        GridLayout gridLayout = new GridLayout();
-        gridLayout.numColumns = 2;
-        composite.setLayout(gridLayout);
-
-        listViewer = new ListViewer(composite, SWT.SINGLE);
-        listViewer.add(newList.toArray());
-        listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                removeButton.setEnabled(!event.getSelection().isEmpty());
-                editButton.setEnabled(!event.getSelection().isEmpty());
-            }
-        });
-        GridData gridData = new GridData();
-        gridData.grabExcessHorizontalSpace = true;
-        gridData.grabExcessVerticalSpace = true;
-        gridData.horizontalAlignment = GridData.FILL;
-        gridData.verticalAlignment = GridData.FILL;
-        gridData.verticalSpan = 3;
-        listViewer.getList().setLayoutData(gridData);
-        
-        Button addButton = new Button(composite, SWT.NONE);
-        addButton.setText("Add");
-        gridData = new GridData();
-        gridData.horizontalAlignment = GridData.FILL;
-        gridData.verticalAlignment = GridData.BEGINNING;
-        addButton.setLayoutData(gridData);
-        addButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                addItem();
-            }
-        });
-
-        removeButton = new Button(composite, SWT.NONE);
-        removeButton.setText("Remove");
-        removeButton.setEnabled(false);
-        gridData = new GridData();
-        gridData.verticalAlignment = GridData.BEGINNING;
-        removeButton.setLayoutData(gridData);
-        removeButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                removeItem();
-            }
-        });
-
-        editButton = new Button(composite, SWT.NONE);
-        editButton.setText("Edit");
-        editButton.setEnabled(false);
-        gridData = new GridData();
-        gridData.horizontalAlignment = GridData.FILL;
-        gridData.verticalAlignment = GridData.BEGINNING;
-        editButton.setLayoutData(gridData);
-        editButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                editItem();
-            }
-        });
-
-        return composite;
-    }
-    
-    public void setValue(Object value) {
-        super.setValue(value);
-        this.newList = new ArrayList((List) value);
-    }
-    
-    protected Object updateValue(Object value) {
-        return newList;
-    }
-
-    private void addItem() {
-        EditBeanDialog dialog = createEditItemDialog();
-        dialog.setValue(createItem());
-        int code = dialog.open();
-        Object result = dialog.getValue();
-        if (code != CANCEL) {
-            newList.add(result);
-            listViewer.add(result);
-        }
-    }
-    
-    protected abstract Object createItem();
-    
-    private void editItem() {
-        EditBeanDialog dialog = createEditItemDialog();
-        Iterator iterator = ((StructuredSelection) listViewer.getSelection()).iterator();
-        if (iterator.hasNext()) {
-            dialog.setValue(iterator.next());
-            int code = dialog.open();
-            Object result = dialog.getValue();
-            if (code != CANCEL) {
-                listViewer.update(result, null);
-            }
-        }
-    }
-    
-    private void removeItem() {
-        Iterator iterator = ((StructuredSelection) listViewer.getSelection()).iterator();
-        // single selection only allowed
-        if (iterator.hasNext()) {
-            Object item = iterator.next();
-            newList.remove(item);
-            listViewer.remove(item);
-        }
-    }
-    
-    private EditBeanDialog createEditItemDialog() {
-        try {
-            return (EditBeanDialog) editItemDialogClass.getConstructor(
-                new Class[] { Shell.class }).newInstance(
-                new Object[] { getShell() });
-        } catch (InstantiationException e) {
-            throw new RuntimeException(e);
-        } catch (IllegalAccessException e) {
-            throw new RuntimeException(e);
-        } catch (InvocationTargetException e) {
-            throw new RuntimeException(e);
-        } catch (NoSuchMethodException e) {
-            throw new RuntimeException(e);
-        } 
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,177 @@
+package org.drools.eclipse.flow.common.view.property;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Dialog for editing a list.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class EditListDialog extends EditBeanDialog {
+    
+    private Class editItemDialogClass;
+    private List newList;
+    private ListViewer listViewer;
+    private Button removeButton;
+    private Button editButton;
+
+    protected EditListDialog(Shell parentShell, String title, Class editItemDialogClass) {
+        super(parentShell, title);
+        this.editItemDialogClass = editItemDialogClass;
+    }
+    
+    protected Control createDialogArea(Composite parent) {
+        Composite composite = (Composite) super.createDialogArea(parent);
+        GridLayout gridLayout = new GridLayout();
+        gridLayout.numColumns = 2;
+        composite.setLayout(gridLayout);
+
+        listViewer = new ListViewer(composite, SWT.SINGLE);
+        listViewer.add(newList.toArray());
+        listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+            public void selectionChanged(SelectionChangedEvent event) {
+                removeButton.setEnabled(!event.getSelection().isEmpty());
+                editButton.setEnabled(!event.getSelection().isEmpty());
+            }
+        });
+        GridData gridData = new GridData();
+        gridData.grabExcessHorizontalSpace = true;
+        gridData.grabExcessVerticalSpace = true;
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.verticalAlignment = GridData.FILL;
+        gridData.verticalSpan = 3;
+        listViewer.getList().setLayoutData(gridData);
+        
+        Button addButton = new Button(composite, SWT.NONE);
+        addButton.setText("Add");
+        gridData = new GridData();
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.verticalAlignment = GridData.BEGINNING;
+        addButton.setLayoutData(gridData);
+        addButton.addSelectionListener(new SelectionAdapter() {
+            public void widgetSelected(SelectionEvent e) {
+                addItem();
+            }
+        });
+
+        removeButton = new Button(composite, SWT.NONE);
+        removeButton.setText("Remove");
+        removeButton.setEnabled(false);
+        gridData = new GridData();
+        gridData.verticalAlignment = GridData.BEGINNING;
+        removeButton.setLayoutData(gridData);
+        removeButton.addSelectionListener(new SelectionAdapter() {
+            public void widgetSelected(SelectionEvent e) {
+                removeItem();
+            }
+        });
+
+        editButton = new Button(composite, SWT.NONE);
+        editButton.setText("Edit");
+        editButton.setEnabled(false);
+        gridData = new GridData();
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.verticalAlignment = GridData.BEGINNING;
+        editButton.setLayoutData(gridData);
+        editButton.addSelectionListener(new SelectionAdapter() {
+            public void widgetSelected(SelectionEvent e) {
+                editItem();
+            }
+        });
+
+        return composite;
+    }
+    
+    public void setValue(Object value) {
+        super.setValue(value);
+        this.newList = new ArrayList((List) value);
+    }
+    
+    protected Object updateValue(Object value) {
+        return newList;
+    }
+
+    private void addItem() {
+        EditBeanDialog dialog = createEditItemDialog();
+        dialog.setValue(createItem());
+        int code = dialog.open();
+        Object result = dialog.getValue();
+        if (code != CANCEL) {
+            newList.add(result);
+            listViewer.add(result);
+        }
+    }
+    
+    protected abstract Object createItem();
+    
+    private void editItem() {
+        EditBeanDialog dialog = createEditItemDialog();
+        Iterator iterator = ((StructuredSelection) listViewer.getSelection()).iterator();
+        if (iterator.hasNext()) {
+            dialog.setValue(iterator.next());
+            int code = dialog.open();
+            Object result = dialog.getValue();
+            if (code != CANCEL) {
+                listViewer.update(result, null);
+            }
+        }
+    }
+    
+    private void removeItem() {
+        Iterator iterator = ((StructuredSelection) listViewer.getSelection()).iterator();
+        // single selection only allowed
+        if (iterator.hasNext()) {
+            Object item = iterator.next();
+            newList.remove(item);
+            listViewer.remove(item);
+        }
+    }
+    
+    private EditBeanDialog createEditItemDialog() {
+        try {
+            return (EditBeanDialog) editItemDialogClass.getConstructor(
+                new Class[] { Shell.class }).newInstance(
+                new Object[] { getShell() });
+        } catch (InstantiationException e) {
+            throw new RuntimeException(e);
+        } catch (IllegalAccessException e) {
+            throw new RuntimeException(e);
+        } catch (InvocationTargetException e) {
+            throw new RuntimeException(e);
+        } catch (NoSuchMethodException e) {
+            throw new RuntimeException(e);
+        } 
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-package org.drools.eclipse.flow.common.view.property;
-/*
- * Copyright 2005 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.
- */
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Property descriptor for a list.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ListPropertyDescriptor extends PropertyDescriptor {
-    
-    private Class cellEditorClass;
-    
-    public ListPropertyDescriptor(Object id, String displayName, Class cellEditorClass) {
-        super(id, displayName);
-        this.cellEditorClass = cellEditorClass;
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent) {
-        try {
-            CellEditor editor = (CellEditor) cellEditorClass.getConstructor(new Class[] { Composite.class }).newInstance(new Object[] { parent });
-            if (getValidator() != null) {
-                editor.setValidator(getValidator());
-            }
-            return editor;
-        } catch (InvocationTargetException e) {
-            throw new RuntimeException(e);
-        } catch (NoSuchMethodException e) {
-            throw new RuntimeException(e);
-        } catch (InstantiationException e) {
-            throw new RuntimeException(e);
-        } catch (IllegalAccessException e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/ListPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+package org.drools.eclipse.flow.common.view.property;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+/**
+ * Property descriptor for a list.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ListPropertyDescriptor extends PropertyDescriptor {
+    
+    private Class cellEditorClass;
+    
+    public ListPropertyDescriptor(Object id, String displayName, Class cellEditorClass) {
+        super(id, displayName);
+        this.cellEditorClass = cellEditorClass;
+    }
+    
+    public CellEditor createPropertyEditor(Composite parent) {
+        try {
+            CellEditor editor = (CellEditor) cellEditorClass.getConstructor(new Class[] { Composite.class }).newInstance(new Object[] { parent });
+            if (getValidator() != null) {
+                editor.setValidator(getValidator());
+            }
+            return editor;
+        } catch (InvocationTargetException e) {
+            throw new RuntimeException(e);
+        } catch (NoSuchMethodException e) {
+            throw new RuntimeException(e);
+        } catch (InstantiationException e) {
+            throw new RuntimeException(e);
+        } catch (IllegalAccessException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,73 +0,0 @@
-package org.drools.eclipse.flow.ruleflow;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.InputStream;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Page for creating a new RuleFlow file.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class NewRuleFlowFilePage extends WizardNewFileCreationPage {
-
-    private IWorkbench workbench;
-
-    public NewRuleFlowFilePage(IWorkbench workbench, IStructuredSelection selection) {
-        super("createRuleFlowPage", selection);
-        setTitle("Create RuleFlow File");
-        setDescription("Create a new RuleFlow file");
-        this.workbench = workbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        setPageComplete(true);
-    }
-
-    public boolean finish() {
-        String fileName = getFileName();
-        if (!fileName.endsWith(".rf")) {
-            setFileName(fileName + ".rf");
-        }
-        org.eclipse.core.resources.IFile newFile = createNewFile();
-        if (newFile == null)
-            return false;
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (PartInitException e) {
-            e.printStackTrace();
-            return false;
-        }
-        return true;
-    }
-    
-    protected InputStream getInitialContents() {
-        String s = "org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template";
-        return getClass().getClassLoader().getResourceAsStream(s);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,73 @@
+package org.drools.eclipse.flow.ruleflow;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.InputStream;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * Page for creating a new RuleFlow file.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class NewRuleFlowFilePage extends WizardNewFileCreationPage {
+
+    private IWorkbench workbench;
+
+    public NewRuleFlowFilePage(IWorkbench workbench, IStructuredSelection selection) {
+        super("createRuleFlowPage", selection);
+        setTitle("Create RuleFlow File");
+        setDescription("Create a new RuleFlow file");
+        this.workbench = workbench;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        setPageComplete(true);
+    }
+
+    public boolean finish() {
+        String fileName = getFileName();
+        if (!fileName.endsWith(".rf")) {
+            setFileName(fileName + ".rf");
+        }
+        org.eclipse.core.resources.IFile newFile = createNewFile();
+        if (newFile == null)
+            return false;
+        try {
+            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
+            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
+            if (page != null)
+                IDE.openEditor(page, newFile, true);
+        } catch (PartInitException e) {
+            e.printStackTrace();
+            return false;
+        }
+        return true;
+    }
+    
+    protected InputStream getInitialContents() {
+        String s = "org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template";
+        return getClass().getClassLoader().getResourceAsStream(s);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,49 +0,0 @@
-package org.drools.eclipse.flow.ruleflow;
-/*
- * Copyright 2005 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.
- */
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * Wizard for creating a new RuleFlow file.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class NewRuleFlowFileWizard extends Wizard implements INewWizard {
-
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    private NewRuleFlowFilePage mainPage;
-    
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle("New RuleFlow File");
-    }
-    
-    public void addPages() {
-        mainPage = new NewRuleFlowFilePage(workbench, selection);
-        addPage(mainPage);
-     }
-
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/NewRuleFlowFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,49 @@
+package org.drools.eclipse.flow.ruleflow;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+/**
+ * Wizard for creating a new RuleFlow file.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class NewRuleFlowFileWizard extends Wizard implements INewWizard {
+
+    private IWorkbench workbench;
+    private IStructuredSelection selection;
+    private NewRuleFlowFilePage mainPage;
+    
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.workbench = workbench;
+        this.selection = selection;
+        setWindowTitle("New RuleFlow File");
+    }
+    
+    public void addPages() {
+        mainPage = new NewRuleFlowFilePage(workbench, selection);
+        addPage(mainPage);
+     }
+
+    public boolean performFinish() {
+        return mainPage.finish();
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,92 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.ruleflow.view.property.action.ActionPropertyDescriptor;
-import org.drools.ruleflow.core.ActionNode;
-import org.drools.ruleflow.core.impl.ActionNodeImpl;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * Wrapper for an action node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ActionWrapper extends NodeWrapper {
-
-	private static final long serialVersionUID = -3618183280436588589L;
-
-	private IPropertyDescriptor[] descriptors;
-
-    public static final String ACTION = "Action";
-
-    public ActionWrapper() {
-        setNode(new ActionNodeImpl());
-        getActionNode().setName("Action");
-    }
-    
-    private void setDescriptors() {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-            new ActionPropertyDescriptor(ACTION, "Action", getActionNode(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
-    }
-    
-    public ActionNode getActionNode() {
-        return (ActionNode) getNode();
-    }
-    
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-    	if (descriptors == null) {
-    		setDescriptors();
-    	}
-        return descriptors;
-    }
-
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return getOutgoingConnections().isEmpty();
-    }
-    
-    public Object getPropertyValue(Object id) {
-        if (ACTION.equals(id)) {
-        	Object action = getActionNode().getAction();
-            return action == null ? "" : action.toString();
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (ACTION.equals(id)) {
-        	getActionNode().setAction(null);
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (ACTION.equals(id)) {
-        	getActionNode().setAction(value);
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,92 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.ruleflow.view.property.action.ActionPropertyDescriptor;
+import org.drools.ruleflow.core.ActionNode;
+import org.drools.ruleflow.core.impl.ActionNodeImpl;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+
+/**
+ * Wrapper for an action node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionWrapper extends NodeWrapper {
+
+	private static final long serialVersionUID = -3618183280436588589L;
+
+	private IPropertyDescriptor[] descriptors;
+
+    public static final String ACTION = "Action";
+
+    public ActionWrapper() {
+        setNode(new ActionNodeImpl());
+        getActionNode().setName("Action");
+    }
+    
+    private void setDescriptors() {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+            new ActionPropertyDescriptor(ACTION, "Action", getActionNode(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
+    }
+    
+    public ActionNode getActionNode() {
+        return (ActionNode) getNode();
+    }
+    
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+    	if (descriptors == null) {
+    		setDescriptors();
+    	}
+        return descriptors;
+    }
+
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return getOutgoingConnections().isEmpty();
+    }
+    
+    public Object getPropertyValue(Object id) {
+        if (ACTION.equals(id)) {
+        	Object action = getActionNode().getAction();
+            return action == null ? "" : action.toString();
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (ACTION.equals(id)) {
+        	getActionNode().setAction(null);
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (ACTION.equals(id)) {
+        	getActionNode().setAction(value);
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,56 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.ruleflow.core.Connection;
-import org.drools.ruleflow.core.Node;
-import org.drools.ruleflow.core.impl.ConnectionImpl;
-
-/**
- * Wrapper for a connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConnectionWrapper extends ElementConnection {
-		
-	private static final long serialVersionUID = 400L;
-
-	private Connection connection;
-	
-	public ConnectionWrapper(int type) {
-		super(type);
-	}
-	
-	public ConnectionWrapper(NodeWrapper source, NodeWrapper target, int type) {
-        super(source, target, type);
-    }
-	
-	public void disconnect() {
-		super.disconnect();
-		connection.terminate();
-		connection = null;
-	}
-	
-	public void connect(ElementWrapper source, ElementWrapper target) {
-		super.connect(source, target);
-		Node from = ((NodeWrapper) getSource()).getNode();
-		Node to = ((NodeWrapper) getTarget()).getNode();
-		int type = getType();
-		connection = new ConnectionImpl(from, to, type);		
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,56 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.ruleflow.core.Connection;
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.impl.ConnectionImpl;
+
+/**
+ * Wrapper for a connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConnectionWrapper extends ElementConnection {
+		
+	private static final long serialVersionUID = 400L;
+
+	private Connection connection;
+	
+	public ConnectionWrapper(int type) {
+		super(type);
+	}
+	
+	public ConnectionWrapper(NodeWrapper source, NodeWrapper target, int type) {
+        super(source, target, type);
+    }
+	
+	public void disconnect() {
+		super.disconnect();
+		connection.terminate();
+		connection = null;
+	}
+	
+	public void connect(ElementWrapper source, ElementWrapper target) {
+		super.connect(source, target);
+		Node from = ((NodeWrapper) getSource()).getNode();
+		Node to = ((NodeWrapper) getTarget()).getNode();
+		int type = getType();
+		connection = new ConnectionImpl(from, to, type);		
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
-
-/**
- * Factory for creating a connection wrapper.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConnectionWrapperFactory extends ElementConnectionFactory {
-	
-	public ConnectionWrapperFactory(int type) {
-		super(type);
-	}
-	
-	public ElementConnection createElementConnection() {
-		ConnectionWrapper connection = new ConnectionWrapper(getType());
-		return connection;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ConnectionWrapperFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
+
+/**
+ * Factory for creating a connection wrapper.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConnectionWrapperFactory extends ElementConnectionFactory {
+	
+	public ConnectionWrapperFactory(int type) {
+		super(type);
+	}
+	
+	public ElementConnection createElementConnection() {
+		ConnectionWrapper connection = new ConnectionWrapper(getType());
+		return connection;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,47 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.ruleflow.core.EndNode;
-import org.drools.ruleflow.core.impl.EndNodeImpl;
-
-/**
- * Wrapper for an end node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class EndNodeWrapper extends NodeWrapper {
-
-    private static final long serialVersionUID = 400L;
-
-    public EndNodeWrapper() {
-        setNode(new EndNodeImpl());
-        getEndNode().setName("End");
-    }
-    
-    public EndNode getEndNode() {
-        return (EndNode) getNode();
-    }
-    
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return false;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/EndNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,47 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.ruleflow.core.EndNode;
+import org.drools.ruleflow.core.impl.EndNodeImpl;
+
+/**
+ * Wrapper for an end node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class EndNodeWrapper extends NodeWrapper {
+
+    private static final long serialVersionUID = 400L;
+
+    public EndNodeWrapper() {
+        setNode(new EndNodeImpl());
+        getEndNode().setName("End");
+    }
+    
+    public EndNode getEndNode() {
+        return (EndNode) getNode();
+    }
+    
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return false;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,88 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.ruleflow.core.Connection;
-import org.drools.ruleflow.core.Join;
-import org.drools.ruleflow.core.impl.JoinImpl;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * Wrapper for a join node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class JoinWrapper extends NodeWrapper {
-
-    private static final long serialVersionUID = 400L;
-    private static IPropertyDescriptor[] descriptors;
-
-    public static final String TYPE = "type";
-    static {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-            new ComboBoxPropertyDescriptor(TYPE, "Type", new String[] { "", "AND", "XOR" });
-    }
-    
-    public JoinWrapper() {
-        setNode(new JoinImpl());
-        getJoin().setName("Join");
-    }
-    
-    public Join getJoin() {
-        return (Join) getNode();
-    }
-    
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return true;
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return connection.getType() == Connection.TYPE_NORMAL
-        	&& getOutgoingConnections().isEmpty();
-    }
-
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    public Object getPropertyValue(Object id) {
-        if (TYPE.equals(id)) {
-            return new Integer(getJoin().getType());
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (TYPE.equals(id)) {
-            getJoin().setType(Join.TYPE_UNDEFINED);
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (TYPE.equals(id)) {
-            getJoin().setType(((Integer) value).intValue());
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/JoinWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,88 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.ruleflow.core.Connection;
+import org.drools.ruleflow.core.Join;
+import org.drools.ruleflow.core.impl.JoinImpl;
+import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+
+/**
+ * Wrapper for a join node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class JoinWrapper extends NodeWrapper {
+
+    private static final long serialVersionUID = 400L;
+    private static IPropertyDescriptor[] descriptors;
+
+    public static final String TYPE = "type";
+    static {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+            new ComboBoxPropertyDescriptor(TYPE, "Type", new String[] { "", "AND", "XOR" });
+    }
+    
+    public JoinWrapper() {
+        setNode(new JoinImpl());
+        getJoin().setName("Join");
+    }
+    
+    public Join getJoin() {
+        return (Join) getNode();
+    }
+    
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return true;
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return connection.getType() == Connection.TYPE_NORMAL
+        	&& getOutgoingConnections().isEmpty();
+    }
+
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    public Object getPropertyValue(Object id) {
+        if (TYPE.equals(id)) {
+            return new Integer(getJoin().getType());
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (TYPE.equals(id)) {
+            getJoin().setType(Join.TYPE_UNDEFINED);
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (TYPE.equals(id)) {
+            getJoin().setType(((Integer) value).intValue());
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,91 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.ruleflow.view.property.constraint.MilestoneConstraintPropertyDescriptor;
-import org.drools.ruleflow.core.MilestoneNode;
-import org.drools.ruleflow.core.impl.MilestoneNodeImpl;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * Wrapper for a milestone node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MilestoneWrapper extends NodeWrapper {
-
-	private static final long serialVersionUID = -5976489437109982927L;
-	private IPropertyDescriptor[] descriptors;
-
-    public static final String CONSTRAINT = "Constraint";
-
-    public MilestoneWrapper() {
-        setNode(new MilestoneNodeImpl());
-        getMilestoneNode().setName("Milestone");
-    }
-    
-    private void setDescriptors() {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-            new MilestoneConstraintPropertyDescriptor(CONSTRAINT, "Constraint", getMilestoneNode(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
-    }
-    
-    public MilestoneNode getMilestoneNode() {
-        return (MilestoneNode) getNode();
-    }
-    
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-    	if (descriptors == null) {
-    		setDescriptors();
-    	}
-        return descriptors;
-    }
-
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return getOutgoingConnections().isEmpty();
-    }
-    
-    public Object getPropertyValue(Object id) {
-        if (CONSTRAINT.equals(id)) {
-        	String constraint = getMilestoneNode().getConstraint();
-            return constraint == null ? "" : constraint;
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (CONSTRAINT.equals(id)) {
-        	getMilestoneNode().setConstraint("");
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (CONSTRAINT.equals(id)) {
-        	getMilestoneNode().setConstraint((String) value);
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/MilestoneWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,91 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.ruleflow.view.property.constraint.MilestoneConstraintPropertyDescriptor;
+import org.drools.ruleflow.core.MilestoneNode;
+import org.drools.ruleflow.core.impl.MilestoneNodeImpl;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+
+/**
+ * Wrapper for a milestone node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MilestoneWrapper extends NodeWrapper {
+
+	private static final long serialVersionUID = -5976489437109982927L;
+	private IPropertyDescriptor[] descriptors;
+
+    public static final String CONSTRAINT = "Constraint";
+
+    public MilestoneWrapper() {
+        setNode(new MilestoneNodeImpl());
+        getMilestoneNode().setName("Milestone");
+    }
+    
+    private void setDescriptors() {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+            new MilestoneConstraintPropertyDescriptor(CONSTRAINT, "Constraint", getMilestoneNode(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
+    }
+    
+    public MilestoneNode getMilestoneNode() {
+        return (MilestoneNode) getNode();
+    }
+    
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+    	if (descriptors == null) {
+    		setDescriptors();
+    	}
+        return descriptors;
+    }
+
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return getOutgoingConnections().isEmpty();
+    }
+    
+    public Object getPropertyValue(Object id) {
+        if (CONSTRAINT.equals(id)) {
+        	String constraint = getMilestoneNode().getConstraint();
+            return constraint == null ? "" : constraint;
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (CONSTRAINT.equals(id)) {
+        	getMilestoneNode().setConstraint("");
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (CONSTRAINT.equals(id)) {
+        	getMilestoneNode().setConstraint((String) value);
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,50 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.ruleflow.core.Node;
-
-/**
- * Wrapper for a node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public abstract class NodeWrapper extends DefaultElementWrapper {
-	
-    protected void setNode(Node node) {
-        setElement(node);
-    }
-    
-    public Node getNode() {
-        return (Node) getElement();
-    }
-    
-    public String getId() {
-        long id = getNode().getId();
-        return id == -1 ? null : getNode().getId() + "-Wrapper";
-    }
-
-    public String getName() {
-        return getNode().getName();
-    }
-
-    public void internalSetName(String name) {
-        getNode().setName(name);    
-        notifyListeners(CHANGE_NAME);
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/NodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,50 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.ruleflow.core.Node;
+
+/**
+ * Wrapper for a node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public abstract class NodeWrapper extends DefaultElementWrapper {
+	
+    protected void setNode(Node node) {
+        setElement(node);
+    }
+    
+    public Node getNode() {
+        return (Node) getElement();
+    }
+    
+    public String getId() {
+        long id = getNode().getId();
+        return id == -1 ? null : getNode().getId() + "-Wrapper";
+    }
+
+    public String getName() {
+        return getNode().getName();
+    }
+
+    public void internalSetName(String name) {
+        getNode().setName(name);    
+        notifyListeners(CHANGE_NAME);
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,85 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
-import org.drools.ruleflow.common.core.Process;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.drools.ruleflow.core.impl.RuleFlowProcessImpl;
-
-/**
- * Wrapper for a RuleFlow process.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowProcessWrapper extends ProcessWrapper {
-
-	private static final long serialVersionUID = 400L;
-
-//	private static IPropertyDescriptor[] descriptors;
-//
-//    public static final String VARIABLES = "variables";
-//    static {
-//        descriptors = new IPropertyDescriptor[ProcessWrapper.descriptors.length + 1];
-//        System.arraycopy(ProcessWrapper.descriptors, 0, descriptors, 0, ProcessWrapper.descriptors.length);
-//        descriptors[descriptors.length - 1] = 
-//            new ListPropertyDescriptor(VARIABLES, "Variables", VariableListCellEditor.class);
-//   }
-    
-    public RuleFlowProcess getRuleFlowProcess() {
-        return (RuleFlowProcess) getProcess();
-    }
-    
-    protected Process createProcess() {
-        return new RuleFlowProcessImpl();
-    }
-
-    protected void internalAddElement(ElementWrapper element) {
-        getRuleFlowProcess().addNode(((NodeWrapper) element).getNode()); 
-    }
-
-    protected void internalRemoveElement(ElementWrapper element) {
-        getRuleFlowProcess().removeNode(((NodeWrapper) element).getNode()); 
-    }
-    
-//    public IPropertyDescriptor[] getPropertyDescriptors() {
-//        return descriptors;
-//    }
-//
-//    public Object getPropertyValue(Object id) {
-//        if (VARIABLES.equals(id)) {
-//            return getRuleFlowProcess().getVariables();
-//        }
-//        return super.getPropertyValue(id);
-//    }
-//
-//    public void resetPropertyValue(Object id) {
-//        if (VARIABLES.equals(id)) {
-//            getRuleFlowProcess().setVariables(new ArrayList());
-//        } else {
-//            super.resetPropertyValue(id);
-//        }
-//    }
-//
-//    public void setPropertyValue(Object id, Object value) {
-//        if (VARIABLES.equals(id)) {
-//            getRuleFlowProcess().setVariables((List) value);
-//        } else {
-//            super.setPropertyValue(id, value);
-//        }
-//    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowProcessWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,85 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
+import org.drools.ruleflow.common.core.Process;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.drools.ruleflow.core.impl.RuleFlowProcessImpl;
+
+/**
+ * Wrapper for a RuleFlow process.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowProcessWrapper extends ProcessWrapper {
+
+	private static final long serialVersionUID = 400L;
+
+//	private static IPropertyDescriptor[] descriptors;
+//
+//    public static final String VARIABLES = "variables";
+//    static {
+//        descriptors = new IPropertyDescriptor[ProcessWrapper.descriptors.length + 1];
+//        System.arraycopy(ProcessWrapper.descriptors, 0, descriptors, 0, ProcessWrapper.descriptors.length);
+//        descriptors[descriptors.length - 1] = 
+//            new ListPropertyDescriptor(VARIABLES, "Variables", VariableListCellEditor.class);
+//   }
+    
+    public RuleFlowProcess getRuleFlowProcess() {
+        return (RuleFlowProcess) getProcess();
+    }
+    
+    protected Process createProcess() {
+        return new RuleFlowProcessImpl();
+    }
+
+    protected void internalAddElement(ElementWrapper element) {
+        getRuleFlowProcess().addNode(((NodeWrapper) element).getNode()); 
+    }
+
+    protected void internalRemoveElement(ElementWrapper element) {
+        getRuleFlowProcess().removeNode(((NodeWrapper) element).getNode()); 
+    }
+    
+//    public IPropertyDescriptor[] getPropertyDescriptors() {
+//        return descriptors;
+//    }
+//
+//    public Object getPropertyValue(Object id) {
+//        if (VARIABLES.equals(id)) {
+//            return getRuleFlowProcess().getVariables();
+//        }
+//        return super.getPropertyValue(id);
+//    }
+//
+//    public void resetPropertyValue(Object id) {
+//        if (VARIABLES.equals(id)) {
+//            getRuleFlowProcess().setVariables(new ArrayList());
+//        } else {
+//            super.resetPropertyValue(id);
+//        }
+//    }
+//
+//    public void setPropertyValue(Object id, Object value) {
+//        if (VARIABLES.equals(id)) {
+//            getRuleFlowProcess().setVariables((List) value);
+//        } else {
+//            super.setPropertyValue(id, value);
+//        }
+//    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,87 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.ruleflow.core.RuleSetNode;
-import org.drools.ruleflow.core.impl.RuleSetNodeImpl;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Wrapper for a RuleSet node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleSetNodeWrapper extends NodeWrapper {
-
-    private static final long serialVersionUID = 400L;
-    private static IPropertyDescriptor[] descriptors;
-
-    public static final String RULE_FLOW_GROUP = "RuleFlowGroup";
-    static {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-            new TextPropertyDescriptor(RULE_FLOW_GROUP, "RuleFlowGroup");
-    }
-
-    public RuleSetNodeWrapper() {
-        setNode(new RuleSetNodeImpl());
-        getRuleSetNode().setName("RuleSet");
-        getRuleSetNode().setRuleFlowGroup("");
-    }
-    
-    public RuleSetNode getRuleSetNode() {
-        return (RuleSetNode) getNode();
-    }
-    
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return getOutgoingConnections().isEmpty();
-    }
-    
-    public Object getPropertyValue(Object id) {
-        if (RULE_FLOW_GROUP.equals(id)) {
-            return getRuleSetNode().getRuleFlowGroup();
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (RULE_FLOW_GROUP.equals(id)) {
-        	getRuleSetNode().setRuleFlowGroup("");
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (RULE_FLOW_GROUP.equals(id)) {
-            getRuleSetNode().setRuleFlowGroup((String) value);
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleSetNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,87 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.core.impl.RuleSetNodeImpl;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * Wrapper for a RuleSet node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleSetNodeWrapper extends NodeWrapper {
+
+    private static final long serialVersionUID = 400L;
+    private static IPropertyDescriptor[] descriptors;
+
+    public static final String RULE_FLOW_GROUP = "RuleFlowGroup";
+    static {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+            new TextPropertyDescriptor(RULE_FLOW_GROUP, "RuleFlowGroup");
+    }
+
+    public RuleSetNodeWrapper() {
+        setNode(new RuleSetNodeImpl());
+        getRuleSetNode().setName("RuleSet");
+        getRuleSetNode().setRuleFlowGroup("");
+    }
+    
+    public RuleSetNode getRuleSetNode() {
+        return (RuleSetNode) getNode();
+    }
+    
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return getOutgoingConnections().isEmpty();
+    }
+    
+    public Object getPropertyValue(Object id) {
+        if (RULE_FLOW_GROUP.equals(id)) {
+            return getRuleSetNode().getRuleFlowGroup();
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (RULE_FLOW_GROUP.equals(id)) {
+        	getRuleSetNode().setRuleFlowGroup("");
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (RULE_FLOW_GROUP.equals(id)) {
+            getRuleSetNode().setRuleFlowGroup((String) value);
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,140 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.ruleflow.view.property.constraint.ConstraintsPropertyDescriptor;
-import org.drools.ruleflow.core.Connection;
-import org.drools.ruleflow.core.Constraint;
-import org.drools.ruleflow.core.Split;
-import org.drools.ruleflow.core.impl.SplitImpl;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * Wrapper for a split node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class SplitWrapper extends NodeWrapper {
-
-    public static final String TYPE = "type";
-    public static final String CONSTRAINTS = "constraints";
-    
-    private static final long serialVersionUID = 400L;
-    private transient IPropertyDescriptor[] descriptors;
-
-    public SplitWrapper() {
-        setNode(new SplitImpl());
-        getSplit().setName("Split");
-        setDescriptors();
-    }
-     
-    private void setDescriptors() {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-            new ComboBoxPropertyDescriptor(TYPE, "Type", 
-                new String[] { "", "AND", "XOR", "OR" });
-    }
-    
-    public Split getSplit() {
-        return (Split) getNode();
-    }
-    
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return connection.getType() == Connection.TYPE_NORMAL;
-    }
-
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        if (getParent() != null && (getSplit().getType() == SplitImpl.TYPE_XOR
-                || getSplit().getType() == SplitImpl.TYPE_OR)) {
-            IPropertyDescriptor[] result = new IPropertyDescriptor[descriptors.length + 1];
-            System.arraycopy(descriptors, 0, result, 0, descriptors.length);
-            result[descriptors.length] = 
-                new ConstraintsPropertyDescriptor(CONSTRAINTS, "Constraints", getSplit(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
-            return result;
-        }
-        return descriptors;
-    }
-
-    public Object getPropertyValue(Object id) {
-        if (TYPE.equals(id)) {
-            return new Integer(getSplit().getType());
-        }
-        if (CONSTRAINTS.equals(id)) {
-        	return getSplit().getType() == SplitImpl.TYPE_XOR
-        		|| getSplit().getType() == SplitImpl.TYPE_OR
-        		? new MyHashMap(getSplit().getConstraints()) : new MyHashMap();
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (TYPE.equals(id)) {
-            getSplit().setType(Split.TYPE_UNDEFINED);
-        } else if (CONSTRAINTS.equals(id)) {
-        	for (Iterator it = getSplit().getOutgoingConnections().iterator(); it.hasNext(); ) {
-        		Connection connection = (Connection) it.next();
-        		getSplit().setConstraint(connection, null);
-        	}
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (TYPE.equals(id)) {
-            getSplit().setType(((Integer) value).intValue());
-        } else if (CONSTRAINTS.equals(id)) {
-        	Iterator iterator = ((Map) value).entrySet().iterator();
-        	while (iterator.hasNext()) {
-				Map.Entry element = (Map.Entry) iterator.next();
-				getSplit().setConstraint((Connection) element.getKey(), (Constraint) element.getValue()); 
-			}
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-    
-    private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
-        aInputStream.defaultReadObject();
-        setDescriptors();
-    }
-
-    public class MyHashMap extends HashMap {
-		private static final long serialVersionUID = -1748055291307174539L;
-		public MyHashMap() {
-    	}
-    	public MyHashMap(Map map) {
-    		super(map);
-    	}
-		public String toString() {
-    		return "";
-    	}
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SplitWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,140 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.ruleflow.view.property.constraint.ConstraintsPropertyDescriptor;
+import org.drools.ruleflow.core.Connection;
+import org.drools.ruleflow.core.Constraint;
+import org.drools.ruleflow.core.Split;
+import org.drools.ruleflow.core.impl.SplitImpl;
+import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+
+/**
+ * Wrapper for a split node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SplitWrapper extends NodeWrapper {
+
+    public static final String TYPE = "type";
+    public static final String CONSTRAINTS = "constraints";
+    
+    private static final long serialVersionUID = 400L;
+    private transient IPropertyDescriptor[] descriptors;
+
+    public SplitWrapper() {
+        setNode(new SplitImpl());
+        getSplit().setName("Split");
+        setDescriptors();
+    }
+     
+    private void setDescriptors() {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+            new ComboBoxPropertyDescriptor(TYPE, "Type", 
+                new String[] { "", "AND", "XOR", "OR" });
+    }
+    
+    public Split getSplit() {
+        return (Split) getNode();
+    }
+    
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return connection.getType() == Connection.TYPE_NORMAL;
+    }
+
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        if (getParent() != null && (getSplit().getType() == SplitImpl.TYPE_XOR
+                || getSplit().getType() == SplitImpl.TYPE_OR)) {
+            IPropertyDescriptor[] result = new IPropertyDescriptor[descriptors.length + 1];
+            System.arraycopy(descriptors, 0, result, 0, descriptors.length);
+            result[descriptors.length] = 
+                new ConstraintsPropertyDescriptor(CONSTRAINTS, "Constraints", getSplit(), ((RuleFlowProcessWrapper) getParent()).getRuleFlowProcess());
+            return result;
+        }
+        return descriptors;
+    }
+
+    public Object getPropertyValue(Object id) {
+        if (TYPE.equals(id)) {
+            return new Integer(getSplit().getType());
+        }
+        if (CONSTRAINTS.equals(id)) {
+        	return getSplit().getType() == SplitImpl.TYPE_XOR
+        		|| getSplit().getType() == SplitImpl.TYPE_OR
+        		? new MyHashMap(getSplit().getConstraints()) : new MyHashMap();
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (TYPE.equals(id)) {
+            getSplit().setType(Split.TYPE_UNDEFINED);
+        } else if (CONSTRAINTS.equals(id)) {
+        	for (Iterator it = getSplit().getOutgoingConnections().iterator(); it.hasNext(); ) {
+        		Connection connection = (Connection) it.next();
+        		getSplit().setConstraint(connection, null);
+        	}
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (TYPE.equals(id)) {
+            getSplit().setType(((Integer) value).intValue());
+        } else if (CONSTRAINTS.equals(id)) {
+        	Iterator iterator = ((Map) value).entrySet().iterator();
+        	while (iterator.hasNext()) {
+				Map.Entry element = (Map.Entry) iterator.next();
+				getSplit().setConstraint((Connection) element.getKey(), (Constraint) element.getValue()); 
+			}
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+    
+    private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
+        aInputStream.defaultReadObject();
+        setDescriptors();
+    }
+
+    public class MyHashMap extends HashMap {
+		private static final long serialVersionUID = -1748055291307174539L;
+		public MyHashMap() {
+    	}
+    	public MyHashMap(Map map) {
+    		super(map);
+    	}
+		public String toString() {
+    		return "";
+    	}
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,49 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.ruleflow.core.Connection;
-import org.drools.ruleflow.core.StartNode;
-import org.drools.ruleflow.core.impl.StartNodeImpl;
-
-/**
- * Wrapper for a start node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class StartNodeWrapper extends NodeWrapper {
-
-    private static final long serialVersionUID = 400L;
-
-    public StartNodeWrapper() {
-        setNode(new StartNodeImpl());
-        setName("Start");
-    }
-    
-    public StartNode getStartNode() {
-        return (StartNode) getNode();
-    }
-    
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return false;
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return connection.getType() == Connection.TYPE_NORMAL
-    		&& getOutgoingConnections().isEmpty();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/StartNodeWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,49 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.ruleflow.core.Connection;
+import org.drools.ruleflow.core.StartNode;
+import org.drools.ruleflow.core.impl.StartNodeImpl;
+
+/**
+ * Wrapper for a start node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class StartNodeWrapper extends NodeWrapper {
+
+    private static final long serialVersionUID = 400L;
+
+    public StartNodeWrapper() {
+        setNode(new StartNodeImpl());
+        setName("Start");
+    }
+    
+    public StartNode getStartNode() {
+        return (StartNode) getNode();
+    }
+    
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return false;
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return connection.getType() == Connection.TYPE_NORMAL
+    		&& getOutgoingConnections().isEmpty();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,88 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.core;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.ruleflow.core.SubFlowNode;
-import org.drools.ruleflow.core.impl.SubFlowNodeImpl;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Wrapper for a SubFlow node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class SubFlowWrapper extends NodeWrapper {
-
-	private static final long serialVersionUID = 3668348577732020324L;
-    private static IPropertyDescriptor[] descriptors;
-    
-    public static final String PROCESS_ID = "ProcessId";
-
-    static {
-        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
-        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
-        descriptors[descriptors.length - 1] = 
-        	new TextPropertyDescriptor(PROCESS_ID, "ProcessId");
-    }
-    
-    public SubFlowWrapper() {
-        setNode(new SubFlowNodeImpl());
-        getSubFlowNode().setName("SubFlow");
-    }
-    
-    public SubFlowNode getSubFlowNode() {
-        return (SubFlowNode) getNode();
-    }
-    
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return descriptors;
-    }
-
-    public boolean acceptsIncomingConnection(ElementConnection connection) {
-        return getIncomingConnections().isEmpty();
-    }
-
-    public boolean acceptsOutgoingConnection(ElementConnection connection) {
-        return getOutgoingConnections().isEmpty();
-    }
-    
-    public Object getPropertyValue(Object id) {
-        if (PROCESS_ID.equals(id)) {
-        	String processId = getSubFlowNode().getProcessId();
-            return processId == null ? "" : processId;
-        }
-        return super.getPropertyValue(id);
-    }
-
-    public void resetPropertyValue(Object id) {
-        if (PROCESS_ID.equals(id)) {
-        	getSubFlowNode().setProcessId("");
-        } else {
-            super.resetPropertyValue(id);
-        }
-    }
-
-    public void setPropertyValue(Object id, Object value) {
-        if (PROCESS_ID.equals(id)) {
-        	getSubFlowNode().setProcessId((String) value);
-        } else {
-            super.setPropertyValue(id, value);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubFlowWrapper.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,88 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper;
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.ruleflow.core.SubFlowNode;
+import org.drools.ruleflow.core.impl.SubFlowNodeImpl;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * Wrapper for a SubFlow node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SubFlowWrapper extends NodeWrapper {
+
+	private static final long serialVersionUID = 3668348577732020324L;
+    private static IPropertyDescriptor[] descriptors;
+    
+    public static final String PROCESS_ID = "ProcessId";
+
+    static {
+        descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 1];
+        System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+        descriptors[descriptors.length - 1] = 
+        	new TextPropertyDescriptor(PROCESS_ID, "ProcessId");
+    }
+    
+    public SubFlowWrapper() {
+        setNode(new SubFlowNodeImpl());
+        getSubFlowNode().setName("SubFlow");
+    }
+    
+    public SubFlowNode getSubFlowNode() {
+        return (SubFlowNode) getNode();
+    }
+    
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return descriptors;
+    }
+
+    public boolean acceptsIncomingConnection(ElementConnection connection) {
+        return getIncomingConnections().isEmpty();
+    }
+
+    public boolean acceptsOutgoingConnection(ElementConnection connection) {
+        return getOutgoingConnections().isEmpty();
+    }
+    
+    public Object getPropertyValue(Object id) {
+        if (PROCESS_ID.equals(id)) {
+        	String processId = getSubFlowNode().getProcessId();
+            return processId == null ? "" : processId;
+        }
+        return super.getPropertyValue(id);
+    }
+
+    public void resetPropertyValue(Object id) {
+        if (PROCESS_ID.equals(id)) {
+        	getSubFlowNode().setProcessId("");
+        } else {
+            super.resetPropertyValue(id);
+        }
+    }
+
+    public void setPropertyValue(Object id, Object value) {
+        if (PROCESS_ID.equals(id)) {
+        	getSubFlowNode().setProcessId((String) value);
+        } else {
+            super.setPropertyValue(id, value);
+        }
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,165 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor;
-/*
- * Copyright 2005 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.
- */
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.GenericModelEditor;
-import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
-import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.editor.editpart.RuleFlowEditPartFactory;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPartFactory;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.part.FileEditorInput;
-
-import com.thoughtworks.xstream.XStream;
-
-/**
- * Graphical editor for a RuleFlow.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowModelEditor extends GenericModelEditor {
-
-    protected EditPartFactory createEditPartFactory() {
-        return new RuleFlowEditPartFactory();
-    }
-
-    protected PaletteRoot createPalette() {
-        return RuleFlowPaletteFactory.createPalette();
-    }
-
-    protected Object createModel() {
-        RuleFlowProcessWrapper result = new RuleFlowProcessWrapper();
-        StartNodeWrapper start = new StartNodeWrapper();
-        start.setConstraint(new Rectangle(100, 100, -1, -1));
-        result.addElement(start);
-        IFile file = ((IFileEditorInput)getEditorInput()).getFile();
-        String name = file.getName();
-        result.setName(name.substring(0, name.length() - 3));
-        return result;
-    }
-    
-    public RuleFlowProcessWrapper getRuleFlowModel() {
-        return (RuleFlowProcessWrapper) getModel();
-    }
-
-    protected void createOutputStream(OutputStream os) throws IOException {
-    	createOutputStream(os, true);
-    }
-
-    
-    protected void createOutputStream(OutputStream os, boolean includeGraphics) throws IOException {
-        OutputStreamWriter writer = new OutputStreamWriter(os);
-        try {
-            XStream stream = new XStream();
-            stream.setMode(XStream.ID_REFERENCES);
-            if (includeGraphics) {
-            	stream.toXML(getRuleFlowModel(), writer);
-            } else {
-            	stream.toXML(getRuleFlowModel().getProcess(), writer);
-            }
-            writer.close();
-        } catch (Throwable t) {
-            DroolsEclipsePlugin.log(t);
-        }
-    }
-    
-    public void doSave(IProgressMonitor monitor) {
-        super.doSave(monitor);
-        // save process as separate model file as well
-        IFile file = ((IFileEditorInput) getEditorInput()).getFile();
-        final IFile modelFile = getModelFile(file);
-
-		if (!modelFile.exists()) {
-	        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-	            public void execute(final IProgressMonitor monitor)
-	                    throws CoreException {
-	                try {
-	                    ByteArrayOutputStream out = new ByteArrayOutputStream();
-	                    createOutputStream(out, false);
-	                    modelFile.create(new ByteArrayInputStream(out.toByteArray()),
-	                            true, monitor);
-	                    out.close();
-	                } catch (Exception e) {
-	                    e.printStackTrace();
-	                }
-	            }
-	        };
-	        
-	        try {
-	            new ProgressMonitorDialog(getSite().getWorkbenchWindow().getShell())
-	                    .run(false, true, op);
-	            setInput(new FileEditorInput(file));
-	            getCommandStack().markSaveLocation();
-	        } catch (Exception e) {
-	            e.printStackTrace();
-	        }
-		} else {
-	        ByteArrayOutputStream out = new ByteArrayOutputStream();
-	        try {
-	        	createOutputStream(out, false);
-	            modelFile.setContents(
-	        		new ByteArrayInputStream(out.toByteArray()),
-	        		true, false, monitor);
-	            out.close();
-	        } catch (Throwable t) {
-	        	DroolsEclipsePlugin.log(t);
-	        }
-		}
-    }
-
-	private IFile getModelFile(IFile file) {
-		IProject project = file.getProject();
-		IPath path = file.getProjectRelativePath();
-		String fileName = file.getName().substring(0, file.getName().length() - 2) + "rfm";
-		IPath modelPath = path.removeLastSegments(1).append(fileName);
-		IFile modelFile = project.getFile(modelPath);
-		return modelFile;
-	}
-
-    protected void createInputStream(InputStream is) throws Exception {
-        InputStreamReader reader = new InputStreamReader(is);
-        XStream stream = new XStream();
-        stream.setMode(XStream.ID_REFERENCES);
-        
-        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
-        ClassLoader newLoader = this.getClass().getClassLoader();
-        try {
-            Thread.currentThread().setContextClassLoader(newLoader);
-            setModel(stream.fromXML(reader));
-        } finally {
-            Thread.currentThread().setContextClassLoader(oldLoader);
-        }
-        reader.close();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowModelEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,165 @@
+package org.drools.eclipse.flow.ruleflow.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.GenericModelEditor;
+import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
+import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.editor.editpart.RuleFlowEditPartFactory;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.EditPartFactory;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.part.FileEditorInput;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ * Graphical editor for a RuleFlow.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowModelEditor extends GenericModelEditor {
+
+    protected EditPartFactory createEditPartFactory() {
+        return new RuleFlowEditPartFactory();
+    }
+
+    protected PaletteRoot createPalette() {
+        return RuleFlowPaletteFactory.createPalette();
+    }
+
+    protected Object createModel() {
+        RuleFlowProcessWrapper result = new RuleFlowProcessWrapper();
+        StartNodeWrapper start = new StartNodeWrapper();
+        start.setConstraint(new Rectangle(100, 100, -1, -1));
+        result.addElement(start);
+        IFile file = ((IFileEditorInput)getEditorInput()).getFile();
+        String name = file.getName();
+        result.setName(name.substring(0, name.length() - 3));
+        return result;
+    }
+    
+    public RuleFlowProcessWrapper getRuleFlowModel() {
+        return (RuleFlowProcessWrapper) getModel();
+    }
+
+    protected void createOutputStream(OutputStream os) throws IOException {
+    	createOutputStream(os, true);
+    }
+
+    
+    protected void createOutputStream(OutputStream os, boolean includeGraphics) throws IOException {
+        OutputStreamWriter writer = new OutputStreamWriter(os);
+        try {
+            XStream stream = new XStream();
+            stream.setMode(XStream.ID_REFERENCES);
+            if (includeGraphics) {
+            	stream.toXML(getRuleFlowModel(), writer);
+            } else {
+            	stream.toXML(getRuleFlowModel().getProcess(), writer);
+            }
+            writer.close();
+        } catch (Throwable t) {
+            DroolsEclipsePlugin.log(t);
+        }
+    }
+    
+    public void doSave(IProgressMonitor monitor) {
+        super.doSave(monitor);
+        // save process as separate model file as well
+        IFile file = ((IFileEditorInput) getEditorInput()).getFile();
+        final IFile modelFile = getModelFile(file);
+
+		if (!modelFile.exists()) {
+	        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+	            public void execute(final IProgressMonitor monitor)
+	                    throws CoreException {
+	                try {
+	                    ByteArrayOutputStream out = new ByteArrayOutputStream();
+	                    createOutputStream(out, false);
+	                    modelFile.create(new ByteArrayInputStream(out.toByteArray()),
+	                            true, monitor);
+	                    out.close();
+	                } catch (Exception e) {
+	                    e.printStackTrace();
+	                }
+	            }
+	        };
+	        
+	        try {
+	            new ProgressMonitorDialog(getSite().getWorkbenchWindow().getShell())
+	                    .run(false, true, op);
+	            setInput(new FileEditorInput(file));
+	            getCommandStack().markSaveLocation();
+	        } catch (Exception e) {
+	            e.printStackTrace();
+	        }
+		} else {
+	        ByteArrayOutputStream out = new ByteArrayOutputStream();
+	        try {
+	        	createOutputStream(out, false);
+	            modelFile.setContents(
+	        		new ByteArrayInputStream(out.toByteArray()),
+	        		true, false, monitor);
+	            out.close();
+	        } catch (Throwable t) {
+	        	DroolsEclipsePlugin.log(t);
+	        }
+		}
+    }
+
+	private IFile getModelFile(IFile file) {
+		IProject project = file.getProject();
+		IPath path = file.getProjectRelativePath();
+		String fileName = file.getName().substring(0, file.getName().length() - 2) + "rfm";
+		IPath modelPath = path.removeLastSegments(1).append(fileName);
+		IFile modelFile = project.getFile(modelPath);
+		return modelFile;
+	}
+
+    protected void createInputStream(InputStream is) throws Exception {
+        InputStreamReader reader = new InputStreamReader(is);
+        XStream stream = new XStream();
+        stream.setMode(XStream.ID_REFERENCES);
+        
+        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+        ClassLoader newLoader = this.getClass().getClassLoader();
+        try {
+            Thread.currentThread().setContextClassLoader(newLoader);
+            setModel(stream.fromXML(reader));
+        } finally {
+            Thread.currentThread().setContextClassLoader(oldLoader);
+        }
+        reader.close();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,190 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
-import org.drools.eclipse.flow.ruleflow.core.ActionWrapper;
-import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper;
-import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapperFactory;
-import org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.JoinWrapper;
-import org.drools.eclipse.flow.ruleflow.core.MilestoneWrapper;
-import org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.SplitWrapper;
-import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.SubFlowWrapper;
-import org.drools.ruleflow.core.Connection;
-import org.eclipse.gef.palette.CombinedTemplateCreationEntry;
-import org.eclipse.gef.palette.ConnectionCreationToolEntry;
-import org.eclipse.gef.palette.MarqueeToolEntry;
-import org.eclipse.gef.palette.PaletteContainer;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteGroup;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.palette.SelectionToolEntry;
-import org.eclipse.gef.palette.ToolEntry;
-import org.eclipse.gef.requests.CreationFactory;
-import org.eclipse.gef.requests.SimpleFactory;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Factory for creating a RuleFlow palette.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowPaletteFactory {
-
-    public static PaletteRoot createPalette() {
-        PaletteRoot flowPalette = new PaletteRoot();
-        flowPalette.addAll(createCategories(flowPalette));
-        return flowPalette;
-    }
-    
-    private static List createCategories(PaletteRoot root) {
-        List categories = new ArrayList();
-        categories.add(createControlGroup(root));
-        categories.add(createComponentsDrawer());
-        return categories;
-    }
-
-    private static PaletteContainer createComponentsDrawer() {
-
-        PaletteDrawer drawer = new PaletteDrawer("Components", null);
-
-        List entries = new ArrayList();
-
-        CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
-            "Start",
-            "Create a new Start",
-            StartNodeWrapper.class,
-            new SimpleFactory(StartNodeWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif")),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif"))
-        );
-        entries.add(combined);
-        
-        combined = new CombinedTemplateCreationEntry(
-            "End",
-            "Create a new End",
-            EndNodeWrapper.class,
-            new SimpleFactory(EndNodeWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif"))
-        );
-        entries.add(combined);
-                
-        combined = new CombinedTemplateCreationEntry(
-            "RuleFlowGroup",
-            "Create a new RuleFlowGroup",
-            RuleSetNodeWrapper.class,
-            new SimpleFactory(RuleSetNodeWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/activity.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/activity.gif"))
-        );
-        entries.add(combined);
-            
-        combined = new CombinedTemplateCreationEntry(
-            "Split",
-            "Create a new Split",
-            SplitWrapper.class,
-            new SimpleFactory(SplitWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/split.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/split.gif"))
-        );
-        entries.add(combined);
-                    
-        combined = new CombinedTemplateCreationEntry(
-            "Join",
-            "Create a new Join",
-            JoinWrapper.class,
-            new SimpleFactory(JoinWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/join.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/join.gif"))
-        );
-        entries.add(combined);
-                        
-        combined = new CombinedTemplateCreationEntry(
-            "Milestone",
-            "Create a new Milestone",
-            MilestoneWrapper.class,
-            new SimpleFactory(MilestoneWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif"))
-        );
-        entries.add(combined);
-                            
-        combined = new CombinedTemplateCreationEntry(
-            "SubFlow",
-            "Create a new SubFlow",
-            SubFlowWrapper.class,
-            new SimpleFactory(SubFlowWrapper.class),
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif"))
-        );
-        entries.add(combined);
-                                
-        combined = new CombinedTemplateCreationEntry(
-                "Action",
-                "Create a new Action",
-                ActionWrapper.class,
-                new SimpleFactory(ActionWrapper.class),
-                ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif")), 
-                ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif"))
-            );
-            entries.add(combined);
-                                    
-        drawer.addAll(entries);
-        return drawer;
-    }
-
-    private static PaletteContainer createControlGroup(PaletteRoot root) {
-        PaletteGroup controlGroup = new PaletteGroup("Control Group");
-
-        List entries = new ArrayList();
-
-        ToolEntry tool = new SelectionToolEntry();
-        entries.add(tool);
-        root.setDefaultEntry(tool);
-
-        tool = new MarqueeToolEntry();
-        entries.add(tool);
-        
-        final ElementConnectionFactory normalConnectionFactory = new ConnectionWrapperFactory(Connection.TYPE_NORMAL);
-
-        tool = new ConnectionCreationToolEntry(
-            "Connection Creation",
-            "Creating connections",
-            new CreationFactory() {
-                public Object getNewObject() {
-                	return normalConnectionFactory.createElementConnection();
-                }
-                public Object getObjectType() {
-                	return ConnectionWrapper.class;
-                }
-            },
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/connection.gif")), 
-            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/connection.gif"))
-        );
-        entries.add(tool);
-        
-        controlGroup.addAll(entries);
-        return controlGroup;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,190 @@
+package org.drools.eclipse.flow.ruleflow.editor;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
+import org.drools.eclipse.flow.ruleflow.core.ActionWrapper;
+import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper;
+import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapperFactory;
+import org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.JoinWrapper;
+import org.drools.eclipse.flow.ruleflow.core.MilestoneWrapper;
+import org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.SplitWrapper;
+import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.SubFlowWrapper;
+import org.drools.ruleflow.core.Connection;
+import org.eclipse.gef.palette.CombinedTemplateCreationEntry;
+import org.eclipse.gef.palette.ConnectionCreationToolEntry;
+import org.eclipse.gef.palette.MarqueeToolEntry;
+import org.eclipse.gef.palette.PaletteContainer;
+import org.eclipse.gef.palette.PaletteDrawer;
+import org.eclipse.gef.palette.PaletteGroup;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.gef.palette.SelectionToolEntry;
+import org.eclipse.gef.palette.ToolEntry;
+import org.eclipse.gef.requests.CreationFactory;
+import org.eclipse.gef.requests.SimpleFactory;
+import org.eclipse.jface.resource.ImageDescriptor;
+
+/**
+ * Factory for creating a RuleFlow palette.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowPaletteFactory {
+
+    public static PaletteRoot createPalette() {
+        PaletteRoot flowPalette = new PaletteRoot();
+        flowPalette.addAll(createCategories(flowPalette));
+        return flowPalette;
+    }
+    
+    private static List createCategories(PaletteRoot root) {
+        List categories = new ArrayList();
+        categories.add(createControlGroup(root));
+        categories.add(createComponentsDrawer());
+        return categories;
+    }
+
+    private static PaletteContainer createComponentsDrawer() {
+
+        PaletteDrawer drawer = new PaletteDrawer("Components", null);
+
+        List entries = new ArrayList();
+
+        CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
+            "Start",
+            "Create a new Start",
+            StartNodeWrapper.class,
+            new SimpleFactory(StartNodeWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif")),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif"))
+        );
+        entries.add(combined);
+        
+        combined = new CombinedTemplateCreationEntry(
+            "End",
+            "Create a new End",
+            EndNodeWrapper.class,
+            new SimpleFactory(EndNodeWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif"))
+        );
+        entries.add(combined);
+                
+        combined = new CombinedTemplateCreationEntry(
+            "RuleFlowGroup",
+            "Create a new RuleFlowGroup",
+            RuleSetNodeWrapper.class,
+            new SimpleFactory(RuleSetNodeWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/activity.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/activity.gif"))
+        );
+        entries.add(combined);
+            
+        combined = new CombinedTemplateCreationEntry(
+            "Split",
+            "Create a new Split",
+            SplitWrapper.class,
+            new SimpleFactory(SplitWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/split.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/split.gif"))
+        );
+        entries.add(combined);
+                    
+        combined = new CombinedTemplateCreationEntry(
+            "Join",
+            "Create a new Join",
+            JoinWrapper.class,
+            new SimpleFactory(JoinWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/join.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/join.gif"))
+        );
+        entries.add(combined);
+                        
+        combined = new CombinedTemplateCreationEntry(
+            "Milestone",
+            "Create a new Milestone",
+            MilestoneWrapper.class,
+            new SimpleFactory(MilestoneWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif"))
+        );
+        entries.add(combined);
+                            
+        combined = new CombinedTemplateCreationEntry(
+            "SubFlow",
+            "Create a new SubFlow",
+            SubFlowWrapper.class,
+            new SimpleFactory(SubFlowWrapper.class),
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif"))
+        );
+        entries.add(combined);
+                                
+        combined = new CombinedTemplateCreationEntry(
+                "Action",
+                "Create a new Action",
+                ActionWrapper.class,
+                new SimpleFactory(ActionWrapper.class),
+                ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif")), 
+                ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif"))
+            );
+            entries.add(combined);
+                                    
+        drawer.addAll(entries);
+        return drawer;
+    }
+
+    private static PaletteContainer createControlGroup(PaletteRoot root) {
+        PaletteGroup controlGroup = new PaletteGroup("Control Group");
+
+        List entries = new ArrayList();
+
+        ToolEntry tool = new SelectionToolEntry();
+        entries.add(tool);
+        root.setDefaultEntry(tool);
+
+        tool = new MarqueeToolEntry();
+        entries.add(tool);
+        
+        final ElementConnectionFactory normalConnectionFactory = new ConnectionWrapperFactory(Connection.TYPE_NORMAL);
+
+        tool = new ConnectionCreationToolEntry(
+            "Connection Creation",
+            "Creating connections",
+            new CreationFactory() {
+                public Object getNewObject() {
+                	return normalConnectionFactory.createElementConnection();
+                }
+                public Object getObjectType() {
+                	return ConnectionWrapper.class;
+                }
+            },
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/connection.gif")), 
+            ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/connection.gif"))
+        );
+        entries.add(tool);
+        
+        controlGroup.addAll(entries);
+        return controlGroup;
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,74 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.action;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor;
-import org.drools.ruleflow.core.RuleFlowProcessValidationError;
-import org.drools.ruleflow.core.impl.RuleFlowProcessValidatorImpl;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.ActionDelegate;
-
-/**
- * Action for checking a RuleFlow.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class CheckRuleFlowAction extends ActionDelegate implements IEditorActionDelegate {
-
-    private IEditorPart editor;
-    
-    public void run(IAction action) {
-        execute();
-    }
-
-    public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-        editor = targetEditor;
-    }
-
-    private void execute() {
-        RuleFlowProcessValidationError[] errors = RuleFlowProcessValidatorImpl.getInstance().validateProcess(
-            ((RuleFlowModelEditor) editor).getRuleFlowModel().getRuleFlowProcess());
-        if (errors.length == 0) {
-            MessageDialog.openInformation(editor.getSite().getShell(),
-            "Check RuleFlow", "The RuleFlow model was checked successfully.");
-        } else {
-			StringBuffer error = new StringBuffer(errors[0].toString());
-			error.append("\n");
-            for (int i = 1; i < errors.length; i++) {
-				error.append(" ");
-				error.append(errors[i]);
-				error.append("\n");
-            }
-            ErrorDialog.openError(editor.getSite().getShell(),
-                "Check RuleFlow", "The RuleFlow model contains errors.", 
-                new Status(
-                    IStatus.ERROR,
-                    DroolsEclipsePlugin.getDefault().getBundle().getSymbolicName(),
-                    IStatus.ERROR,
-                    error.toString(),
-                    null)
-                );
-        }
-
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/action/CheckRuleFlowAction.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,74 @@
+package org.drools.eclipse.flow.ruleflow.editor.action;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.ruleflow.editor.RuleFlowModelEditor;
+import org.drools.ruleflow.core.RuleFlowProcessValidationError;
+import org.drools.ruleflow.core.impl.RuleFlowProcessValidatorImpl;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.ui.IEditorActionDelegate;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.actions.ActionDelegate;
+
+/**
+ * Action for checking a RuleFlow.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class CheckRuleFlowAction extends ActionDelegate implements IEditorActionDelegate {
+
+    private IEditorPart editor;
+    
+    public void run(IAction action) {
+        execute();
+    }
+
+    public void setActiveEditor(IAction action, IEditorPart targetEditor) {
+        editor = targetEditor;
+    }
+
+    private void execute() {
+        RuleFlowProcessValidationError[] errors = RuleFlowProcessValidatorImpl.getInstance().validateProcess(
+            ((RuleFlowModelEditor) editor).getRuleFlowModel().getRuleFlowProcess());
+        if (errors.length == 0) {
+            MessageDialog.openInformation(editor.getSite().getShell(),
+            "Check RuleFlow", "The RuleFlow model was checked successfully.");
+        } else {
+			StringBuffer error = new StringBuffer(errors[0].toString());
+			error.append("\n");
+            for (int i = 1; i < errors.length; i++) {
+				error.append(" ");
+				error.append(errors[i]);
+				error.append("\n");
+            }
+            ErrorDialog.openError(editor.getSite().getShell(),
+                "Check RuleFlow", "The RuleFlow model contains errors.", 
+                new Status(
+                    IStatus.ERROR,
+                    DroolsEclipsePlugin.getDefault().getBundle().getSymbolicName(),
+                    IStatus.ERROR,
+                    error.toString(),
+                    null)
+                );
+        }
+
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RoundedRectangle;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for an action node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ActionEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
-    
-    protected IFigure createFigure() {
-        return new RuleSetNodeFigure();
-    }
-    
-    public static class RuleSetNodeFigure extends ElementFigure {
-        
-        private static final Image ICON = ImageDescriptor.createFromURL(
-    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif")).createImage();
-            
-        private RoundedRectangle rectangle;
-        
-        protected void customizeFigure() {
-            rectangle = new RoundedRectangle();
-            rectangle.setCornerDimensions(new Dimension(25, 25));
-            add(rectangle, 0);
-            rectangle.setBackgroundColor(color);
-            rectangle.setBounds(getBounds());
-            setSelected(false);
-            setIcon(ICON);
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            this.rectangle.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            rectangle.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/ActionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.RoundedRectangle;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for an action node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
+    
+    protected IFigure createFigure() {
+        return new RuleSetNodeFigure();
+    }
+    
+    public static class RuleSetNodeFigure extends ElementFigure {
+        
+        private static final Image ICON = ImageDescriptor.createFromURL(
+    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/action.gif")).createImage();
+            
+        private RoundedRectangle rectangle;
+        
+        protected void customizeFigure() {
+            rectangle = new RoundedRectangle();
+            rectangle.setCornerDimensions(new Dimension(25, 25));
+            add(rectangle, 0);
+            rectangle.setBackgroundColor(color);
+            rectangle.setBounds(getBounds());
+            setSelected(false);
+            setIcon(ICON);
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            this.rectangle.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            rectangle.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * EditPart for an end node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class EndNodeEditPart extends ElementEditPart {
-
-    protected IFigure createFigure() {
-        return new EndNodeFigure();
-    }
-
-    public static class EndNodeFigure extends ElementFigure {
-        
-        private static final Image icon = ImageDescriptor.createFromURL(
-        	DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif")).createImage();
-            
-        protected void customizeFigure() {
-            setIcon(icon);
-            setBorder(new LineBorder(1));
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            ((LineBorder) getBorder()).setWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/EndNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.LineBorder;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * EditPart for an end node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class EndNodeEditPart extends ElementEditPart {
+
+    protected IFigure createFigure() {
+        return new EndNodeFigure();
+    }
+
+    public static class EndNodeFigure extends ElementFigure {
+        
+        private static final Image icon = ImageDescriptor.createFromURL(
+        	DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_stop.gif")).createImage();
+            
+        protected void customizeFigure() {
+            setIcon(icon);
+            setBorder(new LineBorder(1));
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            ((LineBorder) getBorder()).setWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,81 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.draw2d.Ellipse;
-import org.eclipse.draw2d.EllipseAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for a join node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class JoinEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 70, 130, 180);
-    
-    protected IFigure createFigure() {
-        return new JoinFigure();
-    }
-
-    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public class JoinFigure extends ElementFigure {
-        
-        private Ellipse ellipse;
-        
-        protected void customizeFigure() {
-            ellipse = new Ellipse();
-            add(ellipse, 0);
-            ellipse.setBackgroundColor(color);
-            ellipse.setBounds(getBounds());
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            ellipse.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            ellipse.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/JoinEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,81 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.draw2d.Ellipse;
+import org.eclipse.draw2d.EllipseAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for a join node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class JoinEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 70, 130, 180);
+    
+    protected IFigure createFigure() {
+        return new JoinFigure();
+    }
+
+    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public class JoinFigure extends ElementFigure {
+        
+        private Ellipse ellipse;
+        
+        protected void customizeFigure() {
+            ellipse = new Ellipse();
+            add(ellipse, 0);
+            ellipse.setBackgroundColor(color);
+            ellipse.setBounds(getBounds());
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            ellipse.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            ellipse.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RoundedRectangle;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for a RuleSet node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MilestoneEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
-    
-    protected IFigure createFigure() {
-        return new RuleSetNodeFigure();
-    }
-    
-    public static class RuleSetNodeFigure extends ElementFigure {
-        
-        private static final Image ICON = ImageDescriptor.createFromURL(
-    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif")).createImage();
-            
-        private RoundedRectangle rectangle;
-        
-        protected void customizeFigure() {
-            rectangle = new RoundedRectangle();
-            rectangle.setCornerDimensions(new Dimension(25, 25));
-            add(rectangle, 0);
-            rectangle.setBackgroundColor(color);
-            rectangle.setBounds(getBounds());
-            setSelected(false);
-            setIcon(ICON);
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            this.rectangle.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            rectangle.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/MilestoneEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.RoundedRectangle;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for a RuleSet node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MilestoneEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
+    
+    protected IFigure createFigure() {
+        return new RuleSetNodeFigure();
+    }
+    
+    public static class RuleSetNodeFigure extends ElementFigure {
+        
+        private static final Image ICON = ImageDescriptor.createFromURL(
+    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/question.gif")).createImage();
+            
+        private RoundedRectangle rectangle;
+        
+        protected void customizeFigure() {
+            rectangle = new RoundedRectangle();
+            rectangle.setCornerDimensions(new Dimension(25, 25));
+            add(rectangle, 0);
+            rectangle.setBackgroundColor(color);
+            rectangle.setBounds(getBounds());
+            setSelected(false);
+            setIcon(ICON);
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            this.rectangle.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            rectangle.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
-import org.drools.eclipse.flow.common.editor.editpart.ElementConnectionEditPart;
-import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapperFactory;
-import org.drools.ruleflow.core.Connection;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PolygonDecoration;
-import org.eclipse.draw2d.PolylineConnection;
-import org.eclipse.draw2d.geometry.PointList;
-
-/**
- * EditPart for an element connection.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowConnectionEditPart extends ElementConnectionEditPart {
-    
-	protected ElementConnectionFactory getDefaultElementConnectionFactory() {
-		return new ConnectionWrapperFactory(Connection.TYPE_NORMAL);
-	}
-	
-    protected IFigure createFigure() {
-        PolylineConnection result = (PolylineConnection) super.createFigure();
-        if (((ElementConnection) getModel()).getType() == Connection.TYPE_ABORT) {
-	        PolygonDecoration decoration = new PolygonDecoration();
-	        PointList decorationPointList = new PointList();
-	        decorationPointList.addPoint(0,0);
-	        decorationPointList.addPoint(-1,1);
-	        decorationPointList.addPoint(-2,0);
-	        decorationPointList.addPoint(-1,-1);
-	        decoration.setTemplate(decorationPointList);
-	        result.setSourceDecoration(decoration);
-        }
-        return result;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowConnectionEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.core.ElementConnectionFactory;
+import org.drools.eclipse.flow.common.editor.editpart.ElementConnectionEditPart;
+import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapperFactory;
+import org.drools.ruleflow.core.Connection;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.draw2d.geometry.PointList;
+
+/**
+ * EditPart for an element connection.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowConnectionEditPart extends ElementConnectionEditPart {
+    
+	protected ElementConnectionFactory getDefaultElementConnectionFactory() {
+		return new ConnectionWrapperFactory(Connection.TYPE_NORMAL);
+	}
+	
+    protected IFigure createFigure() {
+        PolylineConnection result = (PolylineConnection) super.createFigure();
+        if (((ElementConnection) getModel()).getType() == Connection.TYPE_ABORT) {
+	        PolygonDecoration decoration = new PolygonDecoration();
+	        PointList decorationPointList = new PointList();
+	        decorationPointList.addPoint(0,0);
+	        decorationPointList.addPoint(-1,1);
+	        decorationPointList.addPoint(-2,0);
+	        decorationPointList.addPoint(-1,-1);
+	        decoration.setTemplate(decorationPointList);
+	        result.setSourceDecoration(decoration);
+        }
+        return result;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,69 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.core.ElementConnection;
-import org.drools.eclipse.flow.common.editor.editpart.ProcessEditPart;
-import org.drools.eclipse.flow.ruleflow.core.ActionWrapper;
-import org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.JoinWrapper;
-import org.drools.eclipse.flow.ruleflow.core.MilestoneWrapper;
-import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
-import org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.SplitWrapper;
-import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
-import org.drools.eclipse.flow.ruleflow.core.SubFlowWrapper;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartFactory;
-
-/**
- * Factory for RuleFlow EditParts.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowEditPartFactory implements EditPartFactory {
-
-    public EditPart createEditPart(EditPart context, Object model) {
-        EditPart result = null;
-        if (model instanceof RuleFlowProcessWrapper) {
-            result = new ProcessEditPart();
-        } else if (model instanceof RuleSetNodeWrapper) {
-            result = new RuleSetNodeEditPart();
-        } else if (model instanceof ElementConnection) {
-            result = new RuleFlowConnectionEditPart();
-        } else if (model instanceof StartNodeWrapper) {
-            result = new StartNodeEditPart();
-        } else if (model instanceof EndNodeWrapper) {
-            result = new EndNodeEditPart();
-        } else if (model instanceof SplitWrapper) {
-            result = new SplitEditPart();
-        } else if (model instanceof JoinWrapper) {
-            result = new JoinEditPart();
-        } else if (model instanceof MilestoneWrapper) {
-            result = new MilestoneEditPart();
-        } else if (model instanceof SubFlowWrapper) {
-            result = new SubFlowEditPart();
-        } else if (model instanceof ActionWrapper) {
-            result = new ActionEditPart();
-        } else {
-            throw new IllegalArgumentException(
-                "Unknown model object " + model);
-        }
-        result.setModel(model);
-        return result;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleFlowEditPartFactory.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,69 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.core.ElementConnection;
+import org.drools.eclipse.flow.common.editor.editpart.ProcessEditPart;
+import org.drools.eclipse.flow.ruleflow.core.ActionWrapper;
+import org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.JoinWrapper;
+import org.drools.eclipse.flow.ruleflow.core.MilestoneWrapper;
+import org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper;
+import org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.SplitWrapper;
+import org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.SubFlowWrapper;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartFactory;
+
+/**
+ * Factory for RuleFlow EditParts.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowEditPartFactory implements EditPartFactory {
+
+    public EditPart createEditPart(EditPart context, Object model) {
+        EditPart result = null;
+        if (model instanceof RuleFlowProcessWrapper) {
+            result = new ProcessEditPart();
+        } else if (model instanceof RuleSetNodeWrapper) {
+            result = new RuleSetNodeEditPart();
+        } else if (model instanceof ElementConnection) {
+            result = new RuleFlowConnectionEditPart();
+        } else if (model instanceof StartNodeWrapper) {
+            result = new StartNodeEditPart();
+        } else if (model instanceof EndNodeWrapper) {
+            result = new EndNodeEditPart();
+        } else if (model instanceof SplitWrapper) {
+            result = new SplitEditPart();
+        } else if (model instanceof JoinWrapper) {
+            result = new JoinEditPart();
+        } else if (model instanceof MilestoneWrapper) {
+            result = new MilestoneEditPart();
+        } else if (model instanceof SubFlowWrapper) {
+            result = new SubFlowEditPart();
+        } else if (model instanceof ActionWrapper) {
+            result = new ActionEditPart();
+        } else {
+            throw new IllegalArgumentException(
+                "Unknown model object " + model);
+        }
+        result.setModel(model);
+        return result;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,64 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RoundedRectangle;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for a RuleSet node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleSetNodeEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
-    
-    protected IFigure createFigure() {
-        return new RuleSetNodeFigure();
-    }
-    
-    public class RuleSetNodeFigure extends ElementFigure {
-        
-        private RoundedRectangle rectangle;
-        
-        protected void customizeFigure() {
-            rectangle = new RoundedRectangle();
-            rectangle.setCornerDimensions(new Dimension(25, 25));
-            add(rectangle, 0);
-            rectangle.setBackgroundColor(color);
-            rectangle.setBounds(getBounds());
-            setSelected(false);
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            this.rectangle.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            rectangle.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/RuleSetNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,64 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.RoundedRectangle;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for a RuleSet node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleSetNodeEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
+    
+    protected IFigure createFigure() {
+        return new RuleSetNodeFigure();
+    }
+    
+    public class RuleSetNodeFigure extends ElementFigure {
+        
+        private RoundedRectangle rectangle;
+        
+        protected void customizeFigure() {
+            rectangle = new RoundedRectangle();
+            rectangle.setCornerDimensions(new Dimension(25, 25));
+            add(rectangle, 0);
+            rectangle.setBackgroundColor(color);
+            rectangle.setBounds(getBounds());
+            setSelected(false);
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            this.rectangle.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            rectangle.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,81 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.draw2d.Ellipse;
-import org.eclipse.draw2d.EllipseAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for a split node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class SplitEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 70, 130, 180);
-    
-    protected IFigure createFigure() {
-        return new SplitFigure();
-    }
-
-    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
-        return new EllipseAnchor(getFigure());
-    }
-
-    public class SplitFigure extends ElementFigure {
-        
-        private Ellipse ellipse;
-        
-        protected void customizeFigure() {
-            ellipse = new Ellipse();
-            add(ellipse, 0);
-            ellipse.setBackgroundColor(color);
-            ellipse.setBounds(getBounds());
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            ellipse.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            ellipse.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SplitEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,81 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.draw2d.Ellipse;
+import org.eclipse.draw2d.EllipseAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for a split node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SplitEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 70, 130, 180);
+    
+    protected IFigure createFigure() {
+        return new SplitFigure();
+    }
+
+    public ConnectionAnchor getSourceConnectionAnchor(ConnectionEditPart connection) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(ConnectionEditPart connection) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+        return new EllipseAnchor(getFigure());
+    }
+
+    public class SplitFigure extends ElementFigure {
+        
+        private Ellipse ellipse;
+        
+        protected void customizeFigure() {
+            ellipse = new Ellipse();
+            add(ellipse, 0);
+            ellipse.setBackgroundColor(color);
+            ellipse.setBounds(getBounds());
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            ellipse.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            ellipse.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * EditPart for a start node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class StartNodeEditPart extends ElementEditPart {
-
-    protected IFigure createFigure() {
-        return new StartNodeFigure();
-    }
-
-    public static class StartNodeFigure extends ElementFigure {
-        
-        private static final Image icon = ImageDescriptor.createFromURL(
-    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif")).createImage();
-        
-        protected void customizeFigure() {
-            setIcon(icon);
-            setBorder(new LineBorder(1));
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            ((LineBorder) getBorder()).setWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/StartNodeEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.LineBorder;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * EditPart for a start node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class StartNodeEditPart extends ElementEditPart {
+
+    protected IFigure createFigure() {
+        return new StartNodeFigure();
+    }
+
+    public static class StartNodeFigure extends ElementFigure {
+        
+        private static final Image icon = ImageDescriptor.createFromURL(
+    		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process_start.gif")).createImage();
+        
+        protected void customizeFigure() {
+            setIcon(icon);
+            setBorder(new LineBorder(1));
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            ((LineBorder) getBorder()).setWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,71 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.editor.editpart;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
-import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RoundedRectangle;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * EditPart for a SubFlow node.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class SubFlowEditPart extends ElementEditPart {
-
-    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
-    
-    protected IFigure createFigure() {
-        return new SubFlowNodeFigure();
-    }
-    
-    public static class SubFlowNodeFigure extends ElementFigure {
-        
-        private static final Image ICON = ImageDescriptor.createFromURL(
-        		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif")).createImage();
-                
-        private RoundedRectangle rectangle;
-        
-        protected void customizeFigure() {
-            rectangle = new RoundedRectangle();
-            rectangle.setCornerDimensions(new Dimension(25, 25));
-            add(rectangle, 0);
-            rectangle.setBackgroundColor(color);
-            rectangle.setBounds(getBounds());
-            setSelected(false);
-            setIcon(ICON);
-        }
-        
-        public void setBounds(Rectangle rectangle) {
-            super.setBounds(rectangle);
-            this.rectangle.setBounds(rectangle);
-        }
-        
-        public void setSelected(boolean b) {
-            super.setSelected(b);
-            rectangle.setLineWidth(b ? 3 : 1);
-            repaint();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/editpart/SubFlowEditPart.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,71 @@
+package org.drools.eclipse.flow.ruleflow.editor.editpart;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.editor.editpart.ElementEditPart;
+import org.drools.eclipse.flow.common.editor.editpart.figure.ElementFigure;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.RoundedRectangle;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * EditPart for a SubFlow node.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SubFlowEditPart extends ElementEditPart {
+
+    private static final Color color = new Color(Display.getCurrent(), 255, 250, 205);
+    
+    protected IFigure createFigure() {
+        return new SubFlowNodeFigure();
+    }
+    
+    public static class SubFlowNodeFigure extends ElementFigure {
+        
+        private static final Image ICON = ImageDescriptor.createFromURL(
+        		DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/process.gif")).createImage();
+                
+        private RoundedRectangle rectangle;
+        
+        protected void customizeFigure() {
+            rectangle = new RoundedRectangle();
+            rectangle.setCornerDimensions(new Dimension(25, 25));
+            add(rectangle, 0);
+            rectangle.setBackgroundColor(color);
+            rectangle.setBounds(getBounds());
+            setSelected(false);
+            setIcon(ICON);
+        }
+        
+        public void setBounds(Rectangle rectangle) {
+            super.setBounds(rectangle);
+            this.rectangle.setBounds(rectangle);
+        }
+        
+        public void setSelected(boolean b) {
+            super.setSelected(b);
+            rectangle.setLineWidth(b ? 3 : 1);
+            repaint();
+        }
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.action;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.core.ActionNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Cell editor for an action.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ActionCellEditor extends BeanDialogCellEditor {
-
-    private RuleFlowProcess process;
-    private ActionNode actionNode;
-    
-    public ActionCellEditor(Composite parent, RuleFlowProcess process, ActionNode actionNode) {
-        super(parent);
-        this.process = process;
-        this.actionNode = actionNode;
-    }
-
-    protected EditBeanDialog createDialog(Shell shell) {
-        return new ActionDialog(shell, process, actionNode);
-    }
-    
-    protected String getLabelText(Object value) {
-    	if (actionNode == null || actionNode.getAction() == null) {
-    		return "";
-    	}
-        return actionNode.getAction().toString();
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.core.ActionNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell editor for an action.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionCellEditor extends BeanDialogCellEditor {
+
+    private RuleFlowProcess process;
+    private ActionNode actionNode;
+    
+    public ActionCellEditor(Composite parent, RuleFlowProcess process, ActionNode actionNode) {
+        super(parent);
+        this.process = process;
+        this.actionNode = actionNode;
+    }
+
+    protected EditBeanDialog createDialog(Shell shell) {
+        return new ActionDialog(shell, process, actionNode);
+    }
+    
+    protected String getLabelText(Object value) {
+    	if (actionNode == null || actionNode.getAction() == null) {
+    		return "";
+    	}
+        return actionNode.getAction().toString();
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,216 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.action;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.eclipse.flow.ruleflow.view.property.constraint.RuleFlowGlobalsDialog;
-import org.drools.eclipse.flow.ruleflow.view.property.constraint.RuleFlowImportsDialog;
-import org.drools.ruleflow.core.ActionNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.drools.ruleflow.core.impl.DroolsConsequenceAction;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Dialog for editing an action.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ActionDialog extends EditBeanDialog {
-
-	private RuleFlowProcess process;
-	private TabFolder tabFolder;
-	private SourceViewer actionViewer;
-	//private ActionCompletionProcessor completionProcessor;
-
-	public ActionDialog(Shell parentShell, RuleFlowProcess process, ActionNode actionNode) {
-		super(parentShell, "Action editor");
-		this.process = process;
-		super.setValue(actionNode.getAction());
-	}
-	
-    public void setValue(Object value) {
-        // the value is automatically retrieved from the actionNode
-    	// and cannot be set manually
-    }
-
-	protected Object updateValue(Object value) {
-		if (tabFolder.getSelectionIndex() == 0) {
-			return getAction();
-		}
-		return null;
-	}
-
-	protected Point getInitialSize() {
-		return new Point(600, 450);
-	}
-
-	private Control createTextualEditor(Composite parent) {
-		actionViewer = new SourceViewer(parent, null, SWT.BORDER);
-//		actionViewer.configure(new DRLSourceViewerConfig(null) {
-//			public IReconciler getReconciler(ISourceViewer sourceViewer) {
-//				return null;
-//			}
-//			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-//				ContentAssistant assistant = new ContentAssistant();
-//				completionProcessor = new ActionCompletionProcessor(process);
-//				assistant.setContentAssistProcessor(
-//					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-//				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-//				return assistant;
-//			}
-//		});
-		Object action = getValue();
-		String value = null;
-		if (action instanceof DroolsConsequenceAction) {
-			value = ((DroolsConsequenceAction) action).getConsequence();
-		}
-		if (value == null) {
-			value = "";
-		}
-		IDocument document = new Document(value);
-		actionViewer.setDocument(document);
-		IDocumentPartitioner partitioner =
-            new FastPartitioner(
-                new DRLPartionScanner(),
-                DRLPartionScanner.LEGAL_CONTENT_TYPES);
-        partitioner.connect(document);
-        document.setDocumentPartitioner(partitioner);
-        actionViewer.getControl().addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
-					actionViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-				}
-			}
-			public void keyReleased(KeyEvent e) {
-			}
-        });
-		return actionViewer.getControl();
-	}
-	
-	private Object getAction() {
-		return new DroolsConsequenceAction(actionViewer.getDocument().get());
-	}
-	
-	public Control createDialogArea(Composite parent) {
-		GridLayout layout = new GridLayout();
-		parent.setLayout(layout);
-		layout.numColumns = 2;
-
-		Composite top = new Composite(parent, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		gd.grabExcessHorizontalSpace = true;
-		top.setLayoutData(gd);
-
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		top.setLayout(layout);
-
-		Button importButton = new Button(top, SWT.PUSH);
-		importButton.setText("Imports ...");
-		importButton.setFont(JFaceResources.getDialogFont());
-		importButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				importButtonPressed();
-			}
-		});
-		gd = new GridData();
-		importButton.setLayoutData(gd);
-
-		Button globalButton = new Button(top, SWT.PUSH);
-		globalButton.setText("Globals ...");
-		globalButton.setFont(JFaceResources.getDialogFont());
-		globalButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				globalButtonPressed();
-			}
-		});
-		gd = new GridData();
-		globalButton.setLayoutData(gd);
-
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		tabFolder.setLayoutData(gd);
-		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
-		textEditorTab.setText("Textual Editor");
-
-		textEditorTab.setControl(createTextualEditor(tabFolder));
-		return tabFolder;
-	}
-	
-	private void importButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowImportsDialog dialog =
-					new RuleFlowImportsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					List imports = dialog.getImports();
-					process.setImports(imports);
-//					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-	
-	private void globalButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowGlobalsDialog dialog =
-					new RuleFlowGlobalsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					Map globals = dialog.getGlobals();
-					process.setGlobals(globals);
-//					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,216 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.eclipse.flow.ruleflow.view.property.constraint.RuleFlowGlobalsDialog;
+import org.drools.eclipse.flow.ruleflow.view.property.constraint.RuleFlowImportsDialog;
+import org.drools.ruleflow.core.ActionNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.drools.ruleflow.core.impl.DroolsConsequenceAction;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+
+/**
+ * Dialog for editing an action.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionDialog extends EditBeanDialog {
+
+	private RuleFlowProcess process;
+	private TabFolder tabFolder;
+	private SourceViewer actionViewer;
+	//private ActionCompletionProcessor completionProcessor;
+
+	public ActionDialog(Shell parentShell, RuleFlowProcess process, ActionNode actionNode) {
+		super(parentShell, "Action editor");
+		this.process = process;
+		super.setValue(actionNode.getAction());
+	}
+	
+    public void setValue(Object value) {
+        // the value is automatically retrieved from the actionNode
+    	// and cannot be set manually
+    }
+
+	protected Object updateValue(Object value) {
+		if (tabFolder.getSelectionIndex() == 0) {
+			return getAction();
+		}
+		return null;
+	}
+
+	protected Point getInitialSize() {
+		return new Point(600, 450);
+	}
+
+	private Control createTextualEditor(Composite parent) {
+		actionViewer = new SourceViewer(parent, null, SWT.BORDER);
+//		actionViewer.configure(new DRLSourceViewerConfig(null) {
+//			public IReconciler getReconciler(ISourceViewer sourceViewer) {
+//				return null;
+//			}
+//			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+//				ContentAssistant assistant = new ContentAssistant();
+//				completionProcessor = new ActionCompletionProcessor(process);
+//				assistant.setContentAssistProcessor(
+//					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
+//				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+//				return assistant;
+//			}
+//		});
+		Object action = getValue();
+		String value = null;
+		if (action instanceof DroolsConsequenceAction) {
+			value = ((DroolsConsequenceAction) action).getConsequence();
+		}
+		if (value == null) {
+			value = "";
+		}
+		IDocument document = new Document(value);
+		actionViewer.setDocument(document);
+		IDocumentPartitioner partitioner =
+            new FastPartitioner(
+                new DRLPartionScanner(),
+                DRLPartionScanner.LEGAL_CONTENT_TYPES);
+        partitioner.connect(document);
+        document.setDocumentPartitioner(partitioner);
+        actionViewer.getControl().addKeyListener(new KeyListener() {
+			public void keyPressed(KeyEvent e) {
+				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
+					actionViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
+				}
+			}
+			public void keyReleased(KeyEvent e) {
+			}
+        });
+		return actionViewer.getControl();
+	}
+	
+	private Object getAction() {
+		return new DroolsConsequenceAction(actionViewer.getDocument().get());
+	}
+	
+	public Control createDialogArea(Composite parent) {
+		GridLayout layout = new GridLayout();
+		parent.setLayout(layout);
+		layout.numColumns = 2;
+
+		Composite top = new Composite(parent, SWT.NONE);
+		GridData gd = new GridData();
+		gd.horizontalSpan = 2;
+		gd.grabExcessHorizontalSpace = true;
+		top.setLayoutData(gd);
+
+		layout = new GridLayout();
+		layout.numColumns = 3;
+		top.setLayout(layout);
+
+		Button importButton = new Button(top, SWT.PUSH);
+		importButton.setText("Imports ...");
+		importButton.setFont(JFaceResources.getDialogFont());
+		importButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				importButtonPressed();
+			}
+		});
+		gd = new GridData();
+		importButton.setLayoutData(gd);
+
+		Button globalButton = new Button(top, SWT.PUSH);
+		globalButton.setText("Globals ...");
+		globalButton.setFont(JFaceResources.getDialogFont());
+		globalButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				globalButtonPressed();
+			}
+		});
+		gd = new GridData();
+		globalButton.setLayoutData(gd);
+
+		tabFolder = new TabFolder(parent, SWT.NONE);
+		gd = new GridData();
+		gd.horizontalSpan = 3;
+		gd.grabExcessHorizontalSpace = true;
+		gd.grabExcessVerticalSpace = true;
+		gd.verticalAlignment = GridData.FILL;
+		gd.horizontalAlignment = GridData.FILL;
+		tabFolder.setLayoutData(gd);
+		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
+		textEditorTab.setText("Textual Editor");
+
+		textEditorTab.setControl(createTextualEditor(tabFolder));
+		return tabFolder;
+	}
+	
+	private void importButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowImportsDialog dialog =
+					new RuleFlowImportsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					List imports = dialog.getImports();
+					process.setImports(imports);
+//					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+	
+	private void globalButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowGlobalsDialog dialog =
+					new RuleFlowGlobalsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					Map globals = dialog.getGlobals();
+					process.setGlobals(globals);
+//					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.action;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.ruleflow.core.ActionNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Property descriptor for an action.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ActionPropertyDescriptor extends PropertyDescriptor {
-    
-    private RuleFlowProcess process;
-    private ActionNode actionNode;
-    
-    public ActionPropertyDescriptor(Object id, String displayName, ActionNode actionNode, RuleFlowProcess process) {
-        super(id, displayName);
-        this.actionNode = actionNode;
-        this.process = process;
-    }
-    
-    public RuleFlowProcess getProcess() {
-        return process;
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent) {
-    	ActionCellEditor editor = new ActionCellEditor(parent, process, actionNode);
-        if (getValidator() != null) {
-            editor.setValidator(getValidator());
-        }
-        return editor;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.ruleflow.core.ActionNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+/**
+ * Property descriptor for an action.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionPropertyDescriptor extends PropertyDescriptor {
+    
+    private RuleFlowProcess process;
+    private ActionNode actionNode;
+    
+    public ActionPropertyDescriptor(Object id, String displayName, ActionNode actionNode, RuleFlowProcess process) {
+        super(id, displayName);
+        this.actionNode = actionNode;
+        this.process = process;
+    }
+    
+    public RuleFlowProcess getProcess() {
+        return process;
+    }
+    
+    public CellEditor createPropertyEditor(Composite parent) {
+    	ActionCellEditor editor = new ActionCellEditor(parent, process, actionNode);
+        if (getValidator() != null) {
+            editor.setValidator(getValidator());
+        }
+        return editor;
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,133 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Completion for ruleflow constraints. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConstraintCompletionProcessor extends RuleCompletionProcessor {
-
-	private RuleFlowProcess process;
-	private List imports;
-	private List globals;
-	
-	public ConstraintCompletionProcessor(RuleFlowProcess process) {
-		super(null);
-		this.process = process;
-	}
-	
-	public IEditorPart getEditor() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench != null) { 
-			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-			if (workbenchWindow != null) {
-				IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); 
-				if (workbenchPage != null) {
-					return workbenchPage.getActiveEditor();
-				}
-			}
-		}
-		return null;
-	}
-
-    protected String readBackwards(int documentOffset, IDocument doc) throws BadLocationException {
-        int startPart = doc.getPartition(documentOffset).getOffset();
-        String prefix = doc.get(startPart, documentOffset - startPart);
-        return "rule dummy \n when \n" + prefix;
-    }
-    
-    public List getImports() {
-    	if (imports == null) {
-    		loadImports();
-    	}
-    	return imports;
-    }
-    
-    private void loadImports() {
-    	this.imports = new ArrayList();
-    	List imports = process.getImports();
-    	if (imports != null) {
-	    	Iterator iterator = imports.iterator();
-	        while (iterator.hasNext()) {
-	            String importName = (String) iterator.next();
-	            if (importName.endsWith(".*")) {
-	            	IJavaProject javaProject = getJavaProject();
-	            	if (javaProject != null) {
-		                String packageName = importName.substring(0, importName.length() - 2);
-		                this.imports.addAll(DRLRuleEditor.getAllClassesInPackage(packageName, javaProject));
-	            	}
-	            } else {
-	            	this.imports.add(importName);
-	            }
-	        }
-    	}
-    }
-    
-    public List getGlobals() {
-    	if (globals == null) {
-    		loadGlobals();
-    	}
-    	return globals;
-    }
-    
-    private void loadGlobals() {
-    	this.globals = Arrays.asList(process.getGlobalNames());
-    }
-    
-    private IJavaProject getJavaProject() {
-    	IEditorPart editor = getEditor();
-    	if (editor != null && editor.getEditorInput() instanceof IFileEditorInput) {
-			IFile file = ((IFileEditorInput) editor.getEditorInput()).getFile();
-	    	try {
-	    		if (file.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
-	    			return JavaCore.create(file.getProject());
-	    		}
-	    	} catch (CoreException e) {
-	    		// do nothing
-	    	}
-		}
-    	return null;
-    }
-    
-    public void reset() {
-    	this.imports = null;
-    	this.globals = null;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,133 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * Completion for ruleflow constraints. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConstraintCompletionProcessor extends RuleCompletionProcessor {
+
+	private RuleFlowProcess process;
+	private List imports;
+	private List globals;
+	
+	public ConstraintCompletionProcessor(RuleFlowProcess process) {
+		super(null);
+		this.process = process;
+	}
+	
+	public IEditorPart getEditor() {
+		IWorkbench workbench = PlatformUI.getWorkbench();
+		if (workbench != null) { 
+			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+			if (workbenchWindow != null) {
+				IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); 
+				if (workbenchPage != null) {
+					return workbenchPage.getActiveEditor();
+				}
+			}
+		}
+		return null;
+	}
+
+    protected String readBackwards(int documentOffset, IDocument doc) throws BadLocationException {
+        int startPart = doc.getPartition(documentOffset).getOffset();
+        String prefix = doc.get(startPart, documentOffset - startPart);
+        return "rule dummy \n when \n" + prefix;
+    }
+    
+    public List getImports() {
+    	if (imports == null) {
+    		loadImports();
+    	}
+    	return imports;
+    }
+    
+    private void loadImports() {
+    	this.imports = new ArrayList();
+    	List imports = process.getImports();
+    	if (imports != null) {
+	    	Iterator iterator = imports.iterator();
+	        while (iterator.hasNext()) {
+	            String importName = (String) iterator.next();
+	            if (importName.endsWith(".*")) {
+	            	IJavaProject javaProject = getJavaProject();
+	            	if (javaProject != null) {
+		                String packageName = importName.substring(0, importName.length() - 2);
+		                this.imports.addAll(DRLRuleEditor.getAllClassesInPackage(packageName, javaProject));
+	            	}
+	            } else {
+	            	this.imports.add(importName);
+	            }
+	        }
+    	}
+    }
+    
+    public List getGlobals() {
+    	if (globals == null) {
+    		loadGlobals();
+    	}
+    	return globals;
+    }
+    
+    private void loadGlobals() {
+    	this.globals = Arrays.asList(process.getGlobalNames());
+    }
+    
+    private IJavaProject getJavaProject() {
+    	IEditorPart editor = getEditor();
+    	if (editor != null && editor.getEditorInput() instanceof IFileEditorInput) {
+			IFile file = ((IFileEditorInput) editor.getEditorInput()).getFile();
+	    	try {
+	    		if (file.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
+	    			return JavaCore.create(file.getProject());
+	    		}
+	    	} catch (CoreException e) {
+	    		// do nothing
+	    	}
+		}
+    	return null;
+    }
+    
+    public void reset() {
+    	this.imports = null;
+    	this.globals = null;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,48 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.core.Split;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Cell editor for constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConstraintListCellEditor extends BeanDialogCellEditor {
-
-    private RuleFlowProcess process;
-    private Split split;
-    
-    public ConstraintListCellEditor(Composite parent, RuleFlowProcess process, Split split) {
-        super(parent);
-        this.process = process;
-        this.split = split;
-    }
-
-    protected EditBeanDialog createDialog(Shell shell) {
-        return new ConstraintListDialog(shell, process, split);
-    }
-    
-    protected String getLabelText(Object value) {
-        return "";
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,48 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.core.Split;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell editor for constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConstraintListCellEditor extends BeanDialogCellEditor {
+
+    private RuleFlowProcess process;
+    private Split split;
+    
+    public ConstraintListCellEditor(Composite parent, RuleFlowProcess process, Split split) {
+        super(parent);
+        this.process = process;
+        this.split = split;
+    }
+
+    protected EditBeanDialog createDialog(Shell shell) {
+        return new ConstraintListDialog(shell, process, split);
+    }
+    
+    protected String getLabelText(Object value) {
+        return "";
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,143 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.core.Connection;
-import org.drools.ruleflow.core.Constraint;
-import org.drools.ruleflow.core.Split;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog for editing constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConstraintListDialog extends EditBeanDialog {
-
-	private RuleFlowProcess process;
-	private Split split;
-	private Map newMap;
-	private Map labels = new HashMap();
-
-	protected ConstraintListDialog(Shell parentShell, RuleFlowProcess process,
-			Split split) {
-		super(parentShell, "Edit Constraints");
-		this.process = process;
-		this.split = split;
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 3;
-		composite.setLayout(gridLayout);
-
-		List outgoingConnections = split.getOutgoingConnections();
-		labels.clear();
-		for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
-			Connection outgoingConnection = (Connection) it.next();
-			Label label1 = new Label(composite, SWT.NONE);
-			label1.setText("To node " + outgoingConnection.getTo().getName()
-					+ ": ");
-
-			Label label2 = new Label(composite, SWT.NONE);
-			labels.put(outgoingConnection, label2);
-			GridData gridData = new GridData();
-			gridData.grabExcessHorizontalSpace = true;
-			gridData.horizontalAlignment = GridData.FILL;
-			label2.setLayoutData(gridData);
-			Constraint constraint = (Constraint) newMap.get(outgoingConnection);
-			if (constraint != null) {
-				label2.setText(constraint.getName());
-			}
-
-			Button editButton = new Button(composite, SWT.NONE);
-			editButton.setText("Edit");
-			editButton.addSelectionListener(new EditButtonListener(
-					outgoingConnection));
-		}
-
-		return composite;
-	}
-
-	public void setValue(Object value) {
-		super.setValue(value);
-		this.newMap = new HashMap((Map) value);
-	}
-
-	protected Object updateValue(Object value) {
-		return newMap;
-	}
-
-	private void editItem(final Connection connection) {
-
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowConstraintDialog dialog = new RuleFlowConstraintDialog(
-						getShell(), process);
-				dialog.create();
-				Constraint constraint = (Constraint) newMap.get(connection);
-				dialog.setConstraint(constraint);
-				int code = dialog.open();
-				if (code != CANCEL) {
-					constraint = dialog.getConstraint();
-					newMap.put(connection, constraint);
-					setConnectionText((Label) labels.get(connection), constraint
-							.getName());
-				}
-			}
-
-		};
-		r.run();
-	}
-
-	private void setConnectionText(final Label connection, final String name) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				connection.setText(name);
-			}
-		});
-	}
-
-	private class EditButtonListener extends SelectionAdapter {
-		private Connection connection;
-
-		public EditButtonListener(Connection connection) {
-			this.connection = connection;
-		}
-
-		public void widgetSelected(SelectionEvent e) {
-			editItem(connection);
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,143 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.core.Connection;
+import org.drools.ruleflow.core.Constraint;
+import org.drools.ruleflow.core.Split;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Dialog for editing constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConstraintListDialog extends EditBeanDialog {
+
+	private RuleFlowProcess process;
+	private Split split;
+	private Map newMap;
+	private Map labels = new HashMap();
+
+	protected ConstraintListDialog(Shell parentShell, RuleFlowProcess process,
+			Split split) {
+		super(parentShell, "Edit Constraints");
+		this.process = process;
+		this.split = split;
+	}
+
+	protected Control createDialogArea(Composite parent) {
+		Composite composite = (Composite) super.createDialogArea(parent);
+		GridLayout gridLayout = new GridLayout();
+		gridLayout.numColumns = 3;
+		composite.setLayout(gridLayout);
+
+		List outgoingConnections = split.getOutgoingConnections();
+		labels.clear();
+		for (Iterator it = outgoingConnections.iterator(); it.hasNext(); ) {
+			Connection outgoingConnection = (Connection) it.next();
+			Label label1 = new Label(composite, SWT.NONE);
+			label1.setText("To node " + outgoingConnection.getTo().getName()
+					+ ": ");
+
+			Label label2 = new Label(composite, SWT.NONE);
+			labels.put(outgoingConnection, label2);
+			GridData gridData = new GridData();
+			gridData.grabExcessHorizontalSpace = true;
+			gridData.horizontalAlignment = GridData.FILL;
+			label2.setLayoutData(gridData);
+			Constraint constraint = (Constraint) newMap.get(outgoingConnection);
+			if (constraint != null) {
+				label2.setText(constraint.getName());
+			}
+
+			Button editButton = new Button(composite, SWT.NONE);
+			editButton.setText("Edit");
+			editButton.addSelectionListener(new EditButtonListener(
+					outgoingConnection));
+		}
+
+		return composite;
+	}
+
+	public void setValue(Object value) {
+		super.setValue(value);
+		this.newMap = new HashMap((Map) value);
+	}
+
+	protected Object updateValue(Object value) {
+		return newMap;
+	}
+
+	private void editItem(final Connection connection) {
+
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowConstraintDialog dialog = new RuleFlowConstraintDialog(
+						getShell(), process);
+				dialog.create();
+				Constraint constraint = (Constraint) newMap.get(connection);
+				dialog.setConstraint(constraint);
+				int code = dialog.open();
+				if (code != CANCEL) {
+					constraint = dialog.getConstraint();
+					newMap.put(connection, constraint);
+					setConnectionText((Label) labels.get(connection), constraint
+							.getName());
+				}
+			}
+
+		};
+		r.run();
+	}
+
+	private void setConnectionText(final Label connection, final String name) {
+		Display.getDefault().asyncExec(new Runnable() {
+			public void run() {
+				connection.setText(name);
+			}
+		});
+	}
+
+	private class EditButtonListener extends SelectionAdapter {
+		private Connection connection;
+
+		public EditButtonListener(Connection connection) {
+			this.connection = connection;
+		}
+
+		public void widgetSelected(SelectionEvent e) {
+			editItem(connection);
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.ruleflow.core.Split;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Property descriptor for constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ConstraintsPropertyDescriptor extends PropertyDescriptor {
-    
-    private RuleFlowProcess process;
-    private Split split;
-    
-    public ConstraintsPropertyDescriptor(Object id, String displayName, Split split, RuleFlowProcess process) {
-        super(id, displayName);
-        this.split = split;
-        this.process = process;
-    }
-    
-    public RuleFlowProcess getProcess() {
-        return process;
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent) {
-        ConstraintListCellEditor editor = new ConstraintListCellEditor(parent, process, split);
-        if (getValidator() != null) {
-            editor.setValidator(getValidator());
-        }
-        return editor;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ConstraintsPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.ruleflow.core.Split;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+/**
+ * Property descriptor for constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ConstraintsPropertyDescriptor extends PropertyDescriptor {
+    
+    private RuleFlowProcess process;
+    private Split split;
+    
+    public ConstraintsPropertyDescriptor(Object id, String displayName, Split split, RuleFlowProcess process) {
+        super(id, displayName);
+        this.split = split;
+        this.process = process;
+    }
+    
+    public RuleFlowProcess getProcess() {
+        return process;
+    }
+    
+    public CellEditor createPropertyEditor(Composite parent) {
+        ConstraintListCellEditor editor = new ConstraintListCellEditor(parent, process, split);
+        if (getValidator() != null) {
+            editor.setValidator(getValidator());
+        }
+        return editor;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,147 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.editors.completion.CompletionUtil;
-import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
-import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
-import org.drools.eclipse.editors.completion.RuleCompletionProposal;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Completion for ruleflow constraints. 
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class ImportCompletionProcessor extends DefaultCompletionProcessor {
-
-	public ImportCompletionProcessor() {
-		super(null);
-	}
-	
-	public IEditorPart getEditor() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench != null) { 
-			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-			if (workbenchWindow != null) {
-				IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); 
-				if (workbenchPage != null) {
-					return workbenchPage.getActiveEditor();
-				}
-			}
-		}
-		return null;
-	}
-
-    protected List getCompletionProposals(ITextViewer viewer,
-            int documentOffset) {
-		try {
-			IDocument doc = viewer.getDocument();
-			String backText = readBackwards(documentOffset, doc);
-
-			String prefix = CompletionUtil.stripLastWord(backText);
-
-			List props = null;
-			Matcher matcher = IMPORT_PATTERN.matcher(backText);
-			if (matcher.matches()) {
-				String classNameStart = backText.substring(backText
-						.lastIndexOf("import") + 7);
-				props = getAllClassProposals(classNameStart, documentOffset,
-						prefix);
-			} else {
-				props = getPossibleProposals(viewer, documentOffset, backText, prefix);
-			}
-			return props;
-		} catch (Throwable t) {
-			DroolsEclipsePlugin.log(t);
-		}
-		return null;
-	}
-
-    
-    public List getImports() {
-    	return Collections.EMPTY_LIST;
-    }
-    
-    public List getGlobals() {
-    	return Collections.EMPTY_LIST;
-    }
-    
-    protected IJavaProject getCurrentJavaProject() {
-    	IEditorPart editor = getEditor();
-    	if (editor != null && editor.getEditorInput() instanceof IFileEditorInput) {
-			IFile file = ((IFileEditorInput) editor.getEditorInput()).getFile();
-	    	try {
-	    		if (file.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
-	    			return JavaCore.create(file.getProject());
-	    		}
-	    	} catch (CoreException e) {
-	    		// do nothing
-	    	}
-		}
-    	return null;
-    }
-    
-    protected List getPossibleProposals(ITextViewer viewer,
-            int documentOffset,
-            String backText,
-            final String prefix) {
-		List list = new ArrayList();
-		list.add(new RuleCompletionProposal(documentOffset - prefix.length(), prefix.length(), "import", "import "));
-		DefaultCompletionProcessor.filterProposalsOnPrefix(prefix, list);
-		return list;
-	}
-
-    /**
-     * @return a list of "MVELified" RuleCompletionProposal. That list contains only unique proposal based on
-     * the overrriden equals in {@link RuleCompletionProposal} to avoid the situation when several
-     * accessors can exist for one property. for that case we want to keep only one proposal.
-     */
-    protected Collection getJavaMvelCompletionProposals(final int documentOffset,
-                                                     final String javaText,
-                                                     final String prefix,
-                                                     Map params) {
-                                                        final List list = new ArrayList();
-                                                        requestJavaCompletionProposals( javaText,
-                                                                                        prefix,
-                                                                                        documentOffset,
-                                                                                        params,
-                                                                                        list );
-                                                    
-                                                        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list, false );
-                                                        return mvelList;
-                                                    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/ImportCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,147 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.editors.completion.CompletionUtil;
+import org.drools.eclipse.editors.completion.DefaultCompletionProcessor;
+import org.drools.eclipse.editors.completion.RuleCompletionProcessor;
+import org.drools.eclipse.editors.completion.RuleCompletionProposal;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * Completion for ruleflow constraints. 
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ImportCompletionProcessor extends DefaultCompletionProcessor {
+
+	public ImportCompletionProcessor() {
+		super(null);
+	}
+	
+	public IEditorPart getEditor() {
+		IWorkbench workbench = PlatformUI.getWorkbench();
+		if (workbench != null) { 
+			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+			if (workbenchWindow != null) {
+				IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); 
+				if (workbenchPage != null) {
+					return workbenchPage.getActiveEditor();
+				}
+			}
+		}
+		return null;
+	}
+
+    protected List getCompletionProposals(ITextViewer viewer,
+            int documentOffset) {
+		try {
+			IDocument doc = viewer.getDocument();
+			String backText = readBackwards(documentOffset, doc);
+
+			String prefix = CompletionUtil.stripLastWord(backText);
+
+			List props = null;
+			Matcher matcher = IMPORT_PATTERN.matcher(backText);
+			if (matcher.matches()) {
+				String classNameStart = backText.substring(backText
+						.lastIndexOf("import") + 7);
+				props = getAllClassProposals(classNameStart, documentOffset,
+						prefix);
+			} else {
+				props = getPossibleProposals(viewer, documentOffset, backText, prefix);
+			}
+			return props;
+		} catch (Throwable t) {
+			DroolsEclipsePlugin.log(t);
+		}
+		return null;
+	}
+
+    
+    public List getImports() {
+    	return Collections.EMPTY_LIST;
+    }
+    
+    public List getGlobals() {
+    	return Collections.EMPTY_LIST;
+    }
+    
+    protected IJavaProject getCurrentJavaProject() {
+    	IEditorPart editor = getEditor();
+    	if (editor != null && editor.getEditorInput() instanceof IFileEditorInput) {
+			IFile file = ((IFileEditorInput) editor.getEditorInput()).getFile();
+	    	try {
+	    		if (file.getProject().getNature("org.eclipse.jdt.core.javanature") != null) {
+	    			return JavaCore.create(file.getProject());
+	    		}
+	    	} catch (CoreException e) {
+	    		// do nothing
+	    	}
+		}
+    	return null;
+    }
+    
+    protected List getPossibleProposals(ITextViewer viewer,
+            int documentOffset,
+            String backText,
+            final String prefix) {
+		List list = new ArrayList();
+		list.add(new RuleCompletionProposal(documentOffset - prefix.length(), prefix.length(), "import", "import "));
+		DefaultCompletionProcessor.filterProposalsOnPrefix(prefix, list);
+		return list;
+	}
+
+    /**
+     * @return a list of "MVELified" RuleCompletionProposal. That list contains only unique proposal based on
+     * the overrriden equals in {@link RuleCompletionProposal} to avoid the situation when several
+     * accessors can exist for one property. for that case we want to keep only one proposal.
+     */
+    protected Collection getJavaMvelCompletionProposals(final int documentOffset,
+                                                     final String javaText,
+                                                     final String prefix,
+                                                     Map params) {
+                                                        final List list = new ArrayList();
+                                                        requestJavaCompletionProposals( javaText,
+                                                                                        prefix,
+                                                                                        documentOffset,
+                                                                                        params,
+                                                                                        list );
+                                                    
+                                                        Collection mvelList = RuleCompletionProcessor.mvelifyProposals( list, false );
+                                                        return mvelList;
+                                                    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.core.MilestoneNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Cell editor for milestone constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MilestoneConstraintCellEditor extends BeanDialogCellEditor {
-
-    private RuleFlowProcess process;
-    private MilestoneNode milestone;
-    
-    public MilestoneConstraintCellEditor(Composite parent, RuleFlowProcess process, MilestoneNode milestone) {
-        super(parent);
-        this.process = process;
-        this.milestone = milestone;
-    }
-
-    protected EditBeanDialog createDialog(Shell shell) {
-        return new MilestoneConstraintDialog(shell, process, milestone);
-    }
-    
-    protected String getLabelText(Object value) {
-    	if (milestone == null || milestone.getConstraint() == null) {
-    		return "";
-    	}
-        return milestone.getConstraint();
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.core.MilestoneNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell editor for milestone constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MilestoneConstraintCellEditor extends BeanDialogCellEditor {
+
+    private RuleFlowProcess process;
+    private MilestoneNode milestone;
+    
+    public MilestoneConstraintCellEditor(Composite parent, RuleFlowProcess process, MilestoneNode milestone) {
+        super(parent);
+        this.process = process;
+        this.milestone = milestone;
+    }
+
+    protected EditBeanDialog createDialog(Shell shell) {
+        return new MilestoneConstraintDialog(shell, process, milestone);
+    }
+    
+    protected String getLabelText(Object value) {
+    	if (milestone == null || milestone.getConstraint() == null) {
+    		return "";
+    	}
+        return milestone.getConstraint();
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,209 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.editors.DRLSourceViewerConfig;
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.core.MilestoneNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Dialog for editing constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MilestoneConstraintDialog extends EditBeanDialog {
-
-	private RuleFlowProcess process;
-	private TabFolder tabFolder;
-	private SourceViewer constraintViewer;
-	private ConstraintCompletionProcessor completionProcessor;
-
-	public MilestoneConstraintDialog(Shell parentShell, RuleFlowProcess process, MilestoneNode milestone) {
-		super(parentShell, "Constraint editor");
-		this.process = process;
-		setValue(milestone.getConstraint());
-	}
-
-	protected Object updateValue(Object value) {
-		if (tabFolder.getSelectionIndex() == 0) {
-			return getConstraintText();
-		}
-		return null;
-	}
-
-	protected Point getInitialSize() {
-		return new Point(600, 450);
-	}
-
-	private Control createTextualEditor(Composite parent) {
-		constraintViewer = new SourceViewer(parent, null, SWT.BORDER);
-		constraintViewer.configure(new DRLSourceViewerConfig(null) {
-			public IReconciler getReconciler(ISourceViewer sourceViewer) {
-				return null;
-			}
-			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-				ContentAssistant assistant = new ContentAssistant();
-				completionProcessor = new ConstraintCompletionProcessor(process);
-				assistant.setContentAssistProcessor(
-					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-				return assistant;
-			}
-		});
-		String value = (String) getValue();
-		if (value == null) {
-			value = "";
-		}
-		IDocument document = new Document(value);
-		constraintViewer.setDocument(document);
-		IDocumentPartitioner partitioner =
-            new FastPartitioner(
-                new DRLPartionScanner(),
-                DRLPartionScanner.LEGAL_CONTENT_TYPES);
-        partitioner.connect(document);
-        document.setDocumentPartitioner(partitioner);
-        constraintViewer.getControl().addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
-					constraintViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-				}
-			}
-			public void keyReleased(KeyEvent e) {
-			}
-        });
-		return constraintViewer.getControl();
-	}
-	
-	private String getConstraintText() {
-		return constraintViewer.getDocument().get();
-	}
-	
-	public Control createDialogArea(Composite parent) {
-		GridLayout layout = new GridLayout();
-		parent.setLayout(layout);
-		layout.numColumns = 2;
-
-		Composite top = new Composite(parent, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		gd.grabExcessHorizontalSpace = true;
-		top.setLayoutData(gd);
-
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		top.setLayout(layout);
-
-		Button importButton = new Button(top, SWT.PUSH);
-		importButton.setText("Imports ...");
-		importButton.setFont(JFaceResources.getDialogFont());
-		importButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				importButtonPressed();
-			}
-		});
-		gd = new GridData();
-		importButton.setLayoutData(gd);
-
-		Button globalButton = new Button(top, SWT.PUSH);
-		globalButton.setText("Globals ...");
-		globalButton.setFont(JFaceResources.getDialogFont());
-		globalButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				globalButtonPressed();
-			}
-		});
-		gd = new GridData();
-		globalButton.setLayoutData(gd);
-
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		tabFolder.setLayoutData(gd);
-		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
-		textEditorTab.setText("Textual Editor");
-
-		textEditorTab.setControl(createTextualEditor(tabFolder));
-		return tabFolder;
-	}
-	
-	private void importButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowImportsDialog dialog =
-					new RuleFlowImportsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					List imports = dialog.getImports();
-					process.setImports(imports);
-					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-	
-	private void globalButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowGlobalsDialog dialog =
-					new RuleFlowGlobalsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					Map globals = dialog.getGlobals();
-					process.setGlobals(globals);
-					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,209 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.editors.DRLSourceViewerConfig;
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.core.MilestoneNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+
+/**
+ * Dialog for editing constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MilestoneConstraintDialog extends EditBeanDialog {
+
+	private RuleFlowProcess process;
+	private TabFolder tabFolder;
+	private SourceViewer constraintViewer;
+	private ConstraintCompletionProcessor completionProcessor;
+
+	public MilestoneConstraintDialog(Shell parentShell, RuleFlowProcess process, MilestoneNode milestone) {
+		super(parentShell, "Constraint editor");
+		this.process = process;
+		setValue(milestone.getConstraint());
+	}
+
+	protected Object updateValue(Object value) {
+		if (tabFolder.getSelectionIndex() == 0) {
+			return getConstraintText();
+		}
+		return null;
+	}
+
+	protected Point getInitialSize() {
+		return new Point(600, 450);
+	}
+
+	private Control createTextualEditor(Composite parent) {
+		constraintViewer = new SourceViewer(parent, null, SWT.BORDER);
+		constraintViewer.configure(new DRLSourceViewerConfig(null) {
+			public IReconciler getReconciler(ISourceViewer sourceViewer) {
+				return null;
+			}
+			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+				ContentAssistant assistant = new ContentAssistant();
+				completionProcessor = new ConstraintCompletionProcessor(process);
+				assistant.setContentAssistProcessor(
+					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
+				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+				return assistant;
+			}
+		});
+		String value = (String) getValue();
+		if (value == null) {
+			value = "";
+		}
+		IDocument document = new Document(value);
+		constraintViewer.setDocument(document);
+		IDocumentPartitioner partitioner =
+            new FastPartitioner(
+                new DRLPartionScanner(),
+                DRLPartionScanner.LEGAL_CONTENT_TYPES);
+        partitioner.connect(document);
+        document.setDocumentPartitioner(partitioner);
+        constraintViewer.getControl().addKeyListener(new KeyListener() {
+			public void keyPressed(KeyEvent e) {
+				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
+					constraintViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
+				}
+			}
+			public void keyReleased(KeyEvent e) {
+			}
+        });
+		return constraintViewer.getControl();
+	}
+	
+	private String getConstraintText() {
+		return constraintViewer.getDocument().get();
+	}
+	
+	public Control createDialogArea(Composite parent) {
+		GridLayout layout = new GridLayout();
+		parent.setLayout(layout);
+		layout.numColumns = 2;
+
+		Composite top = new Composite(parent, SWT.NONE);
+		GridData gd = new GridData();
+		gd.horizontalSpan = 2;
+		gd.grabExcessHorizontalSpace = true;
+		top.setLayoutData(gd);
+
+		layout = new GridLayout();
+		layout.numColumns = 3;
+		top.setLayout(layout);
+
+		Button importButton = new Button(top, SWT.PUSH);
+		importButton.setText("Imports ...");
+		importButton.setFont(JFaceResources.getDialogFont());
+		importButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				importButtonPressed();
+			}
+		});
+		gd = new GridData();
+		importButton.setLayoutData(gd);
+
+		Button globalButton = new Button(top, SWT.PUSH);
+		globalButton.setText("Globals ...");
+		globalButton.setFont(JFaceResources.getDialogFont());
+		globalButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				globalButtonPressed();
+			}
+		});
+		gd = new GridData();
+		globalButton.setLayoutData(gd);
+
+		tabFolder = new TabFolder(parent, SWT.NONE);
+		gd = new GridData();
+		gd.horizontalSpan = 3;
+		gd.grabExcessHorizontalSpace = true;
+		gd.grabExcessVerticalSpace = true;
+		gd.verticalAlignment = GridData.FILL;
+		gd.horizontalAlignment = GridData.FILL;
+		tabFolder.setLayoutData(gd);
+		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
+		textEditorTab.setText("Textual Editor");
+
+		textEditorTab.setControl(createTextualEditor(tabFolder));
+		return tabFolder;
+	}
+	
+	private void importButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowImportsDialog dialog =
+					new RuleFlowImportsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					List imports = dialog.getImports();
+					process.setImports(imports);
+					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+	
+	private void globalButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowGlobalsDialog dialog =
+					new RuleFlowGlobalsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					Map globals = dialog.getGlobals();
+					process.setGlobals(globals);
+					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,51 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.ruleflow.core.MilestoneNode;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Property descriptor for a milestone constraint.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class MilestoneConstraintPropertyDescriptor extends PropertyDescriptor {
-    
-    private RuleFlowProcess process;
-    private MilestoneNode milestone;
-    
-    public MilestoneConstraintPropertyDescriptor(Object id, String displayName, MilestoneNode milestone, RuleFlowProcess process) {
-        super(id, displayName);
-        this.milestone = milestone;
-        this.process = process;
-    }
-    
-    public RuleFlowProcess getProcess() {
-        return process;
-    }
-    
-    public CellEditor createPropertyEditor(Composite parent) {
-    	MilestoneConstraintCellEditor editor = new MilestoneConstraintCellEditor(parent, process, milestone);
-        if (getValidator() != null) {
-            editor.setValidator(getValidator());
-        }
-        return editor;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/MilestoneConstraintPropertyDescriptor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,51 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.ruleflow.core.MilestoneNode;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+/**
+ * Property descriptor for a milestone constraint.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class MilestoneConstraintPropertyDescriptor extends PropertyDescriptor {
+    
+    private RuleFlowProcess process;
+    private MilestoneNode milestone;
+    
+    public MilestoneConstraintPropertyDescriptor(Object id, String displayName, MilestoneNode milestone, RuleFlowProcess process) {
+        super(id, displayName);
+        this.milestone = milestone;
+        this.process = process;
+    }
+    
+    public RuleFlowProcess getProcess() {
+        return process;
+    }
+    
+    public CellEditor createPropertyEditor(Composite parent) {
+    	MilestoneConstraintCellEditor editor = new MilestoneConstraintCellEditor(parent, process, milestone);
+        if (getValidator() != null) {
+            editor.setValidator(getValidator());
+        }
+        return editor;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,323 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.editors.DRLSourceViewerConfig;
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.drools.ruleflow.core.Constraint;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.drools.ruleflow.core.impl.ConstraintImpl;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Dialog for editing constraints.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowConstraintDialog extends Dialog {
-
-	private Constraint constraint;
-	private RuleFlowProcess process;
-	private boolean success;
-	private Button alwaysTrue;
-	private Text nameText;
-	private Text priorityText;
-	private TabFolder tabFolder;
-	private SourceViewer constraintViewer;
-	private ConstraintCompletionProcessor completionProcessor;
-
-	public RuleFlowConstraintDialog(Shell parentShell, RuleFlowProcess process) {
-		super(parentShell);
-		this.process = process;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText("Constraint editor");
-	}
-
-	protected Point getInitialSize() {
-		return new Point(600, 450);
-	}
-
-	private Control createTextualEditor(Composite parent) {
-		constraintViewer = new SourceViewer(parent, null, SWT.BORDER);
-		constraintViewer.configure(new DRLSourceViewerConfig(null) {
-			public IReconciler getReconciler(ISourceViewer sourceViewer) {
-				return null;
-			}
-			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-				ContentAssistant assistant = new ContentAssistant();
-				completionProcessor = new ConstraintCompletionProcessor(process);
-				assistant.setContentAssistProcessor(
-					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-				return assistant;
-			}
-		});
-		IDocument document = new Document();
-		constraintViewer.setDocument(document);
-		IDocumentPartitioner partitioner =
-            new FastPartitioner(
-                new DRLPartionScanner(),
-                DRLPartionScanner.LEGAL_CONTENT_TYPES);
-        partitioner.connect(document);
-        document.setDocumentPartitioner(partitioner);
-        constraintViewer.getControl().addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
-					constraintViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-				}
-			}
-			public void keyReleased(KeyEvent e) {
-			}
-        });
-		return constraintViewer.getControl();
-	}
-	
-	private String getConstraintText() {
-		return constraintViewer.getDocument().get();
-	}
-	
-	private void setConstraintText(String text) {
-		constraintViewer.getDocument().set(text);
-	}
-
-	public Control createDialogArea(Composite parent) {
-
-		GridLayout layout = new GridLayout();
-		parent.setLayout(layout);
-		layout.numColumns = 2;
-
-		Composite top = new Composite(parent, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		gd.grabExcessHorizontalSpace = true;
-		top.setLayoutData(gd);
-
-		layout = new GridLayout();
-		layout.numColumns = 4;
-		top.setLayout(layout);
-
-		Label l1 = new Label(top, SWT.None);
-		l1.setText("Name:");
-		gd = new GridData();
-		l1.setLayoutData(gd);
-		nameText = new Text(top, SWT.BORDER);
-		gd = new GridData();
-		gd.horizontalAlignment = GridData.FILL;
-		gd.widthHint = 200;
-		gd.horizontalSpan = 3;
-		nameText.setLayoutData(gd);
-
-		Label l2 = new Label(top, SWT.NONE);
-		gd = new GridData();
-		l2.setLayoutData(gd);
-		l2.setText("Priority:");
-		priorityText = new Text(top, SWT.BORDER);
-		gd = new GridData();
-		gd.widthHint = 200;
-		gd.horizontalSpan = 3;
-		priorityText.setLayoutData(gd);
-
-		alwaysTrue = new Button(top, SWT.CHECK);
-		alwaysTrue.setText("Always true");
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		alwaysTrue.setLayoutData(gd);
-		
-		Button importButton = new Button(top, SWT.PUSH);
-		importButton.setText("Imports ...");
-		importButton.setFont(JFaceResources.getDialogFont());
-		importButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				importButtonPressed();
-			}
-		});
-		gd = new GridData();
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalAlignment = GridData.END;
-		importButton.setLayoutData(gd);
-
-		Button globalButton = new Button(top, SWT.PUSH);
-		globalButton.setText("Globals ...");
-		globalButton.setFont(JFaceResources.getDialogFont());
-		globalButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				globalButtonPressed();
-			}
-		});
-		gd = new GridData();
-		gd.horizontalAlignment = GridData.END;
-		globalButton.setLayoutData(gd);
-
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		gd = new GridData();
-		gd.horizontalSpan = 4;
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		tabFolder.setLayoutData(gd);
-		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
-		textEditorTab.setText("Textual Editor");
-
-		textEditorTab.setControl(createTextualEditor(tabFolder));
-
-		alwaysTrue.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				tabFolder.setVisible(!alwaysTrue.getSelection());
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-
-		return tabFolder;
-	}
-	
-	private void importButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowImportsDialog dialog =
-					new RuleFlowImportsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					List imports = dialog.getImports();
-					process.setImports(imports);
-					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-
-	private void globalButtonPressed() {
-		final Runnable r = new Runnable() {
-			public void run() {
-				RuleFlowGlobalsDialog dialog =
-					new RuleFlowGlobalsDialog(getShell(), process);
-				dialog.create();
-				int code = dialog.open();
-				if (code != CANCEL) {
-					Map globals = dialog.getGlobals();
-					process.setGlobals(globals);
-					completionProcessor.reset();
-				}
-			}
-		};
-		r.run();
-	}
-
-	protected void okPressed() {
-		int selectionIndex = tabFolder.getSelectionIndex();
-		if (selectionIndex == 1) {
-			updateTranslation();
-		} else {
-			updateConstraint();
-		}
-		super.okPressed();
-	}
-
-	private void updateTranslation() {
-		// TODO add custom token model checker
-		success = true;
-		constraint = new ConstraintImpl();
-		constraint.setConstraint(null);
-		constraint.setConstraint(getConstraintText());
-		constraint.setName(nameText.getText());
-		try {
-			constraint.setPriority(Integer.parseInt(priorityText.getText()));
-		} catch (NumberFormatException exc) {
-			constraint.setPriority(1);
-		}
-	}
-
-	public boolean isSuccess() {
-		return success;
-	}
-
-	public void updateConstraint() {
-		constraint = new ConstraintImpl();
-		if (!alwaysTrue.getSelection()) {
-			constraint.setConstraint(getConstraintText());
-		} else {
-			constraint.setConstraint("eval(true)");
-		}
-		constraint.setName(nameText.getText());
-		try {
-			constraint.setPriority(Integer.parseInt(priorityText.getText()));
-		} catch (NumberFormatException exc) {
-			constraint.setPriority(1);
-		}
-	}
-
-	public Constraint getConstraint() {
-		return constraint;
-	}
-
-	public void setConstraint(Constraint constraint) {
-		this.constraint = constraint;
-		if (constraint != null) {
-			if ("eval(true)".equals(constraint.getConstraint())) {
-				alwaysTrue.setSelection(true);
-			} else {
-				setConstraintText(constraint.getConstraint().toString());
-			}
-			tabFolder.setVisible(!alwaysTrue.getSelection());
-			nameText.setText(constraint.getName() == null ? "" : constraint
-					.getName());
-			priorityText.setText(constraint.getPriority() + "");
-			setConstraintText(constraint.getConstraint());
-		} else {
-			priorityText.setText("1");
-			nameText.setText("constraint");
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,323 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.editors.DRLSourceViewerConfig;
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.drools.ruleflow.core.Constraint;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.drools.ruleflow.core.impl.ConstraintImpl;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Dialog for editing constraints.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowConstraintDialog extends Dialog {
+
+	private Constraint constraint;
+	private RuleFlowProcess process;
+	private boolean success;
+	private Button alwaysTrue;
+	private Text nameText;
+	private Text priorityText;
+	private TabFolder tabFolder;
+	private SourceViewer constraintViewer;
+	private ConstraintCompletionProcessor completionProcessor;
+
+	public RuleFlowConstraintDialog(Shell parentShell, RuleFlowProcess process) {
+		super(parentShell);
+		this.process = process;
+		setShellStyle(getShellStyle() | SWT.RESIZE);
+	}
+
+	protected void configureShell(Shell newShell) {
+		super.configureShell(newShell);
+		newShell.setText("Constraint editor");
+	}
+
+	protected Point getInitialSize() {
+		return new Point(600, 450);
+	}
+
+	private Control createTextualEditor(Composite parent) {
+		constraintViewer = new SourceViewer(parent, null, SWT.BORDER);
+		constraintViewer.configure(new DRLSourceViewerConfig(null) {
+			public IReconciler getReconciler(ISourceViewer sourceViewer) {
+				return null;
+			}
+			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+				ContentAssistant assistant = new ContentAssistant();
+				completionProcessor = new ConstraintCompletionProcessor(process);
+				assistant.setContentAssistProcessor(
+					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
+				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+				return assistant;
+			}
+		});
+		IDocument document = new Document();
+		constraintViewer.setDocument(document);
+		IDocumentPartitioner partitioner =
+            new FastPartitioner(
+                new DRLPartionScanner(),
+                DRLPartionScanner.LEGAL_CONTENT_TYPES);
+        partitioner.connect(document);
+        document.setDocumentPartitioner(partitioner);
+        constraintViewer.getControl().addKeyListener(new KeyListener() {
+			public void keyPressed(KeyEvent e) {
+				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
+					constraintViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
+				}
+			}
+			public void keyReleased(KeyEvent e) {
+			}
+        });
+		return constraintViewer.getControl();
+	}
+	
+	private String getConstraintText() {
+		return constraintViewer.getDocument().get();
+	}
+	
+	private void setConstraintText(String text) {
+		constraintViewer.getDocument().set(text);
+	}
+
+	public Control createDialogArea(Composite parent) {
+
+		GridLayout layout = new GridLayout();
+		parent.setLayout(layout);
+		layout.numColumns = 2;
+
+		Composite top = new Composite(parent, SWT.NONE);
+		GridData gd = new GridData();
+		gd.horizontalSpan = 2;
+		gd.grabExcessHorizontalSpace = true;
+		top.setLayoutData(gd);
+
+		layout = new GridLayout();
+		layout.numColumns = 4;
+		top.setLayout(layout);
+
+		Label l1 = new Label(top, SWT.None);
+		l1.setText("Name:");
+		gd = new GridData();
+		l1.setLayoutData(gd);
+		nameText = new Text(top, SWT.BORDER);
+		gd = new GridData();
+		gd.horizontalAlignment = GridData.FILL;
+		gd.widthHint = 200;
+		gd.horizontalSpan = 3;
+		nameText.setLayoutData(gd);
+
+		Label l2 = new Label(top, SWT.NONE);
+		gd = new GridData();
+		l2.setLayoutData(gd);
+		l2.setText("Priority:");
+		priorityText = new Text(top, SWT.BORDER);
+		gd = new GridData();
+		gd.widthHint = 200;
+		gd.horizontalSpan = 3;
+		priorityText.setLayoutData(gd);
+
+		alwaysTrue = new Button(top, SWT.CHECK);
+		alwaysTrue.setText("Always true");
+		gd = new GridData();
+		gd.horizontalSpan = 2;
+		alwaysTrue.setLayoutData(gd);
+		
+		Button importButton = new Button(top, SWT.PUSH);
+		importButton.setText("Imports ...");
+		importButton.setFont(JFaceResources.getDialogFont());
+		importButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				importButtonPressed();
+			}
+		});
+		gd = new GridData();
+		gd.grabExcessHorizontalSpace = true;
+		gd.horizontalAlignment = GridData.END;
+		importButton.setLayoutData(gd);
+
+		Button globalButton = new Button(top, SWT.PUSH);
+		globalButton.setText("Globals ...");
+		globalButton.setFont(JFaceResources.getDialogFont());
+		globalButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent event) {
+				globalButtonPressed();
+			}
+		});
+		gd = new GridData();
+		gd.horizontalAlignment = GridData.END;
+		globalButton.setLayoutData(gd);
+
+		tabFolder = new TabFolder(parent, SWT.NONE);
+		gd = new GridData();
+		gd.horizontalSpan = 4;
+		gd.grabExcessHorizontalSpace = true;
+		gd.grabExcessVerticalSpace = true;
+		gd.verticalAlignment = GridData.FILL;
+		gd.horizontalAlignment = GridData.FILL;
+		tabFolder.setLayoutData(gd);
+		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
+		textEditorTab.setText("Textual Editor");
+
+		textEditorTab.setControl(createTextualEditor(tabFolder));
+
+		alwaysTrue.addSelectionListener(new SelectionListener() {
+			public void widgetSelected(SelectionEvent e) {
+				tabFolder.setVisible(!alwaysTrue.getSelection());
+			}
+
+			public void widgetDefaultSelected(SelectionEvent e) {
+				widgetSelected(e);
+			}
+		});
+
+		return tabFolder;
+	}
+	
+	private void importButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowImportsDialog dialog =
+					new RuleFlowImportsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					List imports = dialog.getImports();
+					process.setImports(imports);
+					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+
+	private void globalButtonPressed() {
+		final Runnable r = new Runnable() {
+			public void run() {
+				RuleFlowGlobalsDialog dialog =
+					new RuleFlowGlobalsDialog(getShell(), process);
+				dialog.create();
+				int code = dialog.open();
+				if (code != CANCEL) {
+					Map globals = dialog.getGlobals();
+					process.setGlobals(globals);
+					completionProcessor.reset();
+				}
+			}
+		};
+		r.run();
+	}
+
+	protected void okPressed() {
+		int selectionIndex = tabFolder.getSelectionIndex();
+		if (selectionIndex == 1) {
+			updateTranslation();
+		} else {
+			updateConstraint();
+		}
+		super.okPressed();
+	}
+
+	private void updateTranslation() {
+		// TODO add custom token model checker
+		success = true;
+		constraint = new ConstraintImpl();
+		constraint.setConstraint(null);
+		constraint.setConstraint(getConstraintText());
+		constraint.setName(nameText.getText());
+		try {
+			constraint.setPriority(Integer.parseInt(priorityText.getText()));
+		} catch (NumberFormatException exc) {
+			constraint.setPriority(1);
+		}
+	}
+
+	public boolean isSuccess() {
+		return success;
+	}
+
+	public void updateConstraint() {
+		constraint = new ConstraintImpl();
+		if (!alwaysTrue.getSelection()) {
+			constraint.setConstraint(getConstraintText());
+		} else {
+			constraint.setConstraint("eval(true)");
+		}
+		constraint.setName(nameText.getText());
+		try {
+			constraint.setPriority(Integer.parseInt(priorityText.getText()));
+		} catch (NumberFormatException exc) {
+			constraint.setPriority(1);
+		}
+	}
+
+	public Constraint getConstraint() {
+		return constraint;
+	}
+
+	public void setConstraint(Constraint constraint) {
+		this.constraint = constraint;
+		if (constraint != null) {
+			if ("eval(true)".equals(constraint.getConstraint())) {
+				alwaysTrue.setSelection(true);
+			} else {
+				setConstraintText(constraint.getConstraint().toString());
+			}
+			tabFolder.setVisible(!alwaysTrue.getSelection());
+			nameText.setText(constraint.getName() == null ? "" : constraint
+					.getName());
+			priorityText.setText(constraint.getPriority() + "");
+			setConstraintText(constraint.getConstraint());
+		} else {
+			priorityText.setText("1");
+			nameText.setText("constraint");
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,139 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.eclipse.editors.DRLSourceViewerConfig;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Dialog for editing imports.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowGlobalsDialog extends Dialog {
-
-	private static final Pattern GLOBAL_PATTERN = Pattern.compile(
-		"\\n\\s*global\\s+([^\\s;#]+)\\s+([^\\s;#]+);?", Pattern.DOTALL);
-	
-	private RuleFlowProcess process;
-	private boolean success;
-	private TabFolder tabFolder;
-	private SourceViewer globalsViewer;
-	private Map globals;
-
-	public RuleFlowGlobalsDialog(Shell parentShell, RuleFlowProcess process) {
-		super(parentShell);
-		this.process = process;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText("Globals editor");
-	}
-
-	protected Point getInitialSize() {
-		return new Point(600, 450);
-	}
-
-	private Control createTextualEditor(Composite parent) {
-		globalsViewer = new SourceViewer(parent, null, SWT.BORDER);
-		globalsViewer.configure(new DRLSourceViewerConfig(null) {
-			public IReconciler getReconciler(ISourceViewer sourceViewer) {
-				return null;
-			}
-			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-				return null;
-			}
-		});
-		IDocument document = new Document(getProcessImports());
-		globalsViewer.setDocument(document);
-		return globalsViewer.getControl();
-	}
-	
-	private String getProcessImports() {
-		String result = "# define your globals here: e.g. global java.util.List myList\n";
-		Map globals = process.getGlobals();
-		if (globals != null) {
-			for (Iterator iterator = globals.entrySet().iterator(); iterator.hasNext(); ) {
-				Map.Entry entry = (Map.Entry) iterator.next();
-				result += "global " + entry.getValue() + " " + entry.getKey() + "\n";
-			}
-		}
-		return result;
-	}
-	
-	public Control createDialogArea(Composite parent) {
-		GridLayout layout = new GridLayout();
-		parent.setLayout(layout);
-		layout.numColumns = 1;
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		GridData gd = new GridData();
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		tabFolder.setLayoutData(gd);
-		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
-		textEditorTab.setText("Globals");
-		textEditorTab.setControl(createTextualEditor(tabFolder));
-		return tabFolder;
-	}
-	
-	protected void okPressed() {
-		success = true;
-		updateGlobals();
-		super.okPressed();
-	}
-
-	public boolean isSuccess() {
-		return success;
-	}
-
-	public Map getGlobals() {
-		return globals;
-	}
-	
-	private void updateGlobals() {
-		this.globals = new HashMap();
-		Matcher matcher = GLOBAL_PATTERN.matcher(globalsViewer.getDocument().get());
-		while (matcher.find()) {
-			this.globals.put(matcher.group(2), matcher.group(1));
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowGlobalsDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,139 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.eclipse.editors.DRLSourceViewerConfig;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+
+/**
+ * Dialog for editing imports.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowGlobalsDialog extends Dialog {
+
+	private static final Pattern GLOBAL_PATTERN = Pattern.compile(
+		"\\n\\s*global\\s+([^\\s;#]+)\\s+([^\\s;#]+);?", Pattern.DOTALL);
+	
+	private RuleFlowProcess process;
+	private boolean success;
+	private TabFolder tabFolder;
+	private SourceViewer globalsViewer;
+	private Map globals;
+
+	public RuleFlowGlobalsDialog(Shell parentShell, RuleFlowProcess process) {
+		super(parentShell);
+		this.process = process;
+		setShellStyle(getShellStyle() | SWT.RESIZE);
+	}
+
+	protected void configureShell(Shell newShell) {
+		super.configureShell(newShell);
+		newShell.setText("Globals editor");
+	}
+
+	protected Point getInitialSize() {
+		return new Point(600, 450);
+	}
+
+	private Control createTextualEditor(Composite parent) {
+		globalsViewer = new SourceViewer(parent, null, SWT.BORDER);
+		globalsViewer.configure(new DRLSourceViewerConfig(null) {
+			public IReconciler getReconciler(ISourceViewer sourceViewer) {
+				return null;
+			}
+			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+				return null;
+			}
+		});
+		IDocument document = new Document(getProcessImports());
+		globalsViewer.setDocument(document);
+		return globalsViewer.getControl();
+	}
+	
+	private String getProcessImports() {
+		String result = "# define your globals here: e.g. global java.util.List myList\n";
+		Map globals = process.getGlobals();
+		if (globals != null) {
+			for (Iterator iterator = globals.entrySet().iterator(); iterator.hasNext(); ) {
+				Map.Entry entry = (Map.Entry) iterator.next();
+				result += "global " + entry.getValue() + " " + entry.getKey() + "\n";
+			}
+		}
+		return result;
+	}
+	
+	public Control createDialogArea(Composite parent) {
+		GridLayout layout = new GridLayout();
+		parent.setLayout(layout);
+		layout.numColumns = 1;
+		tabFolder = new TabFolder(parent, SWT.NONE);
+		GridData gd = new GridData();
+		gd.grabExcessHorizontalSpace = true;
+		gd.grabExcessVerticalSpace = true;
+		gd.verticalAlignment = GridData.FILL;
+		gd.horizontalAlignment = GridData.FILL;
+		tabFolder.setLayoutData(gd);
+		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
+		textEditorTab.setText("Globals");
+		textEditorTab.setControl(createTextualEditor(tabFolder));
+		return tabFolder;
+	}
+	
+	protected void okPressed() {
+		success = true;
+		updateGlobals();
+		super.okPressed();
+	}
+
+	public boolean isSuccess() {
+		return success;
+	}
+
+	public Map getGlobals() {
+		return globals;
+	}
+	
+	private void updateGlobals() {
+		this.globals = new HashMap();
+		Matcher matcher = GLOBAL_PATTERN.matcher(globalsViewer.getDocument().get());
+		while (matcher.find()) {
+			this.globals.put(matcher.group(2), matcher.group(1));
+		}
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,165 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.constraint;
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.drools.eclipse.editors.DRLSourceViewerConfig;
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.drools.ruleflow.core.RuleFlowProcess;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Dialog for editing imports.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class RuleFlowImportsDialog extends Dialog {
-
-	private static final Pattern IMPORT_PATTERN = Pattern.compile(
-		"\\n\\s*import\\s+([^\\s;#]+);?", Pattern.DOTALL);
-	
-	private RuleFlowProcess process;
-	private boolean success;
-	private TabFolder tabFolder;
-	private SourceViewer importsViewer;
-	private List imports;
-
-	public RuleFlowImportsDialog(Shell parentShell, RuleFlowProcess process) {
-		super(parentShell);
-		this.process = process;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText("Imports editor");
-	}
-
-	protected Point getInitialSize() {
-		return new Point(600, 450);
-	}
-
-	private Control createTextualEditor(Composite parent) {
-		importsViewer = new SourceViewer(parent, null, SWT.BORDER);
-		importsViewer.configure(new DRLSourceViewerConfig(null) {
-			public IReconciler getReconciler(ISourceViewer sourceViewer) {
-				return null;
-			}
-			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-				ContentAssistant assistant = new ContentAssistant();
-				IContentAssistProcessor completionProcessor = new ImportCompletionProcessor();
-				assistant.setContentAssistProcessor(
-					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-				return assistant;
-			}
-		});
-		IDocument document = new Document(getProcessImports());
-		importsViewer.setDocument(document);
-		IDocumentPartitioner partitioner =
-            new FastPartitioner(
-                new DRLPartionScanner(),
-                DRLPartionScanner.LEGAL_CONTENT_TYPES);
-        partitioner.connect(document);
-        document.setDocumentPartitioner(partitioner);
-        importsViewer.getControl().addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
-					importsViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-				}
-			}
-			public void keyReleased(KeyEvent e) {
-			}
-        });
-		return importsViewer.getControl();
-	}
-	
-	private String getProcessImports() {
-		String result = "# define your imports here: e.g. import com.sample.MyClass\n";
-		List imports = process.getImports();
-		if (imports != null) {
-			for (Iterator iterator = imports.iterator(); iterator.hasNext(); ) {
-				result += "import " + (String) iterator.next() + "\n";
-			}
-		}
-		return result;
-	}
-	
-	public Control createDialogArea(Composite parent) {
-		GridLayout layout = new GridLayout();
-		parent.setLayout(layout);
-		layout.numColumns = 1;
-		tabFolder = new TabFolder(parent, SWT.NONE);
-		GridData gd = new GridData();
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		tabFolder.setLayoutData(gd);
-		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
-		textEditorTab.setText("Imports");
-		textEditorTab.setControl(createTextualEditor(tabFolder));
-		return tabFolder;
-	}
-	
-	protected void okPressed() {
-		success = true;
-		updateImports();
-		super.okPressed();
-	}
-
-	public boolean isSuccess() {
-		return success;
-	}
-
-	public List getImports() {
-		return imports;
-	}
-	
-	private void updateImports() {
-		this.imports = new ArrayList();
-		Matcher matcher = IMPORT_PATTERN.matcher(importsViewer.getDocument().get());
-		while (matcher.find()) {
-			this.imports.add(matcher.group(1));
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/constraint/RuleFlowImportsDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,165 @@
+package org.drools.eclipse.flow.ruleflow.view.property.constraint;
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.drools.eclipse.editors.DRLSourceViewerConfig;
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.contentassist.ContentAssistant;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.text.contentassist.IContentAssistant;
+import org.eclipse.jface.text.reconciler.IReconciler;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+
+/**
+ * Dialog for editing imports.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class RuleFlowImportsDialog extends Dialog {
+
+	private static final Pattern IMPORT_PATTERN = Pattern.compile(
+		"\\n\\s*import\\s+([^\\s;#]+);?", Pattern.DOTALL);
+	
+	private RuleFlowProcess process;
+	private boolean success;
+	private TabFolder tabFolder;
+	private SourceViewer importsViewer;
+	private List imports;
+
+	public RuleFlowImportsDialog(Shell parentShell, RuleFlowProcess process) {
+		super(parentShell);
+		this.process = process;
+		setShellStyle(getShellStyle() | SWT.RESIZE);
+	}
+
+	protected void configureShell(Shell newShell) {
+		super.configureShell(newShell);
+		newShell.setText("Imports editor");
+	}
+
+	protected Point getInitialSize() {
+		return new Point(600, 450);
+	}
+
+	private Control createTextualEditor(Composite parent) {
+		importsViewer = new SourceViewer(parent, null, SWT.BORDER);
+		importsViewer.configure(new DRLSourceViewerConfig(null) {
+			public IReconciler getReconciler(ISourceViewer sourceViewer) {
+				return null;
+			}
+			public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+				ContentAssistant assistant = new ContentAssistant();
+				IContentAssistProcessor completionProcessor = new ImportCompletionProcessor();
+				assistant.setContentAssistProcessor(
+					completionProcessor, IDocument.DEFAULT_CONTENT_TYPE);
+				assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
+				return assistant;
+			}
+		});
+		IDocument document = new Document(getProcessImports());
+		importsViewer.setDocument(document);
+		IDocumentPartitioner partitioner =
+            new FastPartitioner(
+                new DRLPartionScanner(),
+                DRLPartionScanner.LEGAL_CONTENT_TYPES);
+        partitioner.connect(document);
+        document.setDocumentPartitioner(partitioner);
+        importsViewer.getControl().addKeyListener(new KeyListener() {
+			public void keyPressed(KeyEvent e) {
+				if (e.character == ' ' && e.stateMask == SWT.CTRL) {
+					importsViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
+				}
+			}
+			public void keyReleased(KeyEvent e) {
+			}
+        });
+		return importsViewer.getControl();
+	}
+	
+	private String getProcessImports() {
+		String result = "# define your imports here: e.g. import com.sample.MyClass\n";
+		List imports = process.getImports();
+		if (imports != null) {
+			for (Iterator iterator = imports.iterator(); iterator.hasNext(); ) {
+				result += "import " + (String) iterator.next() + "\n";
+			}
+		}
+		return result;
+	}
+	
+	public Control createDialogArea(Composite parent) {
+		GridLayout layout = new GridLayout();
+		parent.setLayout(layout);
+		layout.numColumns = 1;
+		tabFolder = new TabFolder(parent, SWT.NONE);
+		GridData gd = new GridData();
+		gd.grabExcessHorizontalSpace = true;
+		gd.grabExcessVerticalSpace = true;
+		gd.verticalAlignment = GridData.FILL;
+		gd.horizontalAlignment = GridData.FILL;
+		tabFolder.setLayoutData(gd);
+		TabItem textEditorTab = new TabItem(tabFolder, SWT.NONE);
+		textEditorTab.setText("Imports");
+		textEditorTab.setControl(createTextualEditor(tabFolder));
+		return tabFolder;
+	}
+	
+	protected void okPressed() {
+		success = true;
+		updateImports();
+		super.okPressed();
+	}
+
+	public boolean isSuccess() {
+		return success;
+	}
+
+	public List getImports() {
+		return imports;
+	}
+	
+	private void updateImports() {
+		this.imports = new ArrayList();
+		Matcher matcher = IMPORT_PATTERN.matcher(importsViewer.getDocument().get());
+		while (matcher.find()) {
+			this.imports.add(matcher.group(1));
+		}
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,151 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.variable;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.flow.common.datatype.DefaultDataTypeRegistry;
-import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.DataTypeCombo;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.DataTypeEditorComposite;
-import org.drools.eclipse.flow.common.view.datatype.editor.impl.EditorComposite;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.drools.ruleflow.common.datatype.DataType;
-import org.drools.ruleflow.core.Variable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Dialog for editing variables.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class VariableDialog extends EditBeanDialog {
-    
-    private Text nameText;
-    private DataTypeCombo dataTypeCombo;
-    private DataTypeEditorComposite dataTypeEditorComposite;
-    private EditorComposite editorComposite;
-
-    public VariableDialog(Shell parentShell) {
-        super(parentShell, "Edit Variable");
-    }
-    
-    protected Control createDialogArea(Composite parent) {
-        final Composite composite = (Composite) super.createDialogArea(parent);
-        GridLayout gridLayout = new GridLayout();
-        gridLayout.numColumns = 2;
-        composite.setLayout(gridLayout);
-        
-        Label nameLabel = new Label(composite, SWT.NONE);
-        nameLabel.setText("Name: ");
-        nameText = new Text(composite, SWT.NONE);
-        GridData gridData = new GridData();
-        gridData.grabExcessHorizontalSpace = true;
-        gridData.horizontalAlignment = GridData.FILL;
-        nameText.setLayoutData(gridData);
-        String name = ((Variable) getValue()).getName();
-        nameText.setText(name == null ? "" : name);
-
-        Label typeLabel = new Label(composite, SWT.NONE);
-        typeLabel.setText("Type: ");
-        
-        dataTypeCombo = new DataTypeCombo(composite,
-    		SWT.NONE, DefaultDataTypeRegistry.getInstance());
-        DataType dataType = ((Variable) getValue()).getType();
-        dataTypeCombo.setDataType(dataType);
-        dataTypeCombo.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				DataType dataType = dataTypeCombo.getDataType();
-				dataTypeEditorComposite.setDataType(dataType);
-				editorComposite.setDataType(dataType);
-				composite.layout();
-			}
-        });
-        
-    	new Label(composite, SWT.NONE);
-        
-        dataTypeEditorComposite = new DataTypeEditorComposite(composite,
-            SWT.NONE, DefaultDataTypeRegistry.getInstance());
-        gridData = new GridData();
-        gridData.grabExcessHorizontalSpace = true;
-        gridData.horizontalAlignment = GridData.FILL;
-        dataTypeEditorComposite.setLayoutData(gridData);
-        dataTypeEditorComposite.setDataType(dataType);
-        dataTypeEditorComposite.addListener(new DataTypeEditor.DataTypeListener() {
-            public void dataTypeChanged(DataType dataType) {
-                editorComposite.setDataType(dataType);
-                composite.layout();
-            }
-        });
-        
-        Label valueLabel = new Label(composite, SWT.NONE);
-        valueLabel.setText("Value: ");
-        gridData = new GridData();
-        gridData.verticalAlignment = SWT.TOP;
-        valueLabel.setLayoutData(gridData);
-        editorComposite = new EditorComposite(composite,
-            SWT.NONE, DefaultDataTypeRegistry.getInstance());
-        gridData = new GridData();
-        gridData.horizontalAlignment = GridData.FILL;
-        gridData.grabExcessHorizontalSpace = true;
-        editorComposite.setLayoutData(gridData);
-        editorComposite.setDataType(dataType);
-        editorComposite.setValue(((Variable) getValue()).getValue());
-        
-        Composite bottom = new Composite(composite, SWT.NONE);
-        gridData = new GridData();
-        gridData.grabExcessVerticalSpace = true;
-        gridData.horizontalSpan = 2;
-        bottom.setLayoutData(gridData);
-        
-        return composite;
-    }
-    
-    protected Object updateValue(Object value) {
-        Variable variable = (Variable) getValue();
-        variable.setName(nameText.getText());
-        try {
-            variable.setType(dataTypeEditorComposite.getDataType());
-        } catch (IllegalArgumentException e) {
-            showError(e.getMessage());
-            throw e;
-        }
-        try {
-            variable.setValue(editorComposite.getValue());
-        } catch (IllegalArgumentException e) {
-            showError(e.getMessage());
-            throw e;
-        }
-        return variable;
-    }
-    
-    private void showError(String error) {
-        ErrorDialog.openError(getShell(), "Error", error, new Status(
-            IStatus.ERROR, DroolsEclipsePlugin.getDefault().getBundle().getSymbolicName(),
-            IStatus.ERROR, error, null));
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,151 @@
+package org.drools.eclipse.flow.ruleflow.view.property.variable;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.flow.common.datatype.DefaultDataTypeRegistry;
+import org.drools.eclipse.flow.common.view.datatype.editor.DataTypeEditor;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.DataTypeCombo;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.DataTypeEditorComposite;
+import org.drools.eclipse.flow.common.view.datatype.editor.impl.EditorComposite;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.ruleflow.common.datatype.DataType;
+import org.drools.ruleflow.core.Variable;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Dialog for editing variables.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class VariableDialog extends EditBeanDialog {
+    
+    private Text nameText;
+    private DataTypeCombo dataTypeCombo;
+    private DataTypeEditorComposite dataTypeEditorComposite;
+    private EditorComposite editorComposite;
+
+    public VariableDialog(Shell parentShell) {
+        super(parentShell, "Edit Variable");
+    }
+    
+    protected Control createDialogArea(Composite parent) {
+        final Composite composite = (Composite) super.createDialogArea(parent);
+        GridLayout gridLayout = new GridLayout();
+        gridLayout.numColumns = 2;
+        composite.setLayout(gridLayout);
+        
+        Label nameLabel = new Label(composite, SWT.NONE);
+        nameLabel.setText("Name: ");
+        nameText = new Text(composite, SWT.NONE);
+        GridData gridData = new GridData();
+        gridData.grabExcessHorizontalSpace = true;
+        gridData.horizontalAlignment = GridData.FILL;
+        nameText.setLayoutData(gridData);
+        String name = ((Variable) getValue()).getName();
+        nameText.setText(name == null ? "" : name);
+
+        Label typeLabel = new Label(composite, SWT.NONE);
+        typeLabel.setText("Type: ");
+        
+        dataTypeCombo = new DataTypeCombo(composite,
+    		SWT.NONE, DefaultDataTypeRegistry.getInstance());
+        DataType dataType = ((Variable) getValue()).getType();
+        dataTypeCombo.setDataType(dataType);
+        dataTypeCombo.addSelectionChangedListener(new ISelectionChangedListener() {
+			public void selectionChanged(SelectionChangedEvent event) {
+				DataType dataType = dataTypeCombo.getDataType();
+				dataTypeEditorComposite.setDataType(dataType);
+				editorComposite.setDataType(dataType);
+				composite.layout();
+			}
+        });
+        
+    	new Label(composite, SWT.NONE);
+        
+        dataTypeEditorComposite = new DataTypeEditorComposite(composite,
+            SWT.NONE, DefaultDataTypeRegistry.getInstance());
+        gridData = new GridData();
+        gridData.grabExcessHorizontalSpace = true;
+        gridData.horizontalAlignment = GridData.FILL;
+        dataTypeEditorComposite.setLayoutData(gridData);
+        dataTypeEditorComposite.setDataType(dataType);
+        dataTypeEditorComposite.addListener(new DataTypeEditor.DataTypeListener() {
+            public void dataTypeChanged(DataType dataType) {
+                editorComposite.setDataType(dataType);
+                composite.layout();
+            }
+        });
+        
+        Label valueLabel = new Label(composite, SWT.NONE);
+        valueLabel.setText("Value: ");
+        gridData = new GridData();
+        gridData.verticalAlignment = SWT.TOP;
+        valueLabel.setLayoutData(gridData);
+        editorComposite = new EditorComposite(composite,
+            SWT.NONE, DefaultDataTypeRegistry.getInstance());
+        gridData = new GridData();
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.grabExcessHorizontalSpace = true;
+        editorComposite.setLayoutData(gridData);
+        editorComposite.setDataType(dataType);
+        editorComposite.setValue(((Variable) getValue()).getValue());
+        
+        Composite bottom = new Composite(composite, SWT.NONE);
+        gridData = new GridData();
+        gridData.grabExcessVerticalSpace = true;
+        gridData.horizontalSpan = 2;
+        bottom.setLayoutData(gridData);
+        
+        return composite;
+    }
+    
+    protected Object updateValue(Object value) {
+        Variable variable = (Variable) getValue();
+        variable.setName(nameText.getText());
+        try {
+            variable.setType(dataTypeEditorComposite.getDataType());
+        } catch (IllegalArgumentException e) {
+            showError(e.getMessage());
+            throw e;
+        }
+        try {
+            variable.setValue(editorComposite.getValue());
+        } catch (IllegalArgumentException e) {
+            showError(e.getMessage());
+            throw e;
+        }
+        return variable;
+    }
+    
+    private void showError(String error) {
+        ErrorDialog.openError(getShell(), "Error", error, new Status(
+            IStatus.ERROR, DroolsEclipsePlugin.getDefault().getBundle().getSymbolicName(),
+            IStatus.ERROR, error, null));
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,37 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.variable;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
-import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Cell edtior for variables.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class VariableListCellEditor extends BeanDialogCellEditor {
-
-    public VariableListCellEditor(Composite parent) {
-        super(parent);
-    }
-
-    protected EditBeanDialog createDialog(Shell shell) {
-        return new VariableListDialog(shell);
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListCellEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.flow.ruleflow.view.property.variable;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell edtior for variables.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class VariableListCellEditor extends BeanDialogCellEditor {
+
+    public VariableListCellEditor(Composite parent) {
+        super(parent);
+    }
+
+    protected EditBeanDialog createDialog(Shell shell) {
+        return new VariableListDialog(shell);
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,36 +0,0 @@
-package org.drools.eclipse.flow.ruleflow.view.property.variable;
-/*
- * Copyright 2005 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.
- */
-
-import org.drools.eclipse.flow.common.view.property.EditListDialog;
-import org.drools.ruleflow.core.impl.VariableImpl;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog for editing a list of variables.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public class VariableListDialog extends EditListDialog {
-    
-    protected VariableListDialog(Shell parentShell) {
-        super(parentShell, "Variable List Editor", VariableDialog.class);
-    }
-
-    protected Object createItem() {
-        return new VariableImpl();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/variable/VariableListDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,36 @@
+package org.drools.eclipse.flow.ruleflow.view.property.variable;
+/*
+ * Copyright 2005 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.
+ */
+
+import org.drools.eclipse.flow.common.view.property.EditListDialog;
+import org.drools.ruleflow.core.impl.VariableImpl;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Dialog for editing a list of variables.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class VariableListDialog extends EditListDialog {
+    
+    protected VariableListDialog(Shell parentShell) {
+        super(parentShell, "Variable List Editor", VariableDialog.class);
+    }
+
+    protected Object createItem() {
+        return new VariableImpl();
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,17 +0,0 @@
-package org.drools.eclipse.launching;
-
-import org.drools.eclipse.debug.core.IDroolsDebugConstants;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;
-
-public class DroolsApplicationLaunchShortcut extends JavaApplicationLaunchShortcut {
-
-	protected ILaunchConfigurationType getConfigurationType() {
-		return getLaunchManager().getLaunchConfigurationType(IDroolsDebugConstants.LAUNCH_CONFIGURATION_TYPE);		
-	}
-
-	protected String getTypeSelectionTitle() {
-		return "Select Drools Application";
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsApplicationLaunchShortcut.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,17 @@
+package org.drools.eclipse.launching;
+
+import org.drools.eclipse.debug.core.IDroolsDebugConstants;
+import org.eclipse.debug.core.ILaunchConfigurationType;
+import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut;
+
+public class DroolsApplicationLaunchShortcut extends JavaApplicationLaunchShortcut {
+
+	protected ILaunchConfigurationType getConfigurationType() {
+		return getLaunchManager().getLaunchConfigurationType(IDroolsDebugConstants.LAUNCH_CONFIGURATION_TYPE);		
+	}
+
+	protected String getTypeSelectionTitle() {
+		return "Select Drools Application";
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-package org.drools.eclipse.launching;
-
-import java.text.MessageFormat;
-
-import org.drools.eclipse.debug.core.IDroolsDebugConstants;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMRunner;
-import org.eclipse.jdt.launching.JavaLaunchDelegate;
-
-public class DroolsLaunchConfigurationDelegate extends JavaLaunchDelegate {
-
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		if (monitor == null) {
-            monitor = new NullProgressMonitor();
-		}
-		if (monitor.isCanceled()) {
-			return;
-		}
-		// TODO make sure that all DRLs needed during execution are built and cached
-		super.launch(configuration, mode, launch, monitor);
-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			// TODO only retrieve breakpoints of this project or any
-			// of its dependent projects
-			IBreakpoint[] breakpoints = getDroolsBreakpoints();
-			for (int i = 0; i < breakpoints.length; i++) {
-				launch.getDebugTarget().breakpointAdded(breakpoints[i]);
-			}
-		}
-	}
-	
-	private IBreakpoint[] getDroolsBreakpoints() {
-		return DebugPlugin.getDefault().getBreakpointManager()
-             .getBreakpoints(IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL);
-    }
-
-	public IVMRunner getVMRunner(ILaunchConfiguration configuration, String mode) throws CoreException {
-		IVMInstall vm = verifyVMInstall(configuration);
-		IVMRunner runner = new DroolsVMDebugger(vm);
-		if (runner == null) {
-			abort(MessageFormat.format(LaunchingMessages.JavaLocalApplicationLaunchConfigurationDelegate_0, new String[]{vm.getName(), mode}), null, IJavaLaunchConfigurationConstants.ERR_VM_RUNNER_DOES_NOT_EXIST); 
-		}
-		return runner;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsLaunchConfigurationDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+package org.drools.eclipse.launching;
+
+import java.text.MessageFormat;
+
+import org.drools.eclipse.debug.core.IDroolsDebugConstants;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.jdt.internal.launching.LaunchingMessages;
+import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.IVMRunner;
+import org.eclipse.jdt.launching.JavaLaunchDelegate;
+
+public class DroolsLaunchConfigurationDelegate extends JavaLaunchDelegate {
+
+	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
+		if (monitor == null) {
+            monitor = new NullProgressMonitor();
+		}
+		if (monitor.isCanceled()) {
+			return;
+		}
+		// TODO make sure that all DRLs needed during execution are built and cached
+		super.launch(configuration, mode, launch, monitor);
+		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
+			// TODO only retrieve breakpoints of this project or any
+			// of its dependent projects
+			IBreakpoint[] breakpoints = getDroolsBreakpoints();
+			for (int i = 0; i < breakpoints.length; i++) {
+				launch.getDebugTarget().breakpointAdded(breakpoints[i]);
+			}
+		}
+	}
+	
+	private IBreakpoint[] getDroolsBreakpoints() {
+		return DebugPlugin.getDefault().getBreakpointManager()
+             .getBreakpoints(IDroolsDebugConstants.ID_DROOLS_DEBUG_MODEL);
+    }
+
+	public IVMRunner getVMRunner(ILaunchConfiguration configuration, String mode) throws CoreException {
+		IVMInstall vm = verifyVMInstall(configuration);
+		IVMRunner runner = new DroolsVMDebugger(vm);
+		if (runner == null) {
+			abort(MessageFormat.format(LaunchingMessages.JavaLocalApplicationLaunchConfigurationDelegate_0, new String[]{vm.getName(), mode}), null, IJavaLaunchConfigurationConstants.ERR_VM_RUNNER_DOES_NOT_EXIST); 
+		}
+		return runner;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,12 +0,0 @@
-package org.drools.eclipse.launching;
-
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant;
-
-public class DroolsSourceLookupDirector extends AbstractSourceLookupDirector {
-
-	public void initializeParticipants() {
-		addParticipants(new ISourceLookupParticipant[]{new MVELSourceLookupParticipant(), new DroolsSourceLookupParticipant()} );
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupDirector.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,12 @@
+package org.drools.eclipse.launching;
+
+import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
+import org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant;
+
+public class DroolsSourceLookupDirector extends AbstractSourceLookupDirector {
+
+	public void initializeParticipants() {
+		addParticipants(new ISourceLookupParticipant[]{new MVELSourceLookupParticipant(), new DroolsSourceLookupParticipant()} );
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,26 +0,0 @@
-package org.drools.eclipse.launching;
-
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.debug.core.DroolsStackFrame;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.launching.sourcelookup.containers.JavaSourceLookupParticipant;
-
-public class DroolsSourceLookupParticipant extends JavaSourceLookupParticipant {
-
-	public String getSourceName(Object object) throws CoreException {
-		if (object instanceof DroolsStackFrame) {
-			RuleInfo ruleInfo = ((DroolsStackFrame) object).getExecutingRuleInfo();
-			if (ruleInfo != null) {
-                String p = ruleInfo.getSourcePathName();
-				return p;
-			}
-			FunctionInfo functionInfo = ((DroolsStackFrame) object).getExecutingFunctionInfo();
-			if (functionInfo != null) {
-				return functionInfo.getSourcePathName();
-			}
-		}
-		return super.getSourceName(object);
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourceLookupParticipant.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,26 @@
+package org.drools.eclipse.launching;
+
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.debug.core.DroolsStackFrame;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.launching.sourcelookup.containers.JavaSourceLookupParticipant;
+
+public class DroolsSourceLookupParticipant extends JavaSourceLookupParticipant {
+
+	public String getSourceName(Object object) throws CoreException {
+		if (object instanceof DroolsStackFrame) {
+			RuleInfo ruleInfo = ((DroolsStackFrame) object).getExecutingRuleInfo();
+			if (ruleInfo != null) {
+                String p = ruleInfo.getSourcePathName();
+				return p;
+			}
+			FunctionInfo functionInfo = ((DroolsStackFrame) object).getExecutingFunctionInfo();
+			if (functionInfo != null) {
+				return functionInfo.getSourcePathName();
+			}
+		}
+		return super.getSourceName(object);
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-package org.drools.eclipse.launching;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.WorkspaceSourceContainer;
-
-public class DroolsSourcePathComputerDelegate implements ISourcePathComputerDelegate {
-
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
-		// TODO this shows up the rule in the bin dir
-		// should try to reuse JavaSourcePathComputer
-		return new ISourceContainer[] {new WorkspaceSourceContainer()};
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsSourcePathComputerDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+package org.drools.eclipse.launching;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.sourcelookup.ISourceContainer;
+import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
+import org.eclipse.debug.core.sourcelookup.containers.WorkspaceSourceContainer;
+
+public class DroolsSourcePathComputerDelegate implements ISourcePathComputerDelegate {
+
+	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
+		// TODO this shows up the rule in the bin dir
+		// should try to reuse JavaSourcePathComputer
+		return new ISourceContainer[] {new WorkspaceSourceContainer()};
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,319 +0,0 @@
-package org.drools.eclipse.launching;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.base.mvel.MVELDebugHandler;
-import org.drools.eclipse.debug.core.DroolsDebugModel;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.jdi.Bootstrap;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-import org.eclipse.jdt.internal.launching.LibraryInfo;
-import org.eclipse.jdt.internal.launching.StandardVMDebugger;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.SocketUtil;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-
-import com.sun.jdi.VirtualMachine;
-import com.sun.jdi.connect.Connector;
-import com.sun.jdi.connect.IllegalConnectorArgumentsException;
-import com.sun.jdi.connect.ListeningConnector;
-
-public class DroolsVMDebugger extends StandardVMDebugger {
-	
-	class ConnectRunnable implements Runnable {
-		
-		private VirtualMachine fVirtualMachine = null;
-		private ListeningConnector fConnector = null;
-		private Map fConnectionMap = null;
-		private Exception fException = null;
-		
-		public ConnectRunnable(ListeningConnector connector, Map map) {
-			fConnector = connector;
-			fConnectionMap = map;
-		}
-		
-		public void run() {
-			try {
-				fVirtualMachine = fConnector.accept(fConnectionMap);
-			} catch (IOException e) {
-				fException = e;
-			} catch (IllegalConnectorArgumentsException e) {
-				fException = e;
-			}
-		}
-		
-		public VirtualMachine getVirtualMachine() {
-			return fVirtualMachine;
-		}
-		
-		public Exception getException() {
-			return fException;
-		}
-	}
-
-	public DroolsVMDebugger(IVMInstall vmInstance) {
-		super(vmInstance);
-	}
-
-	public void run(VMRunnerConfiguration config, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		
-		IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);
-		subMonitor.beginTask(LaunchingMessages.StandardVMDebugger_Launching_VM____1, 4); 
-		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Finding_free_socket____2); 
-
-		int port= SocketUtil.findFreePort();
-		if (port == -1) {
-			abort(LaunchingMessages.StandardVMDebugger_Could_not_find_a_free_socket_for_the_debugger_1, null, IJavaLaunchConfigurationConstants.ERR_NO_SOCKET_AVAILABLE); 
-		}
-		
-		subMonitor.worked(1);
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}		
-		
-		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Constructing_command_line____3); 
-				
-		String program= constructProgramString(config);
-
-		List arguments= new ArrayList(12);
-
-		arguments.add(program);
-
-		// VM args are the first thing after the java program so that users can specify
-		// options like '-client' & '-server' which are required to be the first options
-		String[] allVMArgs = combineVmArgs(config, fVMInstance);
-		addArguments(allVMArgs, arguments);
-        arguments.add("-D"+MVELDebugHandler.DEBUG_LAUNCH_KEY+"=true");
-        
-		addBootClassPathArguments(arguments, config);
-		
-		String[] cp= config.getClassPath();
-		if (cp.length > 0) {
-			arguments.add("-classpath"); //$NON-NLS-1$
-			arguments.add(convertClassPath(cp));
-		}
-		double version = getJavaVersion();
-		if (version < 1.5) {
-			arguments.add("-Xdebug"); //$NON-NLS-1$
-			arguments.add("-Xnoagent"); //$NON-NLS-1$
-		}
-		
-		//check if java 1.4 or greater
-		if (version < 1.4) {
-			arguments.add("-Djava.compiler=NONE"); //$NON-NLS-1$
-		}
-		if (version < 1.5) { 
-			arguments.add("-Xrunjdwp:transport=dt_socket,suspend=y,address=localhost:" + port); //$NON-NLS-1$
-		} else {
-			arguments.add("-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:" + port); //$NON-NLS-1$
-		}
-
-		arguments.add(config.getClassToLaunch());
-		addArguments(config.getProgramArguments(), arguments);
-        
-		String[] cmdLine= new String[arguments.size()];
-		arguments.toArray(cmdLine);
-		
-		String[] envp= config.getEnvironment();
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}		
-		
-		subMonitor.worked(1);
-		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Starting_virtual_machine____4); 
-
-		ListeningConnector connector= getConnector();
-		if (connector == null) {
-			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_find_an_appropriate_debug_connector_2, null, IJavaLaunchConfigurationConstants.ERR_CONNECTOR_NOT_AVAILABLE); 
-		}
-		Map map= connector.defaultArguments();
-		
-		specifyArguments(map, port);
-		Process p= null;
-		try {
-			try {
-				// check for cancellation
-				if (monitor.isCanceled()) {
-					return;
-				}				
-				
-				connector.startListening(map);
-				
-				File workingDir = getWorkingDir(config);
-				p = exec(cmdLine, workingDir, envp);				
-				if (p == null) {
-					return;
-				}
-				
-				// check for cancellation
-				if (monitor.isCanceled()) {
-					p.destroy();
-					return;
-				}				
-				
-				IProcess process= newProcess(launch, p, renderProcessLabel(cmdLine), getDefaultProcessMap());
-				process.setAttribute(IProcess.ATTR_CMDLINE, renderCommandLine(cmdLine));
-				subMonitor.worked(1);
-				subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Establishing_debug_connection____5); 
-				boolean retry= false;
-				do  {
-					try {
-						
-						ConnectRunnable runnable = new ConnectRunnable(connector, map);
-						Thread connectThread = new Thread(runnable, "Listening Connector"); //$NON-NLS-1$
-                        connectThread.setDaemon(true);
-						connectThread.start();
-						while (connectThread.isAlive()) {
-							if (monitor.isCanceled()) {
-								connector.stopListening(map);
-								p.destroy();
-								return;
-							}
-							try {
-								p.exitValue();
-								// process has terminated - stop waiting for a connection
-								try {
-									connector.stopListening(map); 
-								} catch (IOException e) {
-									// expected
-								}
-								checkErrorMessage(process);
-							} catch (IllegalThreadStateException e) {
-								// expected while process is alive
-							}
-							try {
-								Thread.sleep(100);
-							} catch (InterruptedException e) {
-							}
-						}
-
-						Exception ex = runnable.getException();
-						if (ex instanceof IllegalConnectorArgumentsException)						 {
-							throw (IllegalConnectorArgumentsException)ex;
-						}
-						if (ex instanceof InterruptedIOException) {
-							throw (InterruptedIOException)ex;
-						}
-						if (ex instanceof IOException) {
-							throw (IOException)ex;
-						}
-						
-						VirtualMachine vm= runnable.getVirtualMachine();
-						if (vm != null) {
-							DroolsDebugModel.newDebugTarget(launch, vm, renderDebugTarget(config.getClassToLaunch(), port), process, true, false, config.isResumeOnStartup());
-							subMonitor.worked(1);
-							subMonitor.done();
-						}
-						return;
-					} catch (InterruptedIOException e) {
-						checkErrorMessage(process);
-						
-						// timeout, consult status handler if there is one
-						IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_VM_CONNECT_TIMEOUT, "", e); //$NON-NLS-1$
-						IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);
-						
-						retry= false;
-						if (handler == null) {
-							// if there is no handler, throw the exception
-							throw new CoreException(status);
-						} 
-						Object result = handler.handleStatus(status, this);
-						if (result instanceof Boolean) {
-							retry = ((Boolean)result).booleanValue();
-						}
-					}
-				} while (retry);
-			} finally {
-				connector.stopListening(map);
-			}
-		} catch (IOException e) {
-			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_connect_to_VM_4, e, IJavaLaunchConfigurationConstants.ERR_CONNECTION_FAILED);  
-		} catch (IllegalConnectorArgumentsException e) {
-			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_connect_to_VM_5, e, IJavaLaunchConfigurationConstants.ERR_CONNECTION_FAILED);  
-		}
-		if (p != null) {
-			p.destroy();
-		}
-	}
-	
-	private double getJavaVersion() {
-		LibraryInfo libInfo = LaunchingPlugin.getLibraryInfo(fVMInstance.getInstallLocation().getAbsolutePath());
-		if (libInfo == null) {
-		    return 0D;
-		}
-		String version = libInfo.getVersion();
-		int index = version.indexOf("."); //$NON-NLS-1$
-		int nextIndex = version.indexOf(".", index+1); //$NON-NLS-1$
-		try {
-			if (index > 0 && nextIndex>index) {
-				return Double.parseDouble(version.substring(0,nextIndex));
-			} 
-			return Double.parseDouble(version);
-		} catch (NumberFormatException e) {
-			return 0D;
-		}
-
-	}
-
-	protected void checkErrorMessage(IProcess process) throws CoreException {
-		IStreamsProxy streamsProxy = process.getStreamsProxy();
-		if (streamsProxy != null) {
-			String errorMessage= streamsProxy.getErrorStreamMonitor().getContents();
-			if (errorMessage.length() == 0) {
-				errorMessage= streamsProxy.getOutputStreamMonitor().getContents();
-			}
-			if (errorMessage.length() != 0) {
-				abort(errorMessage, null, IJavaLaunchConfigurationConstants.ERR_VM_LAUNCH_ERROR);
-			}
-		}										
-	}
-		
-	protected void specifyArguments(Map map, int portNumber) {
-		// XXX: Revisit - allows us to put a quote (") around the classpath
-		Connector.IntegerArgument port= (Connector.IntegerArgument) map.get("port"); //$NON-NLS-1$
-		port.setValue(portNumber);
-		
-		Connector.IntegerArgument timeoutArg= (Connector.IntegerArgument) map.get("timeout"); //$NON-NLS-1$
-		if (timeoutArg != null) {
-			int timeout = JavaRuntime.getPreferences().getInt(JavaRuntime.PREF_CONNECT_TIMEOUT);
-			timeoutArg.setValue(timeout);
-		}
-	}
-
-	protected ListeningConnector getConnector() {
-		List connectors= Bootstrap.virtualMachineManager().listeningConnectors();
-		for (int i= 0; i < connectors.size(); i++) {
-			ListeningConnector c= (ListeningConnector) connectors.get(i);
-			if ("com.sun.jdi.SocketListen".equals(c.name())) //$NON-NLS-1$
-				return c;
-		}
-		return null;
-	}
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/DroolsVMDebugger.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,319 @@
+package org.drools.eclipse.launching;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InterruptedIOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.base.mvel.MVELDebugHandler;
+import org.drools.eclipse.debug.core.DroolsDebugModel;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.IStatusHandler;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.debug.core.model.IStreamsProxy;
+import org.eclipse.jdi.Bootstrap;
+import org.eclipse.jdt.internal.launching.LaunchingMessages;
+import org.eclipse.jdt.internal.launching.LaunchingPlugin;
+import org.eclipse.jdt.internal.launching.LibraryInfo;
+import org.eclipse.jdt.internal.launching.StandardVMDebugger;
+import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.JavaRuntime;
+import org.eclipse.jdt.launching.SocketUtil;
+import org.eclipse.jdt.launching.VMRunnerConfiguration;
+
+import com.sun.jdi.VirtualMachine;
+import com.sun.jdi.connect.Connector;
+import com.sun.jdi.connect.IllegalConnectorArgumentsException;
+import com.sun.jdi.connect.ListeningConnector;
+
+public class DroolsVMDebugger extends StandardVMDebugger {
+	
+	class ConnectRunnable implements Runnable {
+		
+		private VirtualMachine fVirtualMachine = null;
+		private ListeningConnector fConnector = null;
+		private Map fConnectionMap = null;
+		private Exception fException = null;
+		
+		public ConnectRunnable(ListeningConnector connector, Map map) {
+			fConnector = connector;
+			fConnectionMap = map;
+		}
+		
+		public void run() {
+			try {
+				fVirtualMachine = fConnector.accept(fConnectionMap);
+			} catch (IOException e) {
+				fException = e;
+			} catch (IllegalConnectorArgumentsException e) {
+				fException = e;
+			}
+		}
+		
+		public VirtualMachine getVirtualMachine() {
+			return fVirtualMachine;
+		}
+		
+		public Exception getException() {
+			return fException;
+		}
+	}
+
+	public DroolsVMDebugger(IVMInstall vmInstance) {
+		super(vmInstance);
+	}
+
+	public void run(VMRunnerConfiguration config, ILaunch launch, IProgressMonitor monitor) throws CoreException {
+
+		if (monitor == null) {
+			monitor = new NullProgressMonitor();
+		}
+		
+		IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);
+		subMonitor.beginTask(LaunchingMessages.StandardVMDebugger_Launching_VM____1, 4); 
+		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Finding_free_socket____2); 
+
+		int port= SocketUtil.findFreePort();
+		if (port == -1) {
+			abort(LaunchingMessages.StandardVMDebugger_Could_not_find_a_free_socket_for_the_debugger_1, null, IJavaLaunchConfigurationConstants.ERR_NO_SOCKET_AVAILABLE); 
+		}
+		
+		subMonitor.worked(1);
+		
+		// check for cancellation
+		if (monitor.isCanceled()) {
+			return;
+		}		
+		
+		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Constructing_command_line____3); 
+				
+		String program= constructProgramString(config);
+
+		List arguments= new ArrayList(12);
+
+		arguments.add(program);
+
+		// VM args are the first thing after the java program so that users can specify
+		// options like '-client' & '-server' which are required to be the first options
+		String[] allVMArgs = combineVmArgs(config, fVMInstance);
+		addArguments(allVMArgs, arguments);
+        arguments.add("-D"+MVELDebugHandler.DEBUG_LAUNCH_KEY+"=true");
+        
+		addBootClassPathArguments(arguments, config);
+		
+		String[] cp= config.getClassPath();
+		if (cp.length > 0) {
+			arguments.add("-classpath"); //$NON-NLS-1$
+			arguments.add(convertClassPath(cp));
+		}
+		double version = getJavaVersion();
+		if (version < 1.5) {
+			arguments.add("-Xdebug"); //$NON-NLS-1$
+			arguments.add("-Xnoagent"); //$NON-NLS-1$
+		}
+		
+		//check if java 1.4 or greater
+		if (version < 1.4) {
+			arguments.add("-Djava.compiler=NONE"); //$NON-NLS-1$
+		}
+		if (version < 1.5) { 
+			arguments.add("-Xrunjdwp:transport=dt_socket,suspend=y,address=localhost:" + port); //$NON-NLS-1$
+		} else {
+			arguments.add("-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:" + port); //$NON-NLS-1$
+		}
+
+		arguments.add(config.getClassToLaunch());
+		addArguments(config.getProgramArguments(), arguments);
+        
+		String[] cmdLine= new String[arguments.size()];
+		arguments.toArray(cmdLine);
+		
+		String[] envp= config.getEnvironment();
+		
+		// check for cancellation
+		if (monitor.isCanceled()) {
+			return;
+		}		
+		
+		subMonitor.worked(1);
+		subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Starting_virtual_machine____4); 
+
+		ListeningConnector connector= getConnector();
+		if (connector == null) {
+			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_find_an_appropriate_debug_connector_2, null, IJavaLaunchConfigurationConstants.ERR_CONNECTOR_NOT_AVAILABLE); 
+		}
+		Map map= connector.defaultArguments();
+		
+		specifyArguments(map, port);
+		Process p= null;
+		try {
+			try {
+				// check for cancellation
+				if (monitor.isCanceled()) {
+					return;
+				}				
+				
+				connector.startListening(map);
+				
+				File workingDir = getWorkingDir(config);
+				p = exec(cmdLine, workingDir, envp);				
+				if (p == null) {
+					return;
+				}
+				
+				// check for cancellation
+				if (monitor.isCanceled()) {
+					p.destroy();
+					return;
+				}				
+				
+				IProcess process= newProcess(launch, p, renderProcessLabel(cmdLine), getDefaultProcessMap());
+				process.setAttribute(IProcess.ATTR_CMDLINE, renderCommandLine(cmdLine));
+				subMonitor.worked(1);
+				subMonitor.subTask(LaunchingMessages.StandardVMDebugger_Establishing_debug_connection____5); 
+				boolean retry= false;
+				do  {
+					try {
+						
+						ConnectRunnable runnable = new ConnectRunnable(connector, map);
+						Thread connectThread = new Thread(runnable, "Listening Connector"); //$NON-NLS-1$
+                        connectThread.setDaemon(true);
+						connectThread.start();
+						while (connectThread.isAlive()) {
+							if (monitor.isCanceled()) {
+								connector.stopListening(map);
+								p.destroy();
+								return;
+							}
+							try {
+								p.exitValue();
+								// process has terminated - stop waiting for a connection
+								try {
+									connector.stopListening(map); 
+								} catch (IOException e) {
+									// expected
+								}
+								checkErrorMessage(process);
+							} catch (IllegalThreadStateException e) {
+								// expected while process is alive
+							}
+							try {
+								Thread.sleep(100);
+							} catch (InterruptedException e) {
+							}
+						}
+
+						Exception ex = runnable.getException();
+						if (ex instanceof IllegalConnectorArgumentsException)						 {
+							throw (IllegalConnectorArgumentsException)ex;
+						}
+						if (ex instanceof InterruptedIOException) {
+							throw (InterruptedIOException)ex;
+						}
+						if (ex instanceof IOException) {
+							throw (IOException)ex;
+						}
+						
+						VirtualMachine vm= runnable.getVirtualMachine();
+						if (vm != null) {
+							DroolsDebugModel.newDebugTarget(launch, vm, renderDebugTarget(config.getClassToLaunch(), port), process, true, false, config.isResumeOnStartup());
+							subMonitor.worked(1);
+							subMonitor.done();
+						}
+						return;
+					} catch (InterruptedIOException e) {
+						checkErrorMessage(process);
+						
+						// timeout, consult status handler if there is one
+						IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_VM_CONNECT_TIMEOUT, "", e); //$NON-NLS-1$
+						IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);
+						
+						retry= false;
+						if (handler == null) {
+							// if there is no handler, throw the exception
+							throw new CoreException(status);
+						} 
+						Object result = handler.handleStatus(status, this);
+						if (result instanceof Boolean) {
+							retry = ((Boolean)result).booleanValue();
+						}
+					}
+				} while (retry);
+			} finally {
+				connector.stopListening(map);
+			}
+		} catch (IOException e) {
+			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_connect_to_VM_4, e, IJavaLaunchConfigurationConstants.ERR_CONNECTION_FAILED);  
+		} catch (IllegalConnectorArgumentsException e) {
+			abort(LaunchingMessages.StandardVMDebugger_Couldn__t_connect_to_VM_5, e, IJavaLaunchConfigurationConstants.ERR_CONNECTION_FAILED);  
+		}
+		if (p != null) {
+			p.destroy();
+		}
+	}
+	
+	private double getJavaVersion() {
+		LibraryInfo libInfo = LaunchingPlugin.getLibraryInfo(fVMInstance.getInstallLocation().getAbsolutePath());
+		if (libInfo == null) {
+		    return 0D;
+		}
+		String version = libInfo.getVersion();
+		int index = version.indexOf("."); //$NON-NLS-1$
+		int nextIndex = version.indexOf(".", index+1); //$NON-NLS-1$
+		try {
+			if (index > 0 && nextIndex>index) {
+				return Double.parseDouble(version.substring(0,nextIndex));
+			} 
+			return Double.parseDouble(version);
+		} catch (NumberFormatException e) {
+			return 0D;
+		}
+
+	}
+
+	protected void checkErrorMessage(IProcess process) throws CoreException {
+		IStreamsProxy streamsProxy = process.getStreamsProxy();
+		if (streamsProxy != null) {
+			String errorMessage= streamsProxy.getErrorStreamMonitor().getContents();
+			if (errorMessage.length() == 0) {
+				errorMessage= streamsProxy.getOutputStreamMonitor().getContents();
+			}
+			if (errorMessage.length() != 0) {
+				abort(errorMessage, null, IJavaLaunchConfigurationConstants.ERR_VM_LAUNCH_ERROR);
+			}
+		}										
+	}
+		
+	protected void specifyArguments(Map map, int portNumber) {
+		// XXX: Revisit - allows us to put a quote (") around the classpath
+		Connector.IntegerArgument port= (Connector.IntegerArgument) map.get("port"); //$NON-NLS-1$
+		port.setValue(portNumber);
+		
+		Connector.IntegerArgument timeoutArg= (Connector.IntegerArgument) map.get("timeout"); //$NON-NLS-1$
+		if (timeoutArg != null) {
+			int timeout = JavaRuntime.getPreferences().getInt(JavaRuntime.PREF_CONNECT_TIMEOUT);
+			timeoutArg.setValue(timeout);
+		}
+	}
+
+	protected ListeningConnector getConnector() {
+		List connectors= Bootstrap.virtualMachineManager().listeningConnectors();
+		for (int i= 0; i < connectors.size(); i++) {
+			ListeningConnector c= (ListeningConnector) connectors.get(i);
+			if ("com.sun.jdi.SocketListen".equals(c.name())) //$NON-NLS-1$
+				return c;
+		}
+		return null;
+	}
+	
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,57 +0,0 @@
-package org.drools.eclipse.launching;
-
-import org.drools.eclipse.DRLInfo.FunctionInfo;
-import org.drools.eclipse.DRLInfo.RuleInfo;
-import org.drools.eclipse.debug.core.DroolsDebugTarget;
-import org.drools.eclipse.debug.core.MVELStackFrame;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.jdt.launching.sourcelookup.containers.JavaSourceLookupParticipant;
-
-class MVELSourceLookupParticipant extends JavaSourceLookupParticipant {
-    public void dispose() {
-        //do nothing
-    }
-
-    public Object[] findSourceElements(Object object) throws CoreException {
-        if ( object instanceof MVELStackFrame ) {
-            MVELStackFrame frame = (MVELStackFrame) object;
-
-            //int lineNumber = frame.getBreakpointLineNumber();
-            String mvelName = frame.getMVELName();
-
-            IDebugTarget target = frame.getDebugTarget();
-            if ( target instanceof DroolsDebugTarget ) {
-                DroolsDebugTarget droolsTarget = (DroolsDebugTarget) target;
-                Object bpoint = droolsTarget.getDroolsBreakpoint( mvelName );
-                return new Object[]{bpoint};
-            }
-        }
-        return null;
-    }
-
-    public String getSourceName(Object object) throws CoreException {
-        if ( object instanceof MVELStackFrame ) {
-            MVELStackFrame frame = (MVELStackFrame) object;
-            RuleInfo ruleInfo = frame.getExecutingRuleInfo();
-            if ( ruleInfo != null ) {
-                String sourcePath = ruleInfo.getSourcePathName();
-                return sourcePath;
-            }
-            FunctionInfo functionInfo = frame.getExecutingFunctionInfo();
-            if ( functionInfo != null ) {
-                return functionInfo.getSourcePathName();
-            }
-        }
-        return super.getSourceName( object );
-    }
-
-    public void init(ISourceLookupDirector director) {
-        //do nothing
-    }
-
-    public void sourceContainersChanged(ISourceLookupDirector director) {
-        //do nothing
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/launching/MVELSourceLookupParticipant.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,57 @@
+package org.drools.eclipse.launching;
+
+import org.drools.eclipse.DRLInfo.FunctionInfo;
+import org.drools.eclipse.DRLInfo.RuleInfo;
+import org.drools.eclipse.debug.core.DroolsDebugTarget;
+import org.drools.eclipse.debug.core.MVELStackFrame;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
+import org.eclipse.jdt.launching.sourcelookup.containers.JavaSourceLookupParticipant;
+
+class MVELSourceLookupParticipant extends JavaSourceLookupParticipant {
+    public void dispose() {
+        //do nothing
+    }
+
+    public Object[] findSourceElements(Object object) throws CoreException {
+        if ( object instanceof MVELStackFrame ) {
+            MVELStackFrame frame = (MVELStackFrame) object;
+
+            //int lineNumber = frame.getBreakpointLineNumber();
+            String mvelName = frame.getMVELName();
+
+            IDebugTarget target = frame.getDebugTarget();
+            if ( target instanceof DroolsDebugTarget ) {
+                DroolsDebugTarget droolsTarget = (DroolsDebugTarget) target;
+                Object bpoint = droolsTarget.getDroolsBreakpoint( mvelName );
+                return new Object[]{bpoint};
+            }
+        }
+        return null;
+    }
+
+    public String getSourceName(Object object) throws CoreException {
+        if ( object instanceof MVELStackFrame ) {
+            MVELStackFrame frame = (MVELStackFrame) object;
+            RuleInfo ruleInfo = frame.getExecutingRuleInfo();
+            if ( ruleInfo != null ) {
+                String sourcePath = ruleInfo.getSourcePathName();
+                return sourcePath;
+            }
+            FunctionInfo functionInfo = frame.getExecutingFunctionInfo();
+            if ( functionInfo != null ) {
+                return functionInfo.getSourcePathName();
+            }
+        }
+        return super.getSourceName( object );
+    }
+
+    public void init(ISourceLookupDirector director) {
+        //do nothing
+    }
+
+    public void sourceContainersChanged(ISourceLookupDirector director) {
+        //do nothing
+    }
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,203 +0,0 @@
-package org.drools.eclipse.menu;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.eclipse.rulebuilder.wizards.NewBrlFileWizard;
-import org.drools.eclipse.wizard.decisiontable.NewDTFileWizard;
-import org.drools.eclipse.wizard.dsl.NewDSLFileWizard;
-import org.drools.eclipse.wizard.project.NewDroolsProjectWizard;
-import org.drools.eclipse.wizard.rule.NewRulePackageWizard;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate;
-
-/**
- * Menu driver for launching wizards etc from the top level toolbar.
- * 
- * More can be added to this as needed.
- * 
- * @author Michael Neale
- */
-public class RuleHelperActionDelegate
-    implements
-    IWorkbenchWindowPulldownDelegate {
-
-    private IWorkbench workbench;
-    private Menu menu;
-
-    /** Return a menu which launches the various wizards */
-    public Menu getMenu(Control parent) {
-
-        setMenu( new Menu( parent ) );
-        
-        final Shell shell = parent.getShell();
-        addProjectWizard( menu,
-                shell );
-
-        addRuleWizard( menu,
-                       shell );
-
-        addDSLWizard( menu,
-                      shell );
-        
-        addDTWizard( menu,
-                      shell );        
-        
-        addGuidedEditorWizard( menu,
-                               shell );
-        
-        return menu;
-    }
-    
-    private void setMenu(Menu menu) {
-        if (this.menu != null) {
-            this.menu.dispose();
-        }
-        this.menu = menu;
-    }
-
-    private void addDTWizard(Menu menu,
-                             final Shell shell) {
-        MenuItem dsl = new MenuItem( menu,
-                                     SWT.NONE );
-        dsl.setText( "New Decision Table" );
-        dsl.addSelectionListener( new SelectionListener() {
-
-            public void widgetSelected(SelectionEvent e) {
-                NewDTFileWizard wizard = new NewDTFileWizard();
-                launchWizard( shell, wizard );
-            }
-            public void widgetDefaultSelected(SelectionEvent e) {}
-        });
-        
-    }
-
-    private void addProjectWizard(Menu menu, final Shell shell) {
-		MenuItem rule = new MenuItem(menu, SWT.NONE);
-		rule.setText("New Rule Project");
-
-		rule.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				NewDroolsProjectWizard wizard = new NewDroolsProjectWizard();
-				launchWizard(shell, wizard);
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-	}
-
-    private void addRuleWizard(Menu menu,
-                               final Shell shell) {
-        MenuItem rule = new MenuItem( menu,
-                                      SWT.NONE );
-        rule.setText( "New Rule resource" );
-
-        rule.addSelectionListener( new SelectionListener() {
-            public void widgetSelected(SelectionEvent e) {
-                NewRulePackageWizard wizard = new NewRulePackageWizard();
-                launchWizard( shell,
-                              wizard );
-            }
-            public void widgetDefaultSelected(SelectionEvent e) {}
-        });
-    }
-
-    private void addDSLWizard(Menu menu,
-                              final Shell shell) {
-        MenuItem dsl = new MenuItem( menu,
-                                     SWT.NONE );
-        dsl.setText( "New Domain Specific Language" );
-        dsl.addSelectionListener( new SelectionListener() {
-
-            public void widgetSelected(SelectionEvent e) {
-                NewDSLFileWizard wizard = new NewDSLFileWizard();
-                launchWizard( shell, wizard );
-            }
-            public void widgetDefaultSelected(SelectionEvent e) {}
-        });
-    }
-    
-    private void addGuidedEditorWizard(Menu menu,
-                                       final Shell shell) {
-        MenuItem dsl = new MenuItem( menu,
-                                     SWT.NONE );
-        dsl.setText( "New Business rule (guided editor)" );
-        dsl.addSelectionListener( new SelectionListener() {
-
-            public void widgetSelected(SelectionEvent e) {
-                NewBrlFileWizard wizard = new NewBrlFileWizard();
-                launchWizard( shell,
-                              wizard );
-            }
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-            }
-        } );
-    }
-
-    private void launchWizard(Shell shell,
-                              INewWizard wizard) {
-        wizard.init( workbench,
-                     new DummySelection() );
-        WizardDialog dialog = new WizardDialog( shell,
-                                                wizard );
-        dialog.open();
-    }    
-
-    public void dispose() {
-    }
-
-    public void init(IWorkbenchWindow window) {
-        workbench = window.getWorkbench();
-    }
-
-    public void run(IAction action) {
-    }
-
-    public void selectionChanged(IAction action,
-                                 ISelection selection) {
-    }
-    
-    /** Stub structured selection listener, as is required to launch the wizard */
-    static class DummySelection implements IStructuredSelection {
-        public Object getFirstElement() {
-            return null;
-        }
-
-        public Iterator iterator() {
-            return (new ArrayList()).iterator();
-        }
-
-        public int size() {
-            return 0;
-        }
-
-        public Object[] toArray() {
-            return null;
-        }
-
-        public List toList() {
-            return null;
-        }
-
-        public boolean isEmpty() {
-            return true;
-        }        
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/menu/RuleHelperActionDelegate.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,203 @@
+package org.drools.eclipse.menu;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.eclipse.rulebuilder.wizards.NewBrlFileWizard;
+import org.drools.eclipse.wizard.decisiontable.NewDTFileWizard;
+import org.drools.eclipse.wizard.dsl.NewDSLFileWizard;
+import org.drools.eclipse.wizard.project.NewDroolsProjectWizard;
+import org.drools.eclipse.wizard.rule.NewRulePackageWizard;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.IWorkbenchWindowPulldownDelegate;
+
+/**
+ * Menu driver for launching wizards etc from the top level toolbar.
+ * 
+ * More can be added to this as needed.
+ * 
+ * @author Michael Neale
+ */
+public class RuleHelperActionDelegate
+    implements
+    IWorkbenchWindowPulldownDelegate {
+
+    private IWorkbench workbench;
+    private Menu menu;
+
+    /** Return a menu which launches the various wizards */
+    public Menu getMenu(Control parent) {
+
+        setMenu( new Menu( parent ) );
+        
+        final Shell shell = parent.getShell();
+        addProjectWizard( menu,
+                shell );
+
+        addRuleWizard( menu,
+                       shell );
+
+        addDSLWizard( menu,
+                      shell );
+        
+        addDTWizard( menu,
+                      shell );        
+        
+        addGuidedEditorWizard( menu,
+                               shell );
+        
+        return menu;
+    }
+    
+    private void setMenu(Menu menu) {
+        if (this.menu != null) {
+            this.menu.dispose();
+        }
+        this.menu = menu;
+    }
+
+    private void addDTWizard(Menu menu,
+                             final Shell shell) {
+        MenuItem dsl = new MenuItem( menu,
+                                     SWT.NONE );
+        dsl.setText( "New Decision Table" );
+        dsl.addSelectionListener( new SelectionListener() {
+
+            public void widgetSelected(SelectionEvent e) {
+                NewDTFileWizard wizard = new NewDTFileWizard();
+                launchWizard( shell, wizard );
+            }
+            public void widgetDefaultSelected(SelectionEvent e) {}
+        });
+        
+    }
+
+    private void addProjectWizard(Menu menu, final Shell shell) {
+		MenuItem rule = new MenuItem(menu, SWT.NONE);
+		rule.setText("New Rule Project");
+
+		rule.addSelectionListener(new SelectionListener() {
+			public void widgetSelected(SelectionEvent e) {
+				NewDroolsProjectWizard wizard = new NewDroolsProjectWizard();
+				launchWizard(shell, wizard);
+			}
+
+			public void widgetDefaultSelected(SelectionEvent e) {
+			}
+		});
+	}
+
+    private void addRuleWizard(Menu menu,
+                               final Shell shell) {
+        MenuItem rule = new MenuItem( menu,
+                                      SWT.NONE );
+        rule.setText( "New Rule resource" );
+
+        rule.addSelectionListener( new SelectionListener() {
+            public void widgetSelected(SelectionEvent e) {
+                NewRulePackageWizard wizard = new NewRulePackageWizard();
+                launchWizard( shell,
+                              wizard );
+            }
+            public void widgetDefaultSelected(SelectionEvent e) {}
+        });
+    }
+
+    private void addDSLWizard(Menu menu,
+                              final Shell shell) {
+        MenuItem dsl = new MenuItem( menu,
+                                     SWT.NONE );
+        dsl.setText( "New Domain Specific Language" );
+        dsl.addSelectionListener( new SelectionListener() {
+
+            public void widgetSelected(SelectionEvent e) {
+                NewDSLFileWizard wizard = new NewDSLFileWizard();
+                launchWizard( shell, wizard );
+            }
+            public void widgetDefaultSelected(SelectionEvent e) {}
+        });
+    }
+    
+    private void addGuidedEditorWizard(Menu menu,
+                                       final Shell shell) {
+        MenuItem dsl = new MenuItem( menu,
+                                     SWT.NONE );
+        dsl.setText( "New Business rule (guided editor)" );
+        dsl.addSelectionListener( new SelectionListener() {
+
+            public void widgetSelected(SelectionEvent e) {
+                NewBrlFileWizard wizard = new NewBrlFileWizard();
+                launchWizard( shell,
+                              wizard );
+            }
+
+            public void widgetDefaultSelected(SelectionEvent e) {
+            }
+        } );
+    }
+
+    private void launchWizard(Shell shell,
+                              INewWizard wizard) {
+        wizard.init( workbench,
+                     new DummySelection() );
+        WizardDialog dialog = new WizardDialog( shell,
+                                                wizard );
+        dialog.open();
+    }    
+
+    public void dispose() {
+    }
+
+    public void init(IWorkbenchWindow window) {
+        workbench = window.getWorkbench();
+    }
+
+    public void run(IAction action) {
+    }
+
+    public void selectionChanged(IAction action,
+                                 ISelection selection) {
+    }
+    
+    /** Stub structured selection listener, as is required to launch the wizard */
+    static class DummySelection implements IStructuredSelection {
+        public Object getFirstElement() {
+            return null;
+        }
+
+        public Iterator iterator() {
+            return (new ArrayList()).iterator();
+        }
+
+        public int size() {
+            return 0;
+        }
+
+        public Object[] toArray() {
+            return null;
+        }
+
+        public List toList() {
+            return null;
+        }
+
+        public boolean isEmpty() {
+            return true;
+        }        
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,80 +0,0 @@
-package org.drools.eclipse.preferences;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-public class DroolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private Button buildAllCheckBox;
-	private Button collapseEditorCheckBox;
-	private Button cacheParsedRulesCheckBox;
-	
-	protected Control createContents(Composite parent) {
-		buildAllCheckBox = createCheckBox(parent,
-			"Automatically reparse all rules if a Java resource is changed.");
-		collapseEditorCheckBox = createCheckBox(parent,
-			"Use code folding in DRL editor.");
-		cacheParsedRulesCheckBox = createCheckBox(parent,
-			"When parsing rules, always cache the result for future use. Warning: when disabled, debugging of rules will not work.");
-
-		initializeValues();
-
-		return new Composite(parent, SWT.NULL);
-	}
-
-	private Button createCheckBox(Composite group, String label) {
-        Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-        button.setText(label);
-        GridData data = new GridData();
-        button.setLayoutData(data);
-        return button;
-    }
-	
-	protected IPreferenceStore doGetPreferenceStore() {
-        return DroolsEclipsePlugin.getDefault().getPreferenceStore();
-    }
-	
-	private void initializeDefaults() {
-        IPreferenceStore store = getPreferenceStore();
-        buildAllCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.BUILD_ALL));
-        collapseEditorCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.EDITOR_FOLDING));
-        cacheParsedRulesCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.CACHE_PARSED_RULES));
-    }
-
-	private void initializeValues() {
-        IPreferenceStore store = getPreferenceStore();
-        buildAllCheckBox.setSelection(store.getBoolean(IDroolsConstants.BUILD_ALL));
-        collapseEditorCheckBox.setSelection(store.getBoolean(IDroolsConstants.EDITOR_FOLDING));
-        cacheParsedRulesCheckBox.setSelection(store.getBoolean(IDroolsConstants.CACHE_PARSED_RULES));
-    }
-
-	protected void performDefaults() {
-        super.performDefaults();
-        initializeDefaults();
-    }
-
-	public boolean performOk() {
-        storeValues();
-        DroolsEclipsePlugin.getDefault().savePluginPreferences();
-        return true;
-    }
-	
-	private void storeValues() {
-        IPreferenceStore store = getPreferenceStore();
-        store.setValue(IDroolsConstants.BUILD_ALL, buildAllCheckBox.getSelection());
-        store.setValue(IDroolsConstants.EDITOR_FOLDING, collapseEditorCheckBox.getSelection());
-        store.setValue(IDroolsConstants.CACHE_PARSED_RULES, cacheParsedRulesCheckBox.getSelection());
-    }
-
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/DroolsPreferencePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,80 @@
+package org.drools.eclipse.preferences;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class DroolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
+
+	private Button buildAllCheckBox;
+	private Button collapseEditorCheckBox;
+	private Button cacheParsedRulesCheckBox;
+	
+	protected Control createContents(Composite parent) {
+		buildAllCheckBox = createCheckBox(parent,
+			"Automatically reparse all rules if a Java resource is changed.");
+		collapseEditorCheckBox = createCheckBox(parent,
+			"Use code folding in DRL editor.");
+		cacheParsedRulesCheckBox = createCheckBox(parent,
+			"When parsing rules, always cache the result for future use. Warning: when disabled, debugging of rules will not work.");
+
+		initializeValues();
+
+		return new Composite(parent, SWT.NULL);
+	}
+
+	private Button createCheckBox(Composite group, String label) {
+        Button button = new Button(group, SWT.CHECK | SWT.LEFT);
+        button.setText(label);
+        GridData data = new GridData();
+        button.setLayoutData(data);
+        return button;
+    }
+	
+	protected IPreferenceStore doGetPreferenceStore() {
+        return DroolsEclipsePlugin.getDefault().getPreferenceStore();
+    }
+	
+	private void initializeDefaults() {
+        IPreferenceStore store = getPreferenceStore();
+        buildAllCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.BUILD_ALL));
+        collapseEditorCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.EDITOR_FOLDING));
+        cacheParsedRulesCheckBox.setSelection(store.getDefaultBoolean(IDroolsConstants.CACHE_PARSED_RULES));
+    }
+
+	private void initializeValues() {
+        IPreferenceStore store = getPreferenceStore();
+        buildAllCheckBox.setSelection(store.getBoolean(IDroolsConstants.BUILD_ALL));
+        collapseEditorCheckBox.setSelection(store.getBoolean(IDroolsConstants.EDITOR_FOLDING));
+        cacheParsedRulesCheckBox.setSelection(store.getBoolean(IDroolsConstants.CACHE_PARSED_RULES));
+    }
+
+	protected void performDefaults() {
+        super.performDefaults();
+        initializeDefaults();
+    }
+
+	public boolean performOk() {
+        storeValues();
+        DroolsEclipsePlugin.getDefault().savePluginPreferences();
+        return true;
+    }
+	
+	private void storeValues() {
+        IPreferenceStore store = getPreferenceStore();
+        store.setValue(IDroolsConstants.BUILD_ALL, buildAllCheckBox.getSelection());
+        store.setValue(IDroolsConstants.EDITOR_FOLDING, collapseEditorCheckBox.getSelection());
+        store.setValue(IDroolsConstants.CACHE_PARSED_RULES, cacheParsedRulesCheckBox.getSelection());
+    }
+
+	public void init(IWorkbench workbench) {
+		// do nothing
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-package org.drools.eclipse.preferences;
-
-public interface IDroolsConstants {
-
-	String BUILD_ALL = "Drools.BuildAll";
-	String EDITOR_FOLDING = "Drools.EditorFolding";
-	String CACHE_PARSED_RULES = "Drools.CacheParsedRules";
-	String DRL_EDITOR_MATCHING_BRACKETS = "Drools.DRLMatchingBrackets";
-	String DRL_EDITOR_MATCHING_BRACKETS_COLOR = "Drools.DRLMatchingBracketsColor";
-	
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/preferences/IDroolsConstants.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+package org.drools.eclipse.preferences;
+
+public interface IDroolsConstants {
+
+	String BUILD_ALL = "Drools.BuildAll";
+	String EDITOR_FOLDING = "Drools.EditorFolding";
+	String CACHE_PARSED_RULES = "Drools.CacheParsedRules";
+	String DRL_EDITOR_MATCHING_BRACKETS = "Drools.DRLMatchingBrackets";
+	String DRL_EDITOR_MATCHING_BRACKETS_COLOR = "Drools.DRLMatchingBracketsColor";
+	
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,69 +0,0 @@
-package org.drools.eclipse.rulebuilder.editors;
-
-import org.drools.brms.client.modeldriven.brl.RuleModel;
-import org.drools.brms.server.util.BRXMLPersistence;
-import org.drools.eclipse.rulebuilder.ui.RuleModeller;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.FormPage;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-
-/**
- * Rule Builder main page used as a tab in {@link RuleEditor} multipage.
- * 
- * @author Ahti Kitsik
- *
- */
-public class BrlPage extends FormPage {
-
-    private static final String PAGE_NAME = "Rule Builder";
-    private static final String PAGE_ID   = BrlPage.class.getName();
-
-    private RuleModeller        modeller;
-    private RuleModel           model;
-    private RuleEditor          editor;
-
-    public BrlPage(RuleEditor editor) {
-        super( editor,
-               PAGE_ID,
-               PAGE_NAME );
-        this.editor = editor;
-    }
-
-    protected void createFormContent(IManagedForm managedForm) {
-        ScrolledForm form = managedForm.getForm();
-        FormToolkit toolkit = managedForm.getToolkit();
-
-        modeller = new RuleModeller( form,
-                                     toolkit,
-                                     model,
-                                     editor );
-    }
-
-    public void setModelXML(String xml) {
-        model = BRXMLPersistence.getInstance().unmarshal( xml );
-        modeller.setModel( model );
-        modeller.reloadWidgets();
-    }
-
-    public RuleModel getRuleModel() {
-        return model;
-    }
-
-    public RuleModeller getModeller() {
-        return modeller;
-    }
-
-    public boolean isDirty() {
-        return modeller.isDirty();
-    }
-
-    public void fireDirtyPropertyChanged() {
-        editor.dirtyPropertyChanged();
-    }
-
-    public void refresh() {
-        modeller.refresh();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/BrlPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,69 @@
+package org.drools.eclipse.rulebuilder.editors;
+
+import org.drools.brms.client.modeldriven.brl.RuleModel;
+import org.drools.brms.server.util.BRXMLPersistence;
+import org.drools.eclipse.rulebuilder.ui.RuleModeller;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.editor.FormPage;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+
+/**
+ * Rule Builder main page used as a tab in {@link RuleEditor} multipage.
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class BrlPage extends FormPage {
+
+    private static final String PAGE_NAME = "Rule Builder";
+    private static final String PAGE_ID   = BrlPage.class.getName();
+
+    private RuleModeller        modeller;
+    private RuleModel           model;
+    private RuleEditor          editor;
+
+    public BrlPage(RuleEditor editor) {
+        super( editor,
+               PAGE_ID,
+               PAGE_NAME );
+        this.editor = editor;
+    }
+
+    protected void createFormContent(IManagedForm managedForm) {
+        ScrolledForm form = managedForm.getForm();
+        FormToolkit toolkit = managedForm.getToolkit();
+
+        modeller = new RuleModeller( form,
+                                     toolkit,
+                                     model,
+                                     editor );
+    }
+
+    public void setModelXML(String xml) {
+        model = BRXMLPersistence.getInstance().unmarshal( xml );
+        modeller.setModel( model );
+        modeller.reloadWidgets();
+    }
+
+    public RuleModel getRuleModel() {
+        return model;
+    }
+
+    public RuleModeller getModeller() {
+        return modeller;
+    }
+
+    public boolean isDirty() {
+        return modeller.isDirty();
+    }
+
+    public void fireDirtyPropertyChanged() {
+        editor.dirtyPropertyChanged();
+    }
+
+    public void refresh() {
+        modeller.refresh();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,394 +0,0 @@
-package org.drools.eclipse.rulebuilder.editors;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.server.rules.SuggestionCompletionLoader;
-import org.drools.brms.server.util.BRDRLPersistence;
-import org.drools.brms.server.util.BRXMLPersistence;
-import org.drools.compiler.DrlParser;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.dsl.editor.DSLAdapter;
-import org.drools.eclipse.editors.DRLDocumentProvider;
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.eclipse.util.ProjectClassLoader;
-import org.drools.lang.dsl.DSLMappingFile;
-import org.eclipse.core.internal.resources.Container;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.ide.ResourceUtil;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.texteditor.DocumentProviderRegistry;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-public class RuleEditor extends FormEditor
-    implements
-    IResourceChangeListener {
-
-    private BrlPage                    guidedEditor;
-
-    private TextEditor                 xmlEditor          = new TextEditor();
-
-    private SuggestionCompletionEngine completion;
-
-    private SuggestionCompletionLoader loader;
-
-    private FileEditorInput            packageEditorInput;
-
-    private final Document             drlDocument;
-
-    private IResourceChangeListener    packageFileTracker = new IResourceChangeListener() {
-
-                                                              public void resourceChanged(IResourceChangeEvent event) {
-                                                                  IResourceDelta delta = getRootDelta( event.getDelta() );
-
-                                                                  IPath p1 = delta.getFullPath();
-                                                                  IPath p2 = packageEditorInput.getFile().getFullPath();
-                                                                  if ( p1.equals( p2 ) ) {
-                                                                      reloadCompletionEngine();
-                                                                  }
-
-                                                              }
-
-                                                          };
-
-    public RuleEditor() {
-        super();
-        ResourcesPlugin.getWorkspace().addResourceChangeListener( this );
-        ResourcesPlugin.getWorkspace().addResourceChangeListener( packageFileTracker,
-                                                                  IResourceChangeEvent.POST_CHANGE );
-        drlDocument = new Document();
-
-    }
-
-    protected FormToolkit createToolkit(Display display) {
-        // Create a toolkit that shares colors between editors.
-        return new FormToolkit( DroolsEclipsePlugin.getDefault().getRuleBuilderFormColors( display ) );
-    }
-
-    protected void addPages() {
-        guidedEditor = new BrlPage( this );
-        try {
-            addPage( guidedEditor );
-            addPage( xmlEditor,
-                     getEditorInput() );
-
-            DRLRuleEditor drlEditor = new DRLRuleEditor() {
-                protected IDocumentProvider createDocumentProvider() {
-                    return new DRLDocumentProvider() {
-                        public boolean isReadOnly(Object element) {
-                            return true;
-                        }
-
-                        public boolean isModifiable(Object element) {
-                            return false;
-                        }
-
-                        protected IDocument getParentDocument(Object element) {
-                            return drlDocument;
-                        }
-                    };
-                }
-
-            };
-
-            addPage( drlEditor,
-                     xmlEditor.getEditorInput() );
-
-            IPath packagePath = getCurrentDirectoryPath( getEditorInput() ).append( "rule.package" );
-
-            IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile( packagePath );
-
-            IJavaProject javaProject = JavaCore.create( file.getProject() );
-
-            ClassLoader classLoader = ProjectClassLoader.getProjectClassLoader( javaProject );
-
-            loader = new SuggestionCompletionLoader( classLoader );
-
-            if ( !file.exists() ) {
-                String defaultHeader = "//This is a package configuration file";
-                defaultHeader += "\n//Add imports, globals etc here which will be used by all the rule assets in thise folder.";
-                InputStream is = new ByteArrayInputStream( defaultHeader.getBytes() );
-                try {
-                    file.create( is,
-                                 true,
-                                 null );
-                } catch ( CoreException e ) {
-                    DroolsEclipsePlugin.log( e );
-                }
-            }
-
-            packageEditorInput = new FileEditorInput( file );
-
-            reloadCompletionEngine();
-
-            setPageText( 1,
-                         "BRL Source" );
-
-            setPageText( 2,
-                         "Generated DRL (read-only)" );
-
-            updateName( false );
-
-        } catch ( PartInitException e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-    }
-
-    private void updateName(boolean forced) {
-        String name = xmlEditor.getTitle();
-        setPartName( name );
-
-        //TODO Add support for other than .brl extensions
-        if ( guidedEditor.getModeller() != null && guidedEditor.getModeller().getModel() != null && (guidedEditor.getModeller().getModel().name == null || forced) ) {
-            String shortName = name.substring( 0,
-                                               name.length() - ".brl".length() );
-            guidedEditor.getModeller().getModel().name = shortName;
-        }
-
-        updateDRLPage();
-
-    }
-
-    private IPath getCurrentDirectoryPath(IEditorInput editorInput) {
-        return ((FileEditorInput) editorInput).getFile().getFullPath().removeLastSegments( 1 ).addTrailingSeparator();
-    }
-
-    private void reloadCompletionEngine() {
-        try {
-
-            // Load all .dsl files from current dir
-            IPath p = (packageEditorInput).getFile().getFullPath().removeLastSegments( 1 );
-
-            Container folder = (Container) ResourcesPlugin.getWorkspace().getRoot().findMember( p,
-                                                                                                false );
-
-            IResource[] files = folder.members( false );
-
-            List dslList = new ArrayList();
-
-            for ( int i = 0; i < files.length; i++ ) {
-                if ( files[i].getName().endsWith( ".dsl" ) ) {
-                    String contents = getFileContents( (IFile) files[i] );
-                    DSLMappingFile dsl = new DSLMappingFile();
-
-                    if ( dsl.parseAndLoad( new StringReader( contents ) ) ) {
-                        dslList.add( dsl );
-                    } else {
-                        //TODO report dsl parse error
-                    }
-                }
-            }
-
-            // Load suggestion engine
-            String str = getFileContents( packageEditorInput.getFile() );
-
-            completion = loader.getSuggestionEngine( str,
-                                                     dslList,
-                                                     dslList );
-
-        } catch ( Exception e ) {
-            DroolsEclipsePlugin.log( e );
-        }
-    }
-
-    private String getFileContents(IFile file) {
-
-        InputStream is;
-        try {
-            is = file.getContents();
-
-            StringBuffer out = new StringBuffer();
-            byte[] b = new byte[4096];
-            for ( int n; (n = is.read( b )) != -1; ) {
-                out.append( new String( b,
-                                        0,
-                                        n ) );
-            }
-
-            return out.toString();
-        } catch ( CoreException e ) {
-            //TODO Report problem with the file loading
-            return "";
-        } catch ( IOException e ) {
-            //TODO Report problem with the file loading
-            return "";
-        }
-
-    }
-
-    public boolean isDirty() {
-        return xmlEditor.isDirty() || guidedEditor.isDirty();
-    }
-
-    protected void pageChange(int newPageIndex) {
-        super.pageChange( newPageIndex );
-
-        IDocument document = getInputDocument();
-
-        if ( newPageIndex == 0 ) {
-
-            boolean newModel = guidedEditor.getModeller().getModel() == null;
-            if ( xmlEditor.isDirty() || newModel ) {
-                guidedEditor.setModelXML( document.get() );
-                if ( newModel ) {
-                    guidedEditor.getModeller().setDirty( false );
-                }
-                updateName( false );
-            }
-
-            guidedEditor.refresh();
-
-        } else if ( newPageIndex == 1 ) {
-
-            if ( guidedEditor.isDirty() ) {
-                document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
-            }
-        } else if ( newPageIndex == 2 ) {
-
-            //Updating main document for proper workflow when page is switched back to "0"
-            if ( guidedEditor.isDirty() ) {
-                document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
-            } else if ( xmlEditor.isDirty() ) {
-                guidedEditor.setModelXML( document.get() );
-            }
-
-            updateDRLPage();
-
-            updateName( false );
-
-        }
-
-    }
-
-    private void updateDRLPage() {
-
-        String drl = "";
-        try {
-            drl = BRDRLPersistence.getInstance().marshal( guidedEditor.getRuleModel() );
-
-            IResource resource = ResourceUtil.getResource( xmlEditor.getEditorInput() );
-
-            Reader reader = DSLAdapter.getDSLContent( drl,
-                                                      resource );
-            DrlParser parser = new DrlParser();
-
-            if ( reader != null ) {
-                drl = parser.getExpandedDRL( drl,
-                                             reader );
-            }
-
-        } catch ( Throwable t ) {
-
-            StringWriter strwriter = new StringWriter();
-            t.printStackTrace( new PrintWriter( strwriter ) );
-            drl = "\nPROBLEM WITH THE DRL CONVERSION!\n\n\nDRL:\n" + drl + "\n\nSTACKTRACE:\n" + strwriter.toString();
-        }
-        drlDocument.set( drl );
-    }
-
-    public void doSave(IProgressMonitor monitor) {
-        IDocument document = getInputDocument();
-
-        if ( xmlEditor.isDirty() ) {
-            guidedEditor.setModelXML( document.get() );
-        } else if ( guidedEditor.isDirty() ) {
-            document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
-        }
-
-        xmlEditor.doSave( monitor );
-
-        guidedEditor.getModeller().setDirty( false );
-
-        guidedEditor.refresh();
-
-    }
-
-    private IDocument getInputDocument() {
-        IEditorInput input = getEditorInput();
-        IDocumentProvider docProvider = DocumentProviderRegistry.getDefault().getDocumentProvider( input );
-        IDocument document = docProvider.getDocument( input );
-        return document;
-    }
-
-    public void doSaveAs() {
-        xmlEditor.doSaveAs();
-        guidedEditor.getModeller().setDirty( false );
-        updateName( true );
-        setInput( xmlEditor.getEditorInput() );
-
-        guidedEditor.refresh();
-
-    }
-
-    public boolean isSaveAsAllowed() {
-        return true;
-    }
-
-    public void resourceChanged(final IResourceChangeEvent event) {
-        if ( event.getType() == IResourceChangeEvent.PRE_CLOSE ) {
-            Display.getDefault().asyncExec( new Runnable() {
-                public void run() {
-                    IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
-                    for ( int i = 0; i < pages.length; i++ ) {
-                        if ( ((FileEditorInput) xmlEditor.getEditorInput()).getFile().getProject().equals( event.getResource() ) ) {
-                            IEditorPart editorPart = pages[i].findEditor( xmlEditor.getEditorInput() );
-                            pages[i].closeEditor( editorPart,
-                                                  true );
-                        }
-                    }
-                }
-            } );
-        }
-    }
-
-    public void dispose() {
-        ResourcesPlugin.getWorkspace().removeResourceChangeListener( this );
-        ResourcesPlugin.getWorkspace().removeResourceChangeListener( packageFileTracker );
-        super.dispose();
-    }
-
-    public void dirtyPropertyChanged() {
-        firePropertyChange( IEditorPart.PROP_DIRTY );
-        guidedEditor.refresh();
-    }
-
-    public SuggestionCompletionEngine getCompletionEngine() {
-        return completion;
-    }
-
-    private IResourceDelta getRootDelta(IResourceDelta delta) {
-        if ( delta.getAffectedChildren().length > 0 ) {
-            return getRootDelta( delta.getAffectedChildren()[0] );
-        }
-        return delta;
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,394 @@
+package org.drools.eclipse.rulebuilder.editors;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.server.rules.SuggestionCompletionLoader;
+import org.drools.brms.server.util.BRDRLPersistence;
+import org.drools.brms.server.util.BRXMLPersistence;
+import org.drools.compiler.DrlParser;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.dsl.editor.DSLAdapter;
+import org.drools.eclipse.editors.DRLDocumentProvider;
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.eclipse.util.ProjectClassLoader;
+import org.drools.lang.dsl.DSLMappingFile;
+import org.eclipse.core.internal.resources.Container;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.editors.text.TextEditor;
+import org.eclipse.ui.forms.editor.FormEditor;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.ide.ResourceUtil;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.texteditor.DocumentProviderRegistry;
+import org.eclipse.ui.texteditor.IDocumentProvider;
+
+public class RuleEditor extends FormEditor
+    implements
+    IResourceChangeListener {
+
+    private BrlPage                    guidedEditor;
+
+    private TextEditor                 xmlEditor          = new TextEditor();
+
+    private SuggestionCompletionEngine completion;
+
+    private SuggestionCompletionLoader loader;
+
+    private FileEditorInput            packageEditorInput;
+
+    private final Document             drlDocument;
+
+    private IResourceChangeListener    packageFileTracker = new IResourceChangeListener() {
+
+                                                              public void resourceChanged(IResourceChangeEvent event) {
+                                                                  IResourceDelta delta = getRootDelta( event.getDelta() );
+
+                                                                  IPath p1 = delta.getFullPath();
+                                                                  IPath p2 = packageEditorInput.getFile().getFullPath();
+                                                                  if ( p1.equals( p2 ) ) {
+                                                                      reloadCompletionEngine();
+                                                                  }
+
+                                                              }
+
+                                                          };
+
+    public RuleEditor() {
+        super();
+        ResourcesPlugin.getWorkspace().addResourceChangeListener( this );
+        ResourcesPlugin.getWorkspace().addResourceChangeListener( packageFileTracker,
+                                                                  IResourceChangeEvent.POST_CHANGE );
+        drlDocument = new Document();
+
+    }
+
+    protected FormToolkit createToolkit(Display display) {
+        // Create a toolkit that shares colors between editors.
+        return new FormToolkit( DroolsEclipsePlugin.getDefault().getRuleBuilderFormColors( display ) );
+    }
+
+    protected void addPages() {
+        guidedEditor = new BrlPage( this );
+        try {
+            addPage( guidedEditor );
+            addPage( xmlEditor,
+                     getEditorInput() );
+
+            DRLRuleEditor drlEditor = new DRLRuleEditor() {
+                protected IDocumentProvider createDocumentProvider() {
+                    return new DRLDocumentProvider() {
+                        public boolean isReadOnly(Object element) {
+                            return true;
+                        }
+
+                        public boolean isModifiable(Object element) {
+                            return false;
+                        }
+
+                        protected IDocument getParentDocument(Object element) {
+                            return drlDocument;
+                        }
+                    };
+                }
+
+            };
+
+            addPage( drlEditor,
+                     xmlEditor.getEditorInput() );
+
+            IPath packagePath = getCurrentDirectoryPath( getEditorInput() ).append( "rule.package" );
+
+            IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile( packagePath );
+
+            IJavaProject javaProject = JavaCore.create( file.getProject() );
+
+            ClassLoader classLoader = ProjectClassLoader.getProjectClassLoader( javaProject );
+
+            loader = new SuggestionCompletionLoader( classLoader );
+
+            if ( !file.exists() ) {
+                String defaultHeader = "//This is a package configuration file";
+                defaultHeader += "\n//Add imports, globals etc here which will be used by all the rule assets in thise folder.";
+                InputStream is = new ByteArrayInputStream( defaultHeader.getBytes() );
+                try {
+                    file.create( is,
+                                 true,
+                                 null );
+                } catch ( CoreException e ) {
+                    DroolsEclipsePlugin.log( e );
+                }
+            }
+
+            packageEditorInput = new FileEditorInput( file );
+
+            reloadCompletionEngine();
+
+            setPageText( 1,
+                         "BRL Source" );
+
+            setPageText( 2,
+                         "Generated DRL (read-only)" );
+
+            updateName( false );
+
+        } catch ( PartInitException e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+    }
+
+    private void updateName(boolean forced) {
+        String name = xmlEditor.getTitle();
+        setPartName( name );
+
+        //TODO Add support for other than .brl extensions
+        if ( guidedEditor.getModeller() != null && guidedEditor.getModeller().getModel() != null && (guidedEditor.getModeller().getModel().name == null || forced) ) {
+            String shortName = name.substring( 0,
+                                               name.length() - ".brl".length() );
+            guidedEditor.getModeller().getModel().name = shortName;
+        }
+
+        updateDRLPage();
+
+    }
+
+    private IPath getCurrentDirectoryPath(IEditorInput editorInput) {
+        return ((FileEditorInput) editorInput).getFile().getFullPath().removeLastSegments( 1 ).addTrailingSeparator();
+    }
+
+    private void reloadCompletionEngine() {
+        try {
+
+            // Load all .dsl files from current dir
+            IPath p = (packageEditorInput).getFile().getFullPath().removeLastSegments( 1 );
+
+            Container folder = (Container) ResourcesPlugin.getWorkspace().getRoot().findMember( p,
+                                                                                                false );
+
+            IResource[] files = folder.members( false );
+
+            List dslList = new ArrayList();
+
+            for ( int i = 0; i < files.length; i++ ) {
+                if ( files[i].getName().endsWith( ".dsl" ) ) {
+                    String contents = getFileContents( (IFile) files[i] );
+                    DSLMappingFile dsl = new DSLMappingFile();
+
+                    if ( dsl.parseAndLoad( new StringReader( contents ) ) ) {
+                        dslList.add( dsl );
+                    } else {
+                        //TODO report dsl parse error
+                    }
+                }
+            }
+
+            // Load suggestion engine
+            String str = getFileContents( packageEditorInput.getFile() );
+
+            completion = loader.getSuggestionEngine( str,
+                                                     dslList,
+                                                     dslList );
+
+        } catch ( Exception e ) {
+            DroolsEclipsePlugin.log( e );
+        }
+    }
+
+    private String getFileContents(IFile file) {
+
+        InputStream is;
+        try {
+            is = file.getContents();
+
+            StringBuffer out = new StringBuffer();
+            byte[] b = new byte[4096];
+            for ( int n; (n = is.read( b )) != -1; ) {
+                out.append( new String( b,
+                                        0,
+                                        n ) );
+            }
+
+            return out.toString();
+        } catch ( CoreException e ) {
+            //TODO Report problem with the file loading
+            return "";
+        } catch ( IOException e ) {
+            //TODO Report problem with the file loading
+            return "";
+        }
+
+    }
+
+    public boolean isDirty() {
+        return xmlEditor.isDirty() || guidedEditor.isDirty();
+    }
+
+    protected void pageChange(int newPageIndex) {
+        super.pageChange( newPageIndex );
+
+        IDocument document = getInputDocument();
+
+        if ( newPageIndex == 0 ) {
+
+            boolean newModel = guidedEditor.getModeller().getModel() == null;
+            if ( xmlEditor.isDirty() || newModel ) {
+                guidedEditor.setModelXML( document.get() );
+                if ( newModel ) {
+                    guidedEditor.getModeller().setDirty( false );
+                }
+                updateName( false );
+            }
+
+            guidedEditor.refresh();
+
+        } else if ( newPageIndex == 1 ) {
+
+            if ( guidedEditor.isDirty() ) {
+                document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
+            }
+        } else if ( newPageIndex == 2 ) {
+
+            //Updating main document for proper workflow when page is switched back to "0"
+            if ( guidedEditor.isDirty() ) {
+                document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
+            } else if ( xmlEditor.isDirty() ) {
+                guidedEditor.setModelXML( document.get() );
+            }
+
+            updateDRLPage();
+
+            updateName( false );
+
+        }
+
+    }
+
+    private void updateDRLPage() {
+
+        String drl = "";
+        try {
+            drl = BRDRLPersistence.getInstance().marshal( guidedEditor.getRuleModel() );
+
+            IResource resource = ResourceUtil.getResource( xmlEditor.getEditorInput() );
+
+            Reader reader = DSLAdapter.getDSLContent( drl,
+                                                      resource );
+            DrlParser parser = new DrlParser();
+
+            if ( reader != null ) {
+                drl = parser.getExpandedDRL( drl,
+                                             reader );
+            }
+
+        } catch ( Throwable t ) {
+
+            StringWriter strwriter = new StringWriter();
+            t.printStackTrace( new PrintWriter( strwriter ) );
+            drl = "\nPROBLEM WITH THE DRL CONVERSION!\n\n\nDRL:\n" + drl + "\n\nSTACKTRACE:\n" + strwriter.toString();
+        }
+        drlDocument.set( drl );
+    }
+
+    public void doSave(IProgressMonitor monitor) {
+        IDocument document = getInputDocument();
+
+        if ( xmlEditor.isDirty() ) {
+            guidedEditor.setModelXML( document.get() );
+        } else if ( guidedEditor.isDirty() ) {
+            document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
+        }
+
+        xmlEditor.doSave( monitor );
+
+        guidedEditor.getModeller().setDirty( false );
+
+        guidedEditor.refresh();
+
+    }
+
+    private IDocument getInputDocument() {
+        IEditorInput input = getEditorInput();
+        IDocumentProvider docProvider = DocumentProviderRegistry.getDefault().getDocumentProvider( input );
+        IDocument document = docProvider.getDocument( input );
+        return document;
+    }
+
+    public void doSaveAs() {
+        xmlEditor.doSaveAs();
+        guidedEditor.getModeller().setDirty( false );
+        updateName( true );
+        setInput( xmlEditor.getEditorInput() );
+
+        guidedEditor.refresh();
+
+    }
+
+    public boolean isSaveAsAllowed() {
+        return true;
+    }
+
+    public void resourceChanged(final IResourceChangeEvent event) {
+        if ( event.getType() == IResourceChangeEvent.PRE_CLOSE ) {
+            Display.getDefault().asyncExec( new Runnable() {
+                public void run() {
+                    IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
+                    for ( int i = 0; i < pages.length; i++ ) {
+                        if ( ((FileEditorInput) xmlEditor.getEditorInput()).getFile().getProject().equals( event.getResource() ) ) {
+                            IEditorPart editorPart = pages[i].findEditor( xmlEditor.getEditorInput() );
+                            pages[i].closeEditor( editorPart,
+                                                  true );
+                        }
+                    }
+                }
+            } );
+        }
+    }
+
+    public void dispose() {
+        ResourcesPlugin.getWorkspace().removeResourceChangeListener( this );
+        ResourcesPlugin.getWorkspace().removeResourceChangeListener( packageFileTracker );
+        super.dispose();
+    }
+
+    public void dirtyPropertyChanged() {
+        firePropertyChange( IEditorPart.PROP_DIRTY );
+        guidedEditor.refresh();
+    }
+
+    public SuggestionCompletionEngine getCompletionEngine() {
+        return completion;
+    }
+
+    private IResourceDelta getRootDelta(IResourceDelta delta) {
+        if ( delta.getAffectedChildren().length > 0 ) {
+            return getRootDelta( delta.getAffectedChildren()[0] );
+        }
+        return delta;
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,140 +0,0 @@
-package org.drools.eclipse.rulebuilder.modeldriven;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * This contains some simple mappings between operators, conditional elements
- * and the human readable equivalent.
- *
- * Yes, I am making the presumption that programmers are not human, but I think
- * they (we) are cool with that.
- *
- * @author Michael Neale
- */
-public class HumanReadable {
-
-    public static Map            operatorDisplayMap   = new HashMap();
-
-    public static Map            ceDisplayMap         = new HashMap();
-
-    public static Map            actionDisplayMap     = new HashMap();
-
-    public static final String[] CONDITIONAL_ELEMENTS = new String[]{"not", "exists", "or"};
-
-    static {
-        operatorDisplayMap.put( "==",
-                                "is equal to" );
-        operatorDisplayMap.put( "!=",
-                                "is not equal to" );
-        operatorDisplayMap.put( "<",
-                                "is less than" );
-        operatorDisplayMap.put( "<=",
-                                "less than or equal to" );
-        operatorDisplayMap.put( ">",
-                                "greater than" );
-        operatorDisplayMap.put( ">=",
-                                "greater than or equal to" );
-        operatorDisplayMap.put( "soundslike", "sounds like" );
-
-        operatorDisplayMap.put( "|| ==",
-                                "or equal to" );
-        operatorDisplayMap.put( "|| !=",
-                                "or not equal to" );
-        operatorDisplayMap.put( "&& !=",
-                                "and not equal to" );
-        operatorDisplayMap.put( "&& >",
-                                "and greater than" );
-        operatorDisplayMap.put( "&& <",
-                                "and less than" );
-        operatorDisplayMap.put( "|| >",
-                                "or greater than" );
-        operatorDisplayMap.put( "|| <",
-                                "or less than" );
-
-        operatorDisplayMap.put( "|| >=",
-                                "or greater than (or equal to)" );
-        operatorDisplayMap.put( "|| <=",
-                                "or less than (or equal to)" );
-        operatorDisplayMap.put( "&& >=",
-                                "and greater than (or equal to)" );
-        operatorDisplayMap.put( "&& <=",
-                                "or less than (or equal to)" );
-        operatorDisplayMap.put( "&& contains",
-                                "and contains" );
-        operatorDisplayMap.put( "|| contains",
-                                "or contains" );
-        operatorDisplayMap.put( "&& matches",
-                                "and matches" );
-        operatorDisplayMap.put( "|| matches",
-                                "or matches" );
-        operatorDisplayMap.put( "|| excludes",
-                                "or excludes" );
-        operatorDisplayMap.put( "&& excludes",
-                                "and excludes" );
-
-        ceDisplayMap.put( "not",
-                          "There is no" );
-        ceDisplayMap.put( "exists",
-                          "There exists" );
-        ceDisplayMap.put( "or",
-                          "Any of" );
-
-        actionDisplayMap.put( "assert",
-                              "Insert" );
-        actionDisplayMap.put( "assertLogical",
-                              "Logically insert" );
-        actionDisplayMap.put( "retract",
-                              "Retract" );
-        actionDisplayMap.put( "set",
-                              "Set" );
-        actionDisplayMap.put( "modify",
-                              "Modify" );
-
-    }
-
-    public static String getActionDisplayName(String action) {
-        return lookup( action,
-                       actionDisplayMap );
-    }
-
-    public static String getOperatorDisplayName(String op) {
-        return lookup( op,
-                       operatorDisplayMap );
-    }
-
-    public static String getCEDisplayName(String ce) {
-        return lookup( ce,
-                       ceDisplayMap );
-    }
-
-    private static String lookup(String ce,
-                                 Map map) {
-        if ( map.containsKey( ce ) ) {
-            return (String) map.get( ce );
-        } else {
-            return ce;
-        }
-    }
-
-    /**
-     * get operator by its display name
-     *
-     * @param op
-     *            operator display name
-     * @return operator
-     */
-    public static String getOperatorName(String op) {
-        Set keys = operatorDisplayMap.keySet();
-        for ( Iterator iter = keys.iterator(); iter.hasNext(); ) {
-            String key = (String) iter.next();
-            if ( op.equals( operatorDisplayMap.get( key ) ) ) {
-                return key;
-            }
-        }
-        throw new RuntimeException( "No operator display name '" + op + "' was found." );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/modeldriven/HumanReadable.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,140 @@
+package org.drools.eclipse.rulebuilder.modeldriven;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * This contains some simple mappings between operators, conditional elements
+ * and the human readable equivalent.
+ *
+ * Yes, I am making the presumption that programmers are not human, but I think
+ * they (we) are cool with that.
+ *
+ * @author Michael Neale
+ */
+public class HumanReadable {
+
+    public static Map            operatorDisplayMap   = new HashMap();
+
+    public static Map            ceDisplayMap         = new HashMap();
+
+    public static Map            actionDisplayMap     = new HashMap();
+
+    public static final String[] CONDITIONAL_ELEMENTS = new String[]{"not", "exists", "or"};
+
+    static {
+        operatorDisplayMap.put( "==",
+                                "is equal to" );
+        operatorDisplayMap.put( "!=",
+                                "is not equal to" );
+        operatorDisplayMap.put( "<",
+                                "is less than" );
+        operatorDisplayMap.put( "<=",
+                                "less than or equal to" );
+        operatorDisplayMap.put( ">",
+                                "greater than" );
+        operatorDisplayMap.put( ">=",
+                                "greater than or equal to" );
+        operatorDisplayMap.put( "soundslike", "sounds like" );
+
+        operatorDisplayMap.put( "|| ==",
+                                "or equal to" );
+        operatorDisplayMap.put( "|| !=",
+                                "or not equal to" );
+        operatorDisplayMap.put( "&& !=",
+                                "and not equal to" );
+        operatorDisplayMap.put( "&& >",
+                                "and greater than" );
+        operatorDisplayMap.put( "&& <",
+                                "and less than" );
+        operatorDisplayMap.put( "|| >",
+                                "or greater than" );
+        operatorDisplayMap.put( "|| <",
+                                "or less than" );
+
+        operatorDisplayMap.put( "|| >=",
+                                "or greater than (or equal to)" );
+        operatorDisplayMap.put( "|| <=",
+                                "or less than (or equal to)" );
+        operatorDisplayMap.put( "&& >=",
+                                "and greater than (or equal to)" );
+        operatorDisplayMap.put( "&& <=",
+                                "or less than (or equal to)" );
+        operatorDisplayMap.put( "&& contains",
+                                "and contains" );
+        operatorDisplayMap.put( "|| contains",
+                                "or contains" );
+        operatorDisplayMap.put( "&& matches",
+                                "and matches" );
+        operatorDisplayMap.put( "|| matches",
+                                "or matches" );
+        operatorDisplayMap.put( "|| excludes",
+                                "or excludes" );
+        operatorDisplayMap.put( "&& excludes",
+                                "and excludes" );
+
+        ceDisplayMap.put( "not",
+                          "There is no" );
+        ceDisplayMap.put( "exists",
+                          "There exists" );
+        ceDisplayMap.put( "or",
+                          "Any of" );
+
+        actionDisplayMap.put( "assert",
+                              "Insert" );
+        actionDisplayMap.put( "assertLogical",
+                              "Logically insert" );
+        actionDisplayMap.put( "retract",
+                              "Retract" );
+        actionDisplayMap.put( "set",
+                              "Set" );
+        actionDisplayMap.put( "modify",
+                              "Modify" );
+
+    }
+
+    public static String getActionDisplayName(String action) {
+        return lookup( action,
+                       actionDisplayMap );
+    }
+
+    public static String getOperatorDisplayName(String op) {
+        return lookup( op,
+                       operatorDisplayMap );
+    }
+
+    public static String getCEDisplayName(String ce) {
+        return lookup( ce,
+                       ceDisplayMap );
+    }
+
+    private static String lookup(String ce,
+                                 Map map) {
+        if ( map.containsKey( ce ) ) {
+            return (String) map.get( ce );
+        } else {
+            return ce;
+        }
+    }
+
+    /**
+     * get operator by its display name
+     *
+     * @param op
+     *            operator display name
+     * @return operator
+     */
+    public static String getOperatorName(String op) {
+        Set keys = operatorDisplayMap.keySet();
+        for ( Iterator iter = keys.iterator(); iter.hasNext(); ) {
+            String key = (String) iter.next();
+            if ( op.equals( operatorDisplayMap.get( key ) ) ) {
+                return key;
+            }
+        }
+        throw new RuntimeException( "No operator display name '" + op + "' was found." );
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,172 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
-import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
-import org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;
-import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * 
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class ActionInsertFactWidget extends Widget {
-
-    private final ActionInsertFact fact;
-
-    public ActionInsertFactWidget(FormToolkit toolkit,
-                                  Composite parent,
-                                  RuleModeller mod,
-                                  ActionInsertFact fact,
-                                  int index) {
-        super( parent,
-               toolkit,
-               mod,
-               index );
-
-        this.fact = fact;
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 4;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        l.verticalSpacing = 0;
-        parent.setLayout( l );
-
-        create();
-    }
-
-    private void create() {
-
-        String assertType = "assert";
-        if ( fact instanceof ActionInsertLogicalFact ) {
-            assertType = "assertLogical";
-        }
-
-        toolkit.createLabel( parent,
-                             HumanReadable.getActionDisplayName( assertType ) + " " + this.fact.factType );
-        addDeleteRHSAction();
-        addMoreOptionsAction();
-        Composite constraintComposite = toolkit.createComposite( parent );
-        GridLayout constraintLayout = new GridLayout();
-        constraintLayout.numColumns = 3;
-        constraintComposite.setLayout( constraintLayout );
-        createConstraintRows( constraintComposite );
-        toolkit.paintBordersFor( constraintComposite );
-    }
-
-    private void addMoreOptionsAction() {
-        final Shell shell = new Shell( Display.getCurrent() );
-        ImageHyperlink link = addImage( parent,
-                                        "icons/new_item.gif" );
-
-        link.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                RuleDialog popup = new AddNewInsertedFactFieldDialog( shell,
-                                                                      getModeller(),
-                                                                      fact );
-                popup.open();
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        link.setToolTipText( "Add another field to this so you can set its value" );
-    }
-
-    private void createConstraintRows(Composite constraintComposite) {
-        for ( int row = 0; row < fact.fieldValues.length; row++ ) {
-            ActionFieldValue val = fact.fieldValues[row];
-            toolkit.createLabel( constraintComposite,
-                                 val.field );
-            valueEditor( constraintComposite,
-                         val );
-            addRemoveFieldAction( constraintComposite,
-                                  row );
-        }
-    }
-
-    private void addRemoveFieldAction(Composite constraintComposite,
-                                      final int row) {
-        ImageHyperlink delLink = addImage( constraintComposite,
-                                           "icons/delete_item_small.gif" );
-        delLink.setToolTipText( "Remove this field action" );
-
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this item?" );
-                dialog.setText( "Remove this item?" );
-                if ( dialog.open() == SWT.YES ) {
-                    fact.removeField( row );
-                    getModeller().setDirty( true );
-                    getModeller().reloadRhs();
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-    }
-
-    private void valueEditor(Composite parent,
-                             final ActionFieldValue val) {
-        final Text box = toolkit.createText( parent,
-                                             "" );
-
-        if ( val.value != null ) {
-            box.setText( val.value );
-        }
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.grabExcessHorizontalSpace = true;
-        gd.minimumWidth = 100;
-        box.setLayoutData( gd );
-
-        box.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                getModeller().setDirty( true );
-                val.value = box.getText();
-            }
-        } );
-
-        if (val.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
-        	new NumericKeyFilter(box);
-        } 
-        
-        
-    }
-
-    public SuggestionCompletionEngine getCompletion() {
-        return getModeller().getSuggestionCompletionEngine();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionInsertFactWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,172 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
+import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
+import org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;
+import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+/**
+ * 
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class ActionInsertFactWidget extends Widget {
+
+    private final ActionInsertFact fact;
+
+    public ActionInsertFactWidget(FormToolkit toolkit,
+                                  Composite parent,
+                                  RuleModeller mod,
+                                  ActionInsertFact fact,
+                                  int index) {
+        super( parent,
+               toolkit,
+               mod,
+               index );
+
+        this.fact = fact;
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 4;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        l.verticalSpacing = 0;
+        parent.setLayout( l );
+
+        create();
+    }
+
+    private void create() {
+
+        String assertType = "assert";
+        if ( fact instanceof ActionInsertLogicalFact ) {
+            assertType = "assertLogical";
+        }
+
+        toolkit.createLabel( parent,
+                             HumanReadable.getActionDisplayName( assertType ) + " " + this.fact.factType );
+        addDeleteRHSAction();
+        addMoreOptionsAction();
+        Composite constraintComposite = toolkit.createComposite( parent );
+        GridLayout constraintLayout = new GridLayout();
+        constraintLayout.numColumns = 3;
+        constraintComposite.setLayout( constraintLayout );
+        createConstraintRows( constraintComposite );
+        toolkit.paintBordersFor( constraintComposite );
+    }
+
+    private void addMoreOptionsAction() {
+        final Shell shell = new Shell( Display.getCurrent() );
+        ImageHyperlink link = addImage( parent,
+                                        "icons/new_item.gif" );
+
+        link.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                RuleDialog popup = new AddNewInsertedFactFieldDialog( shell,
+                                                                      getModeller(),
+                                                                      fact );
+                popup.open();
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        link.setToolTipText( "Add another field to this so you can set its value" );
+    }
+
+    private void createConstraintRows(Composite constraintComposite) {
+        for ( int row = 0; row < fact.fieldValues.length; row++ ) {
+            ActionFieldValue val = fact.fieldValues[row];
+            toolkit.createLabel( constraintComposite,
+                                 val.field );
+            valueEditor( constraintComposite,
+                         val );
+            addRemoveFieldAction( constraintComposite,
+                                  row );
+        }
+    }
+
+    private void addRemoveFieldAction(Composite constraintComposite,
+                                      final int row) {
+        ImageHyperlink delLink = addImage( constraintComposite,
+                                           "icons/delete_item_small.gif" );
+        delLink.setToolTipText( "Remove this field action" );
+
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this item?" );
+                dialog.setText( "Remove this item?" );
+                if ( dialog.open() == SWT.YES ) {
+                    fact.removeField( row );
+                    getModeller().setDirty( true );
+                    getModeller().reloadRhs();
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+    }
+
+    private void valueEditor(Composite parent,
+                             final ActionFieldValue val) {
+        final Text box = toolkit.createText( parent,
+                                             "" );
+
+        if ( val.value != null ) {
+            box.setText( val.value );
+        }
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.grabExcessHorizontalSpace = true;
+        gd.minimumWidth = 100;
+        box.setLayoutData( gd );
+
+        box.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                getModeller().setDirty( true );
+                val.value = box.getText();
+            }
+        } );
+
+        if (val.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
+        	new NumericKeyFilter(box);
+        } 
+        
+        
+    }
+
+    public SuggestionCompletionEngine getCompletion() {
+        return getModeller().getSuggestionCompletionEngine();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,53 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
-import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * 
- * @author Anton Arhipov
- *
- */
-public class ActionRetractFactWidget extends Widget {
-
-    private final ActionRetractFact fact;
-
-    public ActionRetractFactWidget(FormToolkit toolkit,
-                                   Composite parent,
-                                   RuleModeller modeller,
-                                   ActionRetractFact fact,
-                                   int index) {
-
-        super( parent,
-               toolkit,
-               modeller,
-               index );
-
-        this.fact = fact;
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 4;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        l.verticalSpacing = 0;
-        parent.setLayout( l );
-
-        create();
-    }
-
-    private void create() {
-        toolkit.createLabel( parent,
-                             HumanReadable.getActionDisplayName( "retract" ) );
-        toolkit.createLabel( parent,
-                             "[" + fact.variableName + "]" );
-        addDeleteRHSAction();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionRetractFactWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,53 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
+import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+/**
+ * 
+ * @author Anton Arhipov
+ *
+ */
+public class ActionRetractFactWidget extends Widget {
+
+    private final ActionRetractFact fact;
+
+    public ActionRetractFactWidget(FormToolkit toolkit,
+                                   Composite parent,
+                                   RuleModeller modeller,
+                                   ActionRetractFact fact,
+                                   int index) {
+
+        super( parent,
+               toolkit,
+               modeller,
+               index );
+
+        this.fact = fact;
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 4;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        l.verticalSpacing = 0;
+        parent.setLayout( l );
+
+        create();
+    }
+
+    private void create() {
+        toolkit.createLabel( parent,
+                             HumanReadable.getActionDisplayName( "retract" ) );
+        toolkit.createLabel( parent,
+                             "[" + fact.variableName + "]" );
+        addDeleteRHSAction();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,84 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
-import org.drools.brms.client.modeldriven.brl.ActionSetField;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class ActionSetFieldDialog extends RuleDialog {
-
-    private String[]       fieldCompletions;
-
-    private RuleModeller   modeller;
-
-    private ActionSetField field;
-
-    private String         variableClass;
-
-    public ActionSetFieldDialog(Shell parent,
-                                RuleModeller modeller,
-                                ActionSetField field,
-                                String[] fieldCompletions,
-                                String variableClass) {
-        super( parent,
-               "Add a field",
-               "Add a field" );
-
-        this.fieldCompletions = fieldCompletions;
-        this.modeller = modeller;
-        this.field = field;
-        this.variableClass = variableClass;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-        createLabel( composite,
-                     "Add a field" );
-
-        final Combo fieldsCombo = new Combo( parent,
-                                             SWT.READ_ONLY );
-        fieldsCombo.add( "Choose field..." );
-        for ( int i = 0; i < fieldCompletions.length; i++ ) {
-            fieldsCombo.add( fieldCompletions[i] );
-        }
-        fieldsCombo.select( 0 );
-
-        fieldsCombo.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                if ( fieldsCombo.getSelectionIndex() == 0 ) {
-                    return; // no need to change anything
-                }
-
-                String fieldType = modeller.getSuggestionCompletionEngine().getFieldType( variableClass,
-                                                                                          fieldsCombo.getText() );
-                field.addFieldValue( new ActionFieldValue( fieldsCombo.getText(),
-                                                           "",
-                                                           fieldType ) );
-
-                
-                getShell().getDisplay().asyncExec( new Runnable() {
-
-                    public void run() {
-                        modeller.reloadRhs();
-                        modeller.setDirty( true );
-                        close();
-                    }
-
-                } );
-            }
-        } );
-
-        return composite;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,84 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
+import org.drools.brms.client.modeldriven.brl.ActionSetField;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class ActionSetFieldDialog extends RuleDialog {
+
+    private String[]       fieldCompletions;
+
+    private RuleModeller   modeller;
+
+    private ActionSetField field;
+
+    private String         variableClass;
+
+    public ActionSetFieldDialog(Shell parent,
+                                RuleModeller modeller,
+                                ActionSetField field,
+                                String[] fieldCompletions,
+                                String variableClass) {
+        super( parent,
+               "Add a field",
+               "Add a field" );
+
+        this.fieldCompletions = fieldCompletions;
+        this.modeller = modeller;
+        this.field = field;
+        this.variableClass = variableClass;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+        createLabel( composite,
+                     "Add a field" );
+
+        final Combo fieldsCombo = new Combo( parent,
+                                             SWT.READ_ONLY );
+        fieldsCombo.add( "Choose field..." );
+        for ( int i = 0; i < fieldCompletions.length; i++ ) {
+            fieldsCombo.add( fieldCompletions[i] );
+        }
+        fieldsCombo.select( 0 );
+
+        fieldsCombo.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                if ( fieldsCombo.getSelectionIndex() == 0 ) {
+                    return; // no need to change anything
+                }
+
+                String fieldType = modeller.getSuggestionCompletionEngine().getFieldType( variableClass,
+                                                                                          fieldsCombo.getText() );
+                field.addFieldValue( new ActionFieldValue( fieldsCombo.getText(),
+                                                           "",
+                                                           fieldType ) );
+
+                
+                getShell().getDisplay().asyncExec( new Runnable() {
+
+                    public void run() {
+                        modeller.reloadRhs();
+                        modeller.setDirty( true );
+                        close();
+                    }
+
+                } );
+            }
+        } );
+
+        return composite;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,181 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
-import org.drools.brms.client.modeldriven.brl.ActionSetField;
-import org.drools.brms.client.modeldriven.brl.ActionUpdateField;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.RuleModel;
-import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * @author Anton Arhipov
- * @author Ahti Kitsik
- *
- */
-public class ActionSetFieldWidget extends Widget {
-
-	private ActionSetField set;
-
-	final private String[] fieldCompletions;
-
-	private boolean isBoundFact = false;
-
-	private String variableClass;
-
-	public ActionSetFieldWidget(FormToolkit toolkit, Composite parent,
-			RuleModeller mod, RuleModel rule, ActionSetField set, int index) {
-
-		super(parent, toolkit, mod, index);
-
-		this.set = set;
-
-		if (getCompletion().isGlobalVariable(set.variable)) {
-			this.fieldCompletions = getCompletion()
-					.getFieldCompletionsForGlobalVariable(set.variable);
-			this.variableClass = (String) getCompletion().globalTypes
-					.get(set.variable);
-		} else {
-			FactPattern pattern = rule.getBoundFact(set.variable);
-			this.fieldCompletions = getCompletion().getFieldCompletions(
-					pattern.factType);
-			this.isBoundFact = true;
-			this.variableClass = pattern.factType;
-		}
-
-		GridLayout l = new GridLayout();
-		l.numColumns = 6;
-		l.marginBottom = 0;
-		l.marginHeight = 0;
-		l.marginLeft = 0;
-		l.marginRight = 0;
-		l.marginTop = 0;
-		l.marginWidth = 0;
-		l.verticalSpacing = 0;
-		parent.setLayout(l);
-
-		create();
-
-	}
-
-	private void create() {
-		String modifyType = "set";
-		if (this.set instanceof ActionUpdateField) {
-			modifyType = "modify";
-		}
-
-		toolkit.createLabel(parent, HumanReadable
-				.getActionDisplayName(modifyType)
-				+ " [" + this.set.variable + "]");
-		addDeleteRHSAction();
-		addMoreOptionsAction();
-		addRows();
-	}
-
-	private void addRows() {
-		Composite constraintComposite = toolkit.createComposite(parent);
-		GridLayout constraintLayout = new GridLayout();
-		constraintLayout.numColumns = 3;
-		constraintComposite.setLayout(constraintLayout);
-
-		for (int i = 0; i < set.fieldValues.length; i++) {
-			ActionFieldValue val = set.fieldValues[i];
-			toolkit.createLabel(constraintComposite, val.field);
-			valueEditor(constraintComposite, val);
-			addRemoveFieldAction(constraintComposite, i);
-		}
-
-		toolkit.paintBordersFor(constraintComposite);
-	}
-
-	private void addMoreOptionsAction() {
-		// ImageHyperlink link = addImage(parent,
-		// "icons/add_field_to_fact.gif");
-		ImageHyperlink link = addImage(parent, "icons/new_item.gif");
-
-		link.addHyperlinkListener(new IHyperlinkListener() {
-			public void linkActivated(HyperlinkEvent e) {
-				RuleDialog popup = new ActionSetFieldDialog(parent.getShell(),
-						getModeller(), set, fieldCompletions, variableClass);
-				popup.open();
-
-			}
-
-			public void linkEntered(HyperlinkEvent e) {
-			}
-
-			public void linkExited(HyperlinkEvent e) {
-			}
-		});
-		link.setToolTipText("Add a field");
-	}
-
-	private void addRemoveFieldAction(Composite constraintComposite,
-			final int currentRow) {
-		ImageHyperlink delLink = addImage(constraintComposite,
-				"icons/delete_item_small.gif");
-		delLink.setToolTipText("Remove this field action");
-		delLink.addHyperlinkListener(new IHyperlinkListener() {
-			public void linkActivated(HyperlinkEvent e) {
-				MessageBox dialog = new MessageBox(Display.getCurrent()
-						.getActiveShell(), SWT.YES | SWT.NO | SWT.ICON_WARNING);
-				dialog.setMessage("Remove this item?");
-				dialog.setText("Remove this item?");
-				if (dialog.open() == SWT.YES) {
-					set.removeField(currentRow);
-					getModeller().setDirty(true);
-					getModeller().reloadRhs();
-				}
-			}
-
-			public void linkEntered(HyperlinkEvent e) {
-			}
-
-			public void linkExited(HyperlinkEvent e) {
-			}
-		});
-	}
-
-	private void valueEditor(Composite parent, final ActionFieldValue val) {
-		final Text box = toolkit.createText(parent, "");
-
-		if (val.value != null) {
-			box.setText(val.value);
-		}
-
-		GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.grabExcessHorizontalSpace = true;
-        gd.minimumWidth = 100;
-        box.setLayoutData( gd );
-
-		box.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				val.value = box.getText();
-				getModeller().setDirty(true);
-			}
-		});
-
-		if (val.type.equals(SuggestionCompletionEngine.TYPE_NUMERIC)) {
-			new NumericKeyFilter(box);
-		}
-
-	}
-
-	private SuggestionCompletionEngine getCompletion() {
-		return getModeller().getSuggestionCompletionEngine();
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ActionSetFieldWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,181 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
+import org.drools.brms.client.modeldriven.brl.ActionSetField;
+import org.drools.brms.client.modeldriven.brl.ActionUpdateField;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.RuleModel;
+import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+/**
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ *
+ */
+public class ActionSetFieldWidget extends Widget {
+
+	private ActionSetField set;
+
+	final private String[] fieldCompletions;
+
+	private boolean isBoundFact = false;
+
+	private String variableClass;
+
+	public ActionSetFieldWidget(FormToolkit toolkit, Composite parent,
+			RuleModeller mod, RuleModel rule, ActionSetField set, int index) {
+
+		super(parent, toolkit, mod, index);
+
+		this.set = set;
+
+		if (getCompletion().isGlobalVariable(set.variable)) {
+			this.fieldCompletions = getCompletion()
+					.getFieldCompletionsForGlobalVariable(set.variable);
+			this.variableClass = (String) getCompletion().globalTypes
+					.get(set.variable);
+		} else {
+			FactPattern pattern = rule.getBoundFact(set.variable);
+			this.fieldCompletions = getCompletion().getFieldCompletions(
+					pattern.factType);
+			this.isBoundFact = true;
+			this.variableClass = pattern.factType;
+		}
+
+		GridLayout l = new GridLayout();
+		l.numColumns = 6;
+		l.marginBottom = 0;
+		l.marginHeight = 0;
+		l.marginLeft = 0;
+		l.marginRight = 0;
+		l.marginTop = 0;
+		l.marginWidth = 0;
+		l.verticalSpacing = 0;
+		parent.setLayout(l);
+
+		create();
+
+	}
+
+	private void create() {
+		String modifyType = "set";
+		if (this.set instanceof ActionUpdateField) {
+			modifyType = "modify";
+		}
+
+		toolkit.createLabel(parent, HumanReadable
+				.getActionDisplayName(modifyType)
+				+ " [" + this.set.variable + "]");
+		addDeleteRHSAction();
+		addMoreOptionsAction();
+		addRows();
+	}
+
+	private void addRows() {
+		Composite constraintComposite = toolkit.createComposite(parent);
+		GridLayout constraintLayout = new GridLayout();
+		constraintLayout.numColumns = 3;
+		constraintComposite.setLayout(constraintLayout);
+
+		for (int i = 0; i < set.fieldValues.length; i++) {
+			ActionFieldValue val = set.fieldValues[i];
+			toolkit.createLabel(constraintComposite, val.field);
+			valueEditor(constraintComposite, val);
+			addRemoveFieldAction(constraintComposite, i);
+		}
+
+		toolkit.paintBordersFor(constraintComposite);
+	}
+
+	private void addMoreOptionsAction() {
+		// ImageHyperlink link = addImage(parent,
+		// "icons/add_field_to_fact.gif");
+		ImageHyperlink link = addImage(parent, "icons/new_item.gif");
+
+		link.addHyperlinkListener(new IHyperlinkListener() {
+			public void linkActivated(HyperlinkEvent e) {
+				RuleDialog popup = new ActionSetFieldDialog(parent.getShell(),
+						getModeller(), set, fieldCompletions, variableClass);
+				popup.open();
+
+			}
+
+			public void linkEntered(HyperlinkEvent e) {
+			}
+
+			public void linkExited(HyperlinkEvent e) {
+			}
+		});
+		link.setToolTipText("Add a field");
+	}
+
+	private void addRemoveFieldAction(Composite constraintComposite,
+			final int currentRow) {
+		ImageHyperlink delLink = addImage(constraintComposite,
+				"icons/delete_item_small.gif");
+		delLink.setToolTipText("Remove this field action");
+		delLink.addHyperlinkListener(new IHyperlinkListener() {
+			public void linkActivated(HyperlinkEvent e) {
+				MessageBox dialog = new MessageBox(Display.getCurrent()
+						.getActiveShell(), SWT.YES | SWT.NO | SWT.ICON_WARNING);
+				dialog.setMessage("Remove this item?");
+				dialog.setText("Remove this item?");
+				if (dialog.open() == SWT.YES) {
+					set.removeField(currentRow);
+					getModeller().setDirty(true);
+					getModeller().reloadRhs();
+				}
+			}
+
+			public void linkEntered(HyperlinkEvent e) {
+			}
+
+			public void linkExited(HyperlinkEvent e) {
+			}
+		});
+	}
+
+	private void valueEditor(Composite parent, final ActionFieldValue val) {
+		final Text box = toolkit.createText(parent, "");
+
+		if (val.value != null) {
+			box.setText(val.value);
+		}
+
+		GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.grabExcessHorizontalSpace = true;
+        gd.minimumWidth = 100;
+        box.setLayoutData( gd );
+
+		box.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				val.value = box.getText();
+				getModeller().setDirty(true);
+			}
+		});
+
+		if (val.type.equals(SuggestionCompletionEngine.TYPE_NUMERIC)) {
+			new NumericKeyFilter(box);
+		}
+
+	}
+
+	private SuggestionCompletionEngine getCompletion() {
+		return getModeller().getSuggestionCompletionEngine();
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,125 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-public class AddCompositeConstraintOptionDialog extends RuleDialog {
-
-    private RuleModeller                   modeller;
-
-    private FactPattern                    pattern;
-
-    private final CompositeFieldConstraint constraint;
-
-    public AddCompositeConstraintOptionDialog(Shell parent,
-                                              RuleModeller modeller,
-                                              CompositeFieldConstraint constraint,
-                                              FactPattern pattern) {
-        super( parent,
-               "Add fields to this constriant",
-               "Pick the value from combo." );
-
-        this.modeller = modeller;
-        this.constraint = constraint;
-        this.pattern = pattern;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 3;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        composite.setLayout( l );
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.horizontalSpan = 2;
-
-        createFieldRestrictionCombo( composite,
-                                     gd );
-        createMultiFieldCombo( composite,
-                               gd );
-
-        return composite;
-    }
-
-    private void createFieldRestrictionCombo(Composite composite,
-                                             GridData gd) {
-        createLabel( composite,
-                     "Add a restriction on a field" );
-        final Combo combo = new Combo( composite,
-                                       SWT.READ_ONLY );
-        combo.setLayoutData( gd );
-        combo.add( "..." );
-        String[] fields = this.modeller.getSuggestionCompletionEngine().getFieldCompletions( this.pattern.factType );
-        for ( int i = 0; i < fields.length; i++ ) {
-            combo.add( fields[i] );
-        }
-        combo.select( 0 );
-
-        combo.addListener( SWT.Selection,
-                           new Listener() {
-                               public void handleEvent(Event event) {
-                                   if ( combo.getSelectionIndex() == 0 ) {
-                                       return;
-                                   }
-
-                                   constraint.addConstraint( new SingleFieldConstraint( combo.getText() ) );
-                                   modeller.setDirty( true );
-                                   modeller.reloadLhs();
-                                   close();
-                               }
-                           } );
-
-    }
-
-    private void createMultiFieldCombo(Composite composite,
-                                       GridData gd) {
-        createLabel( composite,
-                     "Multiple field constraint" );
-        final Combo combo = new Combo( composite,
-                                       SWT.READ_ONLY );
-        combo.setLayoutData( gd );
-        combo.add( "..." );
-        combo.add( "All of (And)" );
-        combo.add( "Any of (Or)" );
-        combo.setData( "All of (And)",
-                       CompositeFieldConstraint.COMPOSITE_TYPE_AND );
-        combo.setData( "Any of (Or)",
-                       CompositeFieldConstraint.COMPOSITE_TYPE_OR );
-        combo.select( 0 );
-
-        combo.addListener( SWT.Selection,
-                           new Listener() {
-                               public void handleEvent(Event event) {
-                                   if ( combo.getSelectionIndex() == 0 ) {
-                                       return;
-                                   }
-                                   CompositeFieldConstraint comp = new CompositeFieldConstraint();
-                                   comp.compositeJunctionType = combo.getText();
-                                   constraint.addConstraint( comp );
-
-                                   modeller.reloadLhs();
-                                   modeller.setDirty( true );
-                                   close();
-                               }
-                           } );
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,125 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+public class AddCompositeConstraintOptionDialog extends RuleDialog {
+
+    private RuleModeller                   modeller;
+
+    private FactPattern                    pattern;
+
+    private final CompositeFieldConstraint constraint;
+
+    public AddCompositeConstraintOptionDialog(Shell parent,
+                                              RuleModeller modeller,
+                                              CompositeFieldConstraint constraint,
+                                              FactPattern pattern) {
+        super( parent,
+               "Add fields to this constriant",
+               "Pick the value from combo." );
+
+        this.modeller = modeller;
+        this.constraint = constraint;
+        this.pattern = pattern;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 3;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        composite.setLayout( l );
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.horizontalSpan = 2;
+
+        createFieldRestrictionCombo( composite,
+                                     gd );
+        createMultiFieldCombo( composite,
+                               gd );
+
+        return composite;
+    }
+
+    private void createFieldRestrictionCombo(Composite composite,
+                                             GridData gd) {
+        createLabel( composite,
+                     "Add a restriction on a field" );
+        final Combo combo = new Combo( composite,
+                                       SWT.READ_ONLY );
+        combo.setLayoutData( gd );
+        combo.add( "..." );
+        String[] fields = this.modeller.getSuggestionCompletionEngine().getFieldCompletions( this.pattern.factType );
+        for ( int i = 0; i < fields.length; i++ ) {
+            combo.add( fields[i] );
+        }
+        combo.select( 0 );
+
+        combo.addListener( SWT.Selection,
+                           new Listener() {
+                               public void handleEvent(Event event) {
+                                   if ( combo.getSelectionIndex() == 0 ) {
+                                       return;
+                                   }
+
+                                   constraint.addConstraint( new SingleFieldConstraint( combo.getText() ) );
+                                   modeller.setDirty( true );
+                                   modeller.reloadLhs();
+                                   close();
+                               }
+                           } );
+
+    }
+
+    private void createMultiFieldCombo(Composite composite,
+                                       GridData gd) {
+        createLabel( composite,
+                     "Multiple field constraint" );
+        final Combo combo = new Combo( composite,
+                                       SWT.READ_ONLY );
+        combo.setLayoutData( gd );
+        combo.add( "..." );
+        combo.add( "All of (And)" );
+        combo.add( "Any of (Or)" );
+        combo.setData( "All of (And)",
+                       CompositeFieldConstraint.COMPOSITE_TYPE_AND );
+        combo.setData( "Any of (Or)",
+                       CompositeFieldConstraint.COMPOSITE_TYPE_OR );
+        combo.select( 0 );
+
+        combo.addListener( SWT.Selection,
+                           new Listener() {
+                               public void handleEvent(Event event) {
+                                   if ( combo.getSelectionIndex() == 0 ) {
+                                       return;
+                                   }
+                                   CompositeFieldConstraint comp = new CompositeFieldConstraint();
+                                   comp.compositeJunctionType = combo.getText();
+                                   constraint.addConstraint( comp );
+
+                                   modeller.reloadLhs();
+                                   modeller.setDirty( true );
+                                   close();
+                               }
+                           } );
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,263 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
-import org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;
-import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
-import org.drools.brms.client.modeldriven.brl.ActionSetField;
-import org.drools.brms.client.modeldriven.brl.ActionUpdateField;
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * This provides a popup for new RHS action selection.
- *
- * @author Anton Arhipov
- * @author Ahti Kitsik
- */
-public class AddNewActionDialog extends RuleDialog {
-
-    private RuleModeller      modeller;
-
-    public AddNewActionDialog(Shell parent,
-                              RuleModeller modeller) {
-        super( parent,
-               "Add a new action",
-               "Pick the values from combos and confirm the selection." );
-        this.modeller = modeller;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-        String heading = "Choose...";
-
-        createValuesOfFieldPart( composite,
-                                   heading );
-
-        createModifyFieldPart( composite,
-                                 heading );
-
-        createRetractFieldPart(composite, heading);
-
-
-        String[] facts = getCompletion().getFactTypes();
-
-        createFactAssertionPart( composite,
-                                 heading,
-                                 facts );
-
-        createFactLogicalAssertionPart( composite,
-                                        heading,
-                                        facts );
-
-        createDslSentences( composite,
-                            heading );
-
-        return composite;
-    }
-
-    private void createRetractFieldPart(Composite composite, String heading) {
-    	createLabel( composite, "Retract the fact" );
-
-    	final Combo factsCombo = new Combo( composite, SWT.READ_ONLY );
-
-    	factsCombo.add( heading );
-
-    	List boundFacts = modeller.getModel().getBoundFacts();
-
-        for ( int i = 0; i < boundFacts.size(); i++ ) {
-            factsCombo.add( (String) boundFacts.get( i ) );
-        }
-        factsCombo.select( 0 );
-
-        factsCombo.addListener( SWT.Selection,
-                new Listener() {
-                    public void handleEvent(Event event) {
-                        if ( factsCombo.getSelectionIndex() == 0 ) {
-                            return;
-                        }
-
-                        modeller.getModel().addRhsItem( new ActionRetractFact(factsCombo.getText()) );
-
-                        modeller.setDirty( true );
-                        modeller.reloadRhs();
-                        close();
-                    }
-                } );
-
-	}
-
-	private void createModifyFieldPart(Composite composite,
-                                       String heading) {
-        createLabel( composite,
-                     "Modify a field on a fact" );
-        final Combo factsCombo = new Combo( composite,
-                                                 SWT.READ_ONLY );
-        factsCombo.add( heading );
-
-        List boundFacts = modeller.getModel().getBoundFacts();
-
-        for ( int i = 0; i < boundFacts.size(); i++ ) {
-            factsCombo.add( (String) boundFacts.get( i ) );
-        }
-        factsCombo.select( 0 );
-
-        factsCombo.addListener( SWT.Selection,
-                                     new Listener() {
-                                         public void handleEvent(Event event) {
-                                             if ( factsCombo.getSelectionIndex() == 0 ) {
-                                                 return;
-                                             }
-
-                                             modeller.getModel().addRhsItem(new ActionUpdateField(factsCombo.getText()));
-
-                                             modeller.setDirty( true );
-                                             modeller.reloadRhs();
-                                             close();
-                                         }
-                                     } );
-
-    }
-
-    private void createDslSentences(Composite composite,
-                                    String heading) {
-        if ( getCompletion().getDSLActions().length > 0 ) {
-            createLabel( composite,
-                         "Actions" );
-
-            final Combo dslCombo = new Combo( composite,
-                                              SWT.READ_ONLY );
-            dslCombo.add( heading );
-            for ( int i = 0; i < getCompletion().getDSLActions().length; i++ ) {
-                DSLSentence sen = getCompletion().getDSLActions()[i];
-                dslCombo.add( sen.toString() );
-            }
-
-            dslCombo.select( 0 );
-
-            dslCombo.addListener( SWT.Selection,
-                                  new Listener() {
-                                      public void handleEvent(Event event) {
-                                          if ( dslCombo.getSelectionIndex() == 0 ) {
-                                              return;
-                                          }
-
-                                          DSLSentence sentence = getCompletion().getDSLActions()[dslCombo.getSelectionIndex() - 1];
-										  modeller.getModel().addRhsItem( sentence.copy() );
-                                          modeller.setDirty( true );
-                                          modeller.reloadRhs();
-                                          close();
-                                      }
-                                  } );
-
-        }
-    }
-
-    private void createFactLogicalAssertionPart(Composite composite,
-                                                String heading,
-                                                String[] facts) {
-        createLabel( composite,
-                     "Logically insert a new fact" );
-        final Combo factsCombo = createFactsCombo( composite,
-                                                   heading,
-                                                   facts );
-        factsCombo.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-
-                                        if ( factsCombo.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-
-                                        modeller.getModel().addRhsItem( new ActionInsertLogicalFact( factsCombo.getText() ) );
-                                        modeller.setDirty( true );
-                                        modeller.reloadRhs();
-                                        close();
-                                    }
-                                } );
-    }
-
-    private void createFactAssertionPart(Composite composite,
-                                         String heading,
-                                         String[] facts) {
-        createLabel( composite,
-                     "Assert a new fact" );
-        final Combo factsCombo = createFactsCombo( composite,
-                                                   heading,
-                                                   facts );
-        factsCombo.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-                                        if ( factsCombo.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-
-                                        modeller.getModel().addRhsItem( new ActionInsertFact( factsCombo.getText() ) );
-                                        modeller.setDirty( true );
-                                        modeller.reloadRhs();
-                                        close();
-                                    }
-                                } );
-    }
-
-    private Combo createFactsCombo(Composite composite,
-                                   String heading,
-                                   String[] facts) {
-        Combo factsCombo = new Combo( composite,
-                                      SWT.READ_ONLY );
-        factsCombo.add( heading );
-        for ( int i = 0; i < facts.length; i++ ) {
-            factsCombo.add( facts[i] );
-        }
-        factsCombo.select( 0 );
-        return factsCombo;
-    }
-
-    private void createValuesOfFieldPart(Composite composite,
-                                           String heading) {
-        createLabel( composite,
-                     "Set the values of a field on" );
-        final Combo globalVarsCombo = new Combo( composite,
-                                                 SWT.READ_ONLY );
-        globalVarsCombo.add( heading );
-
-        List boundFacts = modeller.getModel().getBoundFacts();
-
-        //adding globals
-        String[] globals = modeller.getSuggestionCompletionEngine().getGlobalVariables();
-        boundFacts.addAll(Arrays.asList(globals));
-
-        for ( int i = 0; i < boundFacts.size(); i++ ) {
-            globalVarsCombo.add( (String) boundFacts.get( i ) );
-        }
-        globalVarsCombo.select( 0 );
-
-        globalVarsCombo.addListener( SWT.Selection,
-                                     new Listener() {
-                                         public void handleEvent(Event event) {
-                                             if ( globalVarsCombo.getSelectionIndex() == 0 ) {
-                                                 return;
-                                             }
-
-                                             modeller.getModel().addRhsItem( new ActionSetField( globalVarsCombo.getText() ) );
-                                             modeller.setDirty( true );
-                                             modeller.reloadRhs();
-                                             close();
-                                         }
-                                     } );
-    }
-
-    public SuggestionCompletionEngine getCompletion() {
-        return modeller.getSuggestionCompletionEngine();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewActionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,263 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
+import org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;
+import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
+import org.drools.brms.client.modeldriven.brl.ActionSetField;
+import org.drools.brms.client.modeldriven.brl.ActionUpdateField;
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * This provides a popup for new RHS action selection.
+ *
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ */
+public class AddNewActionDialog extends RuleDialog {
+
+    private RuleModeller      modeller;
+
+    public AddNewActionDialog(Shell parent,
+                              RuleModeller modeller) {
+        super( parent,
+               "Add a new action",
+               "Pick the values from combos and confirm the selection." );
+        this.modeller = modeller;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+        String heading = "Choose...";
+
+        createValuesOfFieldPart( composite,
+                                   heading );
+
+        createModifyFieldPart( composite,
+                                 heading );
+
+        createRetractFieldPart(composite, heading);
+
+
+        String[] facts = getCompletion().getFactTypes();
+
+        createFactAssertionPart( composite,
+                                 heading,
+                                 facts );
+
+        createFactLogicalAssertionPart( composite,
+                                        heading,
+                                        facts );
+
+        createDslSentences( composite,
+                            heading );
+
+        return composite;
+    }
+
+    private void createRetractFieldPart(Composite composite, String heading) {
+    	createLabel( composite, "Retract the fact" );
+
+    	final Combo factsCombo = new Combo( composite, SWT.READ_ONLY );
+
+    	factsCombo.add( heading );
+
+    	List boundFacts = modeller.getModel().getBoundFacts();
+
+        for ( int i = 0; i < boundFacts.size(); i++ ) {
+            factsCombo.add( (String) boundFacts.get( i ) );
+        }
+        factsCombo.select( 0 );
+
+        factsCombo.addListener( SWT.Selection,
+                new Listener() {
+                    public void handleEvent(Event event) {
+                        if ( factsCombo.getSelectionIndex() == 0 ) {
+                            return;
+                        }
+
+                        modeller.getModel().addRhsItem( new ActionRetractFact(factsCombo.getText()) );
+
+                        modeller.setDirty( true );
+                        modeller.reloadRhs();
+                        close();
+                    }
+                } );
+
+	}
+
+	private void createModifyFieldPart(Composite composite,
+                                       String heading) {
+        createLabel( composite,
+                     "Modify a field on a fact" );
+        final Combo factsCombo = new Combo( composite,
+                                                 SWT.READ_ONLY );
+        factsCombo.add( heading );
+
+        List boundFacts = modeller.getModel().getBoundFacts();
+
+        for ( int i = 0; i < boundFacts.size(); i++ ) {
+            factsCombo.add( (String) boundFacts.get( i ) );
+        }
+        factsCombo.select( 0 );
+
+        factsCombo.addListener( SWT.Selection,
+                                     new Listener() {
+                                         public void handleEvent(Event event) {
+                                             if ( factsCombo.getSelectionIndex() == 0 ) {
+                                                 return;
+                                             }
+
+                                             modeller.getModel().addRhsItem(new ActionUpdateField(factsCombo.getText()));
+
+                                             modeller.setDirty( true );
+                                             modeller.reloadRhs();
+                                             close();
+                                         }
+                                     } );
+
+    }
+
+    private void createDslSentences(Composite composite,
+                                    String heading) {
+        if ( getCompletion().getDSLActions().length > 0 ) {
+            createLabel( composite,
+                         "Actions" );
+
+            final Combo dslCombo = new Combo( composite,
+                                              SWT.READ_ONLY );
+            dslCombo.add( heading );
+            for ( int i = 0; i < getCompletion().getDSLActions().length; i++ ) {
+                DSLSentence sen = getCompletion().getDSLActions()[i];
+                dslCombo.add( sen.toString() );
+            }
+
+            dslCombo.select( 0 );
+
+            dslCombo.addListener( SWT.Selection,
+                                  new Listener() {
+                                      public void handleEvent(Event event) {
+                                          if ( dslCombo.getSelectionIndex() == 0 ) {
+                                              return;
+                                          }
+
+                                          DSLSentence sentence = getCompletion().getDSLActions()[dslCombo.getSelectionIndex() - 1];
+										  modeller.getModel().addRhsItem( sentence.copy() );
+                                          modeller.setDirty( true );
+                                          modeller.reloadRhs();
+                                          close();
+                                      }
+                                  } );
+
+        }
+    }
+
+    private void createFactLogicalAssertionPart(Composite composite,
+                                                String heading,
+                                                String[] facts) {
+        createLabel( composite,
+                     "Logically insert a new fact" );
+        final Combo factsCombo = createFactsCombo( composite,
+                                                   heading,
+                                                   facts );
+        factsCombo.addListener( SWT.Selection,
+                                new Listener() {
+                                    public void handleEvent(Event event) {
+
+                                        if ( factsCombo.getSelectionIndex() == 0 ) {
+                                            return;
+                                        }
+
+                                        modeller.getModel().addRhsItem( new ActionInsertLogicalFact( factsCombo.getText() ) );
+                                        modeller.setDirty( true );
+                                        modeller.reloadRhs();
+                                        close();
+                                    }
+                                } );
+    }
+
+    private void createFactAssertionPart(Composite composite,
+                                         String heading,
+                                         String[] facts) {
+        createLabel( composite,
+                     "Assert a new fact" );
+        final Combo factsCombo = createFactsCombo( composite,
+                                                   heading,
+                                                   facts );
+        factsCombo.addListener( SWT.Selection,
+                                new Listener() {
+                                    public void handleEvent(Event event) {
+                                        if ( factsCombo.getSelectionIndex() == 0 ) {
+                                            return;
+                                        }
+
+                                        modeller.getModel().addRhsItem( new ActionInsertFact( factsCombo.getText() ) );
+                                        modeller.setDirty( true );
+                                        modeller.reloadRhs();
+                                        close();
+                                    }
+                                } );
+    }
+
+    private Combo createFactsCombo(Composite composite,
+                                   String heading,
+                                   String[] facts) {
+        Combo factsCombo = new Combo( composite,
+                                      SWT.READ_ONLY );
+        factsCombo.add( heading );
+        for ( int i = 0; i < facts.length; i++ ) {
+            factsCombo.add( facts[i] );
+        }
+        factsCombo.select( 0 );
+        return factsCombo;
+    }
+
+    private void createValuesOfFieldPart(Composite composite,
+                                           String heading) {
+        createLabel( composite,
+                     "Set the values of a field on" );
+        final Combo globalVarsCombo = new Combo( composite,
+                                                 SWT.READ_ONLY );
+        globalVarsCombo.add( heading );
+
+        List boundFacts = modeller.getModel().getBoundFacts();
+
+        //adding globals
+        String[] globals = modeller.getSuggestionCompletionEngine().getGlobalVariables();
+        boundFacts.addAll(Arrays.asList(globals));
+
+        for ( int i = 0; i < boundFacts.size(); i++ ) {
+            globalVarsCombo.add( (String) boundFacts.get( i ) );
+        }
+        globalVarsCombo.select( 0 );
+
+        globalVarsCombo.addListener( SWT.Selection,
+                                     new Listener() {
+                                         public void handleEvent(Event event) {
+                                             if ( globalVarsCombo.getSelectionIndex() == 0 ) {
+                                                 return;
+                                             }
+
+                                             modeller.getModel().addRhsItem( new ActionSetField( globalVarsCombo.getText() ) );
+                                             modeller.setDirty( true );
+                                             modeller.reloadRhs();
+                                             close();
+                                         }
+                                     } );
+    }
+
+    public SuggestionCompletionEngine getCompletion() {
+        return modeller.getSuggestionCompletionEngine();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,154 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.IPattern;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * This provides a popup for new LHS condition selection. (add new if-condition)
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- */
-public class AddNewConditionDialog extends RuleDialog {
-
-    private IPattern          pattern;
-
-    private RuleModeller      modeller;
-
-    public AddNewConditionDialog(Shell parent,
-                                 RuleModeller modeller) {
-
-        super( parent,
-               "Add new condition to the rule",
-               "Pick the values from combos and confirm the selection." );
-
-        this.modeller = modeller;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Control dialog = super.createDialogArea( parent );
-
-        Composite composite = (Composite) dialog;
-
-        addFacts( composite );
-
-        addConditionType( composite );
-
-        addDSLSentences( composite );
-
-        return composite;
-    }
-
-    private void addFacts(Composite composite) {
-        createLabel( composite,
-                     "Fact" );
-
-        String[] factTypes = getCompletion().getFactTypes();
-        final Combo factsCombo = new Combo( composite,
-                                            SWT.READ_ONLY );
-        factsCombo.add( "Choose fact type..." );
-        for ( int i = 0; i < factTypes.length; i++ ) {
-            factsCombo.add( factTypes[i] );
-        }
-        factsCombo.select( 0 );
-
-        factsCombo.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-                                        if ( factsCombo.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-                                        modeller.getModel().addLhsItem( new FactPattern( factsCombo.getText() ) );
-                                        modeller.reloadLhs();
-                                        modeller.setDirty( true );
-                                        close();
-                                    }
-                                } );
-    }
-
-    private void addConditionType(Composite composite) {
-        createLabel( composite,
-                     "Condition type" );
-
-        final Combo conditionalsCombo = new Combo( composite,
-                                                   SWT.READ_ONLY );
-        String[] conditionalElements = getCompletion().getConditionalElements();
-        conditionalsCombo.add( "Choose condition type..." );
-        for ( int i = 0; i < conditionalElements.length; i++ ) {
-            conditionalsCombo.add( conditionalElements[i] );
-        }
-        conditionalsCombo.select( 0 );
-
-        conditionalsCombo.addListener( SWT.Selection,
-                                       new Listener() {
-                                           public void handleEvent(Event event) {
-                                               if ( conditionalsCombo.getSelectionIndex() == 0 ) {
-                                                   return;
-                                               }
-
-                                               modeller.getModel().addLhsItem( new CompositeFactPattern( conditionalsCombo.getText() ) );
-                                               modeller.reloadLhs();
-                                               modeller.setDirty( true );
-                                               close();
-                                           }
-                                       } );
-    }
-
-    //
-    // The list of DSL sentences
-    //
-    private void addDSLSentences(Composite composite) {
-        if ( getCompletion().getDSLConditions().length > 0 ) {
-            createLabel( composite,
-                         "Condition sentences" );
-
-            final Combo dslCombo = new Combo( composite,
-                                              SWT.READ_ONLY );
-            dslCombo.add( "Choose..." );
-
-            for ( int i = 0; i < getCompletion().getDSLConditions().length; i++ ) {
-                DSLSentence sen = getCompletion().getDSLConditions()[i];
-                dslCombo.add( sen.toString() );
-            }
-
-            dslCombo.select( 0 );
-
-            dslCombo.addListener( SWT.Selection,
-                                  new Listener() {
-                                      public void handleEvent(Event event) {
-                                          if ( dslCombo.getSelectionIndex() == 0 ) {
-                                              return;
-                                          }
-
-                                          DSLSentence sentence = getCompletion().getDSLConditions()[dslCombo.getSelectionIndex() - 1];
-										//TODO Handle this kind of situations with care - add* can throw runtime exceptions
-                                          modeller.getModel().addLhsItem( sentence.copy() );
-
-                                          modeller.reloadLhs();
-                                          modeller.setDirty( true );
-                                          close();
-                                      }
-                                  } );
-
-        }
-    }
-
-    public IPattern getPattern() {
-        return pattern;
-    }
-
-    private SuggestionCompletionEngine getCompletion() {
-        return modeller.getSuggestionCompletionEngine();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,154 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.IPattern;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * This provides a popup for new LHS condition selection. (add new if-condition)
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ */
+public class AddNewConditionDialog extends RuleDialog {
+
+    private IPattern          pattern;
+
+    private RuleModeller      modeller;
+
+    public AddNewConditionDialog(Shell parent,
+                                 RuleModeller modeller) {
+
+        super( parent,
+               "Add new condition to the rule",
+               "Pick the values from combos and confirm the selection." );
+
+        this.modeller = modeller;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Control dialog = super.createDialogArea( parent );
+
+        Composite composite = (Composite) dialog;
+
+        addFacts( composite );
+
+        addConditionType( composite );
+
+        addDSLSentences( composite );
+
+        return composite;
+    }
+
+    private void addFacts(Composite composite) {
+        createLabel( composite,
+                     "Fact" );
+
+        String[] factTypes = getCompletion().getFactTypes();
+        final Combo factsCombo = new Combo( composite,
+                                            SWT.READ_ONLY );
+        factsCombo.add( "Choose fact type..." );
+        for ( int i = 0; i < factTypes.length; i++ ) {
+            factsCombo.add( factTypes[i] );
+        }
+        factsCombo.select( 0 );
+
+        factsCombo.addListener( SWT.Selection,
+                                new Listener() {
+                                    public void handleEvent(Event event) {
+                                        if ( factsCombo.getSelectionIndex() == 0 ) {
+                                            return;
+                                        }
+                                        modeller.getModel().addLhsItem( new FactPattern( factsCombo.getText() ) );
+                                        modeller.reloadLhs();
+                                        modeller.setDirty( true );
+                                        close();
+                                    }
+                                } );
+    }
+
+    private void addConditionType(Composite composite) {
+        createLabel( composite,
+                     "Condition type" );
+
+        final Combo conditionalsCombo = new Combo( composite,
+                                                   SWT.READ_ONLY );
+        String[] conditionalElements = getCompletion().getConditionalElements();
+        conditionalsCombo.add( "Choose condition type..." );
+        for ( int i = 0; i < conditionalElements.length; i++ ) {
+            conditionalsCombo.add( conditionalElements[i] );
+        }
+        conditionalsCombo.select( 0 );
+
+        conditionalsCombo.addListener( SWT.Selection,
+                                       new Listener() {
+                                           public void handleEvent(Event event) {
+                                               if ( conditionalsCombo.getSelectionIndex() == 0 ) {
+                                                   return;
+                                               }
+
+                                               modeller.getModel().addLhsItem( new CompositeFactPattern( conditionalsCombo.getText() ) );
+                                               modeller.reloadLhs();
+                                               modeller.setDirty( true );
+                                               close();
+                                           }
+                                       } );
+    }
+
+    //
+    // The list of DSL sentences
+    //
+    private void addDSLSentences(Composite composite) {
+        if ( getCompletion().getDSLConditions().length > 0 ) {
+            createLabel( composite,
+                         "Condition sentences" );
+
+            final Combo dslCombo = new Combo( composite,
+                                              SWT.READ_ONLY );
+            dslCombo.add( "Choose..." );
+
+            for ( int i = 0; i < getCompletion().getDSLConditions().length; i++ ) {
+                DSLSentence sen = getCompletion().getDSLConditions()[i];
+                dslCombo.add( sen.toString() );
+            }
+
+            dslCombo.select( 0 );
+
+            dslCombo.addListener( SWT.Selection,
+                                  new Listener() {
+                                      public void handleEvent(Event event) {
+                                          if ( dslCombo.getSelectionIndex() == 0 ) {
+                                              return;
+                                          }
+
+                                          DSLSentence sentence = getCompletion().getDSLConditions()[dslCombo.getSelectionIndex() - 1];
+										//TODO Handle this kind of situations with care - add* can throw runtime exceptions
+                                          modeller.getModel().addLhsItem( sentence.copy() );
+
+                                          modeller.reloadLhs();
+                                          modeller.setDirty( true );
+                                          close();
+                                      }
+                                  } );
+
+        }
+    }
+
+    public IPattern getPattern() {
+        return pattern;
+    }
+
+    private SuggestionCompletionEngine getCompletion() {
+        return modeller.getSuggestionCompletionEngine();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,76 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Adds new fact pattern to a composite fact
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- */
-public class AddNewFactConstraintDialog extends RuleDialog {
-
-    private RuleModeller         modeller;
-
-    private CompositeFactPattern pattern;
-
-    public AddNewFactConstraintDialog(Shell parent,
-                                      RuleModeller modeller,
-                                      CompositeFactPattern pattern) {
-        super( parent,
-               "New fact pattern",
-               "Pick the value from combobox." );
-        this.modeller = modeller;
-        this.pattern = pattern;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        createLabel( composite,
-                     "Choose fact type" );
-
-        String[] fieldCompletitions = getCompletion().getFactTypes();
-        final Combo factsCombo = new Combo( composite,
-                                            SWT.READ_ONLY );
-        factsCombo.add( "Choose fact type..." );
-        for ( int i = 0; i < fieldCompletitions.length; i++ ) {
-            factsCombo.add( fieldCompletitions[i] );
-        }
-        factsCombo.select( 0 );
-
-        factsCombo.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-
-                                        if ( factsCombo.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-
-                                        FactPattern factPattern = new FactPattern();
-                                        factPattern.factType = factsCombo.getText();
-                                        pattern.addFactPattern( factPattern );
-
-                                        modeller.setDirty( true );
-                                        modeller.reloadLhs();
-                                        close();
-                                    }
-                                } );
-
-        return composite;
-    }
-
-    private SuggestionCompletionEngine getCompletion() {
-        return modeller.getSuggestionCompletionEngine();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFactConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,76 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Adds new fact pattern to a composite fact
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ */
+public class AddNewFactConstraintDialog extends RuleDialog {
+
+    private RuleModeller         modeller;
+
+    private CompositeFactPattern pattern;
+
+    public AddNewFactConstraintDialog(Shell parent,
+                                      RuleModeller modeller,
+                                      CompositeFactPattern pattern) {
+        super( parent,
+               "New fact pattern",
+               "Pick the value from combobox." );
+        this.modeller = modeller;
+        this.pattern = pattern;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        createLabel( composite,
+                     "Choose fact type" );
+
+        String[] fieldCompletitions = getCompletion().getFactTypes();
+        final Combo factsCombo = new Combo( composite,
+                                            SWT.READ_ONLY );
+        factsCombo.add( "Choose fact type..." );
+        for ( int i = 0; i < fieldCompletitions.length; i++ ) {
+            factsCombo.add( fieldCompletitions[i] );
+        }
+        factsCombo.select( 0 );
+
+        factsCombo.addListener( SWT.Selection,
+                                new Listener() {
+                                    public void handleEvent(Event event) {
+
+                                        if ( factsCombo.getSelectionIndex() == 0 ) {
+                                            return;
+                                        }
+
+                                        FactPattern factPattern = new FactPattern();
+                                        factPattern.factType = factsCombo.getText();
+                                        pattern.addFactPattern( factPattern );
+
+                                        modeller.setDirty( true );
+                                        modeller.reloadLhs();
+                                        close();
+                                    }
+                                } );
+
+        return composite;
+    }
+
+    private SuggestionCompletionEngine getCompletion() {
+        return modeller.getSuggestionCompletionEngine();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,201 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * Adding a new constraint for a field of a FactPattern
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class AddNewFieldConstraintDialog extends RuleDialog {
-
-    private final FormToolkit toolkit;
-
-    private RuleModeller      modeller;
-
-    private FactPattern       pattern;
-
-    private boolean           isNested;
-
-    public AddNewFieldConstraintDialog(Shell parent,
-                                       FormToolkit toolkit,
-                                       RuleModeller modeller,
-                                       FactPattern pattern,
-                                       boolean isNested) {
-        super( parent,
-               "Update constraints",
-               "Pick the values from combos and confirm the selection." );
-        this.toolkit = toolkit;
-        this.modeller = modeller;
-        this.pattern = pattern;
-        this.isNested = isNested;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 3;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        composite.setLayout( l );
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.horizontalSpan = 2;
-
-        createFieldRestrictionCombo( composite,
-                                     gd );
-        createMultipleRestrictionCombo( composite,
-                                        gd );
-        createFormulaRow( composite,
-                          gd );
-        if ( !isNested ) {
-            createVariableBindingRow( composite );
-        }
-
-        toolkit.paintBordersFor( composite );
-        return composite;
-    }
-
-    private void createMultipleRestrictionCombo(Composite composite,
-                                                GridData gd) {
-        createLabel( composite,
-                     "Multiple field constriant" );
-        final Combo composites = new Combo( composite,
-                                            SWT.READ_ONLY );
-
-        composites.setLayoutData( gd );
-
-        composites.add( "..." );
-        composites.add( "All of (And)" );
-        composites.add( "Any of (Or)" );
-        composites.setData( "All of (And)",
-                            CompositeFieldConstraint.COMPOSITE_TYPE_AND );
-        composites.setData( "Any of (Or)",
-                            CompositeFieldConstraint.COMPOSITE_TYPE_OR );
-        composites.select( 0 );
-
-        composites.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-                                        if ( composites.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-
-                                        CompositeFieldConstraint comp = new CompositeFieldConstraint();
-                                        comp.compositeJunctionType = (String) composites.getData( composites.getText() );
-
-                                        pattern.addConstraint( comp );
-                                        modeller.reloadLhs(); //TODO:review, perhaps should be another order of these calls
-                                        modeller.setDirty( true );
-                                        close();
-                                    }
-                                } );
-    }
-
-    private void createFieldRestrictionCombo(Composite composite,
-                                             GridData gd) {
-        createLabel( composite,
-                     "Add a restriction on a field" );
-
-        String[] fieldCompletitions = getCompletion().getFieldCompletions( pattern.factType );
-        final Combo fieldsCombo = new Combo( composite,
-                                             SWT.READ_ONLY );
-        fieldsCombo.setLayoutData( gd );
-        fieldsCombo.add( "..." );
-        for ( int i = 0; i < fieldCompletitions.length; i++ ) {
-            fieldsCombo.add( fieldCompletitions[i] );
-        }
-        fieldsCombo.select( 0 );
-
-        fieldsCombo.addListener( SWT.Selection,
-                                 new Listener() {
-                                     public void handleEvent(Event event) {
-                                         if ( fieldsCombo.getSelectionIndex() == 0 ) {
-                                             return;
-                                         }
-
-                                         SingleFieldConstraint constraint = new SingleFieldConstraint();
-                                         constraint.fieldName = fieldsCombo.getText();
-                                         pattern.addConstraint( constraint );
-                                         modeller.setDirty( true );
-                                         modeller.reloadLhs();
-                                         close();
-                                     }
-                                 } );
-    }
-
-    private void createFormulaRow(Composite composite,
-                                  GridData gd) {
-        createLabel( composite,
-                     "Add a new formula style expression" );
-        Button formulaButton = toolkit.createButton( composite,
-                                                     "New formula",
-                                                     SWT.PUSH );
-
-        formulaButton.addListener( SWT.Selection,
-                                   new Listener() {
-                                       public void handleEvent(Event event) {
-                                           SingleFieldConstraint con = new SingleFieldConstraint();
-                                           con.constraintValueType = ISingleFieldConstraint.TYPE_PREDICATE;
-                                           pattern.addConstraint( con );
-                                           modeller.setDirty( true );
-                                           modeller.reloadLhs();
-                                           close();
-                                       }
-                                   } );
-
-        formulaButton.setLayoutData( gd );
-    }
-
-    private void createVariableBindingRow(Composite composite) {
-        createLabel( composite,
-                     "Variable name" );
-        final Text variableText = createText( composite,
-                                              "" );
-
-        if ( pattern.boundName != null ) {
-            variableText.setText( pattern.boundName );
-        }
-
-        Button varButton = toolkit.createButton( composite,
-                                                 "Set",
-                                                 SWT.PUSH );
-        varButton.addListener( SWT.Selection,
-                               new Listener() {
-                                   public void handleEvent(Event event) {
-                                       pattern.boundName = variableText.getText();
-                                       modeller.reloadLhs();
-                                       modeller.setDirty( true );
-                                       close();
-                                   }
-                               } );
-    }
-
-    private SuggestionCompletionEngine getCompletion() {
-        return modeller.getSuggestionCompletionEngine();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewFieldConstraintDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,201 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+/**
+ * Adding a new constraint for a field of a FactPattern
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class AddNewFieldConstraintDialog extends RuleDialog {
+
+    private final FormToolkit toolkit;
+
+    private RuleModeller      modeller;
+
+    private FactPattern       pattern;
+
+    private boolean           isNested;
+
+    public AddNewFieldConstraintDialog(Shell parent,
+                                       FormToolkit toolkit,
+                                       RuleModeller modeller,
+                                       FactPattern pattern,
+                                       boolean isNested) {
+        super( parent,
+               "Update constraints",
+               "Pick the values from combos and confirm the selection." );
+        this.toolkit = toolkit;
+        this.modeller = modeller;
+        this.pattern = pattern;
+        this.isNested = isNested;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 3;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        composite.setLayout( l );
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.horizontalSpan = 2;
+
+        createFieldRestrictionCombo( composite,
+                                     gd );
+        createMultipleRestrictionCombo( composite,
+                                        gd );
+        createFormulaRow( composite,
+                          gd );
+        if ( !isNested ) {
+            createVariableBindingRow( composite );
+        }
+
+        toolkit.paintBordersFor( composite );
+        return composite;
+    }
+
+    private void createMultipleRestrictionCombo(Composite composite,
+                                                GridData gd) {
+        createLabel( composite,
+                     "Multiple field constriant" );
+        final Combo composites = new Combo( composite,
+                                            SWT.READ_ONLY );
+
+        composites.setLayoutData( gd );
+
+        composites.add( "..." );
+        composites.add( "All of (And)" );
+        composites.add( "Any of (Or)" );
+        composites.setData( "All of (And)",
+                            CompositeFieldConstraint.COMPOSITE_TYPE_AND );
+        composites.setData( "Any of (Or)",
+                            CompositeFieldConstraint.COMPOSITE_TYPE_OR );
+        composites.select( 0 );
+
+        composites.addListener( SWT.Selection,
+                                new Listener() {
+                                    public void handleEvent(Event event) {
+                                        if ( composites.getSelectionIndex() == 0 ) {
+                                            return;
+                                        }
+
+                                        CompositeFieldConstraint comp = new CompositeFieldConstraint();
+                                        comp.compositeJunctionType = (String) composites.getData( composites.getText() );
+
+                                        pattern.addConstraint( comp );
+                                        modeller.reloadLhs(); //TODO:review, perhaps should be another order of these calls
+                                        modeller.setDirty( true );
+                                        close();
+                                    }
+                                } );
+    }
+
+    private void createFieldRestrictionCombo(Composite composite,
+                                             GridData gd) {
+        createLabel( composite,
+                     "Add a restriction on a field" );
+
+        String[] fieldCompletitions = getCompletion().getFieldCompletions( pattern.factType );
+        final Combo fieldsCombo = new Combo( composite,
+                                             SWT.READ_ONLY );
+        fieldsCombo.setLayoutData( gd );
+        fieldsCombo.add( "..." );
+        for ( int i = 0; i < fieldCompletitions.length; i++ ) {
+            fieldsCombo.add( fieldCompletitions[i] );
+        }
+        fieldsCombo.select( 0 );
+
+        fieldsCombo.addListener( SWT.Selection,
+                                 new Listener() {
+                                     public void handleEvent(Event event) {
+                                         if ( fieldsCombo.getSelectionIndex() == 0 ) {
+                                             return;
+                                         }
+
+                                         SingleFieldConstraint constraint = new SingleFieldConstraint();
+                                         constraint.fieldName = fieldsCombo.getText();
+                                         pattern.addConstraint( constraint );
+                                         modeller.setDirty( true );
+                                         modeller.reloadLhs();
+                                         close();
+                                     }
+                                 } );
+    }
+
+    private void createFormulaRow(Composite composite,
+                                  GridData gd) {
+        createLabel( composite,
+                     "Add a new formula style expression" );
+        Button formulaButton = toolkit.createButton( composite,
+                                                     "New formula",
+                                                     SWT.PUSH );
+
+        formulaButton.addListener( SWT.Selection,
+                                   new Listener() {
+                                       public void handleEvent(Event event) {
+                                           SingleFieldConstraint con = new SingleFieldConstraint();
+                                           con.constraintValueType = ISingleFieldConstraint.TYPE_PREDICATE;
+                                           pattern.addConstraint( con );
+                                           modeller.setDirty( true );
+                                           modeller.reloadLhs();
+                                           close();
+                                       }
+                                   } );
+
+        formulaButton.setLayoutData( gd );
+    }
+
+    private void createVariableBindingRow(Composite composite) {
+        createLabel( composite,
+                     "Variable name" );
+        final Text variableText = createText( composite,
+                                              "" );
+
+        if ( pattern.boundName != null ) {
+            variableText.setText( pattern.boundName );
+        }
+
+        Button varButton = toolkit.createButton( composite,
+                                                 "Set",
+                                                 SWT.PUSH );
+        varButton.addListener( SWT.Selection,
+                               new Listener() {
+                                   public void handleEvent(Event event) {
+                                       pattern.boundName = variableText.getText();
+                                       modeller.reloadLhs();
+                                       modeller.setDirty( true );
+                                       close();
+                                   }
+                               } );
+    }
+
+    private SuggestionCompletionEngine getCompletion() {
+        return modeller.getSuggestionCompletionEngine();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,74 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
-import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class AddNewInsertedFactFieldDialog extends RuleDialog {
-
-	private RuleModeller modeller;
-
-	private final ActionInsertFact fact;
-
-	public AddNewInsertedFactFieldDialog(Shell parent, RuleModeller modeller,
-			ActionInsertFact fact) {
-		super(parent, "Add new condition to the rule",
-				"Pick the values from combos and confirm the selection.");
-		this.modeller = modeller;
-		this.fact = fact;
-	}
-
-	protected Control createDialogArea(final Composite parent) {
-
-		Composite composite = (Composite) super.createDialogArea(parent);
-
-		createLabel(composite, "Field:");
-
-		final Combo factsCombo = new Combo(composite, SWT.READ_ONLY);
-
-		String[] fields = getCompletion().getFieldCompletions(fact.factType);
-		factsCombo.add("...");
-		for (int i = 0; i < fields.length; i++) {
-			factsCombo.add(fields[i]);
-		}
-		factsCombo.select(0);
-
-		factsCombo.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-
-				if (factsCombo.getSelectionIndex() == 0) {
-					return;
-				}
-
-				String fieldType = modeller.getSuggestionCompletionEngine()
-						.getFieldType(fact.factType, factsCombo.getText());
-				fact.addFieldValue(new ActionFieldValue(factsCombo.getText(),
-						"", fieldType));
-
-				modeller.setDirty(true);
-				modeller.reloadRhs();
-				close();
-			}
-		});
-
-		return composite;
-	}
-
-	public SuggestionCompletionEngine getCompletion() {
-		return modeller.getSuggestionCompletionEngine();
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AddNewInsertedFactFieldDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,74 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
+import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class AddNewInsertedFactFieldDialog extends RuleDialog {
+
+	private RuleModeller modeller;
+
+	private final ActionInsertFact fact;
+
+	public AddNewInsertedFactFieldDialog(Shell parent, RuleModeller modeller,
+			ActionInsertFact fact) {
+		super(parent, "Add new condition to the rule",
+				"Pick the values from combos and confirm the selection.");
+		this.modeller = modeller;
+		this.fact = fact;
+	}
+
+	protected Control createDialogArea(final Composite parent) {
+
+		Composite composite = (Composite) super.createDialogArea(parent);
+
+		createLabel(composite, "Field:");
+
+		final Combo factsCombo = new Combo(composite, SWT.READ_ONLY);
+
+		String[] fields = getCompletion().getFieldCompletions(fact.factType);
+		factsCombo.add("...");
+		for (int i = 0; i < fields.length; i++) {
+			factsCombo.add(fields[i]);
+		}
+		factsCombo.select(0);
+
+		factsCombo.addListener(SWT.Selection, new Listener() {
+			public void handleEvent(Event event) {
+
+				if (factsCombo.getSelectionIndex() == 0) {
+					return;
+				}
+
+				String fieldType = modeller.getSuggestionCompletionEngine()
+						.getFieldType(fact.factType, factsCombo.getText());
+				fact.addFieldValue(new ActionFieldValue(factsCombo.getText(),
+						"", fieldType));
+
+				modeller.setDirty(true);
+				modeller.reloadRhs();
+				close();
+			}
+		});
+
+		return composite;
+	}
+
+	public SuggestionCompletionEngine getCompletion() {
+		return modeller.getSuggestionCompletionEngine();
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,84 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-public class AssignFieldVariableDialog extends RuleDialog {
-
-    private final FormToolkit     toolkit;
-
-    private RuleModeller          modeller;
-
-    private SingleFieldConstraint con;
-
-    public AssignFieldVariableDialog(Shell parent,
-                                     FormToolkit toolkit,
-                                     RuleModeller modeller,
-                                     SingleFieldConstraint con) {
-        super( parent,
-               "Bind the field called [" + con.fieldName + "] to a variable.",
-               "Type the variable name and hit the button." );
-
-        this.toolkit = toolkit;
-        this.modeller = modeller;
-        this.con = con;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 5;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        composite.setLayout( l );
-
-        createVariableBindingRow( composite );
-        toolkit.paintBordersFor( composite );
-        return composite;
-    }
-
-    private void createVariableBindingRow(Composite composite) {
-        createLabel( composite,
-                     "Variable name" );
-        final Text variableText = toolkit.createText( composite,
-                                                      "" );
-
-        if ( con.fieldBinding != null ) {
-            variableText.setText( con.fieldBinding );
-        }
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.horizontalSpan = 3;
-
-        variableText.setLayoutData( gd );
-
-        Button varButton = toolkit.createButton( composite,
-                                                 "Set",
-                                                 SWT.PUSH );
-        varButton.addListener( SWT.Selection,
-                               new Listener() {
-                                   public void handleEvent(Event event) {
-                                       con.fieldBinding = variableText.getText();
-                                       modeller.reloadLhs();
-                                       modeller.setDirty( true );
-                                       close();
-                                   }
-                               } );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/AssignFieldVariableDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,84 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+public class AssignFieldVariableDialog extends RuleDialog {
+
+    private final FormToolkit     toolkit;
+
+    private RuleModeller          modeller;
+
+    private SingleFieldConstraint con;
+
+    public AssignFieldVariableDialog(Shell parent,
+                                     FormToolkit toolkit,
+                                     RuleModeller modeller,
+                                     SingleFieldConstraint con) {
+        super( parent,
+               "Bind the field called [" + con.fieldName + "] to a variable.",
+               "Type the variable name and hit the button." );
+
+        this.toolkit = toolkit;
+        this.modeller = modeller;
+        this.con = con;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 5;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        composite.setLayout( l );
+
+        createVariableBindingRow( composite );
+        toolkit.paintBordersFor( composite );
+        return composite;
+    }
+
+    private void createVariableBindingRow(Composite composite) {
+        createLabel( composite,
+                     "Variable name" );
+        final Text variableText = toolkit.createText( composite,
+                                                      "" );
+
+        if ( con.fieldBinding != null ) {
+            variableText.setText( con.fieldBinding );
+        }
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.horizontalSpan = 3;
+
+        variableText.setLayoutData( gd );
+
+        Button varButton = toolkit.createButton( composite,
+                                                 "Set",
+                                                 SWT.PUSH );
+        varButton.addListener( SWT.Selection,
+                               new Listener() {
+                                   public void handleEvent(Event event) {
+                                       con.fieldBinding = variableText.getText();
+                                       modeller.reloadLhs();
+                                       modeller.setDirty( true );
+                                       close();
+                                   }
+                               } );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,154 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * This is the new smart widget that works off the model.
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class CompositeFactPatternWidget extends Widget {
-
-    private final CompositeFactPattern pattern;
-
-    public CompositeFactPatternWidget(FormToolkit toolkit,
-                                      Composite parent,
-                                      RuleModeller mod,
-                                      CompositeFactPattern factPattern,
-                                      int idx) {
-
-        super( parent,
-               toolkit,
-               mod,
-               idx );
-        this.pattern = factPattern;
-
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 4;
-        layout.marginBottom = 0;
-        layout.marginHeight = 0;
-        layout.marginLeft = 0;
-        layout.marginRight = 0;
-        layout.marginTop = 0;
-        layout.marginWidth = 0;
-        layout.verticalSpacing = 2;
-        parent.setLayout( layout );
-
-        create();
-    }
-
-    private void create() {
-        Label l = toolkit.createLabel( parent,
-                             HumanReadable.getCEDisplayName( pattern.type ) );
-        
-        GridData labelGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
-        labelGD.horizontalSpan = 2;
-        //labelGD.verticalAlignment = SWT.CENTER;
-        //labelGD.horizontalAlignment = SWT.CENTER;
-        l.setLayoutData(labelGD);
-        l.setBackground(new Color(parent.getShell().getDisplay(),240,240,240));
-        
-        l.setLayoutData(labelGD);
-        addDeleteAction();
-        addMoreOptionsAction();
-        Composite composite = toolkit.createComposite( parent );
-        
-
-    	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.horizontalAlignment = SWT.CENTER;
-    	composite.setLayoutData(gd);
-    	
-        createFactRows( toolkit,
-                        composite );
-    }
-
-    protected void addDeleteAction() {
-        ImageHyperlink delWholeLink = addImage( parent,
-                                                "icons/delete_obj.gif" );
-        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this ENTIRE condition, " + "and all the field constraints that belong to it." );
-                dialog.setText( "Remove this entire condition?" );
-                if ( dialog.open() == SWT.YES ) {
-
-                    if ( getModeller().getModel().removeLhsItem( index ) ) {
-                        getModeller().reloadLhs();
-                        getModeller().setDirty( true );
-                    } else {
-                        showMessage( "Can't remove that item as it is used in the action part of the rule." );
-                    }
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delWholeLink.setToolTipText( "Remove the entire composite condition." );
-    }
-
-    private void addMoreOptionsAction() {
-        final ImageHyperlink link = addImage( parent,
-                                              // "icons/add_field_to_fact.gif");
-                                              "icons/new_item.gif" );
-
-        link.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                RuleDialog popup = new AddNewFactConstraintDialog( parent.getShell(),
-                                                                   getModeller(),
-                                                                   pattern );
-                popup.open();
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        link.setToolTipText( "Add a fact to this constraint. " + "If it is an 'or' type, it will need at least 2." );
-    }
-
-    private void createFactRows(FormToolkit toolkit,
-                                Composite constraintComposite) {
-    	
-    	
-        if ( pattern.patterns != null ) {
-            FactPattern[] facts = pattern.patterns;
-            for ( int i = 0; i < facts.length; i++ ) {
-            	
-                new FactPatternWidget( toolkit,
-                                       constraintComposite,
-                                       getModeller(),
-                                       facts[i],
-                                       pattern,
-                                       i,
-                                       false );
-                
-                toolkit.createLabel(constraintComposite, "");
-                toolkit.createLabel(constraintComposite, "");
-            }
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CompositeFactPatternWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,154 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+/**
+ * This is the new smart widget that works off the model.
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class CompositeFactPatternWidget extends Widget {
+
+    private final CompositeFactPattern pattern;
+
+    public CompositeFactPatternWidget(FormToolkit toolkit,
+                                      Composite parent,
+                                      RuleModeller mod,
+                                      CompositeFactPattern factPattern,
+                                      int idx) {
+
+        super( parent,
+               toolkit,
+               mod,
+               idx );
+        this.pattern = factPattern;
+
+        GridLayout layout = new GridLayout();
+        layout.numColumns = 4;
+        layout.marginBottom = 0;
+        layout.marginHeight = 0;
+        layout.marginLeft = 0;
+        layout.marginRight = 0;
+        layout.marginTop = 0;
+        layout.marginWidth = 0;
+        layout.verticalSpacing = 2;
+        parent.setLayout( layout );
+
+        create();
+    }
+
+    private void create() {
+        Label l = toolkit.createLabel( parent,
+                             HumanReadable.getCEDisplayName( pattern.type ) );
+        
+        GridData labelGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
+        labelGD.horizontalSpan = 2;
+        //labelGD.verticalAlignment = SWT.CENTER;
+        //labelGD.horizontalAlignment = SWT.CENTER;
+        l.setLayoutData(labelGD);
+        l.setBackground(new Color(parent.getShell().getDisplay(),240,240,240));
+        
+        l.setLayoutData(labelGD);
+        addDeleteAction();
+        addMoreOptionsAction();
+        Composite composite = toolkit.createComposite( parent );
+        
+
+    	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+        gd.horizontalAlignment = SWT.CENTER;
+    	composite.setLayoutData(gd);
+    	
+        createFactRows( toolkit,
+                        composite );
+    }
+
+    protected void addDeleteAction() {
+        ImageHyperlink delWholeLink = addImage( parent,
+                                                "icons/delete_obj.gif" );
+        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this ENTIRE condition, " + "and all the field constraints that belong to it." );
+                dialog.setText( "Remove this entire condition?" );
+                if ( dialog.open() == SWT.YES ) {
+
+                    if ( getModeller().getModel().removeLhsItem( index ) ) {
+                        getModeller().reloadLhs();
+                        getModeller().setDirty( true );
+                    } else {
+                        showMessage( "Can't remove that item as it is used in the action part of the rule." );
+                    }
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delWholeLink.setToolTipText( "Remove the entire composite condition." );
+    }
+
+    private void addMoreOptionsAction() {
+        final ImageHyperlink link = addImage( parent,
+                                              // "icons/add_field_to_fact.gif");
+                                              "icons/new_item.gif" );
+
+        link.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                RuleDialog popup = new AddNewFactConstraintDialog( parent.getShell(),
+                                                                   getModeller(),
+                                                                   pattern );
+                popup.open();
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        link.setToolTipText( "Add a fact to this constraint. " + "If it is an 'or' type, it will need at least 2." );
+    }
+
+    private void createFactRows(FormToolkit toolkit,
+                                Composite constraintComposite) {
+    	
+    	
+        if ( pattern.patterns != null ) {
+            FactPattern[] facts = pattern.patterns;
+            for ( int i = 0; i < facts.length; i++ ) {
+            	
+                new FactPatternWidget( toolkit,
+                                       constraintComposite,
+                                       getModeller(),
+                                       facts[i],
+                                       pattern,
+                                       i,
+                                       false );
+                
+                toolkit.createLabel(constraintComposite, "");
+                toolkit.createLabel(constraintComposite, "");
+            }
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,194 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-public class ConstraintValueEditor {
-
-	private Composite composite;
-
-	private ISingleFieldConstraint constraint;
-
-	private FormToolkit toolkit;
-
-	private RuleModeller modeller;
-
-	private boolean numericValue;
-	
-	public ConstraintValueEditor(Composite composite,
-			ISingleFieldConstraint constraint, FormToolkit toolkit,
-			RuleModeller modeller, String numericType /*e.g. is "Numeric"*/) {
-		this.composite = composite;
-		this.constraint = constraint;
-		this.toolkit = toolkit;
-		this.modeller = modeller;
-		
-		if (numericType.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
-            this.numericValue = true;
-        }
-		create();
-	}
-
-	private void create() {
-		if (constraint.constraintValueType == ISingleFieldConstraint.TYPE_UNDEFINED) {
-			ImageHyperlink link = addImage(composite, "icons/edit.gif");
-			link.setToolTipText("Choose value editor type");
-			link.addHyperlinkListener(new IHyperlinkListener() {
-				public void linkActivated(HyperlinkEvent e) {
-					RuleDialog popup = new ValueEditorTypeSelectionDialog(
-							composite.getShell(), toolkit, modeller, constraint);
-					popup.open();
-				}
-
-				public void linkEntered(HyperlinkEvent e) {
-				}
-
-				public void linkExited(HyperlinkEvent e) {
-				}
-			});
-
-			GridData gd = new GridData(GridData.FILL_HORIZONTAL
-					| GridData.GRAB_HORIZONTAL
-					| GridData.HORIZONTAL_ALIGN_BEGINNING);
-			gd.horizontalSpan = 2;
-
-			link.setLayoutData(gd);
-		} else {
-			switch (constraint.constraintValueType) {
-			case ISingleFieldConstraint.TYPE_LITERAL:
-				literalValueEditor(composite, constraint, new GridData(
-						GridData.FILL_HORIZONTAL));
-				break;
-			case ISingleFieldConstraint.TYPE_RET_VALUE:
-				addImage(composite, "icons/function_assets.gif");
-				formulaValueEditor(composite, constraint, new GridData(
-						GridData.FILL_HORIZONTAL));
-				break;
-			case ISingleFieldConstraint.TYPE_VARIABLE:
-				variableEditor(composite, constraint, new GridData(
-						GridData.FILL_HORIZONTAL));
-				break;
-			default:
-				break;
-			}
-		}
-
-	}
-
-	private void literalValueEditor(Composite parent,
-			final ISingleFieldConstraint c, GridData gd) {
-		final Text box = toolkit.createText(parent, "");
-
-		if (c.value != null) {
-			box.setText(c.value);
-		}
-
-		gd.horizontalSpan = 2;
-		gd.grabExcessHorizontalSpace = true;
-		gd.minimumWidth = 100;
-		box.setLayoutData(gd);
-
-		box.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				c.value = box.getText();
-				modeller.setDirty(true);
-			}
-		});
-		
-		if (this.numericValue) {
-			box.addKeyListener(new KeyListener(){
-
-				public void keyPressed(KeyEvent e) {
-					if(Character.isLetter(e.character)){
-						e.doit = false;
-					}
-				}
-
-				public void keyReleased(KeyEvent e) {
-					
-				}
-				
-			});
-		}
-	}
-
-	private void formulaValueEditor(Composite parent,
-			final ISingleFieldConstraint c, GridData gd) {
-
-		final Text box = toolkit.createText(parent, "");
-
-		if (c.value != null) {
-			box.setText(c.value);
-		}
-
-		gd.grabExcessHorizontalSpace = true;
-		gd.minimumWidth = 100;
-		box.setLayoutData(gd);
-
-		box.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				c.value = box.getText();
-				modeller.setDirty(true);
-			}
-		});
-	}
-
-	private void variableEditor(Composite composite,
-			final ISingleFieldConstraint c, GridData gd) {
-		List vars = modeller.getModel().getBoundVariablesInScope(c);
-
-		final Combo combo = new Combo(composite, SWT.READ_ONLY);
-
-		gd.horizontalSpan = 2;
-		combo.setLayoutData(gd);
-		if (c.value == null) {
-			combo.add("Choose ...");
-		}
-
-		int idx = 0;
-
-		for (int i = 0; i < vars.size(); i++) {
-			String var = (String) vars.get(i);
-
-			if (c.value != null && c.value.equals(var)) {
-				idx = i;
-			}
-			combo.add(var);
-		}
-
-		combo.select(idx);
-
-		combo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				c.value = combo.getText();
-			}
-		});
-
-	}
-
-	public ImageHyperlink addImage(Composite parent, String fileName) {
-		ImageHyperlink imageHyperlink = toolkit.createImageHyperlink(parent, 0);
-		ImageDescriptor imageDescriptor = DroolsEclipsePlugin
-				.getImageDescriptor(fileName);
-		imageHyperlink.setImage(imageDescriptor.createImage());
-		return imageHyperlink;
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ConstraintValueEditor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,194 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+public class ConstraintValueEditor {
+
+	private Composite composite;
+
+	private ISingleFieldConstraint constraint;
+
+	private FormToolkit toolkit;
+
+	private RuleModeller modeller;
+
+	private boolean numericValue;
+	
+	public ConstraintValueEditor(Composite composite,
+			ISingleFieldConstraint constraint, FormToolkit toolkit,
+			RuleModeller modeller, String numericType /*e.g. is "Numeric"*/) {
+		this.composite = composite;
+		this.constraint = constraint;
+		this.toolkit = toolkit;
+		this.modeller = modeller;
+		
+		if (numericType.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
+            this.numericValue = true;
+        }
+		create();
+	}
+
+	private void create() {
+		if (constraint.constraintValueType == ISingleFieldConstraint.TYPE_UNDEFINED) {
+			ImageHyperlink link = addImage(composite, "icons/edit.gif");
+			link.setToolTipText("Choose value editor type");
+			link.addHyperlinkListener(new IHyperlinkListener() {
+				public void linkActivated(HyperlinkEvent e) {
+					RuleDialog popup = new ValueEditorTypeSelectionDialog(
+							composite.getShell(), toolkit, modeller, constraint);
+					popup.open();
+				}
+
+				public void linkEntered(HyperlinkEvent e) {
+				}
+
+				public void linkExited(HyperlinkEvent e) {
+				}
+			});
+
+			GridData gd = new GridData(GridData.FILL_HORIZONTAL
+					| GridData.GRAB_HORIZONTAL
+					| GridData.HORIZONTAL_ALIGN_BEGINNING);
+			gd.horizontalSpan = 2;
+
+			link.setLayoutData(gd);
+		} else {
+			switch (constraint.constraintValueType) {
+			case ISingleFieldConstraint.TYPE_LITERAL:
+				literalValueEditor(composite, constraint, new GridData(
+						GridData.FILL_HORIZONTAL));
+				break;
+			case ISingleFieldConstraint.TYPE_RET_VALUE:
+				addImage(composite, "icons/function_assets.gif");
+				formulaValueEditor(composite, constraint, new GridData(
+						GridData.FILL_HORIZONTAL));
+				break;
+			case ISingleFieldConstraint.TYPE_VARIABLE:
+				variableEditor(composite, constraint, new GridData(
+						GridData.FILL_HORIZONTAL));
+				break;
+			default:
+				break;
+			}
+		}
+
+	}
+
+	private void literalValueEditor(Composite parent,
+			final ISingleFieldConstraint c, GridData gd) {
+		final Text box = toolkit.createText(parent, "");
+
+		if (c.value != null) {
+			box.setText(c.value);
+		}
+
+		gd.horizontalSpan = 2;
+		gd.grabExcessHorizontalSpace = true;
+		gd.minimumWidth = 100;
+		box.setLayoutData(gd);
+
+		box.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				c.value = box.getText();
+				modeller.setDirty(true);
+			}
+		});
+		
+		if (this.numericValue) {
+			box.addKeyListener(new KeyListener(){
+
+				public void keyPressed(KeyEvent e) {
+					if(Character.isLetter(e.character)){
+						e.doit = false;
+					}
+				}
+
+				public void keyReleased(KeyEvent e) {
+					
+				}
+				
+			});
+		}
+	}
+
+	private void formulaValueEditor(Composite parent,
+			final ISingleFieldConstraint c, GridData gd) {
+
+		final Text box = toolkit.createText(parent, "");
+
+		if (c.value != null) {
+			box.setText(c.value);
+		}
+
+		gd.grabExcessHorizontalSpace = true;
+		gd.minimumWidth = 100;
+		box.setLayoutData(gd);
+
+		box.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				c.value = box.getText();
+				modeller.setDirty(true);
+			}
+		});
+	}
+
+	private void variableEditor(Composite composite,
+			final ISingleFieldConstraint c, GridData gd) {
+		List vars = modeller.getModel().getBoundVariablesInScope(c);
+
+		final Combo combo = new Combo(composite, SWT.READ_ONLY);
+
+		gd.horizontalSpan = 2;
+		combo.setLayoutData(gd);
+		if (c.value == null) {
+			combo.add("Choose ...");
+		}
+
+		int idx = 0;
+
+		for (int i = 0; i < vars.size(); i++) {
+			String var = (String) vars.get(i);
+
+			if (c.value != null && c.value.equals(var)) {
+				idx = i;
+			}
+			combo.add(var);
+		}
+
+		combo.select(idx);
+
+		combo.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				c.value = combo.getText();
+			}
+		});
+
+	}
+
+	public ImageHyperlink addImage(Composite parent, String fileName) {
+		ImageHyperlink imageHyperlink = toolkit.createImageHyperlink(parent, 0);
+		ImageDescriptor imageDescriptor = DroolsEclipsePlugin
+				.getImageDescriptor(fileName);
+		imageHyperlink.setImage(imageDescriptor.createImage());
+		return imageHyperlink;
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,12 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.SelectionDialog;
-
-public class CustomRuleDialog extends SelectionDialog {
-
-    public CustomRuleDialog(Shell parentShell) {
-        super( parentShell );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/CustomRuleDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,12 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.dialogs.SelectionDialog;
+
+public class CustomRuleDialog extends SelectionDialog {
+
+    public CustomRuleDialog(Shell parentShell) {
+        super( parentShell );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,174 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * This displays a widget to edit a DSL sentence.
- * 
- * @author Ahti Kitsik
- * @author Anton Arhipov
- */
-public abstract class DSLSentenceWidget extends Widget {
-
-    private final DSLSentence sentence;
-
-    private List              widgets = new ArrayList();
-
-    public DSLSentenceWidget(FormToolkit toolkit,
-                             Composite parent,
-                             DSLSentence sentence,
-                             RuleModeller modeller,
-                             int index) {
-        super( parent,
-               toolkit,
-               modeller,
-               index );
-
-        this.sentence = sentence;
-
-        makeWidget();
-        addDeleteAction();
-    }
-
-    protected abstract void updateModel();
-
-    private void addDeleteAction() {
-
-        ImageHyperlink delLink = addImage( parent,
-                                           "icons/delete_item_small.gif" );
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this DSL sentense?" );
-                dialog.setText( "Remove this DSL sentense?" );
-                if ( dialog.open() == SWT.YES ) {
-                    updateModel();
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delLink.setToolTipText( "Remove this condition." );
-    }
-
-    private void makeWidget() {
-
-        int elems = 0;
-
-        char[] chars = this.sentence.sentence.toCharArray();
-        Text currentBox = null;
-        Label currentLabel = null;
-        for ( int i = 0; i < chars.length; i++ ) {
-            char c = chars[i];
-            if ( c == '{' ) {
-                currentLabel = null;
-
-                currentBox = toolkit.createText( parent,
-                                                 "" );
-
-                //final Text thisBox = currentBox;
-                elems++;
-
-                GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-                gd.grabExcessHorizontalSpace = true;
-                gd.minimumWidth = 100;
-                currentBox.setLayoutData( gd );
-                
-                widgets.add( currentBox );
-
-            } else if ( c == '}' ) {
-                currentBox = null;
-            } else {
-                if ( currentBox == null && currentLabel == null ) {
-                    currentLabel = toolkit.createLabel( parent,
-                                                        "" );
-                    elems++;
-
-                    widgets.add( currentLabel );
-                }
-                if ( currentLabel != null ) {
-                    currentLabel.setText( currentLabel.getText() + c );
-                } else if ( currentBox != null ) {
-                    currentBox.setText( currentBox.getText() + c );
-                }
-            }
-        }
-
-        GridLayout l = new GridLayout();
-        int cols = elems + 1;
-        l.numColumns = cols;
-        l.verticalSpacing = 0;
-        l.marginTop = 0;
-        l.marginHeight = 2;
-        l.marginBottom = 0;
-        parent.setLayout( l );
-
-        // Attach listeners
-        Iterator widgetiter = widgets.iterator();
-        while ( widgetiter.hasNext() ) {
-            Object o = (Object) widgetiter.next();
-            if (o instanceof Text) {
-                ((Text)o).addModifyListener( new ModifyListener() {
-                    public void modifyText(ModifyEvent e) {
-                        updateSentence();
-                        /*                        Point p = thisBox.getSize();
-                         
-                         GC gc = new GC(thisBox);
-                         gc.setFont(thisBox.getFont());
-                         FontMetrics fontMetrics = gc.getFontMetrics();
-                         int w = fontMetrics.getAverageCharWidth()*thisBox.getText().length();
-                         gc.dispose();
-                         
-                         
-                         thisBox.setSize( w, p.y );
-                         thisBox.redraw();
-                         parent.redraw();
-                         */
-                        getModeller().setDirty( true );
-                    }
-                } );
-                
-            }
-        }
-        toolkit.paintBordersFor( parent );
-    }
-
-    protected void updateSentence() {
-        String newSentence = "";
-        for ( Iterator iter = widgets.iterator(); iter.hasNext(); ) {
-            Control wid = (Control) iter.next();
-            if ( wid instanceof Label ) {
-                newSentence = newSentence + ((Label) wid).getText();
-            } else if ( wid instanceof Text ) {
-                newSentence = newSentence + "{" + ((Text) wid).getText() + "}";
-            }
-        }
-        this.sentence.sentence = newSentence;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,174 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+/**
+ * This displays a widget to edit a DSL sentence.
+ * 
+ * @author Ahti Kitsik
+ * @author Anton Arhipov
+ */
+public abstract class DSLSentenceWidget extends Widget {
+
+    private final DSLSentence sentence;
+
+    private List              widgets = new ArrayList();
+
+    public DSLSentenceWidget(FormToolkit toolkit,
+                             Composite parent,
+                             DSLSentence sentence,
+                             RuleModeller modeller,
+                             int index) {
+        super( parent,
+               toolkit,
+               modeller,
+               index );
+
+        this.sentence = sentence;
+
+        makeWidget();
+        addDeleteAction();
+    }
+
+    protected abstract void updateModel();
+
+    private void addDeleteAction() {
+
+        ImageHyperlink delLink = addImage( parent,
+                                           "icons/delete_item_small.gif" );
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this DSL sentense?" );
+                dialog.setText( "Remove this DSL sentense?" );
+                if ( dialog.open() == SWT.YES ) {
+                    updateModel();
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delLink.setToolTipText( "Remove this condition." );
+    }
+
+    private void makeWidget() {
+
+        int elems = 0;
+
+        char[] chars = this.sentence.sentence.toCharArray();
+        Text currentBox = null;
+        Label currentLabel = null;
+        for ( int i = 0; i < chars.length; i++ ) {
+            char c = chars[i];
+            if ( c == '{' ) {
+                currentLabel = null;
+
+                currentBox = toolkit.createText( parent,
+                                                 "" );
+
+                //final Text thisBox = currentBox;
+                elems++;
+
+                GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+                gd.grabExcessHorizontalSpace = true;
+                gd.minimumWidth = 100;
+                currentBox.setLayoutData( gd );
+                
+                widgets.add( currentBox );
+
+            } else if ( c == '}' ) {
+                currentBox = null;
+            } else {
+                if ( currentBox == null && currentLabel == null ) {
+                    currentLabel = toolkit.createLabel( parent,
+                                                        "" );
+                    elems++;
+
+                    widgets.add( currentLabel );
+                }
+                if ( currentLabel != null ) {
+                    currentLabel.setText( currentLabel.getText() + c );
+                } else if ( currentBox != null ) {
+                    currentBox.setText( currentBox.getText() + c );
+                }
+            }
+        }
+
+        GridLayout l = new GridLayout();
+        int cols = elems + 1;
+        l.numColumns = cols;
+        l.verticalSpacing = 0;
+        l.marginTop = 0;
+        l.marginHeight = 2;
+        l.marginBottom = 0;
+        parent.setLayout( l );
+
+        // Attach listeners
+        Iterator widgetiter = widgets.iterator();
+        while ( widgetiter.hasNext() ) {
+            Object o = (Object) widgetiter.next();
+            if (o instanceof Text) {
+                ((Text)o).addModifyListener( new ModifyListener() {
+                    public void modifyText(ModifyEvent e) {
+                        updateSentence();
+                        /*                        Point p = thisBox.getSize();
+                         
+                         GC gc = new GC(thisBox);
+                         gc.setFont(thisBox.getFont());
+                         FontMetrics fontMetrics = gc.getFontMetrics();
+                         int w = fontMetrics.getAverageCharWidth()*thisBox.getText().length();
+                         gc.dispose();
+                         
+                         
+                         thisBox.setSize( w, p.y );
+                         thisBox.redraw();
+                         parent.redraw();
+                         */
+                        getModeller().setDirty( true );
+                    }
+                } );
+                
+            }
+        }
+        toolkit.paintBordersFor( parent );
+    }
+
+    protected void updateSentence() {
+        String newSentence = "";
+        for ( Iterator iter = widgets.iterator(); iter.hasNext(); ) {
+            Control wid = (Control) iter.next();
+            if ( wid instanceof Label ) {
+                newSentence = newSentence + ((Label) wid).getText();
+            } else if ( wid instanceof Text ) {
+                newSentence = newSentence + "{" + ((Text) wid).getText() + "}";
+            }
+        }
+        this.sentence.sentence = newSentence;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,644 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.ConnectiveConstraint;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.FieldConstraint;
-import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
-import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
-import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * This is the new smart widget that works off the model.
- * 
- * @author Michael Neale
- * @author Ahti Kitsik
- * @author Anton Arhipov
- * 
- */
-public class FactPatternWidget extends Widget {
-
-    private final CompositeFactPattern parentPattern;
-
-    private final FactPattern          pattern;
-
-    private boolean                    bindable;
-
-    public FactPatternWidget(FormToolkit toolkit,
-                             Composite parent,
-                             RuleModeller mod,
-                             FactPattern factPattern,
-                             CompositeFactPattern parentPattern,
-                             int idx,
-                             boolean canBind) {
-
-        super( parent,
-               toolkit,
-               mod,
-               idx );
-
-        this.pattern = factPattern;
-        this.parentPattern = parentPattern;
-        this.bindable = canBind;
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 4;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        l.verticalSpacing = 0;
-        parent.setLayout( l );
-
-        create();
-    }
-
-    private void create() {
-        Label l = toolkit.createLabel( parent,
-                             getPatternLabel() );
-        
-        GridData labelGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
-        labelGD.horizontalSpan = 2;
-        //labelGD.verticalAlignment = SWT.CENTER;
-        //labelGD.horizontalAlignment = SWT.CENTER;
-        l.setLayoutData(labelGD);
-        l.setBackground(new Color(parent.getShell().getDisplay(),240,240,240));
-        
-        addDeleteAction();
-        addMoreOptionsAction();
-        
-        Composite constraintComposite = toolkit.createComposite( parent );
-        GridLayout constraintLayout = new GridLayout();
-        constraintLayout.numColumns = 8;
-        constraintComposite.setLayout( constraintLayout );
-
-        for ( int row = 0; row < pattern.getFieldConstraints().length; row++ ) {
-            renderFieldConstraints( constraintComposite,
-                                    pattern.getFieldConstraints()[row],
-                                    null,
-                                    row,
-                                    true,
-                                    false );
-        }
-
-        toolkit.paintBordersFor( constraintComposite );
-    }
-
-    private void addMoreOptionsAction() {
-        ImageHyperlink link = addImage( parent,
-                                        "icons/new_item.gif" );
-
-        link.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                RuleDialog popup = new AddNewFieldConstraintDialog( parent.getShell(),
-                                                                    toolkit,
-                                                                    getModeller(),
-                                                                    pattern,
-                                                                    parentPattern != null );
-                popup.open();
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        link.setToolTipText( "Add a field to this condition, or bind a varible to this fact." );
-    }
-
-    private void addDeleteAction() {
-        ImageHyperlink delWholeLink = addImage( parent,
-                                                "icons/delete_obj.gif" );
-        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this ENTIRE condition, " + "and all the field constraints that belong to it." );
-                dialog.setText( "Remove this entire condition?" );
-                if ( dialog.open() == SWT.YES ) {
-                    if ( parentPattern == null ) {
-                        if ( getModeller().getModel().removeLhsItem( index ) ) {
-                            getModeller().reloadLhs();
-                        } else {
-                            showMessage( "Can't remove that item as it is used in the action part of the rule." );
-                        }
-                    } else {
-                        deleteBindedFact();
-                    }
-                    getModeller().setDirty( true );
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delWholeLink.setToolTipText( "Remove this condition." );
-    }
-
-    private void renderFieldConstraints(Composite constraintComposite,
-                                        FieldConstraint constraint,
-                                        final CompositeFieldConstraint parentConstraint,
-                                        int row,
-                                        boolean showBinding,
-                                        boolean nested) {
-        if ( constraint instanceof SingleFieldConstraint ) {
-            renderSingleFieldConstraint( constraintComposite,
-                                         row,
-                                         constraint,
-                                         parentConstraint,
-                                         showBinding,
-                                         nested );
-        } else if ( constraint instanceof CompositeFieldConstraint ) {
-            compositeFieldConstraintEditor( constraintComposite,
-                                            (CompositeFieldConstraint) constraint,
-                                            parentConstraint,
-                                            row,
-                                            nested );
-        }
-    }
-
-    private void compositeFieldConstraintEditor(Composite constraintComposite,
-                                                final CompositeFieldConstraint constraint,
-                                                final CompositeFieldConstraint parentConstraint,
-                                                final int row,
-                                                boolean nested) {
-
-        // Label
-        if ( constraint.compositeJunctionType.equals( CompositeFieldConstraint.COMPOSITE_TYPE_AND ) ) {
-            toolkit.createLabel( constraintComposite,
-                                 "All of:" );
-        } else {
-            toolkit.createLabel( constraintComposite,
-                                 "Any of:" );
-        }
-
-        addRemoveButton( constraintComposite,
-                         parentConstraint,
-                         row,
-                         "icons/delete_obj.gif",
-                         nested );
-
-        // button "add"
-        ImageHyperlink link = addImage( constraintComposite,
-                                        "icons/new_item.gif" );
-        link.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                RuleDialog popup = new AddCompositeConstraintOptionDialog( parent.getShell(),
-                                                                           getModeller(),
-                                                                           constraint,
-                                                                           pattern );
-                popup.open();
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-
-        link.setToolTipText("Add fields to this constriant.");
-        
-        addNestedElements( constraintComposite,
-                           constraint );
-    }
-
-    private void addNestedElements(Composite constraintComposite,
-                                   final CompositeFieldConstraint constraint) {
-        // Nested elementss
-        FieldConstraint[] nestedConstraints = constraint.constraints;
-        if ( nestedConstraints != null ) {
-            Composite nestedComposite = toolkit.createComposite( constraintComposite );
-            GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-            gd.horizontalSpan = 5;
-            nestedComposite.setLayoutData( gd );
-
-            GridLayout l = new GridLayout();
-            l.numColumns = 8;
-            l.marginBottom = 0;
-            l.marginHeight = 0;
-            l.marginLeft = 0;
-            l.marginRight = 0;
-            l.marginTop = 0;
-            l.marginWidth = 0;
-            l.verticalSpacing = 0;
-            nestedComposite.setLayout( l );
-
-            for ( int i = 0; i < nestedConstraints.length; i++ ) {
-                renderFieldConstraints( nestedComposite,
-                                        nestedConstraints[i],
-                                        constraint,
-                                        i,
-                                        false,
-                                        true );
-                toolkit.paintBordersFor( nestedComposite );
-            }
-        } else {
-            GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-            gd.horizontalSpan = 5;
-            Label dummyLabel = toolkit.createLabel( constraintComposite,
-                                                    "" ); // dummy
-            dummyLabel.setLayoutData( gd );
-        }
-    }
-
-    private void renderSingleFieldConstraint(Composite constraintComposite,
-                                             int row,
-                                             FieldConstraint constraint,
-                                             CompositeFieldConstraint parentConstraint,
-                                             boolean showBinding,
-                                             boolean nested) {
-        final SingleFieldConstraint c = (SingleFieldConstraint) constraint;
-        if ( c.constraintValueType != ISingleFieldConstraint.TYPE_PREDICATE ) {
-            createConstraintRow( constraintComposite,
-                                 parentConstraint,
-                                 row,
-                                 c,
-                                 showBinding,
-                                 nested );
-        } else {
-            createPredicateConstraintRow( constraintComposite,
-                                          row,
-                                          c );
-        }
-    }
-
-    private void createConstraintRow(Composite constraintComposite,
-                                     CompositeFieldConstraint parentConstraint,
-                                     int row,
-                                     final SingleFieldConstraint c,
-                                     boolean showBinding,
-                                     boolean nested) {
-        addBindingField( constraintComposite,
-                         c,
-                         showBinding );
-        toolkit.createLabel( constraintComposite,
-                             c.fieldName );
-        if ( c.connectives == null || c.connectives.length == 0 ) {
-            addRemoveButton( constraintComposite,
-                             parentConstraint,
-                             row,
-                             "icons/delete_item_small.gif",
-                             nested );
-        } else {
-            toolkit.createLabel( constraintComposite,
-                                 "" );
-        }
-        operatorDropDown( constraintComposite,
-                          c );
-        
-        constraintValueEditor(constraintComposite, c, c.fieldName);
-        
-        createConnectives( constraintComposite,
-                           c );
-        addConnectiveAction( constraintComposite,
-                             c );
-    }
-
-    private void addBindingField(Composite constraintComposite,
-                                 final SingleFieldConstraint c,
-                                 boolean showBinding) {
-        if ( !c.isBound() ) {
-            if ( bindable && showBinding ) {
-                ImageHyperlink link = addImage( constraintComposite,
-                                                "icons/new_item.gif" );
-                link.addHyperlinkListener( new IHyperlinkListener() {
-                    public void linkActivated(HyperlinkEvent e) {
-                        RuleDialog popup = new AssignFieldVariableDialog( parent.getShell(),
-                                                                          toolkit,
-                                                                          getModeller(),
-                                                                          c );
-                        popup.open();
-                    }
-
-                    public void linkEntered(HyperlinkEvent e) {
-                    }
-
-                    public void linkExited(HyperlinkEvent e) {
-                    }
-                } );
-
-                link.setToolTipText("Bind the field called [" + c.fieldName + "] to a variable.");
-            } else {
-                toolkit.createLabel( constraintComposite,
-                                     "" );
-            }
-        } else {
-            toolkit.createLabel( constraintComposite,
-                                 "[" + c.fieldBinding + "]" );
-        }
-
-    }
-
-    private void createPredicateConstraintRow(Composite constraintComposite,
-                                              int row,
-                                              final SingleFieldConstraint c) {
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.horizontalSpan = 6;
-        addImage( constraintComposite,
-                  "icons/function_assets.gif" );
-        formulaValueEditor( constraintComposite,
-                            c,
-                            gd );
-        addRemoveButton( constraintComposite,
-                         null,
-                         row,
-                         "icons/delete_item_small.gif",
-                         false );
-    }
-
-    private void createConnectives(Composite parent,
-                                   SingleFieldConstraint c) {
-        if ( c.connectives != null && c.connectives.length > 0 ) {
-            for ( int i = 0; i < c.connectives.length; i++ ) {
-                toolkit.createLabel( parent,
-                                     "" ); // dummy
-                toolkit.createLabel( parent,
-                                     "" ); // dummy
-                toolkit.createLabel( parent,
-                                     "" ); // dummy
-                ConnectiveConstraint con = c.connectives[i];
-                addRemoveConstraintAction( parent,
-                                           c,
-                                           con );
-                connectiveOperatorDropDown( parent,
-                                            con,
-                                            c.fieldName );
-               constraintValueEditor( parent,
-                                       con, c.fieldName );
-                
-            }
-        }
-    }
-
-    private void constraintValueEditor(Composite parent, ISingleFieldConstraint c, String name ){
-    	String type = this.modeller.getSuggestionCompletionEngine().getFieldType( pattern.factType, name );
-        new ConstraintValueEditor (parent, c, toolkit, modeller, type);
-    }
-    
-    
-    private void addConnectiveAction(Composite constraintComposite,
-                                     final SingleFieldConstraint c) {
-        ImageHyperlink link = addImage( constraintComposite,
-                                        "icons/add_connective.gif" );
-        link.setToolTipText( "Add more options to this fields values." );
-        link.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                c.addNewConnective();
-                getModeller().reloadLhs();
-                getModeller().setDirty( true );
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-
-        link.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING ) );
-    }
-
-    private void addRemoveButton(Composite constraintComposite,
-                                 final CompositeFieldConstraint parentConstraint,
-                                 final int row,
-                                 String iconRef,
-                                 boolean nested) {
-        if ( nested ) {
-            addNestedConstraintDeleteAction( constraintComposite,
-                                             parentConstraint,
-                                             row,
-                                             iconRef );
-        } else {
-            addRemoveFieldAction( constraintComposite,
-                                  row,
-                                  iconRef );
-        }
-
-    }
-
-    private void addNestedConstraintDeleteAction(Composite constraintComposite,
-                                                 final CompositeFieldConstraint parentConstraint,
-                                                 final int row,
-                                                 String iconRef) {
-        ImageHyperlink delLink = addImage( constraintComposite,
-                                           iconRef );
-        // "icons/delete_obj.gif");
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this (nested) restriction." );
-                dialog.setText( "Remove this item from nested constraint?" );
-                if ( dialog.open() == SWT.YES ) {
-                    parentConstraint.removeConstraint( row );
-                    getModeller().reloadLhs();
-                    getModeller().setDirty( true );
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-    }
-
-    private void addRemoveFieldAction(Composite constraintComposite,
-                                      final int currentRow,
-                                      String iconRef) {
-        ImageHyperlink delLink = addImage( constraintComposite,
-                                           iconRef );
-        delLink.setToolTipText( "Remove this fieldconstraint" );
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this item?" );
-                dialog.setText( "Remove this item?" );
-                if ( dialog.open() == SWT.YES ) {
-                    pattern.removeConstraint( currentRow );
-                    getModeller().reloadLhs();
-                    getModeller().setDirty( true );
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delLink.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING ) );
-    }
-
-    private void addRemoveConstraintAction(Composite composite,
-                                           final SingleFieldConstraint constraint,
-                                           final ConnectiveConstraint connConstraint) {
-        ImageHyperlink delLink = addImage( composite,
-                                           "icons/delete_item_small.gif" );
-        delLink.setToolTipText( "Remove this field constraint" );
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this item?" );
-                dialog.setText( "Remove this item?" );
-                if ( dialog.open() == SWT.YES ) {
-                    ConnectiveConstraint[] connectives = constraint.connectives;
-                    List nConnectives = new ArrayList();
-                    for ( int i = 0; i < connectives.length; i++ ) {
-                        if ( connectives[i] != connConstraint ) {
-                            nConnectives.add( connectives[i] );
-                        }
-                    }
-                    constraint.connectives = (ConnectiveConstraint[]) nConnectives.toArray( new ConnectiveConstraint[nConnectives.size()] );
-
-                    getModeller().reloadLhs();
-                    getModeller().setDirty( true );
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delLink.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_END ) );
-    }
-
-    /**
-     * This returns the pattern label.
-     */
-    private String getPatternLabel() {
-        if ( pattern.boundName != null ) {
-            return pattern.factType + " [" + pattern.boundName + "]";
-        }
-        return pattern.factType;
-    }
-
-    private void operatorDropDown(Composite parent,
-                                  final SingleFieldConstraint c) {
-        String[] ops = getCompletions().getOperatorCompletions( pattern.factType,
-                                                                c.fieldName );
-        final Combo box = new Combo( parent,
-                                     SWT.SIMPLE | SWT.DROP_DOWN | SWT.READ_ONLY );
-        for ( int i = 0; i < ops.length; i++ ) {
-            String op = ops[i];
-            box.add( HumanReadable.getOperatorDisplayName( op ) );
-            if ( op.equals( c.operator ) ) {
-                box.select( i );
-            }
-        }
-        GridData gridData = new GridData( GridData.FILL_HORIZONTAL );
-        gridData.horizontalSpan = 2;
-        box.setLayoutData( gridData );
-        box.addListener( SWT.Selection,
-                         new Listener() {
-                             public void handleEvent(Event event) {
-                                 c.operator = HumanReadable.getOperatorName( box.getText() );
-                                 getModeller().setDirty( true );
-                             }
-                         } );
-    }
-
-    private void connectiveOperatorDropDown(Composite parent,
-                                            final ConnectiveConstraint con,
-                                            String fieldName) {
-        String[] ops = getCompletions().getConnectiveOperatorCompletions( pattern.factType,
-                                                                          fieldName );
-        final Combo box = new Combo( parent,
-                                     SWT.SIMPLE | SWT.DROP_DOWN | SWT.READ_ONLY );
-        for ( int i = 0; i < ops.length; i++ ) {
-            String op = ops[i];
-            box.add( HumanReadable.getOperatorDisplayName( op ) );
-            if ( op.equals( con.operator ) ) {
-                box.select( i );
-            }
-        }
-        GridData gridData = new GridData( GridData.FILL_HORIZONTAL );
-        gridData.horizontalSpan = 2;
-        box.setLayoutData( gridData );
-        box.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                con.operator = HumanReadable.getOperatorName( box.getText() );
-                getModeller().setDirty( true );
-                
-                
-            }
-        } );
-    }
-
-    private void formulaValueEditor(Composite parent,
-                                    final ISingleFieldConstraint c,
-                                    GridData gd) {
-
-        final Text box = toolkit.createText( parent,
-                                             "" );
-
-        if ( c.value != null ) {
-            box.setText( c.value );
-        }
-        
-        gd.grabExcessHorizontalSpace = true;
-        gd.minimumWidth = 100;
-        box.setLayoutData( gd );
-
-        box.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                c.value = box.getText();
-                getModeller().setDirty( true );
-            }
-        } );
-    }
-
-    private void deleteBindedFact() {
-        List newPatterns = new ArrayList();
-        for ( int i = 0; i < parentPattern.patterns.length; i++ ) {
-            if ( parentPattern.patterns[i] != pattern ) {
-                newPatterns.add( parentPattern.patterns[i] );
-            }
-        }
-        parentPattern.patterns = (FactPattern[]) newPatterns.toArray( new FactPattern[newPatterns.size()] );
-        getModeller().reloadLhs();
-    }
-
-    private SuggestionCompletionEngine getCompletions() {
-        return getModeller().getSuggestionCompletionEngine();
-    }
-
-    
-    
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,644 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.ConnectiveConstraint;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.FieldConstraint;
+import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
+import org.drools.eclipse.rulebuilder.modeldriven.HumanReadable;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+/**
+ * This is the new smart widget that works off the model.
+ * 
+ * @author Michael Neale
+ * @author Ahti Kitsik
+ * @author Anton Arhipov
+ * 
+ */
+public class FactPatternWidget extends Widget {
+
+    private final CompositeFactPattern parentPattern;
+
+    private final FactPattern          pattern;
+
+    private boolean                    bindable;
+
+    public FactPatternWidget(FormToolkit toolkit,
+                             Composite parent,
+                             RuleModeller mod,
+                             FactPattern factPattern,
+                             CompositeFactPattern parentPattern,
+                             int idx,
+                             boolean canBind) {
+
+        super( parent,
+               toolkit,
+               mod,
+               idx );
+
+        this.pattern = factPattern;
+        this.parentPattern = parentPattern;
+        this.bindable = canBind;
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 4;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        l.verticalSpacing = 0;
+        parent.setLayout( l );
+
+        create();
+    }
+
+    private void create() {
+        Label l = toolkit.createLabel( parent,
+                             getPatternLabel() );
+        
+        GridData labelGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
+        labelGD.horizontalSpan = 2;
+        //labelGD.verticalAlignment = SWT.CENTER;
+        //labelGD.horizontalAlignment = SWT.CENTER;
+        l.setLayoutData(labelGD);
+        l.setBackground(new Color(parent.getShell().getDisplay(),240,240,240));
+        
+        addDeleteAction();
+        addMoreOptionsAction();
+        
+        Composite constraintComposite = toolkit.createComposite( parent );
+        GridLayout constraintLayout = new GridLayout();
+        constraintLayout.numColumns = 8;
+        constraintComposite.setLayout( constraintLayout );
+
+        for ( int row = 0; row < pattern.getFieldConstraints().length; row++ ) {
+            renderFieldConstraints( constraintComposite,
+                                    pattern.getFieldConstraints()[row],
+                                    null,
+                                    row,
+                                    true,
+                                    false );
+        }
+
+        toolkit.paintBordersFor( constraintComposite );
+    }
+
+    private void addMoreOptionsAction() {
+        ImageHyperlink link = addImage( parent,
+                                        "icons/new_item.gif" );
+
+        link.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                RuleDialog popup = new AddNewFieldConstraintDialog( parent.getShell(),
+                                                                    toolkit,
+                                                                    getModeller(),
+                                                                    pattern,
+                                                                    parentPattern != null );
+                popup.open();
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        link.setToolTipText( "Add a field to this condition, or bind a varible to this fact." );
+    }
+
+    private void addDeleteAction() {
+        ImageHyperlink delWholeLink = addImage( parent,
+                                                "icons/delete_obj.gif" );
+        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this ENTIRE condition, " + "and all the field constraints that belong to it." );
+                dialog.setText( "Remove this entire condition?" );
+                if ( dialog.open() == SWT.YES ) {
+                    if ( parentPattern == null ) {
+                        if ( getModeller().getModel().removeLhsItem( index ) ) {
+                            getModeller().reloadLhs();
+                        } else {
+                            showMessage( "Can't remove that item as it is used in the action part of the rule." );
+                        }
+                    } else {
+                        deleteBindedFact();
+                    }
+                    getModeller().setDirty( true );
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delWholeLink.setToolTipText( "Remove this condition." );
+    }
+
+    private void renderFieldConstraints(Composite constraintComposite,
+                                        FieldConstraint constraint,
+                                        final CompositeFieldConstraint parentConstraint,
+                                        int row,
+                                        boolean showBinding,
+                                        boolean nested) {
+        if ( constraint instanceof SingleFieldConstraint ) {
+            renderSingleFieldConstraint( constraintComposite,
+                                         row,
+                                         constraint,
+                                         parentConstraint,
+                                         showBinding,
+                                         nested );
+        } else if ( constraint instanceof CompositeFieldConstraint ) {
+            compositeFieldConstraintEditor( constraintComposite,
+                                            (CompositeFieldConstraint) constraint,
+                                            parentConstraint,
+                                            row,
+                                            nested );
+        }
+    }
+
+    private void compositeFieldConstraintEditor(Composite constraintComposite,
+                                                final CompositeFieldConstraint constraint,
+                                                final CompositeFieldConstraint parentConstraint,
+                                                final int row,
+                                                boolean nested) {
+
+        // Label
+        if ( constraint.compositeJunctionType.equals( CompositeFieldConstraint.COMPOSITE_TYPE_AND ) ) {
+            toolkit.createLabel( constraintComposite,
+                                 "All of:" );
+        } else {
+            toolkit.createLabel( constraintComposite,
+                                 "Any of:" );
+        }
+
+        addRemoveButton( constraintComposite,
+                         parentConstraint,
+                         row,
+                         "icons/delete_obj.gif",
+                         nested );
+
+        // button "add"
+        ImageHyperlink link = addImage( constraintComposite,
+                                        "icons/new_item.gif" );
+        link.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                RuleDialog popup = new AddCompositeConstraintOptionDialog( parent.getShell(),
+                                                                           getModeller(),
+                                                                           constraint,
+                                                                           pattern );
+                popup.open();
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+
+        link.setToolTipText("Add fields to this constriant.");
+        
+        addNestedElements( constraintComposite,
+                           constraint );
+    }
+
+    private void addNestedElements(Composite constraintComposite,
+                                   final CompositeFieldConstraint constraint) {
+        // Nested elementss
+        FieldConstraint[] nestedConstraints = constraint.constraints;
+        if ( nestedConstraints != null ) {
+            Composite nestedComposite = toolkit.createComposite( constraintComposite );
+            GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+            gd.horizontalSpan = 5;
+            nestedComposite.setLayoutData( gd );
+
+            GridLayout l = new GridLayout();
+            l.numColumns = 8;
+            l.marginBottom = 0;
+            l.marginHeight = 0;
+            l.marginLeft = 0;
+            l.marginRight = 0;
+            l.marginTop = 0;
+            l.marginWidth = 0;
+            l.verticalSpacing = 0;
+            nestedComposite.setLayout( l );
+
+            for ( int i = 0; i < nestedConstraints.length; i++ ) {
+                renderFieldConstraints( nestedComposite,
+                                        nestedConstraints[i],
+                                        constraint,
+                                        i,
+                                        false,
+                                        true );
+                toolkit.paintBordersFor( nestedComposite );
+            }
+        } else {
+            GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+            gd.horizontalSpan = 5;
+            Label dummyLabel = toolkit.createLabel( constraintComposite,
+                                                    "" ); // dummy
+            dummyLabel.setLayoutData( gd );
+        }
+    }
+
+    private void renderSingleFieldConstraint(Composite constraintComposite,
+                                             int row,
+                                             FieldConstraint constraint,
+                                             CompositeFieldConstraint parentConstraint,
+                                             boolean showBinding,
+                                             boolean nested) {
+        final SingleFieldConstraint c = (SingleFieldConstraint) constraint;
+        if ( c.constraintValueType != ISingleFieldConstraint.TYPE_PREDICATE ) {
+            createConstraintRow( constraintComposite,
+                                 parentConstraint,
+                                 row,
+                                 c,
+                                 showBinding,
+                                 nested );
+        } else {
+            createPredicateConstraintRow( constraintComposite,
+                                          row,
+                                          c );
+        }
+    }
+
+    private void createConstraintRow(Composite constraintComposite,
+                                     CompositeFieldConstraint parentConstraint,
+                                     int row,
+                                     final SingleFieldConstraint c,
+                                     boolean showBinding,
+                                     boolean nested) {
+        addBindingField( constraintComposite,
+                         c,
+                         showBinding );
+        toolkit.createLabel( constraintComposite,
+                             c.fieldName );
+        if ( c.connectives == null || c.connectives.length == 0 ) {
+            addRemoveButton( constraintComposite,
+                             parentConstraint,
+                             row,
+                             "icons/delete_item_small.gif",
+                             nested );
+        } else {
+            toolkit.createLabel( constraintComposite,
+                                 "" );
+        }
+        operatorDropDown( constraintComposite,
+                          c );
+        
+        constraintValueEditor(constraintComposite, c, c.fieldName);
+        
+        createConnectives( constraintComposite,
+                           c );
+        addConnectiveAction( constraintComposite,
+                             c );
+    }
+
+    private void addBindingField(Composite constraintComposite,
+                                 final SingleFieldConstraint c,
+                                 boolean showBinding) {
+        if ( !c.isBound() ) {
+            if ( bindable && showBinding ) {
+                ImageHyperlink link = addImage( constraintComposite,
+                                                "icons/new_item.gif" );
+                link.addHyperlinkListener( new IHyperlinkListener() {
+                    public void linkActivated(HyperlinkEvent e) {
+                        RuleDialog popup = new AssignFieldVariableDialog( parent.getShell(),
+                                                                          toolkit,
+                                                                          getModeller(),
+                                                                          c );
+                        popup.open();
+                    }
+
+                    public void linkEntered(HyperlinkEvent e) {
+                    }
+
+                    public void linkExited(HyperlinkEvent e) {
+                    }
+                } );
+
+                link.setToolTipText("Bind the field called [" + c.fieldName + "] to a variable.");
+            } else {
+                toolkit.createLabel( constraintComposite,
+                                     "" );
+            }
+        } else {
+            toolkit.createLabel( constraintComposite,
+                                 "[" + c.fieldBinding + "]" );
+        }
+
+    }
+
+    private void createPredicateConstraintRow(Composite constraintComposite,
+                                              int row,
+                                              final SingleFieldConstraint c) {
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.horizontalSpan = 6;
+        addImage( constraintComposite,
+                  "icons/function_assets.gif" );
+        formulaValueEditor( constraintComposite,
+                            c,
+                            gd );
+        addRemoveButton( constraintComposite,
+                         null,
+                         row,
+                         "icons/delete_item_small.gif",
+                         false );
+    }
+
+    private void createConnectives(Composite parent,
+                                   SingleFieldConstraint c) {
+        if ( c.connectives != null && c.connectives.length > 0 ) {
+            for ( int i = 0; i < c.connectives.length; i++ ) {
+                toolkit.createLabel( parent,
+                                     "" ); // dummy
+                toolkit.createLabel( parent,
+                                     "" ); // dummy
+                toolkit.createLabel( parent,
+                                     "" ); // dummy
+                ConnectiveConstraint con = c.connectives[i];
+                addRemoveConstraintAction( parent,
+                                           c,
+                                           con );
+                connectiveOperatorDropDown( parent,
+                                            con,
+                                            c.fieldName );
+               constraintValueEditor( parent,
+                                       con, c.fieldName );
+                
+            }
+        }
+    }
+
+    private void constraintValueEditor(Composite parent, ISingleFieldConstraint c, String name ){
+    	String type = this.modeller.getSuggestionCompletionEngine().getFieldType( pattern.factType, name );
+        new ConstraintValueEditor (parent, c, toolkit, modeller, type);
+    }
+    
+    
+    private void addConnectiveAction(Composite constraintComposite,
+                                     final SingleFieldConstraint c) {
+        ImageHyperlink link = addImage( constraintComposite,
+                                        "icons/add_connective.gif" );
+        link.setToolTipText( "Add more options to this fields values." );
+        link.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                c.addNewConnective();
+                getModeller().reloadLhs();
+                getModeller().setDirty( true );
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+
+        link.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING ) );
+    }
+
+    private void addRemoveButton(Composite constraintComposite,
+                                 final CompositeFieldConstraint parentConstraint,
+                                 final int row,
+                                 String iconRef,
+                                 boolean nested) {
+        if ( nested ) {
+            addNestedConstraintDeleteAction( constraintComposite,
+                                             parentConstraint,
+                                             row,
+                                             iconRef );
+        } else {
+            addRemoveFieldAction( constraintComposite,
+                                  row,
+                                  iconRef );
+        }
+
+    }
+
+    private void addNestedConstraintDeleteAction(Composite constraintComposite,
+                                                 final CompositeFieldConstraint parentConstraint,
+                                                 final int row,
+                                                 String iconRef) {
+        ImageHyperlink delLink = addImage( constraintComposite,
+                                           iconRef );
+        // "icons/delete_obj.gif");
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this (nested) restriction." );
+                dialog.setText( "Remove this item from nested constraint?" );
+                if ( dialog.open() == SWT.YES ) {
+                    parentConstraint.removeConstraint( row );
+                    getModeller().reloadLhs();
+                    getModeller().setDirty( true );
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+    }
+
+    private void addRemoveFieldAction(Composite constraintComposite,
+                                      final int currentRow,
+                                      String iconRef) {
+        ImageHyperlink delLink = addImage( constraintComposite,
+                                           iconRef );
+        delLink.setToolTipText( "Remove this fieldconstraint" );
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this item?" );
+                dialog.setText( "Remove this item?" );
+                if ( dialog.open() == SWT.YES ) {
+                    pattern.removeConstraint( currentRow );
+                    getModeller().reloadLhs();
+                    getModeller().setDirty( true );
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delLink.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING ) );
+    }
+
+    private void addRemoveConstraintAction(Composite composite,
+                                           final SingleFieldConstraint constraint,
+                                           final ConnectiveConstraint connConstraint) {
+        ImageHyperlink delLink = addImage( composite,
+                                           "icons/delete_item_small.gif" );
+        delLink.setToolTipText( "Remove this field constraint" );
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this item?" );
+                dialog.setText( "Remove this item?" );
+                if ( dialog.open() == SWT.YES ) {
+                    ConnectiveConstraint[] connectives = constraint.connectives;
+                    List nConnectives = new ArrayList();
+                    for ( int i = 0; i < connectives.length; i++ ) {
+                        if ( connectives[i] != connConstraint ) {
+                            nConnectives.add( connectives[i] );
+                        }
+                    }
+                    constraint.connectives = (ConnectiveConstraint[]) nConnectives.toArray( new ConnectiveConstraint[nConnectives.size()] );
+
+                    getModeller().reloadLhs();
+                    getModeller().setDirty( true );
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delLink.setLayoutData( new GridData( GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_END ) );
+    }
+
+    /**
+     * This returns the pattern label.
+     */
+    private String getPatternLabel() {
+        if ( pattern.boundName != null ) {
+            return pattern.factType + " [" + pattern.boundName + "]";
+        }
+        return pattern.factType;
+    }
+
+    private void operatorDropDown(Composite parent,
+                                  final SingleFieldConstraint c) {
+        String[] ops = getCompletions().getOperatorCompletions( pattern.factType,
+                                                                c.fieldName );
+        final Combo box = new Combo( parent,
+                                     SWT.SIMPLE | SWT.DROP_DOWN | SWT.READ_ONLY );
+        for ( int i = 0; i < ops.length; i++ ) {
+            String op = ops[i];
+            box.add( HumanReadable.getOperatorDisplayName( op ) );
+            if ( op.equals( c.operator ) ) {
+                box.select( i );
+            }
+        }
+        GridData gridData = new GridData( GridData.FILL_HORIZONTAL );
+        gridData.horizontalSpan = 2;
+        box.setLayoutData( gridData );
+        box.addListener( SWT.Selection,
+                         new Listener() {
+                             public void handleEvent(Event event) {
+                                 c.operator = HumanReadable.getOperatorName( box.getText() );
+                                 getModeller().setDirty( true );
+                             }
+                         } );
+    }
+
+    private void connectiveOperatorDropDown(Composite parent,
+                                            final ConnectiveConstraint con,
+                                            String fieldName) {
+        String[] ops = getCompletions().getConnectiveOperatorCompletions( pattern.factType,
+                                                                          fieldName );
+        final Combo box = new Combo( parent,
+                                     SWT.SIMPLE | SWT.DROP_DOWN | SWT.READ_ONLY );
+        for ( int i = 0; i < ops.length; i++ ) {
+            String op = ops[i];
+            box.add( HumanReadable.getOperatorDisplayName( op ) );
+            if ( op.equals( con.operator ) ) {
+                box.select( i );
+            }
+        }
+        GridData gridData = new GridData( GridData.FILL_HORIZONTAL );
+        gridData.horizontalSpan = 2;
+        box.setLayoutData( gridData );
+        box.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                con.operator = HumanReadable.getOperatorName( box.getText() );
+                getModeller().setDirty( true );
+                
+                
+            }
+        } );
+    }
+
+    private void formulaValueEditor(Composite parent,
+                                    final ISingleFieldConstraint c,
+                                    GridData gd) {
+
+        final Text box = toolkit.createText( parent,
+                                             "" );
+
+        if ( c.value != null ) {
+            box.setText( c.value );
+        }
+        
+        gd.grabExcessHorizontalSpace = true;
+        gd.minimumWidth = 100;
+        box.setLayoutData( gd );
+
+        box.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                c.value = box.getText();
+                getModeller().setDirty( true );
+            }
+        } );
+    }
+
+    private void deleteBindedFact() {
+        List newPatterns = new ArrayList();
+        for ( int i = 0; i < parentPattern.patterns.length; i++ ) {
+            if ( parentPattern.patterns[i] != pattern ) {
+                newPatterns.add( parentPattern.patterns[i] );
+            }
+        }
+        parentPattern.patterns = (FactPattern[]) newPatterns.toArray( new FactPattern[newPatterns.size()] );
+        getModeller().reloadLhs();
+    }
+
+    private SuggestionCompletionEngine getCompletions() {
+        return getModeller().getSuggestionCompletionEngine();
+    }
+
+    
+    
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,32 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-public class LHSDSLSentenceWidget extends DSLSentenceWidget {
-
-    public LHSDSLSentenceWidget(FormToolkit toolkit,
-                                Composite parent,
-                                DSLSentence sentence,
-                                RuleModeller modeller,
-                                int index) {
-        super( toolkit,
-               parent,
-               sentence,
-               modeller,
-               index );
-
-    }
-
-    protected void updateModel() {
-        if ( getModeller().getModel().removeLhsItem( index ) ) {
-            getModeller().reloadLhs();
-        } else {
-            showMessage( "Can't remove that item as it is used in the action part of the rule." );
-        }
-        getModeller().reloadLhs();
-        getModeller().setDirty( true );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/LHSDSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,32 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+public class LHSDSLSentenceWidget extends DSLSentenceWidget {
+
+    public LHSDSLSentenceWidget(FormToolkit toolkit,
+                                Composite parent,
+                                DSLSentence sentence,
+                                RuleModeller modeller,
+                                int index) {
+        super( toolkit,
+               parent,
+               sentence,
+               modeller,
+               index );
+
+    }
+
+    protected void updateModel() {
+        if ( getModeller().getModel().removeLhsItem( index ) ) {
+            getModeller().reloadLhs();
+        } else {
+            showMessage( "Can't remove that item as it is used in the action part of the rule." );
+        }
+        getModeller().reloadLhs();
+        getModeller().setDirty( true );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,28 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.widgets.Text;
-
-public class NumericKeyFilter implements KeyListener {
-
-	private Text box;
-	
-	public NumericKeyFilter(Text box){
-		this.box = box;
-		box.addKeyListener(this);
-	}
-	
-	public void keyPressed(KeyEvent e) {
-		char c = e.character;
-		if (Character.isLetter( c ) && c != '='
-            && !(this.box.getText().startsWith( "=" ))) {
-			e.doit = false;
-		}
-	}
-
-	public void keyReleased(KeyEvent e) {
-		
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/NumericKeyFilter.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,28 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.widgets.Text;
+
+public class NumericKeyFilter implements KeyListener {
+
+	private Text box;
+	
+	public NumericKeyFilter(Text box){
+		this.box = box;
+		box.addKeyListener(this);
+	}
+	
+	public void keyPressed(KeyEvent e) {
+		char c = e.character;
+		if (Character.isLetter( c ) && c != '='
+            && !(this.box.getText().startsWith( "=" ))) {
+			e.doit = false;
+		}
+	}
+
+	public void keyReleased(KeyEvent e) {
+		
+	}
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,27 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-public class RHSDSLSentenceWidget extends DSLSentenceWidget {
-
-    public RHSDSLSentenceWidget(FormToolkit toolkit,
-                                Composite parent,
-                                DSLSentence sentence,
-                                RuleModeller modeller,
-                                int index) {
-        super( toolkit,
-               parent,
-               sentence,
-               modeller,
-               index );
-    }
-
-    protected void updateModel() {
-        getModeller().getModel().removeRhsItem( index );
-        getModeller().reloadRhs();
-        getModeller().setDirty( true );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RHSDSLSentenceWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,27 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+public class RHSDSLSentenceWidget extends DSLSentenceWidget {
+
+    public RHSDSLSentenceWidget(FormToolkit toolkit,
+                                Composite parent,
+                                DSLSentence sentence,
+                                RuleModeller modeller,
+                                int index) {
+        super( toolkit,
+               parent,
+               sentence,
+               modeller,
+               index );
+    }
+
+    protected void updateModel() {
+        getModeller().getModel().removeRhsItem( index );
+        getModeller().reloadRhs();
+        getModeller().setDirty( true );
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,185 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.brl.RuleAttribute;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-public class RuleAttributeWidget extends Widget {
-
-    public RuleAttributeWidget(FormToolkit toolkit,
-                               Composite parent,
-                               RuleModeller modeller) {
-        super( parent,
-               toolkit,
-               modeller,
-               0 );
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 3;
-        // l.marginBottom = 5;
-        // l.marginHeight = 5;
-        // l.marginLeft = 5;
-        // l.marginRight = 5;
-        // l.marginTop = 10;
-        // l.marginWidth = 10;
-        // l.verticalSpacing = 15;
-        parent.setLayout( l );
-
-        create();
-    }
-
-    private void create() {
-
-        RuleAttribute[] attrs = modeller.getModel().attributes;
-        for ( int i = 0; i < attrs.length; i++ ) {
-            RuleAttribute at = attrs[i];
-            addAttribute( at );
-        }
-        toolkit.paintBordersFor( parent );
-    }
-
-    private void addAttribute(RuleAttribute at) {
-        toolkit.createLabel( parent,
-                             at.attributeName );
-
-        if ( at.attributeName.equals( "no-loop" ) ) {
-            toolkit.createLabel( parent,
-                                 "" );
-        } else if ( at.attributeName.equals( "enabled" ) || at.attributeName.equals( "auto-focus" ) || at.attributeName.equals( "lock-on-active" ) ) {
-            createCheckbox( at );
-        } else {
-            createText( at );
-        }
-
-        addDeleteLink( at );
-
-    }
-
-    private void createText(final RuleAttribute at) {
-        final Text box = toolkit.createText( parent,
-                                             "" );
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.grabExcessHorizontalSpace = true;
-        gd.minimumWidth = 100;
-        box.setLayoutData( gd );
-        
-        box.setText( at.value );
-
-        box.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                at.value = box.getText();
-                modeller.setDirty( true );
-            }
-        } );
-
-        if ( at.attributeName.equals( "date-effective" ) || at.attributeName.equals( "date-expires" ) ) {
-            if ( at.value == null || "".equals( at.value.trim() ) ) {
-                box.setText( "dd-MMM-yyyy" );
-            }
-        }
-
-    }
-
-    private void createCheckbox(final RuleAttribute at) {
-        final Button checkbox = toolkit.createButton( parent,
-                                                      "",
-                                                      SWT.CHECK );
-
-        if ( at.value == null ) {
-            checkbox.setSelection( true );
-            at.value = "true";
-        } else {
-            checkbox.setSelection( at.value.equals( "true" ) ? true : false );
-        }
-
-        checkbox.addSelectionListener( new SelectionListener() {
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-
-            }
-
-            public void widgetSelected(SelectionEvent e) {
-                at.value = (checkbox.getSelection()) ? "true" : "false";
-                modeller.setDirty( true );
-            }
-
-        } );
-
-    }
-
-    private void addDeleteLink(final RuleAttribute at) {
-        ImageHyperlink delLink = addImage( parent,
-                                           "icons/delete_item_small.gif" );
-        delLink.setToolTipText( "Remove this fieldconstraint" );
-        delLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this rule option?" );
-                dialog.setText( "Remove this rule option?" );
-                if ( dialog.open() == SWT.YES ) {
-                    RuleAttribute[] attrs = modeller.getModel().attributes;
-                    for ( int i = 0; i < attrs.length; i++ ) {
-                        if ( attrs[i] == at ) {
-                            modeller.getModel().removeAttribute( i );
-
-                            modeller.setDirty( true );
-                            modeller.reloadOptions();
-                        }
-                    }
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-
-    }
-
-    /**
-     * Return a listbox of choices for rule attributes.
-     * 
-     * @return
-     */
-    public static List getAttributeList() {
-        List list = new ArrayList();
-        list.add( "..." );
-
-        list.add( "salience" );
-        list.add( "enabled" );
-        list.add( "date-effective" );
-        list.add( "date-expires" );
-        list.add( "no-loop" );
-        list.add( "agenda-group" );
-        list.add( "activation-group" );
-        list.add( "duration" );
-        list.add( "auto-focus" );
-        list.add( "lock-on-active" );
-        list.add( "ruleflow-group" );
-        list.add( "dialect" );
-
-        return list;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributeWidget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,185 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.brl.RuleAttribute;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+public class RuleAttributeWidget extends Widget {
+
+    public RuleAttributeWidget(FormToolkit toolkit,
+                               Composite parent,
+                               RuleModeller modeller) {
+        super( parent,
+               toolkit,
+               modeller,
+               0 );
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 3;
+        // l.marginBottom = 5;
+        // l.marginHeight = 5;
+        // l.marginLeft = 5;
+        // l.marginRight = 5;
+        // l.marginTop = 10;
+        // l.marginWidth = 10;
+        // l.verticalSpacing = 15;
+        parent.setLayout( l );
+
+        create();
+    }
+
+    private void create() {
+
+        RuleAttribute[] attrs = modeller.getModel().attributes;
+        for ( int i = 0; i < attrs.length; i++ ) {
+            RuleAttribute at = attrs[i];
+            addAttribute( at );
+        }
+        toolkit.paintBordersFor( parent );
+    }
+
+    private void addAttribute(RuleAttribute at) {
+        toolkit.createLabel( parent,
+                             at.attributeName );
+
+        if ( at.attributeName.equals( "no-loop" ) ) {
+            toolkit.createLabel( parent,
+                                 "" );
+        } else if ( at.attributeName.equals( "enabled" ) || at.attributeName.equals( "auto-focus" ) || at.attributeName.equals( "lock-on-active" ) ) {
+            createCheckbox( at );
+        } else {
+            createText( at );
+        }
+
+        addDeleteLink( at );
+
+    }
+
+    private void createText(final RuleAttribute at) {
+        final Text box = toolkit.createText( parent,
+                                             "" );
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.grabExcessHorizontalSpace = true;
+        gd.minimumWidth = 100;
+        box.setLayoutData( gd );
+        
+        box.setText( at.value );
+
+        box.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                at.value = box.getText();
+                modeller.setDirty( true );
+            }
+        } );
+
+        if ( at.attributeName.equals( "date-effective" ) || at.attributeName.equals( "date-expires" ) ) {
+            if ( at.value == null || "".equals( at.value.trim() ) ) {
+                box.setText( "dd-MMM-yyyy" );
+            }
+        }
+
+    }
+
+    private void createCheckbox(final RuleAttribute at) {
+        final Button checkbox = toolkit.createButton( parent,
+                                                      "",
+                                                      SWT.CHECK );
+
+        if ( at.value == null ) {
+            checkbox.setSelection( true );
+            at.value = "true";
+        } else {
+            checkbox.setSelection( at.value.equals( "true" ) ? true : false );
+        }
+
+        checkbox.addSelectionListener( new SelectionListener() {
+
+            public void widgetDefaultSelected(SelectionEvent e) {
+
+            }
+
+            public void widgetSelected(SelectionEvent e) {
+                at.value = (checkbox.getSelection()) ? "true" : "false";
+                modeller.setDirty( true );
+            }
+
+        } );
+
+    }
+
+    private void addDeleteLink(final RuleAttribute at) {
+        ImageHyperlink delLink = addImage( parent,
+                                           "icons/delete_item_small.gif" );
+        delLink.setToolTipText( "Remove this fieldconstraint" );
+        delLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this rule option?" );
+                dialog.setText( "Remove this rule option?" );
+                if ( dialog.open() == SWT.YES ) {
+                    RuleAttribute[] attrs = modeller.getModel().attributes;
+                    for ( int i = 0; i < attrs.length; i++ ) {
+                        if ( attrs[i] == at ) {
+                            modeller.getModel().removeAttribute( i );
+
+                            modeller.setDirty( true );
+                            modeller.reloadOptions();
+                        }
+                    }
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+
+    }
+
+    /**
+     * Return a listbox of choices for rule attributes.
+     * 
+     * @return
+     */
+    public static List getAttributeList() {
+        List list = new ArrayList();
+        list.add( "..." );
+
+        list.add( "salience" );
+        list.add( "enabled" );
+        list.add( "date-effective" );
+        list.add( "date-expires" );
+        list.add( "no-loop" );
+        list.add( "agenda-group" );
+        list.add( "activation-group" );
+        list.add( "duration" );
+        list.add( "auto-focus" );
+        list.add( "lock-on-active" );
+        list.add( "ruleflow-group" );
+        list.add( "dialect" );
+
+        return list;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,82 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.brl.RuleAttribute;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-
-public class RuleAttributesDialog extends RuleDialog {
-
-    private RuleModeller      modeller;
-
-    public RuleAttributesDialog(Shell parent,
-                                RuleModeller modeller) {
-        super( parent,
-               "Add new option to the rule",
-               "Pick the value from combo." );
-
-        this.modeller = modeller;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        GridLayout l = new GridLayout();
-        l.numColumns = 3;
-        l.marginBottom = 0;
-        l.marginHeight = 0;
-        l.marginLeft = 0;
-        l.marginRight = 0;
-        l.marginTop = 0;
-        l.marginWidth = 0;
-        composite.setLayout( l );
-
-        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
-        gd.horizontalSpan = 2;
-
-        createAtributesSelectionCombo( composite,
-                                       gd );
-
-        return composite;
-    }
-
-    private void createAtributesSelectionCombo(Composite composite,
-                                               GridData gd) {
-        createLabel( composite,
-                     "Attributes" );
-        final Combo combo = new Combo( composite,
-                                       SWT.READ_ONLY );
-        combo.setLayoutData( gd );
-        List attributes = RuleAttributeWidget.getAttributeList();
-        for ( Iterator iterator = attributes.iterator(); iterator.hasNext(); ) {
-            String attr = (String) iterator.next();
-            combo.add( attr );
-        }
-        combo.select( 0 );
-
-        combo.addListener( SWT.Selection,
-                           new Listener() {
-                               public void handleEvent(Event event) {
-                                   if ( combo.getSelectionIndex() == 0 ) {
-                                       return;
-                                   }
-                                   modeller.getModel().addAttribute( new RuleAttribute( combo.getText(),
-                                                                                        "" ) );
-                                   modeller.setDirty( true );
-                                   modeller.reloadOptions();
-                                   close();
-                               }
-                           } );
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleAttributesDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,82 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.brl.RuleAttribute;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+
+public class RuleAttributesDialog extends RuleDialog {
+
+    private RuleModeller      modeller;
+
+    public RuleAttributesDialog(Shell parent,
+                                RuleModeller modeller) {
+        super( parent,
+               "Add new option to the rule",
+               "Pick the value from combo." );
+
+        this.modeller = modeller;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        GridLayout l = new GridLayout();
+        l.numColumns = 3;
+        l.marginBottom = 0;
+        l.marginHeight = 0;
+        l.marginLeft = 0;
+        l.marginRight = 0;
+        l.marginTop = 0;
+        l.marginWidth = 0;
+        composite.setLayout( l );
+
+        GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+        gd.horizontalSpan = 2;
+
+        createAtributesSelectionCombo( composite,
+                                       gd );
+
+        return composite;
+    }
+
+    private void createAtributesSelectionCombo(Composite composite,
+                                               GridData gd) {
+        createLabel( composite,
+                     "Attributes" );
+        final Combo combo = new Combo( composite,
+                                       SWT.READ_ONLY );
+        combo.setLayoutData( gd );
+        List attributes = RuleAttributeWidget.getAttributeList();
+        for ( Iterator iterator = attributes.iterator(); iterator.hasNext(); ) {
+            String attr = (String) iterator.next();
+            combo.add( attr );
+        }
+        combo.select( 0 );
+
+        combo.addListener( SWT.Selection,
+                           new Listener() {
+                               public void handleEvent(Event event) {
+                                   if ( combo.getSelectionIndex() == 0 ) {
+                                       return;
+                                   }
+                                   modeller.getModel().addAttribute( new RuleAttribute( combo.getText(),
+                                                                                        "" ) );
+                                   modeller.setDirty( true );
+                                   modeller.reloadOptions();
+                                   close();
+                               }
+                           } );
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,120 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class RuleDialog extends Dialog {
-
-    private String title;
-    private String hint;
-
-    public RuleDialog(Shell parent,
-                      String title,
-                      String hint) {
-        //super(parent,INFOPOPUPRESIZE_SHELLSTYLE,true,true,true,true,title,hint);
-        super( (Shell) parent.getParent() );
-        setShellStyle( getShellStyle() | SWT.RESIZE );
-        this.title = title;
-        this.hint = hint;
-    }
-
-    protected void configureShell(Shell newShell) {
-        super.configureShell( newShell );
-        newShell.setText( title );
-        newShell.setToolTipText( hint );
-    }
-
-    protected Control createDialogArea(Composite parent) {
-
-        Composite finalComposite = new Composite( parent,
-                                                  SWT.NONE );
-        finalComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
-        GridLayout finalLayout = new GridLayout();
-        finalComposite.setLayout( finalLayout );
-
-        Composite titleComposite = new Composite( finalComposite,
-                                                  SWT.NONE );
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = convertVerticalDLUsToPixels( IDialogConstants.VERTICAL_MARGIN );
-        layout.marginWidth = convertHorizontalDLUsToPixels( IDialogConstants.HORIZONTAL_MARGIN );
-        layout.verticalSpacing = 8;
-        layout.horizontalSpacing = 8;
-        titleComposite.setLayout( layout );
-        titleComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
-        applyDialogFont( titleComposite );
-
-        Label l = new Label( titleComposite,
-                             SWT.CENTER );
-        l.setToolTipText( hint );
-        l.setText( title );
-
-        Font exFont = l.getFont();
-
-        FontData[] exfds = l.getFont().getFontData();
-        if ( exfds.length > 0 ) {
-            FontData fd = exfds[0];
-            fd.setHeight( fd.getHeight() + 4 );
-            Font f = new Font( exFont.getDevice(),
-                               fd );
-            l.setFont( f );
-        }
-
-        Composite contentComposite = (Composite) super.createDialogArea( finalComposite );
-
-        return contentComposite;
-    }
-
-    protected void createButtonsForButtonBar(Composite parent) {
-        // We have only cancel button
-        createButton( parent,
-                      IDialogConstants.CANCEL_ID,
-                      IDialogConstants.CANCEL_LABEL,
-                      false );
-
-    }
-
-    /*    
-     protected Control createDialogArea(Composite parent) {
-     Composite composite = new Composite(parent, SWT.NONE);
-     
-     GridLayout layout = new GridLayout();
-     layout.marginHeight = 2;
-     layout.marginWidth = 2;
-     layout.verticalSpacing = 2;
-     layout.horizontalSpacing = 2;
-     composite.setLayout(layout);
-     
-     GridData gd = new GridData(GridData.FILL_BOTH);
-     composite.setLayoutData(gd);
-     
-     return composite;
-     }
-     */
-
-    protected Label createLabel(Composite composite,
-                                String string) {
-        Label l = new Label( composite,
-                             0 );
-        l.setText( string );
-        return l;
-    }
-
-    protected Text createText(Composite composite,
-                              String string) {
-        Text t = new Text( composite,
-                           0 );
-        t.setText( string );
-        return t;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,120 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+public class RuleDialog extends Dialog {
+
+    private String title;
+    private String hint;
+
+    public RuleDialog(Shell parent,
+                      String title,
+                      String hint) {
+        //super(parent,INFOPOPUPRESIZE_SHELLSTYLE,true,true,true,true,title,hint);
+        super( (Shell) parent.getParent() );
+        setShellStyle( getShellStyle() | SWT.RESIZE );
+        this.title = title;
+        this.hint = hint;
+    }
+
+    protected void configureShell(Shell newShell) {
+        super.configureShell( newShell );
+        newShell.setText( title );
+        newShell.setToolTipText( hint );
+    }
+
+    protected Control createDialogArea(Composite parent) {
+
+        Composite finalComposite = new Composite( parent,
+                                                  SWT.NONE );
+        finalComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
+        GridLayout finalLayout = new GridLayout();
+        finalComposite.setLayout( finalLayout );
+
+        Composite titleComposite = new Composite( finalComposite,
+                                                  SWT.NONE );
+        GridLayout layout = new GridLayout();
+        layout.marginHeight = convertVerticalDLUsToPixels( IDialogConstants.VERTICAL_MARGIN );
+        layout.marginWidth = convertHorizontalDLUsToPixels( IDialogConstants.HORIZONTAL_MARGIN );
+        layout.verticalSpacing = 8;
+        layout.horizontalSpacing = 8;
+        titleComposite.setLayout( layout );
+        titleComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
+        applyDialogFont( titleComposite );
+
+        Label l = new Label( titleComposite,
+                             SWT.CENTER );
+        l.setToolTipText( hint );
+        l.setText( title );
+
+        Font exFont = l.getFont();
+
+        FontData[] exfds = l.getFont().getFontData();
+        if ( exfds.length > 0 ) {
+            FontData fd = exfds[0];
+            fd.setHeight( fd.getHeight() + 4 );
+            Font f = new Font( exFont.getDevice(),
+                               fd );
+            l.setFont( f );
+        }
+
+        Composite contentComposite = (Composite) super.createDialogArea( finalComposite );
+
+        return contentComposite;
+    }
+
+    protected void createButtonsForButtonBar(Composite parent) {
+        // We have only cancel button
+        createButton( parent,
+                      IDialogConstants.CANCEL_ID,
+                      IDialogConstants.CANCEL_LABEL,
+                      false );
+
+    }
+
+    /*    
+     protected Control createDialogArea(Composite parent) {
+     Composite composite = new Composite(parent, SWT.NONE);
+     
+     GridLayout layout = new GridLayout();
+     layout.marginHeight = 2;
+     layout.marginWidth = 2;
+     layout.verticalSpacing = 2;
+     layout.horizontalSpacing = 2;
+     composite.setLayout(layout);
+     
+     GridData gd = new GridData(GridData.FILL_BOTH);
+     composite.setLayoutData(gd);
+     
+     return composite;
+     }
+     */
+
+    protected Label createLabel(Composite composite,
+                                String string) {
+        Label l = new Label( composite,
+                             0 );
+        l.setText( string );
+        return l;
+    }
+
+    protected Text createText(Composite composite,
+                              String string) {
+        Text t = new Text( composite,
+                           0 );
+        t.setText( string );
+        return t;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,387 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
-import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
-import org.drools.brms.client.modeldriven.brl.ActionSetField;
-import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brl.DSLSentence;
-import org.drools.brms.client.modeldriven.brl.FactPattern;
-import org.drools.brms.client.modeldriven.brl.IAction;
-import org.drools.brms.client.modeldriven.brl.IPattern;
-import org.drools.brms.client.modeldriven.brl.RuleModel;
-import org.drools.eclipse.rulebuilder.editors.RuleEditor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.widgets.ColumnLayout;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-
-/**
- * Main modeling class responsible for Eclipse Forms-based rule builder widget
- * rendering
- * 
- * @author Anton Arhipov
- * @author Ahti Kitsik
- * 
- */
-public class RuleModeller {
-
-    private Composite          ifComposite;
-
-    private Composite          thenComposite;
-
-    private Composite          optionsComposite;
-
-    private final ScrolledForm form;
-
-    private final FormToolkit  toolkit;
-
-    private RuleModel          model;
-
-    private boolean            dirty;
-
-    private RuleEditor         editor;
-
-    public boolean isDirty() {
-        return dirty;
-    }
-
-    public void setDirty(boolean dirty) {
-        this.dirty = dirty;
-        editor.dirtyPropertyChanged();
-    }
-
-    public RuleModeller(ScrolledForm form,
-                        FormToolkit toolkit,
-                        RuleModel model,
-                        RuleEditor editor) {
-
-        this.form = form;
-        this.toolkit = toolkit;
-        this.model = model;
-        this.editor = editor;
-
-        setTitleAndFont(form);
-
-        ColumnLayout colLayout = new ColumnLayout();
-        colLayout.minNumColumns = 1;
-        colLayout.maxNumColumns = 1;
-
-        form.getBody().setLayout( colLayout );
-
-        // addToolBar(toolkit, form);
-
-        Shell shell = new Shell( Display.getCurrent() );
-        Window conditionPopup = new AddNewConditionDialog( shell,
-                                                           this );
-        Window actionPopup = new AddNewActionDialog( shell,
-                                                     this );
-
-        Window optionsPopup = new RuleAttributesDialog( shell,
-                                                        this );
-
-        Section ifSection = createMainSection( form,
-                                               toolkit,
-                                               "WHEN",
-                                               conditionPopup );
-        Section thenSection = createMainSection( form,
-                                                 toolkit,
-                                                 "THEN",
-                                                 actionPopup );
-        Section optionsSection = createMainSection( form,
-                                                    toolkit,
-                                                    "(options)",
-                                                    optionsPopup );
-
-        ColumnLayout layout = new ColumnLayout();
-        layout.minNumColumns = 1;
-        layout.maxNumColumns = 1;
-        // layout.verticalSpacing = 0;
-
-        ((Composite) (ifSection.getClient())).setLayout( layout );
-        ((Composite) (thenSection.getClient())).setLayout( layout );
-        ((Composite) (optionsSection.getClient())).setLayout( layout );
-        ifSection.setLayout( layout );
-        thenSection.setLayout( layout );
-        optionsSection.setLayout( layout );
-
-        ifComposite = (Composite) ifSection.getClient();
-        thenComposite = (Composite) thenSection.getClient();
-        optionsComposite = (Composite) optionsSection.getClient();
-
-    }
-
-	private void setTitleAndFont(ScrolledForm form) {
-		form.setText( "Guided rule editor" );
-        
-		Font systemFont = form.getDisplay().getSystemFont();
-		FontData[] exfds = systemFont.getFontData();
-        if ( exfds.length > 0 ) {
-            FontData fd = exfds[0];
-            fd.setHeight( fd.getHeight() + 2 );
-            fd.setStyle(SWT.BOLD);
-            Font f = new Font( systemFont.getDevice(),
-                               fd );
-            form.setFont(f);
-        }
-	}
-
-    public SuggestionCompletionEngine getSuggestionCompletionEngine() {
-        return editor.getCompletionEngine();
-    }
-
-    public RuleModel getModel() {
-        return model;
-    }
-
-    public void setModel(RuleModel model) {
-        this.model = model;
-    }
-
-    private void clearComposite(Composite composite) {
-        if ( composite != null ) {
-            Control[] c = composite.getChildren();
-            for ( int i = 0; i < c.length; i++ ) {
-                Control c2 = c[i];
-                c2.dispose();
-            }
-        }
-    }
-
-    private void reloadCommon() {
-        toolkit.paintBordersFor( form.getBody() );
-        form.redraw();
-        Dialog.applyDialogFont( form.getBody() );
-        form.reflow( true );
-    }
-
-    public void reloadRhs() {
-        clearComposite( thenComposite );
-        redrawRhs();
-        reloadCommon();
-    }
-
-    public void reloadLhs() {
-        clearComposite( ifComposite );
-        redrawLhs();
-        reloadCommon();
-    }
-
-    public void reloadOptions() {
-        clearComposite( optionsComposite );
-        redrawOptions();
-        reloadCommon();
-    }
-
-    public void reloadWidgets() {
-        reloadLhs();
-        reloadRhs();
-        reloadOptions();
-    }
-
-    private void redrawOptions() {
-        Composite comp = toolkit.createComposite( optionsComposite );
-        new RuleAttributeWidget( toolkit,
-                                 comp,
-                                 this );
-    }
-
-    private void redrawRhs() {
-        for ( int i = 0; i < model.rhs.length; i++ ) {
-            IAction action = model.rhs[i];
-
-            if ( action instanceof ActionSetField ) {
-                addActionSetFieldWidget( action,
-                                         i );
-            } else if ( action instanceof ActionInsertFact ) {
-                addActionInsertFactWidget( action,
-                                           i );
-            } else if ( action instanceof ActionRetractFact ) {
-                addActionRetractFactWidget( action,
-                                            i );
-            } else if ( action instanceof DSLSentence ) {
-                addRHSDSLSentenceWidget( i,
-                                         (DSLSentence) action );
-            }
-
-        }
-    }
-
-    private void addActionInsertFactWidget(IAction action,
-                                           int i) {
-        Composite comp = toolkit.createComposite( thenComposite );
-        new ActionInsertFactWidget( toolkit,
-                                    comp,
-                                    this,
-                                    (ActionInsertFact) action,
-                                    i );
-    }
-
-    private void redrawLhs() {
-        for ( int i = 0; i < model.lhs.length; i++ ) {
-            IPattern pattern = model.lhs[i];
-
-            if ( pattern instanceof FactPattern ) {
-                addFactPatternWidget( i,
-                                      (FactPattern) pattern );
-            }
-            if ( pattern instanceof CompositeFactPattern ) {
-                addCompositeFactPatternWidget( i,
-                                               (CompositeFactPattern) pattern );
-            } else if ( pattern instanceof DSLSentence ) {
-                // skip for now
-            } else {
-                // dont' care
-            }
-        }
-
-        for ( int i = 0; i < model.lhs.length; i++ ) {
-            IPattern pattern = model.lhs[i];
-            if ( pattern instanceof DSLSentence ) {
-                addLHSDSLSentenceWidget( i,
-                                         (DSLSentence) pattern );
-            }
-        }
-    }
-
-    private void addActionRetractFactWidget(IAction action,
-                                            int i) {
-        Composite comp = toolkit.createComposite( thenComposite );
-        new ActionRetractFactWidget( toolkit,
-                                     comp,
-                                     this,
-                                     (ActionRetractFact) action,
-                                     i );
-    }
-
-    /*private void addActionAssertFactWidget(IAction action,
-                                           int i) {
-        Composite comp = toolkit.createComposite( thenComposite );
-        new ActionInsertFactWidget( toolkit,
-                                    comp,
-                                    this,
-                                    (ActionInsertFact) action,
-                                    i );
-
-    }*/
-
-    private void addActionSetFieldWidget(IAction action,
-                                         int i) {
-        Composite comp = toolkit.createComposite( thenComposite );
-        new ActionSetFieldWidget( toolkit,
-                                  comp,
-                                  this,
-                                  model,
-                                  (ActionSetField) action,
-                                  i );
-    }
-
-    private void addRHSDSLSentenceWidget(int idx,
-                                         DSLSentence pattern) {
-        Composite comp = toolkit.createComposite( thenComposite );
-        new RHSDSLSentenceWidget( toolkit,
-                                  comp,
-                                  pattern,
-                                  this,
-                                  idx );
-    }
-
-    private void addLHSDSLSentenceWidget(int idx,
-                                         DSLSentence pattern) {
-        Composite comp = toolkit.createComposite( ifComposite );
-        new LHSDSLSentenceWidget( toolkit,
-                                  comp,
-                                  pattern,
-                                  this,
-                                  idx );
-    }
-
-    private void addCompositeFactPatternWidget(int idx,
-                                               CompositeFactPattern pattern) {
-        Composite comp = toolkit.createComposite( ifComposite );
-        new CompositeFactPatternWidget( toolkit,
-                                        comp,
-                                        this,
-                                        pattern,
-                                        idx );
-    }
-
-    private void addFactPatternWidget(int idx,
-                                      FactPattern pattern) {
-        Composite comp = toolkit.createComposite( ifComposite );
-        new FactPatternWidget( toolkit,
-                               comp,
-                               this,
-                               pattern,
-                               null,
-                               idx,
-                               true );
-    }
-
-    private Section createMainSection(final ScrolledForm form,
-                                      FormToolkit toolkit,
-                                      String title,
-                                      Window popup) {
-        ColumnLayout layout = new ColumnLayout();
-        layout.minNumColumns = 1;
-        layout.maxNumColumns = 1;
-        Section l1Sect = toolkit.createSection( form.getBody(),
-                                                ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR | ExpandableComposite.EXPANDED );
-        l1Sect.setActiveToggleColor( toolkit.getHyperlinkGroup().getActiveForeground() );
-        l1Sect.setToggleColor( toolkit.getColors().getColor( FormColors.SEPARATOR ) );
-        l1Sect.setText( title );
-        createAddToolItem( l1Sect,
-                           popup );
-        Composite comp = toolkit.createComposite( l1Sect );
-        l1Sect.setClient( comp );
-        return l1Sect;
-    }
-
-    private void createAddToolItem(Section sect,
-                                   final Window popup) {
-        ToolBar tbar = new ToolBar( sect,
-                                    SWT.FLAT | SWT.HORIZONTAL );
-        ToolItem titem = new ToolItem( tbar,
-                                       SWT.SEPARATOR );
-        titem = new ToolItem( tbar,
-                              SWT.PUSH );
-        titem.setImage( PlatformUI.getWorkbench().getSharedImages().getImage( ISharedImages.IMG_TOOL_NEW_WIZARD ) );
-
-        titem.addListener( SWT.Selection,
-                           new Listener() {
-                               public void handleEvent(Event event) {
-                                   popup.open();
-                               }
-                           } );
-        sect.setTextClient( tbar );
-    }
-
-    public void refresh() {
-        ifComposite.layout();
-        ifComposite.redraw();
-
-        thenComposite.layout();
-        thenComposite.redraw();
-
-        optionsComposite.layout();
-        optionsComposite.redraw();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/RuleModeller.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,387 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brl.ActionInsertFact;
+import org.drools.brms.client.modeldriven.brl.ActionRetractFact;
+import org.drools.brms.client.modeldriven.brl.ActionSetField;
+import org.drools.brms.client.modeldriven.brl.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brl.DSLSentence;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.IAction;
+import org.drools.brms.client.modeldriven.brl.IPattern;
+import org.drools.brms.client.modeldriven.brl.RuleModel;
+import org.drools.eclipse.rulebuilder.editors.RuleEditor;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.ToolBar;
+import org.eclipse.swt.widgets.ToolItem;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.forms.FormColors;
+import org.eclipse.ui.forms.widgets.ColumnLayout;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+import org.eclipse.ui.forms.widgets.Section;
+
+/**
+ * Main modeling class responsible for Eclipse Forms-based rule builder widget
+ * rendering
+ * 
+ * @author Anton Arhipov
+ * @author Ahti Kitsik
+ * 
+ */
+public class RuleModeller {
+
+    private Composite          ifComposite;
+
+    private Composite          thenComposite;
+
+    private Composite          optionsComposite;
+
+    private final ScrolledForm form;
+
+    private final FormToolkit  toolkit;
+
+    private RuleModel          model;
+
+    private boolean            dirty;
+
+    private RuleEditor         editor;
+
+    public boolean isDirty() {
+        return dirty;
+    }
+
+    public void setDirty(boolean dirty) {
+        this.dirty = dirty;
+        editor.dirtyPropertyChanged();
+    }
+
+    public RuleModeller(ScrolledForm form,
+                        FormToolkit toolkit,
+                        RuleModel model,
+                        RuleEditor editor) {
+
+        this.form = form;
+        this.toolkit = toolkit;
+        this.model = model;
+        this.editor = editor;
+
+        setTitleAndFont(form);
+
+        ColumnLayout colLayout = new ColumnLayout();
+        colLayout.minNumColumns = 1;
+        colLayout.maxNumColumns = 1;
+
+        form.getBody().setLayout( colLayout );
+
+        // addToolBar(toolkit, form);
+
+        Shell shell = new Shell( Display.getCurrent() );
+        Window conditionPopup = new AddNewConditionDialog( shell,
+                                                           this );
+        Window actionPopup = new AddNewActionDialog( shell,
+                                                     this );
+
+        Window optionsPopup = new RuleAttributesDialog( shell,
+                                                        this );
+
+        Section ifSection = createMainSection( form,
+                                               toolkit,
+                                               "WHEN",
+                                               conditionPopup );
+        Section thenSection = createMainSection( form,
+                                                 toolkit,
+                                                 "THEN",
+                                                 actionPopup );
+        Section optionsSection = createMainSection( form,
+                                                    toolkit,
+                                                    "(options)",
+                                                    optionsPopup );
+
+        ColumnLayout layout = new ColumnLayout();
+        layout.minNumColumns = 1;
+        layout.maxNumColumns = 1;
+        // layout.verticalSpacing = 0;
+
+        ((Composite) (ifSection.getClient())).setLayout( layout );
+        ((Composite) (thenSection.getClient())).setLayout( layout );
+        ((Composite) (optionsSection.getClient())).setLayout( layout );
+        ifSection.setLayout( layout );
+        thenSection.setLayout( layout );
+        optionsSection.setLayout( layout );
+
+        ifComposite = (Composite) ifSection.getClient();
+        thenComposite = (Composite) thenSection.getClient();
+        optionsComposite = (Composite) optionsSection.getClient();
+
+    }
+
+	private void setTitleAndFont(ScrolledForm form) {
+		form.setText( "Guided rule editor" );
+        
+		Font systemFont = form.getDisplay().getSystemFont();
+		FontData[] exfds = systemFont.getFontData();
+        if ( exfds.length > 0 ) {
+            FontData fd = exfds[0];
+            fd.setHeight( fd.getHeight() + 2 );
+            fd.setStyle(SWT.BOLD);
+            Font f = new Font( systemFont.getDevice(),
+                               fd );
+            form.setFont(f);
+        }
+	}
+
+    public SuggestionCompletionEngine getSuggestionCompletionEngine() {
+        return editor.getCompletionEngine();
+    }
+
+    public RuleModel getModel() {
+        return model;
+    }
+
+    public void setModel(RuleModel model) {
+        this.model = model;
+    }
+
+    private void clearComposite(Composite composite) {
+        if ( composite != null ) {
+            Control[] c = composite.getChildren();
+            for ( int i = 0; i < c.length; i++ ) {
+                Control c2 = c[i];
+                c2.dispose();
+            }
+        }
+    }
+
+    private void reloadCommon() {
+        toolkit.paintBordersFor( form.getBody() );
+        form.redraw();
+        Dialog.applyDialogFont( form.getBody() );
+        form.reflow( true );
+    }
+
+    public void reloadRhs() {
+        clearComposite( thenComposite );
+        redrawRhs();
+        reloadCommon();
+    }
+
+    public void reloadLhs() {
+        clearComposite( ifComposite );
+        redrawLhs();
+        reloadCommon();
+    }
+
+    public void reloadOptions() {
+        clearComposite( optionsComposite );
+        redrawOptions();
+        reloadCommon();
+    }
+
+    public void reloadWidgets() {
+        reloadLhs();
+        reloadRhs();
+        reloadOptions();
+    }
+
+    private void redrawOptions() {
+        Composite comp = toolkit.createComposite( optionsComposite );
+        new RuleAttributeWidget( toolkit,
+                                 comp,
+                                 this );
+    }
+
+    private void redrawRhs() {
+        for ( int i = 0; i < model.rhs.length; i++ ) {
+            IAction action = model.rhs[i];
+
+            if ( action instanceof ActionSetField ) {
+                addActionSetFieldWidget( action,
+                                         i );
+            } else if ( action instanceof ActionInsertFact ) {
+                addActionInsertFactWidget( action,
+                                           i );
+            } else if ( action instanceof ActionRetractFact ) {
+                addActionRetractFactWidget( action,
+                                            i );
+            } else if ( action instanceof DSLSentence ) {
+                addRHSDSLSentenceWidget( i,
+                                         (DSLSentence) action );
+            }
+
+        }
+    }
+
+    private void addActionInsertFactWidget(IAction action,
+                                           int i) {
+        Composite comp = toolkit.createComposite( thenComposite );
+        new ActionInsertFactWidget( toolkit,
+                                    comp,
+                                    this,
+                                    (ActionInsertFact) action,
+                                    i );
+    }
+
+    private void redrawLhs() {
+        for ( int i = 0; i < model.lhs.length; i++ ) {
+            IPattern pattern = model.lhs[i];
+
+            if ( pattern instanceof FactPattern ) {
+                addFactPatternWidget( i,
+                                      (FactPattern) pattern );
+            }
+            if ( pattern instanceof CompositeFactPattern ) {
+                addCompositeFactPatternWidget( i,
+                                               (CompositeFactPattern) pattern );
+            } else if ( pattern instanceof DSLSentence ) {
+                // skip for now
+            } else {
+                // dont' care
+            }
+        }
+
+        for ( int i = 0; i < model.lhs.length; i++ ) {
+            IPattern pattern = model.lhs[i];
+            if ( pattern instanceof DSLSentence ) {
+                addLHSDSLSentenceWidget( i,
+                                         (DSLSentence) pattern );
+            }
+        }
+    }
+
+    private void addActionRetractFactWidget(IAction action,
+                                            int i) {
+        Composite comp = toolkit.createComposite( thenComposite );
+        new ActionRetractFactWidget( toolkit,
+                                     comp,
+                                     this,
+                                     (ActionRetractFact) action,
+                                     i );
+    }
+
+    /*private void addActionAssertFactWidget(IAction action,
+                                           int i) {
+        Composite comp = toolkit.createComposite( thenComposite );
+        new ActionInsertFactWidget( toolkit,
+                                    comp,
+                                    this,
+                                    (ActionInsertFact) action,
+                                    i );
+
+    }*/
+
+    private void addActionSetFieldWidget(IAction action,
+                                         int i) {
+        Composite comp = toolkit.createComposite( thenComposite );
+        new ActionSetFieldWidget( toolkit,
+                                  comp,
+                                  this,
+                                  model,
+                                  (ActionSetField) action,
+                                  i );
+    }
+
+    private void addRHSDSLSentenceWidget(int idx,
+                                         DSLSentence pattern) {
+        Composite comp = toolkit.createComposite( thenComposite );
+        new RHSDSLSentenceWidget( toolkit,
+                                  comp,
+                                  pattern,
+                                  this,
+                                  idx );
+    }
+
+    private void addLHSDSLSentenceWidget(int idx,
+                                         DSLSentence pattern) {
+        Composite comp = toolkit.createComposite( ifComposite );
+        new LHSDSLSentenceWidget( toolkit,
+                                  comp,
+                                  pattern,
+                                  this,
+                                  idx );
+    }
+
+    private void addCompositeFactPatternWidget(int idx,
+                                               CompositeFactPattern pattern) {
+        Composite comp = toolkit.createComposite( ifComposite );
+        new CompositeFactPatternWidget( toolkit,
+                                        comp,
+                                        this,
+                                        pattern,
+                                        idx );
+    }
+
+    private void addFactPatternWidget(int idx,
+                                      FactPattern pattern) {
+        Composite comp = toolkit.createComposite( ifComposite );
+        new FactPatternWidget( toolkit,
+                               comp,
+                               this,
+                               pattern,
+                               null,
+                               idx,
+                               true );
+    }
+
+    private Section createMainSection(final ScrolledForm form,
+                                      FormToolkit toolkit,
+                                      String title,
+                                      Window popup) {
+        ColumnLayout layout = new ColumnLayout();
+        layout.minNumColumns = 1;
+        layout.maxNumColumns = 1;
+        Section l1Sect = toolkit.createSection( form.getBody(),
+                                                ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR | ExpandableComposite.EXPANDED );
+        l1Sect.setActiveToggleColor( toolkit.getHyperlinkGroup().getActiveForeground() );
+        l1Sect.setToggleColor( toolkit.getColors().getColor( FormColors.SEPARATOR ) );
+        l1Sect.setText( title );
+        createAddToolItem( l1Sect,
+                           popup );
+        Composite comp = toolkit.createComposite( l1Sect );
+        l1Sect.setClient( comp );
+        return l1Sect;
+    }
+
+    private void createAddToolItem(Section sect,
+                                   final Window popup) {
+        ToolBar tbar = new ToolBar( sect,
+                                    SWT.FLAT | SWT.HORIZONTAL );
+        ToolItem titem = new ToolItem( tbar,
+                                       SWT.SEPARATOR );
+        titem = new ToolItem( tbar,
+                              SWT.PUSH );
+        titem.setImage( PlatformUI.getWorkbench().getSharedImages().getImage( ISharedImages.IMG_TOOL_NEW_WIZARD ) );
+
+        titem.addListener( SWT.Selection,
+                           new Listener() {
+                               public void handleEvent(Event event) {
+                                   popup.open();
+                               }
+                           } );
+        sect.setTextClient( tbar );
+    }
+
+    public void refresh() {
+        ifComposite.layout();
+        ifComposite.redraw();
+
+        thenComposite.layout();
+        thenComposite.redraw();
+
+        optionsComposite.layout();
+        optionsComposite.redraw();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,78 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-public class ValueEditorTypeSelectionDialog extends RuleDialog {
-
-    private final FormToolkit      toolkit;
-
-    private RuleModeller           modeller;
-
-    private ISingleFieldConstraint constraint;
-
-    public ValueEditorTypeSelectionDialog(Shell parent,
-                                          FormToolkit toolkit,
-                                          RuleModeller modeller,
-                                          ISingleFieldConstraint constraint) {
-        super( parent,
-               "Select value editor type",
-               "Select value editor type" );
-        this.toolkit = toolkit;
-        this.modeller = modeller;
-        this.constraint = constraint;
-    }
-
-    protected Control createDialogArea(final Composite parent) {
-        Composite composite = (Composite) super.createDialogArea( parent );
-
-        createLabel( composite,
-                     "Field value:" );
-        final Combo valueTypeCombo = new Combo( composite,
-                                                SWT.READ_ONLY );
-        valueTypeCombo.add( "Literal value" ); // 0
-        valueTypeCombo.add( "A formula" ); // 1
-
-        if ( modeller.getModel().getBoundVariablesInScope( constraint ).size() > 0 ) {
-            valueTypeCombo.add( "Bound variable" ); // 2
-        }
-
-        valueTypeCombo.addModifyListener( new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-
-                switch ( valueTypeCombo.getSelectionIndex() ) {
-                    case 0 :
-                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
-                        break;
-                    case 1 :
-                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_RET_VALUE;
-                        break;
-                    case 2 :
-                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_VARIABLE;
-                        break;
-                }
-
-                getShell().getDisplay().asyncExec( new Runnable() {
-
-                    public void run() {
-                        modeller.reloadLhs();
-                        modeller.setDirty( true );
-                        close();
-                    }
-
-                } );
-            }
-        } );
-
-        toolkit.paintBordersFor( composite );
-        return composite;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/ValueEditorTypeSelectionDialog.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,78 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+public class ValueEditorTypeSelectionDialog extends RuleDialog {
+
+    private final FormToolkit      toolkit;
+
+    private RuleModeller           modeller;
+
+    private ISingleFieldConstraint constraint;
+
+    public ValueEditorTypeSelectionDialog(Shell parent,
+                                          FormToolkit toolkit,
+                                          RuleModeller modeller,
+                                          ISingleFieldConstraint constraint) {
+        super( parent,
+               "Select value editor type",
+               "Select value editor type" );
+        this.toolkit = toolkit;
+        this.modeller = modeller;
+        this.constraint = constraint;
+    }
+
+    protected Control createDialogArea(final Composite parent) {
+        Composite composite = (Composite) super.createDialogArea( parent );
+
+        createLabel( composite,
+                     "Field value:" );
+        final Combo valueTypeCombo = new Combo( composite,
+                                                SWT.READ_ONLY );
+        valueTypeCombo.add( "Literal value" ); // 0
+        valueTypeCombo.add( "A formula" ); // 1
+
+        if ( modeller.getModel().getBoundVariablesInScope( constraint ).size() > 0 ) {
+            valueTypeCombo.add( "Bound variable" ); // 2
+        }
+
+        valueTypeCombo.addModifyListener( new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+
+                switch ( valueTypeCombo.getSelectionIndex() ) {
+                    case 0 :
+                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
+                        break;
+                    case 1 :
+                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_RET_VALUE;
+                        break;
+                    case 2 :
+                        constraint.constraintValueType = ISingleFieldConstraint.TYPE_VARIABLE;
+                        break;
+                }
+
+                getShell().getDisplay().asyncExec( new Runnable() {
+
+                    public void run() {
+                        modeller.reloadLhs();
+                        modeller.setDirty( true );
+                        close();
+                    }
+
+                } );
+            }
+        } );
+
+        toolkit.paintBordersFor( composite );
+        return composite;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,80 +0,0 @@
-package org.drools.eclipse.rulebuilder.ui;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-public abstract class Widget {
-
-    final protected Composite    parent;
-
-    final protected FormToolkit  toolkit;
-
-    final protected RuleModeller modeller;
-
-    final protected int          index;
-
-    public Widget(Composite parent,
-                  FormToolkit toolkit,
-                  RuleModeller modeller,
-                  int index) {
-        this.parent = parent;
-        this.toolkit = toolkit;
-        this.modeller = modeller;
-        this.index = index;
-    }
-
-    public ImageHyperlink addImage(Composite parent,
-                                   String fileName) {
-        ImageHyperlink imageHyperlink = toolkit.createImageHyperlink( parent,
-                                                                      0 );
-        ImageDescriptor imageDescriptor = DroolsEclipsePlugin.getImageDescriptor( fileName );
-        imageHyperlink.setImage( imageDescriptor.createImage() );
-        return imageHyperlink;
-    }
-
-    protected void addDeleteRHSAction() {
-        ImageHyperlink delWholeLink = addImage( parent,
-                                                "icons/delete_obj.gif" );
-        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
-            public void linkActivated(HyperlinkEvent e) {
-                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
-                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
-                dialog.setMessage( "Remove this action?" );
-                dialog.setText( "Remove this action?" );
-                if ( dialog.open() == SWT.YES ) {
-                    getModeller().getModel().removeRhsItem( index );
-                    getModeller().setDirty( true );
-                    getModeller().reloadRhs();
-                }
-            }
-
-            public void linkEntered(HyperlinkEvent e) {
-            }
-
-            public void linkExited(HyperlinkEvent e) {
-            }
-        } );
-        delWholeLink.setToolTipText( "Remove this action." );
-    }
-
-    protected void showMessage(String msg) {
-        MessageBox dialog = new MessageBox( Display.getDefault().getActiveShell(),
-                                            SWT.OK | SWT.ICON_INFORMATION );
-        dialog.setMessage( msg );
-        dialog.setText( "Information" );
-        dialog.open();
-    }
-
-    protected RuleModeller getModeller() {
-        return modeller;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/Widget.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,80 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ImageHyperlink;
+
+public abstract class Widget {
+
+    final protected Composite    parent;
+
+    final protected FormToolkit  toolkit;
+
+    final protected RuleModeller modeller;
+
+    final protected int          index;
+
+    public Widget(Composite parent,
+                  FormToolkit toolkit,
+                  RuleModeller modeller,
+                  int index) {
+        this.parent = parent;
+        this.toolkit = toolkit;
+        this.modeller = modeller;
+        this.index = index;
+    }
+
+    public ImageHyperlink addImage(Composite parent,
+                                   String fileName) {
+        ImageHyperlink imageHyperlink = toolkit.createImageHyperlink( parent,
+                                                                      0 );
+        ImageDescriptor imageDescriptor = DroolsEclipsePlugin.getImageDescriptor( fileName );
+        imageHyperlink.setImage( imageDescriptor.createImage() );
+        return imageHyperlink;
+    }
+
+    protected void addDeleteRHSAction() {
+        ImageHyperlink delWholeLink = addImage( parent,
+                                                "icons/delete_obj.gif" );
+        delWholeLink.addHyperlinkListener( new IHyperlinkListener() {
+            public void linkActivated(HyperlinkEvent e) {
+                MessageBox dialog = new MessageBox( Display.getCurrent().getActiveShell(),
+                                                    SWT.YES | SWT.NO | SWT.ICON_WARNING );
+                dialog.setMessage( "Remove this action?" );
+                dialog.setText( "Remove this action?" );
+                if ( dialog.open() == SWT.YES ) {
+                    getModeller().getModel().removeRhsItem( index );
+                    getModeller().setDirty( true );
+                    getModeller().reloadRhs();
+                }
+            }
+
+            public void linkEntered(HyperlinkEvent e) {
+            }
+
+            public void linkExited(HyperlinkEvent e) {
+            }
+        } );
+        delWholeLink.setToolTipText( "Remove this action." );
+    }
+
+    protected void showMessage(String msg) {
+        MessageBox dialog = new MessageBox( Display.getDefault().getActiveShell(),
+                                            SWT.OK | SWT.ICON_INFORMATION );
+        dialog.setMessage( msg );
+        dialog.setText( "Information" );
+        dialog.open();
+    }
+
+    protected RuleModeller getModeller() {
+        return modeller;
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,35 +0,0 @@
-package org.drools.eclipse.rulebuilder.wizards;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * A wizard to create a BRL guided rule file.
- */
-public class NewBrlFileWizard extends Wizard implements INewWizard {
-
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    private NewBrlFileWizardPage mainPage;
-
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle("New Guided Rule");
-    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
-        setDefaultPageImageDescriptor(desc);
-    }
-
-    public void addPages() {
-        mainPage = new NewBrlFileWizardPage(workbench, selection);
-        addPage(mainPage);
-     }
-
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,35 @@
+package org.drools.eclipse.rulebuilder.wizards;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+/**
+ * A wizard to create a BRL guided rule file.
+ */
+public class NewBrlFileWizard extends Wizard implements INewWizard {
+
+    private IWorkbench workbench;
+    private IStructuredSelection selection;
+    private NewBrlFileWizardPage mainPage;
+
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.workbench = workbench;
+        this.selection = selection;
+        setWindowTitle("New Guided Rule");
+    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
+        setDefaultPageImageDescriptor(desc);
+    }
+
+    public void addPages() {
+        mainPage = new NewBrlFileWizardPage(workbench, selection);
+        addPage(mainPage);
+     }
+
+    public boolean performFinish() {
+        return mainPage.finish();
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,63 +0,0 @@
-package org.drools.eclipse.rulebuilder.wizards;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-
-/**
- * A page to create a new rule using the Guided Editor.
- */
-public class NewBrlFileWizardPage extends WizardNewFileCreationPage {
-
-    private static final String BRL_EXTENSION = ".brl";
-    private IWorkbench workbench;
-
-    public NewBrlFileWizardPage(IWorkbench workbench, IStructuredSelection selection) {
-        super("createGuidedRuleFilePage", selection);
-        setTitle( "RuleBuilder Editor File" );
-        setDescription( "This wizard creates a new file with *.brl extension that can be opened by a multi-page editor." );
-        this.workbench = workbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        setPageComplete(true);
-    }
-
-    public boolean finish() {
-        String fileName = getFileName();
-        if (!fileName.endsWith(BRL_EXTENSION)) {
-            setFileName(fileName + BRL_EXTENSION);
-        }
-        org.eclipse.core.resources.IFile newFile = createNewFile();
-        if (newFile == null)
-            return false;
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (PartInitException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-        return true;
-    }
-
-    protected InputStream getInitialContents() {
-//            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
-//                "org/drools/eclipse/rulebuilder/wizards/template.brl").openStream();
-            String contents = "";
-            return new ByteArrayInputStream( contents.getBytes() );
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/wizards/NewBrlFileWizardPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,63 @@
+package org.drools.eclipse.rulebuilder.wizards;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
+
+
+/**
+ * A page to create a new rule using the Guided Editor.
+ */
+public class NewBrlFileWizardPage extends WizardNewFileCreationPage {
+
+    private static final String BRL_EXTENSION = ".brl";
+    private IWorkbench workbench;
+
+    public NewBrlFileWizardPage(IWorkbench workbench, IStructuredSelection selection) {
+        super("createGuidedRuleFilePage", selection);
+        setTitle( "RuleBuilder Editor File" );
+        setDescription( "This wizard creates a new file with *.brl extension that can be opened by a multi-page editor." );
+        this.workbench = workbench;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        setPageComplete(true);
+    }
+
+    public boolean finish() {
+        String fileName = getFileName();
+        if (!fileName.endsWith(BRL_EXTENSION)) {
+            setFileName(fileName + BRL_EXTENSION);
+        }
+        org.eclipse.core.resources.IFile newFile = createNewFile();
+        if (newFile == null)
+            return false;
+        try {
+            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
+            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
+            if (page != null)
+                IDE.openEditor(page, newFile, true);
+        } catch (PartInitException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+        return true;
+    }
+
+    protected InputStream getInitialContents() {
+//            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
+//                "org/drools/eclipse/rulebuilder/wizards/template.brl").openStream();
+            String contents = "";
+            return new ByteArrayInputStream( contents.getBytes() );
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,102 +0,0 @@
-package org.drools.eclipse.util;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-public class DroolsClasspathContainer implements IClasspathContainer {
-
-    IClasspathEntry droolsLibraryEntries[];
-    IPath path;
-    IJavaProject javaProject;
-
-    public DroolsClasspathContainer(IJavaProject project, IPath path) {
-        javaProject = null;
-        javaProject = project;
-        this.path = path;
-    }
-
-    public IClasspathEntry[] getClasspathEntries() {
-        if (droolsLibraryEntries == null) {
-            droolsLibraryEntries = createDroolsLibraryEntries(javaProject);
-        }
-        return droolsLibraryEntries;
-    }
-
-    public String getDescription() {
-        return "Drools Library";
-    }
-
-    public int getKind() {
-        return 1;
-    }
-
-    public IPath getPath() {
-        return path;
-    }
-
-    private IClasspathEntry[] createDroolsLibraryEntries(IJavaProject project) {
-        List jarNames = getJarNames();
-        List list = new ArrayList();
-        for (int i = 0; i < jarNames.size(); i++) {
-            Path path = new Path((String) jarNames.get(i));
-            list.add(JavaCore.newLibraryEntry(
-                path, path, null));
-        }
-        // also add jdt core jar from eclipse itself
-        String pluginRootString = Platform.getInstallLocation().getURL().getPath() + "plugins/";
-        File pluginRoot = new Path(pluginRootString).toFile();
-        File[] files = pluginRoot.listFiles();
-        for (int i = 0; i < files.length; i++) {
-	        if (files[i].getAbsolutePath().indexOf("org.eclipse.jdt.core_3.3") > -1) {
-	        	Path path = new Path(files[i].getAbsolutePath());
-	        	list.add(JavaCore.newLibraryEntry(path, path, null));
-	        	break;
-	        }
-        }
-        return (IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]);
-    }
-
-    private List getJarNames() {
-        String s = getDroolsLocation();
-        List list = new ArrayList();
-        File file = (new Path(s)).toFile();
-        addJarNames(file, list);
-        return list;
-    }
-
-    private void addJarNames(File file, List list) {
-        File[] files = file.listFiles();
-        for (int i = 0; i < files.length; i++) {
-	        if (files[i].isDirectory() && files[i].getName().equals("lib")) {
-	            File[] jarFiles = files[i].listFiles();
-	            for (int j = 0; j < jarFiles.length; j++) {
-	                if (jarFiles[j].getPath().endsWith(".jar")) {
-	                    list.add(jarFiles[j].getAbsolutePath());
-	                }
-	            }
-            }
-        }
-    }
-
-    private String getDroolsLocation() {
-        try {
-            return FileLocator.toFileURL(Platform.getBundle("org.drools.eclipse")
-                .getEntry("/")).getFile().toString();
-        } catch (IOException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-        return null;
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,102 @@
+package org.drools.eclipse.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jdt.core.IClasspathContainer;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+
+public class DroolsClasspathContainer implements IClasspathContainer {
+
+    IClasspathEntry droolsLibraryEntries[];
+    IPath path;
+    IJavaProject javaProject;
+
+    public DroolsClasspathContainer(IJavaProject project, IPath path) {
+        javaProject = null;
+        javaProject = project;
+        this.path = path;
+    }
+
+    public IClasspathEntry[] getClasspathEntries() {
+        if (droolsLibraryEntries == null) {
+            droolsLibraryEntries = createDroolsLibraryEntries(javaProject);
+        }
+        return droolsLibraryEntries;
+    }
+
+    public String getDescription() {
+        return "Drools Library";
+    }
+
+    public int getKind() {
+        return 1;
+    }
+
+    public IPath getPath() {
+        return path;
+    }
+
+    private IClasspathEntry[] createDroolsLibraryEntries(IJavaProject project) {
+        List jarNames = getJarNames();
+        List list = new ArrayList();
+        for (int i = 0; i < jarNames.size(); i++) {
+            Path path = new Path((String) jarNames.get(i));
+            list.add(JavaCore.newLibraryEntry(
+                path, path, null));
+        }
+        // also add jdt core jar from eclipse itself
+        String pluginRootString = Platform.getInstallLocation().getURL().getPath() + "plugins/";
+        File pluginRoot = new Path(pluginRootString).toFile();
+        File[] files = pluginRoot.listFiles();
+        for (int i = 0; i < files.length; i++) {
+	        if (files[i].getAbsolutePath().indexOf("org.eclipse.jdt.core_3.3") > -1) {
+	        	Path path = new Path(files[i].getAbsolutePath());
+	        	list.add(JavaCore.newLibraryEntry(path, path, null));
+	        	break;
+	        }
+        }
+        return (IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]);
+    }
+
+    private List getJarNames() {
+        String s = getDroolsLocation();
+        List list = new ArrayList();
+        File file = (new Path(s)).toFile();
+        addJarNames(file, list);
+        return list;
+    }
+
+    private void addJarNames(File file, List list) {
+        File[] files = file.listFiles();
+        for (int i = 0; i < files.length; i++) {
+	        if (files[i].isDirectory() && files[i].getName().equals("lib")) {
+	            File[] jarFiles = files[i].listFiles();
+	            for (int j = 0; j < jarFiles.length; j++) {
+	                if (jarFiles[j].getPath().endsWith(".jar")) {
+	                    list.add(jarFiles[j].getAbsolutePath());
+	                }
+	            }
+            }
+        }
+    }
+
+    private String getDroolsLocation() {
+        try {
+            return FileLocator.toFileURL(Platform.getBundle("org.drools.eclipse")
+                .getEntry("/")).getFile().toString();
+        } catch (IOException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+        return null;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,18 +0,0 @@
-package org.drools.eclipse.util;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.ClasspathContainerInitializer;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-public class DroolsClasspathContainerInitializer extends ClasspathContainerInitializer {
-
-    public void initialize(IPath ipath, IJavaProject project) throws CoreException {
-        DroolsClasspathContainer container =
-            new DroolsClasspathContainer(project, ipath);
-        JavaCore.setClasspathContainer(ipath, new IJavaProject[] { project },
-            new IClasspathContainer[] { container }, null);
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/DroolsClasspathContainerInitializer.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,18 @@
+package org.drools.eclipse.util;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.ClasspathContainerInitializer;
+import org.eclipse.jdt.core.IClasspathContainer;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+
+public class DroolsClasspathContainerInitializer extends ClasspathContainerInitializer {
+
+    public void initialize(IPath ipath, IJavaProject project) throws CoreException {
+        DroolsClasspathContainer container =
+            new DroolsClasspathContainer(project, ipath);
+        JavaCore.setClasspathContainer(ipath, new IJavaProject[] { project },
+            new IClasspathContainer[] { container }, null);
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,121 +0,0 @@
-package org.drools.eclipse.util;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-
-public class ProjectClassLoader {
-	
-	public static URLClassLoader getProjectClassLoader(IEditorPart editor) {
-		IEditorInput input = editor.getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			return getProjectClassLoader(((IFileEditorInput) input).getFile());
-		}
-		return null;
-	}
-
-	public static URLClassLoader getProjectClassLoader(IFile file) {
-		IProject project = file.getProject();
-		IJavaProject javaProject = JavaCore.create(project);
-		return getProjectClassLoader(javaProject);
-	}
-
-    public static URLClassLoader getProjectClassLoader(IJavaProject project) {
-        List pathElements = getProjectClassPathURLs(project);
-        URL urlPaths[] = (URL[]) pathElements.toArray(new URL[pathElements.size()]);
-        return new URLClassLoader(urlPaths, Thread.currentThread().getContextClassLoader());
-    }
-
-    private static URL getRawLocationURL(IPath simplePath)
-            throws MalformedURLException {
-        File file = getRawLocationFile(simplePath);
-        return file.toURI().toURL();
-    }
-
-    private static File getRawLocationFile(IPath simplePath) {
-        IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(simplePath);
-        File file = null;
-        if (resource != null) {
-            file = ResourcesPlugin.getWorkspace().getRoot().findMember(
-                    simplePath).getRawLocation().toFile();
-        } else {
-            file = simplePath.toFile();
-        }
-        return file;
-    }
-
-    public static List getProjectClassPathURLs(IJavaProject project) {
-        List pathElements = new ArrayList();
-        try {
-            IClasspathEntry[] paths = project.getResolvedClasspath(true);
-            Set outputPaths = new HashSet();
-            if (paths != null) {
-                for ( int i = 0; i < paths.length; i++ ) {
-                    IClasspathEntry path = paths[i];
-                    if (path.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
-                        URL url = getRawLocationURL(path.getPath());
-                        pathElements.add(url);
-                    } else if (path.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-                    	IPath output = path.getOutputLocation();
-                    	if (path.getOutputLocation() != null) {
-                    		outputPaths.add(output);
-                    	}
-                    }
-                }
-            }
-            IPath location = getProjectLocation(project.getProject());
-            IPath outputPath = location.append(project.getOutputLocation().removeFirstSegments(1));
-            pathElements.add(outputPath.toFile().toURI().toURL());
-            for (Iterator iterator = outputPaths.iterator(); iterator.hasNext(); ) {
-            	IPath path = (IPath) iterator.next();
-            	outputPath = location.append(path.removeFirstSegments(1));
-                pathElements.add(outputPath.toFile().toURI().toURL());
-            }
-            
-            // also add classpath of required projects
-            String[] names = project.getRequiredProjectNames();
-            for ( int i = 0; i < names.length; i++ ) {
-                String projectName = names[i];
-                IProject reqProject = project.getProject().getWorkspace()
-                    .getRoot().getProject(projectName);
-                if (reqProject != null) {
-                    IJavaProject reqJavaProject = JavaCore.create(reqProject);
-                    pathElements.addAll(getProjectClassPathURLs(reqJavaProject));
-                }
-            }
-        } catch (JavaModelException e) {
-            DroolsEclipsePlugin.log(e);
-        } catch (MalformedURLException e) {
-            DroolsEclipsePlugin.log(e);
-        }
-        return pathElements;
-    }
-    
-    public static IPath getProjectLocation(IProject project) {
-        if (project.getRawLocation() == null) {
-            return project.getLocation();
-        } else {
-            return project.getRawLocation();
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/util/ProjectClassLoader.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,121 @@
+package org.drools.eclipse.util;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+
+public class ProjectClassLoader {
+	
+	public static URLClassLoader getProjectClassLoader(IEditorPart editor) {
+		IEditorInput input = editor.getEditorInput();
+		if (input instanceof IFileEditorInput) {
+			return getProjectClassLoader(((IFileEditorInput) input).getFile());
+		}
+		return null;
+	}
+
+	public static URLClassLoader getProjectClassLoader(IFile file) {
+		IProject project = file.getProject();
+		IJavaProject javaProject = JavaCore.create(project);
+		return getProjectClassLoader(javaProject);
+	}
+
+    public static URLClassLoader getProjectClassLoader(IJavaProject project) {
+        List pathElements = getProjectClassPathURLs(project);
+        URL urlPaths[] = (URL[]) pathElements.toArray(new URL[pathElements.size()]);
+        return new URLClassLoader(urlPaths, Thread.currentThread().getContextClassLoader());
+    }
+
+    private static URL getRawLocationURL(IPath simplePath)
+            throws MalformedURLException {
+        File file = getRawLocationFile(simplePath);
+        return file.toURI().toURL();
+    }
+
+    private static File getRawLocationFile(IPath simplePath) {
+        IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(simplePath);
+        File file = null;
+        if (resource != null) {
+            file = ResourcesPlugin.getWorkspace().getRoot().findMember(
+                    simplePath).getRawLocation().toFile();
+        } else {
+            file = simplePath.toFile();
+        }
+        return file;
+    }
+
+    public static List getProjectClassPathURLs(IJavaProject project) {
+        List pathElements = new ArrayList();
+        try {
+            IClasspathEntry[] paths = project.getResolvedClasspath(true);
+            Set outputPaths = new HashSet();
+            if (paths != null) {
+                for ( int i = 0; i < paths.length; i++ ) {
+                    IClasspathEntry path = paths[i];
+                    if (path.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
+                        URL url = getRawLocationURL(path.getPath());
+                        pathElements.add(url);
+                    } else if (path.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+                    	IPath output = path.getOutputLocation();
+                    	if (path.getOutputLocation() != null) {
+                    		outputPaths.add(output);
+                    	}
+                    }
+                }
+            }
+            IPath location = getProjectLocation(project.getProject());
+            IPath outputPath = location.append(project.getOutputLocation().removeFirstSegments(1));
+            pathElements.add(outputPath.toFile().toURI().toURL());
+            for (Iterator iterator = outputPaths.iterator(); iterator.hasNext(); ) {
+            	IPath path = (IPath) iterator.next();
+            	outputPath = location.append(path.removeFirstSegments(1));
+                pathElements.add(outputPath.toFile().toURI().toURL());
+            }
+            
+            // also add classpath of required projects
+            String[] names = project.getRequiredProjectNames();
+            for ( int i = 0; i < names.length; i++ ) {
+                String projectName = names[i];
+                IProject reqProject = project.getProject().getWorkspace()
+                    .getRoot().getProject(projectName);
+                if (reqProject != null) {
+                    IJavaProject reqJavaProject = JavaCore.create(reqProject);
+                    pathElements.addAll(getProjectClassPathURLs(reqJavaProject));
+                }
+            }
+        } catch (JavaModelException e) {
+            DroolsEclipsePlugin.log(e);
+        } catch (MalformedURLException e) {
+            DroolsEclipsePlugin.log(e);
+        }
+        return pathElements;
+    }
+    
+    public static IPath getProjectLocation(IProject project) {
+        if (project.getRawLocation() == null) {
+            return project.getLocation();
+        } else {
+            return project.getRawLocation();
+        }
+    }
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,288 +0,0 @@
-package org.drools.eclipse.view.rules;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.eclipse.DRLInfo;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.core.DroolsElement;
-import org.drools.eclipse.core.DroolsModelBuilder;
-import org.drools.eclipse.core.Function;
-import org.drools.eclipse.core.Global;
-import org.drools.eclipse.core.Package;
-import org.drools.eclipse.core.Query;
-import org.drools.eclipse.core.Rule;
-import org.drools.eclipse.core.RuleSet;
-import org.drools.eclipse.core.Template;
-import org.drools.eclipse.core.ui.DroolsContentProvider;
-import org.drools.eclipse.core.ui.DroolsLabelProvider;
-import org.drools.eclipse.core.ui.DroolsTreeSorter;
-import org.drools.eclipse.core.ui.FilterActionGroup;
-import org.drools.lang.descr.FactTemplateDescr;
-import org.drools.lang.descr.FunctionDescr;
-import org.drools.lang.descr.GlobalDescr;
-import org.drools.lang.descr.QueryDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class RulesView extends ViewPart implements IDoubleClickListener, IResourceVisitor, IResourceChangeListener {
-
-	private final RuleSet ruleSet = DroolsModelBuilder.createRuleSet();
-
-	private Map resourcesMap = new HashMap();
-	private TreeViewer treeViewer;
-	
-	public void createPartControl(Composite parent) {
-		treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		treeViewer.setContentProvider(new DroolsContentProvider());
-		treeViewer.setLabelProvider(new DroolsLabelProvider());
-		treeViewer.setSorter(new DroolsTreeSorter());
-		treeViewer.addDoubleClickListener(this);
-		treeViewer.setUseHashlookup(true);
-		treeViewer.setInput(ruleSet);
-		FilterActionGroup filterActionGroup = new FilterActionGroup(
-			treeViewer, "org.drools.eclipse.view.rules.RulesView");
-		filterActionGroup.fillActionBars(getViewSite().getActionBars());
-	}
-	
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		try {
-			ResourcesPlugin.getWorkspace().getRoot().accept(this);
-		} catch (CoreException e) {
-			DroolsEclipsePlugin.log(e);
-		}
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-	}
-	
-	public void dispose() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-	}
-	
-	public void setFocus() {
-		treeViewer.getControl().setFocus();
-	}
-
-	public boolean visit(IResource resource) throws CoreException {
-		return updateResource(resource);
-	}
-	
-	private boolean updateResource(IResource resource) {
-    	IProject project = resource.getProject();
-    	if (project != null) {
-            IJavaProject javaProject = JavaCore.create(project);
-            if (!javaProject.exists()) {
-            	return false;
-            }
-    		if (resource instanceof IFile 
-    				&& "drl".equals(resource.getFileExtension())
-    				&& javaProject.isOnClasspath(resource)) {
-    			try {
-    				IFile file = (IFile) resource;
-    				DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(resource, false);
-    				String packageName = drlInfo.getPackageName();
-    				Package pkg = ruleSet.getPackage(packageName);
-    				if (pkg == null) {
-    					pkg = DroolsModelBuilder.addPackage(ruleSet, packageName, 0, 0);
-    				}
-    				// add rules
-    				List rules = drlInfo.getPackageDescr().getRules();
-    				for (Iterator iterator = rules.iterator(); iterator.hasNext();) {
-    					RuleDescr ruleDescr = (RuleDescr) iterator.next();
-    					boolean isQuery = ruleDescr instanceof QueryDescr;
-    					String ruleName = ruleDescr.getName();
-    					if (!isQuery) {
-    						Rule rule = DroolsModelBuilder.addRule(
-								pkg, ruleName, file, ruleDescr.getStartCharacter(),
-								ruleDescr.getEndCharacter() - ruleDescr.getStartCharacter() + 1, null);
-	    					// create link between resource and created rule nodes
-	    					List droolsElements = (List) resourcesMap.get(file);
-	    					if (droolsElements == null) {
-	    						droolsElements = new ArrayList();
-	    						resourcesMap.put(file, droolsElements);
-	    					}
-	    					droolsElements.add(rule);
-    					} else {
-    						Query query = DroolsModelBuilder.addQuery(
-								pkg, ruleName, file, ruleDescr.getStartCharacter(), 
-								ruleDescr.getEndCharacter() - ruleDescr.getStartCharacter() + 1);
-	    					// create link between resource and created rule nodes
-	    					List droolsElements = (List) resourcesMap.get(file);
-	    					if (droolsElements == null) {
-	    						droolsElements = new ArrayList();
-	    						resourcesMap.put(file, droolsElements);
-	    					}
-	    					droolsElements.add(query);
-    					}
-    				}
-    				// add templates
-    				List templates = drlInfo.getPackageDescr().getFactTemplates();
-    				for (Iterator iterator = templates.iterator(); iterator.hasNext();) {
-    					FactTemplateDescr templateDescr = (FactTemplateDescr) iterator.next();
-						Template template = DroolsModelBuilder.addTemplate(
-							pkg, templateDescr.getName(), file, templateDescr.getStartCharacter(),
-							templateDescr.getEndCharacter() - templateDescr.getStartCharacter() + 1);
-    					// create link between resource and created rule nodes
-    					List droolsElements = (List) resourcesMap.get(file);
-    					if (droolsElements == null) {
-    						droolsElements = new ArrayList();
-    						resourcesMap.put(file, droolsElements);
-    					}
-    					droolsElements.add(template);
-    				}
-    				// add globals
-    				List globals = drlInfo.getPackageDescr().getGlobals();
-    				for (Iterator iterator = globals.iterator(); iterator.hasNext();) {
-    					GlobalDescr globalDescr = (GlobalDescr) iterator.next();
-    					Global global = DroolsModelBuilder.addGlobal(
-							pkg, globalDescr.getIdentifier(), file, globalDescr.getStartCharacter(),
-							globalDescr.getEndCharacter() - globalDescr.getStartCharacter() + 1);
-    					// create link between resource and created rule nodes
-    					List droolsElements = (List) resourcesMap.get(file);
-    					if (droolsElements == null) {
-    						droolsElements = new ArrayList();
-    						resourcesMap.put(file, droolsElements);
-    					}
-    					droolsElements.add(global);
-    				}
-    				// add functions
-    				List functions = drlInfo.getPackageDescr().getFunctions();
-    				for (Iterator iterator = functions.iterator(); iterator.hasNext();) {
-    					FunctionDescr functionDescr = (FunctionDescr) iterator.next();
-    					String functionName = functionDescr.getName();
-    					Function function = DroolsModelBuilder.addFunction(
-							pkg, functionName, file, functionDescr.getStartCharacter(),
-							functionDescr.getEndCharacter() - functionDescr.getStartCharacter() + 1);
-    					// create link between resource and created rule nodes
-    					List droolsElements = (List) resourcesMap.get(file);
-    					if (droolsElements == null) {
-    						droolsElements = new ArrayList();
-    						resourcesMap.put(file, droolsElements);
-    					}
-    					droolsElements.add(function);
-    				}
-    			} catch (Throwable t) {
-    				DroolsEclipsePlugin.log(t);
-    			}
-    			return false;
-    		}
-        }
-        return true;
-	}
-
-	public void resourceChanged(final IResourceChangeEvent event) {
-		try {
-			if (event.getType() == IResourceChangeEvent.POST_CHANGE) {
-				IResourceDelta delta = event.getDelta();
-				if (delta != null) {
-					delta.accept(new IResourceDeltaVisitor() {
-						public boolean visit(IResourceDelta delta) throws CoreException {
-							IResource resource = delta.getResource();
-							removeElementsFromResource(resource);
-							boolean result = true;
-							if (delta.getKind() != IResourceDelta.REMOVED) {
-								result = updateResource(resource);
-							}
-							treeViewer.getControl().getDisplay().asyncExec(
-						        new Runnable() {
-									public void run() {
-										treeViewer.refresh();
-									}
-								}
-					        );
-							return result;
-						}
-					});
-				}
-			} else if (event.getType() == IResourceChangeEvent.PRE_DELETE) {
-				IResource resource = event.getResource();
-				if (resource != null) {
-					resource.accept(new IResourceVisitor() {
-						public boolean visit(IResource resource) throws CoreException {
-							removeElementsFromResource(resource);
-							return true;
-						}
-					});
-				}
-			} else if (event.getType() == IResourceChangeEvent.PRE_CLOSE) {
-				IResource resource = event.getResource();
-				if (resource != null) {
-					resource.accept(new IResourceVisitor() {
-						public boolean visit(IResource resource) throws CoreException {
-							removeElementsFromResource(resource);
-							return true;
-						}
-					});
-				}
-			}
-		} catch (Throwable t) {
-			DroolsEclipsePlugin.log(t);
-		}
-	}
-	
-	private void removeElementsFromResource(IResource resource) {
-		List droolsElements = (List) resourcesMap.get(resource);
-		if (droolsElements != null) {
-			for (Iterator iterator = droolsElements.iterator(); iterator.hasNext();) {
-				DroolsModelBuilder.removeElement((DroolsElement) iterator.next());
-			}
-			resourcesMap.remove(resource);
-		}
-	}
-
-	public void doubleClick(DoubleClickEvent event) {
-		ISelection selection = event.getSelection();
-		if (selection instanceof IStructuredSelection) {
-			Object selected = ((StructuredSelection) selection).getFirstElement();
-			if (selected != null && selected instanceof DroolsElement) {
-				DroolsElement droolsSelected = (DroolsElement) selected;
-				IFile file = droolsSelected.getFile();
-				if (file != null) {
-					try {
-						IEditorPart editor = IDE.openEditor(getSite().getPage(), file);
-						if (editor instanceof FormEditor) {
-							editor = ((FormEditor) editor).getActiveEditor();
-						}
-						if (editor instanceof ITextEditor) {
-							((ITextEditor)editor).selectAndReveal(
-								droolsSelected.getOffset(), droolsSelected.getLength());
-						}
-					} catch (Throwable t) {
-						DroolsEclipsePlugin.log(t);
-					}
-				}
-			}
-		}
-	}
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,288 @@
+package org.drools.eclipse.view.rules;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.eclipse.DRLInfo;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.core.DroolsElement;
+import org.drools.eclipse.core.DroolsModelBuilder;
+import org.drools.eclipse.core.Function;
+import org.drools.eclipse.core.Global;
+import org.drools.eclipse.core.Package;
+import org.drools.eclipse.core.Query;
+import org.drools.eclipse.core.Rule;
+import org.drools.eclipse.core.RuleSet;
+import org.drools.eclipse.core.Template;
+import org.drools.eclipse.core.ui.DroolsContentProvider;
+import org.drools.eclipse.core.ui.DroolsLabelProvider;
+import org.drools.eclipse.core.ui.DroolsTreeSorter;
+import org.drools.eclipse.core.ui.FilterActionGroup;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.lang.descr.QueryDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.IViewSite;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.forms.editor.FormEditor;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.part.ViewPart;
+import org.eclipse.ui.texteditor.ITextEditor;
+
+public class RulesView extends ViewPart implements IDoubleClickListener, IResourceVisitor, IResourceChangeListener {
+
+	private final RuleSet ruleSet = DroolsModelBuilder.createRuleSet();
+
+	private Map resourcesMap = new HashMap();
+	private TreeViewer treeViewer;
+	
+	public void createPartControl(Composite parent) {
+		treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
+		treeViewer.setContentProvider(new DroolsContentProvider());
+		treeViewer.setLabelProvider(new DroolsLabelProvider());
+		treeViewer.setSorter(new DroolsTreeSorter());
+		treeViewer.addDoubleClickListener(this);
+		treeViewer.setUseHashlookup(true);
+		treeViewer.setInput(ruleSet);
+		FilterActionGroup filterActionGroup = new FilterActionGroup(
+			treeViewer, "org.drools.eclipse.view.rules.RulesView");
+		filterActionGroup.fillActionBars(getViewSite().getActionBars());
+	}
+	
+	public void init(IViewSite site, IMemento memento) throws PartInitException {
+		super.init(site, memento);
+		try {
+			ResourcesPlugin.getWorkspace().getRoot().accept(this);
+		} catch (CoreException e) {
+			DroolsEclipsePlugin.log(e);
+		}
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
+	}
+	
+	public void dispose() {
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
+	}
+	
+	public void setFocus() {
+		treeViewer.getControl().setFocus();
+	}
+
+	public boolean visit(IResource resource) throws CoreException {
+		return updateResource(resource);
+	}
+	
+	private boolean updateResource(IResource resource) {
+    	IProject project = resource.getProject();
+    	if (project != null) {
+            IJavaProject javaProject = JavaCore.create(project);
+            if (!javaProject.exists()) {
+            	return false;
+            }
+    		if (resource instanceof IFile 
+    				&& "drl".equals(resource.getFileExtension())
+    				&& javaProject.isOnClasspath(resource)) {
+    			try {
+    				IFile file = (IFile) resource;
+    				DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(resource, false);
+    				String packageName = drlInfo.getPackageName();
+    				Package pkg = ruleSet.getPackage(packageName);
+    				if (pkg == null) {
+    					pkg = DroolsModelBuilder.addPackage(ruleSet, packageName, 0, 0);
+    				}
+    				// add rules
+    				List rules = drlInfo.getPackageDescr().getRules();
+    				for (Iterator iterator = rules.iterator(); iterator.hasNext();) {
+    					RuleDescr ruleDescr = (RuleDescr) iterator.next();
+    					boolean isQuery = ruleDescr instanceof QueryDescr;
+    					String ruleName = ruleDescr.getName();
+    					if (!isQuery) {
+    						Rule rule = DroolsModelBuilder.addRule(
+								pkg, ruleName, file, ruleDescr.getStartCharacter(),
+								ruleDescr.getEndCharacter() - ruleDescr.getStartCharacter() + 1, null);
+	    					// create link between resource and created rule nodes
+	    					List droolsElements = (List) resourcesMap.get(file);
+	    					if (droolsElements == null) {
+	    						droolsElements = new ArrayList();
+	    						resourcesMap.put(file, droolsElements);
+	    					}
+	    					droolsElements.add(rule);
+    					} else {
+    						Query query = DroolsModelBuilder.addQuery(
+								pkg, ruleName, file, ruleDescr.getStartCharacter(), 
+								ruleDescr.getEndCharacter() - ruleDescr.getStartCharacter() + 1);
+	    					// create link between resource and created rule nodes
+	    					List droolsElements = (List) resourcesMap.get(file);
+	    					if (droolsElements == null) {
+	    						droolsElements = new ArrayList();
+	    						resourcesMap.put(file, droolsElements);
+	    					}
+	    					droolsElements.add(query);
+    					}
+    				}
+    				// add templates
+    				List templates = drlInfo.getPackageDescr().getFactTemplates();
+    				for (Iterator iterator = templates.iterator(); iterator.hasNext();) {
+    					FactTemplateDescr templateDescr = (FactTemplateDescr) iterator.next();
+						Template template = DroolsModelBuilder.addTemplate(
+							pkg, templateDescr.getName(), file, templateDescr.getStartCharacter(),
+							templateDescr.getEndCharacter() - templateDescr.getStartCharacter() + 1);
+    					// create link between resource and created rule nodes
+    					List droolsElements = (List) resourcesMap.get(file);
+    					if (droolsElements == null) {
+    						droolsElements = new ArrayList();
+    						resourcesMap.put(file, droolsElements);
+    					}
+    					droolsElements.add(template);
+    				}
+    				// add globals
+    				List globals = drlInfo.getPackageDescr().getGlobals();
+    				for (Iterator iterator = globals.iterator(); iterator.hasNext();) {
+    					GlobalDescr globalDescr = (GlobalDescr) iterator.next();
+    					Global global = DroolsModelBuilder.addGlobal(
+							pkg, globalDescr.getIdentifier(), file, globalDescr.getStartCharacter(),
+							globalDescr.getEndCharacter() - globalDescr.getStartCharacter() + 1);
+    					// create link between resource and created rule nodes
+    					List droolsElements = (List) resourcesMap.get(file);
+    					if (droolsElements == null) {
+    						droolsElements = new ArrayList();
+    						resourcesMap.put(file, droolsElements);
+    					}
+    					droolsElements.add(global);
+    				}
+    				// add functions
+    				List functions = drlInfo.getPackageDescr().getFunctions();
+    				for (Iterator iterator = functions.iterator(); iterator.hasNext();) {
+    					FunctionDescr functionDescr = (FunctionDescr) iterator.next();
+    					String functionName = functionDescr.getName();
+    					Function function = DroolsModelBuilder.addFunction(
+							pkg, functionName, file, functionDescr.getStartCharacter(),
+							functionDescr.getEndCharacter() - functionDescr.getStartCharacter() + 1);
+    					// create link between resource and created rule nodes
+    					List droolsElements = (List) resourcesMap.get(file);
+    					if (droolsElements == null) {
+    						droolsElements = new ArrayList();
+    						resourcesMap.put(file, droolsElements);
+    					}
+    					droolsElements.add(function);
+    				}
+    			} catch (Throwable t) {
+    				DroolsEclipsePlugin.log(t);
+    			}
+    			return false;
+    		}
+        }
+        return true;
+	}
+
+	public void resourceChanged(final IResourceChangeEvent event) {
+		try {
+			if (event.getType() == IResourceChangeEvent.POST_CHANGE) {
+				IResourceDelta delta = event.getDelta();
+				if (delta != null) {
+					delta.accept(new IResourceDeltaVisitor() {
+						public boolean visit(IResourceDelta delta) throws CoreException {
+							IResource resource = delta.getResource();
+							removeElementsFromResource(resource);
+							boolean result = true;
+							if (delta.getKind() != IResourceDelta.REMOVED) {
+								result = updateResource(resource);
+							}
+							treeViewer.getControl().getDisplay().asyncExec(
+						        new Runnable() {
+									public void run() {
+										treeViewer.refresh();
+									}
+								}
+					        );
+							return result;
+						}
+					});
+				}
+			} else if (event.getType() == IResourceChangeEvent.PRE_DELETE) {
+				IResource resource = event.getResource();
+				if (resource != null) {
+					resource.accept(new IResourceVisitor() {
+						public boolean visit(IResource resource) throws CoreException {
+							removeElementsFromResource(resource);
+							return true;
+						}
+					});
+				}
+			} else if (event.getType() == IResourceChangeEvent.PRE_CLOSE) {
+				IResource resource = event.getResource();
+				if (resource != null) {
+					resource.accept(new IResourceVisitor() {
+						public boolean visit(IResource resource) throws CoreException {
+							removeElementsFromResource(resource);
+							return true;
+						}
+					});
+				}
+			}
+		} catch (Throwable t) {
+			DroolsEclipsePlugin.log(t);
+		}
+	}
+	
+	private void removeElementsFromResource(IResource resource) {
+		List droolsElements = (List) resourcesMap.get(resource);
+		if (droolsElements != null) {
+			for (Iterator iterator = droolsElements.iterator(); iterator.hasNext();) {
+				DroolsModelBuilder.removeElement((DroolsElement) iterator.next());
+			}
+			resourcesMap.remove(resource);
+		}
+	}
+
+	public void doubleClick(DoubleClickEvent event) {
+		ISelection selection = event.getSelection();
+		if (selection instanceof IStructuredSelection) {
+			Object selected = ((StructuredSelection) selection).getFirstElement();
+			if (selected != null && selected instanceof DroolsElement) {
+				DroolsElement droolsSelected = (DroolsElement) selected;
+				IFile file = droolsSelected.getFile();
+				if (file != null) {
+					try {
+						IEditorPart editor = IDE.openEditor(getSite().getPage(), file);
+						if (editor instanceof FormEditor) {
+							editor = ((FormEditor) editor).getActiveEditor();
+						}
+						if (editor instanceof ITextEditor) {
+							((ITextEditor)editor).selectAndReveal(
+								droolsSelected.getOffset(), droolsSelected.getLength());
+						}
+					} catch (Throwable t) {
+						DroolsEclipsePlugin.log(t);
+					}
+				}
+			}
+		}
+	}
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,69 +0,0 @@
-package org.drools.eclipse.wizard.decisiontable;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * A page to create a new Decision table scaffolding based on a template.
- *
- * @author Michael Neale
- */
-public class NewDTFilePage extends WizardNewFileCreationPage {
-
-    private static final String XLS_EXTENSION = ".xls";
-    private IWorkbench workbench;
-
-    public NewDTFilePage(IWorkbench workbench, IStructuredSelection selection) {
-        super("createDTFilePage", selection);
-        setTitle("New Decision Table");
-        setDescription("Create a new Decision Table scaffolding.");
-        this.workbench = workbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        setPageComplete(true);
-    }
-
-    public boolean finish() {
-        String fileName = getFileName();
-        if (!fileName.endsWith(XLS_EXTENSION)) {
-            setFileName(fileName + XLS_EXTENSION);
-        }
-        org.eclipse.core.resources.IFile newFile = createNewFile();
-        if (newFile == null)
-            return false;
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (PartInitException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-        return true;
-    }
-
-    protected InputStream getInitialContents() {
-        try {
-            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
-                "org/drools/eclipse/wizard/decisiontable/template.xls").openStream();
-        } catch (IOException e) {
-            return null;
-        } catch (NullPointerException e) {
-            return null;
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,69 @@
+package org.drools.eclipse.wizard.decisiontable;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * A page to create a new Decision table scaffolding based on a template.
+ *
+ * @author Michael Neale
+ */
+public class NewDTFilePage extends WizardNewFileCreationPage {
+
+    private static final String XLS_EXTENSION = ".xls";
+    private IWorkbench workbench;
+
+    public NewDTFilePage(IWorkbench workbench, IStructuredSelection selection) {
+        super("createDTFilePage", selection);
+        setTitle("New Decision Table");
+        setDescription("Create a new Decision Table scaffolding.");
+        this.workbench = workbench;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        setPageComplete(true);
+    }
+
+    public boolean finish() {
+        String fileName = getFileName();
+        if (!fileName.endsWith(XLS_EXTENSION)) {
+            setFileName(fileName + XLS_EXTENSION);
+        }
+        org.eclipse.core.resources.IFile newFile = createNewFile();
+        if (newFile == null)
+            return false;
+        try {
+            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
+            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
+            if (page != null)
+                IDE.openEditor(page, newFile, true);
+        } catch (PartInitException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+        return true;
+    }
+
+    protected InputStream getInitialContents() {
+        try {
+            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
+                "org/drools/eclipse/wizard/decisiontable/template.xls").openStream();
+        } catch (IOException e) {
+            return null;
+        } catch (NullPointerException e) {
+            return null;
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,40 +0,0 @@
-package org.drools.eclipse.wizard.decisiontable;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * A wizard to create a Decision Table scaffold.
- * 
- * @author Michael Neale
- */
-public class NewDTFileWizard extends Wizard implements INewWizard {
-
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    private NewDTFilePage mainPage;
-    
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle("New Decision Table");
-    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/dt-large.gif");
-        setDefaultPageImageDescriptor(desc);        
-    }
-    
-    public void addPages() {
-        mainPage = new NewDTFilePage(workbench, selection);
-        addPage(mainPage);
-     }
-
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-    
-
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/decisiontable/NewDTFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,40 @@
+package org.drools.eclipse.wizard.decisiontable;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+/**
+ * A wizard to create a Decision Table scaffold.
+ * 
+ * @author Michael Neale
+ */
+public class NewDTFileWizard extends Wizard implements INewWizard {
+
+    private IWorkbench workbench;
+    private IStructuredSelection selection;
+    private NewDTFilePage mainPage;
+    
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.workbench = workbench;
+        this.selection = selection;
+        setWindowTitle("New Decision Table");
+    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/dt-large.gif");
+        setDefaultPageImageDescriptor(desc);        
+    }
+    
+    public void addPages() {
+        mainPage = new NewDTFilePage(workbench, selection);
+        addPage(mainPage);
+     }
+
+    public boolean performFinish() {
+        return mainPage.finish();
+    }
+    
+
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,74 +0,0 @@
-/*
- * Created on 11-jan-2005
- *
- */
-package org.drools.eclipse.wizard.dsl;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * A page to create a new Domain Specific Language configuration.
- * There may be additional options here in future.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- * @author Michael Neale
- */
-public class NewDSLFilePage extends WizardNewFileCreationPage {
-
-    private IWorkbench workbench;
-
-    public NewDSLFilePage(IWorkbench workbench, IStructuredSelection selection) {
-        super("createDSLFilePage", selection);
-        setTitle("New DSL");
-        setDescription("Create a new Domain Specific Language configuration");
-        this.workbench = workbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        setPageComplete(true);
-    }
-
-    public boolean finish() {
-        String fileName = getFileName();
-        if (!fileName.endsWith(".dsl")) {
-            setFileName(fileName + ".dsl");
-        }
-        org.eclipse.core.resources.IFile newFile = createNewFile();
-        if (newFile == null)
-            return false;
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (PartInitException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-        return true;
-    }
-    
-    protected InputStream getInitialContents() {
-        try {
-            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
-                "org/drools/eclipse/wizard/dsl/template.dsl").openStream();
-        } catch (IOException e) {
-            return null;
-        } catch (NullPointerException e) {
-            return null;
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFilePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,74 @@
+/*
+ * Created on 11-jan-2005
+ *
+ */
+package org.drools.eclipse.wizard.dsl;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * A page to create a new Domain Specific Language configuration.
+ * There may be additional options here in future.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ * @author Michael Neale
+ */
+public class NewDSLFilePage extends WizardNewFileCreationPage {
+
+    private IWorkbench workbench;
+
+    public NewDSLFilePage(IWorkbench workbench, IStructuredSelection selection) {
+        super("createDSLFilePage", selection);
+        setTitle("New DSL");
+        setDescription("Create a new Domain Specific Language configuration");
+        this.workbench = workbench;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        setPageComplete(true);
+    }
+
+    public boolean finish() {
+        String fileName = getFileName();
+        if (!fileName.endsWith(".dsl")) {
+            setFileName(fileName + ".dsl");
+        }
+        org.eclipse.core.resources.IFile newFile = createNewFile();
+        if (newFile == null)
+            return false;
+        try {
+            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
+            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
+            if (page != null)
+                IDE.openEditor(page, newFile, true);
+        } catch (PartInitException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+        return true;
+    }
+    
+    protected InputStream getInitialContents() {
+        try {
+            return DroolsEclipsePlugin.getDefault().getBundle().getResource(
+                "org/drools/eclipse/wizard/dsl/template.dsl").openStream();
+        } catch (IOException e) {
+            return null;
+        } catch (NullPointerException e) {
+            return null;
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,41 +0,0 @@
-package org.drools.eclipse.wizard.dsl;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * A wizard to create a new Domain Specific Language.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- * @author Michael Neale
- */
-public class NewDSLFileWizard extends Wizard implements INewWizard {
-
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    private NewDSLFilePage mainPage;
-    
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle("New Domain Specific Language configuration");
-    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/dsl-large.png");
-        setDefaultPageImageDescriptor(desc);        
-    }
-    
-    public void addPages() {
-        mainPage = new NewDSLFilePage(workbench, selection);
-        addPage(mainPage);
-     }
-
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-    
-
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/dsl/NewDSLFileWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,41 @@
+package org.drools.eclipse.wizard.dsl;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+/**
+ * A wizard to create a new Domain Specific Language.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ * @author Michael Neale
+ */
+public class NewDSLFileWizard extends Wizard implements INewWizard {
+
+    private IWorkbench workbench;
+    private IStructuredSelection selection;
+    private NewDSLFilePage mainPage;
+    
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.workbench = workbench;
+        this.selection = selection;
+        setWindowTitle("New Domain Specific Language configuration");
+    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/dsl-large.png");
+        setDefaultPageImageDescriptor(desc);        
+    }
+    
+    public void addPages() {
+        mainPage = new NewDSLFilePage(workbench, selection);
+        addPage(mainPage);
+     }
+
+    public boolean performFinish() {
+        return mainPage.finish();
+    }
+    
+
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,436 +0,0 @@
-package org.drools.eclipse.wizard.project;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.builder.DroolsBuilder;
-import org.drools.eclipse.util.DroolsClasspathContainer;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-/**
- * A wizard to create a new Drools project.
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class NewDroolsProjectWizard extends BasicNewResourceWizard {
-
-    public static final String DROOLS_CLASSPATH_CONTAINER_PATH = "DROOLS/Drools";
-    
-    private IProject newProject;
-    private WizardNewProjectCreationPage mainPage;
-    private NewDroolsProjectWizardPage extraPage;
-    
-    public void addPages() {
-        super.addPages();
-        mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");
-        mainPage.setTitle("New Drools Project");
-        mainPage.setDescription("Create a new Drools Project");
-        this.addPage(mainPage);
-        extraPage = new NewDroolsProjectWizardPage();
-        addPage(extraPage);
-        setNeedsProgressMonitor(true);
-    }
-
-    public boolean performFinish() {
-        createDroolsProject();
-        if (newProject == null) {
-            return false;
-        }
-        selectAndReveal(newProject);
-        return true;
-    }
-
-    private void createDroolsProject() {
-        newProject = createNewProject();
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                try {
-                	IJavaProject project = JavaCore.create(newProject);
-                    createOutputLocation(project, monitor);
-                    addJavaBuilder(project, monitor);
-                    setClasspath(project, monitor);
-                    createInitialContent(project, monitor);
-                	newProject.build(IncrementalProjectBuilder.FULL_BUILD, monitor);
-                } catch (IOException _ex) {
-                	ErrorDialog.openError(getShell(), "Problem creating Drools project",
-                        null, null);
-                }
-            }
-        };
-        try {
-            getContainer().run(true, true, op);
-        } catch (Throwable t) {
-            DroolsEclipsePlugin.log(t);
-        }
-    }
-    
-    private IProject createNewProject() {
-        if (newProject != null) {
-            return newProject;
-        }
-        final IProject newProjectHandle = mainPage.getProjectHandle();
-
-        // get a project descriptor
-        IPath newPath = null;
-        if (!mainPage.useDefaults())
-            newPath = mainPage.getLocationPath();
-
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        final IProjectDescription description = workspace
-                .newProjectDescription(newProjectHandle.getName());
-        description.setLocation(newPath);
-        addNatures(description);
-
-        // create the new project operation
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                createProject(description, newProjectHandle, monitor);
-            }
-        };
-
-        // run the new project creation operation
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return null;
-        } catch (InvocationTargetException e) {
-            Throwable t = e.getTargetException();
-            if (t instanceof CoreException) {
-                if (((CoreException) t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
-                    MessageDialog.openError(getShell(),
-                        "NewProject.errorMessage",
-                        "NewProject.caseVariantExistsError"
-                                + newProjectHandle.getName());
-                } else {
-                    ErrorDialog.openError(getShell(),
-                        "NewProject.errorMessage", null, // no special message
-                        ((CoreException) t).getStatus());
-                }
-            } else {
-                DroolsEclipsePlugin.log(e);
-            }
-            return null;
-        }
-
-        return newProjectHandle;
-    }
-    
-    private void addNatures(IProjectDescription projectDescription) {
-        List list = new ArrayList();
-        list.addAll(Arrays.asList(projectDescription.getNatureIds()));
-        list.add("org.eclipse.jdt.core.javanature");
-        projectDescription.setNatureIds((String[]) list
-            .toArray(new String[list.size()]));
-    }
-    
-    private void createProject(IProjectDescription description,
-            IProject projectHandle, IProgressMonitor monitor)
-            throws CoreException, OperationCanceledException {
-        try {
-            monitor.beginTask("", 2000);
-            projectHandle.create(description, new SubProgressMonitor(monitor,
-                    1000));
-            if (monitor.isCanceled()) {
-                throw new OperationCanceledException();
-            }
-            projectHandle.open(IResource.BACKGROUND_REFRESH,
-                new SubProgressMonitor(monitor, 1000));
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    private void createOutputLocation(IJavaProject project, IProgressMonitor monitor)
-            throws JavaModelException, CoreException {
-        IFolder folder = project.getProject().getFolder("bin");
-        createFolder(folder, monitor);
-        IPath path = folder.getFullPath();
-        project.setOutputLocation(path, null);
-    }
-
-    private void addJavaBuilder(IJavaProject project, IProgressMonitor monitor) throws CoreException {
-        IProjectDescription description = project.getProject().getDescription();
-        ICommand[] commands = description.getBuildSpec();
-        ICommand[] newCommands = new ICommand[commands.length + 2];
-        System.arraycopy(commands, 0, newCommands, 0, commands.length);
-
-        ICommand javaCommand = description.newCommand();
-        javaCommand.setBuilderName("org.eclipse.jdt.core.javabuilder");
-        newCommands[commands.length] = javaCommand;
-        
-        ICommand droolsCommand = description.newCommand();
-        droolsCommand.setBuilderName(DroolsBuilder.BUILDER_ID);
-        newCommands[commands.length + 1] = droolsCommand;
-        
-        description.setBuildSpec(newCommands);
-        project.getProject().setDescription(description, monitor);
-    }
-
-    private void setClasspath(IJavaProject project, IProgressMonitor monitor)
-            throws JavaModelException, CoreException {
-        project.setRawClasspath(new IClasspathEntry[0], monitor);
-        addSourceFolders(project, monitor);
-        addJRELibraries(project, monitor);
-        addDroolsLibraries(project, monitor);
-    }
-
-    private void addSourceFolders(IJavaProject project, IProgressMonitor monitor) throws JavaModelException, CoreException {
-        List list = new ArrayList();
-        list.addAll(Arrays.asList(project.getRawClasspath()));
-        addSourceFolder(project, list, "src/main/java", monitor);
-        addSourceFolder(project, list, "src/main/rules", monitor);
-        project.setRawClasspath((IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]), null);
-    }
-    
-    private void addJRELibraries(IJavaProject project, IProgressMonitor monitor) throws JavaModelException {
-        List list = new ArrayList();
-        list.addAll(Arrays.asList(project.getRawClasspath()));
-        list.addAll(Arrays.asList(PreferenceConstants.getDefaultJRELibrary()));
-        project.setRawClasspath((IClasspathEntry[]) list
-            .toArray(new IClasspathEntry[list.size()]), monitor);
-    }
-
-    private static IPath getClassPathContainerPath() {
-        return new Path(DROOLS_CLASSPATH_CONTAINER_PATH);
-    }
-
-    private static void createDroolsLibraryContainer(IJavaProject project, IProgressMonitor monitor)
-            throws JavaModelException {
-        JavaCore.setClasspathContainer(getClassPathContainerPath(),
-            new IJavaProject[] { project },
-            new IClasspathContainer[] { new DroolsClasspathContainer(
-                    project, getClassPathContainerPath()) }, monitor);
-    }
-
-    public static void addDroolsLibraries(IJavaProject project, IProgressMonitor monitor)
-            throws JavaModelException {
-        createDroolsLibraryContainer(project, monitor);
-        List list = new ArrayList();
-        list.addAll(Arrays.asList(project.getRawClasspath()));
-        list.add(JavaCore.newContainerEntry(getClassPathContainerPath()));
-        project.setRawClasspath((IClasspathEntry[]) list
-            .toArray(new IClasspathEntry[list.size()]), monitor);
-    }
-
-    private void createInitialContent(IJavaProject project, IProgressMonitor monitor)
-            throws CoreException, JavaModelException, IOException {
-    	try {
-	    	if (extraPage.createJavaRuleFile()) {
-	    		createRuleSampleLauncher(project);
-	    	}
-	    	if (extraPage.createRuleFile()) {
-	    		createRule(project, monitor);
-	    	}
-	    	if (extraPage.createDecisionTableFile()) {
-	    		createDecisionTable(project, monitor);
-	    	}
-	    	if (extraPage.createJavaDecisionTableFile()) {
-	    		createDecisionTableSampleLauncher(project);
-	    	}
-	    	if (extraPage.createRuleFlowFile()) {
-	    		createRuleFlow(project, monitor);
-	    	}
-	    	if (extraPage.createJavaRuleFlowFile()) {
-	    		createRuleFlowSampleLauncher(project);
-	    	}
-    	} catch (Throwable t) {
-    		t.printStackTrace();
-    	}
-	}
-
-    /**
-     * Create the sample rule launcher file.
-     */
-    private void createRuleSampleLauncher(IJavaProject project)
-            throws JavaModelException, IOException {
-        
-        String s = "org/drools/eclipse/wizard/project/RuleLauncherSample.java.template";
-        IFolder folder = project.getProject().getFolder("src/main/java");
-        IPackageFragmentRoot packageFragmentRoot = project
-                .getPackageFragmentRoot(folder);
-        IPackageFragment packageFragment = packageFragmentRoot
-                .createPackageFragment("com.sample", true, null);
-        InputStream inputstream = getClass().getClassLoader()
-                .getResourceAsStream(s);
-        packageFragment.createCompilationUnit("DroolsTest.java", new String(
-                readStream(inputstream)), true, null);
-    }
-
-    /**
-     * Create the sample decision table launcher file.
-     */
-    private void createDecisionTableSampleLauncher(IJavaProject project)
-            throws JavaModelException, IOException {
-        
-        String s = "org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template";
-        IFolder folder = project.getProject().getFolder("src/main/java");
-        IPackageFragmentRoot packageFragmentRoot = project
-                .getPackageFragmentRoot(folder);
-        IPackageFragment packageFragment = packageFragmentRoot
-                .createPackageFragment("com.sample", true, null);
-        InputStream inputstream = getClass().getClassLoader()
-                .getResourceAsStream(s);
-        packageFragment.createCompilationUnit("DecisionTableTest.java", new String(
-                readStream(inputstream)), true, null);
-    }
-
-    /**
-     * Create the sample rule file.
-     */
-    private void createRule(IJavaProject project, IProgressMonitor monitor)
-            throws CoreException {
-        String fileName = "org/drools/eclipse/wizard/project/Sample.drl.template";
-        IFolder folder = project.getProject().getFolder("src/main/rules");
-        IFile file = folder.getFile("Sample.drl");
-        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
-        if (!file.exists()) {
-        	file.create(inputstream, true, monitor);
-        } else {
-        	file.setContents(inputstream, true, false, monitor);
-        }
-    }
-
-    /**
-     * Create the sample decision table file.
-     */
-    private void createDecisionTable(IJavaProject project, IProgressMonitor monitor)
-            throws CoreException {
-        String fileName = "org/drools/eclipse/wizard/project/Sample.xls.template";
-        IFolder folder = project.getProject().getFolder("src/main/rules");
-        IFile file = folder.getFile("Sample.xls");
-        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
-        if (!file.exists()) {
-        	file.create(inputstream, true, monitor);
-        } else {
-        	file.setContents(inputstream, true, false, monitor);
-        }
-    }
-
-    /**
-     * Create the sample RuleFlow file.
-     */
-    private void createRuleFlow(IJavaProject project, IProgressMonitor monitor)
-            throws CoreException {
-        String fileName = "org/drools/eclipse/wizard/project/ruleflow.rf.template";
-        IFolder folder = project.getProject().getFolder("src/main/rules");
-        IFile file = folder.getFile("ruleflow.rf");
-        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
-        if (!file.exists()) {
-        	file.create(inputstream, true, monitor);
-        } else {
-        	file.setContents(inputstream, true, false, monitor);
-        }
-        fileName = "org/drools/eclipse/wizard/project/ruleflow.rfm.template";
-        folder = project.getProject().getFolder("src/main/rules");
-        file = folder.getFile("ruleflow.rfm");
-        inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
-        if (!file.exists()) {
-        	file.create(inputstream, true, monitor);
-        } else {
-        	file.setContents(inputstream, true, false, monitor);
-        }
-        fileName = "org/drools/eclipse/wizard/project/ruleflow.drl.template";
-        folder = project.getProject().getFolder("src/main/rules");
-        file = folder.getFile("ruleflow.drl");
-        inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
-        if (!file.exists()) {
-        	file.create(inputstream, true, monitor);
-        } else {
-        	file.setContents(inputstream, true, false, monitor);
-        }
-    }
-
-    /**
-     * Create the sample RuleFlow launcher file.
-     */
-    private void createRuleFlowSampleLauncher(IJavaProject project)
-            throws JavaModelException, IOException {
-        
-        String s = "org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template";
-        IFolder folder = project.getProject().getFolder("src/main/java");
-        IPackageFragmentRoot packageFragmentRoot = project
-                .getPackageFragmentRoot(folder);
-        IPackageFragment packageFragment = packageFragmentRoot
-                .createPackageFragment("com.sample", true, null);
-        InputStream inputstream = getClass().getClassLoader()
-                .getResourceAsStream(s);
-        packageFragment.createCompilationUnit("RuleFlowTest.java", new String(
-                readStream(inputstream)), true, null);
-    }
-
-    protected void initializeDefaultPageImageDescriptor() {
-    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
-        setDefaultPageImageDescriptor(desc);
-    }
-
-    private byte[] readStream(InputStream inputstream) throws IOException {
-		byte bytes[] = (byte[]) null;
-		int i = 0;
-		byte tempBytes[] = new byte[1024];
-		for (int j = inputstream.read(tempBytes); j != -1; j = inputstream.read(tempBytes)) {
-			byte tempBytes2[] = new byte[i + j];
-			if (i > 0) {
-				System.arraycopy(bytes, 0, tempBytes2, 0, i);
-			}
-			System.arraycopy(tempBytes, 0, tempBytes2, i, j);
-			bytes = tempBytes2;
-			i += j;
-		}
-
-		return bytes;
-	}
-    
-    private void addSourceFolder(IJavaProject project, List list, String s, IProgressMonitor monitor) throws CoreException {
-        IFolder folder = project.getProject().getFolder(s);
-        createFolder(folder, monitor);
-        IPackageFragmentRoot ipackagefragmentroot = project.getPackageFragmentRoot(folder);
-        list.add(JavaCore.newSourceEntry(ipackagefragmentroot.getPath()));
-    }
-    
-    private void createFolder(IFolder folder, IProgressMonitor monitor) throws CoreException {
-        IContainer container = folder.getParent();
-        if (container != null && !container.exists()
-                && (container instanceof IFolder))
-            createFolder((IFolder) container, monitor);
-        if (!folder.exists()) {
-        	folder.create(true, true, monitor);
-        }
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,436 @@
+package org.drools.eclipse.wizard.project;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.builder.DroolsBuilder;
+import org.drools.eclipse.util.DroolsClasspathContainer;
+import org.eclipse.core.resources.ICommand;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceStatus;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.jdt.core.IClasspathContainer;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.ui.PreferenceConstants;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
+import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
+
+/**
+ * A wizard to create a new Drools project.
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class NewDroolsProjectWizard extends BasicNewResourceWizard {
+
+    public static final String DROOLS_CLASSPATH_CONTAINER_PATH = "DROOLS/Drools";
+    
+    private IProject newProject;
+    private WizardNewProjectCreationPage mainPage;
+    private NewDroolsProjectWizardPage extraPage;
+    
+    public void addPages() {
+        super.addPages();
+        mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");
+        mainPage.setTitle("New Drools Project");
+        mainPage.setDescription("Create a new Drools Project");
+        this.addPage(mainPage);
+        extraPage = new NewDroolsProjectWizardPage();
+        addPage(extraPage);
+        setNeedsProgressMonitor(true);
+    }
+
+    public boolean performFinish() {
+        createDroolsProject();
+        if (newProject == null) {
+            return false;
+        }
+        selectAndReveal(newProject);
+        return true;
+    }
+
+    private void createDroolsProject() {
+        newProject = createNewProject();
+        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+            protected void execute(IProgressMonitor monitor)
+                    throws CoreException {
+                try {
+                	IJavaProject project = JavaCore.create(newProject);
+                    createOutputLocation(project, monitor);
+                    addJavaBuilder(project, monitor);
+                    setClasspath(project, monitor);
+                    createInitialContent(project, monitor);
+                	newProject.build(IncrementalProjectBuilder.FULL_BUILD, monitor);
+                } catch (IOException _ex) {
+                	ErrorDialog.openError(getShell(), "Problem creating Drools project",
+                        null, null);
+                }
+            }
+        };
+        try {
+            getContainer().run(true, true, op);
+        } catch (Throwable t) {
+            DroolsEclipsePlugin.log(t);
+        }
+    }
+    
+    private IProject createNewProject() {
+        if (newProject != null) {
+            return newProject;
+        }
+        final IProject newProjectHandle = mainPage.getProjectHandle();
+
+        // get a project descriptor
+        IPath newPath = null;
+        if (!mainPage.useDefaults())
+            newPath = mainPage.getLocationPath();
+
+        IWorkspace workspace = ResourcesPlugin.getWorkspace();
+        final IProjectDescription description = workspace
+                .newProjectDescription(newProjectHandle.getName());
+        description.setLocation(newPath);
+        addNatures(description);
+
+        // create the new project operation
+        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+            protected void execute(IProgressMonitor monitor)
+                    throws CoreException {
+                createProject(description, newProjectHandle, monitor);
+            }
+        };
+
+        // run the new project creation operation
+        try {
+            getContainer().run(true, true, op);
+        } catch (InterruptedException e) {
+            return null;
+        } catch (InvocationTargetException e) {
+            Throwable t = e.getTargetException();
+            if (t instanceof CoreException) {
+                if (((CoreException) t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
+                    MessageDialog.openError(getShell(),
+                        "NewProject.errorMessage",
+                        "NewProject.caseVariantExistsError"
+                                + newProjectHandle.getName());
+                } else {
+                    ErrorDialog.openError(getShell(),
+                        "NewProject.errorMessage", null, // no special message
+                        ((CoreException) t).getStatus());
+                }
+            } else {
+                DroolsEclipsePlugin.log(e);
+            }
+            return null;
+        }
+
+        return newProjectHandle;
+    }
+    
+    private void addNatures(IProjectDescription projectDescription) {
+        List list = new ArrayList();
+        list.addAll(Arrays.asList(projectDescription.getNatureIds()));
+        list.add("org.eclipse.jdt.core.javanature");
+        projectDescription.setNatureIds((String[]) list
+            .toArray(new String[list.size()]));
+    }
+    
+    private void createProject(IProjectDescription description,
+            IProject projectHandle, IProgressMonitor monitor)
+            throws CoreException, OperationCanceledException {
+        try {
+            monitor.beginTask("", 2000);
+            projectHandle.create(description, new SubProgressMonitor(monitor,
+                    1000));
+            if (monitor.isCanceled()) {
+                throw new OperationCanceledException();
+            }
+            projectHandle.open(IResource.BACKGROUND_REFRESH,
+                new SubProgressMonitor(monitor, 1000));
+        } finally {
+            monitor.done();
+        }
+    }
+    
+    private void createOutputLocation(IJavaProject project, IProgressMonitor monitor)
+            throws JavaModelException, CoreException {
+        IFolder folder = project.getProject().getFolder("bin");
+        createFolder(folder, monitor);
+        IPath path = folder.getFullPath();
+        project.setOutputLocation(path, null);
+    }
+
+    private void addJavaBuilder(IJavaProject project, IProgressMonitor monitor) throws CoreException {
+        IProjectDescription description = project.getProject().getDescription();
+        ICommand[] commands = description.getBuildSpec();
+        ICommand[] newCommands = new ICommand[commands.length + 2];
+        System.arraycopy(commands, 0, newCommands, 0, commands.length);
+
+        ICommand javaCommand = description.newCommand();
+        javaCommand.setBuilderName("org.eclipse.jdt.core.javabuilder");
+        newCommands[commands.length] = javaCommand;
+        
+        ICommand droolsCommand = description.newCommand();
+        droolsCommand.setBuilderName(DroolsBuilder.BUILDER_ID);
+        newCommands[commands.length + 1] = droolsCommand;
+        
+        description.setBuildSpec(newCommands);
+        project.getProject().setDescription(description, monitor);
+    }
+
+    private void setClasspath(IJavaProject project, IProgressMonitor monitor)
+            throws JavaModelException, CoreException {
+        project.setRawClasspath(new IClasspathEntry[0], monitor);
+        addSourceFolders(project, monitor);
+        addJRELibraries(project, monitor);
+        addDroolsLibraries(project, monitor);
+    }
+
+    private void addSourceFolders(IJavaProject project, IProgressMonitor monitor) throws JavaModelException, CoreException {
+        List list = new ArrayList();
+        list.addAll(Arrays.asList(project.getRawClasspath()));
+        addSourceFolder(project, list, "src/main/java", monitor);
+        addSourceFolder(project, list, "src/main/rules", monitor);
+        project.setRawClasspath((IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]), null);
+    }
+    
+    private void addJRELibraries(IJavaProject project, IProgressMonitor monitor) throws JavaModelException {
+        List list = new ArrayList();
+        list.addAll(Arrays.asList(project.getRawClasspath()));
+        list.addAll(Arrays.asList(PreferenceConstants.getDefaultJRELibrary()));
+        project.setRawClasspath((IClasspathEntry[]) list
+            .toArray(new IClasspathEntry[list.size()]), monitor);
+    }
+
+    private static IPath getClassPathContainerPath() {
+        return new Path(DROOLS_CLASSPATH_CONTAINER_PATH);
+    }
+
+    private static void createDroolsLibraryContainer(IJavaProject project, IProgressMonitor monitor)
+            throws JavaModelException {
+        JavaCore.setClasspathContainer(getClassPathContainerPath(),
+            new IJavaProject[] { project },
+            new IClasspathContainer[] { new DroolsClasspathContainer(
+                    project, getClassPathContainerPath()) }, monitor);
+    }
+
+    public static void addDroolsLibraries(IJavaProject project, IProgressMonitor monitor)
+            throws JavaModelException {
+        createDroolsLibraryContainer(project, monitor);
+        List list = new ArrayList();
+        list.addAll(Arrays.asList(project.getRawClasspath()));
+        list.add(JavaCore.newContainerEntry(getClassPathContainerPath()));
+        project.setRawClasspath((IClasspathEntry[]) list
+            .toArray(new IClasspathEntry[list.size()]), monitor);
+    }
+
+    private void createInitialContent(IJavaProject project, IProgressMonitor monitor)
+            throws CoreException, JavaModelException, IOException {
+    	try {
+	    	if (extraPage.createJavaRuleFile()) {
+	    		createRuleSampleLauncher(project);
+	    	}
+	    	if (extraPage.createRuleFile()) {
+	    		createRule(project, monitor);
+	    	}
+	    	if (extraPage.createDecisionTableFile()) {
+	    		createDecisionTable(project, monitor);
+	    	}
+	    	if (extraPage.createJavaDecisionTableFile()) {
+	    		createDecisionTableSampleLauncher(project);
+	    	}
+	    	if (extraPage.createRuleFlowFile()) {
+	    		createRuleFlow(project, monitor);
+	    	}
+	    	if (extraPage.createJavaRuleFlowFile()) {
+	    		createRuleFlowSampleLauncher(project);
+	    	}
+    	} catch (Throwable t) {
+    		t.printStackTrace();
+    	}
+	}
+
+    /**
+     * Create the sample rule launcher file.
+     */
+    private void createRuleSampleLauncher(IJavaProject project)
+            throws JavaModelException, IOException {
+        
+        String s = "org/drools/eclipse/wizard/project/RuleLauncherSample.java.template";
+        IFolder folder = project.getProject().getFolder("src/main/java");
+        IPackageFragmentRoot packageFragmentRoot = project
+                .getPackageFragmentRoot(folder);
+        IPackageFragment packageFragment = packageFragmentRoot
+                .createPackageFragment("com.sample", true, null);
+        InputStream inputstream = getClass().getClassLoader()
+                .getResourceAsStream(s);
+        packageFragment.createCompilationUnit("DroolsTest.java", new String(
+                readStream(inputstream)), true, null);
+    }
+
+    /**
+     * Create the sample decision table launcher file.
+     */
+    private void createDecisionTableSampleLauncher(IJavaProject project)
+            throws JavaModelException, IOException {
+        
+        String s = "org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template";
+        IFolder folder = project.getProject().getFolder("src/main/java");
+        IPackageFragmentRoot packageFragmentRoot = project
+                .getPackageFragmentRoot(folder);
+        IPackageFragment packageFragment = packageFragmentRoot
+                .createPackageFragment("com.sample", true, null);
+        InputStream inputstream = getClass().getClassLoader()
+                .getResourceAsStream(s);
+        packageFragment.createCompilationUnit("DecisionTableTest.java", new String(
+                readStream(inputstream)), true, null);
+    }
+
+    /**
+     * Create the sample rule file.
+     */
+    private void createRule(IJavaProject project, IProgressMonitor monitor)
+            throws CoreException {
+        String fileName = "org/drools/eclipse/wizard/project/Sample.drl.template";
+        IFolder folder = project.getProject().getFolder("src/main/rules");
+        IFile file = folder.getFile("Sample.drl");
+        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+        if (!file.exists()) {
+        	file.create(inputstream, true, monitor);
+        } else {
+        	file.setContents(inputstream, true, false, monitor);
+        }
+    }
+
+    /**
+     * Create the sample decision table file.
+     */
+    private void createDecisionTable(IJavaProject project, IProgressMonitor monitor)
+            throws CoreException {
+        String fileName = "org/drools/eclipse/wizard/project/Sample.xls.template";
+        IFolder folder = project.getProject().getFolder("src/main/rules");
+        IFile file = folder.getFile("Sample.xls");
+        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+        if (!file.exists()) {
+        	file.create(inputstream, true, monitor);
+        } else {
+        	file.setContents(inputstream, true, false, monitor);
+        }
+    }
+
+    /**
+     * Create the sample RuleFlow file.
+     */
+    private void createRuleFlow(IJavaProject project, IProgressMonitor monitor)
+            throws CoreException {
+        String fileName = "org/drools/eclipse/wizard/project/ruleflow.rf.template";
+        IFolder folder = project.getProject().getFolder("src/main/rules");
+        IFile file = folder.getFile("ruleflow.rf");
+        InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+        if (!file.exists()) {
+        	file.create(inputstream, true, monitor);
+        } else {
+        	file.setContents(inputstream, true, false, monitor);
+        }
+        fileName = "org/drools/eclipse/wizard/project/ruleflow.rfm.template";
+        folder = project.getProject().getFolder("src/main/rules");
+        file = folder.getFile("ruleflow.rfm");
+        inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+        if (!file.exists()) {
+        	file.create(inputstream, true, monitor);
+        } else {
+        	file.setContents(inputstream, true, false, monitor);
+        }
+        fileName = "org/drools/eclipse/wizard/project/ruleflow.drl.template";
+        folder = project.getProject().getFolder("src/main/rules");
+        file = folder.getFile("ruleflow.drl");
+        inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+        if (!file.exists()) {
+        	file.create(inputstream, true, monitor);
+        } else {
+        	file.setContents(inputstream, true, false, monitor);
+        }
+    }
+
+    /**
+     * Create the sample RuleFlow launcher file.
+     */
+    private void createRuleFlowSampleLauncher(IJavaProject project)
+            throws JavaModelException, IOException {
+        
+        String s = "org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template";
+        IFolder folder = project.getProject().getFolder("src/main/java");
+        IPackageFragmentRoot packageFragmentRoot = project
+                .getPackageFragmentRoot(folder);
+        IPackageFragment packageFragment = packageFragmentRoot
+                .createPackageFragment("com.sample", true, null);
+        InputStream inputstream = getClass().getClassLoader()
+                .getResourceAsStream(s);
+        packageFragment.createCompilationUnit("RuleFlowTest.java", new String(
+                readStream(inputstream)), true, null);
+    }
+
+    protected void initializeDefaultPageImageDescriptor() {
+    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
+        setDefaultPageImageDescriptor(desc);
+    }
+
+    private byte[] readStream(InputStream inputstream) throws IOException {
+		byte bytes[] = (byte[]) null;
+		int i = 0;
+		byte tempBytes[] = new byte[1024];
+		for (int j = inputstream.read(tempBytes); j != -1; j = inputstream.read(tempBytes)) {
+			byte tempBytes2[] = new byte[i + j];
+			if (i > 0) {
+				System.arraycopy(bytes, 0, tempBytes2, 0, i);
+			}
+			System.arraycopy(tempBytes, 0, tempBytes2, i, j);
+			bytes = tempBytes2;
+			i += j;
+		}
+
+		return bytes;
+	}
+    
+    private void addSourceFolder(IJavaProject project, List list, String s, IProgressMonitor monitor) throws CoreException {
+        IFolder folder = project.getProject().getFolder(s);
+        createFolder(folder, monitor);
+        IPackageFragmentRoot ipackagefragmentroot = project.getPackageFragmentRoot(folder);
+        list.add(JavaCore.newSourceEntry(ipackagefragmentroot.getPath()));
+    }
+    
+    private void createFolder(IFolder folder, IProgressMonitor monitor) throws CoreException {
+        IContainer container = folder.getParent();
+        if (container != null && !container.exists()
+                && (container instanceof IFolder))
+            createFolder((IFolder) container, monitor);
+        if (!folder.exists()) {
+        	folder.create(true, true, monitor);
+        }
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,147 +0,0 @@
-package org.drools.eclipse.wizard.project;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-public class NewDroolsProjectWizardPage extends WizardPage {
-
-	private Button addSampleJavaRuleCodeButton;
-	private Button addSampleRuleButton;
-	private Button addSampleJavaDecisionTableCodeButton;
-	private Button addSampleDecisionTableCodeButton;
-	private Button addSampleRuleFlowButton;
-	private Button addSampleJavaRuleFlowCodeButton;
-	private boolean addSampleJavaRuleCode = true;
-	private boolean addSampleRule = true;
-	private boolean addSampleJavaDecisionTableCode = false;
-	private boolean addSampleDecisionTableCode = false;
-	private boolean addSampleJavaRuleFlowCode = false;
-	private boolean addSampleRuleFlow = false;
-	
-	public NewDroolsProjectWizardPage() {
-		super("extendedNewProjectPage");
-		setTitle("New Drools Project");
-        setDescription("Create a new Drools Project");
-	}
-	
-	public void createControl(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setFont(parent.getFont());
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        createControls(composite);
-        setPageComplete(true);
-        // Show description on opening
-        setErrorMessage(null);
-        setMessage(null);
-        setControl(composite);
-	}
-	
-	private void createControls(Composite parent) {
-		addSampleRuleButton = createCheckBox(parent,
-			"Add a sample HelloWorld rule file to this project.");
-		addSampleRuleButton.setSelection(addSampleRule);
-		addSampleRuleButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleRule = ((Button) e.widget).getSelection();
-			}
-		});
-		addSampleJavaRuleCodeButton = createCheckBox(parent,
-			"Add a sample Java class for loading and executing the HelloWorld rules.");
-		addSampleJavaRuleCodeButton.setSelection(addSampleJavaRuleCode);
-		addSampleJavaRuleCodeButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleJavaRuleCode = ((Button) e.widget).getSelection();
-			}
-		});
-		addSampleDecisionTableCodeButton = createCheckBox(parent,
-			"Add a sample HelloWorld decision table file to this project.");
-		addSampleDecisionTableCodeButton.setSelection(addSampleDecisionTableCode);
-		addSampleDecisionTableCodeButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleDecisionTableCode = ((Button) e.widget).getSelection();
-			}
-		});
-		addSampleJavaDecisionTableCodeButton = createCheckBox(parent,
-			"Add a sample Java class for loading and executing the HelloWorld decision table.");
-		addSampleJavaDecisionTableCodeButton.setSelection(addSampleDecisionTableCode);
-		addSampleJavaDecisionTableCodeButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleJavaDecisionTableCode = ((Button) e.widget).getSelection();
-			}
-		});
-		addSampleRuleFlowButton = createCheckBox(parent,
-			"Add a sample RuleFlow file to this project.");
-		addSampleRuleFlowButton.setSelection(addSampleRuleFlow);
-		addSampleRuleFlowButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleRuleFlow = ((Button) e.widget).getSelection();
-			}
-		});
-		addSampleJavaRuleFlowCodeButton = createCheckBox(parent,
-			"Add a sample Java class for loading and executing the RuleFlow.");
-		addSampleJavaRuleFlowCodeButton.setSelection(addSampleJavaRuleFlowCode);
-		addSampleJavaRuleFlowCodeButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				addSampleJavaRuleFlowCode = ((Button) e.widget).getSelection();
-			}
-		});
-
-	}
-
-	private Button createCheckBox(Composite group, String label) {
-        Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-        button.setText(label);
-        GridData data = new GridData();
-        button.setLayoutData(data);
-        return button;
-    }
-	
-	public boolean createRuleFile() {
-		return addSampleRule;
-	}
-	
-	public boolean createJavaRuleFile() {
-		return addSampleJavaRuleCode;
-	}
-	
-	public boolean createDecisionTableFile() {
-		return addSampleDecisionTableCode;
-	}
-	
-	public boolean createJavaDecisionTableFile() {
-		return addSampleJavaDecisionTableCode;
-	}
-	
-	public boolean createRuleFlowFile() {
-		return addSampleRuleFlow;
-	}
-	
-	public boolean createJavaRuleFlowFile() {
-		return addSampleJavaRuleFlowCode;
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,147 @@
+package org.drools.eclipse.wizard.project;
+
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+
+public class NewDroolsProjectWizardPage extends WizardPage {
+
+	private Button addSampleJavaRuleCodeButton;
+	private Button addSampleRuleButton;
+	private Button addSampleJavaDecisionTableCodeButton;
+	private Button addSampleDecisionTableCodeButton;
+	private Button addSampleRuleFlowButton;
+	private Button addSampleJavaRuleFlowCodeButton;
+	private boolean addSampleJavaRuleCode = true;
+	private boolean addSampleRule = true;
+	private boolean addSampleJavaDecisionTableCode = false;
+	private boolean addSampleDecisionTableCode = false;
+	private boolean addSampleJavaRuleFlowCode = false;
+	private boolean addSampleRuleFlow = false;
+	
+	public NewDroolsProjectWizardPage() {
+		super("extendedNewProjectPage");
+		setTitle("New Drools Project");
+        setDescription("Create a new Drools Project");
+	}
+	
+	public void createControl(Composite parent) {
+        Composite composite = new Composite(parent, SWT.NULL);
+        composite.setFont(parent.getFont());
+        composite.setLayout(new GridLayout());
+        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
+        createControls(composite);
+        setPageComplete(true);
+        // Show description on opening
+        setErrorMessage(null);
+        setMessage(null);
+        setControl(composite);
+	}
+	
+	private void createControls(Composite parent) {
+		addSampleRuleButton = createCheckBox(parent,
+			"Add a sample HelloWorld rule file to this project.");
+		addSampleRuleButton.setSelection(addSampleRule);
+		addSampleRuleButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleRule = ((Button) e.widget).getSelection();
+			}
+		});
+		addSampleJavaRuleCodeButton = createCheckBox(parent,
+			"Add a sample Java class for loading and executing the HelloWorld rules.");
+		addSampleJavaRuleCodeButton.setSelection(addSampleJavaRuleCode);
+		addSampleJavaRuleCodeButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleJavaRuleCode = ((Button) e.widget).getSelection();
+			}
+		});
+		addSampleDecisionTableCodeButton = createCheckBox(parent,
+			"Add a sample HelloWorld decision table file to this project.");
+		addSampleDecisionTableCodeButton.setSelection(addSampleDecisionTableCode);
+		addSampleDecisionTableCodeButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleDecisionTableCode = ((Button) e.widget).getSelection();
+			}
+		});
+		addSampleJavaDecisionTableCodeButton = createCheckBox(parent,
+			"Add a sample Java class for loading and executing the HelloWorld decision table.");
+		addSampleJavaDecisionTableCodeButton.setSelection(addSampleDecisionTableCode);
+		addSampleJavaDecisionTableCodeButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleJavaDecisionTableCode = ((Button) e.widget).getSelection();
+			}
+		});
+		addSampleRuleFlowButton = createCheckBox(parent,
+			"Add a sample RuleFlow file to this project.");
+		addSampleRuleFlowButton.setSelection(addSampleRuleFlow);
+		addSampleRuleFlowButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleRuleFlow = ((Button) e.widget).getSelection();
+			}
+		});
+		addSampleJavaRuleFlowCodeButton = createCheckBox(parent,
+			"Add a sample Java class for loading and executing the RuleFlow.");
+		addSampleJavaRuleFlowCodeButton.setSelection(addSampleJavaRuleFlowCode);
+		addSampleJavaRuleFlowCodeButton.addSelectionListener(new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// do nothing
+			}
+			public void widgetSelected(SelectionEvent e) {
+				addSampleJavaRuleFlowCode = ((Button) e.widget).getSelection();
+			}
+		});
+
+	}
+
+	private Button createCheckBox(Composite group, String label) {
+        Button button = new Button(group, SWT.CHECK | SWT.LEFT);
+        button.setText(label);
+        GridData data = new GridData();
+        button.setLayoutData(data);
+        return button;
+    }
+	
+	public boolean createRuleFile() {
+		return addSampleRule;
+	}
+	
+	public boolean createJavaRuleFile() {
+		return addSampleJavaRuleCode;
+	}
+	
+	public boolean createDecisionTableFile() {
+		return addSampleDecisionTableCode;
+	}
+	
+	public boolean createJavaDecisionTableFile() {
+		return addSampleJavaDecisionTableCode;
+	}
+	
+	public boolean createRuleFlowFile() {
+		return addSampleRuleFlow;
+	}
+	
+	public boolean createJavaRuleFlowFile() {
+		return addSampleJavaRuleFlowCode;
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,83 +0,0 @@
-package org.drools.eclipse.wizard.rule;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.text.DateFormat;
-import java.util.Date;
-import java.util.regex.Pattern;
-
-/**
- * This will generate DRL bits and bobs based on various templates.
- * For use by the wizards only. 
- * TODO: move this to string template (as it is being used elsewhere in drools)
- * @author Michael Neale
- */
-public class DRLGenerator {
-
-    private static final Pattern packageDec = Pattern.compile( "\\$package\\$" );
-    private static final Pattern dateDec = Pattern.compile( "\\$date\\$" );
-    private static final Pattern functionsDec = Pattern.compile( "\\$functions\\$" );
-    private static final Pattern expanderDec = Pattern.compile( "\\$expander\\$" );
-    
-    public InputStream generateRule(String packageName,
-                                    InputStream template) throws IOException {
-        
-        String temp = readTemplate( template );
-        temp = doHeader( packageName,
-                         temp );
-        
-        return toStream( temp );
-        
-
-    }
-    
-    public InputStream generatePackage(String packageName, boolean functions, boolean expander, InputStream template) throws IOException {
-        String temp = readTemplate( template );
-        temp = doHeader(packageName, temp );
-        if (functions) {
-            temp = functionsDec.matcher( temp ).replaceFirst( "function myFunction( ... ) " + System.getProperty("line.separator") + "    #function content (can have multiple functions) " + System.getProperty("line.separator") + "end" + System.getProperty("line.separator"));
-        } else {
-            temp = functionsDec.matcher( temp ).replaceFirst( "");
-        }
-        if (expander) {
-            temp = expanderDec.matcher( temp ).replaceFirst( "expander customLanguage.dsl" + System.getProperty("line.separator") + "");
-        } else {
-            temp = expanderDec.matcher( temp ).replaceFirst( "");
-        }
-        return toStream( temp );
-
-        
-    }    
-
-    private ByteArrayInputStream toStream(String temp) throws UnsupportedEncodingException {
-        ByteArrayInputStream stream = new ByteArrayInputStream(temp.getBytes( "UTF-8" ));
-        return stream;
-    }
-
-    private String doHeader(String packageName,
-                            String temp) {
-        temp = packageDec.matcher( temp ).replaceFirst( "package " + packageName + System.getProperty("line.separator") );
-        temp = dateDec.matcher( temp ).replaceFirst( DateFormat.getDateInstance().format( new Date()) );
-        return temp;
-    }
-
-    private String readTemplate(InputStream template) throws IOException {
-        BufferedReader reader = new BufferedReader(new InputStreamReader(template));
-        String line = null;
-        StringBuffer buf = new StringBuffer();
-        while ((line = reader.readLine())  != null) {
-            buf.append(line + System.getProperty("line.separator"));
-        }
-        String temp = buf.toString();
-        return temp;
-    }
-    
-
-
-    
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/DRLGenerator.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,83 @@
+package org.drools.eclipse.wizard.rule;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.regex.Pattern;
+
+/**
+ * This will generate DRL bits and bobs based on various templates.
+ * For use by the wizards only. 
+ * TODO: move this to string template (as it is being used elsewhere in drools)
+ * @author Michael Neale
+ */
+public class DRLGenerator {
+
+    private static final Pattern packageDec = Pattern.compile( "\\$package\\$" );
+    private static final Pattern dateDec = Pattern.compile( "\\$date\\$" );
+    private static final Pattern functionsDec = Pattern.compile( "\\$functions\\$" );
+    private static final Pattern expanderDec = Pattern.compile( "\\$expander\\$" );
+    
+    public InputStream generateRule(String packageName,
+                                    InputStream template) throws IOException {
+        
+        String temp = readTemplate( template );
+        temp = doHeader( packageName,
+                         temp );
+        
+        return toStream( temp );
+        
+
+    }
+    
+    public InputStream generatePackage(String packageName, boolean functions, boolean expander, InputStream template) throws IOException {
+        String temp = readTemplate( template );
+        temp = doHeader(packageName, temp );
+        if (functions) {
+            temp = functionsDec.matcher( temp ).replaceFirst( "function myFunction( ... ) " + System.getProperty("line.separator") + "    #function content (can have multiple functions) " + System.getProperty("line.separator") + "end" + System.getProperty("line.separator"));
+        } else {
+            temp = functionsDec.matcher( temp ).replaceFirst( "");
+        }
+        if (expander) {
+            temp = expanderDec.matcher( temp ).replaceFirst( "expander customLanguage.dsl" + System.getProperty("line.separator") + "");
+        } else {
+            temp = expanderDec.matcher( temp ).replaceFirst( "");
+        }
+        return toStream( temp );
+
+        
+    }    
+
+    private ByteArrayInputStream toStream(String temp) throws UnsupportedEncodingException {
+        ByteArrayInputStream stream = new ByteArrayInputStream(temp.getBytes( "UTF-8" ));
+        return stream;
+    }
+
+    private String doHeader(String packageName,
+                            String temp) {
+        temp = packageDec.matcher( temp ).replaceFirst( "package " + packageName + System.getProperty("line.separator") );
+        temp = dateDec.matcher( temp ).replaceFirst( DateFormat.getDateInstance().format( new Date()) );
+        return temp;
+    }
+
+    private String readTemplate(InputStream template) throws IOException {
+        BufferedReader reader = new BufferedReader(new InputStreamReader(template));
+        String line = null;
+        StringBuffer buf = new StringBuffer();
+        while ((line = reader.readLine())  != null) {
+            buf.append(line + System.getProperty("line.separator"));
+        }
+        String temp = buf.toString();
+        return temp;
+    }
+    
+
+
+    
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,194 +0,0 @@
-/*
- * Created on 11-jan-2005
- *
- */
-package org.drools.eclipse.wizard.rule;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * A page to create a new .drl package/package file.
- * There is only one page for this wizard, its very simple.
- * 
- * Enhancements may be made to allow configuration of semantic languages, DSLs (locate a DSL) and other 
- * package level options.
- * 
- * @author Michael Neale
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class NewRulePackagePage extends WizardNewFileCreationPage {
-
-    private static final int TYPE_RULE = 1;
-    private static final int TYPE_PACKAGE = 0;
-    private IWorkbench workbench;
-    private Combo  ruleFileType;
-    private Button  expander;
-    private Button  function;
-    private Text    packageName;
-    
-    
-    public NewRulePackagePage(IWorkbench workbench, IStructuredSelection selection) {
-        super("createDRLFilePage", selection);
-        setTitle("New Rules File");
-        setDescription("Create a new rules file (drl)");
-        this.workbench = workbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        setPageComplete(true);
-        super.setMessage( "Hint: Press CTRL+SPACE when editing rules to get content sensitive assistance/popups.");
-    }
-    
-    
-    protected void createAdvancedControls(Composite parent) {
-        Composite container = new Composite(parent, SWT.NONE);
-        final GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        container.setLayout( layout );
-        setControl( container );
-
-        //setup the controls.
-        createType( container );
-        createDSL( container );
-        createFunctions( container );
-        createPackageName( container );
-        
-        super.createAdvancedControls( parent );
-    }
-
-    private void createPackageName(Composite container) {
-        //package name
-        Label pack = new Label(container, SWT.NONE);
-        pack.setText( "Rule package name:" );
-        pack.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
-        pack.setFont( this.getFont() );
-        packageName = new Text(container, SWT.BORDER);
-        packageName.setLayoutData(  new GridData(GridData.FILL_HORIZONTAL) );
-        packageName.setToolTipText( "Rules require a namespace." );
-        packageName.setFont( this.getFont() );
-    }
-
-    private void createFunctions(Composite container) {
-        //function
-        Label func = new Label(container, SWT.NONE);
-        func.setText( "Use functions:" );
-        func.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
-        func.setFont( this.getFont() );
-        function = new Button(container, SWT.CHECK);
-        function.setSelection( false );
-        function.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING) );
-        function.setToolTipText( "Functions are methods you embed in your rule source." );
-    }
-
-    private void createDSL(Composite container) {
-        //expander
-        Label exp = new Label(container, SWT.NONE);
-        exp.setText( "Use a DSL:" );
-        exp.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
-        exp.setFont( this.getFont() );
-        expander = new Button(container, SWT.CHECK);
-        expander.setSelection( false );
-        expander.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING) );
-        expander.setToolTipText( "Domain Specific Language: allows you to create your own domain specific languages\n for use in rules." );
-    }
-
-    private void createType(Composite container) {
-        //type
-        Label type = new Label(container, SWT.NONE);
-        type.setText( "Type of rule resource:" );
-        type.setFont( this.getFont() );
-        type.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
-        ruleFileType = new Combo( container,
-                           SWT.READ_ONLY);
-        ruleFileType.add( "New DRL (rule package)", TYPE_PACKAGE );
-        ruleFileType.add( "New Rule (individual rule)", TYPE_RULE );
-        ruleFileType.select( 0 );
-        ruleFileType.setLayoutData( new GridData(GridData.FILL_HORIZONTAL) );
-        ruleFileType.setFont( this.getFont() );
-        
-    }
-    
-    public boolean finish() {
-        if (!validate()) {
-            return false;
-        }
-        String fileName = getFileName();
-        String extension = expander.getSelection() ? ".dslr" : ".drl";
-        if (!fileName.endsWith(extension)) {
-            setFileName(fileName + extension);
-        }
-        org.eclipse.core.resources.IFile newFile = createNewFile();
-        if (newFile == null)
-            return false;
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (PartInitException e) {
-            DroolsEclipsePlugin.log(e);
-            return false;
-        }
-        return true;
-    }
-
-    private boolean validate() {
-        if (this.packageName.getText() == null || packageName.getText().equals( "" )) {
-            setErrorMessage( "You must provide a rule package name" );
-            return false;
-        } else {
-            return true;
-        }
-    }
-    
-    protected InputStream getInitialContents() {
-        
-        try {
-        	
-            DRLGenerator gen = new DRLGenerator();
-            if (this.ruleFileType.getSelectionIndex() == TYPE_RULE) {
-                InputStream template = getTemplate("org/drools/eclipse/wizard/rule/new_rule.drl.template");                
-                return gen.generateRule( this.packageName.getText(), 
-                                         template );
-            } else {
-                InputStream template = getTemplate("org/drools/eclipse/wizard/rule/new_package.drl.template");                
-                return gen.generatePackage( this.packageName.getText(), 
-                                            function.getSelection(), 
-                                            expander.getSelection(), 
-                                            template );
-            }
-        } catch (IOException e) {
-            return null;
-        } catch (NullPointerException e) {
-            return null;
-        }
-    }
-
-    private InputStream getTemplate(String templatePath) throws IOException {
-        return DroolsEclipsePlugin.getDefault().getBundle().getResource(templatePath).openStream();
-    }
-    
-
-    
-    
-    
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackagePage.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,194 @@
+/*
+ * Created on 11-jan-2005
+ *
+ */
+package org.drools.eclipse.wizard.rule;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * A page to create a new .drl package/package file.
+ * There is only one page for this wizard, its very simple.
+ * 
+ * Enhancements may be made to allow configuration of semantic languages, DSLs (locate a DSL) and other 
+ * package level options.
+ * 
+ * @author Michael Neale
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class NewRulePackagePage extends WizardNewFileCreationPage {
+
+    private static final int TYPE_RULE = 1;
+    private static final int TYPE_PACKAGE = 0;
+    private IWorkbench workbench;
+    private Combo  ruleFileType;
+    private Button  expander;
+    private Button  function;
+    private Text    packageName;
+    
+    
+    public NewRulePackagePage(IWorkbench workbench, IStructuredSelection selection) {
+        super("createDRLFilePage", selection);
+        setTitle("New Rules File");
+        setDescription("Create a new rules file (drl)");
+        this.workbench = workbench;
+    }
+
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        setPageComplete(true);
+        super.setMessage( "Hint: Press CTRL+SPACE when editing rules to get content sensitive assistance/popups.");
+    }
+    
+    
+    protected void createAdvancedControls(Composite parent) {
+        Composite container = new Composite(parent, SWT.NONE);
+        final GridLayout layout = new GridLayout();
+        layout.numColumns = 2;
+        container.setLayout( layout );
+        setControl( container );
+
+        //setup the controls.
+        createType( container );
+        createDSL( container );
+        createFunctions( container );
+        createPackageName( container );
+        
+        super.createAdvancedControls( parent );
+    }
+
+    private void createPackageName(Composite container) {
+        //package name
+        Label pack = new Label(container, SWT.NONE);
+        pack.setText( "Rule package name:" );
+        pack.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
+        pack.setFont( this.getFont() );
+        packageName = new Text(container, SWT.BORDER);
+        packageName.setLayoutData(  new GridData(GridData.FILL_HORIZONTAL) );
+        packageName.setToolTipText( "Rules require a namespace." );
+        packageName.setFont( this.getFont() );
+    }
+
+    private void createFunctions(Composite container) {
+        //function
+        Label func = new Label(container, SWT.NONE);
+        func.setText( "Use functions:" );
+        func.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
+        func.setFont( this.getFont() );
+        function = new Button(container, SWT.CHECK);
+        function.setSelection( false );
+        function.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING) );
+        function.setToolTipText( "Functions are methods you embed in your rule source." );
+    }
+
+    private void createDSL(Composite container) {
+        //expander
+        Label exp = new Label(container, SWT.NONE);
+        exp.setText( "Use a DSL:" );
+        exp.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
+        exp.setFont( this.getFont() );
+        expander = new Button(container, SWT.CHECK);
+        expander.setSelection( false );
+        expander.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING) );
+        expander.setToolTipText( "Domain Specific Language: allows you to create your own domain specific languages\n for use in rules." );
+    }
+
+    private void createType(Composite container) {
+        //type
+        Label type = new Label(container, SWT.NONE);
+        type.setText( "Type of rule resource:" );
+        type.setFont( this.getFont() );
+        type.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END) );
+        ruleFileType = new Combo( container,
+                           SWT.READ_ONLY);
+        ruleFileType.add( "New DRL (rule package)", TYPE_PACKAGE );
+        ruleFileType.add( "New Rule (individual rule)", TYPE_RULE );
+        ruleFileType.select( 0 );
+        ruleFileType.setLayoutData( new GridData(GridData.FILL_HORIZONTAL) );
+        ruleFileType.setFont( this.getFont() );
+        
+    }
+    
+    public boolean finish() {
+        if (!validate()) {
+            return false;
+        }
+        String fileName = getFileName();
+        String extension = expander.getSelection() ? ".dslr" : ".drl";
+        if (!fileName.endsWith(extension)) {
+            setFileName(fileName + extension);
+        }
+        org.eclipse.core.resources.IFile newFile = createNewFile();
+        if (newFile == null)
+            return false;
+        try {
+            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
+            org.eclipse.ui.IWorkbenchPage page = dwindow.getActivePage();
+            if (page != null)
+                IDE.openEditor(page, newFile, true);
+        } catch (PartInitException e) {
+            DroolsEclipsePlugin.log(e);
+            return false;
+        }
+        return true;
+    }
+
+    private boolean validate() {
+        if (this.packageName.getText() == null || packageName.getText().equals( "" )) {
+            setErrorMessage( "You must provide a rule package name" );
+            return false;
+        } else {
+            return true;
+        }
+    }
+    
+    protected InputStream getInitialContents() {
+        
+        try {
+        	
+            DRLGenerator gen = new DRLGenerator();
+            if (this.ruleFileType.getSelectionIndex() == TYPE_RULE) {
+                InputStream template = getTemplate("org/drools/eclipse/wizard/rule/new_rule.drl.template");                
+                return gen.generateRule( this.packageName.getText(), 
+                                         template );
+            } else {
+                InputStream template = getTemplate("org/drools/eclipse/wizard/rule/new_package.drl.template");                
+                return gen.generatePackage( this.packageName.getText(), 
+                                            function.getSelection(), 
+                                            expander.getSelection(), 
+                                            template );
+            }
+        } catch (IOException e) {
+            return null;
+        } catch (NullPointerException e) {
+            return null;
+        }
+    }
+
+    private InputStream getTemplate(String templatePath) throws IOException {
+        return DroolsEclipsePlugin.getDefault().getBundle().getResource(templatePath).openStream();
+    }
+    
+
+    
+    
+    
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,41 +0,0 @@
-package org.drools.eclipse.wizard.rule;
-
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * This is a wizard to create a new .drl file (for example a rule or a whole rule package).
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- * @author Michael Neale
- */
-public class NewRulePackageWizard extends Wizard implements INewWizard {
-
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    private NewRulePackagePage mainPage;
-    
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle("New Rule Package...");
-        
-    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
-        setDefaultPageImageDescriptor(desc);
-    }
-    
-    public void addPages() {
-        mainPage = new NewRulePackagePage(workbench, selection);
-        addPage(mainPage);
-     }
-
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-    
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/eclipse/wizard/rule/NewRulePackageWizard.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,41 @@
+package org.drools.eclipse.wizard.rule;
+
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+/**
+ * This is a wizard to create a new .drl file (for example a rule or a whole rule package).
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ * @author Michael Neale
+ */
+public class NewRulePackageWizard extends Wizard implements INewWizard {
+
+    private IWorkbench workbench;
+    private IStructuredSelection selection;
+    private NewRulePackagePage mainPage;
+    
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.workbench = workbench;
+        this.selection = selection;
+        setWindowTitle("New Rule Package...");
+        
+    	ImageDescriptor desc = DroolsEclipsePlugin.getImageDescriptor("icons/drools-large.PNG");
+        setDefaultPageImageDescriptor(desc);
+    }
+    
+    public void addPages() {
+        mainPage = new NewRulePackagePage(workbench, selection);
+        addPage(mainPage);
+     }
+
+    public boolean performFinish() {
+        return mainPage.finish();
+    }
+    
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link AccumulateNode} and adds visual extras like color information
- *
- */
-public class AccumulateNodeVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "AccumulateNode";
-    
-    private final AccumulateNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public AccumulateNodeVertex(final AccumulateNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.lightGreen;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AccumulateNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link AccumulateNode} and adds visual extras like color information
+ *
+ */
+public class AccumulateNodeVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "AccumulateNode";
+    
+    private final AccumulateNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public AccumulateNodeVertex(final AccumulateNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.lightGreen;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,119 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.drools.base.ClassFieldExtractor;
-import org.drools.rule.LiteralConstraint;
-import org.drools.spi.AlphaNodeFieldConstraint;
-import org.drools.spi.Constraint;
-import org.drools.spi.FieldExtractor;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link AlphaNode} and adds visual extras like color information
- *
- */
-public class AlphaNodeVertex extends BaseVertex {
-
-    private final AlphaNode node;
-
-    private final String    NODE_NAME = "AlphaNode";
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public AlphaNodeVertex(final AlphaNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
-        if (constraint instanceof LiteralConstraint) {
-        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
-            FieldExtractor extractor = literalConstraint.getFieldExtractor();
-            if (extractor instanceof ClassFieldExtractor) {
-            	ClassFieldExtractor classFieldExtractor = (ClassFieldExtractor) extractor;
-            	return NODE_NAME + "<BR/>field : " + classFieldExtractor.getFieldName() + "<BR/>evaluator : " + literalConstraint.getEvaluator() + "<BR/>value :  " + literalConstraint.getField();
-            }
-        }
-        return NODE_NAME + "<BR/>";
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return this.node.toString();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.blue;
-    }
-
-    /**
-     * Constraint has field extractor and this method is returning fieldName
-     * it.
-     * 
-     * @return field name
-     */
-    public String getFieldName() {
-    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
-        if (constraint instanceof LiteralConstraint) {
-        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
-            FieldExtractor extractor = literalConstraint.getFieldExtractor();
-            if (extractor instanceof ClassFieldExtractor) {
-            	return ((ClassFieldExtractor) extractor).getFieldName();
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Constraint's evaluator string
-     * 
-     * @return evaluator string
-     */
-    public String getEvaluator() {
-    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
-        if (constraint instanceof LiteralConstraint) {
-        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
-        	return literalConstraint.getEvaluator().toString();
-        }
-        return null;
-    }
-
-    /**
-     * Constraint field string
-     * 
-     * @return field string
-     */
-    public String getValue() {
-    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
-        if (constraint instanceof LiteralConstraint) {
-        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
-        	return literalConstraint.getField().toString();
-        }
-        return null;
-    }
-
-    /**
-     * Constraint
-     * 
-     * @return constraint
-     */
-    public Constraint getConstraint() {
-        return this.node.getConstraint();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/AlphaNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,119 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.drools.base.ClassFieldExtractor;
+import org.drools.rule.LiteralConstraint;
+import org.drools.spi.AlphaNodeFieldConstraint;
+import org.drools.spi.Constraint;
+import org.drools.spi.FieldExtractor;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link AlphaNode} and adds visual extras like color information
+ *
+ */
+public class AlphaNodeVertex extends BaseVertex {
+
+    private final AlphaNode node;
+
+    private final String    NODE_NAME = "AlphaNode";
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public AlphaNodeVertex(final AlphaNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
+        if (constraint instanceof LiteralConstraint) {
+        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
+            FieldExtractor extractor = literalConstraint.getFieldExtractor();
+            if (extractor instanceof ClassFieldExtractor) {
+            	ClassFieldExtractor classFieldExtractor = (ClassFieldExtractor) extractor;
+            	return NODE_NAME + "<BR/>field : " + classFieldExtractor.getFieldName() + "<BR/>evaluator : " + literalConstraint.getEvaluator() + "<BR/>value :  " + literalConstraint.getField();
+            }
+        }
+        return NODE_NAME + "<BR/>";
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return this.node.toString();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.blue;
+    }
+
+    /**
+     * Constraint has field extractor and this method is returning fieldName
+     * it.
+     * 
+     * @return field name
+     */
+    public String getFieldName() {
+    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
+        if (constraint instanceof LiteralConstraint) {
+        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
+            FieldExtractor extractor = literalConstraint.getFieldExtractor();
+            if (extractor instanceof ClassFieldExtractor) {
+            	return ((ClassFieldExtractor) extractor).getFieldName();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Constraint's evaluator string
+     * 
+     * @return evaluator string
+     */
+    public String getEvaluator() {
+    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
+        if (constraint instanceof LiteralConstraint) {
+        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
+        	return literalConstraint.getEvaluator().toString();
+        }
+        return null;
+    }
+
+    /**
+     * Constraint field string
+     * 
+     * @return field string
+     */
+    public String getValue() {
+    	AlphaNodeFieldConstraint constraint = this.node.getConstraint();
+        if (constraint instanceof LiteralConstraint) {
+        	LiteralConstraint literalConstraint = (LiteralConstraint) constraint;
+        	return literalConstraint.getField().toString();
+        }
+        return null;
+    }
+
+    /**
+     * Constraint
+     * 
+     * @return constraint
+     */
+    public Constraint getConstraint() {
+        return this.node.getConstraint();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,33 +0,0 @@
-/*
- * Copyright 2006 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.
- */
-package org.drools.reteoo;
-
-import org.drools.eclipse.editors.rete.model.GraphicalVertex;
-
-/**
- * Intermediate class to have a workaround for *Node default visibility  
- * and ReteooVisitor.
- * 
- * It's not good to have {@link GraphicalVertex} dependency in
- * org.drools.reteoo package. 
- * 
- * @author Ahti Kitsik
- *
- */
-abstract public class BaseVertex extends GraphicalVertex {
-
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/BaseVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2006 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.
+ */
+package org.drools.reteoo;
+
+import org.drools.eclipse.editors.rete.model.GraphicalVertex;
+
+/**
+ * Intermediate class to have a workaround for *Node default visibility  
+ * and ReteooVisitor.
+ * 
+ * It's not good to have {@link GraphicalVertex} dependency in
+ * org.drools.reteoo package. 
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+abstract public class BaseVertex extends GraphicalVertex {
+
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link CollectNode} and adds visual extras like color information
- *
- */
-public class CollectNodeVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "CollectNode";
-    
-    private final CollectNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public CollectNodeVertex(final CollectNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId() + " : Chared count = " + this.node.getSharedCount();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.lightGray;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/CollectNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link CollectNode} and adds visual extras like color information
+ *
+ */
+public class CollectNodeVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "CollectNode";
+    
+    private final CollectNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public CollectNodeVertex(final CollectNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId() + " : Chared count = " + this.node.getSharedCount();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.lightGray;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,57 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link EvalConditionNode} and adds visual extras like color information
- *
- */
-public class EvalConditionNodeVertex extends BaseVertex {
-    
-    private static final String     NODE_NAME = "EvalConditionNode";
-    private final EvalConditionNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public EvalConditionNodeVertex(final EvalConditionNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME + " : " + this.node.getId();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return node id
-     */
-    public int getId() {
-        return node.getId();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.white;
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/EvalConditionNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,57 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link EvalConditionNode} and adds visual extras like color information
+ *
+ */
+public class EvalConditionNodeVertex extends BaseVertex {
+    
+    private static final String     NODE_NAME = "EvalConditionNode";
+    private final EvalConditionNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public EvalConditionNodeVertex(final EvalConditionNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + " : " + this.node.getId();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return node id
+     */
+    public int getId() {
+        return node.getId();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.white;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link ExistsNode} and adds visual extras like color information
- *
- */
-public class ExistsNodeVertex extends BaseVertex {
-
-    private static final String NODE_NAME = "ExistsNode";
-
-    private final ExistsNode    node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public ExistsNodeVertex(final ExistsNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME + " : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.cyan;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ExistsNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link ExistsNode} and adds visual extras like color information
+ *
+ */
+public class ExistsNodeVertex extends BaseVertex {
+
+    private static final String NODE_NAME = "ExistsNode";
+
+    private final ExistsNode    node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public ExistsNodeVertex(final ExistsNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + " : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.cyan;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link FromNode} and adds visual extras like color information
- *
- */
-public class FromNodeVertex extends BaseVertex {
-
-    private static final String NODE_NAME = "FromNode";
-
-    private final FromNode      node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public FromNodeVertex(final FromNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME + " : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.lightBlue;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/FromNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link FromNode} and adds visual extras like color information
+ *
+ */
+public class FromNodeVertex extends BaseVertex {
+
+    private static final String NODE_NAME = "FromNode";
+
+    private final FromNode      node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public FromNodeVertex(final FromNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + " : " + this.node.getId() + " : Chared count=" + this.node.getSharedCount();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.lightBlue;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,69 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.drools.spi.Constraint;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link JoinNode} and adds visual extras like color information
- *
- */
-public class JoinNodeVertex extends BaseVertex {
-
-    private static final String NODE_NAME = "JoinNode";
-
-    private final JoinNode      node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public JoinNodeVertex(final JoinNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME + "<BR/>" + dumpConstraints( this.node.getConstraints() );
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.green;
-    }
-
-    /**
-     * Node constraints
-     * 
-     * @return array of constraints
-     */
-    public Constraint[] getConstraints() {
-        return node.getConstraints();
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return node id
-     */
-    public int getId() {
-        return node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/JoinNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,69 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.drools.spi.Constraint;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link JoinNode} and adds visual extras like color information
+ *
+ */
+public class JoinNodeVertex extends BaseVertex {
+
+    private static final String NODE_NAME = "JoinNode";
+
+    private final JoinNode      node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public JoinNodeVertex(final JoinNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + "<BR/>" + dumpConstraints( this.node.getConstraints() );
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.green;
+    }
+
+    /**
+     * Node constraints
+     * 
+     * @return array of constraints
+     */
+    public Constraint[] getConstraints() {
+        return node.getConstraints();
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return node id
+     */
+    public int getId() {
+        return node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,50 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link LeftInputAdapterNode} and adds visual extras like color information
- *
- */
-public class LeftInputAdapterNodeVertex extends BaseVertex {
-
-    private static final String        NODE_NAME = "LeftInputAdapterNode";
-
-    private final LeftInputAdapterNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public LeftInputAdapterNodeVertex(final LeftInputAdapterNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return this.node.toString();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.yellow;
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/LeftInputAdapterNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,50 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link LeftInputAdapterNode} and adds visual extras like color information
+ *
+ */
+public class LeftInputAdapterNodeVertex extends BaseVertex {
+
+    private static final String        NODE_NAME = "LeftInputAdapterNode";
+
+    private final LeftInputAdapterNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public LeftInputAdapterNodeVertex(final LeftInputAdapterNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return this.node.toString();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.yellow;
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link NotNode} and adds visual extras like color information
- *
- */
-public class NotNodeVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "NotNode";
-    
-    private final NotNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public NotNodeVertex(final NotNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.cyan;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return node id
-     */
-    public int getId() {
-        return node.getId();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/NotNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link NotNode} and adds visual extras like color information
+ *
+ */
+public class NotNodeVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "NotNode";
+    
+    private final NotNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public NotNodeVertex(final NotNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.cyan;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return node id
+     */
+    public int getId() {
+        return node.getId();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.drools.spi.ObjectType;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link ObjectTypeNode} and adds visual extras like color information
- *
- */
-public class ObjectTypeNodeVertex extends BaseVertex {
-
-    private static final String  NODE_NAME = "ObjectTypeNode";
-
-    private final ObjectTypeNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public ObjectTypeNodeVertex(final ObjectTypeNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME + " : " + this.node.getObjectType();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.red;
-    }
-
-    /**
-     * {@link ObjectType} as {@link String}
-     * 
-     * @return object type as string
-     */
-    public String getObjectType() {
-        return node.getObjectType().toString();
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ObjectTypeNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.drools.spi.ObjectType;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link ObjectTypeNode} and adds visual extras like color information
+ *
+ */
+public class ObjectTypeNodeVertex extends BaseVertex {
+
+    private static final String  NODE_NAME = "ObjectTypeNode";
+
+    private final ObjectTypeNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public ObjectTypeNodeVertex(final ObjectTypeNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME + " : " + this.node.getObjectType();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.red;
+    }
+
+    /**
+     * {@link ObjectType} as {@link String}
+     * 
+     * @return object type as string
+     */
+    public String getObjectType() {
+        return node.getObjectType().toString();
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,66 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link QueryTerminalNode} and adds visual extras like color information
- *
- */
-public class QueryTerminalNodeVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "QueryTerminalNode";
-    
-    private final QueryTerminalNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public QueryTerminalNodeVertex(final QueryTerminalNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId() + " : " + this.node.getRule();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.darkGray;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-    /**
-     * @return
-     */
-    public String getQueryName() {
-        return node.getRule().getName();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/QueryTerminalNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,66 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link QueryTerminalNode} and adds visual extras like color information
+ *
+ */
+public class QueryTerminalNodeVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "QueryTerminalNode";
+    
+    private final QueryTerminalNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public QueryTerminalNodeVertex(final QueryTerminalNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId() + " : " + this.node.getRule();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.darkGray;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+    /**
+     * @return
+     */
+    public String getQueryName() {
+        return node.getRule().getName();
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link Rete} and adds visual extras like color information
- *
- */
-public class ReteVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "Rete";
-    
-    private final Rete node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public ReteVertex(final Rete node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return node id
-     */
-    public int getId() {
-        return node.getId();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.white;
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link Rete} and adds visual extras like color information
+ *
+ */
+public class ReteVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "Rete";
+    
+    private final Rete node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public ReteVertex(final Rete node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return node id
+     */
+    public int getId() {
+        return node.getId();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.white;
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,149 +0,0 @@
-package org.drools.reteoo;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.common.BaseNode;
-import org.drools.eclipse.editors.rete.model.Connection;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.util.Iterator;
-import org.drools.util.ObjectHashMap;
-import org.drools.util.ReflectiveVisitor;
-import org.drools.util.ObjectHashMap.ObjectEntry;
-
-/**
- * Produces a graph in GraphViz DOT format.
- *
- * @see http://www.research.att.com/sw/tools/graphviz/ 
- * @see http://www.pixelglow.com/graphviz/
- *
- * @author Andy Barnett
- */
-public class ReteooVisitor extends ReflectiveVisitor {
-
-    private static final String PACKAGE_NAME = "org.drools.reteoo.";
-
-    /**
-     * Keeps track of visited JoinNode DOT IDs. This mapping allows the visitor
-     * to recognize JoinNodes it has already visited and as a consequence link
-     * existing nodes back together. This is vital to the Visitor being able to
-     * link two JoinNodeInputs together through their common JoinNode.
-     */
-    private final Map           visitedNodes = new HashMap();
-
-    private ReteGraph           graph;
-
-    private BaseVertex          rootVertex;
-
-    private BaseVertex          parentVertex;
-
-    /**
-     * Constructor.
-     */
-    public ReteooVisitor(final ReteGraph graph) {
-        this.graph = graph;
-    }
-
-    public ReteGraph getGraph() {
-        return this.graph;
-    }
-
-    public BaseVertex getRootVertex() {
-        return this.rootVertex;
-    }
-
-    /**
-     * RuleBaseImpl visits its Rete.
-     */
-    public void visitReteooRuleBase(final ReteooRuleBase ruleBase) {
-        visit( (ruleBase).getRete() );
-    }
-
-    /**
-     * Rete visits each of its ObjectTypeNodes.
-     */
-    public void visitRete(final Rete rete) {
-        this.rootVertex = (ReteVertex) this.visitedNodes.get( dotId( rete ) );
-        if ( this.rootVertex == null ) {
-            this.rootVertex = new ReteVertex( rete );
-            this.visitedNodes.put( dotId( rete ),
-                                   this.rootVertex );
-        }
-
-        this.graph.addChild( this.rootVertex );
-        this.parentVertex = this.rootVertex;
-
-        final ObjectHashMap map = rete.getObjectTypeNodes();
-
-        final Iterator it = map.iterator();
-        for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
-            visit( entry.getValue() );
-        }
-
-    }
-
-    public void visitBaseNode(final BaseNode node) {
-        BaseVertex vertex = (BaseVertex) this.visitedNodes.get( dotId( node ) );
-        if ( vertex == null ) {
-            try {
-                String name = node.getClass().getName();
-                name = name.substring( name.lastIndexOf( '.' ) + 1 ) + "Vertex";
-                final Class clazz = Class.forName( PACKAGE_NAME + name );
-                vertex = (BaseVertex) clazz.getConstructor( new Class[]{node.getClass()} ).newInstance( new Object[]{node} );
-            } catch ( final Exception e ) {
-                throw new RuntimeException( "problem visiting vertex " + node.getClass().getName(),
-                                            e );
-            }
-            this.graph.addChild( vertex );
-            this.visitedNodes.put( dotId( node ),
-                                   vertex );
-
-            new Connection( this.parentVertex,
-                            vertex );
-
-            final BaseVertex oldParentVertex = this.parentVertex;
-            this.parentVertex = vertex;
-
-            List list = null;
-            if ( node instanceof ObjectSource ) {
-                list = Arrays.asList( ((ObjectSource) node).getSinkPropagator().getSinks() );
-            } else if ( node instanceof TupleSource ) {
-                list = Arrays.asList( ((TupleSource) node).getSinkPropagator().getSinks() );
-            }
-
-            if ( list != null ) {
-                for ( final java.util.Iterator it = list.iterator(); it.hasNext(); ) {
-                    final Object nextNode = it.next();
-                    visitNode( nextNode );
-                }
-            }
-            this.parentVertex = oldParentVertex;
-        } else {
-            new Connection( this.parentVertex,
-                            vertex );
-        }
-    }
-
-    /**
-     * Helper method to ensure nodes are not visited more than once.
-     */
-    private void visitNode(final Object node) {
-        Object realNode = node;
-        if ( node instanceof ObjectHashMap.ObjectEntry ) {
-            ObjectHashMap.ObjectEntry entry = (ObjectHashMap.ObjectEntry) node;
-            realNode = entry.getValue();
-        }
-        visit( realNode );
-    }
-
-    /**
-     * The identity hashCode for the given object is used as its unique DOT
-     * identifier.
-     */
-    private static String dotId(final Object object) {
-        return Integer.toHexString( System.identityHashCode( object ) ).toUpperCase();
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/ReteooVisitor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,149 @@
+package org.drools.reteoo;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.common.BaseNode;
+import org.drools.eclipse.editors.rete.model.Connection;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.util.Iterator;
+import org.drools.util.ObjectHashMap;
+import org.drools.util.ReflectiveVisitor;
+import org.drools.util.ObjectHashMap.ObjectEntry;
+
+/**
+ * Produces a graph in GraphViz DOT format.
+ *
+ * @see http://www.research.att.com/sw/tools/graphviz/ 
+ * @see http://www.pixelglow.com/graphviz/
+ *
+ * @author Andy Barnett
+ */
+public class ReteooVisitor extends ReflectiveVisitor {
+
+    private static final String PACKAGE_NAME = "org.drools.reteoo.";
+
+    /**
+     * Keeps track of visited JoinNode DOT IDs. This mapping allows the visitor
+     * to recognize JoinNodes it has already visited and as a consequence link
+     * existing nodes back together. This is vital to the Visitor being able to
+     * link two JoinNodeInputs together through their common JoinNode.
+     */
+    private final Map           visitedNodes = new HashMap();
+
+    private ReteGraph           graph;
+
+    private BaseVertex          rootVertex;
+
+    private BaseVertex          parentVertex;
+
+    /**
+     * Constructor.
+     */
+    public ReteooVisitor(final ReteGraph graph) {
+        this.graph = graph;
+    }
+
+    public ReteGraph getGraph() {
+        return this.graph;
+    }
+
+    public BaseVertex getRootVertex() {
+        return this.rootVertex;
+    }
+
+    /**
+     * RuleBaseImpl visits its Rete.
+     */
+    public void visitReteooRuleBase(final ReteooRuleBase ruleBase) {
+        visit( (ruleBase).getRete() );
+    }
+
+    /**
+     * Rete visits each of its ObjectTypeNodes.
+     */
+    public void visitRete(final Rete rete) {
+        this.rootVertex = (ReteVertex) this.visitedNodes.get( dotId( rete ) );
+        if ( this.rootVertex == null ) {
+            this.rootVertex = new ReteVertex( rete );
+            this.visitedNodes.put( dotId( rete ),
+                                   this.rootVertex );
+        }
+
+        this.graph.addChild( this.rootVertex );
+        this.parentVertex = this.rootVertex;
+
+        final ObjectHashMap map = rete.getObjectTypeNodes();
+
+        final Iterator it = map.iterator();
+        for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
+            visit( entry.getValue() );
+        }
+
+    }
+
+    public void visitBaseNode(final BaseNode node) {
+        BaseVertex vertex = (BaseVertex) this.visitedNodes.get( dotId( node ) );
+        if ( vertex == null ) {
+            try {
+                String name = node.getClass().getName();
+                name = name.substring( name.lastIndexOf( '.' ) + 1 ) + "Vertex";
+                final Class clazz = Class.forName( PACKAGE_NAME + name );
+                vertex = (BaseVertex) clazz.getConstructor( new Class[]{node.getClass()} ).newInstance( new Object[]{node} );
+            } catch ( final Exception e ) {
+                throw new RuntimeException( "problem visiting vertex " + node.getClass().getName(),
+                                            e );
+            }
+            this.graph.addChild( vertex );
+            this.visitedNodes.put( dotId( node ),
+                                   vertex );
+
+            new Connection( this.parentVertex,
+                            vertex );
+
+            final BaseVertex oldParentVertex = this.parentVertex;
+            this.parentVertex = vertex;
+
+            List list = null;
+            if ( node instanceof ObjectSource ) {
+                list = Arrays.asList( ((ObjectSource) node).getSinkPropagator().getSinks() );
+            } else if ( node instanceof TupleSource ) {
+                list = Arrays.asList( ((TupleSource) node).getSinkPropagator().getSinks() );
+            }
+
+            if ( list != null ) {
+                for ( final java.util.Iterator it = list.iterator(); it.hasNext(); ) {
+                    final Object nextNode = it.next();
+                    visitNode( nextNode );
+                }
+            }
+            this.parentVertex = oldParentVertex;
+        } else {
+            new Connection( this.parentVertex,
+                            vertex );
+        }
+    }
+
+    /**
+     * Helper method to ensure nodes are not visited more than once.
+     */
+    private void visitNode(final Object node) {
+        Object realNode = node;
+        if ( node instanceof ObjectHashMap.ObjectEntry ) {
+            ObjectHashMap.ObjectEntry entry = (ObjectHashMap.ObjectEntry) node;
+            realNode = entry.getValue();
+        }
+        visit( realNode );
+    }
+
+    /**
+     * The identity hashCode for the given object is used as its unique DOT
+     * identifier.
+     */
+    private static String dotId(final Object object) {
+        return Integer.toHexString( System.identityHashCode( object ) ).toUpperCase();
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,38 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link RightInputAdapterNode} and adds visual extras like color information
- *
- */
-public class RightInputAdapterNodeVertex extends BaseVertex {
-
-    private static final String NODE_NAME = "RightInputAdapterNode";
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public RightInputAdapterNodeVertex(final RightInputAdapterNode node) {
-        super();
-    }
-
-    public String getHtml() {
-        return NODE_NAME;
-    }
-
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    public Color getFillColor() {
-        return ColorConstants.orange;
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RightInputAdapterNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,38 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link RightInputAdapterNode} and adds visual extras like color information
+ *
+ */
+public class RightInputAdapterNodeVertex extends BaseVertex {
+
+    private static final String NODE_NAME = "RightInputAdapterNode";
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public RightInputAdapterNodeVertex(final RightInputAdapterNode node) {
+        super();
+    }
+
+    public String getHtml() {
+        return NODE_NAME;
+    }
+
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    public Color getFillColor() {
+        return ColorConstants.orange;
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,66 +0,0 @@
-/**
- * 
- */
-package org.drools.reteoo;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Wraps {@link TerminalNode} and adds visual extras like color information
- *
- */
-public class RuleTerminalNodeVertex extends BaseVertex {
-    
-    private static final String NODE_NAME = "TerminalNode";
-    
-    private final RuleTerminalNode node;
-
-    /**
-     * Constructor
-     * 
-     * @param node node to be wrapped
-     */
-    public RuleTerminalNodeVertex(final RuleTerminalNode node) {
-        super();
-        this.node = node;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
-     */
-    public String getHtml() {
-        return NODE_NAME+" : " + this.node.getId() + " : " + this.node.getRule();
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
-     */
-    public String toString() {
-        return NODE_NAME;
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
-     */
-    public Color getFillColor() {
-        return ColorConstants.darkGray;
-    }
-
-    /**
-     * Node ID
-     * 
-     * @return id
-     */
-    public int getId() {
-        return this.node.getId();
-    }
-
-    /**
-     * @return
-     */
-    public String getRuleName() {
-        return node.getRule().getName();
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/java/org/drools/reteoo/RuleTerminalNodeVertex.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,66 @@
+/**
+ * 
+ */
+package org.drools.reteoo;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * Wraps {@link TerminalNode} and adds visual extras like color information
+ *
+ */
+public class RuleTerminalNodeVertex extends BaseVertex {
+    
+    private static final String NODE_NAME = "TerminalNode";
+    
+    private final RuleTerminalNode node;
+
+    /**
+     * Constructor
+     * 
+     * @param node node to be wrapped
+     */
+    public RuleTerminalNodeVertex(final RuleTerminalNode node) {
+        super();
+        this.node = node;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getHtml()
+     */
+    public String getHtml() {
+        return NODE_NAME+" : " + this.node.getId() + " : " + this.node.getRule();
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.eclipse.editors.rete.model.BaseVertex#toString()
+     */
+    public String toString() {
+        return NODE_NAME;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.reteoo.BaseNodeVertex#getFillColor()
+     */
+    public Color getFillColor() {
+        return ColorConstants.darkGray;
+    }
+
+    /**
+     * Node ID
+     * 
+     * @return id
+     */
+    public int getId() {
+        return this.node.getId();
+    }
+
+    /**
+     * @return
+     */
+    public String getRuleName() {
+        return node.getRule().getName();
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,43 +0,0 @@
-# this contains the java keywords for syntax highlighting
-# all java keywords are present, those that are not relevant are commented out
-
-# abstract
-# assert
-break
-case
-catch
-# class
-# const
-continue
-default
-do
-else
-# enum
-# extends
-final
-finally
-for
-goto
-if
-# implements
-# import
-instanceof
-# interface
-# native
-new
-# package
-# private
-# protected
-# public
-return
-# static
-# super
-switch
-# synchronized
-# this
-throw
-# throws
-# transient
-try
-# volatile
-while
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/java_keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,43 @@
+# this contains the java keywords for syntax highlighting
+# all java keywords are present, those that are not relevant are commented out
+
+# abstract
+# assert
+break
+case
+catch
+# class
+# const
+continue
+default
+do
+else
+# enum
+# extends
+final
+finally
+for
+goto
+if
+# implements
+# import
+instanceof
+# interface
+# native
+new
+# package
+# private
+# protected
+# public
+return
+# static
+# super
+switch
+# synchronized
+# this
+throw
+# throws
+# transient
+try
+# volatile
+while
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,46 +0,0 @@
-# This contains the keywords for syntax highlighting.
-when
-then
-rule
-end
-update
-modify
-retract
-insert
-insertLogical
-salience
-import
-expander
-package
-function
-global
-query
-exists
-eval
-agenda-group
-lock-on-active
-no-loop
-duration
-->
-not
-auto-focus
-activation-group
-new
-contains
-matches
-excludes
-template
-from
-accumulate
-collect
-date-effective
-date-expires
-enabled
-forall
-dialect
-ruleflow-group
-modifyRetract
-modifyInsert
-memberOf
-and
-or
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,46 @@
+# This contains the keywords for syntax highlighting.
+when
+then
+rule
+end
+update
+modify
+retract
+insert
+insertLogical
+salience
+import
+expander
+package
+function
+global
+query
+exists
+eval
+agenda-group
+lock-on-active
+no-loop
+duration
+->
+not
+auto-focus
+activation-group
+new
+contains
+matches
+excludes
+template
+from
+accumulate
+collect
+date-effective
+date-expires
+enabled
+forall
+dialect
+ruleflow-group
+modifyRetract
+modifyInsert
+memberOf
+and
+or
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,20 +0,0 @@
-# this contains the mvel keywords for syntax highlighting
-if
-else
-foreach
-switch
-var
-while
-do
-for
-return
-instanceof
-is
-contains
-soundslike
-strsim
-convertable_to
-new
-in
-with
-

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/mvel_keywords.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,20 @@
+# this contains the mvel keywords for syntax highlighting
+if
+else
+foreach
+switch
+var
+while
+do
+for
+return
+instanceof
+is
+contains
+soundslike
+strsim
+convertable_to
+new
+in
+with
+

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,20 +0,0 @@
-###############################################################################
-# Used to configure content assistance
-###############################################################################
-
-## Actions ##
-
-ContentAssistProposal.label=Content Assist at Ctrl+SPACE
-ContentAssistProposal.tooltip=Content Assist
-ContentAssistProposal.image=
-ContentAssistProposal.description=Content Assist
-
-ContentAssistTip.label=Content Tip at Ctrl+SHIFT+SPACE
-ContentAssistTip.tooltip=Content Tip
-ContentAssistTip.image=
-ContentAssistTip.description=Content Tip
-
-DefineFoldingRegion.label=Define Folding Region
-DefineFoldingRegion.tooltip=Define Folding Region
-DefineFoldingRegion.image=
-DefineFoldingRegion.description=Define Folding Region

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/editors/scanners/RuleEditorMessages.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,20 @@
+###############################################################################
+# Used to configure content assistance
+###############################################################################
+
+## Actions ##
+
+ContentAssistProposal.label=Content Assist at Ctrl+SPACE
+ContentAssistProposal.tooltip=Content Assist
+ContentAssistProposal.image=
+ContentAssistProposal.description=Content Assist
+
+ContentAssistTip.label=Content Tip at Ctrl+SHIFT+SPACE
+ContentAssistTip.tooltip=Content Tip
+ContentAssistTip.image=
+ContentAssistTip.description=Content Tip
+
+DefineFoldingRegion.label=Define Folding Region
+DefineFoldingRegion.tooltip=Define Folding Region
+DefineFoldingRegion.image=
+DefineFoldingRegion.description=Define Folding Region

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,44 +0,0 @@
-<org.drools.eclipse.flow.ruleflow.core.WorkflowProcessWrapper id="1" serialization="custom">
-  <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
-    <default>
-      <elements id="2">
-        <entry>
-          <string>1-Wrapper</string>
-          <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper id="3" serialization="custom">
-            <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-              <default>
-                <constraint id="4">
-                  <x>100</x>
-                  <y>100</y>
-                  <width>80</width>
-                  <height>40</height>
-                </constraint>
-                <element class="org.drools.ruleflow.core.impl.StartNode" id="5">
-                  <id>1</id>
-                  <name>Start</name>
-                  <incomingConnections id="6"/>
-                  <outgoingConnections id="7"/>
-                </element>
-                <incomingConnections id="8"/>
-                <outgoingConnections id="9"/>
-              </default>
-            </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-          </org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper>
-        </entry>
-      </elements>
-      <process class="org.drools.ruleflow.core.impl.RuleFlowProcess" id="10">
-        <nodes id="11">
-          <entry>
-            <long>1</long>
-            <org.drools.ruleflow.core.impl.StartNode reference="5"/>
-          </entry>
-        </nodes>
-        <variables id="12"/>
-        <lastNodeId>1</lastNodeId>
-        <id>0</id>
-        <name>flow</name>
-        <type>Workflow</type>
-      </process>
-    </default>
-  </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
-</org.drools.eclipse.flow.ruleflow.core.WorkflowProcessWrapper>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/flow/ruleflow/SampleRuleFlow.rf.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,44 @@
+<org.drools.eclipse.flow.ruleflow.core.WorkflowProcessWrapper id="1" serialization="custom">
+  <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+    <default>
+      <elements id="2">
+        <entry>
+          <string>1-Wrapper</string>
+          <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper id="3" serialization="custom">
+            <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+              <default>
+                <constraint id="4">
+                  <x>100</x>
+                  <y>100</y>
+                  <width>80</width>
+                  <height>40</height>
+                </constraint>
+                <element class="org.drools.ruleflow.core.impl.StartNode" id="5">
+                  <id>1</id>
+                  <name>Start</name>
+                  <incomingConnections id="6"/>
+                  <outgoingConnections id="7"/>
+                </element>
+                <incomingConnections id="8"/>
+                <outgoingConnections id="9"/>
+              </default>
+            </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+          </org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper>
+        </entry>
+      </elements>
+      <process class="org.drools.ruleflow.core.impl.RuleFlowProcess" id="10">
+        <nodes id="11">
+          <entry>
+            <long>1</long>
+            <org.drools.ruleflow.core.impl.StartNode reference="5"/>
+          </entry>
+        </nodes>
+        <variables id="12"/>
+        <lastNodeId>1</lastNodeId>
+        <id>0</id>
+        <name>flow</name>
+        <type>Workflow</type>
+      </process>
+    </default>
+  </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+</org.drools.eclipse.flow.ruleflow.core.WorkflowProcessWrapper>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/template.xls
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/template.xls (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/decisiontable/template.xls)
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,9 +0,0 @@
-#This is a starter DSL to show off some of the features. Make sure you change it to be what you need !.
-[when]There is an Instance with field of "{value}"=i: Instance(field=="{value}")
-[when]Instance is at least {number} and field is "{value}"=i: Instance(number > {number}, location=="{value}")
-[then]Log : "{message}"=System.out.println("{message}");
-[then]Set field of instance to "{value}"=i.setField("{value}");
-[then]Create instance : "{value}"=insert(new Instance("{value}"));
-[when]There is no current Instance with field : "{value}"=not Instance(field == "{value}")
-[then]Report error : "{error}"=System.err.println("{error}");
-[then]Retract the fact : '{variable}'=retract({variable}); //this would retract bound variable {variable}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/dsl/template.dsl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,9 @@
+#This is a starter DSL to show off some of the features. Make sure you change it to be what you need !.
+[when]There is an Instance with field of "{value}"=i: Instance(field=="{value}")
+[when]Instance is at least {number} and field is "{value}"=i: Instance(number > {number}, location=="{value}")
+[then]Log : "{message}"=System.out.println("{message}");
+[then]Set field of instance to "{value}"=i.setField("{value}");
+[then]Create instance : "{value}"=insert(new Instance("{value}"));
+[when]There is no current Instance with field : "{value}"=not Instance(field == "{value}")
+[then]Report error : "{error}"=System.err.println("{error}");
+[then]Retract the fact : '{variable}'=retract({variable}); //this would retract bound variable {variable}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,91 +0,0 @@
-package com.sample;
-
-/*
- * Copyright 2005 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.
- */
-
-import java.io.StringReader;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-import org.drools.compiler.PackageBuilder;
-import org.drools.decisiontable.InputType;
-import org.drools.decisiontable.SpreadsheetCompiler;
-import org.drools.rule.Package;
-
-public class DecisionTableTest {
-
-    public static final void main(String[] args) {
-        try {
-        	
-        	//load up the rulebase
-            RuleBase ruleBase = readDecisionTable();
-            WorkingMemory workingMemory = ruleBase.newStatefulSession();
-            
-            //go !
-            Message message = new Message();
-            message.setMessage(  "Hello World" );
-            message.setStatus( Message.HELLO );
-            workingMemory.insert( message );
-            workingMemory.fireAllRules();   
-            
-            
-        } catch (Throwable t) {
-            t.printStackTrace();
-        }
-    }
-
-    /**
-     * Please note that this is the "low level" rule assembly API.
-     */
-	private static RuleBase readDecisionTable() throws Exception {
-		//read in the source
-        final SpreadsheetCompiler converter = new SpreadsheetCompiler();
-        final String drl = converter.compile( "/Sample.xls", InputType.XLS );
-		PackageBuilder builder = new PackageBuilder();
-		builder.addPackageFromDrl( new StringReader( drl ) );
-		Package pkg = builder.getPackage();
-		RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-		ruleBase.addPackage( pkg );
-		return ruleBase;
-	}
-
-	public static class Message {
-		public static final int HELLO = 0;
-		public static final int GOODBYE = 1;
-		
-		private String message;
-		
-		private int status;
-		
-		public String getMessage() {
-			return this.message;
-		}
-		
-		public void setMessage(String message) {
-			this.message = message;
-		}
-		
-		public int getStatus() {
-			return this.status;
-		}
-		
-		public void setStatus( int status ) {
-			this.status = status;
-		}
-	}
-    
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/DecisionTableLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,91 @@
+package com.sample;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import java.io.StringReader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.compiler.PackageBuilder;
+import org.drools.decisiontable.InputType;
+import org.drools.decisiontable.SpreadsheetCompiler;
+import org.drools.rule.Package;
+
+public class DecisionTableTest {
+
+    public static final void main(String[] args) {
+        try {
+        	
+        	//load up the rulebase
+            RuleBase ruleBase = readDecisionTable();
+            WorkingMemory workingMemory = ruleBase.newStatefulSession();
+            
+            //go !
+            Message message = new Message();
+            message.setMessage(  "Hello World" );
+            message.setStatus( Message.HELLO );
+            workingMemory.insert( message );
+            workingMemory.fireAllRules();   
+            
+            
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+    }
+
+    /**
+     * Please note that this is the "low level" rule assembly API.
+     */
+	private static RuleBase readDecisionTable() throws Exception {
+		//read in the source
+        final SpreadsheetCompiler converter = new SpreadsheetCompiler();
+        final String drl = converter.compile( "/Sample.xls", InputType.XLS );
+		PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl( new StringReader( drl ) );
+		Package pkg = builder.getPackage();
+		RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+		ruleBase.addPackage( pkg );
+		return ruleBase;
+	}
+
+	public static class Message {
+		public static final int HELLO = 0;
+		public static final int GOODBYE = 1;
+		
+		private String message;
+		
+		private int status;
+		
+		public String getMessage() {
+			return this.message;
+		}
+		
+		public void setMessage(String message) {
+			this.message = message;
+		}
+		
+		public int getStatus() {
+			return this.status;
+		}
+		
+		public void setStatus( int status ) {
+			this.status = status;
+		}
+	}
+    
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,99 +0,0 @@
-package com.sample;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-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 up the rulebase
-            RuleBase ruleBase = readRule();
-            WorkingMemory workingMemory = ruleBase.newStatefulSession();
-            
-            //go !
-            Message message = new Message();
-            message.setMessage(  "Hello World" );
-            message.setStatus( Message.HELLO );
-            workingMemory.insert( message );
-            
-            workingMemory.startProcess("com.sample.ruleflow");
-            workingMemory.fireAllRules();   
-            
-        } catch (Throwable t) {
-            t.printStackTrace();
-        }
-    }
-
-    /**
-     * Please note that this is the "low level" rule assembly API.
-     */
-	private static RuleBase readRule() throws Exception {
-		//read in the source
-		Reader source = new InputStreamReader( RuleFlowTest.class.getResourceAsStream( "/ruleflow.drl" ) );
-		
-		//optionally read in the DSL (if you are using it).
-		//Reader dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/mylang.dsl" ) );
-
-		//Use package builder to build up a rule package.
-		//An alternative lower level class called "DrlParser" can also be used...
-		
-		PackageBuilder builder = new PackageBuilder();
-
-		//this wil parse and compile in one step
-		//NOTE: There are 2 methods here, the one argument one is for normal DRL.
-		builder.addPackageFromDrl( source );
-
-		//Use the following instead of above if you are using a DSL:
-		//builder.addPackageFromDrl( source, dsl );
-		
-		//add ruleflow
-		source = new InputStreamReader( RuleFlowTest.class.getResourceAsStream( "/ruleflow.rfm" ) );
-		builder.addRuleFlow(source);
-		
-		//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 );
-		
-		return ruleBase;
-	}
-	
-	public static class Message {
-		public static final int HELLO = 0;
-		public static final int GOODBYE = 1;
-		
-		private String message;
-		
-		private int status;
-		
-		public String getMessage() {
-			return this.message;
-		}
-		
-		public void setMessage(String message) {
-			this.message = message;
-		}
-		
-		public int getStatus() {
-			return this.status;
-		}
-		
-		public void setStatus( int status ) {
-			this.status = status;
-		}
-	}
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,99 @@
+package com.sample;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+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 up the rulebase
+            RuleBase ruleBase = readRule();
+            WorkingMemory workingMemory = ruleBase.newStatefulSession();
+            
+            //go !
+            Message message = new Message();
+            message.setMessage(  "Hello World" );
+            message.setStatus( Message.HELLO );
+            workingMemory.insert( message );
+            
+            workingMemory.startProcess("com.sample.ruleflow");
+            workingMemory.fireAllRules();   
+            
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+    }
+
+    /**
+     * Please note that this is the "low level" rule assembly API.
+     */
+	private static RuleBase readRule() throws Exception {
+		//read in the source
+		Reader source = new InputStreamReader( RuleFlowTest.class.getResourceAsStream( "/ruleflow.drl" ) );
+		
+		//optionally read in the DSL (if you are using it).
+		//Reader dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/mylang.dsl" ) );
+
+		//Use package builder to build up a rule package.
+		//An alternative lower level class called "DrlParser" can also be used...
+		
+		PackageBuilder builder = new PackageBuilder();
+
+		//this wil parse and compile in one step
+		//NOTE: There are 2 methods here, the one argument one is for normal DRL.
+		builder.addPackageFromDrl( source );
+
+		//Use the following instead of above if you are using a DSL:
+		//builder.addPackageFromDrl( source, dsl );
+		
+		//add ruleflow
+		source = new InputStreamReader( RuleFlowTest.class.getResourceAsStream( "/ruleflow.rfm" ) );
+		builder.addRuleFlow(source);
+		
+		//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 );
+		
+		return ruleBase;
+	}
+	
+	public static class Message {
+		public static final int HELLO = 0;
+		public static final int GOODBYE = 1;
+		
+		private String message;
+		
+		private int status;
+		
+		public String getMessage() {
+			return this.message;
+		}
+		
+		public void setMessage(String message) {
+			this.message = message;
+		}
+		
+		public int getStatus() {
+			return this.status;
+		}
+		
+		public void setStatus( int status ) {
+			this.status = status;
+		}
+	}
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,93 +0,0 @@
-package com.sample;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-import org.drools.compiler.PackageBuilder;
-import org.drools.rule.Package;
-
-/**
- * This is a sample file to launch a rule package from a rule source file.
- */
-public class DroolsTest {
-
-    public static final void main(String[] args) {
-        try {
-        	
-        	//load up the rulebase
-            RuleBase ruleBase = readRule();
-            WorkingMemory workingMemory = ruleBase.newStatefulSession();
-            
-            //go !
-            Message message = new Message();
-            message.setMessage(  "Hello World" );
-            message.setStatus( Message.HELLO );
-            workingMemory.insert( message );
-            workingMemory.fireAllRules();   
-            
-            
-        } catch (Throwable t) {
-            t.printStackTrace();
-        }
-    }
-
-    /**
-     * Please note that this is the "low level" rule assembly API.
-     */
-	private static RuleBase readRule() throws Exception {
-		//read in the source
-		Reader source = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/Sample.drl" ) );
-		
-		//optionally read in the DSL (if you are using it).
-		//Reader dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/mylang.dsl" ) );
-
-		//Use package builder to build up a rule package.
-		//An alternative lower level class called "DrlParser" can also be used...
-		
-		PackageBuilder builder = new PackageBuilder();
-
-		//this wil parse and compile in one step
-		//NOTE: There are 2 methods here, the one argument one is for normal DRL.
-		builder.addPackageFromDrl( source );
-
-		//Use the following instead of above if you are using a DSL:
-		//builder.addPackageFromDrl( source, dsl );
-		
-		//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 );
-		return ruleBase;
-	}
-	
-	public static class Message {
-		public static final int HELLO = 0;
-		public static final int GOODBYE = 1;
-		
-		private String message;
-		
-		private int status;
-		
-		public String getMessage() {
-			return this.message;
-		}
-		
-		public void setMessage(String message) {
-			this.message = message;
-		}
-		
-		public int getStatus() {
-			return this.status;
-		}
-		
-		public void setStatus( int status ) {
-			this.status = status;
-		}
-	}
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,93 @@
+package com.sample;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.compiler.PackageBuilder;
+import org.drools.rule.Package;
+
+/**
+ * This is a sample file to launch a rule package from a rule source file.
+ */
+public class DroolsTest {
+
+    public static final void main(String[] args) {
+        try {
+        	
+        	//load up the rulebase
+            RuleBase ruleBase = readRule();
+            WorkingMemory workingMemory = ruleBase.newStatefulSession();
+            
+            //go !
+            Message message = new Message();
+            message.setMessage(  "Hello World" );
+            message.setStatus( Message.HELLO );
+            workingMemory.insert( message );
+            workingMemory.fireAllRules();   
+            
+            
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+    }
+
+    /**
+     * Please note that this is the "low level" rule assembly API.
+     */
+	private static RuleBase readRule() throws Exception {
+		//read in the source
+		Reader source = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/Sample.drl" ) );
+		
+		//optionally read in the DSL (if you are using it).
+		//Reader dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/mylang.dsl" ) );
+
+		//Use package builder to build up a rule package.
+		//An alternative lower level class called "DrlParser" can also be used...
+		
+		PackageBuilder builder = new PackageBuilder();
+
+		//this wil parse and compile in one step
+		//NOTE: There are 2 methods here, the one argument one is for normal DRL.
+		builder.addPackageFromDrl( source );
+
+		//Use the following instead of above if you are using a DSL:
+		//builder.addPackageFromDrl( source, dsl );
+		
+		//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 );
+		return ruleBase;
+	}
+	
+	public static class Message {
+		public static final int HELLO = 0;
+		public static final int GOODBYE = 1;
+		
+		private String message;
+		
+		private int status;
+		
+		public String getMessage() {
+			return this.message;
+		}
+		
+		public void setMessage(String message) {
+			this.message = message;
+		}
+		
+		public int getStatus() {
+			return this.status;
+		}
+		
+		public void setStatus( int status ) {
+			this.status = status;
+		}
+	}
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,23 +0,0 @@
-package com.sample
- 
-import com.sample.DroolsTest.Message;
- 
-rule "Hello World"
-	when
-		m : Message( status == Message.HELLO, message : message )
-	then
-		System.out.println( message ); 
-		m.setMessage( "Goodbye cruel world" );
-		m.setStatus( Message.GOODBYE );
-		update( m );
-end
-
-rule "GoodBye"
-	no-loop true
-	when
-		m : Message( status == Message.GOODBYE, message : message )
-	then
-		System.out.println( message ); 
-		m.setMessage( message );
-		
-end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,23 @@
+package com.sample
+ 
+import com.sample.DroolsTest.Message;
+ 
+rule "Hello World"
+	when
+		m : Message( status == Message.HELLO, message : message )
+	then
+		System.out.println( message ); 
+		m.setMessage( "Goodbye cruel world" );
+		m.setStatus( Message.GOODBYE );
+		update( m );
+end
+
+rule "GoodBye"
+	no-loop true
+	when
+		m : Message( status == Message.GOODBYE, message : message )
+	then
+		System.out.println( message ); 
+		m.setMessage( message );
+		
+end
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.xls.template
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.xls.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/Sample.xls.template)
===================================================================
(Binary files differ)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,23 +0,0 @@
-package com.sample
- 
-import com.sample.RuleFlowTest.Message;
- 
-rule "Hello World" ruleflow-group "hello"
-	when
-		m : Message( status == Message.HELLO, message : message )
-	then
-		System.out.println( message ); 
-		m.setMessage( "Goodbye cruel world" );
-		m.setStatus( Message.GOODBYE );
-		update( m );
-end
-
-rule "GoodBye" ruleflow-group "goodbye"
-	no-loop true
-	when
-		m : Message( status == Message.GOODBYE, message : message )
-	then
-		System.out.println( message ); 
-		m.setMessage( message );
-		
-end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,23 @@
+package com.sample
+ 
+import com.sample.RuleFlowTest.Message;
+ 
+rule "Hello World" ruleflow-group "hello"
+	when
+		m : Message( status == Message.HELLO, message : message )
+	then
+		System.out.println( message ); 
+		m.setMessage( "Goodbye cruel world" );
+		m.setStatus( Message.GOODBYE );
+		update( m );
+end
+
+rule "GoodBye" ruleflow-group "goodbye"
+	no-loop true
+	when
+		m : Message( status == Message.GOODBYE, message : message )
+	then
+		System.out.println( message ); 
+		m.setMessage( message );
+		
+end
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,211 +0,0 @@
-<org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper id="1" serialization="custom">
-  <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
-    <default>
-      <elements id="2">
-        <entry>
-          <string>2-Wrapper</string>
-          <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper id="3" serialization="custom">
-            <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-              <default>
-                <constraint id="4">
-                  <x>190</x>
-                  <y>101</y>
-                  <width>80</width>
-                  <height>40</height>
-                </constraint>
-                <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="5">
-                  <ruleFlowGroup>hello</ruleFlowGroup>
-                  <id>2</id>
-                  <name>hello</name>
-                  <incomingConnections id="6">
-                    <org.drools.ruleflow.core.impl.ConnectionImpl id="7">
-                      <type>1</type>
-                      <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="8">
-                        <id>1</id>
-                        <name>Start</name>
-                        <incomingConnections id="9"/>
-                        <outgoingConnections id="10">
-                          <org.drools.ruleflow.core.impl.ConnectionImpl reference="7"/>
-                        </outgoingConnections>
-                      </from>
-                      <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
-                    </org.drools.ruleflow.core.impl.ConnectionImpl>
-                  </incomingConnections>
-                  <outgoingConnections id="11">
-                    <org.drools.ruleflow.core.impl.ConnectionImpl id="12">
-                      <type>1</type>
-                      <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
-                      <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="13">
-                        <ruleFlowGroup>goodbye</ruleFlowGroup>
-                        <id>3</id>
-                        <name>goodbye</name>
-                        <incomingConnections id="14">
-                          <org.drools.ruleflow.core.impl.ConnectionImpl reference="12"/>
-                        </incomingConnections>
-                        <outgoingConnections id="15">
-                          <org.drools.ruleflow.core.impl.ConnectionImpl id="16">
-                            <type>1</type>
-                            <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="13"/>
-                            <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="17">
-                              <id>4</id>
-                              <name>End</name>
-                              <incomingConnections id="18">
-                                <org.drools.ruleflow.core.impl.ConnectionImpl reference="16"/>
-                              </incomingConnections>
-                              <outgoingConnections id="19"/>
-                            </to>
-                          </org.drools.ruleflow.core.impl.ConnectionImpl>
-                        </outgoingConnections>
-                      </to>
-                    </org.drools.ruleflow.core.impl.ConnectionImpl>
-                  </outgoingConnections>
-                </element>
-                <incomingConnections id="20">
-                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="21" serialization="custom">
-                    <org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                      <default>
-                        <type>1</type>
-                        <bendpoints id="22"/>
-                        <source class="org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper" id="23" serialization="custom">
-                          <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                            <default>
-                              <constraint id="24">
-                                <x>57</x>
-                                <y>100</y>
-                                <width>80</width>
-                                <height>40</height>
-                              </constraint>
-                              <element class="org.drools.ruleflow.core.impl.StartNodeImpl" reference="8"/>
-                              <incomingConnections id="25"/>
-                              <outgoingConnections id="26">
-                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="21"/>
-                              </outgoingConnections>
-                            </default>
-                          </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                        </source>
-                        <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
-                      </default>
-                    </org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                    <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                      <default>
-                        <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="7"/>
-                      </default>
-                    </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                </incomingConnections>
-                <outgoingConnections id="27">
-                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="28" serialization="custom">
-                    <org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                      <default>
-                        <type>1</type>
-                        <bendpoints id="29"/>
-                        <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
-                        <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="30" serialization="custom">
-                          <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                            <default>
-                              <constraint id="31">
-                                <x>336</x>
-                                <y>101</y>
-                                <width>80</width>
-                                <height>40</height>
-                              </constraint>
-                              <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="13"/>
-                              <incomingConnections id="32">
-                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="28"/>
-                              </incomingConnections>
-                              <outgoingConnections id="33">
-                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="34" serialization="custom">
-                                  <org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                                    <default>
-                                      <type>1</type>
-                                      <bendpoints id="35"/>
-                                      <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="30"/>
-                                      <target class="org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper" id="36" serialization="custom">
-                                        <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                                          <default>
-                                            <constraint id="37">
-                                              <x>473</x>
-                                              <y>102</y>
-                                              <width>80</width>
-                                              <height>40</height>
-                                            </constraint>
-                                            <element class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="17"/>
-                                            <incomingConnections id="38">
-                                              <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="34"/>
-                                            </incomingConnections>
-                                            <outgoingConnections id="39"/>
-                                            <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
-                                          </default>
-                                        </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                                      </target>
-                                    </default>
-                                  </org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                                    <default>
-                                      <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="16"/>
-                                    </default>
-                                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                                </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                              </outgoingConnections>
-                              <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
-                            </default>
-                          </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-                        </target>
-                      </default>
-                    </org.drools.eclipse.flow.common.editor.core.ElementConnection>
-                    <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                      <default>
-                        <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="12"/>
-                      </default>
-                    </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
-                </outgoingConnections>
-                <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
-              </default>
-            </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
-          </org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper>
-        </entry>
-        <entry>
-          <string>4-Wrapper</string>
-          <org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper reference="36"/>
-        </entry>
-        <entry>
-          <string>3-Wrapper</string>
-          <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="30"/>
-        </entry>
-        <entry>
-          <string>1-Wrapper</string>
-          <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper reference="23"/>
-        </entry>
-      </elements>
-      <process class="org.drools.ruleflow.core.impl.RuleFlowProcessImpl" id="40">
-        <nodes id="41">
-          <entry>
-            <long>2</long>
-            <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="5"/>
-          </entry>
-          <entry>
-            <long>4</long>
-            <org.drools.ruleflow.core.impl.EndNodeImpl reference="17"/>
-          </entry>
-          <entry>
-            <long>1</long>
-            <org.drools.ruleflow.core.impl.StartNodeImpl reference="8"/>
-          </entry>
-          <entry>
-            <long>3</long>
-            <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="13"/>
-          </entry>
-        </nodes>
-        <variables id="42"/>
-        <lastNodeId>4</lastNodeId>
-        <id>com.sample.ruleflow</id>
-        <name>Ruleflow</name>
-        <version>1.0</version>
-        <type>RuleFlow</type>
-        <packageName>com.sample</packageName>
-      </process>
-      <routerLayout>2</routerLayout>
-    </default>
-  </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
-</org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,211 @@
+<org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper id="1" serialization="custom">
+  <org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+    <default>
+      <elements id="2">
+        <entry>
+          <string>2-Wrapper</string>
+          <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper id="3" serialization="custom">
+            <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+              <default>
+                <constraint id="4">
+                  <x>190</x>
+                  <y>101</y>
+                  <width>80</width>
+                  <height>40</height>
+                </constraint>
+                <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="5">
+                  <ruleFlowGroup>hello</ruleFlowGroup>
+                  <id>2</id>
+                  <name>hello</name>
+                  <incomingConnections id="6">
+                    <org.drools.ruleflow.core.impl.ConnectionImpl id="7">
+                      <type>1</type>
+                      <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="8">
+                        <id>1</id>
+                        <name>Start</name>
+                        <incomingConnections id="9"/>
+                        <outgoingConnections id="10">
+                          <org.drools.ruleflow.core.impl.ConnectionImpl reference="7"/>
+                        </outgoingConnections>
+                      </from>
+                      <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+                    </org.drools.ruleflow.core.impl.ConnectionImpl>
+                  </incomingConnections>
+                  <outgoingConnections id="11">
+                    <org.drools.ruleflow.core.impl.ConnectionImpl id="12">
+                      <type>1</type>
+                      <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="5"/>
+                      <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="13">
+                        <ruleFlowGroup>goodbye</ruleFlowGroup>
+                        <id>3</id>
+                        <name>goodbye</name>
+                        <incomingConnections id="14">
+                          <org.drools.ruleflow.core.impl.ConnectionImpl reference="12"/>
+                        </incomingConnections>
+                        <outgoingConnections id="15">
+                          <org.drools.ruleflow.core.impl.ConnectionImpl id="16">
+                            <type>1</type>
+                            <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="13"/>
+                            <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="17">
+                              <id>4</id>
+                              <name>End</name>
+                              <incomingConnections id="18">
+                                <org.drools.ruleflow.core.impl.ConnectionImpl reference="16"/>
+                              </incomingConnections>
+                              <outgoingConnections id="19"/>
+                            </to>
+                          </org.drools.ruleflow.core.impl.ConnectionImpl>
+                        </outgoingConnections>
+                      </to>
+                    </org.drools.ruleflow.core.impl.ConnectionImpl>
+                  </outgoingConnections>
+                </element>
+                <incomingConnections id="20">
+                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="21" serialization="custom">
+                    <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                      <default>
+                        <type>1</type>
+                        <bendpoints id="22"/>
+                        <source class="org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper" id="23" serialization="custom">
+                          <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                            <default>
+                              <constraint id="24">
+                                <x>57</x>
+                                <y>100</y>
+                                <width>80</width>
+                                <height>40</height>
+                              </constraint>
+                              <element class="org.drools.ruleflow.core.impl.StartNodeImpl" reference="8"/>
+                              <incomingConnections id="25"/>
+                              <outgoingConnections id="26">
+                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="21"/>
+                              </outgoingConnections>
+                            </default>
+                          </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                        </source>
+                        <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+                      </default>
+                    </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                    <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                      <default>
+                        <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="7"/>
+                      </default>
+                    </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                </incomingConnections>
+                <outgoingConnections id="27">
+                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="28" serialization="custom">
+                    <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                      <default>
+                        <type>1</type>
+                        <bendpoints id="29"/>
+                        <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="3"/>
+                        <target class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" id="30" serialization="custom">
+                          <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                            <default>
+                              <constraint id="31">
+                                <x>336</x>
+                                <y>101</y>
+                                <width>80</width>
+                                <height>40</height>
+                              </constraint>
+                              <element class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="13"/>
+                              <incomingConnections id="32">
+                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="28"/>
+                              </incomingConnections>
+                              <outgoingConnections id="33">
+                                <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper id="34" serialization="custom">
+                                  <org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                                    <default>
+                                      <type>1</type>
+                                      <bendpoints id="35"/>
+                                      <source class="org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper" reference="30"/>
+                                      <target class="org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper" id="36" serialization="custom">
+                                        <org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                                          <default>
+                                            <constraint id="37">
+                                              <x>473</x>
+                                              <y>102</y>
+                                              <width>80</width>
+                                              <height>40</height>
+                                            </constraint>
+                                            <element class="org.drools.ruleflow.core.impl.EndNodeImpl" reference="17"/>
+                                            <incomingConnections id="38">
+                                              <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper reference="34"/>
+                                            </incomingConnections>
+                                            <outgoingConnections id="39"/>
+                                            <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+                                          </default>
+                                        </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                                      </target>
+                                    </default>
+                                  </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                                  <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                                    <default>
+                                      <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="16"/>
+                                    </default>
+                                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                                </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                              </outgoingConnections>
+                              <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+                            </default>
+                          </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+                        </target>
+                      </default>
+                    </org.drools.eclipse.flow.common.editor.core.ElementConnection>
+                    <org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                      <default>
+                        <connection class="org.drools.ruleflow.core.impl.ConnectionImpl" reference="12"/>
+                      </default>
+                    </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                  </org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper>
+                </outgoingConnections>
+                <parent class="org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper" reference="1"/>
+              </default>
+            </org.drools.eclipse.flow.common.editor.core.DefaultElementWrapper>
+          </org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper>
+        </entry>
+        <entry>
+          <string>4-Wrapper</string>
+          <org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper reference="36"/>
+        </entry>
+        <entry>
+          <string>3-Wrapper</string>
+          <org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper reference="30"/>
+        </entry>
+        <entry>
+          <string>1-Wrapper</string>
+          <org.drools.eclipse.flow.ruleflow.core.StartNodeWrapper reference="23"/>
+        </entry>
+      </elements>
+      <process class="org.drools.ruleflow.core.impl.RuleFlowProcessImpl" id="40">
+        <nodes id="41">
+          <entry>
+            <long>2</long>
+            <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="5"/>
+          </entry>
+          <entry>
+            <long>4</long>
+            <org.drools.ruleflow.core.impl.EndNodeImpl reference="17"/>
+          </entry>
+          <entry>
+            <long>1</long>
+            <org.drools.ruleflow.core.impl.StartNodeImpl reference="8"/>
+          </entry>
+          <entry>
+            <long>3</long>
+            <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="13"/>
+          </entry>
+        </nodes>
+        <variables id="42"/>
+        <lastNodeId>4</lastNodeId>
+        <id>com.sample.ruleflow</id>
+        <name>Ruleflow</name>
+        <version>1.0</version>
+        <type>RuleFlow</type>
+        <packageName>com.sample</packageName>
+      </process>
+      <routerLayout>2</routerLayout>
+    </default>
+  </org.drools.eclipse.flow.common.editor.core.ProcessWrapper>
+</org.drools.eclipse.flow.ruleflow.core.RuleFlowProcessWrapper>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,73 +0,0 @@
-<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
-  <nodes id="2">
-    <entry>
-      <long>2</long>
-      <org.drools.ruleflow.core.impl.RuleSetNodeImpl id="3">
-        <ruleFlowGroup>hello</ruleFlowGroup>
-        <id>2</id>
-        <name>hello</name>
-        <incomingConnections id="4">
-          <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
-            <type>1</type>
-            <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="6">
-              <id>1</id>
-              <name>Start</name>
-              <incomingConnections id="7"/>
-              <outgoingConnections id="8">
-                <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
-              </outgoingConnections>
-            </from>
-            <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
-          </org.drools.ruleflow.core.impl.ConnectionImpl>
-        </incomingConnections>
-        <outgoingConnections id="9">
-          <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
-            <type>1</type>
-            <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
-            <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="11">
-              <ruleFlowGroup>goodbye</ruleFlowGroup>
-              <id>3</id>
-              <name>goodbye</name>
-              <incomingConnections id="12">
-                <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
-              </incomingConnections>
-              <outgoingConnections id="13">
-                <org.drools.ruleflow.core.impl.ConnectionImpl id="14">
-                  <type>1</type>
-                  <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="11"/>
-                  <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="15">
-                    <id>4</id>
-                    <name>End</name>
-                    <incomingConnections id="16">
-                      <org.drools.ruleflow.core.impl.ConnectionImpl reference="14"/>
-                    </incomingConnections>
-                    <outgoingConnections id="17"/>
-                  </to>
-                </org.drools.ruleflow.core.impl.ConnectionImpl>
-              </outgoingConnections>
-            </to>
-          </org.drools.ruleflow.core.impl.ConnectionImpl>
-        </outgoingConnections>
-      </org.drools.ruleflow.core.impl.RuleSetNodeImpl>
-    </entry>
-    <entry>
-      <long>4</long>
-      <org.drools.ruleflow.core.impl.EndNodeImpl reference="15"/>
-    </entry>
-    <entry>
-      <long>1</long>
-      <org.drools.ruleflow.core.impl.StartNodeImpl reference="6"/>
-    </entry>
-    <entry>
-      <long>3</long>
-      <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="11"/>
-    </entry>
-  </nodes>
-  <variables id="18"/>
-  <lastNodeId>4</lastNodeId>
-  <id>com.sample.ruleflow</id>
-  <name>Ruleflow</name>
-  <version>1.0</version>
-  <type>RuleFlow</type>
-  <packageName>com.sample</packageName>
-</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rfm.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,73 @@
+<org.drools.ruleflow.core.impl.RuleFlowProcessImpl id="1">
+  <nodes id="2">
+    <entry>
+      <long>2</long>
+      <org.drools.ruleflow.core.impl.RuleSetNodeImpl id="3">
+        <ruleFlowGroup>hello</ruleFlowGroup>
+        <id>2</id>
+        <name>hello</name>
+        <incomingConnections id="4">
+          <org.drools.ruleflow.core.impl.ConnectionImpl id="5">
+            <type>1</type>
+            <from class="org.drools.ruleflow.core.impl.StartNodeImpl" id="6">
+              <id>1</id>
+              <name>Start</name>
+              <incomingConnections id="7"/>
+              <outgoingConnections id="8">
+                <org.drools.ruleflow.core.impl.ConnectionImpl reference="5"/>
+              </outgoingConnections>
+            </from>
+            <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+          </org.drools.ruleflow.core.impl.ConnectionImpl>
+        </incomingConnections>
+        <outgoingConnections id="9">
+          <org.drools.ruleflow.core.impl.ConnectionImpl id="10">
+            <type>1</type>
+            <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="3"/>
+            <to class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" id="11">
+              <ruleFlowGroup>goodbye</ruleFlowGroup>
+              <id>3</id>
+              <name>goodbye</name>
+              <incomingConnections id="12">
+                <org.drools.ruleflow.core.impl.ConnectionImpl reference="10"/>
+              </incomingConnections>
+              <outgoingConnections id="13">
+                <org.drools.ruleflow.core.impl.ConnectionImpl id="14">
+                  <type>1</type>
+                  <from class="org.drools.ruleflow.core.impl.RuleSetNodeImpl" reference="11"/>
+                  <to class="org.drools.ruleflow.core.impl.EndNodeImpl" id="15">
+                    <id>4</id>
+                    <name>End</name>
+                    <incomingConnections id="16">
+                      <org.drools.ruleflow.core.impl.ConnectionImpl reference="14"/>
+                    </incomingConnections>
+                    <outgoingConnections id="17"/>
+                  </to>
+                </org.drools.ruleflow.core.impl.ConnectionImpl>
+              </outgoingConnections>
+            </to>
+          </org.drools.ruleflow.core.impl.ConnectionImpl>
+        </outgoingConnections>
+      </org.drools.ruleflow.core.impl.RuleSetNodeImpl>
+    </entry>
+    <entry>
+      <long>4</long>
+      <org.drools.ruleflow.core.impl.EndNodeImpl reference="15"/>
+    </entry>
+    <entry>
+      <long>1</long>
+      <org.drools.ruleflow.core.impl.StartNodeImpl reference="6"/>
+    </entry>
+    <entry>
+      <long>3</long>
+      <org.drools.ruleflow.core.impl.RuleSetNodeImpl reference="11"/>
+    </entry>
+  </nodes>
+  <variables id="18"/>
+  <lastNodeId>4</lastNodeId>
+  <id>com.sample.ruleflow</id>
+  <name>Ruleflow</name>
+  <version>1.0</version>
+  <type>RuleFlow</type>
+  <packageName>com.sample</packageName>
+</org.drools.ruleflow.core.impl.RuleFlowProcessImpl>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,28 +0,0 @@
-#created on: $date$
-$package$
-#list any import classes here.
-
-$expander$
-
-#declare any global variables here
-
-$functions$
-
-
-rule "Your First Rule"
-	
-	when
-		#conditions
-	then 
-		#actions
-		
-end
-
-rule "Your Second Rule"
-	#include attributes such as "salience" here...
-	when
-		#conditions
-	then 
-		#actions
-		
-end
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_package.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,28 @@
+#created on: $date$
+$package$
+#list any import classes here.
+
+$expander$
+
+#declare any global variables here
+
+$functions$
+
+
+rule "Your First Rule"
+	
+	when
+		#conditions
+	then 
+		#actions
+		
+end
+
+rule "Your Second Rule"
+	#include attributes such as "salience" here...
+	when
+		#conditions
+	then 
+		#actions
+		
+end
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-#created on: $date$
-$package$
-rule "A stand alone rule"
-	
-	when
-		#conditions
-	then 
-		#actions
-		
-end
-

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/rule/new_rule.drl.template	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+#created on: $date$
+$package$
+rule "A stand alone rule"
+	
+	when
+		#conditions
+	then 
+		#actions
+		
+end
+

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.classpath
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/.classpath	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/test/java"/>
-	<classpathentry kind="src" path="src/test/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.classpath (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/.classpath)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.classpath	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry kind="src" path="src/test/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.project
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/.project	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>drools-eclipse-test</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/.project)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.project	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>drools-eclipse-test</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.settings (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/.settings)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,58 +0,0 @@
-#Tue Apr 03 23:12:19 PDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/.settings/org.eclipse.jdt.core.prefs	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,58 @@
+#Tue Apr 03 23:12:19 PDT 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.3

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/META-INF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/META-INF)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/META-INF/MANIFEST.MF	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/META-INF/MANIFEST.MF	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: JBoss Rules Eclipse Test fragment
-Bundle-SymbolicName: org.drools.eclipse.test
-Bundle-Version: 4.0.6
-Bundle-Vendor: krisv,mic
-Fragment-Host: org.drools.eclipse;bundle-version="4.0.6"
-Bundle-Localization: plugin
-Require-Bundle: org.junit
-Bundle-ClassPath: .
-Bundle-RequiredExecutionEnvironment: J2SE-1.4

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/META-INF/MANIFEST.MF (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/META-INF/MANIFEST.MF)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/META-INF/MANIFEST.MF	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: JBoss Rules Eclipse Test fragment
+Bundle-SymbolicName: org.drools.eclipse.test
+Bundle-Version: 4.0.6
+Bundle-Vendor: krisv,mic
+Fragment-Host: org.drools.eclipse;bundle-version="4.0.6"
+Bundle-Localization: plugin
+Require-Bundle: org.junit
+Bundle-ClassPath: .
+Bundle-RequiredExecutionEnvironment: J2SE-1.4

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/build.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/build.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,14 +0,0 @@
-bin.includes = META-INF/,\
-               .,\
-               test.xml
-jars.compile.order = .
-source.. = src/test/java/,\
-           src/test/resources/
-output.. = bin/
-src.includes = .classpath,\
-               .project,\
-               .settings/,\
-               META-INF/,\
-               build.properties,\
-               src/,\
-               test.xml

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/build.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/build.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/build.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,14 @@
+bin.includes = META-INF/,\
+               .,\
+               test.xml
+jars.compile.order = .
+source.. = src/test/java/,\
+           src/test/resources/
+output.. = bin/
+src.includes = .classpath,\
+               .project,\
+               .settings/,\
+               META-INF/,\
+               build.properties,\
+               src/,\
+               test.xml

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,9 +0,0 @@
-package org.drools.eclipse;
-import junit.framework.Test;
-
-
-public class AllTests {
-	public static Test suite() {
-		return AllTestsUtil.suite();
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTests.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,9 @@
+package org.drools.eclipse;
+import junit.framework.Test;
+
+
+public class AllTests {
+	public static Test suite() {
+		return AllTestsUtil.suite();
+	}
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,166 +0,0 @@
-package org.drools.eclipse;
-
-//Copyright (c) 2006 Alex Blewitt
-//All rights reserved. This program and the accompanying materials
-//are made available under the terms of the Eclipse Public License v1.0
-//which accompanies this distribution, and is available at
-//http://www.eclipse.org/legal/epl-v10.html
-//
-//Contributors:
-//Alex Blewitt - Initial API and implementation
-//
-import java.lang.reflect.Modifier;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Vector;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.runner.ClassPathTestCollector;
-import junit.runner.TestCollector;
-import org.eclipse.core.runtime.Platform;
-/**
-* Run all the tests in this project, either computed from the classpath or from
-* the bundlepath. To use this as-is, drop it into a non-default package that
-* has the same name as the plugin. For example, if the plugin is called
-* <code>org.example.foo</code>, this should be placed in a package
-* <code>org.example.foo</code>, and all tests should live under the
-* <code>org.example.foo</code> package structure (either directly, or in any
-* subpackage). By default this will include all non-abstract classes named
-* <code>XxxTest</code>, excluding <code>XxxPlatformTest</code> if running
-* outside of the platform.
-*/
-
-public class AllTestsUtil {
-	/**
-	 * Detects classes from the bundle PLUGIN_NAME's entries. Uses
-	 * <code>bundle.findEntries</code> to obtain a list of classes that live
-	 * in the specified PACKAGE_NAME, and adds those to the test path, providing
-	 * that they are {@link AllTests#isValidTest(String, boolean) valid}.
-	 */
-	private static class BundleTestDetector implements TestCollector {
-		/*
-		 * @see junit.runner.TestCollector#collectTests()
-		 */
-		public Enumeration collectTests() {
-			final Vector tests = new Vector();
-			try {
-				Enumeration entries = Platform.getBundle(PLUGIN_NAME).findEntries("/", "*" + SUFFIX + ".class", true);
-				while (entries.hasMoreElements()) {
-					URL entry = (URL) entries.nextElement();
-					// Change the URLs to have Java class names
-					String path = entry.getPath().replace('/', '.');
-					int start = path.indexOf(PACKAGE_NAME);
-					String name = path.substring(start, path.length()
-							- ".class".length());
-					if (isValidTest(name, true)) {
-						tests.add(name);
-					}
-				}
-			} catch (Exception e) {
-				// If we get here, the Platform isn't installed and so we fail
-				// quietly. This isn't a problem; we might be outside of the
-				// Platform framework and just running tests locally. It's not
-				// even worth printing anything out to the error log as it would
-				// just confuse people investigating stack traces etc.
-			}
-			return tests.elements();
-		}
-	}
-	/**
-	 * Searches the current classpath for tests, which are those ending with
-	 * SUFFIX, excluding those which end in IN_CONTAINER_SUFFIX, providing that
-	 * they are {@link AllTests#isValidTest(String, boolean) valid}.
-	 */
-	private static class ClassFileDetector extends ClassPathTestCollector {
-		/*
-		 * @see junit.runner.ClassPathTestCollector#isTestClass(java.lang.String)
-		 */
-		protected boolean isTestClass(String classFileName) {
-			return classFileName.endsWith(SUFFIX + ".class")
-					&& isValidTest(classNameFromFile(classFileName), false);
-		}
-	}
-	/**
-	 * All tests should end in XxxTest
-	 */
-	public static final String SUFFIX = "Test";
-	/**
-	 * All in-container tests should end in XxxPlatformTest
-	 */
-	public static final String IN_CONTAINER_SUFFIX = "Platform" + SUFFIX;
-	/**
-	 * The base package name of the tests to run. This defaults to the name of
-	 * the package that the AllTests class is in for ease of management but may
-	 * be trivially changed if required. Note that at least some identifiable
-	 * part must be provided here (so default package names are not allowed)
-	 * since the URL that comes up in the bundle entries have a prefix that is
-	 * not detectable automatically. Even if this is "org" or "com" that should
-	 * be enough.
-	 */
-	public static final String PACKAGE_NAME = AllTests.class.getPackage()
-			.getName();
-	/**
-	 * The name of the plugin to search if the platform is loaded. This defaults
-	 * to the name of the package that the AllTests class is in for ease of
-	 * management but may be trivially changed if required.
-	 */
-	
-	//PO: this is wrong. we need to use the PLUGIN_ID of the host, not that of the 
-	// fragment
-//	public static final String PLUGIN_NAME = AllTests.class.getPackage()
-//	.getName();
-	public static final String PLUGIN_NAME = "org.drools.eclipse";
-	
-	/**
-	 * Add the tests reported by collector to the list of tests to run
-	 * @param collector the test collector to run
-	 * @param suite the suite to add the tests to
-	 */
-	private static void addTestsToSuite(TestCollector collector, TestSuite suite) {
-		Enumeration e = collector.collectTests();
-		while (e.hasMoreElements()) {
-			String name = (String) e.nextElement();
-			try {
-				suite.addTestSuite(Class.forName(name));
-			} catch (ClassNotFoundException e1) {
-				System.err.println("Cannot load test: " + e1);
-			}
-		}
-	}
-	/**
-	 * Is the test a valid test?
-	 * @param name the name of the test
-	 * @param inContainer true if we want to include the inContainer tests
-	 * @return true if the name is a valid class (can be loaded), that it is not
-	 *         abstract, and that it ends with SUFFIX, and that either
-	 *         inContainer tests are to be included or the name does not end
-	 *         with IN_CONTAINER_SUFFIX
-	 */
-	private static boolean isValidTest(String name, boolean inContainer) {
-		try {
-			return name.endsWith(SUFFIX)
-					&& (inContainer || !name.endsWith(IN_CONTAINER_SUFFIX))
-					&& ((Class.forName(name).getModifiers() & Modifier.ABSTRACT) == 0);
-		} catch (ClassNotFoundException e) {
-			System.err.println(e.toString());
-			return false;
-		}
-	}
-	/**
-	 * Return all the tests. If we're in a platform, return everything. If not,
-	 * we return those tests that end in SUFFIX but excluding those ending in
-	 * IN_CONTAINER_SUFFIX.
-	 * @return a suite of tests for JUnit to run
-	 * @throws Error if there are no tests to run.
-	 */
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTests.class.getName());
-		addTestsToSuite(new ClassFileDetector(), suite);
-		addTestsToSuite(new BundleTestDetector(), suite);
-		if (suite.countTestCases() == 0) {
-			throw new Error("There are no test cases to run");
-		} else {
-			return suite;
-		}
-	}
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/AllTestsUtil.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,166 @@
+package org.drools.eclipse;
+
+//Copyright (c) 2006 Alex Blewitt
+//All rights reserved. This program and the accompanying materials
+//are made available under the terms of the Eclipse Public License v1.0
+//which accompanies this distribution, and is available at
+//http://www.eclipse.org/legal/epl-v10.html
+//
+//Contributors:
+//Alex Blewitt - Initial API and implementation
+//
+import java.lang.reflect.Modifier;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.Vector;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.runner.ClassPathTestCollector;
+import junit.runner.TestCollector;
+import org.eclipse.core.runtime.Platform;
+/**
+* Run all the tests in this project, either computed from the classpath or from
+* the bundlepath. To use this as-is, drop it into a non-default package that
+* has the same name as the plugin. For example, if the plugin is called
+* <code>org.example.foo</code>, this should be placed in a package
+* <code>org.example.foo</code>, and all tests should live under the
+* <code>org.example.foo</code> package structure (either directly, or in any
+* subpackage). By default this will include all non-abstract classes named
+* <code>XxxTest</code>, excluding <code>XxxPlatformTest</code> if running
+* outside of the platform.
+*/
+
+public class AllTestsUtil {
+	/**
+	 * Detects classes from the bundle PLUGIN_NAME's entries. Uses
+	 * <code>bundle.findEntries</code> to obtain a list of classes that live
+	 * in the specified PACKAGE_NAME, and adds those to the test path, providing
+	 * that they are {@link AllTests#isValidTest(String, boolean) valid}.
+	 */
+	private static class BundleTestDetector implements TestCollector {
+		/*
+		 * @see junit.runner.TestCollector#collectTests()
+		 */
+		public Enumeration collectTests() {
+			final Vector tests = new Vector();
+			try {
+				Enumeration entries = Platform.getBundle(PLUGIN_NAME).findEntries("/", "*" + SUFFIX + ".class", true);
+				while (entries.hasMoreElements()) {
+					URL entry = (URL) entries.nextElement();
+					// Change the URLs to have Java class names
+					String path = entry.getPath().replace('/', '.');
+					int start = path.indexOf(PACKAGE_NAME);
+					String name = path.substring(start, path.length()
+							- ".class".length());
+					if (isValidTest(name, true)) {
+						tests.add(name);
+					}
+				}
+			} catch (Exception e) {
+				// If we get here, the Platform isn't installed and so we fail
+				// quietly. This isn't a problem; we might be outside of the
+				// Platform framework and just running tests locally. It's not
+				// even worth printing anything out to the error log as it would
+				// just confuse people investigating stack traces etc.
+			}
+			return tests.elements();
+		}
+	}
+	/**
+	 * Searches the current classpath for tests, which are those ending with
+	 * SUFFIX, excluding those which end in IN_CONTAINER_SUFFIX, providing that
+	 * they are {@link AllTests#isValidTest(String, boolean) valid}.
+	 */
+	private static class ClassFileDetector extends ClassPathTestCollector {
+		/*
+		 * @see junit.runner.ClassPathTestCollector#isTestClass(java.lang.String)
+		 */
+		protected boolean isTestClass(String classFileName) {
+			return classFileName.endsWith(SUFFIX + ".class")
+					&& isValidTest(classNameFromFile(classFileName), false);
+		}
+	}
+	/**
+	 * All tests should end in XxxTest
+	 */
+	public static final String SUFFIX = "Test";
+	/**
+	 * All in-container tests should end in XxxPlatformTest
+	 */
+	public static final String IN_CONTAINER_SUFFIX = "Platform" + SUFFIX;
+	/**
+	 * The base package name of the tests to run. This defaults to the name of
+	 * the package that the AllTests class is in for ease of management but may
+	 * be trivially changed if required. Note that at least some identifiable
+	 * part must be provided here (so default package names are not allowed)
+	 * since the URL that comes up in the bundle entries have a prefix that is
+	 * not detectable automatically. Even if this is "org" or "com" that should
+	 * be enough.
+	 */
+	public static final String PACKAGE_NAME = AllTests.class.getPackage()
+			.getName();
+	/**
+	 * The name of the plugin to search if the platform is loaded. This defaults
+	 * to the name of the package that the AllTests class is in for ease of
+	 * management but may be trivially changed if required.
+	 */
+	
+	//PO: this is wrong. we need to use the PLUGIN_ID of the host, not that of the 
+	// fragment
+//	public static final String PLUGIN_NAME = AllTests.class.getPackage()
+//	.getName();
+	public static final String PLUGIN_NAME = "org.drools.eclipse";
+	
+	/**
+	 * Add the tests reported by collector to the list of tests to run
+	 * @param collector the test collector to run
+	 * @param suite the suite to add the tests to
+	 */
+	private static void addTestsToSuite(TestCollector collector, TestSuite suite) {
+		Enumeration e = collector.collectTests();
+		while (e.hasMoreElements()) {
+			String name = (String) e.nextElement();
+			try {
+				suite.addTestSuite(Class.forName(name));
+			} catch (ClassNotFoundException e1) {
+				System.err.println("Cannot load test: " + e1);
+			}
+		}
+	}
+	/**
+	 * Is the test a valid test?
+	 * @param name the name of the test
+	 * @param inContainer true if we want to include the inContainer tests
+	 * @return true if the name is a valid class (can be loaded), that it is not
+	 *         abstract, and that it ends with SUFFIX, and that either
+	 *         inContainer tests are to be included or the name does not end
+	 *         with IN_CONTAINER_SUFFIX
+	 */
+	private static boolean isValidTest(String name, boolean inContainer) {
+		try {
+			return name.endsWith(SUFFIX)
+					&& (inContainer || !name.endsWith(IN_CONTAINER_SUFFIX))
+					&& ((Class.forName(name).getModifiers() & Modifier.ABSTRACT) == 0);
+		} catch (ClassNotFoundException e) {
+			System.err.println(e.toString());
+			return false;
+		}
+	}
+	/**
+	 * Return all the tests. If we're in a platform, return everything. If not,
+	 * we return those tests that end in SUFFIX but excluding those ending in
+	 * IN_CONTAINER_SUFFIX.
+	 * @return a suite of tests for JUnit to run
+	 * @throws Error if there are no tests to run.
+	 */
+	public static Test suite() {
+		TestSuite suite = new TestSuite(AllTests.class.getName());
+		addTestsToSuite(new ClassFileDetector(), suite);
+		addTestsToSuite(new BundleTestDetector(), suite);
+		if (suite.countTestCases() == 0) {
+			throw new Error("There are no test cases to run");
+		} else {
+			return suite;
+		}
+	}
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,109 +0,0 @@
-package org.drools.eclipse.debug;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map.Entry;
-
-import junit.framework.TestCase;
-
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.base.MapGlobalResolver;
-import org.drools.compiler.PackageBuilder;
-import org.drools.reteoo.ReteooStatefulSession;
-import org.drools.spi.Activation;
-import org.drools.spi.AgendaGroup;
-
-/**
- *
- * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
- * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
- * VIEWS (which are using reflection)
- *    
- * @author Kris Verlaenen
- */
-public class DebugViewsTest extends TestCase {
-	
-	/*
-	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
-	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
-	 * VIEWS (which are using reflection)
-	 */
-    
-    public void testApplicationDataView() throws Exception {
-    	Reader source = new InputStreamReader(DebugViewsTest.class.getResourceAsStream("/debug.drl"));
-    	PackageBuilder builder = new PackageBuilder();
-    	builder.addPackageFromDrl(source);
-    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-    	ruleBase.addPackage(builder.getPackage());
-    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
-    	session.setGlobal("s", "String");
-    	List list = new ArrayList();
-    	list.add("Value");
-    	session.setGlobal("list", list);
-    	Entry[] globals = ((MapGlobalResolver) session.getGlobalResolver()).getGlobals();
-    	assertEquals(2, globals.length);
-    	if ("list".equals(globals[0].getKey())) {
-	    	assertEquals("list", globals[0].getKey());
-	    	assertEquals(list, globals[0].getValue());
-	    	assertEquals("s", globals[1].getKey());
-	    	assertEquals("String", globals[1].getValue());
-    	} else {
-	    	assertEquals("list", globals[1].getKey());
-	    	assertEquals(list, globals[1].getValue());
-	    	assertEquals("s", globals[0].getKey());
-	    	assertEquals("String", globals[0].getValue());
-    	}
-    }
-    
-	/*
-	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
-	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
-	 * VIEWS (which are using reflection)
-	 */
-    
-    public void testAgendaView() throws Exception {
-    	Reader source = new InputStreamReader(DebugViewsTest.class.getResourceAsStream("/debug.drl"));
-    	PackageBuilder builder = new PackageBuilder();
-    	builder.addPackageFromDrl(source);
-    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-    	ruleBase.addPackage(builder.getPackage());
-    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
-    	List list = new ArrayList();
-    	session.setGlobal("list", list);
-    	session.insert("String1");
-    	AgendaGroup focus = session.getAgenda().getFocus();
-    	assertEquals("MAIN", focus.getName());
-    	AgendaGroup[] agendaGroups = session.getAgenda().getAgendaGroups();
-    	assertEquals(1, agendaGroups.length);
-    	assertEquals("MAIN", agendaGroups[0].getName());
-    	assertEquals(1, agendaGroups[0].getActivations().length);
-    	
-    	Activation activation = agendaGroups[0].getActivations()[0];
-    	assertEquals("ActivationCreator", activation.getRule().getName());
-    	Entry[] parameters = session.getActivationParameters(activation.getActivationNumber());
-    	assertEquals(1, parameters.length);
-    	assertEquals("o", parameters[0].getKey());
-    	assertEquals("String1", parameters[0].getValue());
-    }
-    
-	/*
-	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
-	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
-	 * VIEWS (which are using reflection)
-	 */
-    
-    public void testWorkingMemoryView() throws Exception {
-    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
-    	session.insert("Test1");
-    	session.insert("Test2");
-    	Object[] objects = session.iterateObjectsToList().toArray();
-    	assertEquals(2, objects.length);
-    	assertTrue(("Test1".equals(objects[0]) && "Test2".equals(objects[1])) ||
-    			   ("Test2".equals(objects[0]) && "Test1".equals(objects[1])));
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/debug/DebugViewsTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,109 @@
+package org.drools.eclipse.debug;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map.Entry;
+
+import junit.framework.TestCase;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.base.MapGlobalResolver;
+import org.drools.compiler.PackageBuilder;
+import org.drools.reteoo.ReteooStatefulSession;
+import org.drools.spi.Activation;
+import org.drools.spi.AgendaGroup;
+
+/**
+ *
+ * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
+ * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
+ * VIEWS (which are using reflection)
+ *    
+ * @author Kris Verlaenen
+ */
+public class DebugViewsTest extends TestCase {
+	
+	/*
+	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
+	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
+	 * VIEWS (which are using reflection)
+	 */
+    
+    public void testApplicationDataView() throws Exception {
+    	Reader source = new InputStreamReader(DebugViewsTest.class.getResourceAsStream("/debug.drl"));
+    	PackageBuilder builder = new PackageBuilder();
+    	builder.addPackageFromDrl(source);
+    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+    	ruleBase.addPackage(builder.getPackage());
+    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
+    	session.setGlobal("s", "String");
+    	List list = new ArrayList();
+    	list.add("Value");
+    	session.setGlobal("list", list);
+    	Entry[] globals = ((MapGlobalResolver) session.getGlobalResolver()).getGlobals();
+    	assertEquals(2, globals.length);
+    	if ("list".equals(globals[0].getKey())) {
+	    	assertEquals("list", globals[0].getKey());
+	    	assertEquals(list, globals[0].getValue());
+	    	assertEquals("s", globals[1].getKey());
+	    	assertEquals("String", globals[1].getValue());
+    	} else {
+	    	assertEquals("list", globals[1].getKey());
+	    	assertEquals(list, globals[1].getValue());
+	    	assertEquals("s", globals[0].getKey());
+	    	assertEquals("String", globals[0].getValue());
+    	}
+    }
+    
+	/*
+	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
+	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
+	 * VIEWS (which are using reflection)
+	 */
+    
+    public void testAgendaView() throws Exception {
+    	Reader source = new InputStreamReader(DebugViewsTest.class.getResourceAsStream("/debug.drl"));
+    	PackageBuilder builder = new PackageBuilder();
+    	builder.addPackageFromDrl(source);
+    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+    	ruleBase.addPackage(builder.getPackage());
+    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
+    	List list = new ArrayList();
+    	session.setGlobal("list", list);
+    	session.insert("String1");
+    	AgendaGroup focus = session.getAgenda().getFocus();
+    	assertEquals("MAIN", focus.getName());
+    	AgendaGroup[] agendaGroups = session.getAgenda().getAgendaGroups();
+    	assertEquals(1, agendaGroups.length);
+    	assertEquals("MAIN", agendaGroups[0].getName());
+    	assertEquals(1, agendaGroups[0].getActivations().length);
+    	
+    	Activation activation = agendaGroups[0].getActivations()[0];
+    	assertEquals("ActivationCreator", activation.getRule().getName());
+    	Entry[] parameters = session.getActivationParameters(activation.getActivationNumber());
+    	assertEquals(1, parameters.length);
+    	assertEquals("o", parameters[0].getKey());
+    	assertEquals("String1", parameters[0].getValue());
+    }
+    
+	/*
+	 * WARNING: DO NOT CHANGE ANYTHING IN THIS TEST CLASS
+	 * WITHOUT ALSO CHANGING THE IMPLEMENTATION IN THE DEBUG
+	 * VIEWS (which are using reflection)
+	 */
+    
+    public void testWorkingMemoryView() throws Exception {
+    	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+    	ReteooStatefulSession session = (ReteooStatefulSession) ruleBase.newStatefulSession();
+    	session.insert("Test1");
+    	session.insert("Test2");
+    	Object[] objects = session.iterateObjectsToList().toArray();
+    	assertEquals(2, objects.length);
+    	assertTrue(("Test1".equals(objects[0]) && "Test2".equals(objects[1])) ||
+    			   ("Test2".equals(objects[0]) && "Test1".equals(objects[1])));
+    }
+    
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,52 +0,0 @@
-package org.drools.eclipse.dsl.editor;
-
-import junit.framework.TestCase;
-
-import org.drools.eclipse.dsl.editor.DSLAdapter;
-
-/**
- * 
- * @author Michael Neale
- */
-public class DSLAdapterTest extends TestCase {
-    
-    public void testFindExpander() {
-        
-        StringBuffer buf = largeString();
-        
-        String pat = "\nexpander  \t abc.dsl ";
-        
-        assertEquals("abc.dsl", DSLAdapter.findDSLConfigName( pat ));
-        
-        
-        assertEquals("abc.dsl", DSLAdapter.findDSLConfigName( buf.toString() ));
-        
-        assertEquals(null, DSLAdapter.findDSLConfigName( "abc /n/n" ));
-        
-        assertEquals(null, DSLAdapter.findDSLConfigName( "fdfds" ));
-        
-    }
-    
-    public void testLoadGrammar() throws Exception {
-        DSLAdapter ad = new DSLAdapter();
-        
-        ad.readConfig( this.getClass().getResourceAsStream( "test.dsl" ) );
-        assertNotNull(ad.listConditionItems());
-        assertNotNull(ad.listConsequenceItems());
-    }
-
-    private StringBuffer largeString() {
-        StringBuffer buf = new StringBuffer();
-        for (int i = 0; i < 1000; i++) {
-            if (i == 42) {
-                buf.append( "\n   expander abc.dsl  \n" );
-            }
-            
-            buf.append( "\n" );
-            buf.append( " fdsfdsfds && " + i);
-            
-        }
-        return buf;
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/DSLAdapterTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,52 @@
+package org.drools.eclipse.dsl.editor;
+
+import junit.framework.TestCase;
+
+import org.drools.eclipse.dsl.editor.DSLAdapter;
+
+/**
+ * 
+ * @author Michael Neale
+ */
+public class DSLAdapterTest extends TestCase {
+    
+    public void testFindExpander() {
+        
+        StringBuffer buf = largeString();
+        
+        String pat = "\nexpander  \t abc.dsl ";
+        
+        assertEquals("abc.dsl", DSLAdapter.findDSLConfigName( pat ));
+        
+        
+        assertEquals("abc.dsl", DSLAdapter.findDSLConfigName( buf.toString() ));
+        
+        assertEquals(null, DSLAdapter.findDSLConfigName( "abc /n/n" ));
+        
+        assertEquals(null, DSLAdapter.findDSLConfigName( "fdfds" ));
+        
+    }
+    
+    public void testLoadGrammar() throws Exception {
+        DSLAdapter ad = new DSLAdapter();
+        
+        ad.readConfig( this.getClass().getResourceAsStream( "test.dsl" ) );
+        assertNotNull(ad.listConditionItems());
+        assertNotNull(ad.listConsequenceItems());
+    }
+
+    private StringBuffer largeString() {
+        StringBuffer buf = new StringBuffer();
+        for (int i = 0; i < 1000; i++) {
+            if (i == 42) {
+                buf.append( "\n   expander abc.dsl  \n" );
+            }
+            
+            buf.append( "\n" );
+            buf.append( " fdsfdsfds && " + i);
+            
+        }
+        return buf;
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3 +0,0 @@
-#this is a DSL
-[condition][]Left hand side=Right hand side
-[condition][]Something else=boo
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/dsl/editor/test.dsl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3 @@
+#this is a DSL
+[condition][]Left hand side=Right hand side
+[condition][]Something else=boo
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import org.drools.eclipse.editors.scanners.DRLPartionScanner;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.FastPartitioner;
-
-import junit.framework.TestCase;
-
-public class AbstractCompletionProcessorTest extends TestCase {
-
-    public void testReadBackwards() throws BadLocationException {
-        //setup
-        IDocument doc = getDoc();
-        int rhsStartOffset = 150;
-
-        AbstractCompletionProcessor proc = new MockCompletionProcessor();
-        String backText = proc.readBackwards( rhsStartOffset,
-                                              doc );
-        String rule2 = "\nrule YourRule \n" + //
-                       "   dialect \"mvel\"\n" + //
-                       "   when\n" + //
-                       "       Class ( )\n" + //
-                       "   then\n";
-
-        assertEquals( rule2,
-                      backText );
-    }
-
-    private IDocument getDoc() {
-        String input = "rule MyRule \n" + //
-                       "   when\n" + //
-                       "       Class ( )\n" + //
-                       "   then\n" + //
-                       "       System.out.println(\"Hey\");\n" + //
-                       "end\n" + //
-                       "rule YourRule \n" + //
-                       "   dialect \"mvel\"\n" + //
-                       "   when\n" + //
-                       "       Class ( )\n" + //
-                       "   then\n" + //
-                       "       " +//
-                       "end\n\n" ;
-
-        IDocument doc = new Document( input );
-        IDocumentPartitioner partitioner = new FastPartitioner( new DRLPartionScanner(),
-                                                                DRLPartionScanner.LEGAL_CONTENT_TYPES );
-        partitioner.connect( doc );
-        doc.setDocumentPartitioner( partitioner );
-        return doc;
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/AbstractCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+package org.drools.eclipse.editors.completion;
+
+import org.drools.eclipse.editors.scanners.DRLPartionScanner;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.rules.FastPartitioner;
+
+import junit.framework.TestCase;
+
+public class AbstractCompletionProcessorTest extends TestCase {
+
+    public void testReadBackwards() throws BadLocationException {
+        //setup
+        IDocument doc = getDoc();
+        int rhsStartOffset = 150;
+
+        AbstractCompletionProcessor proc = new MockCompletionProcessor();
+        String backText = proc.readBackwards( rhsStartOffset,
+                                              doc );
+        String rule2 = "\nrule YourRule \n" + //
+                       "   dialect \"mvel\"\n" + //
+                       "   when\n" + //
+                       "       Class ( )\n" + //
+                       "   then\n";
+
+        assertEquals( rule2,
+                      backText );
+    }
+
+    private IDocument getDoc() {
+        String input = "rule MyRule \n" + //
+                       "   when\n" + //
+                       "       Class ( )\n" + //
+                       "   then\n" + //
+                       "       System.out.println(\"Hey\");\n" + //
+                       "end\n" + //
+                       "rule YourRule \n" + //
+                       "   dialect \"mvel\"\n" + //
+                       "   when\n" + //
+                       "       Class ( )\n" + //
+                       "   then\n" + //
+                       "       " +//
+                       "end\n\n" ;
+
+        IDocument doc = new Document( input );
+        IDocumentPartitioner partitioner = new FastPartitioner( new DRLPartionScanner(),
+                                                                DRLPartionScanner.LEGAL_CONTENT_TYPES );
+        partitioner.connect( doc );
+        doc.setDocumentPartitioner( partitioner );
+        return doc;
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,1899 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import org.drools.lang.Location;
-
-import junit.framework.TestCase;
-
-/**
- * Test to check the location determination when doing code completion inside
- * rule condtions.
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- *
- */
-public class CompletionContextTest extends TestCase {
-
-    public void testColumnOperatorPattern() {
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    property ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property   ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : property ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(name:property ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    name:property ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name:property   ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(   name  :  property  ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", property2 ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", name : property2 ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", name:property2 ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\",   name  :  property2  ").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name:prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(name:prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(   name  :  prop").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property <= ").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : property == ").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(property==").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property contains ").matches());
-    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", property2 >= ").matches());
-    }
-
-    public void testColumnArgumentPattern() {
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property == ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property >= ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(property== ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(   property   ==   ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( name : property == ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(name:property== ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(  name  :  property  ==  ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\", property2 == ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\",property2== ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\",  property2  ==  ").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property == otherProp").matches());
-    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(property==otherProp").matches());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( condition == true ) \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		class: Class( condition == true, condition2 == null ) \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION5() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( condition == true ) \n" +
-        	"		Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION6() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		class: Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION7() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		class:Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    /** Inside of condition: start */
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START2() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( na";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("na", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START3() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name.subProperty['test'].subsu";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("name.subProperty['test'].subsu", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START4() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( condition == true, ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START5() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( condition == true, na";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START6() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( \n" +
-        	"			";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START7() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( condition == true, \n" +
-        	"			";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START8() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( c: condition, \n" +
-        	"			";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START9a() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       Class ( name:";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START9b() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name: ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START10() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name:";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-
-    }
-
-    /** Inside of  condition: Operator */
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR1() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR2() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class(property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR3() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name : property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR4() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class (name:property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR5() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class (name:property   ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR6() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1 : property1, name : property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR7() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1 : property1 == \"value\", name : property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR8() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1 : property1 == \"value\",property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR9() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1 : property1, \n" +
-        	"			name : property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-    }
-
-    /** Inside of condition: argument */
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT1() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property== ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT3() {
-        String input =
-            "rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name : property <= ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("<=", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name:property != ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("!=", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT5() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1 : property1, property2 == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class (name:property== ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT7() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property == otherPropertyN";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT8() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property == \"someth";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT9() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property contains ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("contains", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT10() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property excludes ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("excludes", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT11() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property matches \"prop";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("matches", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT12() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property in ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("in", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property in ('1', '2') ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START11() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property in ('1', '2'), ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT13() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not in ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("in", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not in ('1', '2') ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START12() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not in ('1', '2'), ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT14() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property memberOf ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("memberOf", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property memberOf collection ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START13() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property memberOf collection, ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT15() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not memberOf ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("memberOf", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not memberOf collection ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START14() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property not memberOf collection, ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    /** EXISTS */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists(";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS5() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists ( Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists ( name : Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDeterminationINSIDE_CONDITION_START16() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    /** NOT */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS7() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not exists ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS8() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not exists Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START21() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START22() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not exists Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START23() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not exists name : Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION9() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		not Class () \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    /** AND */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) &&  ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class () and   ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		name : Class ( name: property ) and ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR5() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name: property ) \n" +
-        	"       and ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR7() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and name : Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR8() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) && name : Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION31() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION32() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and not Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION33() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and exists Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START20() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and Class ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR21() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and Class ( name ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("name", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR22() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and Class ( name == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class ( ) and not ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class ( ) and exists ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION30() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) and not Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-
-        /** OR */
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR21() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR22() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) || ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR23() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class () or   ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR24() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		name : Class ( name: property ) or ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR25() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name: property ) \n" +
-        	"       or ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR26() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR27() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or name : Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR28() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) || name : Cl";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION40() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or Class ( ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START40() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or Class ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or Class ( name ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("name", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT30() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( ) or Class ( name == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_EGIN_OF_CONDITION_NOT() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class ( ) or not ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS40() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		exists Class ( ) or exists ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
-        }
-
-    /** EVAL */
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval(";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( myCla";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("myCla", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL4() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getMetho";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getMetho", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL5() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getMethod(";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getMethod(", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getMethod().get";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getMethod().get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL7() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getMethod(\"someStringWith)))\").get";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getMethod(\"someStringWith)))\").get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL8() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getMethod(\"someStringWith(((\").get";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getMethod(\"someStringWith(((\").get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL9() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( true )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION50() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getProperty(name).isTrue() )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION51() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getProperty(\"someStringWith(((\").isTrue() )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_EVAL10() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getProperty((((String) s) )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
-        assertEquals("param.getProperty((((String) s) )", location.getProperty(Location.LOCATION_EVAL_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION52() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( param.getProperty((((String) s))))";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION53() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		eval( true ) \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    /** MULTIPLE RESTRICTIONS */
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR12() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 && ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR13() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name : property1, property2 > 0 && ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR14() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property1 < 20, property2 > 0 && ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT20() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 && < ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("<", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 && < 10 ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START41() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 && < 10, ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR60() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 || ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR61() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 || \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR62() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name : property1, property2 > 0 || ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR63() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property1 < 20, property2 > 0 || ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END10() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END11() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END12() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 && < 10 ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END13() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 || < 10 ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END14() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property == \"test\" || == \"test2\" ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
-        }
-
-    /** FROM */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION60() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION61() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) fr";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
-        assertEquals("", location.getProperty(Location.LOCATION_FROM_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from myGlob";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
-        assertEquals("myGlob", location.getProperty(Location.LOCATION_FROM_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from myGlobal.get";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
-        assertEquals("myGlobal.get", location.getProperty(Location.LOCATION_FROM_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION75() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from myGlobal.getList() \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION71() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from getDroolsFunction() \n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    /** FROM ACCUMULATE */
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate(";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION73() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total = 0; ), \n" +
-        	"			action( total += $cheese.getPrice(); ), \n" +
-        	"           result( new Integer( total ) ) \n" +
-        	"		) \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_INIT_INSIDE() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE, location.getType());
-        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_ACTION_INSIDE() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total = 0; ), \n" +
-        	"			action( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE, location.getType());
-        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_RESULT_INSIDE() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total = 0; ), \n" +
-        	"			action( total += $cheese.getPrice(); ), \n" +
-        	"           result( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE, location.getType());
-        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        assertEquals(" total += $cheese.getPrice(); ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
-        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_INIT_INSIDE2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total =";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE, location.getType());
-        assertEquals("int total =", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_ACTION_INSIDE2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total = 0; ), \n" +
-        	"			action( total += $ch";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE, location.getType());
-        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        assertEquals("total += $ch", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_RESULT_INSIDE2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == $likes ), \n" +
-        	"			init( int total = 0; ), \n" +
-        	"			action( total += $cheese.getPrice(); ), \n" +
-        	"           result( new Integer( tot";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE, location.getType());
-        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
-        assertEquals(" total += $cheese.getPrice(); ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
-        assertEquals("new Integer( tot", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR40() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from accumulate( \n" +
-        	"			$cheese : Cheese( type == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    /** FROM COLLECT */
-    public void testCheckLHSLocationDetermination_FROM_COLLECT1() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_COLLECT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM_COLLECT2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect(";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM_COLLECT, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION67() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect ( \n" +
-        	"			Cheese( type == $likes )" +
-        	"		) \n" +
-        	"		";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START31() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect ( \n" +
-        	"			Cheese( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR31() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect ( \n" +
-        	"			Cheese( type ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT21() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from collect ( \n" +
-        	"			Cheese( type == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    /** NESTED FROM */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION68() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM5() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) from ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION69() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION70() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_FROM6() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
-        }
-
-    /** FORALL */
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION81() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		forall ( ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START32() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		forall ( " +
-        	"           Class ( pr";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("pr", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR32() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		forall ( " +
-        	"           Class ( property ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT22() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		forall ( " +
-        	"           Class ( property == ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
-        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
-        }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION76() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		forall ( " +
-        	"           Class ( property == \"test\")" +
-        	"           C";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION77a() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() ) ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION77b() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() )";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START45a() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       Class ( name :";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START45b() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       Class ( name : ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-
-    public void testCheckRHSLocationDetermination_firstLineOfLHS() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when\n" +
-        	"		Class ( )\n" +
-        	"   then\n" +
-        	"       ";
-
-        Location location = new CompletionContext(input).getLocation();
-
-        assertEquals(Location.LOCATION_RHS, location.getType());
-        assertEquals("", location.getProperty(Location.LOCATION_RHS_CONTENT));
-    }
-
-    public void testCheckRHSLocationDetermination_startOfNewlINE() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when\n" +
-        	"		Class ( )\n" +
-        	"   then\n" +
-        	"       assert(null);\n" +
-        	"       ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RHS, location.getType());
-        assertEquals("assert(null);\n       ", location.getProperty(Location.LOCATION_RHS_CONTENT));
-    }
-
-    public void testCheckRHSLocationDetermination3() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when\n" +
-        	"		Class ( )\n" +
-        	"   then\n" +
-        	"       meth";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RHS, location.getType());
-        assertEquals("meth", location.getProperty(Location.LOCATION_RHS_CONTENT));
-    }
-
-    public void testCheckRuleHeaderLocationDetermination() {
-        String input =
-        	"rule MyRule ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void testCheckRuleHeaderLocationDetermination2() {
-        String input =
-        	"rule MyRule \n" +
-        	"	salience 12 activation-group \"my";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void FAILINGtestCheckRuleHeaderLocationDetermination3() {
-        // KRISV: still can't make this work... apparently, ANTLR is trying to recover from
-        // the error (unkown token) by deleting the token. I don't know why it continues to
-        // execute actions though, if the EOF is found.
-        String input =
-          "rule \"Hello World\" ruleflow-group \"hello\" s";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void testCheckRuleHeaderLocationDetermination_dialect1() {
-        String input  =
-        	"rule MyRule \n" +
-        	"	dialect \"java\"";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void testCheckRuleHeaderLocationDetermination_dialect2() {
-        String input  =
-        	"rule MyRule \n" +
-        	"	dialect \"mvel\"";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void testCheckRuleHeaderLocationDetermination_dialect3() {
-        String input  =
-        	"rule MyRule \n" +
-        	"	dialect ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    public void testCheckRuleHeaderLocationDetermination_dialect4() {
-        String input  =
-        	"rule MyRule \n" +
-        	"	dialect \"";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-    }
-
-    //TODO: add tests for dialect defined at package header level
-
-    public void testCheckQueryLocationDetermination_RULE_HEADER1() {
-        String input =
-        	"query MyQuery ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-        }
-
-    public void testCheckQueryLocationDetermination_RULE_HEADER2() {
-        String input =
-        	"query \"MyQuery\" ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
-        }
-
-    public void testCheckQueryLocationDetermination_LHS_BEGIN_OF_CONDITION() {
-        String input =
-            "query MyQuery() ";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
-        }
-
-    public void testCheckQueryLocationDetermination_LHS_INSIDE_CONDITION_START() {
-        String input =
-        	"query MyQuery \n" +
-        	"	Class (";
-        Location location = new CompletionContext(input).getLocation();
-        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
-        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
-    }
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionContextTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,1899 @@
+package org.drools.eclipse.editors.completion;
+
+import org.drools.lang.Location;
+
+import junit.framework.TestCase;
+
+/**
+ * Test to check the location determination when doing code completion inside
+ * rule condtions.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ *
+ */
+public class CompletionContextTest extends TestCase {
+
+    public void testColumnOperatorPattern() {
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    property ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property   ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : property ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(name:property ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    name:property ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name:property   ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(   name  :  property  ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", property2 ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", name : property2 ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", name:property2 ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\",   name  :  property2  ").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(    prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name:prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(name:prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(   name  :  prop").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property <= ").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( name : property == ").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("(property==").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property contains ").matches());
+    	assertFalse(CompletionContext.PATTERN_PATTERN_OPERATOR.matcher("( property1 == \"value\", property2 >= ").matches());
+    }
+
+    public void testColumnArgumentPattern() {
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property == ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property >= ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(property== ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(   property   ==   ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( name : property == ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(name:property== ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(  name  :  property  ==  ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\", property2 == ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\",property2== ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property1 == \"value\",  property2  ==  ").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("( property == otherProp").matches());
+    	assertTrue(CompletionContext.PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher("(property==otherProp").matches());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( condition == true ) \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		class: Class( condition == true, condition2 == null ) \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION5() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( condition == true ) \n" +
+        	"		Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION6() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		class: Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION7() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		class:Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    /** Inside of condition: start */
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START2() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( na";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("na", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START3() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name.subProperty['test'].subsu";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("name.subProperty['test'].subsu", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START4() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( condition == true, ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START5() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( condition == true, na";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START6() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( \n" +
+        	"			";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START7() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( condition == true, \n" +
+        	"			";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START8() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( c: condition, \n" +
+        	"			";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START9a() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       Class ( name:";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START9b() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name: ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START10() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name:";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+
+    }
+
+    /** Inside of  condition: Operator */
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR1() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR2() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class(property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR3() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name : property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR4() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class (name:property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR5() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class (name:property   ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR6() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1 : property1, name : property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR7() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1 : property1 == \"value\", name : property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR8() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1 : property1 == \"value\",property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR9() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1 : property1, \n" +
+        	"			name : property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+    }
+
+    /** Inside of condition: argument */
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT1() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property== ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT3() {
+        String input =
+            "rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name : property <= ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("<=", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name:property != ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("!=", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT5() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1 : property1, property2 == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class (name:property== ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT7() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property == otherPropertyN";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT8() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property == \"someth";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT9() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property contains ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("contains", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT10() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property excludes ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("excludes", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT11() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property matches \"prop";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("matches", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT12() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property in ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("in", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property in ('1', '2') ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START11() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property in ('1', '2'), ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT13() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not in ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("in", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not in ('1', '2') ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START12() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not in ('1', '2'), ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT14() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property memberOf ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("memberOf", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property memberOf collection ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START13() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property memberOf collection, ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT15() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not memberOf ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("memberOf", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not memberOf collection ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START14() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property not memberOf collection, ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    /** EXISTS */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists(";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS5() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists ( Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists ( name : Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDeterminationINSIDE_CONDITION_START16() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    /** NOT */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS7() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not exists ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS8() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not exists Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START21() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START22() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not exists Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START23() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not exists name : Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION9() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		not Class () \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    /** AND */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) &&  ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class () and   ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		name : Class ( name: property ) and ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR5() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name: property ) \n" +
+        	"       and ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR7() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and name : Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR8() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) && name : Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION31() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION32() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and not Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION33() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and exists Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START20() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and Class ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR21() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and Class ( name ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("name", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR22() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and Class ( name == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_NOT() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class ( ) and not ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class ( ) and exists ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION30() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) and not Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+
+        /** OR */
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR21() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR22() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) || ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR23() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class () or   ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR24() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		name : Class ( name: property ) or ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR25() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name: property ) \n" +
+        	"       or ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR26() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR27() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or name : Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_AND_OR28() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) || name : Cl";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION40() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or Class ( ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START40() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or Class ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or Class ( name ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("name", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT30() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( ) or Class ( name == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_EGIN_OF_CONDITION_NOT() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class ( ) or not ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION_EXISTS40() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		exists Class ( ) or exists ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS, location.getType());
+        }
+
+    /** EVAL */
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval(";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( myCla";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("myCla", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL4() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getMetho";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getMetho", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL5() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getMethod(";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getMethod(", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getMethod().get";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getMethod().get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL7() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getMethod(\"someStringWith)))\").get";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getMethod(\"someStringWith)))\").get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL8() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getMethod(\"someStringWith(((\").get";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getMethod(\"someStringWith(((\").get", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL9() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( true )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION50() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getProperty(name).isTrue() )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION51() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getProperty(\"someStringWith(((\").isTrue() )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_EVAL10() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getProperty((((String) s) )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_EVAL, location.getType());
+        assertEquals("param.getProperty((((String) s) )", location.getProperty(Location.LOCATION_EVAL_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION52() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( param.getProperty((((String) s))))";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION53() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		eval( true ) \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    /** MULTIPLE RESTRICTIONS */
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR12() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 && ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR13() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name : property1, property2 > 0 && ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR14() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property1 < 20, property2 > 0 && ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT20() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 && < ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("<", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 && < 10 ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START41() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 && < 10, ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR60() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 || ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR61() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 || \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR62() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name : property1, property2 > 0 || ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR63() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property1 < 20, property2 > 0 || ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property2", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END10() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END11() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END12() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 && < 10 ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END13() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 || < 10 ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_END14() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property == \"test\" || == \"test2\" ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_END, location.getType());
+        }
+
+    /** FROM */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION60() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION61() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) fr";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
+        assertEquals("", location.getProperty(Location.LOCATION_FROM_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from myGlob";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
+        assertEquals("myGlob", location.getProperty(Location.LOCATION_FROM_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from myGlobal.get";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
+        assertEquals("myGlobal.get", location.getProperty(Location.LOCATION_FROM_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION75() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from myGlobal.getList() \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION71() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from getDroolsFunction() \n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    /** FROM ACCUMULATE */
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate(";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION73() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total = 0; ), \n" +
+        	"			action( total += $cheese.getPrice(); ), \n" +
+        	"           result( new Integer( total ) ) \n" +
+        	"		) \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_INIT_INSIDE() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE, location.getType());
+        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_ACTION_INSIDE() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total = 0; ), \n" +
+        	"			action( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE, location.getType());
+        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_RESULT_INSIDE() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total = 0; ), \n" +
+        	"			action( total += $cheese.getPrice(); ), \n" +
+        	"           result( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE, location.getType());
+        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        assertEquals(" total += $cheese.getPrice(); ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
+        assertEquals("", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_INIT_INSIDE2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total =";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_INIT_INSIDE, location.getType());
+        assertEquals("int total =", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_ACTION_INSIDE2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total = 0; ), \n" +
+        	"			action( total += $ch";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION_INSIDE, location.getType());
+        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        assertEquals("total += $ch", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_ACCUMULATE_RESULT_INSIDE2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == $likes ), \n" +
+        	"			init( int total = 0; ), \n" +
+        	"			action( total += $cheese.getPrice(); ), \n" +
+        	"           result( new Integer( tot";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT_INSIDE, location.getType());
+        assertEquals(" int total = 0; ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT));
+        assertEquals(" total += $cheese.getPrice(); ", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT));
+        assertEquals("new Integer( tot", location.getProperty(Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR40() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from accumulate( \n" +
+        	"			$cheese : Cheese( type == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    /** FROM COLLECT */
+    public void testCheckLHSLocationDetermination_FROM_COLLECT1() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_COLLECT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM_COLLECT2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect(";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM_COLLECT, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION67() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect ( \n" +
+        	"			Cheese( type == $likes )" +
+        	"		) \n" +
+        	"		";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START31() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect ( \n" +
+        	"			Cheese( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR31() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect ( \n" +
+        	"			Cheese( type ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT21() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from collect ( \n" +
+        	"			Cheese( type == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Cheese", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("type", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    /** NESTED FROM */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION68() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM5() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) from ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION69() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from collect( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION70() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_FROM6() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_FROM, location.getType());
+        }
+
+    /** FORALL */
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION81() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		forall ( ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START32() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		forall ( " +
+        	"           Class ( pr";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("pr", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_OPERATOR32() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		forall ( " +
+        	"           Class ( property ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_ARGUMENT22() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		forall ( " +
+        	"           Class ( property == ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+        assertEquals("property", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+        assertEquals("==", location.getProperty(Location.LOCATION_PROPERTY_OPERATOR));
+        }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION76() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		forall ( " +
+        	"           Class ( property == \"test\")" +
+        	"           C";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION77a() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() ) ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_BEGIN_OF_CONDITION77b() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       ArrayList(size > 50) from accumulate( Person( disabled == \"yes\", income > 100000 ) from town.getPersons() )";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START45a() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       Class ( name :";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckLHSLocationDetermination_INSIDE_CONDITION_START45b() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       Class ( name : ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+
+    public void testCheckRHSLocationDetermination_firstLineOfLHS() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when\n" +
+        	"		Class ( )\n" +
+        	"   then\n" +
+        	"       ";
+
+        Location location = new CompletionContext(input).getLocation();
+
+        assertEquals(Location.LOCATION_RHS, location.getType());
+        assertEquals("", location.getProperty(Location.LOCATION_RHS_CONTENT));
+    }
+
+    public void testCheckRHSLocationDetermination_startOfNewlINE() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when\n" +
+        	"		Class ( )\n" +
+        	"   then\n" +
+        	"       assert(null);\n" +
+        	"       ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RHS, location.getType());
+        assertEquals("assert(null);\n       ", location.getProperty(Location.LOCATION_RHS_CONTENT));
+    }
+
+    public void testCheckRHSLocationDetermination3() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when\n" +
+        	"		Class ( )\n" +
+        	"   then\n" +
+        	"       meth";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RHS, location.getType());
+        assertEquals("meth", location.getProperty(Location.LOCATION_RHS_CONTENT));
+    }
+
+    public void testCheckRuleHeaderLocationDetermination() {
+        String input =
+        	"rule MyRule ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void testCheckRuleHeaderLocationDetermination2() {
+        String input =
+        	"rule MyRule \n" +
+        	"	salience 12 activation-group \"my";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void FAILINGtestCheckRuleHeaderLocationDetermination3() {
+        // KRISV: still can't make this work... apparently, ANTLR is trying to recover from
+        // the error (unkown token) by deleting the token. I don't know why it continues to
+        // execute actions though, if the EOF is found.
+        String input =
+          "rule \"Hello World\" ruleflow-group \"hello\" s";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void testCheckRuleHeaderLocationDetermination_dialect1() {
+        String input  =
+        	"rule MyRule \n" +
+        	"	dialect \"java\"";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void testCheckRuleHeaderLocationDetermination_dialect2() {
+        String input  =
+        	"rule MyRule \n" +
+        	"	dialect \"mvel\"";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void testCheckRuleHeaderLocationDetermination_dialect3() {
+        String input  =
+        	"rule MyRule \n" +
+        	"	dialect ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    public void testCheckRuleHeaderLocationDetermination_dialect4() {
+        String input  =
+        	"rule MyRule \n" +
+        	"	dialect \"";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+    }
+
+    //TODO: add tests for dialect defined at package header level
+
+    public void testCheckQueryLocationDetermination_RULE_HEADER1() {
+        String input =
+        	"query MyQuery ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+        }
+
+    public void testCheckQueryLocationDetermination_RULE_HEADER2() {
+        String input =
+        	"query \"MyQuery\" ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+        }
+
+    public void testCheckQueryLocationDetermination_LHS_BEGIN_OF_CONDITION() {
+        String input =
+            "query MyQuery() ";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_BEGIN_OF_CONDITION, location.getType());
+        }
+
+    public void testCheckQueryLocationDetermination_LHS_INSIDE_CONDITION_START() {
+        String input =
+        	"query MyQuery \n" +
+        	"	Class (";
+        Location location = new CompletionContext(input).getLocation();
+        assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+        assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,341 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import org.eclipse.jdt.core.Signature;
-
-import junit.framework.TestCase;
-
-public class CompletionUtilTest extends TestCase {
-
-    public void testIsGetter() {
-        assertTrue( CompletionUtil.isGetter( "getThis",
-                                             0,
-                                             "String" ) );
-    }
-
-    public void testIsGetterCannotReturnVoid() {
-        assertFalse( CompletionUtil.isGetter( "getThis",
-                                              0,
-                                              Signature.SIG_VOID ) );
-    }
-
-    public void testIsGetterWrongPrefix() {
-        assertFalse( CompletionUtil.isGetter( "hasThis",
-                                              0,
-                                              Signature.SIG_VOID ) );
-    }
-
-    public void testIsGetterTooManyArgs() {
-        assertFalse( CompletionUtil.isGetter( "getThis",
-                                              2,
-                                              "String" ) );
-    }
-
-    public void testIsGetterMethodNameTooShort() {
-        assertFalse( CompletionUtil.isGetter( "get",
-                                              2,
-                                              "String" ) );
-    }
-
-    public void testIsIsGetter() {
-        assertTrue( CompletionUtil.isIsGetter( "isGood",
-                                               0,
-                                               Signature.SIG_BOOLEAN ) );
-    }
-
-    public void testIsIsGetterWrongPrefix() {
-        assertFalse( CompletionUtil.isIsGetter( "getThis",
-                                                0,
-                                                Signature.SIG_BOOLEAN ) );
-    }
-
-    public void testIsIsGetterAlwaysReturnsBoolean() {
-        assertFalse( CompletionUtil.isIsGetter( "isThis",
-                                                0,
-                                                Signature.SIG_VOID ) );
-    }
-
-    public void testIsIsGetterTooManyArgs() {
-        assertFalse( CompletionUtil.isIsGetter( "isThis",
-                                                2,
-                                                "String" ) );
-    }
-
-    public void testIsIsGetterMethodNameTooShort() {
-        assertFalse( CompletionUtil.isIsGetter( "is",
-                                                2,
-                                                "String" ) );
-    }
-
-    public void testIsSetter() {
-        assertTrue( CompletionUtil.isSetter( "setThat",
-                                             1,
-                                             Signature.SIG_VOID ) );
-    }
-
-    public void testIsSetterWrongPrefix() {
-        assertFalse( CompletionUtil.isSetter( "getThat",
-                                              1,
-                                              Signature.SIG_VOID ) );
-    }
-
-    public void testIsSetterTooShort() {
-        assertFalse( CompletionUtil.isSetter( "se",
-                                              1,
-                                              Signature.SIG_VOID ) );
-    }
-
-    public void testIsSetterNoArgs() {
-        assertFalse( CompletionUtil.isSetter( "setThat",
-                                              0,
-                                              Signature.SIG_VOID ) );
-    }
-
-    public void testIsSetterWrongType() {
-        assertFalse( CompletionUtil.isSetter( "setThat",
-                                              1,
-                                              "String" ) );
-    }
-
-    public void testGetPropertyName() {
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "getMe",
-                                                      0,
-                                                      "String" ) );
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "isMe",
-                                                      0,
-                                                      Signature.SIG_BOOLEAN ) );
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "setMe",
-                                                      1,
-                                                      Signature.SIG_VOID ) );
-
-        assertEquals( "setMe",
-                      CompletionUtil.getPropertyName( "setMe",
-                                                      0,
-                                                      Signature.SIG_VOID ) );
-
-        assertEquals( "MySuperMethod",
-                      CompletionUtil.getPropertyName( "MySuperMethod",
-                                                      1,
-                                                      Signature.SIG_VOID ) );
-    }
-
-    public void testGetPropertyNameStripsParenthesis() {
-
-        assertEquals( "MySuperMethod()",
-                      CompletionUtil.getPropertyName( "MySuperMethod()",
-                                                      1,
-                                                      Signature.SIG_VOID ) );
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "getMe()",
-                                                      0,
-                                                      "String" ) );
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "isMe()",
-                                                      0,
-                                                      Signature.SIG_BOOLEAN ) );
-        assertEquals( "me",
-                      CompletionUtil.getPropertyName( "setMe()",
-                                                      1,
-                                                      Signature.SIG_VOID ) );
-    }
-
-    public void testStripLastWord() {
-        String backtext = "rule \"GoodBye\"\r\n" + "	no-loop true\r\n" + "	when\r\n" + "		m : Message( status == Message.GOODBYE, message : message )\r\n" + "	then\r\n" + "		m.message=message;\r\n" + "		m.last";
-
-        String lastword = "last";
-        assertEquals( lastword,
-                      CompletionUtil.stripLastWord( backtext ) );
-    }
-
-    public void testGetPreviousExpression1() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression2() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message== ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression3() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(sdasdasd, ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression4() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message( ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression5() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   this.asd ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression6() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(){ ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetPreviousExpression7() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
-        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
-        assertEquals( previous,
-                      CompletionUtil.getPreviousExpression( backText ) );
-    }
-
-    public void testGetLastExpression11() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d'";
-        String previous = "\r\n" + "   adasd ='d'";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression1() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
-        String previous = "\r\n   adasd ='d'";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression10() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';\r\n";
-        assertEquals( backText,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression2() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message== ";
-        String previous = "\r\n   message== ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression3() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(sdasdasd, ";
-        String previous = "\r\n   message(sdasdasd, ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression4() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message( ";
-        String previous = "\r\n   message( ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression5() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   this.asd ";
-        String previous = "\r\n   this.asd ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression6() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(){ ";
-        String previous = "\r\n   message(){ ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression7() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
-        String previous = "message== ";
-        assertEquals( previous,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetInnerExpression() {
-        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
-        String previous = "";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetInnerExpression2() {
-        String backText = "System.out.println(m ";
-        String previous = "m";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetInnerExpression3() {
-        String backText = "update(m) {";
-        String previous = "";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetInnerExpression4() {
-        String backText = "update(m) {some=";
-        String previous = "";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetInnerExpression5() {
-        String backText = "update(m) {asdasdas==asdasd, asdasd";
-        String previous = "asdasd";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetInnerExpression6() {
-        String backText = "update(m) {asdasdas==asdasd, asdasd}";
-        String previous = "";
-        assertEquals( previous,
-                      CompletionUtil.getInnerExpression( backText ) );
-    }
-
-    public void testGetLastExpression_withComments() {
-        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n\n";
-        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" + "\n";
-        assertEquals( exp,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetLastExpression_withComments2() {
-        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n";
-        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" ;
-        assertEquals( exp,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-    public void testGetLastExpression_withComments3() {
-        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n";
-        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" ;
-        assertEquals( exp,
-                      CompletionUtil.getLastExpression( backText ) );
-    }
-
-    public void testGetTextWithoutPrefix() {
-        String text = "modify(m) {asdasdas==asdasd, asdasd.asa";
-        String expected = "modify(m) {asdasdas==asdasd, asdasd.";
-        assertEquals( expected,
-                      CompletionUtil.getTextWithoutPrefix( text,
-                                                           "asa" ) );
-    }
-
-    public void testGetTextWithoutPrefix2() {
-        String text = "it";
-        String expected = "";
-        assertEquals( expected,
-                      CompletionUtil.getTextWithoutPrefix( text,
-                                                           text ) );
-    }
-
-}
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/CompletionUtilTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,341 @@
+package org.drools.eclipse.editors.completion;
+
+import org.eclipse.jdt.core.Signature;
+
+import junit.framework.TestCase;
+
+public class CompletionUtilTest extends TestCase {
+
+    public void testIsGetter() {
+        assertTrue( CompletionUtil.isGetter( "getThis",
+                                             0,
+                                             "String" ) );
+    }
+
+    public void testIsGetterCannotReturnVoid() {
+        assertFalse( CompletionUtil.isGetter( "getThis",
+                                              0,
+                                              Signature.SIG_VOID ) );
+    }
+
+    public void testIsGetterWrongPrefix() {
+        assertFalse( CompletionUtil.isGetter( "hasThis",
+                                              0,
+                                              Signature.SIG_VOID ) );
+    }
+
+    public void testIsGetterTooManyArgs() {
+        assertFalse( CompletionUtil.isGetter( "getThis",
+                                              2,
+                                              "String" ) );
+    }
+
+    public void testIsGetterMethodNameTooShort() {
+        assertFalse( CompletionUtil.isGetter( "get",
+                                              2,
+                                              "String" ) );
+    }
+
+    public void testIsIsGetter() {
+        assertTrue( CompletionUtil.isIsGetter( "isGood",
+                                               0,
+                                               Signature.SIG_BOOLEAN ) );
+    }
+
+    public void testIsIsGetterWrongPrefix() {
+        assertFalse( CompletionUtil.isIsGetter( "getThis",
+                                                0,
+                                                Signature.SIG_BOOLEAN ) );
+    }
+
+    public void testIsIsGetterAlwaysReturnsBoolean() {
+        assertFalse( CompletionUtil.isIsGetter( "isThis",
+                                                0,
+                                                Signature.SIG_VOID ) );
+    }
+
+    public void testIsIsGetterTooManyArgs() {
+        assertFalse( CompletionUtil.isIsGetter( "isThis",
+                                                2,
+                                                "String" ) );
+    }
+
+    public void testIsIsGetterMethodNameTooShort() {
+        assertFalse( CompletionUtil.isIsGetter( "is",
+                                                2,
+                                                "String" ) );
+    }
+
+    public void testIsSetter() {
+        assertTrue( CompletionUtil.isSetter( "setThat",
+                                             1,
+                                             Signature.SIG_VOID ) );
+    }
+
+    public void testIsSetterWrongPrefix() {
+        assertFalse( CompletionUtil.isSetter( "getThat",
+                                              1,
+                                              Signature.SIG_VOID ) );
+    }
+
+    public void testIsSetterTooShort() {
+        assertFalse( CompletionUtil.isSetter( "se",
+                                              1,
+                                              Signature.SIG_VOID ) );
+    }
+
+    public void testIsSetterNoArgs() {
+        assertFalse( CompletionUtil.isSetter( "setThat",
+                                              0,
+                                              Signature.SIG_VOID ) );
+    }
+
+    public void testIsSetterWrongType() {
+        assertFalse( CompletionUtil.isSetter( "setThat",
+                                              1,
+                                              "String" ) );
+    }
+
+    public void testGetPropertyName() {
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "getMe",
+                                                      0,
+                                                      "String" ) );
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "isMe",
+                                                      0,
+                                                      Signature.SIG_BOOLEAN ) );
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "setMe",
+                                                      1,
+                                                      Signature.SIG_VOID ) );
+
+        assertEquals( "setMe",
+                      CompletionUtil.getPropertyName( "setMe",
+                                                      0,
+                                                      Signature.SIG_VOID ) );
+
+        assertEquals( "MySuperMethod",
+                      CompletionUtil.getPropertyName( "MySuperMethod",
+                                                      1,
+                                                      Signature.SIG_VOID ) );
+    }
+
+    public void testGetPropertyNameStripsParenthesis() {
+
+        assertEquals( "MySuperMethod()",
+                      CompletionUtil.getPropertyName( "MySuperMethod()",
+                                                      1,
+                                                      Signature.SIG_VOID ) );
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "getMe()",
+                                                      0,
+                                                      "String" ) );
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "isMe()",
+                                                      0,
+                                                      Signature.SIG_BOOLEAN ) );
+        assertEquals( "me",
+                      CompletionUtil.getPropertyName( "setMe()",
+                                                      1,
+                                                      Signature.SIG_VOID ) );
+    }
+
+    public void testStripLastWord() {
+        String backtext = "rule \"GoodBye\"\r\n" + "	no-loop true\r\n" + "	when\r\n" + "		m : Message( status == Message.GOODBYE, message : message )\r\n" + "	then\r\n" + "		m.message=message;\r\n" + "		m.last";
+
+        String lastword = "last";
+        assertEquals( lastword,
+                      CompletionUtil.stripLastWord( backtext ) );
+    }
+
+    public void testGetPreviousExpression1() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression2() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message== ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression3() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(sdasdasd, ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression4() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message( ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression5() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   this.asd ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression6() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(){ ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetPreviousExpression7() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
+        String previous = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
+        assertEquals( previous,
+                      CompletionUtil.getPreviousExpression( backText ) );
+    }
+
+    public void testGetLastExpression11() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d'";
+        String previous = "\r\n" + "   adasd ='d'";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression1() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';";
+        String previous = "\r\n   adasd ='d'";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression10() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';\r\n";
+        assertEquals( backText,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression2() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message== ";
+        String previous = "\r\n   message== ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression3() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(sdasdasd, ";
+        String previous = "\r\n   message(sdasdasd, ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression4() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message( ";
+        String previous = "\r\n   message( ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression5() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   this.asd ";
+        String previous = "\r\n   this.asd ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression6() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   message(){ ";
+        String previous = "\r\n   message(){ ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression7() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
+        String previous = "message== ";
+        assertEquals( previous,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetInnerExpression() {
+        String backText = "  \r\n" + "   System.out.println( message );\r\n" + "   m.message = \"Goodbyte cruel world\";\r\n" + "   m.status = 1;\r\n" + "   adasd ='d';message== ";
+        String previous = "";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetInnerExpression2() {
+        String backText = "System.out.println(m ";
+        String previous = "m";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetInnerExpression3() {
+        String backText = "update(m) {";
+        String previous = "";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetInnerExpression4() {
+        String backText = "update(m) {some=";
+        String previous = "";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetInnerExpression5() {
+        String backText = "update(m) {asdasdas==asdasd, asdasd";
+        String previous = "asdasd";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetInnerExpression6() {
+        String backText = "update(m) {asdasdas==asdasd, asdasd}";
+        String previous = "";
+        assertEquals( previous,
+                      CompletionUtil.getInnerExpression( backText ) );
+    }
+
+    public void testGetLastExpression_withComments() {
+        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n\n";
+        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" + "\n";
+        assertEquals( exp,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetLastExpression_withComments2() {
+        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n";
+        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" ;
+        assertEquals( exp,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+    public void testGetLastExpression_withComments3() {
+        String backText = "dasdasdas\nsasasasa\n //fsdfsdfdsfdsf\n";
+        String exp = "dasdasdas\n" + "sasasasa\n" + " //fsdfsdfdsfdsf\n" ;
+        assertEquals( exp,
+                      CompletionUtil.getLastExpression( backText ) );
+    }
+
+    public void testGetTextWithoutPrefix() {
+        String text = "modify(m) {asdasdas==asdasd, asdasd.asa";
+        String expected = "modify(m) {asdasdas==asdasd, asdasd.";
+        assertEquals( expected,
+                      CompletionUtil.getTextWithoutPrefix( text,
+                                                           "asa" ) );
+    }
+
+    public void testGetTextWithoutPrefix2() {
+        String text = "it";
+        String expected = "";
+        assertEquals( expected,
+                      CompletionUtil.getTextWithoutPrefix( text,
+                                                           text ) );
+    }
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,34 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import junit.framework.TestCase;
-
-public class ContextScanningTest extends TestCase {
-
-    public void testCheckAfterToken() {
-        
-        
-        
-        assertTrue(checkContains("when", "rule something \nwhen \t blah"));
-        assertTrue(checkContains("when", "rule something when nothing"));
-        assertFalse(checkContains("when", "rule something whennothing"));
-        assertTrue(checkContains("when", "rule something \twhen nothing"));
-    }
-
-    private boolean checkContains(String keyword,
-                                 String chunk) {
-        //Pattern p = Pattern.compile(".*(.)" + keyword + "(.).*", Pattern.DOTALL);
-        Pattern p = Pattern.compile(".*rule.*\\W" + keyword + "\\W.*", Pattern.DOTALL);
-        Matcher matcher = p.matcher(chunk);
-       
-        return matcher.matches();
-    }
-    
-    
-
-
-
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/ContextScanningTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,34 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import junit.framework.TestCase;
+
+public class ContextScanningTest extends TestCase {
+
+    public void testCheckAfterToken() {
+        
+        
+        
+        assertTrue(checkContains("when", "rule something \nwhen \t blah"));
+        assertTrue(checkContains("when", "rule something when nothing"));
+        assertFalse(checkContains("when", "rule something whennothing"));
+        assertTrue(checkContains("when", "rule something \twhen nothing"));
+    }
+
+    private boolean checkContains(String keyword,
+                                 String chunk) {
+        //Pattern p = Pattern.compile(".*(.)" + keyword + "(.).*", Pattern.DOTALL);
+        Pattern p = Pattern.compile(".*rule.*\\W" + keyword + "\\W.*", Pattern.DOTALL);
+        Matcher matcher = p.matcher(chunk);
+       
+        return matcher.matches();
+    }
+    
+    
+
+
+
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,60 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-public class DRLCompletionProcessorTest extends TestCase {
-
-    public void testLookBehind() {
-        assertEquals("something", CompletionUtil.stripLastWord(" something"));
-        assertEquals("another", CompletionUtil.stripLastWord("another"));
-
-        String s = "rule something \n\nwhen";
-        assertEquals("when", CompletionUtil.stripLastWord(s));
-    }
-
-    public void testPrefixFiltering_FiltersBasedOnDisplayedStringNotContent() {
-        List list = new ArrayList();
-        list.add(new RuleCompletionProposal(0, 0, "abcd", "zxyz"));
-        list.add(new RuleCompletionProposal(0, 0, "azard","good"));
-        list.add(new RuleCompletionProposal(0, 0, "art","apple"));
-        list.add(new RuleCompletionProposal(0, 0, "spe", "ape"));
-
-        DefaultCompletionProcessor.filterProposalsOnPrefix("a", list);
-        assertEquals(3, list.size());
-        assertEquals("zxyz", list.get(0).toString());
-        assertEquals("good", list.get(1).toString());
-        assertEquals("apple", list.get(2).toString());
-
-    }
-
-    public void testPrefixFiltering_FiltersAllWhenThereisNoMatches() {
-        List list = new ArrayList();
-        list = new ArrayList();
-        list.add(new RuleCompletionProposal(0, 0, "aardvark", "something"));
-        list.add(new RuleCompletionProposal(0, 0, "smeg"));
-        list.add(new RuleCompletionProposal(0, 0, "apple"));
-        list.add(new RuleCompletionProposal(0, 0, "ape", "zzzzz"));
-        DefaultCompletionProcessor.filterProposalsOnPrefix("xzyz", list);
-        assertEquals(0, list.size());
-
-    }
-
-    public void testPrefixFiltering_IgnoreCase() {
-        List list = new ArrayList();
-        list = new ArrayList();
-        list.add(new RuleCompletionProposal(0, 0, "ART"));
-        list.add(new RuleCompletionProposal(0, 0, "art"));
-        list.add(new RuleCompletionProposal(0, 0, "aRT"));
-        list.add(new RuleCompletionProposal(0, 0, "Art", "zzzzz"));
-        DefaultCompletionProcessor.filterProposalsOnPrefix("art", list);
-        assertEquals(4, list.size());
-
-        DefaultCompletionProcessor.filterProposalsOnPrefix("ART", list);
-        assertEquals(4, list.size());
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/DRLCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,60 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+public class DRLCompletionProcessorTest extends TestCase {
+
+    public void testLookBehind() {
+        assertEquals("something", CompletionUtil.stripLastWord(" something"));
+        assertEquals("another", CompletionUtil.stripLastWord("another"));
+
+        String s = "rule something \n\nwhen";
+        assertEquals("when", CompletionUtil.stripLastWord(s));
+    }
+
+    public void testPrefixFiltering_FiltersBasedOnDisplayedStringNotContent() {
+        List list = new ArrayList();
+        list.add(new RuleCompletionProposal(0, 0, "abcd", "zxyz"));
+        list.add(new RuleCompletionProposal(0, 0, "azard","good"));
+        list.add(new RuleCompletionProposal(0, 0, "art","apple"));
+        list.add(new RuleCompletionProposal(0, 0, "spe", "ape"));
+
+        DefaultCompletionProcessor.filterProposalsOnPrefix("a", list);
+        assertEquals(3, list.size());
+        assertEquals("zxyz", list.get(0).toString());
+        assertEquals("good", list.get(1).toString());
+        assertEquals("apple", list.get(2).toString());
+
+    }
+
+    public void testPrefixFiltering_FiltersAllWhenThereisNoMatches() {
+        List list = new ArrayList();
+        list = new ArrayList();
+        list.add(new RuleCompletionProposal(0, 0, "aardvark", "something"));
+        list.add(new RuleCompletionProposal(0, 0, "smeg"));
+        list.add(new RuleCompletionProposal(0, 0, "apple"));
+        list.add(new RuleCompletionProposal(0, 0, "ape", "zzzzz"));
+        DefaultCompletionProcessor.filterProposalsOnPrefix("xzyz", list);
+        assertEquals(0, list.size());
+
+    }
+
+    public void testPrefixFiltering_IgnoreCase() {
+        List list = new ArrayList();
+        list = new ArrayList();
+        list.add(new RuleCompletionProposal(0, 0, "ART"));
+        list.add(new RuleCompletionProposal(0, 0, "art"));
+        list.add(new RuleCompletionProposal(0, 0, "aRT"));
+        list.add(new RuleCompletionProposal(0, 0, "Art", "zzzzz"));
+        DefaultCompletionProcessor.filterProposalsOnPrefix("art", list);
+        assertEquals(4, list.size());
+
+        DefaultCompletionProcessor.filterProposalsOnPrefix("ART", list);
+        assertEquals(4, list.size());
+
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,589 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
-import org.drools.lang.descr.EvalDescr;
-import org.drools.lang.descr.FieldBindingDescr;
-import org.drools.lang.descr.FieldConstraintDescr;
-import org.drools.lang.descr.FromDescr;
-import org.drools.lang.descr.LiteralRestrictionDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.PatternDescr;
-import org.drools.lang.descr.RestrictionConnectiveDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.drools.lang.descr.VariableRestrictionDescr;
-
-/**
- * Test to check the results from parsing incomplete rule fragments.
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
- */
-public class IncompleteParsingTest extends TestCase {
-
-	private RuleDescr parseRuleString(String s) {
-		PackageDescr packageDescr = parseString(s);
-		if (packageDescr != null) {
-			List rules = packageDescr.getRules();
-			if (rules != null && rules.size() == 1) {
-				return (RuleDescr) rules.get(0);
-			}
-		}
-		return null;
-	}
-
-	private PackageDescr parseString(String s) {
-		DrlParser parser = new DrlParser();
-		try {
-			return parser.parse(s);
-		} catch (DroolsParserException exc) {
-			exc.printStackTrace();
-		}
-		return null;
-	}
-
-
-    public void testParsingColumn() {
-        String input =
-        	"rule MyRule \n" +
-        	"  when \n" +
-        	"    ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(0, rule.getLhs().getDescrs().size());
-
-
-        /**
-         * This is how the parsed tree should look like:
-         *
-         * RuleDescr
-         *   PatternDescr [objectType = "Class"]
-         *     FieldConstraintDescr [fieldName = "condition"]
-         *       LiteralRestrictionDescr [evaluator = "==", text = "true"]
-         */
-    }
-
-
-    public void testParsingColumn1() {
-        String input =
-        	"rule MyRule \n" +
-        	"  when \n" +
-        	"    Class( condition == true ) \n" +
-        	"    ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertTrue(pattern.getEndLine() != -1 || pattern.getEndColumn() != -1);
-        assertEquals(1, pattern.getDescrs().size());
-        assertEquals(input.indexOf( "Class" ), pattern.getStartCharacter());
-        assertEquals(input.indexOf( "(" ), pattern.getLeftParentCharacter());
-        assertEquals(input.indexOf( ")" ), pattern.getRightParentCharacter());
-        assertEquals(input.indexOf( ")" ), pattern.getEndCharacter());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("condition", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        LiteralRestrictionDescr restriction = (LiteralRestrictionDescr) field.getRestrictions().get(0);
-        assertEquals("==", restriction.getEvaluator());
-        assertEquals("true", restriction.getText());
-    }
-
-
-    public void testParsingColumn2() {
-        String input =
-
-        	"rule MyRule \n" +
-	    	"  when \n" +
-	    	"    class: Class( condition == true, condition2 == null ) \n" +
-	    	"    ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertTrue(pattern.getEndCharacter() != -1);
-    }
-
-
-    public void testParsingColumn3() {
-        String input =
-	    	"rule MyRule \n" +
-	    	"  when \n" +
-	    	"    Cl";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(0, rule.getLhs().getDescrs().size());
-
-    }
-
-
-    public void testParsingColumn4() {
-        String input =
-	    	"rule MyRule \n" +
-	    	"  when \n" +
-	    	"    Class( condition == true ) \n" +
-	    	"    Cl";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertTrue(pattern.getEndCharacter() != -1);
-
-    }
-
-
-    public void testParsingColumn5() {
-        String input =
-			"rule MyRule \n" +
-			"  when \n" +
-			"    class:";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("class", pattern.getIdentifier());
-        assertNull(pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn6() {
-        String input =
-			"rule MyRule \n" +
-			"  when \n" +
-			"    class: Cl";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("class", pattern.getIdentifier());
-        assertEquals("Cl", pattern.getObjectType());
-        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
-        assertEquals(0, pattern.getDescrs().size());
-        assertEquals(-1, pattern.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn7() {
-        String input =
-			"rule MyRule \n" +
-			"  when \n" +
-			"    class:Cl";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("class", pattern.getIdentifier());
-        assertEquals("Cl", pattern.getObjectType());
-        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
-        assertEquals(0, pattern.getDescrs().size());
-        assertEquals(-1, pattern.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn8() {
-        /** Inside of condition: start */
-        String input =
-			"rule MyRule \n" +
-			"  when \n" +
-			"    Class (";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
-        assertEquals(0, pattern.getDescrs().size());
-        assertEquals(-1, pattern.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn9() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( na";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals( "na", field.getFieldName() );
-        assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn10() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name['xyz'].subname.subsubn";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals( "name['xyz'].subname.subsubn", field.getFieldName() );
-        assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn11() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( condition == true, ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn12() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( c : condition, ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldBindingDescr fieldBinding = (FieldBindingDescr) pattern.getDescrs().get(0);
-        assertEquals(-1, fieldBinding.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn13() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( condition == true, na";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(2, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals(-1, field.getEndCharacter());
-        assertEquals( "condition", field.getFieldName() );
-         field = (FieldConstraintDescr) pattern.getDescrs().get(1);
-        assertEquals( "na", field.getFieldName() );
-        assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void FAILINGtestParsingColumn14() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name:";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldBindingDescr binding1 = (FieldBindingDescr) pattern.getDescrs().get(0);
-        assertEquals("name", binding1.getIdentifier());
-        assertNull(binding1.getFieldName());
-
-    }
-
-
-    public void testParsingColumn15() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(0, field.getRestrictions().size());
-        assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn16() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name: property ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
-        assertEquals("name", binding.getIdentifier());
-        assertEquals("property", binding.getFieldName());
-
-    }
-
-
-    public void testParsingColumn17() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( name1: property1 == \"value1\", name2: property2 ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(3, pattern.getDescrs().size());
-        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
-        assertEquals("name1", binding.getIdentifier());
-        assertEquals("property1", binding.getFieldName());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(1);
-        assertEquals("property1", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
-        assertEquals("==", literal.getEvaluator());
-        assertEquals("value1", literal.getText());
-        binding = (FieldBindingDescr) pattern.getDescrs().get(2);
-        assertEquals("name2", binding.getIdentifier());
-        assertEquals("property2", binding.getFieldName());
-
-    }
-
-
-    public void testParsingColumn18() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class(name:property==";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(2, pattern.getDescrs().size());
-        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
-        assertEquals("name", binding.getIdentifier());
-        assertEquals("property", binding.getFieldName());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(1);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-
-    }
-
-
-    public void testParsingColumn19() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( property == otherPropertyN";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        VariableRestrictionDescr variable = (VariableRestrictionDescr) field.getRestrictions().get(0);
-        assertEquals("==", variable.getEvaluator());
-        assertEquals("otherPropertyN", variable.getIdentifier());
-        assertEquals(-1, field.getEndCharacter());
-    }
-
-
-    public void testParsingColumn20() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( property == \"someth";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
-        // KRISV: for now, it would be really messy to make this work. String is a
-        // lexer rule (not parser), and changing that or controling the behavior of it
-        // is not simple. Can we leave the way it is for now?
-        //
-        // TODO literal should be a LiteralRestrictionDescr with filled in evaluator and text, not null
-        // assertEquals("==", literal.getEvaluator());
-        // assertEquals("someth", literal.getText());
-        // TODO this method does not yet exist
-        // assertEquals(-1, field.getEndCharacter());
-
-    }
-
-
-    public void testParsingColumn21() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( property contains ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        // KRISV: you are right
-        //
-        // now I would like to access the evaluator 'contains', but this seems
-        // not possible because the parser cannot create this descr yet
-        // since it does not know what class to create (VariableRestrictionDescr
-        // or LiteralRestrictionDescr or ?)
-        // so maybe I should just extract this info myself, based on the
-        // starting character of this FieldConstraintDescr?
-        // TODO this method does not yet exist
-        assertEquals(-1, field.getEndCharacter());
-    }
-
-
-    public void testParsingColumn22() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class( property matches \"someth";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
-        // KRISV: see comments above
-        //
-        // TODO literal should be a LiteralRestrictionDescr with filled in evaluator and text, not null
-        // assertEquals("matches", literal.getEvaluator());
-        // assertEquals("someth", literal.getText());
-        // TODO this method does not yet exist
-        // assertEquals(-1, field.getEndCharacter());
-    }
-
-
-    public void testParsingColumn23() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       eval ( ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        EvalDescr eval = (EvalDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals(input.indexOf( "eval" ), eval.getStartCharacter());
-        assertEquals(-1, eval.getEndCharacter());
-    }
-
-
-    public void testParsingColumn24() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       Class ( property > 0 & ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        assertEquals(-1, pattern.getEndCharacter());
-        assertEquals(1, pattern.getDescrs().size());
-        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
-        assertEquals("property", field.getFieldName());
-        assertEquals(1, field.getRestrictions().size());
-        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
-        assertEquals(">", literal.getEvaluator());
-        assertEquals("0", literal.getText());
-        RestrictionConnectiveDescr connective = (RestrictionConnectiveDescr) field.getRestriction();
-        assertEquals(RestrictionConnectiveDescr.AND, connective.getConnective());
-    }
-
-
-    public void testParsingColumn25() {
-        String input =
-            "rule MyRule \n" +
-            "   when \n" +
-            "       Class ( ) from a";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals("Class", pattern.getObjectType());
-        FromDescr from = (FromDescr) pattern.getSource();
-        assertEquals(-1, from.getEndCharacter());
-        assertTrue(pattern.getEndCharacter() != -1);
-    }
-
-
-    public void testParsingColumn26() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from myGlobal.getList() \n" +
-        	"       ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        FromDescr from = (FromDescr) pattern.getSource();
-        assertTrue(from.getEndCharacter() != -1);
-    }
-
-
-    public void testParsingColumn27() {
-        String input =
-        	"rule MyRule \n" +
-        	"	when \n" +
-        	"		Class ( property > 0 ) from getDroolsFunction() \n" +
-        	"       ";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(1, rule.getLhs().getDescrs().size());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        FromDescr from = (FromDescr) pattern.getSource();
-        assertTrue(from.getEndCharacter() != -1);
-    }
-
-    public void testParsingCharactersStartEnd() {
-        String input =
-        	"package test; \n" +
-        	"rule MyRule \n" +
-        	"  when \n" +
-        	"    Class( condition == true ) \n" +
-        	"  then \n" +
-        	"    System.out.println(\"Done\") \n" +
-        	"end \n";
-        RuleDescr rule = parseRuleString(input);
-        assertEquals(input.indexOf( "rule" ), rule.getStartCharacter());
-        assertEquals(input.indexOf( "end" )+2, rule.getEndCharacter());
-        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
-        assertEquals(input.indexOf( "Class" ), pattern.getStartCharacter());
-        assertEquals(input.indexOf( "(" ), pattern.getLeftParentCharacter());
-        assertEquals(input.indexOf( ")" ), pattern.getRightParentCharacter());
-        assertEquals(input.indexOf( ")" ), pattern.getEndCharacter());
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,589 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.DroolsParserException;
+import org.drools.lang.descr.EvalDescr;
+import org.drools.lang.descr.FieldBindingDescr;
+import org.drools.lang.descr.FieldConstraintDescr;
+import org.drools.lang.descr.FromDescr;
+import org.drools.lang.descr.LiteralRestrictionDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.PatternDescr;
+import org.drools.lang.descr.RestrictionConnectiveDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.drools.lang.descr.VariableRestrictionDescr;
+
+/**
+ * Test to check the results from parsing incomplete rule fragments.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">kris verlaenen </a>
+ */
+public class IncompleteParsingTest extends TestCase {
+
+	private RuleDescr parseRuleString(String s) {
+		PackageDescr packageDescr = parseString(s);
+		if (packageDescr != null) {
+			List rules = packageDescr.getRules();
+			if (rules != null && rules.size() == 1) {
+				return (RuleDescr) rules.get(0);
+			}
+		}
+		return null;
+	}
+
+	private PackageDescr parseString(String s) {
+		DrlParser parser = new DrlParser();
+		try {
+			return parser.parse(s);
+		} catch (DroolsParserException exc) {
+			exc.printStackTrace();
+		}
+		return null;
+	}
+
+
+    public void testParsingColumn() {
+        String input =
+        	"rule MyRule \n" +
+        	"  when \n" +
+        	"    ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(0, rule.getLhs().getDescrs().size());
+
+
+        /**
+         * This is how the parsed tree should look like:
+         *
+         * RuleDescr
+         *   PatternDescr [objectType = "Class"]
+         *     FieldConstraintDescr [fieldName = "condition"]
+         *       LiteralRestrictionDescr [evaluator = "==", text = "true"]
+         */
+    }
+
+
+    public void testParsingColumn1() {
+        String input =
+        	"rule MyRule \n" +
+        	"  when \n" +
+        	"    Class( condition == true ) \n" +
+        	"    ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertTrue(pattern.getEndLine() != -1 || pattern.getEndColumn() != -1);
+        assertEquals(1, pattern.getDescrs().size());
+        assertEquals(input.indexOf( "Class" ), pattern.getStartCharacter());
+        assertEquals(input.indexOf( "(" ), pattern.getLeftParentCharacter());
+        assertEquals(input.indexOf( ")" ), pattern.getRightParentCharacter());
+        assertEquals(input.indexOf( ")" ), pattern.getEndCharacter());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("condition", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        LiteralRestrictionDescr restriction = (LiteralRestrictionDescr) field.getRestrictions().get(0);
+        assertEquals("==", restriction.getEvaluator());
+        assertEquals("true", restriction.getText());
+    }
+
+
+    public void testParsingColumn2() {
+        String input =
+
+        	"rule MyRule \n" +
+	    	"  when \n" +
+	    	"    class: Class( condition == true, condition2 == null ) \n" +
+	    	"    ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertTrue(pattern.getEndCharacter() != -1);
+    }
+
+
+    public void testParsingColumn3() {
+        String input =
+	    	"rule MyRule \n" +
+	    	"  when \n" +
+	    	"    Cl";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(0, rule.getLhs().getDescrs().size());
+
+    }
+
+
+    public void testParsingColumn4() {
+        String input =
+	    	"rule MyRule \n" +
+	    	"  when \n" +
+	    	"    Class( condition == true ) \n" +
+	    	"    Cl";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertTrue(pattern.getEndCharacter() != -1);
+
+    }
+
+
+    public void testParsingColumn5() {
+        String input =
+			"rule MyRule \n" +
+			"  when \n" +
+			"    class:";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("class", pattern.getIdentifier());
+        assertNull(pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn6() {
+        String input =
+			"rule MyRule \n" +
+			"  when \n" +
+			"    class: Cl";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("class", pattern.getIdentifier());
+        assertEquals("Cl", pattern.getObjectType());
+        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
+        assertEquals(0, pattern.getDescrs().size());
+        assertEquals(-1, pattern.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn7() {
+        String input =
+			"rule MyRule \n" +
+			"  when \n" +
+			"    class:Cl";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("class", pattern.getIdentifier());
+        assertEquals("Cl", pattern.getObjectType());
+        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
+        assertEquals(0, pattern.getDescrs().size());
+        assertEquals(-1, pattern.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn8() {
+        /** Inside of condition: start */
+        String input =
+			"rule MyRule \n" +
+			"  when \n" +
+			"    Class (";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertTrue(pattern.getEndLine() == -1 && pattern.getEndColumn() == -1);
+        assertEquals(0, pattern.getDescrs().size());
+        assertEquals(-1, pattern.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn9() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( na";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals( "na", field.getFieldName() );
+        assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn10() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name['xyz'].subname.subsubn";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals( "name['xyz'].subname.subsubn", field.getFieldName() );
+        assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn11() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( condition == true, ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn12() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( c : condition, ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldBindingDescr fieldBinding = (FieldBindingDescr) pattern.getDescrs().get(0);
+        assertEquals(-1, fieldBinding.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn13() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( condition == true, na";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(2, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals(-1, field.getEndCharacter());
+        assertEquals( "condition", field.getFieldName() );
+         field = (FieldConstraintDescr) pattern.getDescrs().get(1);
+        assertEquals( "na", field.getFieldName() );
+        assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void FAILINGtestParsingColumn14() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name:";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldBindingDescr binding1 = (FieldBindingDescr) pattern.getDescrs().get(0);
+        assertEquals("name", binding1.getIdentifier());
+        assertNull(binding1.getFieldName());
+
+    }
+
+
+    public void testParsingColumn15() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(0, field.getRestrictions().size());
+        assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn16() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name: property ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
+        assertEquals("name", binding.getIdentifier());
+        assertEquals("property", binding.getFieldName());
+
+    }
+
+
+    public void testParsingColumn17() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( name1: property1 == \"value1\", name2: property2 ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(3, pattern.getDescrs().size());
+        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
+        assertEquals("name1", binding.getIdentifier());
+        assertEquals("property1", binding.getFieldName());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(1);
+        assertEquals("property1", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
+        assertEquals("==", literal.getEvaluator());
+        assertEquals("value1", literal.getText());
+        binding = (FieldBindingDescr) pattern.getDescrs().get(2);
+        assertEquals("name2", binding.getIdentifier());
+        assertEquals("property2", binding.getFieldName());
+
+    }
+
+
+    public void testParsingColumn18() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class(name:property==";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(2, pattern.getDescrs().size());
+        FieldBindingDescr binding = (FieldBindingDescr) pattern.getDescrs().get(0);
+        assertEquals("name", binding.getIdentifier());
+        assertEquals("property", binding.getFieldName());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(1);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+
+    }
+
+
+    public void testParsingColumn19() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( property == otherPropertyN";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        VariableRestrictionDescr variable = (VariableRestrictionDescr) field.getRestrictions().get(0);
+        assertEquals("==", variable.getEvaluator());
+        assertEquals("otherPropertyN", variable.getIdentifier());
+        assertEquals(-1, field.getEndCharacter());
+    }
+
+
+    public void testParsingColumn20() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( property == \"someth";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
+        // KRISV: for now, it would be really messy to make this work. String is a
+        // lexer rule (not parser), and changing that or controling the behavior of it
+        // is not simple. Can we leave the way it is for now?
+        //
+        // TODO literal should be a LiteralRestrictionDescr with filled in evaluator and text, not null
+        // assertEquals("==", literal.getEvaluator());
+        // assertEquals("someth", literal.getText());
+        // TODO this method does not yet exist
+        // assertEquals(-1, field.getEndCharacter());
+
+    }
+
+
+    public void testParsingColumn21() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( property contains ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        // KRISV: you are right
+        //
+        // now I would like to access the evaluator 'contains', but this seems
+        // not possible because the parser cannot create this descr yet
+        // since it does not know what class to create (VariableRestrictionDescr
+        // or LiteralRestrictionDescr or ?)
+        // so maybe I should just extract this info myself, based on the
+        // starting character of this FieldConstraintDescr?
+        // TODO this method does not yet exist
+        assertEquals(-1, field.getEndCharacter());
+    }
+
+
+    public void testParsingColumn22() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class( property matches \"someth";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
+        // KRISV: see comments above
+        //
+        // TODO literal should be a LiteralRestrictionDescr with filled in evaluator and text, not null
+        // assertEquals("matches", literal.getEvaluator());
+        // assertEquals("someth", literal.getText());
+        // TODO this method does not yet exist
+        // assertEquals(-1, field.getEndCharacter());
+    }
+
+
+    public void testParsingColumn23() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       eval ( ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        EvalDescr eval = (EvalDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals(input.indexOf( "eval" ), eval.getStartCharacter());
+        assertEquals(-1, eval.getEndCharacter());
+    }
+
+
+    public void testParsingColumn24() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       Class ( property > 0 & ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        assertEquals(-1, pattern.getEndCharacter());
+        assertEquals(1, pattern.getDescrs().size());
+        FieldConstraintDescr field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+        assertEquals("property", field.getFieldName());
+        assertEquals(1, field.getRestrictions().size());
+        LiteralRestrictionDescr literal = (LiteralRestrictionDescr) field.getRestrictions().get(0);
+        assertEquals(">", literal.getEvaluator());
+        assertEquals("0", literal.getText());
+        RestrictionConnectiveDescr connective = (RestrictionConnectiveDescr) field.getRestriction();
+        assertEquals(RestrictionConnectiveDescr.AND, connective.getConnective());
+    }
+
+
+    public void testParsingColumn25() {
+        String input =
+            "rule MyRule \n" +
+            "   when \n" +
+            "       Class ( ) from a";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals("Class", pattern.getObjectType());
+        FromDescr from = (FromDescr) pattern.getSource();
+        assertEquals(-1, from.getEndCharacter());
+        assertTrue(pattern.getEndCharacter() != -1);
+    }
+
+
+    public void testParsingColumn26() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from myGlobal.getList() \n" +
+        	"       ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        FromDescr from = (FromDescr) pattern.getSource();
+        assertTrue(from.getEndCharacter() != -1);
+    }
+
+
+    public void testParsingColumn27() {
+        String input =
+        	"rule MyRule \n" +
+        	"	when \n" +
+        	"		Class ( property > 0 ) from getDroolsFunction() \n" +
+        	"       ";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(1, rule.getLhs().getDescrs().size());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        FromDescr from = (FromDescr) pattern.getSource();
+        assertTrue(from.getEndCharacter() != -1);
+    }
+
+    public void testParsingCharactersStartEnd() {
+        String input =
+        	"package test; \n" +
+        	"rule MyRule \n" +
+        	"  when \n" +
+        	"    Class( condition == true ) \n" +
+        	"  then \n" +
+        	"    System.out.println(\"Done\") \n" +
+        	"end \n";
+        RuleDescr rule = parseRuleString(input);
+        assertEquals(input.indexOf( "rule" ), rule.getStartCharacter());
+        assertEquals(input.indexOf( "end" )+2, rule.getEndCharacter());
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+        assertEquals(input.indexOf( "Class" ), pattern.getStartCharacter());
+        assertEquals(input.indexOf( "(" ), pattern.getLeftParentCharacter());
+        assertEquals(input.indexOf( ")" ), pattern.getRightParentCharacter());
+        assertEquals(input.indexOf( ")" ), pattern.getEndCharacter());
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,17 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import org.drools.eclipse.editors.Keywords;
-
-import junit.framework.TestCase;
-
-public class KeywordsTest extends TestCase {
-
-    public void testAll() {
-        Keywords keys = Keywords.getInstance();
-        String[] all = keys.getAllDroolsKeywords();
-        assertTrue(all.length > 0);
-        assertEquals("when", all[0]);
-
-    }
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/KeywordsTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,17 @@
+package org.drools.eclipse.editors.completion;
+
+import org.drools.eclipse.editors.Keywords;
+
+import junit.framework.TestCase;
+
+public class KeywordsTest extends TestCase {
+
+    public void testAll() {
+        Keywords keys = Keywords.getInstance();
+        String[] all = keys.getAllDroolsKeywords();
+        assertTrue(all.length > 0);
+        assertEquals("when", all[0]);
+
+    }
+    
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,17 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.List;
-
-import org.eclipse.jface.text.ITextViewer;
-
-public class MockCompletionProcessor extends AbstractCompletionProcessor {
-
-    public MockCompletionProcessor() {
-        super( null );
-    }
-
-    protected List getCompletionProposals(ITextViewer viewer,
-                                          int documentOffset) {
-        return null;
-    }
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MockCompletionProcessor.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,17 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.List;
+
+import org.eclipse.jface.text.ITextViewer;
+
+public class MockCompletionProcessor extends AbstractCompletionProcessor {
+
+    public MockCompletionProcessor() {
+        super( null );
+    }
+
+    protected List getCompletionProposals(ITextViewer viewer,
+                                          int documentOffset) {
+        return null;
+    }
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,25 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import junit.framework.TestCase;
-
-public class MvelParsingTest extends TestCase {
-    public void testGetInnerExpression4() {
-        String backText =
-            "modify(m) {some=";
-        String previous ="";
-        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
-    }
-    public void testGetInnerExpression5() {
-        String backText =
-            "modify(m) {asdasdas==asdasd, asdasd";
-        String previous ="asdasd";
-        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
-    }
-    public void testGetInnerExpression6() {
-        String backText =
-            "modify(m) {asdasdas==asdasd, asdasd}";
-        String previous ="";
-        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/MvelParsingTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,25 @@
+package org.drools.eclipse.editors.completion;
+
+import junit.framework.TestCase;
+
+public class MvelParsingTest extends TestCase {
+    public void testGetInnerExpression4() {
+        String backText =
+            "modify(m) {some=";
+        String previous ="";
+        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
+    }
+    public void testGetInnerExpression5() {
+        String backText =
+            "modify(m) {asdasdas==asdasd, asdasd";
+        String previous ="asdasd";
+        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
+    }
+    public void testGetInnerExpression6() {
+        String backText =
+            "modify(m) {asdasdas==asdasd, asdasd}";
+        String previous ="";
+        assertEquals(previous, CompletionUtil.getInnerExpression( backText ));
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,117 +0,0 @@
-package org.drools.eclipse.editors.completion;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.drools.rule.builder.dialect.java.KnowledgeHelperFixer;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-
-import junit.framework.TestCase;
-
-public class RuleCompletionProcessorTest extends TestCase {
-
-    class MockCompletionProposal
-        implements
-        ICompletionProposal {
-
-        String displayString;
-
-        public MockCompletionProposal(String displayString) {
-            this.displayString = displayString;
-        }
-
-        public void apply(IDocument document) {
-            // TODO Auto-generated method stub
-
-        }
-
-        public String getAdditionalProposalInfo() {
-            // TODO Auto-generated method stub
-            return null;
-        }
-
-        public IContextInformation getContextInformation() {
-            // TODO Auto-generated method stub
-            return null;
-        }
-
-        public String getDisplayString() {
-            return displayString;
-        }
-
-        public Image getImage() {
-            // TODO Auto-generated method stub
-            return null;
-        }
-
-        public Point getSelection(IDocument document) {
-            // TODO Auto-generated method stub
-            return null;
-        }
-
-    }
-
-    public void testContainsProposal() {
-        Collection proposals = new ArrayList();
-
-        MockCompletionProposal c1 = new MockCompletionProposal( "getName() Object - MyObject" );
-        proposals.add( c1 );
-
-        String newProposal = "getName() String - CompletionProposal";
-
-        assertTrue( RuleCompletionProcessor.containsProposal( proposals,
-                                                              newProposal ) );
-
-        MockCompletionProposal c2 = new MockCompletionProposal( "getNoName() Object - MyObject" );
-        proposals.add( c2 );
-        assertFalse( RuleCompletionProcessor.containsProposal( proposals,
-                                                               "getNoName" ) );
-    }
-
-    public void testAddAllNewProposals() {
-        ArrayList proposals = new ArrayList();
-        MockCompletionProposal c = new MockCompletionProposal( "getName() Object - MyObject" );
-        proposals.add( c );
-
-        ArrayList newProposals = new ArrayList();
-        MockCompletionProposal c1 = new MockCompletionProposal( "getName() Objectw - MyObject" );
-        newProposals.add( c1 );
-        MockCompletionProposal c2 = new MockCompletionProposal( "getNoName() Object - MyObject" );
-        newProposals.add( c2 );
-        MockCompletionProposal c3 = new MockCompletionProposal( "getNoName() NoObject - MyObject" );
-        newProposals.add( c3 );
-
-        RuleCompletionProcessor.addAllNewProposals( proposals,
-                                                    newProposals );
-
-        assertTrue( proposals.size() == 2 );
-
-        ICompletionProposal prop = (ICompletionProposal) proposals.get( 1 );
-        assertEquals( "getNoName() Object - MyObject",
-                      prop.getDisplayString() );
-    }
-
-    public void testProcessMacros() {
-        String text = "";
-        final String[] functions = new String[]{"update", "retract", "insert", "insertLogical"};
-        for ( int i = 0; i < functions.length; i++ ) {
-            String string = functions[i];
-            String expected = "drools." + string;
-
-            assertEquals( expected,
-                          new KnowledgeHelperFixer().fix( string ) );
-
-        }
-    }
-
-    public void testIsStartOfDialectExpression() {
-        //for now inside a method start, we are not starting a new expression for completion purpose
-        String s = "System.out.println(\"\");\r\n" + "  update(";
-        assertFalse( CompletionUtil.isStartOfDialectExpression( s ) );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/RuleCompletionProcessorTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,117 @@
+package org.drools.eclipse.editors.completion;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.drools.rule.builder.dialect.java.KnowledgeHelperFixer;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+
+import junit.framework.TestCase;
+
+public class RuleCompletionProcessorTest extends TestCase {
+
+    class MockCompletionProposal
+        implements
+        ICompletionProposal {
+
+        String displayString;
+
+        public MockCompletionProposal(String displayString) {
+            this.displayString = displayString;
+        }
+
+        public void apply(IDocument document) {
+            // TODO Auto-generated method stub
+
+        }
+
+        public String getAdditionalProposalInfo() {
+            // TODO Auto-generated method stub
+            return null;
+        }
+
+        public IContextInformation getContextInformation() {
+            // TODO Auto-generated method stub
+            return null;
+        }
+
+        public String getDisplayString() {
+            return displayString;
+        }
+
+        public Image getImage() {
+            // TODO Auto-generated method stub
+            return null;
+        }
+
+        public Point getSelection(IDocument document) {
+            // TODO Auto-generated method stub
+            return null;
+        }
+
+    }
+
+    public void testContainsProposal() {
+        Collection proposals = new ArrayList();
+
+        MockCompletionProposal c1 = new MockCompletionProposal( "getName() Object - MyObject" );
+        proposals.add( c1 );
+
+        String newProposal = "getName() String - CompletionProposal";
+
+        assertTrue( RuleCompletionProcessor.containsProposal( proposals,
+                                                              newProposal ) );
+
+        MockCompletionProposal c2 = new MockCompletionProposal( "getNoName() Object - MyObject" );
+        proposals.add( c2 );
+        assertFalse( RuleCompletionProcessor.containsProposal( proposals,
+                                                               "getNoName" ) );
+    }
+
+    public void testAddAllNewProposals() {
+        ArrayList proposals = new ArrayList();
+        MockCompletionProposal c = new MockCompletionProposal( "getName() Object - MyObject" );
+        proposals.add( c );
+
+        ArrayList newProposals = new ArrayList();
+        MockCompletionProposal c1 = new MockCompletionProposal( "getName() Objectw - MyObject" );
+        newProposals.add( c1 );
+        MockCompletionProposal c2 = new MockCompletionProposal( "getNoName() Object - MyObject" );
+        newProposals.add( c2 );
+        MockCompletionProposal c3 = new MockCompletionProposal( "getNoName() NoObject - MyObject" );
+        newProposals.add( c3 );
+
+        RuleCompletionProcessor.addAllNewProposals( proposals,
+                                                    newProposals );
+
+        assertTrue( proposals.size() == 2 );
+
+        ICompletionProposal prop = (ICompletionProposal) proposals.get( 1 );
+        assertEquals( "getNoName() Object - MyObject",
+                      prop.getDisplayString() );
+    }
+
+    public void testProcessMacros() {
+        String text = "";
+        final String[] functions = new String[]{"update", "retract", "insert", "insertLogical"};
+        for ( int i = 0; i < functions.length; i++ ) {
+            String string = functions[i];
+            String expected = "drools." + string;
+
+            assertEquals( expected,
+                          new KnowledgeHelperFixer().fix( string ) );
+
+        }
+    }
+
+    public void testIsStartOfDialectExpression() {
+        //for now inside a method start, we are not starting a new expression for completion purpose
+        String s = "System.out.println(\"\");\r\n" + "  update(";
+        assertFalse( CompletionUtil.isStartOfDialectExpression( s ) );
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,42 +0,0 @@
-package org.drools.eclipse.editors.outline;
-
-import junit.framework.TestCase;
-
-import org.drools.eclipse.core.DroolsElement;
-import org.drools.eclipse.core.Function;
-import org.drools.eclipse.core.Package;
-import org.drools.eclipse.core.RuleSet;
-import org.drools.eclipse.editors.AbstractRuleEditor;
-import org.drools.eclipse.editors.outline.RuleContentOutlinePage;
-
-public class RuleContentOutlineTest extends TestCase {
-
-	public void testNodeBuild() {		
-        RuleContentOutlinePage page = new RuleContentOutlinePage( null );
-        String source = "package test;\nexpander foobar.dsl\nimport foo\nfunction void smeg(s) {\n \n}\n";
-        page.populatePackageTreeNode( source );
-        RuleSet ruleSet = page.getRuleSet();
-        Package p = ruleSet.getPackage("test");
-        assertNotNull(p);
-        DroolsElement[] nodes = p.getChildren();
-
-        for ( int i = 0; i < nodes.length; i++ ) {
-            if ( nodes[i] instanceof Function ) {
-                Function func = (Function) nodes[i];
-                assertEquals( "smeg()",
-                              func.getFunctionName() );
-
-            }
-        }
-
-        source = "package test;\n function String foo(String bar) {";
-        page.populatePackageTreeNode( source );
-        p = ruleSet.getPackage("test");
-        assertNotNull(p);
-        Function func = (Function) p.getChildren()[0];
-        assertEquals( "foo()",
-                      func.getFunctionName() );
-
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/outline/RuleContentOutlineTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,42 @@
+package org.drools.eclipse.editors.outline;
+
+import junit.framework.TestCase;
+
+import org.drools.eclipse.core.DroolsElement;
+import org.drools.eclipse.core.Function;
+import org.drools.eclipse.core.Package;
+import org.drools.eclipse.core.RuleSet;
+import org.drools.eclipse.editors.AbstractRuleEditor;
+import org.drools.eclipse.editors.outline.RuleContentOutlinePage;
+
+public class RuleContentOutlineTest extends TestCase {
+
+	public void testNodeBuild() {		
+        RuleContentOutlinePage page = new RuleContentOutlinePage( null );
+        String source = "package test;\nexpander foobar.dsl\nimport foo\nfunction void smeg(s) {\n \n}\n";
+        page.populatePackageTreeNode( source );
+        RuleSet ruleSet = page.getRuleSet();
+        Package p = ruleSet.getPackage("test");
+        assertNotNull(p);
+        DroolsElement[] nodes = p.getChildren();
+
+        for ( int i = 0; i < nodes.length; i++ ) {
+            if ( nodes[i] instanceof Function ) {
+                Function func = (Function) nodes[i];
+                assertEquals( "smeg()",
+                              func.getFunctionName() );
+
+            }
+        }
+
+        source = "package test;\n function String foo(String bar) {";
+        page.populatePackageTreeNode( source );
+        p = ruleSet.getPackage("test");
+        assertNotNull(p);
+        Function func = (Function) p.getChildren()[0];
+        assertEquals( "foo()",
+                      func.getFunctionName() );
+
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,224 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.drools.PackageIntegrationException;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.compiler.DrlParser;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.PackageBuilder;
-import org.drools.eclipse.editors.rete.model.ReteGraph;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.reteoo.AlphaNodeVertex;
-import org.drools.reteoo.BaseVertex;
-import org.drools.reteoo.LeftInputAdapterNodeVertex;
-import org.drools.reteoo.ObjectTypeNodeVertex;
-import org.drools.reteoo.ReteVertex;
-import org.drools.reteoo.ReteooRuleBase;
-import org.drools.reteoo.ReteooVisitor;
-import org.drools.reteoo.RuleTerminalNodeVertex;
-import org.drools.rule.Package;
-
-/**
- * 
- * Integration-like tests
- * 
- * Testing {@link ReteooLayoutFactory}
- * It is using following components:
- * {@link Row},
- * {@link RowList},
- * org.drools.reteoo.*Vertex,
- * org.drools.ide.editors.rete.model.*
- * 
- * @author Ahti Kitsik
- *
- */
-public class ReteooLayoutFactoryTest extends TestCase {
-
-    /**
-     * Constructor.
-     * 
-     * @param name case name
-     */
-    public ReteooLayoutFactoryTest(String name) {
-        super( name );
-    }
-
-    /**
-     * Test method for {@link org.drools.eclipse.editors.rete.ReteooLayoutFactory#calculateReteRows(org.drools.reteoo.BaseVertex)}.
-     * @throws IOException 
-     * @throws DroolsParserException 
-     * @throws PackageIntegrationException 
-     * @throws DroolsParserException 
-     * @throws PackageIntegrationException 
-     */
-    public final void testCalculateReteRows() throws IOException,
-                                             PackageIntegrationException,
-                                             DroolsParserException {
-        ReteGraph graph = new ReteGraph();
-        BaseVertex root = loadRete( graph );
-        final RowList rows = ReteooLayoutFactory.calculateReteRows( root );
-
-        int rownum = rows.getDepth();
-
-        assertEquals( 5,
-                      rownum );
-
-        int[] expectedDepths = new int[]{-1, 0, 1, 2, 3};
-        int[] expectedSizes = new int[]{1, 1, 2, 2, 2};
-
-        for ( int j = 0; j < rownum; j++ ) {
-            final Row row = rows.get( j );
-            final int rowDepth = row.getDepth();
-            assertEquals( expectedDepths[j],
-                          rowDepth );
-            assertEquals( expectedSizes[j],
-                          row.getVertices().size() );
-        }
-
-    }
-
-    /**
-     * Test method for {@link org.drools.eclipse.editors.rete.ReteooLayoutFactory#layoutRowList(org.drools.eclipse.editors.rete.model.ReteGraph, org.drools.eclipse.editors.rete.RowList)}.
-     * 
-     * @throws IOException 
-     * @throws DroolsParserException 
-     * @throws PackageIntegrationException 
-     * @throws DroolsParserException 
-     * @throws PackageIntegrationException 
-     */
-    public final void testLayoutRowList() throws IOException,
-                                         PackageIntegrationException,
-                                         DroolsParserException {
-        ReteGraph graph = new ReteGraph();
-        BaseVertex root = loadRete( graph );
-        final RowList rows = ReteooLayoutFactory.calculateReteRows( root );
-
-        ReteooLayoutFactory.layoutRowList( graph,
-                                           rows );
-
-        final List nodes = graph.getChildren();
-
-        BaseVertex[] yOrder = (BaseVertex[]) nodes.toArray( new BaseVertex[0] );
-        Arrays.sort( yOrder,
-                     new Comparator() {
-                         public int compare(Object o1,
-                                            Object o2) {
-                             BaseVertex v1 = (BaseVertex) o1;
-                             BaseVertex v2 = (BaseVertex) o2;
-                             int y1 = v1.getLocation().y;
-                             int y2 = v2.getLocation().y;
-                             return new Integer( y1 ).compareTo( new Integer( y2 ) );
-                         }
-
-                     } );
-
-        Class[] expectedTypes = new Class[]{ReteVertex.class, ObjectTypeNodeVertex.class, AlphaNodeVertex.class, AlphaNodeVertex.class, LeftInputAdapterNodeVertex.class, LeftInputAdapterNodeVertex.class, RuleTerminalNodeVertex.class,
-                RuleTerminalNodeVertex.class};
-
-        for ( int i = 0; i < yOrder.length; i++ ) {
-            assertEquals( expectedTypes[i],
-                          yOrder[i].getClass() );
-            if ( i > 0 ) {
-                // If current vertex has same type as previous then
-                // y-pos should match and x-pos should not match.                
-                // If type is different then y-pos should *not* match.
-
-                BaseVertex current = yOrder[i];
-                BaseVertex previous = yOrder[i - 1];
-                if ( current.getClass().equals( previous.getClass() ) ) {
-                    assertEquals( current.getLocation().y,
-                                  previous.getLocation().y );
-                    assertNotSame( new Integer( current.getLocation().x ),
-                                   new Integer( previous.getLocation().x ) );
-                } else {
-                    assertNotSame( new Integer( current.getLocation().y ),
-                                   new Integer( previous.getLocation().y ) );
-                }
-            }
-        }
-
-    }
-
-    private BaseVertex loadRete(ReteGraph graph) throws IOException,
-                                                PackageIntegrationException,
-                                                DroolsParserException {
-        final InputStream is = getClass().getClassLoader().getResourceAsStream( "simplerule.drl" );
-        String drl = streamToString( is );
-
-        DrlParser parser = new DrlParser();
-        PackageDescr packageDescr = parser.parse(drl);
-        PackageBuilder builder = new PackageBuilder();
-        builder.addPackage(packageDescr);
-        Package pkg = builder.getPackage();
-		ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO);
-		ruleBase.addPackage(pkg);
-
-        final ReteooVisitor visitor = new ReteooVisitor( graph );
-        visitor.visit( ruleBase );
-
-        BaseVertex root = visitor.getRootVertex();
-        return root;
-    }
-
-    private String streamToString(InputStream is) throws IOException {
-        byte[] buffer = new byte[4096];
-        OutputStream outputStream = new ByteArrayOutputStream();
-
-        while ( true ) {
-            int read = is.read( buffer );
-
-            if ( read == -1 ) {
-                break;
-            }
-
-            outputStream.write( buffer,
-                                0,
-                                read );
-        }
-
-        outputStream.close();
-        is.close();
-
-        return outputStream.toString();
-    }
-
-    /**
-     * Used by simplerule.drl
-     *
-     */
-    public static class Message {
-        public static final int HELLO   = 0;
-        public static final int GOODBYE = 1;
-
-        private String          message;
-
-        private int             status;
-
-        public String getMessage() {
-            return this.message;
-        }
-
-        public void setMessage(final String message) {
-            this.message = message;
-        }
-
-        public int getStatus() {
-            return this.status;
-        }
-
-        public void setStatus(final int status) {
-            this.status = status;
-        }
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ReteooLayoutFactoryTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,224 @@
+package org.drools.eclipse.editors.rete;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.drools.PackageIntegrationException;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilder;
+import org.drools.eclipse.editors.rete.model.ReteGraph;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.reteoo.AlphaNodeVertex;
+import org.drools.reteoo.BaseVertex;
+import org.drools.reteoo.LeftInputAdapterNodeVertex;
+import org.drools.reteoo.ObjectTypeNodeVertex;
+import org.drools.reteoo.ReteVertex;
+import org.drools.reteoo.ReteooRuleBase;
+import org.drools.reteoo.ReteooVisitor;
+import org.drools.reteoo.RuleTerminalNodeVertex;
+import org.drools.rule.Package;
+
+/**
+ * 
+ * Integration-like tests
+ * 
+ * Testing {@link ReteooLayoutFactory}
+ * It is using following components:
+ * {@link Row},
+ * {@link RowList},
+ * org.drools.reteoo.*Vertex,
+ * org.drools.ide.editors.rete.model.*
+ * 
+ * @author Ahti Kitsik
+ *
+ */
+public class ReteooLayoutFactoryTest extends TestCase {
+
+    /**
+     * Constructor.
+     * 
+     * @param name case name
+     */
+    public ReteooLayoutFactoryTest(String name) {
+        super( name );
+    }
+
+    /**
+     * Test method for {@link org.drools.eclipse.editors.rete.ReteooLayoutFactory#calculateReteRows(org.drools.reteoo.BaseVertex)}.
+     * @throws IOException 
+     * @throws DroolsParserException 
+     * @throws PackageIntegrationException 
+     * @throws DroolsParserException 
+     * @throws PackageIntegrationException 
+     */
+    public final void testCalculateReteRows() throws IOException,
+                                             PackageIntegrationException,
+                                             DroolsParserException {
+        ReteGraph graph = new ReteGraph();
+        BaseVertex root = loadRete( graph );
+        final RowList rows = ReteooLayoutFactory.calculateReteRows( root );
+
+        int rownum = rows.getDepth();
+
+        assertEquals( 5,
+                      rownum );
+
+        int[] expectedDepths = new int[]{-1, 0, 1, 2, 3};
+        int[] expectedSizes = new int[]{1, 1, 2, 2, 2};
+
+        for ( int j = 0; j < rownum; j++ ) {
+            final Row row = rows.get( j );
+            final int rowDepth = row.getDepth();
+            assertEquals( expectedDepths[j],
+                          rowDepth );
+            assertEquals( expectedSizes[j],
+                          row.getVertices().size() );
+        }
+
+    }
+
+    /**
+     * Test method for {@link org.drools.eclipse.editors.rete.ReteooLayoutFactory#layoutRowList(org.drools.eclipse.editors.rete.model.ReteGraph, org.drools.eclipse.editors.rete.RowList)}.
+     * 
+     * @throws IOException 
+     * @throws DroolsParserException 
+     * @throws PackageIntegrationException 
+     * @throws DroolsParserException 
+     * @throws PackageIntegrationException 
+     */
+    public final void testLayoutRowList() throws IOException,
+                                         PackageIntegrationException,
+                                         DroolsParserException {
+        ReteGraph graph = new ReteGraph();
+        BaseVertex root = loadRete( graph );
+        final RowList rows = ReteooLayoutFactory.calculateReteRows( root );
+
+        ReteooLayoutFactory.layoutRowList( graph,
+                                           rows );
+
+        final List nodes = graph.getChildren();
+
+        BaseVertex[] yOrder = (BaseVertex[]) nodes.toArray( new BaseVertex[0] );
+        Arrays.sort( yOrder,
+                     new Comparator() {
+                         public int compare(Object o1,
+                                            Object o2) {
+                             BaseVertex v1 = (BaseVertex) o1;
+                             BaseVertex v2 = (BaseVertex) o2;
+                             int y1 = v1.getLocation().y;
+                             int y2 = v2.getLocation().y;
+                             return new Integer( y1 ).compareTo( new Integer( y2 ) );
+                         }
+
+                     } );
+
+        Class[] expectedTypes = new Class[]{ReteVertex.class, ObjectTypeNodeVertex.class, AlphaNodeVertex.class, AlphaNodeVertex.class, LeftInputAdapterNodeVertex.class, LeftInputAdapterNodeVertex.class, RuleTerminalNodeVertex.class,
+                RuleTerminalNodeVertex.class};
+
+        for ( int i = 0; i < yOrder.length; i++ ) {
+            assertEquals( expectedTypes[i],
+                          yOrder[i].getClass() );
+            if ( i > 0 ) {
+                // If current vertex has same type as previous then
+                // y-pos should match and x-pos should not match.                
+                // If type is different then y-pos should *not* match.
+
+                BaseVertex current = yOrder[i];
+                BaseVertex previous = yOrder[i - 1];
+                if ( current.getClass().equals( previous.getClass() ) ) {
+                    assertEquals( current.getLocation().y,
+                                  previous.getLocation().y );
+                    assertNotSame( new Integer( current.getLocation().x ),
+                                   new Integer( previous.getLocation().x ) );
+                } else {
+                    assertNotSame( new Integer( current.getLocation().y ),
+                                   new Integer( previous.getLocation().y ) );
+                }
+            }
+        }
+
+    }
+
+    private BaseVertex loadRete(ReteGraph graph) throws IOException,
+                                                PackageIntegrationException,
+                                                DroolsParserException {
+        final InputStream is = getClass().getClassLoader().getResourceAsStream( "simplerule.drl" );
+        String drl = streamToString( is );
+
+        DrlParser parser = new DrlParser();
+        PackageDescr packageDescr = parser.parse(drl);
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackage(packageDescr);
+        Package pkg = builder.getPackage();
+		ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO);
+		ruleBase.addPackage(pkg);
+
+        final ReteooVisitor visitor = new ReteooVisitor( graph );
+        visitor.visit( ruleBase );
+
+        BaseVertex root = visitor.getRootVertex();
+        return root;
+    }
+
+    private String streamToString(InputStream is) throws IOException {
+        byte[] buffer = new byte[4096];
+        OutputStream outputStream = new ByteArrayOutputStream();
+
+        while ( true ) {
+            int read = is.read( buffer );
+
+            if ( read == -1 ) {
+                break;
+            }
+
+            outputStream.write( buffer,
+                                0,
+                                read );
+        }
+
+        outputStream.close();
+        is.close();
+
+        return outputStream.toString();
+    }
+
+    /**
+     * Used by simplerule.drl
+     *
+     */
+    public static class Message {
+        public static final int HELLO   = 0;
+        public static final int GOODBYE = 1;
+
+        private String          message;
+
+        private int             status;
+
+        public String getMessage() {
+            return this.message;
+        }
+
+        public void setMessage(final String message) {
+            this.message = message;
+        }
+
+        public int getStatus() {
+            return this.status;
+        }
+
+        public void setStatus(final int status) {
+            this.status = status;
+        }
+    }
+
+}

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,223 +0,0 @@
-package org.drools.eclipse.editors.rete;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.drools.eclipse.editors.DRLRuleEditor2;
-import org.drools.eclipse.editors.ZoomInAction2;
-import org.drools.eclipse.editors.ZoomOutAction2;
-import org.eclipse.core.filebuffers.manipulation.ContainerCreator;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-public class ZoomControlTest extends TestCase {
-
-    private IFile                         fFile1;
-    private IFile                         fFile2;
-
-    private final static IProgressMonitor NULL_MONITOR     = new NullProgressMonitor();
-
-    private static final String           ORIGINAL_CONTENT = "package test\nrule \"a\"\nend\nrule \"b\"\nend";
-
-    public ZoomControlTest(String name) {
-        super( name );
-    }
-
-    private String getOriginalContent() {
-        return ORIGINAL_CONTENT;
-    }
-
-    /*
-     * @see junit.framework.TestCase#setUp()
-     */
-    protected void setUp() throws Exception {
-        IFolder folder = createFolder( "ZoomControlTestProject/multipleEditorTest/" );
-        fFile1 = createFile( folder,
-                             "myfile1.drl",
-                             getOriginalContent() );
-        fFile2 = createFile( folder,
-                             "myfile2.drl",
-                             getOriginalContent() );
-    }
-
-    /*
-     * @see junit.framework.TestCase#tearDown()
-     */
-    protected void tearDown() throws Exception {
-        deleteProject( "ZoomControlTestProject" );
-        fFile1 = null;
-        fFile2 = null;
-    }
-
-    public void testMultipleEditors() throws PartInitException {
-
-        IWorkbench workbench = PlatformUI.getWorkbench();
-        IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
-
-        DRLRuleEditor2 part1 = (DRLRuleEditor2) IDE.openEditor( page,
-                                                                fFile1 );
-        DRLRuleEditor2 part2 = (DRLRuleEditor2) IDE.openEditor( page,
-                                                                fFile2 );
-
-        checkVisibility( part1,
-                         part2,
-                         false );
-
-        // Editor1 active
-        page.activate( part1 );
-        checkVisibility( part1,
-                         part2,
-                         false );
-// TODO
-//        part1.setActivePage( 1 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//
-//        part1.setActivePage( 0 );
-//        checkVisibility( part1,
-//                         part2,
-//                         false );
-//
-//        part1.setActivePage( 1 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//
-//        // Editor2 active
-//        page.activate( part2 );
-//        part2.setActivePage( 0 );
-//        checkVisibility( part1,
-//                         part2,
-//                         false );
-//
-//        part2.setActivePage( 1 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//
-//        // Editor1 active
-//        page.activate( part1 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//
-//        // Editor2 active
-//        page.activate( part2 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//
-//        part2.setActivePage( 0 );
-//        checkVisibility( part1,
-//                         part2,
-//                         false );
-//
-//        // Editor1 active
-//        page.activate( part1 );
-//        checkVisibility( part1,
-//                         part2,
-//                         true );
-//        part2.setActivePage( 0 );
-//        checkVisibility( part1,
-//                         part2,
-//                         false );
-
-    }
-
-    public void testSecondEditorAfterFirst() throws PartInitException {
-
-        IWorkbench workbench = PlatformUI.getWorkbench();
-        IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
-
-        DRLRuleEditor2 part1 = (DRLRuleEditor2) IDE.openEditor( page,
-                                                                fFile1 );
-// TODO
-//        // Editor1 active
-//        page.activate( part1 );
-//        part1.setActivePage( 1 );
-//        checkVisibility( part1,
-//                         null,
-//                         true );
-//
-//        DRLRuleEditor2 part2 = (DRLRuleEditor2) IDE.openEditor( page,
-//                                                                fFile2 );
-//        page.activate( part2 );
-//        checkVisibility( part1,
-//                         part2,
-//                         false );
-
-    }
-
-    private void checkVisibility(DRLRuleEditor2 part1,
-                                 DRLRuleEditor2 part2,
-                                 boolean enabled) {
-        if ( part1 != null ) {
-            checkVisibility( part1,
-                             enabled );
-        }
-
-        if ( part2 != null ) {
-            checkVisibility( part2,
-                             enabled );
-        }
-    }
-
-    private void checkVisibility(DRLRuleEditor2 editor,
-                                 boolean enabled) {
-        ZoomInAction2 zoomIn = (ZoomInAction2) editor.getAdapter( ZoomInAction2.class );
-        ZoomOutAction2 zoomOut = (ZoomOutAction2) editor.getAdapter( ZoomOutAction2.class );
-        ZoomComboContributionItem zitem = (ZoomComboContributionItem) editor.getAdapter( ZoomComboContributionItem.class );
-
-        assertEquals( enabled,
-                      zoomIn.isEnabled() );
-        assertEquals( enabled,
-                      zoomOut.isEnabled() );
-        assertEquals( enabled,
-                      zitem.getZoomManager() != null );
-
-    }
-
-    private IFile createFile(IFolder folder,
-                             String name,
-                             String contents) throws CoreException {
-        IFile file = folder.getFile( name );
-        InputStream inputStream = new ByteArrayInputStream( contents.getBytes() );
-        file.create( inputStream,
-                     true,
-                     NULL_MONITOR );
-        return file;
-    }
-
-    private IFolder createFolder(String portableFolderPath) throws CoreException {
-        ContainerCreator creator = new ContainerCreator( ResourcesPlugin.getWorkspace(),
-                                                         new Path( portableFolderPath ) );
-        IContainer container = creator.createContainer( NULL_MONITOR );
-        return (IFolder) container;
-    }
-
-    private void deleteProject(String projectName) throws CoreException {
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-        IProject project = root.getProject( projectName );
-        if ( project.exists() ) project.delete( true,
-                                                true,
-                                                NULL_MONITOR );
-    }
-
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/rete/ZoomControlTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,223 @@
+package org.drools.eclipse.editors.rete;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import junit.framework.TestCase;
+
+import org.drools.eclipse.editors.DRLRuleEditor2;
+import org.drools.eclipse.editors.ZoomInAction2;
+import org.drools.eclipse.editors.ZoomOutAction2;
+import org.eclipse.core.filebuffers.manipulation.ContainerCreator;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.gef.ui.actions.ZoomComboContributionItem;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+
+public class ZoomControlTest extends TestCase {
+
+    private IFile                         fFile1;
+    private IFile                         fFile2;
+
+    private final static IProgressMonitor NULL_MONITOR     = new NullProgressMonitor();
+
+    private static final String           ORIGINAL_CONTENT = "package test\nrule \"a\"\nend\nrule \"b\"\nend";
+
+    public ZoomControlTest(String name) {
+        super( name );
+    }
+
+    private String getOriginalContent() {
+        return ORIGINAL_CONTENT;
+    }
+
+    /*
+     * @see junit.framework.TestCase#setUp()
+     */
+    protected void setUp() throws Exception {
+        IFolder folder = createFolder( "ZoomControlTestProject/multipleEditorTest/" );
+        fFile1 = createFile( folder,
+                             "myfile1.drl",
+                             getOriginalContent() );
+        fFile2 = createFile( folder,
+                             "myfile2.drl",
+                             getOriginalContent() );
+    }
+
+    /*
+     * @see junit.framework.TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception {
+        deleteProject( "ZoomControlTestProject" );
+        fFile1 = null;
+        fFile2 = null;
+    }
+
+    public void testMultipleEditors() throws PartInitException {
+
+        IWorkbench workbench = PlatformUI.getWorkbench();
+        IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
+
+        DRLRuleEditor2 part1 = (DRLRuleEditor2) IDE.openEditor( page,
+                                                                fFile1 );
+        DRLRuleEditor2 part2 = (DRLRuleEditor2) IDE.openEditor( page,
+                                                                fFile2 );
+
+        checkVisibility( part1,
+                         part2,
+                         false );
+
+        // Editor1 active
+        page.activate( part1 );
+        checkVisibility( part1,
+                         part2,
+                         false );
+// TODO
+//        part1.setActivePage( 1 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//
+//        part1.setActivePage( 0 );
+//        checkVisibility( part1,
+//                         part2,
+//                         false );
+//
+//        part1.setActivePage( 1 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//
+//        // Editor2 active
+//        page.activate( part2 );
+//        part2.setActivePage( 0 );
+//        checkVisibility( part1,
+//                         part2,
+//                         false );
+//
+//        part2.setActivePage( 1 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//
+//        // Editor1 active
+//        page.activate( part1 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//
+//        // Editor2 active
+//        page.activate( part2 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//
+//        part2.setActivePage( 0 );
+//        checkVisibility( part1,
+//                         part2,
+//                         false );
+//
+//        // Editor1 active
+//        page.activate( part1 );
+//        checkVisibility( part1,
+//                         part2,
+//                         true );
+//        part2.setActivePage( 0 );
+//        checkVisibility( part1,
+//                         part2,
+//                         false );
+
+    }
+
+    public void testSecondEditorAfterFirst() throws PartInitException {
+
+        IWorkbench workbench = PlatformUI.getWorkbench();
+        IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
+
+        DRLRuleEditor2 part1 = (DRLRuleEditor2) IDE.openEditor( page,
+                                                                fFile1 );
+// TODO
+//        // Editor1 active
+//        page.activate( part1 );
+//        part1.setActivePage( 1 );
+//        checkVisibility( part1,
+//                         null,
+//                         true );
+//
+//        DRLRuleEditor2 part2 = (DRLRuleEditor2) IDE.openEditor( page,
+//                                                                fFile2 );
+//        page.activate( part2 );
+//        checkVisibility( part1,
+//                         part2,
+//                         false );
+
+    }
+
+    private void checkVisibility(DRLRuleEditor2 part1,
+                                 DRLRuleEditor2 part2,
+                                 boolean enabled) {
+        if ( part1 != null ) {
+            checkVisibility( part1,
+                             enabled );
+        }
+
+        if ( part2 != null ) {
+            checkVisibility( part2,
+                             enabled );
+        }
+    }
+
+    private void checkVisibility(DRLRuleEditor2 editor,
+                                 boolean enabled) {
+        ZoomInAction2 zoomIn = (ZoomInAction2) editor.getAdapter( ZoomInAction2.class );
+        ZoomOutAction2 zoomOut = (ZoomOutAction2) editor.getAdapter( ZoomOutAction2.class );
+        ZoomComboContributionItem zitem = (ZoomComboContributionItem) editor.getAdapter( ZoomComboContributionItem.class );
+
+        assertEquals( enabled,
+                      zoomIn.isEnabled() );
+        assertEquals( enabled,
+                      zoomOut.isEnabled() );
+        assertEquals( enabled,
+                      zitem.getZoomManager() != null );
+
+    }
+
+    private IFile createFile(IFolder folder,
+                             String name,
+                             String contents) throws CoreException {
+        IFile file = folder.getFile( name );
+        InputStream inputStream = new ByteArrayInputStream( contents.getBytes() );
+        file.create( inputStream,
+                     true,
+                     NULL_MONITOR );
+        return file;
+    }
+
+    private IFolder createFolder(String portableFolderPath) throws CoreException {
+        ContainerCreator creator = new ContainerCreator( ResourcesPlugin.getWorkspace(),
+                                                         new Path( portableFolderPath ) );
+        IContainer container = creator.createContainer( NULL_MONITOR );
+        return (IFolder) container;
+    }
+
+    private void deleteProject(String projectName) throws CoreException {
+        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+        IProject project = root.getProject( projectName );
+        if ( project.exists() ) project.delete( true,
+                                                true,
+                                                NULL_MONITOR );
+    }
+
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard)

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,50 +0,0 @@
-package org.drools.eclipse.wizard.rule;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import junit.framework.TestCase;
-
-public class DRLGenTemplateTest extends TestCase {
-    
-    public void testNewRule() throws Exception {
-        DRLGenerator gen = new DRLGenerator();
-        InputStream result = gen.generateRule("myPackage", getClass().getResourceAsStream( "new_rule.drl.template" ));
-        
-        assertNotNull(result);
-        StringBuffer buf = getResult( result );
-        assertTrue(buf.toString().indexOf( "package myPackage" ) > -1);
-        assertFalse(buf.toString().indexOf( "$date$" ) > -1);
-        
-    }
-    
-    public void testNewPackage() throws Exception {
-        DRLGenerator gen = new DRLGenerator();
-        InputStream result = gen.generatePackage("myPackage", true, true, getClass().getResourceAsStream( "new_rule.drl.template" ));
-        
-        assertNotNull(result);
-        StringBuffer buf = getResult( result );
-        assertTrue(buf.toString().indexOf( "package myPackage" ) > -1);
-        assertFalse(buf.toString().indexOf( "$date$" ) > -1);
-        assertFalse(buf.toString().indexOf( "$expander$" ) > -1);
-        assertFalse(buf.toString().indexOf( "$functions$" ) > -1);
-     
-        
-        
-    }
-    
-
-    private StringBuffer getResult(InputStream result) throws IOException {
-        BufferedReader reader = new BufferedReader(new InputStreamReader(result));
-        String line = null;
-        StringBuffer buf = new StringBuffer();
-        while ((line = reader.readLine())  != null) {
-            buf.append(line + "\n");
-        }
-        return buf;
-    }
-    
-    
-}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/java/org/drools/eclipse/wizard/rule/DRLGenTemplateTest.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,50 @@
+package org.drools.eclipse.wizard.rule;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import junit.framework.TestCase;
+
+public class DRLGenTemplateTest extends TestCase {
+    
+    public void testNewRule() throws Exception {
+        DRLGenerator gen = new DRLGenerator();
+        InputStream result = gen.generateRule("myPackage", getClass().getResourceAsStream( "new_rule.drl.template" ));
+        
+        assertNotNull(result);
+        StringBuffer buf = getResult( result );
+        assertTrue(buf.toString().indexOf( "package myPackage" ) > -1);
+        assertFalse(buf.toString().indexOf( "$date$" ) > -1);
+        
+    }
+    
+    public void testNewPackage() throws Exception {
+        DRLGenerator gen = new DRLGenerator();
+        InputStream result = gen.generatePackage("myPackage", true, true, getClass().getResourceAsStream( "new_rule.drl.template" ));
+        
+        assertNotNull(result);
+        StringBuffer buf = getResult( result );
+        assertTrue(buf.toString().indexOf( "package myPackage" ) > -1);
+        assertFalse(buf.toString().indexOf( "$date$" ) > -1);
+        assertFalse(buf.toString().indexOf( "$expander$" ) > -1);
+        assertFalse(buf.toString().indexOf( "$functions$" ) > -1);
+     
+        
+        
+    }
+    
+
+    private StringBuffer getResult(InputStream result) throws IOException {
+        BufferedReader reader = new BufferedReader(new InputStreamReader(result));
+        String line = null;
+        StringBuffer buf = new StringBuffer();
+        while ((line = reader.readLine())  != null) {
+            buf.append(line + "\n");
+        }
+        return buf;
+    }
+    
+    
+}

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/resources)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/debug.drl
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/resources/debug.drl	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/debug.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-package com.sample
- 
-global String s
-global java.util.List list
-
-rule "ActivationCreator"
-    when
-        o: String()
-    then
-        list.add(o);
-end

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/debug.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/resources/debug.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/debug.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/debug.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+package com.sample
+ 
+global String s
+global java.util.List list
+
+rule "ActivationCreator"
+    when
+        o: String()
+    then
+        list.add(o);
+end

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/simplerule.drl
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/resources/simplerule.drl	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/simplerule.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,24 +0,0 @@
-package org.drools.examples
-
-// Rules for ReteooLayoutFactoryTest
-
-import org.drools.eclipse.editors.rete.ReteooLayoutFactoryTest.Message;
-
-rule "Hello World"
-        when
-                m : Message( status == Message.HELLO, message : message )
-        then
-                System.out.println( message );
-                m.setMessage( "Goodbye cruel world" );
-                m.setStatus( Message.GOODBYE );
-                update( m );
-end
-
-rule "GoodBye"
-        no-loop true
-        when
-                m : Message( status == Message.GOODBYE, message : message )
-        then
-                System.out.println( message );
-                m.setMessage( message );
-end

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/simplerule.drl (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/src/test/resources/simplerule.drl)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/simplerule.drl	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/src/test/resources/simplerule.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,24 @@
+package org.drools.examples
+
+// Rules for ReteooLayoutFactoryTest
+
+import org.drools.eclipse.editors.rete.ReteooLayoutFactoryTest.Message;
+
+rule "Hello World"
+        when
+                m : Message( status == Message.HELLO, message : message )
+        then
+                System.out.println( message );
+                m.setMessage( "Goodbye cruel world" );
+                m.setStatus( Message.GOODBYE );
+                update( m );
+end
+
+rule "GoodBye"
+        no-loop true
+        when
+                m : Message( status == Message.GOODBYE, message : message )
+        then
+                System.out.println( message );
+                m.setMessage( message );
+end

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/test.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/test.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/test.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,46 +0,0 @@
-<?xml version="1.0"?>
-<project name="testsuite" default="run" basedir="."> 
-  <property name="eclipse-home" value="${baseLocation}"/>
-  <property name="plugin-name" value="org.drools.eclipse"/>
-  <property name="library-file" location="${eclipse-home}/plugins/org.eclipse.test_3.2.0/library.xml"/>
-  
-  <!-- This target holds all initialization code that needs to be done for
-       all tests that are to be run. Initialization for individual tests
-       should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-  
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="test-workspace" location="${eclipse-home}/test-workspace"/>
-    
-    <delete dir="${test-workspace}" quiet="true"/>
-    
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${test-workspace}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.drools.eclipse.AllTests"/>
-    </ant>           
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after
-       after all of the tests have been run. We can use this target to
-       delete temporary files that have been created. -->
-  <target name="cleanup">
-  
-  </target>
-  
-  <!-- This target runs the test suite. Any actions that need to happen
-       after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <copy todir="${base}/surefire-reports">
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </copy>    
-    
-    <rename src="${base}/surefire-reports/org.drools.eclipse.AllTests.xml" dest="${base}/surefire-reports/TEST-org.drools.eclipse.AllTests.xml"/>
-  </target>
-</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/test.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test/test.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/test.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test/test.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<project name="testsuite" default="run" basedir="."> 
+  <property name="eclipse-home" value="${baseLocation}"/>
+  <property name="plugin-name" value="org.drools.eclipse"/>
+  <property name="library-file" location="${eclipse-home}/plugins/org.eclipse.test_3.2.0/library.xml"/>
+  
+  <!-- This target holds all initialization code that needs to be done for
+       all tests that are to be run. Initialization for individual tests
+       should be done within the body of the suite target. -->
+  <target name="init">
+    <tstamp/>
+    <delete>
+      <fileset dir="${eclipse-home}" includes="org*.xml"/>
+    </delete>
+  </target>
+  
+  <!-- This target defines the tests that need to be run. -->
+  <target name="suite">
+    <property name="test-workspace" location="${eclipse-home}/test-workspace"/>
+    
+    <delete dir="${test-workspace}" quiet="true"/>
+    
+    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
+      <property name="data-dir" value="${test-workspace}"/>
+      <property name="plugin-name" value="${plugin-name}"/>
+      <property name="classname" value="org.drools.eclipse.AllTests"/>
+    </ant>           
+  </target>
+  
+  <!-- This target holds code to cleanup the testing environment after
+       after all of the tests have been run. We can use this target to
+       delete temporary files that have been created. -->
+  <target name="cleanup">
+  
+  </target>
+  
+  <!-- This target runs the test suite. Any actions that need to happen
+       after all the tests have been run should go here. -->
+  <target name="run" depends="init,suite,cleanup">
+    <copy todir="${base}/surefire-reports">
+      <fileset dir="${eclipse-home}" includes="org*.xml"/>
+    </copy>    
+    
+    <rename src="${base}/surefire-reports/org.drools.eclipse.AllTests.xml" dest="${base}/surefire-reports/TEST-org.drools.eclipse.AllTests.xml"/>
+  </target>
+</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test-feature)

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/.project
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test-feature/.project	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>drools-eclipse-test-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/.project (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test-feature/.project)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/.project	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>drools-eclipse-test-feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/build.properties
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test-feature/build.properties	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1 +0,0 @@
-bin.includes = feature.xml

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/build.properties (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test-feature/build.properties)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/build.properties	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/build.properties	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1 @@
+bin.includes = feature.xml

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/feature.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test-feature/feature.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/feature.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.drools.eclipse.test-feature"
-      label="JBossRules Feature"
-      version="4.0.6"
-      provider-name="JBoss, Inc.">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="org.drools.eclipse.test"
-         download-size="0"
-         install-size="0"
-         version="4.0.6"/>
-
-</feature>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/feature.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test-feature/feature.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/feature.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/feature.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.drools.eclipse.test-feature"
+      label="JBossRules Feature"
+      version="4.0.6"
+      provider-name="JBoss, Inc.">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="http://www.example.com/license">
+      [Enter License Description here.]
+   </license>
+
+   <plugin
+         id="org.drools.eclipse.test"
+         download-size="0"
+         install-size="0"
+         version="4.0.6"/>
+
+</feature>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/pom.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test-feature/pom.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,25 +0,0 @@
-<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/P
-OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-        <modelVersion>4.0.0</modelVersion>
-        <groupId>drools</groupId>
-        <artifactId>drools-eclipse-test-feature</artifactId>
-        <packaging>eclipse-feature</packaging>
-        <version>1.0-SNAPSHOT</version>
-        <build>
-                <plugins>
-                        <plugin>
-                                <groupId>org.codehaus.tycho</groupId>
-                                <artifactId>maven-osgi-lifecycle-plugin</artifactId>
-                                <extensions>true</extensions>
-                        </plugin>
-                </plugins>
-        </build>
-  <dependencies>
-    <dependency>
-      <groupId>drools</groupId>
-      <artifactId>drools-eclipse-plugin</artifactId>
-      <version>1.0-SNAPSHOT</version>
-    </dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/pom.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/drools-eclipse-test-feature/pom.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/drools-eclipse-test-feature/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,25 @@
+<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/P
+OM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+        <modelVersion>4.0.0</modelVersion>
+        <groupId>drools</groupId>
+        <artifactId>drools-eclipse-test-feature</artifactId>
+        <packaging>eclipse-feature</packaging>
+        <version>1.0-SNAPSHOT</version>
+        <build>
+                <plugins>
+                        <plugin>
+                                <groupId>org.codehaus.tycho</groupId>
+                                <artifactId>maven-osgi-lifecycle-plugin</artifactId>
+                                <extensions>true</extensions>
+                        </plugin>
+                </plugins>
+        </build>
+  <dependencies>
+    <dependency>
+      <groupId>drools</groupId>
+      <artifactId>drools-eclipse-plugin</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+
+</project>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/genericTargets.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/genericTargets.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/genericTargets.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,175 +0,0 @@
-<project name="Generic Build Targets" default="noDefault">
-
-<!-- Properties that must be passed to this script:
-	buildDirectory
-	id
-	type
-	ignoreTagInfo
-	recursiveGeneration
-	workingDirectory
-	configInfo
--->
-
-<!-- ===================================================================== -->
-<!-- Setup default values -->
-<!--   configs : by default build a platform-independent configuration -->
-<!--   fetchTag : by default use the CVS tags as spec'd in directory.txt -->
-<!-- ===================================================================== -->
-<property name="configs" value="*,*,*"/>
-<property name="fetchTag" value=""/>
-<property name="buildingOSGi" value="true"/>
-<property name="generateJnlp" value="false"/>
-<property name="signJars" value="false"/>
-<property name="generateFeatureVersionSuffix" value="false" />
-<property name="generateVersionsLists" value="true" />
-<property name="groupConfigurations" value="false"/>
-<property name="pluginPath" value=""/>
-<property name="filteredDependencyCheck" value="false"/>
-
-<!-- ===================================================================== -->
-<!-- Fetch a single element (feature, plugin, fragment) -->
-<!-- ===================================================================== -->
-<target name="fetchElement" description="Checking out source from repository..." depends="init">
-	<mkdir dir="${buildDirectory}/features"/>
-	<mkdir dir="${buildDirectory}/plugins"/>
-	<eclipse.fetch
-		elements="${type}@${id}"
-		buildDirectory="${buildDirectory}"
-		directory="${buildDirectory}/directory.txt"
-		fetchTag="${fetchTag}"
-		configInfo="${configs}"
-		baseLocation="${baseLocation}"
-	/>
-	
-	<!-- Run generated fetch script -->
-	<ant antfile="${buildDirectory}/fetch_${id}.xml">
-		<!-- ************  should not have to spec these  *************** -->
-		<property name="featureOnly" value="true"/>
-		<property name="featureAndPlugins" value="true"/>
-		<property name="featuresRecursively" value="true"/>
-	</ant>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Clean previously built elements -->
-<!-- ===================================================================== -->
-<target name="cleanElement" description="Scrubbing features and plugins of old jars..." depends="init">
-<echo message="${elementPath}"/>
-	<ant antfile="build.xml" dir="${elementPath}" target="clean"/>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Generate a build.xml file for an element -->
-<!-- ===================================================================== -->
-<target name="generateScript" description="Generating build scripts..." depends="init">
-	<eclipse.buildScript 
-		elements="${type}@${id}" 
-		buildDirectory="${buildDirectory}"
-		configInfo="${configs}"
-		baseLocation="${baseLocation}"
-		buildingOSGi="${buildingOSGi}"
-		outputUpdateJars="${outputUpdateJars}"
-		archivesFormat="${archivesFormat}"
-		product="${product}"
-		forceContextQualifier="${forceContextQualifier}"
-		generateJnlp="${generateJnlp}"
-		signJars="${signJars}"
-		generateFeatureVersionSuffix="${generateFeatureVersionSuffix}"
-		significantVersionDigits="${significantVersionDigits}"
-		generatedVersionLength="${generatedVersionLength}"
-		generateVersionsLists="${generateVersionsLists}"
-		groupConfiguration="${groupConfigurations}"
-		pluginPath="${pluginPath}"
-		filteredDependencyCheck="${filteredDependencyCheck}"
-		platformProperties="${platformProperties}"
-	/>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Run build.xml for a single element-->
-<!-- ===================================================================== -->
-<target name="processElement" description="Processing build scripts..." depends="init">
-	<ant antfile="build.xml" dir="${elementPath}" target="build.jars">
-		<property name="target" value="build.jars"/>
-	</ant>
-</target>
-
-<!-- **********************
-1) the gather targets do more than just gather.  These are packaging targets.
-We need to continue ot separate the two concepts (gather and package) as 
-the packaging is different if we wanted to create an update site packaging
-(for example).  The gathers are commented out for now as the new generated
-scripts do not seem to have them.
-
-2) do we really need the ws and os properties?  In all cases?  Do they have to be 
-set here?
--->
-
-<!-- ===================================================================== -->
-<!-- Gather items listed in bin.includes -->
-<!-- ===================================================================== -->
-<target name="gatherBinaries" description="Gathering binary distribution..." depends="init">
-	<!-- ant antfile="build.xml" dir="${elementPath}" target="gather.bin.parts"/ -->
-	<ant antfile="build.xml" dir="${elementPath}" target="zip.distribution">
-		<property name="os" value="${os}" />
-		<property name="ws" value="${ws}" />	
-	</ant>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Gather source for a build element -->
-<!-- ===================================================================== -->
-<target name="gatherSources" description="Gathering source distribution..." depends="init">
-	<!--suspect:  this call is required to create the *.src.zip inside each plugin-->
-	<ant antfile="build.xml" dir="${elementPath}" target="build.sources">
-		<property name="os" value="${os}" />
-		<property name="ws" value="${ws}" />	
-	</ant>
-	<ant antfile="build.xml" dir="${elementPath}" target="zip.sources">
-		<property name="os" value="${os}" />
-		<property name="ws" value="${ws}" />	
-	</ant>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Gather log files for an element -->
-<!-- Suspect: We just unzip these right away -->
-<!-- ===================================================================== -->
-<target name="gatherLogs" description="Gathering build logs..." depends="init">
-	<ant antfile="build.xml" dir="${elementPath}" target="zip.logs" >
-		<property name="buildDirectory" value="${buildDirectory}" />
-	</ant>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Default target                                                        -->
-<!-- ===================================================================== -->
-<target name="noDefault">
-	<echo message="This file must be called with explicit targets" />
-</target>
-
-<!-- ===================================================================== -->
-<!-- Assemble one build element -->
-<!-- ===================================================================== -->
-<target name="assembleElement" description="Assembling the build..." depends="init">
-	<ant antfile="assemble.${id}.all.xml" dir="${buildDirectory}"/>
-</target>
-
-<!-- ===================================================================== -->
-<!-- Package one build element -->
-<!-- ===================================================================== -->
-<target name="packageElement" description="Packaging the build..." depends="init">
-	<ant antfile="package.${id}.all.xml" dir="${buildDirectory}"/>
-</target>
-	
-<!-- ===================================================================== -->
-<!-- Miscellaneous helper targets -->
-<!-- ===================================================================== -->
-<target name="init">
-	<condition property="elementPath" value="${buildDirectory}/plugins/${id}">
-		<equals arg1="${type}" arg2="fragment" />
-	</condition>
-	<property name="elementPath" value="${buildDirectory}/${type}s/${id}" />
-</target>
-
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/genericTargets.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/genericTargets.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/genericTargets.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/genericTargets.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,175 @@
+<project name="Generic Build Targets" default="noDefault">
+
+<!-- Properties that must be passed to this script:
+	buildDirectory
+	id
+	type
+	ignoreTagInfo
+	recursiveGeneration
+	workingDirectory
+	configInfo
+-->
+
+<!-- ===================================================================== -->
+<!-- Setup default values -->
+<!--   configs : by default build a platform-independent configuration -->
+<!--   fetchTag : by default use the CVS tags as spec'd in directory.txt -->
+<!-- ===================================================================== -->
+<property name="configs" value="*,*,*"/>
+<property name="fetchTag" value=""/>
+<property name="buildingOSGi" value="true"/>
+<property name="generateJnlp" value="false"/>
+<property name="signJars" value="false"/>
+<property name="generateFeatureVersionSuffix" value="false" />
+<property name="generateVersionsLists" value="true" />
+<property name="groupConfigurations" value="false"/>
+<property name="pluginPath" value=""/>
+<property name="filteredDependencyCheck" value="false"/>
+
+<!-- ===================================================================== -->
+<!-- Fetch a single element (feature, plugin, fragment) -->
+<!-- ===================================================================== -->
+<target name="fetchElement" description="Checking out source from repository..." depends="init">
+	<mkdir dir="${buildDirectory}/features"/>
+	<mkdir dir="${buildDirectory}/plugins"/>
+	<eclipse.fetch
+		elements="${type}@${id}"
+		buildDirectory="${buildDirectory}"
+		directory="${buildDirectory}/directory.txt"
+		fetchTag="${fetchTag}"
+		configInfo="${configs}"
+		baseLocation="${baseLocation}"
+	/>
+	
+	<!-- Run generated fetch script -->
+	<ant antfile="${buildDirectory}/fetch_${id}.xml">
+		<!-- ************  should not have to spec these  *************** -->
+		<property name="featureOnly" value="true"/>
+		<property name="featureAndPlugins" value="true"/>
+		<property name="featuresRecursively" value="true"/>
+	</ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Clean previously built elements -->
+<!-- ===================================================================== -->
+<target name="cleanElement" description="Scrubbing features and plugins of old jars..." depends="init">
+<echo message="${elementPath}"/>
+	<ant antfile="build.xml" dir="${elementPath}" target="clean"/>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Generate a build.xml file for an element -->
+<!-- ===================================================================== -->
+<target name="generateScript" description="Generating build scripts..." depends="init">
+	<eclipse.buildScript 
+		elements="${type}@${id}" 
+		buildDirectory="${buildDirectory}"
+		configInfo="${configs}"
+		baseLocation="${baseLocation}"
+		buildingOSGi="${buildingOSGi}"
+		outputUpdateJars="${outputUpdateJars}"
+		archivesFormat="${archivesFormat}"
+		product="${product}"
+		forceContextQualifier="${forceContextQualifier}"
+		generateJnlp="${generateJnlp}"
+		signJars="${signJars}"
+		generateFeatureVersionSuffix="${generateFeatureVersionSuffix}"
+		significantVersionDigits="${significantVersionDigits}"
+		generatedVersionLength="${generatedVersionLength}"
+		generateVersionsLists="${generateVersionsLists}"
+		groupConfiguration="${groupConfigurations}"
+		pluginPath="${pluginPath}"
+		filteredDependencyCheck="${filteredDependencyCheck}"
+		platformProperties="${platformProperties}"
+	/>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Run build.xml for a single element-->
+<!-- ===================================================================== -->
+<target name="processElement" description="Processing build scripts..." depends="init">
+	<ant antfile="build.xml" dir="${elementPath}" target="build.jars">
+		<property name="target" value="build.jars"/>
+	</ant>
+</target>
+
+<!-- **********************
+1) the gather targets do more than just gather.  These are packaging targets.
+We need to continue ot separate the two concepts (gather and package) as 
+the packaging is different if we wanted to create an update site packaging
+(for example).  The gathers are commented out for now as the new generated
+scripts do not seem to have them.
+
+2) do we really need the ws and os properties?  In all cases?  Do they have to be 
+set here?
+-->
+
+<!-- ===================================================================== -->
+<!-- Gather items listed in bin.includes -->
+<!-- ===================================================================== -->
+<target name="gatherBinaries" description="Gathering binary distribution..." depends="init">
+	<!-- ant antfile="build.xml" dir="${elementPath}" target="gather.bin.parts"/ -->
+	<ant antfile="build.xml" dir="${elementPath}" target="zip.distribution">
+		<property name="os" value="${os}" />
+		<property name="ws" value="${ws}" />	
+	</ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Gather source for a build element -->
+<!-- ===================================================================== -->
+<target name="gatherSources" description="Gathering source distribution..." depends="init">
+	<!--suspect:  this call is required to create the *.src.zip inside each plugin-->
+	<ant antfile="build.xml" dir="${elementPath}" target="build.sources">
+		<property name="os" value="${os}" />
+		<property name="ws" value="${ws}" />	
+	</ant>
+	<ant antfile="build.xml" dir="${elementPath}" target="zip.sources">
+		<property name="os" value="${os}" />
+		<property name="ws" value="${ws}" />	
+	</ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Gather log files for an element -->
+<!-- Suspect: We just unzip these right away -->
+<!-- ===================================================================== -->
+<target name="gatherLogs" description="Gathering build logs..." depends="init">
+	<ant antfile="build.xml" dir="${elementPath}" target="zip.logs" >
+		<property name="buildDirectory" value="${buildDirectory}" />
+	</ant>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Default target                                                        -->
+<!-- ===================================================================== -->
+<target name="noDefault">
+	<echo message="This file must be called with explicit targets" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Assemble one build element -->
+<!-- ===================================================================== -->
+<target name="assembleElement" description="Assembling the build..." depends="init">
+	<ant antfile="assemble.${id}.all.xml" dir="${buildDirectory}"/>
+</target>
+
+<!-- ===================================================================== -->
+<!-- Package one build element -->
+<!-- ===================================================================== -->
+<target name="packageElement" description="Packaging the build..." depends="init">
+	<ant antfile="package.${id}.all.xml" dir="${buildDirectory}"/>
+</target>
+	
+<!-- ===================================================================== -->
+<!-- Miscellaneous helper targets -->
+<!-- ===================================================================== -->
+<target name="init">
+	<condition property="elementPath" value="${buildDirectory}/plugins/${id}">
+		<equals arg1="${type}" arg2="fragment" />
+	</condition>
+	<property name="elementPath" value="${buildDirectory}/${type}s/${id}" />
+</target>
+
+</project>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/package.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/package.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/package.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,88 +0,0 @@
-<project name="packager" default="main" basedir=".">
-	<target name="init">
-		<mkdir dir="${workingDirectory}"/>
-		<mkdir dir="${downloadDirectory}"/>
-		<mkdir dir="${tempDirectory}"/>
-	</target>
-
-	<target name="retrieveMapFiles" unless="skipMaps">
-		<available property="mapsFetched" file="${workingDirectory}/all.maps"/>
-		<ant antfile="${customTargets}" target="getMapFiles" />
-		<concat destfile="${workingDirectory}/all.maps">
-			<fileset dir="${downloadDirectory}" includes="**/*.map"/>
-		</concat>
-	</target>
-
-	<!-- take the content of all.maps, retrieve the files according to the filtering options (config, content), 
-	and generate a directory.txt for the rest of the process using config as a key, and containing the name of the zip and the directory -->
-	<target name="retrieveFiles" unless="skipFetch">
-		<eclipse.fetchFilesGenerator map="${workingDirectory}/all.maps"
-									workingDirectory="${workingDirectory}"
-									configInfo="${config}"
-									contentFilter="${contentFilter}"
-									componentFilter="${componentFilter}"/>
-		<ant antfile="fetch.xml" dir="${workingDirectory}" />
-	</target>
-
-	<!-- Process the directory.txt to create unzipper.xml, and run unzipper.xml-->
-	<target name="prepareResources" unless="skipUnzip">
-		<eclipse.unzipperBuilder 	workingDirectory="${workingDirectory}" 
-											configInfo="${config}"
-											packagePropertyFile="${packagingPropertyFile}"/>
-		<ant antfile="${workingDirectory}/unzipper.xml"/>
-	</target>
-
-	<!-- Generate an assemble script (assemble.xml) for the given features -->
-	<target name="generateAssembleScripts">
-		<echo message="${target}"/>
-		<eclipse.assembler featureList="${featureList}" 
-									workingDirectory="${workingDirectory}" 
-									configInfo="${config}" 
-									baseLocation="${target}" 
-									packagePropertyFile="${packagingPropertyFile}" 
-									deltaPack="${deltaPack}"
-									archivesFormat="${archivesFormat}"
-									filteredDependencyCheck="${filteredDependencyCheck}"
-									normalize="${normalizeWhilePackaging}"/>
-	</target>
-
-	<!-- Call the assemble.xml script -->
-	<target name="callAssembleScripts">
-		<ant antfile="package.all.xml" dir="${workingDirectory}"/>
-	</target>
-
-	<target name="main" description="Start the packager for a given config">
-		<property file="${packagingInfo}/packager.properties" />
-		<property name="customTargets" location="${packagingInfo}/customTargets.xml" />
-		<property name="packagingPropertyFile" location="${packagingInfo}/${packagingProperties}" />
-		
-		<condition property="skipMaps" value="true">
-			<isset property="prefilledTarget" />
-		</condition>
-		<condition property="skipFetch" value="true">
-			<isset property="prefilledTarget" />
-		</condition>
-		<condition property="skipUnzip" value="true">
-			<isset property="prefilledTarget" />
-		</condition>
-		
-		<!-- Compatibility -->
-		<property name="filteredDependencyCheck" value="false"/>
-		<condition property="skipMaps" value="true">
-			<isset property="localMaps"/>
-		</condition>
-		<condition property="target" value="${tempDirectory}/${featurePaths}">
-			<isset property="featurePaths"/>
-		</condition>
-		<property name="normalizeWhilePackaging" value="true"/>
-		
-		<!-- End of compatibility -->
-			
-		<antcall target="init" />
-		<antcall target="retrieveMapFiles"/>
-		<antcall target="retrieveFiles"/>
-		<antcall target="prepareResources"/>
-		<antcall target="generateAssembleScripts"/>
-		<antcall target="callAssembleScripts"/>
-	</target>
-</project>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/package.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/package.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/package.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/package.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,88 @@
+<project name="packager" default="main" basedir=".">
+	<target name="init">
+		<mkdir dir="${workingDirectory}"/>
+		<mkdir dir="${downloadDirectory}"/>
+		<mkdir dir="${tempDirectory}"/>
+	</target>
+
+	<target name="retrieveMapFiles" unless="skipMaps">
+		<available property="mapsFetched" file="${workingDirectory}/all.maps"/>
+		<ant antfile="${customTargets}" target="getMapFiles" />
+		<concat destfile="${workingDirectory}/all.maps">
+			<fileset dir="${downloadDirectory}" includes="**/*.map"/>
+		</concat>
+	</target>
+
+	<!-- take the content of all.maps, retrieve the files according to the filtering options (config, content), 
+	and generate a directory.txt for the rest of the process using config as a key, and containing the name of the zip and the directory -->
+	<target name="retrieveFiles" unless="skipFetch">
+		<eclipse.fetchFilesGenerator map="${workingDirectory}/all.maps"
+									workingDirectory="${workingDirectory}"
+									configInfo="${config}"
+									contentFilter="${contentFilter}"
+									componentFilter="${componentFilter}"/>
+		<ant antfile="fetch.xml" dir="${workingDirectory}" />
+	</target>
+
+	<!-- Process the directory.txt to create unzipper.xml, and run unzipper.xml-->
+	<target name="prepareResources" unless="skipUnzip">
+		<eclipse.unzipperBuilder 	workingDirectory="${workingDirectory}" 
+											configInfo="${config}"
+											packagePropertyFile="${packagingPropertyFile}"/>
+		<ant antfile="${workingDirectory}/unzipper.xml"/>
+	</target>
+
+	<!-- Generate an assemble script (assemble.xml) for the given features -->
+	<target name="generateAssembleScripts">
+		<echo message="${target}"/>
+		<eclipse.assembler featureList="${featureList}" 
+									workingDirectory="${workingDirectory}" 
+									configInfo="${config}" 
+									baseLocation="${target}" 
+									packagePropertyFile="${packagingPropertyFile}" 
+									deltaPack="${deltaPack}"
+									archivesFormat="${archivesFormat}"
+									filteredDependencyCheck="${filteredDependencyCheck}"
+									normalize="${normalizeWhilePackaging}"/>
+	</target>
+
+	<!-- Call the assemble.xml script -->
+	<target name="callAssembleScripts">
+		<ant antfile="package.all.xml" dir="${workingDirectory}"/>
+	</target>
+
+	<target name="main" description="Start the packager for a given config">
+		<property file="${packagingInfo}/packager.properties" />
+		<property name="customTargets" location="${packagingInfo}/customTargets.xml" />
+		<property name="packagingPropertyFile" location="${packagingInfo}/${packagingProperties}" />
+		
+		<condition property="skipMaps" value="true">
+			<isset property="prefilledTarget" />
+		</condition>
+		<condition property="skipFetch" value="true">
+			<isset property="prefilledTarget" />
+		</condition>
+		<condition property="skipUnzip" value="true">
+			<isset property="prefilledTarget" />
+		</condition>
+		
+		<!-- Compatibility -->
+		<property name="filteredDependencyCheck" value="false"/>
+		<condition property="skipMaps" value="true">
+			<isset property="localMaps"/>
+		</condition>
+		<condition property="target" value="${tempDirectory}/${featurePaths}">
+			<isset property="featurePaths"/>
+		</condition>
+		<property name="normalizeWhilePackaging" value="true"/>
+		
+		<!-- End of compatibility -->
+			
+		<antcall target="init" />
+		<antcall target="retrieveMapFiles"/>
+		<antcall target="retrieveFiles"/>
+		<antcall target="prepareResources"/>
+		<antcall target="generateAssembleScripts"/>
+		<antcall target="callAssembleScripts"/>
+	</target>
+</project>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/pom.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,286 +0,0 @@
-<?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">
-
-  <parent>
-    <artifactId>drools</artifactId>
-    <groupId>org.drools</groupId>
-    <version>4.0.6</version>
-  </parent>
-
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>drools-eclipse3.3</artifactId>
-  <packaging>pom</packaging>
-
-  <name>Drools :: Eclipse-Plugin3.3</name>
-  <build>
-    <plugins>    
-     <plugin>
-       <artifactId>maven-antrun-plugin</artifactId>
-       <inherited>false</inherited>
-       <executions>
-         <execution>
-           <id>clean lib</id>
-           <phase>clean</phase>
-           <configuration>
-             <tasks>                              
-                <delete>
-                  <fileset dir="drools-eclipse-plugin/lib" includes="**/*.jar" excludes="**/.svn" />                 
-                </delete>
-                <delete dir="drools-eclipse-plugin/help/shared" />     
-                <delete dir="drools-eclipse-plugin/help/eclipse" />     
-             </tasks>
-           </configuration>
-           <goals>
-             <goal>run</goal>
-           </goals>
-         </execution>    
-         
-         <execution>
-           <id>unzip manual</id>
-           <phase>process-resources</phase>
-           <configuration>
-             <tasks>     
-               <unzip src="drools-eclipse-plugin/lib/drools-documentation.jar" dest="drools-eclipse-plugin/help">
-                  <patternset>
-                      <include name="eclipse/**/**"/>
-                      <include name="shared/**/**"/>
-                  </patternset>               
-               </unzip>         
-               
-               <delete dir="drools-eclipse-plugin/lib/drools-documentation.jar" />     
-             </tasks>
-           </configuration>
-           <goals>
-             <goal>run</goal>
-           </goals>           
-         </execution>
-       
-         <execution>
-           <id>compile-plugin</id>
-           <phase>compile</phase>
-           <configuration>
-             <tasks>                              
-                <property name="eclipse.home" value="target/eclipse" />             
-                
-                <property name="localEclipseDrop" value="${basedir}/local-eclipse-drop-mirror" />                
-                <delete  dir="target/eclipse.build" />
-                
-                <ant target="setupLocalEclipse" antfile="setupEclipse.xml">
-                  <property name="localEclipseDrop" value="${localEclipseDrop}" />
-                </ant>
-                 
-                <java jar="${eclipse.home}/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar"
-                      fork="true"
-                      failonerror="true"
-                      maxmemory="128m">
-                     <arg line="-application org.eclipse.ant.core.antRunner -DmavenCompilePhase=true"/>
-                </java>                 
-             </tasks>
-           </configuration>
-           <goals>
-             <goal>run</goal>
-           </goals>
-         </execution>
-         
-         <execution>
-           <id>test-plugin</id>
-           <phase>test</phase>
-           <configuration>
-             <tasks>            
-               <!-- Determine OS -->
-               <condition property="baseos" value="win32">
-                   <contains string="${os.name}" substring="Windows" />
-               </condition>
-             
-               <condition property="baseos" value="linux">
-                   <contains string="${os.name}" substring="Linux" />
-               </condition>
-               
-               <condition property="baseos" value="macosx">
-                   <contains string="${os.name}" substring="Mac OS X" />
-               </condition>
-               
-               <condition property="baseos" value="win32">
-                   <contains string="${os.name}" substring="Windows" />
-               </condition>        
-             
-               <condition property="baseos" value="aix">
-                   <contains string="${os.name}" substring="AIX" />
-               </condition>    
-               
-               <condition property="baseos" value="hpux">
-                   <contains string="${os.name}" substring="HP-UX" />
-               </condition> 
-               
-               <condition property="baseos" value="solaris">
-                   <contains string="${os.name}" substring="Solaris" />
-               </condition>  
-               
-               <condition property="baseos" value="qnx">
-                   <contains string="${os.name}" substring="QNX" />
-               </condition>                        
-               
-               <!-- Determine WS -->
-               <condition property="basews" value="win32">
-                   <contains string="${os.name}" substring="Windows" />
-               </condition>    
-               
-               <condition property="basews" value="gtk">
-                   <contains string="${os.name}" substring="Linux" />
-               </condition>    
-               
-               <condition property="basews" value="carbon">
-                   <contains string="${os.name}" substring="Mac OS X" />
-               </condition>        
-                   
-               <!-- Determine ARCH -->
-               <condition property="basearch" value="x86">
-                 <or>
-                   <contains string="${os.arch}" substring="i386" />
-                   <contains string="${os.arch}" substring="i686" />
-                   <contains string="${os.arch}" substring="x86" />
-                   <contains string="${os.arch}" substring="Pentium" />
-                 </or>
-               </condition>
-             
-               <condition property="basearch" value="linux">
-                   <contains string="${os.name}" substring="Linux" />
-               </condition>
-               
-               <condition property="basearch" value="ppc">
-                   <contains string="${os.name}" substring="ppc" />
-               </condition>                     
-               
-               <condition property="basearch" value="sparc">
-                   <contains string="${os.name}" substring="sparc" />
-               </condition>                   
-               
-               <condition property="mavenTestPhase" value="" else="-DmavenTestPhase=true">
-                   <isset property="maven.test.skip" />
-               </condition>                
-              
-                <property name="eclipse.home" value="target/eclipse" />                             
-                
-                <echo>-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}</echo>
-                 
-                <java jar="${eclipse.home}/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar"
-                      fork="true"
-                      failonerror="true"
-                      maxmemory="128m">
-                     <arg line="-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}"/>
-                </java>                 
-             </tasks>
-           </configuration>
-           <goals>
-             <goal>run</goal>
-           </goals>
-         </execution>         
-         
-         <execution>
-           <id>unzip</id>
-           <phase>package</phase>
-           <configuration>
-             <tasks>                
-                <unzip src="target/drools-eclipse3.3-${project.version}.zip" dest="../target/eclipse3.3"/>                         
-             </tasks>
-           </configuration>
-           <goals>
-             <goal>run</goal>
-           </goals>
-         </execution>         
-       </executions>
-     </plugin>
-     
-     <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>copy-dependencies</id>
-            <phase>generate-resources</phase>
-            <goals>
-              <goal>copy-dependencies</goal>
-            </goals>
-            <configuration>
-              <outputDirectory>drools-eclipse-plugin/lib</outputDirectory>
-              <overWriteReleases>true</overWriteReleases>
-              <overWriteSnapshots>true</overWriteSnapshots>
-              <overWriteIfNewer>true</overWriteIfNewer>
-              <stripVersion>true</stripVersion>              
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>     
-    </plugins>
-  </build>
-
-  <repositories>
-    <repository>
-      <id>basedir</id>
-      <url>file://${basedir}/../m2_repo</url>
-    </repository>
-  </repositories>
-
-  <dependencies>
-
-    <!-- this should include core and compiler -->
-    <dependency>
-      <groupId>org.drools</groupId>
-      <artifactId>drools-jsr94</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.eclipse.jdt</groupId>
-          <artifactId>core</artifactId>
-        </exclusion>
-
-        <exclusion>
-          <groupId>janino</groupId>
-          <artifactId>janino</artifactId>
-        </exclusion>
-
-        <exclusion>
-          <groupId>jsr94</groupId>
-          <artifactId>jsr94-sigtest</artifactId>
-        </exclusion>
-
-        <exclusion>
-          <groupId>jsr94</groupId>
-          <artifactId>jsr94-tck</artifactId>
-        </exclusion>
-
-      </exclusions>
-    </dependency>
-
-    <dependency>
-      <groupId>org.drools</groupId>
-      <artifactId>drools-decisiontables</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.eclipse.jdt</groupId>
-          <artifactId>core</artifactId>
-        </exclusion>
-
-        <exclusion>
-          <groupId>janino</groupId>
-          <artifactId>janino</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>com.thoughtworks.xstream</groupId>
-      <artifactId>xstream</artifactId>
-    </dependency>
-    <dependency>
-      <!-- TODO remove this dependency and change MANIFEST.MF to use xpp3_min.jar (non-optional dep of xstream) -->
-      <groupId>xpp3</groupId>
-      <artifactId>xpp3</artifactId>
-      <scope>runtime</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.drools</groupId>
-      <artifactId>drools-documentation</artifactId>         
-   </dependency>      
-</dependencies>
-
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/pom.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,286 @@
+<?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">
+
+  <parent>
+    <artifactId>drools</artifactId>
+    <groupId>org.drools</groupId>
+    <version>4.0.6</version>
+  </parent>
+
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>drools-eclipse3.3</artifactId>
+  <packaging>pom</packaging>
+
+  <name>Drools :: Eclipse-Plugin3.3</name>
+  <build>
+    <plugins>    
+     <plugin>
+       <artifactId>maven-antrun-plugin</artifactId>
+       <inherited>false</inherited>
+       <executions>
+         <execution>
+           <id>clean lib</id>
+           <phase>clean</phase>
+           <configuration>
+             <tasks>                              
+                <delete>
+                  <fileset dir="drools-eclipse-plugin/lib" includes="**/*.jar" excludes="**/.svn" />                 
+                </delete>
+                <delete dir="drools-eclipse-plugin/help/shared" />     
+                <delete dir="drools-eclipse-plugin/help/eclipse" />     
+             </tasks>
+           </configuration>
+           <goals>
+             <goal>run</goal>
+           </goals>
+         </execution>    
+         
+         <execution>
+           <id>unzip manual</id>
+           <phase>process-resources</phase>
+           <configuration>
+             <tasks>     
+               <unzip src="drools-eclipse-plugin/lib/drools-documentation.jar" dest="drools-eclipse-plugin/help">
+                  <patternset>
+                      <include name="eclipse/**/**"/>
+                      <include name="shared/**/**"/>
+                  </patternset>               
+               </unzip>         
+               
+               <delete dir="drools-eclipse-plugin/lib/drools-documentation.jar" />     
+             </tasks>
+           </configuration>
+           <goals>
+             <goal>run</goal>
+           </goals>           
+         </execution>
+       
+         <execution>
+           <id>compile-plugin</id>
+           <phase>compile</phase>
+           <configuration>
+             <tasks>                              
+                <property name="eclipse.home" value="target/eclipse" />             
+                
+                <property name="localEclipseDrop" value="${basedir}/local-eclipse-drop-mirror" />                
+                <delete  dir="target/eclipse.build" />
+                
+                <ant target="setupLocalEclipse" antfile="setupEclipse.xml">
+                  <property name="localEclipseDrop" value="${localEclipseDrop}" />
+                </ant>
+                 
+                <java jar="${eclipse.home}/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar"
+                      fork="true"
+                      failonerror="true"
+                      maxmemory="128m">
+                     <arg line="-application org.eclipse.ant.core.antRunner -DmavenCompilePhase=true"/>
+                </java>                 
+             </tasks>
+           </configuration>
+           <goals>
+             <goal>run</goal>
+           </goals>
+         </execution>
+         
+         <execution>
+           <id>test-plugin</id>
+           <phase>test</phase>
+           <configuration>
+             <tasks>            
+               <!-- Determine OS -->
+               <condition property="baseos" value="win32">
+                   <contains string="${os.name}" substring="Windows" />
+               </condition>
+             
+               <condition property="baseos" value="linux">
+                   <contains string="${os.name}" substring="Linux" />
+               </condition>
+               
+               <condition property="baseos" value="macosx">
+                   <contains string="${os.name}" substring="Mac OS X" />
+               </condition>
+               
+               <condition property="baseos" value="win32">
+                   <contains string="${os.name}" substring="Windows" />
+               </condition>        
+             
+               <condition property="baseos" value="aix">
+                   <contains string="${os.name}" substring="AIX" />
+               </condition>    
+               
+               <condition property="baseos" value="hpux">
+                   <contains string="${os.name}" substring="HP-UX" />
+               </condition> 
+               
+               <condition property="baseos" value="solaris">
+                   <contains string="${os.name}" substring="Solaris" />
+               </condition>  
+               
+               <condition property="baseos" value="qnx">
+                   <contains string="${os.name}" substring="QNX" />
+               </condition>                        
+               
+               <!-- Determine WS -->
+               <condition property="basews" value="win32">
+                   <contains string="${os.name}" substring="Windows" />
+               </condition>    
+               
+               <condition property="basews" value="gtk">
+                   <contains string="${os.name}" substring="Linux" />
+               </condition>    
+               
+               <condition property="basews" value="carbon">
+                   <contains string="${os.name}" substring="Mac OS X" />
+               </condition>        
+                   
+               <!-- Determine ARCH -->
+               <condition property="basearch" value="x86">
+                 <or>
+                   <contains string="${os.arch}" substring="i386" />
+                   <contains string="${os.arch}" substring="i686" />
+                   <contains string="${os.arch}" substring="x86" />
+                   <contains string="${os.arch}" substring="Pentium" />
+                 </or>
+               </condition>
+             
+               <condition property="basearch" value="linux">
+                   <contains string="${os.name}" substring="Linux" />
+               </condition>
+               
+               <condition property="basearch" value="ppc">
+                   <contains string="${os.name}" substring="ppc" />
+               </condition>                     
+               
+               <condition property="basearch" value="sparc">
+                   <contains string="${os.name}" substring="sparc" />
+               </condition>                   
+               
+               <condition property="mavenTestPhase" value="" else="-DmavenTestPhase=true">
+                   <isset property="maven.test.skip" />
+               </condition>                
+              
+                <property name="eclipse.home" value="target/eclipse" />                             
+                
+                <echo>-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}</echo>
+                 
+                <java jar="${eclipse.home}/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar"
+                      fork="true"
+                      failonerror="true"
+                      maxmemory="128m">
+                     <arg line="-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}"/>
+                </java>                 
+             </tasks>
+           </configuration>
+           <goals>
+             <goal>run</goal>
+           </goals>
+         </execution>         
+         
+         <execution>
+           <id>unzip</id>
+           <phase>package</phase>
+           <configuration>
+             <tasks>                
+                <unzip src="target/drools-eclipse3.3-${project.version}.zip" dest="../target/eclipse3.3"/>                         
+             </tasks>
+           </configuration>
+           <goals>
+             <goal>run</goal>
+           </goals>
+         </execution>         
+       </executions>
+     </plugin>
+     
+     <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy-dependencies</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>copy-dependencies</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>drools-eclipse-plugin/lib</outputDirectory>
+              <overWriteReleases>true</overWriteReleases>
+              <overWriteSnapshots>true</overWriteSnapshots>
+              <overWriteIfNewer>true</overWriteIfNewer>
+              <stripVersion>true</stripVersion>              
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>     
+    </plugins>
+  </build>
+
+  <repositories>
+    <repository>
+      <id>basedir</id>
+      <url>file://${basedir}/../m2_repo</url>
+    </repository>
+  </repositories>
+
+  <dependencies>
+
+    <!-- this should include core and compiler -->
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-jsr94</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.eclipse.jdt</groupId>
+          <artifactId>core</artifactId>
+        </exclusion>
+
+        <exclusion>
+          <groupId>janino</groupId>
+          <artifactId>janino</artifactId>
+        </exclusion>
+
+        <exclusion>
+          <groupId>jsr94</groupId>
+          <artifactId>jsr94-sigtest</artifactId>
+        </exclusion>
+
+        <exclusion>
+          <groupId>jsr94</groupId>
+          <artifactId>jsr94-tck</artifactId>
+        </exclusion>
+
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-decisiontables</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.eclipse.jdt</groupId>
+          <artifactId>core</artifactId>
+        </exclusion>
+
+        <exclusion>
+          <groupId>janino</groupId>
+          <artifactId>janino</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>com.thoughtworks.xstream</groupId>
+      <artifactId>xstream</artifactId>
+    </dependency>
+    <dependency>
+      <!-- TODO remove this dependency and change MANIFEST.MF to use xpp3_min.jar (non-optional dep of xstream) -->
+      <groupId>xpp3</groupId>
+      <artifactId>xpp3</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-documentation</artifactId>         
+   </dependency>      
+</dependencies>
+
+</project>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/setupEclipse.xml
===================================================================
--- labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/setupEclipse.xml	2008-03-31 02:41:23 UTC (rev 19328)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/setupEclipse.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,125 +0,0 @@
-<project name="Setup Local  Eclipse" default="setupLocalEclipse">   
-  
-  <property file="build.properties"/>
-
-  <property name="localEclipseDrop" value="${basedir}/local-eclipse-drop-mirror" />   
- 
-  <!-- set the OS name, make sure each condition is mutally exclusive -->
-	<condition property="download.type" value="win32">
-		<os family="windows" />
-	</condition>	
-			
-	<condition property="download.type" value="macosx-carbon">
-		<and>
-			<os family="mac" />
-			<os family="unix" />
-		</and>
-	</condition>
-	
-	<condition property="download.type" value="linux-gtk">
-		<and>
-			<not>
-				<os family="mac" />
-			</not>
-			<os family="unix" />
-		</and>
-	</condition>		
-	
-	<condition property="download.extension" value="zip">
-		<os family="windows" />
-	</condition>		
-	
-	<condition property="download.extension" value="tar.gz">
-		<or>
-			<os family="mac" />
-			<os family="unix" />
-		</or>
-	</condition>	
-		  		        
-   <condition property="expandTypeZip" value="true">
-       <equals arg1="${download.extension}" arg2="zip" />
-   </condition>   
-
-   <condition property="expandTypeTarGz" value="true">
-       <equals arg1="${download.extension}" arg2="tar.gz" />
-   </condition>   
-   
-  <!-- make sure the directory exists -->   
-  <target name="makeLocalEclipseDropDir">
-    <mkdir dir="${localEclipseDrop}" />    
-  </target>   
-   
-  <target name="getEclipseJar" depends="checkEclipseJar" unless="skipGetEclipseJar">
-    <mkdir dir="${localEclipseDrop}/eclipse/${eclipseBuildRevision}" />    
-    
-    <get usetimestamp="true" src="${eclipseURL}/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" 
-         dest="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" /> 
-  </target>  
-  
-  <target name="getTestJar" depends="checkTestJar" unless="skipGetTestJar">
-    <mkdir dir="${localEclipseDrop}/eclipse/${eclipseBuildRevision}" />    
-    <get usetimestamp="true" src="${eclipseURL}/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip"
-         dest="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip"/>    
-  </target>
-
-  <target name="getGefJar" depends="checkGefJar" unless="skipGetGefJar">
-    <mkdir dir="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}" />    
-    <get usetimestamp="true" src="${eclipseGefURL}/${eclipseGefBuildRevision}/GEF-runtime-${eclipseGefBuildId}.zip" 
-         dest="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseGefBuildId}.zip" />
-  </target>      
-
-	<target name="checkEclipseJar">	
-		<available file="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-win32.zip" property="skipGetEclipseJar" />
-	</target>
-	
-	<target name="checkTestJar">	
-		<available file="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip" property="skipGetTestJar" />
-	</target>	
-		
-	<target name="checkGefJar">	
-		<available file="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseGefBuildId}.zip" property="skipGetGefJar" />
-	</target>	  
-
-  <target name="setupLocalEclipseDrop"  depends="checkEclipseDir" unless="skipUnzipEclipseJars">
-    <antcall target="makeLocalEclipseDropDir" />
-    <antcall target="getEclipseJar" />
-    <antcall target="getTestJar" />    
-    <antcall target="getGefJar" />      
-  </target>
-  
-  <target name="expandEclipseJars">   
-    <antcall target="unzipEclipse" />	
-    <antcall target="untarEclipse" />
-    
-    <unzip dest="${base}" overwrite="true"
-           src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip" />   				
-				
-		<unzip dest="${base}" overwrite="true" 
-		       src="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseGefBuildId}.zip" />				         
-  </target>    
-  
-  <target name="unzipEclipse" if="expandTypeZip">
-  	<unzip dest="${base}" overwrite="true" 
-  	       src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" />  
-  </target>
-
-  <target name="untarEclipse" if="expandTypeTarGz">
-	<gunzip src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.tar.gz"/>
-	<untar dest="${base}" src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.tar" />
-  </target>
-  
-  <target name="checkEclipseDir">
-    <available file="${base}/eclipse" property="skipUnzipEclipseJars" />
-  </target>
-    
-  <target name="setupLocalEclipse" depends="checkLocalEclipse" unless="skipSetupLocalEcipse">  
-    <echo>local eclipse drop mirror - ${localEclipseDrop}</echo>
-    <antcall target="setupLocalEclipseDrop" />
-    <antcall target="expandEclipseJars" />
-  </target>	
-  
-  <target name="checkLocalEclipse">
-      <available type="dir" file="${base}/eclipse" property="skipSetupLocalEcipse" />
-  </target>
-  
-</project>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/setupEclipse.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-eclipse3.3/setupEclipse.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/setupEclipse.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/setupEclipse.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,125 @@
+<project name="Setup Local  Eclipse" default="setupLocalEclipse">   
+  
+  <property file="build.properties"/>
+
+  <property name="localEclipseDrop" value="${basedir}/local-eclipse-drop-mirror" />   
+ 
+  <!-- set the OS name, make sure each condition is mutally exclusive -->
+	<condition property="download.type" value="win32">
+		<os family="windows" />
+	</condition>	
+			
+	<condition property="download.type" value="macosx-carbon">
+		<and>
+			<os family="mac" />
+			<os family="unix" />
+		</and>
+	</condition>
+	
+	<condition property="download.type" value="linux-gtk">
+		<and>
+			<not>
+				<os family="mac" />
+			</not>
+			<os family="unix" />
+		</and>
+	</condition>		
+	
+	<condition property="download.extension" value="zip">
+		<os family="windows" />
+	</condition>		
+	
+	<condition property="download.extension" value="tar.gz">
+		<or>
+			<os family="mac" />
+			<os family="unix" />
+		</or>
+	</condition>	
+		  		        
+   <condition property="expandTypeZip" value="true">
+       <equals arg1="${download.extension}" arg2="zip" />
+   </condition>   
+
+   <condition property="expandTypeTarGz" value="true">
+       <equals arg1="${download.extension}" arg2="tar.gz" />
+   </condition>   
+   
+  <!-- make sure the directory exists -->   
+  <target name="makeLocalEclipseDropDir">
+    <mkdir dir="${localEclipseDrop}" />    
+  </target>   
+   
+  <target name="getEclipseJar" depends="checkEclipseJar" unless="skipGetEclipseJar">
+    <mkdir dir="${localEclipseDrop}/eclipse/${eclipseBuildRevision}" />    
+    
+    <get usetimestamp="true" src="${eclipseURL}/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" 
+         dest="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" /> 
+  </target>  
+  
+  <target name="getTestJar" depends="checkTestJar" unless="skipGetTestJar">
+    <mkdir dir="${localEclipseDrop}/eclipse/${eclipseBuildRevision}" />    
+    <get usetimestamp="true" src="${eclipseURL}/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip"
+         dest="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip"/>    
+  </target>
+
+  <target name="getGefJar" depends="checkGefJar" unless="skipGetGefJar">
+    <mkdir dir="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}" />    
+    <get usetimestamp="true" src="${eclipseGefURL}/${eclipseGefBuildRevision}/GEF-runtime-${eclipseGefBuildId}.zip" 
+         dest="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseGefBuildId}.zip" />
+  </target>      
+
+	<target name="checkEclipseJar">	
+		<available file="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-win32.zip" property="skipGetEclipseJar" />
+	</target>
+	
+	<target name="checkTestJar">	
+		<available file="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip" property="skipGetTestJar" />
+	</target>	
+		
+	<target name="checkGefJar">	
+		<available file="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseGefBuildId}.zip" property="skipGetGefJar" />
+	</target>	  
+
+  <target name="setupLocalEclipseDrop"  depends="checkEclipseDir" unless="skipUnzipEclipseJars">
+    <antcall target="makeLocalEclipseDropDir" />
+    <antcall target="getEclipseJar" />
+    <antcall target="getTestJar" />    
+    <antcall target="getGefJar" />      
+  </target>
+  
+  <target name="expandEclipseJars">   
+    <antcall target="unzipEclipse" />	
+    <antcall target="untarEclipse" />
+    
+    <unzip dest="${base}" overwrite="true"
+           src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-test-framework-${eclipseBuildId}.zip" />   				
+				
+		<unzip dest="${base}" overwrite="true" 
+		       src="${localEclipseDrop}/tools/gef/${eclipseGefBuildRevision}/GEF-runtime-${eclipseGefBuildId}.zip" />				         
+  </target>    
+  
+  <target name="unzipEclipse" if="expandTypeZip">
+  	<unzip dest="${base}" overwrite="true" 
+  	       src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.${download.extension}" />  
+  </target>
+
+  <target name="untarEclipse" if="expandTypeTarGz">
+	<gunzip src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.tar.gz"/>
+	<untar dest="${base}" src="${localEclipseDrop}/eclipse/${eclipseBuildRevision}/eclipse-SDK-${eclipseBuildId}-${download.type}.tar" />
+  </target>
+  
+  <target name="checkEclipseDir">
+    <available file="${base}/eclipse" property="skipUnzipEclipseJars" />
+  </target>
+    
+  <target name="setupLocalEclipse" depends="checkLocalEclipse" unless="skipSetupLocalEcipse">  
+    <echo>local eclipse drop mirror - ${localEclipseDrop}</echo>
+    <antcall target="setupLocalEclipseDrop" />
+    <antcall target="expandEclipseJars" />
+  </target>	
+  
+  <target name="checkLocalEclipse">
+      <available type="dir" file="${base}/eclipse" property="skipSetupLocalEcipse" />
+  </target>
+  
+</project>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,6 +2,7 @@
 
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
+import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -9,13 +10,17 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Properties;
 import java.util.Random;
 import java.util.StringTokenizer;
 
 import org.drools.RuleBase;
+import org.drools.RuleBaseConfiguration;
+import org.drools.RuleBaseConfigurationTest;
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
 import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
 import org.drools.rule.Package;
 
 public class MannersBenchmark {
@@ -32,13 +37,20 @@
 	private int maxHobbies = 3;
 
 	public static void main(final String[] args) throws Exception {
-		PackageBuilder builder = new PackageBuilder();
+	    PackageBuilderConfiguration config = new PackageBuilderConfiguration();
+	    config.setDumpDir( new File("/stash") );
+	    
+		PackageBuilder builder = new PackageBuilder(config);
 		builder.addPackageFromDrl(new InputStreamReader(MannersBenchmark.class
 				.getResourceAsStream("manners.drl")));
 		Package pkg = builder.getPackage();
+		
 
-		// add the package to a rulebase
-		final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+        RuleBaseConfiguration conf = new RuleBaseConfiguration();
+        conf.setShadowProxy( false );
+        
+        // add the package to a rulebase
+		final RuleBase ruleBase = RuleBaseFactory.newRuleBase(conf);
 		ruleBase.addPackage(pkg);
 
 		StatefulSession session = ruleBase.newStatefulSession();

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/waltz/WaltzBenchmark.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/waltz/WaltzBenchmark.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/waltz/WaltzBenchmark.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -39,9 +39,11 @@
             PackageBuilder builder = new PackageBuilder();
             builder.addPackageFromDrl( new InputStreamReader( WaltzBenchmark.class.getResourceAsStream( "waltz.drl" ) ) );
             Package pkg = builder.getPackage();
-            
             //add the package to a rulebase
-            final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+            RuleBaseConfiguration conf = new RuleBaseConfiguration();
+            //conf.setAlphaMemory( true );
+            conf.setShadowProxy( false );
+            final RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
             ruleBase.addPackage( pkg );
             
             StatefulSession session = ruleBase.newStatefulSession();

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/manners/manners.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/manners/manners.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/manners/manners.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -14,13 +14,11 @@
         Path path = new Path( count.getValue(), 1, guestName );
         insert( path );
         
-        count.setValue(  count.getValue() + 1 );        
-        update( count );
+        modify( count ) { setValue ( count.getValue() + 1 )  }
 
 		System.out.println( "assign first seat :  " + seating + " : " + path );
 
-        context.setState( Context.ASSIGN_SEATS );        
-        update( context );
+        modify( context ) { setState( Context.ASSIGN_SEATS ) } 
 end
 
 rule findSeating
@@ -50,11 +48,8 @@
 
 	   System.err.println( "find seating : " + seating + " : " + path + " : " + chosen);
 
-       count.setValue(  countValue + 1 );
-       update( count );       
-
-       context.setState( Context.MAKE_PATH );
-       update( context );
+       modify( count ) {setValue(  countValue + 1 )}        
+       modify( context ) {setState( Context.MAKE_PATH )} 
 end
 
 rule makePath
@@ -72,11 +67,9 @@
         context : Context( state == Context.MAKE_PATH ) 
         seating : Seating( pathDone == false ) 
     then
-        seating.setPathDone( true ); 
-        update( seating );
+        modify( seating ) {setPathDone( true )} 
         
-        context.setState( Context.CHECK_DONE ); 
-		update( context );
+		modify( context ) {setState( Context.CHECK_DONE)}
 end
 
 
@@ -86,16 +79,14 @@
         LastSeat( lastSeat: seat )
         Seating( rightSeat == lastSeat ) 
     then
-        context.setState(Context.PRINT_RESULTS ); 
-        update( context );
+        modify( context ) {setState(Context.PRINT_RESULTS )}
 end
 
 rule continue
     when
         context : Context( state == Context.CHECK_DONE ) 
     then
-        context.setState( Context.ASSIGN_SEATS ); 
-        update( context );
+        modify( context ) {setState( Context.ASSIGN_SEATS )}
 end
 
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltz/waltz.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltz/waltz.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltz/waltz.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -28,8 +28,7 @@
         $stage: Stage ( value == Stage.DUPLICATE )
         not ( Line() )
 	then
-        $stage.setValue ( Stage.DETECT_JUNCTIONS );
-        update($stage);
+        modify($stage) {setValue ( Stage.DETECT_JUNCTIONS )} 
     	System.out.println("reversing done");
 end
 
@@ -48,12 +47,9 @@
 	    Junction junction = WaltzUtil.make_3_junction( $basePoint, $edge1P2, $edge2P2, $edge3P2 );
         System.out.println( junction );
 	    insert( junction );
-	    $edge1.setJoined(true);
-	    $edge2.setJoined(true);
-	    $edge3.setJoined(true);
-	    update( $edge1 );
-	    update( $edge2 );
-	    update( $edge3 );
+	    modify( $edge1 ) {setJoined(true)}
+	    modify( $edge2 ) {setJoined(true)}
+	    modify( $edge3 ) {setJoined(true)}
 end
 
 #If two, and only two, edges meet that have not already been joined, then
@@ -66,10 +62,8 @@
         not Edge( p1==$basePoint, p2 != $edge1P2, p2 != $edge2P2 )
 	then
 	    insert( new Junction($edge1P2, $edge2P2, 0, $basePoint, Junction.L) );
-	    $edge1.setJoined(true);
-	    $edge2.setJoined(true);
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setJoined(true)}
+	    modify( $edge2 ) {setJoined(true)}
 	    System.out.println("make L");
 end
 
@@ -79,8 +73,7 @@
     when
         $stage : Stage ( value == Stage.DETECT_JUNCTIONS )
  	then
- 	    $stage.setValue( Stage.FIND_INITIAL_BOUNDARY );
- 	    update( $stage );
+ 	    modify( $stage ) {setValue( Stage.FIND_INITIAL_BOUNDARY )}
     	System.out.println("detecting done");
 end
 
@@ -93,12 +86,9 @@
 	    $edge2 : Edge ( p1 == $basePoint, p2 == $p2 )
         not Junction( basePoint > $basePoint )
 	then
-	    $edge1.setLabel( Edge.B );
-	    $edge2.setLabel( Edge.B );
-	    $stage.setValue( Stage.FIND_SECOND_BOUNDARY );
-	    update( $edge1 );
-	    update( $edge2 );
-	    update( $stage );
+	    modify( $edge1 ) {setLabel( Edge.B )}
+	    modify( $edge2 ) {setLabel( Edge.B )}
+	    modify( $stage ) {setValue( Stage.FIND_SECOND_BOUNDARY )}
     	System.out.println("initial boundary junction L");
 end
 
@@ -112,14 +102,10 @@
 	    $edge3 : Edge ( p1 == $basePoint, p2 == $p3 )
         not Junction( basePoint > $basePoint )
 	then
-	    $edge1.setLabel( Edge.B );
-	    $edge2.setLabel( Edge.PLUS );
-	    $edge3.setLabel( Edge.B );
-	    $stage.setValue( Stage.FIND_SECOND_BOUNDARY );
-	    update( $edge1 );
-	    update( $edge2 );
-	    update( $edge3 );
-	    update( $stage );
+	    modify( $edge1 ) {setLabel( Edge.B )}
+	    modify( $edge2 ) {setLabel( Edge.PLUS )}
+	    modify( $edge3 ) {setLabel( Edge.B )}
+	    modify( $stage ) {setValue( Stage.FIND_SECOND_BOUNDARY )}
     	System.out.println("initial boundary junction arrow");
 end
 
@@ -133,12 +119,9 @@
 	    $edge2 : Edge ( p1 == $basePoint, p2 == $p2 )
         not Junction( basePoint < $basePoint )
 	then
-	    $edge1.setLabel( Edge.B );
-	    $edge2.setLabel( Edge.B );
-	    $stage.setValue( Stage.LABELING );
-	    update( $edge1 );
-	    update( $edge2 );
-	    update( $stage );
+	    modify( $edge1 ) {setLabel( Edge.B )}
+	    modify( $edge2 ) {setLabel( Edge.B )}
+	    modify( $stage ) {setValue( Stage.LABELING )}
     	System.out.println("second boundary junction L");
 end
 
@@ -152,14 +135,10 @@
 	    $edge3 : Edge ( p1 == $basePoint, p2 == $p3 )
         not Junction( basePoint < $basePoint )
 	then
-	    $edge1.setLabel( Edge.B );
-	    $edge2.setLabel( Edge.PLUS );
-	    $edge3.setLabel( Edge.B );
-	    $stage.setValue( Stage.LABELING );
-	    update( $edge1 );
-	    update( $edge2 );
-	    update( $edge3 );
-	    update( $stage );
+	    modify( $edge1 ) {setLabel( Edge.B )}
+	    modify( $edge2 ) {setLabel( Edge.PLUS )}
+	    modify( $edge3 ) {setLabel( Edge.B )}
+	    modify( $stage ) {setValue( Stage.LABELING )}
     	System.out.println("second boundary junction arrow");
 end
  
@@ -171,11 +150,8 @@
         $edge1: Edge( $p1:p1, $p2:p2, $label:label in ( Edge.PLUS, Edge.MINUS, Edge.B ) )
         $edge2: Edge( p1 == $p2, p2 == $p1, label == Edge.NIL )
 	then
-	    $edge1.setPlotted( true );
-	    $edge2.setLabel( $label );
-	    $edge2.setPlotted( true );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setPlotted( true )}
+	    modify( $edge2 ) {setLabel( $label ), setPlotted( true ) }
 	    System.out.println("match edge - Plot "+$label+" "+$p1+" "+$p2);
 end
 
@@ -193,8 +169,7 @@
 	    Edge( p1 == $basePoint, $Edge1P2 : p2, label in ( Edge.PLUS, Edge.MINUS ) )
         $edge: Edge( p1 == $basePoint, p2 != $Edge1P2, label == Edge.NIL )
 	then
-	    $edge.setLabel( Edge.B );
-	    update( $edge );
+	    modify( $edge ) {setLabel( Edge.B )}
   	    System.out.println("Label L");
 end 
  
@@ -205,10 +180,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p1, label == Edge.NIL )
         $edge2: Edge( p1 == $basePoint, p2 == $p3 )
 	then
-	    $edge1.setLabel( Edge.B );
-	    $edge2.setLabel( Edge.B );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.B )}
+	    modify( $edge2 ) {setLabel( Edge.B )}
   	    System.out.println("Label tee A");	    
 end 
 
@@ -220,10 +193,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p1 )
         $edge2: Edge( p1 == $basePoint, p2 == $p3, label == Edge.NIL )
 	then
-	    $edge1.setLabel( Edge.B );
-	    $edge2.setLabel( Edge.B );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.B )}
+	    modify( $edge2 ) {setLabel( Edge.B )}
   	    System.out.println("Label tee B");	    	    
 end
 
@@ -235,10 +206,8 @@
         $edge1: Edge( p1 == $basePoint, $p2:p2 != $p1, label == Edge.NIL )
         $edge2: Edge( p1 == $basePoint, p2 != $p1, p2 != $p2 )
 	then
-	    $edge1.setLabel( Edge.PLUS );
-	    $edge2.setLabel( Edge.PLUS );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.PLUS )}
+	    modify( $edge2 ) {setLabel( Edge.PLUS )}
   	    System.out.println("label fork 1");	    	    
 end
 
@@ -250,8 +219,7 @@
         Edge( p1 == $basePoint, $p2:p2 != $p1, label == Edge.MINUS )
         $edge: Edge( p1 == $basePoint, p2 != $p1, p2 != $p2, label == Edge.NIL )
 	then
-	    $edge.setLabel( Edge.B );
-	    update( $edge );
+	    modify( $edge ) {setLabel( Edge.B )}
   	    System.out.println("label fork 2");	   	    
 end
 
@@ -263,8 +231,7 @@
         Edge( p1 == $basePoint, $p2:p2 != $p1, label == Edge.B )
         $edge: Edge( p1 == $basePoint, p2 != $p1, p2 != $p2, label == Edge.NIL )
 	then
-	    $edge.setLabel( Edge.MINUS );
-	    update( $edge );
+	    modify( $edge ) {setLabel( Edge.MINUS )}
   	    System.out.println("label fork 3");	   	    
 end
 
@@ -276,8 +243,7 @@
         Edge( p1 == $basePoint, $p2:p2 != $p1, label == Edge.MINUS )
         $edge: Edge( p1 == $basePoint, p2 != $p1, p2 != $p2, label == Edge.NIL )
 	then
-	    $edge.setLabel( Edge.MINUS );
-	    update( $edge );
+	    modify( $edge ) {setLabel( Edge.MINUS )}
   	    System.out.println("label fork 4");	   	    
 end
  
@@ -289,10 +255,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p2, label == Edge.NIL )
         $edge2: Edge( p1 == $basePoint, p2 == $p3 )
 	then
-	    $edge1.setLabel( Edge.PLUS );
-	    $edge2.setLabel( $label );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.PLUS )}
+	    modify( $edge2 ) {setLabel( $label )}
   	    System.out.println("label arrow 1A");	   	    
 end
  
@@ -304,10 +268,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p2 )
         $edge2: Edge( p1 == $basePoint, p2 == $p3, label == Edge.NIL )
 	then
-	    $edge1.setLabel( Edge.PLUS );
-	    $edge2.setLabel( $label );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.PLUS )}
+	    modify( $edge2 ) {setLabel( $label )}
   	    System.out.println("label arrow 1B");	  
 end
  
@@ -319,10 +281,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p2, label == Edge.NIL )
         $edge2: Edge( p1 == $basePoint, p2 == $p1 )
 	then
-	    $edge1.setLabel( Edge.PLUS );
-	    $edge2.setLabel( $label );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.PLUS )}
+	    modify( $edge2 ) {setLabel( $label )}
   	    System.out.println("label arrow 2A");	  	    
 end
  
@@ -334,10 +294,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p2 )
         $edge2: Edge( p1 == $basePoint, p2 == $p1, label == Edge.NIL )
 	then
-	    $edge1.setLabel( Edge.PLUS );
-	    $edge2.setLabel( $label );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.PLUS )}
+	    modify( $edge2 ) {setLabel( $label )}
   	    System.out.println("label arrow 2B");	  	    	    
 end
  
@@ -349,10 +307,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p2, label == Edge.NIL )
         $edge2: Edge( p1 == $basePoint, p2 == $p3 )
 	then
-	    $edge1.setLabel( Edge.MINUS );
-	    $edge2.setLabel( Edge.PLUS );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.MINUS )}
+	    modify( $edge2 ) {setLabel( Edge.PLUS )}
   	    System.out.println("label arrow 3A");	  	    	    
 end
  
@@ -364,10 +320,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p2 )
         $edge2: Edge( p1 == $basePoint, p2 == $p3, label == Edge.NIL )
 	then
-	    $edge1.setLabel( Edge.MINUS );
-	    $edge2.setLabel( Edge.PLUS );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.MINUS )}
+	    modify( $edge2 ) {setLabel( Edge.PLUS )}
   	    System.out.println("label arrow 3B");	  	    	    
 end
  
@@ -379,10 +333,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p2, label == Edge.NIL )
         $edge2: Edge( p1 == $basePoint, p2 == $p1 )
 	then
-	    $edge1.setLabel( Edge.MINUS );
-	    $edge2.setLabel( Edge.PLUS );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.MINUS )}
+	    modify( $edge2 ) {setLabel( Edge.PLUS )}
   	    System.out.println("label arrow 4A");	  	    	    
 end
  
@@ -394,10 +346,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p2 )
         $edge2: Edge( p1 == $basePoint, p2 == $p1, label == Edge.NIL )
 	then
-	    $edge1.setLabel( Edge.MINUS );
-	    $edge2.setLabel( Edge.PLUS );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.MINUS )}
+	    modify( $edge2 ) {setLabel( Edge.PLUS )}
   	    System.out.println("label arrow 4B");	  	    	    
 end
  
@@ -409,10 +359,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p1 )
         $edge2: Edge( p1 == $basePoint, p2 == $p3, label == Edge.NIL )
 	then
-	    $edge1.setLabel( Edge.PLUS );
-	    $edge2.setLabel( Edge.PLUS );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.PLUS )}
+	    modify( $edge2 ) {setLabel( Edge.PLUS )}
   	    System.out.println("label arrow 5A");	  	    	    
 end
 
@@ -424,10 +372,8 @@
         $edge1: Edge( p1 == $basePoint, p2 == $p1, label == Edge.NIL )
         $edge2: Edge( p1 == $basePoint, p2 == $p3 )
 	then
-	    $edge1.setLabel( Edge.PLUS );
-	    $edge2.setLabel( Edge.PLUS );
-	    update( $edge1 );
-	    update( $edge2 );
+	    modify( $edge1 ) {setLabel( Edge.PLUS )}
+	    modify( $edge2 ) {setLabel( Edge.PLUS )}
   	    System.out.println("label arrow 5B");	  	    	    
 end
  
@@ -439,8 +385,7 @@
 	when
         $stage: Stage( value == Stage.LABELING )
 	then
-        $stage.setValue( Stage.PLOT_REMAINING_EDGES );
-        update( $stage );
+        modify( $stage ) {setValue( Stage.PLOT_REMAINING_EDGES )}
     	System.out.println("done labeling");
 end
 
@@ -451,8 +396,7 @@
 	    $edge: Edge( plotted == false, $label:label != Edge.NIL, $p1:p1, $p2:p2 )
 	then
 	    System.out.println("Plot "+$label+" "+$p1+" "+$p2);
-	    $edge.setPlotted( true );
-	    update( $edge );
+	    modify( $edge ) {setPlotted( true )}
 end
 
 # If we have been un able to label an edge, assume that it is a boundary.
@@ -464,8 +408,7 @@
 	    $edge: Edge( plotted == false, label == Edge.NIL, $p1:p1, $p2:p2 )
 	then
 	    System.out.println("Plot B "+$p1+" "+$p2);
-	    $edge.setPlotted( true );
-	    update( $edge );
+	    modify( $edge ) {setPlotted( true )}
 end
 
 # If there is no more work to do, then we are done and flag it.
@@ -473,7 +416,6 @@
 	when
 	    $stage: Stage( value == Stage.PLOT_REMAINING_EDGES )
 	then
-	    $stage.setValue( Stage.DONE );
-	    update( $stage );
+	    modify( $stage ) {setValue( Stage.DONE )}
     	System.out.println("Stage: done");
 end
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltzdb/waltzdb.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltzdb/waltzdb.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/benchmark/waltzdb/waltzdb.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -40,8 +40,7 @@
 		$stage : Stage( value == Stage.DUPLICATE )
 		not ( Line( ) )
 	then
-		$stage.setValue( Stage.DETECT_JUNCTIONS );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.DETECT_JUNCTIONS )}
 		System.out.println( "Stage.DETECT_JUNCTIONS" );
 end
 
@@ -71,15 +70,9 @@
 		Junction junction = new Junction( $basePoint, "3j", "make_3_junction " + $basePoint + " " + $p1 + " " + " " + $p2 + " " + $p3, "no" );
 		insert( junction );
 		System.out.println( junction.toString( ) );
-		$edge1.setJoined( true );
-		$edge1.setType( "3j" );
-		$edge2.setJoined( true );
-		$edge2.setType( "3j" );
-		$edge3.setJoined( true );
-		$edge3.setType( "3j" );
-		update( $edge1 );
-		update( $edge2 );
-		update( $edge3 );
+		modify( $edge1 ) {setJoined( true ), setType( "3j" )}
+		modify( $edge2 ) {setJoined( true ), setType( "3j" )}
+		modify( $edge3 ) {setJoined( true ), setType( "3j" )}
 end
 /*
 (p make_L
@@ -109,12 +102,8 @@
 		Junction junction = new Junction( "2j", "L", $basePoint, $p2, $p3, "no" );
 		insert( junction );
 		System.out.println( junction.toString() );
-		$edge1.setJoined( true );
-		$edge1.setType( "2j" );
-		$edge2.setJoined( true );
-		$edge2.setType( "2j" );
-		update( $edge1 );
-		update( $edge2 );
+		modify( $edge1 ) {setJoined( true ), setType( "2j" )}
+		modify( $edge2 ) {setJoined( true ), setType( "2j" )}
 end
 
 /*
@@ -130,8 +119,7 @@
 		$stage : Stage( value == Stage.DETECT_JUNCTIONS )
 		not( Edge ( joined == false ) )
 	then
-		$stage.setValue( Stage.FIND_INITIAL_BOUNDARY );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.FIND_INITIAL_BOUNDARY )}
 		System.out.println( "Stage: FIND_INITIAL_BOUNDARY" );
 end
 
@@ -156,12 +144,10 @@
 		Edge( p1 == $basePoint, p2 == $p2 )
 		not Junction( type == "2j", basePoint > $basePoint )//type == "2j" not in original
 	then
-		$junction.setVisited( "yes" );
-		update( $junction );
+		modify( $junction ) {setVisited( "yes" )}
 		insert( new EdgeLabel( $basePoint, $p1, "B", "1" ) );
 		insert( new EdgeLabel( $basePoint, $p2, "B", "1" ) );
-		$stage.setValue( Stage.FIND_SECOND_BOUDARY );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.FIND_SECOND_BOUDARY )}
 		System.out.println( "Stage.FIND_SECOND_BOUDARY" );
 end
 /*
@@ -190,13 +176,11 @@
         $edge3 : Edge( p1 == $basePoint, p2 == $p3 ) //@FIXME, is this correct? I changed edge2 to edge3
 		not ( Junction( basePoint > $basePoint ) )
 	then
-		$junction.setVisited( "yes" );
-		update( $junction );
+		modify( $junction ) {setVisited( "yes" )}
 		insert( new EdgeLabel( $basePoint, $p1, "B", "14" ) );
 		insert( new EdgeLabel( $basePoint, $p2, "+", "14" ) );
 		insert( new EdgeLabel( $basePoint, $p3, "B", "14" ) );
-		$stage.setValue( Stage.FIND_SECOND_BOUDARY );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.FIND_SECOND_BOUDARY )}
 		System.out.println( "Stage.FIND_SECOND_BOUDARY" );
 end
 
@@ -223,12 +207,10 @@
 		Edge( p1 == $basePoint, p2 == $p2)
 		not (Junction ( basePoint < $basePoint ) )
 	then
-		$junction.setVisited( "yes" );
-		update( $junction );
+		modify( $junction ) {setVisited( "yes" )}
 		insert( new EdgeLabel( $basePoint, $p1, "B", "1" ) );
 		insert( new EdgeLabel($basePoint, $p2, "B", "1" ) );
-		$stage.setValue( Stage.LABELING );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.LABELING )}
 		System.out.println( "Stage.LABELING" );
 end
 
@@ -258,13 +240,11 @@
 		Edge( p1 == $basePoint, p2 == $p3 )
 		not ( Junction( basePoint < $basePoint ) )
 	then
-		$junction.setVisited( "yes" );
-		update( $junction );
+		modify( $junction ) {setVisited( "yes" )}
 		insert( new EdgeLabel( $basePoint, $p1, "B", "14" ) );
 		insert( new EdgeLabel( $basePoint, $p2, "+", "14" ) );
 		insert( new EdgeLabel( $basePoint, $p3, "B", "14" ) );
-		$stage.setValue( Stage.LABELING );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.LABELING )}
 		System.out.println( "Stage.LABELING" );
 end
 
@@ -282,10 +262,8 @@
 		$stage : Stage( value == Stage.LABELING )
 		$junction : Junction( type == "3j", $basePoint : basePoint, $p1 : p1, $p2 : p2, $p3 : p3, visited == "no" )
 	then
-		$stage.setValue( Stage.VISITING_3J );
-		update( $stage );
-		$junction.setVisited( "now" );
-		update( $junction );
+		modify( $stage ) {setValue( Stage.VISITING_3J )}
+		modify( $junction ) {setVisited( "now" )}
 		System.out.println( "Stage.VISITING_3J" );
 end
 
@@ -599,11 +577,9 @@
 		$stage : Stage( value == Stage.LABELING )
 		$junction : Junction( $basePoint : basePoint, type == "2j", $p1 : p1, $p2 : p2, visited == "no" )
 	then
-		$stage.setValue( Stage.VISITING_2J );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.VISITING_2J )}
 		System.out.println( "Stage.VISITING_2J" );
-		$junction.setVisited( "now" );
-		update( $junction );
+		modify( $junction ) {setVisited( "now" )}
 end
 
 /*
@@ -746,8 +722,7 @@
 		$stage : ( Stage( value == Stage.VISITING_2J ) || Stage( value == Stage.VISITING_3J ) )
 		$junction : Junction( visited == "now" )
 	then
-		$stage.setValue( Stage.MARKING );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.MARKING )}
 		System.out.println( "Stage.MARKING" );
 end
 /*
@@ -767,8 +742,7 @@
 		Edge( $p1 : p1, p2 == $basePoint )
 		$junction : Junction( basePoint == $p1, visited == "yes" )
 	then
-		$junction.setVisited( "check" );
-		update( $junction );
+		modify( $junction ) {setVisited( "check" )}
 end
 
 /*
@@ -784,8 +758,7 @@
 		Stage( value == Stage.MARKING )
 		$junction : Junction( $basePoint : basePoint, visited == "now" )
 	then
-		$junction.setVisited( "yes" );
-		update( $junction );
+		modify( $junction ) {setVisited( "yes" )}
 end
 		
 /*
@@ -798,8 +771,7 @@
 	when
 		$stage : Stage( value == Stage.MARKING )
 	then
-		$stage.setValue( Stage.CHECKING );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.CHECKING )}
 		System.out.println( "Stage.CHECKING" );
 end
 
@@ -822,8 +794,7 @@
 		Junction( basePoint == $p2, visited == "yes" )
 		not ( EdgeLabel( p1 == $p2, p2 == $basePoint, labelName == $labelName ) ) 
 	then
-		$stage.setValue( Stage.REMOVE_LABEL );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.REMOVE_LABEL )}
 		System.out.println( "Stage.REMOVE_LABEL" );
 		insert ( new Illegal( $basePoint, $labelId ) );
 end
@@ -854,8 +825,7 @@
 		$edgeLabel2 : EdgeLabel( p1 == $basePoint, p2 == $p2, labelId == $labelId )
 		$edgeLabel3 : EdgeLabel( p1 == $basePoint, p2 == $p3, labelId == $labelId )
 	then
-		$stage.setValue( Stage.CHECKING );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.CHECKING )}
 		System.out.println( "Stage.CHECKING" );
 		retract( $illegal );
 		retract( $edgeLabel1 );
@@ -886,8 +856,7 @@
 		$edgeLabel1 : EdgeLabel( p1 == $basePoint, p2 == $p1, labelId == $labelId )
 		$edgeLabel2 : EdgeLabel( p1 == $basePoint, p2 == $p2, labelId == $labelId )
 	then
-		$stage.setValue( Stage.CHECKING );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.CHECKING )}
 		System.out.println( "Stage.CHECKING" );
 		retract( $illegal );
 		retract( $edgeLabel1 );
@@ -907,8 +876,7 @@
 		Stage( value == Stage.CHECKING )
 		$junction : Junction( $basePoint : basePoint, visited == "check" )
 	then
-		$junction.setVisited( "yes" );
-		update( $junction );
+		modify( $junction ) {setVisited( "yes" )}
 end
 
 /*
@@ -921,8 +889,7 @@
 	when
 		$stage : Stage( value == Stage.CHECKING )
 	then
-		$stage.setValue( Stage.LABELING );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.LABELING )}
 		System.out.println( "Stage.LABELING" );
 end
 /*
@@ -935,8 +902,7 @@
 	when
 		$stage : Stage( value == Stage.LABELING )
 	then
-		$stage.setValue( Stage.PRINTING );
-		update( $stage );
+		modify( $stage ) {setValue( Stage.PRINTING )}
 		System.out.println( "Stage.PRINTING" );
 end
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/HonestPolitician.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/HonestPolitician.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/HonestPolitician.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -32,7 +32,6 @@
         exists( Hope() )
     then
         System.out.println( "I'm an evil corporation and I have corrupted " + politician.getName() );
-        politician.setHonest( false );
-        update( politician );
+        modify( politician ) {setHonest( false )}
 end
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicket.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicket.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/TroubleTicket.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -18,8 +18,7 @@
 		customer : Customer( subscription == "Silver" )	
 		ticket : Ticket( customer == customer, status == "New" )	
 	then
-		ticket.setStatus( "Escalate" );
-		update( ticket );		
+		modify( ticket ) {setStatus( "Escalate" )} 		
 end
 
 rule "Gold Priority"
@@ -28,8 +27,7 @@
 		customer : Customer( subscription == "Gold" )	
 		ticket : Ticket( customer == customer, status == "New" )	
 	then
-		ticket.setStatus( "Escalate" );	
-		update( ticket );		
+		modify( ticket ) {setStatus( "Escalate" )}	
 end
 
 rule "Platinum Priority"
@@ -38,7 +36,7 @@
 		ticket : Ticket( customer == customer, status == "New" )	
 	then;
 		ticket.setStatus( "Escalate" );
-		update( ticket );
+		modify ( ticket ) {setStatus( "Escalate" )}
 end
 
 rule "Escalate"

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-agendagroup.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -59,8 +59,7 @@
 #	A live cell has fewer than 2 live neighbors
 	theCell: Cell(liveNeighbors < 2, cellState == CellState.LIVE, phase == Phase.EVALUATE)
 then
-	theCell.setPhase(Phase.KILL);
-	update( theCell );
+	modify( theCell ) {setPhase(Phase.KILL)}
 end
 
 rule "Kill The Overcrowded"
@@ -70,8 +69,7 @@
 #	A live cell has more than 3 live neighbors
 	theCell: Cell(liveNeighbors > 3, cellState == CellState.LIVE, phase == Phase.EVALUATE)
 then
-	theCell.setPhase(Phase.KILL);
-	update( theCell );
+	modify( theCell ) {setPhase(Phase.KILL)}
 end
 
 rule "Give Birth"
@@ -81,8 +79,7 @@
 #	A dead cell has 3 live neighbors
 	theCell: Cell(liveNeighbors == 3, cellState == CellState.DEAD, phase == Phase.EVALUATE)
 then
-	theCell.setPhase(Phase.BIRTH);
-	update( theCell );
+	modify( theCell ){setPhase(Phase.BIRTH)}
 end
 
 rule "reset calculate"
@@ -99,9 +96,7 @@
 when
 	theCell: Cell(phase == Phase.KILL)
 then
-	theCell.setCellState(CellState.DEAD);
-	theCell.setPhase(Phase.DONE);	
-	update( theCell );
+	modify( theCell ) {setCellState(CellState.DEAD), setPhase(Phase.DONE) }
 end	
  
 rule "birth"
@@ -110,9 +105,7 @@
 when
 	theCell: Cell(phase == Phase.BIRTH)
 then
-	theCell.setCellState(CellState.LIVE);
-	theCell.setPhase(Phase.DONE);
-	update( theCell );	
+	modify( theCell ){setCellState(CellState.LIVE), setPhase(Phase.DONE) }
 end	
 
 rule "Calculate Live"
@@ -122,9 +115,7 @@
 	theCell: Cell(cellState == CellState.LIVE)
 	Neighbor(cell == theCell, $neighbor : neighbor)	
 then
-	$neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() + 1 );
-	$neighbor.setPhase( Phase.EVALUATE );	
-	update( $neighbor );
+	modify( $neighbor ) {setLiveNeighbors( $neighbor.getLiveNeighbors() + 1 ), setPhase( Phase.EVALUATE )}
 end	
 
 rule "Calculate Dead"
@@ -134,9 +125,7 @@
 	theCell: Cell(cellState == CellState.DEAD)
     Neighbor(cell == theCell, $neighbor : neighbor )
 then
-	$neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() - 1 );
-	$neighbor.setPhase( Phase.EVALUATE );
-	update( $neighbor );	
+	modify( $neighbor ) {setLiveNeighbors( $neighbor.getLiveNeighbors() - 1 ), setPhase( Phase.EVALUATE )}
 end	
 
 rule "Kill All"
@@ -145,6 +134,5 @@
 when
 	theCell: Cell(cellState == CellState.LIVE)
 then
-	theCell.setCellState(CellState.DEAD);
-	update( theCell );
+	modify( theCell ) {setCellState(CellState.DEAD)}
 end
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-ruleflow.drl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-ruleflow.drl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/conway/conway-ruleflow.drl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -59,8 +59,7 @@
 #	A live cell has fewer than 2 live neighbors
 	theCell: Cell(liveNeighbors < 2, cellState == CellState.LIVE, phase == Phase.EVALUATE)
 then
-	theCell.setPhase(Phase.KILL);
-	update( theCell );
+	modify( theCell ) {setPhase(Phase.KILL)}
 end
 
 rule "Kill The Overcrowded"
@@ -70,8 +69,7 @@
 #	A live cell has more than 3 live neighbors
 	theCell: Cell(liveNeighbors > 3, cellState == CellState.LIVE, phase == Phase.EVALUATE)
 then
-	theCell.setPhase(Phase.KILL);
-	update( theCell );
+	modify( theCell ) {setPhase(Phase.KILL)}
 end
 
 rule "Give Birth"
@@ -81,8 +79,7 @@
 #	A dead cell has 3 live neighbors
 	theCell: Cell(liveNeighbors == 3, cellState == CellState.DEAD, phase == Phase.EVALUATE)
 then
-	theCell.setPhase(Phase.BIRTH);
-	update( theCell );
+	modify( theCell ) {setPhase(Phase.BIRTH)}
 end
 
 rule "reset calculate"
@@ -99,9 +96,7 @@
 when
 	theCell: Cell(phase == Phase.KILL)
 then
-	theCell.setCellState(CellState.DEAD);
-	theCell.setPhase(Phase.DONE);	
-	update( theCell );
+	modify( theCell ) {setCellState(CellState.DEAD), setPhase(Phase.DONE)}
 end	
  
 rule "birth"
@@ -110,9 +105,7 @@
 when
 	theCell: Cell(phase == Phase.BIRTH)
 then
-	theCell.setCellState(CellState.LIVE);
-	theCell.setPhase(Phase.DONE);
-	update( theCell );	
+	modify( theCell ) {setCellState(CellState.LIVE), setPhase(Phase.DONE)}
 end	
 
 rule "Calculate Live"
@@ -122,9 +115,7 @@
 	theCell: Cell(cellState == CellState.LIVE)
 	Neighbor(cell == theCell, $neighbor : neighbor)	
 then
-	$neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() + 1 );
-	$neighbor.setPhase( Phase.EVALUATE );	
-	update( $neighbor );
+	modify( $neighbor ) {setLiveNeighbors( $neighbor.getLiveNeighbors() + 1 ), setPhase( Phase.EVALUATE )}
 end	
 
 rule "Calculate Dead"
@@ -134,9 +125,7 @@
 	theCell: Cell(cellState == CellState.DEAD)
     Neighbor(cell == theCell, $neighbor : neighbor )
 then
-	$neighbor.setLiveNeighbors( $neighbor.getLiveNeighbors() - 1 );
-	$neighbor.setPhase( Phase.EVALUATE );
-	update( $neighbor );	
+	modify( $neighbor ) {setLiveNeighbors( $neighbor.getLiveNeighbors() - 1 ), setPhase( Phase.EVALUATE )}	
 end	
 
 rule "Kill All"
@@ -145,6 +134,5 @@
 when
 	theCell: Cell(cellState == CellState.LIVE)
 then
-	theCell.setCellState(CellState.DEAD);
-	update( theCell );
+	modify( theCell ) {setCellState(CellState.DEAD)}
 end
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ticketing.dsl
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ticketing.dsl	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-examples/drools-examples-drl/src/main/rules/org/drools/examples/ticketing.dsl	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,5 +1,5 @@
 [condition][]There is a customer ticket with status of "{status}"=customer : Customer( )   ticket : Ticket( customer == customer, status == "{status}" )
 [condition][]There is a "{subscription}" customer with a ticket status of "{status}"=customer : Customer(subscription == "{subscription}") ticket : Ticket( customer == customer, status == "{status}")
 [consequence][]Log "{message}"=System.out.println("{message} ");
-[consequence][]Escalate the ticket=ticket.setStatus("Escalate"); update(ticket);
+[consequence][]Escalate the ticket=modify (ticket) {setStatus("Escalate")}
 [consequence][]Send escalation email=sendEscalationEmail( customer, ticket );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/.classpath
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/.classpath	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,56 +5,56 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-servlet/1.4.60/gwt-servlet-1.4.60.jar"/>
+  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar"/>
   <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.3.0/slf4j-api-1.3.0.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.3.0/slf4j-api-1.3.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6/dom4j-1.6.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/emma/emma/2.0.5312/emma-2.0.5312.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/el/el-api/1.2/el-api-1.2.jar"/>
   <classpathentry kind="var" path="M2_REPO/javax/el/el-ri/1.2/el-ri-1.2.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar" sourcepath="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar" sourcepath="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-text-extractors/1.3/jackrabbit-text-extractors-1.3.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-text-extractors/1.3/jackrabbit-text-extractors-1.3-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.3.0.ga/hibernate-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.3.0.ga/hibernate-annotations-3.3.0.ga-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+  <classpathentry kind="src" path="/drools-compiler"/>
+  <classpathentry kind="src" path="/drools-core"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/1.2.24-java1.4/mvel-1.2.24-java1.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
+  <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
+  <classpathentry kind="src" path="/drools-decisiontables"/>
+  <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
   <classpathentry kind="src" path="/drools-repository"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.3/jackrabbit-core-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.3/jackrabbit-api-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.3/jackrabbit-jcr-commons-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.3.0/slf4j-api-1.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-text-extractors/1.3/jackrabbit-text-extractors-1.3.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga-sources.jar"/>
-  <classpathentry kind="src" path="/drools-compiler"/>
-  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.3/jackrabbit-api-1.3.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.3/jackrabbit-api-1.3-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
-  <classpathentry kind="src" path="/drools-core"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/seam/jboss-el/2.0.0.CR1/jboss-el-2.0.0.CR1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.3/jackrabbit-core-1.3.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.3/jackrabbit-core-1.3-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.4.sp1/hibernate-3.2.4.sp1.jar" sourcepath="M2_REPO/org/hibernate/hibernate/3.2.4.sp1/hibernate-3.2.4.sp1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-servlet/1.4.60/gwt-servlet-1.4.60.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/tmatesoft/svnkit/1.1.2/svnkit-1.1.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar"/>
+  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.3.0/slf4j-log4j12-1.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.4.sp1/hibernate-3.2.4.sp1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
+  <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
   <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.3.0.ga/hibernate-annotations-3.3.0.ga.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.jar"/>
-  <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
-  <classpathentry kind="var" path="M2_REPO/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar" sourcepath="M2_REPO/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
-  <classpathentry kind="var" path="M2_REPO/emma/emma/2.0.5312/emma-2.0.5312.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
-  <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6/dom4j-1.6.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.3.0/slf4j-log4j12-1.3.0.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.3.0/slf4j-log4j12-1.3.0-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.GA.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.3/jackrabbit-jcr-commons-1.3.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.3/jackrabbit-jcr-commons-1.3-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jboss/seam/jboss-seam/2.0.0.CR2/jboss-seam-2.0.0.CR2.jar" sourcepath="M2_REPO/org/jboss/seam/jboss-seam/2.0.0.CR2/jboss-seam-2.0.0.CR2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0-sources.jar"/>
-  <classpathentry kind="src" path="/drools-decisiontables"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.21/mvel14-1.2.21.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/tmatesoft/svnkit/1.1.2/svnkit-1.1.2.jar" sourcepath="M2_REPO/org/tmatesoft/svnkit/1.1.2/svnkit-1.1.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar" sourcepath="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-core/2.0.4.GA/jboss-common-core-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-core/2.0.4.GA/jboss-common-core-2.0.4.GA-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar" sourcepath="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/el/el-api/1.2/el-api-1.2.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-core/2.0.4.GA/jboss-common-core-2.0.4.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/seam/jboss-seam/2.0.0.CR2/jboss-seam-2.0.0.CR2.jar"/>
   <classpathentry kind="var" path="M2_REPO/jboss/javassist/3.3.ga/javassist-3.3.ga.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/seam/jboss-el/2.0.0.CR1/jboss-el-2.0.0.CR1.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/.project
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/.project	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,10 +2,10 @@
   <name>drools-jbrms</name>
   <comment>A rule production system</comment>
   <projects>
-    <project>drools-repository</project>
     <project>drools-compiler</project>
     <project>drools-core</project>
     <project>drools-decisiontables</project>
+    <project>drools-repository</project>
   </projects>
   <buildSpec>
     <buildCommand>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-	  <version>4.0.2.SNAPSHOT</version>
+	  <version>4.0.6</version>
   </parent>
 
   <artifactId>drools-jbrms</artifactId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/java/org/drools/brms/client/admin/ArchivedAssetManager.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/java/org/drools/brms/client/admin/ArchivedAssetManager.java	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/java/org/drools/brms/client/admin/ArchivedAssetManager.java	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,10 +1,14 @@
 package org.drools.brms.client.admin;
 
+import java.util.HashMap;
+
 import org.drools.brms.client.common.FormStyleLayout;
+import org.drools.brms.client.common.FormStylePopup;
 import org.drools.brms.client.common.GenericCallback;
 import org.drools.brms.client.common.LoadingPopup;
 import org.drools.brms.client.rpc.RepositoryServiceFactory;
 import org.drools.brms.client.rpc.TableDataResult;
+import org.drools.brms.client.ruleeditor.EditorLauncher;
 import org.drools.brms.client.rulelist.AssetItemListViewer;
 import org.drools.brms.client.rulelist.EditItemEvent;
 
@@ -15,6 +19,7 @@
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.TabPanel;
 import com.google.gwt.user.client.ui.Widget;
 
 /**
@@ -38,6 +43,12 @@
 
         listView = new AssetItemListViewer (new EditItemEvent () {
             public void open(String key) {
+            	FormStylePopup pop = new FormStylePopup("images/snapshot.png", "Archived item");
+            	TabPanel tab = new TabPanel();
+            	pop.addRow(tab);
+            	EditorLauncher.showLoadEditor( new HashMap(), tab, key, true );
+            	pop.setPopupPosition(20, 20);
+            	pop.show();
             }
         }, AssetItemListViewer.ARCHIVED_RULE_LIST_TABLE_ID );
 

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.html (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.html)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.html	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.html	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3427 @@
+<html><head><script>var $wnd = parent;var $doc = $wnd.document;var $moduleName, $moduleBase;</script></head><body><script><!--
+var _,zfc='com.google.gwt.core.client.',Afc='com.google.gwt.lang.',Bfc='com.google.gwt.user.client.',Cfc='com.google.gwt.user.client.impl.',Dfc='com.google.gwt.user.client.rpc.',Efc='com.google.gwt.user.client.rpc.core.java.lang.',Ffc='com.google.gwt.user.client.rpc.core.java.util.',agc='com.google.gwt.user.client.rpc.impl.',bgc='com.google.gwt.user.client.ui.',cgc='com.google.gwt.user.client.ui.impl.',dgc='java.io.',egc='java.lang.',fgc='java.util.',ggc='org.drools.brms.client.',hgc='org.drools.brms.client.admin.',igc='org.drools.brms.client.categorynav.',jgc='org.drools.brms.client.common.',kgc='org.drools.brms.client.decisiontable.',lgc='org.drools.brms.client.modeldriven.',mgc='org.drools.brms.client.modeldriven.brl.',ngc='org.drools.brms.client.modeldriven.ui.',ogc='org.drools.brms.client.packages.',pgc='org.drools.brms.client.rpc.',qgc='org.drools.brms.client.ruleeditor.',rgc='org.drools.brms.client.rulelist.',sgc='org.drools.brms.client.table.';function e3(){}
+function iU(a){return this===a;}
+function jU(){return BV(this);}
+function kU(){return this.tN+'@'+this.hC();}
+function gU(){}
+_=gU.prototype={};_.eQ=iU;_.hC=jU;_.tS=kU;_.toString=function(){return this.tS();};_.tN=egc+'Object';_.tI=1;function v(){return C();}
+function w(a){return a==null?null:a.tN;}
+var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function C(){return $moduleBase;}
+function D(){return ++E;}
+var E=0;function EV(b,a){b.c=a;return b;}
+function FV(c,b,a){c.c=b;return c;}
+function bW(){return this.c;}
+function cW(){var a,b;a=w(this);b=this.Bb();if(b!==null){return a+': '+b;}else{return a;}}
+function DV(){}
+_=DV.prototype=new gU();_.Bb=bW;_.tS=cW;_.tN=egc+'Throwable';_.tI=3;_.c=null;function DS(b,a){EV(b,a);return b;}
+function ES(c,b,a){FV(c,b,a);return c;}
+function CS(){}
+_=CS.prototype=new DV();_.tN=egc+'Exception';_.tI=4;function mU(b,a){DS(b,a);return b;}
+function nU(c,b,a){ES(c,b,a);return c;}
+function lU(){}
+_=lU.prototype=new CS();_.tN=egc+'RuntimeException';_.tI=5;function ab(c,b,a){mU(c,'JavaScript '+b+' exception: '+a);return c;}
+function F(){}
+_=F.prototype=new lU();_.tN=zfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
+function fb(a){return A(a);}
+function gb(){return [];}
+function hb(){return function(){};}
+function ib(){return {};}
+function kb(a){return eb(this,a);}
+function jb(a,b){return a===b;}
+function lb(){return fb(this);}
+function nb(){return mb(this);}
+function mb(a){if(a.toString)return a.toString();return '[object]';}
+function cb(){}
+_=cb.prototype=new gU();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=zfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
+function rb(a,b,c){return a[b]=c;}
+function tb(a,b){return sb(a,b);}
+function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
+function ub(b,a){return b[a];}
+function wb(b,a){return b[a];}
+function vb(a){return a.length;}
+function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
+function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new xT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=iV(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
+function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
+function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new hS();}return rb(a,b,c);}
+function ob(){}
+_=ob.prototype=new gU();_.tN=Afc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
+function Eb(a){return String.fromCharCode(a);}
+function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
+function ac(b,a){return b!=null&&Db(b.tI,a);}
+function bc(a){return a&65535;}
+function cc(a){return ~(~a);}
+function dc(a){if(a>(kT(),lT))return kT(),lT;if(a<(kT(),mT))return kT(),mT;return a>=0?Math.floor(a):Math.ceil(a);}
+function fc(){throw new xS();}
+function ec(a){if(a!==null){throw new xS();}return a;}
+function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
+var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
+function lc(a){return a.message;}
+function mc(a){return a.name;}
+function oc(b,a){return b;}
+function nc(){}
+_=nc.prototype=new lU();_.tN=Bfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=oY(new mY());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
+function gd(a){fd(a);return a;}
+function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
+function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.rb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(AV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
+function kd(a){if(!yY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
+function ld(b,a){b.c=a;}
+function md(b,a){b.e=a;}
+function nd(b,a){qY(b.b,a);kd(b);}
+function od(a,b){return vT(a-b)>=100;}
+function qc(){}
+_=qc.prototype=new gU();_.tN=Bfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=e3;uh=oY(new mY());{th();}}
+function ih(a){kh();return a;}
+function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}AY(uh,a);}
+function lh(a){if(!a.b){AY(uh,a);}a.he();}
+function nh(b,a){if(a<=0){throw bT(new aT(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);qY(uh,b);}
+function mh(b,a){if(a<=0){throw bT(new aT(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);qY(uh,b);}
+function oh(a){kh();$wnd.clearInterval(a);}
+function ph(a){kh();$wnd.clearTimeout(a);}
+function qh(b,a){kh();return $wnd.setInterval(function(){b.sb();},a);}
+function rh(b,a){kh();return $wnd.setTimeout(function(){b.sb();},a);}
+function sh(){var a;a=x;{lh(this);}}
+function th(){kh();yh(new eh());}
+function dh(){}
+_=dh.prototype=new gU();_.sb=sh;_.tN=Bfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=e3;kh();}
+function sc(b,a){tc();b.a=a;ih(b);return b;}
+function uc(){if(!this.a.c){return;}id(this.a);}
+function rc(){}
+_=rc.prototype=new dh();_.he=uc;_.tN=Bfc+'CommandExecutor$1';_.tI=14;function xc(){xc=e3;kh();}
+function wc(b,a){xc();b.a=a;ih(b);return b;}
+function yc(){md(this.a,false);jd(this.a,AV());}
+function vc(){}
+_=vc.prototype=new dh();_.he=yc;_.tN=Bfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
+function Cc(a){return vY(a.d.b,a.b);}
+function Dc(a){return a.c<a.a;}
+function Ec(b){var a;b.b=b.c;a=vY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
+function Fc(a){zY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
+function ad(b,a){b.a=a;}
+function bd(a){return a.b==(-1);}
+function cd(){return Dc(this);}
+function dd(){return Ec(this);}
+function ed(){Fc(this);}
+function zc(){}
+_=zc.prototype=new gU();_.mc=cd;_.uc=dd;_.ee=ed;_.tN=Bfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=e3;rf=oY(new mY());{gf=new li();ti(gf);}}
+function sd(a){rd();qY(rf,a);}
+function td(b,a){rd();jj(gf,b,a);}
+function ud(a,b){rd();return qi(gf,a,b);}
+function vd(){rd();return lj(gf,'A');}
+function wd(){rd();return lj(gf,'button');}
+function xd(){rd();return lj(gf,'div');}
+function yd(a){rd();return lj(gf,a);}
+function zd(){rd();return lj(gf,'form');}
+function Ad(){rd();return lj(gf,'iframe');}
+function Bd(){rd();return lj(gf,'img');}
+function Cd(){rd();return mj(gf,'checkbox');}
+function Dd(){rd();return mj(gf,'password');}
+function Ed(a){rd();return Bi(gf,a);}
+function Fd(){rd();return mj(gf,'text');}
+function ae(){rd();return lj(gf,'label');}
+function be(a){rd();return nj(gf,a);}
+function ce(){rd();return lj(gf,'span');}
+function de(){rd();return lj(gf,'tbody');}
+function ee(){rd();return lj(gf,'td');}
+function fe(){rd();return lj(gf,'tr');}
+function ge(){rd();return lj(gf,'table');}
+function he(){rd();return lj(gf,'textarea');}
+function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
+function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.yc(b);}finally{ie=d;}}
+function le(b,a){rd();oj(gf,b,a);}
+function me(a){rd();return pj(gf,a);}
+function ne(a){rd();return qj(gf,a);}
+function oe(a){rd();return rj(gf,a);}
+function pe(a){rd();return sj(gf,a);}
+function qe(a){rd();return tj(gf,a);}
+function re(a){rd();return Ci(gf,a);}
+function se(a){rd();return uj(gf,a);}
+function te(a){rd();return vj(gf,a);}
+function ue(a){rd();return wj(gf,a);}
+function ve(a){rd();return Di(gf,a);}
+function we(a){rd();return Ei(gf,a);}
+function xe(a){rd();return xj(gf,a);}
+function ye(a){rd();Fi(gf,a);}
+function ze(a){rd();return aj(gf,a);}
+function Ae(a){rd();return ni(gf,a);}
+function Be(a){rd();return oi(gf,a);}
+function Ee(b,a){rd();return cj(gf,b,a);}
+function Ce(a){rd();return bj(gf,a);}
+function De(b,a){rd();return ri(gf,b,a);}
+function bf(a,b){rd();return Aj(gf,a,b);}
+function Fe(a,b){rd();return yj(gf,a,b);}
+function af(a,b){rd();return zj(gf,a,b);}
+function cf(a){rd();return Bj(gf,a);}
+function df(a){rd();return dj(gf,a);}
+function ef(a){rd();return Cj(gf,a);}
+function ff(a){rd();return ej(gf,a);}
+function hf(c,a,b){rd();gj(gf,c,a,b);}
+function jf(c,b,d,a){rd();Dj(gf,c,b,d,a);}
+function kf(b,a){rd();return ui(gf,b,a);}
+function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(vY(rf,rf.b-1),5);if(!(c=b.Ec(a))){le(a,true);ye(a);}}return c;}
+function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}vi(gf,a);}
+function nf(b,a){rd();Ej(gf,b,a);}
+function of(b,a){rd();Fj(gf,b,a);}
+function pf(a){rd();AY(rf,a);}
+function sf(a){rd();ak(gf,a);}
+function tf(a){rd();qf=a;hj(gf,a);}
+function uf(b,a,c){rd();bk(gf,b,a,c);}
+function xf(a,b,c){rd();ek(gf,a,b,c);}
+function vf(a,b,c){rd();ck(gf,a,b,c);}
+function wf(a,b,c){rd();dk(gf,a,b,c);}
+function yf(a,b){rd();fk(gf,a,b);}
+function zf(a,b){rd();gk(gf,a,b);}
+function Af(a,b){rd();hk(gf,a,b);}
+function Bf(a,b){rd();ik(gf,a,b);}
+function Cf(b,a,c){rd();jk(gf,b,a,c);}
+function Df(b,a,c){rd();kk(gf,b,a,c);}
+function Ef(a,b){rd();xi(gf,a,b);}
+function Ff(a){rd();return yi(gf,a);}
+function ag(){rd();return lk(gf);}
+function bg(){rd();return mk(gf);}
+var ie=null,gf=null,qf=null,rf;function dg(){dg=e3;gg=gd(new qc());}
+function fg(a){dg();nd(gg,a);}
+function eg(a){dg();if(a===null){throw AT(new zT(),'cmd can not be null');}nd(gg,a);}
+var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
+function kg(a){return jg(this,a);}
+function lg(){return fb(hc(this,hg));}
+function mg(){return Ff(this);}
+function hg(){}
+_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=Bfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
+function sg(){return fb(hc(this,ng));}
+function tg(){return ze(this);}
+function ng(){}
+_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=Bfc+'Event';_.tI=18;function vg(){vg=e3;xg=pk(new ok());}
+function wg(c,b,a){vg();return rk(xg,c,b,a);}
+var xg;function Ag(){Ag=e3;Eg=oY(new mY());{Fg=new xk();if(!Ck(Fg)){Fg=null;}}}
+function Bg(a){Ag();qY(Eg,a);}
+function Cg(a){Ag();var b,c;for(b=Eg.sc();b.mc();){c=Fb(b.uc(),7);c.dd(a);}}
+function Dg(){Ag();return Fg!==null?Ek(Fg):'';}
+function ah(a){Ag();if(Fg!==null){zk(Fg,a);}}
+function bh(b){Ag();var a;a=x;{Cg(b);}}
+var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(vY((kh(),uh),0),8));}}
+function hh(){return null;}
+function eh(){}
+_=eh.prototype=new gU();_.wd=gh;_.xd=hh;_.tN=Bfc+'Timer$1';_.tI=19;function xh(){xh=e3;Ah=oY(new mY());ii=oY(new mY());{di();}}
+function yh(a){xh();qY(Ah,a);}
+function zh(a){xh();$wnd.alert(a);}
+function Bh(a){xh();return $wnd.confirm(a);}
+function Ch(){xh();var a,b;for(a=Ah.sc();a.mc();){b=Fb(a.uc(),9);b.wd();}}
+function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.sc();a.mc();){b=Fb(a.uc(),9);c=b.xd();{d=c;}}return d;}
+function Eh(){xh();var a,b;for(a=ii.sc();a.mc();){b=ec(a.uc());null.lf();}}
+function Fh(){xh();return ag();}
+function ai(){xh();return bg();}
+function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
+function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
+function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
+function ei(){xh();var a;a=x;{Ch();}}
+function fi(){xh();var a;a=x;{return Dh();}}
+function gi(){xh();var a;a=x;{Eh();}}
+function hi(c,b,a){xh();$wnd.open(c,b,a);}
+var Ah,ii;function jj(c,b,a){b.appendChild(a);}
+function lj(b,a){return $doc.createElement(a);}
+function mj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
+function nj(c,a){var b;b=lj(c,'select');if(a){ck(c,b,'multiple',true);}return b;}
+function oj(c,b,a){b.cancelBubble=a;}
+function pj(b,a){return !(!a.altKey);}
+function qj(b,a){return a.clientX|| -1;}
+function rj(b,a){return a.clientY|| -1;}
+function sj(b,a){return !(!a.ctrlKey);}
+function tj(b,a){return a.currentTarget;}
+function uj(b,a){return a.which||(a.keyCode|| -1);}
+function vj(b,a){return !(!a.metaKey);}
+function wj(b,a){return !(!a.shiftKey);}
+function xj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
+function Aj(d,a,b){var c=a[b];return c==null?null:String(c);}
+function yj(c,a,b){return !(!a[b]);}
+function zj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
+function Bj(b,a){return a.__eventBits||0;}
+function Cj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.zb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
+function Dj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
+function Ej(c,b,a){b.removeChild(a);}
+function Fj(c,b,a){b.removeAttribute(a);}
+function ak(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
+function bk(c,b,a,d){b.setAttribute(a,d);}
+function ek(c,a,b,d){a[b]=d;}
+function ck(c,a,b,d){a[b]=d;}
+function dk(c,a,b,d){a[b]=d;}
+function fk(c,a,b){a.__listener=b;}
+function gk(c,a,b){a.src=b;}
+function hk(c,a,b){if(!b){b='';}a.innerHTML=b;}
+function ik(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
+function jk(c,b,a,d){b.style[a]=d;}
+function kk(c,b,a,d){b.style[a]=d;}
+function lk(a){return $doc.body.clientHeight;}
+function mk(a){return $doc.body.clientWidth;}
+function nk(a){return Cj(this,a);}
+function ji(){}
+_=ji.prototype=new gU();_.zb=nk;_.tN=Cfc+'DOMImpl';_.tI=20;function Bi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
+function Ci(b,a){return a.relatedTarget?a.relatedTarget:null;}
+function Di(b,a){return a.target||null;}
+function Ei(b,a){return a.relatedTarget||null;}
+function Fi(b,a){a.preventDefault();}
+function aj(b,a){return a.toString();}
+function cj(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
+function bj(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
+function dj(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
+function ej(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
+function fj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
+function gj(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
+function hj(b,a){$wnd.__captureElem=a;}
+function ij(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
+function zi(){}
+_=zi.prototype=new ji();_.tN=Cfc+'DOMImplStandard';_.tI=21;function qi(c,a,b){if(!a&& !b){return true;}else if(!a|| !b){return false;}return a.isSameNode(b);}
+function ri(d,c,e){var b=0,a=c.firstChild;while(a){if(a.isSameNode(e)){return b;}if(a.nodeType==1){++b;}a=a.nextSibling;}return -1;}
+function ti(a){fj(a);si(a);}
+function si(d){$wnd.addEventListener('mouseout',function(b){var a=$wnd.__captureElem;if(a&& !b.relatedTarget){if('html'==b.target.tagName.toLowerCase()){var c=$doc.createEvent('MouseEvents');c.initMouseEvent('mouseup',true,true,$wnd,0,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,null);a.dispatchEvent(c);}}},true);$wnd.addEventListener('DOMMouseScroll',$wnd.__dispatchCapturedMouseEvent,true);}
+function ui(d,c,b){while(b){if(c.isSameNode(b)){return true;}try{b=b.parentNode;}catch(a){return false;}if(b&&b.nodeType!=1){b=null;}}return false;}
+function vi(b,a){if(a.isSameNode($wnd.__captureElem)){$wnd.__captureElem=null;}}
+function xi(c,b,a){ij(c,b,a);wi(c,b,a);}
+function wi(c,b,a){if(a&131072){b.addEventListener('DOMMouseScroll',$wnd.__dispatchEvent,false);}}
+function yi(d,a){var b=a.cloneNode(true);var c=$doc.createElement('DIV');c.appendChild(b);outer=c.innerHTML;b.innerHTML='';return outer;}
+function ki(){}
+_=ki.prototype=new zi();_.tN=Cfc+'DOMImplMozilla';_.tI=22;function ni(e,a){var d=$doc.defaultView.getComputedStyle(a,null);var b=$doc.getBoxObjectFor(a).x-Math.round(d.getPropertyCSSValue('border-left-width').getFloatValue(CSSPrimitiveValue.CSS_PX));var c=a.parentNode;while(c){if(c.scrollLeft>0){b-=c.scrollLeft;}c=c.parentNode;}return b+$doc.body.scrollLeft+$doc.documentElement.scrollLeft;}
+function oi(d,a){var c=$doc.defaultView.getComputedStyle(a,null);var e=$doc.getBoxObjectFor(a).y-Math.round(c.getPropertyCSSValue('border-top-width').getFloatValue(CSSPrimitiveValue.CSS_PX));var b=a.parentNode;while(b){if(b.scrollTop>0){e-=b.scrollTop;}b=b.parentNode;}return e+$doc.body.scrollTop+$doc.documentElement.scrollTop;}
+function li(){}
+_=li.prototype=new ki();_.tN=Cfc+'DOMImplMozillaOld';_.tI=23;function pk(a){vk=hb();return a;}
+function rk(c,d,b,a){return sk(c,null,null,d,b,a);}
+function sk(d,f,c,e,b,a){return qk(d,f,c,e,b,a);}
+function qk(e,g,d,f,c,b){var h=e.nb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=vk;b.Cc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=vk;return false;}}
+function uk(){return new XMLHttpRequest();}
+function ok(){}
+_=ok.prototype=new gU();_.nb=uk;_.tN=Cfc+'HTTPRequestImpl';_.tI=24;var vk=null;function Ek(a){return $wnd.__gwt_historyToken;}
+function Fk(a){bh(a);}
+function wk(){}
+_=wk.prototype=new gU();_.tN=Cfc+'HistoryImpl';_.tI=25;function Ck(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;Fk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
+function Ak(){}
+_=Ak.prototype=new wk();_.tN=Cfc+'HistoryImplStandard';_.tI=26;function zk(d,a){if(a==null||a.length==0){var c=$wnd.location.href;var b=c.indexOf('#');if(b!= -1)c=c.substring(0,b);$wnd.location=c+'#';}else{$wnd.location.hash=encodeURIComponent(a);}}
+function xk(){}
+_=xk.prototype=new Ak();_.tN=Cfc+'HistoryImplMozilla';_.tI=27;function cl(a){mU(a,'This application is out of date, please click the refresh button on your browser');return a;}
+function bl(){}
+_=bl.prototype=new lU();_.tN=Dfc+'IncompatibleRemoteServiceException';_.tI=28;function gl(b,a){}
+function hl(b,a){}
+function jl(b,a){nU(b,a,null);return b;}
+function il(){}
+_=il.prototype=new lU();_.tN=Dfc+'InvocationException';_.tI=29;function vl(){return this.b;}
+function nl(){}
+_=nl.prototype=new CS();_.Bb=vl;_.tN=Dfc+'SerializableException';_.tI=30;_.b=null;function rl(b,a){ul(a,b.ae());}
+function sl(a){return a.b;}
+function tl(b,a){b.jf(sl(a));}
+function ul(a,b){a.b=b;}
+function xl(b,a){DS(b,a);return b;}
+function wl(){}
+_=wl.prototype=new CS();_.tN=Dfc+'SerializationException';_.tI=31;function Cl(a){jl(a,'Service implementation URL not specified');return a;}
+function Bl(){}
+_=Bl.prototype=new il();_.tN=Dfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=32;function bm(b,a){}
+function cm(a){return rS(a.Bd());}
+function dm(b,a){b.df(a.a);}
+function gm(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Fd());}}
+function hm(d,a){var b,c;b=a.a;d.ff(b);for(c=0;c<b;++c){d.hf(a[c]);}}
+function km(b,a){}
+function lm(a){return a.ae();}
+function mm(b,a){b.jf(a);}
+function pm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Cd();}}
+function qm(d,a){var b,c;b=a.a;d.ff(b);for(c=0;c<b;++c){d.ef(a[c]);}}
+function tm(e,b){var a,c,d;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();qY(b,c);}}
+function um(e,a){var b,c,d;d=a.b;e.ff(d);b=a.sc();while(b.mc()){c=b.uc();e.hf(c);}}
+function xm(b,a){}
+function ym(a){return BZ(new zZ(),a.Ed());}
+function zm(b,a){b.gf(EZ(a));}
+function Cm(e,b){var a,c,d,f;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();f=e.Fd();s1(b,c,f);}}
+function Dm(f,c){var a,b,d,e;e=c.c;f.ff(e);b=q1(c);d=g1(b);while(E0(d)){a=F0(d);f.hf(a.Ab());f.hf(a.gc());}}
+function an(d,b){var a,c;c=d.Dd();for(a=0;a<c;++a){g2(b,d.Fd());}}
+function bn(c,a){var b;c.ff(a.a.c);for(b=i2(a);jX(b);){c.hf(kX(b));}}
+function en(e,b){var a,c,d;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();z2(b,c);}}
+function fn(e,a){var b,c,d;d=a.a.b;e.ff(d);b=B2(a);while(b.mc()){c=b.uc();e.hf(c);}}
+function Dn(a){return a.j>2;}
+function En(b,a){b.i=a;}
+function Fn(a,b){a.j=b;}
+function gn(){}
+_=gn.prototype=new gU();_.tN=agc+'AbstractSerializationStream';_.tI=33;_.i=0;_.j=3;function jn(a){a.e=oY(new mY());}
+function kn(a){jn(a);return a;}
+function mn(b,a){sY(b.e);Fn(b,ho(b));En(b,ho(b));}
+function nn(a){var b,c;b=a.Dd();if(b<0){return vY(a.e,-(b+1));}c=a.ec(b);if(c===null){return null;}return a.lb(c);}
+function on(b,a){qY(b.e,a);}
+function pn(){return nn(this);}
+function hn(){}
+_=hn.prototype=new gn();_.Fd=pn;_.tN=agc+'AbstractSerializationStreamReader';_.tI=34;function sn(b,a){b.ab(a?'1':'0');}
+function tn(b,a){b.ab(vV(a));}
+function un(c,a){var b,d;if(a===null){vn(c,null);return;}b=c.yb(a);if(b>=0){tn(c,-(b+1));return;}c.ie(a);d=c.Db(a);vn(c,d);c.le(a,d);}
+function vn(a,b){tn(a,a.B(b));}
+function wn(a){sn(this,a);}
+function xn(a){this.ab(vV(a));}
+function yn(a){tn(this,a);}
+function zn(a){this.ab(wV(a));}
+function An(a){un(this,a);}
+function Bn(a){vn(this,a);}
+function qn(){}
+_=qn.prototype=new gn();_.df=wn;_.ef=xn;_.ff=yn;_.gf=zn;_.hf=An;_.jf=Bn;_.tN=agc+'AbstractSerializationStreamWriter';_.tI=35;function bo(b,a){kn(b);b.c=a;return b;}
+function eo(b,a){if(!a){return null;}return b.d[a-1];}
+function fo(b,a){b.b=lo(a);b.a=mo(b.b);mn(b,a);b.d=io(b);}
+function go(a){return !(!a.b[--a.a]);}
+function ho(a){return a.b[--a.a];}
+function io(a){return a.b[--a.a];}
+function jo(a){return eo(a,ho(a));}
+function ko(b){var a;a=this.c.pc(this,b);on(this,a);this.c.kb(this,a,b);return a;}
+function lo(a){return eval(a);}
+function mo(a){return a.length;}
+function no(a){return eo(this,a);}
+function oo(){return go(this);}
+function po(){return this.b[--this.a];}
+function qo(){return ho(this);}
+function ro(){return this.b[--this.a];}
+function so(){return jo(this);}
+function ao(){}
+_=ao.prototype=new hn();_.lb=ko;_.ec=no;_.Bd=oo;_.Cd=po;_.Dd=qo;_.Ed=ro;_.ae=so;_.tN=agc+'ClientSerializationStreamReader';_.tI=36;_.a=0;_.b=null;_.c=null;_.d=null;function uo(a){a.h=oY(new mY());}
+function vo(d,c,a,b){uo(d);d.f=c;d.b=a;d.e=b;return d;}
+function xo(c,a){var b=c.d[a];return b==null?-1:b;}
+function yo(c,a){var b=c.g[':'+a];return b==null?0:b;}
+function zo(a){a.c=0;a.d=ib();a.g=ib();sY(a.h);a.a=rU(new qU());if(Dn(a)){vn(a,a.b);vn(a,a.e);}}
+function Ao(b,a,c){b.d[a]=c;}
+function Bo(b,a,c){b.g[':'+a]=c;}
+function Co(b){var a;a=rU(new qU());Do(b,a);Fo(b,a);Eo(b,a);return xU(a);}
+function Do(b,a){bp(a,vV(b.j));bp(a,vV(b.i));}
+function Eo(b,a){tU(a,xU(b.a));}
+function Fo(d,a){var b,c;c=d.h.b;bp(a,vV(c));for(b=0;b<c;++b){bp(a,Fb(vY(d.h,b),1));}return a;}
+function ap(b){var a;if(b===null){return 0;}a=yo(this,b);if(a>0){return a;}qY(this.h,b);a=this.h.b;Bo(this,b,a);return a;}
+function bp(a,b){tU(a,b);sU(a,65535);}
+function cp(a){bp(this.a,a);}
+function dp(a){return xo(this,BV(a));}
+function ep(a){var b,c;c=w(a);b=this.f.dc(c);if(b!==null){c+='/'+b;}return c;}
+function fp(a){Ao(this,BV(a),this.c++);}
+function gp(a,b){this.f.ke(this,a,b);}
+function hp(){return Co(this);}
+function to(){}
+_=to.prototype=new qn();_.B=ap;_.ab=cp;_.yb=dp;_.Db=ep;_.ie=fp;_.le=gp;_.tS=hp;_.tN=agc+'ClientSerializationStreamWriter';_.tI=37;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function rN(b,a){hO(b.fc(),a,true);}
+function tN(a){return Ae(a.wb());}
+function uN(a){return Be(a.wb());}
+function vN(a){return af(a.w,'offsetHeight');}
+function wN(a){return af(a.w,'offsetWidth');}
+function xN(b,a){hO(b.fc(),a,false);}
+function yN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
+function zN(b,a){if(b.w!==null){yN(b,b.w,a);}b.w=a;}
+function AN(b,c,a){if(c>=0){b.De(c+'px');}if(a>=0){b.se(a+'px');}}
+function BN(b,c,a){b.De(c);b.se(a);}
+function CN(b,a){gO(b.fc(),a);}
+function DN(b,a){Ef(b.wb(),a|cf(b.wb()));}
+function EN(){return this.w;}
+function FN(){return vN(this);}
+function aO(){return wN(this);}
+function bO(){return this.w;}
+function cO(a){return bf(a,'className');}
+function dO(a){return a.style.display!='none';}
+function eO(a){zN(this,a);}
+function fO(a){Df(this.w,'height',a);}
+function gO(a,b){xf(a,'className',b);}
+function hO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw mU(new lU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=mV(j);if(dV(j)==0){throw bT(new aT(),'Style names cannot be empty');}i=cO(c);e=bV(i,j);while(e!=(-1)){if(e==0||AU(i,e-1)==32){f=e+dV(j);g=dV(i);if(f==g||f<g&&AU(i,f)==32){break;}}e=cV(i,j,e+1);}if(a){if(e==(-1)){if(dV(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=mV(jV(i,0,e));d=mV(iV(i,e+dV(j)));if(dV(b)==0){h=d;}else if(dV(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
+function iO(a){if(a===null||dV(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
+function jO(a,b){a.style.display=b?'':'none';}
+function kO(a){jO(this.w,a);}
+function lO(a){Df(this.w,'width',a);}
+function mO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
+function qN(){}
+_=qN.prototype=new gU();_.wb=EN;_.Eb=FN;_.Fb=aO;_.fc=bO;_.oe=eO;_.se=fO;_.ve=iO;_.Ae=kO;_.De=lO;_.tS=mO;_.tN=bgc+'UIObject';_.tI=38;_.w=null;function yP(a){if(a.qc()){throw eT(new dT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.wb(),a);a.mb();a.hd();}
+function zP(a){if(!a.qc()){throw eT(new dT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.vd();}finally{a.ob();yf(a.wb(),null);a.t=false;}}
+function AP(a){if(ac(a.v,54)){Fb(a.v,54).ge(a);}else if(a.v!==null){throw eT(new dT(),"This widget's parent does not implement HasWidgets");}}
+function BP(b,a){if(b.qc()){yf(b.wb(),null);}zN(b,a);if(b.qc()){yf(a,b);}}
+function CP(b,a){b.u=a;}
+function DP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.qc()){c.Dc();}c.v=null;}else{if(a!==null){throw eT(new dT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.qc()){c.wc();}}}
+function EP(){}
+function FP(){}
+function aQ(){return this.t;}
+function bQ(){yP(this);}
+function cQ(a){}
+function dQ(){zP(this);}
+function eQ(){}
+function fQ(){}
+function gQ(a){BP(this,a);}
+function wO(){}
+_=wO.prototype=new qN();_.mb=EP;_.ob=FP;_.qc=aQ;_.wc=bQ;_.yc=cQ;_.Dc=dQ;_.hd=eQ;_.vd=fQ;_.oe=gQ;_.tN=bgc+'Widget';_.tI=39;_.t=false;_.u=null;_.v=null;function CD(b,a){DP(a,b);}
+function ED(b,a){DP(a,null);}
+function FD(){var a;a=this.sc();while(a.mc()){a.uc();a.ee();}}
+function aE(){var a,b;for(b=this.sc();b.mc();){a=Fb(b.uc(),13);a.wc();}}
+function bE(){var a,b;for(b=this.sc();b.mc();){a=Fb(b.uc(),13);a.Dc();}}
+function cE(){}
+function dE(){}
+function BD(){}
+_=BD.prototype=new wO();_.cb=FD;_.mb=aE;_.ob=bE;_.hd=cE;_.vd=dE;_.tN=bgc+'Panel';_.tI=40;function Dq(a){a.f=aP(new xO(),a);}
+function Eq(a){Dq(a);return a;}
+function Fq(c,a,b){AP(a);bP(c.f,a);td(b,a.wb());CD(c,a);}
+function ar(d,b,a){var c;cr(d,a);if(b.v===d){c=er(d,b);if(c<a){a--;}}return a;}
+function br(b,a){if(a<0||a>=b.f.c){throw new gT();}}
+function cr(b,a){if(a<0||a>b.f.c){throw new gT();}}
+function fr(b,a){return dP(b.f,a);}
+function er(b,a){return eP(b.f,a);}
+function gr(e,b,c,a,d){a=ar(e,b,a);AP(b);fP(e.f,b,a);if(d){hf(c,b.wb(),a);}else{td(c,b.wb());}CD(e,b);}
+function hr(a){return gP(a.f);}
+function ir(b,c){var a;if(c.v!==b){return false;}ED(b,c);a=c.wb();nf(ff(a),a);iP(b.f,c);return true;}
+function jr(){return hr(this);}
+function kr(a){return this.ge(fr(this,a));}
+function lr(a){return ir(this,a);}
+function Cq(){}
+_=Cq.prototype=new BD();_.sc=jr;_.fe=kr;_.ge=lr;_.tN=bgc+'ComplexPanel';_.tI=41;function kp(a){Eq(a);a.oe(xd());Df(a.wb(),'position','relative');Df(a.wb(),'overflow','hidden');return a;}
+function lp(a,b){Fq(a,b,a.wb());}
+function np(b,c){var a;a=ir(b,c);if(a){op(c.wb());}return a;}
+function op(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
+function pp(a){return np(this,a);}
+function jp(){}
+_=jp.prototype=new Cq();_.ge=pp;_.tN=bgc+'AbsolutePanel';_.tI=42;function qp(){}
+_=qp.prototype=new gU();_.tN=bgc+'AbstractImagePrototype';_.tI=43;function pu(){pu=e3;tu=(aR(),eR);}
+function nu(b,a){pu();ru(b,a);return b;}
+function ou(b,a){if(b.k===null){b.k=du(new cu());}qY(b.k,a);}
+function qu(b,a){switch(xe(a)){case 1:if(b.j!==null){Aq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){fu(b.k,b,a);}break;case 128:case 512:case 256:break;}}
+function ru(b,a){BP(b,a);DN(b,7041);}
+function su(a){if(this.j===null){this.j=yq(new xq());}qY(this.j,a);}
+function uu(a){qu(this,a);}
+function vu(a){ru(this,a);}
+function wu(a){vf(this.wb(),'disabled',!a);}
+function xu(a){if(a){tu.tb(this.wb());}else{tu.bb(this.wb());}}
+function yu(a){tu.ue(this.wb(),a);}
+function mu(){}
+_=mu.prototype=new wO();_.z=su;_.yc=uu;_.oe=vu;_.pe=wu;_.qe=xu;_.te=yu;_.tN=bgc+'FocusWidget';_.tI=44;_.j=null;_.k=null;var tu;function vp(){vp=e3;pu();}
+function up(b,a){vp();nu(b,a);return b;}
+function wp(a){Af(this.wb(),a);}
+function tp(){}
+_=tp.prototype=new mu();_.re=wp;_.tN=bgc+'ButtonBase';_.tI=45;function zp(){zp=e3;vp();}
+function xp(a){zp();up(a,wd());Ap(a.wb());CN(a,'gwt-Button');return a;}
+function yp(b,a){zp();xp(b);b.re(a);return b;}
+function Ap(b){zp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
+function sp(){}
+_=sp.prototype=new tp();_.tN=bgc+'Button';_.tI=46;function Cp(a){Eq(a);a.e=ge();a.d=de();td(a.e,a.d);a.oe(a.e);return a;}
+function Ep(c,b,a){xf(b,'align',a.a);}
+function Fp(c,b,a){Df(b,'verticalAlign',a.a);}
+function aq(c,a){var b;b=ff(c.wb());xf(b,'height',a);}
+function bq(b,c){var a;a=ff(b.wb());xf(a,'width',c);}
+function Bp(){}
+_=Bp.prototype=new Cq();_.me=aq;_.ne=bq;_.tN=bgc+'CellPanel';_.tI=47;_.d=null;_.e=null;function hW(d,a,b){var c;while(a.mc()){c=a.uc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
+function jW(a){throw eW(new dW(),'add');}
+function kW(b){var a;a=hW(this,this.sc(),b);return a!==null;}
+function lW(){return this.bf(yb('[Ljava.lang.Object;',[612],[11],[this.Ee()],null));}
+function mW(a){var b,c,d;d=this.Ee();if(a.a<d){a=tb(a,d);}b=0;for(c=this.sc();c.mc();){Ab(a,b++,c.uc());}if(a.a>d){Ab(a,d,null);}return a;}
+function nW(){var a,b,c;c=rU(new qU());a=null;tU(c,'[');b=this.sc();while(b.mc()){if(a!==null){tU(c,a);}else{a=', ';}tU(c,xV(b.uc()));}tU(c,']');return xU(c);}
+function gW(){}
+_=gW.prototype=new gU();_.E=jW;_.gb=kW;_.af=lW;_.bf=mW;_.tS=nW;_.tN=fgc+'AbstractCollection';_.tI=48;function xW(b,a){throw hT(new gT(),'Index: '+a+', Size: '+b.b);}
+function yW(b,a){throw eW(new dW(),'add');}
+function zW(a){this.D(this.Ee(),a);return true;}
+function AW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ee()!=f.Ee()){return false;}c=this.sc();d=f.sc();while(c.mc()){a=c.uc();b=d.uc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
+function BW(){var a,b,c,d;c=1;a=31;b=this.sc();while(b.mc()){d=b.uc();c=31*c+(d===null?0:d.hC());}return c;}
+function CW(){return qW(new pW(),this);}
+function DW(a){throw eW(new dW(),'remove');}
+function oW(){}
+_=oW.prototype=new gW();_.D=yW;_.E=zW;_.eQ=AW;_.hC=BW;_.sc=CW;_.fe=DW;_.tN=fgc+'AbstractList';_.tI=49;function nY(a){{rY(a);}}
+function oY(a){nY(a);return a;}
+function pY(c,a,b){if(a<0||a>c.b){xW(c,a);}CY(c.a,a,b);++c.b;}
+function qY(b,a){fZ(b.a,b.b++,a);return true;}
+function sY(a){rY(a);}
+function rY(a){a.a=gb();a.b=0;}
+function uY(b,a){return wY(b,a)!=(-1);}
+function vY(b,a){if(a<0||a>=b.b){xW(b,a);}return bZ(b.a,a);}
+function wY(b,a){return xY(b,a,0);}
+function xY(c,b,a){if(a<0){xW(c,a);}for(;a<c.b;++a){if(aZ(b,bZ(c.a,a))){return a;}}return (-1);}
+function yY(a){return a.b==0;}
+function zY(c,a){var b;b=vY(c,a);dZ(c.a,a,1);--c.b;return b;}
+function AY(c,b){var a;a=wY(c,b);if(a==(-1)){return false;}zY(c,a);return true;}
+function BY(d,a,b){var c;c=vY(d,a);fZ(d.a,a,b);return c;}
+function DY(a,b){pY(this,a,b);}
+function EY(a){return qY(this,a);}
+function CY(a,b,c){a.splice(b,0,c);}
+function FY(a){return uY(this,a);}
+function aZ(a,b){return a===b||a!==null&&a.eQ(b);}
+function cZ(a){return vY(this,a);}
+function bZ(a,b){return a[b];}
+function eZ(a){return zY(this,a);}
+function dZ(a,c,b){a.splice(c,b);}
+function fZ(a,b,c){a[b]=c;}
+function gZ(){return this.b;}
+function hZ(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,bZ(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
+function mY(){}
+_=mY.prototype=new oW();_.D=DY;_.E=EY;_.gb=FY;_.jc=cZ;_.fe=eZ;_.Ee=gZ;_.bf=hZ;_.tN=fgc+'ArrayList';_.tI=50;_.a=null;_.b=0;function dq(a){oY(a);return a;}
+function fq(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),41);b.Ac(c);}}
+function cq(){}
+_=cq.prototype=new mY();_.tN=bgc+'ChangeListenerCollection';_.tI=51;function lq(){lq=e3;vp();}
+function iq(a){lq();jq(a,Cd());CN(a,'gwt-CheckBox');return a;}
+function kq(b,a){lq();iq(b);pq(b,a);return b;}
+function jq(b,a){var c;lq();up(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.wb()));Ef(b.wb(),0);td(b.wb(),b.a);td(b.wb(),b.b);c='check'+ ++wq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
+function mq(a){return ef(a.b);}
+function nq(b){var a;a=b.qc()?'checked':'defaultChecked';return Fe(b.a,a);}
+function oq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
+function pq(b,a){Bf(b.b,a);}
+function qq(){yf(this.a,this);}
+function rq(){yf(this.a,null);oq(this,nq(this));}
+function sq(a){vf(this.a,'disabled',!a);}
+function tq(a){if(a){tu.tb(this.a);}else{tu.bb(this.a);}}
+function uq(a){Af(this.b,a);}
+function vq(a){tu.ue(this.a,a);}
+function hq(){}
+_=hq.prototype=new tp();_.hd=qq;_.vd=rq;_.pe=sq;_.qe=tq;_.re=uq;_.te=vq;_.tN=bgc+'CheckBox';_.tI=52;_.a=null;_.b=null;var wq=0;function yq(a){oY(a);return a;}
+function Aq(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),42);b.Bc(c);}}
+function xq(){}
+_=xq.prototype=new mY();_.tN=bgc+'ClickListenerCollection';_.tI=53;function or(a,b){if(a.k!==null){throw eT(new dT(),'Composite.initWidget() may only be called once.');}AP(b);a.oe(b.wb());a.k=b;DP(b,a);}
+function pr(){if(this.k===null){throw eT(new dT(),'initWidget() was never called in '+w(this));}return this.w;}
+function qr(){if(this.k!==null){return this.k.qc();}return false;}
+function rr(){this.k.wc();this.hd();}
+function sr(){try{this.vd();}finally{this.k.Dc();}}
+function mr(){}
+_=mr.prototype=new wO();_.wb=pr;_.qc=qr;_.wc=rr;_.Dc=sr;_.tN=bgc+'Composite';_.tI=54;_.k=null;function ur(a){Eq(a);a.oe(xd());return a;}
+function wr(b,c){var a;a=c.wb();Df(a,'width','100%');Df(a,'height','100%');c.Ae(false);}
+function xr(b,c,a){gr(b,c,b.wb(),a,true);wr(b,c);}
+function yr(b,c){var a;a=ir(b,c);if(a){zr(b,c);if(b.b===c){b.b=null;}}return a;}
+function zr(a,b){Df(b.wb(),'width','');Df(b.wb(),'height','');b.Ae(true);}
+function Ar(b,a){br(b,a);if(b.b!==null){b.b.Ae(false);}b.b=fr(b,a);b.b.Ae(true);}
+function Br(a){return yr(this,a);}
+function tr(){}
+_=tr.prototype=new Cq();_.ge=Br;_.tN=bgc+'DeckPanel';_.tI=55;_.b=null;function cH(a){dH(a,xd());return a;}
+function dH(b,a){b.oe(a);return b;}
+function eH(a,b){if(a.r!==null){throw eT(new dT(),'SimplePanel can only contain one child widget');}a.Ce(b);}
+function gH(a,b){if(b===a.r){return;}if(b!==null){AP(b);}if(a.r!==null){a.ge(a.r);}a.r=b;if(b!==null){td(a.vb(),a.r.wb());CD(a,b);}}
+function hH(){return this.wb();}
+function iH(){return DG(new BG(),this);}
+function jH(a){if(this.r!==a){return false;}ED(this,a);nf(this.vb(),a.wb());this.r=null;return true;}
+function kH(a){gH(this,a);}
+function AG(){}
+_=AG.prototype=new BD();_.vb=hH;_.sc=iH;_.ge=jH;_.Ce=kH;_.tN=bgc+'SimplePanel';_.tI=56;_.r=null;function mE(){mE=e3;CE=uR(new pR());}
+function iE(a){mE();dH(a,wR(CE));tE(a,0,0);return a;}
+function jE(b,a){mE();iE(b);b.k=a;return b;}
+function kE(c,a,b){mE();jE(c,a);c.o=b;return c;}
+function lE(b,a){if(a.blur){a.blur();}}
+function nE(a){return xR(CE,a.wb());}
+function oE(a){return wN(a);}
+function pE(a){qE(a,false);}
+function qE(b,a){if(!b.p){return;}b.p=false;np(qG(),b);b.wb();}
+function rE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.se(a.l);}if(a.m!==null){b.De(a.m);}}}
+function sE(e,b){var a,c,d,f;d=ve(b);c=kf(e.wb(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){qE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){lE(e,d);return false;}}}return !e.o||c;}
+function tE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.wb();Df(a,'left',b+'px');Df(a,'top',d+'px');}
+function uE(a,b){gH(a,b);rE(a);}
+function vE(a,b){a.m=b;rE(a);if(dV(b)==0){a.m=null;}}
+function wE(a){if(a.p){return;}a.p=true;sd(a);Df(a.wb(),'position','absolute');if(a.q!=(-1)){tE(a,a.n,a.q);}lp(qG(),a);a.wb();}
+function xE(){return nE(this);}
+function yE(){return vN(this);}
+function zE(){return oE(this);}
+function AE(){return xR(CE,this.wb());}
+function BE(){pE(this);}
+function DE(){pf(this);zP(this);}
+function EE(a){return sE(this,a);}
+function FE(a){this.l=a;rE(this);if(dV(a)==0){this.l=null;}}
+function aF(b){var a;a=nE(this);if(b===null||dV(b)==0){of(a,'title');}else{uf(a,'title',b);}}
+function bF(a){Df(this.wb(),'visibility',a?'visible':'hidden');this.wb();}
+function cF(a){uE(this,a);}
+function dF(a){vE(this,a);}
+function hE(){}
+_=hE.prototype=new AG();_.vb=xE;_.Eb=yE;_.Fb=zE;_.fc=AE;_.nc=BE;_.Dc=DE;_.Ec=EE;_.se=FE;_.ve=aF;_.Ae=bF;_.Ce=cF;_.De=dF;_.tN=bgc+'PopupPanel';_.tI=57;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var CE;function bs(){bs=e3;mE();}
+function Dr(a){a.e=lz(new pw());a.j=tt(new nt());}
+function Er(a){bs();Fr(a,false);return a;}
+function Fr(b,a){bs();as(b,a,true);return b;}
+function as(c,a,b){bs();kE(c,a,b);Dr(c);c.j.Be(0,0,c.e);c.j.se('100%');zy(c.j,0);By(c.j,0);Cy(c.j,0);ex(c.j.n,1,0,'100%');jx(c.j.n,1,0,'100%');dx(c.j.n,1,0,(wz(),xz),(Fz(),bA));uE(c,c.j);CN(c,'gwt-DialogBox');CN(c.e,'Caption');gC(c.e,c);return c;}
+function cs(b,a){pz(b.e,a);}
+function ds(b,a){jC(b.e,a);}
+function es(a,b){if(a.f!==null){yy(a.j,a.f);}if(b!==null){a.j.Be(1,0,b);}a.f=b;}
+function fs(a){if(xe(a)==4){if(kf(this.e.wb(),ve(a))){ye(a);}}return sE(this,a);}
+function gs(a,b,c){this.i=true;tf(this.e.wb());this.g=b;this.h=c;}
+function hs(a){}
+function is(a){}
+function js(c,d,e){var a,b;if(this.i){a=d+tN(this);b=e+uN(this);tE(this,a-this.g,b-this.h);}}
+function ks(a,b,c){this.i=false;mf(this.e.wb());}
+function ls(a){if(this.f!==a){return false;}yy(this.j,a);return true;}
+function ms(a){es(this,a);}
+function ns(a){vE(this,a);this.j.De('100%');}
+function Cr(){}
+_=Cr.prototype=new hE();_.Ec=fs;_.jd=gs;_.kd=hs;_.ld=is;_.md=js;_.nd=ks;_.ge=ls;_.Ce=ms;_.De=ns;_.tN=bgc+'DialogBox';_.tI=58;_.f=null;_.g=0;_.h=0;_.i=false;function zs(){zs=e3;Fs=new ps();at=new ps();bt=new ps();ct=new ps();dt=new ps();}
+function ws(a){a.b=(wz(),yz);a.c=(Fz(),cA);}
+function xs(a){zs();Cp(a);ws(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
+function ys(c,d,a){var b;if(a===Fs){if(d===c.a){return;}else if(c.a!==null){throw bT(new aT(),'Only one CENTER widget may be added');}}AP(d);bP(c.f,d);if(a===Fs){c.a=d;}b=ss(new rs(),a);CP(d,b);Cs(c,d,c.b);Ds(c,d,c.c);As(c);CD(c,d);}
+function As(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=gP(p.f);BO(h);){c=CO(h);e=c.u.a;if(e===bt||e===ct){++l;}else if(e===at||e===dt){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[635],[33],[l],null);for(g=0;g<l;++g){m[g]=new us();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=gP(p.f);BO(h);){c=CO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===bt){hf(m[j].b,o,m[j].a);td(o,c.wb());wf(o,'colSpan',f-q+1);++j;}else if(i.a===ct){hf(m[n].b,o,m[n].a);td(o,c.wb());wf(o,'colSpan',f-q+1);--n;}else if(i.a===dt){k=m[j];hf(k.b,o,k.a++);td(o,c.wb());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===at){k=m[j];hf(k.b,o,k.a);td(o,c.wb());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===Fs){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.wb());}}
+function Bs(b,c){var a;a=ir(b,c);if(a){if(c===b.a){b.a=null;}As(b);}return a;}
+function Cs(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
+function Ds(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
+function Es(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
+function et(a){return Bs(this,a);}
+function ft(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
+function gt(a,b){Es(this,a,b);}
+function os(){}
+_=os.prototype=new Bp();_.ge=et;_.me=ft;_.ne=gt;_.tN=bgc+'DockPanel';_.tI=59;_.a=null;var Fs,at,bt,ct,dt;function ps(){}
+_=ps.prototype=new gU();_.tN=bgc+'DockPanel$DockLayoutConstant';_.tI=60;function ss(b,a){b.a=a;return b;}
+function rs(){}
+_=rs.prototype=new gU();_.tN=bgc+'DockPanel$LayoutData';_.tI=61;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function us(){}
+_=us.prototype=new gU();_.tN=bgc+'DockPanel$TmpRow';_.tI=62;_.a=0;_.b=null;function it(a){a.oe(yd('input'));xf(a.wb(),'type','file');CN(a,'gwt-FileUpload');return a;}
+function kt(a){return bf(a.wb(),'value');}
+function lt(b,a){xf(b.wb(),'name',a);}
+function ht(){}
+_=ht.prototype=new wO();_.tN=bgc+'FileUpload';_.tI=63;function dy(a){a.s=zx(new ux());}
+function ey(a){dy(a);a.q=ge();a.m=de();td(a.q,a.m);a.oe(a.q);DN(a,1);return a;}
+function fy(b,a){if(b.r===null){b.r=hK(new gK());}qY(b.r,a);}
+function gy(d,c,b){var a;hy(d,c);if(b<0){throw hT(new gT(),'Column '+b+' must be non-negative: '+b);}a=d.ub(c);if(a<=b){throw hT(new gT(),'Column index: '+b+', Column size: '+d.ub(c));}}
+function hy(c,a){var b;b=c.bc();if(a>=b||a<0){throw hT(new gT(),'Row index: '+a+', Row size: '+b);}}
+function iy(e,c,b,a){var d;d=ax(e.n,c,b);vy(e,d,a);return d;}
+function jy(d){var a,b,c;for(c=0;c<d.bc();++c){for(b=0;b<d.ub(c);++b){a=ry(d,c,b);if(a!==null){yy(d,a);}}}}
+function ly(a){return ee();}
+function my(c,b,a){return b.rows[a].cells.length;}
+function ny(a){return oy(a,a.m);}
+function oy(b,a){return a.rows.length;}
+function py(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(EU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
+function qy(d,c,a){var b;gy(d,c,a);b=Fw(d.n,c,a);return ef(b);}
+function sy(c,b,a){gy(c,b,a);return ry(c,b,a);}
+function ry(e,d,b){var a,c;c=ax(e.n,d,b);a=df(c);if(a===null){return null;}else{return Bx(e.s,a);}}
+function ty(d,b,a){var c,e;e=sx(d.p,d.m,b);c=d.hb();hf(e,c,a);}
+function uy(b,a){var c;if(a!=xt(b)){hy(b,a);}c=fe();hf(b.m,c,a);return a;}
+function vy(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=Bx(d.s,b);}if(e!==null){yy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
+function yy(b,c){var a;if(c.v!==b){return false;}ED(b,c);a=c.wb();nf(ff(a),a);Ex(b.s,a);return true;}
+function wy(d,b,a){var c,e;gy(d,b,a);c=iy(d,b,a,false);e=sx(d.p,d.m,b);nf(e,c);}
+function xy(d,c){var a,b;b=d.ub(c);for(a=0;a<b;++a){iy(d,c,a,false);}nf(d.m,sx(d.p,d.m,c));}
+function zy(a,b){xf(a.q,'border',''+b);}
+function Ay(b,a){b.n=a;}
+function By(b,a){wf(b.q,'cellPadding',a);}
+function Cy(b,a){wf(b.q,'cellSpacing',a);}
+function Dy(b,a){b.o=a;nx(b.o);}
+function Ey(e,c,a,b){var d;ew(e,c,a);d=iy(e,c,a,b===null);if(b!==null){Af(d,b);}}
+function Fy(b,a){b.p=a;}
+function az(e,b,a,d){var c;e.zd(b,a);c=iy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
+function bz(d,b,a,e){var c;d.zd(b,a);if(e!==null){AP(e);c=iy(d,b,a,true);Cx(d.s,e);td(c,e.wb());CD(d,e);}}
+function cz(){jy(this);}
+function dz(){return ly(this);}
+function ez(b,a){ty(this,b,a);}
+function fz(){return Fx(this.s);}
+function gz(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=py(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);jK(this.r,this,d,b);}break;}default:}}
+function jz(a){return yy(this,a);}
+function hz(b,a){wy(this,b,a);}
+function iz(a){xy(this,a);}
+function kz(b,a,c){bz(this,b,a,c);}
+function qw(){}
+_=qw.prototype=new BD();_.cb=cz;_.hb=dz;_.oc=ez;_.sc=fz;_.yc=gz;_.ge=jz;_.be=hz;_.de=iz;_.Be=kz;_.tN=bgc+'HTMLTable';_.tI=64;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function tt(a){ey(a);Ay(a,pt(new ot(),a));Fy(a,px(new ox(),a));Dy(a,lx(new kx(),a));return a;}
+function vt(b,a){hy(b,a);return my(b,b.m,a);}
+function wt(a){return Fb(a.n,43);}
+function xt(a){return ny(a);}
+function yt(b,a){return uy(b,a);}
+function zt(d,b){var a,c;if(b<0){throw hT(new gT(),'Cannot create a row with a negative index: '+b);}c=xt(d);for(a=c;a<=b;a++){yt(d,a);}}
+function At(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
+function Bt(a){return vt(this,a);}
+function Ct(){return xt(this);}
+function Dt(b,a){ty(this,b,a);}
+function Et(d,b){var a,c;zt(this,d);if(b<0){throw hT(new gT(),'Cannot create a column with a negative index: '+b);}a=vt(this,d);c=b+1-a;if(c>0){At(this.m,d,c);}}
+function Ft(a){zt(this,a);}
+function au(b,a){wy(this,b,a);}
+function bu(a){xy(this,a);}
+function nt(){}
+_=nt.prototype=new qw();_.ub=Bt;_.bc=Ct;_.oc=Dt;_.zd=Et;_.Ad=Ft;_.be=au;_.de=bu;_.tN=bgc+'FlexTable';_.tI=65;function Bw(b,a){b.a=a;return b;}
+function Dw(c,b,a){c.a.zd(b,a);return Ew(c,c.a.m,b,a);}
+function Ew(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
+function Fw(c,b,a){gy(c.a,b,a);return Ew(c,c.a.m,b,a);}
+function ax(c,b,a){return Ew(c,c.a.m,b,a);}
+function bx(d,c,a){var b;b=Fw(d,c,a);return dO(b);}
+function cx(e,b,a,c){var d;gy(e.a,b,a);d=Ew(e,e.a.m,b,a);hO(d,c,false);}
+function dx(d,c,a,b,e){fx(d,c,a,b);hx(d,c,a,e);}
+function ex(e,d,a,c){var b;e.a.zd(d,a);b=Ew(e,e.a.m,d,a);xf(b,'height',c);}
+function fx(e,d,b,a){var c;e.a.zd(d,b);c=Ew(e,e.a.m,d,b);xf(c,'align',a.a);}
+function gx(d,b,a,c){d.a.zd(b,a);gO(Ew(d,d.a.m,b,a),c);}
+function hx(d,c,b,a){d.a.zd(c,b);Df(Ew(d,d.a.m,c,b),'verticalAlign',a.a);}
+function ix(d,c,a,e){var b;b=Dw(d,c,a);jO(b,e);}
+function jx(c,b,a,d){c.a.zd(b,a);xf(Ew(c,c.a.m,b,a),'width',d);}
+function Aw(){}
+_=Aw.prototype=new gU();_.tN=bgc+'HTMLTable$CellFormatter';_.tI=66;function pt(b,a){Bw(b,a);return b;}
+function rt(d,c,b,a){wf(Dw(d,c,b),'colSpan',a);}
+function st(d,b,a,c){wf(Dw(d,b,a),'rowSpan',c);}
+function ot(){}
+_=ot.prototype=new Aw();_.tN=bgc+'FlexTable$FlexCellFormatter';_.tI=67;function du(a){oY(a);return a;}
+function gu(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),44);b.ad(c);}}
+function fu(c,b,a){switch(xe(a)){case 2048:gu(c,b);break;case 4096:hu(c,b);break;}}
+function hu(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),44);b.id(c);}}
+function cu(){}
+_=cu.prototype=new mY();_.tN=bgc+'FocusListenerCollection';_.tI=68;function ku(){ku=e3;lu=(aR(),dR);}
+var lu;function Au(a){oY(a);return a;}
+function Cu(f,e,d){var a,b,c;a=wv(new vv(),e,d);for(c=f.sc();c.mc();){b=Fb(c.uc(),45);b.pd(a);}}
+function Du(e,d){var a,b,c;a=new yv();for(c=e.sc();c.mc();){b=Fb(c.uc(),45);b.qd(a);}return a.a;}
+function zu(){}
+_=zu.prototype=new mY();_.tN=bgc+'FormHandlerCollection';_.tI=69;function gv(){gv=e3;qv=new gR();}
+function ev(a){gv();dH(a,zd());a.b='FormPanel_'+ ++pv;nv(a,a.b);DN(a,32768);return a;}
+function fv(b,a){if(b.a===null){b.a=Au(new zu());}qY(b.a,a);}
+function hv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
+function iv(a){if(a.a!==null){return !Du(a.a,a);}return true;}
+function jv(a){if(a.a!==null){eg(bv(new av(),a));}}
+function kv(a,b){xf(a.wb(),'action',b);}
+function lv(b,a){lR(qv,b.wb(),a);}
+function mv(b,a){xf(b.wb(),'method',a);}
+function nv(b,a){xf(b.wb(),'target',a);}
+function ov(a){if(a.a!==null){if(Du(a.a,a)){return;}}mR(qv,a.wb(),a.c);}
+function rv(){yP(this);hv(this);td(pG(),this.c);kR(qv,this.c,this.wb(),this);}
+function sv(){zP(this);nR(qv,this.c,this.wb());nf(pG(),this.c);this.c=null;}
+function tv(){var a;a=x;{return iv(this);}}
+function uv(){var a;a=x;{jv(this);}}
+function Fu(){}
+_=Fu.prototype=new AG();_.wc=rv;_.Dc=sv;_.bd=tv;_.cd=uv;_.tN=bgc+'FormPanel';_.tI=70;_.a=null;_.b=null;_.c=null;var pv=0,qv;function bv(b,a){b.a=a;return b;}
+function dv(){Cu(this.a.a,this,jR((gv(),qv),this.a.c));}
+function av(){}
+_=av.prototype=new gU();_.rb=dv;_.tN=bgc+'FormPanel$1';_.tI=71;function n0(){}
+_=n0.prototype=new gU();_.tN=fgc+'EventObject';_.tI=72;function wv(c,b,a){c.a=a;return c;}
+function vv(){}
+_=vv.prototype=new n0();_.tN=bgc+'FormSubmitCompleteEvent';_.tI=73;_.a=null;function Av(b,a){b.a=a;}
+function yv(){}
+_=yv.prototype=new n0();_.tN=bgc+'FormSubmitEvent';_.tI=74;_.a=false;function Cv(a){a.oe(Ad());return a;}
+function Dv(a,b){Cv(a);Fv(a,b);return a;}
+function Fv(a,b){xf(a.wb(),'src',b);}
+function Bv(){}
+_=Bv.prototype=new wO();_.tN=bgc+'Frame';_.tI=75;function bw(a){ey(a);Ay(a,Bw(new Aw(),a));Fy(a,px(new ox(),a));Dy(a,lx(new kx(),a));return a;}
+function cw(c,b,a){bw(c);iw(c,b,a);return c;}
+function ew(c,b,a){fw(c,b);if(a<0){throw hT(new gT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw hT(new gT(),'Column index: '+a+', Column size: '+c.k);}}
+function fw(b,a){if(a<0){throw hT(new gT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw hT(new gT(),'Row index: '+a+', Row size: '+b.l);}}
+function iw(c,b,a){gw(c,a);hw(c,b);}
+function gw(d,a){var b,c;if(d.k==a){return;}if(a<0){throw hT(new gT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.be(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.oc(b,c);}}}d.k=a;}
+function hw(b,a){if(b.l==a){return;}if(a<0){throw hT(new gT(),'Cannot set number of rows to '+a);}if(b.l<a){jw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.de(--b.l);}}}
+function jw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
+function kw(){var a;a=ly(this);Af(a,'&nbsp;');return a;}
+function lw(a){return this.k;}
+function mw(){return this.l;}
+function nw(b,a){ew(this,b,a);}
+function ow(a){fw(this,a);}
+function aw(){}
+_=aw.prototype=new qw();_.hb=kw;_.ub=lw;_.bc=mw;_.zd=nw;_.Ad=ow;_.tN=bgc+'Grid';_.tI=76;_.k=0;_.l=0;function dC(a){a.oe(xd());DN(a,131197);CN(a,'gwt-Label');return a;}
+function eC(b,a){dC(b);jC(b,a);return b;}
+function fC(b,a){if(b.a===null){b.a=yq(new xq());}qY(b.a,a);}
+function gC(b,a){if(b.b===null){b.b=iD(new hD());}qY(b.b,a);}
+function iC(a){return ef(a.wb());}
+function jC(b,a){Bf(b.wb(),a);}
+function kC(a,b){Df(a.wb(),'whiteSpace',b?'normal':'nowrap');}
+function lC(a){switch(xe(a)){case 1:if(this.a!==null){Aq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){mD(this.b,this,a);}break;case 131072:break;}}
+function cC(){}
+_=cC.prototype=new wO();_.yc=lC;_.tN=bgc+'Label';_.tI=77;_.a=null;_.b=null;function lz(a){dC(a);a.oe(xd());DN(a,125);CN(a,'gwt-HTML');return a;}
+function mz(b,a){lz(b);pz(b,a);return b;}
+function nz(b,a,c){mz(b,a);kC(b,c);return b;}
+function pz(b,a){Af(b.wb(),a);}
+function pw(){}
+_=pw.prototype=new cC();_.tN=bgc+'HTML';_.tI=78;function sw(a){{vw(a);}}
+function tw(b,a){b.c=a;sw(b);return b;}
+function vw(a){while(++a.b<a.c.b.b){if(vY(a.c.b,a.b)!==null){return;}}}
+function ww(a){return a.b<a.c.b.b;}
+function xw(){return ww(this);}
+function yw(){var a;if(!ww(this)){throw new s2();}a=vY(this.c.b,this.b);this.a=this.b;vw(this);return a;}
+function zw(){var a;if(this.a<0){throw new dT();}a=Fb(vY(this.c.b,this.a),13);AP(a);this.a=(-1);}
+function rw(){}
+_=rw.prototype=new gU();_.mc=xw;_.uc=yw;_.ee=zw;_.tN=bgc+'HTMLTable$1';_.tI=79;_.a=(-1);_.b=(-1);function lx(b,a){b.b=a;return b;}
+function nx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
+function kx(){}
+_=kx.prototype=new gU();_.tN=bgc+'HTMLTable$ColumnFormatter';_.tI=80;_.a=null;function px(b,a){b.a=a;return b;}
+function rx(b,a){b.a.Ad(a);return sx(b,b.a.m,a);}
+function sx(c,a,b){return a.rows[b];}
+function tx(c,a,b){gO(rx(c,a),b);}
+function ox(){}
+_=ox.prototype=new gU();_.tN=bgc+'HTMLTable$RowFormatter';_.tI=81;function yx(a){a.b=oY(new mY());}
+function zx(a){yx(a);return a;}
+function Bx(c,a){var b;b=by(a);if(b<0){return null;}return Fb(vY(c.b,b),13);}
+function Cx(b,c){var a;if(b.a===null){a=b.b.b;qY(b.b,c);}else{a=b.a.a;BY(b.b,a,c);b.a=b.a.b;}cy(c.wb(),a);}
+function Dx(c,a,b){ay(a);BY(c.b,b,null);c.a=wx(new vx(),b,c.a);}
+function Ex(c,a){var b;b=by(a);Dx(c,a,b);}
+function Fx(a){return tw(new rw(),a);}
+function ay(a){a['__widgetID']=null;}
+function by(a){var b=a['__widgetID'];return b==null?-1:b;}
+function cy(a,b){a['__widgetID']=b;}
+function ux(){}
+_=ux.prototype=new gU();_.tN=bgc+'HTMLTable$WidgetMapper';_.tI=82;_.a=null;function wx(c,a,b){c.a=a;c.b=b;return c;}
+function vx(){}
+_=vx.prototype=new gU();_.tN=bgc+'HTMLTable$WidgetMapper$FreeNode';_.tI=83;_.a=0;_.b=null;function wz(){wz=e3;xz=uz(new tz(),'center');yz=uz(new tz(),'left');zz=uz(new tz(),'right');}
+var xz,yz,zz;function uz(b,a){b.a=a;return b;}
+function tz(){}
+_=tz.prototype=new gU();_.tN=bgc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=84;_.a=null;function Fz(){Fz=e3;aA=Dz(new Cz(),'bottom');bA=Dz(new Cz(),'middle');cA=Dz(new Cz(),'top');}
+var aA,bA,cA;function Dz(a,b){a.a=b;return a;}
+function Cz(){}
+_=Cz.prototype=new gU();_.tN=bgc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=85;_.a=null;function gA(a){a.a=(wz(),yz);a.c=(Fz(),cA);}
+function hA(a){Cp(a);gA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function iA(b,c){var a;a=kA(b);td(b.b,a);Fq(b,c,a);}
+function kA(b){var a;a=ee();Ep(b,a,b.a);Fp(b,a,b.c);return a;}
+function lA(c,d,a){var b;cr(c,a);b=kA(c);hf(c.b,b,a);gr(c,d,b,a,false);}
+function mA(c,d){var a,b;b=ff(d.wb());a=ir(c,d);if(a){nf(c.b,b);}return a;}
+function nA(b,a){b.c=a;}
+function oA(a){return mA(this,a);}
+function fA(){}
+_=fA.prototype=new Bp();_.ge=oA;_.tN=bgc+'HorizontalPanel';_.tI=86;_.b=null;function qA(a){a.oe(xd());td(a.wb(),a.a=vd());DN(a,1);CN(a,'gwt-Hyperlink');return a;}
+function rA(c,b,a){qA(c);uA(c,b);tA(c,a);return c;}
+function tA(b,a){b.b=a;xf(b.a,'href','#'+a);}
+function uA(b,a){Bf(b.a,a);}
+function vA(a){if(xe(a)==1){ah(this.b);ye(a);}}
+function pA(){}
+_=pA.prototype=new wO();_.yc=vA;_.tN=bgc+'Hyperlink';_.tI=87;_.a=null;_.b=null;function pB(){pB=e3;l1(new p0());}
+function lB(a){pB();oB(a,eB(new dB(),a));CN(a,'gwt-Image');return a;}
+function mB(a,b){pB();oB(a,fB(new dB(),a,b));CN(a,'gwt-Image');return a;}
+function nB(b,a){if(b.a===null){b.a=yq(new xq());}qY(b.a,a);}
+function oB(b,a){b.b=a;}
+function rB(a,b){a.b.xe(a,b);}
+function qB(c,e,b,d,f,a){c.b.we(c,e,b,d,f,a);}
+function sB(a){switch(xe(a)){case 1:{if(this.a!==null){Aq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
+function wA(){}
+_=wA.prototype=new wO();_.yc=sB;_.tN=bgc+'Image';_.tI=88;_.a=null;_.b=null;function zA(){}
+function xA(){}
+_=xA.prototype=new gU();_.rb=zA;_.tN=bgc+'Image$1';_.tI=89;function bB(){}
+_=bB.prototype=new gU();_.tN=bgc+'Image$State';_.tI=90;function CA(){CA=e3;EA=new hQ();}
+function BA(d,b,f,c,e,g,a){CA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.oe(kQ(EA,f,c,e,g,a));DN(b,131197);DA(d,b);return d;}
+function DA(b,a){eg(new xA());}
+function aB(a,b){oB(a,fB(new dB(),a,b));}
+function FA(b,e,c,d,f,a){if(!FU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;iQ(EA,b.wb(),e,c,d,f,a);DA(this,b);}}
+function AA(){}
+_=AA.prototype=new bB();_.xe=aB;_.we=FA;_.tN=bgc+'Image$ClippedState';_.tI=91;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var EA;function eB(b,a){a.oe(Bd());DN(a,229501);return b;}
+function fB(b,a,c){eB(b,a);hB(b,a,c);return b;}
+function hB(b,a,c){zf(a.wb(),c);}
+function jB(a,b){hB(this,a,b);}
+function iB(b,e,c,d,f,a){oB(b,BA(new AA(),b,e,c,d,f,a));}
+function dB(){}
+_=dB.prototype=new bB();_.xe=jB;_.we=iB;_.tN=bgc+'Image$UnclippedState';_.tI=92;function wB(c,a,b){}
+function xB(c,a,b){}
+function yB(c,a,b){}
+function uB(){}
+_=uB.prototype=new gU();_.ed=wB;_.fd=xB;_.gd=yB;_.tN=bgc+'KeyboardListenerAdapter';_.tI=93;function AB(a){oY(a);return a;}
+function CB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.ed(e,b,d);}}
+function DB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.fd(e,b,d);}}
+function EB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.gd(e,b,d);}}
+function FB(d,c,a){var b;b=aC(a);switch(xe(a)){case 128:CB(d,c,bc(se(a)),b);break;case 512:EB(d,c,bc(se(a)),b);break;case 256:DB(d,c,bc(se(a)),b);break;}}
+function aC(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
+function zB(){}
+_=zB.prototype=new mY();_.tN=bgc+'KeyboardListenerCollection';_.tI=94;function BC(){BC=e3;pu();fD=new nC();}
+function uC(a){BC();vC(a,false);return a;}
+function vC(b,a){BC();nu(b,be(a));DN(b,1024);CN(b,'gwt-ListBox');return b;}
+function wC(b,a){if(b.b===null){b.b=dq(new cq());}qY(b.b,a);}
+function xC(b,a){aD(b,a,(-1));}
+function yC(b,a,c){bD(b,a,c,(-1));}
+function zC(b,a){if(a<0||a>=CC(b)){throw new gT();}}
+function AC(a){oC(fD,a.wb());}
+function CC(a){return qC(fD,a.wb());}
+function DC(b,a){zC(b,a);return rC(fD,b.wb(),a);}
+function EC(a){return af(a.wb(),'selectedIndex');}
+function FC(b,a){zC(b,a);return sC(fD,b.wb(),a);}
+function aD(c,b,a){bD(c,b,b,a);}
+function bD(c,b,d,a){jf(c.wb(),b,d,a);}
+function cD(b,a){zC(b,a);tC(fD,b.wb(),a);}
+function dD(b,a){wf(b.wb(),'selectedIndex',a);}
+function eD(a,b){wf(a.wb(),'size',b);}
+function gD(a){if(xe(a)==1024){if(this.b!==null){fq(this.b,this);}}else{qu(this,a);}}
+function mC(){}
+_=mC.prototype=new mu();_.yc=gD;_.tN=bgc+'ListBox';_.tI=95;_.b=null;var fD;function oC(b,a){a.options.length=0;}
+function qC(b,a){return a.options.length;}
+function rC(c,b,a){return b.options[a].text;}
+function sC(c,b,a){return b.options[a].value;}
+function tC(c,b,a){b.options[a]=null;}
+function nC(){}
+_=nC.prototype=new gU();_.tN=bgc+'ListBox$Impl';_.tI=96;function iD(a){oY(a);return a;}
+function kD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.jd(c,e,f);}}
+function lD(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.kd(c);}}
+function mD(e,c,a){var b,d,f,g,h;d=c.wb();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:kD(e,c,g,h);break;case 8:pD(e,c,g,h);break;case 64:oD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){lD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){nD(e,c);}break;}}
+function nD(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.ld(c);}}
+function oD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.md(c,e,f);}}
+function pD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.nd(c,e,f);}}
+function hD(){}
+_=hD.prototype=new mY();_.tN=bgc+'MouseListenerCollection';_.tI=97;function rD(){}
+_=rD.prototype=new gU();_.tN=bgc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=98;_.a=null;_.b=null;function vD(b,a){zD(a,b.ae());AD(a,b.ae());}
+function wD(a){return a.a;}
+function xD(a){return a.b;}
+function yD(b,a){b.jf(wD(a));b.jf(xD(a));}
+function zD(a,b){a.a=b;}
+function AD(a,b){a.b=b;}
+function yK(){yK=e3;pu();FK=new BR();}
+function uK(b,a){yK();nu(b,a);DN(b,1024);return b;}
+function vK(b,a){if(b.f===null){b.f=dq(new cq());}qY(b.f,a);}
+function wK(b,a){if(b.i===null){b.i=AB(new zB());}qY(b.i,a);}
+function xK(a){if(a.h!==null){ye(a.h);}}
+function zK(a){return bf(a.wb(),'value');}
+function AK(b,a){CK(b,a,0);}
+function BK(b,a){xf(b.wb(),'name',a);}
+function CK(c,b,a){if(a<0){throw hT(new gT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>dV(zK(c))){throw hT(new gT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+dV(zK(c)));}FR(FK,c.wb(),b,a);}
+function DK(b,a){xf(b.wb(),'value',a!==null?a:'');}
+function EK(a){if(this.g===null){this.g=yq(new xq());}qY(this.g,a);}
+function aL(a){var b;qu(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;FB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){Aq(this.g,this);}}else if(b==1024){if(this.f!==null){fq(this.f,this);}}}
+function tK(){}
+_=tK.prototype=new mu();_.z=EK;_.yc=aL;_.tN=bgc+'TextBoxBase';_.tI=99;_.f=null;_.g=null;_.h=null;_.i=null;var FK;function gE(){gE=e3;yK();}
+function fE(a){gE();uK(a,Dd());CN(a,'gwt-PasswordTextBox');return a;}
+function eE(){}
+_=eE.prototype=new tK();_.tN=bgc+'PasswordTextBox';_.tI=100;function rF(b,a){sF(b,a,null);return b;}
+function sF(c,a,b){c.a=a;uF(c);return c;}
+function tF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=aG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=aG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=DF(b*2);f[a]=h;}var e=c.slice(b);if(h.F(e)){i.b++;return true;}else{return false;}}}
+function uF(a){a.b=0;a.c={};a.d={};}
+function wF(b,a){return uY(xF(b,a,1),a);}
+function xF(c,b,a){var d;d=oY(new mY());if(b!==null&&a>0){zF(c,b,'',d,a);}return d;}
+function yF(a){return gF(new fF(),a);}
+function zF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=aG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+dG(a);h.Fe(f,l,c,b);}}else{for(j in k){var l=d+dG(j);if(l.indexOf(f)==0){c.E(l);}if(c.Ee()>=b){return;}}for(var a in i){var l=d+dG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ee()||h.b==1){h.pb(c,l);}else{for(var j in h.d){c.E(l+dG(j));}for(var g in h.c){c.E(l+dG(g)+'...');}}}}}}
+function AF(a){if(ac(a,1)){return tF(this,Fb(a,1));}else{throw eW(new dW(),'Cannot add non-Strings to PrefixTree');}}
+function BF(a){return tF(this,a);}
+function CF(a){if(ac(a,1)){return wF(this,Fb(a,1));}else{return false;}}
+function DF(a){return rF(new eF(),a);}
+function EF(b,c){var a;for(a=yF(this);jF(a);){b.E(c+Fb(mF(a),1));}}
+function FF(){return yF(this);}
+function aG(a){return Eb(58)+a;}
+function bG(){return this.b;}
+function cG(d,c,b,a){zF(this,d,c,b,a);}
+function dG(a){return iV(a,1);}
+function eF(){}
+_=eF.prototype=new gW();_.E=AF;_.F=BF;_.gb=CF;_.pb=EF;_.sc=FF;_.Ee=bG;_.Fe=cG;_.tN=bgc+'PrefixTree';_.tI=101;_.a=0;_.b=0;_.c=null;_.d=null;function gF(a,b){kF(a);hF(a,b,'');return a;}
+function hF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
+function jF(a){return lF(a,true)!==null;}
+function kF(a){a.a=[];}
+function mF(a){var b;b=lF(a,false);if(b===null){if(!jF(a)){throw t2(new s2(),'No more elements in the iterator');}else{throw mU(new lU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
+function lF(g,b){var d=g.a;var c=aG;var i=dG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.C(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.C(e,f);}}}return null;}
+function nF(b,a){hF(this,b,a);}
+function oF(){return jF(this);}
+function pF(){return mF(this);}
+function qF(){throw eW(new dW(),'PrefixTree does not support removal.  Use clear()');}
+function fF(){}
+_=fF.prototype=new gU();_.C=nF;_.mc=oF;_.uc=pF;_.ee=qF;_.tN=bgc+'PrefixTree$PrefixTreeIterator';_.tI=102;_.a=null;function hG(){hG=e3;lq();}
+function fG(b,a){hG();jq(b,Ed(a));CN(b,'gwt-RadioButton');return b;}
+function gG(c,b,a){hG();fG(c,b);pq(c,a);return c;}
+function eG(){}
+_=eG.prototype=new hq();_.tN=bgc+'RadioButton';_.tI=103;function oG(){oG=e3;tG=l1(new p0());}
+function nG(b,a){oG();kp(b);if(a===null){a=pG();}b.oe(a);b.wc();return b;}
+function qG(){oG();return rG(null);}
+function rG(c){oG();var a,b;b=Fb(r1(tG,c),48);if(b!==null){return b;}a=null;if(tG.c==0){sG();}s1(tG,c,b=nG(new iG(),a));return b;}
+function pG(){oG();return $doc.body;}
+function sG(){oG();yh(new jG());}
+function iG(){}
+_=iG.prototype=new jp();_.tN=bgc+'RootPanel';_.tI=104;var tG;function lG(){var a,b;for(b=rX(aY((oG(),tG)));yX(b);){a=Fb(zX(b),48);if(a.qc()){a.Dc();}}}
+function mG(){return null;}
+function jG(){}
+_=jG.prototype=new gU();_.wd=lG;_.xd=mG;_.tN=bgc+'RootPanel$1';_.tI=105;function vG(a){cH(a);yG(a,false);DN(a,16384);return a;}
+function wG(b,a){vG(b);b.Ce(a);return b;}
+function yG(b,a){Df(b.wb(),'overflow',a?'scroll':'auto');}
+function zG(a){xe(a)==16384;}
+function uG(){}
+_=uG.prototype=new AG();_.yc=zG;_.tN=bgc+'ScrollPanel';_.tI=106;function CG(a){a.a=a.c.r!==null;}
+function DG(b,a){b.c=a;CG(b);return b;}
+function FG(){return this.a;}
+function aH(){if(!this.a||this.c.r===null){throw new s2();}this.a=false;return this.b=this.c.r;}
+function bH(){if(this.b!==null){this.c.ge(this.b);}}
+function BG(){}
+_=BG.prototype=new gU();_.mc=FG;_.uc=aH;_.ee=bH;_.tN=bgc+'SimplePanel$1';_.tI=107;_.b=null;function yH(b){var a;Eq(b);a=ge();b.oe(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);CN(b,'gwt-StackPanel');return b;}
+function zH(a,b){DH(a,b,a.f.c);}
+function AH(c,d,b,a){zH(c,d);FH(c,c.f.c-1,b,a);}
+function CH(d,a){var b,c;while(a!==null&& !ud(a,d.wb())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return nT(b);}else{return (-1);}}a=ff(a);}return (-1);}
+function DH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=ar(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);hO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');gr(e,h,c,a,false);cI(e,a);if(e.b==(-1)){bI(e,0);}else{aI(e,a,false);if(e.b>=a){++e.b;}}}
+function EH(e,a,b){var c,d,f;c=ir(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}cI(e,d);}return c;}
+function FH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
+function aI(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);hO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);jO(d,e);fr(c,a).Ae(e);}
+function bI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){aI(b,b.b,false);}b.b=a;aI(b,b.b,true);}
+function cI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
+function dI(a){var b,c;if(xe(a)==1){c=ve(a);b=CH(this,c);if(b!=(-1)){bI(this,b);}}}
+function eI(a){return EH(this,fr(this,a),a);}
+function fI(a){return EH(this,a,er(this,a));}
+function xH(){}
+_=xH.prototype=new Cq();_.yc=dI;_.fe=eI;_.ge=fI;_.tN=bgc+'StackPanel';_.tI=108;_.a=null;_.b=(-1);function gI(){}
+_=gI.prototype=new gU();_.tN=bgc+'SuggestOracle$Request';_.tI=109;_.a=20;_.b=null;function iI(){}
+_=iI.prototype=new gU();_.tN=bgc+'SuggestOracle$Response';_.tI=110;_.a=null;function nI(b,a){rI(a,b.Dd());sI(a,b.ae());}
+function oI(a){return a.a;}
+function pI(a){return a.b;}
+function qI(b,a){b.ff(oI(a));b.jf(pI(a));}
+function rI(a,b){a.a=b;}
+function sI(a,b){a.b=b;}
+function vI(b,a){yI(a,Fb(b.Fd(),49));}
+function wI(a){return a.a;}
+function xI(b,a){b.hf(wI(a));}
+function yI(a,b){a.a=b;}
+function AI(a){a.a=hA(new fA());}
+function BI(c){var a,b;AI(c);or(c,c.a);DN(c,1);CN(c,'gwt-TabBar');nA(c.a,(Fz(),aA));a=nz(new pw(),'&nbsp;',true);b=nz(new pw(),'&nbsp;',true);CN(a,'gwt-TabBarFirst');CN(b,'gwt-TabBarRest');a.se('100%');b.se('100%');iA(c.a,a);iA(c.a,b);a.se('100%');c.a.me(a,'100%');c.a.ne(b,'100%');return c;}
+function CI(b,a){if(b.c===null){b.c=hJ(new gJ());}qY(b.c,a);}
+function DI(b,a){if(a<0||a>aJ(b)){throw new gT();}}
+function EI(b,a){if(a<(-1)||a>=aJ(b)){throw new gT();}}
+function aJ(a){return a.a.f.c-2;}
+function bJ(e,d,a,b){var c;DI(e,b);if(a){c=mz(new pw(),d);}else{c=eC(new cC(),d);}kC(c,false);fC(c,e);CN(c,'gwt-TabBarItem');lA(e.a,c,b+1);}
+function cJ(b,a){var c;EI(b,a);c=fr(b.a,a+1);if(c===b.b){b.b=null;}mA(b.a,c);}
+function dJ(b,a){EI(b,a);if(b.c!==null){if(!jJ(b.c,b,a)){return false;}}eJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=fr(b.a,a+1);eJ(b,b.b,true);if(b.c!==null){kJ(b.c,b,a);}return true;}
+function eJ(c,a,b){if(a!==null){if(b){rN(a,'gwt-TabBarItem-selected');}else{xN(a,'gwt-TabBarItem-selected');}}}
+function fJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(fr(this.a,a)===b){dJ(this,a-1);return;}}}
+function zI(){}
+_=zI.prototype=new mr();_.Bc=fJ;_.tN=bgc+'TabBar';_.tI=111;_.b=null;_.c=null;function hJ(a){oY(a);return a;}
+function jJ(e,c,d){var a,b;for(a=e.sc();a.mc();){b=Fb(a.uc(),50);if(!b.xc(c,d)){return false;}}return true;}
+function kJ(e,c,d){var a,b;for(a=e.sc();a.mc();){b=Fb(a.uc(),50);b.sd(c,d);}}
+function gJ(){}
+_=gJ.prototype=new mY();_.tN=bgc+'TabListenerCollection';_.tI=112;function zJ(a){a.b=vJ(new uJ());a.a=oJ(new nJ(),a.b);}
+function AJ(b){var a;zJ(b);a=pO(new nO());qO(a,b.b);qO(a,b.a);a.me(b.a,'100%');b.b.De('100%');CI(b.b,b);or(b,a);CN(b,'gwt-TabPanel');CN(b.a,'gwt-TabPanelBottom');return b;}
+function BJ(c,d,b,a){FJ(c,d,b,a,c.a.f.c);}
+function EJ(b,a){return fr(b.a,a);}
+function DJ(a,b){return er(a.a,b);}
+function FJ(d,e,c,a,b){qJ(d.a,e,c,a,b);}
+function aK(b,a){return b.a.fe(a);}
+function bK(b,a){dJ(b.b,a);}
+function cK(){return hr(this.a);}
+function dK(a,b){return true;}
+function eK(a,b){Ar(this.a,b);}
+function fK(a){return rJ(this.a,a);}
+function mJ(){}
+_=mJ.prototype=new mr();_.sc=cK;_.xc=dK;_.sd=eK;_.ge=fK;_.tN=bgc+'TabPanel';_.tI=113;function oJ(b,a){ur(b);b.a=a;return b;}
+function qJ(e,f,d,a,b){var c;c=er(e,f);if(c!=(-1)){rJ(e,f);if(c<b){b--;}}xJ(e.a,d,a,b);xr(e,f,b);}
+function rJ(b,c){var a;a=er(b,c);if(a!=(-1)){yJ(b.a,a);return yr(b,c);}return false;}
+function sJ(){throw eW(new dW(),'Use TabPanel.clear() to alter the DeckPanel');}
+function tJ(a){return rJ(this,a);}
+function nJ(){}
+_=nJ.prototype=new tr();_.cb=sJ;_.ge=tJ;_.tN=bgc+'TabPanel$TabbedDeckPanel';_.tI=114;_.a=null;function vJ(a){BI(a);return a;}
+function xJ(d,c,a,b){bJ(d,c,a,b);}
+function yJ(b,a){cJ(b,a);}
+function uJ(){}
+_=uJ.prototype=new zI();_.tN=bgc+'TabPanel$UnmodifiableTabBar';_.tI=115;function hK(a){oY(a);return a;}
+function jK(f,e,d,a){var b,c;for(b=f.sc();b.mc();){c=Fb(b.uc(),51);c.zc(e,d,a);}}
+function gK(){}
+_=gK.prototype=new mY();_.tN=bgc+'TableListenerCollection';_.tI=116;function nK(){nK=e3;yK();}
+function mK(a){nK();uK(a,he());CN(a,'gwt-TextArea');return a;}
+function oK(a){return ER(FK,a.wb());}
+function pK(a){return af(a.wb(),'rows');}
+function qK(a,b){wf(a.wb(),'cols',b);}
+function rK(b,a){wf(b.wb(),'rows',a);}
+function lK(){}
+_=lK.prototype=new tK();_.tN=bgc+'TextArea';_.tI=117;function cL(){cL=e3;yK();}
+function bL(a){cL();uK(a,Fd());CN(a,'gwt-TextBox');return a;}
+function dL(b,a){wf(b.wb(),'size',a);}
+function sK(){}
+_=sK.prototype=new tK();_.tN=bgc+'TextBox';_.tI=118;function qM(a){a.a=l1(new p0());}
+function rM(a){sM(a,oL(new nL()));return a;}
+function sM(b,a){qM(b);b.d=a;b.oe(xd());Df(b.wb(),'position','relative');b.c=yQ((ku(),lu));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.wb(),b.c);DN(b,1021);Ef(b.c,6144);b.g=gL(new fL(),b);dM(b.g,b);CN(b,'gwt-Tree');return b;}
+function uM(c,a){var b;b=xL(new uL(),a);tM(c,b);return b;}
+function tM(b,a){hL(b.g,a);}
+function vM(b,a){if(b.f===null){b.f=lM(new kM());}qY(b.f,a);}
+function wM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){DL(AL(c.g,a));}}
+function yM(d,a,c,b){if(b===null||ud(b,c)){return;}yM(d,a,c,ff(b));qY(a,hc(b,hg));}
+function zM(e,d,b){var a,c;a=oY(new mY());yM(e,a,e.wb(),b);c=BM(e,a,0,d);if(c!==null){if(kf(CL(c),b)){cM(c,!c.f,true);return true;}else if(kf(c.wb(),b)){cN(e,c,true,!jN(e,b));return true;}}return false;}
+function AM(b,a){if(!a.f){return a;}return AM(b,AL(a,a.c.b-1));}
+function BM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(vY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=AL(h,d);if(ud(b.wb(),c)){g=BM(i,a,e+1,AL(h,d));if(g===null){return b;}return g;}}return BM(i,a,e+1,h);}
+function CM(b,a){if(b.f!==null){oM(b.f,a);}}
+function DM(b,a){return AL(b.g,a);}
+function EM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[614],[13],[a.a.c],null);FX(a.a).bf(b);return wP(a,b);}
+function FM(h,g){var a,b,c,d,e,f,i,j;c=BL(g);{f=g.d;a=tN(h);b=uN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);AQ((ku(),lu),h.c);}}
+function aN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=zL(c,d);if(!a|| !d.f){if(b<c.c.b-1){cN(e,AL(c,b+1),true,true);}else{aN(e,c,false);}}else if(d.c.b>0){cN(e,AL(d,0),true,true);}}
+function bN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=zL(b,c);if(a>0){d=AL(b,a-1);cN(e,AM(e,d),true,true);}else{cN(e,b,true,true);}}
+function cN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){aM(d.b,false);}d.b=b;if(c&&d.b!==null){FM(d,d.b);aM(d.b,true);if(a&&d.f!==null){nM(d.f,d.b);}}}
+function fN(b,c){var a;a=Fb(r1(b.a,c),52);if(a===null){return false;}fM(a,null);return true;}
+function dN(b,a){jL(b.g,a);}
+function eN(a){while(a.g.c.b>0){dN(a,DM(a,0));}}
+function gN(b,a){if(a){AQ((ku(),lu),b.c);}else{uQ((ku(),lu),b.c);}}
+function hN(b,a){iN(b,a,true);}
+function iN(c,b,a){if(b===null){if(c.b===null){return;}aM(c.b,false);c.b=null;return;}cN(c,b,a,true);}
+function jN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
+function kN(){var a,b;for(b=EM(this);pP(b);){a=qP(b);a.wc();}yf(this.c,this);}
+function lN(){var a,b;for(b=EM(this);pP(b);){a=qP(b);a.Dc();}yf(this.c,null);}
+function mN(){return EM(this);}
+function nN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(jN(this,b)){}else{gN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.wb(),hg))){zM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){cN(this,AL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{bN(this,this.b);ye(c);break;}case 40:{aN(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){bM(this.b,false);}else{f=this.b.g;if(f!==null){hN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){bM(this.b,true);}else if(this.b.c.b>0){hN(this,AL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=oY(new mY());yM(this,a,this.wb(),ve(c));e=BM(this,a,0,this.g);if(e!==this.b){iN(this,e,true);}}}case 256:{break;}}this.e=d;}
+function oN(){gM(this.g);}
+function pN(a){return fN(this,a);}
+function eL(){}
+_=eL.prototype=new wO();_.mb=kN;_.ob=lN;_.sc=mN;_.yc=nN;_.hd=oN;_.ge=pN;_.tN=bgc+'Tree';_.tI=119;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function vL(a){a.c=oY(new mY());a.i=lB(new wA());}
+function wL(d){var a,b,c,e;vL(d);d.oe(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.wb(),d.e);td(d.wb(),d.b);td(c,d.i.wb());td(b,d.d);Df(d.d,'display','inline');Df(d.wb(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');hO(d.d,'gwt-TreeItem',true);return d;}
+function xL(b,a){wL(b);EL(b,a);return b;}
+function AL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(vY(b.c,a),52);}
+function zL(b,a){return wY(b.c,a);}
+function BL(a){var b;b=a.l;{return null;}}
+function CL(a){return a.i.wb();}
+function DL(a){if(a.g!==null){a.g.ce(a);}else if(a.j!==null){dN(a.j,a);}}
+function EL(b,a){fM(b,null);Af(b.d,a);}
+function FL(b,a){b.g=a;}
+function aM(b,a){if(b.h==a){return;}b.h=a;hO(b.d,'gwt-TreeItem-selected',a);}
+function bM(b,a){cM(b,a,true);}
+function cM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;hM(c);if(a&&c.j!==null){CM(c.j,c);}}
+function dM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){hN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){dM(Fb(vY(d.c,a),52),c);}hM(d);}
+function eM(a,b){a.k=b;}
+function fM(b,a){Af(b.d,'');b.l=a;}
+function hM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){jO(b.b,false);oQ((pL(),sL),b.i);return;}if(b.f){jO(b.b,true);oQ((pL(),tL),b.i);}else{jO(b.b,false);oQ((pL(),rL),b.i);}}
+function gM(c){var a,b;hM(c);for(a=0,b=c.c.b;a<b;++a){gM(Fb(vY(c.c,a),52));}}
+function iM(a){if(a.g!==null||a.j!==null){DL(a);}FL(a,this);qY(this.c,a);Df(a.wb(),'marginLeft','16px');td(this.b,a.wb());dM(a,this.j);if(this.c.b==1){hM(this);}}
+function jM(a){if(!uY(this.c,a)){return;}dM(a,null);nf(this.b,a.wb());FL(a,null);AY(this.c,a);if(this.c.b==0){hM(this);}}
+function uL(){}
+_=uL.prototype=new qN();_.A=iM;_.ce=jM;_.tN=bgc+'TreeItem';_.tI=120;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function gL(b,a){b.a=a;wL(b);return b;}
+function hL(b,a){if(a.g!==null||a.j!==null){DL(a);}td(b.a.wb(),a.wb());dM(a,b.j);FL(a,null);qY(b.c,a);Cf(a.wb(),'marginLeft',0);}
+function jL(b,a){if(!uY(b.c,a)){return;}dM(a,null);FL(a,null);AY(b.c,a);nf(b.a.wb(),a.wb());}
+function kL(a){hL(this,a);}
+function lL(a){jL(this,a);}
+function fL(){}
+_=fL.prototype=new uL();_.A=kL;_.ce=lL;_.tN=bgc+'Tree$1';_.tI=121;function pL(){pL=e3;qL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';rL=nQ(new mQ(),qL,0,0,16,16);sL=nQ(new mQ(),qL,16,0,16,16);tL=nQ(new mQ(),qL,32,0,16,16);}
+function oL(a){pL();return a;}
+function nL(){}
+_=nL.prototype=new gU();_.tN=bgc+'TreeImages_generatedBundle';_.tI=122;var qL,rL,sL,tL;function lM(a){oY(a);return a;}
+function nM(d,b){var a,c;for(a=d.sc();a.mc();){c=Fb(a.uc(),53);c.td(b);}}
+function oM(d,b){var a,c;for(a=d.sc();a.mc();){c=Fb(a.uc(),53);c.ud(b);}}
+function kM(){}
+_=kM.prototype=new mY();_.tN=bgc+'TreeListenerCollection';_.tI=123;function oO(a){a.a=(wz(),yz);a.b=(Fz(),cA);}
+function pO(a){Cp(a);oO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function qO(b,d){var a,c;c=fe();a=sO(b);td(c,a);td(b.d,c);Fq(b,d,a);}
+function sO(b){var a;a=ee();Ep(b,a,b.a);Fp(b,a,b.b);return a;}
+function tO(b,a){b.a=a;}
+function uO(b,a){b.b=a;}
+function vO(c){var a,b;b=ff(c.wb());a=ir(this,c);if(a){nf(this.d,ff(b));}return a;}
+function nO(){}
+_=nO.prototype=new Bp();_.ge=vO;_.tN=bgc+'VerticalPanel';_.tI=124;function aP(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[614],[13],[4],null);return b;}
+function bP(a,b){fP(a,b,a.c);}
+function dP(b,a){if(a<0||a>=b.c){throw new gT();}return b.a[a];}
+function eP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
+function fP(d,e,a){var b,c;if(a<0||a>d.c){throw new gT();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[614],[13],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
+function gP(a){return zO(new yO(),a);}
+function hP(c,b){var a;if(b<0||b>=c.c){throw new gT();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
+function iP(b,c){var a;a=eP(b,c);if(a==(-1)){throw new s2();}hP(b,a);}
+function xO(){}
+_=xO.prototype=new gU();_.tN=bgc+'WidgetCollection';_.tI=125;_.a=null;_.b=null;_.c=0;function zO(b,a){b.b=a;return b;}
+function BO(a){return a.a<a.b.c-1;}
+function CO(a){if(a.a>=a.b.c){throw new s2();}return a.b.a[++a.a];}
+function DO(){return BO(this);}
+function EO(){return CO(this);}
+function FO(){if(this.a<0||this.a>=this.b.c){throw new dT();}this.b.b.ge(this.b.a[this.a--]);}
+function yO(){}
+_=yO.prototype=new gU();_.mc=DO;_.uc=EO;_.ee=FO;_.tN=bgc+'WidgetCollection$WidgetIterator';_.tI=126;_.a=(-1);function vP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[614],[13],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
+function wP(b,a){return mP(new kP(),a,b);}
+function lP(a){a.e=a.c;{oP(a);}}
+function mP(a,b,c){a.c=b;a.d=c;lP(a);return a;}
+function oP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
+function pP(a){return a.a<a.c.a;}
+function qP(a){var b;if(!pP(a)){throw new s2();}a.b=a.a;b=a.c[a.a];oP(a);return b;}
+function rP(){return pP(this);}
+function sP(){return qP(this);}
+function tP(){if(this.b<0){throw new dT();}if(!this.f){this.e=vP(this.e);this.f=true;}fN(this.d,this.c[this.b]);this.b=(-1);}
+function kP(){}
+_=kP.prototype=new gU();_.mc=rP;_.uc=sP;_.ee=tP;_.tN=bgc+'WidgetIterators$1';_.tI=127;_.a=(-1);_.b=(-1);_.f=false;function iQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
+function kQ(c,f,b,e,g,a){var d;d=ce();Af(d,lQ(c,f,b,e,g,a));return df(d);}
+function lQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
+function hQ(){}
+_=hQ.prototype=new gU();_.tN=cgc+'ClippedImageImpl';_.tI=128;function nQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
+function oQ(b,a){qB(a,b.d,b.b,b.c,b.e,b.a);}
+function mQ(){}
+_=mQ.prototype=new qp();_.tN=cgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function aR(){aR=e3;dR=tQ(new rQ());eR=dR!==null?FQ(new qQ()):dR;}
+function FQ(a){aR();return a;}
+function bR(a){a.blur();}
+function cR(a){a.focus();}
+function fR(a,b){a.tabIndex=b;}
+function qQ(){}
+_=qQ.prototype=new gU();_.bb=bR;_.tb=cR;_.ue=fR;_.tN=cgc+'FocusImpl';_.tI=130;var dR,eR;function vQ(){vQ=e3;aR();}
+function sQ(a){a.a=wQ(a);a.b=xQ(a);a.c=zQ(a);}
+function tQ(a){vQ();FQ(a);sQ(a);return a;}
+function uQ(b,a){a.firstChild.blur();}
+function wQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
+function xQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
+function yQ(c){var a=$doc.createElement('div');var b=c.ib();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
+function zQ(a){return function(){this.firstChild.focus();};}
+function AQ(b,a){a.firstChild.focus();}
+function BQ(a){uQ(this,a);}
+function CQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
+function DQ(a){AQ(this,a);}
+function EQ(a,b){a.firstChild.tabIndex=b;}
+function rQ(){}
+_=rQ.prototype=new qQ();_.bb=BQ;_.ib=CQ;_.tb=DQ;_.ue=EQ;_.tN=cgc+'FocusImplOld';_.tI=131;function jR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
+function kR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.cd();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.bd();};}
+function lR(c,b,a){b.enctype=a;b.encoding=a;}
+function mR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
+function nR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
+function gR(){}
+_=gR.prototype=new gU();_.tN=cgc+'FormPanelImpl';_.tI=132;function oR(){}
+_=oR.prototype=new gU();_.tN=cgc+'PopupImpl';_.tI=133;function vR(){vR=e3;yR=zR();}
+function uR(a){vR();return a;}
+function wR(b){var a;a=xd();if(yR){Af(a,'<div><\/div>');eg(rR(new qR(),b,a));}return a;}
+function xR(b,a){return yR?df(a):a;}
+function zR(){vR();if(navigator.userAgent.indexOf('Macintosh')!= -1){return true;}return false;}
+function pR(){}
+_=pR.prototype=new oR();_.tN=cgc+'PopupImplMozilla';_.tI=134;var yR;function rR(b,a,c){b.a=c;return b;}
+function tR(){Df(this.a,'overflow','auto');}
+function qR(){}
+_=qR.prototype=new gU();_.rb=tR;_.tN=cgc+'PopupImplMozilla$1';_.tI=135;function DR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
+function ER(b,a){return DR(b,a);}
+function FR(d,a,c,b){a.setSelectionRange(c,c+b);}
+function BR(){}
+_=BR.prototype=new gU();_.tN=cgc+'TextBoxImpl';_.tI=136;function dS(){}
+_=dS.prototype=new gU();_.tN=dgc+'OutputStream';_.tI=137;function bS(){}
+_=bS.prototype=new dS();_.tN=dgc+'FilterOutputStream';_.tI=138;function fS(){}
+_=fS.prototype=new bS();_.tN=dgc+'PrintStream';_.tI=139;function hS(){}
+_=hS.prototype=new lU();_.tN=egc+'ArrayStoreException';_.tI=140;function lS(){lS=e3;mS=kS(new jS(),false);nS=kS(new jS(),true);}
+function kS(a,b){lS();a.a=b;return a;}
+function oS(a){return ac(a,55)&&Fb(a,55).a==this.a;}
+function pS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
+function qS(){return this.a?'true':'false';}
+function rS(a){lS();return a?nS:mS;}
+function jS(){}
+_=jS.prototype=new gU();_.eQ=oS;_.hC=pS;_.tS=qS;_.tN=egc+'Boolean';_.tI=141;_.a=false;var mS,nS;function vS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+wT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
+function wS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
+function yS(b,a){mU(b,a);return b;}
+function xS(){}
+_=xS.prototype=new lU();_.tN=egc+'ClassCastException';_.tI=142;function bT(b,a){mU(b,a);return b;}
+function aT(){}
+_=aT.prototype=new lU();_.tN=egc+'IllegalArgumentException';_.tI=143;function eT(b,a){mU(b,a);return b;}
+function dT(){}
+_=dT.prototype=new lU();_.tN=egc+'IllegalStateException';_.tI=144;function hT(b,a){mU(b,a);return b;}
+function gT(){}
+_=gT.prototype=new lU();_.tN=egc+'IndexOutOfBoundsException';_.tI=145;function aU(){aU=e3;{fU();}}
+function bU(a){aU();return isNaN(a);}
+function cU(e,d,c,h){aU();var a,b,f,g;if(e===null){throw ET(new DT(),'Unable to parse null');}b=dV(e);f=b>0&&AU(e,0)==45?1:0;for(a=f;a<b;a++){if(vS(AU(e,a),d)==(-1)){throw ET(new DT(),'Could not parse '+e+' in radix '+d);}}g=dU(e,d);if(bU(g)){throw ET(new DT(),'Unable to parse '+e);}else if(g<c||g>h){throw ET(new DT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
+function dU(b,a){aU();return parseInt(b,a);}
+function fU(){aU();eU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
+var eU=null;function kT(){kT=e3;aU();}
+function nT(a){kT();return oT(a,10);}
+function oT(b,a){kT();return cc(cU(b,a,(-2147483648),2147483647));}
+function pT(a){kT();return vV(a);}
+var lT=2147483647,mT=(-2147483648);function rT(){rT=e3;aU();}
+function sT(a){rT();return wV(a);}
+function vT(a){return a<0?-a:a;}
+function wT(a,b){return a<b?a:b;}
+function xT(){}
+_=xT.prototype=new lU();_.tN=egc+'NegativeArraySizeException';_.tI=146;function AT(b,a){mU(b,a);return b;}
+function zT(){}
+_=zT.prototype=new lU();_.tN=egc+'NullPointerException';_.tI=147;function ET(b,a){bT(b,a);return b;}
+function DT(){}
+_=DT.prototype=new aT();_.tN=egc+'NumberFormatException';_.tI=148;function AU(b,a){return b.charCodeAt(a);}
+function CU(f,c){var a,b,d,e,g,h;h=dV(f);e=dV(c);b=wT(h,e);for(a=0;a<b;a++){g=AU(f,a);d=AU(c,a);if(g!=d){return g-d;}}return h-e;}
+function DU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
+function FU(b,a){if(!ac(a,1))return false;return oV(b,a);}
+function EU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
+function aV(b,a){return b.indexOf(String.fromCharCode(a));}
+function bV(b,a){return b.indexOf(a);}
+function cV(c,b,a){return c.indexOf(b,a);}
+function dV(a){return a.length;}
+function eV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
+function fV(b,a){return gV(b,a,0);}
+function gV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=nV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
+function hV(b,a){return bV(b,a)==0;}
+function iV(b,a){return b.substr(a,b.length-a);}
+function jV(c,a,b){return c.substr(a,b-a);}
+function kV(d){var a,b,c;c=dV(d);a=yb('[C',[610],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=AU(d,b);return a;}
+function lV(a){return a.toLowerCase();}
+function mV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
+function nV(a){return yb('[Ljava.lang.String;',[609],[1],[a],null);}
+function oV(a,b){return String(a)==b;}
+function pV(a){if(ac(a,1)){return CU(this,Fb(a,1));}else{throw yS(new xS(),'Cannot compare '+a+" with String '"+this+"'");}}
+function qV(a){return FU(this,a);}
+function sV(){var a=rV;if(!a){a=rV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
+function tV(){return this;}
+function uV(a){return String.fromCharCode(a);}
+function vV(a){return ''+a;}
+function wV(a){return ''+a;}
+function xV(a){return a!==null?a.tS():'null';}
+_=String.prototype;_.db=pV;_.eQ=qV;_.hC=sV;_.tS=tV;_.tN=egc+'String';_.tI=2;var rV=null;function rU(a){uU(a);return a;}
+function sU(a,b){return tU(a,uV(b));}
+function tU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
+function uU(a){vU(a,'');}
+function vU(b,a){b.js=[a];b.length=a.length;}
+function xU(a){a.vc();return a.js[0];}
+function yU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
+function zU(){return xU(this);}
+function qU(){}
+_=qU.prototype=new gU();_.vc=yU;_.tS=zU;_.tN=egc+'StringBuffer';_.tI=149;function zV(){zV=e3;CV=new fS();}
+function AV(){zV();return new Date().getTime();}
+function BV(a){zV();return B(a);}
+var CV;function eW(b,a){mU(b,a);return b;}
+function dW(){}
+_=dW.prototype=new lU();_.tN=egc+'UnsupportedOperationException';_.tI=150;function qW(b,a){b.c=a;return b;}
+function sW(a){return a.a<a.c.Ee();}
+function tW(){return sW(this);}
+function uW(){if(!sW(this)){throw new s2();}return this.c.jc(this.b=this.a++);}
+function vW(){if(this.b<0){throw new dT();}this.c.fe(this.b);this.a=this.b;this.b=(-1);}
+function pW(){}
+_=pW.prototype=new gU();_.mc=tW;_.uc=uW;_.ee=vW;_.tN=fgc+'AbstractList$IteratorImpl';_.tI=151;_.a=0;_.b=(-1);function EX(f,d,e){var a,b,c;for(b=g1(f.qb());E0(b);){a=F0(b);c=a.Ab();if(d===null?c===null:d.eQ(c)){if(e){a1(b);}return a;}}return null;}
+function FX(b){var a;a=b.qb();return aX(new FW(),b,a);}
+function aY(b){var a;a=q1(b);return pX(new oX(),b,a);}
+function bY(a){return EX(this,a,false)!==null;}
+function cY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=FX(this);e=f.tc();if(!jY(c,e)){return false;}for(a=cX(c);jX(a);){b=kX(a);h=this.kc(b);g=f.kc(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
+function dY(b){var a;a=EX(this,b,false);return a===null?null:a.gc();}
+function eY(){var a,b,c;b=0;for(c=g1(this.qb());E0(c);){a=F0(c);b+=a.hC();}return b;}
+function fY(){return FX(this);}
+function gY(){var a,b,c,d;d='{';a=false;for(c=g1(this.qb());E0(c);){b=F0(c);if(a){d+=', ';}else{a=true;}d+=xV(b.Ab());d+='=';d+=xV(b.gc());}return d+'}';}
+function EW(){}
+_=EW.prototype=new gU();_.fb=bY;_.eQ=cY;_.kc=dY;_.hC=eY;_.tc=fY;_.tS=gY;_.tN=fgc+'AbstractMap';_.tI=152;function jY(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ee()!=e.Ee()){return false;}for(a=c.sc();a.mc();){d=a.uc();if(!e.gb(d)){return false;}}return true;}
+function kY(a){return jY(this,a);}
+function lY(){var a,b,c;a=0;for(b=this.sc();b.mc();){c=b.uc();if(c!==null){a+=c.hC();}}return a;}
+function hY(){}
+_=hY.prototype=new gW();_.eQ=kY;_.hC=lY;_.tN=fgc+'AbstractSet';_.tI=153;function aX(b,a,c){b.a=a;b.b=c;return b;}
+function cX(b){var a;a=g1(b.b);return hX(new gX(),b,a);}
+function dX(a){return this.a.fb(a);}
+function eX(){return cX(this);}
+function fX(){return this.b.a.c;}
+function FW(){}
+_=FW.prototype=new hY();_.gb=dX;_.sc=eX;_.Ee=fX;_.tN=fgc+'AbstractMap$1';_.tI=154;function hX(b,a,c){b.a=c;return b;}
+function jX(a){return E0(a.a);}
+function kX(b){var a;a=F0(b.a);return a.Ab();}
+function lX(){return jX(this);}
+function mX(){return kX(this);}
+function nX(){a1(this.a);}
+function gX(){}
+_=gX.prototype=new gU();_.mc=lX;_.uc=mX;_.ee=nX;_.tN=fgc+'AbstractMap$2';_.tI=155;function pX(b,a,c){b.a=a;b.b=c;return b;}
+function rX(b){var a;a=g1(b.b);return wX(new vX(),b,a);}
+function sX(a){return p1(this.a,a);}
+function tX(){return rX(this);}
+function uX(){return this.b.a.c;}
+function oX(){}
+_=oX.prototype=new gW();_.gb=sX;_.sc=tX;_.Ee=uX;_.tN=fgc+'AbstractMap$3';_.tI=156;function wX(b,a,c){b.a=c;return b;}
+function yX(a){return E0(a.a);}
+function zX(a){var b;b=F0(a.a).gc();return b;}
+function AX(){return yX(this);}
+function BX(){return zX(this);}
+function CX(){a1(this.a);}
+function vX(){}
+_=vX.prototype=new gU();_.mc=AX;_.uc=BX;_.ee=CX;_.tN=fgc+'AbstractMap$4';_.tI=157;function kZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.eb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
+function lZ(a){kZ(a,a.a,(xZ(),yZ));}
+function oZ(){oZ=e3;f2(new e2());pZ=l1(new p0());oY(new mY());}
+function qZ(c,d){oZ();var a,b;b=c.b;for(a=0;a<b;a++){BY(c,a,d[a]);}}
+function rZ(a){oZ();var b;b=a.af();lZ(b);qZ(a,b);}
+var pZ;function xZ(){xZ=e3;yZ=new uZ();}
+var yZ;function wZ(a,b){return Fb(a,34).db(b);}
+function uZ(){}
+_=uZ.prototype=new gU();_.eb=wZ;_.tN=fgc+'Comparators$1';_.tI=158;function CZ(){CZ=e3;d0=zb('[Ljava.lang.String;',609,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);e0=zb('[Ljava.lang.String;',609,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
+function AZ(a){CZ();FZ(a);return a;}
+function BZ(b,a){CZ();a0(b,a);return b;}
+function DZ(c,a){var b,d;d=EZ(c);b=EZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
+function EZ(a){return a.jsdate.getTime();}
+function FZ(a){a.jsdate=new Date();}
+function a0(b,a){b.jsdate=new Date(a);}
+function b0(a){return a.jsdate.toLocaleString();}
+function c0(h){var a=h.jsdate;var g=k0;var b=g0(h.jsdate.getDay());var e=j0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
+function f0(a){return DZ(this,Fb(a,59));}
+function g0(a){CZ();return d0[a];}
+function h0(a){return ac(a,59)&&EZ(this)==EZ(Fb(a,59));}
+function i0(){return cc(EZ(this)^EZ(this)>>>32);}
+function j0(a){CZ();return e0[a];}
+function k0(a){CZ();if(a<10){return '0'+a;}else{return vV(a);}}
+function l0(){return c0(this);}
+function zZ(){}
+_=zZ.prototype=new gU();_.db=f0;_.eQ=h0;_.hC=i0;_.tS=l0;_.tN=fgc+'Date';_.tI=159;var d0,e0;function n1(){n1=e3;u1=A1();}
+function k1(a){{m1(a);}}
+function l1(a){n1();k1(a);return a;}
+function m1(a){a.a=gb();a.d=ib();a.b=hc(u1,cb);a.c=0;}
+function o1(b,a){if(ac(a,1)){return E1(b.d,Fb(a,1))!==u1;}else if(a===null){return b.b!==u1;}else{return D1(b.a,a,a.hC())!==u1;}}
+function p1(a,b){if(a.b!==u1&&C1(a.b,b)){return true;}else if(z1(a.d,b)){return true;}else if(x1(a.a,b)){return true;}return false;}
+function q1(a){return e1(new A0(),a);}
+function r1(c,a){var b;if(ac(a,1)){b=E1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=D1(c.a,a,a.hC());}return b===u1?null:b;}
+function s1(c,a,d){var b;if(ac(a,1)){b=b2(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=a2(c.a,a,d,a.hC());}if(b===u1){++c.c;return null;}else{return b;}}
+function t1(c,a){var b;if(ac(a,1)){b=d2(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(u1,cb);}else{b=c2(c.a,a,a.hC());}if(b===u1){return null;}else{--c.c;return b;}}
+function v1(e,c){n1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.E(a[f]);}}}}
+function w1(d,a){n1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=t0(c.substring(1),e);a.E(b);}}}
+function x1(f,h){n1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.gc();if(C1(h,d)){return true;}}}}return false;}
+function y1(a){return o1(this,a);}
+function z1(c,d){n1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(C1(d,a)){return true;}}}return false;}
+function A1(){n1();}
+function B1(){return q1(this);}
+function C1(a,b){n1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
+function F1(a){return r1(this,a);}
+function D1(f,h,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){return c.gc();}}}}
+function E1(b,a){n1();return b[':'+a];}
+function a2(f,h,j,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){var i=c.gc();c.ye(j);return i;}}}else{a=f[e]=[];}var c=t0(h,j);a.push(c);}
+function b2(c,a,d){n1();a=':'+a;var b=c[a];c[a]=d;return b;}
+function c2(f,h,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.gc();}}}}
+function d2(c,a){n1();a=':'+a;var b=c[a];delete c[a];return b;}
+function p0(){}
+_=p0.prototype=new EW();_.fb=y1;_.qb=B1;_.kc=F1;_.tN=fgc+'HashMap';_.tI=160;_.a=null;_.b=null;_.c=0;_.d=null;var u1;function r0(b,a,c){b.a=a;b.b=c;return b;}
+function t0(a,b){return r0(new q0(),a,b);}
+function u0(b){var a;if(ac(b,60)){a=Fb(b,60);if(C1(this.a,a.Ab())&&C1(this.b,a.gc())){return true;}}return false;}
+function v0(){return this.a;}
+function w0(){return this.b;}
+function x0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
+function y0(a){var b;b=this.b;this.b=a;return b;}
+function z0(){return this.a+'='+this.b;}
+function q0(){}
+_=q0.prototype=new gU();_.eQ=u0;_.Ab=v0;_.gc=w0;_.hC=x0;_.ye=y0;_.tS=z0;_.tN=fgc+'HashMap$EntryImpl';_.tI=161;_.a=null;_.b=null;function e1(b,a){b.a=a;return b;}
+function g1(a){return C0(new B0(),a.a);}
+function h1(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.Ab();if(o1(this.a,b)){d=r1(this.a,b);return C1(a.gc(),d);}}return false;}
+function i1(){return g1(this);}
+function j1(){return this.a.c;}
+function A0(){}
+_=A0.prototype=new hY();_.gb=h1;_.sc=i1;_.Ee=j1;_.tN=fgc+'HashMap$EntrySet';_.tI=162;function C0(c,b){var a;c.c=b;a=oY(new mY());if(c.c.b!==(n1(),u1)){qY(a,r0(new q0(),null,c.c.b));}w1(c.c.d,a);v1(c.c.a,a);c.a=a.sc();return c;}
+function E0(a){return a.a.mc();}
+function F0(a){return a.b=Fb(a.a.uc(),60);}
+function a1(a){if(a.b===null){throw eT(new dT(),'Must call next() before remove().');}else{a.a.ee();t1(a.c,a.b.Ab());a.b=null;}}
+function b1(){return E0(this);}
+function c1(){return F0(this);}
+function d1(){a1(this);}
+function B0(){}
+_=B0.prototype=new gU();_.mc=b1;_.uc=c1;_.ee=d1;_.tN=fgc+'HashMap$EntrySetIterator';_.tI=163;_.a=null;_.b=null;function f2(a){a.a=l1(new p0());return a;}
+function g2(c,a){var b;b=s1(c.a,a,rS(true));return b===null;}
+function i2(a){return cX(FX(a.a));}
+function j2(a){return g2(this,a);}
+function k2(a){return o1(this.a,a);}
+function l2(){return i2(this);}
+function m2(){return this.a.c;}
+function n2(){return FX(this.a).tS();}
+function e2(){}
+_=e2.prototype=new hY();_.E=j2;_.gb=k2;_.sc=l2;_.Ee=m2;_.tS=n2;_.tN=fgc+'HashSet';_.tI=164;_.a=null;function t2(b,a){mU(b,a);return b;}
+function s2(){}
+_=s2.prototype=new lU();_.tN=fgc+'NoSuchElementException';_.tI=165;function y2(a){a.a=oY(new mY());return a;}
+function z2(b,a){return qY(b.a,a);}
+function B2(a){return a.a.sc();}
+function C2(a,b){pY(this.a,a,b);}
+function D2(a){return z2(this,a);}
+function E2(a){return uY(this.a,a);}
+function F2(a){return vY(this.a,a);}
+function a3(){return B2(this);}
+function b3(a){return zY(this.a,a);}
+function c3(){return this.a.b;}
+function d3(){return this.a.af();}
+function x2(){}
+_=x2.prototype=new oW();_.D=C2;_.E=D2;_.gb=E2;_.jc=F2;_.sc=a3;_.fe=b3;_.Ee=c3;_.af=d3;_.tN=fgc+'Vector';_.tI=166;_.a=null;function e5(){e5=e3;g5=l1(new p0());}
+function d5(a){e5();return a;}
+function f5(){}
+function u4(){}
+_=u4.prototype=new mr();_.od=f5;_.tN=ggc+'JBRMSFeature';_.tI=167;var g5;function l3(){l3=e3;e5();}
+function k3(a){l3();d5(a);a.a=AJ(new mJ());a.a.De('100%');a.a.se('100%');BJ(a.a,j9(new t8()),"<img src='images/category_small.gif'/>Manage categories",true);BJ(a.a,A9(new m9()),"<img src='images/status_small.gif'/>Manage states",true);BJ(a.a,B7(new x6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);BJ(a.a,o8(new F7()),"<img src='images/backup_small.gif'/>Import Export",true);bK(a.a,0);or(a,a.a);return a;}
+function m3(){l3();return h3(new g3(),'Admin','Administer the repository');}
+function n3(){}
+function f3(){}
+_=f3.prototype=new u4();_.od=n3;_.tN=ggc+'AdminFeature';_.tI=168;_.a=null;function w4(c,b,a){c.c=b;c.a=a;return c;}
+function y4(a){if(a.b!==null)return a.b;return a.b=a.jb();}
+function v4(){}
+_=v4.prototype=new gU();_.tN=ggc+'JBRMSFeature$ComponentInfo';_.tI=169;_.a=null;_.b=null;_.c=null;function h3(c,a,b){w4(c,a,b);return c;}
+function j3(){return k3(new f3());}
+function g3(){}
+_=g3.prototype=new v4();_.jb=j3;_.tN=ggc+'AdminFeature$1';_.tI=170;function u3(){u3=e3;e5();}
+function t3(a){u3();d5(a);or(a,oKb(new wIb()));return a;}
+function v3(){u3();return q3(new p3(),'Deployment','Configure and view frozen snapshots of packages.');}
+function w3(){}
+function o3(){}
+_=o3.prototype=new u4();_.od=w3;_.tN=ggc+'DeploymentManagementFeature';_.tI=171;function q3(c,a,b){w4(c,a,b);return c;}
+function s3(){return t3(new o3());}
+function p3(){}
+_=p3.prototype=new v4();_.jb=s3;_.tN=ggc+'DeploymentManagementFeature$1';_.tI=172;function D3(){D3=e3;e5();}
+function C3(a){D3();d5(a);or(a,E3(a));return a;}
+function E3(a){a.a=Dv(new Bv(),'welcome.html');CN(a.a,'welcome-Page');a.a.Ae(true);return a.a;}
+function F3(){D3();return z3(new y3(),'Info','JBoss Rules Managment System.');}
+function a4(){}
+function x3(){}
+_=x3.prototype=new u4();_.od=a4;_.tN=ggc+'Info';_.tI=173;_.a=null;function z3(c,a,b){w4(c,a,b);return c;}
+function B3(){return C3(new x3());}
+function y3(){}
+_=y3.prototype=new v4();_.jb=B3;_.tN=ggc+'Info$1';_.tI=174;function l4(a){a.c=lz(new pw());a.d=E4(new C4());a.g=xs(new os());}
+function m4(a){l4(a);return a;}
+function n4(a){CXb(mMb(),d4(new c4(),a));}
+function p4(b,c){var a;a=b5(b.d,c);if(a===null){r4(b);return;}s4(b,a,false);}
+function q4(b){var a,c;B4(b.d);b.h=xs(new os());CN(b.h,'ks-Sink');c=pO(new nO());c.De('100%');qO(c,b.c);qO(c,b.h);CN(b.c,'ks-Info');ys(b.g,b.d,(zs(),dt));ys(b.g,c,(zs(),Fs));Ds(b.g,b.d,(Fz(),cA));Es(b.g,c,'100%');Bg(b);b.e=q5(new h5());b.f=b6(new t5());lp(qG(),b.e);lp(qG(),b.g);lp(qG(),b.f);b.f.De('100%');b.e.Ae(false);b.g.Ae(false);b.f.Ae(false);n4(b);a=Dg();if(dV(a)>0)p4(b,a);else r4(b);}
+function s4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){Bs(c.h,c.b);}c.b=y4(b);c5(c.d,b.c);pz(c.c,b.a);if(a)ah(b.c);ys(c.h,c.b,(zs(),Fs));Es(c.h,c.b,'100%');Ds(c.h,c.b,(Fz(),cA));c.b.od();}
+function r4(a){s4(a,b5(a.d,'Info'),false);}
+function t4(a){p4(this,a);}
+function b4(){}
+_=b4.prototype=new gU();_.dd=t4;_.tN=ggc+'JBRMSEntryPoint';_.tI=175;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function ycb(b,a){if(ac(a,69)){Acb();}else if(ac(a,70)){zbb(Fb(a,70));}else{ybb(a.Bb());}}
+function zcb(a){ycb(this,a);}
+function Acb(){var a;a=scb(new ncb(),'images/warning-large.png','Session expired');ucb(a,mz(new pw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));tE(a,40,40);wE(a);tdb();}
+function wcb(){}
+_=wcb.prototype=new gU();_.Fc=zcb;_.tN=jgc+'GenericCallback';_.tI=176;function d4(b,a){b.a=a;return b;}
+function f4(a){var b;b=Fb(a,1);if(b!==null){s5(this.a.e,b);this.a.e.Ae(true);this.a.g.Ae(true);this.a.f.Ae(false);}else{this.a.f.Ae(true);f6(this.a.f,h4(new g4(),this));}}
+function c4(){}
+_=c4.prototype=new wcb();_.rd=f4;_.tN=ggc+'JBRMSEntryPoint$1';_.tI=177;function h4(b,a){b.a=a;return b;}
+function j4(a){s5(a.a.a.e,e6(a.a.a.f));a.a.a.e.Ae(true);a.a.a.f.Ae(false);a.a.a.g.Ae(true);}
+function k4(){j4(this);}
+function g4(){}
+_=g4.prototype=new gU();_.rb=k4;_.tN=ggc+'JBRMSEntryPoint$2';_.tI=178;function B4(a){F4(a,F3());F4(a,w6());F4(a,n6());F4(a,v3());F4(a,m3());}
+function D4(a){a.a=pO(new nO());a.c=oY(new mY());}
+function E4(a){D4(a);or(a,a.a);CN(a,'ks-List');return a;}
+function F4(d,a){var b,c;c=a.c;b=rA(new pA(),c,c);CN(b,'ks-SinkItem');qO(d.a,b);qY(d.c,a);}
+function b5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(vY(d.c,a),61);if(FU(b.c,c))return b;}return null;}
+function c5(d,c){var a,b;if(d.b!=(-1))xN(fr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(vY(d.c,a),61);if(FU(b.c,c)){d.b=a;rN(fr(d.a,d.b),'ks-SinkItem-selected');return;}}}
+function C4(){}
+_=C4.prototype=new mr();_.tN=ggc+'JBRMSFeatureList';_.tI=179;_.b=(-1);function q5(a){a.a=lz(new pw());or(a,a.a);return a;}
+function s5(b,d){var a,c;a=rU(new qU());tU(a,"<div id='user_info'>");tU(a,'Welcome: &nbsp;'+d);tU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");tU(a,'<\/div>');pz(b.a,xU(a));c=j5(new i5(),b);mh(c,300000);}
+function h5(){}
+_=h5.prototype=new mr();_.tN=ggc+'LoggedInUserInfo';_.tI=180;_.a=null;function k5(){k5=e3;kh();}
+function j5(b,a){k5();ih(b);return b;}
+function l5(){CXb(mMb(),new m5());}
+function i5(){}
+_=i5.prototype=new dh();_.he=l5;_.tN=ggc+'LoggedInUserInfo$1';_.tI=181;function o5(a){}
+function p5(a){if(a===null){Acb();}}
+function m5(){}
+_=m5.prototype=new gU();_.Fc=o5;_.rd=p5;_.tN=ggc+'LoggedInUserInfo$2';_.tI=182;function b6(c){var a,b;c.a=dcb(new acb(),'images/login.gif','Please enter your details');c.c=bL(new sK());c.c.te(1);ecb(c.a,'User name:',c.c);b=fE(new eE());b.te(2);ecb(c.a,'Password:',b);a=yp(new sp(),'Login');a.te(3);ecb(c.a,'',a);a.z(v5(new u5(),c,b));or(c,c.a);c.c.qe(true);CN(c,'login-Form');return c;}
+function d6(c,a,d,b){pMb(zK(d),zK(b),D5(new C5(),c,a));}
+function e6(a){return zK(a.c);}
+function f6(b,a){b.b=a;}
+function t5(){}
+_=t5.prototype=new mr();_.tN=ggc+'LoginWidget';_.tI=183;_.a=null;_.b=null;_.c=null;function v5(b,a,c){b.a=a;b.b=c;return b;}
+function x5(a){xdb('Logging in...');fg(z5(new y5(),this,this.b));}
+function u5(){}
+_=u5.prototype=new gU();_.Bc=x5;_.tN=ggc+'LoginWidget$1';_.tI=184;function z5(b,a,c){b.a=a;b.b=c;return b;}
+function B5(){d6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
+function y5(){}
+_=y5.prototype=new gU();_.rb=B5;_.tN=ggc+'LoginWidget$2';_.tI=185;function D5(b,a,c){b.a=c;return b;}
+function F5(c,a){var b;tdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{j4(c.a);}}
+function a6(a){F5(this,a);}
+function C5(){}
+_=C5.prototype=new wcb();_.rd=a6;_.tN=ggc+'LoginWidget$3';_.tI=186;function m6(){m6=e3;e5();}
+function l6(b){var a;m6();d5(b);a=sIb(new lIb());vIb(a,g5);or(b,a);return b;}
+function n6(){m6();return i6(new h6(),'Packages','Configure and view packages of business rule assets.');}
+function o6(){}
+function g6(){}
+_=g6.prototype=new u4();_.od=o6;_.tN=ggc+'PackageManagementFeature';_.tI=187;function i6(c,a,b){w4(c,a,b);return c;}
+function k6(){return l6(new g6());}
+function h6(){}
+_=h6.prototype=new v4();_.jb=k6;_.tN=ggc+'PackageManagementFeature$1';_.tI=188;function v6(){v6=e3;e5();}
+function u6(b){var a;v6();d5(b);a=hcc(new dbc());lcc(a,g5);or(b,a);return b;}
+function w6(){v6();return r6(new q6(),'Rules','Find and edit rules.');}
+function p6(){}
+_=p6.prototype=new u4();_.tN=ggc+'RulesFeature';_.tI=189;function r6(c,a,b){w4(c,a,b);return c;}
+function t6(){return u6(new p6());}
+function q6(){}
+_=q6.prototype=new v4();_.jb=t6;_.tN=ggc+'RulesFeature$1';_.tI=190;function B7(a){var b;b=dcb(new acb(),'images/backup_large.png','Manage Archived Assets');a.a=hA(new fA());a.a.De('100%');hcb(b,a.a);a.b=kdc(new occ(),new y6(),'archivedrulelist');qdc(a.b,E7(a));iA(a.a,a.b);z7(E7(a));hcb(b,mz(new pw(),'<hr/>'));hcb(b,D7(a));or(a,b);return a;}
+function D7(d){var a,b,c,e;b=hA(new fA());c=yp(new sp(),'Refresh');c.z(C6(new B6(),d));e=yp(new sp(),'Unarchive');e.z(a7(new F6(),d));a=yp(new sp(),'Delete');a.z(j7(new i7(),d));iA(b,c);iA(b,e);iA(b,a);return b;}
+function E7(b){var a;a=s7(new r7(),b);return x7(new w7(),b,a);}
+function x6(){}
+_=x6.prototype=new mr();_.tN=hgc+'ArchivedAssetManager';_.tI=191;_.a=null;_.b=null;function A6(a){var b,c;b=scb(new ncb(),'images/snapshot.png','Archived item');c=AJ(new mJ());ucb(b,c);d5b(l1(new p0()),c,a,true);tE(b,20,20);wE(b);}
+function y6(){}
+_=y6.prototype=new gU();_.yd=A6;_.tN=hgc+'ArchivedAssetManager$1';_.tI=192;function C6(b,a){b.a=a;return b;}
+function E6(a){z7(E7(this.a));}
+function B6(){}
+_=B6.prototype=new gU();_.Bc=E6;_.tN=hgc+'ArchivedAssetManager$2';_.tI=193;function a7(b,a){b.a=a;return b;}
+function c7(a){qTb(nMb(),mdc(this.a.b),false,e7(new d7(),this));}
+function F6(){}
+_=F6.prototype=new gU();_.Bc=c7;_.tN=hgc+'ArchivedAssetManager$3';_.tI=194;function e7(b,a){b.a=a;return b;}
+function g7(b,a){z7(E7(b.a.a));zh('Done!');}
+function h7(a){g7(this,a);}
+function d7(){}
+_=d7.prototype=new wcb();_.rd=h7;_.tN=hgc+'ArchivedAssetManager$4';_.tI=195;function j7(b,a){b.a=a;return b;}
+function l7(a){qUb(nMb(),mdc(this.a.b),n7(new m7(),this));}
+function i7(){}
+_=i7.prototype=new gU();_.Bc=l7;_.tN=hgc+'ArchivedAssetManager$5';_.tI=196;function n7(b,a){b.a=a;return b;}
+function p7(b,a){z7(E7(b.a.a));zh('Done!');}
+function q7(a){p7(this,a);}
+function m7(){}
+_=m7.prototype=new wcb();_.rd=q7;_.tN=hgc+'ArchivedAssetManager$6';_.tI=197;function s7(b,a){b.a=a;return b;}
+function u7(c,a){var b;b=Fb(a,62);pdc(c.a.b,b);c.a.b.De('100%');tdb();}
+function v7(a){u7(this,a);}
+function r7(){}
+_=r7.prototype=new wcb();_.rd=v7;_.tN=hgc+'ArchivedAssetManager$7';_.tI=198;function x7(b,a,c){b.a=c;return b;}
+function z7(a){xdb('Loading list, please wait...');gUb(nMb(),a.a);}
+function A7(){z7(this);}
+function w7(){}
+_=w7.prototype=new gU();_.rb=A7;_.tN=hgc+'ArchivedAssetManager$8';_.tI=199;function o8(a){var b;b=dcb(new acb(),'images/backup_large.png','Import/Export');ecb(b,'',mz(new pw(),'<i>Import and Export rules repository<\/i>'));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Import from an xml file',s8(a));ecb(b,'Export to a zip file',r8(a));hcb(b,mz(new pw(),'<hr/>'));or(a,b);return a;}
+function q8(a){xdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');tdb();}
+function r8(c){var a,b;b=hA(new fA());a=yp(new sp(),'Export');a.z(b8(new a8(),c));iA(b,a);return b;}
+function s8(c){var a,b,d,e;e=ev(new Fu());kv(e,v()+'backup');lv(e,'multipart/form-data');mv(e,'post');b=hA(new fA());e.Ce(b);d=it(new ht());lt(d,'importFile');iA(b,d);iA(b,eC(new cC(),'import:'));a=Dcb(new Ccb(),'images/upload.gif');nB(a,f8(new e8(),c,e));iA(b,a);fv(e,k8(new j8(),c,d));return e;}
+function F7(){}
+_=F7.prototype=new mr();_.tN=hgc+'BackupManager';_.tI=200;function b8(b,a){b.a=a;return b;}
+function d8(a){q8(this.a);}
+function a8(){}
+_=a8.prototype=new gU();_.Bc=d8;_.tN=hgc+'BackupManager$1';_.tI=201;function f8(b,a,c){b.a=c;return b;}
+function h8(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){xdb('Importing repository, please wait, as this could take some time...');ov(b);}}
+function i8(a){h8(this,this.a);}
+function e8(){}
+_=e8.prototype=new gU();_.Bc=i8;_.tN=hgc+'BackupManager$2';_.tI=202;function k8(b,a,c){b.a=c;return b;}
+function n8(a){if(dV(kt(this.a))==0){zh('You did not specify an exported repository filename !');Av(a,true);}else if(!DU(kt(this.a),'.xml')){zh('Please specify a valid repository xml file.');Av(a,true);}}
+function m8(a){if(bV(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{ybb('Unable to import into the repository. Consult the server logs for error messages.');}tdb();}
+function j8(){}
+_=j8.prototype=new gU();_.qd=n8;_.pd=m8;_.tN=hgc+'BackupManager$3';_.tI=203;function i9(a){pO(new nO());}
+function j9(f){var a,b,c,d,e;i9(f);c=dcb(new acb(),'images/edit_category.gif','Edit categories');ecb(c,'',mz(new pw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=e_(new t$(),new u8());CN(f.a,'category-explorer-Admin');b=cH(new AG());CN(b,'metadata-Widget');eH(b,f.a);hcb(c,mz(new pw(),'<hr/>'));ecb(c,'Current categories:',b);e=Dcb(new Ccb(),'images/refresh.gif');e.ve('Refresh categories');nB(e,y8(new x8(),f));ecb(c,'Refresh view:',e);hcb(c,mz(new pw(),'<hr/>'));d=Dcb(new Ccb(),'images/new.gif');d.ve('Create a new category');nB(d,C8(new B8(),f));ecb(c,'Create a new category:',d);a=Dcb(new Ccb(),'images/delete_obj.gif');nB(a,a9(new F8(),f));a.ve("Deletes the currently selected category. You won't be able to delete if the category is in use.");ecb(c,'Delete the currently selected category:',a);or(f,c);return f;}
+function l9(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){rUb(nMb(),a.a.e,e9(new d9(),a));}}
+function t8(){}
+_=t8.prototype=new mr();_.tN=hgc+'CategoryManager';_.tI=204;_.a=null;function w8(a){}
+function u8(){}
+_=u8.prototype=new gU();_.je=w8;_.tN=hgc+'CategoryManager$1';_.tI=205;function y8(b,a){b.a=a;return b;}
+function A8(a){k_(this.a.a);}
+function x8(){}
+_=x8.prototype=new gU();_.Bc=A8;_.tN=hgc+'CategoryManager$2';_.tI=206;function C8(b,a){b.a=a;return b;}
+function E8(b){var a;a=o$(new F9(),this.a.a.e);tE(a,tN(b),uN(b)-400);wE(a);}
+function B8(){}
+_=B8.prototype=new gU();_.Bc=E8;_.tN=hgc+'CategoryManager$3';_.tI=207;function a9(b,a){b.a=a;return b;}
+function c9(a){l9(this.a);}
+function F8(){}
+_=F8.prototype=new gU();_.Bc=c9;_.tN=hgc+'CategoryManager$4';_.tI=208;function e9(b,a){b.a=a;return b;}
+function g9(b,a){k_(b.a.a);}
+function h9(a){g9(this,a);}
+function d9(){}
+_=d9.prototype=new wcb();_.rd=h9;_.tN=hgc+'CategoryManager$5';_.tI=209;function A9(b){var a;a=dcb(new acb(),'images/status_large.png','Manage statuses');ecb(a,'',mz(new pw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=uC(new mC());eD(b.a,7);b.a.De('50%');E9(b);ecb(a,'Current statuses:',b.a);ecb(a,'Add new status:',D9(b));or(b,a);return b;}
+function C9(b,a){xdb('Creating status');aUb(nMb(),zK(a),w9(new v9(),b,a));}
+function D9(d){var a,b,c;c=hA(new fA());a=bL(new sK());b=yp(new sp(),'Create');b.z(s9(new r9(),d,a));iA(c,a);iA(c,b);return c;}
+function E9(a){xdb('Loading statuses...');fUb(nMb(),o9(new n9(),a));}
+function m9(){}
+_=m9.prototype=new mr();_.tN=hgc+'StateManager';_.tI=210;_.a=null;function o9(b,a){b.a=a;return b;}
+function q9(a){var b,c;AC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){xC(this.a.a,c[b]);}tdb();}
+function n9(){}
+_=n9.prototype=new wcb();_.rd=q9;_.tN=hgc+'StateManager$1';_.tI=211;function s9(b,a,c){b.a=a;b.b=c;return b;}
+function u9(a){C9(this.a,this.b);}
+function r9(){}
+_=r9.prototype=new gU();_.Bc=u9;_.tN=hgc+'StateManager$2';_.tI=212;function w9(b,a,c){b.a=a;b.b=c;return b;}
+function y9(b,a){DK(b.b,'');E9(b.a);tdb();}
+function z9(a){y9(this,a);}
+function v9(){}
+_=v9.prototype=new wcb();_.rd=z9;_.tN=hgc+'StateManager$3';_.tI=213;function q$(){q$=e3;mE();}
+function n$(a){a.d=tt(new nt());a.b=bL(new sK());a.a=mK(new lK());}
+function o$(d,b){var a,c;q$();jE(d,true);n$(d);d.c=b;d.d.Be(0,0,Dcb(new Ccb(),'images/edit_category.gif'));d.d.Be(0,1,eC(new cC(),r$(d,d.c)));d.d.Be(1,0,eC(new cC(),'Cateogory name'));d.d.Be(1,1,d.b);rK(d.a,4);d.d.Be(2,0,eC(new cC(),'Description'));d.d.Be(2,1,d.a);c=yp(new sp(),'OK');c.z(b$(new a$(),d));d.d.Be(3,0,c);a=yp(new sp(),'Cancel');a.z(f$(new e$(),d));d.d.Be(3,1,a);eH(d,d.d);CN(d,'ks-popups-Popup');return d;}
+function p$(a){a.nc();}
+function r$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
+function s$(b){var a;a=j$(new i$(),b);if(FU('',zK(b.b))){ybb("Can't have an empty category name.");}else{CTb(nMb(),b.c,zK(b.b),zK(b.a),a);}}
+function F9(){}
+_=F9.prototype=new hE();_.tN=igc+'CategoryEditor';_.tI=214;_.c=null;function b$(b,a){b.a=a;return b;}
+function d$(a){s$(this.a);}
+function a$(){}
+_=a$.prototype=new gU();_.Bc=d$;_.tN=igc+'CategoryEditor$1';_.tI=215;function f$(b,a){b.a=a;return b;}
+function h$(a){p$(this.a);}
+function e$(){}
+_=e$.prototype=new gU();_.Bc=h$;_.tN=igc+'CategoryEditor$2';_.tI=216;function j$(b,a){b.a=a;return b;}
+function l$(b,a){if(Fb(a,55).a){b.a.nc();}else{ybb('Category was not successfully created. ');}}
+function m$(a){l$(this,a);}
+function i$(){}
+_=i$.prototype=new wcb();_.rd=m$;_.tN=igc+'CategoryEditor$3';_.tI=217;function d_(a){a.c=rM(new eL());a.d=pO(new nO());a.f=nMb();}
+function e_(b,a){d_(b);qO(b.d,b.c);b.a=a;j_(b);or(b,b.d);vM(b.c,b);CN(b,'category-explorer-Tree');return b;}
+function g_(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
+function h_(b,a){if(a.c.b==1&&ac(AL(a,0),64)){return false;}return true;}
+function i_(a){if(a.b!==null){a.b.Ae(false);}}
+function j_(a){uM(a.c,'Please wait...');iUb(a.f,'/',z$(new y$(),a));}
+function k_(a){eN(a.c);a.e=null;j_(a);}
+function l_(c){var a,b;if(c.b===null){b=kp(new jp());lp(b,mz(new pw(),'No categories created yet. Add some categories from the administration screen.'));a=yp(new sp(),'Refresh');a.z(v$(new u$(),c));lp(b,a);CN(b,'small-Text');c.b=b;qO(c.d,c.b);}c.b.Ae(true);}
+function m_(a){this.e=g_(this,a);this.a.je(this.e);}
+function n_(a){var b;if(h_(this,a)){return;}b=a;this.e=g_(this,a);iUb(this.f,this.e,D$(new C$(),this,b));}
+function t$(){}
+_=t$.prototype=new mr();_.td=m_;_.ud=n_;_.tN=igc+'CategoryExplorerWidget';_.tI=218;_.a=null;_.b=null;_.e=null;function v$(b,a){b.a=a;return b;}
+function x$(a){k_(this.a);}
+function u$(){}
+_=u$.prototype=new gU();_.Bc=x$;_.tN=igc+'CategoryExplorerWidget$1';_.tI=219;function z$(b,a){b.a=a;return b;}
+function B$(d){var a,b,c;this.a.e=null;eN(this.a.c);a=Fb(d,63);if(a.a==0){l_(this.a);}else{i_(this.a);}for(b=0;b<a.a;b++){c=wL(new uL());EL(c,'<img src="images/category_small.gif"/>'+a[b]);eM(c,a[b]);c.A(b_(new a_()));tM(this.a.c,c);}}
+function y$(){}
+_=y$.prototype=new wcb();_.rd=B$;_.tN=igc+'CategoryExplorerWidget$2';_.tI=220;function D$(b,a,c){b.a=c;return b;}
+function F$(e){var a,b,c,d;a=AL(this.a,0);if(ac(a,64)){this.a.ce(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=wL(new uL());EL(c,'<img src="images/category_small.gif"/>'+d[b]);eM(c,d[b]);c.A(b_(new a_()));this.a.A(c);}}
+function C$(){}
+_=C$.prototype=new wcb();_.rd=F$;_.tN=igc+'CategoryExplorerWidget$3';_.tI=221;function b_(a){xL(a,'Please wait...');return a;}
+function a_(){}
+_=a_.prototype=new uL();_.tN=igc+'CategoryExplorerWidget$PendingItem';_.tI=222;function q_(){q_=e3;r_=zb('[Ljava.lang.String;',609,1,['brl','dslr','xls']);t_=zb('[Ljava.lang.String;',609,1,['drl','rf','enumeration']);s_=zb('[Ljava.lang.String;',609,1,['function','dsl','jar','enumeration']);}
+function u_(a){q_();var b;for(b=0;b<s_.a;b++){if(FU(s_[b],a)){return true;}}return false;}
+var r_,s_,t_;function aab(){aab=e3;cL();}
+function E_(a){a.b=jE(new hE(),true);a.a=x_(new w_(),a);}
+function F_(b,a){aab();bL(b);E_(b);wK(b,b);DN(b.a,1);CN(b,'AutoCompleteTextBox');eH(b.b,b.a);rN(b.b,'AutoCompleteChoices');CN(b.a,'list');b.c=a;return b;}
+function bab(a){if(a.e&&CC(a.a)>0){DK(a,DC(a.a,EC(a.a)));}AC(a.a);a.b.nc();a.e=false;}
+function cab(e,a,b,c){var d;d=EC(e.a);d++;if(d>=CC(e.a)){d=0;}dD(e.a,d);}
+function dab(d,a,b,c){bab(d);}
+function eab(d,a,b,c){AC(d.a);d.b.nc();d.e=false;}
+function fab(b,a){if(0==dV(a)||0==CC(b.a)||1==CC(b.a)&&FU(DC(b.a,0),a)){AC(b.a);b.b.nc();b.e=false;}else{dD(b.a,0);eD(b.a,CC(b.a)+1);if(!b.d){lp(qG(),b.b);b.d=true;}wE(b.b);b.e=true;tE(b.b,tN(b),uN(b)+b.Eb());b.a.De(b.Fb()+'px');}}
+function gab(d,a,b,c){jab(d,zK(d));if(dV(zK(d))>0&&d.c!==null){xdc(d.c,zK(d),B_(new A_(),d));}}
+function hab(d,a,b,c){bab(d);}
+function iab(e,a,b,c){var d;d=EC(e.a);d--;if(d<0){d=CC(e.a)-1;}dD(e.a,d);}
+function jab(c,b){var a;a=0;while(a<CC(c.a)){if(hV(lV(DC(c.a,a)),lV(b))){++a;}else{cD(c.a,a);}}fab(c,b);}
+function kab(d,b,c){var a;AC(d.a);for(a=0;a<b.a;a++){xC(d.a,b[a]);}jab(d,c);}
+function lab(a,b,c){if(b==13){dab(this,a,b,c);}else if(b==9){hab(this,a,b,c);}else if(b==40){cab(this,a,b,c);}else if(b==38){iab(this,a,b,c);}else if(b==27){eab(this,a,b,c);}}
+function mab(a,b,c){}
+function nab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:gab(this,a,b,c);break;}}
+function v_(){}
+_=v_.prototype=new sK();_.ed=lab;_.fd=mab;_.gd=nab;_.tN=jgc+'AutoCompleteTextBoxAsync';_.tI=223;_.c=null;_.d=false;_.e=false;function y_(){y_=e3;BC();}
+function x_(b,a){y_();b.a=a;uC(b);return b;}
+function z_(a){if(1==xe(a)){bab(this.a);}}
+function w_(){}
+_=w_.prototype=new mC();_.yc=z_;_.tN=jgc+'AutoCompleteTextBoxAsync$1';_.tI=224;function B_(b,a){b.a=a;return b;}
+function D_(b,a){kab(b.a,a,zK(b.a));}
+function A_(){}
+_=A_.prototype=new gU();_.tN=jgc+'AutoCompleteTextBoxAsync$2';_.tI=225;function sab(a){a.j=true;}
+function tab(a){a.j=false;}
+function uab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
+function vab(){return this.j;}
+function qab(){}
+_=qab.prototype=new mr();_.rc=vab;_.tN=jgc+'DirtyableComposite';_.tI=226;_.j=false;function yab(a){a.b=oY(new mY());}
+function zab(a){tt(a);yab(a);return a;}
+function Bab(d){var a,b,c;for(c=d.b.sc();c.mc();){a=Fb(c.uc(),65);b=sy(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).rc())return true;if(ac(b,67))if(Fb(b,67).lc())return true;}return false;}
+function Cab(d,c,b,a){bz(d,c,b,a);if(ac(a,68)){pY(d.b,d.a++,zdb(new ydb(),c,b));}}
+function Dab(){return Bab(this);}
+function Eab(c,b,a){Cab(this,c,b,a);}
+function xab(){}
+_=xab.prototype=new nt();_.lc=Dab;_.Be=Eab;_.tN=jgc+'DirtyableFlexTable';_.tI=227;_.a=0;function abb(a){hA(a);return a;}
+function cbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=fr(c,b);if(ac(a,66))if(Fb(a,66).rc())return true;if(ac(a,67))if(Fb(a,67).lc())return true;}return false;}
+function dbb(){return cbb(this);}
+function Fab(){}
+_=Fab.prototype=new fA();_.lc=dbb;_.tN=jgc+'DirtyableHorizontalPane';_.tI=228;function fbb(a){pO(a);return a;}
+function hbb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=fr(this,b);if(ac(a,66))if(Fb(a,66).rc())return true;if(ac(a,67))if(Fb(a,67).lc())return true;}return false;}
+function ebb(){}
+_=ebb.prototype=new nO();_.lc=hbb;_.tN=jgc+'DirtyableVerticalPane';_.tI=229;function vbb(){vbb=e3;bs();}
+function sbb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=Dcb(new Ccb(),'images/close.gif');}
+function tbb(d,b,a){var c,e;vbb();Fr(d,true);sbb(d);jC(d.a,b);iA(d.c,mB(new wA(),'images/error_dialog.png'));e=pO(new nO());qO(e,d.a);iA(d.c,e);if(a!==null){ubb(d,e,a);}iA(d.c,d.b);c=d;nB(d.b,lbb(new kbb(),d,c));es(d,d.c);tE(d,40,40);CN(d,'rule-error-Popup');return d;}
+function ubb(e,c,b){var a,d,f;f=pO(new nO());qO(c,f);d=yp(new sp(),'Details');qO(f,d);a=eC(new cC(),b);a.Ae(false);qO(f,a);d.z(pbb(new obb(),e,a,d));}
+function wbb(a){jC(a.a,'');pE(a);}
+function xbb(){wbb(this);}
+function ybb(a){vbb();var b;b=tbb(new jbb(),a,null);tdb();wE(b);}
+function zbb(a){vbb();var b;b=tbb(new jbb(),a.b,a.a);tdb();wE(b);}
+function jbb(){}
+_=jbb.prototype=new Cr();_.nc=xbb;_.tN=jgc+'ErrorPopup';_.tI=230;function lbb(b,a,c){b.a=c;return b;}
+function nbb(a){wbb(this.a);}
+function kbb(){}
+_=kbb.prototype=new gU();_.Bc=nbb;_.tN=jgc+'ErrorPopup$1';_.tI=231;function pbb(b,a,c,d){b.a=c;b.b=d;return b;}
+function rbb(a){this.a.Ae(true);this.b.Ae(false);}
+function obb(){}
+_=obb.prototype=new gU();_.Bc=rbb;_.tN=jgc+'ErrorPopup$2';_.tI=232;function Bbb(b,a){b.a=a;return b;}
+function Dbb(a,b,c){}
+function Ebb(a,b,c){}
+function Fbb(a,b,c){this.a.rb();}
+function Abb(){}
+_=Abb.prototype=new gU();_.ed=Dbb;_.fd=Ebb;_.gd=Fbb;_.tN=jgc+'FieldEditListener';_.tI=233;_.a=null;function bcb(a){a.h=zab(new xab());a.g=wt(a.h);}
+function dcb(b,a,c){bcb(b);fcb(b,a,c);or(b,b.h);return b;}
+function ccb(a){bcb(a);or(a,a.h);return a;}
+function ecb(d,c,a){var b;b=mz(new pw(),'<b>'+c+'<\/b>');Cab(d.h,d.i,0,b);dx(d.g,d.i,0,(wz(),zz),(Fz(),cA));Cab(d.h,d.i,1,a);dx(d.g,d.i,1,(wz(),yz),(Fz(),cA));d.i++;}
+function fcb(c,a,d){var b;b=eC(new cC(),d);CN(b,'resource-name-Label');kcb(c,a,b);}
+function gcb(d,b,e,f){var a,c;c=eC(new cC(),e);CN(c,'resource-name-Label');a=hA(new fA());iA(a,c);iA(a,f);kcb(d,b,a);}
+function hcb(a,b){Cab(a.h,a.i,0,b);rt(a.g,a.i,0,2);a.i++;}
+function icb(a){a.i=0;jy(a.h);}
+function kcb(b,a,c){Cab(b.h,0,0,mB(new wA(),a));dx(b.g,0,0,(wz(),yz),(Fz(),cA));Cab(b.h,0,1,c);b.i++;}
+function lcb(c,b,a,d){Cab(c.h,b,a,d);}
+function mcb(){return Bab(this.h);}
+function acb(){}
+_=acb.prototype=new qab();_.rc=mcb;_.tN=jgc+'FormStyleLayout';_.tI=234;_.i=0;function vcb(){vcb=e3;mE();}
+function scb(c,b,d){var a;vcb();jE(c,true);c.i=dcb(new acb(),b,d);CN(c,'ks-popups-Popup');a=Dcb(new Ccb(),'images/close.gif');nB(a,pcb(new ocb(),c));lcb(c.i,0,2,a);eH(c,c.i);return c;}
+function tcb(b,a,c){ecb(b.i,a,c);}
+function ucb(a,b){hcb(a.i,b);}
+function ncb(){}
+_=ncb.prototype=new hE();_.tN=jgc+'FormStylePopup';_.tI=235;_.i=null;function pcb(b,a){b.a=a;return b;}
+function rcb(a){this.a.nc();}
+function ocb(){}
+_=ocb.prototype=new gU();_.Bc=rcb;_.tN=jgc+'FormStylePopup$1';_.tI=236;function Fcb(){Fcb=e3;pB();}
+function Dcb(b,a){Fcb();mB(b,a);CN(b,'image-Button');return b;}
+function Ecb(b,a,c){Fcb();mB(b,a);CN(b,'image-Button');b.ve(c);return b;}
+function Ccb(){}
+_=Ccb.prototype=new wA();_.tN=jgc+'ImageButton';_.tI=237;function fdb(c,d,b){var a;a=mB(new wA(),'images/information.gif');a.ve(b);nB(a,cdb(new bdb(),c,d,b));or(c,a);return c;}
+function adb(){}
+_=adb.prototype=new mr();_.tN=jgc+'InfoPopup';_.tI=238;function cdb(b,a,d,c){b.b=d;b.a=c;return b;}
+function edb(b){var a;a=scb(new ncb(),'images/information.gif',this.b);ucb(a,idb(new hdb(),this.a,'small-Text'));tE(a,tN(b),uN(b));wE(a);}
+function bdb(){}
+_=bdb.prototype=new gU();_.Bc=edb;_.tN=jgc+'InfoPopup$1';_.tI=239;function idb(c,a,b){eC(c,a);CN(c,b);return c;}
+function hdb(){}
+_=hdb.prototype=new cC();_.tN=jgc+'Lbl';_.tI=240;function rdb(){rdb=e3;mE();}
+function pdb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=mB(new wA(),'images/close.gif');}
+function qdb(a){rdb();jE(a,true);pdb(a);iA(a.c,a.a);iA(a.c,a.b);iA(a.c,mB(new wA(),'images/searching.gif'));nB(a.b,mdb(new ldb(),a));eH(a,a.c);tE(a,0,0);CN(a,'loading-Popup');return a;}
+function sdb(a){jC(a.a,'');pE(a);}
+function tdb(){rdb();sdb(udb());}
+function udb(){rdb();if(wdb===null){wdb=qdb(new kdb());}return wdb;}
+function vdb(){sdb(this);}
+function xdb(a){rdb();var b;b=udb();jC(b.a,a);wE(b);}
+function kdb(){}
+_=kdb.prototype=new hE();_.nc=vdb;_.tN=jgc+'LoadingPopup';_.tI=241;var wdb=null;function mdb(b,a){b.a=a;return b;}
+function odb(a){sdb(this.a);}
+function ldb(){}
+_=ldb.prototype=new gU();_.Bc=odb;_.tN=jgc+'LoadingPopup$1';_.tI=242;function zdb(c,b,a){c.b=b;c.a=a;return c;}
+function ydb(){}
+_=ydb.prototype=new gU();_.tN=jgc+'Pair';_.tI=243;_.a=0;_.b=0;function aeb(a){a.b=uC(new mC());dUb(nMb(),Ddb(new Cdb(),a));or(a,a.b);return a;}
+function ceb(a){return DC(a.b,EC(a.b));}
+function deb(b,a){b.a=a;}
+function Bdb(){}
+_=Bdb.prototype=new mr();_.tN=jgc+'RulePackageSelector';_.tI=244;_.a=null;_.b=null;function Ddb(b,a){b.a=a;return b;}
+function Fdb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){xC(this.a.b,b[a].j);if(this.a.a!==null&&FU(b[a].j,this.a.a)){dD(this.a.b,a);}}}
+function Cdb(){}
+_=Cdb.prototype=new wcb();_.rd=Fdb;_.tN=jgc+'RulePackageSelector$1';_.tI=245;function Ceb(){Ceb=e3;bs();}
+function Aeb(f,g,d){var a,b,c,e;Ceb();Fr(f,true);f.d=g;f.b=d;CN(f,'ks-popups-Popup');cs(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=hA(new fA());a=uC(new mC());xdb('Please wait...');fUb(nMb(),geb(new feb(),f,a));wC(a,keb(new jeb(),f,a));iA(c,a);e=yp(new sp(),'Change status');e.z(oeb(new neb(),f,a));iA(c,e);b=yp(new sp(),'Cancel');b.z(seb(new reb(),f));iA(c,b);es(f,c);return f;}
+function Beb(b,a){xdb('Updating status...');wTb(nMb(),b.d,b.c,b.b,web(new veb(),b));}
+function Deb(b,a){b.a=a;}
+function eeb(){}
+_=eeb.prototype=new Cr();_.tN=jgc+'StatusChangePopup';_.tI=246;_.a=null;_.b=false;_.c=null;_.d=null;function geb(b,a,c){b.a=c;return b;}
+function ieb(a){var b,c;c=Fb(a,63);xC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){xC(this.a,c[b]);}tdb();}
+function feb(){}
+_=feb.prototype=new wcb();_.rd=ieb;_.tN=jgc+'StatusChangePopup$1';_.tI=247;function keb(b,a,c){b.a=a;b.b=c;return b;}
+function meb(a){this.a.c=DC(this.b,EC(this.b));}
+function jeb(){}
+_=jeb.prototype=new gU();_.Ac=meb;_.tN=jgc+'StatusChangePopup$2';_.tI=248;function oeb(b,a,c){b.a=a;b.b=c;return b;}
+function qeb(b){var a;a=DC(this.b,EC(this.b));Beb(this.a,a);this.a.nc();}
+function neb(){}
+_=neb.prototype=new gU();_.Bc=qeb;_.tN=jgc+'StatusChangePopup$3';_.tI=249;function seb(b,a){b.a=a;return b;}
+function ueb(a){this.a.nc();}
+function reb(){}
+_=reb.prototype=new gU();_.Bc=ueb;_.tN=jgc+'StatusChangePopup$4';_.tI=250;function web(b,a){b.a=a;return b;}
+function yeb(b,a){b.a.a.rb();tdb();}
+function zeb(a){yeb(this,a);}
+function veb(){}
+_=veb.prototype=new wcb();_.rd=zeb;_.tN=jgc+'StatusChangePopup$5';_.tI=251;function afb(){afb=e3;vcb();}
+function Feb(c,b,a){afb();scb(c,'images/attention_needed.png',b);tcb(c,'Detail:',bfb(c,a));return c;}
+function bfb(c,b){var a;a=mK(new lK());CN(a,'editable-Surface');rK(a,12);DK(a,b);a.De('100%');return a;}
+function Eeb(){}
+_=Eeb.prototype=new ncb();_.tN=jgc+'ValidationMessageWidget';_.tI=252;function jfb(){jfb=e3;mE();}
+function hfb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=yp(new sp(),'OK');}
+function ifb(b,c,d){var a;jfb();jE(b,true);hfb(b);tE(b,c,d);iA(b.c,b.a);iA(b.c,b.b);a=b;b.b.z(efb(new dfb(),b,a));eH(b,b.c);CN(b,'rule-warning-Popup');return b;}
+function kfb(a){jC(a.a,'');pE(a);}
+function lfb(){kfb(this);}
+function mfb(a,c,d){jfb();var b;b=ifb(new cfb(),c,d);jC(b.a,a);wE(b);}
+function cfb(){}
+_=cfb.prototype=new hE();_.nc=lfb;_.tN=jgc+'WarningPopup';_.tI=253;function efb(b,a,c){b.a=c;return b;}
+function gfb(a){kfb(this.a);}
+function dfb(){}
+_=dfb.prototype=new gU();_.Bc=gfb;_.tN=jgc+'WarningPopup$1';_.tI=254;function xfb(){xfb=e3;bs();}
+function wfb(d,b,f){var a,c,e;xfb();Er(d);ds(d,b);e=yp(new sp(),'Yes');c=yp(new sp(),'No');e.z(pfb(new ofb(),d,f));c.z(tfb(new sfb(),d));a=hA(new fA());iA(a,e);iA(a,c);es(d,a);return d;}
+function nfb(){}
+_=nfb.prototype=new Cr();_.tN=jgc+'YesNoDialog';_.tI=255;function pfb(b,a,c){b.a=a;b.b=c;return b;}
+function rfb(a){this.b.rb();this.a.nc();}
+function ofb(){}
+_=ofb.prototype=new gU();_.Bc=rfb;_.tN=jgc+'YesNoDialog$1';_.tI=256;function tfb(b,a){b.a=a;return b;}
+function vfb(a){this.a.nc();}
+function sfb(){}
+_=sfb.prototype=new gU();_.Bc=vfb;_.tN=jgc+'YesNoDialog$2';_.tI=257;function xxb(b,a,c){b.e=c;b.a=a;Cxb(b,a.e,a.d.n);Bxb(b);return b;}
+function yxb(b,a){hcb(b.c,a);}
+function Axb(c,a,d){var b;b=bL(new sK());BK(b,a);DK(b,d);b.Ae(false);return b;}
+function Bxb(a){fv(a.b,txb(new sxb(),a));}
+function Cxb(d,f,c){var a,b,e;d.b=ev(new Fu());kv(d.b,v()+'asset');lv(d.b,'multipart/form-data');mv(d.b,'post');e=it(new ht());lt(e,'fileUploadElement');b=hA(new fA());iA(b,Axb(d,'attachmentUUID',f));d.d=Ecb(new Ccb(),'images/upload.gif','Upload');iA(b,e);iA(b,eC(new cC(),'upload:'));iA(b,d.d);eH(d.b,b);d.c=dcb(new acb(),d.xb(),c);if(!d.a.c)ecb(d.c,'Upload new version:',d.b);a=yp(new sp(),'Download');a.z(lxb(new kxb(),d,f));ecb(d.c,'Download current version:',a);nB(d.d,pxb(new oxb(),d));or(d,d.c);d.c.De('100%');CN(d,d.ac());}
+function Dxb(a){xdb('Uploading...');}
+function Exb(a){ov(a.b);}
+function jxb(){}
+_=jxb.prototype=new mr();_.tN=ogc+'AssetAttachmentFileWidget';_.tI=258;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function zfb(b,a,c){xxb(b,a,c);yxb(b,mz(new pw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
+function Bfb(){return 'images/decision_table.png';}
+function Cfb(){return 'decision-Table-upload';}
+function yfb(){}
+_=yfb.prototype=new jxb();_.xb=Bfb;_.ac=Cfb;_.tN=kgc+'DecisionTableXLSWidget';_.tI=259;function Efb(){Efb=e3;ggb=l1(new p0());bgb=l1(new p0());agb=l1(new p0());Ffb=zb('[Ljava.lang.String;',609,1,['not','exists','or']);{s1(ggb,'==','is equal to');s1(ggb,'!=','is not equal to');s1(ggb,'<','is less than');s1(ggb,'<=','less than or equal to');s1(ggb,'>','greater than');s1(ggb,'>=','greater than or equal to');s1(ggb,'|| ==','or equal to');s1(ggb,'|| !=','or not equal to');s1(ggb,'&& !=','and not equal to');s1(ggb,'&& >','and greater than');s1(ggb,'&& <','and less than');s1(ggb,'|| >','or greater than');s1(ggb,'|| <','or less than');s1(ggb,'&& <','and less than');s1(ggb,'|| >=','or greater than (or equal to)');s1(ggb,'|| <=','or less than (or equal to)');s1(ggb,'&& >=','and greater than (or equal to)');s1(ggb,'&& <=','or less than (or equal to)');s1(ggb,'&& contains','and contains');s1(ggb,'|| contains','or contains');s1(ggb,'&& matches','and matches');s1(ggb,'|| matches','or mat!
 ches');s1(ggb,'|| excludes','or excludes');s1(ggb,'&& excludes','and excludes');s1(ggb,'soundslike','sounds like');s1(bgb,'not','There is no');s1(bgb,'exists','There exists');s1(bgb,'or','Any of');s1(agb,'assert','Insert');s1(agb,'assertLogical','Logically insert');s1(agb,'retract','Retract');s1(agb,'set','Set');s1(agb,'modify','Modify');}}
+function cgb(a){Efb();return fgb(a,agb);}
+function dgb(a){Efb();return fgb(a,bgb);}
+function egb(a){Efb();return fgb(a,ggb);}
+function fgb(a,b){Efb();if(o1(b,a)){return Fb(r1(b,a),1);}else{return a;}}
+var Ffb,agb,bgb,ggb;function kgb(){kgb=e3;Egb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=']);ahb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);Cgb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);Agb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);Fgb=zb('[Ljava.lang.String;',609,1,['==','!=']);Dgb=zb('[Ljava.lang.String;',609,1,['==','!=','<','>','<=','>=']);bhb=zb('[Ljava.lang.String;',609,1,['==','!=','matches','soundslike']);Bgb=zb('[Ljava.lang.String;',609,1,['contains','excludes','==','!=']);}
+function igb(a){a.h=l1(new p0());a.c=l1(new p0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[10],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[10],[0],null);}
+function jgb(a){kgb();igb(a);return a;}
+function lgb(c,a,b){var d;d=Fb(c.f.kc(a+'.'+b),1);if(d===null){return Egb;}else if(FU(d,'String')){return ahb;}else if(FU(d,'Comparable')||FU(d,'Numeric')){return Cgb;}else if(FU(d,'Collection')){return Agb;}else{return Egb;}}
+function ngb(i,g,d){var a,b,c,e,f,h,j;c=ugb(i);j=Fb(r1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(FU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.kc(f),63);}}}}return Fb(i.c.kc(g.c+'.'+d),63);}
+function mgb(f,g,a,c){var b,d,e,h,i;b=ugb(f);h=Fb(r1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(FU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.kc(e),63);}}}return Fb(f.c.kc(g+'.'+c),63);}
+function pgb(b,a){return Fb(b.g.kc(a),63);}
+function ogb(a,c){var b;b=Fb(a.h.kc(c),1);return Fb(a.g.kc(b),63);}
+function qgb(c,a,b){return Fb(c.f.kc(a+'.'+b),1);}
+function rgb(a){return vgb(a,a.h.tc());}
+function sgb(c,a,b){var d;d=Fb(c.f.kc(a+'.'+b),1);if(d===null){return Fgb;}else if(FU(d,'String')){return bhb;}else if(FU(d,'Comparable')||FU(d,'Numeric')){return Dgb;}else if(FU(d,'Collection')){return Bgb;}else{return Fgb;}}
+function tgb(a,b){return a.h.fb(b);}
+function ugb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=l1(new p0());e=g.c.tc();for(b=cX(e);jX(b);){d=Fb(kX(b),1);if(aV(d,91)!=(-1)){c=aV(d,91);a=jV(d,0,c);f=jV(d,c+1,aV(d,93));h=jV(f,0,aV(f,61));s1(g.d,a,h);}}}return g.d;}
+function vgb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[609],[1],[d.b.a.c],null);b=0;for(c=cX(d);jX(c);){a[b]=Fb(kX(c),1);b++;}return a;}
+function hgb(){}
+_=hgb.prototype=new gU();_.tN=lgc+'SuggestionCompletionEngine';_.tI=260;_.d=null;_.e=null;_.f=null;_.g=null;var Agb,Bgb,Cgb,Dgb,Egb,Fgb,ahb,bhb;function ygb(b,a){a.a=Fb(b.Fd(),72);a.b=Fb(b.Fd(),72);a.c=Fb(b.Fd(),57);a.e=Fb(b.Fd(),63);a.f=Fb(b.Fd(),57);a.g=Fb(b.Fd(),57);a.h=Fb(b.Fd(),57);}
+function zgb(b,a){b.hf(a.a);b.hf(a.b);b.hf(a.c);b.hf(a.e);b.hf(a.f);b.hf(a.g);b.hf(a.h);}
+function dhb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[625],[23],[0],null);}
+function ehb(a){dhb(a);return a;}
+function fhb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[625],[23],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[625],[23],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
+function hhb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[625],[23],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
+function chb(){}
+_=chb.prototype=new gU();_.tN=mgc+'ActionFieldList';_.tI=261;function khb(b,a){a.b=Fb(b.Fd(),73);}
+function lhb(b,a){b.hf(a.b);}
+function nhb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function mhb(){}
+_=mhb.prototype=new gU();_.tN=mgc+'ActionFieldValue';_.tI=262;_.a=null;_.b=null;_.c=null;function rhb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();}
+function shb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);}
+function vhb(a,b){ehb(a);a.a=b;return a;}
+function uhb(a){ehb(a);return a;}
+function thb(){}
+_=thb.prototype=new chb();_.tN=mgc+'ActionInsertFact';_.tI=263;_.a=null;function zhb(b,a){a.a=b.ae();khb(b,a);}
+function Ahb(b,a){b.jf(a.a);lhb(b,a);}
+function Dhb(b,a){vhb(b,a);return b;}
+function Chb(a){uhb(a);return a;}
+function Bhb(){}
+_=Bhb.prototype=new thb();_.tN=mgc+'ActionInsertLogicalFact';_.tI=264;function bib(b,a){zhb(b,a);}
+function cib(b,a){Ahb(b,a);}
+function eib(a,b){a.a=b;return a;}
+function dib(){}
+_=dib.prototype=new gU();_.tN=mgc+'ActionRetractFact';_.tI=265;_.a=null;function iib(b,a){a.a=b.ae();}
+function jib(b,a){b.jf(a.a);}
+function mib(a,b){ehb(a);a.a=b;return a;}
+function lib(a){ehb(a);return a;}
+function kib(){}
+_=kib.prototype=new chb();_.tN=mgc+'ActionSetField';_.tI=266;_.a=null;function qib(b,a){a.a=b.ae();khb(b,a);}
+function rib(b,a){b.jf(a.a);lhb(b,a);}
+function uib(b,a){mib(b,a);return b;}
+function tib(a){lib(a);return a;}
+function sib(){}
+_=sib.prototype=new kib();_.tN=mgc+'ActionUpdateField';_.tI=267;function yib(b,a){qib(b,a);}
+function zib(b,a){rib(b,a);}
+function Bib(a,b){a.b=b;return a;}
+function Cib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[633],[31],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[633],[31],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
+function Aib(){}
+_=Aib.prototype=new gU();_.tN=mgc+'CompositeFactPattern';_.tI=268;_.a=null;_.b=null;function ajb(b,a){a.a=Fb(b.Fd(),74);a.b=b.ae();}
+function bjb(b,a){b.hf(a.a);b.jf(a.b);}
+function djb(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[623],[21],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[623],[21],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
+function fjb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[623],[21],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
+function cjb(){}
+_=cjb.prototype=new gU();_.tN=mgc+'CompositeFieldConstraint';_.tI=269;_.a=null;_.b=null;function ijb(b,a){a.a=b.ae();a.b=Fb(b.Fd(),75);}
+function jjb(b,a){b.jf(a.a);b.hf(a.b);}
+function hkb(){}
+_=hkb.prototype=new gU();_.tN=mgc+'ISingleFieldConstraint';_.tI=270;_.e=0;_.f=null;function kjb(){}
+_=kjb.prototype=new hkb();_.tN=mgc+'ConnectiveConstraint';_.tI=271;_.a=null;function ojb(b,a){a.a=b.ae();lkb(b,a);}
+function pjb(b,a){b.jf(a.a);mkb(b,a);}
+function sjb(b){var a;a=new qjb();a.a=b.a;return a;}
+function tjb(e){var a,b,c,d;b=kV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
+function yjb(){return tjb(this);}
+function qjb(){}
+_=qjb.prototype=new gU();_.tS=yjb;_.tN=mgc+'DSLSentence';_.tI=272;_.a=null;function wjb(b,a){a.a=b.ae();}
+function xjb(b,a){b.jf(a.a);}
+function Ajb(b,a){b.c=a;return b;}
+function Bjb(b,a){if(b.b===null)b.b=new cjb();djb(b.b,a);}
+function Djb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[623],[21],[0],null);}else{return a.b.b;}}
+function Ejb(a){if(a.a!==null&& !FU('',a.a)){return true;}else{return false;}}
+function Fjb(b,a){fjb(b.b,a);}
+function zjb(){}
+_=zjb.prototype=new gU();_.tN=mgc+'FactPattern';_.tI=273;_.a=null;_.b=null;_.c=null;function ckb(b,a){a.a=b.ae();a.b=Fb(b.Fd(),30);a.c=b.ae();}
+function dkb(b,a){b.jf(a.a);b.hf(a.b);b.jf(a.c);}
+function lkb(b,a){a.e=b.Dd();a.f=b.ae();}
+function mkb(b,a){b.ff(a.e);b.jf(a.f);}
+function pkb(b,a,c){b.a=a;b.b=c;return b;}
+function vkb(){var a;a=rU(new qU());tU(a,this.a);if(FU('no-loop',this.a)){tU(a,' ');tU(a,this.b===null?'true':this.b);}else if(FU('salience',this.a)){tU(a,' ');tU(a,this.b);}else if(this.b!==null){tU(a,' "');tU(a,this.b);tU(a,'"');}return xU(a);}
+function okb(){}
+_=okb.prototype=new gU();_.tS=vkb;_.tN=mgc+'RuleAttribute';_.tI=274;_.a=null;_.b=null;function tkb(b,a){a.a=b.ae();a.b=b.ae();}
+function ukb(b,a){b.jf(a.a);b.jf(a.b);}
+function xkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[620],[18],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[621],[19],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[622],[20],[0],null);}
+function ykb(a){xkb(a);return a;}
+function zkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[620],[18],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function Akb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[621],[19],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[621],[19],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
+function Bkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[622],[20],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[622],[20],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
+function Dkb(h){var a,b,c,d,e,f,g;g=oY(new mY());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,31)){b=Fb(f,31);if(Ejb(b)){qY(g,b.a);}for(e=0;e<Djb(b).a;e++){c=Djb(b)[e];if(ac(c,32)){a=Fb(c,32);if(olb(a)){qY(g,a.b);}}}}}return g;}
+function Ekb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],31)){b=Fb(c.b[a],31);if(b.a!==null&&FU(d,b.a)){return b;}}}return null;}
+function Fkb(d){var a,b,c;if(d.b===null){return null;}b=oY(new mY());for(a=0;a<d.b.a;a++){if(ac(d.b[a],31)){c=Fb(d.b[a],31);if(c.a!==null){qY(b,c.a);}}}return b;}
+function alb(k,b){var a,c,d,e,f,g,h,i,j;j=oY(new mY());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,31)){d=Fb(i,31);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(olb(a)){qY(j,a.b);}}}}if(Ejb(d)){qY(j,d.a);}}else{if(Ejb(d)){qY(j,d.a);}}}}return j;}
+function blb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],27)){d=Fb(e.e[b],27);if(FU(d.a,a)){return true;}}else if(ac(e.e[b],26)){c=Fb(e.e[b],26);if(FU(c.a,a)){return true;}}}return false;}
+function clb(b,a){return uY(Dkb(b),a);}
+function dlb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[620],[18],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function elb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[621],[19],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],31)){e=Fb(f.b[a],31);if(e.a!==null&&blb(f,e.a)){return false;}}}}f.b=d;return true;}
+function flb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[622],[20],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
+function wkb(){}
+_=wkb.prototype=new gU();_.tN=mgc+'RuleModel';_.tI=275;_.c='1.0';_.d=null;function ilb(b,a){a.a=Fb(b.Fd(),76);a.b=Fb(b.Fd(),77);a.c=b.ae();a.d=b.ae();a.e=Fb(b.Fd(),78);}
+function jlb(b,a){b.hf(a.a);b.hf(a.b);b.jf(a.c);b.jf(a.d);b.hf(a.e);}
+function llb(b,a){b.c=a;return b;}
+function mlb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',617,15,[new kjb()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[617],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new kjb();c.a=b;}}
+function olb(a){if(a.b!==null&& !FU('',a.b)){return true;}else{return false;}}
+function klb(){}
+_=klb.prototype=new hkb();_.tN=mgc+'SingleFieldConstraint';_.tI=276;_.a=null;_.b=null;_.c=null;_.d=null;function rlb(b,a){a.a=Fb(b.Fd(),79);a.b=b.ae();a.c=b.ae();a.d=b.ae();lkb(b,a);}
+function slb(b,a){b.hf(a.a);b.jf(a.b);b.jf(a.c);b.jf(a.d);mkb(b,a);}
+function mmb(d,b,c,a){d.e=c;d.a=a;d.d=zab(new xab());d.f=b;d.b=c.a;d.c=pgb(d.a,c.a);CN(d.d,'model-builderInner-Background');omb(d);or(d,d.d);return d;}
+function omb(e){var a,b,c,d,f;jy(e.d);Cab(e.d,0,0,qmb(e));c=zab(new xab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];Cab(c,a,0,pmb(e,f));Cab(c,a,1,smb(e,f));b=a;d=Dcb(new Ccb(),'images/delete_item_small.gif');nB(d,vlb(new ulb(),e,b));Cab(c,a,2,d);}Cab(e.d,0,1,c);}
+function pmb(a,b){return eC(new cC(),b.a);}
+function qmb(d){var a,b,c;c=hA(new fA());b=Dcb(new Ccb(),'images/add_field_to_fact.gif');b.ve('Add another field to this so you can set its value.');nB(b,fmb(new emb(),d));a='assert';if(ac(d.e,25)){a='assertLogical';}iA(c,idb(new hdb(),cgb(a)+' '+d.e.a,'modeller-action-Label'));iA(c,b);return c;}
+function rmb(d,e){var a,b,c;c=scb(new ncb(),'images/newex_wiz.gif','Add a field');CN(c,'ks-popups-Popup');a=uC(new mC());xC(a,'...');for(b=0;b<d.c.a;b++){xC(a,d.c[b]);}dD(a,0);tcb(c,'Add field',a);wC(a,jmb(new imb(),d,a,c));tE(c,tN(e),uN(e));wE(c);}
+function smb(c,d){var a,b;b=mgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return gqb(d.c,Dlb(new Clb(),c,d),b);}else{a=bL(new sK());DK(a,d.c);vK(a,bmb(new amb(),c,d,a));if(FU(d.b,'Numeric')){wK(a,aob(a));}return a;}}
+function tlb(){}
+_=tlb.prototype=new qab();_.tN=ngc+'ActionInsertFactWidget';_.tI=277;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function vlb(b,a,c){b.a=a;b.b=c;return b;}
+function xlb(b){var a;a=wfb(new nfb(),'Remove this item?',zlb(new ylb(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
+function ulb(){}
+_=ulb.prototype=new gU();_.Bc=xlb;_.tN=ngc+'ActionInsertFactWidget$1';_.tI=278;function zlb(b,a,c){b.a=a;b.b=c;return b;}
+function Blb(){hhb(this.a.a.e,this.b);axb(this.a.a.f);}
+function ylb(){}
+_=ylb.prototype=new gU();_.rb=Blb;_.tN=ngc+'ActionInsertFactWidget$2';_.tI=279;function Dlb(b,a,c){b.a=c;return b;}
+function Flb(a){this.a.c=a;}
+function Clb(){}
+_=Clb.prototype=new gU();_.cf=Flb;_.tN=ngc+'ActionInsertFactWidget$3';_.tI=280;function bmb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function dmb(a){this.c.c=zK(this.b);axb(this.a.f);}
+function amb(){}
+_=amb.prototype=new gU();_.Ac=dmb;_.tN=ngc+'ActionInsertFactWidget$4';_.tI=281;function fmb(b,a){b.a=a;return b;}
+function hmb(a){rmb(this.a,a);}
+function emb(){}
+_=emb.prototype=new gU();_.Bc=hmb;_.tN=ngc+'ActionInsertFactWidget$5';_.tI=282;function jmb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function lmb(c){var a,b;a=DC(this.b,EC(this.b));b=qgb(this.a.a,this.a.e.a,a);fhb(this.a.e,nhb(new mhb(),a,'',b));axb(this.a.f);this.c.nc();}
+function imb(){}
+_=imb.prototype=new gU();_.Ac=lmb;_.tN=ngc+'ActionInsertFactWidget$6';_.tI=283;function umb(c,a,b){c.a=tt(new nt());CN(c.a,'model-builderInner-Background');c.a.Be(0,0,idb(new hdb(),cgb('retract'),'modeller-action-Label'));c.a.Be(0,1,idb(new hdb(),'['+b.a+']','modeller-action-Label'));or(c,c.a);return c;}
+function tmb(){}
+_=tmb.prototype=new mr();_.tN=ngc+'ActionRetractFactWidget';_.tI=284;_.a=null;function znb(e,b,d,a){var c;e.d=d;e.a=a;e.c=zab(new xab());e.e=b;CN(e.c,'model-builderInner-Background');if(tgb(e.a,d.a)){e.b=ogb(e.a,d.a);e.f=Fb(e.a.h.kc(d.a),1);}else{c=Ekb(b.c,d.a);e.b=pgb(e.a,c.c);e.f=c.c;}Bnb(e);or(e,e.c);return e;}
+function Bnb(e){var a,b,c,d,f;jy(e.c);Cab(e.c,0,0,Dnb(e));c=zab(new xab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];Cab(c,a,0,Cnb(e,f));Cab(c,a,1,Fnb(e,f));b=a;d=Dcb(new Ccb(),'images/delete_item_small.gif');nB(d,ymb(new xmb(),e,b));Cab(c,a,2,d);}Cab(e.c,0,1,c);}
+function Cnb(a,b){return eC(new cC(),b.a);}
+function Dnb(d){var a,b,c;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve('Add another field to this so you can set its value.');nB(a,anb(new Fmb(),d));c='set';if(ac(d.d,28)){c='modify';}iA(b,idb(new hdb(),cgb(c)+' ['+d.d.a+']','modeller-action-Label'));iA(b,a);return b;}
+function Enb(d,e){var a,b,c;c=scb(new ncb(),'images/newex_wiz.gif','Add a field');CN(c,'ks-popups-Popup');a=uC(new mC());xC(a,'...');for(b=0;b<d.b.a;b++){xC(a,d.b[b]);}dD(a,0);tcb(c,'Add field',a);wC(a,enb(new dnb(),d,a,c));tE(c,tN(e),uN(e));wE(c);}
+function Fnb(d,f){var a,b,c,e;e='';if(tgb(d.a,d.d.a)){e=Fb(d.a.h.kc(d.d.a),1);}else{e=Ekb(d.e.c,d.d.a).c;}b=mgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return gqb(f.c,inb(new hnb(),d,f),b);}else{c=cH(new AG());a=bL(new sK());DK(a,f.c);if(dV(f.c)!=0){dL(a,dV(f.c));}if(FU(f.b,'Numeric')){wK(a,aob(a));}vK(a,mnb(new lnb(),d,f,a));wK(a,Bbb(new Abb(),qnb(new pnb(),d,a)));eH(c,a);return c;}}
+function aob(a){return unb(new tnb(),a);}
+function bob(){return Bab(this.c);}
+function wmb(){}
+_=wmb.prototype=new qab();_.rc=bob;_.tN=ngc+'ActionSetFieldWidget';_.tI=285;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ymb(b,a,c){b.a=a;b.b=c;return b;}
+function Amb(b){var a;a=wfb(new nfb(),'Remove this item?',Cmb(new Bmb(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
+function xmb(){}
+_=xmb.prototype=new gU();_.Bc=Amb;_.tN=ngc+'ActionSetFieldWidget$1';_.tI=286;function Cmb(b,a,c){b.a=a;b.b=c;return b;}
+function Emb(){hhb(this.a.a.d,this.b);axb(this.a.a.e);}
+function Bmb(){}
+_=Bmb.prototype=new gU();_.rb=Emb;_.tN=ngc+'ActionSetFieldWidget$2';_.tI=287;function anb(b,a){b.a=a;return b;}
+function cnb(a){Enb(this.a,a);}
+function Fmb(){}
+_=Fmb.prototype=new gU();_.Bc=cnb;_.tN=ngc+'ActionSetFieldWidget$3';_.tI=288;function enb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function gnb(c){var a,b;a=DC(this.b,EC(this.b));b=qgb(this.a.a,this.a.f,a);fhb(this.a.d,nhb(new mhb(),a,'',b));axb(this.a.e);this.c.nc();}
+function dnb(){}
+_=dnb.prototype=new gU();_.Ac=gnb;_.tN=ngc+'ActionSetFieldWidget$4';_.tI=289;function inb(b,a,c){b.a=c;return b;}
+function knb(a){this.a.c=a;}
+function hnb(){}
+_=hnb.prototype=new gU();_.cf=knb;_.tN=ngc+'ActionSetFieldWidget$5';_.tI=290;function mnb(b,a,d,c){b.b=d;b.a=c;return b;}
+function onb(a){this.b.c=zK(this.a);}
+function lnb(){}
+_=lnb.prototype=new gU();_.Ac=onb;_.tN=ngc+'ActionSetFieldWidget$6';_.tI=291;function qnb(b,a,c){b.a=c;return b;}
+function snb(){dL(this.a,dV(zK(this.a)));}
+function pnb(){}
+_=pnb.prototype=new gU();_.rb=snb;_.tN=ngc+'ActionSetFieldWidget$7';_.tI=292;function unb(a,b){a.a=b;return a;}
+function wnb(a,b,c){}
+function xnb(c,a,b){if(wS(a)&&a!=61&& !hV(zK(this.a),'=')){xK(Fb(c,80));}}
+function ynb(a,b,c){}
+function tnb(){}
+_=tnb.prototype=new gU();_.ed=wnb;_.fd=xnb;_.gd=ynb;_.tN=ngc+'ActionSetFieldWidget$8';_.tI=293;function lob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=zab(new xab());CN(d.b,'model-builderInner-Background');nob(d);or(d,d.b);return d;}
+function nob(c){var a,b,d;Cab(c.b,0,0,oob(c));if(c.d.a!==null){d=fbb(new ebb());a=c.d.a;for(b=0;b<a.a;b++){qO(d,Esb(new Cqb(),c.c,a[b],c.a,false));}Cab(c.b,0,1,d);}}
+function oob(c){var a,b;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");nB(a,eob(new dob(),c));iA(b,eC(new cC(),dgb(c.d.b)));iA(b,a);CN(b,'modeller-composite-Label');return b;}
+function pob(e,f){var a,b,c,d;a=uC(new mC());b=e.a.e;xC(a,'Choose...');for(c=0;c<b.a;c++){xC(a,b[c]);}dD(a,0);d=scb(new ncb(),'images/new_fact.gif','New fact pattern...');tcb(d,'choose fact type',a);wC(a,iob(new hob(),e,a,d));CN(d,'ks-popups-Popup');tE(d,tN(f)-400,uN(f));wE(d);}
+function qob(){return Bab(this.b);}
+function cob(){}
+_=cob.prototype=new qab();_.rc=qob;_.tN=ngc+'CompositeFactPatternWidget';_.tI=294;_.a=null;_.b=null;_.c=null;_.d=null;function eob(b,a){b.a=a;return b;}
+function gob(a){pob(this.a,a);}
+function dob(){}
+_=dob.prototype=new gU();_.Bc=gob;_.tN=ngc+'CompositeFactPatternWidget$1';_.tI=295;function iob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kob(a){Cib(this.a.d,Ajb(new zjb(),DC(this.b,EC(this.b))));axb(this.a.c);this.c.nc();}
+function hob(){}
+_=hob.prototype=new gU();_.Ac=kob;_.tN=ngc+'CompositeFactPatternWidget$2';_.tI=296;function Cpb(f,d,b,a,c,g){var e;f.a=a;if(FU(g,'Numeric')){f.d=true;}else{f.d=false;}if(FU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',609,1,['true','false']);}f.c=c.c;e=c.a;f.b=ngb(e,d,b);f.e=cH(new AG());bqb(f);or(f,f.e);return f;}
+function Dpb(c,b){var a;a=bL(new sK());CN(a,'constraint-value-Editor');if(b.f===null){DK(a,'');}else{DK(a,b.f);}if(b.f===null||dV(b.f)<5){dL(a,3);}else{dL(a,dV(b.f)-1);}vK(a,mpb(new lpb(),c,b,a));wK(a,Bbb(new Abb(),qpb(new ppb(),c,a)));return a;}
+function Fpb(b,a){bqb(b);a.nc();}
+function aqb(b){var a;if(b.b!==null){return gqb(b.a.f,Fob(new Eob(),b),b.b);}else{a=Dpb(b,b.a);if(b.d){wK(a,new cpb());}a.ve('This is a literal value. What is shown is what the field is checked against.');return a;}}
+function bqb(b){var a;b.e.cb();if(b.a.e==0){a=mB(new wA(),'images/edit.gif');nB(a,xob(new sob(),b));eH(b.e,a);}else{switch(b.a.e){case 1:eH(b.e,aqb(b));break;case 3:eH(b.e,cqb(b));break;case 2:eH(b.e,eqb(b));break;default:break;}}}
+function cqb(e){var a,b,c,d;a=Dpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=mB(new wA(),'images/function_assets.gif');c.ve(d);a.ve(d);b=fqb(e,c,a);return b;}
+function dqb(e,g,a){var b,c,d,f;b=scb(new ncb(),'images/newex_wiz.gif','Field value');d=yp(new sp(),'Literal value');d.z(upb(new tpb(),e,a,b));tcb(b,'Literal value:',fqb(e,d,fdb(new adb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));ucb(b,mz(new pw(),'<hr/>'));ucb(b,idb(new hdb(),'Advanced options','weak-Text'));if(alb(e.c,e.a).b>0){f=yp(new sp(),'Bound variable');f.z(ypb(new xpb(),e,a,b));tcb(b,'A variable:',fqb(e,f,fdb(new adb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=yp(new sp(),'New formula');c.z(uob(new tob(),e,a,b));tcb(b,'A formula:',fqb(e,c,fdb(new adb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));tE(b,tN(g),uN(g));wE(b);}
+function eqb(c){var a,b,d,e;e=alb(c.c,c.a);a=uC(new mC());if(c.a.f===null){xC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(vY(e,b),1);xC(a,d);if(c.a.f!==null&&FU(c.a.f,d)){dD(a,b);}}wC(a,Bob(new Aob(),c,a));return a;}
+function fqb(d,a,c){var b;b=hA(new fA());iA(b,a);iA(b,c);b.De('100%');return b;}
+function gqb(b,k,d){var a,c,e,f,g,h,i,j;a=uC(new mC());if(b===null||FU('',b)){xC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(aV(i,61)>0){h=iqb(i);f=h[0];c=h[1];j=f;yC(a,c,f);}else{yC(a,i,i);j=i;}if(b!==null&&FU(b,j)){dD(a,e);g=true;}}if(b!==null&& !g){yC(a,b,b);dD(a,d.a);}wC(a,ipb(new hpb(),k,a));return a;}
+function hqb(){return this.j;}
+function iqb(c){var a,b;b=yb('[Ljava.lang.String;',[609],[1],[2],null);a=aV(c,61);b[0]=jV(c,0,a);b[1]=jV(c,a+1,dV(c));return b;}
+function rob(){}
+_=rob.prototype=new qab();_.rc=hqb;_.tN=ngc+'ConstraintValueEditor';_.tI=297;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function xob(b,a){b.a=a;return b;}
+function zob(a){dqb(this.a,a,this.a.a);}
+function sob(){}
+_=sob.prototype=new gU();_.Bc=zob;_.tN=ngc+'ConstraintValueEditor$1';_.tI=298;function uob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function wob(a){this.b.e=3;Fpb(this.a,this.c);}
+function tob(){}
+_=tob.prototype=new gU();_.Bc=wob;_.tN=ngc+'ConstraintValueEditor$10';_.tI=299;function Bob(b,a,c){b.a=a;b.b=c;return b;}
+function Dob(a){this.a.a.f=DC(this.b,EC(this.b));}
+function Aob(){}
+_=Aob.prototype=new gU();_.Ac=Dob;_.tN=ngc+'ConstraintValueEditor$2';_.tI=300;function Fob(b,a){b.a=a;return b;}
+function bpb(a){this.a.a.f=a;}
+function Eob(){}
+_=Eob.prototype=new gU();_.cf=bpb;_.tN=ngc+'ConstraintValueEditor$3';_.tI=301;function epb(a,b,c){}
+function fpb(c,a,b){if(wS(a)){xK(Fb(c,80));}}
+function gpb(a,b,c){}
+function cpb(){}
+_=cpb.prototype=new gU();_.ed=epb;_.fd=fpb;_.gd=gpb;_.tN=ngc+'ConstraintValueEditor$4';_.tI=302;function ipb(a,c,b){a.b=c;a.a=b;return a;}
+function kpb(a){this.b.cf(FC(this.a,EC(this.a)));}
+function hpb(){}
+_=hpb.prototype=new gU();_.Ac=kpb;_.tN=ngc+'ConstraintValueEditor$5';_.tI=303;function mpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function opb(a){this.c.f=zK(this.b);sab(this.a);}
+function lpb(){}
+_=lpb.prototype=new gU();_.Ac=opb;_.tN=ngc+'ConstraintValueEditor$6';_.tI=304;function qpb(b,a,c){b.a=c;return b;}
+function spb(){dL(this.a,dV(zK(this.a)));}
+function ppb(){}
+_=ppb.prototype=new gU();_.rb=spb;_.tN=ngc+'ConstraintValueEditor$7';_.tI=305;function upb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function wpb(a){this.b.e=1;Fpb(this.a,this.c);}
+function tpb(){}
+_=tpb.prototype=new gU();_.Bc=wpb;_.tN=ngc+'ConstraintValueEditor$8';_.tI=306;function ypb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Apb(a){this.b.e=2;Fpb(this.a,this.c);}
+function xpb(){}
+_=xpb.prototype=new gU();_.Bc=Apb;_.tN=ngc+'ConstraintValueEditor$9';_.tI=307;function vqb(b,a){b.a=abb(new Fab());b.c=oY(new mY());b.b=a;yqb(b);return b;}
+function wqb(b,a){iA(b.a,a);qY(b.c,a);}
+function yqb(a){zqb(a,a.b.a);or(a,a.a);}
+function zqb(g,e){var a,b,c,d,f;b=kV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=qqb(new oqb(),g);wqb(g,c);}else if(a==125){uqb(c,dV(sqb(c))+1);c=null;}else{if(c===null&&d===null){d=dC(new cC());wqb(g,d);}if(d!==null){jC(d,iC(d)+Eb(a));}else if(c!==null){tqb(c,sqb(c)+Eb(a));}}}}
+function Aqb(c){var a,b,d;b='';for(a=c.c.sc();a.mc();){d=Fb(a.uc(),13);if(ac(d,81)){b=b+iC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+sqb(Fb(d,82))+'} ';}}c.b.a=mV(b);}
+function Bqb(){return cbb(this.a);}
+function jqb(){}
+_=jqb.prototype=new qab();_.rc=Bqb;_.tN=ngc+'DSLSentenceWidget';_.tI=308;_.a=null;_.b=null;_.c=null;function lqb(b,a){b.a=a;return b;}
+function nqb(a){Aqb(this.a.c);sab(this.a);}
+function kqb(){}
+_=kqb.prototype=new gU();_.Ac=nqb;_.tN=ngc+'DSLSentenceWidget$1';_.tI=309;function pqb(a){a.b=hA(new fA());}
+function qqb(b,a){b.c=a;pqb(b);b.a=bL(new sK());iA(b.b,mz(new pw(),'&nbsp;'));iA(b.b,b.a);iA(b.b,mz(new pw(),'&nbsp;'));vK(b.a,lqb(new kqb(),b));or(b,b.b);return b;}
+function sqb(a){return zK(a.a);}
+function tqb(b,a){DK(b.a,a);}
+function uqb(b,a){dL(b.a,a);}
+function oqb(){}
+_=oqb.prototype=new qab();_.tN=ngc+'DSLSentenceWidget$FieldEditor';_.tI=310;_.a=null;function Dsb(a){a.c=zab(new xab());}
+function Esb(k,h,i,c,a){var b,d,e,f,g,j;Dsb(k);k.e=Fb(i,31);k.b=c;k.d=h;k.a=a;Cab(k.c,0,0,gtb(k));f=wt(k.c);dx(f,0,0,(wz(),xz),(Fz(),bA));gx(f,0,0,'modeller-fact-TypeHeader');g=zab(new xab());Cab(k.c,1,0,g);for(j=0;j<Djb(k.e).a;j++){d=Djb(k.e)[j];e=j;jtb(k,g,j,d,true);b=Dcb(new Ccb(),'images/delete_item_small.gif');b.ve('Remove this whole restriction');nB(b,Arb(new Dqb(),k,e));Cab(g,j,5,b);}if(k.a)CN(k.c,'modeller-fact-pattern-Widget');or(k,k.c);return k;}
+function atb(j,b){var a,c,d,e,f,g,h,i;f=hA(new fA());d=null;e=Dcb(new Ccb(),'images/add_field_to_fact.gif');e.ve('Add a field to this nested constraint.');nB(e,Erb(new Drb(),j,b));if(FU(b.a,'&&')){d='All of:';}else{d='Any of:';}iA(f,e);iA(f,mz(new pw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=zab(new xab());CN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){jtb(j,h,g,i[g],false);c=g;a=Dcb(new Ccb(),'images/delete_item_small.gif');a.ve('Remove this (nested) restriction');nB(a,csb(new bsb(),j,b,c));Cab(h,g,5,a);}}iA(f,h);return f;}
+function btb(g,b,c){var a,d,e,f;f=lgb(g.b,g.e.c,c);a=uC(new mC());xC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];yC(a,egb(e),e);if(FU(e,b.a)){dD(a,d+1);}}wC(a,lrb(new krb(),g,b,a));return a;}
+function ctb(d,a,b,c){var e;e=qgb(d.d.a,b,c);return Cpb(new rob(),d.e,c,a,d.d,e);}
+function dtb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=abb(new Fab());for(e=0;e<a.a.a;e++){b=a.a[e];iA(d,btb(f,b,a.c));iA(d,ctb(f,b,c,a.c));}return d;}else{return null;}}
+function etb(c,b){var a,d,e;if(c.a&& !blb(c.d.c,c.e.a)){d=hA(new fA());e=bL(new sK());if(c.e.a===null){DK(e,'');}else{DK(e,c.e.a);}dL(e,3);iA(d,e);a=yp(new sp(),'Set');a.z(hrb(new grb(),c,e,b));iA(d,a);tcb(b,'Variable name',d);}}
+function ftb(e,c,d){var a,b;a=hA(new fA());CN(a,'modeller-field-Label');if(!olb(c)){if(e.a&&d){b=Ecb(new Ccb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');nB(b,trb(new srb(),e,c));iA(a,b);}}else{iA(a,eC(new cC(),'['+c.b+']'));}iA(a,eC(new cC(),c.c));return a;}
+function gtb(c){var a,b;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve('Add a field to this condition, or bind a varible to this fact.');nB(a,osb(new nsb(),c));if(c.e.a!==null){iA(b,eC(new cC(),'['+c.e.a+'] '+c.e.c));}else{iA(b,eC(new cC(),c.e.c));}iA(b,a);return b;}
+function htb(f,b){var a,c,d,e;e=sgb(f.b,f.e.c,b.c);a=uC(new mC());xC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];yC(a,egb(d),d);if(FU(d,b.d)){dD(a,c+1);}}wC(a,prb(new orb(),f,b,a));return a;}
+function itb(e,b){var a,c,d;d=hA(new fA());d.De('100%');c=mB(new wA(),'images/function_assets.gif');c.ve('This is a formula expression that is evaluated to be true or false.');iA(d,c);if(b.f===null){b.f='';}a=bL(new sK());DK(a,b.f);vK(a,ksb(new jsb(),e,b,a));a.De('100%');iA(d,a);return d;}
+function jtb(e,b,c,a,d){if(ac(a,32)){ktb(e,e.d,b,c,a,d);}else if(ac(a,30)){Cab(b,c,0,atb(e,Fb(a,30)));rt(wt(b),c,0,5);}}
+function ktb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){Cab(d,f,0,ftb(h,b,g));Cab(d,f,1,htb(h,b));Cab(d,f,2,otb(h,b,h.e.c));Cab(d,f,3,dtb(h,b,h.e.c));a=Dcb(new Ccb(),'images/add_connective.gif');a.ve('Add more options to this fields values.');nB(a,gsb(new fsb(),h,b,e));Cab(d,f,4,a);}else if(b.e==5){Cab(d,f,0,itb(h,b));rt(wt(d),f,0,5);}}
+function ltb(d,g,a){var b,c,e,f;c=scb(new ncb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=kp(new jp());e=bL(new sK());b=yp(new sp(),'Set');lp(f,e);lp(f,b);b.z(xrb(new wrb(),d,e,a,c));tcb(c,'Variable name',f);tE(c,tN(g),uN(g));wE(c);}
+function ntb(i,j){var a,b,c,d,e,f,g,h;g=scb(new ncb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);CN(g,'ks-popups-Popup');a=uC(new mC());xC(a,'...');c=pgb(i.b,i.e.c);for(e=0;e<c.a;e++){xC(a,c[e]);}dD(a,0);wC(a,Asb(new zsb(),i,a,g));tcb(g,'Add a restriction on a field',a);b=uC(new mC());xC(b,'...');yC(b,'All of (And)','&&');yC(b,'Any of (Or)','||');dD(b,0);wC(b,Fqb(new Eqb(),i,b,g));f=fdb(new adb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=hA(new fA());iA(d,b);iA(d,f);tcb(g,'Multiple field constraint',d);ucb(g,idb(new hdb(),'Advanced options','weak-Text'));h=yp(new sp(),'New formula');h.z(drb(new crb(),i,g));tcb(g,'Add a new formula style expression',h);etb(i,g);tE(g,tN(j),uN(j));wE(g);}
+function mtb(i,j,b){var a,c,d,e,f,g,h;h=scb(new ncb(),'images/newex_wiz.gif','Add fields to this constraint');CN(h,'ks-popups-Popup');a=uC(new mC());xC(a,'...');d=pgb(i.b,i.e.c);for(f=0;f<d.a;f++){xC(a,d[f]);}dD(a,0);wC(a,ssb(new rsb(),i,b,a,h));tcb(h,'Add a restriction on a field',a);c=uC(new mC());xC(c,'...');yC(c,'All of (And)','&&');yC(c,'Any of (Or)','||');dD(c,0);wC(c,wsb(new vsb(),i,c,b,h));g=fdb(new adb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=hA(new fA());iA(e,c);iA(e,g);tcb(h,'Multiple field constraint',e);tE(h,tN(j),uN(j));wE(h);}
+function otb(c,a,b){var d;d=qgb(c.d.a,b,a.c);return Cpb(new rob(),c.e,a.c,a,c.d,d);}
+function ptb(){return Bab(this.c);}
+function Cqb(){}
+_=Cqb.prototype=new qab();_.rc=ptb;_.tN=ngc+'FactPatternWidget';_.tI=311;_.a=false;_.b=null;_.d=null;_.e=null;function Arb(b,a,c){b.a=a;b.b=c;return b;}
+function Crb(a){if(Bh('Remove this item?')){Fjb(this.a.e,this.b);axb(this.a.d);}}
+function Dqb(){}
+_=Dqb.prototype=new gU();_.Bc=Crb;_.tN=ngc+'FactPatternWidget$1';_.tI=312;function Fqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function brb(b){var a;a=new cjb();a.a=FC(this.b,EC(this.b));Bjb(this.a.e,a);axb(this.a.d);this.c.nc();}
+function Eqb(){}
+_=Eqb.prototype=new gU();_.Ac=brb;_.tN=ngc+'FactPatternWidget$10';_.tI=313;function drb(b,a,c){b.a=a;b.b=c;return b;}
+function frb(b){var a;a=new klb();a.e=5;Bjb(this.a.e,a);axb(this.a.d);this.b.nc();}
+function crb(){}
+_=crb.prototype=new gU();_.Bc=frb;_.tN=ngc+'FactPatternWidget$11';_.tI=314;function hrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function jrb(b){var a;a=zK(this.c);if(Fwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=zK(this.c);axb(this.a.d);this.b.nc();}
+function grb(){}
+_=grb.prototype=new gU();_.Bc=jrb;_.tN=ngc+'FactPatternWidget$12';_.tI=315;function lrb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nrb(a){this.b.a=FC(this.a,EC(this.a));}
+function krb(){}
+_=krb.prototype=new gU();_.Ac=nrb;_.tN=ngc+'FactPatternWidget$13';_.tI=316;function prb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rrb(a){this.c.d=FC(this.b,EC(this.b));sab(this.a.d);zV(),CV;}
+function orb(){}
+_=orb.prototype=new gU();_.Ac=rrb;_.tN=ngc+'FactPatternWidget$14';_.tI=317;function trb(b,a,c){b.a=a;b.b=c;return b;}
+function vrb(a){ltb(this.a,a,this.b);}
+function srb(){}
+_=srb.prototype=new gU();_.Bc=vrb;_.tN=ngc+'FactPatternWidget$15';_.tI=318;function xrb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function zrb(b){var a;a=zK(this.d);if(Fwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;axb(this.a.d);this.c.nc();}
+function wrb(){}
+_=wrb.prototype=new gU();_.Bc=zrb;_.tN=ngc+'FactPatternWidget$16';_.tI=319;function Erb(b,a,c){b.a=a;b.b=c;return b;}
+function asb(a){mtb(this.a,a,this.b);}
+function Drb(){}
+_=Drb.prototype=new gU();_.Bc=asb;_.tN=ngc+'FactPatternWidget$2';_.tI=320;function csb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function esb(a){if(Bh('Remove this item from nested constraint?')){fjb(this.b,this.c);axb(this.a.d);}}
+function bsb(){}
+_=bsb.prototype=new gU();_.Bc=esb;_.tN=ngc+'FactPatternWidget$3';_.tI=321;function gsb(b,a,c,d){b.a=c;b.b=d;return b;}
+function isb(a){mlb(this.a);axb(this.b);}
+function fsb(){}
+_=fsb.prototype=new gU();_.Bc=isb;_.tN=ngc+'FactPatternWidget$4';_.tI=322;function ksb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function msb(a){this.c.f=zK(this.b);sab(this.a.d);}
+function jsb(){}
+_=jsb.prototype=new gU();_.Ac=msb;_.tN=ngc+'FactPatternWidget$5';_.tI=323;function osb(b,a){b.a=a;return b;}
+function qsb(a){ntb(this.a,a);}
+function nsb(){}
+_=nsb.prototype=new gU();_.Bc=qsb;_.tN=ngc+'FactPatternWidget$6';_.tI=324;function ssb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function usb(a){djb(this.c,llb(new klb(),DC(this.b,EC(this.b))));axb(this.a.d);this.d.nc();}
+function rsb(){}
+_=rsb.prototype=new gU();_.Ac=usb;_.tN=ngc+'FactPatternWidget$7';_.tI=325;function wsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function ysb(b){var a;a=new cjb();a.a=FC(this.c,EC(this.c));djb(this.b,a);axb(this.a.d);this.d.nc();}
+function vsb(){}
+_=vsb.prototype=new gU();_.Ac=ysb;_.tN=ngc+'FactPatternWidget$8';_.tI=326;function Asb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Csb(a){Bjb(this.a.e,llb(new klb(),DC(this.b,EC(this.b))));axb(this.a.d);this.c.nc();}
+function zsb(){}
+_=zsb.prototype=new gU();_.Ac=Csb;_.tN=ngc+'FactPatternWidget$9';_.tI=327;function hub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=ccb(new acb());b=d.a;for(c=0;c<b.a;c++){a=b[c];ecb(f.a,a.a,kub(f,a,c));}or(f,f.a);return f;}
+function iub(c,a){var b;b=iq(new hq());if(a.b===null){oq(b,true);a.b='true';}else{oq(b,FU(a.b,'true'));}b.z(stb(new rtb(),c,a,b));return b;}
+function kub(e,a,d){var b,c;if(FU(a.a,'no-loop')){return lub(e,d);}b=null;if(FU(a.a,'enabled')||FU(a.a,'auto-focus')||FU(a.a,'lock-on-active')){b=iub(e,a);}else{b=mub(e,a);}c=abb(new Fab());iA(c,b);iA(c,lub(e,d));return c;}
+function lub(c,a){var b;b=mB(new wA(),'images/delete_item_small.gif');nB(b,aub(new Ftb(),c,a));return b;}
+function mub(c,a){var b;b=bL(new sK());dL(b,dV(a.b)<3?3:dV(a.b));DK(b,a.b);vK(b,wtb(new vtb(),c,a,b));if(FU(a.a,'date-effective')||FU(a.a,'date-expires')){if(a.b===null||FU('',a.b))DK(b,'dd-MMM-yyyy');dL(b,10);}wK(b,Atb(new ztb(),c,b));return b;}
+function nub(){var a;a=uC(new mC());xC(a,'Choose...');xC(a,'salience');xC(a,'enabled');xC(a,'date-effective');xC(a,'date-expires');xC(a,'no-loop');xC(a,'agenda-group');xC(a,'activation-group');xC(a,'duration');xC(a,'auto-focus');xC(a,'lock-on-active');xC(a,'ruleflow-group');xC(a,'dialect');return a;}
+function oub(){return this.a.rc();}
+function qtb(){}
+_=qtb.prototype=new qab();_.rc=oub;_.tN=ngc+'RuleAttributeWidget';_.tI=328;_.a=null;_.b=null;_.c=null;function stb(b,a,c,d){b.a=c;b.b=d;return b;}
+function utb(a){this.a.b=nq(this.b)?'true':'false';}
+function rtb(){}
+_=rtb.prototype=new gU();_.Bc=utb;_.tN=ngc+'RuleAttributeWidget$1';_.tI=329;function wtb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ytb(a){this.b.b=zK(this.c);sab(this.a);}
+function vtb(){}
+_=vtb.prototype=new gU();_.Ac=ytb;_.tN=ngc+'RuleAttributeWidget$2';_.tI=330;function Atb(b,a,c){b.a=c;return b;}
+function Ctb(a,b,c){}
+function Dtb(a,b,c){}
+function Etb(a,b,c){dL(this.a,dV(zK(this.a)));}
+function ztb(){}
+_=ztb.prototype=new gU();_.ed=Ctb;_.fd=Dtb;_.gd=Etb;_.tN=ngc+'RuleAttributeWidget$3';_.tI=331;function aub(b,a,c){b.a=a;b.b=c;return b;}
+function cub(b){var a;a=wfb(new nfb(),'Remove this rule option?',eub(new dub(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
+function Ftb(){}
+_=Ftb.prototype=new gU();_.Bc=cub;_.tN=ngc+'RuleAttributeWidget$4';_.tI=332;function eub(b,a,c){b.a=a;b.b=c;return b;}
+function gub(){dlb(this.a.a.b,this.b);axb(this.a.a.c);}
+function dub(){}
+_=dub.prototype=new gU();_.rb=gub;_.tN=ngc+'RuleAttributeWidget$5';_.tI=333;function uwb(b,a){b.c=Fb(a.b,83);b.a=dLb((bLb(),gLb),a.d.o);b.b=zab(new xab());Ewb(b);CN(b.b,'model-builder-Background');or(b,b.b);b.De('100%');b.se('100%');return b;}
+function vwb(b,a){Bkb(b.c,mib(new kib(),a));axb(b);}
+function wwb(b,a){Bkb(b.c,uib(new sib(),a));axb(b);}
+function xwb(b,a){Akb(b.c,Bib(new Aib(),a));axb(b);}
+function ywb(b,a){Akb(b.c,sjb(a));axb(b);}
+function zwb(b,a){Bkb(b.c,sjb(a));axb(b);}
+function Awb(b,a){Akb(b.c,Ajb(new zjb(),a));axb(b);}
+function Bwb(a,b){Bkb(a.c,eib(new dib(),b));axb(a);}
+function Dwb(b){var a;a=Dcb(new Ccb(),'images/new_item.gif');a.ve('Add an option to the rule, to modify its behavior when evaluated or executed.');nB(a,zvb(new yvb(),b));return a;}
+function Ewb(c){var a,b;jy(c.b);b=Dcb(new Ccb(),'images/new_item.gif');b.ve('Add a condition to this rule.');nB(b,rvb(new qub(),c));Cab(c.b,0,0,eC(new cC(),'WHEN'));Cab(c.b,0,2,b);Cab(c.b,1,1,bxb(c,c.c));Cab(c.b,2,0,eC(new cC(),'THEN'));a=Dcb(new Ccb(),'images/new_item.gif');a.ve('Add an action to this rule.');nB(a,vvb(new uvb(),c));Cab(c.b,2,2,a);Cab(c.b,3,1,cxb(c,c.c));Cab(c.b,4,0,eC(new cC(),'(options)'));Cab(c.b,4,2,Dwb(c));Cab(c.b,5,1,hub(new qtb(),c,c.c));}
+function Fwb(b,a){return clb(b.c,a)||tgb(b.a,a);}
+function axb(a){Ewb(a);sab(a);}
+function bxb(e,c){var a,b,d,f,g;f=fbb(new ebb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,31)){g=Esb(new Cqb(),e,d,e.a,true);qO(f,hxb(e,c,b,g));qO(f,gxb(e));}else if(ac(d,29)){g=lob(new cob(),e,Fb(d,29),e.a);qO(f,hxb(e,c,b,g));qO(f,gxb(e));}else if(ac(d,10)){}else{throw mU(new lU(),"I don't know what type of pattern that is.");}}a=fbb(new ebb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,10)){g=vqb(new jqb(),Fb(d,10));qO(a,hxb(e,c,b,g));CN(a,'model-builderInner-Background');}}qO(f,a);return f;}
+function cxb(g,e){var a,b,c,d,f,h,i;h=fbb(new ebb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,27)){i=znb(new wmb(),g,Fb(a,27),g.a);}else if(ac(a,24)){i=mmb(new tlb(),g,Fb(a,24),g.a);}else if(ac(a,26)){i=umb(new tmb(),g.a,Fb(a,26));}else if(ac(a,10)){i=vqb(new jqb(),Fb(a,10));CN(i,'model-builderInner-Background');}qO(h,gxb(g));b=abb(new Fab());f=Dcb(new Ccb(),'images/delete_item_small.gif');f.ve('Remove this action.');d=c;nB(f,bwb(new awb(),g,e,d));iA(b,i);if(!ac(i,84)){i.De('100%');b.De('100%');}iA(b,f);qO(h,b);}return h;}
+function dxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=scb(new ncb(),'images/new_fact.gif','Add a new action...');CN(k,'ks-popups-Popup');q=Fkb(n.c);p=uC(new mC());l=uC(new mC());j=uC(new mC());xC(p,'Choose ...');xC(l,'Choose ...');xC(j,'Choose ...');for(i=q.sc();i.mc();){o=Fb(i.uc(),1);xC(p,o);xC(l,o);xC(j,o);}d=rgb(n.a);for(f=0;f<d.a;f++){xC(p,d[f]);}dD(p,0);wC(p,sub(new rub(),n,p,k));wC(l,wub(new vub(),n,l,k));wC(j,Aub(new zub(),n,j,k));if(CC(p)>1){tcb(k,'Set the values of a field on',p);}if(CC(j)>1){e=hA(new fA());iA(e,j);g=mB(new wA(),'images/information.gif');g.ve('Modify a field on a fact, and notify the engine to re-evaluate rules.');iA(e,g);tcb(k,'Modify a fact',e);}if(CC(l)>1){tcb(k,'Retract the fact',l);}b=uC(new mC());c=uC(new mC());xC(b,'Choose ...');xC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];xC(b,h);xC(c,h);}wC(b,Eub(new Dub(),n,b,k));wC(c,cvb(new bvb(),n,c,k));if(CC(b)>1){tcb(k,'Insert a new fact',b);e=hA(new fA());iA(e,c);g=mB(new wA(),'images/inf!
 ormation.gif');g.ve('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');iA(e,g);tcb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=uC(new mC());xC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];yC(a,tjb(m),pT(f));}wC(a,gvb(new fvb(),n,a,k));tcb(k,'DSL sentence',a);}tE(k,dc(ai()/3),dc(Fh()/3));wE(k);}
+function exb(c,d){var a,b;b=scb(new ncb(),'images/config.png','Add an option to the rule');a=nub();dD(a,0);wC(a,Dvb(new Cvb(),c,a,b));CN(b,'ks-popups-Popup');tcb(b,'Attribute',a);tE(b,tN(d)-400,uN(d));wE(b);}
+function fxb(j,k){var a,b,c,d,e,f,g,h,i;h=scb(new ncb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=uC(new mC());yC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){xC(e,f[g]);}dD(e,0);if(f.a>0)tcb(h,'Fact',e);wC(e,jwb(new iwb(),j,e,h));CN(h,'ks-popups-Popup');c=(Efb(),Ffb);b=uC(new mC());yC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];yC(b,dgb(a),a);}dD(b,0);if(f.a>0)tcb(h,'Condition type',b);wC(b,nwb(new mwb(),j,b,h));if(j.a.b.a>0){d=uC(new mC());xC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];yC(d,tjb(i),pT(g));}wC(d,rwb(new qwb(),j,d,h));tcb(h,'DSL sentence',d);}tE(h,tN(k)-400,uN(k));wE(h);}
+function gxb(b){var a;a=mz(new pw(),'&nbsp;');a.se('2px');return a;}
+function hxb(f,d,b,g){var a,c,e;a=abb(new Fab());e=Dcb(new Ccb(),'images/delete_item_small.gif');e.ve('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;nB(e,kvb(new jvb(),f,d,c));a.De('100%');g.De('100%');iA(a,g);iA(a,e);return a;}
+function ixb(){return Bab(this.b)||this.j;}
+function pub(){}
+_=pub.prototype=new qab();_.rc=ixb;_.tN=ngc+'RuleModeller';_.tI=334;_.a=null;_.b=null;_.c=null;function rvb(b,a){b.a=a;return b;}
+function tvb(a){fxb(this.a,a);}
+function qub(){}
+_=qub.prototype=new gU();_.Bc=tvb;_.tN=ngc+'RuleModeller$1';_.tI=335;function sub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function uub(a){vwb(this.a,DC(this.c,EC(this.c)));this.b.nc();}
+function rub(){}
+_=rub.prototype=new gU();_.Ac=uub;_.tN=ngc+'RuleModeller$10';_.tI=336;function wub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function yub(a){Bwb(this.a,DC(this.c,EC(this.c)));this.b.nc();}
+function vub(){}
+_=vub.prototype=new gU();_.Ac=yub;_.tN=ngc+'RuleModeller$11';_.tI=337;function Aub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Cub(a){wwb(this.a,DC(this.b,EC(this.b)));this.c.nc();}
+function zub(){}
+_=zub.prototype=new gU();_.Ac=Cub;_.tN=ngc+'RuleModeller$12';_.tI=338;function Eub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function avb(b){var a;a=DC(this.b,EC(this.b));Bkb(this.a.c,vhb(new thb(),a));axb(this.a);this.c.nc();}
+function Dub(){}
+_=Dub.prototype=new gU();_.Ac=avb;_.tN=ngc+'RuleModeller$13';_.tI=339;function cvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function evb(b){var a;a=DC(this.b,EC(this.b));Bkb(this.a.c,Dhb(new Bhb(),a));axb(this.a);this.c.nc();}
+function bvb(){}
+_=bvb.prototype=new gU();_.Ac=evb;_.tN=ngc+'RuleModeller$14';_.tI=340;function gvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ivb(b){var a;a=nT(FC(this.b,EC(this.b)));zwb(this.a,this.a.a.a[a]);this.c.nc();}
+function fvb(){}
+_=fvb.prototype=new gU();_.Ac=ivb;_.tN=ngc+'RuleModeller$15';_.tI=341;function kvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function mvb(b){var a;a=wfb(new nfb(),'Remove this entire condition?',ovb(new nvb(),this,this.c,this.b));tE(a,tN(b),uN(b));wE(a);}
+function jvb(){}
+_=jvb.prototype=new gU();_.Bc=mvb;_.tN=ngc+'RuleModeller$16';_.tI=342;function ovb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function qvb(){if(elb(this.c,this.b)){axb(this.a.a);}else{ybb("Can't remove that item as it is used in the action part of the rule.");}}
+function nvb(){}
+_=nvb.prototype=new gU();_.rb=qvb;_.tN=ngc+'RuleModeller$17';_.tI=343;function vvb(b,a){b.a=a;return b;}
+function xvb(a){dxb(this.a,a);}
+function uvb(){}
+_=uvb.prototype=new gU();_.Bc=xvb;_.tN=ngc+'RuleModeller$2';_.tI=344;function zvb(b,a){b.a=a;return b;}
+function Bvb(a){exb(this.a,a);}
+function yvb(){}
+_=yvb.prototype=new gU();_.Bc=Bvb;_.tN=ngc+'RuleModeller$3';_.tI=345;function Dvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Fvb(a){zkb(this.a.c,pkb(new okb(),DC(this.b,EC(this.b)),''));axb(this.a);this.c.nc();}
+function Cvb(){}
+_=Cvb.prototype=new gU();_.Ac=Fvb;_.tN=ngc+'RuleModeller$4';_.tI=346;function bwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function dwb(b){var a;a=wfb(new nfb(),'Remove this item?',fwb(new ewb(),this,this.c,this.b));tE(a,tN(b),uN(b));wE(a);}
+function awb(){}
+_=awb.prototype=new gU();_.Bc=dwb;_.tN=ngc+'RuleModeller$5';_.tI=347;function fwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function hwb(){flb(this.c,this.b);axb(this.a.a);}
+function ewb(){}
+_=ewb.prototype=new gU();_.rb=hwb;_.tN=ngc+'RuleModeller$6';_.tI=348;function jwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function lwb(b){var a;a=DC(this.b,EC(this.b));if(!FU(a,'IGNORE')){Awb(this.a,a);this.c.nc();}}
+function iwb(){}
+_=iwb.prototype=new gU();_.Ac=lwb;_.tN=ngc+'RuleModeller$7';_.tI=349;function nwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function pwb(b){var a;a=FC(this.b,EC(this.b));if(!FU(a,'IGNORE')){xwb(this.a,a);this.c.nc();}}
+function mwb(){}
+_=mwb.prototype=new gU();_.Ac=pwb;_.tN=ngc+'RuleModeller$8';_.tI=350;function rwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function twb(b){var a;a=nT(FC(this.b,EC(this.b)));ywb(this.a,this.a.a.b[a]);this.c.nc();}
+function qwb(){}
+_=qwb.prototype=new gU();_.Ac=twb;_.tN=ngc+'RuleModeller$9';_.tI=351;function lxb(b,a,c){b.a=c;return b;}
+function nxb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
+function kxb(){}
+_=kxb.prototype=new gU();_.Bc=nxb;_.tN=ogc+'AssetAttachmentFileWidget$1';_.tI=352;function pxb(b,a){b.a=a;return b;}
+function rxb(a){Dxb(this.a);Exb(this.a);}
+function oxb(){}
+_=oxb.prototype=new gU();_.Bc=rxb;_.tN=ogc+'AssetAttachmentFileWidget$2';_.tI=353;function txb(b,a){b.a=a;return b;}
+function wxb(a){}
+function vxb(a){tdb();if(bV(a.a,'OK')>(-1)){g_b(this.a.e);}else{ybb('Unable to upload the file.');}}
+function sxb(){}
+_=sxb.prototype=new gU();_.qd=wxb;_.pd=vxb;_.tN=ogc+'AssetAttachmentFileWidget$3';_.tI=354;function kyb(){kyb=e3;vcb();}
+function iyb(c){var a,b;kyb();scb(c,'images/new_wiz.gif','Create a new fact template');c.a=tt(new nt());c.b=bL(new sK());tcb(c,'Name:',c.b);tcb(c,'Fact attributes:',c.a);a=mB(new wA(),'images/new_item.gif');nB(a,byb(new ayb(),c));tcb(c,'Add a new attribute',a);b=yp(new sp(),'Create');b.z(fyb(new eyb(),c));tcb(c,'',b);return c;}
+function jyb(b){var a;a=xt(b.a);b.a.Be(a,0,bL(new sK()));b.a.Be(a,1,nyb(b));}
+function lyb(d){var a,b,c,e,f;b='template '+zK(d.b)+'\n';for(a=0;a<xt(d.a);a++){e=Fb(sy(d.a,a,1),85);f=DC(e,EC(e));c=zK(Fb(sy(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
+function myb(b,a){b.c=a;}
+function nyb(b){var a;a=uC(new mC());xC(a,'String');xC(a,'Integer');xC(a,'Float');xC(a,'Date');xC(a,'Boolean');return a;}
+function Fxb(){}
+_=Fxb.prototype=new ncb();_.tN=ogc+'FactTemplateWizard';_.tI=355;_.a=null;_.b=null;_.c=null;function byb(b,a){b.a=a;return b;}
+function dyb(a){jyb(this.a);}
+function ayb(){}
+_=ayb.prototype=new gU();_.Bc=dyb;_.tN=ogc+'FactTemplateWizard$1';_.tI=356;function fyb(b,a){b.a=a;return b;}
+function hyb(a){kDb(this.a.c);this.a.nc();}
+function eyb(){}
+_=eyb.prototype=new gU();_.Bc=hyb;_.tN=ogc+'FactTemplateWizard$2';_.tI=357;function pyb(b,a,c){xxb(b,a,c);return b;}
+function ryb(){return 'images/model_large.png';}
+function syb(){return 'editable-Surface';}
+function oyb(){}
+_=oyb.prototype=new jxb();_.xb=ryb;_.ac=syb;_.tN=ogc+'ModelAttachmentFileWidget';_.tI=358;function rzb(){rzb=e3;vcb();}
+function pzb(a){a.b=ccb(new acb());a.d=ccb(new acb());}
+function qzb(f,b){var a,c,d,e;rzb();scb(f,'images/new_wiz.gif','Create a new package');pzb(f);f.c=bL(new sK());f.a=mK(new lK());hcb(f.d,mz(new pw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));ecb(f.d,'Name:',f.c);ecb(f.d,'Description:',f.a);f.c.ve('The name of the package. Avoid spaces, use underscore instead.');e=gG(new eG(),'action','Create new pa!
 ckage');d=gG(new eG(),'action','Import from drl file');oq(e,true);f.d.Ae(true);e.z(vyb(new uyb(),f));f.b.Ae(false);d.z(zyb(new yyb(),f));a=kp(new jp());lp(a,e);lp(a,d);ucb(f,a);ucb(f,f.d);ucb(f,f.b);ecb(f.b,'DRL file to import:',tzb(b,f));c=yp(new sp(),'Create package');c.z(Dyb(new Cyb(),f,b));ecb(f.d,'',c);CN(f,'ks-popups-Popup');return f;}
+function szb(d,b,a,c){xdb('Creating package - please wait...');FTb(nMb(),b,a,czb(new bzb(),d,c));}
+function tzb(a,d){rzb();var b,c,e,f;f=ev(new Fu());kv(f,v()+'package');lv(f,'multipart/form-data');mv(f,'post');c=hA(new fA());f.Ce(c);e=it(new ht());lt(e,'classicDRLFile');iA(c,e);iA(c,eC(new cC(),'upload:'));b=Ecb(new Ccb(),'images/upload.gif','Import');nB(b,hzb(new gzb(),f));iA(c,b);fv(f,lzb(new kzb(),a,d,e));return f;}
+function tyb(){}
+_=tyb.prototype=new ncb();_.tN=ogc+'NewPackageWizard';_.tI=359;_.a=null;_.c=null;function vyb(b,a){b.a=a;return b;}
+function xyb(a){this.a.d.Ae(true);this.a.b.Ae(false);}
+function uyb(){}
+_=uyb.prototype=new gU();_.Bc=xyb;_.tN=ogc+'NewPackageWizard$1';_.tI=360;function zyb(b,a){b.a=a;return b;}
+function Byb(a){this.a.d.Ae(false);this.a.b.Ae(true);}
+function yyb(){}
+_=yyb.prototype=new gU();_.Bc=Byb;_.tN=ogc+'NewPackageWizard$2';_.tI=361;function Dyb(b,a,c){b.a=a;b.b=c;return b;}
+function Fyb(b,a){return eV(a,'[a-zA-Z\\.]*');}
+function azb(a){if(Fyb(this,zK(this.a.c))){szb(this.a,zK(this.a.c),zK(this.a.a),this.b);this.a.nc();}else{DK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
+function Cyb(){}
+_=Cyb.prototype=new gU();_.Bc=azb;_.tN=ogc+'NewPackageWizard$3';_.tI=362;function czb(b,a,c){b.a=c;return b;}
+function ezb(b,a){tdb();tFb(b.a);}
+function fzb(a){ezb(this,a);}
+function bzb(){}
+_=bzb.prototype=new wcb();_.rd=fzb;_.tN=ogc+'NewPackageWizard$4';_.tI=363;function hzb(a,b){a.a=b;return a;}
+function jzb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){xdb('Importing drl package, please wait, as this could take some time...');ov(this.a);}}
+function gzb(){}
+_=gzb.prototype=new gU();_.Bc=jzb;_.tN=ogc+'NewPackageWizard$5';_.tI=364;function lzb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
+function ozb(a){if(dV(kt(this.c))==0){zh('You did not choose a drl file to import !');Av(a,true);}else if(!DU(kt(this.c),'.drl')){zh("You can only import '.drl' files.");Av(a,true);}}
+function nzb(a){if(bV(a.a,'OK')>(-1)){zh('Package was imported successfully. ');tFb(this.a);this.b.nc();}else{ybb('Unable to import into the package. ['+a.a+']');}tdb();}
+function kzb(){}
+_=kzb.prototype=new gU();_.qd=ozb;_.pd=nzb;_.tN=ogc+'NewPackageWizard$6';_.tI=365;function oBb(h,e,f){var a,b,c,d,g;h.c=dcb(new acb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=cH(new AG());g=bL(new sK());a=yp(new sp(),'Build package');a.ve('This will validate and compile all the assets in a package.');a.z(hAb(new vzb(),h,b,g));c=yp(new sp(),'Show package source');c.z(lAb(new kAb(),h,e));ecb(h.c,'View source for package',c);d=hA(new fA());iA(d,a);iA(d,mz(new pw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));iA(d,g);iA(d,fdb(new adb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));ecb(h.c,'Build binary package:',d);hcb(h.c,mz(new pw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));hcb(h.c,b);CN(h.c,'package-Editor');h.c.De('100%');or(h,h.c);return h;}
+function qBb(d,a,c){var b;a.cb();b=hA(new fA());iA(b,eC(new cC(),'Validating and building package, please wait...'));iA(b,mB(new wA(),'images/red_anime.gif'));xdb('Please wait...');eH(a,b);fg(EAb(new DAb(),d,c,a));}
+function rBb(i,e,a){var b,c,d,f,g,h;a.cb();b=tt(new nt());CN(b,'build-Results');az(b,0,1,'Format');az(b,0,2,'Name');az(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.Be(f,0,mB(new wA(),'images/error.gif'));az(b,f,1,d.a);az(b,f,2,d.b);az(b,f,3,d.c);if(!FU('package',d.a)){h=yp(new sp(),'Show');h.z(lBb(new kBb(),i,d));b.Be(f,4,h);}}b.De('100%');g=wG(new uG(),b);yG(g,true);BN(g,'100%','25em');eH(a,g);}
+function sBb(g,i){var a,b,c,d,e,f,h;xdb('Loading existing snapshots...');c=scb(new ncb(),'images/snapshot.png','Create a snapshot for deployment.');ucb(c,mz(new pw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=pO(new nO());tcb(c,'Choose or create snapshot name:',h);f=oY(new mY());d=bL(new sK());e='NEW: ';eUb(nMb(),g.a.j,xzb(new wzb(),g,f,h,d));a=bL(new sK());tcb(c,'Comment:',a);b=yp(new sp(),'Create new snapshot');tcb(c,'',b);b.z(Fzb(new Ezb(),g,f,d,a,c));c.De('50%');tE(c,dc((uab()-oE(c))/2),100);wE(c);}
+function tBb(e,a){var b,c,d,f;a.cb();f=pO(new nO());qO(f,mz(new pw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=vBb(e.a);b=mz(new pw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");qO(f,b);d=yp(new sp(),'Create snapshot for deployment');d.z(hBb(new gBb(),e));qO(f,d);eH(a,f);}
+function uBb(b,a){xdb('Assembling package source...');fg(pAb(new oAb(),b,a));}
+function vBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
+function wBb(b,c){var a,d;d=scb(new ncb(),'images/view_source.gif','Viewing source for: '+c);a=mK(new lK());rK(a,30);a.De('100%');qK(a,80);ucb(d,a);DK(a,b);a.pe(true);a.ve('THIS IS READ ONLY - you may copy and paste, but not edit.');wK(a,yAb(new xAb(),a,b));tdb();tE(d,dc((uab()-oE(d))/2),100);wE(d);}
+function uzb(){}
+_=uzb.prototype=new mr();_.tN=ogc+'PackageBuilderWidget';_.tI=366;_.a=null;_.b=null;_.c=null;function hAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function jAb(a){qBb(this.a,this.b,zK(this.c));}
+function vzb(){}
+_=vzb.prototype=new gU();_.Bc=jAb;_.tN=ogc+'PackageBuilderWidget$1';_.tI=367;function xzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
+function zzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=gG(new eG(),'snapshotNameGroup',f[c].b);qY(this.b,b);qO(this.c,b);}d=hA(new fA());e=gG(new eG(),'snapshotNameGroup','NEW: ');iA(d,e);this.a.pe(false);e.z(Bzb(new Azb(),this,this.a));iA(d,this.a);qY(this.b,e);qO(this.c,d);tdb();}
+function wzb(){}
+_=wzb.prototype=new wcb();_.rd=zzb;_.tN=ogc+'PackageBuilderWidget$10';_.tI=368;function Bzb(b,a,c){b.a=c;return b;}
+function Dzb(a){this.a.pe(true);}
+function Azb(){}
+_=Azb.prototype=new gU();_.Bc=Dzb;_.tN=ogc+'PackageBuilderWidget$11';_.tI=369;function Fzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
+function bAb(d){var a,b,c;c=false;for(b=this.f.sc();b.mc();){a=Fb(b.uc(),87);if(nq(a)){this.a=mq(a);if(!FU(mq(a),'NEW: ')){c=true;}break;}}if(FU(this.a,'NEW: ')){this.a=zK(this.e);}if(FU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}ETb(nMb(),this.b.a.j,this.a,c,zK(this.c),dAb(new cAb(),this,this.d));}
+function Ezb(){}
+_=Ezb.prototype=new gU();_.Bc=bAb;_.tN=ogc+'PackageBuilderWidget$12';_.tI=370;_.a='';function dAb(b,a,c){b.a=a;b.b=c;return b;}
+function fAb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.nc();}
+function gAb(a){fAb(this,a);}
+function cAb(){}
+_=cAb.prototype=new wcb();_.rd=gAb;_.tN=ogc+'PackageBuilderWidget$13';_.tI=371;function lAb(b,a,c){b.a=c;return b;}
+function nAb(a){uBb(this.a.m,this.a.j);}
+function kAb(){}
+_=kAb.prototype=new gU();_.Bc=nAb;_.tN=ogc+'PackageBuilderWidget$2';_.tI=372;function pAb(a,c,b){a.b=c;a.a=b;return a;}
+function rAb(){tTb(nMb(),this.b,tAb(new sAb(),this,this.a));}
+function oAb(){}
+_=oAb.prototype=new gU();_.rb=rAb;_.tN=ogc+'PackageBuilderWidget$3';_.tI=373;function tAb(b,a,c){b.a=c;return b;}
+function vAb(c,b){var a;a=Fb(b,1);wBb(a,c.a);}
+function wAb(a){vAb(this,a);}
+function sAb(){}
+_=sAb.prototype=new wcb();_.rd=wAb;_.tN=ogc+'PackageBuilderWidget$4';_.tI=374;function yAb(a,b,c){a.a=b;a.b=c;return a;}
+function AAb(a,b,c){DK(this.a,this.b);}
+function BAb(a,b,c){DK(this.a,this.b);}
+function CAb(a,b,c){DK(this.a,this.b);}
+function xAb(){}
+_=xAb.prototype=new gU();_.ed=AAb;_.fd=BAb;_.gd=CAb;_.tN=ogc+'PackageBuilderWidget$5';_.tI=375;function EAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function aBb(){uTb(nMb(),this.a.a.m,this.c,cBb(new bBb(),this,this.b));}
+function DAb(){}
+_=DAb.prototype=new gU();_.rb=aBb;_.tN=ogc+'PackageBuilderWidget$6';_.tI=376;function cBb(b,a,c){b.a=a;b.b=c;return b;}
+function eBb(c,a){var b;tdb();if(a===null){tBb(c.a.a,c.b);}else{b=Fb(a,88);rBb(c.a.a,b,c.b);}}
+function fBb(a){eBb(this,a);}
+function bBb(){}
+_=bBb.prototype=new wcb();_.rd=fBb;_.tN=ogc+'PackageBuilderWidget$7';_.tI=377;function hBb(b,a){b.a=a;return b;}
+function jBb(a){sBb(this.a,a);}
+function gBb(){}
+_=gBb.prototype=new gU();_.Bc=jBb;_.tN=ogc+'PackageBuilderWidget$8';_.tI=378;function lBb(b,a,c){b.a=a;b.b=c;return b;}
+function nBb(a){pIb(this.a.b,this.b.d);}
+function kBb(){}
+_=kBb.prototype=new gU();_.Bc=nBb;_.tN=ogc+'PackageBuilderWidget$9';_.tI=379;function uEb(e,b,c,a,d){ccb(e);e.b=b;e.c=c;e.a=a;e.e=d;CN(e,'package-Editor');e.De('100%');AEb(e);return e;}
+function wEb(b){var a;a=mK(new lK());a.De('100%');rK(a,8);DK(a,b.b.d);vK(a,rDb(new qDb(),b,a));qK(a,100);return yEb(b,a);}
+function xEb(b,a){xdb('Saving package configuration. Please wait ...');vUb(nMb(),b.b,dCb(new cCb(),b,a));}
+function yEb(d,a){var b,c;c=hA(new fA());iA(c,a);b=mB(new wA(),'images/max_min.gif');b.ve('Increase view area');iA(c,b);nB(b,nDb(new mDb(),d,a));return c;}
+function zEb(g){var a,b,c,d,e,f,h;a=mK(new lK());a.De('100%');rK(a,8);qK(a,100);DK(a,g.b.f);vK(a,qCb(new pCb(),g,a));f=hA(new fA());iA(f,a);h=pO(new nO());b=mB(new wA(),'images/max_min.gif');nB(b,uCb(new tCb(),g,a));b.ve('Increase view area.');qO(h,b);e=mB(new wA(),'images/new_import.gif');nB(e,yCb(new xCb(),g,a));qO(h,e);e.ve('Add a new Type/Class import to the package.');d=mB(new wA(),'images/new_global.gif');nB(d,CCb(new BCb(),g,a));d.ve('Add a new global variable declaration.');qO(h,d);c=mB(new wA(),'images/fact_template.gif');nB(c,eDb(new dDb(),g,a));c.ve('Add a new fact template.');f.De('100%');iA(f,h);return f;}
+function AEb(c){var a,b;icb(c);hcb(c,bFb(c));ecb(c,'Description:',wEb(c));ecb(c,'Header:',zEb(c));hcb(c,mz(new pw(),'<hr/>'));ecb(c,'Last modified:',eC(new cC(),b0(c.b.i)));ecb(c,'Last contributor:',eC(new cC(),c.b.h));hcb(c,mz(new pw(),'<hr/>'));c.f=lz(new pw());b=hA(new fA());a=Dcb(new Ccb(),'images/edit.gif');a.ve('Change status.');nB(a,FCb(new yBb(),c));iA(b,c.f);if(!c.b.g){iA(b,a);}DEb(c,c.b.l);ecb(c,'Status:',b);if(!c.b.g){hcb(c,CEb(c));}hcb(c,mz(new pw(),'<hr/>'));}
+function BEb(a){xdb('Refreshing package data...');jUb(nMb(),a.b.m,mCb(new lCb(),a));}
+function CEb(f){var a,b,c,d,e;c=hA(new fA());e=yp(new sp(),'Save and validate configuration');e.z(CDb(new BDb(),f));iA(c,e);a=yp(new sp(),'Archive');a.z(aEb(new FDb(),f));iA(c,a);b=yp(new sp(),'Copy');b.z(eEb(new dEb(),f));iA(c,b);d=yp(new sp(),'Rename');d.z(iEb(new hEb(),f));iA(c,d);return c;}
+function DEb(b,a){pz(b.f,'<b>'+a+'<\/b>');}
+function EEb(d){var a,b,c;c=scb(new ncb(),'images/new_wiz.gif','Copy the package');ucb(c,mz(new pw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=bL(new sK());tcb(c,'New package name:',a);b=yp(new sp(),'OK');tcb(c,'',b);b.z(ABb(new zBb(),d,a,c));c.De('40%');tE(c,dc(ai()/3),dc(Fh()/3));wE(c);}
+function FEb(d){var a,b,c;c=scb(new ncb(),'images/new_wiz.gif','Rename the package');ucb(c,mz(new pw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=bL(new sK());tcb(c,'New package name:',a);b=yp(new sp(),'OK');tcb(c,'',b);b.z(mEb(new lEb(),d,a,c));c.De('40%');tE(c,dc(ai()/3),dc(Fh()/3));wE(c);}
+function aFb(b,c){var a;a=Aeb(new eeb(),b.b.m,true);Deb(a,yDb(new xDb(),b,a));tE(a,tN(c),uN(c));wE(a);}
+function bFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=mB(new wA(),'images/warning.gif');a=hA(new fA());iA(a,b);c=mz(new pw(),'<b>There were errors validating this package configuration.');iA(a,c);d=yp(new sp(),'View errors');d.z(uDb(new cDb(),e));iA(a,d);return a;}else{return cH(new AG());}}
+function xBb(){}
+_=xBb.prototype=new acb();_.tN=ogc+'PackageEditor';_.tI=380;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function FCb(b,a){b.a=a;return b;}
+function bDb(a){aFb(this.a,a);}
+function yBb(){}
+_=yBb.prototype=new gU();_.Bc=bDb;_.tN=ogc+'PackageEditor$1';_.tI=381;function ABb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function CBb(a){BTb(nMb(),this.a.b.j,zK(this.b),EBb(new DBb(),this,this.c));}
+function zBb(){}
+_=zBb.prototype=new gU();_.Bc=CBb;_.tN=ogc+'PackageEditor$10';_.tI=382;function EBb(b,a,c){b.a=a;b.b=c;return b;}
+function aCb(b,a){rGb(b.a.a.e);zh('Package copied successfully.');b.b.nc();}
+function bCb(a){aCb(this,a);}
+function DBb(){}
+_=DBb.prototype=new wcb();_.rd=bCb;_.tN=ogc+'PackageEditor$11';_.tI=383;function dCb(b,a,c){b.a=a;b.b=c;return b;}
+function fCb(b,a){xGb(b.a.a);b.a.d=Fb(a,89);BEb(b.a);xdb('Package configuration updated successfully, refreshing content cache...');fLb((bLb(),gLb),b.a.b.j,iCb(new hCb(),b,b.b));}
+function gCb(a){fCb(this,a);}
+function cCb(){}
+_=cCb.prototype=new wcb();_.rd=gCb;_.tN=ogc+'PackageEditor$12';_.tI=384;function iCb(b,a,c){b.a=c;return b;}
+function kCb(){if(this.a!==null){rGb(this.a);}tdb();}
+function hCb(){}
+_=hCb.prototype=new gU();_.rb=kCb;_.tN=ogc+'PackageEditor$13';_.tI=385;function mCb(b,a){b.a=a;return b;}
+function oCb(a){tdb();this.a.b=Fb(a,16);AEb(this.a);}
+function lCb(){}
+_=lCb.prototype=new wcb();_.rd=oCb;_.tN=ogc+'PackageEditor$14';_.tI=386;function qCb(b,a,c){b.a=a;b.b=c;return b;}
+function sCb(a){this.a.b.f=zK(this.b);nGb(this.a.c);}
+function pCb(){}
+_=pCb.prototype=new gU();_.Ac=sCb;_.tN=ogc+'PackageEditor$16';_.tI=387;function uCb(b,a,c){b.a=c;return b;}
+function wCb(a){if(pK(this.a)!=32){rK(this.a,32);}else{rK(this.a,8);}}
+function tCb(){}
+_=tCb.prototype=new gU();_.Bc=wCb;_.tN=ogc+'PackageEditor$17';_.tI=388;function yCb(b,a,c){b.a=a;b.b=c;return b;}
+function ACb(a){DK(this.b,zK(this.b)+'\n'+'import <your class here>');this.a.b.f=zK(this.b);}
+function xCb(){}
+_=xCb.prototype=new gU();_.Bc=ACb;_.tN=ogc+'PackageEditor$18';_.tI=389;function CCb(b,a,c){b.a=a;b.b=c;return b;}
+function ECb(a){DK(this.b,zK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=zK(this.b);}
+function BCb(){}
+_=BCb.prototype=new gU();_.Bc=ECb;_.tN=ogc+'PackageEditor$19';_.tI=390;function uDb(b,a){b.a=a;return b;}
+function wDb(a){var b;b=Feb(new Eeb(),this.a.d.a,this.a.d.b);tE(b,dc(ai()/4),uN(a));wE(b);}
+function cDb(){}
+_=cDb.prototype=new gU();_.Bc=wDb;_.tN=ogc+'PackageEditor$2';_.tI=391;function eDb(b,a,c){b.a=a;b.b=c;return b;}
+function gDb(a){var b;b=iyb(new Fxb());tE(b,tN(a)-400,uN(a)-250);myb(b,iDb(new hDb(),this,this.b,b));wE(b);}
+function dDb(){}
+_=dDb.prototype=new gU();_.Bc=gDb;_.tN=ogc+'PackageEditor$20';_.tI=392;function iDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kDb(a){DK(a.b,zK(a.b)+'\n'+lyb(a.c));a.a.a.b.f=zK(a.b);}
+function lDb(){kDb(this);}
+function hDb(){}
+_=hDb.prototype=new gU();_.rb=lDb;_.tN=ogc+'PackageEditor$21';_.tI=393;function nDb(b,a,c){b.a=c;return b;}
+function pDb(a){if(pK(this.a)!=32){rK(this.a,32);}else{rK(this.a,8);}}
+function mDb(){}
+_=mDb.prototype=new gU();_.Bc=pDb;_.tN=ogc+'PackageEditor$22';_.tI=394;function rDb(b,a,c){b.a=a;b.b=c;return b;}
+function tDb(a){this.a.b.d=zK(this.b);nGb(this.a.c);}
+function qDb(){}
+_=qDb.prototype=new gU();_.Ac=tDb;_.tN=ogc+'PackageEditor$23';_.tI=395;function yDb(b,a,c){b.a=a;b.b=c;return b;}
+function ADb(){DEb(this.a,this.b.c);}
+function xDb(){}
+_=xDb.prototype=new gU();_.rb=ADb;_.tN=ogc+'PackageEditor$3';_.tI=396;function CDb(b,a){b.a=a;return b;}
+function EDb(a){xEb(this.a,null);}
+function BDb(){}
+_=BDb.prototype=new gU();_.Bc=EDb;_.tN=ogc+'PackageEditor$4';_.tI=397;function aEb(b,a){b.a=a;return b;}
+function cEb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;xEb(this.a,this.a.e);}}
+function FDb(){}
+_=FDb.prototype=new gU();_.Bc=cEb;_.tN=ogc+'PackageEditor$5';_.tI=398;function eEb(b,a){b.a=a;return b;}
+function gEb(a){EEb(this.a);}
+function dEb(){}
+_=dEb.prototype=new gU();_.Bc=gEb;_.tN=ogc+'PackageEditor$6';_.tI=399;function iEb(b,a){b.a=a;return b;}
+function kEb(a){FEb(this.a);}
+function hEb(){}
+_=hEb.prototype=new gU();_.Bc=kEb;_.tN=ogc+'PackageEditor$7';_.tI=400;function mEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function oEb(a){tUb(nMb(),this.a.b.m,zK(this.b),qEb(new pEb(),this,this.c));}
+function lEb(){}
+_=lEb.prototype=new gU();_.Bc=oEb;_.tN=ogc+'PackageEditor$8';_.tI=401;function qEb(b,a,c){b.a=a;b.b=c;return b;}
+function sEb(b,a){rGb(b.a.a.e);zh('Package renamed successfully.');b.b.nc();}
+function tEb(a){sEb(this,a);}
+function pEb(){}
+_=pEb.prototype=new wcb();_.rd=tEb;_.tN=ogc+'PackageEditor$9';_.tI=402;function FHb(a){a.f=pGb(new dFb(),a);}
+function aIb(b,a){bIb(b,a,null,null);return b;}
+function bIb(g,b,h,f){var a,c,d,e;FHb(g);g.b=b;g.h=h;g.c=rM(new eL());g.d=zab(new xab());g.g=new tGb();vM(g.c,g.g);e=pO(new nO());if(f===null){a=tt(new nt());gx(a.n,0,0,'new-asset-Icons');dx(a.n,0,0,(wz(),xz),(Fz(),bA));a.Be(0,0,eIb(g));qO(e,a);a.De('100%');}qO(e,g.c);Cab(g.d,0,0,e);c=wt(g.d);hx(c,0,0,(Fz(),cA));st(wt(g.d),0,1,2);dx(wt(g.d),0,1,(wz(),xz),(Fz(),cA));iIb(g);d=DM(g.c,0);if(d!==null)hN(g.c,d);Cab(g.d,0,1,mz(new pw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));jx(wt(g.d),0,0,'25%');dx(wt(g.d),0,1,(wz(),yz),(Fz(),cA));g.e=kdc(new occ(),g.b,'rulelist');or(g,g.d);return g;}
+function cIb(d,a,c){var b;b=hIb(d,a.j,'images/package.gif',DHb(new CHb(),wFb(new vFb(),d,a)));b.A(hIb(d,'Business rule assets','images/rule_asset.gif',jIb(d,a.m,(q_(),r_))));b.A(hIb(d,'Technical rule assets','images/technical_rule_assets.gif',jIb(d,a.m,(q_(),t_))));b.A(hIb(d,'Functions','images/function_assets.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['function']))));b.A(hIb(d,'DSL','images/dsl.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['dsl']))));b.A(hIb(d,'Model','images/model_asset.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['jar']))));tM(d.c,b);if(c){iN(d.c,b,true);}}
+function eIb(h){var a,b,c,d,e,f,g,i;g=hA(new fA());d=mB(new wA(),'images/new_package.gif');d.ve('Create a new package');nB(d,bHb(new aHb(),h));i=Dcb(new Ccb(),'images/model_asset.gif');nB(i,fHb(new eHb(),h));i.ve('This creates a new model archive - models contain classes/types that rules use.');e=Dcb(new Ccb(),'images/new_rule.gif');e.ve('Create new rule');nB(e,jHb(new iHb(),h));c=Dcb(new Ccb(),'images/function_assets.gif');c.ve('Create a new function');nB(c,rHb(new qHb(),h));a=Dcb(new Ccb(),'images/dsl.gif');a.ve('Create a new DSL (language configuration)');nB(a,vHb(new uHb(),h));f=Dcb(new Ccb(),'images/ruleflow_small.gif');f.ve('Upload a new ruleflow.');nB(f,zHb(new yHb(),h));b=Dcb(new Ccb(),'images/new_enumeration.gif');b.ve('Create a new data enumeration (drop down list)');nB(b,fFb(new eFb(),h));iA(g,d);iA(g,i);iA(g,e);iA(g,c);iA(g,a);iA(g,f);iA(g,b);return g;}
+function fIb(d,a,e){var b,c,f;b=70;f=100;c=x7b(new h7b(),AGb(new zGb(),d),false,a,e,d.a);tE(c,dc((uab()-oE(c))/2),100);wE(c);}
+function gIb(a,b){xdb('Loading package information ...');jUb(nMb(),b,dGb(new cGb(),a));}
+function hIb(e,d,b,a){var c;c=wL(new uL());EL(c,'<img src="'+b+'">'+d+'<\/a>');eM(c,a);return c;}
+function iIb(a){if(a.h===null){xdb('Loading list of packages ...');dUb(nMb(),jFb(new iFb(),a));}else{xdb('Loading package ...');jUb(nMb(),a.h,nFb(new mFb(),a));}}
+function jIb(c,d,b){var a;a=AFb(new zFb(),c);return DHb(new CHb(),FFb(new EFb(),c,d,b,a));}
+function kIb(b,c){var a;a=qzb(new tyb(),rFb(new qFb(),b));tE(a,dc((uab()-oE(a))/2),100);wE(a);}
+function cFb(){}
+_=cFb.prototype=new qab();_.tN=ogc+'PackageExplorerWidget';_.tI=403;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function pGb(b,a){b.a=a;return b;}
+function rGb(a){iIb(a.a);}
+function sGb(){rGb(this);}
+function dFb(){}
+_=dFb.prototype=new gU();_.rb=sGb;_.tN=ogc+'PackageExplorerWidget$1';_.tI=404;function fFb(b,a){b.a=a;return b;}
+function hFb(a){fIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
+function eFb(){}
+_=eFb.prototype=new gU();_.Bc=hFb;_.tN=ogc+'PackageExplorerWidget$10';_.tI=405;function jFb(b,a){b.a=a;return b;}
+function lFb(a){var b,c;c=Fb(a,71);wM(this.a.c);for(b=0;b<c.a;b++){if(b==0){cIb(this.a,c[b],true);}else{cIb(this.a,c[b],false);}}tdb();}
+function iFb(){}
+_=iFb.prototype=new wcb();_.rd=lFb;_.tN=ogc+'PackageExplorerWidget$11';_.tI=406;function nFb(b,a){b.a=a;return b;}
+function pFb(a){var b;b=Fb(a,16);wM(this.a.c);cIb(this.a,b,true);tdb();}
+function mFb(){}
+_=mFb.prototype=new wcb();_.rd=pFb;_.tN=ogc+'PackageExplorerWidget$12';_.tI=407;function rFb(b,a){b.a=a;return b;}
+function tFb(a){iIb(a.a);}
+function uFb(){tFb(this);}
+function qFb(){}
+_=qFb.prototype=new gU();_.rb=uFb;_.tN=ogc+'PackageExplorerWidget$13';_.tI=408;function wFb(b,a,c){b.a=a;b.b=c;return b;}
+function yFb(){if(this.a.rc()){if(Bh('Discard Changes ? ')){tab(this.a);gIb(this.a,this.b.m);}}else{gIb(this.a,this.b.m);}}
+function vFb(){}
+_=vFb.prototype=new gU();_.rb=yFb;_.tN=ogc+'PackageExplorerWidget$14';_.tI=409;function AFb(b,a){b.a=a;return b;}
+function CFb(c,a){var b;b=Fb(a,62);pdc(c.a.e,b);c.a.e.De('100%');Cab(c.a.d,0,1,c.a.e);dx(wt(c.a.d),0,1,(wz(),yz),(Fz(),cA));tdb();}
+function DFb(a){CFb(this,a);}
+function zFb(){}
+_=zFb.prototype=new wcb();_.rd=DFb;_.tN=ogc+'PackageExplorerWidget$15';_.tI=410;function FFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
+function bGb(){xdb('Loading list, please wait...');cUb(nMb(),this.c,this.b,(-1),(-1),this.a);}
+function EFb(){}
+_=EFb.prototype=new gU();_.rb=bGb;_.tN=ogc+'PackageExplorerWidget$16';_.tI=411;function dGb(b,a){b.a=a;return b;}
+function fGb(c){var a,b,d,e,f,g,h,i;b=Fb(c,16);g=yH(new xH());this.a.a=b.j;e=dcb(new acb(),'images/package_large.png',b.j);CN(e,'package-Editor');e.De('100%');ecb(e,'Description:',eC(new cC(),b.d));ecb(e,'Date created:',eC(new cC(),b0(b.c)));if(b.g){ecb(e,'Snapshot created on:',eC(new cC(),b0(b.i)));ecb(e,'Snapshot comment:',eC(new cC(),b.b));h=vBb(b);d=mz(new pw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");ecb(e,'Download package:',d);ecb(e,'Package URI:',eC(new cC(),h));i=yp(new sp(),'View package source');i.z(hGb(new gGb(),this,b));ecb(e,'Show package source:',i);}if(!b.g){hcb(e,mz(new pw(),'<i>Choose one of the options below<\/i>'));}f=lGb(new kGb(),this);a=vGb(new uGb(),this);AH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){AH(g,uEb(new xBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);AH(g,oBb(new uzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{AH(!
 g,uEb(new xBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.De('100%');Cab(this.a.d,0,1,g);tdb();}
+function cGb(){}
+_=cGb.prototype=new wcb();_.rd=fGb;_.tN=ogc+'PackageExplorerWidget$17';_.tI=412;function hGb(b,a,c){b.a=c;return b;}
+function jGb(a){uBb(this.a.m,this.a.j);}
+function gGb(){}
+_=gGb.prototype=new gU();_.Bc=jGb;_.tN=ogc+'PackageExplorerWidget$18';_.tI=413;function lGb(b,a){b.a=a;return b;}
+function nGb(a){sab(a.a.a);}
+function oGb(){nGb(this);}
+function kGb(){}
+_=kGb.prototype=new gU();_.rb=oGb;_.tN=ogc+'PackageExplorerWidget$19';_.tI=414;function EGb(c){var a,b;a=Fb(c.k,90);b=a.a;xdb('Please wait...');fg(b);}
+function FGb(a){}
+function tGb(){}
+_=tGb.prototype=new gU();_.td=EGb;_.ud=FGb;_.tN=ogc+'PackageExplorerWidget$2';_.tI=415;function vGb(b,a){b.a=a;return b;}
+function xGb(a){tab(a.a.a);}
+function yGb(){xGb(this);}
+function uGb(){}
+_=uGb.prototype=new gU();_.rb=yGb;_.tN=ogc+'PackageExplorerWidget$20';_.tI=416;function AGb(b,a){b.a=a;return b;}
+function CGb(a){pIb(this.a.b,a);}
+function zGb(){}
+_=zGb.prototype=new gU();_.yd=CGb;_.tN=ogc+'PackageExplorerWidget$21';_.tI=417;function bHb(b,a){b.a=a;return b;}
+function dHb(a){kIb(this.a,a);}
+function aHb(){}
+_=aHb.prototype=new gU();_.Bc=dHb;_.tN=ogc+'PackageExplorerWidget$3';_.tI=418;function fHb(b,a){b.a=a;return b;}
+function hHb(a){fIb(this.a,'jar','Create a new model archive');}
+function eHb(){}
+_=eHb.prototype=new gU();_.Bc=hHb;_.tN=ogc+'PackageExplorerWidget$4';_.tI=419;function jHb(b,a){b.a=a;return b;}
+function lHb(d){var a,b,c;a=70;c=100;b=x7b(new h7b(),nHb(new mHb(),this),true,null,'Create a new rule asset',this.a.a);tE(b,dc((uab()-oE(b))/2),100);wE(b);}
+function iHb(){}
+_=iHb.prototype=new gU();_.Bc=lHb;_.tN=ogc+'PackageExplorerWidget$5';_.tI=420;function nHb(b,a){b.a=a;return b;}
+function pHb(a){pIb(this.a.a.b,a);}
+function mHb(){}
+_=mHb.prototype=new gU();_.yd=pHb;_.tN=ogc+'PackageExplorerWidget$6';_.tI=421;function rHb(b,a){b.a=a;return b;}
+function tHb(a){fIb(this.a,'function','Create a new function');}
+function qHb(){}
+_=qHb.prototype=new gU();_.Bc=tHb;_.tN=ogc+'PackageExplorerWidget$7';_.tI=422;function vHb(b,a){b.a=a;return b;}
+function xHb(a){fIb(this.a,'dsl','Create a new language configuration');}
+function uHb(){}
+_=uHb.prototype=new gU();_.Bc=xHb;_.tN=ogc+'PackageExplorerWidget$8';_.tI=423;function zHb(b,a){b.a=a;return b;}
+function BHb(a){fIb(this.a,'rf','Create a new ruleflow');}
+function yHb(){}
+_=yHb.prototype=new gU();_.Bc=BHb;_.tN=ogc+'PackageExplorerWidget$9';_.tI=424;function DHb(b,a){b.a=a;return b;}
+function CHb(){}
+_=CHb.prototype=new gU();_.tN=ogc+'PackageExplorerWidget$PackageTreeItem';_.tI=425;_.a=null;function rIb(a){a.a=(oZ(),pZ);}
+function sIb(a){tIb(a,null,null);return a;}
+function tIb(e,c,d){var a,b;rIb(e);e.b=AJ(new mJ());e.b.De('100%');e.b.se('30%');a=nIb(new mIb(),e,d);b=null;if(c===null){b=aIb(new cFb(),a);}else{b=bIb(new cFb(),a,c,d);}BJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);bK(e.b,0);or(e,e.b);return e;}
+function vIb(b,a){b.a=a;}
+function lIb(){}
+_=lIb.prototype=new mr();_.tN=ogc+'PackageManagerView';_.tI=426;_.b=null;function nIb(b,a,c){b.a=a;b.b=c;return b;}
+function pIb(b,a){d5b(b.a.a,b.a.b,a,b.b!==null);}
+function qIb(a){pIb(this,a);}
+function mIb(){}
+_=mIb.prototype=new gU();_.yd=qIb;_.tN=ogc+'PackageManagerView$1';_.tI=427;function oKb(b){var a,c;b.a=tt(new nt());b.c=AJ(new mJ());b.c.De('100%');b.c.se('100%');c=pO(new nO());qO(c,b.a);a=yp(new sp(),'Rebuild snapshot binaries');a.ve('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.z(new xIb());qO(c,a);BJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);jx(b.a.n,0,0,'28%');b.b=nMb();wKb(b);b.a.De('100%');or(b,b.c);bK(b.c,0);return b;}
+function pKb(h,c){var a,b,d,e,f,g;g=rM(new eL());d=pO(new nO());for(a=0;a<c.a;a++){e=c[a].j;b=uKb(h,e,'images/package_snapshot.gif',xJb(new wJb(),h,e));tM(g,b);}qO(d,g);f=mz(new pw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");fC(f,BJb(new AJb(),h));vM(g,new EJb());uO(d,(Fz(),cA));tO(d,(wz(),yz));qO(d,f);CN(d,'snapshot-List');h.a.Be(0,0,d);hx(h.a.n,0,0,(Fz(),cA));}
+function rKb(g,e,f){var a,b,c,d;c=scb(new ncb(),'images/snapshot.png','Copy snapshot '+f);a=bL(new sK());tcb(c,'New label:',a);d=yp(new sp(),'OK');tcb(c,'',d);d.z(hKb(new gKb(),g,e,f,a,c));b=yp(new sp(),'Copy');b.z(zIb(new yIb(),g,c));return b;}
+function sKb(d,c,b){var a;a=yp(new sp(),'Delete');a.z(bJb(new aJb(),d,c,b));return a;}
+function tKb(d,b,c,e){var a;a=yp(new sp(),'Open');a.z(DIb(new CIb(),d,b,c,e));return a;}
+function uKb(e,d,b,a){var c;c=wL(new uL());EL(c,'<img src="'+b+'">'+d+'<\/a>');eM(c,a);return c;}
+function vKb(g,e,f,h){var a,b,c,d,i;i=tt(new nt());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=hA(new fA());iA(c,mz(new pw(),d));a=Dcb(new Ccb(),'images/close.gif');a.ve('Close this view');nB(a,jJb(new iJb(),g));iA(c,a);i.Be(0,0,c);b=wt(i);gx(b,0,0,'editable-Surface');i.Be(1,0,tIb(new lIb(),h,f));i.De('100%');i.se('100%');if(g.c.a.f.c>1){aK(g.c,1);}BJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);bK(g.c,1);}
+function wKb(a){xdb('Loading package list...');dUb(a.b,tJb(new sJb(),a));}
+function xKb(h,d,b){var a,c,e,f,g;e=dcb(new acb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=tt(new nt());az(g,0,1,'Name');az(g,0,2,'Comment');tx(g.p,0,xfc);for(a=0;a<b.a;a++){f=a+1;c=eC(new cC(),b[a].b);g.Be(f,0,mB(new wA(),'images/package_snapshot_item.gif'));g.Be(f,1,c);g.Be(f,2,eC(new cC(),b[a].a));g.Be(f,3,tKb(h,d,iC(c),b[a].c));g.Be(f,4,rKb(h,d,iC(c)));g.Be(f,5,sKb(h,iC(c),d));if(a%2==0){tx(g.p,a+1,vfc);}}e.De('100%');hcb(e,g);g.De('100%');CN(e,wfc);h.a.Be(0,1,e);hx(wt(h.a),0,1,(Fz(),cA));}
+function yKb(b,a){xdb('Loading snapshots...');eUb(b.b,a,dKb(new cKb(),b,a));}
+function wIb(){}
+_=wIb.prototype=new mr();_.tN=ogc+'PackageSnapshotView';_.tI=428;_.a=null;_.b=null;_.c=null;function nJb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){xdb('Rebuilding snapshots. Please wait, this may take some time...');pUb(nMb(),new oJb());}}
+function xIb(){}
+_=xIb.prototype=new gU();_.Bc=nJb;_.tN=ogc+'PackageSnapshotView$1';_.tI=429;function zIb(b,a,c){b.a=c;return b;}
+function BIb(a){tE(this.a,dc((uab()-oE(this.a))/2),100);wE(this.a);}
+function yIb(){}
+_=yIb.prototype=new gU();_.Bc=BIb;_.tN=ogc+'PackageSnapshotView$10';_.tI=430;function DIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
+function FIb(a){vKb(this.a,this.b,this.c,this.d);}
+function CIb(){}
+_=CIb.prototype=new gU();_.Bc=FIb;_.tN=ogc+'PackageSnapshotView$11';_.tI=431;function bJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function dJb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{ATb(this.a.b,this.b,this.c,true,null,fJb(new eJb(),this,this.b));}}
+function aJb(){}
+_=aJb.prototype=new gU();_.Bc=dJb;_.tN=ogc+'PackageSnapshotView$12';_.tI=432;function fJb(b,a,c){b.a=a;b.b=c;return b;}
+function hJb(a){yKb(this.a.a,this.b);}
+function eJb(){}
+_=eJb.prototype=new wcb();_.rd=hJb;_.tN=ogc+'PackageSnapshotView$13';_.tI=433;function jJb(b,a){b.a=a;return b;}
+function lJb(a){aK(this.a.c,1);bK(this.a.c,0);}
+function iJb(){}
+_=iJb.prototype=new gU();_.Bc=lJb;_.tN=ogc+'PackageSnapshotView$14';_.tI=434;function qJb(b,a){tdb();zh('Snapshots were rebuilt successfully.');}
+function rJb(a){qJb(this,a);}
+function oJb(){}
+_=oJb.prototype=new wcb();_.rd=rJb;_.tN=ogc+'PackageSnapshotView$2';_.tI=435;function tJb(b,a){b.a=a;return b;}
+function vJb(a){var b;b=Fb(a,71);pKb(this.a,b);tdb();}
+function sJb(){}
+_=sJb.prototype=new wcb();_.rd=vJb;_.tN=ogc+'PackageSnapshotView$3';_.tI=436;function xJb(b,a,c){b.a=a;b.b=c;return b;}
+function zJb(){yKb(this.a,this.b);}
+function wJb(){}
+_=wJb.prototype=new gU();_.rb=zJb;_.tN=ogc+'PackageSnapshotView$4';_.tI=437;function BJb(b,a){b.a=a;return b;}
+function DJb(a){wKb(this.a);}
+function AJb(){}
+_=AJb.prototype=new gU();_.Bc=DJb;_.tN=ogc+'PackageSnapshotView$5';_.tI=438;function aKb(a){fg(Fb(a.k,4));}
+function bKb(a){}
+function EJb(){}
+_=EJb.prototype=new gU();_.td=aKb;_.ud=bKb;_.tN=ogc+'PackageSnapshotView$6';_.tI=439;function dKb(b,a,c){b.a=a;b.b=c;return b;}
+function fKb(a){var b;b=Fb(a,86);xKb(this.a,this.b,b);tdb();}
+function cKb(){}
+_=cKb.prototype=new wcb();_.rd=fKb;_.tN=ogc+'PackageSnapshotView$7';_.tI=440;function hKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
+function jKb(a){ATb(this.a.b,this.d,this.e,false,zK(this.b),lKb(new kKb(),this,this.d,this.c));}
+function gKb(){}
+_=gKb.prototype=new gU();_.Bc=jKb;_.tN=ogc+'PackageSnapshotView$8';_.tI=441;function lKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function nKb(a){yKb(this.a.a,this.c);this.b.nc();}
+function kKb(){}
+_=kKb.prototype=new wcb();_.rd=nKb;_.tN=ogc+'PackageSnapshotView$9';_.tI=442;function bLb(){bLb=e3;gLb=aLb(new zKb());}
+function FKb(a){a.a=l1(new p0());}
+function aLb(a){bLb();FKb(a);return a;}
+function cLb(c,b,a){if(!o1(c.a,b)){eLb(c,b,a);}else{w4b(a);}}
+function dLb(c,b){var a;a=Fb(r1(c.a,b),91);if(a===null){ybb('Unable to get content assistance for this rule.');return null;}return a;}
+function eLb(c,b,a){zV(),CV;mUb(nMb(),b,BKb(new AKb(),c,b,a));}
+function fLb(c,b,a){if(o1(c.a,b)){t1(c.a,b);eLb(c,b,a);}else{a.rb();}}
+function zKb(){}
+_=zKb.prototype=new gU();_.tN=ogc+'SuggestionCompletionCache';_.tI=443;var gLb;function BKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function DKb(c,a){var b;b=Fb(a,91);s1(c.a.a,c.c,b);c.b.rb();}
+function EKb(a){DKb(this,a);}
+function AKb(){}
+_=AKb.prototype=new wcb();_.rd=EKb;_.tN=ogc+'SuggestionCompletionCache$1';_.tI=444;function nLb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
+function hLb(){}
+_=hLb.prototype=new gU();_.tS=nLb;_.tN=pgc+'BuilderResult';_.tI=445;_.a=null;_.b=null;_.c=null;_.d=null;function lLb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();a.d=b.ae();}
+function mLb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);b.jf(a.d);}
+function oLb(){}
+_=oLb.prototype=new nl();_.tN=pgc+'DetailedSerializableException';_.tI=446;_.a=null;function sLb(b,a){vLb(a,b.ae());rl(b,a);}
+function tLb(a){return a.a;}
+function uLb(b,a){b.jf(tLb(a));tl(b,a);}
+function vLb(a,b){a.a=b;}
+function xLb(a){a.a=yb('[Ljava.lang.String;',[609],[1],[0],null);}
+function yLb(a){xLb(a);return a;}
+function zLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(FU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[609],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function BLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[609],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function wLb(){}
+_=wLb.prototype=new gU();_.tN=pgc+'MetaData';_.tI=447;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function ELb(b,a){a.a=Fb(b.Fd(),63);a.b=b.ae();a.c=b.ae();a.d=Fb(b.Fd(),59);a.e=b.ae();a.f=Fb(b.Fd(),59);a.g=Fb(b.Fd(),59);a.h=b.ae();a.i=b.ae();a.j=b.ae();a.k=b.ae();a.l=b.ae();a.m=Fb(b.Fd(),59);a.n=b.ae();a.o=b.ae();a.p=b.ae();a.q=b.ae();a.r=b.ae();a.s=b.ae();a.t=b.ae();a.u=b.ae();a.v=b.Ed();}
+function FLb(b,a){b.hf(a.a);b.jf(a.b);b.jf(a.c);b.hf(a.d);b.jf(a.e);b.hf(a.f);b.hf(a.g);b.jf(a.h);b.jf(a.i);b.jf(a.j);b.jf(a.k);b.jf(a.l);b.hf(a.m);b.jf(a.n);b.jf(a.o);b.jf(a.p);b.jf(a.q);b.jf(a.r);b.jf(a.s);b.jf(a.t);b.jf(a.u);b.gf(a.v);}
+function aMb(){}
+_=aMb.prototype=new gU();_.tN=pgc+'PackageConfigData';_.tI=448;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function eMb(b,a){a.a=b.Bd();a.b=b.ae();a.c=Fb(b.Fd(),59);a.d=b.ae();a.e=b.ae();a.f=b.ae();a.g=b.Bd();a.h=b.ae();a.i=Fb(b.Fd(),59);a.j=b.ae();a.k=b.ae();a.l=b.ae();a.m=b.ae();}
+function fMb(b,a){b.df(a.a);b.jf(a.b);b.hf(a.c);b.jf(a.d);b.jf(a.e);b.jf(a.f);b.df(a.g);b.jf(a.h);b.hf(a.i);b.jf(a.j);b.jf(a.k);b.jf(a.l);b.jf(a.m);}
+function lMb(){var a,b,c;c=kSb(new qMb());a=c;b=v()+'jbrmsService';wUb(a,b);return c;}
+function mMb(){var a,b,c;c=yXb(new nXb());a=c;b=v()+'jbrmsService';EXb(a,b);return c;}
+function nMb(){if(kMb===null){oMb();}return kMb;}
+function oMb(){if(jMb)kMb=null;else kMb=lMb();}
+function pMb(d,b,a){var c;c=mMb();DXb(c,d,b,a);}
+var jMb=false,kMb=null;function yTb(){yTb=e3;xUb=zUb(new yUb());}
+function kSb(a){yTb();return a;}
+function lSb(b,a,c,d){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'archiveAsset');tn(a,2);vn(a,'java.lang.String');vn(a,'Z');vn(a,c);sn(a,d);}
+function nSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildAsset');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
+function mSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildAssetSource');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
+function pSb(d,c,a,b){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'buildPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,a);vn(c,b);}
+function oSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildPackageSource');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function qSb(d,c,e,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'changeAssetPackage');tn(c,3);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,e);vn(c,b);vn(c,a);}
+function rSb(c,b,d,a,e){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'changeState');tn(b,3);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,'Z');vn(b,d);vn(b,a);sn(b,e);}
+function sSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'checkinVersion');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
+function tSb(e,d,a,c,b){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'copyAsset');tn(d,3);vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,a);vn(d,c);vn(d,b);}
+function uSb(f,e,c,d,a,b){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'copyOrRemoveSnapshot');tn(e,4);vn(e,'java.lang.String');vn(e,'java.lang.String');vn(e,'Z');vn(e,'java.lang.String');vn(e,c);vn(e,d);sn(e,a);vn(e,b);}
+function vSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'copyPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
+function wSb(e,d,c,b,a){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'createCategory');tn(d,3);vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,c);vn(d,b);vn(d,a);}
+function xSb(g,f,e,a,c,d,b){if(g.a===null)throw Cl(new Bl());zo(f);vn(f,'org.drools.brms.client.rpc.RepositoryService');vn(f,'createNewRule');tn(f,5);vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,e);vn(f,a);vn(f,c);vn(f,d);vn(f,b);}
+function zSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'createPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
+function ySb(f,e,b,d,c,a){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'createPackageSnapshot');tn(e,4);vn(e,'java.lang.String');vn(e,'java.lang.String');vn(e,'Z');vn(e,'java.lang.String');vn(e,b);vn(e,d);sn(e,c);vn(e,a);}
+function ASb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'createState');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function BSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'deleteUncheckedRule');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
+function CSb(f,e,c,a,b,d){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'listAssets');tn(e,4);vn(e,'java.lang.String');vn(e,'[Ljava.lang.String;');vn(e,'I');vn(e,'I');vn(e,c);un(e,a);tn(e,b);tn(e,d);}
+function DSb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'listPackages');tn(a,0);}
+function ESb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'listSnapshots');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function FSb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'listStates');tn(a,0);}
+function aTb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadArchivedAssets');tn(a,0);}
+function bTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadAssetHistory');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
+function cTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadChildCategories');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function dTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadPackageConfig');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
+function eTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadRuleAsset');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function fTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadRuleListForCategories');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function gTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadSuggestionCompletionEngine');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function hTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadTableConfig');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function iTb(e,d,c,a,b){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'quickFindAsset');tn(d,3);vn(d,'java.lang.String');vn(d,'I');vn(d,'Z');vn(d,c);tn(d,a);sn(d,b);}
+function jTb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'rebuildSnapshots');tn(a,0);}
+function kTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'removeAsset');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
+function lTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'removeCategory');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function mTb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'renameAsset');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
+function nTb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'renamePackage');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
+function oTb(d,c,e,a,b){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'restoreVersion');tn(c,3);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,e);vn(c,a);vn(c,b);}
+function pTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'savePackage');tn(b,1);vn(b,'org.drools.brms.client.rpc.PackageConfigData');un(b,a);}
+function qTb(h,i,j,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=FNb(new rMb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=wPb(new dOb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=nRb(new APb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uTb(j,f,g,c){var a,d,e,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=sRb(new rRb(),j,h,c);if(!wg(j.a,Co(i),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tTb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=xRb(new wRb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vTb(j,k,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=CRb(new BRb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wTb(i,j,f,k,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=bSb(new aSb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function xTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=gSb(new fSb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function zTb(k,c,h,g,d){var a,e,f,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=tMb(new sMb(),k,i,d);if(!wg(k.a,Co(j),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ATb(l,h,i,d,g,c){var a,e,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=yMb(new xMb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function BTb(j,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=DMb(new CMb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CTb(k,h,g,d,c){var a,e,f,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=cNb(new bNb(),k,i,c);if(!wg(k.a,Co(j),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=bo(new ao(),xUb);l=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}g=hNb(new gNb(),m,k,c);if(!wg(m.a,Co(l),g))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FTb(j,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=mNb(new lNb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ETb(l,g,i,h,d,c){var a,e,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=rNb(new qNb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=wNb(new vNb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bUb(j,g,f,c){var a,d,e,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=BNb(new ANb(),j,h,c);if(!wg(j.a,Co(i),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cUb(l,h,e,g,i,c){var a,d,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}f=fOb(new eOb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=kOb(new jOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=pOb(new oOb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=uOb(new tOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=zOb(new yOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=EOb(new DOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function iUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=dPb(new cPb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function jUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=iPb(new hPb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function kUb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eTb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=nPb(new mPb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=sPb(new rPb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=CPb(new BPb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function nUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=bQb(new aQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oUb(k,h,f,g,c){var a,d,e,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iTb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=gQb(new fQb(),k,i,c);if(!wg(k.a,Co(j),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=lQb(new kQb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=qQb(new pQb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=vQb(new uQb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sUb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=AQb(new zQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tUb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=FQb(new EQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uUb(j,k,c,e,d){var a,f,g,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oTb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;ycb(d,f);return;}else throw a;}g=eRb(new dRb(),j,h,d);if(!wg(j.a,Co(i),g))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=jRb(new iRb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wUb(b,a){b.a=a;}
+function qMb(){}
+_=qMb.prototype=new gU();_.tN=pgc+'RepositoryService_Proxy';_.tI=449;_.a=null;var xUb;function FNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function bOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g7(g.a,f);else ycb(g.a,c);}
+function cOb(a){var b;b=x;bOb(this,a);}
+function rMb(){}
+_=rMb.prototype=new gU();_.Cc=cOb;_.tN=pgc+'RepositoryService_Proxy$1';_.tI=450;function tMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)E0b(g.a,f);else ycb(g.a,c);}
+function wMb(a){var b;b=x;vMb(this,a);}
+function sMb(){}
+_=sMb.prototype=new gU();_.Cc=wMb;_.tN=pgc+'RepositoryService_Proxy$10';_.tI=451;function yMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function AMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function BMb(a){var b;b=x;AMb(this,a);}
+function xMb(){}
+_=xMb.prototype=new gU();_.Cc=BMb;_.tN=pgc+'RepositoryService_Proxy$11';_.tI=452;function DMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)aCb(g.a,f);else ycb(g.a,c);}
+function aNb(a){var b;b=x;FMb(this,a);}
+function CMb(){}
+_=CMb.prototype=new gU();_.Cc=aNb;_.tN=pgc+'RepositoryService_Proxy$12';_.tI=453;function cNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function eNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)l$(g.a,f);else ycb(g.a,c);}
+function fNb(a){var b;b=x;eNb(this,a);}
+function bNb(){}
+_=bNb.prototype=new gU();_.Cc=fNb;_.tN=pgc+'RepositoryService_Proxy$13';_.tI=454;function hNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t7b(g.a,f);else ycb(g.a,c);}
+function kNb(a){var b;b=x;jNb(this,a);}
+function gNb(){}
+_=gNb.prototype=new gU();_.Cc=kNb;_.tN=pgc+'RepositoryService_Proxy$14';_.tI=455;function mNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)ezb(g.a,f);else ycb(g.a,c);}
+function pNb(a){var b;b=x;oNb(this,a);}
+function lNb(){}
+_=lNb.prototype=new gU();_.Cc=pNb;_.tN=pgc+'RepositoryService_Proxy$15';_.tI=456;function rNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function tNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)fAb(g.a,f);else ycb(g.a,c);}
+function uNb(a){var b;b=x;tNb(this,a);}
+function qNb(){}
+_=qNb.prototype=new gU();_.Cc=uNb;_.tN=pgc+'RepositoryService_Proxy$16';_.tI=457;function wNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)y9(g.a,f);else ycb(g.a,c);}
+function zNb(a){var b;b=x;yNb(this,a);}
+function vNb(){}
+_=vNb.prototype=new gU();_.Cc=zNb;_.tN=pgc+'RepositoryService_Proxy$17';_.tI=458;function BNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u$b(g.a,f);else ycb(g.a,c);}
+function ENb(a){var b;b=x;DNb(this,a);}
+function ANb(){}
+_=ANb.prototype=new gU();_.Cc=ENb;_.tN=pgc+'RepositoryService_Proxy$18';_.tI=459;function wPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x8b(g.a,f);else ycb(g.a,c);}
+function zPb(a){var b;b=x;yPb(this,a);}
+function dOb(){}
+_=dOb.prototype=new gU();_.Cc=zPb;_.tN=pgc+'RepositoryService_Proxy$2';_.tI=460;function fOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)CFb(g.a,f);else ycb(g.a,c);}
+function iOb(a){var b;b=x;hOb(this,a);}
+function eOb(){}
+_=eOb.prototype=new gU();_.Cc=iOb;_.tN=pgc+'RepositoryService_Proxy$20';_.tI=461;function kOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function nOb(a){var b;b=x;mOb(this,a);}
+function jOb(){}
+_=jOb.prototype=new gU();_.Cc=nOb;_.tN=pgc+'RepositoryService_Proxy$21';_.tI=462;function pOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function sOb(a){var b;b=x;rOb(this,a);}
+function oOb(){}
+_=oOb.prototype=new gU();_.Cc=sOb;_.tN=pgc+'RepositoryService_Proxy$22';_.tI=463;function uOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function xOb(a){var b;b=x;wOb(this,a);}
+function tOb(){}
+_=tOb.prototype=new gU();_.Cc=xOb;_.tN=pgc+'RepositoryService_Proxy$23';_.tI=464;function zOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function BOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u7(g.a,f);else ycb(g.a,c);}
+function COb(a){var b;b=x;BOb(this,a);}
+function yOb(){}
+_=yOb.prototype=new gU();_.Cc=COb;_.tN=pgc+'RepositoryService_Proxy$24';_.tI=465;function EOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)v_b(g.a,f);else ycb(g.a,c);}
+function bPb(a){var b;b=x;aPb(this,a);}
+function DOb(){}
+_=DOb.prototype=new gU();_.Cc=bPb;_.tN=pgc+'RepositoryService_Proxy$25';_.tI=466;function dPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function gPb(a){var b;b=x;fPb(this,a);}
+function cPb(){}
+_=cPb.prototype=new gU();_.Cc=gPb;_.tN=pgc+'RepositoryService_Proxy$26';_.tI=467;function iPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function kPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function lPb(a){var b;b=x;kPb(this,a);}
+function hPb(){}
+_=hPb.prototype=new gU();_.Cc=lPb;_.tN=pgc+'RepositoryService_Proxy$27';_.tI=468;function nPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function qPb(a){var b;b=x;pPb(this,a);}
+function mPb(){}
+_=mPb.prototype=new gU();_.Cc=qPb;_.tN=pgc+'RepositoryService_Proxy$28';_.tI=469;function sPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)acc(g.a,f);else ycb(g.a,c);}
+function vPb(a){var b;b=x;uPb(this,a);}
+function rPb(){}
+_=rPb.prototype=new gU();_.Cc=vPb;_.tN=pgc+'RepositoryService_Proxy$29';_.tI=470;function nRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)C8b(g.a,f);else ycb(g.a,c);}
+function qRb(a){var b;b=x;pRb(this,a);}
+function APb(){}
+_=APb.prototype=new gU();_.Cc=qRb;_.tN=pgc+'RepositoryService_Proxy$3';_.tI=471;function CPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function EPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)DKb(g.a,f);else ycb(g.a,c);}
+function FPb(a){var b;b=x;EPb(this,a);}
+function BPb(){}
+_=BPb.prototype=new gU();_.Cc=FPb;_.tN=pgc+'RepositoryService_Proxy$30';_.tI=472;function bQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wcc(g.a,f);else ycb(g.a,c);}
+function eQb(a){var b;b=x;dQb(this,a);}
+function aQb(){}
+_=aQb.prototype=new gU();_.Cc=eQb;_.tN=pgc+'RepositoryService_Proxy$31';_.tI=473;function gQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function jQb(a){var b;b=x;iQb(this,a);}
+function fQb(){}
+_=fQb.prototype=new gU();_.Cc=jQb;_.tN=pgc+'RepositoryService_Proxy$32';_.tI=474;function lQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)qJb(g.a,f);else ycb(g.a,c);}
+function oQb(a){var b;b=x;nQb(this,a);}
+function kQb(){}
+_=kQb.prototype=new gU();_.Cc=oQb;_.tN=pgc+'RepositoryService_Proxy$33';_.tI=475;function qQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)p7(g.a,f);else ycb(g.a,c);}
+function tQb(a){var b;b=x;sQb(this,a);}
+function pQb(){}
+_=pQb.prototype=new gU();_.Cc=tQb;_.tN=pgc+'RepositoryService_Proxy$34';_.tI=476;function vQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g9(g.a,f);else ycb(g.a,c);}
+function yQb(a){var b;b=x;xQb(this,a);}
+function uQb(){}
+_=uQb.prototype=new gU();_.Cc=yQb;_.tN=pgc+'RepositoryService_Proxy$35';_.tI=477;function AQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function CQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u6b(g.a,f);else ycb(g.a,c);}
+function DQb(a){var b;b=x;CQb(this,a);}
+function zQb(){}
+_=zQb.prototype=new gU();_.Cc=DQb;_.tN=pgc+'RepositoryService_Proxy$36';_.tI=478;function FQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function bRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)sEb(g.a,f);else ycb(g.a,c);}
+function cRb(a){var b;b=x;bRb(this,a);}
+function EQb(){}
+_=EQb.prototype=new gU();_.Cc=cRb;_.tN=pgc+'RepositoryService_Proxy$37';_.tI=479;function eRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Eac(g.a,f);else ycb(g.a,c);}
+function hRb(a){var b;b=x;gRb(this,a);}
+function dRb(){}
+_=dRb.prototype=new gU();_.Cc=hRb;_.tN=pgc+'RepositoryService_Proxy$38';_.tI=480;function jRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function lRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)fCb(g.a,f);else ycb(g.a,c);}
+function mRb(a){var b;b=x;lRb(this,a);}
+function iRb(){}
+_=iRb.prototype=new gU();_.Cc=mRb;_.tN=pgc+'RepositoryService_Proxy$39';_.tI=481;function sRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eBb(g.a,f);else ycb(g.a,c);}
+function vRb(a){var b;b=x;uRb(this,a);}
+function rRb(){}
+_=rRb.prototype=new gU();_.Cc=vRb;_.tN=pgc+'RepositoryService_Proxy$4';_.tI=482;function xRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vAb(g.a,f);else ycb(g.a,c);}
+function ARb(a){var b;b=x;zRb(this,a);}
+function wRb(){}
+_=wRb.prototype=new gU();_.Cc=ARb;_.tN=pgc+'RepositoryService_Proxy$5';_.tI=483;function CRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function ERb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)m5b(g.a,f);else ycb(g.a,c);}
+function FRb(a){var b;b=x;ERb(this,a);}
+function BRb(){}
+_=BRb.prototype=new gU();_.Cc=FRb;_.tN=pgc+'RepositoryService_Proxy$6';_.tI=484;function bSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dSb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)yeb(g.a,f);else ycb(g.a,c);}
+function eSb(a){var b;b=x;dSb(this,a);}
+function aSb(){}
+_=aSb.prototype=new gU();_.Cc=eSb;_.tN=pgc+'RepositoryService_Proxy$7';_.tI=485;function gSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iSb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)z$b(g.a,f);else ycb(g.a,c);}
+function jSb(a){var b;b=x;iSb(this,a);}
+function fSb(){}
+_=fSb.prototype=new gU();_.Cc=jSb;_.tN=pgc+'RepositoryService_Proxy$8';_.tI=486;function AUb(){AUb=e3;CWb=BUb();FWb=CUb();}
+function zUb(a){AUb();return a;}
+function BUb(){AUb();return {'[B/2233087514':[function(a){return DUb(a);},function(a,b){pm(a,b);},function(a,b){qm(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return EUb(a);},function(a,b){gl(a,b);},function(a,b){hl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return FUb(a);},function(a,b){rl(a,b);},function(a,b){tl(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return eVb(a);},function(a,b){vD(a,b);},function(a,b){yD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return fVb(a);},function(a,b){nI(a,b);},function(a,b){qI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return gVb(a);},function(a,b){vI(a,b);},function(a,b){xI(a,b);}],'java.lang.Boolean/476441737':[function(a){return cm(a);},function(a,b){bm(a,b);},function(a,b){dm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return lm(a);},function(a,b){km(a,b);},function(a,b){mm(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return hVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return aVb(a);},function(a,b){tm(a,b);},function(a,b){um(a,b);}],'java.util.Date/1659716317':[function(a){return ym(a);},function(a,b){xm(a,b);},function(a,b){zm(a,b);}],'java.util.HashMap/962170901':[function(a){return bVb(a);},function(a,b){Cm(a,b);},function(a,b){Dm(a,b);}],'java.util.HashSet/1594477813':[function(a){return cVb(a);},function(a,b){an(a,b);},function(a,b){bn(a,b);}],'java.util.Vector/3125574444':[function(a){return dVb(a);},function(a,b){en(a,b);},function(a,b){fn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return iVb(a);},function(a,b){ygb(a,b);},function(a,b){zgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return jVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return lVb(a);},function(a,b){rhb(a,b);},function(a,b){shb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return kVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return nVb(a);},function(a,b){zhb(a,b);},function(a,b){Ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return mVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return pVb(a);},function(a,b){bib(a,b);},function(a,b){cib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return oVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn rVb(a);},function(a,b){iib(a,b);},function(a,b){jib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return qVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return tVb(a);},function(a,b){qib(a,b);},function(a,b){rib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return sVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return vVb(a);},function(a,b){yib(a,b);},function(a,b){zib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return uVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return xVb(a);},function(a,b){ajb(a,b);},function(a,b){bjb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn wVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return zVb(a);},function(a,b){ijb(a,b);},function(a,b){jjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return yVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return BVb(a);},function(a,b){ojb(a,b);},function(a,b){pjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return AVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return DVb(a);},function(a,b){wjb(a,b);},function(a,b){xjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return CVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return FVb(a);},function(a,b){ckb(a,b);},function(a,b){dkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return EVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return aWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return bWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return cWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return dWb(a);},function(a,b){lkb(a,b);},function(a,b){mkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return fWb(a);},function(a,b){tkb(a,b);},function(a,b!
 ){ukb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return eWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return gWb(a);},function(a,b){ilb(a,b);},function(a,b){jlb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return iWb(a);},function(a,b){rlb(a,b);},function(a,b){slb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return hWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return kWb(a);},function(a,b){lLb(a,b);},function(a,b){mLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return jWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return lWb(a);},function(a,b){sLb(a,b);},function(a,b){uLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return mWb(a);},function(a,b){ELb(a,b);},function(a,b){FLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return oWb(a);},function(a,b){eMb(a,b);},function(a,b){fMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return nWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return pWb(a);},function(a,b){eXb(a,b);},function(a,b){fXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return qWb(a);},function(a,b){kXb(a,b);},function(a,b){lXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return rWb(a);},function(a,b){rYb(a,b);},function(a,b){sYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return tWb(a);},function(a,b){xYb(a,b);},function(a,b){yYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn sWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return uWb(a);},function(a,b){DYb(a,b);},function(a,b){EYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return vWb(a);},function(a,b){dZb(a,b);},function(a,b){eZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return xWb(a);},function(a,b){jZb(a,b);},function(a,b){kZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return wWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return yWb(a);},function(a,b){qZb(a,b);},function(a,b){rZb(a,b);}]};}
+function CUb(){AUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
+function DUb(b){AUb();var a;a=b.Dd();return yb('[B',[615],[(-1)],[a],0);}
+function EUb(a){AUb();return cl(new bl());}
+function FUb(a){AUb();return new nl();}
+function aVb(a){AUb();return oY(new mY());}
+function bVb(a){AUb();return l1(new p0());}
+function cVb(a){AUb();return f2(new e2());}
+function dVb(a){AUb();return y2(new x2());}
+function eVb(a){AUb();return new rD();}
+function fVb(a){AUb();return new gI();}
+function gVb(a){AUb();return new iI();}
+function hVb(b){AUb();var a;a=b.Dd();return yb('[Ljava.lang.String;',[609],[1],[a],null);}
+function iVb(a){AUb();return jgb(new hgb());}
+function jVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[624],[22],[a],null);}
+function kVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[625],[23],[a],null);}
+function lVb(a){AUb();return new mhb();}
+function mVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[626],[24],[a],null);}
+function nVb(a){AUb();return uhb(new thb());}
+function oVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[627],[25],[a],null);}
+function pVb(a){AUb();return Chb(new Bhb());}
+function qVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[628],[26],[a],null);}
+function rVb(a){AUb();return new dib();}
+function sVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[629],[27],[a],null);}
+function tVb(a){AUb();return lib(new kib());}
+function uVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[630],[28],[a],null);}
+function vVb(a){AUb();return tib(new sib());}
+function wVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[631],[29],[a],null);}
+function xVb(a){AUb();return new Aib();}
+function yVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[632],[30],[a],null);}
+function zVb(a){AUb();return new cjb();}
+function AVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[617],[15],[a],null);}
+function BVb(a){AUb();return new kjb();}
+function CVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[10],[a],null);}
+function DVb(a){AUb();return new qjb();}
+function EVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[633],[31],[a],null);}
+function FVb(a){AUb();return new zjb();}
+function aWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[623],[21],[a],null);}
+function bWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[622],[20],[a],null);}
+function cWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[621],[19],[a],null);}
+function dWb(a){AUb();return new hkb();}
+function eWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[620],[18],[a],null);}
+function fWb(a){AUb();return new okb();}
+function gWb(a){AUb();return ykb(new wkb());}
+function hWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[634],[32],[a],null);}
+function iWb(a){AUb();return new klb();}
+function jWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[613],[12],[a],null);}
+function kWb(a){AUb();return new hLb();}
+function lWb(a){AUb();return new oLb();}
+function mWb(a){AUb();return yLb(new wLb());}
+function nWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[618],[16],[a],null);}
+function oWb(a){AUb();return new aMb();}
+function pWb(a){AUb();return new aXb();}
+function qWb(a){AUb();return new gXb();}
+function rWb(a){AUb();return new nYb();}
+function sWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[619],[17],[a],null);}
+function tWb(a){AUb();return new tYb();}
+function uWb(a){AUb();return new zYb();}
+function vWb(a){AUb();return new FYb();}
+function wWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[616],[14],[a],null);}
+function xWb(a){AUb();return new fZb();}
+function yWb(a){AUb();return new mZb();}
+function zWb(c,a,d){var b=CWb[d];if(!b){DWb(d);}b[1](c,a);}
+function AWb(b){var a=FWb[b];return a==null?b:a;}
+function BWb(b,c){var a=CWb[c];if(!a){DWb(c);}return a[0](b);}
+function DWb(a){AUb();throw xl(new wl(),a);}
+function EWb(c,a,d){var b=CWb[d];if(!b){DWb(d);}b[2](c,a);}
+function yUb(){}
+_=yUb.prototype=new gU();_.kb=zWb;_.dc=AWb;_.pc=BWb;_.ke=EWb;_.tN=pgc+'RepositoryService_TypeSerializer';_.tI=487;var CWb,FWb;function aXb(){}
+_=aXb.prototype=new gU();_.tN=pgc+'RuleAsset';_.tI=488;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function eXb(b,a){a.a=b.Bd();a.b=Fb(b.Fd(),39);a.c=b.Bd();a.d=Fb(b.Fd(),93);a.e=b.ae();}
+function fXb(b,a){b.df(a.a);b.hf(a.b);b.df(a.c);b.hf(a.d);b.jf(a.e);}
+function gXb(){}
+_=gXb.prototype=new gU();_.tN=pgc+'RuleContentText';_.tI=489;_.a=null;function kXb(b,a){a.a=b.ae();}
+function lXb(b,a){b.jf(a.a);}
+function BXb(){BXb=e3;FXb=bYb(new aYb());}
+function yXb(a){BXb();return a;}
+function zXb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.SecurityService');vn(a,'getCurrentUser');tn(a,0);}
+function AXb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.SecurityService');vn(b,'login');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
+function CXb(h,c){var a,d,e,f,g;f=bo(new ao(),FXb);g=vo(new to(),FXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{zXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Fc(d);return;}else throw a;}e=pXb(new oXb(),h,f,c);if(!wg(h.a,Co(g),e))c.Fc(jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DXb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),FXb);h=vo(new to(),FXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{AXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=uXb(new tXb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function EXb(b,a){b.a=a;}
+function nXb(){}
+_=nXb.prototype=new gU();_.tN=pgc+'SecurityService_Proxy';_.tI=490;_.a=null;var FXb;function pXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rXb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else g.a.Fc(c);}
+function sXb(a){var b;b=x;rXb(this,a);}
+function oXb(){}
+_=oXb.prototype=new gU();_.Cc=sXb;_.tN=pgc+'SecurityService_Proxy$1';_.tI=491;function uXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wXb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=kS(new jS(),go(g.b));}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)F5(g.a,f);else ycb(g.a,c);}
+function xXb(a){var b;b=x;wXb(this,a);}
+function tXb(){}
+_=tXb.prototype=new gU();_.Cc=xXb;_.tN=pgc+'SecurityService_Proxy$2';_.tI=492;function cYb(){cYb=e3;jYb=dYb();mYb=eYb();}
+function bYb(a){cYb();return a;}
+function dYb(){cYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return fYb(a);},function(a,b){gl(a,b);},function(a,b){hl(a,b);}],'java.lang.String/2004016611':[function(a){return lm(a);},function(a,b){km(a,b);},function(a,b){mm(a,b);}]};}
+function eYb(){cYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
+function fYb(a){cYb();return cl(new bl());}
+function gYb(c,a,d){var b=jYb[d];if(!b){kYb(d);}b[1](c,a);}
+function hYb(b){var a=mYb[b];return a==null?b:a;}
+function iYb(b,c){var a=jYb[c];if(!a){kYb(c);}return a[0](b);}
+function kYb(a){cYb();throw xl(new wl(),a);}
+function lYb(c,a,d){var b=jYb[d];if(!b){kYb(d);}b[2](c,a);}
+function aYb(){}
+_=aYb.prototype=new gU();_.kb=gYb;_.dc=hYb;_.pc=iYb;_.ke=lYb;_.tN=pgc+'SecurityService_TypeSerializer';_.tI=493;var jYb,mYb;function nYb(){}
+_=nYb.prototype=new nl();_.tN=pgc+'SessionExpiredException';_.tI=494;function rYb(b,a){rl(b,a);}
+function sYb(b,a){tl(b,a);}
+function tYb(){}
+_=tYb.prototype=new gU();_.tN=pgc+'SnapshotInfo';_.tI=495;_.a=null;_.b=null;_.c=null;function xYb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();}
+function yYb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);}
+function zYb(){}
+_=zYb.prototype=new gU();_.tN=pgc+'TableConfig';_.tI=496;_.a=null;_.b=0;function DYb(b,a){a.a=Fb(b.Fd(),63);a.b=b.Dd();}
+function EYb(b,a){b.hf(a.a);b.ff(a.b);}
+function FYb(){}
+_=FYb.prototype=new gU();_.tN=pgc+'TableDataResult';_.tI=497;_.a=null;function dZb(b,a){a.a=Fb(b.Fd(),94);}
+function eZb(b,a){b.hf(a.a);}
+function lZb(a){return fV(a,'\\,')[0];}
+function fZb(){}
+_=fZb.prototype=new gU();_.tN=pgc+'TableDataRow';_.tI=498;_.a=null;_.b=null;_.c=null;function jZb(b,a){a.a=b.ae();a.b=b.ae();a.c=Fb(b.Fd(),63);}
+function kZb(b,a){b.jf(a.a);b.jf(a.b);b.hf(a.c);}
+function mZb(){}
+_=mZb.prototype=new gU();_.tN=pgc+'ValidatedResponse';_.tI=499;_.a=null;_.b=null;_.c=false;_.d=null;function qZb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.Bd();a.d=Fb(b.Fd(),39);}
+function rZb(b,a){b.jf(a.a);b.jf(a.b);b.df(a.c);b.hf(a.d);}
+function a1b(a){a.e=tt(new nt());}
+function b1b(j,b,c,a,f,d,g){var e,h,i;a1b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=lz(new pw());i=j.f.r;e=wt(j.e);h=hA(new fA());i1b(j,i);iA(h,j.g);if(!g){e1b(j,e,h);}k1b(j,f,e);or(j,j.e);j.De('100%');return j;}
+function d1b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
+function e1b(h,e,g){var a,b,c,d,f;d=Dcb(new Ccb(),'images/edit.gif');d.ve('Change status.');nB(d,CZb(new tZb(),h));iA(g,d);h.e.Be(0,0,g);dx(e,0,0,(wz(),yz),(Fz(),cA));f=yp(new sp(),'Save changes');f.ve('Check in changes.');f.z(a0b(new FZb(),h));iA(g,f);b=yp(new sp(),'Copy');b.z(e0b(new d0b(),h));iA(g,b);a=yp(new sp(),'Archive');a.z(i0b(new h0b(),h));iA(g,a);if(h.f.v==0){c=yp(new sp(),'Delete');c.z(m0b(new l0b(),h));iA(g,c);}}
+function f1b(b,c){var a;a=o2b(new j2b(),tN(c),uN(c),'Check in changes.');r2b(a,vZb(new uZb(),b,a));s2b(a);}
+function g1b(e,f){var a,b,c,d;a=scb(new ncb(),'images/rule_asset.gif','Copy this item');b=bL(new sK());c=aeb(new Bdb());tcb(a,'New name:',b);tcb(a,'New package:',c);d=yp(new sp(),'Create copy');d.z(y0b(new x0b(),e,c,b,a));tcb(a,'',d);tE(a,dc((uab()-oE(a))/2),100);wE(a);}
+function h1b(b,a){b.c=a;}
+function i1b(b,a){pz(b.g,'Status: <b>['+a+']<\/b>');}
+function j1b(b,c){var a;a=Aeb(new eeb(),b.h,false);Deb(a,zZb(new yZb(),b,a));tE(a,tN(c),uN(c));wE(a);}
+function k1b(e,d,b){var a,c,f;f=hA(new fA());c=Dcb(new Ccb(),'images/max_min.gif');nB(c,q0b(new p0b(),e,d));iA(f,c);a=Dcb(new Ccb(),'images/close.gif');a.ve('Close.');nB(a,u0b(new t0b(),e));iA(f,a);e.e.Be(0,1,f);dx(b,0,1,(wz(),zz),(Fz(),cA));}
+function sZb(){}
+_=sZb.prototype=new mr();_.tN=qgc+'ActionToolbar';_.tI=500;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function CZb(b,a){b.a=a;return b;}
+function EZb(a){j1b(this.a,a);}
+function tZb(){}
+_=tZb.prototype=new gU();_.Bc=EZb;_.tN=qgc+'ActionToolbar$1';_.tI=501;function vZb(b,a,c){b.a=a;b.b=c;return b;}
+function xZb(){this.a.f.b=q2b(this.b);w9b(this.a.b);}
+function uZb(){}
+_=uZb.prototype=new gU();_.rb=xZb;_.tN=qgc+'ActionToolbar$10';_.tI=502;function zZb(b,a,c){b.a=a;b.b=c;return b;}
+function BZb(){i1b(this.a,this.b.c);}
+function yZb(){}
+_=yZb.prototype=new gU();_.rb=BZb;_.tN=qgc+'ActionToolbar$11';_.tI=503;function a0b(b,a){b.a=a;return b;}
+function c0b(a){f1b(this.a,a);}
+function FZb(){}
+_=FZb.prototype=new gU();_.Bc=c0b;_.tN=qgc+'ActionToolbar$2';_.tI=504;function e0b(b,a){b.a=a;return b;}
+function g0b(a){g1b(this.a,a);}
+function d0b(){}
+_=d0b.prototype=new gU();_.Bc=g0b;_.tN=qgc+'ActionToolbar$3';_.tI=505;function i0b(b,a){b.a=a;return b;}
+function k0b(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+c0(AZ(new zZ()));B9b(this.a.a);}}
+function h0b(){}
+_=h0b.prototype=new gU();_.Bc=k0b;_.tN=qgc+'ActionToolbar$4';_.tI=506;function m0b(b,a){b.a=a;return b;}
+function o0b(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){f$b(this.a.d);}}
+function l0b(){}
+_=l0b.prototype=new gU();_.Bc=o0b;_.tN=qgc+'ActionToolbar$5';_.tI=507;function q0b(b,a,c){b.a=c;return b;}
+function s0b(a){a$b(this.a);}
+function p0b(){}
+_=p0b.prototype=new gU();_.Bc=s0b;_.tN=qgc+'ActionToolbar$6';_.tI=508;function u0b(b,a){b.a=a;return b;}
+function w0b(a){p$b(this.a.c);}
+function t0b(){}
+_=t0b.prototype=new gU();_.Bc=w0b;_.tN=qgc+'ActionToolbar$7';_.tI=509;function y0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
+function A0b(a){zTb(nMb(),this.a.h,ceb(this.d),zK(this.c),C0b(new B0b(),this,this.c,this.d,this.b));}
+function x0b(){}
+_=x0b.prototype=new gU();_.Bc=A0b;_.tN=qgc+'ActionToolbar$8';_.tI=510;function C0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
+function E0b(b,a){d1b(b.a.a,zK(b.c),ceb(b.d));b.b.nc();}
+function F0b(a){E0b(this,a);}
+function B0b(){}
+_=B0b.prototype=new wcb();_.rd=F0b;_.tN=qgc+'ActionToolbar$9';_.tI=511;function a2b(a){a.b=zab(new xab());}
+function b2b(c,a,b){a2b(c);c.a=a;c.c=tt(new nt());g2b(c,c.c);CN(c.c,'rule-List');Cab(c.b,0,0,c.c);if(!b){e2b(c);}or(c,c.b);return c;}
+function c2b(b,a){zLb(b.a,a);i2b(b);}
+function e2b(c){var a,b;a=pO(new nO());b=Dcb(new Ccb(),'images/new_item.gif');b.ve('Add a new category.');nB(b,v1b(new u1b(),c));qO(a,b);Cab(c.b,0,1,a);}
+function f2b(b){var a;a=E1b(new C1b(),b);tE(a,tN(b),uN(b));wE(a);}
+function g2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;az(d,b,0,e.a.a[b]);a=Dcb(new Ccb(),'images/trash.gif');a.ve('Remove this category');nB(a,z1b(new y1b(),e,c));d.Be(b,1,a);}}
+function h2b(b,a){BLb(b.a,a);sab(b);i2b(b);}
+function i2b(a){a.c=tt(new nt());CN(a.c,'rule-List');Cab(a.b,0,0,a.c);g2b(a,a.c);sab(a);}
+function l1b(){}
+_=l1b.prototype=new qab();_.tN=qgc+'AssetCategoryEditor';_.tI=512;_.a=null;_.c=null;function n1b(b,a){b.a=a;return b;}
+function p1b(a){this.a.b=a;}
+function m1b(){}
+_=m1b.prototype=new gU();_.je=p1b;_.tN=qgc+'AssetCategoryEditor$1';_.tI=513;function r1b(b,a){b.a=a;return b;}
+function t1b(a){if(this.a.b!==null&& !FU('',this.a.b)){c2b(this.a.d,this.a.b);}this.a.nc();}
+function q1b(){}
+_=q1b.prototype=new gU();_.Bc=t1b;_.tN=qgc+'AssetCategoryEditor$2';_.tI=514;function v1b(b,a){b.a=a;return b;}
+function x1b(a){f2b(this.a);}
+function u1b(){}
+_=u1b.prototype=new gU();_.Bc=x1b;_.tN=qgc+'AssetCategoryEditor$3';_.tI=515;function z1b(b,a,c){b.a=a;b.b=c;return b;}
+function B1b(a){h2b(this.a,this.b);}
+function y1b(){}
+_=y1b.prototype=new gU();_.Bc=B1b;_.tN=qgc+'AssetCategoryEditor$4';_.tI=516;function F1b(){F1b=e3;mE();}
+function D1b(a){a.a=yp(new sp(),'OK');}
+function E1b(b,a){var c;F1b();b.d=a;jE(b,true);D1b(b);c=pO(new nO());b.c=e_(new t$(),n1b(new m1b(),b));CN(b,'ks-popups-Popup');qO(c,b.c);qO(c,b.a);eH(b,c);b.a.z(r1b(new q1b(),b));return b;}
+function C1b(){}
+_=C1b.prototype=new hE();_.tN=qgc+'AssetCategoryEditor$CategorySelector';_.tI=517;_.b=null;_.c=null;function o2b(c,a,d,b){c.b=scb(new ncb(),'images/checkin.gif',b);c.a=mK(new lK());c.a.De('100%');c.c=yp(new sp(),'Save');tcb(c.b,'Comment',c.a);tcb(c.b,'',c.c);CN(c.b,'ks-popups-Popup');tE(c.b,a,d);return c;}
+function q2b(a){return zK(a.a);}
+function r2b(b,a){b.c.z(l2b(new k2b(),b,a));}
+function s2b(a){tE(a.b,dc((uab()-oE(a.b))/2),100);wE(a.b);}
+function j2b(){}
+_=j2b.prototype=new gU();_.tN=qgc+'CheckinPopup';_.tI=518;_.a=null;_.b=null;_.c=null;function l2b(b,a,c){b.a=a;b.b=c;return b;}
+function n2b(a){this.b.rb();this.a.b.nc();}
+function k2b(){}
+_=k2b.prototype=new gU();_.Bc=n2b;_.tN=qgc+'CheckinPopup$1';_.tI=519;function j3b(){j3b=e3;mE();}
+function h3b(g,f,e){var a,b,c,d;j3b();jE(g,true);g.d=f;g.b=bL(new sK());g.b.De('100%');b='<enter text to filter list>';DK(g.b,'<enter text to filter list>');ou(g.b,v2b(new u2b(),g));wK(g.b,A2b(new z2b(),g,e));g.b.qe(true);d=pO(new nO());qO(d,g.b);g.c=uC(new mC());eD(g.c,5);l3b(g,g5b(g.d,''));qO(d,g.c);c=yp(new sp(),'ok');c.z(a3b(new F2b(),g,e));a=yp(new sp(),'cancel');a.z(e3b(new d3b(),g));g.a=hA(new fA());iA(g.a,c);iA(g.a,a);qO(d,g.a);eH(g,d);CN(g,'ks-popups-Popup');return g;}
+function i3b(b,a){F3b(a,k3b(b));b.nc();}
+function k3b(a){return DC(a.c,EC(a.c));}
+function l3b(c,a){var b;AC(c.c);for(b=0;b<a.b;b++){xC(c.c,Fb(vY(a,b),10).a);}}
+function t2b(){}
+_=t2b.prototype=new hE();_.tN=qgc+'ChoiceList';_.tI=520;_.a=null;_.b=null;_.c=null;_.d=null;function v2b(b,a){b.a=a;return b;}
+function x2b(a){DK(this.a.b,'');}
+function y2b(a){DK(this.a.b,'<enter text to filter list>');}
+function u2b(){}
+_=u2b.prototype=new gU();_.ad=x2b;_.id=y2b;_.tN=qgc+'ChoiceList$1';_.tI=521;function A2b(b,a,c){b.a=a;b.b=c;return b;}
+function C2b(a,b,c){}
+function D2b(a,b,c){}
+function E2b(a,b,c){if(b==13){i3b(this.a,this.b);}else{l3b(this.a,g5b(this.a.d,zK(this.a.b)));}}
+function z2b(){}
+_=z2b.prototype=new gU();_.ed=C2b;_.fd=D2b;_.gd=E2b;_.tN=qgc+'ChoiceList$2';_.tI=522;function a3b(b,a,c){b.a=a;b.b=c;return b;}
+function c3b(a){i3b(this.a,this.b);}
+function F2b(){}
+_=F2b.prototype=new gU();_.Bc=c3b;_.tN=qgc+'ChoiceList$3';_.tI=523;function e3b(b,a){b.a=a;return b;}
+function g3b(a){this.a.nc();}
+function d3b(){}
+_=d3b.prototype=new gU();_.Bc=g3b;_.tN=qgc+'ChoiceList$4';_.tI=524;function D3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=mK(new lK());rK(i.d,10);DK(i.d,i.c.a);i.d.ve('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=dLb((bLb(),gLb),a.d.o);i.a=c.a;i.b=c.b;CN(i.d,'dsl-text-Editor');d=tt(new nt());d.Be(0,0,i.d);vK(i.d,o3b(new n3b(),i));wK(i.d,s3b(new r3b(),i));j=pO(new nO());e=Dcb(new Ccb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.ve('Add a new condition');nB(e,w3b(new v3b(),i));h=Dcb(new Ccb(),'images/new_dsl_action.gif');g='Add an action';h.ve('Add an action');nB(h,A3b(new z3b(),i));qO(j,e);qO(j,h);d.Be(0,1,j);jx(d.n,0,0,'95%');jx(d.n,0,1,'5%');d.De('100%');d.se('100%');or(i,d);return i;}
+function F3b(e,b){var a,c,d;a=oK(e.d);c=jV(zK(e.d),0,a);d=jV(zK(e.d),a,dV(zK(e.d)));DK(e.d,c+b+d);e.c.a=zK(e.d);}
+function a4b(b){var a;a=jV(zK(b.d),0,oK(b.d));if(bV(a,'then')>(-1)){b4b(b,b.a);}else{b4b(b,b.b);}}
+function b4b(c,b){var a;a=h3b(new t2b(),b,c);tE(a,tN(c.d)+20,uN(c.d)+20);wE(a);}
+function m3b(){}
+_=m3b.prototype=new qab();_.tN=qgc+'DSLRuleEditor';_.tI=525;_.a=null;_.b=null;_.c=null;_.d=null;function o3b(b,a){b.a=a;return b;}
+function q3b(a){this.a.c.a=zK(this.a.d);sab(this.a);}
+function n3b(){}
+_=n3b.prototype=new gU();_.Ac=q3b;_.tN=qgc+'DSLRuleEditor$1';_.tI=526;function s3b(b,a){b.a=a;return b;}
+function u3b(a,b,c){if(b==32&&c==2){a4b(this.a);}if(b==9){F3b(this.a,'\t');AK(this.a.d,oK(this.a.d)+1);xK(this.a.d);}}
+function r3b(){}
+_=r3b.prototype=new uB();_.ed=u3b;_.tN=qgc+'DSLRuleEditor$2';_.tI=527;function w3b(b,a){b.a=a;return b;}
+function y3b(a){b4b(this.a,this.a.b);}
+function v3b(){}
+_=v3b.prototype=new gU();_.Bc=y3b;_.tN=qgc+'DSLRuleEditor$3';_.tI=528;function A3b(b,a){b.a=a;return b;}
+function C3b(a){b4b(this.a,this.a.a);}
+function z3b(){}
+_=z3b.prototype=new gU();_.Bc=C3b;_.tN=qgc+'DSLRuleEditor$4';_.tI=529;function l4b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=mK(new lK());rK(b.c,10);DK(b.c,b.b.a);CN(b.c,'default-text-Area');vK(b.c,e4b(new d4b(),b));wK(b.c,i4b(new h4b(),b));or(b,b.c);return b;}
+function n4b(e,b){var a,c,d;a=oK(e.c);c=jV(zK(e.c),0,a);d=jV(zK(e.c),a,dV(zK(e.c)));DK(e.c,c+b+d);e.b.a=zK(e.c);}
+function c4b(){}
+_=c4b.prototype=new qab();_.tN=qgc+'DefaultRuleContentWidget';_.tI=530;_.a=null;_.b=null;_.c=null;function e4b(b,a){b.a=a;return b;}
+function g4b(a){this.a.b.a=zK(this.a.c);sab(this.a);}
+function d4b(){}
+_=d4b.prototype=new gU();_.Ac=g4b;_.tN=qgc+'DefaultRuleContentWidget$1';_.tI=531;function i4b(b,a){b.a=a;return b;}
+function k4b(a,b,c){if(b==9){n4b(this.a,'\t');AK(this.a.c,oK(this.a.c)+1);xK(this.a.c);}}
+function h4b(){}
+_=h4b.prototype=new uB();_.ed=k4b;_.tN=qgc+'DefaultRuleContentWidget$2';_.tI=532;function D4b(){D4b=e3;E4b=b5b();}
+function F4b(a){D4b();var b;b=Fb(r1(E4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
+function a5b(a,b){D4b();if(FU(a.d.k,'brl')){return E8b(new l8b(),uwb(new pub(),a),a);}else if(FU(a.d.k,'dslr')){return E8b(new l8b(),D3b(new m3b(),a),a);}else if(FU(a.d.k,'jar')){return pyb(new oyb(),a,b);}else if(FU(a.d.k,'xls')){return E8b(new l8b(),zfb(new yfb(),a,b),a);}else if(FU(a.d.k,'rf')){return h8b(new g8b(),a,b);}else if(FU(a.d.k,'drl')){return E8b(new l8b(),l4b(new c4b(),a),a);}else if(FU(a.d.k,'enumeration')){return E8b(new l8b(),l4b(new c4b(),a),a);}else{return l4b(new c4b(),a);}}
+function b5b(){D4b();var a;a=l1(new p0());s1(a,'drl','technical_rule_assets.gif');s1(a,'dsl','dsl.gif');s1(a,'function','function_assets.gif');s1(a,'jar','model_asset.gif');s1(a,'xls','spreadsheet_small.gif');s1(a,'brl','business_rule.gif');s1(a,'dslr','business_rule.gif');s1(a,'rf','ruleflow_small.gif');return a;}
+function c5b(d,f,g,e,a){D4b();var b,c,h;h=E$b(new g9b(),a,e);b=a.d.n;if(dV(b)>10){b=jV(b,0,7)+'...';}c=F4b(a.d.k);BJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(oZ(),pZ)){s1(d,g,h);}h_b(h,z4b(new y4b(),f,h,d,g));bK(f,DJ(f,h));}
+function d5b(b,d,e,c){D4b();var a;if(o1(b,e)){if(DJ(d,Fb(r1(b,e),13))==(-1)){a=ac(EJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{bK(d,DJ(d,Fb(r1(b,e),13)));}tdb();return;}kUb(nMb(),e,q4b(new p4b(),b,d,e,c));}
+var E4b;function q4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
+function s4b(c){var a,b;a=Fb(c,97);b=(bLb(),gLb);cLb(b,a.d.o,u4b(new t4b(),this,this.a,this.c,this.d,this.b,a));}
+function p4b(){}
+_=p4b.prototype=new wcb();_.rd=s4b;_.tN=qgc+'EditorLauncher$1';_.tI=533;function u4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
+function w4b(a){c5b(a.b,a.d,a.e,a.c,a.a);}
+function x4b(){w4b(this);}
+function t4b(){}
+_=t4b.prototype=new gU();_.rb=x4b;_.tN=qgc+'EditorLauncher$2';_.tI=534;function z4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
+function B4b(a){aK(a.b,DJ(a.b,a.d));bK(a.b,0);if(a.a!==(oZ(),pZ)){t1(a.a,a.c);}}
+function C4b(){B4b(this);}
+function y4b(){}
+_=y4b.prototype=new gU();_.rb=C4b;_.tN=qgc+'EditorLauncher$3';_.tI=535;function g5b(e,a){var b,c,d;b=oY(new mY());for(c=0;c<e.a;c++){d=e[c];if(FU(a,'')||hV(d.a,a)){qY(b,d);}}return b;}
+function B6b(e,a,c,f,d){var b;ccb(e);CN(e,'metadata-Widget');if(!c){b=Ecb(new Ccb(),'images/edit.gif','Rename this asset');nB(b,s5b(new i5b(),e));gcb(e,'images/meta_data.png',a.n,b);}else{fcb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;a7b(e,a);return e;}
+function C6b(a){a.b=b2b(new l1b(),a.a,a.c);return a.b;}
+function E6b(d,a,e){var b,c;if(!d.c){b=bL(new sK());b.ve(e);DK(b,a.gc());c=p5b(new o5b(),d,a,b);vK(b,c);return b;}else{return eC(new cC(),a.gc());}}
+function F6b(a){if(a.a.v==0){return mz(new pw(),'<i>Not checked in yet<\/i>');}else{return d7b(a,sT(a.a.v));}}
+function a7b(b,a){b.a=a;ecb(b,'Categories:',C6b(b));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Modified on:',c7b(b,b.a.m));ecb(b,'by:',d7b(b,b.a.l));ecb(b,'Note:',d7b(b,b.a.b));ecb(b,'Version:',F6b(b));if(!b.c){ecb(b,'Created on:',c7b(b,b.a.d));}ecb(b,'Created by:',d7b(b,b.a.e));ecb(b,'Format:',mz(new pw(),'<b>'+b.a.k+'<\/b>'));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Package:',b7b(b,b.a.o));ecb(b,'Subject:',E6b(b,w5b(new v5b(),b),'A short description of the subject matter.'));ecb(b,'Type:',E6b(b,B5b(new A5b(),b),'This is for classification purposes.'));ecb(b,'External link:',E6b(b,a6b(new F5b(),b),'This is for relating the asset to an external system.'));ecb(b,'Source:',E6b(b,f6b(new e6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){hcb(b,cac(new j_b(),b.e,b.a,b.d));}}
+function b7b(d,c){var a,b;if(d.c){return d7b(d,c);}else{b=hA(new fA());CN(b,'metadata-Widget');iA(b,d7b(d,c));a=Dcb(new Ccb(),'images/edit.gif');nB(a,k6b(new j6b(),d,c));iA(b,a);return b;}}
+function c7b(b,a){if(a===null){return null;}else{return eC(new cC(),b0(a));}}
+function d7b(c,b){var a;a=eC(new cC(),b);a.De('100%');return a;}
+function e7b(f,b,e){var a,c,d;c=scb(new ncb(),'images/package_large.png','Move this item to another package');tcb(c,'Current package:',eC(new cC(),b));d=aeb(new Bdb());tcb(c,'New package:',d);a=yp(new sp(),'Change package');tcb(c,'',a);a.z(x6b(new w6b(),f,d,b,c));tE(c,tN(e.v.v),uN(e.v.v));wE(c);}
+function f7b(e,d){var a,b,c;c=scb(new ncb(),'images/package_large.png','Rename this item');a=bL(new sK());tcb(c,'New name',a);b=yp(new sp(),'Rename item');tcb(c,'',b);b.z(o6b(new n6b(),e,a,c));tE(c,tN(d.v.v)-18,uN(d.v.v));wE(c);}
+function g7b(){return this.b.rc()||this.j;}
+function h5b(){}
+_=h5b.prototype=new acb();_.rc=g7b;_.tN=qgc+'MetaDataWidget';_.tI=536;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function s5b(b,a){b.a=a;return b;}
+function u5b(a){f7b(this.a,a);}
+function i5b(){}
+_=i5b.prototype=new gU();_.Bc=u5b;_.tN=qgc+'MetaDataWidget$1';_.tI=537;function k5b(b,a,c){b.a=a;b.b=c;return b;}
+function m5b(b,a){sab(b.a.a);k$b(b.a.a.d);b.b.nc();}
+function n5b(a){m5b(this,a);}
+function j5b(){}
+_=j5b.prototype=new wcb();_.rd=n5b;_.tN=qgc+'MetaDataWidget$10';_.tI=538;function p5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function r5b(a){sab(this.a);this.b.ze(zK(this.c));}
+function o5b(){}
+_=o5b.prototype=new gU();_.Ac=r5b;_.tN=qgc+'MetaDataWidget$11';_.tI=539;function w5b(b,a){b.a=a;return b;}
+function y5b(){return this.a.a.s;}
+function z5b(a){this.a.a.s=a;}
+function v5b(){}
+_=v5b.prototype=new gU();_.gc=y5b;_.ze=z5b;_.tN=qgc+'MetaDataWidget$2';_.tI=540;function B5b(b,a){b.a=a;return b;}
+function D5b(){return this.a.a.u;}
+function E5b(a){this.a.a.u=a;}
+function A5b(){}
+_=A5b.prototype=new gU();_.gc=D5b;_.ze=E5b;_.tN=qgc+'MetaDataWidget$3';_.tI=541;function a6b(b,a){b.a=a;return b;}
+function c6b(){return this.a.a.i;}
+function d6b(a){this.a.a.i=a;}
+function F5b(){}
+_=F5b.prototype=new gU();_.gc=c6b;_.ze=d6b;_.tN=qgc+'MetaDataWidget$4';_.tI=542;function f6b(b,a){b.a=a;return b;}
+function h6b(){return this.a.a.j;}
+function i6b(a){this.a.a.j=a;}
+function e6b(){}
+_=e6b.prototype=new gU();_.gc=h6b;_.ze=i6b;_.tN=qgc+'MetaDataWidget$5';_.tI=543;function k6b(b,a,c){b.a=a;b.b=c;return b;}
+function m6b(a){e7b(this.a,this.b,a);}
+function j6b(){}
+_=j6b.prototype=new gU();_.Bc=m6b;_.tN=qgc+'MetaDataWidget$6';_.tI=544;function o6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function q6b(a){sUb(nMb(),this.a.e,zK(this.b),s6b(new r6b(),this,this.c));}
+function n6b(){}
+_=n6b.prototype=new gU();_.Bc=q6b;_.tN=qgc+'MetaDataWidget$7';_.tI=545;function s6b(b,a,c){b.a=a;b.b=c;return b;}
+function u6b(b,a){k$b(b.a.a.d);zh('Item has been renamed');b.b.nc();}
+function v6b(a){u6b(this,a);}
+function r6b(){}
+_=r6b.prototype=new wcb();_.rd=v6b;_.tN=qgc+'MetaDataWidget$8';_.tI=546;function x6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function z6b(a){if(FU(ceb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}vTb(nMb(),this.a.e,ceb(this.d),'Moved from : '+this.b,k5b(new j5b(),this,this.c));}
+function w6b(){}
+_=w6b.prototype=new gU();_.Bc=z6b;_.tN=qgc+'MetaDataWidget$9';_.tI=547;function y7b(){y7b=e3;vcb();}
+function v7b(a){a.f=bL(new sK());a.b=mK(new lK());a.d=A7b(a);a.g=aeb(new Bdb());}
+function w7b(e,a,d,b,f){var c;y7b();scb(e,'images/new_wiz.gif',f);v7b(e);e.h=d;e.c=b;e.a=a;tcb(e,'Name:',e.f);if(d){tcb(e,'Initial category:',z7b(e));}if(b===null){tcb(e,'Type (format) of rule:',e.d);}tcb(e,'Package:',e.g);rK(e.b,4);e.b.De('100%');tcb(e,'Initial description:',e.b);c=yp(new sp(),'OK');c.z(j7b(new i7b(),e));tcb(e,'',c);CN(e,'ks-popups-Popup');return e;}
+function x7b(e,b,d,c,f,a){y7b();w7b(e,b,d,c,f);deb(e.g,a);return e;}
+function z7b(a){return e_(new t$(),n7b(new m7b(),a));}
+function B7b(a){if(a.c!==null)return a.c;return FC(a.d,EC(a.d));}
+function A7b(b){var a;a=uC(new mC());yC(a,'Business rule (using guided editor)','brl');yC(a,'DRL rule (technical rule - text editor)','drl');yC(a,'Business rule using a DSL (text editor)','dslr');yC(a,'Decision table (spreadsheet)','xls');dD(a,0);return a;}
+function C7b(b){var a;if(b.h&&b.e===null){mfb('You have to pick an initial category.',tN(b),uN(b));return;}else if(zK(b.f)===null||FU('',zK(b.f))){mfb('Rule must have a name',tN(b),uN(b));return;}a=r7b(new q7b(),b);xdb('Please wait ...');DTb(nMb(),zK(b.f),zK(b.b),b.e,ceb(b.g),B7b(b),a);}
+function D7b(a,b){a.a.yd(b);}
+function h7b(){}
+_=h7b.prototype=new ncb();_.tN=qgc+'NewAssetWizard';_.tI=548;_.a=null;_.c=null;_.e=null;_.h=false;function j7b(b,a){b.a=a;return b;}
+function l7b(a){C7b(this.a);}
+function i7b(){}
+_=i7b.prototype=new gU();_.Bc=l7b;_.tN=qgc+'NewAssetWizard$1';_.tI=549;function n7b(b,a){b.a=a;return b;}
+function p7b(a){this.a.e=a;}
+function m7b(){}
+_=m7b.prototype=new gU();_.je=p7b;_.tN=qgc+'NewAssetWizard$2';_.tI=550;function r7b(b,a){b.a=a;return b;}
+function t7b(b,a){var c;c=Fb(a,1);if(hV(c,'DUPLICATE')){tdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{D7b(b.a,Fb(a,1));b.a.nc();}}
+function u7b(a){t7b(this,a);}
+function q7b(){}
+_=q7b.prototype=new wcb();_.rd=u7b;_.tN=qgc+'NewAssetWizard$3';_.tI=551;function d8b(b,a){b.a=mK(new lK());b.a.De('100%');rK(b.a,10);CN(b.a,'rule-viewer-Documentation');b.a.ve('This is rule documentation. Human friendly descriptions of the business logic.');or(b,b.a);f8b(b,a);return b;}
+function f8b(b,a){DK(b.a,a.h);vK(b.a,a8b(new F7b(),b,a));if(a.h===null||FU('',a.h)){DK(b.a,'<documentation>');}}
+function E7b(){}
+_=E7b.prototype=new qab();_.tN=qgc+'RuleDocumentWidget';_.tI=552;_.a=null;function a8b(b,a,c){b.a=a;b.b=c;return b;}
+function c8b(a){this.b.h=zK(this.a.a);sab(this.a);}
+function F7b(){}
+_=F7b.prototype=new gU();_.Ac=c8b;_.tN=qgc+'RuleDocumentWidget$1';_.tI=553;function h8b(b,a,c){xxb(b,a,c);yxb(b,mz(new pw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
+function j8b(){return 'images/ruleflow_large.png';}
+function k8b(){return 'decision-Table-upload';}
+function g8b(){}
+_=g8b.prototype=new jxb();_.xb=j8b;_.ac=k8b;_.tN=qgc+'RuleFlowUploadWidget';_.tI=554;function E8b(c,b,a){c.a=a;c.b=zab(new xab());CN(c.b,'asset-editor-Layout');Cab(c.b,0,0,b);if(!a.c)Cab(c.b,1,0,e9b(c));dx(c.b.n,1,0,(wz(),zz),(Fz(),cA));c.b.De('100%');c.b.se('100%');or(c,c.b);return c;}
+function a9b(a){xdb('Validating item, please wait...');sTb(nMb(),a.a,v8b(new u8b(),a));}
+function b9b(a){xdb('Calculating source...');rTb(nMb(),a.a,A8b(new z8b(),a));}
+function c9b(h,e){var a,b,c,d,f,g;c=scb(new ncb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){ucb(c,mz(new pw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=tt(new nt());CN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.Be(f,0,mB(new wA(),'images/error.gif'));if(FU(d.a,'package')){az(a,f,1,'[package configuration problem] '+d.c);}else{az(a,f,1,d.c);}}g=wG(new uG(),a);g.De('100%');ucb(c,g);}tE(c,100,100);wE(c);tdb();}
+function d9b(b,a){wBb(a,b.a.d.n);tdb();}
+function e9b(b){var a,c,d;a=hA(new fA());d=yp(new sp(),'View source');iA(a,d);c=yp(new sp(),'Validate');iA(a,c);d.z(n8b(new m8b(),b));c.z(r8b(new q8b(),b));CN(a,'asset-validator-Buttons');return a;}
+function f9b(){return Bab(this.b);}
+function l8b(){}
+_=l8b.prototype=new qab();_.rc=f9b;_.tN=qgc+'RuleValidatorWrapper';_.tI=555;_.a=null;_.b=null;function n8b(b,a){b.a=a;return b;}
+function p8b(a){b9b(this.a);}
+function m8b(){}
+_=m8b.prototype=new gU();_.Bc=p8b;_.tN=qgc+'RuleValidatorWrapper$1';_.tI=556;function r8b(b,a){b.a=a;return b;}
+function t8b(a){a9b(this.a);}
+function q8b(){}
+_=q8b.prototype=new gU();_.Bc=t8b;_.tN=qgc+'RuleValidatorWrapper$2';_.tI=557;function v8b(b,a){b.a=a;return b;}
+function x8b(c,a){var b;b=Fb(a,88);c9b(c.a,b);}
+function y8b(a){x8b(this,a);}
+function u8b(){}
+_=u8b.prototype=new wcb();_.rd=y8b;_.tN=qgc+'RuleValidatorWrapper$3';_.tI=558;function A8b(b,a){b.a=a;return b;}
+function C8b(c,a){var b;b=Fb(a,1);d9b(c.a,b);}
+function D8b(a){C8b(this,a);}
+function z8b(){}
+_=z8b.prototype=new wcb();_.rd=D8b;_.tN=qgc+'RuleValidatorWrapper$4';_.tI=559;function E$b(c,a,b){c.a=a;c.g=b;c.e=zab(new xab());e_b(c);or(c,c.e);tdb();return c;}
+function a_b(a){a.a.a=true;b_b(a);B4b(a.b);}
+function b_b(a){jy(a.e);xdb('Saving, please wait...');xTb(nMb(),a.a,x$b(new w$b(),a));}
+function c_b(e){var a,b,c,d;d=scb(new ncb(),'images/warning-large.png','WARNING: Un-committed changes.');b=yp(new sp(),'Discard');a=yp(new sp(),'Cancel');c=hA(new fA());iA(c,b);iA(c,a);ucb(d,mz(new pw(),'Are you sure you want to discard changes?'));ucb(d,c);b.z(n9b(new m9b(),e,d));a.z(r9b(new q9b(),e,d));CN(d,'warning-Popup');tE(d,dc((uab()-oE(d))/2),100);wE(d);}
+function d_b(a){bUb(nMb(),a.a.e,a.a.d.o,s$b(new r$b(),a));}
+function e_b(b){var a;jy(b.e);a=wt(b.e);b.h=b1b(new sZb(),b.a,u9b(new h9b(),b),z9b(new y9b(),b),E9b(new D9b(),b),d$b(new c$b(),b),b.g);Cab(b.e,0,0,b.h);dx(a,0,0,(wz(),zz),(Fz(),cA));b.f=B6b(new h5b(),b.a.d,b.g,b.a.e,i$b(new h$b(),b));Cab(b.e,0,1,b.f);st(a,0,1,3);hx(a,0,1,(Fz(),cA));jx(a,0,1,'30%');b.d=a5b(b.a,b);h1b(b.h,n$b(new m$b(),b));Cab(b.e,1,0,b.d);hx(a,1,0,(Fz(),cA));b.c=d8b(new E7b(),b.a.d);Cab(b.e,2,0,b.c);hx(a,2,0,(Fz(),cA));}
+function f_b(a){if(u_(a.a.d.k)){xdb('Refreshing content assistance...');fLb((bLb(),gLb),a.a.d.o,new B$b());}}
+function g_b(a){kUb(nMb(),a.a.e,j9b(new i9b(),a));}
+function h_b(b,a){b.b=a;}
+function i_b(a){var b;b= !bx(wt(a.e),2,0);ix(wt(a.e),0,1,b);ix(wt(a.e),2,0,b);}
+function g9b(){}
+_=g9b.prototype=new mr();_.tN=qgc+'RuleViewer';_.tI=560;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function u9b(b,a){b.a=a;return b;}
+function w9b(a){b_b(a.a);}
+function x9b(){w9b(this);}
+function h9b(){}
+_=h9b.prototype=new gU();_.rb=x9b;_.tN=qgc+'RuleViewer$1';_.tI=561;function j9b(b,a){b.a=a;return b;}
+function l9b(a){this.a.a=Fb(a,97);e_b(this.a);tdb();}
+function i9b(){}
+_=i9b.prototype=new wcb();_.rd=l9b;_.tN=qgc+'RuleViewer$10';_.tI=562;function n9b(b,a,c){b.a=a;b.b=c;return b;}
+function p9b(a){B4b(this.a.b);this.b.nc();}
+function m9b(){}
+_=m9b.prototype=new gU();_.Bc=p9b;_.tN=qgc+'RuleViewer$11';_.tI=563;function r9b(b,a,c){b.a=c;return b;}
+function t9b(a){this.a.nc();}
+function q9b(){}
+_=q9b.prototype=new gU();_.Bc=t9b;_.tN=qgc+'RuleViewer$12';_.tI=564;function z9b(b,a){b.a=a;return b;}
+function B9b(a){a_b(a.a);}
+function C9b(){B9b(this);}
+function y9b(){}
+_=y9b.prototype=new gU();_.rb=C9b;_.tN=qgc+'RuleViewer$2';_.tI=565;function E9b(b,a){b.a=a;return b;}
+function a$b(a){i_b(a.a);}
+function b$b(){a$b(this);}
+function D9b(){}
+_=D9b.prototype=new gU();_.rb=b$b;_.tN=qgc+'RuleViewer$3';_.tI=566;function d$b(b,a){b.a=a;return b;}
+function f$b(a){d_b(a.a);}
+function g$b(){f$b(this);}
+function c$b(){}
+_=c$b.prototype=new gU();_.rb=g$b;_.tN=qgc+'RuleViewer$4';_.tI=567;function i$b(b,a){b.a=a;return b;}
+function k$b(a){g_b(a.a);}
+function l$b(){k$b(this);}
+function h$b(){}
+_=h$b.prototype=new gU();_.rb=l$b;_.tN=qgc+'RuleViewer$5';_.tI=568;function n$b(b,a){b.a=a;return b;}
+function p$b(a){if(Bab(a.a.e)){c_b(a.a);}else{B4b(a.a.b);}}
+function q$b(){p$b(this);}
+function m$b(){}
+_=m$b.prototype=new gU();_.rb=q$b;_.tN=qgc+'RuleViewer$6';_.tI=569;function s$b(b,a){b.a=a;return b;}
+function u$b(b,a){B4b(b.a.b);}
+function v$b(a){u$b(this,a);}
+function r$b(){}
+_=r$b.prototype=new wcb();_.rd=v$b;_.tN=qgc+'RuleViewer$7';_.tI=570;function x$b(b,a){b.a=a;return b;}
+function z$b(b,a){var c;f_b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){tab(Fb(b.a.d,98));}tab(b.a.f);tab(b.a.c);if(c===null){ybb('Failed to check in the item. Please contact your system administrator.');return;}g_b(b.a);}
+function A$b(a){z$b(this,a);}
+function w$b(){}
+_=w$b.prototype=new wcb();_.rd=A$b;_.tN=qgc+'RuleViewer$8';_.tI=571;function D$b(){tdb();}
+function B$b(){}
+_=B$b.prototype=new gU();_.rb=D$b;_.tN=qgc+'RuleViewer$9';_.tI=572;function cac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=hA(new fA());d.a=tt(new nt());d.a.Be(0,0,eC(new cC(),'Version history'));gx(d.a.n,0,0,'metadata-Widget');b=wt(d.a);fx(b,0,0,(wz(),yz));d.c=Dcb(new Ccb(),'images/refresh.gif');nB(d.c,l_b(new k_b(),d));d.a.Be(0,1,d.c);fx(b,0,1,(wz(),zz));CN(f,'version-browser-Border');iA(f,d.a);d.a.De('100%');f.De('100%');or(d,f);return d;}
+function dac(a){hac(a);fg(p_b(new o_b(),a));}
+function fac(b,a){return C_b(new B_b(),b,a);}
+function gac(a){hUb(nMb(),a.e,t_b(new s_b(),a));}
+function hac(a){rB(a.c,'images/searching.gif');}
+function iac(a){rB(a.c,'images/refresh.gif');}
+function jac(b,a){var c;c=abc(new kac(),b.b,a,b.e,b.d);tE(c,100,100);wE(c);}
+function j_b(){}
+_=j_b.prototype=new mr();_.tN=qgc+'VersionBrowser';_.tI=573;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function l_b(b,a){b.a=a;return b;}
+function n_b(a){dac(this.a);}
+function k_b(){}
+_=k_b.prototype=new gU();_.Bc=n_b;_.tN=qgc+'VersionBrowser$1';_.tI=574;function p_b(b,a){b.a=a;return b;}
+function r_b(){gac(this.a);}
+function o_b(){}
+_=o_b.prototype=new gU();_.rb=r_b;_.tN=qgc+'VersionBrowser$2';_.tI=575;function t_b(b,a){b.a=a;return b;}
+function v_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.Be(1,0,eC(new cC(),'No history.'));iac(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',609,1,['Version number','Comment','Date Modified','Status']);d=fac(i.a,f);h=tfc(d,c,0,false);h.De('100%');i.a.a.Be(1,0,h);b=wt(i.a.a);rt(b,1,0,2);e=yp(new sp(),'View selected version');e.z(y_b(new x_b(),i,h));i.a.a.Be(2,1,e);rt(b,2,1,3);fx(b,2,1,(wz(),xz));iac(i.a);}
+function w_b(a){v_b(this,a);}
+function s_b(){}
+_=s_b.prototype=new wcb();_.rd=w_b;_.tN=qgc+'VersionBrowser$3';_.tI=576;function y_b(b,a,c){b.a=a;b.b=c;return b;}
+function A_b(a){if(this.b.f==0)return;jac(this.a.a,gfc(this.b));}
+function x_b(){}
+_=x_b.prototype=new gU();_.Bc=A_b;_.tN=qgc+'VersionBrowser$4';_.tI=577;function C_b(b,a,c){b.a=c;return b;}
+function E_b(){return this.a.a;}
+function F_b(a){return this.a[a].b;}
+function aac(b,a){return this.a[b].c[a];}
+function bac(b,a){return null;}
+function B_b(){}
+_=B_b.prototype=new gU();_.Cb=E_b;_.cc=F_b;_.hc=aac;_.ic=bac;_.tN=qgc+'VersionBrowser$5';_.tI=578;function bbc(){bbc=e3;bs();}
+function abc(d,a,e,b,c){bbc();Fr(d,false);d.c=e;d.a=b;d.b=c;CN(d,'version-Popup');xdb('Loading version');kUb(nMb(),e,mac(new lac(),d,a));return d;}
+function cbc(b,c){var a;a=o2b(new j2b(),tN(c)+10,uN(c)+10,'Restore this version?');r2b(a,yac(new xac(),b,a));s2b(a);}
+function kac(){}
+_=kac.prototype=new Cr();_.tN=qgc+'VersionViewer';_.tI=579;_.a=null;_.b=null;_.c=null;function mac(b,a,c){b.a=a;b.b=c;return b;}
+function oac(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;ds(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=tt(new nt());d=wt(e);f=yp(new sp(),'Restore this version');f.z(qac(new pac(),this));e.Be(0,0,f);fx(d,0,0,(wz(),yz));b=yp(new sp(),'Close');b.z(uac(new tac(),this));e.Be(0,1,b);fx(d,0,1,(wz(),zz));g=E$b(new g9b(),a,true);g.De('100%');e.Be(1,0,g);rt(d,1,1,2);e.De('100%');AN(e,800,300);es(this.a,e);}
+function lac(){}
+_=lac.prototype=new wcb();_.rd=oac;_.tN=qgc+'VersionViewer$1';_.tI=580;function qac(b,a){b.a=a;return b;}
+function sac(a){cbc(this.a.a,a);}
+function pac(){}
+_=pac.prototype=new gU();_.Bc=sac;_.tN=qgc+'VersionViewer$2';_.tI=581;function uac(b,a){b.a=a;return b;}
+function wac(a){this.a.a.nc();}
+function tac(){}
+_=tac.prototype=new gU();_.Bc=wac;_.tN=qgc+'VersionViewer$3';_.tI=582;function yac(b,a,c){b.a=a;b.b=c;return b;}
+function Aac(){uUb(nMb(),this.a.c,this.a.a,q2b(this.b),Cac(new Bac(),this));}
+function xac(){}
+_=xac.prototype=new gU();_.rb=Aac;_.tN=qgc+'VersionViewer$4';_.tI=583;function Cac(b,a){b.a=a;return b;}
+function Eac(b,a){b.a.a.nc();k$b(b.a.a.b);}
+function Fac(a){Eac(this,a);}
+function Bac(){}
+_=Bac.prototype=new wcb();_.rd=Fac;_.tN=qgc+'VersionViewer$5';_.tI=584;function gcc(a){a.b=(oZ(),pZ);}
+function hcc(a){gcc(a);a.c=AJ(new mJ());a.c.De('100%');a.c.se('100%');BJ(a.c,jcc(a),"<img src='images/explore.gif'/>Explore",true);bK(a.c,0);or(a,a.c);return a;}
+function jcc(i){var a,b,c,d,e,f,g,h;h=tt(new nt());i.a=kdc(new occ(),fbc(new ebc(),i),'rulelist');b=wt(h);d=e_(new t$(),jbc(new ibc(),i,h));f=oec(new tdc(),nbc(new mbc(),i));h.Be(0,1,f);dx(b,0,0,(wz(),yz),(Fz(),cA));dx(b,0,1,(wz(),yz),(Fz(),cA));jx(b,0,0,'30%');jx(b,0,1,'70%');e=yp(new sp(),'Create new rule');e.ve('Create new rule');e.z(sbc(new rbc(),i));g=Dcb(new Ccb(),'images/system_search_small.png');g.ve('Show the rule finder.');nB(g,wbc(new vbc(),i,h,f));a=hA(new fA());iA(a,e);iA(a,g);CN(a,'new-asset-Icons');c=pO(new nO());qO(c,a);qO(c,d);c.De('100%');h.Be(0,0,c);return h;}
+function kcc(c,a,b){return Abc(new zbc(),c,b,a);}
+function lcc(b,a){b.b=a;}
+function mcc(a,b){d5b(a.b,a.c,b,false);}
+function ncc(c){var a,b,d;a=70;d=100;b=w7b(new h7b(),dcc(new ccc(),c),true,null,'Create a new rule');tE(b,a,d);wE(b);}
+function dbc(){}
+_=dbc.prototype=new mr();_.tN=rgc+'AssetBrowser';_.tI=585;_.a=null;_.c=null;function fbc(b,a){b.a=a;return b;}
+function hbc(a){mcc(this.a,a);}
+function ebc(){}
+_=ebc.prototype=new gU();_.yd=hbc;_.tN=rgc+'AssetBrowser$1';_.tI=586;function jbc(b,a,c){b.a=a;b.b=c;return b;}
+function lbc(b){var a;a=kcc(this.a,this.a.a,b);this.b.Be(0,1,this.a.a);xdb('Retrieving list, please wait...');fg(a);qdc(this.a.a,a);}
+function ibc(){}
+_=ibc.prototype=new gU();_.je=lbc;_.tN=rgc+'AssetBrowser$2';_.tI=587;function nbc(b,a){b.a=a;return b;}
+function pbc(b,a){mcc(b.a,a);}
+function qbc(a){pbc(this,a);}
+function mbc(){}
+_=mbc.prototype=new gU();_.yd=qbc;_.tN=rgc+'AssetBrowser$3';_.tI=588;function sbc(b,a){b.a=a;return b;}
+function ubc(a){ncc(this.a);}
+function rbc(){}
+_=rbc.prototype=new gU();_.Bc=ubc;_.tN=rgc+'AssetBrowser$4';_.tI=589;function wbc(b,a,d,c){b.b=d;b.a=c;return b;}
+function ybc(a){this.b.Be(0,1,this.a);}
+function vbc(){}
+_=vbc.prototype=new gU();_.Bc=ybc;_.tN=rgc+'AssetBrowser$5';_.tI=590;function Abc(b,a,d,c){b.b=d;b.a=c;return b;}
+function Cbc(){xdb('Loading list, please wait...');lUb(nMb(),this.b,Ebc(new Dbc(),this,this.a));}
+function zbc(){}
+_=zbc.prototype=new gU();_.rb=Cbc;_.tN=rgc+'AssetBrowser$6';_.tI=591;function Ebc(b,a,c){b.a=c;return b;}
+function acc(c,a){var b;b=Fb(a,62);pdc(c.a,b);tdb();}
+function bcc(a){acc(this,a);}
+function Dbc(){}
+_=Dbc.prototype=new wcb();_.rd=bcc;_.tN=rgc+'AssetBrowser$7';_.tI=592;function dcc(b,a){b.a=a;return b;}
+function fcc(a){mcc(this.a,a);}
+function ccc(){}
+_=ccc.prototype=new gU();_.yd=fcc;_.tN=rgc+'AssetBrowser$8';_.tI=593;function ldc(){ldc=e3;rdc=nMb();}
+function jdc(a){a.c=tt(new nt());a.e=Dcb(new Ccb(),'images/refresh.gif');a.a=dC(new cC());}
+function kdc(c,a,b){ldc();jdc(c);ndc(c);odc(c,b);c.e.Ae(false);c.b=a;c.e.ve('Refresh current list. Will show any changes.');nB(c.e,qcc(new pcc(),c));return c;}
+function mdc(a){return lZb(gfc(a.f));}
+function ndc(c){var a,b;a=wt(c.c);c.c.De('100%');dx(a,0,0,(wz(),yz),(Fz(),cA));b=Dcb(new Ccb(),'images/open_item.gif');nB(b,zcc(new ycc(),c));b.ve('Open item');c.c.Be(0,1,b);dx(a,0,1,(wz(),zz),(Fz(),cA));or(c,c.c);}
+function odc(b,a){nUb(rdc,a,ucc(new tcc(),b));}
+function pdc(g,a){var b,c,d,e,f;b=wt(g.c);g.c.Be(1,0,null);if(a===null||a.a.a==0){d=new Ccc();g.f=tfc(d,g.g.a,25,true);g.a.Ae(false);}else{f=a.a;c=ddc(new cdc(),g,f);g.f=tfc(c,g.g.a,25,true);e=hA(new fA());iA(e,g.e);g.a.Ae(true);jC(g.a,'  '+a.a.a+' items.');iA(e,g.a);g.c.Be(0,0,e);}g.f.De('100%');g.c.Be(1,0,g.f);rt(b,1,0,2);}
+function qdc(b,a){b.d=a;b.e.Ae(true);}
+function occ(){}
+_=occ.prototype=new mr();_.tN=rgc+'AssetItemListViewer';_.tI=594;_.b=null;_.d=null;_.f=null;_.g=null;var rdc;function qcc(b,a){b.a=a;return b;}
+function scc(a){xdb('Refreshing list, please wait...');this.a.d.rb();}
+function pcc(){}
+_=pcc.prototype=new gU();_.Bc=scc;_.tN=rgc+'AssetItemListViewer$1';_.tI=595;function ucc(b,a){b.a=a;return b;}
+function wcc(b,a){b.a.g=Fb(a,99);pdc(b.a,null);}
+function xcc(a){wcc(this,a);}
+function tcc(){}
+_=tcc.prototype=new wcb();_.rd=xcc;_.tN=rgc+'AssetItemListViewer$2';_.tI=596;function zcc(b,a){b.a=a;return b;}
+function Bcc(a){xdb('Loading item, please wait ...');this.a.b.yd(lZb(gfc(this.a.f)));}
+function ycc(){}
+_=ycc.prototype=new gU();_.Bc=Bcc;_.tN=rgc+'AssetItemListViewer$3';_.tI=597;function Ecc(){return 0;}
+function Fcc(a){return '';}
+function adc(b,a){return '';}
+function bdc(b,a){return null;}
+function Ccc(){}
+_=Ccc.prototype=new gU();_.Cb=Ecc;_.cc=Fcc;_.hc=adc;_.ic=bdc;_.tN=rgc+'AssetItemListViewer$4';_.tI=598;function ddc(b,a,c){b.a=a;b.b=c;return b;}
+function fdc(){return this.b.a;}
+function gdc(a){return this.b[a].b;}
+function hdc(b,a){return this.b[b].c[a];}
+function idc(b,a){if(FU(this.a.g.a[a],'*')){return mB(new wA(),'images/'+F4b(this.b[b].a));}else{return null;}}
+function cdc(){}
+_=cdc.prototype=new gU();_.Cb=fdc;_.cc=gdc;_.hc=hdc;_.ic=idc;_.tN=rgc+'AssetItemListViewer$5';_.tI=599;function oec(d,a){var b,c;d.c=dcb(new acb(),'images/system_search.png','');d.e=F_(new v_(),vdc(new udc(),d));CN(d.e,'gwt-TextBox');d.b=a;c=hA(new fA());b=yp(new sp(),'Go');b.z(zdc(new ydc(),d));iA(c,d.e);iA(c,b);d.a=kq(new hq(),'Include archived items in list');CN(d.a,'small-Text');oq(d.a,false);ecb(d.c,'Find items with a name matching:',c);hcb(d.c,d.a);hcb(d.c,mz(new pw(),'<hr/>'));d.d=tt(new nt());d.d.Be(0,0,mz(new pw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));hcb(d.c,d.d);CN(d.d,'editable-Surface');wK(d.e,qec(d));CN(d.c,'quick-find');or(d,d.c);return d;}
+function qec(a){return bec(new aec(),a);}
+function rec(c,a,b){oUb(nMb(),a,5,nq(c.a),Ddc(new Cdc(),c,b));}
+function sec(f,d){var a,b,c,e;a=tt(new nt());if(d.a.a==1){pbc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(FU(e.b,'MORE')){a.Be(b,0,mz(new pw(),'<i>There are more items... try narrowing the search terms..<\/i>'));rt(wt(a),b,0,3);}else{a.Be(b,0,eC(new cC(),e.c[0]));a.Be(b,1,eC(new cC(),e.c[1]));c=yp(new sp(),'Open');c.z(lec(new kec(),f,e));a.Be(b,2,c);}}a.De('100%');f.d.Be(0,0,a);tdb();}
+function tec(a){xdb('Searching...');oUb(nMb(),zK(a.e),15,nq(a.a),hec(new gec(),a));}
+function tdc(){}
+_=tdc.prototype=new mr();_.tN=rgc+'QuickFindWidget';_.tI=600;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function vdc(b,a){b.a=a;return b;}
+function xdc(c,b,a){rec(c.a,b,a);}
+function udc(){}
+_=udc.prototype=new gU();_.tN=rgc+'QuickFindWidget$1';_.tI=601;function zdc(b,a){b.a=a;return b;}
+function Bdc(a){tec(this.a);}
+function ydc(){}
+_=ydc.prototype=new gU();_.Bc=Bdc;_.tN=rgc+'QuickFindWidget$2';_.tI=602;function Ddc(b,a,c){b.a=c;return b;}
+function Fdc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[609],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!FU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}D_(this.a,c);}
+function Cdc(){}
+_=Cdc.prototype=new wcb();_.rd=Fdc;_.tN=rgc+'QuickFindWidget$3';_.tI=603;function bec(b,a){b.a=a;return b;}
+function dec(a,b,c){}
+function eec(a,b,c){}
+function fec(a,b,c){if(b==13){tec(this.a);}}
+function aec(){}
+_=aec.prototype=new gU();_.ed=dec;_.fd=eec;_.gd=fec;_.tN=rgc+'QuickFindWidget$4';_.tI=604;function hec(b,a){b.a=a;return b;}
+function jec(a){var b;b=Fb(a,62);sec(this.a,b);}
+function gec(){}
+_=gec.prototype=new wcb();_.rd=jec;_.tN=rgc+'QuickFindWidget$5';_.tI=605;function lec(b,a,c){b.a=a;b.b=c;return b;}
+function nec(a){pbc(this.a.b,this.b.b);}
+function kec(){}
+_=kec.prototype=new gU();_.Bc=nec;_.tN=rgc+'QuickFindWidget$6';_.tI=606;function wec(a){a.a=oY(new mY());}
+function xec(a){wec(a);return a;}
+function yec(b,a,c){if(a>=b.a.b){zec(b,a);}BY(b.a,a,c);}
+function zec(c,a){var b;for(b=c.a.b;b<=a;b++){qY(c.a,null);}}
+function Bec(b,a){return vY(b.a,a);}
+function Cec(b,a){b.b=a;}
+function Dec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(Bec(this,this.b),34);b=Fb(Bec(d,this.b),34);return a.db(b);}
+function vec(){}
+_=vec.prototype=new gU();_.db=Dec;_.tN=sgc+'RowData';_.tI=607;_.b=0;function Fec(a){a.j=oY(new mY());a.i=oY(new mY());}
+function afc(c,b,a){cw(c,b+1,a);Fec(c);fy(c,c);CN(c,wfc);return c;}
+function bfc(c,b,a){if(b!=0){return;}nfc(c,a);pfc(c,a);ffc(c);}
+function dfc(e){var a,b,c,d,f;if(e.h==rfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(vY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Bec(b,a);jfc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(vY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Bec(b,a);jfc(e,d,a,f.tS());}}}}
+function efc(d){var a,b,c;c=0;for(b=d.i.sc();b.mc();){a=Fb(b.uc(),1);hfc(d,a,c++);}}
+function ffc(a){efc(a);dfc(a);}
+function gfc(a){return qy(a,a.f,a.e);}
+function hfc(d,c,b){var a;a=rU(new qU());tU(a,c);tU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==rfc){tU(a,"'"+d.a+"' alt='Ascending' ");}else{tU(a,"'"+d.c+"' alt='Descending' ");}}else{tU(a,"'"+d.b+"'");}tU(a,'/>');Ey(d,0,b,xU(a));tx(d.p,0,xfc);}
+function ifc(c,b,a){if(b%2==0){gx(c.n,b,a,vfc);}}
+function jfc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.Be(b,a,mB(new wA(),'images/'+F4b(d)));else az(c,b,a,d);}}
+function kfc(c,b,a){pY(c.i,a,b);hfc(c,b,a);}
+function lfc(b,a){b.d=a;}
+function mfc(b,a){b.e=a;ix(b.n,0,a,false);}
+function nfc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(vY(d.j,b),100);Cec(a,c);}}
+function ofc(d,b,a,e,f){var c;if(b==0)return;ifc(d,b,a);if(b-1>=d.j.b||null===vY(d.j,b-1)){pY(d.j,b-1,xec(new vec()));}c=Fb(vY(d.j,b-1),100);yec(c,a,e);if(f===null){az(d,b,a,''+e+'');}else{d.Be(b,a,f);}if(a==d.e){ix(d.n,b,a,false);}}
+function pfc(b,a){rZ(b.j);if(b.g!=a){b.h=rfc;}else{b.h=b.h==rfc?sfc:rfc;}b.g=a;}
+function qfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){gx(a,c,b,yfc);if(d.f%2==0&&d.f!=0){gx(a,d.f,b,vfc);}else{cx(a,d.f,b,yfc);}}d.f=c;}}
+function tfc(a,d,b,c){var e,f,g;g=null;if(b>a.Cb()){g=afc(new Eec(),b,d.a+1);ofc(g,1,1,'',null);}else{g=afc(new Eec(),a.Cb()+1,d.a+1);}kfc(g,'',0);for(e=0;e<d.a;e++){kfc(g,d[e],e+1);}mfc(g,0);for(e=0;e<a.Cb();e++){ofc(g,e+1,0,a.cc(e),null);for(f=0;f<d.a;f++){ofc(g,e+1,f+1,a.hc(e,f),a.ic(e,f));}}lfc(g,c);return g;}
+function ufc(c,b,a){if(b<=this.j.b){qfc(this,b);bfc(this,b,a);}}
+function Eec(){}
+_=Eec.prototype=new aw();_.zc=ufc;_.tN=sgc+'SortableTable';_.tI=608;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var rfc=0,sfc=1,vfc='rule-ListEvenRow',wfc='rule-List',xfc='rule-ListHeader',yfc='rule-SelectedRow';function aS(){q4(m4(new b4()));}
+function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{aS();}catch(a){b(d);}else{aS();}}
+var gc=[{},{11:1},{1:1,11:1,34:1,35:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{2:1,11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1},{8:1,11:1},{8:1,11:1},{8:1,11:1},{11:1},{2:1,6:1,11:1},{2:1,11:1},{9:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1},{3:1,11:1},{3:1,11:1,39:1},{3:1,11:1,92:1},{3:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,36:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,49:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1,33:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,43:1},{11:1,49:!
 1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,81:1},{11:1,13:1,36:1,37:1,81:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,46:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,49:1,56:1},{11:1,39:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,49:1},{11:1},{11:1,13:1,36:1,37:1,87:1},{11:1,13:1,36:1,37:1,48:1,54:1},{9:1,11:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,39:1},{11:1,39:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,50:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,80:1},{11:1,13:1,36:1,37:1,54:1},{11:1,36:1,52:1},{11:1,36:1,52:1},{11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1},{11:1},{11!
 :1},{11:1},{11:1},{11:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1},{11:1}
,{11:1},{3:1,11:1},{11:1,55:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{11:1,35:1},{3:1,11:1},{11:1},{11:1,57:1},{11:1,49:1,58:1},{11:1,49:1,58:1},{11:1},{11:1,49:1},{11:1},{11:1},{11:1,34:1,59:1},{11:1,57:1},{11:1,60:1},{11:1,49:1,58:1},{11:1},{11:1,49:1,58:1},{3:1,11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{7:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{8:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{1!
 1:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,53:1},{11:1,42:1},{11:1},{11:1},{11:1,36:1,52:1,64:1},{11:1,13:1,36:1,37:1,46:1,80:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,13:1,36:1,37:1,81:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,65:1},{11:1,13:1,36:1,37:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,38:1,39:1,91:1},{11:1,20:1,22:1,38:1,39:1},{11:1,23:1,38:1,39:1},{11:1,20:1,22:1,!
 24:1,38:1,39:1},{11:1,20:1,22:1,24:1,25:1,38:1,39:1},{11:1,20:1,26:1,3
8:1,39:1},{11:1,20:1,22:1,27:1,38:1,39:1},{11:1,20:1,22:1,27:1,28:1,38:1,39:1},{11:1,19:1,29:1,38:1,39:1},{11:1,21:1,30:1,38:1,39:1},{11:1,38:1,39:1,40:1},{11:1,15:1,38:1,39:1,40:1},{10:1,11:1,19:1,20:1,38:1,39:1},{11:1,19:1,31:1,38:1,39:1},{11:1,18:1,38:1,39:1},{11:1,38:1,39:1,83:1},{11:1,21:1,32:1,38:1,39:1,40:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,84:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,41:1},{4:1,11:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,46:1},{11:1,41:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,82:1,98:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:!
 1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,46:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{4:1,!
 11:1},{11:1,42:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1
,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1},{4:1,11:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1,53:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,90:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,42:1},{11:1,53:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1},{11:1,12:1,39:1},{3:1,11:1,39:1,70:1},{11:1,39:1,93:1},{11:1,16:1,39:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,39:1,97:1},{11:1,39:1,95:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1,69:1},{11:1,17:1,39:1},{11:1,39:1,99:1},{11:1,39:1,6!
 2:1},{11:1,14:1,39:1},{11:1,39:1,89:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,44:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1},{11:1,41:1},{11:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{!
 4:1,11:1},{4:1,11:1},{4:1,11:1},{4:1,11:1},{11:1},{11:1},{4:1,11:1},{1
1:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{11:1,46:1},{11:1},{11:1,42:1},{11:1,34:1,100:1},{11:1,13:1,36:1,37:1,51:1,54:1},{11:1,63:1},{11:1},{11:1,72:1,77:1,78:1},{11:1},{11:1,88:1},{11:1},{11:1},{11:1,94:1},{11:1,79:1},{11:1,71:1},{11:1,86:1},{11:1,76:1},{11:1,77:1},{11:1,78:1},{11:1,75:1},{11:1,78:1},{11:1,73:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,77:1},{11:1,75:1},{11:1,74:1,77:1},{11:1,75:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1}];if ($wnd.org_drools_brms_JBRMS) $wnd.org_drools_brms_JBRMS.onScriptLoad();
+--></script></body></html>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.js (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.js)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.js	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3425 @@
+(function(){var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var _,zfc='com.google.gwt.core.client.',Afc='com.google.gwt.lang.',Bfc='com.google.gwt.user.client.',Cfc='com.google.gwt.user.client.impl.',Dfc='com.google.gwt.user.client.rpc.',Efc='com.google.gwt.user.client.rpc.core.java.lang.',Ffc='com.google.gwt.user.client.rpc.core.java.util.',agc='com.google.gwt.user.client.rpc.impl.',bgc='com.google.gwt.user.client.ui.',cgc='com.google.gwt.user.client.ui.impl.',dgc='java.io.',egc='java.lang.',fgc='java.util.',ggc='org.drools.brms.client.',hgc='org.drools.brms.client.admin.',igc='org.drools.brms.client.categorynav.',jgc='org.drools.brms.client.common.',kgc='org.drools.brms.client.decisiontable.',lgc='org.drools.brms.client.modeldriven.',mgc='org.drools.brms.client.modeldriven.brl.',ngc='org.drools.brms.client.modeldriven.ui.',ogc='org.drools.brms.client.packages.',pgc='org.drools.brms.client.rpc.',qgc='org.drools.brms.client.ruleeditor.',rgc='org.droo!
 ls.brms.client.rulelist.',sgc='org.drools.brms.client.table.';function e3(){}
+function iU(a){return this===a;}
+function jU(){return BV(this);}
+function kU(){return this.tN+'@'+this.hC();}
+function gU(){}
+_=gU.prototype={};_.eQ=iU;_.hC=jU;_.tS=kU;_.toString=function(){return this.tS();};_.tN=egc+'Object';_.tI=1;function v(){return C();}
+function w(a){return a==null?null:a.tN;}
+var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function C(){return $moduleBase;}
+function D(){return ++E;}
+var E=0;function EV(b,a){b.c=a;return b;}
+function FV(c,b,a){c.c=b;return c;}
+function bW(){return this.c;}
+function cW(){var a,b;a=w(this);b=this.Bb();if(b!==null){return a+': '+b;}else{return a;}}
+function DV(){}
+_=DV.prototype=new gU();_.Bb=bW;_.tS=cW;_.tN=egc+'Throwable';_.tI=3;_.c=null;function DS(b,a){EV(b,a);return b;}
+function ES(c,b,a){FV(c,b,a);return c;}
+function CS(){}
+_=CS.prototype=new DV();_.tN=egc+'Exception';_.tI=4;function mU(b,a){DS(b,a);return b;}
+function nU(c,b,a){ES(c,b,a);return c;}
+function lU(){}
+_=lU.prototype=new CS();_.tN=egc+'RuntimeException';_.tI=5;function ab(c,b,a){mU(c,'JavaScript '+b+' exception: '+a);return c;}
+function F(){}
+_=F.prototype=new lU();_.tN=zfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
+function fb(a){return A(a);}
+function gb(){return [];}
+function hb(){return function(){};}
+function ib(){return {};}
+function kb(a){return eb(this,a);}
+function jb(a,b){return a===b;}
+function lb(){return fb(this);}
+function nb(){return mb(this);}
+function mb(a){if(a.toString)return a.toString();return '[object]';}
+function cb(){}
+_=cb.prototype=new gU();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=zfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
+function rb(a,b,c){return a[b]=c;}
+function tb(a,b){return sb(a,b);}
+function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
+function ub(b,a){return b[a];}
+function wb(b,a){return b[a];}
+function vb(a){return a.length;}
+function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
+function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new xT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=iV(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
+function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
+function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new hS();}return rb(a,b,c);}
+function ob(){}
+_=ob.prototype=new gU();_.tN=Afc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
+function Eb(a){return String.fromCharCode(a);}
+function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
+function ac(b,a){return b!=null&&Db(b.tI,a);}
+function bc(a){return a&65535;}
+function cc(a){return ~(~a);}
+function dc(a){if(a>(kT(),lT))return kT(),lT;if(a<(kT(),mT))return kT(),mT;return a>=0?Math.floor(a):Math.ceil(a);}
+function fc(){throw new xS();}
+function ec(a){if(a!==null){throw new xS();}return a;}
+function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
+var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
+function lc(a){return a.message;}
+function mc(a){return a.name;}
+function oc(b,a){return b;}
+function nc(){}
+_=nc.prototype=new lU();_.tN=Bfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=oY(new mY());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
+function gd(a){fd(a);return a;}
+function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
+function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.rb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(AV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
+function kd(a){if(!yY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
+function ld(b,a){b.c=a;}
+function md(b,a){b.e=a;}
+function nd(b,a){qY(b.b,a);kd(b);}
+function od(a,b){return vT(a-b)>=100;}
+function qc(){}
+_=qc.prototype=new gU();_.tN=Bfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=e3;uh=oY(new mY());{th();}}
+function ih(a){kh();return a;}
+function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}AY(uh,a);}
+function lh(a){if(!a.b){AY(uh,a);}a.he();}
+function nh(b,a){if(a<=0){throw bT(new aT(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);qY(uh,b);}
+function mh(b,a){if(a<=0){throw bT(new aT(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);qY(uh,b);}
+function oh(a){kh();$wnd.clearInterval(a);}
+function ph(a){kh();$wnd.clearTimeout(a);}
+function qh(b,a){kh();return $wnd.setInterval(function(){b.sb();},a);}
+function rh(b,a){kh();return $wnd.setTimeout(function(){b.sb();},a);}
+function sh(){var a;a=x;{lh(this);}}
+function th(){kh();yh(new eh());}
+function dh(){}
+_=dh.prototype=new gU();_.sb=sh;_.tN=Bfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=e3;kh();}
+function sc(b,a){tc();b.a=a;ih(b);return b;}
+function uc(){if(!this.a.c){return;}id(this.a);}
+function rc(){}
+_=rc.prototype=new dh();_.he=uc;_.tN=Bfc+'CommandExecutor$1';_.tI=14;function xc(){xc=e3;kh();}
+function wc(b,a){xc();b.a=a;ih(b);return b;}
+function yc(){md(this.a,false);jd(this.a,AV());}
+function vc(){}
+_=vc.prototype=new dh();_.he=yc;_.tN=Bfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
+function Cc(a){return vY(a.d.b,a.b);}
+function Dc(a){return a.c<a.a;}
+function Ec(b){var a;b.b=b.c;a=vY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
+function Fc(a){zY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
+function ad(b,a){b.a=a;}
+function bd(a){return a.b==(-1);}
+function cd(){return Dc(this);}
+function dd(){return Ec(this);}
+function ed(){Fc(this);}
+function zc(){}
+_=zc.prototype=new gU();_.mc=cd;_.uc=dd;_.ee=ed;_.tN=Bfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=e3;rf=oY(new mY());{gf=new li();ti(gf);}}
+function sd(a){rd();qY(rf,a);}
+function td(b,a){rd();jj(gf,b,a);}
+function ud(a,b){rd();return qi(gf,a,b);}
+function vd(){rd();return lj(gf,'A');}
+function wd(){rd();return lj(gf,'button');}
+function xd(){rd();return lj(gf,'div');}
+function yd(a){rd();return lj(gf,a);}
+function zd(){rd();return lj(gf,'form');}
+function Ad(){rd();return lj(gf,'iframe');}
+function Bd(){rd();return lj(gf,'img');}
+function Cd(){rd();return mj(gf,'checkbox');}
+function Dd(){rd();return mj(gf,'password');}
+function Ed(a){rd();return Bi(gf,a);}
+function Fd(){rd();return mj(gf,'text');}
+function ae(){rd();return lj(gf,'label');}
+function be(a){rd();return nj(gf,a);}
+function ce(){rd();return lj(gf,'span');}
+function de(){rd();return lj(gf,'tbody');}
+function ee(){rd();return lj(gf,'td');}
+function fe(){rd();return lj(gf,'tr');}
+function ge(){rd();return lj(gf,'table');}
+function he(){rd();return lj(gf,'textarea');}
+function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
+function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.yc(b);}finally{ie=d;}}
+function le(b,a){rd();oj(gf,b,a);}
+function me(a){rd();return pj(gf,a);}
+function ne(a){rd();return qj(gf,a);}
+function oe(a){rd();return rj(gf,a);}
+function pe(a){rd();return sj(gf,a);}
+function qe(a){rd();return tj(gf,a);}
+function re(a){rd();return Ci(gf,a);}
+function se(a){rd();return uj(gf,a);}
+function te(a){rd();return vj(gf,a);}
+function ue(a){rd();return wj(gf,a);}
+function ve(a){rd();return Di(gf,a);}
+function we(a){rd();return Ei(gf,a);}
+function xe(a){rd();return xj(gf,a);}
+function ye(a){rd();Fi(gf,a);}
+function ze(a){rd();return aj(gf,a);}
+function Ae(a){rd();return ni(gf,a);}
+function Be(a){rd();return oi(gf,a);}
+function Ee(b,a){rd();return cj(gf,b,a);}
+function Ce(a){rd();return bj(gf,a);}
+function De(b,a){rd();return ri(gf,b,a);}
+function bf(a,b){rd();return Aj(gf,a,b);}
+function Fe(a,b){rd();return yj(gf,a,b);}
+function af(a,b){rd();return zj(gf,a,b);}
+function cf(a){rd();return Bj(gf,a);}
+function df(a){rd();return dj(gf,a);}
+function ef(a){rd();return Cj(gf,a);}
+function ff(a){rd();return ej(gf,a);}
+function hf(c,a,b){rd();gj(gf,c,a,b);}
+function jf(c,b,d,a){rd();Dj(gf,c,b,d,a);}
+function kf(b,a){rd();return ui(gf,b,a);}
+function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(vY(rf,rf.b-1),5);if(!(c=b.Ec(a))){le(a,true);ye(a);}}return c;}
+function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}vi(gf,a);}
+function nf(b,a){rd();Ej(gf,b,a);}
+function of(b,a){rd();Fj(gf,b,a);}
+function pf(a){rd();AY(rf,a);}
+function sf(a){rd();ak(gf,a);}
+function tf(a){rd();qf=a;hj(gf,a);}
+function uf(b,a,c){rd();bk(gf,b,a,c);}
+function xf(a,b,c){rd();ek(gf,a,b,c);}
+function vf(a,b,c){rd();ck(gf,a,b,c);}
+function wf(a,b,c){rd();dk(gf,a,b,c);}
+function yf(a,b){rd();fk(gf,a,b);}
+function zf(a,b){rd();gk(gf,a,b);}
+function Af(a,b){rd();hk(gf,a,b);}
+function Bf(a,b){rd();ik(gf,a,b);}
+function Cf(b,a,c){rd();jk(gf,b,a,c);}
+function Df(b,a,c){rd();kk(gf,b,a,c);}
+function Ef(a,b){rd();xi(gf,a,b);}
+function Ff(a){rd();return yi(gf,a);}
+function ag(){rd();return lk(gf);}
+function bg(){rd();return mk(gf);}
+var ie=null,gf=null,qf=null,rf;function dg(){dg=e3;gg=gd(new qc());}
+function fg(a){dg();nd(gg,a);}
+function eg(a){dg();if(a===null){throw AT(new zT(),'cmd can not be null');}nd(gg,a);}
+var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
+function kg(a){return jg(this,a);}
+function lg(){return fb(hc(this,hg));}
+function mg(){return Ff(this);}
+function hg(){}
+_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=Bfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
+function sg(){return fb(hc(this,ng));}
+function tg(){return ze(this);}
+function ng(){}
+_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=Bfc+'Event';_.tI=18;function vg(){vg=e3;xg=pk(new ok());}
+function wg(c,b,a){vg();return rk(xg,c,b,a);}
+var xg;function Ag(){Ag=e3;Eg=oY(new mY());{Fg=new xk();if(!Ck(Fg)){Fg=null;}}}
+function Bg(a){Ag();qY(Eg,a);}
+function Cg(a){Ag();var b,c;for(b=Eg.sc();b.mc();){c=Fb(b.uc(),7);c.dd(a);}}
+function Dg(){Ag();return Fg!==null?Ek(Fg):'';}
+function ah(a){Ag();if(Fg!==null){zk(Fg,a);}}
+function bh(b){Ag();var a;a=x;{Cg(b);}}
+var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(vY((kh(),uh),0),8));}}
+function hh(){return null;}
+function eh(){}
+_=eh.prototype=new gU();_.wd=gh;_.xd=hh;_.tN=Bfc+'Timer$1';_.tI=19;function xh(){xh=e3;Ah=oY(new mY());ii=oY(new mY());{di();}}
+function yh(a){xh();qY(Ah,a);}
+function zh(a){xh();$wnd.alert(a);}
+function Bh(a){xh();return $wnd.confirm(a);}
+function Ch(){xh();var a,b;for(a=Ah.sc();a.mc();){b=Fb(a.uc(),9);b.wd();}}
+function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.sc();a.mc();){b=Fb(a.uc(),9);c=b.xd();{d=c;}}return d;}
+function Eh(){xh();var a,b;for(a=ii.sc();a.mc();){b=ec(a.uc());null.lf();}}
+function Fh(){xh();return ag();}
+function ai(){xh();return bg();}
+function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
+function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
+function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
+function ei(){xh();var a;a=x;{Ch();}}
+function fi(){xh();var a;a=x;{return Dh();}}
+function gi(){xh();var a;a=x;{Eh();}}
+function hi(c,b,a){xh();$wnd.open(c,b,a);}
+var Ah,ii;function jj(c,b,a){b.appendChild(a);}
+function lj(b,a){return $doc.createElement(a);}
+function mj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
+function nj(c,a){var b;b=lj(c,'select');if(a){ck(c,b,'multiple',true);}return b;}
+function oj(c,b,a){b.cancelBubble=a;}
+function pj(b,a){return !(!a.altKey);}
+function qj(b,a){return a.clientX|| -1;}
+function rj(b,a){return a.clientY|| -1;}
+function sj(b,a){return !(!a.ctrlKey);}
+function tj(b,a){return a.currentTarget;}
+function uj(b,a){return a.which||(a.keyCode|| -1);}
+function vj(b,a){return !(!a.metaKey);}
+function wj(b,a){return !(!a.shiftKey);}
+function xj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
+function Aj(d,a,b){var c=a[b];return c==null?null:String(c);}
+function yj(c,a,b){return !(!a[b]);}
+function zj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
+function Bj(b,a){return a.__eventBits||0;}
+function Cj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.zb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
+function Dj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
+function Ej(c,b,a){b.removeChild(a);}
+function Fj(c,b,a){b.removeAttribute(a);}
+function ak(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
+function bk(c,b,a,d){b.setAttribute(a,d);}
+function ek(c,a,b,d){a[b]=d;}
+function ck(c,a,b,d){a[b]=d;}
+function dk(c,a,b,d){a[b]=d;}
+function fk(c,a,b){a.__listener=b;}
+function gk(c,a,b){a.src=b;}
+function hk(c,a,b){if(!b){b='';}a.innerHTML=b;}
+function ik(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
+function jk(c,b,a,d){b.style[a]=d;}
+function kk(c,b,a,d){b.style[a]=d;}
+function lk(a){return $doc.body.clientHeight;}
+function mk(a){return $doc.body.clientWidth;}
+function nk(a){return Cj(this,a);}
+function ji(){}
+_=ji.prototype=new gU();_.zb=nk;_.tN=Cfc+'DOMImpl';_.tI=20;function Bi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
+function Ci(b,a){return a.relatedTarget?a.relatedTarget:null;}
+function Di(b,a){return a.target||null;}
+function Ei(b,a){return a.relatedTarget||null;}
+function Fi(b,a){a.preventDefault();}
+function aj(b,a){return a.toString();}
+function cj(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
+function bj(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
+function dj(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
+function ej(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
+function fj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
+function gj(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
+function hj(b,a){$wnd.__captureElem=a;}
+function ij(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
+function zi(){}
+_=zi.prototype=new ji();_.tN=Cfc+'DOMImplStandard';_.tI=21;function qi(c,a,b){if(!a&& !b){return true;}else if(!a|| !b){return false;}return a.isSameNode(b);}
+function ri(d,c,e){var b=0,a=c.firstChild;while(a){if(a.isSameNode(e)){return b;}if(a.nodeType==1){++b;}a=a.nextSibling;}return -1;}
+function ti(a){fj(a);si(a);}
+function si(d){$wnd.addEventListener('mouseout',function(b){var a=$wnd.__captureElem;if(a&& !b.relatedTarget){if('html'==b.target.tagName.toLowerCase()){var c=$doc.createEvent('MouseEvents');c.initMouseEvent('mouseup',true,true,$wnd,0,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,null);a.dispatchEvent(c);}}},true);$wnd.addEventListener('DOMMouseScroll',$wnd.__dispatchCapturedMouseEvent,true);}
+function ui(d,c,b){while(b){if(c.isSameNode(b)){return true;}try{b=b.parentNode;}catch(a){return false;}if(b&&b.nodeType!=1){b=null;}}return false;}
+function vi(b,a){if(a.isSameNode($wnd.__captureElem)){$wnd.__captureElem=null;}}
+function xi(c,b,a){ij(c,b,a);wi(c,b,a);}
+function wi(c,b,a){if(a&131072){b.addEventListener('DOMMouseScroll',$wnd.__dispatchEvent,false);}}
+function yi(d,a){var b=a.cloneNode(true);var c=$doc.createElement('DIV');c.appendChild(b);outer=c.innerHTML;b.innerHTML='';return outer;}
+function ki(){}
+_=ki.prototype=new zi();_.tN=Cfc+'DOMImplMozilla';_.tI=22;function ni(e,a){var d=$doc.defaultView.getComputedStyle(a,null);var b=$doc.getBoxObjectFor(a).x-Math.round(d.getPropertyCSSValue('border-left-width').getFloatValue(CSSPrimitiveValue.CSS_PX));var c=a.parentNode;while(c){if(c.scrollLeft>0){b-=c.scrollLeft;}c=c.parentNode;}return b+$doc.body.scrollLeft+$doc.documentElement.scrollLeft;}
+function oi(d,a){var c=$doc.defaultView.getComputedStyle(a,null);var e=$doc.getBoxObjectFor(a).y-Math.round(c.getPropertyCSSValue('border-top-width').getFloatValue(CSSPrimitiveValue.CSS_PX));var b=a.parentNode;while(b){if(b.scrollTop>0){e-=b.scrollTop;}b=b.parentNode;}return e+$doc.body.scrollTop+$doc.documentElement.scrollTop;}
+function li(){}
+_=li.prototype=new ki();_.tN=Cfc+'DOMImplMozillaOld';_.tI=23;function pk(a){vk=hb();return a;}
+function rk(c,d,b,a){return sk(c,null,null,d,b,a);}
+function sk(d,f,c,e,b,a){return qk(d,f,c,e,b,a);}
+function qk(e,g,d,f,c,b){var h=e.nb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=vk;b.Cc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=vk;return false;}}
+function uk(){return new XMLHttpRequest();}
+function ok(){}
+_=ok.prototype=new gU();_.nb=uk;_.tN=Cfc+'HTTPRequestImpl';_.tI=24;var vk=null;function Ek(a){return $wnd.__gwt_historyToken;}
+function Fk(a){bh(a);}
+function wk(){}
+_=wk.prototype=new gU();_.tN=Cfc+'HistoryImpl';_.tI=25;function Ck(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;Fk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
+function Ak(){}
+_=Ak.prototype=new wk();_.tN=Cfc+'HistoryImplStandard';_.tI=26;function zk(d,a){if(a==null||a.length==0){var c=$wnd.location.href;var b=c.indexOf('#');if(b!= -1)c=c.substring(0,b);$wnd.location=c+'#';}else{$wnd.location.hash=encodeURIComponent(a);}}
+function xk(){}
+_=xk.prototype=new Ak();_.tN=Cfc+'HistoryImplMozilla';_.tI=27;function cl(a){mU(a,'This application is out of date, please click the refresh button on your browser');return a;}
+function bl(){}
+_=bl.prototype=new lU();_.tN=Dfc+'IncompatibleRemoteServiceException';_.tI=28;function gl(b,a){}
+function hl(b,a){}
+function jl(b,a){nU(b,a,null);return b;}
+function il(){}
+_=il.prototype=new lU();_.tN=Dfc+'InvocationException';_.tI=29;function vl(){return this.b;}
+function nl(){}
+_=nl.prototype=new CS();_.Bb=vl;_.tN=Dfc+'SerializableException';_.tI=30;_.b=null;function rl(b,a){ul(a,b.ae());}
+function sl(a){return a.b;}
+function tl(b,a){b.jf(sl(a));}
+function ul(a,b){a.b=b;}
+function xl(b,a){DS(b,a);return b;}
+function wl(){}
+_=wl.prototype=new CS();_.tN=Dfc+'SerializationException';_.tI=31;function Cl(a){jl(a,'Service implementation URL not specified');return a;}
+function Bl(){}
+_=Bl.prototype=new il();_.tN=Dfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=32;function bm(b,a){}
+function cm(a){return rS(a.Bd());}
+function dm(b,a){b.df(a.a);}
+function gm(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Fd());}}
+function hm(d,a){var b,c;b=a.a;d.ff(b);for(c=0;c<b;++c){d.hf(a[c]);}}
+function km(b,a){}
+function lm(a){return a.ae();}
+function mm(b,a){b.jf(a);}
+function pm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Cd();}}
+function qm(d,a){var b,c;b=a.a;d.ff(b);for(c=0;c<b;++c){d.ef(a[c]);}}
+function tm(e,b){var a,c,d;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();qY(b,c);}}
+function um(e,a){var b,c,d;d=a.b;e.ff(d);b=a.sc();while(b.mc()){c=b.uc();e.hf(c);}}
+function xm(b,a){}
+function ym(a){return BZ(new zZ(),a.Ed());}
+function zm(b,a){b.gf(EZ(a));}
+function Cm(e,b){var a,c,d,f;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();f=e.Fd();s1(b,c,f);}}
+function Dm(f,c){var a,b,d,e;e=c.c;f.ff(e);b=q1(c);d=g1(b);while(E0(d)){a=F0(d);f.hf(a.Ab());f.hf(a.gc());}}
+function an(d,b){var a,c;c=d.Dd();for(a=0;a<c;++a){g2(b,d.Fd());}}
+function bn(c,a){var b;c.ff(a.a.c);for(b=i2(a);jX(b);){c.hf(kX(b));}}
+function en(e,b){var a,c,d;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();z2(b,c);}}
+function fn(e,a){var b,c,d;d=a.a.b;e.ff(d);b=B2(a);while(b.mc()){c=b.uc();e.hf(c);}}
+function Dn(a){return a.j>2;}
+function En(b,a){b.i=a;}
+function Fn(a,b){a.j=b;}
+function gn(){}
+_=gn.prototype=new gU();_.tN=agc+'AbstractSerializationStream';_.tI=33;_.i=0;_.j=3;function jn(a){a.e=oY(new mY());}
+function kn(a){jn(a);return a;}
+function mn(b,a){sY(b.e);Fn(b,ho(b));En(b,ho(b));}
+function nn(a){var b,c;b=a.Dd();if(b<0){return vY(a.e,-(b+1));}c=a.ec(b);if(c===null){return null;}return a.lb(c);}
+function on(b,a){qY(b.e,a);}
+function pn(){return nn(this);}
+function hn(){}
+_=hn.prototype=new gn();_.Fd=pn;_.tN=agc+'AbstractSerializationStreamReader';_.tI=34;function sn(b,a){b.ab(a?'1':'0');}
+function tn(b,a){b.ab(vV(a));}
+function un(c,a){var b,d;if(a===null){vn(c,null);return;}b=c.yb(a);if(b>=0){tn(c,-(b+1));return;}c.ie(a);d=c.Db(a);vn(c,d);c.le(a,d);}
+function vn(a,b){tn(a,a.B(b));}
+function wn(a){sn(this,a);}
+function xn(a){this.ab(vV(a));}
+function yn(a){tn(this,a);}
+function zn(a){this.ab(wV(a));}
+function An(a){un(this,a);}
+function Bn(a){vn(this,a);}
+function qn(){}
+_=qn.prototype=new gn();_.df=wn;_.ef=xn;_.ff=yn;_.gf=zn;_.hf=An;_.jf=Bn;_.tN=agc+'AbstractSerializationStreamWriter';_.tI=35;function bo(b,a){kn(b);b.c=a;return b;}
+function eo(b,a){if(!a){return null;}return b.d[a-1];}
+function fo(b,a){b.b=lo(a);b.a=mo(b.b);mn(b,a);b.d=io(b);}
+function go(a){return !(!a.b[--a.a]);}
+function ho(a){return a.b[--a.a];}
+function io(a){return a.b[--a.a];}
+function jo(a){return eo(a,ho(a));}
+function ko(b){var a;a=this.c.pc(this,b);on(this,a);this.c.kb(this,a,b);return a;}
+function lo(a){return eval(a);}
+function mo(a){return a.length;}
+function no(a){return eo(this,a);}
+function oo(){return go(this);}
+function po(){return this.b[--this.a];}
+function qo(){return ho(this);}
+function ro(){return this.b[--this.a];}
+function so(){return jo(this);}
+function ao(){}
+_=ao.prototype=new hn();_.lb=ko;_.ec=no;_.Bd=oo;_.Cd=po;_.Dd=qo;_.Ed=ro;_.ae=so;_.tN=agc+'ClientSerializationStreamReader';_.tI=36;_.a=0;_.b=null;_.c=null;_.d=null;function uo(a){a.h=oY(new mY());}
+function vo(d,c,a,b){uo(d);d.f=c;d.b=a;d.e=b;return d;}
+function xo(c,a){var b=c.d[a];return b==null?-1:b;}
+function yo(c,a){var b=c.g[':'+a];return b==null?0:b;}
+function zo(a){a.c=0;a.d=ib();a.g=ib();sY(a.h);a.a=rU(new qU());if(Dn(a)){vn(a,a.b);vn(a,a.e);}}
+function Ao(b,a,c){b.d[a]=c;}
+function Bo(b,a,c){b.g[':'+a]=c;}
+function Co(b){var a;a=rU(new qU());Do(b,a);Fo(b,a);Eo(b,a);return xU(a);}
+function Do(b,a){bp(a,vV(b.j));bp(a,vV(b.i));}
+function Eo(b,a){tU(a,xU(b.a));}
+function Fo(d,a){var b,c;c=d.h.b;bp(a,vV(c));for(b=0;b<c;++b){bp(a,Fb(vY(d.h,b),1));}return a;}
+function ap(b){var a;if(b===null){return 0;}a=yo(this,b);if(a>0){return a;}qY(this.h,b);a=this.h.b;Bo(this,b,a);return a;}
+function bp(a,b){tU(a,b);sU(a,65535);}
+function cp(a){bp(this.a,a);}
+function dp(a){return xo(this,BV(a));}
+function ep(a){var b,c;c=w(a);b=this.f.dc(c);if(b!==null){c+='/'+b;}return c;}
+function fp(a){Ao(this,BV(a),this.c++);}
+function gp(a,b){this.f.ke(this,a,b);}
+function hp(){return Co(this);}
+function to(){}
+_=to.prototype=new qn();_.B=ap;_.ab=cp;_.yb=dp;_.Db=ep;_.ie=fp;_.le=gp;_.tS=hp;_.tN=agc+'ClientSerializationStreamWriter';_.tI=37;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function rN(b,a){hO(b.fc(),a,true);}
+function tN(a){return Ae(a.wb());}
+function uN(a){return Be(a.wb());}
+function vN(a){return af(a.w,'offsetHeight');}
+function wN(a){return af(a.w,'offsetWidth');}
+function xN(b,a){hO(b.fc(),a,false);}
+function yN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
+function zN(b,a){if(b.w!==null){yN(b,b.w,a);}b.w=a;}
+function AN(b,c,a){if(c>=0){b.De(c+'px');}if(a>=0){b.se(a+'px');}}
+function BN(b,c,a){b.De(c);b.se(a);}
+function CN(b,a){gO(b.fc(),a);}
+function DN(b,a){Ef(b.wb(),a|cf(b.wb()));}
+function EN(){return this.w;}
+function FN(){return vN(this);}
+function aO(){return wN(this);}
+function bO(){return this.w;}
+function cO(a){return bf(a,'className');}
+function dO(a){return a.style.display!='none';}
+function eO(a){zN(this,a);}
+function fO(a){Df(this.w,'height',a);}
+function gO(a,b){xf(a,'className',b);}
+function hO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw mU(new lU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=mV(j);if(dV(j)==0){throw bT(new aT(),'Style names cannot be empty');}i=cO(c);e=bV(i,j);while(e!=(-1)){if(e==0||AU(i,e-1)==32){f=e+dV(j);g=dV(i);if(f==g||f<g&&AU(i,f)==32){break;}}e=cV(i,j,e+1);}if(a){if(e==(-1)){if(dV(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=mV(jV(i,0,e));d=mV(iV(i,e+dV(j)));if(dV(b)==0){h=d;}else if(dV(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
+function iO(a){if(a===null||dV(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
+function jO(a,b){a.style.display=b?'':'none';}
+function kO(a){jO(this.w,a);}
+function lO(a){Df(this.w,'width',a);}
+function mO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
+function qN(){}
+_=qN.prototype=new gU();_.wb=EN;_.Eb=FN;_.Fb=aO;_.fc=bO;_.oe=eO;_.se=fO;_.ve=iO;_.Ae=kO;_.De=lO;_.tS=mO;_.tN=bgc+'UIObject';_.tI=38;_.w=null;function yP(a){if(a.qc()){throw eT(new dT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.wb(),a);a.mb();a.hd();}
+function zP(a){if(!a.qc()){throw eT(new dT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.vd();}finally{a.ob();yf(a.wb(),null);a.t=false;}}
+function AP(a){if(ac(a.v,54)){Fb(a.v,54).ge(a);}else if(a.v!==null){throw eT(new dT(),"This widget's parent does not implement HasWidgets");}}
+function BP(b,a){if(b.qc()){yf(b.wb(),null);}zN(b,a);if(b.qc()){yf(a,b);}}
+function CP(b,a){b.u=a;}
+function DP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.qc()){c.Dc();}c.v=null;}else{if(a!==null){throw eT(new dT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.qc()){c.wc();}}}
+function EP(){}
+function FP(){}
+function aQ(){return this.t;}
+function bQ(){yP(this);}
+function cQ(a){}
+function dQ(){zP(this);}
+function eQ(){}
+function fQ(){}
+function gQ(a){BP(this,a);}
+function wO(){}
+_=wO.prototype=new qN();_.mb=EP;_.ob=FP;_.qc=aQ;_.wc=bQ;_.yc=cQ;_.Dc=dQ;_.hd=eQ;_.vd=fQ;_.oe=gQ;_.tN=bgc+'Widget';_.tI=39;_.t=false;_.u=null;_.v=null;function CD(b,a){DP(a,b);}
+function ED(b,a){DP(a,null);}
+function FD(){var a;a=this.sc();while(a.mc()){a.uc();a.ee();}}
+function aE(){var a,b;for(b=this.sc();b.mc();){a=Fb(b.uc(),13);a.wc();}}
+function bE(){var a,b;for(b=this.sc();b.mc();){a=Fb(b.uc(),13);a.Dc();}}
+function cE(){}
+function dE(){}
+function BD(){}
+_=BD.prototype=new wO();_.cb=FD;_.mb=aE;_.ob=bE;_.hd=cE;_.vd=dE;_.tN=bgc+'Panel';_.tI=40;function Dq(a){a.f=aP(new xO(),a);}
+function Eq(a){Dq(a);return a;}
+function Fq(c,a,b){AP(a);bP(c.f,a);td(b,a.wb());CD(c,a);}
+function ar(d,b,a){var c;cr(d,a);if(b.v===d){c=er(d,b);if(c<a){a--;}}return a;}
+function br(b,a){if(a<0||a>=b.f.c){throw new gT();}}
+function cr(b,a){if(a<0||a>b.f.c){throw new gT();}}
+function fr(b,a){return dP(b.f,a);}
+function er(b,a){return eP(b.f,a);}
+function gr(e,b,c,a,d){a=ar(e,b,a);AP(b);fP(e.f,b,a);if(d){hf(c,b.wb(),a);}else{td(c,b.wb());}CD(e,b);}
+function hr(a){return gP(a.f);}
+function ir(b,c){var a;if(c.v!==b){return false;}ED(b,c);a=c.wb();nf(ff(a),a);iP(b.f,c);return true;}
+function jr(){return hr(this);}
+function kr(a){return this.ge(fr(this,a));}
+function lr(a){return ir(this,a);}
+function Cq(){}
+_=Cq.prototype=new BD();_.sc=jr;_.fe=kr;_.ge=lr;_.tN=bgc+'ComplexPanel';_.tI=41;function kp(a){Eq(a);a.oe(xd());Df(a.wb(),'position','relative');Df(a.wb(),'overflow','hidden');return a;}
+function lp(a,b){Fq(a,b,a.wb());}
+function np(b,c){var a;a=ir(b,c);if(a){op(c.wb());}return a;}
+function op(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
+function pp(a){return np(this,a);}
+function jp(){}
+_=jp.prototype=new Cq();_.ge=pp;_.tN=bgc+'AbsolutePanel';_.tI=42;function qp(){}
+_=qp.prototype=new gU();_.tN=bgc+'AbstractImagePrototype';_.tI=43;function pu(){pu=e3;tu=(aR(),eR);}
+function nu(b,a){pu();ru(b,a);return b;}
+function ou(b,a){if(b.k===null){b.k=du(new cu());}qY(b.k,a);}
+function qu(b,a){switch(xe(a)){case 1:if(b.j!==null){Aq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){fu(b.k,b,a);}break;case 128:case 512:case 256:break;}}
+function ru(b,a){BP(b,a);DN(b,7041);}
+function su(a){if(this.j===null){this.j=yq(new xq());}qY(this.j,a);}
+function uu(a){qu(this,a);}
+function vu(a){ru(this,a);}
+function wu(a){vf(this.wb(),'disabled',!a);}
+function xu(a){if(a){tu.tb(this.wb());}else{tu.bb(this.wb());}}
+function yu(a){tu.ue(this.wb(),a);}
+function mu(){}
+_=mu.prototype=new wO();_.z=su;_.yc=uu;_.oe=vu;_.pe=wu;_.qe=xu;_.te=yu;_.tN=bgc+'FocusWidget';_.tI=44;_.j=null;_.k=null;var tu;function vp(){vp=e3;pu();}
+function up(b,a){vp();nu(b,a);return b;}
+function wp(a){Af(this.wb(),a);}
+function tp(){}
+_=tp.prototype=new mu();_.re=wp;_.tN=bgc+'ButtonBase';_.tI=45;function zp(){zp=e3;vp();}
+function xp(a){zp();up(a,wd());Ap(a.wb());CN(a,'gwt-Button');return a;}
+function yp(b,a){zp();xp(b);b.re(a);return b;}
+function Ap(b){zp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
+function sp(){}
+_=sp.prototype=new tp();_.tN=bgc+'Button';_.tI=46;function Cp(a){Eq(a);a.e=ge();a.d=de();td(a.e,a.d);a.oe(a.e);return a;}
+function Ep(c,b,a){xf(b,'align',a.a);}
+function Fp(c,b,a){Df(b,'verticalAlign',a.a);}
+function aq(c,a){var b;b=ff(c.wb());xf(b,'height',a);}
+function bq(b,c){var a;a=ff(b.wb());xf(a,'width',c);}
+function Bp(){}
+_=Bp.prototype=new Cq();_.me=aq;_.ne=bq;_.tN=bgc+'CellPanel';_.tI=47;_.d=null;_.e=null;function hW(d,a,b){var c;while(a.mc()){c=a.uc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
+function jW(a){throw eW(new dW(),'add');}
+function kW(b){var a;a=hW(this,this.sc(),b);return a!==null;}
+function lW(){return this.bf(yb('[Ljava.lang.Object;',[612],[11],[this.Ee()],null));}
+function mW(a){var b,c,d;d=this.Ee();if(a.a<d){a=tb(a,d);}b=0;for(c=this.sc();c.mc();){Ab(a,b++,c.uc());}if(a.a>d){Ab(a,d,null);}return a;}
+function nW(){var a,b,c;c=rU(new qU());a=null;tU(c,'[');b=this.sc();while(b.mc()){if(a!==null){tU(c,a);}else{a=', ';}tU(c,xV(b.uc()));}tU(c,']');return xU(c);}
+function gW(){}
+_=gW.prototype=new gU();_.E=jW;_.gb=kW;_.af=lW;_.bf=mW;_.tS=nW;_.tN=fgc+'AbstractCollection';_.tI=48;function xW(b,a){throw hT(new gT(),'Index: '+a+', Size: '+b.b);}
+function yW(b,a){throw eW(new dW(),'add');}
+function zW(a){this.D(this.Ee(),a);return true;}
+function AW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ee()!=f.Ee()){return false;}c=this.sc();d=f.sc();while(c.mc()){a=c.uc();b=d.uc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
+function BW(){var a,b,c,d;c=1;a=31;b=this.sc();while(b.mc()){d=b.uc();c=31*c+(d===null?0:d.hC());}return c;}
+function CW(){return qW(new pW(),this);}
+function DW(a){throw eW(new dW(),'remove');}
+function oW(){}
+_=oW.prototype=new gW();_.D=yW;_.E=zW;_.eQ=AW;_.hC=BW;_.sc=CW;_.fe=DW;_.tN=fgc+'AbstractList';_.tI=49;function nY(a){{rY(a);}}
+function oY(a){nY(a);return a;}
+function pY(c,a,b){if(a<0||a>c.b){xW(c,a);}CY(c.a,a,b);++c.b;}
+function qY(b,a){fZ(b.a,b.b++,a);return true;}
+function sY(a){rY(a);}
+function rY(a){a.a=gb();a.b=0;}
+function uY(b,a){return wY(b,a)!=(-1);}
+function vY(b,a){if(a<0||a>=b.b){xW(b,a);}return bZ(b.a,a);}
+function wY(b,a){return xY(b,a,0);}
+function xY(c,b,a){if(a<0){xW(c,a);}for(;a<c.b;++a){if(aZ(b,bZ(c.a,a))){return a;}}return (-1);}
+function yY(a){return a.b==0;}
+function zY(c,a){var b;b=vY(c,a);dZ(c.a,a,1);--c.b;return b;}
+function AY(c,b){var a;a=wY(c,b);if(a==(-1)){return false;}zY(c,a);return true;}
+function BY(d,a,b){var c;c=vY(d,a);fZ(d.a,a,b);return c;}
+function DY(a,b){pY(this,a,b);}
+function EY(a){return qY(this,a);}
+function CY(a,b,c){a.splice(b,0,c);}
+function FY(a){return uY(this,a);}
+function aZ(a,b){return a===b||a!==null&&a.eQ(b);}
+function cZ(a){return vY(this,a);}
+function bZ(a,b){return a[b];}
+function eZ(a){return zY(this,a);}
+function dZ(a,c,b){a.splice(c,b);}
+function fZ(a,b,c){a[b]=c;}
+function gZ(){return this.b;}
+function hZ(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,bZ(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
+function mY(){}
+_=mY.prototype=new oW();_.D=DY;_.E=EY;_.gb=FY;_.jc=cZ;_.fe=eZ;_.Ee=gZ;_.bf=hZ;_.tN=fgc+'ArrayList';_.tI=50;_.a=null;_.b=0;function dq(a){oY(a);return a;}
+function fq(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),41);b.Ac(c);}}
+function cq(){}
+_=cq.prototype=new mY();_.tN=bgc+'ChangeListenerCollection';_.tI=51;function lq(){lq=e3;vp();}
+function iq(a){lq();jq(a,Cd());CN(a,'gwt-CheckBox');return a;}
+function kq(b,a){lq();iq(b);pq(b,a);return b;}
+function jq(b,a){var c;lq();up(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.wb()));Ef(b.wb(),0);td(b.wb(),b.a);td(b.wb(),b.b);c='check'+ ++wq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
+function mq(a){return ef(a.b);}
+function nq(b){var a;a=b.qc()?'checked':'defaultChecked';return Fe(b.a,a);}
+function oq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
+function pq(b,a){Bf(b.b,a);}
+function qq(){yf(this.a,this);}
+function rq(){yf(this.a,null);oq(this,nq(this));}
+function sq(a){vf(this.a,'disabled',!a);}
+function tq(a){if(a){tu.tb(this.a);}else{tu.bb(this.a);}}
+function uq(a){Af(this.b,a);}
+function vq(a){tu.ue(this.a,a);}
+function hq(){}
+_=hq.prototype=new tp();_.hd=qq;_.vd=rq;_.pe=sq;_.qe=tq;_.re=uq;_.te=vq;_.tN=bgc+'CheckBox';_.tI=52;_.a=null;_.b=null;var wq=0;function yq(a){oY(a);return a;}
+function Aq(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),42);b.Bc(c);}}
+function xq(){}
+_=xq.prototype=new mY();_.tN=bgc+'ClickListenerCollection';_.tI=53;function or(a,b){if(a.k!==null){throw eT(new dT(),'Composite.initWidget() may only be called once.');}AP(b);a.oe(b.wb());a.k=b;DP(b,a);}
+function pr(){if(this.k===null){throw eT(new dT(),'initWidget() was never called in '+w(this));}return this.w;}
+function qr(){if(this.k!==null){return this.k.qc();}return false;}
+function rr(){this.k.wc();this.hd();}
+function sr(){try{this.vd();}finally{this.k.Dc();}}
+function mr(){}
+_=mr.prototype=new wO();_.wb=pr;_.qc=qr;_.wc=rr;_.Dc=sr;_.tN=bgc+'Composite';_.tI=54;_.k=null;function ur(a){Eq(a);a.oe(xd());return a;}
+function wr(b,c){var a;a=c.wb();Df(a,'width','100%');Df(a,'height','100%');c.Ae(false);}
+function xr(b,c,a){gr(b,c,b.wb(),a,true);wr(b,c);}
+function yr(b,c){var a;a=ir(b,c);if(a){zr(b,c);if(b.b===c){b.b=null;}}return a;}
+function zr(a,b){Df(b.wb(),'width','');Df(b.wb(),'height','');b.Ae(true);}
+function Ar(b,a){br(b,a);if(b.b!==null){b.b.Ae(false);}b.b=fr(b,a);b.b.Ae(true);}
+function Br(a){return yr(this,a);}
+function tr(){}
+_=tr.prototype=new Cq();_.ge=Br;_.tN=bgc+'DeckPanel';_.tI=55;_.b=null;function cH(a){dH(a,xd());return a;}
+function dH(b,a){b.oe(a);return b;}
+function eH(a,b){if(a.r!==null){throw eT(new dT(),'SimplePanel can only contain one child widget');}a.Ce(b);}
+function gH(a,b){if(b===a.r){return;}if(b!==null){AP(b);}if(a.r!==null){a.ge(a.r);}a.r=b;if(b!==null){td(a.vb(),a.r.wb());CD(a,b);}}
+function hH(){return this.wb();}
+function iH(){return DG(new BG(),this);}
+function jH(a){if(this.r!==a){return false;}ED(this,a);nf(this.vb(),a.wb());this.r=null;return true;}
+function kH(a){gH(this,a);}
+function AG(){}
+_=AG.prototype=new BD();_.vb=hH;_.sc=iH;_.ge=jH;_.Ce=kH;_.tN=bgc+'SimplePanel';_.tI=56;_.r=null;function mE(){mE=e3;CE=uR(new pR());}
+function iE(a){mE();dH(a,wR(CE));tE(a,0,0);return a;}
+function jE(b,a){mE();iE(b);b.k=a;return b;}
+function kE(c,a,b){mE();jE(c,a);c.o=b;return c;}
+function lE(b,a){if(a.blur){a.blur();}}
+function nE(a){return xR(CE,a.wb());}
+function oE(a){return wN(a);}
+function pE(a){qE(a,false);}
+function qE(b,a){if(!b.p){return;}b.p=false;np(qG(),b);b.wb();}
+function rE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.se(a.l);}if(a.m!==null){b.De(a.m);}}}
+function sE(e,b){var a,c,d,f;d=ve(b);c=kf(e.wb(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){qE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){lE(e,d);return false;}}}return !e.o||c;}
+function tE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.wb();Df(a,'left',b+'px');Df(a,'top',d+'px');}
+function uE(a,b){gH(a,b);rE(a);}
+function vE(a,b){a.m=b;rE(a);if(dV(b)==0){a.m=null;}}
+function wE(a){if(a.p){return;}a.p=true;sd(a);Df(a.wb(),'position','absolute');if(a.q!=(-1)){tE(a,a.n,a.q);}lp(qG(),a);a.wb();}
+function xE(){return nE(this);}
+function yE(){return vN(this);}
+function zE(){return oE(this);}
+function AE(){return xR(CE,this.wb());}
+function BE(){pE(this);}
+function DE(){pf(this);zP(this);}
+function EE(a){return sE(this,a);}
+function FE(a){this.l=a;rE(this);if(dV(a)==0){this.l=null;}}
+function aF(b){var a;a=nE(this);if(b===null||dV(b)==0){of(a,'title');}else{uf(a,'title',b);}}
+function bF(a){Df(this.wb(),'visibility',a?'visible':'hidden');this.wb();}
+function cF(a){uE(this,a);}
+function dF(a){vE(this,a);}
+function hE(){}
+_=hE.prototype=new AG();_.vb=xE;_.Eb=yE;_.Fb=zE;_.fc=AE;_.nc=BE;_.Dc=DE;_.Ec=EE;_.se=FE;_.ve=aF;_.Ae=bF;_.Ce=cF;_.De=dF;_.tN=bgc+'PopupPanel';_.tI=57;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var CE;function bs(){bs=e3;mE();}
+function Dr(a){a.e=lz(new pw());a.j=tt(new nt());}
+function Er(a){bs();Fr(a,false);return a;}
+function Fr(b,a){bs();as(b,a,true);return b;}
+function as(c,a,b){bs();kE(c,a,b);Dr(c);c.j.Be(0,0,c.e);c.j.se('100%');zy(c.j,0);By(c.j,0);Cy(c.j,0);ex(c.j.n,1,0,'100%');jx(c.j.n,1,0,'100%');dx(c.j.n,1,0,(wz(),xz),(Fz(),bA));uE(c,c.j);CN(c,'gwt-DialogBox');CN(c.e,'Caption');gC(c.e,c);return c;}
+function cs(b,a){pz(b.e,a);}
+function ds(b,a){jC(b.e,a);}
+function es(a,b){if(a.f!==null){yy(a.j,a.f);}if(b!==null){a.j.Be(1,0,b);}a.f=b;}
+function fs(a){if(xe(a)==4){if(kf(this.e.wb(),ve(a))){ye(a);}}return sE(this,a);}
+function gs(a,b,c){this.i=true;tf(this.e.wb());this.g=b;this.h=c;}
+function hs(a){}
+function is(a){}
+function js(c,d,e){var a,b;if(this.i){a=d+tN(this);b=e+uN(this);tE(this,a-this.g,b-this.h);}}
+function ks(a,b,c){this.i=false;mf(this.e.wb());}
+function ls(a){if(this.f!==a){return false;}yy(this.j,a);return true;}
+function ms(a){es(this,a);}
+function ns(a){vE(this,a);this.j.De('100%');}
+function Cr(){}
+_=Cr.prototype=new hE();_.Ec=fs;_.jd=gs;_.kd=hs;_.ld=is;_.md=js;_.nd=ks;_.ge=ls;_.Ce=ms;_.De=ns;_.tN=bgc+'DialogBox';_.tI=58;_.f=null;_.g=0;_.h=0;_.i=false;function zs(){zs=e3;Fs=new ps();at=new ps();bt=new ps();ct=new ps();dt=new ps();}
+function ws(a){a.b=(wz(),yz);a.c=(Fz(),cA);}
+function xs(a){zs();Cp(a);ws(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
+function ys(c,d,a){var b;if(a===Fs){if(d===c.a){return;}else if(c.a!==null){throw bT(new aT(),'Only one CENTER widget may be added');}}AP(d);bP(c.f,d);if(a===Fs){c.a=d;}b=ss(new rs(),a);CP(d,b);Cs(c,d,c.b);Ds(c,d,c.c);As(c);CD(c,d);}
+function As(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=gP(p.f);BO(h);){c=CO(h);e=c.u.a;if(e===bt||e===ct){++l;}else if(e===at||e===dt){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[635],[33],[l],null);for(g=0;g<l;++g){m[g]=new us();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=gP(p.f);BO(h);){c=CO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===bt){hf(m[j].b,o,m[j].a);td(o,c.wb());wf(o,'colSpan',f-q+1);++j;}else if(i.a===ct){hf(m[n].b,o,m[n].a);td(o,c.wb());wf(o,'colSpan',f-q+1);--n;}else if(i.a===dt){k=m[j];hf(k.b,o,k.a++);td(o,c.wb());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===at){k=m[j];hf(k.b,o,k.a);td(o,c.wb());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===Fs){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.wb());}}
+function Bs(b,c){var a;a=ir(b,c);if(a){if(c===b.a){b.a=null;}As(b);}return a;}
+function Cs(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
+function Ds(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
+function Es(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
+function et(a){return Bs(this,a);}
+function ft(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
+function gt(a,b){Es(this,a,b);}
+function os(){}
+_=os.prototype=new Bp();_.ge=et;_.me=ft;_.ne=gt;_.tN=bgc+'DockPanel';_.tI=59;_.a=null;var Fs,at,bt,ct,dt;function ps(){}
+_=ps.prototype=new gU();_.tN=bgc+'DockPanel$DockLayoutConstant';_.tI=60;function ss(b,a){b.a=a;return b;}
+function rs(){}
+_=rs.prototype=new gU();_.tN=bgc+'DockPanel$LayoutData';_.tI=61;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function us(){}
+_=us.prototype=new gU();_.tN=bgc+'DockPanel$TmpRow';_.tI=62;_.a=0;_.b=null;function it(a){a.oe(yd('input'));xf(a.wb(),'type','file');CN(a,'gwt-FileUpload');return a;}
+function kt(a){return bf(a.wb(),'value');}
+function lt(b,a){xf(b.wb(),'name',a);}
+function ht(){}
+_=ht.prototype=new wO();_.tN=bgc+'FileUpload';_.tI=63;function dy(a){a.s=zx(new ux());}
+function ey(a){dy(a);a.q=ge();a.m=de();td(a.q,a.m);a.oe(a.q);DN(a,1);return a;}
+function fy(b,a){if(b.r===null){b.r=hK(new gK());}qY(b.r,a);}
+function gy(d,c,b){var a;hy(d,c);if(b<0){throw hT(new gT(),'Column '+b+' must be non-negative: '+b);}a=d.ub(c);if(a<=b){throw hT(new gT(),'Column index: '+b+', Column size: '+d.ub(c));}}
+function hy(c,a){var b;b=c.bc();if(a>=b||a<0){throw hT(new gT(),'Row index: '+a+', Row size: '+b);}}
+function iy(e,c,b,a){var d;d=ax(e.n,c,b);vy(e,d,a);return d;}
+function jy(d){var a,b,c;for(c=0;c<d.bc();++c){for(b=0;b<d.ub(c);++b){a=ry(d,c,b);if(a!==null){yy(d,a);}}}}
+function ly(a){return ee();}
+function my(c,b,a){return b.rows[a].cells.length;}
+function ny(a){return oy(a,a.m);}
+function oy(b,a){return a.rows.length;}
+function py(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(EU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
+function qy(d,c,a){var b;gy(d,c,a);b=Fw(d.n,c,a);return ef(b);}
+function sy(c,b,a){gy(c,b,a);return ry(c,b,a);}
+function ry(e,d,b){var a,c;c=ax(e.n,d,b);a=df(c);if(a===null){return null;}else{return Bx(e.s,a);}}
+function ty(d,b,a){var c,e;e=sx(d.p,d.m,b);c=d.hb();hf(e,c,a);}
+function uy(b,a){var c;if(a!=xt(b)){hy(b,a);}c=fe();hf(b.m,c,a);return a;}
+function vy(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=Bx(d.s,b);}if(e!==null){yy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
+function yy(b,c){var a;if(c.v!==b){return false;}ED(b,c);a=c.wb();nf(ff(a),a);Ex(b.s,a);return true;}
+function wy(d,b,a){var c,e;gy(d,b,a);c=iy(d,b,a,false);e=sx(d.p,d.m,b);nf(e,c);}
+function xy(d,c){var a,b;b=d.ub(c);for(a=0;a<b;++a){iy(d,c,a,false);}nf(d.m,sx(d.p,d.m,c));}
+function zy(a,b){xf(a.q,'border',''+b);}
+function Ay(b,a){b.n=a;}
+function By(b,a){wf(b.q,'cellPadding',a);}
+function Cy(b,a){wf(b.q,'cellSpacing',a);}
+function Dy(b,a){b.o=a;nx(b.o);}
+function Ey(e,c,a,b){var d;ew(e,c,a);d=iy(e,c,a,b===null);if(b!==null){Af(d,b);}}
+function Fy(b,a){b.p=a;}
+function az(e,b,a,d){var c;e.zd(b,a);c=iy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
+function bz(d,b,a,e){var c;d.zd(b,a);if(e!==null){AP(e);c=iy(d,b,a,true);Cx(d.s,e);td(c,e.wb());CD(d,e);}}
+function cz(){jy(this);}
+function dz(){return ly(this);}
+function ez(b,a){ty(this,b,a);}
+function fz(){return Fx(this.s);}
+function gz(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=py(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);jK(this.r,this,d,b);}break;}default:}}
+function jz(a){return yy(this,a);}
+function hz(b,a){wy(this,b,a);}
+function iz(a){xy(this,a);}
+function kz(b,a,c){bz(this,b,a,c);}
+function qw(){}
+_=qw.prototype=new BD();_.cb=cz;_.hb=dz;_.oc=ez;_.sc=fz;_.yc=gz;_.ge=jz;_.be=hz;_.de=iz;_.Be=kz;_.tN=bgc+'HTMLTable';_.tI=64;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function tt(a){ey(a);Ay(a,pt(new ot(),a));Fy(a,px(new ox(),a));Dy(a,lx(new kx(),a));return a;}
+function vt(b,a){hy(b,a);return my(b,b.m,a);}
+function wt(a){return Fb(a.n,43);}
+function xt(a){return ny(a);}
+function yt(b,a){return uy(b,a);}
+function zt(d,b){var a,c;if(b<0){throw hT(new gT(),'Cannot create a row with a negative index: '+b);}c=xt(d);for(a=c;a<=b;a++){yt(d,a);}}
+function At(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
+function Bt(a){return vt(this,a);}
+function Ct(){return xt(this);}
+function Dt(b,a){ty(this,b,a);}
+function Et(d,b){var a,c;zt(this,d);if(b<0){throw hT(new gT(),'Cannot create a column with a negative index: '+b);}a=vt(this,d);c=b+1-a;if(c>0){At(this.m,d,c);}}
+function Ft(a){zt(this,a);}
+function au(b,a){wy(this,b,a);}
+function bu(a){xy(this,a);}
+function nt(){}
+_=nt.prototype=new qw();_.ub=Bt;_.bc=Ct;_.oc=Dt;_.zd=Et;_.Ad=Ft;_.be=au;_.de=bu;_.tN=bgc+'FlexTable';_.tI=65;function Bw(b,a){b.a=a;return b;}
+function Dw(c,b,a){c.a.zd(b,a);return Ew(c,c.a.m,b,a);}
+function Ew(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
+function Fw(c,b,a){gy(c.a,b,a);return Ew(c,c.a.m,b,a);}
+function ax(c,b,a){return Ew(c,c.a.m,b,a);}
+function bx(d,c,a){var b;b=Fw(d,c,a);return dO(b);}
+function cx(e,b,a,c){var d;gy(e.a,b,a);d=Ew(e,e.a.m,b,a);hO(d,c,false);}
+function dx(d,c,a,b,e){fx(d,c,a,b);hx(d,c,a,e);}
+function ex(e,d,a,c){var b;e.a.zd(d,a);b=Ew(e,e.a.m,d,a);xf(b,'height',c);}
+function fx(e,d,b,a){var c;e.a.zd(d,b);c=Ew(e,e.a.m,d,b);xf(c,'align',a.a);}
+function gx(d,b,a,c){d.a.zd(b,a);gO(Ew(d,d.a.m,b,a),c);}
+function hx(d,c,b,a){d.a.zd(c,b);Df(Ew(d,d.a.m,c,b),'verticalAlign',a.a);}
+function ix(d,c,a,e){var b;b=Dw(d,c,a);jO(b,e);}
+function jx(c,b,a,d){c.a.zd(b,a);xf(Ew(c,c.a.m,b,a),'width',d);}
+function Aw(){}
+_=Aw.prototype=new gU();_.tN=bgc+'HTMLTable$CellFormatter';_.tI=66;function pt(b,a){Bw(b,a);return b;}
+function rt(d,c,b,a){wf(Dw(d,c,b),'colSpan',a);}
+function st(d,b,a,c){wf(Dw(d,b,a),'rowSpan',c);}
+function ot(){}
+_=ot.prototype=new Aw();_.tN=bgc+'FlexTable$FlexCellFormatter';_.tI=67;function du(a){oY(a);return a;}
+function gu(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),44);b.ad(c);}}
+function fu(c,b,a){switch(xe(a)){case 2048:gu(c,b);break;case 4096:hu(c,b);break;}}
+function hu(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),44);b.id(c);}}
+function cu(){}
+_=cu.prototype=new mY();_.tN=bgc+'FocusListenerCollection';_.tI=68;function ku(){ku=e3;lu=(aR(),dR);}
+var lu;function Au(a){oY(a);return a;}
+function Cu(f,e,d){var a,b,c;a=wv(new vv(),e,d);for(c=f.sc();c.mc();){b=Fb(c.uc(),45);b.pd(a);}}
+function Du(e,d){var a,b,c;a=new yv();for(c=e.sc();c.mc();){b=Fb(c.uc(),45);b.qd(a);}return a.a;}
+function zu(){}
+_=zu.prototype=new mY();_.tN=bgc+'FormHandlerCollection';_.tI=69;function gv(){gv=e3;qv=new gR();}
+function ev(a){gv();dH(a,zd());a.b='FormPanel_'+ ++pv;nv(a,a.b);DN(a,32768);return a;}
+function fv(b,a){if(b.a===null){b.a=Au(new zu());}qY(b.a,a);}
+function hv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
+function iv(a){if(a.a!==null){return !Du(a.a,a);}return true;}
+function jv(a){if(a.a!==null){eg(bv(new av(),a));}}
+function kv(a,b){xf(a.wb(),'action',b);}
+function lv(b,a){lR(qv,b.wb(),a);}
+function mv(b,a){xf(b.wb(),'method',a);}
+function nv(b,a){xf(b.wb(),'target',a);}
+function ov(a){if(a.a!==null){if(Du(a.a,a)){return;}}mR(qv,a.wb(),a.c);}
+function rv(){yP(this);hv(this);td(pG(),this.c);kR(qv,this.c,this.wb(),this);}
+function sv(){zP(this);nR(qv,this.c,this.wb());nf(pG(),this.c);this.c=null;}
+function tv(){var a;a=x;{return iv(this);}}
+function uv(){var a;a=x;{jv(this);}}
+function Fu(){}
+_=Fu.prototype=new AG();_.wc=rv;_.Dc=sv;_.bd=tv;_.cd=uv;_.tN=bgc+'FormPanel';_.tI=70;_.a=null;_.b=null;_.c=null;var pv=0,qv;function bv(b,a){b.a=a;return b;}
+function dv(){Cu(this.a.a,this,jR((gv(),qv),this.a.c));}
+function av(){}
+_=av.prototype=new gU();_.rb=dv;_.tN=bgc+'FormPanel$1';_.tI=71;function n0(){}
+_=n0.prototype=new gU();_.tN=fgc+'EventObject';_.tI=72;function wv(c,b,a){c.a=a;return c;}
+function vv(){}
+_=vv.prototype=new n0();_.tN=bgc+'FormSubmitCompleteEvent';_.tI=73;_.a=null;function Av(b,a){b.a=a;}
+function yv(){}
+_=yv.prototype=new n0();_.tN=bgc+'FormSubmitEvent';_.tI=74;_.a=false;function Cv(a){a.oe(Ad());return a;}
+function Dv(a,b){Cv(a);Fv(a,b);return a;}
+function Fv(a,b){xf(a.wb(),'src',b);}
+function Bv(){}
+_=Bv.prototype=new wO();_.tN=bgc+'Frame';_.tI=75;function bw(a){ey(a);Ay(a,Bw(new Aw(),a));Fy(a,px(new ox(),a));Dy(a,lx(new kx(),a));return a;}
+function cw(c,b,a){bw(c);iw(c,b,a);return c;}
+function ew(c,b,a){fw(c,b);if(a<0){throw hT(new gT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw hT(new gT(),'Column index: '+a+', Column size: '+c.k);}}
+function fw(b,a){if(a<0){throw hT(new gT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw hT(new gT(),'Row index: '+a+', Row size: '+b.l);}}
+function iw(c,b,a){gw(c,a);hw(c,b);}
+function gw(d,a){var b,c;if(d.k==a){return;}if(a<0){throw hT(new gT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.be(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.oc(b,c);}}}d.k=a;}
+function hw(b,a){if(b.l==a){return;}if(a<0){throw hT(new gT(),'Cannot set number of rows to '+a);}if(b.l<a){jw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.de(--b.l);}}}
+function jw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
+function kw(){var a;a=ly(this);Af(a,'&nbsp;');return a;}
+function lw(a){return this.k;}
+function mw(){return this.l;}
+function nw(b,a){ew(this,b,a);}
+function ow(a){fw(this,a);}
+function aw(){}
+_=aw.prototype=new qw();_.hb=kw;_.ub=lw;_.bc=mw;_.zd=nw;_.Ad=ow;_.tN=bgc+'Grid';_.tI=76;_.k=0;_.l=0;function dC(a){a.oe(xd());DN(a,131197);CN(a,'gwt-Label');return a;}
+function eC(b,a){dC(b);jC(b,a);return b;}
+function fC(b,a){if(b.a===null){b.a=yq(new xq());}qY(b.a,a);}
+function gC(b,a){if(b.b===null){b.b=iD(new hD());}qY(b.b,a);}
+function iC(a){return ef(a.wb());}
+function jC(b,a){Bf(b.wb(),a);}
+function kC(a,b){Df(a.wb(),'whiteSpace',b?'normal':'nowrap');}
+function lC(a){switch(xe(a)){case 1:if(this.a!==null){Aq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){mD(this.b,this,a);}break;case 131072:break;}}
+function cC(){}
+_=cC.prototype=new wO();_.yc=lC;_.tN=bgc+'Label';_.tI=77;_.a=null;_.b=null;function lz(a){dC(a);a.oe(xd());DN(a,125);CN(a,'gwt-HTML');return a;}
+function mz(b,a){lz(b);pz(b,a);return b;}
+function nz(b,a,c){mz(b,a);kC(b,c);return b;}
+function pz(b,a){Af(b.wb(),a);}
+function pw(){}
+_=pw.prototype=new cC();_.tN=bgc+'HTML';_.tI=78;function sw(a){{vw(a);}}
+function tw(b,a){b.c=a;sw(b);return b;}
+function vw(a){while(++a.b<a.c.b.b){if(vY(a.c.b,a.b)!==null){return;}}}
+function ww(a){return a.b<a.c.b.b;}
+function xw(){return ww(this);}
+function yw(){var a;if(!ww(this)){throw new s2();}a=vY(this.c.b,this.b);this.a=this.b;vw(this);return a;}
+function zw(){var a;if(this.a<0){throw new dT();}a=Fb(vY(this.c.b,this.a),13);AP(a);this.a=(-1);}
+function rw(){}
+_=rw.prototype=new gU();_.mc=xw;_.uc=yw;_.ee=zw;_.tN=bgc+'HTMLTable$1';_.tI=79;_.a=(-1);_.b=(-1);function lx(b,a){b.b=a;return b;}
+function nx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
+function kx(){}
+_=kx.prototype=new gU();_.tN=bgc+'HTMLTable$ColumnFormatter';_.tI=80;_.a=null;function px(b,a){b.a=a;return b;}
+function rx(b,a){b.a.Ad(a);return sx(b,b.a.m,a);}
+function sx(c,a,b){return a.rows[b];}
+function tx(c,a,b){gO(rx(c,a),b);}
+function ox(){}
+_=ox.prototype=new gU();_.tN=bgc+'HTMLTable$RowFormatter';_.tI=81;function yx(a){a.b=oY(new mY());}
+function zx(a){yx(a);return a;}
+function Bx(c,a){var b;b=by(a);if(b<0){return null;}return Fb(vY(c.b,b),13);}
+function Cx(b,c){var a;if(b.a===null){a=b.b.b;qY(b.b,c);}else{a=b.a.a;BY(b.b,a,c);b.a=b.a.b;}cy(c.wb(),a);}
+function Dx(c,a,b){ay(a);BY(c.b,b,null);c.a=wx(new vx(),b,c.a);}
+function Ex(c,a){var b;b=by(a);Dx(c,a,b);}
+function Fx(a){return tw(new rw(),a);}
+function ay(a){a['__widgetID']=null;}
+function by(a){var b=a['__widgetID'];return b==null?-1:b;}
+function cy(a,b){a['__widgetID']=b;}
+function ux(){}
+_=ux.prototype=new gU();_.tN=bgc+'HTMLTable$WidgetMapper';_.tI=82;_.a=null;function wx(c,a,b){c.a=a;c.b=b;return c;}
+function vx(){}
+_=vx.prototype=new gU();_.tN=bgc+'HTMLTable$WidgetMapper$FreeNode';_.tI=83;_.a=0;_.b=null;function wz(){wz=e3;xz=uz(new tz(),'center');yz=uz(new tz(),'left');zz=uz(new tz(),'right');}
+var xz,yz,zz;function uz(b,a){b.a=a;return b;}
+function tz(){}
+_=tz.prototype=new gU();_.tN=bgc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=84;_.a=null;function Fz(){Fz=e3;aA=Dz(new Cz(),'bottom');bA=Dz(new Cz(),'middle');cA=Dz(new Cz(),'top');}
+var aA,bA,cA;function Dz(a,b){a.a=b;return a;}
+function Cz(){}
+_=Cz.prototype=new gU();_.tN=bgc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=85;_.a=null;function gA(a){a.a=(wz(),yz);a.c=(Fz(),cA);}
+function hA(a){Cp(a);gA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function iA(b,c){var a;a=kA(b);td(b.b,a);Fq(b,c,a);}
+function kA(b){var a;a=ee();Ep(b,a,b.a);Fp(b,a,b.c);return a;}
+function lA(c,d,a){var b;cr(c,a);b=kA(c);hf(c.b,b,a);gr(c,d,b,a,false);}
+function mA(c,d){var a,b;b=ff(d.wb());a=ir(c,d);if(a){nf(c.b,b);}return a;}
+function nA(b,a){b.c=a;}
+function oA(a){return mA(this,a);}
+function fA(){}
+_=fA.prototype=new Bp();_.ge=oA;_.tN=bgc+'HorizontalPanel';_.tI=86;_.b=null;function qA(a){a.oe(xd());td(a.wb(),a.a=vd());DN(a,1);CN(a,'gwt-Hyperlink');return a;}
+function rA(c,b,a){qA(c);uA(c,b);tA(c,a);return c;}
+function tA(b,a){b.b=a;xf(b.a,'href','#'+a);}
+function uA(b,a){Bf(b.a,a);}
+function vA(a){if(xe(a)==1){ah(this.b);ye(a);}}
+function pA(){}
+_=pA.prototype=new wO();_.yc=vA;_.tN=bgc+'Hyperlink';_.tI=87;_.a=null;_.b=null;function pB(){pB=e3;l1(new p0());}
+function lB(a){pB();oB(a,eB(new dB(),a));CN(a,'gwt-Image');return a;}
+function mB(a,b){pB();oB(a,fB(new dB(),a,b));CN(a,'gwt-Image');return a;}
+function nB(b,a){if(b.a===null){b.a=yq(new xq());}qY(b.a,a);}
+function oB(b,a){b.b=a;}
+function rB(a,b){a.b.xe(a,b);}
+function qB(c,e,b,d,f,a){c.b.we(c,e,b,d,f,a);}
+function sB(a){switch(xe(a)){case 1:{if(this.a!==null){Aq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
+function wA(){}
+_=wA.prototype=new wO();_.yc=sB;_.tN=bgc+'Image';_.tI=88;_.a=null;_.b=null;function zA(){}
+function xA(){}
+_=xA.prototype=new gU();_.rb=zA;_.tN=bgc+'Image$1';_.tI=89;function bB(){}
+_=bB.prototype=new gU();_.tN=bgc+'Image$State';_.tI=90;function CA(){CA=e3;EA=new hQ();}
+function BA(d,b,f,c,e,g,a){CA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.oe(kQ(EA,f,c,e,g,a));DN(b,131197);DA(d,b);return d;}
+function DA(b,a){eg(new xA());}
+function aB(a,b){oB(a,fB(new dB(),a,b));}
+function FA(b,e,c,d,f,a){if(!FU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;iQ(EA,b.wb(),e,c,d,f,a);DA(this,b);}}
+function AA(){}
+_=AA.prototype=new bB();_.xe=aB;_.we=FA;_.tN=bgc+'Image$ClippedState';_.tI=91;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var EA;function eB(b,a){a.oe(Bd());DN(a,229501);return b;}
+function fB(b,a,c){eB(b,a);hB(b,a,c);return b;}
+function hB(b,a,c){zf(a.wb(),c);}
+function jB(a,b){hB(this,a,b);}
+function iB(b,e,c,d,f,a){oB(b,BA(new AA(),b,e,c,d,f,a));}
+function dB(){}
+_=dB.prototype=new bB();_.xe=jB;_.we=iB;_.tN=bgc+'Image$UnclippedState';_.tI=92;function wB(c,a,b){}
+function xB(c,a,b){}
+function yB(c,a,b){}
+function uB(){}
+_=uB.prototype=new gU();_.ed=wB;_.fd=xB;_.gd=yB;_.tN=bgc+'KeyboardListenerAdapter';_.tI=93;function AB(a){oY(a);return a;}
+function CB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.ed(e,b,d);}}
+function DB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.fd(e,b,d);}}
+function EB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.gd(e,b,d);}}
+function FB(d,c,a){var b;b=aC(a);switch(xe(a)){case 128:CB(d,c,bc(se(a)),b);break;case 512:EB(d,c,bc(se(a)),b);break;case 256:DB(d,c,bc(se(a)),b);break;}}
+function aC(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
+function zB(){}
+_=zB.prototype=new mY();_.tN=bgc+'KeyboardListenerCollection';_.tI=94;function BC(){BC=e3;pu();fD=new nC();}
+function uC(a){BC();vC(a,false);return a;}
+function vC(b,a){BC();nu(b,be(a));DN(b,1024);CN(b,'gwt-ListBox');return b;}
+function wC(b,a){if(b.b===null){b.b=dq(new cq());}qY(b.b,a);}
+function xC(b,a){aD(b,a,(-1));}
+function yC(b,a,c){bD(b,a,c,(-1));}
+function zC(b,a){if(a<0||a>=CC(b)){throw new gT();}}
+function AC(a){oC(fD,a.wb());}
+function CC(a){return qC(fD,a.wb());}
+function DC(b,a){zC(b,a);return rC(fD,b.wb(),a);}
+function EC(a){return af(a.wb(),'selectedIndex');}
+function FC(b,a){zC(b,a);return sC(fD,b.wb(),a);}
+function aD(c,b,a){bD(c,b,b,a);}
+function bD(c,b,d,a){jf(c.wb(),b,d,a);}
+function cD(b,a){zC(b,a);tC(fD,b.wb(),a);}
+function dD(b,a){wf(b.wb(),'selectedIndex',a);}
+function eD(a,b){wf(a.wb(),'size',b);}
+function gD(a){if(xe(a)==1024){if(this.b!==null){fq(this.b,this);}}else{qu(this,a);}}
+function mC(){}
+_=mC.prototype=new mu();_.yc=gD;_.tN=bgc+'ListBox';_.tI=95;_.b=null;var fD;function oC(b,a){a.options.length=0;}
+function qC(b,a){return a.options.length;}
+function rC(c,b,a){return b.options[a].text;}
+function sC(c,b,a){return b.options[a].value;}
+function tC(c,b,a){b.options[a]=null;}
+function nC(){}
+_=nC.prototype=new gU();_.tN=bgc+'ListBox$Impl';_.tI=96;function iD(a){oY(a);return a;}
+function kD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.jd(c,e,f);}}
+function lD(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.kd(c);}}
+function mD(e,c,a){var b,d,f,g,h;d=c.wb();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:kD(e,c,g,h);break;case 8:pD(e,c,g,h);break;case 64:oD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){lD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){nD(e,c);}break;}}
+function nD(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.ld(c);}}
+function oD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.md(c,e,f);}}
+function pD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.nd(c,e,f);}}
+function hD(){}
+_=hD.prototype=new mY();_.tN=bgc+'MouseListenerCollection';_.tI=97;function rD(){}
+_=rD.prototype=new gU();_.tN=bgc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=98;_.a=null;_.b=null;function vD(b,a){zD(a,b.ae());AD(a,b.ae());}
+function wD(a){return a.a;}
+function xD(a){return a.b;}
+function yD(b,a){b.jf(wD(a));b.jf(xD(a));}
+function zD(a,b){a.a=b;}
+function AD(a,b){a.b=b;}
+function yK(){yK=e3;pu();FK=new BR();}
+function uK(b,a){yK();nu(b,a);DN(b,1024);return b;}
+function vK(b,a){if(b.f===null){b.f=dq(new cq());}qY(b.f,a);}
+function wK(b,a){if(b.i===null){b.i=AB(new zB());}qY(b.i,a);}
+function xK(a){if(a.h!==null){ye(a.h);}}
+function zK(a){return bf(a.wb(),'value');}
+function AK(b,a){CK(b,a,0);}
+function BK(b,a){xf(b.wb(),'name',a);}
+function CK(c,b,a){if(a<0){throw hT(new gT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>dV(zK(c))){throw hT(new gT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+dV(zK(c)));}FR(FK,c.wb(),b,a);}
+function DK(b,a){xf(b.wb(),'value',a!==null?a:'');}
+function EK(a){if(this.g===null){this.g=yq(new xq());}qY(this.g,a);}
+function aL(a){var b;qu(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;FB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){Aq(this.g,this);}}else if(b==1024){if(this.f!==null){fq(this.f,this);}}}
+function tK(){}
+_=tK.prototype=new mu();_.z=EK;_.yc=aL;_.tN=bgc+'TextBoxBase';_.tI=99;_.f=null;_.g=null;_.h=null;_.i=null;var FK;function gE(){gE=e3;yK();}
+function fE(a){gE();uK(a,Dd());CN(a,'gwt-PasswordTextBox');return a;}
+function eE(){}
+_=eE.prototype=new tK();_.tN=bgc+'PasswordTextBox';_.tI=100;function rF(b,a){sF(b,a,null);return b;}
+function sF(c,a,b){c.a=a;uF(c);return c;}
+function tF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=aG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=aG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=DF(b*2);f[a]=h;}var e=c.slice(b);if(h.F(e)){i.b++;return true;}else{return false;}}}
+function uF(a){a.b=0;a.c={};a.d={};}
+function wF(b,a){return uY(xF(b,a,1),a);}
+function xF(c,b,a){var d;d=oY(new mY());if(b!==null&&a>0){zF(c,b,'',d,a);}return d;}
+function yF(a){return gF(new fF(),a);}
+function zF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=aG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+dG(a);h.Fe(f,l,c,b);}}else{for(j in k){var l=d+dG(j);if(l.indexOf(f)==0){c.E(l);}if(c.Ee()>=b){return;}}for(var a in i){var l=d+dG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ee()||h.b==1){h.pb(c,l);}else{for(var j in h.d){c.E(l+dG(j));}for(var g in h.c){c.E(l+dG(g)+'...');}}}}}}
+function AF(a){if(ac(a,1)){return tF(this,Fb(a,1));}else{throw eW(new dW(),'Cannot add non-Strings to PrefixTree');}}
+function BF(a){return tF(this,a);}
+function CF(a){if(ac(a,1)){return wF(this,Fb(a,1));}else{return false;}}
+function DF(a){return rF(new eF(),a);}
+function EF(b,c){var a;for(a=yF(this);jF(a);){b.E(c+Fb(mF(a),1));}}
+function FF(){return yF(this);}
+function aG(a){return Eb(58)+a;}
+function bG(){return this.b;}
+function cG(d,c,b,a){zF(this,d,c,b,a);}
+function dG(a){return iV(a,1);}
+function eF(){}
+_=eF.prototype=new gW();_.E=AF;_.F=BF;_.gb=CF;_.pb=EF;_.sc=FF;_.Ee=bG;_.Fe=cG;_.tN=bgc+'PrefixTree';_.tI=101;_.a=0;_.b=0;_.c=null;_.d=null;function gF(a,b){kF(a);hF(a,b,'');return a;}
+function hF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
+function jF(a){return lF(a,true)!==null;}
+function kF(a){a.a=[];}
+function mF(a){var b;b=lF(a,false);if(b===null){if(!jF(a)){throw t2(new s2(),'No more elements in the iterator');}else{throw mU(new lU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
+function lF(g,b){var d=g.a;var c=aG;var i=dG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.C(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.C(e,f);}}}return null;}
+function nF(b,a){hF(this,b,a);}
+function oF(){return jF(this);}
+function pF(){return mF(this);}
+function qF(){throw eW(new dW(),'PrefixTree does not support removal.  Use clear()');}
+function fF(){}
+_=fF.prototype=new gU();_.C=nF;_.mc=oF;_.uc=pF;_.ee=qF;_.tN=bgc+'PrefixTree$PrefixTreeIterator';_.tI=102;_.a=null;function hG(){hG=e3;lq();}
+function fG(b,a){hG();jq(b,Ed(a));CN(b,'gwt-RadioButton');return b;}
+function gG(c,b,a){hG();fG(c,b);pq(c,a);return c;}
+function eG(){}
+_=eG.prototype=new hq();_.tN=bgc+'RadioButton';_.tI=103;function oG(){oG=e3;tG=l1(new p0());}
+function nG(b,a){oG();kp(b);if(a===null){a=pG();}b.oe(a);b.wc();return b;}
+function qG(){oG();return rG(null);}
+function rG(c){oG();var a,b;b=Fb(r1(tG,c),48);if(b!==null){return b;}a=null;if(tG.c==0){sG();}s1(tG,c,b=nG(new iG(),a));return b;}
+function pG(){oG();return $doc.body;}
+function sG(){oG();yh(new jG());}
+function iG(){}
+_=iG.prototype=new jp();_.tN=bgc+'RootPanel';_.tI=104;var tG;function lG(){var a,b;for(b=rX(aY((oG(),tG)));yX(b);){a=Fb(zX(b),48);if(a.qc()){a.Dc();}}}
+function mG(){return null;}
+function jG(){}
+_=jG.prototype=new gU();_.wd=lG;_.xd=mG;_.tN=bgc+'RootPanel$1';_.tI=105;function vG(a){cH(a);yG(a,false);DN(a,16384);return a;}
+function wG(b,a){vG(b);b.Ce(a);return b;}
+function yG(b,a){Df(b.wb(),'overflow',a?'scroll':'auto');}
+function zG(a){xe(a)==16384;}
+function uG(){}
+_=uG.prototype=new AG();_.yc=zG;_.tN=bgc+'ScrollPanel';_.tI=106;function CG(a){a.a=a.c.r!==null;}
+function DG(b,a){b.c=a;CG(b);return b;}
+function FG(){return this.a;}
+function aH(){if(!this.a||this.c.r===null){throw new s2();}this.a=false;return this.b=this.c.r;}
+function bH(){if(this.b!==null){this.c.ge(this.b);}}
+function BG(){}
+_=BG.prototype=new gU();_.mc=FG;_.uc=aH;_.ee=bH;_.tN=bgc+'SimplePanel$1';_.tI=107;_.b=null;function yH(b){var a;Eq(b);a=ge();b.oe(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);CN(b,'gwt-StackPanel');return b;}
+function zH(a,b){DH(a,b,a.f.c);}
+function AH(c,d,b,a){zH(c,d);FH(c,c.f.c-1,b,a);}
+function CH(d,a){var b,c;while(a!==null&& !ud(a,d.wb())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return nT(b);}else{return (-1);}}a=ff(a);}return (-1);}
+function DH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=ar(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);hO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');gr(e,h,c,a,false);cI(e,a);if(e.b==(-1)){bI(e,0);}else{aI(e,a,false);if(e.b>=a){++e.b;}}}
+function EH(e,a,b){var c,d,f;c=ir(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}cI(e,d);}return c;}
+function FH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
+function aI(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);hO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);jO(d,e);fr(c,a).Ae(e);}
+function bI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){aI(b,b.b,false);}b.b=a;aI(b,b.b,true);}
+function cI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
+function dI(a){var b,c;if(xe(a)==1){c=ve(a);b=CH(this,c);if(b!=(-1)){bI(this,b);}}}
+function eI(a){return EH(this,fr(this,a),a);}
+function fI(a){return EH(this,a,er(this,a));}
+function xH(){}
+_=xH.prototype=new Cq();_.yc=dI;_.fe=eI;_.ge=fI;_.tN=bgc+'StackPanel';_.tI=108;_.a=null;_.b=(-1);function gI(){}
+_=gI.prototype=new gU();_.tN=bgc+'SuggestOracle$Request';_.tI=109;_.a=20;_.b=null;function iI(){}
+_=iI.prototype=new gU();_.tN=bgc+'SuggestOracle$Response';_.tI=110;_.a=null;function nI(b,a){rI(a,b.Dd());sI(a,b.ae());}
+function oI(a){return a.a;}
+function pI(a){return a.b;}
+function qI(b,a){b.ff(oI(a));b.jf(pI(a));}
+function rI(a,b){a.a=b;}
+function sI(a,b){a.b=b;}
+function vI(b,a){yI(a,Fb(b.Fd(),49));}
+function wI(a){return a.a;}
+function xI(b,a){b.hf(wI(a));}
+function yI(a,b){a.a=b;}
+function AI(a){a.a=hA(new fA());}
+function BI(c){var a,b;AI(c);or(c,c.a);DN(c,1);CN(c,'gwt-TabBar');nA(c.a,(Fz(),aA));a=nz(new pw(),'&nbsp;',true);b=nz(new pw(),'&nbsp;',true);CN(a,'gwt-TabBarFirst');CN(b,'gwt-TabBarRest');a.se('100%');b.se('100%');iA(c.a,a);iA(c.a,b);a.se('100%');c.a.me(a,'100%');c.a.ne(b,'100%');return c;}
+function CI(b,a){if(b.c===null){b.c=hJ(new gJ());}qY(b.c,a);}
+function DI(b,a){if(a<0||a>aJ(b)){throw new gT();}}
+function EI(b,a){if(a<(-1)||a>=aJ(b)){throw new gT();}}
+function aJ(a){return a.a.f.c-2;}
+function bJ(e,d,a,b){var c;DI(e,b);if(a){c=mz(new pw(),d);}else{c=eC(new cC(),d);}kC(c,false);fC(c,e);CN(c,'gwt-TabBarItem');lA(e.a,c,b+1);}
+function cJ(b,a){var c;EI(b,a);c=fr(b.a,a+1);if(c===b.b){b.b=null;}mA(b.a,c);}
+function dJ(b,a){EI(b,a);if(b.c!==null){if(!jJ(b.c,b,a)){return false;}}eJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=fr(b.a,a+1);eJ(b,b.b,true);if(b.c!==null){kJ(b.c,b,a);}return true;}
+function eJ(c,a,b){if(a!==null){if(b){rN(a,'gwt-TabBarItem-selected');}else{xN(a,'gwt-TabBarItem-selected');}}}
+function fJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(fr(this.a,a)===b){dJ(this,a-1);return;}}}
+function zI(){}
+_=zI.prototype=new mr();_.Bc=fJ;_.tN=bgc+'TabBar';_.tI=111;_.b=null;_.c=null;function hJ(a){oY(a);return a;}
+function jJ(e,c,d){var a,b;for(a=e.sc();a.mc();){b=Fb(a.uc(),50);if(!b.xc(c,d)){return false;}}return true;}
+function kJ(e,c,d){var a,b;for(a=e.sc();a.mc();){b=Fb(a.uc(),50);b.sd(c,d);}}
+function gJ(){}
+_=gJ.prototype=new mY();_.tN=bgc+'TabListenerCollection';_.tI=112;function zJ(a){a.b=vJ(new uJ());a.a=oJ(new nJ(),a.b);}
+function AJ(b){var a;zJ(b);a=pO(new nO());qO(a,b.b);qO(a,b.a);a.me(b.a,'100%');b.b.De('100%');CI(b.b,b);or(b,a);CN(b,'gwt-TabPanel');CN(b.a,'gwt-TabPanelBottom');return b;}
+function BJ(c,d,b,a){FJ(c,d,b,a,c.a.f.c);}
+function EJ(b,a){return fr(b.a,a);}
+function DJ(a,b){return er(a.a,b);}
+function FJ(d,e,c,a,b){qJ(d.a,e,c,a,b);}
+function aK(b,a){return b.a.fe(a);}
+function bK(b,a){dJ(b.b,a);}
+function cK(){return hr(this.a);}
+function dK(a,b){return true;}
+function eK(a,b){Ar(this.a,b);}
+function fK(a){return rJ(this.a,a);}
+function mJ(){}
+_=mJ.prototype=new mr();_.sc=cK;_.xc=dK;_.sd=eK;_.ge=fK;_.tN=bgc+'TabPanel';_.tI=113;function oJ(b,a){ur(b);b.a=a;return b;}
+function qJ(e,f,d,a,b){var c;c=er(e,f);if(c!=(-1)){rJ(e,f);if(c<b){b--;}}xJ(e.a,d,a,b);xr(e,f,b);}
+function rJ(b,c){var a;a=er(b,c);if(a!=(-1)){yJ(b.a,a);return yr(b,c);}return false;}
+function sJ(){throw eW(new dW(),'Use TabPanel.clear() to alter the DeckPanel');}
+function tJ(a){return rJ(this,a);}
+function nJ(){}
+_=nJ.prototype=new tr();_.cb=sJ;_.ge=tJ;_.tN=bgc+'TabPanel$TabbedDeckPanel';_.tI=114;_.a=null;function vJ(a){BI(a);return a;}
+function xJ(d,c,a,b){bJ(d,c,a,b);}
+function yJ(b,a){cJ(b,a);}
+function uJ(){}
+_=uJ.prototype=new zI();_.tN=bgc+'TabPanel$UnmodifiableTabBar';_.tI=115;function hK(a){oY(a);return a;}
+function jK(f,e,d,a){var b,c;for(b=f.sc();b.mc();){c=Fb(b.uc(),51);c.zc(e,d,a);}}
+function gK(){}
+_=gK.prototype=new mY();_.tN=bgc+'TableListenerCollection';_.tI=116;function nK(){nK=e3;yK();}
+function mK(a){nK();uK(a,he());CN(a,'gwt-TextArea');return a;}
+function oK(a){return ER(FK,a.wb());}
+function pK(a){return af(a.wb(),'rows');}
+function qK(a,b){wf(a.wb(),'cols',b);}
+function rK(b,a){wf(b.wb(),'rows',a);}
+function lK(){}
+_=lK.prototype=new tK();_.tN=bgc+'TextArea';_.tI=117;function cL(){cL=e3;yK();}
+function bL(a){cL();uK(a,Fd());CN(a,'gwt-TextBox');return a;}
+function dL(b,a){wf(b.wb(),'size',a);}
+function sK(){}
+_=sK.prototype=new tK();_.tN=bgc+'TextBox';_.tI=118;function qM(a){a.a=l1(new p0());}
+function rM(a){sM(a,oL(new nL()));return a;}
+function sM(b,a){qM(b);b.d=a;b.oe(xd());Df(b.wb(),'position','relative');b.c=yQ((ku(),lu));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.wb(),b.c);DN(b,1021);Ef(b.c,6144);b.g=gL(new fL(),b);dM(b.g,b);CN(b,'gwt-Tree');return b;}
+function uM(c,a){var b;b=xL(new uL(),a);tM(c,b);return b;}
+function tM(b,a){hL(b.g,a);}
+function vM(b,a){if(b.f===null){b.f=lM(new kM());}qY(b.f,a);}
+function wM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){DL(AL(c.g,a));}}
+function yM(d,a,c,b){if(b===null||ud(b,c)){return;}yM(d,a,c,ff(b));qY(a,hc(b,hg));}
+function zM(e,d,b){var a,c;a=oY(new mY());yM(e,a,e.wb(),b);c=BM(e,a,0,d);if(c!==null){if(kf(CL(c),b)){cM(c,!c.f,true);return true;}else if(kf(c.wb(),b)){cN(e,c,true,!jN(e,b));return true;}}return false;}
+function AM(b,a){if(!a.f){return a;}return AM(b,AL(a,a.c.b-1));}
+function BM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(vY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=AL(h,d);if(ud(b.wb(),c)){g=BM(i,a,e+1,AL(h,d));if(g===null){return b;}return g;}}return BM(i,a,e+1,h);}
+function CM(b,a){if(b.f!==null){oM(b.f,a);}}
+function DM(b,a){return AL(b.g,a);}
+function EM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[614],[13],[a.a.c],null);FX(a.a).bf(b);return wP(a,b);}
+function FM(h,g){var a,b,c,d,e,f,i,j;c=BL(g);{f=g.d;a=tN(h);b=uN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);AQ((ku(),lu),h.c);}}
+function aN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=zL(c,d);if(!a|| !d.f){if(b<c.c.b-1){cN(e,AL(c,b+1),true,true);}else{aN(e,c,false);}}else if(d.c.b>0){cN(e,AL(d,0),true,true);}}
+function bN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=zL(b,c);if(a>0){d=AL(b,a-1);cN(e,AM(e,d),true,true);}else{cN(e,b,true,true);}}
+function cN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){aM(d.b,false);}d.b=b;if(c&&d.b!==null){FM(d,d.b);aM(d.b,true);if(a&&d.f!==null){nM(d.f,d.b);}}}
+function fN(b,c){var a;a=Fb(r1(b.a,c),52);if(a===null){return false;}fM(a,null);return true;}
+function dN(b,a){jL(b.g,a);}
+function eN(a){while(a.g.c.b>0){dN(a,DM(a,0));}}
+function gN(b,a){if(a){AQ((ku(),lu),b.c);}else{uQ((ku(),lu),b.c);}}
+function hN(b,a){iN(b,a,true);}
+function iN(c,b,a){if(b===null){if(c.b===null){return;}aM(c.b,false);c.b=null;return;}cN(c,b,a,true);}
+function jN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
+function kN(){var a,b;for(b=EM(this);pP(b);){a=qP(b);a.wc();}yf(this.c,this);}
+function lN(){var a,b;for(b=EM(this);pP(b);){a=qP(b);a.Dc();}yf(this.c,null);}
+function mN(){return EM(this);}
+function nN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(jN(this,b)){}else{gN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.wb(),hg))){zM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){cN(this,AL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{bN(this,this.b);ye(c);break;}case 40:{aN(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){bM(this.b,false);}else{f=this.b.g;if(f!==null){hN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){bM(this.b,true);}else if(this.b.c.b>0){hN(this,AL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=oY(new mY());yM(this,a,this.wb(),ve(c));e=BM(this,a,0,this.g);if(e!==this.b){iN(this,e,true);}}}case 256:{break;}}this.e=d;}
+function oN(){gM(this.g);}
+function pN(a){return fN(this,a);}
+function eL(){}
+_=eL.prototype=new wO();_.mb=kN;_.ob=lN;_.sc=mN;_.yc=nN;_.hd=oN;_.ge=pN;_.tN=bgc+'Tree';_.tI=119;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function vL(a){a.c=oY(new mY());a.i=lB(new wA());}
+function wL(d){var a,b,c,e;vL(d);d.oe(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.wb(),d.e);td(d.wb(),d.b);td(c,d.i.wb());td(b,d.d);Df(d.d,'display','inline');Df(d.wb(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');hO(d.d,'gwt-TreeItem',true);return d;}
+function xL(b,a){wL(b);EL(b,a);return b;}
+function AL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(vY(b.c,a),52);}
+function zL(b,a){return wY(b.c,a);}
+function BL(a){var b;b=a.l;{return null;}}
+function CL(a){return a.i.wb();}
+function DL(a){if(a.g!==null){a.g.ce(a);}else if(a.j!==null){dN(a.j,a);}}
+function EL(b,a){fM(b,null);Af(b.d,a);}
+function FL(b,a){b.g=a;}
+function aM(b,a){if(b.h==a){return;}b.h=a;hO(b.d,'gwt-TreeItem-selected',a);}
+function bM(b,a){cM(b,a,true);}
+function cM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;hM(c);if(a&&c.j!==null){CM(c.j,c);}}
+function dM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){hN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){dM(Fb(vY(d.c,a),52),c);}hM(d);}
+function eM(a,b){a.k=b;}
+function fM(b,a){Af(b.d,'');b.l=a;}
+function hM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){jO(b.b,false);oQ((pL(),sL),b.i);return;}if(b.f){jO(b.b,true);oQ((pL(),tL),b.i);}else{jO(b.b,false);oQ((pL(),rL),b.i);}}
+function gM(c){var a,b;hM(c);for(a=0,b=c.c.b;a<b;++a){gM(Fb(vY(c.c,a),52));}}
+function iM(a){if(a.g!==null||a.j!==null){DL(a);}FL(a,this);qY(this.c,a);Df(a.wb(),'marginLeft','16px');td(this.b,a.wb());dM(a,this.j);if(this.c.b==1){hM(this);}}
+function jM(a){if(!uY(this.c,a)){return;}dM(a,null);nf(this.b,a.wb());FL(a,null);AY(this.c,a);if(this.c.b==0){hM(this);}}
+function uL(){}
+_=uL.prototype=new qN();_.A=iM;_.ce=jM;_.tN=bgc+'TreeItem';_.tI=120;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function gL(b,a){b.a=a;wL(b);return b;}
+function hL(b,a){if(a.g!==null||a.j!==null){DL(a);}td(b.a.wb(),a.wb());dM(a,b.j);FL(a,null);qY(b.c,a);Cf(a.wb(),'marginLeft',0);}
+function jL(b,a){if(!uY(b.c,a)){return;}dM(a,null);FL(a,null);AY(b.c,a);nf(b.a.wb(),a.wb());}
+function kL(a){hL(this,a);}
+function lL(a){jL(this,a);}
+function fL(){}
+_=fL.prototype=new uL();_.A=kL;_.ce=lL;_.tN=bgc+'Tree$1';_.tI=121;function pL(){pL=e3;qL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';rL=nQ(new mQ(),qL,0,0,16,16);sL=nQ(new mQ(),qL,16,0,16,16);tL=nQ(new mQ(),qL,32,0,16,16);}
+function oL(a){pL();return a;}
+function nL(){}
+_=nL.prototype=new gU();_.tN=bgc+'TreeImages_generatedBundle';_.tI=122;var qL,rL,sL,tL;function lM(a){oY(a);return a;}
+function nM(d,b){var a,c;for(a=d.sc();a.mc();){c=Fb(a.uc(),53);c.td(b);}}
+function oM(d,b){var a,c;for(a=d.sc();a.mc();){c=Fb(a.uc(),53);c.ud(b);}}
+function kM(){}
+_=kM.prototype=new mY();_.tN=bgc+'TreeListenerCollection';_.tI=123;function oO(a){a.a=(wz(),yz);a.b=(Fz(),cA);}
+function pO(a){Cp(a);oO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function qO(b,d){var a,c;c=fe();a=sO(b);td(c,a);td(b.d,c);Fq(b,d,a);}
+function sO(b){var a;a=ee();Ep(b,a,b.a);Fp(b,a,b.b);return a;}
+function tO(b,a){b.a=a;}
+function uO(b,a){b.b=a;}
+function vO(c){var a,b;b=ff(c.wb());a=ir(this,c);if(a){nf(this.d,ff(b));}return a;}
+function nO(){}
+_=nO.prototype=new Bp();_.ge=vO;_.tN=bgc+'VerticalPanel';_.tI=124;function aP(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[614],[13],[4],null);return b;}
+function bP(a,b){fP(a,b,a.c);}
+function dP(b,a){if(a<0||a>=b.c){throw new gT();}return b.a[a];}
+function eP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
+function fP(d,e,a){var b,c;if(a<0||a>d.c){throw new gT();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[614],[13],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
+function gP(a){return zO(new yO(),a);}
+function hP(c,b){var a;if(b<0||b>=c.c){throw new gT();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
+function iP(b,c){var a;a=eP(b,c);if(a==(-1)){throw new s2();}hP(b,a);}
+function xO(){}
+_=xO.prototype=new gU();_.tN=bgc+'WidgetCollection';_.tI=125;_.a=null;_.b=null;_.c=0;function zO(b,a){b.b=a;return b;}
+function BO(a){return a.a<a.b.c-1;}
+function CO(a){if(a.a>=a.b.c){throw new s2();}return a.b.a[++a.a];}
+function DO(){return BO(this);}
+function EO(){return CO(this);}
+function FO(){if(this.a<0||this.a>=this.b.c){throw new dT();}this.b.b.ge(this.b.a[this.a--]);}
+function yO(){}
+_=yO.prototype=new gU();_.mc=DO;_.uc=EO;_.ee=FO;_.tN=bgc+'WidgetCollection$WidgetIterator';_.tI=126;_.a=(-1);function vP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[614],[13],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
+function wP(b,a){return mP(new kP(),a,b);}
+function lP(a){a.e=a.c;{oP(a);}}
+function mP(a,b,c){a.c=b;a.d=c;lP(a);return a;}
+function oP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
+function pP(a){return a.a<a.c.a;}
+function qP(a){var b;if(!pP(a)){throw new s2();}a.b=a.a;b=a.c[a.a];oP(a);return b;}
+function rP(){return pP(this);}
+function sP(){return qP(this);}
+function tP(){if(this.b<0){throw new dT();}if(!this.f){this.e=vP(this.e);this.f=true;}fN(this.d,this.c[this.b]);this.b=(-1);}
+function kP(){}
+_=kP.prototype=new gU();_.mc=rP;_.uc=sP;_.ee=tP;_.tN=bgc+'WidgetIterators$1';_.tI=127;_.a=(-1);_.b=(-1);_.f=false;function iQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
+function kQ(c,f,b,e,g,a){var d;d=ce();Af(d,lQ(c,f,b,e,g,a));return df(d);}
+function lQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
+function hQ(){}
+_=hQ.prototype=new gU();_.tN=cgc+'ClippedImageImpl';_.tI=128;function nQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
+function oQ(b,a){qB(a,b.d,b.b,b.c,b.e,b.a);}
+function mQ(){}
+_=mQ.prototype=new qp();_.tN=cgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function aR(){aR=e3;dR=tQ(new rQ());eR=dR!==null?FQ(new qQ()):dR;}
+function FQ(a){aR();return a;}
+function bR(a){a.blur();}
+function cR(a){a.focus();}
+function fR(a,b){a.tabIndex=b;}
+function qQ(){}
+_=qQ.prototype=new gU();_.bb=bR;_.tb=cR;_.ue=fR;_.tN=cgc+'FocusImpl';_.tI=130;var dR,eR;function vQ(){vQ=e3;aR();}
+function sQ(a){a.a=wQ(a);a.b=xQ(a);a.c=zQ(a);}
+function tQ(a){vQ();FQ(a);sQ(a);return a;}
+function uQ(b,a){a.firstChild.blur();}
+function wQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
+function xQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
+function yQ(c){var a=$doc.createElement('div');var b=c.ib();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
+function zQ(a){return function(){this.firstChild.focus();};}
+function AQ(b,a){a.firstChild.focus();}
+function BQ(a){uQ(this,a);}
+function CQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
+function DQ(a){AQ(this,a);}
+function EQ(a,b){a.firstChild.tabIndex=b;}
+function rQ(){}
+_=rQ.prototype=new qQ();_.bb=BQ;_.ib=CQ;_.tb=DQ;_.ue=EQ;_.tN=cgc+'FocusImplOld';_.tI=131;function jR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
+function kR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.cd();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.bd();};}
+function lR(c,b,a){b.enctype=a;b.encoding=a;}
+function mR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
+function nR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
+function gR(){}
+_=gR.prototype=new gU();_.tN=cgc+'FormPanelImpl';_.tI=132;function oR(){}
+_=oR.prototype=new gU();_.tN=cgc+'PopupImpl';_.tI=133;function vR(){vR=e3;yR=zR();}
+function uR(a){vR();return a;}
+function wR(b){var a;a=xd();if(yR){Af(a,'<div><\/div>');eg(rR(new qR(),b,a));}return a;}
+function xR(b,a){return yR?df(a):a;}
+function zR(){vR();if(navigator.userAgent.indexOf('Macintosh')!= -1){return true;}return false;}
+function pR(){}
+_=pR.prototype=new oR();_.tN=cgc+'PopupImplMozilla';_.tI=134;var yR;function rR(b,a,c){b.a=c;return b;}
+function tR(){Df(this.a,'overflow','auto');}
+function qR(){}
+_=qR.prototype=new gU();_.rb=tR;_.tN=cgc+'PopupImplMozilla$1';_.tI=135;function DR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
+function ER(b,a){return DR(b,a);}
+function FR(d,a,c,b){a.setSelectionRange(c,c+b);}
+function BR(){}
+_=BR.prototype=new gU();_.tN=cgc+'TextBoxImpl';_.tI=136;function dS(){}
+_=dS.prototype=new gU();_.tN=dgc+'OutputStream';_.tI=137;function bS(){}
+_=bS.prototype=new dS();_.tN=dgc+'FilterOutputStream';_.tI=138;function fS(){}
+_=fS.prototype=new bS();_.tN=dgc+'PrintStream';_.tI=139;function hS(){}
+_=hS.prototype=new lU();_.tN=egc+'ArrayStoreException';_.tI=140;function lS(){lS=e3;mS=kS(new jS(),false);nS=kS(new jS(),true);}
+function kS(a,b){lS();a.a=b;return a;}
+function oS(a){return ac(a,55)&&Fb(a,55).a==this.a;}
+function pS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
+function qS(){return this.a?'true':'false';}
+function rS(a){lS();return a?nS:mS;}
+function jS(){}
+_=jS.prototype=new gU();_.eQ=oS;_.hC=pS;_.tS=qS;_.tN=egc+'Boolean';_.tI=141;_.a=false;var mS,nS;function vS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+wT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
+function wS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
+function yS(b,a){mU(b,a);return b;}
+function xS(){}
+_=xS.prototype=new lU();_.tN=egc+'ClassCastException';_.tI=142;function bT(b,a){mU(b,a);return b;}
+function aT(){}
+_=aT.prototype=new lU();_.tN=egc+'IllegalArgumentException';_.tI=143;function eT(b,a){mU(b,a);return b;}
+function dT(){}
+_=dT.prototype=new lU();_.tN=egc+'IllegalStateException';_.tI=144;function hT(b,a){mU(b,a);return b;}
+function gT(){}
+_=gT.prototype=new lU();_.tN=egc+'IndexOutOfBoundsException';_.tI=145;function aU(){aU=e3;{fU();}}
+function bU(a){aU();return isNaN(a);}
+function cU(e,d,c,h){aU();var a,b,f,g;if(e===null){throw ET(new DT(),'Unable to parse null');}b=dV(e);f=b>0&&AU(e,0)==45?1:0;for(a=f;a<b;a++){if(vS(AU(e,a),d)==(-1)){throw ET(new DT(),'Could not parse '+e+' in radix '+d);}}g=dU(e,d);if(bU(g)){throw ET(new DT(),'Unable to parse '+e);}else if(g<c||g>h){throw ET(new DT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
+function dU(b,a){aU();return parseInt(b,a);}
+function fU(){aU();eU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
+var eU=null;function kT(){kT=e3;aU();}
+function nT(a){kT();return oT(a,10);}
+function oT(b,a){kT();return cc(cU(b,a,(-2147483648),2147483647));}
+function pT(a){kT();return vV(a);}
+var lT=2147483647,mT=(-2147483648);function rT(){rT=e3;aU();}
+function sT(a){rT();return wV(a);}
+function vT(a){return a<0?-a:a;}
+function wT(a,b){return a<b?a:b;}
+function xT(){}
+_=xT.prototype=new lU();_.tN=egc+'NegativeArraySizeException';_.tI=146;function AT(b,a){mU(b,a);return b;}
+function zT(){}
+_=zT.prototype=new lU();_.tN=egc+'NullPointerException';_.tI=147;function ET(b,a){bT(b,a);return b;}
+function DT(){}
+_=DT.prototype=new aT();_.tN=egc+'NumberFormatException';_.tI=148;function AU(b,a){return b.charCodeAt(a);}
+function CU(f,c){var a,b,d,e,g,h;h=dV(f);e=dV(c);b=wT(h,e);for(a=0;a<b;a++){g=AU(f,a);d=AU(c,a);if(g!=d){return g-d;}}return h-e;}
+function DU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
+function FU(b,a){if(!ac(a,1))return false;return oV(b,a);}
+function EU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
+function aV(b,a){return b.indexOf(String.fromCharCode(a));}
+function bV(b,a){return b.indexOf(a);}
+function cV(c,b,a){return c.indexOf(b,a);}
+function dV(a){return a.length;}
+function eV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
+function fV(b,a){return gV(b,a,0);}
+function gV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=nV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
+function hV(b,a){return bV(b,a)==0;}
+function iV(b,a){return b.substr(a,b.length-a);}
+function jV(c,a,b){return c.substr(a,b-a);}
+function kV(d){var a,b,c;c=dV(d);a=yb('[C',[610],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=AU(d,b);return a;}
+function lV(a){return a.toLowerCase();}
+function mV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
+function nV(a){return yb('[Ljava.lang.String;',[609],[1],[a],null);}
+function oV(a,b){return String(a)==b;}
+function pV(a){if(ac(a,1)){return CU(this,Fb(a,1));}else{throw yS(new xS(),'Cannot compare '+a+" with String '"+this+"'");}}
+function qV(a){return FU(this,a);}
+function sV(){var a=rV;if(!a){a=rV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
+function tV(){return this;}
+function uV(a){return String.fromCharCode(a);}
+function vV(a){return ''+a;}
+function wV(a){return ''+a;}
+function xV(a){return a!==null?a.tS():'null';}
+_=String.prototype;_.db=pV;_.eQ=qV;_.hC=sV;_.tS=tV;_.tN=egc+'String';_.tI=2;var rV=null;function rU(a){uU(a);return a;}
+function sU(a,b){return tU(a,uV(b));}
+function tU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
+function uU(a){vU(a,'');}
+function vU(b,a){b.js=[a];b.length=a.length;}
+function xU(a){a.vc();return a.js[0];}
+function yU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
+function zU(){return xU(this);}
+function qU(){}
+_=qU.prototype=new gU();_.vc=yU;_.tS=zU;_.tN=egc+'StringBuffer';_.tI=149;function zV(){zV=e3;CV=new fS();}
+function AV(){zV();return new Date().getTime();}
+function BV(a){zV();return B(a);}
+var CV;function eW(b,a){mU(b,a);return b;}
+function dW(){}
+_=dW.prototype=new lU();_.tN=egc+'UnsupportedOperationException';_.tI=150;function qW(b,a){b.c=a;return b;}
+function sW(a){return a.a<a.c.Ee();}
+function tW(){return sW(this);}
+function uW(){if(!sW(this)){throw new s2();}return this.c.jc(this.b=this.a++);}
+function vW(){if(this.b<0){throw new dT();}this.c.fe(this.b);this.a=this.b;this.b=(-1);}
+function pW(){}
+_=pW.prototype=new gU();_.mc=tW;_.uc=uW;_.ee=vW;_.tN=fgc+'AbstractList$IteratorImpl';_.tI=151;_.a=0;_.b=(-1);function EX(f,d,e){var a,b,c;for(b=g1(f.qb());E0(b);){a=F0(b);c=a.Ab();if(d===null?c===null:d.eQ(c)){if(e){a1(b);}return a;}}return null;}
+function FX(b){var a;a=b.qb();return aX(new FW(),b,a);}
+function aY(b){var a;a=q1(b);return pX(new oX(),b,a);}
+function bY(a){return EX(this,a,false)!==null;}
+function cY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=FX(this);e=f.tc();if(!jY(c,e)){return false;}for(a=cX(c);jX(a);){b=kX(a);h=this.kc(b);g=f.kc(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
+function dY(b){var a;a=EX(this,b,false);return a===null?null:a.gc();}
+function eY(){var a,b,c;b=0;for(c=g1(this.qb());E0(c);){a=F0(c);b+=a.hC();}return b;}
+function fY(){return FX(this);}
+function gY(){var a,b,c,d;d='{';a=false;for(c=g1(this.qb());E0(c);){b=F0(c);if(a){d+=', ';}else{a=true;}d+=xV(b.Ab());d+='=';d+=xV(b.gc());}return d+'}';}
+function EW(){}
+_=EW.prototype=new gU();_.fb=bY;_.eQ=cY;_.kc=dY;_.hC=eY;_.tc=fY;_.tS=gY;_.tN=fgc+'AbstractMap';_.tI=152;function jY(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ee()!=e.Ee()){return false;}for(a=c.sc();a.mc();){d=a.uc();if(!e.gb(d)){return false;}}return true;}
+function kY(a){return jY(this,a);}
+function lY(){var a,b,c;a=0;for(b=this.sc();b.mc();){c=b.uc();if(c!==null){a+=c.hC();}}return a;}
+function hY(){}
+_=hY.prototype=new gW();_.eQ=kY;_.hC=lY;_.tN=fgc+'AbstractSet';_.tI=153;function aX(b,a,c){b.a=a;b.b=c;return b;}
+function cX(b){var a;a=g1(b.b);return hX(new gX(),b,a);}
+function dX(a){return this.a.fb(a);}
+function eX(){return cX(this);}
+function fX(){return this.b.a.c;}
+function FW(){}
+_=FW.prototype=new hY();_.gb=dX;_.sc=eX;_.Ee=fX;_.tN=fgc+'AbstractMap$1';_.tI=154;function hX(b,a,c){b.a=c;return b;}
+function jX(a){return E0(a.a);}
+function kX(b){var a;a=F0(b.a);return a.Ab();}
+function lX(){return jX(this);}
+function mX(){return kX(this);}
+function nX(){a1(this.a);}
+function gX(){}
+_=gX.prototype=new gU();_.mc=lX;_.uc=mX;_.ee=nX;_.tN=fgc+'AbstractMap$2';_.tI=155;function pX(b,a,c){b.a=a;b.b=c;return b;}
+function rX(b){var a;a=g1(b.b);return wX(new vX(),b,a);}
+function sX(a){return p1(this.a,a);}
+function tX(){return rX(this);}
+function uX(){return this.b.a.c;}
+function oX(){}
+_=oX.prototype=new gW();_.gb=sX;_.sc=tX;_.Ee=uX;_.tN=fgc+'AbstractMap$3';_.tI=156;function wX(b,a,c){b.a=c;return b;}
+function yX(a){return E0(a.a);}
+function zX(a){var b;b=F0(a.a).gc();return b;}
+function AX(){return yX(this);}
+function BX(){return zX(this);}
+function CX(){a1(this.a);}
+function vX(){}
+_=vX.prototype=new gU();_.mc=AX;_.uc=BX;_.ee=CX;_.tN=fgc+'AbstractMap$4';_.tI=157;function kZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.eb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
+function lZ(a){kZ(a,a.a,(xZ(),yZ));}
+function oZ(){oZ=e3;f2(new e2());pZ=l1(new p0());oY(new mY());}
+function qZ(c,d){oZ();var a,b;b=c.b;for(a=0;a<b;a++){BY(c,a,d[a]);}}
+function rZ(a){oZ();var b;b=a.af();lZ(b);qZ(a,b);}
+var pZ;function xZ(){xZ=e3;yZ=new uZ();}
+var yZ;function wZ(a,b){return Fb(a,34).db(b);}
+function uZ(){}
+_=uZ.prototype=new gU();_.eb=wZ;_.tN=fgc+'Comparators$1';_.tI=158;function CZ(){CZ=e3;d0=zb('[Ljava.lang.String;',609,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);e0=zb('[Ljava.lang.String;',609,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
+function AZ(a){CZ();FZ(a);return a;}
+function BZ(b,a){CZ();a0(b,a);return b;}
+function DZ(c,a){var b,d;d=EZ(c);b=EZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
+function EZ(a){return a.jsdate.getTime();}
+function FZ(a){a.jsdate=new Date();}
+function a0(b,a){b.jsdate=new Date(a);}
+function b0(a){return a.jsdate.toLocaleString();}
+function c0(h){var a=h.jsdate;var g=k0;var b=g0(h.jsdate.getDay());var e=j0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
+function f0(a){return DZ(this,Fb(a,59));}
+function g0(a){CZ();return d0[a];}
+function h0(a){return ac(a,59)&&EZ(this)==EZ(Fb(a,59));}
+function i0(){return cc(EZ(this)^EZ(this)>>>32);}
+function j0(a){CZ();return e0[a];}
+function k0(a){CZ();if(a<10){return '0'+a;}else{return vV(a);}}
+function l0(){return c0(this);}
+function zZ(){}
+_=zZ.prototype=new gU();_.db=f0;_.eQ=h0;_.hC=i0;_.tS=l0;_.tN=fgc+'Date';_.tI=159;var d0,e0;function n1(){n1=e3;u1=A1();}
+function k1(a){{m1(a);}}
+function l1(a){n1();k1(a);return a;}
+function m1(a){a.a=gb();a.d=ib();a.b=hc(u1,cb);a.c=0;}
+function o1(b,a){if(ac(a,1)){return E1(b.d,Fb(a,1))!==u1;}else if(a===null){return b.b!==u1;}else{return D1(b.a,a,a.hC())!==u1;}}
+function p1(a,b){if(a.b!==u1&&C1(a.b,b)){return true;}else if(z1(a.d,b)){return true;}else if(x1(a.a,b)){return true;}return false;}
+function q1(a){return e1(new A0(),a);}
+function r1(c,a){var b;if(ac(a,1)){b=E1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=D1(c.a,a,a.hC());}return b===u1?null:b;}
+function s1(c,a,d){var b;if(ac(a,1)){b=b2(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=a2(c.a,a,d,a.hC());}if(b===u1){++c.c;return null;}else{return b;}}
+function t1(c,a){var b;if(ac(a,1)){b=d2(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(u1,cb);}else{b=c2(c.a,a,a.hC());}if(b===u1){return null;}else{--c.c;return b;}}
+function v1(e,c){n1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.E(a[f]);}}}}
+function w1(d,a){n1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=t0(c.substring(1),e);a.E(b);}}}
+function x1(f,h){n1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.gc();if(C1(h,d)){return true;}}}}return false;}
+function y1(a){return o1(this,a);}
+function z1(c,d){n1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(C1(d,a)){return true;}}}return false;}
+function A1(){n1();}
+function B1(){return q1(this);}
+function C1(a,b){n1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
+function F1(a){return r1(this,a);}
+function D1(f,h,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){return c.gc();}}}}
+function E1(b,a){n1();return b[':'+a];}
+function a2(f,h,j,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){var i=c.gc();c.ye(j);return i;}}}else{a=f[e]=[];}var c=t0(h,j);a.push(c);}
+function b2(c,a,d){n1();a=':'+a;var b=c[a];c[a]=d;return b;}
+function c2(f,h,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.gc();}}}}
+function d2(c,a){n1();a=':'+a;var b=c[a];delete c[a];return b;}
+function p0(){}
+_=p0.prototype=new EW();_.fb=y1;_.qb=B1;_.kc=F1;_.tN=fgc+'HashMap';_.tI=160;_.a=null;_.b=null;_.c=0;_.d=null;var u1;function r0(b,a,c){b.a=a;b.b=c;return b;}
+function t0(a,b){return r0(new q0(),a,b);}
+function u0(b){var a;if(ac(b,60)){a=Fb(b,60);if(C1(this.a,a.Ab())&&C1(this.b,a.gc())){return true;}}return false;}
+function v0(){return this.a;}
+function w0(){return this.b;}
+function x0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
+function y0(a){var b;b=this.b;this.b=a;return b;}
+function z0(){return this.a+'='+this.b;}
+function q0(){}
+_=q0.prototype=new gU();_.eQ=u0;_.Ab=v0;_.gc=w0;_.hC=x0;_.ye=y0;_.tS=z0;_.tN=fgc+'HashMap$EntryImpl';_.tI=161;_.a=null;_.b=null;function e1(b,a){b.a=a;return b;}
+function g1(a){return C0(new B0(),a.a);}
+function h1(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.Ab();if(o1(this.a,b)){d=r1(this.a,b);return C1(a.gc(),d);}}return false;}
+function i1(){return g1(this);}
+function j1(){return this.a.c;}
+function A0(){}
+_=A0.prototype=new hY();_.gb=h1;_.sc=i1;_.Ee=j1;_.tN=fgc+'HashMap$EntrySet';_.tI=162;function C0(c,b){var a;c.c=b;a=oY(new mY());if(c.c.b!==(n1(),u1)){qY(a,r0(new q0(),null,c.c.b));}w1(c.c.d,a);v1(c.c.a,a);c.a=a.sc();return c;}
+function E0(a){return a.a.mc();}
+function F0(a){return a.b=Fb(a.a.uc(),60);}
+function a1(a){if(a.b===null){throw eT(new dT(),'Must call next() before remove().');}else{a.a.ee();t1(a.c,a.b.Ab());a.b=null;}}
+function b1(){return E0(this);}
+function c1(){return F0(this);}
+function d1(){a1(this);}
+function B0(){}
+_=B0.prototype=new gU();_.mc=b1;_.uc=c1;_.ee=d1;_.tN=fgc+'HashMap$EntrySetIterator';_.tI=163;_.a=null;_.b=null;function f2(a){a.a=l1(new p0());return a;}
+function g2(c,a){var b;b=s1(c.a,a,rS(true));return b===null;}
+function i2(a){return cX(FX(a.a));}
+function j2(a){return g2(this,a);}
+function k2(a){return o1(this.a,a);}
+function l2(){return i2(this);}
+function m2(){return this.a.c;}
+function n2(){return FX(this.a).tS();}
+function e2(){}
+_=e2.prototype=new hY();_.E=j2;_.gb=k2;_.sc=l2;_.Ee=m2;_.tS=n2;_.tN=fgc+'HashSet';_.tI=164;_.a=null;function t2(b,a){mU(b,a);return b;}
+function s2(){}
+_=s2.prototype=new lU();_.tN=fgc+'NoSuchElementException';_.tI=165;function y2(a){a.a=oY(new mY());return a;}
+function z2(b,a){return qY(b.a,a);}
+function B2(a){return a.a.sc();}
+function C2(a,b){pY(this.a,a,b);}
+function D2(a){return z2(this,a);}
+function E2(a){return uY(this.a,a);}
+function F2(a){return vY(this.a,a);}
+function a3(){return B2(this);}
+function b3(a){return zY(this.a,a);}
+function c3(){return this.a.b;}
+function d3(){return this.a.af();}
+function x2(){}
+_=x2.prototype=new oW();_.D=C2;_.E=D2;_.gb=E2;_.jc=F2;_.sc=a3;_.fe=b3;_.Ee=c3;_.af=d3;_.tN=fgc+'Vector';_.tI=166;_.a=null;function e5(){e5=e3;g5=l1(new p0());}
+function d5(a){e5();return a;}
+function f5(){}
+function u4(){}
+_=u4.prototype=new mr();_.od=f5;_.tN=ggc+'JBRMSFeature';_.tI=167;var g5;function l3(){l3=e3;e5();}
+function k3(a){l3();d5(a);a.a=AJ(new mJ());a.a.De('100%');a.a.se('100%');BJ(a.a,j9(new t8()),"<img src='images/category_small.gif'/>Manage categories",true);BJ(a.a,A9(new m9()),"<img src='images/status_small.gif'/>Manage states",true);BJ(a.a,B7(new x6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);BJ(a.a,o8(new F7()),"<img src='images/backup_small.gif'/>Import Export",true);bK(a.a,0);or(a,a.a);return a;}
+function m3(){l3();return h3(new g3(),'Admin','Administer the repository');}
+function n3(){}
+function f3(){}
+_=f3.prototype=new u4();_.od=n3;_.tN=ggc+'AdminFeature';_.tI=168;_.a=null;function w4(c,b,a){c.c=b;c.a=a;return c;}
+function y4(a){if(a.b!==null)return a.b;return a.b=a.jb();}
+function v4(){}
+_=v4.prototype=new gU();_.tN=ggc+'JBRMSFeature$ComponentInfo';_.tI=169;_.a=null;_.b=null;_.c=null;function h3(c,a,b){w4(c,a,b);return c;}
+function j3(){return k3(new f3());}
+function g3(){}
+_=g3.prototype=new v4();_.jb=j3;_.tN=ggc+'AdminFeature$1';_.tI=170;function u3(){u3=e3;e5();}
+function t3(a){u3();d5(a);or(a,oKb(new wIb()));return a;}
+function v3(){u3();return q3(new p3(),'Deployment','Configure and view frozen snapshots of packages.');}
+function w3(){}
+function o3(){}
+_=o3.prototype=new u4();_.od=w3;_.tN=ggc+'DeploymentManagementFeature';_.tI=171;function q3(c,a,b){w4(c,a,b);return c;}
+function s3(){return t3(new o3());}
+function p3(){}
+_=p3.prototype=new v4();_.jb=s3;_.tN=ggc+'DeploymentManagementFeature$1';_.tI=172;function D3(){D3=e3;e5();}
+function C3(a){D3();d5(a);or(a,E3(a));return a;}
+function E3(a){a.a=Dv(new Bv(),'welcome.html');CN(a.a,'welcome-Page');a.a.Ae(true);return a.a;}
+function F3(){D3();return z3(new y3(),'Info','JBoss Rules Managment System.');}
+function a4(){}
+function x3(){}
+_=x3.prototype=new u4();_.od=a4;_.tN=ggc+'Info';_.tI=173;_.a=null;function z3(c,a,b){w4(c,a,b);return c;}
+function B3(){return C3(new x3());}
+function y3(){}
+_=y3.prototype=new v4();_.jb=B3;_.tN=ggc+'Info$1';_.tI=174;function l4(a){a.c=lz(new pw());a.d=E4(new C4());a.g=xs(new os());}
+function m4(a){l4(a);return a;}
+function n4(a){CXb(mMb(),d4(new c4(),a));}
+function p4(b,c){var a;a=b5(b.d,c);if(a===null){r4(b);return;}s4(b,a,false);}
+function q4(b){var a,c;B4(b.d);b.h=xs(new os());CN(b.h,'ks-Sink');c=pO(new nO());c.De('100%');qO(c,b.c);qO(c,b.h);CN(b.c,'ks-Info');ys(b.g,b.d,(zs(),dt));ys(b.g,c,(zs(),Fs));Ds(b.g,b.d,(Fz(),cA));Es(b.g,c,'100%');Bg(b);b.e=q5(new h5());b.f=b6(new t5());lp(qG(),b.e);lp(qG(),b.g);lp(qG(),b.f);b.f.De('100%');b.e.Ae(false);b.g.Ae(false);b.f.Ae(false);n4(b);a=Dg();if(dV(a)>0)p4(b,a);else r4(b);}
+function s4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){Bs(c.h,c.b);}c.b=y4(b);c5(c.d,b.c);pz(c.c,b.a);if(a)ah(b.c);ys(c.h,c.b,(zs(),Fs));Es(c.h,c.b,'100%');Ds(c.h,c.b,(Fz(),cA));c.b.od();}
+function r4(a){s4(a,b5(a.d,'Info'),false);}
+function t4(a){p4(this,a);}
+function b4(){}
+_=b4.prototype=new gU();_.dd=t4;_.tN=ggc+'JBRMSEntryPoint';_.tI=175;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function ycb(b,a){if(ac(a,69)){Acb();}else if(ac(a,70)){zbb(Fb(a,70));}else{ybb(a.Bb());}}
+function zcb(a){ycb(this,a);}
+function Acb(){var a;a=scb(new ncb(),'images/warning-large.png','Session expired');ucb(a,mz(new pw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));tE(a,40,40);wE(a);tdb();}
+function wcb(){}
+_=wcb.prototype=new gU();_.Fc=zcb;_.tN=jgc+'GenericCallback';_.tI=176;function d4(b,a){b.a=a;return b;}
+function f4(a){var b;b=Fb(a,1);if(b!==null){s5(this.a.e,b);this.a.e.Ae(true);this.a.g.Ae(true);this.a.f.Ae(false);}else{this.a.f.Ae(true);f6(this.a.f,h4(new g4(),this));}}
+function c4(){}
+_=c4.prototype=new wcb();_.rd=f4;_.tN=ggc+'JBRMSEntryPoint$1';_.tI=177;function h4(b,a){b.a=a;return b;}
+function j4(a){s5(a.a.a.e,e6(a.a.a.f));a.a.a.e.Ae(true);a.a.a.f.Ae(false);a.a.a.g.Ae(true);}
+function k4(){j4(this);}
+function g4(){}
+_=g4.prototype=new gU();_.rb=k4;_.tN=ggc+'JBRMSEntryPoint$2';_.tI=178;function B4(a){F4(a,F3());F4(a,w6());F4(a,n6());F4(a,v3());F4(a,m3());}
+function D4(a){a.a=pO(new nO());a.c=oY(new mY());}
+function E4(a){D4(a);or(a,a.a);CN(a,'ks-List');return a;}
+function F4(d,a){var b,c;c=a.c;b=rA(new pA(),c,c);CN(b,'ks-SinkItem');qO(d.a,b);qY(d.c,a);}
+function b5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(vY(d.c,a),61);if(FU(b.c,c))return b;}return null;}
+function c5(d,c){var a,b;if(d.b!=(-1))xN(fr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(vY(d.c,a),61);if(FU(b.c,c)){d.b=a;rN(fr(d.a,d.b),'ks-SinkItem-selected');return;}}}
+function C4(){}
+_=C4.prototype=new mr();_.tN=ggc+'JBRMSFeatureList';_.tI=179;_.b=(-1);function q5(a){a.a=lz(new pw());or(a,a.a);return a;}
+function s5(b,d){var a,c;a=rU(new qU());tU(a,"<div id='user_info'>");tU(a,'Welcome: &nbsp;'+d);tU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");tU(a,'<\/div>');pz(b.a,xU(a));c=j5(new i5(),b);mh(c,300000);}
+function h5(){}
+_=h5.prototype=new mr();_.tN=ggc+'LoggedInUserInfo';_.tI=180;_.a=null;function k5(){k5=e3;kh();}
+function j5(b,a){k5();ih(b);return b;}
+function l5(){CXb(mMb(),new m5());}
+function i5(){}
+_=i5.prototype=new dh();_.he=l5;_.tN=ggc+'LoggedInUserInfo$1';_.tI=181;function o5(a){}
+function p5(a){if(a===null){Acb();}}
+function m5(){}
+_=m5.prototype=new gU();_.Fc=o5;_.rd=p5;_.tN=ggc+'LoggedInUserInfo$2';_.tI=182;function b6(c){var a,b;c.a=dcb(new acb(),'images/login.gif','Please enter your details');c.c=bL(new sK());c.c.te(1);ecb(c.a,'User name:',c.c);b=fE(new eE());b.te(2);ecb(c.a,'Password:',b);a=yp(new sp(),'Login');a.te(3);ecb(c.a,'',a);a.z(v5(new u5(),c,b));or(c,c.a);c.c.qe(true);CN(c,'login-Form');return c;}
+function d6(c,a,d,b){pMb(zK(d),zK(b),D5(new C5(),c,a));}
+function e6(a){return zK(a.c);}
+function f6(b,a){b.b=a;}
+function t5(){}
+_=t5.prototype=new mr();_.tN=ggc+'LoginWidget';_.tI=183;_.a=null;_.b=null;_.c=null;function v5(b,a,c){b.a=a;b.b=c;return b;}
+function x5(a){xdb('Logging in...');fg(z5(new y5(),this,this.b));}
+function u5(){}
+_=u5.prototype=new gU();_.Bc=x5;_.tN=ggc+'LoginWidget$1';_.tI=184;function z5(b,a,c){b.a=a;b.b=c;return b;}
+function B5(){d6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
+function y5(){}
+_=y5.prototype=new gU();_.rb=B5;_.tN=ggc+'LoginWidget$2';_.tI=185;function D5(b,a,c){b.a=c;return b;}
+function F5(c,a){var b;tdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{j4(c.a);}}
+function a6(a){F5(this,a);}
+function C5(){}
+_=C5.prototype=new wcb();_.rd=a6;_.tN=ggc+'LoginWidget$3';_.tI=186;function m6(){m6=e3;e5();}
+function l6(b){var a;m6();d5(b);a=sIb(new lIb());vIb(a,g5);or(b,a);return b;}
+function n6(){m6();return i6(new h6(),'Packages','Configure and view packages of business rule assets.');}
+function o6(){}
+function g6(){}
+_=g6.prototype=new u4();_.od=o6;_.tN=ggc+'PackageManagementFeature';_.tI=187;function i6(c,a,b){w4(c,a,b);return c;}
+function k6(){return l6(new g6());}
+function h6(){}
+_=h6.prototype=new v4();_.jb=k6;_.tN=ggc+'PackageManagementFeature$1';_.tI=188;function v6(){v6=e3;e5();}
+function u6(b){var a;v6();d5(b);a=hcc(new dbc());lcc(a,g5);or(b,a);return b;}
+function w6(){v6();return r6(new q6(),'Rules','Find and edit rules.');}
+function p6(){}
+_=p6.prototype=new u4();_.tN=ggc+'RulesFeature';_.tI=189;function r6(c,a,b){w4(c,a,b);return c;}
+function t6(){return u6(new p6());}
+function q6(){}
+_=q6.prototype=new v4();_.jb=t6;_.tN=ggc+'RulesFeature$1';_.tI=190;function B7(a){var b;b=dcb(new acb(),'images/backup_large.png','Manage Archived Assets');a.a=hA(new fA());a.a.De('100%');hcb(b,a.a);a.b=kdc(new occ(),new y6(),'archivedrulelist');qdc(a.b,E7(a));iA(a.a,a.b);z7(E7(a));hcb(b,mz(new pw(),'<hr/>'));hcb(b,D7(a));or(a,b);return a;}
+function D7(d){var a,b,c,e;b=hA(new fA());c=yp(new sp(),'Refresh');c.z(C6(new B6(),d));e=yp(new sp(),'Unarchive');e.z(a7(new F6(),d));a=yp(new sp(),'Delete');a.z(j7(new i7(),d));iA(b,c);iA(b,e);iA(b,a);return b;}
+function E7(b){var a;a=s7(new r7(),b);return x7(new w7(),b,a);}
+function x6(){}
+_=x6.prototype=new mr();_.tN=hgc+'ArchivedAssetManager';_.tI=191;_.a=null;_.b=null;function A6(a){var b,c;b=scb(new ncb(),'images/snapshot.png','Archived item');c=AJ(new mJ());ucb(b,c);d5b(l1(new p0()),c,a,true);tE(b,20,20);wE(b);}
+function y6(){}
+_=y6.prototype=new gU();_.yd=A6;_.tN=hgc+'ArchivedAssetManager$1';_.tI=192;function C6(b,a){b.a=a;return b;}
+function E6(a){z7(E7(this.a));}
+function B6(){}
+_=B6.prototype=new gU();_.Bc=E6;_.tN=hgc+'ArchivedAssetManager$2';_.tI=193;function a7(b,a){b.a=a;return b;}
+function c7(a){qTb(nMb(),mdc(this.a.b),false,e7(new d7(),this));}
+function F6(){}
+_=F6.prototype=new gU();_.Bc=c7;_.tN=hgc+'ArchivedAssetManager$3';_.tI=194;function e7(b,a){b.a=a;return b;}
+function g7(b,a){z7(E7(b.a.a));zh('Done!');}
+function h7(a){g7(this,a);}
+function d7(){}
+_=d7.prototype=new wcb();_.rd=h7;_.tN=hgc+'ArchivedAssetManager$4';_.tI=195;function j7(b,a){b.a=a;return b;}
+function l7(a){qUb(nMb(),mdc(this.a.b),n7(new m7(),this));}
+function i7(){}
+_=i7.prototype=new gU();_.Bc=l7;_.tN=hgc+'ArchivedAssetManager$5';_.tI=196;function n7(b,a){b.a=a;return b;}
+function p7(b,a){z7(E7(b.a.a));zh('Done!');}
+function q7(a){p7(this,a);}
+function m7(){}
+_=m7.prototype=new wcb();_.rd=q7;_.tN=hgc+'ArchivedAssetManager$6';_.tI=197;function s7(b,a){b.a=a;return b;}
+function u7(c,a){var b;b=Fb(a,62);pdc(c.a.b,b);c.a.b.De('100%');tdb();}
+function v7(a){u7(this,a);}
+function r7(){}
+_=r7.prototype=new wcb();_.rd=v7;_.tN=hgc+'ArchivedAssetManager$7';_.tI=198;function x7(b,a,c){b.a=c;return b;}
+function z7(a){xdb('Loading list, please wait...');gUb(nMb(),a.a);}
+function A7(){z7(this);}
+function w7(){}
+_=w7.prototype=new gU();_.rb=A7;_.tN=hgc+'ArchivedAssetManager$8';_.tI=199;function o8(a){var b;b=dcb(new acb(),'images/backup_large.png','Import/Export');ecb(b,'',mz(new pw(),'<i>Import and Export rules repository<\/i>'));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Import from an xml file',s8(a));ecb(b,'Export to a zip file',r8(a));hcb(b,mz(new pw(),'<hr/>'));or(a,b);return a;}
+function q8(a){xdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');tdb();}
+function r8(c){var a,b;b=hA(new fA());a=yp(new sp(),'Export');a.z(b8(new a8(),c));iA(b,a);return b;}
+function s8(c){var a,b,d,e;e=ev(new Fu());kv(e,v()+'backup');lv(e,'multipart/form-data');mv(e,'post');b=hA(new fA());e.Ce(b);d=it(new ht());lt(d,'importFile');iA(b,d);iA(b,eC(new cC(),'import:'));a=Dcb(new Ccb(),'images/upload.gif');nB(a,f8(new e8(),c,e));iA(b,a);fv(e,k8(new j8(),c,d));return e;}
+function F7(){}
+_=F7.prototype=new mr();_.tN=hgc+'BackupManager';_.tI=200;function b8(b,a){b.a=a;return b;}
+function d8(a){q8(this.a);}
+function a8(){}
+_=a8.prototype=new gU();_.Bc=d8;_.tN=hgc+'BackupManager$1';_.tI=201;function f8(b,a,c){b.a=c;return b;}
+function h8(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){xdb('Importing repository, please wait, as this could take some time...');ov(b);}}
+function i8(a){h8(this,this.a);}
+function e8(){}
+_=e8.prototype=new gU();_.Bc=i8;_.tN=hgc+'BackupManager$2';_.tI=202;function k8(b,a,c){b.a=c;return b;}
+function n8(a){if(dV(kt(this.a))==0){zh('You did not specify an exported repository filename !');Av(a,true);}else if(!DU(kt(this.a),'.xml')){zh('Please specify a valid repository xml file.');Av(a,true);}}
+function m8(a){if(bV(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{ybb('Unable to import into the repository. Consult the server logs for error messages.');}tdb();}
+function j8(){}
+_=j8.prototype=new gU();_.qd=n8;_.pd=m8;_.tN=hgc+'BackupManager$3';_.tI=203;function i9(a){pO(new nO());}
+function j9(f){var a,b,c,d,e;i9(f);c=dcb(new acb(),'images/edit_category.gif','Edit categories');ecb(c,'',mz(new pw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=e_(new t$(),new u8());CN(f.a,'category-explorer-Admin');b=cH(new AG());CN(b,'metadata-Widget');eH(b,f.a);hcb(c,mz(new pw(),'<hr/>'));ecb(c,'Current categories:',b);e=Dcb(new Ccb(),'images/refresh.gif');e.ve('Refresh categories');nB(e,y8(new x8(),f));ecb(c,'Refresh view:',e);hcb(c,mz(new pw(),'<hr/>'));d=Dcb(new Ccb(),'images/new.gif');d.ve('Create a new category');nB(d,C8(new B8(),f));ecb(c,'Create a new category:',d);a=Dcb(new Ccb(),'images/delete_obj.gif');nB(a,a9(new F8(),f));a.ve("Deletes the currently selected category. You won't be able to delete if the category is in use.");ecb(c,'Delete the currently selected category:',a);or(f,c);return f;}
+function l9(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){rUb(nMb(),a.a.e,e9(new d9(),a));}}
+function t8(){}
+_=t8.prototype=new mr();_.tN=hgc+'CategoryManager';_.tI=204;_.a=null;function w8(a){}
+function u8(){}
+_=u8.prototype=new gU();_.je=w8;_.tN=hgc+'CategoryManager$1';_.tI=205;function y8(b,a){b.a=a;return b;}
+function A8(a){k_(this.a.a);}
+function x8(){}
+_=x8.prototype=new gU();_.Bc=A8;_.tN=hgc+'CategoryManager$2';_.tI=206;function C8(b,a){b.a=a;return b;}
+function E8(b){var a;a=o$(new F9(),this.a.a.e);tE(a,tN(b),uN(b)-400);wE(a);}
+function B8(){}
+_=B8.prototype=new gU();_.Bc=E8;_.tN=hgc+'CategoryManager$3';_.tI=207;function a9(b,a){b.a=a;return b;}
+function c9(a){l9(this.a);}
+function F8(){}
+_=F8.prototype=new gU();_.Bc=c9;_.tN=hgc+'CategoryManager$4';_.tI=208;function e9(b,a){b.a=a;return b;}
+function g9(b,a){k_(b.a.a);}
+function h9(a){g9(this,a);}
+function d9(){}
+_=d9.prototype=new wcb();_.rd=h9;_.tN=hgc+'CategoryManager$5';_.tI=209;function A9(b){var a;a=dcb(new acb(),'images/status_large.png','Manage statuses');ecb(a,'',mz(new pw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=uC(new mC());eD(b.a,7);b.a.De('50%');E9(b);ecb(a,'Current statuses:',b.a);ecb(a,'Add new status:',D9(b));or(b,a);return b;}
+function C9(b,a){xdb('Creating status');aUb(nMb(),zK(a),w9(new v9(),b,a));}
+function D9(d){var a,b,c;c=hA(new fA());a=bL(new sK());b=yp(new sp(),'Create');b.z(s9(new r9(),d,a));iA(c,a);iA(c,b);return c;}
+function E9(a){xdb('Loading statuses...');fUb(nMb(),o9(new n9(),a));}
+function m9(){}
+_=m9.prototype=new mr();_.tN=hgc+'StateManager';_.tI=210;_.a=null;function o9(b,a){b.a=a;return b;}
+function q9(a){var b,c;AC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){xC(this.a.a,c[b]);}tdb();}
+function n9(){}
+_=n9.prototype=new wcb();_.rd=q9;_.tN=hgc+'StateManager$1';_.tI=211;function s9(b,a,c){b.a=a;b.b=c;return b;}
+function u9(a){C9(this.a,this.b);}
+function r9(){}
+_=r9.prototype=new gU();_.Bc=u9;_.tN=hgc+'StateManager$2';_.tI=212;function w9(b,a,c){b.a=a;b.b=c;return b;}
+function y9(b,a){DK(b.b,'');E9(b.a);tdb();}
+function z9(a){y9(this,a);}
+function v9(){}
+_=v9.prototype=new wcb();_.rd=z9;_.tN=hgc+'StateManager$3';_.tI=213;function q$(){q$=e3;mE();}
+function n$(a){a.d=tt(new nt());a.b=bL(new sK());a.a=mK(new lK());}
+function o$(d,b){var a,c;q$();jE(d,true);n$(d);d.c=b;d.d.Be(0,0,Dcb(new Ccb(),'images/edit_category.gif'));d.d.Be(0,1,eC(new cC(),r$(d,d.c)));d.d.Be(1,0,eC(new cC(),'Cateogory name'));d.d.Be(1,1,d.b);rK(d.a,4);d.d.Be(2,0,eC(new cC(),'Description'));d.d.Be(2,1,d.a);c=yp(new sp(),'OK');c.z(b$(new a$(),d));d.d.Be(3,0,c);a=yp(new sp(),'Cancel');a.z(f$(new e$(),d));d.d.Be(3,1,a);eH(d,d.d);CN(d,'ks-popups-Popup');return d;}
+function p$(a){a.nc();}
+function r$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
+function s$(b){var a;a=j$(new i$(),b);if(FU('',zK(b.b))){ybb("Can't have an empty category name.");}else{CTb(nMb(),b.c,zK(b.b),zK(b.a),a);}}
+function F9(){}
+_=F9.prototype=new hE();_.tN=igc+'CategoryEditor';_.tI=214;_.c=null;function b$(b,a){b.a=a;return b;}
+function d$(a){s$(this.a);}
+function a$(){}
+_=a$.prototype=new gU();_.Bc=d$;_.tN=igc+'CategoryEditor$1';_.tI=215;function f$(b,a){b.a=a;return b;}
+function h$(a){p$(this.a);}
+function e$(){}
+_=e$.prototype=new gU();_.Bc=h$;_.tN=igc+'CategoryEditor$2';_.tI=216;function j$(b,a){b.a=a;return b;}
+function l$(b,a){if(Fb(a,55).a){b.a.nc();}else{ybb('Category was not successfully created. ');}}
+function m$(a){l$(this,a);}
+function i$(){}
+_=i$.prototype=new wcb();_.rd=m$;_.tN=igc+'CategoryEditor$3';_.tI=217;function d_(a){a.c=rM(new eL());a.d=pO(new nO());a.f=nMb();}
+function e_(b,a){d_(b);qO(b.d,b.c);b.a=a;j_(b);or(b,b.d);vM(b.c,b);CN(b,'category-explorer-Tree');return b;}
+function g_(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
+function h_(b,a){if(a.c.b==1&&ac(AL(a,0),64)){return false;}return true;}
+function i_(a){if(a.b!==null){a.b.Ae(false);}}
+function j_(a){uM(a.c,'Please wait...');iUb(a.f,'/',z$(new y$(),a));}
+function k_(a){eN(a.c);a.e=null;j_(a);}
+function l_(c){var a,b;if(c.b===null){b=kp(new jp());lp(b,mz(new pw(),'No categories created yet. Add some categories from the administration screen.'));a=yp(new sp(),'Refresh');a.z(v$(new u$(),c));lp(b,a);CN(b,'small-Text');c.b=b;qO(c.d,c.b);}c.b.Ae(true);}
+function m_(a){this.e=g_(this,a);this.a.je(this.e);}
+function n_(a){var b;if(h_(this,a)){return;}b=a;this.e=g_(this,a);iUb(this.f,this.e,D$(new C$(),this,b));}
+function t$(){}
+_=t$.prototype=new mr();_.td=m_;_.ud=n_;_.tN=igc+'CategoryExplorerWidget';_.tI=218;_.a=null;_.b=null;_.e=null;function v$(b,a){b.a=a;return b;}
+function x$(a){k_(this.a);}
+function u$(){}
+_=u$.prototype=new gU();_.Bc=x$;_.tN=igc+'CategoryExplorerWidget$1';_.tI=219;function z$(b,a){b.a=a;return b;}
+function B$(d){var a,b,c;this.a.e=null;eN(this.a.c);a=Fb(d,63);if(a.a==0){l_(this.a);}else{i_(this.a);}for(b=0;b<a.a;b++){c=wL(new uL());EL(c,'<img src="images/category_small.gif"/>'+a[b]);eM(c,a[b]);c.A(b_(new a_()));tM(this.a.c,c);}}
+function y$(){}
+_=y$.prototype=new wcb();_.rd=B$;_.tN=igc+'CategoryExplorerWidget$2';_.tI=220;function D$(b,a,c){b.a=c;return b;}
+function F$(e){var a,b,c,d;a=AL(this.a,0);if(ac(a,64)){this.a.ce(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=wL(new uL());EL(c,'<img src="images/category_small.gif"/>'+d[b]);eM(c,d[b]);c.A(b_(new a_()));this.a.A(c);}}
+function C$(){}
+_=C$.prototype=new wcb();_.rd=F$;_.tN=igc+'CategoryExplorerWidget$3';_.tI=221;function b_(a){xL(a,'Please wait...');return a;}
+function a_(){}
+_=a_.prototype=new uL();_.tN=igc+'CategoryExplorerWidget$PendingItem';_.tI=222;function q_(){q_=e3;r_=zb('[Ljava.lang.String;',609,1,['brl','dslr','xls']);t_=zb('[Ljava.lang.String;',609,1,['drl','rf','enumeration']);s_=zb('[Ljava.lang.String;',609,1,['function','dsl','jar','enumeration']);}
+function u_(a){q_();var b;for(b=0;b<s_.a;b++){if(FU(s_[b],a)){return true;}}return false;}
+var r_,s_,t_;function aab(){aab=e3;cL();}
+function E_(a){a.b=jE(new hE(),true);a.a=x_(new w_(),a);}
+function F_(b,a){aab();bL(b);E_(b);wK(b,b);DN(b.a,1);CN(b,'AutoCompleteTextBox');eH(b.b,b.a);rN(b.b,'AutoCompleteChoices');CN(b.a,'list');b.c=a;return b;}
+function bab(a){if(a.e&&CC(a.a)>0){DK(a,DC(a.a,EC(a.a)));}AC(a.a);a.b.nc();a.e=false;}
+function cab(e,a,b,c){var d;d=EC(e.a);d++;if(d>=CC(e.a)){d=0;}dD(e.a,d);}
+function dab(d,a,b,c){bab(d);}
+function eab(d,a,b,c){AC(d.a);d.b.nc();d.e=false;}
+function fab(b,a){if(0==dV(a)||0==CC(b.a)||1==CC(b.a)&&FU(DC(b.a,0),a)){AC(b.a);b.b.nc();b.e=false;}else{dD(b.a,0);eD(b.a,CC(b.a)+1);if(!b.d){lp(qG(),b.b);b.d=true;}wE(b.b);b.e=true;tE(b.b,tN(b),uN(b)+b.Eb());b.a.De(b.Fb()+'px');}}
+function gab(d,a,b,c){jab(d,zK(d));if(dV(zK(d))>0&&d.c!==null){xdc(d.c,zK(d),B_(new A_(),d));}}
+function hab(d,a,b,c){bab(d);}
+function iab(e,a,b,c){var d;d=EC(e.a);d--;if(d<0){d=CC(e.a)-1;}dD(e.a,d);}
+function jab(c,b){var a;a=0;while(a<CC(c.a)){if(hV(lV(DC(c.a,a)),lV(b))){++a;}else{cD(c.a,a);}}fab(c,b);}
+function kab(d,b,c){var a;AC(d.a);for(a=0;a<b.a;a++){xC(d.a,b[a]);}jab(d,c);}
+function lab(a,b,c){if(b==13){dab(this,a,b,c);}else if(b==9){hab(this,a,b,c);}else if(b==40){cab(this,a,b,c);}else if(b==38){iab(this,a,b,c);}else if(b==27){eab(this,a,b,c);}}
+function mab(a,b,c){}
+function nab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:gab(this,a,b,c);break;}}
+function v_(){}
+_=v_.prototype=new sK();_.ed=lab;_.fd=mab;_.gd=nab;_.tN=jgc+'AutoCompleteTextBoxAsync';_.tI=223;_.c=null;_.d=false;_.e=false;function y_(){y_=e3;BC();}
+function x_(b,a){y_();b.a=a;uC(b);return b;}
+function z_(a){if(1==xe(a)){bab(this.a);}}
+function w_(){}
+_=w_.prototype=new mC();_.yc=z_;_.tN=jgc+'AutoCompleteTextBoxAsync$1';_.tI=224;function B_(b,a){b.a=a;return b;}
+function D_(b,a){kab(b.a,a,zK(b.a));}
+function A_(){}
+_=A_.prototype=new gU();_.tN=jgc+'AutoCompleteTextBoxAsync$2';_.tI=225;function sab(a){a.j=true;}
+function tab(a){a.j=false;}
+function uab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
+function vab(){return this.j;}
+function qab(){}
+_=qab.prototype=new mr();_.rc=vab;_.tN=jgc+'DirtyableComposite';_.tI=226;_.j=false;function yab(a){a.b=oY(new mY());}
+function zab(a){tt(a);yab(a);return a;}
+function Bab(d){var a,b,c;for(c=d.b.sc();c.mc();){a=Fb(c.uc(),65);b=sy(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).rc())return true;if(ac(b,67))if(Fb(b,67).lc())return true;}return false;}
+function Cab(d,c,b,a){bz(d,c,b,a);if(ac(a,68)){pY(d.b,d.a++,zdb(new ydb(),c,b));}}
+function Dab(){return Bab(this);}
+function Eab(c,b,a){Cab(this,c,b,a);}
+function xab(){}
+_=xab.prototype=new nt();_.lc=Dab;_.Be=Eab;_.tN=jgc+'DirtyableFlexTable';_.tI=227;_.a=0;function abb(a){hA(a);return a;}
+function cbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=fr(c,b);if(ac(a,66))if(Fb(a,66).rc())return true;if(ac(a,67))if(Fb(a,67).lc())return true;}return false;}
+function dbb(){return cbb(this);}
+function Fab(){}
+_=Fab.prototype=new fA();_.lc=dbb;_.tN=jgc+'DirtyableHorizontalPane';_.tI=228;function fbb(a){pO(a);return a;}
+function hbb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=fr(this,b);if(ac(a,66))if(Fb(a,66).rc())return true;if(ac(a,67))if(Fb(a,67).lc())return true;}return false;}
+function ebb(){}
+_=ebb.prototype=new nO();_.lc=hbb;_.tN=jgc+'DirtyableVerticalPane';_.tI=229;function vbb(){vbb=e3;bs();}
+function sbb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=Dcb(new Ccb(),'images/close.gif');}
+function tbb(d,b,a){var c,e;vbb();Fr(d,true);sbb(d);jC(d.a,b);iA(d.c,mB(new wA(),'images/error_dialog.png'));e=pO(new nO());qO(e,d.a);iA(d.c,e);if(a!==null){ubb(d,e,a);}iA(d.c,d.b);c=d;nB(d.b,lbb(new kbb(),d,c));es(d,d.c);tE(d,40,40);CN(d,'rule-error-Popup');return d;}
+function ubb(e,c,b){var a,d,f;f=pO(new nO());qO(c,f);d=yp(new sp(),'Details');qO(f,d);a=eC(new cC(),b);a.Ae(false);qO(f,a);d.z(pbb(new obb(),e,a,d));}
+function wbb(a){jC(a.a,'');pE(a);}
+function xbb(){wbb(this);}
+function ybb(a){vbb();var b;b=tbb(new jbb(),a,null);tdb();wE(b);}
+function zbb(a){vbb();var b;b=tbb(new jbb(),a.b,a.a);tdb();wE(b);}
+function jbb(){}
+_=jbb.prototype=new Cr();_.nc=xbb;_.tN=jgc+'ErrorPopup';_.tI=230;function lbb(b,a,c){b.a=c;return b;}
+function nbb(a){wbb(this.a);}
+function kbb(){}
+_=kbb.prototype=new gU();_.Bc=nbb;_.tN=jgc+'ErrorPopup$1';_.tI=231;function pbb(b,a,c,d){b.a=c;b.b=d;return b;}
+function rbb(a){this.a.Ae(true);this.b.Ae(false);}
+function obb(){}
+_=obb.prototype=new gU();_.Bc=rbb;_.tN=jgc+'ErrorPopup$2';_.tI=232;function Bbb(b,a){b.a=a;return b;}
+function Dbb(a,b,c){}
+function Ebb(a,b,c){}
+function Fbb(a,b,c){this.a.rb();}
+function Abb(){}
+_=Abb.prototype=new gU();_.ed=Dbb;_.fd=Ebb;_.gd=Fbb;_.tN=jgc+'FieldEditListener';_.tI=233;_.a=null;function bcb(a){a.h=zab(new xab());a.g=wt(a.h);}
+function dcb(b,a,c){bcb(b);fcb(b,a,c);or(b,b.h);return b;}
+function ccb(a){bcb(a);or(a,a.h);return a;}
+function ecb(d,c,a){var b;b=mz(new pw(),'<b>'+c+'<\/b>');Cab(d.h,d.i,0,b);dx(d.g,d.i,0,(wz(),zz),(Fz(),cA));Cab(d.h,d.i,1,a);dx(d.g,d.i,1,(wz(),yz),(Fz(),cA));d.i++;}
+function fcb(c,a,d){var b;b=eC(new cC(),d);CN(b,'resource-name-Label');kcb(c,a,b);}
+function gcb(d,b,e,f){var a,c;c=eC(new cC(),e);CN(c,'resource-name-Label');a=hA(new fA());iA(a,c);iA(a,f);kcb(d,b,a);}
+function hcb(a,b){Cab(a.h,a.i,0,b);rt(a.g,a.i,0,2);a.i++;}
+function icb(a){a.i=0;jy(a.h);}
+function kcb(b,a,c){Cab(b.h,0,0,mB(new wA(),a));dx(b.g,0,0,(wz(),yz),(Fz(),cA));Cab(b.h,0,1,c);b.i++;}
+function lcb(c,b,a,d){Cab(c.h,b,a,d);}
+function mcb(){return Bab(this.h);}
+function acb(){}
+_=acb.prototype=new qab();_.rc=mcb;_.tN=jgc+'FormStyleLayout';_.tI=234;_.i=0;function vcb(){vcb=e3;mE();}
+function scb(c,b,d){var a;vcb();jE(c,true);c.i=dcb(new acb(),b,d);CN(c,'ks-popups-Popup');a=Dcb(new Ccb(),'images/close.gif');nB(a,pcb(new ocb(),c));lcb(c.i,0,2,a);eH(c,c.i);return c;}
+function tcb(b,a,c){ecb(b.i,a,c);}
+function ucb(a,b){hcb(a.i,b);}
+function ncb(){}
+_=ncb.prototype=new hE();_.tN=jgc+'FormStylePopup';_.tI=235;_.i=null;function pcb(b,a){b.a=a;return b;}
+function rcb(a){this.a.nc();}
+function ocb(){}
+_=ocb.prototype=new gU();_.Bc=rcb;_.tN=jgc+'FormStylePopup$1';_.tI=236;function Fcb(){Fcb=e3;pB();}
+function Dcb(b,a){Fcb();mB(b,a);CN(b,'image-Button');return b;}
+function Ecb(b,a,c){Fcb();mB(b,a);CN(b,'image-Button');b.ve(c);return b;}
+function Ccb(){}
+_=Ccb.prototype=new wA();_.tN=jgc+'ImageButton';_.tI=237;function fdb(c,d,b){var a;a=mB(new wA(),'images/information.gif');a.ve(b);nB(a,cdb(new bdb(),c,d,b));or(c,a);return c;}
+function adb(){}
+_=adb.prototype=new mr();_.tN=jgc+'InfoPopup';_.tI=238;function cdb(b,a,d,c){b.b=d;b.a=c;return b;}
+function edb(b){var a;a=scb(new ncb(),'images/information.gif',this.b);ucb(a,idb(new hdb(),this.a,'small-Text'));tE(a,tN(b),uN(b));wE(a);}
+function bdb(){}
+_=bdb.prototype=new gU();_.Bc=edb;_.tN=jgc+'InfoPopup$1';_.tI=239;function idb(c,a,b){eC(c,a);CN(c,b);return c;}
+function hdb(){}
+_=hdb.prototype=new cC();_.tN=jgc+'Lbl';_.tI=240;function rdb(){rdb=e3;mE();}
+function pdb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=mB(new wA(),'images/close.gif');}
+function qdb(a){rdb();jE(a,true);pdb(a);iA(a.c,a.a);iA(a.c,a.b);iA(a.c,mB(new wA(),'images/searching.gif'));nB(a.b,mdb(new ldb(),a));eH(a,a.c);tE(a,0,0);CN(a,'loading-Popup');return a;}
+function sdb(a){jC(a.a,'');pE(a);}
+function tdb(){rdb();sdb(udb());}
+function udb(){rdb();if(wdb===null){wdb=qdb(new kdb());}return wdb;}
+function vdb(){sdb(this);}
+function xdb(a){rdb();var b;b=udb();jC(b.a,a);wE(b);}
+function kdb(){}
+_=kdb.prototype=new hE();_.nc=vdb;_.tN=jgc+'LoadingPopup';_.tI=241;var wdb=null;function mdb(b,a){b.a=a;return b;}
+function odb(a){sdb(this.a);}
+function ldb(){}
+_=ldb.prototype=new gU();_.Bc=odb;_.tN=jgc+'LoadingPopup$1';_.tI=242;function zdb(c,b,a){c.b=b;c.a=a;return c;}
+function ydb(){}
+_=ydb.prototype=new gU();_.tN=jgc+'Pair';_.tI=243;_.a=0;_.b=0;function aeb(a){a.b=uC(new mC());dUb(nMb(),Ddb(new Cdb(),a));or(a,a.b);return a;}
+function ceb(a){return DC(a.b,EC(a.b));}
+function deb(b,a){b.a=a;}
+function Bdb(){}
+_=Bdb.prototype=new mr();_.tN=jgc+'RulePackageSelector';_.tI=244;_.a=null;_.b=null;function Ddb(b,a){b.a=a;return b;}
+function Fdb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){xC(this.a.b,b[a].j);if(this.a.a!==null&&FU(b[a].j,this.a.a)){dD(this.a.b,a);}}}
+function Cdb(){}
+_=Cdb.prototype=new wcb();_.rd=Fdb;_.tN=jgc+'RulePackageSelector$1';_.tI=245;function Ceb(){Ceb=e3;bs();}
+function Aeb(f,g,d){var a,b,c,e;Ceb();Fr(f,true);f.d=g;f.b=d;CN(f,'ks-popups-Popup');cs(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=hA(new fA());a=uC(new mC());xdb('Please wait...');fUb(nMb(),geb(new feb(),f,a));wC(a,keb(new jeb(),f,a));iA(c,a);e=yp(new sp(),'Change status');e.z(oeb(new neb(),f,a));iA(c,e);b=yp(new sp(),'Cancel');b.z(seb(new reb(),f));iA(c,b);es(f,c);return f;}
+function Beb(b,a){xdb('Updating status...');wTb(nMb(),b.d,b.c,b.b,web(new veb(),b));}
+function Deb(b,a){b.a=a;}
+function eeb(){}
+_=eeb.prototype=new Cr();_.tN=jgc+'StatusChangePopup';_.tI=246;_.a=null;_.b=false;_.c=null;_.d=null;function geb(b,a,c){b.a=c;return b;}
+function ieb(a){var b,c;c=Fb(a,63);xC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){xC(this.a,c[b]);}tdb();}
+function feb(){}
+_=feb.prototype=new wcb();_.rd=ieb;_.tN=jgc+'StatusChangePopup$1';_.tI=247;function keb(b,a,c){b.a=a;b.b=c;return b;}
+function meb(a){this.a.c=DC(this.b,EC(this.b));}
+function jeb(){}
+_=jeb.prototype=new gU();_.Ac=meb;_.tN=jgc+'StatusChangePopup$2';_.tI=248;function oeb(b,a,c){b.a=a;b.b=c;return b;}
+function qeb(b){var a;a=DC(this.b,EC(this.b));Beb(this.a,a);this.a.nc();}
+function neb(){}
+_=neb.prototype=new gU();_.Bc=qeb;_.tN=jgc+'StatusChangePopup$3';_.tI=249;function seb(b,a){b.a=a;return b;}
+function ueb(a){this.a.nc();}
+function reb(){}
+_=reb.prototype=new gU();_.Bc=ueb;_.tN=jgc+'StatusChangePopup$4';_.tI=250;function web(b,a){b.a=a;return b;}
+function yeb(b,a){b.a.a.rb();tdb();}
+function zeb(a){yeb(this,a);}
+function veb(){}
+_=veb.prototype=new wcb();_.rd=zeb;_.tN=jgc+'StatusChangePopup$5';_.tI=251;function afb(){afb=e3;vcb();}
+function Feb(c,b,a){afb();scb(c,'images/attention_needed.png',b);tcb(c,'Detail:',bfb(c,a));return c;}
+function bfb(c,b){var a;a=mK(new lK());CN(a,'editable-Surface');rK(a,12);DK(a,b);a.De('100%');return a;}
+function Eeb(){}
+_=Eeb.prototype=new ncb();_.tN=jgc+'ValidationMessageWidget';_.tI=252;function jfb(){jfb=e3;mE();}
+function hfb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=yp(new sp(),'OK');}
+function ifb(b,c,d){var a;jfb();jE(b,true);hfb(b);tE(b,c,d);iA(b.c,b.a);iA(b.c,b.b);a=b;b.b.z(efb(new dfb(),b,a));eH(b,b.c);CN(b,'rule-warning-Popup');return b;}
+function kfb(a){jC(a.a,'');pE(a);}
+function lfb(){kfb(this);}
+function mfb(a,c,d){jfb();var b;b=ifb(new cfb(),c,d);jC(b.a,a);wE(b);}
+function cfb(){}
+_=cfb.prototype=new hE();_.nc=lfb;_.tN=jgc+'WarningPopup';_.tI=253;function efb(b,a,c){b.a=c;return b;}
+function gfb(a){kfb(this.a);}
+function dfb(){}
+_=dfb.prototype=new gU();_.Bc=gfb;_.tN=jgc+'WarningPopup$1';_.tI=254;function xfb(){xfb=e3;bs();}
+function wfb(d,b,f){var a,c,e;xfb();Er(d);ds(d,b);e=yp(new sp(),'Yes');c=yp(new sp(),'No');e.z(pfb(new ofb(),d,f));c.z(tfb(new sfb(),d));a=hA(new fA());iA(a,e);iA(a,c);es(d,a);return d;}
+function nfb(){}
+_=nfb.prototype=new Cr();_.tN=jgc+'YesNoDialog';_.tI=255;function pfb(b,a,c){b.a=a;b.b=c;return b;}
+function rfb(a){this.b.rb();this.a.nc();}
+function ofb(){}
+_=ofb.prototype=new gU();_.Bc=rfb;_.tN=jgc+'YesNoDialog$1';_.tI=256;function tfb(b,a){b.a=a;return b;}
+function vfb(a){this.a.nc();}
+function sfb(){}
+_=sfb.prototype=new gU();_.Bc=vfb;_.tN=jgc+'YesNoDialog$2';_.tI=257;function xxb(b,a,c){b.e=c;b.a=a;Cxb(b,a.e,a.d.n);Bxb(b);return b;}
+function yxb(b,a){hcb(b.c,a);}
+function Axb(c,a,d){var b;b=bL(new sK());BK(b,a);DK(b,d);b.Ae(false);return b;}
+function Bxb(a){fv(a.b,txb(new sxb(),a));}
+function Cxb(d,f,c){var a,b,e;d.b=ev(new Fu());kv(d.b,v()+'asset');lv(d.b,'multipart/form-data');mv(d.b,'post');e=it(new ht());lt(e,'fileUploadElement');b=hA(new fA());iA(b,Axb(d,'attachmentUUID',f));d.d=Ecb(new Ccb(),'images/upload.gif','Upload');iA(b,e);iA(b,eC(new cC(),'upload:'));iA(b,d.d);eH(d.b,b);d.c=dcb(new acb(),d.xb(),c);if(!d.a.c)ecb(d.c,'Upload new version:',d.b);a=yp(new sp(),'Download');a.z(lxb(new kxb(),d,f));ecb(d.c,'Download current version:',a);nB(d.d,pxb(new oxb(),d));or(d,d.c);d.c.De('100%');CN(d,d.ac());}
+function Dxb(a){xdb('Uploading...');}
+function Exb(a){ov(a.b);}
+function jxb(){}
+_=jxb.prototype=new mr();_.tN=ogc+'AssetAttachmentFileWidget';_.tI=258;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function zfb(b,a,c){xxb(b,a,c);yxb(b,mz(new pw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
+function Bfb(){return 'images/decision_table.png';}
+function Cfb(){return 'decision-Table-upload';}
+function yfb(){}
+_=yfb.prototype=new jxb();_.xb=Bfb;_.ac=Cfb;_.tN=kgc+'DecisionTableXLSWidget';_.tI=259;function Efb(){Efb=e3;ggb=l1(new p0());bgb=l1(new p0());agb=l1(new p0());Ffb=zb('[Ljava.lang.String;',609,1,['not','exists','or']);{s1(ggb,'==','is equal to');s1(ggb,'!=','is not equal to');s1(ggb,'<','is less than');s1(ggb,'<=','less than or equal to');s1(ggb,'>','greater than');s1(ggb,'>=','greater than or equal to');s1(ggb,'|| ==','or equal to');s1(ggb,'|| !=','or not equal to');s1(ggb,'&& !=','and not equal to');s1(ggb,'&& >','and greater than');s1(ggb,'&& <','and less than');s1(ggb,'|| >','or greater than');s1(ggb,'|| <','or less than');s1(ggb,'&& <','and less than');s1(ggb,'|| >=','or greater than (or equal to)');s1(ggb,'|| <=','or less than (or equal to)');s1(ggb,'&& >=','and greater than (or equal to)');s1(ggb,'&& <=','or less than (or equal to)');s1(ggb,'&& contains','and contains');s1(ggb,'|| contains','or contains');s1(ggb,'&& matches','and matches');s1(ggb,'|| matches','or mat!
 ches');s1(ggb,'|| excludes','or excludes');s1(ggb,'&& excludes','and excludes');s1(ggb,'soundslike','sounds like');s1(bgb,'not','There is no');s1(bgb,'exists','There exists');s1(bgb,'or','Any of');s1(agb,'assert','Insert');s1(agb,'assertLogical','Logically insert');s1(agb,'retract','Retract');s1(agb,'set','Set');s1(agb,'modify','Modify');}}
+function cgb(a){Efb();return fgb(a,agb);}
+function dgb(a){Efb();return fgb(a,bgb);}
+function egb(a){Efb();return fgb(a,ggb);}
+function fgb(a,b){Efb();if(o1(b,a)){return Fb(r1(b,a),1);}else{return a;}}
+var Ffb,agb,bgb,ggb;function kgb(){kgb=e3;Egb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=']);ahb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);Cgb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);Agb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);Fgb=zb('[Ljava.lang.String;',609,1,['==','!=']);Dgb=zb('[Ljava.lang.String;',609,1,['==','!=','<','>','<=','>=']);bhb=zb('[Ljava.lang.String;',609,1,['==','!=','matches','soundslike']);Bgb=zb('[Ljava.lang.String;',609,1,['contains','excludes','==','!=']);}
+function igb(a){a.h=l1(new p0());a.c=l1(new p0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[10],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[10],[0],null);}
+function jgb(a){kgb();igb(a);return a;}
+function lgb(c,a,b){var d;d=Fb(c.f.kc(a+'.'+b),1);if(d===null){return Egb;}else if(FU(d,'String')){return ahb;}else if(FU(d,'Comparable')||FU(d,'Numeric')){return Cgb;}else if(FU(d,'Collection')){return Agb;}else{return Egb;}}
+function ngb(i,g,d){var a,b,c,e,f,h,j;c=ugb(i);j=Fb(r1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(FU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.kc(f),63);}}}}return Fb(i.c.kc(g.c+'.'+d),63);}
+function mgb(f,g,a,c){var b,d,e,h,i;b=ugb(f);h=Fb(r1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(FU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.kc(e),63);}}}return Fb(f.c.kc(g+'.'+c),63);}
+function pgb(b,a){return Fb(b.g.kc(a),63);}
+function ogb(a,c){var b;b=Fb(a.h.kc(c),1);return Fb(a.g.kc(b),63);}
+function qgb(c,a,b){return Fb(c.f.kc(a+'.'+b),1);}
+function rgb(a){return vgb(a,a.h.tc());}
+function sgb(c,a,b){var d;d=Fb(c.f.kc(a+'.'+b),1);if(d===null){return Fgb;}else if(FU(d,'String')){return bhb;}else if(FU(d,'Comparable')||FU(d,'Numeric')){return Dgb;}else if(FU(d,'Collection')){return Bgb;}else{return Fgb;}}
+function tgb(a,b){return a.h.fb(b);}
+function ugb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=l1(new p0());e=g.c.tc();for(b=cX(e);jX(b);){d=Fb(kX(b),1);if(aV(d,91)!=(-1)){c=aV(d,91);a=jV(d,0,c);f=jV(d,c+1,aV(d,93));h=jV(f,0,aV(f,61));s1(g.d,a,h);}}}return g.d;}
+function vgb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[609],[1],[d.b.a.c],null);b=0;for(c=cX(d);jX(c);){a[b]=Fb(kX(c),1);b++;}return a;}
+function hgb(){}
+_=hgb.prototype=new gU();_.tN=lgc+'SuggestionCompletionEngine';_.tI=260;_.d=null;_.e=null;_.f=null;_.g=null;var Agb,Bgb,Cgb,Dgb,Egb,Fgb,ahb,bhb;function ygb(b,a){a.a=Fb(b.Fd(),72);a.b=Fb(b.Fd(),72);a.c=Fb(b.Fd(),57);a.e=Fb(b.Fd(),63);a.f=Fb(b.Fd(),57);a.g=Fb(b.Fd(),57);a.h=Fb(b.Fd(),57);}
+function zgb(b,a){b.hf(a.a);b.hf(a.b);b.hf(a.c);b.hf(a.e);b.hf(a.f);b.hf(a.g);b.hf(a.h);}
+function dhb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[625],[23],[0],null);}
+function ehb(a){dhb(a);return a;}
+function fhb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[625],[23],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[625],[23],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
+function hhb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[625],[23],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
+function chb(){}
+_=chb.prototype=new gU();_.tN=mgc+'ActionFieldList';_.tI=261;function khb(b,a){a.b=Fb(b.Fd(),73);}
+function lhb(b,a){b.hf(a.b);}
+function nhb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function mhb(){}
+_=mhb.prototype=new gU();_.tN=mgc+'ActionFieldValue';_.tI=262;_.a=null;_.b=null;_.c=null;function rhb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();}
+function shb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);}
+function vhb(a,b){ehb(a);a.a=b;return a;}
+function uhb(a){ehb(a);return a;}
+function thb(){}
+_=thb.prototype=new chb();_.tN=mgc+'ActionInsertFact';_.tI=263;_.a=null;function zhb(b,a){a.a=b.ae();khb(b,a);}
+function Ahb(b,a){b.jf(a.a);lhb(b,a);}
+function Dhb(b,a){vhb(b,a);return b;}
+function Chb(a){uhb(a);return a;}
+function Bhb(){}
+_=Bhb.prototype=new thb();_.tN=mgc+'ActionInsertLogicalFact';_.tI=264;function bib(b,a){zhb(b,a);}
+function cib(b,a){Ahb(b,a);}
+function eib(a,b){a.a=b;return a;}
+function dib(){}
+_=dib.prototype=new gU();_.tN=mgc+'ActionRetractFact';_.tI=265;_.a=null;function iib(b,a){a.a=b.ae();}
+function jib(b,a){b.jf(a.a);}
+function mib(a,b){ehb(a);a.a=b;return a;}
+function lib(a){ehb(a);return a;}
+function kib(){}
+_=kib.prototype=new chb();_.tN=mgc+'ActionSetField';_.tI=266;_.a=null;function qib(b,a){a.a=b.ae();khb(b,a);}
+function rib(b,a){b.jf(a.a);lhb(b,a);}
+function uib(b,a){mib(b,a);return b;}
+function tib(a){lib(a);return a;}
+function sib(){}
+_=sib.prototype=new kib();_.tN=mgc+'ActionUpdateField';_.tI=267;function yib(b,a){qib(b,a);}
+function zib(b,a){rib(b,a);}
+function Bib(a,b){a.b=b;return a;}
+function Cib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[633],[31],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[633],[31],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
+function Aib(){}
+_=Aib.prototype=new gU();_.tN=mgc+'CompositeFactPattern';_.tI=268;_.a=null;_.b=null;function ajb(b,a){a.a=Fb(b.Fd(),74);a.b=b.ae();}
+function bjb(b,a){b.hf(a.a);b.jf(a.b);}
+function djb(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[623],[21],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[623],[21],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
+function fjb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[623],[21],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
+function cjb(){}
+_=cjb.prototype=new gU();_.tN=mgc+'CompositeFieldConstraint';_.tI=269;_.a=null;_.b=null;function ijb(b,a){a.a=b.ae();a.b=Fb(b.Fd(),75);}
+function jjb(b,a){b.jf(a.a);b.hf(a.b);}
+function hkb(){}
+_=hkb.prototype=new gU();_.tN=mgc+'ISingleFieldConstraint';_.tI=270;_.e=0;_.f=null;function kjb(){}
+_=kjb.prototype=new hkb();_.tN=mgc+'ConnectiveConstraint';_.tI=271;_.a=null;function ojb(b,a){a.a=b.ae();lkb(b,a);}
+function pjb(b,a){b.jf(a.a);mkb(b,a);}
+function sjb(b){var a;a=new qjb();a.a=b.a;return a;}
+function tjb(e){var a,b,c,d;b=kV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
+function yjb(){return tjb(this);}
+function qjb(){}
+_=qjb.prototype=new gU();_.tS=yjb;_.tN=mgc+'DSLSentence';_.tI=272;_.a=null;function wjb(b,a){a.a=b.ae();}
+function xjb(b,a){b.jf(a.a);}
+function Ajb(b,a){b.c=a;return b;}
+function Bjb(b,a){if(b.b===null)b.b=new cjb();djb(b.b,a);}
+function Djb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[623],[21],[0],null);}else{return a.b.b;}}
+function Ejb(a){if(a.a!==null&& !FU('',a.a)){return true;}else{return false;}}
+function Fjb(b,a){fjb(b.b,a);}
+function zjb(){}
+_=zjb.prototype=new gU();_.tN=mgc+'FactPattern';_.tI=273;_.a=null;_.b=null;_.c=null;function ckb(b,a){a.a=b.ae();a.b=Fb(b.Fd(),30);a.c=b.ae();}
+function dkb(b,a){b.jf(a.a);b.hf(a.b);b.jf(a.c);}
+function lkb(b,a){a.e=b.Dd();a.f=b.ae();}
+function mkb(b,a){b.ff(a.e);b.jf(a.f);}
+function pkb(b,a,c){b.a=a;b.b=c;return b;}
+function vkb(){var a;a=rU(new qU());tU(a,this.a);if(FU('no-loop',this.a)){tU(a,' ');tU(a,this.b===null?'true':this.b);}else if(FU('salience',this.a)){tU(a,' ');tU(a,this.b);}else if(this.b!==null){tU(a,' "');tU(a,this.b);tU(a,'"');}return xU(a);}
+function okb(){}
+_=okb.prototype=new gU();_.tS=vkb;_.tN=mgc+'RuleAttribute';_.tI=274;_.a=null;_.b=null;function tkb(b,a){a.a=b.ae();a.b=b.ae();}
+function ukb(b,a){b.jf(a.a);b.jf(a.b);}
+function xkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[620],[18],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[621],[19],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[622],[20],[0],null);}
+function ykb(a){xkb(a);return a;}
+function zkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[620],[18],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function Akb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[621],[19],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[621],[19],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
+function Bkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[622],[20],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[622],[20],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
+function Dkb(h){var a,b,c,d,e,f,g;g=oY(new mY());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,31)){b=Fb(f,31);if(Ejb(b)){qY(g,b.a);}for(e=0;e<Djb(b).a;e++){c=Djb(b)[e];if(ac(c,32)){a=Fb(c,32);if(olb(a)){qY(g,a.b);}}}}}return g;}
+function Ekb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],31)){b=Fb(c.b[a],31);if(b.a!==null&&FU(d,b.a)){return b;}}}return null;}
+function Fkb(d){var a,b,c;if(d.b===null){return null;}b=oY(new mY());for(a=0;a<d.b.a;a++){if(ac(d.b[a],31)){c=Fb(d.b[a],31);if(c.a!==null){qY(b,c.a);}}}return b;}
+function alb(k,b){var a,c,d,e,f,g,h,i,j;j=oY(new mY());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,31)){d=Fb(i,31);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(olb(a)){qY(j,a.b);}}}}if(Ejb(d)){qY(j,d.a);}}else{if(Ejb(d)){qY(j,d.a);}}}}return j;}
+function blb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],27)){d=Fb(e.e[b],27);if(FU(d.a,a)){return true;}}else if(ac(e.e[b],26)){c=Fb(e.e[b],26);if(FU(c.a,a)){return true;}}}return false;}
+function clb(b,a){return uY(Dkb(b),a);}
+function dlb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[620],[18],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function elb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[621],[19],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],31)){e=Fb(f.b[a],31);if(e.a!==null&&blb(f,e.a)){return false;}}}}f.b=d;return true;}
+function flb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[622],[20],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
+function wkb(){}
+_=wkb.prototype=new gU();_.tN=mgc+'RuleModel';_.tI=275;_.c='1.0';_.d=null;function ilb(b,a){a.a=Fb(b.Fd(),76);a.b=Fb(b.Fd(),77);a.c=b.ae();a.d=b.ae();a.e=Fb(b.Fd(),78);}
+function jlb(b,a){b.hf(a.a);b.hf(a.b);b.jf(a.c);b.jf(a.d);b.hf(a.e);}
+function llb(b,a){b.c=a;return b;}
+function mlb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',617,15,[new kjb()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[617],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new kjb();c.a=b;}}
+function olb(a){if(a.b!==null&& !FU('',a.b)){return true;}else{return false;}}
+function klb(){}
+_=klb.prototype=new hkb();_.tN=mgc+'SingleFieldConstraint';_.tI=276;_.a=null;_.b=null;_.c=null;_.d=null;function rlb(b,a){a.a=Fb(b.Fd(),79);a.b=b.ae();a.c=b.ae();a.d=b.ae();lkb(b,a);}
+function slb(b,a){b.hf(a.a);b.jf(a.b);b.jf(a.c);b.jf(a.d);mkb(b,a);}
+function mmb(d,b,c,a){d.e=c;d.a=a;d.d=zab(new xab());d.f=b;d.b=c.a;d.c=pgb(d.a,c.a);CN(d.d,'model-builderInner-Background');omb(d);or(d,d.d);return d;}
+function omb(e){var a,b,c,d,f;jy(e.d);Cab(e.d,0,0,qmb(e));c=zab(new xab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];Cab(c,a,0,pmb(e,f));Cab(c,a,1,smb(e,f));b=a;d=Dcb(new Ccb(),'images/delete_item_small.gif');nB(d,vlb(new ulb(),e,b));Cab(c,a,2,d);}Cab(e.d,0,1,c);}
+function pmb(a,b){return eC(new cC(),b.a);}
+function qmb(d){var a,b,c;c=hA(new fA());b=Dcb(new Ccb(),'images/add_field_to_fact.gif');b.ve('Add another field to this so you can set its value.');nB(b,fmb(new emb(),d));a='assert';if(ac(d.e,25)){a='assertLogical';}iA(c,idb(new hdb(),cgb(a)+' '+d.e.a,'modeller-action-Label'));iA(c,b);return c;}
+function rmb(d,e){var a,b,c;c=scb(new ncb(),'images/newex_wiz.gif','Add a field');CN(c,'ks-popups-Popup');a=uC(new mC());xC(a,'...');for(b=0;b<d.c.a;b++){xC(a,d.c[b]);}dD(a,0);tcb(c,'Add field',a);wC(a,jmb(new imb(),d,a,c));tE(c,tN(e),uN(e));wE(c);}
+function smb(c,d){var a,b;b=mgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return gqb(d.c,Dlb(new Clb(),c,d),b);}else{a=bL(new sK());DK(a,d.c);vK(a,bmb(new amb(),c,d,a));if(FU(d.b,'Numeric')){wK(a,aob(a));}return a;}}
+function tlb(){}
+_=tlb.prototype=new qab();_.tN=ngc+'ActionInsertFactWidget';_.tI=277;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function vlb(b,a,c){b.a=a;b.b=c;return b;}
+function xlb(b){var a;a=wfb(new nfb(),'Remove this item?',zlb(new ylb(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
+function ulb(){}
+_=ulb.prototype=new gU();_.Bc=xlb;_.tN=ngc+'ActionInsertFactWidget$1';_.tI=278;function zlb(b,a,c){b.a=a;b.b=c;return b;}
+function Blb(){hhb(this.a.a.e,this.b);axb(this.a.a.f);}
+function ylb(){}
+_=ylb.prototype=new gU();_.rb=Blb;_.tN=ngc+'ActionInsertFactWidget$2';_.tI=279;function Dlb(b,a,c){b.a=c;return b;}
+function Flb(a){this.a.c=a;}
+function Clb(){}
+_=Clb.prototype=new gU();_.cf=Flb;_.tN=ngc+'ActionInsertFactWidget$3';_.tI=280;function bmb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function dmb(a){this.c.c=zK(this.b);axb(this.a.f);}
+function amb(){}
+_=amb.prototype=new gU();_.Ac=dmb;_.tN=ngc+'ActionInsertFactWidget$4';_.tI=281;function fmb(b,a){b.a=a;return b;}
+function hmb(a){rmb(this.a,a);}
+function emb(){}
+_=emb.prototype=new gU();_.Bc=hmb;_.tN=ngc+'ActionInsertFactWidget$5';_.tI=282;function jmb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function lmb(c){var a,b;a=DC(this.b,EC(this.b));b=qgb(this.a.a,this.a.e.a,a);fhb(this.a.e,nhb(new mhb(),a,'',b));axb(this.a.f);this.c.nc();}
+function imb(){}
+_=imb.prototype=new gU();_.Ac=lmb;_.tN=ngc+'ActionInsertFactWidget$6';_.tI=283;function umb(c,a,b){c.a=tt(new nt());CN(c.a,'model-builderInner-Background');c.a.Be(0,0,idb(new hdb(),cgb('retract'),'modeller-action-Label'));c.a.Be(0,1,idb(new hdb(),'['+b.a+']','modeller-action-Label'));or(c,c.a);return c;}
+function tmb(){}
+_=tmb.prototype=new mr();_.tN=ngc+'ActionRetractFactWidget';_.tI=284;_.a=null;function znb(e,b,d,a){var c;e.d=d;e.a=a;e.c=zab(new xab());e.e=b;CN(e.c,'model-builderInner-Background');if(tgb(e.a,d.a)){e.b=ogb(e.a,d.a);e.f=Fb(e.a.h.kc(d.a),1);}else{c=Ekb(b.c,d.a);e.b=pgb(e.a,c.c);e.f=c.c;}Bnb(e);or(e,e.c);return e;}
+function Bnb(e){var a,b,c,d,f;jy(e.c);Cab(e.c,0,0,Dnb(e));c=zab(new xab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];Cab(c,a,0,Cnb(e,f));Cab(c,a,1,Fnb(e,f));b=a;d=Dcb(new Ccb(),'images/delete_item_small.gif');nB(d,ymb(new xmb(),e,b));Cab(c,a,2,d);}Cab(e.c,0,1,c);}
+function Cnb(a,b){return eC(new cC(),b.a);}
+function Dnb(d){var a,b,c;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve('Add another field to this so you can set its value.');nB(a,anb(new Fmb(),d));c='set';if(ac(d.d,28)){c='modify';}iA(b,idb(new hdb(),cgb(c)+' ['+d.d.a+']','modeller-action-Label'));iA(b,a);return b;}
+function Enb(d,e){var a,b,c;c=scb(new ncb(),'images/newex_wiz.gif','Add a field');CN(c,'ks-popups-Popup');a=uC(new mC());xC(a,'...');for(b=0;b<d.b.a;b++){xC(a,d.b[b]);}dD(a,0);tcb(c,'Add field',a);wC(a,enb(new dnb(),d,a,c));tE(c,tN(e),uN(e));wE(c);}
+function Fnb(d,f){var a,b,c,e;e='';if(tgb(d.a,d.d.a)){e=Fb(d.a.h.kc(d.d.a),1);}else{e=Ekb(d.e.c,d.d.a).c;}b=mgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return gqb(f.c,inb(new hnb(),d,f),b);}else{c=cH(new AG());a=bL(new sK());DK(a,f.c);if(dV(f.c)!=0){dL(a,dV(f.c));}if(FU(f.b,'Numeric')){wK(a,aob(a));}vK(a,mnb(new lnb(),d,f,a));wK(a,Bbb(new Abb(),qnb(new pnb(),d,a)));eH(c,a);return c;}}
+function aob(a){return unb(new tnb(),a);}
+function bob(){return Bab(this.c);}
+function wmb(){}
+_=wmb.prototype=new qab();_.rc=bob;_.tN=ngc+'ActionSetFieldWidget';_.tI=285;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ymb(b,a,c){b.a=a;b.b=c;return b;}
+function Amb(b){var a;a=wfb(new nfb(),'Remove this item?',Cmb(new Bmb(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
+function xmb(){}
+_=xmb.prototype=new gU();_.Bc=Amb;_.tN=ngc+'ActionSetFieldWidget$1';_.tI=286;function Cmb(b,a,c){b.a=a;b.b=c;return b;}
+function Emb(){hhb(this.a.a.d,this.b);axb(this.a.a.e);}
+function Bmb(){}
+_=Bmb.prototype=new gU();_.rb=Emb;_.tN=ngc+'ActionSetFieldWidget$2';_.tI=287;function anb(b,a){b.a=a;return b;}
+function cnb(a){Enb(this.a,a);}
+function Fmb(){}
+_=Fmb.prototype=new gU();_.Bc=cnb;_.tN=ngc+'ActionSetFieldWidget$3';_.tI=288;function enb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function gnb(c){var a,b;a=DC(this.b,EC(this.b));b=qgb(this.a.a,this.a.f,a);fhb(this.a.d,nhb(new mhb(),a,'',b));axb(this.a.e);this.c.nc();}
+function dnb(){}
+_=dnb.prototype=new gU();_.Ac=gnb;_.tN=ngc+'ActionSetFieldWidget$4';_.tI=289;function inb(b,a,c){b.a=c;return b;}
+function knb(a){this.a.c=a;}
+function hnb(){}
+_=hnb.prototype=new gU();_.cf=knb;_.tN=ngc+'ActionSetFieldWidget$5';_.tI=290;function mnb(b,a,d,c){b.b=d;b.a=c;return b;}
+function onb(a){this.b.c=zK(this.a);}
+function lnb(){}
+_=lnb.prototype=new gU();_.Ac=onb;_.tN=ngc+'ActionSetFieldWidget$6';_.tI=291;function qnb(b,a,c){b.a=c;return b;}
+function snb(){dL(this.a,dV(zK(this.a)));}
+function pnb(){}
+_=pnb.prototype=new gU();_.rb=snb;_.tN=ngc+'ActionSetFieldWidget$7';_.tI=292;function unb(a,b){a.a=b;return a;}
+function wnb(a,b,c){}
+function xnb(c,a,b){if(wS(a)&&a!=61&& !hV(zK(this.a),'=')){xK(Fb(c,80));}}
+function ynb(a,b,c){}
+function tnb(){}
+_=tnb.prototype=new gU();_.ed=wnb;_.fd=xnb;_.gd=ynb;_.tN=ngc+'ActionSetFieldWidget$8';_.tI=293;function lob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=zab(new xab());CN(d.b,'model-builderInner-Background');nob(d);or(d,d.b);return d;}
+function nob(c){var a,b,d;Cab(c.b,0,0,oob(c));if(c.d.a!==null){d=fbb(new ebb());a=c.d.a;for(b=0;b<a.a;b++){qO(d,Esb(new Cqb(),c.c,a[b],c.a,false));}Cab(c.b,0,1,d);}}
+function oob(c){var a,b;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");nB(a,eob(new dob(),c));iA(b,eC(new cC(),dgb(c.d.b)));iA(b,a);CN(b,'modeller-composite-Label');return b;}
+function pob(e,f){var a,b,c,d;a=uC(new mC());b=e.a.e;xC(a,'Choose...');for(c=0;c<b.a;c++){xC(a,b[c]);}dD(a,0);d=scb(new ncb(),'images/new_fact.gif','New fact pattern...');tcb(d,'choose fact type',a);wC(a,iob(new hob(),e,a,d));CN(d,'ks-popups-Popup');tE(d,tN(f)-400,uN(f));wE(d);}
+function qob(){return Bab(this.b);}
+function cob(){}
+_=cob.prototype=new qab();_.rc=qob;_.tN=ngc+'CompositeFactPatternWidget';_.tI=294;_.a=null;_.b=null;_.c=null;_.d=null;function eob(b,a){b.a=a;return b;}
+function gob(a){pob(this.a,a);}
+function dob(){}
+_=dob.prototype=new gU();_.Bc=gob;_.tN=ngc+'CompositeFactPatternWidget$1';_.tI=295;function iob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kob(a){Cib(this.a.d,Ajb(new zjb(),DC(this.b,EC(this.b))));axb(this.a.c);this.c.nc();}
+function hob(){}
+_=hob.prototype=new gU();_.Ac=kob;_.tN=ngc+'CompositeFactPatternWidget$2';_.tI=296;function Cpb(f,d,b,a,c,g){var e;f.a=a;if(FU(g,'Numeric')){f.d=true;}else{f.d=false;}if(FU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',609,1,['true','false']);}f.c=c.c;e=c.a;f.b=ngb(e,d,b);f.e=cH(new AG());bqb(f);or(f,f.e);return f;}
+function Dpb(c,b){var a;a=bL(new sK());CN(a,'constraint-value-Editor');if(b.f===null){DK(a,'');}else{DK(a,b.f);}if(b.f===null||dV(b.f)<5){dL(a,3);}else{dL(a,dV(b.f)-1);}vK(a,mpb(new lpb(),c,b,a));wK(a,Bbb(new Abb(),qpb(new ppb(),c,a)));return a;}
+function Fpb(b,a){bqb(b);a.nc();}
+function aqb(b){var a;if(b.b!==null){return gqb(b.a.f,Fob(new Eob(),b),b.b);}else{a=Dpb(b,b.a);if(b.d){wK(a,new cpb());}a.ve('This is a literal value. What is shown is what the field is checked against.');return a;}}
+function bqb(b){var a;b.e.cb();if(b.a.e==0){a=mB(new wA(),'images/edit.gif');nB(a,xob(new sob(),b));eH(b.e,a);}else{switch(b.a.e){case 1:eH(b.e,aqb(b));break;case 3:eH(b.e,cqb(b));break;case 2:eH(b.e,eqb(b));break;default:break;}}}
+function cqb(e){var a,b,c,d;a=Dpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=mB(new wA(),'images/function_assets.gif');c.ve(d);a.ve(d);b=fqb(e,c,a);return b;}
+function dqb(e,g,a){var b,c,d,f;b=scb(new ncb(),'images/newex_wiz.gif','Field value');d=yp(new sp(),'Literal value');d.z(upb(new tpb(),e,a,b));tcb(b,'Literal value:',fqb(e,d,fdb(new adb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));ucb(b,mz(new pw(),'<hr/>'));ucb(b,idb(new hdb(),'Advanced options','weak-Text'));if(alb(e.c,e.a).b>0){f=yp(new sp(),'Bound variable');f.z(ypb(new xpb(),e,a,b));tcb(b,'A variable:',fqb(e,f,fdb(new adb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=yp(new sp(),'New formula');c.z(uob(new tob(),e,a,b));tcb(b,'A formula:',fqb(e,c,fdb(new adb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));tE(b,tN(g),uN(g));wE(b);}
+function eqb(c){var a,b,d,e;e=alb(c.c,c.a);a=uC(new mC());if(c.a.f===null){xC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(vY(e,b),1);xC(a,d);if(c.a.f!==null&&FU(c.a.f,d)){dD(a,b);}}wC(a,Bob(new Aob(),c,a));return a;}
+function fqb(d,a,c){var b;b=hA(new fA());iA(b,a);iA(b,c);b.De('100%');return b;}
+function gqb(b,k,d){var a,c,e,f,g,h,i,j;a=uC(new mC());if(b===null||FU('',b)){xC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(aV(i,61)>0){h=iqb(i);f=h[0];c=h[1];j=f;yC(a,c,f);}else{yC(a,i,i);j=i;}if(b!==null&&FU(b,j)){dD(a,e);g=true;}}if(b!==null&& !g){yC(a,b,b);dD(a,d.a);}wC(a,ipb(new hpb(),k,a));return a;}
+function hqb(){return this.j;}
+function iqb(c){var a,b;b=yb('[Ljava.lang.String;',[609],[1],[2],null);a=aV(c,61);b[0]=jV(c,0,a);b[1]=jV(c,a+1,dV(c));return b;}
+function rob(){}
+_=rob.prototype=new qab();_.rc=hqb;_.tN=ngc+'ConstraintValueEditor';_.tI=297;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function xob(b,a){b.a=a;return b;}
+function zob(a){dqb(this.a,a,this.a.a);}
+function sob(){}
+_=sob.prototype=new gU();_.Bc=zob;_.tN=ngc+'ConstraintValueEditor$1';_.tI=298;function uob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function wob(a){this.b.e=3;Fpb(this.a,this.c);}
+function tob(){}
+_=tob.prototype=new gU();_.Bc=wob;_.tN=ngc+'ConstraintValueEditor$10';_.tI=299;function Bob(b,a,c){b.a=a;b.b=c;return b;}
+function Dob(a){this.a.a.f=DC(this.b,EC(this.b));}
+function Aob(){}
+_=Aob.prototype=new gU();_.Ac=Dob;_.tN=ngc+'ConstraintValueEditor$2';_.tI=300;function Fob(b,a){b.a=a;return b;}
+function bpb(a){this.a.a.f=a;}
+function Eob(){}
+_=Eob.prototype=new gU();_.cf=bpb;_.tN=ngc+'ConstraintValueEditor$3';_.tI=301;function epb(a,b,c){}
+function fpb(c,a,b){if(wS(a)){xK(Fb(c,80));}}
+function gpb(a,b,c){}
+function cpb(){}
+_=cpb.prototype=new gU();_.ed=epb;_.fd=fpb;_.gd=gpb;_.tN=ngc+'ConstraintValueEditor$4';_.tI=302;function ipb(a,c,b){a.b=c;a.a=b;return a;}
+function kpb(a){this.b.cf(FC(this.a,EC(this.a)));}
+function hpb(){}
+_=hpb.prototype=new gU();_.Ac=kpb;_.tN=ngc+'ConstraintValueEditor$5';_.tI=303;function mpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function opb(a){this.c.f=zK(this.b);sab(this.a);}
+function lpb(){}
+_=lpb.prototype=new gU();_.Ac=opb;_.tN=ngc+'ConstraintValueEditor$6';_.tI=304;function qpb(b,a,c){b.a=c;return b;}
+function spb(){dL(this.a,dV(zK(this.a)));}
+function ppb(){}
+_=ppb.prototype=new gU();_.rb=spb;_.tN=ngc+'ConstraintValueEditor$7';_.tI=305;function upb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function wpb(a){this.b.e=1;Fpb(this.a,this.c);}
+function tpb(){}
+_=tpb.prototype=new gU();_.Bc=wpb;_.tN=ngc+'ConstraintValueEditor$8';_.tI=306;function ypb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Apb(a){this.b.e=2;Fpb(this.a,this.c);}
+function xpb(){}
+_=xpb.prototype=new gU();_.Bc=Apb;_.tN=ngc+'ConstraintValueEditor$9';_.tI=307;function vqb(b,a){b.a=abb(new Fab());b.c=oY(new mY());b.b=a;yqb(b);return b;}
+function wqb(b,a){iA(b.a,a);qY(b.c,a);}
+function yqb(a){zqb(a,a.b.a);or(a,a.a);}
+function zqb(g,e){var a,b,c,d,f;b=kV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=qqb(new oqb(),g);wqb(g,c);}else if(a==125){uqb(c,dV(sqb(c))+1);c=null;}else{if(c===null&&d===null){d=dC(new cC());wqb(g,d);}if(d!==null){jC(d,iC(d)+Eb(a));}else if(c!==null){tqb(c,sqb(c)+Eb(a));}}}}
+function Aqb(c){var a,b,d;b='';for(a=c.c.sc();a.mc();){d=Fb(a.uc(),13);if(ac(d,81)){b=b+iC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+sqb(Fb(d,82))+'} ';}}c.b.a=mV(b);}
+function Bqb(){return cbb(this.a);}
+function jqb(){}
+_=jqb.prototype=new qab();_.rc=Bqb;_.tN=ngc+'DSLSentenceWidget';_.tI=308;_.a=null;_.b=null;_.c=null;function lqb(b,a){b.a=a;return b;}
+function nqb(a){Aqb(this.a.c);sab(this.a);}
+function kqb(){}
+_=kqb.prototype=new gU();_.Ac=nqb;_.tN=ngc+'DSLSentenceWidget$1';_.tI=309;function pqb(a){a.b=hA(new fA());}
+function qqb(b,a){b.c=a;pqb(b);b.a=bL(new sK());iA(b.b,mz(new pw(),'&nbsp;'));iA(b.b,b.a);iA(b.b,mz(new pw(),'&nbsp;'));vK(b.a,lqb(new kqb(),b));or(b,b.b);return b;}
+function sqb(a){return zK(a.a);}
+function tqb(b,a){DK(b.a,a);}
+function uqb(b,a){dL(b.a,a);}
+function oqb(){}
+_=oqb.prototype=new qab();_.tN=ngc+'DSLSentenceWidget$FieldEditor';_.tI=310;_.a=null;function Dsb(a){a.c=zab(new xab());}
+function Esb(k,h,i,c,a){var b,d,e,f,g,j;Dsb(k);k.e=Fb(i,31);k.b=c;k.d=h;k.a=a;Cab(k.c,0,0,gtb(k));f=wt(k.c);dx(f,0,0,(wz(),xz),(Fz(),bA));gx(f,0,0,'modeller-fact-TypeHeader');g=zab(new xab());Cab(k.c,1,0,g);for(j=0;j<Djb(k.e).a;j++){d=Djb(k.e)[j];e=j;jtb(k,g,j,d,true);b=Dcb(new Ccb(),'images/delete_item_small.gif');b.ve('Remove this whole restriction');nB(b,Arb(new Dqb(),k,e));Cab(g,j,5,b);}if(k.a)CN(k.c,'modeller-fact-pattern-Widget');or(k,k.c);return k;}
+function atb(j,b){var a,c,d,e,f,g,h,i;f=hA(new fA());d=null;e=Dcb(new Ccb(),'images/add_field_to_fact.gif');e.ve('Add a field to this nested constraint.');nB(e,Erb(new Drb(),j,b));if(FU(b.a,'&&')){d='All of:';}else{d='Any of:';}iA(f,e);iA(f,mz(new pw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=zab(new xab());CN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){jtb(j,h,g,i[g],false);c=g;a=Dcb(new Ccb(),'images/delete_item_small.gif');a.ve('Remove this (nested) restriction');nB(a,csb(new bsb(),j,b,c));Cab(h,g,5,a);}}iA(f,h);return f;}
+function btb(g,b,c){var a,d,e,f;f=lgb(g.b,g.e.c,c);a=uC(new mC());xC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];yC(a,egb(e),e);if(FU(e,b.a)){dD(a,d+1);}}wC(a,lrb(new krb(),g,b,a));return a;}
+function ctb(d,a,b,c){var e;e=qgb(d.d.a,b,c);return Cpb(new rob(),d.e,c,a,d.d,e);}
+function dtb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=abb(new Fab());for(e=0;e<a.a.a;e++){b=a.a[e];iA(d,btb(f,b,a.c));iA(d,ctb(f,b,c,a.c));}return d;}else{return null;}}
+function etb(c,b){var a,d,e;if(c.a&& !blb(c.d.c,c.e.a)){d=hA(new fA());e=bL(new sK());if(c.e.a===null){DK(e,'');}else{DK(e,c.e.a);}dL(e,3);iA(d,e);a=yp(new sp(),'Set');a.z(hrb(new grb(),c,e,b));iA(d,a);tcb(b,'Variable name',d);}}
+function ftb(e,c,d){var a,b;a=hA(new fA());CN(a,'modeller-field-Label');if(!olb(c)){if(e.a&&d){b=Ecb(new Ccb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');nB(b,trb(new srb(),e,c));iA(a,b);}}else{iA(a,eC(new cC(),'['+c.b+']'));}iA(a,eC(new cC(),c.c));return a;}
+function gtb(c){var a,b;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve('Add a field to this condition, or bind a varible to this fact.');nB(a,osb(new nsb(),c));if(c.e.a!==null){iA(b,eC(new cC(),'['+c.e.a+'] '+c.e.c));}else{iA(b,eC(new cC(),c.e.c));}iA(b,a);return b;}
+function htb(f,b){var a,c,d,e;e=sgb(f.b,f.e.c,b.c);a=uC(new mC());xC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];yC(a,egb(d),d);if(FU(d,b.d)){dD(a,c+1);}}wC(a,prb(new orb(),f,b,a));return a;}
+function itb(e,b){var a,c,d;d=hA(new fA());d.De('100%');c=mB(new wA(),'images/function_assets.gif');c.ve('This is a formula expression that is evaluated to be true or false.');iA(d,c);if(b.f===null){b.f='';}a=bL(new sK());DK(a,b.f);vK(a,ksb(new jsb(),e,b,a));a.De('100%');iA(d,a);return d;}
+function jtb(e,b,c,a,d){if(ac(a,32)){ktb(e,e.d,b,c,a,d);}else if(ac(a,30)){Cab(b,c,0,atb(e,Fb(a,30)));rt(wt(b),c,0,5);}}
+function ktb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){Cab(d,f,0,ftb(h,b,g));Cab(d,f,1,htb(h,b));Cab(d,f,2,otb(h,b,h.e.c));Cab(d,f,3,dtb(h,b,h.e.c));a=Dcb(new Ccb(),'images/add_connective.gif');a.ve('Add more options to this fields values.');nB(a,gsb(new fsb(),h,b,e));Cab(d,f,4,a);}else if(b.e==5){Cab(d,f,0,itb(h,b));rt(wt(d),f,0,5);}}
+function ltb(d,g,a){var b,c,e,f;c=scb(new ncb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=kp(new jp());e=bL(new sK());b=yp(new sp(),'Set');lp(f,e);lp(f,b);b.z(xrb(new wrb(),d,e,a,c));tcb(c,'Variable name',f);tE(c,tN(g),uN(g));wE(c);}
+function ntb(i,j){var a,b,c,d,e,f,g,h;g=scb(new ncb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);CN(g,'ks-popups-Popup');a=uC(new mC());xC(a,'...');c=pgb(i.b,i.e.c);for(e=0;e<c.a;e++){xC(a,c[e]);}dD(a,0);wC(a,Asb(new zsb(),i,a,g));tcb(g,'Add a restriction on a field',a);b=uC(new mC());xC(b,'...');yC(b,'All of (And)','&&');yC(b,'Any of (Or)','||');dD(b,0);wC(b,Fqb(new Eqb(),i,b,g));f=fdb(new adb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=hA(new fA());iA(d,b);iA(d,f);tcb(g,'Multiple field constraint',d);ucb(g,idb(new hdb(),'Advanced options','weak-Text'));h=yp(new sp(),'New formula');h.z(drb(new crb(),i,g));tcb(g,'Add a new formula style expression',h);etb(i,g);tE(g,tN(j),uN(j));wE(g);}
+function mtb(i,j,b){var a,c,d,e,f,g,h;h=scb(new ncb(),'images/newex_wiz.gif','Add fields to this constraint');CN(h,'ks-popups-Popup');a=uC(new mC());xC(a,'...');d=pgb(i.b,i.e.c);for(f=0;f<d.a;f++){xC(a,d[f]);}dD(a,0);wC(a,ssb(new rsb(),i,b,a,h));tcb(h,'Add a restriction on a field',a);c=uC(new mC());xC(c,'...');yC(c,'All of (And)','&&');yC(c,'Any of (Or)','||');dD(c,0);wC(c,wsb(new vsb(),i,c,b,h));g=fdb(new adb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=hA(new fA());iA(e,c);iA(e,g);tcb(h,'Multiple field constraint',e);tE(h,tN(j),uN(j));wE(h);}
+function otb(c,a,b){var d;d=qgb(c.d.a,b,a.c);return Cpb(new rob(),c.e,a.c,a,c.d,d);}
+function ptb(){return Bab(this.c);}
+function Cqb(){}
+_=Cqb.prototype=new qab();_.rc=ptb;_.tN=ngc+'FactPatternWidget';_.tI=311;_.a=false;_.b=null;_.d=null;_.e=null;function Arb(b,a,c){b.a=a;b.b=c;return b;}
+function Crb(a){if(Bh('Remove this item?')){Fjb(this.a.e,this.b);axb(this.a.d);}}
+function Dqb(){}
+_=Dqb.prototype=new gU();_.Bc=Crb;_.tN=ngc+'FactPatternWidget$1';_.tI=312;function Fqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function brb(b){var a;a=new cjb();a.a=FC(this.b,EC(this.b));Bjb(this.a.e,a);axb(this.a.d);this.c.nc();}
+function Eqb(){}
+_=Eqb.prototype=new gU();_.Ac=brb;_.tN=ngc+'FactPatternWidget$10';_.tI=313;function drb(b,a,c){b.a=a;b.b=c;return b;}
+function frb(b){var a;a=new klb();a.e=5;Bjb(this.a.e,a);axb(this.a.d);this.b.nc();}
+function crb(){}
+_=crb.prototype=new gU();_.Bc=frb;_.tN=ngc+'FactPatternWidget$11';_.tI=314;function hrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function jrb(b){var a;a=zK(this.c);if(Fwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=zK(this.c);axb(this.a.d);this.b.nc();}
+function grb(){}
+_=grb.prototype=new gU();_.Bc=jrb;_.tN=ngc+'FactPatternWidget$12';_.tI=315;function lrb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nrb(a){this.b.a=FC(this.a,EC(this.a));}
+function krb(){}
+_=krb.prototype=new gU();_.Ac=nrb;_.tN=ngc+'FactPatternWidget$13';_.tI=316;function prb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rrb(a){this.c.d=FC(this.b,EC(this.b));sab(this.a.d);zV(),CV;}
+function orb(){}
+_=orb.prototype=new gU();_.Ac=rrb;_.tN=ngc+'FactPatternWidget$14';_.tI=317;function trb(b,a,c){b.a=a;b.b=c;return b;}
+function vrb(a){ltb(this.a,a,this.b);}
+function srb(){}
+_=srb.prototype=new gU();_.Bc=vrb;_.tN=ngc+'FactPatternWidget$15';_.tI=318;function xrb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function zrb(b){var a;a=zK(this.d);if(Fwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;axb(this.a.d);this.c.nc();}
+function wrb(){}
+_=wrb.prototype=new gU();_.Bc=zrb;_.tN=ngc+'FactPatternWidget$16';_.tI=319;function Erb(b,a,c){b.a=a;b.b=c;return b;}
+function asb(a){mtb(this.a,a,this.b);}
+function Drb(){}
+_=Drb.prototype=new gU();_.Bc=asb;_.tN=ngc+'FactPatternWidget$2';_.tI=320;function csb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function esb(a){if(Bh('Remove this item from nested constraint?')){fjb(this.b,this.c);axb(this.a.d);}}
+function bsb(){}
+_=bsb.prototype=new gU();_.Bc=esb;_.tN=ngc+'FactPatternWidget$3';_.tI=321;function gsb(b,a,c,d){b.a=c;b.b=d;return b;}
+function isb(a){mlb(this.a);axb(this.b);}
+function fsb(){}
+_=fsb.prototype=new gU();_.Bc=isb;_.tN=ngc+'FactPatternWidget$4';_.tI=322;function ksb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function msb(a){this.c.f=zK(this.b);sab(this.a.d);}
+function jsb(){}
+_=jsb.prototype=new gU();_.Ac=msb;_.tN=ngc+'FactPatternWidget$5';_.tI=323;function osb(b,a){b.a=a;return b;}
+function qsb(a){ntb(this.a,a);}
+function nsb(){}
+_=nsb.prototype=new gU();_.Bc=qsb;_.tN=ngc+'FactPatternWidget$6';_.tI=324;function ssb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function usb(a){djb(this.c,llb(new klb(),DC(this.b,EC(this.b))));axb(this.a.d);this.d.nc();}
+function rsb(){}
+_=rsb.prototype=new gU();_.Ac=usb;_.tN=ngc+'FactPatternWidget$7';_.tI=325;function wsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function ysb(b){var a;a=new cjb();a.a=FC(this.c,EC(this.c));djb(this.b,a);axb(this.a.d);this.d.nc();}
+function vsb(){}
+_=vsb.prototype=new gU();_.Ac=ysb;_.tN=ngc+'FactPatternWidget$8';_.tI=326;function Asb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Csb(a){Bjb(this.a.e,llb(new klb(),DC(this.b,EC(this.b))));axb(this.a.d);this.c.nc();}
+function zsb(){}
+_=zsb.prototype=new gU();_.Ac=Csb;_.tN=ngc+'FactPatternWidget$9';_.tI=327;function hub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=ccb(new acb());b=d.a;for(c=0;c<b.a;c++){a=b[c];ecb(f.a,a.a,kub(f,a,c));}or(f,f.a);return f;}
+function iub(c,a){var b;b=iq(new hq());if(a.b===null){oq(b,true);a.b='true';}else{oq(b,FU(a.b,'true'));}b.z(stb(new rtb(),c,a,b));return b;}
+function kub(e,a,d){var b,c;if(FU(a.a,'no-loop')){return lub(e,d);}b=null;if(FU(a.a,'enabled')||FU(a.a,'auto-focus')||FU(a.a,'lock-on-active')){b=iub(e,a);}else{b=mub(e,a);}c=abb(new Fab());iA(c,b);iA(c,lub(e,d));return c;}
+function lub(c,a){var b;b=mB(new wA(),'images/delete_item_small.gif');nB(b,aub(new Ftb(),c,a));return b;}
+function mub(c,a){var b;b=bL(new sK());dL(b,dV(a.b)<3?3:dV(a.b));DK(b,a.b);vK(b,wtb(new vtb(),c,a,b));if(FU(a.a,'date-effective')||FU(a.a,'date-expires')){if(a.b===null||FU('',a.b))DK(b,'dd-MMM-yyyy');dL(b,10);}wK(b,Atb(new ztb(),c,b));return b;}
+function nub(){var a;a=uC(new mC());xC(a,'Choose...');xC(a,'salience');xC(a,'enabled');xC(a,'date-effective');xC(a,'date-expires');xC(a,'no-loop');xC(a,'agenda-group');xC(a,'activation-group');xC(a,'duration');xC(a,'auto-focus');xC(a,'lock-on-active');xC(a,'ruleflow-group');xC(a,'dialect');return a;}
+function oub(){return this.a.rc();}
+function qtb(){}
+_=qtb.prototype=new qab();_.rc=oub;_.tN=ngc+'RuleAttributeWidget';_.tI=328;_.a=null;_.b=null;_.c=null;function stb(b,a,c,d){b.a=c;b.b=d;return b;}
+function utb(a){this.a.b=nq(this.b)?'true':'false';}
+function rtb(){}
+_=rtb.prototype=new gU();_.Bc=utb;_.tN=ngc+'RuleAttributeWidget$1';_.tI=329;function wtb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ytb(a){this.b.b=zK(this.c);sab(this.a);}
+function vtb(){}
+_=vtb.prototype=new gU();_.Ac=ytb;_.tN=ngc+'RuleAttributeWidget$2';_.tI=330;function Atb(b,a,c){b.a=c;return b;}
+function Ctb(a,b,c){}
+function Dtb(a,b,c){}
+function Etb(a,b,c){dL(this.a,dV(zK(this.a)));}
+function ztb(){}
+_=ztb.prototype=new gU();_.ed=Ctb;_.fd=Dtb;_.gd=Etb;_.tN=ngc+'RuleAttributeWidget$3';_.tI=331;function aub(b,a,c){b.a=a;b.b=c;return b;}
+function cub(b){var a;a=wfb(new nfb(),'Remove this rule option?',eub(new dub(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
+function Ftb(){}
+_=Ftb.prototype=new gU();_.Bc=cub;_.tN=ngc+'RuleAttributeWidget$4';_.tI=332;function eub(b,a,c){b.a=a;b.b=c;return b;}
+function gub(){dlb(this.a.a.b,this.b);axb(this.a.a.c);}
+function dub(){}
+_=dub.prototype=new gU();_.rb=gub;_.tN=ngc+'RuleAttributeWidget$5';_.tI=333;function uwb(b,a){b.c=Fb(a.b,83);b.a=dLb((bLb(),gLb),a.d.o);b.b=zab(new xab());Ewb(b);CN(b.b,'model-builder-Background');or(b,b.b);b.De('100%');b.se('100%');return b;}
+function vwb(b,a){Bkb(b.c,mib(new kib(),a));axb(b);}
+function wwb(b,a){Bkb(b.c,uib(new sib(),a));axb(b);}
+function xwb(b,a){Akb(b.c,Bib(new Aib(),a));axb(b);}
+function ywb(b,a){Akb(b.c,sjb(a));axb(b);}
+function zwb(b,a){Bkb(b.c,sjb(a));axb(b);}
+function Awb(b,a){Akb(b.c,Ajb(new zjb(),a));axb(b);}
+function Bwb(a,b){Bkb(a.c,eib(new dib(),b));axb(a);}
+function Dwb(b){var a;a=Dcb(new Ccb(),'images/new_item.gif');a.ve('Add an option to the rule, to modify its behavior when evaluated or executed.');nB(a,zvb(new yvb(),b));return a;}
+function Ewb(c){var a,b;jy(c.b);b=Dcb(new Ccb(),'images/new_item.gif');b.ve('Add a condition to this rule.');nB(b,rvb(new qub(),c));Cab(c.b,0,0,eC(new cC(),'WHEN'));Cab(c.b,0,2,b);Cab(c.b,1,1,bxb(c,c.c));Cab(c.b,2,0,eC(new cC(),'THEN'));a=Dcb(new Ccb(),'images/new_item.gif');a.ve('Add an action to this rule.');nB(a,vvb(new uvb(),c));Cab(c.b,2,2,a);Cab(c.b,3,1,cxb(c,c.c));Cab(c.b,4,0,eC(new cC(),'(options)'));Cab(c.b,4,2,Dwb(c));Cab(c.b,5,1,hub(new qtb(),c,c.c));}
+function Fwb(b,a){return clb(b.c,a)||tgb(b.a,a);}
+function axb(a){Ewb(a);sab(a);}
+function bxb(e,c){var a,b,d,f,g;f=fbb(new ebb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,31)){g=Esb(new Cqb(),e,d,e.a,true);qO(f,hxb(e,c,b,g));qO(f,gxb(e));}else if(ac(d,29)){g=lob(new cob(),e,Fb(d,29),e.a);qO(f,hxb(e,c,b,g));qO(f,gxb(e));}else if(ac(d,10)){}else{throw mU(new lU(),"I don't know what type of pattern that is.");}}a=fbb(new ebb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,10)){g=vqb(new jqb(),Fb(d,10));qO(a,hxb(e,c,b,g));CN(a,'model-builderInner-Background');}}qO(f,a);return f;}
+function cxb(g,e){var a,b,c,d,f,h,i;h=fbb(new ebb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,27)){i=znb(new wmb(),g,Fb(a,27),g.a);}else if(ac(a,24)){i=mmb(new tlb(),g,Fb(a,24),g.a);}else if(ac(a,26)){i=umb(new tmb(),g.a,Fb(a,26));}else if(ac(a,10)){i=vqb(new jqb(),Fb(a,10));CN(i,'model-builderInner-Background');}qO(h,gxb(g));b=abb(new Fab());f=Dcb(new Ccb(),'images/delete_item_small.gif');f.ve('Remove this action.');d=c;nB(f,bwb(new awb(),g,e,d));iA(b,i);if(!ac(i,84)){i.De('100%');b.De('100%');}iA(b,f);qO(h,b);}return h;}
+function dxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=scb(new ncb(),'images/new_fact.gif','Add a new action...');CN(k,'ks-popups-Popup');q=Fkb(n.c);p=uC(new mC());l=uC(new mC());j=uC(new mC());xC(p,'Choose ...');xC(l,'Choose ...');xC(j,'Choose ...');for(i=q.sc();i.mc();){o=Fb(i.uc(),1);xC(p,o);xC(l,o);xC(j,o);}d=rgb(n.a);for(f=0;f<d.a;f++){xC(p,d[f]);}dD(p,0);wC(p,sub(new rub(),n,p,k));wC(l,wub(new vub(),n,l,k));wC(j,Aub(new zub(),n,j,k));if(CC(p)>1){tcb(k,'Set the values of a field on',p);}if(CC(j)>1){e=hA(new fA());iA(e,j);g=mB(new wA(),'images/information.gif');g.ve('Modify a field on a fact, and notify the engine to re-evaluate rules.');iA(e,g);tcb(k,'Modify a fact',e);}if(CC(l)>1){tcb(k,'Retract the fact',l);}b=uC(new mC());c=uC(new mC());xC(b,'Choose ...');xC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];xC(b,h);xC(c,h);}wC(b,Eub(new Dub(),n,b,k));wC(c,cvb(new bvb(),n,c,k));if(CC(b)>1){tcb(k,'Insert a new fact',b);e=hA(new fA());iA(e,c);g=mB(new wA(),'images/inf!
 ormation.gif');g.ve('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');iA(e,g);tcb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=uC(new mC());xC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];yC(a,tjb(m),pT(f));}wC(a,gvb(new fvb(),n,a,k));tcb(k,'DSL sentence',a);}tE(k,dc(ai()/3),dc(Fh()/3));wE(k);}
+function exb(c,d){var a,b;b=scb(new ncb(),'images/config.png','Add an option to the rule');a=nub();dD(a,0);wC(a,Dvb(new Cvb(),c,a,b));CN(b,'ks-popups-Popup');tcb(b,'Attribute',a);tE(b,tN(d)-400,uN(d));wE(b);}
+function fxb(j,k){var a,b,c,d,e,f,g,h,i;h=scb(new ncb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=uC(new mC());yC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){xC(e,f[g]);}dD(e,0);if(f.a>0)tcb(h,'Fact',e);wC(e,jwb(new iwb(),j,e,h));CN(h,'ks-popups-Popup');c=(Efb(),Ffb);b=uC(new mC());yC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];yC(b,dgb(a),a);}dD(b,0);if(f.a>0)tcb(h,'Condition type',b);wC(b,nwb(new mwb(),j,b,h));if(j.a.b.a>0){d=uC(new mC());xC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];yC(d,tjb(i),pT(g));}wC(d,rwb(new qwb(),j,d,h));tcb(h,'DSL sentence',d);}tE(h,tN(k)-400,uN(k));wE(h);}
+function gxb(b){var a;a=mz(new pw(),'&nbsp;');a.se('2px');return a;}
+function hxb(f,d,b,g){var a,c,e;a=abb(new Fab());e=Dcb(new Ccb(),'images/delete_item_small.gif');e.ve('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;nB(e,kvb(new jvb(),f,d,c));a.De('100%');g.De('100%');iA(a,g);iA(a,e);return a;}
+function ixb(){return Bab(this.b)||this.j;}
+function pub(){}
+_=pub.prototype=new qab();_.rc=ixb;_.tN=ngc+'RuleModeller';_.tI=334;_.a=null;_.b=null;_.c=null;function rvb(b,a){b.a=a;return b;}
+function tvb(a){fxb(this.a,a);}
+function qub(){}
+_=qub.prototype=new gU();_.Bc=tvb;_.tN=ngc+'RuleModeller$1';_.tI=335;function sub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function uub(a){vwb(this.a,DC(this.c,EC(this.c)));this.b.nc();}
+function rub(){}
+_=rub.prototype=new gU();_.Ac=uub;_.tN=ngc+'RuleModeller$10';_.tI=336;function wub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function yub(a){Bwb(this.a,DC(this.c,EC(this.c)));this.b.nc();}
+function vub(){}
+_=vub.prototype=new gU();_.Ac=yub;_.tN=ngc+'RuleModeller$11';_.tI=337;function Aub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Cub(a){wwb(this.a,DC(this.b,EC(this.b)));this.c.nc();}
+function zub(){}
+_=zub.prototype=new gU();_.Ac=Cub;_.tN=ngc+'RuleModeller$12';_.tI=338;function Eub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function avb(b){var a;a=DC(this.b,EC(this.b));Bkb(this.a.c,vhb(new thb(),a));axb(this.a);this.c.nc();}
+function Dub(){}
+_=Dub.prototype=new gU();_.Ac=avb;_.tN=ngc+'RuleModeller$13';_.tI=339;function cvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function evb(b){var a;a=DC(this.b,EC(this.b));Bkb(this.a.c,Dhb(new Bhb(),a));axb(this.a);this.c.nc();}
+function bvb(){}
+_=bvb.prototype=new gU();_.Ac=evb;_.tN=ngc+'RuleModeller$14';_.tI=340;function gvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ivb(b){var a;a=nT(FC(this.b,EC(this.b)));zwb(this.a,this.a.a.a[a]);this.c.nc();}
+function fvb(){}
+_=fvb.prototype=new gU();_.Ac=ivb;_.tN=ngc+'RuleModeller$15';_.tI=341;function kvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function mvb(b){var a;a=wfb(new nfb(),'Remove this entire condition?',ovb(new nvb(),this,this.c,this.b));tE(a,tN(b),uN(b));wE(a);}
+function jvb(){}
+_=jvb.prototype=new gU();_.Bc=mvb;_.tN=ngc+'RuleModeller$16';_.tI=342;function ovb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function qvb(){if(elb(this.c,this.b)){axb(this.a.a);}else{ybb("Can't remove that item as it is used in the action part of the rule.");}}
+function nvb(){}
+_=nvb.prototype=new gU();_.rb=qvb;_.tN=ngc+'RuleModeller$17';_.tI=343;function vvb(b,a){b.a=a;return b;}
+function xvb(a){dxb(this.a,a);}
+function uvb(){}
+_=uvb.prototype=new gU();_.Bc=xvb;_.tN=ngc+'RuleModeller$2';_.tI=344;function zvb(b,a){b.a=a;return b;}
+function Bvb(a){exb(this.a,a);}
+function yvb(){}
+_=yvb.prototype=new gU();_.Bc=Bvb;_.tN=ngc+'RuleModeller$3';_.tI=345;function Dvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Fvb(a){zkb(this.a.c,pkb(new okb(),DC(this.b,EC(this.b)),''));axb(this.a);this.c.nc();}
+function Cvb(){}
+_=Cvb.prototype=new gU();_.Ac=Fvb;_.tN=ngc+'RuleModeller$4';_.tI=346;function bwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function dwb(b){var a;a=wfb(new nfb(),'Remove this item?',fwb(new ewb(),this,this.c,this.b));tE(a,tN(b),uN(b));wE(a);}
+function awb(){}
+_=awb.prototype=new gU();_.Bc=dwb;_.tN=ngc+'RuleModeller$5';_.tI=347;function fwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function hwb(){flb(this.c,this.b);axb(this.a.a);}
+function ewb(){}
+_=ewb.prototype=new gU();_.rb=hwb;_.tN=ngc+'RuleModeller$6';_.tI=348;function jwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function lwb(b){var a;a=DC(this.b,EC(this.b));if(!FU(a,'IGNORE')){Awb(this.a,a);this.c.nc();}}
+function iwb(){}
+_=iwb.prototype=new gU();_.Ac=lwb;_.tN=ngc+'RuleModeller$7';_.tI=349;function nwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function pwb(b){var a;a=FC(this.b,EC(this.b));if(!FU(a,'IGNORE')){xwb(this.a,a);this.c.nc();}}
+function mwb(){}
+_=mwb.prototype=new gU();_.Ac=pwb;_.tN=ngc+'RuleModeller$8';_.tI=350;function rwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function twb(b){var a;a=nT(FC(this.b,EC(this.b)));ywb(this.a,this.a.a.b[a]);this.c.nc();}
+function qwb(){}
+_=qwb.prototype=new gU();_.Ac=twb;_.tN=ngc+'RuleModeller$9';_.tI=351;function lxb(b,a,c){b.a=c;return b;}
+function nxb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
+function kxb(){}
+_=kxb.prototype=new gU();_.Bc=nxb;_.tN=ogc+'AssetAttachmentFileWidget$1';_.tI=352;function pxb(b,a){b.a=a;return b;}
+function rxb(a){Dxb(this.a);Exb(this.a);}
+function oxb(){}
+_=oxb.prototype=new gU();_.Bc=rxb;_.tN=ogc+'AssetAttachmentFileWidget$2';_.tI=353;function txb(b,a){b.a=a;return b;}
+function wxb(a){}
+function vxb(a){tdb();if(bV(a.a,'OK')>(-1)){g_b(this.a.e);}else{ybb('Unable to upload the file.');}}
+function sxb(){}
+_=sxb.prototype=new gU();_.qd=wxb;_.pd=vxb;_.tN=ogc+'AssetAttachmentFileWidget$3';_.tI=354;function kyb(){kyb=e3;vcb();}
+function iyb(c){var a,b;kyb();scb(c,'images/new_wiz.gif','Create a new fact template');c.a=tt(new nt());c.b=bL(new sK());tcb(c,'Name:',c.b);tcb(c,'Fact attributes:',c.a);a=mB(new wA(),'images/new_item.gif');nB(a,byb(new ayb(),c));tcb(c,'Add a new attribute',a);b=yp(new sp(),'Create');b.z(fyb(new eyb(),c));tcb(c,'',b);return c;}
+function jyb(b){var a;a=xt(b.a);b.a.Be(a,0,bL(new sK()));b.a.Be(a,1,nyb(b));}
+function lyb(d){var a,b,c,e,f;b='template '+zK(d.b)+'\n';for(a=0;a<xt(d.a);a++){e=Fb(sy(d.a,a,1),85);f=DC(e,EC(e));c=zK(Fb(sy(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
+function myb(b,a){b.c=a;}
+function nyb(b){var a;a=uC(new mC());xC(a,'String');xC(a,'Integer');xC(a,'Float');xC(a,'Date');xC(a,'Boolean');return a;}
+function Fxb(){}
+_=Fxb.prototype=new ncb();_.tN=ogc+'FactTemplateWizard';_.tI=355;_.a=null;_.b=null;_.c=null;function byb(b,a){b.a=a;return b;}
+function dyb(a){jyb(this.a);}
+function ayb(){}
+_=ayb.prototype=new gU();_.Bc=dyb;_.tN=ogc+'FactTemplateWizard$1';_.tI=356;function fyb(b,a){b.a=a;return b;}
+function hyb(a){kDb(this.a.c);this.a.nc();}
+function eyb(){}
+_=eyb.prototype=new gU();_.Bc=hyb;_.tN=ogc+'FactTemplateWizard$2';_.tI=357;function pyb(b,a,c){xxb(b,a,c);return b;}
+function ryb(){return 'images/model_large.png';}
+function syb(){return 'editable-Surface';}
+function oyb(){}
+_=oyb.prototype=new jxb();_.xb=ryb;_.ac=syb;_.tN=ogc+'ModelAttachmentFileWidget';_.tI=358;function rzb(){rzb=e3;vcb();}
+function pzb(a){a.b=ccb(new acb());a.d=ccb(new acb());}
+function qzb(f,b){var a,c,d,e;rzb();scb(f,'images/new_wiz.gif','Create a new package');pzb(f);f.c=bL(new sK());f.a=mK(new lK());hcb(f.d,mz(new pw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));ecb(f.d,'Name:',f.c);ecb(f.d,'Description:',f.a);f.c.ve('The name of the package. Avoid spaces, use underscore instead.');e=gG(new eG(),'action','Create new pa!
 ckage');d=gG(new eG(),'action','Import from drl file');oq(e,true);f.d.Ae(true);e.z(vyb(new uyb(),f));f.b.Ae(false);d.z(zyb(new yyb(),f));a=kp(new jp());lp(a,e);lp(a,d);ucb(f,a);ucb(f,f.d);ucb(f,f.b);ecb(f.b,'DRL file to import:',tzb(b,f));c=yp(new sp(),'Create package');c.z(Dyb(new Cyb(),f,b));ecb(f.d,'',c);CN(f,'ks-popups-Popup');return f;}
+function szb(d,b,a,c){xdb('Creating package - please wait...');FTb(nMb(),b,a,czb(new bzb(),d,c));}
+function tzb(a,d){rzb();var b,c,e,f;f=ev(new Fu());kv(f,v()+'package');lv(f,'multipart/form-data');mv(f,'post');c=hA(new fA());f.Ce(c);e=it(new ht());lt(e,'classicDRLFile');iA(c,e);iA(c,eC(new cC(),'upload:'));b=Ecb(new Ccb(),'images/upload.gif','Import');nB(b,hzb(new gzb(),f));iA(c,b);fv(f,lzb(new kzb(),a,d,e));return f;}
+function tyb(){}
+_=tyb.prototype=new ncb();_.tN=ogc+'NewPackageWizard';_.tI=359;_.a=null;_.c=null;function vyb(b,a){b.a=a;return b;}
+function xyb(a){this.a.d.Ae(true);this.a.b.Ae(false);}
+function uyb(){}
+_=uyb.prototype=new gU();_.Bc=xyb;_.tN=ogc+'NewPackageWizard$1';_.tI=360;function zyb(b,a){b.a=a;return b;}
+function Byb(a){this.a.d.Ae(false);this.a.b.Ae(true);}
+function yyb(){}
+_=yyb.prototype=new gU();_.Bc=Byb;_.tN=ogc+'NewPackageWizard$2';_.tI=361;function Dyb(b,a,c){b.a=a;b.b=c;return b;}
+function Fyb(b,a){return eV(a,'[a-zA-Z\\.]*');}
+function azb(a){if(Fyb(this,zK(this.a.c))){szb(this.a,zK(this.a.c),zK(this.a.a),this.b);this.a.nc();}else{DK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
+function Cyb(){}
+_=Cyb.prototype=new gU();_.Bc=azb;_.tN=ogc+'NewPackageWizard$3';_.tI=362;function czb(b,a,c){b.a=c;return b;}
+function ezb(b,a){tdb();tFb(b.a);}
+function fzb(a){ezb(this,a);}
+function bzb(){}
+_=bzb.prototype=new wcb();_.rd=fzb;_.tN=ogc+'NewPackageWizard$4';_.tI=363;function hzb(a,b){a.a=b;return a;}
+function jzb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){xdb('Importing drl package, please wait, as this could take some time...');ov(this.a);}}
+function gzb(){}
+_=gzb.prototype=new gU();_.Bc=jzb;_.tN=ogc+'NewPackageWizard$5';_.tI=364;function lzb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
+function ozb(a){if(dV(kt(this.c))==0){zh('You did not choose a drl file to import !');Av(a,true);}else if(!DU(kt(this.c),'.drl')){zh("You can only import '.drl' files.");Av(a,true);}}
+function nzb(a){if(bV(a.a,'OK')>(-1)){zh('Package was imported successfully. ');tFb(this.a);this.b.nc();}else{ybb('Unable to import into the package. ['+a.a+']');}tdb();}
+function kzb(){}
+_=kzb.prototype=new gU();_.qd=ozb;_.pd=nzb;_.tN=ogc+'NewPackageWizard$6';_.tI=365;function oBb(h,e,f){var a,b,c,d,g;h.c=dcb(new acb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=cH(new AG());g=bL(new sK());a=yp(new sp(),'Build package');a.ve('This will validate and compile all the assets in a package.');a.z(hAb(new vzb(),h,b,g));c=yp(new sp(),'Show package source');c.z(lAb(new kAb(),h,e));ecb(h.c,'View source for package',c);d=hA(new fA());iA(d,a);iA(d,mz(new pw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));iA(d,g);iA(d,fdb(new adb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));ecb(h.c,'Build binary package:',d);hcb(h.c,mz(new pw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));hcb(h.c,b);CN(h.c,'package-Editor');h.c.De('100%');or(h,h.c);return h;}
+function qBb(d,a,c){var b;a.cb();b=hA(new fA());iA(b,eC(new cC(),'Validating and building package, please wait...'));iA(b,mB(new wA(),'images/red_anime.gif'));xdb('Please wait...');eH(a,b);fg(EAb(new DAb(),d,c,a));}
+function rBb(i,e,a){var b,c,d,f,g,h;a.cb();b=tt(new nt());CN(b,'build-Results');az(b,0,1,'Format');az(b,0,2,'Name');az(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.Be(f,0,mB(new wA(),'images/error.gif'));az(b,f,1,d.a);az(b,f,2,d.b);az(b,f,3,d.c);if(!FU('package',d.a)){h=yp(new sp(),'Show');h.z(lBb(new kBb(),i,d));b.Be(f,4,h);}}b.De('100%');g=wG(new uG(),b);yG(g,true);BN(g,'100%','25em');eH(a,g);}
+function sBb(g,i){var a,b,c,d,e,f,h;xdb('Loading existing snapshots...');c=scb(new ncb(),'images/snapshot.png','Create a snapshot for deployment.');ucb(c,mz(new pw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=pO(new nO());tcb(c,'Choose or create snapshot name:',h);f=oY(new mY());d=bL(new sK());e='NEW: ';eUb(nMb(),g.a.j,xzb(new wzb(),g,f,h,d));a=bL(new sK());tcb(c,'Comment:',a);b=yp(new sp(),'Create new snapshot');tcb(c,'',b);b.z(Fzb(new Ezb(),g,f,d,a,c));c.De('50%');tE(c,dc((uab()-oE(c))/2),100);wE(c);}
+function tBb(e,a){var b,c,d,f;a.cb();f=pO(new nO());qO(f,mz(new pw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=vBb(e.a);b=mz(new pw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");qO(f,b);d=yp(new sp(),'Create snapshot for deployment');d.z(hBb(new gBb(),e));qO(f,d);eH(a,f);}
+function uBb(b,a){xdb('Assembling package source...');fg(pAb(new oAb(),b,a));}
+function vBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
+function wBb(b,c){var a,d;d=scb(new ncb(),'images/view_source.gif','Viewing source for: '+c);a=mK(new lK());rK(a,30);a.De('100%');qK(a,80);ucb(d,a);DK(a,b);a.pe(true);a.ve('THIS IS READ ONLY - you may copy and paste, but not edit.');wK(a,yAb(new xAb(),a,b));tdb();tE(d,dc((uab()-oE(d))/2),100);wE(d);}
+function uzb(){}
+_=uzb.prototype=new mr();_.tN=ogc+'PackageBuilderWidget';_.tI=366;_.a=null;_.b=null;_.c=null;function hAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function jAb(a){qBb(this.a,this.b,zK(this.c));}
+function vzb(){}
+_=vzb.prototype=new gU();_.Bc=jAb;_.tN=ogc+'PackageBuilderWidget$1';_.tI=367;function xzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
+function zzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=gG(new eG(),'snapshotNameGroup',f[c].b);qY(this.b,b);qO(this.c,b);}d=hA(new fA());e=gG(new eG(),'snapshotNameGroup','NEW: ');iA(d,e);this.a.pe(false);e.z(Bzb(new Azb(),this,this.a));iA(d,this.a);qY(this.b,e);qO(this.c,d);tdb();}
+function wzb(){}
+_=wzb.prototype=new wcb();_.rd=zzb;_.tN=ogc+'PackageBuilderWidget$10';_.tI=368;function Bzb(b,a,c){b.a=c;return b;}
+function Dzb(a){this.a.pe(true);}
+function Azb(){}
+_=Azb.prototype=new gU();_.Bc=Dzb;_.tN=ogc+'PackageBuilderWidget$11';_.tI=369;function Fzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
+function bAb(d){var a,b,c;c=false;for(b=this.f.sc();b.mc();){a=Fb(b.uc(),87);if(nq(a)){this.a=mq(a);if(!FU(mq(a),'NEW: ')){c=true;}break;}}if(FU(this.a,'NEW: ')){this.a=zK(this.e);}if(FU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}ETb(nMb(),this.b.a.j,this.a,c,zK(this.c),dAb(new cAb(),this,this.d));}
+function Ezb(){}
+_=Ezb.prototype=new gU();_.Bc=bAb;_.tN=ogc+'PackageBuilderWidget$12';_.tI=370;_.a='';function dAb(b,a,c){b.a=a;b.b=c;return b;}
+function fAb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.nc();}
+function gAb(a){fAb(this,a);}
+function cAb(){}
+_=cAb.prototype=new wcb();_.rd=gAb;_.tN=ogc+'PackageBuilderWidget$13';_.tI=371;function lAb(b,a,c){b.a=c;return b;}
+function nAb(a){uBb(this.a.m,this.a.j);}
+function kAb(){}
+_=kAb.prototype=new gU();_.Bc=nAb;_.tN=ogc+'PackageBuilderWidget$2';_.tI=372;function pAb(a,c,b){a.b=c;a.a=b;return a;}
+function rAb(){tTb(nMb(),this.b,tAb(new sAb(),this,this.a));}
+function oAb(){}
+_=oAb.prototype=new gU();_.rb=rAb;_.tN=ogc+'PackageBuilderWidget$3';_.tI=373;function tAb(b,a,c){b.a=c;return b;}
+function vAb(c,b){var a;a=Fb(b,1);wBb(a,c.a);}
+function wAb(a){vAb(this,a);}
+function sAb(){}
+_=sAb.prototype=new wcb();_.rd=wAb;_.tN=ogc+'PackageBuilderWidget$4';_.tI=374;function yAb(a,b,c){a.a=b;a.b=c;return a;}
+function AAb(a,b,c){DK(this.a,this.b);}
+function BAb(a,b,c){DK(this.a,this.b);}
+function CAb(a,b,c){DK(this.a,this.b);}
+function xAb(){}
+_=xAb.prototype=new gU();_.ed=AAb;_.fd=BAb;_.gd=CAb;_.tN=ogc+'PackageBuilderWidget$5';_.tI=375;function EAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function aBb(){uTb(nMb(),this.a.a.m,this.c,cBb(new bBb(),this,this.b));}
+function DAb(){}
+_=DAb.prototype=new gU();_.rb=aBb;_.tN=ogc+'PackageBuilderWidget$6';_.tI=376;function cBb(b,a,c){b.a=a;b.b=c;return b;}
+function eBb(c,a){var b;tdb();if(a===null){tBb(c.a.a,c.b);}else{b=Fb(a,88);rBb(c.a.a,b,c.b);}}
+function fBb(a){eBb(this,a);}
+function bBb(){}
+_=bBb.prototype=new wcb();_.rd=fBb;_.tN=ogc+'PackageBuilderWidget$7';_.tI=377;function hBb(b,a){b.a=a;return b;}
+function jBb(a){sBb(this.a,a);}
+function gBb(){}
+_=gBb.prototype=new gU();_.Bc=jBb;_.tN=ogc+'PackageBuilderWidget$8';_.tI=378;function lBb(b,a,c){b.a=a;b.b=c;return b;}
+function nBb(a){pIb(this.a.b,this.b.d);}
+function kBb(){}
+_=kBb.prototype=new gU();_.Bc=nBb;_.tN=ogc+'PackageBuilderWidget$9';_.tI=379;function uEb(e,b,c,a,d){ccb(e);e.b=b;e.c=c;e.a=a;e.e=d;CN(e,'package-Editor');e.De('100%');AEb(e);return e;}
+function wEb(b){var a;a=mK(new lK());a.De('100%');rK(a,8);DK(a,b.b.d);vK(a,rDb(new qDb(),b,a));qK(a,100);return yEb(b,a);}
+function xEb(b,a){xdb('Saving package configuration. Please wait ...');vUb(nMb(),b.b,dCb(new cCb(),b,a));}
+function yEb(d,a){var b,c;c=hA(new fA());iA(c,a);b=mB(new wA(),'images/max_min.gif');b.ve('Increase view area');iA(c,b);nB(b,nDb(new mDb(),d,a));return c;}
+function zEb(g){var a,b,c,d,e,f,h;a=mK(new lK());a.De('100%');rK(a,8);qK(a,100);DK(a,g.b.f);vK(a,qCb(new pCb(),g,a));f=hA(new fA());iA(f,a);h=pO(new nO());b=mB(new wA(),'images/max_min.gif');nB(b,uCb(new tCb(),g,a));b.ve('Increase view area.');qO(h,b);e=mB(new wA(),'images/new_import.gif');nB(e,yCb(new xCb(),g,a));qO(h,e);e.ve('Add a new Type/Class import to the package.');d=mB(new wA(),'images/new_global.gif');nB(d,CCb(new BCb(),g,a));d.ve('Add a new global variable declaration.');qO(h,d);c=mB(new wA(),'images/fact_template.gif');nB(c,eDb(new dDb(),g,a));c.ve('Add a new fact template.');f.De('100%');iA(f,h);return f;}
+function AEb(c){var a,b;icb(c);hcb(c,bFb(c));ecb(c,'Description:',wEb(c));ecb(c,'Header:',zEb(c));hcb(c,mz(new pw(),'<hr/>'));ecb(c,'Last modified:',eC(new cC(),b0(c.b.i)));ecb(c,'Last contributor:',eC(new cC(),c.b.h));hcb(c,mz(new pw(),'<hr/>'));c.f=lz(new pw());b=hA(new fA());a=Dcb(new Ccb(),'images/edit.gif');a.ve('Change status.');nB(a,FCb(new yBb(),c));iA(b,c.f);if(!c.b.g){iA(b,a);}DEb(c,c.b.l);ecb(c,'Status:',b);if(!c.b.g){hcb(c,CEb(c));}hcb(c,mz(new pw(),'<hr/>'));}
+function BEb(a){xdb('Refreshing package data...');jUb(nMb(),a.b.m,mCb(new lCb(),a));}
+function CEb(f){var a,b,c,d,e;c=hA(new fA());e=yp(new sp(),'Save and validate configuration');e.z(CDb(new BDb(),f));iA(c,e);a=yp(new sp(),'Archive');a.z(aEb(new FDb(),f));iA(c,a);b=yp(new sp(),'Copy');b.z(eEb(new dEb(),f));iA(c,b);d=yp(new sp(),'Rename');d.z(iEb(new hEb(),f));iA(c,d);return c;}
+function DEb(b,a){pz(b.f,'<b>'+a+'<\/b>');}
+function EEb(d){var a,b,c;c=scb(new ncb(),'images/new_wiz.gif','Copy the package');ucb(c,mz(new pw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=bL(new sK());tcb(c,'New package name:',a);b=yp(new sp(),'OK');tcb(c,'',b);b.z(ABb(new zBb(),d,a,c));c.De('40%');tE(c,dc(ai()/3),dc(Fh()/3));wE(c);}
+function FEb(d){var a,b,c;c=scb(new ncb(),'images/new_wiz.gif','Rename the package');ucb(c,mz(new pw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=bL(new sK());tcb(c,'New package name:',a);b=yp(new sp(),'OK');tcb(c,'',b);b.z(mEb(new lEb(),d,a,c));c.De('40%');tE(c,dc(ai()/3),dc(Fh()/3));wE(c);}
+function aFb(b,c){var a;a=Aeb(new eeb(),b.b.m,true);Deb(a,yDb(new xDb(),b,a));tE(a,tN(c),uN(c));wE(a);}
+function bFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=mB(new wA(),'images/warning.gif');a=hA(new fA());iA(a,b);c=mz(new pw(),'<b>There were errors validating this package configuration.');iA(a,c);d=yp(new sp(),'View errors');d.z(uDb(new cDb(),e));iA(a,d);return a;}else{return cH(new AG());}}
+function xBb(){}
+_=xBb.prototype=new acb();_.tN=ogc+'PackageEditor';_.tI=380;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function FCb(b,a){b.a=a;return b;}
+function bDb(a){aFb(this.a,a);}
+function yBb(){}
+_=yBb.prototype=new gU();_.Bc=bDb;_.tN=ogc+'PackageEditor$1';_.tI=381;function ABb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function CBb(a){BTb(nMb(),this.a.b.j,zK(this.b),EBb(new DBb(),this,this.c));}
+function zBb(){}
+_=zBb.prototype=new gU();_.Bc=CBb;_.tN=ogc+'PackageEditor$10';_.tI=382;function EBb(b,a,c){b.a=a;b.b=c;return b;}
+function aCb(b,a){rGb(b.a.a.e);zh('Package copied successfully.');b.b.nc();}
+function bCb(a){aCb(this,a);}
+function DBb(){}
+_=DBb.prototype=new wcb();_.rd=bCb;_.tN=ogc+'PackageEditor$11';_.tI=383;function dCb(b,a,c){b.a=a;b.b=c;return b;}
+function fCb(b,a){xGb(b.a.a);b.a.d=Fb(a,89);BEb(b.a);xdb('Package configuration updated successfully, refreshing content cache...');fLb((bLb(),gLb),b.a.b.j,iCb(new hCb(),b,b.b));}
+function gCb(a){fCb(this,a);}
+function cCb(){}
+_=cCb.prototype=new wcb();_.rd=gCb;_.tN=ogc+'PackageEditor$12';_.tI=384;function iCb(b,a,c){b.a=c;return b;}
+function kCb(){if(this.a!==null){rGb(this.a);}tdb();}
+function hCb(){}
+_=hCb.prototype=new gU();_.rb=kCb;_.tN=ogc+'PackageEditor$13';_.tI=385;function mCb(b,a){b.a=a;return b;}
+function oCb(a){tdb();this.a.b=Fb(a,16);AEb(this.a);}
+function lCb(){}
+_=lCb.prototype=new wcb();_.rd=oCb;_.tN=ogc+'PackageEditor$14';_.tI=386;function qCb(b,a,c){b.a=a;b.b=c;return b;}
+function sCb(a){this.a.b.f=zK(this.b);nGb(this.a.c);}
+function pCb(){}
+_=pCb.prototype=new gU();_.Ac=sCb;_.tN=ogc+'PackageEditor$16';_.tI=387;function uCb(b,a,c){b.a=c;return b;}
+function wCb(a){if(pK(this.a)!=32){rK(this.a,32);}else{rK(this.a,8);}}
+function tCb(){}
+_=tCb.prototype=new gU();_.Bc=wCb;_.tN=ogc+'PackageEditor$17';_.tI=388;function yCb(b,a,c){b.a=a;b.b=c;return b;}
+function ACb(a){DK(this.b,zK(this.b)+'\n'+'import <your class here>');this.a.b.f=zK(this.b);}
+function xCb(){}
+_=xCb.prototype=new gU();_.Bc=ACb;_.tN=ogc+'PackageEditor$18';_.tI=389;function CCb(b,a,c){b.a=a;b.b=c;return b;}
+function ECb(a){DK(this.b,zK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=zK(this.b);}
+function BCb(){}
+_=BCb.prototype=new gU();_.Bc=ECb;_.tN=ogc+'PackageEditor$19';_.tI=390;function uDb(b,a){b.a=a;return b;}
+function wDb(a){var b;b=Feb(new Eeb(),this.a.d.a,this.a.d.b);tE(b,dc(ai()/4),uN(a));wE(b);}
+function cDb(){}
+_=cDb.prototype=new gU();_.Bc=wDb;_.tN=ogc+'PackageEditor$2';_.tI=391;function eDb(b,a,c){b.a=a;b.b=c;return b;}
+function gDb(a){var b;b=iyb(new Fxb());tE(b,tN(a)-400,uN(a)-250);myb(b,iDb(new hDb(),this,this.b,b));wE(b);}
+function dDb(){}
+_=dDb.prototype=new gU();_.Bc=gDb;_.tN=ogc+'PackageEditor$20';_.tI=392;function iDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kDb(a){DK(a.b,zK(a.b)+'\n'+lyb(a.c));a.a.a.b.f=zK(a.b);}
+function lDb(){kDb(this);}
+function hDb(){}
+_=hDb.prototype=new gU();_.rb=lDb;_.tN=ogc+'PackageEditor$21';_.tI=393;function nDb(b,a,c){b.a=c;return b;}
+function pDb(a){if(pK(this.a)!=32){rK(this.a,32);}else{rK(this.a,8);}}
+function mDb(){}
+_=mDb.prototype=new gU();_.Bc=pDb;_.tN=ogc+'PackageEditor$22';_.tI=394;function rDb(b,a,c){b.a=a;b.b=c;return b;}
+function tDb(a){this.a.b.d=zK(this.b);nGb(this.a.c);}
+function qDb(){}
+_=qDb.prototype=new gU();_.Ac=tDb;_.tN=ogc+'PackageEditor$23';_.tI=395;function yDb(b,a,c){b.a=a;b.b=c;return b;}
+function ADb(){DEb(this.a,this.b.c);}
+function xDb(){}
+_=xDb.prototype=new gU();_.rb=ADb;_.tN=ogc+'PackageEditor$3';_.tI=396;function CDb(b,a){b.a=a;return b;}
+function EDb(a){xEb(this.a,null);}
+function BDb(){}
+_=BDb.prototype=new gU();_.Bc=EDb;_.tN=ogc+'PackageEditor$4';_.tI=397;function aEb(b,a){b.a=a;return b;}
+function cEb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;xEb(this.a,this.a.e);}}
+function FDb(){}
+_=FDb.prototype=new gU();_.Bc=cEb;_.tN=ogc+'PackageEditor$5';_.tI=398;function eEb(b,a){b.a=a;return b;}
+function gEb(a){EEb(this.a);}
+function dEb(){}
+_=dEb.prototype=new gU();_.Bc=gEb;_.tN=ogc+'PackageEditor$6';_.tI=399;function iEb(b,a){b.a=a;return b;}
+function kEb(a){FEb(this.a);}
+function hEb(){}
+_=hEb.prototype=new gU();_.Bc=kEb;_.tN=ogc+'PackageEditor$7';_.tI=400;function mEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function oEb(a){tUb(nMb(),this.a.b.m,zK(this.b),qEb(new pEb(),this,this.c));}
+function lEb(){}
+_=lEb.prototype=new gU();_.Bc=oEb;_.tN=ogc+'PackageEditor$8';_.tI=401;function qEb(b,a,c){b.a=a;b.b=c;return b;}
+function sEb(b,a){rGb(b.a.a.e);zh('Package renamed successfully.');b.b.nc();}
+function tEb(a){sEb(this,a);}
+function pEb(){}
+_=pEb.prototype=new wcb();_.rd=tEb;_.tN=ogc+'PackageEditor$9';_.tI=402;function FHb(a){a.f=pGb(new dFb(),a);}
+function aIb(b,a){bIb(b,a,null,null);return b;}
+function bIb(g,b,h,f){var a,c,d,e;FHb(g);g.b=b;g.h=h;g.c=rM(new eL());g.d=zab(new xab());g.g=new tGb();vM(g.c,g.g);e=pO(new nO());if(f===null){a=tt(new nt());gx(a.n,0,0,'new-asset-Icons');dx(a.n,0,0,(wz(),xz),(Fz(),bA));a.Be(0,0,eIb(g));qO(e,a);a.De('100%');}qO(e,g.c);Cab(g.d,0,0,e);c=wt(g.d);hx(c,0,0,(Fz(),cA));st(wt(g.d),0,1,2);dx(wt(g.d),0,1,(wz(),xz),(Fz(),cA));iIb(g);d=DM(g.c,0);if(d!==null)hN(g.c,d);Cab(g.d,0,1,mz(new pw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));jx(wt(g.d),0,0,'25%');dx(wt(g.d),0,1,(wz(),yz),(Fz(),cA));g.e=kdc(new occ(),g.b,'rulelist');or(g,g.d);return g;}
+function cIb(d,a,c){var b;b=hIb(d,a.j,'images/package.gif',DHb(new CHb(),wFb(new vFb(),d,a)));b.A(hIb(d,'Business rule assets','images/rule_asset.gif',jIb(d,a.m,(q_(),r_))));b.A(hIb(d,'Technical rule assets','images/technical_rule_assets.gif',jIb(d,a.m,(q_(),t_))));b.A(hIb(d,'Functions','images/function_assets.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['function']))));b.A(hIb(d,'DSL','images/dsl.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['dsl']))));b.A(hIb(d,'Model','images/model_asset.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['jar']))));tM(d.c,b);if(c){iN(d.c,b,true);}}
+function eIb(h){var a,b,c,d,e,f,g,i;g=hA(new fA());d=mB(new wA(),'images/new_package.gif');d.ve('Create a new package');nB(d,bHb(new aHb(),h));i=Dcb(new Ccb(),'images/model_asset.gif');nB(i,fHb(new eHb(),h));i.ve('This creates a new model archive - models contain classes/types that rules use.');e=Dcb(new Ccb(),'images/new_rule.gif');e.ve('Create new rule');nB(e,jHb(new iHb(),h));c=Dcb(new Ccb(),'images/function_assets.gif');c.ve('Create a new function');nB(c,rHb(new qHb(),h));a=Dcb(new Ccb(),'images/dsl.gif');a.ve('Create a new DSL (language configuration)');nB(a,vHb(new uHb(),h));f=Dcb(new Ccb(),'images/ruleflow_small.gif');f.ve('Upload a new ruleflow.');nB(f,zHb(new yHb(),h));b=Dcb(new Ccb(),'images/new_enumeration.gif');b.ve('Create a new data enumeration (drop down list)');nB(b,fFb(new eFb(),h));iA(g,d);iA(g,i);iA(g,e);iA(g,c);iA(g,a);iA(g,f);iA(g,b);return g;}
+function fIb(d,a,e){var b,c,f;b=70;f=100;c=x7b(new h7b(),AGb(new zGb(),d),false,a,e,d.a);tE(c,dc((uab()-oE(c))/2),100);wE(c);}
+function gIb(a,b){xdb('Loading package information ...');jUb(nMb(),b,dGb(new cGb(),a));}
+function hIb(e,d,b,a){var c;c=wL(new uL());EL(c,'<img src="'+b+'">'+d+'<\/a>');eM(c,a);return c;}
+function iIb(a){if(a.h===null){xdb('Loading list of packages ...');dUb(nMb(),jFb(new iFb(),a));}else{xdb('Loading package ...');jUb(nMb(),a.h,nFb(new mFb(),a));}}
+function jIb(c,d,b){var a;a=AFb(new zFb(),c);return DHb(new CHb(),FFb(new EFb(),c,d,b,a));}
+function kIb(b,c){var a;a=qzb(new tyb(),rFb(new qFb(),b));tE(a,dc((uab()-oE(a))/2),100);wE(a);}
+function cFb(){}
+_=cFb.prototype=new qab();_.tN=ogc+'PackageExplorerWidget';_.tI=403;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function pGb(b,a){b.a=a;return b;}
+function rGb(a){iIb(a.a);}
+function sGb(){rGb(this);}
+function dFb(){}
+_=dFb.prototype=new gU();_.rb=sGb;_.tN=ogc+'PackageExplorerWidget$1';_.tI=404;function fFb(b,a){b.a=a;return b;}
+function hFb(a){fIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
+function eFb(){}
+_=eFb.prototype=new gU();_.Bc=hFb;_.tN=ogc+'PackageExplorerWidget$10';_.tI=405;function jFb(b,a){b.a=a;return b;}
+function lFb(a){var b,c;c=Fb(a,71);wM(this.a.c);for(b=0;b<c.a;b++){if(b==0){cIb(this.a,c[b],true);}else{cIb(this.a,c[b],false);}}tdb();}
+function iFb(){}
+_=iFb.prototype=new wcb();_.rd=lFb;_.tN=ogc+'PackageExplorerWidget$11';_.tI=406;function nFb(b,a){b.a=a;return b;}
+function pFb(a){var b;b=Fb(a,16);wM(this.a.c);cIb(this.a,b,true);tdb();}
+function mFb(){}
+_=mFb.prototype=new wcb();_.rd=pFb;_.tN=ogc+'PackageExplorerWidget$12';_.tI=407;function rFb(b,a){b.a=a;return b;}
+function tFb(a){iIb(a.a);}
+function uFb(){tFb(this);}
+function qFb(){}
+_=qFb.prototype=new gU();_.rb=uFb;_.tN=ogc+'PackageExplorerWidget$13';_.tI=408;function wFb(b,a,c){b.a=a;b.b=c;return b;}
+function yFb(){if(this.a.rc()){if(Bh('Discard Changes ? ')){tab(this.a);gIb(this.a,this.b.m);}}else{gIb(this.a,this.b.m);}}
+function vFb(){}
+_=vFb.prototype=new gU();_.rb=yFb;_.tN=ogc+'PackageExplorerWidget$14';_.tI=409;function AFb(b,a){b.a=a;return b;}
+function CFb(c,a){var b;b=Fb(a,62);pdc(c.a.e,b);c.a.e.De('100%');Cab(c.a.d,0,1,c.a.e);dx(wt(c.a.d),0,1,(wz(),yz),(Fz(),cA));tdb();}
+function DFb(a){CFb(this,a);}
+function zFb(){}
+_=zFb.prototype=new wcb();_.rd=DFb;_.tN=ogc+'PackageExplorerWidget$15';_.tI=410;function FFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
+function bGb(){xdb('Loading list, please wait...');cUb(nMb(),this.c,this.b,(-1),(-1),this.a);}
+function EFb(){}
+_=EFb.prototype=new gU();_.rb=bGb;_.tN=ogc+'PackageExplorerWidget$16';_.tI=411;function dGb(b,a){b.a=a;return b;}
+function fGb(c){var a,b,d,e,f,g,h,i;b=Fb(c,16);g=yH(new xH());this.a.a=b.j;e=dcb(new acb(),'images/package_large.png',b.j);CN(e,'package-Editor');e.De('100%');ecb(e,'Description:',eC(new cC(),b.d));ecb(e,'Date created:',eC(new cC(),b0(b.c)));if(b.g){ecb(e,'Snapshot created on:',eC(new cC(),b0(b.i)));ecb(e,'Snapshot comment:',eC(new cC(),b.b));h=vBb(b);d=mz(new pw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");ecb(e,'Download package:',d);ecb(e,'Package URI:',eC(new cC(),h));i=yp(new sp(),'View package source');i.z(hGb(new gGb(),this,b));ecb(e,'Show package source:',i);}if(!b.g){hcb(e,mz(new pw(),'<i>Choose one of the options below<\/i>'));}f=lGb(new kGb(),this);a=vGb(new uGb(),this);AH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){AH(g,uEb(new xBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);AH(g,oBb(new uzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{AH(!
 g,uEb(new xBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.De('100%');Cab(this.a.d,0,1,g);tdb();}
+function cGb(){}
+_=cGb.prototype=new wcb();_.rd=fGb;_.tN=ogc+'PackageExplorerWidget$17';_.tI=412;function hGb(b,a,c){b.a=c;return b;}
+function jGb(a){uBb(this.a.m,this.a.j);}
+function gGb(){}
+_=gGb.prototype=new gU();_.Bc=jGb;_.tN=ogc+'PackageExplorerWidget$18';_.tI=413;function lGb(b,a){b.a=a;return b;}
+function nGb(a){sab(a.a.a);}
+function oGb(){nGb(this);}
+function kGb(){}
+_=kGb.prototype=new gU();_.rb=oGb;_.tN=ogc+'PackageExplorerWidget$19';_.tI=414;function EGb(c){var a,b;a=Fb(c.k,90);b=a.a;xdb('Please wait...');fg(b);}
+function FGb(a){}
+function tGb(){}
+_=tGb.prototype=new gU();_.td=EGb;_.ud=FGb;_.tN=ogc+'PackageExplorerWidget$2';_.tI=415;function vGb(b,a){b.a=a;return b;}
+function xGb(a){tab(a.a.a);}
+function yGb(){xGb(this);}
+function uGb(){}
+_=uGb.prototype=new gU();_.rb=yGb;_.tN=ogc+'PackageExplorerWidget$20';_.tI=416;function AGb(b,a){b.a=a;return b;}
+function CGb(a){pIb(this.a.b,a);}
+function zGb(){}
+_=zGb.prototype=new gU();_.yd=CGb;_.tN=ogc+'PackageExplorerWidget$21';_.tI=417;function bHb(b,a){b.a=a;return b;}
+function dHb(a){kIb(this.a,a);}
+function aHb(){}
+_=aHb.prototype=new gU();_.Bc=dHb;_.tN=ogc+'PackageExplorerWidget$3';_.tI=418;function fHb(b,a){b.a=a;return b;}
+function hHb(a){fIb(this.a,'jar','Create a new model archive');}
+function eHb(){}
+_=eHb.prototype=new gU();_.Bc=hHb;_.tN=ogc+'PackageExplorerWidget$4';_.tI=419;function jHb(b,a){b.a=a;return b;}
+function lHb(d){var a,b,c;a=70;c=100;b=x7b(new h7b(),nHb(new mHb(),this),true,null,'Create a new rule asset',this.a.a);tE(b,dc((uab()-oE(b))/2),100);wE(b);}
+function iHb(){}
+_=iHb.prototype=new gU();_.Bc=lHb;_.tN=ogc+'PackageExplorerWidget$5';_.tI=420;function nHb(b,a){b.a=a;return b;}
+function pHb(a){pIb(this.a.a.b,a);}
+function mHb(){}
+_=mHb.prototype=new gU();_.yd=pHb;_.tN=ogc+'PackageExplorerWidget$6';_.tI=421;function rHb(b,a){b.a=a;return b;}
+function tHb(a){fIb(this.a,'function','Create a new function');}
+function qHb(){}
+_=qHb.prototype=new gU();_.Bc=tHb;_.tN=ogc+'PackageExplorerWidget$7';_.tI=422;function vHb(b,a){b.a=a;return b;}
+function xHb(a){fIb(this.a,'dsl','Create a new language configuration');}
+function uHb(){}
+_=uHb.prototype=new gU();_.Bc=xHb;_.tN=ogc+'PackageExplorerWidget$8';_.tI=423;function zHb(b,a){b.a=a;return b;}
+function BHb(a){fIb(this.a,'rf','Create a new ruleflow');}
+function yHb(){}
+_=yHb.prototype=new gU();_.Bc=BHb;_.tN=ogc+'PackageExplorerWidget$9';_.tI=424;function DHb(b,a){b.a=a;return b;}
+function CHb(){}
+_=CHb.prototype=new gU();_.tN=ogc+'PackageExplorerWidget$PackageTreeItem';_.tI=425;_.a=null;function rIb(a){a.a=(oZ(),pZ);}
+function sIb(a){tIb(a,null,null);return a;}
+function tIb(e,c,d){var a,b;rIb(e);e.b=AJ(new mJ());e.b.De('100%');e.b.se('30%');a=nIb(new mIb(),e,d);b=null;if(c===null){b=aIb(new cFb(),a);}else{b=bIb(new cFb(),a,c,d);}BJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);bK(e.b,0);or(e,e.b);return e;}
+function vIb(b,a){b.a=a;}
+function lIb(){}
+_=lIb.prototype=new mr();_.tN=ogc+'PackageManagerView';_.tI=426;_.b=null;function nIb(b,a,c){b.a=a;b.b=c;return b;}
+function pIb(b,a){d5b(b.a.a,b.a.b,a,b.b!==null);}
+function qIb(a){pIb(this,a);}
+function mIb(){}
+_=mIb.prototype=new gU();_.yd=qIb;_.tN=ogc+'PackageManagerView$1';_.tI=427;function oKb(b){var a,c;b.a=tt(new nt());b.c=AJ(new mJ());b.c.De('100%');b.c.se('100%');c=pO(new nO());qO(c,b.a);a=yp(new sp(),'Rebuild snapshot binaries');a.ve('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.z(new xIb());qO(c,a);BJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);jx(b.a.n,0,0,'28%');b.b=nMb();wKb(b);b.a.De('100%');or(b,b.c);bK(b.c,0);return b;}
+function pKb(h,c){var a,b,d,e,f,g;g=rM(new eL());d=pO(new nO());for(a=0;a<c.a;a++){e=c[a].j;b=uKb(h,e,'images/package_snapshot.gif',xJb(new wJb(),h,e));tM(g,b);}qO(d,g);f=mz(new pw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");fC(f,BJb(new AJb(),h));vM(g,new EJb());uO(d,(Fz(),cA));tO(d,(wz(),yz));qO(d,f);CN(d,'snapshot-List');h.a.Be(0,0,d);hx(h.a.n,0,0,(Fz(),cA));}
+function rKb(g,e,f){var a,b,c,d;c=scb(new ncb(),'images/snapshot.png','Copy snapshot '+f);a=bL(new sK());tcb(c,'New label:',a);d=yp(new sp(),'OK');tcb(c,'',d);d.z(hKb(new gKb(),g,e,f,a,c));b=yp(new sp(),'Copy');b.z(zIb(new yIb(),g,c));return b;}
+function sKb(d,c,b){var a;a=yp(new sp(),'Delete');a.z(bJb(new aJb(),d,c,b));return a;}
+function tKb(d,b,c,e){var a;a=yp(new sp(),'Open');a.z(DIb(new CIb(),d,b,c,e));return a;}
+function uKb(e,d,b,a){var c;c=wL(new uL());EL(c,'<img src="'+b+'">'+d+'<\/a>');eM(c,a);return c;}
+function vKb(g,e,f,h){var a,b,c,d,i;i=tt(new nt());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=hA(new fA());iA(c,mz(new pw(),d));a=Dcb(new Ccb(),'images/close.gif');a.ve('Close this view');nB(a,jJb(new iJb(),g));iA(c,a);i.Be(0,0,c);b=wt(i);gx(b,0,0,'editable-Surface');i.Be(1,0,tIb(new lIb(),h,f));i.De('100%');i.se('100%');if(g.c.a.f.c>1){aK(g.c,1);}BJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);bK(g.c,1);}
+function wKb(a){xdb('Loading package list...');dUb(a.b,tJb(new sJb(),a));}
+function xKb(h,d,b){var a,c,e,f,g;e=dcb(new acb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=tt(new nt());az(g,0,1,'Name');az(g,0,2,'Comment');tx(g.p,0,xfc);for(a=0;a<b.a;a++){f=a+1;c=eC(new cC(),b[a].b);g.Be(f,0,mB(new wA(),'images/package_snapshot_item.gif'));g.Be(f,1,c);g.Be(f,2,eC(new cC(),b[a].a));g.Be(f,3,tKb(h,d,iC(c),b[a].c));g.Be(f,4,rKb(h,d,iC(c)));g.Be(f,5,sKb(h,iC(c),d));if(a%2==0){tx(g.p,a+1,vfc);}}e.De('100%');hcb(e,g);g.De('100%');CN(e,wfc);h.a.Be(0,1,e);hx(wt(h.a),0,1,(Fz(),cA));}
+function yKb(b,a){xdb('Loading snapshots...');eUb(b.b,a,dKb(new cKb(),b,a));}
+function wIb(){}
+_=wIb.prototype=new mr();_.tN=ogc+'PackageSnapshotView';_.tI=428;_.a=null;_.b=null;_.c=null;function nJb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){xdb('Rebuilding snapshots. Please wait, this may take some time...');pUb(nMb(),new oJb());}}
+function xIb(){}
+_=xIb.prototype=new gU();_.Bc=nJb;_.tN=ogc+'PackageSnapshotView$1';_.tI=429;function zIb(b,a,c){b.a=c;return b;}
+function BIb(a){tE(this.a,dc((uab()-oE(this.a))/2),100);wE(this.a);}
+function yIb(){}
+_=yIb.prototype=new gU();_.Bc=BIb;_.tN=ogc+'PackageSnapshotView$10';_.tI=430;function DIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
+function FIb(a){vKb(this.a,this.b,this.c,this.d);}
+function CIb(){}
+_=CIb.prototype=new gU();_.Bc=FIb;_.tN=ogc+'PackageSnapshotView$11';_.tI=431;function bJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function dJb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{ATb(this.a.b,this.b,this.c,true,null,fJb(new eJb(),this,this.b));}}
+function aJb(){}
+_=aJb.prototype=new gU();_.Bc=dJb;_.tN=ogc+'PackageSnapshotView$12';_.tI=432;function fJb(b,a,c){b.a=a;b.b=c;return b;}
+function hJb(a){yKb(this.a.a,this.b);}
+function eJb(){}
+_=eJb.prototype=new wcb();_.rd=hJb;_.tN=ogc+'PackageSnapshotView$13';_.tI=433;function jJb(b,a){b.a=a;return b;}
+function lJb(a){aK(this.a.c,1);bK(this.a.c,0);}
+function iJb(){}
+_=iJb.prototype=new gU();_.Bc=lJb;_.tN=ogc+'PackageSnapshotView$14';_.tI=434;function qJb(b,a){tdb();zh('Snapshots were rebuilt successfully.');}
+function rJb(a){qJb(this,a);}
+function oJb(){}
+_=oJb.prototype=new wcb();_.rd=rJb;_.tN=ogc+'PackageSnapshotView$2';_.tI=435;function tJb(b,a){b.a=a;return b;}
+function vJb(a){var b;b=Fb(a,71);pKb(this.a,b);tdb();}
+function sJb(){}
+_=sJb.prototype=new wcb();_.rd=vJb;_.tN=ogc+'PackageSnapshotView$3';_.tI=436;function xJb(b,a,c){b.a=a;b.b=c;return b;}
+function zJb(){yKb(this.a,this.b);}
+function wJb(){}
+_=wJb.prototype=new gU();_.rb=zJb;_.tN=ogc+'PackageSnapshotView$4';_.tI=437;function BJb(b,a){b.a=a;return b;}
+function DJb(a){wKb(this.a);}
+function AJb(){}
+_=AJb.prototype=new gU();_.Bc=DJb;_.tN=ogc+'PackageSnapshotView$5';_.tI=438;function aKb(a){fg(Fb(a.k,4));}
+function bKb(a){}
+function EJb(){}
+_=EJb.prototype=new gU();_.td=aKb;_.ud=bKb;_.tN=ogc+'PackageSnapshotView$6';_.tI=439;function dKb(b,a,c){b.a=a;b.b=c;return b;}
+function fKb(a){var b;b=Fb(a,86);xKb(this.a,this.b,b);tdb();}
+function cKb(){}
+_=cKb.prototype=new wcb();_.rd=fKb;_.tN=ogc+'PackageSnapshotView$7';_.tI=440;function hKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
+function jKb(a){ATb(this.a.b,this.d,this.e,false,zK(this.b),lKb(new kKb(),this,this.d,this.c));}
+function gKb(){}
+_=gKb.prototype=new gU();_.Bc=jKb;_.tN=ogc+'PackageSnapshotView$8';_.tI=441;function lKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function nKb(a){yKb(this.a.a,this.c);this.b.nc();}
+function kKb(){}
+_=kKb.prototype=new wcb();_.rd=nKb;_.tN=ogc+'PackageSnapshotView$9';_.tI=442;function bLb(){bLb=e3;gLb=aLb(new zKb());}
+function FKb(a){a.a=l1(new p0());}
+function aLb(a){bLb();FKb(a);return a;}
+function cLb(c,b,a){if(!o1(c.a,b)){eLb(c,b,a);}else{w4b(a);}}
+function dLb(c,b){var a;a=Fb(r1(c.a,b),91);if(a===null){ybb('Unable to get content assistance for this rule.');return null;}return a;}
+function eLb(c,b,a){zV(),CV;mUb(nMb(),b,BKb(new AKb(),c,b,a));}
+function fLb(c,b,a){if(o1(c.a,b)){t1(c.a,b);eLb(c,b,a);}else{a.rb();}}
+function zKb(){}
+_=zKb.prototype=new gU();_.tN=ogc+'SuggestionCompletionCache';_.tI=443;var gLb;function BKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function DKb(c,a){var b;b=Fb(a,91);s1(c.a.a,c.c,b);c.b.rb();}
+function EKb(a){DKb(this,a);}
+function AKb(){}
+_=AKb.prototype=new wcb();_.rd=EKb;_.tN=ogc+'SuggestionCompletionCache$1';_.tI=444;function nLb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
+function hLb(){}
+_=hLb.prototype=new gU();_.tS=nLb;_.tN=pgc+'BuilderResult';_.tI=445;_.a=null;_.b=null;_.c=null;_.d=null;function lLb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();a.d=b.ae();}
+function mLb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);b.jf(a.d);}
+function oLb(){}
+_=oLb.prototype=new nl();_.tN=pgc+'DetailedSerializableException';_.tI=446;_.a=null;function sLb(b,a){vLb(a,b.ae());rl(b,a);}
+function tLb(a){return a.a;}
+function uLb(b,a){b.jf(tLb(a));tl(b,a);}
+function vLb(a,b){a.a=b;}
+function xLb(a){a.a=yb('[Ljava.lang.String;',[609],[1],[0],null);}
+function yLb(a){xLb(a);return a;}
+function zLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(FU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[609],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function BLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[609],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function wLb(){}
+_=wLb.prototype=new gU();_.tN=pgc+'MetaData';_.tI=447;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function ELb(b,a){a.a=Fb(b.Fd(),63);a.b=b.ae();a.c=b.ae();a.d=Fb(b.Fd(),59);a.e=b.ae();a.f=Fb(b.Fd(),59);a.g=Fb(b.Fd(),59);a.h=b.ae();a.i=b.ae();a.j=b.ae();a.k=b.ae();a.l=b.ae();a.m=Fb(b.Fd(),59);a.n=b.ae();a.o=b.ae();a.p=b.ae();a.q=b.ae();a.r=b.ae();a.s=b.ae();a.t=b.ae();a.u=b.ae();a.v=b.Ed();}
+function FLb(b,a){b.hf(a.a);b.jf(a.b);b.jf(a.c);b.hf(a.d);b.jf(a.e);b.hf(a.f);b.hf(a.g);b.jf(a.h);b.jf(a.i);b.jf(a.j);b.jf(a.k);b.jf(a.l);b.hf(a.m);b.jf(a.n);b.jf(a.o);b.jf(a.p);b.jf(a.q);b.jf(a.r);b.jf(a.s);b.jf(a.t);b.jf(a.u);b.gf(a.v);}
+function aMb(){}
+_=aMb.prototype=new gU();_.tN=pgc+'PackageConfigData';_.tI=448;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function eMb(b,a){a.a=b.Bd();a.b=b.ae();a.c=Fb(b.Fd(),59);a.d=b.ae();a.e=b.ae();a.f=b.ae();a.g=b.Bd();a.h=b.ae();a.i=Fb(b.Fd(),59);a.j=b.ae();a.k=b.ae();a.l=b.ae();a.m=b.ae();}
+function fMb(b,a){b.df(a.a);b.jf(a.b);b.hf(a.c);b.jf(a.d);b.jf(a.e);b.jf(a.f);b.df(a.g);b.jf(a.h);b.hf(a.i);b.jf(a.j);b.jf(a.k);b.jf(a.l);b.jf(a.m);}
+function lMb(){var a,b,c;c=kSb(new qMb());a=c;b=v()+'jbrmsService';wUb(a,b);return c;}
+function mMb(){var a,b,c;c=yXb(new nXb());a=c;b=v()+'jbrmsService';EXb(a,b);return c;}
+function nMb(){if(kMb===null){oMb();}return kMb;}
+function oMb(){if(jMb)kMb=null;else kMb=lMb();}
+function pMb(d,b,a){var c;c=mMb();DXb(c,d,b,a);}
+var jMb=false,kMb=null;function yTb(){yTb=e3;xUb=zUb(new yUb());}
+function kSb(a){yTb();return a;}
+function lSb(b,a,c,d){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'archiveAsset');tn(a,2);vn(a,'java.lang.String');vn(a,'Z');vn(a,c);sn(a,d);}
+function nSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildAsset');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
+function mSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildAssetSource');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
+function pSb(d,c,a,b){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'buildPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,a);vn(c,b);}
+function oSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildPackageSource');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function qSb(d,c,e,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'changeAssetPackage');tn(c,3);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,e);vn(c,b);vn(c,a);}
+function rSb(c,b,d,a,e){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'changeState');tn(b,3);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,'Z');vn(b,d);vn(b,a);sn(b,e);}
+function sSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'checkinVersion');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
+function tSb(e,d,a,c,b){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'copyAsset');tn(d,3);vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,a);vn(d,c);vn(d,b);}
+function uSb(f,e,c,d,a,b){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'copyOrRemoveSnapshot');tn(e,4);vn(e,'java.lang.String');vn(e,'java.lang.String');vn(e,'Z');vn(e,'java.lang.String');vn(e,c);vn(e,d);sn(e,a);vn(e,b);}
+function vSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'copyPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
+function wSb(e,d,c,b,a){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'createCategory');tn(d,3);vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,c);vn(d,b);vn(d,a);}
+function xSb(g,f,e,a,c,d,b){if(g.a===null)throw Cl(new Bl());zo(f);vn(f,'org.drools.brms.client.rpc.RepositoryService');vn(f,'createNewRule');tn(f,5);vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,e);vn(f,a);vn(f,c);vn(f,d);vn(f,b);}
+function zSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'createPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
+function ySb(f,e,b,d,c,a){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'createPackageSnapshot');tn(e,4);vn(e,'java.lang.String');vn(e,'java.lang.String');vn(e,'Z');vn(e,'java.lang.String');vn(e,b);vn(e,d);sn(e,c);vn(e,a);}
+function ASb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'createState');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function BSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'deleteUncheckedRule');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
+function CSb(f,e,c,a,b,d){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'listAssets');tn(e,4);vn(e,'java.lang.String');vn(e,'[Ljava.lang.String;');vn(e,'I');vn(e,'I');vn(e,c);un(e,a);tn(e,b);tn(e,d);}
+function DSb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'listPackages');tn(a,0);}
+function ESb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'listSnapshots');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function FSb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'listStates');tn(a,0);}
+function aTb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadArchivedAssets');tn(a,0);}
+function bTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadAssetHistory');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
+function cTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadChildCategories');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function dTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadPackageConfig');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
+function eTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadRuleAsset');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function fTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadRuleListForCategories');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function gTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadSuggestionCompletionEngine');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function hTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadTableConfig');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function iTb(e,d,c,a,b){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'quickFindAsset');tn(d,3);vn(d,'java.lang.String');vn(d,'I');vn(d,'Z');vn(d,c);tn(d,a);sn(d,b);}
+function jTb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'rebuildSnapshots');tn(a,0);}
+function kTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'removeAsset');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
+function lTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'removeCategory');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
+function mTb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'renameAsset');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
+function nTb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'renamePackage');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
+function oTb(d,c,e,a,b){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'restoreVersion');tn(c,3);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,e);vn(c,a);vn(c,b);}
+function pTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'savePackage');tn(b,1);vn(b,'org.drools.brms.client.rpc.PackageConfigData');un(b,a);}
+function qTb(h,i,j,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=FNb(new rMb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=wPb(new dOb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=nRb(new APb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uTb(j,f,g,c){var a,d,e,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=sRb(new rRb(),j,h,c);if(!wg(j.a,Co(i),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tTb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=xRb(new wRb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vTb(j,k,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=CRb(new BRb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wTb(i,j,f,k,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=bSb(new aSb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function xTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=gSb(new fSb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function zTb(k,c,h,g,d){var a,e,f,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=tMb(new sMb(),k,i,d);if(!wg(k.a,Co(j),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ATb(l,h,i,d,g,c){var a,e,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=yMb(new xMb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function BTb(j,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=DMb(new CMb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CTb(k,h,g,d,c){var a,e,f,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=cNb(new bNb(),k,i,c);if(!wg(k.a,Co(j),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=bo(new ao(),xUb);l=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}g=hNb(new gNb(),m,k,c);if(!wg(m.a,Co(l),g))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FTb(j,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=mNb(new lNb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ETb(l,g,i,h,d,c){var a,e,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=rNb(new qNb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=wNb(new vNb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bUb(j,g,f,c){var a,d,e,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=BNb(new ANb(),j,h,c);if(!wg(j.a,Co(i),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cUb(l,h,e,g,i,c){var a,d,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}f=fOb(new eOb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=kOb(new jOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=pOb(new oOb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=uOb(new tOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=zOb(new yOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=EOb(new DOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function iUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=dPb(new cPb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function jUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=iPb(new hPb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function kUb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eTb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=nPb(new mPb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=sPb(new rPb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=CPb(new BPb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function nUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=bQb(new aQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oUb(k,h,f,g,c){var a,d,e,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iTb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=gQb(new fQb(),k,i,c);if(!wg(k.a,Co(j),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=lQb(new kQb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=qQb(new pQb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=vQb(new uQb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sUb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=AQb(new zQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tUb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=FQb(new EQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uUb(j,k,c,e,d){var a,f,g,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oTb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;ycb(d,f);return;}else throw a;}g=eRb(new dRb(),j,h,d);if(!wg(j.a,Co(i),g))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=jRb(new iRb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wUb(b,a){b.a=a;}
+function qMb(){}
+_=qMb.prototype=new gU();_.tN=pgc+'RepositoryService_Proxy';_.tI=449;_.a=null;var xUb;function FNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function bOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g7(g.a,f);else ycb(g.a,c);}
+function cOb(a){var b;b=x;bOb(this,a);}
+function rMb(){}
+_=rMb.prototype=new gU();_.Cc=cOb;_.tN=pgc+'RepositoryService_Proxy$1';_.tI=450;function tMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)E0b(g.a,f);else ycb(g.a,c);}
+function wMb(a){var b;b=x;vMb(this,a);}
+function sMb(){}
+_=sMb.prototype=new gU();_.Cc=wMb;_.tN=pgc+'RepositoryService_Proxy$10';_.tI=451;function yMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function AMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function BMb(a){var b;b=x;AMb(this,a);}
+function xMb(){}
+_=xMb.prototype=new gU();_.Cc=BMb;_.tN=pgc+'RepositoryService_Proxy$11';_.tI=452;function DMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)aCb(g.a,f);else ycb(g.a,c);}
+function aNb(a){var b;b=x;FMb(this,a);}
+function CMb(){}
+_=CMb.prototype=new gU();_.Cc=aNb;_.tN=pgc+'RepositoryService_Proxy$12';_.tI=453;function cNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function eNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)l$(g.a,f);else ycb(g.a,c);}
+function fNb(a){var b;b=x;eNb(this,a);}
+function bNb(){}
+_=bNb.prototype=new gU();_.Cc=fNb;_.tN=pgc+'RepositoryService_Proxy$13';_.tI=454;function hNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t7b(g.a,f);else ycb(g.a,c);}
+function kNb(a){var b;b=x;jNb(this,a);}
+function gNb(){}
+_=gNb.prototype=new gU();_.Cc=kNb;_.tN=pgc+'RepositoryService_Proxy$14';_.tI=455;function mNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)ezb(g.a,f);else ycb(g.a,c);}
+function pNb(a){var b;b=x;oNb(this,a);}
+function lNb(){}
+_=lNb.prototype=new gU();_.Cc=pNb;_.tN=pgc+'RepositoryService_Proxy$15';_.tI=456;function rNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function tNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)fAb(g.a,f);else ycb(g.a,c);}
+function uNb(a){var b;b=x;tNb(this,a);}
+function qNb(){}
+_=qNb.prototype=new gU();_.Cc=uNb;_.tN=pgc+'RepositoryService_Proxy$16';_.tI=457;function wNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)y9(g.a,f);else ycb(g.a,c);}
+function zNb(a){var b;b=x;yNb(this,a);}
+function vNb(){}
+_=vNb.prototype=new gU();_.Cc=zNb;_.tN=pgc+'RepositoryService_Proxy$17';_.tI=458;function BNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u$b(g.a,f);else ycb(g.a,c);}
+function ENb(a){var b;b=x;DNb(this,a);}
+function ANb(){}
+_=ANb.prototype=new gU();_.Cc=ENb;_.tN=pgc+'RepositoryService_Proxy$18';_.tI=459;function wPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x8b(g.a,f);else ycb(g.a,c);}
+function zPb(a){var b;b=x;yPb(this,a);}
+function dOb(){}
+_=dOb.prototype=new gU();_.Cc=zPb;_.tN=pgc+'RepositoryService_Proxy$2';_.tI=460;function fOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)CFb(g.a,f);else ycb(g.a,c);}
+function iOb(a){var b;b=x;hOb(this,a);}
+function eOb(){}
+_=eOb.prototype=new gU();_.Cc=iOb;_.tN=pgc+'RepositoryService_Proxy$20';_.tI=461;function kOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function nOb(a){var b;b=x;mOb(this,a);}
+function jOb(){}
+_=jOb.prototype=new gU();_.Cc=nOb;_.tN=pgc+'RepositoryService_Proxy$21';_.tI=462;function pOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function sOb(a){var b;b=x;rOb(this,a);}
+function oOb(){}
+_=oOb.prototype=new gU();_.Cc=sOb;_.tN=pgc+'RepositoryService_Proxy$22';_.tI=463;function uOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function xOb(a){var b;b=x;wOb(this,a);}
+function tOb(){}
+_=tOb.prototype=new gU();_.Cc=xOb;_.tN=pgc+'RepositoryService_Proxy$23';_.tI=464;function zOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function BOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u7(g.a,f);else ycb(g.a,c);}
+function COb(a){var b;b=x;BOb(this,a);}
+function yOb(){}
+_=yOb.prototype=new gU();_.Cc=COb;_.tN=pgc+'RepositoryService_Proxy$24';_.tI=465;function EOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)v_b(g.a,f);else ycb(g.a,c);}
+function bPb(a){var b;b=x;aPb(this,a);}
+function DOb(){}
+_=DOb.prototype=new gU();_.Cc=bPb;_.tN=pgc+'RepositoryService_Proxy$25';_.tI=466;function dPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function gPb(a){var b;b=x;fPb(this,a);}
+function cPb(){}
+_=cPb.prototype=new gU();_.Cc=gPb;_.tN=pgc+'RepositoryService_Proxy$26';_.tI=467;function iPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function kPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function lPb(a){var b;b=x;kPb(this,a);}
+function hPb(){}
+_=hPb.prototype=new gU();_.Cc=lPb;_.tN=pgc+'RepositoryService_Proxy$27';_.tI=468;function nPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function qPb(a){var b;b=x;pPb(this,a);}
+function mPb(){}
+_=mPb.prototype=new gU();_.Cc=qPb;_.tN=pgc+'RepositoryService_Proxy$28';_.tI=469;function sPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)acc(g.a,f);else ycb(g.a,c);}
+function vPb(a){var b;b=x;uPb(this,a);}
+function rPb(){}
+_=rPb.prototype=new gU();_.Cc=vPb;_.tN=pgc+'RepositoryService_Proxy$29';_.tI=470;function nRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)C8b(g.a,f);else ycb(g.a,c);}
+function qRb(a){var b;b=x;pRb(this,a);}
+function APb(){}
+_=APb.prototype=new gU();_.Cc=qRb;_.tN=pgc+'RepositoryService_Proxy$3';_.tI=471;function CPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function EPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)DKb(g.a,f);else ycb(g.a,c);}
+function FPb(a){var b;b=x;EPb(this,a);}
+function BPb(){}
+_=BPb.prototype=new gU();_.Cc=FPb;_.tN=pgc+'RepositoryService_Proxy$30';_.tI=472;function bQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wcc(g.a,f);else ycb(g.a,c);}
+function eQb(a){var b;b=x;dQb(this,a);}
+function aQb(){}
+_=aQb.prototype=new gU();_.Cc=eQb;_.tN=pgc+'RepositoryService_Proxy$31';_.tI=473;function gQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
+function jQb(a){var b;b=x;iQb(this,a);}
+function fQb(){}
+_=fQb.prototype=new gU();_.Cc=jQb;_.tN=pgc+'RepositoryService_Proxy$32';_.tI=474;function lQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)qJb(g.a,f);else ycb(g.a,c);}
+function oQb(a){var b;b=x;nQb(this,a);}
+function kQb(){}
+_=kQb.prototype=new gU();_.Cc=oQb;_.tN=pgc+'RepositoryService_Proxy$33';_.tI=475;function qQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)p7(g.a,f);else ycb(g.a,c);}
+function tQb(a){var b;b=x;sQb(this,a);}
+function pQb(){}
+_=pQb.prototype=new gU();_.Cc=tQb;_.tN=pgc+'RepositoryService_Proxy$34';_.tI=476;function vQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g9(g.a,f);else ycb(g.a,c);}
+function yQb(a){var b;b=x;xQb(this,a);}
+function uQb(){}
+_=uQb.prototype=new gU();_.Cc=yQb;_.tN=pgc+'RepositoryService_Proxy$35';_.tI=477;function AQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function CQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u6b(g.a,f);else ycb(g.a,c);}
+function DQb(a){var b;b=x;CQb(this,a);}
+function zQb(){}
+_=zQb.prototype=new gU();_.Cc=DQb;_.tN=pgc+'RepositoryService_Proxy$36';_.tI=478;function FQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function bRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)sEb(g.a,f);else ycb(g.a,c);}
+function cRb(a){var b;b=x;bRb(this,a);}
+function EQb(){}
+_=EQb.prototype=new gU();_.Cc=cRb;_.tN=pgc+'RepositoryService_Proxy$37';_.tI=479;function eRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Eac(g.a,f);else ycb(g.a,c);}
+function hRb(a){var b;b=x;gRb(this,a);}
+function dRb(){}
+_=dRb.prototype=new gU();_.Cc=hRb;_.tN=pgc+'RepositoryService_Proxy$38';_.tI=480;function jRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function lRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)fCb(g.a,f);else ycb(g.a,c);}
+function mRb(a){var b;b=x;lRb(this,a);}
+function iRb(){}
+_=iRb.prototype=new gU();_.Cc=mRb;_.tN=pgc+'RepositoryService_Proxy$39';_.tI=481;function sRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eBb(g.a,f);else ycb(g.a,c);}
+function vRb(a){var b;b=x;uRb(this,a);}
+function rRb(){}
+_=rRb.prototype=new gU();_.Cc=vRb;_.tN=pgc+'RepositoryService_Proxy$4';_.tI=482;function xRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vAb(g.a,f);else ycb(g.a,c);}
+function ARb(a){var b;b=x;zRb(this,a);}
+function wRb(){}
+_=wRb.prototype=new gU();_.Cc=ARb;_.tN=pgc+'RepositoryService_Proxy$5';_.tI=483;function CRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function ERb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)m5b(g.a,f);else ycb(g.a,c);}
+function FRb(a){var b;b=x;ERb(this,a);}
+function BRb(){}
+_=BRb.prototype=new gU();_.Cc=FRb;_.tN=pgc+'RepositoryService_Proxy$6';_.tI=484;function bSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dSb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)yeb(g.a,f);else ycb(g.a,c);}
+function eSb(a){var b;b=x;dSb(this,a);}
+function aSb(){}
+_=aSb.prototype=new gU();_.Cc=eSb;_.tN=pgc+'RepositoryService_Proxy$7';_.tI=485;function gSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iSb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)z$b(g.a,f);else ycb(g.a,c);}
+function jSb(a){var b;b=x;iSb(this,a);}
+function fSb(){}
+_=fSb.prototype=new gU();_.Cc=jSb;_.tN=pgc+'RepositoryService_Proxy$8';_.tI=486;function AUb(){AUb=e3;CWb=BUb();FWb=CUb();}
+function zUb(a){AUb();return a;}
+function BUb(){AUb();return {'[B/2233087514':[function(a){return DUb(a);},function(a,b){pm(a,b);},function(a,b){qm(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return EUb(a);},function(a,b){gl(a,b);},function(a,b){hl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return FUb(a);},function(a,b){rl(a,b);},function(a,b){tl(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return eVb(a);},function(a,b){vD(a,b);},function(a,b){yD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return fVb(a);},function(a,b){nI(a,b);},function(a,b){qI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return gVb(a);},function(a,b){vI(a,b);},function(a,b){xI(a,b);}],'java.lang.Boolean/476441737':[function(a){return cm(a);},function(a,b){bm(a,b);},function(a,b){dm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return lm(a);},function(a,b){km(a,b);},function(a,b){mm(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return hVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return aVb(a);},function(a,b){tm(a,b);},function(a,b){um(a,b);}],'java.util.Date/1659716317':[function(a){return ym(a);},function(a,b){xm(a,b);},function(a,b){zm(a,b);}],'java.util.HashMap/962170901':[function(a){return bVb(a);},function(a,b){Cm(a,b);},function(a,b){Dm(a,b);}],'java.util.HashSet/1594477813':[function(a){return cVb(a);},function(a,b){an(a,b);},function(a,b){bn(a,b);}],'java.util.Vector/3125574444':[function(a){return dVb(a);},function(a,b){en(a,b);},function(a,b){fn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return iVb(a);},function(a,b){ygb(a,b);},function(a,b){zgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return jVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return lVb(a);},function(a,b){rhb(a,b);},function(a,b){shb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return kVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return nVb(a);},function(a,b){zhb(a,b);},function(a,b){Ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return mVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return pVb(a);},function(a,b){bib(a,b);},function(a,b){cib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return oVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn rVb(a);},function(a,b){iib(a,b);},function(a,b){jib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return qVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return tVb(a);},function(a,b){qib(a,b);},function(a,b){rib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return sVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return vVb(a);},function(a,b){yib(a,b);},function(a,b){zib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return uVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return xVb(a);},function(a,b){ajb(a,b);},function(a,b){bjb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn wVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return zVb(a);},function(a,b){ijb(a,b);},function(a,b){jjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return yVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return BVb(a);},function(a,b){ojb(a,b);},function(a,b){pjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return AVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return DVb(a);},function(a,b){wjb(a,b);},function(a,b){xjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return CVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return FVb(a);},function(a,b){ckb(a,b);},function(a,b){dkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return EVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return aWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return bWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return cWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return dWb(a);},function(a,b){lkb(a,b);},function(a,b){mkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return fWb(a);},function(a,b){tkb(a,b);},function(a,b!
 ){ukb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return eWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return gWb(a);},function(a,b){ilb(a,b);},function(a,b){jlb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return iWb(a);},function(a,b){rlb(a,b);},function(a,b){slb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return hWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return kWb(a);},function(a,b){lLb(a,b);},function(a,b){mLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return jWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return lWb(a);},function(a,b){sLb(a,b);},function(a,b){uLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return mWb(a);},function(a,b){ELb(a,b);},function(a,b){FLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return oWb(a);},function(a,b){eMb(a,b);},function(a,b){fMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return nWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return pWb(a);},function(a,b){eXb(a,b);},function(a,b){fXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return qWb(a);},function(a,b){kXb(a,b);},function(a,b){lXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return rWb(a);},function(a,b){rYb(a,b);},function(a,b){sYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return tWb(a);},function(a,b){xYb(a,b);},function(a,b){yYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn sWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return uWb(a);},function(a,b){DYb(a,b);},function(a,b){EYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return vWb(a);},function(a,b){dZb(a,b);},function(a,b){eZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return xWb(a);},function(a,b){jZb(a,b);},function(a,b){kZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return wWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return yWb(a);},function(a,b){qZb(a,b);},function(a,b){rZb(a,b);}]};}
+function CUb(){AUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
+function DUb(b){AUb();var a;a=b.Dd();return yb('[B',[615],[(-1)],[a],0);}
+function EUb(a){AUb();return cl(new bl());}
+function FUb(a){AUb();return new nl();}
+function aVb(a){AUb();return oY(new mY());}
+function bVb(a){AUb();return l1(new p0());}
+function cVb(a){AUb();return f2(new e2());}
+function dVb(a){AUb();return y2(new x2());}
+function eVb(a){AUb();return new rD();}
+function fVb(a){AUb();return new gI();}
+function gVb(a){AUb();return new iI();}
+function hVb(b){AUb();var a;a=b.Dd();return yb('[Ljava.lang.String;',[609],[1],[a],null);}
+function iVb(a){AUb();return jgb(new hgb());}
+function jVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[624],[22],[a],null);}
+function kVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[625],[23],[a],null);}
+function lVb(a){AUb();return new mhb();}
+function mVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[626],[24],[a],null);}
+function nVb(a){AUb();return uhb(new thb());}
+function oVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[627],[25],[a],null);}
+function pVb(a){AUb();return Chb(new Bhb());}
+function qVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[628],[26],[a],null);}
+function rVb(a){AUb();return new dib();}
+function sVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[629],[27],[a],null);}
+function tVb(a){AUb();return lib(new kib());}
+function uVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[630],[28],[a],null);}
+function vVb(a){AUb();return tib(new sib());}
+function wVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[631],[29],[a],null);}
+function xVb(a){AUb();return new Aib();}
+function yVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[632],[30],[a],null);}
+function zVb(a){AUb();return new cjb();}
+function AVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[617],[15],[a],null);}
+function BVb(a){AUb();return new kjb();}
+function CVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[10],[a],null);}
+function DVb(a){AUb();return new qjb();}
+function EVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[633],[31],[a],null);}
+function FVb(a){AUb();return new zjb();}
+function aWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[623],[21],[a],null);}
+function bWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[622],[20],[a],null);}
+function cWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[621],[19],[a],null);}
+function dWb(a){AUb();return new hkb();}
+function eWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[620],[18],[a],null);}
+function fWb(a){AUb();return new okb();}
+function gWb(a){AUb();return ykb(new wkb());}
+function hWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[634],[32],[a],null);}
+function iWb(a){AUb();return new klb();}
+function jWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[613],[12],[a],null);}
+function kWb(a){AUb();return new hLb();}
+function lWb(a){AUb();return new oLb();}
+function mWb(a){AUb();return yLb(new wLb());}
+function nWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[618],[16],[a],null);}
+function oWb(a){AUb();return new aMb();}
+function pWb(a){AUb();return new aXb();}
+function qWb(a){AUb();return new gXb();}
+function rWb(a){AUb();return new nYb();}
+function sWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[619],[17],[a],null);}
+function tWb(a){AUb();return new tYb();}
+function uWb(a){AUb();return new zYb();}
+function vWb(a){AUb();return new FYb();}
+function wWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[616],[14],[a],null);}
+function xWb(a){AUb();return new fZb();}
+function yWb(a){AUb();return new mZb();}
+function zWb(c,a,d){var b=CWb[d];if(!b){DWb(d);}b[1](c,a);}
+function AWb(b){var a=FWb[b];return a==null?b:a;}
+function BWb(b,c){var a=CWb[c];if(!a){DWb(c);}return a[0](b);}
+function DWb(a){AUb();throw xl(new wl(),a);}
+function EWb(c,a,d){var b=CWb[d];if(!b){DWb(d);}b[2](c,a);}
+function yUb(){}
+_=yUb.prototype=new gU();_.kb=zWb;_.dc=AWb;_.pc=BWb;_.ke=EWb;_.tN=pgc+'RepositoryService_TypeSerializer';_.tI=487;var CWb,FWb;function aXb(){}
+_=aXb.prototype=new gU();_.tN=pgc+'RuleAsset';_.tI=488;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function eXb(b,a){a.a=b.Bd();a.b=Fb(b.Fd(),39);a.c=b.Bd();a.d=Fb(b.Fd(),93);a.e=b.ae();}
+function fXb(b,a){b.df(a.a);b.hf(a.b);b.df(a.c);b.hf(a.d);b.jf(a.e);}
+function gXb(){}
+_=gXb.prototype=new gU();_.tN=pgc+'RuleContentText';_.tI=489;_.a=null;function kXb(b,a){a.a=b.ae();}
+function lXb(b,a){b.jf(a.a);}
+function BXb(){BXb=e3;FXb=bYb(new aYb());}
+function yXb(a){BXb();return a;}
+function zXb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.SecurityService');vn(a,'getCurrentUser');tn(a,0);}
+function AXb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.SecurityService');vn(b,'login');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
+function CXb(h,c){var a,d,e,f,g;f=bo(new ao(),FXb);g=vo(new to(),FXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{zXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Fc(d);return;}else throw a;}e=pXb(new oXb(),h,f,c);if(!wg(h.a,Co(g),e))c.Fc(jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DXb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),FXb);h=vo(new to(),FXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{AXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=uXb(new tXb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function EXb(b,a){b.a=a;}
+function nXb(){}
+_=nXb.prototype=new gU();_.tN=pgc+'SecurityService_Proxy';_.tI=490;_.a=null;var FXb;function pXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rXb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else g.a.Fc(c);}
+function sXb(a){var b;b=x;rXb(this,a);}
+function oXb(){}
+_=oXb.prototype=new gU();_.Cc=sXb;_.tN=pgc+'SecurityService_Proxy$1';_.tI=491;function uXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wXb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=kS(new jS(),go(g.b));}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)F5(g.a,f);else ycb(g.a,c);}
+function xXb(a){var b;b=x;wXb(this,a);}
+function tXb(){}
+_=tXb.prototype=new gU();_.Cc=xXb;_.tN=pgc+'SecurityService_Proxy$2';_.tI=492;function cYb(){cYb=e3;jYb=dYb();mYb=eYb();}
+function bYb(a){cYb();return a;}
+function dYb(){cYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return fYb(a);},function(a,b){gl(a,b);},function(a,b){hl(a,b);}],'java.lang.String/2004016611':[function(a){return lm(a);},function(a,b){km(a,b);},function(a,b){mm(a,b);}]};}
+function eYb(){cYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
+function fYb(a){cYb();return cl(new bl());}
+function gYb(c,a,d){var b=jYb[d];if(!b){kYb(d);}b[1](c,a);}
+function hYb(b){var a=mYb[b];return a==null?b:a;}
+function iYb(b,c){var a=jYb[c];if(!a){kYb(c);}return a[0](b);}
+function kYb(a){cYb();throw xl(new wl(),a);}
+function lYb(c,a,d){var b=jYb[d];if(!b){kYb(d);}b[2](c,a);}
+function aYb(){}
+_=aYb.prototype=new gU();_.kb=gYb;_.dc=hYb;_.pc=iYb;_.ke=lYb;_.tN=pgc+'SecurityService_TypeSerializer';_.tI=493;var jYb,mYb;function nYb(){}
+_=nYb.prototype=new nl();_.tN=pgc+'SessionExpiredException';_.tI=494;function rYb(b,a){rl(b,a);}
+function sYb(b,a){tl(b,a);}
+function tYb(){}
+_=tYb.prototype=new gU();_.tN=pgc+'SnapshotInfo';_.tI=495;_.a=null;_.b=null;_.c=null;function xYb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();}
+function yYb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);}
+function zYb(){}
+_=zYb.prototype=new gU();_.tN=pgc+'TableConfig';_.tI=496;_.a=null;_.b=0;function DYb(b,a){a.a=Fb(b.Fd(),63);a.b=b.Dd();}
+function EYb(b,a){b.hf(a.a);b.ff(a.b);}
+function FYb(){}
+_=FYb.prototype=new gU();_.tN=pgc+'TableDataResult';_.tI=497;_.a=null;function dZb(b,a){a.a=Fb(b.Fd(),94);}
+function eZb(b,a){b.hf(a.a);}
+function lZb(a){return fV(a,'\\,')[0];}
+function fZb(){}
+_=fZb.prototype=new gU();_.tN=pgc+'TableDataRow';_.tI=498;_.a=null;_.b=null;_.c=null;function jZb(b,a){a.a=b.ae();a.b=b.ae();a.c=Fb(b.Fd(),63);}
+function kZb(b,a){b.jf(a.a);b.jf(a.b);b.hf(a.c);}
+function mZb(){}
+_=mZb.prototype=new gU();_.tN=pgc+'ValidatedResponse';_.tI=499;_.a=null;_.b=null;_.c=false;_.d=null;function qZb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.Bd();a.d=Fb(b.Fd(),39);}
+function rZb(b,a){b.jf(a.a);b.jf(a.b);b.df(a.c);b.hf(a.d);}
+function a1b(a){a.e=tt(new nt());}
+function b1b(j,b,c,a,f,d,g){var e,h,i;a1b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=lz(new pw());i=j.f.r;e=wt(j.e);h=hA(new fA());i1b(j,i);iA(h,j.g);if(!g){e1b(j,e,h);}k1b(j,f,e);or(j,j.e);j.De('100%');return j;}
+function d1b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
+function e1b(h,e,g){var a,b,c,d,f;d=Dcb(new Ccb(),'images/edit.gif');d.ve('Change status.');nB(d,CZb(new tZb(),h));iA(g,d);h.e.Be(0,0,g);dx(e,0,0,(wz(),yz),(Fz(),cA));f=yp(new sp(),'Save changes');f.ve('Check in changes.');f.z(a0b(new FZb(),h));iA(g,f);b=yp(new sp(),'Copy');b.z(e0b(new d0b(),h));iA(g,b);a=yp(new sp(),'Archive');a.z(i0b(new h0b(),h));iA(g,a);if(h.f.v==0){c=yp(new sp(),'Delete');c.z(m0b(new l0b(),h));iA(g,c);}}
+function f1b(b,c){var a;a=o2b(new j2b(),tN(c),uN(c),'Check in changes.');r2b(a,vZb(new uZb(),b,a));s2b(a);}
+function g1b(e,f){var a,b,c,d;a=scb(new ncb(),'images/rule_asset.gif','Copy this item');b=bL(new sK());c=aeb(new Bdb());tcb(a,'New name:',b);tcb(a,'New package:',c);d=yp(new sp(),'Create copy');d.z(y0b(new x0b(),e,c,b,a));tcb(a,'',d);tE(a,dc((uab()-oE(a))/2),100);wE(a);}
+function h1b(b,a){b.c=a;}
+function i1b(b,a){pz(b.g,'Status: <b>['+a+']<\/b>');}
+function j1b(b,c){var a;a=Aeb(new eeb(),b.h,false);Deb(a,zZb(new yZb(),b,a));tE(a,tN(c),uN(c));wE(a);}
+function k1b(e,d,b){var a,c,f;f=hA(new fA());c=Dcb(new Ccb(),'images/max_min.gif');nB(c,q0b(new p0b(),e,d));iA(f,c);a=Dcb(new Ccb(),'images/close.gif');a.ve('Close.');nB(a,u0b(new t0b(),e));iA(f,a);e.e.Be(0,1,f);dx(b,0,1,(wz(),zz),(Fz(),cA));}
+function sZb(){}
+_=sZb.prototype=new mr();_.tN=qgc+'ActionToolbar';_.tI=500;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function CZb(b,a){b.a=a;return b;}
+function EZb(a){j1b(this.a,a);}
+function tZb(){}
+_=tZb.prototype=new gU();_.Bc=EZb;_.tN=qgc+'ActionToolbar$1';_.tI=501;function vZb(b,a,c){b.a=a;b.b=c;return b;}
+function xZb(){this.a.f.b=q2b(this.b);w9b(this.a.b);}
+function uZb(){}
+_=uZb.prototype=new gU();_.rb=xZb;_.tN=qgc+'ActionToolbar$10';_.tI=502;function zZb(b,a,c){b.a=a;b.b=c;return b;}
+function BZb(){i1b(this.a,this.b.c);}
+function yZb(){}
+_=yZb.prototype=new gU();_.rb=BZb;_.tN=qgc+'ActionToolbar$11';_.tI=503;function a0b(b,a){b.a=a;return b;}
+function c0b(a){f1b(this.a,a);}
+function FZb(){}
+_=FZb.prototype=new gU();_.Bc=c0b;_.tN=qgc+'ActionToolbar$2';_.tI=504;function e0b(b,a){b.a=a;return b;}
+function g0b(a){g1b(this.a,a);}
+function d0b(){}
+_=d0b.prototype=new gU();_.Bc=g0b;_.tN=qgc+'ActionToolbar$3';_.tI=505;function i0b(b,a){b.a=a;return b;}
+function k0b(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+c0(AZ(new zZ()));B9b(this.a.a);}}
+function h0b(){}
+_=h0b.prototype=new gU();_.Bc=k0b;_.tN=qgc+'ActionToolbar$4';_.tI=506;function m0b(b,a){b.a=a;return b;}
+function o0b(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){f$b(this.a.d);}}
+function l0b(){}
+_=l0b.prototype=new gU();_.Bc=o0b;_.tN=qgc+'ActionToolbar$5';_.tI=507;function q0b(b,a,c){b.a=c;return b;}
+function s0b(a){a$b(this.a);}
+function p0b(){}
+_=p0b.prototype=new gU();_.Bc=s0b;_.tN=qgc+'ActionToolbar$6';_.tI=508;function u0b(b,a){b.a=a;return b;}
+function w0b(a){p$b(this.a.c);}
+function t0b(){}
+_=t0b.prototype=new gU();_.Bc=w0b;_.tN=qgc+'ActionToolbar$7';_.tI=509;function y0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
+function A0b(a){zTb(nMb(),this.a.h,ceb(this.d),zK(this.c),C0b(new B0b(),this,this.c,this.d,this.b));}
+function x0b(){}
+_=x0b.prototype=new gU();_.Bc=A0b;_.tN=qgc+'ActionToolbar$8';_.tI=510;function C0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
+function E0b(b,a){d1b(b.a.a,zK(b.c),ceb(b.d));b.b.nc();}
+function F0b(a){E0b(this,a);}
+function B0b(){}
+_=B0b.prototype=new wcb();_.rd=F0b;_.tN=qgc+'ActionToolbar$9';_.tI=511;function a2b(a){a.b=zab(new xab());}
+function b2b(c,a,b){a2b(c);c.a=a;c.c=tt(new nt());g2b(c,c.c);CN(c.c,'rule-List');Cab(c.b,0,0,c.c);if(!b){e2b(c);}or(c,c.b);return c;}
+function c2b(b,a){zLb(b.a,a);i2b(b);}
+function e2b(c){var a,b;a=pO(new nO());b=Dcb(new Ccb(),'images/new_item.gif');b.ve('Add a new category.');nB(b,v1b(new u1b(),c));qO(a,b);Cab(c.b,0,1,a);}
+function f2b(b){var a;a=E1b(new C1b(),b);tE(a,tN(b),uN(b));wE(a);}
+function g2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;az(d,b,0,e.a.a[b]);a=Dcb(new Ccb(),'images/trash.gif');a.ve('Remove this category');nB(a,z1b(new y1b(),e,c));d.Be(b,1,a);}}
+function h2b(b,a){BLb(b.a,a);sab(b);i2b(b);}
+function i2b(a){a.c=tt(new nt());CN(a.c,'rule-List');Cab(a.b,0,0,a.c);g2b(a,a.c);sab(a);}
+function l1b(){}
+_=l1b.prototype=new qab();_.tN=qgc+'AssetCategoryEditor';_.tI=512;_.a=null;_.c=null;function n1b(b,a){b.a=a;return b;}
+function p1b(a){this.a.b=a;}
+function m1b(){}
+_=m1b.prototype=new gU();_.je=p1b;_.tN=qgc+'AssetCategoryEditor$1';_.tI=513;function r1b(b,a){b.a=a;return b;}
+function t1b(a){if(this.a.b!==null&& !FU('',this.a.b)){c2b(this.a.d,this.a.b);}this.a.nc();}
+function q1b(){}
+_=q1b.prototype=new gU();_.Bc=t1b;_.tN=qgc+'AssetCategoryEditor$2';_.tI=514;function v1b(b,a){b.a=a;return b;}
+function x1b(a){f2b(this.a);}
+function u1b(){}
+_=u1b.prototype=new gU();_.Bc=x1b;_.tN=qgc+'AssetCategoryEditor$3';_.tI=515;function z1b(b,a,c){b.a=a;b.b=c;return b;}
+function B1b(a){h2b(this.a,this.b);}
+function y1b(){}
+_=y1b.prototype=new gU();_.Bc=B1b;_.tN=qgc+'AssetCategoryEditor$4';_.tI=516;function F1b(){F1b=e3;mE();}
+function D1b(a){a.a=yp(new sp(),'OK');}
+function E1b(b,a){var c;F1b();b.d=a;jE(b,true);D1b(b);c=pO(new nO());b.c=e_(new t$(),n1b(new m1b(),b));CN(b,'ks-popups-Popup');qO(c,b.c);qO(c,b.a);eH(b,c);b.a.z(r1b(new q1b(),b));return b;}
+function C1b(){}
+_=C1b.prototype=new hE();_.tN=qgc+'AssetCategoryEditor$CategorySelector';_.tI=517;_.b=null;_.c=null;function o2b(c,a,d,b){c.b=scb(new ncb(),'images/checkin.gif',b);c.a=mK(new lK());c.a.De('100%');c.c=yp(new sp(),'Save');tcb(c.b,'Comment',c.a);tcb(c.b,'',c.c);CN(c.b,'ks-popups-Popup');tE(c.b,a,d);return c;}
+function q2b(a){return zK(a.a);}
+function r2b(b,a){b.c.z(l2b(new k2b(),b,a));}
+function s2b(a){tE(a.b,dc((uab()-oE(a.b))/2),100);wE(a.b);}
+function j2b(){}
+_=j2b.prototype=new gU();_.tN=qgc+'CheckinPopup';_.tI=518;_.a=null;_.b=null;_.c=null;function l2b(b,a,c){b.a=a;b.b=c;return b;}
+function n2b(a){this.b.rb();this.a.b.nc();}
+function k2b(){}
+_=k2b.prototype=new gU();_.Bc=n2b;_.tN=qgc+'CheckinPopup$1';_.tI=519;function j3b(){j3b=e3;mE();}
+function h3b(g,f,e){var a,b,c,d;j3b();jE(g,true);g.d=f;g.b=bL(new sK());g.b.De('100%');b='<enter text to filter list>';DK(g.b,'<enter text to filter list>');ou(g.b,v2b(new u2b(),g));wK(g.b,A2b(new z2b(),g,e));g.b.qe(true);d=pO(new nO());qO(d,g.b);g.c=uC(new mC());eD(g.c,5);l3b(g,g5b(g.d,''));qO(d,g.c);c=yp(new sp(),'ok');c.z(a3b(new F2b(),g,e));a=yp(new sp(),'cancel');a.z(e3b(new d3b(),g));g.a=hA(new fA());iA(g.a,c);iA(g.a,a);qO(d,g.a);eH(g,d);CN(g,'ks-popups-Popup');return g;}
+function i3b(b,a){F3b(a,k3b(b));b.nc();}
+function k3b(a){return DC(a.c,EC(a.c));}
+function l3b(c,a){var b;AC(c.c);for(b=0;b<a.b;b++){xC(c.c,Fb(vY(a,b),10).a);}}
+function t2b(){}
+_=t2b.prototype=new hE();_.tN=qgc+'ChoiceList';_.tI=520;_.a=null;_.b=null;_.c=null;_.d=null;function v2b(b,a){b.a=a;return b;}
+function x2b(a){DK(this.a.b,'');}
+function y2b(a){DK(this.a.b,'<enter text to filter list>');}
+function u2b(){}
+_=u2b.prototype=new gU();_.ad=x2b;_.id=y2b;_.tN=qgc+'ChoiceList$1';_.tI=521;function A2b(b,a,c){b.a=a;b.b=c;return b;}
+function C2b(a,b,c){}
+function D2b(a,b,c){}
+function E2b(a,b,c){if(b==13){i3b(this.a,this.b);}else{l3b(this.a,g5b(this.a.d,zK(this.a.b)));}}
+function z2b(){}
+_=z2b.prototype=new gU();_.ed=C2b;_.fd=D2b;_.gd=E2b;_.tN=qgc+'ChoiceList$2';_.tI=522;function a3b(b,a,c){b.a=a;b.b=c;return b;}
+function c3b(a){i3b(this.a,this.b);}
+function F2b(){}
+_=F2b.prototype=new gU();_.Bc=c3b;_.tN=qgc+'ChoiceList$3';_.tI=523;function e3b(b,a){b.a=a;return b;}
+function g3b(a){this.a.nc();}
+function d3b(){}
+_=d3b.prototype=new gU();_.Bc=g3b;_.tN=qgc+'ChoiceList$4';_.tI=524;function D3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=mK(new lK());rK(i.d,10);DK(i.d,i.c.a);i.d.ve('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=dLb((bLb(),gLb),a.d.o);i.a=c.a;i.b=c.b;CN(i.d,'dsl-text-Editor');d=tt(new nt());d.Be(0,0,i.d);vK(i.d,o3b(new n3b(),i));wK(i.d,s3b(new r3b(),i));j=pO(new nO());e=Dcb(new Ccb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.ve('Add a new condition');nB(e,w3b(new v3b(),i));h=Dcb(new Ccb(),'images/new_dsl_action.gif');g='Add an action';h.ve('Add an action');nB(h,A3b(new z3b(),i));qO(j,e);qO(j,h);d.Be(0,1,j);jx(d.n,0,0,'95%');jx(d.n,0,1,'5%');d.De('100%');d.se('100%');or(i,d);return i;}
+function F3b(e,b){var a,c,d;a=oK(e.d);c=jV(zK(e.d),0,a);d=jV(zK(e.d),a,dV(zK(e.d)));DK(e.d,c+b+d);e.c.a=zK(e.d);}
+function a4b(b){var a;a=jV(zK(b.d),0,oK(b.d));if(bV(a,'then')>(-1)){b4b(b,b.a);}else{b4b(b,b.b);}}
+function b4b(c,b){var a;a=h3b(new t2b(),b,c);tE(a,tN(c.d)+20,uN(c.d)+20);wE(a);}
+function m3b(){}
+_=m3b.prototype=new qab();_.tN=qgc+'DSLRuleEditor';_.tI=525;_.a=null;_.b=null;_.c=null;_.d=null;function o3b(b,a){b.a=a;return b;}
+function q3b(a){this.a.c.a=zK(this.a.d);sab(this.a);}
+function n3b(){}
+_=n3b.prototype=new gU();_.Ac=q3b;_.tN=qgc+'DSLRuleEditor$1';_.tI=526;function s3b(b,a){b.a=a;return b;}
+function u3b(a,b,c){if(b==32&&c==2){a4b(this.a);}if(b==9){F3b(this.a,'\t');AK(this.a.d,oK(this.a.d)+1);xK(this.a.d);}}
+function r3b(){}
+_=r3b.prototype=new uB();_.ed=u3b;_.tN=qgc+'DSLRuleEditor$2';_.tI=527;function w3b(b,a){b.a=a;return b;}
+function y3b(a){b4b(this.a,this.a.b);}
+function v3b(){}
+_=v3b.prototype=new gU();_.Bc=y3b;_.tN=qgc+'DSLRuleEditor$3';_.tI=528;function A3b(b,a){b.a=a;return b;}
+function C3b(a){b4b(this.a,this.a.a);}
+function z3b(){}
+_=z3b.prototype=new gU();_.Bc=C3b;_.tN=qgc+'DSLRuleEditor$4';_.tI=529;function l4b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=mK(new lK());rK(b.c,10);DK(b.c,b.b.a);CN(b.c,'default-text-Area');vK(b.c,e4b(new d4b(),b));wK(b.c,i4b(new h4b(),b));or(b,b.c);return b;}
+function n4b(e,b){var a,c,d;a=oK(e.c);c=jV(zK(e.c),0,a);d=jV(zK(e.c),a,dV(zK(e.c)));DK(e.c,c+b+d);e.b.a=zK(e.c);}
+function c4b(){}
+_=c4b.prototype=new qab();_.tN=qgc+'DefaultRuleContentWidget';_.tI=530;_.a=null;_.b=null;_.c=null;function e4b(b,a){b.a=a;return b;}
+function g4b(a){this.a.b.a=zK(this.a.c);sab(this.a);}
+function d4b(){}
+_=d4b.prototype=new gU();_.Ac=g4b;_.tN=qgc+'DefaultRuleContentWidget$1';_.tI=531;function i4b(b,a){b.a=a;return b;}
+function k4b(a,b,c){if(b==9){n4b(this.a,'\t');AK(this.a.c,oK(this.a.c)+1);xK(this.a.c);}}
+function h4b(){}
+_=h4b.prototype=new uB();_.ed=k4b;_.tN=qgc+'DefaultRuleContentWidget$2';_.tI=532;function D4b(){D4b=e3;E4b=b5b();}
+function F4b(a){D4b();var b;b=Fb(r1(E4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
+function a5b(a,b){D4b();if(FU(a.d.k,'brl')){return E8b(new l8b(),uwb(new pub(),a),a);}else if(FU(a.d.k,'dslr')){return E8b(new l8b(),D3b(new m3b(),a),a);}else if(FU(a.d.k,'jar')){return pyb(new oyb(),a,b);}else if(FU(a.d.k,'xls')){return E8b(new l8b(),zfb(new yfb(),a,b),a);}else if(FU(a.d.k,'rf')){return h8b(new g8b(),a,b);}else if(FU(a.d.k,'drl')){return E8b(new l8b(),l4b(new c4b(),a),a);}else if(FU(a.d.k,'enumeration')){return E8b(new l8b(),l4b(new c4b(),a),a);}else{return l4b(new c4b(),a);}}
+function b5b(){D4b();var a;a=l1(new p0());s1(a,'drl','technical_rule_assets.gif');s1(a,'dsl','dsl.gif');s1(a,'function','function_assets.gif');s1(a,'jar','model_asset.gif');s1(a,'xls','spreadsheet_small.gif');s1(a,'brl','business_rule.gif');s1(a,'dslr','business_rule.gif');s1(a,'rf','ruleflow_small.gif');return a;}
+function c5b(d,f,g,e,a){D4b();var b,c,h;h=E$b(new g9b(),a,e);b=a.d.n;if(dV(b)>10){b=jV(b,0,7)+'...';}c=F4b(a.d.k);BJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(oZ(),pZ)){s1(d,g,h);}h_b(h,z4b(new y4b(),f,h,d,g));bK(f,DJ(f,h));}
+function d5b(b,d,e,c){D4b();var a;if(o1(b,e)){if(DJ(d,Fb(r1(b,e),13))==(-1)){a=ac(EJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{bK(d,DJ(d,Fb(r1(b,e),13)));}tdb();return;}kUb(nMb(),e,q4b(new p4b(),b,d,e,c));}
+var E4b;function q4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
+function s4b(c){var a,b;a=Fb(c,97);b=(bLb(),gLb);cLb(b,a.d.o,u4b(new t4b(),this,this.a,this.c,this.d,this.b,a));}
+function p4b(){}
+_=p4b.prototype=new wcb();_.rd=s4b;_.tN=qgc+'EditorLauncher$1';_.tI=533;function u4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
+function w4b(a){c5b(a.b,a.d,a.e,a.c,a.a);}
+function x4b(){w4b(this);}
+function t4b(){}
+_=t4b.prototype=new gU();_.rb=x4b;_.tN=qgc+'EditorLauncher$2';_.tI=534;function z4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
+function B4b(a){aK(a.b,DJ(a.b,a.d));bK(a.b,0);if(a.a!==(oZ(),pZ)){t1(a.a,a.c);}}
+function C4b(){B4b(this);}
+function y4b(){}
+_=y4b.prototype=new gU();_.rb=C4b;_.tN=qgc+'EditorLauncher$3';_.tI=535;function g5b(e,a){var b,c,d;b=oY(new mY());for(c=0;c<e.a;c++){d=e[c];if(FU(a,'')||hV(d.a,a)){qY(b,d);}}return b;}
+function B6b(e,a,c,f,d){var b;ccb(e);CN(e,'metadata-Widget');if(!c){b=Ecb(new Ccb(),'images/edit.gif','Rename this asset');nB(b,s5b(new i5b(),e));gcb(e,'images/meta_data.png',a.n,b);}else{fcb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;a7b(e,a);return e;}
+function C6b(a){a.b=b2b(new l1b(),a.a,a.c);return a.b;}
+function E6b(d,a,e){var b,c;if(!d.c){b=bL(new sK());b.ve(e);DK(b,a.gc());c=p5b(new o5b(),d,a,b);vK(b,c);return b;}else{return eC(new cC(),a.gc());}}
+function F6b(a){if(a.a.v==0){return mz(new pw(),'<i>Not checked in yet<\/i>');}else{return d7b(a,sT(a.a.v));}}
+function a7b(b,a){b.a=a;ecb(b,'Categories:',C6b(b));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Modified on:',c7b(b,b.a.m));ecb(b,'by:',d7b(b,b.a.l));ecb(b,'Note:',d7b(b,b.a.b));ecb(b,'Version:',F6b(b));if(!b.c){ecb(b,'Created on:',c7b(b,b.a.d));}ecb(b,'Created by:',d7b(b,b.a.e));ecb(b,'Format:',mz(new pw(),'<b>'+b.a.k+'<\/b>'));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Package:',b7b(b,b.a.o));ecb(b,'Subject:',E6b(b,w5b(new v5b(),b),'A short description of the subject matter.'));ecb(b,'Type:',E6b(b,B5b(new A5b(),b),'This is for classification purposes.'));ecb(b,'External link:',E6b(b,a6b(new F5b(),b),'This is for relating the asset to an external system.'));ecb(b,'Source:',E6b(b,f6b(new e6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){hcb(b,cac(new j_b(),b.e,b.a,b.d));}}
+function b7b(d,c){var a,b;if(d.c){return d7b(d,c);}else{b=hA(new fA());CN(b,'metadata-Widget');iA(b,d7b(d,c));a=Dcb(new Ccb(),'images/edit.gif');nB(a,k6b(new j6b(),d,c));iA(b,a);return b;}}
+function c7b(b,a){if(a===null){return null;}else{return eC(new cC(),b0(a));}}
+function d7b(c,b){var a;a=eC(new cC(),b);a.De('100%');return a;}
+function e7b(f,b,e){var a,c,d;c=scb(new ncb(),'images/package_large.png','Move this item to another package');tcb(c,'Current package:',eC(new cC(),b));d=aeb(new Bdb());tcb(c,'New package:',d);a=yp(new sp(),'Change package');tcb(c,'',a);a.z(x6b(new w6b(),f,d,b,c));tE(c,tN(e.v.v),uN(e.v.v));wE(c);}
+function f7b(e,d){var a,b,c;c=scb(new ncb(),'images/package_large.png','Rename this item');a=bL(new sK());tcb(c,'New name',a);b=yp(new sp(),'Rename item');tcb(c,'',b);b.z(o6b(new n6b(),e,a,c));tE(c,tN(d.v.v)-18,uN(d.v.v));wE(c);}
+function g7b(){return this.b.rc()||this.j;}
+function h5b(){}
+_=h5b.prototype=new acb();_.rc=g7b;_.tN=qgc+'MetaDataWidget';_.tI=536;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function s5b(b,a){b.a=a;return b;}
+function u5b(a){f7b(this.a,a);}
+function i5b(){}
+_=i5b.prototype=new gU();_.Bc=u5b;_.tN=qgc+'MetaDataWidget$1';_.tI=537;function k5b(b,a,c){b.a=a;b.b=c;return b;}
+function m5b(b,a){sab(b.a.a);k$b(b.a.a.d);b.b.nc();}
+function n5b(a){m5b(this,a);}
+function j5b(){}
+_=j5b.prototype=new wcb();_.rd=n5b;_.tN=qgc+'MetaDataWidget$10';_.tI=538;function p5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function r5b(a){sab(this.a);this.b.ze(zK(this.c));}
+function o5b(){}
+_=o5b.prototype=new gU();_.Ac=r5b;_.tN=qgc+'MetaDataWidget$11';_.tI=539;function w5b(b,a){b.a=a;return b;}
+function y5b(){return this.a.a.s;}
+function z5b(a){this.a.a.s=a;}
+function v5b(){}
+_=v5b.prototype=new gU();_.gc=y5b;_.ze=z5b;_.tN=qgc+'MetaDataWidget$2';_.tI=540;function B5b(b,a){b.a=a;return b;}
+function D5b(){return this.a.a.u;}
+function E5b(a){this.a.a.u=a;}
+function A5b(){}
+_=A5b.prototype=new gU();_.gc=D5b;_.ze=E5b;_.tN=qgc+'MetaDataWidget$3';_.tI=541;function a6b(b,a){b.a=a;return b;}
+function c6b(){return this.a.a.i;}
+function d6b(a){this.a.a.i=a;}
+function F5b(){}
+_=F5b.prototype=new gU();_.gc=c6b;_.ze=d6b;_.tN=qgc+'MetaDataWidget$4';_.tI=542;function f6b(b,a){b.a=a;return b;}
+function h6b(){return this.a.a.j;}
+function i6b(a){this.a.a.j=a;}
+function e6b(){}
+_=e6b.prototype=new gU();_.gc=h6b;_.ze=i6b;_.tN=qgc+'MetaDataWidget$5';_.tI=543;function k6b(b,a,c){b.a=a;b.b=c;return b;}
+function m6b(a){e7b(this.a,this.b,a);}
+function j6b(){}
+_=j6b.prototype=new gU();_.Bc=m6b;_.tN=qgc+'MetaDataWidget$6';_.tI=544;function o6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function q6b(a){sUb(nMb(),this.a.e,zK(this.b),s6b(new r6b(),this,this.c));}
+function n6b(){}
+_=n6b.prototype=new gU();_.Bc=q6b;_.tN=qgc+'MetaDataWidget$7';_.tI=545;function s6b(b,a,c){b.a=a;b.b=c;return b;}
+function u6b(b,a){k$b(b.a.a.d);zh('Item has been renamed');b.b.nc();}
+function v6b(a){u6b(this,a);}
+function r6b(){}
+_=r6b.prototype=new wcb();_.rd=v6b;_.tN=qgc+'MetaDataWidget$8';_.tI=546;function x6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function z6b(a){if(FU(ceb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}vTb(nMb(),this.a.e,ceb(this.d),'Moved from : '+this.b,k5b(new j5b(),this,this.c));}
+function w6b(){}
+_=w6b.prototype=new gU();_.Bc=z6b;_.tN=qgc+'MetaDataWidget$9';_.tI=547;function y7b(){y7b=e3;vcb();}
+function v7b(a){a.f=bL(new sK());a.b=mK(new lK());a.d=A7b(a);a.g=aeb(new Bdb());}
+function w7b(e,a,d,b,f){var c;y7b();scb(e,'images/new_wiz.gif',f);v7b(e);e.h=d;e.c=b;e.a=a;tcb(e,'Name:',e.f);if(d){tcb(e,'Initial category:',z7b(e));}if(b===null){tcb(e,'Type (format) of rule:',e.d);}tcb(e,'Package:',e.g);rK(e.b,4);e.b.De('100%');tcb(e,'Initial description:',e.b);c=yp(new sp(),'OK');c.z(j7b(new i7b(),e));tcb(e,'',c);CN(e,'ks-popups-Popup');return e;}
+function x7b(e,b,d,c,f,a){y7b();w7b(e,b,d,c,f);deb(e.g,a);return e;}
+function z7b(a){return e_(new t$(),n7b(new m7b(),a));}
+function B7b(a){if(a.c!==null)return a.c;return FC(a.d,EC(a.d));}
+function A7b(b){var a;a=uC(new mC());yC(a,'Business rule (using guided editor)','brl');yC(a,'DRL rule (technical rule - text editor)','drl');yC(a,'Business rule using a DSL (text editor)','dslr');yC(a,'Decision table (spreadsheet)','xls');dD(a,0);return a;}
+function C7b(b){var a;if(b.h&&b.e===null){mfb('You have to pick an initial category.',tN(b),uN(b));return;}else if(zK(b.f)===null||FU('',zK(b.f))){mfb('Rule must have a name',tN(b),uN(b));return;}a=r7b(new q7b(),b);xdb('Please wait ...');DTb(nMb(),zK(b.f),zK(b.b),b.e,ceb(b.g),B7b(b),a);}
+function D7b(a,b){a.a.yd(b);}
+function h7b(){}
+_=h7b.prototype=new ncb();_.tN=qgc+'NewAssetWizard';_.tI=548;_.a=null;_.c=null;_.e=null;_.h=false;function j7b(b,a){b.a=a;return b;}
+function l7b(a){C7b(this.a);}
+function i7b(){}
+_=i7b.prototype=new gU();_.Bc=l7b;_.tN=qgc+'NewAssetWizard$1';_.tI=549;function n7b(b,a){b.a=a;return b;}
+function p7b(a){this.a.e=a;}
+function m7b(){}
+_=m7b.prototype=new gU();_.je=p7b;_.tN=qgc+'NewAssetWizard$2';_.tI=550;function r7b(b,a){b.a=a;return b;}
+function t7b(b,a){var c;c=Fb(a,1);if(hV(c,'DUPLICATE')){tdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{D7b(b.a,Fb(a,1));b.a.nc();}}
+function u7b(a){t7b(this,a);}
+function q7b(){}
+_=q7b.prototype=new wcb();_.rd=u7b;_.tN=qgc+'NewAssetWizard$3';_.tI=551;function d8b(b,a){b.a=mK(new lK());b.a.De('100%');rK(b.a,10);CN(b.a,'rule-viewer-Documentation');b.a.ve('This is rule documentation. Human friendly descriptions of the business logic.');or(b,b.a);f8b(b,a);return b;}
+function f8b(b,a){DK(b.a,a.h);vK(b.a,a8b(new F7b(),b,a));if(a.h===null||FU('',a.h)){DK(b.a,'<documentation>');}}
+function E7b(){}
+_=E7b.prototype=new qab();_.tN=qgc+'RuleDocumentWidget';_.tI=552;_.a=null;function a8b(b,a,c){b.a=a;b.b=c;return b;}
+function c8b(a){this.b.h=zK(this.a.a);sab(this.a);}
+function F7b(){}
+_=F7b.prototype=new gU();_.Ac=c8b;_.tN=qgc+'RuleDocumentWidget$1';_.tI=553;function h8b(b,a,c){xxb(b,a,c);yxb(b,mz(new pw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
+function j8b(){return 'images/ruleflow_large.png';}
+function k8b(){return 'decision-Table-upload';}
+function g8b(){}
+_=g8b.prototype=new jxb();_.xb=j8b;_.ac=k8b;_.tN=qgc+'RuleFlowUploadWidget';_.tI=554;function E8b(c,b,a){c.a=a;c.b=zab(new xab());CN(c.b,'asset-editor-Layout');Cab(c.b,0,0,b);if(!a.c)Cab(c.b,1,0,e9b(c));dx(c.b.n,1,0,(wz(),zz),(Fz(),cA));c.b.De('100%');c.b.se('100%');or(c,c.b);return c;}
+function a9b(a){xdb('Validating item, please wait...');sTb(nMb(),a.a,v8b(new u8b(),a));}
+function b9b(a){xdb('Calculating source...');rTb(nMb(),a.a,A8b(new z8b(),a));}
+function c9b(h,e){var a,b,c,d,f,g;c=scb(new ncb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){ucb(c,mz(new pw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=tt(new nt());CN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.Be(f,0,mB(new wA(),'images/error.gif'));if(FU(d.a,'package')){az(a,f,1,'[package configuration problem] '+d.c);}else{az(a,f,1,d.c);}}g=wG(new uG(),a);g.De('100%');ucb(c,g);}tE(c,100,100);wE(c);tdb();}
+function d9b(b,a){wBb(a,b.a.d.n);tdb();}
+function e9b(b){var a,c,d;a=hA(new fA());d=yp(new sp(),'View source');iA(a,d);c=yp(new sp(),'Validate');iA(a,c);d.z(n8b(new m8b(),b));c.z(r8b(new q8b(),b));CN(a,'asset-validator-Buttons');return a;}
+function f9b(){return Bab(this.b);}
+function l8b(){}
+_=l8b.prototype=new qab();_.rc=f9b;_.tN=qgc+'RuleValidatorWrapper';_.tI=555;_.a=null;_.b=null;function n8b(b,a){b.a=a;return b;}
+function p8b(a){b9b(this.a);}
+function m8b(){}
+_=m8b.prototype=new gU();_.Bc=p8b;_.tN=qgc+'RuleValidatorWrapper$1';_.tI=556;function r8b(b,a){b.a=a;return b;}
+function t8b(a){a9b(this.a);}
+function q8b(){}
+_=q8b.prototype=new gU();_.Bc=t8b;_.tN=qgc+'RuleValidatorWrapper$2';_.tI=557;function v8b(b,a){b.a=a;return b;}
+function x8b(c,a){var b;b=Fb(a,88);c9b(c.a,b);}
+function y8b(a){x8b(this,a);}
+function u8b(){}
+_=u8b.prototype=new wcb();_.rd=y8b;_.tN=qgc+'RuleValidatorWrapper$3';_.tI=558;function A8b(b,a){b.a=a;return b;}
+function C8b(c,a){var b;b=Fb(a,1);d9b(c.a,b);}
+function D8b(a){C8b(this,a);}
+function z8b(){}
+_=z8b.prototype=new wcb();_.rd=D8b;_.tN=qgc+'RuleValidatorWrapper$4';_.tI=559;function E$b(c,a,b){c.a=a;c.g=b;c.e=zab(new xab());e_b(c);or(c,c.e);tdb();return c;}
+function a_b(a){a.a.a=true;b_b(a);B4b(a.b);}
+function b_b(a){jy(a.e);xdb('Saving, please wait...');xTb(nMb(),a.a,x$b(new w$b(),a));}
+function c_b(e){var a,b,c,d;d=scb(new ncb(),'images/warning-large.png','WARNING: Un-committed changes.');b=yp(new sp(),'Discard');a=yp(new sp(),'Cancel');c=hA(new fA());iA(c,b);iA(c,a);ucb(d,mz(new pw(),'Are you sure you want to discard changes?'));ucb(d,c);b.z(n9b(new m9b(),e,d));a.z(r9b(new q9b(),e,d));CN(d,'warning-Popup');tE(d,dc((uab()-oE(d))/2),100);wE(d);}
+function d_b(a){bUb(nMb(),a.a.e,a.a.d.o,s$b(new r$b(),a));}
+function e_b(b){var a;jy(b.e);a=wt(b.e);b.h=b1b(new sZb(),b.a,u9b(new h9b(),b),z9b(new y9b(),b),E9b(new D9b(),b),d$b(new c$b(),b),b.g);Cab(b.e,0,0,b.h);dx(a,0,0,(wz(),zz),(Fz(),cA));b.f=B6b(new h5b(),b.a.d,b.g,b.a.e,i$b(new h$b(),b));Cab(b.e,0,1,b.f);st(a,0,1,3);hx(a,0,1,(Fz(),cA));jx(a,0,1,'30%');b.d=a5b(b.a,b);h1b(b.h,n$b(new m$b(),b));Cab(b.e,1,0,b.d);hx(a,1,0,(Fz(),cA));b.c=d8b(new E7b(),b.a.d);Cab(b.e,2,0,b.c);hx(a,2,0,(Fz(),cA));}
+function f_b(a){if(u_(a.a.d.k)){xdb('Refreshing content assistance...');fLb((bLb(),gLb),a.a.d.o,new B$b());}}
+function g_b(a){kUb(nMb(),a.a.e,j9b(new i9b(),a));}
+function h_b(b,a){b.b=a;}
+function i_b(a){var b;b= !bx(wt(a.e),2,0);ix(wt(a.e),0,1,b);ix(wt(a.e),2,0,b);}
+function g9b(){}
+_=g9b.prototype=new mr();_.tN=qgc+'RuleViewer';_.tI=560;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function u9b(b,a){b.a=a;return b;}
+function w9b(a){b_b(a.a);}
+function x9b(){w9b(this);}
+function h9b(){}
+_=h9b.prototype=new gU();_.rb=x9b;_.tN=qgc+'RuleViewer$1';_.tI=561;function j9b(b,a){b.a=a;return b;}
+function l9b(a){this.a.a=Fb(a,97);e_b(this.a);tdb();}
+function i9b(){}
+_=i9b.prototype=new wcb();_.rd=l9b;_.tN=qgc+'RuleViewer$10';_.tI=562;function n9b(b,a,c){b.a=a;b.b=c;return b;}
+function p9b(a){B4b(this.a.b);this.b.nc();}
+function m9b(){}
+_=m9b.prototype=new gU();_.Bc=p9b;_.tN=qgc+'RuleViewer$11';_.tI=563;function r9b(b,a,c){b.a=c;return b;}
+function t9b(a){this.a.nc();}
+function q9b(){}
+_=q9b.prototype=new gU();_.Bc=t9b;_.tN=qgc+'RuleViewer$12';_.tI=564;function z9b(b,a){b.a=a;return b;}
+function B9b(a){a_b(a.a);}
+function C9b(){B9b(this);}
+function y9b(){}
+_=y9b.prototype=new gU();_.rb=C9b;_.tN=qgc+'RuleViewer$2';_.tI=565;function E9b(b,a){b.a=a;return b;}
+function a$b(a){i_b(a.a);}
+function b$b(){a$b(this);}
+function D9b(){}
+_=D9b.prototype=new gU();_.rb=b$b;_.tN=qgc+'RuleViewer$3';_.tI=566;function d$b(b,a){b.a=a;return b;}
+function f$b(a){d_b(a.a);}
+function g$b(){f$b(this);}
+function c$b(){}
+_=c$b.prototype=new gU();_.rb=g$b;_.tN=qgc+'RuleViewer$4';_.tI=567;function i$b(b,a){b.a=a;return b;}
+function k$b(a){g_b(a.a);}
+function l$b(){k$b(this);}
+function h$b(){}
+_=h$b.prototype=new gU();_.rb=l$b;_.tN=qgc+'RuleViewer$5';_.tI=568;function n$b(b,a){b.a=a;return b;}
+function p$b(a){if(Bab(a.a.e)){c_b(a.a);}else{B4b(a.a.b);}}
+function q$b(){p$b(this);}
+function m$b(){}
+_=m$b.prototype=new gU();_.rb=q$b;_.tN=qgc+'RuleViewer$6';_.tI=569;function s$b(b,a){b.a=a;return b;}
+function u$b(b,a){B4b(b.a.b);}
+function v$b(a){u$b(this,a);}
+function r$b(){}
+_=r$b.prototype=new wcb();_.rd=v$b;_.tN=qgc+'RuleViewer$7';_.tI=570;function x$b(b,a){b.a=a;return b;}
+function z$b(b,a){var c;f_b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){tab(Fb(b.a.d,98));}tab(b.a.f);tab(b.a.c);if(c===null){ybb('Failed to check in the item. Please contact your system administrator.');return;}g_b(b.a);}
+function A$b(a){z$b(this,a);}
+function w$b(){}
+_=w$b.prototype=new wcb();_.rd=A$b;_.tN=qgc+'RuleViewer$8';_.tI=571;function D$b(){tdb();}
+function B$b(){}
+_=B$b.prototype=new gU();_.rb=D$b;_.tN=qgc+'RuleViewer$9';_.tI=572;function cac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=hA(new fA());d.a=tt(new nt());d.a.Be(0,0,eC(new cC(),'Version history'));gx(d.a.n,0,0,'metadata-Widget');b=wt(d.a);fx(b,0,0,(wz(),yz));d.c=Dcb(new Ccb(),'images/refresh.gif');nB(d.c,l_b(new k_b(),d));d.a.Be(0,1,d.c);fx(b,0,1,(wz(),zz));CN(f,'version-browser-Border');iA(f,d.a);d.a.De('100%');f.De('100%');or(d,f);return d;}
+function dac(a){hac(a);fg(p_b(new o_b(),a));}
+function fac(b,a){return C_b(new B_b(),b,a);}
+function gac(a){hUb(nMb(),a.e,t_b(new s_b(),a));}
+function hac(a){rB(a.c,'images/searching.gif');}
+function iac(a){rB(a.c,'images/refresh.gif');}
+function jac(b,a){var c;c=abc(new kac(),b.b,a,b.e,b.d);tE(c,100,100);wE(c);}
+function j_b(){}
+_=j_b.prototype=new mr();_.tN=qgc+'VersionBrowser';_.tI=573;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function l_b(b,a){b.a=a;return b;}
+function n_b(a){dac(this.a);}
+function k_b(){}
+_=k_b.prototype=new gU();_.Bc=n_b;_.tN=qgc+'VersionBrowser$1';_.tI=574;function p_b(b,a){b.a=a;return b;}
+function r_b(){gac(this.a);}
+function o_b(){}
+_=o_b.prototype=new gU();_.rb=r_b;_.tN=qgc+'VersionBrowser$2';_.tI=575;function t_b(b,a){b.a=a;return b;}
+function v_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.Be(1,0,eC(new cC(),'No history.'));iac(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',609,1,['Version number','Comment','Date Modified','Status']);d=fac(i.a,f);h=tfc(d,c,0,false);h.De('100%');i.a.a.Be(1,0,h);b=wt(i.a.a);rt(b,1,0,2);e=yp(new sp(),'View selected version');e.z(y_b(new x_b(),i,h));i.a.a.Be(2,1,e);rt(b,2,1,3);fx(b,2,1,(wz(),xz));iac(i.a);}
+function w_b(a){v_b(this,a);}
+function s_b(){}
+_=s_b.prototype=new wcb();_.rd=w_b;_.tN=qgc+'VersionBrowser$3';_.tI=576;function y_b(b,a,c){b.a=a;b.b=c;return b;}
+function A_b(a){if(this.b.f==0)return;jac(this.a.a,gfc(this.b));}
+function x_b(){}
+_=x_b.prototype=new gU();_.Bc=A_b;_.tN=qgc+'VersionBrowser$4';_.tI=577;function C_b(b,a,c){b.a=c;return b;}
+function E_b(){return this.a.a;}
+function F_b(a){return this.a[a].b;}
+function aac(b,a){return this.a[b].c[a];}
+function bac(b,a){return null;}
+function B_b(){}
+_=B_b.prototype=new gU();_.Cb=E_b;_.cc=F_b;_.hc=aac;_.ic=bac;_.tN=qgc+'VersionBrowser$5';_.tI=578;function bbc(){bbc=e3;bs();}
+function abc(d,a,e,b,c){bbc();Fr(d,false);d.c=e;d.a=b;d.b=c;CN(d,'version-Popup');xdb('Loading version');kUb(nMb(),e,mac(new lac(),d,a));return d;}
+function cbc(b,c){var a;a=o2b(new j2b(),tN(c)+10,uN(c)+10,'Restore this version?');r2b(a,yac(new xac(),b,a));s2b(a);}
+function kac(){}
+_=kac.prototype=new Cr();_.tN=qgc+'VersionViewer';_.tI=579;_.a=null;_.b=null;_.c=null;function mac(b,a,c){b.a=a;b.b=c;return b;}
+function oac(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;ds(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=tt(new nt());d=wt(e);f=yp(new sp(),'Restore this version');f.z(qac(new pac(),this));e.Be(0,0,f);fx(d,0,0,(wz(),yz));b=yp(new sp(),'Close');b.z(uac(new tac(),this));e.Be(0,1,b);fx(d,0,1,(wz(),zz));g=E$b(new g9b(),a,true);g.De('100%');e.Be(1,0,g);rt(d,1,1,2);e.De('100%');AN(e,800,300);es(this.a,e);}
+function lac(){}
+_=lac.prototype=new wcb();_.rd=oac;_.tN=qgc+'VersionViewer$1';_.tI=580;function qac(b,a){b.a=a;return b;}
+function sac(a){cbc(this.a.a,a);}
+function pac(){}
+_=pac.prototype=new gU();_.Bc=sac;_.tN=qgc+'VersionViewer$2';_.tI=581;function uac(b,a){b.a=a;return b;}
+function wac(a){this.a.a.nc();}
+function tac(){}
+_=tac.prototype=new gU();_.Bc=wac;_.tN=qgc+'VersionViewer$3';_.tI=582;function yac(b,a,c){b.a=a;b.b=c;return b;}
+function Aac(){uUb(nMb(),this.a.c,this.a.a,q2b(this.b),Cac(new Bac(),this));}
+function xac(){}
+_=xac.prototype=new gU();_.rb=Aac;_.tN=qgc+'VersionViewer$4';_.tI=583;function Cac(b,a){b.a=a;return b;}
+function Eac(b,a){b.a.a.nc();k$b(b.a.a.b);}
+function Fac(a){Eac(this,a);}
+function Bac(){}
+_=Bac.prototype=new wcb();_.rd=Fac;_.tN=qgc+'VersionViewer$5';_.tI=584;function gcc(a){a.b=(oZ(),pZ);}
+function hcc(a){gcc(a);a.c=AJ(new mJ());a.c.De('100%');a.c.se('100%');BJ(a.c,jcc(a),"<img src='images/explore.gif'/>Explore",true);bK(a.c,0);or(a,a.c);return a;}
+function jcc(i){var a,b,c,d,e,f,g,h;h=tt(new nt());i.a=kdc(new occ(),fbc(new ebc(),i),'rulelist');b=wt(h);d=e_(new t$(),jbc(new ibc(),i,h));f=oec(new tdc(),nbc(new mbc(),i));h.Be(0,1,f);dx(b,0,0,(wz(),yz),(Fz(),cA));dx(b,0,1,(wz(),yz),(Fz(),cA));jx(b,0,0,'30%');jx(b,0,1,'70%');e=yp(new sp(),'Create new rule');e.ve('Create new rule');e.z(sbc(new rbc(),i));g=Dcb(new Ccb(),'images/system_search_small.png');g.ve('Show the rule finder.');nB(g,wbc(new vbc(),i,h,f));a=hA(new fA());iA(a,e);iA(a,g);CN(a,'new-asset-Icons');c=pO(new nO());qO(c,a);qO(c,d);c.De('100%');h.Be(0,0,c);return h;}
+function kcc(c,a,b){return Abc(new zbc(),c,b,a);}
+function lcc(b,a){b.b=a;}
+function mcc(a,b){d5b(a.b,a.c,b,false);}
+function ncc(c){var a,b,d;a=70;d=100;b=w7b(new h7b(),dcc(new ccc(),c),true,null,'Create a new rule');tE(b,a,d);wE(b);}
+function dbc(){}
+_=dbc.prototype=new mr();_.tN=rgc+'AssetBrowser';_.tI=585;_.a=null;_.c=null;function fbc(b,a){b.a=a;return b;}
+function hbc(a){mcc(this.a,a);}
+function ebc(){}
+_=ebc.prototype=new gU();_.yd=hbc;_.tN=rgc+'AssetBrowser$1';_.tI=586;function jbc(b,a,c){b.a=a;b.b=c;return b;}
+function lbc(b){var a;a=kcc(this.a,this.a.a,b);this.b.Be(0,1,this.a.a);xdb('Retrieving list, please wait...');fg(a);qdc(this.a.a,a);}
+function ibc(){}
+_=ibc.prototype=new gU();_.je=lbc;_.tN=rgc+'AssetBrowser$2';_.tI=587;function nbc(b,a){b.a=a;return b;}
+function pbc(b,a){mcc(b.a,a);}
+function qbc(a){pbc(this,a);}
+function mbc(){}
+_=mbc.prototype=new gU();_.yd=qbc;_.tN=rgc+'AssetBrowser$3';_.tI=588;function sbc(b,a){b.a=a;return b;}
+function ubc(a){ncc(this.a);}
+function rbc(){}
+_=rbc.prototype=new gU();_.Bc=ubc;_.tN=rgc+'AssetBrowser$4';_.tI=589;function wbc(b,a,d,c){b.b=d;b.a=c;return b;}
+function ybc(a){this.b.Be(0,1,this.a);}
+function vbc(){}
+_=vbc.prototype=new gU();_.Bc=ybc;_.tN=rgc+'AssetBrowser$5';_.tI=590;function Abc(b,a,d,c){b.b=d;b.a=c;return b;}
+function Cbc(){xdb('Loading list, please wait...');lUb(nMb(),this.b,Ebc(new Dbc(),this,this.a));}
+function zbc(){}
+_=zbc.prototype=new gU();_.rb=Cbc;_.tN=rgc+'AssetBrowser$6';_.tI=591;function Ebc(b,a,c){b.a=c;return b;}
+function acc(c,a){var b;b=Fb(a,62);pdc(c.a,b);tdb();}
+function bcc(a){acc(this,a);}
+function Dbc(){}
+_=Dbc.prototype=new wcb();_.rd=bcc;_.tN=rgc+'AssetBrowser$7';_.tI=592;function dcc(b,a){b.a=a;return b;}
+function fcc(a){mcc(this.a,a);}
+function ccc(){}
+_=ccc.prototype=new gU();_.yd=fcc;_.tN=rgc+'AssetBrowser$8';_.tI=593;function ldc(){ldc=e3;rdc=nMb();}
+function jdc(a){a.c=tt(new nt());a.e=Dcb(new Ccb(),'images/refresh.gif');a.a=dC(new cC());}
+function kdc(c,a,b){ldc();jdc(c);ndc(c);odc(c,b);c.e.Ae(false);c.b=a;c.e.ve('Refresh current list. Will show any changes.');nB(c.e,qcc(new pcc(),c));return c;}
+function mdc(a){return lZb(gfc(a.f));}
+function ndc(c){var a,b;a=wt(c.c);c.c.De('100%');dx(a,0,0,(wz(),yz),(Fz(),cA));b=Dcb(new Ccb(),'images/open_item.gif');nB(b,zcc(new ycc(),c));b.ve('Open item');c.c.Be(0,1,b);dx(a,0,1,(wz(),zz),(Fz(),cA));or(c,c.c);}
+function odc(b,a){nUb(rdc,a,ucc(new tcc(),b));}
+function pdc(g,a){var b,c,d,e,f;b=wt(g.c);g.c.Be(1,0,null);if(a===null||a.a.a==0){d=new Ccc();g.f=tfc(d,g.g.a,25,true);g.a.Ae(false);}else{f=a.a;c=ddc(new cdc(),g,f);g.f=tfc(c,g.g.a,25,true);e=hA(new fA());iA(e,g.e);g.a.Ae(true);jC(g.a,'  '+a.a.a+' items.');iA(e,g.a);g.c.Be(0,0,e);}g.f.De('100%');g.c.Be(1,0,g.f);rt(b,1,0,2);}
+function qdc(b,a){b.d=a;b.e.Ae(true);}
+function occ(){}
+_=occ.prototype=new mr();_.tN=rgc+'AssetItemListViewer';_.tI=594;_.b=null;_.d=null;_.f=null;_.g=null;var rdc;function qcc(b,a){b.a=a;return b;}
+function scc(a){xdb('Refreshing list, please wait...');this.a.d.rb();}
+function pcc(){}
+_=pcc.prototype=new gU();_.Bc=scc;_.tN=rgc+'AssetItemListViewer$1';_.tI=595;function ucc(b,a){b.a=a;return b;}
+function wcc(b,a){b.a.g=Fb(a,99);pdc(b.a,null);}
+function xcc(a){wcc(this,a);}
+function tcc(){}
+_=tcc.prototype=new wcb();_.rd=xcc;_.tN=rgc+'AssetItemListViewer$2';_.tI=596;function zcc(b,a){b.a=a;return b;}
+function Bcc(a){xdb('Loading item, please wait ...');this.a.b.yd(lZb(gfc(this.a.f)));}
+function ycc(){}
+_=ycc.prototype=new gU();_.Bc=Bcc;_.tN=rgc+'AssetItemListViewer$3';_.tI=597;function Ecc(){return 0;}
+function Fcc(a){return '';}
+function adc(b,a){return '';}
+function bdc(b,a){return null;}
+function Ccc(){}
+_=Ccc.prototype=new gU();_.Cb=Ecc;_.cc=Fcc;_.hc=adc;_.ic=bdc;_.tN=rgc+'AssetItemListViewer$4';_.tI=598;function ddc(b,a,c){b.a=a;b.b=c;return b;}
+function fdc(){return this.b.a;}
+function gdc(a){return this.b[a].b;}
+function hdc(b,a){return this.b[b].c[a];}
+function idc(b,a){if(FU(this.a.g.a[a],'*')){return mB(new wA(),'images/'+F4b(this.b[b].a));}else{return null;}}
+function cdc(){}
+_=cdc.prototype=new gU();_.Cb=fdc;_.cc=gdc;_.hc=hdc;_.ic=idc;_.tN=rgc+'AssetItemListViewer$5';_.tI=599;function oec(d,a){var b,c;d.c=dcb(new acb(),'images/system_search.png','');d.e=F_(new v_(),vdc(new udc(),d));CN(d.e,'gwt-TextBox');d.b=a;c=hA(new fA());b=yp(new sp(),'Go');b.z(zdc(new ydc(),d));iA(c,d.e);iA(c,b);d.a=kq(new hq(),'Include archived items in list');CN(d.a,'small-Text');oq(d.a,false);ecb(d.c,'Find items with a name matching:',c);hcb(d.c,d.a);hcb(d.c,mz(new pw(),'<hr/>'));d.d=tt(new nt());d.d.Be(0,0,mz(new pw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));hcb(d.c,d.d);CN(d.d,'editable-Surface');wK(d.e,qec(d));CN(d.c,'quick-find');or(d,d.c);return d;}
+function qec(a){return bec(new aec(),a);}
+function rec(c,a,b){oUb(nMb(),a,5,nq(c.a),Ddc(new Cdc(),c,b));}
+function sec(f,d){var a,b,c,e;a=tt(new nt());if(d.a.a==1){pbc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(FU(e.b,'MORE')){a.Be(b,0,mz(new pw(),'<i>There are more items... try narrowing the search terms..<\/i>'));rt(wt(a),b,0,3);}else{a.Be(b,0,eC(new cC(),e.c[0]));a.Be(b,1,eC(new cC(),e.c[1]));c=yp(new sp(),'Open');c.z(lec(new kec(),f,e));a.Be(b,2,c);}}a.De('100%');f.d.Be(0,0,a);tdb();}
+function tec(a){xdb('Searching...');oUb(nMb(),zK(a.e),15,nq(a.a),hec(new gec(),a));}
+function tdc(){}
+_=tdc.prototype=new mr();_.tN=rgc+'QuickFindWidget';_.tI=600;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function vdc(b,a){b.a=a;return b;}
+function xdc(c,b,a){rec(c.a,b,a);}
+function udc(){}
+_=udc.prototype=new gU();_.tN=rgc+'QuickFindWidget$1';_.tI=601;function zdc(b,a){b.a=a;return b;}
+function Bdc(a){tec(this.a);}
+function ydc(){}
+_=ydc.prototype=new gU();_.Bc=Bdc;_.tN=rgc+'QuickFindWidget$2';_.tI=602;function Ddc(b,a,c){b.a=c;return b;}
+function Fdc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[609],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!FU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}D_(this.a,c);}
+function Cdc(){}
+_=Cdc.prototype=new wcb();_.rd=Fdc;_.tN=rgc+'QuickFindWidget$3';_.tI=603;function bec(b,a){b.a=a;return b;}
+function dec(a,b,c){}
+function eec(a,b,c){}
+function fec(a,b,c){if(b==13){tec(this.a);}}
+function aec(){}
+_=aec.prototype=new gU();_.ed=dec;_.fd=eec;_.gd=fec;_.tN=rgc+'QuickFindWidget$4';_.tI=604;function hec(b,a){b.a=a;return b;}
+function jec(a){var b;b=Fb(a,62);sec(this.a,b);}
+function gec(){}
+_=gec.prototype=new wcb();_.rd=jec;_.tN=rgc+'QuickFindWidget$5';_.tI=605;function lec(b,a,c){b.a=a;b.b=c;return b;}
+function nec(a){pbc(this.a.b,this.b.b);}
+function kec(){}
+_=kec.prototype=new gU();_.Bc=nec;_.tN=rgc+'QuickFindWidget$6';_.tI=606;function wec(a){a.a=oY(new mY());}
+function xec(a){wec(a);return a;}
+function yec(b,a,c){if(a>=b.a.b){zec(b,a);}BY(b.a,a,c);}
+function zec(c,a){var b;for(b=c.a.b;b<=a;b++){qY(c.a,null);}}
+function Bec(b,a){return vY(b.a,a);}
+function Cec(b,a){b.b=a;}
+function Dec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(Bec(this,this.b),34);b=Fb(Bec(d,this.b),34);return a.db(b);}
+function vec(){}
+_=vec.prototype=new gU();_.db=Dec;_.tN=sgc+'RowData';_.tI=607;_.b=0;function Fec(a){a.j=oY(new mY());a.i=oY(new mY());}
+function afc(c,b,a){cw(c,b+1,a);Fec(c);fy(c,c);CN(c,wfc);return c;}
+function bfc(c,b,a){if(b!=0){return;}nfc(c,a);pfc(c,a);ffc(c);}
+function dfc(e){var a,b,c,d,f;if(e.h==rfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(vY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Bec(b,a);jfc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(vY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Bec(b,a);jfc(e,d,a,f.tS());}}}}
+function efc(d){var a,b,c;c=0;for(b=d.i.sc();b.mc();){a=Fb(b.uc(),1);hfc(d,a,c++);}}
+function ffc(a){efc(a);dfc(a);}
+function gfc(a){return qy(a,a.f,a.e);}
+function hfc(d,c,b){var a;a=rU(new qU());tU(a,c);tU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==rfc){tU(a,"'"+d.a+"' alt='Ascending' ");}else{tU(a,"'"+d.c+"' alt='Descending' ");}}else{tU(a,"'"+d.b+"'");}tU(a,'/>');Ey(d,0,b,xU(a));tx(d.p,0,xfc);}
+function ifc(c,b,a){if(b%2==0){gx(c.n,b,a,vfc);}}
+function jfc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.Be(b,a,mB(new wA(),'images/'+F4b(d)));else az(c,b,a,d);}}
+function kfc(c,b,a){pY(c.i,a,b);hfc(c,b,a);}
+function lfc(b,a){b.d=a;}
+function mfc(b,a){b.e=a;ix(b.n,0,a,false);}
+function nfc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(vY(d.j,b),100);Cec(a,c);}}
+function ofc(d,b,a,e,f){var c;if(b==0)return;ifc(d,b,a);if(b-1>=d.j.b||null===vY(d.j,b-1)){pY(d.j,b-1,xec(new vec()));}c=Fb(vY(d.j,b-1),100);yec(c,a,e);if(f===null){az(d,b,a,''+e+'');}else{d.Be(b,a,f);}if(a==d.e){ix(d.n,b,a,false);}}
+function pfc(b,a){rZ(b.j);if(b.g!=a){b.h=rfc;}else{b.h=b.h==rfc?sfc:rfc;}b.g=a;}
+function qfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){gx(a,c,b,yfc);if(d.f%2==0&&d.f!=0){gx(a,d.f,b,vfc);}else{cx(a,d.f,b,yfc);}}d.f=c;}}
+function tfc(a,d,b,c){var e,f,g;g=null;if(b>a.Cb()){g=afc(new Eec(),b,d.a+1);ofc(g,1,1,'',null);}else{g=afc(new Eec(),a.Cb()+1,d.a+1);}kfc(g,'',0);for(e=0;e<d.a;e++){kfc(g,d[e],e+1);}mfc(g,0);for(e=0;e<a.Cb();e++){ofc(g,e+1,0,a.cc(e),null);for(f=0;f<d.a;f++){ofc(g,e+1,f+1,a.hc(e,f),a.ic(e,f));}}lfc(g,c);return g;}
+function ufc(c,b,a){if(b<=this.j.b){qfc(this,b);bfc(this,b,a);}}
+function Eec(){}
+_=Eec.prototype=new aw();_.zc=ufc;_.tN=sgc+'SortableTable';_.tI=608;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var rfc=0,sfc=1,vfc='rule-ListEvenRow',wfc='rule-List',xfc='rule-ListHeader',yfc='rule-SelectedRow';function aS(){q4(m4(new b4()));}
+function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{aS();}catch(a){b(d);}else{aS();}}
+var gc=[{},{11:1},{1:1,11:1,34:1,35:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{2:1,11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1},{8:1,11:1},{8:1,11:1},{8:1,11:1},{11:1},{2:1,6:1,11:1},{2:1,11:1},{9:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1},{3:1,11:1},{3:1,11:1,39:1},{3:1,11:1,92:1},{3:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,36:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,49:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1,33:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,43:1},{11:1,49:!
 1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,81:1},{11:1,13:1,36:1,37:1,81:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,46:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,49:1,56:1},{11:1,39:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,49:1},{11:1},{11:1,13:1,36:1,37:1,87:1},{11:1,13:1,36:1,37:1,48:1,54:1},{9:1,11:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,39:1},{11:1,39:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,50:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,80:1},{11:1,13:1,36:1,37:1,54:1},{11:1,36:1,52:1},{11:1,36:1,52:1},{11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1},{11:1},{11!
 :1},{11:1},{11:1},{11:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1},{11:1}
,{11:1},{3:1,11:1},{11:1,55:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{11:1,35:1},{3:1,11:1},{11:1},{11:1,57:1},{11:1,49:1,58:1},{11:1,49:1,58:1},{11:1},{11:1,49:1},{11:1},{11:1},{11:1,34:1,59:1},{11:1,57:1},{11:1,60:1},{11:1,49:1,58:1},{11:1},{11:1,49:1,58:1},{3:1,11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{7:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{8:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{1!
 1:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,53:1},{11:1,42:1},{11:1},{11:1},{11:1,36:1,52:1,64:1},{11:1,13:1,36:1,37:1,46:1,80:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,13:1,36:1,37:1,81:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,65:1},{11:1,13:1,36:1,37:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,38:1,39:1,91:1},{11:1,20:1,22:1,38:1,39:1},{11:1,23:1,38:1,39:1},{11:1,20:1,22:1,!
 24:1,38:1,39:1},{11:1,20:1,22:1,24:1,25:1,38:1,39:1},{11:1,20:1,26:1,3
8:1,39:1},{11:1,20:1,22:1,27:1,38:1,39:1},{11:1,20:1,22:1,27:1,28:1,38:1,39:1},{11:1,19:1,29:1,38:1,39:1},{11:1,21:1,30:1,38:1,39:1},{11:1,38:1,39:1,40:1},{11:1,15:1,38:1,39:1,40:1},{10:1,11:1,19:1,20:1,38:1,39:1},{11:1,19:1,31:1,38:1,39:1},{11:1,18:1,38:1,39:1},{11:1,38:1,39:1,83:1},{11:1,21:1,32:1,38:1,39:1,40:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,84:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,41:1},{4:1,11:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,46:1},{11:1,41:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,82:1,98:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:!
 1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,46:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{4:1,!
 11:1},{11:1,42:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1
,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1},{4:1,11:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1,53:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,90:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,42:1},{11:1,53:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1},{11:1,12:1,39:1},{3:1,11:1,39:1,70:1},{11:1,39:1,93:1},{11:1,16:1,39:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,39:1,97:1},{11:1,39:1,95:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1,69:1},{11:1,17:1,39:1},{11:1,39:1,99:1},{11:1,39:1,6!
 2:1},{11:1,14:1,39:1},{11:1,39:1,89:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,44:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1},{11:1,41:1},{11:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{!
 4:1,11:1},{4:1,11:1},{4:1,11:1},{4:1,11:1},{11:1},{11:1},{4:1,11:1},{1
1:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{11:1,46:1},{11:1},{11:1,42:1},{11:1,34:1,100:1},{11:1,13:1,36:1,37:1,51:1,54:1},{11:1,63:1},{11:1},{11:1,72:1,77:1,78:1},{11:1},{11:1,88:1},{11:1},{11:1},{11:1,94:1},{11:1,79:1},{11:1,71:1},{11:1,86:1},{11:1,76:1},{11:1,77:1},{11:1,78:1},{11:1,75:1},{11:1,78:1},{11:1,73:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,77:1},{11:1,75:1},{11:1,74:1,77:1},{11:1,75:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1}];if (org_drools_brms_JBRMS) {  var __gwt_initHandlers = org_drools_brms_JBRMS.__gwt_initHandlers;  org_drools_brms_JBRMS.onScriptLoad(gwtOnLoad);}})();
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0B6EA971B423F1D179C21170E0BA8A84.cache.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cache-entry>
+	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_TypeSerializer" hash="619B51D664C2EA16C242AAF2AF6BA7E6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableDataResult_FieldSerializer" hash="BFC3EC8D02BADBA251CA3B7A7F85C809"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.DSLSentence_FieldSerializer" hash="35AB7D23CC662D4F726060AA9938F6C6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.BuilderResult_FieldSerializer" hash="31FA4ADBFB94FFD9001BA8C2A4417504"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleAttribute_FieldSerializer" hash="7BF092FF4AE3E8CB784A96421E7BC6B4"/>
+	<generated-type-hash class="com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException_FieldSerializer" hash="FF198044879E67E1ACF2E0C29CC58CB5"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.MultiWordSuggestOracle_MultiWordSuggestion_FieldSerializer" hash="1721A875793F79F044BA9AEC6543C8A2"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.TreeImages_generatedBundle" hash="C4DB9D53C840859028C6F483DB58A75C"/>
+	<generated-type-hash class="com.google.gwt.user.client.rpc.SerializableException_FieldSerializer" hash="1CB9B63ABEC9BE7E663F6C56AA395208"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Request_FieldSerializer" hash="93219A0D78603408F1E24CE444809ADE"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableConfig_FieldSerializer" hash="68BF54922D06AC518871EB9FEFD7D68E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionRetractFact_FieldSerializer" hash="3ABE2631C28ACB7B3C1358BD27C80255"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SnapshotInfo_FieldSerializer" hash="995C2E7AEC07438074706D40B4864FF5"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertFact_FieldSerializer" hash="B3DA8CF19248044B9B347AFEE8AAC7F7"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.ValidatedResponse_FieldSerializer" hash="15269178DE71D238F26587B3095E7A9A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint_FieldSerializer" hash="8606C355A0F17A64941EB10EFAB41036"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionSetField_FieldSerializer" hash="7F0BA1987E3FB650C44049758B209A0E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint_FieldSerializer" hash="F30861DCB878C093201710AE55E3EF52"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFactPattern_FieldSerializer" hash="85DD7A29F613D6A493314730060FF12A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldValue_FieldSerializer" hash="C12B27B0B8651B5CCA2358C044C74DD1"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.DetailedSerializableException_FieldSerializer" hash="CE21C342ABA475456EAAE97B0AE44393"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.MetaData_FieldSerializer" hash="C7F537CFDF5A4E02C318B4614CEC20EA"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact_FieldSerializer" hash="8646F66FFEBDCE52535B8FBA9AE37830"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.SuggestionCompletionEngine_FieldSerializer" hash="1BED05A61D2EFBC600410686A3304B3E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.SingleFieldConstraint_FieldSerializer" hash="C2DB414BB43FE22A8E8CDBA910564AA6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RuleAsset_FieldSerializer" hash="7D9F400F79A33BD99A5721E52B6EDBA7"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.PackageConfigData_FieldSerializer" hash="1C8237E912FA51556E3496683D32C8B5"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Response_FieldSerializer" hash="1C6D42E0AC1FE9CDD63B791E11BD9615"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.FactPattern_FieldSerializer" hash="5535A6C88015EE51C5F4FA808DFAA8ED"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SessionExpiredException_FieldSerializer" hash="0A173F0D6310FDB17BD90CBB1948DC75"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_Proxy" hash="EE514DB88A5F377A761E4D0AAB187640"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableDataRow_FieldSerializer" hash="411D058D97408AAE2C3EBA1620048463"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldList_FieldSerializer" hash="73DAB0917FEA7A2E484F4B12C200C868"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_TypeSerializer" hash="8DCA6439D096072B75D6701D8B54A1DA"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionUpdateField_FieldSerializer" hash="53DAC10B208EAD97D6542560F2C8BAAD"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RuleContentText_FieldSerializer" hash="9F5834F874613140D0BDEC4056C49928"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_Proxy" hash="0549B5DD064B695F228AA7312765E9C0"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleModel_FieldSerializer" hash="2A44CFABD8B63D33EFAA2FF86226638A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ConnectiveConstraint_FieldSerializer" hash="BF0E8BCBA71D0333FD6536A3B7B09370"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.TextBoxImpl" out="com.google.gwt.user.client.ui.impl.TextBoxImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.ListBox.Impl" out="com.google.gwt.user.client.ui.ListBox.Impl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.FocusImpl" out="com.google.gwt.user.client.ui.impl.FocusImplOld"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.ClippedImageImpl" out="com.google.gwt.user.client.ui.impl.ClippedImageImpl"/>
+	<rebind-decision in="org.drools.brms.client.JBRMSEntryPoint" out="org.drools.brms.client.JBRMSEntryPoint"/>
+	<rebind-decision in="org.drools.brms.client.rpc.RepositoryService" out="org.drools.brms.client.rpc.RepositoryService_Proxy"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.HistoryImpl" out="com.google.gwt.user.client.impl.HistoryImplMozilla"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.DOMImpl" out="com.google.gwt.user.client.impl.DOMImplMozillaOld"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.PopupImpl" out="com.google.gwt.user.client.ui.impl.PopupImplMozilla"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.TreeImages" out="com.google.gwt.user.client.ui.TreeImages_generatedBundle"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.FormPanelImpl" out="com.google.gwt.user.client.ui.impl.FormPanelImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.HTTPRequestImpl" out="com.google.gwt.user.client.impl.HTTPRequestImpl"/>
+	<rebind-decision in="org.drools.brms.client.rpc.SecurityService" out="org.drools.brms.client.rpc.SecurityService_Proxy"/>
+</cache-entry>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.html
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.html	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.html	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3413 +0,0 @@
-<html><head><script>var $wnd = parent;var $doc = $wnd.document;var $moduleName, $moduleBase;</script></head><body><script><!--
-var _,hfc='com.google.gwt.core.client.',ifc='com.google.gwt.lang.',jfc='com.google.gwt.user.client.',kfc='com.google.gwt.user.client.impl.',lfc='com.google.gwt.user.client.rpc.',mfc='com.google.gwt.user.client.rpc.core.java.lang.',nfc='com.google.gwt.user.client.rpc.core.java.util.',ofc='com.google.gwt.user.client.rpc.impl.',pfc='com.google.gwt.user.client.ui.',qfc='com.google.gwt.user.client.ui.impl.',rfc='java.io.',sfc='java.lang.',tfc='java.util.',ufc='org.drools.brms.client.',vfc='org.drools.brms.client.admin.',wfc='org.drools.brms.client.categorynav.',xfc='org.drools.brms.client.common.',yfc='org.drools.brms.client.decisiontable.',zfc='org.drools.brms.client.modeldriven.',Afc='org.drools.brms.client.modeldriven.brl.',Bfc='org.drools.brms.client.modeldriven.ui.',Cfc='org.drools.brms.client.packages.',Dfc='org.drools.brms.client.rpc.',Efc='org.drools.brms.client.ruleeditor.',Ffc='org.drools.brms.client.rulelist.',agc='org.drools.brms.client.table.';function s2(){}
-function wT(a){return this===a;}
-function xT(){return jV(this);}
-function yT(){return this.tN+'@'+this.hC();}
-function uT(){}
-_=uT.prototype={};_.eQ=wT;_.hC=xT;_.tS=yT;_.toString=function(){return this.tS();};_.tN=sfc+'Object';_.tI=1;function v(){return C();}
-function w(a){return a==null?null:a.tN;}
-var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function C(){return $moduleBase;}
-function D(){return ++E;}
-var E=0;function mV(b,a){b.c=a;return b;}
-function nV(c,b,a){c.c=b;return c;}
-function pV(){return this.c;}
-function qV(){var a,b;a=w(this);b=this.zb();if(b!==null){return a+': '+b;}else{return a;}}
-function lV(){}
-_=lV.prototype=new uT();_.zb=pV;_.tS=qV;_.tN=sfc+'Throwable';_.tI=3;_.c=null;function lS(b,a){mV(b,a);return b;}
-function mS(c,b,a){nV(c,b,a);return c;}
-function kS(){}
-_=kS.prototype=new lV();_.tN=sfc+'Exception';_.tI=4;function AT(b,a){lS(b,a);return b;}
-function BT(c,b,a){mS(c,b,a);return c;}
-function zT(){}
-_=zT.prototype=new kS();_.tN=sfc+'RuntimeException';_.tI=5;function ab(c,b,a){AT(c,'JavaScript '+b+' exception: '+a);return c;}
-function F(){}
-_=F.prototype=new zT();_.tN=hfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
-function fb(a){return A(a);}
-function gb(){return [];}
-function hb(){return function(){};}
-function ib(){return {};}
-function kb(a){return eb(this,a);}
-function jb(a,b){return a===b;}
-function lb(){return fb(this);}
-function nb(){return mb(this);}
-function mb(a){if(a.toString)return a.toString();return '[object]';}
-function cb(){}
-_=cb.prototype=new uT();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=hfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
-function rb(a,b,c){return a[b]=c;}
-function tb(a,b){return sb(a,b);}
-function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
-function ub(b,a){return b[a];}
-function wb(b,a){return b[a];}
-function vb(a){return a.length;}
-function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
-function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new fT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=wU(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
-function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
-function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new vR();}return rb(a,b,c);}
-function ob(){}
-_=ob.prototype=new uT();_.tN=ifc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
-function Eb(a){return String.fromCharCode(a);}
-function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
-function ac(b,a){return b!=null&&Db(b.tI,a);}
-function bc(a){return a&65535;}
-function cc(a){return ~(~a);}
-function dc(a){if(a>(yS(),zS))return yS(),zS;if(a<(yS(),AS))return yS(),AS;return a>=0?Math.floor(a):Math.ceil(a);}
-function fc(){throw new fS();}
-function ec(a){if(a!==null){throw new fS();}return a;}
-function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
-var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
-function lc(a){return a.message;}
-function mc(a){return a.name;}
-function oc(b,a){return b;}
-function nc(){}
-_=nc.prototype=new zT();_.tN=jfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=CX(new AX());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
-function gd(a){fd(a);return a;}
-function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
-function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.pb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(iV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
-function kd(a){if(!gY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
-function ld(b,a){b.c=a;}
-function md(b,a){b.e=a;}
-function nd(b,a){EX(b.b,a);kd(b);}
-function od(a,b){return dT(a-b)>=100;}
-function qc(){}
-_=qc.prototype=new uT();_.tN=jfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=s2;uh=CX(new AX());{th();}}
-function ih(a){kh();return a;}
-function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}iY(uh,a);}
-function lh(a){if(!a.b){iY(uh,a);}a.fe();}
-function nh(b,a){if(a<=0){throw pS(new oS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);EX(uh,b);}
-function mh(b,a){if(a<=0){throw pS(new oS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);EX(uh,b);}
-function oh(a){kh();$wnd.clearInterval(a);}
-function ph(a){kh();$wnd.clearTimeout(a);}
-function qh(b,a){kh();return $wnd.setInterval(function(){b.qb();},a);}
-function rh(b,a){kh();return $wnd.setTimeout(function(){b.qb();},a);}
-function sh(){var a;a=x;{lh(this);}}
-function th(){kh();yh(new eh());}
-function dh(){}
-_=dh.prototype=new uT();_.qb=sh;_.tN=jfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=s2;kh();}
-function sc(b,a){tc();b.a=a;ih(b);return b;}
-function uc(){if(!this.a.c){return;}id(this.a);}
-function rc(){}
-_=rc.prototype=new dh();_.fe=uc;_.tN=jfc+'CommandExecutor$1';_.tI=14;function xc(){xc=s2;kh();}
-function wc(b,a){xc();b.a=a;ih(b);return b;}
-function yc(){md(this.a,false);jd(this.a,iV());}
-function vc(){}
-_=vc.prototype=new dh();_.fe=yc;_.tN=jfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
-function Cc(a){return dY(a.d.b,a.b);}
-function Dc(a){return a.c<a.a;}
-function Ec(b){var a;b.b=b.c;a=dY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
-function Fc(a){hY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
-function ad(b,a){b.a=a;}
-function bd(a){return a.b==(-1);}
-function cd(){return Dc(this);}
-function dd(){return Ec(this);}
-function ed(){Fc(this);}
-function zc(){}
-_=zc.prototype=new uT();_.kc=cd;_.sc=dd;_.ce=ed;_.tN=jfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=s2;rf=CX(new AX());{gf=new ki();Ci(gf);}}
-function sd(a){rd();EX(rf,a);}
-function td(b,a){rd();cj(gf,b,a);}
-function ud(a,b){rd();return qi(gf,a,b);}
-function vd(){rd();return ej(gf,'A');}
-function wd(){rd();return ej(gf,'button');}
-function xd(){rd();return ej(gf,'div');}
-function yd(a){rd();return ej(gf,a);}
-function zd(){rd();return ej(gf,'form');}
-function Ad(){rd();return ej(gf,'iframe');}
-function Bd(){rd();return ej(gf,'img');}
-function Cd(){rd();return fj(gf,'checkbox');}
-function Dd(){rd();return fj(gf,'password');}
-function Ed(a){rd();return ri(gf,a);}
-function Fd(){rd();return fj(gf,'text');}
-function ae(){rd();return ej(gf,'label');}
-function be(a){rd();return gj(gf,a);}
-function ce(){rd();return ej(gf,'span');}
-function de(){rd();return ej(gf,'tbody');}
-function ee(){rd();return ej(gf,'td');}
-function fe(){rd();return ej(gf,'tr');}
-function ge(){rd();return ej(gf,'table');}
-function he(){rd();return ej(gf,'textarea');}
-function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
-function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.wc(b);}finally{ie=d;}}
-function le(b,a){rd();hj(gf,b,a);}
-function me(a){rd();return ij(gf,a);}
-function ne(a){rd();return jj(gf,a);}
-function oe(a){rd();return kj(gf,a);}
-function pe(a){rd();return lj(gf,a);}
-function qe(a){rd();return mj(gf,a);}
-function re(a){rd();return si(gf,a);}
-function se(a){rd();return nj(gf,a);}
-function te(a){rd();return oj(gf,a);}
-function ue(a){rd();return pj(gf,a);}
-function ve(a){rd();return ti(gf,a);}
-function we(a){rd();return ui(gf,a);}
-function xe(a){rd();return qj(gf,a);}
-function ye(a){rd();vi(gf,a);}
-function ze(a){rd();return wi(gf,a);}
-function Ae(a){rd();return mi(gf,a);}
-function Be(a){rd();return ni(gf,a);}
-function Ee(b,a){rd();return zi(gf,b,a);}
-function Ce(a){rd();return xi(gf,a);}
-function De(b,a){rd();return yi(gf,b,a);}
-function bf(a,b){rd();return tj(gf,a,b);}
-function Fe(a,b){rd();return rj(gf,a,b);}
-function af(a,b){rd();return sj(gf,a,b);}
-function cf(a){rd();return uj(gf,a);}
-function df(a){rd();return Ai(gf,a);}
-function ef(a){rd();return vj(gf,a);}
-function ff(a){rd();return Bi(gf,a);}
-function hf(c,a,b){rd();Di(gf,c,a,b);}
-function jf(c,b,d,a){rd();wj(gf,c,b,d,a);}
-function kf(b,a){rd();return Ei(gf,b,a);}
-function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(dY(rf,rf.b-1),5);if(!(c=b.Cc(a))){le(a,true);ye(a);}}return c;}
-function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}Fi(gf,a);}
-function nf(b,a){rd();xj(gf,b,a);}
-function of(b,a){rd();yj(gf,b,a);}
-function pf(a){rd();iY(rf,a);}
-function sf(a){rd();zj(gf,a);}
-function tf(a){rd();qf=a;aj(gf,a);}
-function uf(b,a,c){rd();Aj(gf,b,a,c);}
-function xf(a,b,c){rd();Dj(gf,a,b,c);}
-function vf(a,b,c){rd();Bj(gf,a,b,c);}
-function wf(a,b,c){rd();Cj(gf,a,b,c);}
-function yf(a,b){rd();Ej(gf,a,b);}
-function zf(a,b){rd();Fj(gf,a,b);}
-function Af(a,b){rd();ak(gf,a,b);}
-function Bf(a,b){rd();bk(gf,a,b);}
-function Cf(b,a,c){rd();ck(gf,b,a,c);}
-function Df(b,a,c){rd();dk(gf,b,a,c);}
-function Ef(a,b){rd();bj(gf,a,b);}
-function Ff(a){rd();return ek(gf,a);}
-function ag(){rd();return fk(gf);}
-function bg(){rd();return gk(gf);}
-var ie=null,gf=null,qf=null,rf;function dg(){dg=s2;gg=gd(new qc());}
-function fg(a){dg();nd(gg,a);}
-function eg(a){dg();if(a===null){throw iT(new hT(),'cmd can not be null');}nd(gg,a);}
-var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
-function kg(a){return jg(this,a);}
-function lg(){return fb(hc(this,hg));}
-function mg(){return Ff(this);}
-function hg(){}
-_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=jfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
-function sg(){return fb(hc(this,ng));}
-function tg(){return ze(this);}
-function ng(){}
-_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=jfc+'Event';_.tI=18;function vg(){vg=s2;xg=jk(new ik());}
-function wg(c,b,a){vg();return lk(xg,c,b,a);}
-var xg;function Ag(){Ag=s2;Eg=CX(new AX());{Fg=new rk();if(!tk(Fg)){Fg=null;}}}
-function Bg(a){Ag();EX(Eg,a);}
-function Cg(a){Ag();var b,c;for(b=Eg.qc();b.kc();){c=Fb(b.sc(),7);c.bd(a);}}
-function Dg(){Ag();return Fg!==null?wk(Fg):'';}
-function ah(a){Ag();if(Fg!==null){uk(Fg,a);}}
-function bh(b){Ag();var a;a=x;{Cg(b);}}
-var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(dY((kh(),uh),0),8));}}
-function hh(){return null;}
-function eh(){}
-_=eh.prototype=new uT();_.ud=gh;_.vd=hh;_.tN=jfc+'Timer$1';_.tI=19;function xh(){xh=s2;Ah=CX(new AX());ii=CX(new AX());{di();}}
-function yh(a){xh();EX(Ah,a);}
-function zh(a){xh();$wnd.alert(a);}
-function Bh(a){xh();return $wnd.confirm(a);}
-function Ch(){xh();var a,b;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);b.ud();}}
-function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);c=b.vd();{d=c;}}return d;}
-function Eh(){xh();var a,b;for(a=ii.qc();a.kc();){b=ec(a.sc());null.jf();}}
-function Fh(){xh();return ag();}
-function ai(){xh();return bg();}
-function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
-function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
-function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
-function ei(){xh();var a;a=x;{Ch();}}
-function fi(){xh();var a;a=x;{return Dh();}}
-function gi(){xh();var a;a=x;{Eh();}}
-function hi(c,b,a){xh();$wnd.open(c,b,a);}
-var Ah,ii;function cj(c,b,a){b.appendChild(a);}
-function ej(b,a){return $doc.createElement(a);}
-function fj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
-function gj(c,a){var b;b=ej(c,'select');if(a){Bj(c,b,'multiple',true);}return b;}
-function hj(c,b,a){b.cancelBubble=a;}
-function ij(b,a){return !(!a.altKey);}
-function jj(b,a){return a.clientX|| -1;}
-function kj(b,a){return a.clientY|| -1;}
-function lj(b,a){return !(!a.ctrlKey);}
-function mj(b,a){return a.currentTarget;}
-function nj(b,a){return a.which||(a.keyCode|| -1);}
-function oj(b,a){return !(!a.metaKey);}
-function pj(b,a){return !(!a.shiftKey);}
-function qj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
-function tj(d,a,b){var c=a[b];return c==null?null:String(c);}
-function rj(c,a,b){return !(!a[b]);}
-function sj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
-function uj(b,a){return a.__eventBits||0;}
-function vj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.xb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
-function wj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
-function xj(c,b,a){b.removeChild(a);}
-function yj(c,b,a){b.removeAttribute(a);}
-function zj(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
-function Aj(c,b,a,d){b.setAttribute(a,d);}
-function Dj(c,a,b,d){a[b]=d;}
-function Bj(c,a,b,d){a[b]=d;}
-function Cj(c,a,b,d){a[b]=d;}
-function Ej(c,a,b){a.__listener=b;}
-function Fj(c,a,b){a.src=b;}
-function ak(c,a,b){if(!b){b='';}a.innerHTML=b;}
-function bk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
-function ck(c,b,a,d){b.style[a]=d;}
-function dk(c,b,a,d){b.style[a]=d;}
-function ek(b,a){return a.outerHTML;}
-function fk(a){return $doc.body.clientHeight;}
-function gk(a){return $doc.body.clientWidth;}
-function hk(a){return vj(this,a);}
-function ji(){}
-_=ji.prototype=new uT();_.xb=hk;_.tN=kfc+'DOMImpl';_.tI=20;function qi(c,a,b){return a==b;}
-function ri(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
-function si(b,a){return a.relatedTarget?a.relatedTarget:null;}
-function ti(b,a){return a.target||null;}
-function ui(b,a){return a.relatedTarget||null;}
-function vi(b,a){a.preventDefault();}
-function wi(b,a){return a.toString();}
-function zi(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
-function xi(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
-function yi(d,c,e){var b=0,a=c.firstChild;while(a){if(a==e)return b;if(a.nodeType==1)++b;a=a.nextSibling;}return -1;}
-function Ai(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
-function Bi(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
-function Ci(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
-function Di(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
-function Ei(c,b,a){while(a){if(b==a){return true;}a=a.parentNode;if(a&&a.nodeType!=1){a=null;}}return false;}
-function Fi(b,a){if(a==$wnd.__captureElem)$wnd.__captureElem=null;}
-function aj(b,a){$wnd.__captureElem=a;}
-function bj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
-function oi(){}
-_=oi.prototype=new ji();_.tN=kfc+'DOMImplStandard';_.tI=21;function mi(d,b){var c=0;var a=b.parentNode;while(a!=$doc.body){if(a.tagName!='TR'&&a.tagName!='TBODY'){c-=a.scrollLeft;}a=a.parentNode;}while(b){c+=b.offsetLeft;b=b.offsetParent;}return c;}
-function ni(c,b){var d=0;var a=b.parentNode;while(a!=$doc.body){if(a.tagName!='TR'&&a.tagName!='TBODY'){d-=a.scrollTop;}a=a.parentNode;}while(b){d+=b.offsetTop;b=b.offsetParent;}return d;}
-function ki(){}
-_=ki.prototype=new oi();_.tN=kfc+'DOMImplOpera';_.tI=22;function jk(a){pk=hb();return a;}
-function lk(c,d,b,a){return mk(c,null,null,d,b,a);}
-function mk(d,f,c,e,b,a){return kk(d,f,c,e,b,a);}
-function kk(e,g,d,f,c,b){var h=e.lb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=pk;b.Ac(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=pk;return false;}}
-function ok(){return new XMLHttpRequest();}
-function ik(){}
-_=ik.prototype=new uT();_.lb=ok;_.tN=kfc+'HTTPRequestImpl';_.tI=23;var pk=null;function wk(a){return $wnd.__gwt_historyToken;}
-function xk(a){bh(a);}
-function qk(){}
-_=qk.prototype=new uT();_.tN=kfc+'HistoryImpl';_.tI=24;function tk(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;xk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
-function uk(b,a){if(a==null){a='';}$wnd.location.hash=encodeURIComponent(a);}
-function rk(){}
-_=rk.prototype=new qk();_.tN=kfc+'HistoryImplStandard';_.tI=25;function Ak(a){AT(a,'This application is out of date, please click the refresh button on your browser');return a;}
-function zk(){}
-_=zk.prototype=new zT();_.tN=lfc+'IncompatibleRemoteServiceException';_.tI=26;function Ek(b,a){}
-function Fk(b,a){}
-function bl(b,a){BT(b,a,null);return b;}
-function al(){}
-_=al.prototype=new zT();_.tN=lfc+'InvocationException';_.tI=27;function nl(){return this.b;}
-function fl(){}
-_=fl.prototype=new kS();_.zb=nl;_.tN=lfc+'SerializableException';_.tI=28;_.b=null;function jl(b,a){ml(a,b.Ed());}
-function kl(a){return a.b;}
-function ll(b,a){b.gf(kl(a));}
-function ml(a,b){a.b=b;}
-function pl(b,a){lS(b,a);return b;}
-function ol(){}
-_=ol.prototype=new kS();_.tN=lfc+'SerializationException';_.tI=29;function ul(a){bl(a,'Service implementation URL not specified');return a;}
-function tl(){}
-_=tl.prototype=new al();_.tN=lfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=30;function zl(b,a){}
-function Al(a){return FR(a.zd());}
-function Bl(b,a){b.bf(a.a);}
-function El(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Dd());}}
-function Fl(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.ff(a[c]);}}
-function cm(b,a){}
-function dm(a){return a.Ed();}
-function em(b,a){b.gf(a);}
-function hm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Ad();}}
-function im(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.cf(a[c]);}}
-function lm(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();EX(b,c);}}
-function mm(e,a){var b,c,d;d=a.b;e.df(d);b=a.qc();while(b.kc()){c=b.sc();e.ff(c);}}
-function pm(b,a){}
-function qm(a){return jZ(new hZ(),a.Cd());}
-function rm(b,a){b.ef(mZ(a));}
-function um(e,b){var a,c,d,f;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();f=e.Dd();a1(b,c,f);}}
-function vm(f,c){var a,b,d,e;e=c.c;f.df(e);b=E0(c);d=u0(b);while(m0(d)){a=n0(d);f.ff(a.yb());f.ff(a.ec());}}
-function ym(d,b){var a,c;c=d.Bd();for(a=0;a<c;++a){u1(b,d.Dd());}}
-function zm(c,a){var b;c.df(a.a.c);for(b=w1(a);xW(b);){c.ff(yW(b));}}
-function Cm(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();h2(b,c);}}
-function Dm(e,a){var b,c,d;d=a.a.b;e.df(d);b=j2(a);while(b.kc()){c=b.sc();e.ff(c);}}
-function vn(a){return a.j>2;}
-function wn(b,a){b.i=a;}
-function xn(a,b){a.j=b;}
-function Em(){}
-_=Em.prototype=new uT();_.tN=ofc+'AbstractSerializationStream';_.tI=31;_.i=0;_.j=3;function an(a){a.e=CX(new AX());}
-function bn(a){an(a);return a;}
-function dn(b,a){aY(b.e);xn(b,En(b));wn(b,En(b));}
-function en(a){var b,c;b=a.Bd();if(b<0){return dY(a.e,-(b+1));}c=a.cc(b);if(c===null){return null;}return a.jb(c);}
-function fn(b,a){EX(b.e,a);}
-function gn(){return en(this);}
-function Fm(){}
-_=Fm.prototype=new Em();_.Dd=gn;_.tN=ofc+'AbstractSerializationStreamReader';_.tI=32;function kn(b,a){b.E(a?'1':'0');}
-function ln(b,a){b.E(dV(a));}
-function mn(c,a){var b,d;if(a===null){nn(c,null);return;}b=c.wb(a);if(b>=0){ln(c,-(b+1));return;}c.ge(a);d=c.Bb(a);nn(c,d);c.je(a,d);}
-function nn(a,b){ln(a,a.z(b));}
-function on(a){kn(this,a);}
-function pn(a){this.E(dV(a));}
-function qn(a){ln(this,a);}
-function rn(a){this.E(eV(a));}
-function sn(a){mn(this,a);}
-function tn(a){nn(this,a);}
-function hn(){}
-_=hn.prototype=new Em();_.bf=on;_.cf=pn;_.df=qn;_.ef=rn;_.ff=sn;_.gf=tn;_.tN=ofc+'AbstractSerializationStreamWriter';_.tI=33;function zn(b,a){bn(b);b.c=a;return b;}
-function Bn(b,a){if(!a){return null;}return b.d[a-1];}
-function Cn(b,a){b.b=co(a);b.a=eo(b.b);dn(b,a);b.d=Fn(b);}
-function Dn(a){return !(!a.b[--a.a]);}
-function En(a){return a.b[--a.a];}
-function Fn(a){return a.b[--a.a];}
-function ao(a){return Bn(a,En(a));}
-function bo(b){var a;a=this.c.nc(this,b);fn(this,a);this.c.ib(this,a,b);return a;}
-function co(a){return eval(a);}
-function eo(a){return a.length;}
-function fo(a){return Bn(this,a);}
-function go(){return Dn(this);}
-function ho(){return this.b[--this.a];}
-function io(){return En(this);}
-function jo(){return this.b[--this.a];}
-function ko(){return ao(this);}
-function yn(){}
-_=yn.prototype=new Fm();_.jb=bo;_.cc=fo;_.zd=go;_.Ad=ho;_.Bd=io;_.Cd=jo;_.Ed=ko;_.tN=ofc+'ClientSerializationStreamReader';_.tI=34;_.a=0;_.b=null;_.c=null;_.d=null;function mo(a){a.h=CX(new AX());}
-function no(d,c,a,b){mo(d);d.f=c;d.b=a;d.e=b;return d;}
-function po(c,a){var b=c.d[a];return b==null?-1:b;}
-function qo(c,a){var b=c.g[':'+a];return b==null?0:b;}
-function ro(a){a.c=0;a.d=ib();a.g=ib();aY(a.h);a.a=FT(new ET());if(vn(a)){nn(a,a.b);nn(a,a.e);}}
-function so(b,a,c){b.d[a]=c;}
-function to(b,a,c){b.g[':'+a]=c;}
-function uo(b){var a;a=FT(new ET());vo(b,a);xo(b,a);wo(b,a);return fU(a);}
-function vo(b,a){zo(a,dV(b.j));zo(a,dV(b.i));}
-function wo(b,a){bU(a,fU(b.a));}
-function xo(d,a){var b,c;c=d.h.b;zo(a,dV(c));for(b=0;b<c;++b){zo(a,Fb(dY(d.h,b),1));}return a;}
-function yo(b){var a;if(b===null){return 0;}a=qo(this,b);if(a>0){return a;}EX(this.h,b);a=this.h.b;to(this,b,a);return a;}
-function zo(a,b){bU(a,b);aU(a,65535);}
-function Ao(a){zo(this.a,a);}
-function Bo(a){return po(this,jV(a));}
-function Co(a){var b,c;c=w(a);b=this.f.bc(c);if(b!==null){c+='/'+b;}return c;}
-function Do(a){so(this,jV(a),this.c++);}
-function Eo(a,b){this.f.ie(this,a,b);}
-function Fo(){return uo(this);}
-function lo(){}
-_=lo.prototype=new hn();_.z=yo;_.E=Ao;_.wb=Bo;_.Bb=Co;_.ge=Do;_.je=Eo;_.tS=Fo;_.tN=ofc+'ClientSerializationStreamWriter';_.tI=35;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function jN(b,a){FN(b.dc(),a,true);}
-function lN(a){return Ae(a.ub());}
-function mN(a){return Be(a.ub());}
-function nN(a){return af(a.w,'offsetHeight');}
-function oN(a){return af(a.w,'offsetWidth');}
-function pN(b,a){FN(b.dc(),a,false);}
-function qN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
-function rN(b,a){if(b.w!==null){qN(b,b.w,a);}b.w=a;}
-function sN(b,c,a){if(c>=0){b.Be(c+'px');}if(a>=0){b.qe(a+'px');}}
-function tN(b,c,a){b.Be(c);b.qe(a);}
-function uN(b,a){EN(b.dc(),a);}
-function vN(b,a){Ef(b.ub(),a|cf(b.ub()));}
-function wN(){return this.w;}
-function xN(){return nN(this);}
-function yN(){return oN(this);}
-function zN(){return this.w;}
-function AN(a){return bf(a,'className');}
-function BN(a){return a.style.display!='none';}
-function CN(a){rN(this,a);}
-function DN(a){Df(this.w,'height',a);}
-function EN(a,b){xf(a,'className',b);}
-function FN(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw AT(new zT(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=AU(j);if(rU(j)==0){throw pS(new oS(),'Style names cannot be empty');}i=AN(c);e=pU(i,j);while(e!=(-1)){if(e==0||iU(i,e-1)==32){f=e+rU(j);g=rU(i);if(f==g||f<g&&iU(i,f)==32){break;}}e=qU(i,j,e+1);}if(a){if(e==(-1)){if(rU(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=AU(xU(i,0,e));d=AU(wU(i,e+rU(j)));if(rU(b)==0){h=d;}else if(rU(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
-function aO(a){if(a===null||rU(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
-function bO(a,b){a.style.display=b?'':'none';}
-function cO(a){bO(this.w,a);}
-function dO(a){Df(this.w,'width',a);}
-function eO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
-function iN(){}
-_=iN.prototype=new uT();_.ub=wN;_.Cb=xN;_.Db=yN;_.dc=zN;_.me=CN;_.qe=DN;_.te=aO;_.ye=cO;_.Be=dO;_.tS=eO;_.tN=pfc+'UIObject';_.tI=36;_.w=null;function qP(a){if(a.oc()){throw sS(new rS(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.ub(),a);a.kb();a.fd();}
-function rP(a){if(!a.oc()){throw sS(new rS(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.td();}finally{a.mb();yf(a.ub(),null);a.t=false;}}
-function sP(a){if(ac(a.v,54)){Fb(a.v,54).ee(a);}else if(a.v!==null){throw sS(new rS(),"This widget's parent does not implement HasWidgets");}}
-function tP(b,a){if(b.oc()){yf(b.ub(),null);}rN(b,a);if(b.oc()){yf(a,b);}}
-function uP(b,a){b.u=a;}
-function vP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.oc()){c.Bc();}c.v=null;}else{if(a!==null){throw sS(new rS(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.oc()){c.uc();}}}
-function wP(){}
-function xP(){}
-function yP(){return this.t;}
-function zP(){qP(this);}
-function AP(a){}
-function BP(){rP(this);}
-function CP(){}
-function DP(){}
-function EP(a){tP(this,a);}
-function oO(){}
-_=oO.prototype=new iN();_.kb=wP;_.mb=xP;_.oc=yP;_.uc=zP;_.wc=AP;_.Bc=BP;_.fd=CP;_.td=DP;_.me=EP;_.tN=pfc+'Widget';_.tI=37;_.t=false;_.u=null;_.v=null;function uD(b,a){vP(a,b);}
-function wD(b,a){vP(a,null);}
-function xD(){var a;a=this.qc();while(a.kc()){a.sc();a.ce();}}
-function yD(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),20);a.uc();}}
-function zD(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),20);a.Bc();}}
-function AD(){}
-function BD(){}
-function tD(){}
-_=tD.prototype=new oO();_.ab=xD;_.kb=yD;_.mb=zD;_.fd=AD;_.td=BD;_.tN=pfc+'Panel';_.tI=38;function vq(a){a.f=yO(new pO(),a);}
-function wq(a){vq(a);return a;}
-function xq(c,a,b){sP(a);zO(c.f,a);td(b,a.ub());uD(c,a);}
-function yq(d,b,a){var c;Aq(d,a);if(b.v===d){c=Cq(d,b);if(c<a){a--;}}return a;}
-function zq(b,a){if(a<0||a>=b.f.c){throw new uS();}}
-function Aq(b,a){if(a<0||a>b.f.c){throw new uS();}}
-function Dq(b,a){return BO(b.f,a);}
-function Cq(b,a){return CO(b.f,a);}
-function Eq(e,b,c,a,d){a=yq(e,b,a);sP(b);DO(e.f,b,a);if(d){hf(c,b.ub(),a);}else{td(c,b.ub());}uD(e,b);}
-function Fq(a){return EO(a.f);}
-function ar(b,c){var a;if(c.v!==b){return false;}wD(b,c);a=c.ub();nf(ff(a),a);aP(b.f,c);return true;}
-function br(){return Fq(this);}
-function cr(a){return this.ee(Dq(this,a));}
-function dr(a){return ar(this,a);}
-function uq(){}
-_=uq.prototype=new tD();_.qc=br;_.de=cr;_.ee=dr;_.tN=pfc+'ComplexPanel';_.tI=39;function cp(a){wq(a);a.me(xd());Df(a.ub(),'position','relative');Df(a.ub(),'overflow','hidden');return a;}
-function dp(a,b){xq(a,b,a.ub());}
-function fp(b,c){var a;a=ar(b,c);if(a){gp(c.ub());}return a;}
-function gp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
-function hp(a){return fp(this,a);}
-function bp(){}
-_=bp.prototype=new uq();_.ee=hp;_.tN=pfc+'AbsolutePanel';_.tI=40;function ip(){}
-_=ip.prototype=new uT();_.tN=pfc+'AbstractImagePrototype';_.tI=41;function hu(){hu=s2;lu=(yQ(),CQ);}
-function fu(b,a){hu();ju(b,a);return b;}
-function gu(b,a){if(b.k===null){b.k=Bt(new At());}EX(b.k,a);}
-function iu(b,a){switch(xe(a)){case 1:if(b.j!==null){sq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){Dt(b.k,b,a);}break;case 128:case 512:case 256:break;}}
-function ju(b,a){tP(b,a);vN(b,7041);}
-function ku(a){if(this.j===null){this.j=qq(new pq());}EX(this.j,a);}
-function mu(a){iu(this,a);}
-function nu(a){ju(this,a);}
-function ou(a){vf(this.ub(),'disabled',!a);}
-function pu(a){if(a){lu.rb(this.ub());}else{lu.F(this.ub());}}
-function qu(a){lu.se(this.ub(),a);}
-function eu(){}
-_=eu.prototype=new oO();_.x=ku;_.wc=mu;_.me=nu;_.ne=ou;_.oe=pu;_.re=qu;_.tN=pfc+'FocusWidget';_.tI=42;_.j=null;_.k=null;var lu;function np(){np=s2;hu();}
-function mp(b,a){np();fu(b,a);return b;}
-function op(a){Af(this.ub(),a);}
-function lp(){}
-_=lp.prototype=new eu();_.pe=op;_.tN=pfc+'ButtonBase';_.tI=43;function rp(){rp=s2;np();}
-function pp(a){rp();mp(a,wd());sp(a.ub());uN(a,'gwt-Button');return a;}
-function qp(b,a){rp();pp(b);b.pe(a);return b;}
-function sp(b){rp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
-function kp(){}
-_=kp.prototype=new lp();_.tN=pfc+'Button';_.tI=44;function up(a){wq(a);a.e=ge();a.d=de();td(a.e,a.d);a.me(a.e);return a;}
-function wp(c,b,a){xf(b,'align',a.a);}
-function xp(c,b,a){Df(b,'verticalAlign',a.a);}
-function yp(c,a){var b;b=ff(c.ub());xf(b,'height',a);}
-function zp(b,c){var a;a=ff(b.ub());xf(a,'width',c);}
-function tp(){}
-_=tp.prototype=new uq();_.ke=yp;_.le=zp;_.tN=pfc+'CellPanel';_.tI=45;_.d=null;_.e=null;function vV(d,a,b){var c;while(a.kc()){c=a.sc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
-function xV(a){throw sV(new rV(),'add');}
-function yV(b){var a;a=vV(this,this.qc(),b);return a!==null;}
-function zV(){return this.Fe(yb('[Ljava.lang.Object;',[609],[12],[this.Ce()],null));}
-function AV(a){var b,c,d;d=this.Ce();if(a.a<d){a=tb(a,d);}b=0;for(c=this.qc();c.kc();){Ab(a,b++,c.sc());}if(a.a>d){Ab(a,d,null);}return a;}
-function BV(){var a,b,c;c=FT(new ET());a=null;bU(c,'[');b=this.qc();while(b.kc()){if(a!==null){bU(c,a);}else{a=', ';}bU(c,fV(b.sc()));}bU(c,']');return fU(c);}
-function uV(){}
-_=uV.prototype=new uT();_.C=xV;_.eb=yV;_.Ee=zV;_.Fe=AV;_.tS=BV;_.tN=tfc+'AbstractCollection';_.tI=46;function fW(b,a){throw vS(new uS(),'Index: '+a+', Size: '+b.b);}
-function gW(b,a){throw sV(new rV(),'add');}
-function hW(a){this.B(this.Ce(),a);return true;}
-function iW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ce()!=f.Ce()){return false;}c=this.qc();d=f.qc();while(c.kc()){a=c.sc();b=d.sc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
-function jW(){var a,b,c,d;c=1;a=31;b=this.qc();while(b.kc()){d=b.sc();c=31*c+(d===null?0:d.hC());}return c;}
-function kW(){return EV(new DV(),this);}
-function lW(a){throw sV(new rV(),'remove');}
-function CV(){}
-_=CV.prototype=new uV();_.B=gW;_.C=hW;_.eQ=iW;_.hC=jW;_.qc=kW;_.de=lW;_.tN=tfc+'AbstractList';_.tI=47;function BX(a){{FX(a);}}
-function CX(a){BX(a);return a;}
-function DX(c,a,b){if(a<0||a>c.b){fW(c,a);}kY(c.a,a,b);++c.b;}
-function EX(b,a){tY(b.a,b.b++,a);return true;}
-function aY(a){FX(a);}
-function FX(a){a.a=gb();a.b=0;}
-function cY(b,a){return eY(b,a)!=(-1);}
-function dY(b,a){if(a<0||a>=b.b){fW(b,a);}return pY(b.a,a);}
-function eY(b,a){return fY(b,a,0);}
-function fY(c,b,a){if(a<0){fW(c,a);}for(;a<c.b;++a){if(oY(b,pY(c.a,a))){return a;}}return (-1);}
-function gY(a){return a.b==0;}
-function hY(c,a){var b;b=dY(c,a);rY(c.a,a,1);--c.b;return b;}
-function iY(c,b){var a;a=eY(c,b);if(a==(-1)){return false;}hY(c,a);return true;}
-function jY(d,a,b){var c;c=dY(d,a);tY(d.a,a,b);return c;}
-function lY(a,b){DX(this,a,b);}
-function mY(a){return EX(this,a);}
-function kY(a,b,c){a.splice(b,0,c);}
-function nY(a){return cY(this,a);}
-function oY(a,b){return a===b||a!==null&&a.eQ(b);}
-function qY(a){return dY(this,a);}
-function pY(a,b){return a[b];}
-function sY(a){return hY(this,a);}
-function rY(a,c,b){a.splice(c,b);}
-function tY(a,b,c){a[b]=c;}
-function uY(){return this.b;}
-function vY(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,pY(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
-function AX(){}
-_=AX.prototype=new CV();_.B=lY;_.C=mY;_.eb=nY;_.hc=qY;_.de=sY;_.Ce=uY;_.Fe=vY;_.tN=tfc+'ArrayList';_.tI=48;_.a=null;_.b=0;function Bp(a){CX(a);return a;}
-function Dp(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),41);b.yc(c);}}
-function Ap(){}
-_=Ap.prototype=new AX();_.tN=pfc+'ChangeListenerCollection';_.tI=49;function dq(){dq=s2;np();}
-function aq(a){dq();bq(a,Cd());uN(a,'gwt-CheckBox');return a;}
-function cq(b,a){dq();aq(b);hq(b,a);return b;}
-function bq(b,a){var c;dq();mp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.ub()));Ef(b.ub(),0);td(b.ub(),b.a);td(b.ub(),b.b);c='check'+ ++oq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
-function eq(a){return ef(a.b);}
-function fq(b){var a;a=b.oc()?'checked':'defaultChecked';return Fe(b.a,a);}
-function gq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
-function hq(b,a){Bf(b.b,a);}
-function iq(){yf(this.a,this);}
-function jq(){yf(this.a,null);gq(this,fq(this));}
-function kq(a){vf(this.a,'disabled',!a);}
-function lq(a){if(a){lu.rb(this.a);}else{lu.F(this.a);}}
-function mq(a){Af(this.b,a);}
-function nq(a){lu.se(this.a,a);}
-function Fp(){}
-_=Fp.prototype=new lp();_.fd=iq;_.td=jq;_.ne=kq;_.oe=lq;_.pe=mq;_.re=nq;_.tN=pfc+'CheckBox';_.tI=50;_.a=null;_.b=null;var oq=0;function qq(a){CX(a);return a;}
-function sq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),42);b.zc(c);}}
-function pq(){}
-_=pq.prototype=new AX();_.tN=pfc+'ClickListenerCollection';_.tI=51;function gr(a,b){if(a.k!==null){throw sS(new rS(),'Composite.initWidget() may only be called once.');}sP(b);a.me(b.ub());a.k=b;vP(b,a);}
-function hr(){if(this.k===null){throw sS(new rS(),'initWidget() was never called in '+w(this));}return this.w;}
-function ir(){if(this.k!==null){return this.k.oc();}return false;}
-function jr(){this.k.uc();this.fd();}
-function kr(){try{this.td();}finally{this.k.Bc();}}
-function er(){}
-_=er.prototype=new oO();_.ub=hr;_.oc=ir;_.uc=jr;_.Bc=kr;_.tN=pfc+'Composite';_.tI=52;_.k=null;function mr(a){wq(a);a.me(xd());return a;}
-function or(b,c){var a;a=c.ub();Df(a,'width','100%');Df(a,'height','100%');c.ye(false);}
-function pr(b,c,a){Eq(b,c,b.ub(),a,true);or(b,c);}
-function qr(b,c){var a;a=ar(b,c);if(a){rr(b,c);if(b.b===c){b.b=null;}}return a;}
-function rr(a,b){Df(b.ub(),'width','');Df(b.ub(),'height','');b.ye(true);}
-function sr(b,a){zq(b,a);if(b.b!==null){b.b.ye(false);}b.b=Dq(b,a);b.b.ye(true);}
-function tr(a){return qr(this,a);}
-function lr(){}
-_=lr.prototype=new uq();_.ee=tr;_.tN=pfc+'DeckPanel';_.tI=53;_.b=null;function AG(a){BG(a,xd());return a;}
-function BG(b,a){b.me(a);return b;}
-function CG(a,b){if(a.r!==null){throw sS(new rS(),'SimplePanel can only contain one child widget');}a.Ae(b);}
-function EG(a,b){if(b===a.r){return;}if(b!==null){sP(b);}if(a.r!==null){a.ee(a.r);}a.r=b;if(b!==null){td(a.tb(),a.r.ub());uD(a,b);}}
-function FG(){return this.ub();}
-function aH(){return vG(new tG(),this);}
-function bH(a){if(this.r!==a){return false;}wD(this,a);nf(this.tb(),a.ub());this.r=null;return true;}
-function cH(a){EG(this,a);}
-function sG(){}
-_=sG.prototype=new tD();_.tb=FG;_.qc=aH;_.ee=bH;_.Ae=cH;_.tN=pfc+'SimplePanel';_.tI=54;_.r=null;function eE(){eE=s2;uE=new gR();}
-function aE(a){eE();BG(a,iR(uE));lE(a,0,0);return a;}
-function bE(b,a){eE();aE(b);b.k=a;return b;}
-function cE(c,a,b){eE();bE(c,a);c.o=b;return c;}
-function dE(b,a){if(a.blur){a.blur();}}
-function fE(a){return a.ub();}
-function gE(a){return oN(a);}
-function hE(a){iE(a,false);}
-function iE(b,a){if(!b.p){return;}b.p=false;fp(iG(),b);b.ub();}
-function jE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.qe(a.l);}if(a.m!==null){b.Be(a.m);}}}
-function kE(e,b){var a,c,d,f;d=ve(b);c=kf(e.ub(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){iE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){dE(e,d);return false;}}}return !e.o||c;}
-function lE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.ub();Df(a,'left',b+'px');Df(a,'top',d+'px');}
-function mE(a,b){EG(a,b);jE(a);}
-function nE(a,b){a.m=b;jE(a);if(rU(b)==0){a.m=null;}}
-function oE(a){if(a.p){return;}a.p=true;sd(a);Df(a.ub(),'position','absolute');if(a.q!=(-1)){lE(a,a.n,a.q);}dp(iG(),a);a.ub();}
-function pE(){return fE(this);}
-function qE(){return nN(this);}
-function rE(){return gE(this);}
-function sE(){return this.ub();}
-function tE(){hE(this);}
-function vE(){pf(this);rP(this);}
-function wE(a){return kE(this,a);}
-function xE(a){this.l=a;jE(this);if(rU(a)==0){this.l=null;}}
-function yE(b){var a;a=fE(this);if(b===null||rU(b)==0){of(a,'title');}else{uf(a,'title',b);}}
-function zE(a){Df(this.ub(),'visibility',a?'visible':'hidden');this.ub();}
-function AE(a){mE(this,a);}
-function BE(a){nE(this,a);}
-function FD(){}
-_=FD.prototype=new sG();_.tb=pE;_.Cb=qE;_.Db=rE;_.dc=sE;_.lc=tE;_.Bc=vE;_.Cc=wE;_.qe=xE;_.te=yE;_.ye=zE;_.Ae=AE;_.Be=BE;_.tN=pfc+'PopupPanel';_.tI=55;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var uE;function zr(){zr=s2;eE();}
-function vr(a){a.e=dz(new hw());a.j=lt(new ft());}
-function wr(a){zr();xr(a,false);return a;}
-function xr(b,a){zr();yr(b,a,true);return b;}
-function yr(c,a,b){zr();cE(c,a,b);vr(c);c.j.ze(0,0,c.e);c.j.qe('100%');ry(c.j,0);ty(c.j,0);uy(c.j,0);Cw(c.j.n,1,0,'100%');bx(c.j.n,1,0,'100%');Bw(c.j.n,1,0,(oz(),pz),(xz(),zz));mE(c,c.j);uN(c,'gwt-DialogBox');uN(c.e,'Caption');EB(c.e,c);return c;}
-function Ar(b,a){hz(b.e,a);}
-function Br(b,a){bC(b.e,a);}
-function Cr(a,b){if(a.f!==null){qy(a.j,a.f);}if(b!==null){a.j.ze(1,0,b);}a.f=b;}
-function Dr(a){if(xe(a)==4){if(kf(this.e.ub(),ve(a))){ye(a);}}return kE(this,a);}
-function Er(a,b,c){this.i=true;tf(this.e.ub());this.g=b;this.h=c;}
-function Fr(a){}
-function as(a){}
-function bs(c,d,e){var a,b;if(this.i){a=d+lN(this);b=e+mN(this);lE(this,a-this.g,b-this.h);}}
-function cs(a,b,c){this.i=false;mf(this.e.ub());}
-function ds(a){if(this.f!==a){return false;}qy(this.j,a);return true;}
-function es(a){Cr(this,a);}
-function fs(a){nE(this,a);this.j.Be('100%');}
-function ur(){}
-_=ur.prototype=new FD();_.Cc=Dr;_.hd=Er;_.id=Fr;_.jd=as;_.kd=bs;_.ld=cs;_.ee=ds;_.Ae=es;_.Be=fs;_.tN=pfc+'DialogBox';_.tI=56;_.f=null;_.g=0;_.h=0;_.i=false;function rs(){rs=s2;xs=new hs();ys=new hs();zs=new hs();As=new hs();Bs=new hs();}
-function os(a){a.b=(oz(),qz);a.c=(xz(),Az);}
-function ps(a){rs();up(a);os(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
-function qs(c,d,a){var b;if(a===xs){if(d===c.a){return;}else if(c.a!==null){throw pS(new oS(),'Only one CENTER widget may be added');}}sP(d);zO(c.f,d);if(a===xs){c.a=d;}b=ks(new js(),a);uP(d,b);us(c,d,c.b);vs(c,d,c.c);ss(c);uD(c,d);}
-function ss(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=EO(p.f);tO(h);){c=uO(h);e=c.u.a;if(e===zs||e===As){++l;}else if(e===ys||e===Bs){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[631],[33],[l],null);for(g=0;g<l;++g){m[g]=new ms();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=EO(p.f);tO(h);){c=uO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===zs){hf(m[j].b,o,m[j].a);td(o,c.ub());wf(o,'colSpan',f-q+1);++j;}else if(i.a===As){hf(m[n].b,o,m[n].a);td(o,c.ub());wf(o,'colSpan',f-q+1);--n;}else if(i.a===Bs){k=m[j];hf(k.b,o,k.a++);td(o,c.ub());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===ys){k=m[j];hf(k.b,o,k.a);td(o,c.ub());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===xs){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.ub());}}
-function ts(b,c){var a;a=ar(b,c);if(a){if(c===b.a){b.a=null;}ss(b);}return a;}
-function us(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
-function vs(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
-function ws(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
-function Cs(a){return ts(this,a);}
-function Ds(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
-function Es(a,b){ws(this,a,b);}
-function gs(){}
-_=gs.prototype=new tp();_.ee=Cs;_.ke=Ds;_.le=Es;_.tN=pfc+'DockPanel';_.tI=57;_.a=null;var xs,ys,zs,As,Bs;function hs(){}
-_=hs.prototype=new uT();_.tN=pfc+'DockPanel$DockLayoutConstant';_.tI=58;function ks(b,a){b.a=a;return b;}
-function js(){}
-_=js.prototype=new uT();_.tN=pfc+'DockPanel$LayoutData';_.tI=59;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function ms(){}
-_=ms.prototype=new uT();_.tN=pfc+'DockPanel$TmpRow';_.tI=60;_.a=0;_.b=null;function at(a){a.me(yd('input'));xf(a.ub(),'type','file');uN(a,'gwt-FileUpload');return a;}
-function ct(a){return bf(a.ub(),'value');}
-function dt(b,a){xf(b.ub(),'name',a);}
-function Fs(){}
-_=Fs.prototype=new oO();_.tN=pfc+'FileUpload';_.tI=61;function Bx(a){a.s=rx(new mx());}
-function Cx(a){Bx(a);a.q=ge();a.m=de();td(a.q,a.m);a.me(a.q);vN(a,1);return a;}
-function Dx(b,a){if(b.r===null){b.r=FJ(new EJ());}EX(b.r,a);}
-function Ex(d,c,b){var a;Fx(d,c);if(b<0){throw vS(new uS(),'Column '+b+' must be non-negative: '+b);}a=d.sb(c);if(a<=b){throw vS(new uS(),'Column index: '+b+', Column size: '+d.sb(c));}}
-function Fx(c,a){var b;b=c.Fb();if(a>=b||a<0){throw vS(new uS(),'Row index: '+a+', Row size: '+b);}}
-function ay(e,c,b,a){var d;d=yw(e.n,c,b);ny(e,d,a);return d;}
-function by(d){var a,b,c;for(c=0;c<d.Fb();++c){for(b=0;b<d.sb(c);++b){a=jy(d,c,b);if(a!==null){qy(d,a);}}}}
-function dy(a){return ee();}
-function ey(c,b,a){return b.rows[a].cells.length;}
-function fy(a){return gy(a,a.m);}
-function gy(b,a){return a.rows.length;}
-function hy(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(mU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
-function iy(d,c,a){var b;Ex(d,c,a);b=xw(d.n,c,a);return ef(b);}
-function ky(c,b,a){Ex(c,b,a);return jy(c,b,a);}
-function jy(e,d,b){var a,c;c=yw(e.n,d,b);a=df(c);if(a===null){return null;}else{return tx(e.s,a);}}
-function ly(d,b,a){var c,e;e=kx(d.p,d.m,b);c=d.fb();hf(e,c,a);}
-function my(b,a){var c;if(a!=pt(b)){Fx(b,a);}c=fe();hf(b.m,c,a);return a;}
-function ny(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=tx(d.s,b);}if(e!==null){qy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
-function qy(b,c){var a;if(c.v!==b){return false;}wD(b,c);a=c.ub();nf(ff(a),a);wx(b.s,a);return true;}
-function oy(d,b,a){var c,e;Ex(d,b,a);c=ay(d,b,a,false);e=kx(d.p,d.m,b);nf(e,c);}
-function py(d,c){var a,b;b=d.sb(c);for(a=0;a<b;++a){ay(d,c,a,false);}nf(d.m,kx(d.p,d.m,c));}
-function ry(a,b){xf(a.q,'border',''+b);}
-function sy(b,a){b.n=a;}
-function ty(b,a){wf(b.q,'cellPadding',a);}
-function uy(b,a){wf(b.q,'cellSpacing',a);}
-function vy(b,a){b.o=a;fx(b.o);}
-function wy(e,c,a,b){var d;Cv(e,c,a);d=ay(e,c,a,b===null);if(b!==null){Af(d,b);}}
-function xy(b,a){b.p=a;}
-function yy(e,b,a,d){var c;e.xd(b,a);c=ay(e,b,a,d===null);if(d!==null){Bf(c,d);}}
-function zy(d,b,a,e){var c;d.xd(b,a);if(e!==null){sP(e);c=ay(d,b,a,true);ux(d.s,e);td(c,e.ub());uD(d,e);}}
-function Ay(){by(this);}
-function By(){return dy(this);}
-function Cy(b,a){ly(this,b,a);}
-function Dy(){return xx(this.s);}
-function Ey(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=hy(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);bK(this.r,this,d,b);}break;}default:}}
-function bz(a){return qy(this,a);}
-function Fy(b,a){oy(this,b,a);}
-function az(a){py(this,a);}
-function cz(b,a,c){zy(this,b,a,c);}
-function iw(){}
-_=iw.prototype=new tD();_.ab=Ay;_.fb=By;_.mc=Cy;_.qc=Dy;_.wc=Ey;_.ee=bz;_.Fd=Fy;_.be=az;_.ze=cz;_.tN=pfc+'HTMLTable';_.tI=62;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function lt(a){Cx(a);sy(a,ht(new gt(),a));xy(a,hx(new gx(),a));vy(a,dx(new cx(),a));return a;}
-function nt(b,a){Fx(b,a);return ey(b,b.m,a);}
-function ot(a){return Fb(a.n,43);}
-function pt(a){return fy(a);}
-function qt(b,a){return my(b,a);}
-function rt(d,b){var a,c;if(b<0){throw vS(new uS(),'Cannot create a row with a negative index: '+b);}c=pt(d);for(a=c;a<=b;a++){qt(d,a);}}
-function st(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
-function tt(a){return nt(this,a);}
-function ut(){return pt(this);}
-function vt(b,a){ly(this,b,a);}
-function wt(d,b){var a,c;rt(this,d);if(b<0){throw vS(new uS(),'Cannot create a column with a negative index: '+b);}a=nt(this,d);c=b+1-a;if(c>0){st(this.m,d,c);}}
-function xt(a){rt(this,a);}
-function yt(b,a){oy(this,b,a);}
-function zt(a){py(this,a);}
-function ft(){}
-_=ft.prototype=new iw();_.sb=tt;_.Fb=ut;_.mc=vt;_.xd=wt;_.yd=xt;_.Fd=yt;_.be=zt;_.tN=pfc+'FlexTable';_.tI=63;function tw(b,a){b.a=a;return b;}
-function vw(c,b,a){c.a.xd(b,a);return ww(c,c.a.m,b,a);}
-function ww(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
-function xw(c,b,a){Ex(c.a,b,a);return ww(c,c.a.m,b,a);}
-function yw(c,b,a){return ww(c,c.a.m,b,a);}
-function zw(d,c,a){var b;b=xw(d,c,a);return BN(b);}
-function Aw(e,b,a,c){var d;Ex(e.a,b,a);d=ww(e,e.a.m,b,a);FN(d,c,false);}
-function Bw(d,c,a,b,e){Dw(d,c,a,b);Fw(d,c,a,e);}
-function Cw(e,d,a,c){var b;e.a.xd(d,a);b=ww(e,e.a.m,d,a);xf(b,'height',c);}
-function Dw(e,d,b,a){var c;e.a.xd(d,b);c=ww(e,e.a.m,d,b);xf(c,'align',a.a);}
-function Ew(d,b,a,c){d.a.xd(b,a);EN(ww(d,d.a.m,b,a),c);}
-function Fw(d,c,b,a){d.a.xd(c,b);Df(ww(d,d.a.m,c,b),'verticalAlign',a.a);}
-function ax(d,c,a,e){var b;b=vw(d,c,a);bO(b,e);}
-function bx(c,b,a,d){c.a.xd(b,a);xf(ww(c,c.a.m,b,a),'width',d);}
-function sw(){}
-_=sw.prototype=new uT();_.tN=pfc+'HTMLTable$CellFormatter';_.tI=64;function ht(b,a){tw(b,a);return b;}
-function jt(d,c,b,a){wf(vw(d,c,b),'colSpan',a);}
-function kt(d,b,a,c){wf(vw(d,b,a),'rowSpan',c);}
-function gt(){}
-_=gt.prototype=new sw();_.tN=pfc+'FlexTable$FlexCellFormatter';_.tI=65;function Bt(a){CX(a);return a;}
-function Et(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.Ec(c);}}
-function Dt(c,b,a){switch(xe(a)){case 2048:Et(c,b);break;case 4096:Ft(c,b);break;}}
-function Ft(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.gd(c);}}
-function At(){}
-_=At.prototype=new AX();_.tN=pfc+'FocusListenerCollection';_.tI=66;function cu(){cu=s2;du=(yQ(),BQ);}
-var du;function su(a){CX(a);return a;}
-function uu(f,e,d){var a,b,c;a=ov(new nv(),e,d);for(c=f.qc();c.kc();){b=Fb(c.sc(),45);b.nd(a);}}
-function vu(e,d){var a,b,c;a=new qv();for(c=e.qc();c.kc();){b=Fb(c.sc(),45);b.od(a);}return a.a;}
-function ru(){}
-_=ru.prototype=new AX();_.tN=pfc+'FormHandlerCollection';_.tI=67;function Eu(){Eu=s2;iv=new EQ();}
-function Cu(a){Eu();BG(a,zd());a.b='FormPanel_'+ ++hv;fv(a,a.b);vN(a,32768);return a;}
-function Du(b,a){if(b.a===null){b.a=su(new ru());}EX(b.a,a);}
-function Fu(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
-function av(a){if(a.a!==null){return !vu(a.a,a);}return true;}
-function bv(a){if(a.a!==null){eg(zu(new yu(),a));}}
-function cv(a,b){xf(a.ub(),'action',b);}
-function dv(b,a){dR(iv,b.ub(),a);}
-function ev(b,a){xf(b.ub(),'method',a);}
-function fv(b,a){xf(b.ub(),'target',a);}
-function gv(a){if(a.a!==null){if(vu(a.a,a)){return;}}eR(iv,a.ub(),a.c);}
-function jv(){qP(this);Fu(this);td(hG(),this.c);cR(iv,this.c,this.ub(),this);}
-function kv(){rP(this);fR(iv,this.c,this.ub());nf(hG(),this.c);this.c=null;}
-function lv(){var a;a=x;{return av(this);}}
-function mv(){var a;a=x;{bv(this);}}
-function xu(){}
-_=xu.prototype=new sG();_.uc=jv;_.Bc=kv;_.Fc=lv;_.ad=mv;_.tN=pfc+'FormPanel';_.tI=68;_.a=null;_.b=null;_.c=null;var hv=0,iv;function zu(b,a){b.a=a;return b;}
-function Bu(){uu(this.a.a,this,bR((Eu(),iv),this.a.c));}
-function yu(){}
-_=yu.prototype=new uT();_.pb=Bu;_.tN=pfc+'FormPanel$1';_.tI=69;function BZ(){}
-_=BZ.prototype=new uT();_.tN=tfc+'EventObject';_.tI=70;function ov(c,b,a){c.a=a;return c;}
-function nv(){}
-_=nv.prototype=new BZ();_.tN=pfc+'FormSubmitCompleteEvent';_.tI=71;_.a=null;function sv(b,a){b.a=a;}
-function qv(){}
-_=qv.prototype=new BZ();_.tN=pfc+'FormSubmitEvent';_.tI=72;_.a=false;function uv(a){a.me(Ad());return a;}
-function vv(a,b){uv(a);xv(a,b);return a;}
-function xv(a,b){xf(a.ub(),'src',b);}
-function tv(){}
-_=tv.prototype=new oO();_.tN=pfc+'Frame';_.tI=73;function zv(a){Cx(a);sy(a,tw(new sw(),a));xy(a,hx(new gx(),a));vy(a,dx(new cx(),a));return a;}
-function Av(c,b,a){zv(c);aw(c,b,a);return c;}
-function Cv(c,b,a){Dv(c,b);if(a<0){throw vS(new uS(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw vS(new uS(),'Column index: '+a+', Column size: '+c.k);}}
-function Dv(b,a){if(a<0){throw vS(new uS(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw vS(new uS(),'Row index: '+a+', Row size: '+b.l);}}
-function aw(c,b,a){Ev(c,a);Fv(c,b);}
-function Ev(d,a){var b,c;if(d.k==a){return;}if(a<0){throw vS(new uS(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Fd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.mc(b,c);}}}d.k=a;}
-function Fv(b,a){if(b.l==a){return;}if(a<0){throw vS(new uS(),'Cannot set number of rows to '+a);}if(b.l<a){bw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.be(--b.l);}}}
-function bw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
-function cw(){var a;a=dy(this);Af(a,'&nbsp;');return a;}
-function dw(a){return this.k;}
-function ew(){return this.l;}
-function fw(b,a){Cv(this,b,a);}
-function gw(a){Dv(this,a);}
-function yv(){}
-_=yv.prototype=new iw();_.fb=cw;_.sb=dw;_.Fb=ew;_.xd=fw;_.yd=gw;_.tN=pfc+'Grid';_.tI=74;_.k=0;_.l=0;function BB(a){a.me(xd());vN(a,131197);uN(a,'gwt-Label');return a;}
-function CB(b,a){BB(b);bC(b,a);return b;}
-function DB(b,a){if(b.a===null){b.a=qq(new pq());}EX(b.a,a);}
-function EB(b,a){if(b.b===null){b.b=aD(new FC());}EX(b.b,a);}
-function aC(a){return ef(a.ub());}
-function bC(b,a){Bf(b.ub(),a);}
-function cC(a,b){Df(a.ub(),'whiteSpace',b?'normal':'nowrap');}
-function dC(a){switch(xe(a)){case 1:if(this.a!==null){sq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){eD(this.b,this,a);}break;case 131072:break;}}
-function AB(){}
-_=AB.prototype=new oO();_.wc=dC;_.tN=pfc+'Label';_.tI=75;_.a=null;_.b=null;function dz(a){BB(a);a.me(xd());vN(a,125);uN(a,'gwt-HTML');return a;}
-function ez(b,a){dz(b);hz(b,a);return b;}
-function fz(b,a,c){ez(b,a);cC(b,c);return b;}
-function hz(b,a){Af(b.ub(),a);}
-function hw(){}
-_=hw.prototype=new AB();_.tN=pfc+'HTML';_.tI=76;function kw(a){{nw(a);}}
-function lw(b,a){b.c=a;kw(b);return b;}
-function nw(a){while(++a.b<a.c.b.b){if(dY(a.c.b,a.b)!==null){return;}}}
-function ow(a){return a.b<a.c.b.b;}
-function pw(){return ow(this);}
-function qw(){var a;if(!ow(this)){throw new a2();}a=dY(this.c.b,this.b);this.a=this.b;nw(this);return a;}
-function rw(){var a;if(this.a<0){throw new rS();}a=Fb(dY(this.c.b,this.a),20);sP(a);this.a=(-1);}
-function jw(){}
-_=jw.prototype=new uT();_.kc=pw;_.sc=qw;_.ce=rw;_.tN=pfc+'HTMLTable$1';_.tI=77;_.a=(-1);_.b=(-1);function dx(b,a){b.b=a;return b;}
-function fx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
-function cx(){}
-_=cx.prototype=new uT();_.tN=pfc+'HTMLTable$ColumnFormatter';_.tI=78;_.a=null;function hx(b,a){b.a=a;return b;}
-function jx(b,a){b.a.yd(a);return kx(b,b.a.m,a);}
-function kx(c,a,b){return a.rows[b];}
-function lx(c,a,b){EN(jx(c,a),b);}
-function gx(){}
-_=gx.prototype=new uT();_.tN=pfc+'HTMLTable$RowFormatter';_.tI=79;function qx(a){a.b=CX(new AX());}
-function rx(a){qx(a);return a;}
-function tx(c,a){var b;b=zx(a);if(b<0){return null;}return Fb(dY(c.b,b),20);}
-function ux(b,c){var a;if(b.a===null){a=b.b.b;EX(b.b,c);}else{a=b.a.a;jY(b.b,a,c);b.a=b.a.b;}Ax(c.ub(),a);}
-function vx(c,a,b){yx(a);jY(c.b,b,null);c.a=ox(new nx(),b,c.a);}
-function wx(c,a){var b;b=zx(a);vx(c,a,b);}
-function xx(a){return lw(new jw(),a);}
-function yx(a){a['__widgetID']=null;}
-function zx(a){var b=a['__widgetID'];return b==null?-1:b;}
-function Ax(a,b){a['__widgetID']=b;}
-function mx(){}
-_=mx.prototype=new uT();_.tN=pfc+'HTMLTable$WidgetMapper';_.tI=80;_.a=null;function ox(c,a,b){c.a=a;c.b=b;return c;}
-function nx(){}
-_=nx.prototype=new uT();_.tN=pfc+'HTMLTable$WidgetMapper$FreeNode';_.tI=81;_.a=0;_.b=null;function oz(){oz=s2;pz=mz(new lz(),'center');qz=mz(new lz(),'left');rz=mz(new lz(),'right');}
-var pz,qz,rz;function mz(b,a){b.a=a;return b;}
-function lz(){}
-_=lz.prototype=new uT();_.tN=pfc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=82;_.a=null;function xz(){xz=s2;yz=vz(new uz(),'bottom');zz=vz(new uz(),'middle');Az=vz(new uz(),'top');}
-var yz,zz,Az;function vz(a,b){a.a=b;return a;}
-function uz(){}
-_=uz.prototype=new uT();_.tN=pfc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=83;_.a=null;function Ez(a){a.a=(oz(),qz);a.c=(xz(),Az);}
-function Fz(a){up(a);Ez(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function aA(b,c){var a;a=cA(b);td(b.b,a);xq(b,c,a);}
-function cA(b){var a;a=ee();wp(b,a,b.a);xp(b,a,b.c);return a;}
-function dA(c,d,a){var b;Aq(c,a);b=cA(c);hf(c.b,b,a);Eq(c,d,b,a,false);}
-function eA(c,d){var a,b;b=ff(d.ub());a=ar(c,d);if(a){nf(c.b,b);}return a;}
-function fA(b,a){b.c=a;}
-function gA(a){return eA(this,a);}
-function Dz(){}
-_=Dz.prototype=new tp();_.ee=gA;_.tN=pfc+'HorizontalPanel';_.tI=84;_.b=null;function iA(a){a.me(xd());td(a.ub(),a.a=vd());vN(a,1);uN(a,'gwt-Hyperlink');return a;}
-function jA(c,b,a){iA(c);mA(c,b);lA(c,a);return c;}
-function lA(b,a){b.b=a;xf(b.a,'href','#'+a);}
-function mA(b,a){Bf(b.a,a);}
-function nA(a){if(xe(a)==1){ah(this.b);ye(a);}}
-function hA(){}
-_=hA.prototype=new oO();_.wc=nA;_.tN=pfc+'Hyperlink';_.tI=85;_.a=null;_.b=null;function hB(){hB=s2;z0(new DZ());}
-function dB(a){hB();gB(a,CA(new BA(),a));uN(a,'gwt-Image');return a;}
-function eB(a,b){hB();gB(a,DA(new BA(),a,b));uN(a,'gwt-Image');return a;}
-function fB(b,a){if(b.a===null){b.a=qq(new pq());}EX(b.a,a);}
-function gB(b,a){b.b=a;}
-function jB(a,b){a.b.ve(a,b);}
-function iB(c,e,b,d,f,a){c.b.ue(c,e,b,d,f,a);}
-function kB(a){switch(xe(a)){case 1:{if(this.a!==null){sq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
-function oA(){}
-_=oA.prototype=new oO();_.wc=kB;_.tN=pfc+'Image';_.tI=86;_.a=null;_.b=null;function rA(){}
-function pA(){}
-_=pA.prototype=new uT();_.pb=rA;_.tN=pfc+'Image$1';_.tI=87;function zA(){}
-_=zA.prototype=new uT();_.tN=pfc+'Image$State';_.tI=88;function uA(){uA=s2;wA=new FP();}
-function tA(d,b,f,c,e,g,a){uA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.me(cQ(wA,f,c,e,g,a));vN(b,131197);vA(d,b);return d;}
-function vA(b,a){eg(new pA());}
-function yA(a,b){gB(a,DA(new BA(),a,b));}
-function xA(b,e,c,d,f,a){if(!nU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;aQ(wA,b.ub(),e,c,d,f,a);vA(this,b);}}
-function sA(){}
-_=sA.prototype=new zA();_.ve=yA;_.ue=xA;_.tN=pfc+'Image$ClippedState';_.tI=89;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var wA;function CA(b,a){a.me(Bd());vN(a,229501);return b;}
-function DA(b,a,c){CA(b,a);FA(b,a,c);return b;}
-function FA(b,a,c){zf(a.ub(),c);}
-function bB(a,b){FA(this,a,b);}
-function aB(b,e,c,d,f,a){gB(b,tA(new sA(),b,e,c,d,f,a));}
-function BA(){}
-_=BA.prototype=new zA();_.ve=bB;_.ue=aB;_.tN=pfc+'Image$UnclippedState';_.tI=90;function oB(c,a,b){}
-function pB(c,a,b){}
-function qB(c,a,b){}
-function mB(){}
-_=mB.prototype=new uT();_.cd=oB;_.dd=pB;_.ed=qB;_.tN=pfc+'KeyboardListenerAdapter';_.tI=91;function sB(a){CX(a);return a;}
-function uB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.cd(e,b,d);}}
-function vB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.dd(e,b,d);}}
-function wB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.ed(e,b,d);}}
-function xB(d,c,a){var b;b=yB(a);switch(xe(a)){case 128:uB(d,c,bc(se(a)),b);break;case 512:wB(d,c,bc(se(a)),b);break;case 256:vB(d,c,bc(se(a)),b);break;}}
-function yB(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
-function rB(){}
-_=rB.prototype=new AX();_.tN=pfc+'KeyboardListenerCollection';_.tI=92;function tC(){tC=s2;hu();DC=new fC();}
-function mC(a){tC();nC(a,false);return a;}
-function nC(b,a){tC();fu(b,be(a));vN(b,1024);uN(b,'gwt-ListBox');return b;}
-function oC(b,a){if(b.b===null){b.b=Bp(new Ap());}EX(b.b,a);}
-function pC(b,a){yC(b,a,(-1));}
-function qC(b,a,c){zC(b,a,c,(-1));}
-function rC(b,a){if(a<0||a>=uC(b)){throw new uS();}}
-function sC(a){gC(DC,a.ub());}
-function uC(a){return iC(DC,a.ub());}
-function vC(b,a){rC(b,a);return jC(DC,b.ub(),a);}
-function wC(a){return af(a.ub(),'selectedIndex');}
-function xC(b,a){rC(b,a);return kC(DC,b.ub(),a);}
-function yC(c,b,a){zC(c,b,b,a);}
-function zC(c,b,d,a){jf(c.ub(),b,d,a);}
-function AC(b,a){rC(b,a);lC(DC,b.ub(),a);}
-function BC(b,a){wf(b.ub(),'selectedIndex',a);}
-function CC(a,b){wf(a.ub(),'size',b);}
-function EC(a){if(xe(a)==1024){if(this.b!==null){Dp(this.b,this);}}else{iu(this,a);}}
-function eC(){}
-_=eC.prototype=new eu();_.wc=EC;_.tN=pfc+'ListBox';_.tI=93;_.b=null;var DC;function gC(b,a){a.options.length=0;}
-function iC(b,a){return a.options.length;}
-function jC(c,b,a){return b.options[a].text;}
-function kC(c,b,a){return b.options[a].value;}
-function lC(c,b,a){b.options[a]=null;}
-function fC(){}
-_=fC.prototype=new uT();_.tN=pfc+'ListBox$Impl';_.tI=94;function aD(a){CX(a);return a;}
-function cD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.hd(c,e,f);}}
-function dD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.id(c);}}
-function eD(e,c,a){var b,d,f,g,h;d=c.ub();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:cD(e,c,g,h);break;case 8:hD(e,c,g,h);break;case 64:gD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){dD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){fD(e,c);}break;}}
-function fD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.jd(c);}}
-function gD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.kd(c,e,f);}}
-function hD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.ld(c,e,f);}}
-function FC(){}
-_=FC.prototype=new AX();_.tN=pfc+'MouseListenerCollection';_.tI=95;function jD(){}
-_=jD.prototype=new uT();_.tN=pfc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=96;_.a=null;_.b=null;function nD(b,a){rD(a,b.Ed());sD(a,b.Ed());}
-function oD(a){return a.a;}
-function pD(a){return a.b;}
-function qD(b,a){b.gf(oD(a));b.gf(pD(a));}
-function rD(a,b){a.a=b;}
-function sD(a,b){a.b=b;}
-function qK(){qK=s2;hu();xK=new jR();}
-function mK(b,a){qK();fu(b,a);vN(b,1024);return b;}
-function nK(b,a){if(b.f===null){b.f=Bp(new Ap());}EX(b.f,a);}
-function oK(b,a){if(b.i===null){b.i=sB(new rB());}EX(b.i,a);}
-function pK(a){if(a.h!==null){ye(a.h);}}
-function rK(a){return bf(a.ub(),'value');}
-function sK(b,a){uK(b,a,0);}
-function tK(b,a){xf(b.ub(),'name',a);}
-function uK(c,b,a){if(a<0){throw vS(new uS(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>rU(rK(c))){throw vS(new uS(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+rU(rK(c)));}nR(xK,c.ub(),b,a);}
-function vK(b,a){xf(b.ub(),'value',a!==null?a:'');}
-function wK(a){if(this.g===null){this.g=qq(new pq());}EX(this.g,a);}
-function yK(a){var b;iu(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;xB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){sq(this.g,this);}}else if(b==1024){if(this.f!==null){Dp(this.f,this);}}}
-function lK(){}
-_=lK.prototype=new eu();_.x=wK;_.wc=yK;_.tN=pfc+'TextBoxBase';_.tI=97;_.f=null;_.g=null;_.h=null;_.i=null;var xK;function ED(){ED=s2;qK();}
-function DD(a){ED();mK(a,Dd());uN(a,'gwt-PasswordTextBox');return a;}
-function CD(){}
-_=CD.prototype=new lK();_.tN=pfc+'PasswordTextBox';_.tI=98;function jF(b,a){kF(b,a,null);return b;}
-function kF(c,a,b){c.a=a;mF(c);return c;}
-function lF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=yF(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=yF(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=vF(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
-function mF(a){a.b=0;a.c={};a.d={};}
-function oF(b,a){return cY(pF(b,a,1),a);}
-function pF(c,b,a){var d;d=CX(new AX());if(b!==null&&a>0){rF(c,b,'',d,a);}return d;}
-function qF(a){return EE(new DE(),a);}
-function rF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=yF(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+BF(a);h.De(f,l,c,b);}}else{for(j in k){var l=d+BF(j);if(l.indexOf(f)==0){c.C(l);}if(c.Ce()>=b){return;}}for(var a in i){var l=d+BF(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ce()||h.b==1){h.nb(c,l);}else{for(var j in h.d){c.C(l+BF(j));}for(var g in h.c){c.C(l+BF(g)+'...');}}}}}}
-function sF(a){if(ac(a,1)){return lF(this,Fb(a,1));}else{throw sV(new rV(),'Cannot add non-Strings to PrefixTree');}}
-function tF(a){return lF(this,a);}
-function uF(a){if(ac(a,1)){return oF(this,Fb(a,1));}else{return false;}}
-function vF(a){return jF(new CE(),a);}
-function wF(b,c){var a;for(a=qF(this);bF(a);){b.C(c+Fb(eF(a),1));}}
-function xF(){return qF(this);}
-function yF(a){return Eb(58)+a;}
-function zF(){return this.b;}
-function AF(d,c,b,a){rF(this,d,c,b,a);}
-function BF(a){return wU(a,1);}
-function CE(){}
-_=CE.prototype=new uV();_.C=sF;_.D=tF;_.eb=uF;_.nb=wF;_.qc=xF;_.Ce=zF;_.De=AF;_.tN=pfc+'PrefixTree';_.tI=99;_.a=0;_.b=0;_.c=null;_.d=null;function EE(a,b){cF(a);FE(a,b,'');return a;}
-function FE(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
-function bF(a){return dF(a,true)!==null;}
-function cF(a){a.a=[];}
-function eF(a){var b;b=dF(a,false);if(b===null){if(!bF(a)){throw b2(new a2(),'No more elements in the iterator');}else{throw AT(new zT(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
-function dF(g,b){var d=g.a;var c=yF;var i=BF;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
-function fF(b,a){FE(this,b,a);}
-function gF(){return bF(this);}
-function hF(){return eF(this);}
-function iF(){throw sV(new rV(),'PrefixTree does not support removal.  Use clear()');}
-function DE(){}
-_=DE.prototype=new uT();_.A=fF;_.kc=gF;_.sc=hF;_.ce=iF;_.tN=pfc+'PrefixTree$PrefixTreeIterator';_.tI=100;_.a=null;function FF(){FF=s2;dq();}
-function DF(b,a){FF();bq(b,Ed(a));uN(b,'gwt-RadioButton');return b;}
-function EF(c,b,a){FF();DF(c,b);hq(c,a);return c;}
-function CF(){}
-_=CF.prototype=new Fp();_.tN=pfc+'RadioButton';_.tI=101;function gG(){gG=s2;lG=z0(new DZ());}
-function fG(b,a){gG();cp(b);if(a===null){a=hG();}b.me(a);b.uc();return b;}
-function iG(){gG();return jG(null);}
-function jG(c){gG();var a,b;b=Fb(F0(lG,c),48);if(b!==null){return b;}a=null;if(lG.c==0){kG();}a1(lG,c,b=fG(new aG(),a));return b;}
-function hG(){gG();return $doc.body;}
-function kG(){gG();yh(new bG());}
-function aG(){}
-_=aG.prototype=new bp();_.tN=pfc+'RootPanel';_.tI=102;var lG;function dG(){var a,b;for(b=FW(oX((gG(),lG)));gX(b);){a=Fb(hX(b),48);if(a.oc()){a.Bc();}}}
-function eG(){return null;}
-function bG(){}
-_=bG.prototype=new uT();_.ud=dG;_.vd=eG;_.tN=pfc+'RootPanel$1';_.tI=103;function nG(a){AG(a);qG(a,false);vN(a,16384);return a;}
-function oG(b,a){nG(b);b.Ae(a);return b;}
-function qG(b,a){Df(b.ub(),'overflow',a?'scroll':'auto');}
-function rG(a){xe(a)==16384;}
-function mG(){}
-_=mG.prototype=new sG();_.wc=rG;_.tN=pfc+'ScrollPanel';_.tI=104;function uG(a){a.a=a.c.r!==null;}
-function vG(b,a){b.c=a;uG(b);return b;}
-function xG(){return this.a;}
-function yG(){if(!this.a||this.c.r===null){throw new a2();}this.a=false;return this.b=this.c.r;}
-function zG(){if(this.b!==null){this.c.ee(this.b);}}
-function tG(){}
-_=tG.prototype=new uT();_.kc=xG;_.sc=yG;_.ce=zG;_.tN=pfc+'SimplePanel$1';_.tI=105;_.b=null;function qH(b){var a;wq(b);a=ge();b.me(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);uN(b,'gwt-StackPanel');return b;}
-function rH(a,b){vH(a,b,a.f.c);}
-function sH(c,d,b,a){rH(c,d);xH(c,c.f.c-1,b,a);}
-function uH(d,a){var b,c;while(a!==null&& !ud(a,d.ub())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return BS(b);}else{return (-1);}}a=ff(a);}return (-1);}
-function vH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=yq(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);FN(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');Eq(e,h,c,a,false);AH(e,a);if(e.b==(-1)){zH(e,0);}else{yH(e,a,false);if(e.b>=a){++e.b;}}}
-function wH(e,a,b){var c,d,f;c=ar(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}AH(e,d);}return c;}
-function xH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
-function yH(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);FN(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);bO(d,e);Dq(c,a).ye(e);}
-function zH(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){yH(b,b.b,false);}b.b=a;yH(b,b.b,true);}
-function AH(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
-function BH(a){var b,c;if(xe(a)==1){c=ve(a);b=uH(this,c);if(b!=(-1)){zH(this,b);}}}
-function CH(a){return wH(this,Dq(this,a),a);}
-function DH(a){return wH(this,a,Cq(this,a));}
-function pH(){}
-_=pH.prototype=new uq();_.wc=BH;_.de=CH;_.ee=DH;_.tN=pfc+'StackPanel';_.tI=106;_.a=null;_.b=(-1);function EH(){}
-_=EH.prototype=new uT();_.tN=pfc+'SuggestOracle$Request';_.tI=107;_.a=20;_.b=null;function aI(){}
-_=aI.prototype=new uT();_.tN=pfc+'SuggestOracle$Response';_.tI=108;_.a=null;function fI(b,a){jI(a,b.Bd());kI(a,b.Ed());}
-function gI(a){return a.a;}
-function hI(a){return a.b;}
-function iI(b,a){b.df(gI(a));b.gf(hI(a));}
-function jI(a,b){a.a=b;}
-function kI(a,b){a.b=b;}
-function nI(b,a){qI(a,Fb(b.Dd(),49));}
-function oI(a){return a.a;}
-function pI(b,a){b.ff(oI(a));}
-function qI(a,b){a.a=b;}
-function sI(a){a.a=Fz(new Dz());}
-function tI(c){var a,b;sI(c);gr(c,c.a);vN(c,1);uN(c,'gwt-TabBar');fA(c.a,(xz(),yz));a=fz(new hw(),'&nbsp;',true);b=fz(new hw(),'&nbsp;',true);uN(a,'gwt-TabBarFirst');uN(b,'gwt-TabBarRest');a.qe('100%');b.qe('100%');aA(c.a,a);aA(c.a,b);a.qe('100%');c.a.ke(a,'100%');c.a.le(b,'100%');return c;}
-function uI(b,a){if(b.c===null){b.c=FI(new EI());}EX(b.c,a);}
-function vI(b,a){if(a<0||a>yI(b)){throw new uS();}}
-function wI(b,a){if(a<(-1)||a>=yI(b)){throw new uS();}}
-function yI(a){return a.a.f.c-2;}
-function zI(e,d,a,b){var c;vI(e,b);if(a){c=ez(new hw(),d);}else{c=CB(new AB(),d);}cC(c,false);DB(c,e);uN(c,'gwt-TabBarItem');dA(e.a,c,b+1);}
-function AI(b,a){var c;wI(b,a);c=Dq(b.a,a+1);if(c===b.b){b.b=null;}eA(b.a,c);}
-function BI(b,a){wI(b,a);if(b.c!==null){if(!bJ(b.c,b,a)){return false;}}CI(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=Dq(b.a,a+1);CI(b,b.b,true);if(b.c!==null){cJ(b.c,b,a);}return true;}
-function CI(c,a,b){if(a!==null){if(b){jN(a,'gwt-TabBarItem-selected');}else{pN(a,'gwt-TabBarItem-selected');}}}
-function DI(b){var a;for(a=1;a<this.a.f.c-1;++a){if(Dq(this.a,a)===b){BI(this,a-1);return;}}}
-function rI(){}
-_=rI.prototype=new er();_.zc=DI;_.tN=pfc+'TabBar';_.tI=109;_.b=null;_.c=null;function FI(a){CX(a);return a;}
-function bJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);if(!b.vc(c,d)){return false;}}return true;}
-function cJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);b.qd(c,d);}}
-function EI(){}
-_=EI.prototype=new AX();_.tN=pfc+'TabListenerCollection';_.tI=110;function rJ(a){a.b=nJ(new mJ());a.a=gJ(new fJ(),a.b);}
-function sJ(b){var a;rJ(b);a=hO(new fO());iO(a,b.b);iO(a,b.a);a.ke(b.a,'100%');b.b.Be('100%');uI(b.b,b);gr(b,a);uN(b,'gwt-TabPanel');uN(b.a,'gwt-TabPanelBottom');return b;}
-function tJ(c,d,b,a){xJ(c,d,b,a,c.a.f.c);}
-function wJ(b,a){return Dq(b.a,a);}
-function vJ(a,b){return Cq(a.a,b);}
-function xJ(d,e,c,a,b){iJ(d.a,e,c,a,b);}
-function yJ(b,a){return b.a.de(a);}
-function zJ(b,a){BI(b.b,a);}
-function AJ(){return Fq(this.a);}
-function BJ(a,b){return true;}
-function CJ(a,b){sr(this.a,b);}
-function DJ(a){return jJ(this.a,a);}
-function eJ(){}
-_=eJ.prototype=new er();_.qc=AJ;_.vc=BJ;_.qd=CJ;_.ee=DJ;_.tN=pfc+'TabPanel';_.tI=111;function gJ(b,a){mr(b);b.a=a;return b;}
-function iJ(e,f,d,a,b){var c;c=Cq(e,f);if(c!=(-1)){jJ(e,f);if(c<b){b--;}}pJ(e.a,d,a,b);pr(e,f,b);}
-function jJ(b,c){var a;a=Cq(b,c);if(a!=(-1)){qJ(b.a,a);return qr(b,c);}return false;}
-function kJ(){throw sV(new rV(),'Use TabPanel.clear() to alter the DeckPanel');}
-function lJ(a){return jJ(this,a);}
-function fJ(){}
-_=fJ.prototype=new lr();_.ab=kJ;_.ee=lJ;_.tN=pfc+'TabPanel$TabbedDeckPanel';_.tI=112;_.a=null;function nJ(a){tI(a);return a;}
-function pJ(d,c,a,b){zI(d,c,a,b);}
-function qJ(b,a){AI(b,a);}
-function mJ(){}
-_=mJ.prototype=new rI();_.tN=pfc+'TabPanel$UnmodifiableTabBar';_.tI=113;function FJ(a){CX(a);return a;}
-function bK(f,e,d,a){var b,c;for(b=f.qc();b.kc();){c=Fb(b.sc(),51);c.xc(e,d,a);}}
-function EJ(){}
-_=EJ.prototype=new AX();_.tN=pfc+'TableListenerCollection';_.tI=114;function fK(){fK=s2;qK();}
-function eK(a){fK();mK(a,he());uN(a,'gwt-TextArea');return a;}
-function gK(a){return mR(xK,a.ub());}
-function hK(a){return af(a.ub(),'rows');}
-function iK(a,b){wf(a.ub(),'cols',b);}
-function jK(b,a){wf(b.ub(),'rows',a);}
-function dK(){}
-_=dK.prototype=new lK();_.tN=pfc+'TextArea';_.tI=115;function AK(){AK=s2;qK();}
-function zK(a){AK();mK(a,Fd());uN(a,'gwt-TextBox');return a;}
-function BK(b,a){wf(b.ub(),'size',a);}
-function kK(){}
-_=kK.prototype=new lK();_.tN=pfc+'TextBox';_.tI=116;function iM(a){a.a=z0(new DZ());}
-function jM(a){kM(a,gL(new fL()));return a;}
-function kM(b,a){iM(b);b.d=a;b.me(xd());Df(b.ub(),'position','relative');b.c=qQ((cu(),du));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.ub(),b.c);vN(b,1021);Ef(b.c,6144);b.g=EK(new DK(),b);BL(b.g,b);uN(b,'gwt-Tree');return b;}
-function mM(c,a){var b;b=pL(new mL(),a);lM(c,b);return b;}
-function lM(b,a){FK(b.g,a);}
-function nM(b,a){if(b.f===null){b.f=dM(new cM());}EX(b.f,a);}
-function oM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){vL(sL(c.g,a));}}
-function qM(d,a,c,b){if(b===null||ud(b,c)){return;}qM(d,a,c,ff(b));EX(a,hc(b,hg));}
-function rM(e,d,b){var a,c;a=CX(new AX());qM(e,a,e.ub(),b);c=tM(e,a,0,d);if(c!==null){if(kf(uL(c),b)){AL(c,!c.f,true);return true;}else if(kf(c.ub(),b)){AM(e,c,true,!bN(e,b));return true;}}return false;}
-function sM(b,a){if(!a.f){return a;}return sM(b,sL(a,a.c.b-1));}
-function tM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(dY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=sL(h,d);if(ud(b.ub(),c)){g=tM(i,a,e+1,sL(h,d));if(g===null){return b;}return g;}}return tM(i,a,e+1,h);}
-function uM(b,a){if(b.f!==null){gM(b.f,a);}}
-function vM(b,a){return sL(b.g,a);}
-function wM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[617],[20],[a.a.c],null);nX(a.a).Fe(b);return oP(a,b);}
-function xM(h,g){var a,b,c,d,e,f,i,j;c=tL(g);{f=g.d;a=lN(h);b=mN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);sQ((cu(),du),h.c);}}
-function yM(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=rL(c,d);if(!a|| !d.f){if(b<c.c.b-1){AM(e,sL(c,b+1),true,true);}else{yM(e,c,false);}}else if(d.c.b>0){AM(e,sL(d,0),true,true);}}
-function zM(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=rL(b,c);if(a>0){d=sL(b,a-1);AM(e,sM(e,d),true,true);}else{AM(e,b,true,true);}}
-function AM(d,b,a,c){if(b===d.g){return;}if(d.b!==null){yL(d.b,false);}d.b=b;if(c&&d.b!==null){xM(d,d.b);yL(d.b,true);if(a&&d.f!==null){fM(d.f,d.b);}}}
-function DM(b,c){var a;a=Fb(F0(b.a,c),52);if(a===null){return false;}DL(a,null);return true;}
-function BM(b,a){bL(b.g,a);}
-function CM(a){while(a.g.c.b>0){BM(a,vM(a,0));}}
-function EM(b,a){if(a){sQ((cu(),du),b.c);}else{mQ((cu(),du),b.c);}}
-function FM(b,a){aN(b,a,true);}
-function aN(c,b,a){if(b===null){if(c.b===null){return;}yL(c.b,false);c.b=null;return;}AM(c,b,a,true);}
-function bN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
-function cN(){var a,b;for(b=wM(this);hP(b);){a=iP(b);a.uc();}yf(this.c,this);}
-function dN(){var a,b;for(b=wM(this);hP(b);){a=iP(b);a.Bc();}yf(this.c,null);}
-function eN(){return wM(this);}
-function fN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(bN(this,b)){}else{EM(this,true);}break;}case 4:{if(jg(qe(c),hc(this.ub(),hg))){rM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){AM(this,sL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{zM(this,this.b);ye(c);break;}case 40:{yM(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){zL(this.b,false);}else{f=this.b.g;if(f!==null){FM(this,f);}}ye(c);break;}case 39:{if(!this.b.f){zL(this.b,true);}else if(this.b.c.b>0){FM(this,sL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=CX(new AX());qM(this,a,this.ub(),ve(c));e=tM(this,a,0,this.g);if(e!==this.b){aN(this,e,true);}}}case 256:{break;}}this.e=d;}
-function gN(){EL(this.g);}
-function hN(a){return DM(this,a);}
-function CK(){}
-_=CK.prototype=new oO();_.kb=cN;_.mb=dN;_.qc=eN;_.wc=fN;_.fd=gN;_.ee=hN;_.tN=pfc+'Tree';_.tI=117;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function nL(a){a.c=CX(new AX());a.i=dB(new oA());}
-function oL(d){var a,b,c,e;nL(d);d.me(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.ub(),d.e);td(d.ub(),d.b);td(c,d.i.ub());td(b,d.d);Df(d.d,'display','inline');Df(d.ub(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');FN(d.d,'gwt-TreeItem',true);return d;}
-function pL(b,a){oL(b);wL(b,a);return b;}
-function sL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(dY(b.c,a),52);}
-function rL(b,a){return eY(b.c,a);}
-function tL(a){var b;b=a.l;{return null;}}
-function uL(a){return a.i.ub();}
-function vL(a){if(a.g!==null){a.g.ae(a);}else if(a.j!==null){BM(a.j,a);}}
-function wL(b,a){DL(b,null);Af(b.d,a);}
-function xL(b,a){b.g=a;}
-function yL(b,a){if(b.h==a){return;}b.h=a;FN(b.d,'gwt-TreeItem-selected',a);}
-function zL(b,a){AL(b,a,true);}
-function AL(c,b,a){if(b&&c.c.b==0){return;}c.f=b;FL(c);if(a&&c.j!==null){uM(c.j,c);}}
-function BL(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){FM(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){BL(Fb(dY(d.c,a),52),c);}FL(d);}
-function CL(a,b){a.k=b;}
-function DL(b,a){Af(b.d,'');b.l=a;}
-function FL(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){bO(b.b,false);gQ((hL(),kL),b.i);return;}if(b.f){bO(b.b,true);gQ((hL(),lL),b.i);}else{bO(b.b,false);gQ((hL(),jL),b.i);}}
-function EL(c){var a,b;FL(c);for(a=0,b=c.c.b;a<b;++a){EL(Fb(dY(c.c,a),52));}}
-function aM(a){if(a.g!==null||a.j!==null){vL(a);}xL(a,this);EX(this.c,a);Df(a.ub(),'marginLeft','16px');td(this.b,a.ub());BL(a,this.j);if(this.c.b==1){FL(this);}}
-function bM(a){if(!cY(this.c,a)){return;}BL(a,null);nf(this.b,a.ub());xL(a,null);iY(this.c,a);if(this.c.b==0){FL(this);}}
-function mL(){}
-_=mL.prototype=new iN();_.y=aM;_.ae=bM;_.tN=pfc+'TreeItem';_.tI=118;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function EK(b,a){b.a=a;oL(b);return b;}
-function FK(b,a){if(a.g!==null||a.j!==null){vL(a);}td(b.a.ub(),a.ub());BL(a,b.j);xL(a,null);EX(b.c,a);Cf(a.ub(),'marginLeft',0);}
-function bL(b,a){if(!cY(b.c,a)){return;}BL(a,null);xL(a,null);iY(b.c,a);nf(b.a.ub(),a.ub());}
-function cL(a){FK(this,a);}
-function dL(a){bL(this,a);}
-function DK(){}
-_=DK.prototype=new mL();_.y=cL;_.ae=dL;_.tN=pfc+'Tree$1';_.tI=119;function hL(){hL=s2;iL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';jL=fQ(new eQ(),iL,0,0,16,16);kL=fQ(new eQ(),iL,16,0,16,16);lL=fQ(new eQ(),iL,32,0,16,16);}
-function gL(a){hL();return a;}
-function fL(){}
-_=fL.prototype=new uT();_.tN=pfc+'TreeImages_generatedBundle';_.tI=120;var iL,jL,kL,lL;function dM(a){CX(a);return a;}
-function fM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.rd(b);}}
-function gM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.sd(b);}}
-function cM(){}
-_=cM.prototype=new AX();_.tN=pfc+'TreeListenerCollection';_.tI=121;function gO(a){a.a=(oz(),qz);a.b=(xz(),Az);}
-function hO(a){up(a);gO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function iO(b,d){var a,c;c=fe();a=kO(b);td(c,a);td(b.d,c);xq(b,d,a);}
-function kO(b){var a;a=ee();wp(b,a,b.a);xp(b,a,b.b);return a;}
-function lO(b,a){b.a=a;}
-function mO(b,a){b.b=a;}
-function nO(c){var a,b;b=ff(c.ub());a=ar(this,c);if(a){nf(this.d,ff(b));}return a;}
-function fO(){}
-_=fO.prototype=new tp();_.ee=nO;_.tN=pfc+'VerticalPanel';_.tI=122;function yO(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[617],[20],[4],null);return b;}
-function zO(a,b){DO(a,b,a.c);}
-function BO(b,a){if(a<0||a>=b.c){throw new uS();}return b.a[a];}
-function CO(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
-function DO(d,e,a){var b,c;if(a<0||a>d.c){throw new uS();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[617],[20],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
-function EO(a){return rO(new qO(),a);}
-function FO(c,b){var a;if(b<0||b>=c.c){throw new uS();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
-function aP(b,c){var a;a=CO(b,c);if(a==(-1)){throw new a2();}FO(b,a);}
-function pO(){}
-_=pO.prototype=new uT();_.tN=pfc+'WidgetCollection';_.tI=123;_.a=null;_.b=null;_.c=0;function rO(b,a){b.b=a;return b;}
-function tO(a){return a.a<a.b.c-1;}
-function uO(a){if(a.a>=a.b.c){throw new a2();}return a.b.a[++a.a];}
-function vO(){return tO(this);}
-function wO(){return uO(this);}
-function xO(){if(this.a<0||this.a>=this.b.c){throw new rS();}this.b.b.ee(this.b.a[this.a--]);}
-function qO(){}
-_=qO.prototype=new uT();_.kc=vO;_.sc=wO;_.ce=xO;_.tN=pfc+'WidgetCollection$WidgetIterator';_.tI=124;_.a=(-1);function nP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[617],[20],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
-function oP(b,a){return eP(new cP(),a,b);}
-function dP(a){a.e=a.c;{gP(a);}}
-function eP(a,b,c){a.c=b;a.d=c;dP(a);return a;}
-function gP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
-function hP(a){return a.a<a.c.a;}
-function iP(a){var b;if(!hP(a)){throw new a2();}a.b=a.a;b=a.c[a.a];gP(a);return b;}
-function jP(){return hP(this);}
-function kP(){return iP(this);}
-function lP(){if(this.b<0){throw new rS();}if(!this.f){this.e=nP(this.e);this.f=true;}DM(this.d,this.c[this.b]);this.b=(-1);}
-function cP(){}
-_=cP.prototype=new uT();_.kc=jP;_.sc=kP;_.ce=lP;_.tN=pfc+'WidgetIterators$1';_.tI=125;_.a=(-1);_.b=(-1);_.f=false;function aQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
-function cQ(c,f,b,e,g,a){var d;d=ce();Af(d,dQ(c,f,b,e,g,a));return df(d);}
-function dQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
-function FP(){}
-_=FP.prototype=new uT();_.tN=qfc+'ClippedImageImpl';_.tI=126;function fQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
-function gQ(b,a){iB(a,b.d,b.b,b.c,b.e,b.a);}
-function eQ(){}
-_=eQ.prototype=new ip();_.tN=qfc+'ClippedImagePrototype';_.tI=127;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function yQ(){yQ=s2;BQ=lQ(new jQ());CQ=BQ!==null?xQ(new iQ()):BQ;}
-function xQ(a){yQ();return a;}
-function zQ(a){a.blur();}
-function AQ(a){a.focus();}
-function DQ(a,b){a.tabIndex=b;}
-function iQ(){}
-_=iQ.prototype=new uT();_.F=zQ;_.rb=AQ;_.se=DQ;_.tN=qfc+'FocusImpl';_.tI=128;var BQ,CQ;function nQ(){nQ=s2;yQ();}
-function kQ(a){a.a=oQ(a);a.b=pQ(a);a.c=rQ(a);}
-function lQ(a){nQ();xQ(a);kQ(a);return a;}
-function mQ(b,a){a.firstChild.blur();}
-function oQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
-function pQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
-function qQ(c){var a=$doc.createElement('div');var b=c.gb();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
-function rQ(a){return function(){this.firstChild.focus();};}
-function sQ(b,a){a.firstChild.focus();}
-function tQ(a){mQ(this,a);}
-function uQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
-function vQ(a){sQ(this,a);}
-function wQ(a,b){a.firstChild.tabIndex=b;}
-function jQ(){}
-_=jQ.prototype=new iQ();_.F=tQ;_.gb=uQ;_.rb=vQ;_.se=wQ;_.tN=qfc+'FocusImplOld';_.tI=129;function bR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
-function cR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.ad();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Fc();};}
-function dR(c,b,a){b.enctype=a;b.encoding=a;}
-function eR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
-function fR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
-function EQ(){}
-_=EQ.prototype=new uT();_.tN=qfc+'FormPanelImpl';_.tI=130;function iR(a){return xd();}
-function gR(){}
-_=gR.prototype=new uT();_.tN=qfc+'PopupImpl';_.tI=131;function lR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
-function mR(b,a){return lR(b,a);}
-function nR(d,a,c,b){a.setSelectionRange(c,c+b);}
-function jR(){}
-_=jR.prototype=new uT();_.tN=qfc+'TextBoxImpl';_.tI=132;function rR(){}
-_=rR.prototype=new uT();_.tN=rfc+'OutputStream';_.tI=133;function pR(){}
-_=pR.prototype=new rR();_.tN=rfc+'FilterOutputStream';_.tI=134;function tR(){}
-_=tR.prototype=new pR();_.tN=rfc+'PrintStream';_.tI=135;function vR(){}
-_=vR.prototype=new zT();_.tN=sfc+'ArrayStoreException';_.tI=136;function zR(){zR=s2;AR=yR(new xR(),false);BR=yR(new xR(),true);}
-function yR(a,b){zR();a.a=b;return a;}
-function CR(a){return ac(a,55)&&Fb(a,55).a==this.a;}
-function DR(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
-function ER(){return this.a?'true':'false';}
-function FR(a){zR();return a?BR:AR;}
-function xR(){}
-_=xR.prototype=new uT();_.eQ=CR;_.hC=DR;_.tS=ER;_.tN=sfc+'Boolean';_.tI=137;_.a=false;var AR,BR;function dS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+eT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
-function eS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
-function gS(b,a){AT(b,a);return b;}
-function fS(){}
-_=fS.prototype=new zT();_.tN=sfc+'ClassCastException';_.tI=138;function pS(b,a){AT(b,a);return b;}
-function oS(){}
-_=oS.prototype=new zT();_.tN=sfc+'IllegalArgumentException';_.tI=139;function sS(b,a){AT(b,a);return b;}
-function rS(){}
-_=rS.prototype=new zT();_.tN=sfc+'IllegalStateException';_.tI=140;function vS(b,a){AT(b,a);return b;}
-function uS(){}
-_=uS.prototype=new zT();_.tN=sfc+'IndexOutOfBoundsException';_.tI=141;function oT(){oT=s2;{tT();}}
-function pT(a){oT();return isNaN(a);}
-function qT(e,d,c,h){oT();var a,b,f,g;if(e===null){throw mT(new lT(),'Unable to parse null');}b=rU(e);f=b>0&&iU(e,0)==45?1:0;for(a=f;a<b;a++){if(dS(iU(e,a),d)==(-1)){throw mT(new lT(),'Could not parse '+e+' in radix '+d);}}g=rT(e,d);if(pT(g)){throw mT(new lT(),'Unable to parse '+e);}else if(g<c||g>h){throw mT(new lT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
-function rT(b,a){oT();return parseInt(b,a);}
-function tT(){oT();sT=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
-var sT=null;function yS(){yS=s2;oT();}
-function BS(a){yS();return CS(a,10);}
-function CS(b,a){yS();return cc(qT(b,a,(-2147483648),2147483647));}
-function DS(a){yS();return dV(a);}
-var zS=2147483647,AS=(-2147483648);function FS(){FS=s2;oT();}
-function aT(a){FS();return eV(a);}
-function dT(a){return a<0?-a:a;}
-function eT(a,b){return a<b?a:b;}
-function fT(){}
-_=fT.prototype=new zT();_.tN=sfc+'NegativeArraySizeException';_.tI=142;function iT(b,a){AT(b,a);return b;}
-function hT(){}
-_=hT.prototype=new zT();_.tN=sfc+'NullPointerException';_.tI=143;function mT(b,a){pS(b,a);return b;}
-function lT(){}
-_=lT.prototype=new oS();_.tN=sfc+'NumberFormatException';_.tI=144;function iU(b,a){return b.charCodeAt(a);}
-function kU(f,c){var a,b,d,e,g,h;h=rU(f);e=rU(c);b=eT(h,e);for(a=0;a<b;a++){g=iU(f,a);d=iU(c,a);if(g!=d){return g-d;}}return h-e;}
-function lU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
-function nU(b,a){if(!ac(a,1))return false;return CU(b,a);}
-function mU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
-function oU(b,a){return b.indexOf(String.fromCharCode(a));}
-function pU(b,a){return b.indexOf(a);}
-function qU(c,b,a){return c.indexOf(b,a);}
-function rU(a){return a.length;}
-function sU(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
-function tU(b,a){return uU(b,a,0);}
-function uU(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=BU(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
-function vU(b,a){return pU(b,a)==0;}
-function wU(b,a){return b.substr(a,b.length-a);}
-function xU(c,a,b){return c.substr(a,b-a);}
-function yU(d){var a,b,c;c=rU(d);a=yb('[C',[608],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=iU(d,b);return a;}
-function zU(a){return a.toLowerCase();}
-function AU(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
-function BU(a){return yb('[Ljava.lang.String;',[605],[1],[a],null);}
-function CU(a,b){return String(a)==b;}
-function DU(a){if(ac(a,1)){return kU(this,Fb(a,1));}else{throw gS(new fS(),'Cannot compare '+a+" with String '"+this+"'");}}
-function EU(a){return nU(this,a);}
-function aV(){var a=FU;if(!a){a=FU={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
-function bV(){return this;}
-function cV(a){return String.fromCharCode(a);}
-function dV(a){return ''+a;}
-function eV(a){return ''+a;}
-function fV(a){return a!==null?a.tS():'null';}
-_=String.prototype;_.bb=DU;_.eQ=EU;_.hC=aV;_.tS=bV;_.tN=sfc+'String';_.tI=2;var FU=null;function FT(a){cU(a);return a;}
-function aU(a,b){return bU(a,cV(b));}
-function bU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
-function cU(a){dU(a,'');}
-function dU(b,a){b.js=[a];b.length=a.length;}
-function fU(a){a.tc();return a.js[0];}
-function gU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
-function hU(){return fU(this);}
-function ET(){}
-_=ET.prototype=new uT();_.tc=gU;_.tS=hU;_.tN=sfc+'StringBuffer';_.tI=145;function hV(){hV=s2;kV=new tR();}
-function iV(){hV();return new Date().getTime();}
-function jV(a){hV();return B(a);}
-var kV;function sV(b,a){AT(b,a);return b;}
-function rV(){}
-_=rV.prototype=new zT();_.tN=sfc+'UnsupportedOperationException';_.tI=146;function EV(b,a){b.c=a;return b;}
-function aW(a){return a.a<a.c.Ce();}
-function bW(){return aW(this);}
-function cW(){if(!aW(this)){throw new a2();}return this.c.hc(this.b=this.a++);}
-function dW(){if(this.b<0){throw new rS();}this.c.de(this.b);this.a=this.b;this.b=(-1);}
-function DV(){}
-_=DV.prototype=new uT();_.kc=bW;_.sc=cW;_.ce=dW;_.tN=tfc+'AbstractList$IteratorImpl';_.tI=147;_.a=0;_.b=(-1);function mX(f,d,e){var a,b,c;for(b=u0(f.ob());m0(b);){a=n0(b);c=a.yb();if(d===null?c===null:d.eQ(c)){if(e){o0(b);}return a;}}return null;}
-function nX(b){var a;a=b.ob();return oW(new nW(),b,a);}
-function oX(b){var a;a=E0(b);return DW(new CW(),b,a);}
-function pX(a){return mX(this,a,false)!==null;}
-function qX(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=nX(this);e=f.rc();if(!xX(c,e)){return false;}for(a=qW(c);xW(a);){b=yW(a);h=this.ic(b);g=f.ic(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
-function rX(b){var a;a=mX(this,b,false);return a===null?null:a.ec();}
-function sX(){var a,b,c;b=0;for(c=u0(this.ob());m0(c);){a=n0(c);b+=a.hC();}return b;}
-function tX(){return nX(this);}
-function uX(){var a,b,c,d;d='{';a=false;for(c=u0(this.ob());m0(c);){b=n0(c);if(a){d+=', ';}else{a=true;}d+=fV(b.yb());d+='=';d+=fV(b.ec());}return d+'}';}
-function mW(){}
-_=mW.prototype=new uT();_.db=pX;_.eQ=qX;_.ic=rX;_.hC=sX;_.rc=tX;_.tS=uX;_.tN=tfc+'AbstractMap';_.tI=148;function xX(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ce()!=e.Ce()){return false;}for(a=c.qc();a.kc();){d=a.sc();if(!e.eb(d)){return false;}}return true;}
-function yX(a){return xX(this,a);}
-function zX(){var a,b,c;a=0;for(b=this.qc();b.kc();){c=b.sc();if(c!==null){a+=c.hC();}}return a;}
-function vX(){}
-_=vX.prototype=new uV();_.eQ=yX;_.hC=zX;_.tN=tfc+'AbstractSet';_.tI=149;function oW(b,a,c){b.a=a;b.b=c;return b;}
-function qW(b){var a;a=u0(b.b);return vW(new uW(),b,a);}
-function rW(a){return this.a.db(a);}
-function sW(){return qW(this);}
-function tW(){return this.b.a.c;}
-function nW(){}
-_=nW.prototype=new vX();_.eb=rW;_.qc=sW;_.Ce=tW;_.tN=tfc+'AbstractMap$1';_.tI=150;function vW(b,a,c){b.a=c;return b;}
-function xW(a){return m0(a.a);}
-function yW(b){var a;a=n0(b.a);return a.yb();}
-function zW(){return xW(this);}
-function AW(){return yW(this);}
-function BW(){o0(this.a);}
-function uW(){}
-_=uW.prototype=new uT();_.kc=zW;_.sc=AW;_.ce=BW;_.tN=tfc+'AbstractMap$2';_.tI=151;function DW(b,a,c){b.a=a;b.b=c;return b;}
-function FW(b){var a;a=u0(b.b);return eX(new dX(),b,a);}
-function aX(a){return D0(this.a,a);}
-function bX(){return FW(this);}
-function cX(){return this.b.a.c;}
-function CW(){}
-_=CW.prototype=new uV();_.eb=aX;_.qc=bX;_.Ce=cX;_.tN=tfc+'AbstractMap$3';_.tI=152;function eX(b,a,c){b.a=c;return b;}
-function gX(a){return m0(a.a);}
-function hX(a){var b;b=n0(a.a).ec();return b;}
-function iX(){return gX(this);}
-function jX(){return hX(this);}
-function kX(){o0(this.a);}
-function dX(){}
-_=dX.prototype=new uT();_.kc=iX;_.sc=jX;_.ce=kX;_.tN=tfc+'AbstractMap$4';_.tI=153;function yY(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.cb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
-function zY(a){yY(a,a.a,(fZ(),gZ));}
-function CY(){CY=s2;t1(new s1());DY=z0(new DZ());CX(new AX());}
-function EY(c,d){CY();var a,b;b=c.b;for(a=0;a<b;a++){jY(c,a,d[a]);}}
-function FY(a){CY();var b;b=a.Ee();zY(b);EY(a,b);}
-var DY;function fZ(){fZ=s2;gZ=new cZ();}
-var gZ;function eZ(a,b){return Fb(a,34).bb(b);}
-function cZ(){}
-_=cZ.prototype=new uT();_.cb=eZ;_.tN=tfc+'Comparators$1';_.tI=154;function kZ(){kZ=s2;rZ=zb('[Ljava.lang.String;',605,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);sZ=zb('[Ljava.lang.String;',605,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
-function iZ(a){kZ();nZ(a);return a;}
-function jZ(b,a){kZ();oZ(b,a);return b;}
-function lZ(c,a){var b,d;d=mZ(c);b=mZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
-function mZ(a){return a.jsdate.getTime();}
-function nZ(a){a.jsdate=new Date();}
-function oZ(b,a){b.jsdate=new Date(a);}
-function pZ(a){return a.jsdate.toLocaleString();}
-function qZ(h){var a=h.jsdate;var g=yZ;var b=uZ(h.jsdate.getDay());var e=xZ(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
-function tZ(a){return lZ(this,Fb(a,59));}
-function uZ(a){kZ();return rZ[a];}
-function vZ(a){return ac(a,59)&&mZ(this)==mZ(Fb(a,59));}
-function wZ(){return cc(mZ(this)^mZ(this)>>>32);}
-function xZ(a){kZ();return sZ[a];}
-function yZ(a){kZ();if(a<10){return '0'+a;}else{return dV(a);}}
-function zZ(){return qZ(this);}
-function hZ(){}
-_=hZ.prototype=new uT();_.bb=tZ;_.eQ=vZ;_.hC=wZ;_.tS=zZ;_.tN=tfc+'Date';_.tI=155;var rZ,sZ;function B0(){B0=s2;c1=i1();}
-function y0(a){{A0(a);}}
-function z0(a){B0();y0(a);return a;}
-function A0(a){a.a=gb();a.d=ib();a.b=hc(c1,cb);a.c=0;}
-function C0(b,a){if(ac(a,1)){return m1(b.d,Fb(a,1))!==c1;}else if(a===null){return b.b!==c1;}else{return l1(b.a,a,a.hC())!==c1;}}
-function D0(a,b){if(a.b!==c1&&k1(a.b,b)){return true;}else if(h1(a.d,b)){return true;}else if(f1(a.a,b)){return true;}return false;}
-function E0(a){return s0(new i0(),a);}
-function F0(c,a){var b;if(ac(a,1)){b=m1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=l1(c.a,a,a.hC());}return b===c1?null:b;}
-function a1(c,a,d){var b;if(ac(a,1)){b=p1(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=o1(c.a,a,d,a.hC());}if(b===c1){++c.c;return null;}else{return b;}}
-function b1(c,a){var b;if(ac(a,1)){b=r1(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(c1,cb);}else{b=q1(c.a,a,a.hC());}if(b===c1){return null;}else{--c.c;return b;}}
-function d1(e,c){B0();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
-function e1(d,a){B0();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=b0(c.substring(1),e);a.C(b);}}}
-function f1(f,h){B0();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ec();if(k1(h,d)){return true;}}}}return false;}
-function g1(a){return C0(this,a);}
-function h1(c,d){B0();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(k1(d,a)){return true;}}}return false;}
-function i1(){B0();}
-function j1(){return E0(this);}
-function k1(a,b){B0();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
-function n1(a){return F0(this,a);}
-function l1(f,h,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){return c.ec();}}}}
-function m1(b,a){B0();return b[':'+a];}
-function o1(f,h,j,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){var i=c.ec();c.we(j);return i;}}}else{a=f[e]=[];}var c=b0(h,j);a.push(c);}
-function p1(c,a,d){B0();a=':'+a;var b=c[a];c[a]=d;return b;}
-function q1(f,h,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ec();}}}}
-function r1(c,a){B0();a=':'+a;var b=c[a];delete c[a];return b;}
-function DZ(){}
-_=DZ.prototype=new mW();_.db=g1;_.ob=j1;_.ic=n1;_.tN=tfc+'HashMap';_.tI=156;_.a=null;_.b=null;_.c=0;_.d=null;var c1;function FZ(b,a,c){b.a=a;b.b=c;return b;}
-function b0(a,b){return FZ(new EZ(),a,b);}
-function c0(b){var a;if(ac(b,60)){a=Fb(b,60);if(k1(this.a,a.yb())&&k1(this.b,a.ec())){return true;}}return false;}
-function d0(){return this.a;}
-function e0(){return this.b;}
-function f0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
-function g0(a){var b;b=this.b;this.b=a;return b;}
-function h0(){return this.a+'='+this.b;}
-function EZ(){}
-_=EZ.prototype=new uT();_.eQ=c0;_.yb=d0;_.ec=e0;_.hC=f0;_.we=g0;_.tS=h0;_.tN=tfc+'HashMap$EntryImpl';_.tI=157;_.a=null;_.b=null;function s0(b,a){b.a=a;return b;}
-function u0(a){return k0(new j0(),a.a);}
-function v0(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.yb();if(C0(this.a,b)){d=F0(this.a,b);return k1(a.ec(),d);}}return false;}
-function w0(){return u0(this);}
-function x0(){return this.a.c;}
-function i0(){}
-_=i0.prototype=new vX();_.eb=v0;_.qc=w0;_.Ce=x0;_.tN=tfc+'HashMap$EntrySet';_.tI=158;function k0(c,b){var a;c.c=b;a=CX(new AX());if(c.c.b!==(B0(),c1)){EX(a,FZ(new EZ(),null,c.c.b));}e1(c.c.d,a);d1(c.c.a,a);c.a=a.qc();return c;}
-function m0(a){return a.a.kc();}
-function n0(a){return a.b=Fb(a.a.sc(),60);}
-function o0(a){if(a.b===null){throw sS(new rS(),'Must call next() before remove().');}else{a.a.ce();b1(a.c,a.b.yb());a.b=null;}}
-function p0(){return m0(this);}
-function q0(){return n0(this);}
-function r0(){o0(this);}
-function j0(){}
-_=j0.prototype=new uT();_.kc=p0;_.sc=q0;_.ce=r0;_.tN=tfc+'HashMap$EntrySetIterator';_.tI=159;_.a=null;_.b=null;function t1(a){a.a=z0(new DZ());return a;}
-function u1(c,a){var b;b=a1(c.a,a,FR(true));return b===null;}
-function w1(a){return qW(nX(a.a));}
-function x1(a){return u1(this,a);}
-function y1(a){return C0(this.a,a);}
-function z1(){return w1(this);}
-function A1(){return this.a.c;}
-function B1(){return nX(this.a).tS();}
-function s1(){}
-_=s1.prototype=new vX();_.C=x1;_.eb=y1;_.qc=z1;_.Ce=A1;_.tS=B1;_.tN=tfc+'HashSet';_.tI=160;_.a=null;function b2(b,a){AT(b,a);return b;}
-function a2(){}
-_=a2.prototype=new zT();_.tN=tfc+'NoSuchElementException';_.tI=161;function g2(a){a.a=CX(new AX());return a;}
-function h2(b,a){return EX(b.a,a);}
-function j2(a){return a.a.qc();}
-function k2(a,b){DX(this.a,a,b);}
-function l2(a){return h2(this,a);}
-function m2(a){return cY(this.a,a);}
-function n2(a){return dY(this.a,a);}
-function o2(){return j2(this);}
-function p2(a){return hY(this.a,a);}
-function q2(){return this.a.b;}
-function r2(){return this.a.Ee();}
-function f2(){}
-_=f2.prototype=new CV();_.B=k2;_.C=l2;_.eb=m2;_.hc=n2;_.qc=o2;_.de=p2;_.Ce=q2;_.Ee=r2;_.tN=tfc+'Vector';_.tI=162;_.a=null;function s4(){s4=s2;u4=z0(new DZ());}
-function r4(a){s4();return a;}
-function t4(){}
-function c4(){}
-_=c4.prototype=new er();_.md=t4;_.tN=ufc+'JBRMSFeature';_.tI=163;var u4;function z2(){z2=s2;s4();}
-function y2(a){z2();r4(a);a.a=sJ(new eJ());a.a.Be('100%');a.a.qe('100%');tJ(a.a,x8(new b8()),"<img src='images/category_small.gif'/>Manage categories",true);tJ(a.a,i9(new A8()),"<img src='images/status_small.gif'/>Manage states",true);tJ(a.a,j7(new f6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);tJ(a.a,C7(new n7()),"<img src='images/backup_small.gif'/>Import Export",true);zJ(a.a,0);gr(a,a.a);return a;}
-function A2(){z2();return v2(new u2(),'Admin','Administer the repository');}
-function B2(){}
-function t2(){}
-_=t2.prototype=new c4();_.md=B2;_.tN=ufc+'AdminFeature';_.tI=164;_.a=null;function e4(c,b,a){c.c=b;c.a=a;return c;}
-function g4(a){if(a.b!==null)return a.b;return a.b=a.hb();}
-function d4(){}
-_=d4.prototype=new uT();_.tN=ufc+'JBRMSFeature$ComponentInfo';_.tI=165;_.a=null;_.b=null;_.c=null;function v2(c,a,b){e4(c,a,b);return c;}
-function x2(){return y2(new t2());}
-function u2(){}
-_=u2.prototype=new d4();_.hb=x2;_.tN=ufc+'AdminFeature$1';_.tI=166;function c3(){c3=s2;s4();}
-function b3(a){c3();r4(a);gr(a,CJb(new eIb()));return a;}
-function d3(){c3();return E2(new D2(),'Deployment','Configure and view frozen snapshots of packages.');}
-function e3(){}
-function C2(){}
-_=C2.prototype=new c4();_.md=e3;_.tN=ufc+'DeploymentManagementFeature';_.tI=167;function E2(c,a,b){e4(c,a,b);return c;}
-function a3(){return b3(new C2());}
-function D2(){}
-_=D2.prototype=new d4();_.hb=a3;_.tN=ufc+'DeploymentManagementFeature$1';_.tI=168;function l3(){l3=s2;s4();}
-function k3(a){l3();r4(a);gr(a,m3(a));return a;}
-function m3(a){a.a=vv(new tv(),'welcome.html');uN(a.a,'welcome-Page');a.a.ye(true);return a.a;}
-function n3(){l3();return h3(new g3(),'Info','JBoss Rules Managment System.');}
-function o3(){}
-function f3(){}
-_=f3.prototype=new c4();_.md=o3;_.tN=ufc+'Info';_.tI=169;_.a=null;function h3(c,a,b){e4(c,a,b);return c;}
-function j3(){return k3(new f3());}
-function g3(){}
-_=g3.prototype=new d4();_.hb=j3;_.tN=ufc+'Info$1';_.tI=170;function z3(a){a.c=dz(new hw());a.d=m4(new k4());a.g=ps(new gs());}
-function A3(a){z3(a);return a;}
-function B3(a){kXb(ALb(),r3(new q3(),a));}
-function D3(b,c){var a;a=p4(b.d,c);if(a===null){F3(b);return;}a4(b,a,false);}
-function E3(b){var a,c;j4(b.d);b.h=ps(new gs());uN(b.h,'ks-Sink');c=hO(new fO());c.Be('100%');iO(c,b.c);iO(c,b.h);uN(b.c,'ks-Info');qs(b.g,b.d,(rs(),Bs));qs(b.g,c,(rs(),xs));vs(b.g,b.d,(xz(),Az));ws(b.g,c,'100%');Bg(b);b.e=E4(new v4());b.f=p5(new b5());dp(iG(),b.e);dp(iG(),b.g);dp(iG(),b.f);b.f.Be('100%');b.e.ye(false);b.g.ye(false);b.f.ye(false);B3(b);a=Dg();if(rU(a)>0)D3(b,a);else F3(b);}
-function a4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){ts(c.h,c.b);}c.b=g4(b);q4(c.d,b.c);hz(c.c,b.a);if(a)ah(b.c);qs(c.h,c.b,(rs(),xs));ws(c.h,c.b,'100%');vs(c.h,c.b,(xz(),Az));c.b.md();}
-function F3(a){a4(a,p4(a.d,'Info'),false);}
-function b4(a){D3(this,a);}
-function p3(){}
-_=p3.prototype=new uT();_.bd=b4;_.tN=ufc+'JBRMSEntryPoint';_.tI=171;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function gcb(b,a){if(ac(a,69)){icb();}else if(ac(a,70)){hbb(Fb(a,70));}else{gbb(a.zb());}}
-function hcb(a){gcb(this,a);}
-function icb(){var a;a=acb(new Bbb(),'images/warning-large.png','Session expired');ccb(a,ez(new hw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));lE(a,40,40);oE(a);bdb();}
-function ecb(){}
-_=ecb.prototype=new uT();_.Dc=hcb;_.tN=xfc+'GenericCallback';_.tI=172;function r3(b,a){b.a=a;return b;}
-function t3(a){var b;b=Fb(a,1);if(b!==null){a5(this.a.e,b);this.a.e.ye(true);this.a.g.ye(true);this.a.f.ye(false);}else{this.a.f.ye(true);t5(this.a.f,v3(new u3(),this));}}
-function q3(){}
-_=q3.prototype=new ecb();_.pd=t3;_.tN=ufc+'JBRMSEntryPoint$1';_.tI=173;function v3(b,a){b.a=a;return b;}
-function x3(a){a5(a.a.a.e,s5(a.a.a.f));a.a.a.e.ye(true);a.a.a.f.ye(false);a.a.a.g.ye(true);}
-function y3(){x3(this);}
-function u3(){}
-_=u3.prototype=new uT();_.pb=y3;_.tN=ufc+'JBRMSEntryPoint$2';_.tI=174;function j4(a){n4(a,n3());n4(a,e6());n4(a,B5());n4(a,d3());n4(a,A2());}
-function l4(a){a.a=hO(new fO());a.c=CX(new AX());}
-function m4(a){l4(a);gr(a,a.a);uN(a,'ks-List');return a;}
-function n4(d,a){var b,c;c=a.c;b=jA(new hA(),c,c);uN(b,'ks-SinkItem');iO(d.a,b);EX(d.c,a);}
-function p4(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(dY(d.c,a),61);if(nU(b.c,c))return b;}return null;}
-function q4(d,c){var a,b;if(d.b!=(-1))pN(Dq(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(dY(d.c,a),61);if(nU(b.c,c)){d.b=a;jN(Dq(d.a,d.b),'ks-SinkItem-selected');return;}}}
-function k4(){}
-_=k4.prototype=new er();_.tN=ufc+'JBRMSFeatureList';_.tI=175;_.b=(-1);function E4(a){a.a=dz(new hw());gr(a,a.a);return a;}
-function a5(b,d){var a,c;a=FT(new ET());bU(a,"<div id='user_info'>");bU(a,'Welcome: &nbsp;'+d);bU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");bU(a,'<\/div>');hz(b.a,fU(a));c=x4(new w4(),b);mh(c,300000);}
-function v4(){}
-_=v4.prototype=new er();_.tN=ufc+'LoggedInUserInfo';_.tI=176;_.a=null;function y4(){y4=s2;kh();}
-function x4(b,a){y4();ih(b);return b;}
-function z4(){kXb(ALb(),new A4());}
-function w4(){}
-_=w4.prototype=new dh();_.fe=z4;_.tN=ufc+'LoggedInUserInfo$1';_.tI=177;function C4(a){}
-function D4(a){if(a===null){icb();}}
-function A4(){}
-_=A4.prototype=new uT();_.Dc=C4;_.pd=D4;_.tN=ufc+'LoggedInUserInfo$2';_.tI=178;function p5(c){var a,b;c.a=rbb(new obb(),'images/login.gif','Please enter your details');c.c=zK(new kK());c.c.re(1);sbb(c.a,'User name:',c.c);b=DD(new CD());b.re(2);sbb(c.a,'Password:',b);a=qp(new kp(),'Login');a.re(3);sbb(c.a,'',a);a.x(d5(new c5(),c,b));gr(c,c.a);c.c.oe(true);uN(c,'login-Form');return c;}
-function r5(c,a,d,b){DLb(rK(d),rK(b),l5(new k5(),c,a));}
-function s5(a){return rK(a.c);}
-function t5(b,a){b.b=a;}
-function b5(){}
-_=b5.prototype=new er();_.tN=ufc+'LoginWidget';_.tI=179;_.a=null;_.b=null;_.c=null;function d5(b,a,c){b.a=a;b.b=c;return b;}
-function f5(a){fdb('Logging in...');fg(h5(new g5(),this,this.b));}
-function c5(){}
-_=c5.prototype=new uT();_.zc=f5;_.tN=ufc+'LoginWidget$1';_.tI=180;function h5(b,a,c){b.a=a;b.b=c;return b;}
-function j5(){r5(this.a.a,this.a.a.b,this.a.a.c,this.b);}
-function g5(){}
-_=g5.prototype=new uT();_.pb=j5;_.tN=ufc+'LoginWidget$2';_.tI=181;function l5(b,a,c){b.a=c;return b;}
-function n5(c,a){var b;bdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{x3(c.a);}}
-function o5(a){n5(this,a);}
-function k5(){}
-_=k5.prototype=new ecb();_.pd=o5;_.tN=ufc+'LoginWidget$3';_.tI=182;function A5(){A5=s2;s4();}
-function z5(b){var a;A5();r4(b);a=aIb(new zHb());dIb(a,u4);gr(b,a);return b;}
-function B5(){A5();return w5(new v5(),'Packages','Configure and view packages of business rule assets.');}
-function C5(){}
-function u5(){}
-_=u5.prototype=new c4();_.md=C5;_.tN=ufc+'PackageManagementFeature';_.tI=183;function w5(c,a,b){e4(c,a,b);return c;}
-function y5(){return z5(new u5());}
-function v5(){}
-_=v5.prototype=new d4();_.hb=y5;_.tN=ufc+'PackageManagementFeature$1';_.tI=184;function d6(){d6=s2;s4();}
-function c6(b){var a;d6();r4(b);a=vbc(new rac());zbc(a,u4);gr(b,a);return b;}
-function e6(){d6();return F5(new E5(),'Rules','Find and edit rules.');}
-function D5(){}
-_=D5.prototype=new c4();_.tN=ufc+'RulesFeature';_.tI=185;function F5(c,a,b){e4(c,a,b);return c;}
-function b6(){return c6(new D5());}
-function E5(){}
-_=E5.prototype=new d4();_.hb=b6;_.tN=ufc+'RulesFeature$1';_.tI=186;function j7(a){var b;b=rbb(new obb(),'images/backup_large.png','Manage Archived Assets');a.a=Fz(new Dz());a.a.Be('100%');vbb(b,a.a);a.b=ycc(new Cbc(),new g6(),'archivedrulelist');Ecc(a.b,m7(a));aA(a.a,a.b);h7(m7(a));vbb(b,ez(new hw(),'<hr/>'));vbb(b,l7(a));gr(a,b);return a;}
-function l7(d){var a,b,c,e;b=Fz(new Dz());c=qp(new kp(),'Refresh');c.x(k6(new j6(),d));e=qp(new kp(),'Unarchive');e.x(o6(new n6(),d));a=qp(new kp(),'Delete');a.x(x6(new w6(),d));aA(b,c);aA(b,e);aA(b,a);return b;}
-function m7(b){var a;a=a7(new F6(),b);return f7(new e7(),b,a);}
-function f6(){}
-_=f6.prototype=new er();_.tN=vfc+'ArchivedAssetManager';_.tI=187;_.a=null;_.b=null;function i6(a){}
-function g6(){}
-_=g6.prototype=new uT();_.wd=i6;_.tN=vfc+'ArchivedAssetManager$1';_.tI=188;function k6(b,a){b.a=a;return b;}
-function m6(a){h7(m7(this.a));}
-function j6(){}
-_=j6.prototype=new uT();_.zc=m6;_.tN=vfc+'ArchivedAssetManager$2';_.tI=189;function o6(b,a){b.a=a;return b;}
-function q6(a){ESb(BLb(),Acc(this.a.b),false,s6(new r6(),this));}
-function n6(){}
-_=n6.prototype=new uT();_.zc=q6;_.tN=vfc+'ArchivedAssetManager$3';_.tI=190;function s6(b,a){b.a=a;return b;}
-function u6(b,a){h7(m7(b.a.a));zh('Done!');}
-function v6(a){u6(this,a);}
-function r6(){}
-_=r6.prototype=new ecb();_.pd=v6;_.tN=vfc+'ArchivedAssetManager$4';_.tI=191;function x6(b,a){b.a=a;return b;}
-function z6(a){ETb(BLb(),Acc(this.a.b),B6(new A6(),this));}
-function w6(){}
-_=w6.prototype=new uT();_.zc=z6;_.tN=vfc+'ArchivedAssetManager$5';_.tI=192;function B6(b,a){b.a=a;return b;}
-function D6(b,a){h7(m7(b.a.a));zh('Done!');}
-function E6(a){D6(this,a);}
-function A6(){}
-_=A6.prototype=new ecb();_.pd=E6;_.tN=vfc+'ArchivedAssetManager$6';_.tI=193;function a7(b,a){b.a=a;return b;}
-function c7(c,a){var b;b=Fb(a,62);Dcc(c.a.b,b);c.a.b.Be('100%');bdb();}
-function d7(a){c7(this,a);}
-function F6(){}
-_=F6.prototype=new ecb();_.pd=d7;_.tN=vfc+'ArchivedAssetManager$7';_.tI=194;function f7(b,a,c){b.a=c;return b;}
-function h7(a){fdb('Loading list, please wait...');uTb(BLb(),a.a);}
-function i7(){h7(this);}
-function e7(){}
-_=e7.prototype=new uT();_.pb=i7;_.tN=vfc+'ArchivedAssetManager$8';_.tI=195;function C7(a){var b;b=rbb(new obb(),'images/backup_large.png','Import/Export');sbb(b,'',ez(new hw(),'<i>Import and Export rules repository<\/i>'));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Import from an xml file',a8(a));sbb(b,'Export to a zip file',F7(a));vbb(b,ez(new hw(),'<hr/>'));gr(a,b);return a;}
-function E7(a){fdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');bdb();}
-function F7(c){var a,b;b=Fz(new Dz());a=qp(new kp(),'Export');a.x(p7(new o7(),c));aA(b,a);return b;}
-function a8(c){var a,b,d,e;e=Cu(new xu());cv(e,v()+'backup');dv(e,'multipart/form-data');ev(e,'post');b=Fz(new Dz());e.Ae(b);d=at(new Fs());dt(d,'importFile');aA(b,d);aA(b,CB(new AB(),'import:'));a=lcb(new kcb(),'images/upload.gif');fB(a,t7(new s7(),c,e));aA(b,a);Du(e,y7(new x7(),c,d));return e;}
-function n7(){}
-_=n7.prototype=new er();_.tN=vfc+'BackupManager';_.tI=196;function p7(b,a){b.a=a;return b;}
-function r7(a){E7(this.a);}
-function o7(){}
-_=o7.prototype=new uT();_.zc=r7;_.tN=vfc+'BackupManager$1';_.tI=197;function t7(b,a,c){b.a=c;return b;}
-function v7(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){fdb('Importing repository, please wait, as this could take some time...');gv(b);}}
-function w7(a){v7(this,this.a);}
-function s7(){}
-_=s7.prototype=new uT();_.zc=w7;_.tN=vfc+'BackupManager$2';_.tI=198;function y7(b,a,c){b.a=c;return b;}
-function B7(a){if(rU(ct(this.a))==0){zh('You did not specify an exported repository filename !');sv(a,true);}else if(!lU(ct(this.a),'.xml')){zh('Please specify a valid repository xml file.');sv(a,true);}}
-function A7(a){if(pU(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{gbb('Unable to import into the repository. Consult the server logs for error messages.');}bdb();}
-function x7(){}
-_=x7.prototype=new uT();_.od=B7;_.nd=A7;_.tN=vfc+'BackupManager$3';_.tI=199;function w8(a){hO(new fO());}
-function x8(f){var a,b,c,d,e;w8(f);c=rbb(new obb(),'images/edit_category.gif','Edit categories');sbb(c,'',ez(new hw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=s$(new b$(),new c8());uN(f.a,'category-explorer-Admin');b=AG(new sG());uN(b,'metadata-Widget');CG(b,f.a);vbb(c,ez(new hw(),'<hr/>'));sbb(c,'Current categories:',b);e=lcb(new kcb(),'images/refresh.gif');e.te('Refresh categories');fB(e,g8(new f8(),f));sbb(c,'Refresh view:',e);vbb(c,ez(new hw(),'<hr/>'));d=lcb(new kcb(),'images/new.gif');d.te('Create a new category');fB(d,k8(new j8(),f));sbb(c,'Create a new category:',d);a=lcb(new kcb(),'images/delete_obj.gif');fB(a,o8(new n8(),f));a.te("Deletes the currently selected category. You won't be able to delete if the category is in use.");sbb(c,'Delete the currently selected category:',a);gr(f,c);return f;}
-function z8(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){FTb(BLb(),a.a.e,s8(new r8(),a));}}
-function b8(){}
-_=b8.prototype=new er();_.tN=vfc+'CategoryManager';_.tI=200;_.a=null;function e8(a){}
-function c8(){}
-_=c8.prototype=new uT();_.he=e8;_.tN=vfc+'CategoryManager$1';_.tI=201;function g8(b,a){b.a=a;return b;}
-function i8(a){y$(this.a.a);}
-function f8(){}
-_=f8.prototype=new uT();_.zc=i8;_.tN=vfc+'CategoryManager$2';_.tI=202;function k8(b,a){b.a=a;return b;}
-function m8(b){var a;a=C9(new n9(),this.a.a.e);lE(a,lN(b),mN(b)-400);oE(a);}
-function j8(){}
-_=j8.prototype=new uT();_.zc=m8;_.tN=vfc+'CategoryManager$3';_.tI=203;function o8(b,a){b.a=a;return b;}
-function q8(a){z8(this.a);}
-function n8(){}
-_=n8.prototype=new uT();_.zc=q8;_.tN=vfc+'CategoryManager$4';_.tI=204;function s8(b,a){b.a=a;return b;}
-function u8(b,a){y$(b.a.a);}
-function v8(a){u8(this,a);}
-function r8(){}
-_=r8.prototype=new ecb();_.pd=v8;_.tN=vfc+'CategoryManager$5';_.tI=205;function i9(b){var a;a=rbb(new obb(),'images/status_large.png','Manage statuses');sbb(a,'',ez(new hw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=mC(new eC());CC(b.a,7);b.a.Be('50%');m9(b);sbb(a,'Current statuses:',b.a);sbb(a,'Add new status:',l9(b));gr(b,a);return b;}
-function k9(b,a){fdb('Creating status');oTb(BLb(),rK(a),e9(new d9(),b,a));}
-function l9(d){var a,b,c;c=Fz(new Dz());a=zK(new kK());b=qp(new kp(),'Create');b.x(a9(new F8(),d,a));aA(c,a);aA(c,b);return c;}
-function m9(a){fdb('Loading statuses...');tTb(BLb(),C8(new B8(),a));}
-function A8(){}
-_=A8.prototype=new er();_.tN=vfc+'StateManager';_.tI=206;_.a=null;function C8(b,a){b.a=a;return b;}
-function E8(a){var b,c;sC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){pC(this.a.a,c[b]);}bdb();}
-function B8(){}
-_=B8.prototype=new ecb();_.pd=E8;_.tN=vfc+'StateManager$1';_.tI=207;function a9(b,a,c){b.a=a;b.b=c;return b;}
-function c9(a){k9(this.a,this.b);}
-function F8(){}
-_=F8.prototype=new uT();_.zc=c9;_.tN=vfc+'StateManager$2';_.tI=208;function e9(b,a,c){b.a=a;b.b=c;return b;}
-function g9(b,a){vK(b.b,'');m9(b.a);bdb();}
-function h9(a){g9(this,a);}
-function d9(){}
-_=d9.prototype=new ecb();_.pd=h9;_.tN=vfc+'StateManager$3';_.tI=209;function E9(){E9=s2;eE();}
-function B9(a){a.d=lt(new ft());a.b=zK(new kK());a.a=eK(new dK());}
-function C9(d,b){var a,c;E9();bE(d,true);B9(d);d.c=b;d.d.ze(0,0,lcb(new kcb(),'images/edit_category.gif'));d.d.ze(0,1,CB(new AB(),F9(d,d.c)));d.d.ze(1,0,CB(new AB(),'Cateogory name'));d.d.ze(1,1,d.b);jK(d.a,4);d.d.ze(2,0,CB(new AB(),'Description'));d.d.ze(2,1,d.a);c=qp(new kp(),'OK');c.x(p9(new o9(),d));d.d.ze(3,0,c);a=qp(new kp(),'Cancel');a.x(t9(new s9(),d));d.d.ze(3,1,a);CG(d,d.d);uN(d,'ks-popups-Popup');return d;}
-function D9(a){a.lc();}
-function F9(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
-function a$(b){var a;a=x9(new w9(),b);if(nU('',rK(b.b))){gbb("Can't have an empty category name.");}else{kTb(BLb(),b.c,rK(b.b),rK(b.a),a);}}
-function n9(){}
-_=n9.prototype=new FD();_.tN=wfc+'CategoryEditor';_.tI=210;_.c=null;function p9(b,a){b.a=a;return b;}
-function r9(a){a$(this.a);}
-function o9(){}
-_=o9.prototype=new uT();_.zc=r9;_.tN=wfc+'CategoryEditor$1';_.tI=211;function t9(b,a){b.a=a;return b;}
-function v9(a){D9(this.a);}
-function s9(){}
-_=s9.prototype=new uT();_.zc=v9;_.tN=wfc+'CategoryEditor$2';_.tI=212;function x9(b,a){b.a=a;return b;}
-function z9(b,a){if(Fb(a,55).a){b.a.lc();}else{gbb('Category was not successfully created. ');}}
-function A9(a){z9(this,a);}
-function w9(){}
-_=w9.prototype=new ecb();_.pd=A9;_.tN=wfc+'CategoryEditor$3';_.tI=213;function r$(a){a.c=jM(new CK());a.d=hO(new fO());a.f=BLb();}
-function s$(b,a){r$(b);iO(b.d,b.c);b.a=a;x$(b);gr(b,b.d);nM(b.c,b);uN(b,'category-explorer-Tree');return b;}
-function u$(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
-function v$(b,a){if(a.c.b==1&&ac(sL(a,0),64)){return false;}return true;}
-function w$(a){if(a.b!==null){a.b.ye(false);}}
-function x$(a){mM(a.c,'Please wait...');wTb(a.f,'/',h$(new g$(),a));}
-function y$(a){CM(a.c);a.e=null;x$(a);}
-function z$(c){var a,b;if(c.b===null){b=cp(new bp());dp(b,ez(new hw(),'No categories created yet. Add some categories from the administration screen.'));a=qp(new kp(),'Refresh');a.x(d$(new c$(),c));dp(b,a);uN(b,'small-Text');c.b=b;iO(c.d,c.b);}c.b.ye(true);}
-function A$(a){this.e=u$(this,a);this.a.he(this.e);}
-function B$(a){var b;if(v$(this,a)){return;}b=a;this.e=u$(this,a);wTb(this.f,this.e,l$(new k$(),this,b));}
-function b$(){}
-_=b$.prototype=new er();_.rd=A$;_.sd=B$;_.tN=wfc+'CategoryExplorerWidget';_.tI=214;_.a=null;_.b=null;_.e=null;function d$(b,a){b.a=a;return b;}
-function f$(a){y$(this.a);}
-function c$(){}
-_=c$.prototype=new uT();_.zc=f$;_.tN=wfc+'CategoryExplorerWidget$1';_.tI=215;function h$(b,a){b.a=a;return b;}
-function j$(d){var a,b,c;this.a.e=null;CM(this.a.c);a=Fb(d,63);if(a.a==0){z$(this.a);}else{w$(this.a);}for(b=0;b<a.a;b++){c=oL(new mL());wL(c,'<img src="images/category_small.gif"/>'+a[b]);CL(c,a[b]);c.y(p$(new o$()));lM(this.a.c,c);}}
-function g$(){}
-_=g$.prototype=new ecb();_.pd=j$;_.tN=wfc+'CategoryExplorerWidget$2';_.tI=216;function l$(b,a,c){b.a=c;return b;}
-function n$(e){var a,b,c,d;a=sL(this.a,0);if(ac(a,64)){this.a.ae(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=oL(new mL());wL(c,'<img src="images/category_small.gif"/>'+d[b]);CL(c,d[b]);c.y(p$(new o$()));this.a.y(c);}}
-function k$(){}
-_=k$.prototype=new ecb();_.pd=n$;_.tN=wfc+'CategoryExplorerWidget$3';_.tI=217;function p$(a){pL(a,'Please wait...');return a;}
-function o$(){}
-_=o$.prototype=new mL();_.tN=wfc+'CategoryExplorerWidget$PendingItem';_.tI=218;function E$(){E$=s2;F$=zb('[Ljava.lang.String;',605,1,['brl','dslr','xls']);b_=zb('[Ljava.lang.String;',605,1,['drl','rf','enumeration']);a_=zb('[Ljava.lang.String;',605,1,['function','dsl','jar','enumeration']);}
-function c_(a){E$();var b;for(b=0;b<a_.a;b++){if(nU(a_[b],a)){return true;}}return false;}
-var F$,a_,b_;function o_(){o_=s2;AK();}
-function m_(a){a.b=bE(new FD(),true);a.a=f_(new e_(),a);}
-function n_(b,a){o_();zK(b);m_(b);oK(b,b);vN(b.a,1);uN(b,'AutoCompleteTextBox');CG(b.b,b.a);jN(b.b,'AutoCompleteChoices');uN(b.a,'list');b.c=a;return b;}
-function p_(a){if(a.e&&uC(a.a)>0){vK(a,vC(a.a,wC(a.a)));}sC(a.a);a.b.lc();a.e=false;}
-function q_(e,a,b,c){var d;d=wC(e.a);d++;if(d>=uC(e.a)){d=0;}BC(e.a,d);}
-function r_(d,a,b,c){p_(d);}
-function s_(d,a,b,c){sC(d.a);d.b.lc();d.e=false;}
-function t_(b,a){if(0==rU(a)||0==uC(b.a)||1==uC(b.a)&&nU(vC(b.a,0),a)){sC(b.a);b.b.lc();b.e=false;}else{BC(b.a,0);CC(b.a,uC(b.a)+1);if(!b.d){dp(iG(),b.b);b.d=true;}oE(b.b);b.e=true;lE(b.b,lN(b),mN(b)+b.Cb());b.a.Be(b.Db()+'px');}}
-function u_(d,a,b,c){x_(d,rK(d));if(rU(rK(d))>0&&d.c!==null){fdc(d.c,rK(d),j_(new i_(),d));}}
-function v_(d,a,b,c){p_(d);}
-function w_(e,a,b,c){var d;d=wC(e.a);d--;if(d<0){d=uC(e.a)-1;}BC(e.a,d);}
-function x_(c,b){var a;a=0;while(a<uC(c.a)){if(vU(zU(vC(c.a,a)),zU(b))){++a;}else{AC(c.a,a);}}t_(c,b);}
-function y_(d,b,c){var a;sC(d.a);for(a=0;a<b.a;a++){pC(d.a,b[a]);}x_(d,c);}
-function z_(a,b,c){if(b==13){r_(this,a,b,c);}else if(b==9){v_(this,a,b,c);}else if(b==40){q_(this,a,b,c);}else if(b==38){w_(this,a,b,c);}else if(b==27){s_(this,a,b,c);}}
-function A_(a,b,c){}
-function B_(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:u_(this,a,b,c);break;}}
-function d_(){}
-_=d_.prototype=new kK();_.cd=z_;_.dd=A_;_.ed=B_;_.tN=xfc+'AutoCompleteTextBoxAsync';_.tI=219;_.c=null;_.d=false;_.e=false;function g_(){g_=s2;tC();}
-function f_(b,a){g_();b.a=a;mC(b);return b;}
-function h_(a){if(1==xe(a)){p_(this.a);}}
-function e_(){}
-_=e_.prototype=new eC();_.wc=h_;_.tN=xfc+'AutoCompleteTextBoxAsync$1';_.tI=220;function j_(b,a){b.a=a;return b;}
-function l_(b,a){y_(b.a,a,rK(b.a));}
-function i_(){}
-_=i_.prototype=new uT();_.tN=xfc+'AutoCompleteTextBoxAsync$2';_.tI=221;function aab(a){a.j=true;}
-function bab(a){a.j=false;}
-function cab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
-function dab(){return this.j;}
-function E_(){}
-_=E_.prototype=new er();_.pc=dab;_.tN=xfc+'DirtyableComposite';_.tI=222;_.j=false;function gab(a){a.b=CX(new AX());}
-function hab(a){lt(a);gab(a);return a;}
-function jab(d){var a,b,c;for(c=d.b.qc();c.kc();){a=Fb(c.sc(),65);b=ky(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).pc())return true;if(ac(b,67))if(Fb(b,67).jc())return true;}return false;}
-function kab(d,c,b,a){zy(d,c,b,a);if(ac(a,68)){DX(d.b,d.a++,hdb(new gdb(),c,b));}}
-function lab(){return jab(this);}
-function mab(c,b,a){kab(this,c,b,a);}
-function fab(){}
-_=fab.prototype=new ft();_.jc=lab;_.ze=mab;_.tN=xfc+'DirtyableFlexTable';_.tI=223;_.a=0;function oab(a){Fz(a);return a;}
-function qab(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=Dq(c,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
-function rab(){return qab(this);}
-function nab(){}
-_=nab.prototype=new Dz();_.jc=rab;_.tN=xfc+'DirtyableHorizontalPane';_.tI=224;function tab(a){hO(a);return a;}
-function vab(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=Dq(this,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
-function sab(){}
-_=sab.prototype=new fO();_.jc=vab;_.tN=xfc+'DirtyableVerticalPane';_.tI=225;function dbb(){dbb=s2;zr();}
-function abb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=lcb(new kcb(),'images/close.gif');}
-function bbb(d,b,a){var c,e;dbb();xr(d,true);abb(d);bC(d.a,b);aA(d.c,eB(new oA(),'images/error_dialog.png'));e=hO(new fO());iO(e,d.a);aA(d.c,e);if(a!==null){cbb(d,e,a);}aA(d.c,d.b);c=d;fB(d.b,zab(new yab(),d,c));Cr(d,d.c);lE(d,40,40);uN(d,'rule-error-Popup');return d;}
-function cbb(e,c,b){var a,d,f;f=hO(new fO());iO(c,f);d=qp(new kp(),'Details');iO(f,d);a=CB(new AB(),b);a.ye(false);iO(f,a);d.x(Dab(new Cab(),e,a,d));}
-function ebb(a){bC(a.a,'');hE(a);}
-function fbb(){ebb(this);}
-function gbb(a){dbb();var b;b=bbb(new xab(),a,null);bdb();oE(b);}
-function hbb(a){dbb();var b;b=bbb(new xab(),a.b,a.a);bdb();oE(b);}
-function xab(){}
-_=xab.prototype=new ur();_.lc=fbb;_.tN=xfc+'ErrorPopup';_.tI=226;function zab(b,a,c){b.a=c;return b;}
-function Bab(a){ebb(this.a);}
-function yab(){}
-_=yab.prototype=new uT();_.zc=Bab;_.tN=xfc+'ErrorPopup$1';_.tI=227;function Dab(b,a,c,d){b.a=c;b.b=d;return b;}
-function Fab(a){this.a.ye(true);this.b.ye(false);}
-function Cab(){}
-_=Cab.prototype=new uT();_.zc=Fab;_.tN=xfc+'ErrorPopup$2';_.tI=228;function jbb(b,a){b.a=a;return b;}
-function lbb(a,b,c){}
-function mbb(a,b,c){}
-function nbb(a,b,c){this.a.pb();}
-function ibb(){}
-_=ibb.prototype=new uT();_.cd=lbb;_.dd=mbb;_.ed=nbb;_.tN=xfc+'FieldEditListener';_.tI=229;_.a=null;function pbb(a){a.h=hab(new fab());a.g=ot(a.h);}
-function rbb(b,a,c){pbb(b);tbb(b,a,c);gr(b,b.h);return b;}
-function qbb(a){pbb(a);gr(a,a.h);return a;}
-function sbb(d,c,a){var b;b=ez(new hw(),'<b>'+c+'<\/b>');kab(d.h,d.i,0,b);Bw(d.g,d.i,0,(oz(),rz),(xz(),Az));kab(d.h,d.i,1,a);Bw(d.g,d.i,1,(oz(),qz),(xz(),Az));d.i++;}
-function tbb(c,a,d){var b;b=CB(new AB(),d);uN(b,'resource-name-Label');ybb(c,a,b);}
-function ubb(d,b,e,f){var a,c;c=CB(new AB(),e);uN(c,'resource-name-Label');a=Fz(new Dz());aA(a,c);aA(a,f);ybb(d,b,a);}
-function vbb(a,b){kab(a.h,a.i,0,b);jt(a.g,a.i,0,2);a.i++;}
-function wbb(a){a.i=0;by(a.h);}
-function ybb(b,a,c){kab(b.h,0,0,eB(new oA(),a));Bw(b.g,0,0,(oz(),qz),(xz(),Az));kab(b.h,0,1,c);b.i++;}
-function zbb(c,b,a,d){kab(c.h,b,a,d);}
-function Abb(){return jab(this.h);}
-function obb(){}
-_=obb.prototype=new E_();_.pc=Abb;_.tN=xfc+'FormStyleLayout';_.tI=230;_.i=0;function dcb(){dcb=s2;eE();}
-function acb(c,b,d){var a;dcb();bE(c,true);c.i=rbb(new obb(),b,d);uN(c,'ks-popups-Popup');a=lcb(new kcb(),'images/close.gif');fB(a,Dbb(new Cbb(),c));zbb(c.i,0,2,a);CG(c,c.i);return c;}
-function bcb(b,a,c){sbb(b.i,a,c);}
-function ccb(a,b){vbb(a.i,b);}
-function Bbb(){}
-_=Bbb.prototype=new FD();_.tN=xfc+'FormStylePopup';_.tI=231;_.i=null;function Dbb(b,a){b.a=a;return b;}
-function Fbb(a){this.a.lc();}
-function Cbb(){}
-_=Cbb.prototype=new uT();_.zc=Fbb;_.tN=xfc+'FormStylePopup$1';_.tI=232;function ncb(){ncb=s2;hB();}
-function lcb(b,a){ncb();eB(b,a);uN(b,'image-Button');return b;}
-function mcb(b,a,c){ncb();eB(b,a);uN(b,'image-Button');b.te(c);return b;}
-function kcb(){}
-_=kcb.prototype=new oA();_.tN=xfc+'ImageButton';_.tI=233;function tcb(c,d,b){var a;a=eB(new oA(),'images/information.gif');a.te(b);fB(a,qcb(new pcb(),c,d,b));gr(c,a);return c;}
-function ocb(){}
-_=ocb.prototype=new er();_.tN=xfc+'InfoPopup';_.tI=234;function qcb(b,a,d,c){b.b=d;b.a=c;return b;}
-function scb(b){var a;a=acb(new Bbb(),'images/information.gif',this.b);ccb(a,wcb(new vcb(),this.a,'small-Text'));lE(a,lN(b),mN(b));oE(a);}
-function pcb(){}
-_=pcb.prototype=new uT();_.zc=scb;_.tN=xfc+'InfoPopup$1';_.tI=235;function wcb(c,a,b){CB(c,a);uN(c,b);return c;}
-function vcb(){}
-_=vcb.prototype=new AB();_.tN=xfc+'Lbl';_.tI=236;function Fcb(){Fcb=s2;eE();}
-function Dcb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=eB(new oA(),'images/close.gif');}
-function Ecb(a){Fcb();bE(a,true);Dcb(a);aA(a.c,a.a);aA(a.c,a.b);aA(a.c,eB(new oA(),'images/searching.gif'));fB(a.b,Acb(new zcb(),a));CG(a,a.c);lE(a,0,0);uN(a,'loading-Popup');return a;}
-function adb(a){bC(a.a,'');hE(a);}
-function bdb(){Fcb();adb(cdb());}
-function cdb(){Fcb();if(edb===null){edb=Ecb(new ycb());}return edb;}
-function ddb(){adb(this);}
-function fdb(a){Fcb();var b;b=cdb();bC(b.a,a);oE(b);}
-function ycb(){}
-_=ycb.prototype=new FD();_.lc=ddb;_.tN=xfc+'LoadingPopup';_.tI=237;var edb=null;function Acb(b,a){b.a=a;return b;}
-function Ccb(a){adb(this.a);}
-function zcb(){}
-_=zcb.prototype=new uT();_.zc=Ccb;_.tN=xfc+'LoadingPopup$1';_.tI=238;function hdb(c,b,a){c.b=b;c.a=a;return c;}
-function gdb(){}
-_=gdb.prototype=new uT();_.tN=xfc+'Pair';_.tI=239;_.a=0;_.b=0;function odb(a){a.b=mC(new eC());rTb(BLb(),ldb(new kdb(),a));gr(a,a.b);return a;}
-function qdb(a){return vC(a.b,wC(a.b));}
-function rdb(b,a){b.a=a;}
-function jdb(){}
-_=jdb.prototype=new er();_.tN=xfc+'RulePackageSelector';_.tI=240;_.a=null;_.b=null;function ldb(b,a){b.a=a;return b;}
-function ndb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){pC(this.a.b,b[a].j);if(this.a.a!==null&&nU(b[a].j,this.a.a)){BC(this.a.b,a);}}}
-function kdb(){}
-_=kdb.prototype=new ecb();_.pd=ndb;_.tN=xfc+'RulePackageSelector$1';_.tI=241;function keb(){keb=s2;zr();}
-function ieb(f,g,d){var a,b,c,e;keb();xr(f,true);f.d=g;f.b=d;uN(f,'ks-popups-Popup');Ar(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=Fz(new Dz());a=mC(new eC());fdb('Please wait...');tTb(BLb(),udb(new tdb(),f,a));oC(a,ydb(new xdb(),f,a));aA(c,a);e=qp(new kp(),'Change status');e.x(Cdb(new Bdb(),f,a));aA(c,e);b=qp(new kp(),'Cancel');b.x(aeb(new Fdb(),f));aA(c,b);Cr(f,c);return f;}
-function jeb(b,a){fdb('Updating status...');eTb(BLb(),b.d,b.c,b.b,eeb(new deb(),b));}
-function leb(b,a){b.a=a;}
-function sdb(){}
-_=sdb.prototype=new ur();_.tN=xfc+'StatusChangePopup';_.tI=242;_.a=null;_.b=false;_.c=null;_.d=null;function udb(b,a,c){b.a=c;return b;}
-function wdb(a){var b,c;c=Fb(a,63);pC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){pC(this.a,c[b]);}bdb();}
-function tdb(){}
-_=tdb.prototype=new ecb();_.pd=wdb;_.tN=xfc+'StatusChangePopup$1';_.tI=243;function ydb(b,a,c){b.a=a;b.b=c;return b;}
-function Adb(a){this.a.c=vC(this.b,wC(this.b));}
-function xdb(){}
-_=xdb.prototype=new uT();_.yc=Adb;_.tN=xfc+'StatusChangePopup$2';_.tI=244;function Cdb(b,a,c){b.a=a;b.b=c;return b;}
-function Edb(b){var a;a=vC(this.b,wC(this.b));jeb(this.a,a);this.a.lc();}
-function Bdb(){}
-_=Bdb.prototype=new uT();_.zc=Edb;_.tN=xfc+'StatusChangePopup$3';_.tI=245;function aeb(b,a){b.a=a;return b;}
-function ceb(a){this.a.lc();}
-function Fdb(){}
-_=Fdb.prototype=new uT();_.zc=ceb;_.tN=xfc+'StatusChangePopup$4';_.tI=246;function eeb(b,a){b.a=a;return b;}
-function geb(b,a){b.a.a.pb();bdb();}
-function heb(a){geb(this,a);}
-function deb(){}
-_=deb.prototype=new ecb();_.pd=heb;_.tN=xfc+'StatusChangePopup$5';_.tI=247;function oeb(){oeb=s2;dcb();}
-function neb(c,b,a){oeb();acb(c,'images/attention_needed.png',b);bcb(c,'Detail:',peb(c,a));return c;}
-function peb(c,b){var a;a=eK(new dK());uN(a,'editable-Surface');jK(a,12);vK(a,b);a.Be('100%');return a;}
-function meb(){}
-_=meb.prototype=new Bbb();_.tN=xfc+'ValidationMessageWidget';_.tI=248;function xeb(){xeb=s2;eE();}
-function veb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=qp(new kp(),'OK');}
-function web(b,c,d){var a;xeb();bE(b,true);veb(b);lE(b,c,d);aA(b.c,b.a);aA(b.c,b.b);a=b;b.b.x(seb(new reb(),b,a));CG(b,b.c);uN(b,'rule-warning-Popup');return b;}
-function yeb(a){bC(a.a,'');hE(a);}
-function zeb(){yeb(this);}
-function Aeb(a,c,d){xeb();var b;b=web(new qeb(),c,d);bC(b.a,a);oE(b);}
-function qeb(){}
-_=qeb.prototype=new FD();_.lc=zeb;_.tN=xfc+'WarningPopup';_.tI=249;function seb(b,a,c){b.a=c;return b;}
-function ueb(a){yeb(this.a);}
-function reb(){}
-_=reb.prototype=new uT();_.zc=ueb;_.tN=xfc+'WarningPopup$1';_.tI=250;function ffb(){ffb=s2;zr();}
-function efb(d,b,f){var a,c,e;ffb();wr(d);Br(d,b);e=qp(new kp(),'Yes');c=qp(new kp(),'No');e.x(Deb(new Ceb(),d,f));c.x(bfb(new afb(),d));a=Fz(new Dz());aA(a,e);aA(a,c);Cr(d,a);return d;}
-function Beb(){}
-_=Beb.prototype=new ur();_.tN=xfc+'YesNoDialog';_.tI=251;function Deb(b,a,c){b.a=a;b.b=c;return b;}
-function Feb(a){this.b.pb();this.a.lc();}
-function Ceb(){}
-_=Ceb.prototype=new uT();_.zc=Feb;_.tN=xfc+'YesNoDialog$1';_.tI=252;function bfb(b,a){b.a=a;return b;}
-function dfb(a){this.a.lc();}
-function afb(){}
-_=afb.prototype=new uT();_.zc=dfb;_.tN=xfc+'YesNoDialog$2';_.tI=253;function fxb(b,a,c){b.e=c;b.a=a;kxb(b,a.e,a.d.n);jxb(b);return b;}
-function gxb(b,a){vbb(b.c,a);}
-function ixb(c,a,d){var b;b=zK(new kK());tK(b,a);vK(b,d);b.ye(false);return b;}
-function jxb(a){Du(a.b,bxb(new axb(),a));}
-function kxb(d,f,c){var a,b,e;d.b=Cu(new xu());cv(d.b,v()+'asset');dv(d.b,'multipart/form-data');ev(d.b,'post');e=at(new Fs());dt(e,'fileUploadElement');b=Fz(new Dz());aA(b,ixb(d,'attachmentUUID',f));d.d=mcb(new kcb(),'images/upload.gif','Upload');aA(b,e);aA(b,CB(new AB(),'upload:'));aA(b,d.d);CG(d.b,b);d.c=rbb(new obb(),d.vb(),c);if(!d.a.c)sbb(d.c,'Upload new version:',d.b);a=qp(new kp(),'Download');a.x(zwb(new ywb(),d,f));sbb(d.c,'Download current version:',a);fB(d.d,Dwb(new Cwb(),d));gr(d,d.c);d.c.Be('100%');uN(d,d.Eb());}
-function lxb(a){fdb('Uploading...');}
-function mxb(a){gv(a.b);}
-function xwb(){}
-_=xwb.prototype=new er();_.tN=Cfc+'AssetAttachmentFileWidget';_.tI=254;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function hfb(b,a,c){fxb(b,a,c);gxb(b,ez(new hw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
-function jfb(){return 'images/decision_table.png';}
-function kfb(){return 'decision-Table-upload';}
-function gfb(){}
-_=gfb.prototype=new xwb();_.vb=jfb;_.Eb=kfb;_.tN=yfc+'DecisionTableXLSWidget';_.tI=255;function mfb(){mfb=s2;ufb=z0(new DZ());pfb=z0(new DZ());ofb=z0(new DZ());nfb=zb('[Ljava.lang.String;',605,1,['not','exists','or']);{a1(ufb,'==','is equal to');a1(ufb,'!=','is not equal to');a1(ufb,'<','is less than');a1(ufb,'<=','less than or equal to');a1(ufb,'>','greater than');a1(ufb,'>=','greater than or equal to');a1(ufb,'|| ==','or equal to');a1(ufb,'|| !=','or not equal to');a1(ufb,'&& !=','and not equal to');a1(ufb,'&& >','and greater than');a1(ufb,'&& <','and less than');a1(ufb,'|| >','or greater than');a1(ufb,'|| <','or less than');a1(ufb,'&& <','and less than');a1(ufb,'|| >=','or greater than (or equal to)');a1(ufb,'|| <=','or less than (or equal to)');a1(ufb,'&& >=','and greater than (or equal to)');a1(ufb,'&& <=','or less than (or equal to)');a1(ufb,'&& contains','and contains');a1(ufb,'|| contains','or contains');a1(ufb,'&& matches','and matches');a1(ufb,'|| matches','or mat!
 ches');a1(ufb,'|| excludes','or excludes');a1(ufb,'&& excludes','and excludes');a1(ufb,'soundslike','sounds like');a1(pfb,'not','There is no');a1(pfb,'exists','There exists');a1(pfb,'or','Any of');a1(ofb,'assert','Insert');a1(ofb,'assertLogical','Logically insert');a1(ofb,'retract','Retract');a1(ofb,'set','Set');a1(ofb,'modify','Modify');}}
-function qfb(a){mfb();return tfb(a,ofb);}
-function rfb(a){mfb();return tfb(a,pfb);}
-function sfb(a){mfb();return tfb(a,ufb);}
-function tfb(a,b){mfb();if(C0(b,a)){return Fb(F0(b,a),1);}else{return a;}}
-var nfb,ofb,pfb,ufb;function yfb(){yfb=s2;mgb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=']);ogb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);kgb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);igb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);ngb=zb('[Ljava.lang.String;',605,1,['==','!=']);lgb=zb('[Ljava.lang.String;',605,1,['==','!=','<','>','<=','>=']);pgb=zb('[Ljava.lang.String;',605,1,['==','!=','matches','soundslike']);jgb=zb('[Ljava.lang.String;',605,1,['contains','excludes','==','!=']);}
-function wfb(a){a.h=z0(new DZ());a.c=z0(new DZ());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[14],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[14],[0],null);}
-function xfb(a){yfb();wfb(a);return a;}
-function zfb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return mgb;}else if(nU(d,'String')){return ogb;}else if(nU(d,'Comparable')||nU(d,'Numeric')){return kgb;}else if(nU(d,'Collection')){return igb;}else{return mgb;}}
-function Bfb(i,g,d){var a,b,c,e,f,h,j;c=cgb(i);j=Fb(F0(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(nU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.ic(f),63);}}}}return Fb(i.c.ic(g.c+'.'+d),63);}
-function Afb(f,g,a,c){var b,d,e,h,i;b=cgb(f);h=Fb(F0(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(nU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.ic(e),63);}}}return Fb(f.c.ic(g+'.'+c),63);}
-function Dfb(b,a){return Fb(b.g.ic(a),63);}
-function Cfb(a,c){var b;b=Fb(a.h.ic(c),1);return Fb(a.g.ic(b),63);}
-function Efb(c,a,b){return Fb(c.f.ic(a+'.'+b),1);}
-function Ffb(a){return dgb(a,a.h.rc());}
-function agb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return ngb;}else if(nU(d,'String')){return pgb;}else if(nU(d,'Comparable')||nU(d,'Numeric')){return lgb;}else if(nU(d,'Collection')){return jgb;}else{return ngb;}}
-function bgb(a,b){return a.h.db(b);}
-function cgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=z0(new DZ());e=g.c.rc();for(b=qW(e);xW(b);){d=Fb(yW(b),1);if(oU(d,91)!=(-1)){c=oU(d,91);a=xU(d,0,c);f=xU(d,c+1,oU(d,93));h=xU(f,0,oU(f,61));a1(g.d,a,h);}}}return g.d;}
-function dgb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[605],[1],[d.b.a.c],null);b=0;for(c=qW(d);xW(c);){a[b]=Fb(yW(c),1);b++;}return a;}
-function vfb(){}
-_=vfb.prototype=new uT();_.tN=zfc+'SuggestionCompletionEngine';_.tI=256;_.d=null;_.e=null;_.f=null;_.g=null;var igb,jgb,kgb,lgb,mgb,ngb,ogb,pgb;function ggb(b,a){a.a=Fb(b.Dd(),72);a.b=Fb(b.Dd(),72);a.c=Fb(b.Dd(),57);a.e=Fb(b.Dd(),63);a.f=Fb(b.Dd(),57);a.g=Fb(b.Dd(),57);a.h=Fb(b.Dd(),57);}
-function hgb(b,a){b.ff(a.a);b.ff(a.b);b.ff(a.c);b.ff(a.e);b.ff(a.f);b.ff(a.g);b.ff(a.h);}
-function rgb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[615],[18],[0],null);}
-function sgb(a){rgb(a);return a;}
-function tgb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[615],[18],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[615],[18],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
-function vgb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[615],[18],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
-function qgb(){}
-_=qgb.prototype=new uT();_.tN=Afc+'ActionFieldList';_.tI=257;function ygb(b,a){a.b=Fb(b.Dd(),73);}
-function zgb(b,a){b.ff(a.b);}
-function Bgb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Agb(){}
-_=Agb.prototype=new uT();_.tN=Afc+'ActionFieldValue';_.tI=258;_.a=null;_.b=null;_.c=null;function Fgb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
-function ahb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
-function dhb(a,b){sgb(a);a.a=b;return a;}
-function chb(a){sgb(a);return a;}
-function bhb(){}
-_=bhb.prototype=new qgb();_.tN=Afc+'ActionInsertFact';_.tI=259;_.a=null;function hhb(b,a){a.a=b.Ed();ygb(b,a);}
-function ihb(b,a){b.gf(a.a);zgb(b,a);}
-function lhb(b,a){dhb(b,a);return b;}
-function khb(a){chb(a);return a;}
-function jhb(){}
-_=jhb.prototype=new bhb();_.tN=Afc+'ActionInsertLogicalFact';_.tI=260;function phb(b,a){hhb(b,a);}
-function qhb(b,a){ihb(b,a);}
-function shb(a,b){a.a=b;return a;}
-function rhb(){}
-_=rhb.prototype=new uT();_.tN=Afc+'ActionRetractFact';_.tI=261;_.a=null;function whb(b,a){a.a=b.Ed();}
-function xhb(b,a){b.gf(a.a);}
-function Ahb(a,b){sgb(a);a.a=b;return a;}
-function zhb(a){sgb(a);return a;}
-function yhb(){}
-_=yhb.prototype=new qgb();_.tN=Afc+'ActionSetField';_.tI=262;_.a=null;function Ehb(b,a){a.a=b.Ed();ygb(b,a);}
-function Fhb(b,a){b.gf(a.a);zgb(b,a);}
-function cib(b,a){Ahb(b,a);return b;}
-function bib(a){zhb(a);return a;}
-function aib(){}
-_=aib.prototype=new yhb();_.tN=Afc+'ActionUpdateField';_.tI=263;function gib(b,a){Ehb(b,a);}
-function hib(b,a){Fhb(b,a);}
-function jib(a,b){a.b=b;return a;}
-function kib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[613],[16],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[613],[16],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
-function iib(){}
-_=iib.prototype=new uT();_.tN=Afc+'CompositeFactPattern';_.tI=264;_.a=null;_.b=null;function oib(b,a){a.a=Fb(b.Dd(),74);a.b=b.Ed();}
-function pib(b,a){b.ff(a.a);b.gf(a.b);}
-function rib(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[614],[17],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[614],[17],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
-function tib(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[614],[17],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
-function qib(){}
-_=qib.prototype=new uT();_.tN=Afc+'CompositeFieldConstraint';_.tI=265;_.a=null;_.b=null;function wib(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),75);}
-function xib(b,a){b.gf(a.a);b.ff(a.b);}
-function vjb(){}
-_=vjb.prototype=new uT();_.tN=Afc+'ISingleFieldConstraint';_.tI=266;_.e=0;_.f=null;function yib(){}
-_=yib.prototype=new vjb();_.tN=Afc+'ConnectiveConstraint';_.tI=267;_.a=null;function Cib(b,a){a.a=b.Ed();zjb(b,a);}
-function Dib(b,a){b.gf(a.a);Ajb(b,a);}
-function ajb(b){var a;a=new Eib();a.a=b.a;return a;}
-function bjb(e){var a,b,c,d;b=yU(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
-function gjb(){return bjb(this);}
-function Eib(){}
-_=Eib.prototype=new uT();_.tS=gjb;_.tN=Afc+'DSLSentence';_.tI=268;_.a=null;function ejb(b,a){a.a=b.Ed();}
-function fjb(b,a){b.gf(a.a);}
-function ijb(b,a){b.c=a;return b;}
-function jjb(b,a){if(b.b===null)b.b=new qib();rib(b.b,a);}
-function ljb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[614],[17],[0],null);}else{return a.b.b;}}
-function mjb(a){if(a.a!==null&& !nU('',a.a)){return true;}else{return false;}}
-function njb(b,a){tib(b.b,a);}
-function hjb(){}
-_=hjb.prototype=new uT();_.tN=Afc+'FactPattern';_.tI=269;_.a=null;_.b=null;_.c=null;function qjb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),31);a.c=b.Ed();}
-function rjb(b,a){b.gf(a.a);b.ff(a.b);b.gf(a.c);}
-function zjb(b,a){a.e=b.Bd();a.f=b.Ed();}
-function Ajb(b,a){b.df(a.e);b.gf(a.f);}
-function Djb(b,a,c){b.a=a;b.b=c;return b;}
-function dkb(){var a;a=FT(new ET());bU(a,this.a);if(nU('no-loop',this.a)){bU(a,' ');bU(a,this.b===null?'true':this.b);}else if(nU('salience',this.a)){bU(a,' ');bU(a,this.b);}else if(this.b!==null){bU(a,' "');bU(a,this.b);bU(a,'"');}return fU(a);}
-function Cjb(){}
-_=Cjb.prototype=new uT();_.tS=dkb;_.tN=Afc+'RuleAttribute';_.tI=270;_.a=null;_.b=null;function bkb(b,a){a.a=b.Ed();a.b=b.Ed();}
-function ckb(b,a){b.gf(a.a);b.gf(a.b);}
-function fkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[21],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[22],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[23],[0],null);}
-function gkb(a){fkb(a);return a;}
-function hkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[21],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function ikb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[22],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[22],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
-function jkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[23],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[23],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
-function lkb(h){var a,b,c,d,e,f,g;g=CX(new AX());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,16)){b=Fb(f,16);if(mjb(b)){EX(g,b.a);}for(e=0;e<ljb(b).a;e++){c=ljb(b)[e];if(ac(c,32)){a=Fb(c,32);if(Ckb(a)){EX(g,a.b);}}}}}return g;}
-function mkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],16)){b=Fb(c.b[a],16);if(b.a!==null&&nU(d,b.a)){return b;}}}return null;}
-function nkb(d){var a,b,c;if(d.b===null){return null;}b=CX(new AX());for(a=0;a<d.b.a;a++){if(ac(d.b[a],16)){c=Fb(d.b[a],16);if(c.a!==null){EX(b,c.a);}}}return b;}
-function okb(k,b){var a,c,d,e,f,g,h,i,j;j=CX(new AX());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,16)){d=Fb(i,16);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Ckb(a)){EX(j,a.b);}}}}if(mjb(d)){EX(j,d.a);}}else{if(mjb(d)){EX(j,d.a);}}}}return j;}
-function pkb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],28)){d=Fb(e.e[b],28);if(nU(d.a,a)){return true;}}else if(ac(e.e[b],27)){c=Fb(e.e[b],27);if(nU(c.a,a)){return true;}}}return false;}
-function qkb(b,a){return cY(lkb(b),a);}
-function rkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[21],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function skb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[22],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],16)){e=Fb(f.b[a],16);if(e.a!==null&&pkb(f,e.a)){return false;}}}}f.b=d;return true;}
-function tkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[23],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
-function ekb(){}
-_=ekb.prototype=new uT();_.tN=Afc+'RuleModel';_.tI=271;_.c='1.0';_.d=null;function wkb(b,a){a.a=Fb(b.Dd(),76);a.b=Fb(b.Dd(),77);a.c=b.Ed();a.d=b.Ed();a.e=Fb(b.Dd(),78);}
-function xkb(b,a){b.ff(a.a);b.ff(a.b);b.gf(a.c);b.gf(a.d);b.ff(a.e);}
-function zkb(b,a){b.c=a;return b;}
-function Akb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',612,15,[new yib()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[612],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new yib();c.a=b;}}
-function Ckb(a){if(a.b!==null&& !nU('',a.b)){return true;}else{return false;}}
-function ykb(){}
-_=ykb.prototype=new vjb();_.tN=Afc+'SingleFieldConstraint';_.tI=272;_.a=null;_.b=null;_.c=null;_.d=null;function Fkb(b,a){a.a=Fb(b.Dd(),79);a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();zjb(b,a);}
-function alb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);Ajb(b,a);}
-function Alb(d,b,c,a){d.e=c;d.a=a;d.d=hab(new fab());d.f=b;d.b=c.a;d.c=Dfb(d.a,c.a);uN(d.d,'model-builderInner-Background');Clb(d);gr(d,d.d);return d;}
-function Clb(e){var a,b,c,d,f;by(e.d);kab(e.d,0,0,Elb(e));c=hab(new fab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];kab(c,a,0,Dlb(e,f));kab(c,a,1,amb(e,f));b=a;d=lcb(new kcb(),'images/delete_item_small.gif');fB(d,dlb(new clb(),e,b));kab(c,a,2,d);}kab(e.d,0,1,c);}
-function Dlb(a,b){return CB(new AB(),b.a);}
-function Elb(d){var a,b,c;c=Fz(new Dz());b=lcb(new kcb(),'images/add_field_to_fact.gif');b.te('Add another field to this so you can set its value.');fB(b,tlb(new slb(),d));a='assert';if(ac(d.e,26)){a='assertLogical';}aA(c,wcb(new vcb(),qfb(a)+' '+d.e.a,'modeller-action-Label'));aA(c,b);return c;}
-function Flb(d,e){var a,b,c;c=acb(new Bbb(),'images/newex_wiz.gif','Add a field');uN(c,'ks-popups-Popup');a=mC(new eC());pC(a,'...');for(b=0;b<d.c.a;b++){pC(a,d.c[b]);}BC(a,0);bcb(c,'Add field',a);oC(a,xlb(new wlb(),d,a,c));lE(c,lN(e),mN(e));oE(c);}
-function amb(c,d){var a,b;b=Afb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return upb(d.c,llb(new klb(),c,d),b);}else{a=zK(new kK());vK(a,d.c);nK(a,plb(new olb(),c,d,a));if(nU(d.b,'Numeric')){oK(a,onb(a));}return a;}}
-function blb(){}
-_=blb.prototype=new E_();_.tN=Bfc+'ActionInsertFactWidget';_.tI=273;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function dlb(b,a,c){b.a=a;b.b=c;return b;}
-function flb(b){var a;a=efb(new Beb(),'Remove this item?',hlb(new glb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
-function clb(){}
-_=clb.prototype=new uT();_.zc=flb;_.tN=Bfc+'ActionInsertFactWidget$1';_.tI=274;function hlb(b,a,c){b.a=a;b.b=c;return b;}
-function jlb(){vgb(this.a.a.e,this.b);owb(this.a.a.f);}
-function glb(){}
-_=glb.prototype=new uT();_.pb=jlb;_.tN=Bfc+'ActionInsertFactWidget$2';_.tI=275;function llb(b,a,c){b.a=c;return b;}
-function nlb(a){this.a.c=a;}
-function klb(){}
-_=klb.prototype=new uT();_.af=nlb;_.tN=Bfc+'ActionInsertFactWidget$3';_.tI=276;function plb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rlb(a){this.c.c=rK(this.b);owb(this.a.f);}
-function olb(){}
-_=olb.prototype=new uT();_.yc=rlb;_.tN=Bfc+'ActionInsertFactWidget$4';_.tI=277;function tlb(b,a){b.a=a;return b;}
-function vlb(a){Flb(this.a,a);}
-function slb(){}
-_=slb.prototype=new uT();_.zc=vlb;_.tN=Bfc+'ActionInsertFactWidget$5';_.tI=278;function xlb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function zlb(c){var a,b;a=vC(this.b,wC(this.b));b=Efb(this.a.a,this.a.e.a,a);tgb(this.a.e,Bgb(new Agb(),a,'',b));owb(this.a.f);this.c.lc();}
-function wlb(){}
-_=wlb.prototype=new uT();_.yc=zlb;_.tN=Bfc+'ActionInsertFactWidget$6';_.tI=279;function cmb(c,a,b){c.a=lt(new ft());uN(c.a,'model-builderInner-Background');c.a.ze(0,0,wcb(new vcb(),qfb('retract'),'modeller-action-Label'));c.a.ze(0,1,wcb(new vcb(),'['+b.a+']','modeller-action-Label'));gr(c,c.a);return c;}
-function bmb(){}
-_=bmb.prototype=new er();_.tN=Bfc+'ActionRetractFactWidget';_.tI=280;_.a=null;function hnb(e,b,d,a){var c;e.d=d;e.a=a;e.c=hab(new fab());e.e=b;uN(e.c,'model-builderInner-Background');if(bgb(e.a,d.a)){e.b=Cfb(e.a,d.a);e.f=Fb(e.a.h.ic(d.a),1);}else{c=mkb(b.c,d.a);e.b=Dfb(e.a,c.c);e.f=c.c;}jnb(e);gr(e,e.c);return e;}
-function jnb(e){var a,b,c,d,f;by(e.c);kab(e.c,0,0,lnb(e));c=hab(new fab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];kab(c,a,0,knb(e,f));kab(c,a,1,nnb(e,f));b=a;d=lcb(new kcb(),'images/delete_item_small.gif');fB(d,gmb(new fmb(),e,b));kab(c,a,2,d);}kab(e.c,0,1,c);}
-function knb(a,b){return CB(new AB(),b.a);}
-function lnb(d){var a,b,c;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te('Add another field to this so you can set its value.');fB(a,omb(new nmb(),d));c='set';if(ac(d.d,29)){c='modify';}aA(b,wcb(new vcb(),qfb(c)+' ['+d.d.a+']','modeller-action-Label'));aA(b,a);return b;}
-function mnb(d,e){var a,b,c;c=acb(new Bbb(),'images/newex_wiz.gif','Add a field');uN(c,'ks-popups-Popup');a=mC(new eC());pC(a,'...');for(b=0;b<d.b.a;b++){pC(a,d.b[b]);}BC(a,0);bcb(c,'Add field',a);oC(a,smb(new rmb(),d,a,c));lE(c,lN(e),mN(e));oE(c);}
-function nnb(d,f){var a,b,c,e;e='';if(bgb(d.a,d.d.a)){e=Fb(d.a.h.ic(d.d.a),1);}else{e=mkb(d.e.c,d.d.a).c;}b=Afb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return upb(f.c,wmb(new vmb(),d,f),b);}else{c=AG(new sG());a=zK(new kK());vK(a,f.c);if(rU(f.c)!=0){BK(a,rU(f.c));}if(nU(f.b,'Numeric')){oK(a,onb(a));}nK(a,Amb(new zmb(),d,f,a));oK(a,jbb(new ibb(),Emb(new Dmb(),d,a)));CG(c,a);return c;}}
-function onb(a){return cnb(new bnb(),a);}
-function pnb(){return jab(this.c);}
-function emb(){}
-_=emb.prototype=new E_();_.pc=pnb;_.tN=Bfc+'ActionSetFieldWidget';_.tI=281;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function gmb(b,a,c){b.a=a;b.b=c;return b;}
-function imb(b){var a;a=efb(new Beb(),'Remove this item?',kmb(new jmb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
-function fmb(){}
-_=fmb.prototype=new uT();_.zc=imb;_.tN=Bfc+'ActionSetFieldWidget$1';_.tI=282;function kmb(b,a,c){b.a=a;b.b=c;return b;}
-function mmb(){vgb(this.a.a.d,this.b);owb(this.a.a.e);}
-function jmb(){}
-_=jmb.prototype=new uT();_.pb=mmb;_.tN=Bfc+'ActionSetFieldWidget$2';_.tI=283;function omb(b,a){b.a=a;return b;}
-function qmb(a){mnb(this.a,a);}
-function nmb(){}
-_=nmb.prototype=new uT();_.zc=qmb;_.tN=Bfc+'ActionSetFieldWidget$3';_.tI=284;function smb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function umb(c){var a,b;a=vC(this.b,wC(this.b));b=Efb(this.a.a,this.a.f,a);tgb(this.a.d,Bgb(new Agb(),a,'',b));owb(this.a.e);this.c.lc();}
-function rmb(){}
-_=rmb.prototype=new uT();_.yc=umb;_.tN=Bfc+'ActionSetFieldWidget$4';_.tI=285;function wmb(b,a,c){b.a=c;return b;}
-function ymb(a){this.a.c=a;}
-function vmb(){}
-_=vmb.prototype=new uT();_.af=ymb;_.tN=Bfc+'ActionSetFieldWidget$5';_.tI=286;function Amb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Cmb(a){this.b.c=rK(this.a);}
-function zmb(){}
-_=zmb.prototype=new uT();_.yc=Cmb;_.tN=Bfc+'ActionSetFieldWidget$6';_.tI=287;function Emb(b,a,c){b.a=c;return b;}
-function anb(){BK(this.a,rU(rK(this.a)));}
-function Dmb(){}
-_=Dmb.prototype=new uT();_.pb=anb;_.tN=Bfc+'ActionSetFieldWidget$7';_.tI=288;function cnb(a,b){a.a=b;return a;}
-function enb(a,b,c){}
-function fnb(c,a,b){if(eS(a)&&a!=61&& !vU(rK(this.a),'=')){pK(Fb(c,80));}}
-function gnb(a,b,c){}
-function bnb(){}
-_=bnb.prototype=new uT();_.cd=enb;_.dd=fnb;_.ed=gnb;_.tN=Bfc+'ActionSetFieldWidget$8';_.tI=289;function znb(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=hab(new fab());uN(d.b,'model-builderInner-Background');Bnb(d);gr(d,d.b);return d;}
-function Bnb(c){var a,b,d;kab(c.b,0,0,Cnb(c));if(c.d.a!==null){d=tab(new sab());a=c.d.a;for(b=0;b<a.a;b++){iO(d,msb(new kqb(),c.c,a[b],c.a,false));}kab(c.b,0,1,d);}}
-function Cnb(c){var a,b;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");fB(a,snb(new rnb(),c));aA(b,CB(new AB(),rfb(c.d.b)));aA(b,a);uN(b,'modeller-composite-Label');return b;}
-function Dnb(e,f){var a,b,c,d;a=mC(new eC());b=e.a.e;pC(a,'Choose...');for(c=0;c<b.a;c++){pC(a,b[c]);}BC(a,0);d=acb(new Bbb(),'images/new_fact.gif','New fact pattern...');bcb(d,'choose fact type',a);oC(a,wnb(new vnb(),e,a,d));uN(d,'ks-popups-Popup');lE(d,lN(f)-400,mN(f));oE(d);}
-function Enb(){return jab(this.b);}
-function qnb(){}
-_=qnb.prototype=new E_();_.pc=Enb;_.tN=Bfc+'CompositeFactPatternWidget';_.tI=290;_.a=null;_.b=null;_.c=null;_.d=null;function snb(b,a){b.a=a;return b;}
-function unb(a){Dnb(this.a,a);}
-function rnb(){}
-_=rnb.prototype=new uT();_.zc=unb;_.tN=Bfc+'CompositeFactPatternWidget$1';_.tI=291;function wnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ynb(a){kib(this.a.d,ijb(new hjb(),vC(this.b,wC(this.b))));owb(this.a.c);this.c.lc();}
-function vnb(){}
-_=vnb.prototype=new uT();_.yc=ynb;_.tN=Bfc+'CompositeFactPatternWidget$2';_.tI=292;function kpb(f,d,b,a,c,g){var e;f.a=a;if(nU(g,'Numeric')){f.d=true;}else{f.d=false;}if(nU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',605,1,['true','false']);}f.c=c.c;e=c.a;f.b=Bfb(e,d,b);f.e=AG(new sG());ppb(f);gr(f,f.e);return f;}
-function lpb(c,b){var a;a=zK(new kK());uN(a,'constraint-value-Editor');if(b.f===null){vK(a,'');}else{vK(a,b.f);}if(b.f===null||rU(b.f)<5){BK(a,3);}else{BK(a,rU(b.f)-1);}nK(a,Aob(new zob(),c,b,a));oK(a,jbb(new ibb(),Eob(new Dob(),c,a)));return a;}
-function npb(b,a){ppb(b);a.lc();}
-function opb(b){var a;if(b.b!==null){return upb(b.a.f,nob(new mob(),b),b.b);}else{a=lpb(b,b.a);if(b.d){oK(a,new qob());}a.te('This is a literal value. What is shown is what the field is checked against.');return a;}}
-function ppb(b){var a;b.e.ab();if(b.a.e==0){a=eB(new oA(),'images/edit.gif');fB(a,fob(new aob(),b));CG(b.e,a);}else{switch(b.a.e){case 1:CG(b.e,opb(b));break;case 3:CG(b.e,qpb(b));break;case 2:CG(b.e,spb(b));break;default:break;}}}
-function qpb(e){var a,b,c,d;a=lpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=eB(new oA(),'images/function_assets.gif');c.te(d);a.te(d);b=tpb(e,c,a);return b;}
-function rpb(e,g,a){var b,c,d,f;b=acb(new Bbb(),'images/newex_wiz.gif','Field value');d=qp(new kp(),'Literal value');d.x(cpb(new bpb(),e,a,b));bcb(b,'Literal value:',tpb(e,d,tcb(new ocb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));ccb(b,ez(new hw(),'<hr/>'));ccb(b,wcb(new vcb(),'Advanced options','weak-Text'));if(okb(e.c,e.a).b>0){f=qp(new kp(),'Bound variable');f.x(gpb(new fpb(),e,a,b));bcb(b,'A variable:',tpb(e,f,tcb(new ocb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=qp(new kp(),'New formula');c.x(cob(new bob(),e,a,b));bcb(b,'A formula:',tpb(e,c,tcb(new ocb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));lE(b,lN(g),mN(g));oE(b);}
-function spb(c){var a,b,d,e;e=okb(c.c,c.a);a=mC(new eC());if(c.a.f===null){pC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(dY(e,b),1);pC(a,d);if(c.a.f!==null&&nU(c.a.f,d)){BC(a,b);}}oC(a,job(new iob(),c,a));return a;}
-function tpb(d,a,c){var b;b=Fz(new Dz());aA(b,a);aA(b,c);b.Be('100%');return b;}
-function upb(b,k,d){var a,c,e,f,g,h,i,j;a=mC(new eC());if(b===null||nU('',b)){pC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(oU(i,61)>0){h=wpb(i);f=h[0];c=h[1];j=f;qC(a,c,f);}else{qC(a,i,i);j=i;}if(b!==null&&nU(b,j)){BC(a,e);g=true;}}if(b!==null&& !g){qC(a,b,b);BC(a,d.a);}oC(a,wob(new vob(),k,a));return a;}
-function vpb(){return this.j;}
-function wpb(c){var a,b;b=yb('[Ljava.lang.String;',[605],[1],[2],null);a=oU(c,61);b[0]=xU(c,0,a);b[1]=xU(c,a+1,rU(c));return b;}
-function Fnb(){}
-_=Fnb.prototype=new E_();_.pc=vpb;_.tN=Bfc+'ConstraintValueEditor';_.tI=293;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function fob(b,a){b.a=a;return b;}
-function hob(a){rpb(this.a,a,this.a.a);}
-function aob(){}
-_=aob.prototype=new uT();_.zc=hob;_.tN=Bfc+'ConstraintValueEditor$1';_.tI=294;function cob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function eob(a){this.b.e=3;npb(this.a,this.c);}
-function bob(){}
-_=bob.prototype=new uT();_.zc=eob;_.tN=Bfc+'ConstraintValueEditor$10';_.tI=295;function job(b,a,c){b.a=a;b.b=c;return b;}
-function lob(a){this.a.a.f=vC(this.b,wC(this.b));}
-function iob(){}
-_=iob.prototype=new uT();_.yc=lob;_.tN=Bfc+'ConstraintValueEditor$2';_.tI=296;function nob(b,a){b.a=a;return b;}
-function pob(a){this.a.a.f=a;}
-function mob(){}
-_=mob.prototype=new uT();_.af=pob;_.tN=Bfc+'ConstraintValueEditor$3';_.tI=297;function sob(a,b,c){}
-function tob(c,a,b){if(eS(a)){pK(Fb(c,80));}}
-function uob(a,b,c){}
-function qob(){}
-_=qob.prototype=new uT();_.cd=sob;_.dd=tob;_.ed=uob;_.tN=Bfc+'ConstraintValueEditor$4';_.tI=298;function wob(a,c,b){a.b=c;a.a=b;return a;}
-function yob(a){this.b.af(xC(this.a,wC(this.a)));}
-function vob(){}
-_=vob.prototype=new uT();_.yc=yob;_.tN=Bfc+'ConstraintValueEditor$5';_.tI=299;function Aob(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Cob(a){this.c.f=rK(this.b);aab(this.a);}
-function zob(){}
-_=zob.prototype=new uT();_.yc=Cob;_.tN=Bfc+'ConstraintValueEditor$6';_.tI=300;function Eob(b,a,c){b.a=c;return b;}
-function apb(){BK(this.a,rU(rK(this.a)));}
-function Dob(){}
-_=Dob.prototype=new uT();_.pb=apb;_.tN=Bfc+'ConstraintValueEditor$7';_.tI=301;function cpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function epb(a){this.b.e=1;npb(this.a,this.c);}
-function bpb(){}
-_=bpb.prototype=new uT();_.zc=epb;_.tN=Bfc+'ConstraintValueEditor$8';_.tI=302;function gpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ipb(a){this.b.e=2;npb(this.a,this.c);}
-function fpb(){}
-_=fpb.prototype=new uT();_.zc=ipb;_.tN=Bfc+'ConstraintValueEditor$9';_.tI=303;function dqb(b,a){b.a=oab(new nab());b.c=CX(new AX());b.b=a;gqb(b);return b;}
-function eqb(b,a){aA(b.a,a);EX(b.c,a);}
-function gqb(a){hqb(a,a.b.a);gr(a,a.a);}
-function hqb(g,e){var a,b,c,d,f;b=yU(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=Epb(new Cpb(),g);eqb(g,c);}else if(a==125){cqb(c,rU(aqb(c))+1);c=null;}else{if(c===null&&d===null){d=BB(new AB());eqb(g,d);}if(d!==null){bC(d,aC(d)+Eb(a));}else if(c!==null){bqb(c,aqb(c)+Eb(a));}}}}
-function iqb(c){var a,b,d;b='';for(a=c.c.qc();a.kc();){d=Fb(a.sc(),20);if(ac(d,81)){b=b+aC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+aqb(Fb(d,82))+'} ';}}c.b.a=AU(b);}
-function jqb(){return qab(this.a);}
-function xpb(){}
-_=xpb.prototype=new E_();_.pc=jqb;_.tN=Bfc+'DSLSentenceWidget';_.tI=304;_.a=null;_.b=null;_.c=null;function zpb(b,a){b.a=a;return b;}
-function Bpb(a){iqb(this.a.c);aab(this.a);}
-function ypb(){}
-_=ypb.prototype=new uT();_.yc=Bpb;_.tN=Bfc+'DSLSentenceWidget$1';_.tI=305;function Dpb(a){a.b=Fz(new Dz());}
-function Epb(b,a){b.c=a;Dpb(b);b.a=zK(new kK());aA(b.b,ez(new hw(),'&nbsp;'));aA(b.b,b.a);aA(b.b,ez(new hw(),'&nbsp;'));nK(b.a,zpb(new ypb(),b));gr(b,b.b);return b;}
-function aqb(a){return rK(a.a);}
-function bqb(b,a){vK(b.a,a);}
-function cqb(b,a){BK(b.a,a);}
-function Cpb(){}
-_=Cpb.prototype=new E_();_.tN=Bfc+'DSLSentenceWidget$FieldEditor';_.tI=306;_.a=null;function lsb(a){a.c=hab(new fab());}
-function msb(k,h,i,c,a){var b,d,e,f,g,j;lsb(k);k.e=Fb(i,16);k.b=c;k.d=h;k.a=a;kab(k.c,0,0,usb(k));f=ot(k.c);Bw(f,0,0,(oz(),pz),(xz(),zz));Ew(f,0,0,'modeller-fact-TypeHeader');g=hab(new fab());kab(k.c,1,0,g);for(j=0;j<ljb(k.e).a;j++){d=ljb(k.e)[j];e=j;xsb(k,g,j,d,true);b=lcb(new kcb(),'images/delete_item_small.gif');b.te('Remove this whole restriction');fB(b,irb(new lqb(),k,e));kab(g,j,5,b);}if(k.a)uN(k.c,'modeller-fact-pattern-Widget');gr(k,k.c);return k;}
-function osb(j,b){var a,c,d,e,f,g,h,i;f=Fz(new Dz());d=null;e=lcb(new kcb(),'images/add_field_to_fact.gif');e.te('Add a field to this nested constraint.');fB(e,mrb(new lrb(),j,b));if(nU(b.a,'&&')){d='All of:';}else{d='Any of:';}aA(f,e);aA(f,ez(new hw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=hab(new fab());uN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){xsb(j,h,g,i[g],false);c=g;a=lcb(new kcb(),'images/delete_item_small.gif');a.te('Remove this (nested) restriction');fB(a,qrb(new prb(),j,b,c));kab(h,g,5,a);}}aA(f,h);return f;}
-function psb(g,b,c){var a,d,e,f;f=zfb(g.b,g.e.c,c);a=mC(new eC());pC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];qC(a,sfb(e),e);if(nU(e,b.a)){BC(a,d+1);}}oC(a,zqb(new yqb(),g,b,a));return a;}
-function qsb(d,a,b,c){var e;e=Efb(d.d.a,b,c);return kpb(new Fnb(),d.e,c,a,d.d,e);}
-function rsb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=oab(new nab());for(e=0;e<a.a.a;e++){b=a.a[e];aA(d,psb(f,b,a.c));aA(d,qsb(f,b,c,a.c));}return d;}else{return null;}}
-function ssb(c,b){var a,d,e;if(c.a&& !pkb(c.d.c,c.e.a)){d=Fz(new Dz());e=zK(new kK());if(c.e.a===null){vK(e,'');}else{vK(e,c.e.a);}BK(e,3);aA(d,e);a=qp(new kp(),'Set');a.x(vqb(new uqb(),c,e,b));aA(d,a);bcb(b,'Variable name',d);}}
-function tsb(e,c,d){var a,b;a=Fz(new Dz());uN(a,'modeller-field-Label');if(!Ckb(c)){if(e.a&&d){b=mcb(new kcb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');fB(b,brb(new arb(),e,c));aA(a,b);}}else{aA(a,CB(new AB(),'['+c.b+']'));}aA(a,CB(new AB(),c.c));return a;}
-function usb(c){var a,b;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te('Add a field to this condition, or bind a varible to this fact.');fB(a,Crb(new Brb(),c));if(c.e.a!==null){aA(b,CB(new AB(),'['+c.e.a+'] '+c.e.c));}else{aA(b,CB(new AB(),c.e.c));}aA(b,a);return b;}
-function vsb(f,b){var a,c,d,e;e=agb(f.b,f.e.c,b.c);a=mC(new eC());pC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];qC(a,sfb(d),d);if(nU(d,b.d)){BC(a,c+1);}}oC(a,Dqb(new Cqb(),f,b,a));return a;}
-function wsb(e,b){var a,c,d;d=Fz(new Dz());d.Be('100%');c=eB(new oA(),'images/function_assets.gif');c.te('This is a formula expression that is evaluated to be true or false.');aA(d,c);if(b.f===null){b.f='';}a=zK(new kK());vK(a,b.f);nK(a,yrb(new xrb(),e,b,a));a.Be('100%');aA(d,a);return d;}
-function xsb(e,b,c,a,d){if(ac(a,32)){ysb(e,e.d,b,c,a,d);}else if(ac(a,31)){kab(b,c,0,osb(e,Fb(a,31)));jt(ot(b),c,0,5);}}
-function ysb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){kab(d,f,0,tsb(h,b,g));kab(d,f,1,vsb(h,b));kab(d,f,2,Csb(h,b,h.e.c));kab(d,f,3,rsb(h,b,h.e.c));a=lcb(new kcb(),'images/add_connective.gif');a.te('Add more options to this fields values.');fB(a,urb(new trb(),h,b,e));kab(d,f,4,a);}else if(b.e==5){kab(d,f,0,wsb(h,b));jt(ot(d),f,0,5);}}
-function zsb(d,g,a){var b,c,e,f;c=acb(new Bbb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=cp(new bp());e=zK(new kK());b=qp(new kp(),'Set');dp(f,e);dp(f,b);b.x(frb(new erb(),d,e,a,c));bcb(c,'Variable name',f);lE(c,lN(g),mN(g));oE(c);}
-function Bsb(i,j){var a,b,c,d,e,f,g,h;g=acb(new Bbb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);uN(g,'ks-popups-Popup');a=mC(new eC());pC(a,'...');c=Dfb(i.b,i.e.c);for(e=0;e<c.a;e++){pC(a,c[e]);}BC(a,0);oC(a,isb(new hsb(),i,a,g));bcb(g,'Add a restriction on a field',a);b=mC(new eC());pC(b,'...');qC(b,'All of (And)','&&');qC(b,'Any of (Or)','||');BC(b,0);oC(b,nqb(new mqb(),i,b,g));f=tcb(new ocb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=Fz(new Dz());aA(d,b);aA(d,f);bcb(g,'Multiple field constraint',d);ccb(g,wcb(new vcb(),'Advanced options','weak-Text'));h=qp(new kp(),'New formula');h.x(rqb(new qqb(),i,g));bcb(g,'Add a new formula style expression',h);ssb(i,g);lE(g,lN(j),mN(j));oE(g);}
-function Asb(i,j,b){var a,c,d,e,f,g,h;h=acb(new Bbb(),'images/newex_wiz.gif','Add fields to this constraint');uN(h,'ks-popups-Popup');a=mC(new eC());pC(a,'...');d=Dfb(i.b,i.e.c);for(f=0;f<d.a;f++){pC(a,d[f]);}BC(a,0);oC(a,asb(new Frb(),i,b,a,h));bcb(h,'Add a restriction on a field',a);c=mC(new eC());pC(c,'...');qC(c,'All of (And)','&&');qC(c,'Any of (Or)','||');BC(c,0);oC(c,esb(new dsb(),i,c,b,h));g=tcb(new ocb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=Fz(new Dz());aA(e,c);aA(e,g);bcb(h,'Multiple field constraint',e);lE(h,lN(j),mN(j));oE(h);}
-function Csb(c,a,b){var d;d=Efb(c.d.a,b,a.c);return kpb(new Fnb(),c.e,a.c,a,c.d,d);}
-function Dsb(){return jab(this.c);}
-function kqb(){}
-_=kqb.prototype=new E_();_.pc=Dsb;_.tN=Bfc+'FactPatternWidget';_.tI=307;_.a=false;_.b=null;_.d=null;_.e=null;function irb(b,a,c){b.a=a;b.b=c;return b;}
-function krb(a){if(Bh('Remove this item?')){njb(this.a.e,this.b);owb(this.a.d);}}
-function lqb(){}
-_=lqb.prototype=new uT();_.zc=krb;_.tN=Bfc+'FactPatternWidget$1';_.tI=308;function nqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function pqb(b){var a;a=new qib();a.a=xC(this.b,wC(this.b));jjb(this.a.e,a);owb(this.a.d);this.c.lc();}
-function mqb(){}
-_=mqb.prototype=new uT();_.yc=pqb;_.tN=Bfc+'FactPatternWidget$10';_.tI=309;function rqb(b,a,c){b.a=a;b.b=c;return b;}
-function tqb(b){var a;a=new ykb();a.e=5;jjb(this.a.e,a);owb(this.a.d);this.b.lc();}
-function qqb(){}
-_=qqb.prototype=new uT();_.zc=tqb;_.tN=Bfc+'FactPatternWidget$11';_.tI=310;function vqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function xqb(b){var a;a=rK(this.c);if(nwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=rK(this.c);owb(this.a.d);this.b.lc();}
-function uqb(){}
-_=uqb.prototype=new uT();_.zc=xqb;_.tN=Bfc+'FactPatternWidget$12';_.tI=311;function zqb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Bqb(a){this.b.a=xC(this.a,wC(this.a));}
-function yqb(){}
-_=yqb.prototype=new uT();_.yc=Bqb;_.tN=Bfc+'FactPatternWidget$13';_.tI=312;function Dqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Fqb(a){this.c.d=xC(this.b,wC(this.b));aab(this.a.d);hV(),kV;}
-function Cqb(){}
-_=Cqb.prototype=new uT();_.yc=Fqb;_.tN=Bfc+'FactPatternWidget$14';_.tI=313;function brb(b,a,c){b.a=a;b.b=c;return b;}
-function drb(a){zsb(this.a,a,this.b);}
-function arb(){}
-_=arb.prototype=new uT();_.zc=drb;_.tN=Bfc+'FactPatternWidget$15';_.tI=314;function frb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function hrb(b){var a;a=rK(this.d);if(nwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;owb(this.a.d);this.c.lc();}
-function erb(){}
-_=erb.prototype=new uT();_.zc=hrb;_.tN=Bfc+'FactPatternWidget$16';_.tI=315;function mrb(b,a,c){b.a=a;b.b=c;return b;}
-function orb(a){Asb(this.a,a,this.b);}
-function lrb(){}
-_=lrb.prototype=new uT();_.zc=orb;_.tN=Bfc+'FactPatternWidget$2';_.tI=316;function qrb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function srb(a){if(Bh('Remove this item from nested constraint?')){tib(this.b,this.c);owb(this.a.d);}}
-function prb(){}
-_=prb.prototype=new uT();_.zc=srb;_.tN=Bfc+'FactPatternWidget$3';_.tI=317;function urb(b,a,c,d){b.a=c;b.b=d;return b;}
-function wrb(a){Akb(this.a);owb(this.b);}
-function trb(){}
-_=trb.prototype=new uT();_.zc=wrb;_.tN=Bfc+'FactPatternWidget$4';_.tI=318;function yrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Arb(a){this.c.f=rK(this.b);aab(this.a.d);}
-function xrb(){}
-_=xrb.prototype=new uT();_.yc=Arb;_.tN=Bfc+'FactPatternWidget$5';_.tI=319;function Crb(b,a){b.a=a;return b;}
-function Erb(a){Bsb(this.a,a);}
-function Brb(){}
-_=Brb.prototype=new uT();_.zc=Erb;_.tN=Bfc+'FactPatternWidget$6';_.tI=320;function asb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function csb(a){rib(this.c,zkb(new ykb(),vC(this.b,wC(this.b))));owb(this.a.d);this.d.lc();}
-function Frb(){}
-_=Frb.prototype=new uT();_.yc=csb;_.tN=Bfc+'FactPatternWidget$7';_.tI=321;function esb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function gsb(b){var a;a=new qib();a.a=xC(this.c,wC(this.c));rib(this.b,a);owb(this.a.d);this.d.lc();}
-function dsb(){}
-_=dsb.prototype=new uT();_.yc=gsb;_.tN=Bfc+'FactPatternWidget$8';_.tI=322;function isb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ksb(a){jjb(this.a.e,zkb(new ykb(),vC(this.b,wC(this.b))));owb(this.a.d);this.c.lc();}
-function hsb(){}
-_=hsb.prototype=new uT();_.yc=ksb;_.tN=Bfc+'FactPatternWidget$9';_.tI=323;function vtb(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=qbb(new obb());b=d.a;for(c=0;c<b.a;c++){a=b[c];sbb(f.a,a.a,ytb(f,a,c));}gr(f,f.a);return f;}
-function wtb(c,a){var b;b=aq(new Fp());if(a.b===null){gq(b,true);a.b='true';}else{gq(b,nU(a.b,'true'));}b.x(atb(new Fsb(),c,a,b));return b;}
-function ytb(e,a,d){var b,c;if(nU(a.a,'no-loop')){return ztb(e,d);}b=null;if(nU(a.a,'enabled')||nU(a.a,'auto-focus')||nU(a.a,'lock-on-active')){b=wtb(e,a);}else{b=Atb(e,a);}c=oab(new nab());aA(c,b);aA(c,ztb(e,d));return c;}
-function ztb(c,a){var b;b=eB(new oA(),'images/delete_item_small.gif');fB(b,otb(new ntb(),c,a));return b;}
-function Atb(c,a){var b;b=zK(new kK());BK(b,rU(a.b)<3?3:rU(a.b));vK(b,a.b);nK(b,etb(new dtb(),c,a,b));if(nU(a.a,'date-effective')||nU(a.a,'date-expires')){if(a.b===null||nU('',a.b))vK(b,'dd-MMM-yyyy');BK(b,10);}oK(b,itb(new htb(),c,b));return b;}
-function Btb(){var a;a=mC(new eC());pC(a,'Choose...');pC(a,'salience');pC(a,'enabled');pC(a,'date-effective');pC(a,'date-expires');pC(a,'no-loop');pC(a,'agenda-group');pC(a,'activation-group');pC(a,'duration');pC(a,'auto-focus');pC(a,'lock-on-active');pC(a,'ruleflow-group');pC(a,'dialect');return a;}
-function Ctb(){return this.a.pc();}
-function Esb(){}
-_=Esb.prototype=new E_();_.pc=Ctb;_.tN=Bfc+'RuleAttributeWidget';_.tI=324;_.a=null;_.b=null;_.c=null;function atb(b,a,c,d){b.a=c;b.b=d;return b;}
-function ctb(a){this.a.b=fq(this.b)?'true':'false';}
-function Fsb(){}
-_=Fsb.prototype=new uT();_.zc=ctb;_.tN=Bfc+'RuleAttributeWidget$1';_.tI=325;function etb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function gtb(a){this.b.b=rK(this.c);aab(this.a);}
-function dtb(){}
-_=dtb.prototype=new uT();_.yc=gtb;_.tN=Bfc+'RuleAttributeWidget$2';_.tI=326;function itb(b,a,c){b.a=c;return b;}
-function ktb(a,b,c){}
-function ltb(a,b,c){}
-function mtb(a,b,c){BK(this.a,rU(rK(this.a)));}
-function htb(){}
-_=htb.prototype=new uT();_.cd=ktb;_.dd=ltb;_.ed=mtb;_.tN=Bfc+'RuleAttributeWidget$3';_.tI=327;function otb(b,a,c){b.a=a;b.b=c;return b;}
-function qtb(b){var a;a=efb(new Beb(),'Remove this rule option?',stb(new rtb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
-function ntb(){}
-_=ntb.prototype=new uT();_.zc=qtb;_.tN=Bfc+'RuleAttributeWidget$4';_.tI=328;function stb(b,a,c){b.a=a;b.b=c;return b;}
-function utb(){rkb(this.a.a.b,this.b);owb(this.a.a.c);}
-function rtb(){}
-_=rtb.prototype=new uT();_.pb=utb;_.tN=Bfc+'RuleAttributeWidget$5';_.tI=329;function cwb(b,a){b.c=Fb(a.b,83);b.a=rKb((pKb(),uKb),a.d.o);b.b=hab(new fab());mwb(b);uN(b.b,'model-builder-Background');gr(b,b.b);b.Be('100%');b.qe('100%');return b;}
-function dwb(b,a){jkb(b.c,Ahb(new yhb(),a));owb(b);}
-function ewb(b,a){jkb(b.c,cib(new aib(),a));owb(b);}
-function fwb(b,a){ikb(b.c,jib(new iib(),a));owb(b);}
-function gwb(b,a){ikb(b.c,ajb(a));owb(b);}
-function hwb(b,a){jkb(b.c,ajb(a));owb(b);}
-function iwb(b,a){ikb(b.c,ijb(new hjb(),a));owb(b);}
-function jwb(a,b){jkb(a.c,shb(new rhb(),b));owb(a);}
-function lwb(b){var a;a=lcb(new kcb(),'images/new_item.gif');a.te('Add an option to the rule, to modify its behavior when evaluated or executed.');fB(a,hvb(new gvb(),b));return a;}
-function mwb(c){var a,b;by(c.b);b=lcb(new kcb(),'images/new_item.gif');b.te('Add a condition to this rule.');fB(b,Fub(new Etb(),c));kab(c.b,0,0,CB(new AB(),'WHEN'));kab(c.b,0,2,b);kab(c.b,1,1,pwb(c,c.c));kab(c.b,2,0,CB(new AB(),'THEN'));a=lcb(new kcb(),'images/new_item.gif');a.te('Add an action to this rule.');fB(a,dvb(new cvb(),c));kab(c.b,2,2,a);kab(c.b,3,1,qwb(c,c.c));kab(c.b,4,0,CB(new AB(),'(options)'));kab(c.b,4,2,lwb(c));kab(c.b,5,1,vtb(new Esb(),c,c.c));}
-function nwb(b,a){return qkb(b.c,a)||bgb(b.a,a);}
-function owb(a){mwb(a);aab(a);}
-function pwb(e,c){var a,b,d,f,g;f=tab(new sab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,16)){g=msb(new kqb(),e,d,e.a,true);iO(f,vwb(e,c,b,g));iO(f,uwb(e));}else if(ac(d,30)){g=znb(new qnb(),e,Fb(d,30),e.a);iO(f,vwb(e,c,b,g));iO(f,uwb(e));}else if(ac(d,14)){}else{throw AT(new zT(),"I don't know what type of pattern that is.");}}a=tab(new sab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,14)){g=dqb(new xpb(),Fb(d,14));iO(a,vwb(e,c,b,g));uN(a,'model-builderInner-Background');}}iO(f,a);return f;}
-function qwb(g,e){var a,b,c,d,f,h,i;h=tab(new sab());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,28)){i=hnb(new emb(),g,Fb(a,28),g.a);}else if(ac(a,25)){i=Alb(new blb(),g,Fb(a,25),g.a);}else if(ac(a,27)){i=cmb(new bmb(),g.a,Fb(a,27));}else if(ac(a,14)){i=dqb(new xpb(),Fb(a,14));uN(i,'model-builderInner-Background');}iO(h,uwb(g));b=oab(new nab());f=lcb(new kcb(),'images/delete_item_small.gif');f.te('Remove this action.');d=c;fB(f,pvb(new ovb(),g,e,d));aA(b,i);if(!ac(i,84)){i.Be('100%');b.Be('100%');}aA(b,f);iO(h,b);}return h;}
-function rwb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=acb(new Bbb(),'images/new_fact.gif','Add a new action...');uN(k,'ks-popups-Popup');q=nkb(n.c);p=mC(new eC());l=mC(new eC());j=mC(new eC());pC(p,'Choose ...');pC(l,'Choose ...');pC(j,'Choose ...');for(i=q.qc();i.kc();){o=Fb(i.sc(),1);pC(p,o);pC(l,o);pC(j,o);}d=Ffb(n.a);for(f=0;f<d.a;f++){pC(p,d[f]);}BC(p,0);oC(p,aub(new Ftb(),n,p,k));oC(l,eub(new dub(),n,l,k));oC(j,iub(new hub(),n,j,k));if(uC(p)>1){bcb(k,'Set the values of a field on',p);}if(uC(j)>1){e=Fz(new Dz());aA(e,j);g=eB(new oA(),'images/information.gif');g.te('Modify a field on a fact, and notify the engine to re-evaluate rules.');aA(e,g);bcb(k,'Modify a fact',e);}if(uC(l)>1){bcb(k,'Retract the fact',l);}b=mC(new eC());c=mC(new eC());pC(b,'Choose ...');pC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];pC(b,h);pC(c,h);}oC(b,mub(new lub(),n,b,k));oC(c,qub(new pub(),n,c,k));if(uC(b)>1){bcb(k,'Insert a new fact',b);e=Fz(new Dz());aA(e,c);g=eB(new oA(),'images/inf!
 ormation.gif');g.te('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');aA(e,g);bcb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=mC(new eC());pC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];qC(a,bjb(m),DS(f));}oC(a,uub(new tub(),n,a,k));bcb(k,'DSL sentence',a);}lE(k,dc(ai()/3),dc(Fh()/3));oE(k);}
-function swb(c,d){var a,b;b=acb(new Bbb(),'images/config.png','Add an option to the rule');a=Btb();BC(a,0);oC(a,lvb(new kvb(),c,a,b));uN(b,'ks-popups-Popup');bcb(b,'Attribute',a);lE(b,lN(d)-400,mN(d));oE(b);}
-function twb(j,k){var a,b,c,d,e,f,g,h,i;h=acb(new Bbb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=mC(new eC());qC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){pC(e,f[g]);}BC(e,0);if(f.a>0)bcb(h,'Fact',e);oC(e,xvb(new wvb(),j,e,h));uN(h,'ks-popups-Popup');c=(mfb(),nfb);b=mC(new eC());qC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];qC(b,rfb(a),a);}BC(b,0);if(f.a>0)bcb(h,'Condition type',b);oC(b,Bvb(new Avb(),j,b,h));if(j.a.b.a>0){d=mC(new eC());pC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];qC(d,bjb(i),DS(g));}oC(d,Fvb(new Evb(),j,d,h));bcb(h,'DSL sentence',d);}lE(h,lN(k)-400,mN(k));oE(h);}
-function uwb(b){var a;a=ez(new hw(),'&nbsp;');a.qe('2px');return a;}
-function vwb(f,d,b,g){var a,c,e;a=oab(new nab());e=lcb(new kcb(),'images/delete_item_small.gif');e.te('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;fB(e,yub(new xub(),f,d,c));a.Be('100%');g.Be('100%');aA(a,g);aA(a,e);return a;}
-function wwb(){return jab(this.b)||this.j;}
-function Dtb(){}
-_=Dtb.prototype=new E_();_.pc=wwb;_.tN=Bfc+'RuleModeller';_.tI=330;_.a=null;_.b=null;_.c=null;function Fub(b,a){b.a=a;return b;}
-function bvb(a){twb(this.a,a);}
-function Etb(){}
-_=Etb.prototype=new uT();_.zc=bvb;_.tN=Bfc+'RuleModeller$1';_.tI=331;function aub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function cub(a){dwb(this.a,vC(this.c,wC(this.c)));this.b.lc();}
-function Ftb(){}
-_=Ftb.prototype=new uT();_.yc=cub;_.tN=Bfc+'RuleModeller$10';_.tI=332;function eub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function gub(a){jwb(this.a,vC(this.c,wC(this.c)));this.b.lc();}
-function dub(){}
-_=dub.prototype=new uT();_.yc=gub;_.tN=Bfc+'RuleModeller$11';_.tI=333;function iub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kub(a){ewb(this.a,vC(this.b,wC(this.b)));this.c.lc();}
-function hub(){}
-_=hub.prototype=new uT();_.yc=kub;_.tN=Bfc+'RuleModeller$12';_.tI=334;function mub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function oub(b){var a;a=vC(this.b,wC(this.b));jkb(this.a.c,dhb(new bhb(),a));owb(this.a);this.c.lc();}
-function lub(){}
-_=lub.prototype=new uT();_.yc=oub;_.tN=Bfc+'RuleModeller$13';_.tI=335;function qub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function sub(b){var a;a=vC(this.b,wC(this.b));jkb(this.a.c,lhb(new jhb(),a));owb(this.a);this.c.lc();}
-function pub(){}
-_=pub.prototype=new uT();_.yc=sub;_.tN=Bfc+'RuleModeller$14';_.tI=336;function uub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function wub(b){var a;a=BS(xC(this.b,wC(this.b)));hwb(this.a,this.a.a.a[a]);this.c.lc();}
-function tub(){}
-_=tub.prototype=new uT();_.yc=wub;_.tN=Bfc+'RuleModeller$15';_.tI=337;function yub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Aub(b){var a;a=efb(new Beb(),'Remove this entire condition?',Cub(new Bub(),this,this.c,this.b));lE(a,lN(b),mN(b));oE(a);}
-function xub(){}
-_=xub.prototype=new uT();_.zc=Aub;_.tN=Bfc+'RuleModeller$16';_.tI=338;function Cub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Eub(){if(skb(this.c,this.b)){owb(this.a.a);}else{gbb("Can't remove that item as it is used in the action part of the rule.");}}
-function Bub(){}
-_=Bub.prototype=new uT();_.pb=Eub;_.tN=Bfc+'RuleModeller$17';_.tI=339;function dvb(b,a){b.a=a;return b;}
-function fvb(a){rwb(this.a,a);}
-function cvb(){}
-_=cvb.prototype=new uT();_.zc=fvb;_.tN=Bfc+'RuleModeller$2';_.tI=340;function hvb(b,a){b.a=a;return b;}
-function jvb(a){swb(this.a,a);}
-function gvb(){}
-_=gvb.prototype=new uT();_.zc=jvb;_.tN=Bfc+'RuleModeller$3';_.tI=341;function lvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nvb(a){hkb(this.a.c,Djb(new Cjb(),vC(this.b,wC(this.b)),''));owb(this.a);this.c.lc();}
-function kvb(){}
-_=kvb.prototype=new uT();_.yc=nvb;_.tN=Bfc+'RuleModeller$4';_.tI=342;function pvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rvb(b){var a;a=efb(new Beb(),'Remove this item?',tvb(new svb(),this,this.c,this.b));lE(a,lN(b),mN(b));oE(a);}
-function ovb(){}
-_=ovb.prototype=new uT();_.zc=rvb;_.tN=Bfc+'RuleModeller$5';_.tI=343;function tvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function vvb(){tkb(this.c,this.b);owb(this.a.a);}
-function svb(){}
-_=svb.prototype=new uT();_.pb=vvb;_.tN=Bfc+'RuleModeller$6';_.tI=344;function xvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function zvb(b){var a;a=vC(this.b,wC(this.b));if(!nU(a,'IGNORE')){iwb(this.a,a);this.c.lc();}}
-function wvb(){}
-_=wvb.prototype=new uT();_.yc=zvb;_.tN=Bfc+'RuleModeller$7';_.tI=345;function Bvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Dvb(b){var a;a=xC(this.b,wC(this.b));if(!nU(a,'IGNORE')){fwb(this.a,a);this.c.lc();}}
-function Avb(){}
-_=Avb.prototype=new uT();_.yc=Dvb;_.tN=Bfc+'RuleModeller$8';_.tI=346;function Fvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function bwb(b){var a;a=BS(xC(this.b,wC(this.b)));gwb(this.a,this.a.a.b[a]);this.c.lc();}
-function Evb(){}
-_=Evb.prototype=new uT();_.yc=bwb;_.tN=Bfc+'RuleModeller$9';_.tI=347;function zwb(b,a,c){b.a=c;return b;}
-function Bwb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
-function ywb(){}
-_=ywb.prototype=new uT();_.zc=Bwb;_.tN=Cfc+'AssetAttachmentFileWidget$1';_.tI=348;function Dwb(b,a){b.a=a;return b;}
-function Fwb(a){lxb(this.a);mxb(this.a);}
-function Cwb(){}
-_=Cwb.prototype=new uT();_.zc=Fwb;_.tN=Cfc+'AssetAttachmentFileWidget$2';_.tI=349;function bxb(b,a){b.a=a;return b;}
-function exb(a){}
-function dxb(a){bdb();if(pU(a.a,'OK')>(-1)){u$b(this.a.e);}else{gbb('Unable to upload the file.');}}
-function axb(){}
-_=axb.prototype=new uT();_.od=exb;_.nd=dxb;_.tN=Cfc+'AssetAttachmentFileWidget$3';_.tI=350;function yxb(){yxb=s2;dcb();}
-function wxb(c){var a,b;yxb();acb(c,'images/new_wiz.gif','Create a new fact template');c.a=lt(new ft());c.b=zK(new kK());bcb(c,'Name:',c.b);bcb(c,'Fact attributes:',c.a);a=eB(new oA(),'images/new_item.gif');fB(a,pxb(new oxb(),c));bcb(c,'Add a new attribute',a);b=qp(new kp(),'Create');b.x(txb(new sxb(),c));bcb(c,'',b);return c;}
-function xxb(b){var a;a=pt(b.a);b.a.ze(a,0,zK(new kK()));b.a.ze(a,1,Bxb(b));}
-function zxb(d){var a,b,c,e,f;b='template '+rK(d.b)+'\n';for(a=0;a<pt(d.a);a++){e=Fb(ky(d.a,a,1),85);f=vC(e,wC(e));c=rK(Fb(ky(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
-function Axb(b,a){b.c=a;}
-function Bxb(b){var a;a=mC(new eC());pC(a,'String');pC(a,'Integer');pC(a,'Float');pC(a,'Date');pC(a,'Boolean');return a;}
-function nxb(){}
-_=nxb.prototype=new Bbb();_.tN=Cfc+'FactTemplateWizard';_.tI=351;_.a=null;_.b=null;_.c=null;function pxb(b,a){b.a=a;return b;}
-function rxb(a){xxb(this.a);}
-function oxb(){}
-_=oxb.prototype=new uT();_.zc=rxb;_.tN=Cfc+'FactTemplateWizard$1';_.tI=352;function txb(b,a){b.a=a;return b;}
-function vxb(a){yCb(this.a.c);this.a.lc();}
-function sxb(){}
-_=sxb.prototype=new uT();_.zc=vxb;_.tN=Cfc+'FactTemplateWizard$2';_.tI=353;function Dxb(b,a,c){fxb(b,a,c);return b;}
-function Fxb(){return 'images/model_large.png';}
-function ayb(){return 'editable-Surface';}
-function Cxb(){}
-_=Cxb.prototype=new xwb();_.vb=Fxb;_.Eb=ayb;_.tN=Cfc+'ModelAttachmentFileWidget';_.tI=354;function Fyb(){Fyb=s2;dcb();}
-function Dyb(a){a.b=qbb(new obb());a.d=qbb(new obb());}
-function Eyb(f,b){var a,c,d,e;Fyb();acb(f,'images/new_wiz.gif','Create a new package');Dyb(f);f.c=zK(new kK());f.a=eK(new dK());vbb(f.d,ez(new hw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));sbb(f.d,'Name:',f.c);sbb(f.d,'Description:',f.a);f.c.te('The name of the package. Avoid spaces, use underscore instead.');e=EF(new CF(),'action','Create new pa!
 ckage');d=EF(new CF(),'action','Import from drl file');gq(e,true);f.d.ye(true);e.x(dyb(new cyb(),f));f.b.ye(false);d.x(hyb(new gyb(),f));a=cp(new bp());dp(a,e);dp(a,d);ccb(f,a);ccb(f,f.d);ccb(f,f.b);sbb(f.b,'DRL file to import:',bzb(b,f));c=qp(new kp(),'Create package');c.x(lyb(new kyb(),f,b));sbb(f.d,'',c);uN(f,'ks-popups-Popup');return f;}
-function azb(d,b,a,c){fdb('Creating package - please wait...');nTb(BLb(),b,a,qyb(new pyb(),d,c));}
-function bzb(a,d){Fyb();var b,c,e,f;f=Cu(new xu());cv(f,v()+'package');dv(f,'multipart/form-data');ev(f,'post');c=Fz(new Dz());f.Ae(c);e=at(new Fs());dt(e,'classicDRLFile');aA(c,e);aA(c,CB(new AB(),'upload:'));b=mcb(new kcb(),'images/upload.gif','Import');fB(b,vyb(new uyb(),f));aA(c,b);Du(f,zyb(new yyb(),a,d,e));return f;}
-function byb(){}
-_=byb.prototype=new Bbb();_.tN=Cfc+'NewPackageWizard';_.tI=355;_.a=null;_.c=null;function dyb(b,a){b.a=a;return b;}
-function fyb(a){this.a.d.ye(true);this.a.b.ye(false);}
-function cyb(){}
-_=cyb.prototype=new uT();_.zc=fyb;_.tN=Cfc+'NewPackageWizard$1';_.tI=356;function hyb(b,a){b.a=a;return b;}
-function jyb(a){this.a.d.ye(false);this.a.b.ye(true);}
-function gyb(){}
-_=gyb.prototype=new uT();_.zc=jyb;_.tN=Cfc+'NewPackageWizard$2';_.tI=357;function lyb(b,a,c){b.a=a;b.b=c;return b;}
-function nyb(b,a){return sU(a,'[a-zA-Z\\.]*');}
-function oyb(a){if(nyb(this,rK(this.a.c))){azb(this.a,rK(this.a.c),rK(this.a.a),this.b);this.a.lc();}else{vK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
-function kyb(){}
-_=kyb.prototype=new uT();_.zc=oyb;_.tN=Cfc+'NewPackageWizard$3';_.tI=358;function qyb(b,a,c){b.a=c;return b;}
-function syb(b,a){bdb();bFb(b.a);}
-function tyb(a){syb(this,a);}
-function pyb(){}
-_=pyb.prototype=new ecb();_.pd=tyb;_.tN=Cfc+'NewPackageWizard$4';_.tI=359;function vyb(a,b){a.a=b;return a;}
-function xyb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){fdb('Importing drl package, please wait, as this could take some time...');gv(this.a);}}
-function uyb(){}
-_=uyb.prototype=new uT();_.zc=xyb;_.tN=Cfc+'NewPackageWizard$5';_.tI=360;function zyb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
-function Cyb(a){if(rU(ct(this.c))==0){zh('You did not choose a drl file to import !');sv(a,true);}else if(!lU(ct(this.c),'.drl')){zh("You can only import '.drl' files.");sv(a,true);}}
-function Byb(a){if(pU(a.a,'OK')>(-1)){zh('Package was imported successfully. ');bFb(this.a);this.b.lc();}else{gbb('Unable to import into the package. ['+a.a+']');}bdb();}
-function yyb(){}
-_=yyb.prototype=new uT();_.od=Cyb;_.nd=Byb;_.tN=Cfc+'NewPackageWizard$6';_.tI=361;function CAb(h,e,f){var a,b,c,d,g;h.c=rbb(new obb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=AG(new sG());g=zK(new kK());a=qp(new kp(),'Build package');a.te('This will validate and compile all the assets in a package.');a.x(vzb(new dzb(),h,b,g));c=qp(new kp(),'Show package source');c.x(zzb(new yzb(),h,e));sbb(h.c,'View source for package',c);d=Fz(new Dz());aA(d,a);aA(d,ez(new hw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));aA(d,g);aA(d,tcb(new ocb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));sbb(h.c,'Build binary package:',d);vbb(h.c,ez(new hw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));vbb(h.c,b);uN(h.c,'package-Editor');h.c.Be('100%');gr(h,h.c);return h;}
-function EAb(d,a,c){var b;a.ab();b=Fz(new Dz());aA(b,CB(new AB(),'Validating and building package, please wait...'));aA(b,eB(new oA(),'images/red_anime.gif'));fdb('Please wait...');CG(a,b);fg(mAb(new lAb(),d,c,a));}
-function FAb(i,e,a){var b,c,d,f,g,h;a.ab();b=lt(new ft());uN(b,'build-Results');yy(b,0,1,'Format');yy(b,0,2,'Name');yy(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ze(f,0,eB(new oA(),'images/error.gif'));yy(b,f,1,d.a);yy(b,f,2,d.b);yy(b,f,3,d.c);if(!nU('package',d.a)){h=qp(new kp(),'Show');h.x(zAb(new yAb(),i,d));b.ze(f,4,h);}}b.Be('100%');g=oG(new mG(),b);qG(g,true);tN(g,'100%','25em');CG(a,g);}
-function aBb(g,i){var a,b,c,d,e,f,h;fdb('Loading existing snapshots...');c=acb(new Bbb(),'images/snapshot.png','Create a snapshot for deployment.');ccb(c,ez(new hw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=hO(new fO());bcb(c,'Choose or create snapshot name:',h);f=CX(new AX());d=zK(new kK());e='NEW: ';sTb(BLb(),g.a.j,fzb(new ezb(),g,f,h,d));a=zK(new kK());bcb(c,'Comment:',a);b=qp(new kp(),'Create new snapshot');bcb(c,'',b);b.x(nzb(new mzb(),g,f,d,a,c));c.Be('50%');lE(c,dc((cab()-gE(c))/2),100);oE(c);}
-function bBb(e,a){var b,c,d,f;a.ab();f=hO(new fO());iO(f,ez(new hw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=dBb(e.a);b=ez(new hw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");iO(f,b);d=qp(new kp(),'Create snapshot for deployment');d.x(vAb(new uAb(),e));iO(f,d);CG(a,f);}
-function cBb(b,a){fdb('Assembling package source...');fg(Dzb(new Czb(),b,a));}
-function dBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
-function eBb(b,c){var a,d;d=acb(new Bbb(),'images/view_source.gif','Viewing source for: '+c);a=eK(new dK());jK(a,30);a.Be('100%');iK(a,80);ccb(d,a);vK(a,b);a.ne(true);a.te('THIS IS READ ONLY - you may copy and paste, but not edit.');oK(a,gAb(new fAb(),a,b));bdb();lE(d,dc((cab()-gE(d))/2),100);oE(d);}
-function czb(){}
-_=czb.prototype=new er();_.tN=Cfc+'PackageBuilderWidget';_.tI=362;_.a=null;_.b=null;_.c=null;function vzb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function xzb(a){EAb(this.a,this.b,rK(this.c));}
-function dzb(){}
-_=dzb.prototype=new uT();_.zc=xzb;_.tN=Cfc+'PackageBuilderWidget$1';_.tI=363;function fzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
-function hzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=EF(new CF(),'snapshotNameGroup',f[c].b);EX(this.b,b);iO(this.c,b);}d=Fz(new Dz());e=EF(new CF(),'snapshotNameGroup','NEW: ');aA(d,e);this.a.ne(false);e.x(jzb(new izb(),this,this.a));aA(d,this.a);EX(this.b,e);iO(this.c,d);bdb();}
-function ezb(){}
-_=ezb.prototype=new ecb();_.pd=hzb;_.tN=Cfc+'PackageBuilderWidget$10';_.tI=364;function jzb(b,a,c){b.a=c;return b;}
-function lzb(a){this.a.ne(true);}
-function izb(){}
-_=izb.prototype=new uT();_.zc=lzb;_.tN=Cfc+'PackageBuilderWidget$11';_.tI=365;function nzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
-function pzb(d){var a,b,c;c=false;for(b=this.f.qc();b.kc();){a=Fb(b.sc(),87);if(fq(a)){this.a=eq(a);if(!nU(eq(a),'NEW: ')){c=true;}break;}}if(nU(this.a,'NEW: ')){this.a=rK(this.e);}if(nU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}mTb(BLb(),this.b.a.j,this.a,c,rK(this.c),rzb(new qzb(),this,this.d));}
-function mzb(){}
-_=mzb.prototype=new uT();_.zc=pzb;_.tN=Cfc+'PackageBuilderWidget$12';_.tI=366;_.a='';function rzb(b,a,c){b.a=a;b.b=c;return b;}
-function tzb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.lc();}
-function uzb(a){tzb(this,a);}
-function qzb(){}
-_=qzb.prototype=new ecb();_.pd=uzb;_.tN=Cfc+'PackageBuilderWidget$13';_.tI=367;function zzb(b,a,c){b.a=c;return b;}
-function Bzb(a){cBb(this.a.m,this.a.j);}
-function yzb(){}
-_=yzb.prototype=new uT();_.zc=Bzb;_.tN=Cfc+'PackageBuilderWidget$2';_.tI=368;function Dzb(a,c,b){a.b=c;a.a=b;return a;}
-function Fzb(){bTb(BLb(),this.b,bAb(new aAb(),this,this.a));}
-function Czb(){}
-_=Czb.prototype=new uT();_.pb=Fzb;_.tN=Cfc+'PackageBuilderWidget$3';_.tI=369;function bAb(b,a,c){b.a=c;return b;}
-function dAb(c,b){var a;a=Fb(b,1);eBb(a,c.a);}
-function eAb(a){dAb(this,a);}
-function aAb(){}
-_=aAb.prototype=new ecb();_.pd=eAb;_.tN=Cfc+'PackageBuilderWidget$4';_.tI=370;function gAb(a,b,c){a.a=b;a.b=c;return a;}
-function iAb(a,b,c){vK(this.a,this.b);}
-function jAb(a,b,c){vK(this.a,this.b);}
-function kAb(a,b,c){vK(this.a,this.b);}
-function fAb(){}
-_=fAb.prototype=new uT();_.cd=iAb;_.dd=jAb;_.ed=kAb;_.tN=Cfc+'PackageBuilderWidget$5';_.tI=371;function mAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function oAb(){cTb(BLb(),this.a.a.m,this.c,qAb(new pAb(),this,this.b));}
-function lAb(){}
-_=lAb.prototype=new uT();_.pb=oAb;_.tN=Cfc+'PackageBuilderWidget$6';_.tI=372;function qAb(b,a,c){b.a=a;b.b=c;return b;}
-function sAb(c,a){var b;bdb();if(a===null){bBb(c.a.a,c.b);}else{b=Fb(a,88);FAb(c.a.a,b,c.b);}}
-function tAb(a){sAb(this,a);}
-function pAb(){}
-_=pAb.prototype=new ecb();_.pd=tAb;_.tN=Cfc+'PackageBuilderWidget$7';_.tI=373;function vAb(b,a){b.a=a;return b;}
-function xAb(a){aBb(this.a,a);}
-function uAb(){}
-_=uAb.prototype=new uT();_.zc=xAb;_.tN=Cfc+'PackageBuilderWidget$8';_.tI=374;function zAb(b,a,c){b.a=a;b.b=c;return b;}
-function BAb(a){DHb(this.a.b,this.b.d);}
-function yAb(){}
-_=yAb.prototype=new uT();_.zc=BAb;_.tN=Cfc+'PackageBuilderWidget$9';_.tI=375;function cEb(e,b,c,a,d){qbb(e);e.b=b;e.c=c;e.a=a;e.e=d;uN(e,'package-Editor');e.Be('100%');iEb(e);return e;}
-function eEb(b){var a;a=eK(new dK());a.Be('100%');jK(a,8);vK(a,b.b.d);nK(a,FCb(new ECb(),b,a));iK(a,100);return gEb(b,a);}
-function fEb(b,a){fdb('Saving package configuration. Please wait ...');dUb(BLb(),b.b,rBb(new qBb(),b,a));}
-function gEb(d,a){var b,c;c=Fz(new Dz());aA(c,a);b=eB(new oA(),'images/max_min.gif');b.te('Increase view area');aA(c,b);fB(b,BCb(new ACb(),d,a));return c;}
-function hEb(g){var a,b,c,d,e,f,h;a=eK(new dK());a.Be('100%');jK(a,8);iK(a,100);vK(a,g.b.f);nK(a,EBb(new DBb(),g,a));f=Fz(new Dz());aA(f,a);h=hO(new fO());b=eB(new oA(),'images/max_min.gif');fB(b,cCb(new bCb(),g,a));b.te('Increase view area.');iO(h,b);e=eB(new oA(),'images/new_import.gif');fB(e,gCb(new fCb(),g,a));iO(h,e);e.te('Add a new Type/Class import to the package.');d=eB(new oA(),'images/new_global.gif');fB(d,kCb(new jCb(),g,a));d.te('Add a new global variable declaration.');iO(h,d);c=eB(new oA(),'images/fact_template.gif');fB(c,sCb(new rCb(),g,a));c.te('Add a new fact template.');f.Be('100%');aA(f,h);return f;}
-function iEb(c){var a,b;wbb(c);vbb(c,pEb(c));sbb(c,'Description:',eEb(c));sbb(c,'Header:',hEb(c));vbb(c,ez(new hw(),'<hr/>'));sbb(c,'Last modified:',CB(new AB(),pZ(c.b.i)));sbb(c,'Last contributor:',CB(new AB(),c.b.h));vbb(c,ez(new hw(),'<hr/>'));c.f=dz(new hw());b=Fz(new Dz());a=lcb(new kcb(),'images/edit.gif');a.te('Change status.');fB(a,nCb(new gBb(),c));aA(b,c.f);if(!c.b.g){aA(b,a);}lEb(c,c.b.l);sbb(c,'Status:',b);if(!c.b.g){vbb(c,kEb(c));}vbb(c,ez(new hw(),'<hr/>'));}
-function jEb(a){fdb('Refreshing package data...');xTb(BLb(),a.b.m,ABb(new zBb(),a));}
-function kEb(f){var a,b,c,d,e;c=Fz(new Dz());e=qp(new kp(),'Save and validate configuration');e.x(kDb(new jDb(),f));aA(c,e);a=qp(new kp(),'Archive');a.x(oDb(new nDb(),f));aA(c,a);b=qp(new kp(),'Copy');b.x(sDb(new rDb(),f));aA(c,b);d=qp(new kp(),'Rename');d.x(wDb(new vDb(),f));aA(c,d);return c;}
-function lEb(b,a){hz(b.f,'<b>'+a+'<\/b>');}
-function mEb(d){var a,b,c;c=acb(new Bbb(),'images/new_wiz.gif','Copy the package');ccb(c,ez(new hw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=zK(new kK());bcb(c,'New package name:',a);b=qp(new kp(),'OK');bcb(c,'',b);b.x(iBb(new hBb(),d,a,c));c.Be('40%');lE(c,dc(ai()/3),dc(Fh()/3));oE(c);}
-function nEb(d){var a,b,c;c=acb(new Bbb(),'images/new_wiz.gif','Rename the package');ccb(c,ez(new hw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=zK(new kK());bcb(c,'New package name:',a);b=qp(new kp(),'OK');bcb(c,'',b);b.x(ADb(new zDb(),d,a,c));c.Be('40%');lE(c,dc(ai()/3),dc(Fh()/3));oE(c);}
-function oEb(b,c){var a;a=ieb(new sdb(),b.b.m,true);leb(a,gDb(new fDb(),b,a));lE(a,lN(c),mN(c));oE(a);}
-function pEb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=eB(new oA(),'images/warning.gif');a=Fz(new Dz());aA(a,b);c=ez(new hw(),'<b>There were errors validating this package configuration.');aA(a,c);d=qp(new kp(),'View errors');d.x(cDb(new qCb(),e));aA(a,d);return a;}else{return AG(new sG());}}
-function fBb(){}
-_=fBb.prototype=new obb();_.tN=Cfc+'PackageEditor';_.tI=376;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function nCb(b,a){b.a=a;return b;}
-function pCb(a){oEb(this.a,a);}
-function gBb(){}
-_=gBb.prototype=new uT();_.zc=pCb;_.tN=Cfc+'PackageEditor$1';_.tI=377;function iBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kBb(a){jTb(BLb(),this.a.b.j,rK(this.b),mBb(new lBb(),this,this.c));}
-function hBb(){}
-_=hBb.prototype=new uT();_.zc=kBb;_.tN=Cfc+'PackageEditor$10';_.tI=378;function mBb(b,a,c){b.a=a;b.b=c;return b;}
-function oBb(b,a){FFb(b.a.a.e);zh('Package copied successfully.');b.b.lc();}
-function pBb(a){oBb(this,a);}
-function lBb(){}
-_=lBb.prototype=new ecb();_.pd=pBb;_.tN=Cfc+'PackageEditor$11';_.tI=379;function rBb(b,a,c){b.a=a;b.b=c;return b;}
-function tBb(b,a){fGb(b.a.a);b.a.d=Fb(a,89);jEb(b.a);fdb('Package configuration updated successfully, refreshing content cache...');tKb((pKb(),uKb),b.a.b.j,wBb(new vBb(),b,b.b));}
-function uBb(a){tBb(this,a);}
-function qBb(){}
-_=qBb.prototype=new ecb();_.pd=uBb;_.tN=Cfc+'PackageEditor$12';_.tI=380;function wBb(b,a,c){b.a=c;return b;}
-function yBb(){if(this.a!==null){FFb(this.a);}bdb();}
-function vBb(){}
-_=vBb.prototype=new uT();_.pb=yBb;_.tN=Cfc+'PackageEditor$13';_.tI=381;function ABb(b,a){b.a=a;return b;}
-function CBb(a){bdb();this.a.b=Fb(a,19);iEb(this.a);}
-function zBb(){}
-_=zBb.prototype=new ecb();_.pd=CBb;_.tN=Cfc+'PackageEditor$14';_.tI=382;function EBb(b,a,c){b.a=a;b.b=c;return b;}
-function aCb(a){this.a.b.f=rK(this.b);BFb(this.a.c);}
-function DBb(){}
-_=DBb.prototype=new uT();_.yc=aCb;_.tN=Cfc+'PackageEditor$16';_.tI=383;function cCb(b,a,c){b.a=c;return b;}
-function eCb(a){if(hK(this.a)!=32){jK(this.a,32);}else{jK(this.a,8);}}
-function bCb(){}
-_=bCb.prototype=new uT();_.zc=eCb;_.tN=Cfc+'PackageEditor$17';_.tI=384;function gCb(b,a,c){b.a=a;b.b=c;return b;}
-function iCb(a){vK(this.b,rK(this.b)+'\n'+'import <your class here>');this.a.b.f=rK(this.b);}
-function fCb(){}
-_=fCb.prototype=new uT();_.zc=iCb;_.tN=Cfc+'PackageEditor$18';_.tI=385;function kCb(b,a,c){b.a=a;b.b=c;return b;}
-function mCb(a){vK(this.b,rK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=rK(this.b);}
-function jCb(){}
-_=jCb.prototype=new uT();_.zc=mCb;_.tN=Cfc+'PackageEditor$19';_.tI=386;function cDb(b,a){b.a=a;return b;}
-function eDb(a){var b;b=neb(new meb(),this.a.d.a,this.a.d.b);lE(b,dc(ai()/4),mN(a));oE(b);}
-function qCb(){}
-_=qCb.prototype=new uT();_.zc=eDb;_.tN=Cfc+'PackageEditor$2';_.tI=387;function sCb(b,a,c){b.a=a;b.b=c;return b;}
-function uCb(a){var b;b=wxb(new nxb());lE(b,lN(a)-400,mN(a)-250);Axb(b,wCb(new vCb(),this,this.b,b));oE(b);}
-function rCb(){}
-_=rCb.prototype=new uT();_.zc=uCb;_.tN=Cfc+'PackageEditor$20';_.tI=388;function wCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function yCb(a){vK(a.b,rK(a.b)+'\n'+zxb(a.c));a.a.a.b.f=rK(a.b);}
-function zCb(){yCb(this);}
-function vCb(){}
-_=vCb.prototype=new uT();_.pb=zCb;_.tN=Cfc+'PackageEditor$21';_.tI=389;function BCb(b,a,c){b.a=c;return b;}
-function DCb(a){if(hK(this.a)!=32){jK(this.a,32);}else{jK(this.a,8);}}
-function ACb(){}
-_=ACb.prototype=new uT();_.zc=DCb;_.tN=Cfc+'PackageEditor$22';_.tI=390;function FCb(b,a,c){b.a=a;b.b=c;return b;}
-function bDb(a){this.a.b.d=rK(this.b);BFb(this.a.c);}
-function ECb(){}
-_=ECb.prototype=new uT();_.yc=bDb;_.tN=Cfc+'PackageEditor$23';_.tI=391;function gDb(b,a,c){b.a=a;b.b=c;return b;}
-function iDb(){lEb(this.a,this.b.c);}
-function fDb(){}
-_=fDb.prototype=new uT();_.pb=iDb;_.tN=Cfc+'PackageEditor$3';_.tI=392;function kDb(b,a){b.a=a;return b;}
-function mDb(a){fEb(this.a,null);}
-function jDb(){}
-_=jDb.prototype=new uT();_.zc=mDb;_.tN=Cfc+'PackageEditor$4';_.tI=393;function oDb(b,a){b.a=a;return b;}
-function qDb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;fEb(this.a,this.a.e);}}
-function nDb(){}
-_=nDb.prototype=new uT();_.zc=qDb;_.tN=Cfc+'PackageEditor$5';_.tI=394;function sDb(b,a){b.a=a;return b;}
-function uDb(a){mEb(this.a);}
-function rDb(){}
-_=rDb.prototype=new uT();_.zc=uDb;_.tN=Cfc+'PackageEditor$6';_.tI=395;function wDb(b,a){b.a=a;return b;}
-function yDb(a){nEb(this.a);}
-function vDb(){}
-_=vDb.prototype=new uT();_.zc=yDb;_.tN=Cfc+'PackageEditor$7';_.tI=396;function ADb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function CDb(a){bUb(BLb(),this.a.b.m,rK(this.b),EDb(new DDb(),this,this.c));}
-function zDb(){}
-_=zDb.prototype=new uT();_.zc=CDb;_.tN=Cfc+'PackageEditor$8';_.tI=397;function EDb(b,a,c){b.a=a;b.b=c;return b;}
-function aEb(b,a){FFb(b.a.a.e);zh('Package renamed successfully.');b.b.lc();}
-function bEb(a){aEb(this,a);}
-function DDb(){}
-_=DDb.prototype=new ecb();_.pd=bEb;_.tN=Cfc+'PackageEditor$9';_.tI=398;function nHb(a){a.f=DFb(new rEb(),a);}
-function oHb(b,a){pHb(b,a,null,null);return b;}
-function pHb(g,b,h,f){var a,c,d,e;nHb(g);g.b=b;g.h=h;g.c=jM(new CK());g.d=hab(new fab());g.g=new bGb();nM(g.c,g.g);e=hO(new fO());if(f===null){a=lt(new ft());Ew(a.n,0,0,'new-asset-Icons');Bw(a.n,0,0,(oz(),pz),(xz(),zz));a.ze(0,0,sHb(g));iO(e,a);a.Be('100%');}iO(e,g.c);kab(g.d,0,0,e);c=ot(g.d);Fw(c,0,0,(xz(),Az));kt(ot(g.d),0,1,2);Bw(ot(g.d),0,1,(oz(),pz),(xz(),Az));wHb(g);d=vM(g.c,0);if(d!==null)FM(g.c,d);kab(g.d,0,1,ez(new hw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));bx(ot(g.d),0,0,'25%');Bw(ot(g.d),0,1,(oz(),qz),(xz(),Az));g.e=ycc(new Cbc(),g.b,'rulelist');gr(g,g.d);return g;}
-function qHb(d,a,c){var b;b=vHb(d,a.j,'images/package.gif',lHb(new kHb(),eFb(new dFb(),d,a)));b.y(vHb(d,'Business rule assets','images/rule_asset.gif',xHb(d,a.m,(E$(),F$))));b.y(vHb(d,'Technical rule assets','images/technical_rule_assets.gif',xHb(d,a.m,(E$(),b_))));b.y(vHb(d,'Functions','images/function_assets.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['function']))));b.y(vHb(d,'DSL','images/dsl.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['dsl']))));b.y(vHb(d,'Model','images/model_asset.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['jar']))));lM(d.c,b);if(c){aN(d.c,b,true);}}
-function sHb(h){var a,b,c,d,e,f,g,i;g=Fz(new Dz());d=eB(new oA(),'images/new_package.gif');d.te('Create a new package');fB(d,pGb(new oGb(),h));i=lcb(new kcb(),'images/model_asset.gif');fB(i,tGb(new sGb(),h));i.te('This creates a new model archive - models contain classes/types that rules use.');e=lcb(new kcb(),'images/new_rule.gif');e.te('Create new rule');fB(e,xGb(new wGb(),h));c=lcb(new kcb(),'images/function_assets.gif');c.te('Create a new function');fB(c,FGb(new EGb(),h));a=lcb(new kcb(),'images/dsl.gif');a.te('Create a new DSL (language configuration)');fB(a,dHb(new cHb(),h));f=lcb(new kcb(),'images/ruleflow_small.gif');f.te('Upload a new ruleflow.');fB(f,hHb(new gHb(),h));b=lcb(new kcb(),'images/new_enumeration.gif');b.te('Create a new data enumeration (drop down list)');fB(b,tEb(new sEb(),h));aA(g,d);aA(g,i);aA(g,e);aA(g,c);aA(g,a);aA(g,f);aA(g,b);return g;}
-function tHb(d,a,e){var b,c,f;b=70;f=100;c=f7b(new v6b(),iGb(new hGb(),d),false,a,e,d.a);lE(c,dc((cab()-gE(c))/2),100);oE(c);}
-function uHb(a,b){fdb('Loading package information ...');xTb(BLb(),b,rFb(new qFb(),a));}
-function vHb(e,d,b,a){var c;c=oL(new mL());wL(c,'<img src="'+b+'">'+d+'<\/a>');CL(c,a);return c;}
-function wHb(a){if(a.h===null){fdb('Loading list of packages ...');rTb(BLb(),xEb(new wEb(),a));}else{fdb('Loading package ...');xTb(BLb(),a.h,BEb(new AEb(),a));}}
-function xHb(c,d,b){var a;a=iFb(new hFb(),c);return lHb(new kHb(),nFb(new mFb(),c,d,b,a));}
-function yHb(b,c){var a;a=Eyb(new byb(),FEb(new EEb(),b));lE(a,dc((cab()-gE(a))/2),100);oE(a);}
-function qEb(){}
-_=qEb.prototype=new E_();_.tN=Cfc+'PackageExplorerWidget';_.tI=399;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function DFb(b,a){b.a=a;return b;}
-function FFb(a){wHb(a.a);}
-function aGb(){FFb(this);}
-function rEb(){}
-_=rEb.prototype=new uT();_.pb=aGb;_.tN=Cfc+'PackageExplorerWidget$1';_.tI=400;function tEb(b,a){b.a=a;return b;}
-function vEb(a){tHb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
-function sEb(){}
-_=sEb.prototype=new uT();_.zc=vEb;_.tN=Cfc+'PackageExplorerWidget$10';_.tI=401;function xEb(b,a){b.a=a;return b;}
-function zEb(a){var b,c;c=Fb(a,71);oM(this.a.c);for(b=0;b<c.a;b++){if(b==0){qHb(this.a,c[b],true);}else{qHb(this.a,c[b],false);}}bdb();}
-function wEb(){}
-_=wEb.prototype=new ecb();_.pd=zEb;_.tN=Cfc+'PackageExplorerWidget$11';_.tI=402;function BEb(b,a){b.a=a;return b;}
-function DEb(a){var b;b=Fb(a,19);oM(this.a.c);qHb(this.a,b,true);bdb();}
-function AEb(){}
-_=AEb.prototype=new ecb();_.pd=DEb;_.tN=Cfc+'PackageExplorerWidget$12';_.tI=403;function FEb(b,a){b.a=a;return b;}
-function bFb(a){wHb(a.a);}
-function cFb(){bFb(this);}
-function EEb(){}
-_=EEb.prototype=new uT();_.pb=cFb;_.tN=Cfc+'PackageExplorerWidget$13';_.tI=404;function eFb(b,a,c){b.a=a;b.b=c;return b;}
-function gFb(){if(this.a.pc()){if(Bh('Discard Changes ? ')){bab(this.a);uHb(this.a,this.b.m);}}else{uHb(this.a,this.b.m);}}
-function dFb(){}
-_=dFb.prototype=new uT();_.pb=gFb;_.tN=Cfc+'PackageExplorerWidget$14';_.tI=405;function iFb(b,a){b.a=a;return b;}
-function kFb(c,a){var b;b=Fb(a,62);Dcc(c.a.e,b);c.a.e.Be('100%');kab(c.a.d,0,1,c.a.e);Bw(ot(c.a.d),0,1,(oz(),qz),(xz(),Az));bdb();}
-function lFb(a){kFb(this,a);}
-function hFb(){}
-_=hFb.prototype=new ecb();_.pd=lFb;_.tN=Cfc+'PackageExplorerWidget$15';_.tI=406;function nFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
-function pFb(){fdb('Loading list, please wait...');qTb(BLb(),this.c,this.b,(-1),(-1),this.a);}
-function mFb(){}
-_=mFb.prototype=new uT();_.pb=pFb;_.tN=Cfc+'PackageExplorerWidget$16';_.tI=407;function rFb(b,a){b.a=a;return b;}
-function tFb(c){var a,b,d,e,f,g,h,i;b=Fb(c,19);g=qH(new pH());this.a.a=b.j;e=rbb(new obb(),'images/package_large.png',b.j);uN(e,'package-Editor');e.Be('100%');sbb(e,'Description:',CB(new AB(),b.d));sbb(e,'Date created:',CB(new AB(),pZ(b.c)));if(b.g){sbb(e,'Snapshot created on:',CB(new AB(),pZ(b.i)));sbb(e,'Snapshot comment:',CB(new AB(),b.b));h=dBb(b);d=ez(new hw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");sbb(e,'Download package:',d);sbb(e,'Package URI:',CB(new AB(),h));i=qp(new kp(),'View package source');i.x(vFb(new uFb(),this,b));sbb(e,'Show package source:',i);}if(!b.g){vbb(e,ez(new hw(),'<i>Choose one of the options below<\/i>'));}f=zFb(new yFb(),this);a=dGb(new cGb(),this);sH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){sH(g,cEb(new fBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);sH(g,CAb(new czb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{sH(!
 g,cEb(new fBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.Be('100%');kab(this.a.d,0,1,g);bdb();}
-function qFb(){}
-_=qFb.prototype=new ecb();_.pd=tFb;_.tN=Cfc+'PackageExplorerWidget$17';_.tI=408;function vFb(b,a,c){b.a=c;return b;}
-function xFb(a){cBb(this.a.m,this.a.j);}
-function uFb(){}
-_=uFb.prototype=new uT();_.zc=xFb;_.tN=Cfc+'PackageExplorerWidget$18';_.tI=409;function zFb(b,a){b.a=a;return b;}
-function BFb(a){aab(a.a.a);}
-function CFb(){BFb(this);}
-function yFb(){}
-_=yFb.prototype=new uT();_.pb=CFb;_.tN=Cfc+'PackageExplorerWidget$19';_.tI=410;function mGb(c){var a,b;a=Fb(c.k,90);b=a.a;fdb('Please wait...');fg(b);}
-function nGb(a){}
-function bGb(){}
-_=bGb.prototype=new uT();_.rd=mGb;_.sd=nGb;_.tN=Cfc+'PackageExplorerWidget$2';_.tI=411;function dGb(b,a){b.a=a;return b;}
-function fGb(a){bab(a.a.a);}
-function gGb(){fGb(this);}
-function cGb(){}
-_=cGb.prototype=new uT();_.pb=gGb;_.tN=Cfc+'PackageExplorerWidget$20';_.tI=412;function iGb(b,a){b.a=a;return b;}
-function kGb(a){DHb(this.a.b,a);}
-function hGb(){}
-_=hGb.prototype=new uT();_.wd=kGb;_.tN=Cfc+'PackageExplorerWidget$21';_.tI=413;function pGb(b,a){b.a=a;return b;}
-function rGb(a){yHb(this.a,a);}
-function oGb(){}
-_=oGb.prototype=new uT();_.zc=rGb;_.tN=Cfc+'PackageExplorerWidget$3';_.tI=414;function tGb(b,a){b.a=a;return b;}
-function vGb(a){tHb(this.a,'jar','Create a new model archive');}
-function sGb(){}
-_=sGb.prototype=new uT();_.zc=vGb;_.tN=Cfc+'PackageExplorerWidget$4';_.tI=415;function xGb(b,a){b.a=a;return b;}
-function zGb(d){var a,b,c;a=70;c=100;b=f7b(new v6b(),BGb(new AGb(),this),true,null,'Create a new rule asset',this.a.a);lE(b,dc((cab()-gE(b))/2),100);oE(b);}
-function wGb(){}
-_=wGb.prototype=new uT();_.zc=zGb;_.tN=Cfc+'PackageExplorerWidget$5';_.tI=416;function BGb(b,a){b.a=a;return b;}
-function DGb(a){DHb(this.a.a.b,a);}
-function AGb(){}
-_=AGb.prototype=new uT();_.wd=DGb;_.tN=Cfc+'PackageExplorerWidget$6';_.tI=417;function FGb(b,a){b.a=a;return b;}
-function bHb(a){tHb(this.a,'function','Create a new function');}
-function EGb(){}
-_=EGb.prototype=new uT();_.zc=bHb;_.tN=Cfc+'PackageExplorerWidget$7';_.tI=418;function dHb(b,a){b.a=a;return b;}
-function fHb(a){tHb(this.a,'dsl','Create a new language configuration');}
-function cHb(){}
-_=cHb.prototype=new uT();_.zc=fHb;_.tN=Cfc+'PackageExplorerWidget$8';_.tI=419;function hHb(b,a){b.a=a;return b;}
-function jHb(a){tHb(this.a,'rf','Create a new ruleflow');}
-function gHb(){}
-_=gHb.prototype=new uT();_.zc=jHb;_.tN=Cfc+'PackageExplorerWidget$9';_.tI=420;function lHb(b,a){b.a=a;return b;}
-function kHb(){}
-_=kHb.prototype=new uT();_.tN=Cfc+'PackageExplorerWidget$PackageTreeItem';_.tI=421;_.a=null;function FHb(a){a.a=(CY(),DY);}
-function aIb(a){bIb(a,null,null);return a;}
-function bIb(e,c,d){var a,b;FHb(e);e.b=sJ(new eJ());e.b.Be('100%');e.b.qe('30%');a=BHb(new AHb(),e,d);b=null;if(c===null){b=oHb(new qEb(),a);}else{b=pHb(new qEb(),a,c,d);}tJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);zJ(e.b,0);gr(e,e.b);return e;}
-function dIb(b,a){b.a=a;}
-function zHb(){}
-_=zHb.prototype=new er();_.tN=Cfc+'PackageManagerView';_.tI=422;_.b=null;function BHb(b,a,c){b.a=a;b.b=c;return b;}
-function DHb(b,a){r4b(b.a.a,b.a.b,a,b.b!==null);}
-function EHb(a){DHb(this,a);}
-function AHb(){}
-_=AHb.prototype=new uT();_.wd=EHb;_.tN=Cfc+'PackageManagerView$1';_.tI=423;function CJb(b){var a,c;b.a=lt(new ft());b.c=sJ(new eJ());b.c.Be('100%');b.c.qe('100%');c=hO(new fO());iO(c,b.a);a=qp(new kp(),'Rebuild snapshot binaries');a.te('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new fIb());iO(c,a);tJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);bx(b.a.n,0,0,'28%');b.b=BLb();eKb(b);b.a.Be('100%');gr(b,b.c);zJ(b.c,0);return b;}
-function DJb(h,c){var a,b,d,e,f,g;g=jM(new CK());d=hO(new fO());for(a=0;a<c.a;a++){e=c[a].j;b=cKb(h,e,'images/package_snapshot.gif',fJb(new eJb(),h,e));lM(g,b);}iO(d,g);f=ez(new hw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");DB(f,jJb(new iJb(),h));nM(g,new mJb());mO(d,(xz(),Az));lO(d,(oz(),qz));iO(d,f);uN(d,'snapshot-List');h.a.ze(0,0,d);Fw(h.a.n,0,0,(xz(),Az));}
-function FJb(g,e,f){var a,b,c,d;c=acb(new Bbb(),'images/snapshot.png','Copy snapshot '+f);a=zK(new kK());bcb(c,'New label:',a);d=qp(new kp(),'OK');bcb(c,'',d);d.x(vJb(new uJb(),g,e,f,a,c));b=qp(new kp(),'Copy');b.x(hIb(new gIb(),g,c));return b;}
-function aKb(d,c,b){var a;a=qp(new kp(),'Delete');a.x(pIb(new oIb(),d,c,b));return a;}
-function bKb(d,b,c,e){var a;a=qp(new kp(),'Open');a.x(lIb(new kIb(),d,b,c,e));return a;}
-function cKb(e,d,b,a){var c;c=oL(new mL());wL(c,'<img src="'+b+'">'+d+'<\/a>');CL(c,a);return c;}
-function dKb(g,e,f,h){var a,b,c,d,i;i=lt(new ft());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=Fz(new Dz());aA(c,ez(new hw(),d));a=lcb(new kcb(),'images/close.gif');a.te('Close this view');fB(a,xIb(new wIb(),g));aA(c,a);i.ze(0,0,c);b=ot(i);Ew(b,0,0,'editable-Surface');i.ze(1,0,bIb(new zHb(),h,f));i.Be('100%');i.qe('100%');if(g.c.a.f.c>1){yJ(g.c,1);}tJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);zJ(g.c,1);}
-function eKb(a){fdb('Loading package list...');rTb(a.b,bJb(new aJb(),a));}
-function fKb(h,d,b){var a,c,e,f,g;e=rbb(new obb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=lt(new ft());yy(g,0,1,'Name');yy(g,0,2,'Comment');lx(g.p,0,ffc);for(a=0;a<b.a;a++){f=a+1;c=CB(new AB(),b[a].b);g.ze(f,0,eB(new oA(),'images/package_snapshot_item.gif'));g.ze(f,1,c);g.ze(f,2,CB(new AB(),b[a].a));g.ze(f,3,bKb(h,d,aC(c),b[a].c));g.ze(f,4,FJb(h,d,aC(c)));g.ze(f,5,aKb(h,aC(c),d));if(a%2==0){lx(g.p,a+1,dfc);}}e.Be('100%');vbb(e,g);g.Be('100%');uN(e,efc);h.a.ze(0,1,e);Fw(ot(h.a),0,1,(xz(),Az));}
-function gKb(b,a){fdb('Loading snapshots...');sTb(b.b,a,rJb(new qJb(),b,a));}
-function eIb(){}
-_=eIb.prototype=new er();_.tN=Cfc+'PackageSnapshotView';_.tI=424;_.a=null;_.b=null;_.c=null;function BIb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){fdb('Rebuilding snapshots. Please wait, this may take some time...');DTb(BLb(),new CIb());}}
-function fIb(){}
-_=fIb.prototype=new uT();_.zc=BIb;_.tN=Cfc+'PackageSnapshotView$1';_.tI=425;function hIb(b,a,c){b.a=c;return b;}
-function jIb(a){lE(this.a,dc((cab()-gE(this.a))/2),100);oE(this.a);}
-function gIb(){}
-_=gIb.prototype=new uT();_.zc=jIb;_.tN=Cfc+'PackageSnapshotView$10';_.tI=426;function lIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
-function nIb(a){dKb(this.a,this.b,this.c,this.d);}
-function kIb(){}
-_=kIb.prototype=new uT();_.zc=nIb;_.tN=Cfc+'PackageSnapshotView$11';_.tI=427;function pIb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rIb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{iTb(this.a.b,this.b,this.c,true,null,tIb(new sIb(),this,this.b));}}
-function oIb(){}
-_=oIb.prototype=new uT();_.zc=rIb;_.tN=Cfc+'PackageSnapshotView$12';_.tI=428;function tIb(b,a,c){b.a=a;b.b=c;return b;}
-function vIb(a){gKb(this.a.a,this.b);}
-function sIb(){}
-_=sIb.prototype=new ecb();_.pd=vIb;_.tN=Cfc+'PackageSnapshotView$13';_.tI=429;function xIb(b,a){b.a=a;return b;}
-function zIb(a){yJ(this.a.c,1);zJ(this.a.c,0);}
-function wIb(){}
-_=wIb.prototype=new uT();_.zc=zIb;_.tN=Cfc+'PackageSnapshotView$14';_.tI=430;function EIb(b,a){bdb();zh('Snapshots were rebuilt successfully.');}
-function FIb(a){EIb(this,a);}
-function CIb(){}
-_=CIb.prototype=new ecb();_.pd=FIb;_.tN=Cfc+'PackageSnapshotView$2';_.tI=431;function bJb(b,a){b.a=a;return b;}
-function dJb(a){var b;b=Fb(a,71);DJb(this.a,b);bdb();}
-function aJb(){}
-_=aJb.prototype=new ecb();_.pd=dJb;_.tN=Cfc+'PackageSnapshotView$3';_.tI=432;function fJb(b,a,c){b.a=a;b.b=c;return b;}
-function hJb(){gKb(this.a,this.b);}
-function eJb(){}
-_=eJb.prototype=new uT();_.pb=hJb;_.tN=Cfc+'PackageSnapshotView$4';_.tI=433;function jJb(b,a){b.a=a;return b;}
-function lJb(a){eKb(this.a);}
-function iJb(){}
-_=iJb.prototype=new uT();_.zc=lJb;_.tN=Cfc+'PackageSnapshotView$5';_.tI=434;function oJb(a){fg(Fb(a.k,4));}
-function pJb(a){}
-function mJb(){}
-_=mJb.prototype=new uT();_.rd=oJb;_.sd=pJb;_.tN=Cfc+'PackageSnapshotView$6';_.tI=435;function rJb(b,a,c){b.a=a;b.b=c;return b;}
-function tJb(a){var b;b=Fb(a,86);fKb(this.a,this.b,b);bdb();}
-function qJb(){}
-_=qJb.prototype=new ecb();_.pd=tJb;_.tN=Cfc+'PackageSnapshotView$7';_.tI=436;function vJb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
-function xJb(a){iTb(this.a.b,this.d,this.e,false,rK(this.b),zJb(new yJb(),this,this.d,this.c));}
-function uJb(){}
-_=uJb.prototype=new uT();_.zc=xJb;_.tN=Cfc+'PackageSnapshotView$8';_.tI=437;function zJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function BJb(a){gKb(this.a.a,this.c);this.b.lc();}
-function yJb(){}
-_=yJb.prototype=new ecb();_.pd=BJb;_.tN=Cfc+'PackageSnapshotView$9';_.tI=438;function pKb(){pKb=s2;uKb=oKb(new hKb());}
-function nKb(a){a.a=z0(new DZ());}
-function oKb(a){pKb();nKb(a);return a;}
-function qKb(c,b,a){if(!C0(c.a,b)){sKb(c,b,a);}else{e4b(a);}}
-function rKb(c,b){var a;a=Fb(F0(c.a,b),91);if(a===null){gbb('Unable to get content assistance for this rule.');return null;}return a;}
-function sKb(c,b,a){hV(),kV;ATb(BLb(),b,jKb(new iKb(),c,b,a));}
-function tKb(c,b,a){if(C0(c.a,b)){b1(c.a,b);sKb(c,b,a);}else{a.pb();}}
-function hKb(){}
-_=hKb.prototype=new uT();_.tN=Cfc+'SuggestionCompletionCache';_.tI=439;var uKb;function jKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function lKb(c,a){var b;b=Fb(a,91);a1(c.a.a,c.c,b);c.b.pb();}
-function mKb(a){lKb(this,a);}
-function iKb(){}
-_=iKb.prototype=new ecb();_.pd=mKb;_.tN=Cfc+'SuggestionCompletionCache$1';_.tI=440;function BKb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
-function vKb(){}
-_=vKb.prototype=new uT();_.tS=BKb;_.tN=Dfc+'BuilderResult';_.tI=441;_.a=null;_.b=null;_.c=null;_.d=null;function zKb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();}
-function AKb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);}
-function CKb(){}
-_=CKb.prototype=new fl();_.tN=Dfc+'DetailedSerializableException';_.tI=442;_.a=null;function aLb(b,a){dLb(a,b.Ed());jl(b,a);}
-function bLb(a){return a.a;}
-function cLb(b,a){b.gf(bLb(a));ll(b,a);}
-function dLb(a,b){a.a=b;}
-function fLb(a){a.a=yb('[Ljava.lang.String;',[605],[1],[0],null);}
-function gLb(a){fLb(a);return a;}
-function hLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(nU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[605],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function jLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[605],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function eLb(){}
-_=eLb.prototype=new uT();_.tN=Dfc+'MetaData';_.tI=443;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function mLb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Ed();a.c=b.Ed();a.d=Fb(b.Dd(),59);a.e=b.Ed();a.f=Fb(b.Dd(),59);a.g=Fb(b.Dd(),59);a.h=b.Ed();a.i=b.Ed();a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=Fb(b.Dd(),59);a.n=b.Ed();a.o=b.Ed();a.p=b.Ed();a.q=b.Ed();a.r=b.Ed();a.s=b.Ed();a.t=b.Ed();a.u=b.Ed();a.v=b.Cd();}
-function nLb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.ff(a.d);b.gf(a.e);b.ff(a.f);b.ff(a.g);b.gf(a.h);b.gf(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.ff(a.m);b.gf(a.n);b.gf(a.o);b.gf(a.p);b.gf(a.q);b.gf(a.r);b.gf(a.s);b.gf(a.t);b.gf(a.u);b.ef(a.v);}
-function oLb(){}
-_=oLb.prototype=new uT();_.tN=Dfc+'PackageConfigData';_.tI=444;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function sLb(b,a){a.a=b.zd();a.b=b.Ed();a.c=Fb(b.Dd(),59);a.d=b.Ed();a.e=b.Ed();a.f=b.Ed();a.g=b.zd();a.h=b.Ed();a.i=Fb(b.Dd(),59);a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=b.Ed();}
-function tLb(b,a){b.bf(a.a);b.gf(a.b);b.ff(a.c);b.gf(a.d);b.gf(a.e);b.gf(a.f);b.bf(a.g);b.gf(a.h);b.ff(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.gf(a.m);}
-function zLb(){var a,b,c;c=yRb(new ELb());a=c;b=v()+'jbrmsService';eUb(a,b);return c;}
-function ALb(){var a,b,c;c=gXb(new BWb());a=c;b=v()+'jbrmsService';mXb(a,b);return c;}
-function BLb(){if(yLb===null){CLb();}return yLb;}
-function CLb(){if(xLb)yLb=null;else yLb=zLb();}
-function DLb(d,b,a){var c;c=ALb();lXb(c,d,b,a);}
-var xLb=false,yLb=null;function gTb(){gTb=s2;fUb=hUb(new gUb());}
-function yRb(a){gTb();return a;}
-function zRb(b,a,c,d){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'archiveAsset');ln(a,2);nn(a,'java.lang.String');nn(a,'Z');nn(a,c);kn(a,d);}
-function BRb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildAsset');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
-function ARb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildAssetSource');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
-function DRb(d,c,a,b){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'buildPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,a);nn(c,b);}
-function CRb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildPackageSource');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function ERb(d,c,e,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'changeAssetPackage');ln(c,3);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,e);nn(c,b);nn(c,a);}
-function FRb(c,b,d,a,e){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'changeState');ln(b,3);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,'Z');nn(b,d);nn(b,a);kn(b,e);}
-function aSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'checkinVersion');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
-function bSb(e,d,a,c,b){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'copyAsset');ln(d,3);nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,a);nn(d,c);nn(d,b);}
-function cSb(f,e,c,d,a,b){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'copyOrRemoveSnapshot');ln(e,4);nn(e,'java.lang.String');nn(e,'java.lang.String');nn(e,'Z');nn(e,'java.lang.String');nn(e,c);nn(e,d);kn(e,a);nn(e,b);}
-function dSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'copyPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
-function eSb(e,d,c,b,a){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'createCategory');ln(d,3);nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,c);nn(d,b);nn(d,a);}
-function fSb(g,f,e,a,c,d,b){if(g.a===null)throw ul(new tl());ro(f);nn(f,'org.drools.brms.client.rpc.RepositoryService');nn(f,'createNewRule');ln(f,5);nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,e);nn(f,a);nn(f,c);nn(f,d);nn(f,b);}
-function hSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'createPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
-function gSb(f,e,b,d,c,a){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'createPackageSnapshot');ln(e,4);nn(e,'java.lang.String');nn(e,'java.lang.String');nn(e,'Z');nn(e,'java.lang.String');nn(e,b);nn(e,d);kn(e,c);nn(e,a);}
-function iSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'createState');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function jSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'deleteUncheckedRule');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
-function kSb(f,e,c,a,b,d){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'listAssets');ln(e,4);nn(e,'java.lang.String');nn(e,'[Ljava.lang.String;');nn(e,'I');nn(e,'I');nn(e,c);mn(e,a);ln(e,b);ln(e,d);}
-function lSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'listPackages');ln(a,0);}
-function mSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'listSnapshots');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function nSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'listStates');ln(a,0);}
-function oSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadArchivedAssets');ln(a,0);}
-function pSb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadAssetHistory');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
-function qSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadChildCategories');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function rSb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadPackageConfig');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
-function sSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadRuleAsset');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function tSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadRuleListForCategories');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function uSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadSuggestionCompletionEngine');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function vSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadTableConfig');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function wSb(e,d,c,a,b){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'quickFindAsset');ln(d,3);nn(d,'java.lang.String');nn(d,'I');nn(d,'Z');nn(d,c);ln(d,a);kn(d,b);}
-function xSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'rebuildSnapshots');ln(a,0);}
-function ySb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'removeAsset');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
-function zSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'removeCategory');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function ASb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'renameAsset');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
-function BSb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'renamePackage');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
-function CSb(d,c,e,a,b){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'restoreVersion');ln(c,3);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,e);nn(c,a);nn(c,b);}
-function DSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'savePackage');ln(b,1);nn(b,'org.drools.brms.client.rpc.PackageConfigData');mn(b,a);}
-function ESb(h,i,j,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zRb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=nNb(new FLb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BRb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=ePb(new rNb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FSb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ARb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=BQb(new iPb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cTb(j,f,g,c){var a,d,e,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DRb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=aRb(new FQb(),j,h,c);if(!wg(j.a,uo(i),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CRb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=fRb(new eRb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dTb(j,k,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ERb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=kRb(new jRb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eTb(i,j,f,k,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FRb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=pRb(new oRb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=uRb(new tRb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hTb(k,c,h,g,d){var a,e,f,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=bMb(new aMb(),k,i,d);if(!wg(k.a,uo(j),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function iTb(l,h,i,d,g,c){var a,e,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=gMb(new fMb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function jTb(j,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=lMb(new kMb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function kTb(k,h,g,d,c){var a,e,f,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=qMb(new pMb(),k,i,c);if(!wg(k.a,uo(j),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=zn(new yn(),fUb);l=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}g=vMb(new uMb(),m,k,c);if(!wg(m.a,uo(l),g))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function nTb(j,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=AMb(new zMb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mTb(l,g,i,h,d,c){var a,e,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=FMb(new EMb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=eNb(new dNb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pTb(j,g,f,c){var a,d,e,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=jNb(new iNb(),j,h,c);if(!wg(j.a,uo(i),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qTb(l,h,e,g,i,c){var a,d,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}f=tNb(new sNb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=yNb(new xNb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=DNb(new CNb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=cOb(new bOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=hOb(new gOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vTb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=mOb(new lOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=rOb(new qOb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function xTb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=wOb(new vOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function yTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=BOb(new AOb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function zTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=aPb(new FOb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ATb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=kPb(new jPb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function BTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=pPb(new oPb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CTb(k,h,f,g,c){var a,d,e,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=uPb(new tPb(),k,i,c);if(!wg(k.a,uo(j),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=zPb(new yPb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ETb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=EPb(new DPb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=dQb(new cQb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aUb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=iQb(new hQb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bUb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=nQb(new mQb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cUb(j,k,c,e,d){var a,f,g,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;gcb(d,f);return;}else throw a;}g=sQb(new rQb(),j,h,d);if(!wg(j.a,uo(i),g))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dUb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=xQb(new wQb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eUb(b,a){b.a=a;}
-function ELb(){}
-_=ELb.prototype=new uT();_.tN=Dfc+'RepositoryService_Proxy';_.tI=445;_.a=null;var fUb;function nNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u6(g.a,f);else gcb(g.a,c);}
-function qNb(a){var b;b=x;pNb(this,a);}
-function FLb(){}
-_=FLb.prototype=new uT();_.Ac=qNb;_.tN=Dfc+'RepositoryService_Proxy$1';_.tI=446;function bMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)m0b(g.a,f);else gcb(g.a,c);}
-function eMb(a){var b;b=x;dMb(this,a);}
-function aMb(){}
-_=aMb.prototype=new uT();_.Ac=eMb;_.tN=Dfc+'RepositoryService_Proxy$10';_.tI=447;function gMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function jMb(a){var b;b=x;iMb(this,a);}
-function fMb(){}
-_=fMb.prototype=new uT();_.Ac=jMb;_.tN=Dfc+'RepositoryService_Proxy$11';_.tI=448;function lMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)oBb(g.a,f);else gcb(g.a,c);}
-function oMb(a){var b;b=x;nMb(this,a);}
-function kMb(){}
-_=kMb.prototype=new uT();_.Ac=oMb;_.tN=Dfc+'RepositoryService_Proxy$12';_.tI=449;function qMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)z9(g.a,f);else gcb(g.a,c);}
-function tMb(a){var b;b=x;sMb(this,a);}
-function pMb(){}
-_=pMb.prototype=new uT();_.Ac=tMb;_.tN=Dfc+'RepositoryService_Proxy$13';_.tI=450;function vMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)b7b(g.a,f);else gcb(g.a,c);}
-function yMb(a){var b;b=x;xMb(this,a);}
-function uMb(){}
-_=uMb.prototype=new uT();_.Ac=yMb;_.tN=Dfc+'RepositoryService_Proxy$14';_.tI=451;function AMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function CMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)syb(g.a,f);else gcb(g.a,c);}
-function DMb(a){var b;b=x;CMb(this,a);}
-function zMb(){}
-_=zMb.prototype=new uT();_.Ac=DMb;_.tN=Dfc+'RepositoryService_Proxy$15';_.tI=452;function FMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function bNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)tzb(g.a,f);else gcb(g.a,c);}
-function cNb(a){var b;b=x;bNb(this,a);}
-function EMb(){}
-_=EMb.prototype=new uT();_.Ac=cNb;_.tN=Dfc+'RepositoryService_Proxy$16';_.tI=453;function eNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g9(g.a,f);else gcb(g.a,c);}
-function hNb(a){var b;b=x;gNb(this,a);}
-function dNb(){}
-_=dNb.prototype=new uT();_.Ac=hNb;_.tN=Dfc+'RepositoryService_Proxy$17';_.tI=454;function jNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function lNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c$b(g.a,f);else gcb(g.a,c);}
-function mNb(a){var b;b=x;lNb(this,a);}
-function iNb(){}
-_=iNb.prototype=new uT();_.Ac=mNb;_.tN=Dfc+'RepositoryService_Proxy$18';_.tI=455;function ePb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f8b(g.a,f);else gcb(g.a,c);}
-function hPb(a){var b;b=x;gPb(this,a);}
-function rNb(){}
-_=rNb.prototype=new uT();_.Ac=hPb;_.tN=Dfc+'RepositoryService_Proxy$2';_.tI=456;function tNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)kFb(g.a,f);else gcb(g.a,c);}
-function wNb(a){var b;b=x;vNb(this,a);}
-function sNb(){}
-_=sNb.prototype=new uT();_.Ac=wNb;_.tN=Dfc+'RepositoryService_Proxy$20';_.tI=457;function yNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function ANb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function BNb(a){var b;b=x;ANb(this,a);}
-function xNb(){}
-_=xNb.prototype=new uT();_.Ac=BNb;_.tN=Dfc+'RepositoryService_Proxy$21';_.tI=458;function DNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function aOb(a){var b;b=x;FNb(this,a);}
-function CNb(){}
-_=CNb.prototype=new uT();_.Ac=aOb;_.tN=Dfc+'RepositoryService_Proxy$22';_.tI=459;function cOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function eOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function fOb(a){var b;b=x;eOb(this,a);}
-function bOb(){}
-_=bOb.prototype=new uT();_.Ac=fOb;_.tN=Dfc+'RepositoryService_Proxy$23';_.tI=460;function hOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c7(g.a,f);else gcb(g.a,c);}
-function kOb(a){var b;b=x;jOb(this,a);}
-function gOb(){}
-_=gOb.prototype=new uT();_.Ac=kOb;_.tN=Dfc+'RepositoryService_Proxy$24';_.tI=461;function mOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)d_b(g.a,f);else gcb(g.a,c);}
-function pOb(a){var b;b=x;oOb(this,a);}
-function lOb(){}
-_=lOb.prototype=new uT();_.Ac=pOb;_.tN=Dfc+'RepositoryService_Proxy$25';_.tI=462;function rOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function tOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function uOb(a){var b;b=x;tOb(this,a);}
-function qOb(){}
-_=qOb.prototype=new uT();_.Ac=uOb;_.tN=Dfc+'RepositoryService_Proxy$26';_.tI=463;function wOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function zOb(a){var b;b=x;yOb(this,a);}
-function vOb(){}
-_=vOb.prototype=new uT();_.Ac=zOb;_.tN=Dfc+'RepositoryService_Proxy$27';_.tI=464;function BOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function EOb(a){var b;b=x;DOb(this,a);}
-function AOb(){}
-_=AOb.prototype=new uT();_.Ac=EOb;_.tN=Dfc+'RepositoryService_Proxy$28';_.tI=465;function aPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)obc(g.a,f);else gcb(g.a,c);}
-function dPb(a){var b;b=x;cPb(this,a);}
-function FOb(){}
-_=FOb.prototype=new uT();_.Ac=dPb;_.tN=Dfc+'RepositoryService_Proxy$29';_.tI=466;function BQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k8b(g.a,f);else gcb(g.a,c);}
-function EQb(a){var b;b=x;DQb(this,a);}
-function iPb(){}
-_=iPb.prototype=new uT();_.Ac=EQb;_.tN=Dfc+'RepositoryService_Proxy$3';_.tI=467;function kPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)lKb(g.a,f);else gcb(g.a,c);}
-function nPb(a){var b;b=x;mPb(this,a);}
-function jPb(){}
-_=jPb.prototype=new uT();_.Ac=nPb;_.tN=Dfc+'RepositoryService_Proxy$30';_.tI=468;function pPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)ecc(g.a,f);else gcb(g.a,c);}
-function sPb(a){var b;b=x;rPb(this,a);}
-function oPb(){}
-_=oPb.prototype=new uT();_.Ac=sPb;_.tN=Dfc+'RepositoryService_Proxy$31';_.tI=469;function uPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function xPb(a){var b;b=x;wPb(this,a);}
-function tPb(){}
-_=tPb.prototype=new uT();_.Ac=xPb;_.tN=Dfc+'RepositoryService_Proxy$32';_.tI=470;function zPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function BPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)EIb(g.a,f);else gcb(g.a,c);}
-function CPb(a){var b;b=x;BPb(this,a);}
-function yPb(){}
-_=yPb.prototype=new uT();_.Ac=CPb;_.tN=Dfc+'RepositoryService_Proxy$33';_.tI=471;function EPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D6(g.a,f);else gcb(g.a,c);}
-function bQb(a){var b;b=x;aQb(this,a);}
-function DPb(){}
-_=DPb.prototype=new uT();_.Ac=bQb;_.tN=Dfc+'RepositoryService_Proxy$34';_.tI=472;function dQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u8(g.a,f);else gcb(g.a,c);}
-function gQb(a){var b;b=x;fQb(this,a);}
-function cQb(){}
-_=cQb.prototype=new uT();_.Ac=gQb;_.tN=Dfc+'RepositoryService_Proxy$35';_.tI=473;function iQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function kQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c6b(g.a,f);else gcb(g.a,c);}
-function lQb(a){var b;b=x;kQb(this,a);}
-function hQb(){}
-_=hQb.prototype=new uT();_.Ac=lQb;_.tN=Dfc+'RepositoryService_Proxy$36';_.tI=474;function nQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)aEb(g.a,f);else gcb(g.a,c);}
-function qQb(a){var b;b=x;pQb(this,a);}
-function mQb(){}
-_=mQb.prototype=new uT();_.Ac=qQb;_.tN=Dfc+'RepositoryService_Proxy$37';_.tI=475;function sQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)mac(g.a,f);else gcb(g.a,c);}
-function vQb(a){var b;b=x;uQb(this,a);}
-function rQb(){}
-_=rQb.prototype=new uT();_.Ac=vQb;_.tN=Dfc+'RepositoryService_Proxy$38';_.tI=476;function xQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)tBb(g.a,f);else gcb(g.a,c);}
-function AQb(a){var b;b=x;zQb(this,a);}
-function wQb(){}
-_=wQb.prototype=new uT();_.Ac=AQb;_.tN=Dfc+'RepositoryService_Proxy$39';_.tI=477;function aRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)sAb(g.a,f);else gcb(g.a,c);}
-function dRb(a){var b;b=x;cRb(this,a);}
-function FQb(){}
-_=FQb.prototype=new uT();_.Ac=dRb;_.tN=Dfc+'RepositoryService_Proxy$4';_.tI=478;function fRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dAb(g.a,f);else gcb(g.a,c);}
-function iRb(a){var b;b=x;hRb(this,a);}
-function eRb(){}
-_=eRb.prototype=new uT();_.Ac=iRb;_.tN=Dfc+'RepositoryService_Proxy$5';_.tI=479;function kRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)A4b(g.a,f);else gcb(g.a,c);}
-function nRb(a){var b;b=x;mRb(this,a);}
-function jRb(){}
-_=jRb.prototype=new uT();_.Ac=nRb;_.tN=Dfc+'RepositoryService_Proxy$6';_.tI=480;function pRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)geb(g.a,f);else gcb(g.a,c);}
-function sRb(a){var b;b=x;rRb(this,a);}
-function oRb(){}
-_=oRb.prototype=new uT();_.Ac=sRb;_.tN=Dfc+'RepositoryService_Proxy$7';_.tI=481;function uRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)h$b(g.a,f);else gcb(g.a,c);}
-function xRb(a){var b;b=x;wRb(this,a);}
-function tRb(){}
-_=tRb.prototype=new uT();_.Ac=xRb;_.tN=Dfc+'RepositoryService_Proxy$8';_.tI=482;function iUb(){iUb=s2;kWb=jUb();nWb=kUb();}
-function hUb(a){iUb();return a;}
-function jUb(){iUb();return {'[B/2233087514':[function(a){return lUb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return mUb(a);},function(a,b){Ek(a,b);},function(a,b){Fk(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return nUb(a);},function(a,b){jl(a,b);},function(a,b){ll(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return sUb(a);},function(a,b){nD(a,b);},function(a,b){qD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return tUb(a);},function(a,b){fI(a,b);},function(a,b){iI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return uUb(a);},function(a,b){nI(a,b);},function(a,b){pI(a,b);}],'java.lang.Boolean/476441737':[function(a){return Al(a);},function(a,b){zl(a,b);},function(a,b){Bl(a,b);}],'java.!
 lang.String/2004016611':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return vUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'java.util.ArrayList/3821976829':[function(a){return oUb(a);},function(a,b){lm(a,b);},function(a,b){mm(a,b);}],'java.util.Date/1659716317':[function(a){return qm(a);},function(a,b){pm(a,b);},function(a,b){rm(a,b);}],'java.util.HashMap/962170901':[function(a){return pUb(a);},function(a,b){um(a,b);},function(a,b){vm(a,b);}],'java.util.HashSet/1594477813':[function(a){return qUb(a);},function(a,b){ym(a,b);},function(a,b){zm(a,b);}],'java.util.Vector/3125574444':[function(a){return rUb(a);},function(a,b){Cm(a,b);},function(a,b){Dm(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return wUb(a);},function(a,b){ggb(a,b);},function(a,b){hgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return xUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return zUb(a);},function(a,b){Fgb(a,b);},function(a,b){ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return yUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return BUb(a);},function(a,b){hhb(a,b);},function(a,b){ihb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return AUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return DUb(a);},function(a,b){phb(a,b);},function(a,b){qhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return CUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn FUb(a);},function(a,b){whb(a,b);},function(a,b){xhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return EUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return bVb(a);},function(a,b){Ehb(a,b);},function(a,b){Fhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return aVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return dVb(a);},function(a,b){gib(a,b);},function(a,b){hib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return cVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return fVb(a);},function(a,b){oib(a,b);},function(a,b){pib(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn eVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return hVb(a);},function(a,b){wib(a,b);},function(a,b){xib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return gVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return jVb(a);},function(a,b){Cib(a,b);},function(a,b){Dib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return iVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return lVb(a);},function(a,b){ejb(a,b);},function(a,b){fjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return kVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return nVb(a);},function(a,b){qjb(a,b);},function(a,b){rjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return mVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return oVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return pVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return qVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return rVb(a);},function(a,b){zjb(a,b);},function(a,b){Ajb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return tVb(a);},function(a,b){bkb(a,b);},function(a,b!
 ){ckb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return sVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return uVb(a);},function(a,b){wkb(a,b);},function(a,b){xkb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return wVb(a);},function(a,b){Fkb(a,b);},function(a,b){alb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return vVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return yVb(a);},function(a,b){zKb(a,b);},function(a,b){AKb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return xVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return zVb(a);},function(a,b){aLb(a,b);},function(a,b){cLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return AVb(a);},function(a,b){mLb(a,b);},function(a,b){nLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return CVb(a);},function(a,b){sLb(a,b);},function(a,b){tLb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return BVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return DVb(a);},function(a,b){sWb(a,b);},function(a,b){tWb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return EVb(a);},function(a,b){yWb(a,b);},function(a,b){zWb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return FVb(a);},function(a,b){FXb(a,b);},function(a,b){aYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return bWb(a);},function(a,b){fYb(a,b);},function(a,b){gYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn aWb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return cWb(a);},function(a,b){lYb(a,b);},function(a,b){mYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return dWb(a);},function(a,b){rYb(a,b);},function(a,b){sYb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return fWb(a);},function(a,b){xYb(a,b);},function(a,b){yYb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return eWb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return gWb(a);},function(a,b){EYb(a,b);},function(a,b){FYb(a,b);}]};}
-function kUb(){iUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
-function lUb(b){iUb();var a;a=b.Bd();return yb('[B',[618],[(-1)],[a],0);}
-function mUb(a){iUb();return Ak(new zk());}
-function nUb(a){iUb();return new fl();}
-function oUb(a){iUb();return CX(new AX());}
-function pUb(a){iUb();return z0(new DZ());}
-function qUb(a){iUb();return t1(new s1());}
-function rUb(a){iUb();return g2(new f2());}
-function sUb(a){iUb();return new jD();}
-function tUb(a){iUb();return new EH();}
-function uUb(a){iUb();return new aI();}
-function vUb(b){iUb();var a;a=b.Bd();return yb('[Ljava.lang.String;',[605],[1],[a],null);}
-function wUb(a){iUb();return xfb(new vfb());}
-function xUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[622],[24],[a],null);}
-function yUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[615],[18],[a],null);}
-function zUb(a){iUb();return new Agb();}
-function AUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[623],[25],[a],null);}
-function BUb(a){iUb();return chb(new bhb());}
-function CUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[624],[26],[a],null);}
-function DUb(a){iUb();return khb(new jhb());}
-function EUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[625],[27],[a],null);}
-function FUb(a){iUb();return new rhb();}
-function aVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[626],[28],[a],null);}
-function bVb(a){iUb();return zhb(new yhb());}
-function cVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[627],[29],[a],null);}
-function dVb(a){iUb();return bib(new aib());}
-function eVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[628],[30],[a],null);}
-function fVb(a){iUb();return new iib();}
-function gVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[629],[31],[a],null);}
-function hVb(a){iUb();return new qib();}
-function iVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[612],[15],[a],null);}
-function jVb(a){iUb();return new yib();}
-function kVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[14],[a],null);}
-function lVb(a){iUb();return new Eib();}
-function mVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[613],[16],[a],null);}
-function nVb(a){iUb();return new hjb();}
-function oVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[614],[17],[a],null);}
-function pVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[23],[a],null);}
-function qVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[22],[a],null);}
-function rVb(a){iUb();return new vjb();}
-function sVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[21],[a],null);}
-function tVb(a){iUb();return new Cjb();}
-function uVb(a){iUb();return gkb(new ekb());}
-function vVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[630],[32],[a],null);}
-function wVb(a){iUb();return new ykb();}
-function xVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[606],[10],[a],null);}
-function yVb(a){iUb();return new vKb();}
-function zVb(a){iUb();return new CKb();}
-function AVb(a){iUb();return gLb(new eLb());}
-function BVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[616],[19],[a],null);}
-function CVb(a){iUb();return new oLb();}
-function DVb(a){iUb();return new oWb();}
-function EVb(a){iUb();return new uWb();}
-function FVb(a){iUb();return new BXb();}
-function aWb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[607],[11],[a],null);}
-function bWb(a){iUb();return new bYb();}
-function cWb(a){iUb();return new hYb();}
-function dWb(a){iUb();return new nYb();}
-function eWb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[610],[13],[a],null);}
-function fWb(a){iUb();return new tYb();}
-function gWb(a){iUb();return new AYb();}
-function hWb(c,a,d){var b=kWb[d];if(!b){lWb(d);}b[1](c,a);}
-function iWb(b){var a=nWb[b];return a==null?b:a;}
-function jWb(b,c){var a=kWb[c];if(!a){lWb(c);}return a[0](b);}
-function lWb(a){iUb();throw pl(new ol(),a);}
-function mWb(c,a,d){var b=kWb[d];if(!b){lWb(d);}b[2](c,a);}
-function gUb(){}
-_=gUb.prototype=new uT();_.ib=hWb;_.bc=iWb;_.nc=jWb;_.ie=mWb;_.tN=Dfc+'RepositoryService_TypeSerializer';_.tI=483;var kWb,nWb;function oWb(){}
-_=oWb.prototype=new uT();_.tN=Dfc+'RuleAsset';_.tI=484;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function sWb(b,a){a.a=b.zd();a.b=Fb(b.Dd(),39);a.c=b.zd();a.d=Fb(b.Dd(),93);a.e=b.Ed();}
-function tWb(b,a){b.bf(a.a);b.ff(a.b);b.bf(a.c);b.ff(a.d);b.gf(a.e);}
-function uWb(){}
-_=uWb.prototype=new uT();_.tN=Dfc+'RuleContentText';_.tI=485;_.a=null;function yWb(b,a){a.a=b.Ed();}
-function zWb(b,a){b.gf(a.a);}
-function jXb(){jXb=s2;nXb=pXb(new oXb());}
-function gXb(a){jXb();return a;}
-function hXb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.SecurityService');nn(a,'getCurrentUser');ln(a,0);}
-function iXb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.SecurityService');nn(b,'login');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
-function kXb(h,c){var a,d,e,f,g;f=zn(new yn(),nXb);g=no(new lo(),nXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{hXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Dc(d);return;}else throw a;}e=DWb(new CWb(),h,f,c);if(!wg(h.a,uo(g),e))c.Dc(bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lXb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),nXb);h=no(new lo(),nXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{iXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=cXb(new bXb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mXb(b,a){b.a=a;}
-function BWb(){}
-_=BWb.prototype=new uT();_.tN=Dfc+'SecurityService_Proxy';_.tI=486;_.a=null;var nXb;function DWb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FWb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else g.a.Dc(c);}
-function aXb(a){var b;b=x;FWb(this,a);}
-function CWb(){}
-_=CWb.prototype=new uT();_.Ac=aXb;_.tN=Dfc+'SecurityService_Proxy$1';_.tI=487;function cXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function eXb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=yR(new xR(),Dn(g.b));}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)n5(g.a,f);else gcb(g.a,c);}
-function fXb(a){var b;b=x;eXb(this,a);}
-function bXb(){}
-_=bXb.prototype=new uT();_.Ac=fXb;_.tN=Dfc+'SecurityService_Proxy$2';_.tI=488;function qXb(){qXb=s2;xXb=rXb();AXb=sXb();}
-function pXb(a){qXb();return a;}
-function rXb(){qXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return tXb(a);},function(a,b){Ek(a,b);},function(a,b){Fk(a,b);}],'java.lang.String/2004016611':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}]};}
-function sXb(){qXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
-function tXb(a){qXb();return Ak(new zk());}
-function uXb(c,a,d){var b=xXb[d];if(!b){yXb(d);}b[1](c,a);}
-function vXb(b){var a=AXb[b];return a==null?b:a;}
-function wXb(b,c){var a=xXb[c];if(!a){yXb(c);}return a[0](b);}
-function yXb(a){qXb();throw pl(new ol(),a);}
-function zXb(c,a,d){var b=xXb[d];if(!b){yXb(d);}b[2](c,a);}
-function oXb(){}
-_=oXb.prototype=new uT();_.ib=uXb;_.bc=vXb;_.nc=wXb;_.ie=zXb;_.tN=Dfc+'SecurityService_TypeSerializer';_.tI=489;var xXb,AXb;function BXb(){}
-_=BXb.prototype=new fl();_.tN=Dfc+'SessionExpiredException';_.tI=490;function FXb(b,a){jl(b,a);}
-function aYb(b,a){ll(b,a);}
-function bYb(){}
-_=bYb.prototype=new uT();_.tN=Dfc+'SnapshotInfo';_.tI=491;_.a=null;_.b=null;_.c=null;function fYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
-function gYb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
-function hYb(){}
-_=hYb.prototype=new uT();_.tN=Dfc+'TableConfig';_.tI=492;_.a=null;_.b=0;function lYb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Bd();}
-function mYb(b,a){b.ff(a.a);b.df(a.b);}
-function nYb(){}
-_=nYb.prototype=new uT();_.tN=Dfc+'TableDataResult';_.tI=493;_.a=null;function rYb(b,a){a.a=Fb(b.Dd(),94);}
-function sYb(b,a){b.ff(a.a);}
-function zYb(a){return tU(a,'\\,')[0];}
-function tYb(){}
-_=tYb.prototype=new uT();_.tN=Dfc+'TableDataRow';_.tI=494;_.a=null;_.b=null;_.c=null;function xYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=Fb(b.Dd(),63);}
-function yYb(b,a){b.gf(a.a);b.gf(a.b);b.ff(a.c);}
-function AYb(){}
-_=AYb.prototype=new uT();_.tN=Dfc+'ValidatedResponse';_.tI=495;_.a=null;_.b=null;_.c=false;_.d=null;function EYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.zd();a.d=Fb(b.Dd(),39);}
-function FYb(b,a){b.gf(a.a);b.gf(a.b);b.bf(a.c);b.ff(a.d);}
-function o0b(a){a.e=lt(new ft());}
-function p0b(j,b,c,a,f,d,g){var e,h,i;o0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=dz(new hw());i=j.f.r;e=ot(j.e);h=Fz(new Dz());w0b(j,i);aA(h,j.g);if(!g){s0b(j,e,h);}y0b(j,f,e);gr(j,j.e);j.Be('100%');return j;}
-function r0b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
-function s0b(h,e,g){var a,b,c,d,f;d=lcb(new kcb(),'images/edit.gif');d.te('Change status.');fB(d,kZb(new bZb(),h));aA(g,d);h.e.ze(0,0,g);Bw(e,0,0,(oz(),qz),(xz(),Az));f=qp(new kp(),'Save changes');f.te('Check in changes.');f.x(oZb(new nZb(),h));aA(g,f);b=qp(new kp(),'Copy');b.x(sZb(new rZb(),h));aA(g,b);a=qp(new kp(),'Archive');a.x(wZb(new vZb(),h));aA(g,a);if(h.f.v==0){c=qp(new kp(),'Delete');c.x(AZb(new zZb(),h));aA(g,c);}}
-function t0b(b,c){var a;a=C1b(new x1b(),lN(c),mN(c),'Check in changes.');F1b(a,dZb(new cZb(),b,a));a2b(a);}
-function u0b(e,f){var a,b,c,d;a=acb(new Bbb(),'images/rule_asset.gif','Copy this item');b=zK(new kK());c=odb(new jdb());bcb(a,'New name:',b);bcb(a,'New package:',c);d=qp(new kp(),'Create copy');d.x(g0b(new f0b(),e,c,b,a));bcb(a,'',d);lE(a,dc((cab()-gE(a))/2),100);oE(a);}
-function v0b(b,a){b.c=a;}
-function w0b(b,a){hz(b.g,'Status: <b>['+a+']<\/b>');}
-function x0b(b,c){var a;a=ieb(new sdb(),b.h,false);leb(a,hZb(new gZb(),b,a));lE(a,lN(c),mN(c));oE(a);}
-function y0b(e,d,b){var a,c,f;f=Fz(new Dz());c=lcb(new kcb(),'images/max_min.gif');fB(c,EZb(new DZb(),e,d));aA(f,c);a=lcb(new kcb(),'images/close.gif');a.te('Close.');fB(a,c0b(new b0b(),e));aA(f,a);e.e.ze(0,1,f);Bw(b,0,1,(oz(),rz),(xz(),Az));}
-function aZb(){}
-_=aZb.prototype=new er();_.tN=Efc+'ActionToolbar';_.tI=496;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function kZb(b,a){b.a=a;return b;}
-function mZb(a){x0b(this.a,a);}
-function bZb(){}
-_=bZb.prototype=new uT();_.zc=mZb;_.tN=Efc+'ActionToolbar$1';_.tI=497;function dZb(b,a,c){b.a=a;b.b=c;return b;}
-function fZb(){this.a.f.b=E1b(this.b);e9b(this.a.b);}
-function cZb(){}
-_=cZb.prototype=new uT();_.pb=fZb;_.tN=Efc+'ActionToolbar$10';_.tI=498;function hZb(b,a,c){b.a=a;b.b=c;return b;}
-function jZb(){w0b(this.a,this.b.c);}
-function gZb(){}
-_=gZb.prototype=new uT();_.pb=jZb;_.tN=Efc+'ActionToolbar$11';_.tI=499;function oZb(b,a){b.a=a;return b;}
-function qZb(a){t0b(this.a,a);}
-function nZb(){}
-_=nZb.prototype=new uT();_.zc=qZb;_.tN=Efc+'ActionToolbar$2';_.tI=500;function sZb(b,a){b.a=a;return b;}
-function uZb(a){u0b(this.a,a);}
-function rZb(){}
-_=rZb.prototype=new uT();_.zc=uZb;_.tN=Efc+'ActionToolbar$3';_.tI=501;function wZb(b,a){b.a=a;return b;}
-function yZb(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+qZ(iZ(new hZ()));j9b(this.a.a);}}
-function vZb(){}
-_=vZb.prototype=new uT();_.zc=yZb;_.tN=Efc+'ActionToolbar$4';_.tI=502;function AZb(b,a){b.a=a;return b;}
-function CZb(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){t9b(this.a.d);}}
-function zZb(){}
-_=zZb.prototype=new uT();_.zc=CZb;_.tN=Efc+'ActionToolbar$5';_.tI=503;function EZb(b,a,c){b.a=c;return b;}
-function a0b(a){o9b(this.a);}
-function DZb(){}
-_=DZb.prototype=new uT();_.zc=a0b;_.tN=Efc+'ActionToolbar$6';_.tI=504;function c0b(b,a){b.a=a;return b;}
-function e0b(a){D9b(this.a.c);}
-function b0b(){}
-_=b0b.prototype=new uT();_.zc=e0b;_.tN=Efc+'ActionToolbar$7';_.tI=505;function g0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
-function i0b(a){hTb(BLb(),this.a.h,qdb(this.d),rK(this.c),k0b(new j0b(),this,this.c,this.d,this.b));}
-function f0b(){}
-_=f0b.prototype=new uT();_.zc=i0b;_.tN=Efc+'ActionToolbar$8';_.tI=506;function k0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
-function m0b(b,a){r0b(b.a.a,rK(b.c),qdb(b.d));b.b.lc();}
-function n0b(a){m0b(this,a);}
-function j0b(){}
-_=j0b.prototype=new ecb();_.pd=n0b;_.tN=Efc+'ActionToolbar$9';_.tI=507;function o1b(a){a.b=hab(new fab());}
-function p1b(c,a,b){o1b(c);c.a=a;c.c=lt(new ft());u1b(c,c.c);uN(c.c,'rule-List');kab(c.b,0,0,c.c);if(!b){s1b(c);}gr(c,c.b);return c;}
-function q1b(b,a){hLb(b.a,a);w1b(b);}
-function s1b(c){var a,b;a=hO(new fO());b=lcb(new kcb(),'images/new_item.gif');b.te('Add a new category.');fB(b,d1b(new c1b(),c));iO(a,b);kab(c.b,0,1,a);}
-function t1b(b){var a;a=m1b(new k1b(),b);lE(a,lN(b),mN(b));oE(a);}
-function u1b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;yy(d,b,0,e.a.a[b]);a=lcb(new kcb(),'images/trash.gif');a.te('Remove this category');fB(a,h1b(new g1b(),e,c));d.ze(b,1,a);}}
-function v1b(b,a){jLb(b.a,a);aab(b);w1b(b);}
-function w1b(a){a.c=lt(new ft());uN(a.c,'rule-List');kab(a.b,0,0,a.c);u1b(a,a.c);aab(a);}
-function z0b(){}
-_=z0b.prototype=new E_();_.tN=Efc+'AssetCategoryEditor';_.tI=508;_.a=null;_.c=null;function B0b(b,a){b.a=a;return b;}
-function D0b(a){this.a.b=a;}
-function A0b(){}
-_=A0b.prototype=new uT();_.he=D0b;_.tN=Efc+'AssetCategoryEditor$1';_.tI=509;function F0b(b,a){b.a=a;return b;}
-function b1b(a){if(this.a.b!==null&& !nU('',this.a.b)){q1b(this.a.d,this.a.b);}this.a.lc();}
-function E0b(){}
-_=E0b.prototype=new uT();_.zc=b1b;_.tN=Efc+'AssetCategoryEditor$2';_.tI=510;function d1b(b,a){b.a=a;return b;}
-function f1b(a){t1b(this.a);}
-function c1b(){}
-_=c1b.prototype=new uT();_.zc=f1b;_.tN=Efc+'AssetCategoryEditor$3';_.tI=511;function h1b(b,a,c){b.a=a;b.b=c;return b;}
-function j1b(a){v1b(this.a,this.b);}
-function g1b(){}
-_=g1b.prototype=new uT();_.zc=j1b;_.tN=Efc+'AssetCategoryEditor$4';_.tI=512;function n1b(){n1b=s2;eE();}
-function l1b(a){a.a=qp(new kp(),'OK');}
-function m1b(b,a){var c;n1b();b.d=a;bE(b,true);l1b(b);c=hO(new fO());b.c=s$(new b$(),B0b(new A0b(),b));uN(b,'ks-popups-Popup');iO(c,b.c);iO(c,b.a);CG(b,c);b.a.x(F0b(new E0b(),b));return b;}
-function k1b(){}
-_=k1b.prototype=new FD();_.tN=Efc+'AssetCategoryEditor$CategorySelector';_.tI=513;_.b=null;_.c=null;function C1b(c,a,d,b){c.b=acb(new Bbb(),'images/checkin.gif',b);c.a=eK(new dK());c.a.Be('100%');c.c=qp(new kp(),'Save');bcb(c.b,'Comment',c.a);bcb(c.b,'',c.c);uN(c.b,'ks-popups-Popup');lE(c.b,a,d);return c;}
-function E1b(a){return rK(a.a);}
-function F1b(b,a){b.c.x(z1b(new y1b(),b,a));}
-function a2b(a){lE(a.b,dc((cab()-gE(a.b))/2),100);oE(a.b);}
-function x1b(){}
-_=x1b.prototype=new uT();_.tN=Efc+'CheckinPopup';_.tI=514;_.a=null;_.b=null;_.c=null;function z1b(b,a,c){b.a=a;b.b=c;return b;}
-function B1b(a){this.b.pb();this.a.b.lc();}
-function y1b(){}
-_=y1b.prototype=new uT();_.zc=B1b;_.tN=Efc+'CheckinPopup$1';_.tI=515;function x2b(){x2b=s2;eE();}
-function v2b(g,f,e){var a,b,c,d;x2b();bE(g,true);g.d=f;g.b=zK(new kK());g.b.Be('100%');b='<enter text to filter list>';vK(g.b,'<enter text to filter list>');gu(g.b,d2b(new c2b(),g));oK(g.b,i2b(new h2b(),g,e));g.b.oe(true);d=hO(new fO());iO(d,g.b);g.c=mC(new eC());CC(g.c,5);z2b(g,u4b(g.d,''));iO(d,g.c);c=qp(new kp(),'ok');c.x(o2b(new n2b(),g,e));a=qp(new kp(),'cancel');a.x(s2b(new r2b(),g));g.a=Fz(new Dz());aA(g.a,c);aA(g.a,a);iO(d,g.a);CG(g,d);uN(g,'ks-popups-Popup');return g;}
-function w2b(b,a){n3b(a,y2b(b));b.lc();}
-function y2b(a){return vC(a.c,wC(a.c));}
-function z2b(c,a){var b;sC(c.c);for(b=0;b<a.b;b++){pC(c.c,Fb(dY(a,b),14).a);}}
-function b2b(){}
-_=b2b.prototype=new FD();_.tN=Efc+'ChoiceList';_.tI=516;_.a=null;_.b=null;_.c=null;_.d=null;function d2b(b,a){b.a=a;return b;}
-function f2b(a){vK(this.a.b,'');}
-function g2b(a){vK(this.a.b,'<enter text to filter list>');}
-function c2b(){}
-_=c2b.prototype=new uT();_.Ec=f2b;_.gd=g2b;_.tN=Efc+'ChoiceList$1';_.tI=517;function i2b(b,a,c){b.a=a;b.b=c;return b;}
-function k2b(a,b,c){}
-function l2b(a,b,c){}
-function m2b(a,b,c){if(b==13){w2b(this.a,this.b);}else{z2b(this.a,u4b(this.a.d,rK(this.a.b)));}}
-function h2b(){}
-_=h2b.prototype=new uT();_.cd=k2b;_.dd=l2b;_.ed=m2b;_.tN=Efc+'ChoiceList$2';_.tI=518;function o2b(b,a,c){b.a=a;b.b=c;return b;}
-function q2b(a){w2b(this.a,this.b);}
-function n2b(){}
-_=n2b.prototype=new uT();_.zc=q2b;_.tN=Efc+'ChoiceList$3';_.tI=519;function s2b(b,a){b.a=a;return b;}
-function u2b(a){this.a.lc();}
-function r2b(){}
-_=r2b.prototype=new uT();_.zc=u2b;_.tN=Efc+'ChoiceList$4';_.tI=520;function l3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=eK(new dK());jK(i.d,10);vK(i.d,i.c.a);i.d.te('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=rKb((pKb(),uKb),a.d.o);i.a=c.a;i.b=c.b;uN(i.d,'dsl-text-Editor');d=lt(new ft());d.ze(0,0,i.d);nK(i.d,C2b(new B2b(),i));oK(i.d,a3b(new F2b(),i));j=hO(new fO());e=lcb(new kcb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.te('Add a new condition');fB(e,e3b(new d3b(),i));h=lcb(new kcb(),'images/new_dsl_action.gif');g='Add an action';h.te('Add an action');fB(h,i3b(new h3b(),i));iO(j,e);iO(j,h);d.ze(0,1,j);bx(d.n,0,0,'95%');bx(d.n,0,1,'5%');d.Be('100%');d.qe('100%');gr(i,d);return i;}
-function n3b(e,b){var a,c,d;a=gK(e.d);c=xU(rK(e.d),0,a);d=xU(rK(e.d),a,rU(rK(e.d)));vK(e.d,c+b+d);e.c.a=rK(e.d);}
-function o3b(b){var a;a=xU(rK(b.d),0,gK(b.d));if(pU(a,'then')>(-1)){p3b(b,b.a);}else{p3b(b,b.b);}}
-function p3b(c,b){var a;a=v2b(new b2b(),b,c);lE(a,lN(c.d)+20,mN(c.d)+20);oE(a);}
-function A2b(){}
-_=A2b.prototype=new E_();_.tN=Efc+'DSLRuleEditor';_.tI=521;_.a=null;_.b=null;_.c=null;_.d=null;function C2b(b,a){b.a=a;return b;}
-function E2b(a){this.a.c.a=rK(this.a.d);aab(this.a);}
-function B2b(){}
-_=B2b.prototype=new uT();_.yc=E2b;_.tN=Efc+'DSLRuleEditor$1';_.tI=522;function a3b(b,a){b.a=a;return b;}
-function c3b(a,b,c){if(b==32&&c==2){o3b(this.a);}if(b==9){n3b(this.a,'\t');sK(this.a.d,gK(this.a.d)+1);pK(this.a.d);}}
-function F2b(){}
-_=F2b.prototype=new mB();_.cd=c3b;_.tN=Efc+'DSLRuleEditor$2';_.tI=523;function e3b(b,a){b.a=a;return b;}
-function g3b(a){p3b(this.a,this.a.b);}
-function d3b(){}
-_=d3b.prototype=new uT();_.zc=g3b;_.tN=Efc+'DSLRuleEditor$3';_.tI=524;function i3b(b,a){b.a=a;return b;}
-function k3b(a){p3b(this.a,this.a.a);}
-function h3b(){}
-_=h3b.prototype=new uT();_.zc=k3b;_.tN=Efc+'DSLRuleEditor$4';_.tI=525;function z3b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=eK(new dK());jK(b.c,10);vK(b.c,b.b.a);uN(b.c,'default-text-Area');nK(b.c,s3b(new r3b(),b));oK(b.c,w3b(new v3b(),b));gr(b,b.c);return b;}
-function B3b(e,b){var a,c,d;a=gK(e.c);c=xU(rK(e.c),0,a);d=xU(rK(e.c),a,rU(rK(e.c)));vK(e.c,c+b+d);e.b.a=rK(e.c);}
-function q3b(){}
-_=q3b.prototype=new E_();_.tN=Efc+'DefaultRuleContentWidget';_.tI=526;_.a=null;_.b=null;_.c=null;function s3b(b,a){b.a=a;return b;}
-function u3b(a){this.a.b.a=rK(this.a.c);aab(this.a);}
-function r3b(){}
-_=r3b.prototype=new uT();_.yc=u3b;_.tN=Efc+'DefaultRuleContentWidget$1';_.tI=527;function w3b(b,a){b.a=a;return b;}
-function y3b(a,b,c){if(b==9){B3b(this.a,'\t');sK(this.a.c,gK(this.a.c)+1);pK(this.a.c);}}
-function v3b(){}
-_=v3b.prototype=new mB();_.cd=y3b;_.tN=Efc+'DefaultRuleContentWidget$2';_.tI=528;function l4b(){l4b=s2;m4b=p4b();}
-function n4b(a){l4b();var b;b=Fb(F0(m4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
-function o4b(a,b){l4b();if(nU(a.d.k,'brl')){return m8b(new z7b(),cwb(new Dtb(),a),a);}else if(nU(a.d.k,'dslr')){return m8b(new z7b(),l3b(new A2b(),a),a);}else if(nU(a.d.k,'jar')){return Dxb(new Cxb(),a,b);}else if(nU(a.d.k,'xls')){return m8b(new z7b(),hfb(new gfb(),a,b),a);}else if(nU(a.d.k,'rf')){return v7b(new u7b(),a,b);}else if(nU(a.d.k,'drl')){return m8b(new z7b(),z3b(new q3b(),a),a);}else if(nU(a.d.k,'enumeration')){return m8b(new z7b(),z3b(new q3b(),a),a);}else{return z3b(new q3b(),a);}}
-function p4b(){l4b();var a;a=z0(new DZ());a1(a,'drl','technical_rule_assets.gif');a1(a,'dsl','dsl.gif');a1(a,'function','function_assets.gif');a1(a,'jar','model_asset.gif');a1(a,'xls','spreadsheet_small.gif');a1(a,'brl','business_rule.gif');a1(a,'dslr','business_rule.gif');a1(a,'rf','ruleflow_small.gif');return a;}
-function q4b(d,f,g,e,a){l4b();var b,c,h;h=m$b(new u8b(),a,e);b=a.d.n;if(rU(b)>10){b=xU(b,0,7)+'...';}c=n4b(a.d.k);tJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(CY(),DY)){a1(d,g,h);}v$b(h,h4b(new g4b(),f,h,d,g));zJ(f,vJ(f,h));}
-function r4b(b,d,e,c){l4b();var a;if(C0(b,e)){if(vJ(d,Fb(F0(b,e),20))==(-1)){a=ac(wJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{zJ(d,vJ(d,Fb(F0(b,e),20)));}bdb();return;}yTb(BLb(),e,E3b(new D3b(),b,d,e,c));}
-var m4b;function E3b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
-function a4b(c){var a,b;a=Fb(c,97);b=(pKb(),uKb);qKb(b,a.d.o,c4b(new b4b(),this,this.a,this.c,this.d,this.b,a));}
-function D3b(){}
-_=D3b.prototype=new ecb();_.pd=a4b;_.tN=Efc+'EditorLauncher$1';_.tI=529;function c4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
-function e4b(a){q4b(a.b,a.d,a.e,a.c,a.a);}
-function f4b(){e4b(this);}
-function b4b(){}
-_=b4b.prototype=new uT();_.pb=f4b;_.tN=Efc+'EditorLauncher$2';_.tI=530;function h4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
-function j4b(a){yJ(a.b,vJ(a.b,a.d));zJ(a.b,0);if(a.a!==(CY(),DY)){b1(a.a,a.c);}}
-function k4b(){j4b(this);}
-function g4b(){}
-_=g4b.prototype=new uT();_.pb=k4b;_.tN=Efc+'EditorLauncher$3';_.tI=531;function u4b(e,a){var b,c,d;b=CX(new AX());for(c=0;c<e.a;c++){d=e[c];if(nU(a,'')||vU(d.a,a)){EX(b,d);}}return b;}
-function j6b(e,a,c,f,d){var b;qbb(e);uN(e,'metadata-Widget');if(!c){b=mcb(new kcb(),'images/edit.gif','Rename this asset');fB(b,a5b(new w4b(),e));ubb(e,'images/meta_data.png',a.n,b);}else{tbb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;o6b(e,a);return e;}
-function k6b(a){a.b=p1b(new z0b(),a.a,a.c);return a.b;}
-function m6b(d,a,e){var b,c;if(!d.c){b=zK(new kK());b.te(e);vK(b,a.ec());c=D4b(new C4b(),d,a,b);nK(b,c);return b;}else{return CB(new AB(),a.ec());}}
-function n6b(a){if(a.a.v==0){return ez(new hw(),'<i>Not checked in yet<\/i>');}else{return r6b(a,aT(a.a.v));}}
-function o6b(b,a){b.a=a;sbb(b,'Categories:',k6b(b));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Modified on:',q6b(b,b.a.m));sbb(b,'by:',r6b(b,b.a.l));sbb(b,'Note:',r6b(b,b.a.b));sbb(b,'Version:',n6b(b));if(!b.c){sbb(b,'Created on:',q6b(b,b.a.d));}sbb(b,'Created by:',r6b(b,b.a.e));sbb(b,'Format:',ez(new hw(),'<b>'+b.a.k+'<\/b>'));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Package:',p6b(b,b.a.o));sbb(b,'Subject:',m6b(b,e5b(new d5b(),b),'A short description of the subject matter.'));sbb(b,'Type:',m6b(b,j5b(new i5b(),b),'This is for classification purposes.'));sbb(b,'External link:',m6b(b,o5b(new n5b(),b),'This is for relating the asset to an external system.'));sbb(b,'Source:',m6b(b,t5b(new s5b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){vbb(b,q_b(new x$b(),b.e,b.a,b.d));}}
-function p6b(d,c){var a,b;if(d.c){return r6b(d,c);}else{b=Fz(new Dz());uN(b,'metadata-Widget');aA(b,r6b(d,c));a=lcb(new kcb(),'images/edit.gif');fB(a,y5b(new x5b(),d,c));aA(b,a);return b;}}
-function q6b(b,a){if(a===null){return null;}else{return CB(new AB(),pZ(a));}}
-function r6b(c,b){var a;a=CB(new AB(),b);a.Be('100%');return a;}
-function s6b(f,b,e){var a,c,d;c=acb(new Bbb(),'images/package_large.png','Move this item to another package');bcb(c,'Current package:',CB(new AB(),b));d=odb(new jdb());bcb(c,'New package:',d);a=qp(new kp(),'Change package');bcb(c,'',a);a.x(f6b(new e6b(),f,d,b,c));lE(c,lN(e.v.v),mN(e.v.v));oE(c);}
-function t6b(e,d){var a,b,c;c=acb(new Bbb(),'images/package_large.png','Rename this item');a=zK(new kK());bcb(c,'New name',a);b=qp(new kp(),'Rename item');bcb(c,'',b);b.x(C5b(new B5b(),e,a,c));lE(c,lN(d.v.v)-18,mN(d.v.v));oE(c);}
-function u6b(){return this.b.pc()||this.j;}
-function v4b(){}
-_=v4b.prototype=new obb();_.pc=u6b;_.tN=Efc+'MetaDataWidget';_.tI=532;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function a5b(b,a){b.a=a;return b;}
-function c5b(a){t6b(this.a,a);}
-function w4b(){}
-_=w4b.prototype=new uT();_.zc=c5b;_.tN=Efc+'MetaDataWidget$1';_.tI=533;function y4b(b,a,c){b.a=a;b.b=c;return b;}
-function A4b(b,a){aab(b.a.a);y9b(b.a.a.d);b.b.lc();}
-function B4b(a){A4b(this,a);}
-function x4b(){}
-_=x4b.prototype=new ecb();_.pd=B4b;_.tN=Efc+'MetaDataWidget$10';_.tI=534;function D4b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function F4b(a){aab(this.a);this.b.xe(rK(this.c));}
-function C4b(){}
-_=C4b.prototype=new uT();_.yc=F4b;_.tN=Efc+'MetaDataWidget$11';_.tI=535;function e5b(b,a){b.a=a;return b;}
-function g5b(){return this.a.a.s;}
-function h5b(a){this.a.a.s=a;}
-function d5b(){}
-_=d5b.prototype=new uT();_.ec=g5b;_.xe=h5b;_.tN=Efc+'MetaDataWidget$2';_.tI=536;function j5b(b,a){b.a=a;return b;}
-function l5b(){return this.a.a.u;}
-function m5b(a){this.a.a.u=a;}
-function i5b(){}
-_=i5b.prototype=new uT();_.ec=l5b;_.xe=m5b;_.tN=Efc+'MetaDataWidget$3';_.tI=537;function o5b(b,a){b.a=a;return b;}
-function q5b(){return this.a.a.i;}
-function r5b(a){this.a.a.i=a;}
-function n5b(){}
-_=n5b.prototype=new uT();_.ec=q5b;_.xe=r5b;_.tN=Efc+'MetaDataWidget$4';_.tI=538;function t5b(b,a){b.a=a;return b;}
-function v5b(){return this.a.a.j;}
-function w5b(a){this.a.a.j=a;}
-function s5b(){}
-_=s5b.prototype=new uT();_.ec=v5b;_.xe=w5b;_.tN=Efc+'MetaDataWidget$5';_.tI=539;function y5b(b,a,c){b.a=a;b.b=c;return b;}
-function A5b(a){s6b(this.a,this.b,a);}
-function x5b(){}
-_=x5b.prototype=new uT();_.zc=A5b;_.tN=Efc+'MetaDataWidget$6';_.tI=540;function C5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function E5b(a){aUb(BLb(),this.a.e,rK(this.b),a6b(new F5b(),this,this.c));}
-function B5b(){}
-_=B5b.prototype=new uT();_.zc=E5b;_.tN=Efc+'MetaDataWidget$7';_.tI=541;function a6b(b,a,c){b.a=a;b.b=c;return b;}
-function c6b(b,a){y9b(b.a.a.d);zh('Item has been renamed');b.b.lc();}
-function d6b(a){c6b(this,a);}
-function F5b(){}
-_=F5b.prototype=new ecb();_.pd=d6b;_.tN=Efc+'MetaDataWidget$8';_.tI=542;function f6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function h6b(a){if(nU(qdb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}dTb(BLb(),this.a.e,qdb(this.d),'Moved from : '+this.b,y4b(new x4b(),this,this.c));}
-function e6b(){}
-_=e6b.prototype=new uT();_.zc=h6b;_.tN=Efc+'MetaDataWidget$9';_.tI=543;function g7b(){g7b=s2;dcb();}
-function d7b(a){a.f=zK(new kK());a.b=eK(new dK());a.d=i7b(a);a.g=odb(new jdb());}
-function e7b(e,a,d,b,f){var c;g7b();acb(e,'images/new_wiz.gif',f);d7b(e);e.h=d;e.c=b;e.a=a;bcb(e,'Name:',e.f);if(d){bcb(e,'Initial category:',h7b(e));}if(b===null){bcb(e,'Type (format) of rule:',e.d);}bcb(e,'Package:',e.g);jK(e.b,4);e.b.Be('100%');bcb(e,'Initial description:',e.b);c=qp(new kp(),'OK');c.x(x6b(new w6b(),e));bcb(e,'',c);uN(e,'ks-popups-Popup');return e;}
-function f7b(e,b,d,c,f,a){g7b();e7b(e,b,d,c,f);rdb(e.g,a);return e;}
-function h7b(a){return s$(new b$(),B6b(new A6b(),a));}
-function j7b(a){if(a.c!==null)return a.c;return xC(a.d,wC(a.d));}
-function i7b(b){var a;a=mC(new eC());qC(a,'Business rule (using guided editor)','brl');qC(a,'DRL rule (technical rule - text editor)','drl');qC(a,'Business rule using a DSL (text editor)','dslr');qC(a,'Decision table (spreadsheet)','xls');BC(a,0);return a;}
-function k7b(b){var a;if(b.h&&b.e===null){Aeb('You have to pick an initial category.',lN(b),mN(b));return;}else if(rK(b.f)===null||nU('',rK(b.f))){Aeb('Rule must have a name',lN(b),mN(b));return;}a=F6b(new E6b(),b);fdb('Please wait ...');lTb(BLb(),rK(b.f),rK(b.b),b.e,qdb(b.g),j7b(b),a);}
-function l7b(a,b){a.a.wd(b);}
-function v6b(){}
-_=v6b.prototype=new Bbb();_.tN=Efc+'NewAssetWizard';_.tI=544;_.a=null;_.c=null;_.e=null;_.h=false;function x6b(b,a){b.a=a;return b;}
-function z6b(a){k7b(this.a);}
-function w6b(){}
-_=w6b.prototype=new uT();_.zc=z6b;_.tN=Efc+'NewAssetWizard$1';_.tI=545;function B6b(b,a){b.a=a;return b;}
-function D6b(a){this.a.e=a;}
-function A6b(){}
-_=A6b.prototype=new uT();_.he=D6b;_.tN=Efc+'NewAssetWizard$2';_.tI=546;function F6b(b,a){b.a=a;return b;}
-function b7b(b,a){var c;c=Fb(a,1);if(vU(c,'DUPLICATE')){bdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{l7b(b.a,Fb(a,1));b.a.lc();}}
-function c7b(a){b7b(this,a);}
-function E6b(){}
-_=E6b.prototype=new ecb();_.pd=c7b;_.tN=Efc+'NewAssetWizard$3';_.tI=547;function r7b(b,a){b.a=eK(new dK());b.a.Be('100%');jK(b.a,10);uN(b.a,'rule-viewer-Documentation');b.a.te('This is rule documentation. Human friendly descriptions of the business logic.');gr(b,b.a);t7b(b,a);return b;}
-function t7b(b,a){vK(b.a,a.h);nK(b.a,o7b(new n7b(),b,a));if(a.h===null||nU('',a.h)){vK(b.a,'<documentation>');}}
-function m7b(){}
-_=m7b.prototype=new E_();_.tN=Efc+'RuleDocumentWidget';_.tI=548;_.a=null;function o7b(b,a,c){b.a=a;b.b=c;return b;}
-function q7b(a){this.b.h=rK(this.a.a);aab(this.a);}
-function n7b(){}
-_=n7b.prototype=new uT();_.yc=q7b;_.tN=Efc+'RuleDocumentWidget$1';_.tI=549;function v7b(b,a,c){fxb(b,a,c);gxb(b,ez(new hw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
-function x7b(){return 'images/ruleflow_large.png';}
-function y7b(){return 'decision-Table-upload';}
-function u7b(){}
-_=u7b.prototype=new xwb();_.vb=x7b;_.Eb=y7b;_.tN=Efc+'RuleFlowUploadWidget';_.tI=550;function m8b(c,b,a){c.a=a;c.b=hab(new fab());uN(c.b,'asset-editor-Layout');kab(c.b,0,0,b);if(!a.c)kab(c.b,1,0,s8b(c));Bw(c.b.n,1,0,(oz(),rz),(xz(),Az));c.b.Be('100%');c.b.qe('100%');gr(c,c.b);return c;}
-function o8b(a){fdb('Validating item, please wait...');aTb(BLb(),a.a,d8b(new c8b(),a));}
-function p8b(a){fdb('Calculating source...');FSb(BLb(),a.a,i8b(new h8b(),a));}
-function q8b(h,e){var a,b,c,d,f,g;c=acb(new Bbb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){ccb(c,ez(new hw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=lt(new ft());uN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ze(f,0,eB(new oA(),'images/error.gif'));if(nU(d.a,'package')){yy(a,f,1,'[package configuration problem] '+d.c);}else{yy(a,f,1,d.c);}}g=oG(new mG(),a);g.Be('100%');ccb(c,g);}lE(c,100,100);oE(c);bdb();}
-function r8b(b,a){eBb(a,b.a.d.n);bdb();}
-function s8b(b){var a,c,d;a=Fz(new Dz());d=qp(new kp(),'View source');aA(a,d);c=qp(new kp(),'Validate');aA(a,c);d.x(B7b(new A7b(),b));c.x(F7b(new E7b(),b));uN(a,'asset-validator-Buttons');return a;}
-function t8b(){return jab(this.b);}
-function z7b(){}
-_=z7b.prototype=new E_();_.pc=t8b;_.tN=Efc+'RuleValidatorWrapper';_.tI=551;_.a=null;_.b=null;function B7b(b,a){b.a=a;return b;}
-function D7b(a){p8b(this.a);}
-function A7b(){}
-_=A7b.prototype=new uT();_.zc=D7b;_.tN=Efc+'RuleValidatorWrapper$1';_.tI=552;function F7b(b,a){b.a=a;return b;}
-function b8b(a){o8b(this.a);}
-function E7b(){}
-_=E7b.prototype=new uT();_.zc=b8b;_.tN=Efc+'RuleValidatorWrapper$2';_.tI=553;function d8b(b,a){b.a=a;return b;}
-function f8b(c,a){var b;b=Fb(a,88);q8b(c.a,b);}
-function g8b(a){f8b(this,a);}
-function c8b(){}
-_=c8b.prototype=new ecb();_.pd=g8b;_.tN=Efc+'RuleValidatorWrapper$3';_.tI=554;function i8b(b,a){b.a=a;return b;}
-function k8b(c,a){var b;b=Fb(a,1);r8b(c.a,b);}
-function l8b(a){k8b(this,a);}
-function h8b(){}
-_=h8b.prototype=new ecb();_.pd=l8b;_.tN=Efc+'RuleValidatorWrapper$4';_.tI=555;function m$b(c,a,b){c.a=a;c.g=b;c.e=hab(new fab());s$b(c);gr(c,c.e);bdb();return c;}
-function o$b(a){a.a.a=true;p$b(a);j4b(a.b);}
-function p$b(a){by(a.e);fdb('Saving, please wait...');fTb(BLb(),a.a,f$b(new e$b(),a));}
-function q$b(e){var a,b,c,d;d=acb(new Bbb(),'images/warning-large.png','WARNING: Un-committed changes.');b=qp(new kp(),'Discard');a=qp(new kp(),'Cancel');c=Fz(new Dz());aA(c,b);aA(c,a);ccb(d,ez(new hw(),'Are you sure you want to discard changes?'));ccb(d,c);b.x(B8b(new A8b(),e,d));a.x(F8b(new E8b(),e,d));uN(d,'warning-Popup');lE(d,dc((cab()-gE(d))/2),100);oE(d);}
-function r$b(a){pTb(BLb(),a.a.e,a.a.d.o,a$b(new F9b(),a));}
-function s$b(b){var a;by(b.e);a=ot(b.e);b.h=p0b(new aZb(),b.a,c9b(new v8b(),b),h9b(new g9b(),b),m9b(new l9b(),b),r9b(new q9b(),b),b.g);kab(b.e,0,0,b.h);Bw(a,0,0,(oz(),rz),(xz(),Az));b.f=j6b(new v4b(),b.a.d,b.g,b.a.e,w9b(new v9b(),b));kab(b.e,0,1,b.f);kt(a,0,1,3);Fw(a,0,1,(xz(),Az));bx(a,0,1,'30%');b.d=o4b(b.a,b);v0b(b.h,B9b(new A9b(),b));kab(b.e,1,0,b.d);Fw(a,1,0,(xz(),Az));b.c=r7b(new m7b(),b.a.d);kab(b.e,2,0,b.c);Fw(a,2,0,(xz(),Az));}
-function t$b(a){if(c_(a.a.d.k)){fdb('Refreshing content assistance...');tKb((pKb(),uKb),a.a.d.o,new j$b());}}
-function u$b(a){yTb(BLb(),a.a.e,x8b(new w8b(),a));}
-function v$b(b,a){b.b=a;}
-function w$b(a){var b;b= !zw(ot(a.e),2,0);ax(ot(a.e),0,1,b);ax(ot(a.e),2,0,b);}
-function u8b(){}
-_=u8b.prototype=new er();_.tN=Efc+'RuleViewer';_.tI=556;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function c9b(b,a){b.a=a;return b;}
-function e9b(a){p$b(a.a);}
-function f9b(){e9b(this);}
-function v8b(){}
-_=v8b.prototype=new uT();_.pb=f9b;_.tN=Efc+'RuleViewer$1';_.tI=557;function x8b(b,a){b.a=a;return b;}
-function z8b(a){this.a.a=Fb(a,97);s$b(this.a);bdb();}
-function w8b(){}
-_=w8b.prototype=new ecb();_.pd=z8b;_.tN=Efc+'RuleViewer$10';_.tI=558;function B8b(b,a,c){b.a=a;b.b=c;return b;}
-function D8b(a){j4b(this.a.b);this.b.lc();}
-function A8b(){}
-_=A8b.prototype=new uT();_.zc=D8b;_.tN=Efc+'RuleViewer$11';_.tI=559;function F8b(b,a,c){b.a=c;return b;}
-function b9b(a){this.a.lc();}
-function E8b(){}
-_=E8b.prototype=new uT();_.zc=b9b;_.tN=Efc+'RuleViewer$12';_.tI=560;function h9b(b,a){b.a=a;return b;}
-function j9b(a){o$b(a.a);}
-function k9b(){j9b(this);}
-function g9b(){}
-_=g9b.prototype=new uT();_.pb=k9b;_.tN=Efc+'RuleViewer$2';_.tI=561;function m9b(b,a){b.a=a;return b;}
-function o9b(a){w$b(a.a);}
-function p9b(){o9b(this);}
-function l9b(){}
-_=l9b.prototype=new uT();_.pb=p9b;_.tN=Efc+'RuleViewer$3';_.tI=562;function r9b(b,a){b.a=a;return b;}
-function t9b(a){r$b(a.a);}
-function u9b(){t9b(this);}
-function q9b(){}
-_=q9b.prototype=new uT();_.pb=u9b;_.tN=Efc+'RuleViewer$4';_.tI=563;function w9b(b,a){b.a=a;return b;}
-function y9b(a){u$b(a.a);}
-function z9b(){y9b(this);}
-function v9b(){}
-_=v9b.prototype=new uT();_.pb=z9b;_.tN=Efc+'RuleViewer$5';_.tI=564;function B9b(b,a){b.a=a;return b;}
-function D9b(a){if(jab(a.a.e)){q$b(a.a);}else{j4b(a.a.b);}}
-function E9b(){D9b(this);}
-function A9b(){}
-_=A9b.prototype=new uT();_.pb=E9b;_.tN=Efc+'RuleViewer$6';_.tI=565;function a$b(b,a){b.a=a;return b;}
-function c$b(b,a){j4b(b.a.b);}
-function d$b(a){c$b(this,a);}
-function F9b(){}
-_=F9b.prototype=new ecb();_.pd=d$b;_.tN=Efc+'RuleViewer$7';_.tI=566;function f$b(b,a){b.a=a;return b;}
-function h$b(b,a){var c;t$b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){bab(Fb(b.a.d,98));}bab(b.a.f);bab(b.a.c);if(c===null){gbb('Failed to check in the item. Please contact your system administrator.');return;}u$b(b.a);}
-function i$b(a){h$b(this,a);}
-function e$b(){}
-_=e$b.prototype=new ecb();_.pd=i$b;_.tN=Efc+'RuleViewer$8';_.tI=567;function l$b(){bdb();}
-function j$b(){}
-_=j$b.prototype=new uT();_.pb=l$b;_.tN=Efc+'RuleViewer$9';_.tI=568;function q_b(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=Fz(new Dz());d.a=lt(new ft());d.a.ze(0,0,CB(new AB(),'Version history'));Ew(d.a.n,0,0,'metadata-Widget');b=ot(d.a);Dw(b,0,0,(oz(),qz));d.c=lcb(new kcb(),'images/refresh.gif');fB(d.c,z$b(new y$b(),d));d.a.ze(0,1,d.c);Dw(b,0,1,(oz(),rz));uN(f,'version-browser-Border');aA(f,d.a);d.a.Be('100%');f.Be('100%');gr(d,f);return d;}
-function r_b(a){v_b(a);fg(D$b(new C$b(),a));}
-function t_b(b,a){return k_b(new j_b(),b,a);}
-function u_b(a){vTb(BLb(),a.e,b_b(new a_b(),a));}
-function v_b(a){jB(a.c,'images/searching.gif');}
-function w_b(a){jB(a.c,'images/refresh.gif');}
-function x_b(b,a){var c;c=oac(new y_b(),b.b,a,b.e,b.d);lE(c,100,100);oE(c);}
-function x$b(){}
-_=x$b.prototype=new er();_.tN=Efc+'VersionBrowser';_.tI=569;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function z$b(b,a){b.a=a;return b;}
-function B$b(a){r_b(this.a);}
-function y$b(){}
-_=y$b.prototype=new uT();_.zc=B$b;_.tN=Efc+'VersionBrowser$1';_.tI=570;function D$b(b,a){b.a=a;return b;}
-function F$b(){u_b(this.a);}
-function C$b(){}
-_=C$b.prototype=new uT();_.pb=F$b;_.tN=Efc+'VersionBrowser$2';_.tI=571;function b_b(b,a){b.a=a;return b;}
-function d_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ze(1,0,CB(new AB(),'No history.'));w_b(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',605,1,['Version number','Comment','Date Modified','Status']);d=t_b(i.a,f);h=bfc(d,c,0,false);h.Be('100%');i.a.a.ze(1,0,h);b=ot(i.a.a);jt(b,1,0,2);e=qp(new kp(),'View selected version');e.x(g_b(new f_b(),i,h));i.a.a.ze(2,1,e);jt(b,2,1,3);Dw(b,2,1,(oz(),pz));w_b(i.a);}
-function e_b(a){d_b(this,a);}
-function a_b(){}
-_=a_b.prototype=new ecb();_.pd=e_b;_.tN=Efc+'VersionBrowser$3';_.tI=572;function g_b(b,a,c){b.a=a;b.b=c;return b;}
-function i_b(a){if(this.b.f==0)return;x_b(this.a.a,uec(this.b));}
-function f_b(){}
-_=f_b.prototype=new uT();_.zc=i_b;_.tN=Efc+'VersionBrowser$4';_.tI=573;function k_b(b,a,c){b.a=c;return b;}
-function m_b(){return this.a.a;}
-function n_b(a){return this.a[a].b;}
-function o_b(b,a){return this.a[b].c[a];}
-function p_b(b,a){return null;}
-function j_b(){}
-_=j_b.prototype=new uT();_.Ab=m_b;_.ac=n_b;_.fc=o_b;_.gc=p_b;_.tN=Efc+'VersionBrowser$5';_.tI=574;function pac(){pac=s2;zr();}
-function oac(d,a,e,b,c){pac();xr(d,false);d.c=e;d.a=b;d.b=c;uN(d,'version-Popup');fdb('Loading version');yTb(BLb(),e,A_b(new z_b(),d,a));return d;}
-function qac(b,c){var a;a=C1b(new x1b(),lN(c)+10,mN(c)+10,'Restore this version?');F1b(a,gac(new fac(),b,a));a2b(a);}
-function y_b(){}
-_=y_b.prototype=new ur();_.tN=Efc+'VersionViewer';_.tI=575;_.a=null;_.b=null;_.c=null;function A_b(b,a,c){b.a=a;b.b=c;return b;}
-function C_b(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;Br(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=lt(new ft());d=ot(e);f=qp(new kp(),'Restore this version');f.x(E_b(new D_b(),this));e.ze(0,0,f);Dw(d,0,0,(oz(),qz));b=qp(new kp(),'Close');b.x(cac(new bac(),this));e.ze(0,1,b);Dw(d,0,1,(oz(),rz));g=m$b(new u8b(),a,true);g.Be('100%');e.ze(1,0,g);jt(d,1,1,2);e.Be('100%');sN(e,800,300);Cr(this.a,e);}
-function z_b(){}
-_=z_b.prototype=new ecb();_.pd=C_b;_.tN=Efc+'VersionViewer$1';_.tI=576;function E_b(b,a){b.a=a;return b;}
-function aac(a){qac(this.a.a,a);}
-function D_b(){}
-_=D_b.prototype=new uT();_.zc=aac;_.tN=Efc+'VersionViewer$2';_.tI=577;function cac(b,a){b.a=a;return b;}
-function eac(a){this.a.a.lc();}
-function bac(){}
-_=bac.prototype=new uT();_.zc=eac;_.tN=Efc+'VersionViewer$3';_.tI=578;function gac(b,a,c){b.a=a;b.b=c;return b;}
-function iac(){cUb(BLb(),this.a.c,this.a.a,E1b(this.b),kac(new jac(),this));}
-function fac(){}
-_=fac.prototype=new uT();_.pb=iac;_.tN=Efc+'VersionViewer$4';_.tI=579;function kac(b,a){b.a=a;return b;}
-function mac(b,a){b.a.a.lc();y9b(b.a.a.b);}
-function nac(a){mac(this,a);}
-function jac(){}
-_=jac.prototype=new ecb();_.pd=nac;_.tN=Efc+'VersionViewer$5';_.tI=580;function ubc(a){a.b=(CY(),DY);}
-function vbc(a){ubc(a);a.c=sJ(new eJ());a.c.Be('100%');a.c.qe('100%');tJ(a.c,xbc(a),"<img src='images/explore.gif'/>Explore",true);zJ(a.c,0);gr(a,a.c);return a;}
-function xbc(i){var a,b,c,d,e,f,g,h;h=lt(new ft());i.a=ycc(new Cbc(),tac(new sac(),i),'rulelist');b=ot(h);d=s$(new b$(),xac(new wac(),i,h));f=Cdc(new bdc(),Bac(new Aac(),i));h.ze(0,1,f);Bw(b,0,0,(oz(),qz),(xz(),Az));Bw(b,0,1,(oz(),qz),(xz(),Az));bx(b,0,0,'30%');bx(b,0,1,'70%');e=qp(new kp(),'Create new rule');e.te('Create new rule');e.x(abc(new Fac(),i));g=lcb(new kcb(),'images/system_search_small.png');g.te('Show the rule finder.');fB(g,ebc(new dbc(),i,h,f));a=Fz(new Dz());aA(a,e);aA(a,g);uN(a,'new-asset-Icons');c=hO(new fO());iO(c,a);iO(c,d);c.Be('100%');h.ze(0,0,c);return h;}
-function ybc(c,a,b){return ibc(new hbc(),c,b,a);}
-function zbc(b,a){b.b=a;}
-function Abc(a,b){r4b(a.b,a.c,b,false);}
-function Bbc(c){var a,b,d;a=70;d=100;b=e7b(new v6b(),rbc(new qbc(),c),true,null,'Create a new rule');lE(b,a,d);oE(b);}
-function rac(){}
-_=rac.prototype=new er();_.tN=Ffc+'AssetBrowser';_.tI=581;_.a=null;_.c=null;function tac(b,a){b.a=a;return b;}
-function vac(a){Abc(this.a,a);}
-function sac(){}
-_=sac.prototype=new uT();_.wd=vac;_.tN=Ffc+'AssetBrowser$1';_.tI=582;function xac(b,a,c){b.a=a;b.b=c;return b;}
-function zac(b){var a;a=ybc(this.a,this.a.a,b);this.b.ze(0,1,this.a.a);fdb('Retrieving list, please wait...');fg(a);Ecc(this.a.a,a);}
-function wac(){}
-_=wac.prototype=new uT();_.he=zac;_.tN=Ffc+'AssetBrowser$2';_.tI=583;function Bac(b,a){b.a=a;return b;}
-function Dac(b,a){Abc(b.a,a);}
-function Eac(a){Dac(this,a);}
-function Aac(){}
-_=Aac.prototype=new uT();_.wd=Eac;_.tN=Ffc+'AssetBrowser$3';_.tI=584;function abc(b,a){b.a=a;return b;}
-function cbc(a){Bbc(this.a);}
-function Fac(){}
-_=Fac.prototype=new uT();_.zc=cbc;_.tN=Ffc+'AssetBrowser$4';_.tI=585;function ebc(b,a,d,c){b.b=d;b.a=c;return b;}
-function gbc(a){this.b.ze(0,1,this.a);}
-function dbc(){}
-_=dbc.prototype=new uT();_.zc=gbc;_.tN=Ffc+'AssetBrowser$5';_.tI=586;function ibc(b,a,d,c){b.b=d;b.a=c;return b;}
-function kbc(){fdb('Loading list, please wait...');zTb(BLb(),this.b,mbc(new lbc(),this,this.a));}
-function hbc(){}
-_=hbc.prototype=new uT();_.pb=kbc;_.tN=Ffc+'AssetBrowser$6';_.tI=587;function mbc(b,a,c){b.a=c;return b;}
-function obc(c,a){var b;b=Fb(a,62);Dcc(c.a,b);bdb();}
-function pbc(a){obc(this,a);}
-function lbc(){}
-_=lbc.prototype=new ecb();_.pd=pbc;_.tN=Ffc+'AssetBrowser$7';_.tI=588;function rbc(b,a){b.a=a;return b;}
-function tbc(a){Abc(this.a,a);}
-function qbc(){}
-_=qbc.prototype=new uT();_.wd=tbc;_.tN=Ffc+'AssetBrowser$8';_.tI=589;function zcc(){zcc=s2;Fcc=BLb();}
-function xcc(a){a.c=lt(new ft());a.e=lcb(new kcb(),'images/refresh.gif');a.a=BB(new AB());}
-function ycc(c,a,b){zcc();xcc(c);Bcc(c);Ccc(c,b);c.e.ye(false);c.b=a;c.e.te('Refresh current list. Will show any changes.');fB(c.e,Ebc(new Dbc(),c));return c;}
-function Acc(a){return zYb(uec(a.f));}
-function Bcc(c){var a,b;a=ot(c.c);c.c.Be('100%');Bw(a,0,0,(oz(),qz),(xz(),Az));b=lcb(new kcb(),'images/open_item.gif');fB(b,hcc(new gcc(),c));b.te('Open item');c.c.ze(0,1,b);Bw(a,0,1,(oz(),rz),(xz(),Az));gr(c,c.c);}
-function Ccc(b,a){BTb(Fcc,a,ccc(new bcc(),b));}
-function Dcc(g,a){var b,c,d,e,f;b=ot(g.c);g.c.ze(1,0,null);if(a===null||a.a.a==0){d=new kcc();g.f=bfc(d,g.g.a,25,true);g.a.ye(false);}else{f=a.a;c=rcc(new qcc(),g,f);g.f=bfc(c,g.g.a,25,true);e=Fz(new Dz());aA(e,g.e);g.a.ye(true);bC(g.a,'  '+a.a.a+' items.');aA(e,g.a);g.c.ze(0,0,e);}g.f.Be('100%');g.c.ze(1,0,g.f);jt(b,1,0,2);}
-function Ecc(b,a){b.d=a;b.e.ye(true);}
-function Cbc(){}
-_=Cbc.prototype=new er();_.tN=Ffc+'AssetItemListViewer';_.tI=590;_.b=null;_.d=null;_.f=null;_.g=null;var Fcc;function Ebc(b,a){b.a=a;return b;}
-function acc(a){fdb('Refreshing list, please wait...');this.a.d.pb();}
-function Dbc(){}
-_=Dbc.prototype=new uT();_.zc=acc;_.tN=Ffc+'AssetItemListViewer$1';_.tI=591;function ccc(b,a){b.a=a;return b;}
-function ecc(b,a){b.a.g=Fb(a,99);Dcc(b.a,null);}
-function fcc(a){ecc(this,a);}
-function bcc(){}
-_=bcc.prototype=new ecb();_.pd=fcc;_.tN=Ffc+'AssetItemListViewer$2';_.tI=592;function hcc(b,a){b.a=a;return b;}
-function jcc(a){fdb('Loading item, please wait ...');this.a.b.wd(zYb(uec(this.a.f)));}
-function gcc(){}
-_=gcc.prototype=new uT();_.zc=jcc;_.tN=Ffc+'AssetItemListViewer$3';_.tI=593;function mcc(){return 0;}
-function ncc(a){return '';}
-function occ(b,a){return '';}
-function pcc(b,a){return null;}
-function kcc(){}
-_=kcc.prototype=new uT();_.Ab=mcc;_.ac=ncc;_.fc=occ;_.gc=pcc;_.tN=Ffc+'AssetItemListViewer$4';_.tI=594;function rcc(b,a,c){b.a=a;b.b=c;return b;}
-function tcc(){return this.b.a;}
-function ucc(a){return this.b[a].b;}
-function vcc(b,a){return this.b[b].c[a];}
-function wcc(b,a){if(nU(this.a.g.a[a],'*')){return eB(new oA(),'images/'+n4b(this.b[b].a));}else{return null;}}
-function qcc(){}
-_=qcc.prototype=new uT();_.Ab=tcc;_.ac=ucc;_.fc=vcc;_.gc=wcc;_.tN=Ffc+'AssetItemListViewer$5';_.tI=595;function Cdc(d,a){var b,c;d.c=rbb(new obb(),'images/system_search.png','');d.e=n_(new d_(),ddc(new cdc(),d));uN(d.e,'gwt-TextBox');d.b=a;c=Fz(new Dz());b=qp(new kp(),'Go');b.x(hdc(new gdc(),d));aA(c,d.e);aA(c,b);d.a=cq(new Fp(),'Include archived items in list');uN(d.a,'small-Text');gq(d.a,false);sbb(d.c,'Find items with a name matching:',c);vbb(d.c,d.a);vbb(d.c,ez(new hw(),'<hr/>'));d.d=lt(new ft());d.d.ze(0,0,ez(new hw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));vbb(d.c,d.d);uN(d.d,'editable-Surface');oK(d.e,Edc(d));uN(d.c,'quick-find');gr(d,d.c);return d;}
-function Edc(a){return pdc(new odc(),a);}
-function Fdc(c,a,b){CTb(BLb(),a,5,fq(c.a),ldc(new kdc(),c,b));}
-function aec(f,d){var a,b,c,e;a=lt(new ft());if(d.a.a==1){Dac(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(nU(e.b,'MORE')){a.ze(b,0,ez(new hw(),'<i>There are more items... try narrowing the search terms..<\/i>'));jt(ot(a),b,0,3);}else{a.ze(b,0,CB(new AB(),e.c[0]));a.ze(b,1,CB(new AB(),e.c[1]));c=qp(new kp(),'Open');c.x(zdc(new ydc(),f,e));a.ze(b,2,c);}}a.Be('100%');f.d.ze(0,0,a);bdb();}
-function bec(a){fdb('Searching...');CTb(BLb(),rK(a.e),15,fq(a.a),vdc(new udc(),a));}
-function bdc(){}
-_=bdc.prototype=new er();_.tN=Ffc+'QuickFindWidget';_.tI=596;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function ddc(b,a){b.a=a;return b;}
-function fdc(c,b,a){Fdc(c.a,b,a);}
-function cdc(){}
-_=cdc.prototype=new uT();_.tN=Ffc+'QuickFindWidget$1';_.tI=597;function hdc(b,a){b.a=a;return b;}
-function jdc(a){bec(this.a);}
-function gdc(){}
-_=gdc.prototype=new uT();_.zc=jdc;_.tN=Ffc+'QuickFindWidget$2';_.tI=598;function ldc(b,a,c){b.a=c;return b;}
-function ndc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[605],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!nU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}l_(this.a,c);}
-function kdc(){}
-_=kdc.prototype=new ecb();_.pd=ndc;_.tN=Ffc+'QuickFindWidget$3';_.tI=599;function pdc(b,a){b.a=a;return b;}
-function rdc(a,b,c){}
-function sdc(a,b,c){}
-function tdc(a,b,c){if(b==13){bec(this.a);}}
-function odc(){}
-_=odc.prototype=new uT();_.cd=rdc;_.dd=sdc;_.ed=tdc;_.tN=Ffc+'QuickFindWidget$4';_.tI=600;function vdc(b,a){b.a=a;return b;}
-function xdc(a){var b;b=Fb(a,62);aec(this.a,b);}
-function udc(){}
-_=udc.prototype=new ecb();_.pd=xdc;_.tN=Ffc+'QuickFindWidget$5';_.tI=601;function zdc(b,a,c){b.a=a;b.b=c;return b;}
-function Bdc(a){Dac(this.a.b,this.b.b);}
-function ydc(){}
-_=ydc.prototype=new uT();_.zc=Bdc;_.tN=Ffc+'QuickFindWidget$6';_.tI=602;function eec(a){a.a=CX(new AX());}
-function fec(a){eec(a);return a;}
-function gec(b,a,c){if(a>=b.a.b){hec(b,a);}jY(b.a,a,c);}
-function hec(c,a){var b;for(b=c.a.b;b<=a;b++){EX(c.a,null);}}
-function jec(b,a){return dY(b.a,a);}
-function kec(b,a){b.b=a;}
-function lec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(jec(this,this.b),34);b=Fb(jec(d,this.b),34);return a.bb(b);}
-function dec(){}
-_=dec.prototype=new uT();_.bb=lec;_.tN=agc+'RowData';_.tI=603;_.b=0;function nec(a){a.j=CX(new AX());a.i=CX(new AX());}
-function oec(c,b,a){Av(c,b+1,a);nec(c);Dx(c,c);uN(c,efc);return c;}
-function pec(c,b,a){if(b!=0){return;}Bec(c,a);Dec(c,a);tec(c);}
-function rec(e){var a,b,c,d,f;if(e.h==Fec||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(dY(e.j,c),100);for(a=0;a<b.a.b;a++){f=jec(b,a);xec(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(dY(e.j,c),100);for(a=0;a<b.a.b;a++){f=jec(b,a);xec(e,d,a,f.tS());}}}}
-function sec(d){var a,b,c;c=0;for(b=d.i.qc();b.kc();){a=Fb(b.sc(),1);vec(d,a,c++);}}
-function tec(a){sec(a);rec(a);}
-function uec(a){return iy(a,a.f,a.e);}
-function vec(d,c,b){var a;a=FT(new ET());bU(a,c);bU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==Fec){bU(a,"'"+d.a+"' alt='Ascending' ");}else{bU(a,"'"+d.c+"' alt='Descending' ");}}else{bU(a,"'"+d.b+"'");}bU(a,'/>');wy(d,0,b,fU(a));lx(d.p,0,ffc);}
-function wec(c,b,a){if(b%2==0){Ew(c.n,b,a,dfc);}}
-function xec(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ze(b,a,eB(new oA(),'images/'+n4b(d)));else yy(c,b,a,d);}}
-function yec(c,b,a){DX(c.i,a,b);vec(c,b,a);}
-function zec(b,a){b.d=a;}
-function Aec(b,a){b.e=a;ax(b.n,0,a,false);}
-function Bec(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(dY(d.j,b),100);kec(a,c);}}
-function Cec(d,b,a,e,f){var c;if(b==0)return;wec(d,b,a);if(b-1>=d.j.b||null===dY(d.j,b-1)){DX(d.j,b-1,fec(new dec()));}c=Fb(dY(d.j,b-1),100);gec(c,a,e);if(f===null){yy(d,b,a,''+e+'');}else{d.ze(b,a,f);}if(a==d.e){ax(d.n,b,a,false);}}
-function Dec(b,a){FY(b.j);if(b.g!=a){b.h=Fec;}else{b.h=b.h==Fec?afc:Fec;}b.g=a;}
-function Eec(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){Ew(a,c,b,gfc);if(d.f%2==0&&d.f!=0){Ew(a,d.f,b,dfc);}else{Aw(a,d.f,b,gfc);}}d.f=c;}}
-function bfc(a,d,b,c){var e,f,g;g=null;if(b>a.Ab()){g=oec(new mec(),b,d.a+1);Cec(g,1,1,'',null);}else{g=oec(new mec(),a.Ab()+1,d.a+1);}yec(g,'',0);for(e=0;e<d.a;e++){yec(g,d[e],e+1);}Aec(g,0);for(e=0;e<a.Ab();e++){Cec(g,e+1,0,a.ac(e),null);for(f=0;f<d.a;f++){Cec(g,e+1,f+1,a.fc(e,f),a.gc(e,f));}}zec(g,c);return g;}
-function cfc(c,b,a){if(b<=this.j.b){Eec(this,b);pec(this,b,a);}}
-function mec(){}
-_=mec.prototype=new yv();_.xc=cfc;_.tN=agc+'SortableTable';_.tI=604;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var Fec=0,afc=1,dfc='rule-ListEvenRow',efc='rule-List',ffc='rule-ListHeader',gfc='rule-SelectedRow';function oR(){E3(A3(new p3()));}
-function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{oR();}catch(a){b(d);}else{oR();}}
-var gc=[{},{12:1},{1:1,12:1,34:1,35:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{2:1,12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1},{8:1,12:1},{8:1,12:1},{8:1,12:1},{12:1},{2:1,6:1,12:1},{2:1,12:1},{9:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1},{3:1,12:1},{3:1,12:1,39:1},{3:1,12:1,92:1},{3:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,36:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,49:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1,33:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,43:1},{12:1,49:1,56:1},{12:1,!
 49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,81:1},{12:1,20:1,36:1,37:1,81:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,46:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,49:1,56:1},{12:1,39:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,49:1},{12:1},{12:1,20:1,36:1,37:1,87:1},{12:1,20:1,36:1,37:1,48:1,54:1},{9:1,12:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,39:1},{12:1,39:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,50:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,80:1},{12:1,20:1,36:1,37:1,54:1},{12:1,36:1,52:1},{12:1,36:1,52:1},{12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12!
 :1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1,55:1},{
3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{12:1,35:1},{3:1,12:1},{12:1},{12:1,57:1},{12:1,49:1,58:1},{12:1,49:1,58:1},{12:1},{12:1,49:1},{12:1},{12:1},{12:1,34:1,59:1},{12:1,57:1},{12:1,60:1},{12:1,49:1,58:1},{12:1},{12:1,49:1,58:1},{3:1,12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{7:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{8:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1},{12!
 :1,20:1,36:1,37:1,53:1},{12:1,42:1},{12:1},{12:1},{12:1,36:1,52:1,64:1},{12:1,20:1,36:1,37:1,46:1,80:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,20:1,36:1,37:1,81:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,65:1},{12:1,20:1,36:1,37:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,38:1,39:1,91:1},{12:1,23:1,24:1,38:1,39:1},{12:1,18:1,38:1,39:1},{12:1,23:1,24:1,25:1,38:1,39:1},{12:1,23:1,24:1,!
 25:1,26:1,38:1,39:1},{12:1,23:1,27:1,38:1,39:1},{12:1,23:1,24:1,28:1,3
8:1,39:1},{12:1,23:1,24:1,28:1,29:1,38:1,39:1},{12:1,22:1,30:1,38:1,39:1},{12:1,17:1,31:1,38:1,39:1},{12:1,38:1,39:1,40:1},{12:1,15:1,38:1,39:1,40:1},{12:1,14:1,22:1,23:1,38:1,39:1},{12:1,16:1,22:1,38:1,39:1},{12:1,21:1,38:1,39:1},{12:1,38:1,39:1,83:1},{12:1,17:1,32:1,38:1,39:1,40:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,84:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,41:1},{4:1,12:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,46:1},{12:1,41:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,82:1,98:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},!
 {12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,46:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{4!
 :1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{
12:1},{12:1,20:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1},{4:1,12:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1,53:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,90:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,42:1},{12:1,53:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1},{10:1,12:1,39:1},{3:1,12:1,39:1,70:1},{12:1,39:1,93:1},{12:1,19:1,39:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,39:1,97:1},{12:1,39:1,95:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1,69:1},{11:1,12:1,39:1},{12:1,39:1,99:1},{12:1,39:1,62:1},{12:1,13:1,39:1},{12:1,39:1!
 ,89:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,44:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1},{12:1,41:1},{12:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{4:1,12:1},{4:1,12:1},!
 {4:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},
{4:1,12:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{12:1,46:1},{12:1},{12:1,42:1},{12:1,34:1,100:1},{12:1,20:1,36:1,37:1,51:1,54:1},{12:1,63:1},{12:1,88:1},{12:1,86:1},{12:1},{12:1},{12:1,94:1},{12:1,72:1,77:1,78:1},{12:1,79:1},{12:1,74:1,77:1},{12:1,75:1},{12:1,73:1},{12:1,71:1},{12:1},{12:1},{12:1,76:1},{12:1,77:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,77:1},{12:1,75:1},{12:1,75:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1}];if ($wnd.org_drools_brms_JBRMS) $wnd.org_drools_brms_JBRMS.onScriptLoad();
---></script></body></html>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.js
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.js	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3411 +0,0 @@
-(function(){var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var _,hfc='com.google.gwt.core.client.',ifc='com.google.gwt.lang.',jfc='com.google.gwt.user.client.',kfc='com.google.gwt.user.client.impl.',lfc='com.google.gwt.user.client.rpc.',mfc='com.google.gwt.user.client.rpc.core.java.lang.',nfc='com.google.gwt.user.client.rpc.core.java.util.',ofc='com.google.gwt.user.client.rpc.impl.',pfc='com.google.gwt.user.client.ui.',qfc='com.google.gwt.user.client.ui.impl.',rfc='java.io.',sfc='java.lang.',tfc='java.util.',ufc='org.drools.brms.client.',vfc='org.drools.brms.client.admin.',wfc='org.drools.brms.client.categorynav.',xfc='org.drools.brms.client.common.',yfc='org.drools.brms.client.decisiontable.',zfc='org.drools.brms.client.modeldriven.',Afc='org.drools.brms.client.modeldriven.brl.',Bfc='org.drools.brms.client.modeldriven.ui.',Cfc='org.drools.brms.client.packages.',Dfc='org.drools.brms.client.rpc.',Efc='org.drools.brms.client.ruleeditor.',Ffc='org.droo!
 ls.brms.client.rulelist.',agc='org.drools.brms.client.table.';function s2(){}
-function wT(a){return this===a;}
-function xT(){return jV(this);}
-function yT(){return this.tN+'@'+this.hC();}
-function uT(){}
-_=uT.prototype={};_.eQ=wT;_.hC=xT;_.tS=yT;_.toString=function(){return this.tS();};_.tN=sfc+'Object';_.tI=1;function v(){return C();}
-function w(a){return a==null?null:a.tN;}
-var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function C(){return $moduleBase;}
-function D(){return ++E;}
-var E=0;function mV(b,a){b.c=a;return b;}
-function nV(c,b,a){c.c=b;return c;}
-function pV(){return this.c;}
-function qV(){var a,b;a=w(this);b=this.zb();if(b!==null){return a+': '+b;}else{return a;}}
-function lV(){}
-_=lV.prototype=new uT();_.zb=pV;_.tS=qV;_.tN=sfc+'Throwable';_.tI=3;_.c=null;function lS(b,a){mV(b,a);return b;}
-function mS(c,b,a){nV(c,b,a);return c;}
-function kS(){}
-_=kS.prototype=new lV();_.tN=sfc+'Exception';_.tI=4;function AT(b,a){lS(b,a);return b;}
-function BT(c,b,a){mS(c,b,a);return c;}
-function zT(){}
-_=zT.prototype=new kS();_.tN=sfc+'RuntimeException';_.tI=5;function ab(c,b,a){AT(c,'JavaScript '+b+' exception: '+a);return c;}
-function F(){}
-_=F.prototype=new zT();_.tN=hfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
-function fb(a){return A(a);}
-function gb(){return [];}
-function hb(){return function(){};}
-function ib(){return {};}
-function kb(a){return eb(this,a);}
-function jb(a,b){return a===b;}
-function lb(){return fb(this);}
-function nb(){return mb(this);}
-function mb(a){if(a.toString)return a.toString();return '[object]';}
-function cb(){}
-_=cb.prototype=new uT();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=hfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
-function rb(a,b,c){return a[b]=c;}
-function tb(a,b){return sb(a,b);}
-function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
-function ub(b,a){return b[a];}
-function wb(b,a){return b[a];}
-function vb(a){return a.length;}
-function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
-function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new fT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=wU(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
-function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
-function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new vR();}return rb(a,b,c);}
-function ob(){}
-_=ob.prototype=new uT();_.tN=ifc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
-function Eb(a){return String.fromCharCode(a);}
-function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
-function ac(b,a){return b!=null&&Db(b.tI,a);}
-function bc(a){return a&65535;}
-function cc(a){return ~(~a);}
-function dc(a){if(a>(yS(),zS))return yS(),zS;if(a<(yS(),AS))return yS(),AS;return a>=0?Math.floor(a):Math.ceil(a);}
-function fc(){throw new fS();}
-function ec(a){if(a!==null){throw new fS();}return a;}
-function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
-var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
-function lc(a){return a.message;}
-function mc(a){return a.name;}
-function oc(b,a){return b;}
-function nc(){}
-_=nc.prototype=new zT();_.tN=jfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=CX(new AX());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
-function gd(a){fd(a);return a;}
-function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
-function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.pb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(iV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
-function kd(a){if(!gY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
-function ld(b,a){b.c=a;}
-function md(b,a){b.e=a;}
-function nd(b,a){EX(b.b,a);kd(b);}
-function od(a,b){return dT(a-b)>=100;}
-function qc(){}
-_=qc.prototype=new uT();_.tN=jfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=s2;uh=CX(new AX());{th();}}
-function ih(a){kh();return a;}
-function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}iY(uh,a);}
-function lh(a){if(!a.b){iY(uh,a);}a.fe();}
-function nh(b,a){if(a<=0){throw pS(new oS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);EX(uh,b);}
-function mh(b,a){if(a<=0){throw pS(new oS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);EX(uh,b);}
-function oh(a){kh();$wnd.clearInterval(a);}
-function ph(a){kh();$wnd.clearTimeout(a);}
-function qh(b,a){kh();return $wnd.setInterval(function(){b.qb();},a);}
-function rh(b,a){kh();return $wnd.setTimeout(function(){b.qb();},a);}
-function sh(){var a;a=x;{lh(this);}}
-function th(){kh();yh(new eh());}
-function dh(){}
-_=dh.prototype=new uT();_.qb=sh;_.tN=jfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=s2;kh();}
-function sc(b,a){tc();b.a=a;ih(b);return b;}
-function uc(){if(!this.a.c){return;}id(this.a);}
-function rc(){}
-_=rc.prototype=new dh();_.fe=uc;_.tN=jfc+'CommandExecutor$1';_.tI=14;function xc(){xc=s2;kh();}
-function wc(b,a){xc();b.a=a;ih(b);return b;}
-function yc(){md(this.a,false);jd(this.a,iV());}
-function vc(){}
-_=vc.prototype=new dh();_.fe=yc;_.tN=jfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
-function Cc(a){return dY(a.d.b,a.b);}
-function Dc(a){return a.c<a.a;}
-function Ec(b){var a;b.b=b.c;a=dY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
-function Fc(a){hY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
-function ad(b,a){b.a=a;}
-function bd(a){return a.b==(-1);}
-function cd(){return Dc(this);}
-function dd(){return Ec(this);}
-function ed(){Fc(this);}
-function zc(){}
-_=zc.prototype=new uT();_.kc=cd;_.sc=dd;_.ce=ed;_.tN=jfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=s2;rf=CX(new AX());{gf=new ki();Ci(gf);}}
-function sd(a){rd();EX(rf,a);}
-function td(b,a){rd();cj(gf,b,a);}
-function ud(a,b){rd();return qi(gf,a,b);}
-function vd(){rd();return ej(gf,'A');}
-function wd(){rd();return ej(gf,'button');}
-function xd(){rd();return ej(gf,'div');}
-function yd(a){rd();return ej(gf,a);}
-function zd(){rd();return ej(gf,'form');}
-function Ad(){rd();return ej(gf,'iframe');}
-function Bd(){rd();return ej(gf,'img');}
-function Cd(){rd();return fj(gf,'checkbox');}
-function Dd(){rd();return fj(gf,'password');}
-function Ed(a){rd();return ri(gf,a);}
-function Fd(){rd();return fj(gf,'text');}
-function ae(){rd();return ej(gf,'label');}
-function be(a){rd();return gj(gf,a);}
-function ce(){rd();return ej(gf,'span');}
-function de(){rd();return ej(gf,'tbody');}
-function ee(){rd();return ej(gf,'td');}
-function fe(){rd();return ej(gf,'tr');}
-function ge(){rd();return ej(gf,'table');}
-function he(){rd();return ej(gf,'textarea');}
-function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
-function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.wc(b);}finally{ie=d;}}
-function le(b,a){rd();hj(gf,b,a);}
-function me(a){rd();return ij(gf,a);}
-function ne(a){rd();return jj(gf,a);}
-function oe(a){rd();return kj(gf,a);}
-function pe(a){rd();return lj(gf,a);}
-function qe(a){rd();return mj(gf,a);}
-function re(a){rd();return si(gf,a);}
-function se(a){rd();return nj(gf,a);}
-function te(a){rd();return oj(gf,a);}
-function ue(a){rd();return pj(gf,a);}
-function ve(a){rd();return ti(gf,a);}
-function we(a){rd();return ui(gf,a);}
-function xe(a){rd();return qj(gf,a);}
-function ye(a){rd();vi(gf,a);}
-function ze(a){rd();return wi(gf,a);}
-function Ae(a){rd();return mi(gf,a);}
-function Be(a){rd();return ni(gf,a);}
-function Ee(b,a){rd();return zi(gf,b,a);}
-function Ce(a){rd();return xi(gf,a);}
-function De(b,a){rd();return yi(gf,b,a);}
-function bf(a,b){rd();return tj(gf,a,b);}
-function Fe(a,b){rd();return rj(gf,a,b);}
-function af(a,b){rd();return sj(gf,a,b);}
-function cf(a){rd();return uj(gf,a);}
-function df(a){rd();return Ai(gf,a);}
-function ef(a){rd();return vj(gf,a);}
-function ff(a){rd();return Bi(gf,a);}
-function hf(c,a,b){rd();Di(gf,c,a,b);}
-function jf(c,b,d,a){rd();wj(gf,c,b,d,a);}
-function kf(b,a){rd();return Ei(gf,b,a);}
-function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(dY(rf,rf.b-1),5);if(!(c=b.Cc(a))){le(a,true);ye(a);}}return c;}
-function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}Fi(gf,a);}
-function nf(b,a){rd();xj(gf,b,a);}
-function of(b,a){rd();yj(gf,b,a);}
-function pf(a){rd();iY(rf,a);}
-function sf(a){rd();zj(gf,a);}
-function tf(a){rd();qf=a;aj(gf,a);}
-function uf(b,a,c){rd();Aj(gf,b,a,c);}
-function xf(a,b,c){rd();Dj(gf,a,b,c);}
-function vf(a,b,c){rd();Bj(gf,a,b,c);}
-function wf(a,b,c){rd();Cj(gf,a,b,c);}
-function yf(a,b){rd();Ej(gf,a,b);}
-function zf(a,b){rd();Fj(gf,a,b);}
-function Af(a,b){rd();ak(gf,a,b);}
-function Bf(a,b){rd();bk(gf,a,b);}
-function Cf(b,a,c){rd();ck(gf,b,a,c);}
-function Df(b,a,c){rd();dk(gf,b,a,c);}
-function Ef(a,b){rd();bj(gf,a,b);}
-function Ff(a){rd();return ek(gf,a);}
-function ag(){rd();return fk(gf);}
-function bg(){rd();return gk(gf);}
-var ie=null,gf=null,qf=null,rf;function dg(){dg=s2;gg=gd(new qc());}
-function fg(a){dg();nd(gg,a);}
-function eg(a){dg();if(a===null){throw iT(new hT(),'cmd can not be null');}nd(gg,a);}
-var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
-function kg(a){return jg(this,a);}
-function lg(){return fb(hc(this,hg));}
-function mg(){return Ff(this);}
-function hg(){}
-_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=jfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
-function sg(){return fb(hc(this,ng));}
-function tg(){return ze(this);}
-function ng(){}
-_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=jfc+'Event';_.tI=18;function vg(){vg=s2;xg=jk(new ik());}
-function wg(c,b,a){vg();return lk(xg,c,b,a);}
-var xg;function Ag(){Ag=s2;Eg=CX(new AX());{Fg=new rk();if(!tk(Fg)){Fg=null;}}}
-function Bg(a){Ag();EX(Eg,a);}
-function Cg(a){Ag();var b,c;for(b=Eg.qc();b.kc();){c=Fb(b.sc(),7);c.bd(a);}}
-function Dg(){Ag();return Fg!==null?wk(Fg):'';}
-function ah(a){Ag();if(Fg!==null){uk(Fg,a);}}
-function bh(b){Ag();var a;a=x;{Cg(b);}}
-var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(dY((kh(),uh),0),8));}}
-function hh(){return null;}
-function eh(){}
-_=eh.prototype=new uT();_.ud=gh;_.vd=hh;_.tN=jfc+'Timer$1';_.tI=19;function xh(){xh=s2;Ah=CX(new AX());ii=CX(new AX());{di();}}
-function yh(a){xh();EX(Ah,a);}
-function zh(a){xh();$wnd.alert(a);}
-function Bh(a){xh();return $wnd.confirm(a);}
-function Ch(){xh();var a,b;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);b.ud();}}
-function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);c=b.vd();{d=c;}}return d;}
-function Eh(){xh();var a,b;for(a=ii.qc();a.kc();){b=ec(a.sc());null.jf();}}
-function Fh(){xh();return ag();}
-function ai(){xh();return bg();}
-function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
-function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
-function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
-function ei(){xh();var a;a=x;{Ch();}}
-function fi(){xh();var a;a=x;{return Dh();}}
-function gi(){xh();var a;a=x;{Eh();}}
-function hi(c,b,a){xh();$wnd.open(c,b,a);}
-var Ah,ii;function cj(c,b,a){b.appendChild(a);}
-function ej(b,a){return $doc.createElement(a);}
-function fj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
-function gj(c,a){var b;b=ej(c,'select');if(a){Bj(c,b,'multiple',true);}return b;}
-function hj(c,b,a){b.cancelBubble=a;}
-function ij(b,a){return !(!a.altKey);}
-function jj(b,a){return a.clientX|| -1;}
-function kj(b,a){return a.clientY|| -1;}
-function lj(b,a){return !(!a.ctrlKey);}
-function mj(b,a){return a.currentTarget;}
-function nj(b,a){return a.which||(a.keyCode|| -1);}
-function oj(b,a){return !(!a.metaKey);}
-function pj(b,a){return !(!a.shiftKey);}
-function qj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
-function tj(d,a,b){var c=a[b];return c==null?null:String(c);}
-function rj(c,a,b){return !(!a[b]);}
-function sj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
-function uj(b,a){return a.__eventBits||0;}
-function vj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.xb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
-function wj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
-function xj(c,b,a){b.removeChild(a);}
-function yj(c,b,a){b.removeAttribute(a);}
-function zj(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
-function Aj(c,b,a,d){b.setAttribute(a,d);}
-function Dj(c,a,b,d){a[b]=d;}
-function Bj(c,a,b,d){a[b]=d;}
-function Cj(c,a,b,d){a[b]=d;}
-function Ej(c,a,b){a.__listener=b;}
-function Fj(c,a,b){a.src=b;}
-function ak(c,a,b){if(!b){b='';}a.innerHTML=b;}
-function bk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
-function ck(c,b,a,d){b.style[a]=d;}
-function dk(c,b,a,d){b.style[a]=d;}
-function ek(b,a){return a.outerHTML;}
-function fk(a){return $doc.body.clientHeight;}
-function gk(a){return $doc.body.clientWidth;}
-function hk(a){return vj(this,a);}
-function ji(){}
-_=ji.prototype=new uT();_.xb=hk;_.tN=kfc+'DOMImpl';_.tI=20;function qi(c,a,b){return a==b;}
-function ri(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
-function si(b,a){return a.relatedTarget?a.relatedTarget:null;}
-function ti(b,a){return a.target||null;}
-function ui(b,a){return a.relatedTarget||null;}
-function vi(b,a){a.preventDefault();}
-function wi(b,a){return a.toString();}
-function zi(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
-function xi(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
-function yi(d,c,e){var b=0,a=c.firstChild;while(a){if(a==e)return b;if(a.nodeType==1)++b;a=a.nextSibling;}return -1;}
-function Ai(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
-function Bi(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
-function Ci(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
-function Di(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
-function Ei(c,b,a){while(a){if(b==a){return true;}a=a.parentNode;if(a&&a.nodeType!=1){a=null;}}return false;}
-function Fi(b,a){if(a==$wnd.__captureElem)$wnd.__captureElem=null;}
-function aj(b,a){$wnd.__captureElem=a;}
-function bj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
-function oi(){}
-_=oi.prototype=new ji();_.tN=kfc+'DOMImplStandard';_.tI=21;function mi(d,b){var c=0;var a=b.parentNode;while(a!=$doc.body){if(a.tagName!='TR'&&a.tagName!='TBODY'){c-=a.scrollLeft;}a=a.parentNode;}while(b){c+=b.offsetLeft;b=b.offsetParent;}return c;}
-function ni(c,b){var d=0;var a=b.parentNode;while(a!=$doc.body){if(a.tagName!='TR'&&a.tagName!='TBODY'){d-=a.scrollTop;}a=a.parentNode;}while(b){d+=b.offsetTop;b=b.offsetParent;}return d;}
-function ki(){}
-_=ki.prototype=new oi();_.tN=kfc+'DOMImplOpera';_.tI=22;function jk(a){pk=hb();return a;}
-function lk(c,d,b,a){return mk(c,null,null,d,b,a);}
-function mk(d,f,c,e,b,a){return kk(d,f,c,e,b,a);}
-function kk(e,g,d,f,c,b){var h=e.lb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=pk;b.Ac(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=pk;return false;}}
-function ok(){return new XMLHttpRequest();}
-function ik(){}
-_=ik.prototype=new uT();_.lb=ok;_.tN=kfc+'HTTPRequestImpl';_.tI=23;var pk=null;function wk(a){return $wnd.__gwt_historyToken;}
-function xk(a){bh(a);}
-function qk(){}
-_=qk.prototype=new uT();_.tN=kfc+'HistoryImpl';_.tI=24;function tk(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;xk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
-function uk(b,a){if(a==null){a='';}$wnd.location.hash=encodeURIComponent(a);}
-function rk(){}
-_=rk.prototype=new qk();_.tN=kfc+'HistoryImplStandard';_.tI=25;function Ak(a){AT(a,'This application is out of date, please click the refresh button on your browser');return a;}
-function zk(){}
-_=zk.prototype=new zT();_.tN=lfc+'IncompatibleRemoteServiceException';_.tI=26;function Ek(b,a){}
-function Fk(b,a){}
-function bl(b,a){BT(b,a,null);return b;}
-function al(){}
-_=al.prototype=new zT();_.tN=lfc+'InvocationException';_.tI=27;function nl(){return this.b;}
-function fl(){}
-_=fl.prototype=new kS();_.zb=nl;_.tN=lfc+'SerializableException';_.tI=28;_.b=null;function jl(b,a){ml(a,b.Ed());}
-function kl(a){return a.b;}
-function ll(b,a){b.gf(kl(a));}
-function ml(a,b){a.b=b;}
-function pl(b,a){lS(b,a);return b;}
-function ol(){}
-_=ol.prototype=new kS();_.tN=lfc+'SerializationException';_.tI=29;function ul(a){bl(a,'Service implementation URL not specified');return a;}
-function tl(){}
-_=tl.prototype=new al();_.tN=lfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=30;function zl(b,a){}
-function Al(a){return FR(a.zd());}
-function Bl(b,a){b.bf(a.a);}
-function El(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Dd());}}
-function Fl(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.ff(a[c]);}}
-function cm(b,a){}
-function dm(a){return a.Ed();}
-function em(b,a){b.gf(a);}
-function hm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Ad();}}
-function im(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.cf(a[c]);}}
-function lm(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();EX(b,c);}}
-function mm(e,a){var b,c,d;d=a.b;e.df(d);b=a.qc();while(b.kc()){c=b.sc();e.ff(c);}}
-function pm(b,a){}
-function qm(a){return jZ(new hZ(),a.Cd());}
-function rm(b,a){b.ef(mZ(a));}
-function um(e,b){var a,c,d,f;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();f=e.Dd();a1(b,c,f);}}
-function vm(f,c){var a,b,d,e;e=c.c;f.df(e);b=E0(c);d=u0(b);while(m0(d)){a=n0(d);f.ff(a.yb());f.ff(a.ec());}}
-function ym(d,b){var a,c;c=d.Bd();for(a=0;a<c;++a){u1(b,d.Dd());}}
-function zm(c,a){var b;c.df(a.a.c);for(b=w1(a);xW(b);){c.ff(yW(b));}}
-function Cm(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();h2(b,c);}}
-function Dm(e,a){var b,c,d;d=a.a.b;e.df(d);b=j2(a);while(b.kc()){c=b.sc();e.ff(c);}}
-function vn(a){return a.j>2;}
-function wn(b,a){b.i=a;}
-function xn(a,b){a.j=b;}
-function Em(){}
-_=Em.prototype=new uT();_.tN=ofc+'AbstractSerializationStream';_.tI=31;_.i=0;_.j=3;function an(a){a.e=CX(new AX());}
-function bn(a){an(a);return a;}
-function dn(b,a){aY(b.e);xn(b,En(b));wn(b,En(b));}
-function en(a){var b,c;b=a.Bd();if(b<0){return dY(a.e,-(b+1));}c=a.cc(b);if(c===null){return null;}return a.jb(c);}
-function fn(b,a){EX(b.e,a);}
-function gn(){return en(this);}
-function Fm(){}
-_=Fm.prototype=new Em();_.Dd=gn;_.tN=ofc+'AbstractSerializationStreamReader';_.tI=32;function kn(b,a){b.E(a?'1':'0');}
-function ln(b,a){b.E(dV(a));}
-function mn(c,a){var b,d;if(a===null){nn(c,null);return;}b=c.wb(a);if(b>=0){ln(c,-(b+1));return;}c.ge(a);d=c.Bb(a);nn(c,d);c.je(a,d);}
-function nn(a,b){ln(a,a.z(b));}
-function on(a){kn(this,a);}
-function pn(a){this.E(dV(a));}
-function qn(a){ln(this,a);}
-function rn(a){this.E(eV(a));}
-function sn(a){mn(this,a);}
-function tn(a){nn(this,a);}
-function hn(){}
-_=hn.prototype=new Em();_.bf=on;_.cf=pn;_.df=qn;_.ef=rn;_.ff=sn;_.gf=tn;_.tN=ofc+'AbstractSerializationStreamWriter';_.tI=33;function zn(b,a){bn(b);b.c=a;return b;}
-function Bn(b,a){if(!a){return null;}return b.d[a-1];}
-function Cn(b,a){b.b=co(a);b.a=eo(b.b);dn(b,a);b.d=Fn(b);}
-function Dn(a){return !(!a.b[--a.a]);}
-function En(a){return a.b[--a.a];}
-function Fn(a){return a.b[--a.a];}
-function ao(a){return Bn(a,En(a));}
-function bo(b){var a;a=this.c.nc(this,b);fn(this,a);this.c.ib(this,a,b);return a;}
-function co(a){return eval(a);}
-function eo(a){return a.length;}
-function fo(a){return Bn(this,a);}
-function go(){return Dn(this);}
-function ho(){return this.b[--this.a];}
-function io(){return En(this);}
-function jo(){return this.b[--this.a];}
-function ko(){return ao(this);}
-function yn(){}
-_=yn.prototype=new Fm();_.jb=bo;_.cc=fo;_.zd=go;_.Ad=ho;_.Bd=io;_.Cd=jo;_.Ed=ko;_.tN=ofc+'ClientSerializationStreamReader';_.tI=34;_.a=0;_.b=null;_.c=null;_.d=null;function mo(a){a.h=CX(new AX());}
-function no(d,c,a,b){mo(d);d.f=c;d.b=a;d.e=b;return d;}
-function po(c,a){var b=c.d[a];return b==null?-1:b;}
-function qo(c,a){var b=c.g[':'+a];return b==null?0:b;}
-function ro(a){a.c=0;a.d=ib();a.g=ib();aY(a.h);a.a=FT(new ET());if(vn(a)){nn(a,a.b);nn(a,a.e);}}
-function so(b,a,c){b.d[a]=c;}
-function to(b,a,c){b.g[':'+a]=c;}
-function uo(b){var a;a=FT(new ET());vo(b,a);xo(b,a);wo(b,a);return fU(a);}
-function vo(b,a){zo(a,dV(b.j));zo(a,dV(b.i));}
-function wo(b,a){bU(a,fU(b.a));}
-function xo(d,a){var b,c;c=d.h.b;zo(a,dV(c));for(b=0;b<c;++b){zo(a,Fb(dY(d.h,b),1));}return a;}
-function yo(b){var a;if(b===null){return 0;}a=qo(this,b);if(a>0){return a;}EX(this.h,b);a=this.h.b;to(this,b,a);return a;}
-function zo(a,b){bU(a,b);aU(a,65535);}
-function Ao(a){zo(this.a,a);}
-function Bo(a){return po(this,jV(a));}
-function Co(a){var b,c;c=w(a);b=this.f.bc(c);if(b!==null){c+='/'+b;}return c;}
-function Do(a){so(this,jV(a),this.c++);}
-function Eo(a,b){this.f.ie(this,a,b);}
-function Fo(){return uo(this);}
-function lo(){}
-_=lo.prototype=new hn();_.z=yo;_.E=Ao;_.wb=Bo;_.Bb=Co;_.ge=Do;_.je=Eo;_.tS=Fo;_.tN=ofc+'ClientSerializationStreamWriter';_.tI=35;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function jN(b,a){FN(b.dc(),a,true);}
-function lN(a){return Ae(a.ub());}
-function mN(a){return Be(a.ub());}
-function nN(a){return af(a.w,'offsetHeight');}
-function oN(a){return af(a.w,'offsetWidth');}
-function pN(b,a){FN(b.dc(),a,false);}
-function qN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
-function rN(b,a){if(b.w!==null){qN(b,b.w,a);}b.w=a;}
-function sN(b,c,a){if(c>=0){b.Be(c+'px');}if(a>=0){b.qe(a+'px');}}
-function tN(b,c,a){b.Be(c);b.qe(a);}
-function uN(b,a){EN(b.dc(),a);}
-function vN(b,a){Ef(b.ub(),a|cf(b.ub()));}
-function wN(){return this.w;}
-function xN(){return nN(this);}
-function yN(){return oN(this);}
-function zN(){return this.w;}
-function AN(a){return bf(a,'className');}
-function BN(a){return a.style.display!='none';}
-function CN(a){rN(this,a);}
-function DN(a){Df(this.w,'height',a);}
-function EN(a,b){xf(a,'className',b);}
-function FN(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw AT(new zT(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=AU(j);if(rU(j)==0){throw pS(new oS(),'Style names cannot be empty');}i=AN(c);e=pU(i,j);while(e!=(-1)){if(e==0||iU(i,e-1)==32){f=e+rU(j);g=rU(i);if(f==g||f<g&&iU(i,f)==32){break;}}e=qU(i,j,e+1);}if(a){if(e==(-1)){if(rU(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=AU(xU(i,0,e));d=AU(wU(i,e+rU(j)));if(rU(b)==0){h=d;}else if(rU(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
-function aO(a){if(a===null||rU(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
-function bO(a,b){a.style.display=b?'':'none';}
-function cO(a){bO(this.w,a);}
-function dO(a){Df(this.w,'width',a);}
-function eO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
-function iN(){}
-_=iN.prototype=new uT();_.ub=wN;_.Cb=xN;_.Db=yN;_.dc=zN;_.me=CN;_.qe=DN;_.te=aO;_.ye=cO;_.Be=dO;_.tS=eO;_.tN=pfc+'UIObject';_.tI=36;_.w=null;function qP(a){if(a.oc()){throw sS(new rS(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.ub(),a);a.kb();a.fd();}
-function rP(a){if(!a.oc()){throw sS(new rS(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.td();}finally{a.mb();yf(a.ub(),null);a.t=false;}}
-function sP(a){if(ac(a.v,54)){Fb(a.v,54).ee(a);}else if(a.v!==null){throw sS(new rS(),"This widget's parent does not implement HasWidgets");}}
-function tP(b,a){if(b.oc()){yf(b.ub(),null);}rN(b,a);if(b.oc()){yf(a,b);}}
-function uP(b,a){b.u=a;}
-function vP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.oc()){c.Bc();}c.v=null;}else{if(a!==null){throw sS(new rS(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.oc()){c.uc();}}}
-function wP(){}
-function xP(){}
-function yP(){return this.t;}
-function zP(){qP(this);}
-function AP(a){}
-function BP(){rP(this);}
-function CP(){}
-function DP(){}
-function EP(a){tP(this,a);}
-function oO(){}
-_=oO.prototype=new iN();_.kb=wP;_.mb=xP;_.oc=yP;_.uc=zP;_.wc=AP;_.Bc=BP;_.fd=CP;_.td=DP;_.me=EP;_.tN=pfc+'Widget';_.tI=37;_.t=false;_.u=null;_.v=null;function uD(b,a){vP(a,b);}
-function wD(b,a){vP(a,null);}
-function xD(){var a;a=this.qc();while(a.kc()){a.sc();a.ce();}}
-function yD(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),20);a.uc();}}
-function zD(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),20);a.Bc();}}
-function AD(){}
-function BD(){}
-function tD(){}
-_=tD.prototype=new oO();_.ab=xD;_.kb=yD;_.mb=zD;_.fd=AD;_.td=BD;_.tN=pfc+'Panel';_.tI=38;function vq(a){a.f=yO(new pO(),a);}
-function wq(a){vq(a);return a;}
-function xq(c,a,b){sP(a);zO(c.f,a);td(b,a.ub());uD(c,a);}
-function yq(d,b,a){var c;Aq(d,a);if(b.v===d){c=Cq(d,b);if(c<a){a--;}}return a;}
-function zq(b,a){if(a<0||a>=b.f.c){throw new uS();}}
-function Aq(b,a){if(a<0||a>b.f.c){throw new uS();}}
-function Dq(b,a){return BO(b.f,a);}
-function Cq(b,a){return CO(b.f,a);}
-function Eq(e,b,c,a,d){a=yq(e,b,a);sP(b);DO(e.f,b,a);if(d){hf(c,b.ub(),a);}else{td(c,b.ub());}uD(e,b);}
-function Fq(a){return EO(a.f);}
-function ar(b,c){var a;if(c.v!==b){return false;}wD(b,c);a=c.ub();nf(ff(a),a);aP(b.f,c);return true;}
-function br(){return Fq(this);}
-function cr(a){return this.ee(Dq(this,a));}
-function dr(a){return ar(this,a);}
-function uq(){}
-_=uq.prototype=new tD();_.qc=br;_.de=cr;_.ee=dr;_.tN=pfc+'ComplexPanel';_.tI=39;function cp(a){wq(a);a.me(xd());Df(a.ub(),'position','relative');Df(a.ub(),'overflow','hidden');return a;}
-function dp(a,b){xq(a,b,a.ub());}
-function fp(b,c){var a;a=ar(b,c);if(a){gp(c.ub());}return a;}
-function gp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
-function hp(a){return fp(this,a);}
-function bp(){}
-_=bp.prototype=new uq();_.ee=hp;_.tN=pfc+'AbsolutePanel';_.tI=40;function ip(){}
-_=ip.prototype=new uT();_.tN=pfc+'AbstractImagePrototype';_.tI=41;function hu(){hu=s2;lu=(yQ(),CQ);}
-function fu(b,a){hu();ju(b,a);return b;}
-function gu(b,a){if(b.k===null){b.k=Bt(new At());}EX(b.k,a);}
-function iu(b,a){switch(xe(a)){case 1:if(b.j!==null){sq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){Dt(b.k,b,a);}break;case 128:case 512:case 256:break;}}
-function ju(b,a){tP(b,a);vN(b,7041);}
-function ku(a){if(this.j===null){this.j=qq(new pq());}EX(this.j,a);}
-function mu(a){iu(this,a);}
-function nu(a){ju(this,a);}
-function ou(a){vf(this.ub(),'disabled',!a);}
-function pu(a){if(a){lu.rb(this.ub());}else{lu.F(this.ub());}}
-function qu(a){lu.se(this.ub(),a);}
-function eu(){}
-_=eu.prototype=new oO();_.x=ku;_.wc=mu;_.me=nu;_.ne=ou;_.oe=pu;_.re=qu;_.tN=pfc+'FocusWidget';_.tI=42;_.j=null;_.k=null;var lu;function np(){np=s2;hu();}
-function mp(b,a){np();fu(b,a);return b;}
-function op(a){Af(this.ub(),a);}
-function lp(){}
-_=lp.prototype=new eu();_.pe=op;_.tN=pfc+'ButtonBase';_.tI=43;function rp(){rp=s2;np();}
-function pp(a){rp();mp(a,wd());sp(a.ub());uN(a,'gwt-Button');return a;}
-function qp(b,a){rp();pp(b);b.pe(a);return b;}
-function sp(b){rp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
-function kp(){}
-_=kp.prototype=new lp();_.tN=pfc+'Button';_.tI=44;function up(a){wq(a);a.e=ge();a.d=de();td(a.e,a.d);a.me(a.e);return a;}
-function wp(c,b,a){xf(b,'align',a.a);}
-function xp(c,b,a){Df(b,'verticalAlign',a.a);}
-function yp(c,a){var b;b=ff(c.ub());xf(b,'height',a);}
-function zp(b,c){var a;a=ff(b.ub());xf(a,'width',c);}
-function tp(){}
-_=tp.prototype=new uq();_.ke=yp;_.le=zp;_.tN=pfc+'CellPanel';_.tI=45;_.d=null;_.e=null;function vV(d,a,b){var c;while(a.kc()){c=a.sc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
-function xV(a){throw sV(new rV(),'add');}
-function yV(b){var a;a=vV(this,this.qc(),b);return a!==null;}
-function zV(){return this.Fe(yb('[Ljava.lang.Object;',[609],[12],[this.Ce()],null));}
-function AV(a){var b,c,d;d=this.Ce();if(a.a<d){a=tb(a,d);}b=0;for(c=this.qc();c.kc();){Ab(a,b++,c.sc());}if(a.a>d){Ab(a,d,null);}return a;}
-function BV(){var a,b,c;c=FT(new ET());a=null;bU(c,'[');b=this.qc();while(b.kc()){if(a!==null){bU(c,a);}else{a=', ';}bU(c,fV(b.sc()));}bU(c,']');return fU(c);}
-function uV(){}
-_=uV.prototype=new uT();_.C=xV;_.eb=yV;_.Ee=zV;_.Fe=AV;_.tS=BV;_.tN=tfc+'AbstractCollection';_.tI=46;function fW(b,a){throw vS(new uS(),'Index: '+a+', Size: '+b.b);}
-function gW(b,a){throw sV(new rV(),'add');}
-function hW(a){this.B(this.Ce(),a);return true;}
-function iW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ce()!=f.Ce()){return false;}c=this.qc();d=f.qc();while(c.kc()){a=c.sc();b=d.sc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
-function jW(){var a,b,c,d;c=1;a=31;b=this.qc();while(b.kc()){d=b.sc();c=31*c+(d===null?0:d.hC());}return c;}
-function kW(){return EV(new DV(),this);}
-function lW(a){throw sV(new rV(),'remove');}
-function CV(){}
-_=CV.prototype=new uV();_.B=gW;_.C=hW;_.eQ=iW;_.hC=jW;_.qc=kW;_.de=lW;_.tN=tfc+'AbstractList';_.tI=47;function BX(a){{FX(a);}}
-function CX(a){BX(a);return a;}
-function DX(c,a,b){if(a<0||a>c.b){fW(c,a);}kY(c.a,a,b);++c.b;}
-function EX(b,a){tY(b.a,b.b++,a);return true;}
-function aY(a){FX(a);}
-function FX(a){a.a=gb();a.b=0;}
-function cY(b,a){return eY(b,a)!=(-1);}
-function dY(b,a){if(a<0||a>=b.b){fW(b,a);}return pY(b.a,a);}
-function eY(b,a){return fY(b,a,0);}
-function fY(c,b,a){if(a<0){fW(c,a);}for(;a<c.b;++a){if(oY(b,pY(c.a,a))){return a;}}return (-1);}
-function gY(a){return a.b==0;}
-function hY(c,a){var b;b=dY(c,a);rY(c.a,a,1);--c.b;return b;}
-function iY(c,b){var a;a=eY(c,b);if(a==(-1)){return false;}hY(c,a);return true;}
-function jY(d,a,b){var c;c=dY(d,a);tY(d.a,a,b);return c;}
-function lY(a,b){DX(this,a,b);}
-function mY(a){return EX(this,a);}
-function kY(a,b,c){a.splice(b,0,c);}
-function nY(a){return cY(this,a);}
-function oY(a,b){return a===b||a!==null&&a.eQ(b);}
-function qY(a){return dY(this,a);}
-function pY(a,b){return a[b];}
-function sY(a){return hY(this,a);}
-function rY(a,c,b){a.splice(c,b);}
-function tY(a,b,c){a[b]=c;}
-function uY(){return this.b;}
-function vY(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,pY(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
-function AX(){}
-_=AX.prototype=new CV();_.B=lY;_.C=mY;_.eb=nY;_.hc=qY;_.de=sY;_.Ce=uY;_.Fe=vY;_.tN=tfc+'ArrayList';_.tI=48;_.a=null;_.b=0;function Bp(a){CX(a);return a;}
-function Dp(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),41);b.yc(c);}}
-function Ap(){}
-_=Ap.prototype=new AX();_.tN=pfc+'ChangeListenerCollection';_.tI=49;function dq(){dq=s2;np();}
-function aq(a){dq();bq(a,Cd());uN(a,'gwt-CheckBox');return a;}
-function cq(b,a){dq();aq(b);hq(b,a);return b;}
-function bq(b,a){var c;dq();mp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.ub()));Ef(b.ub(),0);td(b.ub(),b.a);td(b.ub(),b.b);c='check'+ ++oq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
-function eq(a){return ef(a.b);}
-function fq(b){var a;a=b.oc()?'checked':'defaultChecked';return Fe(b.a,a);}
-function gq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
-function hq(b,a){Bf(b.b,a);}
-function iq(){yf(this.a,this);}
-function jq(){yf(this.a,null);gq(this,fq(this));}
-function kq(a){vf(this.a,'disabled',!a);}
-function lq(a){if(a){lu.rb(this.a);}else{lu.F(this.a);}}
-function mq(a){Af(this.b,a);}
-function nq(a){lu.se(this.a,a);}
-function Fp(){}
-_=Fp.prototype=new lp();_.fd=iq;_.td=jq;_.ne=kq;_.oe=lq;_.pe=mq;_.re=nq;_.tN=pfc+'CheckBox';_.tI=50;_.a=null;_.b=null;var oq=0;function qq(a){CX(a);return a;}
-function sq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),42);b.zc(c);}}
-function pq(){}
-_=pq.prototype=new AX();_.tN=pfc+'ClickListenerCollection';_.tI=51;function gr(a,b){if(a.k!==null){throw sS(new rS(),'Composite.initWidget() may only be called once.');}sP(b);a.me(b.ub());a.k=b;vP(b,a);}
-function hr(){if(this.k===null){throw sS(new rS(),'initWidget() was never called in '+w(this));}return this.w;}
-function ir(){if(this.k!==null){return this.k.oc();}return false;}
-function jr(){this.k.uc();this.fd();}
-function kr(){try{this.td();}finally{this.k.Bc();}}
-function er(){}
-_=er.prototype=new oO();_.ub=hr;_.oc=ir;_.uc=jr;_.Bc=kr;_.tN=pfc+'Composite';_.tI=52;_.k=null;function mr(a){wq(a);a.me(xd());return a;}
-function or(b,c){var a;a=c.ub();Df(a,'width','100%');Df(a,'height','100%');c.ye(false);}
-function pr(b,c,a){Eq(b,c,b.ub(),a,true);or(b,c);}
-function qr(b,c){var a;a=ar(b,c);if(a){rr(b,c);if(b.b===c){b.b=null;}}return a;}
-function rr(a,b){Df(b.ub(),'width','');Df(b.ub(),'height','');b.ye(true);}
-function sr(b,a){zq(b,a);if(b.b!==null){b.b.ye(false);}b.b=Dq(b,a);b.b.ye(true);}
-function tr(a){return qr(this,a);}
-function lr(){}
-_=lr.prototype=new uq();_.ee=tr;_.tN=pfc+'DeckPanel';_.tI=53;_.b=null;function AG(a){BG(a,xd());return a;}
-function BG(b,a){b.me(a);return b;}
-function CG(a,b){if(a.r!==null){throw sS(new rS(),'SimplePanel can only contain one child widget');}a.Ae(b);}
-function EG(a,b){if(b===a.r){return;}if(b!==null){sP(b);}if(a.r!==null){a.ee(a.r);}a.r=b;if(b!==null){td(a.tb(),a.r.ub());uD(a,b);}}
-function FG(){return this.ub();}
-function aH(){return vG(new tG(),this);}
-function bH(a){if(this.r!==a){return false;}wD(this,a);nf(this.tb(),a.ub());this.r=null;return true;}
-function cH(a){EG(this,a);}
-function sG(){}
-_=sG.prototype=new tD();_.tb=FG;_.qc=aH;_.ee=bH;_.Ae=cH;_.tN=pfc+'SimplePanel';_.tI=54;_.r=null;function eE(){eE=s2;uE=new gR();}
-function aE(a){eE();BG(a,iR(uE));lE(a,0,0);return a;}
-function bE(b,a){eE();aE(b);b.k=a;return b;}
-function cE(c,a,b){eE();bE(c,a);c.o=b;return c;}
-function dE(b,a){if(a.blur){a.blur();}}
-function fE(a){return a.ub();}
-function gE(a){return oN(a);}
-function hE(a){iE(a,false);}
-function iE(b,a){if(!b.p){return;}b.p=false;fp(iG(),b);b.ub();}
-function jE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.qe(a.l);}if(a.m!==null){b.Be(a.m);}}}
-function kE(e,b){var a,c,d,f;d=ve(b);c=kf(e.ub(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){iE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){dE(e,d);return false;}}}return !e.o||c;}
-function lE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.ub();Df(a,'left',b+'px');Df(a,'top',d+'px');}
-function mE(a,b){EG(a,b);jE(a);}
-function nE(a,b){a.m=b;jE(a);if(rU(b)==0){a.m=null;}}
-function oE(a){if(a.p){return;}a.p=true;sd(a);Df(a.ub(),'position','absolute');if(a.q!=(-1)){lE(a,a.n,a.q);}dp(iG(),a);a.ub();}
-function pE(){return fE(this);}
-function qE(){return nN(this);}
-function rE(){return gE(this);}
-function sE(){return this.ub();}
-function tE(){hE(this);}
-function vE(){pf(this);rP(this);}
-function wE(a){return kE(this,a);}
-function xE(a){this.l=a;jE(this);if(rU(a)==0){this.l=null;}}
-function yE(b){var a;a=fE(this);if(b===null||rU(b)==0){of(a,'title');}else{uf(a,'title',b);}}
-function zE(a){Df(this.ub(),'visibility',a?'visible':'hidden');this.ub();}
-function AE(a){mE(this,a);}
-function BE(a){nE(this,a);}
-function FD(){}
-_=FD.prototype=new sG();_.tb=pE;_.Cb=qE;_.Db=rE;_.dc=sE;_.lc=tE;_.Bc=vE;_.Cc=wE;_.qe=xE;_.te=yE;_.ye=zE;_.Ae=AE;_.Be=BE;_.tN=pfc+'PopupPanel';_.tI=55;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var uE;function zr(){zr=s2;eE();}
-function vr(a){a.e=dz(new hw());a.j=lt(new ft());}
-function wr(a){zr();xr(a,false);return a;}
-function xr(b,a){zr();yr(b,a,true);return b;}
-function yr(c,a,b){zr();cE(c,a,b);vr(c);c.j.ze(0,0,c.e);c.j.qe('100%');ry(c.j,0);ty(c.j,0);uy(c.j,0);Cw(c.j.n,1,0,'100%');bx(c.j.n,1,0,'100%');Bw(c.j.n,1,0,(oz(),pz),(xz(),zz));mE(c,c.j);uN(c,'gwt-DialogBox');uN(c.e,'Caption');EB(c.e,c);return c;}
-function Ar(b,a){hz(b.e,a);}
-function Br(b,a){bC(b.e,a);}
-function Cr(a,b){if(a.f!==null){qy(a.j,a.f);}if(b!==null){a.j.ze(1,0,b);}a.f=b;}
-function Dr(a){if(xe(a)==4){if(kf(this.e.ub(),ve(a))){ye(a);}}return kE(this,a);}
-function Er(a,b,c){this.i=true;tf(this.e.ub());this.g=b;this.h=c;}
-function Fr(a){}
-function as(a){}
-function bs(c,d,e){var a,b;if(this.i){a=d+lN(this);b=e+mN(this);lE(this,a-this.g,b-this.h);}}
-function cs(a,b,c){this.i=false;mf(this.e.ub());}
-function ds(a){if(this.f!==a){return false;}qy(this.j,a);return true;}
-function es(a){Cr(this,a);}
-function fs(a){nE(this,a);this.j.Be('100%');}
-function ur(){}
-_=ur.prototype=new FD();_.Cc=Dr;_.hd=Er;_.id=Fr;_.jd=as;_.kd=bs;_.ld=cs;_.ee=ds;_.Ae=es;_.Be=fs;_.tN=pfc+'DialogBox';_.tI=56;_.f=null;_.g=0;_.h=0;_.i=false;function rs(){rs=s2;xs=new hs();ys=new hs();zs=new hs();As=new hs();Bs=new hs();}
-function os(a){a.b=(oz(),qz);a.c=(xz(),Az);}
-function ps(a){rs();up(a);os(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
-function qs(c,d,a){var b;if(a===xs){if(d===c.a){return;}else if(c.a!==null){throw pS(new oS(),'Only one CENTER widget may be added');}}sP(d);zO(c.f,d);if(a===xs){c.a=d;}b=ks(new js(),a);uP(d,b);us(c,d,c.b);vs(c,d,c.c);ss(c);uD(c,d);}
-function ss(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=EO(p.f);tO(h);){c=uO(h);e=c.u.a;if(e===zs||e===As){++l;}else if(e===ys||e===Bs){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[631],[33],[l],null);for(g=0;g<l;++g){m[g]=new ms();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=EO(p.f);tO(h);){c=uO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===zs){hf(m[j].b,o,m[j].a);td(o,c.ub());wf(o,'colSpan',f-q+1);++j;}else if(i.a===As){hf(m[n].b,o,m[n].a);td(o,c.ub());wf(o,'colSpan',f-q+1);--n;}else if(i.a===Bs){k=m[j];hf(k.b,o,k.a++);td(o,c.ub());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===ys){k=m[j];hf(k.b,o,k.a);td(o,c.ub());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===xs){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.ub());}}
-function ts(b,c){var a;a=ar(b,c);if(a){if(c===b.a){b.a=null;}ss(b);}return a;}
-function us(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
-function vs(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
-function ws(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
-function Cs(a){return ts(this,a);}
-function Ds(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
-function Es(a,b){ws(this,a,b);}
-function gs(){}
-_=gs.prototype=new tp();_.ee=Cs;_.ke=Ds;_.le=Es;_.tN=pfc+'DockPanel';_.tI=57;_.a=null;var xs,ys,zs,As,Bs;function hs(){}
-_=hs.prototype=new uT();_.tN=pfc+'DockPanel$DockLayoutConstant';_.tI=58;function ks(b,a){b.a=a;return b;}
-function js(){}
-_=js.prototype=new uT();_.tN=pfc+'DockPanel$LayoutData';_.tI=59;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function ms(){}
-_=ms.prototype=new uT();_.tN=pfc+'DockPanel$TmpRow';_.tI=60;_.a=0;_.b=null;function at(a){a.me(yd('input'));xf(a.ub(),'type','file');uN(a,'gwt-FileUpload');return a;}
-function ct(a){return bf(a.ub(),'value');}
-function dt(b,a){xf(b.ub(),'name',a);}
-function Fs(){}
-_=Fs.prototype=new oO();_.tN=pfc+'FileUpload';_.tI=61;function Bx(a){a.s=rx(new mx());}
-function Cx(a){Bx(a);a.q=ge();a.m=de();td(a.q,a.m);a.me(a.q);vN(a,1);return a;}
-function Dx(b,a){if(b.r===null){b.r=FJ(new EJ());}EX(b.r,a);}
-function Ex(d,c,b){var a;Fx(d,c);if(b<0){throw vS(new uS(),'Column '+b+' must be non-negative: '+b);}a=d.sb(c);if(a<=b){throw vS(new uS(),'Column index: '+b+', Column size: '+d.sb(c));}}
-function Fx(c,a){var b;b=c.Fb();if(a>=b||a<0){throw vS(new uS(),'Row index: '+a+', Row size: '+b);}}
-function ay(e,c,b,a){var d;d=yw(e.n,c,b);ny(e,d,a);return d;}
-function by(d){var a,b,c;for(c=0;c<d.Fb();++c){for(b=0;b<d.sb(c);++b){a=jy(d,c,b);if(a!==null){qy(d,a);}}}}
-function dy(a){return ee();}
-function ey(c,b,a){return b.rows[a].cells.length;}
-function fy(a){return gy(a,a.m);}
-function gy(b,a){return a.rows.length;}
-function hy(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(mU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
-function iy(d,c,a){var b;Ex(d,c,a);b=xw(d.n,c,a);return ef(b);}
-function ky(c,b,a){Ex(c,b,a);return jy(c,b,a);}
-function jy(e,d,b){var a,c;c=yw(e.n,d,b);a=df(c);if(a===null){return null;}else{return tx(e.s,a);}}
-function ly(d,b,a){var c,e;e=kx(d.p,d.m,b);c=d.fb();hf(e,c,a);}
-function my(b,a){var c;if(a!=pt(b)){Fx(b,a);}c=fe();hf(b.m,c,a);return a;}
-function ny(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=tx(d.s,b);}if(e!==null){qy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
-function qy(b,c){var a;if(c.v!==b){return false;}wD(b,c);a=c.ub();nf(ff(a),a);wx(b.s,a);return true;}
-function oy(d,b,a){var c,e;Ex(d,b,a);c=ay(d,b,a,false);e=kx(d.p,d.m,b);nf(e,c);}
-function py(d,c){var a,b;b=d.sb(c);for(a=0;a<b;++a){ay(d,c,a,false);}nf(d.m,kx(d.p,d.m,c));}
-function ry(a,b){xf(a.q,'border',''+b);}
-function sy(b,a){b.n=a;}
-function ty(b,a){wf(b.q,'cellPadding',a);}
-function uy(b,a){wf(b.q,'cellSpacing',a);}
-function vy(b,a){b.o=a;fx(b.o);}
-function wy(e,c,a,b){var d;Cv(e,c,a);d=ay(e,c,a,b===null);if(b!==null){Af(d,b);}}
-function xy(b,a){b.p=a;}
-function yy(e,b,a,d){var c;e.xd(b,a);c=ay(e,b,a,d===null);if(d!==null){Bf(c,d);}}
-function zy(d,b,a,e){var c;d.xd(b,a);if(e!==null){sP(e);c=ay(d,b,a,true);ux(d.s,e);td(c,e.ub());uD(d,e);}}
-function Ay(){by(this);}
-function By(){return dy(this);}
-function Cy(b,a){ly(this,b,a);}
-function Dy(){return xx(this.s);}
-function Ey(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=hy(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);bK(this.r,this,d,b);}break;}default:}}
-function bz(a){return qy(this,a);}
-function Fy(b,a){oy(this,b,a);}
-function az(a){py(this,a);}
-function cz(b,a,c){zy(this,b,a,c);}
-function iw(){}
-_=iw.prototype=new tD();_.ab=Ay;_.fb=By;_.mc=Cy;_.qc=Dy;_.wc=Ey;_.ee=bz;_.Fd=Fy;_.be=az;_.ze=cz;_.tN=pfc+'HTMLTable';_.tI=62;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function lt(a){Cx(a);sy(a,ht(new gt(),a));xy(a,hx(new gx(),a));vy(a,dx(new cx(),a));return a;}
-function nt(b,a){Fx(b,a);return ey(b,b.m,a);}
-function ot(a){return Fb(a.n,43);}
-function pt(a){return fy(a);}
-function qt(b,a){return my(b,a);}
-function rt(d,b){var a,c;if(b<0){throw vS(new uS(),'Cannot create a row with a negative index: '+b);}c=pt(d);for(a=c;a<=b;a++){qt(d,a);}}
-function st(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
-function tt(a){return nt(this,a);}
-function ut(){return pt(this);}
-function vt(b,a){ly(this,b,a);}
-function wt(d,b){var a,c;rt(this,d);if(b<0){throw vS(new uS(),'Cannot create a column with a negative index: '+b);}a=nt(this,d);c=b+1-a;if(c>0){st(this.m,d,c);}}
-function xt(a){rt(this,a);}
-function yt(b,a){oy(this,b,a);}
-function zt(a){py(this,a);}
-function ft(){}
-_=ft.prototype=new iw();_.sb=tt;_.Fb=ut;_.mc=vt;_.xd=wt;_.yd=xt;_.Fd=yt;_.be=zt;_.tN=pfc+'FlexTable';_.tI=63;function tw(b,a){b.a=a;return b;}
-function vw(c,b,a){c.a.xd(b,a);return ww(c,c.a.m,b,a);}
-function ww(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
-function xw(c,b,a){Ex(c.a,b,a);return ww(c,c.a.m,b,a);}
-function yw(c,b,a){return ww(c,c.a.m,b,a);}
-function zw(d,c,a){var b;b=xw(d,c,a);return BN(b);}
-function Aw(e,b,a,c){var d;Ex(e.a,b,a);d=ww(e,e.a.m,b,a);FN(d,c,false);}
-function Bw(d,c,a,b,e){Dw(d,c,a,b);Fw(d,c,a,e);}
-function Cw(e,d,a,c){var b;e.a.xd(d,a);b=ww(e,e.a.m,d,a);xf(b,'height',c);}
-function Dw(e,d,b,a){var c;e.a.xd(d,b);c=ww(e,e.a.m,d,b);xf(c,'align',a.a);}
-function Ew(d,b,a,c){d.a.xd(b,a);EN(ww(d,d.a.m,b,a),c);}
-function Fw(d,c,b,a){d.a.xd(c,b);Df(ww(d,d.a.m,c,b),'verticalAlign',a.a);}
-function ax(d,c,a,e){var b;b=vw(d,c,a);bO(b,e);}
-function bx(c,b,a,d){c.a.xd(b,a);xf(ww(c,c.a.m,b,a),'width',d);}
-function sw(){}
-_=sw.prototype=new uT();_.tN=pfc+'HTMLTable$CellFormatter';_.tI=64;function ht(b,a){tw(b,a);return b;}
-function jt(d,c,b,a){wf(vw(d,c,b),'colSpan',a);}
-function kt(d,b,a,c){wf(vw(d,b,a),'rowSpan',c);}
-function gt(){}
-_=gt.prototype=new sw();_.tN=pfc+'FlexTable$FlexCellFormatter';_.tI=65;function Bt(a){CX(a);return a;}
-function Et(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.Ec(c);}}
-function Dt(c,b,a){switch(xe(a)){case 2048:Et(c,b);break;case 4096:Ft(c,b);break;}}
-function Ft(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.gd(c);}}
-function At(){}
-_=At.prototype=new AX();_.tN=pfc+'FocusListenerCollection';_.tI=66;function cu(){cu=s2;du=(yQ(),BQ);}
-var du;function su(a){CX(a);return a;}
-function uu(f,e,d){var a,b,c;a=ov(new nv(),e,d);for(c=f.qc();c.kc();){b=Fb(c.sc(),45);b.nd(a);}}
-function vu(e,d){var a,b,c;a=new qv();for(c=e.qc();c.kc();){b=Fb(c.sc(),45);b.od(a);}return a.a;}
-function ru(){}
-_=ru.prototype=new AX();_.tN=pfc+'FormHandlerCollection';_.tI=67;function Eu(){Eu=s2;iv=new EQ();}
-function Cu(a){Eu();BG(a,zd());a.b='FormPanel_'+ ++hv;fv(a,a.b);vN(a,32768);return a;}
-function Du(b,a){if(b.a===null){b.a=su(new ru());}EX(b.a,a);}
-function Fu(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
-function av(a){if(a.a!==null){return !vu(a.a,a);}return true;}
-function bv(a){if(a.a!==null){eg(zu(new yu(),a));}}
-function cv(a,b){xf(a.ub(),'action',b);}
-function dv(b,a){dR(iv,b.ub(),a);}
-function ev(b,a){xf(b.ub(),'method',a);}
-function fv(b,a){xf(b.ub(),'target',a);}
-function gv(a){if(a.a!==null){if(vu(a.a,a)){return;}}eR(iv,a.ub(),a.c);}
-function jv(){qP(this);Fu(this);td(hG(),this.c);cR(iv,this.c,this.ub(),this);}
-function kv(){rP(this);fR(iv,this.c,this.ub());nf(hG(),this.c);this.c=null;}
-function lv(){var a;a=x;{return av(this);}}
-function mv(){var a;a=x;{bv(this);}}
-function xu(){}
-_=xu.prototype=new sG();_.uc=jv;_.Bc=kv;_.Fc=lv;_.ad=mv;_.tN=pfc+'FormPanel';_.tI=68;_.a=null;_.b=null;_.c=null;var hv=0,iv;function zu(b,a){b.a=a;return b;}
-function Bu(){uu(this.a.a,this,bR((Eu(),iv),this.a.c));}
-function yu(){}
-_=yu.prototype=new uT();_.pb=Bu;_.tN=pfc+'FormPanel$1';_.tI=69;function BZ(){}
-_=BZ.prototype=new uT();_.tN=tfc+'EventObject';_.tI=70;function ov(c,b,a){c.a=a;return c;}
-function nv(){}
-_=nv.prototype=new BZ();_.tN=pfc+'FormSubmitCompleteEvent';_.tI=71;_.a=null;function sv(b,a){b.a=a;}
-function qv(){}
-_=qv.prototype=new BZ();_.tN=pfc+'FormSubmitEvent';_.tI=72;_.a=false;function uv(a){a.me(Ad());return a;}
-function vv(a,b){uv(a);xv(a,b);return a;}
-function xv(a,b){xf(a.ub(),'src',b);}
-function tv(){}
-_=tv.prototype=new oO();_.tN=pfc+'Frame';_.tI=73;function zv(a){Cx(a);sy(a,tw(new sw(),a));xy(a,hx(new gx(),a));vy(a,dx(new cx(),a));return a;}
-function Av(c,b,a){zv(c);aw(c,b,a);return c;}
-function Cv(c,b,a){Dv(c,b);if(a<0){throw vS(new uS(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw vS(new uS(),'Column index: '+a+', Column size: '+c.k);}}
-function Dv(b,a){if(a<0){throw vS(new uS(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw vS(new uS(),'Row index: '+a+', Row size: '+b.l);}}
-function aw(c,b,a){Ev(c,a);Fv(c,b);}
-function Ev(d,a){var b,c;if(d.k==a){return;}if(a<0){throw vS(new uS(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Fd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.mc(b,c);}}}d.k=a;}
-function Fv(b,a){if(b.l==a){return;}if(a<0){throw vS(new uS(),'Cannot set number of rows to '+a);}if(b.l<a){bw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.be(--b.l);}}}
-function bw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
-function cw(){var a;a=dy(this);Af(a,'&nbsp;');return a;}
-function dw(a){return this.k;}
-function ew(){return this.l;}
-function fw(b,a){Cv(this,b,a);}
-function gw(a){Dv(this,a);}
-function yv(){}
-_=yv.prototype=new iw();_.fb=cw;_.sb=dw;_.Fb=ew;_.xd=fw;_.yd=gw;_.tN=pfc+'Grid';_.tI=74;_.k=0;_.l=0;function BB(a){a.me(xd());vN(a,131197);uN(a,'gwt-Label');return a;}
-function CB(b,a){BB(b);bC(b,a);return b;}
-function DB(b,a){if(b.a===null){b.a=qq(new pq());}EX(b.a,a);}
-function EB(b,a){if(b.b===null){b.b=aD(new FC());}EX(b.b,a);}
-function aC(a){return ef(a.ub());}
-function bC(b,a){Bf(b.ub(),a);}
-function cC(a,b){Df(a.ub(),'whiteSpace',b?'normal':'nowrap');}
-function dC(a){switch(xe(a)){case 1:if(this.a!==null){sq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){eD(this.b,this,a);}break;case 131072:break;}}
-function AB(){}
-_=AB.prototype=new oO();_.wc=dC;_.tN=pfc+'Label';_.tI=75;_.a=null;_.b=null;function dz(a){BB(a);a.me(xd());vN(a,125);uN(a,'gwt-HTML');return a;}
-function ez(b,a){dz(b);hz(b,a);return b;}
-function fz(b,a,c){ez(b,a);cC(b,c);return b;}
-function hz(b,a){Af(b.ub(),a);}
-function hw(){}
-_=hw.prototype=new AB();_.tN=pfc+'HTML';_.tI=76;function kw(a){{nw(a);}}
-function lw(b,a){b.c=a;kw(b);return b;}
-function nw(a){while(++a.b<a.c.b.b){if(dY(a.c.b,a.b)!==null){return;}}}
-function ow(a){return a.b<a.c.b.b;}
-function pw(){return ow(this);}
-function qw(){var a;if(!ow(this)){throw new a2();}a=dY(this.c.b,this.b);this.a=this.b;nw(this);return a;}
-function rw(){var a;if(this.a<0){throw new rS();}a=Fb(dY(this.c.b,this.a),20);sP(a);this.a=(-1);}
-function jw(){}
-_=jw.prototype=new uT();_.kc=pw;_.sc=qw;_.ce=rw;_.tN=pfc+'HTMLTable$1';_.tI=77;_.a=(-1);_.b=(-1);function dx(b,a){b.b=a;return b;}
-function fx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
-function cx(){}
-_=cx.prototype=new uT();_.tN=pfc+'HTMLTable$ColumnFormatter';_.tI=78;_.a=null;function hx(b,a){b.a=a;return b;}
-function jx(b,a){b.a.yd(a);return kx(b,b.a.m,a);}
-function kx(c,a,b){return a.rows[b];}
-function lx(c,a,b){EN(jx(c,a),b);}
-function gx(){}
-_=gx.prototype=new uT();_.tN=pfc+'HTMLTable$RowFormatter';_.tI=79;function qx(a){a.b=CX(new AX());}
-function rx(a){qx(a);return a;}
-function tx(c,a){var b;b=zx(a);if(b<0){return null;}return Fb(dY(c.b,b),20);}
-function ux(b,c){var a;if(b.a===null){a=b.b.b;EX(b.b,c);}else{a=b.a.a;jY(b.b,a,c);b.a=b.a.b;}Ax(c.ub(),a);}
-function vx(c,a,b){yx(a);jY(c.b,b,null);c.a=ox(new nx(),b,c.a);}
-function wx(c,a){var b;b=zx(a);vx(c,a,b);}
-function xx(a){return lw(new jw(),a);}
-function yx(a){a['__widgetID']=null;}
-function zx(a){var b=a['__widgetID'];return b==null?-1:b;}
-function Ax(a,b){a['__widgetID']=b;}
-function mx(){}
-_=mx.prototype=new uT();_.tN=pfc+'HTMLTable$WidgetMapper';_.tI=80;_.a=null;function ox(c,a,b){c.a=a;c.b=b;return c;}
-function nx(){}
-_=nx.prototype=new uT();_.tN=pfc+'HTMLTable$WidgetMapper$FreeNode';_.tI=81;_.a=0;_.b=null;function oz(){oz=s2;pz=mz(new lz(),'center');qz=mz(new lz(),'left');rz=mz(new lz(),'right');}
-var pz,qz,rz;function mz(b,a){b.a=a;return b;}
-function lz(){}
-_=lz.prototype=new uT();_.tN=pfc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=82;_.a=null;function xz(){xz=s2;yz=vz(new uz(),'bottom');zz=vz(new uz(),'middle');Az=vz(new uz(),'top');}
-var yz,zz,Az;function vz(a,b){a.a=b;return a;}
-function uz(){}
-_=uz.prototype=new uT();_.tN=pfc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=83;_.a=null;function Ez(a){a.a=(oz(),qz);a.c=(xz(),Az);}
-function Fz(a){up(a);Ez(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function aA(b,c){var a;a=cA(b);td(b.b,a);xq(b,c,a);}
-function cA(b){var a;a=ee();wp(b,a,b.a);xp(b,a,b.c);return a;}
-function dA(c,d,a){var b;Aq(c,a);b=cA(c);hf(c.b,b,a);Eq(c,d,b,a,false);}
-function eA(c,d){var a,b;b=ff(d.ub());a=ar(c,d);if(a){nf(c.b,b);}return a;}
-function fA(b,a){b.c=a;}
-function gA(a){return eA(this,a);}
-function Dz(){}
-_=Dz.prototype=new tp();_.ee=gA;_.tN=pfc+'HorizontalPanel';_.tI=84;_.b=null;function iA(a){a.me(xd());td(a.ub(),a.a=vd());vN(a,1);uN(a,'gwt-Hyperlink');return a;}
-function jA(c,b,a){iA(c);mA(c,b);lA(c,a);return c;}
-function lA(b,a){b.b=a;xf(b.a,'href','#'+a);}
-function mA(b,a){Bf(b.a,a);}
-function nA(a){if(xe(a)==1){ah(this.b);ye(a);}}
-function hA(){}
-_=hA.prototype=new oO();_.wc=nA;_.tN=pfc+'Hyperlink';_.tI=85;_.a=null;_.b=null;function hB(){hB=s2;z0(new DZ());}
-function dB(a){hB();gB(a,CA(new BA(),a));uN(a,'gwt-Image');return a;}
-function eB(a,b){hB();gB(a,DA(new BA(),a,b));uN(a,'gwt-Image');return a;}
-function fB(b,a){if(b.a===null){b.a=qq(new pq());}EX(b.a,a);}
-function gB(b,a){b.b=a;}
-function jB(a,b){a.b.ve(a,b);}
-function iB(c,e,b,d,f,a){c.b.ue(c,e,b,d,f,a);}
-function kB(a){switch(xe(a)){case 1:{if(this.a!==null){sq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
-function oA(){}
-_=oA.prototype=new oO();_.wc=kB;_.tN=pfc+'Image';_.tI=86;_.a=null;_.b=null;function rA(){}
-function pA(){}
-_=pA.prototype=new uT();_.pb=rA;_.tN=pfc+'Image$1';_.tI=87;function zA(){}
-_=zA.prototype=new uT();_.tN=pfc+'Image$State';_.tI=88;function uA(){uA=s2;wA=new FP();}
-function tA(d,b,f,c,e,g,a){uA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.me(cQ(wA,f,c,e,g,a));vN(b,131197);vA(d,b);return d;}
-function vA(b,a){eg(new pA());}
-function yA(a,b){gB(a,DA(new BA(),a,b));}
-function xA(b,e,c,d,f,a){if(!nU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;aQ(wA,b.ub(),e,c,d,f,a);vA(this,b);}}
-function sA(){}
-_=sA.prototype=new zA();_.ve=yA;_.ue=xA;_.tN=pfc+'Image$ClippedState';_.tI=89;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var wA;function CA(b,a){a.me(Bd());vN(a,229501);return b;}
-function DA(b,a,c){CA(b,a);FA(b,a,c);return b;}
-function FA(b,a,c){zf(a.ub(),c);}
-function bB(a,b){FA(this,a,b);}
-function aB(b,e,c,d,f,a){gB(b,tA(new sA(),b,e,c,d,f,a));}
-function BA(){}
-_=BA.prototype=new zA();_.ve=bB;_.ue=aB;_.tN=pfc+'Image$UnclippedState';_.tI=90;function oB(c,a,b){}
-function pB(c,a,b){}
-function qB(c,a,b){}
-function mB(){}
-_=mB.prototype=new uT();_.cd=oB;_.dd=pB;_.ed=qB;_.tN=pfc+'KeyboardListenerAdapter';_.tI=91;function sB(a){CX(a);return a;}
-function uB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.cd(e,b,d);}}
-function vB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.dd(e,b,d);}}
-function wB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.ed(e,b,d);}}
-function xB(d,c,a){var b;b=yB(a);switch(xe(a)){case 128:uB(d,c,bc(se(a)),b);break;case 512:wB(d,c,bc(se(a)),b);break;case 256:vB(d,c,bc(se(a)),b);break;}}
-function yB(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
-function rB(){}
-_=rB.prototype=new AX();_.tN=pfc+'KeyboardListenerCollection';_.tI=92;function tC(){tC=s2;hu();DC=new fC();}
-function mC(a){tC();nC(a,false);return a;}
-function nC(b,a){tC();fu(b,be(a));vN(b,1024);uN(b,'gwt-ListBox');return b;}
-function oC(b,a){if(b.b===null){b.b=Bp(new Ap());}EX(b.b,a);}
-function pC(b,a){yC(b,a,(-1));}
-function qC(b,a,c){zC(b,a,c,(-1));}
-function rC(b,a){if(a<0||a>=uC(b)){throw new uS();}}
-function sC(a){gC(DC,a.ub());}
-function uC(a){return iC(DC,a.ub());}
-function vC(b,a){rC(b,a);return jC(DC,b.ub(),a);}
-function wC(a){return af(a.ub(),'selectedIndex');}
-function xC(b,a){rC(b,a);return kC(DC,b.ub(),a);}
-function yC(c,b,a){zC(c,b,b,a);}
-function zC(c,b,d,a){jf(c.ub(),b,d,a);}
-function AC(b,a){rC(b,a);lC(DC,b.ub(),a);}
-function BC(b,a){wf(b.ub(),'selectedIndex',a);}
-function CC(a,b){wf(a.ub(),'size',b);}
-function EC(a){if(xe(a)==1024){if(this.b!==null){Dp(this.b,this);}}else{iu(this,a);}}
-function eC(){}
-_=eC.prototype=new eu();_.wc=EC;_.tN=pfc+'ListBox';_.tI=93;_.b=null;var DC;function gC(b,a){a.options.length=0;}
-function iC(b,a){return a.options.length;}
-function jC(c,b,a){return b.options[a].text;}
-function kC(c,b,a){return b.options[a].value;}
-function lC(c,b,a){b.options[a]=null;}
-function fC(){}
-_=fC.prototype=new uT();_.tN=pfc+'ListBox$Impl';_.tI=94;function aD(a){CX(a);return a;}
-function cD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.hd(c,e,f);}}
-function dD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.id(c);}}
-function eD(e,c,a){var b,d,f,g,h;d=c.ub();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:cD(e,c,g,h);break;case 8:hD(e,c,g,h);break;case 64:gD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){dD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){fD(e,c);}break;}}
-function fD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.jd(c);}}
-function gD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.kd(c,e,f);}}
-function hD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.ld(c,e,f);}}
-function FC(){}
-_=FC.prototype=new AX();_.tN=pfc+'MouseListenerCollection';_.tI=95;function jD(){}
-_=jD.prototype=new uT();_.tN=pfc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=96;_.a=null;_.b=null;function nD(b,a){rD(a,b.Ed());sD(a,b.Ed());}
-function oD(a){return a.a;}
-function pD(a){return a.b;}
-function qD(b,a){b.gf(oD(a));b.gf(pD(a));}
-function rD(a,b){a.a=b;}
-function sD(a,b){a.b=b;}
-function qK(){qK=s2;hu();xK=new jR();}
-function mK(b,a){qK();fu(b,a);vN(b,1024);return b;}
-function nK(b,a){if(b.f===null){b.f=Bp(new Ap());}EX(b.f,a);}
-function oK(b,a){if(b.i===null){b.i=sB(new rB());}EX(b.i,a);}
-function pK(a){if(a.h!==null){ye(a.h);}}
-function rK(a){return bf(a.ub(),'value');}
-function sK(b,a){uK(b,a,0);}
-function tK(b,a){xf(b.ub(),'name',a);}
-function uK(c,b,a){if(a<0){throw vS(new uS(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>rU(rK(c))){throw vS(new uS(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+rU(rK(c)));}nR(xK,c.ub(),b,a);}
-function vK(b,a){xf(b.ub(),'value',a!==null?a:'');}
-function wK(a){if(this.g===null){this.g=qq(new pq());}EX(this.g,a);}
-function yK(a){var b;iu(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;xB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){sq(this.g,this);}}else if(b==1024){if(this.f!==null){Dp(this.f,this);}}}
-function lK(){}
-_=lK.prototype=new eu();_.x=wK;_.wc=yK;_.tN=pfc+'TextBoxBase';_.tI=97;_.f=null;_.g=null;_.h=null;_.i=null;var xK;function ED(){ED=s2;qK();}
-function DD(a){ED();mK(a,Dd());uN(a,'gwt-PasswordTextBox');return a;}
-function CD(){}
-_=CD.prototype=new lK();_.tN=pfc+'PasswordTextBox';_.tI=98;function jF(b,a){kF(b,a,null);return b;}
-function kF(c,a,b){c.a=a;mF(c);return c;}
-function lF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=yF(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=yF(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=vF(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
-function mF(a){a.b=0;a.c={};a.d={};}
-function oF(b,a){return cY(pF(b,a,1),a);}
-function pF(c,b,a){var d;d=CX(new AX());if(b!==null&&a>0){rF(c,b,'',d,a);}return d;}
-function qF(a){return EE(new DE(),a);}
-function rF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=yF(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+BF(a);h.De(f,l,c,b);}}else{for(j in k){var l=d+BF(j);if(l.indexOf(f)==0){c.C(l);}if(c.Ce()>=b){return;}}for(var a in i){var l=d+BF(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ce()||h.b==1){h.nb(c,l);}else{for(var j in h.d){c.C(l+BF(j));}for(var g in h.c){c.C(l+BF(g)+'...');}}}}}}
-function sF(a){if(ac(a,1)){return lF(this,Fb(a,1));}else{throw sV(new rV(),'Cannot add non-Strings to PrefixTree');}}
-function tF(a){return lF(this,a);}
-function uF(a){if(ac(a,1)){return oF(this,Fb(a,1));}else{return false;}}
-function vF(a){return jF(new CE(),a);}
-function wF(b,c){var a;for(a=qF(this);bF(a);){b.C(c+Fb(eF(a),1));}}
-function xF(){return qF(this);}
-function yF(a){return Eb(58)+a;}
-function zF(){return this.b;}
-function AF(d,c,b,a){rF(this,d,c,b,a);}
-function BF(a){return wU(a,1);}
-function CE(){}
-_=CE.prototype=new uV();_.C=sF;_.D=tF;_.eb=uF;_.nb=wF;_.qc=xF;_.Ce=zF;_.De=AF;_.tN=pfc+'PrefixTree';_.tI=99;_.a=0;_.b=0;_.c=null;_.d=null;function EE(a,b){cF(a);FE(a,b,'');return a;}
-function FE(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
-function bF(a){return dF(a,true)!==null;}
-function cF(a){a.a=[];}
-function eF(a){var b;b=dF(a,false);if(b===null){if(!bF(a)){throw b2(new a2(),'No more elements in the iterator');}else{throw AT(new zT(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
-function dF(g,b){var d=g.a;var c=yF;var i=BF;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
-function fF(b,a){FE(this,b,a);}
-function gF(){return bF(this);}
-function hF(){return eF(this);}
-function iF(){throw sV(new rV(),'PrefixTree does not support removal.  Use clear()');}
-function DE(){}
-_=DE.prototype=new uT();_.A=fF;_.kc=gF;_.sc=hF;_.ce=iF;_.tN=pfc+'PrefixTree$PrefixTreeIterator';_.tI=100;_.a=null;function FF(){FF=s2;dq();}
-function DF(b,a){FF();bq(b,Ed(a));uN(b,'gwt-RadioButton');return b;}
-function EF(c,b,a){FF();DF(c,b);hq(c,a);return c;}
-function CF(){}
-_=CF.prototype=new Fp();_.tN=pfc+'RadioButton';_.tI=101;function gG(){gG=s2;lG=z0(new DZ());}
-function fG(b,a){gG();cp(b);if(a===null){a=hG();}b.me(a);b.uc();return b;}
-function iG(){gG();return jG(null);}
-function jG(c){gG();var a,b;b=Fb(F0(lG,c),48);if(b!==null){return b;}a=null;if(lG.c==0){kG();}a1(lG,c,b=fG(new aG(),a));return b;}
-function hG(){gG();return $doc.body;}
-function kG(){gG();yh(new bG());}
-function aG(){}
-_=aG.prototype=new bp();_.tN=pfc+'RootPanel';_.tI=102;var lG;function dG(){var a,b;for(b=FW(oX((gG(),lG)));gX(b);){a=Fb(hX(b),48);if(a.oc()){a.Bc();}}}
-function eG(){return null;}
-function bG(){}
-_=bG.prototype=new uT();_.ud=dG;_.vd=eG;_.tN=pfc+'RootPanel$1';_.tI=103;function nG(a){AG(a);qG(a,false);vN(a,16384);return a;}
-function oG(b,a){nG(b);b.Ae(a);return b;}
-function qG(b,a){Df(b.ub(),'overflow',a?'scroll':'auto');}
-function rG(a){xe(a)==16384;}
-function mG(){}
-_=mG.prototype=new sG();_.wc=rG;_.tN=pfc+'ScrollPanel';_.tI=104;function uG(a){a.a=a.c.r!==null;}
-function vG(b,a){b.c=a;uG(b);return b;}
-function xG(){return this.a;}
-function yG(){if(!this.a||this.c.r===null){throw new a2();}this.a=false;return this.b=this.c.r;}
-function zG(){if(this.b!==null){this.c.ee(this.b);}}
-function tG(){}
-_=tG.prototype=new uT();_.kc=xG;_.sc=yG;_.ce=zG;_.tN=pfc+'SimplePanel$1';_.tI=105;_.b=null;function qH(b){var a;wq(b);a=ge();b.me(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);uN(b,'gwt-StackPanel');return b;}
-function rH(a,b){vH(a,b,a.f.c);}
-function sH(c,d,b,a){rH(c,d);xH(c,c.f.c-1,b,a);}
-function uH(d,a){var b,c;while(a!==null&& !ud(a,d.ub())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return BS(b);}else{return (-1);}}a=ff(a);}return (-1);}
-function vH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=yq(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);FN(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');Eq(e,h,c,a,false);AH(e,a);if(e.b==(-1)){zH(e,0);}else{yH(e,a,false);if(e.b>=a){++e.b;}}}
-function wH(e,a,b){var c,d,f;c=ar(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}AH(e,d);}return c;}
-function xH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
-function yH(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);FN(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);bO(d,e);Dq(c,a).ye(e);}
-function zH(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){yH(b,b.b,false);}b.b=a;yH(b,b.b,true);}
-function AH(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
-function BH(a){var b,c;if(xe(a)==1){c=ve(a);b=uH(this,c);if(b!=(-1)){zH(this,b);}}}
-function CH(a){return wH(this,Dq(this,a),a);}
-function DH(a){return wH(this,a,Cq(this,a));}
-function pH(){}
-_=pH.prototype=new uq();_.wc=BH;_.de=CH;_.ee=DH;_.tN=pfc+'StackPanel';_.tI=106;_.a=null;_.b=(-1);function EH(){}
-_=EH.prototype=new uT();_.tN=pfc+'SuggestOracle$Request';_.tI=107;_.a=20;_.b=null;function aI(){}
-_=aI.prototype=new uT();_.tN=pfc+'SuggestOracle$Response';_.tI=108;_.a=null;function fI(b,a){jI(a,b.Bd());kI(a,b.Ed());}
-function gI(a){return a.a;}
-function hI(a){return a.b;}
-function iI(b,a){b.df(gI(a));b.gf(hI(a));}
-function jI(a,b){a.a=b;}
-function kI(a,b){a.b=b;}
-function nI(b,a){qI(a,Fb(b.Dd(),49));}
-function oI(a){return a.a;}
-function pI(b,a){b.ff(oI(a));}
-function qI(a,b){a.a=b;}
-function sI(a){a.a=Fz(new Dz());}
-function tI(c){var a,b;sI(c);gr(c,c.a);vN(c,1);uN(c,'gwt-TabBar');fA(c.a,(xz(),yz));a=fz(new hw(),'&nbsp;',true);b=fz(new hw(),'&nbsp;',true);uN(a,'gwt-TabBarFirst');uN(b,'gwt-TabBarRest');a.qe('100%');b.qe('100%');aA(c.a,a);aA(c.a,b);a.qe('100%');c.a.ke(a,'100%');c.a.le(b,'100%');return c;}
-function uI(b,a){if(b.c===null){b.c=FI(new EI());}EX(b.c,a);}
-function vI(b,a){if(a<0||a>yI(b)){throw new uS();}}
-function wI(b,a){if(a<(-1)||a>=yI(b)){throw new uS();}}
-function yI(a){return a.a.f.c-2;}
-function zI(e,d,a,b){var c;vI(e,b);if(a){c=ez(new hw(),d);}else{c=CB(new AB(),d);}cC(c,false);DB(c,e);uN(c,'gwt-TabBarItem');dA(e.a,c,b+1);}
-function AI(b,a){var c;wI(b,a);c=Dq(b.a,a+1);if(c===b.b){b.b=null;}eA(b.a,c);}
-function BI(b,a){wI(b,a);if(b.c!==null){if(!bJ(b.c,b,a)){return false;}}CI(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=Dq(b.a,a+1);CI(b,b.b,true);if(b.c!==null){cJ(b.c,b,a);}return true;}
-function CI(c,a,b){if(a!==null){if(b){jN(a,'gwt-TabBarItem-selected');}else{pN(a,'gwt-TabBarItem-selected');}}}
-function DI(b){var a;for(a=1;a<this.a.f.c-1;++a){if(Dq(this.a,a)===b){BI(this,a-1);return;}}}
-function rI(){}
-_=rI.prototype=new er();_.zc=DI;_.tN=pfc+'TabBar';_.tI=109;_.b=null;_.c=null;function FI(a){CX(a);return a;}
-function bJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);if(!b.vc(c,d)){return false;}}return true;}
-function cJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);b.qd(c,d);}}
-function EI(){}
-_=EI.prototype=new AX();_.tN=pfc+'TabListenerCollection';_.tI=110;function rJ(a){a.b=nJ(new mJ());a.a=gJ(new fJ(),a.b);}
-function sJ(b){var a;rJ(b);a=hO(new fO());iO(a,b.b);iO(a,b.a);a.ke(b.a,'100%');b.b.Be('100%');uI(b.b,b);gr(b,a);uN(b,'gwt-TabPanel');uN(b.a,'gwt-TabPanelBottom');return b;}
-function tJ(c,d,b,a){xJ(c,d,b,a,c.a.f.c);}
-function wJ(b,a){return Dq(b.a,a);}
-function vJ(a,b){return Cq(a.a,b);}
-function xJ(d,e,c,a,b){iJ(d.a,e,c,a,b);}
-function yJ(b,a){return b.a.de(a);}
-function zJ(b,a){BI(b.b,a);}
-function AJ(){return Fq(this.a);}
-function BJ(a,b){return true;}
-function CJ(a,b){sr(this.a,b);}
-function DJ(a){return jJ(this.a,a);}
-function eJ(){}
-_=eJ.prototype=new er();_.qc=AJ;_.vc=BJ;_.qd=CJ;_.ee=DJ;_.tN=pfc+'TabPanel';_.tI=111;function gJ(b,a){mr(b);b.a=a;return b;}
-function iJ(e,f,d,a,b){var c;c=Cq(e,f);if(c!=(-1)){jJ(e,f);if(c<b){b--;}}pJ(e.a,d,a,b);pr(e,f,b);}
-function jJ(b,c){var a;a=Cq(b,c);if(a!=(-1)){qJ(b.a,a);return qr(b,c);}return false;}
-function kJ(){throw sV(new rV(),'Use TabPanel.clear() to alter the DeckPanel');}
-function lJ(a){return jJ(this,a);}
-function fJ(){}
-_=fJ.prototype=new lr();_.ab=kJ;_.ee=lJ;_.tN=pfc+'TabPanel$TabbedDeckPanel';_.tI=112;_.a=null;function nJ(a){tI(a);return a;}
-function pJ(d,c,a,b){zI(d,c,a,b);}
-function qJ(b,a){AI(b,a);}
-function mJ(){}
-_=mJ.prototype=new rI();_.tN=pfc+'TabPanel$UnmodifiableTabBar';_.tI=113;function FJ(a){CX(a);return a;}
-function bK(f,e,d,a){var b,c;for(b=f.qc();b.kc();){c=Fb(b.sc(),51);c.xc(e,d,a);}}
-function EJ(){}
-_=EJ.prototype=new AX();_.tN=pfc+'TableListenerCollection';_.tI=114;function fK(){fK=s2;qK();}
-function eK(a){fK();mK(a,he());uN(a,'gwt-TextArea');return a;}
-function gK(a){return mR(xK,a.ub());}
-function hK(a){return af(a.ub(),'rows');}
-function iK(a,b){wf(a.ub(),'cols',b);}
-function jK(b,a){wf(b.ub(),'rows',a);}
-function dK(){}
-_=dK.prototype=new lK();_.tN=pfc+'TextArea';_.tI=115;function AK(){AK=s2;qK();}
-function zK(a){AK();mK(a,Fd());uN(a,'gwt-TextBox');return a;}
-function BK(b,a){wf(b.ub(),'size',a);}
-function kK(){}
-_=kK.prototype=new lK();_.tN=pfc+'TextBox';_.tI=116;function iM(a){a.a=z0(new DZ());}
-function jM(a){kM(a,gL(new fL()));return a;}
-function kM(b,a){iM(b);b.d=a;b.me(xd());Df(b.ub(),'position','relative');b.c=qQ((cu(),du));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.ub(),b.c);vN(b,1021);Ef(b.c,6144);b.g=EK(new DK(),b);BL(b.g,b);uN(b,'gwt-Tree');return b;}
-function mM(c,a){var b;b=pL(new mL(),a);lM(c,b);return b;}
-function lM(b,a){FK(b.g,a);}
-function nM(b,a){if(b.f===null){b.f=dM(new cM());}EX(b.f,a);}
-function oM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){vL(sL(c.g,a));}}
-function qM(d,a,c,b){if(b===null||ud(b,c)){return;}qM(d,a,c,ff(b));EX(a,hc(b,hg));}
-function rM(e,d,b){var a,c;a=CX(new AX());qM(e,a,e.ub(),b);c=tM(e,a,0,d);if(c!==null){if(kf(uL(c),b)){AL(c,!c.f,true);return true;}else if(kf(c.ub(),b)){AM(e,c,true,!bN(e,b));return true;}}return false;}
-function sM(b,a){if(!a.f){return a;}return sM(b,sL(a,a.c.b-1));}
-function tM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(dY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=sL(h,d);if(ud(b.ub(),c)){g=tM(i,a,e+1,sL(h,d));if(g===null){return b;}return g;}}return tM(i,a,e+1,h);}
-function uM(b,a){if(b.f!==null){gM(b.f,a);}}
-function vM(b,a){return sL(b.g,a);}
-function wM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[617],[20],[a.a.c],null);nX(a.a).Fe(b);return oP(a,b);}
-function xM(h,g){var a,b,c,d,e,f,i,j;c=tL(g);{f=g.d;a=lN(h);b=mN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);sQ((cu(),du),h.c);}}
-function yM(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=rL(c,d);if(!a|| !d.f){if(b<c.c.b-1){AM(e,sL(c,b+1),true,true);}else{yM(e,c,false);}}else if(d.c.b>0){AM(e,sL(d,0),true,true);}}
-function zM(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=rL(b,c);if(a>0){d=sL(b,a-1);AM(e,sM(e,d),true,true);}else{AM(e,b,true,true);}}
-function AM(d,b,a,c){if(b===d.g){return;}if(d.b!==null){yL(d.b,false);}d.b=b;if(c&&d.b!==null){xM(d,d.b);yL(d.b,true);if(a&&d.f!==null){fM(d.f,d.b);}}}
-function DM(b,c){var a;a=Fb(F0(b.a,c),52);if(a===null){return false;}DL(a,null);return true;}
-function BM(b,a){bL(b.g,a);}
-function CM(a){while(a.g.c.b>0){BM(a,vM(a,0));}}
-function EM(b,a){if(a){sQ((cu(),du),b.c);}else{mQ((cu(),du),b.c);}}
-function FM(b,a){aN(b,a,true);}
-function aN(c,b,a){if(b===null){if(c.b===null){return;}yL(c.b,false);c.b=null;return;}AM(c,b,a,true);}
-function bN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
-function cN(){var a,b;for(b=wM(this);hP(b);){a=iP(b);a.uc();}yf(this.c,this);}
-function dN(){var a,b;for(b=wM(this);hP(b);){a=iP(b);a.Bc();}yf(this.c,null);}
-function eN(){return wM(this);}
-function fN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(bN(this,b)){}else{EM(this,true);}break;}case 4:{if(jg(qe(c),hc(this.ub(),hg))){rM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){AM(this,sL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{zM(this,this.b);ye(c);break;}case 40:{yM(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){zL(this.b,false);}else{f=this.b.g;if(f!==null){FM(this,f);}}ye(c);break;}case 39:{if(!this.b.f){zL(this.b,true);}else if(this.b.c.b>0){FM(this,sL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=CX(new AX());qM(this,a,this.ub(),ve(c));e=tM(this,a,0,this.g);if(e!==this.b){aN(this,e,true);}}}case 256:{break;}}this.e=d;}
-function gN(){EL(this.g);}
-function hN(a){return DM(this,a);}
-function CK(){}
-_=CK.prototype=new oO();_.kb=cN;_.mb=dN;_.qc=eN;_.wc=fN;_.fd=gN;_.ee=hN;_.tN=pfc+'Tree';_.tI=117;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function nL(a){a.c=CX(new AX());a.i=dB(new oA());}
-function oL(d){var a,b,c,e;nL(d);d.me(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.ub(),d.e);td(d.ub(),d.b);td(c,d.i.ub());td(b,d.d);Df(d.d,'display','inline');Df(d.ub(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');FN(d.d,'gwt-TreeItem',true);return d;}
-function pL(b,a){oL(b);wL(b,a);return b;}
-function sL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(dY(b.c,a),52);}
-function rL(b,a){return eY(b.c,a);}
-function tL(a){var b;b=a.l;{return null;}}
-function uL(a){return a.i.ub();}
-function vL(a){if(a.g!==null){a.g.ae(a);}else if(a.j!==null){BM(a.j,a);}}
-function wL(b,a){DL(b,null);Af(b.d,a);}
-function xL(b,a){b.g=a;}
-function yL(b,a){if(b.h==a){return;}b.h=a;FN(b.d,'gwt-TreeItem-selected',a);}
-function zL(b,a){AL(b,a,true);}
-function AL(c,b,a){if(b&&c.c.b==0){return;}c.f=b;FL(c);if(a&&c.j!==null){uM(c.j,c);}}
-function BL(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){FM(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){BL(Fb(dY(d.c,a),52),c);}FL(d);}
-function CL(a,b){a.k=b;}
-function DL(b,a){Af(b.d,'');b.l=a;}
-function FL(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){bO(b.b,false);gQ((hL(),kL),b.i);return;}if(b.f){bO(b.b,true);gQ((hL(),lL),b.i);}else{bO(b.b,false);gQ((hL(),jL),b.i);}}
-function EL(c){var a,b;FL(c);for(a=0,b=c.c.b;a<b;++a){EL(Fb(dY(c.c,a),52));}}
-function aM(a){if(a.g!==null||a.j!==null){vL(a);}xL(a,this);EX(this.c,a);Df(a.ub(),'marginLeft','16px');td(this.b,a.ub());BL(a,this.j);if(this.c.b==1){FL(this);}}
-function bM(a){if(!cY(this.c,a)){return;}BL(a,null);nf(this.b,a.ub());xL(a,null);iY(this.c,a);if(this.c.b==0){FL(this);}}
-function mL(){}
-_=mL.prototype=new iN();_.y=aM;_.ae=bM;_.tN=pfc+'TreeItem';_.tI=118;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function EK(b,a){b.a=a;oL(b);return b;}
-function FK(b,a){if(a.g!==null||a.j!==null){vL(a);}td(b.a.ub(),a.ub());BL(a,b.j);xL(a,null);EX(b.c,a);Cf(a.ub(),'marginLeft',0);}
-function bL(b,a){if(!cY(b.c,a)){return;}BL(a,null);xL(a,null);iY(b.c,a);nf(b.a.ub(),a.ub());}
-function cL(a){FK(this,a);}
-function dL(a){bL(this,a);}
-function DK(){}
-_=DK.prototype=new mL();_.y=cL;_.ae=dL;_.tN=pfc+'Tree$1';_.tI=119;function hL(){hL=s2;iL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';jL=fQ(new eQ(),iL,0,0,16,16);kL=fQ(new eQ(),iL,16,0,16,16);lL=fQ(new eQ(),iL,32,0,16,16);}
-function gL(a){hL();return a;}
-function fL(){}
-_=fL.prototype=new uT();_.tN=pfc+'TreeImages_generatedBundle';_.tI=120;var iL,jL,kL,lL;function dM(a){CX(a);return a;}
-function fM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.rd(b);}}
-function gM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.sd(b);}}
-function cM(){}
-_=cM.prototype=new AX();_.tN=pfc+'TreeListenerCollection';_.tI=121;function gO(a){a.a=(oz(),qz);a.b=(xz(),Az);}
-function hO(a){up(a);gO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function iO(b,d){var a,c;c=fe();a=kO(b);td(c,a);td(b.d,c);xq(b,d,a);}
-function kO(b){var a;a=ee();wp(b,a,b.a);xp(b,a,b.b);return a;}
-function lO(b,a){b.a=a;}
-function mO(b,a){b.b=a;}
-function nO(c){var a,b;b=ff(c.ub());a=ar(this,c);if(a){nf(this.d,ff(b));}return a;}
-function fO(){}
-_=fO.prototype=new tp();_.ee=nO;_.tN=pfc+'VerticalPanel';_.tI=122;function yO(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[617],[20],[4],null);return b;}
-function zO(a,b){DO(a,b,a.c);}
-function BO(b,a){if(a<0||a>=b.c){throw new uS();}return b.a[a];}
-function CO(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
-function DO(d,e,a){var b,c;if(a<0||a>d.c){throw new uS();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[617],[20],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
-function EO(a){return rO(new qO(),a);}
-function FO(c,b){var a;if(b<0||b>=c.c){throw new uS();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
-function aP(b,c){var a;a=CO(b,c);if(a==(-1)){throw new a2();}FO(b,a);}
-function pO(){}
-_=pO.prototype=new uT();_.tN=pfc+'WidgetCollection';_.tI=123;_.a=null;_.b=null;_.c=0;function rO(b,a){b.b=a;return b;}
-function tO(a){return a.a<a.b.c-1;}
-function uO(a){if(a.a>=a.b.c){throw new a2();}return a.b.a[++a.a];}
-function vO(){return tO(this);}
-function wO(){return uO(this);}
-function xO(){if(this.a<0||this.a>=this.b.c){throw new rS();}this.b.b.ee(this.b.a[this.a--]);}
-function qO(){}
-_=qO.prototype=new uT();_.kc=vO;_.sc=wO;_.ce=xO;_.tN=pfc+'WidgetCollection$WidgetIterator';_.tI=124;_.a=(-1);function nP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[617],[20],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
-function oP(b,a){return eP(new cP(),a,b);}
-function dP(a){a.e=a.c;{gP(a);}}
-function eP(a,b,c){a.c=b;a.d=c;dP(a);return a;}
-function gP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
-function hP(a){return a.a<a.c.a;}
-function iP(a){var b;if(!hP(a)){throw new a2();}a.b=a.a;b=a.c[a.a];gP(a);return b;}
-function jP(){return hP(this);}
-function kP(){return iP(this);}
-function lP(){if(this.b<0){throw new rS();}if(!this.f){this.e=nP(this.e);this.f=true;}DM(this.d,this.c[this.b]);this.b=(-1);}
-function cP(){}
-_=cP.prototype=new uT();_.kc=jP;_.sc=kP;_.ce=lP;_.tN=pfc+'WidgetIterators$1';_.tI=125;_.a=(-1);_.b=(-1);_.f=false;function aQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
-function cQ(c,f,b,e,g,a){var d;d=ce();Af(d,dQ(c,f,b,e,g,a));return df(d);}
-function dQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
-function FP(){}
-_=FP.prototype=new uT();_.tN=qfc+'ClippedImageImpl';_.tI=126;function fQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
-function gQ(b,a){iB(a,b.d,b.b,b.c,b.e,b.a);}
-function eQ(){}
-_=eQ.prototype=new ip();_.tN=qfc+'ClippedImagePrototype';_.tI=127;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function yQ(){yQ=s2;BQ=lQ(new jQ());CQ=BQ!==null?xQ(new iQ()):BQ;}
-function xQ(a){yQ();return a;}
-function zQ(a){a.blur();}
-function AQ(a){a.focus();}
-function DQ(a,b){a.tabIndex=b;}
-function iQ(){}
-_=iQ.prototype=new uT();_.F=zQ;_.rb=AQ;_.se=DQ;_.tN=qfc+'FocusImpl';_.tI=128;var BQ,CQ;function nQ(){nQ=s2;yQ();}
-function kQ(a){a.a=oQ(a);a.b=pQ(a);a.c=rQ(a);}
-function lQ(a){nQ();xQ(a);kQ(a);return a;}
-function mQ(b,a){a.firstChild.blur();}
-function oQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
-function pQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
-function qQ(c){var a=$doc.createElement('div');var b=c.gb();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
-function rQ(a){return function(){this.firstChild.focus();};}
-function sQ(b,a){a.firstChild.focus();}
-function tQ(a){mQ(this,a);}
-function uQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
-function vQ(a){sQ(this,a);}
-function wQ(a,b){a.firstChild.tabIndex=b;}
-function jQ(){}
-_=jQ.prototype=new iQ();_.F=tQ;_.gb=uQ;_.rb=vQ;_.se=wQ;_.tN=qfc+'FocusImplOld';_.tI=129;function bR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
-function cR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.ad();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Fc();};}
-function dR(c,b,a){b.enctype=a;b.encoding=a;}
-function eR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
-function fR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
-function EQ(){}
-_=EQ.prototype=new uT();_.tN=qfc+'FormPanelImpl';_.tI=130;function iR(a){return xd();}
-function gR(){}
-_=gR.prototype=new uT();_.tN=qfc+'PopupImpl';_.tI=131;function lR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
-function mR(b,a){return lR(b,a);}
-function nR(d,a,c,b){a.setSelectionRange(c,c+b);}
-function jR(){}
-_=jR.prototype=new uT();_.tN=qfc+'TextBoxImpl';_.tI=132;function rR(){}
-_=rR.prototype=new uT();_.tN=rfc+'OutputStream';_.tI=133;function pR(){}
-_=pR.prototype=new rR();_.tN=rfc+'FilterOutputStream';_.tI=134;function tR(){}
-_=tR.prototype=new pR();_.tN=rfc+'PrintStream';_.tI=135;function vR(){}
-_=vR.prototype=new zT();_.tN=sfc+'ArrayStoreException';_.tI=136;function zR(){zR=s2;AR=yR(new xR(),false);BR=yR(new xR(),true);}
-function yR(a,b){zR();a.a=b;return a;}
-function CR(a){return ac(a,55)&&Fb(a,55).a==this.a;}
-function DR(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
-function ER(){return this.a?'true':'false';}
-function FR(a){zR();return a?BR:AR;}
-function xR(){}
-_=xR.prototype=new uT();_.eQ=CR;_.hC=DR;_.tS=ER;_.tN=sfc+'Boolean';_.tI=137;_.a=false;var AR,BR;function dS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+eT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
-function eS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
-function gS(b,a){AT(b,a);return b;}
-function fS(){}
-_=fS.prototype=new zT();_.tN=sfc+'ClassCastException';_.tI=138;function pS(b,a){AT(b,a);return b;}
-function oS(){}
-_=oS.prototype=new zT();_.tN=sfc+'IllegalArgumentException';_.tI=139;function sS(b,a){AT(b,a);return b;}
-function rS(){}
-_=rS.prototype=new zT();_.tN=sfc+'IllegalStateException';_.tI=140;function vS(b,a){AT(b,a);return b;}
-function uS(){}
-_=uS.prototype=new zT();_.tN=sfc+'IndexOutOfBoundsException';_.tI=141;function oT(){oT=s2;{tT();}}
-function pT(a){oT();return isNaN(a);}
-function qT(e,d,c,h){oT();var a,b,f,g;if(e===null){throw mT(new lT(),'Unable to parse null');}b=rU(e);f=b>0&&iU(e,0)==45?1:0;for(a=f;a<b;a++){if(dS(iU(e,a),d)==(-1)){throw mT(new lT(),'Could not parse '+e+' in radix '+d);}}g=rT(e,d);if(pT(g)){throw mT(new lT(),'Unable to parse '+e);}else if(g<c||g>h){throw mT(new lT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
-function rT(b,a){oT();return parseInt(b,a);}
-function tT(){oT();sT=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
-var sT=null;function yS(){yS=s2;oT();}
-function BS(a){yS();return CS(a,10);}
-function CS(b,a){yS();return cc(qT(b,a,(-2147483648),2147483647));}
-function DS(a){yS();return dV(a);}
-var zS=2147483647,AS=(-2147483648);function FS(){FS=s2;oT();}
-function aT(a){FS();return eV(a);}
-function dT(a){return a<0?-a:a;}
-function eT(a,b){return a<b?a:b;}
-function fT(){}
-_=fT.prototype=new zT();_.tN=sfc+'NegativeArraySizeException';_.tI=142;function iT(b,a){AT(b,a);return b;}
-function hT(){}
-_=hT.prototype=new zT();_.tN=sfc+'NullPointerException';_.tI=143;function mT(b,a){pS(b,a);return b;}
-function lT(){}
-_=lT.prototype=new oS();_.tN=sfc+'NumberFormatException';_.tI=144;function iU(b,a){return b.charCodeAt(a);}
-function kU(f,c){var a,b,d,e,g,h;h=rU(f);e=rU(c);b=eT(h,e);for(a=0;a<b;a++){g=iU(f,a);d=iU(c,a);if(g!=d){return g-d;}}return h-e;}
-function lU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
-function nU(b,a){if(!ac(a,1))return false;return CU(b,a);}
-function mU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
-function oU(b,a){return b.indexOf(String.fromCharCode(a));}
-function pU(b,a){return b.indexOf(a);}
-function qU(c,b,a){return c.indexOf(b,a);}
-function rU(a){return a.length;}
-function sU(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
-function tU(b,a){return uU(b,a,0);}
-function uU(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=BU(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
-function vU(b,a){return pU(b,a)==0;}
-function wU(b,a){return b.substr(a,b.length-a);}
-function xU(c,a,b){return c.substr(a,b-a);}
-function yU(d){var a,b,c;c=rU(d);a=yb('[C',[608],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=iU(d,b);return a;}
-function zU(a){return a.toLowerCase();}
-function AU(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
-function BU(a){return yb('[Ljava.lang.String;',[605],[1],[a],null);}
-function CU(a,b){return String(a)==b;}
-function DU(a){if(ac(a,1)){return kU(this,Fb(a,1));}else{throw gS(new fS(),'Cannot compare '+a+" with String '"+this+"'");}}
-function EU(a){return nU(this,a);}
-function aV(){var a=FU;if(!a){a=FU={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
-function bV(){return this;}
-function cV(a){return String.fromCharCode(a);}
-function dV(a){return ''+a;}
-function eV(a){return ''+a;}
-function fV(a){return a!==null?a.tS():'null';}
-_=String.prototype;_.bb=DU;_.eQ=EU;_.hC=aV;_.tS=bV;_.tN=sfc+'String';_.tI=2;var FU=null;function FT(a){cU(a);return a;}
-function aU(a,b){return bU(a,cV(b));}
-function bU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
-function cU(a){dU(a,'');}
-function dU(b,a){b.js=[a];b.length=a.length;}
-function fU(a){a.tc();return a.js[0];}
-function gU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
-function hU(){return fU(this);}
-function ET(){}
-_=ET.prototype=new uT();_.tc=gU;_.tS=hU;_.tN=sfc+'StringBuffer';_.tI=145;function hV(){hV=s2;kV=new tR();}
-function iV(){hV();return new Date().getTime();}
-function jV(a){hV();return B(a);}
-var kV;function sV(b,a){AT(b,a);return b;}
-function rV(){}
-_=rV.prototype=new zT();_.tN=sfc+'UnsupportedOperationException';_.tI=146;function EV(b,a){b.c=a;return b;}
-function aW(a){return a.a<a.c.Ce();}
-function bW(){return aW(this);}
-function cW(){if(!aW(this)){throw new a2();}return this.c.hc(this.b=this.a++);}
-function dW(){if(this.b<0){throw new rS();}this.c.de(this.b);this.a=this.b;this.b=(-1);}
-function DV(){}
-_=DV.prototype=new uT();_.kc=bW;_.sc=cW;_.ce=dW;_.tN=tfc+'AbstractList$IteratorImpl';_.tI=147;_.a=0;_.b=(-1);function mX(f,d,e){var a,b,c;for(b=u0(f.ob());m0(b);){a=n0(b);c=a.yb();if(d===null?c===null:d.eQ(c)){if(e){o0(b);}return a;}}return null;}
-function nX(b){var a;a=b.ob();return oW(new nW(),b,a);}
-function oX(b){var a;a=E0(b);return DW(new CW(),b,a);}
-function pX(a){return mX(this,a,false)!==null;}
-function qX(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=nX(this);e=f.rc();if(!xX(c,e)){return false;}for(a=qW(c);xW(a);){b=yW(a);h=this.ic(b);g=f.ic(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
-function rX(b){var a;a=mX(this,b,false);return a===null?null:a.ec();}
-function sX(){var a,b,c;b=0;for(c=u0(this.ob());m0(c);){a=n0(c);b+=a.hC();}return b;}
-function tX(){return nX(this);}
-function uX(){var a,b,c,d;d='{';a=false;for(c=u0(this.ob());m0(c);){b=n0(c);if(a){d+=', ';}else{a=true;}d+=fV(b.yb());d+='=';d+=fV(b.ec());}return d+'}';}
-function mW(){}
-_=mW.prototype=new uT();_.db=pX;_.eQ=qX;_.ic=rX;_.hC=sX;_.rc=tX;_.tS=uX;_.tN=tfc+'AbstractMap';_.tI=148;function xX(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ce()!=e.Ce()){return false;}for(a=c.qc();a.kc();){d=a.sc();if(!e.eb(d)){return false;}}return true;}
-function yX(a){return xX(this,a);}
-function zX(){var a,b,c;a=0;for(b=this.qc();b.kc();){c=b.sc();if(c!==null){a+=c.hC();}}return a;}
-function vX(){}
-_=vX.prototype=new uV();_.eQ=yX;_.hC=zX;_.tN=tfc+'AbstractSet';_.tI=149;function oW(b,a,c){b.a=a;b.b=c;return b;}
-function qW(b){var a;a=u0(b.b);return vW(new uW(),b,a);}
-function rW(a){return this.a.db(a);}
-function sW(){return qW(this);}
-function tW(){return this.b.a.c;}
-function nW(){}
-_=nW.prototype=new vX();_.eb=rW;_.qc=sW;_.Ce=tW;_.tN=tfc+'AbstractMap$1';_.tI=150;function vW(b,a,c){b.a=c;return b;}
-function xW(a){return m0(a.a);}
-function yW(b){var a;a=n0(b.a);return a.yb();}
-function zW(){return xW(this);}
-function AW(){return yW(this);}
-function BW(){o0(this.a);}
-function uW(){}
-_=uW.prototype=new uT();_.kc=zW;_.sc=AW;_.ce=BW;_.tN=tfc+'AbstractMap$2';_.tI=151;function DW(b,a,c){b.a=a;b.b=c;return b;}
-function FW(b){var a;a=u0(b.b);return eX(new dX(),b,a);}
-function aX(a){return D0(this.a,a);}
-function bX(){return FW(this);}
-function cX(){return this.b.a.c;}
-function CW(){}
-_=CW.prototype=new uV();_.eb=aX;_.qc=bX;_.Ce=cX;_.tN=tfc+'AbstractMap$3';_.tI=152;function eX(b,a,c){b.a=c;return b;}
-function gX(a){return m0(a.a);}
-function hX(a){var b;b=n0(a.a).ec();return b;}
-function iX(){return gX(this);}
-function jX(){return hX(this);}
-function kX(){o0(this.a);}
-function dX(){}
-_=dX.prototype=new uT();_.kc=iX;_.sc=jX;_.ce=kX;_.tN=tfc+'AbstractMap$4';_.tI=153;function yY(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.cb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
-function zY(a){yY(a,a.a,(fZ(),gZ));}
-function CY(){CY=s2;t1(new s1());DY=z0(new DZ());CX(new AX());}
-function EY(c,d){CY();var a,b;b=c.b;for(a=0;a<b;a++){jY(c,a,d[a]);}}
-function FY(a){CY();var b;b=a.Ee();zY(b);EY(a,b);}
-var DY;function fZ(){fZ=s2;gZ=new cZ();}
-var gZ;function eZ(a,b){return Fb(a,34).bb(b);}
-function cZ(){}
-_=cZ.prototype=new uT();_.cb=eZ;_.tN=tfc+'Comparators$1';_.tI=154;function kZ(){kZ=s2;rZ=zb('[Ljava.lang.String;',605,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);sZ=zb('[Ljava.lang.String;',605,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
-function iZ(a){kZ();nZ(a);return a;}
-function jZ(b,a){kZ();oZ(b,a);return b;}
-function lZ(c,a){var b,d;d=mZ(c);b=mZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
-function mZ(a){return a.jsdate.getTime();}
-function nZ(a){a.jsdate=new Date();}
-function oZ(b,a){b.jsdate=new Date(a);}
-function pZ(a){return a.jsdate.toLocaleString();}
-function qZ(h){var a=h.jsdate;var g=yZ;var b=uZ(h.jsdate.getDay());var e=xZ(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
-function tZ(a){return lZ(this,Fb(a,59));}
-function uZ(a){kZ();return rZ[a];}
-function vZ(a){return ac(a,59)&&mZ(this)==mZ(Fb(a,59));}
-function wZ(){return cc(mZ(this)^mZ(this)>>>32);}
-function xZ(a){kZ();return sZ[a];}
-function yZ(a){kZ();if(a<10){return '0'+a;}else{return dV(a);}}
-function zZ(){return qZ(this);}
-function hZ(){}
-_=hZ.prototype=new uT();_.bb=tZ;_.eQ=vZ;_.hC=wZ;_.tS=zZ;_.tN=tfc+'Date';_.tI=155;var rZ,sZ;function B0(){B0=s2;c1=i1();}
-function y0(a){{A0(a);}}
-function z0(a){B0();y0(a);return a;}
-function A0(a){a.a=gb();a.d=ib();a.b=hc(c1,cb);a.c=0;}
-function C0(b,a){if(ac(a,1)){return m1(b.d,Fb(a,1))!==c1;}else if(a===null){return b.b!==c1;}else{return l1(b.a,a,a.hC())!==c1;}}
-function D0(a,b){if(a.b!==c1&&k1(a.b,b)){return true;}else if(h1(a.d,b)){return true;}else if(f1(a.a,b)){return true;}return false;}
-function E0(a){return s0(new i0(),a);}
-function F0(c,a){var b;if(ac(a,1)){b=m1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=l1(c.a,a,a.hC());}return b===c1?null:b;}
-function a1(c,a,d){var b;if(ac(a,1)){b=p1(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=o1(c.a,a,d,a.hC());}if(b===c1){++c.c;return null;}else{return b;}}
-function b1(c,a){var b;if(ac(a,1)){b=r1(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(c1,cb);}else{b=q1(c.a,a,a.hC());}if(b===c1){return null;}else{--c.c;return b;}}
-function d1(e,c){B0();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
-function e1(d,a){B0();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=b0(c.substring(1),e);a.C(b);}}}
-function f1(f,h){B0();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ec();if(k1(h,d)){return true;}}}}return false;}
-function g1(a){return C0(this,a);}
-function h1(c,d){B0();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(k1(d,a)){return true;}}}return false;}
-function i1(){B0();}
-function j1(){return E0(this);}
-function k1(a,b){B0();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
-function n1(a){return F0(this,a);}
-function l1(f,h,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){return c.ec();}}}}
-function m1(b,a){B0();return b[':'+a];}
-function o1(f,h,j,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){var i=c.ec();c.we(j);return i;}}}else{a=f[e]=[];}var c=b0(h,j);a.push(c);}
-function p1(c,a,d){B0();a=':'+a;var b=c[a];c[a]=d;return b;}
-function q1(f,h,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ec();}}}}
-function r1(c,a){B0();a=':'+a;var b=c[a];delete c[a];return b;}
-function DZ(){}
-_=DZ.prototype=new mW();_.db=g1;_.ob=j1;_.ic=n1;_.tN=tfc+'HashMap';_.tI=156;_.a=null;_.b=null;_.c=0;_.d=null;var c1;function FZ(b,a,c){b.a=a;b.b=c;return b;}
-function b0(a,b){return FZ(new EZ(),a,b);}
-function c0(b){var a;if(ac(b,60)){a=Fb(b,60);if(k1(this.a,a.yb())&&k1(this.b,a.ec())){return true;}}return false;}
-function d0(){return this.a;}
-function e0(){return this.b;}
-function f0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
-function g0(a){var b;b=this.b;this.b=a;return b;}
-function h0(){return this.a+'='+this.b;}
-function EZ(){}
-_=EZ.prototype=new uT();_.eQ=c0;_.yb=d0;_.ec=e0;_.hC=f0;_.we=g0;_.tS=h0;_.tN=tfc+'HashMap$EntryImpl';_.tI=157;_.a=null;_.b=null;function s0(b,a){b.a=a;return b;}
-function u0(a){return k0(new j0(),a.a);}
-function v0(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.yb();if(C0(this.a,b)){d=F0(this.a,b);return k1(a.ec(),d);}}return false;}
-function w0(){return u0(this);}
-function x0(){return this.a.c;}
-function i0(){}
-_=i0.prototype=new vX();_.eb=v0;_.qc=w0;_.Ce=x0;_.tN=tfc+'HashMap$EntrySet';_.tI=158;function k0(c,b){var a;c.c=b;a=CX(new AX());if(c.c.b!==(B0(),c1)){EX(a,FZ(new EZ(),null,c.c.b));}e1(c.c.d,a);d1(c.c.a,a);c.a=a.qc();return c;}
-function m0(a){return a.a.kc();}
-function n0(a){return a.b=Fb(a.a.sc(),60);}
-function o0(a){if(a.b===null){throw sS(new rS(),'Must call next() before remove().');}else{a.a.ce();b1(a.c,a.b.yb());a.b=null;}}
-function p0(){return m0(this);}
-function q0(){return n0(this);}
-function r0(){o0(this);}
-function j0(){}
-_=j0.prototype=new uT();_.kc=p0;_.sc=q0;_.ce=r0;_.tN=tfc+'HashMap$EntrySetIterator';_.tI=159;_.a=null;_.b=null;function t1(a){a.a=z0(new DZ());return a;}
-function u1(c,a){var b;b=a1(c.a,a,FR(true));return b===null;}
-function w1(a){return qW(nX(a.a));}
-function x1(a){return u1(this,a);}
-function y1(a){return C0(this.a,a);}
-function z1(){return w1(this);}
-function A1(){return this.a.c;}
-function B1(){return nX(this.a).tS();}
-function s1(){}
-_=s1.prototype=new vX();_.C=x1;_.eb=y1;_.qc=z1;_.Ce=A1;_.tS=B1;_.tN=tfc+'HashSet';_.tI=160;_.a=null;function b2(b,a){AT(b,a);return b;}
-function a2(){}
-_=a2.prototype=new zT();_.tN=tfc+'NoSuchElementException';_.tI=161;function g2(a){a.a=CX(new AX());return a;}
-function h2(b,a){return EX(b.a,a);}
-function j2(a){return a.a.qc();}
-function k2(a,b){DX(this.a,a,b);}
-function l2(a){return h2(this,a);}
-function m2(a){return cY(this.a,a);}
-function n2(a){return dY(this.a,a);}
-function o2(){return j2(this);}
-function p2(a){return hY(this.a,a);}
-function q2(){return this.a.b;}
-function r2(){return this.a.Ee();}
-function f2(){}
-_=f2.prototype=new CV();_.B=k2;_.C=l2;_.eb=m2;_.hc=n2;_.qc=o2;_.de=p2;_.Ce=q2;_.Ee=r2;_.tN=tfc+'Vector';_.tI=162;_.a=null;function s4(){s4=s2;u4=z0(new DZ());}
-function r4(a){s4();return a;}
-function t4(){}
-function c4(){}
-_=c4.prototype=new er();_.md=t4;_.tN=ufc+'JBRMSFeature';_.tI=163;var u4;function z2(){z2=s2;s4();}
-function y2(a){z2();r4(a);a.a=sJ(new eJ());a.a.Be('100%');a.a.qe('100%');tJ(a.a,x8(new b8()),"<img src='images/category_small.gif'/>Manage categories",true);tJ(a.a,i9(new A8()),"<img src='images/status_small.gif'/>Manage states",true);tJ(a.a,j7(new f6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);tJ(a.a,C7(new n7()),"<img src='images/backup_small.gif'/>Import Export",true);zJ(a.a,0);gr(a,a.a);return a;}
-function A2(){z2();return v2(new u2(),'Admin','Administer the repository');}
-function B2(){}
-function t2(){}
-_=t2.prototype=new c4();_.md=B2;_.tN=ufc+'AdminFeature';_.tI=164;_.a=null;function e4(c,b,a){c.c=b;c.a=a;return c;}
-function g4(a){if(a.b!==null)return a.b;return a.b=a.hb();}
-function d4(){}
-_=d4.prototype=new uT();_.tN=ufc+'JBRMSFeature$ComponentInfo';_.tI=165;_.a=null;_.b=null;_.c=null;function v2(c,a,b){e4(c,a,b);return c;}
-function x2(){return y2(new t2());}
-function u2(){}
-_=u2.prototype=new d4();_.hb=x2;_.tN=ufc+'AdminFeature$1';_.tI=166;function c3(){c3=s2;s4();}
-function b3(a){c3();r4(a);gr(a,CJb(new eIb()));return a;}
-function d3(){c3();return E2(new D2(),'Deployment','Configure and view frozen snapshots of packages.');}
-function e3(){}
-function C2(){}
-_=C2.prototype=new c4();_.md=e3;_.tN=ufc+'DeploymentManagementFeature';_.tI=167;function E2(c,a,b){e4(c,a,b);return c;}
-function a3(){return b3(new C2());}
-function D2(){}
-_=D2.prototype=new d4();_.hb=a3;_.tN=ufc+'DeploymentManagementFeature$1';_.tI=168;function l3(){l3=s2;s4();}
-function k3(a){l3();r4(a);gr(a,m3(a));return a;}
-function m3(a){a.a=vv(new tv(),'welcome.html');uN(a.a,'welcome-Page');a.a.ye(true);return a.a;}
-function n3(){l3();return h3(new g3(),'Info','JBoss Rules Managment System.');}
-function o3(){}
-function f3(){}
-_=f3.prototype=new c4();_.md=o3;_.tN=ufc+'Info';_.tI=169;_.a=null;function h3(c,a,b){e4(c,a,b);return c;}
-function j3(){return k3(new f3());}
-function g3(){}
-_=g3.prototype=new d4();_.hb=j3;_.tN=ufc+'Info$1';_.tI=170;function z3(a){a.c=dz(new hw());a.d=m4(new k4());a.g=ps(new gs());}
-function A3(a){z3(a);return a;}
-function B3(a){kXb(ALb(),r3(new q3(),a));}
-function D3(b,c){var a;a=p4(b.d,c);if(a===null){F3(b);return;}a4(b,a,false);}
-function E3(b){var a,c;j4(b.d);b.h=ps(new gs());uN(b.h,'ks-Sink');c=hO(new fO());c.Be('100%');iO(c,b.c);iO(c,b.h);uN(b.c,'ks-Info');qs(b.g,b.d,(rs(),Bs));qs(b.g,c,(rs(),xs));vs(b.g,b.d,(xz(),Az));ws(b.g,c,'100%');Bg(b);b.e=E4(new v4());b.f=p5(new b5());dp(iG(),b.e);dp(iG(),b.g);dp(iG(),b.f);b.f.Be('100%');b.e.ye(false);b.g.ye(false);b.f.ye(false);B3(b);a=Dg();if(rU(a)>0)D3(b,a);else F3(b);}
-function a4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){ts(c.h,c.b);}c.b=g4(b);q4(c.d,b.c);hz(c.c,b.a);if(a)ah(b.c);qs(c.h,c.b,(rs(),xs));ws(c.h,c.b,'100%');vs(c.h,c.b,(xz(),Az));c.b.md();}
-function F3(a){a4(a,p4(a.d,'Info'),false);}
-function b4(a){D3(this,a);}
-function p3(){}
-_=p3.prototype=new uT();_.bd=b4;_.tN=ufc+'JBRMSEntryPoint';_.tI=171;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function gcb(b,a){if(ac(a,69)){icb();}else if(ac(a,70)){hbb(Fb(a,70));}else{gbb(a.zb());}}
-function hcb(a){gcb(this,a);}
-function icb(){var a;a=acb(new Bbb(),'images/warning-large.png','Session expired');ccb(a,ez(new hw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));lE(a,40,40);oE(a);bdb();}
-function ecb(){}
-_=ecb.prototype=new uT();_.Dc=hcb;_.tN=xfc+'GenericCallback';_.tI=172;function r3(b,a){b.a=a;return b;}
-function t3(a){var b;b=Fb(a,1);if(b!==null){a5(this.a.e,b);this.a.e.ye(true);this.a.g.ye(true);this.a.f.ye(false);}else{this.a.f.ye(true);t5(this.a.f,v3(new u3(),this));}}
-function q3(){}
-_=q3.prototype=new ecb();_.pd=t3;_.tN=ufc+'JBRMSEntryPoint$1';_.tI=173;function v3(b,a){b.a=a;return b;}
-function x3(a){a5(a.a.a.e,s5(a.a.a.f));a.a.a.e.ye(true);a.a.a.f.ye(false);a.a.a.g.ye(true);}
-function y3(){x3(this);}
-function u3(){}
-_=u3.prototype=new uT();_.pb=y3;_.tN=ufc+'JBRMSEntryPoint$2';_.tI=174;function j4(a){n4(a,n3());n4(a,e6());n4(a,B5());n4(a,d3());n4(a,A2());}
-function l4(a){a.a=hO(new fO());a.c=CX(new AX());}
-function m4(a){l4(a);gr(a,a.a);uN(a,'ks-List');return a;}
-function n4(d,a){var b,c;c=a.c;b=jA(new hA(),c,c);uN(b,'ks-SinkItem');iO(d.a,b);EX(d.c,a);}
-function p4(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(dY(d.c,a),61);if(nU(b.c,c))return b;}return null;}
-function q4(d,c){var a,b;if(d.b!=(-1))pN(Dq(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(dY(d.c,a),61);if(nU(b.c,c)){d.b=a;jN(Dq(d.a,d.b),'ks-SinkItem-selected');return;}}}
-function k4(){}
-_=k4.prototype=new er();_.tN=ufc+'JBRMSFeatureList';_.tI=175;_.b=(-1);function E4(a){a.a=dz(new hw());gr(a,a.a);return a;}
-function a5(b,d){var a,c;a=FT(new ET());bU(a,"<div id='user_info'>");bU(a,'Welcome: &nbsp;'+d);bU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");bU(a,'<\/div>');hz(b.a,fU(a));c=x4(new w4(),b);mh(c,300000);}
-function v4(){}
-_=v4.prototype=new er();_.tN=ufc+'LoggedInUserInfo';_.tI=176;_.a=null;function y4(){y4=s2;kh();}
-function x4(b,a){y4();ih(b);return b;}
-function z4(){kXb(ALb(),new A4());}
-function w4(){}
-_=w4.prototype=new dh();_.fe=z4;_.tN=ufc+'LoggedInUserInfo$1';_.tI=177;function C4(a){}
-function D4(a){if(a===null){icb();}}
-function A4(){}
-_=A4.prototype=new uT();_.Dc=C4;_.pd=D4;_.tN=ufc+'LoggedInUserInfo$2';_.tI=178;function p5(c){var a,b;c.a=rbb(new obb(),'images/login.gif','Please enter your details');c.c=zK(new kK());c.c.re(1);sbb(c.a,'User name:',c.c);b=DD(new CD());b.re(2);sbb(c.a,'Password:',b);a=qp(new kp(),'Login');a.re(3);sbb(c.a,'',a);a.x(d5(new c5(),c,b));gr(c,c.a);c.c.oe(true);uN(c,'login-Form');return c;}
-function r5(c,a,d,b){DLb(rK(d),rK(b),l5(new k5(),c,a));}
-function s5(a){return rK(a.c);}
-function t5(b,a){b.b=a;}
-function b5(){}
-_=b5.prototype=new er();_.tN=ufc+'LoginWidget';_.tI=179;_.a=null;_.b=null;_.c=null;function d5(b,a,c){b.a=a;b.b=c;return b;}
-function f5(a){fdb('Logging in...');fg(h5(new g5(),this,this.b));}
-function c5(){}
-_=c5.prototype=new uT();_.zc=f5;_.tN=ufc+'LoginWidget$1';_.tI=180;function h5(b,a,c){b.a=a;b.b=c;return b;}
-function j5(){r5(this.a.a,this.a.a.b,this.a.a.c,this.b);}
-function g5(){}
-_=g5.prototype=new uT();_.pb=j5;_.tN=ufc+'LoginWidget$2';_.tI=181;function l5(b,a,c){b.a=c;return b;}
-function n5(c,a){var b;bdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{x3(c.a);}}
-function o5(a){n5(this,a);}
-function k5(){}
-_=k5.prototype=new ecb();_.pd=o5;_.tN=ufc+'LoginWidget$3';_.tI=182;function A5(){A5=s2;s4();}
-function z5(b){var a;A5();r4(b);a=aIb(new zHb());dIb(a,u4);gr(b,a);return b;}
-function B5(){A5();return w5(new v5(),'Packages','Configure and view packages of business rule assets.');}
-function C5(){}
-function u5(){}
-_=u5.prototype=new c4();_.md=C5;_.tN=ufc+'PackageManagementFeature';_.tI=183;function w5(c,a,b){e4(c,a,b);return c;}
-function y5(){return z5(new u5());}
-function v5(){}
-_=v5.prototype=new d4();_.hb=y5;_.tN=ufc+'PackageManagementFeature$1';_.tI=184;function d6(){d6=s2;s4();}
-function c6(b){var a;d6();r4(b);a=vbc(new rac());zbc(a,u4);gr(b,a);return b;}
-function e6(){d6();return F5(new E5(),'Rules','Find and edit rules.');}
-function D5(){}
-_=D5.prototype=new c4();_.tN=ufc+'RulesFeature';_.tI=185;function F5(c,a,b){e4(c,a,b);return c;}
-function b6(){return c6(new D5());}
-function E5(){}
-_=E5.prototype=new d4();_.hb=b6;_.tN=ufc+'RulesFeature$1';_.tI=186;function j7(a){var b;b=rbb(new obb(),'images/backup_large.png','Manage Archived Assets');a.a=Fz(new Dz());a.a.Be('100%');vbb(b,a.a);a.b=ycc(new Cbc(),new g6(),'archivedrulelist');Ecc(a.b,m7(a));aA(a.a,a.b);h7(m7(a));vbb(b,ez(new hw(),'<hr/>'));vbb(b,l7(a));gr(a,b);return a;}
-function l7(d){var a,b,c,e;b=Fz(new Dz());c=qp(new kp(),'Refresh');c.x(k6(new j6(),d));e=qp(new kp(),'Unarchive');e.x(o6(new n6(),d));a=qp(new kp(),'Delete');a.x(x6(new w6(),d));aA(b,c);aA(b,e);aA(b,a);return b;}
-function m7(b){var a;a=a7(new F6(),b);return f7(new e7(),b,a);}
-function f6(){}
-_=f6.prototype=new er();_.tN=vfc+'ArchivedAssetManager';_.tI=187;_.a=null;_.b=null;function i6(a){}
-function g6(){}
-_=g6.prototype=new uT();_.wd=i6;_.tN=vfc+'ArchivedAssetManager$1';_.tI=188;function k6(b,a){b.a=a;return b;}
-function m6(a){h7(m7(this.a));}
-function j6(){}
-_=j6.prototype=new uT();_.zc=m6;_.tN=vfc+'ArchivedAssetManager$2';_.tI=189;function o6(b,a){b.a=a;return b;}
-function q6(a){ESb(BLb(),Acc(this.a.b),false,s6(new r6(),this));}
-function n6(){}
-_=n6.prototype=new uT();_.zc=q6;_.tN=vfc+'ArchivedAssetManager$3';_.tI=190;function s6(b,a){b.a=a;return b;}
-function u6(b,a){h7(m7(b.a.a));zh('Done!');}
-function v6(a){u6(this,a);}
-function r6(){}
-_=r6.prototype=new ecb();_.pd=v6;_.tN=vfc+'ArchivedAssetManager$4';_.tI=191;function x6(b,a){b.a=a;return b;}
-function z6(a){ETb(BLb(),Acc(this.a.b),B6(new A6(),this));}
-function w6(){}
-_=w6.prototype=new uT();_.zc=z6;_.tN=vfc+'ArchivedAssetManager$5';_.tI=192;function B6(b,a){b.a=a;return b;}
-function D6(b,a){h7(m7(b.a.a));zh('Done!');}
-function E6(a){D6(this,a);}
-function A6(){}
-_=A6.prototype=new ecb();_.pd=E6;_.tN=vfc+'ArchivedAssetManager$6';_.tI=193;function a7(b,a){b.a=a;return b;}
-function c7(c,a){var b;b=Fb(a,62);Dcc(c.a.b,b);c.a.b.Be('100%');bdb();}
-function d7(a){c7(this,a);}
-function F6(){}
-_=F6.prototype=new ecb();_.pd=d7;_.tN=vfc+'ArchivedAssetManager$7';_.tI=194;function f7(b,a,c){b.a=c;return b;}
-function h7(a){fdb('Loading list, please wait...');uTb(BLb(),a.a);}
-function i7(){h7(this);}
-function e7(){}
-_=e7.prototype=new uT();_.pb=i7;_.tN=vfc+'ArchivedAssetManager$8';_.tI=195;function C7(a){var b;b=rbb(new obb(),'images/backup_large.png','Import/Export');sbb(b,'',ez(new hw(),'<i>Import and Export rules repository<\/i>'));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Import from an xml file',a8(a));sbb(b,'Export to a zip file',F7(a));vbb(b,ez(new hw(),'<hr/>'));gr(a,b);return a;}
-function E7(a){fdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');bdb();}
-function F7(c){var a,b;b=Fz(new Dz());a=qp(new kp(),'Export');a.x(p7(new o7(),c));aA(b,a);return b;}
-function a8(c){var a,b,d,e;e=Cu(new xu());cv(e,v()+'backup');dv(e,'multipart/form-data');ev(e,'post');b=Fz(new Dz());e.Ae(b);d=at(new Fs());dt(d,'importFile');aA(b,d);aA(b,CB(new AB(),'import:'));a=lcb(new kcb(),'images/upload.gif');fB(a,t7(new s7(),c,e));aA(b,a);Du(e,y7(new x7(),c,d));return e;}
-function n7(){}
-_=n7.prototype=new er();_.tN=vfc+'BackupManager';_.tI=196;function p7(b,a){b.a=a;return b;}
-function r7(a){E7(this.a);}
-function o7(){}
-_=o7.prototype=new uT();_.zc=r7;_.tN=vfc+'BackupManager$1';_.tI=197;function t7(b,a,c){b.a=c;return b;}
-function v7(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){fdb('Importing repository, please wait, as this could take some time...');gv(b);}}
-function w7(a){v7(this,this.a);}
-function s7(){}
-_=s7.prototype=new uT();_.zc=w7;_.tN=vfc+'BackupManager$2';_.tI=198;function y7(b,a,c){b.a=c;return b;}
-function B7(a){if(rU(ct(this.a))==0){zh('You did not specify an exported repository filename !');sv(a,true);}else if(!lU(ct(this.a),'.xml')){zh('Please specify a valid repository xml file.');sv(a,true);}}
-function A7(a){if(pU(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{gbb('Unable to import into the repository. Consult the server logs for error messages.');}bdb();}
-function x7(){}
-_=x7.prototype=new uT();_.od=B7;_.nd=A7;_.tN=vfc+'BackupManager$3';_.tI=199;function w8(a){hO(new fO());}
-function x8(f){var a,b,c,d,e;w8(f);c=rbb(new obb(),'images/edit_category.gif','Edit categories');sbb(c,'',ez(new hw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=s$(new b$(),new c8());uN(f.a,'category-explorer-Admin');b=AG(new sG());uN(b,'metadata-Widget');CG(b,f.a);vbb(c,ez(new hw(),'<hr/>'));sbb(c,'Current categories:',b);e=lcb(new kcb(),'images/refresh.gif');e.te('Refresh categories');fB(e,g8(new f8(),f));sbb(c,'Refresh view:',e);vbb(c,ez(new hw(),'<hr/>'));d=lcb(new kcb(),'images/new.gif');d.te('Create a new category');fB(d,k8(new j8(),f));sbb(c,'Create a new category:',d);a=lcb(new kcb(),'images/delete_obj.gif');fB(a,o8(new n8(),f));a.te("Deletes the currently selected category. You won't be able to delete if the category is in use.");sbb(c,'Delete the currently selected category:',a);gr(f,c);return f;}
-function z8(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){FTb(BLb(),a.a.e,s8(new r8(),a));}}
-function b8(){}
-_=b8.prototype=new er();_.tN=vfc+'CategoryManager';_.tI=200;_.a=null;function e8(a){}
-function c8(){}
-_=c8.prototype=new uT();_.he=e8;_.tN=vfc+'CategoryManager$1';_.tI=201;function g8(b,a){b.a=a;return b;}
-function i8(a){y$(this.a.a);}
-function f8(){}
-_=f8.prototype=new uT();_.zc=i8;_.tN=vfc+'CategoryManager$2';_.tI=202;function k8(b,a){b.a=a;return b;}
-function m8(b){var a;a=C9(new n9(),this.a.a.e);lE(a,lN(b),mN(b)-400);oE(a);}
-function j8(){}
-_=j8.prototype=new uT();_.zc=m8;_.tN=vfc+'CategoryManager$3';_.tI=203;function o8(b,a){b.a=a;return b;}
-function q8(a){z8(this.a);}
-function n8(){}
-_=n8.prototype=new uT();_.zc=q8;_.tN=vfc+'CategoryManager$4';_.tI=204;function s8(b,a){b.a=a;return b;}
-function u8(b,a){y$(b.a.a);}
-function v8(a){u8(this,a);}
-function r8(){}
-_=r8.prototype=new ecb();_.pd=v8;_.tN=vfc+'CategoryManager$5';_.tI=205;function i9(b){var a;a=rbb(new obb(),'images/status_large.png','Manage statuses');sbb(a,'',ez(new hw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=mC(new eC());CC(b.a,7);b.a.Be('50%');m9(b);sbb(a,'Current statuses:',b.a);sbb(a,'Add new status:',l9(b));gr(b,a);return b;}
-function k9(b,a){fdb('Creating status');oTb(BLb(),rK(a),e9(new d9(),b,a));}
-function l9(d){var a,b,c;c=Fz(new Dz());a=zK(new kK());b=qp(new kp(),'Create');b.x(a9(new F8(),d,a));aA(c,a);aA(c,b);return c;}
-function m9(a){fdb('Loading statuses...');tTb(BLb(),C8(new B8(),a));}
-function A8(){}
-_=A8.prototype=new er();_.tN=vfc+'StateManager';_.tI=206;_.a=null;function C8(b,a){b.a=a;return b;}
-function E8(a){var b,c;sC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){pC(this.a.a,c[b]);}bdb();}
-function B8(){}
-_=B8.prototype=new ecb();_.pd=E8;_.tN=vfc+'StateManager$1';_.tI=207;function a9(b,a,c){b.a=a;b.b=c;return b;}
-function c9(a){k9(this.a,this.b);}
-function F8(){}
-_=F8.prototype=new uT();_.zc=c9;_.tN=vfc+'StateManager$2';_.tI=208;function e9(b,a,c){b.a=a;b.b=c;return b;}
-function g9(b,a){vK(b.b,'');m9(b.a);bdb();}
-function h9(a){g9(this,a);}
-function d9(){}
-_=d9.prototype=new ecb();_.pd=h9;_.tN=vfc+'StateManager$3';_.tI=209;function E9(){E9=s2;eE();}
-function B9(a){a.d=lt(new ft());a.b=zK(new kK());a.a=eK(new dK());}
-function C9(d,b){var a,c;E9();bE(d,true);B9(d);d.c=b;d.d.ze(0,0,lcb(new kcb(),'images/edit_category.gif'));d.d.ze(0,1,CB(new AB(),F9(d,d.c)));d.d.ze(1,0,CB(new AB(),'Cateogory name'));d.d.ze(1,1,d.b);jK(d.a,4);d.d.ze(2,0,CB(new AB(),'Description'));d.d.ze(2,1,d.a);c=qp(new kp(),'OK');c.x(p9(new o9(),d));d.d.ze(3,0,c);a=qp(new kp(),'Cancel');a.x(t9(new s9(),d));d.d.ze(3,1,a);CG(d,d.d);uN(d,'ks-popups-Popup');return d;}
-function D9(a){a.lc();}
-function F9(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
-function a$(b){var a;a=x9(new w9(),b);if(nU('',rK(b.b))){gbb("Can't have an empty category name.");}else{kTb(BLb(),b.c,rK(b.b),rK(b.a),a);}}
-function n9(){}
-_=n9.prototype=new FD();_.tN=wfc+'CategoryEditor';_.tI=210;_.c=null;function p9(b,a){b.a=a;return b;}
-function r9(a){a$(this.a);}
-function o9(){}
-_=o9.prototype=new uT();_.zc=r9;_.tN=wfc+'CategoryEditor$1';_.tI=211;function t9(b,a){b.a=a;return b;}
-function v9(a){D9(this.a);}
-function s9(){}
-_=s9.prototype=new uT();_.zc=v9;_.tN=wfc+'CategoryEditor$2';_.tI=212;function x9(b,a){b.a=a;return b;}
-function z9(b,a){if(Fb(a,55).a){b.a.lc();}else{gbb('Category was not successfully created. ');}}
-function A9(a){z9(this,a);}
-function w9(){}
-_=w9.prototype=new ecb();_.pd=A9;_.tN=wfc+'CategoryEditor$3';_.tI=213;function r$(a){a.c=jM(new CK());a.d=hO(new fO());a.f=BLb();}
-function s$(b,a){r$(b);iO(b.d,b.c);b.a=a;x$(b);gr(b,b.d);nM(b.c,b);uN(b,'category-explorer-Tree');return b;}
-function u$(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
-function v$(b,a){if(a.c.b==1&&ac(sL(a,0),64)){return false;}return true;}
-function w$(a){if(a.b!==null){a.b.ye(false);}}
-function x$(a){mM(a.c,'Please wait...');wTb(a.f,'/',h$(new g$(),a));}
-function y$(a){CM(a.c);a.e=null;x$(a);}
-function z$(c){var a,b;if(c.b===null){b=cp(new bp());dp(b,ez(new hw(),'No categories created yet. Add some categories from the administration screen.'));a=qp(new kp(),'Refresh');a.x(d$(new c$(),c));dp(b,a);uN(b,'small-Text');c.b=b;iO(c.d,c.b);}c.b.ye(true);}
-function A$(a){this.e=u$(this,a);this.a.he(this.e);}
-function B$(a){var b;if(v$(this,a)){return;}b=a;this.e=u$(this,a);wTb(this.f,this.e,l$(new k$(),this,b));}
-function b$(){}
-_=b$.prototype=new er();_.rd=A$;_.sd=B$;_.tN=wfc+'CategoryExplorerWidget';_.tI=214;_.a=null;_.b=null;_.e=null;function d$(b,a){b.a=a;return b;}
-function f$(a){y$(this.a);}
-function c$(){}
-_=c$.prototype=new uT();_.zc=f$;_.tN=wfc+'CategoryExplorerWidget$1';_.tI=215;function h$(b,a){b.a=a;return b;}
-function j$(d){var a,b,c;this.a.e=null;CM(this.a.c);a=Fb(d,63);if(a.a==0){z$(this.a);}else{w$(this.a);}for(b=0;b<a.a;b++){c=oL(new mL());wL(c,'<img src="images/category_small.gif"/>'+a[b]);CL(c,a[b]);c.y(p$(new o$()));lM(this.a.c,c);}}
-function g$(){}
-_=g$.prototype=new ecb();_.pd=j$;_.tN=wfc+'CategoryExplorerWidget$2';_.tI=216;function l$(b,a,c){b.a=c;return b;}
-function n$(e){var a,b,c,d;a=sL(this.a,0);if(ac(a,64)){this.a.ae(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=oL(new mL());wL(c,'<img src="images/category_small.gif"/>'+d[b]);CL(c,d[b]);c.y(p$(new o$()));this.a.y(c);}}
-function k$(){}
-_=k$.prototype=new ecb();_.pd=n$;_.tN=wfc+'CategoryExplorerWidget$3';_.tI=217;function p$(a){pL(a,'Please wait...');return a;}
-function o$(){}
-_=o$.prototype=new mL();_.tN=wfc+'CategoryExplorerWidget$PendingItem';_.tI=218;function E$(){E$=s2;F$=zb('[Ljava.lang.String;',605,1,['brl','dslr','xls']);b_=zb('[Ljava.lang.String;',605,1,['drl','rf','enumeration']);a_=zb('[Ljava.lang.String;',605,1,['function','dsl','jar','enumeration']);}
-function c_(a){E$();var b;for(b=0;b<a_.a;b++){if(nU(a_[b],a)){return true;}}return false;}
-var F$,a_,b_;function o_(){o_=s2;AK();}
-function m_(a){a.b=bE(new FD(),true);a.a=f_(new e_(),a);}
-function n_(b,a){o_();zK(b);m_(b);oK(b,b);vN(b.a,1);uN(b,'AutoCompleteTextBox');CG(b.b,b.a);jN(b.b,'AutoCompleteChoices');uN(b.a,'list');b.c=a;return b;}
-function p_(a){if(a.e&&uC(a.a)>0){vK(a,vC(a.a,wC(a.a)));}sC(a.a);a.b.lc();a.e=false;}
-function q_(e,a,b,c){var d;d=wC(e.a);d++;if(d>=uC(e.a)){d=0;}BC(e.a,d);}
-function r_(d,a,b,c){p_(d);}
-function s_(d,a,b,c){sC(d.a);d.b.lc();d.e=false;}
-function t_(b,a){if(0==rU(a)||0==uC(b.a)||1==uC(b.a)&&nU(vC(b.a,0),a)){sC(b.a);b.b.lc();b.e=false;}else{BC(b.a,0);CC(b.a,uC(b.a)+1);if(!b.d){dp(iG(),b.b);b.d=true;}oE(b.b);b.e=true;lE(b.b,lN(b),mN(b)+b.Cb());b.a.Be(b.Db()+'px');}}
-function u_(d,a,b,c){x_(d,rK(d));if(rU(rK(d))>0&&d.c!==null){fdc(d.c,rK(d),j_(new i_(),d));}}
-function v_(d,a,b,c){p_(d);}
-function w_(e,a,b,c){var d;d=wC(e.a);d--;if(d<0){d=uC(e.a)-1;}BC(e.a,d);}
-function x_(c,b){var a;a=0;while(a<uC(c.a)){if(vU(zU(vC(c.a,a)),zU(b))){++a;}else{AC(c.a,a);}}t_(c,b);}
-function y_(d,b,c){var a;sC(d.a);for(a=0;a<b.a;a++){pC(d.a,b[a]);}x_(d,c);}
-function z_(a,b,c){if(b==13){r_(this,a,b,c);}else if(b==9){v_(this,a,b,c);}else if(b==40){q_(this,a,b,c);}else if(b==38){w_(this,a,b,c);}else if(b==27){s_(this,a,b,c);}}
-function A_(a,b,c){}
-function B_(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:u_(this,a,b,c);break;}}
-function d_(){}
-_=d_.prototype=new kK();_.cd=z_;_.dd=A_;_.ed=B_;_.tN=xfc+'AutoCompleteTextBoxAsync';_.tI=219;_.c=null;_.d=false;_.e=false;function g_(){g_=s2;tC();}
-function f_(b,a){g_();b.a=a;mC(b);return b;}
-function h_(a){if(1==xe(a)){p_(this.a);}}
-function e_(){}
-_=e_.prototype=new eC();_.wc=h_;_.tN=xfc+'AutoCompleteTextBoxAsync$1';_.tI=220;function j_(b,a){b.a=a;return b;}
-function l_(b,a){y_(b.a,a,rK(b.a));}
-function i_(){}
-_=i_.prototype=new uT();_.tN=xfc+'AutoCompleteTextBoxAsync$2';_.tI=221;function aab(a){a.j=true;}
-function bab(a){a.j=false;}
-function cab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
-function dab(){return this.j;}
-function E_(){}
-_=E_.prototype=new er();_.pc=dab;_.tN=xfc+'DirtyableComposite';_.tI=222;_.j=false;function gab(a){a.b=CX(new AX());}
-function hab(a){lt(a);gab(a);return a;}
-function jab(d){var a,b,c;for(c=d.b.qc();c.kc();){a=Fb(c.sc(),65);b=ky(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).pc())return true;if(ac(b,67))if(Fb(b,67).jc())return true;}return false;}
-function kab(d,c,b,a){zy(d,c,b,a);if(ac(a,68)){DX(d.b,d.a++,hdb(new gdb(),c,b));}}
-function lab(){return jab(this);}
-function mab(c,b,a){kab(this,c,b,a);}
-function fab(){}
-_=fab.prototype=new ft();_.jc=lab;_.ze=mab;_.tN=xfc+'DirtyableFlexTable';_.tI=223;_.a=0;function oab(a){Fz(a);return a;}
-function qab(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=Dq(c,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
-function rab(){return qab(this);}
-function nab(){}
-_=nab.prototype=new Dz();_.jc=rab;_.tN=xfc+'DirtyableHorizontalPane';_.tI=224;function tab(a){hO(a);return a;}
-function vab(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=Dq(this,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
-function sab(){}
-_=sab.prototype=new fO();_.jc=vab;_.tN=xfc+'DirtyableVerticalPane';_.tI=225;function dbb(){dbb=s2;zr();}
-function abb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=lcb(new kcb(),'images/close.gif');}
-function bbb(d,b,a){var c,e;dbb();xr(d,true);abb(d);bC(d.a,b);aA(d.c,eB(new oA(),'images/error_dialog.png'));e=hO(new fO());iO(e,d.a);aA(d.c,e);if(a!==null){cbb(d,e,a);}aA(d.c,d.b);c=d;fB(d.b,zab(new yab(),d,c));Cr(d,d.c);lE(d,40,40);uN(d,'rule-error-Popup');return d;}
-function cbb(e,c,b){var a,d,f;f=hO(new fO());iO(c,f);d=qp(new kp(),'Details');iO(f,d);a=CB(new AB(),b);a.ye(false);iO(f,a);d.x(Dab(new Cab(),e,a,d));}
-function ebb(a){bC(a.a,'');hE(a);}
-function fbb(){ebb(this);}
-function gbb(a){dbb();var b;b=bbb(new xab(),a,null);bdb();oE(b);}
-function hbb(a){dbb();var b;b=bbb(new xab(),a.b,a.a);bdb();oE(b);}
-function xab(){}
-_=xab.prototype=new ur();_.lc=fbb;_.tN=xfc+'ErrorPopup';_.tI=226;function zab(b,a,c){b.a=c;return b;}
-function Bab(a){ebb(this.a);}
-function yab(){}
-_=yab.prototype=new uT();_.zc=Bab;_.tN=xfc+'ErrorPopup$1';_.tI=227;function Dab(b,a,c,d){b.a=c;b.b=d;return b;}
-function Fab(a){this.a.ye(true);this.b.ye(false);}
-function Cab(){}
-_=Cab.prototype=new uT();_.zc=Fab;_.tN=xfc+'ErrorPopup$2';_.tI=228;function jbb(b,a){b.a=a;return b;}
-function lbb(a,b,c){}
-function mbb(a,b,c){}
-function nbb(a,b,c){this.a.pb();}
-function ibb(){}
-_=ibb.prototype=new uT();_.cd=lbb;_.dd=mbb;_.ed=nbb;_.tN=xfc+'FieldEditListener';_.tI=229;_.a=null;function pbb(a){a.h=hab(new fab());a.g=ot(a.h);}
-function rbb(b,a,c){pbb(b);tbb(b,a,c);gr(b,b.h);return b;}
-function qbb(a){pbb(a);gr(a,a.h);return a;}
-function sbb(d,c,a){var b;b=ez(new hw(),'<b>'+c+'<\/b>');kab(d.h,d.i,0,b);Bw(d.g,d.i,0,(oz(),rz),(xz(),Az));kab(d.h,d.i,1,a);Bw(d.g,d.i,1,(oz(),qz),(xz(),Az));d.i++;}
-function tbb(c,a,d){var b;b=CB(new AB(),d);uN(b,'resource-name-Label');ybb(c,a,b);}
-function ubb(d,b,e,f){var a,c;c=CB(new AB(),e);uN(c,'resource-name-Label');a=Fz(new Dz());aA(a,c);aA(a,f);ybb(d,b,a);}
-function vbb(a,b){kab(a.h,a.i,0,b);jt(a.g,a.i,0,2);a.i++;}
-function wbb(a){a.i=0;by(a.h);}
-function ybb(b,a,c){kab(b.h,0,0,eB(new oA(),a));Bw(b.g,0,0,(oz(),qz),(xz(),Az));kab(b.h,0,1,c);b.i++;}
-function zbb(c,b,a,d){kab(c.h,b,a,d);}
-function Abb(){return jab(this.h);}
-function obb(){}
-_=obb.prototype=new E_();_.pc=Abb;_.tN=xfc+'FormStyleLayout';_.tI=230;_.i=0;function dcb(){dcb=s2;eE();}
-function acb(c,b,d){var a;dcb();bE(c,true);c.i=rbb(new obb(),b,d);uN(c,'ks-popups-Popup');a=lcb(new kcb(),'images/close.gif');fB(a,Dbb(new Cbb(),c));zbb(c.i,0,2,a);CG(c,c.i);return c;}
-function bcb(b,a,c){sbb(b.i,a,c);}
-function ccb(a,b){vbb(a.i,b);}
-function Bbb(){}
-_=Bbb.prototype=new FD();_.tN=xfc+'FormStylePopup';_.tI=231;_.i=null;function Dbb(b,a){b.a=a;return b;}
-function Fbb(a){this.a.lc();}
-function Cbb(){}
-_=Cbb.prototype=new uT();_.zc=Fbb;_.tN=xfc+'FormStylePopup$1';_.tI=232;function ncb(){ncb=s2;hB();}
-function lcb(b,a){ncb();eB(b,a);uN(b,'image-Button');return b;}
-function mcb(b,a,c){ncb();eB(b,a);uN(b,'image-Button');b.te(c);return b;}
-function kcb(){}
-_=kcb.prototype=new oA();_.tN=xfc+'ImageButton';_.tI=233;function tcb(c,d,b){var a;a=eB(new oA(),'images/information.gif');a.te(b);fB(a,qcb(new pcb(),c,d,b));gr(c,a);return c;}
-function ocb(){}
-_=ocb.prototype=new er();_.tN=xfc+'InfoPopup';_.tI=234;function qcb(b,a,d,c){b.b=d;b.a=c;return b;}
-function scb(b){var a;a=acb(new Bbb(),'images/information.gif',this.b);ccb(a,wcb(new vcb(),this.a,'small-Text'));lE(a,lN(b),mN(b));oE(a);}
-function pcb(){}
-_=pcb.prototype=new uT();_.zc=scb;_.tN=xfc+'InfoPopup$1';_.tI=235;function wcb(c,a,b){CB(c,a);uN(c,b);return c;}
-function vcb(){}
-_=vcb.prototype=new AB();_.tN=xfc+'Lbl';_.tI=236;function Fcb(){Fcb=s2;eE();}
-function Dcb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=eB(new oA(),'images/close.gif');}
-function Ecb(a){Fcb();bE(a,true);Dcb(a);aA(a.c,a.a);aA(a.c,a.b);aA(a.c,eB(new oA(),'images/searching.gif'));fB(a.b,Acb(new zcb(),a));CG(a,a.c);lE(a,0,0);uN(a,'loading-Popup');return a;}
-function adb(a){bC(a.a,'');hE(a);}
-function bdb(){Fcb();adb(cdb());}
-function cdb(){Fcb();if(edb===null){edb=Ecb(new ycb());}return edb;}
-function ddb(){adb(this);}
-function fdb(a){Fcb();var b;b=cdb();bC(b.a,a);oE(b);}
-function ycb(){}
-_=ycb.prototype=new FD();_.lc=ddb;_.tN=xfc+'LoadingPopup';_.tI=237;var edb=null;function Acb(b,a){b.a=a;return b;}
-function Ccb(a){adb(this.a);}
-function zcb(){}
-_=zcb.prototype=new uT();_.zc=Ccb;_.tN=xfc+'LoadingPopup$1';_.tI=238;function hdb(c,b,a){c.b=b;c.a=a;return c;}
-function gdb(){}
-_=gdb.prototype=new uT();_.tN=xfc+'Pair';_.tI=239;_.a=0;_.b=0;function odb(a){a.b=mC(new eC());rTb(BLb(),ldb(new kdb(),a));gr(a,a.b);return a;}
-function qdb(a){return vC(a.b,wC(a.b));}
-function rdb(b,a){b.a=a;}
-function jdb(){}
-_=jdb.prototype=new er();_.tN=xfc+'RulePackageSelector';_.tI=240;_.a=null;_.b=null;function ldb(b,a){b.a=a;return b;}
-function ndb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){pC(this.a.b,b[a].j);if(this.a.a!==null&&nU(b[a].j,this.a.a)){BC(this.a.b,a);}}}
-function kdb(){}
-_=kdb.prototype=new ecb();_.pd=ndb;_.tN=xfc+'RulePackageSelector$1';_.tI=241;function keb(){keb=s2;zr();}
-function ieb(f,g,d){var a,b,c,e;keb();xr(f,true);f.d=g;f.b=d;uN(f,'ks-popups-Popup');Ar(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=Fz(new Dz());a=mC(new eC());fdb('Please wait...');tTb(BLb(),udb(new tdb(),f,a));oC(a,ydb(new xdb(),f,a));aA(c,a);e=qp(new kp(),'Change status');e.x(Cdb(new Bdb(),f,a));aA(c,e);b=qp(new kp(),'Cancel');b.x(aeb(new Fdb(),f));aA(c,b);Cr(f,c);return f;}
-function jeb(b,a){fdb('Updating status...');eTb(BLb(),b.d,b.c,b.b,eeb(new deb(),b));}
-function leb(b,a){b.a=a;}
-function sdb(){}
-_=sdb.prototype=new ur();_.tN=xfc+'StatusChangePopup';_.tI=242;_.a=null;_.b=false;_.c=null;_.d=null;function udb(b,a,c){b.a=c;return b;}
-function wdb(a){var b,c;c=Fb(a,63);pC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){pC(this.a,c[b]);}bdb();}
-function tdb(){}
-_=tdb.prototype=new ecb();_.pd=wdb;_.tN=xfc+'StatusChangePopup$1';_.tI=243;function ydb(b,a,c){b.a=a;b.b=c;return b;}
-function Adb(a){this.a.c=vC(this.b,wC(this.b));}
-function xdb(){}
-_=xdb.prototype=new uT();_.yc=Adb;_.tN=xfc+'StatusChangePopup$2';_.tI=244;function Cdb(b,a,c){b.a=a;b.b=c;return b;}
-function Edb(b){var a;a=vC(this.b,wC(this.b));jeb(this.a,a);this.a.lc();}
-function Bdb(){}
-_=Bdb.prototype=new uT();_.zc=Edb;_.tN=xfc+'StatusChangePopup$3';_.tI=245;function aeb(b,a){b.a=a;return b;}
-function ceb(a){this.a.lc();}
-function Fdb(){}
-_=Fdb.prototype=new uT();_.zc=ceb;_.tN=xfc+'StatusChangePopup$4';_.tI=246;function eeb(b,a){b.a=a;return b;}
-function geb(b,a){b.a.a.pb();bdb();}
-function heb(a){geb(this,a);}
-function deb(){}
-_=deb.prototype=new ecb();_.pd=heb;_.tN=xfc+'StatusChangePopup$5';_.tI=247;function oeb(){oeb=s2;dcb();}
-function neb(c,b,a){oeb();acb(c,'images/attention_needed.png',b);bcb(c,'Detail:',peb(c,a));return c;}
-function peb(c,b){var a;a=eK(new dK());uN(a,'editable-Surface');jK(a,12);vK(a,b);a.Be('100%');return a;}
-function meb(){}
-_=meb.prototype=new Bbb();_.tN=xfc+'ValidationMessageWidget';_.tI=248;function xeb(){xeb=s2;eE();}
-function veb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=qp(new kp(),'OK');}
-function web(b,c,d){var a;xeb();bE(b,true);veb(b);lE(b,c,d);aA(b.c,b.a);aA(b.c,b.b);a=b;b.b.x(seb(new reb(),b,a));CG(b,b.c);uN(b,'rule-warning-Popup');return b;}
-function yeb(a){bC(a.a,'');hE(a);}
-function zeb(){yeb(this);}
-function Aeb(a,c,d){xeb();var b;b=web(new qeb(),c,d);bC(b.a,a);oE(b);}
-function qeb(){}
-_=qeb.prototype=new FD();_.lc=zeb;_.tN=xfc+'WarningPopup';_.tI=249;function seb(b,a,c){b.a=c;return b;}
-function ueb(a){yeb(this.a);}
-function reb(){}
-_=reb.prototype=new uT();_.zc=ueb;_.tN=xfc+'WarningPopup$1';_.tI=250;function ffb(){ffb=s2;zr();}
-function efb(d,b,f){var a,c,e;ffb();wr(d);Br(d,b);e=qp(new kp(),'Yes');c=qp(new kp(),'No');e.x(Deb(new Ceb(),d,f));c.x(bfb(new afb(),d));a=Fz(new Dz());aA(a,e);aA(a,c);Cr(d,a);return d;}
-function Beb(){}
-_=Beb.prototype=new ur();_.tN=xfc+'YesNoDialog';_.tI=251;function Deb(b,a,c){b.a=a;b.b=c;return b;}
-function Feb(a){this.b.pb();this.a.lc();}
-function Ceb(){}
-_=Ceb.prototype=new uT();_.zc=Feb;_.tN=xfc+'YesNoDialog$1';_.tI=252;function bfb(b,a){b.a=a;return b;}
-function dfb(a){this.a.lc();}
-function afb(){}
-_=afb.prototype=new uT();_.zc=dfb;_.tN=xfc+'YesNoDialog$2';_.tI=253;function fxb(b,a,c){b.e=c;b.a=a;kxb(b,a.e,a.d.n);jxb(b);return b;}
-function gxb(b,a){vbb(b.c,a);}
-function ixb(c,a,d){var b;b=zK(new kK());tK(b,a);vK(b,d);b.ye(false);return b;}
-function jxb(a){Du(a.b,bxb(new axb(),a));}
-function kxb(d,f,c){var a,b,e;d.b=Cu(new xu());cv(d.b,v()+'asset');dv(d.b,'multipart/form-data');ev(d.b,'post');e=at(new Fs());dt(e,'fileUploadElement');b=Fz(new Dz());aA(b,ixb(d,'attachmentUUID',f));d.d=mcb(new kcb(),'images/upload.gif','Upload');aA(b,e);aA(b,CB(new AB(),'upload:'));aA(b,d.d);CG(d.b,b);d.c=rbb(new obb(),d.vb(),c);if(!d.a.c)sbb(d.c,'Upload new version:',d.b);a=qp(new kp(),'Download');a.x(zwb(new ywb(),d,f));sbb(d.c,'Download current version:',a);fB(d.d,Dwb(new Cwb(),d));gr(d,d.c);d.c.Be('100%');uN(d,d.Eb());}
-function lxb(a){fdb('Uploading...');}
-function mxb(a){gv(a.b);}
-function xwb(){}
-_=xwb.prototype=new er();_.tN=Cfc+'AssetAttachmentFileWidget';_.tI=254;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function hfb(b,a,c){fxb(b,a,c);gxb(b,ez(new hw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
-function jfb(){return 'images/decision_table.png';}
-function kfb(){return 'decision-Table-upload';}
-function gfb(){}
-_=gfb.prototype=new xwb();_.vb=jfb;_.Eb=kfb;_.tN=yfc+'DecisionTableXLSWidget';_.tI=255;function mfb(){mfb=s2;ufb=z0(new DZ());pfb=z0(new DZ());ofb=z0(new DZ());nfb=zb('[Ljava.lang.String;',605,1,['not','exists','or']);{a1(ufb,'==','is equal to');a1(ufb,'!=','is not equal to');a1(ufb,'<','is less than');a1(ufb,'<=','less than or equal to');a1(ufb,'>','greater than');a1(ufb,'>=','greater than or equal to');a1(ufb,'|| ==','or equal to');a1(ufb,'|| !=','or not equal to');a1(ufb,'&& !=','and not equal to');a1(ufb,'&& >','and greater than');a1(ufb,'&& <','and less than');a1(ufb,'|| >','or greater than');a1(ufb,'|| <','or less than');a1(ufb,'&& <','and less than');a1(ufb,'|| >=','or greater than (or equal to)');a1(ufb,'|| <=','or less than (or equal to)');a1(ufb,'&& >=','and greater than (or equal to)');a1(ufb,'&& <=','or less than (or equal to)');a1(ufb,'&& contains','and contains');a1(ufb,'|| contains','or contains');a1(ufb,'&& matches','and matches');a1(ufb,'|| matches','or mat!
 ches');a1(ufb,'|| excludes','or excludes');a1(ufb,'&& excludes','and excludes');a1(ufb,'soundslike','sounds like');a1(pfb,'not','There is no');a1(pfb,'exists','There exists');a1(pfb,'or','Any of');a1(ofb,'assert','Insert');a1(ofb,'assertLogical','Logically insert');a1(ofb,'retract','Retract');a1(ofb,'set','Set');a1(ofb,'modify','Modify');}}
-function qfb(a){mfb();return tfb(a,ofb);}
-function rfb(a){mfb();return tfb(a,pfb);}
-function sfb(a){mfb();return tfb(a,ufb);}
-function tfb(a,b){mfb();if(C0(b,a)){return Fb(F0(b,a),1);}else{return a;}}
-var nfb,ofb,pfb,ufb;function yfb(){yfb=s2;mgb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=']);ogb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);kgb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);igb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);ngb=zb('[Ljava.lang.String;',605,1,['==','!=']);lgb=zb('[Ljava.lang.String;',605,1,['==','!=','<','>','<=','>=']);pgb=zb('[Ljava.lang.String;',605,1,['==','!=','matches','soundslike']);jgb=zb('[Ljava.lang.String;',605,1,['contains','excludes','==','!=']);}
-function wfb(a){a.h=z0(new DZ());a.c=z0(new DZ());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[14],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[14],[0],null);}
-function xfb(a){yfb();wfb(a);return a;}
-function zfb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return mgb;}else if(nU(d,'String')){return ogb;}else if(nU(d,'Comparable')||nU(d,'Numeric')){return kgb;}else if(nU(d,'Collection')){return igb;}else{return mgb;}}
-function Bfb(i,g,d){var a,b,c,e,f,h,j;c=cgb(i);j=Fb(F0(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(nU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.ic(f),63);}}}}return Fb(i.c.ic(g.c+'.'+d),63);}
-function Afb(f,g,a,c){var b,d,e,h,i;b=cgb(f);h=Fb(F0(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(nU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.ic(e),63);}}}return Fb(f.c.ic(g+'.'+c),63);}
-function Dfb(b,a){return Fb(b.g.ic(a),63);}
-function Cfb(a,c){var b;b=Fb(a.h.ic(c),1);return Fb(a.g.ic(b),63);}
-function Efb(c,a,b){return Fb(c.f.ic(a+'.'+b),1);}
-function Ffb(a){return dgb(a,a.h.rc());}
-function agb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return ngb;}else if(nU(d,'String')){return pgb;}else if(nU(d,'Comparable')||nU(d,'Numeric')){return lgb;}else if(nU(d,'Collection')){return jgb;}else{return ngb;}}
-function bgb(a,b){return a.h.db(b);}
-function cgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=z0(new DZ());e=g.c.rc();for(b=qW(e);xW(b);){d=Fb(yW(b),1);if(oU(d,91)!=(-1)){c=oU(d,91);a=xU(d,0,c);f=xU(d,c+1,oU(d,93));h=xU(f,0,oU(f,61));a1(g.d,a,h);}}}return g.d;}
-function dgb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[605],[1],[d.b.a.c],null);b=0;for(c=qW(d);xW(c);){a[b]=Fb(yW(c),1);b++;}return a;}
-function vfb(){}
-_=vfb.prototype=new uT();_.tN=zfc+'SuggestionCompletionEngine';_.tI=256;_.d=null;_.e=null;_.f=null;_.g=null;var igb,jgb,kgb,lgb,mgb,ngb,ogb,pgb;function ggb(b,a){a.a=Fb(b.Dd(),72);a.b=Fb(b.Dd(),72);a.c=Fb(b.Dd(),57);a.e=Fb(b.Dd(),63);a.f=Fb(b.Dd(),57);a.g=Fb(b.Dd(),57);a.h=Fb(b.Dd(),57);}
-function hgb(b,a){b.ff(a.a);b.ff(a.b);b.ff(a.c);b.ff(a.e);b.ff(a.f);b.ff(a.g);b.ff(a.h);}
-function rgb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[615],[18],[0],null);}
-function sgb(a){rgb(a);return a;}
-function tgb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[615],[18],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[615],[18],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
-function vgb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[615],[18],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
-function qgb(){}
-_=qgb.prototype=new uT();_.tN=Afc+'ActionFieldList';_.tI=257;function ygb(b,a){a.b=Fb(b.Dd(),73);}
-function zgb(b,a){b.ff(a.b);}
-function Bgb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Agb(){}
-_=Agb.prototype=new uT();_.tN=Afc+'ActionFieldValue';_.tI=258;_.a=null;_.b=null;_.c=null;function Fgb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
-function ahb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
-function dhb(a,b){sgb(a);a.a=b;return a;}
-function chb(a){sgb(a);return a;}
-function bhb(){}
-_=bhb.prototype=new qgb();_.tN=Afc+'ActionInsertFact';_.tI=259;_.a=null;function hhb(b,a){a.a=b.Ed();ygb(b,a);}
-function ihb(b,a){b.gf(a.a);zgb(b,a);}
-function lhb(b,a){dhb(b,a);return b;}
-function khb(a){chb(a);return a;}
-function jhb(){}
-_=jhb.prototype=new bhb();_.tN=Afc+'ActionInsertLogicalFact';_.tI=260;function phb(b,a){hhb(b,a);}
-function qhb(b,a){ihb(b,a);}
-function shb(a,b){a.a=b;return a;}
-function rhb(){}
-_=rhb.prototype=new uT();_.tN=Afc+'ActionRetractFact';_.tI=261;_.a=null;function whb(b,a){a.a=b.Ed();}
-function xhb(b,a){b.gf(a.a);}
-function Ahb(a,b){sgb(a);a.a=b;return a;}
-function zhb(a){sgb(a);return a;}
-function yhb(){}
-_=yhb.prototype=new qgb();_.tN=Afc+'ActionSetField';_.tI=262;_.a=null;function Ehb(b,a){a.a=b.Ed();ygb(b,a);}
-function Fhb(b,a){b.gf(a.a);zgb(b,a);}
-function cib(b,a){Ahb(b,a);return b;}
-function bib(a){zhb(a);return a;}
-function aib(){}
-_=aib.prototype=new yhb();_.tN=Afc+'ActionUpdateField';_.tI=263;function gib(b,a){Ehb(b,a);}
-function hib(b,a){Fhb(b,a);}
-function jib(a,b){a.b=b;return a;}
-function kib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[613],[16],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[613],[16],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
-function iib(){}
-_=iib.prototype=new uT();_.tN=Afc+'CompositeFactPattern';_.tI=264;_.a=null;_.b=null;function oib(b,a){a.a=Fb(b.Dd(),74);a.b=b.Ed();}
-function pib(b,a){b.ff(a.a);b.gf(a.b);}
-function rib(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[614],[17],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[614],[17],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
-function tib(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[614],[17],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
-function qib(){}
-_=qib.prototype=new uT();_.tN=Afc+'CompositeFieldConstraint';_.tI=265;_.a=null;_.b=null;function wib(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),75);}
-function xib(b,a){b.gf(a.a);b.ff(a.b);}
-function vjb(){}
-_=vjb.prototype=new uT();_.tN=Afc+'ISingleFieldConstraint';_.tI=266;_.e=0;_.f=null;function yib(){}
-_=yib.prototype=new vjb();_.tN=Afc+'ConnectiveConstraint';_.tI=267;_.a=null;function Cib(b,a){a.a=b.Ed();zjb(b,a);}
-function Dib(b,a){b.gf(a.a);Ajb(b,a);}
-function ajb(b){var a;a=new Eib();a.a=b.a;return a;}
-function bjb(e){var a,b,c,d;b=yU(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
-function gjb(){return bjb(this);}
-function Eib(){}
-_=Eib.prototype=new uT();_.tS=gjb;_.tN=Afc+'DSLSentence';_.tI=268;_.a=null;function ejb(b,a){a.a=b.Ed();}
-function fjb(b,a){b.gf(a.a);}
-function ijb(b,a){b.c=a;return b;}
-function jjb(b,a){if(b.b===null)b.b=new qib();rib(b.b,a);}
-function ljb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[614],[17],[0],null);}else{return a.b.b;}}
-function mjb(a){if(a.a!==null&& !nU('',a.a)){return true;}else{return false;}}
-function njb(b,a){tib(b.b,a);}
-function hjb(){}
-_=hjb.prototype=new uT();_.tN=Afc+'FactPattern';_.tI=269;_.a=null;_.b=null;_.c=null;function qjb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),31);a.c=b.Ed();}
-function rjb(b,a){b.gf(a.a);b.ff(a.b);b.gf(a.c);}
-function zjb(b,a){a.e=b.Bd();a.f=b.Ed();}
-function Ajb(b,a){b.df(a.e);b.gf(a.f);}
-function Djb(b,a,c){b.a=a;b.b=c;return b;}
-function dkb(){var a;a=FT(new ET());bU(a,this.a);if(nU('no-loop',this.a)){bU(a,' ');bU(a,this.b===null?'true':this.b);}else if(nU('salience',this.a)){bU(a,' ');bU(a,this.b);}else if(this.b!==null){bU(a,' "');bU(a,this.b);bU(a,'"');}return fU(a);}
-function Cjb(){}
-_=Cjb.prototype=new uT();_.tS=dkb;_.tN=Afc+'RuleAttribute';_.tI=270;_.a=null;_.b=null;function bkb(b,a){a.a=b.Ed();a.b=b.Ed();}
-function ckb(b,a){b.gf(a.a);b.gf(a.b);}
-function fkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[21],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[22],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[23],[0],null);}
-function gkb(a){fkb(a);return a;}
-function hkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[21],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function ikb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[22],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[22],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
-function jkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[23],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[23],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
-function lkb(h){var a,b,c,d,e,f,g;g=CX(new AX());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,16)){b=Fb(f,16);if(mjb(b)){EX(g,b.a);}for(e=0;e<ljb(b).a;e++){c=ljb(b)[e];if(ac(c,32)){a=Fb(c,32);if(Ckb(a)){EX(g,a.b);}}}}}return g;}
-function mkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],16)){b=Fb(c.b[a],16);if(b.a!==null&&nU(d,b.a)){return b;}}}return null;}
-function nkb(d){var a,b,c;if(d.b===null){return null;}b=CX(new AX());for(a=0;a<d.b.a;a++){if(ac(d.b[a],16)){c=Fb(d.b[a],16);if(c.a!==null){EX(b,c.a);}}}return b;}
-function okb(k,b){var a,c,d,e,f,g,h,i,j;j=CX(new AX());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,16)){d=Fb(i,16);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Ckb(a)){EX(j,a.b);}}}}if(mjb(d)){EX(j,d.a);}}else{if(mjb(d)){EX(j,d.a);}}}}return j;}
-function pkb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],28)){d=Fb(e.e[b],28);if(nU(d.a,a)){return true;}}else if(ac(e.e[b],27)){c=Fb(e.e[b],27);if(nU(c.a,a)){return true;}}}return false;}
-function qkb(b,a){return cY(lkb(b),a);}
-function rkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[21],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function skb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[22],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],16)){e=Fb(f.b[a],16);if(e.a!==null&&pkb(f,e.a)){return false;}}}}f.b=d;return true;}
-function tkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[23],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
-function ekb(){}
-_=ekb.prototype=new uT();_.tN=Afc+'RuleModel';_.tI=271;_.c='1.0';_.d=null;function wkb(b,a){a.a=Fb(b.Dd(),76);a.b=Fb(b.Dd(),77);a.c=b.Ed();a.d=b.Ed();a.e=Fb(b.Dd(),78);}
-function xkb(b,a){b.ff(a.a);b.ff(a.b);b.gf(a.c);b.gf(a.d);b.ff(a.e);}
-function zkb(b,a){b.c=a;return b;}
-function Akb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',612,15,[new yib()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[612],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new yib();c.a=b;}}
-function Ckb(a){if(a.b!==null&& !nU('',a.b)){return true;}else{return false;}}
-function ykb(){}
-_=ykb.prototype=new vjb();_.tN=Afc+'SingleFieldConstraint';_.tI=272;_.a=null;_.b=null;_.c=null;_.d=null;function Fkb(b,a){a.a=Fb(b.Dd(),79);a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();zjb(b,a);}
-function alb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);Ajb(b,a);}
-function Alb(d,b,c,a){d.e=c;d.a=a;d.d=hab(new fab());d.f=b;d.b=c.a;d.c=Dfb(d.a,c.a);uN(d.d,'model-builderInner-Background');Clb(d);gr(d,d.d);return d;}
-function Clb(e){var a,b,c,d,f;by(e.d);kab(e.d,0,0,Elb(e));c=hab(new fab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];kab(c,a,0,Dlb(e,f));kab(c,a,1,amb(e,f));b=a;d=lcb(new kcb(),'images/delete_item_small.gif');fB(d,dlb(new clb(),e,b));kab(c,a,2,d);}kab(e.d,0,1,c);}
-function Dlb(a,b){return CB(new AB(),b.a);}
-function Elb(d){var a,b,c;c=Fz(new Dz());b=lcb(new kcb(),'images/add_field_to_fact.gif');b.te('Add another field to this so you can set its value.');fB(b,tlb(new slb(),d));a='assert';if(ac(d.e,26)){a='assertLogical';}aA(c,wcb(new vcb(),qfb(a)+' '+d.e.a,'modeller-action-Label'));aA(c,b);return c;}
-function Flb(d,e){var a,b,c;c=acb(new Bbb(),'images/newex_wiz.gif','Add a field');uN(c,'ks-popups-Popup');a=mC(new eC());pC(a,'...');for(b=0;b<d.c.a;b++){pC(a,d.c[b]);}BC(a,0);bcb(c,'Add field',a);oC(a,xlb(new wlb(),d,a,c));lE(c,lN(e),mN(e));oE(c);}
-function amb(c,d){var a,b;b=Afb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return upb(d.c,llb(new klb(),c,d),b);}else{a=zK(new kK());vK(a,d.c);nK(a,plb(new olb(),c,d,a));if(nU(d.b,'Numeric')){oK(a,onb(a));}return a;}}
-function blb(){}
-_=blb.prototype=new E_();_.tN=Bfc+'ActionInsertFactWidget';_.tI=273;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function dlb(b,a,c){b.a=a;b.b=c;return b;}
-function flb(b){var a;a=efb(new Beb(),'Remove this item?',hlb(new glb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
-function clb(){}
-_=clb.prototype=new uT();_.zc=flb;_.tN=Bfc+'ActionInsertFactWidget$1';_.tI=274;function hlb(b,a,c){b.a=a;b.b=c;return b;}
-function jlb(){vgb(this.a.a.e,this.b);owb(this.a.a.f);}
-function glb(){}
-_=glb.prototype=new uT();_.pb=jlb;_.tN=Bfc+'ActionInsertFactWidget$2';_.tI=275;function llb(b,a,c){b.a=c;return b;}
-function nlb(a){this.a.c=a;}
-function klb(){}
-_=klb.prototype=new uT();_.af=nlb;_.tN=Bfc+'ActionInsertFactWidget$3';_.tI=276;function plb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rlb(a){this.c.c=rK(this.b);owb(this.a.f);}
-function olb(){}
-_=olb.prototype=new uT();_.yc=rlb;_.tN=Bfc+'ActionInsertFactWidget$4';_.tI=277;function tlb(b,a){b.a=a;return b;}
-function vlb(a){Flb(this.a,a);}
-function slb(){}
-_=slb.prototype=new uT();_.zc=vlb;_.tN=Bfc+'ActionInsertFactWidget$5';_.tI=278;function xlb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function zlb(c){var a,b;a=vC(this.b,wC(this.b));b=Efb(this.a.a,this.a.e.a,a);tgb(this.a.e,Bgb(new Agb(),a,'',b));owb(this.a.f);this.c.lc();}
-function wlb(){}
-_=wlb.prototype=new uT();_.yc=zlb;_.tN=Bfc+'ActionInsertFactWidget$6';_.tI=279;function cmb(c,a,b){c.a=lt(new ft());uN(c.a,'model-builderInner-Background');c.a.ze(0,0,wcb(new vcb(),qfb('retract'),'modeller-action-Label'));c.a.ze(0,1,wcb(new vcb(),'['+b.a+']','modeller-action-Label'));gr(c,c.a);return c;}
-function bmb(){}
-_=bmb.prototype=new er();_.tN=Bfc+'ActionRetractFactWidget';_.tI=280;_.a=null;function hnb(e,b,d,a){var c;e.d=d;e.a=a;e.c=hab(new fab());e.e=b;uN(e.c,'model-builderInner-Background');if(bgb(e.a,d.a)){e.b=Cfb(e.a,d.a);e.f=Fb(e.a.h.ic(d.a),1);}else{c=mkb(b.c,d.a);e.b=Dfb(e.a,c.c);e.f=c.c;}jnb(e);gr(e,e.c);return e;}
-function jnb(e){var a,b,c,d,f;by(e.c);kab(e.c,0,0,lnb(e));c=hab(new fab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];kab(c,a,0,knb(e,f));kab(c,a,1,nnb(e,f));b=a;d=lcb(new kcb(),'images/delete_item_small.gif');fB(d,gmb(new fmb(),e,b));kab(c,a,2,d);}kab(e.c,0,1,c);}
-function knb(a,b){return CB(new AB(),b.a);}
-function lnb(d){var a,b,c;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te('Add another field to this so you can set its value.');fB(a,omb(new nmb(),d));c='set';if(ac(d.d,29)){c='modify';}aA(b,wcb(new vcb(),qfb(c)+' ['+d.d.a+']','modeller-action-Label'));aA(b,a);return b;}
-function mnb(d,e){var a,b,c;c=acb(new Bbb(),'images/newex_wiz.gif','Add a field');uN(c,'ks-popups-Popup');a=mC(new eC());pC(a,'...');for(b=0;b<d.b.a;b++){pC(a,d.b[b]);}BC(a,0);bcb(c,'Add field',a);oC(a,smb(new rmb(),d,a,c));lE(c,lN(e),mN(e));oE(c);}
-function nnb(d,f){var a,b,c,e;e='';if(bgb(d.a,d.d.a)){e=Fb(d.a.h.ic(d.d.a),1);}else{e=mkb(d.e.c,d.d.a).c;}b=Afb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return upb(f.c,wmb(new vmb(),d,f),b);}else{c=AG(new sG());a=zK(new kK());vK(a,f.c);if(rU(f.c)!=0){BK(a,rU(f.c));}if(nU(f.b,'Numeric')){oK(a,onb(a));}nK(a,Amb(new zmb(),d,f,a));oK(a,jbb(new ibb(),Emb(new Dmb(),d,a)));CG(c,a);return c;}}
-function onb(a){return cnb(new bnb(),a);}
-function pnb(){return jab(this.c);}
-function emb(){}
-_=emb.prototype=new E_();_.pc=pnb;_.tN=Bfc+'ActionSetFieldWidget';_.tI=281;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function gmb(b,a,c){b.a=a;b.b=c;return b;}
-function imb(b){var a;a=efb(new Beb(),'Remove this item?',kmb(new jmb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
-function fmb(){}
-_=fmb.prototype=new uT();_.zc=imb;_.tN=Bfc+'ActionSetFieldWidget$1';_.tI=282;function kmb(b,a,c){b.a=a;b.b=c;return b;}
-function mmb(){vgb(this.a.a.d,this.b);owb(this.a.a.e);}
-function jmb(){}
-_=jmb.prototype=new uT();_.pb=mmb;_.tN=Bfc+'ActionSetFieldWidget$2';_.tI=283;function omb(b,a){b.a=a;return b;}
-function qmb(a){mnb(this.a,a);}
-function nmb(){}
-_=nmb.prototype=new uT();_.zc=qmb;_.tN=Bfc+'ActionSetFieldWidget$3';_.tI=284;function smb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function umb(c){var a,b;a=vC(this.b,wC(this.b));b=Efb(this.a.a,this.a.f,a);tgb(this.a.d,Bgb(new Agb(),a,'',b));owb(this.a.e);this.c.lc();}
-function rmb(){}
-_=rmb.prototype=new uT();_.yc=umb;_.tN=Bfc+'ActionSetFieldWidget$4';_.tI=285;function wmb(b,a,c){b.a=c;return b;}
-function ymb(a){this.a.c=a;}
-function vmb(){}
-_=vmb.prototype=new uT();_.af=ymb;_.tN=Bfc+'ActionSetFieldWidget$5';_.tI=286;function Amb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Cmb(a){this.b.c=rK(this.a);}
-function zmb(){}
-_=zmb.prototype=new uT();_.yc=Cmb;_.tN=Bfc+'ActionSetFieldWidget$6';_.tI=287;function Emb(b,a,c){b.a=c;return b;}
-function anb(){BK(this.a,rU(rK(this.a)));}
-function Dmb(){}
-_=Dmb.prototype=new uT();_.pb=anb;_.tN=Bfc+'ActionSetFieldWidget$7';_.tI=288;function cnb(a,b){a.a=b;return a;}
-function enb(a,b,c){}
-function fnb(c,a,b){if(eS(a)&&a!=61&& !vU(rK(this.a),'=')){pK(Fb(c,80));}}
-function gnb(a,b,c){}
-function bnb(){}
-_=bnb.prototype=new uT();_.cd=enb;_.dd=fnb;_.ed=gnb;_.tN=Bfc+'ActionSetFieldWidget$8';_.tI=289;function znb(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=hab(new fab());uN(d.b,'model-builderInner-Background');Bnb(d);gr(d,d.b);return d;}
-function Bnb(c){var a,b,d;kab(c.b,0,0,Cnb(c));if(c.d.a!==null){d=tab(new sab());a=c.d.a;for(b=0;b<a.a;b++){iO(d,msb(new kqb(),c.c,a[b],c.a,false));}kab(c.b,0,1,d);}}
-function Cnb(c){var a,b;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");fB(a,snb(new rnb(),c));aA(b,CB(new AB(),rfb(c.d.b)));aA(b,a);uN(b,'modeller-composite-Label');return b;}
-function Dnb(e,f){var a,b,c,d;a=mC(new eC());b=e.a.e;pC(a,'Choose...');for(c=0;c<b.a;c++){pC(a,b[c]);}BC(a,0);d=acb(new Bbb(),'images/new_fact.gif','New fact pattern...');bcb(d,'choose fact type',a);oC(a,wnb(new vnb(),e,a,d));uN(d,'ks-popups-Popup');lE(d,lN(f)-400,mN(f));oE(d);}
-function Enb(){return jab(this.b);}
-function qnb(){}
-_=qnb.prototype=new E_();_.pc=Enb;_.tN=Bfc+'CompositeFactPatternWidget';_.tI=290;_.a=null;_.b=null;_.c=null;_.d=null;function snb(b,a){b.a=a;return b;}
-function unb(a){Dnb(this.a,a);}
-function rnb(){}
-_=rnb.prototype=new uT();_.zc=unb;_.tN=Bfc+'CompositeFactPatternWidget$1';_.tI=291;function wnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ynb(a){kib(this.a.d,ijb(new hjb(),vC(this.b,wC(this.b))));owb(this.a.c);this.c.lc();}
-function vnb(){}
-_=vnb.prototype=new uT();_.yc=ynb;_.tN=Bfc+'CompositeFactPatternWidget$2';_.tI=292;function kpb(f,d,b,a,c,g){var e;f.a=a;if(nU(g,'Numeric')){f.d=true;}else{f.d=false;}if(nU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',605,1,['true','false']);}f.c=c.c;e=c.a;f.b=Bfb(e,d,b);f.e=AG(new sG());ppb(f);gr(f,f.e);return f;}
-function lpb(c,b){var a;a=zK(new kK());uN(a,'constraint-value-Editor');if(b.f===null){vK(a,'');}else{vK(a,b.f);}if(b.f===null||rU(b.f)<5){BK(a,3);}else{BK(a,rU(b.f)-1);}nK(a,Aob(new zob(),c,b,a));oK(a,jbb(new ibb(),Eob(new Dob(),c,a)));return a;}
-function npb(b,a){ppb(b);a.lc();}
-function opb(b){var a;if(b.b!==null){return upb(b.a.f,nob(new mob(),b),b.b);}else{a=lpb(b,b.a);if(b.d){oK(a,new qob());}a.te('This is a literal value. What is shown is what the field is checked against.');return a;}}
-function ppb(b){var a;b.e.ab();if(b.a.e==0){a=eB(new oA(),'images/edit.gif');fB(a,fob(new aob(),b));CG(b.e,a);}else{switch(b.a.e){case 1:CG(b.e,opb(b));break;case 3:CG(b.e,qpb(b));break;case 2:CG(b.e,spb(b));break;default:break;}}}
-function qpb(e){var a,b,c,d;a=lpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=eB(new oA(),'images/function_assets.gif');c.te(d);a.te(d);b=tpb(e,c,a);return b;}
-function rpb(e,g,a){var b,c,d,f;b=acb(new Bbb(),'images/newex_wiz.gif','Field value');d=qp(new kp(),'Literal value');d.x(cpb(new bpb(),e,a,b));bcb(b,'Literal value:',tpb(e,d,tcb(new ocb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));ccb(b,ez(new hw(),'<hr/>'));ccb(b,wcb(new vcb(),'Advanced options','weak-Text'));if(okb(e.c,e.a).b>0){f=qp(new kp(),'Bound variable');f.x(gpb(new fpb(),e,a,b));bcb(b,'A variable:',tpb(e,f,tcb(new ocb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=qp(new kp(),'New formula');c.x(cob(new bob(),e,a,b));bcb(b,'A formula:',tpb(e,c,tcb(new ocb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));lE(b,lN(g),mN(g));oE(b);}
-function spb(c){var a,b,d,e;e=okb(c.c,c.a);a=mC(new eC());if(c.a.f===null){pC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(dY(e,b),1);pC(a,d);if(c.a.f!==null&&nU(c.a.f,d)){BC(a,b);}}oC(a,job(new iob(),c,a));return a;}
-function tpb(d,a,c){var b;b=Fz(new Dz());aA(b,a);aA(b,c);b.Be('100%');return b;}
-function upb(b,k,d){var a,c,e,f,g,h,i,j;a=mC(new eC());if(b===null||nU('',b)){pC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(oU(i,61)>0){h=wpb(i);f=h[0];c=h[1];j=f;qC(a,c,f);}else{qC(a,i,i);j=i;}if(b!==null&&nU(b,j)){BC(a,e);g=true;}}if(b!==null&& !g){qC(a,b,b);BC(a,d.a);}oC(a,wob(new vob(),k,a));return a;}
-function vpb(){return this.j;}
-function wpb(c){var a,b;b=yb('[Ljava.lang.String;',[605],[1],[2],null);a=oU(c,61);b[0]=xU(c,0,a);b[1]=xU(c,a+1,rU(c));return b;}
-function Fnb(){}
-_=Fnb.prototype=new E_();_.pc=vpb;_.tN=Bfc+'ConstraintValueEditor';_.tI=293;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function fob(b,a){b.a=a;return b;}
-function hob(a){rpb(this.a,a,this.a.a);}
-function aob(){}
-_=aob.prototype=new uT();_.zc=hob;_.tN=Bfc+'ConstraintValueEditor$1';_.tI=294;function cob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function eob(a){this.b.e=3;npb(this.a,this.c);}
-function bob(){}
-_=bob.prototype=new uT();_.zc=eob;_.tN=Bfc+'ConstraintValueEditor$10';_.tI=295;function job(b,a,c){b.a=a;b.b=c;return b;}
-function lob(a){this.a.a.f=vC(this.b,wC(this.b));}
-function iob(){}
-_=iob.prototype=new uT();_.yc=lob;_.tN=Bfc+'ConstraintValueEditor$2';_.tI=296;function nob(b,a){b.a=a;return b;}
-function pob(a){this.a.a.f=a;}
-function mob(){}
-_=mob.prototype=new uT();_.af=pob;_.tN=Bfc+'ConstraintValueEditor$3';_.tI=297;function sob(a,b,c){}
-function tob(c,a,b){if(eS(a)){pK(Fb(c,80));}}
-function uob(a,b,c){}
-function qob(){}
-_=qob.prototype=new uT();_.cd=sob;_.dd=tob;_.ed=uob;_.tN=Bfc+'ConstraintValueEditor$4';_.tI=298;function wob(a,c,b){a.b=c;a.a=b;return a;}
-function yob(a){this.b.af(xC(this.a,wC(this.a)));}
-function vob(){}
-_=vob.prototype=new uT();_.yc=yob;_.tN=Bfc+'ConstraintValueEditor$5';_.tI=299;function Aob(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Cob(a){this.c.f=rK(this.b);aab(this.a);}
-function zob(){}
-_=zob.prototype=new uT();_.yc=Cob;_.tN=Bfc+'ConstraintValueEditor$6';_.tI=300;function Eob(b,a,c){b.a=c;return b;}
-function apb(){BK(this.a,rU(rK(this.a)));}
-function Dob(){}
-_=Dob.prototype=new uT();_.pb=apb;_.tN=Bfc+'ConstraintValueEditor$7';_.tI=301;function cpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function epb(a){this.b.e=1;npb(this.a,this.c);}
-function bpb(){}
-_=bpb.prototype=new uT();_.zc=epb;_.tN=Bfc+'ConstraintValueEditor$8';_.tI=302;function gpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ipb(a){this.b.e=2;npb(this.a,this.c);}
-function fpb(){}
-_=fpb.prototype=new uT();_.zc=ipb;_.tN=Bfc+'ConstraintValueEditor$9';_.tI=303;function dqb(b,a){b.a=oab(new nab());b.c=CX(new AX());b.b=a;gqb(b);return b;}
-function eqb(b,a){aA(b.a,a);EX(b.c,a);}
-function gqb(a){hqb(a,a.b.a);gr(a,a.a);}
-function hqb(g,e){var a,b,c,d,f;b=yU(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=Epb(new Cpb(),g);eqb(g,c);}else if(a==125){cqb(c,rU(aqb(c))+1);c=null;}else{if(c===null&&d===null){d=BB(new AB());eqb(g,d);}if(d!==null){bC(d,aC(d)+Eb(a));}else if(c!==null){bqb(c,aqb(c)+Eb(a));}}}}
-function iqb(c){var a,b,d;b='';for(a=c.c.qc();a.kc();){d=Fb(a.sc(),20);if(ac(d,81)){b=b+aC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+aqb(Fb(d,82))+'} ';}}c.b.a=AU(b);}
-function jqb(){return qab(this.a);}
-function xpb(){}
-_=xpb.prototype=new E_();_.pc=jqb;_.tN=Bfc+'DSLSentenceWidget';_.tI=304;_.a=null;_.b=null;_.c=null;function zpb(b,a){b.a=a;return b;}
-function Bpb(a){iqb(this.a.c);aab(this.a);}
-function ypb(){}
-_=ypb.prototype=new uT();_.yc=Bpb;_.tN=Bfc+'DSLSentenceWidget$1';_.tI=305;function Dpb(a){a.b=Fz(new Dz());}
-function Epb(b,a){b.c=a;Dpb(b);b.a=zK(new kK());aA(b.b,ez(new hw(),'&nbsp;'));aA(b.b,b.a);aA(b.b,ez(new hw(),'&nbsp;'));nK(b.a,zpb(new ypb(),b));gr(b,b.b);return b;}
-function aqb(a){return rK(a.a);}
-function bqb(b,a){vK(b.a,a);}
-function cqb(b,a){BK(b.a,a);}
-function Cpb(){}
-_=Cpb.prototype=new E_();_.tN=Bfc+'DSLSentenceWidget$FieldEditor';_.tI=306;_.a=null;function lsb(a){a.c=hab(new fab());}
-function msb(k,h,i,c,a){var b,d,e,f,g,j;lsb(k);k.e=Fb(i,16);k.b=c;k.d=h;k.a=a;kab(k.c,0,0,usb(k));f=ot(k.c);Bw(f,0,0,(oz(),pz),(xz(),zz));Ew(f,0,0,'modeller-fact-TypeHeader');g=hab(new fab());kab(k.c,1,0,g);for(j=0;j<ljb(k.e).a;j++){d=ljb(k.e)[j];e=j;xsb(k,g,j,d,true);b=lcb(new kcb(),'images/delete_item_small.gif');b.te('Remove this whole restriction');fB(b,irb(new lqb(),k,e));kab(g,j,5,b);}if(k.a)uN(k.c,'modeller-fact-pattern-Widget');gr(k,k.c);return k;}
-function osb(j,b){var a,c,d,e,f,g,h,i;f=Fz(new Dz());d=null;e=lcb(new kcb(),'images/add_field_to_fact.gif');e.te('Add a field to this nested constraint.');fB(e,mrb(new lrb(),j,b));if(nU(b.a,'&&')){d='All of:';}else{d='Any of:';}aA(f,e);aA(f,ez(new hw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=hab(new fab());uN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){xsb(j,h,g,i[g],false);c=g;a=lcb(new kcb(),'images/delete_item_small.gif');a.te('Remove this (nested) restriction');fB(a,qrb(new prb(),j,b,c));kab(h,g,5,a);}}aA(f,h);return f;}
-function psb(g,b,c){var a,d,e,f;f=zfb(g.b,g.e.c,c);a=mC(new eC());pC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];qC(a,sfb(e),e);if(nU(e,b.a)){BC(a,d+1);}}oC(a,zqb(new yqb(),g,b,a));return a;}
-function qsb(d,a,b,c){var e;e=Efb(d.d.a,b,c);return kpb(new Fnb(),d.e,c,a,d.d,e);}
-function rsb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=oab(new nab());for(e=0;e<a.a.a;e++){b=a.a[e];aA(d,psb(f,b,a.c));aA(d,qsb(f,b,c,a.c));}return d;}else{return null;}}
-function ssb(c,b){var a,d,e;if(c.a&& !pkb(c.d.c,c.e.a)){d=Fz(new Dz());e=zK(new kK());if(c.e.a===null){vK(e,'');}else{vK(e,c.e.a);}BK(e,3);aA(d,e);a=qp(new kp(),'Set');a.x(vqb(new uqb(),c,e,b));aA(d,a);bcb(b,'Variable name',d);}}
-function tsb(e,c,d){var a,b;a=Fz(new Dz());uN(a,'modeller-field-Label');if(!Ckb(c)){if(e.a&&d){b=mcb(new kcb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');fB(b,brb(new arb(),e,c));aA(a,b);}}else{aA(a,CB(new AB(),'['+c.b+']'));}aA(a,CB(new AB(),c.c));return a;}
-function usb(c){var a,b;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te('Add a field to this condition, or bind a varible to this fact.');fB(a,Crb(new Brb(),c));if(c.e.a!==null){aA(b,CB(new AB(),'['+c.e.a+'] '+c.e.c));}else{aA(b,CB(new AB(),c.e.c));}aA(b,a);return b;}
-function vsb(f,b){var a,c,d,e;e=agb(f.b,f.e.c,b.c);a=mC(new eC());pC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];qC(a,sfb(d),d);if(nU(d,b.d)){BC(a,c+1);}}oC(a,Dqb(new Cqb(),f,b,a));return a;}
-function wsb(e,b){var a,c,d;d=Fz(new Dz());d.Be('100%');c=eB(new oA(),'images/function_assets.gif');c.te('This is a formula expression that is evaluated to be true or false.');aA(d,c);if(b.f===null){b.f='';}a=zK(new kK());vK(a,b.f);nK(a,yrb(new xrb(),e,b,a));a.Be('100%');aA(d,a);return d;}
-function xsb(e,b,c,a,d){if(ac(a,32)){ysb(e,e.d,b,c,a,d);}else if(ac(a,31)){kab(b,c,0,osb(e,Fb(a,31)));jt(ot(b),c,0,5);}}
-function ysb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){kab(d,f,0,tsb(h,b,g));kab(d,f,1,vsb(h,b));kab(d,f,2,Csb(h,b,h.e.c));kab(d,f,3,rsb(h,b,h.e.c));a=lcb(new kcb(),'images/add_connective.gif');a.te('Add more options to this fields values.');fB(a,urb(new trb(),h,b,e));kab(d,f,4,a);}else if(b.e==5){kab(d,f,0,wsb(h,b));jt(ot(d),f,0,5);}}
-function zsb(d,g,a){var b,c,e,f;c=acb(new Bbb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=cp(new bp());e=zK(new kK());b=qp(new kp(),'Set');dp(f,e);dp(f,b);b.x(frb(new erb(),d,e,a,c));bcb(c,'Variable name',f);lE(c,lN(g),mN(g));oE(c);}
-function Bsb(i,j){var a,b,c,d,e,f,g,h;g=acb(new Bbb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);uN(g,'ks-popups-Popup');a=mC(new eC());pC(a,'...');c=Dfb(i.b,i.e.c);for(e=0;e<c.a;e++){pC(a,c[e]);}BC(a,0);oC(a,isb(new hsb(),i,a,g));bcb(g,'Add a restriction on a field',a);b=mC(new eC());pC(b,'...');qC(b,'All of (And)','&&');qC(b,'Any of (Or)','||');BC(b,0);oC(b,nqb(new mqb(),i,b,g));f=tcb(new ocb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=Fz(new Dz());aA(d,b);aA(d,f);bcb(g,'Multiple field constraint',d);ccb(g,wcb(new vcb(),'Advanced options','weak-Text'));h=qp(new kp(),'New formula');h.x(rqb(new qqb(),i,g));bcb(g,'Add a new formula style expression',h);ssb(i,g);lE(g,lN(j),mN(j));oE(g);}
-function Asb(i,j,b){var a,c,d,e,f,g,h;h=acb(new Bbb(),'images/newex_wiz.gif','Add fields to this constraint');uN(h,'ks-popups-Popup');a=mC(new eC());pC(a,'...');d=Dfb(i.b,i.e.c);for(f=0;f<d.a;f++){pC(a,d[f]);}BC(a,0);oC(a,asb(new Frb(),i,b,a,h));bcb(h,'Add a restriction on a field',a);c=mC(new eC());pC(c,'...');qC(c,'All of (And)','&&');qC(c,'Any of (Or)','||');BC(c,0);oC(c,esb(new dsb(),i,c,b,h));g=tcb(new ocb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=Fz(new Dz());aA(e,c);aA(e,g);bcb(h,'Multiple field constraint',e);lE(h,lN(j),mN(j));oE(h);}
-function Csb(c,a,b){var d;d=Efb(c.d.a,b,a.c);return kpb(new Fnb(),c.e,a.c,a,c.d,d);}
-function Dsb(){return jab(this.c);}
-function kqb(){}
-_=kqb.prototype=new E_();_.pc=Dsb;_.tN=Bfc+'FactPatternWidget';_.tI=307;_.a=false;_.b=null;_.d=null;_.e=null;function irb(b,a,c){b.a=a;b.b=c;return b;}
-function krb(a){if(Bh('Remove this item?')){njb(this.a.e,this.b);owb(this.a.d);}}
-function lqb(){}
-_=lqb.prototype=new uT();_.zc=krb;_.tN=Bfc+'FactPatternWidget$1';_.tI=308;function nqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function pqb(b){var a;a=new qib();a.a=xC(this.b,wC(this.b));jjb(this.a.e,a);owb(this.a.d);this.c.lc();}
-function mqb(){}
-_=mqb.prototype=new uT();_.yc=pqb;_.tN=Bfc+'FactPatternWidget$10';_.tI=309;function rqb(b,a,c){b.a=a;b.b=c;return b;}
-function tqb(b){var a;a=new ykb();a.e=5;jjb(this.a.e,a);owb(this.a.d);this.b.lc();}
-function qqb(){}
-_=qqb.prototype=new uT();_.zc=tqb;_.tN=Bfc+'FactPatternWidget$11';_.tI=310;function vqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function xqb(b){var a;a=rK(this.c);if(nwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=rK(this.c);owb(this.a.d);this.b.lc();}
-function uqb(){}
-_=uqb.prototype=new uT();_.zc=xqb;_.tN=Bfc+'FactPatternWidget$12';_.tI=311;function zqb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Bqb(a){this.b.a=xC(this.a,wC(this.a));}
-function yqb(){}
-_=yqb.prototype=new uT();_.yc=Bqb;_.tN=Bfc+'FactPatternWidget$13';_.tI=312;function Dqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Fqb(a){this.c.d=xC(this.b,wC(this.b));aab(this.a.d);hV(),kV;}
-function Cqb(){}
-_=Cqb.prototype=new uT();_.yc=Fqb;_.tN=Bfc+'FactPatternWidget$14';_.tI=313;function brb(b,a,c){b.a=a;b.b=c;return b;}
-function drb(a){zsb(this.a,a,this.b);}
-function arb(){}
-_=arb.prototype=new uT();_.zc=drb;_.tN=Bfc+'FactPatternWidget$15';_.tI=314;function frb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function hrb(b){var a;a=rK(this.d);if(nwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;owb(this.a.d);this.c.lc();}
-function erb(){}
-_=erb.prototype=new uT();_.zc=hrb;_.tN=Bfc+'FactPatternWidget$16';_.tI=315;function mrb(b,a,c){b.a=a;b.b=c;return b;}
-function orb(a){Asb(this.a,a,this.b);}
-function lrb(){}
-_=lrb.prototype=new uT();_.zc=orb;_.tN=Bfc+'FactPatternWidget$2';_.tI=316;function qrb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function srb(a){if(Bh('Remove this item from nested constraint?')){tib(this.b,this.c);owb(this.a.d);}}
-function prb(){}
-_=prb.prototype=new uT();_.zc=srb;_.tN=Bfc+'FactPatternWidget$3';_.tI=317;function urb(b,a,c,d){b.a=c;b.b=d;return b;}
-function wrb(a){Akb(this.a);owb(this.b);}
-function trb(){}
-_=trb.prototype=new uT();_.zc=wrb;_.tN=Bfc+'FactPatternWidget$4';_.tI=318;function yrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Arb(a){this.c.f=rK(this.b);aab(this.a.d);}
-function xrb(){}
-_=xrb.prototype=new uT();_.yc=Arb;_.tN=Bfc+'FactPatternWidget$5';_.tI=319;function Crb(b,a){b.a=a;return b;}
-function Erb(a){Bsb(this.a,a);}
-function Brb(){}
-_=Brb.prototype=new uT();_.zc=Erb;_.tN=Bfc+'FactPatternWidget$6';_.tI=320;function asb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function csb(a){rib(this.c,zkb(new ykb(),vC(this.b,wC(this.b))));owb(this.a.d);this.d.lc();}
-function Frb(){}
-_=Frb.prototype=new uT();_.yc=csb;_.tN=Bfc+'FactPatternWidget$7';_.tI=321;function esb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function gsb(b){var a;a=new qib();a.a=xC(this.c,wC(this.c));rib(this.b,a);owb(this.a.d);this.d.lc();}
-function dsb(){}
-_=dsb.prototype=new uT();_.yc=gsb;_.tN=Bfc+'FactPatternWidget$8';_.tI=322;function isb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ksb(a){jjb(this.a.e,zkb(new ykb(),vC(this.b,wC(this.b))));owb(this.a.d);this.c.lc();}
-function hsb(){}
-_=hsb.prototype=new uT();_.yc=ksb;_.tN=Bfc+'FactPatternWidget$9';_.tI=323;function vtb(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=qbb(new obb());b=d.a;for(c=0;c<b.a;c++){a=b[c];sbb(f.a,a.a,ytb(f,a,c));}gr(f,f.a);return f;}
-function wtb(c,a){var b;b=aq(new Fp());if(a.b===null){gq(b,true);a.b='true';}else{gq(b,nU(a.b,'true'));}b.x(atb(new Fsb(),c,a,b));return b;}
-function ytb(e,a,d){var b,c;if(nU(a.a,'no-loop')){return ztb(e,d);}b=null;if(nU(a.a,'enabled')||nU(a.a,'auto-focus')||nU(a.a,'lock-on-active')){b=wtb(e,a);}else{b=Atb(e,a);}c=oab(new nab());aA(c,b);aA(c,ztb(e,d));return c;}
-function ztb(c,a){var b;b=eB(new oA(),'images/delete_item_small.gif');fB(b,otb(new ntb(),c,a));return b;}
-function Atb(c,a){var b;b=zK(new kK());BK(b,rU(a.b)<3?3:rU(a.b));vK(b,a.b);nK(b,etb(new dtb(),c,a,b));if(nU(a.a,'date-effective')||nU(a.a,'date-expires')){if(a.b===null||nU('',a.b))vK(b,'dd-MMM-yyyy');BK(b,10);}oK(b,itb(new htb(),c,b));return b;}
-function Btb(){var a;a=mC(new eC());pC(a,'Choose...');pC(a,'salience');pC(a,'enabled');pC(a,'date-effective');pC(a,'date-expires');pC(a,'no-loop');pC(a,'agenda-group');pC(a,'activation-group');pC(a,'duration');pC(a,'auto-focus');pC(a,'lock-on-active');pC(a,'ruleflow-group');pC(a,'dialect');return a;}
-function Ctb(){return this.a.pc();}
-function Esb(){}
-_=Esb.prototype=new E_();_.pc=Ctb;_.tN=Bfc+'RuleAttributeWidget';_.tI=324;_.a=null;_.b=null;_.c=null;function atb(b,a,c,d){b.a=c;b.b=d;return b;}
-function ctb(a){this.a.b=fq(this.b)?'true':'false';}
-function Fsb(){}
-_=Fsb.prototype=new uT();_.zc=ctb;_.tN=Bfc+'RuleAttributeWidget$1';_.tI=325;function etb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function gtb(a){this.b.b=rK(this.c);aab(this.a);}
-function dtb(){}
-_=dtb.prototype=new uT();_.yc=gtb;_.tN=Bfc+'RuleAttributeWidget$2';_.tI=326;function itb(b,a,c){b.a=c;return b;}
-function ktb(a,b,c){}
-function ltb(a,b,c){}
-function mtb(a,b,c){BK(this.a,rU(rK(this.a)));}
-function htb(){}
-_=htb.prototype=new uT();_.cd=ktb;_.dd=ltb;_.ed=mtb;_.tN=Bfc+'RuleAttributeWidget$3';_.tI=327;function otb(b,a,c){b.a=a;b.b=c;return b;}
-function qtb(b){var a;a=efb(new Beb(),'Remove this rule option?',stb(new rtb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
-function ntb(){}
-_=ntb.prototype=new uT();_.zc=qtb;_.tN=Bfc+'RuleAttributeWidget$4';_.tI=328;function stb(b,a,c){b.a=a;b.b=c;return b;}
-function utb(){rkb(this.a.a.b,this.b);owb(this.a.a.c);}
-function rtb(){}
-_=rtb.prototype=new uT();_.pb=utb;_.tN=Bfc+'RuleAttributeWidget$5';_.tI=329;function cwb(b,a){b.c=Fb(a.b,83);b.a=rKb((pKb(),uKb),a.d.o);b.b=hab(new fab());mwb(b);uN(b.b,'model-builder-Background');gr(b,b.b);b.Be('100%');b.qe('100%');return b;}
-function dwb(b,a){jkb(b.c,Ahb(new yhb(),a));owb(b);}
-function ewb(b,a){jkb(b.c,cib(new aib(),a));owb(b);}
-function fwb(b,a){ikb(b.c,jib(new iib(),a));owb(b);}
-function gwb(b,a){ikb(b.c,ajb(a));owb(b);}
-function hwb(b,a){jkb(b.c,ajb(a));owb(b);}
-function iwb(b,a){ikb(b.c,ijb(new hjb(),a));owb(b);}
-function jwb(a,b){jkb(a.c,shb(new rhb(),b));owb(a);}
-function lwb(b){var a;a=lcb(new kcb(),'images/new_item.gif');a.te('Add an option to the rule, to modify its behavior when evaluated or executed.');fB(a,hvb(new gvb(),b));return a;}
-function mwb(c){var a,b;by(c.b);b=lcb(new kcb(),'images/new_item.gif');b.te('Add a condition to this rule.');fB(b,Fub(new Etb(),c));kab(c.b,0,0,CB(new AB(),'WHEN'));kab(c.b,0,2,b);kab(c.b,1,1,pwb(c,c.c));kab(c.b,2,0,CB(new AB(),'THEN'));a=lcb(new kcb(),'images/new_item.gif');a.te('Add an action to this rule.');fB(a,dvb(new cvb(),c));kab(c.b,2,2,a);kab(c.b,3,1,qwb(c,c.c));kab(c.b,4,0,CB(new AB(),'(options)'));kab(c.b,4,2,lwb(c));kab(c.b,5,1,vtb(new Esb(),c,c.c));}
-function nwb(b,a){return qkb(b.c,a)||bgb(b.a,a);}
-function owb(a){mwb(a);aab(a);}
-function pwb(e,c){var a,b,d,f,g;f=tab(new sab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,16)){g=msb(new kqb(),e,d,e.a,true);iO(f,vwb(e,c,b,g));iO(f,uwb(e));}else if(ac(d,30)){g=znb(new qnb(),e,Fb(d,30),e.a);iO(f,vwb(e,c,b,g));iO(f,uwb(e));}else if(ac(d,14)){}else{throw AT(new zT(),"I don't know what type of pattern that is.");}}a=tab(new sab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,14)){g=dqb(new xpb(),Fb(d,14));iO(a,vwb(e,c,b,g));uN(a,'model-builderInner-Background');}}iO(f,a);return f;}
-function qwb(g,e){var a,b,c,d,f,h,i;h=tab(new sab());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,28)){i=hnb(new emb(),g,Fb(a,28),g.a);}else if(ac(a,25)){i=Alb(new blb(),g,Fb(a,25),g.a);}else if(ac(a,27)){i=cmb(new bmb(),g.a,Fb(a,27));}else if(ac(a,14)){i=dqb(new xpb(),Fb(a,14));uN(i,'model-builderInner-Background');}iO(h,uwb(g));b=oab(new nab());f=lcb(new kcb(),'images/delete_item_small.gif');f.te('Remove this action.');d=c;fB(f,pvb(new ovb(),g,e,d));aA(b,i);if(!ac(i,84)){i.Be('100%');b.Be('100%');}aA(b,f);iO(h,b);}return h;}
-function rwb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=acb(new Bbb(),'images/new_fact.gif','Add a new action...');uN(k,'ks-popups-Popup');q=nkb(n.c);p=mC(new eC());l=mC(new eC());j=mC(new eC());pC(p,'Choose ...');pC(l,'Choose ...');pC(j,'Choose ...');for(i=q.qc();i.kc();){o=Fb(i.sc(),1);pC(p,o);pC(l,o);pC(j,o);}d=Ffb(n.a);for(f=0;f<d.a;f++){pC(p,d[f]);}BC(p,0);oC(p,aub(new Ftb(),n,p,k));oC(l,eub(new dub(),n,l,k));oC(j,iub(new hub(),n,j,k));if(uC(p)>1){bcb(k,'Set the values of a field on',p);}if(uC(j)>1){e=Fz(new Dz());aA(e,j);g=eB(new oA(),'images/information.gif');g.te('Modify a field on a fact, and notify the engine to re-evaluate rules.');aA(e,g);bcb(k,'Modify a fact',e);}if(uC(l)>1){bcb(k,'Retract the fact',l);}b=mC(new eC());c=mC(new eC());pC(b,'Choose ...');pC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];pC(b,h);pC(c,h);}oC(b,mub(new lub(),n,b,k));oC(c,qub(new pub(),n,c,k));if(uC(b)>1){bcb(k,'Insert a new fact',b);e=Fz(new Dz());aA(e,c);g=eB(new oA(),'images/inf!
 ormation.gif');g.te('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');aA(e,g);bcb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=mC(new eC());pC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];qC(a,bjb(m),DS(f));}oC(a,uub(new tub(),n,a,k));bcb(k,'DSL sentence',a);}lE(k,dc(ai()/3),dc(Fh()/3));oE(k);}
-function swb(c,d){var a,b;b=acb(new Bbb(),'images/config.png','Add an option to the rule');a=Btb();BC(a,0);oC(a,lvb(new kvb(),c,a,b));uN(b,'ks-popups-Popup');bcb(b,'Attribute',a);lE(b,lN(d)-400,mN(d));oE(b);}
-function twb(j,k){var a,b,c,d,e,f,g,h,i;h=acb(new Bbb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=mC(new eC());qC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){pC(e,f[g]);}BC(e,0);if(f.a>0)bcb(h,'Fact',e);oC(e,xvb(new wvb(),j,e,h));uN(h,'ks-popups-Popup');c=(mfb(),nfb);b=mC(new eC());qC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];qC(b,rfb(a),a);}BC(b,0);if(f.a>0)bcb(h,'Condition type',b);oC(b,Bvb(new Avb(),j,b,h));if(j.a.b.a>0){d=mC(new eC());pC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];qC(d,bjb(i),DS(g));}oC(d,Fvb(new Evb(),j,d,h));bcb(h,'DSL sentence',d);}lE(h,lN(k)-400,mN(k));oE(h);}
-function uwb(b){var a;a=ez(new hw(),'&nbsp;');a.qe('2px');return a;}
-function vwb(f,d,b,g){var a,c,e;a=oab(new nab());e=lcb(new kcb(),'images/delete_item_small.gif');e.te('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;fB(e,yub(new xub(),f,d,c));a.Be('100%');g.Be('100%');aA(a,g);aA(a,e);return a;}
-function wwb(){return jab(this.b)||this.j;}
-function Dtb(){}
-_=Dtb.prototype=new E_();_.pc=wwb;_.tN=Bfc+'RuleModeller';_.tI=330;_.a=null;_.b=null;_.c=null;function Fub(b,a){b.a=a;return b;}
-function bvb(a){twb(this.a,a);}
-function Etb(){}
-_=Etb.prototype=new uT();_.zc=bvb;_.tN=Bfc+'RuleModeller$1';_.tI=331;function aub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function cub(a){dwb(this.a,vC(this.c,wC(this.c)));this.b.lc();}
-function Ftb(){}
-_=Ftb.prototype=new uT();_.yc=cub;_.tN=Bfc+'RuleModeller$10';_.tI=332;function eub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function gub(a){jwb(this.a,vC(this.c,wC(this.c)));this.b.lc();}
-function dub(){}
-_=dub.prototype=new uT();_.yc=gub;_.tN=Bfc+'RuleModeller$11';_.tI=333;function iub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kub(a){ewb(this.a,vC(this.b,wC(this.b)));this.c.lc();}
-function hub(){}
-_=hub.prototype=new uT();_.yc=kub;_.tN=Bfc+'RuleModeller$12';_.tI=334;function mub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function oub(b){var a;a=vC(this.b,wC(this.b));jkb(this.a.c,dhb(new bhb(),a));owb(this.a);this.c.lc();}
-function lub(){}
-_=lub.prototype=new uT();_.yc=oub;_.tN=Bfc+'RuleModeller$13';_.tI=335;function qub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function sub(b){var a;a=vC(this.b,wC(this.b));jkb(this.a.c,lhb(new jhb(),a));owb(this.a);this.c.lc();}
-function pub(){}
-_=pub.prototype=new uT();_.yc=sub;_.tN=Bfc+'RuleModeller$14';_.tI=336;function uub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function wub(b){var a;a=BS(xC(this.b,wC(this.b)));hwb(this.a,this.a.a.a[a]);this.c.lc();}
-function tub(){}
-_=tub.prototype=new uT();_.yc=wub;_.tN=Bfc+'RuleModeller$15';_.tI=337;function yub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Aub(b){var a;a=efb(new Beb(),'Remove this entire condition?',Cub(new Bub(),this,this.c,this.b));lE(a,lN(b),mN(b));oE(a);}
-function xub(){}
-_=xub.prototype=new uT();_.zc=Aub;_.tN=Bfc+'RuleModeller$16';_.tI=338;function Cub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Eub(){if(skb(this.c,this.b)){owb(this.a.a);}else{gbb("Can't remove that item as it is used in the action part of the rule.");}}
-function Bub(){}
-_=Bub.prototype=new uT();_.pb=Eub;_.tN=Bfc+'RuleModeller$17';_.tI=339;function dvb(b,a){b.a=a;return b;}
-function fvb(a){rwb(this.a,a);}
-function cvb(){}
-_=cvb.prototype=new uT();_.zc=fvb;_.tN=Bfc+'RuleModeller$2';_.tI=340;function hvb(b,a){b.a=a;return b;}
-function jvb(a){swb(this.a,a);}
-function gvb(){}
-_=gvb.prototype=new uT();_.zc=jvb;_.tN=Bfc+'RuleModeller$3';_.tI=341;function lvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nvb(a){hkb(this.a.c,Djb(new Cjb(),vC(this.b,wC(this.b)),''));owb(this.a);this.c.lc();}
-function kvb(){}
-_=kvb.prototype=new uT();_.yc=nvb;_.tN=Bfc+'RuleModeller$4';_.tI=342;function pvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rvb(b){var a;a=efb(new Beb(),'Remove this item?',tvb(new svb(),this,this.c,this.b));lE(a,lN(b),mN(b));oE(a);}
-function ovb(){}
-_=ovb.prototype=new uT();_.zc=rvb;_.tN=Bfc+'RuleModeller$5';_.tI=343;function tvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function vvb(){tkb(this.c,this.b);owb(this.a.a);}
-function svb(){}
-_=svb.prototype=new uT();_.pb=vvb;_.tN=Bfc+'RuleModeller$6';_.tI=344;function xvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function zvb(b){var a;a=vC(this.b,wC(this.b));if(!nU(a,'IGNORE')){iwb(this.a,a);this.c.lc();}}
-function wvb(){}
-_=wvb.prototype=new uT();_.yc=zvb;_.tN=Bfc+'RuleModeller$7';_.tI=345;function Bvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Dvb(b){var a;a=xC(this.b,wC(this.b));if(!nU(a,'IGNORE')){fwb(this.a,a);this.c.lc();}}
-function Avb(){}
-_=Avb.prototype=new uT();_.yc=Dvb;_.tN=Bfc+'RuleModeller$8';_.tI=346;function Fvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function bwb(b){var a;a=BS(xC(this.b,wC(this.b)));gwb(this.a,this.a.a.b[a]);this.c.lc();}
-function Evb(){}
-_=Evb.prototype=new uT();_.yc=bwb;_.tN=Bfc+'RuleModeller$9';_.tI=347;function zwb(b,a,c){b.a=c;return b;}
-function Bwb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
-function ywb(){}
-_=ywb.prototype=new uT();_.zc=Bwb;_.tN=Cfc+'AssetAttachmentFileWidget$1';_.tI=348;function Dwb(b,a){b.a=a;return b;}
-function Fwb(a){lxb(this.a);mxb(this.a);}
-function Cwb(){}
-_=Cwb.prototype=new uT();_.zc=Fwb;_.tN=Cfc+'AssetAttachmentFileWidget$2';_.tI=349;function bxb(b,a){b.a=a;return b;}
-function exb(a){}
-function dxb(a){bdb();if(pU(a.a,'OK')>(-1)){u$b(this.a.e);}else{gbb('Unable to upload the file.');}}
-function axb(){}
-_=axb.prototype=new uT();_.od=exb;_.nd=dxb;_.tN=Cfc+'AssetAttachmentFileWidget$3';_.tI=350;function yxb(){yxb=s2;dcb();}
-function wxb(c){var a,b;yxb();acb(c,'images/new_wiz.gif','Create a new fact template');c.a=lt(new ft());c.b=zK(new kK());bcb(c,'Name:',c.b);bcb(c,'Fact attributes:',c.a);a=eB(new oA(),'images/new_item.gif');fB(a,pxb(new oxb(),c));bcb(c,'Add a new attribute',a);b=qp(new kp(),'Create');b.x(txb(new sxb(),c));bcb(c,'',b);return c;}
-function xxb(b){var a;a=pt(b.a);b.a.ze(a,0,zK(new kK()));b.a.ze(a,1,Bxb(b));}
-function zxb(d){var a,b,c,e,f;b='template '+rK(d.b)+'\n';for(a=0;a<pt(d.a);a++){e=Fb(ky(d.a,a,1),85);f=vC(e,wC(e));c=rK(Fb(ky(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
-function Axb(b,a){b.c=a;}
-function Bxb(b){var a;a=mC(new eC());pC(a,'String');pC(a,'Integer');pC(a,'Float');pC(a,'Date');pC(a,'Boolean');return a;}
-function nxb(){}
-_=nxb.prototype=new Bbb();_.tN=Cfc+'FactTemplateWizard';_.tI=351;_.a=null;_.b=null;_.c=null;function pxb(b,a){b.a=a;return b;}
-function rxb(a){xxb(this.a);}
-function oxb(){}
-_=oxb.prototype=new uT();_.zc=rxb;_.tN=Cfc+'FactTemplateWizard$1';_.tI=352;function txb(b,a){b.a=a;return b;}
-function vxb(a){yCb(this.a.c);this.a.lc();}
-function sxb(){}
-_=sxb.prototype=new uT();_.zc=vxb;_.tN=Cfc+'FactTemplateWizard$2';_.tI=353;function Dxb(b,a,c){fxb(b,a,c);return b;}
-function Fxb(){return 'images/model_large.png';}
-function ayb(){return 'editable-Surface';}
-function Cxb(){}
-_=Cxb.prototype=new xwb();_.vb=Fxb;_.Eb=ayb;_.tN=Cfc+'ModelAttachmentFileWidget';_.tI=354;function Fyb(){Fyb=s2;dcb();}
-function Dyb(a){a.b=qbb(new obb());a.d=qbb(new obb());}
-function Eyb(f,b){var a,c,d,e;Fyb();acb(f,'images/new_wiz.gif','Create a new package');Dyb(f);f.c=zK(new kK());f.a=eK(new dK());vbb(f.d,ez(new hw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));sbb(f.d,'Name:',f.c);sbb(f.d,'Description:',f.a);f.c.te('The name of the package. Avoid spaces, use underscore instead.');e=EF(new CF(),'action','Create new pa!
 ckage');d=EF(new CF(),'action','Import from drl file');gq(e,true);f.d.ye(true);e.x(dyb(new cyb(),f));f.b.ye(false);d.x(hyb(new gyb(),f));a=cp(new bp());dp(a,e);dp(a,d);ccb(f,a);ccb(f,f.d);ccb(f,f.b);sbb(f.b,'DRL file to import:',bzb(b,f));c=qp(new kp(),'Create package');c.x(lyb(new kyb(),f,b));sbb(f.d,'',c);uN(f,'ks-popups-Popup');return f;}
-function azb(d,b,a,c){fdb('Creating package - please wait...');nTb(BLb(),b,a,qyb(new pyb(),d,c));}
-function bzb(a,d){Fyb();var b,c,e,f;f=Cu(new xu());cv(f,v()+'package');dv(f,'multipart/form-data');ev(f,'post');c=Fz(new Dz());f.Ae(c);e=at(new Fs());dt(e,'classicDRLFile');aA(c,e);aA(c,CB(new AB(),'upload:'));b=mcb(new kcb(),'images/upload.gif','Import');fB(b,vyb(new uyb(),f));aA(c,b);Du(f,zyb(new yyb(),a,d,e));return f;}
-function byb(){}
-_=byb.prototype=new Bbb();_.tN=Cfc+'NewPackageWizard';_.tI=355;_.a=null;_.c=null;function dyb(b,a){b.a=a;return b;}
-function fyb(a){this.a.d.ye(true);this.a.b.ye(false);}
-function cyb(){}
-_=cyb.prototype=new uT();_.zc=fyb;_.tN=Cfc+'NewPackageWizard$1';_.tI=356;function hyb(b,a){b.a=a;return b;}
-function jyb(a){this.a.d.ye(false);this.a.b.ye(true);}
-function gyb(){}
-_=gyb.prototype=new uT();_.zc=jyb;_.tN=Cfc+'NewPackageWizard$2';_.tI=357;function lyb(b,a,c){b.a=a;b.b=c;return b;}
-function nyb(b,a){return sU(a,'[a-zA-Z\\.]*');}
-function oyb(a){if(nyb(this,rK(this.a.c))){azb(this.a,rK(this.a.c),rK(this.a.a),this.b);this.a.lc();}else{vK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
-function kyb(){}
-_=kyb.prototype=new uT();_.zc=oyb;_.tN=Cfc+'NewPackageWizard$3';_.tI=358;function qyb(b,a,c){b.a=c;return b;}
-function syb(b,a){bdb();bFb(b.a);}
-function tyb(a){syb(this,a);}
-function pyb(){}
-_=pyb.prototype=new ecb();_.pd=tyb;_.tN=Cfc+'NewPackageWizard$4';_.tI=359;function vyb(a,b){a.a=b;return a;}
-function xyb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){fdb('Importing drl package, please wait, as this could take some time...');gv(this.a);}}
-function uyb(){}
-_=uyb.prototype=new uT();_.zc=xyb;_.tN=Cfc+'NewPackageWizard$5';_.tI=360;function zyb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
-function Cyb(a){if(rU(ct(this.c))==0){zh('You did not choose a drl file to import !');sv(a,true);}else if(!lU(ct(this.c),'.drl')){zh("You can only import '.drl' files.");sv(a,true);}}
-function Byb(a){if(pU(a.a,'OK')>(-1)){zh('Package was imported successfully. ');bFb(this.a);this.b.lc();}else{gbb('Unable to import into the package. ['+a.a+']');}bdb();}
-function yyb(){}
-_=yyb.prototype=new uT();_.od=Cyb;_.nd=Byb;_.tN=Cfc+'NewPackageWizard$6';_.tI=361;function CAb(h,e,f){var a,b,c,d,g;h.c=rbb(new obb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=AG(new sG());g=zK(new kK());a=qp(new kp(),'Build package');a.te('This will validate and compile all the assets in a package.');a.x(vzb(new dzb(),h,b,g));c=qp(new kp(),'Show package source');c.x(zzb(new yzb(),h,e));sbb(h.c,'View source for package',c);d=Fz(new Dz());aA(d,a);aA(d,ez(new hw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));aA(d,g);aA(d,tcb(new ocb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));sbb(h.c,'Build binary package:',d);vbb(h.c,ez(new hw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));vbb(h.c,b);uN(h.c,'package-Editor');h.c.Be('100%');gr(h,h.c);return h;}
-function EAb(d,a,c){var b;a.ab();b=Fz(new Dz());aA(b,CB(new AB(),'Validating and building package, please wait...'));aA(b,eB(new oA(),'images/red_anime.gif'));fdb('Please wait...');CG(a,b);fg(mAb(new lAb(),d,c,a));}
-function FAb(i,e,a){var b,c,d,f,g,h;a.ab();b=lt(new ft());uN(b,'build-Results');yy(b,0,1,'Format');yy(b,0,2,'Name');yy(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ze(f,0,eB(new oA(),'images/error.gif'));yy(b,f,1,d.a);yy(b,f,2,d.b);yy(b,f,3,d.c);if(!nU('package',d.a)){h=qp(new kp(),'Show');h.x(zAb(new yAb(),i,d));b.ze(f,4,h);}}b.Be('100%');g=oG(new mG(),b);qG(g,true);tN(g,'100%','25em');CG(a,g);}
-function aBb(g,i){var a,b,c,d,e,f,h;fdb('Loading existing snapshots...');c=acb(new Bbb(),'images/snapshot.png','Create a snapshot for deployment.');ccb(c,ez(new hw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=hO(new fO());bcb(c,'Choose or create snapshot name:',h);f=CX(new AX());d=zK(new kK());e='NEW: ';sTb(BLb(),g.a.j,fzb(new ezb(),g,f,h,d));a=zK(new kK());bcb(c,'Comment:',a);b=qp(new kp(),'Create new snapshot');bcb(c,'',b);b.x(nzb(new mzb(),g,f,d,a,c));c.Be('50%');lE(c,dc((cab()-gE(c))/2),100);oE(c);}
-function bBb(e,a){var b,c,d,f;a.ab();f=hO(new fO());iO(f,ez(new hw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=dBb(e.a);b=ez(new hw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");iO(f,b);d=qp(new kp(),'Create snapshot for deployment');d.x(vAb(new uAb(),e));iO(f,d);CG(a,f);}
-function cBb(b,a){fdb('Assembling package source...');fg(Dzb(new Czb(),b,a));}
-function dBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
-function eBb(b,c){var a,d;d=acb(new Bbb(),'images/view_source.gif','Viewing source for: '+c);a=eK(new dK());jK(a,30);a.Be('100%');iK(a,80);ccb(d,a);vK(a,b);a.ne(true);a.te('THIS IS READ ONLY - you may copy and paste, but not edit.');oK(a,gAb(new fAb(),a,b));bdb();lE(d,dc((cab()-gE(d))/2),100);oE(d);}
-function czb(){}
-_=czb.prototype=new er();_.tN=Cfc+'PackageBuilderWidget';_.tI=362;_.a=null;_.b=null;_.c=null;function vzb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function xzb(a){EAb(this.a,this.b,rK(this.c));}
-function dzb(){}
-_=dzb.prototype=new uT();_.zc=xzb;_.tN=Cfc+'PackageBuilderWidget$1';_.tI=363;function fzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
-function hzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=EF(new CF(),'snapshotNameGroup',f[c].b);EX(this.b,b);iO(this.c,b);}d=Fz(new Dz());e=EF(new CF(),'snapshotNameGroup','NEW: ');aA(d,e);this.a.ne(false);e.x(jzb(new izb(),this,this.a));aA(d,this.a);EX(this.b,e);iO(this.c,d);bdb();}
-function ezb(){}
-_=ezb.prototype=new ecb();_.pd=hzb;_.tN=Cfc+'PackageBuilderWidget$10';_.tI=364;function jzb(b,a,c){b.a=c;return b;}
-function lzb(a){this.a.ne(true);}
-function izb(){}
-_=izb.prototype=new uT();_.zc=lzb;_.tN=Cfc+'PackageBuilderWidget$11';_.tI=365;function nzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
-function pzb(d){var a,b,c;c=false;for(b=this.f.qc();b.kc();){a=Fb(b.sc(),87);if(fq(a)){this.a=eq(a);if(!nU(eq(a),'NEW: ')){c=true;}break;}}if(nU(this.a,'NEW: ')){this.a=rK(this.e);}if(nU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}mTb(BLb(),this.b.a.j,this.a,c,rK(this.c),rzb(new qzb(),this,this.d));}
-function mzb(){}
-_=mzb.prototype=new uT();_.zc=pzb;_.tN=Cfc+'PackageBuilderWidget$12';_.tI=366;_.a='';function rzb(b,a,c){b.a=a;b.b=c;return b;}
-function tzb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.lc();}
-function uzb(a){tzb(this,a);}
-function qzb(){}
-_=qzb.prototype=new ecb();_.pd=uzb;_.tN=Cfc+'PackageBuilderWidget$13';_.tI=367;function zzb(b,a,c){b.a=c;return b;}
-function Bzb(a){cBb(this.a.m,this.a.j);}
-function yzb(){}
-_=yzb.prototype=new uT();_.zc=Bzb;_.tN=Cfc+'PackageBuilderWidget$2';_.tI=368;function Dzb(a,c,b){a.b=c;a.a=b;return a;}
-function Fzb(){bTb(BLb(),this.b,bAb(new aAb(),this,this.a));}
-function Czb(){}
-_=Czb.prototype=new uT();_.pb=Fzb;_.tN=Cfc+'PackageBuilderWidget$3';_.tI=369;function bAb(b,a,c){b.a=c;return b;}
-function dAb(c,b){var a;a=Fb(b,1);eBb(a,c.a);}
-function eAb(a){dAb(this,a);}
-function aAb(){}
-_=aAb.prototype=new ecb();_.pd=eAb;_.tN=Cfc+'PackageBuilderWidget$4';_.tI=370;function gAb(a,b,c){a.a=b;a.b=c;return a;}
-function iAb(a,b,c){vK(this.a,this.b);}
-function jAb(a,b,c){vK(this.a,this.b);}
-function kAb(a,b,c){vK(this.a,this.b);}
-function fAb(){}
-_=fAb.prototype=new uT();_.cd=iAb;_.dd=jAb;_.ed=kAb;_.tN=Cfc+'PackageBuilderWidget$5';_.tI=371;function mAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function oAb(){cTb(BLb(),this.a.a.m,this.c,qAb(new pAb(),this,this.b));}
-function lAb(){}
-_=lAb.prototype=new uT();_.pb=oAb;_.tN=Cfc+'PackageBuilderWidget$6';_.tI=372;function qAb(b,a,c){b.a=a;b.b=c;return b;}
-function sAb(c,a){var b;bdb();if(a===null){bBb(c.a.a,c.b);}else{b=Fb(a,88);FAb(c.a.a,b,c.b);}}
-function tAb(a){sAb(this,a);}
-function pAb(){}
-_=pAb.prototype=new ecb();_.pd=tAb;_.tN=Cfc+'PackageBuilderWidget$7';_.tI=373;function vAb(b,a){b.a=a;return b;}
-function xAb(a){aBb(this.a,a);}
-function uAb(){}
-_=uAb.prototype=new uT();_.zc=xAb;_.tN=Cfc+'PackageBuilderWidget$8';_.tI=374;function zAb(b,a,c){b.a=a;b.b=c;return b;}
-function BAb(a){DHb(this.a.b,this.b.d);}
-function yAb(){}
-_=yAb.prototype=new uT();_.zc=BAb;_.tN=Cfc+'PackageBuilderWidget$9';_.tI=375;function cEb(e,b,c,a,d){qbb(e);e.b=b;e.c=c;e.a=a;e.e=d;uN(e,'package-Editor');e.Be('100%');iEb(e);return e;}
-function eEb(b){var a;a=eK(new dK());a.Be('100%');jK(a,8);vK(a,b.b.d);nK(a,FCb(new ECb(),b,a));iK(a,100);return gEb(b,a);}
-function fEb(b,a){fdb('Saving package configuration. Please wait ...');dUb(BLb(),b.b,rBb(new qBb(),b,a));}
-function gEb(d,a){var b,c;c=Fz(new Dz());aA(c,a);b=eB(new oA(),'images/max_min.gif');b.te('Increase view area');aA(c,b);fB(b,BCb(new ACb(),d,a));return c;}
-function hEb(g){var a,b,c,d,e,f,h;a=eK(new dK());a.Be('100%');jK(a,8);iK(a,100);vK(a,g.b.f);nK(a,EBb(new DBb(),g,a));f=Fz(new Dz());aA(f,a);h=hO(new fO());b=eB(new oA(),'images/max_min.gif');fB(b,cCb(new bCb(),g,a));b.te('Increase view area.');iO(h,b);e=eB(new oA(),'images/new_import.gif');fB(e,gCb(new fCb(),g,a));iO(h,e);e.te('Add a new Type/Class import to the package.');d=eB(new oA(),'images/new_global.gif');fB(d,kCb(new jCb(),g,a));d.te('Add a new global variable declaration.');iO(h,d);c=eB(new oA(),'images/fact_template.gif');fB(c,sCb(new rCb(),g,a));c.te('Add a new fact template.');f.Be('100%');aA(f,h);return f;}
-function iEb(c){var a,b;wbb(c);vbb(c,pEb(c));sbb(c,'Description:',eEb(c));sbb(c,'Header:',hEb(c));vbb(c,ez(new hw(),'<hr/>'));sbb(c,'Last modified:',CB(new AB(),pZ(c.b.i)));sbb(c,'Last contributor:',CB(new AB(),c.b.h));vbb(c,ez(new hw(),'<hr/>'));c.f=dz(new hw());b=Fz(new Dz());a=lcb(new kcb(),'images/edit.gif');a.te('Change status.');fB(a,nCb(new gBb(),c));aA(b,c.f);if(!c.b.g){aA(b,a);}lEb(c,c.b.l);sbb(c,'Status:',b);if(!c.b.g){vbb(c,kEb(c));}vbb(c,ez(new hw(),'<hr/>'));}
-function jEb(a){fdb('Refreshing package data...');xTb(BLb(),a.b.m,ABb(new zBb(),a));}
-function kEb(f){var a,b,c,d,e;c=Fz(new Dz());e=qp(new kp(),'Save and validate configuration');e.x(kDb(new jDb(),f));aA(c,e);a=qp(new kp(),'Archive');a.x(oDb(new nDb(),f));aA(c,a);b=qp(new kp(),'Copy');b.x(sDb(new rDb(),f));aA(c,b);d=qp(new kp(),'Rename');d.x(wDb(new vDb(),f));aA(c,d);return c;}
-function lEb(b,a){hz(b.f,'<b>'+a+'<\/b>');}
-function mEb(d){var a,b,c;c=acb(new Bbb(),'images/new_wiz.gif','Copy the package');ccb(c,ez(new hw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=zK(new kK());bcb(c,'New package name:',a);b=qp(new kp(),'OK');bcb(c,'',b);b.x(iBb(new hBb(),d,a,c));c.Be('40%');lE(c,dc(ai()/3),dc(Fh()/3));oE(c);}
-function nEb(d){var a,b,c;c=acb(new Bbb(),'images/new_wiz.gif','Rename the package');ccb(c,ez(new hw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=zK(new kK());bcb(c,'New package name:',a);b=qp(new kp(),'OK');bcb(c,'',b);b.x(ADb(new zDb(),d,a,c));c.Be('40%');lE(c,dc(ai()/3),dc(Fh()/3));oE(c);}
-function oEb(b,c){var a;a=ieb(new sdb(),b.b.m,true);leb(a,gDb(new fDb(),b,a));lE(a,lN(c),mN(c));oE(a);}
-function pEb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=eB(new oA(),'images/warning.gif');a=Fz(new Dz());aA(a,b);c=ez(new hw(),'<b>There were errors validating this package configuration.');aA(a,c);d=qp(new kp(),'View errors');d.x(cDb(new qCb(),e));aA(a,d);return a;}else{return AG(new sG());}}
-function fBb(){}
-_=fBb.prototype=new obb();_.tN=Cfc+'PackageEditor';_.tI=376;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function nCb(b,a){b.a=a;return b;}
-function pCb(a){oEb(this.a,a);}
-function gBb(){}
-_=gBb.prototype=new uT();_.zc=pCb;_.tN=Cfc+'PackageEditor$1';_.tI=377;function iBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kBb(a){jTb(BLb(),this.a.b.j,rK(this.b),mBb(new lBb(),this,this.c));}
-function hBb(){}
-_=hBb.prototype=new uT();_.zc=kBb;_.tN=Cfc+'PackageEditor$10';_.tI=378;function mBb(b,a,c){b.a=a;b.b=c;return b;}
-function oBb(b,a){FFb(b.a.a.e);zh('Package copied successfully.');b.b.lc();}
-function pBb(a){oBb(this,a);}
-function lBb(){}
-_=lBb.prototype=new ecb();_.pd=pBb;_.tN=Cfc+'PackageEditor$11';_.tI=379;function rBb(b,a,c){b.a=a;b.b=c;return b;}
-function tBb(b,a){fGb(b.a.a);b.a.d=Fb(a,89);jEb(b.a);fdb('Package configuration updated successfully, refreshing content cache...');tKb((pKb(),uKb),b.a.b.j,wBb(new vBb(),b,b.b));}
-function uBb(a){tBb(this,a);}
-function qBb(){}
-_=qBb.prototype=new ecb();_.pd=uBb;_.tN=Cfc+'PackageEditor$12';_.tI=380;function wBb(b,a,c){b.a=c;return b;}
-function yBb(){if(this.a!==null){FFb(this.a);}bdb();}
-function vBb(){}
-_=vBb.prototype=new uT();_.pb=yBb;_.tN=Cfc+'PackageEditor$13';_.tI=381;function ABb(b,a){b.a=a;return b;}
-function CBb(a){bdb();this.a.b=Fb(a,19);iEb(this.a);}
-function zBb(){}
-_=zBb.prototype=new ecb();_.pd=CBb;_.tN=Cfc+'PackageEditor$14';_.tI=382;function EBb(b,a,c){b.a=a;b.b=c;return b;}
-function aCb(a){this.a.b.f=rK(this.b);BFb(this.a.c);}
-function DBb(){}
-_=DBb.prototype=new uT();_.yc=aCb;_.tN=Cfc+'PackageEditor$16';_.tI=383;function cCb(b,a,c){b.a=c;return b;}
-function eCb(a){if(hK(this.a)!=32){jK(this.a,32);}else{jK(this.a,8);}}
-function bCb(){}
-_=bCb.prototype=new uT();_.zc=eCb;_.tN=Cfc+'PackageEditor$17';_.tI=384;function gCb(b,a,c){b.a=a;b.b=c;return b;}
-function iCb(a){vK(this.b,rK(this.b)+'\n'+'import <your class here>');this.a.b.f=rK(this.b);}
-function fCb(){}
-_=fCb.prototype=new uT();_.zc=iCb;_.tN=Cfc+'PackageEditor$18';_.tI=385;function kCb(b,a,c){b.a=a;b.b=c;return b;}
-function mCb(a){vK(this.b,rK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=rK(this.b);}
-function jCb(){}
-_=jCb.prototype=new uT();_.zc=mCb;_.tN=Cfc+'PackageEditor$19';_.tI=386;function cDb(b,a){b.a=a;return b;}
-function eDb(a){var b;b=neb(new meb(),this.a.d.a,this.a.d.b);lE(b,dc(ai()/4),mN(a));oE(b);}
-function qCb(){}
-_=qCb.prototype=new uT();_.zc=eDb;_.tN=Cfc+'PackageEditor$2';_.tI=387;function sCb(b,a,c){b.a=a;b.b=c;return b;}
-function uCb(a){var b;b=wxb(new nxb());lE(b,lN(a)-400,mN(a)-250);Axb(b,wCb(new vCb(),this,this.b,b));oE(b);}
-function rCb(){}
-_=rCb.prototype=new uT();_.zc=uCb;_.tN=Cfc+'PackageEditor$20';_.tI=388;function wCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function yCb(a){vK(a.b,rK(a.b)+'\n'+zxb(a.c));a.a.a.b.f=rK(a.b);}
-function zCb(){yCb(this);}
-function vCb(){}
-_=vCb.prototype=new uT();_.pb=zCb;_.tN=Cfc+'PackageEditor$21';_.tI=389;function BCb(b,a,c){b.a=c;return b;}
-function DCb(a){if(hK(this.a)!=32){jK(this.a,32);}else{jK(this.a,8);}}
-function ACb(){}
-_=ACb.prototype=new uT();_.zc=DCb;_.tN=Cfc+'PackageEditor$22';_.tI=390;function FCb(b,a,c){b.a=a;b.b=c;return b;}
-function bDb(a){this.a.b.d=rK(this.b);BFb(this.a.c);}
-function ECb(){}
-_=ECb.prototype=new uT();_.yc=bDb;_.tN=Cfc+'PackageEditor$23';_.tI=391;function gDb(b,a,c){b.a=a;b.b=c;return b;}
-function iDb(){lEb(this.a,this.b.c);}
-function fDb(){}
-_=fDb.prototype=new uT();_.pb=iDb;_.tN=Cfc+'PackageEditor$3';_.tI=392;function kDb(b,a){b.a=a;return b;}
-function mDb(a){fEb(this.a,null);}
-function jDb(){}
-_=jDb.prototype=new uT();_.zc=mDb;_.tN=Cfc+'PackageEditor$4';_.tI=393;function oDb(b,a){b.a=a;return b;}
-function qDb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;fEb(this.a,this.a.e);}}
-function nDb(){}
-_=nDb.prototype=new uT();_.zc=qDb;_.tN=Cfc+'PackageEditor$5';_.tI=394;function sDb(b,a){b.a=a;return b;}
-function uDb(a){mEb(this.a);}
-function rDb(){}
-_=rDb.prototype=new uT();_.zc=uDb;_.tN=Cfc+'PackageEditor$6';_.tI=395;function wDb(b,a){b.a=a;return b;}
-function yDb(a){nEb(this.a);}
-function vDb(){}
-_=vDb.prototype=new uT();_.zc=yDb;_.tN=Cfc+'PackageEditor$7';_.tI=396;function ADb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function CDb(a){bUb(BLb(),this.a.b.m,rK(this.b),EDb(new DDb(),this,this.c));}
-function zDb(){}
-_=zDb.prototype=new uT();_.zc=CDb;_.tN=Cfc+'PackageEditor$8';_.tI=397;function EDb(b,a,c){b.a=a;b.b=c;return b;}
-function aEb(b,a){FFb(b.a.a.e);zh('Package renamed successfully.');b.b.lc();}
-function bEb(a){aEb(this,a);}
-function DDb(){}
-_=DDb.prototype=new ecb();_.pd=bEb;_.tN=Cfc+'PackageEditor$9';_.tI=398;function nHb(a){a.f=DFb(new rEb(),a);}
-function oHb(b,a){pHb(b,a,null,null);return b;}
-function pHb(g,b,h,f){var a,c,d,e;nHb(g);g.b=b;g.h=h;g.c=jM(new CK());g.d=hab(new fab());g.g=new bGb();nM(g.c,g.g);e=hO(new fO());if(f===null){a=lt(new ft());Ew(a.n,0,0,'new-asset-Icons');Bw(a.n,0,0,(oz(),pz),(xz(),zz));a.ze(0,0,sHb(g));iO(e,a);a.Be('100%');}iO(e,g.c);kab(g.d,0,0,e);c=ot(g.d);Fw(c,0,0,(xz(),Az));kt(ot(g.d),0,1,2);Bw(ot(g.d),0,1,(oz(),pz),(xz(),Az));wHb(g);d=vM(g.c,0);if(d!==null)FM(g.c,d);kab(g.d,0,1,ez(new hw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));bx(ot(g.d),0,0,'25%');Bw(ot(g.d),0,1,(oz(),qz),(xz(),Az));g.e=ycc(new Cbc(),g.b,'rulelist');gr(g,g.d);return g;}
-function qHb(d,a,c){var b;b=vHb(d,a.j,'images/package.gif',lHb(new kHb(),eFb(new dFb(),d,a)));b.y(vHb(d,'Business rule assets','images/rule_asset.gif',xHb(d,a.m,(E$(),F$))));b.y(vHb(d,'Technical rule assets','images/technical_rule_assets.gif',xHb(d,a.m,(E$(),b_))));b.y(vHb(d,'Functions','images/function_assets.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['function']))));b.y(vHb(d,'DSL','images/dsl.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['dsl']))));b.y(vHb(d,'Model','images/model_asset.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['jar']))));lM(d.c,b);if(c){aN(d.c,b,true);}}
-function sHb(h){var a,b,c,d,e,f,g,i;g=Fz(new Dz());d=eB(new oA(),'images/new_package.gif');d.te('Create a new package');fB(d,pGb(new oGb(),h));i=lcb(new kcb(),'images/model_asset.gif');fB(i,tGb(new sGb(),h));i.te('This creates a new model archive - models contain classes/types that rules use.');e=lcb(new kcb(),'images/new_rule.gif');e.te('Create new rule');fB(e,xGb(new wGb(),h));c=lcb(new kcb(),'images/function_assets.gif');c.te('Create a new function');fB(c,FGb(new EGb(),h));a=lcb(new kcb(),'images/dsl.gif');a.te('Create a new DSL (language configuration)');fB(a,dHb(new cHb(),h));f=lcb(new kcb(),'images/ruleflow_small.gif');f.te('Upload a new ruleflow.');fB(f,hHb(new gHb(),h));b=lcb(new kcb(),'images/new_enumeration.gif');b.te('Create a new data enumeration (drop down list)');fB(b,tEb(new sEb(),h));aA(g,d);aA(g,i);aA(g,e);aA(g,c);aA(g,a);aA(g,f);aA(g,b);return g;}
-function tHb(d,a,e){var b,c,f;b=70;f=100;c=f7b(new v6b(),iGb(new hGb(),d),false,a,e,d.a);lE(c,dc((cab()-gE(c))/2),100);oE(c);}
-function uHb(a,b){fdb('Loading package information ...');xTb(BLb(),b,rFb(new qFb(),a));}
-function vHb(e,d,b,a){var c;c=oL(new mL());wL(c,'<img src="'+b+'">'+d+'<\/a>');CL(c,a);return c;}
-function wHb(a){if(a.h===null){fdb('Loading list of packages ...');rTb(BLb(),xEb(new wEb(),a));}else{fdb('Loading package ...');xTb(BLb(),a.h,BEb(new AEb(),a));}}
-function xHb(c,d,b){var a;a=iFb(new hFb(),c);return lHb(new kHb(),nFb(new mFb(),c,d,b,a));}
-function yHb(b,c){var a;a=Eyb(new byb(),FEb(new EEb(),b));lE(a,dc((cab()-gE(a))/2),100);oE(a);}
-function qEb(){}
-_=qEb.prototype=new E_();_.tN=Cfc+'PackageExplorerWidget';_.tI=399;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function DFb(b,a){b.a=a;return b;}
-function FFb(a){wHb(a.a);}
-function aGb(){FFb(this);}
-function rEb(){}
-_=rEb.prototype=new uT();_.pb=aGb;_.tN=Cfc+'PackageExplorerWidget$1';_.tI=400;function tEb(b,a){b.a=a;return b;}
-function vEb(a){tHb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
-function sEb(){}
-_=sEb.prototype=new uT();_.zc=vEb;_.tN=Cfc+'PackageExplorerWidget$10';_.tI=401;function xEb(b,a){b.a=a;return b;}
-function zEb(a){var b,c;c=Fb(a,71);oM(this.a.c);for(b=0;b<c.a;b++){if(b==0){qHb(this.a,c[b],true);}else{qHb(this.a,c[b],false);}}bdb();}
-function wEb(){}
-_=wEb.prototype=new ecb();_.pd=zEb;_.tN=Cfc+'PackageExplorerWidget$11';_.tI=402;function BEb(b,a){b.a=a;return b;}
-function DEb(a){var b;b=Fb(a,19);oM(this.a.c);qHb(this.a,b,true);bdb();}
-function AEb(){}
-_=AEb.prototype=new ecb();_.pd=DEb;_.tN=Cfc+'PackageExplorerWidget$12';_.tI=403;function FEb(b,a){b.a=a;return b;}
-function bFb(a){wHb(a.a);}
-function cFb(){bFb(this);}
-function EEb(){}
-_=EEb.prototype=new uT();_.pb=cFb;_.tN=Cfc+'PackageExplorerWidget$13';_.tI=404;function eFb(b,a,c){b.a=a;b.b=c;return b;}
-function gFb(){if(this.a.pc()){if(Bh('Discard Changes ? ')){bab(this.a);uHb(this.a,this.b.m);}}else{uHb(this.a,this.b.m);}}
-function dFb(){}
-_=dFb.prototype=new uT();_.pb=gFb;_.tN=Cfc+'PackageExplorerWidget$14';_.tI=405;function iFb(b,a){b.a=a;return b;}
-function kFb(c,a){var b;b=Fb(a,62);Dcc(c.a.e,b);c.a.e.Be('100%');kab(c.a.d,0,1,c.a.e);Bw(ot(c.a.d),0,1,(oz(),qz),(xz(),Az));bdb();}
-function lFb(a){kFb(this,a);}
-function hFb(){}
-_=hFb.prototype=new ecb();_.pd=lFb;_.tN=Cfc+'PackageExplorerWidget$15';_.tI=406;function nFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
-function pFb(){fdb('Loading list, please wait...');qTb(BLb(),this.c,this.b,(-1),(-1),this.a);}
-function mFb(){}
-_=mFb.prototype=new uT();_.pb=pFb;_.tN=Cfc+'PackageExplorerWidget$16';_.tI=407;function rFb(b,a){b.a=a;return b;}
-function tFb(c){var a,b,d,e,f,g,h,i;b=Fb(c,19);g=qH(new pH());this.a.a=b.j;e=rbb(new obb(),'images/package_large.png',b.j);uN(e,'package-Editor');e.Be('100%');sbb(e,'Description:',CB(new AB(),b.d));sbb(e,'Date created:',CB(new AB(),pZ(b.c)));if(b.g){sbb(e,'Snapshot created on:',CB(new AB(),pZ(b.i)));sbb(e,'Snapshot comment:',CB(new AB(),b.b));h=dBb(b);d=ez(new hw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");sbb(e,'Download package:',d);sbb(e,'Package URI:',CB(new AB(),h));i=qp(new kp(),'View package source');i.x(vFb(new uFb(),this,b));sbb(e,'Show package source:',i);}if(!b.g){vbb(e,ez(new hw(),'<i>Choose one of the options below<\/i>'));}f=zFb(new yFb(),this);a=dGb(new cGb(),this);sH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){sH(g,cEb(new fBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);sH(g,CAb(new czb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{sH(!
 g,cEb(new fBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.Be('100%');kab(this.a.d,0,1,g);bdb();}
-function qFb(){}
-_=qFb.prototype=new ecb();_.pd=tFb;_.tN=Cfc+'PackageExplorerWidget$17';_.tI=408;function vFb(b,a,c){b.a=c;return b;}
-function xFb(a){cBb(this.a.m,this.a.j);}
-function uFb(){}
-_=uFb.prototype=new uT();_.zc=xFb;_.tN=Cfc+'PackageExplorerWidget$18';_.tI=409;function zFb(b,a){b.a=a;return b;}
-function BFb(a){aab(a.a.a);}
-function CFb(){BFb(this);}
-function yFb(){}
-_=yFb.prototype=new uT();_.pb=CFb;_.tN=Cfc+'PackageExplorerWidget$19';_.tI=410;function mGb(c){var a,b;a=Fb(c.k,90);b=a.a;fdb('Please wait...');fg(b);}
-function nGb(a){}
-function bGb(){}
-_=bGb.prototype=new uT();_.rd=mGb;_.sd=nGb;_.tN=Cfc+'PackageExplorerWidget$2';_.tI=411;function dGb(b,a){b.a=a;return b;}
-function fGb(a){bab(a.a.a);}
-function gGb(){fGb(this);}
-function cGb(){}
-_=cGb.prototype=new uT();_.pb=gGb;_.tN=Cfc+'PackageExplorerWidget$20';_.tI=412;function iGb(b,a){b.a=a;return b;}
-function kGb(a){DHb(this.a.b,a);}
-function hGb(){}
-_=hGb.prototype=new uT();_.wd=kGb;_.tN=Cfc+'PackageExplorerWidget$21';_.tI=413;function pGb(b,a){b.a=a;return b;}
-function rGb(a){yHb(this.a,a);}
-function oGb(){}
-_=oGb.prototype=new uT();_.zc=rGb;_.tN=Cfc+'PackageExplorerWidget$3';_.tI=414;function tGb(b,a){b.a=a;return b;}
-function vGb(a){tHb(this.a,'jar','Create a new model archive');}
-function sGb(){}
-_=sGb.prototype=new uT();_.zc=vGb;_.tN=Cfc+'PackageExplorerWidget$4';_.tI=415;function xGb(b,a){b.a=a;return b;}
-function zGb(d){var a,b,c;a=70;c=100;b=f7b(new v6b(),BGb(new AGb(),this),true,null,'Create a new rule asset',this.a.a);lE(b,dc((cab()-gE(b))/2),100);oE(b);}
-function wGb(){}
-_=wGb.prototype=new uT();_.zc=zGb;_.tN=Cfc+'PackageExplorerWidget$5';_.tI=416;function BGb(b,a){b.a=a;return b;}
-function DGb(a){DHb(this.a.a.b,a);}
-function AGb(){}
-_=AGb.prototype=new uT();_.wd=DGb;_.tN=Cfc+'PackageExplorerWidget$6';_.tI=417;function FGb(b,a){b.a=a;return b;}
-function bHb(a){tHb(this.a,'function','Create a new function');}
-function EGb(){}
-_=EGb.prototype=new uT();_.zc=bHb;_.tN=Cfc+'PackageExplorerWidget$7';_.tI=418;function dHb(b,a){b.a=a;return b;}
-function fHb(a){tHb(this.a,'dsl','Create a new language configuration');}
-function cHb(){}
-_=cHb.prototype=new uT();_.zc=fHb;_.tN=Cfc+'PackageExplorerWidget$8';_.tI=419;function hHb(b,a){b.a=a;return b;}
-function jHb(a){tHb(this.a,'rf','Create a new ruleflow');}
-function gHb(){}
-_=gHb.prototype=new uT();_.zc=jHb;_.tN=Cfc+'PackageExplorerWidget$9';_.tI=420;function lHb(b,a){b.a=a;return b;}
-function kHb(){}
-_=kHb.prototype=new uT();_.tN=Cfc+'PackageExplorerWidget$PackageTreeItem';_.tI=421;_.a=null;function FHb(a){a.a=(CY(),DY);}
-function aIb(a){bIb(a,null,null);return a;}
-function bIb(e,c,d){var a,b;FHb(e);e.b=sJ(new eJ());e.b.Be('100%');e.b.qe('30%');a=BHb(new AHb(),e,d);b=null;if(c===null){b=oHb(new qEb(),a);}else{b=pHb(new qEb(),a,c,d);}tJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);zJ(e.b,0);gr(e,e.b);return e;}
-function dIb(b,a){b.a=a;}
-function zHb(){}
-_=zHb.prototype=new er();_.tN=Cfc+'PackageManagerView';_.tI=422;_.b=null;function BHb(b,a,c){b.a=a;b.b=c;return b;}
-function DHb(b,a){r4b(b.a.a,b.a.b,a,b.b!==null);}
-function EHb(a){DHb(this,a);}
-function AHb(){}
-_=AHb.prototype=new uT();_.wd=EHb;_.tN=Cfc+'PackageManagerView$1';_.tI=423;function CJb(b){var a,c;b.a=lt(new ft());b.c=sJ(new eJ());b.c.Be('100%');b.c.qe('100%');c=hO(new fO());iO(c,b.a);a=qp(new kp(),'Rebuild snapshot binaries');a.te('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new fIb());iO(c,a);tJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);bx(b.a.n,0,0,'28%');b.b=BLb();eKb(b);b.a.Be('100%');gr(b,b.c);zJ(b.c,0);return b;}
-function DJb(h,c){var a,b,d,e,f,g;g=jM(new CK());d=hO(new fO());for(a=0;a<c.a;a++){e=c[a].j;b=cKb(h,e,'images/package_snapshot.gif',fJb(new eJb(),h,e));lM(g,b);}iO(d,g);f=ez(new hw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");DB(f,jJb(new iJb(),h));nM(g,new mJb());mO(d,(xz(),Az));lO(d,(oz(),qz));iO(d,f);uN(d,'snapshot-List');h.a.ze(0,0,d);Fw(h.a.n,0,0,(xz(),Az));}
-function FJb(g,e,f){var a,b,c,d;c=acb(new Bbb(),'images/snapshot.png','Copy snapshot '+f);a=zK(new kK());bcb(c,'New label:',a);d=qp(new kp(),'OK');bcb(c,'',d);d.x(vJb(new uJb(),g,e,f,a,c));b=qp(new kp(),'Copy');b.x(hIb(new gIb(),g,c));return b;}
-function aKb(d,c,b){var a;a=qp(new kp(),'Delete');a.x(pIb(new oIb(),d,c,b));return a;}
-function bKb(d,b,c,e){var a;a=qp(new kp(),'Open');a.x(lIb(new kIb(),d,b,c,e));return a;}
-function cKb(e,d,b,a){var c;c=oL(new mL());wL(c,'<img src="'+b+'">'+d+'<\/a>');CL(c,a);return c;}
-function dKb(g,e,f,h){var a,b,c,d,i;i=lt(new ft());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=Fz(new Dz());aA(c,ez(new hw(),d));a=lcb(new kcb(),'images/close.gif');a.te('Close this view');fB(a,xIb(new wIb(),g));aA(c,a);i.ze(0,0,c);b=ot(i);Ew(b,0,0,'editable-Surface');i.ze(1,0,bIb(new zHb(),h,f));i.Be('100%');i.qe('100%');if(g.c.a.f.c>1){yJ(g.c,1);}tJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);zJ(g.c,1);}
-function eKb(a){fdb('Loading package list...');rTb(a.b,bJb(new aJb(),a));}
-function fKb(h,d,b){var a,c,e,f,g;e=rbb(new obb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=lt(new ft());yy(g,0,1,'Name');yy(g,0,2,'Comment');lx(g.p,0,ffc);for(a=0;a<b.a;a++){f=a+1;c=CB(new AB(),b[a].b);g.ze(f,0,eB(new oA(),'images/package_snapshot_item.gif'));g.ze(f,1,c);g.ze(f,2,CB(new AB(),b[a].a));g.ze(f,3,bKb(h,d,aC(c),b[a].c));g.ze(f,4,FJb(h,d,aC(c)));g.ze(f,5,aKb(h,aC(c),d));if(a%2==0){lx(g.p,a+1,dfc);}}e.Be('100%');vbb(e,g);g.Be('100%');uN(e,efc);h.a.ze(0,1,e);Fw(ot(h.a),0,1,(xz(),Az));}
-function gKb(b,a){fdb('Loading snapshots...');sTb(b.b,a,rJb(new qJb(),b,a));}
-function eIb(){}
-_=eIb.prototype=new er();_.tN=Cfc+'PackageSnapshotView';_.tI=424;_.a=null;_.b=null;_.c=null;function BIb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){fdb('Rebuilding snapshots. Please wait, this may take some time...');DTb(BLb(),new CIb());}}
-function fIb(){}
-_=fIb.prototype=new uT();_.zc=BIb;_.tN=Cfc+'PackageSnapshotView$1';_.tI=425;function hIb(b,a,c){b.a=c;return b;}
-function jIb(a){lE(this.a,dc((cab()-gE(this.a))/2),100);oE(this.a);}
-function gIb(){}
-_=gIb.prototype=new uT();_.zc=jIb;_.tN=Cfc+'PackageSnapshotView$10';_.tI=426;function lIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
-function nIb(a){dKb(this.a,this.b,this.c,this.d);}
-function kIb(){}
-_=kIb.prototype=new uT();_.zc=nIb;_.tN=Cfc+'PackageSnapshotView$11';_.tI=427;function pIb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rIb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{iTb(this.a.b,this.b,this.c,true,null,tIb(new sIb(),this,this.b));}}
-function oIb(){}
-_=oIb.prototype=new uT();_.zc=rIb;_.tN=Cfc+'PackageSnapshotView$12';_.tI=428;function tIb(b,a,c){b.a=a;b.b=c;return b;}
-function vIb(a){gKb(this.a.a,this.b);}
-function sIb(){}
-_=sIb.prototype=new ecb();_.pd=vIb;_.tN=Cfc+'PackageSnapshotView$13';_.tI=429;function xIb(b,a){b.a=a;return b;}
-function zIb(a){yJ(this.a.c,1);zJ(this.a.c,0);}
-function wIb(){}
-_=wIb.prototype=new uT();_.zc=zIb;_.tN=Cfc+'PackageSnapshotView$14';_.tI=430;function EIb(b,a){bdb();zh('Snapshots were rebuilt successfully.');}
-function FIb(a){EIb(this,a);}
-function CIb(){}
-_=CIb.prototype=new ecb();_.pd=FIb;_.tN=Cfc+'PackageSnapshotView$2';_.tI=431;function bJb(b,a){b.a=a;return b;}
-function dJb(a){var b;b=Fb(a,71);DJb(this.a,b);bdb();}
-function aJb(){}
-_=aJb.prototype=new ecb();_.pd=dJb;_.tN=Cfc+'PackageSnapshotView$3';_.tI=432;function fJb(b,a,c){b.a=a;b.b=c;return b;}
-function hJb(){gKb(this.a,this.b);}
-function eJb(){}
-_=eJb.prototype=new uT();_.pb=hJb;_.tN=Cfc+'PackageSnapshotView$4';_.tI=433;function jJb(b,a){b.a=a;return b;}
-function lJb(a){eKb(this.a);}
-function iJb(){}
-_=iJb.prototype=new uT();_.zc=lJb;_.tN=Cfc+'PackageSnapshotView$5';_.tI=434;function oJb(a){fg(Fb(a.k,4));}
-function pJb(a){}
-function mJb(){}
-_=mJb.prototype=new uT();_.rd=oJb;_.sd=pJb;_.tN=Cfc+'PackageSnapshotView$6';_.tI=435;function rJb(b,a,c){b.a=a;b.b=c;return b;}
-function tJb(a){var b;b=Fb(a,86);fKb(this.a,this.b,b);bdb();}
-function qJb(){}
-_=qJb.prototype=new ecb();_.pd=tJb;_.tN=Cfc+'PackageSnapshotView$7';_.tI=436;function vJb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
-function xJb(a){iTb(this.a.b,this.d,this.e,false,rK(this.b),zJb(new yJb(),this,this.d,this.c));}
-function uJb(){}
-_=uJb.prototype=new uT();_.zc=xJb;_.tN=Cfc+'PackageSnapshotView$8';_.tI=437;function zJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function BJb(a){gKb(this.a.a,this.c);this.b.lc();}
-function yJb(){}
-_=yJb.prototype=new ecb();_.pd=BJb;_.tN=Cfc+'PackageSnapshotView$9';_.tI=438;function pKb(){pKb=s2;uKb=oKb(new hKb());}
-function nKb(a){a.a=z0(new DZ());}
-function oKb(a){pKb();nKb(a);return a;}
-function qKb(c,b,a){if(!C0(c.a,b)){sKb(c,b,a);}else{e4b(a);}}
-function rKb(c,b){var a;a=Fb(F0(c.a,b),91);if(a===null){gbb('Unable to get content assistance for this rule.');return null;}return a;}
-function sKb(c,b,a){hV(),kV;ATb(BLb(),b,jKb(new iKb(),c,b,a));}
-function tKb(c,b,a){if(C0(c.a,b)){b1(c.a,b);sKb(c,b,a);}else{a.pb();}}
-function hKb(){}
-_=hKb.prototype=new uT();_.tN=Cfc+'SuggestionCompletionCache';_.tI=439;var uKb;function jKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function lKb(c,a){var b;b=Fb(a,91);a1(c.a.a,c.c,b);c.b.pb();}
-function mKb(a){lKb(this,a);}
-function iKb(){}
-_=iKb.prototype=new ecb();_.pd=mKb;_.tN=Cfc+'SuggestionCompletionCache$1';_.tI=440;function BKb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
-function vKb(){}
-_=vKb.prototype=new uT();_.tS=BKb;_.tN=Dfc+'BuilderResult';_.tI=441;_.a=null;_.b=null;_.c=null;_.d=null;function zKb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();}
-function AKb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);}
-function CKb(){}
-_=CKb.prototype=new fl();_.tN=Dfc+'DetailedSerializableException';_.tI=442;_.a=null;function aLb(b,a){dLb(a,b.Ed());jl(b,a);}
-function bLb(a){return a.a;}
-function cLb(b,a){b.gf(bLb(a));ll(b,a);}
-function dLb(a,b){a.a=b;}
-function fLb(a){a.a=yb('[Ljava.lang.String;',[605],[1],[0],null);}
-function gLb(a){fLb(a);return a;}
-function hLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(nU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[605],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function jLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[605],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function eLb(){}
-_=eLb.prototype=new uT();_.tN=Dfc+'MetaData';_.tI=443;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function mLb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Ed();a.c=b.Ed();a.d=Fb(b.Dd(),59);a.e=b.Ed();a.f=Fb(b.Dd(),59);a.g=Fb(b.Dd(),59);a.h=b.Ed();a.i=b.Ed();a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=Fb(b.Dd(),59);a.n=b.Ed();a.o=b.Ed();a.p=b.Ed();a.q=b.Ed();a.r=b.Ed();a.s=b.Ed();a.t=b.Ed();a.u=b.Ed();a.v=b.Cd();}
-function nLb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.ff(a.d);b.gf(a.e);b.ff(a.f);b.ff(a.g);b.gf(a.h);b.gf(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.ff(a.m);b.gf(a.n);b.gf(a.o);b.gf(a.p);b.gf(a.q);b.gf(a.r);b.gf(a.s);b.gf(a.t);b.gf(a.u);b.ef(a.v);}
-function oLb(){}
-_=oLb.prototype=new uT();_.tN=Dfc+'PackageConfigData';_.tI=444;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function sLb(b,a){a.a=b.zd();a.b=b.Ed();a.c=Fb(b.Dd(),59);a.d=b.Ed();a.e=b.Ed();a.f=b.Ed();a.g=b.zd();a.h=b.Ed();a.i=Fb(b.Dd(),59);a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=b.Ed();}
-function tLb(b,a){b.bf(a.a);b.gf(a.b);b.ff(a.c);b.gf(a.d);b.gf(a.e);b.gf(a.f);b.bf(a.g);b.gf(a.h);b.ff(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.gf(a.m);}
-function zLb(){var a,b,c;c=yRb(new ELb());a=c;b=v()+'jbrmsService';eUb(a,b);return c;}
-function ALb(){var a,b,c;c=gXb(new BWb());a=c;b=v()+'jbrmsService';mXb(a,b);return c;}
-function BLb(){if(yLb===null){CLb();}return yLb;}
-function CLb(){if(xLb)yLb=null;else yLb=zLb();}
-function DLb(d,b,a){var c;c=ALb();lXb(c,d,b,a);}
-var xLb=false,yLb=null;function gTb(){gTb=s2;fUb=hUb(new gUb());}
-function yRb(a){gTb();return a;}
-function zRb(b,a,c,d){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'archiveAsset');ln(a,2);nn(a,'java.lang.String');nn(a,'Z');nn(a,c);kn(a,d);}
-function BRb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildAsset');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
-function ARb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildAssetSource');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
-function DRb(d,c,a,b){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'buildPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,a);nn(c,b);}
-function CRb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildPackageSource');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function ERb(d,c,e,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'changeAssetPackage');ln(c,3);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,e);nn(c,b);nn(c,a);}
-function FRb(c,b,d,a,e){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'changeState');ln(b,3);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,'Z');nn(b,d);nn(b,a);kn(b,e);}
-function aSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'checkinVersion');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
-function bSb(e,d,a,c,b){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'copyAsset');ln(d,3);nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,a);nn(d,c);nn(d,b);}
-function cSb(f,e,c,d,a,b){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'copyOrRemoveSnapshot');ln(e,4);nn(e,'java.lang.String');nn(e,'java.lang.String');nn(e,'Z');nn(e,'java.lang.String');nn(e,c);nn(e,d);kn(e,a);nn(e,b);}
-function dSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'copyPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
-function eSb(e,d,c,b,a){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'createCategory');ln(d,3);nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,c);nn(d,b);nn(d,a);}
-function fSb(g,f,e,a,c,d,b){if(g.a===null)throw ul(new tl());ro(f);nn(f,'org.drools.brms.client.rpc.RepositoryService');nn(f,'createNewRule');ln(f,5);nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,e);nn(f,a);nn(f,c);nn(f,d);nn(f,b);}
-function hSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'createPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
-function gSb(f,e,b,d,c,a){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'createPackageSnapshot');ln(e,4);nn(e,'java.lang.String');nn(e,'java.lang.String');nn(e,'Z');nn(e,'java.lang.String');nn(e,b);nn(e,d);kn(e,c);nn(e,a);}
-function iSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'createState');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function jSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'deleteUncheckedRule');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
-function kSb(f,e,c,a,b,d){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'listAssets');ln(e,4);nn(e,'java.lang.String');nn(e,'[Ljava.lang.String;');nn(e,'I');nn(e,'I');nn(e,c);mn(e,a);ln(e,b);ln(e,d);}
-function lSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'listPackages');ln(a,0);}
-function mSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'listSnapshots');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function nSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'listStates');ln(a,0);}
-function oSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadArchivedAssets');ln(a,0);}
-function pSb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadAssetHistory');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
-function qSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadChildCategories');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function rSb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadPackageConfig');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
-function sSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadRuleAsset');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function tSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadRuleListForCategories');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function uSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadSuggestionCompletionEngine');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function vSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadTableConfig');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function wSb(e,d,c,a,b){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'quickFindAsset');ln(d,3);nn(d,'java.lang.String');nn(d,'I');nn(d,'Z');nn(d,c);ln(d,a);kn(d,b);}
-function xSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'rebuildSnapshots');ln(a,0);}
-function ySb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'removeAsset');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
-function zSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'removeCategory');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
-function ASb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'renameAsset');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
-function BSb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'renamePackage');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
-function CSb(d,c,e,a,b){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'restoreVersion');ln(c,3);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,e);nn(c,a);nn(c,b);}
-function DSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'savePackage');ln(b,1);nn(b,'org.drools.brms.client.rpc.PackageConfigData');mn(b,a);}
-function ESb(h,i,j,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zRb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=nNb(new FLb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BRb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=ePb(new rNb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FSb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ARb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=BQb(new iPb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cTb(j,f,g,c){var a,d,e,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DRb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=aRb(new FQb(),j,h,c);if(!wg(j.a,uo(i),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CRb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=fRb(new eRb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dTb(j,k,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ERb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=kRb(new jRb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eTb(i,j,f,k,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FRb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=pRb(new oRb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=uRb(new tRb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hTb(k,c,h,g,d){var a,e,f,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=bMb(new aMb(),k,i,d);if(!wg(k.a,uo(j),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function iTb(l,h,i,d,g,c){var a,e,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=gMb(new fMb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function jTb(j,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=lMb(new kMb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function kTb(k,h,g,d,c){var a,e,f,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=qMb(new pMb(),k,i,c);if(!wg(k.a,uo(j),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=zn(new yn(),fUb);l=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}g=vMb(new uMb(),m,k,c);if(!wg(m.a,uo(l),g))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function nTb(j,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=AMb(new zMb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mTb(l,g,i,h,d,c){var a,e,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=FMb(new EMb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=eNb(new dNb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pTb(j,g,f,c){var a,d,e,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=jNb(new iNb(),j,h,c);if(!wg(j.a,uo(i),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qTb(l,h,e,g,i,c){var a,d,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}f=tNb(new sNb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=yNb(new xNb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=DNb(new CNb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=cOb(new bOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=hOb(new gOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vTb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=mOb(new lOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=rOb(new qOb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function xTb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=wOb(new vOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function yTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=BOb(new AOb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function zTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=aPb(new FOb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ATb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=kPb(new jPb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function BTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=pPb(new oPb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CTb(k,h,f,g,c){var a,d,e,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=uPb(new tPb(),k,i,c);if(!wg(k.a,uo(j),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=zPb(new yPb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ETb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=EPb(new DPb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=dQb(new cQb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aUb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=iQb(new hQb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bUb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=nQb(new mQb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cUb(j,k,c,e,d){var a,f,g,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;gcb(d,f);return;}else throw a;}g=sQb(new rQb(),j,h,d);if(!wg(j.a,uo(i),g))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dUb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=xQb(new wQb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eUb(b,a){b.a=a;}
-function ELb(){}
-_=ELb.prototype=new uT();_.tN=Dfc+'RepositoryService_Proxy';_.tI=445;_.a=null;var fUb;function nNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u6(g.a,f);else gcb(g.a,c);}
-function qNb(a){var b;b=x;pNb(this,a);}
-function FLb(){}
-_=FLb.prototype=new uT();_.Ac=qNb;_.tN=Dfc+'RepositoryService_Proxy$1';_.tI=446;function bMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)m0b(g.a,f);else gcb(g.a,c);}
-function eMb(a){var b;b=x;dMb(this,a);}
-function aMb(){}
-_=aMb.prototype=new uT();_.Ac=eMb;_.tN=Dfc+'RepositoryService_Proxy$10';_.tI=447;function gMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function jMb(a){var b;b=x;iMb(this,a);}
-function fMb(){}
-_=fMb.prototype=new uT();_.Ac=jMb;_.tN=Dfc+'RepositoryService_Proxy$11';_.tI=448;function lMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)oBb(g.a,f);else gcb(g.a,c);}
-function oMb(a){var b;b=x;nMb(this,a);}
-function kMb(){}
-_=kMb.prototype=new uT();_.Ac=oMb;_.tN=Dfc+'RepositoryService_Proxy$12';_.tI=449;function qMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)z9(g.a,f);else gcb(g.a,c);}
-function tMb(a){var b;b=x;sMb(this,a);}
-function pMb(){}
-_=pMb.prototype=new uT();_.Ac=tMb;_.tN=Dfc+'RepositoryService_Proxy$13';_.tI=450;function vMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)b7b(g.a,f);else gcb(g.a,c);}
-function yMb(a){var b;b=x;xMb(this,a);}
-function uMb(){}
-_=uMb.prototype=new uT();_.Ac=yMb;_.tN=Dfc+'RepositoryService_Proxy$14';_.tI=451;function AMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function CMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)syb(g.a,f);else gcb(g.a,c);}
-function DMb(a){var b;b=x;CMb(this,a);}
-function zMb(){}
-_=zMb.prototype=new uT();_.Ac=DMb;_.tN=Dfc+'RepositoryService_Proxy$15';_.tI=452;function FMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function bNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)tzb(g.a,f);else gcb(g.a,c);}
-function cNb(a){var b;b=x;bNb(this,a);}
-function EMb(){}
-_=EMb.prototype=new uT();_.Ac=cNb;_.tN=Dfc+'RepositoryService_Proxy$16';_.tI=453;function eNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g9(g.a,f);else gcb(g.a,c);}
-function hNb(a){var b;b=x;gNb(this,a);}
-function dNb(){}
-_=dNb.prototype=new uT();_.Ac=hNb;_.tN=Dfc+'RepositoryService_Proxy$17';_.tI=454;function jNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function lNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c$b(g.a,f);else gcb(g.a,c);}
-function mNb(a){var b;b=x;lNb(this,a);}
-function iNb(){}
-_=iNb.prototype=new uT();_.Ac=mNb;_.tN=Dfc+'RepositoryService_Proxy$18';_.tI=455;function ePb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f8b(g.a,f);else gcb(g.a,c);}
-function hPb(a){var b;b=x;gPb(this,a);}
-function rNb(){}
-_=rNb.prototype=new uT();_.Ac=hPb;_.tN=Dfc+'RepositoryService_Proxy$2';_.tI=456;function tNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)kFb(g.a,f);else gcb(g.a,c);}
-function wNb(a){var b;b=x;vNb(this,a);}
-function sNb(){}
-_=sNb.prototype=new uT();_.Ac=wNb;_.tN=Dfc+'RepositoryService_Proxy$20';_.tI=457;function yNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function ANb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function BNb(a){var b;b=x;ANb(this,a);}
-function xNb(){}
-_=xNb.prototype=new uT();_.Ac=BNb;_.tN=Dfc+'RepositoryService_Proxy$21';_.tI=458;function DNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function aOb(a){var b;b=x;FNb(this,a);}
-function CNb(){}
-_=CNb.prototype=new uT();_.Ac=aOb;_.tN=Dfc+'RepositoryService_Proxy$22';_.tI=459;function cOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function eOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function fOb(a){var b;b=x;eOb(this,a);}
-function bOb(){}
-_=bOb.prototype=new uT();_.Ac=fOb;_.tN=Dfc+'RepositoryService_Proxy$23';_.tI=460;function hOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c7(g.a,f);else gcb(g.a,c);}
-function kOb(a){var b;b=x;jOb(this,a);}
-function gOb(){}
-_=gOb.prototype=new uT();_.Ac=kOb;_.tN=Dfc+'RepositoryService_Proxy$24';_.tI=461;function mOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)d_b(g.a,f);else gcb(g.a,c);}
-function pOb(a){var b;b=x;oOb(this,a);}
-function lOb(){}
-_=lOb.prototype=new uT();_.Ac=pOb;_.tN=Dfc+'RepositoryService_Proxy$25';_.tI=462;function rOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function tOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function uOb(a){var b;b=x;tOb(this,a);}
-function qOb(){}
-_=qOb.prototype=new uT();_.Ac=uOb;_.tN=Dfc+'RepositoryService_Proxy$26';_.tI=463;function wOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function zOb(a){var b;b=x;yOb(this,a);}
-function vOb(){}
-_=vOb.prototype=new uT();_.Ac=zOb;_.tN=Dfc+'RepositoryService_Proxy$27';_.tI=464;function BOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function EOb(a){var b;b=x;DOb(this,a);}
-function AOb(){}
-_=AOb.prototype=new uT();_.Ac=EOb;_.tN=Dfc+'RepositoryService_Proxy$28';_.tI=465;function aPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)obc(g.a,f);else gcb(g.a,c);}
-function dPb(a){var b;b=x;cPb(this,a);}
-function FOb(){}
-_=FOb.prototype=new uT();_.Ac=dPb;_.tN=Dfc+'RepositoryService_Proxy$29';_.tI=466;function BQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k8b(g.a,f);else gcb(g.a,c);}
-function EQb(a){var b;b=x;DQb(this,a);}
-function iPb(){}
-_=iPb.prototype=new uT();_.Ac=EQb;_.tN=Dfc+'RepositoryService_Proxy$3';_.tI=467;function kPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)lKb(g.a,f);else gcb(g.a,c);}
-function nPb(a){var b;b=x;mPb(this,a);}
-function jPb(){}
-_=jPb.prototype=new uT();_.Ac=nPb;_.tN=Dfc+'RepositoryService_Proxy$30';_.tI=468;function pPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)ecc(g.a,f);else gcb(g.a,c);}
-function sPb(a){var b;b=x;rPb(this,a);}
-function oPb(){}
-_=oPb.prototype=new uT();_.Ac=sPb;_.tN=Dfc+'RepositoryService_Proxy$31';_.tI=469;function uPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
-function xPb(a){var b;b=x;wPb(this,a);}
-function tPb(){}
-_=tPb.prototype=new uT();_.Ac=xPb;_.tN=Dfc+'RepositoryService_Proxy$32';_.tI=470;function zPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function BPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)EIb(g.a,f);else gcb(g.a,c);}
-function CPb(a){var b;b=x;BPb(this,a);}
-function yPb(){}
-_=yPb.prototype=new uT();_.Ac=CPb;_.tN=Dfc+'RepositoryService_Proxy$33';_.tI=471;function EPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D6(g.a,f);else gcb(g.a,c);}
-function bQb(a){var b;b=x;aQb(this,a);}
-function DPb(){}
-_=DPb.prototype=new uT();_.Ac=bQb;_.tN=Dfc+'RepositoryService_Proxy$34';_.tI=472;function dQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u8(g.a,f);else gcb(g.a,c);}
-function gQb(a){var b;b=x;fQb(this,a);}
-function cQb(){}
-_=cQb.prototype=new uT();_.Ac=gQb;_.tN=Dfc+'RepositoryService_Proxy$35';_.tI=473;function iQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function kQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c6b(g.a,f);else gcb(g.a,c);}
-function lQb(a){var b;b=x;kQb(this,a);}
-function hQb(){}
-_=hQb.prototype=new uT();_.Ac=lQb;_.tN=Dfc+'RepositoryService_Proxy$36';_.tI=474;function nQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)aEb(g.a,f);else gcb(g.a,c);}
-function qQb(a){var b;b=x;pQb(this,a);}
-function mQb(){}
-_=mQb.prototype=new uT();_.Ac=qQb;_.tN=Dfc+'RepositoryService_Proxy$37';_.tI=475;function sQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)mac(g.a,f);else gcb(g.a,c);}
-function vQb(a){var b;b=x;uQb(this,a);}
-function rQb(){}
-_=rQb.prototype=new uT();_.Ac=vQb;_.tN=Dfc+'RepositoryService_Proxy$38';_.tI=476;function xQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)tBb(g.a,f);else gcb(g.a,c);}
-function AQb(a){var b;b=x;zQb(this,a);}
-function wQb(){}
-_=wQb.prototype=new uT();_.Ac=AQb;_.tN=Dfc+'RepositoryService_Proxy$39';_.tI=477;function aRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)sAb(g.a,f);else gcb(g.a,c);}
-function dRb(a){var b;b=x;cRb(this,a);}
-function FQb(){}
-_=FQb.prototype=new uT();_.Ac=dRb;_.tN=Dfc+'RepositoryService_Proxy$4';_.tI=478;function fRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dAb(g.a,f);else gcb(g.a,c);}
-function iRb(a){var b;b=x;hRb(this,a);}
-function eRb(){}
-_=eRb.prototype=new uT();_.Ac=iRb;_.tN=Dfc+'RepositoryService_Proxy$5';_.tI=479;function kRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)A4b(g.a,f);else gcb(g.a,c);}
-function nRb(a){var b;b=x;mRb(this,a);}
-function jRb(){}
-_=jRb.prototype=new uT();_.Ac=nRb;_.tN=Dfc+'RepositoryService_Proxy$6';_.tI=480;function pRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)geb(g.a,f);else gcb(g.a,c);}
-function sRb(a){var b;b=x;rRb(this,a);}
-function oRb(){}
-_=oRb.prototype=new uT();_.Ac=sRb;_.tN=Dfc+'RepositoryService_Proxy$7';_.tI=481;function uRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)h$b(g.a,f);else gcb(g.a,c);}
-function xRb(a){var b;b=x;wRb(this,a);}
-function tRb(){}
-_=tRb.prototype=new uT();_.Ac=xRb;_.tN=Dfc+'RepositoryService_Proxy$8';_.tI=482;function iUb(){iUb=s2;kWb=jUb();nWb=kUb();}
-function hUb(a){iUb();return a;}
-function jUb(){iUb();return {'[B/2233087514':[function(a){return lUb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return mUb(a);},function(a,b){Ek(a,b);},function(a,b){Fk(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return nUb(a);},function(a,b){jl(a,b);},function(a,b){ll(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return sUb(a);},function(a,b){nD(a,b);},function(a,b){qD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return tUb(a);},function(a,b){fI(a,b);},function(a,b){iI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return uUb(a);},function(a,b){nI(a,b);},function(a,b){pI(a,b);}],'java.lang.Boolean/476441737':[function(a){return Al(a);},function(a,b){zl(a,b);},function(a,b){Bl(a,b);}],'java.!
 lang.String/2004016611':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return vUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'java.util.ArrayList/3821976829':[function(a){return oUb(a);},function(a,b){lm(a,b);},function(a,b){mm(a,b);}],'java.util.Date/1659716317':[function(a){return qm(a);},function(a,b){pm(a,b);},function(a,b){rm(a,b);}],'java.util.HashMap/962170901':[function(a){return pUb(a);},function(a,b){um(a,b);},function(a,b){vm(a,b);}],'java.util.HashSet/1594477813':[function(a){return qUb(a);},function(a,b){ym(a,b);},function(a,b){zm(a,b);}],'java.util.Vector/3125574444':[function(a){return rUb(a);},function(a,b){Cm(a,b);},function(a,b){Dm(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return wUb(a);},function(a,b){ggb(a,b);},function(a,b){hgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return xUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return zUb(a);},function(a,b){Fgb(a,b);},function(a,b){ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return yUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return BUb(a);},function(a,b){hhb(a,b);},function(a,b){ihb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return AUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return DUb(a);},function(a,b){phb(a,b);},function(a,b){qhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return CUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn FUb(a);},function(a,b){whb(a,b);},function(a,b){xhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return EUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return bVb(a);},function(a,b){Ehb(a,b);},function(a,b){Fhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return aVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return dVb(a);},function(a,b){gib(a,b);},function(a,b){hib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return cVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return fVb(a);},function(a,b){oib(a,b);},function(a,b){pib(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn eVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return hVb(a);},function(a,b){wib(a,b);},function(a,b){xib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return gVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return jVb(a);},function(a,b){Cib(a,b);},function(a,b){Dib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return iVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return lVb(a);},function(a,b){ejb(a,b);},function(a,b){fjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return kVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return nVb(a);},function(a,b){qjb(a,b);},function(a,b){rjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return mVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return oVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return pVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return qVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return rVb(a);},function(a,b){zjb(a,b);},function(a,b){Ajb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return tVb(a);},function(a,b){bkb(a,b);},function(a,b!
 ){ckb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return sVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return uVb(a);},function(a,b){wkb(a,b);},function(a,b){xkb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return wVb(a);},function(a,b){Fkb(a,b);},function(a,b){alb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return vVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return yVb(a);},function(a,b){zKb(a,b);},function(a,b){AKb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return xVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return zVb(a);},function(a,b){aLb(a,b);},function(a,b){cLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return AVb(a);},function(a,b){mLb(a,b);},function(a,b){nLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return CVb(a);},function(a,b){sLb(a,b);},function(a,b){tLb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return BVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return DVb(a);},function(a,b){sWb(a,b);},function(a,b){tWb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return EVb(a);},function(a,b){yWb(a,b);},function(a,b){zWb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return FVb(a);},function(a,b){FXb(a,b);},function(a,b){aYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return bWb(a);},function(a,b){fYb(a,b);},function(a,b){gYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn aWb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return cWb(a);},function(a,b){lYb(a,b);},function(a,b){mYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return dWb(a);},function(a,b){rYb(a,b);},function(a,b){sYb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return fWb(a);},function(a,b){xYb(a,b);},function(a,b){yYb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return eWb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return gWb(a);},function(a,b){EYb(a,b);},function(a,b){FYb(a,b);}]};}
-function kUb(){iUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
-function lUb(b){iUb();var a;a=b.Bd();return yb('[B',[618],[(-1)],[a],0);}
-function mUb(a){iUb();return Ak(new zk());}
-function nUb(a){iUb();return new fl();}
-function oUb(a){iUb();return CX(new AX());}
-function pUb(a){iUb();return z0(new DZ());}
-function qUb(a){iUb();return t1(new s1());}
-function rUb(a){iUb();return g2(new f2());}
-function sUb(a){iUb();return new jD();}
-function tUb(a){iUb();return new EH();}
-function uUb(a){iUb();return new aI();}
-function vUb(b){iUb();var a;a=b.Bd();return yb('[Ljava.lang.String;',[605],[1],[a],null);}
-function wUb(a){iUb();return xfb(new vfb());}
-function xUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[622],[24],[a],null);}
-function yUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[615],[18],[a],null);}
-function zUb(a){iUb();return new Agb();}
-function AUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[623],[25],[a],null);}
-function BUb(a){iUb();return chb(new bhb());}
-function CUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[624],[26],[a],null);}
-function DUb(a){iUb();return khb(new jhb());}
-function EUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[625],[27],[a],null);}
-function FUb(a){iUb();return new rhb();}
-function aVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[626],[28],[a],null);}
-function bVb(a){iUb();return zhb(new yhb());}
-function cVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[627],[29],[a],null);}
-function dVb(a){iUb();return bib(new aib());}
-function eVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[628],[30],[a],null);}
-function fVb(a){iUb();return new iib();}
-function gVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[629],[31],[a],null);}
-function hVb(a){iUb();return new qib();}
-function iVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[612],[15],[a],null);}
-function jVb(a){iUb();return new yib();}
-function kVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[611],[14],[a],null);}
-function lVb(a){iUb();return new Eib();}
-function mVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[613],[16],[a],null);}
-function nVb(a){iUb();return new hjb();}
-function oVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[614],[17],[a],null);}
-function pVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[23],[a],null);}
-function qVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[22],[a],null);}
-function rVb(a){iUb();return new vjb();}
-function sVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[21],[a],null);}
-function tVb(a){iUb();return new Cjb();}
-function uVb(a){iUb();return gkb(new ekb());}
-function vVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[630],[32],[a],null);}
-function wVb(a){iUb();return new ykb();}
-function xVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[606],[10],[a],null);}
-function yVb(a){iUb();return new vKb();}
-function zVb(a){iUb();return new CKb();}
-function AVb(a){iUb();return gLb(new eLb());}
-function BVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[616],[19],[a],null);}
-function CVb(a){iUb();return new oLb();}
-function DVb(a){iUb();return new oWb();}
-function EVb(a){iUb();return new uWb();}
-function FVb(a){iUb();return new BXb();}
-function aWb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[607],[11],[a],null);}
-function bWb(a){iUb();return new bYb();}
-function cWb(a){iUb();return new hYb();}
-function dWb(a){iUb();return new nYb();}
-function eWb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[610],[13],[a],null);}
-function fWb(a){iUb();return new tYb();}
-function gWb(a){iUb();return new AYb();}
-function hWb(c,a,d){var b=kWb[d];if(!b){lWb(d);}b[1](c,a);}
-function iWb(b){var a=nWb[b];return a==null?b:a;}
-function jWb(b,c){var a=kWb[c];if(!a){lWb(c);}return a[0](b);}
-function lWb(a){iUb();throw pl(new ol(),a);}
-function mWb(c,a,d){var b=kWb[d];if(!b){lWb(d);}b[2](c,a);}
-function gUb(){}
-_=gUb.prototype=new uT();_.ib=hWb;_.bc=iWb;_.nc=jWb;_.ie=mWb;_.tN=Dfc+'RepositoryService_TypeSerializer';_.tI=483;var kWb,nWb;function oWb(){}
-_=oWb.prototype=new uT();_.tN=Dfc+'RuleAsset';_.tI=484;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function sWb(b,a){a.a=b.zd();a.b=Fb(b.Dd(),39);a.c=b.zd();a.d=Fb(b.Dd(),93);a.e=b.Ed();}
-function tWb(b,a){b.bf(a.a);b.ff(a.b);b.bf(a.c);b.ff(a.d);b.gf(a.e);}
-function uWb(){}
-_=uWb.prototype=new uT();_.tN=Dfc+'RuleContentText';_.tI=485;_.a=null;function yWb(b,a){a.a=b.Ed();}
-function zWb(b,a){b.gf(a.a);}
-function jXb(){jXb=s2;nXb=pXb(new oXb());}
-function gXb(a){jXb();return a;}
-function hXb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.SecurityService');nn(a,'getCurrentUser');ln(a,0);}
-function iXb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.SecurityService');nn(b,'login');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
-function kXb(h,c){var a,d,e,f,g;f=zn(new yn(),nXb);g=no(new lo(),nXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{hXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Dc(d);return;}else throw a;}e=DWb(new CWb(),h,f,c);if(!wg(h.a,uo(g),e))c.Dc(bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lXb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),nXb);h=no(new lo(),nXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{iXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=cXb(new bXb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mXb(b,a){b.a=a;}
-function BWb(){}
-_=BWb.prototype=new uT();_.tN=Dfc+'SecurityService_Proxy';_.tI=486;_.a=null;var nXb;function DWb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FWb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else g.a.Dc(c);}
-function aXb(a){var b;b=x;FWb(this,a);}
-function CWb(){}
-_=CWb.prototype=new uT();_.Ac=aXb;_.tN=Dfc+'SecurityService_Proxy$1';_.tI=487;function cXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function eXb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=yR(new xR(),Dn(g.b));}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)n5(g.a,f);else gcb(g.a,c);}
-function fXb(a){var b;b=x;eXb(this,a);}
-function bXb(){}
-_=bXb.prototype=new uT();_.Ac=fXb;_.tN=Dfc+'SecurityService_Proxy$2';_.tI=488;function qXb(){qXb=s2;xXb=rXb();AXb=sXb();}
-function pXb(a){qXb();return a;}
-function rXb(){qXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return tXb(a);},function(a,b){Ek(a,b);},function(a,b){Fk(a,b);}],'java.lang.String/2004016611':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}]};}
-function sXb(){qXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
-function tXb(a){qXb();return Ak(new zk());}
-function uXb(c,a,d){var b=xXb[d];if(!b){yXb(d);}b[1](c,a);}
-function vXb(b){var a=AXb[b];return a==null?b:a;}
-function wXb(b,c){var a=xXb[c];if(!a){yXb(c);}return a[0](b);}
-function yXb(a){qXb();throw pl(new ol(),a);}
-function zXb(c,a,d){var b=xXb[d];if(!b){yXb(d);}b[2](c,a);}
-function oXb(){}
-_=oXb.prototype=new uT();_.ib=uXb;_.bc=vXb;_.nc=wXb;_.ie=zXb;_.tN=Dfc+'SecurityService_TypeSerializer';_.tI=489;var xXb,AXb;function BXb(){}
-_=BXb.prototype=new fl();_.tN=Dfc+'SessionExpiredException';_.tI=490;function FXb(b,a){jl(b,a);}
-function aYb(b,a){ll(b,a);}
-function bYb(){}
-_=bYb.prototype=new uT();_.tN=Dfc+'SnapshotInfo';_.tI=491;_.a=null;_.b=null;_.c=null;function fYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
-function gYb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
-function hYb(){}
-_=hYb.prototype=new uT();_.tN=Dfc+'TableConfig';_.tI=492;_.a=null;_.b=0;function lYb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Bd();}
-function mYb(b,a){b.ff(a.a);b.df(a.b);}
-function nYb(){}
-_=nYb.prototype=new uT();_.tN=Dfc+'TableDataResult';_.tI=493;_.a=null;function rYb(b,a){a.a=Fb(b.Dd(),94);}
-function sYb(b,a){b.ff(a.a);}
-function zYb(a){return tU(a,'\\,')[0];}
-function tYb(){}
-_=tYb.prototype=new uT();_.tN=Dfc+'TableDataRow';_.tI=494;_.a=null;_.b=null;_.c=null;function xYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=Fb(b.Dd(),63);}
-function yYb(b,a){b.gf(a.a);b.gf(a.b);b.ff(a.c);}
-function AYb(){}
-_=AYb.prototype=new uT();_.tN=Dfc+'ValidatedResponse';_.tI=495;_.a=null;_.b=null;_.c=false;_.d=null;function EYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.zd();a.d=Fb(b.Dd(),39);}
-function FYb(b,a){b.gf(a.a);b.gf(a.b);b.bf(a.c);b.ff(a.d);}
-function o0b(a){a.e=lt(new ft());}
-function p0b(j,b,c,a,f,d,g){var e,h,i;o0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=dz(new hw());i=j.f.r;e=ot(j.e);h=Fz(new Dz());w0b(j,i);aA(h,j.g);if(!g){s0b(j,e,h);}y0b(j,f,e);gr(j,j.e);j.Be('100%');return j;}
-function r0b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
-function s0b(h,e,g){var a,b,c,d,f;d=lcb(new kcb(),'images/edit.gif');d.te('Change status.');fB(d,kZb(new bZb(),h));aA(g,d);h.e.ze(0,0,g);Bw(e,0,0,(oz(),qz),(xz(),Az));f=qp(new kp(),'Save changes');f.te('Check in changes.');f.x(oZb(new nZb(),h));aA(g,f);b=qp(new kp(),'Copy');b.x(sZb(new rZb(),h));aA(g,b);a=qp(new kp(),'Archive');a.x(wZb(new vZb(),h));aA(g,a);if(h.f.v==0){c=qp(new kp(),'Delete');c.x(AZb(new zZb(),h));aA(g,c);}}
-function t0b(b,c){var a;a=C1b(new x1b(),lN(c),mN(c),'Check in changes.');F1b(a,dZb(new cZb(),b,a));a2b(a);}
-function u0b(e,f){var a,b,c,d;a=acb(new Bbb(),'images/rule_asset.gif','Copy this item');b=zK(new kK());c=odb(new jdb());bcb(a,'New name:',b);bcb(a,'New package:',c);d=qp(new kp(),'Create copy');d.x(g0b(new f0b(),e,c,b,a));bcb(a,'',d);lE(a,dc((cab()-gE(a))/2),100);oE(a);}
-function v0b(b,a){b.c=a;}
-function w0b(b,a){hz(b.g,'Status: <b>['+a+']<\/b>');}
-function x0b(b,c){var a;a=ieb(new sdb(),b.h,false);leb(a,hZb(new gZb(),b,a));lE(a,lN(c),mN(c));oE(a);}
-function y0b(e,d,b){var a,c,f;f=Fz(new Dz());c=lcb(new kcb(),'images/max_min.gif');fB(c,EZb(new DZb(),e,d));aA(f,c);a=lcb(new kcb(),'images/close.gif');a.te('Close.');fB(a,c0b(new b0b(),e));aA(f,a);e.e.ze(0,1,f);Bw(b,0,1,(oz(),rz),(xz(),Az));}
-function aZb(){}
-_=aZb.prototype=new er();_.tN=Efc+'ActionToolbar';_.tI=496;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function kZb(b,a){b.a=a;return b;}
-function mZb(a){x0b(this.a,a);}
-function bZb(){}
-_=bZb.prototype=new uT();_.zc=mZb;_.tN=Efc+'ActionToolbar$1';_.tI=497;function dZb(b,a,c){b.a=a;b.b=c;return b;}
-function fZb(){this.a.f.b=E1b(this.b);e9b(this.a.b);}
-function cZb(){}
-_=cZb.prototype=new uT();_.pb=fZb;_.tN=Efc+'ActionToolbar$10';_.tI=498;function hZb(b,a,c){b.a=a;b.b=c;return b;}
-function jZb(){w0b(this.a,this.b.c);}
-function gZb(){}
-_=gZb.prototype=new uT();_.pb=jZb;_.tN=Efc+'ActionToolbar$11';_.tI=499;function oZb(b,a){b.a=a;return b;}
-function qZb(a){t0b(this.a,a);}
-function nZb(){}
-_=nZb.prototype=new uT();_.zc=qZb;_.tN=Efc+'ActionToolbar$2';_.tI=500;function sZb(b,a){b.a=a;return b;}
-function uZb(a){u0b(this.a,a);}
-function rZb(){}
-_=rZb.prototype=new uT();_.zc=uZb;_.tN=Efc+'ActionToolbar$3';_.tI=501;function wZb(b,a){b.a=a;return b;}
-function yZb(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+qZ(iZ(new hZ()));j9b(this.a.a);}}
-function vZb(){}
-_=vZb.prototype=new uT();_.zc=yZb;_.tN=Efc+'ActionToolbar$4';_.tI=502;function AZb(b,a){b.a=a;return b;}
-function CZb(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){t9b(this.a.d);}}
-function zZb(){}
-_=zZb.prototype=new uT();_.zc=CZb;_.tN=Efc+'ActionToolbar$5';_.tI=503;function EZb(b,a,c){b.a=c;return b;}
-function a0b(a){o9b(this.a);}
-function DZb(){}
-_=DZb.prototype=new uT();_.zc=a0b;_.tN=Efc+'ActionToolbar$6';_.tI=504;function c0b(b,a){b.a=a;return b;}
-function e0b(a){D9b(this.a.c);}
-function b0b(){}
-_=b0b.prototype=new uT();_.zc=e0b;_.tN=Efc+'ActionToolbar$7';_.tI=505;function g0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
-function i0b(a){hTb(BLb(),this.a.h,qdb(this.d),rK(this.c),k0b(new j0b(),this,this.c,this.d,this.b));}
-function f0b(){}
-_=f0b.prototype=new uT();_.zc=i0b;_.tN=Efc+'ActionToolbar$8';_.tI=506;function k0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
-function m0b(b,a){r0b(b.a.a,rK(b.c),qdb(b.d));b.b.lc();}
-function n0b(a){m0b(this,a);}
-function j0b(){}
-_=j0b.prototype=new ecb();_.pd=n0b;_.tN=Efc+'ActionToolbar$9';_.tI=507;function o1b(a){a.b=hab(new fab());}
-function p1b(c,a,b){o1b(c);c.a=a;c.c=lt(new ft());u1b(c,c.c);uN(c.c,'rule-List');kab(c.b,0,0,c.c);if(!b){s1b(c);}gr(c,c.b);return c;}
-function q1b(b,a){hLb(b.a,a);w1b(b);}
-function s1b(c){var a,b;a=hO(new fO());b=lcb(new kcb(),'images/new_item.gif');b.te('Add a new category.');fB(b,d1b(new c1b(),c));iO(a,b);kab(c.b,0,1,a);}
-function t1b(b){var a;a=m1b(new k1b(),b);lE(a,lN(b),mN(b));oE(a);}
-function u1b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;yy(d,b,0,e.a.a[b]);a=lcb(new kcb(),'images/trash.gif');a.te('Remove this category');fB(a,h1b(new g1b(),e,c));d.ze(b,1,a);}}
-function v1b(b,a){jLb(b.a,a);aab(b);w1b(b);}
-function w1b(a){a.c=lt(new ft());uN(a.c,'rule-List');kab(a.b,0,0,a.c);u1b(a,a.c);aab(a);}
-function z0b(){}
-_=z0b.prototype=new E_();_.tN=Efc+'AssetCategoryEditor';_.tI=508;_.a=null;_.c=null;function B0b(b,a){b.a=a;return b;}
-function D0b(a){this.a.b=a;}
-function A0b(){}
-_=A0b.prototype=new uT();_.he=D0b;_.tN=Efc+'AssetCategoryEditor$1';_.tI=509;function F0b(b,a){b.a=a;return b;}
-function b1b(a){if(this.a.b!==null&& !nU('',this.a.b)){q1b(this.a.d,this.a.b);}this.a.lc();}
-function E0b(){}
-_=E0b.prototype=new uT();_.zc=b1b;_.tN=Efc+'AssetCategoryEditor$2';_.tI=510;function d1b(b,a){b.a=a;return b;}
-function f1b(a){t1b(this.a);}
-function c1b(){}
-_=c1b.prototype=new uT();_.zc=f1b;_.tN=Efc+'AssetCategoryEditor$3';_.tI=511;function h1b(b,a,c){b.a=a;b.b=c;return b;}
-function j1b(a){v1b(this.a,this.b);}
-function g1b(){}
-_=g1b.prototype=new uT();_.zc=j1b;_.tN=Efc+'AssetCategoryEditor$4';_.tI=512;function n1b(){n1b=s2;eE();}
-function l1b(a){a.a=qp(new kp(),'OK');}
-function m1b(b,a){var c;n1b();b.d=a;bE(b,true);l1b(b);c=hO(new fO());b.c=s$(new b$(),B0b(new A0b(),b));uN(b,'ks-popups-Popup');iO(c,b.c);iO(c,b.a);CG(b,c);b.a.x(F0b(new E0b(),b));return b;}
-function k1b(){}
-_=k1b.prototype=new FD();_.tN=Efc+'AssetCategoryEditor$CategorySelector';_.tI=513;_.b=null;_.c=null;function C1b(c,a,d,b){c.b=acb(new Bbb(),'images/checkin.gif',b);c.a=eK(new dK());c.a.Be('100%');c.c=qp(new kp(),'Save');bcb(c.b,'Comment',c.a);bcb(c.b,'',c.c);uN(c.b,'ks-popups-Popup');lE(c.b,a,d);return c;}
-function E1b(a){return rK(a.a);}
-function F1b(b,a){b.c.x(z1b(new y1b(),b,a));}
-function a2b(a){lE(a.b,dc((cab()-gE(a.b))/2),100);oE(a.b);}
-function x1b(){}
-_=x1b.prototype=new uT();_.tN=Efc+'CheckinPopup';_.tI=514;_.a=null;_.b=null;_.c=null;function z1b(b,a,c){b.a=a;b.b=c;return b;}
-function B1b(a){this.b.pb();this.a.b.lc();}
-function y1b(){}
-_=y1b.prototype=new uT();_.zc=B1b;_.tN=Efc+'CheckinPopup$1';_.tI=515;function x2b(){x2b=s2;eE();}
-function v2b(g,f,e){var a,b,c,d;x2b();bE(g,true);g.d=f;g.b=zK(new kK());g.b.Be('100%');b='<enter text to filter list>';vK(g.b,'<enter text to filter list>');gu(g.b,d2b(new c2b(),g));oK(g.b,i2b(new h2b(),g,e));g.b.oe(true);d=hO(new fO());iO(d,g.b);g.c=mC(new eC());CC(g.c,5);z2b(g,u4b(g.d,''));iO(d,g.c);c=qp(new kp(),'ok');c.x(o2b(new n2b(),g,e));a=qp(new kp(),'cancel');a.x(s2b(new r2b(),g));g.a=Fz(new Dz());aA(g.a,c);aA(g.a,a);iO(d,g.a);CG(g,d);uN(g,'ks-popups-Popup');return g;}
-function w2b(b,a){n3b(a,y2b(b));b.lc();}
-function y2b(a){return vC(a.c,wC(a.c));}
-function z2b(c,a){var b;sC(c.c);for(b=0;b<a.b;b++){pC(c.c,Fb(dY(a,b),14).a);}}
-function b2b(){}
-_=b2b.prototype=new FD();_.tN=Efc+'ChoiceList';_.tI=516;_.a=null;_.b=null;_.c=null;_.d=null;function d2b(b,a){b.a=a;return b;}
-function f2b(a){vK(this.a.b,'');}
-function g2b(a){vK(this.a.b,'<enter text to filter list>');}
-function c2b(){}
-_=c2b.prototype=new uT();_.Ec=f2b;_.gd=g2b;_.tN=Efc+'ChoiceList$1';_.tI=517;function i2b(b,a,c){b.a=a;b.b=c;return b;}
-function k2b(a,b,c){}
-function l2b(a,b,c){}
-function m2b(a,b,c){if(b==13){w2b(this.a,this.b);}else{z2b(this.a,u4b(this.a.d,rK(this.a.b)));}}
-function h2b(){}
-_=h2b.prototype=new uT();_.cd=k2b;_.dd=l2b;_.ed=m2b;_.tN=Efc+'ChoiceList$2';_.tI=518;function o2b(b,a,c){b.a=a;b.b=c;return b;}
-function q2b(a){w2b(this.a,this.b);}
-function n2b(){}
-_=n2b.prototype=new uT();_.zc=q2b;_.tN=Efc+'ChoiceList$3';_.tI=519;function s2b(b,a){b.a=a;return b;}
-function u2b(a){this.a.lc();}
-function r2b(){}
-_=r2b.prototype=new uT();_.zc=u2b;_.tN=Efc+'ChoiceList$4';_.tI=520;function l3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=eK(new dK());jK(i.d,10);vK(i.d,i.c.a);i.d.te('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=rKb((pKb(),uKb),a.d.o);i.a=c.a;i.b=c.b;uN(i.d,'dsl-text-Editor');d=lt(new ft());d.ze(0,0,i.d);nK(i.d,C2b(new B2b(),i));oK(i.d,a3b(new F2b(),i));j=hO(new fO());e=lcb(new kcb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.te('Add a new condition');fB(e,e3b(new d3b(),i));h=lcb(new kcb(),'images/new_dsl_action.gif');g='Add an action';h.te('Add an action');fB(h,i3b(new h3b(),i));iO(j,e);iO(j,h);d.ze(0,1,j);bx(d.n,0,0,'95%');bx(d.n,0,1,'5%');d.Be('100%');d.qe('100%');gr(i,d);return i;}
-function n3b(e,b){var a,c,d;a=gK(e.d);c=xU(rK(e.d),0,a);d=xU(rK(e.d),a,rU(rK(e.d)));vK(e.d,c+b+d);e.c.a=rK(e.d);}
-function o3b(b){var a;a=xU(rK(b.d),0,gK(b.d));if(pU(a,'then')>(-1)){p3b(b,b.a);}else{p3b(b,b.b);}}
-function p3b(c,b){var a;a=v2b(new b2b(),b,c);lE(a,lN(c.d)+20,mN(c.d)+20);oE(a);}
-function A2b(){}
-_=A2b.prototype=new E_();_.tN=Efc+'DSLRuleEditor';_.tI=521;_.a=null;_.b=null;_.c=null;_.d=null;function C2b(b,a){b.a=a;return b;}
-function E2b(a){this.a.c.a=rK(this.a.d);aab(this.a);}
-function B2b(){}
-_=B2b.prototype=new uT();_.yc=E2b;_.tN=Efc+'DSLRuleEditor$1';_.tI=522;function a3b(b,a){b.a=a;return b;}
-function c3b(a,b,c){if(b==32&&c==2){o3b(this.a);}if(b==9){n3b(this.a,'\t');sK(this.a.d,gK(this.a.d)+1);pK(this.a.d);}}
-function F2b(){}
-_=F2b.prototype=new mB();_.cd=c3b;_.tN=Efc+'DSLRuleEditor$2';_.tI=523;function e3b(b,a){b.a=a;return b;}
-function g3b(a){p3b(this.a,this.a.b);}
-function d3b(){}
-_=d3b.prototype=new uT();_.zc=g3b;_.tN=Efc+'DSLRuleEditor$3';_.tI=524;function i3b(b,a){b.a=a;return b;}
-function k3b(a){p3b(this.a,this.a.a);}
-function h3b(){}
-_=h3b.prototype=new uT();_.zc=k3b;_.tN=Efc+'DSLRuleEditor$4';_.tI=525;function z3b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=eK(new dK());jK(b.c,10);vK(b.c,b.b.a);uN(b.c,'default-text-Area');nK(b.c,s3b(new r3b(),b));oK(b.c,w3b(new v3b(),b));gr(b,b.c);return b;}
-function B3b(e,b){var a,c,d;a=gK(e.c);c=xU(rK(e.c),0,a);d=xU(rK(e.c),a,rU(rK(e.c)));vK(e.c,c+b+d);e.b.a=rK(e.c);}
-function q3b(){}
-_=q3b.prototype=new E_();_.tN=Efc+'DefaultRuleContentWidget';_.tI=526;_.a=null;_.b=null;_.c=null;function s3b(b,a){b.a=a;return b;}
-function u3b(a){this.a.b.a=rK(this.a.c);aab(this.a);}
-function r3b(){}
-_=r3b.prototype=new uT();_.yc=u3b;_.tN=Efc+'DefaultRuleContentWidget$1';_.tI=527;function w3b(b,a){b.a=a;return b;}
-function y3b(a,b,c){if(b==9){B3b(this.a,'\t');sK(this.a.c,gK(this.a.c)+1);pK(this.a.c);}}
-function v3b(){}
-_=v3b.prototype=new mB();_.cd=y3b;_.tN=Efc+'DefaultRuleContentWidget$2';_.tI=528;function l4b(){l4b=s2;m4b=p4b();}
-function n4b(a){l4b();var b;b=Fb(F0(m4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
-function o4b(a,b){l4b();if(nU(a.d.k,'brl')){return m8b(new z7b(),cwb(new Dtb(),a),a);}else if(nU(a.d.k,'dslr')){return m8b(new z7b(),l3b(new A2b(),a),a);}else if(nU(a.d.k,'jar')){return Dxb(new Cxb(),a,b);}else if(nU(a.d.k,'xls')){return m8b(new z7b(),hfb(new gfb(),a,b),a);}else if(nU(a.d.k,'rf')){return v7b(new u7b(),a,b);}else if(nU(a.d.k,'drl')){return m8b(new z7b(),z3b(new q3b(),a),a);}else if(nU(a.d.k,'enumeration')){return m8b(new z7b(),z3b(new q3b(),a),a);}else{return z3b(new q3b(),a);}}
-function p4b(){l4b();var a;a=z0(new DZ());a1(a,'drl','technical_rule_assets.gif');a1(a,'dsl','dsl.gif');a1(a,'function','function_assets.gif');a1(a,'jar','model_asset.gif');a1(a,'xls','spreadsheet_small.gif');a1(a,'brl','business_rule.gif');a1(a,'dslr','business_rule.gif');a1(a,'rf','ruleflow_small.gif');return a;}
-function q4b(d,f,g,e,a){l4b();var b,c,h;h=m$b(new u8b(),a,e);b=a.d.n;if(rU(b)>10){b=xU(b,0,7)+'...';}c=n4b(a.d.k);tJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(CY(),DY)){a1(d,g,h);}v$b(h,h4b(new g4b(),f,h,d,g));zJ(f,vJ(f,h));}
-function r4b(b,d,e,c){l4b();var a;if(C0(b,e)){if(vJ(d,Fb(F0(b,e),20))==(-1)){a=ac(wJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{zJ(d,vJ(d,Fb(F0(b,e),20)));}bdb();return;}yTb(BLb(),e,E3b(new D3b(),b,d,e,c));}
-var m4b;function E3b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
-function a4b(c){var a,b;a=Fb(c,97);b=(pKb(),uKb);qKb(b,a.d.o,c4b(new b4b(),this,this.a,this.c,this.d,this.b,a));}
-function D3b(){}
-_=D3b.prototype=new ecb();_.pd=a4b;_.tN=Efc+'EditorLauncher$1';_.tI=529;function c4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
-function e4b(a){q4b(a.b,a.d,a.e,a.c,a.a);}
-function f4b(){e4b(this);}
-function b4b(){}
-_=b4b.prototype=new uT();_.pb=f4b;_.tN=Efc+'EditorLauncher$2';_.tI=530;function h4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
-function j4b(a){yJ(a.b,vJ(a.b,a.d));zJ(a.b,0);if(a.a!==(CY(),DY)){b1(a.a,a.c);}}
-function k4b(){j4b(this);}
-function g4b(){}
-_=g4b.prototype=new uT();_.pb=k4b;_.tN=Efc+'EditorLauncher$3';_.tI=531;function u4b(e,a){var b,c,d;b=CX(new AX());for(c=0;c<e.a;c++){d=e[c];if(nU(a,'')||vU(d.a,a)){EX(b,d);}}return b;}
-function j6b(e,a,c,f,d){var b;qbb(e);uN(e,'metadata-Widget');if(!c){b=mcb(new kcb(),'images/edit.gif','Rename this asset');fB(b,a5b(new w4b(),e));ubb(e,'images/meta_data.png',a.n,b);}else{tbb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;o6b(e,a);return e;}
-function k6b(a){a.b=p1b(new z0b(),a.a,a.c);return a.b;}
-function m6b(d,a,e){var b,c;if(!d.c){b=zK(new kK());b.te(e);vK(b,a.ec());c=D4b(new C4b(),d,a,b);nK(b,c);return b;}else{return CB(new AB(),a.ec());}}
-function n6b(a){if(a.a.v==0){return ez(new hw(),'<i>Not checked in yet<\/i>');}else{return r6b(a,aT(a.a.v));}}
-function o6b(b,a){b.a=a;sbb(b,'Categories:',k6b(b));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Modified on:',q6b(b,b.a.m));sbb(b,'by:',r6b(b,b.a.l));sbb(b,'Note:',r6b(b,b.a.b));sbb(b,'Version:',n6b(b));if(!b.c){sbb(b,'Created on:',q6b(b,b.a.d));}sbb(b,'Created by:',r6b(b,b.a.e));sbb(b,'Format:',ez(new hw(),'<b>'+b.a.k+'<\/b>'));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Package:',p6b(b,b.a.o));sbb(b,'Subject:',m6b(b,e5b(new d5b(),b),'A short description of the subject matter.'));sbb(b,'Type:',m6b(b,j5b(new i5b(),b),'This is for classification purposes.'));sbb(b,'External link:',m6b(b,o5b(new n5b(),b),'This is for relating the asset to an external system.'));sbb(b,'Source:',m6b(b,t5b(new s5b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){vbb(b,q_b(new x$b(),b.e,b.a,b.d));}}
-function p6b(d,c){var a,b;if(d.c){return r6b(d,c);}else{b=Fz(new Dz());uN(b,'metadata-Widget');aA(b,r6b(d,c));a=lcb(new kcb(),'images/edit.gif');fB(a,y5b(new x5b(),d,c));aA(b,a);return b;}}
-function q6b(b,a){if(a===null){return null;}else{return CB(new AB(),pZ(a));}}
-function r6b(c,b){var a;a=CB(new AB(),b);a.Be('100%');return a;}
-function s6b(f,b,e){var a,c,d;c=acb(new Bbb(),'images/package_large.png','Move this item to another package');bcb(c,'Current package:',CB(new AB(),b));d=odb(new jdb());bcb(c,'New package:',d);a=qp(new kp(),'Change package');bcb(c,'',a);a.x(f6b(new e6b(),f,d,b,c));lE(c,lN(e.v.v),mN(e.v.v));oE(c);}
-function t6b(e,d){var a,b,c;c=acb(new Bbb(),'images/package_large.png','Rename this item');a=zK(new kK());bcb(c,'New name',a);b=qp(new kp(),'Rename item');bcb(c,'',b);b.x(C5b(new B5b(),e,a,c));lE(c,lN(d.v.v)-18,mN(d.v.v));oE(c);}
-function u6b(){return this.b.pc()||this.j;}
-function v4b(){}
-_=v4b.prototype=new obb();_.pc=u6b;_.tN=Efc+'MetaDataWidget';_.tI=532;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function a5b(b,a){b.a=a;return b;}
-function c5b(a){t6b(this.a,a);}
-function w4b(){}
-_=w4b.prototype=new uT();_.zc=c5b;_.tN=Efc+'MetaDataWidget$1';_.tI=533;function y4b(b,a,c){b.a=a;b.b=c;return b;}
-function A4b(b,a){aab(b.a.a);y9b(b.a.a.d);b.b.lc();}
-function B4b(a){A4b(this,a);}
-function x4b(){}
-_=x4b.prototype=new ecb();_.pd=B4b;_.tN=Efc+'MetaDataWidget$10';_.tI=534;function D4b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function F4b(a){aab(this.a);this.b.xe(rK(this.c));}
-function C4b(){}
-_=C4b.prototype=new uT();_.yc=F4b;_.tN=Efc+'MetaDataWidget$11';_.tI=535;function e5b(b,a){b.a=a;return b;}
-function g5b(){return this.a.a.s;}
-function h5b(a){this.a.a.s=a;}
-function d5b(){}
-_=d5b.prototype=new uT();_.ec=g5b;_.xe=h5b;_.tN=Efc+'MetaDataWidget$2';_.tI=536;function j5b(b,a){b.a=a;return b;}
-function l5b(){return this.a.a.u;}
-function m5b(a){this.a.a.u=a;}
-function i5b(){}
-_=i5b.prototype=new uT();_.ec=l5b;_.xe=m5b;_.tN=Efc+'MetaDataWidget$3';_.tI=537;function o5b(b,a){b.a=a;return b;}
-function q5b(){return this.a.a.i;}
-function r5b(a){this.a.a.i=a;}
-function n5b(){}
-_=n5b.prototype=new uT();_.ec=q5b;_.xe=r5b;_.tN=Efc+'MetaDataWidget$4';_.tI=538;function t5b(b,a){b.a=a;return b;}
-function v5b(){return this.a.a.j;}
-function w5b(a){this.a.a.j=a;}
-function s5b(){}
-_=s5b.prototype=new uT();_.ec=v5b;_.xe=w5b;_.tN=Efc+'MetaDataWidget$5';_.tI=539;function y5b(b,a,c){b.a=a;b.b=c;return b;}
-function A5b(a){s6b(this.a,this.b,a);}
-function x5b(){}
-_=x5b.prototype=new uT();_.zc=A5b;_.tN=Efc+'MetaDataWidget$6';_.tI=540;function C5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function E5b(a){aUb(BLb(),this.a.e,rK(this.b),a6b(new F5b(),this,this.c));}
-function B5b(){}
-_=B5b.prototype=new uT();_.zc=E5b;_.tN=Efc+'MetaDataWidget$7';_.tI=541;function a6b(b,a,c){b.a=a;b.b=c;return b;}
-function c6b(b,a){y9b(b.a.a.d);zh('Item has been renamed');b.b.lc();}
-function d6b(a){c6b(this,a);}
-function F5b(){}
-_=F5b.prototype=new ecb();_.pd=d6b;_.tN=Efc+'MetaDataWidget$8';_.tI=542;function f6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function h6b(a){if(nU(qdb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}dTb(BLb(),this.a.e,qdb(this.d),'Moved from : '+this.b,y4b(new x4b(),this,this.c));}
-function e6b(){}
-_=e6b.prototype=new uT();_.zc=h6b;_.tN=Efc+'MetaDataWidget$9';_.tI=543;function g7b(){g7b=s2;dcb();}
-function d7b(a){a.f=zK(new kK());a.b=eK(new dK());a.d=i7b(a);a.g=odb(new jdb());}
-function e7b(e,a,d,b,f){var c;g7b();acb(e,'images/new_wiz.gif',f);d7b(e);e.h=d;e.c=b;e.a=a;bcb(e,'Name:',e.f);if(d){bcb(e,'Initial category:',h7b(e));}if(b===null){bcb(e,'Type (format) of rule:',e.d);}bcb(e,'Package:',e.g);jK(e.b,4);e.b.Be('100%');bcb(e,'Initial description:',e.b);c=qp(new kp(),'OK');c.x(x6b(new w6b(),e));bcb(e,'',c);uN(e,'ks-popups-Popup');return e;}
-function f7b(e,b,d,c,f,a){g7b();e7b(e,b,d,c,f);rdb(e.g,a);return e;}
-function h7b(a){return s$(new b$(),B6b(new A6b(),a));}
-function j7b(a){if(a.c!==null)return a.c;return xC(a.d,wC(a.d));}
-function i7b(b){var a;a=mC(new eC());qC(a,'Business rule (using guided editor)','brl');qC(a,'DRL rule (technical rule - text editor)','drl');qC(a,'Business rule using a DSL (text editor)','dslr');qC(a,'Decision table (spreadsheet)','xls');BC(a,0);return a;}
-function k7b(b){var a;if(b.h&&b.e===null){Aeb('You have to pick an initial category.',lN(b),mN(b));return;}else if(rK(b.f)===null||nU('',rK(b.f))){Aeb('Rule must have a name',lN(b),mN(b));return;}a=F6b(new E6b(),b);fdb('Please wait ...');lTb(BLb(),rK(b.f),rK(b.b),b.e,qdb(b.g),j7b(b),a);}
-function l7b(a,b){a.a.wd(b);}
-function v6b(){}
-_=v6b.prototype=new Bbb();_.tN=Efc+'NewAssetWizard';_.tI=544;_.a=null;_.c=null;_.e=null;_.h=false;function x6b(b,a){b.a=a;return b;}
-function z6b(a){k7b(this.a);}
-function w6b(){}
-_=w6b.prototype=new uT();_.zc=z6b;_.tN=Efc+'NewAssetWizard$1';_.tI=545;function B6b(b,a){b.a=a;return b;}
-function D6b(a){this.a.e=a;}
-function A6b(){}
-_=A6b.prototype=new uT();_.he=D6b;_.tN=Efc+'NewAssetWizard$2';_.tI=546;function F6b(b,a){b.a=a;return b;}
-function b7b(b,a){var c;c=Fb(a,1);if(vU(c,'DUPLICATE')){bdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{l7b(b.a,Fb(a,1));b.a.lc();}}
-function c7b(a){b7b(this,a);}
-function E6b(){}
-_=E6b.prototype=new ecb();_.pd=c7b;_.tN=Efc+'NewAssetWizard$3';_.tI=547;function r7b(b,a){b.a=eK(new dK());b.a.Be('100%');jK(b.a,10);uN(b.a,'rule-viewer-Documentation');b.a.te('This is rule documentation. Human friendly descriptions of the business logic.');gr(b,b.a);t7b(b,a);return b;}
-function t7b(b,a){vK(b.a,a.h);nK(b.a,o7b(new n7b(),b,a));if(a.h===null||nU('',a.h)){vK(b.a,'<documentation>');}}
-function m7b(){}
-_=m7b.prototype=new E_();_.tN=Efc+'RuleDocumentWidget';_.tI=548;_.a=null;function o7b(b,a,c){b.a=a;b.b=c;return b;}
-function q7b(a){this.b.h=rK(this.a.a);aab(this.a);}
-function n7b(){}
-_=n7b.prototype=new uT();_.yc=q7b;_.tN=Efc+'RuleDocumentWidget$1';_.tI=549;function v7b(b,a,c){fxb(b,a,c);gxb(b,ez(new hw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
-function x7b(){return 'images/ruleflow_large.png';}
-function y7b(){return 'decision-Table-upload';}
-function u7b(){}
-_=u7b.prototype=new xwb();_.vb=x7b;_.Eb=y7b;_.tN=Efc+'RuleFlowUploadWidget';_.tI=550;function m8b(c,b,a){c.a=a;c.b=hab(new fab());uN(c.b,'asset-editor-Layout');kab(c.b,0,0,b);if(!a.c)kab(c.b,1,0,s8b(c));Bw(c.b.n,1,0,(oz(),rz),(xz(),Az));c.b.Be('100%');c.b.qe('100%');gr(c,c.b);return c;}
-function o8b(a){fdb('Validating item, please wait...');aTb(BLb(),a.a,d8b(new c8b(),a));}
-function p8b(a){fdb('Calculating source...');FSb(BLb(),a.a,i8b(new h8b(),a));}
-function q8b(h,e){var a,b,c,d,f,g;c=acb(new Bbb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){ccb(c,ez(new hw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=lt(new ft());uN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ze(f,0,eB(new oA(),'images/error.gif'));if(nU(d.a,'package')){yy(a,f,1,'[package configuration problem] '+d.c);}else{yy(a,f,1,d.c);}}g=oG(new mG(),a);g.Be('100%');ccb(c,g);}lE(c,100,100);oE(c);bdb();}
-function r8b(b,a){eBb(a,b.a.d.n);bdb();}
-function s8b(b){var a,c,d;a=Fz(new Dz());d=qp(new kp(),'View source');aA(a,d);c=qp(new kp(),'Validate');aA(a,c);d.x(B7b(new A7b(),b));c.x(F7b(new E7b(),b));uN(a,'asset-validator-Buttons');return a;}
-function t8b(){return jab(this.b);}
-function z7b(){}
-_=z7b.prototype=new E_();_.pc=t8b;_.tN=Efc+'RuleValidatorWrapper';_.tI=551;_.a=null;_.b=null;function B7b(b,a){b.a=a;return b;}
-function D7b(a){p8b(this.a);}
-function A7b(){}
-_=A7b.prototype=new uT();_.zc=D7b;_.tN=Efc+'RuleValidatorWrapper$1';_.tI=552;function F7b(b,a){b.a=a;return b;}
-function b8b(a){o8b(this.a);}
-function E7b(){}
-_=E7b.prototype=new uT();_.zc=b8b;_.tN=Efc+'RuleValidatorWrapper$2';_.tI=553;function d8b(b,a){b.a=a;return b;}
-function f8b(c,a){var b;b=Fb(a,88);q8b(c.a,b);}
-function g8b(a){f8b(this,a);}
-function c8b(){}
-_=c8b.prototype=new ecb();_.pd=g8b;_.tN=Efc+'RuleValidatorWrapper$3';_.tI=554;function i8b(b,a){b.a=a;return b;}
-function k8b(c,a){var b;b=Fb(a,1);r8b(c.a,b);}
-function l8b(a){k8b(this,a);}
-function h8b(){}
-_=h8b.prototype=new ecb();_.pd=l8b;_.tN=Efc+'RuleValidatorWrapper$4';_.tI=555;function m$b(c,a,b){c.a=a;c.g=b;c.e=hab(new fab());s$b(c);gr(c,c.e);bdb();return c;}
-function o$b(a){a.a.a=true;p$b(a);j4b(a.b);}
-function p$b(a){by(a.e);fdb('Saving, please wait...');fTb(BLb(),a.a,f$b(new e$b(),a));}
-function q$b(e){var a,b,c,d;d=acb(new Bbb(),'images/warning-large.png','WARNING: Un-committed changes.');b=qp(new kp(),'Discard');a=qp(new kp(),'Cancel');c=Fz(new Dz());aA(c,b);aA(c,a);ccb(d,ez(new hw(),'Are you sure you want to discard changes?'));ccb(d,c);b.x(B8b(new A8b(),e,d));a.x(F8b(new E8b(),e,d));uN(d,'warning-Popup');lE(d,dc((cab()-gE(d))/2),100);oE(d);}
-function r$b(a){pTb(BLb(),a.a.e,a.a.d.o,a$b(new F9b(),a));}
-function s$b(b){var a;by(b.e);a=ot(b.e);b.h=p0b(new aZb(),b.a,c9b(new v8b(),b),h9b(new g9b(),b),m9b(new l9b(),b),r9b(new q9b(),b),b.g);kab(b.e,0,0,b.h);Bw(a,0,0,(oz(),rz),(xz(),Az));b.f=j6b(new v4b(),b.a.d,b.g,b.a.e,w9b(new v9b(),b));kab(b.e,0,1,b.f);kt(a,0,1,3);Fw(a,0,1,(xz(),Az));bx(a,0,1,'30%');b.d=o4b(b.a,b);v0b(b.h,B9b(new A9b(),b));kab(b.e,1,0,b.d);Fw(a,1,0,(xz(),Az));b.c=r7b(new m7b(),b.a.d);kab(b.e,2,0,b.c);Fw(a,2,0,(xz(),Az));}
-function t$b(a){if(c_(a.a.d.k)){fdb('Refreshing content assistance...');tKb((pKb(),uKb),a.a.d.o,new j$b());}}
-function u$b(a){yTb(BLb(),a.a.e,x8b(new w8b(),a));}
-function v$b(b,a){b.b=a;}
-function w$b(a){var b;b= !zw(ot(a.e),2,0);ax(ot(a.e),0,1,b);ax(ot(a.e),2,0,b);}
-function u8b(){}
-_=u8b.prototype=new er();_.tN=Efc+'RuleViewer';_.tI=556;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function c9b(b,a){b.a=a;return b;}
-function e9b(a){p$b(a.a);}
-function f9b(){e9b(this);}
-function v8b(){}
-_=v8b.prototype=new uT();_.pb=f9b;_.tN=Efc+'RuleViewer$1';_.tI=557;function x8b(b,a){b.a=a;return b;}
-function z8b(a){this.a.a=Fb(a,97);s$b(this.a);bdb();}
-function w8b(){}
-_=w8b.prototype=new ecb();_.pd=z8b;_.tN=Efc+'RuleViewer$10';_.tI=558;function B8b(b,a,c){b.a=a;b.b=c;return b;}
-function D8b(a){j4b(this.a.b);this.b.lc();}
-function A8b(){}
-_=A8b.prototype=new uT();_.zc=D8b;_.tN=Efc+'RuleViewer$11';_.tI=559;function F8b(b,a,c){b.a=c;return b;}
-function b9b(a){this.a.lc();}
-function E8b(){}
-_=E8b.prototype=new uT();_.zc=b9b;_.tN=Efc+'RuleViewer$12';_.tI=560;function h9b(b,a){b.a=a;return b;}
-function j9b(a){o$b(a.a);}
-function k9b(){j9b(this);}
-function g9b(){}
-_=g9b.prototype=new uT();_.pb=k9b;_.tN=Efc+'RuleViewer$2';_.tI=561;function m9b(b,a){b.a=a;return b;}
-function o9b(a){w$b(a.a);}
-function p9b(){o9b(this);}
-function l9b(){}
-_=l9b.prototype=new uT();_.pb=p9b;_.tN=Efc+'RuleViewer$3';_.tI=562;function r9b(b,a){b.a=a;return b;}
-function t9b(a){r$b(a.a);}
-function u9b(){t9b(this);}
-function q9b(){}
-_=q9b.prototype=new uT();_.pb=u9b;_.tN=Efc+'RuleViewer$4';_.tI=563;function w9b(b,a){b.a=a;return b;}
-function y9b(a){u$b(a.a);}
-function z9b(){y9b(this);}
-function v9b(){}
-_=v9b.prototype=new uT();_.pb=z9b;_.tN=Efc+'RuleViewer$5';_.tI=564;function B9b(b,a){b.a=a;return b;}
-function D9b(a){if(jab(a.a.e)){q$b(a.a);}else{j4b(a.a.b);}}
-function E9b(){D9b(this);}
-function A9b(){}
-_=A9b.prototype=new uT();_.pb=E9b;_.tN=Efc+'RuleViewer$6';_.tI=565;function a$b(b,a){b.a=a;return b;}
-function c$b(b,a){j4b(b.a.b);}
-function d$b(a){c$b(this,a);}
-function F9b(){}
-_=F9b.prototype=new ecb();_.pd=d$b;_.tN=Efc+'RuleViewer$7';_.tI=566;function f$b(b,a){b.a=a;return b;}
-function h$b(b,a){var c;t$b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){bab(Fb(b.a.d,98));}bab(b.a.f);bab(b.a.c);if(c===null){gbb('Failed to check in the item. Please contact your system administrator.');return;}u$b(b.a);}
-function i$b(a){h$b(this,a);}
-function e$b(){}
-_=e$b.prototype=new ecb();_.pd=i$b;_.tN=Efc+'RuleViewer$8';_.tI=567;function l$b(){bdb();}
-function j$b(){}
-_=j$b.prototype=new uT();_.pb=l$b;_.tN=Efc+'RuleViewer$9';_.tI=568;function q_b(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=Fz(new Dz());d.a=lt(new ft());d.a.ze(0,0,CB(new AB(),'Version history'));Ew(d.a.n,0,0,'metadata-Widget');b=ot(d.a);Dw(b,0,0,(oz(),qz));d.c=lcb(new kcb(),'images/refresh.gif');fB(d.c,z$b(new y$b(),d));d.a.ze(0,1,d.c);Dw(b,0,1,(oz(),rz));uN(f,'version-browser-Border');aA(f,d.a);d.a.Be('100%');f.Be('100%');gr(d,f);return d;}
-function r_b(a){v_b(a);fg(D$b(new C$b(),a));}
-function t_b(b,a){return k_b(new j_b(),b,a);}
-function u_b(a){vTb(BLb(),a.e,b_b(new a_b(),a));}
-function v_b(a){jB(a.c,'images/searching.gif');}
-function w_b(a){jB(a.c,'images/refresh.gif');}
-function x_b(b,a){var c;c=oac(new y_b(),b.b,a,b.e,b.d);lE(c,100,100);oE(c);}
-function x$b(){}
-_=x$b.prototype=new er();_.tN=Efc+'VersionBrowser';_.tI=569;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function z$b(b,a){b.a=a;return b;}
-function B$b(a){r_b(this.a);}
-function y$b(){}
-_=y$b.prototype=new uT();_.zc=B$b;_.tN=Efc+'VersionBrowser$1';_.tI=570;function D$b(b,a){b.a=a;return b;}
-function F$b(){u_b(this.a);}
-function C$b(){}
-_=C$b.prototype=new uT();_.pb=F$b;_.tN=Efc+'VersionBrowser$2';_.tI=571;function b_b(b,a){b.a=a;return b;}
-function d_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ze(1,0,CB(new AB(),'No history.'));w_b(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',605,1,['Version number','Comment','Date Modified','Status']);d=t_b(i.a,f);h=bfc(d,c,0,false);h.Be('100%');i.a.a.ze(1,0,h);b=ot(i.a.a);jt(b,1,0,2);e=qp(new kp(),'View selected version');e.x(g_b(new f_b(),i,h));i.a.a.ze(2,1,e);jt(b,2,1,3);Dw(b,2,1,(oz(),pz));w_b(i.a);}
-function e_b(a){d_b(this,a);}
-function a_b(){}
-_=a_b.prototype=new ecb();_.pd=e_b;_.tN=Efc+'VersionBrowser$3';_.tI=572;function g_b(b,a,c){b.a=a;b.b=c;return b;}
-function i_b(a){if(this.b.f==0)return;x_b(this.a.a,uec(this.b));}
-function f_b(){}
-_=f_b.prototype=new uT();_.zc=i_b;_.tN=Efc+'VersionBrowser$4';_.tI=573;function k_b(b,a,c){b.a=c;return b;}
-function m_b(){return this.a.a;}
-function n_b(a){return this.a[a].b;}
-function o_b(b,a){return this.a[b].c[a];}
-function p_b(b,a){return null;}
-function j_b(){}
-_=j_b.prototype=new uT();_.Ab=m_b;_.ac=n_b;_.fc=o_b;_.gc=p_b;_.tN=Efc+'VersionBrowser$5';_.tI=574;function pac(){pac=s2;zr();}
-function oac(d,a,e,b,c){pac();xr(d,false);d.c=e;d.a=b;d.b=c;uN(d,'version-Popup');fdb('Loading version');yTb(BLb(),e,A_b(new z_b(),d,a));return d;}
-function qac(b,c){var a;a=C1b(new x1b(),lN(c)+10,mN(c)+10,'Restore this version?');F1b(a,gac(new fac(),b,a));a2b(a);}
-function y_b(){}
-_=y_b.prototype=new ur();_.tN=Efc+'VersionViewer';_.tI=575;_.a=null;_.b=null;_.c=null;function A_b(b,a,c){b.a=a;b.b=c;return b;}
-function C_b(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;Br(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=lt(new ft());d=ot(e);f=qp(new kp(),'Restore this version');f.x(E_b(new D_b(),this));e.ze(0,0,f);Dw(d,0,0,(oz(),qz));b=qp(new kp(),'Close');b.x(cac(new bac(),this));e.ze(0,1,b);Dw(d,0,1,(oz(),rz));g=m$b(new u8b(),a,true);g.Be('100%');e.ze(1,0,g);jt(d,1,1,2);e.Be('100%');sN(e,800,300);Cr(this.a,e);}
-function z_b(){}
-_=z_b.prototype=new ecb();_.pd=C_b;_.tN=Efc+'VersionViewer$1';_.tI=576;function E_b(b,a){b.a=a;return b;}
-function aac(a){qac(this.a.a,a);}
-function D_b(){}
-_=D_b.prototype=new uT();_.zc=aac;_.tN=Efc+'VersionViewer$2';_.tI=577;function cac(b,a){b.a=a;return b;}
-function eac(a){this.a.a.lc();}
-function bac(){}
-_=bac.prototype=new uT();_.zc=eac;_.tN=Efc+'VersionViewer$3';_.tI=578;function gac(b,a,c){b.a=a;b.b=c;return b;}
-function iac(){cUb(BLb(),this.a.c,this.a.a,E1b(this.b),kac(new jac(),this));}
-function fac(){}
-_=fac.prototype=new uT();_.pb=iac;_.tN=Efc+'VersionViewer$4';_.tI=579;function kac(b,a){b.a=a;return b;}
-function mac(b,a){b.a.a.lc();y9b(b.a.a.b);}
-function nac(a){mac(this,a);}
-function jac(){}
-_=jac.prototype=new ecb();_.pd=nac;_.tN=Efc+'VersionViewer$5';_.tI=580;function ubc(a){a.b=(CY(),DY);}
-function vbc(a){ubc(a);a.c=sJ(new eJ());a.c.Be('100%');a.c.qe('100%');tJ(a.c,xbc(a),"<img src='images/explore.gif'/>Explore",true);zJ(a.c,0);gr(a,a.c);return a;}
-function xbc(i){var a,b,c,d,e,f,g,h;h=lt(new ft());i.a=ycc(new Cbc(),tac(new sac(),i),'rulelist');b=ot(h);d=s$(new b$(),xac(new wac(),i,h));f=Cdc(new bdc(),Bac(new Aac(),i));h.ze(0,1,f);Bw(b,0,0,(oz(),qz),(xz(),Az));Bw(b,0,1,(oz(),qz),(xz(),Az));bx(b,0,0,'30%');bx(b,0,1,'70%');e=qp(new kp(),'Create new rule');e.te('Create new rule');e.x(abc(new Fac(),i));g=lcb(new kcb(),'images/system_search_small.png');g.te('Show the rule finder.');fB(g,ebc(new dbc(),i,h,f));a=Fz(new Dz());aA(a,e);aA(a,g);uN(a,'new-asset-Icons');c=hO(new fO());iO(c,a);iO(c,d);c.Be('100%');h.ze(0,0,c);return h;}
-function ybc(c,a,b){return ibc(new hbc(),c,b,a);}
-function zbc(b,a){b.b=a;}
-function Abc(a,b){r4b(a.b,a.c,b,false);}
-function Bbc(c){var a,b,d;a=70;d=100;b=e7b(new v6b(),rbc(new qbc(),c),true,null,'Create a new rule');lE(b,a,d);oE(b);}
-function rac(){}
-_=rac.prototype=new er();_.tN=Ffc+'AssetBrowser';_.tI=581;_.a=null;_.c=null;function tac(b,a){b.a=a;return b;}
-function vac(a){Abc(this.a,a);}
-function sac(){}
-_=sac.prototype=new uT();_.wd=vac;_.tN=Ffc+'AssetBrowser$1';_.tI=582;function xac(b,a,c){b.a=a;b.b=c;return b;}
-function zac(b){var a;a=ybc(this.a,this.a.a,b);this.b.ze(0,1,this.a.a);fdb('Retrieving list, please wait...');fg(a);Ecc(this.a.a,a);}
-function wac(){}
-_=wac.prototype=new uT();_.he=zac;_.tN=Ffc+'AssetBrowser$2';_.tI=583;function Bac(b,a){b.a=a;return b;}
-function Dac(b,a){Abc(b.a,a);}
-function Eac(a){Dac(this,a);}
-function Aac(){}
-_=Aac.prototype=new uT();_.wd=Eac;_.tN=Ffc+'AssetBrowser$3';_.tI=584;function abc(b,a){b.a=a;return b;}
-function cbc(a){Bbc(this.a);}
-function Fac(){}
-_=Fac.prototype=new uT();_.zc=cbc;_.tN=Ffc+'AssetBrowser$4';_.tI=585;function ebc(b,a,d,c){b.b=d;b.a=c;return b;}
-function gbc(a){this.b.ze(0,1,this.a);}
-function dbc(){}
-_=dbc.prototype=new uT();_.zc=gbc;_.tN=Ffc+'AssetBrowser$5';_.tI=586;function ibc(b,a,d,c){b.b=d;b.a=c;return b;}
-function kbc(){fdb('Loading list, please wait...');zTb(BLb(),this.b,mbc(new lbc(),this,this.a));}
-function hbc(){}
-_=hbc.prototype=new uT();_.pb=kbc;_.tN=Ffc+'AssetBrowser$6';_.tI=587;function mbc(b,a,c){b.a=c;return b;}
-function obc(c,a){var b;b=Fb(a,62);Dcc(c.a,b);bdb();}
-function pbc(a){obc(this,a);}
-function lbc(){}
-_=lbc.prototype=new ecb();_.pd=pbc;_.tN=Ffc+'AssetBrowser$7';_.tI=588;function rbc(b,a){b.a=a;return b;}
-function tbc(a){Abc(this.a,a);}
-function qbc(){}
-_=qbc.prototype=new uT();_.wd=tbc;_.tN=Ffc+'AssetBrowser$8';_.tI=589;function zcc(){zcc=s2;Fcc=BLb();}
-function xcc(a){a.c=lt(new ft());a.e=lcb(new kcb(),'images/refresh.gif');a.a=BB(new AB());}
-function ycc(c,a,b){zcc();xcc(c);Bcc(c);Ccc(c,b);c.e.ye(false);c.b=a;c.e.te('Refresh current list. Will show any changes.');fB(c.e,Ebc(new Dbc(),c));return c;}
-function Acc(a){return zYb(uec(a.f));}
-function Bcc(c){var a,b;a=ot(c.c);c.c.Be('100%');Bw(a,0,0,(oz(),qz),(xz(),Az));b=lcb(new kcb(),'images/open_item.gif');fB(b,hcc(new gcc(),c));b.te('Open item');c.c.ze(0,1,b);Bw(a,0,1,(oz(),rz),(xz(),Az));gr(c,c.c);}
-function Ccc(b,a){BTb(Fcc,a,ccc(new bcc(),b));}
-function Dcc(g,a){var b,c,d,e,f;b=ot(g.c);g.c.ze(1,0,null);if(a===null||a.a.a==0){d=new kcc();g.f=bfc(d,g.g.a,25,true);g.a.ye(false);}else{f=a.a;c=rcc(new qcc(),g,f);g.f=bfc(c,g.g.a,25,true);e=Fz(new Dz());aA(e,g.e);g.a.ye(true);bC(g.a,'  '+a.a.a+' items.');aA(e,g.a);g.c.ze(0,0,e);}g.f.Be('100%');g.c.ze(1,0,g.f);jt(b,1,0,2);}
-function Ecc(b,a){b.d=a;b.e.ye(true);}
-function Cbc(){}
-_=Cbc.prototype=new er();_.tN=Ffc+'AssetItemListViewer';_.tI=590;_.b=null;_.d=null;_.f=null;_.g=null;var Fcc;function Ebc(b,a){b.a=a;return b;}
-function acc(a){fdb('Refreshing list, please wait...');this.a.d.pb();}
-function Dbc(){}
-_=Dbc.prototype=new uT();_.zc=acc;_.tN=Ffc+'AssetItemListViewer$1';_.tI=591;function ccc(b,a){b.a=a;return b;}
-function ecc(b,a){b.a.g=Fb(a,99);Dcc(b.a,null);}
-function fcc(a){ecc(this,a);}
-function bcc(){}
-_=bcc.prototype=new ecb();_.pd=fcc;_.tN=Ffc+'AssetItemListViewer$2';_.tI=592;function hcc(b,a){b.a=a;return b;}
-function jcc(a){fdb('Loading item, please wait ...');this.a.b.wd(zYb(uec(this.a.f)));}
-function gcc(){}
-_=gcc.prototype=new uT();_.zc=jcc;_.tN=Ffc+'AssetItemListViewer$3';_.tI=593;function mcc(){return 0;}
-function ncc(a){return '';}
-function occ(b,a){return '';}
-function pcc(b,a){return null;}
-function kcc(){}
-_=kcc.prototype=new uT();_.Ab=mcc;_.ac=ncc;_.fc=occ;_.gc=pcc;_.tN=Ffc+'AssetItemListViewer$4';_.tI=594;function rcc(b,a,c){b.a=a;b.b=c;return b;}
-function tcc(){return this.b.a;}
-function ucc(a){return this.b[a].b;}
-function vcc(b,a){return this.b[b].c[a];}
-function wcc(b,a){if(nU(this.a.g.a[a],'*')){return eB(new oA(),'images/'+n4b(this.b[b].a));}else{return null;}}
-function qcc(){}
-_=qcc.prototype=new uT();_.Ab=tcc;_.ac=ucc;_.fc=vcc;_.gc=wcc;_.tN=Ffc+'AssetItemListViewer$5';_.tI=595;function Cdc(d,a){var b,c;d.c=rbb(new obb(),'images/system_search.png','');d.e=n_(new d_(),ddc(new cdc(),d));uN(d.e,'gwt-TextBox');d.b=a;c=Fz(new Dz());b=qp(new kp(),'Go');b.x(hdc(new gdc(),d));aA(c,d.e);aA(c,b);d.a=cq(new Fp(),'Include archived items in list');uN(d.a,'small-Text');gq(d.a,false);sbb(d.c,'Find items with a name matching:',c);vbb(d.c,d.a);vbb(d.c,ez(new hw(),'<hr/>'));d.d=lt(new ft());d.d.ze(0,0,ez(new hw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));vbb(d.c,d.d);uN(d.d,'editable-Surface');oK(d.e,Edc(d));uN(d.c,'quick-find');gr(d,d.c);return d;}
-function Edc(a){return pdc(new odc(),a);}
-function Fdc(c,a,b){CTb(BLb(),a,5,fq(c.a),ldc(new kdc(),c,b));}
-function aec(f,d){var a,b,c,e;a=lt(new ft());if(d.a.a==1){Dac(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(nU(e.b,'MORE')){a.ze(b,0,ez(new hw(),'<i>There are more items... try narrowing the search terms..<\/i>'));jt(ot(a),b,0,3);}else{a.ze(b,0,CB(new AB(),e.c[0]));a.ze(b,1,CB(new AB(),e.c[1]));c=qp(new kp(),'Open');c.x(zdc(new ydc(),f,e));a.ze(b,2,c);}}a.Be('100%');f.d.ze(0,0,a);bdb();}
-function bec(a){fdb('Searching...');CTb(BLb(),rK(a.e),15,fq(a.a),vdc(new udc(),a));}
-function bdc(){}
-_=bdc.prototype=new er();_.tN=Ffc+'QuickFindWidget';_.tI=596;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function ddc(b,a){b.a=a;return b;}
-function fdc(c,b,a){Fdc(c.a,b,a);}
-function cdc(){}
-_=cdc.prototype=new uT();_.tN=Ffc+'QuickFindWidget$1';_.tI=597;function hdc(b,a){b.a=a;return b;}
-function jdc(a){bec(this.a);}
-function gdc(){}
-_=gdc.prototype=new uT();_.zc=jdc;_.tN=Ffc+'QuickFindWidget$2';_.tI=598;function ldc(b,a,c){b.a=c;return b;}
-function ndc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[605],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!nU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}l_(this.a,c);}
-function kdc(){}
-_=kdc.prototype=new ecb();_.pd=ndc;_.tN=Ffc+'QuickFindWidget$3';_.tI=599;function pdc(b,a){b.a=a;return b;}
-function rdc(a,b,c){}
-function sdc(a,b,c){}
-function tdc(a,b,c){if(b==13){bec(this.a);}}
-function odc(){}
-_=odc.prototype=new uT();_.cd=rdc;_.dd=sdc;_.ed=tdc;_.tN=Ffc+'QuickFindWidget$4';_.tI=600;function vdc(b,a){b.a=a;return b;}
-function xdc(a){var b;b=Fb(a,62);aec(this.a,b);}
-function udc(){}
-_=udc.prototype=new ecb();_.pd=xdc;_.tN=Ffc+'QuickFindWidget$5';_.tI=601;function zdc(b,a,c){b.a=a;b.b=c;return b;}
-function Bdc(a){Dac(this.a.b,this.b.b);}
-function ydc(){}
-_=ydc.prototype=new uT();_.zc=Bdc;_.tN=Ffc+'QuickFindWidget$6';_.tI=602;function eec(a){a.a=CX(new AX());}
-function fec(a){eec(a);return a;}
-function gec(b,a,c){if(a>=b.a.b){hec(b,a);}jY(b.a,a,c);}
-function hec(c,a){var b;for(b=c.a.b;b<=a;b++){EX(c.a,null);}}
-function jec(b,a){return dY(b.a,a);}
-function kec(b,a){b.b=a;}
-function lec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(jec(this,this.b),34);b=Fb(jec(d,this.b),34);return a.bb(b);}
-function dec(){}
-_=dec.prototype=new uT();_.bb=lec;_.tN=agc+'RowData';_.tI=603;_.b=0;function nec(a){a.j=CX(new AX());a.i=CX(new AX());}
-function oec(c,b,a){Av(c,b+1,a);nec(c);Dx(c,c);uN(c,efc);return c;}
-function pec(c,b,a){if(b!=0){return;}Bec(c,a);Dec(c,a);tec(c);}
-function rec(e){var a,b,c,d,f;if(e.h==Fec||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(dY(e.j,c),100);for(a=0;a<b.a.b;a++){f=jec(b,a);xec(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(dY(e.j,c),100);for(a=0;a<b.a.b;a++){f=jec(b,a);xec(e,d,a,f.tS());}}}}
-function sec(d){var a,b,c;c=0;for(b=d.i.qc();b.kc();){a=Fb(b.sc(),1);vec(d,a,c++);}}
-function tec(a){sec(a);rec(a);}
-function uec(a){return iy(a,a.f,a.e);}
-function vec(d,c,b){var a;a=FT(new ET());bU(a,c);bU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==Fec){bU(a,"'"+d.a+"' alt='Ascending' ");}else{bU(a,"'"+d.c+"' alt='Descending' ");}}else{bU(a,"'"+d.b+"'");}bU(a,'/>');wy(d,0,b,fU(a));lx(d.p,0,ffc);}
-function wec(c,b,a){if(b%2==0){Ew(c.n,b,a,dfc);}}
-function xec(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ze(b,a,eB(new oA(),'images/'+n4b(d)));else yy(c,b,a,d);}}
-function yec(c,b,a){DX(c.i,a,b);vec(c,b,a);}
-function zec(b,a){b.d=a;}
-function Aec(b,a){b.e=a;ax(b.n,0,a,false);}
-function Bec(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(dY(d.j,b),100);kec(a,c);}}
-function Cec(d,b,a,e,f){var c;if(b==0)return;wec(d,b,a);if(b-1>=d.j.b||null===dY(d.j,b-1)){DX(d.j,b-1,fec(new dec()));}c=Fb(dY(d.j,b-1),100);gec(c,a,e);if(f===null){yy(d,b,a,''+e+'');}else{d.ze(b,a,f);}if(a==d.e){ax(d.n,b,a,false);}}
-function Dec(b,a){FY(b.j);if(b.g!=a){b.h=Fec;}else{b.h=b.h==Fec?afc:Fec;}b.g=a;}
-function Eec(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){Ew(a,c,b,gfc);if(d.f%2==0&&d.f!=0){Ew(a,d.f,b,dfc);}else{Aw(a,d.f,b,gfc);}}d.f=c;}}
-function bfc(a,d,b,c){var e,f,g;g=null;if(b>a.Ab()){g=oec(new mec(),b,d.a+1);Cec(g,1,1,'',null);}else{g=oec(new mec(),a.Ab()+1,d.a+1);}yec(g,'',0);for(e=0;e<d.a;e++){yec(g,d[e],e+1);}Aec(g,0);for(e=0;e<a.Ab();e++){Cec(g,e+1,0,a.ac(e),null);for(f=0;f<d.a;f++){Cec(g,e+1,f+1,a.fc(e,f),a.gc(e,f));}}zec(g,c);return g;}
-function cfc(c,b,a){if(b<=this.j.b){Eec(this,b);pec(this,b,a);}}
-function mec(){}
-_=mec.prototype=new yv();_.xc=cfc;_.tN=agc+'SortableTable';_.tI=604;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var Fec=0,afc=1,dfc='rule-ListEvenRow',efc='rule-List',ffc='rule-ListHeader',gfc='rule-SelectedRow';function oR(){E3(A3(new p3()));}
-function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{oR();}catch(a){b(d);}else{oR();}}
-var gc=[{},{12:1},{1:1,12:1,34:1,35:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{2:1,12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1},{8:1,12:1},{8:1,12:1},{8:1,12:1},{12:1},{2:1,6:1,12:1},{2:1,12:1},{9:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1},{3:1,12:1},{3:1,12:1,39:1},{3:1,12:1,92:1},{3:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,36:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,49:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1,33:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,43:1},{12:1,49:1,56:1},{12:1,!
 49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,81:1},{12:1,20:1,36:1,37:1,81:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,46:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,49:1,56:1},{12:1,39:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,49:1},{12:1},{12:1,20:1,36:1,37:1,87:1},{12:1,20:1,36:1,37:1,48:1,54:1},{9:1,12:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,39:1},{12:1,39:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,50:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,80:1},{12:1,20:1,36:1,37:1,54:1},{12:1,36:1,52:1},{12:1,36:1,52:1},{12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12!
 :1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1,55:1},{
3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{12:1,35:1},{3:1,12:1},{12:1},{12:1,57:1},{12:1,49:1,58:1},{12:1,49:1,58:1},{12:1},{12:1,49:1},{12:1},{12:1},{12:1,34:1,59:1},{12:1,57:1},{12:1,60:1},{12:1,49:1,58:1},{12:1},{12:1,49:1,58:1},{3:1,12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{7:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{8:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1},{12!
 :1,20:1,36:1,37:1,53:1},{12:1,42:1},{12:1},{12:1},{12:1,36:1,52:1,64:1},{12:1,20:1,36:1,37:1,46:1,80:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,20:1,36:1,37:1,81:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,65:1},{12:1,20:1,36:1,37:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,38:1,39:1,91:1},{12:1,23:1,24:1,38:1,39:1},{12:1,18:1,38:1,39:1},{12:1,23:1,24:1,25:1,38:1,39:1},{12:1,23:1,24:1,!
 25:1,26:1,38:1,39:1},{12:1,23:1,27:1,38:1,39:1},{12:1,23:1,24:1,28:1,3
8:1,39:1},{12:1,23:1,24:1,28:1,29:1,38:1,39:1},{12:1,22:1,30:1,38:1,39:1},{12:1,17:1,31:1,38:1,39:1},{12:1,38:1,39:1,40:1},{12:1,15:1,38:1,39:1,40:1},{12:1,14:1,22:1,23:1,38:1,39:1},{12:1,16:1,22:1,38:1,39:1},{12:1,21:1,38:1,39:1},{12:1,38:1,39:1,83:1},{12:1,17:1,32:1,38:1,39:1,40:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,84:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,41:1},{4:1,12:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,46:1},{12:1,41:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,82:1,98:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},!
 {12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,46:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{4!
 :1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{
12:1},{12:1,20:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1},{4:1,12:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1,53:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,90:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,42:1},{12:1,53:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1},{10:1,12:1,39:1},{3:1,12:1,39:1,70:1},{12:1,39:1,93:1},{12:1,19:1,39:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,39:1,97:1},{12:1,39:1,95:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1,69:1},{11:1,12:1,39:1},{12:1,39:1,99:1},{12:1,39:1,62:1},{12:1,13:1,39:1},{12:1,39:1!
 ,89:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,44:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1},{12:1,41:1},{12:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{4:1,12:1},{4:1,12:1},!
 {4:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},
{4:1,12:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{12:1,46:1},{12:1},{12:1,42:1},{12:1,34:1,100:1},{12:1,20:1,36:1,37:1,51:1,54:1},{12:1,63:1},{12:1,88:1},{12:1,86:1},{12:1},{12:1},{12:1,94:1},{12:1,72:1,77:1,78:1},{12:1,79:1},{12:1,74:1,77:1},{12:1,75:1},{12:1,73:1},{12:1,71:1},{12:1},{12:1},{12:1,76:1},{12:1,77:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,77:1},{12:1,75:1},{12:1,75:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1}];if (org_drools_brms_JBRMS) {  var __gwt_initHandlers = org_drools_brms_JBRMS.__gwt_initHandlers;  org_drools_brms_JBRMS.onScriptLoad(gwtOnLoad);}})();
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/0E0C77F3A614502A18FE57151BF5478A.cache.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cache-entry>
-	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_TypeSerializer" hash="619B51D664C2EA16C242AAF2AF6BA7E6"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.BuilderResult_FieldSerializer" hash="31FA4ADBFB94FFD9001BA8C2A4417504"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.DSLSentence_FieldSerializer" hash="35AB7D23CC662D4F726060AA9938F6C6"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableDataResult_FieldSerializer" hash="BFC3EC8D02BADBA251CA3B7A7F85C809"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleAttribute_FieldSerializer" hash="7BF092FF4AE3E8CB784A96421E7BC6B4"/>
-	<generated-type-hash class="com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException_FieldSerializer" hash="FF198044879E67E1ACF2E0C29CC58CB5"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.MultiWordSuggestOracle_MultiWordSuggestion_FieldSerializer" hash="1721A875793F79F044BA9AEC6543C8A2"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.TreeImages_generatedBundle" hash="C4DB9D53C840859028C6F483DB58A75C"/>
-	<generated-type-hash class="com.google.gwt.user.client.rpc.SerializableException_FieldSerializer" hash="1CB9B63ABEC9BE7E663F6C56AA395208"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Request_FieldSerializer" hash="93219A0D78603408F1E24CE444809ADE"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableConfig_FieldSerializer" hash="68BF54922D06AC518871EB9FEFD7D68E"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionRetractFact_FieldSerializer" hash="3ABE2631C28ACB7B3C1358BD27C80255"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SnapshotInfo_FieldSerializer" hash="995C2E7AEC07438074706D40B4864FF5"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertFact_FieldSerializer" hash="B3DA8CF19248044B9B347AFEE8AAC7F7"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.ValidatedResponse_FieldSerializer" hash="15269178DE71D238F26587B3095E7A9A"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint_FieldSerializer" hash="8606C355A0F17A64941EB10EFAB41036"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionSetField_FieldSerializer" hash="7F0BA1987E3FB650C44049758B209A0E"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint_FieldSerializer" hash="F30861DCB878C093201710AE55E3EF52"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFactPattern_FieldSerializer" hash="85DD7A29F613D6A493314730060FF12A"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldValue_FieldSerializer" hash="C12B27B0B8651B5CCA2358C044C74DD1"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.DetailedSerializableException_FieldSerializer" hash="CE21C342ABA475456EAAE97B0AE44393"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.MetaData_FieldSerializer" hash="C7F537CFDF5A4E02C318B4614CEC20EA"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact_FieldSerializer" hash="8646F66FFEBDCE52535B8FBA9AE37830"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.SuggestionCompletionEngine_FieldSerializer" hash="1BED05A61D2EFBC600410686A3304B3E"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RuleAsset_FieldSerializer" hash="7D9F400F79A33BD99A5721E52B6EDBA7"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.SingleFieldConstraint_FieldSerializer" hash="C2DB414BB43FE22A8E8CDBA910564AA6"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Response_FieldSerializer" hash="1C6D42E0AC1FE9CDD63B791E11BD9615"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.PackageConfigData_FieldSerializer" hash="1C8237E912FA51556E3496683D32C8B5"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.FactPattern_FieldSerializer" hash="5535A6C88015EE51C5F4FA808DFAA8ED"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SessionExpiredException_FieldSerializer" hash="0A173F0D6310FDB17BD90CBB1948DC75"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableDataRow_FieldSerializer" hash="411D058D97408AAE2C3EBA1620048463"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_Proxy" hash="EE514DB88A5F377A761E4D0AAB187640"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldList_FieldSerializer" hash="73DAB0917FEA7A2E484F4B12C200C868"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_TypeSerializer" hash="8DCA6439D096072B75D6701D8B54A1DA"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionUpdateField_FieldSerializer" hash="53DAC10B208EAD97D6542560F2C8BAAD"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RuleContentText_FieldSerializer" hash="9F5834F874613140D0BDEC4056C49928"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_Proxy" hash="0549B5DD064B695F228AA7312765E9C0"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ConnectiveConstraint_FieldSerializer" hash="BF0E8BCBA71D0333FD6536A3B7B09370"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleModel_FieldSerializer" hash="2A44CFABD8B63D33EFAA2FF86226638A"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.TextBoxImpl" out="com.google.gwt.user.client.ui.impl.TextBoxImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.ListBox.Impl" out="com.google.gwt.user.client.ui.ListBox.Impl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.FocusImpl" out="com.google.gwt.user.client.ui.impl.FocusImplOld"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.ClippedImageImpl" out="com.google.gwt.user.client.ui.impl.ClippedImageImpl"/>
-	<rebind-decision in="org.drools.brms.client.JBRMSEntryPoint" out="org.drools.brms.client.JBRMSEntryPoint"/>
-	<rebind-decision in="org.drools.brms.client.rpc.RepositoryService" out="org.drools.brms.client.rpc.RepositoryService_Proxy"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.HistoryImpl" out="com.google.gwt.user.client.impl.HistoryImplStandard"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.DOMImpl" out="com.google.gwt.user.client.impl.DOMImplOpera"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.PopupImpl" out="com.google.gwt.user.client.ui.impl.PopupImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.TreeImages" out="com.google.gwt.user.client.ui.TreeImages_generatedBundle"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.FormPanelImpl" out="com.google.gwt.user.client.ui.impl.FormPanelImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.HTTPRequestImpl" out="com.google.gwt.user.client.impl.HTTPRequestImpl"/>
-	<rebind-decision in="org.drools.brms.client.rpc.SecurityService" out="org.drools.brms.client.rpc.SecurityService_Proxy"/>
-</cache-entry>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.html
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.html	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.html	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3413 +0,0 @@
-<html><head><script>var $wnd = parent;var $doc = $wnd.document;var $moduleName, $moduleBase;</script></head><body><script><!--
-var _,kfc='com.google.gwt.core.client.',lfc='com.google.gwt.lang.',mfc='com.google.gwt.user.client.',nfc='com.google.gwt.user.client.impl.',ofc='com.google.gwt.user.client.rpc.',pfc='com.google.gwt.user.client.rpc.core.java.lang.',qfc='com.google.gwt.user.client.rpc.core.java.util.',rfc='com.google.gwt.user.client.rpc.impl.',sfc='com.google.gwt.user.client.ui.',tfc='com.google.gwt.user.client.ui.impl.',ufc='java.io.',vfc='java.lang.',wfc='java.util.',xfc='org.drools.brms.client.',yfc='org.drools.brms.client.admin.',zfc='org.drools.brms.client.categorynav.',Afc='org.drools.brms.client.common.',Bfc='org.drools.brms.client.decisiontable.',Cfc='org.drools.brms.client.modeldriven.',Dfc='org.drools.brms.client.modeldriven.brl.',Efc='org.drools.brms.client.modeldriven.ui.',Ffc='org.drools.brms.client.packages.',agc='org.drools.brms.client.rpc.',bgc='org.drools.brms.client.ruleeditor.',cgc='org.drools.brms.client.rulelist.',dgc='org.drools.brms.client.table.';function v2(){}
-function zT(a){return this===a;}
-function AT(){return mV(this);}
-function BT(){return this.tN+'@'+this.hC();}
-function xT(){}
-_=xT.prototype={};_.eQ=zT;_.hC=AT;_.tS=BT;_.toString=function(){return this.tS();};_.tN=vfc+'Object';_.tI=1;function v(){return C();}
-function w(a){return a==null?null:a.tN;}
-var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function C(){return $moduleBase;}
-function D(){return ++E;}
-var E=0;function pV(b,a){b.c=a;return b;}
-function qV(c,b,a){c.c=b;return c;}
-function sV(){return this.c;}
-function tV(){var a,b;a=w(this);b=this.wb();if(b!==null){return a+': '+b;}else{return a;}}
-function oV(){}
-_=oV.prototype=new xT();_.wb=sV;_.tS=tV;_.tN=vfc+'Throwable';_.tI=3;_.c=null;function oS(b,a){pV(b,a);return b;}
-function pS(c,b,a){qV(c,b,a);return c;}
-function nS(){}
-_=nS.prototype=new oV();_.tN=vfc+'Exception';_.tI=4;function DT(b,a){oS(b,a);return b;}
-function ET(c,b,a){pS(c,b,a);return c;}
-function CT(){}
-_=CT.prototype=new nS();_.tN=vfc+'RuntimeException';_.tI=5;function ab(c,b,a){DT(c,'JavaScript '+b+' exception: '+a);return c;}
-function F(){}
-_=F.prototype=new CT();_.tN=kfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
-function fb(a){return A(a);}
-function gb(){return [];}
-function hb(){return function(){};}
-function ib(){return {};}
-function kb(a){return eb(this,a);}
-function jb(a,b){return a===b;}
-function lb(){return fb(this);}
-function nb(){return mb(this);}
-function mb(a){if(a.toString)return a.toString();return '[object]';}
-function cb(){}
-_=cb.prototype=new xT();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=kfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
-function rb(a,b,c){return a[b]=c;}
-function tb(a,b){return sb(a,b);}
-function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
-function ub(b,a){return b[a];}
-function wb(b,a){return b[a];}
-function vb(a){return a.length;}
-function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
-function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new iT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=zU(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
-function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
-function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new yR();}return rb(a,b,c);}
-function ob(){}
-_=ob.prototype=new xT();_.tN=lfc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
-function Eb(a){return String.fromCharCode(a);}
-function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
-function ac(b,a){return b!=null&&Db(b.tI,a);}
-function bc(a){return a&65535;}
-function cc(a){return ~(~a);}
-function dc(a){if(a>(BS(),CS))return BS(),CS;if(a<(BS(),DS))return BS(),DS;return a>=0?Math.floor(a):Math.ceil(a);}
-function fc(){throw new iS();}
-function ec(a){if(a!==null){throw new iS();}return a;}
-function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
-var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
-function lc(a){return a.message;}
-function mc(a){return a.name;}
-function oc(b,a){return b;}
-function nc(){}
-_=nc.prototype=new CT();_.tN=mfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=FX(new DX());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
-function gd(a){fd(a);return a;}
-function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
-function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.nb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(lV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
-function kd(a){if(!jY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
-function ld(b,a){b.c=a;}
-function md(b,a){b.e=a;}
-function nd(b,a){bY(b.b,a);kd(b);}
-function od(a,b){return gT(a-b)>=100;}
-function qc(){}
-_=qc.prototype=new xT();_.tN=mfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=v2;uh=FX(new DX());{th();}}
-function ih(a){kh();return a;}
-function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}lY(uh,a);}
-function lh(a){if(!a.b){lY(uh,a);}a.ce();}
-function nh(b,a){if(a<=0){throw sS(new rS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);bY(uh,b);}
-function mh(b,a){if(a<=0){throw sS(new rS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);bY(uh,b);}
-function oh(a){kh();$wnd.clearInterval(a);}
-function ph(a){kh();$wnd.clearTimeout(a);}
-function qh(b,a){kh();return $wnd.setInterval(function(){b.ob();},a);}
-function rh(b,a){kh();return $wnd.setTimeout(function(){b.ob();},a);}
-function sh(){var a;a=x;{lh(this);}}
-function th(){kh();yh(new eh());}
-function dh(){}
-_=dh.prototype=new xT();_.ob=sh;_.tN=mfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=v2;kh();}
-function sc(b,a){tc();b.a=a;ih(b);return b;}
-function uc(){if(!this.a.c){return;}id(this.a);}
-function rc(){}
-_=rc.prototype=new dh();_.ce=uc;_.tN=mfc+'CommandExecutor$1';_.tI=14;function xc(){xc=v2;kh();}
-function wc(b,a){xc();b.a=a;ih(b);return b;}
-function yc(){md(this.a,false);jd(this.a,lV());}
-function vc(){}
-_=vc.prototype=new dh();_.ce=yc;_.tN=mfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
-function Cc(a){return gY(a.d.b,a.b);}
-function Dc(a){return a.c<a.a;}
-function Ec(b){var a;b.b=b.c;a=gY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
-function Fc(a){kY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
-function ad(b,a){b.a=a;}
-function bd(a){return a.b==(-1);}
-function cd(){return Dc(this);}
-function dd(){return Ec(this);}
-function ed(){Fc(this);}
-function zc(){}
-_=zc.prototype=new xT();_.hc=cd;_.pc=dd;_.Fd=ed;_.tN=mfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=v2;rf=FX(new DX());{gf=new ki();ri(gf);}}
-function sd(a){rd();bY(rf,a);}
-function td(b,a){rd();hj(gf,b,a);}
-function ud(a,b){rd();return mi(gf,a,b);}
-function vd(){rd();return jj(gf,'A');}
-function wd(){rd();return jj(gf,'button');}
-function xd(){rd();return jj(gf,'div');}
-function yd(a){rd();return jj(gf,a);}
-function zd(){rd();return jj(gf,'form');}
-function Ad(){rd();return jj(gf,'iframe');}
-function Bd(){rd();return jj(gf,'img');}
-function Cd(){rd();return kj(gf,'checkbox');}
-function Dd(){rd();return kj(gf,'password');}
-function Ed(a){rd();return zi(gf,a);}
-function Fd(){rd();return kj(gf,'text');}
-function ae(){rd();return jj(gf,'label');}
-function be(a){rd();return lj(gf,a);}
-function ce(){rd();return jj(gf,'span');}
-function de(){rd();return jj(gf,'tbody');}
-function ee(){rd();return jj(gf,'td');}
-function fe(){rd();return jj(gf,'tr');}
-function ge(){rd();return jj(gf,'table');}
-function he(){rd();return jj(gf,'textarea');}
-function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
-function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.tc(b);}finally{ie=d;}}
-function le(b,a){rd();mj(gf,b,a);}
-function me(a){rd();return nj(gf,a);}
-function ne(a){rd();return oj(gf,a);}
-function oe(a){rd();return pj(gf,a);}
-function pe(a){rd();return qj(gf,a);}
-function qe(a){rd();return rj(gf,a);}
-function re(a){rd();return Ai(gf,a);}
-function se(a){rd();return sj(gf,a);}
-function te(a){rd();return tj(gf,a);}
-function ue(a){rd();return uj(gf,a);}
-function ve(a){rd();return Bi(gf,a);}
-function we(a){rd();return Ci(gf,a);}
-function xe(a){rd();return vj(gf,a);}
-function ye(a){rd();Di(gf,a);}
-function ze(a){rd();return Ei(gf,a);}
-function Ae(a){rd();return ni(gf,a);}
-function Be(a){rd();return oi(gf,a);}
-function Ee(b,a){rd();return aj(gf,b,a);}
-function Ce(a){rd();return Fi(gf,a);}
-function De(b,a){rd();return pi(gf,b,a);}
-function bf(a,b){rd();return yj(gf,a,b);}
-function Fe(a,b){rd();return wj(gf,a,b);}
-function af(a,b){rd();return xj(gf,a,b);}
-function cf(a){rd();return zj(gf,a);}
-function df(a){rd();return bj(gf,a);}
-function ef(a){rd();return Aj(gf,a);}
-function ff(a){rd();return cj(gf,a);}
-function hf(c,a,b){rd();ej(gf,c,a,b);}
-function jf(c,b,d,a){rd();Bj(gf,c,b,d,a);}
-function kf(b,a){rd();return si(gf,b,a);}
-function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(gY(rf,rf.b-1),5);if(!(c=b.zc(a))){le(a,true);ye(a);}}return c;}
-function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}ti(gf,a);}
-function nf(b,a){rd();Cj(gf,b,a);}
-function of(b,a){rd();Dj(gf,b,a);}
-function pf(a){rd();lY(rf,a);}
-function sf(a){rd();Ej(gf,a);}
-function tf(a){rd();qf=a;fj(gf,a);}
-function uf(b,a,c){rd();Fj(gf,b,a,c);}
-function xf(a,b,c){rd();ck(gf,a,b,c);}
-function vf(a,b,c){rd();ak(gf,a,b,c);}
-function wf(a,b,c){rd();bk(gf,a,b,c);}
-function yf(a,b){rd();dk(gf,a,b);}
-function zf(a,b){rd();ek(gf,a,b);}
-function Af(a,b){rd();fk(gf,a,b);}
-function Bf(a,b){rd();gk(gf,a,b);}
-function Cf(b,a,c){rd();hk(gf,b,a,c);}
-function Df(b,a,c){rd();ik(gf,b,a,c);}
-function Ef(a,b){rd();vi(gf,a,b);}
-function Ff(a){rd();return wi(gf,a);}
-function ag(){rd();return jk(gf);}
-function bg(){rd();return kk(gf);}
-var ie=null,gf=null,qf=null,rf;function dg(){dg=v2;gg=gd(new qc());}
-function fg(a){dg();nd(gg,a);}
-function eg(a){dg();if(a===null){throw lT(new kT(),'cmd can not be null');}nd(gg,a);}
-var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
-function kg(a){return jg(this,a);}
-function lg(){return fb(hc(this,hg));}
-function mg(){return Ff(this);}
-function hg(){}
-_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=mfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
-function sg(){return fb(hc(this,ng));}
-function tg(){return ze(this);}
-function ng(){}
-_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=mfc+'Event';_.tI=18;function vg(){vg=v2;xg=nk(new mk());}
-function wg(c,b,a){vg();return pk(xg,c,b,a);}
-var xg;function Ag(){Ag=v2;Eg=FX(new DX());{Fg=new vk();if(!Ak(Fg)){Fg=null;}}}
-function Bg(a){Ag();bY(Eg,a);}
-function Cg(a){Ag();var b,c;for(b=Eg.nc();b.hc();){c=Fb(b.pc(),7);c.Ec(a);}}
-function Dg(){Ag();return Fg!==null?Ck(Fg):'';}
-function ah(a){Ag();if(Fg!==null){xk(Fg,a);}}
-function bh(b){Ag();var a;a=x;{Cg(b);}}
-var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(gY((kh(),uh),0),8));}}
-function hh(){return null;}
-function eh(){}
-_=eh.prototype=new xT();_.rd=gh;_.sd=hh;_.tN=mfc+'Timer$1';_.tI=19;function xh(){xh=v2;Ah=FX(new DX());ii=FX(new DX());{di();}}
-function yh(a){xh();bY(Ah,a);}
-function zh(a){xh();$wnd.alert(a);}
-function Bh(a){xh();return $wnd.confirm(a);}
-function Ch(){xh();var a,b;for(a=Ah.nc();a.hc();){b=Fb(a.pc(),9);b.rd();}}
-function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.nc();a.hc();){b=Fb(a.pc(),9);c=b.sd();{d=c;}}return d;}
-function Eh(){xh();var a,b;for(a=ii.nc();a.hc();){b=ec(a.pc());null.ef();}}
-function Fh(){xh();return ag();}
-function ai(){xh();return bg();}
-function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
-function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
-function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
-function ei(){xh();var a;a=x;{Ch();}}
-function fi(){xh();var a;a=x;{return Dh();}}
-function gi(){xh();var a;a=x;{Eh();}}
-function hi(c,b,a){xh();$wnd.open(c,b,a);}
-var Ah,ii;function hj(c,b,a){b.appendChild(a);}
-function jj(b,a){return $doc.createElement(a);}
-function kj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
-function lj(c,a){var b;b=jj(c,'select');if(a){ak(c,b,'multiple',true);}return b;}
-function mj(c,b,a){b.cancelBubble=a;}
-function nj(b,a){return !(!a.altKey);}
-function oj(b,a){return a.clientX|| -1;}
-function pj(b,a){return a.clientY|| -1;}
-function qj(b,a){return !(!a.ctrlKey);}
-function rj(b,a){return a.currentTarget;}
-function sj(b,a){return a.which||(a.keyCode|| -1);}
-function tj(b,a){return !(!a.metaKey);}
-function uj(b,a){return !(!a.shiftKey);}
-function vj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
-function yj(d,a,b){var c=a[b];return c==null?null:String(c);}
-function wj(c,a,b){return !(!a[b]);}
-function xj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
-function zj(b,a){return a.__eventBits||0;}
-function Aj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.ub(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
-function Bj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
-function Cj(c,b,a){b.removeChild(a);}
-function Dj(c,b,a){b.removeAttribute(a);}
-function Ej(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
-function Fj(c,b,a,d){b.setAttribute(a,d);}
-function ck(c,a,b,d){a[b]=d;}
-function ak(c,a,b,d){a[b]=d;}
-function bk(c,a,b,d){a[b]=d;}
-function dk(c,a,b){a.__listener=b;}
-function ek(c,a,b){a.src=b;}
-function fk(c,a,b){if(!b){b='';}a.innerHTML=b;}
-function gk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
-function hk(c,b,a,d){b.style[a]=d;}
-function ik(c,b,a,d){b.style[a]=d;}
-function jk(a){return $doc.body.clientHeight;}
-function kk(a){return $doc.body.clientWidth;}
-function lk(a){return Aj(this,a);}
-function ji(){}
-_=ji.prototype=new xT();_.ub=lk;_.tN=nfc+'DOMImpl';_.tI=20;function zi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
-function Ai(b,a){return a.relatedTarget?a.relatedTarget:null;}
-function Bi(b,a){return a.target||null;}
-function Ci(b,a){return a.relatedTarget||null;}
-function Di(b,a){a.preventDefault();}
-function Ei(b,a){return a.toString();}
-function aj(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
-function Fi(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
-function bj(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
-function cj(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
-function dj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
-function ej(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
-function fj(b,a){$wnd.__captureElem=a;}
-function gj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
-function xi(){}
-_=xi.prototype=new ji();_.tN=nfc+'DOMImplStandard';_.tI=21;function mi(c,a,b){if(!a&& !b){return true;}else if(!a|| !b){return false;}return a.isSameNode(b);}
-function ni(b,a){return $doc.getBoxObjectFor(a).screenX-$doc.getBoxObjectFor($doc.documentElement).screenX;}
-function oi(b,a){return $doc.getBoxObjectFor(a).screenY-$doc.getBoxObjectFor($doc.documentElement).screenY;}
-function pi(d,c,e){var b=0,a=c.firstChild;while(a){if(a.isSameNode(e)){return b;}if(a.nodeType==1){++b;}a=a.nextSibling;}return -1;}
-function ri(a){dj(a);qi(a);}
-function qi(d){$wnd.addEventListener('mouseout',function(b){var a=$wnd.__captureElem;if(a&& !b.relatedTarget){if('html'==b.target.tagName.toLowerCase()){var c=$doc.createEvent('MouseEvents');c.initMouseEvent('mouseup',true,true,$wnd,0,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,null);a.dispatchEvent(c);}}},true);$wnd.addEventListener('DOMMouseScroll',$wnd.__dispatchCapturedMouseEvent,true);}
-function si(d,c,b){while(b){if(c.isSameNode(b)){return true;}try{b=b.parentNode;}catch(a){return false;}if(b&&b.nodeType!=1){b=null;}}return false;}
-function ti(b,a){if(a.isSameNode($wnd.__captureElem)){$wnd.__captureElem=null;}}
-function vi(c,b,a){gj(c,b,a);ui(c,b,a);}
-function ui(c,b,a){if(a&131072){b.addEventListener('DOMMouseScroll',$wnd.__dispatchEvent,false);}}
-function wi(d,a){var b=a.cloneNode(true);var c=$doc.createElement('DIV');c.appendChild(b);outer=c.innerHTML;b.innerHTML='';return outer;}
-function ki(){}
-_=ki.prototype=new xi();_.tN=nfc+'DOMImplMozilla';_.tI=22;function nk(a){tk=hb();return a;}
-function pk(c,d,b,a){return qk(c,null,null,d,b,a);}
-function qk(d,f,c,e,b,a){return ok(d,f,c,e,b,a);}
-function ok(e,g,d,f,c,b){var h=e.jb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=tk;b.xc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=tk;return false;}}
-function sk(){return new XMLHttpRequest();}
-function mk(){}
-_=mk.prototype=new xT();_.jb=sk;_.tN=nfc+'HTTPRequestImpl';_.tI=23;var tk=null;function Ck(a){return $wnd.__gwt_historyToken;}
-function Dk(a){bh(a);}
-function uk(){}
-_=uk.prototype=new xT();_.tN=nfc+'HistoryImpl';_.tI=24;function Ak(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;Dk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
-function yk(){}
-_=yk.prototype=new uk();_.tN=nfc+'HistoryImplStandard';_.tI=25;function xk(d,a){if(a==null||a.length==0){var c=$wnd.location.href;var b=c.indexOf('#');if(b!= -1)c=c.substring(0,b);$wnd.location=c+'#';}else{$wnd.location.hash=encodeURIComponent(a);}}
-function vk(){}
-_=vk.prototype=new yk();_.tN=nfc+'HistoryImplMozilla';_.tI=26;function al(a){DT(a,'This application is out of date, please click the refresh button on your browser');return a;}
-function Fk(){}
-_=Fk.prototype=new CT();_.tN=ofc+'IncompatibleRemoteServiceException';_.tI=27;function el(b,a){}
-function fl(b,a){}
-function hl(b,a){ET(b,a,null);return b;}
-function gl(){}
-_=gl.prototype=new CT();_.tN=ofc+'InvocationException';_.tI=28;function tl(){return this.b;}
-function ll(){}
-_=ll.prototype=new nS();_.wb=tl;_.tN=ofc+'SerializableException';_.tI=29;_.b=null;function pl(b,a){sl(a,b.Bd());}
-function ql(a){return a.b;}
-function rl(b,a){b.cf(ql(a));}
-function sl(a,b){a.b=b;}
-function vl(b,a){oS(b,a);return b;}
-function ul(){}
-_=ul.prototype=new nS();_.tN=ofc+'SerializationException';_.tI=30;function Al(a){hl(a,'Service implementation URL not specified');return a;}
-function zl(){}
-_=zl.prototype=new gl();_.tN=ofc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function Fl(b,a){}
-function am(a){return cS(a.wd());}
-function bm(b,a){b.De(a.a);}
-function em(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Ad());}}
-function fm(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.bf(a[c]);}}
-function im(b,a){}
-function jm(a){return a.Bd();}
-function km(b,a){b.cf(a);}
-function nm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.xd();}}
-function om(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.Ee(a[c]);}}
-function rm(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();bY(b,c);}}
-function sm(e,a){var b,c,d;d=a.b;e.Fe(d);b=a.nc();while(b.hc()){c=b.pc();e.bf(c);}}
-function vm(b,a){}
-function wm(a){return mZ(new kZ(),a.zd());}
-function xm(b,a){b.af(pZ(a));}
-function Am(e,b){var a,c,d,f;d=e.yd();for(a=0;a<d;++a){c=e.Ad();f=e.Ad();d1(b,c,f);}}
-function Bm(f,c){var a,b,d,e;e=c.c;f.Fe(e);b=b1(c);d=x0(b);while(p0(d)){a=q0(d);f.bf(a.vb());f.bf(a.bc());}}
-function Em(d,b){var a,c;c=d.yd();for(a=0;a<c;++a){x1(b,d.Ad());}}
-function Fm(c,a){var b;c.Fe(a.a.c);for(b=z1(a);AW(b);){c.bf(BW(b));}}
-function cn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();k2(b,c);}}
-function dn(e,a){var b,c,d;d=a.a.b;e.Fe(d);b=m2(a);while(b.hc()){c=b.pc();e.bf(c);}}
-function Bn(a){return a.j>2;}
-function Cn(b,a){b.i=a;}
-function Dn(a,b){a.j=b;}
-function en(){}
-_=en.prototype=new xT();_.tN=rfc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function gn(a){a.e=FX(new DX());}
-function hn(a){gn(a);return a;}
-function kn(b,a){dY(b.e);Dn(b,fo(b));Cn(b,fo(b));}
-function ln(a){var b,c;b=a.yd();if(b<0){return gY(a.e,-(b+1));}c=a.Fb(b);if(c===null){return null;}return a.hb(c);}
-function mn(b,a){bY(b.e,a);}
-function nn(){return ln(this);}
-function fn(){}
-_=fn.prototype=new en();_.Ad=nn;_.tN=rfc+'AbstractSerializationStreamReader';_.tI=33;function qn(b,a){b.E(a?'1':'0');}
-function rn(b,a){b.E(gV(a));}
-function sn(c,a){var b,d;if(a===null){tn(c,null);return;}b=c.tb(a);if(b>=0){rn(c,-(b+1));return;}c.de(a);d=c.yb(a);tn(c,d);c.ge(a,d);}
-function tn(a,b){rn(a,a.z(b));}
-function un(a){qn(this,a);}
-function vn(a){this.E(gV(a));}
-function wn(a){rn(this,a);}
-function xn(a){this.E(hV(a));}
-function yn(a){sn(this,a);}
-function zn(a){tn(this,a);}
-function on(){}
-_=on.prototype=new en();_.De=un;_.Ee=vn;_.Fe=wn;_.af=xn;_.bf=yn;_.cf=zn;_.tN=rfc+'AbstractSerializationStreamWriter';_.tI=34;function Fn(b,a){hn(b);b.c=a;return b;}
-function bo(b,a){if(!a){return null;}return b.d[a-1];}
-function co(b,a){b.b=jo(a);b.a=ko(b.b);kn(b,a);b.d=go(b);}
-function eo(a){return !(!a.b[--a.a]);}
-function fo(a){return a.b[--a.a];}
-function go(a){return a.b[--a.a];}
-function ho(a){return bo(a,fo(a));}
-function io(b){var a;a=this.c.kc(this,b);mn(this,a);this.c.gb(this,a,b);return a;}
-function jo(a){return eval(a);}
-function ko(a){return a.length;}
-function lo(a){return bo(this,a);}
-function mo(){return eo(this);}
-function no(){return this.b[--this.a];}
-function oo(){return fo(this);}
-function po(){return this.b[--this.a];}
-function qo(){return ho(this);}
-function En(){}
-_=En.prototype=new fn();_.hb=io;_.Fb=lo;_.wd=mo;_.xd=no;_.yd=oo;_.zd=po;_.Bd=qo;_.tN=rfc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function so(a){a.h=FX(new DX());}
-function to(d,c,a,b){so(d);d.f=c;d.b=a;d.e=b;return d;}
-function vo(c,a){var b=c.d[a];return b==null?-1:b;}
-function wo(c,a){var b=c.g[':'+a];return b==null?0:b;}
-function xo(a){a.c=0;a.d=ib();a.g=ib();dY(a.h);a.a=cU(new bU());if(Bn(a)){tn(a,a.b);tn(a,a.e);}}
-function yo(b,a,c){b.d[a]=c;}
-function zo(b,a,c){b.g[':'+a]=c;}
-function Ao(b){var a;a=cU(new bU());Bo(b,a);Do(b,a);Co(b,a);return iU(a);}
-function Bo(b,a){Fo(a,gV(b.j));Fo(a,gV(b.i));}
-function Co(b,a){eU(a,iU(b.a));}
-function Do(d,a){var b,c;c=d.h.b;Fo(a,gV(c));for(b=0;b<c;++b){Fo(a,Fb(gY(d.h,b),1));}return a;}
-function Eo(b){var a;if(b===null){return 0;}a=wo(this,b);if(a>0){return a;}bY(this.h,b);a=this.h.b;zo(this,b,a);return a;}
-function Fo(a,b){eU(a,b);dU(a,65535);}
-function ap(a){Fo(this.a,a);}
-function bp(a){return vo(this,mV(a));}
-function cp(a){var b,c;c=w(a);b=this.f.Eb(c);if(b!==null){c+='/'+b;}return c;}
-function dp(a){yo(this,mV(a),this.c++);}
-function ep(a,b){this.f.fe(this,a,b);}
-function fp(){return Ao(this);}
-function ro(){}
-_=ro.prototype=new on();_.z=Eo;_.E=ap;_.tb=bp;_.yb=cp;_.de=dp;_.ge=ep;_.tS=fp;_.tN=rfc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function pN(b,a){fO(b.ac(),a,true);}
-function rN(a){return Ae(a.rb());}
-function sN(a){return Be(a.rb());}
-function tN(a){return af(a.w,'offsetHeight');}
-function uN(a){return af(a.w,'offsetWidth');}
-function vN(b,a){fO(b.ac(),a,false);}
-function wN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
-function xN(b,a){if(b.w!==null){wN(b,b.w,a);}b.w=a;}
-function yN(b,c,a){if(c>=0){b.xe(c+'px');}if(a>=0){b.ne(a+'px');}}
-function zN(b,c,a){b.xe(c);b.ne(a);}
-function AN(b,a){eO(b.ac(),a);}
-function BN(b,a){Ef(b.rb(),a|cf(b.rb()));}
-function CN(){return this.w;}
-function DN(){return tN(this);}
-function EN(){return uN(this);}
-function FN(){return this.w;}
-function aO(a){return bf(a,'className');}
-function bO(a){return a.style.display!='none';}
-function cO(a){xN(this,a);}
-function dO(a){Df(this.w,'height',a);}
-function eO(a,b){xf(a,'className',b);}
-function fO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw DT(new CT(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=DU(j);if(uU(j)==0){throw sS(new rS(),'Style names cannot be empty');}i=aO(c);e=sU(i,j);while(e!=(-1)){if(e==0||lU(i,e-1)==32){f=e+uU(j);g=uU(i);if(f==g||f<g&&lU(i,f)==32){break;}}e=tU(i,j,e+1);}if(a){if(e==(-1)){if(uU(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=DU(AU(i,0,e));d=DU(zU(i,e+uU(j)));if(uU(b)==0){h=d;}else if(uU(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
-function gO(a){if(a===null||uU(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
-function hO(a,b){a.style.display=b?'':'none';}
-function iO(a){hO(this.w,a);}
-function jO(a){Df(this.w,'width',a);}
-function kO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
-function oN(){}
-_=oN.prototype=new xT();_.rb=CN;_.zb=DN;_.Ab=EN;_.ac=FN;_.je=cO;_.ne=dO;_.pe=gO;_.ue=iO;_.xe=jO;_.tS=kO;_.tN=sfc+'UIObject';_.tI=37;_.w=null;function wP(a){if(a.lc()){throw vS(new uS(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.rb(),a);a.ib();a.cd();}
-function xP(a){if(!a.lc()){throw vS(new uS(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.qd();}finally{a.kb();yf(a.rb(),null);a.t=false;}}
-function yP(a){if(ac(a.v,54)){Fb(a.v,54).be(a);}else if(a.v!==null){throw vS(new uS(),"This widget's parent does not implement HasWidgets");}}
-function zP(b,a){if(b.lc()){yf(b.rb(),null);}xN(b,a);if(b.lc()){yf(a,b);}}
-function AP(b,a){b.u=a;}
-function BP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.lc()){c.yc();}c.v=null;}else{if(a!==null){throw vS(new uS(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.lc()){c.rc();}}}
-function CP(){}
-function DP(){}
-function EP(){return this.t;}
-function FP(){wP(this);}
-function aQ(a){}
-function bQ(){xP(this);}
-function cQ(){}
-function dQ(){}
-function eQ(a){zP(this,a);}
-function uO(){}
-_=uO.prototype=new oN();_.ib=CP;_.kb=DP;_.lc=EP;_.rc=FP;_.tc=aQ;_.yc=bQ;_.cd=cQ;_.qd=dQ;_.je=eQ;_.tN=sfc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function AD(b,a){BP(a,b);}
-function CD(b,a){BP(a,null);}
-function DD(){var a;a=this.nc();while(a.hc()){a.pc();a.Fd();}}
-function ED(){var a,b;for(b=this.nc();b.hc();){a=Fb(b.pc(),20);a.rc();}}
-function FD(){var a,b;for(b=this.nc();b.hc();){a=Fb(b.pc(),20);a.yc();}}
-function aE(){}
-function bE(){}
-function zD(){}
-_=zD.prototype=new uO();_.F=DD;_.ib=ED;_.kb=FD;_.cd=aE;_.qd=bE;_.tN=sfc+'Panel';_.tI=39;function Bq(a){a.f=EO(new vO(),a);}
-function Cq(a){Bq(a);return a;}
-function Dq(c,a,b){yP(a);FO(c.f,a);td(b,a.rb());AD(c,a);}
-function Eq(d,b,a){var c;ar(d,a);if(b.v===d){c=cr(d,b);if(c<a){a--;}}return a;}
-function Fq(b,a){if(a<0||a>=b.f.c){throw new xS();}}
-function ar(b,a){if(a<0||a>b.f.c){throw new xS();}}
-function dr(b,a){return bP(b.f,a);}
-function cr(b,a){return cP(b.f,a);}
-function er(e,b,c,a,d){a=Eq(e,b,a);yP(b);dP(e.f,b,a);if(d){hf(c,b.rb(),a);}else{td(c,b.rb());}AD(e,b);}
-function fr(a){return eP(a.f);}
-function gr(b,c){var a;if(c.v!==b){return false;}CD(b,c);a=c.rb();nf(ff(a),a);gP(b.f,c);return true;}
-function hr(){return fr(this);}
-function ir(a){return this.be(dr(this,a));}
-function jr(a){return gr(this,a);}
-function Aq(){}
-_=Aq.prototype=new zD();_.nc=hr;_.ae=ir;_.be=jr;_.tN=sfc+'ComplexPanel';_.tI=40;function ip(a){Cq(a);a.je(xd());Df(a.rb(),'position','relative');Df(a.rb(),'overflow','hidden');return a;}
-function jp(a,b){Dq(a,b,a.rb());}
-function lp(b,c){var a;a=gr(b,c);if(a){mp(c.rb());}return a;}
-function mp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
-function np(a){return lp(this,a);}
-function hp(){}
-_=hp.prototype=new Aq();_.be=np;_.tN=sfc+'AbsolutePanel';_.tI=41;function op(){}
-_=op.prototype=new xT();_.tN=sfc+'AbstractImagePrototype';_.tI=42;function nu(){nu=v2;ru=(rQ(),wQ);}
-function lu(b,a){nu();pu(b,a);return b;}
-function mu(b,a){if(b.k===null){b.k=bu(new au());}bY(b.k,a);}
-function ou(b,a){switch(xe(a)){case 1:if(b.j!==null){yq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){du(b.k,b,a);}break;case 128:case 512:case 256:break;}}
-function pu(b,a){zP(b,a);BN(b,7041);}
-function qu(a){if(this.j===null){this.j=wq(new vq());}bY(this.j,a);}
-function su(a){ou(this,a);}
-function tu(a){pu(this,a);}
-function uu(a){vf(this.rb(),'disabled',!a);}
-function vu(a){if(a){tQ(ru,this.rb());}else{qQ(ru,this.rb());}}
-function wu(a){uQ(ru,this.rb(),a);}
-function ku(){}
-_=ku.prototype=new uO();_.x=qu;_.tc=su;_.je=tu;_.ke=uu;_.le=vu;_.oe=wu;_.tN=sfc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var ru;function tp(){tp=v2;nu();}
-function sp(b,a){tp();lu(b,a);return b;}
-function up(a){Af(this.rb(),a);}
-function rp(){}
-_=rp.prototype=new ku();_.me=up;_.tN=sfc+'ButtonBase';_.tI=44;function xp(){xp=v2;tp();}
-function vp(a){xp();sp(a,wd());yp(a.rb());AN(a,'gwt-Button');return a;}
-function wp(b,a){xp();vp(b);b.me(a);return b;}
-function yp(b){xp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
-function qp(){}
-_=qp.prototype=new rp();_.tN=sfc+'Button';_.tI=45;function Ap(a){Cq(a);a.e=ge();a.d=de();td(a.e,a.d);a.je(a.e);return a;}
-function Cp(c,b,a){xf(b,'align',a.a);}
-function Dp(c,b,a){Df(b,'verticalAlign',a.a);}
-function Ep(c,a){var b;b=ff(c.rb());xf(b,'height',a);}
-function Fp(b,c){var a;a=ff(b.rb());xf(a,'width',c);}
-function zp(){}
-_=zp.prototype=new Aq();_.he=Ep;_.ie=Fp;_.tN=sfc+'CellPanel';_.tI=46;_.d=null;_.e=null;function yV(d,a,b){var c;while(a.hc()){c=a.pc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
-function AV(a){throw vV(new uV(),'add');}
-function BV(b){var a;a=yV(this,this.nc(),b);return a!==null;}
-function CV(){return this.Be(yb('[Ljava.lang.Object;',[611],[12],[this.ye()],null));}
-function DV(a){var b,c,d;d=this.ye();if(a.a<d){a=tb(a,d);}b=0;for(c=this.nc();c.hc();){Ab(a,b++,c.pc());}if(a.a>d){Ab(a,d,null);}return a;}
-function EV(){var a,b,c;c=cU(new bU());a=null;eU(c,'[');b=this.nc();while(b.hc()){if(a!==null){eU(c,a);}else{a=', ';}eU(c,iV(b.pc()));}eU(c,']');return iU(c);}
-function xV(){}
-_=xV.prototype=new xT();_.C=AV;_.db=BV;_.Ae=CV;_.Be=DV;_.tS=EV;_.tN=wfc+'AbstractCollection';_.tI=47;function iW(b,a){throw yS(new xS(),'Index: '+a+', Size: '+b.b);}
-function jW(b,a){throw vV(new uV(),'add');}
-function kW(a){this.B(this.ye(),a);return true;}
-function lW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.ye()!=f.ye()){return false;}c=this.nc();d=f.nc();while(c.hc()){a=c.pc();b=d.pc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
-function mW(){var a,b,c,d;c=1;a=31;b=this.nc();while(b.hc()){d=b.pc();c=31*c+(d===null?0:d.hC());}return c;}
-function nW(){return bW(new aW(),this);}
-function oW(a){throw vV(new uV(),'remove');}
-function FV(){}
-_=FV.prototype=new xV();_.B=jW;_.C=kW;_.eQ=lW;_.hC=mW;_.nc=nW;_.ae=oW;_.tN=wfc+'AbstractList';_.tI=48;function EX(a){{cY(a);}}
-function FX(a){EX(a);return a;}
-function aY(c,a,b){if(a<0||a>c.b){iW(c,a);}nY(c.a,a,b);++c.b;}
-function bY(b,a){wY(b.a,b.b++,a);return true;}
-function dY(a){cY(a);}
-function cY(a){a.a=gb();a.b=0;}
-function fY(b,a){return hY(b,a)!=(-1);}
-function gY(b,a){if(a<0||a>=b.b){iW(b,a);}return sY(b.a,a);}
-function hY(b,a){return iY(b,a,0);}
-function iY(c,b,a){if(a<0){iW(c,a);}for(;a<c.b;++a){if(rY(b,sY(c.a,a))){return a;}}return (-1);}
-function jY(a){return a.b==0;}
-function kY(c,a){var b;b=gY(c,a);uY(c.a,a,1);--c.b;return b;}
-function lY(c,b){var a;a=hY(c,b);if(a==(-1)){return false;}kY(c,a);return true;}
-function mY(d,a,b){var c;c=gY(d,a);wY(d.a,a,b);return c;}
-function oY(a,b){aY(this,a,b);}
-function pY(a){return bY(this,a);}
-function nY(a,b,c){a.splice(b,0,c);}
-function qY(a){return fY(this,a);}
-function rY(a,b){return a===b||a!==null&&a.eQ(b);}
-function tY(a){return gY(this,a);}
-function sY(a,b){return a[b];}
-function vY(a){return kY(this,a);}
-function uY(a,c,b){a.splice(c,b);}
-function wY(a,b,c){a[b]=c;}
-function xY(){return this.b;}
-function yY(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,sY(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
-function DX(){}
-_=DX.prototype=new FV();_.B=oY;_.C=pY;_.db=qY;_.ec=tY;_.ae=vY;_.ye=xY;_.Be=yY;_.tN=wfc+'ArrayList';_.tI=49;_.a=null;_.b=0;function bq(a){FX(a);return a;}
-function dq(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),41);b.vc(c);}}
-function aq(){}
-_=aq.prototype=new DX();_.tN=sfc+'ChangeListenerCollection';_.tI=50;function jq(){jq=v2;tp();}
-function gq(a){jq();hq(a,Cd());AN(a,'gwt-CheckBox');return a;}
-function iq(b,a){jq();gq(b);nq(b,a);return b;}
-function hq(b,a){var c;jq();sp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.rb()));Ef(b.rb(),0);td(b.rb(),b.a);td(b.rb(),b.b);c='check'+ ++uq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
-function kq(a){return ef(a.b);}
-function lq(b){var a;a=b.lc()?'checked':'defaultChecked';return Fe(b.a,a);}
-function mq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
-function nq(b,a){Bf(b.b,a);}
-function oq(){yf(this.a,this);}
-function pq(){yf(this.a,null);mq(this,lq(this));}
-function qq(a){vf(this.a,'disabled',!a);}
-function rq(a){if(a){tQ(ru,this.a);}else{qQ(ru,this.a);}}
-function sq(a){Af(this.b,a);}
-function tq(a){uQ(ru,this.a,a);}
-function fq(){}
-_=fq.prototype=new rp();_.cd=oq;_.qd=pq;_.ke=qq;_.le=rq;_.me=sq;_.oe=tq;_.tN=sfc+'CheckBox';_.tI=51;_.a=null;_.b=null;var uq=0;function wq(a){FX(a);return a;}
-function yq(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),42);b.wc(c);}}
-function vq(){}
-_=vq.prototype=new DX();_.tN=sfc+'ClickListenerCollection';_.tI=52;function mr(a,b){if(a.k!==null){throw vS(new uS(),'Composite.initWidget() may only be called once.');}yP(b);a.je(b.rb());a.k=b;BP(b,a);}
-function nr(){if(this.k===null){throw vS(new uS(),'initWidget() was never called in '+w(this));}return this.w;}
-function or(){if(this.k!==null){return this.k.lc();}return false;}
-function pr(){this.k.rc();this.cd();}
-function qr(){try{this.qd();}finally{this.k.yc();}}
-function kr(){}
-_=kr.prototype=new uO();_.rb=nr;_.lc=or;_.rc=pr;_.yc=qr;_.tN=sfc+'Composite';_.tI=53;_.k=null;function sr(a){Cq(a);a.je(xd());return a;}
-function ur(b,c){var a;a=c.rb();Df(a,'width','100%');Df(a,'height','100%');c.ue(false);}
-function vr(b,c,a){er(b,c,b.rb(),a,true);ur(b,c);}
-function wr(b,c){var a;a=gr(b,c);if(a){xr(b,c);if(b.b===c){b.b=null;}}return a;}
-function xr(a,b){Df(b.rb(),'width','');Df(b.rb(),'height','');b.ue(true);}
-function yr(b,a){Fq(b,a);if(b.b!==null){b.b.ue(false);}b.b=dr(b,a);b.b.ue(true);}
-function zr(a){return wr(this,a);}
-function rr(){}
-_=rr.prototype=new Aq();_.be=zr;_.tN=sfc+'DeckPanel';_.tI=54;_.b=null;function aH(a){bH(a,xd());return a;}
-function bH(b,a){b.je(a);return b;}
-function cH(a,b){if(a.r!==null){throw vS(new uS(),'SimplePanel can only contain one child widget');}a.we(b);}
-function eH(a,b){if(b===a.r){return;}if(b!==null){yP(b);}if(a.r!==null){a.be(a.r);}a.r=b;if(b!==null){td(a.qb(),a.r.rb());AD(a,b);}}
-function fH(){return this.rb();}
-function gH(){return BG(new zG(),this);}
-function hH(a){if(this.r!==a){return false;}CD(this,a);nf(this.qb(),a.rb());this.r=null;return true;}
-function iH(a){eH(this,a);}
-function yG(){}
-_=yG.prototype=new zD();_.qb=fH;_.nc=gH;_.be=hH;_.we=iH;_.tN=sfc+'SimplePanel';_.tI=55;_.r=null;function kE(){kE=v2;AE=fR(new aR());}
-function gE(a){kE();bH(a,hR(AE));rE(a,0,0);return a;}
-function hE(b,a){kE();gE(b);b.k=a;return b;}
-function iE(c,a,b){kE();hE(c,a);c.o=b;return c;}
-function jE(b,a){if(a.blur){a.blur();}}
-function lE(a){return iR(AE,a.rb());}
-function mE(a){return uN(a);}
-function nE(a){oE(a,false);}
-function oE(b,a){if(!b.p){return;}b.p=false;lp(oG(),b);b.rb();}
-function pE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.ne(a.l);}if(a.m!==null){b.xe(a.m);}}}
-function qE(e,b){var a,c,d,f;d=ve(b);c=kf(e.rb(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){oE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){jE(e,d);return false;}}}return !e.o||c;}
-function rE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.rb();Df(a,'left',b+'px');Df(a,'top',d+'px');}
-function sE(a,b){eH(a,b);pE(a);}
-function tE(a,b){a.m=b;pE(a);if(uU(b)==0){a.m=null;}}
-function uE(a){if(a.p){return;}a.p=true;sd(a);Df(a.rb(),'position','absolute');if(a.q!=(-1)){rE(a,a.n,a.q);}jp(oG(),a);a.rb();}
-function vE(){return lE(this);}
-function wE(){return tN(this);}
-function xE(){return mE(this);}
-function yE(){return iR(AE,this.rb());}
-function zE(){nE(this);}
-function BE(){pf(this);xP(this);}
-function CE(a){return qE(this,a);}
-function DE(a){this.l=a;pE(this);if(uU(a)==0){this.l=null;}}
-function EE(b){var a;a=lE(this);if(b===null||uU(b)==0){of(a,'title');}else{uf(a,'title',b);}}
-function FE(a){Df(this.rb(),'visibility',a?'visible':'hidden');this.rb();}
-function aF(a){sE(this,a);}
-function bF(a){tE(this,a);}
-function fE(){}
-_=fE.prototype=new yG();_.qb=vE;_.zb=wE;_.Ab=xE;_.ac=yE;_.ic=zE;_.yc=BE;_.zc=CE;_.ne=DE;_.pe=EE;_.ue=FE;_.we=aF;_.xe=bF;_.tN=sfc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var AE;function Fr(){Fr=v2;kE();}
-function Br(a){a.e=jz(new nw());a.j=rt(new lt());}
-function Cr(a){Fr();Dr(a,false);return a;}
-function Dr(b,a){Fr();Er(b,a,true);return b;}
-function Er(c,a,b){Fr();iE(c,a,b);Br(c);c.j.ve(0,0,c.e);c.j.ne('100%');xy(c.j,0);zy(c.j,0);Ay(c.j,0);cx(c.j.n,1,0,'100%');hx(c.j.n,1,0,'100%');bx(c.j.n,1,0,(uz(),vz),(Dz(),Fz));sE(c,c.j);AN(c,'gwt-DialogBox');AN(c.e,'Caption');eC(c.e,c);return c;}
-function as(b,a){nz(b.e,a);}
-function bs(b,a){hC(b.e,a);}
-function cs(a,b){if(a.f!==null){wy(a.j,a.f);}if(b!==null){a.j.ve(1,0,b);}a.f=b;}
-function ds(a){if(xe(a)==4){if(kf(this.e.rb(),ve(a))){ye(a);}}return qE(this,a);}
-function es(a,b,c){this.i=true;tf(this.e.rb());this.g=b;this.h=c;}
-function fs(a){}
-function gs(a){}
-function hs(c,d,e){var a,b;if(this.i){a=d+rN(this);b=e+sN(this);rE(this,a-this.g,b-this.h);}}
-function is(a,b,c){this.i=false;mf(this.e.rb());}
-function js(a){if(this.f!==a){return false;}wy(this.j,a);return true;}
-function ks(a){cs(this,a);}
-function ls(a){tE(this,a);this.j.xe('100%');}
-function Ar(){}
-_=Ar.prototype=new fE();_.zc=ds;_.ed=es;_.fd=fs;_.gd=gs;_.hd=hs;_.id=is;_.be=js;_.we=ks;_.xe=ls;_.tN=sfc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function xs(){xs=v2;Ds=new ns();Es=new ns();Fs=new ns();at=new ns();bt=new ns();}
-function us(a){a.b=(uz(),wz);a.c=(Dz(),aA);}
-function vs(a){xs();Ap(a);us(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
-function ws(c,d,a){var b;if(a===Ds){if(d===c.a){return;}else if(c.a!==null){throw sS(new rS(),'Only one CENTER widget may be added');}}yP(d);FO(c.f,d);if(a===Ds){c.a=d;}b=qs(new ps(),a);AP(d,b);As(c,d,c.b);Bs(c,d,c.c);ys(c);AD(c,d);}
-function ys(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=eP(p.f);zO(h);){c=AO(h);e=c.u.a;if(e===Fs||e===at){++l;}else if(e===Es||e===bt){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[633],[33],[l],null);for(g=0;g<l;++g){m[g]=new ss();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=eP(p.f);zO(h);){c=AO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===Fs){hf(m[j].b,o,m[j].a);td(o,c.rb());wf(o,'colSpan',f-q+1);++j;}else if(i.a===at){hf(m[n].b,o,m[n].a);td(o,c.rb());wf(o,'colSpan',f-q+1);--n;}else if(i.a===bt){k=m[j];hf(k.b,o,k.a++);td(o,c.rb());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===Es){k=m[j];hf(k.b,o,k.a);td(o,c.rb());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===Ds){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.rb());}}
-function zs(b,c){var a;a=gr(b,c);if(a){if(c===b.a){b.a=null;}ys(b);}return a;}
-function As(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
-function Bs(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
-function Cs(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
-function ct(a){return zs(this,a);}
-function dt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
-function et(a,b){Cs(this,a,b);}
-function ms(){}
-_=ms.prototype=new zp();_.be=ct;_.he=dt;_.ie=et;_.tN=sfc+'DockPanel';_.tI=58;_.a=null;var Ds,Es,Fs,at,bt;function ns(){}
-_=ns.prototype=new xT();_.tN=sfc+'DockPanel$DockLayoutConstant';_.tI=59;function qs(b,a){b.a=a;return b;}
-function ps(){}
-_=ps.prototype=new xT();_.tN=sfc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function ss(){}
-_=ss.prototype=new xT();_.tN=sfc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function gt(a){a.je(yd('input'));xf(a.rb(),'type','file');AN(a,'gwt-FileUpload');return a;}
-function it(a){return bf(a.rb(),'value');}
-function jt(b,a){xf(b.rb(),'name',a);}
-function ft(){}
-_=ft.prototype=new uO();_.tN=sfc+'FileUpload';_.tI=62;function by(a){a.s=xx(new sx());}
-function cy(a){by(a);a.q=ge();a.m=de();td(a.q,a.m);a.je(a.q);BN(a,1);return a;}
-function dy(b,a){if(b.r===null){b.r=fK(new eK());}bY(b.r,a);}
-function ey(d,c,b){var a;fy(d,c);if(b<0){throw yS(new xS(),'Column '+b+' must be non-negative: '+b);}a=d.pb(c);if(a<=b){throw yS(new xS(),'Column index: '+b+', Column size: '+d.pb(c));}}
-function fy(c,a){var b;b=c.Cb();if(a>=b||a<0){throw yS(new xS(),'Row index: '+a+', Row size: '+b);}}
-function gy(e,c,b,a){var d;d=Ew(e.n,c,b);ty(e,d,a);return d;}
-function hy(d){var a,b,c;for(c=0;c<d.Cb();++c){for(b=0;b<d.pb(c);++b){a=py(d,c,b);if(a!==null){wy(d,a);}}}}
-function jy(a){return ee();}
-function ky(c,b,a){return b.rows[a].cells.length;}
-function ly(a){return my(a,a.m);}
-function my(b,a){return a.rows.length;}
-function ny(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(pU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
-function oy(d,c,a){var b;ey(d,c,a);b=Dw(d.n,c,a);return ef(b);}
-function qy(c,b,a){ey(c,b,a);return py(c,b,a);}
-function py(e,d,b){var a,c;c=Ew(e.n,d,b);a=df(c);if(a===null){return null;}else{return zx(e.s,a);}}
-function ry(d,b,a){var c,e;e=qx(d.p,d.m,b);c=d.eb();hf(e,c,a);}
-function sy(b,a){var c;if(a!=vt(b)){fy(b,a);}c=fe();hf(b.m,c,a);return a;}
-function ty(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=zx(d.s,b);}if(e!==null){wy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
-function wy(b,c){var a;if(c.v!==b){return false;}CD(b,c);a=c.rb();nf(ff(a),a);Cx(b.s,a);return true;}
-function uy(d,b,a){var c,e;ey(d,b,a);c=gy(d,b,a,false);e=qx(d.p,d.m,b);nf(e,c);}
-function vy(d,c){var a,b;b=d.pb(c);for(a=0;a<b;++a){gy(d,c,a,false);}nf(d.m,qx(d.p,d.m,c));}
-function xy(a,b){xf(a.q,'border',''+b);}
-function yy(b,a){b.n=a;}
-function zy(b,a){wf(b.q,'cellPadding',a);}
-function Ay(b,a){wf(b.q,'cellSpacing',a);}
-function By(b,a){b.o=a;lx(b.o);}
-function Cy(e,c,a,b){var d;cw(e,c,a);d=gy(e,c,a,b===null);if(b!==null){Af(d,b);}}
-function Dy(b,a){b.p=a;}
-function Ey(e,b,a,d){var c;e.ud(b,a);c=gy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
-function Fy(d,b,a,e){var c;d.ud(b,a);if(e!==null){yP(e);c=gy(d,b,a,true);Ax(d.s,e);td(c,e.rb());AD(d,e);}}
-function az(){hy(this);}
-function bz(){return jy(this);}
-function cz(b,a){ry(this,b,a);}
-function dz(){return Dx(this.s);}
-function ez(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=ny(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);hK(this.r,this,d,b);}break;}default:}}
-function hz(a){return wy(this,a);}
-function fz(b,a){uy(this,b,a);}
-function gz(a){vy(this,a);}
-function iz(b,a,c){Fy(this,b,a,c);}
-function ow(){}
-_=ow.prototype=new zD();_.F=az;_.eb=bz;_.jc=cz;_.nc=dz;_.tc=ez;_.be=hz;_.Cd=fz;_.Ed=gz;_.ve=iz;_.tN=sfc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function rt(a){cy(a);yy(a,nt(new mt(),a));Dy(a,nx(new mx(),a));By(a,jx(new ix(),a));return a;}
-function tt(b,a){fy(b,a);return ky(b,b.m,a);}
-function ut(a){return Fb(a.n,43);}
-function vt(a){return ly(a);}
-function wt(b,a){return sy(b,a);}
-function xt(d,b){var a,c;if(b<0){throw yS(new xS(),'Cannot create a row with a negative index: '+b);}c=vt(d);for(a=c;a<=b;a++){wt(d,a);}}
-function yt(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
-function zt(a){return tt(this,a);}
-function At(){return vt(this);}
-function Bt(b,a){ry(this,b,a);}
-function Ct(d,b){var a,c;xt(this,d);if(b<0){throw yS(new xS(),'Cannot create a column with a negative index: '+b);}a=tt(this,d);c=b+1-a;if(c>0){yt(this.m,d,c);}}
-function Dt(a){xt(this,a);}
-function Et(b,a){uy(this,b,a);}
-function Ft(a){vy(this,a);}
-function lt(){}
-_=lt.prototype=new ow();_.pb=zt;_.Cb=At;_.jc=Bt;_.ud=Ct;_.vd=Dt;_.Cd=Et;_.Ed=Ft;_.tN=sfc+'FlexTable';_.tI=64;function zw(b,a){b.a=a;return b;}
-function Bw(c,b,a){c.a.ud(b,a);return Cw(c,c.a.m,b,a);}
-function Cw(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
-function Dw(c,b,a){ey(c.a,b,a);return Cw(c,c.a.m,b,a);}
-function Ew(c,b,a){return Cw(c,c.a.m,b,a);}
-function Fw(d,c,a){var b;b=Dw(d,c,a);return bO(b);}
-function ax(e,b,a,c){var d;ey(e.a,b,a);d=Cw(e,e.a.m,b,a);fO(d,c,false);}
-function bx(d,c,a,b,e){dx(d,c,a,b);fx(d,c,a,e);}
-function cx(e,d,a,c){var b;e.a.ud(d,a);b=Cw(e,e.a.m,d,a);xf(b,'height',c);}
-function dx(e,d,b,a){var c;e.a.ud(d,b);c=Cw(e,e.a.m,d,b);xf(c,'align',a.a);}
-function ex(d,b,a,c){d.a.ud(b,a);eO(Cw(d,d.a.m,b,a),c);}
-function fx(d,c,b,a){d.a.ud(c,b);Df(Cw(d,d.a.m,c,b),'verticalAlign',a.a);}
-function gx(d,c,a,e){var b;b=Bw(d,c,a);hO(b,e);}
-function hx(c,b,a,d){c.a.ud(b,a);xf(Cw(c,c.a.m,b,a),'width',d);}
-function yw(){}
-_=yw.prototype=new xT();_.tN=sfc+'HTMLTable$CellFormatter';_.tI=65;function nt(b,a){zw(b,a);return b;}
-function pt(d,c,b,a){wf(Bw(d,c,b),'colSpan',a);}
-function qt(d,b,a,c){wf(Bw(d,b,a),'rowSpan',c);}
-function mt(){}
-_=mt.prototype=new yw();_.tN=sfc+'FlexTable$FlexCellFormatter';_.tI=66;function bu(a){FX(a);return a;}
-function eu(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),44);b.Bc(c);}}
-function du(c,b,a){switch(xe(a)){case 2048:eu(c,b);break;case 4096:fu(c,b);break;}}
-function fu(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),44);b.dd(c);}}
-function au(){}
-_=au.prototype=new DX();_.tN=sfc+'FocusListenerCollection';_.tI=67;function iu(){iu=v2;ju=(rQ(),vQ);}
-var ju;function yu(a){FX(a);return a;}
-function Au(f,e,d){var a,b,c;a=uv(new tv(),e,d);for(c=f.nc();c.hc();){b=Fb(c.pc(),45);b.kd(a);}}
-function Bu(e,d){var a,b,c;a=new wv();for(c=e.nc();c.hc();){b=Fb(c.pc(),45);b.ld(a);}return a.a;}
-function xu(){}
-_=xu.prototype=new DX();_.tN=sfc+'FormHandlerCollection';_.tI=68;function ev(){ev=v2;ov=new xQ();}
-function cv(a){ev();bH(a,zd());a.b='FormPanel_'+ ++nv;lv(a,a.b);BN(a,32768);return a;}
-function dv(b,a){if(b.a===null){b.a=yu(new xu());}bY(b.a,a);}
-function fv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
-function gv(a){if(a.a!==null){return !Bu(a.a,a);}return true;}
-function hv(a){if(a.a!==null){eg(Fu(new Eu(),a));}}
-function iv(a,b){xf(a.rb(),'action',b);}
-function jv(b,a){CQ(ov,b.rb(),a);}
-function kv(b,a){xf(b.rb(),'method',a);}
-function lv(b,a){xf(b.rb(),'target',a);}
-function mv(a){if(a.a!==null){if(Bu(a.a,a)){return;}}DQ(ov,a.rb(),a.c);}
-function pv(){wP(this);fv(this);td(nG(),this.c);BQ(ov,this.c,this.rb(),this);}
-function qv(){xP(this);EQ(ov,this.c,this.rb());nf(nG(),this.c);this.c=null;}
-function rv(){var a;a=x;{return gv(this);}}
-function sv(){var a;a=x;{hv(this);}}
-function Du(){}
-_=Du.prototype=new yG();_.rc=pv;_.yc=qv;_.Cc=rv;_.Dc=sv;_.tN=sfc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var nv=0,ov;function Fu(b,a){b.a=a;return b;}
-function bv(){Au(this.a.a,this,AQ((ev(),ov),this.a.c));}
-function Eu(){}
-_=Eu.prototype=new xT();_.nb=bv;_.tN=sfc+'FormPanel$1';_.tI=70;function EZ(){}
-_=EZ.prototype=new xT();_.tN=wfc+'EventObject';_.tI=71;function uv(c,b,a){c.a=a;return c;}
-function tv(){}
-_=tv.prototype=new EZ();_.tN=sfc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function yv(b,a){b.a=a;}
-function wv(){}
-_=wv.prototype=new EZ();_.tN=sfc+'FormSubmitEvent';_.tI=73;_.a=false;function Av(a){a.je(Ad());return a;}
-function Bv(a,b){Av(a);Dv(a,b);return a;}
-function Dv(a,b){xf(a.rb(),'src',b);}
-function zv(){}
-_=zv.prototype=new uO();_.tN=sfc+'Frame';_.tI=74;function Fv(a){cy(a);yy(a,zw(new yw(),a));Dy(a,nx(new mx(),a));By(a,jx(new ix(),a));return a;}
-function aw(c,b,a){Fv(c);gw(c,b,a);return c;}
-function cw(c,b,a){dw(c,b);if(a<0){throw yS(new xS(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw yS(new xS(),'Column index: '+a+', Column size: '+c.k);}}
-function dw(b,a){if(a<0){throw yS(new xS(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw yS(new xS(),'Row index: '+a+', Row size: '+b.l);}}
-function gw(c,b,a){ew(c,a);fw(c,b);}
-function ew(d,a){var b,c;if(d.k==a){return;}if(a<0){throw yS(new xS(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Cd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.jc(b,c);}}}d.k=a;}
-function fw(b,a){if(b.l==a){return;}if(a<0){throw yS(new xS(),'Cannot set number of rows to '+a);}if(b.l<a){hw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.Ed(--b.l);}}}
-function hw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
-function iw(){var a;a=jy(this);Af(a,'&nbsp;');return a;}
-function jw(a){return this.k;}
-function kw(){return this.l;}
-function lw(b,a){cw(this,b,a);}
-function mw(a){dw(this,a);}
-function Ev(){}
-_=Ev.prototype=new ow();_.eb=iw;_.pb=jw;_.Cb=kw;_.ud=lw;_.vd=mw;_.tN=sfc+'Grid';_.tI=75;_.k=0;_.l=0;function bC(a){a.je(xd());BN(a,131197);AN(a,'gwt-Label');return a;}
-function cC(b,a){bC(b);hC(b,a);return b;}
-function dC(b,a){if(b.a===null){b.a=wq(new vq());}bY(b.a,a);}
-function eC(b,a){if(b.b===null){b.b=gD(new fD());}bY(b.b,a);}
-function gC(a){return ef(a.rb());}
-function hC(b,a){Bf(b.rb(),a);}
-function iC(a,b){Df(a.rb(),'whiteSpace',b?'normal':'nowrap');}
-function jC(a){switch(xe(a)){case 1:if(this.a!==null){yq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){kD(this.b,this,a);}break;case 131072:break;}}
-function aC(){}
-_=aC.prototype=new uO();_.tc=jC;_.tN=sfc+'Label';_.tI=76;_.a=null;_.b=null;function jz(a){bC(a);a.je(xd());BN(a,125);AN(a,'gwt-HTML');return a;}
-function kz(b,a){jz(b);nz(b,a);return b;}
-function lz(b,a,c){kz(b,a);iC(b,c);return b;}
-function nz(b,a){Af(b.rb(),a);}
-function nw(){}
-_=nw.prototype=new aC();_.tN=sfc+'HTML';_.tI=77;function qw(a){{tw(a);}}
-function rw(b,a){b.c=a;qw(b);return b;}
-function tw(a){while(++a.b<a.c.b.b){if(gY(a.c.b,a.b)!==null){return;}}}
-function uw(a){return a.b<a.c.b.b;}
-function vw(){return uw(this);}
-function ww(){var a;if(!uw(this)){throw new d2();}a=gY(this.c.b,this.b);this.a=this.b;tw(this);return a;}
-function xw(){var a;if(this.a<0){throw new uS();}a=Fb(gY(this.c.b,this.a),20);yP(a);this.a=(-1);}
-function pw(){}
-_=pw.prototype=new xT();_.hc=vw;_.pc=ww;_.Fd=xw;_.tN=sfc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function jx(b,a){b.b=a;return b;}
-function lx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
-function ix(){}
-_=ix.prototype=new xT();_.tN=sfc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function nx(b,a){b.a=a;return b;}
-function px(b,a){b.a.vd(a);return qx(b,b.a.m,a);}
-function qx(c,a,b){return a.rows[b];}
-function rx(c,a,b){eO(px(c,a),b);}
-function mx(){}
-_=mx.prototype=new xT();_.tN=sfc+'HTMLTable$RowFormatter';_.tI=80;function wx(a){a.b=FX(new DX());}
-function xx(a){wx(a);return a;}
-function zx(c,a){var b;b=Fx(a);if(b<0){return null;}return Fb(gY(c.b,b),20);}
-function Ax(b,c){var a;if(b.a===null){a=b.b.b;bY(b.b,c);}else{a=b.a.a;mY(b.b,a,c);b.a=b.a.b;}ay(c.rb(),a);}
-function Bx(c,a,b){Ex(a);mY(c.b,b,null);c.a=ux(new tx(),b,c.a);}
-function Cx(c,a){var b;b=Fx(a);Bx(c,a,b);}
-function Dx(a){return rw(new pw(),a);}
-function Ex(a){a['__widgetID']=null;}
-function Fx(a){var b=a['__widgetID'];return b==null?-1:b;}
-function ay(a,b){a['__widgetID']=b;}
-function sx(){}
-_=sx.prototype=new xT();_.tN=sfc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function ux(c,a,b){c.a=a;c.b=b;return c;}
-function tx(){}
-_=tx.prototype=new xT();_.tN=sfc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function uz(){uz=v2;vz=sz(new rz(),'center');wz=sz(new rz(),'left');xz=sz(new rz(),'right');}
-var vz,wz,xz;function sz(b,a){b.a=a;return b;}
-function rz(){}
-_=rz.prototype=new xT();_.tN=sfc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function Dz(){Dz=v2;Ez=Bz(new Az(),'bottom');Fz=Bz(new Az(),'middle');aA=Bz(new Az(),'top');}
-var Ez,Fz,aA;function Bz(a,b){a.a=b;return a;}
-function Az(){}
-_=Az.prototype=new xT();_.tN=sfc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function eA(a){a.a=(uz(),wz);a.c=(Dz(),aA);}
-function fA(a){Ap(a);eA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function gA(b,c){var a;a=iA(b);td(b.b,a);Dq(b,c,a);}
-function iA(b){var a;a=ee();Cp(b,a,b.a);Dp(b,a,b.c);return a;}
-function jA(c,d,a){var b;ar(c,a);b=iA(c);hf(c.b,b,a);er(c,d,b,a,false);}
-function kA(c,d){var a,b;b=ff(d.rb());a=gr(c,d);if(a){nf(c.b,b);}return a;}
-function lA(b,a){b.c=a;}
-function mA(a){return kA(this,a);}
-function dA(){}
-_=dA.prototype=new zp();_.be=mA;_.tN=sfc+'HorizontalPanel';_.tI=85;_.b=null;function oA(a){a.je(xd());td(a.rb(),a.a=vd());BN(a,1);AN(a,'gwt-Hyperlink');return a;}
-function pA(c,b,a){oA(c);sA(c,b);rA(c,a);return c;}
-function rA(b,a){b.b=a;xf(b.a,'href','#'+a);}
-function sA(b,a){Bf(b.a,a);}
-function tA(a){if(xe(a)==1){ah(this.b);ye(a);}}
-function nA(){}
-_=nA.prototype=new uO();_.tc=tA;_.tN=sfc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function nB(){nB=v2;C0(new a0());}
-function jB(a){nB();mB(a,cB(new bB(),a));AN(a,'gwt-Image');return a;}
-function kB(a,b){nB();mB(a,dB(new bB(),a,b));AN(a,'gwt-Image');return a;}
-function lB(b,a){if(b.a===null){b.a=wq(new vq());}bY(b.a,a);}
-function mB(b,a){b.b=a;}
-function pB(a,b){a.b.re(a,b);}
-function oB(c,e,b,d,f,a){c.b.qe(c,e,b,d,f,a);}
-function qB(a){switch(xe(a)){case 1:{if(this.a!==null){yq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
-function uA(){}
-_=uA.prototype=new uO();_.tc=qB;_.tN=sfc+'Image';_.tI=87;_.a=null;_.b=null;function xA(){}
-function vA(){}
-_=vA.prototype=new xT();_.nb=xA;_.tN=sfc+'Image$1';_.tI=88;function FA(){}
-_=FA.prototype=new xT();_.tN=sfc+'Image$State';_.tI=89;function AA(){AA=v2;CA=new fQ();}
-function zA(d,b,f,c,e,g,a){AA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.je(iQ(CA,f,c,e,g,a));BN(b,131197);BA(d,b);return d;}
-function BA(b,a){eg(new vA());}
-function EA(a,b){mB(a,dB(new bB(),a,b));}
-function DA(b,e,c,d,f,a){if(!qU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;gQ(CA,b.rb(),e,c,d,f,a);BA(this,b);}}
-function yA(){}
-_=yA.prototype=new FA();_.re=EA;_.qe=DA;_.tN=sfc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var CA;function cB(b,a){a.je(Bd());BN(a,229501);return b;}
-function dB(b,a,c){cB(b,a);fB(b,a,c);return b;}
-function fB(b,a,c){zf(a.rb(),c);}
-function hB(a,b){fB(this,a,b);}
-function gB(b,e,c,d,f,a){mB(b,zA(new yA(),b,e,c,d,f,a));}
-function bB(){}
-_=bB.prototype=new FA();_.re=hB;_.qe=gB;_.tN=sfc+'Image$UnclippedState';_.tI=91;function uB(c,a,b){}
-function vB(c,a,b){}
-function wB(c,a,b){}
-function sB(){}
-_=sB.prototype=new xT();_.Fc=uB;_.ad=vB;_.bd=wB;_.tN=sfc+'KeyboardListenerAdapter';_.tI=92;function yB(a){FX(a);return a;}
-function AB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.Fc(e,b,d);}}
-function BB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.ad(e,b,d);}}
-function CB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.bd(e,b,d);}}
-function DB(d,c,a){var b;b=EB(a);switch(xe(a)){case 128:AB(d,c,bc(se(a)),b);break;case 512:CB(d,c,bc(se(a)),b);break;case 256:BB(d,c,bc(se(a)),b);break;}}
-function EB(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
-function xB(){}
-_=xB.prototype=new DX();_.tN=sfc+'KeyboardListenerCollection';_.tI=93;function zC(){zC=v2;nu();dD=new lC();}
-function sC(a){zC();tC(a,false);return a;}
-function tC(b,a){zC();lu(b,be(a));BN(b,1024);AN(b,'gwt-ListBox');return b;}
-function uC(b,a){if(b.b===null){b.b=bq(new aq());}bY(b.b,a);}
-function vC(b,a){EC(b,a,(-1));}
-function wC(b,a,c){FC(b,a,c,(-1));}
-function xC(b,a){if(a<0||a>=AC(b)){throw new xS();}}
-function yC(a){mC(dD,a.rb());}
-function AC(a){return oC(dD,a.rb());}
-function BC(b,a){xC(b,a);return pC(dD,b.rb(),a);}
-function CC(a){return af(a.rb(),'selectedIndex');}
-function DC(b,a){xC(b,a);return qC(dD,b.rb(),a);}
-function EC(c,b,a){FC(c,b,b,a);}
-function FC(c,b,d,a){jf(c.rb(),b,d,a);}
-function aD(b,a){xC(b,a);rC(dD,b.rb(),a);}
-function bD(b,a){wf(b.rb(),'selectedIndex',a);}
-function cD(a,b){wf(a.rb(),'size',b);}
-function eD(a){if(xe(a)==1024){if(this.b!==null){dq(this.b,this);}}else{ou(this,a);}}
-function kC(){}
-_=kC.prototype=new ku();_.tc=eD;_.tN=sfc+'ListBox';_.tI=94;_.b=null;var dD;function mC(b,a){a.options.length=0;}
-function oC(b,a){return a.options.length;}
-function pC(c,b,a){return b.options[a].text;}
-function qC(c,b,a){return b.options[a].value;}
-function rC(c,b,a){b.options[a]=null;}
-function lC(){}
-_=lC.prototype=new xT();_.tN=sfc+'ListBox$Impl';_.tI=95;function gD(a){FX(a);return a;}
-function iD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.ed(c,e,f);}}
-function jD(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.fd(c);}}
-function kD(e,c,a){var b,d,f,g,h;d=c.rb();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:iD(e,c,g,h);break;case 8:nD(e,c,g,h);break;case 64:mD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){jD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){lD(e,c);}break;}}
-function lD(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.gd(c);}}
-function mD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.hd(c,e,f);}}
-function nD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.id(c,e,f);}}
-function fD(){}
-_=fD.prototype=new DX();_.tN=sfc+'MouseListenerCollection';_.tI=96;function pD(){}
-_=pD.prototype=new xT();_.tN=sfc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=97;_.a=null;_.b=null;function tD(b,a){xD(a,b.Bd());yD(a,b.Bd());}
-function uD(a){return a.a;}
-function vD(a){return a.b;}
-function wD(b,a){b.cf(uD(a));b.cf(vD(a));}
-function xD(a,b){a.a=b;}
-function yD(a,b){a.b=b;}
-function wK(){wK=v2;nu();DK=new mR();}
-function sK(b,a){wK();lu(b,a);BN(b,1024);return b;}
-function tK(b,a){if(b.f===null){b.f=bq(new aq());}bY(b.f,a);}
-function uK(b,a){if(b.i===null){b.i=yB(new xB());}bY(b.i,a);}
-function vK(a){if(a.h!==null){ye(a.h);}}
-function xK(a){return bf(a.rb(),'value');}
-function yK(b,a){AK(b,a,0);}
-function zK(b,a){xf(b.rb(),'name',a);}
-function AK(c,b,a){if(a<0){throw yS(new xS(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>uU(xK(c))){throw yS(new xS(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+uU(xK(c)));}qR(DK,c.rb(),b,a);}
-function BK(b,a){xf(b.rb(),'value',a!==null?a:'');}
-function CK(a){if(this.g===null){this.g=wq(new vq());}bY(this.g,a);}
-function EK(a){var b;ou(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;DB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){yq(this.g,this);}}else if(b==1024){if(this.f!==null){dq(this.f,this);}}}
-function rK(){}
-_=rK.prototype=new ku();_.x=CK;_.tc=EK;_.tN=sfc+'TextBoxBase';_.tI=98;_.f=null;_.g=null;_.h=null;_.i=null;var DK;function eE(){eE=v2;wK();}
-function dE(a){eE();sK(a,Dd());AN(a,'gwt-PasswordTextBox');return a;}
-function cE(){}
-_=cE.prototype=new rK();_.tN=sfc+'PasswordTextBox';_.tI=99;function pF(b,a){qF(b,a,null);return b;}
-function qF(c,a,b){c.a=a;sF(c);return c;}
-function rF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=EF(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=EF(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=BF(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
-function sF(a){a.b=0;a.c={};a.d={};}
-function uF(b,a){return fY(vF(b,a,1),a);}
-function vF(c,b,a){var d;d=FX(new DX());if(b!==null&&a>0){xF(c,b,'',d,a);}return d;}
-function wF(a){return eF(new dF(),a);}
-function xF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=EF(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+bG(a);h.ze(f,l,c,b);}}else{for(j in k){var l=d+bG(j);if(l.indexOf(f)==0){c.C(l);}if(c.ye()>=b){return;}}for(var a in i){var l=d+bG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.ye()||h.b==1){h.lb(c,l);}else{for(var j in h.d){c.C(l+bG(j));}for(var g in h.c){c.C(l+bG(g)+'...');}}}}}}
-function yF(a){if(ac(a,1)){return rF(this,Fb(a,1));}else{throw vV(new uV(),'Cannot add non-Strings to PrefixTree');}}
-function zF(a){return rF(this,a);}
-function AF(a){if(ac(a,1)){return uF(this,Fb(a,1));}else{return false;}}
-function BF(a){return pF(new cF(),a);}
-function CF(b,c){var a;for(a=wF(this);hF(a);){b.C(c+Fb(kF(a),1));}}
-function DF(){return wF(this);}
-function EF(a){return Eb(58)+a;}
-function FF(){return this.b;}
-function aG(d,c,b,a){xF(this,d,c,b,a);}
-function bG(a){return zU(a,1);}
-function cF(){}
-_=cF.prototype=new xV();_.C=yF;_.D=zF;_.db=AF;_.lb=CF;_.nc=DF;_.ye=FF;_.ze=aG;_.tN=sfc+'PrefixTree';_.tI=100;_.a=0;_.b=0;_.c=null;_.d=null;function eF(a,b){iF(a);fF(a,b,'');return a;}
-function fF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
-function hF(a){return jF(a,true)!==null;}
-function iF(a){a.a=[];}
-function kF(a){var b;b=jF(a,false);if(b===null){if(!hF(a)){throw e2(new d2(),'No more elements in the iterator');}else{throw DT(new CT(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
-function jF(g,b){var d=g.a;var c=EF;var i=bG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
-function lF(b,a){fF(this,b,a);}
-function mF(){return hF(this);}
-function nF(){return kF(this);}
-function oF(){throw vV(new uV(),'PrefixTree does not support removal.  Use clear()');}
-function dF(){}
-_=dF.prototype=new xT();_.A=lF;_.hc=mF;_.pc=nF;_.Fd=oF;_.tN=sfc+'PrefixTree$PrefixTreeIterator';_.tI=101;_.a=null;function fG(){fG=v2;jq();}
-function dG(b,a){fG();hq(b,Ed(a));AN(b,'gwt-RadioButton');return b;}
-function eG(c,b,a){fG();dG(c,b);nq(c,a);return c;}
-function cG(){}
-_=cG.prototype=new fq();_.tN=sfc+'RadioButton';_.tI=102;function mG(){mG=v2;rG=C0(new a0());}
-function lG(b,a){mG();ip(b);if(a===null){a=nG();}b.je(a);b.rc();return b;}
-function oG(){mG();return pG(null);}
-function pG(c){mG();var a,b;b=Fb(c1(rG,c),48);if(b!==null){return b;}a=null;if(rG.c==0){qG();}d1(rG,c,b=lG(new gG(),a));return b;}
-function nG(){mG();return $doc.body;}
-function qG(){mG();yh(new hG());}
-function gG(){}
-_=gG.prototype=new hp();_.tN=sfc+'RootPanel';_.tI=103;var rG;function jG(){var a,b;for(b=cX(rX((mG(),rG)));jX(b);){a=Fb(kX(b),48);if(a.lc()){a.yc();}}}
-function kG(){return null;}
-function hG(){}
-_=hG.prototype=new xT();_.rd=jG;_.sd=kG;_.tN=sfc+'RootPanel$1';_.tI=104;function tG(a){aH(a);wG(a,false);BN(a,16384);return a;}
-function uG(b,a){tG(b);b.we(a);return b;}
-function wG(b,a){Df(b.rb(),'overflow',a?'scroll':'auto');}
-function xG(a){xe(a)==16384;}
-function sG(){}
-_=sG.prototype=new yG();_.tc=xG;_.tN=sfc+'ScrollPanel';_.tI=105;function AG(a){a.a=a.c.r!==null;}
-function BG(b,a){b.c=a;AG(b);return b;}
-function DG(){return this.a;}
-function EG(){if(!this.a||this.c.r===null){throw new d2();}this.a=false;return this.b=this.c.r;}
-function FG(){if(this.b!==null){this.c.be(this.b);}}
-function zG(){}
-_=zG.prototype=new xT();_.hc=DG;_.pc=EG;_.Fd=FG;_.tN=sfc+'SimplePanel$1';_.tI=106;_.b=null;function wH(b){var a;Cq(b);a=ge();b.je(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);AN(b,'gwt-StackPanel');return b;}
-function xH(a,b){BH(a,b,a.f.c);}
-function yH(c,d,b,a){xH(c,d);DH(c,c.f.c-1,b,a);}
-function AH(d,a){var b,c;while(a!==null&& !ud(a,d.rb())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return ES(b);}else{return (-1);}}a=ff(a);}return (-1);}
-function BH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=Eq(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);fO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');er(e,h,c,a,false);aI(e,a);if(e.b==(-1)){FH(e,0);}else{EH(e,a,false);if(e.b>=a){++e.b;}}}
-function CH(e,a,b){var c,d,f;c=gr(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}aI(e,d);}return c;}
-function DH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
-function EH(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);fO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);hO(d,e);dr(c,a).ue(e);}
-function FH(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){EH(b,b.b,false);}b.b=a;EH(b,b.b,true);}
-function aI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
-function bI(a){var b,c;if(xe(a)==1){c=ve(a);b=AH(this,c);if(b!=(-1)){FH(this,b);}}}
-function cI(a){return CH(this,dr(this,a),a);}
-function dI(a){return CH(this,a,cr(this,a));}
-function vH(){}
-_=vH.prototype=new Aq();_.tc=bI;_.ae=cI;_.be=dI;_.tN=sfc+'StackPanel';_.tI=107;_.a=null;_.b=(-1);function eI(){}
-_=eI.prototype=new xT();_.tN=sfc+'SuggestOracle$Request';_.tI=108;_.a=20;_.b=null;function gI(){}
-_=gI.prototype=new xT();_.tN=sfc+'SuggestOracle$Response';_.tI=109;_.a=null;function lI(b,a){pI(a,b.yd());qI(a,b.Bd());}
-function mI(a){return a.a;}
-function nI(a){return a.b;}
-function oI(b,a){b.Fe(mI(a));b.cf(nI(a));}
-function pI(a,b){a.a=b;}
-function qI(a,b){a.b=b;}
-function tI(b,a){wI(a,Fb(b.Ad(),49));}
-function uI(a){return a.a;}
-function vI(b,a){b.bf(uI(a));}
-function wI(a,b){a.a=b;}
-function yI(a){a.a=fA(new dA());}
-function zI(c){var a,b;yI(c);mr(c,c.a);BN(c,1);AN(c,'gwt-TabBar');lA(c.a,(Dz(),Ez));a=lz(new nw(),'&nbsp;',true);b=lz(new nw(),'&nbsp;',true);AN(a,'gwt-TabBarFirst');AN(b,'gwt-TabBarRest');a.ne('100%');b.ne('100%');gA(c.a,a);gA(c.a,b);a.ne('100%');c.a.he(a,'100%');c.a.ie(b,'100%');return c;}
-function AI(b,a){if(b.c===null){b.c=fJ(new eJ());}bY(b.c,a);}
-function BI(b,a){if(a<0||a>EI(b)){throw new xS();}}
-function CI(b,a){if(a<(-1)||a>=EI(b)){throw new xS();}}
-function EI(a){return a.a.f.c-2;}
-function FI(e,d,a,b){var c;BI(e,b);if(a){c=kz(new nw(),d);}else{c=cC(new aC(),d);}iC(c,false);dC(c,e);AN(c,'gwt-TabBarItem');jA(e.a,c,b+1);}
-function aJ(b,a){var c;CI(b,a);c=dr(b.a,a+1);if(c===b.b){b.b=null;}kA(b.a,c);}
-function bJ(b,a){CI(b,a);if(b.c!==null){if(!hJ(b.c,b,a)){return false;}}cJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=dr(b.a,a+1);cJ(b,b.b,true);if(b.c!==null){iJ(b.c,b,a);}return true;}
-function cJ(c,a,b){if(a!==null){if(b){pN(a,'gwt-TabBarItem-selected');}else{vN(a,'gwt-TabBarItem-selected');}}}
-function dJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(dr(this.a,a)===b){bJ(this,a-1);return;}}}
-function xI(){}
-_=xI.prototype=new kr();_.wc=dJ;_.tN=sfc+'TabBar';_.tI=110;_.b=null;_.c=null;function fJ(a){FX(a);return a;}
-function hJ(e,c,d){var a,b;for(a=e.nc();a.hc();){b=Fb(a.pc(),50);if(!b.sc(c,d)){return false;}}return true;}
-function iJ(e,c,d){var a,b;for(a=e.nc();a.hc();){b=Fb(a.pc(),50);b.nd(c,d);}}
-function eJ(){}
-_=eJ.prototype=new DX();_.tN=sfc+'TabListenerCollection';_.tI=111;function xJ(a){a.b=tJ(new sJ());a.a=mJ(new lJ(),a.b);}
-function yJ(b){var a;xJ(b);a=nO(new lO());oO(a,b.b);oO(a,b.a);a.he(b.a,'100%');b.b.xe('100%');AI(b.b,b);mr(b,a);AN(b,'gwt-TabPanel');AN(b.a,'gwt-TabPanelBottom');return b;}
-function zJ(c,d,b,a){DJ(c,d,b,a,c.a.f.c);}
-function CJ(b,a){return dr(b.a,a);}
-function BJ(a,b){return cr(a.a,b);}
-function DJ(d,e,c,a,b){oJ(d.a,e,c,a,b);}
-function EJ(b,a){return b.a.ae(a);}
-function FJ(b,a){bJ(b.b,a);}
-function aK(){return fr(this.a);}
-function bK(a,b){return true;}
-function cK(a,b){yr(this.a,b);}
-function dK(a){return pJ(this.a,a);}
-function kJ(){}
-_=kJ.prototype=new kr();_.nc=aK;_.sc=bK;_.nd=cK;_.be=dK;_.tN=sfc+'TabPanel';_.tI=112;function mJ(b,a){sr(b);b.a=a;return b;}
-function oJ(e,f,d,a,b){var c;c=cr(e,f);if(c!=(-1)){pJ(e,f);if(c<b){b--;}}vJ(e.a,d,a,b);vr(e,f,b);}
-function pJ(b,c){var a;a=cr(b,c);if(a!=(-1)){wJ(b.a,a);return wr(b,c);}return false;}
-function qJ(){throw vV(new uV(),'Use TabPanel.clear() to alter the DeckPanel');}
-function rJ(a){return pJ(this,a);}
-function lJ(){}
-_=lJ.prototype=new rr();_.F=qJ;_.be=rJ;_.tN=sfc+'TabPanel$TabbedDeckPanel';_.tI=113;_.a=null;function tJ(a){zI(a);return a;}
-function vJ(d,c,a,b){FI(d,c,a,b);}
-function wJ(b,a){aJ(b,a);}
-function sJ(){}
-_=sJ.prototype=new xI();_.tN=sfc+'TabPanel$UnmodifiableTabBar';_.tI=114;function fK(a){FX(a);return a;}
-function hK(f,e,d,a){var b,c;for(b=f.nc();b.hc();){c=Fb(b.pc(),51);c.uc(e,d,a);}}
-function eK(){}
-_=eK.prototype=new DX();_.tN=sfc+'TableListenerCollection';_.tI=115;function lK(){lK=v2;wK();}
-function kK(a){lK();sK(a,he());AN(a,'gwt-TextArea');return a;}
-function mK(a){return pR(DK,a.rb());}
-function nK(a){return af(a.rb(),'rows');}
-function oK(a,b){wf(a.rb(),'cols',b);}
-function pK(b,a){wf(b.rb(),'rows',a);}
-function jK(){}
-_=jK.prototype=new rK();_.tN=sfc+'TextArea';_.tI=116;function aL(){aL=v2;wK();}
-function FK(a){aL();sK(a,Fd());AN(a,'gwt-TextBox');return a;}
-function bL(b,a){wf(b.rb(),'size',a);}
-function qK(){}
-_=qK.prototype=new rK();_.tN=sfc+'TextBox';_.tI=117;function oM(a){a.a=C0(new a0());}
-function pM(a){qM(a,mL(new lL()));return a;}
-function qM(b,a){oM(b);b.d=a;b.je(xd());Df(b.rb(),'position','relative');b.c=sQ((iu(),ju));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.rb(),b.c);BN(b,1021);Ef(b.c,6144);b.g=eL(new dL(),b);bM(b.g,b);AN(b,'gwt-Tree');return b;}
-function sM(c,a){var b;b=vL(new sL(),a);rM(c,b);return b;}
-function rM(b,a){fL(b.g,a);}
-function tM(b,a){if(b.f===null){b.f=jM(new iM());}bY(b.f,a);}
-function uM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){BL(yL(c.g,a));}}
-function wM(d,a,c,b){if(b===null||ud(b,c)){return;}wM(d,a,c,ff(b));bY(a,hc(b,hg));}
-function xM(e,d,b){var a,c;a=FX(new DX());wM(e,a,e.rb(),b);c=zM(e,a,0,d);if(c!==null){if(kf(AL(c),b)){aM(c,!c.f,true);return true;}else if(kf(c.rb(),b)){aN(e,c,true,!hN(e,b));return true;}}return false;}
-function yM(b,a){if(!a.f){return a;}return yM(b,yL(a,a.c.b-1));}
-function zM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(gY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=yL(h,d);if(ud(b.rb(),c)){g=zM(i,a,e+1,yL(h,d));if(g===null){return b;}return g;}}return zM(i,a,e+1,h);}
-function AM(b,a){if(b.f!==null){mM(b.f,a);}}
-function BM(b,a){return yL(b.g,a);}
-function CM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[619],[20],[a.a.c],null);qX(a.a).Be(b);return uP(a,b);}
-function DM(h,g){var a,b,c,d,e,f,i,j;c=zL(g);{f=g.d;a=rN(h);b=sN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);tQ((iu(),ju),h.c);}}
-function EM(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=xL(c,d);if(!a|| !d.f){if(b<c.c.b-1){aN(e,yL(c,b+1),true,true);}else{EM(e,c,false);}}else if(d.c.b>0){aN(e,yL(d,0),true,true);}}
-function FM(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=xL(b,c);if(a>0){d=yL(b,a-1);aN(e,yM(e,d),true,true);}else{aN(e,b,true,true);}}
-function aN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){EL(d.b,false);}d.b=b;if(c&&d.b!==null){DM(d,d.b);EL(d.b,true);if(a&&d.f!==null){lM(d.f,d.b);}}}
-function dN(b,c){var a;a=Fb(c1(b.a,c),52);if(a===null){return false;}dM(a,null);return true;}
-function bN(b,a){hL(b.g,a);}
-function cN(a){while(a.g.c.b>0){bN(a,BM(a,0));}}
-function eN(b,a){if(a){tQ((iu(),ju),b.c);}else{qQ((iu(),ju),b.c);}}
-function fN(b,a){gN(b,a,true);}
-function gN(c,b,a){if(b===null){if(c.b===null){return;}EL(c.b,false);c.b=null;return;}aN(c,b,a,true);}
-function hN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
-function iN(){var a,b;for(b=CM(this);nP(b);){a=oP(b);a.rc();}yf(this.c,this);}
-function jN(){var a,b;for(b=CM(this);nP(b);){a=oP(b);a.yc();}yf(this.c,null);}
-function kN(){return CM(this);}
-function lN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(hN(this,b)){}else{eN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.rb(),hg))){xM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){aN(this,yL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{FM(this,this.b);ye(c);break;}case 40:{EM(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){FL(this.b,false);}else{f=this.b.g;if(f!==null){fN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){FL(this.b,true);}else if(this.b.c.b>0){fN(this,yL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=FX(new DX());wM(this,a,this.rb(),ve(c));e=zM(this,a,0,this.g);if(e!==this.b){gN(this,e,true);}}}case 256:{break;}}this.e=d;}
-function mN(){eM(this.g);}
-function nN(a){return dN(this,a);}
-function cL(){}
-_=cL.prototype=new uO();_.ib=iN;_.kb=jN;_.nc=kN;_.tc=lN;_.cd=mN;_.be=nN;_.tN=sfc+'Tree';_.tI=118;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function tL(a){a.c=FX(new DX());a.i=jB(new uA());}
-function uL(d){var a,b,c,e;tL(d);d.je(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.rb(),d.e);td(d.rb(),d.b);td(c,d.i.rb());td(b,d.d);Df(d.d,'display','inline');Df(d.rb(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');fO(d.d,'gwt-TreeItem',true);return d;}
-function vL(b,a){uL(b);CL(b,a);return b;}
-function yL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(gY(b.c,a),52);}
-function xL(b,a){return hY(b.c,a);}
-function zL(a){var b;b=a.l;{return null;}}
-function AL(a){return a.i.rb();}
-function BL(a){if(a.g!==null){a.g.Dd(a);}else if(a.j!==null){bN(a.j,a);}}
-function CL(b,a){dM(b,null);Af(b.d,a);}
-function DL(b,a){b.g=a;}
-function EL(b,a){if(b.h==a){return;}b.h=a;fO(b.d,'gwt-TreeItem-selected',a);}
-function FL(b,a){aM(b,a,true);}
-function aM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;fM(c);if(a&&c.j!==null){AM(c.j,c);}}
-function bM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){fN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){bM(Fb(gY(d.c,a),52),c);}fM(d);}
-function cM(a,b){a.k=b;}
-function dM(b,a){Af(b.d,'');b.l=a;}
-function fM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){hO(b.b,false);mQ((nL(),qL),b.i);return;}if(b.f){hO(b.b,true);mQ((nL(),rL),b.i);}else{hO(b.b,false);mQ((nL(),pL),b.i);}}
-function eM(c){var a,b;fM(c);for(a=0,b=c.c.b;a<b;++a){eM(Fb(gY(c.c,a),52));}}
-function gM(a){if(a.g!==null||a.j!==null){BL(a);}DL(a,this);bY(this.c,a);Df(a.rb(),'marginLeft','16px');td(this.b,a.rb());bM(a,this.j);if(this.c.b==1){fM(this);}}
-function hM(a){if(!fY(this.c,a)){return;}bM(a,null);nf(this.b,a.rb());DL(a,null);lY(this.c,a);if(this.c.b==0){fM(this);}}
-function sL(){}
-_=sL.prototype=new oN();_.y=gM;_.Dd=hM;_.tN=sfc+'TreeItem';_.tI=119;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function eL(b,a){b.a=a;uL(b);return b;}
-function fL(b,a){if(a.g!==null||a.j!==null){BL(a);}td(b.a.rb(),a.rb());bM(a,b.j);DL(a,null);bY(b.c,a);Cf(a.rb(),'marginLeft',0);}
-function hL(b,a){if(!fY(b.c,a)){return;}bM(a,null);DL(a,null);lY(b.c,a);nf(b.a.rb(),a.rb());}
-function iL(a){fL(this,a);}
-function jL(a){hL(this,a);}
-function dL(){}
-_=dL.prototype=new sL();_.y=iL;_.Dd=jL;_.tN=sfc+'Tree$1';_.tI=120;function nL(){nL=v2;oL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';pL=lQ(new kQ(),oL,0,0,16,16);qL=lQ(new kQ(),oL,16,0,16,16);rL=lQ(new kQ(),oL,32,0,16,16);}
-function mL(a){nL();return a;}
-function lL(){}
-_=lL.prototype=new xT();_.tN=sfc+'TreeImages_generatedBundle';_.tI=121;var oL,pL,qL,rL;function jM(a){FX(a);return a;}
-function lM(d,b){var a,c;for(a=d.nc();a.hc();){c=Fb(a.pc(),53);c.od(b);}}
-function mM(d,b){var a,c;for(a=d.nc();a.hc();){c=Fb(a.pc(),53);c.pd(b);}}
-function iM(){}
-_=iM.prototype=new DX();_.tN=sfc+'TreeListenerCollection';_.tI=122;function mO(a){a.a=(uz(),wz);a.b=(Dz(),aA);}
-function nO(a){Ap(a);mO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function oO(b,d){var a,c;c=fe();a=qO(b);td(c,a);td(b.d,c);Dq(b,d,a);}
-function qO(b){var a;a=ee();Cp(b,a,b.a);Dp(b,a,b.b);return a;}
-function rO(b,a){b.a=a;}
-function sO(b,a){b.b=a;}
-function tO(c){var a,b;b=ff(c.rb());a=gr(this,c);if(a){nf(this.d,ff(b));}return a;}
-function lO(){}
-_=lO.prototype=new zp();_.be=tO;_.tN=sfc+'VerticalPanel';_.tI=123;function EO(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[619],[20],[4],null);return b;}
-function FO(a,b){dP(a,b,a.c);}
-function bP(b,a){if(a<0||a>=b.c){throw new xS();}return b.a[a];}
-function cP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
-function dP(d,e,a){var b,c;if(a<0||a>d.c){throw new xS();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[619],[20],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
-function eP(a){return xO(new wO(),a);}
-function fP(c,b){var a;if(b<0||b>=c.c){throw new xS();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
-function gP(b,c){var a;a=cP(b,c);if(a==(-1)){throw new d2();}fP(b,a);}
-function vO(){}
-_=vO.prototype=new xT();_.tN=sfc+'WidgetCollection';_.tI=124;_.a=null;_.b=null;_.c=0;function xO(b,a){b.b=a;return b;}
-function zO(a){return a.a<a.b.c-1;}
-function AO(a){if(a.a>=a.b.c){throw new d2();}return a.b.a[++a.a];}
-function BO(){return zO(this);}
-function CO(){return AO(this);}
-function DO(){if(this.a<0||this.a>=this.b.c){throw new uS();}this.b.b.be(this.b.a[this.a--]);}
-function wO(){}
-_=wO.prototype=new xT();_.hc=BO;_.pc=CO;_.Fd=DO;_.tN=sfc+'WidgetCollection$WidgetIterator';_.tI=125;_.a=(-1);function tP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[619],[20],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
-function uP(b,a){return kP(new iP(),a,b);}
-function jP(a){a.e=a.c;{mP(a);}}
-function kP(a,b,c){a.c=b;a.d=c;jP(a);return a;}
-function mP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
-function nP(a){return a.a<a.c.a;}
-function oP(a){var b;if(!nP(a)){throw new d2();}a.b=a.a;b=a.c[a.a];mP(a);return b;}
-function pP(){return nP(this);}
-function qP(){return oP(this);}
-function rP(){if(this.b<0){throw new uS();}if(!this.f){this.e=tP(this.e);this.f=true;}dN(this.d,this.c[this.b]);this.b=(-1);}
-function iP(){}
-_=iP.prototype=new xT();_.hc=pP;_.pc=qP;_.Fd=rP;_.tN=sfc+'WidgetIterators$1';_.tI=126;_.a=(-1);_.b=(-1);_.f=false;function gQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
-function iQ(c,f,b,e,g,a){var d;d=ce();Af(d,jQ(c,f,b,e,g,a));return df(d);}
-function jQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
-function fQ(){}
-_=fQ.prototype=new xT();_.tN=tfc+'ClippedImageImpl';_.tI=127;function lQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
-function mQ(b,a){oB(a,b.d,b.b,b.c,b.e,b.a);}
-function kQ(){}
-_=kQ.prototype=new op();_.tN=tfc+'ClippedImagePrototype';_.tI=128;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function rQ(){rQ=v2;vQ=pQ(new oQ());wQ=vQ;}
-function pQ(a){rQ();return a;}
-function qQ(b,a){a.blur();}
-function sQ(b){var a=$doc.createElement('DIV');a.tabIndex=0;return a;}
-function tQ(b,a){a.focus();}
-function uQ(c,a,b){a.tabIndex=b;}
-function oQ(){}
-_=oQ.prototype=new xT();_.tN=tfc+'FocusImpl';_.tI=129;var vQ,wQ;function AQ(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
-function BQ(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.Dc();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Cc();};}
-function CQ(c,b,a){b.enctype=a;b.encoding=a;}
-function DQ(c,a,b){if(b)b.__formAction=a.action;a.submit();}
-function EQ(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
-function xQ(){}
-_=xQ.prototype=new xT();_.tN=tfc+'FormPanelImpl';_.tI=130;function FQ(){}
-_=FQ.prototype=new xT();_.tN=tfc+'PopupImpl';_.tI=131;function gR(){gR=v2;jR=kR();}
-function fR(a){gR();return a;}
-function hR(b){var a;a=xd();if(jR){Af(a,'<div><\/div>');eg(cR(new bR(),b,a));}return a;}
-function iR(b,a){return jR?df(a):a;}
-function kR(){gR();if(navigator.userAgent.indexOf('Macintosh')!= -1){return true;}return false;}
-function aR(){}
-_=aR.prototype=new FQ();_.tN=tfc+'PopupImplMozilla';_.tI=132;var jR;function cR(b,a,c){b.a=c;return b;}
-function eR(){Df(this.a,'overflow','auto');}
-function bR(){}
-_=bR.prototype=new xT();_.nb=eR;_.tN=tfc+'PopupImplMozilla$1';_.tI=133;function oR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
-function pR(b,a){return oR(b,a);}
-function qR(d,a,c,b){a.setSelectionRange(c,c+b);}
-function mR(){}
-_=mR.prototype=new xT();_.tN=tfc+'TextBoxImpl';_.tI=134;function uR(){}
-_=uR.prototype=new xT();_.tN=ufc+'OutputStream';_.tI=135;function sR(){}
-_=sR.prototype=new uR();_.tN=ufc+'FilterOutputStream';_.tI=136;function wR(){}
-_=wR.prototype=new sR();_.tN=ufc+'PrintStream';_.tI=137;function yR(){}
-_=yR.prototype=new CT();_.tN=vfc+'ArrayStoreException';_.tI=138;function CR(){CR=v2;DR=BR(new AR(),false);ER=BR(new AR(),true);}
-function BR(a,b){CR();a.a=b;return a;}
-function FR(a){return ac(a,55)&&Fb(a,55).a==this.a;}
-function aS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
-function bS(){return this.a?'true':'false';}
-function cS(a){CR();return a?ER:DR;}
-function AR(){}
-_=AR.prototype=new xT();_.eQ=FR;_.hC=aS;_.tS=bS;_.tN=vfc+'Boolean';_.tI=139;_.a=false;var DR,ER;function gS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+hT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
-function hS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
-function jS(b,a){DT(b,a);return b;}
-function iS(){}
-_=iS.prototype=new CT();_.tN=vfc+'ClassCastException';_.tI=140;function sS(b,a){DT(b,a);return b;}
-function rS(){}
-_=rS.prototype=new CT();_.tN=vfc+'IllegalArgumentException';_.tI=141;function vS(b,a){DT(b,a);return b;}
-function uS(){}
-_=uS.prototype=new CT();_.tN=vfc+'IllegalStateException';_.tI=142;function yS(b,a){DT(b,a);return b;}
-function xS(){}
-_=xS.prototype=new CT();_.tN=vfc+'IndexOutOfBoundsException';_.tI=143;function rT(){rT=v2;{wT();}}
-function sT(a){rT();return isNaN(a);}
-function tT(e,d,c,h){rT();var a,b,f,g;if(e===null){throw pT(new oT(),'Unable to parse null');}b=uU(e);f=b>0&&lU(e,0)==45?1:0;for(a=f;a<b;a++){if(gS(lU(e,a),d)==(-1)){throw pT(new oT(),'Could not parse '+e+' in radix '+d);}}g=uT(e,d);if(sT(g)){throw pT(new oT(),'Unable to parse '+e);}else if(g<c||g>h){throw pT(new oT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
-function uT(b,a){rT();return parseInt(b,a);}
-function wT(){rT();vT=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
-var vT=null;function BS(){BS=v2;rT();}
-function ES(a){BS();return FS(a,10);}
-function FS(b,a){BS();return cc(tT(b,a,(-2147483648),2147483647));}
-function aT(a){BS();return gV(a);}
-var CS=2147483647,DS=(-2147483648);function cT(){cT=v2;rT();}
-function dT(a){cT();return hV(a);}
-function gT(a){return a<0?-a:a;}
-function hT(a,b){return a<b?a:b;}
-function iT(){}
-_=iT.prototype=new CT();_.tN=vfc+'NegativeArraySizeException';_.tI=144;function lT(b,a){DT(b,a);return b;}
-function kT(){}
-_=kT.prototype=new CT();_.tN=vfc+'NullPointerException';_.tI=145;function pT(b,a){sS(b,a);return b;}
-function oT(){}
-_=oT.prototype=new rS();_.tN=vfc+'NumberFormatException';_.tI=146;function lU(b,a){return b.charCodeAt(a);}
-function nU(f,c){var a,b,d,e,g,h;h=uU(f);e=uU(c);b=hT(h,e);for(a=0;a<b;a++){g=lU(f,a);d=lU(c,a);if(g!=d){return g-d;}}return h-e;}
-function oU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
-function qU(b,a){if(!ac(a,1))return false;return FU(b,a);}
-function pU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
-function rU(b,a){return b.indexOf(String.fromCharCode(a));}
-function sU(b,a){return b.indexOf(a);}
-function tU(c,b,a){return c.indexOf(b,a);}
-function uU(a){return a.length;}
-function vU(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
-function wU(b,a){return xU(b,a,0);}
-function xU(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=EU(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
-function yU(b,a){return sU(b,a)==0;}
-function zU(b,a){return b.substr(a,b.length-a);}
-function AU(c,a,b){return c.substr(a,b-a);}
-function BU(d){var a,b,c;c=uU(d);a=yb('[C',[610],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=lU(d,b);return a;}
-function CU(a){return a.toLowerCase();}
-function DU(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
-function EU(a){return yb('[Ljava.lang.String;',[607],[1],[a],null);}
-function FU(a,b){return String(a)==b;}
-function aV(a){if(ac(a,1)){return nU(this,Fb(a,1));}else{throw jS(new iS(),'Cannot compare '+a+" with String '"+this+"'");}}
-function bV(a){return qU(this,a);}
-function dV(){var a=cV;if(!a){a=cV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
-function eV(){return this;}
-function fV(a){return String.fromCharCode(a);}
-function gV(a){return ''+a;}
-function hV(a){return ''+a;}
-function iV(a){return a!==null?a.tS():'null';}
-_=String.prototype;_.ab=aV;_.eQ=bV;_.hC=dV;_.tS=eV;_.tN=vfc+'String';_.tI=2;var cV=null;function cU(a){fU(a);return a;}
-function dU(a,b){return eU(a,fV(b));}
-function eU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
-function fU(a){gU(a,'');}
-function gU(b,a){b.js=[a];b.length=a.length;}
-function iU(a){a.qc();return a.js[0];}
-function jU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
-function kU(){return iU(this);}
-function bU(){}
-_=bU.prototype=new xT();_.qc=jU;_.tS=kU;_.tN=vfc+'StringBuffer';_.tI=147;function kV(){kV=v2;nV=new wR();}
-function lV(){kV();return new Date().getTime();}
-function mV(a){kV();return B(a);}
-var nV;function vV(b,a){DT(b,a);return b;}
-function uV(){}
-_=uV.prototype=new CT();_.tN=vfc+'UnsupportedOperationException';_.tI=148;function bW(b,a){b.c=a;return b;}
-function dW(a){return a.a<a.c.ye();}
-function eW(){return dW(this);}
-function fW(){if(!dW(this)){throw new d2();}return this.c.ec(this.b=this.a++);}
-function gW(){if(this.b<0){throw new uS();}this.c.ae(this.b);this.a=this.b;this.b=(-1);}
-function aW(){}
-_=aW.prototype=new xT();_.hc=eW;_.pc=fW;_.Fd=gW;_.tN=wfc+'AbstractList$IteratorImpl';_.tI=149;_.a=0;_.b=(-1);function pX(f,d,e){var a,b,c;for(b=x0(f.mb());p0(b);){a=q0(b);c=a.vb();if(d===null?c===null:d.eQ(c)){if(e){r0(b);}return a;}}return null;}
-function qX(b){var a;a=b.mb();return rW(new qW(),b,a);}
-function rX(b){var a;a=b1(b);return aX(new FW(),b,a);}
-function sX(a){return pX(this,a,false)!==null;}
-function tX(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=qX(this);e=f.oc();if(!AX(c,e)){return false;}for(a=tW(c);AW(a);){b=BW(a);h=this.fc(b);g=f.fc(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
-function uX(b){var a;a=pX(this,b,false);return a===null?null:a.bc();}
-function vX(){var a,b,c;b=0;for(c=x0(this.mb());p0(c);){a=q0(c);b+=a.hC();}return b;}
-function wX(){return qX(this);}
-function xX(){var a,b,c,d;d='{';a=false;for(c=x0(this.mb());p0(c);){b=q0(c);if(a){d+=', ';}else{a=true;}d+=iV(b.vb());d+='=';d+=iV(b.bc());}return d+'}';}
-function pW(){}
-_=pW.prototype=new xT();_.cb=sX;_.eQ=tX;_.fc=uX;_.hC=vX;_.oc=wX;_.tS=xX;_.tN=wfc+'AbstractMap';_.tI=150;function AX(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.ye()!=e.ye()){return false;}for(a=c.nc();a.hc();){d=a.pc();if(!e.db(d)){return false;}}return true;}
-function BX(a){return AX(this,a);}
-function CX(){var a,b,c;a=0;for(b=this.nc();b.hc();){c=b.pc();if(c!==null){a+=c.hC();}}return a;}
-function yX(){}
-_=yX.prototype=new xV();_.eQ=BX;_.hC=CX;_.tN=wfc+'AbstractSet';_.tI=151;function rW(b,a,c){b.a=a;b.b=c;return b;}
-function tW(b){var a;a=x0(b.b);return yW(new xW(),b,a);}
-function uW(a){return this.a.cb(a);}
-function vW(){return tW(this);}
-function wW(){return this.b.a.c;}
-function qW(){}
-_=qW.prototype=new yX();_.db=uW;_.nc=vW;_.ye=wW;_.tN=wfc+'AbstractMap$1';_.tI=152;function yW(b,a,c){b.a=c;return b;}
-function AW(a){return p0(a.a);}
-function BW(b){var a;a=q0(b.a);return a.vb();}
-function CW(){return AW(this);}
-function DW(){return BW(this);}
-function EW(){r0(this.a);}
-function xW(){}
-_=xW.prototype=new xT();_.hc=CW;_.pc=DW;_.Fd=EW;_.tN=wfc+'AbstractMap$2';_.tI=153;function aX(b,a,c){b.a=a;b.b=c;return b;}
-function cX(b){var a;a=x0(b.b);return hX(new gX(),b,a);}
-function dX(a){return a1(this.a,a);}
-function eX(){return cX(this);}
-function fX(){return this.b.a.c;}
-function FW(){}
-_=FW.prototype=new xV();_.db=dX;_.nc=eX;_.ye=fX;_.tN=wfc+'AbstractMap$3';_.tI=154;function hX(b,a,c){b.a=c;return b;}
-function jX(a){return p0(a.a);}
-function kX(a){var b;b=q0(a.a).bc();return b;}
-function lX(){return jX(this);}
-function mX(){return kX(this);}
-function nX(){r0(this.a);}
-function gX(){}
-_=gX.prototype=new xT();_.hc=lX;_.pc=mX;_.Fd=nX;_.tN=wfc+'AbstractMap$4';_.tI=155;function BY(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.bb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
-function CY(a){BY(a,a.a,(iZ(),jZ));}
-function FY(){FY=v2;w1(new v1());aZ=C0(new a0());FX(new DX());}
-function bZ(c,d){FY();var a,b;b=c.b;for(a=0;a<b;a++){mY(c,a,d[a]);}}
-function cZ(a){FY();var b;b=a.Ae();CY(b);bZ(a,b);}
-var aZ;function iZ(){iZ=v2;jZ=new fZ();}
-var jZ;function hZ(a,b){return Fb(a,34).ab(b);}
-function fZ(){}
-_=fZ.prototype=new xT();_.bb=hZ;_.tN=wfc+'Comparators$1';_.tI=156;function nZ(){nZ=v2;uZ=zb('[Ljava.lang.String;',607,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);vZ=zb('[Ljava.lang.String;',607,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
-function lZ(a){nZ();qZ(a);return a;}
-function mZ(b,a){nZ();rZ(b,a);return b;}
-function oZ(c,a){var b,d;d=pZ(c);b=pZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
-function pZ(a){return a.jsdate.getTime();}
-function qZ(a){a.jsdate=new Date();}
-function rZ(b,a){b.jsdate=new Date(a);}
-function sZ(a){return a.jsdate.toLocaleString();}
-function tZ(h){var a=h.jsdate;var g=BZ;var b=xZ(h.jsdate.getDay());var e=AZ(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
-function wZ(a){return oZ(this,Fb(a,59));}
-function xZ(a){nZ();return uZ[a];}
-function yZ(a){return ac(a,59)&&pZ(this)==pZ(Fb(a,59));}
-function zZ(){return cc(pZ(this)^pZ(this)>>>32);}
-function AZ(a){nZ();return vZ[a];}
-function BZ(a){nZ();if(a<10){return '0'+a;}else{return gV(a);}}
-function CZ(){return tZ(this);}
-function kZ(){}
-_=kZ.prototype=new xT();_.ab=wZ;_.eQ=yZ;_.hC=zZ;_.tS=CZ;_.tN=wfc+'Date';_.tI=157;var uZ,vZ;function E0(){E0=v2;f1=l1();}
-function B0(a){{D0(a);}}
-function C0(a){E0();B0(a);return a;}
-function D0(a){a.a=gb();a.d=ib();a.b=hc(f1,cb);a.c=0;}
-function F0(b,a){if(ac(a,1)){return p1(b.d,Fb(a,1))!==f1;}else if(a===null){return b.b!==f1;}else{return o1(b.a,a,a.hC())!==f1;}}
-function a1(a,b){if(a.b!==f1&&n1(a.b,b)){return true;}else if(k1(a.d,b)){return true;}else if(i1(a.a,b)){return true;}return false;}
-function b1(a){return v0(new l0(),a);}
-function c1(c,a){var b;if(ac(a,1)){b=p1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=o1(c.a,a,a.hC());}return b===f1?null:b;}
-function d1(c,a,d){var b;if(ac(a,1)){b=s1(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=r1(c.a,a,d,a.hC());}if(b===f1){++c.c;return null;}else{return b;}}
-function e1(c,a){var b;if(ac(a,1)){b=u1(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(f1,cb);}else{b=t1(c.a,a,a.hC());}if(b===f1){return null;}else{--c.c;return b;}}
-function g1(e,c){E0();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
-function h1(d,a){E0();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=e0(c.substring(1),e);a.C(b);}}}
-function i1(f,h){E0();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.bc();if(n1(h,d)){return true;}}}}return false;}
-function j1(a){return F0(this,a);}
-function k1(c,d){E0();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(n1(d,a)){return true;}}}return false;}
-function l1(){E0();}
-function m1(){return b1(this);}
-function n1(a,b){E0();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
-function q1(a){return c1(this,a);}
-function o1(f,h,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){return c.bc();}}}}
-function p1(b,a){E0();return b[':'+a];}
-function r1(f,h,j,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){var i=c.bc();c.se(j);return i;}}}else{a=f[e]=[];}var c=e0(h,j);a.push(c);}
-function s1(c,a,d){E0();a=':'+a;var b=c[a];c[a]=d;return b;}
-function t1(f,h,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.bc();}}}}
-function u1(c,a){E0();a=':'+a;var b=c[a];delete c[a];return b;}
-function a0(){}
-_=a0.prototype=new pW();_.cb=j1;_.mb=m1;_.fc=q1;_.tN=wfc+'HashMap';_.tI=158;_.a=null;_.b=null;_.c=0;_.d=null;var f1;function c0(b,a,c){b.a=a;b.b=c;return b;}
-function e0(a,b){return c0(new b0(),a,b);}
-function f0(b){var a;if(ac(b,60)){a=Fb(b,60);if(n1(this.a,a.vb())&&n1(this.b,a.bc())){return true;}}return false;}
-function g0(){return this.a;}
-function h0(){return this.b;}
-function i0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
-function j0(a){var b;b=this.b;this.b=a;return b;}
-function k0(){return this.a+'='+this.b;}
-function b0(){}
-_=b0.prototype=new xT();_.eQ=f0;_.vb=g0;_.bc=h0;_.hC=i0;_.se=j0;_.tS=k0;_.tN=wfc+'HashMap$EntryImpl';_.tI=159;_.a=null;_.b=null;function v0(b,a){b.a=a;return b;}
-function x0(a){return n0(new m0(),a.a);}
-function y0(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.vb();if(F0(this.a,b)){d=c1(this.a,b);return n1(a.bc(),d);}}return false;}
-function z0(){return x0(this);}
-function A0(){return this.a.c;}
-function l0(){}
-_=l0.prototype=new yX();_.db=y0;_.nc=z0;_.ye=A0;_.tN=wfc+'HashMap$EntrySet';_.tI=160;function n0(c,b){var a;c.c=b;a=FX(new DX());if(c.c.b!==(E0(),f1)){bY(a,c0(new b0(),null,c.c.b));}h1(c.c.d,a);g1(c.c.a,a);c.a=a.nc();return c;}
-function p0(a){return a.a.hc();}
-function q0(a){return a.b=Fb(a.a.pc(),60);}
-function r0(a){if(a.b===null){throw vS(new uS(),'Must call next() before remove().');}else{a.a.Fd();e1(a.c,a.b.vb());a.b=null;}}
-function s0(){return p0(this);}
-function t0(){return q0(this);}
-function u0(){r0(this);}
-function m0(){}
-_=m0.prototype=new xT();_.hc=s0;_.pc=t0;_.Fd=u0;_.tN=wfc+'HashMap$EntrySetIterator';_.tI=161;_.a=null;_.b=null;function w1(a){a.a=C0(new a0());return a;}
-function x1(c,a){var b;b=d1(c.a,a,cS(true));return b===null;}
-function z1(a){return tW(qX(a.a));}
-function A1(a){return x1(this,a);}
-function B1(a){return F0(this.a,a);}
-function C1(){return z1(this);}
-function D1(){return this.a.c;}
-function E1(){return qX(this.a).tS();}
-function v1(){}
-_=v1.prototype=new yX();_.C=A1;_.db=B1;_.nc=C1;_.ye=D1;_.tS=E1;_.tN=wfc+'HashSet';_.tI=162;_.a=null;function e2(b,a){DT(b,a);return b;}
-function d2(){}
-_=d2.prototype=new CT();_.tN=wfc+'NoSuchElementException';_.tI=163;function j2(a){a.a=FX(new DX());return a;}
-function k2(b,a){return bY(b.a,a);}
-function m2(a){return a.a.nc();}
-function n2(a,b){aY(this.a,a,b);}
-function o2(a){return k2(this,a);}
-function p2(a){return fY(this.a,a);}
-function q2(a){return gY(this.a,a);}
-function r2(){return m2(this);}
-function s2(a){return kY(this.a,a);}
-function t2(){return this.a.b;}
-function u2(){return this.a.Ae();}
-function i2(){}
-_=i2.prototype=new FV();_.B=n2;_.C=o2;_.db=p2;_.ec=q2;_.nc=r2;_.ae=s2;_.ye=t2;_.Ae=u2;_.tN=wfc+'Vector';_.tI=164;_.a=null;function v4(){v4=v2;x4=C0(new a0());}
-function u4(a){v4();return a;}
-function w4(){}
-function f4(){}
-_=f4.prototype=new kr();_.jd=w4;_.tN=xfc+'JBRMSFeature';_.tI=165;var x4;function C2(){C2=v2;v4();}
-function B2(a){C2();u4(a);a.a=yJ(new kJ());a.a.xe('100%');a.a.ne('100%');zJ(a.a,A8(new e8()),"<img src='images/category_small.gif'/>Manage categories",true);zJ(a.a,l9(new D8()),"<img src='images/status_small.gif'/>Manage states",true);zJ(a.a,m7(new i6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);zJ(a.a,F7(new q7()),"<img src='images/backup_small.gif'/>Import Export",true);FJ(a.a,0);mr(a,a.a);return a;}
-function D2(){C2();return y2(new x2(),'Admin','Administer the repository');}
-function E2(){}
-function w2(){}
-_=w2.prototype=new f4();_.jd=E2;_.tN=xfc+'AdminFeature';_.tI=166;_.a=null;function h4(c,b,a){c.c=b;c.a=a;return c;}
-function j4(a){if(a.b!==null)return a.b;return a.b=a.fb();}
-function g4(){}
-_=g4.prototype=new xT();_.tN=xfc+'JBRMSFeature$ComponentInfo';_.tI=167;_.a=null;_.b=null;_.c=null;function y2(c,a,b){h4(c,a,b);return c;}
-function A2(){return B2(new w2());}
-function x2(){}
-_=x2.prototype=new g4();_.fb=A2;_.tN=xfc+'AdminFeature$1';_.tI=168;function f3(){f3=v2;v4();}
-function e3(a){f3();u4(a);mr(a,FJb(new hIb()));return a;}
-function g3(){f3();return b3(new a3(),'Deployment','Configure and view frozen snapshots of packages.');}
-function h3(){}
-function F2(){}
-_=F2.prototype=new f4();_.jd=h3;_.tN=xfc+'DeploymentManagementFeature';_.tI=169;function b3(c,a,b){h4(c,a,b);return c;}
-function d3(){return e3(new F2());}
-function a3(){}
-_=a3.prototype=new g4();_.fb=d3;_.tN=xfc+'DeploymentManagementFeature$1';_.tI=170;function o3(){o3=v2;v4();}
-function n3(a){o3();u4(a);mr(a,p3(a));return a;}
-function p3(a){a.a=Bv(new zv(),'welcome.html');AN(a.a,'welcome-Page');a.a.ue(true);return a.a;}
-function q3(){o3();return k3(new j3(),'Info','JBoss Rules Managment System.');}
-function r3(){}
-function i3(){}
-_=i3.prototype=new f4();_.jd=r3;_.tN=xfc+'Info';_.tI=171;_.a=null;function k3(c,a,b){h4(c,a,b);return c;}
-function m3(){return n3(new i3());}
-function j3(){}
-_=j3.prototype=new g4();_.fb=m3;_.tN=xfc+'Info$1';_.tI=172;function C3(a){a.c=jz(new nw());a.d=p4(new n4());a.g=vs(new ms());}
-function D3(a){C3(a);return a;}
-function E3(a){nXb(DLb(),u3(new t3(),a));}
-function a4(b,c){var a;a=s4(b.d,c);if(a===null){c4(b);return;}d4(b,a,false);}
-function b4(b){var a,c;m4(b.d);b.h=vs(new ms());AN(b.h,'ks-Sink');c=nO(new lO());c.xe('100%');oO(c,b.c);oO(c,b.h);AN(b.c,'ks-Info');ws(b.g,b.d,(xs(),bt));ws(b.g,c,(xs(),Ds));Bs(b.g,b.d,(Dz(),aA));Cs(b.g,c,'100%');Bg(b);b.e=b5(new y4());b.f=s5(new e5());jp(oG(),b.e);jp(oG(),b.g);jp(oG(),b.f);b.f.xe('100%');b.e.ue(false);b.g.ue(false);b.f.ue(false);E3(b);a=Dg();if(uU(a)>0)a4(b,a);else c4(b);}
-function d4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){zs(c.h,c.b);}c.b=j4(b);t4(c.d,b.c);nz(c.c,b.a);if(a)ah(b.c);ws(c.h,c.b,(xs(),Ds));Cs(c.h,c.b,'100%');Bs(c.h,c.b,(Dz(),aA));c.b.jd();}
-function c4(a){d4(a,s4(a.d,'Info'),false);}
-function e4(a){a4(this,a);}
-function s3(){}
-_=s3.prototype=new xT();_.Ec=e4;_.tN=xfc+'JBRMSEntryPoint';_.tI=173;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function jcb(b,a){if(ac(a,69)){lcb();}else if(ac(a,70)){kbb(Fb(a,70));}else{jbb(a.wb());}}
-function kcb(a){jcb(this,a);}
-function lcb(){var a;a=dcb(new Ebb(),'images/warning-large.png','Session expired');fcb(a,kz(new nw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));rE(a,40,40);uE(a);edb();}
-function hcb(){}
-_=hcb.prototype=new xT();_.Ac=kcb;_.tN=Afc+'GenericCallback';_.tI=174;function u3(b,a){b.a=a;return b;}
-function w3(a){var b;b=Fb(a,1);if(b!==null){d5(this.a.e,b);this.a.e.ue(true);this.a.g.ue(true);this.a.f.ue(false);}else{this.a.f.ue(true);w5(this.a.f,y3(new x3(),this));}}
-function t3(){}
-_=t3.prototype=new hcb();_.md=w3;_.tN=xfc+'JBRMSEntryPoint$1';_.tI=175;function y3(b,a){b.a=a;return b;}
-function A3(a){d5(a.a.a.e,v5(a.a.a.f));a.a.a.e.ue(true);a.a.a.f.ue(false);a.a.a.g.ue(true);}
-function B3(){A3(this);}
-function x3(){}
-_=x3.prototype=new xT();_.nb=B3;_.tN=xfc+'JBRMSEntryPoint$2';_.tI=176;function m4(a){q4(a,q3());q4(a,h6());q4(a,E5());q4(a,g3());q4(a,D2());}
-function o4(a){a.a=nO(new lO());a.c=FX(new DX());}
-function p4(a){o4(a);mr(a,a.a);AN(a,'ks-List');return a;}
-function q4(d,a){var b,c;c=a.c;b=pA(new nA(),c,c);AN(b,'ks-SinkItem');oO(d.a,b);bY(d.c,a);}
-function s4(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(gY(d.c,a),61);if(qU(b.c,c))return b;}return null;}
-function t4(d,c){var a,b;if(d.b!=(-1))vN(dr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(gY(d.c,a),61);if(qU(b.c,c)){d.b=a;pN(dr(d.a,d.b),'ks-SinkItem-selected');return;}}}
-function n4(){}
-_=n4.prototype=new kr();_.tN=xfc+'JBRMSFeatureList';_.tI=177;_.b=(-1);function b5(a){a.a=jz(new nw());mr(a,a.a);return a;}
-function d5(b,d){var a,c;a=cU(new bU());eU(a,"<div id='user_info'>");eU(a,'Welcome: &nbsp;'+d);eU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");eU(a,'<\/div>');nz(b.a,iU(a));c=A4(new z4(),b);mh(c,300000);}
-function y4(){}
-_=y4.prototype=new kr();_.tN=xfc+'LoggedInUserInfo';_.tI=178;_.a=null;function B4(){B4=v2;kh();}
-function A4(b,a){B4();ih(b);return b;}
-function C4(){nXb(DLb(),new D4());}
-function z4(){}
-_=z4.prototype=new dh();_.ce=C4;_.tN=xfc+'LoggedInUserInfo$1';_.tI=179;function F4(a){}
-function a5(a){if(a===null){lcb();}}
-function D4(){}
-_=D4.prototype=new xT();_.Ac=F4;_.md=a5;_.tN=xfc+'LoggedInUserInfo$2';_.tI=180;function s5(c){var a,b;c.a=ubb(new rbb(),'images/login.gif','Please enter your details');c.c=FK(new qK());c.c.oe(1);vbb(c.a,'User name:',c.c);b=dE(new cE());b.oe(2);vbb(c.a,'Password:',b);a=wp(new qp(),'Login');a.oe(3);vbb(c.a,'',a);a.x(g5(new f5(),c,b));mr(c,c.a);c.c.le(true);AN(c,'login-Form');return c;}
-function u5(c,a,d,b){aMb(xK(d),xK(b),o5(new n5(),c,a));}
-function v5(a){return xK(a.c);}
-function w5(b,a){b.b=a;}
-function e5(){}
-_=e5.prototype=new kr();_.tN=xfc+'LoginWidget';_.tI=181;_.a=null;_.b=null;_.c=null;function g5(b,a,c){b.a=a;b.b=c;return b;}
-function i5(a){idb('Logging in...');fg(k5(new j5(),this,this.b));}
-function f5(){}
-_=f5.prototype=new xT();_.wc=i5;_.tN=xfc+'LoginWidget$1';_.tI=182;function k5(b,a,c){b.a=a;b.b=c;return b;}
-function m5(){u5(this.a.a,this.a.a.b,this.a.a.c,this.b);}
-function j5(){}
-_=j5.prototype=new xT();_.nb=m5;_.tN=xfc+'LoginWidget$2';_.tI=183;function o5(b,a,c){b.a=c;return b;}
-function q5(c,a){var b;edb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{A3(c.a);}}
-function r5(a){q5(this,a);}
-function n5(){}
-_=n5.prototype=new hcb();_.md=r5;_.tN=xfc+'LoginWidget$3';_.tI=184;function D5(){D5=v2;v4();}
-function C5(b){var a;D5();u4(b);a=dIb(new CHb());gIb(a,x4);mr(b,a);return b;}
-function E5(){D5();return z5(new y5(),'Packages','Configure and view packages of business rule assets.');}
-function F5(){}
-function x5(){}
-_=x5.prototype=new f4();_.jd=F5;_.tN=xfc+'PackageManagementFeature';_.tI=185;function z5(c,a,b){h4(c,a,b);return c;}
-function B5(){return C5(new x5());}
-function y5(){}
-_=y5.prototype=new g4();_.fb=B5;_.tN=xfc+'PackageManagementFeature$1';_.tI=186;function g6(){g6=v2;v4();}
-function f6(b){var a;g6();u4(b);a=ybc(new uac());Cbc(a,x4);mr(b,a);return b;}
-function h6(){g6();return c6(new b6(),'Rules','Find and edit rules.');}
-function a6(){}
-_=a6.prototype=new f4();_.tN=xfc+'RulesFeature';_.tI=187;function c6(c,a,b){h4(c,a,b);return c;}
-function e6(){return f6(new a6());}
-function b6(){}
-_=b6.prototype=new g4();_.fb=e6;_.tN=xfc+'RulesFeature$1';_.tI=188;function m7(a){var b;b=ubb(new rbb(),'images/backup_large.png','Manage Archived Assets');a.a=fA(new dA());a.a.xe('100%');ybb(b,a.a);a.b=Bcc(new Fbc(),new j6(),'archivedrulelist');bdc(a.b,p7(a));gA(a.a,a.b);k7(p7(a));ybb(b,kz(new nw(),'<hr/>'));ybb(b,o7(a));mr(a,b);return a;}
-function o7(d){var a,b,c,e;b=fA(new dA());c=wp(new qp(),'Refresh');c.x(n6(new m6(),d));e=wp(new qp(),'Unarchive');e.x(r6(new q6(),d));a=wp(new qp(),'Delete');a.x(A6(new z6(),d));gA(b,c);gA(b,e);gA(b,a);return b;}
-function p7(b){var a;a=d7(new c7(),b);return i7(new h7(),b,a);}
-function i6(){}
-_=i6.prototype=new kr();_.tN=yfc+'ArchivedAssetManager';_.tI=189;_.a=null;_.b=null;function l6(a){}
-function j6(){}
-_=j6.prototype=new xT();_.td=l6;_.tN=yfc+'ArchivedAssetManager$1';_.tI=190;function n6(b,a){b.a=a;return b;}
-function p6(a){k7(p7(this.a));}
-function m6(){}
-_=m6.prototype=new xT();_.wc=p6;_.tN=yfc+'ArchivedAssetManager$2';_.tI=191;function r6(b,a){b.a=a;return b;}
-function t6(a){bTb(ELb(),Dcc(this.a.b),false,v6(new u6(),this));}
-function q6(){}
-_=q6.prototype=new xT();_.wc=t6;_.tN=yfc+'ArchivedAssetManager$3';_.tI=192;function v6(b,a){b.a=a;return b;}
-function x6(b,a){k7(p7(b.a.a));zh('Done!');}
-function y6(a){x6(this,a);}
-function u6(){}
-_=u6.prototype=new hcb();_.md=y6;_.tN=yfc+'ArchivedAssetManager$4';_.tI=193;function A6(b,a){b.a=a;return b;}
-function C6(a){bUb(ELb(),Dcc(this.a.b),E6(new D6(),this));}
-function z6(){}
-_=z6.prototype=new xT();_.wc=C6;_.tN=yfc+'ArchivedAssetManager$5';_.tI=194;function E6(b,a){b.a=a;return b;}
-function a7(b,a){k7(p7(b.a.a));zh('Done!');}
-function b7(a){a7(this,a);}
-function D6(){}
-_=D6.prototype=new hcb();_.md=b7;_.tN=yfc+'ArchivedAssetManager$6';_.tI=195;function d7(b,a){b.a=a;return b;}
-function f7(c,a){var b;b=Fb(a,62);adc(c.a.b,b);c.a.b.xe('100%');edb();}
-function g7(a){f7(this,a);}
-function c7(){}
-_=c7.prototype=new hcb();_.md=g7;_.tN=yfc+'ArchivedAssetManager$7';_.tI=196;function i7(b,a,c){b.a=c;return b;}
-function k7(a){idb('Loading list, please wait...');xTb(ELb(),a.a);}
-function l7(){k7(this);}
-function h7(){}
-_=h7.prototype=new xT();_.nb=l7;_.tN=yfc+'ArchivedAssetManager$8';_.tI=197;function F7(a){var b;b=ubb(new rbb(),'images/backup_large.png','Import/Export');vbb(b,'',kz(new nw(),'<i>Import and Export rules repository<\/i>'));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Import from an xml file',d8(a));vbb(b,'Export to a zip file',c8(a));ybb(b,kz(new nw(),'<hr/>'));mr(a,b);return a;}
-function b8(a){idb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');edb();}
-function c8(c){var a,b;b=fA(new dA());a=wp(new qp(),'Export');a.x(s7(new r7(),c));gA(b,a);return b;}
-function d8(c){var a,b,d,e;e=cv(new Du());iv(e,v()+'backup');jv(e,'multipart/form-data');kv(e,'post');b=fA(new dA());e.we(b);d=gt(new ft());jt(d,'importFile');gA(b,d);gA(b,cC(new aC(),'import:'));a=ocb(new ncb(),'images/upload.gif');lB(a,w7(new v7(),c,e));gA(b,a);dv(e,B7(new A7(),c,d));return e;}
-function q7(){}
-_=q7.prototype=new kr();_.tN=yfc+'BackupManager';_.tI=198;function s7(b,a){b.a=a;return b;}
-function u7(a){b8(this.a);}
-function r7(){}
-_=r7.prototype=new xT();_.wc=u7;_.tN=yfc+'BackupManager$1';_.tI=199;function w7(b,a,c){b.a=c;return b;}
-function y7(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){idb('Importing repository, please wait, as this could take some time...');mv(b);}}
-function z7(a){y7(this,this.a);}
-function v7(){}
-_=v7.prototype=new xT();_.wc=z7;_.tN=yfc+'BackupManager$2';_.tI=200;function B7(b,a,c){b.a=c;return b;}
-function E7(a){if(uU(it(this.a))==0){zh('You did not specify an exported repository filename !');yv(a,true);}else if(!oU(it(this.a),'.xml')){zh('Please specify a valid repository xml file.');yv(a,true);}}
-function D7(a){if(sU(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{jbb('Unable to import into the repository. Consult the server logs for error messages.');}edb();}
-function A7(){}
-_=A7.prototype=new xT();_.ld=E7;_.kd=D7;_.tN=yfc+'BackupManager$3';_.tI=201;function z8(a){nO(new lO());}
-function A8(f){var a,b,c,d,e;z8(f);c=ubb(new rbb(),'images/edit_category.gif','Edit categories');vbb(c,'',kz(new nw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=v$(new e$(),new f8());AN(f.a,'category-explorer-Admin');b=aH(new yG());AN(b,'metadata-Widget');cH(b,f.a);ybb(c,kz(new nw(),'<hr/>'));vbb(c,'Current categories:',b);e=ocb(new ncb(),'images/refresh.gif');e.pe('Refresh categories');lB(e,j8(new i8(),f));vbb(c,'Refresh view:',e);ybb(c,kz(new nw(),'<hr/>'));d=ocb(new ncb(),'images/new.gif');d.pe('Create a new category');lB(d,n8(new m8(),f));vbb(c,'Create a new category:',d);a=ocb(new ncb(),'images/delete_obj.gif');lB(a,r8(new q8(),f));a.pe("Deletes the currently selected category. You won't be able to delete if the category is in use.");vbb(c,'Delete the currently selected category:',a);mr(f,c);return f;}
-function C8(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){cUb(ELb(),a.a.e,v8(new u8(),a));}}
-function e8(){}
-_=e8.prototype=new kr();_.tN=yfc+'CategoryManager';_.tI=202;_.a=null;function h8(a){}
-function f8(){}
-_=f8.prototype=new xT();_.ee=h8;_.tN=yfc+'CategoryManager$1';_.tI=203;function j8(b,a){b.a=a;return b;}
-function l8(a){B$(this.a.a);}
-function i8(){}
-_=i8.prototype=new xT();_.wc=l8;_.tN=yfc+'CategoryManager$2';_.tI=204;function n8(b,a){b.a=a;return b;}
-function p8(b){var a;a=F9(new q9(),this.a.a.e);rE(a,rN(b),sN(b)-400);uE(a);}
-function m8(){}
-_=m8.prototype=new xT();_.wc=p8;_.tN=yfc+'CategoryManager$3';_.tI=205;function r8(b,a){b.a=a;return b;}
-function t8(a){C8(this.a);}
-function q8(){}
-_=q8.prototype=new xT();_.wc=t8;_.tN=yfc+'CategoryManager$4';_.tI=206;function v8(b,a){b.a=a;return b;}
-function x8(b,a){B$(b.a.a);}
-function y8(a){x8(this,a);}
-function u8(){}
-_=u8.prototype=new hcb();_.md=y8;_.tN=yfc+'CategoryManager$5';_.tI=207;function l9(b){var a;a=ubb(new rbb(),'images/status_large.png','Manage statuses');vbb(a,'',kz(new nw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=sC(new kC());cD(b.a,7);b.a.xe('50%');p9(b);vbb(a,'Current statuses:',b.a);vbb(a,'Add new status:',o9(b));mr(b,a);return b;}
-function n9(b,a){idb('Creating status');rTb(ELb(),xK(a),h9(new g9(),b,a));}
-function o9(d){var a,b,c;c=fA(new dA());a=FK(new qK());b=wp(new qp(),'Create');b.x(d9(new c9(),d,a));gA(c,a);gA(c,b);return c;}
-function p9(a){idb('Loading statuses...');wTb(ELb(),F8(new E8(),a));}
-function D8(){}
-_=D8.prototype=new kr();_.tN=yfc+'StateManager';_.tI=208;_.a=null;function F8(b,a){b.a=a;return b;}
-function b9(a){var b,c;yC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){vC(this.a.a,c[b]);}edb();}
-function E8(){}
-_=E8.prototype=new hcb();_.md=b9;_.tN=yfc+'StateManager$1';_.tI=209;function d9(b,a,c){b.a=a;b.b=c;return b;}
-function f9(a){n9(this.a,this.b);}
-function c9(){}
-_=c9.prototype=new xT();_.wc=f9;_.tN=yfc+'StateManager$2';_.tI=210;function h9(b,a,c){b.a=a;b.b=c;return b;}
-function j9(b,a){BK(b.b,'');p9(b.a);edb();}
-function k9(a){j9(this,a);}
-function g9(){}
-_=g9.prototype=new hcb();_.md=k9;_.tN=yfc+'StateManager$3';_.tI=211;function b$(){b$=v2;kE();}
-function E9(a){a.d=rt(new lt());a.b=FK(new qK());a.a=kK(new jK());}
-function F9(d,b){var a,c;b$();hE(d,true);E9(d);d.c=b;d.d.ve(0,0,ocb(new ncb(),'images/edit_category.gif'));d.d.ve(0,1,cC(new aC(),c$(d,d.c)));d.d.ve(1,0,cC(new aC(),'Cateogory name'));d.d.ve(1,1,d.b);pK(d.a,4);d.d.ve(2,0,cC(new aC(),'Description'));d.d.ve(2,1,d.a);c=wp(new qp(),'OK');c.x(s9(new r9(),d));d.d.ve(3,0,c);a=wp(new qp(),'Cancel');a.x(w9(new v9(),d));d.d.ve(3,1,a);cH(d,d.d);AN(d,'ks-popups-Popup');return d;}
-function a$(a){a.ic();}
-function c$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
-function d$(b){var a;a=A9(new z9(),b);if(qU('',xK(b.b))){jbb("Can't have an empty category name.");}else{nTb(ELb(),b.c,xK(b.b),xK(b.a),a);}}
-function q9(){}
-_=q9.prototype=new fE();_.tN=zfc+'CategoryEditor';_.tI=212;_.c=null;function s9(b,a){b.a=a;return b;}
-function u9(a){d$(this.a);}
-function r9(){}
-_=r9.prototype=new xT();_.wc=u9;_.tN=zfc+'CategoryEditor$1';_.tI=213;function w9(b,a){b.a=a;return b;}
-function y9(a){a$(this.a);}
-function v9(){}
-_=v9.prototype=new xT();_.wc=y9;_.tN=zfc+'CategoryEditor$2';_.tI=214;function A9(b,a){b.a=a;return b;}
-function C9(b,a){if(Fb(a,55).a){b.a.ic();}else{jbb('Category was not successfully created. ');}}
-function D9(a){C9(this,a);}
-function z9(){}
-_=z9.prototype=new hcb();_.md=D9;_.tN=zfc+'CategoryEditor$3';_.tI=215;function u$(a){a.c=pM(new cL());a.d=nO(new lO());a.f=ELb();}
-function v$(b,a){u$(b);oO(b.d,b.c);b.a=a;A$(b);mr(b,b.d);tM(b.c,b);AN(b,'category-explorer-Tree');return b;}
-function x$(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
-function y$(b,a){if(a.c.b==1&&ac(yL(a,0),64)){return false;}return true;}
-function z$(a){if(a.b!==null){a.b.ue(false);}}
-function A$(a){sM(a.c,'Please wait...');zTb(a.f,'/',k$(new j$(),a));}
-function B$(a){cN(a.c);a.e=null;A$(a);}
-function C$(c){var a,b;if(c.b===null){b=ip(new hp());jp(b,kz(new nw(),'No categories created yet. Add some categories from the administration screen.'));a=wp(new qp(),'Refresh');a.x(g$(new f$(),c));jp(b,a);AN(b,'small-Text');c.b=b;oO(c.d,c.b);}c.b.ue(true);}
-function D$(a){this.e=x$(this,a);this.a.ee(this.e);}
-function E$(a){var b;if(y$(this,a)){return;}b=a;this.e=x$(this,a);zTb(this.f,this.e,o$(new n$(),this,b));}
-function e$(){}
-_=e$.prototype=new kr();_.od=D$;_.pd=E$;_.tN=zfc+'CategoryExplorerWidget';_.tI=216;_.a=null;_.b=null;_.e=null;function g$(b,a){b.a=a;return b;}
-function i$(a){B$(this.a);}
-function f$(){}
-_=f$.prototype=new xT();_.wc=i$;_.tN=zfc+'CategoryExplorerWidget$1';_.tI=217;function k$(b,a){b.a=a;return b;}
-function m$(d){var a,b,c;this.a.e=null;cN(this.a.c);a=Fb(d,63);if(a.a==0){C$(this.a);}else{z$(this.a);}for(b=0;b<a.a;b++){c=uL(new sL());CL(c,'<img src="images/category_small.gif"/>'+a[b]);cM(c,a[b]);c.y(s$(new r$()));rM(this.a.c,c);}}
-function j$(){}
-_=j$.prototype=new hcb();_.md=m$;_.tN=zfc+'CategoryExplorerWidget$2';_.tI=218;function o$(b,a,c){b.a=c;return b;}
-function q$(e){var a,b,c,d;a=yL(this.a,0);if(ac(a,64)){this.a.Dd(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=uL(new sL());CL(c,'<img src="images/category_small.gif"/>'+d[b]);cM(c,d[b]);c.y(s$(new r$()));this.a.y(c);}}
-function n$(){}
-_=n$.prototype=new hcb();_.md=q$;_.tN=zfc+'CategoryExplorerWidget$3';_.tI=219;function s$(a){vL(a,'Please wait...');return a;}
-function r$(){}
-_=r$.prototype=new sL();_.tN=zfc+'CategoryExplorerWidget$PendingItem';_.tI=220;function b_(){b_=v2;c_=zb('[Ljava.lang.String;',607,1,['brl','dslr','xls']);e_=zb('[Ljava.lang.String;',607,1,['drl','rf','enumeration']);d_=zb('[Ljava.lang.String;',607,1,['function','dsl','jar','enumeration']);}
-function f_(a){b_();var b;for(b=0;b<d_.a;b++){if(qU(d_[b],a)){return true;}}return false;}
-var c_,d_,e_;function r_(){r_=v2;aL();}
-function p_(a){a.b=hE(new fE(),true);a.a=i_(new h_(),a);}
-function q_(b,a){r_();FK(b);p_(b);uK(b,b);BN(b.a,1);AN(b,'AutoCompleteTextBox');cH(b.b,b.a);pN(b.b,'AutoCompleteChoices');AN(b.a,'list');b.c=a;return b;}
-function s_(a){if(a.e&&AC(a.a)>0){BK(a,BC(a.a,CC(a.a)));}yC(a.a);a.b.ic();a.e=false;}
-function t_(e,a,b,c){var d;d=CC(e.a);d++;if(d>=AC(e.a)){d=0;}bD(e.a,d);}
-function u_(d,a,b,c){s_(d);}
-function v_(d,a,b,c){yC(d.a);d.b.ic();d.e=false;}
-function w_(b,a){if(0==uU(a)||0==AC(b.a)||1==AC(b.a)&&qU(BC(b.a,0),a)){yC(b.a);b.b.ic();b.e=false;}else{bD(b.a,0);cD(b.a,AC(b.a)+1);if(!b.d){jp(oG(),b.b);b.d=true;}uE(b.b);b.e=true;rE(b.b,rN(b),sN(b)+b.zb());b.a.xe(b.Ab()+'px');}}
-function x_(d,a,b,c){A_(d,xK(d));if(uU(xK(d))>0&&d.c!==null){idc(d.c,xK(d),m_(new l_(),d));}}
-function y_(d,a,b,c){s_(d);}
-function z_(e,a,b,c){var d;d=CC(e.a);d--;if(d<0){d=AC(e.a)-1;}bD(e.a,d);}
-function A_(c,b){var a;a=0;while(a<AC(c.a)){if(yU(CU(BC(c.a,a)),CU(b))){++a;}else{aD(c.a,a);}}w_(c,b);}
-function B_(d,b,c){var a;yC(d.a);for(a=0;a<b.a;a++){vC(d.a,b[a]);}A_(d,c);}
-function C_(a,b,c){if(b==13){u_(this,a,b,c);}else if(b==9){y_(this,a,b,c);}else if(b==40){t_(this,a,b,c);}else if(b==38){z_(this,a,b,c);}else if(b==27){v_(this,a,b,c);}}
-function D_(a,b,c){}
-function E_(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:x_(this,a,b,c);break;}}
-function g_(){}
-_=g_.prototype=new qK();_.Fc=C_;_.ad=D_;_.bd=E_;_.tN=Afc+'AutoCompleteTextBoxAsync';_.tI=221;_.c=null;_.d=false;_.e=false;function j_(){j_=v2;zC();}
-function i_(b,a){j_();b.a=a;sC(b);return b;}
-function k_(a){if(1==xe(a)){s_(this.a);}}
-function h_(){}
-_=h_.prototype=new kC();_.tc=k_;_.tN=Afc+'AutoCompleteTextBoxAsync$1';_.tI=222;function m_(b,a){b.a=a;return b;}
-function o_(b,a){B_(b.a,a,xK(b.a));}
-function l_(){}
-_=l_.prototype=new xT();_.tN=Afc+'AutoCompleteTextBoxAsync$2';_.tI=223;function dab(a){a.j=true;}
-function eab(a){a.j=false;}
-function fab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
-function gab(){return this.j;}
-function bab(){}
-_=bab.prototype=new kr();_.mc=gab;_.tN=Afc+'DirtyableComposite';_.tI=224;_.j=false;function jab(a){a.b=FX(new DX());}
-function kab(a){rt(a);jab(a);return a;}
-function mab(d){var a,b,c;for(c=d.b.nc();c.hc();){a=Fb(c.pc(),65);b=qy(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).mc())return true;if(ac(b,67))if(Fb(b,67).gc())return true;}return false;}
-function nab(d,c,b,a){Fy(d,c,b,a);if(ac(a,68)){aY(d.b,d.a++,kdb(new jdb(),c,b));}}
-function oab(){return mab(this);}
-function pab(c,b,a){nab(this,c,b,a);}
-function iab(){}
-_=iab.prototype=new lt();_.gc=oab;_.ve=pab;_.tN=Afc+'DirtyableFlexTable';_.tI=225;_.a=0;function rab(a){fA(a);return a;}
-function tab(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=dr(c,b);if(ac(a,66))if(Fb(a,66).mc())return true;if(ac(a,67))if(Fb(a,67).gc())return true;}return false;}
-function uab(){return tab(this);}
-function qab(){}
-_=qab.prototype=new dA();_.gc=uab;_.tN=Afc+'DirtyableHorizontalPane';_.tI=226;function wab(a){nO(a);return a;}
-function yab(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=dr(this,b);if(ac(a,66))if(Fb(a,66).mc())return true;if(ac(a,67))if(Fb(a,67).gc())return true;}return false;}
-function vab(){}
-_=vab.prototype=new lO();_.gc=yab;_.tN=Afc+'DirtyableVerticalPane';_.tI=227;function gbb(){gbb=v2;Fr();}
-function dbb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=ocb(new ncb(),'images/close.gif');}
-function ebb(d,b,a){var c,e;gbb();Dr(d,true);dbb(d);hC(d.a,b);gA(d.c,kB(new uA(),'images/error_dialog.png'));e=nO(new lO());oO(e,d.a);gA(d.c,e);if(a!==null){fbb(d,e,a);}gA(d.c,d.b);c=d;lB(d.b,Cab(new Bab(),d,c));cs(d,d.c);rE(d,40,40);AN(d,'rule-error-Popup');return d;}
-function fbb(e,c,b){var a,d,f;f=nO(new lO());oO(c,f);d=wp(new qp(),'Details');oO(f,d);a=cC(new aC(),b);a.ue(false);oO(f,a);d.x(abb(new Fab(),e,a,d));}
-function hbb(a){hC(a.a,'');nE(a);}
-function ibb(){hbb(this);}
-function jbb(a){gbb();var b;b=ebb(new Aab(),a,null);edb();uE(b);}
-function kbb(a){gbb();var b;b=ebb(new Aab(),a.b,a.a);edb();uE(b);}
-function Aab(){}
-_=Aab.prototype=new Ar();_.ic=ibb;_.tN=Afc+'ErrorPopup';_.tI=228;function Cab(b,a,c){b.a=c;return b;}
-function Eab(a){hbb(this.a);}
-function Bab(){}
-_=Bab.prototype=new xT();_.wc=Eab;_.tN=Afc+'ErrorPopup$1';_.tI=229;function abb(b,a,c,d){b.a=c;b.b=d;return b;}
-function cbb(a){this.a.ue(true);this.b.ue(false);}
-function Fab(){}
-_=Fab.prototype=new xT();_.wc=cbb;_.tN=Afc+'ErrorPopup$2';_.tI=230;function mbb(b,a){b.a=a;return b;}
-function obb(a,b,c){}
-function pbb(a,b,c){}
-function qbb(a,b,c){this.a.nb();}
-function lbb(){}
-_=lbb.prototype=new xT();_.Fc=obb;_.ad=pbb;_.bd=qbb;_.tN=Afc+'FieldEditListener';_.tI=231;_.a=null;function sbb(a){a.h=kab(new iab());a.g=ut(a.h);}
-function ubb(b,a,c){sbb(b);wbb(b,a,c);mr(b,b.h);return b;}
-function tbb(a){sbb(a);mr(a,a.h);return a;}
-function vbb(d,c,a){var b;b=kz(new nw(),'<b>'+c+'<\/b>');nab(d.h,d.i,0,b);bx(d.g,d.i,0,(uz(),xz),(Dz(),aA));nab(d.h,d.i,1,a);bx(d.g,d.i,1,(uz(),wz),(Dz(),aA));d.i++;}
-function wbb(c,a,d){var b;b=cC(new aC(),d);AN(b,'resource-name-Label');Bbb(c,a,b);}
-function xbb(d,b,e,f){var a,c;c=cC(new aC(),e);AN(c,'resource-name-Label');a=fA(new dA());gA(a,c);gA(a,f);Bbb(d,b,a);}
-function ybb(a,b){nab(a.h,a.i,0,b);pt(a.g,a.i,0,2);a.i++;}
-function zbb(a){a.i=0;hy(a.h);}
-function Bbb(b,a,c){nab(b.h,0,0,kB(new uA(),a));bx(b.g,0,0,(uz(),wz),(Dz(),aA));nab(b.h,0,1,c);b.i++;}
-function Cbb(c,b,a,d){nab(c.h,b,a,d);}
-function Dbb(){return mab(this.h);}
-function rbb(){}
-_=rbb.prototype=new bab();_.mc=Dbb;_.tN=Afc+'FormStyleLayout';_.tI=232;_.i=0;function gcb(){gcb=v2;kE();}
-function dcb(c,b,d){var a;gcb();hE(c,true);c.i=ubb(new rbb(),b,d);AN(c,'ks-popups-Popup');a=ocb(new ncb(),'images/close.gif');lB(a,acb(new Fbb(),c));Cbb(c.i,0,2,a);cH(c,c.i);return c;}
-function ecb(b,a,c){vbb(b.i,a,c);}
-function fcb(a,b){ybb(a.i,b);}
-function Ebb(){}
-_=Ebb.prototype=new fE();_.tN=Afc+'FormStylePopup';_.tI=233;_.i=null;function acb(b,a){b.a=a;return b;}
-function ccb(a){this.a.ic();}
-function Fbb(){}
-_=Fbb.prototype=new xT();_.wc=ccb;_.tN=Afc+'FormStylePopup$1';_.tI=234;function qcb(){qcb=v2;nB();}
-function ocb(b,a){qcb();kB(b,a);AN(b,'image-Button');return b;}
-function pcb(b,a,c){qcb();kB(b,a);AN(b,'image-Button');b.pe(c);return b;}
-function ncb(){}
-_=ncb.prototype=new uA();_.tN=Afc+'ImageButton';_.tI=235;function wcb(c,d,b){var a;a=kB(new uA(),'images/information.gif');a.pe(b);lB(a,tcb(new scb(),c,d,b));mr(c,a);return c;}
-function rcb(){}
-_=rcb.prototype=new kr();_.tN=Afc+'InfoPopup';_.tI=236;function tcb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vcb(b){var a;a=dcb(new Ebb(),'images/information.gif',this.b);fcb(a,zcb(new ycb(),this.a,'small-Text'));rE(a,rN(b),sN(b));uE(a);}
-function scb(){}
-_=scb.prototype=new xT();_.wc=vcb;_.tN=Afc+'InfoPopup$1';_.tI=237;function zcb(c,a,b){cC(c,a);AN(c,b);return c;}
-function ycb(){}
-_=ycb.prototype=new aC();_.tN=Afc+'Lbl';_.tI=238;function cdb(){cdb=v2;kE();}
-function adb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=kB(new uA(),'images/close.gif');}
-function bdb(a){cdb();hE(a,true);adb(a);gA(a.c,a.a);gA(a.c,a.b);gA(a.c,kB(new uA(),'images/searching.gif'));lB(a.b,Dcb(new Ccb(),a));cH(a,a.c);rE(a,0,0);AN(a,'loading-Popup');return a;}
-function ddb(a){hC(a.a,'');nE(a);}
-function edb(){cdb();ddb(fdb());}
-function fdb(){cdb();if(hdb===null){hdb=bdb(new Bcb());}return hdb;}
-function gdb(){ddb(this);}
-function idb(a){cdb();var b;b=fdb();hC(b.a,a);uE(b);}
-function Bcb(){}
-_=Bcb.prototype=new fE();_.ic=gdb;_.tN=Afc+'LoadingPopup';_.tI=239;var hdb=null;function Dcb(b,a){b.a=a;return b;}
-function Fcb(a){ddb(this.a);}
-function Ccb(){}
-_=Ccb.prototype=new xT();_.wc=Fcb;_.tN=Afc+'LoadingPopup$1';_.tI=240;function kdb(c,b,a){c.b=b;c.a=a;return c;}
-function jdb(){}
-_=jdb.prototype=new xT();_.tN=Afc+'Pair';_.tI=241;_.a=0;_.b=0;function rdb(a){a.b=sC(new kC());uTb(ELb(),odb(new ndb(),a));mr(a,a.b);return a;}
-function tdb(a){return BC(a.b,CC(a.b));}
-function udb(b,a){b.a=a;}
-function mdb(){}
-_=mdb.prototype=new kr();_.tN=Afc+'RulePackageSelector';_.tI=242;_.a=null;_.b=null;function odb(b,a){b.a=a;return b;}
-function qdb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){vC(this.a.b,b[a].j);if(this.a.a!==null&&qU(b[a].j,this.a.a)){bD(this.a.b,a);}}}
-function ndb(){}
-_=ndb.prototype=new hcb();_.md=qdb;_.tN=Afc+'RulePackageSelector$1';_.tI=243;function neb(){neb=v2;Fr();}
-function leb(f,g,d){var a,b,c,e;neb();Dr(f,true);f.d=g;f.b=d;AN(f,'ks-popups-Popup');as(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=fA(new dA());a=sC(new kC());idb('Please wait...');wTb(ELb(),xdb(new wdb(),f,a));uC(a,Bdb(new Adb(),f,a));gA(c,a);e=wp(new qp(),'Change status');e.x(Fdb(new Edb(),f,a));gA(c,e);b=wp(new qp(),'Cancel');b.x(deb(new ceb(),f));gA(c,b);cs(f,c);return f;}
-function meb(b,a){idb('Updating status...');hTb(ELb(),b.d,b.c,b.b,heb(new geb(),b));}
-function oeb(b,a){b.a=a;}
-function vdb(){}
-_=vdb.prototype=new Ar();_.tN=Afc+'StatusChangePopup';_.tI=244;_.a=null;_.b=false;_.c=null;_.d=null;function xdb(b,a,c){b.a=c;return b;}
-function zdb(a){var b,c;c=Fb(a,63);vC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){vC(this.a,c[b]);}edb();}
-function wdb(){}
-_=wdb.prototype=new hcb();_.md=zdb;_.tN=Afc+'StatusChangePopup$1';_.tI=245;function Bdb(b,a,c){b.a=a;b.b=c;return b;}
-function Ddb(a){this.a.c=BC(this.b,CC(this.b));}
-function Adb(){}
-_=Adb.prototype=new xT();_.vc=Ddb;_.tN=Afc+'StatusChangePopup$2';_.tI=246;function Fdb(b,a,c){b.a=a;b.b=c;return b;}
-function beb(b){var a;a=BC(this.b,CC(this.b));meb(this.a,a);this.a.ic();}
-function Edb(){}
-_=Edb.prototype=new xT();_.wc=beb;_.tN=Afc+'StatusChangePopup$3';_.tI=247;function deb(b,a){b.a=a;return b;}
-function feb(a){this.a.ic();}
-function ceb(){}
-_=ceb.prototype=new xT();_.wc=feb;_.tN=Afc+'StatusChangePopup$4';_.tI=248;function heb(b,a){b.a=a;return b;}
-function jeb(b,a){b.a.a.nb();edb();}
-function keb(a){jeb(this,a);}
-function geb(){}
-_=geb.prototype=new hcb();_.md=keb;_.tN=Afc+'StatusChangePopup$5';_.tI=249;function reb(){reb=v2;gcb();}
-function qeb(c,b,a){reb();dcb(c,'images/attention_needed.png',b);ecb(c,'Detail:',seb(c,a));return c;}
-function seb(c,b){var a;a=kK(new jK());AN(a,'editable-Surface');pK(a,12);BK(a,b);a.xe('100%');return a;}
-function peb(){}
-_=peb.prototype=new Ebb();_.tN=Afc+'ValidationMessageWidget';_.tI=250;function Aeb(){Aeb=v2;kE();}
-function yeb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=wp(new qp(),'OK');}
-function zeb(b,c,d){var a;Aeb();hE(b,true);yeb(b);rE(b,c,d);gA(b.c,b.a);gA(b.c,b.b);a=b;b.b.x(veb(new ueb(),b,a));cH(b,b.c);AN(b,'rule-warning-Popup');return b;}
-function Beb(a){hC(a.a,'');nE(a);}
-function Ceb(){Beb(this);}
-function Deb(a,c,d){Aeb();var b;b=zeb(new teb(),c,d);hC(b.a,a);uE(b);}
-function teb(){}
-_=teb.prototype=new fE();_.ic=Ceb;_.tN=Afc+'WarningPopup';_.tI=251;function veb(b,a,c){b.a=c;return b;}
-function xeb(a){Beb(this.a);}
-function ueb(){}
-_=ueb.prototype=new xT();_.wc=xeb;_.tN=Afc+'WarningPopup$1';_.tI=252;function ifb(){ifb=v2;Fr();}
-function hfb(d,b,f){var a,c,e;ifb();Cr(d);bs(d,b);e=wp(new qp(),'Yes');c=wp(new qp(),'No');e.x(afb(new Feb(),d,f));c.x(efb(new dfb(),d));a=fA(new dA());gA(a,e);gA(a,c);cs(d,a);return d;}
-function Eeb(){}
-_=Eeb.prototype=new Ar();_.tN=Afc+'YesNoDialog';_.tI=253;function afb(b,a,c){b.a=a;b.b=c;return b;}
-function cfb(a){this.b.nb();this.a.ic();}
-function Feb(){}
-_=Feb.prototype=new xT();_.wc=cfb;_.tN=Afc+'YesNoDialog$1';_.tI=254;function efb(b,a){b.a=a;return b;}
-function gfb(a){this.a.ic();}
-function dfb(){}
-_=dfb.prototype=new xT();_.wc=gfb;_.tN=Afc+'YesNoDialog$2';_.tI=255;function ixb(b,a,c){b.e=c;b.a=a;nxb(b,a.e,a.d.n);mxb(b);return b;}
-function jxb(b,a){ybb(b.c,a);}
-function lxb(c,a,d){var b;b=FK(new qK());zK(b,a);BK(b,d);b.ue(false);return b;}
-function mxb(a){dv(a.b,exb(new dxb(),a));}
-function nxb(d,f,c){var a,b,e;d.b=cv(new Du());iv(d.b,v()+'asset');jv(d.b,'multipart/form-data');kv(d.b,'post');e=gt(new ft());jt(e,'fileUploadElement');b=fA(new dA());gA(b,lxb(d,'attachmentUUID',f));d.d=pcb(new ncb(),'images/upload.gif','Upload');gA(b,e);gA(b,cC(new aC(),'upload:'));gA(b,d.d);cH(d.b,b);d.c=ubb(new rbb(),d.sb(),c);if(!d.a.c)vbb(d.c,'Upload new version:',d.b);a=wp(new qp(),'Download');a.x(Cwb(new Bwb(),d,f));vbb(d.c,'Download current version:',a);lB(d.d,axb(new Fwb(),d));mr(d,d.c);d.c.xe('100%');AN(d,d.Bb());}
-function oxb(a){idb('Uploading...');}
-function pxb(a){mv(a.b);}
-function Awb(){}
-_=Awb.prototype=new kr();_.tN=Ffc+'AssetAttachmentFileWidget';_.tI=256;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function kfb(b,a,c){ixb(b,a,c);jxb(b,kz(new nw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
-function mfb(){return 'images/decision_table.png';}
-function nfb(){return 'decision-Table-upload';}
-function jfb(){}
-_=jfb.prototype=new Awb();_.sb=mfb;_.Bb=nfb;_.tN=Bfc+'DecisionTableXLSWidget';_.tI=257;function pfb(){pfb=v2;xfb=C0(new a0());sfb=C0(new a0());rfb=C0(new a0());qfb=zb('[Ljava.lang.String;',607,1,['not','exists','or']);{d1(xfb,'==','is equal to');d1(xfb,'!=','is not equal to');d1(xfb,'<','is less than');d1(xfb,'<=','less than or equal to');d1(xfb,'>','greater than');d1(xfb,'>=','greater than or equal to');d1(xfb,'|| ==','or equal to');d1(xfb,'|| !=','or not equal to');d1(xfb,'&& !=','and not equal to');d1(xfb,'&& >','and greater than');d1(xfb,'&& <','and less than');d1(xfb,'|| >','or greater than');d1(xfb,'|| <','or less than');d1(xfb,'&& <','and less than');d1(xfb,'|| >=','or greater than (or equal to)');d1(xfb,'|| <=','or less than (or equal to)');d1(xfb,'&& >=','and greater than (or equal to)');d1(xfb,'&& <=','or less than (or equal to)');d1(xfb,'&& contains','and contains');d1(xfb,'|| contains','or contains');d1(xfb,'&& matches','and matches');d1(xfb,'|| matches','or mat!
 ches');d1(xfb,'|| excludes','or excludes');d1(xfb,'&& excludes','and excludes');d1(xfb,'soundslike','sounds like');d1(sfb,'not','There is no');d1(sfb,'exists','There exists');d1(sfb,'or','Any of');d1(rfb,'assert','Insert');d1(rfb,'assertLogical','Logically insert');d1(rfb,'retract','Retract');d1(rfb,'set','Set');d1(rfb,'modify','Modify');}}
-function tfb(a){pfb();return wfb(a,rfb);}
-function ufb(a){pfb();return wfb(a,sfb);}
-function vfb(a){pfb();return wfb(a,xfb);}
-function wfb(a,b){pfb();if(F0(b,a)){return Fb(c1(b,a),1);}else{return a;}}
-var qfb,rfb,sfb,xfb;function Bfb(){Bfb=v2;pgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=']);rgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);ngb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);lgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);qgb=zb('[Ljava.lang.String;',607,1,['==','!=']);ogb=zb('[Ljava.lang.String;',607,1,['==','!=','<','>','<=','>=']);sgb=zb('[Ljava.lang.String;',607,1,['==','!=','matches','soundslike']);mgb=zb('[Ljava.lang.String;',607,1,['contains','excludes','==','!=']);}
-function zfb(a){a.h=C0(new a0());a.c=C0(new a0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[613],[14],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[613],[14],[0],null);}
-function Afb(a){Bfb();zfb(a);return a;}
-function Cfb(c,a,b){var d;d=Fb(c.f.fc(a+'.'+b),1);if(d===null){return pgb;}else if(qU(d,'String')){return rgb;}else if(qU(d,'Comparable')||qU(d,'Numeric')){return ngb;}else if(qU(d,'Collection')){return lgb;}else{return pgb;}}
-function Efb(i,g,d){var a,b,c,e,f,h,j;c=fgb(i);j=Fb(c1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(qU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.fc(f),63);}}}}return Fb(i.c.fc(g.c+'.'+d),63);}
-function Dfb(f,g,a,c){var b,d,e,h,i;b=fgb(f);h=Fb(c1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(qU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.fc(e),63);}}}return Fb(f.c.fc(g+'.'+c),63);}
-function agb(b,a){return Fb(b.g.fc(a),63);}
-function Ffb(a,c){var b;b=Fb(a.h.fc(c),1);return Fb(a.g.fc(b),63);}
-function bgb(c,a,b){return Fb(c.f.fc(a+'.'+b),1);}
-function cgb(a){return ggb(a,a.h.oc());}
-function dgb(c,a,b){var d;d=Fb(c.f.fc(a+'.'+b),1);if(d===null){return qgb;}else if(qU(d,'String')){return sgb;}else if(qU(d,'Comparable')||qU(d,'Numeric')){return ogb;}else if(qU(d,'Collection')){return mgb;}else{return qgb;}}
-function egb(a,b){return a.h.cb(b);}
-function fgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=C0(new a0());e=g.c.oc();for(b=tW(e);AW(b);){d=Fb(BW(b),1);if(rU(d,91)!=(-1)){c=rU(d,91);a=AU(d,0,c);f=AU(d,c+1,rU(d,93));h=AU(f,0,rU(f,61));d1(g.d,a,h);}}}return g.d;}
-function ggb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[607],[1],[d.b.a.c],null);b=0;for(c=tW(d);AW(c);){a[b]=Fb(BW(c),1);b++;}return a;}
-function yfb(){}
-_=yfb.prototype=new xT();_.tN=Cfc+'SuggestionCompletionEngine';_.tI=258;_.d=null;_.e=null;_.f=null;_.g=null;var lgb,mgb,ngb,ogb,pgb,qgb,rgb,sgb;function jgb(b,a){a.a=Fb(b.Ad(),72);a.b=Fb(b.Ad(),72);a.c=Fb(b.Ad(),57);a.e=Fb(b.Ad(),63);a.f=Fb(b.Ad(),57);a.g=Fb(b.Ad(),57);a.h=Fb(b.Ad(),57);}
-function kgb(b,a){b.bf(a.a);b.bf(a.b);b.bf(a.c);b.bf(a.e);b.bf(a.f);b.bf(a.g);b.bf(a.h);}
-function ugb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[617],[18],[0],null);}
-function vgb(a){ugb(a);return a;}
-function wgb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[617],[18],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[617],[18],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
-function ygb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[617],[18],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
-function tgb(){}
-_=tgb.prototype=new xT();_.tN=Dfc+'ActionFieldList';_.tI=259;function Bgb(b,a){a.b=Fb(b.Ad(),73);}
-function Cgb(b,a){b.bf(a.b);}
-function Egb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Dgb(){}
-_=Dgb.prototype=new xT();_.tN=Dfc+'ActionFieldValue';_.tI=260;_.a=null;_.b=null;_.c=null;function chb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
-function dhb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
-function ghb(a,b){vgb(a);a.a=b;return a;}
-function fhb(a){vgb(a);return a;}
-function ehb(){}
-_=ehb.prototype=new tgb();_.tN=Dfc+'ActionInsertFact';_.tI=261;_.a=null;function khb(b,a){a.a=b.Bd();Bgb(b,a);}
-function lhb(b,a){b.cf(a.a);Cgb(b,a);}
-function ohb(b,a){ghb(b,a);return b;}
-function nhb(a){fhb(a);return a;}
-function mhb(){}
-_=mhb.prototype=new ehb();_.tN=Dfc+'ActionInsertLogicalFact';_.tI=262;function shb(b,a){khb(b,a);}
-function thb(b,a){lhb(b,a);}
-function vhb(a,b){a.a=b;return a;}
-function uhb(){}
-_=uhb.prototype=new xT();_.tN=Dfc+'ActionRetractFact';_.tI=263;_.a=null;function zhb(b,a){a.a=b.Bd();}
-function Ahb(b,a){b.cf(a.a);}
-function Dhb(a,b){vgb(a);a.a=b;return a;}
-function Chb(a){vgb(a);return a;}
-function Bhb(){}
-_=Bhb.prototype=new tgb();_.tN=Dfc+'ActionSetField';_.tI=264;_.a=null;function bib(b,a){a.a=b.Bd();Bgb(b,a);}
-function cib(b,a){b.cf(a.a);Cgb(b,a);}
-function fib(b,a){Dhb(b,a);return b;}
-function eib(a){Chb(a);return a;}
-function dib(){}
-_=dib.prototype=new Bhb();_.tN=Dfc+'ActionUpdateField';_.tI=265;function jib(b,a){bib(b,a);}
-function kib(b,a){cib(b,a);}
-function mib(a,b){a.b=b;return a;}
-function nib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[615],[16],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[615],[16],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
-function lib(){}
-_=lib.prototype=new xT();_.tN=Dfc+'CompositeFactPattern';_.tI=266;_.a=null;_.b=null;function rib(b,a){a.a=Fb(b.Ad(),74);a.b=b.Bd();}
-function sib(b,a){b.bf(a.a);b.cf(a.b);}
-function uib(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[616],[17],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[616],[17],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
-function wib(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[616],[17],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
-function tib(){}
-_=tib.prototype=new xT();_.tN=Dfc+'CompositeFieldConstraint';_.tI=267;_.a=null;_.b=null;function zib(b,a){a.a=b.Bd();a.b=Fb(b.Ad(),75);}
-function Aib(b,a){b.cf(a.a);b.bf(a.b);}
-function yjb(){}
-_=yjb.prototype=new xT();_.tN=Dfc+'ISingleFieldConstraint';_.tI=268;_.e=0;_.f=null;function Bib(){}
-_=Bib.prototype=new yjb();_.tN=Dfc+'ConnectiveConstraint';_.tI=269;_.a=null;function Fib(b,a){a.a=b.Bd();Cjb(b,a);}
-function ajb(b,a){b.cf(a.a);Djb(b,a);}
-function djb(b){var a;a=new bjb();a.a=b.a;return a;}
-function ejb(e){var a,b,c,d;b=BU(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
-function jjb(){return ejb(this);}
-function bjb(){}
-_=bjb.prototype=new xT();_.tS=jjb;_.tN=Dfc+'DSLSentence';_.tI=270;_.a=null;function hjb(b,a){a.a=b.Bd();}
-function ijb(b,a){b.cf(a.a);}
-function ljb(b,a){b.c=a;return b;}
-function mjb(b,a){if(b.b===null)b.b=new tib();uib(b.b,a);}
-function ojb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[616],[17],[0],null);}else{return a.b.b;}}
-function pjb(a){if(a.a!==null&& !qU('',a.a)){return true;}else{return false;}}
-function qjb(b,a){wib(b.b,a);}
-function kjb(){}
-_=kjb.prototype=new xT();_.tN=Dfc+'FactPattern';_.tI=271;_.a=null;_.b=null;_.c=null;function tjb(b,a){a.a=b.Bd();a.b=Fb(b.Ad(),31);a.c=b.Bd();}
-function ujb(b,a){b.cf(a.a);b.bf(a.b);b.cf(a.c);}
-function Cjb(b,a){a.e=b.yd();a.f=b.Bd();}
-function Djb(b,a){b.Fe(a.e);b.cf(a.f);}
-function akb(b,a,c){b.a=a;b.b=c;return b;}
-function gkb(){var a;a=cU(new bU());eU(a,this.a);if(qU('no-loop',this.a)){eU(a,' ');eU(a,this.b===null?'true':this.b);}else if(qU('salience',this.a)){eU(a,' ');eU(a,this.b);}else if(this.b!==null){eU(a,' "');eU(a,this.b);eU(a,'"');}return iU(a);}
-function Fjb(){}
-_=Fjb.prototype=new xT();_.tS=gkb;_.tN=Dfc+'RuleAttribute';_.tI=272;_.a=null;_.b=null;function ekb(b,a){a.a=b.Bd();a.b=b.Bd();}
-function fkb(b,a){b.cf(a.a);b.cf(a.b);}
-function ikb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[21],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[22],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[23],[0],null);}
-function jkb(a){ikb(a);return a;}
-function kkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[21],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function lkb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[22],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[22],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
-function mkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[23],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[23],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
-function okb(h){var a,b,c,d,e,f,g;g=FX(new DX());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,16)){b=Fb(f,16);if(pjb(b)){bY(g,b.a);}for(e=0;e<ojb(b).a;e++){c=ojb(b)[e];if(ac(c,32)){a=Fb(c,32);if(Fkb(a)){bY(g,a.b);}}}}}return g;}
-function pkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],16)){b=Fb(c.b[a],16);if(b.a!==null&&qU(d,b.a)){return b;}}}return null;}
-function qkb(d){var a,b,c;if(d.b===null){return null;}b=FX(new DX());for(a=0;a<d.b.a;a++){if(ac(d.b[a],16)){c=Fb(d.b[a],16);if(c.a!==null){bY(b,c.a);}}}return b;}
-function rkb(k,b){var a,c,d,e,f,g,h,i,j;j=FX(new DX());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,16)){d=Fb(i,16);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Fkb(a)){bY(j,a.b);}}}}if(pjb(d)){bY(j,d.a);}}else{if(pjb(d)){bY(j,d.a);}}}}return j;}
-function skb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],28)){d=Fb(e.e[b],28);if(qU(d.a,a)){return true;}}else if(ac(e.e[b],27)){c=Fb(e.e[b],27);if(qU(c.a,a)){return true;}}}return false;}
-function tkb(b,a){return fY(okb(b),a);}
-function ukb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[21],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function vkb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[22],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],16)){e=Fb(f.b[a],16);if(e.a!==null&&skb(f,e.a)){return false;}}}}f.b=d;return true;}
-function wkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[23],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
-function hkb(){}
-_=hkb.prototype=new xT();_.tN=Dfc+'RuleModel';_.tI=273;_.c='1.0';_.d=null;function zkb(b,a){a.a=Fb(b.Ad(),76);a.b=Fb(b.Ad(),77);a.c=b.Bd();a.d=b.Bd();a.e=Fb(b.Ad(),78);}
-function Akb(b,a){b.bf(a.a);b.bf(a.b);b.cf(a.c);b.cf(a.d);b.bf(a.e);}
-function Ckb(b,a){b.c=a;return b;}
-function Dkb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',614,15,[new Bib()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[614],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new Bib();c.a=b;}}
-function Fkb(a){if(a.b!==null&& !qU('',a.b)){return true;}else{return false;}}
-function Bkb(){}
-_=Bkb.prototype=new yjb();_.tN=Dfc+'SingleFieldConstraint';_.tI=274;_.a=null;_.b=null;_.c=null;_.d=null;function clb(b,a){a.a=Fb(b.Ad(),79);a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();Cjb(b,a);}
-function dlb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);Djb(b,a);}
-function Dlb(d,b,c,a){d.e=c;d.a=a;d.d=kab(new iab());d.f=b;d.b=c.a;d.c=agb(d.a,c.a);AN(d.d,'model-builderInner-Background');Flb(d);mr(d,d.d);return d;}
-function Flb(e){var a,b,c,d,f;hy(e.d);nab(e.d,0,0,bmb(e));c=kab(new iab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];nab(c,a,0,amb(e,f));nab(c,a,1,dmb(e,f));b=a;d=ocb(new ncb(),'images/delete_item_small.gif');lB(d,glb(new flb(),e,b));nab(c,a,2,d);}nab(e.d,0,1,c);}
-function amb(a,b){return cC(new aC(),b.a);}
-function bmb(d){var a,b,c;c=fA(new dA());b=ocb(new ncb(),'images/add_field_to_fact.gif');b.pe('Add another field to this so you can set its value.');lB(b,wlb(new vlb(),d));a='assert';if(ac(d.e,26)){a='assertLogical';}gA(c,zcb(new ycb(),tfb(a)+' '+d.e.a,'modeller-action-Label'));gA(c,b);return c;}
-function cmb(d,e){var a,b,c;c=dcb(new Ebb(),'images/newex_wiz.gif','Add a field');AN(c,'ks-popups-Popup');a=sC(new kC());vC(a,'...');for(b=0;b<d.c.a;b++){vC(a,d.c[b]);}bD(a,0);ecb(c,'Add field',a);uC(a,Alb(new zlb(),d,a,c));rE(c,rN(e),sN(e));uE(c);}
-function dmb(c,d){var a,b;b=Dfb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return xpb(d.c,olb(new nlb(),c,d),b);}else{a=FK(new qK());BK(a,d.c);tK(a,slb(new rlb(),c,d,a));if(qU(d.b,'Numeric')){uK(a,rnb(a));}return a;}}
-function elb(){}
-_=elb.prototype=new bab();_.tN=Efc+'ActionInsertFactWidget';_.tI=275;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function glb(b,a,c){b.a=a;b.b=c;return b;}
-function ilb(b){var a;a=hfb(new Eeb(),'Remove this item?',klb(new jlb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
-function flb(){}
-_=flb.prototype=new xT();_.wc=ilb;_.tN=Efc+'ActionInsertFactWidget$1';_.tI=276;function klb(b,a,c){b.a=a;b.b=c;return b;}
-function mlb(){ygb(this.a.a.e,this.b);rwb(this.a.a.f);}
-function jlb(){}
-_=jlb.prototype=new xT();_.nb=mlb;_.tN=Efc+'ActionInsertFactWidget$2';_.tI=277;function olb(b,a,c){b.a=c;return b;}
-function qlb(a){this.a.c=a;}
-function nlb(){}
-_=nlb.prototype=new xT();_.Ce=qlb;_.tN=Efc+'ActionInsertFactWidget$3';_.tI=278;function slb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function ulb(a){this.c.c=xK(this.b);rwb(this.a.f);}
-function rlb(){}
-_=rlb.prototype=new xT();_.vc=ulb;_.tN=Efc+'ActionInsertFactWidget$4';_.tI=279;function wlb(b,a){b.a=a;return b;}
-function ylb(a){cmb(this.a,a);}
-function vlb(){}
-_=vlb.prototype=new xT();_.wc=ylb;_.tN=Efc+'ActionInsertFactWidget$5';_.tI=280;function Alb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Clb(c){var a,b;a=BC(this.b,CC(this.b));b=bgb(this.a.a,this.a.e.a,a);wgb(this.a.e,Egb(new Dgb(),a,'',b));rwb(this.a.f);this.c.ic();}
-function zlb(){}
-_=zlb.prototype=new xT();_.vc=Clb;_.tN=Efc+'ActionInsertFactWidget$6';_.tI=281;function fmb(c,a,b){c.a=rt(new lt());AN(c.a,'model-builderInner-Background');c.a.ve(0,0,zcb(new ycb(),tfb('retract'),'modeller-action-Label'));c.a.ve(0,1,zcb(new ycb(),'['+b.a+']','modeller-action-Label'));mr(c,c.a);return c;}
-function emb(){}
-_=emb.prototype=new kr();_.tN=Efc+'ActionRetractFactWidget';_.tI=282;_.a=null;function knb(e,b,d,a){var c;e.d=d;e.a=a;e.c=kab(new iab());e.e=b;AN(e.c,'model-builderInner-Background');if(egb(e.a,d.a)){e.b=Ffb(e.a,d.a);e.f=Fb(e.a.h.fc(d.a),1);}else{c=pkb(b.c,d.a);e.b=agb(e.a,c.c);e.f=c.c;}mnb(e);mr(e,e.c);return e;}
-function mnb(e){var a,b,c,d,f;hy(e.c);nab(e.c,0,0,onb(e));c=kab(new iab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];nab(c,a,0,nnb(e,f));nab(c,a,1,qnb(e,f));b=a;d=ocb(new ncb(),'images/delete_item_small.gif');lB(d,jmb(new imb(),e,b));nab(c,a,2,d);}nab(e.c,0,1,c);}
-function nnb(a,b){return cC(new aC(),b.a);}
-function onb(d){var a,b,c;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe('Add another field to this so you can set its value.');lB(a,rmb(new qmb(),d));c='set';if(ac(d.d,29)){c='modify';}gA(b,zcb(new ycb(),tfb(c)+' ['+d.d.a+']','modeller-action-Label'));gA(b,a);return b;}
-function pnb(d,e){var a,b,c;c=dcb(new Ebb(),'images/newex_wiz.gif','Add a field');AN(c,'ks-popups-Popup');a=sC(new kC());vC(a,'...');for(b=0;b<d.b.a;b++){vC(a,d.b[b]);}bD(a,0);ecb(c,'Add field',a);uC(a,vmb(new umb(),d,a,c));rE(c,rN(e),sN(e));uE(c);}
-function qnb(d,f){var a,b,c,e;e='';if(egb(d.a,d.d.a)){e=Fb(d.a.h.fc(d.d.a),1);}else{e=pkb(d.e.c,d.d.a).c;}b=Dfb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return xpb(f.c,zmb(new ymb(),d,f),b);}else{c=aH(new yG());a=FK(new qK());BK(a,f.c);if(uU(f.c)!=0){bL(a,uU(f.c));}if(qU(f.b,'Numeric')){uK(a,rnb(a));}tK(a,Dmb(new Cmb(),d,f,a));uK(a,mbb(new lbb(),bnb(new anb(),d,a)));cH(c,a);return c;}}
-function rnb(a){return fnb(new enb(),a);}
-function snb(){return mab(this.c);}
-function hmb(){}
-_=hmb.prototype=new bab();_.mc=snb;_.tN=Efc+'ActionSetFieldWidget';_.tI=283;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function jmb(b,a,c){b.a=a;b.b=c;return b;}
-function lmb(b){var a;a=hfb(new Eeb(),'Remove this item?',nmb(new mmb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
-function imb(){}
-_=imb.prototype=new xT();_.wc=lmb;_.tN=Efc+'ActionSetFieldWidget$1';_.tI=284;function nmb(b,a,c){b.a=a;b.b=c;return b;}
-function pmb(){ygb(this.a.a.d,this.b);rwb(this.a.a.e);}
-function mmb(){}
-_=mmb.prototype=new xT();_.nb=pmb;_.tN=Efc+'ActionSetFieldWidget$2';_.tI=285;function rmb(b,a){b.a=a;return b;}
-function tmb(a){pnb(this.a,a);}
-function qmb(){}
-_=qmb.prototype=new xT();_.wc=tmb;_.tN=Efc+'ActionSetFieldWidget$3';_.tI=286;function vmb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function xmb(c){var a,b;a=BC(this.b,CC(this.b));b=bgb(this.a.a,this.a.f,a);wgb(this.a.d,Egb(new Dgb(),a,'',b));rwb(this.a.e);this.c.ic();}
-function umb(){}
-_=umb.prototype=new xT();_.vc=xmb;_.tN=Efc+'ActionSetFieldWidget$4';_.tI=287;function zmb(b,a,c){b.a=c;return b;}
-function Bmb(a){this.a.c=a;}
-function ymb(){}
-_=ymb.prototype=new xT();_.Ce=Bmb;_.tN=Efc+'ActionSetFieldWidget$5';_.tI=288;function Dmb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Fmb(a){this.b.c=xK(this.a);}
-function Cmb(){}
-_=Cmb.prototype=new xT();_.vc=Fmb;_.tN=Efc+'ActionSetFieldWidget$6';_.tI=289;function bnb(b,a,c){b.a=c;return b;}
-function dnb(){bL(this.a,uU(xK(this.a)));}
-function anb(){}
-_=anb.prototype=new xT();_.nb=dnb;_.tN=Efc+'ActionSetFieldWidget$7';_.tI=290;function fnb(a,b){a.a=b;return a;}
-function hnb(a,b,c){}
-function inb(c,a,b){if(hS(a)&&a!=61&& !yU(xK(this.a),'=')){vK(Fb(c,80));}}
-function jnb(a,b,c){}
-function enb(){}
-_=enb.prototype=new xT();_.Fc=hnb;_.ad=inb;_.bd=jnb;_.tN=Efc+'ActionSetFieldWidget$8';_.tI=291;function Cnb(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=kab(new iab());AN(d.b,'model-builderInner-Background');Enb(d);mr(d,d.b);return d;}
-function Enb(c){var a,b,d;nab(c.b,0,0,Fnb(c));if(c.d.a!==null){d=wab(new vab());a=c.d.a;for(b=0;b<a.a;b++){oO(d,psb(new nqb(),c.c,a[b],c.a,false));}nab(c.b,0,1,d);}}
-function Fnb(c){var a,b;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");lB(a,vnb(new unb(),c));gA(b,cC(new aC(),ufb(c.d.b)));gA(b,a);AN(b,'modeller-composite-Label');return b;}
-function aob(e,f){var a,b,c,d;a=sC(new kC());b=e.a.e;vC(a,'Choose...');for(c=0;c<b.a;c++){vC(a,b[c]);}bD(a,0);d=dcb(new Ebb(),'images/new_fact.gif','New fact pattern...');ecb(d,'choose fact type',a);uC(a,znb(new ynb(),e,a,d));AN(d,'ks-popups-Popup');rE(d,rN(f)-400,sN(f));uE(d);}
-function bob(){return mab(this.b);}
-function tnb(){}
-_=tnb.prototype=new bab();_.mc=bob;_.tN=Efc+'CompositeFactPatternWidget';_.tI=292;_.a=null;_.b=null;_.c=null;_.d=null;function vnb(b,a){b.a=a;return b;}
-function xnb(a){aob(this.a,a);}
-function unb(){}
-_=unb.prototype=new xT();_.wc=xnb;_.tN=Efc+'CompositeFactPatternWidget$1';_.tI=293;function znb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Bnb(a){nib(this.a.d,ljb(new kjb(),BC(this.b,CC(this.b))));rwb(this.a.c);this.c.ic();}
-function ynb(){}
-_=ynb.prototype=new xT();_.vc=Bnb;_.tN=Efc+'CompositeFactPatternWidget$2';_.tI=294;function npb(f,d,b,a,c,g){var e;f.a=a;if(qU(g,'Numeric')){f.d=true;}else{f.d=false;}if(qU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',607,1,['true','false']);}f.c=c.c;e=c.a;f.b=Efb(e,d,b);f.e=aH(new yG());spb(f);mr(f,f.e);return f;}
-function opb(c,b){var a;a=FK(new qK());AN(a,'constraint-value-Editor');if(b.f===null){BK(a,'');}else{BK(a,b.f);}if(b.f===null||uU(b.f)<5){bL(a,3);}else{bL(a,uU(b.f)-1);}tK(a,Dob(new Cob(),c,b,a));uK(a,mbb(new lbb(),bpb(new apb(),c,a)));return a;}
-function qpb(b,a){spb(b);a.ic();}
-function rpb(b){var a;if(b.b!==null){return xpb(b.a.f,qob(new pob(),b),b.b);}else{a=opb(b,b.a);if(b.d){uK(a,new tob());}a.pe('This is a literal value. What is shown is what the field is checked against.');return a;}}
-function spb(b){var a;b.e.F();if(b.a.e==0){a=kB(new uA(),'images/edit.gif');lB(a,iob(new dob(),b));cH(b.e,a);}else{switch(b.a.e){case 1:cH(b.e,rpb(b));break;case 3:cH(b.e,tpb(b));break;case 2:cH(b.e,vpb(b));break;default:break;}}}
-function tpb(e){var a,b,c,d;a=opb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=kB(new uA(),'images/function_assets.gif');c.pe(d);a.pe(d);b=wpb(e,c,a);return b;}
-function upb(e,g,a){var b,c,d,f;b=dcb(new Ebb(),'images/newex_wiz.gif','Field value');d=wp(new qp(),'Literal value');d.x(fpb(new epb(),e,a,b));ecb(b,'Literal value:',wpb(e,d,wcb(new rcb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));fcb(b,kz(new nw(),'<hr/>'));fcb(b,zcb(new ycb(),'Advanced options','weak-Text'));if(rkb(e.c,e.a).b>0){f=wp(new qp(),'Bound variable');f.x(jpb(new ipb(),e,a,b));ecb(b,'A variable:',wpb(e,f,wcb(new rcb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=wp(new qp(),'New formula');c.x(fob(new eob(),e,a,b));ecb(b,'A formula:',wpb(e,c,wcb(new rcb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));rE(b,rN(g),sN(g));uE(b);}
-function vpb(c){var a,b,d,e;e=rkb(c.c,c.a);a=sC(new kC());if(c.a.f===null){vC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(gY(e,b),1);vC(a,d);if(c.a.f!==null&&qU(c.a.f,d)){bD(a,b);}}uC(a,mob(new lob(),c,a));return a;}
-function wpb(d,a,c){var b;b=fA(new dA());gA(b,a);gA(b,c);b.xe('100%');return b;}
-function xpb(b,k,d){var a,c,e,f,g,h,i,j;a=sC(new kC());if(b===null||qU('',b)){vC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(rU(i,61)>0){h=zpb(i);f=h[0];c=h[1];j=f;wC(a,c,f);}else{wC(a,i,i);j=i;}if(b!==null&&qU(b,j)){bD(a,e);g=true;}}if(b!==null&& !g){wC(a,b,b);bD(a,d.a);}uC(a,zob(new yob(),k,a));return a;}
-function ypb(){return this.j;}
-function zpb(c){var a,b;b=yb('[Ljava.lang.String;',[607],[1],[2],null);a=rU(c,61);b[0]=AU(c,0,a);b[1]=AU(c,a+1,uU(c));return b;}
-function cob(){}
-_=cob.prototype=new bab();_.mc=ypb;_.tN=Efc+'ConstraintValueEditor';_.tI=295;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function iob(b,a){b.a=a;return b;}
-function kob(a){upb(this.a,a,this.a.a);}
-function dob(){}
-_=dob.prototype=new xT();_.wc=kob;_.tN=Efc+'ConstraintValueEditor$1';_.tI=296;function fob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function hob(a){this.b.e=3;qpb(this.a,this.c);}
-function eob(){}
-_=eob.prototype=new xT();_.wc=hob;_.tN=Efc+'ConstraintValueEditor$10';_.tI=297;function mob(b,a,c){b.a=a;b.b=c;return b;}
-function oob(a){this.a.a.f=BC(this.b,CC(this.b));}
-function lob(){}
-_=lob.prototype=new xT();_.vc=oob;_.tN=Efc+'ConstraintValueEditor$2';_.tI=298;function qob(b,a){b.a=a;return b;}
-function sob(a){this.a.a.f=a;}
-function pob(){}
-_=pob.prototype=new xT();_.Ce=sob;_.tN=Efc+'ConstraintValueEditor$3';_.tI=299;function vob(a,b,c){}
-function wob(c,a,b){if(hS(a)){vK(Fb(c,80));}}
-function xob(a,b,c){}
-function tob(){}
-_=tob.prototype=new xT();_.Fc=vob;_.ad=wob;_.bd=xob;_.tN=Efc+'ConstraintValueEditor$4';_.tI=300;function zob(a,c,b){a.b=c;a.a=b;return a;}
-function Bob(a){this.b.Ce(DC(this.a,CC(this.a)));}
-function yob(){}
-_=yob.prototype=new xT();_.vc=Bob;_.tN=Efc+'ConstraintValueEditor$5';_.tI=301;function Dob(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Fob(a){this.c.f=xK(this.b);dab(this.a);}
-function Cob(){}
-_=Cob.prototype=new xT();_.vc=Fob;_.tN=Efc+'ConstraintValueEditor$6';_.tI=302;function bpb(b,a,c){b.a=c;return b;}
-function dpb(){bL(this.a,uU(xK(this.a)));}
-function apb(){}
-_=apb.prototype=new xT();_.nb=dpb;_.tN=Efc+'ConstraintValueEditor$7';_.tI=303;function fpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function hpb(a){this.b.e=1;qpb(this.a,this.c);}
-function epb(){}
-_=epb.prototype=new xT();_.wc=hpb;_.tN=Efc+'ConstraintValueEditor$8';_.tI=304;function jpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function lpb(a){this.b.e=2;qpb(this.a,this.c);}
-function ipb(){}
-_=ipb.prototype=new xT();_.wc=lpb;_.tN=Efc+'ConstraintValueEditor$9';_.tI=305;function gqb(b,a){b.a=rab(new qab());b.c=FX(new DX());b.b=a;jqb(b);return b;}
-function hqb(b,a){gA(b.a,a);bY(b.c,a);}
-function jqb(a){kqb(a,a.b.a);mr(a,a.a);}
-function kqb(g,e){var a,b,c,d,f;b=BU(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=bqb(new Fpb(),g);hqb(g,c);}else if(a==125){fqb(c,uU(dqb(c))+1);c=null;}else{if(c===null&&d===null){d=bC(new aC());hqb(g,d);}if(d!==null){hC(d,gC(d)+Eb(a));}else if(c!==null){eqb(c,dqb(c)+Eb(a));}}}}
-function lqb(c){var a,b,d;b='';for(a=c.c.nc();a.hc();){d=Fb(a.pc(),20);if(ac(d,81)){b=b+gC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+dqb(Fb(d,82))+'} ';}}c.b.a=DU(b);}
-function mqb(){return tab(this.a);}
-function Apb(){}
-_=Apb.prototype=new bab();_.mc=mqb;_.tN=Efc+'DSLSentenceWidget';_.tI=306;_.a=null;_.b=null;_.c=null;function Cpb(b,a){b.a=a;return b;}
-function Epb(a){lqb(this.a.c);dab(this.a);}
-function Bpb(){}
-_=Bpb.prototype=new xT();_.vc=Epb;_.tN=Efc+'DSLSentenceWidget$1';_.tI=307;function aqb(a){a.b=fA(new dA());}
-function bqb(b,a){b.c=a;aqb(b);b.a=FK(new qK());gA(b.b,kz(new nw(),'&nbsp;'));gA(b.b,b.a);gA(b.b,kz(new nw(),'&nbsp;'));tK(b.a,Cpb(new Bpb(),b));mr(b,b.b);return b;}
-function dqb(a){return xK(a.a);}
-function eqb(b,a){BK(b.a,a);}
-function fqb(b,a){bL(b.a,a);}
-function Fpb(){}
-_=Fpb.prototype=new bab();_.tN=Efc+'DSLSentenceWidget$FieldEditor';_.tI=308;_.a=null;function osb(a){a.c=kab(new iab());}
-function psb(k,h,i,c,a){var b,d,e,f,g,j;osb(k);k.e=Fb(i,16);k.b=c;k.d=h;k.a=a;nab(k.c,0,0,xsb(k));f=ut(k.c);bx(f,0,0,(uz(),vz),(Dz(),Fz));ex(f,0,0,'modeller-fact-TypeHeader');g=kab(new iab());nab(k.c,1,0,g);for(j=0;j<ojb(k.e).a;j++){d=ojb(k.e)[j];e=j;Asb(k,g,j,d,true);b=ocb(new ncb(),'images/delete_item_small.gif');b.pe('Remove this whole restriction');lB(b,lrb(new oqb(),k,e));nab(g,j,5,b);}if(k.a)AN(k.c,'modeller-fact-pattern-Widget');mr(k,k.c);return k;}
-function rsb(j,b){var a,c,d,e,f,g,h,i;f=fA(new dA());d=null;e=ocb(new ncb(),'images/add_field_to_fact.gif');e.pe('Add a field to this nested constraint.');lB(e,prb(new orb(),j,b));if(qU(b.a,'&&')){d='All of:';}else{d='Any of:';}gA(f,e);gA(f,kz(new nw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=kab(new iab());AN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){Asb(j,h,g,i[g],false);c=g;a=ocb(new ncb(),'images/delete_item_small.gif');a.pe('Remove this (nested) restriction');lB(a,trb(new srb(),j,b,c));nab(h,g,5,a);}}gA(f,h);return f;}
-function ssb(g,b,c){var a,d,e,f;f=Cfb(g.b,g.e.c,c);a=sC(new kC());vC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];wC(a,vfb(e),e);if(qU(e,b.a)){bD(a,d+1);}}uC(a,Cqb(new Bqb(),g,b,a));return a;}
-function tsb(d,a,b,c){var e;e=bgb(d.d.a,b,c);return npb(new cob(),d.e,c,a,d.d,e);}
-function usb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=rab(new qab());for(e=0;e<a.a.a;e++){b=a.a[e];gA(d,ssb(f,b,a.c));gA(d,tsb(f,b,c,a.c));}return d;}else{return null;}}
-function vsb(c,b){var a,d,e;if(c.a&& !skb(c.d.c,c.e.a)){d=fA(new dA());e=FK(new qK());if(c.e.a===null){BK(e,'');}else{BK(e,c.e.a);}bL(e,3);gA(d,e);a=wp(new qp(),'Set');a.x(yqb(new xqb(),c,e,b));gA(d,a);ecb(b,'Variable name',d);}}
-function wsb(e,c,d){var a,b;a=fA(new dA());AN(a,'modeller-field-Label');if(!Fkb(c)){if(e.a&&d){b=pcb(new ncb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');lB(b,erb(new drb(),e,c));gA(a,b);}}else{gA(a,cC(new aC(),'['+c.b+']'));}gA(a,cC(new aC(),c.c));return a;}
-function xsb(c){var a,b;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe('Add a field to this condition, or bind a varible to this fact.');lB(a,Frb(new Erb(),c));if(c.e.a!==null){gA(b,cC(new aC(),'['+c.e.a+'] '+c.e.c));}else{gA(b,cC(new aC(),c.e.c));}gA(b,a);return b;}
-function ysb(f,b){var a,c,d,e;e=dgb(f.b,f.e.c,b.c);a=sC(new kC());vC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];wC(a,vfb(d),d);if(qU(d,b.d)){bD(a,c+1);}}uC(a,arb(new Fqb(),f,b,a));return a;}
-function zsb(e,b){var a,c,d;d=fA(new dA());d.xe('100%');c=kB(new uA(),'images/function_assets.gif');c.pe('This is a formula expression that is evaluated to be true or false.');gA(d,c);if(b.f===null){b.f='';}a=FK(new qK());BK(a,b.f);tK(a,Brb(new Arb(),e,b,a));a.xe('100%');gA(d,a);return d;}
-function Asb(e,b,c,a,d){if(ac(a,32)){Bsb(e,e.d,b,c,a,d);}else if(ac(a,31)){nab(b,c,0,rsb(e,Fb(a,31)));pt(ut(b),c,0,5);}}
-function Bsb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){nab(d,f,0,wsb(h,b,g));nab(d,f,1,ysb(h,b));nab(d,f,2,Fsb(h,b,h.e.c));nab(d,f,3,usb(h,b,h.e.c));a=ocb(new ncb(),'images/add_connective.gif');a.pe('Add more options to this fields values.');lB(a,xrb(new wrb(),h,b,e));nab(d,f,4,a);}else if(b.e==5){nab(d,f,0,zsb(h,b));pt(ut(d),f,0,5);}}
-function Csb(d,g,a){var b,c,e,f;c=dcb(new Ebb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=ip(new hp());e=FK(new qK());b=wp(new qp(),'Set');jp(f,e);jp(f,b);b.x(irb(new hrb(),d,e,a,c));ecb(c,'Variable name',f);rE(c,rN(g),sN(g));uE(c);}
-function Esb(i,j){var a,b,c,d,e,f,g,h;g=dcb(new Ebb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);AN(g,'ks-popups-Popup');a=sC(new kC());vC(a,'...');c=agb(i.b,i.e.c);for(e=0;e<c.a;e++){vC(a,c[e]);}bD(a,0);uC(a,lsb(new ksb(),i,a,g));ecb(g,'Add a restriction on a field',a);b=sC(new kC());vC(b,'...');wC(b,'All of (And)','&&');wC(b,'Any of (Or)','||');bD(b,0);uC(b,qqb(new pqb(),i,b,g));f=wcb(new rcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=fA(new dA());gA(d,b);gA(d,f);ecb(g,'Multiple field constraint',d);fcb(g,zcb(new ycb(),'Advanced options','weak-Text'));h=wp(new qp(),'New formula');h.x(uqb(new tqb(),i,g));ecb(g,'Add a new formula style expression',h);vsb(i,g);rE(g,rN(j),sN(j));uE(g);}
-function Dsb(i,j,b){var a,c,d,e,f,g,h;h=dcb(new Ebb(),'images/newex_wiz.gif','Add fields to this constraint');AN(h,'ks-popups-Popup');a=sC(new kC());vC(a,'...');d=agb(i.b,i.e.c);for(f=0;f<d.a;f++){vC(a,d[f]);}bD(a,0);uC(a,dsb(new csb(),i,b,a,h));ecb(h,'Add a restriction on a field',a);c=sC(new kC());vC(c,'...');wC(c,'All of (And)','&&');wC(c,'Any of (Or)','||');bD(c,0);uC(c,hsb(new gsb(),i,c,b,h));g=wcb(new rcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=fA(new dA());gA(e,c);gA(e,g);ecb(h,'Multiple field constraint',e);rE(h,rN(j),sN(j));uE(h);}
-function Fsb(c,a,b){var d;d=bgb(c.d.a,b,a.c);return npb(new cob(),c.e,a.c,a,c.d,d);}
-function atb(){return mab(this.c);}
-function nqb(){}
-_=nqb.prototype=new bab();_.mc=atb;_.tN=Efc+'FactPatternWidget';_.tI=309;_.a=false;_.b=null;_.d=null;_.e=null;function lrb(b,a,c){b.a=a;b.b=c;return b;}
-function nrb(a){if(Bh('Remove this item?')){qjb(this.a.e,this.b);rwb(this.a.d);}}
-function oqb(){}
-_=oqb.prototype=new xT();_.wc=nrb;_.tN=Efc+'FactPatternWidget$1';_.tI=310;function qqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function sqb(b){var a;a=new tib();a.a=DC(this.b,CC(this.b));mjb(this.a.e,a);rwb(this.a.d);this.c.ic();}
-function pqb(){}
-_=pqb.prototype=new xT();_.vc=sqb;_.tN=Efc+'FactPatternWidget$10';_.tI=311;function uqb(b,a,c){b.a=a;b.b=c;return b;}
-function wqb(b){var a;a=new Bkb();a.e=5;mjb(this.a.e,a);rwb(this.a.d);this.b.ic();}
-function tqb(){}
-_=tqb.prototype=new xT();_.wc=wqb;_.tN=Efc+'FactPatternWidget$11';_.tI=312;function yqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Aqb(b){var a;a=xK(this.c);if(qwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=xK(this.c);rwb(this.a.d);this.b.ic();}
-function xqb(){}
-_=xqb.prototype=new xT();_.wc=Aqb;_.tN=Efc+'FactPatternWidget$12';_.tI=313;function Cqb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Eqb(a){this.b.a=DC(this.a,CC(this.a));}
-function Bqb(){}
-_=Bqb.prototype=new xT();_.vc=Eqb;_.tN=Efc+'FactPatternWidget$13';_.tI=314;function arb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function crb(a){this.c.d=DC(this.b,CC(this.b));dab(this.a.d);kV(),nV;}
-function Fqb(){}
-_=Fqb.prototype=new xT();_.vc=crb;_.tN=Efc+'FactPatternWidget$14';_.tI=315;function erb(b,a,c){b.a=a;b.b=c;return b;}
-function grb(a){Csb(this.a,a,this.b);}
-function drb(){}
-_=drb.prototype=new xT();_.wc=grb;_.tN=Efc+'FactPatternWidget$15';_.tI=316;function irb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function krb(b){var a;a=xK(this.d);if(qwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;rwb(this.a.d);this.c.ic();}
-function hrb(){}
-_=hrb.prototype=new xT();_.wc=krb;_.tN=Efc+'FactPatternWidget$16';_.tI=317;function prb(b,a,c){b.a=a;b.b=c;return b;}
-function rrb(a){Dsb(this.a,a,this.b);}
-function orb(){}
-_=orb.prototype=new xT();_.wc=rrb;_.tN=Efc+'FactPatternWidget$2';_.tI=318;function trb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vrb(a){if(Bh('Remove this item from nested constraint?')){wib(this.b,this.c);rwb(this.a.d);}}
-function srb(){}
-_=srb.prototype=new xT();_.wc=vrb;_.tN=Efc+'FactPatternWidget$3';_.tI=319;function xrb(b,a,c,d){b.a=c;b.b=d;return b;}
-function zrb(a){Dkb(this.a);rwb(this.b);}
-function wrb(){}
-_=wrb.prototype=new xT();_.wc=zrb;_.tN=Efc+'FactPatternWidget$4';_.tI=320;function Brb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Drb(a){this.c.f=xK(this.b);dab(this.a.d);}
-function Arb(){}
-_=Arb.prototype=new xT();_.vc=Drb;_.tN=Efc+'FactPatternWidget$5';_.tI=321;function Frb(b,a){b.a=a;return b;}
-function bsb(a){Esb(this.a,a);}
-function Erb(){}
-_=Erb.prototype=new xT();_.wc=bsb;_.tN=Efc+'FactPatternWidget$6';_.tI=322;function dsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function fsb(a){uib(this.c,Ckb(new Bkb(),BC(this.b,CC(this.b))));rwb(this.a.d);this.d.ic();}
-function csb(){}
-_=csb.prototype=new xT();_.vc=fsb;_.tN=Efc+'FactPatternWidget$7';_.tI=323;function hsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function jsb(b){var a;a=new tib();a.a=DC(this.c,CC(this.c));uib(this.b,a);rwb(this.a.d);this.d.ic();}
-function gsb(){}
-_=gsb.prototype=new xT();_.vc=jsb;_.tN=Efc+'FactPatternWidget$8';_.tI=324;function lsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nsb(a){mjb(this.a.e,Ckb(new Bkb(),BC(this.b,CC(this.b))));rwb(this.a.d);this.c.ic();}
-function ksb(){}
-_=ksb.prototype=new xT();_.vc=nsb;_.tN=Efc+'FactPatternWidget$9';_.tI=325;function ytb(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=tbb(new rbb());b=d.a;for(c=0;c<b.a;c++){a=b[c];vbb(f.a,a.a,Btb(f,a,c));}mr(f,f.a);return f;}
-function ztb(c,a){var b;b=gq(new fq());if(a.b===null){mq(b,true);a.b='true';}else{mq(b,qU(a.b,'true'));}b.x(dtb(new ctb(),c,a,b));return b;}
-function Btb(e,a,d){var b,c;if(qU(a.a,'no-loop')){return Ctb(e,d);}b=null;if(qU(a.a,'enabled')||qU(a.a,'auto-focus')||qU(a.a,'lock-on-active')){b=ztb(e,a);}else{b=Dtb(e,a);}c=rab(new qab());gA(c,b);gA(c,Ctb(e,d));return c;}
-function Ctb(c,a){var b;b=kB(new uA(),'images/delete_item_small.gif');lB(b,rtb(new qtb(),c,a));return b;}
-function Dtb(c,a){var b;b=FK(new qK());bL(b,uU(a.b)<3?3:uU(a.b));BK(b,a.b);tK(b,htb(new gtb(),c,a,b));if(qU(a.a,'date-effective')||qU(a.a,'date-expires')){if(a.b===null||qU('',a.b))BK(b,'dd-MMM-yyyy');bL(b,10);}uK(b,ltb(new ktb(),c,b));return b;}
-function Etb(){var a;a=sC(new kC());vC(a,'Choose...');vC(a,'salience');vC(a,'enabled');vC(a,'date-effective');vC(a,'date-expires');vC(a,'no-loop');vC(a,'agenda-group');vC(a,'activation-group');vC(a,'duration');vC(a,'auto-focus');vC(a,'lock-on-active');vC(a,'ruleflow-group');vC(a,'dialect');return a;}
-function Ftb(){return this.a.mc();}
-function btb(){}
-_=btb.prototype=new bab();_.mc=Ftb;_.tN=Efc+'RuleAttributeWidget';_.tI=326;_.a=null;_.b=null;_.c=null;function dtb(b,a,c,d){b.a=c;b.b=d;return b;}
-function ftb(a){this.a.b=lq(this.b)?'true':'false';}
-function ctb(){}
-_=ctb.prototype=new xT();_.wc=ftb;_.tN=Efc+'RuleAttributeWidget$1';_.tI=327;function htb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function jtb(a){this.b.b=xK(this.c);dab(this.a);}
-function gtb(){}
-_=gtb.prototype=new xT();_.vc=jtb;_.tN=Efc+'RuleAttributeWidget$2';_.tI=328;function ltb(b,a,c){b.a=c;return b;}
-function ntb(a,b,c){}
-function otb(a,b,c){}
-function ptb(a,b,c){bL(this.a,uU(xK(this.a)));}
-function ktb(){}
-_=ktb.prototype=new xT();_.Fc=ntb;_.ad=otb;_.bd=ptb;_.tN=Efc+'RuleAttributeWidget$3';_.tI=329;function rtb(b,a,c){b.a=a;b.b=c;return b;}
-function ttb(b){var a;a=hfb(new Eeb(),'Remove this rule option?',vtb(new utb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
-function qtb(){}
-_=qtb.prototype=new xT();_.wc=ttb;_.tN=Efc+'RuleAttributeWidget$4';_.tI=330;function vtb(b,a,c){b.a=a;b.b=c;return b;}
-function xtb(){ukb(this.a.a.b,this.b);rwb(this.a.a.c);}
-function utb(){}
-_=utb.prototype=new xT();_.nb=xtb;_.tN=Efc+'RuleAttributeWidget$5';_.tI=331;function fwb(b,a){b.c=Fb(a.b,83);b.a=uKb((sKb(),xKb),a.d.o);b.b=kab(new iab());pwb(b);AN(b.b,'model-builder-Background');mr(b,b.b);b.xe('100%');b.ne('100%');return b;}
-function gwb(b,a){mkb(b.c,Dhb(new Bhb(),a));rwb(b);}
-function hwb(b,a){mkb(b.c,fib(new dib(),a));rwb(b);}
-function iwb(b,a){lkb(b.c,mib(new lib(),a));rwb(b);}
-function jwb(b,a){lkb(b.c,djb(a));rwb(b);}
-function kwb(b,a){mkb(b.c,djb(a));rwb(b);}
-function lwb(b,a){lkb(b.c,ljb(new kjb(),a));rwb(b);}
-function mwb(a,b){mkb(a.c,vhb(new uhb(),b));rwb(a);}
-function owb(b){var a;a=ocb(new ncb(),'images/new_item.gif');a.pe('Add an option to the rule, to modify its behavior when evaluated or executed.');lB(a,kvb(new jvb(),b));return a;}
-function pwb(c){var a,b;hy(c.b);b=ocb(new ncb(),'images/new_item.gif');b.pe('Add a condition to this rule.');lB(b,cvb(new bub(),c));nab(c.b,0,0,cC(new aC(),'WHEN'));nab(c.b,0,2,b);nab(c.b,1,1,swb(c,c.c));nab(c.b,2,0,cC(new aC(),'THEN'));a=ocb(new ncb(),'images/new_item.gif');a.pe('Add an action to this rule.');lB(a,gvb(new fvb(),c));nab(c.b,2,2,a);nab(c.b,3,1,twb(c,c.c));nab(c.b,4,0,cC(new aC(),'(options)'));nab(c.b,4,2,owb(c));nab(c.b,5,1,ytb(new btb(),c,c.c));}
-function qwb(b,a){return tkb(b.c,a)||egb(b.a,a);}
-function rwb(a){pwb(a);dab(a);}
-function swb(e,c){var a,b,d,f,g;f=wab(new vab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,16)){g=psb(new nqb(),e,d,e.a,true);oO(f,ywb(e,c,b,g));oO(f,xwb(e));}else if(ac(d,30)){g=Cnb(new tnb(),e,Fb(d,30),e.a);oO(f,ywb(e,c,b,g));oO(f,xwb(e));}else if(ac(d,14)){}else{throw DT(new CT(),"I don't know what type of pattern that is.");}}a=wab(new vab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,14)){g=gqb(new Apb(),Fb(d,14));oO(a,ywb(e,c,b,g));AN(a,'model-builderInner-Background');}}oO(f,a);return f;}
-function twb(g,e){var a,b,c,d,f,h,i;h=wab(new vab());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,28)){i=knb(new hmb(),g,Fb(a,28),g.a);}else if(ac(a,25)){i=Dlb(new elb(),g,Fb(a,25),g.a);}else if(ac(a,27)){i=fmb(new emb(),g.a,Fb(a,27));}else if(ac(a,14)){i=gqb(new Apb(),Fb(a,14));AN(i,'model-builderInner-Background');}oO(h,xwb(g));b=rab(new qab());f=ocb(new ncb(),'images/delete_item_small.gif');f.pe('Remove this action.');d=c;lB(f,svb(new rvb(),g,e,d));gA(b,i);if(!ac(i,84)){i.xe('100%');b.xe('100%');}gA(b,f);oO(h,b);}return h;}
-function uwb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=dcb(new Ebb(),'images/new_fact.gif','Add a new action...');AN(k,'ks-popups-Popup');q=qkb(n.c);p=sC(new kC());l=sC(new kC());j=sC(new kC());vC(p,'Choose ...');vC(l,'Choose ...');vC(j,'Choose ...');for(i=q.nc();i.hc();){o=Fb(i.pc(),1);vC(p,o);vC(l,o);vC(j,o);}d=cgb(n.a);for(f=0;f<d.a;f++){vC(p,d[f]);}bD(p,0);uC(p,dub(new cub(),n,p,k));uC(l,hub(new gub(),n,l,k));uC(j,lub(new kub(),n,j,k));if(AC(p)>1){ecb(k,'Set the values of a field on',p);}if(AC(j)>1){e=fA(new dA());gA(e,j);g=kB(new uA(),'images/information.gif');g.pe('Modify a field on a fact, and notify the engine to re-evaluate rules.');gA(e,g);ecb(k,'Modify a fact',e);}if(AC(l)>1){ecb(k,'Retract the fact',l);}b=sC(new kC());c=sC(new kC());vC(b,'Choose ...');vC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];vC(b,h);vC(c,h);}uC(b,pub(new oub(),n,b,k));uC(c,tub(new sub(),n,c,k));if(AC(b)>1){ecb(k,'Insert a new fact',b);e=fA(new dA());gA(e,c);g=kB(new uA(),'images/inf!
 ormation.gif');g.pe('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');gA(e,g);ecb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=sC(new kC());vC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];wC(a,ejb(m),aT(f));}uC(a,xub(new wub(),n,a,k));ecb(k,'DSL sentence',a);}rE(k,dc(ai()/3),dc(Fh()/3));uE(k);}
-function vwb(c,d){var a,b;b=dcb(new Ebb(),'images/config.png','Add an option to the rule');a=Etb();bD(a,0);uC(a,ovb(new nvb(),c,a,b));AN(b,'ks-popups-Popup');ecb(b,'Attribute',a);rE(b,rN(d)-400,sN(d));uE(b);}
-function wwb(j,k){var a,b,c,d,e,f,g,h,i;h=dcb(new Ebb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=sC(new kC());wC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){vC(e,f[g]);}bD(e,0);if(f.a>0)ecb(h,'Fact',e);uC(e,Avb(new zvb(),j,e,h));AN(h,'ks-popups-Popup');c=(pfb(),qfb);b=sC(new kC());wC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];wC(b,ufb(a),a);}bD(b,0);if(f.a>0)ecb(h,'Condition type',b);uC(b,Evb(new Dvb(),j,b,h));if(j.a.b.a>0){d=sC(new kC());vC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];wC(d,ejb(i),aT(g));}uC(d,cwb(new bwb(),j,d,h));ecb(h,'DSL sentence',d);}rE(h,rN(k)-400,sN(k));uE(h);}
-function xwb(b){var a;a=kz(new nw(),'&nbsp;');a.ne('2px');return a;}
-function ywb(f,d,b,g){var a,c,e;a=rab(new qab());e=ocb(new ncb(),'images/delete_item_small.gif');e.pe('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;lB(e,Bub(new Aub(),f,d,c));a.xe('100%');g.xe('100%');gA(a,g);gA(a,e);return a;}
-function zwb(){return mab(this.b)||this.j;}
-function aub(){}
-_=aub.prototype=new bab();_.mc=zwb;_.tN=Efc+'RuleModeller';_.tI=332;_.a=null;_.b=null;_.c=null;function cvb(b,a){b.a=a;return b;}
-function evb(a){wwb(this.a,a);}
-function bub(){}
-_=bub.prototype=new xT();_.wc=evb;_.tN=Efc+'RuleModeller$1';_.tI=333;function dub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function fub(a){gwb(this.a,BC(this.c,CC(this.c)));this.b.ic();}
-function cub(){}
-_=cub.prototype=new xT();_.vc=fub;_.tN=Efc+'RuleModeller$10';_.tI=334;function hub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function jub(a){mwb(this.a,BC(this.c,CC(this.c)));this.b.ic();}
-function gub(){}
-_=gub.prototype=new xT();_.vc=jub;_.tN=Efc+'RuleModeller$11';_.tI=335;function lub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nub(a){hwb(this.a,BC(this.b,CC(this.b)));this.c.ic();}
-function kub(){}
-_=kub.prototype=new xT();_.vc=nub;_.tN=Efc+'RuleModeller$12';_.tI=336;function pub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function rub(b){var a;a=BC(this.b,CC(this.b));mkb(this.a.c,ghb(new ehb(),a));rwb(this.a);this.c.ic();}
-function oub(){}
-_=oub.prototype=new xT();_.vc=rub;_.tN=Efc+'RuleModeller$13';_.tI=337;function tub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vub(b){var a;a=BC(this.b,CC(this.b));mkb(this.a.c,ohb(new mhb(),a));rwb(this.a);this.c.ic();}
-function sub(){}
-_=sub.prototype=new xT();_.vc=vub;_.tN=Efc+'RuleModeller$14';_.tI=338;function xub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function zub(b){var a;a=ES(DC(this.b,CC(this.b)));kwb(this.a,this.a.a.a[a]);this.c.ic();}
-function wub(){}
-_=wub.prototype=new xT();_.vc=zub;_.tN=Efc+'RuleModeller$15';_.tI=339;function Bub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Dub(b){var a;a=hfb(new Eeb(),'Remove this entire condition?',Fub(new Eub(),this,this.c,this.b));rE(a,rN(b),sN(b));uE(a);}
-function Aub(){}
-_=Aub.prototype=new xT();_.wc=Dub;_.tN=Efc+'RuleModeller$16';_.tI=340;function Fub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function bvb(){if(vkb(this.c,this.b)){rwb(this.a.a);}else{jbb("Can't remove that item as it is used in the action part of the rule.");}}
-function Eub(){}
-_=Eub.prototype=new xT();_.nb=bvb;_.tN=Efc+'RuleModeller$17';_.tI=341;function gvb(b,a){b.a=a;return b;}
-function ivb(a){uwb(this.a,a);}
-function fvb(){}
-_=fvb.prototype=new xT();_.wc=ivb;_.tN=Efc+'RuleModeller$2';_.tI=342;function kvb(b,a){b.a=a;return b;}
-function mvb(a){vwb(this.a,a);}
-function jvb(){}
-_=jvb.prototype=new xT();_.wc=mvb;_.tN=Efc+'RuleModeller$3';_.tI=343;function ovb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function qvb(a){kkb(this.a.c,akb(new Fjb(),BC(this.b,CC(this.b)),''));rwb(this.a);this.c.ic();}
-function nvb(){}
-_=nvb.prototype=new xT();_.vc=qvb;_.tN=Efc+'RuleModeller$4';_.tI=344;function svb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function uvb(b){var a;a=hfb(new Eeb(),'Remove this item?',wvb(new vvb(),this,this.c,this.b));rE(a,rN(b),sN(b));uE(a);}
-function rvb(){}
-_=rvb.prototype=new xT();_.wc=uvb;_.tN=Efc+'RuleModeller$5';_.tI=345;function wvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function yvb(){wkb(this.c,this.b);rwb(this.a.a);}
-function vvb(){}
-_=vvb.prototype=new xT();_.nb=yvb;_.tN=Efc+'RuleModeller$6';_.tI=346;function Avb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Cvb(b){var a;a=BC(this.b,CC(this.b));if(!qU(a,'IGNORE')){lwb(this.a,a);this.c.ic();}}
-function zvb(){}
-_=zvb.prototype=new xT();_.vc=Cvb;_.tN=Efc+'RuleModeller$7';_.tI=347;function Evb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function awb(b){var a;a=DC(this.b,CC(this.b));if(!qU(a,'IGNORE')){iwb(this.a,a);this.c.ic();}}
-function Dvb(){}
-_=Dvb.prototype=new xT();_.vc=awb;_.tN=Efc+'RuleModeller$8';_.tI=348;function cwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ewb(b){var a;a=ES(DC(this.b,CC(this.b)));jwb(this.a,this.a.a.b[a]);this.c.ic();}
-function bwb(){}
-_=bwb.prototype=new xT();_.vc=ewb;_.tN=Efc+'RuleModeller$9';_.tI=349;function Cwb(b,a,c){b.a=c;return b;}
-function Ewb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
-function Bwb(){}
-_=Bwb.prototype=new xT();_.wc=Ewb;_.tN=Ffc+'AssetAttachmentFileWidget$1';_.tI=350;function axb(b,a){b.a=a;return b;}
-function cxb(a){oxb(this.a);pxb(this.a);}
-function Fwb(){}
-_=Fwb.prototype=new xT();_.wc=cxb;_.tN=Ffc+'AssetAttachmentFileWidget$2';_.tI=351;function exb(b,a){b.a=a;return b;}
-function hxb(a){}
-function gxb(a){edb();if(sU(a.a,'OK')>(-1)){x$b(this.a.e);}else{jbb('Unable to upload the file.');}}
-function dxb(){}
-_=dxb.prototype=new xT();_.ld=hxb;_.kd=gxb;_.tN=Ffc+'AssetAttachmentFileWidget$3';_.tI=352;function Bxb(){Bxb=v2;gcb();}
-function zxb(c){var a,b;Bxb();dcb(c,'images/new_wiz.gif','Create a new fact template');c.a=rt(new lt());c.b=FK(new qK());ecb(c,'Name:',c.b);ecb(c,'Fact attributes:',c.a);a=kB(new uA(),'images/new_item.gif');lB(a,sxb(new rxb(),c));ecb(c,'Add a new attribute',a);b=wp(new qp(),'Create');b.x(wxb(new vxb(),c));ecb(c,'',b);return c;}
-function Axb(b){var a;a=vt(b.a);b.a.ve(a,0,FK(new qK()));b.a.ve(a,1,Exb(b));}
-function Cxb(d){var a,b,c,e,f;b='template '+xK(d.b)+'\n';for(a=0;a<vt(d.a);a++){e=Fb(qy(d.a,a,1),85);f=BC(e,CC(e));c=xK(Fb(qy(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
-function Dxb(b,a){b.c=a;}
-function Exb(b){var a;a=sC(new kC());vC(a,'String');vC(a,'Integer');vC(a,'Float');vC(a,'Date');vC(a,'Boolean');return a;}
-function qxb(){}
-_=qxb.prototype=new Ebb();_.tN=Ffc+'FactTemplateWizard';_.tI=353;_.a=null;_.b=null;_.c=null;function sxb(b,a){b.a=a;return b;}
-function uxb(a){Axb(this.a);}
-function rxb(){}
-_=rxb.prototype=new xT();_.wc=uxb;_.tN=Ffc+'FactTemplateWizard$1';_.tI=354;function wxb(b,a){b.a=a;return b;}
-function yxb(a){BCb(this.a.c);this.a.ic();}
-function vxb(){}
-_=vxb.prototype=new xT();_.wc=yxb;_.tN=Ffc+'FactTemplateWizard$2';_.tI=355;function ayb(b,a,c){ixb(b,a,c);return b;}
-function cyb(){return 'images/model_large.png';}
-function dyb(){return 'editable-Surface';}
-function Fxb(){}
-_=Fxb.prototype=new Awb();_.sb=cyb;_.Bb=dyb;_.tN=Ffc+'ModelAttachmentFileWidget';_.tI=356;function czb(){czb=v2;gcb();}
-function azb(a){a.b=tbb(new rbb());a.d=tbb(new rbb());}
-function bzb(f,b){var a,c,d,e;czb();dcb(f,'images/new_wiz.gif','Create a new package');azb(f);f.c=FK(new qK());f.a=kK(new jK());ybb(f.d,kz(new nw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));vbb(f.d,'Name:',f.c);vbb(f.d,'Description:',f.a);f.c.pe('The name of the package. Avoid spaces, use underscore instead.');e=eG(new cG(),'action','Create new pa!
 ckage');d=eG(new cG(),'action','Import from drl file');mq(e,true);f.d.ue(true);e.x(gyb(new fyb(),f));f.b.ue(false);d.x(kyb(new jyb(),f));a=ip(new hp());jp(a,e);jp(a,d);fcb(f,a);fcb(f,f.d);fcb(f,f.b);vbb(f.b,'DRL file to import:',ezb(b,f));c=wp(new qp(),'Create package');c.x(oyb(new nyb(),f,b));vbb(f.d,'',c);AN(f,'ks-popups-Popup');return f;}
-function dzb(d,b,a,c){idb('Creating package - please wait...');qTb(ELb(),b,a,tyb(new syb(),d,c));}
-function ezb(a,d){czb();var b,c,e,f;f=cv(new Du());iv(f,v()+'package');jv(f,'multipart/form-data');kv(f,'post');c=fA(new dA());f.we(c);e=gt(new ft());jt(e,'classicDRLFile');gA(c,e);gA(c,cC(new aC(),'upload:'));b=pcb(new ncb(),'images/upload.gif','Import');lB(b,yyb(new xyb(),f));gA(c,b);dv(f,Cyb(new Byb(),a,d,e));return f;}
-function eyb(){}
-_=eyb.prototype=new Ebb();_.tN=Ffc+'NewPackageWizard';_.tI=357;_.a=null;_.c=null;function gyb(b,a){b.a=a;return b;}
-function iyb(a){this.a.d.ue(true);this.a.b.ue(false);}
-function fyb(){}
-_=fyb.prototype=new xT();_.wc=iyb;_.tN=Ffc+'NewPackageWizard$1';_.tI=358;function kyb(b,a){b.a=a;return b;}
-function myb(a){this.a.d.ue(false);this.a.b.ue(true);}
-function jyb(){}
-_=jyb.prototype=new xT();_.wc=myb;_.tN=Ffc+'NewPackageWizard$2';_.tI=359;function oyb(b,a,c){b.a=a;b.b=c;return b;}
-function qyb(b,a){return vU(a,'[a-zA-Z\\.]*');}
-function ryb(a){if(qyb(this,xK(this.a.c))){dzb(this.a,xK(this.a.c),xK(this.a.a),this.b);this.a.ic();}else{BK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
-function nyb(){}
-_=nyb.prototype=new xT();_.wc=ryb;_.tN=Ffc+'NewPackageWizard$3';_.tI=360;function tyb(b,a,c){b.a=c;return b;}
-function vyb(b,a){edb();eFb(b.a);}
-function wyb(a){vyb(this,a);}
-function syb(){}
-_=syb.prototype=new hcb();_.md=wyb;_.tN=Ffc+'NewPackageWizard$4';_.tI=361;function yyb(a,b){a.a=b;return a;}
-function Ayb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){idb('Importing drl package, please wait, as this could take some time...');mv(this.a);}}
-function xyb(){}
-_=xyb.prototype=new xT();_.wc=Ayb;_.tN=Ffc+'NewPackageWizard$5';_.tI=362;function Cyb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
-function Fyb(a){if(uU(it(this.c))==0){zh('You did not choose a drl file to import !');yv(a,true);}else if(!oU(it(this.c),'.drl')){zh("You can only import '.drl' files.");yv(a,true);}}
-function Eyb(a){if(sU(a.a,'OK')>(-1)){zh('Package was imported successfully. ');eFb(this.a);this.b.ic();}else{jbb('Unable to import into the package. ['+a.a+']');}edb();}
-function Byb(){}
-_=Byb.prototype=new xT();_.ld=Fyb;_.kd=Eyb;_.tN=Ffc+'NewPackageWizard$6';_.tI=363;function FAb(h,e,f){var a,b,c,d,g;h.c=ubb(new rbb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=aH(new yG());g=FK(new qK());a=wp(new qp(),'Build package');a.pe('This will validate and compile all the assets in a package.');a.x(yzb(new gzb(),h,b,g));c=wp(new qp(),'Show package source');c.x(Czb(new Bzb(),h,e));vbb(h.c,'View source for package',c);d=fA(new dA());gA(d,a);gA(d,kz(new nw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));gA(d,g);gA(d,wcb(new rcb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));vbb(h.c,'Build binary package:',d);ybb(h.c,kz(new nw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));ybb(h.c,b);AN(h.c,'package-Editor');h.c.xe('100%');mr(h,h.c);return h;}
-function bBb(d,a,c){var b;a.F();b=fA(new dA());gA(b,cC(new aC(),'Validating and building package, please wait...'));gA(b,kB(new uA(),'images/red_anime.gif'));idb('Please wait...');cH(a,b);fg(pAb(new oAb(),d,c,a));}
-function cBb(i,e,a){var b,c,d,f,g,h;a.F();b=rt(new lt());AN(b,'build-Results');Ey(b,0,1,'Format');Ey(b,0,2,'Name');Ey(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ve(f,0,kB(new uA(),'images/error.gif'));Ey(b,f,1,d.a);Ey(b,f,2,d.b);Ey(b,f,3,d.c);if(!qU('package',d.a)){h=wp(new qp(),'Show');h.x(CAb(new BAb(),i,d));b.ve(f,4,h);}}b.xe('100%');g=uG(new sG(),b);wG(g,true);zN(g,'100%','25em');cH(a,g);}
-function dBb(g,i){var a,b,c,d,e,f,h;idb('Loading existing snapshots...');c=dcb(new Ebb(),'images/snapshot.png','Create a snapshot for deployment.');fcb(c,kz(new nw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=nO(new lO());ecb(c,'Choose or create snapshot name:',h);f=FX(new DX());d=FK(new qK());e='NEW: ';vTb(ELb(),g.a.j,izb(new hzb(),g,f,h,d));a=FK(new qK());ecb(c,'Comment:',a);b=wp(new qp(),'Create new snapshot');ecb(c,'',b);b.x(qzb(new pzb(),g,f,d,a,c));c.xe('50%');rE(c,dc((fab()-mE(c))/2),100);uE(c);}
-function eBb(e,a){var b,c,d,f;a.F();f=nO(new lO());oO(f,kz(new nw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=gBb(e.a);b=kz(new nw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");oO(f,b);d=wp(new qp(),'Create snapshot for deployment');d.x(yAb(new xAb(),e));oO(f,d);cH(a,f);}
-function fBb(b,a){idb('Assembling package source...');fg(aAb(new Fzb(),b,a));}
-function gBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
-function hBb(b,c){var a,d;d=dcb(new Ebb(),'images/view_source.gif','Viewing source for: '+c);a=kK(new jK());pK(a,30);a.xe('100%');oK(a,80);fcb(d,a);BK(a,b);a.ke(true);a.pe('THIS IS READ ONLY - you may copy and paste, but not edit.');uK(a,jAb(new iAb(),a,b));edb();rE(d,dc((fab()-mE(d))/2),100);uE(d);}
-function fzb(){}
-_=fzb.prototype=new kr();_.tN=Ffc+'PackageBuilderWidget';_.tI=364;_.a=null;_.b=null;_.c=null;function yzb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Azb(a){bBb(this.a,this.b,xK(this.c));}
-function gzb(){}
-_=gzb.prototype=new xT();_.wc=Azb;_.tN=Ffc+'PackageBuilderWidget$1';_.tI=365;function izb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
-function kzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=eG(new cG(),'snapshotNameGroup',f[c].b);bY(this.b,b);oO(this.c,b);}d=fA(new dA());e=eG(new cG(),'snapshotNameGroup','NEW: ');gA(d,e);this.a.ke(false);e.x(mzb(new lzb(),this,this.a));gA(d,this.a);bY(this.b,e);oO(this.c,d);edb();}
-function hzb(){}
-_=hzb.prototype=new hcb();_.md=kzb;_.tN=Ffc+'PackageBuilderWidget$10';_.tI=366;function mzb(b,a,c){b.a=c;return b;}
-function ozb(a){this.a.ke(true);}
-function lzb(){}
-_=lzb.prototype=new xT();_.wc=ozb;_.tN=Ffc+'PackageBuilderWidget$11';_.tI=367;function qzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
-function szb(d){var a,b,c;c=false;for(b=this.f.nc();b.hc();){a=Fb(b.pc(),87);if(lq(a)){this.a=kq(a);if(!qU(kq(a),'NEW: ')){c=true;}break;}}if(qU(this.a,'NEW: ')){this.a=xK(this.e);}if(qU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}pTb(ELb(),this.b.a.j,this.a,c,xK(this.c),uzb(new tzb(),this,this.d));}
-function pzb(){}
-_=pzb.prototype=new xT();_.wc=szb;_.tN=Ffc+'PackageBuilderWidget$12';_.tI=368;_.a='';function uzb(b,a,c){b.a=a;b.b=c;return b;}
-function wzb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.ic();}
-function xzb(a){wzb(this,a);}
-function tzb(){}
-_=tzb.prototype=new hcb();_.md=xzb;_.tN=Ffc+'PackageBuilderWidget$13';_.tI=369;function Czb(b,a,c){b.a=c;return b;}
-function Ezb(a){fBb(this.a.m,this.a.j);}
-function Bzb(){}
-_=Bzb.prototype=new xT();_.wc=Ezb;_.tN=Ffc+'PackageBuilderWidget$2';_.tI=370;function aAb(a,c,b){a.b=c;a.a=b;return a;}
-function cAb(){eTb(ELb(),this.b,eAb(new dAb(),this,this.a));}
-function Fzb(){}
-_=Fzb.prototype=new xT();_.nb=cAb;_.tN=Ffc+'PackageBuilderWidget$3';_.tI=371;function eAb(b,a,c){b.a=c;return b;}
-function gAb(c,b){var a;a=Fb(b,1);hBb(a,c.a);}
-function hAb(a){gAb(this,a);}
-function dAb(){}
-_=dAb.prototype=new hcb();_.md=hAb;_.tN=Ffc+'PackageBuilderWidget$4';_.tI=372;function jAb(a,b,c){a.a=b;a.b=c;return a;}
-function lAb(a,b,c){BK(this.a,this.b);}
-function mAb(a,b,c){BK(this.a,this.b);}
-function nAb(a,b,c){BK(this.a,this.b);}
-function iAb(){}
-_=iAb.prototype=new xT();_.Fc=lAb;_.ad=mAb;_.bd=nAb;_.tN=Ffc+'PackageBuilderWidget$5';_.tI=373;function pAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rAb(){fTb(ELb(),this.a.a.m,this.c,tAb(new sAb(),this,this.b));}
-function oAb(){}
-_=oAb.prototype=new xT();_.nb=rAb;_.tN=Ffc+'PackageBuilderWidget$6';_.tI=374;function tAb(b,a,c){b.a=a;b.b=c;return b;}
-function vAb(c,a){var b;edb();if(a===null){eBb(c.a.a,c.b);}else{b=Fb(a,88);cBb(c.a.a,b,c.b);}}
-function wAb(a){vAb(this,a);}
-function sAb(){}
-_=sAb.prototype=new hcb();_.md=wAb;_.tN=Ffc+'PackageBuilderWidget$7';_.tI=375;function yAb(b,a){b.a=a;return b;}
-function AAb(a){dBb(this.a,a);}
-function xAb(){}
-_=xAb.prototype=new xT();_.wc=AAb;_.tN=Ffc+'PackageBuilderWidget$8';_.tI=376;function CAb(b,a,c){b.a=a;b.b=c;return b;}
-function EAb(a){aIb(this.a.b,this.b.d);}
-function BAb(){}
-_=BAb.prototype=new xT();_.wc=EAb;_.tN=Ffc+'PackageBuilderWidget$9';_.tI=377;function fEb(e,b,c,a,d){tbb(e);e.b=b;e.c=c;e.a=a;e.e=d;AN(e,'package-Editor');e.xe('100%');lEb(e);return e;}
-function hEb(b){var a;a=kK(new jK());a.xe('100%');pK(a,8);BK(a,b.b.d);tK(a,cDb(new bDb(),b,a));oK(a,100);return jEb(b,a);}
-function iEb(b,a){idb('Saving package configuration. Please wait ...');gUb(ELb(),b.b,uBb(new tBb(),b,a));}
-function jEb(d,a){var b,c;c=fA(new dA());gA(c,a);b=kB(new uA(),'images/max_min.gif');b.pe('Increase view area');gA(c,b);lB(b,ECb(new DCb(),d,a));return c;}
-function kEb(g){var a,b,c,d,e,f,h;a=kK(new jK());a.xe('100%');pK(a,8);oK(a,100);BK(a,g.b.f);tK(a,bCb(new aCb(),g,a));f=fA(new dA());gA(f,a);h=nO(new lO());b=kB(new uA(),'images/max_min.gif');lB(b,fCb(new eCb(),g,a));b.pe('Increase view area.');oO(h,b);e=kB(new uA(),'images/new_import.gif');lB(e,jCb(new iCb(),g,a));oO(h,e);e.pe('Add a new Type/Class import to the package.');d=kB(new uA(),'images/new_global.gif');lB(d,nCb(new mCb(),g,a));d.pe('Add a new global variable declaration.');oO(h,d);c=kB(new uA(),'images/fact_template.gif');lB(c,vCb(new uCb(),g,a));c.pe('Add a new fact template.');f.xe('100%');gA(f,h);return f;}
-function lEb(c){var a,b;zbb(c);ybb(c,sEb(c));vbb(c,'Description:',hEb(c));vbb(c,'Header:',kEb(c));ybb(c,kz(new nw(),'<hr/>'));vbb(c,'Last modified:',cC(new aC(),sZ(c.b.i)));vbb(c,'Last contributor:',cC(new aC(),c.b.h));ybb(c,kz(new nw(),'<hr/>'));c.f=jz(new nw());b=fA(new dA());a=ocb(new ncb(),'images/edit.gif');a.pe('Change status.');lB(a,qCb(new jBb(),c));gA(b,c.f);if(!c.b.g){gA(b,a);}oEb(c,c.b.l);vbb(c,'Status:',b);if(!c.b.g){ybb(c,nEb(c));}ybb(c,kz(new nw(),'<hr/>'));}
-function mEb(a){idb('Refreshing package data...');ATb(ELb(),a.b.m,DBb(new CBb(),a));}
-function nEb(f){var a,b,c,d,e;c=fA(new dA());e=wp(new qp(),'Save and validate configuration');e.x(nDb(new mDb(),f));gA(c,e);a=wp(new qp(),'Archive');a.x(rDb(new qDb(),f));gA(c,a);b=wp(new qp(),'Copy');b.x(vDb(new uDb(),f));gA(c,b);d=wp(new qp(),'Rename');d.x(zDb(new yDb(),f));gA(c,d);return c;}
-function oEb(b,a){nz(b.f,'<b>'+a+'<\/b>');}
-function pEb(d){var a,b,c;c=dcb(new Ebb(),'images/new_wiz.gif','Copy the package');fcb(c,kz(new nw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=FK(new qK());ecb(c,'New package name:',a);b=wp(new qp(),'OK');ecb(c,'',b);b.x(lBb(new kBb(),d,a,c));c.xe('40%');rE(c,dc(ai()/3),dc(Fh()/3));uE(c);}
-function qEb(d){var a,b,c;c=dcb(new Ebb(),'images/new_wiz.gif','Rename the package');fcb(c,kz(new nw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=FK(new qK());ecb(c,'New package name:',a);b=wp(new qp(),'OK');ecb(c,'',b);b.x(DDb(new CDb(),d,a,c));c.xe('40%');rE(c,dc(ai()/3),dc(Fh()/3));uE(c);}
-function rEb(b,c){var a;a=leb(new vdb(),b.b.m,true);oeb(a,jDb(new iDb(),b,a));rE(a,rN(c),sN(c));uE(a);}
-function sEb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=kB(new uA(),'images/warning.gif');a=fA(new dA());gA(a,b);c=kz(new nw(),'<b>There were errors validating this package configuration.');gA(a,c);d=wp(new qp(),'View errors');d.x(fDb(new tCb(),e));gA(a,d);return a;}else{return aH(new yG());}}
-function iBb(){}
-_=iBb.prototype=new rbb();_.tN=Ffc+'PackageEditor';_.tI=378;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function qCb(b,a){b.a=a;return b;}
-function sCb(a){rEb(this.a,a);}
-function jBb(){}
-_=jBb.prototype=new xT();_.wc=sCb;_.tN=Ffc+'PackageEditor$1';_.tI=379;function lBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nBb(a){mTb(ELb(),this.a.b.j,xK(this.b),pBb(new oBb(),this,this.c));}
-function kBb(){}
-_=kBb.prototype=new xT();_.wc=nBb;_.tN=Ffc+'PackageEditor$10';_.tI=380;function pBb(b,a,c){b.a=a;b.b=c;return b;}
-function rBb(b,a){cGb(b.a.a.e);zh('Package copied successfully.');b.b.ic();}
-function sBb(a){rBb(this,a);}
-function oBb(){}
-_=oBb.prototype=new hcb();_.md=sBb;_.tN=Ffc+'PackageEditor$11';_.tI=381;function uBb(b,a,c){b.a=a;b.b=c;return b;}
-function wBb(b,a){iGb(b.a.a);b.a.d=Fb(a,89);mEb(b.a);idb('Package configuration updated successfully, refreshing content cache...');wKb((sKb(),xKb),b.a.b.j,zBb(new yBb(),b,b.b));}
-function xBb(a){wBb(this,a);}
-function tBb(){}
-_=tBb.prototype=new hcb();_.md=xBb;_.tN=Ffc+'PackageEditor$12';_.tI=382;function zBb(b,a,c){b.a=c;return b;}
-function BBb(){if(this.a!==null){cGb(this.a);}edb();}
-function yBb(){}
-_=yBb.prototype=new xT();_.nb=BBb;_.tN=Ffc+'PackageEditor$13';_.tI=383;function DBb(b,a){b.a=a;return b;}
-function FBb(a){edb();this.a.b=Fb(a,19);lEb(this.a);}
-function CBb(){}
-_=CBb.prototype=new hcb();_.md=FBb;_.tN=Ffc+'PackageEditor$14';_.tI=384;function bCb(b,a,c){b.a=a;b.b=c;return b;}
-function dCb(a){this.a.b.f=xK(this.b);EFb(this.a.c);}
-function aCb(){}
-_=aCb.prototype=new xT();_.vc=dCb;_.tN=Ffc+'PackageEditor$16';_.tI=385;function fCb(b,a,c){b.a=c;return b;}
-function hCb(a){if(nK(this.a)!=32){pK(this.a,32);}else{pK(this.a,8);}}
-function eCb(){}
-_=eCb.prototype=new xT();_.wc=hCb;_.tN=Ffc+'PackageEditor$17';_.tI=386;function jCb(b,a,c){b.a=a;b.b=c;return b;}
-function lCb(a){BK(this.b,xK(this.b)+'\n'+'import <your class here>');this.a.b.f=xK(this.b);}
-function iCb(){}
-_=iCb.prototype=new xT();_.wc=lCb;_.tN=Ffc+'PackageEditor$18';_.tI=387;function nCb(b,a,c){b.a=a;b.b=c;return b;}
-function pCb(a){BK(this.b,xK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=xK(this.b);}
-function mCb(){}
-_=mCb.prototype=new xT();_.wc=pCb;_.tN=Ffc+'PackageEditor$19';_.tI=388;function fDb(b,a){b.a=a;return b;}
-function hDb(a){var b;b=qeb(new peb(),this.a.d.a,this.a.d.b);rE(b,dc(ai()/4),sN(a));uE(b);}
-function tCb(){}
-_=tCb.prototype=new xT();_.wc=hDb;_.tN=Ffc+'PackageEditor$2';_.tI=389;function vCb(b,a,c){b.a=a;b.b=c;return b;}
-function xCb(a){var b;b=zxb(new qxb());rE(b,rN(a)-400,sN(a)-250);Dxb(b,zCb(new yCb(),this,this.b,b));uE(b);}
-function uCb(){}
-_=uCb.prototype=new xT();_.wc=xCb;_.tN=Ffc+'PackageEditor$20';_.tI=390;function zCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function BCb(a){BK(a.b,xK(a.b)+'\n'+Cxb(a.c));a.a.a.b.f=xK(a.b);}
-function CCb(){BCb(this);}
-function yCb(){}
-_=yCb.prototype=new xT();_.nb=CCb;_.tN=Ffc+'PackageEditor$21';_.tI=391;function ECb(b,a,c){b.a=c;return b;}
-function aDb(a){if(nK(this.a)!=32){pK(this.a,32);}else{pK(this.a,8);}}
-function DCb(){}
-_=DCb.prototype=new xT();_.wc=aDb;_.tN=Ffc+'PackageEditor$22';_.tI=392;function cDb(b,a,c){b.a=a;b.b=c;return b;}
-function eDb(a){this.a.b.d=xK(this.b);EFb(this.a.c);}
-function bDb(){}
-_=bDb.prototype=new xT();_.vc=eDb;_.tN=Ffc+'PackageEditor$23';_.tI=393;function jDb(b,a,c){b.a=a;b.b=c;return b;}
-function lDb(){oEb(this.a,this.b.c);}
-function iDb(){}
-_=iDb.prototype=new xT();_.nb=lDb;_.tN=Ffc+'PackageEditor$3';_.tI=394;function nDb(b,a){b.a=a;return b;}
-function pDb(a){iEb(this.a,null);}
-function mDb(){}
-_=mDb.prototype=new xT();_.wc=pDb;_.tN=Ffc+'PackageEditor$4';_.tI=395;function rDb(b,a){b.a=a;return b;}
-function tDb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;iEb(this.a,this.a.e);}}
-function qDb(){}
-_=qDb.prototype=new xT();_.wc=tDb;_.tN=Ffc+'PackageEditor$5';_.tI=396;function vDb(b,a){b.a=a;return b;}
-function xDb(a){pEb(this.a);}
-function uDb(){}
-_=uDb.prototype=new xT();_.wc=xDb;_.tN=Ffc+'PackageEditor$6';_.tI=397;function zDb(b,a){b.a=a;return b;}
-function BDb(a){qEb(this.a);}
-function yDb(){}
-_=yDb.prototype=new xT();_.wc=BDb;_.tN=Ffc+'PackageEditor$7';_.tI=398;function DDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function FDb(a){eUb(ELb(),this.a.b.m,xK(this.b),bEb(new aEb(),this,this.c));}
-function CDb(){}
-_=CDb.prototype=new xT();_.wc=FDb;_.tN=Ffc+'PackageEditor$8';_.tI=399;function bEb(b,a,c){b.a=a;b.b=c;return b;}
-function dEb(b,a){cGb(b.a.a.e);zh('Package renamed successfully.');b.b.ic();}
-function eEb(a){dEb(this,a);}
-function aEb(){}
-_=aEb.prototype=new hcb();_.md=eEb;_.tN=Ffc+'PackageEditor$9';_.tI=400;function qHb(a){a.f=aGb(new uEb(),a);}
-function rHb(b,a){sHb(b,a,null,null);return b;}
-function sHb(g,b,h,f){var a,c,d,e;qHb(g);g.b=b;g.h=h;g.c=pM(new cL());g.d=kab(new iab());g.g=new eGb();tM(g.c,g.g);e=nO(new lO());if(f===null){a=rt(new lt());ex(a.n,0,0,'new-asset-Icons');bx(a.n,0,0,(uz(),vz),(Dz(),Fz));a.ve(0,0,vHb(g));oO(e,a);a.xe('100%');}oO(e,g.c);nab(g.d,0,0,e);c=ut(g.d);fx(c,0,0,(Dz(),aA));qt(ut(g.d),0,1,2);bx(ut(g.d),0,1,(uz(),vz),(Dz(),aA));zHb(g);d=BM(g.c,0);if(d!==null)fN(g.c,d);nab(g.d,0,1,kz(new nw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));hx(ut(g.d),0,0,'25%');bx(ut(g.d),0,1,(uz(),wz),(Dz(),aA));g.e=Bcc(new Fbc(),g.b,'rulelist');mr(g,g.d);return g;}
-function tHb(d,a,c){var b;b=yHb(d,a.j,'images/package.gif',oHb(new nHb(),hFb(new gFb(),d,a)));b.y(yHb(d,'Business rule assets','images/rule_asset.gif',AHb(d,a.m,(b_(),c_))));b.y(yHb(d,'Technical rule assets','images/technical_rule_assets.gif',AHb(d,a.m,(b_(),e_))));b.y(yHb(d,'Functions','images/function_assets.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['function']))));b.y(yHb(d,'DSL','images/dsl.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['dsl']))));b.y(yHb(d,'Model','images/model_asset.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['jar']))));rM(d.c,b);if(c){gN(d.c,b,true);}}
-function vHb(h){var a,b,c,d,e,f,g,i;g=fA(new dA());d=kB(new uA(),'images/new_package.gif');d.pe('Create a new package');lB(d,sGb(new rGb(),h));i=ocb(new ncb(),'images/model_asset.gif');lB(i,wGb(new vGb(),h));i.pe('This creates a new model archive - models contain classes/types that rules use.');e=ocb(new ncb(),'images/new_rule.gif');e.pe('Create new rule');lB(e,AGb(new zGb(),h));c=ocb(new ncb(),'images/function_assets.gif');c.pe('Create a new function');lB(c,cHb(new bHb(),h));a=ocb(new ncb(),'images/dsl.gif');a.pe('Create a new DSL (language configuration)');lB(a,gHb(new fHb(),h));f=ocb(new ncb(),'images/ruleflow_small.gif');f.pe('Upload a new ruleflow.');lB(f,kHb(new jHb(),h));b=ocb(new ncb(),'images/new_enumeration.gif');b.pe('Create a new data enumeration (drop down list)');lB(b,wEb(new vEb(),h));gA(g,d);gA(g,i);gA(g,e);gA(g,c);gA(g,a);gA(g,f);gA(g,b);return g;}
-function wHb(d,a,e){var b,c,f;b=70;f=100;c=i7b(new y6b(),lGb(new kGb(),d),false,a,e,d.a);rE(c,dc((fab()-mE(c))/2),100);uE(c);}
-function xHb(a,b){idb('Loading package information ...');ATb(ELb(),b,uFb(new tFb(),a));}
-function yHb(e,d,b,a){var c;c=uL(new sL());CL(c,'<img src="'+b+'">'+d+'<\/a>');cM(c,a);return c;}
-function zHb(a){if(a.h===null){idb('Loading list of packages ...');uTb(ELb(),AEb(new zEb(),a));}else{idb('Loading package ...');ATb(ELb(),a.h,EEb(new DEb(),a));}}
-function AHb(c,d,b){var a;a=lFb(new kFb(),c);return oHb(new nHb(),qFb(new pFb(),c,d,b,a));}
-function BHb(b,c){var a;a=bzb(new eyb(),cFb(new bFb(),b));rE(a,dc((fab()-mE(a))/2),100);uE(a);}
-function tEb(){}
-_=tEb.prototype=new bab();_.tN=Ffc+'PackageExplorerWidget';_.tI=401;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function aGb(b,a){b.a=a;return b;}
-function cGb(a){zHb(a.a);}
-function dGb(){cGb(this);}
-function uEb(){}
-_=uEb.prototype=new xT();_.nb=dGb;_.tN=Ffc+'PackageExplorerWidget$1';_.tI=402;function wEb(b,a){b.a=a;return b;}
-function yEb(a){wHb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
-function vEb(){}
-_=vEb.prototype=new xT();_.wc=yEb;_.tN=Ffc+'PackageExplorerWidget$10';_.tI=403;function AEb(b,a){b.a=a;return b;}
-function CEb(a){var b,c;c=Fb(a,71);uM(this.a.c);for(b=0;b<c.a;b++){if(b==0){tHb(this.a,c[b],true);}else{tHb(this.a,c[b],false);}}edb();}
-function zEb(){}
-_=zEb.prototype=new hcb();_.md=CEb;_.tN=Ffc+'PackageExplorerWidget$11';_.tI=404;function EEb(b,a){b.a=a;return b;}
-function aFb(a){var b;b=Fb(a,19);uM(this.a.c);tHb(this.a,b,true);edb();}
-function DEb(){}
-_=DEb.prototype=new hcb();_.md=aFb;_.tN=Ffc+'PackageExplorerWidget$12';_.tI=405;function cFb(b,a){b.a=a;return b;}
-function eFb(a){zHb(a.a);}
-function fFb(){eFb(this);}
-function bFb(){}
-_=bFb.prototype=new xT();_.nb=fFb;_.tN=Ffc+'PackageExplorerWidget$13';_.tI=406;function hFb(b,a,c){b.a=a;b.b=c;return b;}
-function jFb(){if(this.a.mc()){if(Bh('Discard Changes ? ')){eab(this.a);xHb(this.a,this.b.m);}}else{xHb(this.a,this.b.m);}}
-function gFb(){}
-_=gFb.prototype=new xT();_.nb=jFb;_.tN=Ffc+'PackageExplorerWidget$14';_.tI=407;function lFb(b,a){b.a=a;return b;}
-function nFb(c,a){var b;b=Fb(a,62);adc(c.a.e,b);c.a.e.xe('100%');nab(c.a.d,0,1,c.a.e);bx(ut(c.a.d),0,1,(uz(),wz),(Dz(),aA));edb();}
-function oFb(a){nFb(this,a);}
-function kFb(){}
-_=kFb.prototype=new hcb();_.md=oFb;_.tN=Ffc+'PackageExplorerWidget$15';_.tI=408;function qFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
-function sFb(){idb('Loading list, please wait...');tTb(ELb(),this.c,this.b,(-1),(-1),this.a);}
-function pFb(){}
-_=pFb.prototype=new xT();_.nb=sFb;_.tN=Ffc+'PackageExplorerWidget$16';_.tI=409;function uFb(b,a){b.a=a;return b;}
-function wFb(c){var a,b,d,e,f,g,h,i;b=Fb(c,19);g=wH(new vH());this.a.a=b.j;e=ubb(new rbb(),'images/package_large.png',b.j);AN(e,'package-Editor');e.xe('100%');vbb(e,'Description:',cC(new aC(),b.d));vbb(e,'Date created:',cC(new aC(),sZ(b.c)));if(b.g){vbb(e,'Snapshot created on:',cC(new aC(),sZ(b.i)));vbb(e,'Snapshot comment:',cC(new aC(),b.b));h=gBb(b);d=kz(new nw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");vbb(e,'Download package:',d);vbb(e,'Package URI:',cC(new aC(),h));i=wp(new qp(),'View package source');i.x(yFb(new xFb(),this,b));vbb(e,'Show package source:',i);}if(!b.g){ybb(e,kz(new nw(),'<i>Choose one of the options below<\/i>'));}f=CFb(new BFb(),this);a=gGb(new fGb(),this);yH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){yH(g,fEb(new iBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);yH(g,FAb(new fzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{yH(!
 g,fEb(new iBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.xe('100%');nab(this.a.d,0,1,g);edb();}
-function tFb(){}
-_=tFb.prototype=new hcb();_.md=wFb;_.tN=Ffc+'PackageExplorerWidget$17';_.tI=410;function yFb(b,a,c){b.a=c;return b;}
-function AFb(a){fBb(this.a.m,this.a.j);}
-function xFb(){}
-_=xFb.prototype=new xT();_.wc=AFb;_.tN=Ffc+'PackageExplorerWidget$18';_.tI=411;function CFb(b,a){b.a=a;return b;}
-function EFb(a){dab(a.a.a);}
-function FFb(){EFb(this);}
-function BFb(){}
-_=BFb.prototype=new xT();_.nb=FFb;_.tN=Ffc+'PackageExplorerWidget$19';_.tI=412;function pGb(c){var a,b;a=Fb(c.k,90);b=a.a;idb('Please wait...');fg(b);}
-function qGb(a){}
-function eGb(){}
-_=eGb.prototype=new xT();_.od=pGb;_.pd=qGb;_.tN=Ffc+'PackageExplorerWidget$2';_.tI=413;function gGb(b,a){b.a=a;return b;}
-function iGb(a){eab(a.a.a);}
-function jGb(){iGb(this);}
-function fGb(){}
-_=fGb.prototype=new xT();_.nb=jGb;_.tN=Ffc+'PackageExplorerWidget$20';_.tI=414;function lGb(b,a){b.a=a;return b;}
-function nGb(a){aIb(this.a.b,a);}
-function kGb(){}
-_=kGb.prototype=new xT();_.td=nGb;_.tN=Ffc+'PackageExplorerWidget$21';_.tI=415;function sGb(b,a){b.a=a;return b;}
-function uGb(a){BHb(this.a,a);}
-function rGb(){}
-_=rGb.prototype=new xT();_.wc=uGb;_.tN=Ffc+'PackageExplorerWidget$3';_.tI=416;function wGb(b,a){b.a=a;return b;}
-function yGb(a){wHb(this.a,'jar','Create a new model archive');}
-function vGb(){}
-_=vGb.prototype=new xT();_.wc=yGb;_.tN=Ffc+'PackageExplorerWidget$4';_.tI=417;function AGb(b,a){b.a=a;return b;}
-function CGb(d){var a,b,c;a=70;c=100;b=i7b(new y6b(),EGb(new DGb(),this),true,null,'Create a new rule asset',this.a.a);rE(b,dc((fab()-mE(b))/2),100);uE(b);}
-function zGb(){}
-_=zGb.prototype=new xT();_.wc=CGb;_.tN=Ffc+'PackageExplorerWidget$5';_.tI=418;function EGb(b,a){b.a=a;return b;}
-function aHb(a){aIb(this.a.a.b,a);}
-function DGb(){}
-_=DGb.prototype=new xT();_.td=aHb;_.tN=Ffc+'PackageExplorerWidget$6';_.tI=419;function cHb(b,a){b.a=a;return b;}
-function eHb(a){wHb(this.a,'function','Create a new function');}
-function bHb(){}
-_=bHb.prototype=new xT();_.wc=eHb;_.tN=Ffc+'PackageExplorerWidget$7';_.tI=420;function gHb(b,a){b.a=a;return b;}
-function iHb(a){wHb(this.a,'dsl','Create a new language configuration');}
-function fHb(){}
-_=fHb.prototype=new xT();_.wc=iHb;_.tN=Ffc+'PackageExplorerWidget$8';_.tI=421;function kHb(b,a){b.a=a;return b;}
-function mHb(a){wHb(this.a,'rf','Create a new ruleflow');}
-function jHb(){}
-_=jHb.prototype=new xT();_.wc=mHb;_.tN=Ffc+'PackageExplorerWidget$9';_.tI=422;function oHb(b,a){b.a=a;return b;}
-function nHb(){}
-_=nHb.prototype=new xT();_.tN=Ffc+'PackageExplorerWidget$PackageTreeItem';_.tI=423;_.a=null;function cIb(a){a.a=(FY(),aZ);}
-function dIb(a){eIb(a,null,null);return a;}
-function eIb(e,c,d){var a,b;cIb(e);e.b=yJ(new kJ());e.b.xe('100%');e.b.ne('30%');a=EHb(new DHb(),e,d);b=null;if(c===null){b=rHb(new tEb(),a);}else{b=sHb(new tEb(),a,c,d);}zJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);FJ(e.b,0);mr(e,e.b);return e;}
-function gIb(b,a){b.a=a;}
-function CHb(){}
-_=CHb.prototype=new kr();_.tN=Ffc+'PackageManagerView';_.tI=424;_.b=null;function EHb(b,a,c){b.a=a;b.b=c;return b;}
-function aIb(b,a){u4b(b.a.a,b.a.b,a,b.b!==null);}
-function bIb(a){aIb(this,a);}
-function DHb(){}
-_=DHb.prototype=new xT();_.td=bIb;_.tN=Ffc+'PackageManagerView$1';_.tI=425;function FJb(b){var a,c;b.a=rt(new lt());b.c=yJ(new kJ());b.c.xe('100%');b.c.ne('100%');c=nO(new lO());oO(c,b.a);a=wp(new qp(),'Rebuild snapshot binaries');a.pe('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new iIb());oO(c,a);zJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);hx(b.a.n,0,0,'28%');b.b=ELb();hKb(b);b.a.xe('100%');mr(b,b.c);FJ(b.c,0);return b;}
-function aKb(h,c){var a,b,d,e,f,g;g=pM(new cL());d=nO(new lO());for(a=0;a<c.a;a++){e=c[a].j;b=fKb(h,e,'images/package_snapshot.gif',iJb(new hJb(),h,e));rM(g,b);}oO(d,g);f=kz(new nw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");dC(f,mJb(new lJb(),h));tM(g,new pJb());sO(d,(Dz(),aA));rO(d,(uz(),wz));oO(d,f);AN(d,'snapshot-List');h.a.ve(0,0,d);fx(h.a.n,0,0,(Dz(),aA));}
-function cKb(g,e,f){var a,b,c,d;c=dcb(new Ebb(),'images/snapshot.png','Copy snapshot '+f);a=FK(new qK());ecb(c,'New label:',a);d=wp(new qp(),'OK');ecb(c,'',d);d.x(yJb(new xJb(),g,e,f,a,c));b=wp(new qp(),'Copy');b.x(kIb(new jIb(),g,c));return b;}
-function dKb(d,c,b){var a;a=wp(new qp(),'Delete');a.x(sIb(new rIb(),d,c,b));return a;}
-function eKb(d,b,c,e){var a;a=wp(new qp(),'Open');a.x(oIb(new nIb(),d,b,c,e));return a;}
-function fKb(e,d,b,a){var c;c=uL(new sL());CL(c,'<img src="'+b+'">'+d+'<\/a>');cM(c,a);return c;}
-function gKb(g,e,f,h){var a,b,c,d,i;i=rt(new lt());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=fA(new dA());gA(c,kz(new nw(),d));a=ocb(new ncb(),'images/close.gif');a.pe('Close this view');lB(a,AIb(new zIb(),g));gA(c,a);i.ve(0,0,c);b=ut(i);ex(b,0,0,'editable-Surface');i.ve(1,0,eIb(new CHb(),h,f));i.xe('100%');i.ne('100%');if(g.c.a.f.c>1){EJ(g.c,1);}zJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);FJ(g.c,1);}
-function hKb(a){idb('Loading package list...');uTb(a.b,eJb(new dJb(),a));}
-function iKb(h,d,b){var a,c,e,f,g;e=ubb(new rbb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=rt(new lt());Ey(g,0,1,'Name');Ey(g,0,2,'Comment');rx(g.p,0,ifc);for(a=0;a<b.a;a++){f=a+1;c=cC(new aC(),b[a].b);g.ve(f,0,kB(new uA(),'images/package_snapshot_item.gif'));g.ve(f,1,c);g.ve(f,2,cC(new aC(),b[a].a));g.ve(f,3,eKb(h,d,gC(c),b[a].c));g.ve(f,4,cKb(h,d,gC(c)));g.ve(f,5,dKb(h,gC(c),d));if(a%2==0){rx(g.p,a+1,gfc);}}e.xe('100%');ybb(e,g);g.xe('100%');AN(e,hfc);h.a.ve(0,1,e);fx(ut(h.a),0,1,(Dz(),aA));}
-function jKb(b,a){idb('Loading snapshots...');vTb(b.b,a,uJb(new tJb(),b,a));}
-function hIb(){}
-_=hIb.prototype=new kr();_.tN=Ffc+'PackageSnapshotView';_.tI=426;_.a=null;_.b=null;_.c=null;function EIb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){idb('Rebuilding snapshots. Please wait, this may take some time...');aUb(ELb(),new FIb());}}
-function iIb(){}
-_=iIb.prototype=new xT();_.wc=EIb;_.tN=Ffc+'PackageSnapshotView$1';_.tI=427;function kIb(b,a,c){b.a=c;return b;}
-function mIb(a){rE(this.a,dc((fab()-mE(this.a))/2),100);uE(this.a);}
-function jIb(){}
-_=jIb.prototype=new xT();_.wc=mIb;_.tN=Ffc+'PackageSnapshotView$10';_.tI=428;function oIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
-function qIb(a){gKb(this.a,this.b,this.c,this.d);}
-function nIb(){}
-_=nIb.prototype=new xT();_.wc=qIb;_.tN=Ffc+'PackageSnapshotView$11';_.tI=429;function sIb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function uIb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{lTb(this.a.b,this.b,this.c,true,null,wIb(new vIb(),this,this.b));}}
-function rIb(){}
-_=rIb.prototype=new xT();_.wc=uIb;_.tN=Ffc+'PackageSnapshotView$12';_.tI=430;function wIb(b,a,c){b.a=a;b.b=c;return b;}
-function yIb(a){jKb(this.a.a,this.b);}
-function vIb(){}
-_=vIb.prototype=new hcb();_.md=yIb;_.tN=Ffc+'PackageSnapshotView$13';_.tI=431;function AIb(b,a){b.a=a;return b;}
-function CIb(a){EJ(this.a.c,1);FJ(this.a.c,0);}
-function zIb(){}
-_=zIb.prototype=new xT();_.wc=CIb;_.tN=Ffc+'PackageSnapshotView$14';_.tI=432;function bJb(b,a){edb();zh('Snapshots were rebuilt successfully.');}
-function cJb(a){bJb(this,a);}
-function FIb(){}
-_=FIb.prototype=new hcb();_.md=cJb;_.tN=Ffc+'PackageSnapshotView$2';_.tI=433;function eJb(b,a){b.a=a;return b;}
-function gJb(a){var b;b=Fb(a,71);aKb(this.a,b);edb();}
-function dJb(){}
-_=dJb.prototype=new hcb();_.md=gJb;_.tN=Ffc+'PackageSnapshotView$3';_.tI=434;function iJb(b,a,c){b.a=a;b.b=c;return b;}
-function kJb(){jKb(this.a,this.b);}
-function hJb(){}
-_=hJb.prototype=new xT();_.nb=kJb;_.tN=Ffc+'PackageSnapshotView$4';_.tI=435;function mJb(b,a){b.a=a;return b;}
-function oJb(a){hKb(this.a);}
-function lJb(){}
-_=lJb.prototype=new xT();_.wc=oJb;_.tN=Ffc+'PackageSnapshotView$5';_.tI=436;function rJb(a){fg(Fb(a.k,4));}
-function sJb(a){}
-function pJb(){}
-_=pJb.prototype=new xT();_.od=rJb;_.pd=sJb;_.tN=Ffc+'PackageSnapshotView$6';_.tI=437;function uJb(b,a,c){b.a=a;b.b=c;return b;}
-function wJb(a){var b;b=Fb(a,86);iKb(this.a,this.b,b);edb();}
-function tJb(){}
-_=tJb.prototype=new hcb();_.md=wJb;_.tN=Ffc+'PackageSnapshotView$7';_.tI=438;function yJb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
-function AJb(a){lTb(this.a.b,this.d,this.e,false,xK(this.b),CJb(new BJb(),this,this.d,this.c));}
-function xJb(){}
-_=xJb.prototype=new xT();_.wc=AJb;_.tN=Ffc+'PackageSnapshotView$8';_.tI=439;function CJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function EJb(a){jKb(this.a.a,this.c);this.b.ic();}
-function BJb(){}
-_=BJb.prototype=new hcb();_.md=EJb;_.tN=Ffc+'PackageSnapshotView$9';_.tI=440;function sKb(){sKb=v2;xKb=rKb(new kKb());}
-function qKb(a){a.a=C0(new a0());}
-function rKb(a){sKb();qKb(a);return a;}
-function tKb(c,b,a){if(!F0(c.a,b)){vKb(c,b,a);}else{h4b(a);}}
-function uKb(c,b){var a;a=Fb(c1(c.a,b),91);if(a===null){jbb('Unable to get content assistance for this rule.');return null;}return a;}
-function vKb(c,b,a){kV(),nV;DTb(ELb(),b,mKb(new lKb(),c,b,a));}
-function wKb(c,b,a){if(F0(c.a,b)){e1(c.a,b);vKb(c,b,a);}else{a.nb();}}
-function kKb(){}
-_=kKb.prototype=new xT();_.tN=Ffc+'SuggestionCompletionCache';_.tI=441;var xKb;function mKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function oKb(c,a){var b;b=Fb(a,91);d1(c.a.a,c.c,b);c.b.nb();}
-function pKb(a){oKb(this,a);}
-function lKb(){}
-_=lKb.prototype=new hcb();_.md=pKb;_.tN=Ffc+'SuggestionCompletionCache$1';_.tI=442;function EKb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
-function yKb(){}
-_=yKb.prototype=new xT();_.tS=EKb;_.tN=agc+'BuilderResult';_.tI=443;_.a=null;_.b=null;_.c=null;_.d=null;function CKb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();}
-function DKb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);}
-function FKb(){}
-_=FKb.prototype=new ll();_.tN=agc+'DetailedSerializableException';_.tI=444;_.a=null;function dLb(b,a){gLb(a,b.Bd());pl(b,a);}
-function eLb(a){return a.a;}
-function fLb(b,a){b.cf(eLb(a));rl(b,a);}
-function gLb(a,b){a.a=b;}
-function iLb(a){a.a=yb('[Ljava.lang.String;',[607],[1],[0],null);}
-function jLb(a){iLb(a);return a;}
-function kLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(qU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[607],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function mLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[607],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function hLb(){}
-_=hLb.prototype=new xT();_.tN=agc+'MetaData';_.tI=445;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function pLb(b,a){a.a=Fb(b.Ad(),63);a.b=b.Bd();a.c=b.Bd();a.d=Fb(b.Ad(),59);a.e=b.Bd();a.f=Fb(b.Ad(),59);a.g=Fb(b.Ad(),59);a.h=b.Bd();a.i=b.Bd();a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=Fb(b.Ad(),59);a.n=b.Bd();a.o=b.Bd();a.p=b.Bd();a.q=b.Bd();a.r=b.Bd();a.s=b.Bd();a.t=b.Bd();a.u=b.Bd();a.v=b.zd();}
-function qLb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.bf(a.d);b.cf(a.e);b.bf(a.f);b.bf(a.g);b.cf(a.h);b.cf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.bf(a.m);b.cf(a.n);b.cf(a.o);b.cf(a.p);b.cf(a.q);b.cf(a.r);b.cf(a.s);b.cf(a.t);b.cf(a.u);b.af(a.v);}
-function rLb(){}
-_=rLb.prototype=new xT();_.tN=agc+'PackageConfigData';_.tI=446;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function vLb(b,a){a.a=b.wd();a.b=b.Bd();a.c=Fb(b.Ad(),59);a.d=b.Bd();a.e=b.Bd();a.f=b.Bd();a.g=b.wd();a.h=b.Bd();a.i=Fb(b.Ad(),59);a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=b.Bd();}
-function wLb(b,a){b.De(a.a);b.cf(a.b);b.bf(a.c);b.cf(a.d);b.cf(a.e);b.cf(a.f);b.De(a.g);b.cf(a.h);b.bf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.cf(a.m);}
-function CLb(){var a,b,c;c=BRb(new bMb());a=c;b=v()+'jbrmsService';hUb(a,b);return c;}
-function DLb(){var a,b,c;c=jXb(new EWb());a=c;b=v()+'jbrmsService';pXb(a,b);return c;}
-function ELb(){if(BLb===null){FLb();}return BLb;}
-function FLb(){if(ALb)BLb=null;else BLb=CLb();}
-function aMb(d,b,a){var c;c=DLb();oXb(c,d,b,a);}
-var ALb=false,BLb=null;function jTb(){jTb=v2;iUb=kUb(new jUb());}
-function BRb(a){jTb();return a;}
-function CRb(b,a,c,d){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'archiveAsset');rn(a,2);tn(a,'java.lang.String');tn(a,'Z');tn(a,c);qn(a,d);}
-function ERb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildAsset');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
-function DRb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildAssetSource');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
-function aSb(d,c,a,b){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'buildPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,a);tn(c,b);}
-function FRb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildPackageSource');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function bSb(d,c,e,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'changeAssetPackage');rn(c,3);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,e);tn(c,b);tn(c,a);}
-function cSb(c,b,d,a,e){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'changeState');rn(b,3);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,'Z');tn(b,d);tn(b,a);qn(b,e);}
-function dSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'checkinVersion');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
-function eSb(e,d,a,c,b){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'copyAsset');rn(d,3);tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,a);tn(d,c);tn(d,b);}
-function fSb(f,e,c,d,a,b){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'copyOrRemoveSnapshot');rn(e,4);tn(e,'java.lang.String');tn(e,'java.lang.String');tn(e,'Z');tn(e,'java.lang.String');tn(e,c);tn(e,d);qn(e,a);tn(e,b);}
-function gSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'copyPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
-function hSb(e,d,c,b,a){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'createCategory');rn(d,3);tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,c);tn(d,b);tn(d,a);}
-function iSb(g,f,e,a,c,d,b){if(g.a===null)throw Al(new zl());xo(f);tn(f,'org.drools.brms.client.rpc.RepositoryService');tn(f,'createNewRule');rn(f,5);tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,e);tn(f,a);tn(f,c);tn(f,d);tn(f,b);}
-function kSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'createPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
-function jSb(f,e,b,d,c,a){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'createPackageSnapshot');rn(e,4);tn(e,'java.lang.String');tn(e,'java.lang.String');tn(e,'Z');tn(e,'java.lang.String');tn(e,b);tn(e,d);qn(e,c);tn(e,a);}
-function lSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'createState');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function mSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'deleteUncheckedRule');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
-function nSb(f,e,c,a,b,d){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'listAssets');rn(e,4);tn(e,'java.lang.String');tn(e,'[Ljava.lang.String;');tn(e,'I');tn(e,'I');tn(e,c);sn(e,a);rn(e,b);rn(e,d);}
-function oSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'listPackages');rn(a,0);}
-function pSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'listSnapshots');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function qSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'listStates');rn(a,0);}
-function rSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadArchivedAssets');rn(a,0);}
-function sSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadAssetHistory');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
-function tSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadChildCategories');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function uSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadPackageConfig');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
-function vSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadRuleAsset');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function wSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadRuleListForCategories');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function xSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadSuggestionCompletionEngine');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function ySb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadTableConfig');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function zSb(e,d,c,a,b){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'quickFindAsset');rn(d,3);tn(d,'java.lang.String');tn(d,'I');tn(d,'Z');tn(d,c);rn(d,a);qn(d,b);}
-function ASb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'rebuildSnapshots');rn(a,0);}
-function BSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'removeAsset');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
-function CSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'removeCategory');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function DSb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'renameAsset');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
-function ESb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'renamePackage');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
-function FSb(d,c,e,a,b){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'restoreVersion');rn(c,3);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,e);tn(c,a);tn(c,b);}
-function aTb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'savePackage');rn(b,1);tn(b,'org.drools.brms.client.rpc.PackageConfigData');sn(b,a);}
-function bTb(h,i,j,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CRb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=qNb(new cMb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ERb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=hPb(new uNb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DRb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=EQb(new lPb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fTb(j,f,g,c){var a,d,e,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=dRb(new cRb(),j,h,c);if(!wg(j.a,Ao(i),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FRb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=iRb(new hRb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gTb(j,k,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=nRb(new mRb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hTb(i,j,f,k,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=sRb(new rRb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function iTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=xRb(new wRb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function kTb(k,c,h,g,d){var a,e,f,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=eMb(new dMb(),k,i,d);if(!wg(k.a,Ao(j),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lTb(l,h,i,d,g,c){var a,e,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=jMb(new iMb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mTb(j,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=oMb(new nMb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function nTb(k,h,g,d,c){var a,e,f,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=tMb(new sMb(),k,i,c);if(!wg(k.a,Ao(j),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=Fn(new En(),iUb);l=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}g=yMb(new xMb(),m,k,c);if(!wg(m.a,Ao(l),g))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qTb(j,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=DMb(new CMb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pTb(l,g,i,h,d,c){var a,e,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=cNb(new bNb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=hNb(new gNb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sTb(j,g,f,c){var a,d,e,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=mNb(new lNb(),j,h,c);if(!wg(j.a,Ao(i),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tTb(l,h,e,g,i,c){var a,d,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}f=wNb(new vNb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=BNb(new ANb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=aOb(new FNb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=fOb(new eOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function xTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=kOb(new jOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function yTb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=pOb(new oOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function zTb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=uOb(new tOb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ATb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=zOb(new yOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function BTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=EOb(new DOb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CTb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=dPb(new cPb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=nPb(new mPb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ETb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=sPb(new rPb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FTb(k,h,f,g,c){var a,d,e,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=xPb(new wPb(),k,i,c);if(!wg(k.a,Ao(j),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aUb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=CPb(new BPb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bUb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=bQb(new aQb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cUb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=gQb(new fQb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dUb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=lQb(new kQb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eUb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=qQb(new pQb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fUb(j,k,c,e,d){var a,f,g,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;jcb(d,f);return;}else throw a;}g=vQb(new uQb(),j,h,d);if(!wg(j.a,Ao(i),g))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gUb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=AQb(new zQb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hUb(b,a){b.a=a;}
-function bMb(){}
-_=bMb.prototype=new xT();_.tN=agc+'RepositoryService_Proxy';_.tI=447;_.a=null;var iUb;function qNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x6(g.a,f);else jcb(g.a,c);}
-function tNb(a){var b;b=x;sNb(this,a);}
-function cMb(){}
-_=cMb.prototype=new xT();_.xc=tNb;_.tN=agc+'RepositoryService_Proxy$1';_.tI=448;function eMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)p0b(g.a,f);else jcb(g.a,c);}
-function hMb(a){var b;b=x;gMb(this,a);}
-function dMb(){}
-_=dMb.prototype=new xT();_.xc=hMb;_.tN=agc+'RepositoryService_Proxy$10';_.tI=449;function jMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function lMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function mMb(a){var b;b=x;lMb(this,a);}
-function iMb(){}
-_=iMb.prototype=new xT();_.xc=mMb;_.tN=agc+'RepositoryService_Proxy$11';_.tI=450;function oMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function qMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rBb(g.a,f);else jcb(g.a,c);}
-function rMb(a){var b;b=x;qMb(this,a);}
-function nMb(){}
-_=nMb.prototype=new xT();_.xc=rMb;_.tN=agc+'RepositoryService_Proxy$12';_.tI=451;function tMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)C9(g.a,f);else jcb(g.a,c);}
-function wMb(a){var b;b=x;vMb(this,a);}
-function sMb(){}
-_=sMb.prototype=new xT();_.xc=wMb;_.tN=agc+'RepositoryService_Proxy$13';_.tI=452;function yMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function AMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)e7b(g.a,f);else jcb(g.a,c);}
-function BMb(a){var b;b=x;AMb(this,a);}
-function xMb(){}
-_=xMb.prototype=new xT();_.xc=BMb;_.tN=agc+'RepositoryService_Proxy$14';_.tI=453;function DMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vyb(g.a,f);else jcb(g.a,c);}
-function aNb(a){var b;b=x;FMb(this,a);}
-function CMb(){}
-_=CMb.prototype=new xT();_.xc=aNb;_.tN=agc+'RepositoryService_Proxy$15';_.tI=454;function cNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function eNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wzb(g.a,f);else jcb(g.a,c);}
-function fNb(a){var b;b=x;eNb(this,a);}
-function bNb(){}
-_=bNb.prototype=new xT();_.xc=fNb;_.tN=agc+'RepositoryService_Proxy$16';_.tI=455;function hNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)j9(g.a,f);else jcb(g.a,c);}
-function kNb(a){var b;b=x;jNb(this,a);}
-function gNb(){}
-_=gNb.prototype=new xT();_.xc=kNb;_.tN=agc+'RepositoryService_Proxy$17';_.tI=456;function mNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f$b(g.a,f);else jcb(g.a,c);}
-function pNb(a){var b;b=x;oNb(this,a);}
-function lNb(){}
-_=lNb.prototype=new xT();_.xc=pNb;_.tN=agc+'RepositoryService_Proxy$18';_.tI=457;function hPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)i8b(g.a,f);else jcb(g.a,c);}
-function kPb(a){var b;b=x;jPb(this,a);}
-function uNb(){}
-_=uNb.prototype=new xT();_.xc=kPb;_.tN=agc+'RepositoryService_Proxy$2';_.tI=458;function wNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)nFb(g.a,f);else jcb(g.a,c);}
-function zNb(a){var b;b=x;yNb(this,a);}
-function vNb(){}
-_=vNb.prototype=new xT();_.xc=zNb;_.tN=agc+'RepositoryService_Proxy$20';_.tI=459;function BNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function ENb(a){var b;b=x;DNb(this,a);}
-function ANb(){}
-_=ANb.prototype=new xT();_.xc=ENb;_.tN=agc+'RepositoryService_Proxy$21';_.tI=460;function aOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function dOb(a){var b;b=x;cOb(this,a);}
-function FNb(){}
-_=FNb.prototype=new xT();_.xc=dOb;_.tN=agc+'RepositoryService_Proxy$22';_.tI=461;function fOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function iOb(a){var b;b=x;hOb(this,a);}
-function eOb(){}
-_=eOb.prototype=new xT();_.xc=iOb;_.tN=agc+'RepositoryService_Proxy$23';_.tI=462;function kOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f7(g.a,f);else jcb(g.a,c);}
-function nOb(a){var b;b=x;mOb(this,a);}
-function jOb(){}
-_=jOb.prototype=new xT();_.xc=nOb;_.tN=agc+'RepositoryService_Proxy$24';_.tI=463;function pOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g_b(g.a,f);else jcb(g.a,c);}
-function sOb(a){var b;b=x;rOb(this,a);}
-function oOb(){}
-_=oOb.prototype=new xT();_.xc=sOb;_.tN=agc+'RepositoryService_Proxy$25';_.tI=464;function uOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function xOb(a){var b;b=x;wOb(this,a);}
-function tOb(){}
-_=tOb.prototype=new xT();_.xc=xOb;_.tN=agc+'RepositoryService_Proxy$26';_.tI=465;function zOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function BOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function COb(a){var b;b=x;BOb(this,a);}
-function yOb(){}
-_=yOb.prototype=new xT();_.xc=COb;_.tN=agc+'RepositoryService_Proxy$27';_.tI=466;function EOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function bPb(a){var b;b=x;aPb(this,a);}
-function DOb(){}
-_=DOb.prototype=new xT();_.xc=bPb;_.tN=agc+'RepositoryService_Proxy$28';_.tI=467;function dPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rbc(g.a,f);else jcb(g.a,c);}
-function gPb(a){var b;b=x;fPb(this,a);}
-function cPb(){}
-_=cPb.prototype=new xT();_.xc=gPb;_.tN=agc+'RepositoryService_Proxy$29';_.tI=468;function EQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)n8b(g.a,f);else jcb(g.a,c);}
-function bRb(a){var b;b=x;aRb(this,a);}
-function lPb(){}
-_=lPb.prototype=new xT();_.xc=bRb;_.tN=agc+'RepositoryService_Proxy$3';_.tI=469;function nPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)oKb(g.a,f);else jcb(g.a,c);}
-function qPb(a){var b;b=x;pPb(this,a);}
-function mPb(){}
-_=mPb.prototype=new xT();_.xc=qPb;_.tN=agc+'RepositoryService_Proxy$30';_.tI=470;function sPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)hcc(g.a,f);else jcb(g.a,c);}
-function vPb(a){var b;b=x;uPb(this,a);}
-function rPb(){}
-_=rPb.prototype=new xT();_.xc=vPb;_.tN=agc+'RepositoryService_Proxy$31';_.tI=471;function xPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function APb(a){var b;b=x;zPb(this,a);}
-function wPb(){}
-_=wPb.prototype=new xT();_.xc=APb;_.tN=agc+'RepositoryService_Proxy$32';_.tI=472;function CPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function EPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)bJb(g.a,f);else jcb(g.a,c);}
-function FPb(a){var b;b=x;EPb(this,a);}
-function BPb(){}
-_=BPb.prototype=new xT();_.xc=FPb;_.tN=agc+'RepositoryService_Proxy$33';_.tI=473;function bQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)a7(g.a,f);else jcb(g.a,c);}
-function eQb(a){var b;b=x;dQb(this,a);}
-function aQb(){}
-_=aQb.prototype=new xT();_.xc=eQb;_.tN=agc+'RepositoryService_Proxy$34';_.tI=474;function gQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x8(g.a,f);else jcb(g.a,c);}
-function jQb(a){var b;b=x;iQb(this,a);}
-function fQb(){}
-_=fQb.prototype=new xT();_.xc=jQb;_.tN=agc+'RepositoryService_Proxy$35';_.tI=475;function lQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f6b(g.a,f);else jcb(g.a,c);}
-function oQb(a){var b;b=x;nQb(this,a);}
-function kQb(){}
-_=kQb.prototype=new xT();_.xc=oQb;_.tN=agc+'RepositoryService_Proxy$36';_.tI=476;function qQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dEb(g.a,f);else jcb(g.a,c);}
-function tQb(a){var b;b=x;sQb(this,a);}
-function pQb(){}
-_=pQb.prototype=new xT();_.xc=tQb;_.tN=agc+'RepositoryService_Proxy$37';_.tI=477;function vQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)pac(g.a,f);else jcb(g.a,c);}
-function yQb(a){var b;b=x;xQb(this,a);}
-function uQb(){}
-_=uQb.prototype=new xT();_.xc=yQb;_.tN=agc+'RepositoryService_Proxy$38';_.tI=478;function AQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function CQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wBb(g.a,f);else jcb(g.a,c);}
-function DQb(a){var b;b=x;CQb(this,a);}
-function zQb(){}
-_=zQb.prototype=new xT();_.xc=DQb;_.tN=agc+'RepositoryService_Proxy$39';_.tI=479;function dRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vAb(g.a,f);else jcb(g.a,c);}
-function gRb(a){var b;b=x;fRb(this,a);}
-function cRb(){}
-_=cRb.prototype=new xT();_.xc=gRb;_.tN=agc+'RepositoryService_Proxy$4';_.tI=480;function iRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function kRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)gAb(g.a,f);else jcb(g.a,c);}
-function lRb(a){var b;b=x;kRb(this,a);}
-function hRb(){}
-_=hRb.prototype=new xT();_.xc=lRb;_.tN=agc+'RepositoryService_Proxy$5';_.tI=481;function nRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D4b(g.a,f);else jcb(g.a,c);}
-function qRb(a){var b;b=x;pRb(this,a);}
-function mRb(){}
-_=mRb.prototype=new xT();_.xc=qRb;_.tN=agc+'RepositoryService_Proxy$6';_.tI=482;function sRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)jeb(g.a,f);else jcb(g.a,c);}
-function vRb(a){var b;b=x;uRb(this,a);}
-function rRb(){}
-_=rRb.prototype=new xT();_.xc=vRb;_.tN=agc+'RepositoryService_Proxy$7';_.tI=483;function xRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k$b(g.a,f);else jcb(g.a,c);}
-function ARb(a){var b;b=x;zRb(this,a);}
-function wRb(){}
-_=wRb.prototype=new xT();_.xc=ARb;_.tN=agc+'RepositoryService_Proxy$8';_.tI=484;function lUb(){lUb=v2;nWb=mUb();qWb=nUb();}
-function kUb(a){lUb();return a;}
-function mUb(){lUb();return {'[B/2233087514':[function(a){return oUb(a);},function(a,b){nm(a,b);},function(a,b){om(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return pUb(a);},function(a,b){el(a,b);},function(a,b){fl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return qUb(a);},function(a,b){pl(a,b);},function(a,b){rl(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return vUb(a);},function(a,b){tD(a,b);},function(a,b){wD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return wUb(a);},function(a,b){lI(a,b);},function(a,b){oI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return xUb(a);},function(a,b){tI(a,b);},function(a,b){vI(a,b);}],'java.lang.Boolean/476441737':[function(a){return am(a);},function(a,b){Fl(a,b);},function(a,b){bm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return jm(a);},function(a,b){im(a,b);},function(a,b){km(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return yUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return rUb(a);},function(a,b){rm(a,b);},function(a,b){sm(a,b);}],'java.util.Date/1659716317':[function(a){return wm(a);},function(a,b){vm(a,b);},function(a,b){xm(a,b);}],'java.util.HashMap/962170901':[function(a){return sUb(a);},function(a,b){Am(a,b);},function(a,b){Bm(a,b);}],'java.util.HashSet/1594477813':[function(a){return tUb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'java.util.Vector/3125574444':[function(a){return uUb(a);},function(a,b){cn(a,b);},function(a,b){dn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return zUb(a);},function(a,b){jgb(a,b);},function(a,b){kgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return AUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return CUb(a);},function(a,b){chb(a,b);},function(a,b){dhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return BUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return EUb(a);},function(a,b){khb(a,b);},function(a,b){lhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return DUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return aVb(a);},function(a,b){shb(a,b);},function(a,b){thb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return FUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn cVb(a);},function(a,b){zhb(a,b);},function(a,b){Ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return bVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return eVb(a);},function(a,b){bib(a,b);},function(a,b){cib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return dVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return gVb(a);},function(a,b){jib(a,b);},function(a,b){kib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return fVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return iVb(a);},function(a,b){rib(a,b);},function(a,b){sib(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn hVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return kVb(a);},function(a,b){zib(a,b);},function(a,b){Aib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return jVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return mVb(a);},function(a,b){Fib(a,b);},function(a,b){ajb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return lVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return oVb(a);},function(a,b){hjb(a,b);},function(a,b){ijb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return nVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return qVb(a);},function(a,b){tjb(a,b);},function(a,b){ujb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return pVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return rVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return sVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return tVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return uVb(a);},function(a,b){Cjb(a,b);},function(a,b){Djb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return wVb(a);},function(a,b){ekb(a,b);},function(a,b!
 ){fkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return vVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return xVb(a);},function(a,b){zkb(a,b);},function(a,b){Akb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return zVb(a);},function(a,b){clb(a,b);},function(a,b){dlb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return yVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return BVb(a);},function(a,b){CKb(a,b);},function(a,b){DKb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return AVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return CVb(a);},function(a,b){dLb(a,b);},function(a,b){fLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return DVb(a);},function(a,b){pLb(a,b);},function(a,b){qLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return FVb(a);},function(a,b){vLb(a,b);},function(a,b){wLb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return EVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return aWb(a);},function(a,b){vWb(a,b);},function(a,b){wWb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return bWb(a);},function(a,b){BWb(a,b);},function(a,b){CWb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return cWb(a);},function(a,b){cYb(a,b);},function(a,b){dYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return eWb(a);},function(a,b){iYb(a,b);},function(a,b){jYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn dWb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return fWb(a);},function(a,b){oYb(a,b);},function(a,b){pYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return gWb(a);},function(a,b){uYb(a,b);},function(a,b){vYb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return iWb(a);},function(a,b){AYb(a,b);},function(a,b){BYb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return hWb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return jWb(a);},function(a,b){bZb(a,b);},function(a,b){cZb(a,b);}]};}
-function nUb(){lUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
-function oUb(b){lUb();var a;a=b.yd();return yb('[B',[620],[(-1)],[a],0);}
-function pUb(a){lUb();return al(new Fk());}
-function qUb(a){lUb();return new ll();}
-function rUb(a){lUb();return FX(new DX());}
-function sUb(a){lUb();return C0(new a0());}
-function tUb(a){lUb();return w1(new v1());}
-function uUb(a){lUb();return j2(new i2());}
-function vUb(a){lUb();return new pD();}
-function wUb(a){lUb();return new eI();}
-function xUb(a){lUb();return new gI();}
-function yUb(b){lUb();var a;a=b.yd();return yb('[Ljava.lang.String;',[607],[1],[a],null);}
-function zUb(a){lUb();return Afb(new yfb());}
-function AUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[624],[24],[a],null);}
-function BUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[617],[18],[a],null);}
-function CUb(a){lUb();return new Dgb();}
-function DUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[625],[25],[a],null);}
-function EUb(a){lUb();return fhb(new ehb());}
-function FUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[626],[26],[a],null);}
-function aVb(a){lUb();return nhb(new mhb());}
-function bVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[627],[27],[a],null);}
-function cVb(a){lUb();return new uhb();}
-function dVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[628],[28],[a],null);}
-function eVb(a){lUb();return Chb(new Bhb());}
-function fVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[629],[29],[a],null);}
-function gVb(a){lUb();return eib(new dib());}
-function hVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[630],[30],[a],null);}
-function iVb(a){lUb();return new lib();}
-function jVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[631],[31],[a],null);}
-function kVb(a){lUb();return new tib();}
-function lVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[614],[15],[a],null);}
-function mVb(a){lUb();return new Bib();}
-function nVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[613],[14],[a],null);}
-function oVb(a){lUb();return new bjb();}
-function pVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[615],[16],[a],null);}
-function qVb(a){lUb();return new kjb();}
-function rVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[616],[17],[a],null);}
-function sVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[23],[a],null);}
-function tVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[22],[a],null);}
-function uVb(a){lUb();return new yjb();}
-function vVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[21],[a],null);}
-function wVb(a){lUb();return new Fjb();}
-function xVb(a){lUb();return jkb(new hkb());}
-function yVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[632],[32],[a],null);}
-function zVb(a){lUb();return new Bkb();}
-function AVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[608],[10],[a],null);}
-function BVb(a){lUb();return new yKb();}
-function CVb(a){lUb();return new FKb();}
-function DVb(a){lUb();return jLb(new hLb());}
-function EVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[618],[19],[a],null);}
-function FVb(a){lUb();return new rLb();}
-function aWb(a){lUb();return new rWb();}
-function bWb(a){lUb();return new xWb();}
-function cWb(a){lUb();return new EXb();}
-function dWb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[609],[11],[a],null);}
-function eWb(a){lUb();return new eYb();}
-function fWb(a){lUb();return new kYb();}
-function gWb(a){lUb();return new qYb();}
-function hWb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[612],[13],[a],null);}
-function iWb(a){lUb();return new wYb();}
-function jWb(a){lUb();return new DYb();}
-function kWb(c,a,d){var b=nWb[d];if(!b){oWb(d);}b[1](c,a);}
-function lWb(b){var a=qWb[b];return a==null?b:a;}
-function mWb(b,c){var a=nWb[c];if(!a){oWb(c);}return a[0](b);}
-function oWb(a){lUb();throw vl(new ul(),a);}
-function pWb(c,a,d){var b=nWb[d];if(!b){oWb(d);}b[2](c,a);}
-function jUb(){}
-_=jUb.prototype=new xT();_.gb=kWb;_.Eb=lWb;_.kc=mWb;_.fe=pWb;_.tN=agc+'RepositoryService_TypeSerializer';_.tI=485;var nWb,qWb;function rWb(){}
-_=rWb.prototype=new xT();_.tN=agc+'RuleAsset';_.tI=486;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function vWb(b,a){a.a=b.wd();a.b=Fb(b.Ad(),39);a.c=b.wd();a.d=Fb(b.Ad(),93);a.e=b.Bd();}
-function wWb(b,a){b.De(a.a);b.bf(a.b);b.De(a.c);b.bf(a.d);b.cf(a.e);}
-function xWb(){}
-_=xWb.prototype=new xT();_.tN=agc+'RuleContentText';_.tI=487;_.a=null;function BWb(b,a){a.a=b.Bd();}
-function CWb(b,a){b.cf(a.a);}
-function mXb(){mXb=v2;qXb=sXb(new rXb());}
-function jXb(a){mXb();return a;}
-function kXb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.SecurityService');tn(a,'getCurrentUser');rn(a,0);}
-function lXb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.SecurityService');tn(b,'login');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
-function nXb(h,c){var a,d,e,f,g;f=Fn(new En(),qXb);g=to(new ro(),qXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{kXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Ac(d);return;}else throw a;}e=aXb(new FWb(),h,f,c);if(!wg(h.a,Ao(g),e))c.Ac(hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oXb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),qXb);h=to(new ro(),qXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{lXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=fXb(new eXb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pXb(b,a){b.a=a;}
-function EWb(){}
-_=EWb.prototype=new xT();_.tN=agc+'SecurityService_Proxy';_.tI=488;_.a=null;var qXb;function aXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cXb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else g.a.Ac(c);}
-function dXb(a){var b;b=x;cXb(this,a);}
-function FWb(){}
-_=FWb.prototype=new xT();_.xc=dXb;_.tN=agc+'SecurityService_Proxy$1';_.tI=489;function fXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hXb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=BR(new AR(),eo(g.b));}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)q5(g.a,f);else jcb(g.a,c);}
-function iXb(a){var b;b=x;hXb(this,a);}
-function eXb(){}
-_=eXb.prototype=new xT();_.xc=iXb;_.tN=agc+'SecurityService_Proxy$2';_.tI=490;function tXb(){tXb=v2;AXb=uXb();DXb=vXb();}
-function sXb(a){tXb();return a;}
-function uXb(){tXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return wXb(a);},function(a,b){el(a,b);},function(a,b){fl(a,b);}],'java.lang.String/2004016611':[function(a){return jm(a);},function(a,b){im(a,b);},function(a,b){km(a,b);}]};}
-function vXb(){tXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
-function wXb(a){tXb();return al(new Fk());}
-function xXb(c,a,d){var b=AXb[d];if(!b){BXb(d);}b[1](c,a);}
-function yXb(b){var a=DXb[b];return a==null?b:a;}
-function zXb(b,c){var a=AXb[c];if(!a){BXb(c);}return a[0](b);}
-function BXb(a){tXb();throw vl(new ul(),a);}
-function CXb(c,a,d){var b=AXb[d];if(!b){BXb(d);}b[2](c,a);}
-function rXb(){}
-_=rXb.prototype=new xT();_.gb=xXb;_.Eb=yXb;_.kc=zXb;_.fe=CXb;_.tN=agc+'SecurityService_TypeSerializer';_.tI=491;var AXb,DXb;function EXb(){}
-_=EXb.prototype=new ll();_.tN=agc+'SessionExpiredException';_.tI=492;function cYb(b,a){pl(b,a);}
-function dYb(b,a){rl(b,a);}
-function eYb(){}
-_=eYb.prototype=new xT();_.tN=agc+'SnapshotInfo';_.tI=493;_.a=null;_.b=null;_.c=null;function iYb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
-function jYb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
-function kYb(){}
-_=kYb.prototype=new xT();_.tN=agc+'TableConfig';_.tI=494;_.a=null;_.b=0;function oYb(b,a){a.a=Fb(b.Ad(),63);a.b=b.yd();}
-function pYb(b,a){b.bf(a.a);b.Fe(a.b);}
-function qYb(){}
-_=qYb.prototype=new xT();_.tN=agc+'TableDataResult';_.tI=495;_.a=null;function uYb(b,a){a.a=Fb(b.Ad(),94);}
-function vYb(b,a){b.bf(a.a);}
-function CYb(a){return wU(a,'\\,')[0];}
-function wYb(){}
-_=wYb.prototype=new xT();_.tN=agc+'TableDataRow';_.tI=496;_.a=null;_.b=null;_.c=null;function AYb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=Fb(b.Ad(),63);}
-function BYb(b,a){b.cf(a.a);b.cf(a.b);b.bf(a.c);}
-function DYb(){}
-_=DYb.prototype=new xT();_.tN=agc+'ValidatedResponse';_.tI=497;_.a=null;_.b=null;_.c=false;_.d=null;function bZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.wd();a.d=Fb(b.Ad(),39);}
-function cZb(b,a){b.cf(a.a);b.cf(a.b);b.De(a.c);b.bf(a.d);}
-function r0b(a){a.e=rt(new lt());}
-function s0b(j,b,c,a,f,d,g){var e,h,i;r0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=jz(new nw());i=j.f.r;e=ut(j.e);h=fA(new dA());z0b(j,i);gA(h,j.g);if(!g){v0b(j,e,h);}B0b(j,f,e);mr(j,j.e);j.xe('100%');return j;}
-function u0b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
-function v0b(h,e,g){var a,b,c,d,f;d=ocb(new ncb(),'images/edit.gif');d.pe('Change status.');lB(d,nZb(new eZb(),h));gA(g,d);h.e.ve(0,0,g);bx(e,0,0,(uz(),wz),(Dz(),aA));f=wp(new qp(),'Save changes');f.pe('Check in changes.');f.x(rZb(new qZb(),h));gA(g,f);b=wp(new qp(),'Copy');b.x(vZb(new uZb(),h));gA(g,b);a=wp(new qp(),'Archive');a.x(zZb(new yZb(),h));gA(g,a);if(h.f.v==0){c=wp(new qp(),'Delete');c.x(DZb(new CZb(),h));gA(g,c);}}
-function w0b(b,c){var a;a=F1b(new A1b(),rN(c),sN(c),'Check in changes.');c2b(a,gZb(new fZb(),b,a));d2b(a);}
-function x0b(e,f){var a,b,c,d;a=dcb(new Ebb(),'images/rule_asset.gif','Copy this item');b=FK(new qK());c=rdb(new mdb());ecb(a,'New name:',b);ecb(a,'New package:',c);d=wp(new qp(),'Create copy');d.x(j0b(new i0b(),e,c,b,a));ecb(a,'',d);rE(a,dc((fab()-mE(a))/2),100);uE(a);}
-function y0b(b,a){b.c=a;}
-function z0b(b,a){nz(b.g,'Status: <b>['+a+']<\/b>');}
-function A0b(b,c){var a;a=leb(new vdb(),b.h,false);oeb(a,kZb(new jZb(),b,a));rE(a,rN(c),sN(c));uE(a);}
-function B0b(e,d,b){var a,c,f;f=fA(new dA());c=ocb(new ncb(),'images/max_min.gif');lB(c,b0b(new a0b(),e,d));gA(f,c);a=ocb(new ncb(),'images/close.gif');a.pe('Close.');lB(a,f0b(new e0b(),e));gA(f,a);e.e.ve(0,1,f);bx(b,0,1,(uz(),xz),(Dz(),aA));}
-function dZb(){}
-_=dZb.prototype=new kr();_.tN=bgc+'ActionToolbar';_.tI=498;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function nZb(b,a){b.a=a;return b;}
-function pZb(a){A0b(this.a,a);}
-function eZb(){}
-_=eZb.prototype=new xT();_.wc=pZb;_.tN=bgc+'ActionToolbar$1';_.tI=499;function gZb(b,a,c){b.a=a;b.b=c;return b;}
-function iZb(){this.a.f.b=b2b(this.b);h9b(this.a.b);}
-function fZb(){}
-_=fZb.prototype=new xT();_.nb=iZb;_.tN=bgc+'ActionToolbar$10';_.tI=500;function kZb(b,a,c){b.a=a;b.b=c;return b;}
-function mZb(){z0b(this.a,this.b.c);}
-function jZb(){}
-_=jZb.prototype=new xT();_.nb=mZb;_.tN=bgc+'ActionToolbar$11';_.tI=501;function rZb(b,a){b.a=a;return b;}
-function tZb(a){w0b(this.a,a);}
-function qZb(){}
-_=qZb.prototype=new xT();_.wc=tZb;_.tN=bgc+'ActionToolbar$2';_.tI=502;function vZb(b,a){b.a=a;return b;}
-function xZb(a){x0b(this.a,a);}
-function uZb(){}
-_=uZb.prototype=new xT();_.wc=xZb;_.tN=bgc+'ActionToolbar$3';_.tI=503;function zZb(b,a){b.a=a;return b;}
-function BZb(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+tZ(lZ(new kZ()));m9b(this.a.a);}}
-function yZb(){}
-_=yZb.prototype=new xT();_.wc=BZb;_.tN=bgc+'ActionToolbar$4';_.tI=504;function DZb(b,a){b.a=a;return b;}
-function FZb(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){w9b(this.a.d);}}
-function CZb(){}
-_=CZb.prototype=new xT();_.wc=FZb;_.tN=bgc+'ActionToolbar$5';_.tI=505;function b0b(b,a,c){b.a=c;return b;}
-function d0b(a){r9b(this.a);}
-function a0b(){}
-_=a0b.prototype=new xT();_.wc=d0b;_.tN=bgc+'ActionToolbar$6';_.tI=506;function f0b(b,a){b.a=a;return b;}
-function h0b(a){a$b(this.a.c);}
-function e0b(){}
-_=e0b.prototype=new xT();_.wc=h0b;_.tN=bgc+'ActionToolbar$7';_.tI=507;function j0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
-function l0b(a){kTb(ELb(),this.a.h,tdb(this.d),xK(this.c),n0b(new m0b(),this,this.c,this.d,this.b));}
-function i0b(){}
-_=i0b.prototype=new xT();_.wc=l0b;_.tN=bgc+'ActionToolbar$8';_.tI=508;function n0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
-function p0b(b,a){u0b(b.a.a,xK(b.c),tdb(b.d));b.b.ic();}
-function q0b(a){p0b(this,a);}
-function m0b(){}
-_=m0b.prototype=new hcb();_.md=q0b;_.tN=bgc+'ActionToolbar$9';_.tI=509;function r1b(a){a.b=kab(new iab());}
-function s1b(c,a,b){r1b(c);c.a=a;c.c=rt(new lt());x1b(c,c.c);AN(c.c,'rule-List');nab(c.b,0,0,c.c);if(!b){v1b(c);}mr(c,c.b);return c;}
-function t1b(b,a){kLb(b.a,a);z1b(b);}
-function v1b(c){var a,b;a=nO(new lO());b=ocb(new ncb(),'images/new_item.gif');b.pe('Add a new category.');lB(b,g1b(new f1b(),c));oO(a,b);nab(c.b,0,1,a);}
-function w1b(b){var a;a=p1b(new n1b(),b);rE(a,rN(b),sN(b));uE(a);}
-function x1b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;Ey(d,b,0,e.a.a[b]);a=ocb(new ncb(),'images/trash.gif');a.pe('Remove this category');lB(a,k1b(new j1b(),e,c));d.ve(b,1,a);}}
-function y1b(b,a){mLb(b.a,a);dab(b);z1b(b);}
-function z1b(a){a.c=rt(new lt());AN(a.c,'rule-List');nab(a.b,0,0,a.c);x1b(a,a.c);dab(a);}
-function C0b(){}
-_=C0b.prototype=new bab();_.tN=bgc+'AssetCategoryEditor';_.tI=510;_.a=null;_.c=null;function E0b(b,a){b.a=a;return b;}
-function a1b(a){this.a.b=a;}
-function D0b(){}
-_=D0b.prototype=new xT();_.ee=a1b;_.tN=bgc+'AssetCategoryEditor$1';_.tI=511;function c1b(b,a){b.a=a;return b;}
-function e1b(a){if(this.a.b!==null&& !qU('',this.a.b)){t1b(this.a.d,this.a.b);}this.a.ic();}
-function b1b(){}
-_=b1b.prototype=new xT();_.wc=e1b;_.tN=bgc+'AssetCategoryEditor$2';_.tI=512;function g1b(b,a){b.a=a;return b;}
-function i1b(a){w1b(this.a);}
-function f1b(){}
-_=f1b.prototype=new xT();_.wc=i1b;_.tN=bgc+'AssetCategoryEditor$3';_.tI=513;function k1b(b,a,c){b.a=a;b.b=c;return b;}
-function m1b(a){y1b(this.a,this.b);}
-function j1b(){}
-_=j1b.prototype=new xT();_.wc=m1b;_.tN=bgc+'AssetCategoryEditor$4';_.tI=514;function q1b(){q1b=v2;kE();}
-function o1b(a){a.a=wp(new qp(),'OK');}
-function p1b(b,a){var c;q1b();b.d=a;hE(b,true);o1b(b);c=nO(new lO());b.c=v$(new e$(),E0b(new D0b(),b));AN(b,'ks-popups-Popup');oO(c,b.c);oO(c,b.a);cH(b,c);b.a.x(c1b(new b1b(),b));return b;}
-function n1b(){}
-_=n1b.prototype=new fE();_.tN=bgc+'AssetCategoryEditor$CategorySelector';_.tI=515;_.b=null;_.c=null;function F1b(c,a,d,b){c.b=dcb(new Ebb(),'images/checkin.gif',b);c.a=kK(new jK());c.a.xe('100%');c.c=wp(new qp(),'Save');ecb(c.b,'Comment',c.a);ecb(c.b,'',c.c);AN(c.b,'ks-popups-Popup');rE(c.b,a,d);return c;}
-function b2b(a){return xK(a.a);}
-function c2b(b,a){b.c.x(C1b(new B1b(),b,a));}
-function d2b(a){rE(a.b,dc((fab()-mE(a.b))/2),100);uE(a.b);}
-function A1b(){}
-_=A1b.prototype=new xT();_.tN=bgc+'CheckinPopup';_.tI=516;_.a=null;_.b=null;_.c=null;function C1b(b,a,c){b.a=a;b.b=c;return b;}
-function E1b(a){this.b.nb();this.a.b.ic();}
-function B1b(){}
-_=B1b.prototype=new xT();_.wc=E1b;_.tN=bgc+'CheckinPopup$1';_.tI=517;function A2b(){A2b=v2;kE();}
-function y2b(g,f,e){var a,b,c,d;A2b();hE(g,true);g.d=f;g.b=FK(new qK());g.b.xe('100%');b='<enter text to filter list>';BK(g.b,'<enter text to filter list>');mu(g.b,g2b(new f2b(),g));uK(g.b,l2b(new k2b(),g,e));g.b.le(true);d=nO(new lO());oO(d,g.b);g.c=sC(new kC());cD(g.c,5);C2b(g,x4b(g.d,''));oO(d,g.c);c=wp(new qp(),'ok');c.x(r2b(new q2b(),g,e));a=wp(new qp(),'cancel');a.x(v2b(new u2b(),g));g.a=fA(new dA());gA(g.a,c);gA(g.a,a);oO(d,g.a);cH(g,d);AN(g,'ks-popups-Popup');return g;}
-function z2b(b,a){q3b(a,B2b(b));b.ic();}
-function B2b(a){return BC(a.c,CC(a.c));}
-function C2b(c,a){var b;yC(c.c);for(b=0;b<a.b;b++){vC(c.c,Fb(gY(a,b),14).a);}}
-function e2b(){}
-_=e2b.prototype=new fE();_.tN=bgc+'ChoiceList';_.tI=518;_.a=null;_.b=null;_.c=null;_.d=null;function g2b(b,a){b.a=a;return b;}
-function i2b(a){BK(this.a.b,'');}
-function j2b(a){BK(this.a.b,'<enter text to filter list>');}
-function f2b(){}
-_=f2b.prototype=new xT();_.Bc=i2b;_.dd=j2b;_.tN=bgc+'ChoiceList$1';_.tI=519;function l2b(b,a,c){b.a=a;b.b=c;return b;}
-function n2b(a,b,c){}
-function o2b(a,b,c){}
-function p2b(a,b,c){if(b==13){z2b(this.a,this.b);}else{C2b(this.a,x4b(this.a.d,xK(this.a.b)));}}
-function k2b(){}
-_=k2b.prototype=new xT();_.Fc=n2b;_.ad=o2b;_.bd=p2b;_.tN=bgc+'ChoiceList$2';_.tI=520;function r2b(b,a,c){b.a=a;b.b=c;return b;}
-function t2b(a){z2b(this.a,this.b);}
-function q2b(){}
-_=q2b.prototype=new xT();_.wc=t2b;_.tN=bgc+'ChoiceList$3';_.tI=521;function v2b(b,a){b.a=a;return b;}
-function x2b(a){this.a.ic();}
-function u2b(){}
-_=u2b.prototype=new xT();_.wc=x2b;_.tN=bgc+'ChoiceList$4';_.tI=522;function o3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=kK(new jK());pK(i.d,10);BK(i.d,i.c.a);i.d.pe('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=uKb((sKb(),xKb),a.d.o);i.a=c.a;i.b=c.b;AN(i.d,'dsl-text-Editor');d=rt(new lt());d.ve(0,0,i.d);tK(i.d,F2b(new E2b(),i));uK(i.d,d3b(new c3b(),i));j=nO(new lO());e=ocb(new ncb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.pe('Add a new condition');lB(e,h3b(new g3b(),i));h=ocb(new ncb(),'images/new_dsl_action.gif');g='Add an action';h.pe('Add an action');lB(h,l3b(new k3b(),i));oO(j,e);oO(j,h);d.ve(0,1,j);hx(d.n,0,0,'95%');hx(d.n,0,1,'5%');d.xe('100%');d.ne('100%');mr(i,d);return i;}
-function q3b(e,b){var a,c,d;a=mK(e.d);c=AU(xK(e.d),0,a);d=AU(xK(e.d),a,uU(xK(e.d)));BK(e.d,c+b+d);e.c.a=xK(e.d);}
-function r3b(b){var a;a=AU(xK(b.d),0,mK(b.d));if(sU(a,'then')>(-1)){s3b(b,b.a);}else{s3b(b,b.b);}}
-function s3b(c,b){var a;a=y2b(new e2b(),b,c);rE(a,rN(c.d)+20,sN(c.d)+20);uE(a);}
-function D2b(){}
-_=D2b.prototype=new bab();_.tN=bgc+'DSLRuleEditor';_.tI=523;_.a=null;_.b=null;_.c=null;_.d=null;function F2b(b,a){b.a=a;return b;}
-function b3b(a){this.a.c.a=xK(this.a.d);dab(this.a);}
-function E2b(){}
-_=E2b.prototype=new xT();_.vc=b3b;_.tN=bgc+'DSLRuleEditor$1';_.tI=524;function d3b(b,a){b.a=a;return b;}
-function f3b(a,b,c){if(b==32&&c==2){r3b(this.a);}if(b==9){q3b(this.a,'\t');yK(this.a.d,mK(this.a.d)+1);vK(this.a.d);}}
-function c3b(){}
-_=c3b.prototype=new sB();_.Fc=f3b;_.tN=bgc+'DSLRuleEditor$2';_.tI=525;function h3b(b,a){b.a=a;return b;}
-function j3b(a){s3b(this.a,this.a.b);}
-function g3b(){}
-_=g3b.prototype=new xT();_.wc=j3b;_.tN=bgc+'DSLRuleEditor$3';_.tI=526;function l3b(b,a){b.a=a;return b;}
-function n3b(a){s3b(this.a,this.a.a);}
-function k3b(){}
-_=k3b.prototype=new xT();_.wc=n3b;_.tN=bgc+'DSLRuleEditor$4';_.tI=527;function C3b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=kK(new jK());pK(b.c,10);BK(b.c,b.b.a);AN(b.c,'default-text-Area');tK(b.c,v3b(new u3b(),b));uK(b.c,z3b(new y3b(),b));mr(b,b.c);return b;}
-function E3b(e,b){var a,c,d;a=mK(e.c);c=AU(xK(e.c),0,a);d=AU(xK(e.c),a,uU(xK(e.c)));BK(e.c,c+b+d);e.b.a=xK(e.c);}
-function t3b(){}
-_=t3b.prototype=new bab();_.tN=bgc+'DefaultRuleContentWidget';_.tI=528;_.a=null;_.b=null;_.c=null;function v3b(b,a){b.a=a;return b;}
-function x3b(a){this.a.b.a=xK(this.a.c);dab(this.a);}
-function u3b(){}
-_=u3b.prototype=new xT();_.vc=x3b;_.tN=bgc+'DefaultRuleContentWidget$1';_.tI=529;function z3b(b,a){b.a=a;return b;}
-function B3b(a,b,c){if(b==9){E3b(this.a,'\t');yK(this.a.c,mK(this.a.c)+1);vK(this.a.c);}}
-function y3b(){}
-_=y3b.prototype=new sB();_.Fc=B3b;_.tN=bgc+'DefaultRuleContentWidget$2';_.tI=530;function o4b(){o4b=v2;p4b=s4b();}
-function q4b(a){o4b();var b;b=Fb(c1(p4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
-function r4b(a,b){o4b();if(qU(a.d.k,'brl')){return p8b(new C7b(),fwb(new aub(),a),a);}else if(qU(a.d.k,'dslr')){return p8b(new C7b(),o3b(new D2b(),a),a);}else if(qU(a.d.k,'jar')){return ayb(new Fxb(),a,b);}else if(qU(a.d.k,'xls')){return p8b(new C7b(),kfb(new jfb(),a,b),a);}else if(qU(a.d.k,'rf')){return y7b(new x7b(),a,b);}else if(qU(a.d.k,'drl')){return p8b(new C7b(),C3b(new t3b(),a),a);}else if(qU(a.d.k,'enumeration')){return p8b(new C7b(),C3b(new t3b(),a),a);}else{return C3b(new t3b(),a);}}
-function s4b(){o4b();var a;a=C0(new a0());d1(a,'drl','technical_rule_assets.gif');d1(a,'dsl','dsl.gif');d1(a,'function','function_assets.gif');d1(a,'jar','model_asset.gif');d1(a,'xls','spreadsheet_small.gif');d1(a,'brl','business_rule.gif');d1(a,'dslr','business_rule.gif');d1(a,'rf','ruleflow_small.gif');return a;}
-function t4b(d,f,g,e,a){o4b();var b,c,h;h=p$b(new x8b(),a,e);b=a.d.n;if(uU(b)>10){b=AU(b,0,7)+'...';}c=q4b(a.d.k);zJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(FY(),aZ)){d1(d,g,h);}y$b(h,k4b(new j4b(),f,h,d,g));FJ(f,BJ(f,h));}
-function u4b(b,d,e,c){o4b();var a;if(F0(b,e)){if(BJ(d,Fb(c1(b,e),20))==(-1)){a=ac(CJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{FJ(d,BJ(d,Fb(c1(b,e),20)));}edb();return;}BTb(ELb(),e,b4b(new a4b(),b,d,e,c));}
-var p4b;function b4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
-function d4b(c){var a,b;a=Fb(c,97);b=(sKb(),xKb);tKb(b,a.d.o,f4b(new e4b(),this,this.a,this.c,this.d,this.b,a));}
-function a4b(){}
-_=a4b.prototype=new hcb();_.md=d4b;_.tN=bgc+'EditorLauncher$1';_.tI=531;function f4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
-function h4b(a){t4b(a.b,a.d,a.e,a.c,a.a);}
-function i4b(){h4b(this);}
-function e4b(){}
-_=e4b.prototype=new xT();_.nb=i4b;_.tN=bgc+'EditorLauncher$2';_.tI=532;function k4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
-function m4b(a){EJ(a.b,BJ(a.b,a.d));FJ(a.b,0);if(a.a!==(FY(),aZ)){e1(a.a,a.c);}}
-function n4b(){m4b(this);}
-function j4b(){}
-_=j4b.prototype=new xT();_.nb=n4b;_.tN=bgc+'EditorLauncher$3';_.tI=533;function x4b(e,a){var b,c,d;b=FX(new DX());for(c=0;c<e.a;c++){d=e[c];if(qU(a,'')||yU(d.a,a)){bY(b,d);}}return b;}
-function m6b(e,a,c,f,d){var b;tbb(e);AN(e,'metadata-Widget');if(!c){b=pcb(new ncb(),'images/edit.gif','Rename this asset');lB(b,d5b(new z4b(),e));xbb(e,'images/meta_data.png',a.n,b);}else{wbb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;r6b(e,a);return e;}
-function n6b(a){a.b=s1b(new C0b(),a.a,a.c);return a.b;}
-function p6b(d,a,e){var b,c;if(!d.c){b=FK(new qK());b.pe(e);BK(b,a.bc());c=a5b(new F4b(),d,a,b);tK(b,c);return b;}else{return cC(new aC(),a.bc());}}
-function q6b(a){if(a.a.v==0){return kz(new nw(),'<i>Not checked in yet<\/i>');}else{return u6b(a,dT(a.a.v));}}
-function r6b(b,a){b.a=a;vbb(b,'Categories:',n6b(b));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Modified on:',t6b(b,b.a.m));vbb(b,'by:',u6b(b,b.a.l));vbb(b,'Note:',u6b(b,b.a.b));vbb(b,'Version:',q6b(b));if(!b.c){vbb(b,'Created on:',t6b(b,b.a.d));}vbb(b,'Created by:',u6b(b,b.a.e));vbb(b,'Format:',kz(new nw(),'<b>'+b.a.k+'<\/b>'));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Package:',s6b(b,b.a.o));vbb(b,'Subject:',p6b(b,h5b(new g5b(),b),'A short description of the subject matter.'));vbb(b,'Type:',p6b(b,m5b(new l5b(),b),'This is for classification purposes.'));vbb(b,'External link:',p6b(b,r5b(new q5b(),b),'This is for relating the asset to an external system.'));vbb(b,'Source:',p6b(b,w5b(new v5b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){ybb(b,t_b(new A$b(),b.e,b.a,b.d));}}
-function s6b(d,c){var a,b;if(d.c){return u6b(d,c);}else{b=fA(new dA());AN(b,'metadata-Widget');gA(b,u6b(d,c));a=ocb(new ncb(),'images/edit.gif');lB(a,B5b(new A5b(),d,c));gA(b,a);return b;}}
-function t6b(b,a){if(a===null){return null;}else{return cC(new aC(),sZ(a));}}
-function u6b(c,b){var a;a=cC(new aC(),b);a.xe('100%');return a;}
-function v6b(f,b,e){var a,c,d;c=dcb(new Ebb(),'images/package_large.png','Move this item to another package');ecb(c,'Current package:',cC(new aC(),b));d=rdb(new mdb());ecb(c,'New package:',d);a=wp(new qp(),'Change package');ecb(c,'',a);a.x(i6b(new h6b(),f,d,b,c));rE(c,rN(e.v.v),sN(e.v.v));uE(c);}
-function w6b(e,d){var a,b,c;c=dcb(new Ebb(),'images/package_large.png','Rename this item');a=FK(new qK());ecb(c,'New name',a);b=wp(new qp(),'Rename item');ecb(c,'',b);b.x(F5b(new E5b(),e,a,c));rE(c,rN(d.v.v)-18,sN(d.v.v));uE(c);}
-function x6b(){return this.b.mc()||this.j;}
-function y4b(){}
-_=y4b.prototype=new rbb();_.mc=x6b;_.tN=bgc+'MetaDataWidget';_.tI=534;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function d5b(b,a){b.a=a;return b;}
-function f5b(a){w6b(this.a,a);}
-function z4b(){}
-_=z4b.prototype=new xT();_.wc=f5b;_.tN=bgc+'MetaDataWidget$1';_.tI=535;function B4b(b,a,c){b.a=a;b.b=c;return b;}
-function D4b(b,a){dab(b.a.a);B9b(b.a.a.d);b.b.ic();}
-function E4b(a){D4b(this,a);}
-function A4b(){}
-_=A4b.prototype=new hcb();_.md=E4b;_.tN=bgc+'MetaDataWidget$10';_.tI=536;function a5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function c5b(a){dab(this.a);this.b.te(xK(this.c));}
-function F4b(){}
-_=F4b.prototype=new xT();_.vc=c5b;_.tN=bgc+'MetaDataWidget$11';_.tI=537;function h5b(b,a){b.a=a;return b;}
-function j5b(){return this.a.a.s;}
-function k5b(a){this.a.a.s=a;}
-function g5b(){}
-_=g5b.prototype=new xT();_.bc=j5b;_.te=k5b;_.tN=bgc+'MetaDataWidget$2';_.tI=538;function m5b(b,a){b.a=a;return b;}
-function o5b(){return this.a.a.u;}
-function p5b(a){this.a.a.u=a;}
-function l5b(){}
-_=l5b.prototype=new xT();_.bc=o5b;_.te=p5b;_.tN=bgc+'MetaDataWidget$3';_.tI=539;function r5b(b,a){b.a=a;return b;}
-function t5b(){return this.a.a.i;}
-function u5b(a){this.a.a.i=a;}
-function q5b(){}
-_=q5b.prototype=new xT();_.bc=t5b;_.te=u5b;_.tN=bgc+'MetaDataWidget$4';_.tI=540;function w5b(b,a){b.a=a;return b;}
-function y5b(){return this.a.a.j;}
-function z5b(a){this.a.a.j=a;}
-function v5b(){}
-_=v5b.prototype=new xT();_.bc=y5b;_.te=z5b;_.tN=bgc+'MetaDataWidget$5';_.tI=541;function B5b(b,a,c){b.a=a;b.b=c;return b;}
-function D5b(a){v6b(this.a,this.b,a);}
-function A5b(){}
-_=A5b.prototype=new xT();_.wc=D5b;_.tN=bgc+'MetaDataWidget$6';_.tI=542;function F5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function b6b(a){dUb(ELb(),this.a.e,xK(this.b),d6b(new c6b(),this,this.c));}
-function E5b(){}
-_=E5b.prototype=new xT();_.wc=b6b;_.tN=bgc+'MetaDataWidget$7';_.tI=543;function d6b(b,a,c){b.a=a;b.b=c;return b;}
-function f6b(b,a){B9b(b.a.a.d);zh('Item has been renamed');b.b.ic();}
-function g6b(a){f6b(this,a);}
-function c6b(){}
-_=c6b.prototype=new hcb();_.md=g6b;_.tN=bgc+'MetaDataWidget$8';_.tI=544;function i6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function k6b(a){if(qU(tdb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}gTb(ELb(),this.a.e,tdb(this.d),'Moved from : '+this.b,B4b(new A4b(),this,this.c));}
-function h6b(){}
-_=h6b.prototype=new xT();_.wc=k6b;_.tN=bgc+'MetaDataWidget$9';_.tI=545;function j7b(){j7b=v2;gcb();}
-function g7b(a){a.f=FK(new qK());a.b=kK(new jK());a.d=l7b(a);a.g=rdb(new mdb());}
-function h7b(e,a,d,b,f){var c;j7b();dcb(e,'images/new_wiz.gif',f);g7b(e);e.h=d;e.c=b;e.a=a;ecb(e,'Name:',e.f);if(d){ecb(e,'Initial category:',k7b(e));}if(b===null){ecb(e,'Type (format) of rule:',e.d);}ecb(e,'Package:',e.g);pK(e.b,4);e.b.xe('100%');ecb(e,'Initial description:',e.b);c=wp(new qp(),'OK');c.x(A6b(new z6b(),e));ecb(e,'',c);AN(e,'ks-popups-Popup');return e;}
-function i7b(e,b,d,c,f,a){j7b();h7b(e,b,d,c,f);udb(e.g,a);return e;}
-function k7b(a){return v$(new e$(),E6b(new D6b(),a));}
-function m7b(a){if(a.c!==null)return a.c;return DC(a.d,CC(a.d));}
-function l7b(b){var a;a=sC(new kC());wC(a,'Business rule (using guided editor)','brl');wC(a,'DRL rule (technical rule - text editor)','drl');wC(a,'Business rule using a DSL (text editor)','dslr');wC(a,'Decision table (spreadsheet)','xls');bD(a,0);return a;}
-function n7b(b){var a;if(b.h&&b.e===null){Deb('You have to pick an initial category.',rN(b),sN(b));return;}else if(xK(b.f)===null||qU('',xK(b.f))){Deb('Rule must have a name',rN(b),sN(b));return;}a=c7b(new b7b(),b);idb('Please wait ...');oTb(ELb(),xK(b.f),xK(b.b),b.e,tdb(b.g),m7b(b),a);}
-function o7b(a,b){a.a.td(b);}
-function y6b(){}
-_=y6b.prototype=new Ebb();_.tN=bgc+'NewAssetWizard';_.tI=546;_.a=null;_.c=null;_.e=null;_.h=false;function A6b(b,a){b.a=a;return b;}
-function C6b(a){n7b(this.a);}
-function z6b(){}
-_=z6b.prototype=new xT();_.wc=C6b;_.tN=bgc+'NewAssetWizard$1';_.tI=547;function E6b(b,a){b.a=a;return b;}
-function a7b(a){this.a.e=a;}
-function D6b(){}
-_=D6b.prototype=new xT();_.ee=a7b;_.tN=bgc+'NewAssetWizard$2';_.tI=548;function c7b(b,a){b.a=a;return b;}
-function e7b(b,a){var c;c=Fb(a,1);if(yU(c,'DUPLICATE')){edb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{o7b(b.a,Fb(a,1));b.a.ic();}}
-function f7b(a){e7b(this,a);}
-function b7b(){}
-_=b7b.prototype=new hcb();_.md=f7b;_.tN=bgc+'NewAssetWizard$3';_.tI=549;function u7b(b,a){b.a=kK(new jK());b.a.xe('100%');pK(b.a,10);AN(b.a,'rule-viewer-Documentation');b.a.pe('This is rule documentation. Human friendly descriptions of the business logic.');mr(b,b.a);w7b(b,a);return b;}
-function w7b(b,a){BK(b.a,a.h);tK(b.a,r7b(new q7b(),b,a));if(a.h===null||qU('',a.h)){BK(b.a,'<documentation>');}}
-function p7b(){}
-_=p7b.prototype=new bab();_.tN=bgc+'RuleDocumentWidget';_.tI=550;_.a=null;function r7b(b,a,c){b.a=a;b.b=c;return b;}
-function t7b(a){this.b.h=xK(this.a.a);dab(this.a);}
-function q7b(){}
-_=q7b.prototype=new xT();_.vc=t7b;_.tN=bgc+'RuleDocumentWidget$1';_.tI=551;function y7b(b,a,c){ixb(b,a,c);jxb(b,kz(new nw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
-function A7b(){return 'images/ruleflow_large.png';}
-function B7b(){return 'decision-Table-upload';}
-function x7b(){}
-_=x7b.prototype=new Awb();_.sb=A7b;_.Bb=B7b;_.tN=bgc+'RuleFlowUploadWidget';_.tI=552;function p8b(c,b,a){c.a=a;c.b=kab(new iab());AN(c.b,'asset-editor-Layout');nab(c.b,0,0,b);if(!a.c)nab(c.b,1,0,v8b(c));bx(c.b.n,1,0,(uz(),xz),(Dz(),aA));c.b.xe('100%');c.b.ne('100%');mr(c,c.b);return c;}
-function r8b(a){idb('Validating item, please wait...');dTb(ELb(),a.a,g8b(new f8b(),a));}
-function s8b(a){idb('Calculating source...');cTb(ELb(),a.a,l8b(new k8b(),a));}
-function t8b(h,e){var a,b,c,d,f,g;c=dcb(new Ebb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){fcb(c,kz(new nw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=rt(new lt());AN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ve(f,0,kB(new uA(),'images/error.gif'));if(qU(d.a,'package')){Ey(a,f,1,'[package configuration problem] '+d.c);}else{Ey(a,f,1,d.c);}}g=uG(new sG(),a);g.xe('100%');fcb(c,g);}rE(c,100,100);uE(c);edb();}
-function u8b(b,a){hBb(a,b.a.d.n);edb();}
-function v8b(b){var a,c,d;a=fA(new dA());d=wp(new qp(),'View source');gA(a,d);c=wp(new qp(),'Validate');gA(a,c);d.x(E7b(new D7b(),b));c.x(c8b(new b8b(),b));AN(a,'asset-validator-Buttons');return a;}
-function w8b(){return mab(this.b);}
-function C7b(){}
-_=C7b.prototype=new bab();_.mc=w8b;_.tN=bgc+'RuleValidatorWrapper';_.tI=553;_.a=null;_.b=null;function E7b(b,a){b.a=a;return b;}
-function a8b(a){s8b(this.a);}
-function D7b(){}
-_=D7b.prototype=new xT();_.wc=a8b;_.tN=bgc+'RuleValidatorWrapper$1';_.tI=554;function c8b(b,a){b.a=a;return b;}
-function e8b(a){r8b(this.a);}
-function b8b(){}
-_=b8b.prototype=new xT();_.wc=e8b;_.tN=bgc+'RuleValidatorWrapper$2';_.tI=555;function g8b(b,a){b.a=a;return b;}
-function i8b(c,a){var b;b=Fb(a,88);t8b(c.a,b);}
-function j8b(a){i8b(this,a);}
-function f8b(){}
-_=f8b.prototype=new hcb();_.md=j8b;_.tN=bgc+'RuleValidatorWrapper$3';_.tI=556;function l8b(b,a){b.a=a;return b;}
-function n8b(c,a){var b;b=Fb(a,1);u8b(c.a,b);}
-function o8b(a){n8b(this,a);}
-function k8b(){}
-_=k8b.prototype=new hcb();_.md=o8b;_.tN=bgc+'RuleValidatorWrapper$4';_.tI=557;function p$b(c,a,b){c.a=a;c.g=b;c.e=kab(new iab());v$b(c);mr(c,c.e);edb();return c;}
-function r$b(a){a.a.a=true;s$b(a);m4b(a.b);}
-function s$b(a){hy(a.e);idb('Saving, please wait...');iTb(ELb(),a.a,i$b(new h$b(),a));}
-function t$b(e){var a,b,c,d;d=dcb(new Ebb(),'images/warning-large.png','WARNING: Un-committed changes.');b=wp(new qp(),'Discard');a=wp(new qp(),'Cancel');c=fA(new dA());gA(c,b);gA(c,a);fcb(d,kz(new nw(),'Are you sure you want to discard changes?'));fcb(d,c);b.x(E8b(new D8b(),e,d));a.x(c9b(new b9b(),e,d));AN(d,'warning-Popup');rE(d,dc((fab()-mE(d))/2),100);uE(d);}
-function u$b(a){sTb(ELb(),a.a.e,a.a.d.o,d$b(new c$b(),a));}
-function v$b(b){var a;hy(b.e);a=ut(b.e);b.h=s0b(new dZb(),b.a,f9b(new y8b(),b),k9b(new j9b(),b),p9b(new o9b(),b),u9b(new t9b(),b),b.g);nab(b.e,0,0,b.h);bx(a,0,0,(uz(),xz),(Dz(),aA));b.f=m6b(new y4b(),b.a.d,b.g,b.a.e,z9b(new y9b(),b));nab(b.e,0,1,b.f);qt(a,0,1,3);fx(a,0,1,(Dz(),aA));hx(a,0,1,'30%');b.d=r4b(b.a,b);y0b(b.h,E9b(new D9b(),b));nab(b.e,1,0,b.d);fx(a,1,0,(Dz(),aA));b.c=u7b(new p7b(),b.a.d);nab(b.e,2,0,b.c);fx(a,2,0,(Dz(),aA));}
-function w$b(a){if(f_(a.a.d.k)){idb('Refreshing content assistance...');wKb((sKb(),xKb),a.a.d.o,new m$b());}}
-function x$b(a){BTb(ELb(),a.a.e,A8b(new z8b(),a));}
-function y$b(b,a){b.b=a;}
-function z$b(a){var b;b= !Fw(ut(a.e),2,0);gx(ut(a.e),0,1,b);gx(ut(a.e),2,0,b);}
-function x8b(){}
-_=x8b.prototype=new kr();_.tN=bgc+'RuleViewer';_.tI=558;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function f9b(b,a){b.a=a;return b;}
-function h9b(a){s$b(a.a);}
-function i9b(){h9b(this);}
-function y8b(){}
-_=y8b.prototype=new xT();_.nb=i9b;_.tN=bgc+'RuleViewer$1';_.tI=559;function A8b(b,a){b.a=a;return b;}
-function C8b(a){this.a.a=Fb(a,97);v$b(this.a);edb();}
-function z8b(){}
-_=z8b.prototype=new hcb();_.md=C8b;_.tN=bgc+'RuleViewer$10';_.tI=560;function E8b(b,a,c){b.a=a;b.b=c;return b;}
-function a9b(a){m4b(this.a.b);this.b.ic();}
-function D8b(){}
-_=D8b.prototype=new xT();_.wc=a9b;_.tN=bgc+'RuleViewer$11';_.tI=561;function c9b(b,a,c){b.a=c;return b;}
-function e9b(a){this.a.ic();}
-function b9b(){}
-_=b9b.prototype=new xT();_.wc=e9b;_.tN=bgc+'RuleViewer$12';_.tI=562;function k9b(b,a){b.a=a;return b;}
-function m9b(a){r$b(a.a);}
-function n9b(){m9b(this);}
-function j9b(){}
-_=j9b.prototype=new xT();_.nb=n9b;_.tN=bgc+'RuleViewer$2';_.tI=563;function p9b(b,a){b.a=a;return b;}
-function r9b(a){z$b(a.a);}
-function s9b(){r9b(this);}
-function o9b(){}
-_=o9b.prototype=new xT();_.nb=s9b;_.tN=bgc+'RuleViewer$3';_.tI=564;function u9b(b,a){b.a=a;return b;}
-function w9b(a){u$b(a.a);}
-function x9b(){w9b(this);}
-function t9b(){}
-_=t9b.prototype=new xT();_.nb=x9b;_.tN=bgc+'RuleViewer$4';_.tI=565;function z9b(b,a){b.a=a;return b;}
-function B9b(a){x$b(a.a);}
-function C9b(){B9b(this);}
-function y9b(){}
-_=y9b.prototype=new xT();_.nb=C9b;_.tN=bgc+'RuleViewer$5';_.tI=566;function E9b(b,a){b.a=a;return b;}
-function a$b(a){if(mab(a.a.e)){t$b(a.a);}else{m4b(a.a.b);}}
-function b$b(){a$b(this);}
-function D9b(){}
-_=D9b.prototype=new xT();_.nb=b$b;_.tN=bgc+'RuleViewer$6';_.tI=567;function d$b(b,a){b.a=a;return b;}
-function f$b(b,a){m4b(b.a.b);}
-function g$b(a){f$b(this,a);}
-function c$b(){}
-_=c$b.prototype=new hcb();_.md=g$b;_.tN=bgc+'RuleViewer$7';_.tI=568;function i$b(b,a){b.a=a;return b;}
-function k$b(b,a){var c;w$b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){eab(Fb(b.a.d,98));}eab(b.a.f);eab(b.a.c);if(c===null){jbb('Failed to check in the item. Please contact your system administrator.');return;}x$b(b.a);}
-function l$b(a){k$b(this,a);}
-function h$b(){}
-_=h$b.prototype=new hcb();_.md=l$b;_.tN=bgc+'RuleViewer$8';_.tI=569;function o$b(){edb();}
-function m$b(){}
-_=m$b.prototype=new xT();_.nb=o$b;_.tN=bgc+'RuleViewer$9';_.tI=570;function t_b(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=fA(new dA());d.a=rt(new lt());d.a.ve(0,0,cC(new aC(),'Version history'));ex(d.a.n,0,0,'metadata-Widget');b=ut(d.a);dx(b,0,0,(uz(),wz));d.c=ocb(new ncb(),'images/refresh.gif');lB(d.c,C$b(new B$b(),d));d.a.ve(0,1,d.c);dx(b,0,1,(uz(),xz));AN(f,'version-browser-Border');gA(f,d.a);d.a.xe('100%');f.xe('100%');mr(d,f);return d;}
-function u_b(a){y_b(a);fg(a_b(new F$b(),a));}
-function w_b(b,a){return n_b(new m_b(),b,a);}
-function x_b(a){yTb(ELb(),a.e,e_b(new d_b(),a));}
-function y_b(a){pB(a.c,'images/searching.gif');}
-function z_b(a){pB(a.c,'images/refresh.gif');}
-function A_b(b,a){var c;c=rac(new B_b(),b.b,a,b.e,b.d);rE(c,100,100);uE(c);}
-function A$b(){}
-_=A$b.prototype=new kr();_.tN=bgc+'VersionBrowser';_.tI=571;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function C$b(b,a){b.a=a;return b;}
-function E$b(a){u_b(this.a);}
-function B$b(){}
-_=B$b.prototype=new xT();_.wc=E$b;_.tN=bgc+'VersionBrowser$1';_.tI=572;function a_b(b,a){b.a=a;return b;}
-function c_b(){x_b(this.a);}
-function F$b(){}
-_=F$b.prototype=new xT();_.nb=c_b;_.tN=bgc+'VersionBrowser$2';_.tI=573;function e_b(b,a){b.a=a;return b;}
-function g_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ve(1,0,cC(new aC(),'No history.'));z_b(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',607,1,['Version number','Comment','Date Modified','Status']);d=w_b(i.a,f);h=efc(d,c,0,false);h.xe('100%');i.a.a.ve(1,0,h);b=ut(i.a.a);pt(b,1,0,2);e=wp(new qp(),'View selected version');e.x(j_b(new i_b(),i,h));i.a.a.ve(2,1,e);pt(b,2,1,3);dx(b,2,1,(uz(),vz));z_b(i.a);}
-function h_b(a){g_b(this,a);}
-function d_b(){}
-_=d_b.prototype=new hcb();_.md=h_b;_.tN=bgc+'VersionBrowser$3';_.tI=574;function j_b(b,a,c){b.a=a;b.b=c;return b;}
-function l_b(a){if(this.b.f==0)return;A_b(this.a.a,xec(this.b));}
-function i_b(){}
-_=i_b.prototype=new xT();_.wc=l_b;_.tN=bgc+'VersionBrowser$4';_.tI=575;function n_b(b,a,c){b.a=c;return b;}
-function p_b(){return this.a.a;}
-function q_b(a){return this.a[a].b;}
-function r_b(b,a){return this.a[b].c[a];}
-function s_b(b,a){return null;}
-function m_b(){}
-_=m_b.prototype=new xT();_.xb=p_b;_.Db=q_b;_.cc=r_b;_.dc=s_b;_.tN=bgc+'VersionBrowser$5';_.tI=576;function sac(){sac=v2;Fr();}
-function rac(d,a,e,b,c){sac();Dr(d,false);d.c=e;d.a=b;d.b=c;AN(d,'version-Popup');idb('Loading version');BTb(ELb(),e,D_b(new C_b(),d,a));return d;}
-function tac(b,c){var a;a=F1b(new A1b(),rN(c)+10,sN(c)+10,'Restore this version?');c2b(a,jac(new iac(),b,a));d2b(a);}
-function B_b(){}
-_=B_b.prototype=new Ar();_.tN=bgc+'VersionViewer';_.tI=577;_.a=null;_.b=null;_.c=null;function D_b(b,a,c){b.a=a;b.b=c;return b;}
-function F_b(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;bs(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=rt(new lt());d=ut(e);f=wp(new qp(),'Restore this version');f.x(bac(new aac(),this));e.ve(0,0,f);dx(d,0,0,(uz(),wz));b=wp(new qp(),'Close');b.x(fac(new eac(),this));e.ve(0,1,b);dx(d,0,1,(uz(),xz));g=p$b(new x8b(),a,true);g.xe('100%');e.ve(1,0,g);pt(d,1,1,2);e.xe('100%');yN(e,800,300);cs(this.a,e);}
-function C_b(){}
-_=C_b.prototype=new hcb();_.md=F_b;_.tN=bgc+'VersionViewer$1';_.tI=578;function bac(b,a){b.a=a;return b;}
-function dac(a){tac(this.a.a,a);}
-function aac(){}
-_=aac.prototype=new xT();_.wc=dac;_.tN=bgc+'VersionViewer$2';_.tI=579;function fac(b,a){b.a=a;return b;}
-function hac(a){this.a.a.ic();}
-function eac(){}
-_=eac.prototype=new xT();_.wc=hac;_.tN=bgc+'VersionViewer$3';_.tI=580;function jac(b,a,c){b.a=a;b.b=c;return b;}
-function lac(){fUb(ELb(),this.a.c,this.a.a,b2b(this.b),nac(new mac(),this));}
-function iac(){}
-_=iac.prototype=new xT();_.nb=lac;_.tN=bgc+'VersionViewer$4';_.tI=581;function nac(b,a){b.a=a;return b;}
-function pac(b,a){b.a.a.ic();B9b(b.a.a.b);}
-function qac(a){pac(this,a);}
-function mac(){}
-_=mac.prototype=new hcb();_.md=qac;_.tN=bgc+'VersionViewer$5';_.tI=582;function xbc(a){a.b=(FY(),aZ);}
-function ybc(a){xbc(a);a.c=yJ(new kJ());a.c.xe('100%');a.c.ne('100%');zJ(a.c,Abc(a),"<img src='images/explore.gif'/>Explore",true);FJ(a.c,0);mr(a,a.c);return a;}
-function Abc(i){var a,b,c,d,e,f,g,h;h=rt(new lt());i.a=Bcc(new Fbc(),wac(new vac(),i),'rulelist');b=ut(h);d=v$(new e$(),Aac(new zac(),i,h));f=Fdc(new edc(),Eac(new Dac(),i));h.ve(0,1,f);bx(b,0,0,(uz(),wz),(Dz(),aA));bx(b,0,1,(uz(),wz),(Dz(),aA));hx(b,0,0,'30%');hx(b,0,1,'70%');e=wp(new qp(),'Create new rule');e.pe('Create new rule');e.x(dbc(new cbc(),i));g=ocb(new ncb(),'images/system_search_small.png');g.pe('Show the rule finder.');lB(g,hbc(new gbc(),i,h,f));a=fA(new dA());gA(a,e);gA(a,g);AN(a,'new-asset-Icons');c=nO(new lO());oO(c,a);oO(c,d);c.xe('100%');h.ve(0,0,c);return h;}
-function Bbc(c,a,b){return lbc(new kbc(),c,b,a);}
-function Cbc(b,a){b.b=a;}
-function Dbc(a,b){u4b(a.b,a.c,b,false);}
-function Ebc(c){var a,b,d;a=70;d=100;b=h7b(new y6b(),ubc(new tbc(),c),true,null,'Create a new rule');rE(b,a,d);uE(b);}
-function uac(){}
-_=uac.prototype=new kr();_.tN=cgc+'AssetBrowser';_.tI=583;_.a=null;_.c=null;function wac(b,a){b.a=a;return b;}
-function yac(a){Dbc(this.a,a);}
-function vac(){}
-_=vac.prototype=new xT();_.td=yac;_.tN=cgc+'AssetBrowser$1';_.tI=584;function Aac(b,a,c){b.a=a;b.b=c;return b;}
-function Cac(b){var a;a=Bbc(this.a,this.a.a,b);this.b.ve(0,1,this.a.a);idb('Retrieving list, please wait...');fg(a);bdc(this.a.a,a);}
-function zac(){}
-_=zac.prototype=new xT();_.ee=Cac;_.tN=cgc+'AssetBrowser$2';_.tI=585;function Eac(b,a){b.a=a;return b;}
-function abc(b,a){Dbc(b.a,a);}
-function bbc(a){abc(this,a);}
-function Dac(){}
-_=Dac.prototype=new xT();_.td=bbc;_.tN=cgc+'AssetBrowser$3';_.tI=586;function dbc(b,a){b.a=a;return b;}
-function fbc(a){Ebc(this.a);}
-function cbc(){}
-_=cbc.prototype=new xT();_.wc=fbc;_.tN=cgc+'AssetBrowser$4';_.tI=587;function hbc(b,a,d,c){b.b=d;b.a=c;return b;}
-function jbc(a){this.b.ve(0,1,this.a);}
-function gbc(){}
-_=gbc.prototype=new xT();_.wc=jbc;_.tN=cgc+'AssetBrowser$5';_.tI=588;function lbc(b,a,d,c){b.b=d;b.a=c;return b;}
-function nbc(){idb('Loading list, please wait...');CTb(ELb(),this.b,pbc(new obc(),this,this.a));}
-function kbc(){}
-_=kbc.prototype=new xT();_.nb=nbc;_.tN=cgc+'AssetBrowser$6';_.tI=589;function pbc(b,a,c){b.a=c;return b;}
-function rbc(c,a){var b;b=Fb(a,62);adc(c.a,b);edb();}
-function sbc(a){rbc(this,a);}
-function obc(){}
-_=obc.prototype=new hcb();_.md=sbc;_.tN=cgc+'AssetBrowser$7';_.tI=590;function ubc(b,a){b.a=a;return b;}
-function wbc(a){Dbc(this.a,a);}
-function tbc(){}
-_=tbc.prototype=new xT();_.td=wbc;_.tN=cgc+'AssetBrowser$8';_.tI=591;function Ccc(){Ccc=v2;cdc=ELb();}
-function Acc(a){a.c=rt(new lt());a.e=ocb(new ncb(),'images/refresh.gif');a.a=bC(new aC());}
-function Bcc(c,a,b){Ccc();Acc(c);Ecc(c);Fcc(c,b);c.e.ue(false);c.b=a;c.e.pe('Refresh current list. Will show any changes.');lB(c.e,bcc(new acc(),c));return c;}
-function Dcc(a){return CYb(xec(a.f));}
-function Ecc(c){var a,b;a=ut(c.c);c.c.xe('100%');bx(a,0,0,(uz(),wz),(Dz(),aA));b=ocb(new ncb(),'images/open_item.gif');lB(b,kcc(new jcc(),c));b.pe('Open item');c.c.ve(0,1,b);bx(a,0,1,(uz(),xz),(Dz(),aA));mr(c,c.c);}
-function Fcc(b,a){ETb(cdc,a,fcc(new ecc(),b));}
-function adc(g,a){var b,c,d,e,f;b=ut(g.c);g.c.ve(1,0,null);if(a===null||a.a.a==0){d=new ncc();g.f=efc(d,g.g.a,25,true);g.a.ue(false);}else{f=a.a;c=ucc(new tcc(),g,f);g.f=efc(c,g.g.a,25,true);e=fA(new dA());gA(e,g.e);g.a.ue(true);hC(g.a,'  '+a.a.a+' items.');gA(e,g.a);g.c.ve(0,0,e);}g.f.xe('100%');g.c.ve(1,0,g.f);pt(b,1,0,2);}
-function bdc(b,a){b.d=a;b.e.ue(true);}
-function Fbc(){}
-_=Fbc.prototype=new kr();_.tN=cgc+'AssetItemListViewer';_.tI=592;_.b=null;_.d=null;_.f=null;_.g=null;var cdc;function bcc(b,a){b.a=a;return b;}
-function dcc(a){idb('Refreshing list, please wait...');this.a.d.nb();}
-function acc(){}
-_=acc.prototype=new xT();_.wc=dcc;_.tN=cgc+'AssetItemListViewer$1';_.tI=593;function fcc(b,a){b.a=a;return b;}
-function hcc(b,a){b.a.g=Fb(a,99);adc(b.a,null);}
-function icc(a){hcc(this,a);}
-function ecc(){}
-_=ecc.prototype=new hcb();_.md=icc;_.tN=cgc+'AssetItemListViewer$2';_.tI=594;function kcc(b,a){b.a=a;return b;}
-function mcc(a){idb('Loading item, please wait ...');this.a.b.td(CYb(xec(this.a.f)));}
-function jcc(){}
-_=jcc.prototype=new xT();_.wc=mcc;_.tN=cgc+'AssetItemListViewer$3';_.tI=595;function pcc(){return 0;}
-function qcc(a){return '';}
-function rcc(b,a){return '';}
-function scc(b,a){return null;}
-function ncc(){}
-_=ncc.prototype=new xT();_.xb=pcc;_.Db=qcc;_.cc=rcc;_.dc=scc;_.tN=cgc+'AssetItemListViewer$4';_.tI=596;function ucc(b,a,c){b.a=a;b.b=c;return b;}
-function wcc(){return this.b.a;}
-function xcc(a){return this.b[a].b;}
-function ycc(b,a){return this.b[b].c[a];}
-function zcc(b,a){if(qU(this.a.g.a[a],'*')){return kB(new uA(),'images/'+q4b(this.b[b].a));}else{return null;}}
-function tcc(){}
-_=tcc.prototype=new xT();_.xb=wcc;_.Db=xcc;_.cc=ycc;_.dc=zcc;_.tN=cgc+'AssetItemListViewer$5';_.tI=597;function Fdc(d,a){var b,c;d.c=ubb(new rbb(),'images/system_search.png','');d.e=q_(new g_(),gdc(new fdc(),d));AN(d.e,'gwt-TextBox');d.b=a;c=fA(new dA());b=wp(new qp(),'Go');b.x(kdc(new jdc(),d));gA(c,d.e);gA(c,b);d.a=iq(new fq(),'Include archived items in list');AN(d.a,'small-Text');mq(d.a,false);vbb(d.c,'Find items with a name matching:',c);ybb(d.c,d.a);ybb(d.c,kz(new nw(),'<hr/>'));d.d=rt(new lt());d.d.ve(0,0,kz(new nw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));ybb(d.c,d.d);AN(d.d,'editable-Surface');uK(d.e,bec(d));AN(d.c,'quick-find');mr(d,d.c);return d;}
-function bec(a){return sdc(new rdc(),a);}
-function cec(c,a,b){FTb(ELb(),a,5,lq(c.a),odc(new ndc(),c,b));}
-function dec(f,d){var a,b,c,e;a=rt(new lt());if(d.a.a==1){abc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(qU(e.b,'MORE')){a.ve(b,0,kz(new nw(),'<i>There are more items... try narrowing the search terms..<\/i>'));pt(ut(a),b,0,3);}else{a.ve(b,0,cC(new aC(),e.c[0]));a.ve(b,1,cC(new aC(),e.c[1]));c=wp(new qp(),'Open');c.x(Cdc(new Bdc(),f,e));a.ve(b,2,c);}}a.xe('100%');f.d.ve(0,0,a);edb();}
-function eec(a){idb('Searching...');FTb(ELb(),xK(a.e),15,lq(a.a),ydc(new xdc(),a));}
-function edc(){}
-_=edc.prototype=new kr();_.tN=cgc+'QuickFindWidget';_.tI=598;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function gdc(b,a){b.a=a;return b;}
-function idc(c,b,a){cec(c.a,b,a);}
-function fdc(){}
-_=fdc.prototype=new xT();_.tN=cgc+'QuickFindWidget$1';_.tI=599;function kdc(b,a){b.a=a;return b;}
-function mdc(a){eec(this.a);}
-function jdc(){}
-_=jdc.prototype=new xT();_.wc=mdc;_.tN=cgc+'QuickFindWidget$2';_.tI=600;function odc(b,a,c){b.a=c;return b;}
-function qdc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[607],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!qU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}o_(this.a,c);}
-function ndc(){}
-_=ndc.prototype=new hcb();_.md=qdc;_.tN=cgc+'QuickFindWidget$3';_.tI=601;function sdc(b,a){b.a=a;return b;}
-function udc(a,b,c){}
-function vdc(a,b,c){}
-function wdc(a,b,c){if(b==13){eec(this.a);}}
-function rdc(){}
-_=rdc.prototype=new xT();_.Fc=udc;_.ad=vdc;_.bd=wdc;_.tN=cgc+'QuickFindWidget$4';_.tI=602;function ydc(b,a){b.a=a;return b;}
-function Adc(a){var b;b=Fb(a,62);dec(this.a,b);}
-function xdc(){}
-_=xdc.prototype=new hcb();_.md=Adc;_.tN=cgc+'QuickFindWidget$5';_.tI=603;function Cdc(b,a,c){b.a=a;b.b=c;return b;}
-function Edc(a){abc(this.a.b,this.b.b);}
-function Bdc(){}
-_=Bdc.prototype=new xT();_.wc=Edc;_.tN=cgc+'QuickFindWidget$6';_.tI=604;function hec(a){a.a=FX(new DX());}
-function iec(a){hec(a);return a;}
-function jec(b,a,c){if(a>=b.a.b){kec(b,a);}mY(b.a,a,c);}
-function kec(c,a){var b;for(b=c.a.b;b<=a;b++){bY(c.a,null);}}
-function mec(b,a){return gY(b.a,a);}
-function nec(b,a){b.b=a;}
-function oec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(mec(this,this.b),34);b=Fb(mec(d,this.b),34);return a.ab(b);}
-function gec(){}
-_=gec.prototype=new xT();_.ab=oec;_.tN=dgc+'RowData';_.tI=605;_.b=0;function qec(a){a.j=FX(new DX());a.i=FX(new DX());}
-function rec(c,b,a){aw(c,b+1,a);qec(c);dy(c,c);AN(c,hfc);return c;}
-function sec(c,b,a){if(b!=0){return;}Eec(c,a);afc(c,a);wec(c);}
-function uec(e){var a,b,c,d,f;if(e.h==cfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(gY(e.j,c),100);for(a=0;a<b.a.b;a++){f=mec(b,a);Aec(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(gY(e.j,c),100);for(a=0;a<b.a.b;a++){f=mec(b,a);Aec(e,d,a,f.tS());}}}}
-function vec(d){var a,b,c;c=0;for(b=d.i.nc();b.hc();){a=Fb(b.pc(),1);yec(d,a,c++);}}
-function wec(a){vec(a);uec(a);}
-function xec(a){return oy(a,a.f,a.e);}
-function yec(d,c,b){var a;a=cU(new bU());eU(a,c);eU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==cfc){eU(a,"'"+d.a+"' alt='Ascending' ");}else{eU(a,"'"+d.c+"' alt='Descending' ");}}else{eU(a,"'"+d.b+"'");}eU(a,'/>');Cy(d,0,b,iU(a));rx(d.p,0,ifc);}
-function zec(c,b,a){if(b%2==0){ex(c.n,b,a,gfc);}}
-function Aec(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ve(b,a,kB(new uA(),'images/'+q4b(d)));else Ey(c,b,a,d);}}
-function Bec(c,b,a){aY(c.i,a,b);yec(c,b,a);}
-function Cec(b,a){b.d=a;}
-function Dec(b,a){b.e=a;gx(b.n,0,a,false);}
-function Eec(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(gY(d.j,b),100);nec(a,c);}}
-function Fec(d,b,a,e,f){var c;if(b==0)return;zec(d,b,a);if(b-1>=d.j.b||null===gY(d.j,b-1)){aY(d.j,b-1,iec(new gec()));}c=Fb(gY(d.j,b-1),100);jec(c,a,e);if(f===null){Ey(d,b,a,''+e+'');}else{d.ve(b,a,f);}if(a==d.e){gx(d.n,b,a,false);}}
-function afc(b,a){cZ(b.j);if(b.g!=a){b.h=cfc;}else{b.h=b.h==cfc?dfc:cfc;}b.g=a;}
-function bfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){ex(a,c,b,jfc);if(d.f%2==0&&d.f!=0){ex(a,d.f,b,gfc);}else{ax(a,d.f,b,jfc);}}d.f=c;}}
-function efc(a,d,b,c){var e,f,g;g=null;if(b>a.xb()){g=rec(new pec(),b,d.a+1);Fec(g,1,1,'',null);}else{g=rec(new pec(),a.xb()+1,d.a+1);}Bec(g,'',0);for(e=0;e<d.a;e++){Bec(g,d[e],e+1);}Dec(g,0);for(e=0;e<a.xb();e++){Fec(g,e+1,0,a.Db(e),null);for(f=0;f<d.a;f++){Fec(g,e+1,f+1,a.cc(e,f),a.dc(e,f));}}Cec(g,c);return g;}
-function ffc(c,b,a){if(b<=this.j.b){bfc(this,b);sec(this,b,a);}}
-function pec(){}
-_=pec.prototype=new Ev();_.uc=ffc;_.tN=dgc+'SortableTable';_.tI=606;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var cfc=0,dfc=1,gfc='rule-ListEvenRow',hfc='rule-List',ifc='rule-ListHeader',jfc='rule-SelectedRow';function rR(){b4(D3(new s3()));}
-function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{rR();}catch(a){b(d);}else{rR();}}
-var gc=[{},{12:1},{1:1,12:1,34:1,35:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{2:1,12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1},{8:1,12:1},{8:1,12:1},{8:1,12:1},{12:1},{2:1,6:1,12:1},{2:1,12:1},{9:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1},{3:1,12:1},{3:1,12:1,39:1},{3:1,12:1,92:1},{3:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,36:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,49:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1,33:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,43:1},{12:1,49:1,56:1}!
 ,{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,81:1},{12:1,20:1,36:1,37:1,81:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,46:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,49:1,56:1},{12:1,39:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,49:1},{12:1},{12:1,20:1,36:1,37:1,87:1},{12:1,20:1,36:1,37:1,48:1,54:1},{9:1,12:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,39:1},{12:1,39:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,50:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,80:1},{12:1,20:1,36:1,37:1,54:1},{12:1,36:1,52:1},{12:1,36:1,52:1},{12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12!
 :1},{12:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1},{3:1,1
2:1},{12:1,55:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{12:1,35:1},{3:1,12:1},{12:1},{12:1,57:1},{12:1,49:1,58:1},{12:1,49:1,58:1},{12:1},{12:1,49:1},{12:1},{12:1},{12:1,34:1,59:1},{12:1,57:1},{12:1,60:1},{12:1,49:1,58:1},{12:1},{12:1,49:1,58:1},{3:1,12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{7:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{8:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:!
 1,42:1},{12:1},{12:1,20:1,36:1,37:1,53:1},{12:1,42:1},{12:1},{12:1},{12:1,36:1,52:1,64:1},{12:1,20:1,36:1,37:1,46:1,80:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,20:1,36:1,37:1,81:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,65:1},{12:1,20:1,36:1,37:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,38:1,39:1,91:1},{12:1,23:1,24:1,38:1,39:1},{12:1,18:1,38:1,39:1},{12:1,23:1,24:1,25:1,38:1,39:1!
 },{12:1,23:1,24:1,25:1,26:1,38:1,39:1},{12:1,23:1,27:1,38:1,39:1},{12:
1,23:1,24:1,28:1,38:1,39:1},{12:1,23:1,24:1,28:1,29:1,38:1,39:1},{12:1,22:1,30:1,38:1,39:1},{12:1,17:1,31:1,38:1,39:1},{12:1,38:1,39:1,40:1},{12:1,15:1,38:1,39:1,40:1},{12:1,14:1,22:1,23:1,38:1,39:1},{12:1,16:1,22:1,38:1,39:1},{12:1,21:1,38:1,39:1},{12:1,38:1,39:1,83:1},{12:1,17:1,32:1,38:1,39:1,40:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,84:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,41:1},{4:1,12:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,46:1},{12:1,41:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,82:1,98:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,!
 42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,46:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1,42!
 :1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,4
2:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1},{4:1,12:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1,53:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,90:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,42:1},{12:1,53:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1},{10:1,12:1,39:1},{3:1,12:1,39:1,70:1},{12:1,39:1,93:1},{12:1,19:1,39:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,39:1,97:1},{12:1,39:1,95:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1,69:1},{11:1,12:1,39:1},{12:1,39:1,99:1},{12:1,39:1,62:1},{12:1,13:!
 1,39:1},{12:1,39:1,89:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,44:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1},{12:1,41:1},{12:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{4:1!
 ,12:1},{4:1,12:1},{4:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,
37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{12:1,46:1},{12:1},{12:1,42:1},{12:1,34:1,100:1},{12:1,20:1,36:1,37:1,51:1,54:1},{12:1,63:1},{12:1,88:1},{12:1,86:1},{12:1},{12:1},{12:1,94:1},{12:1,72:1,77:1,78:1},{12:1,79:1},{12:1,74:1,77:1},{12:1,75:1},{12:1,73:1},{12:1,71:1},{12:1},{12:1},{12:1,76:1},{12:1,77:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,77:1},{12:1,75:1},{12:1,75:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1}];if ($wnd.org_drools_brms_JBRMS) $wnd.org_drools_brms_JBRMS.onScriptLoad();
---></script></body></html>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.js
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.js	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3411 +0,0 @@
-(function(){var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var _,kfc='com.google.gwt.core.client.',lfc='com.google.gwt.lang.',mfc='com.google.gwt.user.client.',nfc='com.google.gwt.user.client.impl.',ofc='com.google.gwt.user.client.rpc.',pfc='com.google.gwt.user.client.rpc.core.java.lang.',qfc='com.google.gwt.user.client.rpc.core.java.util.',rfc='com.google.gwt.user.client.rpc.impl.',sfc='com.google.gwt.user.client.ui.',tfc='com.google.gwt.user.client.ui.impl.',ufc='java.io.',vfc='java.lang.',wfc='java.util.',xfc='org.drools.brms.client.',yfc='org.drools.brms.client.admin.',zfc='org.drools.brms.client.categorynav.',Afc='org.drools.brms.client.common.',Bfc='org.drools.brms.client.decisiontable.',Cfc='org.drools.brms.client.modeldriven.',Dfc='org.drools.brms.client.modeldriven.brl.',Efc='org.drools.brms.client.modeldriven.ui.',Ffc='org.drools.brms.client.packages.',agc='org.drools.brms.client.rpc.',bgc='org.drools.brms.client.ruleeditor.',cgc='org.droo!
 ls.brms.client.rulelist.',dgc='org.drools.brms.client.table.';function v2(){}
-function zT(a){return this===a;}
-function AT(){return mV(this);}
-function BT(){return this.tN+'@'+this.hC();}
-function xT(){}
-_=xT.prototype={};_.eQ=zT;_.hC=AT;_.tS=BT;_.toString=function(){return this.tS();};_.tN=vfc+'Object';_.tI=1;function v(){return C();}
-function w(a){return a==null?null:a.tN;}
-var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function C(){return $moduleBase;}
-function D(){return ++E;}
-var E=0;function pV(b,a){b.c=a;return b;}
-function qV(c,b,a){c.c=b;return c;}
-function sV(){return this.c;}
-function tV(){var a,b;a=w(this);b=this.wb();if(b!==null){return a+': '+b;}else{return a;}}
-function oV(){}
-_=oV.prototype=new xT();_.wb=sV;_.tS=tV;_.tN=vfc+'Throwable';_.tI=3;_.c=null;function oS(b,a){pV(b,a);return b;}
-function pS(c,b,a){qV(c,b,a);return c;}
-function nS(){}
-_=nS.prototype=new oV();_.tN=vfc+'Exception';_.tI=4;function DT(b,a){oS(b,a);return b;}
-function ET(c,b,a){pS(c,b,a);return c;}
-function CT(){}
-_=CT.prototype=new nS();_.tN=vfc+'RuntimeException';_.tI=5;function ab(c,b,a){DT(c,'JavaScript '+b+' exception: '+a);return c;}
-function F(){}
-_=F.prototype=new CT();_.tN=kfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
-function fb(a){return A(a);}
-function gb(){return [];}
-function hb(){return function(){};}
-function ib(){return {};}
-function kb(a){return eb(this,a);}
-function jb(a,b){return a===b;}
-function lb(){return fb(this);}
-function nb(){return mb(this);}
-function mb(a){if(a.toString)return a.toString();return '[object]';}
-function cb(){}
-_=cb.prototype=new xT();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=kfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
-function rb(a,b,c){return a[b]=c;}
-function tb(a,b){return sb(a,b);}
-function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
-function ub(b,a){return b[a];}
-function wb(b,a){return b[a];}
-function vb(a){return a.length;}
-function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
-function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new iT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=zU(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
-function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
-function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new yR();}return rb(a,b,c);}
-function ob(){}
-_=ob.prototype=new xT();_.tN=lfc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
-function Eb(a){return String.fromCharCode(a);}
-function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
-function ac(b,a){return b!=null&&Db(b.tI,a);}
-function bc(a){return a&65535;}
-function cc(a){return ~(~a);}
-function dc(a){if(a>(BS(),CS))return BS(),CS;if(a<(BS(),DS))return BS(),DS;return a>=0?Math.floor(a):Math.ceil(a);}
-function fc(){throw new iS();}
-function ec(a){if(a!==null){throw new iS();}return a;}
-function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
-var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
-function lc(a){return a.message;}
-function mc(a){return a.name;}
-function oc(b,a){return b;}
-function nc(){}
-_=nc.prototype=new CT();_.tN=mfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=FX(new DX());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
-function gd(a){fd(a);return a;}
-function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
-function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.nb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(lV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
-function kd(a){if(!jY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
-function ld(b,a){b.c=a;}
-function md(b,a){b.e=a;}
-function nd(b,a){bY(b.b,a);kd(b);}
-function od(a,b){return gT(a-b)>=100;}
-function qc(){}
-_=qc.prototype=new xT();_.tN=mfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=v2;uh=FX(new DX());{th();}}
-function ih(a){kh();return a;}
-function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}lY(uh,a);}
-function lh(a){if(!a.b){lY(uh,a);}a.ce();}
-function nh(b,a){if(a<=0){throw sS(new rS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);bY(uh,b);}
-function mh(b,a){if(a<=0){throw sS(new rS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);bY(uh,b);}
-function oh(a){kh();$wnd.clearInterval(a);}
-function ph(a){kh();$wnd.clearTimeout(a);}
-function qh(b,a){kh();return $wnd.setInterval(function(){b.ob();},a);}
-function rh(b,a){kh();return $wnd.setTimeout(function(){b.ob();},a);}
-function sh(){var a;a=x;{lh(this);}}
-function th(){kh();yh(new eh());}
-function dh(){}
-_=dh.prototype=new xT();_.ob=sh;_.tN=mfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=v2;kh();}
-function sc(b,a){tc();b.a=a;ih(b);return b;}
-function uc(){if(!this.a.c){return;}id(this.a);}
-function rc(){}
-_=rc.prototype=new dh();_.ce=uc;_.tN=mfc+'CommandExecutor$1';_.tI=14;function xc(){xc=v2;kh();}
-function wc(b,a){xc();b.a=a;ih(b);return b;}
-function yc(){md(this.a,false);jd(this.a,lV());}
-function vc(){}
-_=vc.prototype=new dh();_.ce=yc;_.tN=mfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
-function Cc(a){return gY(a.d.b,a.b);}
-function Dc(a){return a.c<a.a;}
-function Ec(b){var a;b.b=b.c;a=gY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
-function Fc(a){kY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
-function ad(b,a){b.a=a;}
-function bd(a){return a.b==(-1);}
-function cd(){return Dc(this);}
-function dd(){return Ec(this);}
-function ed(){Fc(this);}
-function zc(){}
-_=zc.prototype=new xT();_.hc=cd;_.pc=dd;_.Fd=ed;_.tN=mfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=v2;rf=FX(new DX());{gf=new ki();ri(gf);}}
-function sd(a){rd();bY(rf,a);}
-function td(b,a){rd();hj(gf,b,a);}
-function ud(a,b){rd();return mi(gf,a,b);}
-function vd(){rd();return jj(gf,'A');}
-function wd(){rd();return jj(gf,'button');}
-function xd(){rd();return jj(gf,'div');}
-function yd(a){rd();return jj(gf,a);}
-function zd(){rd();return jj(gf,'form');}
-function Ad(){rd();return jj(gf,'iframe');}
-function Bd(){rd();return jj(gf,'img');}
-function Cd(){rd();return kj(gf,'checkbox');}
-function Dd(){rd();return kj(gf,'password');}
-function Ed(a){rd();return zi(gf,a);}
-function Fd(){rd();return kj(gf,'text');}
-function ae(){rd();return jj(gf,'label');}
-function be(a){rd();return lj(gf,a);}
-function ce(){rd();return jj(gf,'span');}
-function de(){rd();return jj(gf,'tbody');}
-function ee(){rd();return jj(gf,'td');}
-function fe(){rd();return jj(gf,'tr');}
-function ge(){rd();return jj(gf,'table');}
-function he(){rd();return jj(gf,'textarea');}
-function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
-function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.tc(b);}finally{ie=d;}}
-function le(b,a){rd();mj(gf,b,a);}
-function me(a){rd();return nj(gf,a);}
-function ne(a){rd();return oj(gf,a);}
-function oe(a){rd();return pj(gf,a);}
-function pe(a){rd();return qj(gf,a);}
-function qe(a){rd();return rj(gf,a);}
-function re(a){rd();return Ai(gf,a);}
-function se(a){rd();return sj(gf,a);}
-function te(a){rd();return tj(gf,a);}
-function ue(a){rd();return uj(gf,a);}
-function ve(a){rd();return Bi(gf,a);}
-function we(a){rd();return Ci(gf,a);}
-function xe(a){rd();return vj(gf,a);}
-function ye(a){rd();Di(gf,a);}
-function ze(a){rd();return Ei(gf,a);}
-function Ae(a){rd();return ni(gf,a);}
-function Be(a){rd();return oi(gf,a);}
-function Ee(b,a){rd();return aj(gf,b,a);}
-function Ce(a){rd();return Fi(gf,a);}
-function De(b,a){rd();return pi(gf,b,a);}
-function bf(a,b){rd();return yj(gf,a,b);}
-function Fe(a,b){rd();return wj(gf,a,b);}
-function af(a,b){rd();return xj(gf,a,b);}
-function cf(a){rd();return zj(gf,a);}
-function df(a){rd();return bj(gf,a);}
-function ef(a){rd();return Aj(gf,a);}
-function ff(a){rd();return cj(gf,a);}
-function hf(c,a,b){rd();ej(gf,c,a,b);}
-function jf(c,b,d,a){rd();Bj(gf,c,b,d,a);}
-function kf(b,a){rd();return si(gf,b,a);}
-function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(gY(rf,rf.b-1),5);if(!(c=b.zc(a))){le(a,true);ye(a);}}return c;}
-function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}ti(gf,a);}
-function nf(b,a){rd();Cj(gf,b,a);}
-function of(b,a){rd();Dj(gf,b,a);}
-function pf(a){rd();lY(rf,a);}
-function sf(a){rd();Ej(gf,a);}
-function tf(a){rd();qf=a;fj(gf,a);}
-function uf(b,a,c){rd();Fj(gf,b,a,c);}
-function xf(a,b,c){rd();ck(gf,a,b,c);}
-function vf(a,b,c){rd();ak(gf,a,b,c);}
-function wf(a,b,c){rd();bk(gf,a,b,c);}
-function yf(a,b){rd();dk(gf,a,b);}
-function zf(a,b){rd();ek(gf,a,b);}
-function Af(a,b){rd();fk(gf,a,b);}
-function Bf(a,b){rd();gk(gf,a,b);}
-function Cf(b,a,c){rd();hk(gf,b,a,c);}
-function Df(b,a,c){rd();ik(gf,b,a,c);}
-function Ef(a,b){rd();vi(gf,a,b);}
-function Ff(a){rd();return wi(gf,a);}
-function ag(){rd();return jk(gf);}
-function bg(){rd();return kk(gf);}
-var ie=null,gf=null,qf=null,rf;function dg(){dg=v2;gg=gd(new qc());}
-function fg(a){dg();nd(gg,a);}
-function eg(a){dg();if(a===null){throw lT(new kT(),'cmd can not be null');}nd(gg,a);}
-var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
-function kg(a){return jg(this,a);}
-function lg(){return fb(hc(this,hg));}
-function mg(){return Ff(this);}
-function hg(){}
-_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=mfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
-function sg(){return fb(hc(this,ng));}
-function tg(){return ze(this);}
-function ng(){}
-_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=mfc+'Event';_.tI=18;function vg(){vg=v2;xg=nk(new mk());}
-function wg(c,b,a){vg();return pk(xg,c,b,a);}
-var xg;function Ag(){Ag=v2;Eg=FX(new DX());{Fg=new vk();if(!Ak(Fg)){Fg=null;}}}
-function Bg(a){Ag();bY(Eg,a);}
-function Cg(a){Ag();var b,c;for(b=Eg.nc();b.hc();){c=Fb(b.pc(),7);c.Ec(a);}}
-function Dg(){Ag();return Fg!==null?Ck(Fg):'';}
-function ah(a){Ag();if(Fg!==null){xk(Fg,a);}}
-function bh(b){Ag();var a;a=x;{Cg(b);}}
-var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(gY((kh(),uh),0),8));}}
-function hh(){return null;}
-function eh(){}
-_=eh.prototype=new xT();_.rd=gh;_.sd=hh;_.tN=mfc+'Timer$1';_.tI=19;function xh(){xh=v2;Ah=FX(new DX());ii=FX(new DX());{di();}}
-function yh(a){xh();bY(Ah,a);}
-function zh(a){xh();$wnd.alert(a);}
-function Bh(a){xh();return $wnd.confirm(a);}
-function Ch(){xh();var a,b;for(a=Ah.nc();a.hc();){b=Fb(a.pc(),9);b.rd();}}
-function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.nc();a.hc();){b=Fb(a.pc(),9);c=b.sd();{d=c;}}return d;}
-function Eh(){xh();var a,b;for(a=ii.nc();a.hc();){b=ec(a.pc());null.ef();}}
-function Fh(){xh();return ag();}
-function ai(){xh();return bg();}
-function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
-function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
-function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
-function ei(){xh();var a;a=x;{Ch();}}
-function fi(){xh();var a;a=x;{return Dh();}}
-function gi(){xh();var a;a=x;{Eh();}}
-function hi(c,b,a){xh();$wnd.open(c,b,a);}
-var Ah,ii;function hj(c,b,a){b.appendChild(a);}
-function jj(b,a){return $doc.createElement(a);}
-function kj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
-function lj(c,a){var b;b=jj(c,'select');if(a){ak(c,b,'multiple',true);}return b;}
-function mj(c,b,a){b.cancelBubble=a;}
-function nj(b,a){return !(!a.altKey);}
-function oj(b,a){return a.clientX|| -1;}
-function pj(b,a){return a.clientY|| -1;}
-function qj(b,a){return !(!a.ctrlKey);}
-function rj(b,a){return a.currentTarget;}
-function sj(b,a){return a.which||(a.keyCode|| -1);}
-function tj(b,a){return !(!a.metaKey);}
-function uj(b,a){return !(!a.shiftKey);}
-function vj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
-function yj(d,a,b){var c=a[b];return c==null?null:String(c);}
-function wj(c,a,b){return !(!a[b]);}
-function xj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
-function zj(b,a){return a.__eventBits||0;}
-function Aj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.ub(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
-function Bj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
-function Cj(c,b,a){b.removeChild(a);}
-function Dj(c,b,a){b.removeAttribute(a);}
-function Ej(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
-function Fj(c,b,a,d){b.setAttribute(a,d);}
-function ck(c,a,b,d){a[b]=d;}
-function ak(c,a,b,d){a[b]=d;}
-function bk(c,a,b,d){a[b]=d;}
-function dk(c,a,b){a.__listener=b;}
-function ek(c,a,b){a.src=b;}
-function fk(c,a,b){if(!b){b='';}a.innerHTML=b;}
-function gk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
-function hk(c,b,a,d){b.style[a]=d;}
-function ik(c,b,a,d){b.style[a]=d;}
-function jk(a){return $doc.body.clientHeight;}
-function kk(a){return $doc.body.clientWidth;}
-function lk(a){return Aj(this,a);}
-function ji(){}
-_=ji.prototype=new xT();_.ub=lk;_.tN=nfc+'DOMImpl';_.tI=20;function zi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
-function Ai(b,a){return a.relatedTarget?a.relatedTarget:null;}
-function Bi(b,a){return a.target||null;}
-function Ci(b,a){return a.relatedTarget||null;}
-function Di(b,a){a.preventDefault();}
-function Ei(b,a){return a.toString();}
-function aj(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
-function Fi(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
-function bj(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
-function cj(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
-function dj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
-function ej(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
-function fj(b,a){$wnd.__captureElem=a;}
-function gj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
-function xi(){}
-_=xi.prototype=new ji();_.tN=nfc+'DOMImplStandard';_.tI=21;function mi(c,a,b){if(!a&& !b){return true;}else if(!a|| !b){return false;}return a.isSameNode(b);}
-function ni(b,a){return $doc.getBoxObjectFor(a).screenX-$doc.getBoxObjectFor($doc.documentElement).screenX;}
-function oi(b,a){return $doc.getBoxObjectFor(a).screenY-$doc.getBoxObjectFor($doc.documentElement).screenY;}
-function pi(d,c,e){var b=0,a=c.firstChild;while(a){if(a.isSameNode(e)){return b;}if(a.nodeType==1){++b;}a=a.nextSibling;}return -1;}
-function ri(a){dj(a);qi(a);}
-function qi(d){$wnd.addEventListener('mouseout',function(b){var a=$wnd.__captureElem;if(a&& !b.relatedTarget){if('html'==b.target.tagName.toLowerCase()){var c=$doc.createEvent('MouseEvents');c.initMouseEvent('mouseup',true,true,$wnd,0,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,null);a.dispatchEvent(c);}}},true);$wnd.addEventListener('DOMMouseScroll',$wnd.__dispatchCapturedMouseEvent,true);}
-function si(d,c,b){while(b){if(c.isSameNode(b)){return true;}try{b=b.parentNode;}catch(a){return false;}if(b&&b.nodeType!=1){b=null;}}return false;}
-function ti(b,a){if(a.isSameNode($wnd.__captureElem)){$wnd.__captureElem=null;}}
-function vi(c,b,a){gj(c,b,a);ui(c,b,a);}
-function ui(c,b,a){if(a&131072){b.addEventListener('DOMMouseScroll',$wnd.__dispatchEvent,false);}}
-function wi(d,a){var b=a.cloneNode(true);var c=$doc.createElement('DIV');c.appendChild(b);outer=c.innerHTML;b.innerHTML='';return outer;}
-function ki(){}
-_=ki.prototype=new xi();_.tN=nfc+'DOMImplMozilla';_.tI=22;function nk(a){tk=hb();return a;}
-function pk(c,d,b,a){return qk(c,null,null,d,b,a);}
-function qk(d,f,c,e,b,a){return ok(d,f,c,e,b,a);}
-function ok(e,g,d,f,c,b){var h=e.jb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=tk;b.xc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=tk;return false;}}
-function sk(){return new XMLHttpRequest();}
-function mk(){}
-_=mk.prototype=new xT();_.jb=sk;_.tN=nfc+'HTTPRequestImpl';_.tI=23;var tk=null;function Ck(a){return $wnd.__gwt_historyToken;}
-function Dk(a){bh(a);}
-function uk(){}
-_=uk.prototype=new xT();_.tN=nfc+'HistoryImpl';_.tI=24;function Ak(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;Dk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
-function yk(){}
-_=yk.prototype=new uk();_.tN=nfc+'HistoryImplStandard';_.tI=25;function xk(d,a){if(a==null||a.length==0){var c=$wnd.location.href;var b=c.indexOf('#');if(b!= -1)c=c.substring(0,b);$wnd.location=c+'#';}else{$wnd.location.hash=encodeURIComponent(a);}}
-function vk(){}
-_=vk.prototype=new yk();_.tN=nfc+'HistoryImplMozilla';_.tI=26;function al(a){DT(a,'This application is out of date, please click the refresh button on your browser');return a;}
-function Fk(){}
-_=Fk.prototype=new CT();_.tN=ofc+'IncompatibleRemoteServiceException';_.tI=27;function el(b,a){}
-function fl(b,a){}
-function hl(b,a){ET(b,a,null);return b;}
-function gl(){}
-_=gl.prototype=new CT();_.tN=ofc+'InvocationException';_.tI=28;function tl(){return this.b;}
-function ll(){}
-_=ll.prototype=new nS();_.wb=tl;_.tN=ofc+'SerializableException';_.tI=29;_.b=null;function pl(b,a){sl(a,b.Bd());}
-function ql(a){return a.b;}
-function rl(b,a){b.cf(ql(a));}
-function sl(a,b){a.b=b;}
-function vl(b,a){oS(b,a);return b;}
-function ul(){}
-_=ul.prototype=new nS();_.tN=ofc+'SerializationException';_.tI=30;function Al(a){hl(a,'Service implementation URL not specified');return a;}
-function zl(){}
-_=zl.prototype=new gl();_.tN=ofc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function Fl(b,a){}
-function am(a){return cS(a.wd());}
-function bm(b,a){b.De(a.a);}
-function em(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Ad());}}
-function fm(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.bf(a[c]);}}
-function im(b,a){}
-function jm(a){return a.Bd();}
-function km(b,a){b.cf(a);}
-function nm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.xd();}}
-function om(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.Ee(a[c]);}}
-function rm(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();bY(b,c);}}
-function sm(e,a){var b,c,d;d=a.b;e.Fe(d);b=a.nc();while(b.hc()){c=b.pc();e.bf(c);}}
-function vm(b,a){}
-function wm(a){return mZ(new kZ(),a.zd());}
-function xm(b,a){b.af(pZ(a));}
-function Am(e,b){var a,c,d,f;d=e.yd();for(a=0;a<d;++a){c=e.Ad();f=e.Ad();d1(b,c,f);}}
-function Bm(f,c){var a,b,d,e;e=c.c;f.Fe(e);b=b1(c);d=x0(b);while(p0(d)){a=q0(d);f.bf(a.vb());f.bf(a.bc());}}
-function Em(d,b){var a,c;c=d.yd();for(a=0;a<c;++a){x1(b,d.Ad());}}
-function Fm(c,a){var b;c.Fe(a.a.c);for(b=z1(a);AW(b);){c.bf(BW(b));}}
-function cn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();k2(b,c);}}
-function dn(e,a){var b,c,d;d=a.a.b;e.Fe(d);b=m2(a);while(b.hc()){c=b.pc();e.bf(c);}}
-function Bn(a){return a.j>2;}
-function Cn(b,a){b.i=a;}
-function Dn(a,b){a.j=b;}
-function en(){}
-_=en.prototype=new xT();_.tN=rfc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function gn(a){a.e=FX(new DX());}
-function hn(a){gn(a);return a;}
-function kn(b,a){dY(b.e);Dn(b,fo(b));Cn(b,fo(b));}
-function ln(a){var b,c;b=a.yd();if(b<0){return gY(a.e,-(b+1));}c=a.Fb(b);if(c===null){return null;}return a.hb(c);}
-function mn(b,a){bY(b.e,a);}
-function nn(){return ln(this);}
-function fn(){}
-_=fn.prototype=new en();_.Ad=nn;_.tN=rfc+'AbstractSerializationStreamReader';_.tI=33;function qn(b,a){b.E(a?'1':'0');}
-function rn(b,a){b.E(gV(a));}
-function sn(c,a){var b,d;if(a===null){tn(c,null);return;}b=c.tb(a);if(b>=0){rn(c,-(b+1));return;}c.de(a);d=c.yb(a);tn(c,d);c.ge(a,d);}
-function tn(a,b){rn(a,a.z(b));}
-function un(a){qn(this,a);}
-function vn(a){this.E(gV(a));}
-function wn(a){rn(this,a);}
-function xn(a){this.E(hV(a));}
-function yn(a){sn(this,a);}
-function zn(a){tn(this,a);}
-function on(){}
-_=on.prototype=new en();_.De=un;_.Ee=vn;_.Fe=wn;_.af=xn;_.bf=yn;_.cf=zn;_.tN=rfc+'AbstractSerializationStreamWriter';_.tI=34;function Fn(b,a){hn(b);b.c=a;return b;}
-function bo(b,a){if(!a){return null;}return b.d[a-1];}
-function co(b,a){b.b=jo(a);b.a=ko(b.b);kn(b,a);b.d=go(b);}
-function eo(a){return !(!a.b[--a.a]);}
-function fo(a){return a.b[--a.a];}
-function go(a){return a.b[--a.a];}
-function ho(a){return bo(a,fo(a));}
-function io(b){var a;a=this.c.kc(this,b);mn(this,a);this.c.gb(this,a,b);return a;}
-function jo(a){return eval(a);}
-function ko(a){return a.length;}
-function lo(a){return bo(this,a);}
-function mo(){return eo(this);}
-function no(){return this.b[--this.a];}
-function oo(){return fo(this);}
-function po(){return this.b[--this.a];}
-function qo(){return ho(this);}
-function En(){}
-_=En.prototype=new fn();_.hb=io;_.Fb=lo;_.wd=mo;_.xd=no;_.yd=oo;_.zd=po;_.Bd=qo;_.tN=rfc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function so(a){a.h=FX(new DX());}
-function to(d,c,a,b){so(d);d.f=c;d.b=a;d.e=b;return d;}
-function vo(c,a){var b=c.d[a];return b==null?-1:b;}
-function wo(c,a){var b=c.g[':'+a];return b==null?0:b;}
-function xo(a){a.c=0;a.d=ib();a.g=ib();dY(a.h);a.a=cU(new bU());if(Bn(a)){tn(a,a.b);tn(a,a.e);}}
-function yo(b,a,c){b.d[a]=c;}
-function zo(b,a,c){b.g[':'+a]=c;}
-function Ao(b){var a;a=cU(new bU());Bo(b,a);Do(b,a);Co(b,a);return iU(a);}
-function Bo(b,a){Fo(a,gV(b.j));Fo(a,gV(b.i));}
-function Co(b,a){eU(a,iU(b.a));}
-function Do(d,a){var b,c;c=d.h.b;Fo(a,gV(c));for(b=0;b<c;++b){Fo(a,Fb(gY(d.h,b),1));}return a;}
-function Eo(b){var a;if(b===null){return 0;}a=wo(this,b);if(a>0){return a;}bY(this.h,b);a=this.h.b;zo(this,b,a);return a;}
-function Fo(a,b){eU(a,b);dU(a,65535);}
-function ap(a){Fo(this.a,a);}
-function bp(a){return vo(this,mV(a));}
-function cp(a){var b,c;c=w(a);b=this.f.Eb(c);if(b!==null){c+='/'+b;}return c;}
-function dp(a){yo(this,mV(a),this.c++);}
-function ep(a,b){this.f.fe(this,a,b);}
-function fp(){return Ao(this);}
-function ro(){}
-_=ro.prototype=new on();_.z=Eo;_.E=ap;_.tb=bp;_.yb=cp;_.de=dp;_.ge=ep;_.tS=fp;_.tN=rfc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function pN(b,a){fO(b.ac(),a,true);}
-function rN(a){return Ae(a.rb());}
-function sN(a){return Be(a.rb());}
-function tN(a){return af(a.w,'offsetHeight');}
-function uN(a){return af(a.w,'offsetWidth');}
-function vN(b,a){fO(b.ac(),a,false);}
-function wN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
-function xN(b,a){if(b.w!==null){wN(b,b.w,a);}b.w=a;}
-function yN(b,c,a){if(c>=0){b.xe(c+'px');}if(a>=0){b.ne(a+'px');}}
-function zN(b,c,a){b.xe(c);b.ne(a);}
-function AN(b,a){eO(b.ac(),a);}
-function BN(b,a){Ef(b.rb(),a|cf(b.rb()));}
-function CN(){return this.w;}
-function DN(){return tN(this);}
-function EN(){return uN(this);}
-function FN(){return this.w;}
-function aO(a){return bf(a,'className');}
-function bO(a){return a.style.display!='none';}
-function cO(a){xN(this,a);}
-function dO(a){Df(this.w,'height',a);}
-function eO(a,b){xf(a,'className',b);}
-function fO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw DT(new CT(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=DU(j);if(uU(j)==0){throw sS(new rS(),'Style names cannot be empty');}i=aO(c);e=sU(i,j);while(e!=(-1)){if(e==0||lU(i,e-1)==32){f=e+uU(j);g=uU(i);if(f==g||f<g&&lU(i,f)==32){break;}}e=tU(i,j,e+1);}if(a){if(e==(-1)){if(uU(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=DU(AU(i,0,e));d=DU(zU(i,e+uU(j)));if(uU(b)==0){h=d;}else if(uU(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
-function gO(a){if(a===null||uU(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
-function hO(a,b){a.style.display=b?'':'none';}
-function iO(a){hO(this.w,a);}
-function jO(a){Df(this.w,'width',a);}
-function kO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
-function oN(){}
-_=oN.prototype=new xT();_.rb=CN;_.zb=DN;_.Ab=EN;_.ac=FN;_.je=cO;_.ne=dO;_.pe=gO;_.ue=iO;_.xe=jO;_.tS=kO;_.tN=sfc+'UIObject';_.tI=37;_.w=null;function wP(a){if(a.lc()){throw vS(new uS(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.rb(),a);a.ib();a.cd();}
-function xP(a){if(!a.lc()){throw vS(new uS(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.qd();}finally{a.kb();yf(a.rb(),null);a.t=false;}}
-function yP(a){if(ac(a.v,54)){Fb(a.v,54).be(a);}else if(a.v!==null){throw vS(new uS(),"This widget's parent does not implement HasWidgets");}}
-function zP(b,a){if(b.lc()){yf(b.rb(),null);}xN(b,a);if(b.lc()){yf(a,b);}}
-function AP(b,a){b.u=a;}
-function BP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.lc()){c.yc();}c.v=null;}else{if(a!==null){throw vS(new uS(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.lc()){c.rc();}}}
-function CP(){}
-function DP(){}
-function EP(){return this.t;}
-function FP(){wP(this);}
-function aQ(a){}
-function bQ(){xP(this);}
-function cQ(){}
-function dQ(){}
-function eQ(a){zP(this,a);}
-function uO(){}
-_=uO.prototype=new oN();_.ib=CP;_.kb=DP;_.lc=EP;_.rc=FP;_.tc=aQ;_.yc=bQ;_.cd=cQ;_.qd=dQ;_.je=eQ;_.tN=sfc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function AD(b,a){BP(a,b);}
-function CD(b,a){BP(a,null);}
-function DD(){var a;a=this.nc();while(a.hc()){a.pc();a.Fd();}}
-function ED(){var a,b;for(b=this.nc();b.hc();){a=Fb(b.pc(),20);a.rc();}}
-function FD(){var a,b;for(b=this.nc();b.hc();){a=Fb(b.pc(),20);a.yc();}}
-function aE(){}
-function bE(){}
-function zD(){}
-_=zD.prototype=new uO();_.F=DD;_.ib=ED;_.kb=FD;_.cd=aE;_.qd=bE;_.tN=sfc+'Panel';_.tI=39;function Bq(a){a.f=EO(new vO(),a);}
-function Cq(a){Bq(a);return a;}
-function Dq(c,a,b){yP(a);FO(c.f,a);td(b,a.rb());AD(c,a);}
-function Eq(d,b,a){var c;ar(d,a);if(b.v===d){c=cr(d,b);if(c<a){a--;}}return a;}
-function Fq(b,a){if(a<0||a>=b.f.c){throw new xS();}}
-function ar(b,a){if(a<0||a>b.f.c){throw new xS();}}
-function dr(b,a){return bP(b.f,a);}
-function cr(b,a){return cP(b.f,a);}
-function er(e,b,c,a,d){a=Eq(e,b,a);yP(b);dP(e.f,b,a);if(d){hf(c,b.rb(),a);}else{td(c,b.rb());}AD(e,b);}
-function fr(a){return eP(a.f);}
-function gr(b,c){var a;if(c.v!==b){return false;}CD(b,c);a=c.rb();nf(ff(a),a);gP(b.f,c);return true;}
-function hr(){return fr(this);}
-function ir(a){return this.be(dr(this,a));}
-function jr(a){return gr(this,a);}
-function Aq(){}
-_=Aq.prototype=new zD();_.nc=hr;_.ae=ir;_.be=jr;_.tN=sfc+'ComplexPanel';_.tI=40;function ip(a){Cq(a);a.je(xd());Df(a.rb(),'position','relative');Df(a.rb(),'overflow','hidden');return a;}
-function jp(a,b){Dq(a,b,a.rb());}
-function lp(b,c){var a;a=gr(b,c);if(a){mp(c.rb());}return a;}
-function mp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
-function np(a){return lp(this,a);}
-function hp(){}
-_=hp.prototype=new Aq();_.be=np;_.tN=sfc+'AbsolutePanel';_.tI=41;function op(){}
-_=op.prototype=new xT();_.tN=sfc+'AbstractImagePrototype';_.tI=42;function nu(){nu=v2;ru=(rQ(),wQ);}
-function lu(b,a){nu();pu(b,a);return b;}
-function mu(b,a){if(b.k===null){b.k=bu(new au());}bY(b.k,a);}
-function ou(b,a){switch(xe(a)){case 1:if(b.j!==null){yq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){du(b.k,b,a);}break;case 128:case 512:case 256:break;}}
-function pu(b,a){zP(b,a);BN(b,7041);}
-function qu(a){if(this.j===null){this.j=wq(new vq());}bY(this.j,a);}
-function su(a){ou(this,a);}
-function tu(a){pu(this,a);}
-function uu(a){vf(this.rb(),'disabled',!a);}
-function vu(a){if(a){tQ(ru,this.rb());}else{qQ(ru,this.rb());}}
-function wu(a){uQ(ru,this.rb(),a);}
-function ku(){}
-_=ku.prototype=new uO();_.x=qu;_.tc=su;_.je=tu;_.ke=uu;_.le=vu;_.oe=wu;_.tN=sfc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var ru;function tp(){tp=v2;nu();}
-function sp(b,a){tp();lu(b,a);return b;}
-function up(a){Af(this.rb(),a);}
-function rp(){}
-_=rp.prototype=new ku();_.me=up;_.tN=sfc+'ButtonBase';_.tI=44;function xp(){xp=v2;tp();}
-function vp(a){xp();sp(a,wd());yp(a.rb());AN(a,'gwt-Button');return a;}
-function wp(b,a){xp();vp(b);b.me(a);return b;}
-function yp(b){xp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
-function qp(){}
-_=qp.prototype=new rp();_.tN=sfc+'Button';_.tI=45;function Ap(a){Cq(a);a.e=ge();a.d=de();td(a.e,a.d);a.je(a.e);return a;}
-function Cp(c,b,a){xf(b,'align',a.a);}
-function Dp(c,b,a){Df(b,'verticalAlign',a.a);}
-function Ep(c,a){var b;b=ff(c.rb());xf(b,'height',a);}
-function Fp(b,c){var a;a=ff(b.rb());xf(a,'width',c);}
-function zp(){}
-_=zp.prototype=new Aq();_.he=Ep;_.ie=Fp;_.tN=sfc+'CellPanel';_.tI=46;_.d=null;_.e=null;function yV(d,a,b){var c;while(a.hc()){c=a.pc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
-function AV(a){throw vV(new uV(),'add');}
-function BV(b){var a;a=yV(this,this.nc(),b);return a!==null;}
-function CV(){return this.Be(yb('[Ljava.lang.Object;',[611],[12],[this.ye()],null));}
-function DV(a){var b,c,d;d=this.ye();if(a.a<d){a=tb(a,d);}b=0;for(c=this.nc();c.hc();){Ab(a,b++,c.pc());}if(a.a>d){Ab(a,d,null);}return a;}
-function EV(){var a,b,c;c=cU(new bU());a=null;eU(c,'[');b=this.nc();while(b.hc()){if(a!==null){eU(c,a);}else{a=', ';}eU(c,iV(b.pc()));}eU(c,']');return iU(c);}
-function xV(){}
-_=xV.prototype=new xT();_.C=AV;_.db=BV;_.Ae=CV;_.Be=DV;_.tS=EV;_.tN=wfc+'AbstractCollection';_.tI=47;function iW(b,a){throw yS(new xS(),'Index: '+a+', Size: '+b.b);}
-function jW(b,a){throw vV(new uV(),'add');}
-function kW(a){this.B(this.ye(),a);return true;}
-function lW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.ye()!=f.ye()){return false;}c=this.nc();d=f.nc();while(c.hc()){a=c.pc();b=d.pc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
-function mW(){var a,b,c,d;c=1;a=31;b=this.nc();while(b.hc()){d=b.pc();c=31*c+(d===null?0:d.hC());}return c;}
-function nW(){return bW(new aW(),this);}
-function oW(a){throw vV(new uV(),'remove');}
-function FV(){}
-_=FV.prototype=new xV();_.B=jW;_.C=kW;_.eQ=lW;_.hC=mW;_.nc=nW;_.ae=oW;_.tN=wfc+'AbstractList';_.tI=48;function EX(a){{cY(a);}}
-function FX(a){EX(a);return a;}
-function aY(c,a,b){if(a<0||a>c.b){iW(c,a);}nY(c.a,a,b);++c.b;}
-function bY(b,a){wY(b.a,b.b++,a);return true;}
-function dY(a){cY(a);}
-function cY(a){a.a=gb();a.b=0;}
-function fY(b,a){return hY(b,a)!=(-1);}
-function gY(b,a){if(a<0||a>=b.b){iW(b,a);}return sY(b.a,a);}
-function hY(b,a){return iY(b,a,0);}
-function iY(c,b,a){if(a<0){iW(c,a);}for(;a<c.b;++a){if(rY(b,sY(c.a,a))){return a;}}return (-1);}
-function jY(a){return a.b==0;}
-function kY(c,a){var b;b=gY(c,a);uY(c.a,a,1);--c.b;return b;}
-function lY(c,b){var a;a=hY(c,b);if(a==(-1)){return false;}kY(c,a);return true;}
-function mY(d,a,b){var c;c=gY(d,a);wY(d.a,a,b);return c;}
-function oY(a,b){aY(this,a,b);}
-function pY(a){return bY(this,a);}
-function nY(a,b,c){a.splice(b,0,c);}
-function qY(a){return fY(this,a);}
-function rY(a,b){return a===b||a!==null&&a.eQ(b);}
-function tY(a){return gY(this,a);}
-function sY(a,b){return a[b];}
-function vY(a){return kY(this,a);}
-function uY(a,c,b){a.splice(c,b);}
-function wY(a,b,c){a[b]=c;}
-function xY(){return this.b;}
-function yY(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,sY(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
-function DX(){}
-_=DX.prototype=new FV();_.B=oY;_.C=pY;_.db=qY;_.ec=tY;_.ae=vY;_.ye=xY;_.Be=yY;_.tN=wfc+'ArrayList';_.tI=49;_.a=null;_.b=0;function bq(a){FX(a);return a;}
-function dq(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),41);b.vc(c);}}
-function aq(){}
-_=aq.prototype=new DX();_.tN=sfc+'ChangeListenerCollection';_.tI=50;function jq(){jq=v2;tp();}
-function gq(a){jq();hq(a,Cd());AN(a,'gwt-CheckBox');return a;}
-function iq(b,a){jq();gq(b);nq(b,a);return b;}
-function hq(b,a){var c;jq();sp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.rb()));Ef(b.rb(),0);td(b.rb(),b.a);td(b.rb(),b.b);c='check'+ ++uq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
-function kq(a){return ef(a.b);}
-function lq(b){var a;a=b.lc()?'checked':'defaultChecked';return Fe(b.a,a);}
-function mq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
-function nq(b,a){Bf(b.b,a);}
-function oq(){yf(this.a,this);}
-function pq(){yf(this.a,null);mq(this,lq(this));}
-function qq(a){vf(this.a,'disabled',!a);}
-function rq(a){if(a){tQ(ru,this.a);}else{qQ(ru,this.a);}}
-function sq(a){Af(this.b,a);}
-function tq(a){uQ(ru,this.a,a);}
-function fq(){}
-_=fq.prototype=new rp();_.cd=oq;_.qd=pq;_.ke=qq;_.le=rq;_.me=sq;_.oe=tq;_.tN=sfc+'CheckBox';_.tI=51;_.a=null;_.b=null;var uq=0;function wq(a){FX(a);return a;}
-function yq(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),42);b.wc(c);}}
-function vq(){}
-_=vq.prototype=new DX();_.tN=sfc+'ClickListenerCollection';_.tI=52;function mr(a,b){if(a.k!==null){throw vS(new uS(),'Composite.initWidget() may only be called once.');}yP(b);a.je(b.rb());a.k=b;BP(b,a);}
-function nr(){if(this.k===null){throw vS(new uS(),'initWidget() was never called in '+w(this));}return this.w;}
-function or(){if(this.k!==null){return this.k.lc();}return false;}
-function pr(){this.k.rc();this.cd();}
-function qr(){try{this.qd();}finally{this.k.yc();}}
-function kr(){}
-_=kr.prototype=new uO();_.rb=nr;_.lc=or;_.rc=pr;_.yc=qr;_.tN=sfc+'Composite';_.tI=53;_.k=null;function sr(a){Cq(a);a.je(xd());return a;}
-function ur(b,c){var a;a=c.rb();Df(a,'width','100%');Df(a,'height','100%');c.ue(false);}
-function vr(b,c,a){er(b,c,b.rb(),a,true);ur(b,c);}
-function wr(b,c){var a;a=gr(b,c);if(a){xr(b,c);if(b.b===c){b.b=null;}}return a;}
-function xr(a,b){Df(b.rb(),'width','');Df(b.rb(),'height','');b.ue(true);}
-function yr(b,a){Fq(b,a);if(b.b!==null){b.b.ue(false);}b.b=dr(b,a);b.b.ue(true);}
-function zr(a){return wr(this,a);}
-function rr(){}
-_=rr.prototype=new Aq();_.be=zr;_.tN=sfc+'DeckPanel';_.tI=54;_.b=null;function aH(a){bH(a,xd());return a;}
-function bH(b,a){b.je(a);return b;}
-function cH(a,b){if(a.r!==null){throw vS(new uS(),'SimplePanel can only contain one child widget');}a.we(b);}
-function eH(a,b){if(b===a.r){return;}if(b!==null){yP(b);}if(a.r!==null){a.be(a.r);}a.r=b;if(b!==null){td(a.qb(),a.r.rb());AD(a,b);}}
-function fH(){return this.rb();}
-function gH(){return BG(new zG(),this);}
-function hH(a){if(this.r!==a){return false;}CD(this,a);nf(this.qb(),a.rb());this.r=null;return true;}
-function iH(a){eH(this,a);}
-function yG(){}
-_=yG.prototype=new zD();_.qb=fH;_.nc=gH;_.be=hH;_.we=iH;_.tN=sfc+'SimplePanel';_.tI=55;_.r=null;function kE(){kE=v2;AE=fR(new aR());}
-function gE(a){kE();bH(a,hR(AE));rE(a,0,0);return a;}
-function hE(b,a){kE();gE(b);b.k=a;return b;}
-function iE(c,a,b){kE();hE(c,a);c.o=b;return c;}
-function jE(b,a){if(a.blur){a.blur();}}
-function lE(a){return iR(AE,a.rb());}
-function mE(a){return uN(a);}
-function nE(a){oE(a,false);}
-function oE(b,a){if(!b.p){return;}b.p=false;lp(oG(),b);b.rb();}
-function pE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.ne(a.l);}if(a.m!==null){b.xe(a.m);}}}
-function qE(e,b){var a,c,d,f;d=ve(b);c=kf(e.rb(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){oE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){jE(e,d);return false;}}}return !e.o||c;}
-function rE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.rb();Df(a,'left',b+'px');Df(a,'top',d+'px');}
-function sE(a,b){eH(a,b);pE(a);}
-function tE(a,b){a.m=b;pE(a);if(uU(b)==0){a.m=null;}}
-function uE(a){if(a.p){return;}a.p=true;sd(a);Df(a.rb(),'position','absolute');if(a.q!=(-1)){rE(a,a.n,a.q);}jp(oG(),a);a.rb();}
-function vE(){return lE(this);}
-function wE(){return tN(this);}
-function xE(){return mE(this);}
-function yE(){return iR(AE,this.rb());}
-function zE(){nE(this);}
-function BE(){pf(this);xP(this);}
-function CE(a){return qE(this,a);}
-function DE(a){this.l=a;pE(this);if(uU(a)==0){this.l=null;}}
-function EE(b){var a;a=lE(this);if(b===null||uU(b)==0){of(a,'title');}else{uf(a,'title',b);}}
-function FE(a){Df(this.rb(),'visibility',a?'visible':'hidden');this.rb();}
-function aF(a){sE(this,a);}
-function bF(a){tE(this,a);}
-function fE(){}
-_=fE.prototype=new yG();_.qb=vE;_.zb=wE;_.Ab=xE;_.ac=yE;_.ic=zE;_.yc=BE;_.zc=CE;_.ne=DE;_.pe=EE;_.ue=FE;_.we=aF;_.xe=bF;_.tN=sfc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var AE;function Fr(){Fr=v2;kE();}
-function Br(a){a.e=jz(new nw());a.j=rt(new lt());}
-function Cr(a){Fr();Dr(a,false);return a;}
-function Dr(b,a){Fr();Er(b,a,true);return b;}
-function Er(c,a,b){Fr();iE(c,a,b);Br(c);c.j.ve(0,0,c.e);c.j.ne('100%');xy(c.j,0);zy(c.j,0);Ay(c.j,0);cx(c.j.n,1,0,'100%');hx(c.j.n,1,0,'100%');bx(c.j.n,1,0,(uz(),vz),(Dz(),Fz));sE(c,c.j);AN(c,'gwt-DialogBox');AN(c.e,'Caption');eC(c.e,c);return c;}
-function as(b,a){nz(b.e,a);}
-function bs(b,a){hC(b.e,a);}
-function cs(a,b){if(a.f!==null){wy(a.j,a.f);}if(b!==null){a.j.ve(1,0,b);}a.f=b;}
-function ds(a){if(xe(a)==4){if(kf(this.e.rb(),ve(a))){ye(a);}}return qE(this,a);}
-function es(a,b,c){this.i=true;tf(this.e.rb());this.g=b;this.h=c;}
-function fs(a){}
-function gs(a){}
-function hs(c,d,e){var a,b;if(this.i){a=d+rN(this);b=e+sN(this);rE(this,a-this.g,b-this.h);}}
-function is(a,b,c){this.i=false;mf(this.e.rb());}
-function js(a){if(this.f!==a){return false;}wy(this.j,a);return true;}
-function ks(a){cs(this,a);}
-function ls(a){tE(this,a);this.j.xe('100%');}
-function Ar(){}
-_=Ar.prototype=new fE();_.zc=ds;_.ed=es;_.fd=fs;_.gd=gs;_.hd=hs;_.id=is;_.be=js;_.we=ks;_.xe=ls;_.tN=sfc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function xs(){xs=v2;Ds=new ns();Es=new ns();Fs=new ns();at=new ns();bt=new ns();}
-function us(a){a.b=(uz(),wz);a.c=(Dz(),aA);}
-function vs(a){xs();Ap(a);us(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
-function ws(c,d,a){var b;if(a===Ds){if(d===c.a){return;}else if(c.a!==null){throw sS(new rS(),'Only one CENTER widget may be added');}}yP(d);FO(c.f,d);if(a===Ds){c.a=d;}b=qs(new ps(),a);AP(d,b);As(c,d,c.b);Bs(c,d,c.c);ys(c);AD(c,d);}
-function ys(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=eP(p.f);zO(h);){c=AO(h);e=c.u.a;if(e===Fs||e===at){++l;}else if(e===Es||e===bt){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[633],[33],[l],null);for(g=0;g<l;++g){m[g]=new ss();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=eP(p.f);zO(h);){c=AO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===Fs){hf(m[j].b,o,m[j].a);td(o,c.rb());wf(o,'colSpan',f-q+1);++j;}else if(i.a===at){hf(m[n].b,o,m[n].a);td(o,c.rb());wf(o,'colSpan',f-q+1);--n;}else if(i.a===bt){k=m[j];hf(k.b,o,k.a++);td(o,c.rb());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===Es){k=m[j];hf(k.b,o,k.a);td(o,c.rb());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===Ds){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.rb());}}
-function zs(b,c){var a;a=gr(b,c);if(a){if(c===b.a){b.a=null;}ys(b);}return a;}
-function As(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
-function Bs(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
-function Cs(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
-function ct(a){return zs(this,a);}
-function dt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
-function et(a,b){Cs(this,a,b);}
-function ms(){}
-_=ms.prototype=new zp();_.be=ct;_.he=dt;_.ie=et;_.tN=sfc+'DockPanel';_.tI=58;_.a=null;var Ds,Es,Fs,at,bt;function ns(){}
-_=ns.prototype=new xT();_.tN=sfc+'DockPanel$DockLayoutConstant';_.tI=59;function qs(b,a){b.a=a;return b;}
-function ps(){}
-_=ps.prototype=new xT();_.tN=sfc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function ss(){}
-_=ss.prototype=new xT();_.tN=sfc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function gt(a){a.je(yd('input'));xf(a.rb(),'type','file');AN(a,'gwt-FileUpload');return a;}
-function it(a){return bf(a.rb(),'value');}
-function jt(b,a){xf(b.rb(),'name',a);}
-function ft(){}
-_=ft.prototype=new uO();_.tN=sfc+'FileUpload';_.tI=62;function by(a){a.s=xx(new sx());}
-function cy(a){by(a);a.q=ge();a.m=de();td(a.q,a.m);a.je(a.q);BN(a,1);return a;}
-function dy(b,a){if(b.r===null){b.r=fK(new eK());}bY(b.r,a);}
-function ey(d,c,b){var a;fy(d,c);if(b<0){throw yS(new xS(),'Column '+b+' must be non-negative: '+b);}a=d.pb(c);if(a<=b){throw yS(new xS(),'Column index: '+b+', Column size: '+d.pb(c));}}
-function fy(c,a){var b;b=c.Cb();if(a>=b||a<0){throw yS(new xS(),'Row index: '+a+', Row size: '+b);}}
-function gy(e,c,b,a){var d;d=Ew(e.n,c,b);ty(e,d,a);return d;}
-function hy(d){var a,b,c;for(c=0;c<d.Cb();++c){for(b=0;b<d.pb(c);++b){a=py(d,c,b);if(a!==null){wy(d,a);}}}}
-function jy(a){return ee();}
-function ky(c,b,a){return b.rows[a].cells.length;}
-function ly(a){return my(a,a.m);}
-function my(b,a){return a.rows.length;}
-function ny(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(pU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
-function oy(d,c,a){var b;ey(d,c,a);b=Dw(d.n,c,a);return ef(b);}
-function qy(c,b,a){ey(c,b,a);return py(c,b,a);}
-function py(e,d,b){var a,c;c=Ew(e.n,d,b);a=df(c);if(a===null){return null;}else{return zx(e.s,a);}}
-function ry(d,b,a){var c,e;e=qx(d.p,d.m,b);c=d.eb();hf(e,c,a);}
-function sy(b,a){var c;if(a!=vt(b)){fy(b,a);}c=fe();hf(b.m,c,a);return a;}
-function ty(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=zx(d.s,b);}if(e!==null){wy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
-function wy(b,c){var a;if(c.v!==b){return false;}CD(b,c);a=c.rb();nf(ff(a),a);Cx(b.s,a);return true;}
-function uy(d,b,a){var c,e;ey(d,b,a);c=gy(d,b,a,false);e=qx(d.p,d.m,b);nf(e,c);}
-function vy(d,c){var a,b;b=d.pb(c);for(a=0;a<b;++a){gy(d,c,a,false);}nf(d.m,qx(d.p,d.m,c));}
-function xy(a,b){xf(a.q,'border',''+b);}
-function yy(b,a){b.n=a;}
-function zy(b,a){wf(b.q,'cellPadding',a);}
-function Ay(b,a){wf(b.q,'cellSpacing',a);}
-function By(b,a){b.o=a;lx(b.o);}
-function Cy(e,c,a,b){var d;cw(e,c,a);d=gy(e,c,a,b===null);if(b!==null){Af(d,b);}}
-function Dy(b,a){b.p=a;}
-function Ey(e,b,a,d){var c;e.ud(b,a);c=gy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
-function Fy(d,b,a,e){var c;d.ud(b,a);if(e!==null){yP(e);c=gy(d,b,a,true);Ax(d.s,e);td(c,e.rb());AD(d,e);}}
-function az(){hy(this);}
-function bz(){return jy(this);}
-function cz(b,a){ry(this,b,a);}
-function dz(){return Dx(this.s);}
-function ez(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=ny(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);hK(this.r,this,d,b);}break;}default:}}
-function hz(a){return wy(this,a);}
-function fz(b,a){uy(this,b,a);}
-function gz(a){vy(this,a);}
-function iz(b,a,c){Fy(this,b,a,c);}
-function ow(){}
-_=ow.prototype=new zD();_.F=az;_.eb=bz;_.jc=cz;_.nc=dz;_.tc=ez;_.be=hz;_.Cd=fz;_.Ed=gz;_.ve=iz;_.tN=sfc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function rt(a){cy(a);yy(a,nt(new mt(),a));Dy(a,nx(new mx(),a));By(a,jx(new ix(),a));return a;}
-function tt(b,a){fy(b,a);return ky(b,b.m,a);}
-function ut(a){return Fb(a.n,43);}
-function vt(a){return ly(a);}
-function wt(b,a){return sy(b,a);}
-function xt(d,b){var a,c;if(b<0){throw yS(new xS(),'Cannot create a row with a negative index: '+b);}c=vt(d);for(a=c;a<=b;a++){wt(d,a);}}
-function yt(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
-function zt(a){return tt(this,a);}
-function At(){return vt(this);}
-function Bt(b,a){ry(this,b,a);}
-function Ct(d,b){var a,c;xt(this,d);if(b<0){throw yS(new xS(),'Cannot create a column with a negative index: '+b);}a=tt(this,d);c=b+1-a;if(c>0){yt(this.m,d,c);}}
-function Dt(a){xt(this,a);}
-function Et(b,a){uy(this,b,a);}
-function Ft(a){vy(this,a);}
-function lt(){}
-_=lt.prototype=new ow();_.pb=zt;_.Cb=At;_.jc=Bt;_.ud=Ct;_.vd=Dt;_.Cd=Et;_.Ed=Ft;_.tN=sfc+'FlexTable';_.tI=64;function zw(b,a){b.a=a;return b;}
-function Bw(c,b,a){c.a.ud(b,a);return Cw(c,c.a.m,b,a);}
-function Cw(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
-function Dw(c,b,a){ey(c.a,b,a);return Cw(c,c.a.m,b,a);}
-function Ew(c,b,a){return Cw(c,c.a.m,b,a);}
-function Fw(d,c,a){var b;b=Dw(d,c,a);return bO(b);}
-function ax(e,b,a,c){var d;ey(e.a,b,a);d=Cw(e,e.a.m,b,a);fO(d,c,false);}
-function bx(d,c,a,b,e){dx(d,c,a,b);fx(d,c,a,e);}
-function cx(e,d,a,c){var b;e.a.ud(d,a);b=Cw(e,e.a.m,d,a);xf(b,'height',c);}
-function dx(e,d,b,a){var c;e.a.ud(d,b);c=Cw(e,e.a.m,d,b);xf(c,'align',a.a);}
-function ex(d,b,a,c){d.a.ud(b,a);eO(Cw(d,d.a.m,b,a),c);}
-function fx(d,c,b,a){d.a.ud(c,b);Df(Cw(d,d.a.m,c,b),'verticalAlign',a.a);}
-function gx(d,c,a,e){var b;b=Bw(d,c,a);hO(b,e);}
-function hx(c,b,a,d){c.a.ud(b,a);xf(Cw(c,c.a.m,b,a),'width',d);}
-function yw(){}
-_=yw.prototype=new xT();_.tN=sfc+'HTMLTable$CellFormatter';_.tI=65;function nt(b,a){zw(b,a);return b;}
-function pt(d,c,b,a){wf(Bw(d,c,b),'colSpan',a);}
-function qt(d,b,a,c){wf(Bw(d,b,a),'rowSpan',c);}
-function mt(){}
-_=mt.prototype=new yw();_.tN=sfc+'FlexTable$FlexCellFormatter';_.tI=66;function bu(a){FX(a);return a;}
-function eu(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),44);b.Bc(c);}}
-function du(c,b,a){switch(xe(a)){case 2048:eu(c,b);break;case 4096:fu(c,b);break;}}
-function fu(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),44);b.dd(c);}}
-function au(){}
-_=au.prototype=new DX();_.tN=sfc+'FocusListenerCollection';_.tI=67;function iu(){iu=v2;ju=(rQ(),vQ);}
-var ju;function yu(a){FX(a);return a;}
-function Au(f,e,d){var a,b,c;a=uv(new tv(),e,d);for(c=f.nc();c.hc();){b=Fb(c.pc(),45);b.kd(a);}}
-function Bu(e,d){var a,b,c;a=new wv();for(c=e.nc();c.hc();){b=Fb(c.pc(),45);b.ld(a);}return a.a;}
-function xu(){}
-_=xu.prototype=new DX();_.tN=sfc+'FormHandlerCollection';_.tI=68;function ev(){ev=v2;ov=new xQ();}
-function cv(a){ev();bH(a,zd());a.b='FormPanel_'+ ++nv;lv(a,a.b);BN(a,32768);return a;}
-function dv(b,a){if(b.a===null){b.a=yu(new xu());}bY(b.a,a);}
-function fv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
-function gv(a){if(a.a!==null){return !Bu(a.a,a);}return true;}
-function hv(a){if(a.a!==null){eg(Fu(new Eu(),a));}}
-function iv(a,b){xf(a.rb(),'action',b);}
-function jv(b,a){CQ(ov,b.rb(),a);}
-function kv(b,a){xf(b.rb(),'method',a);}
-function lv(b,a){xf(b.rb(),'target',a);}
-function mv(a){if(a.a!==null){if(Bu(a.a,a)){return;}}DQ(ov,a.rb(),a.c);}
-function pv(){wP(this);fv(this);td(nG(),this.c);BQ(ov,this.c,this.rb(),this);}
-function qv(){xP(this);EQ(ov,this.c,this.rb());nf(nG(),this.c);this.c=null;}
-function rv(){var a;a=x;{return gv(this);}}
-function sv(){var a;a=x;{hv(this);}}
-function Du(){}
-_=Du.prototype=new yG();_.rc=pv;_.yc=qv;_.Cc=rv;_.Dc=sv;_.tN=sfc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var nv=0,ov;function Fu(b,a){b.a=a;return b;}
-function bv(){Au(this.a.a,this,AQ((ev(),ov),this.a.c));}
-function Eu(){}
-_=Eu.prototype=new xT();_.nb=bv;_.tN=sfc+'FormPanel$1';_.tI=70;function EZ(){}
-_=EZ.prototype=new xT();_.tN=wfc+'EventObject';_.tI=71;function uv(c,b,a){c.a=a;return c;}
-function tv(){}
-_=tv.prototype=new EZ();_.tN=sfc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function yv(b,a){b.a=a;}
-function wv(){}
-_=wv.prototype=new EZ();_.tN=sfc+'FormSubmitEvent';_.tI=73;_.a=false;function Av(a){a.je(Ad());return a;}
-function Bv(a,b){Av(a);Dv(a,b);return a;}
-function Dv(a,b){xf(a.rb(),'src',b);}
-function zv(){}
-_=zv.prototype=new uO();_.tN=sfc+'Frame';_.tI=74;function Fv(a){cy(a);yy(a,zw(new yw(),a));Dy(a,nx(new mx(),a));By(a,jx(new ix(),a));return a;}
-function aw(c,b,a){Fv(c);gw(c,b,a);return c;}
-function cw(c,b,a){dw(c,b);if(a<0){throw yS(new xS(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw yS(new xS(),'Column index: '+a+', Column size: '+c.k);}}
-function dw(b,a){if(a<0){throw yS(new xS(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw yS(new xS(),'Row index: '+a+', Row size: '+b.l);}}
-function gw(c,b,a){ew(c,a);fw(c,b);}
-function ew(d,a){var b,c;if(d.k==a){return;}if(a<0){throw yS(new xS(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Cd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.jc(b,c);}}}d.k=a;}
-function fw(b,a){if(b.l==a){return;}if(a<0){throw yS(new xS(),'Cannot set number of rows to '+a);}if(b.l<a){hw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.Ed(--b.l);}}}
-function hw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
-function iw(){var a;a=jy(this);Af(a,'&nbsp;');return a;}
-function jw(a){return this.k;}
-function kw(){return this.l;}
-function lw(b,a){cw(this,b,a);}
-function mw(a){dw(this,a);}
-function Ev(){}
-_=Ev.prototype=new ow();_.eb=iw;_.pb=jw;_.Cb=kw;_.ud=lw;_.vd=mw;_.tN=sfc+'Grid';_.tI=75;_.k=0;_.l=0;function bC(a){a.je(xd());BN(a,131197);AN(a,'gwt-Label');return a;}
-function cC(b,a){bC(b);hC(b,a);return b;}
-function dC(b,a){if(b.a===null){b.a=wq(new vq());}bY(b.a,a);}
-function eC(b,a){if(b.b===null){b.b=gD(new fD());}bY(b.b,a);}
-function gC(a){return ef(a.rb());}
-function hC(b,a){Bf(b.rb(),a);}
-function iC(a,b){Df(a.rb(),'whiteSpace',b?'normal':'nowrap');}
-function jC(a){switch(xe(a)){case 1:if(this.a!==null){yq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){kD(this.b,this,a);}break;case 131072:break;}}
-function aC(){}
-_=aC.prototype=new uO();_.tc=jC;_.tN=sfc+'Label';_.tI=76;_.a=null;_.b=null;function jz(a){bC(a);a.je(xd());BN(a,125);AN(a,'gwt-HTML');return a;}
-function kz(b,a){jz(b);nz(b,a);return b;}
-function lz(b,a,c){kz(b,a);iC(b,c);return b;}
-function nz(b,a){Af(b.rb(),a);}
-function nw(){}
-_=nw.prototype=new aC();_.tN=sfc+'HTML';_.tI=77;function qw(a){{tw(a);}}
-function rw(b,a){b.c=a;qw(b);return b;}
-function tw(a){while(++a.b<a.c.b.b){if(gY(a.c.b,a.b)!==null){return;}}}
-function uw(a){return a.b<a.c.b.b;}
-function vw(){return uw(this);}
-function ww(){var a;if(!uw(this)){throw new d2();}a=gY(this.c.b,this.b);this.a=this.b;tw(this);return a;}
-function xw(){var a;if(this.a<0){throw new uS();}a=Fb(gY(this.c.b,this.a),20);yP(a);this.a=(-1);}
-function pw(){}
-_=pw.prototype=new xT();_.hc=vw;_.pc=ww;_.Fd=xw;_.tN=sfc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function jx(b,a){b.b=a;return b;}
-function lx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
-function ix(){}
-_=ix.prototype=new xT();_.tN=sfc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function nx(b,a){b.a=a;return b;}
-function px(b,a){b.a.vd(a);return qx(b,b.a.m,a);}
-function qx(c,a,b){return a.rows[b];}
-function rx(c,a,b){eO(px(c,a),b);}
-function mx(){}
-_=mx.prototype=new xT();_.tN=sfc+'HTMLTable$RowFormatter';_.tI=80;function wx(a){a.b=FX(new DX());}
-function xx(a){wx(a);return a;}
-function zx(c,a){var b;b=Fx(a);if(b<0){return null;}return Fb(gY(c.b,b),20);}
-function Ax(b,c){var a;if(b.a===null){a=b.b.b;bY(b.b,c);}else{a=b.a.a;mY(b.b,a,c);b.a=b.a.b;}ay(c.rb(),a);}
-function Bx(c,a,b){Ex(a);mY(c.b,b,null);c.a=ux(new tx(),b,c.a);}
-function Cx(c,a){var b;b=Fx(a);Bx(c,a,b);}
-function Dx(a){return rw(new pw(),a);}
-function Ex(a){a['__widgetID']=null;}
-function Fx(a){var b=a['__widgetID'];return b==null?-1:b;}
-function ay(a,b){a['__widgetID']=b;}
-function sx(){}
-_=sx.prototype=new xT();_.tN=sfc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function ux(c,a,b){c.a=a;c.b=b;return c;}
-function tx(){}
-_=tx.prototype=new xT();_.tN=sfc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function uz(){uz=v2;vz=sz(new rz(),'center');wz=sz(new rz(),'left');xz=sz(new rz(),'right');}
-var vz,wz,xz;function sz(b,a){b.a=a;return b;}
-function rz(){}
-_=rz.prototype=new xT();_.tN=sfc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function Dz(){Dz=v2;Ez=Bz(new Az(),'bottom');Fz=Bz(new Az(),'middle');aA=Bz(new Az(),'top');}
-var Ez,Fz,aA;function Bz(a,b){a.a=b;return a;}
-function Az(){}
-_=Az.prototype=new xT();_.tN=sfc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function eA(a){a.a=(uz(),wz);a.c=(Dz(),aA);}
-function fA(a){Ap(a);eA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function gA(b,c){var a;a=iA(b);td(b.b,a);Dq(b,c,a);}
-function iA(b){var a;a=ee();Cp(b,a,b.a);Dp(b,a,b.c);return a;}
-function jA(c,d,a){var b;ar(c,a);b=iA(c);hf(c.b,b,a);er(c,d,b,a,false);}
-function kA(c,d){var a,b;b=ff(d.rb());a=gr(c,d);if(a){nf(c.b,b);}return a;}
-function lA(b,a){b.c=a;}
-function mA(a){return kA(this,a);}
-function dA(){}
-_=dA.prototype=new zp();_.be=mA;_.tN=sfc+'HorizontalPanel';_.tI=85;_.b=null;function oA(a){a.je(xd());td(a.rb(),a.a=vd());BN(a,1);AN(a,'gwt-Hyperlink');return a;}
-function pA(c,b,a){oA(c);sA(c,b);rA(c,a);return c;}
-function rA(b,a){b.b=a;xf(b.a,'href','#'+a);}
-function sA(b,a){Bf(b.a,a);}
-function tA(a){if(xe(a)==1){ah(this.b);ye(a);}}
-function nA(){}
-_=nA.prototype=new uO();_.tc=tA;_.tN=sfc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function nB(){nB=v2;C0(new a0());}
-function jB(a){nB();mB(a,cB(new bB(),a));AN(a,'gwt-Image');return a;}
-function kB(a,b){nB();mB(a,dB(new bB(),a,b));AN(a,'gwt-Image');return a;}
-function lB(b,a){if(b.a===null){b.a=wq(new vq());}bY(b.a,a);}
-function mB(b,a){b.b=a;}
-function pB(a,b){a.b.re(a,b);}
-function oB(c,e,b,d,f,a){c.b.qe(c,e,b,d,f,a);}
-function qB(a){switch(xe(a)){case 1:{if(this.a!==null){yq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
-function uA(){}
-_=uA.prototype=new uO();_.tc=qB;_.tN=sfc+'Image';_.tI=87;_.a=null;_.b=null;function xA(){}
-function vA(){}
-_=vA.prototype=new xT();_.nb=xA;_.tN=sfc+'Image$1';_.tI=88;function FA(){}
-_=FA.prototype=new xT();_.tN=sfc+'Image$State';_.tI=89;function AA(){AA=v2;CA=new fQ();}
-function zA(d,b,f,c,e,g,a){AA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.je(iQ(CA,f,c,e,g,a));BN(b,131197);BA(d,b);return d;}
-function BA(b,a){eg(new vA());}
-function EA(a,b){mB(a,dB(new bB(),a,b));}
-function DA(b,e,c,d,f,a){if(!qU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;gQ(CA,b.rb(),e,c,d,f,a);BA(this,b);}}
-function yA(){}
-_=yA.prototype=new FA();_.re=EA;_.qe=DA;_.tN=sfc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var CA;function cB(b,a){a.je(Bd());BN(a,229501);return b;}
-function dB(b,a,c){cB(b,a);fB(b,a,c);return b;}
-function fB(b,a,c){zf(a.rb(),c);}
-function hB(a,b){fB(this,a,b);}
-function gB(b,e,c,d,f,a){mB(b,zA(new yA(),b,e,c,d,f,a));}
-function bB(){}
-_=bB.prototype=new FA();_.re=hB;_.qe=gB;_.tN=sfc+'Image$UnclippedState';_.tI=91;function uB(c,a,b){}
-function vB(c,a,b){}
-function wB(c,a,b){}
-function sB(){}
-_=sB.prototype=new xT();_.Fc=uB;_.ad=vB;_.bd=wB;_.tN=sfc+'KeyboardListenerAdapter';_.tI=92;function yB(a){FX(a);return a;}
-function AB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.Fc(e,b,d);}}
-function BB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.ad(e,b,d);}}
-function CB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.bd(e,b,d);}}
-function DB(d,c,a){var b;b=EB(a);switch(xe(a)){case 128:AB(d,c,bc(se(a)),b);break;case 512:CB(d,c,bc(se(a)),b);break;case 256:BB(d,c,bc(se(a)),b);break;}}
-function EB(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
-function xB(){}
-_=xB.prototype=new DX();_.tN=sfc+'KeyboardListenerCollection';_.tI=93;function zC(){zC=v2;nu();dD=new lC();}
-function sC(a){zC();tC(a,false);return a;}
-function tC(b,a){zC();lu(b,be(a));BN(b,1024);AN(b,'gwt-ListBox');return b;}
-function uC(b,a){if(b.b===null){b.b=bq(new aq());}bY(b.b,a);}
-function vC(b,a){EC(b,a,(-1));}
-function wC(b,a,c){FC(b,a,c,(-1));}
-function xC(b,a){if(a<0||a>=AC(b)){throw new xS();}}
-function yC(a){mC(dD,a.rb());}
-function AC(a){return oC(dD,a.rb());}
-function BC(b,a){xC(b,a);return pC(dD,b.rb(),a);}
-function CC(a){return af(a.rb(),'selectedIndex');}
-function DC(b,a){xC(b,a);return qC(dD,b.rb(),a);}
-function EC(c,b,a){FC(c,b,b,a);}
-function FC(c,b,d,a){jf(c.rb(),b,d,a);}
-function aD(b,a){xC(b,a);rC(dD,b.rb(),a);}
-function bD(b,a){wf(b.rb(),'selectedIndex',a);}
-function cD(a,b){wf(a.rb(),'size',b);}
-function eD(a){if(xe(a)==1024){if(this.b!==null){dq(this.b,this);}}else{ou(this,a);}}
-function kC(){}
-_=kC.prototype=new ku();_.tc=eD;_.tN=sfc+'ListBox';_.tI=94;_.b=null;var dD;function mC(b,a){a.options.length=0;}
-function oC(b,a){return a.options.length;}
-function pC(c,b,a){return b.options[a].text;}
-function qC(c,b,a){return b.options[a].value;}
-function rC(c,b,a){b.options[a]=null;}
-function lC(){}
-_=lC.prototype=new xT();_.tN=sfc+'ListBox$Impl';_.tI=95;function gD(a){FX(a);return a;}
-function iD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.ed(c,e,f);}}
-function jD(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.fd(c);}}
-function kD(e,c,a){var b,d,f,g,h;d=c.rb();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:iD(e,c,g,h);break;case 8:nD(e,c,g,h);break;case 64:mD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){jD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){lD(e,c);}break;}}
-function lD(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.gd(c);}}
-function mD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.hd(c,e,f);}}
-function nD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.id(c,e,f);}}
-function fD(){}
-_=fD.prototype=new DX();_.tN=sfc+'MouseListenerCollection';_.tI=96;function pD(){}
-_=pD.prototype=new xT();_.tN=sfc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=97;_.a=null;_.b=null;function tD(b,a){xD(a,b.Bd());yD(a,b.Bd());}
-function uD(a){return a.a;}
-function vD(a){return a.b;}
-function wD(b,a){b.cf(uD(a));b.cf(vD(a));}
-function xD(a,b){a.a=b;}
-function yD(a,b){a.b=b;}
-function wK(){wK=v2;nu();DK=new mR();}
-function sK(b,a){wK();lu(b,a);BN(b,1024);return b;}
-function tK(b,a){if(b.f===null){b.f=bq(new aq());}bY(b.f,a);}
-function uK(b,a){if(b.i===null){b.i=yB(new xB());}bY(b.i,a);}
-function vK(a){if(a.h!==null){ye(a.h);}}
-function xK(a){return bf(a.rb(),'value');}
-function yK(b,a){AK(b,a,0);}
-function zK(b,a){xf(b.rb(),'name',a);}
-function AK(c,b,a){if(a<0){throw yS(new xS(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>uU(xK(c))){throw yS(new xS(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+uU(xK(c)));}qR(DK,c.rb(),b,a);}
-function BK(b,a){xf(b.rb(),'value',a!==null?a:'');}
-function CK(a){if(this.g===null){this.g=wq(new vq());}bY(this.g,a);}
-function EK(a){var b;ou(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;DB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){yq(this.g,this);}}else if(b==1024){if(this.f!==null){dq(this.f,this);}}}
-function rK(){}
-_=rK.prototype=new ku();_.x=CK;_.tc=EK;_.tN=sfc+'TextBoxBase';_.tI=98;_.f=null;_.g=null;_.h=null;_.i=null;var DK;function eE(){eE=v2;wK();}
-function dE(a){eE();sK(a,Dd());AN(a,'gwt-PasswordTextBox');return a;}
-function cE(){}
-_=cE.prototype=new rK();_.tN=sfc+'PasswordTextBox';_.tI=99;function pF(b,a){qF(b,a,null);return b;}
-function qF(c,a,b){c.a=a;sF(c);return c;}
-function rF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=EF(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=EF(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=BF(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
-function sF(a){a.b=0;a.c={};a.d={};}
-function uF(b,a){return fY(vF(b,a,1),a);}
-function vF(c,b,a){var d;d=FX(new DX());if(b!==null&&a>0){xF(c,b,'',d,a);}return d;}
-function wF(a){return eF(new dF(),a);}
-function xF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=EF(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+bG(a);h.ze(f,l,c,b);}}else{for(j in k){var l=d+bG(j);if(l.indexOf(f)==0){c.C(l);}if(c.ye()>=b){return;}}for(var a in i){var l=d+bG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.ye()||h.b==1){h.lb(c,l);}else{for(var j in h.d){c.C(l+bG(j));}for(var g in h.c){c.C(l+bG(g)+'...');}}}}}}
-function yF(a){if(ac(a,1)){return rF(this,Fb(a,1));}else{throw vV(new uV(),'Cannot add non-Strings to PrefixTree');}}
-function zF(a){return rF(this,a);}
-function AF(a){if(ac(a,1)){return uF(this,Fb(a,1));}else{return false;}}
-function BF(a){return pF(new cF(),a);}
-function CF(b,c){var a;for(a=wF(this);hF(a);){b.C(c+Fb(kF(a),1));}}
-function DF(){return wF(this);}
-function EF(a){return Eb(58)+a;}
-function FF(){return this.b;}
-function aG(d,c,b,a){xF(this,d,c,b,a);}
-function bG(a){return zU(a,1);}
-function cF(){}
-_=cF.prototype=new xV();_.C=yF;_.D=zF;_.db=AF;_.lb=CF;_.nc=DF;_.ye=FF;_.ze=aG;_.tN=sfc+'PrefixTree';_.tI=100;_.a=0;_.b=0;_.c=null;_.d=null;function eF(a,b){iF(a);fF(a,b,'');return a;}
-function fF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
-function hF(a){return jF(a,true)!==null;}
-function iF(a){a.a=[];}
-function kF(a){var b;b=jF(a,false);if(b===null){if(!hF(a)){throw e2(new d2(),'No more elements in the iterator');}else{throw DT(new CT(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
-function jF(g,b){var d=g.a;var c=EF;var i=bG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
-function lF(b,a){fF(this,b,a);}
-function mF(){return hF(this);}
-function nF(){return kF(this);}
-function oF(){throw vV(new uV(),'PrefixTree does not support removal.  Use clear()');}
-function dF(){}
-_=dF.prototype=new xT();_.A=lF;_.hc=mF;_.pc=nF;_.Fd=oF;_.tN=sfc+'PrefixTree$PrefixTreeIterator';_.tI=101;_.a=null;function fG(){fG=v2;jq();}
-function dG(b,a){fG();hq(b,Ed(a));AN(b,'gwt-RadioButton');return b;}
-function eG(c,b,a){fG();dG(c,b);nq(c,a);return c;}
-function cG(){}
-_=cG.prototype=new fq();_.tN=sfc+'RadioButton';_.tI=102;function mG(){mG=v2;rG=C0(new a0());}
-function lG(b,a){mG();ip(b);if(a===null){a=nG();}b.je(a);b.rc();return b;}
-function oG(){mG();return pG(null);}
-function pG(c){mG();var a,b;b=Fb(c1(rG,c),48);if(b!==null){return b;}a=null;if(rG.c==0){qG();}d1(rG,c,b=lG(new gG(),a));return b;}
-function nG(){mG();return $doc.body;}
-function qG(){mG();yh(new hG());}
-function gG(){}
-_=gG.prototype=new hp();_.tN=sfc+'RootPanel';_.tI=103;var rG;function jG(){var a,b;for(b=cX(rX((mG(),rG)));jX(b);){a=Fb(kX(b),48);if(a.lc()){a.yc();}}}
-function kG(){return null;}
-function hG(){}
-_=hG.prototype=new xT();_.rd=jG;_.sd=kG;_.tN=sfc+'RootPanel$1';_.tI=104;function tG(a){aH(a);wG(a,false);BN(a,16384);return a;}
-function uG(b,a){tG(b);b.we(a);return b;}
-function wG(b,a){Df(b.rb(),'overflow',a?'scroll':'auto');}
-function xG(a){xe(a)==16384;}
-function sG(){}
-_=sG.prototype=new yG();_.tc=xG;_.tN=sfc+'ScrollPanel';_.tI=105;function AG(a){a.a=a.c.r!==null;}
-function BG(b,a){b.c=a;AG(b);return b;}
-function DG(){return this.a;}
-function EG(){if(!this.a||this.c.r===null){throw new d2();}this.a=false;return this.b=this.c.r;}
-function FG(){if(this.b!==null){this.c.be(this.b);}}
-function zG(){}
-_=zG.prototype=new xT();_.hc=DG;_.pc=EG;_.Fd=FG;_.tN=sfc+'SimplePanel$1';_.tI=106;_.b=null;function wH(b){var a;Cq(b);a=ge();b.je(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);AN(b,'gwt-StackPanel');return b;}
-function xH(a,b){BH(a,b,a.f.c);}
-function yH(c,d,b,a){xH(c,d);DH(c,c.f.c-1,b,a);}
-function AH(d,a){var b,c;while(a!==null&& !ud(a,d.rb())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return ES(b);}else{return (-1);}}a=ff(a);}return (-1);}
-function BH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=Eq(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);fO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');er(e,h,c,a,false);aI(e,a);if(e.b==(-1)){FH(e,0);}else{EH(e,a,false);if(e.b>=a){++e.b;}}}
-function CH(e,a,b){var c,d,f;c=gr(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}aI(e,d);}return c;}
-function DH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
-function EH(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);fO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);hO(d,e);dr(c,a).ue(e);}
-function FH(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){EH(b,b.b,false);}b.b=a;EH(b,b.b,true);}
-function aI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
-function bI(a){var b,c;if(xe(a)==1){c=ve(a);b=AH(this,c);if(b!=(-1)){FH(this,b);}}}
-function cI(a){return CH(this,dr(this,a),a);}
-function dI(a){return CH(this,a,cr(this,a));}
-function vH(){}
-_=vH.prototype=new Aq();_.tc=bI;_.ae=cI;_.be=dI;_.tN=sfc+'StackPanel';_.tI=107;_.a=null;_.b=(-1);function eI(){}
-_=eI.prototype=new xT();_.tN=sfc+'SuggestOracle$Request';_.tI=108;_.a=20;_.b=null;function gI(){}
-_=gI.prototype=new xT();_.tN=sfc+'SuggestOracle$Response';_.tI=109;_.a=null;function lI(b,a){pI(a,b.yd());qI(a,b.Bd());}
-function mI(a){return a.a;}
-function nI(a){return a.b;}
-function oI(b,a){b.Fe(mI(a));b.cf(nI(a));}
-function pI(a,b){a.a=b;}
-function qI(a,b){a.b=b;}
-function tI(b,a){wI(a,Fb(b.Ad(),49));}
-function uI(a){return a.a;}
-function vI(b,a){b.bf(uI(a));}
-function wI(a,b){a.a=b;}
-function yI(a){a.a=fA(new dA());}
-function zI(c){var a,b;yI(c);mr(c,c.a);BN(c,1);AN(c,'gwt-TabBar');lA(c.a,(Dz(),Ez));a=lz(new nw(),'&nbsp;',true);b=lz(new nw(),'&nbsp;',true);AN(a,'gwt-TabBarFirst');AN(b,'gwt-TabBarRest');a.ne('100%');b.ne('100%');gA(c.a,a);gA(c.a,b);a.ne('100%');c.a.he(a,'100%');c.a.ie(b,'100%');return c;}
-function AI(b,a){if(b.c===null){b.c=fJ(new eJ());}bY(b.c,a);}
-function BI(b,a){if(a<0||a>EI(b)){throw new xS();}}
-function CI(b,a){if(a<(-1)||a>=EI(b)){throw new xS();}}
-function EI(a){return a.a.f.c-2;}
-function FI(e,d,a,b){var c;BI(e,b);if(a){c=kz(new nw(),d);}else{c=cC(new aC(),d);}iC(c,false);dC(c,e);AN(c,'gwt-TabBarItem');jA(e.a,c,b+1);}
-function aJ(b,a){var c;CI(b,a);c=dr(b.a,a+1);if(c===b.b){b.b=null;}kA(b.a,c);}
-function bJ(b,a){CI(b,a);if(b.c!==null){if(!hJ(b.c,b,a)){return false;}}cJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=dr(b.a,a+1);cJ(b,b.b,true);if(b.c!==null){iJ(b.c,b,a);}return true;}
-function cJ(c,a,b){if(a!==null){if(b){pN(a,'gwt-TabBarItem-selected');}else{vN(a,'gwt-TabBarItem-selected');}}}
-function dJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(dr(this.a,a)===b){bJ(this,a-1);return;}}}
-function xI(){}
-_=xI.prototype=new kr();_.wc=dJ;_.tN=sfc+'TabBar';_.tI=110;_.b=null;_.c=null;function fJ(a){FX(a);return a;}
-function hJ(e,c,d){var a,b;for(a=e.nc();a.hc();){b=Fb(a.pc(),50);if(!b.sc(c,d)){return false;}}return true;}
-function iJ(e,c,d){var a,b;for(a=e.nc();a.hc();){b=Fb(a.pc(),50);b.nd(c,d);}}
-function eJ(){}
-_=eJ.prototype=new DX();_.tN=sfc+'TabListenerCollection';_.tI=111;function xJ(a){a.b=tJ(new sJ());a.a=mJ(new lJ(),a.b);}
-function yJ(b){var a;xJ(b);a=nO(new lO());oO(a,b.b);oO(a,b.a);a.he(b.a,'100%');b.b.xe('100%');AI(b.b,b);mr(b,a);AN(b,'gwt-TabPanel');AN(b.a,'gwt-TabPanelBottom');return b;}
-function zJ(c,d,b,a){DJ(c,d,b,a,c.a.f.c);}
-function CJ(b,a){return dr(b.a,a);}
-function BJ(a,b){return cr(a.a,b);}
-function DJ(d,e,c,a,b){oJ(d.a,e,c,a,b);}
-function EJ(b,a){return b.a.ae(a);}
-function FJ(b,a){bJ(b.b,a);}
-function aK(){return fr(this.a);}
-function bK(a,b){return true;}
-function cK(a,b){yr(this.a,b);}
-function dK(a){return pJ(this.a,a);}
-function kJ(){}
-_=kJ.prototype=new kr();_.nc=aK;_.sc=bK;_.nd=cK;_.be=dK;_.tN=sfc+'TabPanel';_.tI=112;function mJ(b,a){sr(b);b.a=a;return b;}
-function oJ(e,f,d,a,b){var c;c=cr(e,f);if(c!=(-1)){pJ(e,f);if(c<b){b--;}}vJ(e.a,d,a,b);vr(e,f,b);}
-function pJ(b,c){var a;a=cr(b,c);if(a!=(-1)){wJ(b.a,a);return wr(b,c);}return false;}
-function qJ(){throw vV(new uV(),'Use TabPanel.clear() to alter the DeckPanel');}
-function rJ(a){return pJ(this,a);}
-function lJ(){}
-_=lJ.prototype=new rr();_.F=qJ;_.be=rJ;_.tN=sfc+'TabPanel$TabbedDeckPanel';_.tI=113;_.a=null;function tJ(a){zI(a);return a;}
-function vJ(d,c,a,b){FI(d,c,a,b);}
-function wJ(b,a){aJ(b,a);}
-function sJ(){}
-_=sJ.prototype=new xI();_.tN=sfc+'TabPanel$UnmodifiableTabBar';_.tI=114;function fK(a){FX(a);return a;}
-function hK(f,e,d,a){var b,c;for(b=f.nc();b.hc();){c=Fb(b.pc(),51);c.uc(e,d,a);}}
-function eK(){}
-_=eK.prototype=new DX();_.tN=sfc+'TableListenerCollection';_.tI=115;function lK(){lK=v2;wK();}
-function kK(a){lK();sK(a,he());AN(a,'gwt-TextArea');return a;}
-function mK(a){return pR(DK,a.rb());}
-function nK(a){return af(a.rb(),'rows');}
-function oK(a,b){wf(a.rb(),'cols',b);}
-function pK(b,a){wf(b.rb(),'rows',a);}
-function jK(){}
-_=jK.prototype=new rK();_.tN=sfc+'TextArea';_.tI=116;function aL(){aL=v2;wK();}
-function FK(a){aL();sK(a,Fd());AN(a,'gwt-TextBox');return a;}
-function bL(b,a){wf(b.rb(),'size',a);}
-function qK(){}
-_=qK.prototype=new rK();_.tN=sfc+'TextBox';_.tI=117;function oM(a){a.a=C0(new a0());}
-function pM(a){qM(a,mL(new lL()));return a;}
-function qM(b,a){oM(b);b.d=a;b.je(xd());Df(b.rb(),'position','relative');b.c=sQ((iu(),ju));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.rb(),b.c);BN(b,1021);Ef(b.c,6144);b.g=eL(new dL(),b);bM(b.g,b);AN(b,'gwt-Tree');return b;}
-function sM(c,a){var b;b=vL(new sL(),a);rM(c,b);return b;}
-function rM(b,a){fL(b.g,a);}
-function tM(b,a){if(b.f===null){b.f=jM(new iM());}bY(b.f,a);}
-function uM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){BL(yL(c.g,a));}}
-function wM(d,a,c,b){if(b===null||ud(b,c)){return;}wM(d,a,c,ff(b));bY(a,hc(b,hg));}
-function xM(e,d,b){var a,c;a=FX(new DX());wM(e,a,e.rb(),b);c=zM(e,a,0,d);if(c!==null){if(kf(AL(c),b)){aM(c,!c.f,true);return true;}else if(kf(c.rb(),b)){aN(e,c,true,!hN(e,b));return true;}}return false;}
-function yM(b,a){if(!a.f){return a;}return yM(b,yL(a,a.c.b-1));}
-function zM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(gY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=yL(h,d);if(ud(b.rb(),c)){g=zM(i,a,e+1,yL(h,d));if(g===null){return b;}return g;}}return zM(i,a,e+1,h);}
-function AM(b,a){if(b.f!==null){mM(b.f,a);}}
-function BM(b,a){return yL(b.g,a);}
-function CM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[619],[20],[a.a.c],null);qX(a.a).Be(b);return uP(a,b);}
-function DM(h,g){var a,b,c,d,e,f,i,j;c=zL(g);{f=g.d;a=rN(h);b=sN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);tQ((iu(),ju),h.c);}}
-function EM(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=xL(c,d);if(!a|| !d.f){if(b<c.c.b-1){aN(e,yL(c,b+1),true,true);}else{EM(e,c,false);}}else if(d.c.b>0){aN(e,yL(d,0),true,true);}}
-function FM(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=xL(b,c);if(a>0){d=yL(b,a-1);aN(e,yM(e,d),true,true);}else{aN(e,b,true,true);}}
-function aN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){EL(d.b,false);}d.b=b;if(c&&d.b!==null){DM(d,d.b);EL(d.b,true);if(a&&d.f!==null){lM(d.f,d.b);}}}
-function dN(b,c){var a;a=Fb(c1(b.a,c),52);if(a===null){return false;}dM(a,null);return true;}
-function bN(b,a){hL(b.g,a);}
-function cN(a){while(a.g.c.b>0){bN(a,BM(a,0));}}
-function eN(b,a){if(a){tQ((iu(),ju),b.c);}else{qQ((iu(),ju),b.c);}}
-function fN(b,a){gN(b,a,true);}
-function gN(c,b,a){if(b===null){if(c.b===null){return;}EL(c.b,false);c.b=null;return;}aN(c,b,a,true);}
-function hN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
-function iN(){var a,b;for(b=CM(this);nP(b);){a=oP(b);a.rc();}yf(this.c,this);}
-function jN(){var a,b;for(b=CM(this);nP(b);){a=oP(b);a.yc();}yf(this.c,null);}
-function kN(){return CM(this);}
-function lN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(hN(this,b)){}else{eN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.rb(),hg))){xM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){aN(this,yL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{FM(this,this.b);ye(c);break;}case 40:{EM(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){FL(this.b,false);}else{f=this.b.g;if(f!==null){fN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){FL(this.b,true);}else if(this.b.c.b>0){fN(this,yL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=FX(new DX());wM(this,a,this.rb(),ve(c));e=zM(this,a,0,this.g);if(e!==this.b){gN(this,e,true);}}}case 256:{break;}}this.e=d;}
-function mN(){eM(this.g);}
-function nN(a){return dN(this,a);}
-function cL(){}
-_=cL.prototype=new uO();_.ib=iN;_.kb=jN;_.nc=kN;_.tc=lN;_.cd=mN;_.be=nN;_.tN=sfc+'Tree';_.tI=118;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function tL(a){a.c=FX(new DX());a.i=jB(new uA());}
-function uL(d){var a,b,c,e;tL(d);d.je(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.rb(),d.e);td(d.rb(),d.b);td(c,d.i.rb());td(b,d.d);Df(d.d,'display','inline');Df(d.rb(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');fO(d.d,'gwt-TreeItem',true);return d;}
-function vL(b,a){uL(b);CL(b,a);return b;}
-function yL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(gY(b.c,a),52);}
-function xL(b,a){return hY(b.c,a);}
-function zL(a){var b;b=a.l;{return null;}}
-function AL(a){return a.i.rb();}
-function BL(a){if(a.g!==null){a.g.Dd(a);}else if(a.j!==null){bN(a.j,a);}}
-function CL(b,a){dM(b,null);Af(b.d,a);}
-function DL(b,a){b.g=a;}
-function EL(b,a){if(b.h==a){return;}b.h=a;fO(b.d,'gwt-TreeItem-selected',a);}
-function FL(b,a){aM(b,a,true);}
-function aM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;fM(c);if(a&&c.j!==null){AM(c.j,c);}}
-function bM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){fN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){bM(Fb(gY(d.c,a),52),c);}fM(d);}
-function cM(a,b){a.k=b;}
-function dM(b,a){Af(b.d,'');b.l=a;}
-function fM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){hO(b.b,false);mQ((nL(),qL),b.i);return;}if(b.f){hO(b.b,true);mQ((nL(),rL),b.i);}else{hO(b.b,false);mQ((nL(),pL),b.i);}}
-function eM(c){var a,b;fM(c);for(a=0,b=c.c.b;a<b;++a){eM(Fb(gY(c.c,a),52));}}
-function gM(a){if(a.g!==null||a.j!==null){BL(a);}DL(a,this);bY(this.c,a);Df(a.rb(),'marginLeft','16px');td(this.b,a.rb());bM(a,this.j);if(this.c.b==1){fM(this);}}
-function hM(a){if(!fY(this.c,a)){return;}bM(a,null);nf(this.b,a.rb());DL(a,null);lY(this.c,a);if(this.c.b==0){fM(this);}}
-function sL(){}
-_=sL.prototype=new oN();_.y=gM;_.Dd=hM;_.tN=sfc+'TreeItem';_.tI=119;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function eL(b,a){b.a=a;uL(b);return b;}
-function fL(b,a){if(a.g!==null||a.j!==null){BL(a);}td(b.a.rb(),a.rb());bM(a,b.j);DL(a,null);bY(b.c,a);Cf(a.rb(),'marginLeft',0);}
-function hL(b,a){if(!fY(b.c,a)){return;}bM(a,null);DL(a,null);lY(b.c,a);nf(b.a.rb(),a.rb());}
-function iL(a){fL(this,a);}
-function jL(a){hL(this,a);}
-function dL(){}
-_=dL.prototype=new sL();_.y=iL;_.Dd=jL;_.tN=sfc+'Tree$1';_.tI=120;function nL(){nL=v2;oL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';pL=lQ(new kQ(),oL,0,0,16,16);qL=lQ(new kQ(),oL,16,0,16,16);rL=lQ(new kQ(),oL,32,0,16,16);}
-function mL(a){nL();return a;}
-function lL(){}
-_=lL.prototype=new xT();_.tN=sfc+'TreeImages_generatedBundle';_.tI=121;var oL,pL,qL,rL;function jM(a){FX(a);return a;}
-function lM(d,b){var a,c;for(a=d.nc();a.hc();){c=Fb(a.pc(),53);c.od(b);}}
-function mM(d,b){var a,c;for(a=d.nc();a.hc();){c=Fb(a.pc(),53);c.pd(b);}}
-function iM(){}
-_=iM.prototype=new DX();_.tN=sfc+'TreeListenerCollection';_.tI=122;function mO(a){a.a=(uz(),wz);a.b=(Dz(),aA);}
-function nO(a){Ap(a);mO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function oO(b,d){var a,c;c=fe();a=qO(b);td(c,a);td(b.d,c);Dq(b,d,a);}
-function qO(b){var a;a=ee();Cp(b,a,b.a);Dp(b,a,b.b);return a;}
-function rO(b,a){b.a=a;}
-function sO(b,a){b.b=a;}
-function tO(c){var a,b;b=ff(c.rb());a=gr(this,c);if(a){nf(this.d,ff(b));}return a;}
-function lO(){}
-_=lO.prototype=new zp();_.be=tO;_.tN=sfc+'VerticalPanel';_.tI=123;function EO(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[619],[20],[4],null);return b;}
-function FO(a,b){dP(a,b,a.c);}
-function bP(b,a){if(a<0||a>=b.c){throw new xS();}return b.a[a];}
-function cP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
-function dP(d,e,a){var b,c;if(a<0||a>d.c){throw new xS();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[619],[20],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
-function eP(a){return xO(new wO(),a);}
-function fP(c,b){var a;if(b<0||b>=c.c){throw new xS();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
-function gP(b,c){var a;a=cP(b,c);if(a==(-1)){throw new d2();}fP(b,a);}
-function vO(){}
-_=vO.prototype=new xT();_.tN=sfc+'WidgetCollection';_.tI=124;_.a=null;_.b=null;_.c=0;function xO(b,a){b.b=a;return b;}
-function zO(a){return a.a<a.b.c-1;}
-function AO(a){if(a.a>=a.b.c){throw new d2();}return a.b.a[++a.a];}
-function BO(){return zO(this);}
-function CO(){return AO(this);}
-function DO(){if(this.a<0||this.a>=this.b.c){throw new uS();}this.b.b.be(this.b.a[this.a--]);}
-function wO(){}
-_=wO.prototype=new xT();_.hc=BO;_.pc=CO;_.Fd=DO;_.tN=sfc+'WidgetCollection$WidgetIterator';_.tI=125;_.a=(-1);function tP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[619],[20],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
-function uP(b,a){return kP(new iP(),a,b);}
-function jP(a){a.e=a.c;{mP(a);}}
-function kP(a,b,c){a.c=b;a.d=c;jP(a);return a;}
-function mP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
-function nP(a){return a.a<a.c.a;}
-function oP(a){var b;if(!nP(a)){throw new d2();}a.b=a.a;b=a.c[a.a];mP(a);return b;}
-function pP(){return nP(this);}
-function qP(){return oP(this);}
-function rP(){if(this.b<0){throw new uS();}if(!this.f){this.e=tP(this.e);this.f=true;}dN(this.d,this.c[this.b]);this.b=(-1);}
-function iP(){}
-_=iP.prototype=new xT();_.hc=pP;_.pc=qP;_.Fd=rP;_.tN=sfc+'WidgetIterators$1';_.tI=126;_.a=(-1);_.b=(-1);_.f=false;function gQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
-function iQ(c,f,b,e,g,a){var d;d=ce();Af(d,jQ(c,f,b,e,g,a));return df(d);}
-function jQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
-function fQ(){}
-_=fQ.prototype=new xT();_.tN=tfc+'ClippedImageImpl';_.tI=127;function lQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
-function mQ(b,a){oB(a,b.d,b.b,b.c,b.e,b.a);}
-function kQ(){}
-_=kQ.prototype=new op();_.tN=tfc+'ClippedImagePrototype';_.tI=128;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function rQ(){rQ=v2;vQ=pQ(new oQ());wQ=vQ;}
-function pQ(a){rQ();return a;}
-function qQ(b,a){a.blur();}
-function sQ(b){var a=$doc.createElement('DIV');a.tabIndex=0;return a;}
-function tQ(b,a){a.focus();}
-function uQ(c,a,b){a.tabIndex=b;}
-function oQ(){}
-_=oQ.prototype=new xT();_.tN=tfc+'FocusImpl';_.tI=129;var vQ,wQ;function AQ(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
-function BQ(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.Dc();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Cc();};}
-function CQ(c,b,a){b.enctype=a;b.encoding=a;}
-function DQ(c,a,b){if(b)b.__formAction=a.action;a.submit();}
-function EQ(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
-function xQ(){}
-_=xQ.prototype=new xT();_.tN=tfc+'FormPanelImpl';_.tI=130;function FQ(){}
-_=FQ.prototype=new xT();_.tN=tfc+'PopupImpl';_.tI=131;function gR(){gR=v2;jR=kR();}
-function fR(a){gR();return a;}
-function hR(b){var a;a=xd();if(jR){Af(a,'<div><\/div>');eg(cR(new bR(),b,a));}return a;}
-function iR(b,a){return jR?df(a):a;}
-function kR(){gR();if(navigator.userAgent.indexOf('Macintosh')!= -1){return true;}return false;}
-function aR(){}
-_=aR.prototype=new FQ();_.tN=tfc+'PopupImplMozilla';_.tI=132;var jR;function cR(b,a,c){b.a=c;return b;}
-function eR(){Df(this.a,'overflow','auto');}
-function bR(){}
-_=bR.prototype=new xT();_.nb=eR;_.tN=tfc+'PopupImplMozilla$1';_.tI=133;function oR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
-function pR(b,a){return oR(b,a);}
-function qR(d,a,c,b){a.setSelectionRange(c,c+b);}
-function mR(){}
-_=mR.prototype=new xT();_.tN=tfc+'TextBoxImpl';_.tI=134;function uR(){}
-_=uR.prototype=new xT();_.tN=ufc+'OutputStream';_.tI=135;function sR(){}
-_=sR.prototype=new uR();_.tN=ufc+'FilterOutputStream';_.tI=136;function wR(){}
-_=wR.prototype=new sR();_.tN=ufc+'PrintStream';_.tI=137;function yR(){}
-_=yR.prototype=new CT();_.tN=vfc+'ArrayStoreException';_.tI=138;function CR(){CR=v2;DR=BR(new AR(),false);ER=BR(new AR(),true);}
-function BR(a,b){CR();a.a=b;return a;}
-function FR(a){return ac(a,55)&&Fb(a,55).a==this.a;}
-function aS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
-function bS(){return this.a?'true':'false';}
-function cS(a){CR();return a?ER:DR;}
-function AR(){}
-_=AR.prototype=new xT();_.eQ=FR;_.hC=aS;_.tS=bS;_.tN=vfc+'Boolean';_.tI=139;_.a=false;var DR,ER;function gS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+hT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
-function hS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
-function jS(b,a){DT(b,a);return b;}
-function iS(){}
-_=iS.prototype=new CT();_.tN=vfc+'ClassCastException';_.tI=140;function sS(b,a){DT(b,a);return b;}
-function rS(){}
-_=rS.prototype=new CT();_.tN=vfc+'IllegalArgumentException';_.tI=141;function vS(b,a){DT(b,a);return b;}
-function uS(){}
-_=uS.prototype=new CT();_.tN=vfc+'IllegalStateException';_.tI=142;function yS(b,a){DT(b,a);return b;}
-function xS(){}
-_=xS.prototype=new CT();_.tN=vfc+'IndexOutOfBoundsException';_.tI=143;function rT(){rT=v2;{wT();}}
-function sT(a){rT();return isNaN(a);}
-function tT(e,d,c,h){rT();var a,b,f,g;if(e===null){throw pT(new oT(),'Unable to parse null');}b=uU(e);f=b>0&&lU(e,0)==45?1:0;for(a=f;a<b;a++){if(gS(lU(e,a),d)==(-1)){throw pT(new oT(),'Could not parse '+e+' in radix '+d);}}g=uT(e,d);if(sT(g)){throw pT(new oT(),'Unable to parse '+e);}else if(g<c||g>h){throw pT(new oT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
-function uT(b,a){rT();return parseInt(b,a);}
-function wT(){rT();vT=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
-var vT=null;function BS(){BS=v2;rT();}
-function ES(a){BS();return FS(a,10);}
-function FS(b,a){BS();return cc(tT(b,a,(-2147483648),2147483647));}
-function aT(a){BS();return gV(a);}
-var CS=2147483647,DS=(-2147483648);function cT(){cT=v2;rT();}
-function dT(a){cT();return hV(a);}
-function gT(a){return a<0?-a:a;}
-function hT(a,b){return a<b?a:b;}
-function iT(){}
-_=iT.prototype=new CT();_.tN=vfc+'NegativeArraySizeException';_.tI=144;function lT(b,a){DT(b,a);return b;}
-function kT(){}
-_=kT.prototype=new CT();_.tN=vfc+'NullPointerException';_.tI=145;function pT(b,a){sS(b,a);return b;}
-function oT(){}
-_=oT.prototype=new rS();_.tN=vfc+'NumberFormatException';_.tI=146;function lU(b,a){return b.charCodeAt(a);}
-function nU(f,c){var a,b,d,e,g,h;h=uU(f);e=uU(c);b=hT(h,e);for(a=0;a<b;a++){g=lU(f,a);d=lU(c,a);if(g!=d){return g-d;}}return h-e;}
-function oU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
-function qU(b,a){if(!ac(a,1))return false;return FU(b,a);}
-function pU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
-function rU(b,a){return b.indexOf(String.fromCharCode(a));}
-function sU(b,a){return b.indexOf(a);}
-function tU(c,b,a){return c.indexOf(b,a);}
-function uU(a){return a.length;}
-function vU(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
-function wU(b,a){return xU(b,a,0);}
-function xU(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=EU(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
-function yU(b,a){return sU(b,a)==0;}
-function zU(b,a){return b.substr(a,b.length-a);}
-function AU(c,a,b){return c.substr(a,b-a);}
-function BU(d){var a,b,c;c=uU(d);a=yb('[C',[610],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=lU(d,b);return a;}
-function CU(a){return a.toLowerCase();}
-function DU(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
-function EU(a){return yb('[Ljava.lang.String;',[607],[1],[a],null);}
-function FU(a,b){return String(a)==b;}
-function aV(a){if(ac(a,1)){return nU(this,Fb(a,1));}else{throw jS(new iS(),'Cannot compare '+a+" with String '"+this+"'");}}
-function bV(a){return qU(this,a);}
-function dV(){var a=cV;if(!a){a=cV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
-function eV(){return this;}
-function fV(a){return String.fromCharCode(a);}
-function gV(a){return ''+a;}
-function hV(a){return ''+a;}
-function iV(a){return a!==null?a.tS():'null';}
-_=String.prototype;_.ab=aV;_.eQ=bV;_.hC=dV;_.tS=eV;_.tN=vfc+'String';_.tI=2;var cV=null;function cU(a){fU(a);return a;}
-function dU(a,b){return eU(a,fV(b));}
-function eU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
-function fU(a){gU(a,'');}
-function gU(b,a){b.js=[a];b.length=a.length;}
-function iU(a){a.qc();return a.js[0];}
-function jU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
-function kU(){return iU(this);}
-function bU(){}
-_=bU.prototype=new xT();_.qc=jU;_.tS=kU;_.tN=vfc+'StringBuffer';_.tI=147;function kV(){kV=v2;nV=new wR();}
-function lV(){kV();return new Date().getTime();}
-function mV(a){kV();return B(a);}
-var nV;function vV(b,a){DT(b,a);return b;}
-function uV(){}
-_=uV.prototype=new CT();_.tN=vfc+'UnsupportedOperationException';_.tI=148;function bW(b,a){b.c=a;return b;}
-function dW(a){return a.a<a.c.ye();}
-function eW(){return dW(this);}
-function fW(){if(!dW(this)){throw new d2();}return this.c.ec(this.b=this.a++);}
-function gW(){if(this.b<0){throw new uS();}this.c.ae(this.b);this.a=this.b;this.b=(-1);}
-function aW(){}
-_=aW.prototype=new xT();_.hc=eW;_.pc=fW;_.Fd=gW;_.tN=wfc+'AbstractList$IteratorImpl';_.tI=149;_.a=0;_.b=(-1);function pX(f,d,e){var a,b,c;for(b=x0(f.mb());p0(b);){a=q0(b);c=a.vb();if(d===null?c===null:d.eQ(c)){if(e){r0(b);}return a;}}return null;}
-function qX(b){var a;a=b.mb();return rW(new qW(),b,a);}
-function rX(b){var a;a=b1(b);return aX(new FW(),b,a);}
-function sX(a){return pX(this,a,false)!==null;}
-function tX(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=qX(this);e=f.oc();if(!AX(c,e)){return false;}for(a=tW(c);AW(a);){b=BW(a);h=this.fc(b);g=f.fc(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
-function uX(b){var a;a=pX(this,b,false);return a===null?null:a.bc();}
-function vX(){var a,b,c;b=0;for(c=x0(this.mb());p0(c);){a=q0(c);b+=a.hC();}return b;}
-function wX(){return qX(this);}
-function xX(){var a,b,c,d;d='{';a=false;for(c=x0(this.mb());p0(c);){b=q0(c);if(a){d+=', ';}else{a=true;}d+=iV(b.vb());d+='=';d+=iV(b.bc());}return d+'}';}
-function pW(){}
-_=pW.prototype=new xT();_.cb=sX;_.eQ=tX;_.fc=uX;_.hC=vX;_.oc=wX;_.tS=xX;_.tN=wfc+'AbstractMap';_.tI=150;function AX(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.ye()!=e.ye()){return false;}for(a=c.nc();a.hc();){d=a.pc();if(!e.db(d)){return false;}}return true;}
-function BX(a){return AX(this,a);}
-function CX(){var a,b,c;a=0;for(b=this.nc();b.hc();){c=b.pc();if(c!==null){a+=c.hC();}}return a;}
-function yX(){}
-_=yX.prototype=new xV();_.eQ=BX;_.hC=CX;_.tN=wfc+'AbstractSet';_.tI=151;function rW(b,a,c){b.a=a;b.b=c;return b;}
-function tW(b){var a;a=x0(b.b);return yW(new xW(),b,a);}
-function uW(a){return this.a.cb(a);}
-function vW(){return tW(this);}
-function wW(){return this.b.a.c;}
-function qW(){}
-_=qW.prototype=new yX();_.db=uW;_.nc=vW;_.ye=wW;_.tN=wfc+'AbstractMap$1';_.tI=152;function yW(b,a,c){b.a=c;return b;}
-function AW(a){return p0(a.a);}
-function BW(b){var a;a=q0(b.a);return a.vb();}
-function CW(){return AW(this);}
-function DW(){return BW(this);}
-function EW(){r0(this.a);}
-function xW(){}
-_=xW.prototype=new xT();_.hc=CW;_.pc=DW;_.Fd=EW;_.tN=wfc+'AbstractMap$2';_.tI=153;function aX(b,a,c){b.a=a;b.b=c;return b;}
-function cX(b){var a;a=x0(b.b);return hX(new gX(),b,a);}
-function dX(a){return a1(this.a,a);}
-function eX(){return cX(this);}
-function fX(){return this.b.a.c;}
-function FW(){}
-_=FW.prototype=new xV();_.db=dX;_.nc=eX;_.ye=fX;_.tN=wfc+'AbstractMap$3';_.tI=154;function hX(b,a,c){b.a=c;return b;}
-function jX(a){return p0(a.a);}
-function kX(a){var b;b=q0(a.a).bc();return b;}
-function lX(){return jX(this);}
-function mX(){return kX(this);}
-function nX(){r0(this.a);}
-function gX(){}
-_=gX.prototype=new xT();_.hc=lX;_.pc=mX;_.Fd=nX;_.tN=wfc+'AbstractMap$4';_.tI=155;function BY(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.bb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
-function CY(a){BY(a,a.a,(iZ(),jZ));}
-function FY(){FY=v2;w1(new v1());aZ=C0(new a0());FX(new DX());}
-function bZ(c,d){FY();var a,b;b=c.b;for(a=0;a<b;a++){mY(c,a,d[a]);}}
-function cZ(a){FY();var b;b=a.Ae();CY(b);bZ(a,b);}
-var aZ;function iZ(){iZ=v2;jZ=new fZ();}
-var jZ;function hZ(a,b){return Fb(a,34).ab(b);}
-function fZ(){}
-_=fZ.prototype=new xT();_.bb=hZ;_.tN=wfc+'Comparators$1';_.tI=156;function nZ(){nZ=v2;uZ=zb('[Ljava.lang.String;',607,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);vZ=zb('[Ljava.lang.String;',607,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
-function lZ(a){nZ();qZ(a);return a;}
-function mZ(b,a){nZ();rZ(b,a);return b;}
-function oZ(c,a){var b,d;d=pZ(c);b=pZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
-function pZ(a){return a.jsdate.getTime();}
-function qZ(a){a.jsdate=new Date();}
-function rZ(b,a){b.jsdate=new Date(a);}
-function sZ(a){return a.jsdate.toLocaleString();}
-function tZ(h){var a=h.jsdate;var g=BZ;var b=xZ(h.jsdate.getDay());var e=AZ(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
-function wZ(a){return oZ(this,Fb(a,59));}
-function xZ(a){nZ();return uZ[a];}
-function yZ(a){return ac(a,59)&&pZ(this)==pZ(Fb(a,59));}
-function zZ(){return cc(pZ(this)^pZ(this)>>>32);}
-function AZ(a){nZ();return vZ[a];}
-function BZ(a){nZ();if(a<10){return '0'+a;}else{return gV(a);}}
-function CZ(){return tZ(this);}
-function kZ(){}
-_=kZ.prototype=new xT();_.ab=wZ;_.eQ=yZ;_.hC=zZ;_.tS=CZ;_.tN=wfc+'Date';_.tI=157;var uZ,vZ;function E0(){E0=v2;f1=l1();}
-function B0(a){{D0(a);}}
-function C0(a){E0();B0(a);return a;}
-function D0(a){a.a=gb();a.d=ib();a.b=hc(f1,cb);a.c=0;}
-function F0(b,a){if(ac(a,1)){return p1(b.d,Fb(a,1))!==f1;}else if(a===null){return b.b!==f1;}else{return o1(b.a,a,a.hC())!==f1;}}
-function a1(a,b){if(a.b!==f1&&n1(a.b,b)){return true;}else if(k1(a.d,b)){return true;}else if(i1(a.a,b)){return true;}return false;}
-function b1(a){return v0(new l0(),a);}
-function c1(c,a){var b;if(ac(a,1)){b=p1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=o1(c.a,a,a.hC());}return b===f1?null:b;}
-function d1(c,a,d){var b;if(ac(a,1)){b=s1(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=r1(c.a,a,d,a.hC());}if(b===f1){++c.c;return null;}else{return b;}}
-function e1(c,a){var b;if(ac(a,1)){b=u1(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(f1,cb);}else{b=t1(c.a,a,a.hC());}if(b===f1){return null;}else{--c.c;return b;}}
-function g1(e,c){E0();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
-function h1(d,a){E0();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=e0(c.substring(1),e);a.C(b);}}}
-function i1(f,h){E0();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.bc();if(n1(h,d)){return true;}}}}return false;}
-function j1(a){return F0(this,a);}
-function k1(c,d){E0();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(n1(d,a)){return true;}}}return false;}
-function l1(){E0();}
-function m1(){return b1(this);}
-function n1(a,b){E0();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
-function q1(a){return c1(this,a);}
-function o1(f,h,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){return c.bc();}}}}
-function p1(b,a){E0();return b[':'+a];}
-function r1(f,h,j,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){var i=c.bc();c.se(j);return i;}}}else{a=f[e]=[];}var c=e0(h,j);a.push(c);}
-function s1(c,a,d){E0();a=':'+a;var b=c[a];c[a]=d;return b;}
-function t1(f,h,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.bc();}}}}
-function u1(c,a){E0();a=':'+a;var b=c[a];delete c[a];return b;}
-function a0(){}
-_=a0.prototype=new pW();_.cb=j1;_.mb=m1;_.fc=q1;_.tN=wfc+'HashMap';_.tI=158;_.a=null;_.b=null;_.c=0;_.d=null;var f1;function c0(b,a,c){b.a=a;b.b=c;return b;}
-function e0(a,b){return c0(new b0(),a,b);}
-function f0(b){var a;if(ac(b,60)){a=Fb(b,60);if(n1(this.a,a.vb())&&n1(this.b,a.bc())){return true;}}return false;}
-function g0(){return this.a;}
-function h0(){return this.b;}
-function i0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
-function j0(a){var b;b=this.b;this.b=a;return b;}
-function k0(){return this.a+'='+this.b;}
-function b0(){}
-_=b0.prototype=new xT();_.eQ=f0;_.vb=g0;_.bc=h0;_.hC=i0;_.se=j0;_.tS=k0;_.tN=wfc+'HashMap$EntryImpl';_.tI=159;_.a=null;_.b=null;function v0(b,a){b.a=a;return b;}
-function x0(a){return n0(new m0(),a.a);}
-function y0(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.vb();if(F0(this.a,b)){d=c1(this.a,b);return n1(a.bc(),d);}}return false;}
-function z0(){return x0(this);}
-function A0(){return this.a.c;}
-function l0(){}
-_=l0.prototype=new yX();_.db=y0;_.nc=z0;_.ye=A0;_.tN=wfc+'HashMap$EntrySet';_.tI=160;function n0(c,b){var a;c.c=b;a=FX(new DX());if(c.c.b!==(E0(),f1)){bY(a,c0(new b0(),null,c.c.b));}h1(c.c.d,a);g1(c.c.a,a);c.a=a.nc();return c;}
-function p0(a){return a.a.hc();}
-function q0(a){return a.b=Fb(a.a.pc(),60);}
-function r0(a){if(a.b===null){throw vS(new uS(),'Must call next() before remove().');}else{a.a.Fd();e1(a.c,a.b.vb());a.b=null;}}
-function s0(){return p0(this);}
-function t0(){return q0(this);}
-function u0(){r0(this);}
-function m0(){}
-_=m0.prototype=new xT();_.hc=s0;_.pc=t0;_.Fd=u0;_.tN=wfc+'HashMap$EntrySetIterator';_.tI=161;_.a=null;_.b=null;function w1(a){a.a=C0(new a0());return a;}
-function x1(c,a){var b;b=d1(c.a,a,cS(true));return b===null;}
-function z1(a){return tW(qX(a.a));}
-function A1(a){return x1(this,a);}
-function B1(a){return F0(this.a,a);}
-function C1(){return z1(this);}
-function D1(){return this.a.c;}
-function E1(){return qX(this.a).tS();}
-function v1(){}
-_=v1.prototype=new yX();_.C=A1;_.db=B1;_.nc=C1;_.ye=D1;_.tS=E1;_.tN=wfc+'HashSet';_.tI=162;_.a=null;function e2(b,a){DT(b,a);return b;}
-function d2(){}
-_=d2.prototype=new CT();_.tN=wfc+'NoSuchElementException';_.tI=163;function j2(a){a.a=FX(new DX());return a;}
-function k2(b,a){return bY(b.a,a);}
-function m2(a){return a.a.nc();}
-function n2(a,b){aY(this.a,a,b);}
-function o2(a){return k2(this,a);}
-function p2(a){return fY(this.a,a);}
-function q2(a){return gY(this.a,a);}
-function r2(){return m2(this);}
-function s2(a){return kY(this.a,a);}
-function t2(){return this.a.b;}
-function u2(){return this.a.Ae();}
-function i2(){}
-_=i2.prototype=new FV();_.B=n2;_.C=o2;_.db=p2;_.ec=q2;_.nc=r2;_.ae=s2;_.ye=t2;_.Ae=u2;_.tN=wfc+'Vector';_.tI=164;_.a=null;function v4(){v4=v2;x4=C0(new a0());}
-function u4(a){v4();return a;}
-function w4(){}
-function f4(){}
-_=f4.prototype=new kr();_.jd=w4;_.tN=xfc+'JBRMSFeature';_.tI=165;var x4;function C2(){C2=v2;v4();}
-function B2(a){C2();u4(a);a.a=yJ(new kJ());a.a.xe('100%');a.a.ne('100%');zJ(a.a,A8(new e8()),"<img src='images/category_small.gif'/>Manage categories",true);zJ(a.a,l9(new D8()),"<img src='images/status_small.gif'/>Manage states",true);zJ(a.a,m7(new i6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);zJ(a.a,F7(new q7()),"<img src='images/backup_small.gif'/>Import Export",true);FJ(a.a,0);mr(a,a.a);return a;}
-function D2(){C2();return y2(new x2(),'Admin','Administer the repository');}
-function E2(){}
-function w2(){}
-_=w2.prototype=new f4();_.jd=E2;_.tN=xfc+'AdminFeature';_.tI=166;_.a=null;function h4(c,b,a){c.c=b;c.a=a;return c;}
-function j4(a){if(a.b!==null)return a.b;return a.b=a.fb();}
-function g4(){}
-_=g4.prototype=new xT();_.tN=xfc+'JBRMSFeature$ComponentInfo';_.tI=167;_.a=null;_.b=null;_.c=null;function y2(c,a,b){h4(c,a,b);return c;}
-function A2(){return B2(new w2());}
-function x2(){}
-_=x2.prototype=new g4();_.fb=A2;_.tN=xfc+'AdminFeature$1';_.tI=168;function f3(){f3=v2;v4();}
-function e3(a){f3();u4(a);mr(a,FJb(new hIb()));return a;}
-function g3(){f3();return b3(new a3(),'Deployment','Configure and view frozen snapshots of packages.');}
-function h3(){}
-function F2(){}
-_=F2.prototype=new f4();_.jd=h3;_.tN=xfc+'DeploymentManagementFeature';_.tI=169;function b3(c,a,b){h4(c,a,b);return c;}
-function d3(){return e3(new F2());}
-function a3(){}
-_=a3.prototype=new g4();_.fb=d3;_.tN=xfc+'DeploymentManagementFeature$1';_.tI=170;function o3(){o3=v2;v4();}
-function n3(a){o3();u4(a);mr(a,p3(a));return a;}
-function p3(a){a.a=Bv(new zv(),'welcome.html');AN(a.a,'welcome-Page');a.a.ue(true);return a.a;}
-function q3(){o3();return k3(new j3(),'Info','JBoss Rules Managment System.');}
-function r3(){}
-function i3(){}
-_=i3.prototype=new f4();_.jd=r3;_.tN=xfc+'Info';_.tI=171;_.a=null;function k3(c,a,b){h4(c,a,b);return c;}
-function m3(){return n3(new i3());}
-function j3(){}
-_=j3.prototype=new g4();_.fb=m3;_.tN=xfc+'Info$1';_.tI=172;function C3(a){a.c=jz(new nw());a.d=p4(new n4());a.g=vs(new ms());}
-function D3(a){C3(a);return a;}
-function E3(a){nXb(DLb(),u3(new t3(),a));}
-function a4(b,c){var a;a=s4(b.d,c);if(a===null){c4(b);return;}d4(b,a,false);}
-function b4(b){var a,c;m4(b.d);b.h=vs(new ms());AN(b.h,'ks-Sink');c=nO(new lO());c.xe('100%');oO(c,b.c);oO(c,b.h);AN(b.c,'ks-Info');ws(b.g,b.d,(xs(),bt));ws(b.g,c,(xs(),Ds));Bs(b.g,b.d,(Dz(),aA));Cs(b.g,c,'100%');Bg(b);b.e=b5(new y4());b.f=s5(new e5());jp(oG(),b.e);jp(oG(),b.g);jp(oG(),b.f);b.f.xe('100%');b.e.ue(false);b.g.ue(false);b.f.ue(false);E3(b);a=Dg();if(uU(a)>0)a4(b,a);else c4(b);}
-function d4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){zs(c.h,c.b);}c.b=j4(b);t4(c.d,b.c);nz(c.c,b.a);if(a)ah(b.c);ws(c.h,c.b,(xs(),Ds));Cs(c.h,c.b,'100%');Bs(c.h,c.b,(Dz(),aA));c.b.jd();}
-function c4(a){d4(a,s4(a.d,'Info'),false);}
-function e4(a){a4(this,a);}
-function s3(){}
-_=s3.prototype=new xT();_.Ec=e4;_.tN=xfc+'JBRMSEntryPoint';_.tI=173;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function jcb(b,a){if(ac(a,69)){lcb();}else if(ac(a,70)){kbb(Fb(a,70));}else{jbb(a.wb());}}
-function kcb(a){jcb(this,a);}
-function lcb(){var a;a=dcb(new Ebb(),'images/warning-large.png','Session expired');fcb(a,kz(new nw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));rE(a,40,40);uE(a);edb();}
-function hcb(){}
-_=hcb.prototype=new xT();_.Ac=kcb;_.tN=Afc+'GenericCallback';_.tI=174;function u3(b,a){b.a=a;return b;}
-function w3(a){var b;b=Fb(a,1);if(b!==null){d5(this.a.e,b);this.a.e.ue(true);this.a.g.ue(true);this.a.f.ue(false);}else{this.a.f.ue(true);w5(this.a.f,y3(new x3(),this));}}
-function t3(){}
-_=t3.prototype=new hcb();_.md=w3;_.tN=xfc+'JBRMSEntryPoint$1';_.tI=175;function y3(b,a){b.a=a;return b;}
-function A3(a){d5(a.a.a.e,v5(a.a.a.f));a.a.a.e.ue(true);a.a.a.f.ue(false);a.a.a.g.ue(true);}
-function B3(){A3(this);}
-function x3(){}
-_=x3.prototype=new xT();_.nb=B3;_.tN=xfc+'JBRMSEntryPoint$2';_.tI=176;function m4(a){q4(a,q3());q4(a,h6());q4(a,E5());q4(a,g3());q4(a,D2());}
-function o4(a){a.a=nO(new lO());a.c=FX(new DX());}
-function p4(a){o4(a);mr(a,a.a);AN(a,'ks-List');return a;}
-function q4(d,a){var b,c;c=a.c;b=pA(new nA(),c,c);AN(b,'ks-SinkItem');oO(d.a,b);bY(d.c,a);}
-function s4(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(gY(d.c,a),61);if(qU(b.c,c))return b;}return null;}
-function t4(d,c){var a,b;if(d.b!=(-1))vN(dr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(gY(d.c,a),61);if(qU(b.c,c)){d.b=a;pN(dr(d.a,d.b),'ks-SinkItem-selected');return;}}}
-function n4(){}
-_=n4.prototype=new kr();_.tN=xfc+'JBRMSFeatureList';_.tI=177;_.b=(-1);function b5(a){a.a=jz(new nw());mr(a,a.a);return a;}
-function d5(b,d){var a,c;a=cU(new bU());eU(a,"<div id='user_info'>");eU(a,'Welcome: &nbsp;'+d);eU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");eU(a,'<\/div>');nz(b.a,iU(a));c=A4(new z4(),b);mh(c,300000);}
-function y4(){}
-_=y4.prototype=new kr();_.tN=xfc+'LoggedInUserInfo';_.tI=178;_.a=null;function B4(){B4=v2;kh();}
-function A4(b,a){B4();ih(b);return b;}
-function C4(){nXb(DLb(),new D4());}
-function z4(){}
-_=z4.prototype=new dh();_.ce=C4;_.tN=xfc+'LoggedInUserInfo$1';_.tI=179;function F4(a){}
-function a5(a){if(a===null){lcb();}}
-function D4(){}
-_=D4.prototype=new xT();_.Ac=F4;_.md=a5;_.tN=xfc+'LoggedInUserInfo$2';_.tI=180;function s5(c){var a,b;c.a=ubb(new rbb(),'images/login.gif','Please enter your details');c.c=FK(new qK());c.c.oe(1);vbb(c.a,'User name:',c.c);b=dE(new cE());b.oe(2);vbb(c.a,'Password:',b);a=wp(new qp(),'Login');a.oe(3);vbb(c.a,'',a);a.x(g5(new f5(),c,b));mr(c,c.a);c.c.le(true);AN(c,'login-Form');return c;}
-function u5(c,a,d,b){aMb(xK(d),xK(b),o5(new n5(),c,a));}
-function v5(a){return xK(a.c);}
-function w5(b,a){b.b=a;}
-function e5(){}
-_=e5.prototype=new kr();_.tN=xfc+'LoginWidget';_.tI=181;_.a=null;_.b=null;_.c=null;function g5(b,a,c){b.a=a;b.b=c;return b;}
-function i5(a){idb('Logging in...');fg(k5(new j5(),this,this.b));}
-function f5(){}
-_=f5.prototype=new xT();_.wc=i5;_.tN=xfc+'LoginWidget$1';_.tI=182;function k5(b,a,c){b.a=a;b.b=c;return b;}
-function m5(){u5(this.a.a,this.a.a.b,this.a.a.c,this.b);}
-function j5(){}
-_=j5.prototype=new xT();_.nb=m5;_.tN=xfc+'LoginWidget$2';_.tI=183;function o5(b,a,c){b.a=c;return b;}
-function q5(c,a){var b;edb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{A3(c.a);}}
-function r5(a){q5(this,a);}
-function n5(){}
-_=n5.prototype=new hcb();_.md=r5;_.tN=xfc+'LoginWidget$3';_.tI=184;function D5(){D5=v2;v4();}
-function C5(b){var a;D5();u4(b);a=dIb(new CHb());gIb(a,x4);mr(b,a);return b;}
-function E5(){D5();return z5(new y5(),'Packages','Configure and view packages of business rule assets.');}
-function F5(){}
-function x5(){}
-_=x5.prototype=new f4();_.jd=F5;_.tN=xfc+'PackageManagementFeature';_.tI=185;function z5(c,a,b){h4(c,a,b);return c;}
-function B5(){return C5(new x5());}
-function y5(){}
-_=y5.prototype=new g4();_.fb=B5;_.tN=xfc+'PackageManagementFeature$1';_.tI=186;function g6(){g6=v2;v4();}
-function f6(b){var a;g6();u4(b);a=ybc(new uac());Cbc(a,x4);mr(b,a);return b;}
-function h6(){g6();return c6(new b6(),'Rules','Find and edit rules.');}
-function a6(){}
-_=a6.prototype=new f4();_.tN=xfc+'RulesFeature';_.tI=187;function c6(c,a,b){h4(c,a,b);return c;}
-function e6(){return f6(new a6());}
-function b6(){}
-_=b6.prototype=new g4();_.fb=e6;_.tN=xfc+'RulesFeature$1';_.tI=188;function m7(a){var b;b=ubb(new rbb(),'images/backup_large.png','Manage Archived Assets');a.a=fA(new dA());a.a.xe('100%');ybb(b,a.a);a.b=Bcc(new Fbc(),new j6(),'archivedrulelist');bdc(a.b,p7(a));gA(a.a,a.b);k7(p7(a));ybb(b,kz(new nw(),'<hr/>'));ybb(b,o7(a));mr(a,b);return a;}
-function o7(d){var a,b,c,e;b=fA(new dA());c=wp(new qp(),'Refresh');c.x(n6(new m6(),d));e=wp(new qp(),'Unarchive');e.x(r6(new q6(),d));a=wp(new qp(),'Delete');a.x(A6(new z6(),d));gA(b,c);gA(b,e);gA(b,a);return b;}
-function p7(b){var a;a=d7(new c7(),b);return i7(new h7(),b,a);}
-function i6(){}
-_=i6.prototype=new kr();_.tN=yfc+'ArchivedAssetManager';_.tI=189;_.a=null;_.b=null;function l6(a){}
-function j6(){}
-_=j6.prototype=new xT();_.td=l6;_.tN=yfc+'ArchivedAssetManager$1';_.tI=190;function n6(b,a){b.a=a;return b;}
-function p6(a){k7(p7(this.a));}
-function m6(){}
-_=m6.prototype=new xT();_.wc=p6;_.tN=yfc+'ArchivedAssetManager$2';_.tI=191;function r6(b,a){b.a=a;return b;}
-function t6(a){bTb(ELb(),Dcc(this.a.b),false,v6(new u6(),this));}
-function q6(){}
-_=q6.prototype=new xT();_.wc=t6;_.tN=yfc+'ArchivedAssetManager$3';_.tI=192;function v6(b,a){b.a=a;return b;}
-function x6(b,a){k7(p7(b.a.a));zh('Done!');}
-function y6(a){x6(this,a);}
-function u6(){}
-_=u6.prototype=new hcb();_.md=y6;_.tN=yfc+'ArchivedAssetManager$4';_.tI=193;function A6(b,a){b.a=a;return b;}
-function C6(a){bUb(ELb(),Dcc(this.a.b),E6(new D6(),this));}
-function z6(){}
-_=z6.prototype=new xT();_.wc=C6;_.tN=yfc+'ArchivedAssetManager$5';_.tI=194;function E6(b,a){b.a=a;return b;}
-function a7(b,a){k7(p7(b.a.a));zh('Done!');}
-function b7(a){a7(this,a);}
-function D6(){}
-_=D6.prototype=new hcb();_.md=b7;_.tN=yfc+'ArchivedAssetManager$6';_.tI=195;function d7(b,a){b.a=a;return b;}
-function f7(c,a){var b;b=Fb(a,62);adc(c.a.b,b);c.a.b.xe('100%');edb();}
-function g7(a){f7(this,a);}
-function c7(){}
-_=c7.prototype=new hcb();_.md=g7;_.tN=yfc+'ArchivedAssetManager$7';_.tI=196;function i7(b,a,c){b.a=c;return b;}
-function k7(a){idb('Loading list, please wait...');xTb(ELb(),a.a);}
-function l7(){k7(this);}
-function h7(){}
-_=h7.prototype=new xT();_.nb=l7;_.tN=yfc+'ArchivedAssetManager$8';_.tI=197;function F7(a){var b;b=ubb(new rbb(),'images/backup_large.png','Import/Export');vbb(b,'',kz(new nw(),'<i>Import and Export rules repository<\/i>'));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Import from an xml file',d8(a));vbb(b,'Export to a zip file',c8(a));ybb(b,kz(new nw(),'<hr/>'));mr(a,b);return a;}
-function b8(a){idb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');edb();}
-function c8(c){var a,b;b=fA(new dA());a=wp(new qp(),'Export');a.x(s7(new r7(),c));gA(b,a);return b;}
-function d8(c){var a,b,d,e;e=cv(new Du());iv(e,v()+'backup');jv(e,'multipart/form-data');kv(e,'post');b=fA(new dA());e.we(b);d=gt(new ft());jt(d,'importFile');gA(b,d);gA(b,cC(new aC(),'import:'));a=ocb(new ncb(),'images/upload.gif');lB(a,w7(new v7(),c,e));gA(b,a);dv(e,B7(new A7(),c,d));return e;}
-function q7(){}
-_=q7.prototype=new kr();_.tN=yfc+'BackupManager';_.tI=198;function s7(b,a){b.a=a;return b;}
-function u7(a){b8(this.a);}
-function r7(){}
-_=r7.prototype=new xT();_.wc=u7;_.tN=yfc+'BackupManager$1';_.tI=199;function w7(b,a,c){b.a=c;return b;}
-function y7(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){idb('Importing repository, please wait, as this could take some time...');mv(b);}}
-function z7(a){y7(this,this.a);}
-function v7(){}
-_=v7.prototype=new xT();_.wc=z7;_.tN=yfc+'BackupManager$2';_.tI=200;function B7(b,a,c){b.a=c;return b;}
-function E7(a){if(uU(it(this.a))==0){zh('You did not specify an exported repository filename !');yv(a,true);}else if(!oU(it(this.a),'.xml')){zh('Please specify a valid repository xml file.');yv(a,true);}}
-function D7(a){if(sU(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{jbb('Unable to import into the repository. Consult the server logs for error messages.');}edb();}
-function A7(){}
-_=A7.prototype=new xT();_.ld=E7;_.kd=D7;_.tN=yfc+'BackupManager$3';_.tI=201;function z8(a){nO(new lO());}
-function A8(f){var a,b,c,d,e;z8(f);c=ubb(new rbb(),'images/edit_category.gif','Edit categories');vbb(c,'',kz(new nw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=v$(new e$(),new f8());AN(f.a,'category-explorer-Admin');b=aH(new yG());AN(b,'metadata-Widget');cH(b,f.a);ybb(c,kz(new nw(),'<hr/>'));vbb(c,'Current categories:',b);e=ocb(new ncb(),'images/refresh.gif');e.pe('Refresh categories');lB(e,j8(new i8(),f));vbb(c,'Refresh view:',e);ybb(c,kz(new nw(),'<hr/>'));d=ocb(new ncb(),'images/new.gif');d.pe('Create a new category');lB(d,n8(new m8(),f));vbb(c,'Create a new category:',d);a=ocb(new ncb(),'images/delete_obj.gif');lB(a,r8(new q8(),f));a.pe("Deletes the currently selected category. You won't be able to delete if the category is in use.");vbb(c,'Delete the currently selected category:',a);mr(f,c);return f;}
-function C8(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){cUb(ELb(),a.a.e,v8(new u8(),a));}}
-function e8(){}
-_=e8.prototype=new kr();_.tN=yfc+'CategoryManager';_.tI=202;_.a=null;function h8(a){}
-function f8(){}
-_=f8.prototype=new xT();_.ee=h8;_.tN=yfc+'CategoryManager$1';_.tI=203;function j8(b,a){b.a=a;return b;}
-function l8(a){B$(this.a.a);}
-function i8(){}
-_=i8.prototype=new xT();_.wc=l8;_.tN=yfc+'CategoryManager$2';_.tI=204;function n8(b,a){b.a=a;return b;}
-function p8(b){var a;a=F9(new q9(),this.a.a.e);rE(a,rN(b),sN(b)-400);uE(a);}
-function m8(){}
-_=m8.prototype=new xT();_.wc=p8;_.tN=yfc+'CategoryManager$3';_.tI=205;function r8(b,a){b.a=a;return b;}
-function t8(a){C8(this.a);}
-function q8(){}
-_=q8.prototype=new xT();_.wc=t8;_.tN=yfc+'CategoryManager$4';_.tI=206;function v8(b,a){b.a=a;return b;}
-function x8(b,a){B$(b.a.a);}
-function y8(a){x8(this,a);}
-function u8(){}
-_=u8.prototype=new hcb();_.md=y8;_.tN=yfc+'CategoryManager$5';_.tI=207;function l9(b){var a;a=ubb(new rbb(),'images/status_large.png','Manage statuses');vbb(a,'',kz(new nw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=sC(new kC());cD(b.a,7);b.a.xe('50%');p9(b);vbb(a,'Current statuses:',b.a);vbb(a,'Add new status:',o9(b));mr(b,a);return b;}
-function n9(b,a){idb('Creating status');rTb(ELb(),xK(a),h9(new g9(),b,a));}
-function o9(d){var a,b,c;c=fA(new dA());a=FK(new qK());b=wp(new qp(),'Create');b.x(d9(new c9(),d,a));gA(c,a);gA(c,b);return c;}
-function p9(a){idb('Loading statuses...');wTb(ELb(),F8(new E8(),a));}
-function D8(){}
-_=D8.prototype=new kr();_.tN=yfc+'StateManager';_.tI=208;_.a=null;function F8(b,a){b.a=a;return b;}
-function b9(a){var b,c;yC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){vC(this.a.a,c[b]);}edb();}
-function E8(){}
-_=E8.prototype=new hcb();_.md=b9;_.tN=yfc+'StateManager$1';_.tI=209;function d9(b,a,c){b.a=a;b.b=c;return b;}
-function f9(a){n9(this.a,this.b);}
-function c9(){}
-_=c9.prototype=new xT();_.wc=f9;_.tN=yfc+'StateManager$2';_.tI=210;function h9(b,a,c){b.a=a;b.b=c;return b;}
-function j9(b,a){BK(b.b,'');p9(b.a);edb();}
-function k9(a){j9(this,a);}
-function g9(){}
-_=g9.prototype=new hcb();_.md=k9;_.tN=yfc+'StateManager$3';_.tI=211;function b$(){b$=v2;kE();}
-function E9(a){a.d=rt(new lt());a.b=FK(new qK());a.a=kK(new jK());}
-function F9(d,b){var a,c;b$();hE(d,true);E9(d);d.c=b;d.d.ve(0,0,ocb(new ncb(),'images/edit_category.gif'));d.d.ve(0,1,cC(new aC(),c$(d,d.c)));d.d.ve(1,0,cC(new aC(),'Cateogory name'));d.d.ve(1,1,d.b);pK(d.a,4);d.d.ve(2,0,cC(new aC(),'Description'));d.d.ve(2,1,d.a);c=wp(new qp(),'OK');c.x(s9(new r9(),d));d.d.ve(3,0,c);a=wp(new qp(),'Cancel');a.x(w9(new v9(),d));d.d.ve(3,1,a);cH(d,d.d);AN(d,'ks-popups-Popup');return d;}
-function a$(a){a.ic();}
-function c$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
-function d$(b){var a;a=A9(new z9(),b);if(qU('',xK(b.b))){jbb("Can't have an empty category name.");}else{nTb(ELb(),b.c,xK(b.b),xK(b.a),a);}}
-function q9(){}
-_=q9.prototype=new fE();_.tN=zfc+'CategoryEditor';_.tI=212;_.c=null;function s9(b,a){b.a=a;return b;}
-function u9(a){d$(this.a);}
-function r9(){}
-_=r9.prototype=new xT();_.wc=u9;_.tN=zfc+'CategoryEditor$1';_.tI=213;function w9(b,a){b.a=a;return b;}
-function y9(a){a$(this.a);}
-function v9(){}
-_=v9.prototype=new xT();_.wc=y9;_.tN=zfc+'CategoryEditor$2';_.tI=214;function A9(b,a){b.a=a;return b;}
-function C9(b,a){if(Fb(a,55).a){b.a.ic();}else{jbb('Category was not successfully created. ');}}
-function D9(a){C9(this,a);}
-function z9(){}
-_=z9.prototype=new hcb();_.md=D9;_.tN=zfc+'CategoryEditor$3';_.tI=215;function u$(a){a.c=pM(new cL());a.d=nO(new lO());a.f=ELb();}
-function v$(b,a){u$(b);oO(b.d,b.c);b.a=a;A$(b);mr(b,b.d);tM(b.c,b);AN(b,'category-explorer-Tree');return b;}
-function x$(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
-function y$(b,a){if(a.c.b==1&&ac(yL(a,0),64)){return false;}return true;}
-function z$(a){if(a.b!==null){a.b.ue(false);}}
-function A$(a){sM(a.c,'Please wait...');zTb(a.f,'/',k$(new j$(),a));}
-function B$(a){cN(a.c);a.e=null;A$(a);}
-function C$(c){var a,b;if(c.b===null){b=ip(new hp());jp(b,kz(new nw(),'No categories created yet. Add some categories from the administration screen.'));a=wp(new qp(),'Refresh');a.x(g$(new f$(),c));jp(b,a);AN(b,'small-Text');c.b=b;oO(c.d,c.b);}c.b.ue(true);}
-function D$(a){this.e=x$(this,a);this.a.ee(this.e);}
-function E$(a){var b;if(y$(this,a)){return;}b=a;this.e=x$(this,a);zTb(this.f,this.e,o$(new n$(),this,b));}
-function e$(){}
-_=e$.prototype=new kr();_.od=D$;_.pd=E$;_.tN=zfc+'CategoryExplorerWidget';_.tI=216;_.a=null;_.b=null;_.e=null;function g$(b,a){b.a=a;return b;}
-function i$(a){B$(this.a);}
-function f$(){}
-_=f$.prototype=new xT();_.wc=i$;_.tN=zfc+'CategoryExplorerWidget$1';_.tI=217;function k$(b,a){b.a=a;return b;}
-function m$(d){var a,b,c;this.a.e=null;cN(this.a.c);a=Fb(d,63);if(a.a==0){C$(this.a);}else{z$(this.a);}for(b=0;b<a.a;b++){c=uL(new sL());CL(c,'<img src="images/category_small.gif"/>'+a[b]);cM(c,a[b]);c.y(s$(new r$()));rM(this.a.c,c);}}
-function j$(){}
-_=j$.prototype=new hcb();_.md=m$;_.tN=zfc+'CategoryExplorerWidget$2';_.tI=218;function o$(b,a,c){b.a=c;return b;}
-function q$(e){var a,b,c,d;a=yL(this.a,0);if(ac(a,64)){this.a.Dd(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=uL(new sL());CL(c,'<img src="images/category_small.gif"/>'+d[b]);cM(c,d[b]);c.y(s$(new r$()));this.a.y(c);}}
-function n$(){}
-_=n$.prototype=new hcb();_.md=q$;_.tN=zfc+'CategoryExplorerWidget$3';_.tI=219;function s$(a){vL(a,'Please wait...');return a;}
-function r$(){}
-_=r$.prototype=new sL();_.tN=zfc+'CategoryExplorerWidget$PendingItem';_.tI=220;function b_(){b_=v2;c_=zb('[Ljava.lang.String;',607,1,['brl','dslr','xls']);e_=zb('[Ljava.lang.String;',607,1,['drl','rf','enumeration']);d_=zb('[Ljava.lang.String;',607,1,['function','dsl','jar','enumeration']);}
-function f_(a){b_();var b;for(b=0;b<d_.a;b++){if(qU(d_[b],a)){return true;}}return false;}
-var c_,d_,e_;function r_(){r_=v2;aL();}
-function p_(a){a.b=hE(new fE(),true);a.a=i_(new h_(),a);}
-function q_(b,a){r_();FK(b);p_(b);uK(b,b);BN(b.a,1);AN(b,'AutoCompleteTextBox');cH(b.b,b.a);pN(b.b,'AutoCompleteChoices');AN(b.a,'list');b.c=a;return b;}
-function s_(a){if(a.e&&AC(a.a)>0){BK(a,BC(a.a,CC(a.a)));}yC(a.a);a.b.ic();a.e=false;}
-function t_(e,a,b,c){var d;d=CC(e.a);d++;if(d>=AC(e.a)){d=0;}bD(e.a,d);}
-function u_(d,a,b,c){s_(d);}
-function v_(d,a,b,c){yC(d.a);d.b.ic();d.e=false;}
-function w_(b,a){if(0==uU(a)||0==AC(b.a)||1==AC(b.a)&&qU(BC(b.a,0),a)){yC(b.a);b.b.ic();b.e=false;}else{bD(b.a,0);cD(b.a,AC(b.a)+1);if(!b.d){jp(oG(),b.b);b.d=true;}uE(b.b);b.e=true;rE(b.b,rN(b),sN(b)+b.zb());b.a.xe(b.Ab()+'px');}}
-function x_(d,a,b,c){A_(d,xK(d));if(uU(xK(d))>0&&d.c!==null){idc(d.c,xK(d),m_(new l_(),d));}}
-function y_(d,a,b,c){s_(d);}
-function z_(e,a,b,c){var d;d=CC(e.a);d--;if(d<0){d=AC(e.a)-1;}bD(e.a,d);}
-function A_(c,b){var a;a=0;while(a<AC(c.a)){if(yU(CU(BC(c.a,a)),CU(b))){++a;}else{aD(c.a,a);}}w_(c,b);}
-function B_(d,b,c){var a;yC(d.a);for(a=0;a<b.a;a++){vC(d.a,b[a]);}A_(d,c);}
-function C_(a,b,c){if(b==13){u_(this,a,b,c);}else if(b==9){y_(this,a,b,c);}else if(b==40){t_(this,a,b,c);}else if(b==38){z_(this,a,b,c);}else if(b==27){v_(this,a,b,c);}}
-function D_(a,b,c){}
-function E_(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:x_(this,a,b,c);break;}}
-function g_(){}
-_=g_.prototype=new qK();_.Fc=C_;_.ad=D_;_.bd=E_;_.tN=Afc+'AutoCompleteTextBoxAsync';_.tI=221;_.c=null;_.d=false;_.e=false;function j_(){j_=v2;zC();}
-function i_(b,a){j_();b.a=a;sC(b);return b;}
-function k_(a){if(1==xe(a)){s_(this.a);}}
-function h_(){}
-_=h_.prototype=new kC();_.tc=k_;_.tN=Afc+'AutoCompleteTextBoxAsync$1';_.tI=222;function m_(b,a){b.a=a;return b;}
-function o_(b,a){B_(b.a,a,xK(b.a));}
-function l_(){}
-_=l_.prototype=new xT();_.tN=Afc+'AutoCompleteTextBoxAsync$2';_.tI=223;function dab(a){a.j=true;}
-function eab(a){a.j=false;}
-function fab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
-function gab(){return this.j;}
-function bab(){}
-_=bab.prototype=new kr();_.mc=gab;_.tN=Afc+'DirtyableComposite';_.tI=224;_.j=false;function jab(a){a.b=FX(new DX());}
-function kab(a){rt(a);jab(a);return a;}
-function mab(d){var a,b,c;for(c=d.b.nc();c.hc();){a=Fb(c.pc(),65);b=qy(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).mc())return true;if(ac(b,67))if(Fb(b,67).gc())return true;}return false;}
-function nab(d,c,b,a){Fy(d,c,b,a);if(ac(a,68)){aY(d.b,d.a++,kdb(new jdb(),c,b));}}
-function oab(){return mab(this);}
-function pab(c,b,a){nab(this,c,b,a);}
-function iab(){}
-_=iab.prototype=new lt();_.gc=oab;_.ve=pab;_.tN=Afc+'DirtyableFlexTable';_.tI=225;_.a=0;function rab(a){fA(a);return a;}
-function tab(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=dr(c,b);if(ac(a,66))if(Fb(a,66).mc())return true;if(ac(a,67))if(Fb(a,67).gc())return true;}return false;}
-function uab(){return tab(this);}
-function qab(){}
-_=qab.prototype=new dA();_.gc=uab;_.tN=Afc+'DirtyableHorizontalPane';_.tI=226;function wab(a){nO(a);return a;}
-function yab(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=dr(this,b);if(ac(a,66))if(Fb(a,66).mc())return true;if(ac(a,67))if(Fb(a,67).gc())return true;}return false;}
-function vab(){}
-_=vab.prototype=new lO();_.gc=yab;_.tN=Afc+'DirtyableVerticalPane';_.tI=227;function gbb(){gbb=v2;Fr();}
-function dbb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=ocb(new ncb(),'images/close.gif');}
-function ebb(d,b,a){var c,e;gbb();Dr(d,true);dbb(d);hC(d.a,b);gA(d.c,kB(new uA(),'images/error_dialog.png'));e=nO(new lO());oO(e,d.a);gA(d.c,e);if(a!==null){fbb(d,e,a);}gA(d.c,d.b);c=d;lB(d.b,Cab(new Bab(),d,c));cs(d,d.c);rE(d,40,40);AN(d,'rule-error-Popup');return d;}
-function fbb(e,c,b){var a,d,f;f=nO(new lO());oO(c,f);d=wp(new qp(),'Details');oO(f,d);a=cC(new aC(),b);a.ue(false);oO(f,a);d.x(abb(new Fab(),e,a,d));}
-function hbb(a){hC(a.a,'');nE(a);}
-function ibb(){hbb(this);}
-function jbb(a){gbb();var b;b=ebb(new Aab(),a,null);edb();uE(b);}
-function kbb(a){gbb();var b;b=ebb(new Aab(),a.b,a.a);edb();uE(b);}
-function Aab(){}
-_=Aab.prototype=new Ar();_.ic=ibb;_.tN=Afc+'ErrorPopup';_.tI=228;function Cab(b,a,c){b.a=c;return b;}
-function Eab(a){hbb(this.a);}
-function Bab(){}
-_=Bab.prototype=new xT();_.wc=Eab;_.tN=Afc+'ErrorPopup$1';_.tI=229;function abb(b,a,c,d){b.a=c;b.b=d;return b;}
-function cbb(a){this.a.ue(true);this.b.ue(false);}
-function Fab(){}
-_=Fab.prototype=new xT();_.wc=cbb;_.tN=Afc+'ErrorPopup$2';_.tI=230;function mbb(b,a){b.a=a;return b;}
-function obb(a,b,c){}
-function pbb(a,b,c){}
-function qbb(a,b,c){this.a.nb();}
-function lbb(){}
-_=lbb.prototype=new xT();_.Fc=obb;_.ad=pbb;_.bd=qbb;_.tN=Afc+'FieldEditListener';_.tI=231;_.a=null;function sbb(a){a.h=kab(new iab());a.g=ut(a.h);}
-function ubb(b,a,c){sbb(b);wbb(b,a,c);mr(b,b.h);return b;}
-function tbb(a){sbb(a);mr(a,a.h);return a;}
-function vbb(d,c,a){var b;b=kz(new nw(),'<b>'+c+'<\/b>');nab(d.h,d.i,0,b);bx(d.g,d.i,0,(uz(),xz),(Dz(),aA));nab(d.h,d.i,1,a);bx(d.g,d.i,1,(uz(),wz),(Dz(),aA));d.i++;}
-function wbb(c,a,d){var b;b=cC(new aC(),d);AN(b,'resource-name-Label');Bbb(c,a,b);}
-function xbb(d,b,e,f){var a,c;c=cC(new aC(),e);AN(c,'resource-name-Label');a=fA(new dA());gA(a,c);gA(a,f);Bbb(d,b,a);}
-function ybb(a,b){nab(a.h,a.i,0,b);pt(a.g,a.i,0,2);a.i++;}
-function zbb(a){a.i=0;hy(a.h);}
-function Bbb(b,a,c){nab(b.h,0,0,kB(new uA(),a));bx(b.g,0,0,(uz(),wz),(Dz(),aA));nab(b.h,0,1,c);b.i++;}
-function Cbb(c,b,a,d){nab(c.h,b,a,d);}
-function Dbb(){return mab(this.h);}
-function rbb(){}
-_=rbb.prototype=new bab();_.mc=Dbb;_.tN=Afc+'FormStyleLayout';_.tI=232;_.i=0;function gcb(){gcb=v2;kE();}
-function dcb(c,b,d){var a;gcb();hE(c,true);c.i=ubb(new rbb(),b,d);AN(c,'ks-popups-Popup');a=ocb(new ncb(),'images/close.gif');lB(a,acb(new Fbb(),c));Cbb(c.i,0,2,a);cH(c,c.i);return c;}
-function ecb(b,a,c){vbb(b.i,a,c);}
-function fcb(a,b){ybb(a.i,b);}
-function Ebb(){}
-_=Ebb.prototype=new fE();_.tN=Afc+'FormStylePopup';_.tI=233;_.i=null;function acb(b,a){b.a=a;return b;}
-function ccb(a){this.a.ic();}
-function Fbb(){}
-_=Fbb.prototype=new xT();_.wc=ccb;_.tN=Afc+'FormStylePopup$1';_.tI=234;function qcb(){qcb=v2;nB();}
-function ocb(b,a){qcb();kB(b,a);AN(b,'image-Button');return b;}
-function pcb(b,a,c){qcb();kB(b,a);AN(b,'image-Button');b.pe(c);return b;}
-function ncb(){}
-_=ncb.prototype=new uA();_.tN=Afc+'ImageButton';_.tI=235;function wcb(c,d,b){var a;a=kB(new uA(),'images/information.gif');a.pe(b);lB(a,tcb(new scb(),c,d,b));mr(c,a);return c;}
-function rcb(){}
-_=rcb.prototype=new kr();_.tN=Afc+'InfoPopup';_.tI=236;function tcb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vcb(b){var a;a=dcb(new Ebb(),'images/information.gif',this.b);fcb(a,zcb(new ycb(),this.a,'small-Text'));rE(a,rN(b),sN(b));uE(a);}
-function scb(){}
-_=scb.prototype=new xT();_.wc=vcb;_.tN=Afc+'InfoPopup$1';_.tI=237;function zcb(c,a,b){cC(c,a);AN(c,b);return c;}
-function ycb(){}
-_=ycb.prototype=new aC();_.tN=Afc+'Lbl';_.tI=238;function cdb(){cdb=v2;kE();}
-function adb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=kB(new uA(),'images/close.gif');}
-function bdb(a){cdb();hE(a,true);adb(a);gA(a.c,a.a);gA(a.c,a.b);gA(a.c,kB(new uA(),'images/searching.gif'));lB(a.b,Dcb(new Ccb(),a));cH(a,a.c);rE(a,0,0);AN(a,'loading-Popup');return a;}
-function ddb(a){hC(a.a,'');nE(a);}
-function edb(){cdb();ddb(fdb());}
-function fdb(){cdb();if(hdb===null){hdb=bdb(new Bcb());}return hdb;}
-function gdb(){ddb(this);}
-function idb(a){cdb();var b;b=fdb();hC(b.a,a);uE(b);}
-function Bcb(){}
-_=Bcb.prototype=new fE();_.ic=gdb;_.tN=Afc+'LoadingPopup';_.tI=239;var hdb=null;function Dcb(b,a){b.a=a;return b;}
-function Fcb(a){ddb(this.a);}
-function Ccb(){}
-_=Ccb.prototype=new xT();_.wc=Fcb;_.tN=Afc+'LoadingPopup$1';_.tI=240;function kdb(c,b,a){c.b=b;c.a=a;return c;}
-function jdb(){}
-_=jdb.prototype=new xT();_.tN=Afc+'Pair';_.tI=241;_.a=0;_.b=0;function rdb(a){a.b=sC(new kC());uTb(ELb(),odb(new ndb(),a));mr(a,a.b);return a;}
-function tdb(a){return BC(a.b,CC(a.b));}
-function udb(b,a){b.a=a;}
-function mdb(){}
-_=mdb.prototype=new kr();_.tN=Afc+'RulePackageSelector';_.tI=242;_.a=null;_.b=null;function odb(b,a){b.a=a;return b;}
-function qdb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){vC(this.a.b,b[a].j);if(this.a.a!==null&&qU(b[a].j,this.a.a)){bD(this.a.b,a);}}}
-function ndb(){}
-_=ndb.prototype=new hcb();_.md=qdb;_.tN=Afc+'RulePackageSelector$1';_.tI=243;function neb(){neb=v2;Fr();}
-function leb(f,g,d){var a,b,c,e;neb();Dr(f,true);f.d=g;f.b=d;AN(f,'ks-popups-Popup');as(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=fA(new dA());a=sC(new kC());idb('Please wait...');wTb(ELb(),xdb(new wdb(),f,a));uC(a,Bdb(new Adb(),f,a));gA(c,a);e=wp(new qp(),'Change status');e.x(Fdb(new Edb(),f,a));gA(c,e);b=wp(new qp(),'Cancel');b.x(deb(new ceb(),f));gA(c,b);cs(f,c);return f;}
-function meb(b,a){idb('Updating status...');hTb(ELb(),b.d,b.c,b.b,heb(new geb(),b));}
-function oeb(b,a){b.a=a;}
-function vdb(){}
-_=vdb.prototype=new Ar();_.tN=Afc+'StatusChangePopup';_.tI=244;_.a=null;_.b=false;_.c=null;_.d=null;function xdb(b,a,c){b.a=c;return b;}
-function zdb(a){var b,c;c=Fb(a,63);vC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){vC(this.a,c[b]);}edb();}
-function wdb(){}
-_=wdb.prototype=new hcb();_.md=zdb;_.tN=Afc+'StatusChangePopup$1';_.tI=245;function Bdb(b,a,c){b.a=a;b.b=c;return b;}
-function Ddb(a){this.a.c=BC(this.b,CC(this.b));}
-function Adb(){}
-_=Adb.prototype=new xT();_.vc=Ddb;_.tN=Afc+'StatusChangePopup$2';_.tI=246;function Fdb(b,a,c){b.a=a;b.b=c;return b;}
-function beb(b){var a;a=BC(this.b,CC(this.b));meb(this.a,a);this.a.ic();}
-function Edb(){}
-_=Edb.prototype=new xT();_.wc=beb;_.tN=Afc+'StatusChangePopup$3';_.tI=247;function deb(b,a){b.a=a;return b;}
-function feb(a){this.a.ic();}
-function ceb(){}
-_=ceb.prototype=new xT();_.wc=feb;_.tN=Afc+'StatusChangePopup$4';_.tI=248;function heb(b,a){b.a=a;return b;}
-function jeb(b,a){b.a.a.nb();edb();}
-function keb(a){jeb(this,a);}
-function geb(){}
-_=geb.prototype=new hcb();_.md=keb;_.tN=Afc+'StatusChangePopup$5';_.tI=249;function reb(){reb=v2;gcb();}
-function qeb(c,b,a){reb();dcb(c,'images/attention_needed.png',b);ecb(c,'Detail:',seb(c,a));return c;}
-function seb(c,b){var a;a=kK(new jK());AN(a,'editable-Surface');pK(a,12);BK(a,b);a.xe('100%');return a;}
-function peb(){}
-_=peb.prototype=new Ebb();_.tN=Afc+'ValidationMessageWidget';_.tI=250;function Aeb(){Aeb=v2;kE();}
-function yeb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=wp(new qp(),'OK');}
-function zeb(b,c,d){var a;Aeb();hE(b,true);yeb(b);rE(b,c,d);gA(b.c,b.a);gA(b.c,b.b);a=b;b.b.x(veb(new ueb(),b,a));cH(b,b.c);AN(b,'rule-warning-Popup');return b;}
-function Beb(a){hC(a.a,'');nE(a);}
-function Ceb(){Beb(this);}
-function Deb(a,c,d){Aeb();var b;b=zeb(new teb(),c,d);hC(b.a,a);uE(b);}
-function teb(){}
-_=teb.prototype=new fE();_.ic=Ceb;_.tN=Afc+'WarningPopup';_.tI=251;function veb(b,a,c){b.a=c;return b;}
-function xeb(a){Beb(this.a);}
-function ueb(){}
-_=ueb.prototype=new xT();_.wc=xeb;_.tN=Afc+'WarningPopup$1';_.tI=252;function ifb(){ifb=v2;Fr();}
-function hfb(d,b,f){var a,c,e;ifb();Cr(d);bs(d,b);e=wp(new qp(),'Yes');c=wp(new qp(),'No');e.x(afb(new Feb(),d,f));c.x(efb(new dfb(),d));a=fA(new dA());gA(a,e);gA(a,c);cs(d,a);return d;}
-function Eeb(){}
-_=Eeb.prototype=new Ar();_.tN=Afc+'YesNoDialog';_.tI=253;function afb(b,a,c){b.a=a;b.b=c;return b;}
-function cfb(a){this.b.nb();this.a.ic();}
-function Feb(){}
-_=Feb.prototype=new xT();_.wc=cfb;_.tN=Afc+'YesNoDialog$1';_.tI=254;function efb(b,a){b.a=a;return b;}
-function gfb(a){this.a.ic();}
-function dfb(){}
-_=dfb.prototype=new xT();_.wc=gfb;_.tN=Afc+'YesNoDialog$2';_.tI=255;function ixb(b,a,c){b.e=c;b.a=a;nxb(b,a.e,a.d.n);mxb(b);return b;}
-function jxb(b,a){ybb(b.c,a);}
-function lxb(c,a,d){var b;b=FK(new qK());zK(b,a);BK(b,d);b.ue(false);return b;}
-function mxb(a){dv(a.b,exb(new dxb(),a));}
-function nxb(d,f,c){var a,b,e;d.b=cv(new Du());iv(d.b,v()+'asset');jv(d.b,'multipart/form-data');kv(d.b,'post');e=gt(new ft());jt(e,'fileUploadElement');b=fA(new dA());gA(b,lxb(d,'attachmentUUID',f));d.d=pcb(new ncb(),'images/upload.gif','Upload');gA(b,e);gA(b,cC(new aC(),'upload:'));gA(b,d.d);cH(d.b,b);d.c=ubb(new rbb(),d.sb(),c);if(!d.a.c)vbb(d.c,'Upload new version:',d.b);a=wp(new qp(),'Download');a.x(Cwb(new Bwb(),d,f));vbb(d.c,'Download current version:',a);lB(d.d,axb(new Fwb(),d));mr(d,d.c);d.c.xe('100%');AN(d,d.Bb());}
-function oxb(a){idb('Uploading...');}
-function pxb(a){mv(a.b);}
-function Awb(){}
-_=Awb.prototype=new kr();_.tN=Ffc+'AssetAttachmentFileWidget';_.tI=256;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function kfb(b,a,c){ixb(b,a,c);jxb(b,kz(new nw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
-function mfb(){return 'images/decision_table.png';}
-function nfb(){return 'decision-Table-upload';}
-function jfb(){}
-_=jfb.prototype=new Awb();_.sb=mfb;_.Bb=nfb;_.tN=Bfc+'DecisionTableXLSWidget';_.tI=257;function pfb(){pfb=v2;xfb=C0(new a0());sfb=C0(new a0());rfb=C0(new a0());qfb=zb('[Ljava.lang.String;',607,1,['not','exists','or']);{d1(xfb,'==','is equal to');d1(xfb,'!=','is not equal to');d1(xfb,'<','is less than');d1(xfb,'<=','less than or equal to');d1(xfb,'>','greater than');d1(xfb,'>=','greater than or equal to');d1(xfb,'|| ==','or equal to');d1(xfb,'|| !=','or not equal to');d1(xfb,'&& !=','and not equal to');d1(xfb,'&& >','and greater than');d1(xfb,'&& <','and less than');d1(xfb,'|| >','or greater than');d1(xfb,'|| <','or less than');d1(xfb,'&& <','and less than');d1(xfb,'|| >=','or greater than (or equal to)');d1(xfb,'|| <=','or less than (or equal to)');d1(xfb,'&& >=','and greater than (or equal to)');d1(xfb,'&& <=','or less than (or equal to)');d1(xfb,'&& contains','and contains');d1(xfb,'|| contains','or contains');d1(xfb,'&& matches','and matches');d1(xfb,'|| matches','or mat!
 ches');d1(xfb,'|| excludes','or excludes');d1(xfb,'&& excludes','and excludes');d1(xfb,'soundslike','sounds like');d1(sfb,'not','There is no');d1(sfb,'exists','There exists');d1(sfb,'or','Any of');d1(rfb,'assert','Insert');d1(rfb,'assertLogical','Logically insert');d1(rfb,'retract','Retract');d1(rfb,'set','Set');d1(rfb,'modify','Modify');}}
-function tfb(a){pfb();return wfb(a,rfb);}
-function ufb(a){pfb();return wfb(a,sfb);}
-function vfb(a){pfb();return wfb(a,xfb);}
-function wfb(a,b){pfb();if(F0(b,a)){return Fb(c1(b,a),1);}else{return a;}}
-var qfb,rfb,sfb,xfb;function Bfb(){Bfb=v2;pgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=']);rgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);ngb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);lgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);qgb=zb('[Ljava.lang.String;',607,1,['==','!=']);ogb=zb('[Ljava.lang.String;',607,1,['==','!=','<','>','<=','>=']);sgb=zb('[Ljava.lang.String;',607,1,['==','!=','matches','soundslike']);mgb=zb('[Ljava.lang.String;',607,1,['contains','excludes','==','!=']);}
-function zfb(a){a.h=C0(new a0());a.c=C0(new a0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[613],[14],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[613],[14],[0],null);}
-function Afb(a){Bfb();zfb(a);return a;}
-function Cfb(c,a,b){var d;d=Fb(c.f.fc(a+'.'+b),1);if(d===null){return pgb;}else if(qU(d,'String')){return rgb;}else if(qU(d,'Comparable')||qU(d,'Numeric')){return ngb;}else if(qU(d,'Collection')){return lgb;}else{return pgb;}}
-function Efb(i,g,d){var a,b,c,e,f,h,j;c=fgb(i);j=Fb(c1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(qU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.fc(f),63);}}}}return Fb(i.c.fc(g.c+'.'+d),63);}
-function Dfb(f,g,a,c){var b,d,e,h,i;b=fgb(f);h=Fb(c1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(qU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.fc(e),63);}}}return Fb(f.c.fc(g+'.'+c),63);}
-function agb(b,a){return Fb(b.g.fc(a),63);}
-function Ffb(a,c){var b;b=Fb(a.h.fc(c),1);return Fb(a.g.fc(b),63);}
-function bgb(c,a,b){return Fb(c.f.fc(a+'.'+b),1);}
-function cgb(a){return ggb(a,a.h.oc());}
-function dgb(c,a,b){var d;d=Fb(c.f.fc(a+'.'+b),1);if(d===null){return qgb;}else if(qU(d,'String')){return sgb;}else if(qU(d,'Comparable')||qU(d,'Numeric')){return ogb;}else if(qU(d,'Collection')){return mgb;}else{return qgb;}}
-function egb(a,b){return a.h.cb(b);}
-function fgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=C0(new a0());e=g.c.oc();for(b=tW(e);AW(b);){d=Fb(BW(b),1);if(rU(d,91)!=(-1)){c=rU(d,91);a=AU(d,0,c);f=AU(d,c+1,rU(d,93));h=AU(f,0,rU(f,61));d1(g.d,a,h);}}}return g.d;}
-function ggb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[607],[1],[d.b.a.c],null);b=0;for(c=tW(d);AW(c);){a[b]=Fb(BW(c),1);b++;}return a;}
-function yfb(){}
-_=yfb.prototype=new xT();_.tN=Cfc+'SuggestionCompletionEngine';_.tI=258;_.d=null;_.e=null;_.f=null;_.g=null;var lgb,mgb,ngb,ogb,pgb,qgb,rgb,sgb;function jgb(b,a){a.a=Fb(b.Ad(),72);a.b=Fb(b.Ad(),72);a.c=Fb(b.Ad(),57);a.e=Fb(b.Ad(),63);a.f=Fb(b.Ad(),57);a.g=Fb(b.Ad(),57);a.h=Fb(b.Ad(),57);}
-function kgb(b,a){b.bf(a.a);b.bf(a.b);b.bf(a.c);b.bf(a.e);b.bf(a.f);b.bf(a.g);b.bf(a.h);}
-function ugb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[617],[18],[0],null);}
-function vgb(a){ugb(a);return a;}
-function wgb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[617],[18],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[617],[18],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
-function ygb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[617],[18],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
-function tgb(){}
-_=tgb.prototype=new xT();_.tN=Dfc+'ActionFieldList';_.tI=259;function Bgb(b,a){a.b=Fb(b.Ad(),73);}
-function Cgb(b,a){b.bf(a.b);}
-function Egb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Dgb(){}
-_=Dgb.prototype=new xT();_.tN=Dfc+'ActionFieldValue';_.tI=260;_.a=null;_.b=null;_.c=null;function chb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
-function dhb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
-function ghb(a,b){vgb(a);a.a=b;return a;}
-function fhb(a){vgb(a);return a;}
-function ehb(){}
-_=ehb.prototype=new tgb();_.tN=Dfc+'ActionInsertFact';_.tI=261;_.a=null;function khb(b,a){a.a=b.Bd();Bgb(b,a);}
-function lhb(b,a){b.cf(a.a);Cgb(b,a);}
-function ohb(b,a){ghb(b,a);return b;}
-function nhb(a){fhb(a);return a;}
-function mhb(){}
-_=mhb.prototype=new ehb();_.tN=Dfc+'ActionInsertLogicalFact';_.tI=262;function shb(b,a){khb(b,a);}
-function thb(b,a){lhb(b,a);}
-function vhb(a,b){a.a=b;return a;}
-function uhb(){}
-_=uhb.prototype=new xT();_.tN=Dfc+'ActionRetractFact';_.tI=263;_.a=null;function zhb(b,a){a.a=b.Bd();}
-function Ahb(b,a){b.cf(a.a);}
-function Dhb(a,b){vgb(a);a.a=b;return a;}
-function Chb(a){vgb(a);return a;}
-function Bhb(){}
-_=Bhb.prototype=new tgb();_.tN=Dfc+'ActionSetField';_.tI=264;_.a=null;function bib(b,a){a.a=b.Bd();Bgb(b,a);}
-function cib(b,a){b.cf(a.a);Cgb(b,a);}
-function fib(b,a){Dhb(b,a);return b;}
-function eib(a){Chb(a);return a;}
-function dib(){}
-_=dib.prototype=new Bhb();_.tN=Dfc+'ActionUpdateField';_.tI=265;function jib(b,a){bib(b,a);}
-function kib(b,a){cib(b,a);}
-function mib(a,b){a.b=b;return a;}
-function nib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[615],[16],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[615],[16],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
-function lib(){}
-_=lib.prototype=new xT();_.tN=Dfc+'CompositeFactPattern';_.tI=266;_.a=null;_.b=null;function rib(b,a){a.a=Fb(b.Ad(),74);a.b=b.Bd();}
-function sib(b,a){b.bf(a.a);b.cf(a.b);}
-function uib(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[616],[17],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[616],[17],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
-function wib(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[616],[17],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
-function tib(){}
-_=tib.prototype=new xT();_.tN=Dfc+'CompositeFieldConstraint';_.tI=267;_.a=null;_.b=null;function zib(b,a){a.a=b.Bd();a.b=Fb(b.Ad(),75);}
-function Aib(b,a){b.cf(a.a);b.bf(a.b);}
-function yjb(){}
-_=yjb.prototype=new xT();_.tN=Dfc+'ISingleFieldConstraint';_.tI=268;_.e=0;_.f=null;function Bib(){}
-_=Bib.prototype=new yjb();_.tN=Dfc+'ConnectiveConstraint';_.tI=269;_.a=null;function Fib(b,a){a.a=b.Bd();Cjb(b,a);}
-function ajb(b,a){b.cf(a.a);Djb(b,a);}
-function djb(b){var a;a=new bjb();a.a=b.a;return a;}
-function ejb(e){var a,b,c,d;b=BU(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
-function jjb(){return ejb(this);}
-function bjb(){}
-_=bjb.prototype=new xT();_.tS=jjb;_.tN=Dfc+'DSLSentence';_.tI=270;_.a=null;function hjb(b,a){a.a=b.Bd();}
-function ijb(b,a){b.cf(a.a);}
-function ljb(b,a){b.c=a;return b;}
-function mjb(b,a){if(b.b===null)b.b=new tib();uib(b.b,a);}
-function ojb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[616],[17],[0],null);}else{return a.b.b;}}
-function pjb(a){if(a.a!==null&& !qU('',a.a)){return true;}else{return false;}}
-function qjb(b,a){wib(b.b,a);}
-function kjb(){}
-_=kjb.prototype=new xT();_.tN=Dfc+'FactPattern';_.tI=271;_.a=null;_.b=null;_.c=null;function tjb(b,a){a.a=b.Bd();a.b=Fb(b.Ad(),31);a.c=b.Bd();}
-function ujb(b,a){b.cf(a.a);b.bf(a.b);b.cf(a.c);}
-function Cjb(b,a){a.e=b.yd();a.f=b.Bd();}
-function Djb(b,a){b.Fe(a.e);b.cf(a.f);}
-function akb(b,a,c){b.a=a;b.b=c;return b;}
-function gkb(){var a;a=cU(new bU());eU(a,this.a);if(qU('no-loop',this.a)){eU(a,' ');eU(a,this.b===null?'true':this.b);}else if(qU('salience',this.a)){eU(a,' ');eU(a,this.b);}else if(this.b!==null){eU(a,' "');eU(a,this.b);eU(a,'"');}return iU(a);}
-function Fjb(){}
-_=Fjb.prototype=new xT();_.tS=gkb;_.tN=Dfc+'RuleAttribute';_.tI=272;_.a=null;_.b=null;function ekb(b,a){a.a=b.Bd();a.b=b.Bd();}
-function fkb(b,a){b.cf(a.a);b.cf(a.b);}
-function ikb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[21],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[22],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[23],[0],null);}
-function jkb(a){ikb(a);return a;}
-function kkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[21],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function lkb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[22],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[22],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
-function mkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[23],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[23],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
-function okb(h){var a,b,c,d,e,f,g;g=FX(new DX());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,16)){b=Fb(f,16);if(pjb(b)){bY(g,b.a);}for(e=0;e<ojb(b).a;e++){c=ojb(b)[e];if(ac(c,32)){a=Fb(c,32);if(Fkb(a)){bY(g,a.b);}}}}}return g;}
-function pkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],16)){b=Fb(c.b[a],16);if(b.a!==null&&qU(d,b.a)){return b;}}}return null;}
-function qkb(d){var a,b,c;if(d.b===null){return null;}b=FX(new DX());for(a=0;a<d.b.a;a++){if(ac(d.b[a],16)){c=Fb(d.b[a],16);if(c.a!==null){bY(b,c.a);}}}return b;}
-function rkb(k,b){var a,c,d,e,f,g,h,i,j;j=FX(new DX());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,16)){d=Fb(i,16);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Fkb(a)){bY(j,a.b);}}}}if(pjb(d)){bY(j,d.a);}}else{if(pjb(d)){bY(j,d.a);}}}}return j;}
-function skb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],28)){d=Fb(e.e[b],28);if(qU(d.a,a)){return true;}}else if(ac(e.e[b],27)){c=Fb(e.e[b],27);if(qU(c.a,a)){return true;}}}return false;}
-function tkb(b,a){return fY(okb(b),a);}
-function ukb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[21],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function vkb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[22],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],16)){e=Fb(f.b[a],16);if(e.a!==null&&skb(f,e.a)){return false;}}}}f.b=d;return true;}
-function wkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[23],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
-function hkb(){}
-_=hkb.prototype=new xT();_.tN=Dfc+'RuleModel';_.tI=273;_.c='1.0';_.d=null;function zkb(b,a){a.a=Fb(b.Ad(),76);a.b=Fb(b.Ad(),77);a.c=b.Bd();a.d=b.Bd();a.e=Fb(b.Ad(),78);}
-function Akb(b,a){b.bf(a.a);b.bf(a.b);b.cf(a.c);b.cf(a.d);b.bf(a.e);}
-function Ckb(b,a){b.c=a;return b;}
-function Dkb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',614,15,[new Bib()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[614],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new Bib();c.a=b;}}
-function Fkb(a){if(a.b!==null&& !qU('',a.b)){return true;}else{return false;}}
-function Bkb(){}
-_=Bkb.prototype=new yjb();_.tN=Dfc+'SingleFieldConstraint';_.tI=274;_.a=null;_.b=null;_.c=null;_.d=null;function clb(b,a){a.a=Fb(b.Ad(),79);a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();Cjb(b,a);}
-function dlb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);Djb(b,a);}
-function Dlb(d,b,c,a){d.e=c;d.a=a;d.d=kab(new iab());d.f=b;d.b=c.a;d.c=agb(d.a,c.a);AN(d.d,'model-builderInner-Background');Flb(d);mr(d,d.d);return d;}
-function Flb(e){var a,b,c,d,f;hy(e.d);nab(e.d,0,0,bmb(e));c=kab(new iab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];nab(c,a,0,amb(e,f));nab(c,a,1,dmb(e,f));b=a;d=ocb(new ncb(),'images/delete_item_small.gif');lB(d,glb(new flb(),e,b));nab(c,a,2,d);}nab(e.d,0,1,c);}
-function amb(a,b){return cC(new aC(),b.a);}
-function bmb(d){var a,b,c;c=fA(new dA());b=ocb(new ncb(),'images/add_field_to_fact.gif');b.pe('Add another field to this so you can set its value.');lB(b,wlb(new vlb(),d));a='assert';if(ac(d.e,26)){a='assertLogical';}gA(c,zcb(new ycb(),tfb(a)+' '+d.e.a,'modeller-action-Label'));gA(c,b);return c;}
-function cmb(d,e){var a,b,c;c=dcb(new Ebb(),'images/newex_wiz.gif','Add a field');AN(c,'ks-popups-Popup');a=sC(new kC());vC(a,'...');for(b=0;b<d.c.a;b++){vC(a,d.c[b]);}bD(a,0);ecb(c,'Add field',a);uC(a,Alb(new zlb(),d,a,c));rE(c,rN(e),sN(e));uE(c);}
-function dmb(c,d){var a,b;b=Dfb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return xpb(d.c,olb(new nlb(),c,d),b);}else{a=FK(new qK());BK(a,d.c);tK(a,slb(new rlb(),c,d,a));if(qU(d.b,'Numeric')){uK(a,rnb(a));}return a;}}
-function elb(){}
-_=elb.prototype=new bab();_.tN=Efc+'ActionInsertFactWidget';_.tI=275;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function glb(b,a,c){b.a=a;b.b=c;return b;}
-function ilb(b){var a;a=hfb(new Eeb(),'Remove this item?',klb(new jlb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
-function flb(){}
-_=flb.prototype=new xT();_.wc=ilb;_.tN=Efc+'ActionInsertFactWidget$1';_.tI=276;function klb(b,a,c){b.a=a;b.b=c;return b;}
-function mlb(){ygb(this.a.a.e,this.b);rwb(this.a.a.f);}
-function jlb(){}
-_=jlb.prototype=new xT();_.nb=mlb;_.tN=Efc+'ActionInsertFactWidget$2';_.tI=277;function olb(b,a,c){b.a=c;return b;}
-function qlb(a){this.a.c=a;}
-function nlb(){}
-_=nlb.prototype=new xT();_.Ce=qlb;_.tN=Efc+'ActionInsertFactWidget$3';_.tI=278;function slb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function ulb(a){this.c.c=xK(this.b);rwb(this.a.f);}
-function rlb(){}
-_=rlb.prototype=new xT();_.vc=ulb;_.tN=Efc+'ActionInsertFactWidget$4';_.tI=279;function wlb(b,a){b.a=a;return b;}
-function ylb(a){cmb(this.a,a);}
-function vlb(){}
-_=vlb.prototype=new xT();_.wc=ylb;_.tN=Efc+'ActionInsertFactWidget$5';_.tI=280;function Alb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Clb(c){var a,b;a=BC(this.b,CC(this.b));b=bgb(this.a.a,this.a.e.a,a);wgb(this.a.e,Egb(new Dgb(),a,'',b));rwb(this.a.f);this.c.ic();}
-function zlb(){}
-_=zlb.prototype=new xT();_.vc=Clb;_.tN=Efc+'ActionInsertFactWidget$6';_.tI=281;function fmb(c,a,b){c.a=rt(new lt());AN(c.a,'model-builderInner-Background');c.a.ve(0,0,zcb(new ycb(),tfb('retract'),'modeller-action-Label'));c.a.ve(0,1,zcb(new ycb(),'['+b.a+']','modeller-action-Label'));mr(c,c.a);return c;}
-function emb(){}
-_=emb.prototype=new kr();_.tN=Efc+'ActionRetractFactWidget';_.tI=282;_.a=null;function knb(e,b,d,a){var c;e.d=d;e.a=a;e.c=kab(new iab());e.e=b;AN(e.c,'model-builderInner-Background');if(egb(e.a,d.a)){e.b=Ffb(e.a,d.a);e.f=Fb(e.a.h.fc(d.a),1);}else{c=pkb(b.c,d.a);e.b=agb(e.a,c.c);e.f=c.c;}mnb(e);mr(e,e.c);return e;}
-function mnb(e){var a,b,c,d,f;hy(e.c);nab(e.c,0,0,onb(e));c=kab(new iab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];nab(c,a,0,nnb(e,f));nab(c,a,1,qnb(e,f));b=a;d=ocb(new ncb(),'images/delete_item_small.gif');lB(d,jmb(new imb(),e,b));nab(c,a,2,d);}nab(e.c,0,1,c);}
-function nnb(a,b){return cC(new aC(),b.a);}
-function onb(d){var a,b,c;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe('Add another field to this so you can set its value.');lB(a,rmb(new qmb(),d));c='set';if(ac(d.d,29)){c='modify';}gA(b,zcb(new ycb(),tfb(c)+' ['+d.d.a+']','modeller-action-Label'));gA(b,a);return b;}
-function pnb(d,e){var a,b,c;c=dcb(new Ebb(),'images/newex_wiz.gif','Add a field');AN(c,'ks-popups-Popup');a=sC(new kC());vC(a,'...');for(b=0;b<d.b.a;b++){vC(a,d.b[b]);}bD(a,0);ecb(c,'Add field',a);uC(a,vmb(new umb(),d,a,c));rE(c,rN(e),sN(e));uE(c);}
-function qnb(d,f){var a,b,c,e;e='';if(egb(d.a,d.d.a)){e=Fb(d.a.h.fc(d.d.a),1);}else{e=pkb(d.e.c,d.d.a).c;}b=Dfb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return xpb(f.c,zmb(new ymb(),d,f),b);}else{c=aH(new yG());a=FK(new qK());BK(a,f.c);if(uU(f.c)!=0){bL(a,uU(f.c));}if(qU(f.b,'Numeric')){uK(a,rnb(a));}tK(a,Dmb(new Cmb(),d,f,a));uK(a,mbb(new lbb(),bnb(new anb(),d,a)));cH(c,a);return c;}}
-function rnb(a){return fnb(new enb(),a);}
-function snb(){return mab(this.c);}
-function hmb(){}
-_=hmb.prototype=new bab();_.mc=snb;_.tN=Efc+'ActionSetFieldWidget';_.tI=283;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function jmb(b,a,c){b.a=a;b.b=c;return b;}
-function lmb(b){var a;a=hfb(new Eeb(),'Remove this item?',nmb(new mmb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
-function imb(){}
-_=imb.prototype=new xT();_.wc=lmb;_.tN=Efc+'ActionSetFieldWidget$1';_.tI=284;function nmb(b,a,c){b.a=a;b.b=c;return b;}
-function pmb(){ygb(this.a.a.d,this.b);rwb(this.a.a.e);}
-function mmb(){}
-_=mmb.prototype=new xT();_.nb=pmb;_.tN=Efc+'ActionSetFieldWidget$2';_.tI=285;function rmb(b,a){b.a=a;return b;}
-function tmb(a){pnb(this.a,a);}
-function qmb(){}
-_=qmb.prototype=new xT();_.wc=tmb;_.tN=Efc+'ActionSetFieldWidget$3';_.tI=286;function vmb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function xmb(c){var a,b;a=BC(this.b,CC(this.b));b=bgb(this.a.a,this.a.f,a);wgb(this.a.d,Egb(new Dgb(),a,'',b));rwb(this.a.e);this.c.ic();}
-function umb(){}
-_=umb.prototype=new xT();_.vc=xmb;_.tN=Efc+'ActionSetFieldWidget$4';_.tI=287;function zmb(b,a,c){b.a=c;return b;}
-function Bmb(a){this.a.c=a;}
-function ymb(){}
-_=ymb.prototype=new xT();_.Ce=Bmb;_.tN=Efc+'ActionSetFieldWidget$5';_.tI=288;function Dmb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Fmb(a){this.b.c=xK(this.a);}
-function Cmb(){}
-_=Cmb.prototype=new xT();_.vc=Fmb;_.tN=Efc+'ActionSetFieldWidget$6';_.tI=289;function bnb(b,a,c){b.a=c;return b;}
-function dnb(){bL(this.a,uU(xK(this.a)));}
-function anb(){}
-_=anb.prototype=new xT();_.nb=dnb;_.tN=Efc+'ActionSetFieldWidget$7';_.tI=290;function fnb(a,b){a.a=b;return a;}
-function hnb(a,b,c){}
-function inb(c,a,b){if(hS(a)&&a!=61&& !yU(xK(this.a),'=')){vK(Fb(c,80));}}
-function jnb(a,b,c){}
-function enb(){}
-_=enb.prototype=new xT();_.Fc=hnb;_.ad=inb;_.bd=jnb;_.tN=Efc+'ActionSetFieldWidget$8';_.tI=291;function Cnb(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=kab(new iab());AN(d.b,'model-builderInner-Background');Enb(d);mr(d,d.b);return d;}
-function Enb(c){var a,b,d;nab(c.b,0,0,Fnb(c));if(c.d.a!==null){d=wab(new vab());a=c.d.a;for(b=0;b<a.a;b++){oO(d,psb(new nqb(),c.c,a[b],c.a,false));}nab(c.b,0,1,d);}}
-function Fnb(c){var a,b;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");lB(a,vnb(new unb(),c));gA(b,cC(new aC(),ufb(c.d.b)));gA(b,a);AN(b,'modeller-composite-Label');return b;}
-function aob(e,f){var a,b,c,d;a=sC(new kC());b=e.a.e;vC(a,'Choose...');for(c=0;c<b.a;c++){vC(a,b[c]);}bD(a,0);d=dcb(new Ebb(),'images/new_fact.gif','New fact pattern...');ecb(d,'choose fact type',a);uC(a,znb(new ynb(),e,a,d));AN(d,'ks-popups-Popup');rE(d,rN(f)-400,sN(f));uE(d);}
-function bob(){return mab(this.b);}
-function tnb(){}
-_=tnb.prototype=new bab();_.mc=bob;_.tN=Efc+'CompositeFactPatternWidget';_.tI=292;_.a=null;_.b=null;_.c=null;_.d=null;function vnb(b,a){b.a=a;return b;}
-function xnb(a){aob(this.a,a);}
-function unb(){}
-_=unb.prototype=new xT();_.wc=xnb;_.tN=Efc+'CompositeFactPatternWidget$1';_.tI=293;function znb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Bnb(a){nib(this.a.d,ljb(new kjb(),BC(this.b,CC(this.b))));rwb(this.a.c);this.c.ic();}
-function ynb(){}
-_=ynb.prototype=new xT();_.vc=Bnb;_.tN=Efc+'CompositeFactPatternWidget$2';_.tI=294;function npb(f,d,b,a,c,g){var e;f.a=a;if(qU(g,'Numeric')){f.d=true;}else{f.d=false;}if(qU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',607,1,['true','false']);}f.c=c.c;e=c.a;f.b=Efb(e,d,b);f.e=aH(new yG());spb(f);mr(f,f.e);return f;}
-function opb(c,b){var a;a=FK(new qK());AN(a,'constraint-value-Editor');if(b.f===null){BK(a,'');}else{BK(a,b.f);}if(b.f===null||uU(b.f)<5){bL(a,3);}else{bL(a,uU(b.f)-1);}tK(a,Dob(new Cob(),c,b,a));uK(a,mbb(new lbb(),bpb(new apb(),c,a)));return a;}
-function qpb(b,a){spb(b);a.ic();}
-function rpb(b){var a;if(b.b!==null){return xpb(b.a.f,qob(new pob(),b),b.b);}else{a=opb(b,b.a);if(b.d){uK(a,new tob());}a.pe('This is a literal value. What is shown is what the field is checked against.');return a;}}
-function spb(b){var a;b.e.F();if(b.a.e==0){a=kB(new uA(),'images/edit.gif');lB(a,iob(new dob(),b));cH(b.e,a);}else{switch(b.a.e){case 1:cH(b.e,rpb(b));break;case 3:cH(b.e,tpb(b));break;case 2:cH(b.e,vpb(b));break;default:break;}}}
-function tpb(e){var a,b,c,d;a=opb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=kB(new uA(),'images/function_assets.gif');c.pe(d);a.pe(d);b=wpb(e,c,a);return b;}
-function upb(e,g,a){var b,c,d,f;b=dcb(new Ebb(),'images/newex_wiz.gif','Field value');d=wp(new qp(),'Literal value');d.x(fpb(new epb(),e,a,b));ecb(b,'Literal value:',wpb(e,d,wcb(new rcb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));fcb(b,kz(new nw(),'<hr/>'));fcb(b,zcb(new ycb(),'Advanced options','weak-Text'));if(rkb(e.c,e.a).b>0){f=wp(new qp(),'Bound variable');f.x(jpb(new ipb(),e,a,b));ecb(b,'A variable:',wpb(e,f,wcb(new rcb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=wp(new qp(),'New formula');c.x(fob(new eob(),e,a,b));ecb(b,'A formula:',wpb(e,c,wcb(new rcb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));rE(b,rN(g),sN(g));uE(b);}
-function vpb(c){var a,b,d,e;e=rkb(c.c,c.a);a=sC(new kC());if(c.a.f===null){vC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(gY(e,b),1);vC(a,d);if(c.a.f!==null&&qU(c.a.f,d)){bD(a,b);}}uC(a,mob(new lob(),c,a));return a;}
-function wpb(d,a,c){var b;b=fA(new dA());gA(b,a);gA(b,c);b.xe('100%');return b;}
-function xpb(b,k,d){var a,c,e,f,g,h,i,j;a=sC(new kC());if(b===null||qU('',b)){vC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(rU(i,61)>0){h=zpb(i);f=h[0];c=h[1];j=f;wC(a,c,f);}else{wC(a,i,i);j=i;}if(b!==null&&qU(b,j)){bD(a,e);g=true;}}if(b!==null&& !g){wC(a,b,b);bD(a,d.a);}uC(a,zob(new yob(),k,a));return a;}
-function ypb(){return this.j;}
-function zpb(c){var a,b;b=yb('[Ljava.lang.String;',[607],[1],[2],null);a=rU(c,61);b[0]=AU(c,0,a);b[1]=AU(c,a+1,uU(c));return b;}
-function cob(){}
-_=cob.prototype=new bab();_.mc=ypb;_.tN=Efc+'ConstraintValueEditor';_.tI=295;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function iob(b,a){b.a=a;return b;}
-function kob(a){upb(this.a,a,this.a.a);}
-function dob(){}
-_=dob.prototype=new xT();_.wc=kob;_.tN=Efc+'ConstraintValueEditor$1';_.tI=296;function fob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function hob(a){this.b.e=3;qpb(this.a,this.c);}
-function eob(){}
-_=eob.prototype=new xT();_.wc=hob;_.tN=Efc+'ConstraintValueEditor$10';_.tI=297;function mob(b,a,c){b.a=a;b.b=c;return b;}
-function oob(a){this.a.a.f=BC(this.b,CC(this.b));}
-function lob(){}
-_=lob.prototype=new xT();_.vc=oob;_.tN=Efc+'ConstraintValueEditor$2';_.tI=298;function qob(b,a){b.a=a;return b;}
-function sob(a){this.a.a.f=a;}
-function pob(){}
-_=pob.prototype=new xT();_.Ce=sob;_.tN=Efc+'ConstraintValueEditor$3';_.tI=299;function vob(a,b,c){}
-function wob(c,a,b){if(hS(a)){vK(Fb(c,80));}}
-function xob(a,b,c){}
-function tob(){}
-_=tob.prototype=new xT();_.Fc=vob;_.ad=wob;_.bd=xob;_.tN=Efc+'ConstraintValueEditor$4';_.tI=300;function zob(a,c,b){a.b=c;a.a=b;return a;}
-function Bob(a){this.b.Ce(DC(this.a,CC(this.a)));}
-function yob(){}
-_=yob.prototype=new xT();_.vc=Bob;_.tN=Efc+'ConstraintValueEditor$5';_.tI=301;function Dob(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Fob(a){this.c.f=xK(this.b);dab(this.a);}
-function Cob(){}
-_=Cob.prototype=new xT();_.vc=Fob;_.tN=Efc+'ConstraintValueEditor$6';_.tI=302;function bpb(b,a,c){b.a=c;return b;}
-function dpb(){bL(this.a,uU(xK(this.a)));}
-function apb(){}
-_=apb.prototype=new xT();_.nb=dpb;_.tN=Efc+'ConstraintValueEditor$7';_.tI=303;function fpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function hpb(a){this.b.e=1;qpb(this.a,this.c);}
-function epb(){}
-_=epb.prototype=new xT();_.wc=hpb;_.tN=Efc+'ConstraintValueEditor$8';_.tI=304;function jpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function lpb(a){this.b.e=2;qpb(this.a,this.c);}
-function ipb(){}
-_=ipb.prototype=new xT();_.wc=lpb;_.tN=Efc+'ConstraintValueEditor$9';_.tI=305;function gqb(b,a){b.a=rab(new qab());b.c=FX(new DX());b.b=a;jqb(b);return b;}
-function hqb(b,a){gA(b.a,a);bY(b.c,a);}
-function jqb(a){kqb(a,a.b.a);mr(a,a.a);}
-function kqb(g,e){var a,b,c,d,f;b=BU(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=bqb(new Fpb(),g);hqb(g,c);}else if(a==125){fqb(c,uU(dqb(c))+1);c=null;}else{if(c===null&&d===null){d=bC(new aC());hqb(g,d);}if(d!==null){hC(d,gC(d)+Eb(a));}else if(c!==null){eqb(c,dqb(c)+Eb(a));}}}}
-function lqb(c){var a,b,d;b='';for(a=c.c.nc();a.hc();){d=Fb(a.pc(),20);if(ac(d,81)){b=b+gC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+dqb(Fb(d,82))+'} ';}}c.b.a=DU(b);}
-function mqb(){return tab(this.a);}
-function Apb(){}
-_=Apb.prototype=new bab();_.mc=mqb;_.tN=Efc+'DSLSentenceWidget';_.tI=306;_.a=null;_.b=null;_.c=null;function Cpb(b,a){b.a=a;return b;}
-function Epb(a){lqb(this.a.c);dab(this.a);}
-function Bpb(){}
-_=Bpb.prototype=new xT();_.vc=Epb;_.tN=Efc+'DSLSentenceWidget$1';_.tI=307;function aqb(a){a.b=fA(new dA());}
-function bqb(b,a){b.c=a;aqb(b);b.a=FK(new qK());gA(b.b,kz(new nw(),'&nbsp;'));gA(b.b,b.a);gA(b.b,kz(new nw(),'&nbsp;'));tK(b.a,Cpb(new Bpb(),b));mr(b,b.b);return b;}
-function dqb(a){return xK(a.a);}
-function eqb(b,a){BK(b.a,a);}
-function fqb(b,a){bL(b.a,a);}
-function Fpb(){}
-_=Fpb.prototype=new bab();_.tN=Efc+'DSLSentenceWidget$FieldEditor';_.tI=308;_.a=null;function osb(a){a.c=kab(new iab());}
-function psb(k,h,i,c,a){var b,d,e,f,g,j;osb(k);k.e=Fb(i,16);k.b=c;k.d=h;k.a=a;nab(k.c,0,0,xsb(k));f=ut(k.c);bx(f,0,0,(uz(),vz),(Dz(),Fz));ex(f,0,0,'modeller-fact-TypeHeader');g=kab(new iab());nab(k.c,1,0,g);for(j=0;j<ojb(k.e).a;j++){d=ojb(k.e)[j];e=j;Asb(k,g,j,d,true);b=ocb(new ncb(),'images/delete_item_small.gif');b.pe('Remove this whole restriction');lB(b,lrb(new oqb(),k,e));nab(g,j,5,b);}if(k.a)AN(k.c,'modeller-fact-pattern-Widget');mr(k,k.c);return k;}
-function rsb(j,b){var a,c,d,e,f,g,h,i;f=fA(new dA());d=null;e=ocb(new ncb(),'images/add_field_to_fact.gif');e.pe('Add a field to this nested constraint.');lB(e,prb(new orb(),j,b));if(qU(b.a,'&&')){d='All of:';}else{d='Any of:';}gA(f,e);gA(f,kz(new nw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=kab(new iab());AN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){Asb(j,h,g,i[g],false);c=g;a=ocb(new ncb(),'images/delete_item_small.gif');a.pe('Remove this (nested) restriction');lB(a,trb(new srb(),j,b,c));nab(h,g,5,a);}}gA(f,h);return f;}
-function ssb(g,b,c){var a,d,e,f;f=Cfb(g.b,g.e.c,c);a=sC(new kC());vC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];wC(a,vfb(e),e);if(qU(e,b.a)){bD(a,d+1);}}uC(a,Cqb(new Bqb(),g,b,a));return a;}
-function tsb(d,a,b,c){var e;e=bgb(d.d.a,b,c);return npb(new cob(),d.e,c,a,d.d,e);}
-function usb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=rab(new qab());for(e=0;e<a.a.a;e++){b=a.a[e];gA(d,ssb(f,b,a.c));gA(d,tsb(f,b,c,a.c));}return d;}else{return null;}}
-function vsb(c,b){var a,d,e;if(c.a&& !skb(c.d.c,c.e.a)){d=fA(new dA());e=FK(new qK());if(c.e.a===null){BK(e,'');}else{BK(e,c.e.a);}bL(e,3);gA(d,e);a=wp(new qp(),'Set');a.x(yqb(new xqb(),c,e,b));gA(d,a);ecb(b,'Variable name',d);}}
-function wsb(e,c,d){var a,b;a=fA(new dA());AN(a,'modeller-field-Label');if(!Fkb(c)){if(e.a&&d){b=pcb(new ncb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');lB(b,erb(new drb(),e,c));gA(a,b);}}else{gA(a,cC(new aC(),'['+c.b+']'));}gA(a,cC(new aC(),c.c));return a;}
-function xsb(c){var a,b;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe('Add a field to this condition, or bind a varible to this fact.');lB(a,Frb(new Erb(),c));if(c.e.a!==null){gA(b,cC(new aC(),'['+c.e.a+'] '+c.e.c));}else{gA(b,cC(new aC(),c.e.c));}gA(b,a);return b;}
-function ysb(f,b){var a,c,d,e;e=dgb(f.b,f.e.c,b.c);a=sC(new kC());vC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];wC(a,vfb(d),d);if(qU(d,b.d)){bD(a,c+1);}}uC(a,arb(new Fqb(),f,b,a));return a;}
-function zsb(e,b){var a,c,d;d=fA(new dA());d.xe('100%');c=kB(new uA(),'images/function_assets.gif');c.pe('This is a formula expression that is evaluated to be true or false.');gA(d,c);if(b.f===null){b.f='';}a=FK(new qK());BK(a,b.f);tK(a,Brb(new Arb(),e,b,a));a.xe('100%');gA(d,a);return d;}
-function Asb(e,b,c,a,d){if(ac(a,32)){Bsb(e,e.d,b,c,a,d);}else if(ac(a,31)){nab(b,c,0,rsb(e,Fb(a,31)));pt(ut(b),c,0,5);}}
-function Bsb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){nab(d,f,0,wsb(h,b,g));nab(d,f,1,ysb(h,b));nab(d,f,2,Fsb(h,b,h.e.c));nab(d,f,3,usb(h,b,h.e.c));a=ocb(new ncb(),'images/add_connective.gif');a.pe('Add more options to this fields values.');lB(a,xrb(new wrb(),h,b,e));nab(d,f,4,a);}else if(b.e==5){nab(d,f,0,zsb(h,b));pt(ut(d),f,0,5);}}
-function Csb(d,g,a){var b,c,e,f;c=dcb(new Ebb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=ip(new hp());e=FK(new qK());b=wp(new qp(),'Set');jp(f,e);jp(f,b);b.x(irb(new hrb(),d,e,a,c));ecb(c,'Variable name',f);rE(c,rN(g),sN(g));uE(c);}
-function Esb(i,j){var a,b,c,d,e,f,g,h;g=dcb(new Ebb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);AN(g,'ks-popups-Popup');a=sC(new kC());vC(a,'...');c=agb(i.b,i.e.c);for(e=0;e<c.a;e++){vC(a,c[e]);}bD(a,0);uC(a,lsb(new ksb(),i,a,g));ecb(g,'Add a restriction on a field',a);b=sC(new kC());vC(b,'...');wC(b,'All of (And)','&&');wC(b,'Any of (Or)','||');bD(b,0);uC(b,qqb(new pqb(),i,b,g));f=wcb(new rcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=fA(new dA());gA(d,b);gA(d,f);ecb(g,'Multiple field constraint',d);fcb(g,zcb(new ycb(),'Advanced options','weak-Text'));h=wp(new qp(),'New formula');h.x(uqb(new tqb(),i,g));ecb(g,'Add a new formula style expression',h);vsb(i,g);rE(g,rN(j),sN(j));uE(g);}
-function Dsb(i,j,b){var a,c,d,e,f,g,h;h=dcb(new Ebb(),'images/newex_wiz.gif','Add fields to this constraint');AN(h,'ks-popups-Popup');a=sC(new kC());vC(a,'...');d=agb(i.b,i.e.c);for(f=0;f<d.a;f++){vC(a,d[f]);}bD(a,0);uC(a,dsb(new csb(),i,b,a,h));ecb(h,'Add a restriction on a field',a);c=sC(new kC());vC(c,'...');wC(c,'All of (And)','&&');wC(c,'Any of (Or)','||');bD(c,0);uC(c,hsb(new gsb(),i,c,b,h));g=wcb(new rcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=fA(new dA());gA(e,c);gA(e,g);ecb(h,'Multiple field constraint',e);rE(h,rN(j),sN(j));uE(h);}
-function Fsb(c,a,b){var d;d=bgb(c.d.a,b,a.c);return npb(new cob(),c.e,a.c,a,c.d,d);}
-function atb(){return mab(this.c);}
-function nqb(){}
-_=nqb.prototype=new bab();_.mc=atb;_.tN=Efc+'FactPatternWidget';_.tI=309;_.a=false;_.b=null;_.d=null;_.e=null;function lrb(b,a,c){b.a=a;b.b=c;return b;}
-function nrb(a){if(Bh('Remove this item?')){qjb(this.a.e,this.b);rwb(this.a.d);}}
-function oqb(){}
-_=oqb.prototype=new xT();_.wc=nrb;_.tN=Efc+'FactPatternWidget$1';_.tI=310;function qqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function sqb(b){var a;a=new tib();a.a=DC(this.b,CC(this.b));mjb(this.a.e,a);rwb(this.a.d);this.c.ic();}
-function pqb(){}
-_=pqb.prototype=new xT();_.vc=sqb;_.tN=Efc+'FactPatternWidget$10';_.tI=311;function uqb(b,a,c){b.a=a;b.b=c;return b;}
-function wqb(b){var a;a=new Bkb();a.e=5;mjb(this.a.e,a);rwb(this.a.d);this.b.ic();}
-function tqb(){}
-_=tqb.prototype=new xT();_.wc=wqb;_.tN=Efc+'FactPatternWidget$11';_.tI=312;function yqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Aqb(b){var a;a=xK(this.c);if(qwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=xK(this.c);rwb(this.a.d);this.b.ic();}
-function xqb(){}
-_=xqb.prototype=new xT();_.wc=Aqb;_.tN=Efc+'FactPatternWidget$12';_.tI=313;function Cqb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Eqb(a){this.b.a=DC(this.a,CC(this.a));}
-function Bqb(){}
-_=Bqb.prototype=new xT();_.vc=Eqb;_.tN=Efc+'FactPatternWidget$13';_.tI=314;function arb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function crb(a){this.c.d=DC(this.b,CC(this.b));dab(this.a.d);kV(),nV;}
-function Fqb(){}
-_=Fqb.prototype=new xT();_.vc=crb;_.tN=Efc+'FactPatternWidget$14';_.tI=315;function erb(b,a,c){b.a=a;b.b=c;return b;}
-function grb(a){Csb(this.a,a,this.b);}
-function drb(){}
-_=drb.prototype=new xT();_.wc=grb;_.tN=Efc+'FactPatternWidget$15';_.tI=316;function irb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function krb(b){var a;a=xK(this.d);if(qwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;rwb(this.a.d);this.c.ic();}
-function hrb(){}
-_=hrb.prototype=new xT();_.wc=krb;_.tN=Efc+'FactPatternWidget$16';_.tI=317;function prb(b,a,c){b.a=a;b.b=c;return b;}
-function rrb(a){Dsb(this.a,a,this.b);}
-function orb(){}
-_=orb.prototype=new xT();_.wc=rrb;_.tN=Efc+'FactPatternWidget$2';_.tI=318;function trb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vrb(a){if(Bh('Remove this item from nested constraint?')){wib(this.b,this.c);rwb(this.a.d);}}
-function srb(){}
-_=srb.prototype=new xT();_.wc=vrb;_.tN=Efc+'FactPatternWidget$3';_.tI=319;function xrb(b,a,c,d){b.a=c;b.b=d;return b;}
-function zrb(a){Dkb(this.a);rwb(this.b);}
-function wrb(){}
-_=wrb.prototype=new xT();_.wc=zrb;_.tN=Efc+'FactPatternWidget$4';_.tI=320;function Brb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Drb(a){this.c.f=xK(this.b);dab(this.a.d);}
-function Arb(){}
-_=Arb.prototype=new xT();_.vc=Drb;_.tN=Efc+'FactPatternWidget$5';_.tI=321;function Frb(b,a){b.a=a;return b;}
-function bsb(a){Esb(this.a,a);}
-function Erb(){}
-_=Erb.prototype=new xT();_.wc=bsb;_.tN=Efc+'FactPatternWidget$6';_.tI=322;function dsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function fsb(a){uib(this.c,Ckb(new Bkb(),BC(this.b,CC(this.b))));rwb(this.a.d);this.d.ic();}
-function csb(){}
-_=csb.prototype=new xT();_.vc=fsb;_.tN=Efc+'FactPatternWidget$7';_.tI=323;function hsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function jsb(b){var a;a=new tib();a.a=DC(this.c,CC(this.c));uib(this.b,a);rwb(this.a.d);this.d.ic();}
-function gsb(){}
-_=gsb.prototype=new xT();_.vc=jsb;_.tN=Efc+'FactPatternWidget$8';_.tI=324;function lsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nsb(a){mjb(this.a.e,Ckb(new Bkb(),BC(this.b,CC(this.b))));rwb(this.a.d);this.c.ic();}
-function ksb(){}
-_=ksb.prototype=new xT();_.vc=nsb;_.tN=Efc+'FactPatternWidget$9';_.tI=325;function ytb(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=tbb(new rbb());b=d.a;for(c=0;c<b.a;c++){a=b[c];vbb(f.a,a.a,Btb(f,a,c));}mr(f,f.a);return f;}
-function ztb(c,a){var b;b=gq(new fq());if(a.b===null){mq(b,true);a.b='true';}else{mq(b,qU(a.b,'true'));}b.x(dtb(new ctb(),c,a,b));return b;}
-function Btb(e,a,d){var b,c;if(qU(a.a,'no-loop')){return Ctb(e,d);}b=null;if(qU(a.a,'enabled')||qU(a.a,'auto-focus')||qU(a.a,'lock-on-active')){b=ztb(e,a);}else{b=Dtb(e,a);}c=rab(new qab());gA(c,b);gA(c,Ctb(e,d));return c;}
-function Ctb(c,a){var b;b=kB(new uA(),'images/delete_item_small.gif');lB(b,rtb(new qtb(),c,a));return b;}
-function Dtb(c,a){var b;b=FK(new qK());bL(b,uU(a.b)<3?3:uU(a.b));BK(b,a.b);tK(b,htb(new gtb(),c,a,b));if(qU(a.a,'date-effective')||qU(a.a,'date-expires')){if(a.b===null||qU('',a.b))BK(b,'dd-MMM-yyyy');bL(b,10);}uK(b,ltb(new ktb(),c,b));return b;}
-function Etb(){var a;a=sC(new kC());vC(a,'Choose...');vC(a,'salience');vC(a,'enabled');vC(a,'date-effective');vC(a,'date-expires');vC(a,'no-loop');vC(a,'agenda-group');vC(a,'activation-group');vC(a,'duration');vC(a,'auto-focus');vC(a,'lock-on-active');vC(a,'ruleflow-group');vC(a,'dialect');return a;}
-function Ftb(){return this.a.mc();}
-function btb(){}
-_=btb.prototype=new bab();_.mc=Ftb;_.tN=Efc+'RuleAttributeWidget';_.tI=326;_.a=null;_.b=null;_.c=null;function dtb(b,a,c,d){b.a=c;b.b=d;return b;}
-function ftb(a){this.a.b=lq(this.b)?'true':'false';}
-function ctb(){}
-_=ctb.prototype=new xT();_.wc=ftb;_.tN=Efc+'RuleAttributeWidget$1';_.tI=327;function htb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function jtb(a){this.b.b=xK(this.c);dab(this.a);}
-function gtb(){}
-_=gtb.prototype=new xT();_.vc=jtb;_.tN=Efc+'RuleAttributeWidget$2';_.tI=328;function ltb(b,a,c){b.a=c;return b;}
-function ntb(a,b,c){}
-function otb(a,b,c){}
-function ptb(a,b,c){bL(this.a,uU(xK(this.a)));}
-function ktb(){}
-_=ktb.prototype=new xT();_.Fc=ntb;_.ad=otb;_.bd=ptb;_.tN=Efc+'RuleAttributeWidget$3';_.tI=329;function rtb(b,a,c){b.a=a;b.b=c;return b;}
-function ttb(b){var a;a=hfb(new Eeb(),'Remove this rule option?',vtb(new utb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
-function qtb(){}
-_=qtb.prototype=new xT();_.wc=ttb;_.tN=Efc+'RuleAttributeWidget$4';_.tI=330;function vtb(b,a,c){b.a=a;b.b=c;return b;}
-function xtb(){ukb(this.a.a.b,this.b);rwb(this.a.a.c);}
-function utb(){}
-_=utb.prototype=new xT();_.nb=xtb;_.tN=Efc+'RuleAttributeWidget$5';_.tI=331;function fwb(b,a){b.c=Fb(a.b,83);b.a=uKb((sKb(),xKb),a.d.o);b.b=kab(new iab());pwb(b);AN(b.b,'model-builder-Background');mr(b,b.b);b.xe('100%');b.ne('100%');return b;}
-function gwb(b,a){mkb(b.c,Dhb(new Bhb(),a));rwb(b);}
-function hwb(b,a){mkb(b.c,fib(new dib(),a));rwb(b);}
-function iwb(b,a){lkb(b.c,mib(new lib(),a));rwb(b);}
-function jwb(b,a){lkb(b.c,djb(a));rwb(b);}
-function kwb(b,a){mkb(b.c,djb(a));rwb(b);}
-function lwb(b,a){lkb(b.c,ljb(new kjb(),a));rwb(b);}
-function mwb(a,b){mkb(a.c,vhb(new uhb(),b));rwb(a);}
-function owb(b){var a;a=ocb(new ncb(),'images/new_item.gif');a.pe('Add an option to the rule, to modify its behavior when evaluated or executed.');lB(a,kvb(new jvb(),b));return a;}
-function pwb(c){var a,b;hy(c.b);b=ocb(new ncb(),'images/new_item.gif');b.pe('Add a condition to this rule.');lB(b,cvb(new bub(),c));nab(c.b,0,0,cC(new aC(),'WHEN'));nab(c.b,0,2,b);nab(c.b,1,1,swb(c,c.c));nab(c.b,2,0,cC(new aC(),'THEN'));a=ocb(new ncb(),'images/new_item.gif');a.pe('Add an action to this rule.');lB(a,gvb(new fvb(),c));nab(c.b,2,2,a);nab(c.b,3,1,twb(c,c.c));nab(c.b,4,0,cC(new aC(),'(options)'));nab(c.b,4,2,owb(c));nab(c.b,5,1,ytb(new btb(),c,c.c));}
-function qwb(b,a){return tkb(b.c,a)||egb(b.a,a);}
-function rwb(a){pwb(a);dab(a);}
-function swb(e,c){var a,b,d,f,g;f=wab(new vab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,16)){g=psb(new nqb(),e,d,e.a,true);oO(f,ywb(e,c,b,g));oO(f,xwb(e));}else if(ac(d,30)){g=Cnb(new tnb(),e,Fb(d,30),e.a);oO(f,ywb(e,c,b,g));oO(f,xwb(e));}else if(ac(d,14)){}else{throw DT(new CT(),"I don't know what type of pattern that is.");}}a=wab(new vab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,14)){g=gqb(new Apb(),Fb(d,14));oO(a,ywb(e,c,b,g));AN(a,'model-builderInner-Background');}}oO(f,a);return f;}
-function twb(g,e){var a,b,c,d,f,h,i;h=wab(new vab());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,28)){i=knb(new hmb(),g,Fb(a,28),g.a);}else if(ac(a,25)){i=Dlb(new elb(),g,Fb(a,25),g.a);}else if(ac(a,27)){i=fmb(new emb(),g.a,Fb(a,27));}else if(ac(a,14)){i=gqb(new Apb(),Fb(a,14));AN(i,'model-builderInner-Background');}oO(h,xwb(g));b=rab(new qab());f=ocb(new ncb(),'images/delete_item_small.gif');f.pe('Remove this action.');d=c;lB(f,svb(new rvb(),g,e,d));gA(b,i);if(!ac(i,84)){i.xe('100%');b.xe('100%');}gA(b,f);oO(h,b);}return h;}
-function uwb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=dcb(new Ebb(),'images/new_fact.gif','Add a new action...');AN(k,'ks-popups-Popup');q=qkb(n.c);p=sC(new kC());l=sC(new kC());j=sC(new kC());vC(p,'Choose ...');vC(l,'Choose ...');vC(j,'Choose ...');for(i=q.nc();i.hc();){o=Fb(i.pc(),1);vC(p,o);vC(l,o);vC(j,o);}d=cgb(n.a);for(f=0;f<d.a;f++){vC(p,d[f]);}bD(p,0);uC(p,dub(new cub(),n,p,k));uC(l,hub(new gub(),n,l,k));uC(j,lub(new kub(),n,j,k));if(AC(p)>1){ecb(k,'Set the values of a field on',p);}if(AC(j)>1){e=fA(new dA());gA(e,j);g=kB(new uA(),'images/information.gif');g.pe('Modify a field on a fact, and notify the engine to re-evaluate rules.');gA(e,g);ecb(k,'Modify a fact',e);}if(AC(l)>1){ecb(k,'Retract the fact',l);}b=sC(new kC());c=sC(new kC());vC(b,'Choose ...');vC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];vC(b,h);vC(c,h);}uC(b,pub(new oub(),n,b,k));uC(c,tub(new sub(),n,c,k));if(AC(b)>1){ecb(k,'Insert a new fact',b);e=fA(new dA());gA(e,c);g=kB(new uA(),'images/inf!
 ormation.gif');g.pe('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');gA(e,g);ecb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=sC(new kC());vC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];wC(a,ejb(m),aT(f));}uC(a,xub(new wub(),n,a,k));ecb(k,'DSL sentence',a);}rE(k,dc(ai()/3),dc(Fh()/3));uE(k);}
-function vwb(c,d){var a,b;b=dcb(new Ebb(),'images/config.png','Add an option to the rule');a=Etb();bD(a,0);uC(a,ovb(new nvb(),c,a,b));AN(b,'ks-popups-Popup');ecb(b,'Attribute',a);rE(b,rN(d)-400,sN(d));uE(b);}
-function wwb(j,k){var a,b,c,d,e,f,g,h,i;h=dcb(new Ebb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=sC(new kC());wC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){vC(e,f[g]);}bD(e,0);if(f.a>0)ecb(h,'Fact',e);uC(e,Avb(new zvb(),j,e,h));AN(h,'ks-popups-Popup');c=(pfb(),qfb);b=sC(new kC());wC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];wC(b,ufb(a),a);}bD(b,0);if(f.a>0)ecb(h,'Condition type',b);uC(b,Evb(new Dvb(),j,b,h));if(j.a.b.a>0){d=sC(new kC());vC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];wC(d,ejb(i),aT(g));}uC(d,cwb(new bwb(),j,d,h));ecb(h,'DSL sentence',d);}rE(h,rN(k)-400,sN(k));uE(h);}
-function xwb(b){var a;a=kz(new nw(),'&nbsp;');a.ne('2px');return a;}
-function ywb(f,d,b,g){var a,c,e;a=rab(new qab());e=ocb(new ncb(),'images/delete_item_small.gif');e.pe('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;lB(e,Bub(new Aub(),f,d,c));a.xe('100%');g.xe('100%');gA(a,g);gA(a,e);return a;}
-function zwb(){return mab(this.b)||this.j;}
-function aub(){}
-_=aub.prototype=new bab();_.mc=zwb;_.tN=Efc+'RuleModeller';_.tI=332;_.a=null;_.b=null;_.c=null;function cvb(b,a){b.a=a;return b;}
-function evb(a){wwb(this.a,a);}
-function bub(){}
-_=bub.prototype=new xT();_.wc=evb;_.tN=Efc+'RuleModeller$1';_.tI=333;function dub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function fub(a){gwb(this.a,BC(this.c,CC(this.c)));this.b.ic();}
-function cub(){}
-_=cub.prototype=new xT();_.vc=fub;_.tN=Efc+'RuleModeller$10';_.tI=334;function hub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function jub(a){mwb(this.a,BC(this.c,CC(this.c)));this.b.ic();}
-function gub(){}
-_=gub.prototype=new xT();_.vc=jub;_.tN=Efc+'RuleModeller$11';_.tI=335;function lub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nub(a){hwb(this.a,BC(this.b,CC(this.b)));this.c.ic();}
-function kub(){}
-_=kub.prototype=new xT();_.vc=nub;_.tN=Efc+'RuleModeller$12';_.tI=336;function pub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function rub(b){var a;a=BC(this.b,CC(this.b));mkb(this.a.c,ghb(new ehb(),a));rwb(this.a);this.c.ic();}
-function oub(){}
-_=oub.prototype=new xT();_.vc=rub;_.tN=Efc+'RuleModeller$13';_.tI=337;function tub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vub(b){var a;a=BC(this.b,CC(this.b));mkb(this.a.c,ohb(new mhb(),a));rwb(this.a);this.c.ic();}
-function sub(){}
-_=sub.prototype=new xT();_.vc=vub;_.tN=Efc+'RuleModeller$14';_.tI=338;function xub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function zub(b){var a;a=ES(DC(this.b,CC(this.b)));kwb(this.a,this.a.a.a[a]);this.c.ic();}
-function wub(){}
-_=wub.prototype=new xT();_.vc=zub;_.tN=Efc+'RuleModeller$15';_.tI=339;function Bub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Dub(b){var a;a=hfb(new Eeb(),'Remove this entire condition?',Fub(new Eub(),this,this.c,this.b));rE(a,rN(b),sN(b));uE(a);}
-function Aub(){}
-_=Aub.prototype=new xT();_.wc=Dub;_.tN=Efc+'RuleModeller$16';_.tI=340;function Fub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function bvb(){if(vkb(this.c,this.b)){rwb(this.a.a);}else{jbb("Can't remove that item as it is used in the action part of the rule.");}}
-function Eub(){}
-_=Eub.prototype=new xT();_.nb=bvb;_.tN=Efc+'RuleModeller$17';_.tI=341;function gvb(b,a){b.a=a;return b;}
-function ivb(a){uwb(this.a,a);}
-function fvb(){}
-_=fvb.prototype=new xT();_.wc=ivb;_.tN=Efc+'RuleModeller$2';_.tI=342;function kvb(b,a){b.a=a;return b;}
-function mvb(a){vwb(this.a,a);}
-function jvb(){}
-_=jvb.prototype=new xT();_.wc=mvb;_.tN=Efc+'RuleModeller$3';_.tI=343;function ovb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function qvb(a){kkb(this.a.c,akb(new Fjb(),BC(this.b,CC(this.b)),''));rwb(this.a);this.c.ic();}
-function nvb(){}
-_=nvb.prototype=new xT();_.vc=qvb;_.tN=Efc+'RuleModeller$4';_.tI=344;function svb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function uvb(b){var a;a=hfb(new Eeb(),'Remove this item?',wvb(new vvb(),this,this.c,this.b));rE(a,rN(b),sN(b));uE(a);}
-function rvb(){}
-_=rvb.prototype=new xT();_.wc=uvb;_.tN=Efc+'RuleModeller$5';_.tI=345;function wvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function yvb(){wkb(this.c,this.b);rwb(this.a.a);}
-function vvb(){}
-_=vvb.prototype=new xT();_.nb=yvb;_.tN=Efc+'RuleModeller$6';_.tI=346;function Avb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Cvb(b){var a;a=BC(this.b,CC(this.b));if(!qU(a,'IGNORE')){lwb(this.a,a);this.c.ic();}}
-function zvb(){}
-_=zvb.prototype=new xT();_.vc=Cvb;_.tN=Efc+'RuleModeller$7';_.tI=347;function Evb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function awb(b){var a;a=DC(this.b,CC(this.b));if(!qU(a,'IGNORE')){iwb(this.a,a);this.c.ic();}}
-function Dvb(){}
-_=Dvb.prototype=new xT();_.vc=awb;_.tN=Efc+'RuleModeller$8';_.tI=348;function cwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ewb(b){var a;a=ES(DC(this.b,CC(this.b)));jwb(this.a,this.a.a.b[a]);this.c.ic();}
-function bwb(){}
-_=bwb.prototype=new xT();_.vc=ewb;_.tN=Efc+'RuleModeller$9';_.tI=349;function Cwb(b,a,c){b.a=c;return b;}
-function Ewb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
-function Bwb(){}
-_=Bwb.prototype=new xT();_.wc=Ewb;_.tN=Ffc+'AssetAttachmentFileWidget$1';_.tI=350;function axb(b,a){b.a=a;return b;}
-function cxb(a){oxb(this.a);pxb(this.a);}
-function Fwb(){}
-_=Fwb.prototype=new xT();_.wc=cxb;_.tN=Ffc+'AssetAttachmentFileWidget$2';_.tI=351;function exb(b,a){b.a=a;return b;}
-function hxb(a){}
-function gxb(a){edb();if(sU(a.a,'OK')>(-1)){x$b(this.a.e);}else{jbb('Unable to upload the file.');}}
-function dxb(){}
-_=dxb.prototype=new xT();_.ld=hxb;_.kd=gxb;_.tN=Ffc+'AssetAttachmentFileWidget$3';_.tI=352;function Bxb(){Bxb=v2;gcb();}
-function zxb(c){var a,b;Bxb();dcb(c,'images/new_wiz.gif','Create a new fact template');c.a=rt(new lt());c.b=FK(new qK());ecb(c,'Name:',c.b);ecb(c,'Fact attributes:',c.a);a=kB(new uA(),'images/new_item.gif');lB(a,sxb(new rxb(),c));ecb(c,'Add a new attribute',a);b=wp(new qp(),'Create');b.x(wxb(new vxb(),c));ecb(c,'',b);return c;}
-function Axb(b){var a;a=vt(b.a);b.a.ve(a,0,FK(new qK()));b.a.ve(a,1,Exb(b));}
-function Cxb(d){var a,b,c,e,f;b='template '+xK(d.b)+'\n';for(a=0;a<vt(d.a);a++){e=Fb(qy(d.a,a,1),85);f=BC(e,CC(e));c=xK(Fb(qy(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
-function Dxb(b,a){b.c=a;}
-function Exb(b){var a;a=sC(new kC());vC(a,'String');vC(a,'Integer');vC(a,'Float');vC(a,'Date');vC(a,'Boolean');return a;}
-function qxb(){}
-_=qxb.prototype=new Ebb();_.tN=Ffc+'FactTemplateWizard';_.tI=353;_.a=null;_.b=null;_.c=null;function sxb(b,a){b.a=a;return b;}
-function uxb(a){Axb(this.a);}
-function rxb(){}
-_=rxb.prototype=new xT();_.wc=uxb;_.tN=Ffc+'FactTemplateWizard$1';_.tI=354;function wxb(b,a){b.a=a;return b;}
-function yxb(a){BCb(this.a.c);this.a.ic();}
-function vxb(){}
-_=vxb.prototype=new xT();_.wc=yxb;_.tN=Ffc+'FactTemplateWizard$2';_.tI=355;function ayb(b,a,c){ixb(b,a,c);return b;}
-function cyb(){return 'images/model_large.png';}
-function dyb(){return 'editable-Surface';}
-function Fxb(){}
-_=Fxb.prototype=new Awb();_.sb=cyb;_.Bb=dyb;_.tN=Ffc+'ModelAttachmentFileWidget';_.tI=356;function czb(){czb=v2;gcb();}
-function azb(a){a.b=tbb(new rbb());a.d=tbb(new rbb());}
-function bzb(f,b){var a,c,d,e;czb();dcb(f,'images/new_wiz.gif','Create a new package');azb(f);f.c=FK(new qK());f.a=kK(new jK());ybb(f.d,kz(new nw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));vbb(f.d,'Name:',f.c);vbb(f.d,'Description:',f.a);f.c.pe('The name of the package. Avoid spaces, use underscore instead.');e=eG(new cG(),'action','Create new pa!
 ckage');d=eG(new cG(),'action','Import from drl file');mq(e,true);f.d.ue(true);e.x(gyb(new fyb(),f));f.b.ue(false);d.x(kyb(new jyb(),f));a=ip(new hp());jp(a,e);jp(a,d);fcb(f,a);fcb(f,f.d);fcb(f,f.b);vbb(f.b,'DRL file to import:',ezb(b,f));c=wp(new qp(),'Create package');c.x(oyb(new nyb(),f,b));vbb(f.d,'',c);AN(f,'ks-popups-Popup');return f;}
-function dzb(d,b,a,c){idb('Creating package - please wait...');qTb(ELb(),b,a,tyb(new syb(),d,c));}
-function ezb(a,d){czb();var b,c,e,f;f=cv(new Du());iv(f,v()+'package');jv(f,'multipart/form-data');kv(f,'post');c=fA(new dA());f.we(c);e=gt(new ft());jt(e,'classicDRLFile');gA(c,e);gA(c,cC(new aC(),'upload:'));b=pcb(new ncb(),'images/upload.gif','Import');lB(b,yyb(new xyb(),f));gA(c,b);dv(f,Cyb(new Byb(),a,d,e));return f;}
-function eyb(){}
-_=eyb.prototype=new Ebb();_.tN=Ffc+'NewPackageWizard';_.tI=357;_.a=null;_.c=null;function gyb(b,a){b.a=a;return b;}
-function iyb(a){this.a.d.ue(true);this.a.b.ue(false);}
-function fyb(){}
-_=fyb.prototype=new xT();_.wc=iyb;_.tN=Ffc+'NewPackageWizard$1';_.tI=358;function kyb(b,a){b.a=a;return b;}
-function myb(a){this.a.d.ue(false);this.a.b.ue(true);}
-function jyb(){}
-_=jyb.prototype=new xT();_.wc=myb;_.tN=Ffc+'NewPackageWizard$2';_.tI=359;function oyb(b,a,c){b.a=a;b.b=c;return b;}
-function qyb(b,a){return vU(a,'[a-zA-Z\\.]*');}
-function ryb(a){if(qyb(this,xK(this.a.c))){dzb(this.a,xK(this.a.c),xK(this.a.a),this.b);this.a.ic();}else{BK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
-function nyb(){}
-_=nyb.prototype=new xT();_.wc=ryb;_.tN=Ffc+'NewPackageWizard$3';_.tI=360;function tyb(b,a,c){b.a=c;return b;}
-function vyb(b,a){edb();eFb(b.a);}
-function wyb(a){vyb(this,a);}
-function syb(){}
-_=syb.prototype=new hcb();_.md=wyb;_.tN=Ffc+'NewPackageWizard$4';_.tI=361;function yyb(a,b){a.a=b;return a;}
-function Ayb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){idb('Importing drl package, please wait, as this could take some time...');mv(this.a);}}
-function xyb(){}
-_=xyb.prototype=new xT();_.wc=Ayb;_.tN=Ffc+'NewPackageWizard$5';_.tI=362;function Cyb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
-function Fyb(a){if(uU(it(this.c))==0){zh('You did not choose a drl file to import !');yv(a,true);}else if(!oU(it(this.c),'.drl')){zh("You can only import '.drl' files.");yv(a,true);}}
-function Eyb(a){if(sU(a.a,'OK')>(-1)){zh('Package was imported successfully. ');eFb(this.a);this.b.ic();}else{jbb('Unable to import into the package. ['+a.a+']');}edb();}
-function Byb(){}
-_=Byb.prototype=new xT();_.ld=Fyb;_.kd=Eyb;_.tN=Ffc+'NewPackageWizard$6';_.tI=363;function FAb(h,e,f){var a,b,c,d,g;h.c=ubb(new rbb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=aH(new yG());g=FK(new qK());a=wp(new qp(),'Build package');a.pe('This will validate and compile all the assets in a package.');a.x(yzb(new gzb(),h,b,g));c=wp(new qp(),'Show package source');c.x(Czb(new Bzb(),h,e));vbb(h.c,'View source for package',c);d=fA(new dA());gA(d,a);gA(d,kz(new nw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));gA(d,g);gA(d,wcb(new rcb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));vbb(h.c,'Build binary package:',d);ybb(h.c,kz(new nw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));ybb(h.c,b);AN(h.c,'package-Editor');h.c.xe('100%');mr(h,h.c);return h;}
-function bBb(d,a,c){var b;a.F();b=fA(new dA());gA(b,cC(new aC(),'Validating and building package, please wait...'));gA(b,kB(new uA(),'images/red_anime.gif'));idb('Please wait...');cH(a,b);fg(pAb(new oAb(),d,c,a));}
-function cBb(i,e,a){var b,c,d,f,g,h;a.F();b=rt(new lt());AN(b,'build-Results');Ey(b,0,1,'Format');Ey(b,0,2,'Name');Ey(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ve(f,0,kB(new uA(),'images/error.gif'));Ey(b,f,1,d.a);Ey(b,f,2,d.b);Ey(b,f,3,d.c);if(!qU('package',d.a)){h=wp(new qp(),'Show');h.x(CAb(new BAb(),i,d));b.ve(f,4,h);}}b.xe('100%');g=uG(new sG(),b);wG(g,true);zN(g,'100%','25em');cH(a,g);}
-function dBb(g,i){var a,b,c,d,e,f,h;idb('Loading existing snapshots...');c=dcb(new Ebb(),'images/snapshot.png','Create a snapshot for deployment.');fcb(c,kz(new nw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=nO(new lO());ecb(c,'Choose or create snapshot name:',h);f=FX(new DX());d=FK(new qK());e='NEW: ';vTb(ELb(),g.a.j,izb(new hzb(),g,f,h,d));a=FK(new qK());ecb(c,'Comment:',a);b=wp(new qp(),'Create new snapshot');ecb(c,'',b);b.x(qzb(new pzb(),g,f,d,a,c));c.xe('50%');rE(c,dc((fab()-mE(c))/2),100);uE(c);}
-function eBb(e,a){var b,c,d,f;a.F();f=nO(new lO());oO(f,kz(new nw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=gBb(e.a);b=kz(new nw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");oO(f,b);d=wp(new qp(),'Create snapshot for deployment');d.x(yAb(new xAb(),e));oO(f,d);cH(a,f);}
-function fBb(b,a){idb('Assembling package source...');fg(aAb(new Fzb(),b,a));}
-function gBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
-function hBb(b,c){var a,d;d=dcb(new Ebb(),'images/view_source.gif','Viewing source for: '+c);a=kK(new jK());pK(a,30);a.xe('100%');oK(a,80);fcb(d,a);BK(a,b);a.ke(true);a.pe('THIS IS READ ONLY - you may copy and paste, but not edit.');uK(a,jAb(new iAb(),a,b));edb();rE(d,dc((fab()-mE(d))/2),100);uE(d);}
-function fzb(){}
-_=fzb.prototype=new kr();_.tN=Ffc+'PackageBuilderWidget';_.tI=364;_.a=null;_.b=null;_.c=null;function yzb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Azb(a){bBb(this.a,this.b,xK(this.c));}
-function gzb(){}
-_=gzb.prototype=new xT();_.wc=Azb;_.tN=Ffc+'PackageBuilderWidget$1';_.tI=365;function izb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
-function kzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=eG(new cG(),'snapshotNameGroup',f[c].b);bY(this.b,b);oO(this.c,b);}d=fA(new dA());e=eG(new cG(),'snapshotNameGroup','NEW: ');gA(d,e);this.a.ke(false);e.x(mzb(new lzb(),this,this.a));gA(d,this.a);bY(this.b,e);oO(this.c,d);edb();}
-function hzb(){}
-_=hzb.prototype=new hcb();_.md=kzb;_.tN=Ffc+'PackageBuilderWidget$10';_.tI=366;function mzb(b,a,c){b.a=c;return b;}
-function ozb(a){this.a.ke(true);}
-function lzb(){}
-_=lzb.prototype=new xT();_.wc=ozb;_.tN=Ffc+'PackageBuilderWidget$11';_.tI=367;function qzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
-function szb(d){var a,b,c;c=false;for(b=this.f.nc();b.hc();){a=Fb(b.pc(),87);if(lq(a)){this.a=kq(a);if(!qU(kq(a),'NEW: ')){c=true;}break;}}if(qU(this.a,'NEW: ')){this.a=xK(this.e);}if(qU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}pTb(ELb(),this.b.a.j,this.a,c,xK(this.c),uzb(new tzb(),this,this.d));}
-function pzb(){}
-_=pzb.prototype=new xT();_.wc=szb;_.tN=Ffc+'PackageBuilderWidget$12';_.tI=368;_.a='';function uzb(b,a,c){b.a=a;b.b=c;return b;}
-function wzb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.ic();}
-function xzb(a){wzb(this,a);}
-function tzb(){}
-_=tzb.prototype=new hcb();_.md=xzb;_.tN=Ffc+'PackageBuilderWidget$13';_.tI=369;function Czb(b,a,c){b.a=c;return b;}
-function Ezb(a){fBb(this.a.m,this.a.j);}
-function Bzb(){}
-_=Bzb.prototype=new xT();_.wc=Ezb;_.tN=Ffc+'PackageBuilderWidget$2';_.tI=370;function aAb(a,c,b){a.b=c;a.a=b;return a;}
-function cAb(){eTb(ELb(),this.b,eAb(new dAb(),this,this.a));}
-function Fzb(){}
-_=Fzb.prototype=new xT();_.nb=cAb;_.tN=Ffc+'PackageBuilderWidget$3';_.tI=371;function eAb(b,a,c){b.a=c;return b;}
-function gAb(c,b){var a;a=Fb(b,1);hBb(a,c.a);}
-function hAb(a){gAb(this,a);}
-function dAb(){}
-_=dAb.prototype=new hcb();_.md=hAb;_.tN=Ffc+'PackageBuilderWidget$4';_.tI=372;function jAb(a,b,c){a.a=b;a.b=c;return a;}
-function lAb(a,b,c){BK(this.a,this.b);}
-function mAb(a,b,c){BK(this.a,this.b);}
-function nAb(a,b,c){BK(this.a,this.b);}
-function iAb(){}
-_=iAb.prototype=new xT();_.Fc=lAb;_.ad=mAb;_.bd=nAb;_.tN=Ffc+'PackageBuilderWidget$5';_.tI=373;function pAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rAb(){fTb(ELb(),this.a.a.m,this.c,tAb(new sAb(),this,this.b));}
-function oAb(){}
-_=oAb.prototype=new xT();_.nb=rAb;_.tN=Ffc+'PackageBuilderWidget$6';_.tI=374;function tAb(b,a,c){b.a=a;b.b=c;return b;}
-function vAb(c,a){var b;edb();if(a===null){eBb(c.a.a,c.b);}else{b=Fb(a,88);cBb(c.a.a,b,c.b);}}
-function wAb(a){vAb(this,a);}
-function sAb(){}
-_=sAb.prototype=new hcb();_.md=wAb;_.tN=Ffc+'PackageBuilderWidget$7';_.tI=375;function yAb(b,a){b.a=a;return b;}
-function AAb(a){dBb(this.a,a);}
-function xAb(){}
-_=xAb.prototype=new xT();_.wc=AAb;_.tN=Ffc+'PackageBuilderWidget$8';_.tI=376;function CAb(b,a,c){b.a=a;b.b=c;return b;}
-function EAb(a){aIb(this.a.b,this.b.d);}
-function BAb(){}
-_=BAb.prototype=new xT();_.wc=EAb;_.tN=Ffc+'PackageBuilderWidget$9';_.tI=377;function fEb(e,b,c,a,d){tbb(e);e.b=b;e.c=c;e.a=a;e.e=d;AN(e,'package-Editor');e.xe('100%');lEb(e);return e;}
-function hEb(b){var a;a=kK(new jK());a.xe('100%');pK(a,8);BK(a,b.b.d);tK(a,cDb(new bDb(),b,a));oK(a,100);return jEb(b,a);}
-function iEb(b,a){idb('Saving package configuration. Please wait ...');gUb(ELb(),b.b,uBb(new tBb(),b,a));}
-function jEb(d,a){var b,c;c=fA(new dA());gA(c,a);b=kB(new uA(),'images/max_min.gif');b.pe('Increase view area');gA(c,b);lB(b,ECb(new DCb(),d,a));return c;}
-function kEb(g){var a,b,c,d,e,f,h;a=kK(new jK());a.xe('100%');pK(a,8);oK(a,100);BK(a,g.b.f);tK(a,bCb(new aCb(),g,a));f=fA(new dA());gA(f,a);h=nO(new lO());b=kB(new uA(),'images/max_min.gif');lB(b,fCb(new eCb(),g,a));b.pe('Increase view area.');oO(h,b);e=kB(new uA(),'images/new_import.gif');lB(e,jCb(new iCb(),g,a));oO(h,e);e.pe('Add a new Type/Class import to the package.');d=kB(new uA(),'images/new_global.gif');lB(d,nCb(new mCb(),g,a));d.pe('Add a new global variable declaration.');oO(h,d);c=kB(new uA(),'images/fact_template.gif');lB(c,vCb(new uCb(),g,a));c.pe('Add a new fact template.');f.xe('100%');gA(f,h);return f;}
-function lEb(c){var a,b;zbb(c);ybb(c,sEb(c));vbb(c,'Description:',hEb(c));vbb(c,'Header:',kEb(c));ybb(c,kz(new nw(),'<hr/>'));vbb(c,'Last modified:',cC(new aC(),sZ(c.b.i)));vbb(c,'Last contributor:',cC(new aC(),c.b.h));ybb(c,kz(new nw(),'<hr/>'));c.f=jz(new nw());b=fA(new dA());a=ocb(new ncb(),'images/edit.gif');a.pe('Change status.');lB(a,qCb(new jBb(),c));gA(b,c.f);if(!c.b.g){gA(b,a);}oEb(c,c.b.l);vbb(c,'Status:',b);if(!c.b.g){ybb(c,nEb(c));}ybb(c,kz(new nw(),'<hr/>'));}
-function mEb(a){idb('Refreshing package data...');ATb(ELb(),a.b.m,DBb(new CBb(),a));}
-function nEb(f){var a,b,c,d,e;c=fA(new dA());e=wp(new qp(),'Save and validate configuration');e.x(nDb(new mDb(),f));gA(c,e);a=wp(new qp(),'Archive');a.x(rDb(new qDb(),f));gA(c,a);b=wp(new qp(),'Copy');b.x(vDb(new uDb(),f));gA(c,b);d=wp(new qp(),'Rename');d.x(zDb(new yDb(),f));gA(c,d);return c;}
-function oEb(b,a){nz(b.f,'<b>'+a+'<\/b>');}
-function pEb(d){var a,b,c;c=dcb(new Ebb(),'images/new_wiz.gif','Copy the package');fcb(c,kz(new nw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=FK(new qK());ecb(c,'New package name:',a);b=wp(new qp(),'OK');ecb(c,'',b);b.x(lBb(new kBb(),d,a,c));c.xe('40%');rE(c,dc(ai()/3),dc(Fh()/3));uE(c);}
-function qEb(d){var a,b,c;c=dcb(new Ebb(),'images/new_wiz.gif','Rename the package');fcb(c,kz(new nw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=FK(new qK());ecb(c,'New package name:',a);b=wp(new qp(),'OK');ecb(c,'',b);b.x(DDb(new CDb(),d,a,c));c.xe('40%');rE(c,dc(ai()/3),dc(Fh()/3));uE(c);}
-function rEb(b,c){var a;a=leb(new vdb(),b.b.m,true);oeb(a,jDb(new iDb(),b,a));rE(a,rN(c),sN(c));uE(a);}
-function sEb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=kB(new uA(),'images/warning.gif');a=fA(new dA());gA(a,b);c=kz(new nw(),'<b>There were errors validating this package configuration.');gA(a,c);d=wp(new qp(),'View errors');d.x(fDb(new tCb(),e));gA(a,d);return a;}else{return aH(new yG());}}
-function iBb(){}
-_=iBb.prototype=new rbb();_.tN=Ffc+'PackageEditor';_.tI=378;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function qCb(b,a){b.a=a;return b;}
-function sCb(a){rEb(this.a,a);}
-function jBb(){}
-_=jBb.prototype=new xT();_.wc=sCb;_.tN=Ffc+'PackageEditor$1';_.tI=379;function lBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nBb(a){mTb(ELb(),this.a.b.j,xK(this.b),pBb(new oBb(),this,this.c));}
-function kBb(){}
-_=kBb.prototype=new xT();_.wc=nBb;_.tN=Ffc+'PackageEditor$10';_.tI=380;function pBb(b,a,c){b.a=a;b.b=c;return b;}
-function rBb(b,a){cGb(b.a.a.e);zh('Package copied successfully.');b.b.ic();}
-function sBb(a){rBb(this,a);}
-function oBb(){}
-_=oBb.prototype=new hcb();_.md=sBb;_.tN=Ffc+'PackageEditor$11';_.tI=381;function uBb(b,a,c){b.a=a;b.b=c;return b;}
-function wBb(b,a){iGb(b.a.a);b.a.d=Fb(a,89);mEb(b.a);idb('Package configuration updated successfully, refreshing content cache...');wKb((sKb(),xKb),b.a.b.j,zBb(new yBb(),b,b.b));}
-function xBb(a){wBb(this,a);}
-function tBb(){}
-_=tBb.prototype=new hcb();_.md=xBb;_.tN=Ffc+'PackageEditor$12';_.tI=382;function zBb(b,a,c){b.a=c;return b;}
-function BBb(){if(this.a!==null){cGb(this.a);}edb();}
-function yBb(){}
-_=yBb.prototype=new xT();_.nb=BBb;_.tN=Ffc+'PackageEditor$13';_.tI=383;function DBb(b,a){b.a=a;return b;}
-function FBb(a){edb();this.a.b=Fb(a,19);lEb(this.a);}
-function CBb(){}
-_=CBb.prototype=new hcb();_.md=FBb;_.tN=Ffc+'PackageEditor$14';_.tI=384;function bCb(b,a,c){b.a=a;b.b=c;return b;}
-function dCb(a){this.a.b.f=xK(this.b);EFb(this.a.c);}
-function aCb(){}
-_=aCb.prototype=new xT();_.vc=dCb;_.tN=Ffc+'PackageEditor$16';_.tI=385;function fCb(b,a,c){b.a=c;return b;}
-function hCb(a){if(nK(this.a)!=32){pK(this.a,32);}else{pK(this.a,8);}}
-function eCb(){}
-_=eCb.prototype=new xT();_.wc=hCb;_.tN=Ffc+'PackageEditor$17';_.tI=386;function jCb(b,a,c){b.a=a;b.b=c;return b;}
-function lCb(a){BK(this.b,xK(this.b)+'\n'+'import <your class here>');this.a.b.f=xK(this.b);}
-function iCb(){}
-_=iCb.prototype=new xT();_.wc=lCb;_.tN=Ffc+'PackageEditor$18';_.tI=387;function nCb(b,a,c){b.a=a;b.b=c;return b;}
-function pCb(a){BK(this.b,xK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=xK(this.b);}
-function mCb(){}
-_=mCb.prototype=new xT();_.wc=pCb;_.tN=Ffc+'PackageEditor$19';_.tI=388;function fDb(b,a){b.a=a;return b;}
-function hDb(a){var b;b=qeb(new peb(),this.a.d.a,this.a.d.b);rE(b,dc(ai()/4),sN(a));uE(b);}
-function tCb(){}
-_=tCb.prototype=new xT();_.wc=hDb;_.tN=Ffc+'PackageEditor$2';_.tI=389;function vCb(b,a,c){b.a=a;b.b=c;return b;}
-function xCb(a){var b;b=zxb(new qxb());rE(b,rN(a)-400,sN(a)-250);Dxb(b,zCb(new yCb(),this,this.b,b));uE(b);}
-function uCb(){}
-_=uCb.prototype=new xT();_.wc=xCb;_.tN=Ffc+'PackageEditor$20';_.tI=390;function zCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function BCb(a){BK(a.b,xK(a.b)+'\n'+Cxb(a.c));a.a.a.b.f=xK(a.b);}
-function CCb(){BCb(this);}
-function yCb(){}
-_=yCb.prototype=new xT();_.nb=CCb;_.tN=Ffc+'PackageEditor$21';_.tI=391;function ECb(b,a,c){b.a=c;return b;}
-function aDb(a){if(nK(this.a)!=32){pK(this.a,32);}else{pK(this.a,8);}}
-function DCb(){}
-_=DCb.prototype=new xT();_.wc=aDb;_.tN=Ffc+'PackageEditor$22';_.tI=392;function cDb(b,a,c){b.a=a;b.b=c;return b;}
-function eDb(a){this.a.b.d=xK(this.b);EFb(this.a.c);}
-function bDb(){}
-_=bDb.prototype=new xT();_.vc=eDb;_.tN=Ffc+'PackageEditor$23';_.tI=393;function jDb(b,a,c){b.a=a;b.b=c;return b;}
-function lDb(){oEb(this.a,this.b.c);}
-function iDb(){}
-_=iDb.prototype=new xT();_.nb=lDb;_.tN=Ffc+'PackageEditor$3';_.tI=394;function nDb(b,a){b.a=a;return b;}
-function pDb(a){iEb(this.a,null);}
-function mDb(){}
-_=mDb.prototype=new xT();_.wc=pDb;_.tN=Ffc+'PackageEditor$4';_.tI=395;function rDb(b,a){b.a=a;return b;}
-function tDb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;iEb(this.a,this.a.e);}}
-function qDb(){}
-_=qDb.prototype=new xT();_.wc=tDb;_.tN=Ffc+'PackageEditor$5';_.tI=396;function vDb(b,a){b.a=a;return b;}
-function xDb(a){pEb(this.a);}
-function uDb(){}
-_=uDb.prototype=new xT();_.wc=xDb;_.tN=Ffc+'PackageEditor$6';_.tI=397;function zDb(b,a){b.a=a;return b;}
-function BDb(a){qEb(this.a);}
-function yDb(){}
-_=yDb.prototype=new xT();_.wc=BDb;_.tN=Ffc+'PackageEditor$7';_.tI=398;function DDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function FDb(a){eUb(ELb(),this.a.b.m,xK(this.b),bEb(new aEb(),this,this.c));}
-function CDb(){}
-_=CDb.prototype=new xT();_.wc=FDb;_.tN=Ffc+'PackageEditor$8';_.tI=399;function bEb(b,a,c){b.a=a;b.b=c;return b;}
-function dEb(b,a){cGb(b.a.a.e);zh('Package renamed successfully.');b.b.ic();}
-function eEb(a){dEb(this,a);}
-function aEb(){}
-_=aEb.prototype=new hcb();_.md=eEb;_.tN=Ffc+'PackageEditor$9';_.tI=400;function qHb(a){a.f=aGb(new uEb(),a);}
-function rHb(b,a){sHb(b,a,null,null);return b;}
-function sHb(g,b,h,f){var a,c,d,e;qHb(g);g.b=b;g.h=h;g.c=pM(new cL());g.d=kab(new iab());g.g=new eGb();tM(g.c,g.g);e=nO(new lO());if(f===null){a=rt(new lt());ex(a.n,0,0,'new-asset-Icons');bx(a.n,0,0,(uz(),vz),(Dz(),Fz));a.ve(0,0,vHb(g));oO(e,a);a.xe('100%');}oO(e,g.c);nab(g.d,0,0,e);c=ut(g.d);fx(c,0,0,(Dz(),aA));qt(ut(g.d),0,1,2);bx(ut(g.d),0,1,(uz(),vz),(Dz(),aA));zHb(g);d=BM(g.c,0);if(d!==null)fN(g.c,d);nab(g.d,0,1,kz(new nw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));hx(ut(g.d),0,0,'25%');bx(ut(g.d),0,1,(uz(),wz),(Dz(),aA));g.e=Bcc(new Fbc(),g.b,'rulelist');mr(g,g.d);return g;}
-function tHb(d,a,c){var b;b=yHb(d,a.j,'images/package.gif',oHb(new nHb(),hFb(new gFb(),d,a)));b.y(yHb(d,'Business rule assets','images/rule_asset.gif',AHb(d,a.m,(b_(),c_))));b.y(yHb(d,'Technical rule assets','images/technical_rule_assets.gif',AHb(d,a.m,(b_(),e_))));b.y(yHb(d,'Functions','images/function_assets.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['function']))));b.y(yHb(d,'DSL','images/dsl.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['dsl']))));b.y(yHb(d,'Model','images/model_asset.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['jar']))));rM(d.c,b);if(c){gN(d.c,b,true);}}
-function vHb(h){var a,b,c,d,e,f,g,i;g=fA(new dA());d=kB(new uA(),'images/new_package.gif');d.pe('Create a new package');lB(d,sGb(new rGb(),h));i=ocb(new ncb(),'images/model_asset.gif');lB(i,wGb(new vGb(),h));i.pe('This creates a new model archive - models contain classes/types that rules use.');e=ocb(new ncb(),'images/new_rule.gif');e.pe('Create new rule');lB(e,AGb(new zGb(),h));c=ocb(new ncb(),'images/function_assets.gif');c.pe('Create a new function');lB(c,cHb(new bHb(),h));a=ocb(new ncb(),'images/dsl.gif');a.pe('Create a new DSL (language configuration)');lB(a,gHb(new fHb(),h));f=ocb(new ncb(),'images/ruleflow_small.gif');f.pe('Upload a new ruleflow.');lB(f,kHb(new jHb(),h));b=ocb(new ncb(),'images/new_enumeration.gif');b.pe('Create a new data enumeration (drop down list)');lB(b,wEb(new vEb(),h));gA(g,d);gA(g,i);gA(g,e);gA(g,c);gA(g,a);gA(g,f);gA(g,b);return g;}
-function wHb(d,a,e){var b,c,f;b=70;f=100;c=i7b(new y6b(),lGb(new kGb(),d),false,a,e,d.a);rE(c,dc((fab()-mE(c))/2),100);uE(c);}
-function xHb(a,b){idb('Loading package information ...');ATb(ELb(),b,uFb(new tFb(),a));}
-function yHb(e,d,b,a){var c;c=uL(new sL());CL(c,'<img src="'+b+'">'+d+'<\/a>');cM(c,a);return c;}
-function zHb(a){if(a.h===null){idb('Loading list of packages ...');uTb(ELb(),AEb(new zEb(),a));}else{idb('Loading package ...');ATb(ELb(),a.h,EEb(new DEb(),a));}}
-function AHb(c,d,b){var a;a=lFb(new kFb(),c);return oHb(new nHb(),qFb(new pFb(),c,d,b,a));}
-function BHb(b,c){var a;a=bzb(new eyb(),cFb(new bFb(),b));rE(a,dc((fab()-mE(a))/2),100);uE(a);}
-function tEb(){}
-_=tEb.prototype=new bab();_.tN=Ffc+'PackageExplorerWidget';_.tI=401;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function aGb(b,a){b.a=a;return b;}
-function cGb(a){zHb(a.a);}
-function dGb(){cGb(this);}
-function uEb(){}
-_=uEb.prototype=new xT();_.nb=dGb;_.tN=Ffc+'PackageExplorerWidget$1';_.tI=402;function wEb(b,a){b.a=a;return b;}
-function yEb(a){wHb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
-function vEb(){}
-_=vEb.prototype=new xT();_.wc=yEb;_.tN=Ffc+'PackageExplorerWidget$10';_.tI=403;function AEb(b,a){b.a=a;return b;}
-function CEb(a){var b,c;c=Fb(a,71);uM(this.a.c);for(b=0;b<c.a;b++){if(b==0){tHb(this.a,c[b],true);}else{tHb(this.a,c[b],false);}}edb();}
-function zEb(){}
-_=zEb.prototype=new hcb();_.md=CEb;_.tN=Ffc+'PackageExplorerWidget$11';_.tI=404;function EEb(b,a){b.a=a;return b;}
-function aFb(a){var b;b=Fb(a,19);uM(this.a.c);tHb(this.a,b,true);edb();}
-function DEb(){}
-_=DEb.prototype=new hcb();_.md=aFb;_.tN=Ffc+'PackageExplorerWidget$12';_.tI=405;function cFb(b,a){b.a=a;return b;}
-function eFb(a){zHb(a.a);}
-function fFb(){eFb(this);}
-function bFb(){}
-_=bFb.prototype=new xT();_.nb=fFb;_.tN=Ffc+'PackageExplorerWidget$13';_.tI=406;function hFb(b,a,c){b.a=a;b.b=c;return b;}
-function jFb(){if(this.a.mc()){if(Bh('Discard Changes ? ')){eab(this.a);xHb(this.a,this.b.m);}}else{xHb(this.a,this.b.m);}}
-function gFb(){}
-_=gFb.prototype=new xT();_.nb=jFb;_.tN=Ffc+'PackageExplorerWidget$14';_.tI=407;function lFb(b,a){b.a=a;return b;}
-function nFb(c,a){var b;b=Fb(a,62);adc(c.a.e,b);c.a.e.xe('100%');nab(c.a.d,0,1,c.a.e);bx(ut(c.a.d),0,1,(uz(),wz),(Dz(),aA));edb();}
-function oFb(a){nFb(this,a);}
-function kFb(){}
-_=kFb.prototype=new hcb();_.md=oFb;_.tN=Ffc+'PackageExplorerWidget$15';_.tI=408;function qFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
-function sFb(){idb('Loading list, please wait...');tTb(ELb(),this.c,this.b,(-1),(-1),this.a);}
-function pFb(){}
-_=pFb.prototype=new xT();_.nb=sFb;_.tN=Ffc+'PackageExplorerWidget$16';_.tI=409;function uFb(b,a){b.a=a;return b;}
-function wFb(c){var a,b,d,e,f,g,h,i;b=Fb(c,19);g=wH(new vH());this.a.a=b.j;e=ubb(new rbb(),'images/package_large.png',b.j);AN(e,'package-Editor');e.xe('100%');vbb(e,'Description:',cC(new aC(),b.d));vbb(e,'Date created:',cC(new aC(),sZ(b.c)));if(b.g){vbb(e,'Snapshot created on:',cC(new aC(),sZ(b.i)));vbb(e,'Snapshot comment:',cC(new aC(),b.b));h=gBb(b);d=kz(new nw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");vbb(e,'Download package:',d);vbb(e,'Package URI:',cC(new aC(),h));i=wp(new qp(),'View package source');i.x(yFb(new xFb(),this,b));vbb(e,'Show package source:',i);}if(!b.g){ybb(e,kz(new nw(),'<i>Choose one of the options below<\/i>'));}f=CFb(new BFb(),this);a=gGb(new fGb(),this);yH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){yH(g,fEb(new iBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);yH(g,FAb(new fzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{yH(!
 g,fEb(new iBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.xe('100%');nab(this.a.d,0,1,g);edb();}
-function tFb(){}
-_=tFb.prototype=new hcb();_.md=wFb;_.tN=Ffc+'PackageExplorerWidget$17';_.tI=410;function yFb(b,a,c){b.a=c;return b;}
-function AFb(a){fBb(this.a.m,this.a.j);}
-function xFb(){}
-_=xFb.prototype=new xT();_.wc=AFb;_.tN=Ffc+'PackageExplorerWidget$18';_.tI=411;function CFb(b,a){b.a=a;return b;}
-function EFb(a){dab(a.a.a);}
-function FFb(){EFb(this);}
-function BFb(){}
-_=BFb.prototype=new xT();_.nb=FFb;_.tN=Ffc+'PackageExplorerWidget$19';_.tI=412;function pGb(c){var a,b;a=Fb(c.k,90);b=a.a;idb('Please wait...');fg(b);}
-function qGb(a){}
-function eGb(){}
-_=eGb.prototype=new xT();_.od=pGb;_.pd=qGb;_.tN=Ffc+'PackageExplorerWidget$2';_.tI=413;function gGb(b,a){b.a=a;return b;}
-function iGb(a){eab(a.a.a);}
-function jGb(){iGb(this);}
-function fGb(){}
-_=fGb.prototype=new xT();_.nb=jGb;_.tN=Ffc+'PackageExplorerWidget$20';_.tI=414;function lGb(b,a){b.a=a;return b;}
-function nGb(a){aIb(this.a.b,a);}
-function kGb(){}
-_=kGb.prototype=new xT();_.td=nGb;_.tN=Ffc+'PackageExplorerWidget$21';_.tI=415;function sGb(b,a){b.a=a;return b;}
-function uGb(a){BHb(this.a,a);}
-function rGb(){}
-_=rGb.prototype=new xT();_.wc=uGb;_.tN=Ffc+'PackageExplorerWidget$3';_.tI=416;function wGb(b,a){b.a=a;return b;}
-function yGb(a){wHb(this.a,'jar','Create a new model archive');}
-function vGb(){}
-_=vGb.prototype=new xT();_.wc=yGb;_.tN=Ffc+'PackageExplorerWidget$4';_.tI=417;function AGb(b,a){b.a=a;return b;}
-function CGb(d){var a,b,c;a=70;c=100;b=i7b(new y6b(),EGb(new DGb(),this),true,null,'Create a new rule asset',this.a.a);rE(b,dc((fab()-mE(b))/2),100);uE(b);}
-function zGb(){}
-_=zGb.prototype=new xT();_.wc=CGb;_.tN=Ffc+'PackageExplorerWidget$5';_.tI=418;function EGb(b,a){b.a=a;return b;}
-function aHb(a){aIb(this.a.a.b,a);}
-function DGb(){}
-_=DGb.prototype=new xT();_.td=aHb;_.tN=Ffc+'PackageExplorerWidget$6';_.tI=419;function cHb(b,a){b.a=a;return b;}
-function eHb(a){wHb(this.a,'function','Create a new function');}
-function bHb(){}
-_=bHb.prototype=new xT();_.wc=eHb;_.tN=Ffc+'PackageExplorerWidget$7';_.tI=420;function gHb(b,a){b.a=a;return b;}
-function iHb(a){wHb(this.a,'dsl','Create a new language configuration');}
-function fHb(){}
-_=fHb.prototype=new xT();_.wc=iHb;_.tN=Ffc+'PackageExplorerWidget$8';_.tI=421;function kHb(b,a){b.a=a;return b;}
-function mHb(a){wHb(this.a,'rf','Create a new ruleflow');}
-function jHb(){}
-_=jHb.prototype=new xT();_.wc=mHb;_.tN=Ffc+'PackageExplorerWidget$9';_.tI=422;function oHb(b,a){b.a=a;return b;}
-function nHb(){}
-_=nHb.prototype=new xT();_.tN=Ffc+'PackageExplorerWidget$PackageTreeItem';_.tI=423;_.a=null;function cIb(a){a.a=(FY(),aZ);}
-function dIb(a){eIb(a,null,null);return a;}
-function eIb(e,c,d){var a,b;cIb(e);e.b=yJ(new kJ());e.b.xe('100%');e.b.ne('30%');a=EHb(new DHb(),e,d);b=null;if(c===null){b=rHb(new tEb(),a);}else{b=sHb(new tEb(),a,c,d);}zJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);FJ(e.b,0);mr(e,e.b);return e;}
-function gIb(b,a){b.a=a;}
-function CHb(){}
-_=CHb.prototype=new kr();_.tN=Ffc+'PackageManagerView';_.tI=424;_.b=null;function EHb(b,a,c){b.a=a;b.b=c;return b;}
-function aIb(b,a){u4b(b.a.a,b.a.b,a,b.b!==null);}
-function bIb(a){aIb(this,a);}
-function DHb(){}
-_=DHb.prototype=new xT();_.td=bIb;_.tN=Ffc+'PackageManagerView$1';_.tI=425;function FJb(b){var a,c;b.a=rt(new lt());b.c=yJ(new kJ());b.c.xe('100%');b.c.ne('100%');c=nO(new lO());oO(c,b.a);a=wp(new qp(),'Rebuild snapshot binaries');a.pe('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new iIb());oO(c,a);zJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);hx(b.a.n,0,0,'28%');b.b=ELb();hKb(b);b.a.xe('100%');mr(b,b.c);FJ(b.c,0);return b;}
-function aKb(h,c){var a,b,d,e,f,g;g=pM(new cL());d=nO(new lO());for(a=0;a<c.a;a++){e=c[a].j;b=fKb(h,e,'images/package_snapshot.gif',iJb(new hJb(),h,e));rM(g,b);}oO(d,g);f=kz(new nw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");dC(f,mJb(new lJb(),h));tM(g,new pJb());sO(d,(Dz(),aA));rO(d,(uz(),wz));oO(d,f);AN(d,'snapshot-List');h.a.ve(0,0,d);fx(h.a.n,0,0,(Dz(),aA));}
-function cKb(g,e,f){var a,b,c,d;c=dcb(new Ebb(),'images/snapshot.png','Copy snapshot '+f);a=FK(new qK());ecb(c,'New label:',a);d=wp(new qp(),'OK');ecb(c,'',d);d.x(yJb(new xJb(),g,e,f,a,c));b=wp(new qp(),'Copy');b.x(kIb(new jIb(),g,c));return b;}
-function dKb(d,c,b){var a;a=wp(new qp(),'Delete');a.x(sIb(new rIb(),d,c,b));return a;}
-function eKb(d,b,c,e){var a;a=wp(new qp(),'Open');a.x(oIb(new nIb(),d,b,c,e));return a;}
-function fKb(e,d,b,a){var c;c=uL(new sL());CL(c,'<img src="'+b+'">'+d+'<\/a>');cM(c,a);return c;}
-function gKb(g,e,f,h){var a,b,c,d,i;i=rt(new lt());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=fA(new dA());gA(c,kz(new nw(),d));a=ocb(new ncb(),'images/close.gif');a.pe('Close this view');lB(a,AIb(new zIb(),g));gA(c,a);i.ve(0,0,c);b=ut(i);ex(b,0,0,'editable-Surface');i.ve(1,0,eIb(new CHb(),h,f));i.xe('100%');i.ne('100%');if(g.c.a.f.c>1){EJ(g.c,1);}zJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);FJ(g.c,1);}
-function hKb(a){idb('Loading package list...');uTb(a.b,eJb(new dJb(),a));}
-function iKb(h,d,b){var a,c,e,f,g;e=ubb(new rbb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=rt(new lt());Ey(g,0,1,'Name');Ey(g,0,2,'Comment');rx(g.p,0,ifc);for(a=0;a<b.a;a++){f=a+1;c=cC(new aC(),b[a].b);g.ve(f,0,kB(new uA(),'images/package_snapshot_item.gif'));g.ve(f,1,c);g.ve(f,2,cC(new aC(),b[a].a));g.ve(f,3,eKb(h,d,gC(c),b[a].c));g.ve(f,4,cKb(h,d,gC(c)));g.ve(f,5,dKb(h,gC(c),d));if(a%2==0){rx(g.p,a+1,gfc);}}e.xe('100%');ybb(e,g);g.xe('100%');AN(e,hfc);h.a.ve(0,1,e);fx(ut(h.a),0,1,(Dz(),aA));}
-function jKb(b,a){idb('Loading snapshots...');vTb(b.b,a,uJb(new tJb(),b,a));}
-function hIb(){}
-_=hIb.prototype=new kr();_.tN=Ffc+'PackageSnapshotView';_.tI=426;_.a=null;_.b=null;_.c=null;function EIb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){idb('Rebuilding snapshots. Please wait, this may take some time...');aUb(ELb(),new FIb());}}
-function iIb(){}
-_=iIb.prototype=new xT();_.wc=EIb;_.tN=Ffc+'PackageSnapshotView$1';_.tI=427;function kIb(b,a,c){b.a=c;return b;}
-function mIb(a){rE(this.a,dc((fab()-mE(this.a))/2),100);uE(this.a);}
-function jIb(){}
-_=jIb.prototype=new xT();_.wc=mIb;_.tN=Ffc+'PackageSnapshotView$10';_.tI=428;function oIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
-function qIb(a){gKb(this.a,this.b,this.c,this.d);}
-function nIb(){}
-_=nIb.prototype=new xT();_.wc=qIb;_.tN=Ffc+'PackageSnapshotView$11';_.tI=429;function sIb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function uIb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{lTb(this.a.b,this.b,this.c,true,null,wIb(new vIb(),this,this.b));}}
-function rIb(){}
-_=rIb.prototype=new xT();_.wc=uIb;_.tN=Ffc+'PackageSnapshotView$12';_.tI=430;function wIb(b,a,c){b.a=a;b.b=c;return b;}
-function yIb(a){jKb(this.a.a,this.b);}
-function vIb(){}
-_=vIb.prototype=new hcb();_.md=yIb;_.tN=Ffc+'PackageSnapshotView$13';_.tI=431;function AIb(b,a){b.a=a;return b;}
-function CIb(a){EJ(this.a.c,1);FJ(this.a.c,0);}
-function zIb(){}
-_=zIb.prototype=new xT();_.wc=CIb;_.tN=Ffc+'PackageSnapshotView$14';_.tI=432;function bJb(b,a){edb();zh('Snapshots were rebuilt successfully.');}
-function cJb(a){bJb(this,a);}
-function FIb(){}
-_=FIb.prototype=new hcb();_.md=cJb;_.tN=Ffc+'PackageSnapshotView$2';_.tI=433;function eJb(b,a){b.a=a;return b;}
-function gJb(a){var b;b=Fb(a,71);aKb(this.a,b);edb();}
-function dJb(){}
-_=dJb.prototype=new hcb();_.md=gJb;_.tN=Ffc+'PackageSnapshotView$3';_.tI=434;function iJb(b,a,c){b.a=a;b.b=c;return b;}
-function kJb(){jKb(this.a,this.b);}
-function hJb(){}
-_=hJb.prototype=new xT();_.nb=kJb;_.tN=Ffc+'PackageSnapshotView$4';_.tI=435;function mJb(b,a){b.a=a;return b;}
-function oJb(a){hKb(this.a);}
-function lJb(){}
-_=lJb.prototype=new xT();_.wc=oJb;_.tN=Ffc+'PackageSnapshotView$5';_.tI=436;function rJb(a){fg(Fb(a.k,4));}
-function sJb(a){}
-function pJb(){}
-_=pJb.prototype=new xT();_.od=rJb;_.pd=sJb;_.tN=Ffc+'PackageSnapshotView$6';_.tI=437;function uJb(b,a,c){b.a=a;b.b=c;return b;}
-function wJb(a){var b;b=Fb(a,86);iKb(this.a,this.b,b);edb();}
-function tJb(){}
-_=tJb.prototype=new hcb();_.md=wJb;_.tN=Ffc+'PackageSnapshotView$7';_.tI=438;function yJb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
-function AJb(a){lTb(this.a.b,this.d,this.e,false,xK(this.b),CJb(new BJb(),this,this.d,this.c));}
-function xJb(){}
-_=xJb.prototype=new xT();_.wc=AJb;_.tN=Ffc+'PackageSnapshotView$8';_.tI=439;function CJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function EJb(a){jKb(this.a.a,this.c);this.b.ic();}
-function BJb(){}
-_=BJb.prototype=new hcb();_.md=EJb;_.tN=Ffc+'PackageSnapshotView$9';_.tI=440;function sKb(){sKb=v2;xKb=rKb(new kKb());}
-function qKb(a){a.a=C0(new a0());}
-function rKb(a){sKb();qKb(a);return a;}
-function tKb(c,b,a){if(!F0(c.a,b)){vKb(c,b,a);}else{h4b(a);}}
-function uKb(c,b){var a;a=Fb(c1(c.a,b),91);if(a===null){jbb('Unable to get content assistance for this rule.');return null;}return a;}
-function vKb(c,b,a){kV(),nV;DTb(ELb(),b,mKb(new lKb(),c,b,a));}
-function wKb(c,b,a){if(F0(c.a,b)){e1(c.a,b);vKb(c,b,a);}else{a.nb();}}
-function kKb(){}
-_=kKb.prototype=new xT();_.tN=Ffc+'SuggestionCompletionCache';_.tI=441;var xKb;function mKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function oKb(c,a){var b;b=Fb(a,91);d1(c.a.a,c.c,b);c.b.nb();}
-function pKb(a){oKb(this,a);}
-function lKb(){}
-_=lKb.prototype=new hcb();_.md=pKb;_.tN=Ffc+'SuggestionCompletionCache$1';_.tI=442;function EKb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
-function yKb(){}
-_=yKb.prototype=new xT();_.tS=EKb;_.tN=agc+'BuilderResult';_.tI=443;_.a=null;_.b=null;_.c=null;_.d=null;function CKb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();}
-function DKb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);}
-function FKb(){}
-_=FKb.prototype=new ll();_.tN=agc+'DetailedSerializableException';_.tI=444;_.a=null;function dLb(b,a){gLb(a,b.Bd());pl(b,a);}
-function eLb(a){return a.a;}
-function fLb(b,a){b.cf(eLb(a));rl(b,a);}
-function gLb(a,b){a.a=b;}
-function iLb(a){a.a=yb('[Ljava.lang.String;',[607],[1],[0],null);}
-function jLb(a){iLb(a);return a;}
-function kLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(qU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[607],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function mLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[607],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function hLb(){}
-_=hLb.prototype=new xT();_.tN=agc+'MetaData';_.tI=445;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function pLb(b,a){a.a=Fb(b.Ad(),63);a.b=b.Bd();a.c=b.Bd();a.d=Fb(b.Ad(),59);a.e=b.Bd();a.f=Fb(b.Ad(),59);a.g=Fb(b.Ad(),59);a.h=b.Bd();a.i=b.Bd();a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=Fb(b.Ad(),59);a.n=b.Bd();a.o=b.Bd();a.p=b.Bd();a.q=b.Bd();a.r=b.Bd();a.s=b.Bd();a.t=b.Bd();a.u=b.Bd();a.v=b.zd();}
-function qLb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.bf(a.d);b.cf(a.e);b.bf(a.f);b.bf(a.g);b.cf(a.h);b.cf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.bf(a.m);b.cf(a.n);b.cf(a.o);b.cf(a.p);b.cf(a.q);b.cf(a.r);b.cf(a.s);b.cf(a.t);b.cf(a.u);b.af(a.v);}
-function rLb(){}
-_=rLb.prototype=new xT();_.tN=agc+'PackageConfigData';_.tI=446;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function vLb(b,a){a.a=b.wd();a.b=b.Bd();a.c=Fb(b.Ad(),59);a.d=b.Bd();a.e=b.Bd();a.f=b.Bd();a.g=b.wd();a.h=b.Bd();a.i=Fb(b.Ad(),59);a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=b.Bd();}
-function wLb(b,a){b.De(a.a);b.cf(a.b);b.bf(a.c);b.cf(a.d);b.cf(a.e);b.cf(a.f);b.De(a.g);b.cf(a.h);b.bf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.cf(a.m);}
-function CLb(){var a,b,c;c=BRb(new bMb());a=c;b=v()+'jbrmsService';hUb(a,b);return c;}
-function DLb(){var a,b,c;c=jXb(new EWb());a=c;b=v()+'jbrmsService';pXb(a,b);return c;}
-function ELb(){if(BLb===null){FLb();}return BLb;}
-function FLb(){if(ALb)BLb=null;else BLb=CLb();}
-function aMb(d,b,a){var c;c=DLb();oXb(c,d,b,a);}
-var ALb=false,BLb=null;function jTb(){jTb=v2;iUb=kUb(new jUb());}
-function BRb(a){jTb();return a;}
-function CRb(b,a,c,d){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'archiveAsset');rn(a,2);tn(a,'java.lang.String');tn(a,'Z');tn(a,c);qn(a,d);}
-function ERb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildAsset');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
-function DRb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildAssetSource');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
-function aSb(d,c,a,b){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'buildPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,a);tn(c,b);}
-function FRb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildPackageSource');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function bSb(d,c,e,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'changeAssetPackage');rn(c,3);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,e);tn(c,b);tn(c,a);}
-function cSb(c,b,d,a,e){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'changeState');rn(b,3);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,'Z');tn(b,d);tn(b,a);qn(b,e);}
-function dSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'checkinVersion');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
-function eSb(e,d,a,c,b){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'copyAsset');rn(d,3);tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,a);tn(d,c);tn(d,b);}
-function fSb(f,e,c,d,a,b){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'copyOrRemoveSnapshot');rn(e,4);tn(e,'java.lang.String');tn(e,'java.lang.String');tn(e,'Z');tn(e,'java.lang.String');tn(e,c);tn(e,d);qn(e,a);tn(e,b);}
-function gSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'copyPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
-function hSb(e,d,c,b,a){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'createCategory');rn(d,3);tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,c);tn(d,b);tn(d,a);}
-function iSb(g,f,e,a,c,d,b){if(g.a===null)throw Al(new zl());xo(f);tn(f,'org.drools.brms.client.rpc.RepositoryService');tn(f,'createNewRule');rn(f,5);tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,e);tn(f,a);tn(f,c);tn(f,d);tn(f,b);}
-function kSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'createPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
-function jSb(f,e,b,d,c,a){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'createPackageSnapshot');rn(e,4);tn(e,'java.lang.String');tn(e,'java.lang.String');tn(e,'Z');tn(e,'java.lang.String');tn(e,b);tn(e,d);qn(e,c);tn(e,a);}
-function lSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'createState');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function mSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'deleteUncheckedRule');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
-function nSb(f,e,c,a,b,d){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'listAssets');rn(e,4);tn(e,'java.lang.String');tn(e,'[Ljava.lang.String;');tn(e,'I');tn(e,'I');tn(e,c);sn(e,a);rn(e,b);rn(e,d);}
-function oSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'listPackages');rn(a,0);}
-function pSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'listSnapshots');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function qSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'listStates');rn(a,0);}
-function rSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadArchivedAssets');rn(a,0);}
-function sSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadAssetHistory');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
-function tSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadChildCategories');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function uSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadPackageConfig');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
-function vSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadRuleAsset');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function wSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadRuleListForCategories');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function xSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadSuggestionCompletionEngine');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function ySb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadTableConfig');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function zSb(e,d,c,a,b){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'quickFindAsset');rn(d,3);tn(d,'java.lang.String');tn(d,'I');tn(d,'Z');tn(d,c);rn(d,a);qn(d,b);}
-function ASb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'rebuildSnapshots');rn(a,0);}
-function BSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'removeAsset');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
-function CSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'removeCategory');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
-function DSb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'renameAsset');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
-function ESb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'renamePackage');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
-function FSb(d,c,e,a,b){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'restoreVersion');rn(c,3);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,e);tn(c,a);tn(c,b);}
-function aTb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'savePackage');rn(b,1);tn(b,'org.drools.brms.client.rpc.PackageConfigData');sn(b,a);}
-function bTb(h,i,j,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CRb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=qNb(new cMb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ERb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=hPb(new uNb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DRb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=EQb(new lPb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fTb(j,f,g,c){var a,d,e,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=dRb(new cRb(),j,h,c);if(!wg(j.a,Ao(i),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FRb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=iRb(new hRb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gTb(j,k,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=nRb(new mRb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hTb(i,j,f,k,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=sRb(new rRb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function iTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=xRb(new wRb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function kTb(k,c,h,g,d){var a,e,f,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=eMb(new dMb(),k,i,d);if(!wg(k.a,Ao(j),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lTb(l,h,i,d,g,c){var a,e,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=jMb(new iMb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mTb(j,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=oMb(new nMb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function nTb(k,h,g,d,c){var a,e,f,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=tMb(new sMb(),k,i,c);if(!wg(k.a,Ao(j),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=Fn(new En(),iUb);l=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}g=yMb(new xMb(),m,k,c);if(!wg(m.a,Ao(l),g))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qTb(j,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=DMb(new CMb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pTb(l,g,i,h,d,c){var a,e,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=cNb(new bNb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=hNb(new gNb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sTb(j,g,f,c){var a,d,e,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=mNb(new lNb(),j,h,c);if(!wg(j.a,Ao(i),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tTb(l,h,e,g,i,c){var a,d,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}f=wNb(new vNb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=BNb(new ANb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=aOb(new FNb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=fOb(new eOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function xTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=kOb(new jOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function yTb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=pOb(new oOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function zTb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=uOb(new tOb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ATb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=zOb(new yOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function BTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=EOb(new DOb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CTb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=dPb(new cPb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=nPb(new mPb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ETb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=sPb(new rPb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FTb(k,h,f,g,c){var a,d,e,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=xPb(new wPb(),k,i,c);if(!wg(k.a,Ao(j),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aUb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=CPb(new BPb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bUb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=bQb(new aQb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cUb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=gQb(new fQb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dUb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=lQb(new kQb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eUb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=qQb(new pQb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fUb(j,k,c,e,d){var a,f,g,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;jcb(d,f);return;}else throw a;}g=vQb(new uQb(),j,h,d);if(!wg(j.a,Ao(i),g))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gUb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=AQb(new zQb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hUb(b,a){b.a=a;}
-function bMb(){}
-_=bMb.prototype=new xT();_.tN=agc+'RepositoryService_Proxy';_.tI=447;_.a=null;var iUb;function qNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x6(g.a,f);else jcb(g.a,c);}
-function tNb(a){var b;b=x;sNb(this,a);}
-function cMb(){}
-_=cMb.prototype=new xT();_.xc=tNb;_.tN=agc+'RepositoryService_Proxy$1';_.tI=448;function eMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)p0b(g.a,f);else jcb(g.a,c);}
-function hMb(a){var b;b=x;gMb(this,a);}
-function dMb(){}
-_=dMb.prototype=new xT();_.xc=hMb;_.tN=agc+'RepositoryService_Proxy$10';_.tI=449;function jMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function lMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function mMb(a){var b;b=x;lMb(this,a);}
-function iMb(){}
-_=iMb.prototype=new xT();_.xc=mMb;_.tN=agc+'RepositoryService_Proxy$11';_.tI=450;function oMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function qMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rBb(g.a,f);else jcb(g.a,c);}
-function rMb(a){var b;b=x;qMb(this,a);}
-function nMb(){}
-_=nMb.prototype=new xT();_.xc=rMb;_.tN=agc+'RepositoryService_Proxy$12';_.tI=451;function tMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)C9(g.a,f);else jcb(g.a,c);}
-function wMb(a){var b;b=x;vMb(this,a);}
-function sMb(){}
-_=sMb.prototype=new xT();_.xc=wMb;_.tN=agc+'RepositoryService_Proxy$13';_.tI=452;function yMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function AMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)e7b(g.a,f);else jcb(g.a,c);}
-function BMb(a){var b;b=x;AMb(this,a);}
-function xMb(){}
-_=xMb.prototype=new xT();_.xc=BMb;_.tN=agc+'RepositoryService_Proxy$14';_.tI=453;function DMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vyb(g.a,f);else jcb(g.a,c);}
-function aNb(a){var b;b=x;FMb(this,a);}
-function CMb(){}
-_=CMb.prototype=new xT();_.xc=aNb;_.tN=agc+'RepositoryService_Proxy$15';_.tI=454;function cNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function eNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wzb(g.a,f);else jcb(g.a,c);}
-function fNb(a){var b;b=x;eNb(this,a);}
-function bNb(){}
-_=bNb.prototype=new xT();_.xc=fNb;_.tN=agc+'RepositoryService_Proxy$16';_.tI=455;function hNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)j9(g.a,f);else jcb(g.a,c);}
-function kNb(a){var b;b=x;jNb(this,a);}
-function gNb(){}
-_=gNb.prototype=new xT();_.xc=kNb;_.tN=agc+'RepositoryService_Proxy$17';_.tI=456;function mNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f$b(g.a,f);else jcb(g.a,c);}
-function pNb(a){var b;b=x;oNb(this,a);}
-function lNb(){}
-_=lNb.prototype=new xT();_.xc=pNb;_.tN=agc+'RepositoryService_Proxy$18';_.tI=457;function hPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)i8b(g.a,f);else jcb(g.a,c);}
-function kPb(a){var b;b=x;jPb(this,a);}
-function uNb(){}
-_=uNb.prototype=new xT();_.xc=kPb;_.tN=agc+'RepositoryService_Proxy$2';_.tI=458;function wNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)nFb(g.a,f);else jcb(g.a,c);}
-function zNb(a){var b;b=x;yNb(this,a);}
-function vNb(){}
-_=vNb.prototype=new xT();_.xc=zNb;_.tN=agc+'RepositoryService_Proxy$20';_.tI=459;function BNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function ENb(a){var b;b=x;DNb(this,a);}
-function ANb(){}
-_=ANb.prototype=new xT();_.xc=ENb;_.tN=agc+'RepositoryService_Proxy$21';_.tI=460;function aOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function dOb(a){var b;b=x;cOb(this,a);}
-function FNb(){}
-_=FNb.prototype=new xT();_.xc=dOb;_.tN=agc+'RepositoryService_Proxy$22';_.tI=461;function fOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function iOb(a){var b;b=x;hOb(this,a);}
-function eOb(){}
-_=eOb.prototype=new xT();_.xc=iOb;_.tN=agc+'RepositoryService_Proxy$23';_.tI=462;function kOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f7(g.a,f);else jcb(g.a,c);}
-function nOb(a){var b;b=x;mOb(this,a);}
-function jOb(){}
-_=jOb.prototype=new xT();_.xc=nOb;_.tN=agc+'RepositoryService_Proxy$24';_.tI=463;function pOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g_b(g.a,f);else jcb(g.a,c);}
-function sOb(a){var b;b=x;rOb(this,a);}
-function oOb(){}
-_=oOb.prototype=new xT();_.xc=sOb;_.tN=agc+'RepositoryService_Proxy$25';_.tI=464;function uOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function xOb(a){var b;b=x;wOb(this,a);}
-function tOb(){}
-_=tOb.prototype=new xT();_.xc=xOb;_.tN=agc+'RepositoryService_Proxy$26';_.tI=465;function zOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function BOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function COb(a){var b;b=x;BOb(this,a);}
-function yOb(){}
-_=yOb.prototype=new xT();_.xc=COb;_.tN=agc+'RepositoryService_Proxy$27';_.tI=466;function EOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function bPb(a){var b;b=x;aPb(this,a);}
-function DOb(){}
-_=DOb.prototype=new xT();_.xc=bPb;_.tN=agc+'RepositoryService_Proxy$28';_.tI=467;function dPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rbc(g.a,f);else jcb(g.a,c);}
-function gPb(a){var b;b=x;fPb(this,a);}
-function cPb(){}
-_=cPb.prototype=new xT();_.xc=gPb;_.tN=agc+'RepositoryService_Proxy$29';_.tI=468;function EQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)n8b(g.a,f);else jcb(g.a,c);}
-function bRb(a){var b;b=x;aRb(this,a);}
-function lPb(){}
-_=lPb.prototype=new xT();_.xc=bRb;_.tN=agc+'RepositoryService_Proxy$3';_.tI=469;function nPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)oKb(g.a,f);else jcb(g.a,c);}
-function qPb(a){var b;b=x;pPb(this,a);}
-function mPb(){}
-_=mPb.prototype=new xT();_.xc=qPb;_.tN=agc+'RepositoryService_Proxy$30';_.tI=470;function sPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)hcc(g.a,f);else jcb(g.a,c);}
-function vPb(a){var b;b=x;uPb(this,a);}
-function rPb(){}
-_=rPb.prototype=new xT();_.xc=vPb;_.tN=agc+'RepositoryService_Proxy$31';_.tI=471;function xPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
-function APb(a){var b;b=x;zPb(this,a);}
-function wPb(){}
-_=wPb.prototype=new xT();_.xc=APb;_.tN=agc+'RepositoryService_Proxy$32';_.tI=472;function CPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function EPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)bJb(g.a,f);else jcb(g.a,c);}
-function FPb(a){var b;b=x;EPb(this,a);}
-function BPb(){}
-_=BPb.prototype=new xT();_.xc=FPb;_.tN=agc+'RepositoryService_Proxy$33';_.tI=473;function bQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)a7(g.a,f);else jcb(g.a,c);}
-function eQb(a){var b;b=x;dQb(this,a);}
-function aQb(){}
-_=aQb.prototype=new xT();_.xc=eQb;_.tN=agc+'RepositoryService_Proxy$34';_.tI=474;function gQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x8(g.a,f);else jcb(g.a,c);}
-function jQb(a){var b;b=x;iQb(this,a);}
-function fQb(){}
-_=fQb.prototype=new xT();_.xc=jQb;_.tN=agc+'RepositoryService_Proxy$35';_.tI=475;function lQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f6b(g.a,f);else jcb(g.a,c);}
-function oQb(a){var b;b=x;nQb(this,a);}
-function kQb(){}
-_=kQb.prototype=new xT();_.xc=oQb;_.tN=agc+'RepositoryService_Proxy$36';_.tI=476;function qQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dEb(g.a,f);else jcb(g.a,c);}
-function tQb(a){var b;b=x;sQb(this,a);}
-function pQb(){}
-_=pQb.prototype=new xT();_.xc=tQb;_.tN=agc+'RepositoryService_Proxy$37';_.tI=477;function vQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)pac(g.a,f);else jcb(g.a,c);}
-function yQb(a){var b;b=x;xQb(this,a);}
-function uQb(){}
-_=uQb.prototype=new xT();_.xc=yQb;_.tN=agc+'RepositoryService_Proxy$38';_.tI=478;function AQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function CQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wBb(g.a,f);else jcb(g.a,c);}
-function DQb(a){var b;b=x;CQb(this,a);}
-function zQb(){}
-_=zQb.prototype=new xT();_.xc=DQb;_.tN=agc+'RepositoryService_Proxy$39';_.tI=479;function dRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vAb(g.a,f);else jcb(g.a,c);}
-function gRb(a){var b;b=x;fRb(this,a);}
-function cRb(){}
-_=cRb.prototype=new xT();_.xc=gRb;_.tN=agc+'RepositoryService_Proxy$4';_.tI=480;function iRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function kRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)gAb(g.a,f);else jcb(g.a,c);}
-function lRb(a){var b;b=x;kRb(this,a);}
-function hRb(){}
-_=hRb.prototype=new xT();_.xc=lRb;_.tN=agc+'RepositoryService_Proxy$5';_.tI=481;function nRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D4b(g.a,f);else jcb(g.a,c);}
-function qRb(a){var b;b=x;pRb(this,a);}
-function mRb(){}
-_=mRb.prototype=new xT();_.xc=qRb;_.tN=agc+'RepositoryService_Proxy$6';_.tI=482;function sRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)jeb(g.a,f);else jcb(g.a,c);}
-function vRb(a){var b;b=x;uRb(this,a);}
-function rRb(){}
-_=rRb.prototype=new xT();_.xc=vRb;_.tN=agc+'RepositoryService_Proxy$7';_.tI=483;function xRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k$b(g.a,f);else jcb(g.a,c);}
-function ARb(a){var b;b=x;zRb(this,a);}
-function wRb(){}
-_=wRb.prototype=new xT();_.xc=ARb;_.tN=agc+'RepositoryService_Proxy$8';_.tI=484;function lUb(){lUb=v2;nWb=mUb();qWb=nUb();}
-function kUb(a){lUb();return a;}
-function mUb(){lUb();return {'[B/2233087514':[function(a){return oUb(a);},function(a,b){nm(a,b);},function(a,b){om(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return pUb(a);},function(a,b){el(a,b);},function(a,b){fl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return qUb(a);},function(a,b){pl(a,b);},function(a,b){rl(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return vUb(a);},function(a,b){tD(a,b);},function(a,b){wD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return wUb(a);},function(a,b){lI(a,b);},function(a,b){oI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return xUb(a);},function(a,b){tI(a,b);},function(a,b){vI(a,b);}],'java.lang.Boolean/476441737':[function(a){return am(a);},function(a,b){Fl(a,b);},function(a,b){bm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return jm(a);},function(a,b){im(a,b);},function(a,b){km(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return yUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return rUb(a);},function(a,b){rm(a,b);},function(a,b){sm(a,b);}],'java.util.Date/1659716317':[function(a){return wm(a);},function(a,b){vm(a,b);},function(a,b){xm(a,b);}],'java.util.HashMap/962170901':[function(a){return sUb(a);},function(a,b){Am(a,b);},function(a,b){Bm(a,b);}],'java.util.HashSet/1594477813':[function(a){return tUb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'java.util.Vector/3125574444':[function(a){return uUb(a);},function(a,b){cn(a,b);},function(a,b){dn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return zUb(a);},function(a,b){jgb(a,b);},function(a,b){kgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return AUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return CUb(a);},function(a,b){chb(a,b);},function(a,b){dhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return BUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return EUb(a);},function(a,b){khb(a,b);},function(a,b){lhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return DUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return aVb(a);},function(a,b){shb(a,b);},function(a,b){thb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return FUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn cVb(a);},function(a,b){zhb(a,b);},function(a,b){Ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return bVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return eVb(a);},function(a,b){bib(a,b);},function(a,b){cib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return dVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return gVb(a);},function(a,b){jib(a,b);},function(a,b){kib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return fVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return iVb(a);},function(a,b){rib(a,b);},function(a,b){sib(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn hVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return kVb(a);},function(a,b){zib(a,b);},function(a,b){Aib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return jVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return mVb(a);},function(a,b){Fib(a,b);},function(a,b){ajb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return lVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return oVb(a);},function(a,b){hjb(a,b);},function(a,b){ijb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return nVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return qVb(a);},function(a,b){tjb(a,b);},function(a,b){ujb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return pVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return rVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return sVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return tVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return uVb(a);},function(a,b){Cjb(a,b);},function(a,b){Djb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return wVb(a);},function(a,b){ekb(a,b);},function(a,b!
 ){fkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return vVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return xVb(a);},function(a,b){zkb(a,b);},function(a,b){Akb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return zVb(a);},function(a,b){clb(a,b);},function(a,b){dlb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return yVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return BVb(a);},function(a,b){CKb(a,b);},function(a,b){DKb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return AVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return CVb(a);},function(a,b){dLb(a,b);},function(a,b){fLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return DVb(a);},function(a,b){pLb(a,b);},function(a,b){qLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return FVb(a);},function(a,b){vLb(a,b);},function(a,b){wLb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return EVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return aWb(a);},function(a,b){vWb(a,b);},function(a,b){wWb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return bWb(a);},function(a,b){BWb(a,b);},function(a,b){CWb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return cWb(a);},function(a,b){cYb(a,b);},function(a,b){dYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return eWb(a);},function(a,b){iYb(a,b);},function(a,b){jYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn dWb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return fWb(a);},function(a,b){oYb(a,b);},function(a,b){pYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return gWb(a);},function(a,b){uYb(a,b);},function(a,b){vYb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return iWb(a);},function(a,b){AYb(a,b);},function(a,b){BYb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return hWb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return jWb(a);},function(a,b){bZb(a,b);},function(a,b){cZb(a,b);}]};}
-function nUb(){lUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
-function oUb(b){lUb();var a;a=b.yd();return yb('[B',[620],[(-1)],[a],0);}
-function pUb(a){lUb();return al(new Fk());}
-function qUb(a){lUb();return new ll();}
-function rUb(a){lUb();return FX(new DX());}
-function sUb(a){lUb();return C0(new a0());}
-function tUb(a){lUb();return w1(new v1());}
-function uUb(a){lUb();return j2(new i2());}
-function vUb(a){lUb();return new pD();}
-function wUb(a){lUb();return new eI();}
-function xUb(a){lUb();return new gI();}
-function yUb(b){lUb();var a;a=b.yd();return yb('[Ljava.lang.String;',[607],[1],[a],null);}
-function zUb(a){lUb();return Afb(new yfb());}
-function AUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[624],[24],[a],null);}
-function BUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[617],[18],[a],null);}
-function CUb(a){lUb();return new Dgb();}
-function DUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[625],[25],[a],null);}
-function EUb(a){lUb();return fhb(new ehb());}
-function FUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[626],[26],[a],null);}
-function aVb(a){lUb();return nhb(new mhb());}
-function bVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[627],[27],[a],null);}
-function cVb(a){lUb();return new uhb();}
-function dVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[628],[28],[a],null);}
-function eVb(a){lUb();return Chb(new Bhb());}
-function fVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[629],[29],[a],null);}
-function gVb(a){lUb();return eib(new dib());}
-function hVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[630],[30],[a],null);}
-function iVb(a){lUb();return new lib();}
-function jVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[631],[31],[a],null);}
-function kVb(a){lUb();return new tib();}
-function lVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[614],[15],[a],null);}
-function mVb(a){lUb();return new Bib();}
-function nVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[613],[14],[a],null);}
-function oVb(a){lUb();return new bjb();}
-function pVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[615],[16],[a],null);}
-function qVb(a){lUb();return new kjb();}
-function rVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[616],[17],[a],null);}
-function sVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[23],[a],null);}
-function tVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[22],[a],null);}
-function uVb(a){lUb();return new yjb();}
-function vVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[21],[a],null);}
-function wVb(a){lUb();return new Fjb();}
-function xVb(a){lUb();return jkb(new hkb());}
-function yVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[632],[32],[a],null);}
-function zVb(a){lUb();return new Bkb();}
-function AVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[608],[10],[a],null);}
-function BVb(a){lUb();return new yKb();}
-function CVb(a){lUb();return new FKb();}
-function DVb(a){lUb();return jLb(new hLb());}
-function EVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[618],[19],[a],null);}
-function FVb(a){lUb();return new rLb();}
-function aWb(a){lUb();return new rWb();}
-function bWb(a){lUb();return new xWb();}
-function cWb(a){lUb();return new EXb();}
-function dWb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[609],[11],[a],null);}
-function eWb(a){lUb();return new eYb();}
-function fWb(a){lUb();return new kYb();}
-function gWb(a){lUb();return new qYb();}
-function hWb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[612],[13],[a],null);}
-function iWb(a){lUb();return new wYb();}
-function jWb(a){lUb();return new DYb();}
-function kWb(c,a,d){var b=nWb[d];if(!b){oWb(d);}b[1](c,a);}
-function lWb(b){var a=qWb[b];return a==null?b:a;}
-function mWb(b,c){var a=nWb[c];if(!a){oWb(c);}return a[0](b);}
-function oWb(a){lUb();throw vl(new ul(),a);}
-function pWb(c,a,d){var b=nWb[d];if(!b){oWb(d);}b[2](c,a);}
-function jUb(){}
-_=jUb.prototype=new xT();_.gb=kWb;_.Eb=lWb;_.kc=mWb;_.fe=pWb;_.tN=agc+'RepositoryService_TypeSerializer';_.tI=485;var nWb,qWb;function rWb(){}
-_=rWb.prototype=new xT();_.tN=agc+'RuleAsset';_.tI=486;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function vWb(b,a){a.a=b.wd();a.b=Fb(b.Ad(),39);a.c=b.wd();a.d=Fb(b.Ad(),93);a.e=b.Bd();}
-function wWb(b,a){b.De(a.a);b.bf(a.b);b.De(a.c);b.bf(a.d);b.cf(a.e);}
-function xWb(){}
-_=xWb.prototype=new xT();_.tN=agc+'RuleContentText';_.tI=487;_.a=null;function BWb(b,a){a.a=b.Bd();}
-function CWb(b,a){b.cf(a.a);}
-function mXb(){mXb=v2;qXb=sXb(new rXb());}
-function jXb(a){mXb();return a;}
-function kXb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.SecurityService');tn(a,'getCurrentUser');rn(a,0);}
-function lXb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.SecurityService');tn(b,'login');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
-function nXb(h,c){var a,d,e,f,g;f=Fn(new En(),qXb);g=to(new ro(),qXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{kXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Ac(d);return;}else throw a;}e=aXb(new FWb(),h,f,c);if(!wg(h.a,Ao(g),e))c.Ac(hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oXb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),qXb);h=to(new ro(),qXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{lXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=fXb(new eXb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pXb(b,a){b.a=a;}
-function EWb(){}
-_=EWb.prototype=new xT();_.tN=agc+'SecurityService_Proxy';_.tI=488;_.a=null;var qXb;function aXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cXb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else g.a.Ac(c);}
-function dXb(a){var b;b=x;cXb(this,a);}
-function FWb(){}
-_=FWb.prototype=new xT();_.xc=dXb;_.tN=agc+'SecurityService_Proxy$1';_.tI=489;function fXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hXb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=BR(new AR(),eo(g.b));}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)q5(g.a,f);else jcb(g.a,c);}
-function iXb(a){var b;b=x;hXb(this,a);}
-function eXb(){}
-_=eXb.prototype=new xT();_.xc=iXb;_.tN=agc+'SecurityService_Proxy$2';_.tI=490;function tXb(){tXb=v2;AXb=uXb();DXb=vXb();}
-function sXb(a){tXb();return a;}
-function uXb(){tXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return wXb(a);},function(a,b){el(a,b);},function(a,b){fl(a,b);}],'java.lang.String/2004016611':[function(a){return jm(a);},function(a,b){im(a,b);},function(a,b){km(a,b);}]};}
-function vXb(){tXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
-function wXb(a){tXb();return al(new Fk());}
-function xXb(c,a,d){var b=AXb[d];if(!b){BXb(d);}b[1](c,a);}
-function yXb(b){var a=DXb[b];return a==null?b:a;}
-function zXb(b,c){var a=AXb[c];if(!a){BXb(c);}return a[0](b);}
-function BXb(a){tXb();throw vl(new ul(),a);}
-function CXb(c,a,d){var b=AXb[d];if(!b){BXb(d);}b[2](c,a);}
-function rXb(){}
-_=rXb.prototype=new xT();_.gb=xXb;_.Eb=yXb;_.kc=zXb;_.fe=CXb;_.tN=agc+'SecurityService_TypeSerializer';_.tI=491;var AXb,DXb;function EXb(){}
-_=EXb.prototype=new ll();_.tN=agc+'SessionExpiredException';_.tI=492;function cYb(b,a){pl(b,a);}
-function dYb(b,a){rl(b,a);}
-function eYb(){}
-_=eYb.prototype=new xT();_.tN=agc+'SnapshotInfo';_.tI=493;_.a=null;_.b=null;_.c=null;function iYb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
-function jYb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
-function kYb(){}
-_=kYb.prototype=new xT();_.tN=agc+'TableConfig';_.tI=494;_.a=null;_.b=0;function oYb(b,a){a.a=Fb(b.Ad(),63);a.b=b.yd();}
-function pYb(b,a){b.bf(a.a);b.Fe(a.b);}
-function qYb(){}
-_=qYb.prototype=new xT();_.tN=agc+'TableDataResult';_.tI=495;_.a=null;function uYb(b,a){a.a=Fb(b.Ad(),94);}
-function vYb(b,a){b.bf(a.a);}
-function CYb(a){return wU(a,'\\,')[0];}
-function wYb(){}
-_=wYb.prototype=new xT();_.tN=agc+'TableDataRow';_.tI=496;_.a=null;_.b=null;_.c=null;function AYb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=Fb(b.Ad(),63);}
-function BYb(b,a){b.cf(a.a);b.cf(a.b);b.bf(a.c);}
-function DYb(){}
-_=DYb.prototype=new xT();_.tN=agc+'ValidatedResponse';_.tI=497;_.a=null;_.b=null;_.c=false;_.d=null;function bZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.wd();a.d=Fb(b.Ad(),39);}
-function cZb(b,a){b.cf(a.a);b.cf(a.b);b.De(a.c);b.bf(a.d);}
-function r0b(a){a.e=rt(new lt());}
-function s0b(j,b,c,a,f,d,g){var e,h,i;r0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=jz(new nw());i=j.f.r;e=ut(j.e);h=fA(new dA());z0b(j,i);gA(h,j.g);if(!g){v0b(j,e,h);}B0b(j,f,e);mr(j,j.e);j.xe('100%');return j;}
-function u0b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
-function v0b(h,e,g){var a,b,c,d,f;d=ocb(new ncb(),'images/edit.gif');d.pe('Change status.');lB(d,nZb(new eZb(),h));gA(g,d);h.e.ve(0,0,g);bx(e,0,0,(uz(),wz),(Dz(),aA));f=wp(new qp(),'Save changes');f.pe('Check in changes.');f.x(rZb(new qZb(),h));gA(g,f);b=wp(new qp(),'Copy');b.x(vZb(new uZb(),h));gA(g,b);a=wp(new qp(),'Archive');a.x(zZb(new yZb(),h));gA(g,a);if(h.f.v==0){c=wp(new qp(),'Delete');c.x(DZb(new CZb(),h));gA(g,c);}}
-function w0b(b,c){var a;a=F1b(new A1b(),rN(c),sN(c),'Check in changes.');c2b(a,gZb(new fZb(),b,a));d2b(a);}
-function x0b(e,f){var a,b,c,d;a=dcb(new Ebb(),'images/rule_asset.gif','Copy this item');b=FK(new qK());c=rdb(new mdb());ecb(a,'New name:',b);ecb(a,'New package:',c);d=wp(new qp(),'Create copy');d.x(j0b(new i0b(),e,c,b,a));ecb(a,'',d);rE(a,dc((fab()-mE(a))/2),100);uE(a);}
-function y0b(b,a){b.c=a;}
-function z0b(b,a){nz(b.g,'Status: <b>['+a+']<\/b>');}
-function A0b(b,c){var a;a=leb(new vdb(),b.h,false);oeb(a,kZb(new jZb(),b,a));rE(a,rN(c),sN(c));uE(a);}
-function B0b(e,d,b){var a,c,f;f=fA(new dA());c=ocb(new ncb(),'images/max_min.gif');lB(c,b0b(new a0b(),e,d));gA(f,c);a=ocb(new ncb(),'images/close.gif');a.pe('Close.');lB(a,f0b(new e0b(),e));gA(f,a);e.e.ve(0,1,f);bx(b,0,1,(uz(),xz),(Dz(),aA));}
-function dZb(){}
-_=dZb.prototype=new kr();_.tN=bgc+'ActionToolbar';_.tI=498;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function nZb(b,a){b.a=a;return b;}
-function pZb(a){A0b(this.a,a);}
-function eZb(){}
-_=eZb.prototype=new xT();_.wc=pZb;_.tN=bgc+'ActionToolbar$1';_.tI=499;function gZb(b,a,c){b.a=a;b.b=c;return b;}
-function iZb(){this.a.f.b=b2b(this.b);h9b(this.a.b);}
-function fZb(){}
-_=fZb.prototype=new xT();_.nb=iZb;_.tN=bgc+'ActionToolbar$10';_.tI=500;function kZb(b,a,c){b.a=a;b.b=c;return b;}
-function mZb(){z0b(this.a,this.b.c);}
-function jZb(){}
-_=jZb.prototype=new xT();_.nb=mZb;_.tN=bgc+'ActionToolbar$11';_.tI=501;function rZb(b,a){b.a=a;return b;}
-function tZb(a){w0b(this.a,a);}
-function qZb(){}
-_=qZb.prototype=new xT();_.wc=tZb;_.tN=bgc+'ActionToolbar$2';_.tI=502;function vZb(b,a){b.a=a;return b;}
-function xZb(a){x0b(this.a,a);}
-function uZb(){}
-_=uZb.prototype=new xT();_.wc=xZb;_.tN=bgc+'ActionToolbar$3';_.tI=503;function zZb(b,a){b.a=a;return b;}
-function BZb(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+tZ(lZ(new kZ()));m9b(this.a.a);}}
-function yZb(){}
-_=yZb.prototype=new xT();_.wc=BZb;_.tN=bgc+'ActionToolbar$4';_.tI=504;function DZb(b,a){b.a=a;return b;}
-function FZb(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){w9b(this.a.d);}}
-function CZb(){}
-_=CZb.prototype=new xT();_.wc=FZb;_.tN=bgc+'ActionToolbar$5';_.tI=505;function b0b(b,a,c){b.a=c;return b;}
-function d0b(a){r9b(this.a);}
-function a0b(){}
-_=a0b.prototype=new xT();_.wc=d0b;_.tN=bgc+'ActionToolbar$6';_.tI=506;function f0b(b,a){b.a=a;return b;}
-function h0b(a){a$b(this.a.c);}
-function e0b(){}
-_=e0b.prototype=new xT();_.wc=h0b;_.tN=bgc+'ActionToolbar$7';_.tI=507;function j0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
-function l0b(a){kTb(ELb(),this.a.h,tdb(this.d),xK(this.c),n0b(new m0b(),this,this.c,this.d,this.b));}
-function i0b(){}
-_=i0b.prototype=new xT();_.wc=l0b;_.tN=bgc+'ActionToolbar$8';_.tI=508;function n0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
-function p0b(b,a){u0b(b.a.a,xK(b.c),tdb(b.d));b.b.ic();}
-function q0b(a){p0b(this,a);}
-function m0b(){}
-_=m0b.prototype=new hcb();_.md=q0b;_.tN=bgc+'ActionToolbar$9';_.tI=509;function r1b(a){a.b=kab(new iab());}
-function s1b(c,a,b){r1b(c);c.a=a;c.c=rt(new lt());x1b(c,c.c);AN(c.c,'rule-List');nab(c.b,0,0,c.c);if(!b){v1b(c);}mr(c,c.b);return c;}
-function t1b(b,a){kLb(b.a,a);z1b(b);}
-function v1b(c){var a,b;a=nO(new lO());b=ocb(new ncb(),'images/new_item.gif');b.pe('Add a new category.');lB(b,g1b(new f1b(),c));oO(a,b);nab(c.b,0,1,a);}
-function w1b(b){var a;a=p1b(new n1b(),b);rE(a,rN(b),sN(b));uE(a);}
-function x1b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;Ey(d,b,0,e.a.a[b]);a=ocb(new ncb(),'images/trash.gif');a.pe('Remove this category');lB(a,k1b(new j1b(),e,c));d.ve(b,1,a);}}
-function y1b(b,a){mLb(b.a,a);dab(b);z1b(b);}
-function z1b(a){a.c=rt(new lt());AN(a.c,'rule-List');nab(a.b,0,0,a.c);x1b(a,a.c);dab(a);}
-function C0b(){}
-_=C0b.prototype=new bab();_.tN=bgc+'AssetCategoryEditor';_.tI=510;_.a=null;_.c=null;function E0b(b,a){b.a=a;return b;}
-function a1b(a){this.a.b=a;}
-function D0b(){}
-_=D0b.prototype=new xT();_.ee=a1b;_.tN=bgc+'AssetCategoryEditor$1';_.tI=511;function c1b(b,a){b.a=a;return b;}
-function e1b(a){if(this.a.b!==null&& !qU('',this.a.b)){t1b(this.a.d,this.a.b);}this.a.ic();}
-function b1b(){}
-_=b1b.prototype=new xT();_.wc=e1b;_.tN=bgc+'AssetCategoryEditor$2';_.tI=512;function g1b(b,a){b.a=a;return b;}
-function i1b(a){w1b(this.a);}
-function f1b(){}
-_=f1b.prototype=new xT();_.wc=i1b;_.tN=bgc+'AssetCategoryEditor$3';_.tI=513;function k1b(b,a,c){b.a=a;b.b=c;return b;}
-function m1b(a){y1b(this.a,this.b);}
-function j1b(){}
-_=j1b.prototype=new xT();_.wc=m1b;_.tN=bgc+'AssetCategoryEditor$4';_.tI=514;function q1b(){q1b=v2;kE();}
-function o1b(a){a.a=wp(new qp(),'OK');}
-function p1b(b,a){var c;q1b();b.d=a;hE(b,true);o1b(b);c=nO(new lO());b.c=v$(new e$(),E0b(new D0b(),b));AN(b,'ks-popups-Popup');oO(c,b.c);oO(c,b.a);cH(b,c);b.a.x(c1b(new b1b(),b));return b;}
-function n1b(){}
-_=n1b.prototype=new fE();_.tN=bgc+'AssetCategoryEditor$CategorySelector';_.tI=515;_.b=null;_.c=null;function F1b(c,a,d,b){c.b=dcb(new Ebb(),'images/checkin.gif',b);c.a=kK(new jK());c.a.xe('100%');c.c=wp(new qp(),'Save');ecb(c.b,'Comment',c.a);ecb(c.b,'',c.c);AN(c.b,'ks-popups-Popup');rE(c.b,a,d);return c;}
-function b2b(a){return xK(a.a);}
-function c2b(b,a){b.c.x(C1b(new B1b(),b,a));}
-function d2b(a){rE(a.b,dc((fab()-mE(a.b))/2),100);uE(a.b);}
-function A1b(){}
-_=A1b.prototype=new xT();_.tN=bgc+'CheckinPopup';_.tI=516;_.a=null;_.b=null;_.c=null;function C1b(b,a,c){b.a=a;b.b=c;return b;}
-function E1b(a){this.b.nb();this.a.b.ic();}
-function B1b(){}
-_=B1b.prototype=new xT();_.wc=E1b;_.tN=bgc+'CheckinPopup$1';_.tI=517;function A2b(){A2b=v2;kE();}
-function y2b(g,f,e){var a,b,c,d;A2b();hE(g,true);g.d=f;g.b=FK(new qK());g.b.xe('100%');b='<enter text to filter list>';BK(g.b,'<enter text to filter list>');mu(g.b,g2b(new f2b(),g));uK(g.b,l2b(new k2b(),g,e));g.b.le(true);d=nO(new lO());oO(d,g.b);g.c=sC(new kC());cD(g.c,5);C2b(g,x4b(g.d,''));oO(d,g.c);c=wp(new qp(),'ok');c.x(r2b(new q2b(),g,e));a=wp(new qp(),'cancel');a.x(v2b(new u2b(),g));g.a=fA(new dA());gA(g.a,c);gA(g.a,a);oO(d,g.a);cH(g,d);AN(g,'ks-popups-Popup');return g;}
-function z2b(b,a){q3b(a,B2b(b));b.ic();}
-function B2b(a){return BC(a.c,CC(a.c));}
-function C2b(c,a){var b;yC(c.c);for(b=0;b<a.b;b++){vC(c.c,Fb(gY(a,b),14).a);}}
-function e2b(){}
-_=e2b.prototype=new fE();_.tN=bgc+'ChoiceList';_.tI=518;_.a=null;_.b=null;_.c=null;_.d=null;function g2b(b,a){b.a=a;return b;}
-function i2b(a){BK(this.a.b,'');}
-function j2b(a){BK(this.a.b,'<enter text to filter list>');}
-function f2b(){}
-_=f2b.prototype=new xT();_.Bc=i2b;_.dd=j2b;_.tN=bgc+'ChoiceList$1';_.tI=519;function l2b(b,a,c){b.a=a;b.b=c;return b;}
-function n2b(a,b,c){}
-function o2b(a,b,c){}
-function p2b(a,b,c){if(b==13){z2b(this.a,this.b);}else{C2b(this.a,x4b(this.a.d,xK(this.a.b)));}}
-function k2b(){}
-_=k2b.prototype=new xT();_.Fc=n2b;_.ad=o2b;_.bd=p2b;_.tN=bgc+'ChoiceList$2';_.tI=520;function r2b(b,a,c){b.a=a;b.b=c;return b;}
-function t2b(a){z2b(this.a,this.b);}
-function q2b(){}
-_=q2b.prototype=new xT();_.wc=t2b;_.tN=bgc+'ChoiceList$3';_.tI=521;function v2b(b,a){b.a=a;return b;}
-function x2b(a){this.a.ic();}
-function u2b(){}
-_=u2b.prototype=new xT();_.wc=x2b;_.tN=bgc+'ChoiceList$4';_.tI=522;function o3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=kK(new jK());pK(i.d,10);BK(i.d,i.c.a);i.d.pe('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=uKb((sKb(),xKb),a.d.o);i.a=c.a;i.b=c.b;AN(i.d,'dsl-text-Editor');d=rt(new lt());d.ve(0,0,i.d);tK(i.d,F2b(new E2b(),i));uK(i.d,d3b(new c3b(),i));j=nO(new lO());e=ocb(new ncb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.pe('Add a new condition');lB(e,h3b(new g3b(),i));h=ocb(new ncb(),'images/new_dsl_action.gif');g='Add an action';h.pe('Add an action');lB(h,l3b(new k3b(),i));oO(j,e);oO(j,h);d.ve(0,1,j);hx(d.n,0,0,'95%');hx(d.n,0,1,'5%');d.xe('100%');d.ne('100%');mr(i,d);return i;}
-function q3b(e,b){var a,c,d;a=mK(e.d);c=AU(xK(e.d),0,a);d=AU(xK(e.d),a,uU(xK(e.d)));BK(e.d,c+b+d);e.c.a=xK(e.d);}
-function r3b(b){var a;a=AU(xK(b.d),0,mK(b.d));if(sU(a,'then')>(-1)){s3b(b,b.a);}else{s3b(b,b.b);}}
-function s3b(c,b){var a;a=y2b(new e2b(),b,c);rE(a,rN(c.d)+20,sN(c.d)+20);uE(a);}
-function D2b(){}
-_=D2b.prototype=new bab();_.tN=bgc+'DSLRuleEditor';_.tI=523;_.a=null;_.b=null;_.c=null;_.d=null;function F2b(b,a){b.a=a;return b;}
-function b3b(a){this.a.c.a=xK(this.a.d);dab(this.a);}
-function E2b(){}
-_=E2b.prototype=new xT();_.vc=b3b;_.tN=bgc+'DSLRuleEditor$1';_.tI=524;function d3b(b,a){b.a=a;return b;}
-function f3b(a,b,c){if(b==32&&c==2){r3b(this.a);}if(b==9){q3b(this.a,'\t');yK(this.a.d,mK(this.a.d)+1);vK(this.a.d);}}
-function c3b(){}
-_=c3b.prototype=new sB();_.Fc=f3b;_.tN=bgc+'DSLRuleEditor$2';_.tI=525;function h3b(b,a){b.a=a;return b;}
-function j3b(a){s3b(this.a,this.a.b);}
-function g3b(){}
-_=g3b.prototype=new xT();_.wc=j3b;_.tN=bgc+'DSLRuleEditor$3';_.tI=526;function l3b(b,a){b.a=a;return b;}
-function n3b(a){s3b(this.a,this.a.a);}
-function k3b(){}
-_=k3b.prototype=new xT();_.wc=n3b;_.tN=bgc+'DSLRuleEditor$4';_.tI=527;function C3b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=kK(new jK());pK(b.c,10);BK(b.c,b.b.a);AN(b.c,'default-text-Area');tK(b.c,v3b(new u3b(),b));uK(b.c,z3b(new y3b(),b));mr(b,b.c);return b;}
-function E3b(e,b){var a,c,d;a=mK(e.c);c=AU(xK(e.c),0,a);d=AU(xK(e.c),a,uU(xK(e.c)));BK(e.c,c+b+d);e.b.a=xK(e.c);}
-function t3b(){}
-_=t3b.prototype=new bab();_.tN=bgc+'DefaultRuleContentWidget';_.tI=528;_.a=null;_.b=null;_.c=null;function v3b(b,a){b.a=a;return b;}
-function x3b(a){this.a.b.a=xK(this.a.c);dab(this.a);}
-function u3b(){}
-_=u3b.prototype=new xT();_.vc=x3b;_.tN=bgc+'DefaultRuleContentWidget$1';_.tI=529;function z3b(b,a){b.a=a;return b;}
-function B3b(a,b,c){if(b==9){E3b(this.a,'\t');yK(this.a.c,mK(this.a.c)+1);vK(this.a.c);}}
-function y3b(){}
-_=y3b.prototype=new sB();_.Fc=B3b;_.tN=bgc+'DefaultRuleContentWidget$2';_.tI=530;function o4b(){o4b=v2;p4b=s4b();}
-function q4b(a){o4b();var b;b=Fb(c1(p4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
-function r4b(a,b){o4b();if(qU(a.d.k,'brl')){return p8b(new C7b(),fwb(new aub(),a),a);}else if(qU(a.d.k,'dslr')){return p8b(new C7b(),o3b(new D2b(),a),a);}else if(qU(a.d.k,'jar')){return ayb(new Fxb(),a,b);}else if(qU(a.d.k,'xls')){return p8b(new C7b(),kfb(new jfb(),a,b),a);}else if(qU(a.d.k,'rf')){return y7b(new x7b(),a,b);}else if(qU(a.d.k,'drl')){return p8b(new C7b(),C3b(new t3b(),a),a);}else if(qU(a.d.k,'enumeration')){return p8b(new C7b(),C3b(new t3b(),a),a);}else{return C3b(new t3b(),a);}}
-function s4b(){o4b();var a;a=C0(new a0());d1(a,'drl','technical_rule_assets.gif');d1(a,'dsl','dsl.gif');d1(a,'function','function_assets.gif');d1(a,'jar','model_asset.gif');d1(a,'xls','spreadsheet_small.gif');d1(a,'brl','business_rule.gif');d1(a,'dslr','business_rule.gif');d1(a,'rf','ruleflow_small.gif');return a;}
-function t4b(d,f,g,e,a){o4b();var b,c,h;h=p$b(new x8b(),a,e);b=a.d.n;if(uU(b)>10){b=AU(b,0,7)+'...';}c=q4b(a.d.k);zJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(FY(),aZ)){d1(d,g,h);}y$b(h,k4b(new j4b(),f,h,d,g));FJ(f,BJ(f,h));}
-function u4b(b,d,e,c){o4b();var a;if(F0(b,e)){if(BJ(d,Fb(c1(b,e),20))==(-1)){a=ac(CJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{FJ(d,BJ(d,Fb(c1(b,e),20)));}edb();return;}BTb(ELb(),e,b4b(new a4b(),b,d,e,c));}
-var p4b;function b4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
-function d4b(c){var a,b;a=Fb(c,97);b=(sKb(),xKb);tKb(b,a.d.o,f4b(new e4b(),this,this.a,this.c,this.d,this.b,a));}
-function a4b(){}
-_=a4b.prototype=new hcb();_.md=d4b;_.tN=bgc+'EditorLauncher$1';_.tI=531;function f4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
-function h4b(a){t4b(a.b,a.d,a.e,a.c,a.a);}
-function i4b(){h4b(this);}
-function e4b(){}
-_=e4b.prototype=new xT();_.nb=i4b;_.tN=bgc+'EditorLauncher$2';_.tI=532;function k4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
-function m4b(a){EJ(a.b,BJ(a.b,a.d));FJ(a.b,0);if(a.a!==(FY(),aZ)){e1(a.a,a.c);}}
-function n4b(){m4b(this);}
-function j4b(){}
-_=j4b.prototype=new xT();_.nb=n4b;_.tN=bgc+'EditorLauncher$3';_.tI=533;function x4b(e,a){var b,c,d;b=FX(new DX());for(c=0;c<e.a;c++){d=e[c];if(qU(a,'')||yU(d.a,a)){bY(b,d);}}return b;}
-function m6b(e,a,c,f,d){var b;tbb(e);AN(e,'metadata-Widget');if(!c){b=pcb(new ncb(),'images/edit.gif','Rename this asset');lB(b,d5b(new z4b(),e));xbb(e,'images/meta_data.png',a.n,b);}else{wbb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;r6b(e,a);return e;}
-function n6b(a){a.b=s1b(new C0b(),a.a,a.c);return a.b;}
-function p6b(d,a,e){var b,c;if(!d.c){b=FK(new qK());b.pe(e);BK(b,a.bc());c=a5b(new F4b(),d,a,b);tK(b,c);return b;}else{return cC(new aC(),a.bc());}}
-function q6b(a){if(a.a.v==0){return kz(new nw(),'<i>Not checked in yet<\/i>');}else{return u6b(a,dT(a.a.v));}}
-function r6b(b,a){b.a=a;vbb(b,'Categories:',n6b(b));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Modified on:',t6b(b,b.a.m));vbb(b,'by:',u6b(b,b.a.l));vbb(b,'Note:',u6b(b,b.a.b));vbb(b,'Version:',q6b(b));if(!b.c){vbb(b,'Created on:',t6b(b,b.a.d));}vbb(b,'Created by:',u6b(b,b.a.e));vbb(b,'Format:',kz(new nw(),'<b>'+b.a.k+'<\/b>'));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Package:',s6b(b,b.a.o));vbb(b,'Subject:',p6b(b,h5b(new g5b(),b),'A short description of the subject matter.'));vbb(b,'Type:',p6b(b,m5b(new l5b(),b),'This is for classification purposes.'));vbb(b,'External link:',p6b(b,r5b(new q5b(),b),'This is for relating the asset to an external system.'));vbb(b,'Source:',p6b(b,w5b(new v5b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){ybb(b,t_b(new A$b(),b.e,b.a,b.d));}}
-function s6b(d,c){var a,b;if(d.c){return u6b(d,c);}else{b=fA(new dA());AN(b,'metadata-Widget');gA(b,u6b(d,c));a=ocb(new ncb(),'images/edit.gif');lB(a,B5b(new A5b(),d,c));gA(b,a);return b;}}
-function t6b(b,a){if(a===null){return null;}else{return cC(new aC(),sZ(a));}}
-function u6b(c,b){var a;a=cC(new aC(),b);a.xe('100%');return a;}
-function v6b(f,b,e){var a,c,d;c=dcb(new Ebb(),'images/package_large.png','Move this item to another package');ecb(c,'Current package:',cC(new aC(),b));d=rdb(new mdb());ecb(c,'New package:',d);a=wp(new qp(),'Change package');ecb(c,'',a);a.x(i6b(new h6b(),f,d,b,c));rE(c,rN(e.v.v),sN(e.v.v));uE(c);}
-function w6b(e,d){var a,b,c;c=dcb(new Ebb(),'images/package_large.png','Rename this item');a=FK(new qK());ecb(c,'New name',a);b=wp(new qp(),'Rename item');ecb(c,'',b);b.x(F5b(new E5b(),e,a,c));rE(c,rN(d.v.v)-18,sN(d.v.v));uE(c);}
-function x6b(){return this.b.mc()||this.j;}
-function y4b(){}
-_=y4b.prototype=new rbb();_.mc=x6b;_.tN=bgc+'MetaDataWidget';_.tI=534;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function d5b(b,a){b.a=a;return b;}
-function f5b(a){w6b(this.a,a);}
-function z4b(){}
-_=z4b.prototype=new xT();_.wc=f5b;_.tN=bgc+'MetaDataWidget$1';_.tI=535;function B4b(b,a,c){b.a=a;b.b=c;return b;}
-function D4b(b,a){dab(b.a.a);B9b(b.a.a.d);b.b.ic();}
-function E4b(a){D4b(this,a);}
-function A4b(){}
-_=A4b.prototype=new hcb();_.md=E4b;_.tN=bgc+'MetaDataWidget$10';_.tI=536;function a5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function c5b(a){dab(this.a);this.b.te(xK(this.c));}
-function F4b(){}
-_=F4b.prototype=new xT();_.vc=c5b;_.tN=bgc+'MetaDataWidget$11';_.tI=537;function h5b(b,a){b.a=a;return b;}
-function j5b(){return this.a.a.s;}
-function k5b(a){this.a.a.s=a;}
-function g5b(){}
-_=g5b.prototype=new xT();_.bc=j5b;_.te=k5b;_.tN=bgc+'MetaDataWidget$2';_.tI=538;function m5b(b,a){b.a=a;return b;}
-function o5b(){return this.a.a.u;}
-function p5b(a){this.a.a.u=a;}
-function l5b(){}
-_=l5b.prototype=new xT();_.bc=o5b;_.te=p5b;_.tN=bgc+'MetaDataWidget$3';_.tI=539;function r5b(b,a){b.a=a;return b;}
-function t5b(){return this.a.a.i;}
-function u5b(a){this.a.a.i=a;}
-function q5b(){}
-_=q5b.prototype=new xT();_.bc=t5b;_.te=u5b;_.tN=bgc+'MetaDataWidget$4';_.tI=540;function w5b(b,a){b.a=a;return b;}
-function y5b(){return this.a.a.j;}
-function z5b(a){this.a.a.j=a;}
-function v5b(){}
-_=v5b.prototype=new xT();_.bc=y5b;_.te=z5b;_.tN=bgc+'MetaDataWidget$5';_.tI=541;function B5b(b,a,c){b.a=a;b.b=c;return b;}
-function D5b(a){v6b(this.a,this.b,a);}
-function A5b(){}
-_=A5b.prototype=new xT();_.wc=D5b;_.tN=bgc+'MetaDataWidget$6';_.tI=542;function F5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function b6b(a){dUb(ELb(),this.a.e,xK(this.b),d6b(new c6b(),this,this.c));}
-function E5b(){}
-_=E5b.prototype=new xT();_.wc=b6b;_.tN=bgc+'MetaDataWidget$7';_.tI=543;function d6b(b,a,c){b.a=a;b.b=c;return b;}
-function f6b(b,a){B9b(b.a.a.d);zh('Item has been renamed');b.b.ic();}
-function g6b(a){f6b(this,a);}
-function c6b(){}
-_=c6b.prototype=new hcb();_.md=g6b;_.tN=bgc+'MetaDataWidget$8';_.tI=544;function i6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function k6b(a){if(qU(tdb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}gTb(ELb(),this.a.e,tdb(this.d),'Moved from : '+this.b,B4b(new A4b(),this,this.c));}
-function h6b(){}
-_=h6b.prototype=new xT();_.wc=k6b;_.tN=bgc+'MetaDataWidget$9';_.tI=545;function j7b(){j7b=v2;gcb();}
-function g7b(a){a.f=FK(new qK());a.b=kK(new jK());a.d=l7b(a);a.g=rdb(new mdb());}
-function h7b(e,a,d,b,f){var c;j7b();dcb(e,'images/new_wiz.gif',f);g7b(e);e.h=d;e.c=b;e.a=a;ecb(e,'Name:',e.f);if(d){ecb(e,'Initial category:',k7b(e));}if(b===null){ecb(e,'Type (format) of rule:',e.d);}ecb(e,'Package:',e.g);pK(e.b,4);e.b.xe('100%');ecb(e,'Initial description:',e.b);c=wp(new qp(),'OK');c.x(A6b(new z6b(),e));ecb(e,'',c);AN(e,'ks-popups-Popup');return e;}
-function i7b(e,b,d,c,f,a){j7b();h7b(e,b,d,c,f);udb(e.g,a);return e;}
-function k7b(a){return v$(new e$(),E6b(new D6b(),a));}
-function m7b(a){if(a.c!==null)return a.c;return DC(a.d,CC(a.d));}
-function l7b(b){var a;a=sC(new kC());wC(a,'Business rule (using guided editor)','brl');wC(a,'DRL rule (technical rule - text editor)','drl');wC(a,'Business rule using a DSL (text editor)','dslr');wC(a,'Decision table (spreadsheet)','xls');bD(a,0);return a;}
-function n7b(b){var a;if(b.h&&b.e===null){Deb('You have to pick an initial category.',rN(b),sN(b));return;}else if(xK(b.f)===null||qU('',xK(b.f))){Deb('Rule must have a name',rN(b),sN(b));return;}a=c7b(new b7b(),b);idb('Please wait ...');oTb(ELb(),xK(b.f),xK(b.b),b.e,tdb(b.g),m7b(b),a);}
-function o7b(a,b){a.a.td(b);}
-function y6b(){}
-_=y6b.prototype=new Ebb();_.tN=bgc+'NewAssetWizard';_.tI=546;_.a=null;_.c=null;_.e=null;_.h=false;function A6b(b,a){b.a=a;return b;}
-function C6b(a){n7b(this.a);}
-function z6b(){}
-_=z6b.prototype=new xT();_.wc=C6b;_.tN=bgc+'NewAssetWizard$1';_.tI=547;function E6b(b,a){b.a=a;return b;}
-function a7b(a){this.a.e=a;}
-function D6b(){}
-_=D6b.prototype=new xT();_.ee=a7b;_.tN=bgc+'NewAssetWizard$2';_.tI=548;function c7b(b,a){b.a=a;return b;}
-function e7b(b,a){var c;c=Fb(a,1);if(yU(c,'DUPLICATE')){edb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{o7b(b.a,Fb(a,1));b.a.ic();}}
-function f7b(a){e7b(this,a);}
-function b7b(){}
-_=b7b.prototype=new hcb();_.md=f7b;_.tN=bgc+'NewAssetWizard$3';_.tI=549;function u7b(b,a){b.a=kK(new jK());b.a.xe('100%');pK(b.a,10);AN(b.a,'rule-viewer-Documentation');b.a.pe('This is rule documentation. Human friendly descriptions of the business logic.');mr(b,b.a);w7b(b,a);return b;}
-function w7b(b,a){BK(b.a,a.h);tK(b.a,r7b(new q7b(),b,a));if(a.h===null||qU('',a.h)){BK(b.a,'<documentation>');}}
-function p7b(){}
-_=p7b.prototype=new bab();_.tN=bgc+'RuleDocumentWidget';_.tI=550;_.a=null;function r7b(b,a,c){b.a=a;b.b=c;return b;}
-function t7b(a){this.b.h=xK(this.a.a);dab(this.a);}
-function q7b(){}
-_=q7b.prototype=new xT();_.vc=t7b;_.tN=bgc+'RuleDocumentWidget$1';_.tI=551;function y7b(b,a,c){ixb(b,a,c);jxb(b,kz(new nw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
-function A7b(){return 'images/ruleflow_large.png';}
-function B7b(){return 'decision-Table-upload';}
-function x7b(){}
-_=x7b.prototype=new Awb();_.sb=A7b;_.Bb=B7b;_.tN=bgc+'RuleFlowUploadWidget';_.tI=552;function p8b(c,b,a){c.a=a;c.b=kab(new iab());AN(c.b,'asset-editor-Layout');nab(c.b,0,0,b);if(!a.c)nab(c.b,1,0,v8b(c));bx(c.b.n,1,0,(uz(),xz),(Dz(),aA));c.b.xe('100%');c.b.ne('100%');mr(c,c.b);return c;}
-function r8b(a){idb('Validating item, please wait...');dTb(ELb(),a.a,g8b(new f8b(),a));}
-function s8b(a){idb('Calculating source...');cTb(ELb(),a.a,l8b(new k8b(),a));}
-function t8b(h,e){var a,b,c,d,f,g;c=dcb(new Ebb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){fcb(c,kz(new nw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=rt(new lt());AN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ve(f,0,kB(new uA(),'images/error.gif'));if(qU(d.a,'package')){Ey(a,f,1,'[package configuration problem] '+d.c);}else{Ey(a,f,1,d.c);}}g=uG(new sG(),a);g.xe('100%');fcb(c,g);}rE(c,100,100);uE(c);edb();}
-function u8b(b,a){hBb(a,b.a.d.n);edb();}
-function v8b(b){var a,c,d;a=fA(new dA());d=wp(new qp(),'View source');gA(a,d);c=wp(new qp(),'Validate');gA(a,c);d.x(E7b(new D7b(),b));c.x(c8b(new b8b(),b));AN(a,'asset-validator-Buttons');return a;}
-function w8b(){return mab(this.b);}
-function C7b(){}
-_=C7b.prototype=new bab();_.mc=w8b;_.tN=bgc+'RuleValidatorWrapper';_.tI=553;_.a=null;_.b=null;function E7b(b,a){b.a=a;return b;}
-function a8b(a){s8b(this.a);}
-function D7b(){}
-_=D7b.prototype=new xT();_.wc=a8b;_.tN=bgc+'RuleValidatorWrapper$1';_.tI=554;function c8b(b,a){b.a=a;return b;}
-function e8b(a){r8b(this.a);}
-function b8b(){}
-_=b8b.prototype=new xT();_.wc=e8b;_.tN=bgc+'RuleValidatorWrapper$2';_.tI=555;function g8b(b,a){b.a=a;return b;}
-function i8b(c,a){var b;b=Fb(a,88);t8b(c.a,b);}
-function j8b(a){i8b(this,a);}
-function f8b(){}
-_=f8b.prototype=new hcb();_.md=j8b;_.tN=bgc+'RuleValidatorWrapper$3';_.tI=556;function l8b(b,a){b.a=a;return b;}
-function n8b(c,a){var b;b=Fb(a,1);u8b(c.a,b);}
-function o8b(a){n8b(this,a);}
-function k8b(){}
-_=k8b.prototype=new hcb();_.md=o8b;_.tN=bgc+'RuleValidatorWrapper$4';_.tI=557;function p$b(c,a,b){c.a=a;c.g=b;c.e=kab(new iab());v$b(c);mr(c,c.e);edb();return c;}
-function r$b(a){a.a.a=true;s$b(a);m4b(a.b);}
-function s$b(a){hy(a.e);idb('Saving, please wait...');iTb(ELb(),a.a,i$b(new h$b(),a));}
-function t$b(e){var a,b,c,d;d=dcb(new Ebb(),'images/warning-large.png','WARNING: Un-committed changes.');b=wp(new qp(),'Discard');a=wp(new qp(),'Cancel');c=fA(new dA());gA(c,b);gA(c,a);fcb(d,kz(new nw(),'Are you sure you want to discard changes?'));fcb(d,c);b.x(E8b(new D8b(),e,d));a.x(c9b(new b9b(),e,d));AN(d,'warning-Popup');rE(d,dc((fab()-mE(d))/2),100);uE(d);}
-function u$b(a){sTb(ELb(),a.a.e,a.a.d.o,d$b(new c$b(),a));}
-function v$b(b){var a;hy(b.e);a=ut(b.e);b.h=s0b(new dZb(),b.a,f9b(new y8b(),b),k9b(new j9b(),b),p9b(new o9b(),b),u9b(new t9b(),b),b.g);nab(b.e,0,0,b.h);bx(a,0,0,(uz(),xz),(Dz(),aA));b.f=m6b(new y4b(),b.a.d,b.g,b.a.e,z9b(new y9b(),b));nab(b.e,0,1,b.f);qt(a,0,1,3);fx(a,0,1,(Dz(),aA));hx(a,0,1,'30%');b.d=r4b(b.a,b);y0b(b.h,E9b(new D9b(),b));nab(b.e,1,0,b.d);fx(a,1,0,(Dz(),aA));b.c=u7b(new p7b(),b.a.d);nab(b.e,2,0,b.c);fx(a,2,0,(Dz(),aA));}
-function w$b(a){if(f_(a.a.d.k)){idb('Refreshing content assistance...');wKb((sKb(),xKb),a.a.d.o,new m$b());}}
-function x$b(a){BTb(ELb(),a.a.e,A8b(new z8b(),a));}
-function y$b(b,a){b.b=a;}
-function z$b(a){var b;b= !Fw(ut(a.e),2,0);gx(ut(a.e),0,1,b);gx(ut(a.e),2,0,b);}
-function x8b(){}
-_=x8b.prototype=new kr();_.tN=bgc+'RuleViewer';_.tI=558;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function f9b(b,a){b.a=a;return b;}
-function h9b(a){s$b(a.a);}
-function i9b(){h9b(this);}
-function y8b(){}
-_=y8b.prototype=new xT();_.nb=i9b;_.tN=bgc+'RuleViewer$1';_.tI=559;function A8b(b,a){b.a=a;return b;}
-function C8b(a){this.a.a=Fb(a,97);v$b(this.a);edb();}
-function z8b(){}
-_=z8b.prototype=new hcb();_.md=C8b;_.tN=bgc+'RuleViewer$10';_.tI=560;function E8b(b,a,c){b.a=a;b.b=c;return b;}
-function a9b(a){m4b(this.a.b);this.b.ic();}
-function D8b(){}
-_=D8b.prototype=new xT();_.wc=a9b;_.tN=bgc+'RuleViewer$11';_.tI=561;function c9b(b,a,c){b.a=c;return b;}
-function e9b(a){this.a.ic();}
-function b9b(){}
-_=b9b.prototype=new xT();_.wc=e9b;_.tN=bgc+'RuleViewer$12';_.tI=562;function k9b(b,a){b.a=a;return b;}
-function m9b(a){r$b(a.a);}
-function n9b(){m9b(this);}
-function j9b(){}
-_=j9b.prototype=new xT();_.nb=n9b;_.tN=bgc+'RuleViewer$2';_.tI=563;function p9b(b,a){b.a=a;return b;}
-function r9b(a){z$b(a.a);}
-function s9b(){r9b(this);}
-function o9b(){}
-_=o9b.prototype=new xT();_.nb=s9b;_.tN=bgc+'RuleViewer$3';_.tI=564;function u9b(b,a){b.a=a;return b;}
-function w9b(a){u$b(a.a);}
-function x9b(){w9b(this);}
-function t9b(){}
-_=t9b.prototype=new xT();_.nb=x9b;_.tN=bgc+'RuleViewer$4';_.tI=565;function z9b(b,a){b.a=a;return b;}
-function B9b(a){x$b(a.a);}
-function C9b(){B9b(this);}
-function y9b(){}
-_=y9b.prototype=new xT();_.nb=C9b;_.tN=bgc+'RuleViewer$5';_.tI=566;function E9b(b,a){b.a=a;return b;}
-function a$b(a){if(mab(a.a.e)){t$b(a.a);}else{m4b(a.a.b);}}
-function b$b(){a$b(this);}
-function D9b(){}
-_=D9b.prototype=new xT();_.nb=b$b;_.tN=bgc+'RuleViewer$6';_.tI=567;function d$b(b,a){b.a=a;return b;}
-function f$b(b,a){m4b(b.a.b);}
-function g$b(a){f$b(this,a);}
-function c$b(){}
-_=c$b.prototype=new hcb();_.md=g$b;_.tN=bgc+'RuleViewer$7';_.tI=568;function i$b(b,a){b.a=a;return b;}
-function k$b(b,a){var c;w$b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){eab(Fb(b.a.d,98));}eab(b.a.f);eab(b.a.c);if(c===null){jbb('Failed to check in the item. Please contact your system administrator.');return;}x$b(b.a);}
-function l$b(a){k$b(this,a);}
-function h$b(){}
-_=h$b.prototype=new hcb();_.md=l$b;_.tN=bgc+'RuleViewer$8';_.tI=569;function o$b(){edb();}
-function m$b(){}
-_=m$b.prototype=new xT();_.nb=o$b;_.tN=bgc+'RuleViewer$9';_.tI=570;function t_b(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=fA(new dA());d.a=rt(new lt());d.a.ve(0,0,cC(new aC(),'Version history'));ex(d.a.n,0,0,'metadata-Widget');b=ut(d.a);dx(b,0,0,(uz(),wz));d.c=ocb(new ncb(),'images/refresh.gif');lB(d.c,C$b(new B$b(),d));d.a.ve(0,1,d.c);dx(b,0,1,(uz(),xz));AN(f,'version-browser-Border');gA(f,d.a);d.a.xe('100%');f.xe('100%');mr(d,f);return d;}
-function u_b(a){y_b(a);fg(a_b(new F$b(),a));}
-function w_b(b,a){return n_b(new m_b(),b,a);}
-function x_b(a){yTb(ELb(),a.e,e_b(new d_b(),a));}
-function y_b(a){pB(a.c,'images/searching.gif');}
-function z_b(a){pB(a.c,'images/refresh.gif');}
-function A_b(b,a){var c;c=rac(new B_b(),b.b,a,b.e,b.d);rE(c,100,100);uE(c);}
-function A$b(){}
-_=A$b.prototype=new kr();_.tN=bgc+'VersionBrowser';_.tI=571;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function C$b(b,a){b.a=a;return b;}
-function E$b(a){u_b(this.a);}
-function B$b(){}
-_=B$b.prototype=new xT();_.wc=E$b;_.tN=bgc+'VersionBrowser$1';_.tI=572;function a_b(b,a){b.a=a;return b;}
-function c_b(){x_b(this.a);}
-function F$b(){}
-_=F$b.prototype=new xT();_.nb=c_b;_.tN=bgc+'VersionBrowser$2';_.tI=573;function e_b(b,a){b.a=a;return b;}
-function g_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ve(1,0,cC(new aC(),'No history.'));z_b(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',607,1,['Version number','Comment','Date Modified','Status']);d=w_b(i.a,f);h=efc(d,c,0,false);h.xe('100%');i.a.a.ve(1,0,h);b=ut(i.a.a);pt(b,1,0,2);e=wp(new qp(),'View selected version');e.x(j_b(new i_b(),i,h));i.a.a.ve(2,1,e);pt(b,2,1,3);dx(b,2,1,(uz(),vz));z_b(i.a);}
-function h_b(a){g_b(this,a);}
-function d_b(){}
-_=d_b.prototype=new hcb();_.md=h_b;_.tN=bgc+'VersionBrowser$3';_.tI=574;function j_b(b,a,c){b.a=a;b.b=c;return b;}
-function l_b(a){if(this.b.f==0)return;A_b(this.a.a,xec(this.b));}
-function i_b(){}
-_=i_b.prototype=new xT();_.wc=l_b;_.tN=bgc+'VersionBrowser$4';_.tI=575;function n_b(b,a,c){b.a=c;return b;}
-function p_b(){return this.a.a;}
-function q_b(a){return this.a[a].b;}
-function r_b(b,a){return this.a[b].c[a];}
-function s_b(b,a){return null;}
-function m_b(){}
-_=m_b.prototype=new xT();_.xb=p_b;_.Db=q_b;_.cc=r_b;_.dc=s_b;_.tN=bgc+'VersionBrowser$5';_.tI=576;function sac(){sac=v2;Fr();}
-function rac(d,a,e,b,c){sac();Dr(d,false);d.c=e;d.a=b;d.b=c;AN(d,'version-Popup');idb('Loading version');BTb(ELb(),e,D_b(new C_b(),d,a));return d;}
-function tac(b,c){var a;a=F1b(new A1b(),rN(c)+10,sN(c)+10,'Restore this version?');c2b(a,jac(new iac(),b,a));d2b(a);}
-function B_b(){}
-_=B_b.prototype=new Ar();_.tN=bgc+'VersionViewer';_.tI=577;_.a=null;_.b=null;_.c=null;function D_b(b,a,c){b.a=a;b.b=c;return b;}
-function F_b(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;bs(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=rt(new lt());d=ut(e);f=wp(new qp(),'Restore this version');f.x(bac(new aac(),this));e.ve(0,0,f);dx(d,0,0,(uz(),wz));b=wp(new qp(),'Close');b.x(fac(new eac(),this));e.ve(0,1,b);dx(d,0,1,(uz(),xz));g=p$b(new x8b(),a,true);g.xe('100%');e.ve(1,0,g);pt(d,1,1,2);e.xe('100%');yN(e,800,300);cs(this.a,e);}
-function C_b(){}
-_=C_b.prototype=new hcb();_.md=F_b;_.tN=bgc+'VersionViewer$1';_.tI=578;function bac(b,a){b.a=a;return b;}
-function dac(a){tac(this.a.a,a);}
-function aac(){}
-_=aac.prototype=new xT();_.wc=dac;_.tN=bgc+'VersionViewer$2';_.tI=579;function fac(b,a){b.a=a;return b;}
-function hac(a){this.a.a.ic();}
-function eac(){}
-_=eac.prototype=new xT();_.wc=hac;_.tN=bgc+'VersionViewer$3';_.tI=580;function jac(b,a,c){b.a=a;b.b=c;return b;}
-function lac(){fUb(ELb(),this.a.c,this.a.a,b2b(this.b),nac(new mac(),this));}
-function iac(){}
-_=iac.prototype=new xT();_.nb=lac;_.tN=bgc+'VersionViewer$4';_.tI=581;function nac(b,a){b.a=a;return b;}
-function pac(b,a){b.a.a.ic();B9b(b.a.a.b);}
-function qac(a){pac(this,a);}
-function mac(){}
-_=mac.prototype=new hcb();_.md=qac;_.tN=bgc+'VersionViewer$5';_.tI=582;function xbc(a){a.b=(FY(),aZ);}
-function ybc(a){xbc(a);a.c=yJ(new kJ());a.c.xe('100%');a.c.ne('100%');zJ(a.c,Abc(a),"<img src='images/explore.gif'/>Explore",true);FJ(a.c,0);mr(a,a.c);return a;}
-function Abc(i){var a,b,c,d,e,f,g,h;h=rt(new lt());i.a=Bcc(new Fbc(),wac(new vac(),i),'rulelist');b=ut(h);d=v$(new e$(),Aac(new zac(),i,h));f=Fdc(new edc(),Eac(new Dac(),i));h.ve(0,1,f);bx(b,0,0,(uz(),wz),(Dz(),aA));bx(b,0,1,(uz(),wz),(Dz(),aA));hx(b,0,0,'30%');hx(b,0,1,'70%');e=wp(new qp(),'Create new rule');e.pe('Create new rule');e.x(dbc(new cbc(),i));g=ocb(new ncb(),'images/system_search_small.png');g.pe('Show the rule finder.');lB(g,hbc(new gbc(),i,h,f));a=fA(new dA());gA(a,e);gA(a,g);AN(a,'new-asset-Icons');c=nO(new lO());oO(c,a);oO(c,d);c.xe('100%');h.ve(0,0,c);return h;}
-function Bbc(c,a,b){return lbc(new kbc(),c,b,a);}
-function Cbc(b,a){b.b=a;}
-function Dbc(a,b){u4b(a.b,a.c,b,false);}
-function Ebc(c){var a,b,d;a=70;d=100;b=h7b(new y6b(),ubc(new tbc(),c),true,null,'Create a new rule');rE(b,a,d);uE(b);}
-function uac(){}
-_=uac.prototype=new kr();_.tN=cgc+'AssetBrowser';_.tI=583;_.a=null;_.c=null;function wac(b,a){b.a=a;return b;}
-function yac(a){Dbc(this.a,a);}
-function vac(){}
-_=vac.prototype=new xT();_.td=yac;_.tN=cgc+'AssetBrowser$1';_.tI=584;function Aac(b,a,c){b.a=a;b.b=c;return b;}
-function Cac(b){var a;a=Bbc(this.a,this.a.a,b);this.b.ve(0,1,this.a.a);idb('Retrieving list, please wait...');fg(a);bdc(this.a.a,a);}
-function zac(){}
-_=zac.prototype=new xT();_.ee=Cac;_.tN=cgc+'AssetBrowser$2';_.tI=585;function Eac(b,a){b.a=a;return b;}
-function abc(b,a){Dbc(b.a,a);}
-function bbc(a){abc(this,a);}
-function Dac(){}
-_=Dac.prototype=new xT();_.td=bbc;_.tN=cgc+'AssetBrowser$3';_.tI=586;function dbc(b,a){b.a=a;return b;}
-function fbc(a){Ebc(this.a);}
-function cbc(){}
-_=cbc.prototype=new xT();_.wc=fbc;_.tN=cgc+'AssetBrowser$4';_.tI=587;function hbc(b,a,d,c){b.b=d;b.a=c;return b;}
-function jbc(a){this.b.ve(0,1,this.a);}
-function gbc(){}
-_=gbc.prototype=new xT();_.wc=jbc;_.tN=cgc+'AssetBrowser$5';_.tI=588;function lbc(b,a,d,c){b.b=d;b.a=c;return b;}
-function nbc(){idb('Loading list, please wait...');CTb(ELb(),this.b,pbc(new obc(),this,this.a));}
-function kbc(){}
-_=kbc.prototype=new xT();_.nb=nbc;_.tN=cgc+'AssetBrowser$6';_.tI=589;function pbc(b,a,c){b.a=c;return b;}
-function rbc(c,a){var b;b=Fb(a,62);adc(c.a,b);edb();}
-function sbc(a){rbc(this,a);}
-function obc(){}
-_=obc.prototype=new hcb();_.md=sbc;_.tN=cgc+'AssetBrowser$7';_.tI=590;function ubc(b,a){b.a=a;return b;}
-function wbc(a){Dbc(this.a,a);}
-function tbc(){}
-_=tbc.prototype=new xT();_.td=wbc;_.tN=cgc+'AssetBrowser$8';_.tI=591;function Ccc(){Ccc=v2;cdc=ELb();}
-function Acc(a){a.c=rt(new lt());a.e=ocb(new ncb(),'images/refresh.gif');a.a=bC(new aC());}
-function Bcc(c,a,b){Ccc();Acc(c);Ecc(c);Fcc(c,b);c.e.ue(false);c.b=a;c.e.pe('Refresh current list. Will show any changes.');lB(c.e,bcc(new acc(),c));return c;}
-function Dcc(a){return CYb(xec(a.f));}
-function Ecc(c){var a,b;a=ut(c.c);c.c.xe('100%');bx(a,0,0,(uz(),wz),(Dz(),aA));b=ocb(new ncb(),'images/open_item.gif');lB(b,kcc(new jcc(),c));b.pe('Open item');c.c.ve(0,1,b);bx(a,0,1,(uz(),xz),(Dz(),aA));mr(c,c.c);}
-function Fcc(b,a){ETb(cdc,a,fcc(new ecc(),b));}
-function adc(g,a){var b,c,d,e,f;b=ut(g.c);g.c.ve(1,0,null);if(a===null||a.a.a==0){d=new ncc();g.f=efc(d,g.g.a,25,true);g.a.ue(false);}else{f=a.a;c=ucc(new tcc(),g,f);g.f=efc(c,g.g.a,25,true);e=fA(new dA());gA(e,g.e);g.a.ue(true);hC(g.a,'  '+a.a.a+' items.');gA(e,g.a);g.c.ve(0,0,e);}g.f.xe('100%');g.c.ve(1,0,g.f);pt(b,1,0,2);}
-function bdc(b,a){b.d=a;b.e.ue(true);}
-function Fbc(){}
-_=Fbc.prototype=new kr();_.tN=cgc+'AssetItemListViewer';_.tI=592;_.b=null;_.d=null;_.f=null;_.g=null;var cdc;function bcc(b,a){b.a=a;return b;}
-function dcc(a){idb('Refreshing list, please wait...');this.a.d.nb();}
-function acc(){}
-_=acc.prototype=new xT();_.wc=dcc;_.tN=cgc+'AssetItemListViewer$1';_.tI=593;function fcc(b,a){b.a=a;return b;}
-function hcc(b,a){b.a.g=Fb(a,99);adc(b.a,null);}
-function icc(a){hcc(this,a);}
-function ecc(){}
-_=ecc.prototype=new hcb();_.md=icc;_.tN=cgc+'AssetItemListViewer$2';_.tI=594;function kcc(b,a){b.a=a;return b;}
-function mcc(a){idb('Loading item, please wait ...');this.a.b.td(CYb(xec(this.a.f)));}
-function jcc(){}
-_=jcc.prototype=new xT();_.wc=mcc;_.tN=cgc+'AssetItemListViewer$3';_.tI=595;function pcc(){return 0;}
-function qcc(a){return '';}
-function rcc(b,a){return '';}
-function scc(b,a){return null;}
-function ncc(){}
-_=ncc.prototype=new xT();_.xb=pcc;_.Db=qcc;_.cc=rcc;_.dc=scc;_.tN=cgc+'AssetItemListViewer$4';_.tI=596;function ucc(b,a,c){b.a=a;b.b=c;return b;}
-function wcc(){return this.b.a;}
-function xcc(a){return this.b[a].b;}
-function ycc(b,a){return this.b[b].c[a];}
-function zcc(b,a){if(qU(this.a.g.a[a],'*')){return kB(new uA(),'images/'+q4b(this.b[b].a));}else{return null;}}
-function tcc(){}
-_=tcc.prototype=new xT();_.xb=wcc;_.Db=xcc;_.cc=ycc;_.dc=zcc;_.tN=cgc+'AssetItemListViewer$5';_.tI=597;function Fdc(d,a){var b,c;d.c=ubb(new rbb(),'images/system_search.png','');d.e=q_(new g_(),gdc(new fdc(),d));AN(d.e,'gwt-TextBox');d.b=a;c=fA(new dA());b=wp(new qp(),'Go');b.x(kdc(new jdc(),d));gA(c,d.e);gA(c,b);d.a=iq(new fq(),'Include archived items in list');AN(d.a,'small-Text');mq(d.a,false);vbb(d.c,'Find items with a name matching:',c);ybb(d.c,d.a);ybb(d.c,kz(new nw(),'<hr/>'));d.d=rt(new lt());d.d.ve(0,0,kz(new nw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));ybb(d.c,d.d);AN(d.d,'editable-Surface');uK(d.e,bec(d));AN(d.c,'quick-find');mr(d,d.c);return d;}
-function bec(a){return sdc(new rdc(),a);}
-function cec(c,a,b){FTb(ELb(),a,5,lq(c.a),odc(new ndc(),c,b));}
-function dec(f,d){var a,b,c,e;a=rt(new lt());if(d.a.a==1){abc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(qU(e.b,'MORE')){a.ve(b,0,kz(new nw(),'<i>There are more items... try narrowing the search terms..<\/i>'));pt(ut(a),b,0,3);}else{a.ve(b,0,cC(new aC(),e.c[0]));a.ve(b,1,cC(new aC(),e.c[1]));c=wp(new qp(),'Open');c.x(Cdc(new Bdc(),f,e));a.ve(b,2,c);}}a.xe('100%');f.d.ve(0,0,a);edb();}
-function eec(a){idb('Searching...');FTb(ELb(),xK(a.e),15,lq(a.a),ydc(new xdc(),a));}
-function edc(){}
-_=edc.prototype=new kr();_.tN=cgc+'QuickFindWidget';_.tI=598;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function gdc(b,a){b.a=a;return b;}
-function idc(c,b,a){cec(c.a,b,a);}
-function fdc(){}
-_=fdc.prototype=new xT();_.tN=cgc+'QuickFindWidget$1';_.tI=599;function kdc(b,a){b.a=a;return b;}
-function mdc(a){eec(this.a);}
-function jdc(){}
-_=jdc.prototype=new xT();_.wc=mdc;_.tN=cgc+'QuickFindWidget$2';_.tI=600;function odc(b,a,c){b.a=c;return b;}
-function qdc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[607],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!qU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}o_(this.a,c);}
-function ndc(){}
-_=ndc.prototype=new hcb();_.md=qdc;_.tN=cgc+'QuickFindWidget$3';_.tI=601;function sdc(b,a){b.a=a;return b;}
-function udc(a,b,c){}
-function vdc(a,b,c){}
-function wdc(a,b,c){if(b==13){eec(this.a);}}
-function rdc(){}
-_=rdc.prototype=new xT();_.Fc=udc;_.ad=vdc;_.bd=wdc;_.tN=cgc+'QuickFindWidget$4';_.tI=602;function ydc(b,a){b.a=a;return b;}
-function Adc(a){var b;b=Fb(a,62);dec(this.a,b);}
-function xdc(){}
-_=xdc.prototype=new hcb();_.md=Adc;_.tN=cgc+'QuickFindWidget$5';_.tI=603;function Cdc(b,a,c){b.a=a;b.b=c;return b;}
-function Edc(a){abc(this.a.b,this.b.b);}
-function Bdc(){}
-_=Bdc.prototype=new xT();_.wc=Edc;_.tN=cgc+'QuickFindWidget$6';_.tI=604;function hec(a){a.a=FX(new DX());}
-function iec(a){hec(a);return a;}
-function jec(b,a,c){if(a>=b.a.b){kec(b,a);}mY(b.a,a,c);}
-function kec(c,a){var b;for(b=c.a.b;b<=a;b++){bY(c.a,null);}}
-function mec(b,a){return gY(b.a,a);}
-function nec(b,a){b.b=a;}
-function oec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(mec(this,this.b),34);b=Fb(mec(d,this.b),34);return a.ab(b);}
-function gec(){}
-_=gec.prototype=new xT();_.ab=oec;_.tN=dgc+'RowData';_.tI=605;_.b=0;function qec(a){a.j=FX(new DX());a.i=FX(new DX());}
-function rec(c,b,a){aw(c,b+1,a);qec(c);dy(c,c);AN(c,hfc);return c;}
-function sec(c,b,a){if(b!=0){return;}Eec(c,a);afc(c,a);wec(c);}
-function uec(e){var a,b,c,d,f;if(e.h==cfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(gY(e.j,c),100);for(a=0;a<b.a.b;a++){f=mec(b,a);Aec(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(gY(e.j,c),100);for(a=0;a<b.a.b;a++){f=mec(b,a);Aec(e,d,a,f.tS());}}}}
-function vec(d){var a,b,c;c=0;for(b=d.i.nc();b.hc();){a=Fb(b.pc(),1);yec(d,a,c++);}}
-function wec(a){vec(a);uec(a);}
-function xec(a){return oy(a,a.f,a.e);}
-function yec(d,c,b){var a;a=cU(new bU());eU(a,c);eU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==cfc){eU(a,"'"+d.a+"' alt='Ascending' ");}else{eU(a,"'"+d.c+"' alt='Descending' ");}}else{eU(a,"'"+d.b+"'");}eU(a,'/>');Cy(d,0,b,iU(a));rx(d.p,0,ifc);}
-function zec(c,b,a){if(b%2==0){ex(c.n,b,a,gfc);}}
-function Aec(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ve(b,a,kB(new uA(),'images/'+q4b(d)));else Ey(c,b,a,d);}}
-function Bec(c,b,a){aY(c.i,a,b);yec(c,b,a);}
-function Cec(b,a){b.d=a;}
-function Dec(b,a){b.e=a;gx(b.n,0,a,false);}
-function Eec(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(gY(d.j,b),100);nec(a,c);}}
-function Fec(d,b,a,e,f){var c;if(b==0)return;zec(d,b,a);if(b-1>=d.j.b||null===gY(d.j,b-1)){aY(d.j,b-1,iec(new gec()));}c=Fb(gY(d.j,b-1),100);jec(c,a,e);if(f===null){Ey(d,b,a,''+e+'');}else{d.ve(b,a,f);}if(a==d.e){gx(d.n,b,a,false);}}
-function afc(b,a){cZ(b.j);if(b.g!=a){b.h=cfc;}else{b.h=b.h==cfc?dfc:cfc;}b.g=a;}
-function bfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){ex(a,c,b,jfc);if(d.f%2==0&&d.f!=0){ex(a,d.f,b,gfc);}else{ax(a,d.f,b,jfc);}}d.f=c;}}
-function efc(a,d,b,c){var e,f,g;g=null;if(b>a.xb()){g=rec(new pec(),b,d.a+1);Fec(g,1,1,'',null);}else{g=rec(new pec(),a.xb()+1,d.a+1);}Bec(g,'',0);for(e=0;e<d.a;e++){Bec(g,d[e],e+1);}Dec(g,0);for(e=0;e<a.xb();e++){Fec(g,e+1,0,a.Db(e),null);for(f=0;f<d.a;f++){Fec(g,e+1,f+1,a.cc(e,f),a.dc(e,f));}}Cec(g,c);return g;}
-function ffc(c,b,a){if(b<=this.j.b){bfc(this,b);sec(this,b,a);}}
-function pec(){}
-_=pec.prototype=new Ev();_.uc=ffc;_.tN=dgc+'SortableTable';_.tI=606;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var cfc=0,dfc=1,gfc='rule-ListEvenRow',hfc='rule-List',ifc='rule-ListHeader',jfc='rule-SelectedRow';function rR(){b4(D3(new s3()));}
-function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{rR();}catch(a){b(d);}else{rR();}}
-var gc=[{},{12:1},{1:1,12:1,34:1,35:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{2:1,12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1},{8:1,12:1},{8:1,12:1},{8:1,12:1},{12:1},{2:1,6:1,12:1},{2:1,12:1},{9:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1},{3:1,12:1},{3:1,12:1,39:1},{3:1,12:1,92:1},{3:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,36:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,49:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1,33:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,43:1},{12:1,49:1,56:1}!
 ,{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,81:1},{12:1,20:1,36:1,37:1,81:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,46:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,49:1,56:1},{12:1,39:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,49:1},{12:1},{12:1,20:1,36:1,37:1,87:1},{12:1,20:1,36:1,37:1,48:1,54:1},{9:1,12:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,39:1},{12:1,39:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,50:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,80:1},{12:1,20:1,36:1,37:1,54:1},{12:1,36:1,52:1},{12:1,36:1,52:1},{12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12!
 :1},{12:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1},{3:1,1
2:1},{12:1,55:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{12:1,35:1},{3:1,12:1},{12:1},{12:1,57:1},{12:1,49:1,58:1},{12:1,49:1,58:1},{12:1},{12:1,49:1},{12:1},{12:1},{12:1,34:1,59:1},{12:1,57:1},{12:1,60:1},{12:1,49:1,58:1},{12:1},{12:1,49:1,58:1},{3:1,12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{7:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{8:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:!
 1,42:1},{12:1},{12:1,20:1,36:1,37:1,53:1},{12:1,42:1},{12:1},{12:1},{12:1,36:1,52:1,64:1},{12:1,20:1,36:1,37:1,46:1,80:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,20:1,36:1,37:1,81:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,65:1},{12:1,20:1,36:1,37:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,38:1,39:1,91:1},{12:1,23:1,24:1,38:1,39:1},{12:1,18:1,38:1,39:1},{12:1,23:1,24:1,25:1,38:1,39:1!
 },{12:1,23:1,24:1,25:1,26:1,38:1,39:1},{12:1,23:1,27:1,38:1,39:1},{12:
1,23:1,24:1,28:1,38:1,39:1},{12:1,23:1,24:1,28:1,29:1,38:1,39:1},{12:1,22:1,30:1,38:1,39:1},{12:1,17:1,31:1,38:1,39:1},{12:1,38:1,39:1,40:1},{12:1,15:1,38:1,39:1,40:1},{12:1,14:1,22:1,23:1,38:1,39:1},{12:1,16:1,22:1,38:1,39:1},{12:1,21:1,38:1,39:1},{12:1,38:1,39:1,83:1},{12:1,17:1,32:1,38:1,39:1,40:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,84:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,41:1},{4:1,12:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,46:1},{12:1,41:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,82:1,98:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,!
 42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,46:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1,42!
 :1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,4
2:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1},{4:1,12:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1,53:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,90:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,42:1},{12:1,53:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1},{10:1,12:1,39:1},{3:1,12:1,39:1,70:1},{12:1,39:1,93:1},{12:1,19:1,39:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,39:1,97:1},{12:1,39:1,95:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1,69:1},{11:1,12:1,39:1},{12:1,39:1,99:1},{12:1,39:1,62:1},{12:1,13:!
 1,39:1},{12:1,39:1,89:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,44:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1},{12:1,41:1},{12:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{4:1!
 ,12:1},{4:1,12:1},{4:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,
37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{12:1,46:1},{12:1},{12:1,42:1},{12:1,34:1,100:1},{12:1,20:1,36:1,37:1,51:1,54:1},{12:1,63:1},{12:1,88:1},{12:1,86:1},{12:1},{12:1},{12:1,94:1},{12:1,72:1,77:1,78:1},{12:1,79:1},{12:1,74:1,77:1},{12:1,75:1},{12:1,73:1},{12:1,71:1},{12:1},{12:1},{12:1,76:1},{12:1,77:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,77:1},{12:1,75:1},{12:1,75:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1}];if (org_drools_brms_JBRMS) {  var __gwt_initHandlers = org_drools_brms_JBRMS.__gwt_initHandlers;  org_drools_brms_JBRMS.onScriptLoad(gwtOnLoad);}})();
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/177C86A9AD595D26FEE5C67A7D333937.cache.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cache-entry>
-	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_TypeSerializer" hash="619B51D664C2EA16C242AAF2AF6BA7E6"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.BuilderResult_FieldSerializer" hash="31FA4ADBFB94FFD9001BA8C2A4417504"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.DSLSentence_FieldSerializer" hash="35AB7D23CC662D4F726060AA9938F6C6"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableDataResult_FieldSerializer" hash="BFC3EC8D02BADBA251CA3B7A7F85C809"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleAttribute_FieldSerializer" hash="7BF092FF4AE3E8CB784A96421E7BC6B4"/>
-	<generated-type-hash class="com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException_FieldSerializer" hash="FF198044879E67E1ACF2E0C29CC58CB5"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.MultiWordSuggestOracle_MultiWordSuggestion_FieldSerializer" hash="1721A875793F79F044BA9AEC6543C8A2"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.TreeImages_generatedBundle" hash="C4DB9D53C840859028C6F483DB58A75C"/>
-	<generated-type-hash class="com.google.gwt.user.client.rpc.SerializableException_FieldSerializer" hash="1CB9B63ABEC9BE7E663F6C56AA395208"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Request_FieldSerializer" hash="93219A0D78603408F1E24CE444809ADE"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableConfig_FieldSerializer" hash="68BF54922D06AC518871EB9FEFD7D68E"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionRetractFact_FieldSerializer" hash="3ABE2631C28ACB7B3C1358BD27C80255"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SnapshotInfo_FieldSerializer" hash="995C2E7AEC07438074706D40B4864FF5"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertFact_FieldSerializer" hash="B3DA8CF19248044B9B347AFEE8AAC7F7"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.ValidatedResponse_FieldSerializer" hash="15269178DE71D238F26587B3095E7A9A"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint_FieldSerializer" hash="8606C355A0F17A64941EB10EFAB41036"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionSetField_FieldSerializer" hash="7F0BA1987E3FB650C44049758B209A0E"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint_FieldSerializer" hash="F30861DCB878C093201710AE55E3EF52"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFactPattern_FieldSerializer" hash="85DD7A29F613D6A493314730060FF12A"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldValue_FieldSerializer" hash="C12B27B0B8651B5CCA2358C044C74DD1"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.DetailedSerializableException_FieldSerializer" hash="CE21C342ABA475456EAAE97B0AE44393"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.MetaData_FieldSerializer" hash="C7F537CFDF5A4E02C318B4614CEC20EA"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact_FieldSerializer" hash="8646F66FFEBDCE52535B8FBA9AE37830"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.SuggestionCompletionEngine_FieldSerializer" hash="1BED05A61D2EFBC600410686A3304B3E"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RuleAsset_FieldSerializer" hash="7D9F400F79A33BD99A5721E52B6EDBA7"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.SingleFieldConstraint_FieldSerializer" hash="C2DB414BB43FE22A8E8CDBA910564AA6"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Response_FieldSerializer" hash="1C6D42E0AC1FE9CDD63B791E11BD9615"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.PackageConfigData_FieldSerializer" hash="1C8237E912FA51556E3496683D32C8B5"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.FactPattern_FieldSerializer" hash="5535A6C88015EE51C5F4FA808DFAA8ED"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SessionExpiredException_FieldSerializer" hash="0A173F0D6310FDB17BD90CBB1948DC75"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableDataRow_FieldSerializer" hash="411D058D97408AAE2C3EBA1620048463"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_Proxy" hash="EE514DB88A5F377A761E4D0AAB187640"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldList_FieldSerializer" hash="73DAB0917FEA7A2E484F4B12C200C868"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_TypeSerializer" hash="8DCA6439D096072B75D6701D8B54A1DA"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionUpdateField_FieldSerializer" hash="53DAC10B208EAD97D6542560F2C8BAAD"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RuleContentText_FieldSerializer" hash="9F5834F874613140D0BDEC4056C49928"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_Proxy" hash="0549B5DD064B695F228AA7312765E9C0"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ConnectiveConstraint_FieldSerializer" hash="BF0E8BCBA71D0333FD6536A3B7B09370"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleModel_FieldSerializer" hash="2A44CFABD8B63D33EFAA2FF86226638A"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.TextBoxImpl" out="com.google.gwt.user.client.ui.impl.TextBoxImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.ListBox.Impl" out="com.google.gwt.user.client.ui.ListBox.Impl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.FocusImpl" out="com.google.gwt.user.client.ui.impl.FocusImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.ClippedImageImpl" out="com.google.gwt.user.client.ui.impl.ClippedImageImpl"/>
-	<rebind-decision in="org.drools.brms.client.JBRMSEntryPoint" out="org.drools.brms.client.JBRMSEntryPoint"/>
-	<rebind-decision in="org.drools.brms.client.rpc.RepositoryService" out="org.drools.brms.client.rpc.RepositoryService_Proxy"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.HistoryImpl" out="com.google.gwt.user.client.impl.HistoryImplMozilla"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.DOMImpl" out="com.google.gwt.user.client.impl.DOMImplMozilla"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.PopupImpl" out="com.google.gwt.user.client.ui.impl.PopupImplMozilla"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.TreeImages" out="com.google.gwt.user.client.ui.TreeImages_generatedBundle"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.FormPanelImpl" out="com.google.gwt.user.client.ui.impl.FormPanelImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.HTTPRequestImpl" out="com.google.gwt.user.client.impl.HTTPRequestImpl"/>
-	<rebind-decision in="org.drools.brms.client.rpc.SecurityService" out="org.drools.brms.client.rpc.SecurityService_Proxy"/>
-</cache-entry>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.html
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.html	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.html	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3428 +0,0 @@
-<html><head><script>var $wnd = parent;var $doc = $wnd.document;var $moduleName, $moduleBase;</script></head><body><script><!--
-var _,yfc='com.google.gwt.core.client.',zfc='com.google.gwt.lang.',Afc='com.google.gwt.user.client.',Bfc='com.google.gwt.user.client.impl.',Cfc='com.google.gwt.user.client.rpc.',Dfc='com.google.gwt.user.client.rpc.core.java.lang.',Efc='com.google.gwt.user.client.rpc.core.java.util.',Ffc='com.google.gwt.user.client.rpc.impl.',agc='com.google.gwt.user.client.ui.',bgc='com.google.gwt.user.client.ui.impl.',cgc='java.io.',dgc='java.lang.',egc='java.util.',fgc='org.drools.brms.client.',ggc='org.drools.brms.client.admin.',hgc='org.drools.brms.client.categorynav.',igc='org.drools.brms.client.common.',jgc='org.drools.brms.client.decisiontable.',kgc='org.drools.brms.client.modeldriven.',lgc='org.drools.brms.client.modeldriven.brl.',mgc='org.drools.brms.client.modeldriven.ui.',ngc='org.drools.brms.client.packages.',ogc='org.drools.brms.client.rpc.',pgc='org.drools.brms.client.ruleeditor.',qgc='org.drools.brms.client.rulelist.',rgc='org.drools.brms.client.table.';function d3(){}
-function hU(a){return this===a;}
-function iU(){return AV(this);}
-function jU(){return this.tN+'@'+this.hC();}
-function fU(){}
-_=fU.prototype={};_.eQ=hU;_.hC=iU;_.tS=jU;_.toString=function(){return this.tS();};_.tN=dgc+'Object';_.tI=1;function v(){return C();}
-function w(a){return a==null?null:a.tN;}
-var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function C(){return $moduleBase;}
-function D(){return ++E;}
-var E=0;function DV(b,a){b.c=a;return b;}
-function EV(c,b,a){c.c=b;return c;}
-function aW(){return this.c;}
-function bW(){var a,b;a=w(this);b=this.zb();if(b!==null){return a+': '+b;}else{return a;}}
-function CV(){}
-_=CV.prototype=new fU();_.zb=aW;_.tS=bW;_.tN=dgc+'Throwable';_.tI=3;_.c=null;function CS(b,a){DV(b,a);return b;}
-function DS(c,b,a){EV(c,b,a);return c;}
-function BS(){}
-_=BS.prototype=new CV();_.tN=dgc+'Exception';_.tI=4;function lU(b,a){CS(b,a);return b;}
-function mU(c,b,a){DS(c,b,a);return c;}
-function kU(){}
-_=kU.prototype=new BS();_.tN=dgc+'RuntimeException';_.tI=5;function ab(c,b,a){lU(c,'JavaScript '+b+' exception: '+a);return c;}
-function F(){}
-_=F.prototype=new kU();_.tN=yfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
-function fb(a){return A(a);}
-function gb(){return [];}
-function hb(){return function(){};}
-function ib(){return {};}
-function kb(a){return eb(this,a);}
-function jb(a,b){return a===b;}
-function lb(){return fb(this);}
-function nb(){return mb(this);}
-function mb(a){if(a.toString)return a.toString();return '[object]';}
-function cb(){}
-_=cb.prototype=new fU();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=yfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
-function rb(a,b,c){return a[b]=c;}
-function tb(a,b){return sb(a,b);}
-function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
-function ub(b,a){return b[a];}
-function wb(b,a){return b[a];}
-function vb(a){return a.length;}
-function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
-function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new wT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=hV(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
-function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
-function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new gS();}return rb(a,b,c);}
-function ob(){}
-_=ob.prototype=new fU();_.tN=zfc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
-function Eb(a){return String.fromCharCode(a);}
-function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
-function ac(b,a){return b!=null&&Db(b.tI,a);}
-function bc(a){return a&65535;}
-function cc(a){return ~(~a);}
-function dc(a){if(a>(jT(),kT))return jT(),kT;if(a<(jT(),lT))return jT(),lT;return a>=0?Math.floor(a):Math.ceil(a);}
-function fc(){throw new wS();}
-function ec(a){if(a!==null){throw new wS();}return a;}
-function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
-var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
-function lc(a){return a.message;}
-function mc(a){return a.name;}
-function oc(b,a){return b;}
-function nc(){}
-_=nc.prototype=new kU();_.tN=Afc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=nY(new lY());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
-function gd(a){fd(a);return a;}
-function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
-function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.pb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(zV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
-function kd(a){if(!xY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
-function ld(b,a){b.c=a;}
-function md(b,a){b.e=a;}
-function nd(b,a){pY(b.b,a);kd(b);}
-function od(a,b){return uT(a-b)>=100;}
-function qc(){}
-_=qc.prototype=new fU();_.tN=Afc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=d3;uh=nY(new lY());{th();}}
-function ih(a){kh();return a;}
-function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}zY(uh,a);}
-function lh(a){if(!a.b){zY(uh,a);}a.fe();}
-function nh(b,a){if(a<=0){throw aT(new FS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);pY(uh,b);}
-function mh(b,a){if(a<=0){throw aT(new FS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);pY(uh,b);}
-function oh(a){kh();$wnd.clearInterval(a);}
-function ph(a){kh();$wnd.clearTimeout(a);}
-function qh(b,a){kh();return $wnd.setInterval(function(){b.qb();},a);}
-function rh(b,a){kh();return $wnd.setTimeout(function(){b.qb();},a);}
-function sh(){var a;a=x;{lh(this);}}
-function th(){kh();yh(new eh());}
-function dh(){}
-_=dh.prototype=new fU();_.qb=sh;_.tN=Afc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=d3;kh();}
-function sc(b,a){tc();b.a=a;ih(b);return b;}
-function uc(){if(!this.a.c){return;}id(this.a);}
-function rc(){}
-_=rc.prototype=new dh();_.fe=uc;_.tN=Afc+'CommandExecutor$1';_.tI=14;function xc(){xc=d3;kh();}
-function wc(b,a){xc();b.a=a;ih(b);return b;}
-function yc(){md(this.a,false);jd(this.a,zV());}
-function vc(){}
-_=vc.prototype=new dh();_.fe=yc;_.tN=Afc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
-function Cc(a){return uY(a.d.b,a.b);}
-function Dc(a){return a.c<a.a;}
-function Ec(b){var a;b.b=b.c;a=uY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
-function Fc(a){yY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
-function ad(b,a){b.a=a;}
-function bd(a){return a.b==(-1);}
-function cd(){return Dc(this);}
-function dd(){return Ec(this);}
-function ed(){Fc(this);}
-function zc(){}
-_=zc.prototype=new fU();_.kc=cd;_.sc=dd;_.ce=ed;_.tN=Afc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=d3;rf=nY(new lY());{gf=new ki();bj(gf);}}
-function sd(a){rd();pY(rf,a);}
-function td(b,a){rd();hj(gf,b,a);}
-function ud(a,b){rd();return vi(gf,a,b);}
-function vd(){rd();return jj(gf,'A');}
-function wd(){rd();return jj(gf,'button');}
-function xd(){rd();return jj(gf,'div');}
-function yd(a){rd();return jj(gf,a);}
-function zd(){rd();return jj(gf,'form');}
-function Ad(){rd();return jj(gf,'iframe');}
-function Bd(){rd();return jj(gf,'img');}
-function Cd(){rd();return kj(gf,'checkbox');}
-function Dd(){rd();return kj(gf,'password');}
-function Ed(a){rd();return wi(gf,a);}
-function Fd(){rd();return kj(gf,'text');}
-function ae(){rd();return jj(gf,'label');}
-function be(a){rd();return lj(gf,a);}
-function ce(){rd();return jj(gf,'span');}
-function de(){rd();return jj(gf,'tbody');}
-function ee(){rd();return jj(gf,'td');}
-function fe(){rd();return jj(gf,'tr');}
-function ge(){rd();return jj(gf,'table');}
-function he(){rd();return jj(gf,'textarea');}
-function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
-function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.wc(b);}finally{ie=d;}}
-function le(b,a){rd();mj(gf,b,a);}
-function me(a){rd();return nj(gf,a);}
-function ne(a){rd();return mi(gf,a);}
-function oe(a){rd();return ni(gf,a);}
-function pe(a){rd();return oj(gf,a);}
-function qe(a){rd();return pj(gf,a);}
-function re(a){rd();return xi(gf,a);}
-function se(a){rd();return qj(gf,a);}
-function te(a){rd();return rj(gf,a);}
-function ue(a){rd();return sj(gf,a);}
-function ve(a){rd();return yi(gf,a);}
-function we(a){rd();return zi(gf,a);}
-function xe(a){rd();return tj(gf,a);}
-function ye(a){rd();Ai(gf,a);}
-function ze(a){rd();return Bi(gf,a);}
-function Ae(a){rd();return oi(gf,a);}
-function Be(a){rd();return pi(gf,a);}
-function Ee(b,a){rd();return Ei(gf,b,a);}
-function Ce(a){rd();return Ci(gf,a);}
-function De(b,a){rd();return Di(gf,b,a);}
-function bf(a,b){rd();return wj(gf,a,b);}
-function Fe(a,b){rd();return uj(gf,a,b);}
-function af(a,b){rd();return vj(gf,a,b);}
-function cf(a){rd();return xj(gf,a);}
-function df(a){rd();return Fi(gf,a);}
-function ef(a){rd();return yj(gf,a);}
-function ff(a){rd();return aj(gf,a);}
-function hf(c,a,b){rd();cj(gf,c,a,b);}
-function jf(c,b,d,a){rd();qi(gf,c,b,d,a);}
-function kf(b,a){rd();return dj(gf,b,a);}
-function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(uY(rf,rf.b-1),5);if(!(c=b.Cc(a))){le(a,true);ye(a);}}return c;}
-function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}ej(gf,a);}
-function nf(b,a){rd();zj(gf,b,a);}
-function of(b,a){rd();Aj(gf,b,a);}
-function pf(a){rd();zY(rf,a);}
-function sf(a){rd();Bj(gf,a);}
-function tf(a){rd();qf=a;fj(gf,a);}
-function uf(b,a,c){rd();Cj(gf,b,a,c);}
-function xf(a,b,c){rd();Fj(gf,a,b,c);}
-function vf(a,b,c){rd();Dj(gf,a,b,c);}
-function wf(a,b,c){rd();Ej(gf,a,b,c);}
-function yf(a,b){rd();ak(gf,a,b);}
-function zf(a,b){rd();bk(gf,a,b);}
-function Af(a,b){rd();ck(gf,a,b);}
-function Bf(a,b){rd();dk(gf,a,b);}
-function Cf(b,a,c){rd();ek(gf,b,a,c);}
-function Df(b,a,c){rd();fk(gf,b,a,c);}
-function Ef(a,b){rd();gj(gf,a,b);}
-function Ff(a){rd();return gk(gf,a);}
-function ag(){rd();return ri(gf);}
-function bg(){rd();return si(gf);}
-var ie=null,gf=null,qf=null,rf;function dg(){dg=d3;gg=gd(new qc());}
-function fg(a){dg();nd(gg,a);}
-function eg(a){dg();if(a===null){throw zT(new yT(),'cmd can not be null');}nd(gg,a);}
-var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
-function kg(a){return jg(this,a);}
-function lg(){return fb(hc(this,hg));}
-function mg(){return Ff(this);}
-function hg(){}
-_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=Afc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
-function sg(){return fb(hc(this,ng));}
-function tg(){return ze(this);}
-function ng(){}
-_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=Afc+'Event';_.tI=18;function vg(){vg=d3;xg=jk(new ik());}
-function wg(c,b,a){vg();return lk(xg,c,b,a);}
-var xg;function Ag(){Ag=d3;Eg=nY(new lY());{Fg=sk(new rk());if(!vk(Fg)){Fg=null;}}}
-function Bg(a){Ag();pY(Eg,a);}
-function Cg(a){Ag();var b,c;for(b=Eg.qc();b.kc();){c=Fb(b.sc(),7);c.bd(a);}}
-function Dg(){Ag();return Fg!==null?Fk(Fg):'';}
-function ah(a){Ag();if(Fg!==null){xk(Fg,a);}}
-function bh(b){Ag();var a;a=x;{Cg(b);}}
-var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(uY((kh(),uh),0),8));}}
-function hh(){return null;}
-function eh(){}
-_=eh.prototype=new fU();_.ud=gh;_.vd=hh;_.tN=Afc+'Timer$1';_.tI=19;function xh(){xh=d3;Ah=nY(new lY());ii=nY(new lY());{di();}}
-function yh(a){xh();pY(Ah,a);}
-function zh(a){xh();$wnd.alert(a);}
-function Bh(a){xh();return $wnd.confirm(a);}
-function Ch(){xh();var a,b;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);b.ud();}}
-function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);c=b.vd();{d=c;}}return d;}
-function Eh(){xh();var a,b;for(a=ii.qc();a.kc();){b=ec(a.sc());null.jf();}}
-function Fh(){xh();return ag();}
-function ai(){xh();return bg();}
-function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
-function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
-function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
-function ei(){xh();var a;a=x;{Ch();}}
-function fi(){xh();var a;a=x;{return Dh();}}
-function gi(){xh();var a;a=x;{Eh();}}
-function hi(c,b,a){xh();$wnd.open(c,b,a);}
-var Ah,ii;function hj(c,b,a){b.appendChild(a);}
-function jj(b,a){return $doc.createElement(a);}
-function kj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
-function lj(c,a){var b;b=jj(c,'select');if(a){Dj(c,b,'multiple',true);}return b;}
-function mj(c,b,a){b.cancelBubble=a;}
-function nj(b,a){return !(!a.altKey);}
-function oj(b,a){return !(!a.ctrlKey);}
-function pj(b,a){return a.currentTarget;}
-function qj(b,a){return a.which||(a.keyCode|| -1);}
-function rj(b,a){return !(!a.metaKey);}
-function sj(b,a){return !(!a.shiftKey);}
-function tj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
-function wj(d,a,b){var c=a[b];return c==null?null:String(c);}
-function uj(c,a,b){return !(!a[b]);}
-function vj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
-function xj(b,a){return a.__eventBits||0;}
-function yj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.xb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
-function zj(c,b,a){b.removeChild(a);}
-function Aj(c,b,a){b.removeAttribute(a);}
-function Bj(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
-function Cj(c,b,a,d){b.setAttribute(a,d);}
-function Fj(c,a,b,d){a[b]=d;}
-function Dj(c,a,b,d){a[b]=d;}
-function Ej(c,a,b,d){a[b]=d;}
-function ak(c,a,b){a.__listener=b;}
-function bk(c,a,b){a.src=b;}
-function ck(c,a,b){if(!b){b='';}a.innerHTML=b;}
-function dk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
-function ek(c,b,a,d){b.style[a]=d;}
-function fk(c,b,a,d){b.style[a]=d;}
-function gk(b,a){return a.outerHTML;}
-function hk(a){return yj(this,a);}
-function ji(){}
-_=ji.prototype=new fU();_.xb=hk;_.tN=Bfc+'DOMImpl';_.tI=20;function vi(c,a,b){return a==b;}
-function wi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
-function xi(b,a){return a.relatedTarget?a.relatedTarget:null;}
-function yi(b,a){return a.target||null;}
-function zi(b,a){return a.relatedTarget||null;}
-function Ai(b,a){a.preventDefault();}
-function Bi(b,a){return a.toString();}
-function Ei(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
-function Ci(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
-function Di(d,c,e){var b=0,a=c.firstChild;while(a){if(a==e)return b;if(a.nodeType==1)++b;a=a.nextSibling;}return -1;}
-function Fi(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
-function aj(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
-function bj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
-function cj(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
-function dj(c,b,a){while(a){if(b==a){return true;}a=a.parentNode;if(a&&a.nodeType!=1){a=null;}}return false;}
-function ej(b,a){if(a==$wnd.__captureElem)$wnd.__captureElem=null;}
-function fj(b,a){$wnd.__captureElem=a;}
-function gj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
-function ti(){}
-_=ti.prototype=new ji();_.tN=Bfc+'DOMImplStandard';_.tI=21;function mi(b,a){return a.pageX-$doc.body.scrollLeft|| -1;}
-function ni(b,a){return a.pageY-$doc.body.scrollTop|| -1;}
-function oi(e,b){if(b.offsetLeft==null){return 0;}var c=0;var a=b.parentNode;if(a){while(a.offsetParent){c-=a.scrollLeft;a=a.parentNode;}}while(b){c+=b.offsetLeft;var d=b.offsetParent;if(d&&(d.tagName=='BODY'&&b.style.position=='absolute')){break;}b=d;}return c;}
-function pi(d,b){if(b.offsetTop==null){return 0;}var e=0;var a=b.parentNode;if(a){while(a.offsetParent){e-=a.scrollTop;a=a.parentNode;}}while(b){e+=b.offsetTop;var c=b.offsetParent;if(c&&(c.tagName=='BODY'&&b.style.position=='absolute')){break;}b=c;}return e;}
-function qi(e,c,d,f,a){var b=new Option(d,f);if(a== -1||a>c.children.length-1){c.appendChild(b);}else{c.insertBefore(b,c.children[a]);}}
-function ri(a){return $wnd.innerHeight;}
-function si(a){return $wnd.innerWidth;}
-function ki(){}
-_=ki.prototype=new ti();_.tN=Bfc+'DOMImplSafari';_.tI=22;function jk(a){pk=hb();return a;}
-function lk(c,d,b,a){return mk(c,null,null,d,b,a);}
-function mk(d,f,c,e,b,a){return kk(d,f,c,e,b,a);}
-function kk(e,g,d,f,c,b){var h=e.lb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=pk;b.Ac(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=pk;return false;}}
-function ok(){return new XMLHttpRequest();}
-function ik(){}
-_=ik.prototype=new fU();_.lb=ok;_.tN=Bfc+'HTTPRequestImpl';_.tI=23;var pk=null;function Fk(a){return $wnd.__gwt_historyToken;}
-function al(a){bh(a);}
-function qk(){}
-_=qk.prototype=new fU();_.tN=Bfc+'HistoryImpl';_.tI=24;function Ck(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;al(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
-function Dk(b,a){if(a==null){a='';}$wnd.location.hash=encodeURIComponent(a);}
-function Ak(){}
-_=Ak.prototype=new qk();_.tN=Bfc+'HistoryImplStandard';_.tI=25;function tk(){tk=d3;zk=yk();}
-function sk(a){tk();return a;}
-function vk(a){if(zk){uk(a);return true;}return Ck(a);}
-function uk(b){$wnd.__gwt_historyToken='';var a=$wnd.location.hash;if(a.length>0)$wnd.__gwt_historyToken=decodeURIComponent(a.substring(1));al($wnd.__gwt_historyToken);}
-function xk(b,a){if(zk){wk(b,a);return;}Dk(b,a);}
-function wk(d,a){var b=$doc.createElement('meta');b.setAttribute('http-equiv','refresh');var c=$wnd.location.href.split('#')[0]+'#'+encodeURIComponent(a);b.setAttribute('content','0.01;url='+c);$doc.body.appendChild(b);window.setTimeout(function(){$doc.body.removeChild(b);},1);$wnd.__gwt_historyToken=a;al($wnd.__gwt_historyToken);}
-function yk(){tk();var a=/ AppleWebKit\/([\d]+)/;var b=a.exec(navigator.userAgent);if(b){if(parseInt(b[1])>=522){return false;}}if(navigator.userAgent.indexOf('iPhone')!= -1){return false;}return true;}
-function rk(){}
-_=rk.prototype=new Ak();_.tN=Bfc+'HistoryImplSafari';_.tI=26;var zk;function dl(a){lU(a,'This application is out of date, please click the refresh button on your browser');return a;}
-function cl(){}
-_=cl.prototype=new kU();_.tN=Cfc+'IncompatibleRemoteServiceException';_.tI=27;function hl(b,a){}
-function il(b,a){}
-function kl(b,a){mU(b,a,null);return b;}
-function jl(){}
-_=jl.prototype=new kU();_.tN=Cfc+'InvocationException';_.tI=28;function wl(){return this.b;}
-function ol(){}
-_=ol.prototype=new BS();_.zb=wl;_.tN=Cfc+'SerializableException';_.tI=29;_.b=null;function sl(b,a){vl(a,b.Ed());}
-function tl(a){return a.b;}
-function ul(b,a){b.gf(tl(a));}
-function vl(a,b){a.b=b;}
-function yl(b,a){CS(b,a);return b;}
-function xl(){}
-_=xl.prototype=new BS();_.tN=Cfc+'SerializationException';_.tI=30;function Dl(a){kl(a,'Service implementation URL not specified');return a;}
-function Cl(){}
-_=Cl.prototype=new jl();_.tN=Cfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function cm(b,a){}
-function dm(a){return qS(a.zd());}
-function em(b,a){b.bf(a.a);}
-function hm(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Dd());}}
-function im(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.ff(a[c]);}}
-function lm(b,a){}
-function mm(a){return a.Ed();}
-function nm(b,a){b.gf(a);}
-function qm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Ad();}}
-function rm(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.cf(a[c]);}}
-function um(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();pY(b,c);}}
-function vm(e,a){var b,c,d;d=a.b;e.df(d);b=a.qc();while(b.kc()){c=b.sc();e.ff(c);}}
-function ym(b,a){}
-function zm(a){return AZ(new yZ(),a.Cd());}
-function Am(b,a){b.ef(DZ(a));}
-function Dm(e,b){var a,c,d,f;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();f=e.Dd();r1(b,c,f);}}
-function Em(f,c){var a,b,d,e;e=c.c;f.df(e);b=p1(c);d=f1(b);while(D0(d)){a=E0(d);f.ff(a.yb());f.ff(a.ec());}}
-function bn(d,b){var a,c;c=d.Bd();for(a=0;a<c;++a){f2(b,d.Dd());}}
-function cn(c,a){var b;c.df(a.a.c);for(b=h2(a);iX(b);){c.ff(jX(b));}}
-function fn(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();y2(b,c);}}
-function gn(e,a){var b,c,d;d=a.a.b;e.df(d);b=A2(a);while(b.kc()){c=b.sc();e.ff(c);}}
-function En(a){return a.j>2;}
-function Fn(b,a){b.i=a;}
-function ao(a,b){a.j=b;}
-function hn(){}
-_=hn.prototype=new fU();_.tN=Ffc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function kn(a){a.e=nY(new lY());}
-function ln(a){kn(a);return a;}
-function nn(b,a){rY(b.e);ao(b,io(b));Fn(b,io(b));}
-function on(a){var b,c;b=a.Bd();if(b<0){return uY(a.e,-(b+1));}c=a.cc(b);if(c===null){return null;}return a.jb(c);}
-function pn(b,a){pY(b.e,a);}
-function qn(){return on(this);}
-function jn(){}
-_=jn.prototype=new hn();_.Dd=qn;_.tN=Ffc+'AbstractSerializationStreamReader';_.tI=33;function tn(b,a){b.E(a?'1':'0');}
-function un(b,a){b.E(uV(a));}
-function vn(c,a){var b,d;if(a===null){wn(c,null);return;}b=c.wb(a);if(b>=0){un(c,-(b+1));return;}c.ge(a);d=c.Bb(a);wn(c,d);c.je(a,d);}
-function wn(a,b){un(a,a.z(b));}
-function xn(a){tn(this,a);}
-function yn(a){this.E(uV(a));}
-function zn(a){un(this,a);}
-function An(a){this.E(vV(a));}
-function Bn(a){vn(this,a);}
-function Cn(a){wn(this,a);}
-function rn(){}
-_=rn.prototype=new hn();_.bf=xn;_.cf=yn;_.df=zn;_.ef=An;_.ff=Bn;_.gf=Cn;_.tN=Ffc+'AbstractSerializationStreamWriter';_.tI=34;function co(b,a){ln(b);b.c=a;return b;}
-function fo(b,a){if(!a){return null;}return b.d[a-1];}
-function go(b,a){b.b=mo(a);b.a=no(b.b);nn(b,a);b.d=jo(b);}
-function ho(a){return !(!a.b[--a.a]);}
-function io(a){return a.b[--a.a];}
-function jo(a){return a.b[--a.a];}
-function ko(a){return fo(a,io(a));}
-function lo(b){var a;a=this.c.nc(this,b);pn(this,a);this.c.ib(this,a,b);return a;}
-function mo(a){return eval(a);}
-function no(a){return a.length;}
-function oo(a){return fo(this,a);}
-function po(){return ho(this);}
-function qo(){return this.b[--this.a];}
-function ro(){return io(this);}
-function so(){return this.b[--this.a];}
-function to(){return ko(this);}
-function bo(){}
-_=bo.prototype=new jn();_.jb=lo;_.cc=oo;_.zd=po;_.Ad=qo;_.Bd=ro;_.Cd=so;_.Ed=to;_.tN=Ffc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function vo(a){a.h=nY(new lY());}
-function wo(d,c,a,b){vo(d);d.f=c;d.b=a;d.e=b;return d;}
-function yo(c,a){var b=c.d[a];return b==null?-1:b;}
-function zo(c,a){var b=c.g[':'+a];return b==null?0:b;}
-function Ao(a){a.c=0;a.d=ib();a.g=ib();rY(a.h);a.a=qU(new pU());if(En(a)){wn(a,a.b);wn(a,a.e);}}
-function Bo(b,a,c){b.d[a]=c;}
-function Co(b,a,c){b.g[':'+a]=c;}
-function Do(b){var a;a=qU(new pU());Eo(b,a);ap(b,a);Fo(b,a);return wU(a);}
-function Eo(b,a){cp(a,uV(b.j));cp(a,uV(b.i));}
-function Fo(b,a){sU(a,wU(b.a));}
-function ap(d,a){var b,c;c=d.h.b;cp(a,uV(c));for(b=0;b<c;++b){cp(a,Fb(uY(d.h,b),1));}return a;}
-function bp(b){var a;if(b===null){return 0;}a=zo(this,b);if(a>0){return a;}pY(this.h,b);a=this.h.b;Co(this,b,a);return a;}
-function cp(a,b){sU(a,b);rU(a,65535);}
-function dp(a){cp(this.a,a);}
-function ep(a){return yo(this,AV(a));}
-function fp(a){var b,c;c=w(a);b=this.f.bc(c);if(b!==null){c+='/'+b;}return c;}
-function gp(a){Bo(this,AV(a),this.c++);}
-function hp(a,b){this.f.ie(this,a,b);}
-function ip(){return Do(this);}
-function uo(){}
-_=uo.prototype=new rn();_.z=bp;_.E=dp;_.wb=ep;_.Bb=fp;_.ge=gp;_.je=hp;_.tS=ip;_.tN=Ffc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function uN(b,a){kO(b.dc(),a,true);}
-function wN(a){return Ae(a.ub());}
-function xN(a){return Be(a.ub());}
-function yN(a){return af(a.w,'offsetHeight');}
-function zN(a){return af(a.w,'offsetWidth');}
-function AN(b,a){kO(b.dc(),a,false);}
-function BN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
-function CN(b,a){if(b.w!==null){BN(b,b.w,a);}b.w=a;}
-function DN(b,c,a){if(c>=0){b.Be(c+'px');}if(a>=0){b.qe(a+'px');}}
-function EN(b,c,a){b.Be(c);b.qe(a);}
-function FN(b,a){jO(b.dc(),a);}
-function aO(b,a){Ef(b.ub(),a|cf(b.ub()));}
-function bO(){return this.w;}
-function cO(){return yN(this);}
-function dO(){return zN(this);}
-function eO(){return this.w;}
-function fO(a){return bf(a,'className');}
-function gO(a){return a.style.display!='none';}
-function hO(a){CN(this,a);}
-function iO(a){Df(this.w,'height',a);}
-function jO(a,b){xf(a,'className',b);}
-function kO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw lU(new kU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=lV(j);if(cV(j)==0){throw aT(new FS(),'Style names cannot be empty');}i=fO(c);e=aV(i,j);while(e!=(-1)){if(e==0||zU(i,e-1)==32){f=e+cV(j);g=cV(i);if(f==g||f<g&&zU(i,f)==32){break;}}e=bV(i,j,e+1);}if(a){if(e==(-1)){if(cV(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=lV(iV(i,0,e));d=lV(hV(i,e+cV(j)));if(cV(b)==0){h=d;}else if(cV(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
-function lO(a){if(a===null||cV(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
-function mO(a,b){a.style.display=b?'':'none';}
-function nO(a){mO(this.w,a);}
-function oO(a){Df(this.w,'width',a);}
-function pO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
-function tN(){}
-_=tN.prototype=new fU();_.ub=bO;_.Cb=cO;_.Db=dO;_.dc=eO;_.me=hO;_.qe=iO;_.te=lO;_.ye=nO;_.Be=oO;_.tS=pO;_.tN=agc+'UIObject';_.tI=37;_.w=null;function BP(a){if(a.oc()){throw dT(new cT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.ub(),a);a.kb();a.fd();}
-function CP(a){if(!a.oc()){throw dT(new cT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.td();}finally{a.mb();yf(a.ub(),null);a.t=false;}}
-function DP(a){if(ac(a.v,54)){Fb(a.v,54).ee(a);}else if(a.v!==null){throw dT(new cT(),"This widget's parent does not implement HasWidgets");}}
-function EP(b,a){if(b.oc()){yf(b.ub(),null);}CN(b,a);if(b.oc()){yf(a,b);}}
-function FP(b,a){b.u=a;}
-function aQ(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.oc()){c.Bc();}c.v=null;}else{if(a!==null){throw dT(new cT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.oc()){c.uc();}}}
-function bQ(){}
-function cQ(){}
-function dQ(){return this.t;}
-function eQ(){BP(this);}
-function fQ(a){}
-function gQ(){CP(this);}
-function hQ(){}
-function iQ(){}
-function jQ(a){EP(this,a);}
-function zO(){}
-_=zO.prototype=new tN();_.kb=bQ;_.mb=cQ;_.oc=dQ;_.uc=eQ;_.wc=fQ;_.Bc=gQ;_.fd=hQ;_.td=iQ;_.me=jQ;_.tN=agc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function FD(b,a){aQ(a,b);}
-function bE(b,a){aQ(a,null);}
-function cE(){var a;a=this.qc();while(a.kc()){a.sc();a.ce();}}
-function dE(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),20);a.uc();}}
-function eE(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),20);a.Bc();}}
-function fE(){}
-function gE(){}
-function ED(){}
-_=ED.prototype=new zO();_.ab=cE;_.kb=dE;_.mb=eE;_.fd=fE;_.td=gE;_.tN=agc+'Panel';_.tI=39;function Eq(a){a.f=dP(new AO(),a);}
-function Fq(a){Eq(a);return a;}
-function ar(c,a,b){DP(a);eP(c.f,a);td(b,a.ub());FD(c,a);}
-function br(d,b,a){var c;dr(d,a);if(b.v===d){c=fr(d,b);if(c<a){a--;}}return a;}
-function cr(b,a){if(a<0||a>=b.f.c){throw new fT();}}
-function dr(b,a){if(a<0||a>b.f.c){throw new fT();}}
-function gr(b,a){return gP(b.f,a);}
-function fr(b,a){return hP(b.f,a);}
-function hr(e,b,c,a,d){a=br(e,b,a);DP(b);iP(e.f,b,a);if(d){hf(c,b.ub(),a);}else{td(c,b.ub());}FD(e,b);}
-function ir(a){return jP(a.f);}
-function jr(b,c){var a;if(c.v!==b){return false;}bE(b,c);a=c.ub();nf(ff(a),a);lP(b.f,c);return true;}
-function kr(){return ir(this);}
-function lr(a){return this.ee(gr(this,a));}
-function mr(a){return jr(this,a);}
-function Dq(){}
-_=Dq.prototype=new ED();_.qc=kr;_.de=lr;_.ee=mr;_.tN=agc+'ComplexPanel';_.tI=40;function lp(a){Fq(a);a.me(xd());Df(a.ub(),'position','relative');Df(a.ub(),'overflow','hidden');return a;}
-function mp(a,b){ar(a,b,a.ub());}
-function op(b,c){var a;a=jr(b,c);if(a){pp(c.ub());}return a;}
-function pp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
-function qp(a){return op(this,a);}
-function kp(){}
-_=kp.prototype=new Dq();_.ee=qp;_.tN=agc+'AbsolutePanel';_.tI=41;function rp(){}
-_=rp.prototype=new fU();_.tN=agc+'AbstractImagePrototype';_.tI=42;function qu(){qu=d3;uu=(jR(),nR);}
-function ou(b,a){qu();su(b,a);return b;}
-function pu(b,a){if(b.k===null){b.k=eu(new du());}pY(b.k,a);}
-function ru(b,a){switch(xe(a)){case 1:if(b.j!==null){Bq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){gu(b.k,b,a);}break;case 128:case 512:case 256:break;}}
-function su(b,a){EP(b,a);aO(b,7041);}
-function tu(a){if(this.j===null){this.j=zq(new yq());}pY(this.j,a);}
-function vu(a){ru(this,a);}
-function wu(a){su(this,a);}
-function xu(a){vf(this.ub(),'disabled',!a);}
-function yu(a){if(a){uu.rb(this.ub());}else{uu.F(this.ub());}}
-function zu(a){uu.se(this.ub(),a);}
-function nu(){}
-_=nu.prototype=new zO();_.x=tu;_.wc=vu;_.me=wu;_.ne=xu;_.oe=yu;_.re=zu;_.tN=agc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var uu;function wp(){wp=d3;qu();}
-function vp(b,a){wp();ou(b,a);return b;}
-function xp(a){Af(this.ub(),a);}
-function up(){}
-_=up.prototype=new nu();_.pe=xp;_.tN=agc+'ButtonBase';_.tI=44;function Ap(){Ap=d3;wp();}
-function yp(a){Ap();vp(a,wd());Bp(a.ub());FN(a,'gwt-Button');return a;}
-function zp(b,a){Ap();yp(b);b.pe(a);return b;}
-function Bp(b){Ap();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
-function tp(){}
-_=tp.prototype=new up();_.tN=agc+'Button';_.tI=45;function Dp(a){Fq(a);a.e=ge();a.d=de();td(a.e,a.d);a.me(a.e);return a;}
-function Fp(c,b,a){xf(b,'align',a.a);}
-function aq(c,b,a){Df(b,'verticalAlign',a.a);}
-function bq(c,a){var b;b=ff(c.ub());xf(b,'height',a);}
-function cq(b,c){var a;a=ff(b.ub());xf(a,'width',c);}
-function Cp(){}
-_=Cp.prototype=new Dq();_.ke=bq;_.le=cq;_.tN=agc+'CellPanel';_.tI=46;_.d=null;_.e=null;function gW(d,a,b){var c;while(a.kc()){c=a.sc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
-function iW(a){throw dW(new cW(),'add');}
-function jW(b){var a;a=gW(this,this.qc(),b);return a!==null;}
-function kW(){return this.Fe(yb('[Ljava.lang.Object;',[612],[12],[this.Ce()],null));}
-function lW(a){var b,c,d;d=this.Ce();if(a.a<d){a=tb(a,d);}b=0;for(c=this.qc();c.kc();){Ab(a,b++,c.sc());}if(a.a>d){Ab(a,d,null);}return a;}
-function mW(){var a,b,c;c=qU(new pU());a=null;sU(c,'[');b=this.qc();while(b.kc()){if(a!==null){sU(c,a);}else{a=', ';}sU(c,wV(b.sc()));}sU(c,']');return wU(c);}
-function fW(){}
-_=fW.prototype=new fU();_.C=iW;_.eb=jW;_.Ee=kW;_.Fe=lW;_.tS=mW;_.tN=egc+'AbstractCollection';_.tI=47;function wW(b,a){throw gT(new fT(),'Index: '+a+', Size: '+b.b);}
-function xW(b,a){throw dW(new cW(),'add');}
-function yW(a){this.B(this.Ce(),a);return true;}
-function zW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ce()!=f.Ce()){return false;}c=this.qc();d=f.qc();while(c.kc()){a=c.sc();b=d.sc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
-function AW(){var a,b,c,d;c=1;a=31;b=this.qc();while(b.kc()){d=b.sc();c=31*c+(d===null?0:d.hC());}return c;}
-function BW(){return pW(new oW(),this);}
-function CW(a){throw dW(new cW(),'remove');}
-function nW(){}
-_=nW.prototype=new fW();_.B=xW;_.C=yW;_.eQ=zW;_.hC=AW;_.qc=BW;_.de=CW;_.tN=egc+'AbstractList';_.tI=48;function mY(a){{qY(a);}}
-function nY(a){mY(a);return a;}
-function oY(c,a,b){if(a<0||a>c.b){wW(c,a);}BY(c.a,a,b);++c.b;}
-function pY(b,a){eZ(b.a,b.b++,a);return true;}
-function rY(a){qY(a);}
-function qY(a){a.a=gb();a.b=0;}
-function tY(b,a){return vY(b,a)!=(-1);}
-function uY(b,a){if(a<0||a>=b.b){wW(b,a);}return aZ(b.a,a);}
-function vY(b,a){return wY(b,a,0);}
-function wY(c,b,a){if(a<0){wW(c,a);}for(;a<c.b;++a){if(FY(b,aZ(c.a,a))){return a;}}return (-1);}
-function xY(a){return a.b==0;}
-function yY(c,a){var b;b=uY(c,a);cZ(c.a,a,1);--c.b;return b;}
-function zY(c,b){var a;a=vY(c,b);if(a==(-1)){return false;}yY(c,a);return true;}
-function AY(d,a,b){var c;c=uY(d,a);eZ(d.a,a,b);return c;}
-function CY(a,b){oY(this,a,b);}
-function DY(a){return pY(this,a);}
-function BY(a,b,c){a.splice(b,0,c);}
-function EY(a){return tY(this,a);}
-function FY(a,b){return a===b||a!==null&&a.eQ(b);}
-function bZ(a){return uY(this,a);}
-function aZ(a,b){return a[b];}
-function dZ(a){return yY(this,a);}
-function cZ(a,c,b){a.splice(c,b);}
-function eZ(a,b,c){a[b]=c;}
-function fZ(){return this.b;}
-function gZ(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,aZ(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
-function lY(){}
-_=lY.prototype=new nW();_.B=CY;_.C=DY;_.eb=EY;_.hc=bZ;_.de=dZ;_.Ce=fZ;_.Fe=gZ;_.tN=egc+'ArrayList';_.tI=49;_.a=null;_.b=0;function eq(a){nY(a);return a;}
-function gq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),41);b.yc(c);}}
-function dq(){}
-_=dq.prototype=new lY();_.tN=agc+'ChangeListenerCollection';_.tI=50;function mq(){mq=d3;wp();}
-function jq(a){mq();kq(a,Cd());FN(a,'gwt-CheckBox');return a;}
-function lq(b,a){mq();jq(b);qq(b,a);return b;}
-function kq(b,a){var c;mq();vp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.ub()));Ef(b.ub(),0);td(b.ub(),b.a);td(b.ub(),b.b);c='check'+ ++xq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
-function nq(a){return ef(a.b);}
-function oq(b){var a;a=b.oc()?'checked':'defaultChecked';return Fe(b.a,a);}
-function pq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
-function qq(b,a){Bf(b.b,a);}
-function rq(){yf(this.a,this);}
-function sq(){yf(this.a,null);pq(this,oq(this));}
-function tq(a){vf(this.a,'disabled',!a);}
-function uq(a){if(a){uu.rb(this.a);}else{uu.F(this.a);}}
-function vq(a){Af(this.b,a);}
-function wq(a){uu.se(this.a,a);}
-function iq(){}
-_=iq.prototype=new up();_.fd=rq;_.td=sq;_.ne=tq;_.oe=uq;_.pe=vq;_.re=wq;_.tN=agc+'CheckBox';_.tI=51;_.a=null;_.b=null;var xq=0;function zq(a){nY(a);return a;}
-function Bq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),42);b.zc(c);}}
-function yq(){}
-_=yq.prototype=new lY();_.tN=agc+'ClickListenerCollection';_.tI=52;function pr(a,b){if(a.k!==null){throw dT(new cT(),'Composite.initWidget() may only be called once.');}DP(b);a.me(b.ub());a.k=b;aQ(b,a);}
-function qr(){if(this.k===null){throw dT(new cT(),'initWidget() was never called in '+w(this));}return this.w;}
-function rr(){if(this.k!==null){return this.k.oc();}return false;}
-function sr(){this.k.uc();this.fd();}
-function tr(){try{this.td();}finally{this.k.Bc();}}
-function nr(){}
-_=nr.prototype=new zO();_.ub=qr;_.oc=rr;_.uc=sr;_.Bc=tr;_.tN=agc+'Composite';_.tI=53;_.k=null;function vr(a){Fq(a);a.me(xd());return a;}
-function xr(b,c){var a;a=c.ub();Df(a,'width','100%');Df(a,'height','100%');c.ye(false);}
-function yr(b,c,a){hr(b,c,b.ub(),a,true);xr(b,c);}
-function zr(b,c){var a;a=jr(b,c);if(a){Ar(b,c);if(b.b===c){b.b=null;}}return a;}
-function Ar(a,b){Df(b.ub(),'width','');Df(b.ub(),'height','');b.ye(true);}
-function Br(b,a){cr(b,a);if(b.b!==null){b.b.ye(false);}b.b=gr(b,a);b.b.ye(true);}
-function Cr(a){return zr(this,a);}
-function ur(){}
-_=ur.prototype=new Dq();_.ee=Cr;_.tN=agc+'DeckPanel';_.tI=54;_.b=null;function fH(a){gH(a,xd());return a;}
-function gH(b,a){b.me(a);return b;}
-function hH(a,b){if(a.r!==null){throw dT(new cT(),'SimplePanel can only contain one child widget');}a.Ae(b);}
-function jH(a,b){if(b===a.r){return;}if(b!==null){DP(b);}if(a.r!==null){a.ee(a.r);}a.r=b;if(b!==null){td(a.tb(),a.r.ub());FD(a,b);}}
-function kH(){return this.ub();}
-function lH(){return aH(new EG(),this);}
-function mH(a){if(this.r!==a){return false;}bE(this,a);nf(this.tb(),a.ub());this.r=null;return true;}
-function nH(a){jH(this,a);}
-function DG(){}
-_=DG.prototype=new ED();_.tb=kH;_.qc=lH;_.ee=mH;_.Ae=nH;_.tN=agc+'SimplePanel';_.tI=55;_.r=null;function pE(){pE=d3;FE=new xR();}
-function lE(a){pE();gH(a,zR(FE));wE(a,0,0);return a;}
-function mE(b,a){pE();lE(b);b.k=a;return b;}
-function nE(c,a,b){pE();mE(c,a);c.o=b;return c;}
-function oE(b,a){if(a.blur){a.blur();}}
-function qE(a){return a.ub();}
-function rE(a){return zN(a);}
-function sE(a){tE(a,false);}
-function tE(b,a){if(!b.p){return;}b.p=false;op(tG(),b);b.ub();}
-function uE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.qe(a.l);}if(a.m!==null){b.Be(a.m);}}}
-function vE(e,b){var a,c,d,f;d=ve(b);c=kf(e.ub(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){tE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){oE(e,d);return false;}}}return !e.o||c;}
-function wE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.ub();Df(a,'left',b+'px');Df(a,'top',d+'px');}
-function xE(a,b){jH(a,b);uE(a);}
-function yE(a,b){a.m=b;uE(a);if(cV(b)==0){a.m=null;}}
-function zE(a){if(a.p){return;}a.p=true;sd(a);Df(a.ub(),'position','absolute');if(a.q!=(-1)){wE(a,a.n,a.q);}mp(tG(),a);a.ub();}
-function AE(){return qE(this);}
-function BE(){return yN(this);}
-function CE(){return rE(this);}
-function DE(){return this.ub();}
-function EE(){sE(this);}
-function aF(){pf(this);CP(this);}
-function bF(a){return vE(this,a);}
-function cF(a){this.l=a;uE(this);if(cV(a)==0){this.l=null;}}
-function dF(b){var a;a=qE(this);if(b===null||cV(b)==0){of(a,'title');}else{uf(a,'title',b);}}
-function eF(a){Df(this.ub(),'visibility',a?'visible':'hidden');this.ub();}
-function fF(a){xE(this,a);}
-function gF(a){yE(this,a);}
-function kE(){}
-_=kE.prototype=new DG();_.tb=AE;_.Cb=BE;_.Db=CE;_.dc=DE;_.lc=EE;_.Bc=aF;_.Cc=bF;_.qe=cF;_.te=dF;_.ye=eF;_.Ae=fF;_.Be=gF;_.tN=agc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var FE;function cs(){cs=d3;pE();}
-function Er(a){a.e=mz(new qw());a.j=ut(new ot());}
-function Fr(a){cs();as(a,false);return a;}
-function as(b,a){cs();bs(b,a,true);return b;}
-function bs(c,a,b){cs();nE(c,a,b);Er(c);c.j.ze(0,0,c.e);c.j.qe('100%');Ay(c.j,0);Cy(c.j,0);Dy(c.j,0);fx(c.j.n,1,0,'100%');kx(c.j.n,1,0,'100%');ex(c.j.n,1,0,(xz(),yz),(aA(),cA));xE(c,c.j);FN(c,'gwt-DialogBox');FN(c.e,'Caption');hC(c.e,c);return c;}
-function ds(b,a){qz(b.e,a);}
-function es(b,a){kC(b.e,a);}
-function fs(a,b){if(a.f!==null){zy(a.j,a.f);}if(b!==null){a.j.ze(1,0,b);}a.f=b;}
-function gs(a){if(xe(a)==4){if(kf(this.e.ub(),ve(a))){ye(a);}}return vE(this,a);}
-function hs(a,b,c){this.i=true;tf(this.e.ub());this.g=b;this.h=c;}
-function is(a){}
-function js(a){}
-function ks(c,d,e){var a,b;if(this.i){a=d+wN(this);b=e+xN(this);wE(this,a-this.g,b-this.h);}}
-function ls(a,b,c){this.i=false;mf(this.e.ub());}
-function ms(a){if(this.f!==a){return false;}zy(this.j,a);return true;}
-function ns(a){fs(this,a);}
-function os(a){yE(this,a);this.j.Be('100%');}
-function Dr(){}
-_=Dr.prototype=new kE();_.Cc=gs;_.hd=hs;_.id=is;_.jd=js;_.kd=ks;_.ld=ls;_.ee=ms;_.Ae=ns;_.Be=os;_.tN=agc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function As(){As=d3;at=new qs();bt=new qs();ct=new qs();dt=new qs();et=new qs();}
-function xs(a){a.b=(xz(),zz);a.c=(aA(),dA);}
-function ys(a){As();Dp(a);xs(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
-function zs(c,d,a){var b;if(a===at){if(d===c.a){return;}else if(c.a!==null){throw aT(new FS(),'Only one CENTER widget may be added');}}DP(d);eP(c.f,d);if(a===at){c.a=d;}b=ts(new ss(),a);FP(d,b);Ds(c,d,c.b);Es(c,d,c.c);Bs(c);FD(c,d);}
-function Bs(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=jP(p.f);EO(h);){c=FO(h);e=c.u.a;if(e===ct||e===dt){++l;}else if(e===bt||e===et){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[634],[33],[l],null);for(g=0;g<l;++g){m[g]=new vs();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=jP(p.f);EO(h);){c=FO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===ct){hf(m[j].b,o,m[j].a);td(o,c.ub());wf(o,'colSpan',f-q+1);++j;}else if(i.a===dt){hf(m[n].b,o,m[n].a);td(o,c.ub());wf(o,'colSpan',f-q+1);--n;}else if(i.a===et){k=m[j];hf(k.b,o,k.a++);td(o,c.ub());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===bt){k=m[j];hf(k.b,o,k.a);td(o,c.ub());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===at){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.ub());}}
-function Cs(b,c){var a;a=jr(b,c);if(a){if(c===b.a){b.a=null;}Bs(b);}return a;}
-function Ds(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
-function Es(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
-function Fs(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
-function ft(a){return Cs(this,a);}
-function gt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
-function ht(a,b){Fs(this,a,b);}
-function ps(){}
-_=ps.prototype=new Cp();_.ee=ft;_.ke=gt;_.le=ht;_.tN=agc+'DockPanel';_.tI=58;_.a=null;var at,bt,ct,dt,et;function qs(){}
-_=qs.prototype=new fU();_.tN=agc+'DockPanel$DockLayoutConstant';_.tI=59;function ts(b,a){b.a=a;return b;}
-function ss(){}
-_=ss.prototype=new fU();_.tN=agc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function vs(){}
-_=vs.prototype=new fU();_.tN=agc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function jt(a){a.me(yd('input'));xf(a.ub(),'type','file');FN(a,'gwt-FileUpload');return a;}
-function lt(a){return bf(a.ub(),'value');}
-function mt(b,a){xf(b.ub(),'name',a);}
-function it(){}
-_=it.prototype=new zO();_.tN=agc+'FileUpload';_.tI=62;function ey(a){a.s=Ax(new vx());}
-function fy(a){ey(a);a.q=ge();a.m=de();td(a.q,a.m);a.me(a.q);aO(a,1);return a;}
-function gy(b,a){if(b.r===null){b.r=kK(new jK());}pY(b.r,a);}
-function hy(d,c,b){var a;iy(d,c);if(b<0){throw gT(new fT(),'Column '+b+' must be non-negative: '+b);}a=d.sb(c);if(a<=b){throw gT(new fT(),'Column index: '+b+', Column size: '+d.sb(c));}}
-function iy(c,a){var b;b=c.Fb();if(a>=b||a<0){throw gT(new fT(),'Row index: '+a+', Row size: '+b);}}
-function jy(e,c,b,a){var d;d=bx(e.n,c,b);wy(e,d,a);return d;}
-function ky(d){var a,b,c;for(c=0;c<d.Fb();++c){for(b=0;b<d.sb(c);++b){a=sy(d,c,b);if(a!==null){zy(d,a);}}}}
-function my(a){return ee();}
-function ny(c,b,a){return b.rows[a].cells.length;}
-function oy(a){return py(a,a.m);}
-function py(b,a){return a.rows.length;}
-function qy(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(DU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
-function ry(d,c,a){var b;hy(d,c,a);b=ax(d.n,c,a);return ef(b);}
-function ty(c,b,a){hy(c,b,a);return sy(c,b,a);}
-function sy(e,d,b){var a,c;c=bx(e.n,d,b);a=df(c);if(a===null){return null;}else{return Cx(e.s,a);}}
-function uy(d,b,a){var c,e;e=tx(d.p,d.m,b);c=d.fb();hf(e,c,a);}
-function vy(b,a){var c;if(a!=yt(b)){iy(b,a);}c=fe();hf(b.m,c,a);return a;}
-function wy(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=Cx(d.s,b);}if(e!==null){zy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
-function zy(b,c){var a;if(c.v!==b){return false;}bE(b,c);a=c.ub();nf(ff(a),a);Fx(b.s,a);return true;}
-function xy(d,b,a){var c,e;hy(d,b,a);c=jy(d,b,a,false);e=tx(d.p,d.m,b);nf(e,c);}
-function yy(d,c){var a,b;b=d.sb(c);for(a=0;a<b;++a){jy(d,c,a,false);}nf(d.m,tx(d.p,d.m,c));}
-function Ay(a,b){xf(a.q,'border',''+b);}
-function By(b,a){b.n=a;}
-function Cy(b,a){wf(b.q,'cellPadding',a);}
-function Dy(b,a){wf(b.q,'cellSpacing',a);}
-function Ey(b,a){b.o=a;ox(b.o);}
-function Fy(e,c,a,b){var d;fw(e,c,a);d=jy(e,c,a,b===null);if(b!==null){Af(d,b);}}
-function az(b,a){b.p=a;}
-function bz(e,b,a,d){var c;e.xd(b,a);c=jy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
-function cz(d,b,a,e){var c;d.xd(b,a);if(e!==null){DP(e);c=jy(d,b,a,true);Dx(d.s,e);td(c,e.ub());FD(d,e);}}
-function dz(){ky(this);}
-function ez(){return my(this);}
-function fz(b,a){uy(this,b,a);}
-function gz(){return ay(this.s);}
-function hz(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=qy(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);mK(this.r,this,d,b);}break;}default:}}
-function kz(a){return zy(this,a);}
-function iz(b,a){xy(this,b,a);}
-function jz(a){yy(this,a);}
-function lz(b,a,c){cz(this,b,a,c);}
-function rw(){}
-_=rw.prototype=new ED();_.ab=dz;_.fb=ez;_.mc=fz;_.qc=gz;_.wc=hz;_.ee=kz;_.Fd=iz;_.be=jz;_.ze=lz;_.tN=agc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function ut(a){fy(a);By(a,qt(new pt(),a));az(a,qx(new px(),a));Ey(a,mx(new lx(),a));return a;}
-function wt(b,a){iy(b,a);return ny(b,b.m,a);}
-function xt(a){return Fb(a.n,43);}
-function yt(a){return oy(a);}
-function zt(b,a){return vy(b,a);}
-function At(d,b){var a,c;if(b<0){throw gT(new fT(),'Cannot create a row with a negative index: '+b);}c=yt(d);for(a=c;a<=b;a++){zt(d,a);}}
-function Bt(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
-function Ct(a){return wt(this,a);}
-function Dt(){return yt(this);}
-function Et(b,a){uy(this,b,a);}
-function Ft(d,b){var a,c;At(this,d);if(b<0){throw gT(new fT(),'Cannot create a column with a negative index: '+b);}a=wt(this,d);c=b+1-a;if(c>0){Bt(this.m,d,c);}}
-function au(a){At(this,a);}
-function bu(b,a){xy(this,b,a);}
-function cu(a){yy(this,a);}
-function ot(){}
-_=ot.prototype=new rw();_.sb=Ct;_.Fb=Dt;_.mc=Et;_.xd=Ft;_.yd=au;_.Fd=bu;_.be=cu;_.tN=agc+'FlexTable';_.tI=64;function Cw(b,a){b.a=a;return b;}
-function Ew(c,b,a){c.a.xd(b,a);return Fw(c,c.a.m,b,a);}
-function Fw(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
-function ax(c,b,a){hy(c.a,b,a);return Fw(c,c.a.m,b,a);}
-function bx(c,b,a){return Fw(c,c.a.m,b,a);}
-function cx(d,c,a){var b;b=ax(d,c,a);return gO(b);}
-function dx(e,b,a,c){var d;hy(e.a,b,a);d=Fw(e,e.a.m,b,a);kO(d,c,false);}
-function ex(d,c,a,b,e){gx(d,c,a,b);ix(d,c,a,e);}
-function fx(e,d,a,c){var b;e.a.xd(d,a);b=Fw(e,e.a.m,d,a);xf(b,'height',c);}
-function gx(e,d,b,a){var c;e.a.xd(d,b);c=Fw(e,e.a.m,d,b);xf(c,'align',a.a);}
-function hx(d,b,a,c){d.a.xd(b,a);jO(Fw(d,d.a.m,b,a),c);}
-function ix(d,c,b,a){d.a.xd(c,b);Df(Fw(d,d.a.m,c,b),'verticalAlign',a.a);}
-function jx(d,c,a,e){var b;b=Ew(d,c,a);mO(b,e);}
-function kx(c,b,a,d){c.a.xd(b,a);xf(Fw(c,c.a.m,b,a),'width',d);}
-function Bw(){}
-_=Bw.prototype=new fU();_.tN=agc+'HTMLTable$CellFormatter';_.tI=65;function qt(b,a){Cw(b,a);return b;}
-function st(d,c,b,a){wf(Ew(d,c,b),'colSpan',a);}
-function tt(d,b,a,c){wf(Ew(d,b,a),'rowSpan',c);}
-function pt(){}
-_=pt.prototype=new Bw();_.tN=agc+'FlexTable$FlexCellFormatter';_.tI=66;function eu(a){nY(a);return a;}
-function hu(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.Ec(c);}}
-function gu(c,b,a){switch(xe(a)){case 2048:hu(c,b);break;case 4096:iu(c,b);break;}}
-function iu(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.gd(c);}}
-function du(){}
-_=du.prototype=new lY();_.tN=agc+'FocusListenerCollection';_.tI=67;function lu(){lu=d3;mu=(jR(),mR);}
-var mu;function Bu(a){nY(a);return a;}
-function Du(f,e,d){var a,b,c;a=xv(new wv(),e,d);for(c=f.qc();c.kc();){b=Fb(c.sc(),45);b.nd(a);}}
-function Eu(e,d){var a,b,c;a=new zv();for(c=e.qc();c.kc();){b=Fb(c.sc(),45);b.od(a);}return a.a;}
-function Au(){}
-_=Au.prototype=new lY();_.tN=agc+'FormHandlerCollection';_.tI=68;function hv(){hv=d3;rv=new pR();}
-function fv(a){hv();gH(a,zd());a.b='FormPanel_'+ ++qv;ov(a,a.b);aO(a,32768);return a;}
-function gv(b,a){if(b.a===null){b.a=Bu(new Au());}pY(b.a,a);}
-function iv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
-function jv(a){if(a.a!==null){return !Eu(a.a,a);}return true;}
-function kv(a){if(a.a!==null){eg(cv(new bv(),a));}}
-function lv(a,b){xf(a.ub(),'action',b);}
-function mv(b,a){uR(rv,b.ub(),a);}
-function nv(b,a){xf(b.ub(),'method',a);}
-function ov(b,a){xf(b.ub(),'target',a);}
-function pv(a){if(a.a!==null){if(Eu(a.a,a)){return;}}vR(rv,a.ub(),a.c);}
-function sv(){BP(this);iv(this);td(sG(),this.c);tR(rv,this.c,this.ub(),this);}
-function tv(){CP(this);wR(rv,this.c,this.ub());nf(sG(),this.c);this.c=null;}
-function uv(){var a;a=x;{return jv(this);}}
-function vv(){var a;a=x;{kv(this);}}
-function av(){}
-_=av.prototype=new DG();_.uc=sv;_.Bc=tv;_.Fc=uv;_.ad=vv;_.tN=agc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var qv=0,rv;function cv(b,a){b.a=a;return b;}
-function ev(){Du(this.a.a,this,sR((hv(),rv),this.a.c));}
-function bv(){}
-_=bv.prototype=new fU();_.pb=ev;_.tN=agc+'FormPanel$1';_.tI=70;function m0(){}
-_=m0.prototype=new fU();_.tN=egc+'EventObject';_.tI=71;function xv(c,b,a){c.a=a;return c;}
-function wv(){}
-_=wv.prototype=new m0();_.tN=agc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function Bv(b,a){b.a=a;}
-function zv(){}
-_=zv.prototype=new m0();_.tN=agc+'FormSubmitEvent';_.tI=73;_.a=false;function Dv(a){a.me(Ad());return a;}
-function Ev(a,b){Dv(a);aw(a,b);return a;}
-function aw(a,b){xf(a.ub(),'src',b);}
-function Cv(){}
-_=Cv.prototype=new zO();_.tN=agc+'Frame';_.tI=74;function cw(a){fy(a);By(a,Cw(new Bw(),a));az(a,qx(new px(),a));Ey(a,mx(new lx(),a));return a;}
-function dw(c,b,a){cw(c);jw(c,b,a);return c;}
-function fw(c,b,a){gw(c,b);if(a<0){throw gT(new fT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw gT(new fT(),'Column index: '+a+', Column size: '+c.k);}}
-function gw(b,a){if(a<0){throw gT(new fT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw gT(new fT(),'Row index: '+a+', Row size: '+b.l);}}
-function jw(c,b,a){hw(c,a);iw(c,b);}
-function hw(d,a){var b,c;if(d.k==a){return;}if(a<0){throw gT(new fT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Fd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.mc(b,c);}}}d.k=a;}
-function iw(b,a){if(b.l==a){return;}if(a<0){throw gT(new fT(),'Cannot set number of rows to '+a);}if(b.l<a){kw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.be(--b.l);}}}
-function kw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
-function lw(){var a;a=my(this);Af(a,'&nbsp;');return a;}
-function mw(a){return this.k;}
-function nw(){return this.l;}
-function ow(b,a){fw(this,b,a);}
-function pw(a){gw(this,a);}
-function bw(){}
-_=bw.prototype=new rw();_.fb=lw;_.sb=mw;_.Fb=nw;_.xd=ow;_.yd=pw;_.tN=agc+'Grid';_.tI=75;_.k=0;_.l=0;function eC(a){a.me(xd());aO(a,131197);FN(a,'gwt-Label');return a;}
-function fC(b,a){eC(b);kC(b,a);return b;}
-function gC(b,a){if(b.a===null){b.a=zq(new yq());}pY(b.a,a);}
-function hC(b,a){if(b.b===null){b.b=lD(new kD());}pY(b.b,a);}
-function jC(a){return ef(a.ub());}
-function kC(b,a){Bf(b.ub(),a);}
-function lC(a,b){Df(a.ub(),'whiteSpace',b?'normal':'nowrap');}
-function mC(a){switch(xe(a)){case 1:if(this.a!==null){Bq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){pD(this.b,this,a);}break;case 131072:break;}}
-function dC(){}
-_=dC.prototype=new zO();_.wc=mC;_.tN=agc+'Label';_.tI=76;_.a=null;_.b=null;function mz(a){eC(a);a.me(xd());aO(a,125);FN(a,'gwt-HTML');return a;}
-function nz(b,a){mz(b);qz(b,a);return b;}
-function oz(b,a,c){nz(b,a);lC(b,c);return b;}
-function qz(b,a){Af(b.ub(),a);}
-function qw(){}
-_=qw.prototype=new dC();_.tN=agc+'HTML';_.tI=77;function tw(a){{ww(a);}}
-function uw(b,a){b.c=a;tw(b);return b;}
-function ww(a){while(++a.b<a.c.b.b){if(uY(a.c.b,a.b)!==null){return;}}}
-function xw(a){return a.b<a.c.b.b;}
-function yw(){return xw(this);}
-function zw(){var a;if(!xw(this)){throw new r2();}a=uY(this.c.b,this.b);this.a=this.b;ww(this);return a;}
-function Aw(){var a;if(this.a<0){throw new cT();}a=Fb(uY(this.c.b,this.a),20);DP(a);this.a=(-1);}
-function sw(){}
-_=sw.prototype=new fU();_.kc=yw;_.sc=zw;_.ce=Aw;_.tN=agc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function mx(b,a){b.b=a;return b;}
-function ox(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
-function lx(){}
-_=lx.prototype=new fU();_.tN=agc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function qx(b,a){b.a=a;return b;}
-function sx(b,a){b.a.yd(a);return tx(b,b.a.m,a);}
-function tx(c,a,b){return a.rows[b];}
-function ux(c,a,b){jO(sx(c,a),b);}
-function px(){}
-_=px.prototype=new fU();_.tN=agc+'HTMLTable$RowFormatter';_.tI=80;function zx(a){a.b=nY(new lY());}
-function Ax(a){zx(a);return a;}
-function Cx(c,a){var b;b=cy(a);if(b<0){return null;}return Fb(uY(c.b,b),20);}
-function Dx(b,c){var a;if(b.a===null){a=b.b.b;pY(b.b,c);}else{a=b.a.a;AY(b.b,a,c);b.a=b.a.b;}dy(c.ub(),a);}
-function Ex(c,a,b){by(a);AY(c.b,b,null);c.a=xx(new wx(),b,c.a);}
-function Fx(c,a){var b;b=cy(a);Ex(c,a,b);}
-function ay(a){return uw(new sw(),a);}
-function by(a){a['__widgetID']=null;}
-function cy(a){var b=a['__widgetID'];return b==null?-1:b;}
-function dy(a,b){a['__widgetID']=b;}
-function vx(){}
-_=vx.prototype=new fU();_.tN=agc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function xx(c,a,b){c.a=a;c.b=b;return c;}
-function wx(){}
-_=wx.prototype=new fU();_.tN=agc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function xz(){xz=d3;yz=vz(new uz(),'center');zz=vz(new uz(),'left');Az=vz(new uz(),'right');}
-var yz,zz,Az;function vz(b,a){b.a=a;return b;}
-function uz(){}
-_=uz.prototype=new fU();_.tN=agc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function aA(){aA=d3;bA=Ez(new Dz(),'bottom');cA=Ez(new Dz(),'middle');dA=Ez(new Dz(),'top');}
-var bA,cA,dA;function Ez(a,b){a.a=b;return a;}
-function Dz(){}
-_=Dz.prototype=new fU();_.tN=agc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function hA(a){a.a=(xz(),zz);a.c=(aA(),dA);}
-function iA(a){Dp(a);hA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function jA(b,c){var a;a=lA(b);td(b.b,a);ar(b,c,a);}
-function lA(b){var a;a=ee();Fp(b,a,b.a);aq(b,a,b.c);return a;}
-function mA(c,d,a){var b;dr(c,a);b=lA(c);hf(c.b,b,a);hr(c,d,b,a,false);}
-function nA(c,d){var a,b;b=ff(d.ub());a=jr(c,d);if(a){nf(c.b,b);}return a;}
-function oA(b,a){b.c=a;}
-function pA(a){return nA(this,a);}
-function gA(){}
-_=gA.prototype=new Cp();_.ee=pA;_.tN=agc+'HorizontalPanel';_.tI=85;_.b=null;function rA(a){a.me(xd());td(a.ub(),a.a=vd());aO(a,1);FN(a,'gwt-Hyperlink');return a;}
-function sA(c,b,a){rA(c);vA(c,b);uA(c,a);return c;}
-function uA(b,a){b.b=a;xf(b.a,'href','#'+a);}
-function vA(b,a){Bf(b.a,a);}
-function wA(a){if(xe(a)==1){ah(this.b);ye(a);}}
-function qA(){}
-_=qA.prototype=new zO();_.wc=wA;_.tN=agc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function qB(){qB=d3;k1(new o0());}
-function mB(a){qB();pB(a,fB(new eB(),a));FN(a,'gwt-Image');return a;}
-function nB(a,b){qB();pB(a,gB(new eB(),a,b));FN(a,'gwt-Image');return a;}
-function oB(b,a){if(b.a===null){b.a=zq(new yq());}pY(b.a,a);}
-function pB(b,a){b.b=a;}
-function sB(a,b){a.b.ve(a,b);}
-function rB(c,e,b,d,f,a){c.b.ue(c,e,b,d,f,a);}
-function tB(a){switch(xe(a)){case 1:{if(this.a!==null){Bq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
-function xA(){}
-_=xA.prototype=new zO();_.wc=tB;_.tN=agc+'Image';_.tI=87;_.a=null;_.b=null;function AA(){}
-function yA(){}
-_=yA.prototype=new fU();_.pb=AA;_.tN=agc+'Image$1';_.tI=88;function cB(){}
-_=cB.prototype=new fU();_.tN=agc+'Image$State';_.tI=89;function DA(){DA=d3;FA=new kQ();}
-function CA(d,b,f,c,e,g,a){DA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.me(nQ(FA,f,c,e,g,a));aO(b,131197);EA(d,b);return d;}
-function EA(b,a){eg(new yA());}
-function bB(a,b){pB(a,gB(new eB(),a,b));}
-function aB(b,e,c,d,f,a){if(!EU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;lQ(FA,b.ub(),e,c,d,f,a);EA(this,b);}}
-function BA(){}
-_=BA.prototype=new cB();_.ve=bB;_.ue=aB;_.tN=agc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var FA;function fB(b,a){a.me(Bd());aO(a,229501);return b;}
-function gB(b,a,c){fB(b,a);iB(b,a,c);return b;}
-function iB(b,a,c){zf(a.ub(),c);}
-function kB(a,b){iB(this,a,b);}
-function jB(b,e,c,d,f,a){pB(b,CA(new BA(),b,e,c,d,f,a));}
-function eB(){}
-_=eB.prototype=new cB();_.ve=kB;_.ue=jB;_.tN=agc+'Image$UnclippedState';_.tI=91;function xB(c,a,b){}
-function yB(c,a,b){}
-function zB(c,a,b){}
-function vB(){}
-_=vB.prototype=new fU();_.cd=xB;_.dd=yB;_.ed=zB;_.tN=agc+'KeyboardListenerAdapter';_.tI=92;function BB(a){nY(a);return a;}
-function DB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.cd(e,b,d);}}
-function EB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.dd(e,b,d);}}
-function FB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.ed(e,b,d);}}
-function aC(d,c,a){var b;b=bC(a);switch(xe(a)){case 128:DB(d,c,bc(se(a)),b);break;case 512:FB(d,c,bc(se(a)),b);break;case 256:EB(d,c,bc(se(a)),b);break;}}
-function bC(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
-function AB(){}
-_=AB.prototype=new lY();_.tN=agc+'KeyboardListenerCollection';_.tI=93;function EC(){EC=d3;qu();iD=new pC();}
-function xC(a){EC();yC(a,false);return a;}
-function yC(b,a){EC();ou(b,be(a));aO(b,1024);FN(b,'gwt-ListBox');return b;}
-function zC(b,a){if(b.b===null){b.b=eq(new dq());}pY(b.b,a);}
-function AC(b,a){dD(b,a,(-1));}
-function BC(b,a,c){eD(b,a,c,(-1));}
-function CC(b,a){if(a<0||a>=FC(b)){throw new fT();}}
-function DC(a){qC(iD,a.ub());}
-function FC(a){return sC(iD,a.ub());}
-function aD(b,a){CC(b,a);return tC(iD,b.ub(),a);}
-function bD(a){return af(a.ub(),'selectedIndex');}
-function cD(b,a){CC(b,a);return uC(iD,b.ub(),a);}
-function dD(c,b,a){eD(c,b,b,a);}
-function eD(c,b,d,a){jf(c.ub(),b,d,a);}
-function fD(b,a){CC(b,a);vC(iD,b.ub(),a);}
-function gD(b,a){wf(b.ub(),'selectedIndex',a);}
-function hD(a,b){wf(a.ub(),'size',b);}
-function jD(a){if(xe(a)==1024){if(this.b!==null){gq(this.b,this);}}else{ru(this,a);}}
-function nC(){}
-_=nC.prototype=new nu();_.wc=jD;_.tN=agc+'ListBox';_.tI=94;_.b=null;var iD;function oC(){}
-_=oC.prototype=new fU();_.tN=agc+'ListBox$Impl';_.tI=95;function qC(b,a){a.innerText='';}
-function sC(b,a){return a.children.length;}
-function tC(c,b,a){return b.children[a].text;}
-function uC(c,b,a){return b.children[a].value;}
-function vC(c,b,a){b.removeChild(b.children[a]);}
-function pC(){}
-_=pC.prototype=new oC();_.tN=agc+'ListBox$ImplSafari';_.tI=96;function lD(a){nY(a);return a;}
-function nD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.hd(c,e,f);}}
-function oD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.id(c);}}
-function pD(e,c,a){var b,d,f,g,h;d=c.ub();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:nD(e,c,g,h);break;case 8:sD(e,c,g,h);break;case 64:rD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){oD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){qD(e,c);}break;}}
-function qD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.jd(c);}}
-function rD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.kd(c,e,f);}}
-function sD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.ld(c,e,f);}}
-function kD(){}
-_=kD.prototype=new lY();_.tN=agc+'MouseListenerCollection';_.tI=97;function uD(){}
-_=uD.prototype=new fU();_.tN=agc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=98;_.a=null;_.b=null;function yD(b,a){CD(a,b.Ed());DD(a,b.Ed());}
-function zD(a){return a.a;}
-function AD(a){return a.b;}
-function BD(b,a){b.gf(zD(a));b.gf(AD(a));}
-function CD(a,b){a.a=b;}
-function DD(a,b){a.b=b;}
-function BK(){BK=d3;qu();cL=new AR();}
-function xK(b,a){BK();ou(b,a);aO(b,1024);return b;}
-function yK(b,a){if(b.f===null){b.f=eq(new dq());}pY(b.f,a);}
-function zK(b,a){if(b.i===null){b.i=BB(new AB());}pY(b.i,a);}
-function AK(a){if(a.h!==null){ye(a.h);}}
-function CK(a){return bf(a.ub(),'value');}
-function DK(b,a){FK(b,a,0);}
-function EK(b,a){xf(b.ub(),'name',a);}
-function FK(c,b,a){if(a<0){throw gT(new fT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>cV(CK(c))){throw gT(new fT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+cV(CK(c)));}ER(cL,c.ub(),b,a);}
-function aL(b,a){xf(b.ub(),'value',a!==null?a:'');}
-function bL(a){if(this.g===null){this.g=zq(new yq());}pY(this.g,a);}
-function dL(a){var b;ru(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;aC(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){Bq(this.g,this);}}else if(b==1024){if(this.f!==null){gq(this.f,this);}}}
-function wK(){}
-_=wK.prototype=new nu();_.x=bL;_.wc=dL;_.tN=agc+'TextBoxBase';_.tI=99;_.f=null;_.g=null;_.h=null;_.i=null;var cL;function jE(){jE=d3;BK();}
-function iE(a){jE();xK(a,Dd());FN(a,'gwt-PasswordTextBox');return a;}
-function hE(){}
-_=hE.prototype=new wK();_.tN=agc+'PasswordTextBox';_.tI=100;function uF(b,a){vF(b,a,null);return b;}
-function vF(c,a,b){c.a=a;xF(c);return c;}
-function wF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=dG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=dG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=aG(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
-function xF(a){a.b=0;a.c={};a.d={};}
-function zF(b,a){return tY(AF(b,a,1),a);}
-function AF(c,b,a){var d;d=nY(new lY());if(b!==null&&a>0){CF(c,b,'',d,a);}return d;}
-function BF(a){return jF(new iF(),a);}
-function CF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=dG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+gG(a);h.De(f,l,c,b);}}else{for(j in k){var l=d+gG(j);if(l.indexOf(f)==0){c.C(l);}if(c.Ce()>=b){return;}}for(var a in i){var l=d+gG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ce()||h.b==1){h.nb(c,l);}else{for(var j in h.d){c.C(l+gG(j));}for(var g in h.c){c.C(l+gG(g)+'...');}}}}}}
-function DF(a){if(ac(a,1)){return wF(this,Fb(a,1));}else{throw dW(new cW(),'Cannot add non-Strings to PrefixTree');}}
-function EF(a){return wF(this,a);}
-function FF(a){if(ac(a,1)){return zF(this,Fb(a,1));}else{return false;}}
-function aG(a){return uF(new hF(),a);}
-function bG(b,c){var a;for(a=BF(this);mF(a);){b.C(c+Fb(pF(a),1));}}
-function cG(){return BF(this);}
-function dG(a){return Eb(58)+a;}
-function eG(){return this.b;}
-function fG(d,c,b,a){CF(this,d,c,b,a);}
-function gG(a){return hV(a,1);}
-function hF(){}
-_=hF.prototype=new fW();_.C=DF;_.D=EF;_.eb=FF;_.nb=bG;_.qc=cG;_.Ce=eG;_.De=fG;_.tN=agc+'PrefixTree';_.tI=101;_.a=0;_.b=0;_.c=null;_.d=null;function jF(a,b){nF(a);kF(a,b,'');return a;}
-function kF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
-function mF(a){return oF(a,true)!==null;}
-function nF(a){a.a=[];}
-function pF(a){var b;b=oF(a,false);if(b===null){if(!mF(a)){throw s2(new r2(),'No more elements in the iterator');}else{throw lU(new kU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
-function oF(g,b){var d=g.a;var c=dG;var i=gG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
-function qF(b,a){kF(this,b,a);}
-function rF(){return mF(this);}
-function sF(){return pF(this);}
-function tF(){throw dW(new cW(),'PrefixTree does not support removal.  Use clear()');}
-function iF(){}
-_=iF.prototype=new fU();_.A=qF;_.kc=rF;_.sc=sF;_.ce=tF;_.tN=agc+'PrefixTree$PrefixTreeIterator';_.tI=102;_.a=null;function kG(){kG=d3;mq();}
-function iG(b,a){kG();kq(b,Ed(a));FN(b,'gwt-RadioButton');return b;}
-function jG(c,b,a){kG();iG(c,b);qq(c,a);return c;}
-function hG(){}
-_=hG.prototype=new iq();_.tN=agc+'RadioButton';_.tI=103;function rG(){rG=d3;wG=k1(new o0());}
-function qG(b,a){rG();lp(b);if(a===null){a=sG();}b.me(a);b.uc();return b;}
-function tG(){rG();return uG(null);}
-function uG(c){rG();var a,b;b=Fb(q1(wG,c),48);if(b!==null){return b;}a=null;if(wG.c==0){vG();}r1(wG,c,b=qG(new lG(),a));return b;}
-function sG(){rG();return $doc.body;}
-function vG(){rG();yh(new mG());}
-function lG(){}
-_=lG.prototype=new kp();_.tN=agc+'RootPanel';_.tI=104;var wG;function oG(){var a,b;for(b=qX(FX((rG(),wG)));xX(b);){a=Fb(yX(b),48);if(a.oc()){a.Bc();}}}
-function pG(){return null;}
-function mG(){}
-_=mG.prototype=new fU();_.ud=oG;_.vd=pG;_.tN=agc+'RootPanel$1';_.tI=105;function yG(a){fH(a);BG(a,false);aO(a,16384);return a;}
-function zG(b,a){yG(b);b.Ae(a);return b;}
-function BG(b,a){Df(b.ub(),'overflow',a?'scroll':'auto');}
-function CG(a){xe(a)==16384;}
-function xG(){}
-_=xG.prototype=new DG();_.wc=CG;_.tN=agc+'ScrollPanel';_.tI=106;function FG(a){a.a=a.c.r!==null;}
-function aH(b,a){b.c=a;FG(b);return b;}
-function cH(){return this.a;}
-function dH(){if(!this.a||this.c.r===null){throw new r2();}this.a=false;return this.b=this.c.r;}
-function eH(){if(this.b!==null){this.c.ee(this.b);}}
-function EG(){}
-_=EG.prototype=new fU();_.kc=cH;_.sc=dH;_.ce=eH;_.tN=agc+'SimplePanel$1';_.tI=107;_.b=null;function BH(b){var a;Fq(b);a=ge();b.me(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);FN(b,'gwt-StackPanel');return b;}
-function CH(a,b){aI(a,b,a.f.c);}
-function DH(c,d,b,a){CH(c,d);cI(c,c.f.c-1,b,a);}
-function FH(d,a){var b,c;while(a!==null&& !ud(a,d.ub())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return mT(b);}else{return (-1);}}a=ff(a);}return (-1);}
-function aI(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=br(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);kO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');hr(e,h,c,a,false);fI(e,a);if(e.b==(-1)){eI(e,0);}else{dI(e,a,false);if(e.b>=a){++e.b;}}}
-function bI(e,a,b){var c,d,f;c=jr(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}fI(e,d);}return c;}
-function cI(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
-function dI(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);kO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);mO(d,e);gr(c,a).ye(e);}
-function eI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){dI(b,b.b,false);}b.b=a;dI(b,b.b,true);}
-function fI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
-function gI(a){var b,c;if(xe(a)==1){c=ve(a);b=FH(this,c);if(b!=(-1)){eI(this,b);}}}
-function hI(a){return bI(this,gr(this,a),a);}
-function iI(a){return bI(this,a,fr(this,a));}
-function AH(){}
-_=AH.prototype=new Dq();_.wc=gI;_.de=hI;_.ee=iI;_.tN=agc+'StackPanel';_.tI=108;_.a=null;_.b=(-1);function jI(){}
-_=jI.prototype=new fU();_.tN=agc+'SuggestOracle$Request';_.tI=109;_.a=20;_.b=null;function lI(){}
-_=lI.prototype=new fU();_.tN=agc+'SuggestOracle$Response';_.tI=110;_.a=null;function qI(b,a){uI(a,b.Bd());vI(a,b.Ed());}
-function rI(a){return a.a;}
-function sI(a){return a.b;}
-function tI(b,a){b.df(rI(a));b.gf(sI(a));}
-function uI(a,b){a.a=b;}
-function vI(a,b){a.b=b;}
-function yI(b,a){BI(a,Fb(b.Dd(),49));}
-function zI(a){return a.a;}
-function AI(b,a){b.ff(zI(a));}
-function BI(a,b){a.a=b;}
-function DI(a){a.a=iA(new gA());}
-function EI(c){var a,b;DI(c);pr(c,c.a);aO(c,1);FN(c,'gwt-TabBar');oA(c.a,(aA(),bA));a=oz(new qw(),'&nbsp;',true);b=oz(new qw(),'&nbsp;',true);FN(a,'gwt-TabBarFirst');FN(b,'gwt-TabBarRest');a.qe('100%');b.qe('100%');jA(c.a,a);jA(c.a,b);a.qe('100%');c.a.ke(a,'100%');c.a.le(b,'100%');return c;}
-function FI(b,a){if(b.c===null){b.c=kJ(new jJ());}pY(b.c,a);}
-function aJ(b,a){if(a<0||a>dJ(b)){throw new fT();}}
-function bJ(b,a){if(a<(-1)||a>=dJ(b)){throw new fT();}}
-function dJ(a){return a.a.f.c-2;}
-function eJ(e,d,a,b){var c;aJ(e,b);if(a){c=nz(new qw(),d);}else{c=fC(new dC(),d);}lC(c,false);gC(c,e);FN(c,'gwt-TabBarItem');mA(e.a,c,b+1);}
-function fJ(b,a){var c;bJ(b,a);c=gr(b.a,a+1);if(c===b.b){b.b=null;}nA(b.a,c);}
-function gJ(b,a){bJ(b,a);if(b.c!==null){if(!mJ(b.c,b,a)){return false;}}hJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=gr(b.a,a+1);hJ(b,b.b,true);if(b.c!==null){nJ(b.c,b,a);}return true;}
-function hJ(c,a,b){if(a!==null){if(b){uN(a,'gwt-TabBarItem-selected');}else{AN(a,'gwt-TabBarItem-selected');}}}
-function iJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(gr(this.a,a)===b){gJ(this,a-1);return;}}}
-function CI(){}
-_=CI.prototype=new nr();_.zc=iJ;_.tN=agc+'TabBar';_.tI=111;_.b=null;_.c=null;function kJ(a){nY(a);return a;}
-function mJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);if(!b.vc(c,d)){return false;}}return true;}
-function nJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);b.qd(c,d);}}
-function jJ(){}
-_=jJ.prototype=new lY();_.tN=agc+'TabListenerCollection';_.tI=112;function CJ(a){a.b=yJ(new xJ());a.a=rJ(new qJ(),a.b);}
-function DJ(b){var a;CJ(b);a=sO(new qO());tO(a,b.b);tO(a,b.a);a.ke(b.a,'100%');b.b.Be('100%');FI(b.b,b);pr(b,a);FN(b,'gwt-TabPanel');FN(b.a,'gwt-TabPanelBottom');return b;}
-function EJ(c,d,b,a){cK(c,d,b,a,c.a.f.c);}
-function bK(b,a){return gr(b.a,a);}
-function aK(a,b){return fr(a.a,b);}
-function cK(d,e,c,a,b){tJ(d.a,e,c,a,b);}
-function dK(b,a){return b.a.de(a);}
-function eK(b,a){gJ(b.b,a);}
-function fK(){return ir(this.a);}
-function gK(a,b){return true;}
-function hK(a,b){Br(this.a,b);}
-function iK(a){return uJ(this.a,a);}
-function pJ(){}
-_=pJ.prototype=new nr();_.qc=fK;_.vc=gK;_.qd=hK;_.ee=iK;_.tN=agc+'TabPanel';_.tI=113;function rJ(b,a){vr(b);b.a=a;return b;}
-function tJ(e,f,d,a,b){var c;c=fr(e,f);if(c!=(-1)){uJ(e,f);if(c<b){b--;}}AJ(e.a,d,a,b);yr(e,f,b);}
-function uJ(b,c){var a;a=fr(b,c);if(a!=(-1)){BJ(b.a,a);return zr(b,c);}return false;}
-function vJ(){throw dW(new cW(),'Use TabPanel.clear() to alter the DeckPanel');}
-function wJ(a){return uJ(this,a);}
-function qJ(){}
-_=qJ.prototype=new ur();_.ab=vJ;_.ee=wJ;_.tN=agc+'TabPanel$TabbedDeckPanel';_.tI=114;_.a=null;function yJ(a){EI(a);return a;}
-function AJ(d,c,a,b){eJ(d,c,a,b);}
-function BJ(b,a){fJ(b,a);}
-function xJ(){}
-_=xJ.prototype=new CI();_.tN=agc+'TabPanel$UnmodifiableTabBar';_.tI=115;function kK(a){nY(a);return a;}
-function mK(f,e,d,a){var b,c;for(b=f.qc();b.kc();){c=Fb(b.sc(),51);c.xc(e,d,a);}}
-function jK(){}
-_=jK.prototype=new lY();_.tN=agc+'TableListenerCollection';_.tI=116;function qK(){qK=d3;BK();}
-function pK(a){qK();xK(a,he());FN(a,'gwt-TextArea');return a;}
-function rK(a){return DR(cL,a.ub());}
-function sK(a){return af(a.ub(),'rows');}
-function tK(a,b){wf(a.ub(),'cols',b);}
-function uK(b,a){wf(b.ub(),'rows',a);}
-function oK(){}
-_=oK.prototype=new wK();_.tN=agc+'TextArea';_.tI=117;function fL(){fL=d3;BK();}
-function eL(a){fL();xK(a,Fd());FN(a,'gwt-TextBox');return a;}
-function gL(b,a){wf(b.ub(),'size',a);}
-function vK(){}
-_=vK.prototype=new wK();_.tN=agc+'TextBox';_.tI=118;function tM(a){a.a=k1(new o0());}
-function uM(a){vM(a,rL(new qL()));return a;}
-function vM(b,a){tM(b);b.d=a;b.me(xd());Df(b.ub(),'position','relative');b.c=AQ((lu(),mu));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.ub(),b.c);aO(b,1021);Ef(b.c,6144);b.g=jL(new iL(),b);gM(b.g,b);FN(b,'gwt-Tree');return b;}
-function xM(c,a){var b;b=AL(new xL(),a);wM(c,b);return b;}
-function wM(b,a){kL(b.g,a);}
-function yM(b,a){if(b.f===null){b.f=oM(new nM());}pY(b.f,a);}
-function zM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){aM(DL(c.g,a));}}
-function BM(d,a,c,b){if(b===null||ud(b,c)){return;}BM(d,a,c,ff(b));pY(a,hc(b,hg));}
-function CM(e,d,b){var a,c;a=nY(new lY());BM(e,a,e.ub(),b);c=EM(e,a,0,d);if(c!==null){if(kf(FL(c),b)){fM(c,!c.f,true);return true;}else if(kf(c.ub(),b)){fN(e,c,true,!mN(e,b));return true;}}return false;}
-function DM(b,a){if(!a.f){return a;}return DM(b,DL(a,a.c.b-1));}
-function EM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(uY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=DL(h,d);if(ud(b.ub(),c)){g=EM(i,a,e+1,DL(h,d));if(g===null){return b;}return g;}}return EM(i,a,e+1,h);}
-function FM(b,a){if(b.f!==null){rM(b.f,a);}}
-function aN(b,a){return DL(b.g,a);}
-function bN(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[620],[20],[a.a.c],null);EX(a.a).Fe(b);return zP(a,b);}
-function cN(h,g){var a,b,c,d,e,f,i,j;c=EL(g);{f=g.d;a=wN(h);b=xN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);eR((lu(),mu),h.c);}}
-function dN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=CL(c,d);if(!a|| !d.f){if(b<c.c.b-1){fN(e,DL(c,b+1),true,true);}else{dN(e,c,false);}}else if(d.c.b>0){fN(e,DL(d,0),true,true);}}
-function eN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=CL(b,c);if(a>0){d=DL(b,a-1);fN(e,DM(e,d),true,true);}else{fN(e,b,true,true);}}
-function fN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){dM(d.b,false);}d.b=b;if(c&&d.b!==null){cN(d,d.b);dM(d.b,true);if(a&&d.f!==null){qM(d.f,d.b);}}}
-function iN(b,c){var a;a=Fb(q1(b.a,c),52);if(a===null){return false;}iM(a,null);return true;}
-function gN(b,a){mL(b.g,a);}
-function hN(a){while(a.g.c.b>0){gN(a,aN(a,0));}}
-function jN(b,a){if(a){eR((lu(),mu),b.c);}else{bR((lu(),mu),b.c);}}
-function kN(b,a){lN(b,a,true);}
-function lN(c,b,a){if(b===null){if(c.b===null){return;}dM(c.b,false);c.b=null;return;}fN(c,b,a,true);}
-function mN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
-function nN(){var a,b;for(b=bN(this);sP(b);){a=tP(b);a.uc();}yf(this.c,this);}
-function oN(){var a,b;for(b=bN(this);sP(b);){a=tP(b);a.Bc();}yf(this.c,null);}
-function pN(){return bN(this);}
-function qN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(mN(this,b)){}else{jN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.ub(),hg))){CM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){fN(this,DL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{eN(this,this.b);ye(c);break;}case 40:{dN(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){eM(this.b,false);}else{f=this.b.g;if(f!==null){kN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){eM(this.b,true);}else if(this.b.c.b>0){kN(this,DL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=nY(new lY());BM(this,a,this.ub(),ve(c));e=EM(this,a,0,this.g);if(e!==this.b){lN(this,e,true);}}}case 256:{break;}}this.e=d;}
-function rN(){jM(this.g);}
-function sN(a){return iN(this,a);}
-function hL(){}
-_=hL.prototype=new zO();_.kb=nN;_.mb=oN;_.qc=pN;_.wc=qN;_.fd=rN;_.ee=sN;_.tN=agc+'Tree';_.tI=119;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function yL(a){a.c=nY(new lY());a.i=mB(new xA());}
-function zL(d){var a,b,c,e;yL(d);d.me(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.ub(),d.e);td(d.ub(),d.b);td(c,d.i.ub());td(b,d.d);Df(d.d,'display','inline');Df(d.ub(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');kO(d.d,'gwt-TreeItem',true);return d;}
-function AL(b,a){zL(b);bM(b,a);return b;}
-function DL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(uY(b.c,a),52);}
-function CL(b,a){return vY(b.c,a);}
-function EL(a){var b;b=a.l;{return null;}}
-function FL(a){return a.i.ub();}
-function aM(a){if(a.g!==null){a.g.ae(a);}else if(a.j!==null){gN(a.j,a);}}
-function bM(b,a){iM(b,null);Af(b.d,a);}
-function cM(b,a){b.g=a;}
-function dM(b,a){if(b.h==a){return;}b.h=a;kO(b.d,'gwt-TreeItem-selected',a);}
-function eM(b,a){fM(b,a,true);}
-function fM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;kM(c);if(a&&c.j!==null){FM(c.j,c);}}
-function gM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){kN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){gM(Fb(uY(d.c,a),52),c);}kM(d);}
-function hM(a,b){a.k=b;}
-function iM(b,a){Af(b.d,'');b.l=a;}
-function kM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){mO(b.b,false);rQ((sL(),vL),b.i);return;}if(b.f){mO(b.b,true);rQ((sL(),wL),b.i);}else{mO(b.b,false);rQ((sL(),uL),b.i);}}
-function jM(c){var a,b;kM(c);for(a=0,b=c.c.b;a<b;++a){jM(Fb(uY(c.c,a),52));}}
-function lM(a){if(a.g!==null||a.j!==null){aM(a);}cM(a,this);pY(this.c,a);Df(a.ub(),'marginLeft','16px');td(this.b,a.ub());gM(a,this.j);if(this.c.b==1){kM(this);}}
-function mM(a){if(!tY(this.c,a)){return;}gM(a,null);nf(this.b,a.ub());cM(a,null);zY(this.c,a);if(this.c.b==0){kM(this);}}
-function xL(){}
-_=xL.prototype=new tN();_.y=lM;_.ae=mM;_.tN=agc+'TreeItem';_.tI=120;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function jL(b,a){b.a=a;zL(b);return b;}
-function kL(b,a){if(a.g!==null||a.j!==null){aM(a);}td(b.a.ub(),a.ub());gM(a,b.j);cM(a,null);pY(b.c,a);Cf(a.ub(),'marginLeft',0);}
-function mL(b,a){if(!tY(b.c,a)){return;}gM(a,null);cM(a,null);zY(b.c,a);nf(b.a.ub(),a.ub());}
-function nL(a){kL(this,a);}
-function oL(a){mL(this,a);}
-function iL(){}
-_=iL.prototype=new xL();_.y=nL;_.ae=oL;_.tN=agc+'Tree$1';_.tI=121;function sL(){sL=d3;tL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';uL=qQ(new pQ(),tL,0,0,16,16);vL=qQ(new pQ(),tL,16,0,16,16);wL=qQ(new pQ(),tL,32,0,16,16);}
-function rL(a){sL();return a;}
-function qL(){}
-_=qL.prototype=new fU();_.tN=agc+'TreeImages_generatedBundle';_.tI=122;var tL,uL,vL,wL;function oM(a){nY(a);return a;}
-function qM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.rd(b);}}
-function rM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.sd(b);}}
-function nM(){}
-_=nM.prototype=new lY();_.tN=agc+'TreeListenerCollection';_.tI=123;function rO(a){a.a=(xz(),zz);a.b=(aA(),dA);}
-function sO(a){Dp(a);rO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function tO(b,d){var a,c;c=fe();a=vO(b);td(c,a);td(b.d,c);ar(b,d,a);}
-function vO(b){var a;a=ee();Fp(b,a,b.a);aq(b,a,b.b);return a;}
-function wO(b,a){b.a=a;}
-function xO(b,a){b.b=a;}
-function yO(c){var a,b;b=ff(c.ub());a=jr(this,c);if(a){nf(this.d,ff(b));}return a;}
-function qO(){}
-_=qO.prototype=new Cp();_.ee=yO;_.tN=agc+'VerticalPanel';_.tI=124;function dP(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[620],[20],[4],null);return b;}
-function eP(a,b){iP(a,b,a.c);}
-function gP(b,a){if(a<0||a>=b.c){throw new fT();}return b.a[a];}
-function hP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
-function iP(d,e,a){var b,c;if(a<0||a>d.c){throw new fT();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[620],[20],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
-function jP(a){return CO(new BO(),a);}
-function kP(c,b){var a;if(b<0||b>=c.c){throw new fT();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
-function lP(b,c){var a;a=hP(b,c);if(a==(-1)){throw new r2();}kP(b,a);}
-function AO(){}
-_=AO.prototype=new fU();_.tN=agc+'WidgetCollection';_.tI=125;_.a=null;_.b=null;_.c=0;function CO(b,a){b.b=a;return b;}
-function EO(a){return a.a<a.b.c-1;}
-function FO(a){if(a.a>=a.b.c){throw new r2();}return a.b.a[++a.a];}
-function aP(){return EO(this);}
-function bP(){return FO(this);}
-function cP(){if(this.a<0||this.a>=this.b.c){throw new cT();}this.b.b.ee(this.b.a[this.a--]);}
-function BO(){}
-_=BO.prototype=new fU();_.kc=aP;_.sc=bP;_.ce=cP;_.tN=agc+'WidgetCollection$WidgetIterator';_.tI=126;_.a=(-1);function yP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[620],[20],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
-function zP(b,a){return pP(new nP(),a,b);}
-function oP(a){a.e=a.c;{rP(a);}}
-function pP(a,b,c){a.c=b;a.d=c;oP(a);return a;}
-function rP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
-function sP(a){return a.a<a.c.a;}
-function tP(a){var b;if(!sP(a)){throw new r2();}a.b=a.a;b=a.c[a.a];rP(a);return b;}
-function uP(){return sP(this);}
-function vP(){return tP(this);}
-function wP(){if(this.b<0){throw new cT();}if(!this.f){this.e=yP(this.e);this.f=true;}iN(this.d,this.c[this.b]);this.b=(-1);}
-function nP(){}
-_=nP.prototype=new fU();_.kc=uP;_.sc=vP;_.ce=wP;_.tN=agc+'WidgetIterators$1';_.tI=127;_.a=(-1);_.b=(-1);_.f=false;function lQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
-function nQ(c,f,b,e,g,a){var d;d=ce();Af(d,oQ(c,f,b,e,g,a));return df(d);}
-function oQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
-function kQ(){}
-_=kQ.prototype=new fU();_.tN=bgc+'ClippedImageImpl';_.tI=128;function qQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
-function rQ(b,a){rB(a,b.d,b.b,b.c,b.e,b.a);}
-function pQ(){}
-_=pQ.prototype=new rp();_.tN=bgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function jR(){jR=d3;mR=aR(new FQ());nR=mR!==null?iR(new tQ()):mR;}
-function iR(a){jR();return a;}
-function kR(a){a.blur();}
-function lR(a){a.focus();}
-function oR(a,b){a.tabIndex=b;}
-function tQ(){}
-_=tQ.prototype=new fU();_.F=kR;_.rb=lR;_.se=oR;_.tN=bgc+'FocusImpl';_.tI=130;var mR,nR;function xQ(){xQ=d3;jR();}
-function vQ(a){a.a=yQ(a);a.b=zQ(a);a.c=dR(a);}
-function wQ(a){xQ();iR(a);vQ(a);return a;}
-function yQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
-function zQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
-function AQ(c){var a=$doc.createElement('div');var b=c.gb();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
-function BQ(a){a.firstChild.blur();}
-function CQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
-function DQ(a){a.firstChild.focus();}
-function EQ(a,b){a.firstChild.tabIndex=b;}
-function uQ(){}
-_=uQ.prototype=new tQ();_.F=BQ;_.gb=CQ;_.rb=DQ;_.se=EQ;_.tN=bgc+'FocusImplOld';_.tI=131;function cR(){cR=d3;xQ();}
-function aR(a){cR();wQ(a);return a;}
-function bR(b,a){$wnd.setTimeout(function(){a.firstChild.blur();},0);}
-function dR(b){return function(){var a=this.firstChild;$wnd.setTimeout(function(){a.focus();},0);};}
-function eR(b,a){$wnd.setTimeout(function(){a.firstChild.focus();},0);}
-function fR(a){bR(this,a);}
-function gR(){var a=$doc.createElement('input');a.type='text';a.style.opacity=0;a.style.zIndex= -1;a.style.height='1px';a.style.width='1px';a.style.overflow='hidden';a.style.position='absolute';return a;}
-function hR(a){eR(this,a);}
-function FQ(){}
-_=FQ.prototype=new uQ();_.F=fR;_.gb=gR;_.rb=hR;_.tN=bgc+'FocusImplSafari';_.tI=132;function sR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
-function tR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.ad();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Fc();};}
-function uR(c,b,a){b.enctype=a;b.encoding=a;}
-function vR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
-function wR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
-function pR(){}
-_=pR.prototype=new fU();_.tN=bgc+'FormPanelImpl';_.tI=133;function zR(a){return xd();}
-function xR(){}
-_=xR.prototype=new fU();_.tN=bgc+'PopupImpl';_.tI=134;function CR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
-function DR(b,a){return CR(b,a);}
-function ER(d,a,c,b){a.setSelectionRange(c,c+b);}
-function AR(){}
-_=AR.prototype=new fU();_.tN=bgc+'TextBoxImpl';_.tI=135;function cS(){}
-_=cS.prototype=new fU();_.tN=cgc+'OutputStream';_.tI=136;function aS(){}
-_=aS.prototype=new cS();_.tN=cgc+'FilterOutputStream';_.tI=137;function eS(){}
-_=eS.prototype=new aS();_.tN=cgc+'PrintStream';_.tI=138;function gS(){}
-_=gS.prototype=new kU();_.tN=dgc+'ArrayStoreException';_.tI=139;function kS(){kS=d3;lS=jS(new iS(),false);mS=jS(new iS(),true);}
-function jS(a,b){kS();a.a=b;return a;}
-function nS(a){return ac(a,55)&&Fb(a,55).a==this.a;}
-function oS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
-function pS(){return this.a?'true':'false';}
-function qS(a){kS();return a?mS:lS;}
-function iS(){}
-_=iS.prototype=new fU();_.eQ=nS;_.hC=oS;_.tS=pS;_.tN=dgc+'Boolean';_.tI=140;_.a=false;var lS,mS;function uS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+vT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
-function vS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
-function xS(b,a){lU(b,a);return b;}
-function wS(){}
-_=wS.prototype=new kU();_.tN=dgc+'ClassCastException';_.tI=141;function aT(b,a){lU(b,a);return b;}
-function FS(){}
-_=FS.prototype=new kU();_.tN=dgc+'IllegalArgumentException';_.tI=142;function dT(b,a){lU(b,a);return b;}
-function cT(){}
-_=cT.prototype=new kU();_.tN=dgc+'IllegalStateException';_.tI=143;function gT(b,a){lU(b,a);return b;}
-function fT(){}
-_=fT.prototype=new kU();_.tN=dgc+'IndexOutOfBoundsException';_.tI=144;function FT(){FT=d3;{eU();}}
-function aU(a){FT();return isNaN(a);}
-function bU(e,d,c,h){FT();var a,b,f,g;if(e===null){throw DT(new CT(),'Unable to parse null');}b=cV(e);f=b>0&&zU(e,0)==45?1:0;for(a=f;a<b;a++){if(uS(zU(e,a),d)==(-1)){throw DT(new CT(),'Could not parse '+e+' in radix '+d);}}g=cU(e,d);if(aU(g)){throw DT(new CT(),'Unable to parse '+e);}else if(g<c||g>h){throw DT(new CT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
-function cU(b,a){FT();return parseInt(b,a);}
-function eU(){FT();dU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
-var dU=null;function jT(){jT=d3;FT();}
-function mT(a){jT();return nT(a,10);}
-function nT(b,a){jT();return cc(bU(b,a,(-2147483648),2147483647));}
-function oT(a){jT();return uV(a);}
-var kT=2147483647,lT=(-2147483648);function qT(){qT=d3;FT();}
-function rT(a){qT();return vV(a);}
-function uT(a){return a<0?-a:a;}
-function vT(a,b){return a<b?a:b;}
-function wT(){}
-_=wT.prototype=new kU();_.tN=dgc+'NegativeArraySizeException';_.tI=145;function zT(b,a){lU(b,a);return b;}
-function yT(){}
-_=yT.prototype=new kU();_.tN=dgc+'NullPointerException';_.tI=146;function DT(b,a){aT(b,a);return b;}
-function CT(){}
-_=CT.prototype=new FS();_.tN=dgc+'NumberFormatException';_.tI=147;function zU(b,a){return b.charCodeAt(a);}
-function BU(f,c){var a,b,d,e,g,h;h=cV(f);e=cV(c);b=vT(h,e);for(a=0;a<b;a++){g=zU(f,a);d=zU(c,a);if(g!=d){return g-d;}}return h-e;}
-function CU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
-function EU(b,a){if(!ac(a,1))return false;return nV(b,a);}
-function DU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
-function FU(b,a){return b.indexOf(String.fromCharCode(a));}
-function aV(b,a){return b.indexOf(a);}
-function bV(c,b,a){return c.indexOf(b,a);}
-function cV(a){return a.length;}
-function dV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
-function eV(b,a){return fV(b,a,0);}
-function fV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=mV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
-function gV(b,a){return aV(b,a)==0;}
-function hV(b,a){return b.substr(a,b.length-a);}
-function iV(c,a,b){return c.substr(a,b-a);}
-function jV(d){var a,b,c;c=cV(d);a=yb('[C',[611],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=zU(d,b);return a;}
-function kV(a){return a.toLowerCase();}
-function lV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
-function mV(a){return yb('[Ljava.lang.String;',[608],[1],[a],null);}
-function nV(a,b){return String(a)==b;}
-function oV(a){if(ac(a,1)){return BU(this,Fb(a,1));}else{throw xS(new wS(),'Cannot compare '+a+" with String '"+this+"'");}}
-function pV(a){return EU(this,a);}
-function rV(){var a=qV;if(!a){a=qV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
-function sV(){return this;}
-function tV(a){return String.fromCharCode(a);}
-function uV(a){return ''+a;}
-function vV(a){return ''+a;}
-function wV(a){return a!==null?a.tS():'null';}
-_=String.prototype;_.bb=oV;_.eQ=pV;_.hC=rV;_.tS=sV;_.tN=dgc+'String';_.tI=2;var qV=null;function qU(a){tU(a);return a;}
-function rU(a,b){return sU(a,tV(b));}
-function sU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
-function tU(a){uU(a,'');}
-function uU(b,a){b.js=[a];b.length=a.length;}
-function wU(a){a.tc();return a.js[0];}
-function xU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
-function yU(){return wU(this);}
-function pU(){}
-_=pU.prototype=new fU();_.tc=xU;_.tS=yU;_.tN=dgc+'StringBuffer';_.tI=148;function yV(){yV=d3;BV=new eS();}
-function zV(){yV();return new Date().getTime();}
-function AV(a){yV();return B(a);}
-var BV;function dW(b,a){lU(b,a);return b;}
-function cW(){}
-_=cW.prototype=new kU();_.tN=dgc+'UnsupportedOperationException';_.tI=149;function pW(b,a){b.c=a;return b;}
-function rW(a){return a.a<a.c.Ce();}
-function sW(){return rW(this);}
-function tW(){if(!rW(this)){throw new r2();}return this.c.hc(this.b=this.a++);}
-function uW(){if(this.b<0){throw new cT();}this.c.de(this.b);this.a=this.b;this.b=(-1);}
-function oW(){}
-_=oW.prototype=new fU();_.kc=sW;_.sc=tW;_.ce=uW;_.tN=egc+'AbstractList$IteratorImpl';_.tI=150;_.a=0;_.b=(-1);function DX(f,d,e){var a,b,c;for(b=f1(f.ob());D0(b);){a=E0(b);c=a.yb();if(d===null?c===null:d.eQ(c)){if(e){F0(b);}return a;}}return null;}
-function EX(b){var a;a=b.ob();return FW(new EW(),b,a);}
-function FX(b){var a;a=p1(b);return oX(new nX(),b,a);}
-function aY(a){return DX(this,a,false)!==null;}
-function bY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=EX(this);e=f.rc();if(!iY(c,e)){return false;}for(a=bX(c);iX(a);){b=jX(a);h=this.ic(b);g=f.ic(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
-function cY(b){var a;a=DX(this,b,false);return a===null?null:a.ec();}
-function dY(){var a,b,c;b=0;for(c=f1(this.ob());D0(c);){a=E0(c);b+=a.hC();}return b;}
-function eY(){return EX(this);}
-function fY(){var a,b,c,d;d='{';a=false;for(c=f1(this.ob());D0(c);){b=E0(c);if(a){d+=', ';}else{a=true;}d+=wV(b.yb());d+='=';d+=wV(b.ec());}return d+'}';}
-function DW(){}
-_=DW.prototype=new fU();_.db=aY;_.eQ=bY;_.ic=cY;_.hC=dY;_.rc=eY;_.tS=fY;_.tN=egc+'AbstractMap';_.tI=151;function iY(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ce()!=e.Ce()){return false;}for(a=c.qc();a.kc();){d=a.sc();if(!e.eb(d)){return false;}}return true;}
-function jY(a){return iY(this,a);}
-function kY(){var a,b,c;a=0;for(b=this.qc();b.kc();){c=b.sc();if(c!==null){a+=c.hC();}}return a;}
-function gY(){}
-_=gY.prototype=new fW();_.eQ=jY;_.hC=kY;_.tN=egc+'AbstractSet';_.tI=152;function FW(b,a,c){b.a=a;b.b=c;return b;}
-function bX(b){var a;a=f1(b.b);return gX(new fX(),b,a);}
-function cX(a){return this.a.db(a);}
-function dX(){return bX(this);}
-function eX(){return this.b.a.c;}
-function EW(){}
-_=EW.prototype=new gY();_.eb=cX;_.qc=dX;_.Ce=eX;_.tN=egc+'AbstractMap$1';_.tI=153;function gX(b,a,c){b.a=c;return b;}
-function iX(a){return D0(a.a);}
-function jX(b){var a;a=E0(b.a);return a.yb();}
-function kX(){return iX(this);}
-function lX(){return jX(this);}
-function mX(){F0(this.a);}
-function fX(){}
-_=fX.prototype=new fU();_.kc=kX;_.sc=lX;_.ce=mX;_.tN=egc+'AbstractMap$2';_.tI=154;function oX(b,a,c){b.a=a;b.b=c;return b;}
-function qX(b){var a;a=f1(b.b);return vX(new uX(),b,a);}
-function rX(a){return o1(this.a,a);}
-function sX(){return qX(this);}
-function tX(){return this.b.a.c;}
-function nX(){}
-_=nX.prototype=new fW();_.eb=rX;_.qc=sX;_.Ce=tX;_.tN=egc+'AbstractMap$3';_.tI=155;function vX(b,a,c){b.a=c;return b;}
-function xX(a){return D0(a.a);}
-function yX(a){var b;b=E0(a.a).ec();return b;}
-function zX(){return xX(this);}
-function AX(){return yX(this);}
-function BX(){F0(this.a);}
-function uX(){}
-_=uX.prototype=new fU();_.kc=zX;_.sc=AX;_.ce=BX;_.tN=egc+'AbstractMap$4';_.tI=156;function jZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.cb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
-function kZ(a){jZ(a,a.a,(wZ(),xZ));}
-function nZ(){nZ=d3;e2(new d2());oZ=k1(new o0());nY(new lY());}
-function pZ(c,d){nZ();var a,b;b=c.b;for(a=0;a<b;a++){AY(c,a,d[a]);}}
-function qZ(a){nZ();var b;b=a.Ee();kZ(b);pZ(a,b);}
-var oZ;function wZ(){wZ=d3;xZ=new tZ();}
-var xZ;function vZ(a,b){return Fb(a,34).bb(b);}
-function tZ(){}
-_=tZ.prototype=new fU();_.cb=vZ;_.tN=egc+'Comparators$1';_.tI=157;function BZ(){BZ=d3;c0=zb('[Ljava.lang.String;',608,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);d0=zb('[Ljava.lang.String;',608,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
-function zZ(a){BZ();EZ(a);return a;}
-function AZ(b,a){BZ();FZ(b,a);return b;}
-function CZ(c,a){var b,d;d=DZ(c);b=DZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
-function DZ(a){return a.jsdate.getTime();}
-function EZ(a){a.jsdate=new Date();}
-function FZ(b,a){b.jsdate=new Date(a);}
-function a0(a){return a.jsdate.toLocaleString();}
-function b0(h){var a=h.jsdate;var g=j0;var b=f0(h.jsdate.getDay());var e=i0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
-function e0(a){return CZ(this,Fb(a,59));}
-function f0(a){BZ();return c0[a];}
-function g0(a){return ac(a,59)&&DZ(this)==DZ(Fb(a,59));}
-function h0(){return cc(DZ(this)^DZ(this)>>>32);}
-function i0(a){BZ();return d0[a];}
-function j0(a){BZ();if(a<10){return '0'+a;}else{return uV(a);}}
-function k0(){return b0(this);}
-function yZ(){}
-_=yZ.prototype=new fU();_.bb=e0;_.eQ=g0;_.hC=h0;_.tS=k0;_.tN=egc+'Date';_.tI=158;var c0,d0;function m1(){m1=d3;t1=z1();}
-function j1(a){{l1(a);}}
-function k1(a){m1();j1(a);return a;}
-function l1(a){a.a=gb();a.d=ib();a.b=hc(t1,cb);a.c=0;}
-function n1(b,a){if(ac(a,1)){return D1(b.d,Fb(a,1))!==t1;}else if(a===null){return b.b!==t1;}else{return C1(b.a,a,a.hC())!==t1;}}
-function o1(a,b){if(a.b!==t1&&B1(a.b,b)){return true;}else if(y1(a.d,b)){return true;}else if(w1(a.a,b)){return true;}return false;}
-function p1(a){return d1(new z0(),a);}
-function q1(c,a){var b;if(ac(a,1)){b=D1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=C1(c.a,a,a.hC());}return b===t1?null:b;}
-function r1(c,a,d){var b;if(ac(a,1)){b=a2(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=F1(c.a,a,d,a.hC());}if(b===t1){++c.c;return null;}else{return b;}}
-function s1(c,a){var b;if(ac(a,1)){b=c2(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(t1,cb);}else{b=b2(c.a,a,a.hC());}if(b===t1){return null;}else{--c.c;return b;}}
-function u1(e,c){m1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
-function v1(d,a){m1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=s0(c.substring(1),e);a.C(b);}}}
-function w1(f,h){m1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ec();if(B1(h,d)){return true;}}}}return false;}
-function x1(a){return n1(this,a);}
-function y1(c,d){m1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(B1(d,a)){return true;}}}return false;}
-function z1(){m1();}
-function A1(){return p1(this);}
-function B1(a,b){m1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
-function E1(a){return q1(this,a);}
-function C1(f,h,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){return c.ec();}}}}
-function D1(b,a){m1();return b[':'+a];}
-function F1(f,h,j,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){var i=c.ec();c.we(j);return i;}}}else{a=f[e]=[];}var c=s0(h,j);a.push(c);}
-function a2(c,a,d){m1();a=':'+a;var b=c[a];c[a]=d;return b;}
-function b2(f,h,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ec();}}}}
-function c2(c,a){m1();a=':'+a;var b=c[a];delete c[a];return b;}
-function o0(){}
-_=o0.prototype=new DW();_.db=x1;_.ob=A1;_.ic=E1;_.tN=egc+'HashMap';_.tI=159;_.a=null;_.b=null;_.c=0;_.d=null;var t1;function q0(b,a,c){b.a=a;b.b=c;return b;}
-function s0(a,b){return q0(new p0(),a,b);}
-function t0(b){var a;if(ac(b,60)){a=Fb(b,60);if(B1(this.a,a.yb())&&B1(this.b,a.ec())){return true;}}return false;}
-function u0(){return this.a;}
-function v0(){return this.b;}
-function w0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
-function x0(a){var b;b=this.b;this.b=a;return b;}
-function y0(){return this.a+'='+this.b;}
-function p0(){}
-_=p0.prototype=new fU();_.eQ=t0;_.yb=u0;_.ec=v0;_.hC=w0;_.we=x0;_.tS=y0;_.tN=egc+'HashMap$EntryImpl';_.tI=160;_.a=null;_.b=null;function d1(b,a){b.a=a;return b;}
-function f1(a){return B0(new A0(),a.a);}
-function g1(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.yb();if(n1(this.a,b)){d=q1(this.a,b);return B1(a.ec(),d);}}return false;}
-function h1(){return f1(this);}
-function i1(){return this.a.c;}
-function z0(){}
-_=z0.prototype=new gY();_.eb=g1;_.qc=h1;_.Ce=i1;_.tN=egc+'HashMap$EntrySet';_.tI=161;function B0(c,b){var a;c.c=b;a=nY(new lY());if(c.c.b!==(m1(),t1)){pY(a,q0(new p0(),null,c.c.b));}v1(c.c.d,a);u1(c.c.a,a);c.a=a.qc();return c;}
-function D0(a){return a.a.kc();}
-function E0(a){return a.b=Fb(a.a.sc(),60);}
-function F0(a){if(a.b===null){throw dT(new cT(),'Must call next() before remove().');}else{a.a.ce();s1(a.c,a.b.yb());a.b=null;}}
-function a1(){return D0(this);}
-function b1(){return E0(this);}
-function c1(){F0(this);}
-function A0(){}
-_=A0.prototype=new fU();_.kc=a1;_.sc=b1;_.ce=c1;_.tN=egc+'HashMap$EntrySetIterator';_.tI=162;_.a=null;_.b=null;function e2(a){a.a=k1(new o0());return a;}
-function f2(c,a){var b;b=r1(c.a,a,qS(true));return b===null;}
-function h2(a){return bX(EX(a.a));}
-function i2(a){return f2(this,a);}
-function j2(a){return n1(this.a,a);}
-function k2(){return h2(this);}
-function l2(){return this.a.c;}
-function m2(){return EX(this.a).tS();}
-function d2(){}
-_=d2.prototype=new gY();_.C=i2;_.eb=j2;_.qc=k2;_.Ce=l2;_.tS=m2;_.tN=egc+'HashSet';_.tI=163;_.a=null;function s2(b,a){lU(b,a);return b;}
-function r2(){}
-_=r2.prototype=new kU();_.tN=egc+'NoSuchElementException';_.tI=164;function x2(a){a.a=nY(new lY());return a;}
-function y2(b,a){return pY(b.a,a);}
-function A2(a){return a.a.qc();}
-function B2(a,b){oY(this.a,a,b);}
-function C2(a){return y2(this,a);}
-function D2(a){return tY(this.a,a);}
-function E2(a){return uY(this.a,a);}
-function F2(){return A2(this);}
-function a3(a){return yY(this.a,a);}
-function b3(){return this.a.b;}
-function c3(){return this.a.Ee();}
-function w2(){}
-_=w2.prototype=new nW();_.B=B2;_.C=C2;_.eb=D2;_.hc=E2;_.qc=F2;_.de=a3;_.Ce=b3;_.Ee=c3;_.tN=egc+'Vector';_.tI=165;_.a=null;function d5(){d5=d3;f5=k1(new o0());}
-function c5(a){d5();return a;}
-function e5(){}
-function t4(){}
-_=t4.prototype=new nr();_.md=e5;_.tN=fgc+'JBRMSFeature';_.tI=166;var f5;function k3(){k3=d3;d5();}
-function j3(a){k3();c5(a);a.a=DJ(new pJ());a.a.Be('100%');a.a.qe('100%');EJ(a.a,i9(new s8()),"<img src='images/category_small.gif'/>Manage categories",true);EJ(a.a,z9(new l9()),"<img src='images/status_small.gif'/>Manage states",true);EJ(a.a,A7(new w6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);EJ(a.a,n8(new E7()),"<img src='images/backup_small.gif'/>Import Export",true);eK(a.a,0);pr(a,a.a);return a;}
-function l3(){k3();return g3(new f3(),'Admin','Administer the repository');}
-function m3(){}
-function e3(){}
-_=e3.prototype=new t4();_.md=m3;_.tN=fgc+'AdminFeature';_.tI=167;_.a=null;function v4(c,b,a){c.c=b;c.a=a;return c;}
-function x4(a){if(a.b!==null)return a.b;return a.b=a.hb();}
-function u4(){}
-_=u4.prototype=new fU();_.tN=fgc+'JBRMSFeature$ComponentInfo';_.tI=168;_.a=null;_.b=null;_.c=null;function g3(c,a,b){v4(c,a,b);return c;}
-function i3(){return j3(new e3());}
-function f3(){}
-_=f3.prototype=new u4();_.hb=i3;_.tN=fgc+'AdminFeature$1';_.tI=169;function t3(){t3=d3;d5();}
-function s3(a){t3();c5(a);pr(a,nKb(new vIb()));return a;}
-function u3(){t3();return p3(new o3(),'Deployment','Configure and view frozen snapshots of packages.');}
-function v3(){}
-function n3(){}
-_=n3.prototype=new t4();_.md=v3;_.tN=fgc+'DeploymentManagementFeature';_.tI=170;function p3(c,a,b){v4(c,a,b);return c;}
-function r3(){return s3(new n3());}
-function o3(){}
-_=o3.prototype=new u4();_.hb=r3;_.tN=fgc+'DeploymentManagementFeature$1';_.tI=171;function C3(){C3=d3;d5();}
-function B3(a){C3();c5(a);pr(a,D3(a));return a;}
-function D3(a){a.a=Ev(new Cv(),'welcome.html');FN(a.a,'welcome-Page');a.a.ye(true);return a.a;}
-function E3(){C3();return y3(new x3(),'Info','JBoss Rules Managment System.');}
-function F3(){}
-function w3(){}
-_=w3.prototype=new t4();_.md=F3;_.tN=fgc+'Info';_.tI=172;_.a=null;function y3(c,a,b){v4(c,a,b);return c;}
-function A3(){return B3(new w3());}
-function x3(){}
-_=x3.prototype=new u4();_.hb=A3;_.tN=fgc+'Info$1';_.tI=173;function k4(a){a.c=mz(new qw());a.d=D4(new B4());a.g=ys(new ps());}
-function l4(a){k4(a);return a;}
-function m4(a){BXb(lMb(),c4(new b4(),a));}
-function o4(b,c){var a;a=a5(b.d,c);if(a===null){q4(b);return;}r4(b,a,false);}
-function p4(b){var a,c;A4(b.d);b.h=ys(new ps());FN(b.h,'ks-Sink');c=sO(new qO());c.Be('100%');tO(c,b.c);tO(c,b.h);FN(b.c,'ks-Info');zs(b.g,b.d,(As(),et));zs(b.g,c,(As(),at));Es(b.g,b.d,(aA(),dA));Fs(b.g,c,'100%');Bg(b);b.e=p5(new g5());b.f=a6(new s5());mp(tG(),b.e);mp(tG(),b.g);mp(tG(),b.f);b.f.Be('100%');b.e.ye(false);b.g.ye(false);b.f.ye(false);m4(b);a=Dg();if(cV(a)>0)o4(b,a);else q4(b);}
-function r4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){Cs(c.h,c.b);}c.b=x4(b);b5(c.d,b.c);qz(c.c,b.a);if(a)ah(b.c);zs(c.h,c.b,(As(),at));Fs(c.h,c.b,'100%');Es(c.h,c.b,(aA(),dA));c.b.md();}
-function q4(a){r4(a,a5(a.d,'Info'),false);}
-function s4(a){o4(this,a);}
-function a4(){}
-_=a4.prototype=new fU();_.bd=s4;_.tN=fgc+'JBRMSEntryPoint';_.tI=174;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function xcb(b,a){if(ac(a,69)){zcb();}else if(ac(a,70)){ybb(Fb(a,70));}else{xbb(a.zb());}}
-function ycb(a){xcb(this,a);}
-function zcb(){var a;a=rcb(new mcb(),'images/warning-large.png','Session expired');tcb(a,nz(new qw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));wE(a,40,40);zE(a);sdb();}
-function vcb(){}
-_=vcb.prototype=new fU();_.Dc=ycb;_.tN=igc+'GenericCallback';_.tI=175;function c4(b,a){b.a=a;return b;}
-function e4(a){var b;b=Fb(a,1);if(b!==null){r5(this.a.e,b);this.a.e.ye(true);this.a.g.ye(true);this.a.f.ye(false);}else{this.a.f.ye(true);e6(this.a.f,g4(new f4(),this));}}
-function b4(){}
-_=b4.prototype=new vcb();_.pd=e4;_.tN=fgc+'JBRMSEntryPoint$1';_.tI=176;function g4(b,a){b.a=a;return b;}
-function i4(a){r5(a.a.a.e,d6(a.a.a.f));a.a.a.e.ye(true);a.a.a.f.ye(false);a.a.a.g.ye(true);}
-function j4(){i4(this);}
-function f4(){}
-_=f4.prototype=new fU();_.pb=j4;_.tN=fgc+'JBRMSEntryPoint$2';_.tI=177;function A4(a){E4(a,E3());E4(a,v6());E4(a,m6());E4(a,u3());E4(a,l3());}
-function C4(a){a.a=sO(new qO());a.c=nY(new lY());}
-function D4(a){C4(a);pr(a,a.a);FN(a,'ks-List');return a;}
-function E4(d,a){var b,c;c=a.c;b=sA(new qA(),c,c);FN(b,'ks-SinkItem');tO(d.a,b);pY(d.c,a);}
-function a5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(uY(d.c,a),61);if(EU(b.c,c))return b;}return null;}
-function b5(d,c){var a,b;if(d.b!=(-1))AN(gr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(uY(d.c,a),61);if(EU(b.c,c)){d.b=a;uN(gr(d.a,d.b),'ks-SinkItem-selected');return;}}}
-function B4(){}
-_=B4.prototype=new nr();_.tN=fgc+'JBRMSFeatureList';_.tI=178;_.b=(-1);function p5(a){a.a=mz(new qw());pr(a,a.a);return a;}
-function r5(b,d){var a,c;a=qU(new pU());sU(a,"<div id='user_info'>");sU(a,'Welcome: &nbsp;'+d);sU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");sU(a,'<\/div>');qz(b.a,wU(a));c=i5(new h5(),b);mh(c,300000);}
-function g5(){}
-_=g5.prototype=new nr();_.tN=fgc+'LoggedInUserInfo';_.tI=179;_.a=null;function j5(){j5=d3;kh();}
-function i5(b,a){j5();ih(b);return b;}
-function k5(){BXb(lMb(),new l5());}
-function h5(){}
-_=h5.prototype=new dh();_.fe=k5;_.tN=fgc+'LoggedInUserInfo$1';_.tI=180;function n5(a){}
-function o5(a){if(a===null){zcb();}}
-function l5(){}
-_=l5.prototype=new fU();_.Dc=n5;_.pd=o5;_.tN=fgc+'LoggedInUserInfo$2';_.tI=181;function a6(c){var a,b;c.a=ccb(new Fbb(),'images/login.gif','Please enter your details');c.c=eL(new vK());c.c.re(1);dcb(c.a,'User name:',c.c);b=iE(new hE());b.re(2);dcb(c.a,'Password:',b);a=zp(new tp(),'Login');a.re(3);dcb(c.a,'',a);a.x(u5(new t5(),c,b));pr(c,c.a);c.c.oe(true);FN(c,'login-Form');return c;}
-function c6(c,a,d,b){oMb(CK(d),CK(b),C5(new B5(),c,a));}
-function d6(a){return CK(a.c);}
-function e6(b,a){b.b=a;}
-function s5(){}
-_=s5.prototype=new nr();_.tN=fgc+'LoginWidget';_.tI=182;_.a=null;_.b=null;_.c=null;function u5(b,a,c){b.a=a;b.b=c;return b;}
-function w5(a){wdb('Logging in...');fg(y5(new x5(),this,this.b));}
-function t5(){}
-_=t5.prototype=new fU();_.zc=w5;_.tN=fgc+'LoginWidget$1';_.tI=183;function y5(b,a,c){b.a=a;b.b=c;return b;}
-function A5(){c6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
-function x5(){}
-_=x5.prototype=new fU();_.pb=A5;_.tN=fgc+'LoginWidget$2';_.tI=184;function C5(b,a,c){b.a=c;return b;}
-function E5(c,a){var b;sdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{i4(c.a);}}
-function F5(a){E5(this,a);}
-function B5(){}
-_=B5.prototype=new vcb();_.pd=F5;_.tN=fgc+'LoginWidget$3';_.tI=185;function l6(){l6=d3;d5();}
-function k6(b){var a;l6();c5(b);a=rIb(new kIb());uIb(a,f5);pr(b,a);return b;}
-function m6(){l6();return h6(new g6(),'Packages','Configure and view packages of business rule assets.');}
-function n6(){}
-function f6(){}
-_=f6.prototype=new t4();_.md=n6;_.tN=fgc+'PackageManagementFeature';_.tI=186;function h6(c,a,b){v4(c,a,b);return c;}
-function j6(){return k6(new f6());}
-function g6(){}
-_=g6.prototype=new u4();_.hb=j6;_.tN=fgc+'PackageManagementFeature$1';_.tI=187;function u6(){u6=d3;d5();}
-function t6(b){var a;u6();c5(b);a=gcc(new cbc());kcc(a,f5);pr(b,a);return b;}
-function v6(){u6();return q6(new p6(),'Rules','Find and edit rules.');}
-function o6(){}
-_=o6.prototype=new t4();_.tN=fgc+'RulesFeature';_.tI=188;function q6(c,a,b){v4(c,a,b);return c;}
-function s6(){return t6(new o6());}
-function p6(){}
-_=p6.prototype=new u4();_.hb=s6;_.tN=fgc+'RulesFeature$1';_.tI=189;function A7(a){var b;b=ccb(new Fbb(),'images/backup_large.png','Manage Archived Assets');a.a=iA(new gA());a.a.Be('100%');gcb(b,a.a);a.b=jdc(new ncc(),new x6(),'archivedrulelist');pdc(a.b,D7(a));jA(a.a,a.b);y7(D7(a));gcb(b,nz(new qw(),'<hr/>'));gcb(b,C7(a));pr(a,b);return a;}
-function C7(d){var a,b,c,e;b=iA(new gA());c=zp(new tp(),'Refresh');c.x(B6(new A6(),d));e=zp(new tp(),'Unarchive');e.x(F6(new E6(),d));a=zp(new tp(),'Delete');a.x(i7(new h7(),d));jA(b,c);jA(b,e);jA(b,a);return b;}
-function D7(b){var a;a=r7(new q7(),b);return w7(new v7(),b,a);}
-function w6(){}
-_=w6.prototype=new nr();_.tN=ggc+'ArchivedAssetManager';_.tI=190;_.a=null;_.b=null;function z6(a){}
-function x6(){}
-_=x6.prototype=new fU();_.wd=z6;_.tN=ggc+'ArchivedAssetManager$1';_.tI=191;function B6(b,a){b.a=a;return b;}
-function D6(a){y7(D7(this.a));}
-function A6(){}
-_=A6.prototype=new fU();_.zc=D6;_.tN=ggc+'ArchivedAssetManager$2';_.tI=192;function F6(b,a){b.a=a;return b;}
-function b7(a){pTb(mMb(),ldc(this.a.b),false,d7(new c7(),this));}
-function E6(){}
-_=E6.prototype=new fU();_.zc=b7;_.tN=ggc+'ArchivedAssetManager$3';_.tI=193;function d7(b,a){b.a=a;return b;}
-function f7(b,a){y7(D7(b.a.a));zh('Done!');}
-function g7(a){f7(this,a);}
-function c7(){}
-_=c7.prototype=new vcb();_.pd=g7;_.tN=ggc+'ArchivedAssetManager$4';_.tI=194;function i7(b,a){b.a=a;return b;}
-function k7(a){pUb(mMb(),ldc(this.a.b),m7(new l7(),this));}
-function h7(){}
-_=h7.prototype=new fU();_.zc=k7;_.tN=ggc+'ArchivedAssetManager$5';_.tI=195;function m7(b,a){b.a=a;return b;}
-function o7(b,a){y7(D7(b.a.a));zh('Done!');}
-function p7(a){o7(this,a);}
-function l7(){}
-_=l7.prototype=new vcb();_.pd=p7;_.tN=ggc+'ArchivedAssetManager$6';_.tI=196;function r7(b,a){b.a=a;return b;}
-function t7(c,a){var b;b=Fb(a,62);odc(c.a.b,b);c.a.b.Be('100%');sdb();}
-function u7(a){t7(this,a);}
-function q7(){}
-_=q7.prototype=new vcb();_.pd=u7;_.tN=ggc+'ArchivedAssetManager$7';_.tI=197;function w7(b,a,c){b.a=c;return b;}
-function y7(a){wdb('Loading list, please wait...');fUb(mMb(),a.a);}
-function z7(){y7(this);}
-function v7(){}
-_=v7.prototype=new fU();_.pb=z7;_.tN=ggc+'ArchivedAssetManager$8';_.tI=198;function n8(a){var b;b=ccb(new Fbb(),'images/backup_large.png','Import/Export');dcb(b,'',nz(new qw(),'<i>Import and Export rules repository<\/i>'));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Import from an xml file',r8(a));dcb(b,'Export to a zip file',q8(a));gcb(b,nz(new qw(),'<hr/>'));pr(a,b);return a;}
-function p8(a){wdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');sdb();}
-function q8(c){var a,b;b=iA(new gA());a=zp(new tp(),'Export');a.x(a8(new F7(),c));jA(b,a);return b;}
-function r8(c){var a,b,d,e;e=fv(new av());lv(e,v()+'backup');mv(e,'multipart/form-data');nv(e,'post');b=iA(new gA());e.Ae(b);d=jt(new it());mt(d,'importFile');jA(b,d);jA(b,fC(new dC(),'import:'));a=Ccb(new Bcb(),'images/upload.gif');oB(a,e8(new d8(),c,e));jA(b,a);gv(e,j8(new i8(),c,d));return e;}
-function E7(){}
-_=E7.prototype=new nr();_.tN=ggc+'BackupManager';_.tI=199;function a8(b,a){b.a=a;return b;}
-function c8(a){p8(this.a);}
-function F7(){}
-_=F7.prototype=new fU();_.zc=c8;_.tN=ggc+'BackupManager$1';_.tI=200;function e8(b,a,c){b.a=c;return b;}
-function g8(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){wdb('Importing repository, please wait, as this could take some time...');pv(b);}}
-function h8(a){g8(this,this.a);}
-function d8(){}
-_=d8.prototype=new fU();_.zc=h8;_.tN=ggc+'BackupManager$2';_.tI=201;function j8(b,a,c){b.a=c;return b;}
-function m8(a){if(cV(lt(this.a))==0){zh('You did not specify an exported repository filename !');Bv(a,true);}else if(!CU(lt(this.a),'.xml')){zh('Please specify a valid repository xml file.');Bv(a,true);}}
-function l8(a){if(aV(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{xbb('Unable to import into the repository. Consult the server logs for error messages.');}sdb();}
-function i8(){}
-_=i8.prototype=new fU();_.od=m8;_.nd=l8;_.tN=ggc+'BackupManager$3';_.tI=202;function h9(a){sO(new qO());}
-function i9(f){var a,b,c,d,e;h9(f);c=ccb(new Fbb(),'images/edit_category.gif','Edit categories');dcb(c,'',nz(new qw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=d_(new s$(),new t8());FN(f.a,'category-explorer-Admin');b=fH(new DG());FN(b,'metadata-Widget');hH(b,f.a);gcb(c,nz(new qw(),'<hr/>'));dcb(c,'Current categories:',b);e=Ccb(new Bcb(),'images/refresh.gif');e.te('Refresh categories');oB(e,x8(new w8(),f));dcb(c,'Refresh view:',e);gcb(c,nz(new qw(),'<hr/>'));d=Ccb(new Bcb(),'images/new.gif');d.te('Create a new category');oB(d,B8(new A8(),f));dcb(c,'Create a new category:',d);a=Ccb(new Bcb(),'images/delete_obj.gif');oB(a,F8(new E8(),f));a.te("Deletes the currently selected category. You won't be able to delete if the category is in use.");dcb(c,'Delete the currently selected category:',a);pr(f,c);return f;}
-function k9(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){qUb(mMb(),a.a.e,d9(new c9(),a));}}
-function s8(){}
-_=s8.prototype=new nr();_.tN=ggc+'CategoryManager';_.tI=203;_.a=null;function v8(a){}
-function t8(){}
-_=t8.prototype=new fU();_.he=v8;_.tN=ggc+'CategoryManager$1';_.tI=204;function x8(b,a){b.a=a;return b;}
-function z8(a){j_(this.a.a);}
-function w8(){}
-_=w8.prototype=new fU();_.zc=z8;_.tN=ggc+'CategoryManager$2';_.tI=205;function B8(b,a){b.a=a;return b;}
-function D8(b){var a;a=n$(new E9(),this.a.a.e);wE(a,wN(b),xN(b)-400);zE(a);}
-function A8(){}
-_=A8.prototype=new fU();_.zc=D8;_.tN=ggc+'CategoryManager$3';_.tI=206;function F8(b,a){b.a=a;return b;}
-function b9(a){k9(this.a);}
-function E8(){}
-_=E8.prototype=new fU();_.zc=b9;_.tN=ggc+'CategoryManager$4';_.tI=207;function d9(b,a){b.a=a;return b;}
-function f9(b,a){j_(b.a.a);}
-function g9(a){f9(this,a);}
-function c9(){}
-_=c9.prototype=new vcb();_.pd=g9;_.tN=ggc+'CategoryManager$5';_.tI=208;function z9(b){var a;a=ccb(new Fbb(),'images/status_large.png','Manage statuses');dcb(a,'',nz(new qw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=xC(new nC());hD(b.a,7);b.a.Be('50%');D9(b);dcb(a,'Current statuses:',b.a);dcb(a,'Add new status:',C9(b));pr(b,a);return b;}
-function B9(b,a){wdb('Creating status');FTb(mMb(),CK(a),v9(new u9(),b,a));}
-function C9(d){var a,b,c;c=iA(new gA());a=eL(new vK());b=zp(new tp(),'Create');b.x(r9(new q9(),d,a));jA(c,a);jA(c,b);return c;}
-function D9(a){wdb('Loading statuses...');eUb(mMb(),n9(new m9(),a));}
-function l9(){}
-_=l9.prototype=new nr();_.tN=ggc+'StateManager';_.tI=209;_.a=null;function n9(b,a){b.a=a;return b;}
-function p9(a){var b,c;DC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){AC(this.a.a,c[b]);}sdb();}
-function m9(){}
-_=m9.prototype=new vcb();_.pd=p9;_.tN=ggc+'StateManager$1';_.tI=210;function r9(b,a,c){b.a=a;b.b=c;return b;}
-function t9(a){B9(this.a,this.b);}
-function q9(){}
-_=q9.prototype=new fU();_.zc=t9;_.tN=ggc+'StateManager$2';_.tI=211;function v9(b,a,c){b.a=a;b.b=c;return b;}
-function x9(b,a){aL(b.b,'');D9(b.a);sdb();}
-function y9(a){x9(this,a);}
-function u9(){}
-_=u9.prototype=new vcb();_.pd=y9;_.tN=ggc+'StateManager$3';_.tI=212;function p$(){p$=d3;pE();}
-function m$(a){a.d=ut(new ot());a.b=eL(new vK());a.a=pK(new oK());}
-function n$(d,b){var a,c;p$();mE(d,true);m$(d);d.c=b;d.d.ze(0,0,Ccb(new Bcb(),'images/edit_category.gif'));d.d.ze(0,1,fC(new dC(),q$(d,d.c)));d.d.ze(1,0,fC(new dC(),'Cateogory name'));d.d.ze(1,1,d.b);uK(d.a,4);d.d.ze(2,0,fC(new dC(),'Description'));d.d.ze(2,1,d.a);c=zp(new tp(),'OK');c.x(a$(new F9(),d));d.d.ze(3,0,c);a=zp(new tp(),'Cancel');a.x(e$(new d$(),d));d.d.ze(3,1,a);hH(d,d.d);FN(d,'ks-popups-Popup');return d;}
-function o$(a){a.lc();}
-function q$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
-function r$(b){var a;a=i$(new h$(),b);if(EU('',CK(b.b))){xbb("Can't have an empty category name.");}else{BTb(mMb(),b.c,CK(b.b),CK(b.a),a);}}
-function E9(){}
-_=E9.prototype=new kE();_.tN=hgc+'CategoryEditor';_.tI=213;_.c=null;function a$(b,a){b.a=a;return b;}
-function c$(a){r$(this.a);}
-function F9(){}
-_=F9.prototype=new fU();_.zc=c$;_.tN=hgc+'CategoryEditor$1';_.tI=214;function e$(b,a){b.a=a;return b;}
-function g$(a){o$(this.a);}
-function d$(){}
-_=d$.prototype=new fU();_.zc=g$;_.tN=hgc+'CategoryEditor$2';_.tI=215;function i$(b,a){b.a=a;return b;}
-function k$(b,a){if(Fb(a,55).a){b.a.lc();}else{xbb('Category was not successfully created. ');}}
-function l$(a){k$(this,a);}
-function h$(){}
-_=h$.prototype=new vcb();_.pd=l$;_.tN=hgc+'CategoryEditor$3';_.tI=216;function c_(a){a.c=uM(new hL());a.d=sO(new qO());a.f=mMb();}
-function d_(b,a){c_(b);tO(b.d,b.c);b.a=a;i_(b);pr(b,b.d);yM(b.c,b);FN(b,'category-explorer-Tree');return b;}
-function f_(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
-function g_(b,a){if(a.c.b==1&&ac(DL(a,0),64)){return false;}return true;}
-function h_(a){if(a.b!==null){a.b.ye(false);}}
-function i_(a){xM(a.c,'Please wait...');hUb(a.f,'/',y$(new x$(),a));}
-function j_(a){hN(a.c);a.e=null;i_(a);}
-function k_(c){var a,b;if(c.b===null){b=lp(new kp());mp(b,nz(new qw(),'No categories created yet. Add some categories from the administration screen.'));a=zp(new tp(),'Refresh');a.x(u$(new t$(),c));mp(b,a);FN(b,'small-Text');c.b=b;tO(c.d,c.b);}c.b.ye(true);}
-function l_(a){this.e=f_(this,a);this.a.he(this.e);}
-function m_(a){var b;if(g_(this,a)){return;}b=a;this.e=f_(this,a);hUb(this.f,this.e,C$(new B$(),this,b));}
-function s$(){}
-_=s$.prototype=new nr();_.rd=l_;_.sd=m_;_.tN=hgc+'CategoryExplorerWidget';_.tI=217;_.a=null;_.b=null;_.e=null;function u$(b,a){b.a=a;return b;}
-function w$(a){j_(this.a);}
-function t$(){}
-_=t$.prototype=new fU();_.zc=w$;_.tN=hgc+'CategoryExplorerWidget$1';_.tI=218;function y$(b,a){b.a=a;return b;}
-function A$(d){var a,b,c;this.a.e=null;hN(this.a.c);a=Fb(d,63);if(a.a==0){k_(this.a);}else{h_(this.a);}for(b=0;b<a.a;b++){c=zL(new xL());bM(c,'<img src="images/category_small.gif"/>'+a[b]);hM(c,a[b]);c.y(a_(new F$()));wM(this.a.c,c);}}
-function x$(){}
-_=x$.prototype=new vcb();_.pd=A$;_.tN=hgc+'CategoryExplorerWidget$2';_.tI=219;function C$(b,a,c){b.a=c;return b;}
-function E$(e){var a,b,c,d;a=DL(this.a,0);if(ac(a,64)){this.a.ae(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=zL(new xL());bM(c,'<img src="images/category_small.gif"/>'+d[b]);hM(c,d[b]);c.y(a_(new F$()));this.a.y(c);}}
-function B$(){}
-_=B$.prototype=new vcb();_.pd=E$;_.tN=hgc+'CategoryExplorerWidget$3';_.tI=220;function a_(a){AL(a,'Please wait...');return a;}
-function F$(){}
-_=F$.prototype=new xL();_.tN=hgc+'CategoryExplorerWidget$PendingItem';_.tI=221;function p_(){p_=d3;q_=zb('[Ljava.lang.String;',608,1,['brl','dslr','xls']);s_=zb('[Ljava.lang.String;',608,1,['drl','rf','enumeration']);r_=zb('[Ljava.lang.String;',608,1,['function','dsl','jar','enumeration']);}
-function t_(a){p_();var b;for(b=0;b<r_.a;b++){if(EU(r_[b],a)){return true;}}return false;}
-var q_,r_,s_;function F_(){F_=d3;fL();}
-function D_(a){a.b=mE(new kE(),true);a.a=w_(new v_(),a);}
-function E_(b,a){F_();eL(b);D_(b);zK(b,b);aO(b.a,1);FN(b,'AutoCompleteTextBox');hH(b.b,b.a);uN(b.b,'AutoCompleteChoices');FN(b.a,'list');b.c=a;return b;}
-function aab(a){if(a.e&&FC(a.a)>0){aL(a,aD(a.a,bD(a.a)));}DC(a.a);a.b.lc();a.e=false;}
-function bab(e,a,b,c){var d;d=bD(e.a);d++;if(d>=FC(e.a)){d=0;}gD(e.a,d);}
-function cab(d,a,b,c){aab(d);}
-function dab(d,a,b,c){DC(d.a);d.b.lc();d.e=false;}
-function eab(b,a){if(0==cV(a)||0==FC(b.a)||1==FC(b.a)&&EU(aD(b.a,0),a)){DC(b.a);b.b.lc();b.e=false;}else{gD(b.a,0);hD(b.a,FC(b.a)+1);if(!b.d){mp(tG(),b.b);b.d=true;}zE(b.b);b.e=true;wE(b.b,wN(b),xN(b)+b.Cb());b.a.Be(b.Db()+'px');}}
-function fab(d,a,b,c){iab(d,CK(d));if(cV(CK(d))>0&&d.c!==null){wdc(d.c,CK(d),A_(new z_(),d));}}
-function gab(d,a,b,c){aab(d);}
-function hab(e,a,b,c){var d;d=bD(e.a);d--;if(d<0){d=FC(e.a)-1;}gD(e.a,d);}
-function iab(c,b){var a;a=0;while(a<FC(c.a)){if(gV(kV(aD(c.a,a)),kV(b))){++a;}else{fD(c.a,a);}}eab(c,b);}
-function jab(d,b,c){var a;DC(d.a);for(a=0;a<b.a;a++){AC(d.a,b[a]);}iab(d,c);}
-function kab(a,b,c){if(b==13){cab(this,a,b,c);}else if(b==9){gab(this,a,b,c);}else if(b==40){bab(this,a,b,c);}else if(b==38){hab(this,a,b,c);}else if(b==27){dab(this,a,b,c);}}
-function lab(a,b,c){}
-function mab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:fab(this,a,b,c);break;}}
-function u_(){}
-_=u_.prototype=new vK();_.cd=kab;_.dd=lab;_.ed=mab;_.tN=igc+'AutoCompleteTextBoxAsync';_.tI=222;_.c=null;_.d=false;_.e=false;function x_(){x_=d3;EC();}
-function w_(b,a){x_();b.a=a;xC(b);return b;}
-function y_(a){if(1==xe(a)){aab(this.a);}}
-function v_(){}
-_=v_.prototype=new nC();_.wc=y_;_.tN=igc+'AutoCompleteTextBoxAsync$1';_.tI=223;function A_(b,a){b.a=a;return b;}
-function C_(b,a){jab(b.a,a,CK(b.a));}
-function z_(){}
-_=z_.prototype=new fU();_.tN=igc+'AutoCompleteTextBoxAsync$2';_.tI=224;function rab(a){a.j=true;}
-function sab(a){a.j=false;}
-function tab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
-function uab(){return this.j;}
-function pab(){}
-_=pab.prototype=new nr();_.pc=uab;_.tN=igc+'DirtyableComposite';_.tI=225;_.j=false;function xab(a){a.b=nY(new lY());}
-function yab(a){ut(a);xab(a);return a;}
-function Aab(d){var a,b,c;for(c=d.b.qc();c.kc();){a=Fb(c.sc(),65);b=ty(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).pc())return true;if(ac(b,67))if(Fb(b,67).jc())return true;}return false;}
-function Bab(d,c,b,a){cz(d,c,b,a);if(ac(a,68)){oY(d.b,d.a++,ydb(new xdb(),c,b));}}
-function Cab(){return Aab(this);}
-function Dab(c,b,a){Bab(this,c,b,a);}
-function wab(){}
-_=wab.prototype=new ot();_.jc=Cab;_.ze=Dab;_.tN=igc+'DirtyableFlexTable';_.tI=226;_.a=0;function Fab(a){iA(a);return a;}
-function bbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=gr(c,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
-function cbb(){return bbb(this);}
-function Eab(){}
-_=Eab.prototype=new gA();_.jc=cbb;_.tN=igc+'DirtyableHorizontalPane';_.tI=227;function ebb(a){sO(a);return a;}
-function gbb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=gr(this,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
-function dbb(){}
-_=dbb.prototype=new qO();_.jc=gbb;_.tN=igc+'DirtyableVerticalPane';_.tI=228;function ubb(){ubb=d3;cs();}
-function rbb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=Ccb(new Bcb(),'images/close.gif');}
-function sbb(d,b,a){var c,e;ubb();as(d,true);rbb(d);kC(d.a,b);jA(d.c,nB(new xA(),'images/error_dialog.png'));e=sO(new qO());tO(e,d.a);jA(d.c,e);if(a!==null){tbb(d,e,a);}jA(d.c,d.b);c=d;oB(d.b,kbb(new jbb(),d,c));fs(d,d.c);wE(d,40,40);FN(d,'rule-error-Popup');return d;}
-function tbb(e,c,b){var a,d,f;f=sO(new qO());tO(c,f);d=zp(new tp(),'Details');tO(f,d);a=fC(new dC(),b);a.ye(false);tO(f,a);d.x(obb(new nbb(),e,a,d));}
-function vbb(a){kC(a.a,'');sE(a);}
-function wbb(){vbb(this);}
-function xbb(a){ubb();var b;b=sbb(new ibb(),a,null);sdb();zE(b);}
-function ybb(a){ubb();var b;b=sbb(new ibb(),a.b,a.a);sdb();zE(b);}
-function ibb(){}
-_=ibb.prototype=new Dr();_.lc=wbb;_.tN=igc+'ErrorPopup';_.tI=229;function kbb(b,a,c){b.a=c;return b;}
-function mbb(a){vbb(this.a);}
-function jbb(){}
-_=jbb.prototype=new fU();_.zc=mbb;_.tN=igc+'ErrorPopup$1';_.tI=230;function obb(b,a,c,d){b.a=c;b.b=d;return b;}
-function qbb(a){this.a.ye(true);this.b.ye(false);}
-function nbb(){}
-_=nbb.prototype=new fU();_.zc=qbb;_.tN=igc+'ErrorPopup$2';_.tI=231;function Abb(b,a){b.a=a;return b;}
-function Cbb(a,b,c){}
-function Dbb(a,b,c){}
-function Ebb(a,b,c){this.a.pb();}
-function zbb(){}
-_=zbb.prototype=new fU();_.cd=Cbb;_.dd=Dbb;_.ed=Ebb;_.tN=igc+'FieldEditListener';_.tI=232;_.a=null;function acb(a){a.h=yab(new wab());a.g=xt(a.h);}
-function ccb(b,a,c){acb(b);ecb(b,a,c);pr(b,b.h);return b;}
-function bcb(a){acb(a);pr(a,a.h);return a;}
-function dcb(d,c,a){var b;b=nz(new qw(),'<b>'+c+'<\/b>');Bab(d.h,d.i,0,b);ex(d.g,d.i,0,(xz(),Az),(aA(),dA));Bab(d.h,d.i,1,a);ex(d.g,d.i,1,(xz(),zz),(aA(),dA));d.i++;}
-function ecb(c,a,d){var b;b=fC(new dC(),d);FN(b,'resource-name-Label');jcb(c,a,b);}
-function fcb(d,b,e,f){var a,c;c=fC(new dC(),e);FN(c,'resource-name-Label');a=iA(new gA());jA(a,c);jA(a,f);jcb(d,b,a);}
-function gcb(a,b){Bab(a.h,a.i,0,b);st(a.g,a.i,0,2);a.i++;}
-function hcb(a){a.i=0;ky(a.h);}
-function jcb(b,a,c){Bab(b.h,0,0,nB(new xA(),a));ex(b.g,0,0,(xz(),zz),(aA(),dA));Bab(b.h,0,1,c);b.i++;}
-function kcb(c,b,a,d){Bab(c.h,b,a,d);}
-function lcb(){return Aab(this.h);}
-function Fbb(){}
-_=Fbb.prototype=new pab();_.pc=lcb;_.tN=igc+'FormStyleLayout';_.tI=233;_.i=0;function ucb(){ucb=d3;pE();}
-function rcb(c,b,d){var a;ucb();mE(c,true);c.i=ccb(new Fbb(),b,d);FN(c,'ks-popups-Popup');a=Ccb(new Bcb(),'images/close.gif');oB(a,ocb(new ncb(),c));kcb(c.i,0,2,a);hH(c,c.i);return c;}
-function scb(b,a,c){dcb(b.i,a,c);}
-function tcb(a,b){gcb(a.i,b);}
-function mcb(){}
-_=mcb.prototype=new kE();_.tN=igc+'FormStylePopup';_.tI=234;_.i=null;function ocb(b,a){b.a=a;return b;}
-function qcb(a){this.a.lc();}
-function ncb(){}
-_=ncb.prototype=new fU();_.zc=qcb;_.tN=igc+'FormStylePopup$1';_.tI=235;function Ecb(){Ecb=d3;qB();}
-function Ccb(b,a){Ecb();nB(b,a);FN(b,'image-Button');return b;}
-function Dcb(b,a,c){Ecb();nB(b,a);FN(b,'image-Button');b.te(c);return b;}
-function Bcb(){}
-_=Bcb.prototype=new xA();_.tN=igc+'ImageButton';_.tI=236;function edb(c,d,b){var a;a=nB(new xA(),'images/information.gif');a.te(b);oB(a,bdb(new adb(),c,d,b));pr(c,a);return c;}
-function Fcb(){}
-_=Fcb.prototype=new nr();_.tN=igc+'InfoPopup';_.tI=237;function bdb(b,a,d,c){b.b=d;b.a=c;return b;}
-function ddb(b){var a;a=rcb(new mcb(),'images/information.gif',this.b);tcb(a,hdb(new gdb(),this.a,'small-Text'));wE(a,wN(b),xN(b));zE(a);}
-function adb(){}
-_=adb.prototype=new fU();_.zc=ddb;_.tN=igc+'InfoPopup$1';_.tI=238;function hdb(c,a,b){fC(c,a);FN(c,b);return c;}
-function gdb(){}
-_=gdb.prototype=new dC();_.tN=igc+'Lbl';_.tI=239;function qdb(){qdb=d3;pE();}
-function odb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=nB(new xA(),'images/close.gif');}
-function pdb(a){qdb();mE(a,true);odb(a);jA(a.c,a.a);jA(a.c,a.b);jA(a.c,nB(new xA(),'images/searching.gif'));oB(a.b,ldb(new kdb(),a));hH(a,a.c);wE(a,0,0);FN(a,'loading-Popup');return a;}
-function rdb(a){kC(a.a,'');sE(a);}
-function sdb(){qdb();rdb(tdb());}
-function tdb(){qdb();if(vdb===null){vdb=pdb(new jdb());}return vdb;}
-function udb(){rdb(this);}
-function wdb(a){qdb();var b;b=tdb();kC(b.a,a);zE(b);}
-function jdb(){}
-_=jdb.prototype=new kE();_.lc=udb;_.tN=igc+'LoadingPopup';_.tI=240;var vdb=null;function ldb(b,a){b.a=a;return b;}
-function ndb(a){rdb(this.a);}
-function kdb(){}
-_=kdb.prototype=new fU();_.zc=ndb;_.tN=igc+'LoadingPopup$1';_.tI=241;function ydb(c,b,a){c.b=b;c.a=a;return c;}
-function xdb(){}
-_=xdb.prototype=new fU();_.tN=igc+'Pair';_.tI=242;_.a=0;_.b=0;function Fdb(a){a.b=xC(new nC());cUb(mMb(),Cdb(new Bdb(),a));pr(a,a.b);return a;}
-function beb(a){return aD(a.b,bD(a.b));}
-function ceb(b,a){b.a=a;}
-function Adb(){}
-_=Adb.prototype=new nr();_.tN=igc+'RulePackageSelector';_.tI=243;_.a=null;_.b=null;function Cdb(b,a){b.a=a;return b;}
-function Edb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){AC(this.a.b,b[a].j);if(this.a.a!==null&&EU(b[a].j,this.a.a)){gD(this.a.b,a);}}}
-function Bdb(){}
-_=Bdb.prototype=new vcb();_.pd=Edb;_.tN=igc+'RulePackageSelector$1';_.tI=244;function Beb(){Beb=d3;cs();}
-function zeb(f,g,d){var a,b,c,e;Beb();as(f,true);f.d=g;f.b=d;FN(f,'ks-popups-Popup');ds(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=iA(new gA());a=xC(new nC());wdb('Please wait...');eUb(mMb(),feb(new eeb(),f,a));zC(a,jeb(new ieb(),f,a));jA(c,a);e=zp(new tp(),'Change status');e.x(neb(new meb(),f,a));jA(c,e);b=zp(new tp(),'Cancel');b.x(reb(new qeb(),f));jA(c,b);fs(f,c);return f;}
-function Aeb(b,a){wdb('Updating status...');vTb(mMb(),b.d,b.c,b.b,veb(new ueb(),b));}
-function Ceb(b,a){b.a=a;}
-function deb(){}
-_=deb.prototype=new Dr();_.tN=igc+'StatusChangePopup';_.tI=245;_.a=null;_.b=false;_.c=null;_.d=null;function feb(b,a,c){b.a=c;return b;}
-function heb(a){var b,c;c=Fb(a,63);AC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){AC(this.a,c[b]);}sdb();}
-function eeb(){}
-_=eeb.prototype=new vcb();_.pd=heb;_.tN=igc+'StatusChangePopup$1';_.tI=246;function jeb(b,a,c){b.a=a;b.b=c;return b;}
-function leb(a){this.a.c=aD(this.b,bD(this.b));}
-function ieb(){}
-_=ieb.prototype=new fU();_.yc=leb;_.tN=igc+'StatusChangePopup$2';_.tI=247;function neb(b,a,c){b.a=a;b.b=c;return b;}
-function peb(b){var a;a=aD(this.b,bD(this.b));Aeb(this.a,a);this.a.lc();}
-function meb(){}
-_=meb.prototype=new fU();_.zc=peb;_.tN=igc+'StatusChangePopup$3';_.tI=248;function reb(b,a){b.a=a;return b;}
-function teb(a){this.a.lc();}
-function qeb(){}
-_=qeb.prototype=new fU();_.zc=teb;_.tN=igc+'StatusChangePopup$4';_.tI=249;function veb(b,a){b.a=a;return b;}
-function xeb(b,a){b.a.a.pb();sdb();}
-function yeb(a){xeb(this,a);}
-function ueb(){}
-_=ueb.prototype=new vcb();_.pd=yeb;_.tN=igc+'StatusChangePopup$5';_.tI=250;function Feb(){Feb=d3;ucb();}
-function Eeb(c,b,a){Feb();rcb(c,'images/attention_needed.png',b);scb(c,'Detail:',afb(c,a));return c;}
-function afb(c,b){var a;a=pK(new oK());FN(a,'editable-Surface');uK(a,12);aL(a,b);a.Be('100%');return a;}
-function Deb(){}
-_=Deb.prototype=new mcb();_.tN=igc+'ValidationMessageWidget';_.tI=251;function ifb(){ifb=d3;pE();}
-function gfb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=zp(new tp(),'OK');}
-function hfb(b,c,d){var a;ifb();mE(b,true);gfb(b);wE(b,c,d);jA(b.c,b.a);jA(b.c,b.b);a=b;b.b.x(dfb(new cfb(),b,a));hH(b,b.c);FN(b,'rule-warning-Popup');return b;}
-function jfb(a){kC(a.a,'');sE(a);}
-function kfb(){jfb(this);}
-function lfb(a,c,d){ifb();var b;b=hfb(new bfb(),c,d);kC(b.a,a);zE(b);}
-function bfb(){}
-_=bfb.prototype=new kE();_.lc=kfb;_.tN=igc+'WarningPopup';_.tI=252;function dfb(b,a,c){b.a=c;return b;}
-function ffb(a){jfb(this.a);}
-function cfb(){}
-_=cfb.prototype=new fU();_.zc=ffb;_.tN=igc+'WarningPopup$1';_.tI=253;function wfb(){wfb=d3;cs();}
-function vfb(d,b,f){var a,c,e;wfb();Fr(d);es(d,b);e=zp(new tp(),'Yes');c=zp(new tp(),'No');e.x(ofb(new nfb(),d,f));c.x(sfb(new rfb(),d));a=iA(new gA());jA(a,e);jA(a,c);fs(d,a);return d;}
-function mfb(){}
-_=mfb.prototype=new Dr();_.tN=igc+'YesNoDialog';_.tI=254;function ofb(b,a,c){b.a=a;b.b=c;return b;}
-function qfb(a){this.b.pb();this.a.lc();}
-function nfb(){}
-_=nfb.prototype=new fU();_.zc=qfb;_.tN=igc+'YesNoDialog$1';_.tI=255;function sfb(b,a){b.a=a;return b;}
-function ufb(a){this.a.lc();}
-function rfb(){}
-_=rfb.prototype=new fU();_.zc=ufb;_.tN=igc+'YesNoDialog$2';_.tI=256;function wxb(b,a,c){b.e=c;b.a=a;Bxb(b,a.e,a.d.n);Axb(b);return b;}
-function xxb(b,a){gcb(b.c,a);}
-function zxb(c,a,d){var b;b=eL(new vK());EK(b,a);aL(b,d);b.ye(false);return b;}
-function Axb(a){gv(a.b,sxb(new rxb(),a));}
-function Bxb(d,f,c){var a,b,e;d.b=fv(new av());lv(d.b,v()+'asset');mv(d.b,'multipart/form-data');nv(d.b,'post');e=jt(new it());mt(e,'fileUploadElement');b=iA(new gA());jA(b,zxb(d,'attachmentUUID',f));d.d=Dcb(new Bcb(),'images/upload.gif','Upload');jA(b,e);jA(b,fC(new dC(),'upload:'));jA(b,d.d);hH(d.b,b);d.c=ccb(new Fbb(),d.vb(),c);if(!d.a.c)dcb(d.c,'Upload new version:',d.b);a=zp(new tp(),'Download');a.x(kxb(new jxb(),d,f));dcb(d.c,'Download current version:',a);oB(d.d,oxb(new nxb(),d));pr(d,d.c);d.c.Be('100%');FN(d,d.Eb());}
-function Cxb(a){wdb('Uploading...');}
-function Dxb(a){pv(a.b);}
-function ixb(){}
-_=ixb.prototype=new nr();_.tN=ngc+'AssetAttachmentFileWidget';_.tI=257;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function yfb(b,a,c){wxb(b,a,c);xxb(b,nz(new qw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
-function Afb(){return 'images/decision_table.png';}
-function Bfb(){return 'decision-Table-upload';}
-function xfb(){}
-_=xfb.prototype=new ixb();_.vb=Afb;_.Eb=Bfb;_.tN=jgc+'DecisionTableXLSWidget';_.tI=258;function Dfb(){Dfb=d3;fgb=k1(new o0());agb=k1(new o0());Ffb=k1(new o0());Efb=zb('[Ljava.lang.String;',608,1,['not','exists','or']);{r1(fgb,'==','is equal to');r1(fgb,'!=','is not equal to');r1(fgb,'<','is less than');r1(fgb,'<=','less than or equal to');r1(fgb,'>','greater than');r1(fgb,'>=','greater than or equal to');r1(fgb,'|| ==','or equal to');r1(fgb,'|| !=','or not equal to');r1(fgb,'&& !=','and not equal to');r1(fgb,'&& >','and greater than');r1(fgb,'&& <','and less than');r1(fgb,'|| >','or greater than');r1(fgb,'|| <','or less than');r1(fgb,'&& <','and less than');r1(fgb,'|| >=','or greater than (or equal to)');r1(fgb,'|| <=','or less than (or equal to)');r1(fgb,'&& >=','and greater than (or equal to)');r1(fgb,'&& <=','or less than (or equal to)');r1(fgb,'&& contains','and contains');r1(fgb,'|| contains','or contains');r1(fgb,'&& matches','and matches');r1(fgb,'|| matches','or mat!
 ches');r1(fgb,'|| excludes','or excludes');r1(fgb,'&& excludes','and excludes');r1(fgb,'soundslike','sounds like');r1(agb,'not','There is no');r1(agb,'exists','There exists');r1(agb,'or','Any of');r1(Ffb,'assert','Insert');r1(Ffb,'assertLogical','Logically insert');r1(Ffb,'retract','Retract');r1(Ffb,'set','Set');r1(Ffb,'modify','Modify');}}
-function bgb(a){Dfb();return egb(a,Ffb);}
-function cgb(a){Dfb();return egb(a,agb);}
-function dgb(a){Dfb();return egb(a,fgb);}
-function egb(a,b){Dfb();if(n1(b,a)){return Fb(q1(b,a),1);}else{return a;}}
-var Efb,Ffb,agb,fgb;function jgb(){jgb=d3;Dgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=']);Fgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);Bgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);zgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);Egb=zb('[Ljava.lang.String;',608,1,['==','!=']);Cgb=zb('[Ljava.lang.String;',608,1,['==','!=','<','>','<=','>=']);ahb=zb('[Ljava.lang.String;',608,1,['==','!=','matches','soundslike']);Agb=zb('[Ljava.lang.String;',608,1,['contains','excludes','==','!=']);}
-function hgb(a){a.h=k1(new o0());a.c=k1(new o0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[614],[14],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[614],[14],[0],null);}
-function igb(a){jgb();hgb(a);return a;}
-function kgb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return Dgb;}else if(EU(d,'String')){return Fgb;}else if(EU(d,'Comparable')||EU(d,'Numeric')){return Bgb;}else if(EU(d,'Collection')){return zgb;}else{return Dgb;}}
-function mgb(i,g,d){var a,b,c,e,f,h,j;c=tgb(i);j=Fb(q1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(EU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.ic(f),63);}}}}return Fb(i.c.ic(g.c+'.'+d),63);}
-function lgb(f,g,a,c){var b,d,e,h,i;b=tgb(f);h=Fb(q1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(EU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.ic(e),63);}}}return Fb(f.c.ic(g+'.'+c),63);}
-function ogb(b,a){return Fb(b.g.ic(a),63);}
-function ngb(a,c){var b;b=Fb(a.h.ic(c),1);return Fb(a.g.ic(b),63);}
-function pgb(c,a,b){return Fb(c.f.ic(a+'.'+b),1);}
-function qgb(a){return ugb(a,a.h.rc());}
-function rgb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return Egb;}else if(EU(d,'String')){return ahb;}else if(EU(d,'Comparable')||EU(d,'Numeric')){return Cgb;}else if(EU(d,'Collection')){return Agb;}else{return Egb;}}
-function sgb(a,b){return a.h.db(b);}
-function tgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=k1(new o0());e=g.c.rc();for(b=bX(e);iX(b);){d=Fb(jX(b),1);if(FU(d,91)!=(-1)){c=FU(d,91);a=iV(d,0,c);f=iV(d,c+1,FU(d,93));h=iV(f,0,FU(f,61));r1(g.d,a,h);}}}return g.d;}
-function ugb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[608],[1],[d.b.a.c],null);b=0;for(c=bX(d);iX(c);){a[b]=Fb(jX(c),1);b++;}return a;}
-function ggb(){}
-_=ggb.prototype=new fU();_.tN=kgc+'SuggestionCompletionEngine';_.tI=259;_.d=null;_.e=null;_.f=null;_.g=null;var zgb,Agb,Bgb,Cgb,Dgb,Egb,Fgb,ahb;function xgb(b,a){a.a=Fb(b.Dd(),72);a.b=Fb(b.Dd(),72);a.c=Fb(b.Dd(),57);a.e=Fb(b.Dd(),63);a.f=Fb(b.Dd(),57);a.g=Fb(b.Dd(),57);a.h=Fb(b.Dd(),57);}
-function ygb(b,a){b.ff(a.a);b.ff(a.b);b.ff(a.c);b.ff(a.e);b.ff(a.f);b.ff(a.g);b.ff(a.h);}
-function chb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[618],[18],[0],null);}
-function dhb(a){chb(a);return a;}
-function ehb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[618],[18],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[618],[18],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
-function ghb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[618],[18],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
-function bhb(){}
-_=bhb.prototype=new fU();_.tN=lgc+'ActionFieldList';_.tI=260;function jhb(b,a){a.b=Fb(b.Dd(),73);}
-function khb(b,a){b.ff(a.b);}
-function mhb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function lhb(){}
-_=lhb.prototype=new fU();_.tN=lgc+'ActionFieldValue';_.tI=261;_.a=null;_.b=null;_.c=null;function qhb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
-function rhb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
-function uhb(a,b){dhb(a);a.a=b;return a;}
-function thb(a){dhb(a);return a;}
-function shb(){}
-_=shb.prototype=new bhb();_.tN=lgc+'ActionInsertFact';_.tI=262;_.a=null;function yhb(b,a){a.a=b.Ed();jhb(b,a);}
-function zhb(b,a){b.gf(a.a);khb(b,a);}
-function Chb(b,a){uhb(b,a);return b;}
-function Bhb(a){thb(a);return a;}
-function Ahb(){}
-_=Ahb.prototype=new shb();_.tN=lgc+'ActionInsertLogicalFact';_.tI=263;function aib(b,a){yhb(b,a);}
-function bib(b,a){zhb(b,a);}
-function dib(a,b){a.a=b;return a;}
-function cib(){}
-_=cib.prototype=new fU();_.tN=lgc+'ActionRetractFact';_.tI=264;_.a=null;function hib(b,a){a.a=b.Ed();}
-function iib(b,a){b.gf(a.a);}
-function lib(a,b){dhb(a);a.a=b;return a;}
-function kib(a){dhb(a);return a;}
-function jib(){}
-_=jib.prototype=new bhb();_.tN=lgc+'ActionSetField';_.tI=265;_.a=null;function pib(b,a){a.a=b.Ed();jhb(b,a);}
-function qib(b,a){b.gf(a.a);khb(b,a);}
-function tib(b,a){lib(b,a);return b;}
-function sib(a){kib(a);return a;}
-function rib(){}
-_=rib.prototype=new jib();_.tN=lgc+'ActionUpdateField';_.tI=266;function xib(b,a){pib(b,a);}
-function yib(b,a){qib(b,a);}
-function Aib(a,b){a.b=b;return a;}
-function Bib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[616],[16],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[616],[16],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
-function zib(){}
-_=zib.prototype=new fU();_.tN=lgc+'CompositeFactPattern';_.tI=267;_.a=null;_.b=null;function Fib(b,a){a.a=Fb(b.Dd(),74);a.b=b.Ed();}
-function ajb(b,a){b.ff(a.a);b.gf(a.b);}
-function cjb(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[617],[17],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[617],[17],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
-function ejb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[617],[17],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
-function bjb(){}
-_=bjb.prototype=new fU();_.tN=lgc+'CompositeFieldConstraint';_.tI=268;_.a=null;_.b=null;function hjb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),75);}
-function ijb(b,a){b.gf(a.a);b.ff(a.b);}
-function gkb(){}
-_=gkb.prototype=new fU();_.tN=lgc+'ISingleFieldConstraint';_.tI=269;_.e=0;_.f=null;function jjb(){}
-_=jjb.prototype=new gkb();_.tN=lgc+'ConnectiveConstraint';_.tI=270;_.a=null;function njb(b,a){a.a=b.Ed();kkb(b,a);}
-function ojb(b,a){b.gf(a.a);lkb(b,a);}
-function rjb(b){var a;a=new pjb();a.a=b.a;return a;}
-function sjb(e){var a,b,c,d;b=jV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
-function xjb(){return sjb(this);}
-function pjb(){}
-_=pjb.prototype=new fU();_.tS=xjb;_.tN=lgc+'DSLSentence';_.tI=271;_.a=null;function vjb(b,a){a.a=b.Ed();}
-function wjb(b,a){b.gf(a.a);}
-function zjb(b,a){b.c=a;return b;}
-function Ajb(b,a){if(b.b===null)b.b=new bjb();cjb(b.b,a);}
-function Cjb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[617],[17],[0],null);}else{return a.b.b;}}
-function Djb(a){if(a.a!==null&& !EU('',a.a)){return true;}else{return false;}}
-function Ejb(b,a){ejb(b.b,a);}
-function yjb(){}
-_=yjb.prototype=new fU();_.tN=lgc+'FactPattern';_.tI=272;_.a=null;_.b=null;_.c=null;function bkb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),31);a.c=b.Ed();}
-function ckb(b,a){b.gf(a.a);b.ff(a.b);b.gf(a.c);}
-function kkb(b,a){a.e=b.Bd();a.f=b.Ed();}
-function lkb(b,a){b.df(a.e);b.gf(a.f);}
-function okb(b,a,c){b.a=a;b.b=c;return b;}
-function ukb(){var a;a=qU(new pU());sU(a,this.a);if(EU('no-loop',this.a)){sU(a,' ');sU(a,this.b===null?'true':this.b);}else if(EU('salience',this.a)){sU(a,' ');sU(a,this.b);}else if(this.b!==null){sU(a,' "');sU(a,this.b);sU(a,'"');}return wU(a);}
-function nkb(){}
-_=nkb.prototype=new fU();_.tS=ukb;_.tN=lgc+'RuleAttribute';_.tI=273;_.a=null;_.b=null;function skb(b,a){a.a=b.Ed();a.b=b.Ed();}
-function tkb(b,a){b.gf(a.a);b.gf(a.b);}
-function wkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[622],[21],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[623],[22],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[624],[23],[0],null);}
-function xkb(a){wkb(a);return a;}
-function ykb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[622],[21],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function zkb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[623],[22],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[623],[22],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
-function Akb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[624],[23],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[624],[23],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
-function Ckb(h){var a,b,c,d,e,f,g;g=nY(new lY());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,16)){b=Fb(f,16);if(Djb(b)){pY(g,b.a);}for(e=0;e<Cjb(b).a;e++){c=Cjb(b)[e];if(ac(c,32)){a=Fb(c,32);if(nlb(a)){pY(g,a.b);}}}}}return g;}
-function Dkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],16)){b=Fb(c.b[a],16);if(b.a!==null&&EU(d,b.a)){return b;}}}return null;}
-function Ekb(d){var a,b,c;if(d.b===null){return null;}b=nY(new lY());for(a=0;a<d.b.a;a++){if(ac(d.b[a],16)){c=Fb(d.b[a],16);if(c.a!==null){pY(b,c.a);}}}return b;}
-function Fkb(k,b){var a,c,d,e,f,g,h,i,j;j=nY(new lY());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,16)){d=Fb(i,16);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(nlb(a)){pY(j,a.b);}}}}if(Djb(d)){pY(j,d.a);}}else{if(Djb(d)){pY(j,d.a);}}}}return j;}
-function alb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],28)){d=Fb(e.e[b],28);if(EU(d.a,a)){return true;}}else if(ac(e.e[b],27)){c=Fb(e.e[b],27);if(EU(c.a,a)){return true;}}}return false;}
-function blb(b,a){return tY(Ckb(b),a);}
-function clb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[622],[21],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function dlb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[623],[22],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],16)){e=Fb(f.b[a],16);if(e.a!==null&&alb(f,e.a)){return false;}}}}f.b=d;return true;}
-function elb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[624],[23],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
-function vkb(){}
-_=vkb.prototype=new fU();_.tN=lgc+'RuleModel';_.tI=274;_.c='1.0';_.d=null;function hlb(b,a){a.a=Fb(b.Dd(),76);a.b=Fb(b.Dd(),77);a.c=b.Ed();a.d=b.Ed();a.e=Fb(b.Dd(),78);}
-function ilb(b,a){b.ff(a.a);b.ff(a.b);b.gf(a.c);b.gf(a.d);b.ff(a.e);}
-function klb(b,a){b.c=a;return b;}
-function llb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',615,15,[new jjb()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[615],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new jjb();c.a=b;}}
-function nlb(a){if(a.b!==null&& !EU('',a.b)){return true;}else{return false;}}
-function jlb(){}
-_=jlb.prototype=new gkb();_.tN=lgc+'SingleFieldConstraint';_.tI=275;_.a=null;_.b=null;_.c=null;_.d=null;function qlb(b,a){a.a=Fb(b.Dd(),79);a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();kkb(b,a);}
-function rlb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);lkb(b,a);}
-function lmb(d,b,c,a){d.e=c;d.a=a;d.d=yab(new wab());d.f=b;d.b=c.a;d.c=ogb(d.a,c.a);FN(d.d,'model-builderInner-Background');nmb(d);pr(d,d.d);return d;}
-function nmb(e){var a,b,c,d,f;ky(e.d);Bab(e.d,0,0,pmb(e));c=yab(new wab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];Bab(c,a,0,omb(e,f));Bab(c,a,1,rmb(e,f));b=a;d=Ccb(new Bcb(),'images/delete_item_small.gif');oB(d,ulb(new tlb(),e,b));Bab(c,a,2,d);}Bab(e.d,0,1,c);}
-function omb(a,b){return fC(new dC(),b.a);}
-function pmb(d){var a,b,c;c=iA(new gA());b=Ccb(new Bcb(),'images/add_field_to_fact.gif');b.te('Add another field to this so you can set its value.');oB(b,emb(new dmb(),d));a='assert';if(ac(d.e,26)){a='assertLogical';}jA(c,hdb(new gdb(),bgb(a)+' '+d.e.a,'modeller-action-Label'));jA(c,b);return c;}
-function qmb(d,e){var a,b,c;c=rcb(new mcb(),'images/newex_wiz.gif','Add a field');FN(c,'ks-popups-Popup');a=xC(new nC());AC(a,'...');for(b=0;b<d.c.a;b++){AC(a,d.c[b]);}gD(a,0);scb(c,'Add field',a);zC(a,imb(new hmb(),d,a,c));wE(c,wN(e),xN(e));zE(c);}
-function rmb(c,d){var a,b;b=lgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return fqb(d.c,Clb(new Blb(),c,d),b);}else{a=eL(new vK());aL(a,d.c);yK(a,amb(new Flb(),c,d,a));if(EU(d.b,'Numeric')){zK(a,Fnb(a));}return a;}}
-function slb(){}
-_=slb.prototype=new pab();_.tN=mgc+'ActionInsertFactWidget';_.tI=276;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ulb(b,a,c){b.a=a;b.b=c;return b;}
-function wlb(b){var a;a=vfb(new mfb(),'Remove this item?',ylb(new xlb(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
-function tlb(){}
-_=tlb.prototype=new fU();_.zc=wlb;_.tN=mgc+'ActionInsertFactWidget$1';_.tI=277;function ylb(b,a,c){b.a=a;b.b=c;return b;}
-function Alb(){ghb(this.a.a.e,this.b);Fwb(this.a.a.f);}
-function xlb(){}
-_=xlb.prototype=new fU();_.pb=Alb;_.tN=mgc+'ActionInsertFactWidget$2';_.tI=278;function Clb(b,a,c){b.a=c;return b;}
-function Elb(a){this.a.c=a;}
-function Blb(){}
-_=Blb.prototype=new fU();_.af=Elb;_.tN=mgc+'ActionInsertFactWidget$3';_.tI=279;function amb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function cmb(a){this.c.c=CK(this.b);Fwb(this.a.f);}
-function Flb(){}
-_=Flb.prototype=new fU();_.yc=cmb;_.tN=mgc+'ActionInsertFactWidget$4';_.tI=280;function emb(b,a){b.a=a;return b;}
-function gmb(a){qmb(this.a,a);}
-function dmb(){}
-_=dmb.prototype=new fU();_.zc=gmb;_.tN=mgc+'ActionInsertFactWidget$5';_.tI=281;function imb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kmb(c){var a,b;a=aD(this.b,bD(this.b));b=pgb(this.a.a,this.a.e.a,a);ehb(this.a.e,mhb(new lhb(),a,'',b));Fwb(this.a.f);this.c.lc();}
-function hmb(){}
-_=hmb.prototype=new fU();_.yc=kmb;_.tN=mgc+'ActionInsertFactWidget$6';_.tI=282;function tmb(c,a,b){c.a=ut(new ot());FN(c.a,'model-builderInner-Background');c.a.ze(0,0,hdb(new gdb(),bgb('retract'),'modeller-action-Label'));c.a.ze(0,1,hdb(new gdb(),'['+b.a+']','modeller-action-Label'));pr(c,c.a);return c;}
-function smb(){}
-_=smb.prototype=new nr();_.tN=mgc+'ActionRetractFactWidget';_.tI=283;_.a=null;function ynb(e,b,d,a){var c;e.d=d;e.a=a;e.c=yab(new wab());e.e=b;FN(e.c,'model-builderInner-Background');if(sgb(e.a,d.a)){e.b=ngb(e.a,d.a);e.f=Fb(e.a.h.ic(d.a),1);}else{c=Dkb(b.c,d.a);e.b=ogb(e.a,c.c);e.f=c.c;}Anb(e);pr(e,e.c);return e;}
-function Anb(e){var a,b,c,d,f;ky(e.c);Bab(e.c,0,0,Cnb(e));c=yab(new wab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];Bab(c,a,0,Bnb(e,f));Bab(c,a,1,Enb(e,f));b=a;d=Ccb(new Bcb(),'images/delete_item_small.gif');oB(d,xmb(new wmb(),e,b));Bab(c,a,2,d);}Bab(e.c,0,1,c);}
-function Bnb(a,b){return fC(new dC(),b.a);}
-function Cnb(d){var a,b,c;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te('Add another field to this so you can set its value.');oB(a,Fmb(new Emb(),d));c='set';if(ac(d.d,29)){c='modify';}jA(b,hdb(new gdb(),bgb(c)+' ['+d.d.a+']','modeller-action-Label'));jA(b,a);return b;}
-function Dnb(d,e){var a,b,c;c=rcb(new mcb(),'images/newex_wiz.gif','Add a field');FN(c,'ks-popups-Popup');a=xC(new nC());AC(a,'...');for(b=0;b<d.b.a;b++){AC(a,d.b[b]);}gD(a,0);scb(c,'Add field',a);zC(a,dnb(new cnb(),d,a,c));wE(c,wN(e),xN(e));zE(c);}
-function Enb(d,f){var a,b,c,e;e='';if(sgb(d.a,d.d.a)){e=Fb(d.a.h.ic(d.d.a),1);}else{e=Dkb(d.e.c,d.d.a).c;}b=lgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return fqb(f.c,hnb(new gnb(),d,f),b);}else{c=fH(new DG());a=eL(new vK());aL(a,f.c);if(cV(f.c)!=0){gL(a,cV(f.c));}if(EU(f.b,'Numeric')){zK(a,Fnb(a));}yK(a,lnb(new knb(),d,f,a));zK(a,Abb(new zbb(),pnb(new onb(),d,a)));hH(c,a);return c;}}
-function Fnb(a){return tnb(new snb(),a);}
-function aob(){return Aab(this.c);}
-function vmb(){}
-_=vmb.prototype=new pab();_.pc=aob;_.tN=mgc+'ActionSetFieldWidget';_.tI=284;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function xmb(b,a,c){b.a=a;b.b=c;return b;}
-function zmb(b){var a;a=vfb(new mfb(),'Remove this item?',Bmb(new Amb(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
-function wmb(){}
-_=wmb.prototype=new fU();_.zc=zmb;_.tN=mgc+'ActionSetFieldWidget$1';_.tI=285;function Bmb(b,a,c){b.a=a;b.b=c;return b;}
-function Dmb(){ghb(this.a.a.d,this.b);Fwb(this.a.a.e);}
-function Amb(){}
-_=Amb.prototype=new fU();_.pb=Dmb;_.tN=mgc+'ActionSetFieldWidget$2';_.tI=286;function Fmb(b,a){b.a=a;return b;}
-function bnb(a){Dnb(this.a,a);}
-function Emb(){}
-_=Emb.prototype=new fU();_.zc=bnb;_.tN=mgc+'ActionSetFieldWidget$3';_.tI=287;function dnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function fnb(c){var a,b;a=aD(this.b,bD(this.b));b=pgb(this.a.a,this.a.f,a);ehb(this.a.d,mhb(new lhb(),a,'',b));Fwb(this.a.e);this.c.lc();}
-function cnb(){}
-_=cnb.prototype=new fU();_.yc=fnb;_.tN=mgc+'ActionSetFieldWidget$4';_.tI=288;function hnb(b,a,c){b.a=c;return b;}
-function jnb(a){this.a.c=a;}
-function gnb(){}
-_=gnb.prototype=new fU();_.af=jnb;_.tN=mgc+'ActionSetFieldWidget$5';_.tI=289;function lnb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nnb(a){this.b.c=CK(this.a);}
-function knb(){}
-_=knb.prototype=new fU();_.yc=nnb;_.tN=mgc+'ActionSetFieldWidget$6';_.tI=290;function pnb(b,a,c){b.a=c;return b;}
-function rnb(){gL(this.a,cV(CK(this.a)));}
-function onb(){}
-_=onb.prototype=new fU();_.pb=rnb;_.tN=mgc+'ActionSetFieldWidget$7';_.tI=291;function tnb(a,b){a.a=b;return a;}
-function vnb(a,b,c){}
-function wnb(c,a,b){if(vS(a)&&a!=61&& !gV(CK(this.a),'=')){AK(Fb(c,80));}}
-function xnb(a,b,c){}
-function snb(){}
-_=snb.prototype=new fU();_.cd=vnb;_.dd=wnb;_.ed=xnb;_.tN=mgc+'ActionSetFieldWidget$8';_.tI=292;function kob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=yab(new wab());FN(d.b,'model-builderInner-Background');mob(d);pr(d,d.b);return d;}
-function mob(c){var a,b,d;Bab(c.b,0,0,nob(c));if(c.d.a!==null){d=ebb(new dbb());a=c.d.a;for(b=0;b<a.a;b++){tO(d,Dsb(new Bqb(),c.c,a[b],c.a,false));}Bab(c.b,0,1,d);}}
-function nob(c){var a,b;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");oB(a,dob(new cob(),c));jA(b,fC(new dC(),cgb(c.d.b)));jA(b,a);FN(b,'modeller-composite-Label');return b;}
-function oob(e,f){var a,b,c,d;a=xC(new nC());b=e.a.e;AC(a,'Choose...');for(c=0;c<b.a;c++){AC(a,b[c]);}gD(a,0);d=rcb(new mcb(),'images/new_fact.gif','New fact pattern...');scb(d,'choose fact type',a);zC(a,hob(new gob(),e,a,d));FN(d,'ks-popups-Popup');wE(d,wN(f)-400,xN(f));zE(d);}
-function pob(){return Aab(this.b);}
-function bob(){}
-_=bob.prototype=new pab();_.pc=pob;_.tN=mgc+'CompositeFactPatternWidget';_.tI=293;_.a=null;_.b=null;_.c=null;_.d=null;function dob(b,a){b.a=a;return b;}
-function fob(a){oob(this.a,a);}
-function cob(){}
-_=cob.prototype=new fU();_.zc=fob;_.tN=mgc+'CompositeFactPatternWidget$1';_.tI=294;function hob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function job(a){Bib(this.a.d,zjb(new yjb(),aD(this.b,bD(this.b))));Fwb(this.a.c);this.c.lc();}
-function gob(){}
-_=gob.prototype=new fU();_.yc=job;_.tN=mgc+'CompositeFactPatternWidget$2';_.tI=295;function Bpb(f,d,b,a,c,g){var e;f.a=a;if(EU(g,'Numeric')){f.d=true;}else{f.d=false;}if(EU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',608,1,['true','false']);}f.c=c.c;e=c.a;f.b=mgb(e,d,b);f.e=fH(new DG());aqb(f);pr(f,f.e);return f;}
-function Cpb(c,b){var a;a=eL(new vK());FN(a,'constraint-value-Editor');if(b.f===null){aL(a,'');}else{aL(a,b.f);}if(b.f===null||cV(b.f)<5){gL(a,3);}else{gL(a,cV(b.f)-1);}yK(a,lpb(new kpb(),c,b,a));zK(a,Abb(new zbb(),ppb(new opb(),c,a)));return a;}
-function Epb(b,a){aqb(b);a.lc();}
-function Fpb(b){var a;if(b.b!==null){return fqb(b.a.f,Eob(new Dob(),b),b.b);}else{a=Cpb(b,b.a);if(b.d){zK(a,new bpb());}a.te('This is a literal value. What is shown is what the field is checked against.');return a;}}
-function aqb(b){var a;b.e.ab();if(b.a.e==0){a=nB(new xA(),'images/edit.gif');oB(a,wob(new rob(),b));hH(b.e,a);}else{switch(b.a.e){case 1:hH(b.e,Fpb(b));break;case 3:hH(b.e,bqb(b));break;case 2:hH(b.e,dqb(b));break;default:break;}}}
-function bqb(e){var a,b,c,d;a=Cpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=nB(new xA(),'images/function_assets.gif');c.te(d);a.te(d);b=eqb(e,c,a);return b;}
-function cqb(e,g,a){var b,c,d,f;b=rcb(new mcb(),'images/newex_wiz.gif','Field value');d=zp(new tp(),'Literal value');d.x(tpb(new spb(),e,a,b));scb(b,'Literal value:',eqb(e,d,edb(new Fcb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));tcb(b,nz(new qw(),'<hr/>'));tcb(b,hdb(new gdb(),'Advanced options','weak-Text'));if(Fkb(e.c,e.a).b>0){f=zp(new tp(),'Bound variable');f.x(xpb(new wpb(),e,a,b));scb(b,'A variable:',eqb(e,f,edb(new Fcb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=zp(new tp(),'New formula');c.x(tob(new sob(),e,a,b));scb(b,'A formula:',eqb(e,c,edb(new Fcb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));wE(b,wN(g),xN(g));zE(b);}
-function dqb(c){var a,b,d,e;e=Fkb(c.c,c.a);a=xC(new nC());if(c.a.f===null){AC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(uY(e,b),1);AC(a,d);if(c.a.f!==null&&EU(c.a.f,d)){gD(a,b);}}zC(a,Aob(new zob(),c,a));return a;}
-function eqb(d,a,c){var b;b=iA(new gA());jA(b,a);jA(b,c);b.Be('100%');return b;}
-function fqb(b,k,d){var a,c,e,f,g,h,i,j;a=xC(new nC());if(b===null||EU('',b)){AC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(FU(i,61)>0){h=hqb(i);f=h[0];c=h[1];j=f;BC(a,c,f);}else{BC(a,i,i);j=i;}if(b!==null&&EU(b,j)){gD(a,e);g=true;}}if(b!==null&& !g){BC(a,b,b);gD(a,d.a);}zC(a,hpb(new gpb(),k,a));return a;}
-function gqb(){return this.j;}
-function hqb(c){var a,b;b=yb('[Ljava.lang.String;',[608],[1],[2],null);a=FU(c,61);b[0]=iV(c,0,a);b[1]=iV(c,a+1,cV(c));return b;}
-function qob(){}
-_=qob.prototype=new pab();_.pc=gqb;_.tN=mgc+'ConstraintValueEditor';_.tI=296;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function wob(b,a){b.a=a;return b;}
-function yob(a){cqb(this.a,a,this.a.a);}
-function rob(){}
-_=rob.prototype=new fU();_.zc=yob;_.tN=mgc+'ConstraintValueEditor$1';_.tI=297;function tob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vob(a){this.b.e=3;Epb(this.a,this.c);}
-function sob(){}
-_=sob.prototype=new fU();_.zc=vob;_.tN=mgc+'ConstraintValueEditor$10';_.tI=298;function Aob(b,a,c){b.a=a;b.b=c;return b;}
-function Cob(a){this.a.a.f=aD(this.b,bD(this.b));}
-function zob(){}
-_=zob.prototype=new fU();_.yc=Cob;_.tN=mgc+'ConstraintValueEditor$2';_.tI=299;function Eob(b,a){b.a=a;return b;}
-function apb(a){this.a.a.f=a;}
-function Dob(){}
-_=Dob.prototype=new fU();_.af=apb;_.tN=mgc+'ConstraintValueEditor$3';_.tI=300;function dpb(a,b,c){}
-function epb(c,a,b){if(vS(a)){AK(Fb(c,80));}}
-function fpb(a,b,c){}
-function bpb(){}
-_=bpb.prototype=new fU();_.cd=dpb;_.dd=epb;_.ed=fpb;_.tN=mgc+'ConstraintValueEditor$4';_.tI=301;function hpb(a,c,b){a.b=c;a.a=b;return a;}
-function jpb(a){this.b.af(cD(this.a,bD(this.a)));}
-function gpb(){}
-_=gpb.prototype=new fU();_.yc=jpb;_.tN=mgc+'ConstraintValueEditor$5';_.tI=302;function lpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function npb(a){this.c.f=CK(this.b);rab(this.a);}
-function kpb(){}
-_=kpb.prototype=new fU();_.yc=npb;_.tN=mgc+'ConstraintValueEditor$6';_.tI=303;function ppb(b,a,c){b.a=c;return b;}
-function rpb(){gL(this.a,cV(CK(this.a)));}
-function opb(){}
-_=opb.prototype=new fU();_.pb=rpb;_.tN=mgc+'ConstraintValueEditor$7';_.tI=304;function tpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vpb(a){this.b.e=1;Epb(this.a,this.c);}
-function spb(){}
-_=spb.prototype=new fU();_.zc=vpb;_.tN=mgc+'ConstraintValueEditor$8';_.tI=305;function xpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function zpb(a){this.b.e=2;Epb(this.a,this.c);}
-function wpb(){}
-_=wpb.prototype=new fU();_.zc=zpb;_.tN=mgc+'ConstraintValueEditor$9';_.tI=306;function uqb(b,a){b.a=Fab(new Eab());b.c=nY(new lY());b.b=a;xqb(b);return b;}
-function vqb(b,a){jA(b.a,a);pY(b.c,a);}
-function xqb(a){yqb(a,a.b.a);pr(a,a.a);}
-function yqb(g,e){var a,b,c,d,f;b=jV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=pqb(new nqb(),g);vqb(g,c);}else if(a==125){tqb(c,cV(rqb(c))+1);c=null;}else{if(c===null&&d===null){d=eC(new dC());vqb(g,d);}if(d!==null){kC(d,jC(d)+Eb(a));}else if(c!==null){sqb(c,rqb(c)+Eb(a));}}}}
-function zqb(c){var a,b,d;b='';for(a=c.c.qc();a.kc();){d=Fb(a.sc(),20);if(ac(d,81)){b=b+jC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+rqb(Fb(d,82))+'} ';}}c.b.a=lV(b);}
-function Aqb(){return bbb(this.a);}
-function iqb(){}
-_=iqb.prototype=new pab();_.pc=Aqb;_.tN=mgc+'DSLSentenceWidget';_.tI=307;_.a=null;_.b=null;_.c=null;function kqb(b,a){b.a=a;return b;}
-function mqb(a){zqb(this.a.c);rab(this.a);}
-function jqb(){}
-_=jqb.prototype=new fU();_.yc=mqb;_.tN=mgc+'DSLSentenceWidget$1';_.tI=308;function oqb(a){a.b=iA(new gA());}
-function pqb(b,a){b.c=a;oqb(b);b.a=eL(new vK());jA(b.b,nz(new qw(),'&nbsp;'));jA(b.b,b.a);jA(b.b,nz(new qw(),'&nbsp;'));yK(b.a,kqb(new jqb(),b));pr(b,b.b);return b;}
-function rqb(a){return CK(a.a);}
-function sqb(b,a){aL(b.a,a);}
-function tqb(b,a){gL(b.a,a);}
-function nqb(){}
-_=nqb.prototype=new pab();_.tN=mgc+'DSLSentenceWidget$FieldEditor';_.tI=309;_.a=null;function Csb(a){a.c=yab(new wab());}
-function Dsb(k,h,i,c,a){var b,d,e,f,g,j;Csb(k);k.e=Fb(i,16);k.b=c;k.d=h;k.a=a;Bab(k.c,0,0,ftb(k));f=xt(k.c);ex(f,0,0,(xz(),yz),(aA(),cA));hx(f,0,0,'modeller-fact-TypeHeader');g=yab(new wab());Bab(k.c,1,0,g);for(j=0;j<Cjb(k.e).a;j++){d=Cjb(k.e)[j];e=j;itb(k,g,j,d,true);b=Ccb(new Bcb(),'images/delete_item_small.gif');b.te('Remove this whole restriction');oB(b,zrb(new Cqb(),k,e));Bab(g,j,5,b);}if(k.a)FN(k.c,'modeller-fact-pattern-Widget');pr(k,k.c);return k;}
-function Fsb(j,b){var a,c,d,e,f,g,h,i;f=iA(new gA());d=null;e=Ccb(new Bcb(),'images/add_field_to_fact.gif');e.te('Add a field to this nested constraint.');oB(e,Drb(new Crb(),j,b));if(EU(b.a,'&&')){d='All of:';}else{d='Any of:';}jA(f,e);jA(f,nz(new qw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=yab(new wab());FN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){itb(j,h,g,i[g],false);c=g;a=Ccb(new Bcb(),'images/delete_item_small.gif');a.te('Remove this (nested) restriction');oB(a,bsb(new asb(),j,b,c));Bab(h,g,5,a);}}jA(f,h);return f;}
-function atb(g,b,c){var a,d,e,f;f=kgb(g.b,g.e.c,c);a=xC(new nC());AC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];BC(a,dgb(e),e);if(EU(e,b.a)){gD(a,d+1);}}zC(a,krb(new jrb(),g,b,a));return a;}
-function btb(d,a,b,c){var e;e=pgb(d.d.a,b,c);return Bpb(new qob(),d.e,c,a,d.d,e);}
-function ctb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=Fab(new Eab());for(e=0;e<a.a.a;e++){b=a.a[e];jA(d,atb(f,b,a.c));jA(d,btb(f,b,c,a.c));}return d;}else{return null;}}
-function dtb(c,b){var a,d,e;if(c.a&& !alb(c.d.c,c.e.a)){d=iA(new gA());e=eL(new vK());if(c.e.a===null){aL(e,'');}else{aL(e,c.e.a);}gL(e,3);jA(d,e);a=zp(new tp(),'Set');a.x(grb(new frb(),c,e,b));jA(d,a);scb(b,'Variable name',d);}}
-function etb(e,c,d){var a,b;a=iA(new gA());FN(a,'modeller-field-Label');if(!nlb(c)){if(e.a&&d){b=Dcb(new Bcb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');oB(b,srb(new rrb(),e,c));jA(a,b);}}else{jA(a,fC(new dC(),'['+c.b+']'));}jA(a,fC(new dC(),c.c));return a;}
-function ftb(c){var a,b;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te('Add a field to this condition, or bind a varible to this fact.');oB(a,nsb(new msb(),c));if(c.e.a!==null){jA(b,fC(new dC(),'['+c.e.a+'] '+c.e.c));}else{jA(b,fC(new dC(),c.e.c));}jA(b,a);return b;}
-function gtb(f,b){var a,c,d,e;e=rgb(f.b,f.e.c,b.c);a=xC(new nC());AC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];BC(a,dgb(d),d);if(EU(d,b.d)){gD(a,c+1);}}zC(a,orb(new nrb(),f,b,a));return a;}
-function htb(e,b){var a,c,d;d=iA(new gA());d.Be('100%');c=nB(new xA(),'images/function_assets.gif');c.te('This is a formula expression that is evaluated to be true or false.');jA(d,c);if(b.f===null){b.f='';}a=eL(new vK());aL(a,b.f);yK(a,jsb(new isb(),e,b,a));a.Be('100%');jA(d,a);return d;}
-function itb(e,b,c,a,d){if(ac(a,32)){jtb(e,e.d,b,c,a,d);}else if(ac(a,31)){Bab(b,c,0,Fsb(e,Fb(a,31)));st(xt(b),c,0,5);}}
-function jtb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){Bab(d,f,0,etb(h,b,g));Bab(d,f,1,gtb(h,b));Bab(d,f,2,ntb(h,b,h.e.c));Bab(d,f,3,ctb(h,b,h.e.c));a=Ccb(new Bcb(),'images/add_connective.gif');a.te('Add more options to this fields values.');oB(a,fsb(new esb(),h,b,e));Bab(d,f,4,a);}else if(b.e==5){Bab(d,f,0,htb(h,b));st(xt(d),f,0,5);}}
-function ktb(d,g,a){var b,c,e,f;c=rcb(new mcb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=lp(new kp());e=eL(new vK());b=zp(new tp(),'Set');mp(f,e);mp(f,b);b.x(wrb(new vrb(),d,e,a,c));scb(c,'Variable name',f);wE(c,wN(g),xN(g));zE(c);}
-function mtb(i,j){var a,b,c,d,e,f,g,h;g=rcb(new mcb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);FN(g,'ks-popups-Popup');a=xC(new nC());AC(a,'...');c=ogb(i.b,i.e.c);for(e=0;e<c.a;e++){AC(a,c[e]);}gD(a,0);zC(a,zsb(new ysb(),i,a,g));scb(g,'Add a restriction on a field',a);b=xC(new nC());AC(b,'...');BC(b,'All of (And)','&&');BC(b,'Any of (Or)','||');gD(b,0);zC(b,Eqb(new Dqb(),i,b,g));f=edb(new Fcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=iA(new gA());jA(d,b);jA(d,f);scb(g,'Multiple field constraint',d);tcb(g,hdb(new gdb(),'Advanced options','weak-Text'));h=zp(new tp(),'New formula');h.x(crb(new brb(),i,g));scb(g,'Add a new formula style expression',h);dtb(i,g);wE(g,wN(j),xN(j));zE(g);}
-function ltb(i,j,b){var a,c,d,e,f,g,h;h=rcb(new mcb(),'images/newex_wiz.gif','Add fields to this constraint');FN(h,'ks-popups-Popup');a=xC(new nC());AC(a,'...');d=ogb(i.b,i.e.c);for(f=0;f<d.a;f++){AC(a,d[f]);}gD(a,0);zC(a,rsb(new qsb(),i,b,a,h));scb(h,'Add a restriction on a field',a);c=xC(new nC());AC(c,'...');BC(c,'All of (And)','&&');BC(c,'Any of (Or)','||');gD(c,0);zC(c,vsb(new usb(),i,c,b,h));g=edb(new Fcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=iA(new gA());jA(e,c);jA(e,g);scb(h,'Multiple field constraint',e);wE(h,wN(j),xN(j));zE(h);}
-function ntb(c,a,b){var d;d=pgb(c.d.a,b,a.c);return Bpb(new qob(),c.e,a.c,a,c.d,d);}
-function otb(){return Aab(this.c);}
-function Bqb(){}
-_=Bqb.prototype=new pab();_.pc=otb;_.tN=mgc+'FactPatternWidget';_.tI=310;_.a=false;_.b=null;_.d=null;_.e=null;function zrb(b,a,c){b.a=a;b.b=c;return b;}
-function Brb(a){if(Bh('Remove this item?')){Ejb(this.a.e,this.b);Fwb(this.a.d);}}
-function Cqb(){}
-_=Cqb.prototype=new fU();_.zc=Brb;_.tN=mgc+'FactPatternWidget$1';_.tI=311;function Eqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function arb(b){var a;a=new bjb();a.a=cD(this.b,bD(this.b));Ajb(this.a.e,a);Fwb(this.a.d);this.c.lc();}
-function Dqb(){}
-_=Dqb.prototype=new fU();_.yc=arb;_.tN=mgc+'FactPatternWidget$10';_.tI=312;function crb(b,a,c){b.a=a;b.b=c;return b;}
-function erb(b){var a;a=new jlb();a.e=5;Ajb(this.a.e,a);Fwb(this.a.d);this.b.lc();}
-function brb(){}
-_=brb.prototype=new fU();_.zc=erb;_.tN=mgc+'FactPatternWidget$11';_.tI=313;function grb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function irb(b){var a;a=CK(this.c);if(Ewb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=CK(this.c);Fwb(this.a.d);this.b.lc();}
-function frb(){}
-_=frb.prototype=new fU();_.zc=irb;_.tN=mgc+'FactPatternWidget$12';_.tI=314;function krb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mrb(a){this.b.a=cD(this.a,bD(this.a));}
-function jrb(){}
-_=jrb.prototype=new fU();_.yc=mrb;_.tN=mgc+'FactPatternWidget$13';_.tI=315;function orb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function qrb(a){this.c.d=cD(this.b,bD(this.b));rab(this.a.d);yV(),BV;}
-function nrb(){}
-_=nrb.prototype=new fU();_.yc=qrb;_.tN=mgc+'FactPatternWidget$14';_.tI=316;function srb(b,a,c){b.a=a;b.b=c;return b;}
-function urb(a){ktb(this.a,a,this.b);}
-function rrb(){}
-_=rrb.prototype=new fU();_.zc=urb;_.tN=mgc+'FactPatternWidget$15';_.tI=317;function wrb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function yrb(b){var a;a=CK(this.d);if(Ewb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;Fwb(this.a.d);this.c.lc();}
-function vrb(){}
-_=vrb.prototype=new fU();_.zc=yrb;_.tN=mgc+'FactPatternWidget$16';_.tI=318;function Drb(b,a,c){b.a=a;b.b=c;return b;}
-function Frb(a){ltb(this.a,a,this.b);}
-function Crb(){}
-_=Crb.prototype=new fU();_.zc=Frb;_.tN=mgc+'FactPatternWidget$2';_.tI=319;function bsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function dsb(a){if(Bh('Remove this item from nested constraint?')){ejb(this.b,this.c);Fwb(this.a.d);}}
-function asb(){}
-_=asb.prototype=new fU();_.zc=dsb;_.tN=mgc+'FactPatternWidget$3';_.tI=320;function fsb(b,a,c,d){b.a=c;b.b=d;return b;}
-function hsb(a){llb(this.a);Fwb(this.b);}
-function esb(){}
-_=esb.prototype=new fU();_.zc=hsb;_.tN=mgc+'FactPatternWidget$4';_.tI=321;function jsb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function lsb(a){this.c.f=CK(this.b);rab(this.a.d);}
-function isb(){}
-_=isb.prototype=new fU();_.yc=lsb;_.tN=mgc+'FactPatternWidget$5';_.tI=322;function nsb(b,a){b.a=a;return b;}
-function psb(a){mtb(this.a,a);}
-function msb(){}
-_=msb.prototype=new fU();_.zc=psb;_.tN=mgc+'FactPatternWidget$6';_.tI=323;function rsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function tsb(a){cjb(this.c,klb(new jlb(),aD(this.b,bD(this.b))));Fwb(this.a.d);this.d.lc();}
-function qsb(){}
-_=qsb.prototype=new fU();_.yc=tsb;_.tN=mgc+'FactPatternWidget$7';_.tI=324;function vsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function xsb(b){var a;a=new bjb();a.a=cD(this.c,bD(this.c));cjb(this.b,a);Fwb(this.a.d);this.d.lc();}
-function usb(){}
-_=usb.prototype=new fU();_.yc=xsb;_.tN=mgc+'FactPatternWidget$8';_.tI=325;function zsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Bsb(a){Ajb(this.a.e,klb(new jlb(),aD(this.b,bD(this.b))));Fwb(this.a.d);this.c.lc();}
-function ysb(){}
-_=ysb.prototype=new fU();_.yc=Bsb;_.tN=mgc+'FactPatternWidget$9';_.tI=326;function gub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=bcb(new Fbb());b=d.a;for(c=0;c<b.a;c++){a=b[c];dcb(f.a,a.a,jub(f,a,c));}pr(f,f.a);return f;}
-function hub(c,a){var b;b=jq(new iq());if(a.b===null){pq(b,true);a.b='true';}else{pq(b,EU(a.b,'true'));}b.x(rtb(new qtb(),c,a,b));return b;}
-function jub(e,a,d){var b,c;if(EU(a.a,'no-loop')){return kub(e,d);}b=null;if(EU(a.a,'enabled')||EU(a.a,'auto-focus')||EU(a.a,'lock-on-active')){b=hub(e,a);}else{b=lub(e,a);}c=Fab(new Eab());jA(c,b);jA(c,kub(e,d));return c;}
-function kub(c,a){var b;b=nB(new xA(),'images/delete_item_small.gif');oB(b,Ftb(new Etb(),c,a));return b;}
-function lub(c,a){var b;b=eL(new vK());gL(b,cV(a.b)<3?3:cV(a.b));aL(b,a.b);yK(b,vtb(new utb(),c,a,b));if(EU(a.a,'date-effective')||EU(a.a,'date-expires')){if(a.b===null||EU('',a.b))aL(b,'dd-MMM-yyyy');gL(b,10);}zK(b,ztb(new ytb(),c,b));return b;}
-function mub(){var a;a=xC(new nC());AC(a,'Choose...');AC(a,'salience');AC(a,'enabled');AC(a,'date-effective');AC(a,'date-expires');AC(a,'no-loop');AC(a,'agenda-group');AC(a,'activation-group');AC(a,'duration');AC(a,'auto-focus');AC(a,'lock-on-active');AC(a,'ruleflow-group');AC(a,'dialect');return a;}
-function nub(){return this.a.pc();}
-function ptb(){}
-_=ptb.prototype=new pab();_.pc=nub;_.tN=mgc+'RuleAttributeWidget';_.tI=327;_.a=null;_.b=null;_.c=null;function rtb(b,a,c,d){b.a=c;b.b=d;return b;}
-function ttb(a){this.a.b=oq(this.b)?'true':'false';}
-function qtb(){}
-_=qtb.prototype=new fU();_.zc=ttb;_.tN=mgc+'RuleAttributeWidget$1';_.tI=328;function vtb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function xtb(a){this.b.b=CK(this.c);rab(this.a);}
-function utb(){}
-_=utb.prototype=new fU();_.yc=xtb;_.tN=mgc+'RuleAttributeWidget$2';_.tI=329;function ztb(b,a,c){b.a=c;return b;}
-function Btb(a,b,c){}
-function Ctb(a,b,c){}
-function Dtb(a,b,c){gL(this.a,cV(CK(this.a)));}
-function ytb(){}
-_=ytb.prototype=new fU();_.cd=Btb;_.dd=Ctb;_.ed=Dtb;_.tN=mgc+'RuleAttributeWidget$3';_.tI=330;function Ftb(b,a,c){b.a=a;b.b=c;return b;}
-function bub(b){var a;a=vfb(new mfb(),'Remove this rule option?',dub(new cub(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
-function Etb(){}
-_=Etb.prototype=new fU();_.zc=bub;_.tN=mgc+'RuleAttributeWidget$4';_.tI=331;function dub(b,a,c){b.a=a;b.b=c;return b;}
-function fub(){clb(this.a.a.b,this.b);Fwb(this.a.a.c);}
-function cub(){}
-_=cub.prototype=new fU();_.pb=fub;_.tN=mgc+'RuleAttributeWidget$5';_.tI=332;function twb(b,a){b.c=Fb(a.b,83);b.a=cLb((aLb(),fLb),a.d.o);b.b=yab(new wab());Dwb(b);FN(b.b,'model-builder-Background');pr(b,b.b);b.Be('100%');b.qe('100%');return b;}
-function uwb(b,a){Akb(b.c,lib(new jib(),a));Fwb(b);}
-function vwb(b,a){Akb(b.c,tib(new rib(),a));Fwb(b);}
-function wwb(b,a){zkb(b.c,Aib(new zib(),a));Fwb(b);}
-function xwb(b,a){zkb(b.c,rjb(a));Fwb(b);}
-function ywb(b,a){Akb(b.c,rjb(a));Fwb(b);}
-function zwb(b,a){zkb(b.c,zjb(new yjb(),a));Fwb(b);}
-function Awb(a,b){Akb(a.c,dib(new cib(),b));Fwb(a);}
-function Cwb(b){var a;a=Ccb(new Bcb(),'images/new_item.gif');a.te('Add an option to the rule, to modify its behavior when evaluated or executed.');oB(a,yvb(new xvb(),b));return a;}
-function Dwb(c){var a,b;ky(c.b);b=Ccb(new Bcb(),'images/new_item.gif');b.te('Add a condition to this rule.');oB(b,qvb(new pub(),c));Bab(c.b,0,0,fC(new dC(),'WHEN'));Bab(c.b,0,2,b);Bab(c.b,1,1,axb(c,c.c));Bab(c.b,2,0,fC(new dC(),'THEN'));a=Ccb(new Bcb(),'images/new_item.gif');a.te('Add an action to this rule.');oB(a,uvb(new tvb(),c));Bab(c.b,2,2,a);Bab(c.b,3,1,bxb(c,c.c));Bab(c.b,4,0,fC(new dC(),'(options)'));Bab(c.b,4,2,Cwb(c));Bab(c.b,5,1,gub(new ptb(),c,c.c));}
-function Ewb(b,a){return blb(b.c,a)||sgb(b.a,a);}
-function Fwb(a){Dwb(a);rab(a);}
-function axb(e,c){var a,b,d,f,g;f=ebb(new dbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,16)){g=Dsb(new Bqb(),e,d,e.a,true);tO(f,gxb(e,c,b,g));tO(f,fxb(e));}else if(ac(d,30)){g=kob(new bob(),e,Fb(d,30),e.a);tO(f,gxb(e,c,b,g));tO(f,fxb(e));}else if(ac(d,14)){}else{throw lU(new kU(),"I don't know what type of pattern that is.");}}a=ebb(new dbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,14)){g=uqb(new iqb(),Fb(d,14));tO(a,gxb(e,c,b,g));FN(a,'model-builderInner-Background');}}tO(f,a);return f;}
-function bxb(g,e){var a,b,c,d,f,h,i;h=ebb(new dbb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,28)){i=ynb(new vmb(),g,Fb(a,28),g.a);}else if(ac(a,25)){i=lmb(new slb(),g,Fb(a,25),g.a);}else if(ac(a,27)){i=tmb(new smb(),g.a,Fb(a,27));}else if(ac(a,14)){i=uqb(new iqb(),Fb(a,14));FN(i,'model-builderInner-Background');}tO(h,fxb(g));b=Fab(new Eab());f=Ccb(new Bcb(),'images/delete_item_small.gif');f.te('Remove this action.');d=c;oB(f,awb(new Fvb(),g,e,d));jA(b,i);if(!ac(i,84)){i.Be('100%');b.Be('100%');}jA(b,f);tO(h,b);}return h;}
-function cxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=rcb(new mcb(),'images/new_fact.gif','Add a new action...');FN(k,'ks-popups-Popup');q=Ekb(n.c);p=xC(new nC());l=xC(new nC());j=xC(new nC());AC(p,'Choose ...');AC(l,'Choose ...');AC(j,'Choose ...');for(i=q.qc();i.kc();){o=Fb(i.sc(),1);AC(p,o);AC(l,o);AC(j,o);}d=qgb(n.a);for(f=0;f<d.a;f++){AC(p,d[f]);}gD(p,0);zC(p,rub(new qub(),n,p,k));zC(l,vub(new uub(),n,l,k));zC(j,zub(new yub(),n,j,k));if(FC(p)>1){scb(k,'Set the values of a field on',p);}if(FC(j)>1){e=iA(new gA());jA(e,j);g=nB(new xA(),'images/information.gif');g.te('Modify a field on a fact, and notify the engine to re-evaluate rules.');jA(e,g);scb(k,'Modify a fact',e);}if(FC(l)>1){scb(k,'Retract the fact',l);}b=xC(new nC());c=xC(new nC());AC(b,'Choose ...');AC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];AC(b,h);AC(c,h);}zC(b,Dub(new Cub(),n,b,k));zC(c,bvb(new avb(),n,c,k));if(FC(b)>1){scb(k,'Insert a new fact',b);e=iA(new gA());jA(e,c);g=nB(new xA(),'images/inf!
 ormation.gif');g.te('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');jA(e,g);scb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=xC(new nC());AC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];BC(a,sjb(m),oT(f));}zC(a,fvb(new evb(),n,a,k));scb(k,'DSL sentence',a);}wE(k,dc(ai()/3),dc(Fh()/3));zE(k);}
-function dxb(c,d){var a,b;b=rcb(new mcb(),'images/config.png','Add an option to the rule');a=mub();gD(a,0);zC(a,Cvb(new Bvb(),c,a,b));FN(b,'ks-popups-Popup');scb(b,'Attribute',a);wE(b,wN(d)-400,xN(d));zE(b);}
-function exb(j,k){var a,b,c,d,e,f,g,h,i;h=rcb(new mcb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=xC(new nC());BC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){AC(e,f[g]);}gD(e,0);if(f.a>0)scb(h,'Fact',e);zC(e,iwb(new hwb(),j,e,h));FN(h,'ks-popups-Popup');c=(Dfb(),Efb);b=xC(new nC());BC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];BC(b,cgb(a),a);}gD(b,0);if(f.a>0)scb(h,'Condition type',b);zC(b,mwb(new lwb(),j,b,h));if(j.a.b.a>0){d=xC(new nC());AC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];BC(d,sjb(i),oT(g));}zC(d,qwb(new pwb(),j,d,h));scb(h,'DSL sentence',d);}wE(h,wN(k)-400,xN(k));zE(h);}
-function fxb(b){var a;a=nz(new qw(),'&nbsp;');a.qe('2px');return a;}
-function gxb(f,d,b,g){var a,c,e;a=Fab(new Eab());e=Ccb(new Bcb(),'images/delete_item_small.gif');e.te('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;oB(e,jvb(new ivb(),f,d,c));a.Be('100%');g.Be('100%');jA(a,g);jA(a,e);return a;}
-function hxb(){return Aab(this.b)||this.j;}
-function oub(){}
-_=oub.prototype=new pab();_.pc=hxb;_.tN=mgc+'RuleModeller';_.tI=333;_.a=null;_.b=null;_.c=null;function qvb(b,a){b.a=a;return b;}
-function svb(a){exb(this.a,a);}
-function pub(){}
-_=pub.prototype=new fU();_.zc=svb;_.tN=mgc+'RuleModeller$1';_.tI=334;function rub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function tub(a){uwb(this.a,aD(this.c,bD(this.c)));this.b.lc();}
-function qub(){}
-_=qub.prototype=new fU();_.yc=tub;_.tN=mgc+'RuleModeller$10';_.tI=335;function vub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function xub(a){Awb(this.a,aD(this.c,bD(this.c)));this.b.lc();}
-function uub(){}
-_=uub.prototype=new fU();_.yc=xub;_.tN=mgc+'RuleModeller$11';_.tI=336;function zub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Bub(a){vwb(this.a,aD(this.b,bD(this.b)));this.c.lc();}
-function yub(){}
-_=yub.prototype=new fU();_.yc=Bub;_.tN=mgc+'RuleModeller$12';_.tI=337;function Dub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Fub(b){var a;a=aD(this.b,bD(this.b));Akb(this.a.c,uhb(new shb(),a));Fwb(this.a);this.c.lc();}
-function Cub(){}
-_=Cub.prototype=new fU();_.yc=Fub;_.tN=mgc+'RuleModeller$13';_.tI=338;function bvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function dvb(b){var a;a=aD(this.b,bD(this.b));Akb(this.a.c,Chb(new Ahb(),a));Fwb(this.a);this.c.lc();}
-function avb(){}
-_=avb.prototype=new fU();_.yc=dvb;_.tN=mgc+'RuleModeller$14';_.tI=339;function fvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function hvb(b){var a;a=mT(cD(this.b,bD(this.b)));ywb(this.a,this.a.a.a[a]);this.c.lc();}
-function evb(){}
-_=evb.prototype=new fU();_.yc=hvb;_.tN=mgc+'RuleModeller$15';_.tI=340;function jvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function lvb(b){var a;a=vfb(new mfb(),'Remove this entire condition?',nvb(new mvb(),this,this.c,this.b));wE(a,wN(b),xN(b));zE(a);}
-function ivb(){}
-_=ivb.prototype=new fU();_.zc=lvb;_.tN=mgc+'RuleModeller$16';_.tI=341;function nvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function pvb(){if(dlb(this.c,this.b)){Fwb(this.a.a);}else{xbb("Can't remove that item as it is used in the action part of the rule.");}}
-function mvb(){}
-_=mvb.prototype=new fU();_.pb=pvb;_.tN=mgc+'RuleModeller$17';_.tI=342;function uvb(b,a){b.a=a;return b;}
-function wvb(a){cxb(this.a,a);}
-function tvb(){}
-_=tvb.prototype=new fU();_.zc=wvb;_.tN=mgc+'RuleModeller$2';_.tI=343;function yvb(b,a){b.a=a;return b;}
-function Avb(a){dxb(this.a,a);}
-function xvb(){}
-_=xvb.prototype=new fU();_.zc=Avb;_.tN=mgc+'RuleModeller$3';_.tI=344;function Cvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Evb(a){ykb(this.a.c,okb(new nkb(),aD(this.b,bD(this.b)),''));Fwb(this.a);this.c.lc();}
-function Bvb(){}
-_=Bvb.prototype=new fU();_.yc=Evb;_.tN=mgc+'RuleModeller$4';_.tI=345;function awb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function cwb(b){var a;a=vfb(new mfb(),'Remove this item?',ewb(new dwb(),this,this.c,this.b));wE(a,wN(b),xN(b));zE(a);}
-function Fvb(){}
-_=Fvb.prototype=new fU();_.zc=cwb;_.tN=mgc+'RuleModeller$5';_.tI=346;function ewb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function gwb(){elb(this.c,this.b);Fwb(this.a.a);}
-function dwb(){}
-_=dwb.prototype=new fU();_.pb=gwb;_.tN=mgc+'RuleModeller$6';_.tI=347;function iwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kwb(b){var a;a=aD(this.b,bD(this.b));if(!EU(a,'IGNORE')){zwb(this.a,a);this.c.lc();}}
-function hwb(){}
-_=hwb.prototype=new fU();_.yc=kwb;_.tN=mgc+'RuleModeller$7';_.tI=348;function mwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function owb(b){var a;a=cD(this.b,bD(this.b));if(!EU(a,'IGNORE')){wwb(this.a,a);this.c.lc();}}
-function lwb(){}
-_=lwb.prototype=new fU();_.yc=owb;_.tN=mgc+'RuleModeller$8';_.tI=349;function qwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function swb(b){var a;a=mT(cD(this.b,bD(this.b)));xwb(this.a,this.a.a.b[a]);this.c.lc();}
-function pwb(){}
-_=pwb.prototype=new fU();_.yc=swb;_.tN=mgc+'RuleModeller$9';_.tI=350;function kxb(b,a,c){b.a=c;return b;}
-function mxb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
-function jxb(){}
-_=jxb.prototype=new fU();_.zc=mxb;_.tN=ngc+'AssetAttachmentFileWidget$1';_.tI=351;function oxb(b,a){b.a=a;return b;}
-function qxb(a){Cxb(this.a);Dxb(this.a);}
-function nxb(){}
-_=nxb.prototype=new fU();_.zc=qxb;_.tN=ngc+'AssetAttachmentFileWidget$2';_.tI=352;function sxb(b,a){b.a=a;return b;}
-function vxb(a){}
-function uxb(a){sdb();if(aV(a.a,'OK')>(-1)){f_b(this.a.e);}else{xbb('Unable to upload the file.');}}
-function rxb(){}
-_=rxb.prototype=new fU();_.od=vxb;_.nd=uxb;_.tN=ngc+'AssetAttachmentFileWidget$3';_.tI=353;function jyb(){jyb=d3;ucb();}
-function hyb(c){var a,b;jyb();rcb(c,'images/new_wiz.gif','Create a new fact template');c.a=ut(new ot());c.b=eL(new vK());scb(c,'Name:',c.b);scb(c,'Fact attributes:',c.a);a=nB(new xA(),'images/new_item.gif');oB(a,ayb(new Fxb(),c));scb(c,'Add a new attribute',a);b=zp(new tp(),'Create');b.x(eyb(new dyb(),c));scb(c,'',b);return c;}
-function iyb(b){var a;a=yt(b.a);b.a.ze(a,0,eL(new vK()));b.a.ze(a,1,myb(b));}
-function kyb(d){var a,b,c,e,f;b='template '+CK(d.b)+'\n';for(a=0;a<yt(d.a);a++){e=Fb(ty(d.a,a,1),85);f=aD(e,bD(e));c=CK(Fb(ty(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
-function lyb(b,a){b.c=a;}
-function myb(b){var a;a=xC(new nC());AC(a,'String');AC(a,'Integer');AC(a,'Float');AC(a,'Date');AC(a,'Boolean');return a;}
-function Exb(){}
-_=Exb.prototype=new mcb();_.tN=ngc+'FactTemplateWizard';_.tI=354;_.a=null;_.b=null;_.c=null;function ayb(b,a){b.a=a;return b;}
-function cyb(a){iyb(this.a);}
-function Fxb(){}
-_=Fxb.prototype=new fU();_.zc=cyb;_.tN=ngc+'FactTemplateWizard$1';_.tI=355;function eyb(b,a){b.a=a;return b;}
-function gyb(a){jDb(this.a.c);this.a.lc();}
-function dyb(){}
-_=dyb.prototype=new fU();_.zc=gyb;_.tN=ngc+'FactTemplateWizard$2';_.tI=356;function oyb(b,a,c){wxb(b,a,c);return b;}
-function qyb(){return 'images/model_large.png';}
-function ryb(){return 'editable-Surface';}
-function nyb(){}
-_=nyb.prototype=new ixb();_.vb=qyb;_.Eb=ryb;_.tN=ngc+'ModelAttachmentFileWidget';_.tI=357;function qzb(){qzb=d3;ucb();}
-function ozb(a){a.b=bcb(new Fbb());a.d=bcb(new Fbb());}
-function pzb(f,b){var a,c,d,e;qzb();rcb(f,'images/new_wiz.gif','Create a new package');ozb(f);f.c=eL(new vK());f.a=pK(new oK());gcb(f.d,nz(new qw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));dcb(f.d,'Name:',f.c);dcb(f.d,'Description:',f.a);f.c.te('The name of the package. Avoid spaces, use underscore instead.');e=jG(new hG(),'action','Create new pa!
 ckage');d=jG(new hG(),'action','Import from drl file');pq(e,true);f.d.ye(true);e.x(uyb(new tyb(),f));f.b.ye(false);d.x(yyb(new xyb(),f));a=lp(new kp());mp(a,e);mp(a,d);tcb(f,a);tcb(f,f.d);tcb(f,f.b);dcb(f.b,'DRL file to import:',szb(b,f));c=zp(new tp(),'Create package');c.x(Cyb(new Byb(),f,b));dcb(f.d,'',c);FN(f,'ks-popups-Popup');return f;}
-function rzb(d,b,a,c){wdb('Creating package - please wait...');ETb(mMb(),b,a,bzb(new azb(),d,c));}
-function szb(a,d){qzb();var b,c,e,f;f=fv(new av());lv(f,v()+'package');mv(f,'multipart/form-data');nv(f,'post');c=iA(new gA());f.Ae(c);e=jt(new it());mt(e,'classicDRLFile');jA(c,e);jA(c,fC(new dC(),'upload:'));b=Dcb(new Bcb(),'images/upload.gif','Import');oB(b,gzb(new fzb(),f));jA(c,b);gv(f,kzb(new jzb(),a,d,e));return f;}
-function syb(){}
-_=syb.prototype=new mcb();_.tN=ngc+'NewPackageWizard';_.tI=358;_.a=null;_.c=null;function uyb(b,a){b.a=a;return b;}
-function wyb(a){this.a.d.ye(true);this.a.b.ye(false);}
-function tyb(){}
-_=tyb.prototype=new fU();_.zc=wyb;_.tN=ngc+'NewPackageWizard$1';_.tI=359;function yyb(b,a){b.a=a;return b;}
-function Ayb(a){this.a.d.ye(false);this.a.b.ye(true);}
-function xyb(){}
-_=xyb.prototype=new fU();_.zc=Ayb;_.tN=ngc+'NewPackageWizard$2';_.tI=360;function Cyb(b,a,c){b.a=a;b.b=c;return b;}
-function Eyb(b,a){return dV(a,'[a-zA-Z\\.]*');}
-function Fyb(a){if(Eyb(this,CK(this.a.c))){rzb(this.a,CK(this.a.c),CK(this.a.a),this.b);this.a.lc();}else{aL(this.a.c,'');zh('Invalid package name, use java-style package name');}}
-function Byb(){}
-_=Byb.prototype=new fU();_.zc=Fyb;_.tN=ngc+'NewPackageWizard$3';_.tI=361;function bzb(b,a,c){b.a=c;return b;}
-function dzb(b,a){sdb();sFb(b.a);}
-function ezb(a){dzb(this,a);}
-function azb(){}
-_=azb.prototype=new vcb();_.pd=ezb;_.tN=ngc+'NewPackageWizard$4';_.tI=362;function gzb(a,b){a.a=b;return a;}
-function izb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){wdb('Importing drl package, please wait, as this could take some time...');pv(this.a);}}
-function fzb(){}
-_=fzb.prototype=new fU();_.zc=izb;_.tN=ngc+'NewPackageWizard$5';_.tI=363;function kzb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
-function nzb(a){if(cV(lt(this.c))==0){zh('You did not choose a drl file to import !');Bv(a,true);}else if(!CU(lt(this.c),'.drl')){zh("You can only import '.drl' files.");Bv(a,true);}}
-function mzb(a){if(aV(a.a,'OK')>(-1)){zh('Package was imported successfully. ');sFb(this.a);this.b.lc();}else{xbb('Unable to import into the package. ['+a.a+']');}sdb();}
-function jzb(){}
-_=jzb.prototype=new fU();_.od=nzb;_.nd=mzb;_.tN=ngc+'NewPackageWizard$6';_.tI=364;function nBb(h,e,f){var a,b,c,d,g;h.c=ccb(new Fbb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=fH(new DG());g=eL(new vK());a=zp(new tp(),'Build package');a.te('This will validate and compile all the assets in a package.');a.x(gAb(new uzb(),h,b,g));c=zp(new tp(),'Show package source');c.x(kAb(new jAb(),h,e));dcb(h.c,'View source for package',c);d=iA(new gA());jA(d,a);jA(d,nz(new qw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));jA(d,g);jA(d,edb(new Fcb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));dcb(h.c,'Build binary package:',d);gcb(h.c,nz(new qw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));gcb(h.c,b);FN(h.c,'package-Editor');h.c.Be('100%');pr(h,h.c);return h;}
-function pBb(d,a,c){var b;a.ab();b=iA(new gA());jA(b,fC(new dC(),'Validating and building package, please wait...'));jA(b,nB(new xA(),'images/red_anime.gif'));wdb('Please wait...');hH(a,b);fg(DAb(new CAb(),d,c,a));}
-function qBb(i,e,a){var b,c,d,f,g,h;a.ab();b=ut(new ot());FN(b,'build-Results');bz(b,0,1,'Format');bz(b,0,2,'Name');bz(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ze(f,0,nB(new xA(),'images/error.gif'));bz(b,f,1,d.a);bz(b,f,2,d.b);bz(b,f,3,d.c);if(!EU('package',d.a)){h=zp(new tp(),'Show');h.x(kBb(new jBb(),i,d));b.ze(f,4,h);}}b.Be('100%');g=zG(new xG(),b);BG(g,true);EN(g,'100%','25em');hH(a,g);}
-function rBb(g,i){var a,b,c,d,e,f,h;wdb('Loading existing snapshots...');c=rcb(new mcb(),'images/snapshot.png','Create a snapshot for deployment.');tcb(c,nz(new qw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=sO(new qO());scb(c,'Choose or create snapshot name:',h);f=nY(new lY());d=eL(new vK());e='NEW: ';dUb(mMb(),g.a.j,wzb(new vzb(),g,f,h,d));a=eL(new vK());scb(c,'Comment:',a);b=zp(new tp(),'Create new snapshot');scb(c,'',b);b.x(Ezb(new Dzb(),g,f,d,a,c));c.Be('50%');wE(c,dc((tab()-rE(c))/2),100);zE(c);}
-function sBb(e,a){var b,c,d,f;a.ab();f=sO(new qO());tO(f,nz(new qw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=uBb(e.a);b=nz(new qw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");tO(f,b);d=zp(new tp(),'Create snapshot for deployment');d.x(gBb(new fBb(),e));tO(f,d);hH(a,f);}
-function tBb(b,a){wdb('Assembling package source...');fg(oAb(new nAb(),b,a));}
-function uBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
-function vBb(b,c){var a,d;d=rcb(new mcb(),'images/view_source.gif','Viewing source for: '+c);a=pK(new oK());uK(a,30);a.Be('100%');tK(a,80);tcb(d,a);aL(a,b);a.ne(true);a.te('THIS IS READ ONLY - you may copy and paste, but not edit.');zK(a,xAb(new wAb(),a,b));sdb();wE(d,dc((tab()-rE(d))/2),100);zE(d);}
-function tzb(){}
-_=tzb.prototype=new nr();_.tN=ngc+'PackageBuilderWidget';_.tI=365;_.a=null;_.b=null;_.c=null;function gAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function iAb(a){pBb(this.a,this.b,CK(this.c));}
-function uzb(){}
-_=uzb.prototype=new fU();_.zc=iAb;_.tN=ngc+'PackageBuilderWidget$1';_.tI=366;function wzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
-function yzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=jG(new hG(),'snapshotNameGroup',f[c].b);pY(this.b,b);tO(this.c,b);}d=iA(new gA());e=jG(new hG(),'snapshotNameGroup','NEW: ');jA(d,e);this.a.ne(false);e.x(Azb(new zzb(),this,this.a));jA(d,this.a);pY(this.b,e);tO(this.c,d);sdb();}
-function vzb(){}
-_=vzb.prototype=new vcb();_.pd=yzb;_.tN=ngc+'PackageBuilderWidget$10';_.tI=367;function Azb(b,a,c){b.a=c;return b;}
-function Czb(a){this.a.ne(true);}
-function zzb(){}
-_=zzb.prototype=new fU();_.zc=Czb;_.tN=ngc+'PackageBuilderWidget$11';_.tI=368;function Ezb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
-function aAb(d){var a,b,c;c=false;for(b=this.f.qc();b.kc();){a=Fb(b.sc(),87);if(oq(a)){this.a=nq(a);if(!EU(nq(a),'NEW: ')){c=true;}break;}}if(EU(this.a,'NEW: ')){this.a=CK(this.e);}if(EU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}DTb(mMb(),this.b.a.j,this.a,c,CK(this.c),cAb(new bAb(),this,this.d));}
-function Dzb(){}
-_=Dzb.prototype=new fU();_.zc=aAb;_.tN=ngc+'PackageBuilderWidget$12';_.tI=369;_.a='';function cAb(b,a,c){b.a=a;b.b=c;return b;}
-function eAb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.lc();}
-function fAb(a){eAb(this,a);}
-function bAb(){}
-_=bAb.prototype=new vcb();_.pd=fAb;_.tN=ngc+'PackageBuilderWidget$13';_.tI=370;function kAb(b,a,c){b.a=c;return b;}
-function mAb(a){tBb(this.a.m,this.a.j);}
-function jAb(){}
-_=jAb.prototype=new fU();_.zc=mAb;_.tN=ngc+'PackageBuilderWidget$2';_.tI=371;function oAb(a,c,b){a.b=c;a.a=b;return a;}
-function qAb(){sTb(mMb(),this.b,sAb(new rAb(),this,this.a));}
-function nAb(){}
-_=nAb.prototype=new fU();_.pb=qAb;_.tN=ngc+'PackageBuilderWidget$3';_.tI=372;function sAb(b,a,c){b.a=c;return b;}
-function uAb(c,b){var a;a=Fb(b,1);vBb(a,c.a);}
-function vAb(a){uAb(this,a);}
-function rAb(){}
-_=rAb.prototype=new vcb();_.pd=vAb;_.tN=ngc+'PackageBuilderWidget$4';_.tI=373;function xAb(a,b,c){a.a=b;a.b=c;return a;}
-function zAb(a,b,c){aL(this.a,this.b);}
-function AAb(a,b,c){aL(this.a,this.b);}
-function BAb(a,b,c){aL(this.a,this.b);}
-function wAb(){}
-_=wAb.prototype=new fU();_.cd=zAb;_.dd=AAb;_.ed=BAb;_.tN=ngc+'PackageBuilderWidget$5';_.tI=374;function DAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function FAb(){tTb(mMb(),this.a.a.m,this.c,bBb(new aBb(),this,this.b));}
-function CAb(){}
-_=CAb.prototype=new fU();_.pb=FAb;_.tN=ngc+'PackageBuilderWidget$6';_.tI=375;function bBb(b,a,c){b.a=a;b.b=c;return b;}
-function dBb(c,a){var b;sdb();if(a===null){sBb(c.a.a,c.b);}else{b=Fb(a,88);qBb(c.a.a,b,c.b);}}
-function eBb(a){dBb(this,a);}
-function aBb(){}
-_=aBb.prototype=new vcb();_.pd=eBb;_.tN=ngc+'PackageBuilderWidget$7';_.tI=376;function gBb(b,a){b.a=a;return b;}
-function iBb(a){rBb(this.a,a);}
-function fBb(){}
-_=fBb.prototype=new fU();_.zc=iBb;_.tN=ngc+'PackageBuilderWidget$8';_.tI=377;function kBb(b,a,c){b.a=a;b.b=c;return b;}
-function mBb(a){oIb(this.a.b,this.b.d);}
-function jBb(){}
-_=jBb.prototype=new fU();_.zc=mBb;_.tN=ngc+'PackageBuilderWidget$9';_.tI=378;function tEb(e,b,c,a,d){bcb(e);e.b=b;e.c=c;e.a=a;e.e=d;FN(e,'package-Editor');e.Be('100%');zEb(e);return e;}
-function vEb(b){var a;a=pK(new oK());a.Be('100%');uK(a,8);aL(a,b.b.d);yK(a,qDb(new pDb(),b,a));tK(a,100);return xEb(b,a);}
-function wEb(b,a){wdb('Saving package configuration. Please wait ...');uUb(mMb(),b.b,cCb(new bCb(),b,a));}
-function xEb(d,a){var b,c;c=iA(new gA());jA(c,a);b=nB(new xA(),'images/max_min.gif');b.te('Increase view area');jA(c,b);oB(b,mDb(new lDb(),d,a));return c;}
-function yEb(g){var a,b,c,d,e,f,h;a=pK(new oK());a.Be('100%');uK(a,8);tK(a,100);aL(a,g.b.f);yK(a,pCb(new oCb(),g,a));f=iA(new gA());jA(f,a);h=sO(new qO());b=nB(new xA(),'images/max_min.gif');oB(b,tCb(new sCb(),g,a));b.te('Increase view area.');tO(h,b);e=nB(new xA(),'images/new_import.gif');oB(e,xCb(new wCb(),g,a));tO(h,e);e.te('Add a new Type/Class import to the package.');d=nB(new xA(),'images/new_global.gif');oB(d,BCb(new ACb(),g,a));d.te('Add a new global variable declaration.');tO(h,d);c=nB(new xA(),'images/fact_template.gif');oB(c,dDb(new cDb(),g,a));c.te('Add a new fact template.');f.Be('100%');jA(f,h);return f;}
-function zEb(c){var a,b;hcb(c);gcb(c,aFb(c));dcb(c,'Description:',vEb(c));dcb(c,'Header:',yEb(c));gcb(c,nz(new qw(),'<hr/>'));dcb(c,'Last modified:',fC(new dC(),a0(c.b.i)));dcb(c,'Last contributor:',fC(new dC(),c.b.h));gcb(c,nz(new qw(),'<hr/>'));c.f=mz(new qw());b=iA(new gA());a=Ccb(new Bcb(),'images/edit.gif');a.te('Change status.');oB(a,ECb(new xBb(),c));jA(b,c.f);if(!c.b.g){jA(b,a);}CEb(c,c.b.l);dcb(c,'Status:',b);if(!c.b.g){gcb(c,BEb(c));}gcb(c,nz(new qw(),'<hr/>'));}
-function AEb(a){wdb('Refreshing package data...');iUb(mMb(),a.b.m,lCb(new kCb(),a));}
-function BEb(f){var a,b,c,d,e;c=iA(new gA());e=zp(new tp(),'Save and validate configuration');e.x(BDb(new ADb(),f));jA(c,e);a=zp(new tp(),'Archive');a.x(FDb(new EDb(),f));jA(c,a);b=zp(new tp(),'Copy');b.x(dEb(new cEb(),f));jA(c,b);d=zp(new tp(),'Rename');d.x(hEb(new gEb(),f));jA(c,d);return c;}
-function CEb(b,a){qz(b.f,'<b>'+a+'<\/b>');}
-function DEb(d){var a,b,c;c=rcb(new mcb(),'images/new_wiz.gif','Copy the package');tcb(c,nz(new qw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=eL(new vK());scb(c,'New package name:',a);b=zp(new tp(),'OK');scb(c,'',b);b.x(zBb(new yBb(),d,a,c));c.Be('40%');wE(c,dc(ai()/3),dc(Fh()/3));zE(c);}
-function EEb(d){var a,b,c;c=rcb(new mcb(),'images/new_wiz.gif','Rename the package');tcb(c,nz(new qw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=eL(new vK());scb(c,'New package name:',a);b=zp(new tp(),'OK');scb(c,'',b);b.x(lEb(new kEb(),d,a,c));c.Be('40%');wE(c,dc(ai()/3),dc(Fh()/3));zE(c);}
-function FEb(b,c){var a;a=zeb(new deb(),b.b.m,true);Ceb(a,xDb(new wDb(),b,a));wE(a,wN(c),xN(c));zE(a);}
-function aFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=nB(new xA(),'images/warning.gif');a=iA(new gA());jA(a,b);c=nz(new qw(),'<b>There were errors validating this package configuration.');jA(a,c);d=zp(new tp(),'View errors');d.x(tDb(new bDb(),e));jA(a,d);return a;}else{return fH(new DG());}}
-function wBb(){}
-_=wBb.prototype=new Fbb();_.tN=ngc+'PackageEditor';_.tI=379;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ECb(b,a){b.a=a;return b;}
-function aDb(a){FEb(this.a,a);}
-function xBb(){}
-_=xBb.prototype=new fU();_.zc=aDb;_.tN=ngc+'PackageEditor$1';_.tI=380;function zBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function BBb(a){ATb(mMb(),this.a.b.j,CK(this.b),DBb(new CBb(),this,this.c));}
-function yBb(){}
-_=yBb.prototype=new fU();_.zc=BBb;_.tN=ngc+'PackageEditor$10';_.tI=381;function DBb(b,a,c){b.a=a;b.b=c;return b;}
-function FBb(b,a){qGb(b.a.a.e);zh('Package copied successfully.');b.b.lc();}
-function aCb(a){FBb(this,a);}
-function CBb(){}
-_=CBb.prototype=new vcb();_.pd=aCb;_.tN=ngc+'PackageEditor$11';_.tI=382;function cCb(b,a,c){b.a=a;b.b=c;return b;}
-function eCb(b,a){wGb(b.a.a);b.a.d=Fb(a,89);AEb(b.a);wdb('Package configuration updated successfully, refreshing content cache...');eLb((aLb(),fLb),b.a.b.j,hCb(new gCb(),b,b.b));}
-function fCb(a){eCb(this,a);}
-function bCb(){}
-_=bCb.prototype=new vcb();_.pd=fCb;_.tN=ngc+'PackageEditor$12';_.tI=383;function hCb(b,a,c){b.a=c;return b;}
-function jCb(){if(this.a!==null){qGb(this.a);}sdb();}
-function gCb(){}
-_=gCb.prototype=new fU();_.pb=jCb;_.tN=ngc+'PackageEditor$13';_.tI=384;function lCb(b,a){b.a=a;return b;}
-function nCb(a){sdb();this.a.b=Fb(a,19);zEb(this.a);}
-function kCb(){}
-_=kCb.prototype=new vcb();_.pd=nCb;_.tN=ngc+'PackageEditor$14';_.tI=385;function pCb(b,a,c){b.a=a;b.b=c;return b;}
-function rCb(a){this.a.b.f=CK(this.b);mGb(this.a.c);}
-function oCb(){}
-_=oCb.prototype=new fU();_.yc=rCb;_.tN=ngc+'PackageEditor$16';_.tI=386;function tCb(b,a,c){b.a=c;return b;}
-function vCb(a){if(sK(this.a)!=32){uK(this.a,32);}else{uK(this.a,8);}}
-function sCb(){}
-_=sCb.prototype=new fU();_.zc=vCb;_.tN=ngc+'PackageEditor$17';_.tI=387;function xCb(b,a,c){b.a=a;b.b=c;return b;}
-function zCb(a){aL(this.b,CK(this.b)+'\n'+'import <your class here>');this.a.b.f=CK(this.b);}
-function wCb(){}
-_=wCb.prototype=new fU();_.zc=zCb;_.tN=ngc+'PackageEditor$18';_.tI=388;function BCb(b,a,c){b.a=a;b.b=c;return b;}
-function DCb(a){aL(this.b,CK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=CK(this.b);}
-function ACb(){}
-_=ACb.prototype=new fU();_.zc=DCb;_.tN=ngc+'PackageEditor$19';_.tI=389;function tDb(b,a){b.a=a;return b;}
-function vDb(a){var b;b=Eeb(new Deb(),this.a.d.a,this.a.d.b);wE(b,dc(ai()/4),xN(a));zE(b);}
-function bDb(){}
-_=bDb.prototype=new fU();_.zc=vDb;_.tN=ngc+'PackageEditor$2';_.tI=390;function dDb(b,a,c){b.a=a;b.b=c;return b;}
-function fDb(a){var b;b=hyb(new Exb());wE(b,wN(a)-400,xN(a)-250);lyb(b,hDb(new gDb(),this,this.b,b));zE(b);}
-function cDb(){}
-_=cDb.prototype=new fU();_.zc=fDb;_.tN=ngc+'PackageEditor$20';_.tI=391;function hDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function jDb(a){aL(a.b,CK(a.b)+'\n'+kyb(a.c));a.a.a.b.f=CK(a.b);}
-function kDb(){jDb(this);}
-function gDb(){}
-_=gDb.prototype=new fU();_.pb=kDb;_.tN=ngc+'PackageEditor$21';_.tI=392;function mDb(b,a,c){b.a=c;return b;}
-function oDb(a){if(sK(this.a)!=32){uK(this.a,32);}else{uK(this.a,8);}}
-function lDb(){}
-_=lDb.prototype=new fU();_.zc=oDb;_.tN=ngc+'PackageEditor$22';_.tI=393;function qDb(b,a,c){b.a=a;b.b=c;return b;}
-function sDb(a){this.a.b.d=CK(this.b);mGb(this.a.c);}
-function pDb(){}
-_=pDb.prototype=new fU();_.yc=sDb;_.tN=ngc+'PackageEditor$23';_.tI=394;function xDb(b,a,c){b.a=a;b.b=c;return b;}
-function zDb(){CEb(this.a,this.b.c);}
-function wDb(){}
-_=wDb.prototype=new fU();_.pb=zDb;_.tN=ngc+'PackageEditor$3';_.tI=395;function BDb(b,a){b.a=a;return b;}
-function DDb(a){wEb(this.a,null);}
-function ADb(){}
-_=ADb.prototype=new fU();_.zc=DDb;_.tN=ngc+'PackageEditor$4';_.tI=396;function FDb(b,a){b.a=a;return b;}
-function bEb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;wEb(this.a,this.a.e);}}
-function EDb(){}
-_=EDb.prototype=new fU();_.zc=bEb;_.tN=ngc+'PackageEditor$5';_.tI=397;function dEb(b,a){b.a=a;return b;}
-function fEb(a){DEb(this.a);}
-function cEb(){}
-_=cEb.prototype=new fU();_.zc=fEb;_.tN=ngc+'PackageEditor$6';_.tI=398;function hEb(b,a){b.a=a;return b;}
-function jEb(a){EEb(this.a);}
-function gEb(){}
-_=gEb.prototype=new fU();_.zc=jEb;_.tN=ngc+'PackageEditor$7';_.tI=399;function lEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nEb(a){sUb(mMb(),this.a.b.m,CK(this.b),pEb(new oEb(),this,this.c));}
-function kEb(){}
-_=kEb.prototype=new fU();_.zc=nEb;_.tN=ngc+'PackageEditor$8';_.tI=400;function pEb(b,a,c){b.a=a;b.b=c;return b;}
-function rEb(b,a){qGb(b.a.a.e);zh('Package renamed successfully.');b.b.lc();}
-function sEb(a){rEb(this,a);}
-function oEb(){}
-_=oEb.prototype=new vcb();_.pd=sEb;_.tN=ngc+'PackageEditor$9';_.tI=401;function EHb(a){a.f=oGb(new cFb(),a);}
-function FHb(b,a){aIb(b,a,null,null);return b;}
-function aIb(g,b,h,f){var a,c,d,e;EHb(g);g.b=b;g.h=h;g.c=uM(new hL());g.d=yab(new wab());g.g=new sGb();yM(g.c,g.g);e=sO(new qO());if(f===null){a=ut(new ot());hx(a.n,0,0,'new-asset-Icons');ex(a.n,0,0,(xz(),yz),(aA(),cA));a.ze(0,0,dIb(g));tO(e,a);a.Be('100%');}tO(e,g.c);Bab(g.d,0,0,e);c=xt(g.d);ix(c,0,0,(aA(),dA));tt(xt(g.d),0,1,2);ex(xt(g.d),0,1,(xz(),yz),(aA(),dA));hIb(g);d=aN(g.c,0);if(d!==null)kN(g.c,d);Bab(g.d,0,1,nz(new qw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));kx(xt(g.d),0,0,'25%');ex(xt(g.d),0,1,(xz(),zz),(aA(),dA));g.e=jdc(new ncc(),g.b,'rulelist');pr(g,g.d);return g;}
-function bIb(d,a,c){var b;b=gIb(d,a.j,'images/package.gif',CHb(new BHb(),vFb(new uFb(),d,a)));b.y(gIb(d,'Business rule assets','images/rule_asset.gif',iIb(d,a.m,(p_(),q_))));b.y(gIb(d,'Technical rule assets','images/technical_rule_assets.gif',iIb(d,a.m,(p_(),s_))));b.y(gIb(d,'Functions','images/function_assets.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['function']))));b.y(gIb(d,'DSL','images/dsl.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['dsl']))));b.y(gIb(d,'Model','images/model_asset.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['jar']))));wM(d.c,b);if(c){lN(d.c,b,true);}}
-function dIb(h){var a,b,c,d,e,f,g,i;g=iA(new gA());d=nB(new xA(),'images/new_package.gif');d.te('Create a new package');oB(d,aHb(new FGb(),h));i=Ccb(new Bcb(),'images/model_asset.gif');oB(i,eHb(new dHb(),h));i.te('This creates a new model archive - models contain classes/types that rules use.');e=Ccb(new Bcb(),'images/new_rule.gif');e.te('Create new rule');oB(e,iHb(new hHb(),h));c=Ccb(new Bcb(),'images/function_assets.gif');c.te('Create a new function');oB(c,qHb(new pHb(),h));a=Ccb(new Bcb(),'images/dsl.gif');a.te('Create a new DSL (language configuration)');oB(a,uHb(new tHb(),h));f=Ccb(new Bcb(),'images/ruleflow_small.gif');f.te('Upload a new ruleflow.');oB(f,yHb(new xHb(),h));b=Ccb(new Bcb(),'images/new_enumeration.gif');b.te('Create a new data enumeration (drop down list)');oB(b,eFb(new dFb(),h));jA(g,d);jA(g,i);jA(g,e);jA(g,c);jA(g,a);jA(g,f);jA(g,b);return g;}
-function eIb(d,a,e){var b,c,f;b=70;f=100;c=w7b(new g7b(),zGb(new yGb(),d),false,a,e,d.a);wE(c,dc((tab()-rE(c))/2),100);zE(c);}
-function fIb(a,b){wdb('Loading package information ...');iUb(mMb(),b,cGb(new bGb(),a));}
-function gIb(e,d,b,a){var c;c=zL(new xL());bM(c,'<img src="'+b+'">'+d+'<\/a>');hM(c,a);return c;}
-function hIb(a){if(a.h===null){wdb('Loading list of packages ...');cUb(mMb(),iFb(new hFb(),a));}else{wdb('Loading package ...');iUb(mMb(),a.h,mFb(new lFb(),a));}}
-function iIb(c,d,b){var a;a=zFb(new yFb(),c);return CHb(new BHb(),EFb(new DFb(),c,d,b,a));}
-function jIb(b,c){var a;a=pzb(new syb(),qFb(new pFb(),b));wE(a,dc((tab()-rE(a))/2),100);zE(a);}
-function bFb(){}
-_=bFb.prototype=new pab();_.tN=ngc+'PackageExplorerWidget';_.tI=402;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function oGb(b,a){b.a=a;return b;}
-function qGb(a){hIb(a.a);}
-function rGb(){qGb(this);}
-function cFb(){}
-_=cFb.prototype=new fU();_.pb=rGb;_.tN=ngc+'PackageExplorerWidget$1';_.tI=403;function eFb(b,a){b.a=a;return b;}
-function gFb(a){eIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
-function dFb(){}
-_=dFb.prototype=new fU();_.zc=gFb;_.tN=ngc+'PackageExplorerWidget$10';_.tI=404;function iFb(b,a){b.a=a;return b;}
-function kFb(a){var b,c;c=Fb(a,71);zM(this.a.c);for(b=0;b<c.a;b++){if(b==0){bIb(this.a,c[b],true);}else{bIb(this.a,c[b],false);}}sdb();}
-function hFb(){}
-_=hFb.prototype=new vcb();_.pd=kFb;_.tN=ngc+'PackageExplorerWidget$11';_.tI=405;function mFb(b,a){b.a=a;return b;}
-function oFb(a){var b;b=Fb(a,19);zM(this.a.c);bIb(this.a,b,true);sdb();}
-function lFb(){}
-_=lFb.prototype=new vcb();_.pd=oFb;_.tN=ngc+'PackageExplorerWidget$12';_.tI=406;function qFb(b,a){b.a=a;return b;}
-function sFb(a){hIb(a.a);}
-function tFb(){sFb(this);}
-function pFb(){}
-_=pFb.prototype=new fU();_.pb=tFb;_.tN=ngc+'PackageExplorerWidget$13';_.tI=407;function vFb(b,a,c){b.a=a;b.b=c;return b;}
-function xFb(){if(this.a.pc()){if(Bh('Discard Changes ? ')){sab(this.a);fIb(this.a,this.b.m);}}else{fIb(this.a,this.b.m);}}
-function uFb(){}
-_=uFb.prototype=new fU();_.pb=xFb;_.tN=ngc+'PackageExplorerWidget$14';_.tI=408;function zFb(b,a){b.a=a;return b;}
-function BFb(c,a){var b;b=Fb(a,62);odc(c.a.e,b);c.a.e.Be('100%');Bab(c.a.d,0,1,c.a.e);ex(xt(c.a.d),0,1,(xz(),zz),(aA(),dA));sdb();}
-function CFb(a){BFb(this,a);}
-function yFb(){}
-_=yFb.prototype=new vcb();_.pd=CFb;_.tN=ngc+'PackageExplorerWidget$15';_.tI=409;function EFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
-function aGb(){wdb('Loading list, please wait...');bUb(mMb(),this.c,this.b,(-1),(-1),this.a);}
-function DFb(){}
-_=DFb.prototype=new fU();_.pb=aGb;_.tN=ngc+'PackageExplorerWidget$16';_.tI=410;function cGb(b,a){b.a=a;return b;}
-function eGb(c){var a,b,d,e,f,g,h,i;b=Fb(c,19);g=BH(new AH());this.a.a=b.j;e=ccb(new Fbb(),'images/package_large.png',b.j);FN(e,'package-Editor');e.Be('100%');dcb(e,'Description:',fC(new dC(),b.d));dcb(e,'Date created:',fC(new dC(),a0(b.c)));if(b.g){dcb(e,'Snapshot created on:',fC(new dC(),a0(b.i)));dcb(e,'Snapshot comment:',fC(new dC(),b.b));h=uBb(b);d=nz(new qw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");dcb(e,'Download package:',d);dcb(e,'Package URI:',fC(new dC(),h));i=zp(new tp(),'View package source');i.x(gGb(new fGb(),this,b));dcb(e,'Show package source:',i);}if(!b.g){gcb(e,nz(new qw(),'<i>Choose one of the options below<\/i>'));}f=kGb(new jGb(),this);a=uGb(new tGb(),this);DH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){DH(g,tEb(new wBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);DH(g,nBb(new tzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{DH(!
 g,tEb(new wBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.Be('100%');Bab(this.a.d,0,1,g);sdb();}
-function bGb(){}
-_=bGb.prototype=new vcb();_.pd=eGb;_.tN=ngc+'PackageExplorerWidget$17';_.tI=411;function gGb(b,a,c){b.a=c;return b;}
-function iGb(a){tBb(this.a.m,this.a.j);}
-function fGb(){}
-_=fGb.prototype=new fU();_.zc=iGb;_.tN=ngc+'PackageExplorerWidget$18';_.tI=412;function kGb(b,a){b.a=a;return b;}
-function mGb(a){rab(a.a.a);}
-function nGb(){mGb(this);}
-function jGb(){}
-_=jGb.prototype=new fU();_.pb=nGb;_.tN=ngc+'PackageExplorerWidget$19';_.tI=413;function DGb(c){var a,b;a=Fb(c.k,90);b=a.a;wdb('Please wait...');fg(b);}
-function EGb(a){}
-function sGb(){}
-_=sGb.prototype=new fU();_.rd=DGb;_.sd=EGb;_.tN=ngc+'PackageExplorerWidget$2';_.tI=414;function uGb(b,a){b.a=a;return b;}
-function wGb(a){sab(a.a.a);}
-function xGb(){wGb(this);}
-function tGb(){}
-_=tGb.prototype=new fU();_.pb=xGb;_.tN=ngc+'PackageExplorerWidget$20';_.tI=415;function zGb(b,a){b.a=a;return b;}
-function BGb(a){oIb(this.a.b,a);}
-function yGb(){}
-_=yGb.prototype=new fU();_.wd=BGb;_.tN=ngc+'PackageExplorerWidget$21';_.tI=416;function aHb(b,a){b.a=a;return b;}
-function cHb(a){jIb(this.a,a);}
-function FGb(){}
-_=FGb.prototype=new fU();_.zc=cHb;_.tN=ngc+'PackageExplorerWidget$3';_.tI=417;function eHb(b,a){b.a=a;return b;}
-function gHb(a){eIb(this.a,'jar','Create a new model archive');}
-function dHb(){}
-_=dHb.prototype=new fU();_.zc=gHb;_.tN=ngc+'PackageExplorerWidget$4';_.tI=418;function iHb(b,a){b.a=a;return b;}
-function kHb(d){var a,b,c;a=70;c=100;b=w7b(new g7b(),mHb(new lHb(),this),true,null,'Create a new rule asset',this.a.a);wE(b,dc((tab()-rE(b))/2),100);zE(b);}
-function hHb(){}
-_=hHb.prototype=new fU();_.zc=kHb;_.tN=ngc+'PackageExplorerWidget$5';_.tI=419;function mHb(b,a){b.a=a;return b;}
-function oHb(a){oIb(this.a.a.b,a);}
-function lHb(){}
-_=lHb.prototype=new fU();_.wd=oHb;_.tN=ngc+'PackageExplorerWidget$6';_.tI=420;function qHb(b,a){b.a=a;return b;}
-function sHb(a){eIb(this.a,'function','Create a new function');}
-function pHb(){}
-_=pHb.prototype=new fU();_.zc=sHb;_.tN=ngc+'PackageExplorerWidget$7';_.tI=421;function uHb(b,a){b.a=a;return b;}
-function wHb(a){eIb(this.a,'dsl','Create a new language configuration');}
-function tHb(){}
-_=tHb.prototype=new fU();_.zc=wHb;_.tN=ngc+'PackageExplorerWidget$8';_.tI=422;function yHb(b,a){b.a=a;return b;}
-function AHb(a){eIb(this.a,'rf','Create a new ruleflow');}
-function xHb(){}
-_=xHb.prototype=new fU();_.zc=AHb;_.tN=ngc+'PackageExplorerWidget$9';_.tI=423;function CHb(b,a){b.a=a;return b;}
-function BHb(){}
-_=BHb.prototype=new fU();_.tN=ngc+'PackageExplorerWidget$PackageTreeItem';_.tI=424;_.a=null;function qIb(a){a.a=(nZ(),oZ);}
-function rIb(a){sIb(a,null,null);return a;}
-function sIb(e,c,d){var a,b;qIb(e);e.b=DJ(new pJ());e.b.Be('100%');e.b.qe('30%');a=mIb(new lIb(),e,d);b=null;if(c===null){b=FHb(new bFb(),a);}else{b=aIb(new bFb(),a,c,d);}EJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);eK(e.b,0);pr(e,e.b);return e;}
-function uIb(b,a){b.a=a;}
-function kIb(){}
-_=kIb.prototype=new nr();_.tN=ngc+'PackageManagerView';_.tI=425;_.b=null;function mIb(b,a,c){b.a=a;b.b=c;return b;}
-function oIb(b,a){c5b(b.a.a,b.a.b,a,b.b!==null);}
-function pIb(a){oIb(this,a);}
-function lIb(){}
-_=lIb.prototype=new fU();_.wd=pIb;_.tN=ngc+'PackageManagerView$1';_.tI=426;function nKb(b){var a,c;b.a=ut(new ot());b.c=DJ(new pJ());b.c.Be('100%');b.c.qe('100%');c=sO(new qO());tO(c,b.a);a=zp(new tp(),'Rebuild snapshot binaries');a.te('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new wIb());tO(c,a);EJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);kx(b.a.n,0,0,'28%');b.b=mMb();vKb(b);b.a.Be('100%');pr(b,b.c);eK(b.c,0);return b;}
-function oKb(h,c){var a,b,d,e,f,g;g=uM(new hL());d=sO(new qO());for(a=0;a<c.a;a++){e=c[a].j;b=tKb(h,e,'images/package_snapshot.gif',wJb(new vJb(),h,e));wM(g,b);}tO(d,g);f=nz(new qw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");gC(f,AJb(new zJb(),h));yM(g,new DJb());xO(d,(aA(),dA));wO(d,(xz(),zz));tO(d,f);FN(d,'snapshot-List');h.a.ze(0,0,d);ix(h.a.n,0,0,(aA(),dA));}
-function qKb(g,e,f){var a,b,c,d;c=rcb(new mcb(),'images/snapshot.png','Copy snapshot '+f);a=eL(new vK());scb(c,'New label:',a);d=zp(new tp(),'OK');scb(c,'',d);d.x(gKb(new fKb(),g,e,f,a,c));b=zp(new tp(),'Copy');b.x(yIb(new xIb(),g,c));return b;}
-function rKb(d,c,b){var a;a=zp(new tp(),'Delete');a.x(aJb(new FIb(),d,c,b));return a;}
-function sKb(d,b,c,e){var a;a=zp(new tp(),'Open');a.x(CIb(new BIb(),d,b,c,e));return a;}
-function tKb(e,d,b,a){var c;c=zL(new xL());bM(c,'<img src="'+b+'">'+d+'<\/a>');hM(c,a);return c;}
-function uKb(g,e,f,h){var a,b,c,d,i;i=ut(new ot());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=iA(new gA());jA(c,nz(new qw(),d));a=Ccb(new Bcb(),'images/close.gif');a.te('Close this view');oB(a,iJb(new hJb(),g));jA(c,a);i.ze(0,0,c);b=xt(i);hx(b,0,0,'editable-Surface');i.ze(1,0,sIb(new kIb(),h,f));i.Be('100%');i.qe('100%');if(g.c.a.f.c>1){dK(g.c,1);}EJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);eK(g.c,1);}
-function vKb(a){wdb('Loading package list...');cUb(a.b,sJb(new rJb(),a));}
-function wKb(h,d,b){var a,c,e,f,g;e=ccb(new Fbb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=ut(new ot());bz(g,0,1,'Name');bz(g,0,2,'Comment');ux(g.p,0,wfc);for(a=0;a<b.a;a++){f=a+1;c=fC(new dC(),b[a].b);g.ze(f,0,nB(new xA(),'images/package_snapshot_item.gif'));g.ze(f,1,c);g.ze(f,2,fC(new dC(),b[a].a));g.ze(f,3,sKb(h,d,jC(c),b[a].c));g.ze(f,4,qKb(h,d,jC(c)));g.ze(f,5,rKb(h,jC(c),d));if(a%2==0){ux(g.p,a+1,ufc);}}e.Be('100%');gcb(e,g);g.Be('100%');FN(e,vfc);h.a.ze(0,1,e);ix(xt(h.a),0,1,(aA(),dA));}
-function xKb(b,a){wdb('Loading snapshots...');dUb(b.b,a,cKb(new bKb(),b,a));}
-function vIb(){}
-_=vIb.prototype=new nr();_.tN=ngc+'PackageSnapshotView';_.tI=427;_.a=null;_.b=null;_.c=null;function mJb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){wdb('Rebuilding snapshots. Please wait, this may take some time...');oUb(mMb(),new nJb());}}
-function wIb(){}
-_=wIb.prototype=new fU();_.zc=mJb;_.tN=ngc+'PackageSnapshotView$1';_.tI=428;function yIb(b,a,c){b.a=c;return b;}
-function AIb(a){wE(this.a,dc((tab()-rE(this.a))/2),100);zE(this.a);}
-function xIb(){}
-_=xIb.prototype=new fU();_.zc=AIb;_.tN=ngc+'PackageSnapshotView$10';_.tI=429;function CIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
-function EIb(a){uKb(this.a,this.b,this.c,this.d);}
-function BIb(){}
-_=BIb.prototype=new fU();_.zc=EIb;_.tN=ngc+'PackageSnapshotView$11';_.tI=430;function aJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function cJb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{zTb(this.a.b,this.b,this.c,true,null,eJb(new dJb(),this,this.b));}}
-function FIb(){}
-_=FIb.prototype=new fU();_.zc=cJb;_.tN=ngc+'PackageSnapshotView$12';_.tI=431;function eJb(b,a,c){b.a=a;b.b=c;return b;}
-function gJb(a){xKb(this.a.a,this.b);}
-function dJb(){}
-_=dJb.prototype=new vcb();_.pd=gJb;_.tN=ngc+'PackageSnapshotView$13';_.tI=432;function iJb(b,a){b.a=a;return b;}
-function kJb(a){dK(this.a.c,1);eK(this.a.c,0);}
-function hJb(){}
-_=hJb.prototype=new fU();_.zc=kJb;_.tN=ngc+'PackageSnapshotView$14';_.tI=433;function pJb(b,a){sdb();zh('Snapshots were rebuilt successfully.');}
-function qJb(a){pJb(this,a);}
-function nJb(){}
-_=nJb.prototype=new vcb();_.pd=qJb;_.tN=ngc+'PackageSnapshotView$2';_.tI=434;function sJb(b,a){b.a=a;return b;}
-function uJb(a){var b;b=Fb(a,71);oKb(this.a,b);sdb();}
-function rJb(){}
-_=rJb.prototype=new vcb();_.pd=uJb;_.tN=ngc+'PackageSnapshotView$3';_.tI=435;function wJb(b,a,c){b.a=a;b.b=c;return b;}
-function yJb(){xKb(this.a,this.b);}
-function vJb(){}
-_=vJb.prototype=new fU();_.pb=yJb;_.tN=ngc+'PackageSnapshotView$4';_.tI=436;function AJb(b,a){b.a=a;return b;}
-function CJb(a){vKb(this.a);}
-function zJb(){}
-_=zJb.prototype=new fU();_.zc=CJb;_.tN=ngc+'PackageSnapshotView$5';_.tI=437;function FJb(a){fg(Fb(a.k,4));}
-function aKb(a){}
-function DJb(){}
-_=DJb.prototype=new fU();_.rd=FJb;_.sd=aKb;_.tN=ngc+'PackageSnapshotView$6';_.tI=438;function cKb(b,a,c){b.a=a;b.b=c;return b;}
-function eKb(a){var b;b=Fb(a,86);wKb(this.a,this.b,b);sdb();}
-function bKb(){}
-_=bKb.prototype=new vcb();_.pd=eKb;_.tN=ngc+'PackageSnapshotView$7';_.tI=439;function gKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
-function iKb(a){zTb(this.a.b,this.d,this.e,false,CK(this.b),kKb(new jKb(),this,this.d,this.c));}
-function fKb(){}
-_=fKb.prototype=new fU();_.zc=iKb;_.tN=ngc+'PackageSnapshotView$8';_.tI=440;function kKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function mKb(a){xKb(this.a.a,this.c);this.b.lc();}
-function jKb(){}
-_=jKb.prototype=new vcb();_.pd=mKb;_.tN=ngc+'PackageSnapshotView$9';_.tI=441;function aLb(){aLb=d3;fLb=FKb(new yKb());}
-function EKb(a){a.a=k1(new o0());}
-function FKb(a){aLb();EKb(a);return a;}
-function bLb(c,b,a){if(!n1(c.a,b)){dLb(c,b,a);}else{v4b(a);}}
-function cLb(c,b){var a;a=Fb(q1(c.a,b),91);if(a===null){xbb('Unable to get content assistance for this rule.');return null;}return a;}
-function dLb(c,b,a){yV(),BV;lUb(mMb(),b,AKb(new zKb(),c,b,a));}
-function eLb(c,b,a){if(n1(c.a,b)){s1(c.a,b);dLb(c,b,a);}else{a.pb();}}
-function yKb(){}
-_=yKb.prototype=new fU();_.tN=ngc+'SuggestionCompletionCache';_.tI=442;var fLb;function AKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function CKb(c,a){var b;b=Fb(a,91);r1(c.a.a,c.c,b);c.b.pb();}
-function DKb(a){CKb(this,a);}
-function zKb(){}
-_=zKb.prototype=new vcb();_.pd=DKb;_.tN=ngc+'SuggestionCompletionCache$1';_.tI=443;function mLb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
-function gLb(){}
-_=gLb.prototype=new fU();_.tS=mLb;_.tN=ogc+'BuilderResult';_.tI=444;_.a=null;_.b=null;_.c=null;_.d=null;function kLb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();}
-function lLb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);}
-function nLb(){}
-_=nLb.prototype=new ol();_.tN=ogc+'DetailedSerializableException';_.tI=445;_.a=null;function rLb(b,a){uLb(a,b.Ed());sl(b,a);}
-function sLb(a){return a.a;}
-function tLb(b,a){b.gf(sLb(a));ul(b,a);}
-function uLb(a,b){a.a=b;}
-function wLb(a){a.a=yb('[Ljava.lang.String;',[608],[1],[0],null);}
-function xLb(a){wLb(a);return a;}
-function yLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(EU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[608],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function ALb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[608],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function vLb(){}
-_=vLb.prototype=new fU();_.tN=ogc+'MetaData';_.tI=446;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function DLb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Ed();a.c=b.Ed();a.d=Fb(b.Dd(),59);a.e=b.Ed();a.f=Fb(b.Dd(),59);a.g=Fb(b.Dd(),59);a.h=b.Ed();a.i=b.Ed();a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=Fb(b.Dd(),59);a.n=b.Ed();a.o=b.Ed();a.p=b.Ed();a.q=b.Ed();a.r=b.Ed();a.s=b.Ed();a.t=b.Ed();a.u=b.Ed();a.v=b.Cd();}
-function ELb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.ff(a.d);b.gf(a.e);b.ff(a.f);b.ff(a.g);b.gf(a.h);b.gf(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.ff(a.m);b.gf(a.n);b.gf(a.o);b.gf(a.p);b.gf(a.q);b.gf(a.r);b.gf(a.s);b.gf(a.t);b.gf(a.u);b.ef(a.v);}
-function FLb(){}
-_=FLb.prototype=new fU();_.tN=ogc+'PackageConfigData';_.tI=447;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function dMb(b,a){a.a=b.zd();a.b=b.Ed();a.c=Fb(b.Dd(),59);a.d=b.Ed();a.e=b.Ed();a.f=b.Ed();a.g=b.zd();a.h=b.Ed();a.i=Fb(b.Dd(),59);a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=b.Ed();}
-function eMb(b,a){b.bf(a.a);b.gf(a.b);b.ff(a.c);b.gf(a.d);b.gf(a.e);b.gf(a.f);b.bf(a.g);b.gf(a.h);b.ff(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.gf(a.m);}
-function kMb(){var a,b,c;c=jSb(new pMb());a=c;b=v()+'jbrmsService';vUb(a,b);return c;}
-function lMb(){var a,b,c;c=xXb(new mXb());a=c;b=v()+'jbrmsService';DXb(a,b);return c;}
-function mMb(){if(jMb===null){nMb();}return jMb;}
-function nMb(){if(iMb)jMb=null;else jMb=kMb();}
-function oMb(d,b,a){var c;c=lMb();CXb(c,d,b,a);}
-var iMb=false,jMb=null;function xTb(){xTb=d3;wUb=yUb(new xUb());}
-function jSb(a){xTb();return a;}
-function kSb(b,a,c,d){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'archiveAsset');un(a,2);wn(a,'java.lang.String');wn(a,'Z');wn(a,c);tn(a,d);}
-function mSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildAsset');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
-function lSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildAssetSource');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
-function oSb(d,c,a,b){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'buildPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,a);wn(c,b);}
-function nSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildPackageSource');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function pSb(d,c,e,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'changeAssetPackage');un(c,3);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,e);wn(c,b);wn(c,a);}
-function qSb(c,b,d,a,e){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'changeState');un(b,3);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,'Z');wn(b,d);wn(b,a);tn(b,e);}
-function rSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'checkinVersion');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
-function sSb(e,d,a,c,b){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'copyAsset');un(d,3);wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,a);wn(d,c);wn(d,b);}
-function tSb(f,e,c,d,a,b){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'copyOrRemoveSnapshot');un(e,4);wn(e,'java.lang.String');wn(e,'java.lang.String');wn(e,'Z');wn(e,'java.lang.String');wn(e,c);wn(e,d);tn(e,a);wn(e,b);}
-function uSb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'copyPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
-function vSb(e,d,c,b,a){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'createCategory');un(d,3);wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,c);wn(d,b);wn(d,a);}
-function wSb(g,f,e,a,c,d,b){if(g.a===null)throw Dl(new Cl());Ao(f);wn(f,'org.drools.brms.client.rpc.RepositoryService');wn(f,'createNewRule');un(f,5);wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,e);wn(f,a);wn(f,c);wn(f,d);wn(f,b);}
-function ySb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'createPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
-function xSb(f,e,b,d,c,a){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'createPackageSnapshot');un(e,4);wn(e,'java.lang.String');wn(e,'java.lang.String');wn(e,'Z');wn(e,'java.lang.String');wn(e,b);wn(e,d);tn(e,c);wn(e,a);}
-function zSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'createState');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function ASb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'deleteUncheckedRule');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
-function BSb(f,e,c,a,b,d){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'listAssets');un(e,4);wn(e,'java.lang.String');wn(e,'[Ljava.lang.String;');wn(e,'I');wn(e,'I');wn(e,c);vn(e,a);un(e,b);un(e,d);}
-function CSb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'listPackages');un(a,0);}
-function DSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'listSnapshots');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function ESb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'listStates');un(a,0);}
-function FSb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadArchivedAssets');un(a,0);}
-function aTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadAssetHistory');un(a,1);wn(a,'java.lang.String');wn(a,c);}
-function bTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadChildCategories');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function cTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadPackageConfig');un(a,1);wn(a,'java.lang.String');wn(a,c);}
-function dTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadRuleAsset');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function eTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadRuleListForCategories');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function fTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadSuggestionCompletionEngine');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function gTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadTableConfig');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function hTb(e,d,c,a,b){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'quickFindAsset');un(d,3);wn(d,'java.lang.String');wn(d,'I');wn(d,'Z');wn(d,c);un(d,a);tn(d,b);}
-function iTb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'rebuildSnapshots');un(a,0);}
-function jTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'removeAsset');un(a,1);wn(a,'java.lang.String');wn(a,c);}
-function kTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'removeCategory');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function lTb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'renameAsset');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
-function mTb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'renamePackage');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
-function nTb(d,c,e,a,b){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'restoreVersion');un(c,3);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,e);wn(c,a);wn(c,b);}
-function oTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'savePackage');un(b,1);wn(b,'org.drools.brms.client.rpc.PackageConfigData');vn(b,a);}
-function pTb(h,i,j,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=ENb(new qMb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=vPb(new cOb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=mRb(new zPb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tTb(j,f,g,c){var a,d,e,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=rRb(new qRb(),j,h,c);if(!wg(j.a,Do(i),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sTb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=wRb(new vRb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uTb(j,k,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=BRb(new ARb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vTb(i,j,f,k,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=aSb(new FRb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=fSb(new eSb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function yTb(k,c,h,g,d){var a,e,f,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=sMb(new rMb(),k,i,d);if(!wg(k.a,Do(j),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function zTb(l,h,i,d,g,c){var a,e,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=xMb(new wMb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ATb(j,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=CMb(new BMb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function BTb(k,h,g,d,c){var a,e,f,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=bNb(new aNb(),k,i,c);if(!wg(k.a,Do(j),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=co(new bo(),wUb);l=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}g=gNb(new fNb(),m,k,c);if(!wg(m.a,Do(l),g))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ETb(j,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=lNb(new kNb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DTb(l,g,i,h,d,c){var a,e,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=qNb(new pNb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FTb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=vNb(new uNb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aUb(j,g,f,c){var a,d,e,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=ANb(new zNb(),j,h,c);if(!wg(j.a,Do(i),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bUb(l,h,e,g,i,c){var a,d,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}f=eOb(new dOb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=jOb(new iOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=oOb(new nOb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=tOb(new sOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=yOb(new xOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=DOb(new COb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=cPb(new bPb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function iUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=hPb(new gPb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function jUb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dTb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=mPb(new lPb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function kUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=rPb(new qPb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=BPb(new APb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=aQb(new FPb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function nUb(k,h,f,g,c){var a,d,e,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hTb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=fQb(new eQb(),k,i,c);if(!wg(k.a,Do(j),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=kQb(new jQb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=pQb(new oQb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=uQb(new tQb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rUb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=zQb(new yQb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sUb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=EQb(new DQb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tUb(j,k,c,e,d){var a,f,g,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nTb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;xcb(d,f);return;}else throw a;}g=dRb(new cRb(),j,h,d);if(!wg(j.a,Do(i),g))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=iRb(new hRb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vUb(b,a){b.a=a;}
-function pMb(){}
-_=pMb.prototype=new fU();_.tN=ogc+'RepositoryService_Proxy';_.tI=448;_.a=null;var wUb;function ENb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f7(g.a,f);else xcb(g.a,c);}
-function bOb(a){var b;b=x;aOb(this,a);}
-function qMb(){}
-_=qMb.prototype=new fU();_.Ac=bOb;_.tN=ogc+'RepositoryService_Proxy$1';_.tI=449;function sMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D0b(g.a,f);else xcb(g.a,c);}
-function vMb(a){var b;b=x;uMb(this,a);}
-function rMb(){}
-_=rMb.prototype=new fU();_.Ac=vMb;_.tN=ogc+'RepositoryService_Proxy$10';_.tI=450;function xMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function AMb(a){var b;b=x;zMb(this,a);}
-function wMb(){}
-_=wMb.prototype=new fU();_.Ac=AMb;_.tN=ogc+'RepositoryService_Proxy$11';_.tI=451;function CMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function EMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)FBb(g.a,f);else xcb(g.a,c);}
-function FMb(a){var b;b=x;EMb(this,a);}
-function BMb(){}
-_=BMb.prototype=new fU();_.Ac=FMb;_.tN=ogc+'RepositoryService_Proxy$12';_.tI=452;function bNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k$(g.a,f);else xcb(g.a,c);}
-function eNb(a){var b;b=x;dNb(this,a);}
-function aNb(){}
-_=aNb.prototype=new fU();_.Ac=eNb;_.tN=ogc+'RepositoryService_Proxy$13';_.tI=453;function gNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)s7b(g.a,f);else xcb(g.a,c);}
-function jNb(a){var b;b=x;iNb(this,a);}
-function fNb(){}
-_=fNb.prototype=new fU();_.Ac=jNb;_.tN=ogc+'RepositoryService_Proxy$14';_.tI=454;function lNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dzb(g.a,f);else xcb(g.a,c);}
-function oNb(a){var b;b=x;nNb(this,a);}
-function kNb(){}
-_=kNb.prototype=new fU();_.Ac=oNb;_.tN=ogc+'RepositoryService_Proxy$15';_.tI=455;function qNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eAb(g.a,f);else xcb(g.a,c);}
-function tNb(a){var b;b=x;sNb(this,a);}
-function pNb(){}
-_=pNb.prototype=new fU();_.Ac=tNb;_.tN=ogc+'RepositoryService_Proxy$16';_.tI=456;function vNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x9(g.a,f);else xcb(g.a,c);}
-function yNb(a){var b;b=x;xNb(this,a);}
-function uNb(){}
-_=uNb.prototype=new fU();_.Ac=yNb;_.tN=ogc+'RepositoryService_Proxy$17';_.tI=457;function ANb(b,a,d,c){b.b=d;b.a=c;return b;}
-function CNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t$b(g.a,f);else xcb(g.a,c);}
-function DNb(a){var b;b=x;CNb(this,a);}
-function zNb(){}
-_=zNb.prototype=new fU();_.Ac=DNb;_.tN=ogc+'RepositoryService_Proxy$18';_.tI=458;function vPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)w8b(g.a,f);else xcb(g.a,c);}
-function yPb(a){var b;b=x;xPb(this,a);}
-function cOb(){}
-_=cOb.prototype=new fU();_.Ac=yPb;_.tN=ogc+'RepositoryService_Proxy$2';_.tI=459;function eOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)BFb(g.a,f);else xcb(g.a,c);}
-function hOb(a){var b;b=x;gOb(this,a);}
-function dOb(){}
-_=dOb.prototype=new fU();_.Ac=hOb;_.tN=ogc+'RepositoryService_Proxy$20';_.tI=460;function jOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function lOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function mOb(a){var b;b=x;lOb(this,a);}
-function iOb(){}
-_=iOb.prototype=new fU();_.Ac=mOb;_.tN=ogc+'RepositoryService_Proxy$21';_.tI=461;function oOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function qOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function rOb(a){var b;b=x;qOb(this,a);}
-function nOb(){}
-_=nOb.prototype=new fU();_.Ac=rOb;_.tN=ogc+'RepositoryService_Proxy$22';_.tI=462;function tOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function wOb(a){var b;b=x;vOb(this,a);}
-function sOb(){}
-_=sOb.prototype=new fU();_.Ac=wOb;_.tN=ogc+'RepositoryService_Proxy$23';_.tI=463;function yOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function AOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t7(g.a,f);else xcb(g.a,c);}
-function BOb(a){var b;b=x;AOb(this,a);}
-function xOb(){}
-_=xOb.prototype=new fU();_.Ac=BOb;_.tN=ogc+'RepositoryService_Proxy$24';_.tI=464;function DOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u_b(g.a,f);else xcb(g.a,c);}
-function aPb(a){var b;b=x;FOb(this,a);}
-function COb(){}
-_=COb.prototype=new fU();_.Ac=aPb;_.tN=ogc+'RepositoryService_Proxy$25';_.tI=465;function cPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function ePb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function fPb(a){var b;b=x;ePb(this,a);}
-function bPb(){}
-_=bPb.prototype=new fU();_.Ac=fPb;_.tN=ogc+'RepositoryService_Proxy$26';_.tI=466;function hPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function kPb(a){var b;b=x;jPb(this,a);}
-function gPb(){}
-_=gPb.prototype=new fU();_.Ac=kPb;_.tN=ogc+'RepositoryService_Proxy$27';_.tI=467;function mPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function pPb(a){var b;b=x;oPb(this,a);}
-function lPb(){}
-_=lPb.prototype=new fU();_.Ac=pPb;_.tN=ogc+'RepositoryService_Proxy$28';_.tI=468;function rPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function tPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Fbc(g.a,f);else xcb(g.a,c);}
-function uPb(a){var b;b=x;tPb(this,a);}
-function qPb(){}
-_=qPb.prototype=new fU();_.Ac=uPb;_.tN=ogc+'RepositoryService_Proxy$29';_.tI=469;function mRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)B8b(g.a,f);else xcb(g.a,c);}
-function pRb(a){var b;b=x;oRb(this,a);}
-function zPb(){}
-_=zPb.prototype=new fU();_.Ac=pRb;_.tN=ogc+'RepositoryService_Proxy$3';_.tI=470;function BPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)CKb(g.a,f);else xcb(g.a,c);}
-function EPb(a){var b;b=x;DPb(this,a);}
-function APb(){}
-_=APb.prototype=new fU();_.Ac=EPb;_.tN=ogc+'RepositoryService_Proxy$30';_.tI=471;function aQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vcc(g.a,f);else xcb(g.a,c);}
-function dQb(a){var b;b=x;cQb(this,a);}
-function FPb(){}
-_=FPb.prototype=new fU();_.Ac=dQb;_.tN=ogc+'RepositoryService_Proxy$31';_.tI=472;function fQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function iQb(a){var b;b=x;hQb(this,a);}
-function eQb(){}
-_=eQb.prototype=new fU();_.Ac=iQb;_.tN=ogc+'RepositoryService_Proxy$32';_.tI=473;function kQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)pJb(g.a,f);else xcb(g.a,c);}
-function nQb(a){var b;b=x;mQb(this,a);}
-function jQb(){}
-_=jQb.prototype=new fU();_.Ac=nQb;_.tN=ogc+'RepositoryService_Proxy$33';_.tI=474;function pQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)o7(g.a,f);else xcb(g.a,c);}
-function sQb(a){var b;b=x;rQb(this,a);}
-function oQb(){}
-_=oQb.prototype=new fU();_.Ac=sQb;_.tN=ogc+'RepositoryService_Proxy$34';_.tI=475;function uQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f9(g.a,f);else xcb(g.a,c);}
-function xQb(a){var b;b=x;wQb(this,a);}
-function tQb(){}
-_=tQb.prototype=new fU();_.Ac=xQb;_.tN=ogc+'RepositoryService_Proxy$35';_.tI=476;function zQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function BQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t6b(g.a,f);else xcb(g.a,c);}
-function CQb(a){var b;b=x;BQb(this,a);}
-function yQb(){}
-_=yQb.prototype=new fU();_.Ac=CQb;_.tN=ogc+'RepositoryService_Proxy$36';_.tI=477;function EQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rEb(g.a,f);else xcb(g.a,c);}
-function bRb(a){var b;b=x;aRb(this,a);}
-function DQb(){}
-_=DQb.prototype=new fU();_.Ac=bRb;_.tN=ogc+'RepositoryService_Proxy$37';_.tI=478;function dRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Dac(g.a,f);else xcb(g.a,c);}
-function gRb(a){var b;b=x;fRb(this,a);}
-function cRb(){}
-_=cRb.prototype=new fU();_.Ac=gRb;_.tN=ogc+'RepositoryService_Proxy$38';_.tI=479;function iRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function kRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eCb(g.a,f);else xcb(g.a,c);}
-function lRb(a){var b;b=x;kRb(this,a);}
-function hRb(){}
-_=hRb.prototype=new fU();_.Ac=lRb;_.tN=ogc+'RepositoryService_Proxy$39';_.tI=480;function rRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function tRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dBb(g.a,f);else xcb(g.a,c);}
-function uRb(a){var b;b=x;tRb(this,a);}
-function qRb(){}
-_=qRb.prototype=new fU();_.Ac=uRb;_.tN=ogc+'RepositoryService_Proxy$4';_.tI=481;function wRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)uAb(g.a,f);else xcb(g.a,c);}
-function zRb(a){var b;b=x;yRb(this,a);}
-function vRb(){}
-_=vRb.prototype=new fU();_.Ac=zRb;_.tN=ogc+'RepositoryService_Proxy$5';_.tI=482;function BRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)l5b(g.a,f);else xcb(g.a,c);}
-function ERb(a){var b;b=x;DRb(this,a);}
-function ARb(){}
-_=ARb.prototype=new fU();_.Ac=ERb;_.tN=ogc+'RepositoryService_Proxy$6';_.tI=483;function aSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cSb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)xeb(g.a,f);else xcb(g.a,c);}
-function dSb(a){var b;b=x;cSb(this,a);}
-function FRb(){}
-_=FRb.prototype=new fU();_.Ac=dSb;_.tN=ogc+'RepositoryService_Proxy$7';_.tI=484;function fSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hSb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)y$b(g.a,f);else xcb(g.a,c);}
-function iSb(a){var b;b=x;hSb(this,a);}
-function eSb(){}
-_=eSb.prototype=new fU();_.Ac=iSb;_.tN=ogc+'RepositoryService_Proxy$8';_.tI=485;function zUb(){zUb=d3;BWb=AUb();EWb=BUb();}
-function yUb(a){zUb();return a;}
-function AUb(){zUb();return {'[B/2233087514':[function(a){return CUb(a);},function(a,b){qm(a,b);},function(a,b){rm(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return DUb(a);},function(a,b){hl(a,b);},function(a,b){il(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return EUb(a);},function(a,b){sl(a,b);},function(a,b){ul(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return dVb(a);},function(a,b){yD(a,b);},function(a,b){BD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return eVb(a);},function(a,b){qI(a,b);},function(a,b){tI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return fVb(a);},function(a,b){yI(a,b);},function(a,b){AI(a,b);}],'java.lang.Boolean/476441737':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}],'java.!
 lang.String/2004016611':[function(a){return mm(a);},function(a,b){lm(a,b);},function(a,b){nm(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return gVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'java.util.ArrayList/3821976829':[function(a){return FUb(a);},function(a,b){um(a,b);},function(a,b){vm(a,b);}],'java.util.Date/1659716317':[function(a){return zm(a);},function(a,b){ym(a,b);},function(a,b){Am(a,b);}],'java.util.HashMap/962170901':[function(a){return aVb(a);},function(a,b){Dm(a,b);},function(a,b){Em(a,b);}],'java.util.HashSet/1594477813':[function(a){return bVb(a);},function(a,b){bn(a,b);},function(a,b){cn(a,b);}],'java.util.Vector/3125574444':[function(a){return cVb(a);},function(a,b){fn(a,b);},function(a,b){gn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return hVb(a);},function(a,b){xgb(a,b);},function(a,b){ygb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return iVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return kVb(a);},function(a,b){qhb(a,b);},function(a,b){rhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return jVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return mVb(a);},function(a,b){yhb(a,b);},function(a,b){zhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return lVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return oVb(a);},function(a,b){aib(a,b);},function(a,b){bib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return nVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn qVb(a);},function(a,b){hib(a,b);},function(a,b){iib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return pVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return sVb(a);},function(a,b){pib(a,b);},function(a,b){qib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return rVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return uVb(a);},function(a,b){xib(a,b);},function(a,b){yib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return tVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return wVb(a);},function(a,b){Fib(a,b);},function(a,b){ajb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn vVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return yVb(a);},function(a,b){hjb(a,b);},function(a,b){ijb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return xVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return AVb(a);},function(a,b){njb(a,b);},function(a,b){ojb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return zVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return CVb(a);},function(a,b){vjb(a,b);},function(a,b){wjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return BVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return EVb(a);},function(a,b){bkb(a,b);},function(a,b){ckb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return DVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return FVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return aWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return bWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return cWb(a);},function(a,b){kkb(a,b);},function(a,b){lkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return eWb(a);},function(a,b){skb(a,b);},function(a,b!
 ){tkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return dWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return fWb(a);},function(a,b){hlb(a,b);},function(a,b){ilb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return hWb(a);},function(a,b){qlb(a,b);},function(a,b){rlb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return gWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return jWb(a);},function(a,b){kLb(a,b);},function(a,b){lLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return iWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return kWb(a);},function(a,b){rLb(a,b);},function(a,b){tLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return lWb(a);},function(a,b){DLb(a,b);},function(a,b){ELb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return nWb(a);},function(a,b){dMb(a,b);},function(a,b){eMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return mWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return oWb(a);},function(a,b){dXb(a,b);},function(a,b){eXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return pWb(a);},function(a,b){jXb(a,b);},function(a,b){kXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return qWb(a);},function(a,b){qYb(a,b);},function(a,b){rYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return sWb(a);},function(a,b){wYb(a,b);},function(a,b){xYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn rWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return tWb(a);},function(a,b){CYb(a,b);},function(a,b){DYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return uWb(a);},function(a,b){cZb(a,b);},function(a,b){dZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return wWb(a);},function(a,b){iZb(a,b);},function(a,b){jZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return vWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return xWb(a);},function(a,b){pZb(a,b);},function(a,b){qZb(a,b);}]};}
-function BUb(){zUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
-function CUb(b){zUb();var a;a=b.Bd();return yb('[B',[621],[(-1)],[a],0);}
-function DUb(a){zUb();return dl(new cl());}
-function EUb(a){zUb();return new ol();}
-function FUb(a){zUb();return nY(new lY());}
-function aVb(a){zUb();return k1(new o0());}
-function bVb(a){zUb();return e2(new d2());}
-function cVb(a){zUb();return x2(new w2());}
-function dVb(a){zUb();return new uD();}
-function eVb(a){zUb();return new jI();}
-function fVb(a){zUb();return new lI();}
-function gVb(b){zUb();var a;a=b.Bd();return yb('[Ljava.lang.String;',[608],[1],[a],null);}
-function hVb(a){zUb();return igb(new ggb());}
-function iVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[625],[24],[a],null);}
-function jVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[618],[18],[a],null);}
-function kVb(a){zUb();return new lhb();}
-function lVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[626],[25],[a],null);}
-function mVb(a){zUb();return thb(new shb());}
-function nVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[627],[26],[a],null);}
-function oVb(a){zUb();return Bhb(new Ahb());}
-function pVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[628],[27],[a],null);}
-function qVb(a){zUb();return new cib();}
-function rVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[629],[28],[a],null);}
-function sVb(a){zUb();return kib(new jib());}
-function tVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[630],[29],[a],null);}
-function uVb(a){zUb();return sib(new rib());}
-function vVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[631],[30],[a],null);}
-function wVb(a){zUb();return new zib();}
-function xVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[632],[31],[a],null);}
-function yVb(a){zUb();return new bjb();}
-function zVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[615],[15],[a],null);}
-function AVb(a){zUb();return new jjb();}
-function BVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[614],[14],[a],null);}
-function CVb(a){zUb();return new pjb();}
-function DVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[616],[16],[a],null);}
-function EVb(a){zUb();return new yjb();}
-function FVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[617],[17],[a],null);}
-function aWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[624],[23],[a],null);}
-function bWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[623],[22],[a],null);}
-function cWb(a){zUb();return new gkb();}
-function dWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[622],[21],[a],null);}
-function eWb(a){zUb();return new nkb();}
-function fWb(a){zUb();return xkb(new vkb());}
-function gWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[633],[32],[a],null);}
-function hWb(a){zUb();return new jlb();}
-function iWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[609],[10],[a],null);}
-function jWb(a){zUb();return new gLb();}
-function kWb(a){zUb();return new nLb();}
-function lWb(a){zUb();return xLb(new vLb());}
-function mWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[619],[19],[a],null);}
-function nWb(a){zUb();return new FLb();}
-function oWb(a){zUb();return new FWb();}
-function pWb(a){zUb();return new fXb();}
-function qWb(a){zUb();return new mYb();}
-function rWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[610],[11],[a],null);}
-function sWb(a){zUb();return new sYb();}
-function tWb(a){zUb();return new yYb();}
-function uWb(a){zUb();return new EYb();}
-function vWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[613],[13],[a],null);}
-function wWb(a){zUb();return new eZb();}
-function xWb(a){zUb();return new lZb();}
-function yWb(c,a,d){var b=BWb[d];if(!b){CWb(d);}b[1](c,a);}
-function zWb(b){var a=EWb[b];return a==null?b:a;}
-function AWb(b,c){var a=BWb[c];if(!a){CWb(c);}return a[0](b);}
-function CWb(a){zUb();throw yl(new xl(),a);}
-function DWb(c,a,d){var b=BWb[d];if(!b){CWb(d);}b[2](c,a);}
-function xUb(){}
-_=xUb.prototype=new fU();_.ib=yWb;_.bc=zWb;_.nc=AWb;_.ie=DWb;_.tN=ogc+'RepositoryService_TypeSerializer';_.tI=486;var BWb,EWb;function FWb(){}
-_=FWb.prototype=new fU();_.tN=ogc+'RuleAsset';_.tI=487;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function dXb(b,a){a.a=b.zd();a.b=Fb(b.Dd(),39);a.c=b.zd();a.d=Fb(b.Dd(),93);a.e=b.Ed();}
-function eXb(b,a){b.bf(a.a);b.ff(a.b);b.bf(a.c);b.ff(a.d);b.gf(a.e);}
-function fXb(){}
-_=fXb.prototype=new fU();_.tN=ogc+'RuleContentText';_.tI=488;_.a=null;function jXb(b,a){a.a=b.Ed();}
-function kXb(b,a){b.gf(a.a);}
-function AXb(){AXb=d3;EXb=aYb(new FXb());}
-function xXb(a){AXb();return a;}
-function yXb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.SecurityService');wn(a,'getCurrentUser');un(a,0);}
-function zXb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.SecurityService');wn(b,'login');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
-function BXb(h,c){var a,d,e,f,g;f=co(new bo(),EXb);g=wo(new uo(),EXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{yXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Dc(d);return;}else throw a;}e=oXb(new nXb(),h,f,c);if(!wg(h.a,Do(g),e))c.Dc(kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CXb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),EXb);h=wo(new uo(),EXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{zXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=tXb(new sXb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DXb(b,a){b.a=a;}
-function mXb(){}
-_=mXb.prototype=new fU();_.tN=ogc+'SecurityService_Proxy';_.tI=489;_.a=null;var EXb;function oXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function qXb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else g.a.Dc(c);}
-function rXb(a){var b;b=x;qXb(this,a);}
-function nXb(){}
-_=nXb.prototype=new fU();_.Ac=rXb;_.tN=ogc+'SecurityService_Proxy$1';_.tI=490;function tXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vXb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=jS(new iS(),ho(g.b));}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)E5(g.a,f);else xcb(g.a,c);}
-function wXb(a){var b;b=x;vXb(this,a);}
-function sXb(){}
-_=sXb.prototype=new fU();_.Ac=wXb;_.tN=ogc+'SecurityService_Proxy$2';_.tI=491;function bYb(){bYb=d3;iYb=cYb();lYb=dYb();}
-function aYb(a){bYb();return a;}
-function cYb(){bYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return eYb(a);},function(a,b){hl(a,b);},function(a,b){il(a,b);}],'java.lang.String/2004016611':[function(a){return mm(a);},function(a,b){lm(a,b);},function(a,b){nm(a,b);}]};}
-function dYb(){bYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
-function eYb(a){bYb();return dl(new cl());}
-function fYb(c,a,d){var b=iYb[d];if(!b){jYb(d);}b[1](c,a);}
-function gYb(b){var a=lYb[b];return a==null?b:a;}
-function hYb(b,c){var a=iYb[c];if(!a){jYb(c);}return a[0](b);}
-function jYb(a){bYb();throw yl(new xl(),a);}
-function kYb(c,a,d){var b=iYb[d];if(!b){jYb(d);}b[2](c,a);}
-function FXb(){}
-_=FXb.prototype=new fU();_.ib=fYb;_.bc=gYb;_.nc=hYb;_.ie=kYb;_.tN=ogc+'SecurityService_TypeSerializer';_.tI=492;var iYb,lYb;function mYb(){}
-_=mYb.prototype=new ol();_.tN=ogc+'SessionExpiredException';_.tI=493;function qYb(b,a){sl(b,a);}
-function rYb(b,a){ul(b,a);}
-function sYb(){}
-_=sYb.prototype=new fU();_.tN=ogc+'SnapshotInfo';_.tI=494;_.a=null;_.b=null;_.c=null;function wYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
-function xYb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
-function yYb(){}
-_=yYb.prototype=new fU();_.tN=ogc+'TableConfig';_.tI=495;_.a=null;_.b=0;function CYb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Bd();}
-function DYb(b,a){b.ff(a.a);b.df(a.b);}
-function EYb(){}
-_=EYb.prototype=new fU();_.tN=ogc+'TableDataResult';_.tI=496;_.a=null;function cZb(b,a){a.a=Fb(b.Dd(),94);}
-function dZb(b,a){b.ff(a.a);}
-function kZb(a){return eV(a,'\\,')[0];}
-function eZb(){}
-_=eZb.prototype=new fU();_.tN=ogc+'TableDataRow';_.tI=497;_.a=null;_.b=null;_.c=null;function iZb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=Fb(b.Dd(),63);}
-function jZb(b,a){b.gf(a.a);b.gf(a.b);b.ff(a.c);}
-function lZb(){}
-_=lZb.prototype=new fU();_.tN=ogc+'ValidatedResponse';_.tI=498;_.a=null;_.b=null;_.c=false;_.d=null;function pZb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.zd();a.d=Fb(b.Dd(),39);}
-function qZb(b,a){b.gf(a.a);b.gf(a.b);b.bf(a.c);b.ff(a.d);}
-function F0b(a){a.e=ut(new ot());}
-function a1b(j,b,c,a,f,d,g){var e,h,i;F0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=mz(new qw());i=j.f.r;e=xt(j.e);h=iA(new gA());h1b(j,i);jA(h,j.g);if(!g){d1b(j,e,h);}j1b(j,f,e);pr(j,j.e);j.Be('100%');return j;}
-function c1b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
-function d1b(h,e,g){var a,b,c,d,f;d=Ccb(new Bcb(),'images/edit.gif');d.te('Change status.');oB(d,BZb(new sZb(),h));jA(g,d);h.e.ze(0,0,g);ex(e,0,0,(xz(),zz),(aA(),dA));f=zp(new tp(),'Save changes');f.te('Check in changes.');f.x(FZb(new EZb(),h));jA(g,f);b=zp(new tp(),'Copy');b.x(d0b(new c0b(),h));jA(g,b);a=zp(new tp(),'Archive');a.x(h0b(new g0b(),h));jA(g,a);if(h.f.v==0){c=zp(new tp(),'Delete');c.x(l0b(new k0b(),h));jA(g,c);}}
-function e1b(b,c){var a;a=n2b(new i2b(),wN(c),xN(c),'Check in changes.');q2b(a,uZb(new tZb(),b,a));r2b(a);}
-function f1b(e,f){var a,b,c,d;a=rcb(new mcb(),'images/rule_asset.gif','Copy this item');b=eL(new vK());c=Fdb(new Adb());scb(a,'New name:',b);scb(a,'New package:',c);d=zp(new tp(),'Create copy');d.x(x0b(new w0b(),e,c,b,a));scb(a,'',d);wE(a,dc((tab()-rE(a))/2),100);zE(a);}
-function g1b(b,a){b.c=a;}
-function h1b(b,a){qz(b.g,'Status: <b>['+a+']<\/b>');}
-function i1b(b,c){var a;a=zeb(new deb(),b.h,false);Ceb(a,yZb(new xZb(),b,a));wE(a,wN(c),xN(c));zE(a);}
-function j1b(e,d,b){var a,c,f;f=iA(new gA());c=Ccb(new Bcb(),'images/max_min.gif');oB(c,p0b(new o0b(),e,d));jA(f,c);a=Ccb(new Bcb(),'images/close.gif');a.te('Close.');oB(a,t0b(new s0b(),e));jA(f,a);e.e.ze(0,1,f);ex(b,0,1,(xz(),Az),(aA(),dA));}
-function rZb(){}
-_=rZb.prototype=new nr();_.tN=pgc+'ActionToolbar';_.tI=499;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function BZb(b,a){b.a=a;return b;}
-function DZb(a){i1b(this.a,a);}
-function sZb(){}
-_=sZb.prototype=new fU();_.zc=DZb;_.tN=pgc+'ActionToolbar$1';_.tI=500;function uZb(b,a,c){b.a=a;b.b=c;return b;}
-function wZb(){this.a.f.b=p2b(this.b);v9b(this.a.b);}
-function tZb(){}
-_=tZb.prototype=new fU();_.pb=wZb;_.tN=pgc+'ActionToolbar$10';_.tI=501;function yZb(b,a,c){b.a=a;b.b=c;return b;}
-function AZb(){h1b(this.a,this.b.c);}
-function xZb(){}
-_=xZb.prototype=new fU();_.pb=AZb;_.tN=pgc+'ActionToolbar$11';_.tI=502;function FZb(b,a){b.a=a;return b;}
-function b0b(a){e1b(this.a,a);}
-function EZb(){}
-_=EZb.prototype=new fU();_.zc=b0b;_.tN=pgc+'ActionToolbar$2';_.tI=503;function d0b(b,a){b.a=a;return b;}
-function f0b(a){f1b(this.a,a);}
-function c0b(){}
-_=c0b.prototype=new fU();_.zc=f0b;_.tN=pgc+'ActionToolbar$3';_.tI=504;function h0b(b,a){b.a=a;return b;}
-function j0b(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+b0(zZ(new yZ()));A9b(this.a.a);}}
-function g0b(){}
-_=g0b.prototype=new fU();_.zc=j0b;_.tN=pgc+'ActionToolbar$4';_.tI=505;function l0b(b,a){b.a=a;return b;}
-function n0b(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){e$b(this.a.d);}}
-function k0b(){}
-_=k0b.prototype=new fU();_.zc=n0b;_.tN=pgc+'ActionToolbar$5';_.tI=506;function p0b(b,a,c){b.a=c;return b;}
-function r0b(a){F9b(this.a);}
-function o0b(){}
-_=o0b.prototype=new fU();_.zc=r0b;_.tN=pgc+'ActionToolbar$6';_.tI=507;function t0b(b,a){b.a=a;return b;}
-function v0b(a){o$b(this.a.c);}
-function s0b(){}
-_=s0b.prototype=new fU();_.zc=v0b;_.tN=pgc+'ActionToolbar$7';_.tI=508;function x0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
-function z0b(a){yTb(mMb(),this.a.h,beb(this.d),CK(this.c),B0b(new A0b(),this,this.c,this.d,this.b));}
-function w0b(){}
-_=w0b.prototype=new fU();_.zc=z0b;_.tN=pgc+'ActionToolbar$8';_.tI=509;function B0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
-function D0b(b,a){c1b(b.a.a,CK(b.c),beb(b.d));b.b.lc();}
-function E0b(a){D0b(this,a);}
-function A0b(){}
-_=A0b.prototype=new vcb();_.pd=E0b;_.tN=pgc+'ActionToolbar$9';_.tI=510;function F1b(a){a.b=yab(new wab());}
-function a2b(c,a,b){F1b(c);c.a=a;c.c=ut(new ot());f2b(c,c.c);FN(c.c,'rule-List');Bab(c.b,0,0,c.c);if(!b){d2b(c);}pr(c,c.b);return c;}
-function b2b(b,a){yLb(b.a,a);h2b(b);}
-function d2b(c){var a,b;a=sO(new qO());b=Ccb(new Bcb(),'images/new_item.gif');b.te('Add a new category.');oB(b,u1b(new t1b(),c));tO(a,b);Bab(c.b,0,1,a);}
-function e2b(b){var a;a=D1b(new B1b(),b);wE(a,wN(b),xN(b));zE(a);}
-function f2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;bz(d,b,0,e.a.a[b]);a=Ccb(new Bcb(),'images/trash.gif');a.te('Remove this category');oB(a,y1b(new x1b(),e,c));d.ze(b,1,a);}}
-function g2b(b,a){ALb(b.a,a);rab(b);h2b(b);}
-function h2b(a){a.c=ut(new ot());FN(a.c,'rule-List');Bab(a.b,0,0,a.c);f2b(a,a.c);rab(a);}
-function k1b(){}
-_=k1b.prototype=new pab();_.tN=pgc+'AssetCategoryEditor';_.tI=511;_.a=null;_.c=null;function m1b(b,a){b.a=a;return b;}
-function o1b(a){this.a.b=a;}
-function l1b(){}
-_=l1b.prototype=new fU();_.he=o1b;_.tN=pgc+'AssetCategoryEditor$1';_.tI=512;function q1b(b,a){b.a=a;return b;}
-function s1b(a){if(this.a.b!==null&& !EU('',this.a.b)){b2b(this.a.d,this.a.b);}this.a.lc();}
-function p1b(){}
-_=p1b.prototype=new fU();_.zc=s1b;_.tN=pgc+'AssetCategoryEditor$2';_.tI=513;function u1b(b,a){b.a=a;return b;}
-function w1b(a){e2b(this.a);}
-function t1b(){}
-_=t1b.prototype=new fU();_.zc=w1b;_.tN=pgc+'AssetCategoryEditor$3';_.tI=514;function y1b(b,a,c){b.a=a;b.b=c;return b;}
-function A1b(a){g2b(this.a,this.b);}
-function x1b(){}
-_=x1b.prototype=new fU();_.zc=A1b;_.tN=pgc+'AssetCategoryEditor$4';_.tI=515;function E1b(){E1b=d3;pE();}
-function C1b(a){a.a=zp(new tp(),'OK');}
-function D1b(b,a){var c;E1b();b.d=a;mE(b,true);C1b(b);c=sO(new qO());b.c=d_(new s$(),m1b(new l1b(),b));FN(b,'ks-popups-Popup');tO(c,b.c);tO(c,b.a);hH(b,c);b.a.x(q1b(new p1b(),b));return b;}
-function B1b(){}
-_=B1b.prototype=new kE();_.tN=pgc+'AssetCategoryEditor$CategorySelector';_.tI=516;_.b=null;_.c=null;function n2b(c,a,d,b){c.b=rcb(new mcb(),'images/checkin.gif',b);c.a=pK(new oK());c.a.Be('100%');c.c=zp(new tp(),'Save');scb(c.b,'Comment',c.a);scb(c.b,'',c.c);FN(c.b,'ks-popups-Popup');wE(c.b,a,d);return c;}
-function p2b(a){return CK(a.a);}
-function q2b(b,a){b.c.x(k2b(new j2b(),b,a));}
-function r2b(a){wE(a.b,dc((tab()-rE(a.b))/2),100);zE(a.b);}
-function i2b(){}
-_=i2b.prototype=new fU();_.tN=pgc+'CheckinPopup';_.tI=517;_.a=null;_.b=null;_.c=null;function k2b(b,a,c){b.a=a;b.b=c;return b;}
-function m2b(a){this.b.pb();this.a.b.lc();}
-function j2b(){}
-_=j2b.prototype=new fU();_.zc=m2b;_.tN=pgc+'CheckinPopup$1';_.tI=518;function i3b(){i3b=d3;pE();}
-function g3b(g,f,e){var a,b,c,d;i3b();mE(g,true);g.d=f;g.b=eL(new vK());g.b.Be('100%');b='<enter text to filter list>';aL(g.b,'<enter text to filter list>');pu(g.b,u2b(new t2b(),g));zK(g.b,z2b(new y2b(),g,e));g.b.oe(true);d=sO(new qO());tO(d,g.b);g.c=xC(new nC());hD(g.c,5);k3b(g,f5b(g.d,''));tO(d,g.c);c=zp(new tp(),'ok');c.x(F2b(new E2b(),g,e));a=zp(new tp(),'cancel');a.x(d3b(new c3b(),g));g.a=iA(new gA());jA(g.a,c);jA(g.a,a);tO(d,g.a);hH(g,d);FN(g,'ks-popups-Popup');return g;}
-function h3b(b,a){E3b(a,j3b(b));b.lc();}
-function j3b(a){return aD(a.c,bD(a.c));}
-function k3b(c,a){var b;DC(c.c);for(b=0;b<a.b;b++){AC(c.c,Fb(uY(a,b),14).a);}}
-function s2b(){}
-_=s2b.prototype=new kE();_.tN=pgc+'ChoiceList';_.tI=519;_.a=null;_.b=null;_.c=null;_.d=null;function u2b(b,a){b.a=a;return b;}
-function w2b(a){aL(this.a.b,'');}
-function x2b(a){aL(this.a.b,'<enter text to filter list>');}
-function t2b(){}
-_=t2b.prototype=new fU();_.Ec=w2b;_.gd=x2b;_.tN=pgc+'ChoiceList$1';_.tI=520;function z2b(b,a,c){b.a=a;b.b=c;return b;}
-function B2b(a,b,c){}
-function C2b(a,b,c){}
-function D2b(a,b,c){if(b==13){h3b(this.a,this.b);}else{k3b(this.a,f5b(this.a.d,CK(this.a.b)));}}
-function y2b(){}
-_=y2b.prototype=new fU();_.cd=B2b;_.dd=C2b;_.ed=D2b;_.tN=pgc+'ChoiceList$2';_.tI=521;function F2b(b,a,c){b.a=a;b.b=c;return b;}
-function b3b(a){h3b(this.a,this.b);}
-function E2b(){}
-_=E2b.prototype=new fU();_.zc=b3b;_.tN=pgc+'ChoiceList$3';_.tI=522;function d3b(b,a){b.a=a;return b;}
-function f3b(a){this.a.lc();}
-function c3b(){}
-_=c3b.prototype=new fU();_.zc=f3b;_.tN=pgc+'ChoiceList$4';_.tI=523;function C3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=pK(new oK());uK(i.d,10);aL(i.d,i.c.a);i.d.te('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=cLb((aLb(),fLb),a.d.o);i.a=c.a;i.b=c.b;FN(i.d,'dsl-text-Editor');d=ut(new ot());d.ze(0,0,i.d);yK(i.d,n3b(new m3b(),i));zK(i.d,r3b(new q3b(),i));j=sO(new qO());e=Ccb(new Bcb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.te('Add a new condition');oB(e,v3b(new u3b(),i));h=Ccb(new Bcb(),'images/new_dsl_action.gif');g='Add an action';h.te('Add an action');oB(h,z3b(new y3b(),i));tO(j,e);tO(j,h);d.ze(0,1,j);kx(d.n,0,0,'95%');kx(d.n,0,1,'5%');d.Be('100%');d.qe('100%');pr(i,d);return i;}
-function E3b(e,b){var a,c,d;a=rK(e.d);c=iV(CK(e.d),0,a);d=iV(CK(e.d),a,cV(CK(e.d)));aL(e.d,c+b+d);e.c.a=CK(e.d);}
-function F3b(b){var a;a=iV(CK(b.d),0,rK(b.d));if(aV(a,'then')>(-1)){a4b(b,b.a);}else{a4b(b,b.b);}}
-function a4b(c,b){var a;a=g3b(new s2b(),b,c);wE(a,wN(c.d)+20,xN(c.d)+20);zE(a);}
-function l3b(){}
-_=l3b.prototype=new pab();_.tN=pgc+'DSLRuleEditor';_.tI=524;_.a=null;_.b=null;_.c=null;_.d=null;function n3b(b,a){b.a=a;return b;}
-function p3b(a){this.a.c.a=CK(this.a.d);rab(this.a);}
-function m3b(){}
-_=m3b.prototype=new fU();_.yc=p3b;_.tN=pgc+'DSLRuleEditor$1';_.tI=525;function r3b(b,a){b.a=a;return b;}
-function t3b(a,b,c){if(b==32&&c==2){F3b(this.a);}if(b==9){E3b(this.a,'\t');DK(this.a.d,rK(this.a.d)+1);AK(this.a.d);}}
-function q3b(){}
-_=q3b.prototype=new vB();_.cd=t3b;_.tN=pgc+'DSLRuleEditor$2';_.tI=526;function v3b(b,a){b.a=a;return b;}
-function x3b(a){a4b(this.a,this.a.b);}
-function u3b(){}
-_=u3b.prototype=new fU();_.zc=x3b;_.tN=pgc+'DSLRuleEditor$3';_.tI=527;function z3b(b,a){b.a=a;return b;}
-function B3b(a){a4b(this.a,this.a.a);}
-function y3b(){}
-_=y3b.prototype=new fU();_.zc=B3b;_.tN=pgc+'DSLRuleEditor$4';_.tI=528;function k4b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=pK(new oK());uK(b.c,10);aL(b.c,b.b.a);FN(b.c,'default-text-Area');yK(b.c,d4b(new c4b(),b));zK(b.c,h4b(new g4b(),b));pr(b,b.c);return b;}
-function m4b(e,b){var a,c,d;a=rK(e.c);c=iV(CK(e.c),0,a);d=iV(CK(e.c),a,cV(CK(e.c)));aL(e.c,c+b+d);e.b.a=CK(e.c);}
-function b4b(){}
-_=b4b.prototype=new pab();_.tN=pgc+'DefaultRuleContentWidget';_.tI=529;_.a=null;_.b=null;_.c=null;function d4b(b,a){b.a=a;return b;}
-function f4b(a){this.a.b.a=CK(this.a.c);rab(this.a);}
-function c4b(){}
-_=c4b.prototype=new fU();_.yc=f4b;_.tN=pgc+'DefaultRuleContentWidget$1';_.tI=530;function h4b(b,a){b.a=a;return b;}
-function j4b(a,b,c){if(b==9){m4b(this.a,'\t');DK(this.a.c,rK(this.a.c)+1);AK(this.a.c);}}
-function g4b(){}
-_=g4b.prototype=new vB();_.cd=j4b;_.tN=pgc+'DefaultRuleContentWidget$2';_.tI=531;function C4b(){C4b=d3;D4b=a5b();}
-function E4b(a){C4b();var b;b=Fb(q1(D4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
-function F4b(a,b){C4b();if(EU(a.d.k,'brl')){return D8b(new k8b(),twb(new oub(),a),a);}else if(EU(a.d.k,'dslr')){return D8b(new k8b(),C3b(new l3b(),a),a);}else if(EU(a.d.k,'jar')){return oyb(new nyb(),a,b);}else if(EU(a.d.k,'xls')){return D8b(new k8b(),yfb(new xfb(),a,b),a);}else if(EU(a.d.k,'rf')){return g8b(new f8b(),a,b);}else if(EU(a.d.k,'drl')){return D8b(new k8b(),k4b(new b4b(),a),a);}else if(EU(a.d.k,'enumeration')){return D8b(new k8b(),k4b(new b4b(),a),a);}else{return k4b(new b4b(),a);}}
-function a5b(){C4b();var a;a=k1(new o0());r1(a,'drl','technical_rule_assets.gif');r1(a,'dsl','dsl.gif');r1(a,'function','function_assets.gif');r1(a,'jar','model_asset.gif');r1(a,'xls','spreadsheet_small.gif');r1(a,'brl','business_rule.gif');r1(a,'dslr','business_rule.gif');r1(a,'rf','ruleflow_small.gif');return a;}
-function b5b(d,f,g,e,a){C4b();var b,c,h;h=D$b(new f9b(),a,e);b=a.d.n;if(cV(b)>10){b=iV(b,0,7)+'...';}c=E4b(a.d.k);EJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(nZ(),oZ)){r1(d,g,h);}g_b(h,y4b(new x4b(),f,h,d,g));eK(f,aK(f,h));}
-function c5b(b,d,e,c){C4b();var a;if(n1(b,e)){if(aK(d,Fb(q1(b,e),20))==(-1)){a=ac(bK(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{eK(d,aK(d,Fb(q1(b,e),20)));}sdb();return;}jUb(mMb(),e,p4b(new o4b(),b,d,e,c));}
-var D4b;function p4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
-function r4b(c){var a,b;a=Fb(c,97);b=(aLb(),fLb);bLb(b,a.d.o,t4b(new s4b(),this,this.a,this.c,this.d,this.b,a));}
-function o4b(){}
-_=o4b.prototype=new vcb();_.pd=r4b;_.tN=pgc+'EditorLauncher$1';_.tI=532;function t4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
-function v4b(a){b5b(a.b,a.d,a.e,a.c,a.a);}
-function w4b(){v4b(this);}
-function s4b(){}
-_=s4b.prototype=new fU();_.pb=w4b;_.tN=pgc+'EditorLauncher$2';_.tI=533;function y4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
-function A4b(a){dK(a.b,aK(a.b,a.d));eK(a.b,0);if(a.a!==(nZ(),oZ)){s1(a.a,a.c);}}
-function B4b(){A4b(this);}
-function x4b(){}
-_=x4b.prototype=new fU();_.pb=B4b;_.tN=pgc+'EditorLauncher$3';_.tI=534;function f5b(e,a){var b,c,d;b=nY(new lY());for(c=0;c<e.a;c++){d=e[c];if(EU(a,'')||gV(d.a,a)){pY(b,d);}}return b;}
-function A6b(e,a,c,f,d){var b;bcb(e);FN(e,'metadata-Widget');if(!c){b=Dcb(new Bcb(),'images/edit.gif','Rename this asset');oB(b,r5b(new h5b(),e));fcb(e,'images/meta_data.png',a.n,b);}else{ecb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;F6b(e,a);return e;}
-function B6b(a){a.b=a2b(new k1b(),a.a,a.c);return a.b;}
-function D6b(d,a,e){var b,c;if(!d.c){b=eL(new vK());b.te(e);aL(b,a.ec());c=o5b(new n5b(),d,a,b);yK(b,c);return b;}else{return fC(new dC(),a.ec());}}
-function E6b(a){if(a.a.v==0){return nz(new qw(),'<i>Not checked in yet<\/i>');}else{return c7b(a,rT(a.a.v));}}
-function F6b(b,a){b.a=a;dcb(b,'Categories:',B6b(b));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Modified on:',b7b(b,b.a.m));dcb(b,'by:',c7b(b,b.a.l));dcb(b,'Note:',c7b(b,b.a.b));dcb(b,'Version:',E6b(b));if(!b.c){dcb(b,'Created on:',b7b(b,b.a.d));}dcb(b,'Created by:',c7b(b,b.a.e));dcb(b,'Format:',nz(new qw(),'<b>'+b.a.k+'<\/b>'));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Package:',a7b(b,b.a.o));dcb(b,'Subject:',D6b(b,v5b(new u5b(),b),'A short description of the subject matter.'));dcb(b,'Type:',D6b(b,A5b(new z5b(),b),'This is for classification purposes.'));dcb(b,'External link:',D6b(b,F5b(new E5b(),b),'This is for relating the asset to an external system.'));dcb(b,'Source:',D6b(b,e6b(new d6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){gcb(b,bac(new i_b(),b.e,b.a,b.d));}}
-function a7b(d,c){var a,b;if(d.c){return c7b(d,c);}else{b=iA(new gA());FN(b,'metadata-Widget');jA(b,c7b(d,c));a=Ccb(new Bcb(),'images/edit.gif');oB(a,j6b(new i6b(),d,c));jA(b,a);return b;}}
-function b7b(b,a){if(a===null){return null;}else{return fC(new dC(),a0(a));}}
-function c7b(c,b){var a;a=fC(new dC(),b);a.Be('100%');return a;}
-function d7b(f,b,e){var a,c,d;c=rcb(new mcb(),'images/package_large.png','Move this item to another package');scb(c,'Current package:',fC(new dC(),b));d=Fdb(new Adb());scb(c,'New package:',d);a=zp(new tp(),'Change package');scb(c,'',a);a.x(w6b(new v6b(),f,d,b,c));wE(c,wN(e.v.v),xN(e.v.v));zE(c);}
-function e7b(e,d){var a,b,c;c=rcb(new mcb(),'images/package_large.png','Rename this item');a=eL(new vK());scb(c,'New name',a);b=zp(new tp(),'Rename item');scb(c,'',b);b.x(n6b(new m6b(),e,a,c));wE(c,wN(d.v.v)-18,xN(d.v.v));zE(c);}
-function f7b(){return this.b.pc()||this.j;}
-function g5b(){}
-_=g5b.prototype=new Fbb();_.pc=f7b;_.tN=pgc+'MetaDataWidget';_.tI=535;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function r5b(b,a){b.a=a;return b;}
-function t5b(a){e7b(this.a,a);}
-function h5b(){}
-_=h5b.prototype=new fU();_.zc=t5b;_.tN=pgc+'MetaDataWidget$1';_.tI=536;function j5b(b,a,c){b.a=a;b.b=c;return b;}
-function l5b(b,a){rab(b.a.a);j$b(b.a.a.d);b.b.lc();}
-function m5b(a){l5b(this,a);}
-function i5b(){}
-_=i5b.prototype=new vcb();_.pd=m5b;_.tN=pgc+'MetaDataWidget$10';_.tI=537;function o5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function q5b(a){rab(this.a);this.b.xe(CK(this.c));}
-function n5b(){}
-_=n5b.prototype=new fU();_.yc=q5b;_.tN=pgc+'MetaDataWidget$11';_.tI=538;function v5b(b,a){b.a=a;return b;}
-function x5b(){return this.a.a.s;}
-function y5b(a){this.a.a.s=a;}
-function u5b(){}
-_=u5b.prototype=new fU();_.ec=x5b;_.xe=y5b;_.tN=pgc+'MetaDataWidget$2';_.tI=539;function A5b(b,a){b.a=a;return b;}
-function C5b(){return this.a.a.u;}
-function D5b(a){this.a.a.u=a;}
-function z5b(){}
-_=z5b.prototype=new fU();_.ec=C5b;_.xe=D5b;_.tN=pgc+'MetaDataWidget$3';_.tI=540;function F5b(b,a){b.a=a;return b;}
-function b6b(){return this.a.a.i;}
-function c6b(a){this.a.a.i=a;}
-function E5b(){}
-_=E5b.prototype=new fU();_.ec=b6b;_.xe=c6b;_.tN=pgc+'MetaDataWidget$4';_.tI=541;function e6b(b,a){b.a=a;return b;}
-function g6b(){return this.a.a.j;}
-function h6b(a){this.a.a.j=a;}
-function d6b(){}
-_=d6b.prototype=new fU();_.ec=g6b;_.xe=h6b;_.tN=pgc+'MetaDataWidget$5';_.tI=542;function j6b(b,a,c){b.a=a;b.b=c;return b;}
-function l6b(a){d7b(this.a,this.b,a);}
-function i6b(){}
-_=i6b.prototype=new fU();_.zc=l6b;_.tN=pgc+'MetaDataWidget$6';_.tI=543;function n6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function p6b(a){rUb(mMb(),this.a.e,CK(this.b),r6b(new q6b(),this,this.c));}
-function m6b(){}
-_=m6b.prototype=new fU();_.zc=p6b;_.tN=pgc+'MetaDataWidget$7';_.tI=544;function r6b(b,a,c){b.a=a;b.b=c;return b;}
-function t6b(b,a){j$b(b.a.a.d);zh('Item has been renamed');b.b.lc();}
-function u6b(a){t6b(this,a);}
-function q6b(){}
-_=q6b.prototype=new vcb();_.pd=u6b;_.tN=pgc+'MetaDataWidget$8';_.tI=545;function w6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function y6b(a){if(EU(beb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}uTb(mMb(),this.a.e,beb(this.d),'Moved from : '+this.b,j5b(new i5b(),this,this.c));}
-function v6b(){}
-_=v6b.prototype=new fU();_.zc=y6b;_.tN=pgc+'MetaDataWidget$9';_.tI=546;function x7b(){x7b=d3;ucb();}
-function u7b(a){a.f=eL(new vK());a.b=pK(new oK());a.d=z7b(a);a.g=Fdb(new Adb());}
-function v7b(e,a,d,b,f){var c;x7b();rcb(e,'images/new_wiz.gif',f);u7b(e);e.h=d;e.c=b;e.a=a;scb(e,'Name:',e.f);if(d){scb(e,'Initial category:',y7b(e));}if(b===null){scb(e,'Type (format) of rule:',e.d);}scb(e,'Package:',e.g);uK(e.b,4);e.b.Be('100%');scb(e,'Initial description:',e.b);c=zp(new tp(),'OK');c.x(i7b(new h7b(),e));scb(e,'',c);FN(e,'ks-popups-Popup');return e;}
-function w7b(e,b,d,c,f,a){x7b();v7b(e,b,d,c,f);ceb(e.g,a);return e;}
-function y7b(a){return d_(new s$(),m7b(new l7b(),a));}
-function A7b(a){if(a.c!==null)return a.c;return cD(a.d,bD(a.d));}
-function z7b(b){var a;a=xC(new nC());BC(a,'Business rule (using guided editor)','brl');BC(a,'DRL rule (technical rule - text editor)','drl');BC(a,'Business rule using a DSL (text editor)','dslr');BC(a,'Decision table (spreadsheet)','xls');gD(a,0);return a;}
-function B7b(b){var a;if(b.h&&b.e===null){lfb('You have to pick an initial category.',wN(b),xN(b));return;}else if(CK(b.f)===null||EU('',CK(b.f))){lfb('Rule must have a name',wN(b),xN(b));return;}a=q7b(new p7b(),b);wdb('Please wait ...');CTb(mMb(),CK(b.f),CK(b.b),b.e,beb(b.g),A7b(b),a);}
-function C7b(a,b){a.a.wd(b);}
-function g7b(){}
-_=g7b.prototype=new mcb();_.tN=pgc+'NewAssetWizard';_.tI=547;_.a=null;_.c=null;_.e=null;_.h=false;function i7b(b,a){b.a=a;return b;}
-function k7b(a){B7b(this.a);}
-function h7b(){}
-_=h7b.prototype=new fU();_.zc=k7b;_.tN=pgc+'NewAssetWizard$1';_.tI=548;function m7b(b,a){b.a=a;return b;}
-function o7b(a){this.a.e=a;}
-function l7b(){}
-_=l7b.prototype=new fU();_.he=o7b;_.tN=pgc+'NewAssetWizard$2';_.tI=549;function q7b(b,a){b.a=a;return b;}
-function s7b(b,a){var c;c=Fb(a,1);if(gV(c,'DUPLICATE')){sdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{C7b(b.a,Fb(a,1));b.a.lc();}}
-function t7b(a){s7b(this,a);}
-function p7b(){}
-_=p7b.prototype=new vcb();_.pd=t7b;_.tN=pgc+'NewAssetWizard$3';_.tI=550;function c8b(b,a){b.a=pK(new oK());b.a.Be('100%');uK(b.a,10);FN(b.a,'rule-viewer-Documentation');b.a.te('This is rule documentation. Human friendly descriptions of the business logic.');pr(b,b.a);e8b(b,a);return b;}
-function e8b(b,a){aL(b.a,a.h);yK(b.a,F7b(new E7b(),b,a));if(a.h===null||EU('',a.h)){aL(b.a,'<documentation>');}}
-function D7b(){}
-_=D7b.prototype=new pab();_.tN=pgc+'RuleDocumentWidget';_.tI=551;_.a=null;function F7b(b,a,c){b.a=a;b.b=c;return b;}
-function b8b(a){this.b.h=CK(this.a.a);rab(this.a);}
-function E7b(){}
-_=E7b.prototype=new fU();_.yc=b8b;_.tN=pgc+'RuleDocumentWidget$1';_.tI=552;function g8b(b,a,c){wxb(b,a,c);xxb(b,nz(new qw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
-function i8b(){return 'images/ruleflow_large.png';}
-function j8b(){return 'decision-Table-upload';}
-function f8b(){}
-_=f8b.prototype=new ixb();_.vb=i8b;_.Eb=j8b;_.tN=pgc+'RuleFlowUploadWidget';_.tI=553;function D8b(c,b,a){c.a=a;c.b=yab(new wab());FN(c.b,'asset-editor-Layout');Bab(c.b,0,0,b);if(!a.c)Bab(c.b,1,0,d9b(c));ex(c.b.n,1,0,(xz(),Az),(aA(),dA));c.b.Be('100%');c.b.qe('100%');pr(c,c.b);return c;}
-function F8b(a){wdb('Validating item, please wait...');rTb(mMb(),a.a,u8b(new t8b(),a));}
-function a9b(a){wdb('Calculating source...');qTb(mMb(),a.a,z8b(new y8b(),a));}
-function b9b(h,e){var a,b,c,d,f,g;c=rcb(new mcb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){tcb(c,nz(new qw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=ut(new ot());FN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ze(f,0,nB(new xA(),'images/error.gif'));if(EU(d.a,'package')){bz(a,f,1,'[package configuration problem] '+d.c);}else{bz(a,f,1,d.c);}}g=zG(new xG(),a);g.Be('100%');tcb(c,g);}wE(c,100,100);zE(c);sdb();}
-function c9b(b,a){vBb(a,b.a.d.n);sdb();}
-function d9b(b){var a,c,d;a=iA(new gA());d=zp(new tp(),'View source');jA(a,d);c=zp(new tp(),'Validate');jA(a,c);d.x(m8b(new l8b(),b));c.x(q8b(new p8b(),b));FN(a,'asset-validator-Buttons');return a;}
-function e9b(){return Aab(this.b);}
-function k8b(){}
-_=k8b.prototype=new pab();_.pc=e9b;_.tN=pgc+'RuleValidatorWrapper';_.tI=554;_.a=null;_.b=null;function m8b(b,a){b.a=a;return b;}
-function o8b(a){a9b(this.a);}
-function l8b(){}
-_=l8b.prototype=new fU();_.zc=o8b;_.tN=pgc+'RuleValidatorWrapper$1';_.tI=555;function q8b(b,a){b.a=a;return b;}
-function s8b(a){F8b(this.a);}
-function p8b(){}
-_=p8b.prototype=new fU();_.zc=s8b;_.tN=pgc+'RuleValidatorWrapper$2';_.tI=556;function u8b(b,a){b.a=a;return b;}
-function w8b(c,a){var b;b=Fb(a,88);b9b(c.a,b);}
-function x8b(a){w8b(this,a);}
-function t8b(){}
-_=t8b.prototype=new vcb();_.pd=x8b;_.tN=pgc+'RuleValidatorWrapper$3';_.tI=557;function z8b(b,a){b.a=a;return b;}
-function B8b(c,a){var b;b=Fb(a,1);c9b(c.a,b);}
-function C8b(a){B8b(this,a);}
-function y8b(){}
-_=y8b.prototype=new vcb();_.pd=C8b;_.tN=pgc+'RuleValidatorWrapper$4';_.tI=558;function D$b(c,a,b){c.a=a;c.g=b;c.e=yab(new wab());d_b(c);pr(c,c.e);sdb();return c;}
-function F$b(a){a.a.a=true;a_b(a);A4b(a.b);}
-function a_b(a){ky(a.e);wdb('Saving, please wait...');wTb(mMb(),a.a,w$b(new v$b(),a));}
-function b_b(e){var a,b,c,d;d=rcb(new mcb(),'images/warning-large.png','WARNING: Un-committed changes.');b=zp(new tp(),'Discard');a=zp(new tp(),'Cancel');c=iA(new gA());jA(c,b);jA(c,a);tcb(d,nz(new qw(),'Are you sure you want to discard changes?'));tcb(d,c);b.x(m9b(new l9b(),e,d));a.x(q9b(new p9b(),e,d));FN(d,'warning-Popup');wE(d,dc((tab()-rE(d))/2),100);zE(d);}
-function c_b(a){aUb(mMb(),a.a.e,a.a.d.o,r$b(new q$b(),a));}
-function d_b(b){var a;ky(b.e);a=xt(b.e);b.h=a1b(new rZb(),b.a,t9b(new g9b(),b),y9b(new x9b(),b),D9b(new C9b(),b),c$b(new b$b(),b),b.g);Bab(b.e,0,0,b.h);ex(a,0,0,(xz(),Az),(aA(),dA));b.f=A6b(new g5b(),b.a.d,b.g,b.a.e,h$b(new g$b(),b));Bab(b.e,0,1,b.f);tt(a,0,1,3);ix(a,0,1,(aA(),dA));kx(a,0,1,'30%');b.d=F4b(b.a,b);g1b(b.h,m$b(new l$b(),b));Bab(b.e,1,0,b.d);ix(a,1,0,(aA(),dA));b.c=c8b(new D7b(),b.a.d);Bab(b.e,2,0,b.c);ix(a,2,0,(aA(),dA));}
-function e_b(a){if(t_(a.a.d.k)){wdb('Refreshing content assistance...');eLb((aLb(),fLb),a.a.d.o,new A$b());}}
-function f_b(a){jUb(mMb(),a.a.e,i9b(new h9b(),a));}
-function g_b(b,a){b.b=a;}
-function h_b(a){var b;b= !cx(xt(a.e),2,0);jx(xt(a.e),0,1,b);jx(xt(a.e),2,0,b);}
-function f9b(){}
-_=f9b.prototype=new nr();_.tN=pgc+'RuleViewer';_.tI=559;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function t9b(b,a){b.a=a;return b;}
-function v9b(a){a_b(a.a);}
-function w9b(){v9b(this);}
-function g9b(){}
-_=g9b.prototype=new fU();_.pb=w9b;_.tN=pgc+'RuleViewer$1';_.tI=560;function i9b(b,a){b.a=a;return b;}
-function k9b(a){this.a.a=Fb(a,97);d_b(this.a);sdb();}
-function h9b(){}
-_=h9b.prototype=new vcb();_.pd=k9b;_.tN=pgc+'RuleViewer$10';_.tI=561;function m9b(b,a,c){b.a=a;b.b=c;return b;}
-function o9b(a){A4b(this.a.b);this.b.lc();}
-function l9b(){}
-_=l9b.prototype=new fU();_.zc=o9b;_.tN=pgc+'RuleViewer$11';_.tI=562;function q9b(b,a,c){b.a=c;return b;}
-function s9b(a){this.a.lc();}
-function p9b(){}
-_=p9b.prototype=new fU();_.zc=s9b;_.tN=pgc+'RuleViewer$12';_.tI=563;function y9b(b,a){b.a=a;return b;}
-function A9b(a){F$b(a.a);}
-function B9b(){A9b(this);}
-function x9b(){}
-_=x9b.prototype=new fU();_.pb=B9b;_.tN=pgc+'RuleViewer$2';_.tI=564;function D9b(b,a){b.a=a;return b;}
-function F9b(a){h_b(a.a);}
-function a$b(){F9b(this);}
-function C9b(){}
-_=C9b.prototype=new fU();_.pb=a$b;_.tN=pgc+'RuleViewer$3';_.tI=565;function c$b(b,a){b.a=a;return b;}
-function e$b(a){c_b(a.a);}
-function f$b(){e$b(this);}
-function b$b(){}
-_=b$b.prototype=new fU();_.pb=f$b;_.tN=pgc+'RuleViewer$4';_.tI=566;function h$b(b,a){b.a=a;return b;}
-function j$b(a){f_b(a.a);}
-function k$b(){j$b(this);}
-function g$b(){}
-_=g$b.prototype=new fU();_.pb=k$b;_.tN=pgc+'RuleViewer$5';_.tI=567;function m$b(b,a){b.a=a;return b;}
-function o$b(a){if(Aab(a.a.e)){b_b(a.a);}else{A4b(a.a.b);}}
-function p$b(){o$b(this);}
-function l$b(){}
-_=l$b.prototype=new fU();_.pb=p$b;_.tN=pgc+'RuleViewer$6';_.tI=568;function r$b(b,a){b.a=a;return b;}
-function t$b(b,a){A4b(b.a.b);}
-function u$b(a){t$b(this,a);}
-function q$b(){}
-_=q$b.prototype=new vcb();_.pd=u$b;_.tN=pgc+'RuleViewer$7';_.tI=569;function w$b(b,a){b.a=a;return b;}
-function y$b(b,a){var c;e_b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){sab(Fb(b.a.d,98));}sab(b.a.f);sab(b.a.c);if(c===null){xbb('Failed to check in the item. Please contact your system administrator.');return;}f_b(b.a);}
-function z$b(a){y$b(this,a);}
-function v$b(){}
-_=v$b.prototype=new vcb();_.pd=z$b;_.tN=pgc+'RuleViewer$8';_.tI=570;function C$b(){sdb();}
-function A$b(){}
-_=A$b.prototype=new fU();_.pb=C$b;_.tN=pgc+'RuleViewer$9';_.tI=571;function bac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=iA(new gA());d.a=ut(new ot());d.a.ze(0,0,fC(new dC(),'Version history'));hx(d.a.n,0,0,'metadata-Widget');b=xt(d.a);gx(b,0,0,(xz(),zz));d.c=Ccb(new Bcb(),'images/refresh.gif');oB(d.c,k_b(new j_b(),d));d.a.ze(0,1,d.c);gx(b,0,1,(xz(),Az));FN(f,'version-browser-Border');jA(f,d.a);d.a.Be('100%');f.Be('100%');pr(d,f);return d;}
-function cac(a){gac(a);fg(o_b(new n_b(),a));}
-function eac(b,a){return B_b(new A_b(),b,a);}
-function fac(a){gUb(mMb(),a.e,s_b(new r_b(),a));}
-function gac(a){sB(a.c,'images/searching.gif');}
-function hac(a){sB(a.c,'images/refresh.gif');}
-function iac(b,a){var c;c=Fac(new jac(),b.b,a,b.e,b.d);wE(c,100,100);zE(c);}
-function i_b(){}
-_=i_b.prototype=new nr();_.tN=pgc+'VersionBrowser';_.tI=572;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function k_b(b,a){b.a=a;return b;}
-function m_b(a){cac(this.a);}
-function j_b(){}
-_=j_b.prototype=new fU();_.zc=m_b;_.tN=pgc+'VersionBrowser$1';_.tI=573;function o_b(b,a){b.a=a;return b;}
-function q_b(){fac(this.a);}
-function n_b(){}
-_=n_b.prototype=new fU();_.pb=q_b;_.tN=pgc+'VersionBrowser$2';_.tI=574;function s_b(b,a){b.a=a;return b;}
-function u_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ze(1,0,fC(new dC(),'No history.'));hac(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',608,1,['Version number','Comment','Date Modified','Status']);d=eac(i.a,f);h=sfc(d,c,0,false);h.Be('100%');i.a.a.ze(1,0,h);b=xt(i.a.a);st(b,1,0,2);e=zp(new tp(),'View selected version');e.x(x_b(new w_b(),i,h));i.a.a.ze(2,1,e);st(b,2,1,3);gx(b,2,1,(xz(),yz));hac(i.a);}
-function v_b(a){u_b(this,a);}
-function r_b(){}
-_=r_b.prototype=new vcb();_.pd=v_b;_.tN=pgc+'VersionBrowser$3';_.tI=575;function x_b(b,a,c){b.a=a;b.b=c;return b;}
-function z_b(a){if(this.b.f==0)return;iac(this.a.a,ffc(this.b));}
-function w_b(){}
-_=w_b.prototype=new fU();_.zc=z_b;_.tN=pgc+'VersionBrowser$4';_.tI=576;function B_b(b,a,c){b.a=c;return b;}
-function D_b(){return this.a.a;}
-function E_b(a){return this.a[a].b;}
-function F_b(b,a){return this.a[b].c[a];}
-function aac(b,a){return null;}
-function A_b(){}
-_=A_b.prototype=new fU();_.Ab=D_b;_.ac=E_b;_.fc=F_b;_.gc=aac;_.tN=pgc+'VersionBrowser$5';_.tI=577;function abc(){abc=d3;cs();}
-function Fac(d,a,e,b,c){abc();as(d,false);d.c=e;d.a=b;d.b=c;FN(d,'version-Popup');wdb('Loading version');jUb(mMb(),e,lac(new kac(),d,a));return d;}
-function bbc(b,c){var a;a=n2b(new i2b(),wN(c)+10,xN(c)+10,'Restore this version?');q2b(a,xac(new wac(),b,a));r2b(a);}
-function jac(){}
-_=jac.prototype=new Dr();_.tN=pgc+'VersionViewer';_.tI=578;_.a=null;_.b=null;_.c=null;function lac(b,a,c){b.a=a;b.b=c;return b;}
-function nac(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;es(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=ut(new ot());d=xt(e);f=zp(new tp(),'Restore this version');f.x(pac(new oac(),this));e.ze(0,0,f);gx(d,0,0,(xz(),zz));b=zp(new tp(),'Close');b.x(tac(new sac(),this));e.ze(0,1,b);gx(d,0,1,(xz(),Az));g=D$b(new f9b(),a,true);g.Be('100%');e.ze(1,0,g);st(d,1,1,2);e.Be('100%');DN(e,800,300);fs(this.a,e);}
-function kac(){}
-_=kac.prototype=new vcb();_.pd=nac;_.tN=pgc+'VersionViewer$1';_.tI=579;function pac(b,a){b.a=a;return b;}
-function rac(a){bbc(this.a.a,a);}
-function oac(){}
-_=oac.prototype=new fU();_.zc=rac;_.tN=pgc+'VersionViewer$2';_.tI=580;function tac(b,a){b.a=a;return b;}
-function vac(a){this.a.a.lc();}
-function sac(){}
-_=sac.prototype=new fU();_.zc=vac;_.tN=pgc+'VersionViewer$3';_.tI=581;function xac(b,a,c){b.a=a;b.b=c;return b;}
-function zac(){tUb(mMb(),this.a.c,this.a.a,p2b(this.b),Bac(new Aac(),this));}
-function wac(){}
-_=wac.prototype=new fU();_.pb=zac;_.tN=pgc+'VersionViewer$4';_.tI=582;function Bac(b,a){b.a=a;return b;}
-function Dac(b,a){b.a.a.lc();j$b(b.a.a.b);}
-function Eac(a){Dac(this,a);}
-function Aac(){}
-_=Aac.prototype=new vcb();_.pd=Eac;_.tN=pgc+'VersionViewer$5';_.tI=583;function fcc(a){a.b=(nZ(),oZ);}
-function gcc(a){fcc(a);a.c=DJ(new pJ());a.c.Be('100%');a.c.qe('100%');EJ(a.c,icc(a),"<img src='images/explore.gif'/>Explore",true);eK(a.c,0);pr(a,a.c);return a;}
-function icc(i){var a,b,c,d,e,f,g,h;h=ut(new ot());i.a=jdc(new ncc(),ebc(new dbc(),i),'rulelist');b=xt(h);d=d_(new s$(),ibc(new hbc(),i,h));f=nec(new sdc(),mbc(new lbc(),i));h.ze(0,1,f);ex(b,0,0,(xz(),zz),(aA(),dA));ex(b,0,1,(xz(),zz),(aA(),dA));kx(b,0,0,'30%');kx(b,0,1,'70%');e=zp(new tp(),'Create new rule');e.te('Create new rule');e.x(rbc(new qbc(),i));g=Ccb(new Bcb(),'images/system_search_small.png');g.te('Show the rule finder.');oB(g,vbc(new ubc(),i,h,f));a=iA(new gA());jA(a,e);jA(a,g);FN(a,'new-asset-Icons');c=sO(new qO());tO(c,a);tO(c,d);c.Be('100%');h.ze(0,0,c);return h;}
-function jcc(c,a,b){return zbc(new ybc(),c,b,a);}
-function kcc(b,a){b.b=a;}
-function lcc(a,b){c5b(a.b,a.c,b,false);}
-function mcc(c){var a,b,d;a=70;d=100;b=v7b(new g7b(),ccc(new bcc(),c),true,null,'Create a new rule');wE(b,a,d);zE(b);}
-function cbc(){}
-_=cbc.prototype=new nr();_.tN=qgc+'AssetBrowser';_.tI=584;_.a=null;_.c=null;function ebc(b,a){b.a=a;return b;}
-function gbc(a){lcc(this.a,a);}
-function dbc(){}
-_=dbc.prototype=new fU();_.wd=gbc;_.tN=qgc+'AssetBrowser$1';_.tI=585;function ibc(b,a,c){b.a=a;b.b=c;return b;}
-function kbc(b){var a;a=jcc(this.a,this.a.a,b);this.b.ze(0,1,this.a.a);wdb('Retrieving list, please wait...');fg(a);pdc(this.a.a,a);}
-function hbc(){}
-_=hbc.prototype=new fU();_.he=kbc;_.tN=qgc+'AssetBrowser$2';_.tI=586;function mbc(b,a){b.a=a;return b;}
-function obc(b,a){lcc(b.a,a);}
-function pbc(a){obc(this,a);}
-function lbc(){}
-_=lbc.prototype=new fU();_.wd=pbc;_.tN=qgc+'AssetBrowser$3';_.tI=587;function rbc(b,a){b.a=a;return b;}
-function tbc(a){mcc(this.a);}
-function qbc(){}
-_=qbc.prototype=new fU();_.zc=tbc;_.tN=qgc+'AssetBrowser$4';_.tI=588;function vbc(b,a,d,c){b.b=d;b.a=c;return b;}
-function xbc(a){this.b.ze(0,1,this.a);}
-function ubc(){}
-_=ubc.prototype=new fU();_.zc=xbc;_.tN=qgc+'AssetBrowser$5';_.tI=589;function zbc(b,a,d,c){b.b=d;b.a=c;return b;}
-function Bbc(){wdb('Loading list, please wait...');kUb(mMb(),this.b,Dbc(new Cbc(),this,this.a));}
-function ybc(){}
-_=ybc.prototype=new fU();_.pb=Bbc;_.tN=qgc+'AssetBrowser$6';_.tI=590;function Dbc(b,a,c){b.a=c;return b;}
-function Fbc(c,a){var b;b=Fb(a,62);odc(c.a,b);sdb();}
-function acc(a){Fbc(this,a);}
-function Cbc(){}
-_=Cbc.prototype=new vcb();_.pd=acc;_.tN=qgc+'AssetBrowser$7';_.tI=591;function ccc(b,a){b.a=a;return b;}
-function ecc(a){lcc(this.a,a);}
-function bcc(){}
-_=bcc.prototype=new fU();_.wd=ecc;_.tN=qgc+'AssetBrowser$8';_.tI=592;function kdc(){kdc=d3;qdc=mMb();}
-function idc(a){a.c=ut(new ot());a.e=Ccb(new Bcb(),'images/refresh.gif');a.a=eC(new dC());}
-function jdc(c,a,b){kdc();idc(c);mdc(c);ndc(c,b);c.e.ye(false);c.b=a;c.e.te('Refresh current list. Will show any changes.');oB(c.e,pcc(new occ(),c));return c;}
-function ldc(a){return kZb(ffc(a.f));}
-function mdc(c){var a,b;a=xt(c.c);c.c.Be('100%');ex(a,0,0,(xz(),zz),(aA(),dA));b=Ccb(new Bcb(),'images/open_item.gif');oB(b,ycc(new xcc(),c));b.te('Open item');c.c.ze(0,1,b);ex(a,0,1,(xz(),Az),(aA(),dA));pr(c,c.c);}
-function ndc(b,a){mUb(qdc,a,tcc(new scc(),b));}
-function odc(g,a){var b,c,d,e,f;b=xt(g.c);g.c.ze(1,0,null);if(a===null||a.a.a==0){d=new Bcc();g.f=sfc(d,g.g.a,25,true);g.a.ye(false);}else{f=a.a;c=cdc(new bdc(),g,f);g.f=sfc(c,g.g.a,25,true);e=iA(new gA());jA(e,g.e);g.a.ye(true);kC(g.a,'  '+a.a.a+' items.');jA(e,g.a);g.c.ze(0,0,e);}g.f.Be('100%');g.c.ze(1,0,g.f);st(b,1,0,2);}
-function pdc(b,a){b.d=a;b.e.ye(true);}
-function ncc(){}
-_=ncc.prototype=new nr();_.tN=qgc+'AssetItemListViewer';_.tI=593;_.b=null;_.d=null;_.f=null;_.g=null;var qdc;function pcc(b,a){b.a=a;return b;}
-function rcc(a){wdb('Refreshing list, please wait...');this.a.d.pb();}
-function occ(){}
-_=occ.prototype=new fU();_.zc=rcc;_.tN=qgc+'AssetItemListViewer$1';_.tI=594;function tcc(b,a){b.a=a;return b;}
-function vcc(b,a){b.a.g=Fb(a,99);odc(b.a,null);}
-function wcc(a){vcc(this,a);}
-function scc(){}
-_=scc.prototype=new vcb();_.pd=wcc;_.tN=qgc+'AssetItemListViewer$2';_.tI=595;function ycc(b,a){b.a=a;return b;}
-function Acc(a){wdb('Loading item, please wait ...');this.a.b.wd(kZb(ffc(this.a.f)));}
-function xcc(){}
-_=xcc.prototype=new fU();_.zc=Acc;_.tN=qgc+'AssetItemListViewer$3';_.tI=596;function Dcc(){return 0;}
-function Ecc(a){return '';}
-function Fcc(b,a){return '';}
-function adc(b,a){return null;}
-function Bcc(){}
-_=Bcc.prototype=new fU();_.Ab=Dcc;_.ac=Ecc;_.fc=Fcc;_.gc=adc;_.tN=qgc+'AssetItemListViewer$4';_.tI=597;function cdc(b,a,c){b.a=a;b.b=c;return b;}
-function edc(){return this.b.a;}
-function fdc(a){return this.b[a].b;}
-function gdc(b,a){return this.b[b].c[a];}
-function hdc(b,a){if(EU(this.a.g.a[a],'*')){return nB(new xA(),'images/'+E4b(this.b[b].a));}else{return null;}}
-function bdc(){}
-_=bdc.prototype=new fU();_.Ab=edc;_.ac=fdc;_.fc=gdc;_.gc=hdc;_.tN=qgc+'AssetItemListViewer$5';_.tI=598;function nec(d,a){var b,c;d.c=ccb(new Fbb(),'images/system_search.png','');d.e=E_(new u_(),udc(new tdc(),d));FN(d.e,'gwt-TextBox');d.b=a;c=iA(new gA());b=zp(new tp(),'Go');b.x(ydc(new xdc(),d));jA(c,d.e);jA(c,b);d.a=lq(new iq(),'Include archived items in list');FN(d.a,'small-Text');pq(d.a,false);dcb(d.c,'Find items with a name matching:',c);gcb(d.c,d.a);gcb(d.c,nz(new qw(),'<hr/>'));d.d=ut(new ot());d.d.ze(0,0,nz(new qw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));gcb(d.c,d.d);FN(d.d,'editable-Surface');zK(d.e,pec(d));FN(d.c,'quick-find');pr(d,d.c);return d;}
-function pec(a){return aec(new Fdc(),a);}
-function qec(c,a,b){nUb(mMb(),a,5,oq(c.a),Cdc(new Bdc(),c,b));}
-function rec(f,d){var a,b,c,e;a=ut(new ot());if(d.a.a==1){obc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(EU(e.b,'MORE')){a.ze(b,0,nz(new qw(),'<i>There are more items... try narrowing the search terms..<\/i>'));st(xt(a),b,0,3);}else{a.ze(b,0,fC(new dC(),e.c[0]));a.ze(b,1,fC(new dC(),e.c[1]));c=zp(new tp(),'Open');c.x(kec(new jec(),f,e));a.ze(b,2,c);}}a.Be('100%');f.d.ze(0,0,a);sdb();}
-function sec(a){wdb('Searching...');nUb(mMb(),CK(a.e),15,oq(a.a),gec(new fec(),a));}
-function sdc(){}
-_=sdc.prototype=new nr();_.tN=qgc+'QuickFindWidget';_.tI=599;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function udc(b,a){b.a=a;return b;}
-function wdc(c,b,a){qec(c.a,b,a);}
-function tdc(){}
-_=tdc.prototype=new fU();_.tN=qgc+'QuickFindWidget$1';_.tI=600;function ydc(b,a){b.a=a;return b;}
-function Adc(a){sec(this.a);}
-function xdc(){}
-_=xdc.prototype=new fU();_.zc=Adc;_.tN=qgc+'QuickFindWidget$2';_.tI=601;function Cdc(b,a,c){b.a=c;return b;}
-function Edc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[608],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!EU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}C_(this.a,c);}
-function Bdc(){}
-_=Bdc.prototype=new vcb();_.pd=Edc;_.tN=qgc+'QuickFindWidget$3';_.tI=602;function aec(b,a){b.a=a;return b;}
-function cec(a,b,c){}
-function dec(a,b,c){}
-function eec(a,b,c){if(b==13){sec(this.a);}}
-function Fdc(){}
-_=Fdc.prototype=new fU();_.cd=cec;_.dd=dec;_.ed=eec;_.tN=qgc+'QuickFindWidget$4';_.tI=603;function gec(b,a){b.a=a;return b;}
-function iec(a){var b;b=Fb(a,62);rec(this.a,b);}
-function fec(){}
-_=fec.prototype=new vcb();_.pd=iec;_.tN=qgc+'QuickFindWidget$5';_.tI=604;function kec(b,a,c){b.a=a;b.b=c;return b;}
-function mec(a){obc(this.a.b,this.b.b);}
-function jec(){}
-_=jec.prototype=new fU();_.zc=mec;_.tN=qgc+'QuickFindWidget$6';_.tI=605;function vec(a){a.a=nY(new lY());}
-function wec(a){vec(a);return a;}
-function xec(b,a,c){if(a>=b.a.b){yec(b,a);}AY(b.a,a,c);}
-function yec(c,a){var b;for(b=c.a.b;b<=a;b++){pY(c.a,null);}}
-function Aec(b,a){return uY(b.a,a);}
-function Bec(b,a){b.b=a;}
-function Cec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(Aec(this,this.b),34);b=Fb(Aec(d,this.b),34);return a.bb(b);}
-function uec(){}
-_=uec.prototype=new fU();_.bb=Cec;_.tN=rgc+'RowData';_.tI=606;_.b=0;function Eec(a){a.j=nY(new lY());a.i=nY(new lY());}
-function Fec(c,b,a){dw(c,b+1,a);Eec(c);gy(c,c);FN(c,vfc);return c;}
-function afc(c,b,a){if(b!=0){return;}mfc(c,a);ofc(c,a);efc(c);}
-function cfc(e){var a,b,c,d,f;if(e.h==qfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(uY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Aec(b,a);ifc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(uY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Aec(b,a);ifc(e,d,a,f.tS());}}}}
-function dfc(d){var a,b,c;c=0;for(b=d.i.qc();b.kc();){a=Fb(b.sc(),1);gfc(d,a,c++);}}
-function efc(a){dfc(a);cfc(a);}
-function ffc(a){return ry(a,a.f,a.e);}
-function gfc(d,c,b){var a;a=qU(new pU());sU(a,c);sU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==qfc){sU(a,"'"+d.a+"' alt='Ascending' ");}else{sU(a,"'"+d.c+"' alt='Descending' ");}}else{sU(a,"'"+d.b+"'");}sU(a,'/>');Fy(d,0,b,wU(a));ux(d.p,0,wfc);}
-function hfc(c,b,a){if(b%2==0){hx(c.n,b,a,ufc);}}
-function ifc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ze(b,a,nB(new xA(),'images/'+E4b(d)));else bz(c,b,a,d);}}
-function jfc(c,b,a){oY(c.i,a,b);gfc(c,b,a);}
-function kfc(b,a){b.d=a;}
-function lfc(b,a){b.e=a;jx(b.n,0,a,false);}
-function mfc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(uY(d.j,b),100);Bec(a,c);}}
-function nfc(d,b,a,e,f){var c;if(b==0)return;hfc(d,b,a);if(b-1>=d.j.b||null===uY(d.j,b-1)){oY(d.j,b-1,wec(new uec()));}c=Fb(uY(d.j,b-1),100);xec(c,a,e);if(f===null){bz(d,b,a,''+e+'');}else{d.ze(b,a,f);}if(a==d.e){jx(d.n,b,a,false);}}
-function ofc(b,a){qZ(b.j);if(b.g!=a){b.h=qfc;}else{b.h=b.h==qfc?rfc:qfc;}b.g=a;}
-function pfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){hx(a,c,b,xfc);if(d.f%2==0&&d.f!=0){hx(a,d.f,b,ufc);}else{dx(a,d.f,b,xfc);}}d.f=c;}}
-function sfc(a,d,b,c){var e,f,g;g=null;if(b>a.Ab()){g=Fec(new Dec(),b,d.a+1);nfc(g,1,1,'',null);}else{g=Fec(new Dec(),a.Ab()+1,d.a+1);}jfc(g,'',0);for(e=0;e<d.a;e++){jfc(g,d[e],e+1);}lfc(g,0);for(e=0;e<a.Ab();e++){nfc(g,e+1,0,a.ac(e),null);for(f=0;f<d.a;f++){nfc(g,e+1,f+1,a.fc(e,f),a.gc(e,f));}}kfc(g,c);return g;}
-function tfc(c,b,a){if(b<=this.j.b){pfc(this,b);afc(this,b,a);}}
-function Dec(){}
-_=Dec.prototype=new bw();_.xc=tfc;_.tN=rgc+'SortableTable';_.tI=607;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var qfc=0,rfc=1,ufc='rule-ListEvenRow',vfc='rule-List',wfc='rule-ListHeader',xfc='rule-SelectedRow';function FR(){p4(l4(new a4()));}
-function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{FR();}catch(a){b(d);}else{FR();}}
-var gc=[{},{12:1},{1:1,12:1,34:1,35:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{2:1,12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1},{8:1,12:1},{8:1,12:1},{8:1,12:1},{12:1},{2:1,6:1,12:1},{2:1,12:1},{9:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1},{3:1,12:1},{3:1,12:1,39:1},{3:1,12:1,92:1},{3:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,36:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,49:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1,33:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,43:1},{12:1,49:1,56:1}!
 ,{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,81:1},{12:1,20:1,36:1,37:1,81:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,46:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1},{12:1,49:1,56:1},{12:1,39:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,49:1},{12:1},{12:1,20:1,36:1,37:1,87:1},{12:1,20:1,36:1,37:1,48:1,54:1},{9:1,12:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,39:1},{12:1,39:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,50:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,80:1},{12:1,20:1,36:1,37:1,54:1},{12:1,36:1,52:1},{12:1,36:1,52:1},{12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1},{12:1},{12!
 :1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:
1,12:1},{12:1,55:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{12:1,35:1},{3:1,12:1},{12:1},{12:1,57:1},{12:1,49:1,58:1},{12:1,49:1,58:1},{12:1},{12:1,49:1},{12:1},{12:1},{12:1,34:1,59:1},{12:1,57:1},{12:1,60:1},{12:1,49:1,58:1},{12:1},{12:1,49:1,58:1},{3:1,12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{7:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{8:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{!
 12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,53:1},{12:1,42:1},{12:1},{12:1},{12:1,36:1,52:1,64:1},{12:1,20:1,36:1,37:1,46:1,80:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,20:1,36:1,37:1,81:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,65:1},{12:1,20:1,36:1,37:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,38:1,39:1,91:1},{12:1,23:1,24:1,38:1,39:1},{12:1,18:1,38:1,39:1},{12:1,23:1,24:1,25:1,38:1,3!
 9:1},{12:1,23:1,24:1,25:1,26:1,38:1,39:1},{12:1,23:1,27:1,38:1,39:1},{
12:1,23:1,24:1,28:1,38:1,39:1},{12:1,23:1,24:1,28:1,29:1,38:1,39:1},{12:1,22:1,30:1,38:1,39:1},{12:1,17:1,31:1,38:1,39:1},{12:1,38:1,39:1,40:1},{12:1,15:1,38:1,39:1,40:1},{12:1,14:1,22:1,23:1,38:1,39:1},{12:1,16:1,22:1,38:1,39:1},{12:1,21:1,38:1,39:1},{12:1,38:1,39:1,83:1},{12:1,17:1,32:1,38:1,39:1,40:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,84:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,41:1},{4:1,12:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,46:1},{12:1,41:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,82:1,98:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12!
 :1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,46:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1!
 ,42:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:
1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1},{4:1,12:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1,53:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,90:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,42:1},{12:1,53:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1},{10:1,12:1,39:1},{3:1,12:1,39:1,70:1},{12:1,39:1,93:1},{12:1,19:1,39:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,39:1,97:1},{12:1,39:1,95:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1,69:1},{11:1,12:1,39:1},{12:1,39:1,99:1},{12:1,39:1,62:1},{12:1,!
 13:1,39:1},{12:1,39:1,89:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,44:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1},{12:1,41:1},{12:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{!
 4:1,12:1},{4:1,12:1},{4:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36
:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{12:1,46:1},{12:1},{12:1,42:1},{12:1,34:1,100:1},{12:1,20:1,36:1,37:1,51:1,54:1},{12:1,63:1},{12:1,88:1},{12:1,86:1},{12:1},{12:1},{12:1,94:1},{12:1,72:1,77:1,78:1},{12:1,79:1},{12:1,74:1,77:1},{12:1,75:1},{12:1,73:1},{12:1,71:1},{12:1},{12:1},{12:1,76:1},{12:1,77:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,77:1},{12:1,75:1},{12:1,75:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1}];if ($wnd.org_drools_brms_JBRMS) $wnd.org_drools_brms_JBRMS.onScriptLoad();
---></script></body></html>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.js
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.js	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3426 +0,0 @@
-(function(){var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var _,yfc='com.google.gwt.core.client.',zfc='com.google.gwt.lang.',Afc='com.google.gwt.user.client.',Bfc='com.google.gwt.user.client.impl.',Cfc='com.google.gwt.user.client.rpc.',Dfc='com.google.gwt.user.client.rpc.core.java.lang.',Efc='com.google.gwt.user.client.rpc.core.java.util.',Ffc='com.google.gwt.user.client.rpc.impl.',agc='com.google.gwt.user.client.ui.',bgc='com.google.gwt.user.client.ui.impl.',cgc='java.io.',dgc='java.lang.',egc='java.util.',fgc='org.drools.brms.client.',ggc='org.drools.brms.client.admin.',hgc='org.drools.brms.client.categorynav.',igc='org.drools.brms.client.common.',jgc='org.drools.brms.client.decisiontable.',kgc='org.drools.brms.client.modeldriven.',lgc='org.drools.brms.client.modeldriven.brl.',mgc='org.drools.brms.client.modeldriven.ui.',ngc='org.drools.brms.client.packages.',ogc='org.drools.brms.client.rpc.',pgc='org.drools.brms.client.ruleeditor.',qgc='org.droo!
 ls.brms.client.rulelist.',rgc='org.drools.brms.client.table.';function d3(){}
-function hU(a){return this===a;}
-function iU(){return AV(this);}
-function jU(){return this.tN+'@'+this.hC();}
-function fU(){}
-_=fU.prototype={};_.eQ=hU;_.hC=iU;_.tS=jU;_.toString=function(){return this.tS();};_.tN=dgc+'Object';_.tI=1;function v(){return C();}
-function w(a){return a==null?null:a.tN;}
-var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function C(){return $moduleBase;}
-function D(){return ++E;}
-var E=0;function DV(b,a){b.c=a;return b;}
-function EV(c,b,a){c.c=b;return c;}
-function aW(){return this.c;}
-function bW(){var a,b;a=w(this);b=this.zb();if(b!==null){return a+': '+b;}else{return a;}}
-function CV(){}
-_=CV.prototype=new fU();_.zb=aW;_.tS=bW;_.tN=dgc+'Throwable';_.tI=3;_.c=null;function CS(b,a){DV(b,a);return b;}
-function DS(c,b,a){EV(c,b,a);return c;}
-function BS(){}
-_=BS.prototype=new CV();_.tN=dgc+'Exception';_.tI=4;function lU(b,a){CS(b,a);return b;}
-function mU(c,b,a){DS(c,b,a);return c;}
-function kU(){}
-_=kU.prototype=new BS();_.tN=dgc+'RuntimeException';_.tI=5;function ab(c,b,a){lU(c,'JavaScript '+b+' exception: '+a);return c;}
-function F(){}
-_=F.prototype=new kU();_.tN=yfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
-function fb(a){return A(a);}
-function gb(){return [];}
-function hb(){return function(){};}
-function ib(){return {};}
-function kb(a){return eb(this,a);}
-function jb(a,b){return a===b;}
-function lb(){return fb(this);}
-function nb(){return mb(this);}
-function mb(a){if(a.toString)return a.toString();return '[object]';}
-function cb(){}
-_=cb.prototype=new fU();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=yfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
-function rb(a,b,c){return a[b]=c;}
-function tb(a,b){return sb(a,b);}
-function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
-function ub(b,a){return b[a];}
-function wb(b,a){return b[a];}
-function vb(a){return a.length;}
-function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
-function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new wT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=hV(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
-function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
-function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new gS();}return rb(a,b,c);}
-function ob(){}
-_=ob.prototype=new fU();_.tN=zfc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
-function Eb(a){return String.fromCharCode(a);}
-function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
-function ac(b,a){return b!=null&&Db(b.tI,a);}
-function bc(a){return a&65535;}
-function cc(a){return ~(~a);}
-function dc(a){if(a>(jT(),kT))return jT(),kT;if(a<(jT(),lT))return jT(),lT;return a>=0?Math.floor(a):Math.ceil(a);}
-function fc(){throw new wS();}
-function ec(a){if(a!==null){throw new wS();}return a;}
-function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
-var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
-function lc(a){return a.message;}
-function mc(a){return a.name;}
-function oc(b,a){return b;}
-function nc(){}
-_=nc.prototype=new kU();_.tN=Afc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=nY(new lY());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
-function gd(a){fd(a);return a;}
-function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
-function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.pb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(zV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
-function kd(a){if(!xY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
-function ld(b,a){b.c=a;}
-function md(b,a){b.e=a;}
-function nd(b,a){pY(b.b,a);kd(b);}
-function od(a,b){return uT(a-b)>=100;}
-function qc(){}
-_=qc.prototype=new fU();_.tN=Afc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=d3;uh=nY(new lY());{th();}}
-function ih(a){kh();return a;}
-function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}zY(uh,a);}
-function lh(a){if(!a.b){zY(uh,a);}a.fe();}
-function nh(b,a){if(a<=0){throw aT(new FS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);pY(uh,b);}
-function mh(b,a){if(a<=0){throw aT(new FS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);pY(uh,b);}
-function oh(a){kh();$wnd.clearInterval(a);}
-function ph(a){kh();$wnd.clearTimeout(a);}
-function qh(b,a){kh();return $wnd.setInterval(function(){b.qb();},a);}
-function rh(b,a){kh();return $wnd.setTimeout(function(){b.qb();},a);}
-function sh(){var a;a=x;{lh(this);}}
-function th(){kh();yh(new eh());}
-function dh(){}
-_=dh.prototype=new fU();_.qb=sh;_.tN=Afc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=d3;kh();}
-function sc(b,a){tc();b.a=a;ih(b);return b;}
-function uc(){if(!this.a.c){return;}id(this.a);}
-function rc(){}
-_=rc.prototype=new dh();_.fe=uc;_.tN=Afc+'CommandExecutor$1';_.tI=14;function xc(){xc=d3;kh();}
-function wc(b,a){xc();b.a=a;ih(b);return b;}
-function yc(){md(this.a,false);jd(this.a,zV());}
-function vc(){}
-_=vc.prototype=new dh();_.fe=yc;_.tN=Afc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
-function Cc(a){return uY(a.d.b,a.b);}
-function Dc(a){return a.c<a.a;}
-function Ec(b){var a;b.b=b.c;a=uY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
-function Fc(a){yY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
-function ad(b,a){b.a=a;}
-function bd(a){return a.b==(-1);}
-function cd(){return Dc(this);}
-function dd(){return Ec(this);}
-function ed(){Fc(this);}
-function zc(){}
-_=zc.prototype=new fU();_.kc=cd;_.sc=dd;_.ce=ed;_.tN=Afc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=d3;rf=nY(new lY());{gf=new ki();bj(gf);}}
-function sd(a){rd();pY(rf,a);}
-function td(b,a){rd();hj(gf,b,a);}
-function ud(a,b){rd();return vi(gf,a,b);}
-function vd(){rd();return jj(gf,'A');}
-function wd(){rd();return jj(gf,'button');}
-function xd(){rd();return jj(gf,'div');}
-function yd(a){rd();return jj(gf,a);}
-function zd(){rd();return jj(gf,'form');}
-function Ad(){rd();return jj(gf,'iframe');}
-function Bd(){rd();return jj(gf,'img');}
-function Cd(){rd();return kj(gf,'checkbox');}
-function Dd(){rd();return kj(gf,'password');}
-function Ed(a){rd();return wi(gf,a);}
-function Fd(){rd();return kj(gf,'text');}
-function ae(){rd();return jj(gf,'label');}
-function be(a){rd();return lj(gf,a);}
-function ce(){rd();return jj(gf,'span');}
-function de(){rd();return jj(gf,'tbody');}
-function ee(){rd();return jj(gf,'td');}
-function fe(){rd();return jj(gf,'tr');}
-function ge(){rd();return jj(gf,'table');}
-function he(){rd();return jj(gf,'textarea');}
-function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
-function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.wc(b);}finally{ie=d;}}
-function le(b,a){rd();mj(gf,b,a);}
-function me(a){rd();return nj(gf,a);}
-function ne(a){rd();return mi(gf,a);}
-function oe(a){rd();return ni(gf,a);}
-function pe(a){rd();return oj(gf,a);}
-function qe(a){rd();return pj(gf,a);}
-function re(a){rd();return xi(gf,a);}
-function se(a){rd();return qj(gf,a);}
-function te(a){rd();return rj(gf,a);}
-function ue(a){rd();return sj(gf,a);}
-function ve(a){rd();return yi(gf,a);}
-function we(a){rd();return zi(gf,a);}
-function xe(a){rd();return tj(gf,a);}
-function ye(a){rd();Ai(gf,a);}
-function ze(a){rd();return Bi(gf,a);}
-function Ae(a){rd();return oi(gf,a);}
-function Be(a){rd();return pi(gf,a);}
-function Ee(b,a){rd();return Ei(gf,b,a);}
-function Ce(a){rd();return Ci(gf,a);}
-function De(b,a){rd();return Di(gf,b,a);}
-function bf(a,b){rd();return wj(gf,a,b);}
-function Fe(a,b){rd();return uj(gf,a,b);}
-function af(a,b){rd();return vj(gf,a,b);}
-function cf(a){rd();return xj(gf,a);}
-function df(a){rd();return Fi(gf,a);}
-function ef(a){rd();return yj(gf,a);}
-function ff(a){rd();return aj(gf,a);}
-function hf(c,a,b){rd();cj(gf,c,a,b);}
-function jf(c,b,d,a){rd();qi(gf,c,b,d,a);}
-function kf(b,a){rd();return dj(gf,b,a);}
-function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(uY(rf,rf.b-1),5);if(!(c=b.Cc(a))){le(a,true);ye(a);}}return c;}
-function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}ej(gf,a);}
-function nf(b,a){rd();zj(gf,b,a);}
-function of(b,a){rd();Aj(gf,b,a);}
-function pf(a){rd();zY(rf,a);}
-function sf(a){rd();Bj(gf,a);}
-function tf(a){rd();qf=a;fj(gf,a);}
-function uf(b,a,c){rd();Cj(gf,b,a,c);}
-function xf(a,b,c){rd();Fj(gf,a,b,c);}
-function vf(a,b,c){rd();Dj(gf,a,b,c);}
-function wf(a,b,c){rd();Ej(gf,a,b,c);}
-function yf(a,b){rd();ak(gf,a,b);}
-function zf(a,b){rd();bk(gf,a,b);}
-function Af(a,b){rd();ck(gf,a,b);}
-function Bf(a,b){rd();dk(gf,a,b);}
-function Cf(b,a,c){rd();ek(gf,b,a,c);}
-function Df(b,a,c){rd();fk(gf,b,a,c);}
-function Ef(a,b){rd();gj(gf,a,b);}
-function Ff(a){rd();return gk(gf,a);}
-function ag(){rd();return ri(gf);}
-function bg(){rd();return si(gf);}
-var ie=null,gf=null,qf=null,rf;function dg(){dg=d3;gg=gd(new qc());}
-function fg(a){dg();nd(gg,a);}
-function eg(a){dg();if(a===null){throw zT(new yT(),'cmd can not be null');}nd(gg,a);}
-var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
-function kg(a){return jg(this,a);}
-function lg(){return fb(hc(this,hg));}
-function mg(){return Ff(this);}
-function hg(){}
-_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=Afc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
-function sg(){return fb(hc(this,ng));}
-function tg(){return ze(this);}
-function ng(){}
-_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=Afc+'Event';_.tI=18;function vg(){vg=d3;xg=jk(new ik());}
-function wg(c,b,a){vg();return lk(xg,c,b,a);}
-var xg;function Ag(){Ag=d3;Eg=nY(new lY());{Fg=sk(new rk());if(!vk(Fg)){Fg=null;}}}
-function Bg(a){Ag();pY(Eg,a);}
-function Cg(a){Ag();var b,c;for(b=Eg.qc();b.kc();){c=Fb(b.sc(),7);c.bd(a);}}
-function Dg(){Ag();return Fg!==null?Fk(Fg):'';}
-function ah(a){Ag();if(Fg!==null){xk(Fg,a);}}
-function bh(b){Ag();var a;a=x;{Cg(b);}}
-var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(uY((kh(),uh),0),8));}}
-function hh(){return null;}
-function eh(){}
-_=eh.prototype=new fU();_.ud=gh;_.vd=hh;_.tN=Afc+'Timer$1';_.tI=19;function xh(){xh=d3;Ah=nY(new lY());ii=nY(new lY());{di();}}
-function yh(a){xh();pY(Ah,a);}
-function zh(a){xh();$wnd.alert(a);}
-function Bh(a){xh();return $wnd.confirm(a);}
-function Ch(){xh();var a,b;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);b.ud();}}
-function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);c=b.vd();{d=c;}}return d;}
-function Eh(){xh();var a,b;for(a=ii.qc();a.kc();){b=ec(a.sc());null.jf();}}
-function Fh(){xh();return ag();}
-function ai(){xh();return bg();}
-function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
-function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
-function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
-function ei(){xh();var a;a=x;{Ch();}}
-function fi(){xh();var a;a=x;{return Dh();}}
-function gi(){xh();var a;a=x;{Eh();}}
-function hi(c,b,a){xh();$wnd.open(c,b,a);}
-var Ah,ii;function hj(c,b,a){b.appendChild(a);}
-function jj(b,a){return $doc.createElement(a);}
-function kj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
-function lj(c,a){var b;b=jj(c,'select');if(a){Dj(c,b,'multiple',true);}return b;}
-function mj(c,b,a){b.cancelBubble=a;}
-function nj(b,a){return !(!a.altKey);}
-function oj(b,a){return !(!a.ctrlKey);}
-function pj(b,a){return a.currentTarget;}
-function qj(b,a){return a.which||(a.keyCode|| -1);}
-function rj(b,a){return !(!a.metaKey);}
-function sj(b,a){return !(!a.shiftKey);}
-function tj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
-function wj(d,a,b){var c=a[b];return c==null?null:String(c);}
-function uj(c,a,b){return !(!a[b]);}
-function vj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
-function xj(b,a){return a.__eventBits||0;}
-function yj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.xb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
-function zj(c,b,a){b.removeChild(a);}
-function Aj(c,b,a){b.removeAttribute(a);}
-function Bj(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
-function Cj(c,b,a,d){b.setAttribute(a,d);}
-function Fj(c,a,b,d){a[b]=d;}
-function Dj(c,a,b,d){a[b]=d;}
-function Ej(c,a,b,d){a[b]=d;}
-function ak(c,a,b){a.__listener=b;}
-function bk(c,a,b){a.src=b;}
-function ck(c,a,b){if(!b){b='';}a.innerHTML=b;}
-function dk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
-function ek(c,b,a,d){b.style[a]=d;}
-function fk(c,b,a,d){b.style[a]=d;}
-function gk(b,a){return a.outerHTML;}
-function hk(a){return yj(this,a);}
-function ji(){}
-_=ji.prototype=new fU();_.xb=hk;_.tN=Bfc+'DOMImpl';_.tI=20;function vi(c,a,b){return a==b;}
-function wi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
-function xi(b,a){return a.relatedTarget?a.relatedTarget:null;}
-function yi(b,a){return a.target||null;}
-function zi(b,a){return a.relatedTarget||null;}
-function Ai(b,a){a.preventDefault();}
-function Bi(b,a){return a.toString();}
-function Ei(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
-function Ci(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
-function Di(d,c,e){var b=0,a=c.firstChild;while(a){if(a==e)return b;if(a.nodeType==1)++b;a=a.nextSibling;}return -1;}
-function Fi(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
-function aj(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
-function bj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
-function cj(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
-function dj(c,b,a){while(a){if(b==a){return true;}a=a.parentNode;if(a&&a.nodeType!=1){a=null;}}return false;}
-function ej(b,a){if(a==$wnd.__captureElem)$wnd.__captureElem=null;}
-function fj(b,a){$wnd.__captureElem=a;}
-function gj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
-function ti(){}
-_=ti.prototype=new ji();_.tN=Bfc+'DOMImplStandard';_.tI=21;function mi(b,a){return a.pageX-$doc.body.scrollLeft|| -1;}
-function ni(b,a){return a.pageY-$doc.body.scrollTop|| -1;}
-function oi(e,b){if(b.offsetLeft==null){return 0;}var c=0;var a=b.parentNode;if(a){while(a.offsetParent){c-=a.scrollLeft;a=a.parentNode;}}while(b){c+=b.offsetLeft;var d=b.offsetParent;if(d&&(d.tagName=='BODY'&&b.style.position=='absolute')){break;}b=d;}return c;}
-function pi(d,b){if(b.offsetTop==null){return 0;}var e=0;var a=b.parentNode;if(a){while(a.offsetParent){e-=a.scrollTop;a=a.parentNode;}}while(b){e+=b.offsetTop;var c=b.offsetParent;if(c&&(c.tagName=='BODY'&&b.style.position=='absolute')){break;}b=c;}return e;}
-function qi(e,c,d,f,a){var b=new Option(d,f);if(a== -1||a>c.children.length-1){c.appendChild(b);}else{c.insertBefore(b,c.children[a]);}}
-function ri(a){return $wnd.innerHeight;}
-function si(a){return $wnd.innerWidth;}
-function ki(){}
-_=ki.prototype=new ti();_.tN=Bfc+'DOMImplSafari';_.tI=22;function jk(a){pk=hb();return a;}
-function lk(c,d,b,a){return mk(c,null,null,d,b,a);}
-function mk(d,f,c,e,b,a){return kk(d,f,c,e,b,a);}
-function kk(e,g,d,f,c,b){var h=e.lb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=pk;b.Ac(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=pk;return false;}}
-function ok(){return new XMLHttpRequest();}
-function ik(){}
-_=ik.prototype=new fU();_.lb=ok;_.tN=Bfc+'HTTPRequestImpl';_.tI=23;var pk=null;function Fk(a){return $wnd.__gwt_historyToken;}
-function al(a){bh(a);}
-function qk(){}
-_=qk.prototype=new fU();_.tN=Bfc+'HistoryImpl';_.tI=24;function Ck(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;al(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
-function Dk(b,a){if(a==null){a='';}$wnd.location.hash=encodeURIComponent(a);}
-function Ak(){}
-_=Ak.prototype=new qk();_.tN=Bfc+'HistoryImplStandard';_.tI=25;function tk(){tk=d3;zk=yk();}
-function sk(a){tk();return a;}
-function vk(a){if(zk){uk(a);return true;}return Ck(a);}
-function uk(b){$wnd.__gwt_historyToken='';var a=$wnd.location.hash;if(a.length>0)$wnd.__gwt_historyToken=decodeURIComponent(a.substring(1));al($wnd.__gwt_historyToken);}
-function xk(b,a){if(zk){wk(b,a);return;}Dk(b,a);}
-function wk(d,a){var b=$doc.createElement('meta');b.setAttribute('http-equiv','refresh');var c=$wnd.location.href.split('#')[0]+'#'+encodeURIComponent(a);b.setAttribute('content','0.01;url='+c);$doc.body.appendChild(b);window.setTimeout(function(){$doc.body.removeChild(b);},1);$wnd.__gwt_historyToken=a;al($wnd.__gwt_historyToken);}
-function yk(){tk();var a=/ AppleWebKit\/([\d]+)/;var b=a.exec(navigator.userAgent);if(b){if(parseInt(b[1])>=522){return false;}}if(navigator.userAgent.indexOf('iPhone')!= -1){return false;}return true;}
-function rk(){}
-_=rk.prototype=new Ak();_.tN=Bfc+'HistoryImplSafari';_.tI=26;var zk;function dl(a){lU(a,'This application is out of date, please click the refresh button on your browser');return a;}
-function cl(){}
-_=cl.prototype=new kU();_.tN=Cfc+'IncompatibleRemoteServiceException';_.tI=27;function hl(b,a){}
-function il(b,a){}
-function kl(b,a){mU(b,a,null);return b;}
-function jl(){}
-_=jl.prototype=new kU();_.tN=Cfc+'InvocationException';_.tI=28;function wl(){return this.b;}
-function ol(){}
-_=ol.prototype=new BS();_.zb=wl;_.tN=Cfc+'SerializableException';_.tI=29;_.b=null;function sl(b,a){vl(a,b.Ed());}
-function tl(a){return a.b;}
-function ul(b,a){b.gf(tl(a));}
-function vl(a,b){a.b=b;}
-function yl(b,a){CS(b,a);return b;}
-function xl(){}
-_=xl.prototype=new BS();_.tN=Cfc+'SerializationException';_.tI=30;function Dl(a){kl(a,'Service implementation URL not specified');return a;}
-function Cl(){}
-_=Cl.prototype=new jl();_.tN=Cfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function cm(b,a){}
-function dm(a){return qS(a.zd());}
-function em(b,a){b.bf(a.a);}
-function hm(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Dd());}}
-function im(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.ff(a[c]);}}
-function lm(b,a){}
-function mm(a){return a.Ed();}
-function nm(b,a){b.gf(a);}
-function qm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Ad();}}
-function rm(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.cf(a[c]);}}
-function um(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();pY(b,c);}}
-function vm(e,a){var b,c,d;d=a.b;e.df(d);b=a.qc();while(b.kc()){c=b.sc();e.ff(c);}}
-function ym(b,a){}
-function zm(a){return AZ(new yZ(),a.Cd());}
-function Am(b,a){b.ef(DZ(a));}
-function Dm(e,b){var a,c,d,f;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();f=e.Dd();r1(b,c,f);}}
-function Em(f,c){var a,b,d,e;e=c.c;f.df(e);b=p1(c);d=f1(b);while(D0(d)){a=E0(d);f.ff(a.yb());f.ff(a.ec());}}
-function bn(d,b){var a,c;c=d.Bd();for(a=0;a<c;++a){f2(b,d.Dd());}}
-function cn(c,a){var b;c.df(a.a.c);for(b=h2(a);iX(b);){c.ff(jX(b));}}
-function fn(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();y2(b,c);}}
-function gn(e,a){var b,c,d;d=a.a.b;e.df(d);b=A2(a);while(b.kc()){c=b.sc();e.ff(c);}}
-function En(a){return a.j>2;}
-function Fn(b,a){b.i=a;}
-function ao(a,b){a.j=b;}
-function hn(){}
-_=hn.prototype=new fU();_.tN=Ffc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function kn(a){a.e=nY(new lY());}
-function ln(a){kn(a);return a;}
-function nn(b,a){rY(b.e);ao(b,io(b));Fn(b,io(b));}
-function on(a){var b,c;b=a.Bd();if(b<0){return uY(a.e,-(b+1));}c=a.cc(b);if(c===null){return null;}return a.jb(c);}
-function pn(b,a){pY(b.e,a);}
-function qn(){return on(this);}
-function jn(){}
-_=jn.prototype=new hn();_.Dd=qn;_.tN=Ffc+'AbstractSerializationStreamReader';_.tI=33;function tn(b,a){b.E(a?'1':'0');}
-function un(b,a){b.E(uV(a));}
-function vn(c,a){var b,d;if(a===null){wn(c,null);return;}b=c.wb(a);if(b>=0){un(c,-(b+1));return;}c.ge(a);d=c.Bb(a);wn(c,d);c.je(a,d);}
-function wn(a,b){un(a,a.z(b));}
-function xn(a){tn(this,a);}
-function yn(a){this.E(uV(a));}
-function zn(a){un(this,a);}
-function An(a){this.E(vV(a));}
-function Bn(a){vn(this,a);}
-function Cn(a){wn(this,a);}
-function rn(){}
-_=rn.prototype=new hn();_.bf=xn;_.cf=yn;_.df=zn;_.ef=An;_.ff=Bn;_.gf=Cn;_.tN=Ffc+'AbstractSerializationStreamWriter';_.tI=34;function co(b,a){ln(b);b.c=a;return b;}
-function fo(b,a){if(!a){return null;}return b.d[a-1];}
-function go(b,a){b.b=mo(a);b.a=no(b.b);nn(b,a);b.d=jo(b);}
-function ho(a){return !(!a.b[--a.a]);}
-function io(a){return a.b[--a.a];}
-function jo(a){return a.b[--a.a];}
-function ko(a){return fo(a,io(a));}
-function lo(b){var a;a=this.c.nc(this,b);pn(this,a);this.c.ib(this,a,b);return a;}
-function mo(a){return eval(a);}
-function no(a){return a.length;}
-function oo(a){return fo(this,a);}
-function po(){return ho(this);}
-function qo(){return this.b[--this.a];}
-function ro(){return io(this);}
-function so(){return this.b[--this.a];}
-function to(){return ko(this);}
-function bo(){}
-_=bo.prototype=new jn();_.jb=lo;_.cc=oo;_.zd=po;_.Ad=qo;_.Bd=ro;_.Cd=so;_.Ed=to;_.tN=Ffc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function vo(a){a.h=nY(new lY());}
-function wo(d,c,a,b){vo(d);d.f=c;d.b=a;d.e=b;return d;}
-function yo(c,a){var b=c.d[a];return b==null?-1:b;}
-function zo(c,a){var b=c.g[':'+a];return b==null?0:b;}
-function Ao(a){a.c=0;a.d=ib();a.g=ib();rY(a.h);a.a=qU(new pU());if(En(a)){wn(a,a.b);wn(a,a.e);}}
-function Bo(b,a,c){b.d[a]=c;}
-function Co(b,a,c){b.g[':'+a]=c;}
-function Do(b){var a;a=qU(new pU());Eo(b,a);ap(b,a);Fo(b,a);return wU(a);}
-function Eo(b,a){cp(a,uV(b.j));cp(a,uV(b.i));}
-function Fo(b,a){sU(a,wU(b.a));}
-function ap(d,a){var b,c;c=d.h.b;cp(a,uV(c));for(b=0;b<c;++b){cp(a,Fb(uY(d.h,b),1));}return a;}
-function bp(b){var a;if(b===null){return 0;}a=zo(this,b);if(a>0){return a;}pY(this.h,b);a=this.h.b;Co(this,b,a);return a;}
-function cp(a,b){sU(a,b);rU(a,65535);}
-function dp(a){cp(this.a,a);}
-function ep(a){return yo(this,AV(a));}
-function fp(a){var b,c;c=w(a);b=this.f.bc(c);if(b!==null){c+='/'+b;}return c;}
-function gp(a){Bo(this,AV(a),this.c++);}
-function hp(a,b){this.f.ie(this,a,b);}
-function ip(){return Do(this);}
-function uo(){}
-_=uo.prototype=new rn();_.z=bp;_.E=dp;_.wb=ep;_.Bb=fp;_.ge=gp;_.je=hp;_.tS=ip;_.tN=Ffc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function uN(b,a){kO(b.dc(),a,true);}
-function wN(a){return Ae(a.ub());}
-function xN(a){return Be(a.ub());}
-function yN(a){return af(a.w,'offsetHeight');}
-function zN(a){return af(a.w,'offsetWidth');}
-function AN(b,a){kO(b.dc(),a,false);}
-function BN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
-function CN(b,a){if(b.w!==null){BN(b,b.w,a);}b.w=a;}
-function DN(b,c,a){if(c>=0){b.Be(c+'px');}if(a>=0){b.qe(a+'px');}}
-function EN(b,c,a){b.Be(c);b.qe(a);}
-function FN(b,a){jO(b.dc(),a);}
-function aO(b,a){Ef(b.ub(),a|cf(b.ub()));}
-function bO(){return this.w;}
-function cO(){return yN(this);}
-function dO(){return zN(this);}
-function eO(){return this.w;}
-function fO(a){return bf(a,'className');}
-function gO(a){return a.style.display!='none';}
-function hO(a){CN(this,a);}
-function iO(a){Df(this.w,'height',a);}
-function jO(a,b){xf(a,'className',b);}
-function kO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw lU(new kU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=lV(j);if(cV(j)==0){throw aT(new FS(),'Style names cannot be empty');}i=fO(c);e=aV(i,j);while(e!=(-1)){if(e==0||zU(i,e-1)==32){f=e+cV(j);g=cV(i);if(f==g||f<g&&zU(i,f)==32){break;}}e=bV(i,j,e+1);}if(a){if(e==(-1)){if(cV(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=lV(iV(i,0,e));d=lV(hV(i,e+cV(j)));if(cV(b)==0){h=d;}else if(cV(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
-function lO(a){if(a===null||cV(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
-function mO(a,b){a.style.display=b?'':'none';}
-function nO(a){mO(this.w,a);}
-function oO(a){Df(this.w,'width',a);}
-function pO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
-function tN(){}
-_=tN.prototype=new fU();_.ub=bO;_.Cb=cO;_.Db=dO;_.dc=eO;_.me=hO;_.qe=iO;_.te=lO;_.ye=nO;_.Be=oO;_.tS=pO;_.tN=agc+'UIObject';_.tI=37;_.w=null;function BP(a){if(a.oc()){throw dT(new cT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.ub(),a);a.kb();a.fd();}
-function CP(a){if(!a.oc()){throw dT(new cT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.td();}finally{a.mb();yf(a.ub(),null);a.t=false;}}
-function DP(a){if(ac(a.v,54)){Fb(a.v,54).ee(a);}else if(a.v!==null){throw dT(new cT(),"This widget's parent does not implement HasWidgets");}}
-function EP(b,a){if(b.oc()){yf(b.ub(),null);}CN(b,a);if(b.oc()){yf(a,b);}}
-function FP(b,a){b.u=a;}
-function aQ(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.oc()){c.Bc();}c.v=null;}else{if(a!==null){throw dT(new cT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.oc()){c.uc();}}}
-function bQ(){}
-function cQ(){}
-function dQ(){return this.t;}
-function eQ(){BP(this);}
-function fQ(a){}
-function gQ(){CP(this);}
-function hQ(){}
-function iQ(){}
-function jQ(a){EP(this,a);}
-function zO(){}
-_=zO.prototype=new tN();_.kb=bQ;_.mb=cQ;_.oc=dQ;_.uc=eQ;_.wc=fQ;_.Bc=gQ;_.fd=hQ;_.td=iQ;_.me=jQ;_.tN=agc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function FD(b,a){aQ(a,b);}
-function bE(b,a){aQ(a,null);}
-function cE(){var a;a=this.qc();while(a.kc()){a.sc();a.ce();}}
-function dE(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),20);a.uc();}}
-function eE(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),20);a.Bc();}}
-function fE(){}
-function gE(){}
-function ED(){}
-_=ED.prototype=new zO();_.ab=cE;_.kb=dE;_.mb=eE;_.fd=fE;_.td=gE;_.tN=agc+'Panel';_.tI=39;function Eq(a){a.f=dP(new AO(),a);}
-function Fq(a){Eq(a);return a;}
-function ar(c,a,b){DP(a);eP(c.f,a);td(b,a.ub());FD(c,a);}
-function br(d,b,a){var c;dr(d,a);if(b.v===d){c=fr(d,b);if(c<a){a--;}}return a;}
-function cr(b,a){if(a<0||a>=b.f.c){throw new fT();}}
-function dr(b,a){if(a<0||a>b.f.c){throw new fT();}}
-function gr(b,a){return gP(b.f,a);}
-function fr(b,a){return hP(b.f,a);}
-function hr(e,b,c,a,d){a=br(e,b,a);DP(b);iP(e.f,b,a);if(d){hf(c,b.ub(),a);}else{td(c,b.ub());}FD(e,b);}
-function ir(a){return jP(a.f);}
-function jr(b,c){var a;if(c.v!==b){return false;}bE(b,c);a=c.ub();nf(ff(a),a);lP(b.f,c);return true;}
-function kr(){return ir(this);}
-function lr(a){return this.ee(gr(this,a));}
-function mr(a){return jr(this,a);}
-function Dq(){}
-_=Dq.prototype=new ED();_.qc=kr;_.de=lr;_.ee=mr;_.tN=agc+'ComplexPanel';_.tI=40;function lp(a){Fq(a);a.me(xd());Df(a.ub(),'position','relative');Df(a.ub(),'overflow','hidden');return a;}
-function mp(a,b){ar(a,b,a.ub());}
-function op(b,c){var a;a=jr(b,c);if(a){pp(c.ub());}return a;}
-function pp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
-function qp(a){return op(this,a);}
-function kp(){}
-_=kp.prototype=new Dq();_.ee=qp;_.tN=agc+'AbsolutePanel';_.tI=41;function rp(){}
-_=rp.prototype=new fU();_.tN=agc+'AbstractImagePrototype';_.tI=42;function qu(){qu=d3;uu=(jR(),nR);}
-function ou(b,a){qu();su(b,a);return b;}
-function pu(b,a){if(b.k===null){b.k=eu(new du());}pY(b.k,a);}
-function ru(b,a){switch(xe(a)){case 1:if(b.j!==null){Bq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){gu(b.k,b,a);}break;case 128:case 512:case 256:break;}}
-function su(b,a){EP(b,a);aO(b,7041);}
-function tu(a){if(this.j===null){this.j=zq(new yq());}pY(this.j,a);}
-function vu(a){ru(this,a);}
-function wu(a){su(this,a);}
-function xu(a){vf(this.ub(),'disabled',!a);}
-function yu(a){if(a){uu.rb(this.ub());}else{uu.F(this.ub());}}
-function zu(a){uu.se(this.ub(),a);}
-function nu(){}
-_=nu.prototype=new zO();_.x=tu;_.wc=vu;_.me=wu;_.ne=xu;_.oe=yu;_.re=zu;_.tN=agc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var uu;function wp(){wp=d3;qu();}
-function vp(b,a){wp();ou(b,a);return b;}
-function xp(a){Af(this.ub(),a);}
-function up(){}
-_=up.prototype=new nu();_.pe=xp;_.tN=agc+'ButtonBase';_.tI=44;function Ap(){Ap=d3;wp();}
-function yp(a){Ap();vp(a,wd());Bp(a.ub());FN(a,'gwt-Button');return a;}
-function zp(b,a){Ap();yp(b);b.pe(a);return b;}
-function Bp(b){Ap();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
-function tp(){}
-_=tp.prototype=new up();_.tN=agc+'Button';_.tI=45;function Dp(a){Fq(a);a.e=ge();a.d=de();td(a.e,a.d);a.me(a.e);return a;}
-function Fp(c,b,a){xf(b,'align',a.a);}
-function aq(c,b,a){Df(b,'verticalAlign',a.a);}
-function bq(c,a){var b;b=ff(c.ub());xf(b,'height',a);}
-function cq(b,c){var a;a=ff(b.ub());xf(a,'width',c);}
-function Cp(){}
-_=Cp.prototype=new Dq();_.ke=bq;_.le=cq;_.tN=agc+'CellPanel';_.tI=46;_.d=null;_.e=null;function gW(d,a,b){var c;while(a.kc()){c=a.sc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
-function iW(a){throw dW(new cW(),'add');}
-function jW(b){var a;a=gW(this,this.qc(),b);return a!==null;}
-function kW(){return this.Fe(yb('[Ljava.lang.Object;',[612],[12],[this.Ce()],null));}
-function lW(a){var b,c,d;d=this.Ce();if(a.a<d){a=tb(a,d);}b=0;for(c=this.qc();c.kc();){Ab(a,b++,c.sc());}if(a.a>d){Ab(a,d,null);}return a;}
-function mW(){var a,b,c;c=qU(new pU());a=null;sU(c,'[');b=this.qc();while(b.kc()){if(a!==null){sU(c,a);}else{a=', ';}sU(c,wV(b.sc()));}sU(c,']');return wU(c);}
-function fW(){}
-_=fW.prototype=new fU();_.C=iW;_.eb=jW;_.Ee=kW;_.Fe=lW;_.tS=mW;_.tN=egc+'AbstractCollection';_.tI=47;function wW(b,a){throw gT(new fT(),'Index: '+a+', Size: '+b.b);}
-function xW(b,a){throw dW(new cW(),'add');}
-function yW(a){this.B(this.Ce(),a);return true;}
-function zW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ce()!=f.Ce()){return false;}c=this.qc();d=f.qc();while(c.kc()){a=c.sc();b=d.sc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
-function AW(){var a,b,c,d;c=1;a=31;b=this.qc();while(b.kc()){d=b.sc();c=31*c+(d===null?0:d.hC());}return c;}
-function BW(){return pW(new oW(),this);}
-function CW(a){throw dW(new cW(),'remove');}
-function nW(){}
-_=nW.prototype=new fW();_.B=xW;_.C=yW;_.eQ=zW;_.hC=AW;_.qc=BW;_.de=CW;_.tN=egc+'AbstractList';_.tI=48;function mY(a){{qY(a);}}
-function nY(a){mY(a);return a;}
-function oY(c,a,b){if(a<0||a>c.b){wW(c,a);}BY(c.a,a,b);++c.b;}
-function pY(b,a){eZ(b.a,b.b++,a);return true;}
-function rY(a){qY(a);}
-function qY(a){a.a=gb();a.b=0;}
-function tY(b,a){return vY(b,a)!=(-1);}
-function uY(b,a){if(a<0||a>=b.b){wW(b,a);}return aZ(b.a,a);}
-function vY(b,a){return wY(b,a,0);}
-function wY(c,b,a){if(a<0){wW(c,a);}for(;a<c.b;++a){if(FY(b,aZ(c.a,a))){return a;}}return (-1);}
-function xY(a){return a.b==0;}
-function yY(c,a){var b;b=uY(c,a);cZ(c.a,a,1);--c.b;return b;}
-function zY(c,b){var a;a=vY(c,b);if(a==(-1)){return false;}yY(c,a);return true;}
-function AY(d,a,b){var c;c=uY(d,a);eZ(d.a,a,b);return c;}
-function CY(a,b){oY(this,a,b);}
-function DY(a){return pY(this,a);}
-function BY(a,b,c){a.splice(b,0,c);}
-function EY(a){return tY(this,a);}
-function FY(a,b){return a===b||a!==null&&a.eQ(b);}
-function bZ(a){return uY(this,a);}
-function aZ(a,b){return a[b];}
-function dZ(a){return yY(this,a);}
-function cZ(a,c,b){a.splice(c,b);}
-function eZ(a,b,c){a[b]=c;}
-function fZ(){return this.b;}
-function gZ(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,aZ(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
-function lY(){}
-_=lY.prototype=new nW();_.B=CY;_.C=DY;_.eb=EY;_.hc=bZ;_.de=dZ;_.Ce=fZ;_.Fe=gZ;_.tN=egc+'ArrayList';_.tI=49;_.a=null;_.b=0;function eq(a){nY(a);return a;}
-function gq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),41);b.yc(c);}}
-function dq(){}
-_=dq.prototype=new lY();_.tN=agc+'ChangeListenerCollection';_.tI=50;function mq(){mq=d3;wp();}
-function jq(a){mq();kq(a,Cd());FN(a,'gwt-CheckBox');return a;}
-function lq(b,a){mq();jq(b);qq(b,a);return b;}
-function kq(b,a){var c;mq();vp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.ub()));Ef(b.ub(),0);td(b.ub(),b.a);td(b.ub(),b.b);c='check'+ ++xq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
-function nq(a){return ef(a.b);}
-function oq(b){var a;a=b.oc()?'checked':'defaultChecked';return Fe(b.a,a);}
-function pq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
-function qq(b,a){Bf(b.b,a);}
-function rq(){yf(this.a,this);}
-function sq(){yf(this.a,null);pq(this,oq(this));}
-function tq(a){vf(this.a,'disabled',!a);}
-function uq(a){if(a){uu.rb(this.a);}else{uu.F(this.a);}}
-function vq(a){Af(this.b,a);}
-function wq(a){uu.se(this.a,a);}
-function iq(){}
-_=iq.prototype=new up();_.fd=rq;_.td=sq;_.ne=tq;_.oe=uq;_.pe=vq;_.re=wq;_.tN=agc+'CheckBox';_.tI=51;_.a=null;_.b=null;var xq=0;function zq(a){nY(a);return a;}
-function Bq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),42);b.zc(c);}}
-function yq(){}
-_=yq.prototype=new lY();_.tN=agc+'ClickListenerCollection';_.tI=52;function pr(a,b){if(a.k!==null){throw dT(new cT(),'Composite.initWidget() may only be called once.');}DP(b);a.me(b.ub());a.k=b;aQ(b,a);}
-function qr(){if(this.k===null){throw dT(new cT(),'initWidget() was never called in '+w(this));}return this.w;}
-function rr(){if(this.k!==null){return this.k.oc();}return false;}
-function sr(){this.k.uc();this.fd();}
-function tr(){try{this.td();}finally{this.k.Bc();}}
-function nr(){}
-_=nr.prototype=new zO();_.ub=qr;_.oc=rr;_.uc=sr;_.Bc=tr;_.tN=agc+'Composite';_.tI=53;_.k=null;function vr(a){Fq(a);a.me(xd());return a;}
-function xr(b,c){var a;a=c.ub();Df(a,'width','100%');Df(a,'height','100%');c.ye(false);}
-function yr(b,c,a){hr(b,c,b.ub(),a,true);xr(b,c);}
-function zr(b,c){var a;a=jr(b,c);if(a){Ar(b,c);if(b.b===c){b.b=null;}}return a;}
-function Ar(a,b){Df(b.ub(),'width','');Df(b.ub(),'height','');b.ye(true);}
-function Br(b,a){cr(b,a);if(b.b!==null){b.b.ye(false);}b.b=gr(b,a);b.b.ye(true);}
-function Cr(a){return zr(this,a);}
-function ur(){}
-_=ur.prototype=new Dq();_.ee=Cr;_.tN=agc+'DeckPanel';_.tI=54;_.b=null;function fH(a){gH(a,xd());return a;}
-function gH(b,a){b.me(a);return b;}
-function hH(a,b){if(a.r!==null){throw dT(new cT(),'SimplePanel can only contain one child widget');}a.Ae(b);}
-function jH(a,b){if(b===a.r){return;}if(b!==null){DP(b);}if(a.r!==null){a.ee(a.r);}a.r=b;if(b!==null){td(a.tb(),a.r.ub());FD(a,b);}}
-function kH(){return this.ub();}
-function lH(){return aH(new EG(),this);}
-function mH(a){if(this.r!==a){return false;}bE(this,a);nf(this.tb(),a.ub());this.r=null;return true;}
-function nH(a){jH(this,a);}
-function DG(){}
-_=DG.prototype=new ED();_.tb=kH;_.qc=lH;_.ee=mH;_.Ae=nH;_.tN=agc+'SimplePanel';_.tI=55;_.r=null;function pE(){pE=d3;FE=new xR();}
-function lE(a){pE();gH(a,zR(FE));wE(a,0,0);return a;}
-function mE(b,a){pE();lE(b);b.k=a;return b;}
-function nE(c,a,b){pE();mE(c,a);c.o=b;return c;}
-function oE(b,a){if(a.blur){a.blur();}}
-function qE(a){return a.ub();}
-function rE(a){return zN(a);}
-function sE(a){tE(a,false);}
-function tE(b,a){if(!b.p){return;}b.p=false;op(tG(),b);b.ub();}
-function uE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.qe(a.l);}if(a.m!==null){b.Be(a.m);}}}
-function vE(e,b){var a,c,d,f;d=ve(b);c=kf(e.ub(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){tE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){oE(e,d);return false;}}}return !e.o||c;}
-function wE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.ub();Df(a,'left',b+'px');Df(a,'top',d+'px');}
-function xE(a,b){jH(a,b);uE(a);}
-function yE(a,b){a.m=b;uE(a);if(cV(b)==0){a.m=null;}}
-function zE(a){if(a.p){return;}a.p=true;sd(a);Df(a.ub(),'position','absolute');if(a.q!=(-1)){wE(a,a.n,a.q);}mp(tG(),a);a.ub();}
-function AE(){return qE(this);}
-function BE(){return yN(this);}
-function CE(){return rE(this);}
-function DE(){return this.ub();}
-function EE(){sE(this);}
-function aF(){pf(this);CP(this);}
-function bF(a){return vE(this,a);}
-function cF(a){this.l=a;uE(this);if(cV(a)==0){this.l=null;}}
-function dF(b){var a;a=qE(this);if(b===null||cV(b)==0){of(a,'title');}else{uf(a,'title',b);}}
-function eF(a){Df(this.ub(),'visibility',a?'visible':'hidden');this.ub();}
-function fF(a){xE(this,a);}
-function gF(a){yE(this,a);}
-function kE(){}
-_=kE.prototype=new DG();_.tb=AE;_.Cb=BE;_.Db=CE;_.dc=DE;_.lc=EE;_.Bc=aF;_.Cc=bF;_.qe=cF;_.te=dF;_.ye=eF;_.Ae=fF;_.Be=gF;_.tN=agc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var FE;function cs(){cs=d3;pE();}
-function Er(a){a.e=mz(new qw());a.j=ut(new ot());}
-function Fr(a){cs();as(a,false);return a;}
-function as(b,a){cs();bs(b,a,true);return b;}
-function bs(c,a,b){cs();nE(c,a,b);Er(c);c.j.ze(0,0,c.e);c.j.qe('100%');Ay(c.j,0);Cy(c.j,0);Dy(c.j,0);fx(c.j.n,1,0,'100%');kx(c.j.n,1,0,'100%');ex(c.j.n,1,0,(xz(),yz),(aA(),cA));xE(c,c.j);FN(c,'gwt-DialogBox');FN(c.e,'Caption');hC(c.e,c);return c;}
-function ds(b,a){qz(b.e,a);}
-function es(b,a){kC(b.e,a);}
-function fs(a,b){if(a.f!==null){zy(a.j,a.f);}if(b!==null){a.j.ze(1,0,b);}a.f=b;}
-function gs(a){if(xe(a)==4){if(kf(this.e.ub(),ve(a))){ye(a);}}return vE(this,a);}
-function hs(a,b,c){this.i=true;tf(this.e.ub());this.g=b;this.h=c;}
-function is(a){}
-function js(a){}
-function ks(c,d,e){var a,b;if(this.i){a=d+wN(this);b=e+xN(this);wE(this,a-this.g,b-this.h);}}
-function ls(a,b,c){this.i=false;mf(this.e.ub());}
-function ms(a){if(this.f!==a){return false;}zy(this.j,a);return true;}
-function ns(a){fs(this,a);}
-function os(a){yE(this,a);this.j.Be('100%');}
-function Dr(){}
-_=Dr.prototype=new kE();_.Cc=gs;_.hd=hs;_.id=is;_.jd=js;_.kd=ks;_.ld=ls;_.ee=ms;_.Ae=ns;_.Be=os;_.tN=agc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function As(){As=d3;at=new qs();bt=new qs();ct=new qs();dt=new qs();et=new qs();}
-function xs(a){a.b=(xz(),zz);a.c=(aA(),dA);}
-function ys(a){As();Dp(a);xs(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
-function zs(c,d,a){var b;if(a===at){if(d===c.a){return;}else if(c.a!==null){throw aT(new FS(),'Only one CENTER widget may be added');}}DP(d);eP(c.f,d);if(a===at){c.a=d;}b=ts(new ss(),a);FP(d,b);Ds(c,d,c.b);Es(c,d,c.c);Bs(c);FD(c,d);}
-function Bs(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=jP(p.f);EO(h);){c=FO(h);e=c.u.a;if(e===ct||e===dt){++l;}else if(e===bt||e===et){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[634],[33],[l],null);for(g=0;g<l;++g){m[g]=new vs();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=jP(p.f);EO(h);){c=FO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===ct){hf(m[j].b,o,m[j].a);td(o,c.ub());wf(o,'colSpan',f-q+1);++j;}else if(i.a===dt){hf(m[n].b,o,m[n].a);td(o,c.ub());wf(o,'colSpan',f-q+1);--n;}else if(i.a===et){k=m[j];hf(k.b,o,k.a++);td(o,c.ub());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===bt){k=m[j];hf(k.b,o,k.a);td(o,c.ub());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===at){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.ub());}}
-function Cs(b,c){var a;a=jr(b,c);if(a){if(c===b.a){b.a=null;}Bs(b);}return a;}
-function Ds(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
-function Es(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
-function Fs(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
-function ft(a){return Cs(this,a);}
-function gt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
-function ht(a,b){Fs(this,a,b);}
-function ps(){}
-_=ps.prototype=new Cp();_.ee=ft;_.ke=gt;_.le=ht;_.tN=agc+'DockPanel';_.tI=58;_.a=null;var at,bt,ct,dt,et;function qs(){}
-_=qs.prototype=new fU();_.tN=agc+'DockPanel$DockLayoutConstant';_.tI=59;function ts(b,a){b.a=a;return b;}
-function ss(){}
-_=ss.prototype=new fU();_.tN=agc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function vs(){}
-_=vs.prototype=new fU();_.tN=agc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function jt(a){a.me(yd('input'));xf(a.ub(),'type','file');FN(a,'gwt-FileUpload');return a;}
-function lt(a){return bf(a.ub(),'value');}
-function mt(b,a){xf(b.ub(),'name',a);}
-function it(){}
-_=it.prototype=new zO();_.tN=agc+'FileUpload';_.tI=62;function ey(a){a.s=Ax(new vx());}
-function fy(a){ey(a);a.q=ge();a.m=de();td(a.q,a.m);a.me(a.q);aO(a,1);return a;}
-function gy(b,a){if(b.r===null){b.r=kK(new jK());}pY(b.r,a);}
-function hy(d,c,b){var a;iy(d,c);if(b<0){throw gT(new fT(),'Column '+b+' must be non-negative: '+b);}a=d.sb(c);if(a<=b){throw gT(new fT(),'Column index: '+b+', Column size: '+d.sb(c));}}
-function iy(c,a){var b;b=c.Fb();if(a>=b||a<0){throw gT(new fT(),'Row index: '+a+', Row size: '+b);}}
-function jy(e,c,b,a){var d;d=bx(e.n,c,b);wy(e,d,a);return d;}
-function ky(d){var a,b,c;for(c=0;c<d.Fb();++c){for(b=0;b<d.sb(c);++b){a=sy(d,c,b);if(a!==null){zy(d,a);}}}}
-function my(a){return ee();}
-function ny(c,b,a){return b.rows[a].cells.length;}
-function oy(a){return py(a,a.m);}
-function py(b,a){return a.rows.length;}
-function qy(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(DU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
-function ry(d,c,a){var b;hy(d,c,a);b=ax(d.n,c,a);return ef(b);}
-function ty(c,b,a){hy(c,b,a);return sy(c,b,a);}
-function sy(e,d,b){var a,c;c=bx(e.n,d,b);a=df(c);if(a===null){return null;}else{return Cx(e.s,a);}}
-function uy(d,b,a){var c,e;e=tx(d.p,d.m,b);c=d.fb();hf(e,c,a);}
-function vy(b,a){var c;if(a!=yt(b)){iy(b,a);}c=fe();hf(b.m,c,a);return a;}
-function wy(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=Cx(d.s,b);}if(e!==null){zy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
-function zy(b,c){var a;if(c.v!==b){return false;}bE(b,c);a=c.ub();nf(ff(a),a);Fx(b.s,a);return true;}
-function xy(d,b,a){var c,e;hy(d,b,a);c=jy(d,b,a,false);e=tx(d.p,d.m,b);nf(e,c);}
-function yy(d,c){var a,b;b=d.sb(c);for(a=0;a<b;++a){jy(d,c,a,false);}nf(d.m,tx(d.p,d.m,c));}
-function Ay(a,b){xf(a.q,'border',''+b);}
-function By(b,a){b.n=a;}
-function Cy(b,a){wf(b.q,'cellPadding',a);}
-function Dy(b,a){wf(b.q,'cellSpacing',a);}
-function Ey(b,a){b.o=a;ox(b.o);}
-function Fy(e,c,a,b){var d;fw(e,c,a);d=jy(e,c,a,b===null);if(b!==null){Af(d,b);}}
-function az(b,a){b.p=a;}
-function bz(e,b,a,d){var c;e.xd(b,a);c=jy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
-function cz(d,b,a,e){var c;d.xd(b,a);if(e!==null){DP(e);c=jy(d,b,a,true);Dx(d.s,e);td(c,e.ub());FD(d,e);}}
-function dz(){ky(this);}
-function ez(){return my(this);}
-function fz(b,a){uy(this,b,a);}
-function gz(){return ay(this.s);}
-function hz(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=qy(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);mK(this.r,this,d,b);}break;}default:}}
-function kz(a){return zy(this,a);}
-function iz(b,a){xy(this,b,a);}
-function jz(a){yy(this,a);}
-function lz(b,a,c){cz(this,b,a,c);}
-function rw(){}
-_=rw.prototype=new ED();_.ab=dz;_.fb=ez;_.mc=fz;_.qc=gz;_.wc=hz;_.ee=kz;_.Fd=iz;_.be=jz;_.ze=lz;_.tN=agc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function ut(a){fy(a);By(a,qt(new pt(),a));az(a,qx(new px(),a));Ey(a,mx(new lx(),a));return a;}
-function wt(b,a){iy(b,a);return ny(b,b.m,a);}
-function xt(a){return Fb(a.n,43);}
-function yt(a){return oy(a);}
-function zt(b,a){return vy(b,a);}
-function At(d,b){var a,c;if(b<0){throw gT(new fT(),'Cannot create a row with a negative index: '+b);}c=yt(d);for(a=c;a<=b;a++){zt(d,a);}}
-function Bt(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
-function Ct(a){return wt(this,a);}
-function Dt(){return yt(this);}
-function Et(b,a){uy(this,b,a);}
-function Ft(d,b){var a,c;At(this,d);if(b<0){throw gT(new fT(),'Cannot create a column with a negative index: '+b);}a=wt(this,d);c=b+1-a;if(c>0){Bt(this.m,d,c);}}
-function au(a){At(this,a);}
-function bu(b,a){xy(this,b,a);}
-function cu(a){yy(this,a);}
-function ot(){}
-_=ot.prototype=new rw();_.sb=Ct;_.Fb=Dt;_.mc=Et;_.xd=Ft;_.yd=au;_.Fd=bu;_.be=cu;_.tN=agc+'FlexTable';_.tI=64;function Cw(b,a){b.a=a;return b;}
-function Ew(c,b,a){c.a.xd(b,a);return Fw(c,c.a.m,b,a);}
-function Fw(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
-function ax(c,b,a){hy(c.a,b,a);return Fw(c,c.a.m,b,a);}
-function bx(c,b,a){return Fw(c,c.a.m,b,a);}
-function cx(d,c,a){var b;b=ax(d,c,a);return gO(b);}
-function dx(e,b,a,c){var d;hy(e.a,b,a);d=Fw(e,e.a.m,b,a);kO(d,c,false);}
-function ex(d,c,a,b,e){gx(d,c,a,b);ix(d,c,a,e);}
-function fx(e,d,a,c){var b;e.a.xd(d,a);b=Fw(e,e.a.m,d,a);xf(b,'height',c);}
-function gx(e,d,b,a){var c;e.a.xd(d,b);c=Fw(e,e.a.m,d,b);xf(c,'align',a.a);}
-function hx(d,b,a,c){d.a.xd(b,a);jO(Fw(d,d.a.m,b,a),c);}
-function ix(d,c,b,a){d.a.xd(c,b);Df(Fw(d,d.a.m,c,b),'verticalAlign',a.a);}
-function jx(d,c,a,e){var b;b=Ew(d,c,a);mO(b,e);}
-function kx(c,b,a,d){c.a.xd(b,a);xf(Fw(c,c.a.m,b,a),'width',d);}
-function Bw(){}
-_=Bw.prototype=new fU();_.tN=agc+'HTMLTable$CellFormatter';_.tI=65;function qt(b,a){Cw(b,a);return b;}
-function st(d,c,b,a){wf(Ew(d,c,b),'colSpan',a);}
-function tt(d,b,a,c){wf(Ew(d,b,a),'rowSpan',c);}
-function pt(){}
-_=pt.prototype=new Bw();_.tN=agc+'FlexTable$FlexCellFormatter';_.tI=66;function eu(a){nY(a);return a;}
-function hu(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.Ec(c);}}
-function gu(c,b,a){switch(xe(a)){case 2048:hu(c,b);break;case 4096:iu(c,b);break;}}
-function iu(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.gd(c);}}
-function du(){}
-_=du.prototype=new lY();_.tN=agc+'FocusListenerCollection';_.tI=67;function lu(){lu=d3;mu=(jR(),mR);}
-var mu;function Bu(a){nY(a);return a;}
-function Du(f,e,d){var a,b,c;a=xv(new wv(),e,d);for(c=f.qc();c.kc();){b=Fb(c.sc(),45);b.nd(a);}}
-function Eu(e,d){var a,b,c;a=new zv();for(c=e.qc();c.kc();){b=Fb(c.sc(),45);b.od(a);}return a.a;}
-function Au(){}
-_=Au.prototype=new lY();_.tN=agc+'FormHandlerCollection';_.tI=68;function hv(){hv=d3;rv=new pR();}
-function fv(a){hv();gH(a,zd());a.b='FormPanel_'+ ++qv;ov(a,a.b);aO(a,32768);return a;}
-function gv(b,a){if(b.a===null){b.a=Bu(new Au());}pY(b.a,a);}
-function iv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
-function jv(a){if(a.a!==null){return !Eu(a.a,a);}return true;}
-function kv(a){if(a.a!==null){eg(cv(new bv(),a));}}
-function lv(a,b){xf(a.ub(),'action',b);}
-function mv(b,a){uR(rv,b.ub(),a);}
-function nv(b,a){xf(b.ub(),'method',a);}
-function ov(b,a){xf(b.ub(),'target',a);}
-function pv(a){if(a.a!==null){if(Eu(a.a,a)){return;}}vR(rv,a.ub(),a.c);}
-function sv(){BP(this);iv(this);td(sG(),this.c);tR(rv,this.c,this.ub(),this);}
-function tv(){CP(this);wR(rv,this.c,this.ub());nf(sG(),this.c);this.c=null;}
-function uv(){var a;a=x;{return jv(this);}}
-function vv(){var a;a=x;{kv(this);}}
-function av(){}
-_=av.prototype=new DG();_.uc=sv;_.Bc=tv;_.Fc=uv;_.ad=vv;_.tN=agc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var qv=0,rv;function cv(b,a){b.a=a;return b;}
-function ev(){Du(this.a.a,this,sR((hv(),rv),this.a.c));}
-function bv(){}
-_=bv.prototype=new fU();_.pb=ev;_.tN=agc+'FormPanel$1';_.tI=70;function m0(){}
-_=m0.prototype=new fU();_.tN=egc+'EventObject';_.tI=71;function xv(c,b,a){c.a=a;return c;}
-function wv(){}
-_=wv.prototype=new m0();_.tN=agc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function Bv(b,a){b.a=a;}
-function zv(){}
-_=zv.prototype=new m0();_.tN=agc+'FormSubmitEvent';_.tI=73;_.a=false;function Dv(a){a.me(Ad());return a;}
-function Ev(a,b){Dv(a);aw(a,b);return a;}
-function aw(a,b){xf(a.ub(),'src',b);}
-function Cv(){}
-_=Cv.prototype=new zO();_.tN=agc+'Frame';_.tI=74;function cw(a){fy(a);By(a,Cw(new Bw(),a));az(a,qx(new px(),a));Ey(a,mx(new lx(),a));return a;}
-function dw(c,b,a){cw(c);jw(c,b,a);return c;}
-function fw(c,b,a){gw(c,b);if(a<0){throw gT(new fT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw gT(new fT(),'Column index: '+a+', Column size: '+c.k);}}
-function gw(b,a){if(a<0){throw gT(new fT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw gT(new fT(),'Row index: '+a+', Row size: '+b.l);}}
-function jw(c,b,a){hw(c,a);iw(c,b);}
-function hw(d,a){var b,c;if(d.k==a){return;}if(a<0){throw gT(new fT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Fd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.mc(b,c);}}}d.k=a;}
-function iw(b,a){if(b.l==a){return;}if(a<0){throw gT(new fT(),'Cannot set number of rows to '+a);}if(b.l<a){kw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.be(--b.l);}}}
-function kw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
-function lw(){var a;a=my(this);Af(a,'&nbsp;');return a;}
-function mw(a){return this.k;}
-function nw(){return this.l;}
-function ow(b,a){fw(this,b,a);}
-function pw(a){gw(this,a);}
-function bw(){}
-_=bw.prototype=new rw();_.fb=lw;_.sb=mw;_.Fb=nw;_.xd=ow;_.yd=pw;_.tN=agc+'Grid';_.tI=75;_.k=0;_.l=0;function eC(a){a.me(xd());aO(a,131197);FN(a,'gwt-Label');return a;}
-function fC(b,a){eC(b);kC(b,a);return b;}
-function gC(b,a){if(b.a===null){b.a=zq(new yq());}pY(b.a,a);}
-function hC(b,a){if(b.b===null){b.b=lD(new kD());}pY(b.b,a);}
-function jC(a){return ef(a.ub());}
-function kC(b,a){Bf(b.ub(),a);}
-function lC(a,b){Df(a.ub(),'whiteSpace',b?'normal':'nowrap');}
-function mC(a){switch(xe(a)){case 1:if(this.a!==null){Bq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){pD(this.b,this,a);}break;case 131072:break;}}
-function dC(){}
-_=dC.prototype=new zO();_.wc=mC;_.tN=agc+'Label';_.tI=76;_.a=null;_.b=null;function mz(a){eC(a);a.me(xd());aO(a,125);FN(a,'gwt-HTML');return a;}
-function nz(b,a){mz(b);qz(b,a);return b;}
-function oz(b,a,c){nz(b,a);lC(b,c);return b;}
-function qz(b,a){Af(b.ub(),a);}
-function qw(){}
-_=qw.prototype=new dC();_.tN=agc+'HTML';_.tI=77;function tw(a){{ww(a);}}
-function uw(b,a){b.c=a;tw(b);return b;}
-function ww(a){while(++a.b<a.c.b.b){if(uY(a.c.b,a.b)!==null){return;}}}
-function xw(a){return a.b<a.c.b.b;}
-function yw(){return xw(this);}
-function zw(){var a;if(!xw(this)){throw new r2();}a=uY(this.c.b,this.b);this.a=this.b;ww(this);return a;}
-function Aw(){var a;if(this.a<0){throw new cT();}a=Fb(uY(this.c.b,this.a),20);DP(a);this.a=(-1);}
-function sw(){}
-_=sw.prototype=new fU();_.kc=yw;_.sc=zw;_.ce=Aw;_.tN=agc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function mx(b,a){b.b=a;return b;}
-function ox(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
-function lx(){}
-_=lx.prototype=new fU();_.tN=agc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function qx(b,a){b.a=a;return b;}
-function sx(b,a){b.a.yd(a);return tx(b,b.a.m,a);}
-function tx(c,a,b){return a.rows[b];}
-function ux(c,a,b){jO(sx(c,a),b);}
-function px(){}
-_=px.prototype=new fU();_.tN=agc+'HTMLTable$RowFormatter';_.tI=80;function zx(a){a.b=nY(new lY());}
-function Ax(a){zx(a);return a;}
-function Cx(c,a){var b;b=cy(a);if(b<0){return null;}return Fb(uY(c.b,b),20);}
-function Dx(b,c){var a;if(b.a===null){a=b.b.b;pY(b.b,c);}else{a=b.a.a;AY(b.b,a,c);b.a=b.a.b;}dy(c.ub(),a);}
-function Ex(c,a,b){by(a);AY(c.b,b,null);c.a=xx(new wx(),b,c.a);}
-function Fx(c,a){var b;b=cy(a);Ex(c,a,b);}
-function ay(a){return uw(new sw(),a);}
-function by(a){a['__widgetID']=null;}
-function cy(a){var b=a['__widgetID'];return b==null?-1:b;}
-function dy(a,b){a['__widgetID']=b;}
-function vx(){}
-_=vx.prototype=new fU();_.tN=agc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function xx(c,a,b){c.a=a;c.b=b;return c;}
-function wx(){}
-_=wx.prototype=new fU();_.tN=agc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function xz(){xz=d3;yz=vz(new uz(),'center');zz=vz(new uz(),'left');Az=vz(new uz(),'right');}
-var yz,zz,Az;function vz(b,a){b.a=a;return b;}
-function uz(){}
-_=uz.prototype=new fU();_.tN=agc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function aA(){aA=d3;bA=Ez(new Dz(),'bottom');cA=Ez(new Dz(),'middle');dA=Ez(new Dz(),'top');}
-var bA,cA,dA;function Ez(a,b){a.a=b;return a;}
-function Dz(){}
-_=Dz.prototype=new fU();_.tN=agc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function hA(a){a.a=(xz(),zz);a.c=(aA(),dA);}
-function iA(a){Dp(a);hA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function jA(b,c){var a;a=lA(b);td(b.b,a);ar(b,c,a);}
-function lA(b){var a;a=ee();Fp(b,a,b.a);aq(b,a,b.c);return a;}
-function mA(c,d,a){var b;dr(c,a);b=lA(c);hf(c.b,b,a);hr(c,d,b,a,false);}
-function nA(c,d){var a,b;b=ff(d.ub());a=jr(c,d);if(a){nf(c.b,b);}return a;}
-function oA(b,a){b.c=a;}
-function pA(a){return nA(this,a);}
-function gA(){}
-_=gA.prototype=new Cp();_.ee=pA;_.tN=agc+'HorizontalPanel';_.tI=85;_.b=null;function rA(a){a.me(xd());td(a.ub(),a.a=vd());aO(a,1);FN(a,'gwt-Hyperlink');return a;}
-function sA(c,b,a){rA(c);vA(c,b);uA(c,a);return c;}
-function uA(b,a){b.b=a;xf(b.a,'href','#'+a);}
-function vA(b,a){Bf(b.a,a);}
-function wA(a){if(xe(a)==1){ah(this.b);ye(a);}}
-function qA(){}
-_=qA.prototype=new zO();_.wc=wA;_.tN=agc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function qB(){qB=d3;k1(new o0());}
-function mB(a){qB();pB(a,fB(new eB(),a));FN(a,'gwt-Image');return a;}
-function nB(a,b){qB();pB(a,gB(new eB(),a,b));FN(a,'gwt-Image');return a;}
-function oB(b,a){if(b.a===null){b.a=zq(new yq());}pY(b.a,a);}
-function pB(b,a){b.b=a;}
-function sB(a,b){a.b.ve(a,b);}
-function rB(c,e,b,d,f,a){c.b.ue(c,e,b,d,f,a);}
-function tB(a){switch(xe(a)){case 1:{if(this.a!==null){Bq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
-function xA(){}
-_=xA.prototype=new zO();_.wc=tB;_.tN=agc+'Image';_.tI=87;_.a=null;_.b=null;function AA(){}
-function yA(){}
-_=yA.prototype=new fU();_.pb=AA;_.tN=agc+'Image$1';_.tI=88;function cB(){}
-_=cB.prototype=new fU();_.tN=agc+'Image$State';_.tI=89;function DA(){DA=d3;FA=new kQ();}
-function CA(d,b,f,c,e,g,a){DA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.me(nQ(FA,f,c,e,g,a));aO(b,131197);EA(d,b);return d;}
-function EA(b,a){eg(new yA());}
-function bB(a,b){pB(a,gB(new eB(),a,b));}
-function aB(b,e,c,d,f,a){if(!EU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;lQ(FA,b.ub(),e,c,d,f,a);EA(this,b);}}
-function BA(){}
-_=BA.prototype=new cB();_.ve=bB;_.ue=aB;_.tN=agc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var FA;function fB(b,a){a.me(Bd());aO(a,229501);return b;}
-function gB(b,a,c){fB(b,a);iB(b,a,c);return b;}
-function iB(b,a,c){zf(a.ub(),c);}
-function kB(a,b){iB(this,a,b);}
-function jB(b,e,c,d,f,a){pB(b,CA(new BA(),b,e,c,d,f,a));}
-function eB(){}
-_=eB.prototype=new cB();_.ve=kB;_.ue=jB;_.tN=agc+'Image$UnclippedState';_.tI=91;function xB(c,a,b){}
-function yB(c,a,b){}
-function zB(c,a,b){}
-function vB(){}
-_=vB.prototype=new fU();_.cd=xB;_.dd=yB;_.ed=zB;_.tN=agc+'KeyboardListenerAdapter';_.tI=92;function BB(a){nY(a);return a;}
-function DB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.cd(e,b,d);}}
-function EB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.dd(e,b,d);}}
-function FB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.ed(e,b,d);}}
-function aC(d,c,a){var b;b=bC(a);switch(xe(a)){case 128:DB(d,c,bc(se(a)),b);break;case 512:FB(d,c,bc(se(a)),b);break;case 256:EB(d,c,bc(se(a)),b);break;}}
-function bC(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
-function AB(){}
-_=AB.prototype=new lY();_.tN=agc+'KeyboardListenerCollection';_.tI=93;function EC(){EC=d3;qu();iD=new pC();}
-function xC(a){EC();yC(a,false);return a;}
-function yC(b,a){EC();ou(b,be(a));aO(b,1024);FN(b,'gwt-ListBox');return b;}
-function zC(b,a){if(b.b===null){b.b=eq(new dq());}pY(b.b,a);}
-function AC(b,a){dD(b,a,(-1));}
-function BC(b,a,c){eD(b,a,c,(-1));}
-function CC(b,a){if(a<0||a>=FC(b)){throw new fT();}}
-function DC(a){qC(iD,a.ub());}
-function FC(a){return sC(iD,a.ub());}
-function aD(b,a){CC(b,a);return tC(iD,b.ub(),a);}
-function bD(a){return af(a.ub(),'selectedIndex');}
-function cD(b,a){CC(b,a);return uC(iD,b.ub(),a);}
-function dD(c,b,a){eD(c,b,b,a);}
-function eD(c,b,d,a){jf(c.ub(),b,d,a);}
-function fD(b,a){CC(b,a);vC(iD,b.ub(),a);}
-function gD(b,a){wf(b.ub(),'selectedIndex',a);}
-function hD(a,b){wf(a.ub(),'size',b);}
-function jD(a){if(xe(a)==1024){if(this.b!==null){gq(this.b,this);}}else{ru(this,a);}}
-function nC(){}
-_=nC.prototype=new nu();_.wc=jD;_.tN=agc+'ListBox';_.tI=94;_.b=null;var iD;function oC(){}
-_=oC.prototype=new fU();_.tN=agc+'ListBox$Impl';_.tI=95;function qC(b,a){a.innerText='';}
-function sC(b,a){return a.children.length;}
-function tC(c,b,a){return b.children[a].text;}
-function uC(c,b,a){return b.children[a].value;}
-function vC(c,b,a){b.removeChild(b.children[a]);}
-function pC(){}
-_=pC.prototype=new oC();_.tN=agc+'ListBox$ImplSafari';_.tI=96;function lD(a){nY(a);return a;}
-function nD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.hd(c,e,f);}}
-function oD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.id(c);}}
-function pD(e,c,a){var b,d,f,g,h;d=c.ub();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:nD(e,c,g,h);break;case 8:sD(e,c,g,h);break;case 64:rD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){oD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){qD(e,c);}break;}}
-function qD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.jd(c);}}
-function rD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.kd(c,e,f);}}
-function sD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.ld(c,e,f);}}
-function kD(){}
-_=kD.prototype=new lY();_.tN=agc+'MouseListenerCollection';_.tI=97;function uD(){}
-_=uD.prototype=new fU();_.tN=agc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=98;_.a=null;_.b=null;function yD(b,a){CD(a,b.Ed());DD(a,b.Ed());}
-function zD(a){return a.a;}
-function AD(a){return a.b;}
-function BD(b,a){b.gf(zD(a));b.gf(AD(a));}
-function CD(a,b){a.a=b;}
-function DD(a,b){a.b=b;}
-function BK(){BK=d3;qu();cL=new AR();}
-function xK(b,a){BK();ou(b,a);aO(b,1024);return b;}
-function yK(b,a){if(b.f===null){b.f=eq(new dq());}pY(b.f,a);}
-function zK(b,a){if(b.i===null){b.i=BB(new AB());}pY(b.i,a);}
-function AK(a){if(a.h!==null){ye(a.h);}}
-function CK(a){return bf(a.ub(),'value');}
-function DK(b,a){FK(b,a,0);}
-function EK(b,a){xf(b.ub(),'name',a);}
-function FK(c,b,a){if(a<0){throw gT(new fT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>cV(CK(c))){throw gT(new fT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+cV(CK(c)));}ER(cL,c.ub(),b,a);}
-function aL(b,a){xf(b.ub(),'value',a!==null?a:'');}
-function bL(a){if(this.g===null){this.g=zq(new yq());}pY(this.g,a);}
-function dL(a){var b;ru(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;aC(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){Bq(this.g,this);}}else if(b==1024){if(this.f!==null){gq(this.f,this);}}}
-function wK(){}
-_=wK.prototype=new nu();_.x=bL;_.wc=dL;_.tN=agc+'TextBoxBase';_.tI=99;_.f=null;_.g=null;_.h=null;_.i=null;var cL;function jE(){jE=d3;BK();}
-function iE(a){jE();xK(a,Dd());FN(a,'gwt-PasswordTextBox');return a;}
-function hE(){}
-_=hE.prototype=new wK();_.tN=agc+'PasswordTextBox';_.tI=100;function uF(b,a){vF(b,a,null);return b;}
-function vF(c,a,b){c.a=a;xF(c);return c;}
-function wF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=dG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=dG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=aG(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
-function xF(a){a.b=0;a.c={};a.d={};}
-function zF(b,a){return tY(AF(b,a,1),a);}
-function AF(c,b,a){var d;d=nY(new lY());if(b!==null&&a>0){CF(c,b,'',d,a);}return d;}
-function BF(a){return jF(new iF(),a);}
-function CF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=dG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+gG(a);h.De(f,l,c,b);}}else{for(j in k){var l=d+gG(j);if(l.indexOf(f)==0){c.C(l);}if(c.Ce()>=b){return;}}for(var a in i){var l=d+gG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ce()||h.b==1){h.nb(c,l);}else{for(var j in h.d){c.C(l+gG(j));}for(var g in h.c){c.C(l+gG(g)+'...');}}}}}}
-function DF(a){if(ac(a,1)){return wF(this,Fb(a,1));}else{throw dW(new cW(),'Cannot add non-Strings to PrefixTree');}}
-function EF(a){return wF(this,a);}
-function FF(a){if(ac(a,1)){return zF(this,Fb(a,1));}else{return false;}}
-function aG(a){return uF(new hF(),a);}
-function bG(b,c){var a;for(a=BF(this);mF(a);){b.C(c+Fb(pF(a),1));}}
-function cG(){return BF(this);}
-function dG(a){return Eb(58)+a;}
-function eG(){return this.b;}
-function fG(d,c,b,a){CF(this,d,c,b,a);}
-function gG(a){return hV(a,1);}
-function hF(){}
-_=hF.prototype=new fW();_.C=DF;_.D=EF;_.eb=FF;_.nb=bG;_.qc=cG;_.Ce=eG;_.De=fG;_.tN=agc+'PrefixTree';_.tI=101;_.a=0;_.b=0;_.c=null;_.d=null;function jF(a,b){nF(a);kF(a,b,'');return a;}
-function kF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
-function mF(a){return oF(a,true)!==null;}
-function nF(a){a.a=[];}
-function pF(a){var b;b=oF(a,false);if(b===null){if(!mF(a)){throw s2(new r2(),'No more elements in the iterator');}else{throw lU(new kU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
-function oF(g,b){var d=g.a;var c=dG;var i=gG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
-function qF(b,a){kF(this,b,a);}
-function rF(){return mF(this);}
-function sF(){return pF(this);}
-function tF(){throw dW(new cW(),'PrefixTree does not support removal.  Use clear()');}
-function iF(){}
-_=iF.prototype=new fU();_.A=qF;_.kc=rF;_.sc=sF;_.ce=tF;_.tN=agc+'PrefixTree$PrefixTreeIterator';_.tI=102;_.a=null;function kG(){kG=d3;mq();}
-function iG(b,a){kG();kq(b,Ed(a));FN(b,'gwt-RadioButton');return b;}
-function jG(c,b,a){kG();iG(c,b);qq(c,a);return c;}
-function hG(){}
-_=hG.prototype=new iq();_.tN=agc+'RadioButton';_.tI=103;function rG(){rG=d3;wG=k1(new o0());}
-function qG(b,a){rG();lp(b);if(a===null){a=sG();}b.me(a);b.uc();return b;}
-function tG(){rG();return uG(null);}
-function uG(c){rG();var a,b;b=Fb(q1(wG,c),48);if(b!==null){return b;}a=null;if(wG.c==0){vG();}r1(wG,c,b=qG(new lG(),a));return b;}
-function sG(){rG();return $doc.body;}
-function vG(){rG();yh(new mG());}
-function lG(){}
-_=lG.prototype=new kp();_.tN=agc+'RootPanel';_.tI=104;var wG;function oG(){var a,b;for(b=qX(FX((rG(),wG)));xX(b);){a=Fb(yX(b),48);if(a.oc()){a.Bc();}}}
-function pG(){return null;}
-function mG(){}
-_=mG.prototype=new fU();_.ud=oG;_.vd=pG;_.tN=agc+'RootPanel$1';_.tI=105;function yG(a){fH(a);BG(a,false);aO(a,16384);return a;}
-function zG(b,a){yG(b);b.Ae(a);return b;}
-function BG(b,a){Df(b.ub(),'overflow',a?'scroll':'auto');}
-function CG(a){xe(a)==16384;}
-function xG(){}
-_=xG.prototype=new DG();_.wc=CG;_.tN=agc+'ScrollPanel';_.tI=106;function FG(a){a.a=a.c.r!==null;}
-function aH(b,a){b.c=a;FG(b);return b;}
-function cH(){return this.a;}
-function dH(){if(!this.a||this.c.r===null){throw new r2();}this.a=false;return this.b=this.c.r;}
-function eH(){if(this.b!==null){this.c.ee(this.b);}}
-function EG(){}
-_=EG.prototype=new fU();_.kc=cH;_.sc=dH;_.ce=eH;_.tN=agc+'SimplePanel$1';_.tI=107;_.b=null;function BH(b){var a;Fq(b);a=ge();b.me(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);FN(b,'gwt-StackPanel');return b;}
-function CH(a,b){aI(a,b,a.f.c);}
-function DH(c,d,b,a){CH(c,d);cI(c,c.f.c-1,b,a);}
-function FH(d,a){var b,c;while(a!==null&& !ud(a,d.ub())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return mT(b);}else{return (-1);}}a=ff(a);}return (-1);}
-function aI(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=br(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);kO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');hr(e,h,c,a,false);fI(e,a);if(e.b==(-1)){eI(e,0);}else{dI(e,a,false);if(e.b>=a){++e.b;}}}
-function bI(e,a,b){var c,d,f;c=jr(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}fI(e,d);}return c;}
-function cI(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
-function dI(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);kO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);mO(d,e);gr(c,a).ye(e);}
-function eI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){dI(b,b.b,false);}b.b=a;dI(b,b.b,true);}
-function fI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
-function gI(a){var b,c;if(xe(a)==1){c=ve(a);b=FH(this,c);if(b!=(-1)){eI(this,b);}}}
-function hI(a){return bI(this,gr(this,a),a);}
-function iI(a){return bI(this,a,fr(this,a));}
-function AH(){}
-_=AH.prototype=new Dq();_.wc=gI;_.de=hI;_.ee=iI;_.tN=agc+'StackPanel';_.tI=108;_.a=null;_.b=(-1);function jI(){}
-_=jI.prototype=new fU();_.tN=agc+'SuggestOracle$Request';_.tI=109;_.a=20;_.b=null;function lI(){}
-_=lI.prototype=new fU();_.tN=agc+'SuggestOracle$Response';_.tI=110;_.a=null;function qI(b,a){uI(a,b.Bd());vI(a,b.Ed());}
-function rI(a){return a.a;}
-function sI(a){return a.b;}
-function tI(b,a){b.df(rI(a));b.gf(sI(a));}
-function uI(a,b){a.a=b;}
-function vI(a,b){a.b=b;}
-function yI(b,a){BI(a,Fb(b.Dd(),49));}
-function zI(a){return a.a;}
-function AI(b,a){b.ff(zI(a));}
-function BI(a,b){a.a=b;}
-function DI(a){a.a=iA(new gA());}
-function EI(c){var a,b;DI(c);pr(c,c.a);aO(c,1);FN(c,'gwt-TabBar');oA(c.a,(aA(),bA));a=oz(new qw(),'&nbsp;',true);b=oz(new qw(),'&nbsp;',true);FN(a,'gwt-TabBarFirst');FN(b,'gwt-TabBarRest');a.qe('100%');b.qe('100%');jA(c.a,a);jA(c.a,b);a.qe('100%');c.a.ke(a,'100%');c.a.le(b,'100%');return c;}
-function FI(b,a){if(b.c===null){b.c=kJ(new jJ());}pY(b.c,a);}
-function aJ(b,a){if(a<0||a>dJ(b)){throw new fT();}}
-function bJ(b,a){if(a<(-1)||a>=dJ(b)){throw new fT();}}
-function dJ(a){return a.a.f.c-2;}
-function eJ(e,d,a,b){var c;aJ(e,b);if(a){c=nz(new qw(),d);}else{c=fC(new dC(),d);}lC(c,false);gC(c,e);FN(c,'gwt-TabBarItem');mA(e.a,c,b+1);}
-function fJ(b,a){var c;bJ(b,a);c=gr(b.a,a+1);if(c===b.b){b.b=null;}nA(b.a,c);}
-function gJ(b,a){bJ(b,a);if(b.c!==null){if(!mJ(b.c,b,a)){return false;}}hJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=gr(b.a,a+1);hJ(b,b.b,true);if(b.c!==null){nJ(b.c,b,a);}return true;}
-function hJ(c,a,b){if(a!==null){if(b){uN(a,'gwt-TabBarItem-selected');}else{AN(a,'gwt-TabBarItem-selected');}}}
-function iJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(gr(this.a,a)===b){gJ(this,a-1);return;}}}
-function CI(){}
-_=CI.prototype=new nr();_.zc=iJ;_.tN=agc+'TabBar';_.tI=111;_.b=null;_.c=null;function kJ(a){nY(a);return a;}
-function mJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);if(!b.vc(c,d)){return false;}}return true;}
-function nJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);b.qd(c,d);}}
-function jJ(){}
-_=jJ.prototype=new lY();_.tN=agc+'TabListenerCollection';_.tI=112;function CJ(a){a.b=yJ(new xJ());a.a=rJ(new qJ(),a.b);}
-function DJ(b){var a;CJ(b);a=sO(new qO());tO(a,b.b);tO(a,b.a);a.ke(b.a,'100%');b.b.Be('100%');FI(b.b,b);pr(b,a);FN(b,'gwt-TabPanel');FN(b.a,'gwt-TabPanelBottom');return b;}
-function EJ(c,d,b,a){cK(c,d,b,a,c.a.f.c);}
-function bK(b,a){return gr(b.a,a);}
-function aK(a,b){return fr(a.a,b);}
-function cK(d,e,c,a,b){tJ(d.a,e,c,a,b);}
-function dK(b,a){return b.a.de(a);}
-function eK(b,a){gJ(b.b,a);}
-function fK(){return ir(this.a);}
-function gK(a,b){return true;}
-function hK(a,b){Br(this.a,b);}
-function iK(a){return uJ(this.a,a);}
-function pJ(){}
-_=pJ.prototype=new nr();_.qc=fK;_.vc=gK;_.qd=hK;_.ee=iK;_.tN=agc+'TabPanel';_.tI=113;function rJ(b,a){vr(b);b.a=a;return b;}
-function tJ(e,f,d,a,b){var c;c=fr(e,f);if(c!=(-1)){uJ(e,f);if(c<b){b--;}}AJ(e.a,d,a,b);yr(e,f,b);}
-function uJ(b,c){var a;a=fr(b,c);if(a!=(-1)){BJ(b.a,a);return zr(b,c);}return false;}
-function vJ(){throw dW(new cW(),'Use TabPanel.clear() to alter the DeckPanel');}
-function wJ(a){return uJ(this,a);}
-function qJ(){}
-_=qJ.prototype=new ur();_.ab=vJ;_.ee=wJ;_.tN=agc+'TabPanel$TabbedDeckPanel';_.tI=114;_.a=null;function yJ(a){EI(a);return a;}
-function AJ(d,c,a,b){eJ(d,c,a,b);}
-function BJ(b,a){fJ(b,a);}
-function xJ(){}
-_=xJ.prototype=new CI();_.tN=agc+'TabPanel$UnmodifiableTabBar';_.tI=115;function kK(a){nY(a);return a;}
-function mK(f,e,d,a){var b,c;for(b=f.qc();b.kc();){c=Fb(b.sc(),51);c.xc(e,d,a);}}
-function jK(){}
-_=jK.prototype=new lY();_.tN=agc+'TableListenerCollection';_.tI=116;function qK(){qK=d3;BK();}
-function pK(a){qK();xK(a,he());FN(a,'gwt-TextArea');return a;}
-function rK(a){return DR(cL,a.ub());}
-function sK(a){return af(a.ub(),'rows');}
-function tK(a,b){wf(a.ub(),'cols',b);}
-function uK(b,a){wf(b.ub(),'rows',a);}
-function oK(){}
-_=oK.prototype=new wK();_.tN=agc+'TextArea';_.tI=117;function fL(){fL=d3;BK();}
-function eL(a){fL();xK(a,Fd());FN(a,'gwt-TextBox');return a;}
-function gL(b,a){wf(b.ub(),'size',a);}
-function vK(){}
-_=vK.prototype=new wK();_.tN=agc+'TextBox';_.tI=118;function tM(a){a.a=k1(new o0());}
-function uM(a){vM(a,rL(new qL()));return a;}
-function vM(b,a){tM(b);b.d=a;b.me(xd());Df(b.ub(),'position','relative');b.c=AQ((lu(),mu));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.ub(),b.c);aO(b,1021);Ef(b.c,6144);b.g=jL(new iL(),b);gM(b.g,b);FN(b,'gwt-Tree');return b;}
-function xM(c,a){var b;b=AL(new xL(),a);wM(c,b);return b;}
-function wM(b,a){kL(b.g,a);}
-function yM(b,a){if(b.f===null){b.f=oM(new nM());}pY(b.f,a);}
-function zM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){aM(DL(c.g,a));}}
-function BM(d,a,c,b){if(b===null||ud(b,c)){return;}BM(d,a,c,ff(b));pY(a,hc(b,hg));}
-function CM(e,d,b){var a,c;a=nY(new lY());BM(e,a,e.ub(),b);c=EM(e,a,0,d);if(c!==null){if(kf(FL(c),b)){fM(c,!c.f,true);return true;}else if(kf(c.ub(),b)){fN(e,c,true,!mN(e,b));return true;}}return false;}
-function DM(b,a){if(!a.f){return a;}return DM(b,DL(a,a.c.b-1));}
-function EM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(uY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=DL(h,d);if(ud(b.ub(),c)){g=EM(i,a,e+1,DL(h,d));if(g===null){return b;}return g;}}return EM(i,a,e+1,h);}
-function FM(b,a){if(b.f!==null){rM(b.f,a);}}
-function aN(b,a){return DL(b.g,a);}
-function bN(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[620],[20],[a.a.c],null);EX(a.a).Fe(b);return zP(a,b);}
-function cN(h,g){var a,b,c,d,e,f,i,j;c=EL(g);{f=g.d;a=wN(h);b=xN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);eR((lu(),mu),h.c);}}
-function dN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=CL(c,d);if(!a|| !d.f){if(b<c.c.b-1){fN(e,DL(c,b+1),true,true);}else{dN(e,c,false);}}else if(d.c.b>0){fN(e,DL(d,0),true,true);}}
-function eN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=CL(b,c);if(a>0){d=DL(b,a-1);fN(e,DM(e,d),true,true);}else{fN(e,b,true,true);}}
-function fN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){dM(d.b,false);}d.b=b;if(c&&d.b!==null){cN(d,d.b);dM(d.b,true);if(a&&d.f!==null){qM(d.f,d.b);}}}
-function iN(b,c){var a;a=Fb(q1(b.a,c),52);if(a===null){return false;}iM(a,null);return true;}
-function gN(b,a){mL(b.g,a);}
-function hN(a){while(a.g.c.b>0){gN(a,aN(a,0));}}
-function jN(b,a){if(a){eR((lu(),mu),b.c);}else{bR((lu(),mu),b.c);}}
-function kN(b,a){lN(b,a,true);}
-function lN(c,b,a){if(b===null){if(c.b===null){return;}dM(c.b,false);c.b=null;return;}fN(c,b,a,true);}
-function mN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
-function nN(){var a,b;for(b=bN(this);sP(b);){a=tP(b);a.uc();}yf(this.c,this);}
-function oN(){var a,b;for(b=bN(this);sP(b);){a=tP(b);a.Bc();}yf(this.c,null);}
-function pN(){return bN(this);}
-function qN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(mN(this,b)){}else{jN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.ub(),hg))){CM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){fN(this,DL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{eN(this,this.b);ye(c);break;}case 40:{dN(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){eM(this.b,false);}else{f=this.b.g;if(f!==null){kN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){eM(this.b,true);}else if(this.b.c.b>0){kN(this,DL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=nY(new lY());BM(this,a,this.ub(),ve(c));e=EM(this,a,0,this.g);if(e!==this.b){lN(this,e,true);}}}case 256:{break;}}this.e=d;}
-function rN(){jM(this.g);}
-function sN(a){return iN(this,a);}
-function hL(){}
-_=hL.prototype=new zO();_.kb=nN;_.mb=oN;_.qc=pN;_.wc=qN;_.fd=rN;_.ee=sN;_.tN=agc+'Tree';_.tI=119;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function yL(a){a.c=nY(new lY());a.i=mB(new xA());}
-function zL(d){var a,b,c,e;yL(d);d.me(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.ub(),d.e);td(d.ub(),d.b);td(c,d.i.ub());td(b,d.d);Df(d.d,'display','inline');Df(d.ub(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');kO(d.d,'gwt-TreeItem',true);return d;}
-function AL(b,a){zL(b);bM(b,a);return b;}
-function DL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(uY(b.c,a),52);}
-function CL(b,a){return vY(b.c,a);}
-function EL(a){var b;b=a.l;{return null;}}
-function FL(a){return a.i.ub();}
-function aM(a){if(a.g!==null){a.g.ae(a);}else if(a.j!==null){gN(a.j,a);}}
-function bM(b,a){iM(b,null);Af(b.d,a);}
-function cM(b,a){b.g=a;}
-function dM(b,a){if(b.h==a){return;}b.h=a;kO(b.d,'gwt-TreeItem-selected',a);}
-function eM(b,a){fM(b,a,true);}
-function fM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;kM(c);if(a&&c.j!==null){FM(c.j,c);}}
-function gM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){kN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){gM(Fb(uY(d.c,a),52),c);}kM(d);}
-function hM(a,b){a.k=b;}
-function iM(b,a){Af(b.d,'');b.l=a;}
-function kM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){mO(b.b,false);rQ((sL(),vL),b.i);return;}if(b.f){mO(b.b,true);rQ((sL(),wL),b.i);}else{mO(b.b,false);rQ((sL(),uL),b.i);}}
-function jM(c){var a,b;kM(c);for(a=0,b=c.c.b;a<b;++a){jM(Fb(uY(c.c,a),52));}}
-function lM(a){if(a.g!==null||a.j!==null){aM(a);}cM(a,this);pY(this.c,a);Df(a.ub(),'marginLeft','16px');td(this.b,a.ub());gM(a,this.j);if(this.c.b==1){kM(this);}}
-function mM(a){if(!tY(this.c,a)){return;}gM(a,null);nf(this.b,a.ub());cM(a,null);zY(this.c,a);if(this.c.b==0){kM(this);}}
-function xL(){}
-_=xL.prototype=new tN();_.y=lM;_.ae=mM;_.tN=agc+'TreeItem';_.tI=120;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function jL(b,a){b.a=a;zL(b);return b;}
-function kL(b,a){if(a.g!==null||a.j!==null){aM(a);}td(b.a.ub(),a.ub());gM(a,b.j);cM(a,null);pY(b.c,a);Cf(a.ub(),'marginLeft',0);}
-function mL(b,a){if(!tY(b.c,a)){return;}gM(a,null);cM(a,null);zY(b.c,a);nf(b.a.ub(),a.ub());}
-function nL(a){kL(this,a);}
-function oL(a){mL(this,a);}
-function iL(){}
-_=iL.prototype=new xL();_.y=nL;_.ae=oL;_.tN=agc+'Tree$1';_.tI=121;function sL(){sL=d3;tL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';uL=qQ(new pQ(),tL,0,0,16,16);vL=qQ(new pQ(),tL,16,0,16,16);wL=qQ(new pQ(),tL,32,0,16,16);}
-function rL(a){sL();return a;}
-function qL(){}
-_=qL.prototype=new fU();_.tN=agc+'TreeImages_generatedBundle';_.tI=122;var tL,uL,vL,wL;function oM(a){nY(a);return a;}
-function qM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.rd(b);}}
-function rM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.sd(b);}}
-function nM(){}
-_=nM.prototype=new lY();_.tN=agc+'TreeListenerCollection';_.tI=123;function rO(a){a.a=(xz(),zz);a.b=(aA(),dA);}
-function sO(a){Dp(a);rO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function tO(b,d){var a,c;c=fe();a=vO(b);td(c,a);td(b.d,c);ar(b,d,a);}
-function vO(b){var a;a=ee();Fp(b,a,b.a);aq(b,a,b.b);return a;}
-function wO(b,a){b.a=a;}
-function xO(b,a){b.b=a;}
-function yO(c){var a,b;b=ff(c.ub());a=jr(this,c);if(a){nf(this.d,ff(b));}return a;}
-function qO(){}
-_=qO.prototype=new Cp();_.ee=yO;_.tN=agc+'VerticalPanel';_.tI=124;function dP(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[620],[20],[4],null);return b;}
-function eP(a,b){iP(a,b,a.c);}
-function gP(b,a){if(a<0||a>=b.c){throw new fT();}return b.a[a];}
-function hP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
-function iP(d,e,a){var b,c;if(a<0||a>d.c){throw new fT();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[620],[20],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
-function jP(a){return CO(new BO(),a);}
-function kP(c,b){var a;if(b<0||b>=c.c){throw new fT();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
-function lP(b,c){var a;a=hP(b,c);if(a==(-1)){throw new r2();}kP(b,a);}
-function AO(){}
-_=AO.prototype=new fU();_.tN=agc+'WidgetCollection';_.tI=125;_.a=null;_.b=null;_.c=0;function CO(b,a){b.b=a;return b;}
-function EO(a){return a.a<a.b.c-1;}
-function FO(a){if(a.a>=a.b.c){throw new r2();}return a.b.a[++a.a];}
-function aP(){return EO(this);}
-function bP(){return FO(this);}
-function cP(){if(this.a<0||this.a>=this.b.c){throw new cT();}this.b.b.ee(this.b.a[this.a--]);}
-function BO(){}
-_=BO.prototype=new fU();_.kc=aP;_.sc=bP;_.ce=cP;_.tN=agc+'WidgetCollection$WidgetIterator';_.tI=126;_.a=(-1);function yP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[620],[20],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
-function zP(b,a){return pP(new nP(),a,b);}
-function oP(a){a.e=a.c;{rP(a);}}
-function pP(a,b,c){a.c=b;a.d=c;oP(a);return a;}
-function rP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
-function sP(a){return a.a<a.c.a;}
-function tP(a){var b;if(!sP(a)){throw new r2();}a.b=a.a;b=a.c[a.a];rP(a);return b;}
-function uP(){return sP(this);}
-function vP(){return tP(this);}
-function wP(){if(this.b<0){throw new cT();}if(!this.f){this.e=yP(this.e);this.f=true;}iN(this.d,this.c[this.b]);this.b=(-1);}
-function nP(){}
-_=nP.prototype=new fU();_.kc=uP;_.sc=vP;_.ce=wP;_.tN=agc+'WidgetIterators$1';_.tI=127;_.a=(-1);_.b=(-1);_.f=false;function lQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
-function nQ(c,f,b,e,g,a){var d;d=ce();Af(d,oQ(c,f,b,e,g,a));return df(d);}
-function oQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
-function kQ(){}
-_=kQ.prototype=new fU();_.tN=bgc+'ClippedImageImpl';_.tI=128;function qQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
-function rQ(b,a){rB(a,b.d,b.b,b.c,b.e,b.a);}
-function pQ(){}
-_=pQ.prototype=new rp();_.tN=bgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function jR(){jR=d3;mR=aR(new FQ());nR=mR!==null?iR(new tQ()):mR;}
-function iR(a){jR();return a;}
-function kR(a){a.blur();}
-function lR(a){a.focus();}
-function oR(a,b){a.tabIndex=b;}
-function tQ(){}
-_=tQ.prototype=new fU();_.F=kR;_.rb=lR;_.se=oR;_.tN=bgc+'FocusImpl';_.tI=130;var mR,nR;function xQ(){xQ=d3;jR();}
-function vQ(a){a.a=yQ(a);a.b=zQ(a);a.c=dR(a);}
-function wQ(a){xQ();iR(a);vQ(a);return a;}
-function yQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
-function zQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
-function AQ(c){var a=$doc.createElement('div');var b=c.gb();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
-function BQ(a){a.firstChild.blur();}
-function CQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
-function DQ(a){a.firstChild.focus();}
-function EQ(a,b){a.firstChild.tabIndex=b;}
-function uQ(){}
-_=uQ.prototype=new tQ();_.F=BQ;_.gb=CQ;_.rb=DQ;_.se=EQ;_.tN=bgc+'FocusImplOld';_.tI=131;function cR(){cR=d3;xQ();}
-function aR(a){cR();wQ(a);return a;}
-function bR(b,a){$wnd.setTimeout(function(){a.firstChild.blur();},0);}
-function dR(b){return function(){var a=this.firstChild;$wnd.setTimeout(function(){a.focus();},0);};}
-function eR(b,a){$wnd.setTimeout(function(){a.firstChild.focus();},0);}
-function fR(a){bR(this,a);}
-function gR(){var a=$doc.createElement('input');a.type='text';a.style.opacity=0;a.style.zIndex= -1;a.style.height='1px';a.style.width='1px';a.style.overflow='hidden';a.style.position='absolute';return a;}
-function hR(a){eR(this,a);}
-function FQ(){}
-_=FQ.prototype=new uQ();_.F=fR;_.gb=gR;_.rb=hR;_.tN=bgc+'FocusImplSafari';_.tI=132;function sR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
-function tR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.ad();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Fc();};}
-function uR(c,b,a){b.enctype=a;b.encoding=a;}
-function vR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
-function wR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
-function pR(){}
-_=pR.prototype=new fU();_.tN=bgc+'FormPanelImpl';_.tI=133;function zR(a){return xd();}
-function xR(){}
-_=xR.prototype=new fU();_.tN=bgc+'PopupImpl';_.tI=134;function CR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
-function DR(b,a){return CR(b,a);}
-function ER(d,a,c,b){a.setSelectionRange(c,c+b);}
-function AR(){}
-_=AR.prototype=new fU();_.tN=bgc+'TextBoxImpl';_.tI=135;function cS(){}
-_=cS.prototype=new fU();_.tN=cgc+'OutputStream';_.tI=136;function aS(){}
-_=aS.prototype=new cS();_.tN=cgc+'FilterOutputStream';_.tI=137;function eS(){}
-_=eS.prototype=new aS();_.tN=cgc+'PrintStream';_.tI=138;function gS(){}
-_=gS.prototype=new kU();_.tN=dgc+'ArrayStoreException';_.tI=139;function kS(){kS=d3;lS=jS(new iS(),false);mS=jS(new iS(),true);}
-function jS(a,b){kS();a.a=b;return a;}
-function nS(a){return ac(a,55)&&Fb(a,55).a==this.a;}
-function oS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
-function pS(){return this.a?'true':'false';}
-function qS(a){kS();return a?mS:lS;}
-function iS(){}
-_=iS.prototype=new fU();_.eQ=nS;_.hC=oS;_.tS=pS;_.tN=dgc+'Boolean';_.tI=140;_.a=false;var lS,mS;function uS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+vT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
-function vS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
-function xS(b,a){lU(b,a);return b;}
-function wS(){}
-_=wS.prototype=new kU();_.tN=dgc+'ClassCastException';_.tI=141;function aT(b,a){lU(b,a);return b;}
-function FS(){}
-_=FS.prototype=new kU();_.tN=dgc+'IllegalArgumentException';_.tI=142;function dT(b,a){lU(b,a);return b;}
-function cT(){}
-_=cT.prototype=new kU();_.tN=dgc+'IllegalStateException';_.tI=143;function gT(b,a){lU(b,a);return b;}
-function fT(){}
-_=fT.prototype=new kU();_.tN=dgc+'IndexOutOfBoundsException';_.tI=144;function FT(){FT=d3;{eU();}}
-function aU(a){FT();return isNaN(a);}
-function bU(e,d,c,h){FT();var a,b,f,g;if(e===null){throw DT(new CT(),'Unable to parse null');}b=cV(e);f=b>0&&zU(e,0)==45?1:0;for(a=f;a<b;a++){if(uS(zU(e,a),d)==(-1)){throw DT(new CT(),'Could not parse '+e+' in radix '+d);}}g=cU(e,d);if(aU(g)){throw DT(new CT(),'Unable to parse '+e);}else if(g<c||g>h){throw DT(new CT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
-function cU(b,a){FT();return parseInt(b,a);}
-function eU(){FT();dU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
-var dU=null;function jT(){jT=d3;FT();}
-function mT(a){jT();return nT(a,10);}
-function nT(b,a){jT();return cc(bU(b,a,(-2147483648),2147483647));}
-function oT(a){jT();return uV(a);}
-var kT=2147483647,lT=(-2147483648);function qT(){qT=d3;FT();}
-function rT(a){qT();return vV(a);}
-function uT(a){return a<0?-a:a;}
-function vT(a,b){return a<b?a:b;}
-function wT(){}
-_=wT.prototype=new kU();_.tN=dgc+'NegativeArraySizeException';_.tI=145;function zT(b,a){lU(b,a);return b;}
-function yT(){}
-_=yT.prototype=new kU();_.tN=dgc+'NullPointerException';_.tI=146;function DT(b,a){aT(b,a);return b;}
-function CT(){}
-_=CT.prototype=new FS();_.tN=dgc+'NumberFormatException';_.tI=147;function zU(b,a){return b.charCodeAt(a);}
-function BU(f,c){var a,b,d,e,g,h;h=cV(f);e=cV(c);b=vT(h,e);for(a=0;a<b;a++){g=zU(f,a);d=zU(c,a);if(g!=d){return g-d;}}return h-e;}
-function CU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
-function EU(b,a){if(!ac(a,1))return false;return nV(b,a);}
-function DU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
-function FU(b,a){return b.indexOf(String.fromCharCode(a));}
-function aV(b,a){return b.indexOf(a);}
-function bV(c,b,a){return c.indexOf(b,a);}
-function cV(a){return a.length;}
-function dV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
-function eV(b,a){return fV(b,a,0);}
-function fV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=mV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
-function gV(b,a){return aV(b,a)==0;}
-function hV(b,a){return b.substr(a,b.length-a);}
-function iV(c,a,b){return c.substr(a,b-a);}
-function jV(d){var a,b,c;c=cV(d);a=yb('[C',[611],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=zU(d,b);return a;}
-function kV(a){return a.toLowerCase();}
-function lV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
-function mV(a){return yb('[Ljava.lang.String;',[608],[1],[a],null);}
-function nV(a,b){return String(a)==b;}
-function oV(a){if(ac(a,1)){return BU(this,Fb(a,1));}else{throw xS(new wS(),'Cannot compare '+a+" with String '"+this+"'");}}
-function pV(a){return EU(this,a);}
-function rV(){var a=qV;if(!a){a=qV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
-function sV(){return this;}
-function tV(a){return String.fromCharCode(a);}
-function uV(a){return ''+a;}
-function vV(a){return ''+a;}
-function wV(a){return a!==null?a.tS():'null';}
-_=String.prototype;_.bb=oV;_.eQ=pV;_.hC=rV;_.tS=sV;_.tN=dgc+'String';_.tI=2;var qV=null;function qU(a){tU(a);return a;}
-function rU(a,b){return sU(a,tV(b));}
-function sU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
-function tU(a){uU(a,'');}
-function uU(b,a){b.js=[a];b.length=a.length;}
-function wU(a){a.tc();return a.js[0];}
-function xU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
-function yU(){return wU(this);}
-function pU(){}
-_=pU.prototype=new fU();_.tc=xU;_.tS=yU;_.tN=dgc+'StringBuffer';_.tI=148;function yV(){yV=d3;BV=new eS();}
-function zV(){yV();return new Date().getTime();}
-function AV(a){yV();return B(a);}
-var BV;function dW(b,a){lU(b,a);return b;}
-function cW(){}
-_=cW.prototype=new kU();_.tN=dgc+'UnsupportedOperationException';_.tI=149;function pW(b,a){b.c=a;return b;}
-function rW(a){return a.a<a.c.Ce();}
-function sW(){return rW(this);}
-function tW(){if(!rW(this)){throw new r2();}return this.c.hc(this.b=this.a++);}
-function uW(){if(this.b<0){throw new cT();}this.c.de(this.b);this.a=this.b;this.b=(-1);}
-function oW(){}
-_=oW.prototype=new fU();_.kc=sW;_.sc=tW;_.ce=uW;_.tN=egc+'AbstractList$IteratorImpl';_.tI=150;_.a=0;_.b=(-1);function DX(f,d,e){var a,b,c;for(b=f1(f.ob());D0(b);){a=E0(b);c=a.yb();if(d===null?c===null:d.eQ(c)){if(e){F0(b);}return a;}}return null;}
-function EX(b){var a;a=b.ob();return FW(new EW(),b,a);}
-function FX(b){var a;a=p1(b);return oX(new nX(),b,a);}
-function aY(a){return DX(this,a,false)!==null;}
-function bY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=EX(this);e=f.rc();if(!iY(c,e)){return false;}for(a=bX(c);iX(a);){b=jX(a);h=this.ic(b);g=f.ic(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
-function cY(b){var a;a=DX(this,b,false);return a===null?null:a.ec();}
-function dY(){var a,b,c;b=0;for(c=f1(this.ob());D0(c);){a=E0(c);b+=a.hC();}return b;}
-function eY(){return EX(this);}
-function fY(){var a,b,c,d;d='{';a=false;for(c=f1(this.ob());D0(c);){b=E0(c);if(a){d+=', ';}else{a=true;}d+=wV(b.yb());d+='=';d+=wV(b.ec());}return d+'}';}
-function DW(){}
-_=DW.prototype=new fU();_.db=aY;_.eQ=bY;_.ic=cY;_.hC=dY;_.rc=eY;_.tS=fY;_.tN=egc+'AbstractMap';_.tI=151;function iY(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ce()!=e.Ce()){return false;}for(a=c.qc();a.kc();){d=a.sc();if(!e.eb(d)){return false;}}return true;}
-function jY(a){return iY(this,a);}
-function kY(){var a,b,c;a=0;for(b=this.qc();b.kc();){c=b.sc();if(c!==null){a+=c.hC();}}return a;}
-function gY(){}
-_=gY.prototype=new fW();_.eQ=jY;_.hC=kY;_.tN=egc+'AbstractSet';_.tI=152;function FW(b,a,c){b.a=a;b.b=c;return b;}
-function bX(b){var a;a=f1(b.b);return gX(new fX(),b,a);}
-function cX(a){return this.a.db(a);}
-function dX(){return bX(this);}
-function eX(){return this.b.a.c;}
-function EW(){}
-_=EW.prototype=new gY();_.eb=cX;_.qc=dX;_.Ce=eX;_.tN=egc+'AbstractMap$1';_.tI=153;function gX(b,a,c){b.a=c;return b;}
-function iX(a){return D0(a.a);}
-function jX(b){var a;a=E0(b.a);return a.yb();}
-function kX(){return iX(this);}
-function lX(){return jX(this);}
-function mX(){F0(this.a);}
-function fX(){}
-_=fX.prototype=new fU();_.kc=kX;_.sc=lX;_.ce=mX;_.tN=egc+'AbstractMap$2';_.tI=154;function oX(b,a,c){b.a=a;b.b=c;return b;}
-function qX(b){var a;a=f1(b.b);return vX(new uX(),b,a);}
-function rX(a){return o1(this.a,a);}
-function sX(){return qX(this);}
-function tX(){return this.b.a.c;}
-function nX(){}
-_=nX.prototype=new fW();_.eb=rX;_.qc=sX;_.Ce=tX;_.tN=egc+'AbstractMap$3';_.tI=155;function vX(b,a,c){b.a=c;return b;}
-function xX(a){return D0(a.a);}
-function yX(a){var b;b=E0(a.a).ec();return b;}
-function zX(){return xX(this);}
-function AX(){return yX(this);}
-function BX(){F0(this.a);}
-function uX(){}
-_=uX.prototype=new fU();_.kc=zX;_.sc=AX;_.ce=BX;_.tN=egc+'AbstractMap$4';_.tI=156;function jZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.cb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
-function kZ(a){jZ(a,a.a,(wZ(),xZ));}
-function nZ(){nZ=d3;e2(new d2());oZ=k1(new o0());nY(new lY());}
-function pZ(c,d){nZ();var a,b;b=c.b;for(a=0;a<b;a++){AY(c,a,d[a]);}}
-function qZ(a){nZ();var b;b=a.Ee();kZ(b);pZ(a,b);}
-var oZ;function wZ(){wZ=d3;xZ=new tZ();}
-var xZ;function vZ(a,b){return Fb(a,34).bb(b);}
-function tZ(){}
-_=tZ.prototype=new fU();_.cb=vZ;_.tN=egc+'Comparators$1';_.tI=157;function BZ(){BZ=d3;c0=zb('[Ljava.lang.String;',608,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);d0=zb('[Ljava.lang.String;',608,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
-function zZ(a){BZ();EZ(a);return a;}
-function AZ(b,a){BZ();FZ(b,a);return b;}
-function CZ(c,a){var b,d;d=DZ(c);b=DZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
-function DZ(a){return a.jsdate.getTime();}
-function EZ(a){a.jsdate=new Date();}
-function FZ(b,a){b.jsdate=new Date(a);}
-function a0(a){return a.jsdate.toLocaleString();}
-function b0(h){var a=h.jsdate;var g=j0;var b=f0(h.jsdate.getDay());var e=i0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
-function e0(a){return CZ(this,Fb(a,59));}
-function f0(a){BZ();return c0[a];}
-function g0(a){return ac(a,59)&&DZ(this)==DZ(Fb(a,59));}
-function h0(){return cc(DZ(this)^DZ(this)>>>32);}
-function i0(a){BZ();return d0[a];}
-function j0(a){BZ();if(a<10){return '0'+a;}else{return uV(a);}}
-function k0(){return b0(this);}
-function yZ(){}
-_=yZ.prototype=new fU();_.bb=e0;_.eQ=g0;_.hC=h0;_.tS=k0;_.tN=egc+'Date';_.tI=158;var c0,d0;function m1(){m1=d3;t1=z1();}
-function j1(a){{l1(a);}}
-function k1(a){m1();j1(a);return a;}
-function l1(a){a.a=gb();a.d=ib();a.b=hc(t1,cb);a.c=0;}
-function n1(b,a){if(ac(a,1)){return D1(b.d,Fb(a,1))!==t1;}else if(a===null){return b.b!==t1;}else{return C1(b.a,a,a.hC())!==t1;}}
-function o1(a,b){if(a.b!==t1&&B1(a.b,b)){return true;}else if(y1(a.d,b)){return true;}else if(w1(a.a,b)){return true;}return false;}
-function p1(a){return d1(new z0(),a);}
-function q1(c,a){var b;if(ac(a,1)){b=D1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=C1(c.a,a,a.hC());}return b===t1?null:b;}
-function r1(c,a,d){var b;if(ac(a,1)){b=a2(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=F1(c.a,a,d,a.hC());}if(b===t1){++c.c;return null;}else{return b;}}
-function s1(c,a){var b;if(ac(a,1)){b=c2(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(t1,cb);}else{b=b2(c.a,a,a.hC());}if(b===t1){return null;}else{--c.c;return b;}}
-function u1(e,c){m1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
-function v1(d,a){m1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=s0(c.substring(1),e);a.C(b);}}}
-function w1(f,h){m1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ec();if(B1(h,d)){return true;}}}}return false;}
-function x1(a){return n1(this,a);}
-function y1(c,d){m1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(B1(d,a)){return true;}}}return false;}
-function z1(){m1();}
-function A1(){return p1(this);}
-function B1(a,b){m1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
-function E1(a){return q1(this,a);}
-function C1(f,h,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){return c.ec();}}}}
-function D1(b,a){m1();return b[':'+a];}
-function F1(f,h,j,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){var i=c.ec();c.we(j);return i;}}}else{a=f[e]=[];}var c=s0(h,j);a.push(c);}
-function a2(c,a,d){m1();a=':'+a;var b=c[a];c[a]=d;return b;}
-function b2(f,h,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ec();}}}}
-function c2(c,a){m1();a=':'+a;var b=c[a];delete c[a];return b;}
-function o0(){}
-_=o0.prototype=new DW();_.db=x1;_.ob=A1;_.ic=E1;_.tN=egc+'HashMap';_.tI=159;_.a=null;_.b=null;_.c=0;_.d=null;var t1;function q0(b,a,c){b.a=a;b.b=c;return b;}
-function s0(a,b){return q0(new p0(),a,b);}
-function t0(b){var a;if(ac(b,60)){a=Fb(b,60);if(B1(this.a,a.yb())&&B1(this.b,a.ec())){return true;}}return false;}
-function u0(){return this.a;}
-function v0(){return this.b;}
-function w0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
-function x0(a){var b;b=this.b;this.b=a;return b;}
-function y0(){return this.a+'='+this.b;}
-function p0(){}
-_=p0.prototype=new fU();_.eQ=t0;_.yb=u0;_.ec=v0;_.hC=w0;_.we=x0;_.tS=y0;_.tN=egc+'HashMap$EntryImpl';_.tI=160;_.a=null;_.b=null;function d1(b,a){b.a=a;return b;}
-function f1(a){return B0(new A0(),a.a);}
-function g1(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.yb();if(n1(this.a,b)){d=q1(this.a,b);return B1(a.ec(),d);}}return false;}
-function h1(){return f1(this);}
-function i1(){return this.a.c;}
-function z0(){}
-_=z0.prototype=new gY();_.eb=g1;_.qc=h1;_.Ce=i1;_.tN=egc+'HashMap$EntrySet';_.tI=161;function B0(c,b){var a;c.c=b;a=nY(new lY());if(c.c.b!==(m1(),t1)){pY(a,q0(new p0(),null,c.c.b));}v1(c.c.d,a);u1(c.c.a,a);c.a=a.qc();return c;}
-function D0(a){return a.a.kc();}
-function E0(a){return a.b=Fb(a.a.sc(),60);}
-function F0(a){if(a.b===null){throw dT(new cT(),'Must call next() before remove().');}else{a.a.ce();s1(a.c,a.b.yb());a.b=null;}}
-function a1(){return D0(this);}
-function b1(){return E0(this);}
-function c1(){F0(this);}
-function A0(){}
-_=A0.prototype=new fU();_.kc=a1;_.sc=b1;_.ce=c1;_.tN=egc+'HashMap$EntrySetIterator';_.tI=162;_.a=null;_.b=null;function e2(a){a.a=k1(new o0());return a;}
-function f2(c,a){var b;b=r1(c.a,a,qS(true));return b===null;}
-function h2(a){return bX(EX(a.a));}
-function i2(a){return f2(this,a);}
-function j2(a){return n1(this.a,a);}
-function k2(){return h2(this);}
-function l2(){return this.a.c;}
-function m2(){return EX(this.a).tS();}
-function d2(){}
-_=d2.prototype=new gY();_.C=i2;_.eb=j2;_.qc=k2;_.Ce=l2;_.tS=m2;_.tN=egc+'HashSet';_.tI=163;_.a=null;function s2(b,a){lU(b,a);return b;}
-function r2(){}
-_=r2.prototype=new kU();_.tN=egc+'NoSuchElementException';_.tI=164;function x2(a){a.a=nY(new lY());return a;}
-function y2(b,a){return pY(b.a,a);}
-function A2(a){return a.a.qc();}
-function B2(a,b){oY(this.a,a,b);}
-function C2(a){return y2(this,a);}
-function D2(a){return tY(this.a,a);}
-function E2(a){return uY(this.a,a);}
-function F2(){return A2(this);}
-function a3(a){return yY(this.a,a);}
-function b3(){return this.a.b;}
-function c3(){return this.a.Ee();}
-function w2(){}
-_=w2.prototype=new nW();_.B=B2;_.C=C2;_.eb=D2;_.hc=E2;_.qc=F2;_.de=a3;_.Ce=b3;_.Ee=c3;_.tN=egc+'Vector';_.tI=165;_.a=null;function d5(){d5=d3;f5=k1(new o0());}
-function c5(a){d5();return a;}
-function e5(){}
-function t4(){}
-_=t4.prototype=new nr();_.md=e5;_.tN=fgc+'JBRMSFeature';_.tI=166;var f5;function k3(){k3=d3;d5();}
-function j3(a){k3();c5(a);a.a=DJ(new pJ());a.a.Be('100%');a.a.qe('100%');EJ(a.a,i9(new s8()),"<img src='images/category_small.gif'/>Manage categories",true);EJ(a.a,z9(new l9()),"<img src='images/status_small.gif'/>Manage states",true);EJ(a.a,A7(new w6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);EJ(a.a,n8(new E7()),"<img src='images/backup_small.gif'/>Import Export",true);eK(a.a,0);pr(a,a.a);return a;}
-function l3(){k3();return g3(new f3(),'Admin','Administer the repository');}
-function m3(){}
-function e3(){}
-_=e3.prototype=new t4();_.md=m3;_.tN=fgc+'AdminFeature';_.tI=167;_.a=null;function v4(c,b,a){c.c=b;c.a=a;return c;}
-function x4(a){if(a.b!==null)return a.b;return a.b=a.hb();}
-function u4(){}
-_=u4.prototype=new fU();_.tN=fgc+'JBRMSFeature$ComponentInfo';_.tI=168;_.a=null;_.b=null;_.c=null;function g3(c,a,b){v4(c,a,b);return c;}
-function i3(){return j3(new e3());}
-function f3(){}
-_=f3.prototype=new u4();_.hb=i3;_.tN=fgc+'AdminFeature$1';_.tI=169;function t3(){t3=d3;d5();}
-function s3(a){t3();c5(a);pr(a,nKb(new vIb()));return a;}
-function u3(){t3();return p3(new o3(),'Deployment','Configure and view frozen snapshots of packages.');}
-function v3(){}
-function n3(){}
-_=n3.prototype=new t4();_.md=v3;_.tN=fgc+'DeploymentManagementFeature';_.tI=170;function p3(c,a,b){v4(c,a,b);return c;}
-function r3(){return s3(new n3());}
-function o3(){}
-_=o3.prototype=new u4();_.hb=r3;_.tN=fgc+'DeploymentManagementFeature$1';_.tI=171;function C3(){C3=d3;d5();}
-function B3(a){C3();c5(a);pr(a,D3(a));return a;}
-function D3(a){a.a=Ev(new Cv(),'welcome.html');FN(a.a,'welcome-Page');a.a.ye(true);return a.a;}
-function E3(){C3();return y3(new x3(),'Info','JBoss Rules Managment System.');}
-function F3(){}
-function w3(){}
-_=w3.prototype=new t4();_.md=F3;_.tN=fgc+'Info';_.tI=172;_.a=null;function y3(c,a,b){v4(c,a,b);return c;}
-function A3(){return B3(new w3());}
-function x3(){}
-_=x3.prototype=new u4();_.hb=A3;_.tN=fgc+'Info$1';_.tI=173;function k4(a){a.c=mz(new qw());a.d=D4(new B4());a.g=ys(new ps());}
-function l4(a){k4(a);return a;}
-function m4(a){BXb(lMb(),c4(new b4(),a));}
-function o4(b,c){var a;a=a5(b.d,c);if(a===null){q4(b);return;}r4(b,a,false);}
-function p4(b){var a,c;A4(b.d);b.h=ys(new ps());FN(b.h,'ks-Sink');c=sO(new qO());c.Be('100%');tO(c,b.c);tO(c,b.h);FN(b.c,'ks-Info');zs(b.g,b.d,(As(),et));zs(b.g,c,(As(),at));Es(b.g,b.d,(aA(),dA));Fs(b.g,c,'100%');Bg(b);b.e=p5(new g5());b.f=a6(new s5());mp(tG(),b.e);mp(tG(),b.g);mp(tG(),b.f);b.f.Be('100%');b.e.ye(false);b.g.ye(false);b.f.ye(false);m4(b);a=Dg();if(cV(a)>0)o4(b,a);else q4(b);}
-function r4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){Cs(c.h,c.b);}c.b=x4(b);b5(c.d,b.c);qz(c.c,b.a);if(a)ah(b.c);zs(c.h,c.b,(As(),at));Fs(c.h,c.b,'100%');Es(c.h,c.b,(aA(),dA));c.b.md();}
-function q4(a){r4(a,a5(a.d,'Info'),false);}
-function s4(a){o4(this,a);}
-function a4(){}
-_=a4.prototype=new fU();_.bd=s4;_.tN=fgc+'JBRMSEntryPoint';_.tI=174;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function xcb(b,a){if(ac(a,69)){zcb();}else if(ac(a,70)){ybb(Fb(a,70));}else{xbb(a.zb());}}
-function ycb(a){xcb(this,a);}
-function zcb(){var a;a=rcb(new mcb(),'images/warning-large.png','Session expired');tcb(a,nz(new qw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));wE(a,40,40);zE(a);sdb();}
-function vcb(){}
-_=vcb.prototype=new fU();_.Dc=ycb;_.tN=igc+'GenericCallback';_.tI=175;function c4(b,a){b.a=a;return b;}
-function e4(a){var b;b=Fb(a,1);if(b!==null){r5(this.a.e,b);this.a.e.ye(true);this.a.g.ye(true);this.a.f.ye(false);}else{this.a.f.ye(true);e6(this.a.f,g4(new f4(),this));}}
-function b4(){}
-_=b4.prototype=new vcb();_.pd=e4;_.tN=fgc+'JBRMSEntryPoint$1';_.tI=176;function g4(b,a){b.a=a;return b;}
-function i4(a){r5(a.a.a.e,d6(a.a.a.f));a.a.a.e.ye(true);a.a.a.f.ye(false);a.a.a.g.ye(true);}
-function j4(){i4(this);}
-function f4(){}
-_=f4.prototype=new fU();_.pb=j4;_.tN=fgc+'JBRMSEntryPoint$2';_.tI=177;function A4(a){E4(a,E3());E4(a,v6());E4(a,m6());E4(a,u3());E4(a,l3());}
-function C4(a){a.a=sO(new qO());a.c=nY(new lY());}
-function D4(a){C4(a);pr(a,a.a);FN(a,'ks-List');return a;}
-function E4(d,a){var b,c;c=a.c;b=sA(new qA(),c,c);FN(b,'ks-SinkItem');tO(d.a,b);pY(d.c,a);}
-function a5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(uY(d.c,a),61);if(EU(b.c,c))return b;}return null;}
-function b5(d,c){var a,b;if(d.b!=(-1))AN(gr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(uY(d.c,a),61);if(EU(b.c,c)){d.b=a;uN(gr(d.a,d.b),'ks-SinkItem-selected');return;}}}
-function B4(){}
-_=B4.prototype=new nr();_.tN=fgc+'JBRMSFeatureList';_.tI=178;_.b=(-1);function p5(a){a.a=mz(new qw());pr(a,a.a);return a;}
-function r5(b,d){var a,c;a=qU(new pU());sU(a,"<div id='user_info'>");sU(a,'Welcome: &nbsp;'+d);sU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");sU(a,'<\/div>');qz(b.a,wU(a));c=i5(new h5(),b);mh(c,300000);}
-function g5(){}
-_=g5.prototype=new nr();_.tN=fgc+'LoggedInUserInfo';_.tI=179;_.a=null;function j5(){j5=d3;kh();}
-function i5(b,a){j5();ih(b);return b;}
-function k5(){BXb(lMb(),new l5());}
-function h5(){}
-_=h5.prototype=new dh();_.fe=k5;_.tN=fgc+'LoggedInUserInfo$1';_.tI=180;function n5(a){}
-function o5(a){if(a===null){zcb();}}
-function l5(){}
-_=l5.prototype=new fU();_.Dc=n5;_.pd=o5;_.tN=fgc+'LoggedInUserInfo$2';_.tI=181;function a6(c){var a,b;c.a=ccb(new Fbb(),'images/login.gif','Please enter your details');c.c=eL(new vK());c.c.re(1);dcb(c.a,'User name:',c.c);b=iE(new hE());b.re(2);dcb(c.a,'Password:',b);a=zp(new tp(),'Login');a.re(3);dcb(c.a,'',a);a.x(u5(new t5(),c,b));pr(c,c.a);c.c.oe(true);FN(c,'login-Form');return c;}
-function c6(c,a,d,b){oMb(CK(d),CK(b),C5(new B5(),c,a));}
-function d6(a){return CK(a.c);}
-function e6(b,a){b.b=a;}
-function s5(){}
-_=s5.prototype=new nr();_.tN=fgc+'LoginWidget';_.tI=182;_.a=null;_.b=null;_.c=null;function u5(b,a,c){b.a=a;b.b=c;return b;}
-function w5(a){wdb('Logging in...');fg(y5(new x5(),this,this.b));}
-function t5(){}
-_=t5.prototype=new fU();_.zc=w5;_.tN=fgc+'LoginWidget$1';_.tI=183;function y5(b,a,c){b.a=a;b.b=c;return b;}
-function A5(){c6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
-function x5(){}
-_=x5.prototype=new fU();_.pb=A5;_.tN=fgc+'LoginWidget$2';_.tI=184;function C5(b,a,c){b.a=c;return b;}
-function E5(c,a){var b;sdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{i4(c.a);}}
-function F5(a){E5(this,a);}
-function B5(){}
-_=B5.prototype=new vcb();_.pd=F5;_.tN=fgc+'LoginWidget$3';_.tI=185;function l6(){l6=d3;d5();}
-function k6(b){var a;l6();c5(b);a=rIb(new kIb());uIb(a,f5);pr(b,a);return b;}
-function m6(){l6();return h6(new g6(),'Packages','Configure and view packages of business rule assets.');}
-function n6(){}
-function f6(){}
-_=f6.prototype=new t4();_.md=n6;_.tN=fgc+'PackageManagementFeature';_.tI=186;function h6(c,a,b){v4(c,a,b);return c;}
-function j6(){return k6(new f6());}
-function g6(){}
-_=g6.prototype=new u4();_.hb=j6;_.tN=fgc+'PackageManagementFeature$1';_.tI=187;function u6(){u6=d3;d5();}
-function t6(b){var a;u6();c5(b);a=gcc(new cbc());kcc(a,f5);pr(b,a);return b;}
-function v6(){u6();return q6(new p6(),'Rules','Find and edit rules.');}
-function o6(){}
-_=o6.prototype=new t4();_.tN=fgc+'RulesFeature';_.tI=188;function q6(c,a,b){v4(c,a,b);return c;}
-function s6(){return t6(new o6());}
-function p6(){}
-_=p6.prototype=new u4();_.hb=s6;_.tN=fgc+'RulesFeature$1';_.tI=189;function A7(a){var b;b=ccb(new Fbb(),'images/backup_large.png','Manage Archived Assets');a.a=iA(new gA());a.a.Be('100%');gcb(b,a.a);a.b=jdc(new ncc(),new x6(),'archivedrulelist');pdc(a.b,D7(a));jA(a.a,a.b);y7(D7(a));gcb(b,nz(new qw(),'<hr/>'));gcb(b,C7(a));pr(a,b);return a;}
-function C7(d){var a,b,c,e;b=iA(new gA());c=zp(new tp(),'Refresh');c.x(B6(new A6(),d));e=zp(new tp(),'Unarchive');e.x(F6(new E6(),d));a=zp(new tp(),'Delete');a.x(i7(new h7(),d));jA(b,c);jA(b,e);jA(b,a);return b;}
-function D7(b){var a;a=r7(new q7(),b);return w7(new v7(),b,a);}
-function w6(){}
-_=w6.prototype=new nr();_.tN=ggc+'ArchivedAssetManager';_.tI=190;_.a=null;_.b=null;function z6(a){}
-function x6(){}
-_=x6.prototype=new fU();_.wd=z6;_.tN=ggc+'ArchivedAssetManager$1';_.tI=191;function B6(b,a){b.a=a;return b;}
-function D6(a){y7(D7(this.a));}
-function A6(){}
-_=A6.prototype=new fU();_.zc=D6;_.tN=ggc+'ArchivedAssetManager$2';_.tI=192;function F6(b,a){b.a=a;return b;}
-function b7(a){pTb(mMb(),ldc(this.a.b),false,d7(new c7(),this));}
-function E6(){}
-_=E6.prototype=new fU();_.zc=b7;_.tN=ggc+'ArchivedAssetManager$3';_.tI=193;function d7(b,a){b.a=a;return b;}
-function f7(b,a){y7(D7(b.a.a));zh('Done!');}
-function g7(a){f7(this,a);}
-function c7(){}
-_=c7.prototype=new vcb();_.pd=g7;_.tN=ggc+'ArchivedAssetManager$4';_.tI=194;function i7(b,a){b.a=a;return b;}
-function k7(a){pUb(mMb(),ldc(this.a.b),m7(new l7(),this));}
-function h7(){}
-_=h7.prototype=new fU();_.zc=k7;_.tN=ggc+'ArchivedAssetManager$5';_.tI=195;function m7(b,a){b.a=a;return b;}
-function o7(b,a){y7(D7(b.a.a));zh('Done!');}
-function p7(a){o7(this,a);}
-function l7(){}
-_=l7.prototype=new vcb();_.pd=p7;_.tN=ggc+'ArchivedAssetManager$6';_.tI=196;function r7(b,a){b.a=a;return b;}
-function t7(c,a){var b;b=Fb(a,62);odc(c.a.b,b);c.a.b.Be('100%');sdb();}
-function u7(a){t7(this,a);}
-function q7(){}
-_=q7.prototype=new vcb();_.pd=u7;_.tN=ggc+'ArchivedAssetManager$7';_.tI=197;function w7(b,a,c){b.a=c;return b;}
-function y7(a){wdb('Loading list, please wait...');fUb(mMb(),a.a);}
-function z7(){y7(this);}
-function v7(){}
-_=v7.prototype=new fU();_.pb=z7;_.tN=ggc+'ArchivedAssetManager$8';_.tI=198;function n8(a){var b;b=ccb(new Fbb(),'images/backup_large.png','Import/Export');dcb(b,'',nz(new qw(),'<i>Import and Export rules repository<\/i>'));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Import from an xml file',r8(a));dcb(b,'Export to a zip file',q8(a));gcb(b,nz(new qw(),'<hr/>'));pr(a,b);return a;}
-function p8(a){wdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');sdb();}
-function q8(c){var a,b;b=iA(new gA());a=zp(new tp(),'Export');a.x(a8(new F7(),c));jA(b,a);return b;}
-function r8(c){var a,b,d,e;e=fv(new av());lv(e,v()+'backup');mv(e,'multipart/form-data');nv(e,'post');b=iA(new gA());e.Ae(b);d=jt(new it());mt(d,'importFile');jA(b,d);jA(b,fC(new dC(),'import:'));a=Ccb(new Bcb(),'images/upload.gif');oB(a,e8(new d8(),c,e));jA(b,a);gv(e,j8(new i8(),c,d));return e;}
-function E7(){}
-_=E7.prototype=new nr();_.tN=ggc+'BackupManager';_.tI=199;function a8(b,a){b.a=a;return b;}
-function c8(a){p8(this.a);}
-function F7(){}
-_=F7.prototype=new fU();_.zc=c8;_.tN=ggc+'BackupManager$1';_.tI=200;function e8(b,a,c){b.a=c;return b;}
-function g8(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){wdb('Importing repository, please wait, as this could take some time...');pv(b);}}
-function h8(a){g8(this,this.a);}
-function d8(){}
-_=d8.prototype=new fU();_.zc=h8;_.tN=ggc+'BackupManager$2';_.tI=201;function j8(b,a,c){b.a=c;return b;}
-function m8(a){if(cV(lt(this.a))==0){zh('You did not specify an exported repository filename !');Bv(a,true);}else if(!CU(lt(this.a),'.xml')){zh('Please specify a valid repository xml file.');Bv(a,true);}}
-function l8(a){if(aV(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{xbb('Unable to import into the repository. Consult the server logs for error messages.');}sdb();}
-function i8(){}
-_=i8.prototype=new fU();_.od=m8;_.nd=l8;_.tN=ggc+'BackupManager$3';_.tI=202;function h9(a){sO(new qO());}
-function i9(f){var a,b,c,d,e;h9(f);c=ccb(new Fbb(),'images/edit_category.gif','Edit categories');dcb(c,'',nz(new qw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=d_(new s$(),new t8());FN(f.a,'category-explorer-Admin');b=fH(new DG());FN(b,'metadata-Widget');hH(b,f.a);gcb(c,nz(new qw(),'<hr/>'));dcb(c,'Current categories:',b);e=Ccb(new Bcb(),'images/refresh.gif');e.te('Refresh categories');oB(e,x8(new w8(),f));dcb(c,'Refresh view:',e);gcb(c,nz(new qw(),'<hr/>'));d=Ccb(new Bcb(),'images/new.gif');d.te('Create a new category');oB(d,B8(new A8(),f));dcb(c,'Create a new category:',d);a=Ccb(new Bcb(),'images/delete_obj.gif');oB(a,F8(new E8(),f));a.te("Deletes the currently selected category. You won't be able to delete if the category is in use.");dcb(c,'Delete the currently selected category:',a);pr(f,c);return f;}
-function k9(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){qUb(mMb(),a.a.e,d9(new c9(),a));}}
-function s8(){}
-_=s8.prototype=new nr();_.tN=ggc+'CategoryManager';_.tI=203;_.a=null;function v8(a){}
-function t8(){}
-_=t8.prototype=new fU();_.he=v8;_.tN=ggc+'CategoryManager$1';_.tI=204;function x8(b,a){b.a=a;return b;}
-function z8(a){j_(this.a.a);}
-function w8(){}
-_=w8.prototype=new fU();_.zc=z8;_.tN=ggc+'CategoryManager$2';_.tI=205;function B8(b,a){b.a=a;return b;}
-function D8(b){var a;a=n$(new E9(),this.a.a.e);wE(a,wN(b),xN(b)-400);zE(a);}
-function A8(){}
-_=A8.prototype=new fU();_.zc=D8;_.tN=ggc+'CategoryManager$3';_.tI=206;function F8(b,a){b.a=a;return b;}
-function b9(a){k9(this.a);}
-function E8(){}
-_=E8.prototype=new fU();_.zc=b9;_.tN=ggc+'CategoryManager$4';_.tI=207;function d9(b,a){b.a=a;return b;}
-function f9(b,a){j_(b.a.a);}
-function g9(a){f9(this,a);}
-function c9(){}
-_=c9.prototype=new vcb();_.pd=g9;_.tN=ggc+'CategoryManager$5';_.tI=208;function z9(b){var a;a=ccb(new Fbb(),'images/status_large.png','Manage statuses');dcb(a,'',nz(new qw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=xC(new nC());hD(b.a,7);b.a.Be('50%');D9(b);dcb(a,'Current statuses:',b.a);dcb(a,'Add new status:',C9(b));pr(b,a);return b;}
-function B9(b,a){wdb('Creating status');FTb(mMb(),CK(a),v9(new u9(),b,a));}
-function C9(d){var a,b,c;c=iA(new gA());a=eL(new vK());b=zp(new tp(),'Create');b.x(r9(new q9(),d,a));jA(c,a);jA(c,b);return c;}
-function D9(a){wdb('Loading statuses...');eUb(mMb(),n9(new m9(),a));}
-function l9(){}
-_=l9.prototype=new nr();_.tN=ggc+'StateManager';_.tI=209;_.a=null;function n9(b,a){b.a=a;return b;}
-function p9(a){var b,c;DC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){AC(this.a.a,c[b]);}sdb();}
-function m9(){}
-_=m9.prototype=new vcb();_.pd=p9;_.tN=ggc+'StateManager$1';_.tI=210;function r9(b,a,c){b.a=a;b.b=c;return b;}
-function t9(a){B9(this.a,this.b);}
-function q9(){}
-_=q9.prototype=new fU();_.zc=t9;_.tN=ggc+'StateManager$2';_.tI=211;function v9(b,a,c){b.a=a;b.b=c;return b;}
-function x9(b,a){aL(b.b,'');D9(b.a);sdb();}
-function y9(a){x9(this,a);}
-function u9(){}
-_=u9.prototype=new vcb();_.pd=y9;_.tN=ggc+'StateManager$3';_.tI=212;function p$(){p$=d3;pE();}
-function m$(a){a.d=ut(new ot());a.b=eL(new vK());a.a=pK(new oK());}
-function n$(d,b){var a,c;p$();mE(d,true);m$(d);d.c=b;d.d.ze(0,0,Ccb(new Bcb(),'images/edit_category.gif'));d.d.ze(0,1,fC(new dC(),q$(d,d.c)));d.d.ze(1,0,fC(new dC(),'Cateogory name'));d.d.ze(1,1,d.b);uK(d.a,4);d.d.ze(2,0,fC(new dC(),'Description'));d.d.ze(2,1,d.a);c=zp(new tp(),'OK');c.x(a$(new F9(),d));d.d.ze(3,0,c);a=zp(new tp(),'Cancel');a.x(e$(new d$(),d));d.d.ze(3,1,a);hH(d,d.d);FN(d,'ks-popups-Popup');return d;}
-function o$(a){a.lc();}
-function q$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
-function r$(b){var a;a=i$(new h$(),b);if(EU('',CK(b.b))){xbb("Can't have an empty category name.");}else{BTb(mMb(),b.c,CK(b.b),CK(b.a),a);}}
-function E9(){}
-_=E9.prototype=new kE();_.tN=hgc+'CategoryEditor';_.tI=213;_.c=null;function a$(b,a){b.a=a;return b;}
-function c$(a){r$(this.a);}
-function F9(){}
-_=F9.prototype=new fU();_.zc=c$;_.tN=hgc+'CategoryEditor$1';_.tI=214;function e$(b,a){b.a=a;return b;}
-function g$(a){o$(this.a);}
-function d$(){}
-_=d$.prototype=new fU();_.zc=g$;_.tN=hgc+'CategoryEditor$2';_.tI=215;function i$(b,a){b.a=a;return b;}
-function k$(b,a){if(Fb(a,55).a){b.a.lc();}else{xbb('Category was not successfully created. ');}}
-function l$(a){k$(this,a);}
-function h$(){}
-_=h$.prototype=new vcb();_.pd=l$;_.tN=hgc+'CategoryEditor$3';_.tI=216;function c_(a){a.c=uM(new hL());a.d=sO(new qO());a.f=mMb();}
-function d_(b,a){c_(b);tO(b.d,b.c);b.a=a;i_(b);pr(b,b.d);yM(b.c,b);FN(b,'category-explorer-Tree');return b;}
-function f_(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
-function g_(b,a){if(a.c.b==1&&ac(DL(a,0),64)){return false;}return true;}
-function h_(a){if(a.b!==null){a.b.ye(false);}}
-function i_(a){xM(a.c,'Please wait...');hUb(a.f,'/',y$(new x$(),a));}
-function j_(a){hN(a.c);a.e=null;i_(a);}
-function k_(c){var a,b;if(c.b===null){b=lp(new kp());mp(b,nz(new qw(),'No categories created yet. Add some categories from the administration screen.'));a=zp(new tp(),'Refresh');a.x(u$(new t$(),c));mp(b,a);FN(b,'small-Text');c.b=b;tO(c.d,c.b);}c.b.ye(true);}
-function l_(a){this.e=f_(this,a);this.a.he(this.e);}
-function m_(a){var b;if(g_(this,a)){return;}b=a;this.e=f_(this,a);hUb(this.f,this.e,C$(new B$(),this,b));}
-function s$(){}
-_=s$.prototype=new nr();_.rd=l_;_.sd=m_;_.tN=hgc+'CategoryExplorerWidget';_.tI=217;_.a=null;_.b=null;_.e=null;function u$(b,a){b.a=a;return b;}
-function w$(a){j_(this.a);}
-function t$(){}
-_=t$.prototype=new fU();_.zc=w$;_.tN=hgc+'CategoryExplorerWidget$1';_.tI=218;function y$(b,a){b.a=a;return b;}
-function A$(d){var a,b,c;this.a.e=null;hN(this.a.c);a=Fb(d,63);if(a.a==0){k_(this.a);}else{h_(this.a);}for(b=0;b<a.a;b++){c=zL(new xL());bM(c,'<img src="images/category_small.gif"/>'+a[b]);hM(c,a[b]);c.y(a_(new F$()));wM(this.a.c,c);}}
-function x$(){}
-_=x$.prototype=new vcb();_.pd=A$;_.tN=hgc+'CategoryExplorerWidget$2';_.tI=219;function C$(b,a,c){b.a=c;return b;}
-function E$(e){var a,b,c,d;a=DL(this.a,0);if(ac(a,64)){this.a.ae(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=zL(new xL());bM(c,'<img src="images/category_small.gif"/>'+d[b]);hM(c,d[b]);c.y(a_(new F$()));this.a.y(c);}}
-function B$(){}
-_=B$.prototype=new vcb();_.pd=E$;_.tN=hgc+'CategoryExplorerWidget$3';_.tI=220;function a_(a){AL(a,'Please wait...');return a;}
-function F$(){}
-_=F$.prototype=new xL();_.tN=hgc+'CategoryExplorerWidget$PendingItem';_.tI=221;function p_(){p_=d3;q_=zb('[Ljava.lang.String;',608,1,['brl','dslr','xls']);s_=zb('[Ljava.lang.String;',608,1,['drl','rf','enumeration']);r_=zb('[Ljava.lang.String;',608,1,['function','dsl','jar','enumeration']);}
-function t_(a){p_();var b;for(b=0;b<r_.a;b++){if(EU(r_[b],a)){return true;}}return false;}
-var q_,r_,s_;function F_(){F_=d3;fL();}
-function D_(a){a.b=mE(new kE(),true);a.a=w_(new v_(),a);}
-function E_(b,a){F_();eL(b);D_(b);zK(b,b);aO(b.a,1);FN(b,'AutoCompleteTextBox');hH(b.b,b.a);uN(b.b,'AutoCompleteChoices');FN(b.a,'list');b.c=a;return b;}
-function aab(a){if(a.e&&FC(a.a)>0){aL(a,aD(a.a,bD(a.a)));}DC(a.a);a.b.lc();a.e=false;}
-function bab(e,a,b,c){var d;d=bD(e.a);d++;if(d>=FC(e.a)){d=0;}gD(e.a,d);}
-function cab(d,a,b,c){aab(d);}
-function dab(d,a,b,c){DC(d.a);d.b.lc();d.e=false;}
-function eab(b,a){if(0==cV(a)||0==FC(b.a)||1==FC(b.a)&&EU(aD(b.a,0),a)){DC(b.a);b.b.lc();b.e=false;}else{gD(b.a,0);hD(b.a,FC(b.a)+1);if(!b.d){mp(tG(),b.b);b.d=true;}zE(b.b);b.e=true;wE(b.b,wN(b),xN(b)+b.Cb());b.a.Be(b.Db()+'px');}}
-function fab(d,a,b,c){iab(d,CK(d));if(cV(CK(d))>0&&d.c!==null){wdc(d.c,CK(d),A_(new z_(),d));}}
-function gab(d,a,b,c){aab(d);}
-function hab(e,a,b,c){var d;d=bD(e.a);d--;if(d<0){d=FC(e.a)-1;}gD(e.a,d);}
-function iab(c,b){var a;a=0;while(a<FC(c.a)){if(gV(kV(aD(c.a,a)),kV(b))){++a;}else{fD(c.a,a);}}eab(c,b);}
-function jab(d,b,c){var a;DC(d.a);for(a=0;a<b.a;a++){AC(d.a,b[a]);}iab(d,c);}
-function kab(a,b,c){if(b==13){cab(this,a,b,c);}else if(b==9){gab(this,a,b,c);}else if(b==40){bab(this,a,b,c);}else if(b==38){hab(this,a,b,c);}else if(b==27){dab(this,a,b,c);}}
-function lab(a,b,c){}
-function mab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:fab(this,a,b,c);break;}}
-function u_(){}
-_=u_.prototype=new vK();_.cd=kab;_.dd=lab;_.ed=mab;_.tN=igc+'AutoCompleteTextBoxAsync';_.tI=222;_.c=null;_.d=false;_.e=false;function x_(){x_=d3;EC();}
-function w_(b,a){x_();b.a=a;xC(b);return b;}
-function y_(a){if(1==xe(a)){aab(this.a);}}
-function v_(){}
-_=v_.prototype=new nC();_.wc=y_;_.tN=igc+'AutoCompleteTextBoxAsync$1';_.tI=223;function A_(b,a){b.a=a;return b;}
-function C_(b,a){jab(b.a,a,CK(b.a));}
-function z_(){}
-_=z_.prototype=new fU();_.tN=igc+'AutoCompleteTextBoxAsync$2';_.tI=224;function rab(a){a.j=true;}
-function sab(a){a.j=false;}
-function tab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
-function uab(){return this.j;}
-function pab(){}
-_=pab.prototype=new nr();_.pc=uab;_.tN=igc+'DirtyableComposite';_.tI=225;_.j=false;function xab(a){a.b=nY(new lY());}
-function yab(a){ut(a);xab(a);return a;}
-function Aab(d){var a,b,c;for(c=d.b.qc();c.kc();){a=Fb(c.sc(),65);b=ty(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).pc())return true;if(ac(b,67))if(Fb(b,67).jc())return true;}return false;}
-function Bab(d,c,b,a){cz(d,c,b,a);if(ac(a,68)){oY(d.b,d.a++,ydb(new xdb(),c,b));}}
-function Cab(){return Aab(this);}
-function Dab(c,b,a){Bab(this,c,b,a);}
-function wab(){}
-_=wab.prototype=new ot();_.jc=Cab;_.ze=Dab;_.tN=igc+'DirtyableFlexTable';_.tI=226;_.a=0;function Fab(a){iA(a);return a;}
-function bbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=gr(c,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
-function cbb(){return bbb(this);}
-function Eab(){}
-_=Eab.prototype=new gA();_.jc=cbb;_.tN=igc+'DirtyableHorizontalPane';_.tI=227;function ebb(a){sO(a);return a;}
-function gbb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=gr(this,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
-function dbb(){}
-_=dbb.prototype=new qO();_.jc=gbb;_.tN=igc+'DirtyableVerticalPane';_.tI=228;function ubb(){ubb=d3;cs();}
-function rbb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=Ccb(new Bcb(),'images/close.gif');}
-function sbb(d,b,a){var c,e;ubb();as(d,true);rbb(d);kC(d.a,b);jA(d.c,nB(new xA(),'images/error_dialog.png'));e=sO(new qO());tO(e,d.a);jA(d.c,e);if(a!==null){tbb(d,e,a);}jA(d.c,d.b);c=d;oB(d.b,kbb(new jbb(),d,c));fs(d,d.c);wE(d,40,40);FN(d,'rule-error-Popup');return d;}
-function tbb(e,c,b){var a,d,f;f=sO(new qO());tO(c,f);d=zp(new tp(),'Details');tO(f,d);a=fC(new dC(),b);a.ye(false);tO(f,a);d.x(obb(new nbb(),e,a,d));}
-function vbb(a){kC(a.a,'');sE(a);}
-function wbb(){vbb(this);}
-function xbb(a){ubb();var b;b=sbb(new ibb(),a,null);sdb();zE(b);}
-function ybb(a){ubb();var b;b=sbb(new ibb(),a.b,a.a);sdb();zE(b);}
-function ibb(){}
-_=ibb.prototype=new Dr();_.lc=wbb;_.tN=igc+'ErrorPopup';_.tI=229;function kbb(b,a,c){b.a=c;return b;}
-function mbb(a){vbb(this.a);}
-function jbb(){}
-_=jbb.prototype=new fU();_.zc=mbb;_.tN=igc+'ErrorPopup$1';_.tI=230;function obb(b,a,c,d){b.a=c;b.b=d;return b;}
-function qbb(a){this.a.ye(true);this.b.ye(false);}
-function nbb(){}
-_=nbb.prototype=new fU();_.zc=qbb;_.tN=igc+'ErrorPopup$2';_.tI=231;function Abb(b,a){b.a=a;return b;}
-function Cbb(a,b,c){}
-function Dbb(a,b,c){}
-function Ebb(a,b,c){this.a.pb();}
-function zbb(){}
-_=zbb.prototype=new fU();_.cd=Cbb;_.dd=Dbb;_.ed=Ebb;_.tN=igc+'FieldEditListener';_.tI=232;_.a=null;function acb(a){a.h=yab(new wab());a.g=xt(a.h);}
-function ccb(b,a,c){acb(b);ecb(b,a,c);pr(b,b.h);return b;}
-function bcb(a){acb(a);pr(a,a.h);return a;}
-function dcb(d,c,a){var b;b=nz(new qw(),'<b>'+c+'<\/b>');Bab(d.h,d.i,0,b);ex(d.g,d.i,0,(xz(),Az),(aA(),dA));Bab(d.h,d.i,1,a);ex(d.g,d.i,1,(xz(),zz),(aA(),dA));d.i++;}
-function ecb(c,a,d){var b;b=fC(new dC(),d);FN(b,'resource-name-Label');jcb(c,a,b);}
-function fcb(d,b,e,f){var a,c;c=fC(new dC(),e);FN(c,'resource-name-Label');a=iA(new gA());jA(a,c);jA(a,f);jcb(d,b,a);}
-function gcb(a,b){Bab(a.h,a.i,0,b);st(a.g,a.i,0,2);a.i++;}
-function hcb(a){a.i=0;ky(a.h);}
-function jcb(b,a,c){Bab(b.h,0,0,nB(new xA(),a));ex(b.g,0,0,(xz(),zz),(aA(),dA));Bab(b.h,0,1,c);b.i++;}
-function kcb(c,b,a,d){Bab(c.h,b,a,d);}
-function lcb(){return Aab(this.h);}
-function Fbb(){}
-_=Fbb.prototype=new pab();_.pc=lcb;_.tN=igc+'FormStyleLayout';_.tI=233;_.i=0;function ucb(){ucb=d3;pE();}
-function rcb(c,b,d){var a;ucb();mE(c,true);c.i=ccb(new Fbb(),b,d);FN(c,'ks-popups-Popup');a=Ccb(new Bcb(),'images/close.gif');oB(a,ocb(new ncb(),c));kcb(c.i,0,2,a);hH(c,c.i);return c;}
-function scb(b,a,c){dcb(b.i,a,c);}
-function tcb(a,b){gcb(a.i,b);}
-function mcb(){}
-_=mcb.prototype=new kE();_.tN=igc+'FormStylePopup';_.tI=234;_.i=null;function ocb(b,a){b.a=a;return b;}
-function qcb(a){this.a.lc();}
-function ncb(){}
-_=ncb.prototype=new fU();_.zc=qcb;_.tN=igc+'FormStylePopup$1';_.tI=235;function Ecb(){Ecb=d3;qB();}
-function Ccb(b,a){Ecb();nB(b,a);FN(b,'image-Button');return b;}
-function Dcb(b,a,c){Ecb();nB(b,a);FN(b,'image-Button');b.te(c);return b;}
-function Bcb(){}
-_=Bcb.prototype=new xA();_.tN=igc+'ImageButton';_.tI=236;function edb(c,d,b){var a;a=nB(new xA(),'images/information.gif');a.te(b);oB(a,bdb(new adb(),c,d,b));pr(c,a);return c;}
-function Fcb(){}
-_=Fcb.prototype=new nr();_.tN=igc+'InfoPopup';_.tI=237;function bdb(b,a,d,c){b.b=d;b.a=c;return b;}
-function ddb(b){var a;a=rcb(new mcb(),'images/information.gif',this.b);tcb(a,hdb(new gdb(),this.a,'small-Text'));wE(a,wN(b),xN(b));zE(a);}
-function adb(){}
-_=adb.prototype=new fU();_.zc=ddb;_.tN=igc+'InfoPopup$1';_.tI=238;function hdb(c,a,b){fC(c,a);FN(c,b);return c;}
-function gdb(){}
-_=gdb.prototype=new dC();_.tN=igc+'Lbl';_.tI=239;function qdb(){qdb=d3;pE();}
-function odb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=nB(new xA(),'images/close.gif');}
-function pdb(a){qdb();mE(a,true);odb(a);jA(a.c,a.a);jA(a.c,a.b);jA(a.c,nB(new xA(),'images/searching.gif'));oB(a.b,ldb(new kdb(),a));hH(a,a.c);wE(a,0,0);FN(a,'loading-Popup');return a;}
-function rdb(a){kC(a.a,'');sE(a);}
-function sdb(){qdb();rdb(tdb());}
-function tdb(){qdb();if(vdb===null){vdb=pdb(new jdb());}return vdb;}
-function udb(){rdb(this);}
-function wdb(a){qdb();var b;b=tdb();kC(b.a,a);zE(b);}
-function jdb(){}
-_=jdb.prototype=new kE();_.lc=udb;_.tN=igc+'LoadingPopup';_.tI=240;var vdb=null;function ldb(b,a){b.a=a;return b;}
-function ndb(a){rdb(this.a);}
-function kdb(){}
-_=kdb.prototype=new fU();_.zc=ndb;_.tN=igc+'LoadingPopup$1';_.tI=241;function ydb(c,b,a){c.b=b;c.a=a;return c;}
-function xdb(){}
-_=xdb.prototype=new fU();_.tN=igc+'Pair';_.tI=242;_.a=0;_.b=0;function Fdb(a){a.b=xC(new nC());cUb(mMb(),Cdb(new Bdb(),a));pr(a,a.b);return a;}
-function beb(a){return aD(a.b,bD(a.b));}
-function ceb(b,a){b.a=a;}
-function Adb(){}
-_=Adb.prototype=new nr();_.tN=igc+'RulePackageSelector';_.tI=243;_.a=null;_.b=null;function Cdb(b,a){b.a=a;return b;}
-function Edb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){AC(this.a.b,b[a].j);if(this.a.a!==null&&EU(b[a].j,this.a.a)){gD(this.a.b,a);}}}
-function Bdb(){}
-_=Bdb.prototype=new vcb();_.pd=Edb;_.tN=igc+'RulePackageSelector$1';_.tI=244;function Beb(){Beb=d3;cs();}
-function zeb(f,g,d){var a,b,c,e;Beb();as(f,true);f.d=g;f.b=d;FN(f,'ks-popups-Popup');ds(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=iA(new gA());a=xC(new nC());wdb('Please wait...');eUb(mMb(),feb(new eeb(),f,a));zC(a,jeb(new ieb(),f,a));jA(c,a);e=zp(new tp(),'Change status');e.x(neb(new meb(),f,a));jA(c,e);b=zp(new tp(),'Cancel');b.x(reb(new qeb(),f));jA(c,b);fs(f,c);return f;}
-function Aeb(b,a){wdb('Updating status...');vTb(mMb(),b.d,b.c,b.b,veb(new ueb(),b));}
-function Ceb(b,a){b.a=a;}
-function deb(){}
-_=deb.prototype=new Dr();_.tN=igc+'StatusChangePopup';_.tI=245;_.a=null;_.b=false;_.c=null;_.d=null;function feb(b,a,c){b.a=c;return b;}
-function heb(a){var b,c;c=Fb(a,63);AC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){AC(this.a,c[b]);}sdb();}
-function eeb(){}
-_=eeb.prototype=new vcb();_.pd=heb;_.tN=igc+'StatusChangePopup$1';_.tI=246;function jeb(b,a,c){b.a=a;b.b=c;return b;}
-function leb(a){this.a.c=aD(this.b,bD(this.b));}
-function ieb(){}
-_=ieb.prototype=new fU();_.yc=leb;_.tN=igc+'StatusChangePopup$2';_.tI=247;function neb(b,a,c){b.a=a;b.b=c;return b;}
-function peb(b){var a;a=aD(this.b,bD(this.b));Aeb(this.a,a);this.a.lc();}
-function meb(){}
-_=meb.prototype=new fU();_.zc=peb;_.tN=igc+'StatusChangePopup$3';_.tI=248;function reb(b,a){b.a=a;return b;}
-function teb(a){this.a.lc();}
-function qeb(){}
-_=qeb.prototype=new fU();_.zc=teb;_.tN=igc+'StatusChangePopup$4';_.tI=249;function veb(b,a){b.a=a;return b;}
-function xeb(b,a){b.a.a.pb();sdb();}
-function yeb(a){xeb(this,a);}
-function ueb(){}
-_=ueb.prototype=new vcb();_.pd=yeb;_.tN=igc+'StatusChangePopup$5';_.tI=250;function Feb(){Feb=d3;ucb();}
-function Eeb(c,b,a){Feb();rcb(c,'images/attention_needed.png',b);scb(c,'Detail:',afb(c,a));return c;}
-function afb(c,b){var a;a=pK(new oK());FN(a,'editable-Surface');uK(a,12);aL(a,b);a.Be('100%');return a;}
-function Deb(){}
-_=Deb.prototype=new mcb();_.tN=igc+'ValidationMessageWidget';_.tI=251;function ifb(){ifb=d3;pE();}
-function gfb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=zp(new tp(),'OK');}
-function hfb(b,c,d){var a;ifb();mE(b,true);gfb(b);wE(b,c,d);jA(b.c,b.a);jA(b.c,b.b);a=b;b.b.x(dfb(new cfb(),b,a));hH(b,b.c);FN(b,'rule-warning-Popup');return b;}
-function jfb(a){kC(a.a,'');sE(a);}
-function kfb(){jfb(this);}
-function lfb(a,c,d){ifb();var b;b=hfb(new bfb(),c,d);kC(b.a,a);zE(b);}
-function bfb(){}
-_=bfb.prototype=new kE();_.lc=kfb;_.tN=igc+'WarningPopup';_.tI=252;function dfb(b,a,c){b.a=c;return b;}
-function ffb(a){jfb(this.a);}
-function cfb(){}
-_=cfb.prototype=new fU();_.zc=ffb;_.tN=igc+'WarningPopup$1';_.tI=253;function wfb(){wfb=d3;cs();}
-function vfb(d,b,f){var a,c,e;wfb();Fr(d);es(d,b);e=zp(new tp(),'Yes');c=zp(new tp(),'No');e.x(ofb(new nfb(),d,f));c.x(sfb(new rfb(),d));a=iA(new gA());jA(a,e);jA(a,c);fs(d,a);return d;}
-function mfb(){}
-_=mfb.prototype=new Dr();_.tN=igc+'YesNoDialog';_.tI=254;function ofb(b,a,c){b.a=a;b.b=c;return b;}
-function qfb(a){this.b.pb();this.a.lc();}
-function nfb(){}
-_=nfb.prototype=new fU();_.zc=qfb;_.tN=igc+'YesNoDialog$1';_.tI=255;function sfb(b,a){b.a=a;return b;}
-function ufb(a){this.a.lc();}
-function rfb(){}
-_=rfb.prototype=new fU();_.zc=ufb;_.tN=igc+'YesNoDialog$2';_.tI=256;function wxb(b,a,c){b.e=c;b.a=a;Bxb(b,a.e,a.d.n);Axb(b);return b;}
-function xxb(b,a){gcb(b.c,a);}
-function zxb(c,a,d){var b;b=eL(new vK());EK(b,a);aL(b,d);b.ye(false);return b;}
-function Axb(a){gv(a.b,sxb(new rxb(),a));}
-function Bxb(d,f,c){var a,b,e;d.b=fv(new av());lv(d.b,v()+'asset');mv(d.b,'multipart/form-data');nv(d.b,'post');e=jt(new it());mt(e,'fileUploadElement');b=iA(new gA());jA(b,zxb(d,'attachmentUUID',f));d.d=Dcb(new Bcb(),'images/upload.gif','Upload');jA(b,e);jA(b,fC(new dC(),'upload:'));jA(b,d.d);hH(d.b,b);d.c=ccb(new Fbb(),d.vb(),c);if(!d.a.c)dcb(d.c,'Upload new version:',d.b);a=zp(new tp(),'Download');a.x(kxb(new jxb(),d,f));dcb(d.c,'Download current version:',a);oB(d.d,oxb(new nxb(),d));pr(d,d.c);d.c.Be('100%');FN(d,d.Eb());}
-function Cxb(a){wdb('Uploading...');}
-function Dxb(a){pv(a.b);}
-function ixb(){}
-_=ixb.prototype=new nr();_.tN=ngc+'AssetAttachmentFileWidget';_.tI=257;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function yfb(b,a,c){wxb(b,a,c);xxb(b,nz(new qw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
-function Afb(){return 'images/decision_table.png';}
-function Bfb(){return 'decision-Table-upload';}
-function xfb(){}
-_=xfb.prototype=new ixb();_.vb=Afb;_.Eb=Bfb;_.tN=jgc+'DecisionTableXLSWidget';_.tI=258;function Dfb(){Dfb=d3;fgb=k1(new o0());agb=k1(new o0());Ffb=k1(new o0());Efb=zb('[Ljava.lang.String;',608,1,['not','exists','or']);{r1(fgb,'==','is equal to');r1(fgb,'!=','is not equal to');r1(fgb,'<','is less than');r1(fgb,'<=','less than or equal to');r1(fgb,'>','greater than');r1(fgb,'>=','greater than or equal to');r1(fgb,'|| ==','or equal to');r1(fgb,'|| !=','or not equal to');r1(fgb,'&& !=','and not equal to');r1(fgb,'&& >','and greater than');r1(fgb,'&& <','and less than');r1(fgb,'|| >','or greater than');r1(fgb,'|| <','or less than');r1(fgb,'&& <','and less than');r1(fgb,'|| >=','or greater than (or equal to)');r1(fgb,'|| <=','or less than (or equal to)');r1(fgb,'&& >=','and greater than (or equal to)');r1(fgb,'&& <=','or less than (or equal to)');r1(fgb,'&& contains','and contains');r1(fgb,'|| contains','or contains');r1(fgb,'&& matches','and matches');r1(fgb,'|| matches','or mat!
 ches');r1(fgb,'|| excludes','or excludes');r1(fgb,'&& excludes','and excludes');r1(fgb,'soundslike','sounds like');r1(agb,'not','There is no');r1(agb,'exists','There exists');r1(agb,'or','Any of');r1(Ffb,'assert','Insert');r1(Ffb,'assertLogical','Logically insert');r1(Ffb,'retract','Retract');r1(Ffb,'set','Set');r1(Ffb,'modify','Modify');}}
-function bgb(a){Dfb();return egb(a,Ffb);}
-function cgb(a){Dfb();return egb(a,agb);}
-function dgb(a){Dfb();return egb(a,fgb);}
-function egb(a,b){Dfb();if(n1(b,a)){return Fb(q1(b,a),1);}else{return a;}}
-var Efb,Ffb,agb,fgb;function jgb(){jgb=d3;Dgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=']);Fgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);Bgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);zgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);Egb=zb('[Ljava.lang.String;',608,1,['==','!=']);Cgb=zb('[Ljava.lang.String;',608,1,['==','!=','<','>','<=','>=']);ahb=zb('[Ljava.lang.String;',608,1,['==','!=','matches','soundslike']);Agb=zb('[Ljava.lang.String;',608,1,['contains','excludes','==','!=']);}
-function hgb(a){a.h=k1(new o0());a.c=k1(new o0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[614],[14],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[614],[14],[0],null);}
-function igb(a){jgb();hgb(a);return a;}
-function kgb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return Dgb;}else if(EU(d,'String')){return Fgb;}else if(EU(d,'Comparable')||EU(d,'Numeric')){return Bgb;}else if(EU(d,'Collection')){return zgb;}else{return Dgb;}}
-function mgb(i,g,d){var a,b,c,e,f,h,j;c=tgb(i);j=Fb(q1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(EU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.ic(f),63);}}}}return Fb(i.c.ic(g.c+'.'+d),63);}
-function lgb(f,g,a,c){var b,d,e,h,i;b=tgb(f);h=Fb(q1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(EU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.ic(e),63);}}}return Fb(f.c.ic(g+'.'+c),63);}
-function ogb(b,a){return Fb(b.g.ic(a),63);}
-function ngb(a,c){var b;b=Fb(a.h.ic(c),1);return Fb(a.g.ic(b),63);}
-function pgb(c,a,b){return Fb(c.f.ic(a+'.'+b),1);}
-function qgb(a){return ugb(a,a.h.rc());}
-function rgb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return Egb;}else if(EU(d,'String')){return ahb;}else if(EU(d,'Comparable')||EU(d,'Numeric')){return Cgb;}else if(EU(d,'Collection')){return Agb;}else{return Egb;}}
-function sgb(a,b){return a.h.db(b);}
-function tgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=k1(new o0());e=g.c.rc();for(b=bX(e);iX(b);){d=Fb(jX(b),1);if(FU(d,91)!=(-1)){c=FU(d,91);a=iV(d,0,c);f=iV(d,c+1,FU(d,93));h=iV(f,0,FU(f,61));r1(g.d,a,h);}}}return g.d;}
-function ugb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[608],[1],[d.b.a.c],null);b=0;for(c=bX(d);iX(c);){a[b]=Fb(jX(c),1);b++;}return a;}
-function ggb(){}
-_=ggb.prototype=new fU();_.tN=kgc+'SuggestionCompletionEngine';_.tI=259;_.d=null;_.e=null;_.f=null;_.g=null;var zgb,Agb,Bgb,Cgb,Dgb,Egb,Fgb,ahb;function xgb(b,a){a.a=Fb(b.Dd(),72);a.b=Fb(b.Dd(),72);a.c=Fb(b.Dd(),57);a.e=Fb(b.Dd(),63);a.f=Fb(b.Dd(),57);a.g=Fb(b.Dd(),57);a.h=Fb(b.Dd(),57);}
-function ygb(b,a){b.ff(a.a);b.ff(a.b);b.ff(a.c);b.ff(a.e);b.ff(a.f);b.ff(a.g);b.ff(a.h);}
-function chb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[618],[18],[0],null);}
-function dhb(a){chb(a);return a;}
-function ehb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[618],[18],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[618],[18],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
-function ghb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[618],[18],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
-function bhb(){}
-_=bhb.prototype=new fU();_.tN=lgc+'ActionFieldList';_.tI=260;function jhb(b,a){a.b=Fb(b.Dd(),73);}
-function khb(b,a){b.ff(a.b);}
-function mhb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function lhb(){}
-_=lhb.prototype=new fU();_.tN=lgc+'ActionFieldValue';_.tI=261;_.a=null;_.b=null;_.c=null;function qhb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
-function rhb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
-function uhb(a,b){dhb(a);a.a=b;return a;}
-function thb(a){dhb(a);return a;}
-function shb(){}
-_=shb.prototype=new bhb();_.tN=lgc+'ActionInsertFact';_.tI=262;_.a=null;function yhb(b,a){a.a=b.Ed();jhb(b,a);}
-function zhb(b,a){b.gf(a.a);khb(b,a);}
-function Chb(b,a){uhb(b,a);return b;}
-function Bhb(a){thb(a);return a;}
-function Ahb(){}
-_=Ahb.prototype=new shb();_.tN=lgc+'ActionInsertLogicalFact';_.tI=263;function aib(b,a){yhb(b,a);}
-function bib(b,a){zhb(b,a);}
-function dib(a,b){a.a=b;return a;}
-function cib(){}
-_=cib.prototype=new fU();_.tN=lgc+'ActionRetractFact';_.tI=264;_.a=null;function hib(b,a){a.a=b.Ed();}
-function iib(b,a){b.gf(a.a);}
-function lib(a,b){dhb(a);a.a=b;return a;}
-function kib(a){dhb(a);return a;}
-function jib(){}
-_=jib.prototype=new bhb();_.tN=lgc+'ActionSetField';_.tI=265;_.a=null;function pib(b,a){a.a=b.Ed();jhb(b,a);}
-function qib(b,a){b.gf(a.a);khb(b,a);}
-function tib(b,a){lib(b,a);return b;}
-function sib(a){kib(a);return a;}
-function rib(){}
-_=rib.prototype=new jib();_.tN=lgc+'ActionUpdateField';_.tI=266;function xib(b,a){pib(b,a);}
-function yib(b,a){qib(b,a);}
-function Aib(a,b){a.b=b;return a;}
-function Bib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[616],[16],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[616],[16],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
-function zib(){}
-_=zib.prototype=new fU();_.tN=lgc+'CompositeFactPattern';_.tI=267;_.a=null;_.b=null;function Fib(b,a){a.a=Fb(b.Dd(),74);a.b=b.Ed();}
-function ajb(b,a){b.ff(a.a);b.gf(a.b);}
-function cjb(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[617],[17],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[617],[17],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
-function ejb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[617],[17],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
-function bjb(){}
-_=bjb.prototype=new fU();_.tN=lgc+'CompositeFieldConstraint';_.tI=268;_.a=null;_.b=null;function hjb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),75);}
-function ijb(b,a){b.gf(a.a);b.ff(a.b);}
-function gkb(){}
-_=gkb.prototype=new fU();_.tN=lgc+'ISingleFieldConstraint';_.tI=269;_.e=0;_.f=null;function jjb(){}
-_=jjb.prototype=new gkb();_.tN=lgc+'ConnectiveConstraint';_.tI=270;_.a=null;function njb(b,a){a.a=b.Ed();kkb(b,a);}
-function ojb(b,a){b.gf(a.a);lkb(b,a);}
-function rjb(b){var a;a=new pjb();a.a=b.a;return a;}
-function sjb(e){var a,b,c,d;b=jV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
-function xjb(){return sjb(this);}
-function pjb(){}
-_=pjb.prototype=new fU();_.tS=xjb;_.tN=lgc+'DSLSentence';_.tI=271;_.a=null;function vjb(b,a){a.a=b.Ed();}
-function wjb(b,a){b.gf(a.a);}
-function zjb(b,a){b.c=a;return b;}
-function Ajb(b,a){if(b.b===null)b.b=new bjb();cjb(b.b,a);}
-function Cjb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[617],[17],[0],null);}else{return a.b.b;}}
-function Djb(a){if(a.a!==null&& !EU('',a.a)){return true;}else{return false;}}
-function Ejb(b,a){ejb(b.b,a);}
-function yjb(){}
-_=yjb.prototype=new fU();_.tN=lgc+'FactPattern';_.tI=272;_.a=null;_.b=null;_.c=null;function bkb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),31);a.c=b.Ed();}
-function ckb(b,a){b.gf(a.a);b.ff(a.b);b.gf(a.c);}
-function kkb(b,a){a.e=b.Bd();a.f=b.Ed();}
-function lkb(b,a){b.df(a.e);b.gf(a.f);}
-function okb(b,a,c){b.a=a;b.b=c;return b;}
-function ukb(){var a;a=qU(new pU());sU(a,this.a);if(EU('no-loop',this.a)){sU(a,' ');sU(a,this.b===null?'true':this.b);}else if(EU('salience',this.a)){sU(a,' ');sU(a,this.b);}else if(this.b!==null){sU(a,' "');sU(a,this.b);sU(a,'"');}return wU(a);}
-function nkb(){}
-_=nkb.prototype=new fU();_.tS=ukb;_.tN=lgc+'RuleAttribute';_.tI=273;_.a=null;_.b=null;function skb(b,a){a.a=b.Ed();a.b=b.Ed();}
-function tkb(b,a){b.gf(a.a);b.gf(a.b);}
-function wkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[622],[21],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[623],[22],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[624],[23],[0],null);}
-function xkb(a){wkb(a);return a;}
-function ykb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[622],[21],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function zkb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[623],[22],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[623],[22],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
-function Akb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[624],[23],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[624],[23],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
-function Ckb(h){var a,b,c,d,e,f,g;g=nY(new lY());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,16)){b=Fb(f,16);if(Djb(b)){pY(g,b.a);}for(e=0;e<Cjb(b).a;e++){c=Cjb(b)[e];if(ac(c,32)){a=Fb(c,32);if(nlb(a)){pY(g,a.b);}}}}}return g;}
-function Dkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],16)){b=Fb(c.b[a],16);if(b.a!==null&&EU(d,b.a)){return b;}}}return null;}
-function Ekb(d){var a,b,c;if(d.b===null){return null;}b=nY(new lY());for(a=0;a<d.b.a;a++){if(ac(d.b[a],16)){c=Fb(d.b[a],16);if(c.a!==null){pY(b,c.a);}}}return b;}
-function Fkb(k,b){var a,c,d,e,f,g,h,i,j;j=nY(new lY());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,16)){d=Fb(i,16);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(nlb(a)){pY(j,a.b);}}}}if(Djb(d)){pY(j,d.a);}}else{if(Djb(d)){pY(j,d.a);}}}}return j;}
-function alb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],28)){d=Fb(e.e[b],28);if(EU(d.a,a)){return true;}}else if(ac(e.e[b],27)){c=Fb(e.e[b],27);if(EU(c.a,a)){return true;}}}return false;}
-function blb(b,a){return tY(Ckb(b),a);}
-function clb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[622],[21],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function dlb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[623],[22],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],16)){e=Fb(f.b[a],16);if(e.a!==null&&alb(f,e.a)){return false;}}}}f.b=d;return true;}
-function elb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[624],[23],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
-function vkb(){}
-_=vkb.prototype=new fU();_.tN=lgc+'RuleModel';_.tI=274;_.c='1.0';_.d=null;function hlb(b,a){a.a=Fb(b.Dd(),76);a.b=Fb(b.Dd(),77);a.c=b.Ed();a.d=b.Ed();a.e=Fb(b.Dd(),78);}
-function ilb(b,a){b.ff(a.a);b.ff(a.b);b.gf(a.c);b.gf(a.d);b.ff(a.e);}
-function klb(b,a){b.c=a;return b;}
-function llb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',615,15,[new jjb()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[615],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new jjb();c.a=b;}}
-function nlb(a){if(a.b!==null&& !EU('',a.b)){return true;}else{return false;}}
-function jlb(){}
-_=jlb.prototype=new gkb();_.tN=lgc+'SingleFieldConstraint';_.tI=275;_.a=null;_.b=null;_.c=null;_.d=null;function qlb(b,a){a.a=Fb(b.Dd(),79);a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();kkb(b,a);}
-function rlb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);lkb(b,a);}
-function lmb(d,b,c,a){d.e=c;d.a=a;d.d=yab(new wab());d.f=b;d.b=c.a;d.c=ogb(d.a,c.a);FN(d.d,'model-builderInner-Background');nmb(d);pr(d,d.d);return d;}
-function nmb(e){var a,b,c,d,f;ky(e.d);Bab(e.d,0,0,pmb(e));c=yab(new wab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];Bab(c,a,0,omb(e,f));Bab(c,a,1,rmb(e,f));b=a;d=Ccb(new Bcb(),'images/delete_item_small.gif');oB(d,ulb(new tlb(),e,b));Bab(c,a,2,d);}Bab(e.d,0,1,c);}
-function omb(a,b){return fC(new dC(),b.a);}
-function pmb(d){var a,b,c;c=iA(new gA());b=Ccb(new Bcb(),'images/add_field_to_fact.gif');b.te('Add another field to this so you can set its value.');oB(b,emb(new dmb(),d));a='assert';if(ac(d.e,26)){a='assertLogical';}jA(c,hdb(new gdb(),bgb(a)+' '+d.e.a,'modeller-action-Label'));jA(c,b);return c;}
-function qmb(d,e){var a,b,c;c=rcb(new mcb(),'images/newex_wiz.gif','Add a field');FN(c,'ks-popups-Popup');a=xC(new nC());AC(a,'...');for(b=0;b<d.c.a;b++){AC(a,d.c[b]);}gD(a,0);scb(c,'Add field',a);zC(a,imb(new hmb(),d,a,c));wE(c,wN(e),xN(e));zE(c);}
-function rmb(c,d){var a,b;b=lgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return fqb(d.c,Clb(new Blb(),c,d),b);}else{a=eL(new vK());aL(a,d.c);yK(a,amb(new Flb(),c,d,a));if(EU(d.b,'Numeric')){zK(a,Fnb(a));}return a;}}
-function slb(){}
-_=slb.prototype=new pab();_.tN=mgc+'ActionInsertFactWidget';_.tI=276;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ulb(b,a,c){b.a=a;b.b=c;return b;}
-function wlb(b){var a;a=vfb(new mfb(),'Remove this item?',ylb(new xlb(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
-function tlb(){}
-_=tlb.prototype=new fU();_.zc=wlb;_.tN=mgc+'ActionInsertFactWidget$1';_.tI=277;function ylb(b,a,c){b.a=a;b.b=c;return b;}
-function Alb(){ghb(this.a.a.e,this.b);Fwb(this.a.a.f);}
-function xlb(){}
-_=xlb.prototype=new fU();_.pb=Alb;_.tN=mgc+'ActionInsertFactWidget$2';_.tI=278;function Clb(b,a,c){b.a=c;return b;}
-function Elb(a){this.a.c=a;}
-function Blb(){}
-_=Blb.prototype=new fU();_.af=Elb;_.tN=mgc+'ActionInsertFactWidget$3';_.tI=279;function amb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function cmb(a){this.c.c=CK(this.b);Fwb(this.a.f);}
-function Flb(){}
-_=Flb.prototype=new fU();_.yc=cmb;_.tN=mgc+'ActionInsertFactWidget$4';_.tI=280;function emb(b,a){b.a=a;return b;}
-function gmb(a){qmb(this.a,a);}
-function dmb(){}
-_=dmb.prototype=new fU();_.zc=gmb;_.tN=mgc+'ActionInsertFactWidget$5';_.tI=281;function imb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kmb(c){var a,b;a=aD(this.b,bD(this.b));b=pgb(this.a.a,this.a.e.a,a);ehb(this.a.e,mhb(new lhb(),a,'',b));Fwb(this.a.f);this.c.lc();}
-function hmb(){}
-_=hmb.prototype=new fU();_.yc=kmb;_.tN=mgc+'ActionInsertFactWidget$6';_.tI=282;function tmb(c,a,b){c.a=ut(new ot());FN(c.a,'model-builderInner-Background');c.a.ze(0,0,hdb(new gdb(),bgb('retract'),'modeller-action-Label'));c.a.ze(0,1,hdb(new gdb(),'['+b.a+']','modeller-action-Label'));pr(c,c.a);return c;}
-function smb(){}
-_=smb.prototype=new nr();_.tN=mgc+'ActionRetractFactWidget';_.tI=283;_.a=null;function ynb(e,b,d,a){var c;e.d=d;e.a=a;e.c=yab(new wab());e.e=b;FN(e.c,'model-builderInner-Background');if(sgb(e.a,d.a)){e.b=ngb(e.a,d.a);e.f=Fb(e.a.h.ic(d.a),1);}else{c=Dkb(b.c,d.a);e.b=ogb(e.a,c.c);e.f=c.c;}Anb(e);pr(e,e.c);return e;}
-function Anb(e){var a,b,c,d,f;ky(e.c);Bab(e.c,0,0,Cnb(e));c=yab(new wab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];Bab(c,a,0,Bnb(e,f));Bab(c,a,1,Enb(e,f));b=a;d=Ccb(new Bcb(),'images/delete_item_small.gif');oB(d,xmb(new wmb(),e,b));Bab(c,a,2,d);}Bab(e.c,0,1,c);}
-function Bnb(a,b){return fC(new dC(),b.a);}
-function Cnb(d){var a,b,c;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te('Add another field to this so you can set its value.');oB(a,Fmb(new Emb(),d));c='set';if(ac(d.d,29)){c='modify';}jA(b,hdb(new gdb(),bgb(c)+' ['+d.d.a+']','modeller-action-Label'));jA(b,a);return b;}
-function Dnb(d,e){var a,b,c;c=rcb(new mcb(),'images/newex_wiz.gif','Add a field');FN(c,'ks-popups-Popup');a=xC(new nC());AC(a,'...');for(b=0;b<d.b.a;b++){AC(a,d.b[b]);}gD(a,0);scb(c,'Add field',a);zC(a,dnb(new cnb(),d,a,c));wE(c,wN(e),xN(e));zE(c);}
-function Enb(d,f){var a,b,c,e;e='';if(sgb(d.a,d.d.a)){e=Fb(d.a.h.ic(d.d.a),1);}else{e=Dkb(d.e.c,d.d.a).c;}b=lgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return fqb(f.c,hnb(new gnb(),d,f),b);}else{c=fH(new DG());a=eL(new vK());aL(a,f.c);if(cV(f.c)!=0){gL(a,cV(f.c));}if(EU(f.b,'Numeric')){zK(a,Fnb(a));}yK(a,lnb(new knb(),d,f,a));zK(a,Abb(new zbb(),pnb(new onb(),d,a)));hH(c,a);return c;}}
-function Fnb(a){return tnb(new snb(),a);}
-function aob(){return Aab(this.c);}
-function vmb(){}
-_=vmb.prototype=new pab();_.pc=aob;_.tN=mgc+'ActionSetFieldWidget';_.tI=284;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function xmb(b,a,c){b.a=a;b.b=c;return b;}
-function zmb(b){var a;a=vfb(new mfb(),'Remove this item?',Bmb(new Amb(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
-function wmb(){}
-_=wmb.prototype=new fU();_.zc=zmb;_.tN=mgc+'ActionSetFieldWidget$1';_.tI=285;function Bmb(b,a,c){b.a=a;b.b=c;return b;}
-function Dmb(){ghb(this.a.a.d,this.b);Fwb(this.a.a.e);}
-function Amb(){}
-_=Amb.prototype=new fU();_.pb=Dmb;_.tN=mgc+'ActionSetFieldWidget$2';_.tI=286;function Fmb(b,a){b.a=a;return b;}
-function bnb(a){Dnb(this.a,a);}
-function Emb(){}
-_=Emb.prototype=new fU();_.zc=bnb;_.tN=mgc+'ActionSetFieldWidget$3';_.tI=287;function dnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function fnb(c){var a,b;a=aD(this.b,bD(this.b));b=pgb(this.a.a,this.a.f,a);ehb(this.a.d,mhb(new lhb(),a,'',b));Fwb(this.a.e);this.c.lc();}
-function cnb(){}
-_=cnb.prototype=new fU();_.yc=fnb;_.tN=mgc+'ActionSetFieldWidget$4';_.tI=288;function hnb(b,a,c){b.a=c;return b;}
-function jnb(a){this.a.c=a;}
-function gnb(){}
-_=gnb.prototype=new fU();_.af=jnb;_.tN=mgc+'ActionSetFieldWidget$5';_.tI=289;function lnb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nnb(a){this.b.c=CK(this.a);}
-function knb(){}
-_=knb.prototype=new fU();_.yc=nnb;_.tN=mgc+'ActionSetFieldWidget$6';_.tI=290;function pnb(b,a,c){b.a=c;return b;}
-function rnb(){gL(this.a,cV(CK(this.a)));}
-function onb(){}
-_=onb.prototype=new fU();_.pb=rnb;_.tN=mgc+'ActionSetFieldWidget$7';_.tI=291;function tnb(a,b){a.a=b;return a;}
-function vnb(a,b,c){}
-function wnb(c,a,b){if(vS(a)&&a!=61&& !gV(CK(this.a),'=')){AK(Fb(c,80));}}
-function xnb(a,b,c){}
-function snb(){}
-_=snb.prototype=new fU();_.cd=vnb;_.dd=wnb;_.ed=xnb;_.tN=mgc+'ActionSetFieldWidget$8';_.tI=292;function kob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=yab(new wab());FN(d.b,'model-builderInner-Background');mob(d);pr(d,d.b);return d;}
-function mob(c){var a,b,d;Bab(c.b,0,0,nob(c));if(c.d.a!==null){d=ebb(new dbb());a=c.d.a;for(b=0;b<a.a;b++){tO(d,Dsb(new Bqb(),c.c,a[b],c.a,false));}Bab(c.b,0,1,d);}}
-function nob(c){var a,b;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");oB(a,dob(new cob(),c));jA(b,fC(new dC(),cgb(c.d.b)));jA(b,a);FN(b,'modeller-composite-Label');return b;}
-function oob(e,f){var a,b,c,d;a=xC(new nC());b=e.a.e;AC(a,'Choose...');for(c=0;c<b.a;c++){AC(a,b[c]);}gD(a,0);d=rcb(new mcb(),'images/new_fact.gif','New fact pattern...');scb(d,'choose fact type',a);zC(a,hob(new gob(),e,a,d));FN(d,'ks-popups-Popup');wE(d,wN(f)-400,xN(f));zE(d);}
-function pob(){return Aab(this.b);}
-function bob(){}
-_=bob.prototype=new pab();_.pc=pob;_.tN=mgc+'CompositeFactPatternWidget';_.tI=293;_.a=null;_.b=null;_.c=null;_.d=null;function dob(b,a){b.a=a;return b;}
-function fob(a){oob(this.a,a);}
-function cob(){}
-_=cob.prototype=new fU();_.zc=fob;_.tN=mgc+'CompositeFactPatternWidget$1';_.tI=294;function hob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function job(a){Bib(this.a.d,zjb(new yjb(),aD(this.b,bD(this.b))));Fwb(this.a.c);this.c.lc();}
-function gob(){}
-_=gob.prototype=new fU();_.yc=job;_.tN=mgc+'CompositeFactPatternWidget$2';_.tI=295;function Bpb(f,d,b,a,c,g){var e;f.a=a;if(EU(g,'Numeric')){f.d=true;}else{f.d=false;}if(EU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',608,1,['true','false']);}f.c=c.c;e=c.a;f.b=mgb(e,d,b);f.e=fH(new DG());aqb(f);pr(f,f.e);return f;}
-function Cpb(c,b){var a;a=eL(new vK());FN(a,'constraint-value-Editor');if(b.f===null){aL(a,'');}else{aL(a,b.f);}if(b.f===null||cV(b.f)<5){gL(a,3);}else{gL(a,cV(b.f)-1);}yK(a,lpb(new kpb(),c,b,a));zK(a,Abb(new zbb(),ppb(new opb(),c,a)));return a;}
-function Epb(b,a){aqb(b);a.lc();}
-function Fpb(b){var a;if(b.b!==null){return fqb(b.a.f,Eob(new Dob(),b),b.b);}else{a=Cpb(b,b.a);if(b.d){zK(a,new bpb());}a.te('This is a literal value. What is shown is what the field is checked against.');return a;}}
-function aqb(b){var a;b.e.ab();if(b.a.e==0){a=nB(new xA(),'images/edit.gif');oB(a,wob(new rob(),b));hH(b.e,a);}else{switch(b.a.e){case 1:hH(b.e,Fpb(b));break;case 3:hH(b.e,bqb(b));break;case 2:hH(b.e,dqb(b));break;default:break;}}}
-function bqb(e){var a,b,c,d;a=Cpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=nB(new xA(),'images/function_assets.gif');c.te(d);a.te(d);b=eqb(e,c,a);return b;}
-function cqb(e,g,a){var b,c,d,f;b=rcb(new mcb(),'images/newex_wiz.gif','Field value');d=zp(new tp(),'Literal value');d.x(tpb(new spb(),e,a,b));scb(b,'Literal value:',eqb(e,d,edb(new Fcb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));tcb(b,nz(new qw(),'<hr/>'));tcb(b,hdb(new gdb(),'Advanced options','weak-Text'));if(Fkb(e.c,e.a).b>0){f=zp(new tp(),'Bound variable');f.x(xpb(new wpb(),e,a,b));scb(b,'A variable:',eqb(e,f,edb(new Fcb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=zp(new tp(),'New formula');c.x(tob(new sob(),e,a,b));scb(b,'A formula:',eqb(e,c,edb(new Fcb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));wE(b,wN(g),xN(g));zE(b);}
-function dqb(c){var a,b,d,e;e=Fkb(c.c,c.a);a=xC(new nC());if(c.a.f===null){AC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(uY(e,b),1);AC(a,d);if(c.a.f!==null&&EU(c.a.f,d)){gD(a,b);}}zC(a,Aob(new zob(),c,a));return a;}
-function eqb(d,a,c){var b;b=iA(new gA());jA(b,a);jA(b,c);b.Be('100%');return b;}
-function fqb(b,k,d){var a,c,e,f,g,h,i,j;a=xC(new nC());if(b===null||EU('',b)){AC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(FU(i,61)>0){h=hqb(i);f=h[0];c=h[1];j=f;BC(a,c,f);}else{BC(a,i,i);j=i;}if(b!==null&&EU(b,j)){gD(a,e);g=true;}}if(b!==null&& !g){BC(a,b,b);gD(a,d.a);}zC(a,hpb(new gpb(),k,a));return a;}
-function gqb(){return this.j;}
-function hqb(c){var a,b;b=yb('[Ljava.lang.String;',[608],[1],[2],null);a=FU(c,61);b[0]=iV(c,0,a);b[1]=iV(c,a+1,cV(c));return b;}
-function qob(){}
-_=qob.prototype=new pab();_.pc=gqb;_.tN=mgc+'ConstraintValueEditor';_.tI=296;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function wob(b,a){b.a=a;return b;}
-function yob(a){cqb(this.a,a,this.a.a);}
-function rob(){}
-_=rob.prototype=new fU();_.zc=yob;_.tN=mgc+'ConstraintValueEditor$1';_.tI=297;function tob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vob(a){this.b.e=3;Epb(this.a,this.c);}
-function sob(){}
-_=sob.prototype=new fU();_.zc=vob;_.tN=mgc+'ConstraintValueEditor$10';_.tI=298;function Aob(b,a,c){b.a=a;b.b=c;return b;}
-function Cob(a){this.a.a.f=aD(this.b,bD(this.b));}
-function zob(){}
-_=zob.prototype=new fU();_.yc=Cob;_.tN=mgc+'ConstraintValueEditor$2';_.tI=299;function Eob(b,a){b.a=a;return b;}
-function apb(a){this.a.a.f=a;}
-function Dob(){}
-_=Dob.prototype=new fU();_.af=apb;_.tN=mgc+'ConstraintValueEditor$3';_.tI=300;function dpb(a,b,c){}
-function epb(c,a,b){if(vS(a)){AK(Fb(c,80));}}
-function fpb(a,b,c){}
-function bpb(){}
-_=bpb.prototype=new fU();_.cd=dpb;_.dd=epb;_.ed=fpb;_.tN=mgc+'ConstraintValueEditor$4';_.tI=301;function hpb(a,c,b){a.b=c;a.a=b;return a;}
-function jpb(a){this.b.af(cD(this.a,bD(this.a)));}
-function gpb(){}
-_=gpb.prototype=new fU();_.yc=jpb;_.tN=mgc+'ConstraintValueEditor$5';_.tI=302;function lpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function npb(a){this.c.f=CK(this.b);rab(this.a);}
-function kpb(){}
-_=kpb.prototype=new fU();_.yc=npb;_.tN=mgc+'ConstraintValueEditor$6';_.tI=303;function ppb(b,a,c){b.a=c;return b;}
-function rpb(){gL(this.a,cV(CK(this.a)));}
-function opb(){}
-_=opb.prototype=new fU();_.pb=rpb;_.tN=mgc+'ConstraintValueEditor$7';_.tI=304;function tpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vpb(a){this.b.e=1;Epb(this.a,this.c);}
-function spb(){}
-_=spb.prototype=new fU();_.zc=vpb;_.tN=mgc+'ConstraintValueEditor$8';_.tI=305;function xpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function zpb(a){this.b.e=2;Epb(this.a,this.c);}
-function wpb(){}
-_=wpb.prototype=new fU();_.zc=zpb;_.tN=mgc+'ConstraintValueEditor$9';_.tI=306;function uqb(b,a){b.a=Fab(new Eab());b.c=nY(new lY());b.b=a;xqb(b);return b;}
-function vqb(b,a){jA(b.a,a);pY(b.c,a);}
-function xqb(a){yqb(a,a.b.a);pr(a,a.a);}
-function yqb(g,e){var a,b,c,d,f;b=jV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=pqb(new nqb(),g);vqb(g,c);}else if(a==125){tqb(c,cV(rqb(c))+1);c=null;}else{if(c===null&&d===null){d=eC(new dC());vqb(g,d);}if(d!==null){kC(d,jC(d)+Eb(a));}else if(c!==null){sqb(c,rqb(c)+Eb(a));}}}}
-function zqb(c){var a,b,d;b='';for(a=c.c.qc();a.kc();){d=Fb(a.sc(),20);if(ac(d,81)){b=b+jC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+rqb(Fb(d,82))+'} ';}}c.b.a=lV(b);}
-function Aqb(){return bbb(this.a);}
-function iqb(){}
-_=iqb.prototype=new pab();_.pc=Aqb;_.tN=mgc+'DSLSentenceWidget';_.tI=307;_.a=null;_.b=null;_.c=null;function kqb(b,a){b.a=a;return b;}
-function mqb(a){zqb(this.a.c);rab(this.a);}
-function jqb(){}
-_=jqb.prototype=new fU();_.yc=mqb;_.tN=mgc+'DSLSentenceWidget$1';_.tI=308;function oqb(a){a.b=iA(new gA());}
-function pqb(b,a){b.c=a;oqb(b);b.a=eL(new vK());jA(b.b,nz(new qw(),'&nbsp;'));jA(b.b,b.a);jA(b.b,nz(new qw(),'&nbsp;'));yK(b.a,kqb(new jqb(),b));pr(b,b.b);return b;}
-function rqb(a){return CK(a.a);}
-function sqb(b,a){aL(b.a,a);}
-function tqb(b,a){gL(b.a,a);}
-function nqb(){}
-_=nqb.prototype=new pab();_.tN=mgc+'DSLSentenceWidget$FieldEditor';_.tI=309;_.a=null;function Csb(a){a.c=yab(new wab());}
-function Dsb(k,h,i,c,a){var b,d,e,f,g,j;Csb(k);k.e=Fb(i,16);k.b=c;k.d=h;k.a=a;Bab(k.c,0,0,ftb(k));f=xt(k.c);ex(f,0,0,(xz(),yz),(aA(),cA));hx(f,0,0,'modeller-fact-TypeHeader');g=yab(new wab());Bab(k.c,1,0,g);for(j=0;j<Cjb(k.e).a;j++){d=Cjb(k.e)[j];e=j;itb(k,g,j,d,true);b=Ccb(new Bcb(),'images/delete_item_small.gif');b.te('Remove this whole restriction');oB(b,zrb(new Cqb(),k,e));Bab(g,j,5,b);}if(k.a)FN(k.c,'modeller-fact-pattern-Widget');pr(k,k.c);return k;}
-function Fsb(j,b){var a,c,d,e,f,g,h,i;f=iA(new gA());d=null;e=Ccb(new Bcb(),'images/add_field_to_fact.gif');e.te('Add a field to this nested constraint.');oB(e,Drb(new Crb(),j,b));if(EU(b.a,'&&')){d='All of:';}else{d='Any of:';}jA(f,e);jA(f,nz(new qw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=yab(new wab());FN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){itb(j,h,g,i[g],false);c=g;a=Ccb(new Bcb(),'images/delete_item_small.gif');a.te('Remove this (nested) restriction');oB(a,bsb(new asb(),j,b,c));Bab(h,g,5,a);}}jA(f,h);return f;}
-function atb(g,b,c){var a,d,e,f;f=kgb(g.b,g.e.c,c);a=xC(new nC());AC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];BC(a,dgb(e),e);if(EU(e,b.a)){gD(a,d+1);}}zC(a,krb(new jrb(),g,b,a));return a;}
-function btb(d,a,b,c){var e;e=pgb(d.d.a,b,c);return Bpb(new qob(),d.e,c,a,d.d,e);}
-function ctb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=Fab(new Eab());for(e=0;e<a.a.a;e++){b=a.a[e];jA(d,atb(f,b,a.c));jA(d,btb(f,b,c,a.c));}return d;}else{return null;}}
-function dtb(c,b){var a,d,e;if(c.a&& !alb(c.d.c,c.e.a)){d=iA(new gA());e=eL(new vK());if(c.e.a===null){aL(e,'');}else{aL(e,c.e.a);}gL(e,3);jA(d,e);a=zp(new tp(),'Set');a.x(grb(new frb(),c,e,b));jA(d,a);scb(b,'Variable name',d);}}
-function etb(e,c,d){var a,b;a=iA(new gA());FN(a,'modeller-field-Label');if(!nlb(c)){if(e.a&&d){b=Dcb(new Bcb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');oB(b,srb(new rrb(),e,c));jA(a,b);}}else{jA(a,fC(new dC(),'['+c.b+']'));}jA(a,fC(new dC(),c.c));return a;}
-function ftb(c){var a,b;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te('Add a field to this condition, or bind a varible to this fact.');oB(a,nsb(new msb(),c));if(c.e.a!==null){jA(b,fC(new dC(),'['+c.e.a+'] '+c.e.c));}else{jA(b,fC(new dC(),c.e.c));}jA(b,a);return b;}
-function gtb(f,b){var a,c,d,e;e=rgb(f.b,f.e.c,b.c);a=xC(new nC());AC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];BC(a,dgb(d),d);if(EU(d,b.d)){gD(a,c+1);}}zC(a,orb(new nrb(),f,b,a));return a;}
-function htb(e,b){var a,c,d;d=iA(new gA());d.Be('100%');c=nB(new xA(),'images/function_assets.gif');c.te('This is a formula expression that is evaluated to be true or false.');jA(d,c);if(b.f===null){b.f='';}a=eL(new vK());aL(a,b.f);yK(a,jsb(new isb(),e,b,a));a.Be('100%');jA(d,a);return d;}
-function itb(e,b,c,a,d){if(ac(a,32)){jtb(e,e.d,b,c,a,d);}else if(ac(a,31)){Bab(b,c,0,Fsb(e,Fb(a,31)));st(xt(b),c,0,5);}}
-function jtb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){Bab(d,f,0,etb(h,b,g));Bab(d,f,1,gtb(h,b));Bab(d,f,2,ntb(h,b,h.e.c));Bab(d,f,3,ctb(h,b,h.e.c));a=Ccb(new Bcb(),'images/add_connective.gif');a.te('Add more options to this fields values.');oB(a,fsb(new esb(),h,b,e));Bab(d,f,4,a);}else if(b.e==5){Bab(d,f,0,htb(h,b));st(xt(d),f,0,5);}}
-function ktb(d,g,a){var b,c,e,f;c=rcb(new mcb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=lp(new kp());e=eL(new vK());b=zp(new tp(),'Set');mp(f,e);mp(f,b);b.x(wrb(new vrb(),d,e,a,c));scb(c,'Variable name',f);wE(c,wN(g),xN(g));zE(c);}
-function mtb(i,j){var a,b,c,d,e,f,g,h;g=rcb(new mcb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);FN(g,'ks-popups-Popup');a=xC(new nC());AC(a,'...');c=ogb(i.b,i.e.c);for(e=0;e<c.a;e++){AC(a,c[e]);}gD(a,0);zC(a,zsb(new ysb(),i,a,g));scb(g,'Add a restriction on a field',a);b=xC(new nC());AC(b,'...');BC(b,'All of (And)','&&');BC(b,'Any of (Or)','||');gD(b,0);zC(b,Eqb(new Dqb(),i,b,g));f=edb(new Fcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=iA(new gA());jA(d,b);jA(d,f);scb(g,'Multiple field constraint',d);tcb(g,hdb(new gdb(),'Advanced options','weak-Text'));h=zp(new tp(),'New formula');h.x(crb(new brb(),i,g));scb(g,'Add a new formula style expression',h);dtb(i,g);wE(g,wN(j),xN(j));zE(g);}
-function ltb(i,j,b){var a,c,d,e,f,g,h;h=rcb(new mcb(),'images/newex_wiz.gif','Add fields to this constraint');FN(h,'ks-popups-Popup');a=xC(new nC());AC(a,'...');d=ogb(i.b,i.e.c);for(f=0;f<d.a;f++){AC(a,d[f]);}gD(a,0);zC(a,rsb(new qsb(),i,b,a,h));scb(h,'Add a restriction on a field',a);c=xC(new nC());AC(c,'...');BC(c,'All of (And)','&&');BC(c,'Any of (Or)','||');gD(c,0);zC(c,vsb(new usb(),i,c,b,h));g=edb(new Fcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=iA(new gA());jA(e,c);jA(e,g);scb(h,'Multiple field constraint',e);wE(h,wN(j),xN(j));zE(h);}
-function ntb(c,a,b){var d;d=pgb(c.d.a,b,a.c);return Bpb(new qob(),c.e,a.c,a,c.d,d);}
-function otb(){return Aab(this.c);}
-function Bqb(){}
-_=Bqb.prototype=new pab();_.pc=otb;_.tN=mgc+'FactPatternWidget';_.tI=310;_.a=false;_.b=null;_.d=null;_.e=null;function zrb(b,a,c){b.a=a;b.b=c;return b;}
-function Brb(a){if(Bh('Remove this item?')){Ejb(this.a.e,this.b);Fwb(this.a.d);}}
-function Cqb(){}
-_=Cqb.prototype=new fU();_.zc=Brb;_.tN=mgc+'FactPatternWidget$1';_.tI=311;function Eqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function arb(b){var a;a=new bjb();a.a=cD(this.b,bD(this.b));Ajb(this.a.e,a);Fwb(this.a.d);this.c.lc();}
-function Dqb(){}
-_=Dqb.prototype=new fU();_.yc=arb;_.tN=mgc+'FactPatternWidget$10';_.tI=312;function crb(b,a,c){b.a=a;b.b=c;return b;}
-function erb(b){var a;a=new jlb();a.e=5;Ajb(this.a.e,a);Fwb(this.a.d);this.b.lc();}
-function brb(){}
-_=brb.prototype=new fU();_.zc=erb;_.tN=mgc+'FactPatternWidget$11';_.tI=313;function grb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function irb(b){var a;a=CK(this.c);if(Ewb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=CK(this.c);Fwb(this.a.d);this.b.lc();}
-function frb(){}
-_=frb.prototype=new fU();_.zc=irb;_.tN=mgc+'FactPatternWidget$12';_.tI=314;function krb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mrb(a){this.b.a=cD(this.a,bD(this.a));}
-function jrb(){}
-_=jrb.prototype=new fU();_.yc=mrb;_.tN=mgc+'FactPatternWidget$13';_.tI=315;function orb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function qrb(a){this.c.d=cD(this.b,bD(this.b));rab(this.a.d);yV(),BV;}
-function nrb(){}
-_=nrb.prototype=new fU();_.yc=qrb;_.tN=mgc+'FactPatternWidget$14';_.tI=316;function srb(b,a,c){b.a=a;b.b=c;return b;}
-function urb(a){ktb(this.a,a,this.b);}
-function rrb(){}
-_=rrb.prototype=new fU();_.zc=urb;_.tN=mgc+'FactPatternWidget$15';_.tI=317;function wrb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function yrb(b){var a;a=CK(this.d);if(Ewb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;Fwb(this.a.d);this.c.lc();}
-function vrb(){}
-_=vrb.prototype=new fU();_.zc=yrb;_.tN=mgc+'FactPatternWidget$16';_.tI=318;function Drb(b,a,c){b.a=a;b.b=c;return b;}
-function Frb(a){ltb(this.a,a,this.b);}
-function Crb(){}
-_=Crb.prototype=new fU();_.zc=Frb;_.tN=mgc+'FactPatternWidget$2';_.tI=319;function bsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function dsb(a){if(Bh('Remove this item from nested constraint?')){ejb(this.b,this.c);Fwb(this.a.d);}}
-function asb(){}
-_=asb.prototype=new fU();_.zc=dsb;_.tN=mgc+'FactPatternWidget$3';_.tI=320;function fsb(b,a,c,d){b.a=c;b.b=d;return b;}
-function hsb(a){llb(this.a);Fwb(this.b);}
-function esb(){}
-_=esb.prototype=new fU();_.zc=hsb;_.tN=mgc+'FactPatternWidget$4';_.tI=321;function jsb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function lsb(a){this.c.f=CK(this.b);rab(this.a.d);}
-function isb(){}
-_=isb.prototype=new fU();_.yc=lsb;_.tN=mgc+'FactPatternWidget$5';_.tI=322;function nsb(b,a){b.a=a;return b;}
-function psb(a){mtb(this.a,a);}
-function msb(){}
-_=msb.prototype=new fU();_.zc=psb;_.tN=mgc+'FactPatternWidget$6';_.tI=323;function rsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function tsb(a){cjb(this.c,klb(new jlb(),aD(this.b,bD(this.b))));Fwb(this.a.d);this.d.lc();}
-function qsb(){}
-_=qsb.prototype=new fU();_.yc=tsb;_.tN=mgc+'FactPatternWidget$7';_.tI=324;function vsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function xsb(b){var a;a=new bjb();a.a=cD(this.c,bD(this.c));cjb(this.b,a);Fwb(this.a.d);this.d.lc();}
-function usb(){}
-_=usb.prototype=new fU();_.yc=xsb;_.tN=mgc+'FactPatternWidget$8';_.tI=325;function zsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Bsb(a){Ajb(this.a.e,klb(new jlb(),aD(this.b,bD(this.b))));Fwb(this.a.d);this.c.lc();}
-function ysb(){}
-_=ysb.prototype=new fU();_.yc=Bsb;_.tN=mgc+'FactPatternWidget$9';_.tI=326;function gub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=bcb(new Fbb());b=d.a;for(c=0;c<b.a;c++){a=b[c];dcb(f.a,a.a,jub(f,a,c));}pr(f,f.a);return f;}
-function hub(c,a){var b;b=jq(new iq());if(a.b===null){pq(b,true);a.b='true';}else{pq(b,EU(a.b,'true'));}b.x(rtb(new qtb(),c,a,b));return b;}
-function jub(e,a,d){var b,c;if(EU(a.a,'no-loop')){return kub(e,d);}b=null;if(EU(a.a,'enabled')||EU(a.a,'auto-focus')||EU(a.a,'lock-on-active')){b=hub(e,a);}else{b=lub(e,a);}c=Fab(new Eab());jA(c,b);jA(c,kub(e,d));return c;}
-function kub(c,a){var b;b=nB(new xA(),'images/delete_item_small.gif');oB(b,Ftb(new Etb(),c,a));return b;}
-function lub(c,a){var b;b=eL(new vK());gL(b,cV(a.b)<3?3:cV(a.b));aL(b,a.b);yK(b,vtb(new utb(),c,a,b));if(EU(a.a,'date-effective')||EU(a.a,'date-expires')){if(a.b===null||EU('',a.b))aL(b,'dd-MMM-yyyy');gL(b,10);}zK(b,ztb(new ytb(),c,b));return b;}
-function mub(){var a;a=xC(new nC());AC(a,'Choose...');AC(a,'salience');AC(a,'enabled');AC(a,'date-effective');AC(a,'date-expires');AC(a,'no-loop');AC(a,'agenda-group');AC(a,'activation-group');AC(a,'duration');AC(a,'auto-focus');AC(a,'lock-on-active');AC(a,'ruleflow-group');AC(a,'dialect');return a;}
-function nub(){return this.a.pc();}
-function ptb(){}
-_=ptb.prototype=new pab();_.pc=nub;_.tN=mgc+'RuleAttributeWidget';_.tI=327;_.a=null;_.b=null;_.c=null;function rtb(b,a,c,d){b.a=c;b.b=d;return b;}
-function ttb(a){this.a.b=oq(this.b)?'true':'false';}
-function qtb(){}
-_=qtb.prototype=new fU();_.zc=ttb;_.tN=mgc+'RuleAttributeWidget$1';_.tI=328;function vtb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function xtb(a){this.b.b=CK(this.c);rab(this.a);}
-function utb(){}
-_=utb.prototype=new fU();_.yc=xtb;_.tN=mgc+'RuleAttributeWidget$2';_.tI=329;function ztb(b,a,c){b.a=c;return b;}
-function Btb(a,b,c){}
-function Ctb(a,b,c){}
-function Dtb(a,b,c){gL(this.a,cV(CK(this.a)));}
-function ytb(){}
-_=ytb.prototype=new fU();_.cd=Btb;_.dd=Ctb;_.ed=Dtb;_.tN=mgc+'RuleAttributeWidget$3';_.tI=330;function Ftb(b,a,c){b.a=a;b.b=c;return b;}
-function bub(b){var a;a=vfb(new mfb(),'Remove this rule option?',dub(new cub(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
-function Etb(){}
-_=Etb.prototype=new fU();_.zc=bub;_.tN=mgc+'RuleAttributeWidget$4';_.tI=331;function dub(b,a,c){b.a=a;b.b=c;return b;}
-function fub(){clb(this.a.a.b,this.b);Fwb(this.a.a.c);}
-function cub(){}
-_=cub.prototype=new fU();_.pb=fub;_.tN=mgc+'RuleAttributeWidget$5';_.tI=332;function twb(b,a){b.c=Fb(a.b,83);b.a=cLb((aLb(),fLb),a.d.o);b.b=yab(new wab());Dwb(b);FN(b.b,'model-builder-Background');pr(b,b.b);b.Be('100%');b.qe('100%');return b;}
-function uwb(b,a){Akb(b.c,lib(new jib(),a));Fwb(b);}
-function vwb(b,a){Akb(b.c,tib(new rib(),a));Fwb(b);}
-function wwb(b,a){zkb(b.c,Aib(new zib(),a));Fwb(b);}
-function xwb(b,a){zkb(b.c,rjb(a));Fwb(b);}
-function ywb(b,a){Akb(b.c,rjb(a));Fwb(b);}
-function zwb(b,a){zkb(b.c,zjb(new yjb(),a));Fwb(b);}
-function Awb(a,b){Akb(a.c,dib(new cib(),b));Fwb(a);}
-function Cwb(b){var a;a=Ccb(new Bcb(),'images/new_item.gif');a.te('Add an option to the rule, to modify its behavior when evaluated or executed.');oB(a,yvb(new xvb(),b));return a;}
-function Dwb(c){var a,b;ky(c.b);b=Ccb(new Bcb(),'images/new_item.gif');b.te('Add a condition to this rule.');oB(b,qvb(new pub(),c));Bab(c.b,0,0,fC(new dC(),'WHEN'));Bab(c.b,0,2,b);Bab(c.b,1,1,axb(c,c.c));Bab(c.b,2,0,fC(new dC(),'THEN'));a=Ccb(new Bcb(),'images/new_item.gif');a.te('Add an action to this rule.');oB(a,uvb(new tvb(),c));Bab(c.b,2,2,a);Bab(c.b,3,1,bxb(c,c.c));Bab(c.b,4,0,fC(new dC(),'(options)'));Bab(c.b,4,2,Cwb(c));Bab(c.b,5,1,gub(new ptb(),c,c.c));}
-function Ewb(b,a){return blb(b.c,a)||sgb(b.a,a);}
-function Fwb(a){Dwb(a);rab(a);}
-function axb(e,c){var a,b,d,f,g;f=ebb(new dbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,16)){g=Dsb(new Bqb(),e,d,e.a,true);tO(f,gxb(e,c,b,g));tO(f,fxb(e));}else if(ac(d,30)){g=kob(new bob(),e,Fb(d,30),e.a);tO(f,gxb(e,c,b,g));tO(f,fxb(e));}else if(ac(d,14)){}else{throw lU(new kU(),"I don't know what type of pattern that is.");}}a=ebb(new dbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,14)){g=uqb(new iqb(),Fb(d,14));tO(a,gxb(e,c,b,g));FN(a,'model-builderInner-Background');}}tO(f,a);return f;}
-function bxb(g,e){var a,b,c,d,f,h,i;h=ebb(new dbb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,28)){i=ynb(new vmb(),g,Fb(a,28),g.a);}else if(ac(a,25)){i=lmb(new slb(),g,Fb(a,25),g.a);}else if(ac(a,27)){i=tmb(new smb(),g.a,Fb(a,27));}else if(ac(a,14)){i=uqb(new iqb(),Fb(a,14));FN(i,'model-builderInner-Background');}tO(h,fxb(g));b=Fab(new Eab());f=Ccb(new Bcb(),'images/delete_item_small.gif');f.te('Remove this action.');d=c;oB(f,awb(new Fvb(),g,e,d));jA(b,i);if(!ac(i,84)){i.Be('100%');b.Be('100%');}jA(b,f);tO(h,b);}return h;}
-function cxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=rcb(new mcb(),'images/new_fact.gif','Add a new action...');FN(k,'ks-popups-Popup');q=Ekb(n.c);p=xC(new nC());l=xC(new nC());j=xC(new nC());AC(p,'Choose ...');AC(l,'Choose ...');AC(j,'Choose ...');for(i=q.qc();i.kc();){o=Fb(i.sc(),1);AC(p,o);AC(l,o);AC(j,o);}d=qgb(n.a);for(f=0;f<d.a;f++){AC(p,d[f]);}gD(p,0);zC(p,rub(new qub(),n,p,k));zC(l,vub(new uub(),n,l,k));zC(j,zub(new yub(),n,j,k));if(FC(p)>1){scb(k,'Set the values of a field on',p);}if(FC(j)>1){e=iA(new gA());jA(e,j);g=nB(new xA(),'images/information.gif');g.te('Modify a field on a fact, and notify the engine to re-evaluate rules.');jA(e,g);scb(k,'Modify a fact',e);}if(FC(l)>1){scb(k,'Retract the fact',l);}b=xC(new nC());c=xC(new nC());AC(b,'Choose ...');AC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];AC(b,h);AC(c,h);}zC(b,Dub(new Cub(),n,b,k));zC(c,bvb(new avb(),n,c,k));if(FC(b)>1){scb(k,'Insert a new fact',b);e=iA(new gA());jA(e,c);g=nB(new xA(),'images/inf!
 ormation.gif');g.te('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');jA(e,g);scb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=xC(new nC());AC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];BC(a,sjb(m),oT(f));}zC(a,fvb(new evb(),n,a,k));scb(k,'DSL sentence',a);}wE(k,dc(ai()/3),dc(Fh()/3));zE(k);}
-function dxb(c,d){var a,b;b=rcb(new mcb(),'images/config.png','Add an option to the rule');a=mub();gD(a,0);zC(a,Cvb(new Bvb(),c,a,b));FN(b,'ks-popups-Popup');scb(b,'Attribute',a);wE(b,wN(d)-400,xN(d));zE(b);}
-function exb(j,k){var a,b,c,d,e,f,g,h,i;h=rcb(new mcb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=xC(new nC());BC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){AC(e,f[g]);}gD(e,0);if(f.a>0)scb(h,'Fact',e);zC(e,iwb(new hwb(),j,e,h));FN(h,'ks-popups-Popup');c=(Dfb(),Efb);b=xC(new nC());BC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];BC(b,cgb(a),a);}gD(b,0);if(f.a>0)scb(h,'Condition type',b);zC(b,mwb(new lwb(),j,b,h));if(j.a.b.a>0){d=xC(new nC());AC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];BC(d,sjb(i),oT(g));}zC(d,qwb(new pwb(),j,d,h));scb(h,'DSL sentence',d);}wE(h,wN(k)-400,xN(k));zE(h);}
-function fxb(b){var a;a=nz(new qw(),'&nbsp;');a.qe('2px');return a;}
-function gxb(f,d,b,g){var a,c,e;a=Fab(new Eab());e=Ccb(new Bcb(),'images/delete_item_small.gif');e.te('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;oB(e,jvb(new ivb(),f,d,c));a.Be('100%');g.Be('100%');jA(a,g);jA(a,e);return a;}
-function hxb(){return Aab(this.b)||this.j;}
-function oub(){}
-_=oub.prototype=new pab();_.pc=hxb;_.tN=mgc+'RuleModeller';_.tI=333;_.a=null;_.b=null;_.c=null;function qvb(b,a){b.a=a;return b;}
-function svb(a){exb(this.a,a);}
-function pub(){}
-_=pub.prototype=new fU();_.zc=svb;_.tN=mgc+'RuleModeller$1';_.tI=334;function rub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function tub(a){uwb(this.a,aD(this.c,bD(this.c)));this.b.lc();}
-function qub(){}
-_=qub.prototype=new fU();_.yc=tub;_.tN=mgc+'RuleModeller$10';_.tI=335;function vub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function xub(a){Awb(this.a,aD(this.c,bD(this.c)));this.b.lc();}
-function uub(){}
-_=uub.prototype=new fU();_.yc=xub;_.tN=mgc+'RuleModeller$11';_.tI=336;function zub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Bub(a){vwb(this.a,aD(this.b,bD(this.b)));this.c.lc();}
-function yub(){}
-_=yub.prototype=new fU();_.yc=Bub;_.tN=mgc+'RuleModeller$12';_.tI=337;function Dub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Fub(b){var a;a=aD(this.b,bD(this.b));Akb(this.a.c,uhb(new shb(),a));Fwb(this.a);this.c.lc();}
-function Cub(){}
-_=Cub.prototype=new fU();_.yc=Fub;_.tN=mgc+'RuleModeller$13';_.tI=338;function bvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function dvb(b){var a;a=aD(this.b,bD(this.b));Akb(this.a.c,Chb(new Ahb(),a));Fwb(this.a);this.c.lc();}
-function avb(){}
-_=avb.prototype=new fU();_.yc=dvb;_.tN=mgc+'RuleModeller$14';_.tI=339;function fvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function hvb(b){var a;a=mT(cD(this.b,bD(this.b)));ywb(this.a,this.a.a.a[a]);this.c.lc();}
-function evb(){}
-_=evb.prototype=new fU();_.yc=hvb;_.tN=mgc+'RuleModeller$15';_.tI=340;function jvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function lvb(b){var a;a=vfb(new mfb(),'Remove this entire condition?',nvb(new mvb(),this,this.c,this.b));wE(a,wN(b),xN(b));zE(a);}
-function ivb(){}
-_=ivb.prototype=new fU();_.zc=lvb;_.tN=mgc+'RuleModeller$16';_.tI=341;function nvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function pvb(){if(dlb(this.c,this.b)){Fwb(this.a.a);}else{xbb("Can't remove that item as it is used in the action part of the rule.");}}
-function mvb(){}
-_=mvb.prototype=new fU();_.pb=pvb;_.tN=mgc+'RuleModeller$17';_.tI=342;function uvb(b,a){b.a=a;return b;}
-function wvb(a){cxb(this.a,a);}
-function tvb(){}
-_=tvb.prototype=new fU();_.zc=wvb;_.tN=mgc+'RuleModeller$2';_.tI=343;function yvb(b,a){b.a=a;return b;}
-function Avb(a){dxb(this.a,a);}
-function xvb(){}
-_=xvb.prototype=new fU();_.zc=Avb;_.tN=mgc+'RuleModeller$3';_.tI=344;function Cvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Evb(a){ykb(this.a.c,okb(new nkb(),aD(this.b,bD(this.b)),''));Fwb(this.a);this.c.lc();}
-function Bvb(){}
-_=Bvb.prototype=new fU();_.yc=Evb;_.tN=mgc+'RuleModeller$4';_.tI=345;function awb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function cwb(b){var a;a=vfb(new mfb(),'Remove this item?',ewb(new dwb(),this,this.c,this.b));wE(a,wN(b),xN(b));zE(a);}
-function Fvb(){}
-_=Fvb.prototype=new fU();_.zc=cwb;_.tN=mgc+'RuleModeller$5';_.tI=346;function ewb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function gwb(){elb(this.c,this.b);Fwb(this.a.a);}
-function dwb(){}
-_=dwb.prototype=new fU();_.pb=gwb;_.tN=mgc+'RuleModeller$6';_.tI=347;function iwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kwb(b){var a;a=aD(this.b,bD(this.b));if(!EU(a,'IGNORE')){zwb(this.a,a);this.c.lc();}}
-function hwb(){}
-_=hwb.prototype=new fU();_.yc=kwb;_.tN=mgc+'RuleModeller$7';_.tI=348;function mwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function owb(b){var a;a=cD(this.b,bD(this.b));if(!EU(a,'IGNORE')){wwb(this.a,a);this.c.lc();}}
-function lwb(){}
-_=lwb.prototype=new fU();_.yc=owb;_.tN=mgc+'RuleModeller$8';_.tI=349;function qwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function swb(b){var a;a=mT(cD(this.b,bD(this.b)));xwb(this.a,this.a.a.b[a]);this.c.lc();}
-function pwb(){}
-_=pwb.prototype=new fU();_.yc=swb;_.tN=mgc+'RuleModeller$9';_.tI=350;function kxb(b,a,c){b.a=c;return b;}
-function mxb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
-function jxb(){}
-_=jxb.prototype=new fU();_.zc=mxb;_.tN=ngc+'AssetAttachmentFileWidget$1';_.tI=351;function oxb(b,a){b.a=a;return b;}
-function qxb(a){Cxb(this.a);Dxb(this.a);}
-function nxb(){}
-_=nxb.prototype=new fU();_.zc=qxb;_.tN=ngc+'AssetAttachmentFileWidget$2';_.tI=352;function sxb(b,a){b.a=a;return b;}
-function vxb(a){}
-function uxb(a){sdb();if(aV(a.a,'OK')>(-1)){f_b(this.a.e);}else{xbb('Unable to upload the file.');}}
-function rxb(){}
-_=rxb.prototype=new fU();_.od=vxb;_.nd=uxb;_.tN=ngc+'AssetAttachmentFileWidget$3';_.tI=353;function jyb(){jyb=d3;ucb();}
-function hyb(c){var a,b;jyb();rcb(c,'images/new_wiz.gif','Create a new fact template');c.a=ut(new ot());c.b=eL(new vK());scb(c,'Name:',c.b);scb(c,'Fact attributes:',c.a);a=nB(new xA(),'images/new_item.gif');oB(a,ayb(new Fxb(),c));scb(c,'Add a new attribute',a);b=zp(new tp(),'Create');b.x(eyb(new dyb(),c));scb(c,'',b);return c;}
-function iyb(b){var a;a=yt(b.a);b.a.ze(a,0,eL(new vK()));b.a.ze(a,1,myb(b));}
-function kyb(d){var a,b,c,e,f;b='template '+CK(d.b)+'\n';for(a=0;a<yt(d.a);a++){e=Fb(ty(d.a,a,1),85);f=aD(e,bD(e));c=CK(Fb(ty(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
-function lyb(b,a){b.c=a;}
-function myb(b){var a;a=xC(new nC());AC(a,'String');AC(a,'Integer');AC(a,'Float');AC(a,'Date');AC(a,'Boolean');return a;}
-function Exb(){}
-_=Exb.prototype=new mcb();_.tN=ngc+'FactTemplateWizard';_.tI=354;_.a=null;_.b=null;_.c=null;function ayb(b,a){b.a=a;return b;}
-function cyb(a){iyb(this.a);}
-function Fxb(){}
-_=Fxb.prototype=new fU();_.zc=cyb;_.tN=ngc+'FactTemplateWizard$1';_.tI=355;function eyb(b,a){b.a=a;return b;}
-function gyb(a){jDb(this.a.c);this.a.lc();}
-function dyb(){}
-_=dyb.prototype=new fU();_.zc=gyb;_.tN=ngc+'FactTemplateWizard$2';_.tI=356;function oyb(b,a,c){wxb(b,a,c);return b;}
-function qyb(){return 'images/model_large.png';}
-function ryb(){return 'editable-Surface';}
-function nyb(){}
-_=nyb.prototype=new ixb();_.vb=qyb;_.Eb=ryb;_.tN=ngc+'ModelAttachmentFileWidget';_.tI=357;function qzb(){qzb=d3;ucb();}
-function ozb(a){a.b=bcb(new Fbb());a.d=bcb(new Fbb());}
-function pzb(f,b){var a,c,d,e;qzb();rcb(f,'images/new_wiz.gif','Create a new package');ozb(f);f.c=eL(new vK());f.a=pK(new oK());gcb(f.d,nz(new qw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));dcb(f.d,'Name:',f.c);dcb(f.d,'Description:',f.a);f.c.te('The name of the package. Avoid spaces, use underscore instead.');e=jG(new hG(),'action','Create new pa!
 ckage');d=jG(new hG(),'action','Import from drl file');pq(e,true);f.d.ye(true);e.x(uyb(new tyb(),f));f.b.ye(false);d.x(yyb(new xyb(),f));a=lp(new kp());mp(a,e);mp(a,d);tcb(f,a);tcb(f,f.d);tcb(f,f.b);dcb(f.b,'DRL file to import:',szb(b,f));c=zp(new tp(),'Create package');c.x(Cyb(new Byb(),f,b));dcb(f.d,'',c);FN(f,'ks-popups-Popup');return f;}
-function rzb(d,b,a,c){wdb('Creating package - please wait...');ETb(mMb(),b,a,bzb(new azb(),d,c));}
-function szb(a,d){qzb();var b,c,e,f;f=fv(new av());lv(f,v()+'package');mv(f,'multipart/form-data');nv(f,'post');c=iA(new gA());f.Ae(c);e=jt(new it());mt(e,'classicDRLFile');jA(c,e);jA(c,fC(new dC(),'upload:'));b=Dcb(new Bcb(),'images/upload.gif','Import');oB(b,gzb(new fzb(),f));jA(c,b);gv(f,kzb(new jzb(),a,d,e));return f;}
-function syb(){}
-_=syb.prototype=new mcb();_.tN=ngc+'NewPackageWizard';_.tI=358;_.a=null;_.c=null;function uyb(b,a){b.a=a;return b;}
-function wyb(a){this.a.d.ye(true);this.a.b.ye(false);}
-function tyb(){}
-_=tyb.prototype=new fU();_.zc=wyb;_.tN=ngc+'NewPackageWizard$1';_.tI=359;function yyb(b,a){b.a=a;return b;}
-function Ayb(a){this.a.d.ye(false);this.a.b.ye(true);}
-function xyb(){}
-_=xyb.prototype=new fU();_.zc=Ayb;_.tN=ngc+'NewPackageWizard$2';_.tI=360;function Cyb(b,a,c){b.a=a;b.b=c;return b;}
-function Eyb(b,a){return dV(a,'[a-zA-Z\\.]*');}
-function Fyb(a){if(Eyb(this,CK(this.a.c))){rzb(this.a,CK(this.a.c),CK(this.a.a),this.b);this.a.lc();}else{aL(this.a.c,'');zh('Invalid package name, use java-style package name');}}
-function Byb(){}
-_=Byb.prototype=new fU();_.zc=Fyb;_.tN=ngc+'NewPackageWizard$3';_.tI=361;function bzb(b,a,c){b.a=c;return b;}
-function dzb(b,a){sdb();sFb(b.a);}
-function ezb(a){dzb(this,a);}
-function azb(){}
-_=azb.prototype=new vcb();_.pd=ezb;_.tN=ngc+'NewPackageWizard$4';_.tI=362;function gzb(a,b){a.a=b;return a;}
-function izb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){wdb('Importing drl package, please wait, as this could take some time...');pv(this.a);}}
-function fzb(){}
-_=fzb.prototype=new fU();_.zc=izb;_.tN=ngc+'NewPackageWizard$5';_.tI=363;function kzb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
-function nzb(a){if(cV(lt(this.c))==0){zh('You did not choose a drl file to import !');Bv(a,true);}else if(!CU(lt(this.c),'.drl')){zh("You can only import '.drl' files.");Bv(a,true);}}
-function mzb(a){if(aV(a.a,'OK')>(-1)){zh('Package was imported successfully. ');sFb(this.a);this.b.lc();}else{xbb('Unable to import into the package. ['+a.a+']');}sdb();}
-function jzb(){}
-_=jzb.prototype=new fU();_.od=nzb;_.nd=mzb;_.tN=ngc+'NewPackageWizard$6';_.tI=364;function nBb(h,e,f){var a,b,c,d,g;h.c=ccb(new Fbb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=fH(new DG());g=eL(new vK());a=zp(new tp(),'Build package');a.te('This will validate and compile all the assets in a package.');a.x(gAb(new uzb(),h,b,g));c=zp(new tp(),'Show package source');c.x(kAb(new jAb(),h,e));dcb(h.c,'View source for package',c);d=iA(new gA());jA(d,a);jA(d,nz(new qw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));jA(d,g);jA(d,edb(new Fcb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));dcb(h.c,'Build binary package:',d);gcb(h.c,nz(new qw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));gcb(h.c,b);FN(h.c,'package-Editor');h.c.Be('100%');pr(h,h.c);return h;}
-function pBb(d,a,c){var b;a.ab();b=iA(new gA());jA(b,fC(new dC(),'Validating and building package, please wait...'));jA(b,nB(new xA(),'images/red_anime.gif'));wdb('Please wait...');hH(a,b);fg(DAb(new CAb(),d,c,a));}
-function qBb(i,e,a){var b,c,d,f,g,h;a.ab();b=ut(new ot());FN(b,'build-Results');bz(b,0,1,'Format');bz(b,0,2,'Name');bz(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ze(f,0,nB(new xA(),'images/error.gif'));bz(b,f,1,d.a);bz(b,f,2,d.b);bz(b,f,3,d.c);if(!EU('package',d.a)){h=zp(new tp(),'Show');h.x(kBb(new jBb(),i,d));b.ze(f,4,h);}}b.Be('100%');g=zG(new xG(),b);BG(g,true);EN(g,'100%','25em');hH(a,g);}
-function rBb(g,i){var a,b,c,d,e,f,h;wdb('Loading existing snapshots...');c=rcb(new mcb(),'images/snapshot.png','Create a snapshot for deployment.');tcb(c,nz(new qw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=sO(new qO());scb(c,'Choose or create snapshot name:',h);f=nY(new lY());d=eL(new vK());e='NEW: ';dUb(mMb(),g.a.j,wzb(new vzb(),g,f,h,d));a=eL(new vK());scb(c,'Comment:',a);b=zp(new tp(),'Create new snapshot');scb(c,'',b);b.x(Ezb(new Dzb(),g,f,d,a,c));c.Be('50%');wE(c,dc((tab()-rE(c))/2),100);zE(c);}
-function sBb(e,a){var b,c,d,f;a.ab();f=sO(new qO());tO(f,nz(new qw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=uBb(e.a);b=nz(new qw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");tO(f,b);d=zp(new tp(),'Create snapshot for deployment');d.x(gBb(new fBb(),e));tO(f,d);hH(a,f);}
-function tBb(b,a){wdb('Assembling package source...');fg(oAb(new nAb(),b,a));}
-function uBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
-function vBb(b,c){var a,d;d=rcb(new mcb(),'images/view_source.gif','Viewing source for: '+c);a=pK(new oK());uK(a,30);a.Be('100%');tK(a,80);tcb(d,a);aL(a,b);a.ne(true);a.te('THIS IS READ ONLY - you may copy and paste, but not edit.');zK(a,xAb(new wAb(),a,b));sdb();wE(d,dc((tab()-rE(d))/2),100);zE(d);}
-function tzb(){}
-_=tzb.prototype=new nr();_.tN=ngc+'PackageBuilderWidget';_.tI=365;_.a=null;_.b=null;_.c=null;function gAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function iAb(a){pBb(this.a,this.b,CK(this.c));}
-function uzb(){}
-_=uzb.prototype=new fU();_.zc=iAb;_.tN=ngc+'PackageBuilderWidget$1';_.tI=366;function wzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
-function yzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=jG(new hG(),'snapshotNameGroup',f[c].b);pY(this.b,b);tO(this.c,b);}d=iA(new gA());e=jG(new hG(),'snapshotNameGroup','NEW: ');jA(d,e);this.a.ne(false);e.x(Azb(new zzb(),this,this.a));jA(d,this.a);pY(this.b,e);tO(this.c,d);sdb();}
-function vzb(){}
-_=vzb.prototype=new vcb();_.pd=yzb;_.tN=ngc+'PackageBuilderWidget$10';_.tI=367;function Azb(b,a,c){b.a=c;return b;}
-function Czb(a){this.a.ne(true);}
-function zzb(){}
-_=zzb.prototype=new fU();_.zc=Czb;_.tN=ngc+'PackageBuilderWidget$11';_.tI=368;function Ezb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
-function aAb(d){var a,b,c;c=false;for(b=this.f.qc();b.kc();){a=Fb(b.sc(),87);if(oq(a)){this.a=nq(a);if(!EU(nq(a),'NEW: ')){c=true;}break;}}if(EU(this.a,'NEW: ')){this.a=CK(this.e);}if(EU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}DTb(mMb(),this.b.a.j,this.a,c,CK(this.c),cAb(new bAb(),this,this.d));}
-function Dzb(){}
-_=Dzb.prototype=new fU();_.zc=aAb;_.tN=ngc+'PackageBuilderWidget$12';_.tI=369;_.a='';function cAb(b,a,c){b.a=a;b.b=c;return b;}
-function eAb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.lc();}
-function fAb(a){eAb(this,a);}
-function bAb(){}
-_=bAb.prototype=new vcb();_.pd=fAb;_.tN=ngc+'PackageBuilderWidget$13';_.tI=370;function kAb(b,a,c){b.a=c;return b;}
-function mAb(a){tBb(this.a.m,this.a.j);}
-function jAb(){}
-_=jAb.prototype=new fU();_.zc=mAb;_.tN=ngc+'PackageBuilderWidget$2';_.tI=371;function oAb(a,c,b){a.b=c;a.a=b;return a;}
-function qAb(){sTb(mMb(),this.b,sAb(new rAb(),this,this.a));}
-function nAb(){}
-_=nAb.prototype=new fU();_.pb=qAb;_.tN=ngc+'PackageBuilderWidget$3';_.tI=372;function sAb(b,a,c){b.a=c;return b;}
-function uAb(c,b){var a;a=Fb(b,1);vBb(a,c.a);}
-function vAb(a){uAb(this,a);}
-function rAb(){}
-_=rAb.prototype=new vcb();_.pd=vAb;_.tN=ngc+'PackageBuilderWidget$4';_.tI=373;function xAb(a,b,c){a.a=b;a.b=c;return a;}
-function zAb(a,b,c){aL(this.a,this.b);}
-function AAb(a,b,c){aL(this.a,this.b);}
-function BAb(a,b,c){aL(this.a,this.b);}
-function wAb(){}
-_=wAb.prototype=new fU();_.cd=zAb;_.dd=AAb;_.ed=BAb;_.tN=ngc+'PackageBuilderWidget$5';_.tI=374;function DAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function FAb(){tTb(mMb(),this.a.a.m,this.c,bBb(new aBb(),this,this.b));}
-function CAb(){}
-_=CAb.prototype=new fU();_.pb=FAb;_.tN=ngc+'PackageBuilderWidget$6';_.tI=375;function bBb(b,a,c){b.a=a;b.b=c;return b;}
-function dBb(c,a){var b;sdb();if(a===null){sBb(c.a.a,c.b);}else{b=Fb(a,88);qBb(c.a.a,b,c.b);}}
-function eBb(a){dBb(this,a);}
-function aBb(){}
-_=aBb.prototype=new vcb();_.pd=eBb;_.tN=ngc+'PackageBuilderWidget$7';_.tI=376;function gBb(b,a){b.a=a;return b;}
-function iBb(a){rBb(this.a,a);}
-function fBb(){}
-_=fBb.prototype=new fU();_.zc=iBb;_.tN=ngc+'PackageBuilderWidget$8';_.tI=377;function kBb(b,a,c){b.a=a;b.b=c;return b;}
-function mBb(a){oIb(this.a.b,this.b.d);}
-function jBb(){}
-_=jBb.prototype=new fU();_.zc=mBb;_.tN=ngc+'PackageBuilderWidget$9';_.tI=378;function tEb(e,b,c,a,d){bcb(e);e.b=b;e.c=c;e.a=a;e.e=d;FN(e,'package-Editor');e.Be('100%');zEb(e);return e;}
-function vEb(b){var a;a=pK(new oK());a.Be('100%');uK(a,8);aL(a,b.b.d);yK(a,qDb(new pDb(),b,a));tK(a,100);return xEb(b,a);}
-function wEb(b,a){wdb('Saving package configuration. Please wait ...');uUb(mMb(),b.b,cCb(new bCb(),b,a));}
-function xEb(d,a){var b,c;c=iA(new gA());jA(c,a);b=nB(new xA(),'images/max_min.gif');b.te('Increase view area');jA(c,b);oB(b,mDb(new lDb(),d,a));return c;}
-function yEb(g){var a,b,c,d,e,f,h;a=pK(new oK());a.Be('100%');uK(a,8);tK(a,100);aL(a,g.b.f);yK(a,pCb(new oCb(),g,a));f=iA(new gA());jA(f,a);h=sO(new qO());b=nB(new xA(),'images/max_min.gif');oB(b,tCb(new sCb(),g,a));b.te('Increase view area.');tO(h,b);e=nB(new xA(),'images/new_import.gif');oB(e,xCb(new wCb(),g,a));tO(h,e);e.te('Add a new Type/Class import to the package.');d=nB(new xA(),'images/new_global.gif');oB(d,BCb(new ACb(),g,a));d.te('Add a new global variable declaration.');tO(h,d);c=nB(new xA(),'images/fact_template.gif');oB(c,dDb(new cDb(),g,a));c.te('Add a new fact template.');f.Be('100%');jA(f,h);return f;}
-function zEb(c){var a,b;hcb(c);gcb(c,aFb(c));dcb(c,'Description:',vEb(c));dcb(c,'Header:',yEb(c));gcb(c,nz(new qw(),'<hr/>'));dcb(c,'Last modified:',fC(new dC(),a0(c.b.i)));dcb(c,'Last contributor:',fC(new dC(),c.b.h));gcb(c,nz(new qw(),'<hr/>'));c.f=mz(new qw());b=iA(new gA());a=Ccb(new Bcb(),'images/edit.gif');a.te('Change status.');oB(a,ECb(new xBb(),c));jA(b,c.f);if(!c.b.g){jA(b,a);}CEb(c,c.b.l);dcb(c,'Status:',b);if(!c.b.g){gcb(c,BEb(c));}gcb(c,nz(new qw(),'<hr/>'));}
-function AEb(a){wdb('Refreshing package data...');iUb(mMb(),a.b.m,lCb(new kCb(),a));}
-function BEb(f){var a,b,c,d,e;c=iA(new gA());e=zp(new tp(),'Save and validate configuration');e.x(BDb(new ADb(),f));jA(c,e);a=zp(new tp(),'Archive');a.x(FDb(new EDb(),f));jA(c,a);b=zp(new tp(),'Copy');b.x(dEb(new cEb(),f));jA(c,b);d=zp(new tp(),'Rename');d.x(hEb(new gEb(),f));jA(c,d);return c;}
-function CEb(b,a){qz(b.f,'<b>'+a+'<\/b>');}
-function DEb(d){var a,b,c;c=rcb(new mcb(),'images/new_wiz.gif','Copy the package');tcb(c,nz(new qw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=eL(new vK());scb(c,'New package name:',a);b=zp(new tp(),'OK');scb(c,'',b);b.x(zBb(new yBb(),d,a,c));c.Be('40%');wE(c,dc(ai()/3),dc(Fh()/3));zE(c);}
-function EEb(d){var a,b,c;c=rcb(new mcb(),'images/new_wiz.gif','Rename the package');tcb(c,nz(new qw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=eL(new vK());scb(c,'New package name:',a);b=zp(new tp(),'OK');scb(c,'',b);b.x(lEb(new kEb(),d,a,c));c.Be('40%');wE(c,dc(ai()/3),dc(Fh()/3));zE(c);}
-function FEb(b,c){var a;a=zeb(new deb(),b.b.m,true);Ceb(a,xDb(new wDb(),b,a));wE(a,wN(c),xN(c));zE(a);}
-function aFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=nB(new xA(),'images/warning.gif');a=iA(new gA());jA(a,b);c=nz(new qw(),'<b>There were errors validating this package configuration.');jA(a,c);d=zp(new tp(),'View errors');d.x(tDb(new bDb(),e));jA(a,d);return a;}else{return fH(new DG());}}
-function wBb(){}
-_=wBb.prototype=new Fbb();_.tN=ngc+'PackageEditor';_.tI=379;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ECb(b,a){b.a=a;return b;}
-function aDb(a){FEb(this.a,a);}
-function xBb(){}
-_=xBb.prototype=new fU();_.zc=aDb;_.tN=ngc+'PackageEditor$1';_.tI=380;function zBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function BBb(a){ATb(mMb(),this.a.b.j,CK(this.b),DBb(new CBb(),this,this.c));}
-function yBb(){}
-_=yBb.prototype=new fU();_.zc=BBb;_.tN=ngc+'PackageEditor$10';_.tI=381;function DBb(b,a,c){b.a=a;b.b=c;return b;}
-function FBb(b,a){qGb(b.a.a.e);zh('Package copied successfully.');b.b.lc();}
-function aCb(a){FBb(this,a);}
-function CBb(){}
-_=CBb.prototype=new vcb();_.pd=aCb;_.tN=ngc+'PackageEditor$11';_.tI=382;function cCb(b,a,c){b.a=a;b.b=c;return b;}
-function eCb(b,a){wGb(b.a.a);b.a.d=Fb(a,89);AEb(b.a);wdb('Package configuration updated successfully, refreshing content cache...');eLb((aLb(),fLb),b.a.b.j,hCb(new gCb(),b,b.b));}
-function fCb(a){eCb(this,a);}
-function bCb(){}
-_=bCb.prototype=new vcb();_.pd=fCb;_.tN=ngc+'PackageEditor$12';_.tI=383;function hCb(b,a,c){b.a=c;return b;}
-function jCb(){if(this.a!==null){qGb(this.a);}sdb();}
-function gCb(){}
-_=gCb.prototype=new fU();_.pb=jCb;_.tN=ngc+'PackageEditor$13';_.tI=384;function lCb(b,a){b.a=a;return b;}
-function nCb(a){sdb();this.a.b=Fb(a,19);zEb(this.a);}
-function kCb(){}
-_=kCb.prototype=new vcb();_.pd=nCb;_.tN=ngc+'PackageEditor$14';_.tI=385;function pCb(b,a,c){b.a=a;b.b=c;return b;}
-function rCb(a){this.a.b.f=CK(this.b);mGb(this.a.c);}
-function oCb(){}
-_=oCb.prototype=new fU();_.yc=rCb;_.tN=ngc+'PackageEditor$16';_.tI=386;function tCb(b,a,c){b.a=c;return b;}
-function vCb(a){if(sK(this.a)!=32){uK(this.a,32);}else{uK(this.a,8);}}
-function sCb(){}
-_=sCb.prototype=new fU();_.zc=vCb;_.tN=ngc+'PackageEditor$17';_.tI=387;function xCb(b,a,c){b.a=a;b.b=c;return b;}
-function zCb(a){aL(this.b,CK(this.b)+'\n'+'import <your class here>');this.a.b.f=CK(this.b);}
-function wCb(){}
-_=wCb.prototype=new fU();_.zc=zCb;_.tN=ngc+'PackageEditor$18';_.tI=388;function BCb(b,a,c){b.a=a;b.b=c;return b;}
-function DCb(a){aL(this.b,CK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=CK(this.b);}
-function ACb(){}
-_=ACb.prototype=new fU();_.zc=DCb;_.tN=ngc+'PackageEditor$19';_.tI=389;function tDb(b,a){b.a=a;return b;}
-function vDb(a){var b;b=Eeb(new Deb(),this.a.d.a,this.a.d.b);wE(b,dc(ai()/4),xN(a));zE(b);}
-function bDb(){}
-_=bDb.prototype=new fU();_.zc=vDb;_.tN=ngc+'PackageEditor$2';_.tI=390;function dDb(b,a,c){b.a=a;b.b=c;return b;}
-function fDb(a){var b;b=hyb(new Exb());wE(b,wN(a)-400,xN(a)-250);lyb(b,hDb(new gDb(),this,this.b,b));zE(b);}
-function cDb(){}
-_=cDb.prototype=new fU();_.zc=fDb;_.tN=ngc+'PackageEditor$20';_.tI=391;function hDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function jDb(a){aL(a.b,CK(a.b)+'\n'+kyb(a.c));a.a.a.b.f=CK(a.b);}
-function kDb(){jDb(this);}
-function gDb(){}
-_=gDb.prototype=new fU();_.pb=kDb;_.tN=ngc+'PackageEditor$21';_.tI=392;function mDb(b,a,c){b.a=c;return b;}
-function oDb(a){if(sK(this.a)!=32){uK(this.a,32);}else{uK(this.a,8);}}
-function lDb(){}
-_=lDb.prototype=new fU();_.zc=oDb;_.tN=ngc+'PackageEditor$22';_.tI=393;function qDb(b,a,c){b.a=a;b.b=c;return b;}
-function sDb(a){this.a.b.d=CK(this.b);mGb(this.a.c);}
-function pDb(){}
-_=pDb.prototype=new fU();_.yc=sDb;_.tN=ngc+'PackageEditor$23';_.tI=394;function xDb(b,a,c){b.a=a;b.b=c;return b;}
-function zDb(){CEb(this.a,this.b.c);}
-function wDb(){}
-_=wDb.prototype=new fU();_.pb=zDb;_.tN=ngc+'PackageEditor$3';_.tI=395;function BDb(b,a){b.a=a;return b;}
-function DDb(a){wEb(this.a,null);}
-function ADb(){}
-_=ADb.prototype=new fU();_.zc=DDb;_.tN=ngc+'PackageEditor$4';_.tI=396;function FDb(b,a){b.a=a;return b;}
-function bEb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;wEb(this.a,this.a.e);}}
-function EDb(){}
-_=EDb.prototype=new fU();_.zc=bEb;_.tN=ngc+'PackageEditor$5';_.tI=397;function dEb(b,a){b.a=a;return b;}
-function fEb(a){DEb(this.a);}
-function cEb(){}
-_=cEb.prototype=new fU();_.zc=fEb;_.tN=ngc+'PackageEditor$6';_.tI=398;function hEb(b,a){b.a=a;return b;}
-function jEb(a){EEb(this.a);}
-function gEb(){}
-_=gEb.prototype=new fU();_.zc=jEb;_.tN=ngc+'PackageEditor$7';_.tI=399;function lEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nEb(a){sUb(mMb(),this.a.b.m,CK(this.b),pEb(new oEb(),this,this.c));}
-function kEb(){}
-_=kEb.prototype=new fU();_.zc=nEb;_.tN=ngc+'PackageEditor$8';_.tI=400;function pEb(b,a,c){b.a=a;b.b=c;return b;}
-function rEb(b,a){qGb(b.a.a.e);zh('Package renamed successfully.');b.b.lc();}
-function sEb(a){rEb(this,a);}
-function oEb(){}
-_=oEb.prototype=new vcb();_.pd=sEb;_.tN=ngc+'PackageEditor$9';_.tI=401;function EHb(a){a.f=oGb(new cFb(),a);}
-function FHb(b,a){aIb(b,a,null,null);return b;}
-function aIb(g,b,h,f){var a,c,d,e;EHb(g);g.b=b;g.h=h;g.c=uM(new hL());g.d=yab(new wab());g.g=new sGb();yM(g.c,g.g);e=sO(new qO());if(f===null){a=ut(new ot());hx(a.n,0,0,'new-asset-Icons');ex(a.n,0,0,(xz(),yz),(aA(),cA));a.ze(0,0,dIb(g));tO(e,a);a.Be('100%');}tO(e,g.c);Bab(g.d,0,0,e);c=xt(g.d);ix(c,0,0,(aA(),dA));tt(xt(g.d),0,1,2);ex(xt(g.d),0,1,(xz(),yz),(aA(),dA));hIb(g);d=aN(g.c,0);if(d!==null)kN(g.c,d);Bab(g.d,0,1,nz(new qw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));kx(xt(g.d),0,0,'25%');ex(xt(g.d),0,1,(xz(),zz),(aA(),dA));g.e=jdc(new ncc(),g.b,'rulelist');pr(g,g.d);return g;}
-function bIb(d,a,c){var b;b=gIb(d,a.j,'images/package.gif',CHb(new BHb(),vFb(new uFb(),d,a)));b.y(gIb(d,'Business rule assets','images/rule_asset.gif',iIb(d,a.m,(p_(),q_))));b.y(gIb(d,'Technical rule assets','images/technical_rule_assets.gif',iIb(d,a.m,(p_(),s_))));b.y(gIb(d,'Functions','images/function_assets.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['function']))));b.y(gIb(d,'DSL','images/dsl.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['dsl']))));b.y(gIb(d,'Model','images/model_asset.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['jar']))));wM(d.c,b);if(c){lN(d.c,b,true);}}
-function dIb(h){var a,b,c,d,e,f,g,i;g=iA(new gA());d=nB(new xA(),'images/new_package.gif');d.te('Create a new package');oB(d,aHb(new FGb(),h));i=Ccb(new Bcb(),'images/model_asset.gif');oB(i,eHb(new dHb(),h));i.te('This creates a new model archive - models contain classes/types that rules use.');e=Ccb(new Bcb(),'images/new_rule.gif');e.te('Create new rule');oB(e,iHb(new hHb(),h));c=Ccb(new Bcb(),'images/function_assets.gif');c.te('Create a new function');oB(c,qHb(new pHb(),h));a=Ccb(new Bcb(),'images/dsl.gif');a.te('Create a new DSL (language configuration)');oB(a,uHb(new tHb(),h));f=Ccb(new Bcb(),'images/ruleflow_small.gif');f.te('Upload a new ruleflow.');oB(f,yHb(new xHb(),h));b=Ccb(new Bcb(),'images/new_enumeration.gif');b.te('Create a new data enumeration (drop down list)');oB(b,eFb(new dFb(),h));jA(g,d);jA(g,i);jA(g,e);jA(g,c);jA(g,a);jA(g,f);jA(g,b);return g;}
-function eIb(d,a,e){var b,c,f;b=70;f=100;c=w7b(new g7b(),zGb(new yGb(),d),false,a,e,d.a);wE(c,dc((tab()-rE(c))/2),100);zE(c);}
-function fIb(a,b){wdb('Loading package information ...');iUb(mMb(),b,cGb(new bGb(),a));}
-function gIb(e,d,b,a){var c;c=zL(new xL());bM(c,'<img src="'+b+'">'+d+'<\/a>');hM(c,a);return c;}
-function hIb(a){if(a.h===null){wdb('Loading list of packages ...');cUb(mMb(),iFb(new hFb(),a));}else{wdb('Loading package ...');iUb(mMb(),a.h,mFb(new lFb(),a));}}
-function iIb(c,d,b){var a;a=zFb(new yFb(),c);return CHb(new BHb(),EFb(new DFb(),c,d,b,a));}
-function jIb(b,c){var a;a=pzb(new syb(),qFb(new pFb(),b));wE(a,dc((tab()-rE(a))/2),100);zE(a);}
-function bFb(){}
-_=bFb.prototype=new pab();_.tN=ngc+'PackageExplorerWidget';_.tI=402;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function oGb(b,a){b.a=a;return b;}
-function qGb(a){hIb(a.a);}
-function rGb(){qGb(this);}
-function cFb(){}
-_=cFb.prototype=new fU();_.pb=rGb;_.tN=ngc+'PackageExplorerWidget$1';_.tI=403;function eFb(b,a){b.a=a;return b;}
-function gFb(a){eIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
-function dFb(){}
-_=dFb.prototype=new fU();_.zc=gFb;_.tN=ngc+'PackageExplorerWidget$10';_.tI=404;function iFb(b,a){b.a=a;return b;}
-function kFb(a){var b,c;c=Fb(a,71);zM(this.a.c);for(b=0;b<c.a;b++){if(b==0){bIb(this.a,c[b],true);}else{bIb(this.a,c[b],false);}}sdb();}
-function hFb(){}
-_=hFb.prototype=new vcb();_.pd=kFb;_.tN=ngc+'PackageExplorerWidget$11';_.tI=405;function mFb(b,a){b.a=a;return b;}
-function oFb(a){var b;b=Fb(a,19);zM(this.a.c);bIb(this.a,b,true);sdb();}
-function lFb(){}
-_=lFb.prototype=new vcb();_.pd=oFb;_.tN=ngc+'PackageExplorerWidget$12';_.tI=406;function qFb(b,a){b.a=a;return b;}
-function sFb(a){hIb(a.a);}
-function tFb(){sFb(this);}
-function pFb(){}
-_=pFb.prototype=new fU();_.pb=tFb;_.tN=ngc+'PackageExplorerWidget$13';_.tI=407;function vFb(b,a,c){b.a=a;b.b=c;return b;}
-function xFb(){if(this.a.pc()){if(Bh('Discard Changes ? ')){sab(this.a);fIb(this.a,this.b.m);}}else{fIb(this.a,this.b.m);}}
-function uFb(){}
-_=uFb.prototype=new fU();_.pb=xFb;_.tN=ngc+'PackageExplorerWidget$14';_.tI=408;function zFb(b,a){b.a=a;return b;}
-function BFb(c,a){var b;b=Fb(a,62);odc(c.a.e,b);c.a.e.Be('100%');Bab(c.a.d,0,1,c.a.e);ex(xt(c.a.d),0,1,(xz(),zz),(aA(),dA));sdb();}
-function CFb(a){BFb(this,a);}
-function yFb(){}
-_=yFb.prototype=new vcb();_.pd=CFb;_.tN=ngc+'PackageExplorerWidget$15';_.tI=409;function EFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
-function aGb(){wdb('Loading list, please wait...');bUb(mMb(),this.c,this.b,(-1),(-1),this.a);}
-function DFb(){}
-_=DFb.prototype=new fU();_.pb=aGb;_.tN=ngc+'PackageExplorerWidget$16';_.tI=410;function cGb(b,a){b.a=a;return b;}
-function eGb(c){var a,b,d,e,f,g,h,i;b=Fb(c,19);g=BH(new AH());this.a.a=b.j;e=ccb(new Fbb(),'images/package_large.png',b.j);FN(e,'package-Editor');e.Be('100%');dcb(e,'Description:',fC(new dC(),b.d));dcb(e,'Date created:',fC(new dC(),a0(b.c)));if(b.g){dcb(e,'Snapshot created on:',fC(new dC(),a0(b.i)));dcb(e,'Snapshot comment:',fC(new dC(),b.b));h=uBb(b);d=nz(new qw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");dcb(e,'Download package:',d);dcb(e,'Package URI:',fC(new dC(),h));i=zp(new tp(),'View package source');i.x(gGb(new fGb(),this,b));dcb(e,'Show package source:',i);}if(!b.g){gcb(e,nz(new qw(),'<i>Choose one of the options below<\/i>'));}f=kGb(new jGb(),this);a=uGb(new tGb(),this);DH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){DH(g,tEb(new wBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);DH(g,nBb(new tzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{DH(!
 g,tEb(new wBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.Be('100%');Bab(this.a.d,0,1,g);sdb();}
-function bGb(){}
-_=bGb.prototype=new vcb();_.pd=eGb;_.tN=ngc+'PackageExplorerWidget$17';_.tI=411;function gGb(b,a,c){b.a=c;return b;}
-function iGb(a){tBb(this.a.m,this.a.j);}
-function fGb(){}
-_=fGb.prototype=new fU();_.zc=iGb;_.tN=ngc+'PackageExplorerWidget$18';_.tI=412;function kGb(b,a){b.a=a;return b;}
-function mGb(a){rab(a.a.a);}
-function nGb(){mGb(this);}
-function jGb(){}
-_=jGb.prototype=new fU();_.pb=nGb;_.tN=ngc+'PackageExplorerWidget$19';_.tI=413;function DGb(c){var a,b;a=Fb(c.k,90);b=a.a;wdb('Please wait...');fg(b);}
-function EGb(a){}
-function sGb(){}
-_=sGb.prototype=new fU();_.rd=DGb;_.sd=EGb;_.tN=ngc+'PackageExplorerWidget$2';_.tI=414;function uGb(b,a){b.a=a;return b;}
-function wGb(a){sab(a.a.a);}
-function xGb(){wGb(this);}
-function tGb(){}
-_=tGb.prototype=new fU();_.pb=xGb;_.tN=ngc+'PackageExplorerWidget$20';_.tI=415;function zGb(b,a){b.a=a;return b;}
-function BGb(a){oIb(this.a.b,a);}
-function yGb(){}
-_=yGb.prototype=new fU();_.wd=BGb;_.tN=ngc+'PackageExplorerWidget$21';_.tI=416;function aHb(b,a){b.a=a;return b;}
-function cHb(a){jIb(this.a,a);}
-function FGb(){}
-_=FGb.prototype=new fU();_.zc=cHb;_.tN=ngc+'PackageExplorerWidget$3';_.tI=417;function eHb(b,a){b.a=a;return b;}
-function gHb(a){eIb(this.a,'jar','Create a new model archive');}
-function dHb(){}
-_=dHb.prototype=new fU();_.zc=gHb;_.tN=ngc+'PackageExplorerWidget$4';_.tI=418;function iHb(b,a){b.a=a;return b;}
-function kHb(d){var a,b,c;a=70;c=100;b=w7b(new g7b(),mHb(new lHb(),this),true,null,'Create a new rule asset',this.a.a);wE(b,dc((tab()-rE(b))/2),100);zE(b);}
-function hHb(){}
-_=hHb.prototype=new fU();_.zc=kHb;_.tN=ngc+'PackageExplorerWidget$5';_.tI=419;function mHb(b,a){b.a=a;return b;}
-function oHb(a){oIb(this.a.a.b,a);}
-function lHb(){}
-_=lHb.prototype=new fU();_.wd=oHb;_.tN=ngc+'PackageExplorerWidget$6';_.tI=420;function qHb(b,a){b.a=a;return b;}
-function sHb(a){eIb(this.a,'function','Create a new function');}
-function pHb(){}
-_=pHb.prototype=new fU();_.zc=sHb;_.tN=ngc+'PackageExplorerWidget$7';_.tI=421;function uHb(b,a){b.a=a;return b;}
-function wHb(a){eIb(this.a,'dsl','Create a new language configuration');}
-function tHb(){}
-_=tHb.prototype=new fU();_.zc=wHb;_.tN=ngc+'PackageExplorerWidget$8';_.tI=422;function yHb(b,a){b.a=a;return b;}
-function AHb(a){eIb(this.a,'rf','Create a new ruleflow');}
-function xHb(){}
-_=xHb.prototype=new fU();_.zc=AHb;_.tN=ngc+'PackageExplorerWidget$9';_.tI=423;function CHb(b,a){b.a=a;return b;}
-function BHb(){}
-_=BHb.prototype=new fU();_.tN=ngc+'PackageExplorerWidget$PackageTreeItem';_.tI=424;_.a=null;function qIb(a){a.a=(nZ(),oZ);}
-function rIb(a){sIb(a,null,null);return a;}
-function sIb(e,c,d){var a,b;qIb(e);e.b=DJ(new pJ());e.b.Be('100%');e.b.qe('30%');a=mIb(new lIb(),e,d);b=null;if(c===null){b=FHb(new bFb(),a);}else{b=aIb(new bFb(),a,c,d);}EJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);eK(e.b,0);pr(e,e.b);return e;}
-function uIb(b,a){b.a=a;}
-function kIb(){}
-_=kIb.prototype=new nr();_.tN=ngc+'PackageManagerView';_.tI=425;_.b=null;function mIb(b,a,c){b.a=a;b.b=c;return b;}
-function oIb(b,a){c5b(b.a.a,b.a.b,a,b.b!==null);}
-function pIb(a){oIb(this,a);}
-function lIb(){}
-_=lIb.prototype=new fU();_.wd=pIb;_.tN=ngc+'PackageManagerView$1';_.tI=426;function nKb(b){var a,c;b.a=ut(new ot());b.c=DJ(new pJ());b.c.Be('100%');b.c.qe('100%');c=sO(new qO());tO(c,b.a);a=zp(new tp(),'Rebuild snapshot binaries');a.te('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new wIb());tO(c,a);EJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);kx(b.a.n,0,0,'28%');b.b=mMb();vKb(b);b.a.Be('100%');pr(b,b.c);eK(b.c,0);return b;}
-function oKb(h,c){var a,b,d,e,f,g;g=uM(new hL());d=sO(new qO());for(a=0;a<c.a;a++){e=c[a].j;b=tKb(h,e,'images/package_snapshot.gif',wJb(new vJb(),h,e));wM(g,b);}tO(d,g);f=nz(new qw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");gC(f,AJb(new zJb(),h));yM(g,new DJb());xO(d,(aA(),dA));wO(d,(xz(),zz));tO(d,f);FN(d,'snapshot-List');h.a.ze(0,0,d);ix(h.a.n,0,0,(aA(),dA));}
-function qKb(g,e,f){var a,b,c,d;c=rcb(new mcb(),'images/snapshot.png','Copy snapshot '+f);a=eL(new vK());scb(c,'New label:',a);d=zp(new tp(),'OK');scb(c,'',d);d.x(gKb(new fKb(),g,e,f,a,c));b=zp(new tp(),'Copy');b.x(yIb(new xIb(),g,c));return b;}
-function rKb(d,c,b){var a;a=zp(new tp(),'Delete');a.x(aJb(new FIb(),d,c,b));return a;}
-function sKb(d,b,c,e){var a;a=zp(new tp(),'Open');a.x(CIb(new BIb(),d,b,c,e));return a;}
-function tKb(e,d,b,a){var c;c=zL(new xL());bM(c,'<img src="'+b+'">'+d+'<\/a>');hM(c,a);return c;}
-function uKb(g,e,f,h){var a,b,c,d,i;i=ut(new ot());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=iA(new gA());jA(c,nz(new qw(),d));a=Ccb(new Bcb(),'images/close.gif');a.te('Close this view');oB(a,iJb(new hJb(),g));jA(c,a);i.ze(0,0,c);b=xt(i);hx(b,0,0,'editable-Surface');i.ze(1,0,sIb(new kIb(),h,f));i.Be('100%');i.qe('100%');if(g.c.a.f.c>1){dK(g.c,1);}EJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);eK(g.c,1);}
-function vKb(a){wdb('Loading package list...');cUb(a.b,sJb(new rJb(),a));}
-function wKb(h,d,b){var a,c,e,f,g;e=ccb(new Fbb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=ut(new ot());bz(g,0,1,'Name');bz(g,0,2,'Comment');ux(g.p,0,wfc);for(a=0;a<b.a;a++){f=a+1;c=fC(new dC(),b[a].b);g.ze(f,0,nB(new xA(),'images/package_snapshot_item.gif'));g.ze(f,1,c);g.ze(f,2,fC(new dC(),b[a].a));g.ze(f,3,sKb(h,d,jC(c),b[a].c));g.ze(f,4,qKb(h,d,jC(c)));g.ze(f,5,rKb(h,jC(c),d));if(a%2==0){ux(g.p,a+1,ufc);}}e.Be('100%');gcb(e,g);g.Be('100%');FN(e,vfc);h.a.ze(0,1,e);ix(xt(h.a),0,1,(aA(),dA));}
-function xKb(b,a){wdb('Loading snapshots...');dUb(b.b,a,cKb(new bKb(),b,a));}
-function vIb(){}
-_=vIb.prototype=new nr();_.tN=ngc+'PackageSnapshotView';_.tI=427;_.a=null;_.b=null;_.c=null;function mJb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){wdb('Rebuilding snapshots. Please wait, this may take some time...');oUb(mMb(),new nJb());}}
-function wIb(){}
-_=wIb.prototype=new fU();_.zc=mJb;_.tN=ngc+'PackageSnapshotView$1';_.tI=428;function yIb(b,a,c){b.a=c;return b;}
-function AIb(a){wE(this.a,dc((tab()-rE(this.a))/2),100);zE(this.a);}
-function xIb(){}
-_=xIb.prototype=new fU();_.zc=AIb;_.tN=ngc+'PackageSnapshotView$10';_.tI=429;function CIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
-function EIb(a){uKb(this.a,this.b,this.c,this.d);}
-function BIb(){}
-_=BIb.prototype=new fU();_.zc=EIb;_.tN=ngc+'PackageSnapshotView$11';_.tI=430;function aJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function cJb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{zTb(this.a.b,this.b,this.c,true,null,eJb(new dJb(),this,this.b));}}
-function FIb(){}
-_=FIb.prototype=new fU();_.zc=cJb;_.tN=ngc+'PackageSnapshotView$12';_.tI=431;function eJb(b,a,c){b.a=a;b.b=c;return b;}
-function gJb(a){xKb(this.a.a,this.b);}
-function dJb(){}
-_=dJb.prototype=new vcb();_.pd=gJb;_.tN=ngc+'PackageSnapshotView$13';_.tI=432;function iJb(b,a){b.a=a;return b;}
-function kJb(a){dK(this.a.c,1);eK(this.a.c,0);}
-function hJb(){}
-_=hJb.prototype=new fU();_.zc=kJb;_.tN=ngc+'PackageSnapshotView$14';_.tI=433;function pJb(b,a){sdb();zh('Snapshots were rebuilt successfully.');}
-function qJb(a){pJb(this,a);}
-function nJb(){}
-_=nJb.prototype=new vcb();_.pd=qJb;_.tN=ngc+'PackageSnapshotView$2';_.tI=434;function sJb(b,a){b.a=a;return b;}
-function uJb(a){var b;b=Fb(a,71);oKb(this.a,b);sdb();}
-function rJb(){}
-_=rJb.prototype=new vcb();_.pd=uJb;_.tN=ngc+'PackageSnapshotView$3';_.tI=435;function wJb(b,a,c){b.a=a;b.b=c;return b;}
-function yJb(){xKb(this.a,this.b);}
-function vJb(){}
-_=vJb.prototype=new fU();_.pb=yJb;_.tN=ngc+'PackageSnapshotView$4';_.tI=436;function AJb(b,a){b.a=a;return b;}
-function CJb(a){vKb(this.a);}
-function zJb(){}
-_=zJb.prototype=new fU();_.zc=CJb;_.tN=ngc+'PackageSnapshotView$5';_.tI=437;function FJb(a){fg(Fb(a.k,4));}
-function aKb(a){}
-function DJb(){}
-_=DJb.prototype=new fU();_.rd=FJb;_.sd=aKb;_.tN=ngc+'PackageSnapshotView$6';_.tI=438;function cKb(b,a,c){b.a=a;b.b=c;return b;}
-function eKb(a){var b;b=Fb(a,86);wKb(this.a,this.b,b);sdb();}
-function bKb(){}
-_=bKb.prototype=new vcb();_.pd=eKb;_.tN=ngc+'PackageSnapshotView$7';_.tI=439;function gKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
-function iKb(a){zTb(this.a.b,this.d,this.e,false,CK(this.b),kKb(new jKb(),this,this.d,this.c));}
-function fKb(){}
-_=fKb.prototype=new fU();_.zc=iKb;_.tN=ngc+'PackageSnapshotView$8';_.tI=440;function kKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function mKb(a){xKb(this.a.a,this.c);this.b.lc();}
-function jKb(){}
-_=jKb.prototype=new vcb();_.pd=mKb;_.tN=ngc+'PackageSnapshotView$9';_.tI=441;function aLb(){aLb=d3;fLb=FKb(new yKb());}
-function EKb(a){a.a=k1(new o0());}
-function FKb(a){aLb();EKb(a);return a;}
-function bLb(c,b,a){if(!n1(c.a,b)){dLb(c,b,a);}else{v4b(a);}}
-function cLb(c,b){var a;a=Fb(q1(c.a,b),91);if(a===null){xbb('Unable to get content assistance for this rule.');return null;}return a;}
-function dLb(c,b,a){yV(),BV;lUb(mMb(),b,AKb(new zKb(),c,b,a));}
-function eLb(c,b,a){if(n1(c.a,b)){s1(c.a,b);dLb(c,b,a);}else{a.pb();}}
-function yKb(){}
-_=yKb.prototype=new fU();_.tN=ngc+'SuggestionCompletionCache';_.tI=442;var fLb;function AKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function CKb(c,a){var b;b=Fb(a,91);r1(c.a.a,c.c,b);c.b.pb();}
-function DKb(a){CKb(this,a);}
-function zKb(){}
-_=zKb.prototype=new vcb();_.pd=DKb;_.tN=ngc+'SuggestionCompletionCache$1';_.tI=443;function mLb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
-function gLb(){}
-_=gLb.prototype=new fU();_.tS=mLb;_.tN=ogc+'BuilderResult';_.tI=444;_.a=null;_.b=null;_.c=null;_.d=null;function kLb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();}
-function lLb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);}
-function nLb(){}
-_=nLb.prototype=new ol();_.tN=ogc+'DetailedSerializableException';_.tI=445;_.a=null;function rLb(b,a){uLb(a,b.Ed());sl(b,a);}
-function sLb(a){return a.a;}
-function tLb(b,a){b.gf(sLb(a));ul(b,a);}
-function uLb(a,b){a.a=b;}
-function wLb(a){a.a=yb('[Ljava.lang.String;',[608],[1],[0],null);}
-function xLb(a){wLb(a);return a;}
-function yLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(EU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[608],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function ALb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[608],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function vLb(){}
-_=vLb.prototype=new fU();_.tN=ogc+'MetaData';_.tI=446;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function DLb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Ed();a.c=b.Ed();a.d=Fb(b.Dd(),59);a.e=b.Ed();a.f=Fb(b.Dd(),59);a.g=Fb(b.Dd(),59);a.h=b.Ed();a.i=b.Ed();a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=Fb(b.Dd(),59);a.n=b.Ed();a.o=b.Ed();a.p=b.Ed();a.q=b.Ed();a.r=b.Ed();a.s=b.Ed();a.t=b.Ed();a.u=b.Ed();a.v=b.Cd();}
-function ELb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.ff(a.d);b.gf(a.e);b.ff(a.f);b.ff(a.g);b.gf(a.h);b.gf(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.ff(a.m);b.gf(a.n);b.gf(a.o);b.gf(a.p);b.gf(a.q);b.gf(a.r);b.gf(a.s);b.gf(a.t);b.gf(a.u);b.ef(a.v);}
-function FLb(){}
-_=FLb.prototype=new fU();_.tN=ogc+'PackageConfigData';_.tI=447;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function dMb(b,a){a.a=b.zd();a.b=b.Ed();a.c=Fb(b.Dd(),59);a.d=b.Ed();a.e=b.Ed();a.f=b.Ed();a.g=b.zd();a.h=b.Ed();a.i=Fb(b.Dd(),59);a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=b.Ed();}
-function eMb(b,a){b.bf(a.a);b.gf(a.b);b.ff(a.c);b.gf(a.d);b.gf(a.e);b.gf(a.f);b.bf(a.g);b.gf(a.h);b.ff(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.gf(a.m);}
-function kMb(){var a,b,c;c=jSb(new pMb());a=c;b=v()+'jbrmsService';vUb(a,b);return c;}
-function lMb(){var a,b,c;c=xXb(new mXb());a=c;b=v()+'jbrmsService';DXb(a,b);return c;}
-function mMb(){if(jMb===null){nMb();}return jMb;}
-function nMb(){if(iMb)jMb=null;else jMb=kMb();}
-function oMb(d,b,a){var c;c=lMb();CXb(c,d,b,a);}
-var iMb=false,jMb=null;function xTb(){xTb=d3;wUb=yUb(new xUb());}
-function jSb(a){xTb();return a;}
-function kSb(b,a,c,d){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'archiveAsset');un(a,2);wn(a,'java.lang.String');wn(a,'Z');wn(a,c);tn(a,d);}
-function mSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildAsset');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
-function lSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildAssetSource');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
-function oSb(d,c,a,b){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'buildPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,a);wn(c,b);}
-function nSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildPackageSource');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function pSb(d,c,e,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'changeAssetPackage');un(c,3);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,e);wn(c,b);wn(c,a);}
-function qSb(c,b,d,a,e){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'changeState');un(b,3);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,'Z');wn(b,d);wn(b,a);tn(b,e);}
-function rSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'checkinVersion');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
-function sSb(e,d,a,c,b){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'copyAsset');un(d,3);wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,a);wn(d,c);wn(d,b);}
-function tSb(f,e,c,d,a,b){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'copyOrRemoveSnapshot');un(e,4);wn(e,'java.lang.String');wn(e,'java.lang.String');wn(e,'Z');wn(e,'java.lang.String');wn(e,c);wn(e,d);tn(e,a);wn(e,b);}
-function uSb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'copyPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
-function vSb(e,d,c,b,a){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'createCategory');un(d,3);wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,c);wn(d,b);wn(d,a);}
-function wSb(g,f,e,a,c,d,b){if(g.a===null)throw Dl(new Cl());Ao(f);wn(f,'org.drools.brms.client.rpc.RepositoryService');wn(f,'createNewRule');un(f,5);wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,e);wn(f,a);wn(f,c);wn(f,d);wn(f,b);}
-function ySb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'createPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
-function xSb(f,e,b,d,c,a){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'createPackageSnapshot');un(e,4);wn(e,'java.lang.String');wn(e,'java.lang.String');wn(e,'Z');wn(e,'java.lang.String');wn(e,b);wn(e,d);tn(e,c);wn(e,a);}
-function zSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'createState');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function ASb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'deleteUncheckedRule');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
-function BSb(f,e,c,a,b,d){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'listAssets');un(e,4);wn(e,'java.lang.String');wn(e,'[Ljava.lang.String;');wn(e,'I');wn(e,'I');wn(e,c);vn(e,a);un(e,b);un(e,d);}
-function CSb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'listPackages');un(a,0);}
-function DSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'listSnapshots');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function ESb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'listStates');un(a,0);}
-function FSb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadArchivedAssets');un(a,0);}
-function aTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadAssetHistory');un(a,1);wn(a,'java.lang.String');wn(a,c);}
-function bTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadChildCategories');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function cTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadPackageConfig');un(a,1);wn(a,'java.lang.String');wn(a,c);}
-function dTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadRuleAsset');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function eTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadRuleListForCategories');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function fTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadSuggestionCompletionEngine');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function gTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadTableConfig');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function hTb(e,d,c,a,b){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'quickFindAsset');un(d,3);wn(d,'java.lang.String');wn(d,'I');wn(d,'Z');wn(d,c);un(d,a);tn(d,b);}
-function iTb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'rebuildSnapshots');un(a,0);}
-function jTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'removeAsset');un(a,1);wn(a,'java.lang.String');wn(a,c);}
-function kTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'removeCategory');un(b,1);wn(b,'java.lang.String');wn(b,a);}
-function lTb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'renameAsset');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
-function mTb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'renamePackage');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
-function nTb(d,c,e,a,b){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'restoreVersion');un(c,3);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,e);wn(c,a);wn(c,b);}
-function oTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'savePackage');un(b,1);wn(b,'org.drools.brms.client.rpc.PackageConfigData');vn(b,a);}
-function pTb(h,i,j,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=ENb(new qMb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=vPb(new cOb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=mRb(new zPb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tTb(j,f,g,c){var a,d,e,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=rRb(new qRb(),j,h,c);if(!wg(j.a,Do(i),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sTb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=wRb(new vRb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uTb(j,k,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=BRb(new ARb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vTb(i,j,f,k,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=aSb(new FRb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=fSb(new eSb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function yTb(k,c,h,g,d){var a,e,f,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=sMb(new rMb(),k,i,d);if(!wg(k.a,Do(j),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function zTb(l,h,i,d,g,c){var a,e,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=xMb(new wMb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ATb(j,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=CMb(new BMb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function BTb(k,h,g,d,c){var a,e,f,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=bNb(new aNb(),k,i,c);if(!wg(k.a,Do(j),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=co(new bo(),wUb);l=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}g=gNb(new fNb(),m,k,c);if(!wg(m.a,Do(l),g))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ETb(j,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=lNb(new kNb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DTb(l,g,i,h,d,c){var a,e,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=qNb(new pNb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FTb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=vNb(new uNb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aUb(j,g,f,c){var a,d,e,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=ANb(new zNb(),j,h,c);if(!wg(j.a,Do(i),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bUb(l,h,e,g,i,c){var a,d,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}f=eOb(new dOb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=jOb(new iOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=oOb(new nOb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=tOb(new sOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=yOb(new xOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=DOb(new COb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=cPb(new bPb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function iUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=hPb(new gPb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function jUb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dTb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=mPb(new lPb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function kUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=rPb(new qPb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=BPb(new APb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=aQb(new FPb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function nUb(k,h,f,g,c){var a,d,e,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hTb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=fQb(new eQb(),k,i,c);if(!wg(k.a,Do(j),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=kQb(new jQb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=pQb(new oQb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=uQb(new tQb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rUb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=zQb(new yQb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sUb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=EQb(new DQb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tUb(j,k,c,e,d){var a,f,g,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nTb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;xcb(d,f);return;}else throw a;}g=dRb(new cRb(),j,h,d);if(!wg(j.a,Do(i),g))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=iRb(new hRb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vUb(b,a){b.a=a;}
-function pMb(){}
-_=pMb.prototype=new fU();_.tN=ogc+'RepositoryService_Proxy';_.tI=448;_.a=null;var wUb;function ENb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f7(g.a,f);else xcb(g.a,c);}
-function bOb(a){var b;b=x;aOb(this,a);}
-function qMb(){}
-_=qMb.prototype=new fU();_.Ac=bOb;_.tN=ogc+'RepositoryService_Proxy$1';_.tI=449;function sMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D0b(g.a,f);else xcb(g.a,c);}
-function vMb(a){var b;b=x;uMb(this,a);}
-function rMb(){}
-_=rMb.prototype=new fU();_.Ac=vMb;_.tN=ogc+'RepositoryService_Proxy$10';_.tI=450;function xMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function AMb(a){var b;b=x;zMb(this,a);}
-function wMb(){}
-_=wMb.prototype=new fU();_.Ac=AMb;_.tN=ogc+'RepositoryService_Proxy$11';_.tI=451;function CMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function EMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)FBb(g.a,f);else xcb(g.a,c);}
-function FMb(a){var b;b=x;EMb(this,a);}
-function BMb(){}
-_=BMb.prototype=new fU();_.Ac=FMb;_.tN=ogc+'RepositoryService_Proxy$12';_.tI=452;function bNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k$(g.a,f);else xcb(g.a,c);}
-function eNb(a){var b;b=x;dNb(this,a);}
-function aNb(){}
-_=aNb.prototype=new fU();_.Ac=eNb;_.tN=ogc+'RepositoryService_Proxy$13';_.tI=453;function gNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)s7b(g.a,f);else xcb(g.a,c);}
-function jNb(a){var b;b=x;iNb(this,a);}
-function fNb(){}
-_=fNb.prototype=new fU();_.Ac=jNb;_.tN=ogc+'RepositoryService_Proxy$14';_.tI=454;function lNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dzb(g.a,f);else xcb(g.a,c);}
-function oNb(a){var b;b=x;nNb(this,a);}
-function kNb(){}
-_=kNb.prototype=new fU();_.Ac=oNb;_.tN=ogc+'RepositoryService_Proxy$15';_.tI=455;function qNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eAb(g.a,f);else xcb(g.a,c);}
-function tNb(a){var b;b=x;sNb(this,a);}
-function pNb(){}
-_=pNb.prototype=new fU();_.Ac=tNb;_.tN=ogc+'RepositoryService_Proxy$16';_.tI=456;function vNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x9(g.a,f);else xcb(g.a,c);}
-function yNb(a){var b;b=x;xNb(this,a);}
-function uNb(){}
-_=uNb.prototype=new fU();_.Ac=yNb;_.tN=ogc+'RepositoryService_Proxy$17';_.tI=457;function ANb(b,a,d,c){b.b=d;b.a=c;return b;}
-function CNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t$b(g.a,f);else xcb(g.a,c);}
-function DNb(a){var b;b=x;CNb(this,a);}
-function zNb(){}
-_=zNb.prototype=new fU();_.Ac=DNb;_.tN=ogc+'RepositoryService_Proxy$18';_.tI=458;function vPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)w8b(g.a,f);else xcb(g.a,c);}
-function yPb(a){var b;b=x;xPb(this,a);}
-function cOb(){}
-_=cOb.prototype=new fU();_.Ac=yPb;_.tN=ogc+'RepositoryService_Proxy$2';_.tI=459;function eOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)BFb(g.a,f);else xcb(g.a,c);}
-function hOb(a){var b;b=x;gOb(this,a);}
-function dOb(){}
-_=dOb.prototype=new fU();_.Ac=hOb;_.tN=ogc+'RepositoryService_Proxy$20';_.tI=460;function jOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function lOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function mOb(a){var b;b=x;lOb(this,a);}
-function iOb(){}
-_=iOb.prototype=new fU();_.Ac=mOb;_.tN=ogc+'RepositoryService_Proxy$21';_.tI=461;function oOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function qOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function rOb(a){var b;b=x;qOb(this,a);}
-function nOb(){}
-_=nOb.prototype=new fU();_.Ac=rOb;_.tN=ogc+'RepositoryService_Proxy$22';_.tI=462;function tOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function wOb(a){var b;b=x;vOb(this,a);}
-function sOb(){}
-_=sOb.prototype=new fU();_.Ac=wOb;_.tN=ogc+'RepositoryService_Proxy$23';_.tI=463;function yOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function AOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t7(g.a,f);else xcb(g.a,c);}
-function BOb(a){var b;b=x;AOb(this,a);}
-function xOb(){}
-_=xOb.prototype=new fU();_.Ac=BOb;_.tN=ogc+'RepositoryService_Proxy$24';_.tI=464;function DOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u_b(g.a,f);else xcb(g.a,c);}
-function aPb(a){var b;b=x;FOb(this,a);}
-function COb(){}
-_=COb.prototype=new fU();_.Ac=aPb;_.tN=ogc+'RepositoryService_Proxy$25';_.tI=465;function cPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function ePb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function fPb(a){var b;b=x;ePb(this,a);}
-function bPb(){}
-_=bPb.prototype=new fU();_.Ac=fPb;_.tN=ogc+'RepositoryService_Proxy$26';_.tI=466;function hPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function kPb(a){var b;b=x;jPb(this,a);}
-function gPb(){}
-_=gPb.prototype=new fU();_.Ac=kPb;_.tN=ogc+'RepositoryService_Proxy$27';_.tI=467;function mPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function pPb(a){var b;b=x;oPb(this,a);}
-function lPb(){}
-_=lPb.prototype=new fU();_.Ac=pPb;_.tN=ogc+'RepositoryService_Proxy$28';_.tI=468;function rPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function tPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Fbc(g.a,f);else xcb(g.a,c);}
-function uPb(a){var b;b=x;tPb(this,a);}
-function qPb(){}
-_=qPb.prototype=new fU();_.Ac=uPb;_.tN=ogc+'RepositoryService_Proxy$29';_.tI=469;function mRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)B8b(g.a,f);else xcb(g.a,c);}
-function pRb(a){var b;b=x;oRb(this,a);}
-function zPb(){}
-_=zPb.prototype=new fU();_.Ac=pRb;_.tN=ogc+'RepositoryService_Proxy$3';_.tI=470;function BPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)CKb(g.a,f);else xcb(g.a,c);}
-function EPb(a){var b;b=x;DPb(this,a);}
-function APb(){}
-_=APb.prototype=new fU();_.Ac=EPb;_.tN=ogc+'RepositoryService_Proxy$30';_.tI=471;function aQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vcc(g.a,f);else xcb(g.a,c);}
-function dQb(a){var b;b=x;cQb(this,a);}
-function FPb(){}
-_=FPb.prototype=new fU();_.Ac=dQb;_.tN=ogc+'RepositoryService_Proxy$31';_.tI=472;function fQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
-function iQb(a){var b;b=x;hQb(this,a);}
-function eQb(){}
-_=eQb.prototype=new fU();_.Ac=iQb;_.tN=ogc+'RepositoryService_Proxy$32';_.tI=473;function kQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)pJb(g.a,f);else xcb(g.a,c);}
-function nQb(a){var b;b=x;mQb(this,a);}
-function jQb(){}
-_=jQb.prototype=new fU();_.Ac=nQb;_.tN=ogc+'RepositoryService_Proxy$33';_.tI=474;function pQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)o7(g.a,f);else xcb(g.a,c);}
-function sQb(a){var b;b=x;rQb(this,a);}
-function oQb(){}
-_=oQb.prototype=new fU();_.Ac=sQb;_.tN=ogc+'RepositoryService_Proxy$34';_.tI=475;function uQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f9(g.a,f);else xcb(g.a,c);}
-function xQb(a){var b;b=x;wQb(this,a);}
-function tQb(){}
-_=tQb.prototype=new fU();_.Ac=xQb;_.tN=ogc+'RepositoryService_Proxy$35';_.tI=476;function zQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function BQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t6b(g.a,f);else xcb(g.a,c);}
-function CQb(a){var b;b=x;BQb(this,a);}
-function yQb(){}
-_=yQb.prototype=new fU();_.Ac=CQb;_.tN=ogc+'RepositoryService_Proxy$36';_.tI=477;function EQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rEb(g.a,f);else xcb(g.a,c);}
-function bRb(a){var b;b=x;aRb(this,a);}
-function DQb(){}
-_=DQb.prototype=new fU();_.Ac=bRb;_.tN=ogc+'RepositoryService_Proxy$37';_.tI=478;function dRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Dac(g.a,f);else xcb(g.a,c);}
-function gRb(a){var b;b=x;fRb(this,a);}
-function cRb(){}
-_=cRb.prototype=new fU();_.Ac=gRb;_.tN=ogc+'RepositoryService_Proxy$38';_.tI=479;function iRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function kRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eCb(g.a,f);else xcb(g.a,c);}
-function lRb(a){var b;b=x;kRb(this,a);}
-function hRb(){}
-_=hRb.prototype=new fU();_.Ac=lRb;_.tN=ogc+'RepositoryService_Proxy$39';_.tI=480;function rRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function tRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dBb(g.a,f);else xcb(g.a,c);}
-function uRb(a){var b;b=x;tRb(this,a);}
-function qRb(){}
-_=qRb.prototype=new fU();_.Ac=uRb;_.tN=ogc+'RepositoryService_Proxy$4';_.tI=481;function wRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)uAb(g.a,f);else xcb(g.a,c);}
-function zRb(a){var b;b=x;yRb(this,a);}
-function vRb(){}
-_=vRb.prototype=new fU();_.Ac=zRb;_.tN=ogc+'RepositoryService_Proxy$5';_.tI=482;function BRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)l5b(g.a,f);else xcb(g.a,c);}
-function ERb(a){var b;b=x;DRb(this,a);}
-function ARb(){}
-_=ARb.prototype=new fU();_.Ac=ERb;_.tN=ogc+'RepositoryService_Proxy$6';_.tI=483;function aSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cSb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)xeb(g.a,f);else xcb(g.a,c);}
-function dSb(a){var b;b=x;cSb(this,a);}
-function FRb(){}
-_=FRb.prototype=new fU();_.Ac=dSb;_.tN=ogc+'RepositoryService_Proxy$7';_.tI=484;function fSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hSb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)y$b(g.a,f);else xcb(g.a,c);}
-function iSb(a){var b;b=x;hSb(this,a);}
-function eSb(){}
-_=eSb.prototype=new fU();_.Ac=iSb;_.tN=ogc+'RepositoryService_Proxy$8';_.tI=485;function zUb(){zUb=d3;BWb=AUb();EWb=BUb();}
-function yUb(a){zUb();return a;}
-function AUb(){zUb();return {'[B/2233087514':[function(a){return CUb(a);},function(a,b){qm(a,b);},function(a,b){rm(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return DUb(a);},function(a,b){hl(a,b);},function(a,b){il(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return EUb(a);},function(a,b){sl(a,b);},function(a,b){ul(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return dVb(a);},function(a,b){yD(a,b);},function(a,b){BD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return eVb(a);},function(a,b){qI(a,b);},function(a,b){tI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return fVb(a);},function(a,b){yI(a,b);},function(a,b){AI(a,b);}],'java.lang.Boolean/476441737':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}],'java.!
 lang.String/2004016611':[function(a){return mm(a);},function(a,b){lm(a,b);},function(a,b){nm(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return gVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'java.util.ArrayList/3821976829':[function(a){return FUb(a);},function(a,b){um(a,b);},function(a,b){vm(a,b);}],'java.util.Date/1659716317':[function(a){return zm(a);},function(a,b){ym(a,b);},function(a,b){Am(a,b);}],'java.util.HashMap/962170901':[function(a){return aVb(a);},function(a,b){Dm(a,b);},function(a,b){Em(a,b);}],'java.util.HashSet/1594477813':[function(a){return bVb(a);},function(a,b){bn(a,b);},function(a,b){cn(a,b);}],'java.util.Vector/3125574444':[function(a){return cVb(a);},function(a,b){fn(a,b);},function(a,b){gn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return hVb(a);},function(a,b){xgb(a,b);},function(a,b){ygb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return iVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return kVb(a);},function(a,b){qhb(a,b);},function(a,b){rhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return jVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return mVb(a);},function(a,b){yhb(a,b);},function(a,b){zhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return lVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return oVb(a);},function(a,b){aib(a,b);},function(a,b){bib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return nVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn qVb(a);},function(a,b){hib(a,b);},function(a,b){iib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return pVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return sVb(a);},function(a,b){pib(a,b);},function(a,b){qib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return rVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return uVb(a);},function(a,b){xib(a,b);},function(a,b){yib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return tVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return wVb(a);},function(a,b){Fib(a,b);},function(a,b){ajb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn vVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return yVb(a);},function(a,b){hjb(a,b);},function(a,b){ijb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return xVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return AVb(a);},function(a,b){njb(a,b);},function(a,b){ojb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return zVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return CVb(a);},function(a,b){vjb(a,b);},function(a,b){wjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return BVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return EVb(a);},function(a,b){bkb(a,b);},function(a,b){ckb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return DVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return FVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return aWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return bWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return cWb(a);},function(a,b){kkb(a,b);},function(a,b){lkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return eWb(a);},function(a,b){skb(a,b);},function(a,b!
 ){tkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return dWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return fWb(a);},function(a,b){hlb(a,b);},function(a,b){ilb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return hWb(a);},function(a,b){qlb(a,b);},function(a,b){rlb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return gWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return jWb(a);},function(a,b){kLb(a,b);},function(a,b){lLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return iWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return kWb(a);},function(a,b){rLb(a,b);},function(a,b){tLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return lWb(a);},function(a,b){DLb(a,b);},function(a,b){ELb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return nWb(a);},function(a,b){dMb(a,b);},function(a,b){eMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return mWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return oWb(a);},function(a,b){dXb(a,b);},function(a,b){eXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return pWb(a);},function(a,b){jXb(a,b);},function(a,b){kXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return qWb(a);},function(a,b){qYb(a,b);},function(a,b){rYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return sWb(a);},function(a,b){wYb(a,b);},function(a,b){xYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn rWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return tWb(a);},function(a,b){CYb(a,b);},function(a,b){DYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return uWb(a);},function(a,b){cZb(a,b);},function(a,b){dZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return wWb(a);},function(a,b){iZb(a,b);},function(a,b){jZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return vWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return xWb(a);},function(a,b){pZb(a,b);},function(a,b){qZb(a,b);}]};}
-function BUb(){zUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
-function CUb(b){zUb();var a;a=b.Bd();return yb('[B',[621],[(-1)],[a],0);}
-function DUb(a){zUb();return dl(new cl());}
-function EUb(a){zUb();return new ol();}
-function FUb(a){zUb();return nY(new lY());}
-function aVb(a){zUb();return k1(new o0());}
-function bVb(a){zUb();return e2(new d2());}
-function cVb(a){zUb();return x2(new w2());}
-function dVb(a){zUb();return new uD();}
-function eVb(a){zUb();return new jI();}
-function fVb(a){zUb();return new lI();}
-function gVb(b){zUb();var a;a=b.Bd();return yb('[Ljava.lang.String;',[608],[1],[a],null);}
-function hVb(a){zUb();return igb(new ggb());}
-function iVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[625],[24],[a],null);}
-function jVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[618],[18],[a],null);}
-function kVb(a){zUb();return new lhb();}
-function lVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[626],[25],[a],null);}
-function mVb(a){zUb();return thb(new shb());}
-function nVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[627],[26],[a],null);}
-function oVb(a){zUb();return Bhb(new Ahb());}
-function pVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[628],[27],[a],null);}
-function qVb(a){zUb();return new cib();}
-function rVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[629],[28],[a],null);}
-function sVb(a){zUb();return kib(new jib());}
-function tVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[630],[29],[a],null);}
-function uVb(a){zUb();return sib(new rib());}
-function vVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[631],[30],[a],null);}
-function wVb(a){zUb();return new zib();}
-function xVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[632],[31],[a],null);}
-function yVb(a){zUb();return new bjb();}
-function zVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[615],[15],[a],null);}
-function AVb(a){zUb();return new jjb();}
-function BVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[614],[14],[a],null);}
-function CVb(a){zUb();return new pjb();}
-function DVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[616],[16],[a],null);}
-function EVb(a){zUb();return new yjb();}
-function FVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[617],[17],[a],null);}
-function aWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[624],[23],[a],null);}
-function bWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[623],[22],[a],null);}
-function cWb(a){zUb();return new gkb();}
-function dWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[622],[21],[a],null);}
-function eWb(a){zUb();return new nkb();}
-function fWb(a){zUb();return xkb(new vkb());}
-function gWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[633],[32],[a],null);}
-function hWb(a){zUb();return new jlb();}
-function iWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[609],[10],[a],null);}
-function jWb(a){zUb();return new gLb();}
-function kWb(a){zUb();return new nLb();}
-function lWb(a){zUb();return xLb(new vLb());}
-function mWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[619],[19],[a],null);}
-function nWb(a){zUb();return new FLb();}
-function oWb(a){zUb();return new FWb();}
-function pWb(a){zUb();return new fXb();}
-function qWb(a){zUb();return new mYb();}
-function rWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[610],[11],[a],null);}
-function sWb(a){zUb();return new sYb();}
-function tWb(a){zUb();return new yYb();}
-function uWb(a){zUb();return new EYb();}
-function vWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[613],[13],[a],null);}
-function wWb(a){zUb();return new eZb();}
-function xWb(a){zUb();return new lZb();}
-function yWb(c,a,d){var b=BWb[d];if(!b){CWb(d);}b[1](c,a);}
-function zWb(b){var a=EWb[b];return a==null?b:a;}
-function AWb(b,c){var a=BWb[c];if(!a){CWb(c);}return a[0](b);}
-function CWb(a){zUb();throw yl(new xl(),a);}
-function DWb(c,a,d){var b=BWb[d];if(!b){CWb(d);}b[2](c,a);}
-function xUb(){}
-_=xUb.prototype=new fU();_.ib=yWb;_.bc=zWb;_.nc=AWb;_.ie=DWb;_.tN=ogc+'RepositoryService_TypeSerializer';_.tI=486;var BWb,EWb;function FWb(){}
-_=FWb.prototype=new fU();_.tN=ogc+'RuleAsset';_.tI=487;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function dXb(b,a){a.a=b.zd();a.b=Fb(b.Dd(),39);a.c=b.zd();a.d=Fb(b.Dd(),93);a.e=b.Ed();}
-function eXb(b,a){b.bf(a.a);b.ff(a.b);b.bf(a.c);b.ff(a.d);b.gf(a.e);}
-function fXb(){}
-_=fXb.prototype=new fU();_.tN=ogc+'RuleContentText';_.tI=488;_.a=null;function jXb(b,a){a.a=b.Ed();}
-function kXb(b,a){b.gf(a.a);}
-function AXb(){AXb=d3;EXb=aYb(new FXb());}
-function xXb(a){AXb();return a;}
-function yXb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.SecurityService');wn(a,'getCurrentUser');un(a,0);}
-function zXb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.SecurityService');wn(b,'login');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
-function BXb(h,c){var a,d,e,f,g;f=co(new bo(),EXb);g=wo(new uo(),EXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{yXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Dc(d);return;}else throw a;}e=oXb(new nXb(),h,f,c);if(!wg(h.a,Do(g),e))c.Dc(kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CXb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),EXb);h=wo(new uo(),EXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{zXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=tXb(new sXb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DXb(b,a){b.a=a;}
-function mXb(){}
-_=mXb.prototype=new fU();_.tN=ogc+'SecurityService_Proxy';_.tI=489;_.a=null;var EXb;function oXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function qXb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else g.a.Dc(c);}
-function rXb(a){var b;b=x;qXb(this,a);}
-function nXb(){}
-_=nXb.prototype=new fU();_.Ac=rXb;_.tN=ogc+'SecurityService_Proxy$1';_.tI=490;function tXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vXb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=jS(new iS(),ho(g.b));}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)E5(g.a,f);else xcb(g.a,c);}
-function wXb(a){var b;b=x;vXb(this,a);}
-function sXb(){}
-_=sXb.prototype=new fU();_.Ac=wXb;_.tN=ogc+'SecurityService_Proxy$2';_.tI=491;function bYb(){bYb=d3;iYb=cYb();lYb=dYb();}
-function aYb(a){bYb();return a;}
-function cYb(){bYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return eYb(a);},function(a,b){hl(a,b);},function(a,b){il(a,b);}],'java.lang.String/2004016611':[function(a){return mm(a);},function(a,b){lm(a,b);},function(a,b){nm(a,b);}]};}
-function dYb(){bYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
-function eYb(a){bYb();return dl(new cl());}
-function fYb(c,a,d){var b=iYb[d];if(!b){jYb(d);}b[1](c,a);}
-function gYb(b){var a=lYb[b];return a==null?b:a;}
-function hYb(b,c){var a=iYb[c];if(!a){jYb(c);}return a[0](b);}
-function jYb(a){bYb();throw yl(new xl(),a);}
-function kYb(c,a,d){var b=iYb[d];if(!b){jYb(d);}b[2](c,a);}
-function FXb(){}
-_=FXb.prototype=new fU();_.ib=fYb;_.bc=gYb;_.nc=hYb;_.ie=kYb;_.tN=ogc+'SecurityService_TypeSerializer';_.tI=492;var iYb,lYb;function mYb(){}
-_=mYb.prototype=new ol();_.tN=ogc+'SessionExpiredException';_.tI=493;function qYb(b,a){sl(b,a);}
-function rYb(b,a){ul(b,a);}
-function sYb(){}
-_=sYb.prototype=new fU();_.tN=ogc+'SnapshotInfo';_.tI=494;_.a=null;_.b=null;_.c=null;function wYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
-function xYb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
-function yYb(){}
-_=yYb.prototype=new fU();_.tN=ogc+'TableConfig';_.tI=495;_.a=null;_.b=0;function CYb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Bd();}
-function DYb(b,a){b.ff(a.a);b.df(a.b);}
-function EYb(){}
-_=EYb.prototype=new fU();_.tN=ogc+'TableDataResult';_.tI=496;_.a=null;function cZb(b,a){a.a=Fb(b.Dd(),94);}
-function dZb(b,a){b.ff(a.a);}
-function kZb(a){return eV(a,'\\,')[0];}
-function eZb(){}
-_=eZb.prototype=new fU();_.tN=ogc+'TableDataRow';_.tI=497;_.a=null;_.b=null;_.c=null;function iZb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=Fb(b.Dd(),63);}
-function jZb(b,a){b.gf(a.a);b.gf(a.b);b.ff(a.c);}
-function lZb(){}
-_=lZb.prototype=new fU();_.tN=ogc+'ValidatedResponse';_.tI=498;_.a=null;_.b=null;_.c=false;_.d=null;function pZb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.zd();a.d=Fb(b.Dd(),39);}
-function qZb(b,a){b.gf(a.a);b.gf(a.b);b.bf(a.c);b.ff(a.d);}
-function F0b(a){a.e=ut(new ot());}
-function a1b(j,b,c,a,f,d,g){var e,h,i;F0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=mz(new qw());i=j.f.r;e=xt(j.e);h=iA(new gA());h1b(j,i);jA(h,j.g);if(!g){d1b(j,e,h);}j1b(j,f,e);pr(j,j.e);j.Be('100%');return j;}
-function c1b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
-function d1b(h,e,g){var a,b,c,d,f;d=Ccb(new Bcb(),'images/edit.gif');d.te('Change status.');oB(d,BZb(new sZb(),h));jA(g,d);h.e.ze(0,0,g);ex(e,0,0,(xz(),zz),(aA(),dA));f=zp(new tp(),'Save changes');f.te('Check in changes.');f.x(FZb(new EZb(),h));jA(g,f);b=zp(new tp(),'Copy');b.x(d0b(new c0b(),h));jA(g,b);a=zp(new tp(),'Archive');a.x(h0b(new g0b(),h));jA(g,a);if(h.f.v==0){c=zp(new tp(),'Delete');c.x(l0b(new k0b(),h));jA(g,c);}}
-function e1b(b,c){var a;a=n2b(new i2b(),wN(c),xN(c),'Check in changes.');q2b(a,uZb(new tZb(),b,a));r2b(a);}
-function f1b(e,f){var a,b,c,d;a=rcb(new mcb(),'images/rule_asset.gif','Copy this item');b=eL(new vK());c=Fdb(new Adb());scb(a,'New name:',b);scb(a,'New package:',c);d=zp(new tp(),'Create copy');d.x(x0b(new w0b(),e,c,b,a));scb(a,'',d);wE(a,dc((tab()-rE(a))/2),100);zE(a);}
-function g1b(b,a){b.c=a;}
-function h1b(b,a){qz(b.g,'Status: <b>['+a+']<\/b>');}
-function i1b(b,c){var a;a=zeb(new deb(),b.h,false);Ceb(a,yZb(new xZb(),b,a));wE(a,wN(c),xN(c));zE(a);}
-function j1b(e,d,b){var a,c,f;f=iA(new gA());c=Ccb(new Bcb(),'images/max_min.gif');oB(c,p0b(new o0b(),e,d));jA(f,c);a=Ccb(new Bcb(),'images/close.gif');a.te('Close.');oB(a,t0b(new s0b(),e));jA(f,a);e.e.ze(0,1,f);ex(b,0,1,(xz(),Az),(aA(),dA));}
-function rZb(){}
-_=rZb.prototype=new nr();_.tN=pgc+'ActionToolbar';_.tI=499;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function BZb(b,a){b.a=a;return b;}
-function DZb(a){i1b(this.a,a);}
-function sZb(){}
-_=sZb.prototype=new fU();_.zc=DZb;_.tN=pgc+'ActionToolbar$1';_.tI=500;function uZb(b,a,c){b.a=a;b.b=c;return b;}
-function wZb(){this.a.f.b=p2b(this.b);v9b(this.a.b);}
-function tZb(){}
-_=tZb.prototype=new fU();_.pb=wZb;_.tN=pgc+'ActionToolbar$10';_.tI=501;function yZb(b,a,c){b.a=a;b.b=c;return b;}
-function AZb(){h1b(this.a,this.b.c);}
-function xZb(){}
-_=xZb.prototype=new fU();_.pb=AZb;_.tN=pgc+'ActionToolbar$11';_.tI=502;function FZb(b,a){b.a=a;return b;}
-function b0b(a){e1b(this.a,a);}
-function EZb(){}
-_=EZb.prototype=new fU();_.zc=b0b;_.tN=pgc+'ActionToolbar$2';_.tI=503;function d0b(b,a){b.a=a;return b;}
-function f0b(a){f1b(this.a,a);}
-function c0b(){}
-_=c0b.prototype=new fU();_.zc=f0b;_.tN=pgc+'ActionToolbar$3';_.tI=504;function h0b(b,a){b.a=a;return b;}
-function j0b(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+b0(zZ(new yZ()));A9b(this.a.a);}}
-function g0b(){}
-_=g0b.prototype=new fU();_.zc=j0b;_.tN=pgc+'ActionToolbar$4';_.tI=505;function l0b(b,a){b.a=a;return b;}
-function n0b(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){e$b(this.a.d);}}
-function k0b(){}
-_=k0b.prototype=new fU();_.zc=n0b;_.tN=pgc+'ActionToolbar$5';_.tI=506;function p0b(b,a,c){b.a=c;return b;}
-function r0b(a){F9b(this.a);}
-function o0b(){}
-_=o0b.prototype=new fU();_.zc=r0b;_.tN=pgc+'ActionToolbar$6';_.tI=507;function t0b(b,a){b.a=a;return b;}
-function v0b(a){o$b(this.a.c);}
-function s0b(){}
-_=s0b.prototype=new fU();_.zc=v0b;_.tN=pgc+'ActionToolbar$7';_.tI=508;function x0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
-function z0b(a){yTb(mMb(),this.a.h,beb(this.d),CK(this.c),B0b(new A0b(),this,this.c,this.d,this.b));}
-function w0b(){}
-_=w0b.prototype=new fU();_.zc=z0b;_.tN=pgc+'ActionToolbar$8';_.tI=509;function B0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
-function D0b(b,a){c1b(b.a.a,CK(b.c),beb(b.d));b.b.lc();}
-function E0b(a){D0b(this,a);}
-function A0b(){}
-_=A0b.prototype=new vcb();_.pd=E0b;_.tN=pgc+'ActionToolbar$9';_.tI=510;function F1b(a){a.b=yab(new wab());}
-function a2b(c,a,b){F1b(c);c.a=a;c.c=ut(new ot());f2b(c,c.c);FN(c.c,'rule-List');Bab(c.b,0,0,c.c);if(!b){d2b(c);}pr(c,c.b);return c;}
-function b2b(b,a){yLb(b.a,a);h2b(b);}
-function d2b(c){var a,b;a=sO(new qO());b=Ccb(new Bcb(),'images/new_item.gif');b.te('Add a new category.');oB(b,u1b(new t1b(),c));tO(a,b);Bab(c.b,0,1,a);}
-function e2b(b){var a;a=D1b(new B1b(),b);wE(a,wN(b),xN(b));zE(a);}
-function f2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;bz(d,b,0,e.a.a[b]);a=Ccb(new Bcb(),'images/trash.gif');a.te('Remove this category');oB(a,y1b(new x1b(),e,c));d.ze(b,1,a);}}
-function g2b(b,a){ALb(b.a,a);rab(b);h2b(b);}
-function h2b(a){a.c=ut(new ot());FN(a.c,'rule-List');Bab(a.b,0,0,a.c);f2b(a,a.c);rab(a);}
-function k1b(){}
-_=k1b.prototype=new pab();_.tN=pgc+'AssetCategoryEditor';_.tI=511;_.a=null;_.c=null;function m1b(b,a){b.a=a;return b;}
-function o1b(a){this.a.b=a;}
-function l1b(){}
-_=l1b.prototype=new fU();_.he=o1b;_.tN=pgc+'AssetCategoryEditor$1';_.tI=512;function q1b(b,a){b.a=a;return b;}
-function s1b(a){if(this.a.b!==null&& !EU('',this.a.b)){b2b(this.a.d,this.a.b);}this.a.lc();}
-function p1b(){}
-_=p1b.prototype=new fU();_.zc=s1b;_.tN=pgc+'AssetCategoryEditor$2';_.tI=513;function u1b(b,a){b.a=a;return b;}
-function w1b(a){e2b(this.a);}
-function t1b(){}
-_=t1b.prototype=new fU();_.zc=w1b;_.tN=pgc+'AssetCategoryEditor$3';_.tI=514;function y1b(b,a,c){b.a=a;b.b=c;return b;}
-function A1b(a){g2b(this.a,this.b);}
-function x1b(){}
-_=x1b.prototype=new fU();_.zc=A1b;_.tN=pgc+'AssetCategoryEditor$4';_.tI=515;function E1b(){E1b=d3;pE();}
-function C1b(a){a.a=zp(new tp(),'OK');}
-function D1b(b,a){var c;E1b();b.d=a;mE(b,true);C1b(b);c=sO(new qO());b.c=d_(new s$(),m1b(new l1b(),b));FN(b,'ks-popups-Popup');tO(c,b.c);tO(c,b.a);hH(b,c);b.a.x(q1b(new p1b(),b));return b;}
-function B1b(){}
-_=B1b.prototype=new kE();_.tN=pgc+'AssetCategoryEditor$CategorySelector';_.tI=516;_.b=null;_.c=null;function n2b(c,a,d,b){c.b=rcb(new mcb(),'images/checkin.gif',b);c.a=pK(new oK());c.a.Be('100%');c.c=zp(new tp(),'Save');scb(c.b,'Comment',c.a);scb(c.b,'',c.c);FN(c.b,'ks-popups-Popup');wE(c.b,a,d);return c;}
-function p2b(a){return CK(a.a);}
-function q2b(b,a){b.c.x(k2b(new j2b(),b,a));}
-function r2b(a){wE(a.b,dc((tab()-rE(a.b))/2),100);zE(a.b);}
-function i2b(){}
-_=i2b.prototype=new fU();_.tN=pgc+'CheckinPopup';_.tI=517;_.a=null;_.b=null;_.c=null;function k2b(b,a,c){b.a=a;b.b=c;return b;}
-function m2b(a){this.b.pb();this.a.b.lc();}
-function j2b(){}
-_=j2b.prototype=new fU();_.zc=m2b;_.tN=pgc+'CheckinPopup$1';_.tI=518;function i3b(){i3b=d3;pE();}
-function g3b(g,f,e){var a,b,c,d;i3b();mE(g,true);g.d=f;g.b=eL(new vK());g.b.Be('100%');b='<enter text to filter list>';aL(g.b,'<enter text to filter list>');pu(g.b,u2b(new t2b(),g));zK(g.b,z2b(new y2b(),g,e));g.b.oe(true);d=sO(new qO());tO(d,g.b);g.c=xC(new nC());hD(g.c,5);k3b(g,f5b(g.d,''));tO(d,g.c);c=zp(new tp(),'ok');c.x(F2b(new E2b(),g,e));a=zp(new tp(),'cancel');a.x(d3b(new c3b(),g));g.a=iA(new gA());jA(g.a,c);jA(g.a,a);tO(d,g.a);hH(g,d);FN(g,'ks-popups-Popup');return g;}
-function h3b(b,a){E3b(a,j3b(b));b.lc();}
-function j3b(a){return aD(a.c,bD(a.c));}
-function k3b(c,a){var b;DC(c.c);for(b=0;b<a.b;b++){AC(c.c,Fb(uY(a,b),14).a);}}
-function s2b(){}
-_=s2b.prototype=new kE();_.tN=pgc+'ChoiceList';_.tI=519;_.a=null;_.b=null;_.c=null;_.d=null;function u2b(b,a){b.a=a;return b;}
-function w2b(a){aL(this.a.b,'');}
-function x2b(a){aL(this.a.b,'<enter text to filter list>');}
-function t2b(){}
-_=t2b.prototype=new fU();_.Ec=w2b;_.gd=x2b;_.tN=pgc+'ChoiceList$1';_.tI=520;function z2b(b,a,c){b.a=a;b.b=c;return b;}
-function B2b(a,b,c){}
-function C2b(a,b,c){}
-function D2b(a,b,c){if(b==13){h3b(this.a,this.b);}else{k3b(this.a,f5b(this.a.d,CK(this.a.b)));}}
-function y2b(){}
-_=y2b.prototype=new fU();_.cd=B2b;_.dd=C2b;_.ed=D2b;_.tN=pgc+'ChoiceList$2';_.tI=521;function F2b(b,a,c){b.a=a;b.b=c;return b;}
-function b3b(a){h3b(this.a,this.b);}
-function E2b(){}
-_=E2b.prototype=new fU();_.zc=b3b;_.tN=pgc+'ChoiceList$3';_.tI=522;function d3b(b,a){b.a=a;return b;}
-function f3b(a){this.a.lc();}
-function c3b(){}
-_=c3b.prototype=new fU();_.zc=f3b;_.tN=pgc+'ChoiceList$4';_.tI=523;function C3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=pK(new oK());uK(i.d,10);aL(i.d,i.c.a);i.d.te('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=cLb((aLb(),fLb),a.d.o);i.a=c.a;i.b=c.b;FN(i.d,'dsl-text-Editor');d=ut(new ot());d.ze(0,0,i.d);yK(i.d,n3b(new m3b(),i));zK(i.d,r3b(new q3b(),i));j=sO(new qO());e=Ccb(new Bcb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.te('Add a new condition');oB(e,v3b(new u3b(),i));h=Ccb(new Bcb(),'images/new_dsl_action.gif');g='Add an action';h.te('Add an action');oB(h,z3b(new y3b(),i));tO(j,e);tO(j,h);d.ze(0,1,j);kx(d.n,0,0,'95%');kx(d.n,0,1,'5%');d.Be('100%');d.qe('100%');pr(i,d);return i;}
-function E3b(e,b){var a,c,d;a=rK(e.d);c=iV(CK(e.d),0,a);d=iV(CK(e.d),a,cV(CK(e.d)));aL(e.d,c+b+d);e.c.a=CK(e.d);}
-function F3b(b){var a;a=iV(CK(b.d),0,rK(b.d));if(aV(a,'then')>(-1)){a4b(b,b.a);}else{a4b(b,b.b);}}
-function a4b(c,b){var a;a=g3b(new s2b(),b,c);wE(a,wN(c.d)+20,xN(c.d)+20);zE(a);}
-function l3b(){}
-_=l3b.prototype=new pab();_.tN=pgc+'DSLRuleEditor';_.tI=524;_.a=null;_.b=null;_.c=null;_.d=null;function n3b(b,a){b.a=a;return b;}
-function p3b(a){this.a.c.a=CK(this.a.d);rab(this.a);}
-function m3b(){}
-_=m3b.prototype=new fU();_.yc=p3b;_.tN=pgc+'DSLRuleEditor$1';_.tI=525;function r3b(b,a){b.a=a;return b;}
-function t3b(a,b,c){if(b==32&&c==2){F3b(this.a);}if(b==9){E3b(this.a,'\t');DK(this.a.d,rK(this.a.d)+1);AK(this.a.d);}}
-function q3b(){}
-_=q3b.prototype=new vB();_.cd=t3b;_.tN=pgc+'DSLRuleEditor$2';_.tI=526;function v3b(b,a){b.a=a;return b;}
-function x3b(a){a4b(this.a,this.a.b);}
-function u3b(){}
-_=u3b.prototype=new fU();_.zc=x3b;_.tN=pgc+'DSLRuleEditor$3';_.tI=527;function z3b(b,a){b.a=a;return b;}
-function B3b(a){a4b(this.a,this.a.a);}
-function y3b(){}
-_=y3b.prototype=new fU();_.zc=B3b;_.tN=pgc+'DSLRuleEditor$4';_.tI=528;function k4b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=pK(new oK());uK(b.c,10);aL(b.c,b.b.a);FN(b.c,'default-text-Area');yK(b.c,d4b(new c4b(),b));zK(b.c,h4b(new g4b(),b));pr(b,b.c);return b;}
-function m4b(e,b){var a,c,d;a=rK(e.c);c=iV(CK(e.c),0,a);d=iV(CK(e.c),a,cV(CK(e.c)));aL(e.c,c+b+d);e.b.a=CK(e.c);}
-function b4b(){}
-_=b4b.prototype=new pab();_.tN=pgc+'DefaultRuleContentWidget';_.tI=529;_.a=null;_.b=null;_.c=null;function d4b(b,a){b.a=a;return b;}
-function f4b(a){this.a.b.a=CK(this.a.c);rab(this.a);}
-function c4b(){}
-_=c4b.prototype=new fU();_.yc=f4b;_.tN=pgc+'DefaultRuleContentWidget$1';_.tI=530;function h4b(b,a){b.a=a;return b;}
-function j4b(a,b,c){if(b==9){m4b(this.a,'\t');DK(this.a.c,rK(this.a.c)+1);AK(this.a.c);}}
-function g4b(){}
-_=g4b.prototype=new vB();_.cd=j4b;_.tN=pgc+'DefaultRuleContentWidget$2';_.tI=531;function C4b(){C4b=d3;D4b=a5b();}
-function E4b(a){C4b();var b;b=Fb(q1(D4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
-function F4b(a,b){C4b();if(EU(a.d.k,'brl')){return D8b(new k8b(),twb(new oub(),a),a);}else if(EU(a.d.k,'dslr')){return D8b(new k8b(),C3b(new l3b(),a),a);}else if(EU(a.d.k,'jar')){return oyb(new nyb(),a,b);}else if(EU(a.d.k,'xls')){return D8b(new k8b(),yfb(new xfb(),a,b),a);}else if(EU(a.d.k,'rf')){return g8b(new f8b(),a,b);}else if(EU(a.d.k,'drl')){return D8b(new k8b(),k4b(new b4b(),a),a);}else if(EU(a.d.k,'enumeration')){return D8b(new k8b(),k4b(new b4b(),a),a);}else{return k4b(new b4b(),a);}}
-function a5b(){C4b();var a;a=k1(new o0());r1(a,'drl','technical_rule_assets.gif');r1(a,'dsl','dsl.gif');r1(a,'function','function_assets.gif');r1(a,'jar','model_asset.gif');r1(a,'xls','spreadsheet_small.gif');r1(a,'brl','business_rule.gif');r1(a,'dslr','business_rule.gif');r1(a,'rf','ruleflow_small.gif');return a;}
-function b5b(d,f,g,e,a){C4b();var b,c,h;h=D$b(new f9b(),a,e);b=a.d.n;if(cV(b)>10){b=iV(b,0,7)+'...';}c=E4b(a.d.k);EJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(nZ(),oZ)){r1(d,g,h);}g_b(h,y4b(new x4b(),f,h,d,g));eK(f,aK(f,h));}
-function c5b(b,d,e,c){C4b();var a;if(n1(b,e)){if(aK(d,Fb(q1(b,e),20))==(-1)){a=ac(bK(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{eK(d,aK(d,Fb(q1(b,e),20)));}sdb();return;}jUb(mMb(),e,p4b(new o4b(),b,d,e,c));}
-var D4b;function p4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
-function r4b(c){var a,b;a=Fb(c,97);b=(aLb(),fLb);bLb(b,a.d.o,t4b(new s4b(),this,this.a,this.c,this.d,this.b,a));}
-function o4b(){}
-_=o4b.prototype=new vcb();_.pd=r4b;_.tN=pgc+'EditorLauncher$1';_.tI=532;function t4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
-function v4b(a){b5b(a.b,a.d,a.e,a.c,a.a);}
-function w4b(){v4b(this);}
-function s4b(){}
-_=s4b.prototype=new fU();_.pb=w4b;_.tN=pgc+'EditorLauncher$2';_.tI=533;function y4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
-function A4b(a){dK(a.b,aK(a.b,a.d));eK(a.b,0);if(a.a!==(nZ(),oZ)){s1(a.a,a.c);}}
-function B4b(){A4b(this);}
-function x4b(){}
-_=x4b.prototype=new fU();_.pb=B4b;_.tN=pgc+'EditorLauncher$3';_.tI=534;function f5b(e,a){var b,c,d;b=nY(new lY());for(c=0;c<e.a;c++){d=e[c];if(EU(a,'')||gV(d.a,a)){pY(b,d);}}return b;}
-function A6b(e,a,c,f,d){var b;bcb(e);FN(e,'metadata-Widget');if(!c){b=Dcb(new Bcb(),'images/edit.gif','Rename this asset');oB(b,r5b(new h5b(),e));fcb(e,'images/meta_data.png',a.n,b);}else{ecb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;F6b(e,a);return e;}
-function B6b(a){a.b=a2b(new k1b(),a.a,a.c);return a.b;}
-function D6b(d,a,e){var b,c;if(!d.c){b=eL(new vK());b.te(e);aL(b,a.ec());c=o5b(new n5b(),d,a,b);yK(b,c);return b;}else{return fC(new dC(),a.ec());}}
-function E6b(a){if(a.a.v==0){return nz(new qw(),'<i>Not checked in yet<\/i>');}else{return c7b(a,rT(a.a.v));}}
-function F6b(b,a){b.a=a;dcb(b,'Categories:',B6b(b));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Modified on:',b7b(b,b.a.m));dcb(b,'by:',c7b(b,b.a.l));dcb(b,'Note:',c7b(b,b.a.b));dcb(b,'Version:',E6b(b));if(!b.c){dcb(b,'Created on:',b7b(b,b.a.d));}dcb(b,'Created by:',c7b(b,b.a.e));dcb(b,'Format:',nz(new qw(),'<b>'+b.a.k+'<\/b>'));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Package:',a7b(b,b.a.o));dcb(b,'Subject:',D6b(b,v5b(new u5b(),b),'A short description of the subject matter.'));dcb(b,'Type:',D6b(b,A5b(new z5b(),b),'This is for classification purposes.'));dcb(b,'External link:',D6b(b,F5b(new E5b(),b),'This is for relating the asset to an external system.'));dcb(b,'Source:',D6b(b,e6b(new d6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){gcb(b,bac(new i_b(),b.e,b.a,b.d));}}
-function a7b(d,c){var a,b;if(d.c){return c7b(d,c);}else{b=iA(new gA());FN(b,'metadata-Widget');jA(b,c7b(d,c));a=Ccb(new Bcb(),'images/edit.gif');oB(a,j6b(new i6b(),d,c));jA(b,a);return b;}}
-function b7b(b,a){if(a===null){return null;}else{return fC(new dC(),a0(a));}}
-function c7b(c,b){var a;a=fC(new dC(),b);a.Be('100%');return a;}
-function d7b(f,b,e){var a,c,d;c=rcb(new mcb(),'images/package_large.png','Move this item to another package');scb(c,'Current package:',fC(new dC(),b));d=Fdb(new Adb());scb(c,'New package:',d);a=zp(new tp(),'Change package');scb(c,'',a);a.x(w6b(new v6b(),f,d,b,c));wE(c,wN(e.v.v),xN(e.v.v));zE(c);}
-function e7b(e,d){var a,b,c;c=rcb(new mcb(),'images/package_large.png','Rename this item');a=eL(new vK());scb(c,'New name',a);b=zp(new tp(),'Rename item');scb(c,'',b);b.x(n6b(new m6b(),e,a,c));wE(c,wN(d.v.v)-18,xN(d.v.v));zE(c);}
-function f7b(){return this.b.pc()||this.j;}
-function g5b(){}
-_=g5b.prototype=new Fbb();_.pc=f7b;_.tN=pgc+'MetaDataWidget';_.tI=535;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function r5b(b,a){b.a=a;return b;}
-function t5b(a){e7b(this.a,a);}
-function h5b(){}
-_=h5b.prototype=new fU();_.zc=t5b;_.tN=pgc+'MetaDataWidget$1';_.tI=536;function j5b(b,a,c){b.a=a;b.b=c;return b;}
-function l5b(b,a){rab(b.a.a);j$b(b.a.a.d);b.b.lc();}
-function m5b(a){l5b(this,a);}
-function i5b(){}
-_=i5b.prototype=new vcb();_.pd=m5b;_.tN=pgc+'MetaDataWidget$10';_.tI=537;function o5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function q5b(a){rab(this.a);this.b.xe(CK(this.c));}
-function n5b(){}
-_=n5b.prototype=new fU();_.yc=q5b;_.tN=pgc+'MetaDataWidget$11';_.tI=538;function v5b(b,a){b.a=a;return b;}
-function x5b(){return this.a.a.s;}
-function y5b(a){this.a.a.s=a;}
-function u5b(){}
-_=u5b.prototype=new fU();_.ec=x5b;_.xe=y5b;_.tN=pgc+'MetaDataWidget$2';_.tI=539;function A5b(b,a){b.a=a;return b;}
-function C5b(){return this.a.a.u;}
-function D5b(a){this.a.a.u=a;}
-function z5b(){}
-_=z5b.prototype=new fU();_.ec=C5b;_.xe=D5b;_.tN=pgc+'MetaDataWidget$3';_.tI=540;function F5b(b,a){b.a=a;return b;}
-function b6b(){return this.a.a.i;}
-function c6b(a){this.a.a.i=a;}
-function E5b(){}
-_=E5b.prototype=new fU();_.ec=b6b;_.xe=c6b;_.tN=pgc+'MetaDataWidget$4';_.tI=541;function e6b(b,a){b.a=a;return b;}
-function g6b(){return this.a.a.j;}
-function h6b(a){this.a.a.j=a;}
-function d6b(){}
-_=d6b.prototype=new fU();_.ec=g6b;_.xe=h6b;_.tN=pgc+'MetaDataWidget$5';_.tI=542;function j6b(b,a,c){b.a=a;b.b=c;return b;}
-function l6b(a){d7b(this.a,this.b,a);}
-function i6b(){}
-_=i6b.prototype=new fU();_.zc=l6b;_.tN=pgc+'MetaDataWidget$6';_.tI=543;function n6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function p6b(a){rUb(mMb(),this.a.e,CK(this.b),r6b(new q6b(),this,this.c));}
-function m6b(){}
-_=m6b.prototype=new fU();_.zc=p6b;_.tN=pgc+'MetaDataWidget$7';_.tI=544;function r6b(b,a,c){b.a=a;b.b=c;return b;}
-function t6b(b,a){j$b(b.a.a.d);zh('Item has been renamed');b.b.lc();}
-function u6b(a){t6b(this,a);}
-function q6b(){}
-_=q6b.prototype=new vcb();_.pd=u6b;_.tN=pgc+'MetaDataWidget$8';_.tI=545;function w6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function y6b(a){if(EU(beb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}uTb(mMb(),this.a.e,beb(this.d),'Moved from : '+this.b,j5b(new i5b(),this,this.c));}
-function v6b(){}
-_=v6b.prototype=new fU();_.zc=y6b;_.tN=pgc+'MetaDataWidget$9';_.tI=546;function x7b(){x7b=d3;ucb();}
-function u7b(a){a.f=eL(new vK());a.b=pK(new oK());a.d=z7b(a);a.g=Fdb(new Adb());}
-function v7b(e,a,d,b,f){var c;x7b();rcb(e,'images/new_wiz.gif',f);u7b(e);e.h=d;e.c=b;e.a=a;scb(e,'Name:',e.f);if(d){scb(e,'Initial category:',y7b(e));}if(b===null){scb(e,'Type (format) of rule:',e.d);}scb(e,'Package:',e.g);uK(e.b,4);e.b.Be('100%');scb(e,'Initial description:',e.b);c=zp(new tp(),'OK');c.x(i7b(new h7b(),e));scb(e,'',c);FN(e,'ks-popups-Popup');return e;}
-function w7b(e,b,d,c,f,a){x7b();v7b(e,b,d,c,f);ceb(e.g,a);return e;}
-function y7b(a){return d_(new s$(),m7b(new l7b(),a));}
-function A7b(a){if(a.c!==null)return a.c;return cD(a.d,bD(a.d));}
-function z7b(b){var a;a=xC(new nC());BC(a,'Business rule (using guided editor)','brl');BC(a,'DRL rule (technical rule - text editor)','drl');BC(a,'Business rule using a DSL (text editor)','dslr');BC(a,'Decision table (spreadsheet)','xls');gD(a,0);return a;}
-function B7b(b){var a;if(b.h&&b.e===null){lfb('You have to pick an initial category.',wN(b),xN(b));return;}else if(CK(b.f)===null||EU('',CK(b.f))){lfb('Rule must have a name',wN(b),xN(b));return;}a=q7b(new p7b(),b);wdb('Please wait ...');CTb(mMb(),CK(b.f),CK(b.b),b.e,beb(b.g),A7b(b),a);}
-function C7b(a,b){a.a.wd(b);}
-function g7b(){}
-_=g7b.prototype=new mcb();_.tN=pgc+'NewAssetWizard';_.tI=547;_.a=null;_.c=null;_.e=null;_.h=false;function i7b(b,a){b.a=a;return b;}
-function k7b(a){B7b(this.a);}
-function h7b(){}
-_=h7b.prototype=new fU();_.zc=k7b;_.tN=pgc+'NewAssetWizard$1';_.tI=548;function m7b(b,a){b.a=a;return b;}
-function o7b(a){this.a.e=a;}
-function l7b(){}
-_=l7b.prototype=new fU();_.he=o7b;_.tN=pgc+'NewAssetWizard$2';_.tI=549;function q7b(b,a){b.a=a;return b;}
-function s7b(b,a){var c;c=Fb(a,1);if(gV(c,'DUPLICATE')){sdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{C7b(b.a,Fb(a,1));b.a.lc();}}
-function t7b(a){s7b(this,a);}
-function p7b(){}
-_=p7b.prototype=new vcb();_.pd=t7b;_.tN=pgc+'NewAssetWizard$3';_.tI=550;function c8b(b,a){b.a=pK(new oK());b.a.Be('100%');uK(b.a,10);FN(b.a,'rule-viewer-Documentation');b.a.te('This is rule documentation. Human friendly descriptions of the business logic.');pr(b,b.a);e8b(b,a);return b;}
-function e8b(b,a){aL(b.a,a.h);yK(b.a,F7b(new E7b(),b,a));if(a.h===null||EU('',a.h)){aL(b.a,'<documentation>');}}
-function D7b(){}
-_=D7b.prototype=new pab();_.tN=pgc+'RuleDocumentWidget';_.tI=551;_.a=null;function F7b(b,a,c){b.a=a;b.b=c;return b;}
-function b8b(a){this.b.h=CK(this.a.a);rab(this.a);}
-function E7b(){}
-_=E7b.prototype=new fU();_.yc=b8b;_.tN=pgc+'RuleDocumentWidget$1';_.tI=552;function g8b(b,a,c){wxb(b,a,c);xxb(b,nz(new qw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
-function i8b(){return 'images/ruleflow_large.png';}
-function j8b(){return 'decision-Table-upload';}
-function f8b(){}
-_=f8b.prototype=new ixb();_.vb=i8b;_.Eb=j8b;_.tN=pgc+'RuleFlowUploadWidget';_.tI=553;function D8b(c,b,a){c.a=a;c.b=yab(new wab());FN(c.b,'asset-editor-Layout');Bab(c.b,0,0,b);if(!a.c)Bab(c.b,1,0,d9b(c));ex(c.b.n,1,0,(xz(),Az),(aA(),dA));c.b.Be('100%');c.b.qe('100%');pr(c,c.b);return c;}
-function F8b(a){wdb('Validating item, please wait...');rTb(mMb(),a.a,u8b(new t8b(),a));}
-function a9b(a){wdb('Calculating source...');qTb(mMb(),a.a,z8b(new y8b(),a));}
-function b9b(h,e){var a,b,c,d,f,g;c=rcb(new mcb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){tcb(c,nz(new qw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=ut(new ot());FN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ze(f,0,nB(new xA(),'images/error.gif'));if(EU(d.a,'package')){bz(a,f,1,'[package configuration problem] '+d.c);}else{bz(a,f,1,d.c);}}g=zG(new xG(),a);g.Be('100%');tcb(c,g);}wE(c,100,100);zE(c);sdb();}
-function c9b(b,a){vBb(a,b.a.d.n);sdb();}
-function d9b(b){var a,c,d;a=iA(new gA());d=zp(new tp(),'View source');jA(a,d);c=zp(new tp(),'Validate');jA(a,c);d.x(m8b(new l8b(),b));c.x(q8b(new p8b(),b));FN(a,'asset-validator-Buttons');return a;}
-function e9b(){return Aab(this.b);}
-function k8b(){}
-_=k8b.prototype=new pab();_.pc=e9b;_.tN=pgc+'RuleValidatorWrapper';_.tI=554;_.a=null;_.b=null;function m8b(b,a){b.a=a;return b;}
-function o8b(a){a9b(this.a);}
-function l8b(){}
-_=l8b.prototype=new fU();_.zc=o8b;_.tN=pgc+'RuleValidatorWrapper$1';_.tI=555;function q8b(b,a){b.a=a;return b;}
-function s8b(a){F8b(this.a);}
-function p8b(){}
-_=p8b.prototype=new fU();_.zc=s8b;_.tN=pgc+'RuleValidatorWrapper$2';_.tI=556;function u8b(b,a){b.a=a;return b;}
-function w8b(c,a){var b;b=Fb(a,88);b9b(c.a,b);}
-function x8b(a){w8b(this,a);}
-function t8b(){}
-_=t8b.prototype=new vcb();_.pd=x8b;_.tN=pgc+'RuleValidatorWrapper$3';_.tI=557;function z8b(b,a){b.a=a;return b;}
-function B8b(c,a){var b;b=Fb(a,1);c9b(c.a,b);}
-function C8b(a){B8b(this,a);}
-function y8b(){}
-_=y8b.prototype=new vcb();_.pd=C8b;_.tN=pgc+'RuleValidatorWrapper$4';_.tI=558;function D$b(c,a,b){c.a=a;c.g=b;c.e=yab(new wab());d_b(c);pr(c,c.e);sdb();return c;}
-function F$b(a){a.a.a=true;a_b(a);A4b(a.b);}
-function a_b(a){ky(a.e);wdb('Saving, please wait...');wTb(mMb(),a.a,w$b(new v$b(),a));}
-function b_b(e){var a,b,c,d;d=rcb(new mcb(),'images/warning-large.png','WARNING: Un-committed changes.');b=zp(new tp(),'Discard');a=zp(new tp(),'Cancel');c=iA(new gA());jA(c,b);jA(c,a);tcb(d,nz(new qw(),'Are you sure you want to discard changes?'));tcb(d,c);b.x(m9b(new l9b(),e,d));a.x(q9b(new p9b(),e,d));FN(d,'warning-Popup');wE(d,dc((tab()-rE(d))/2),100);zE(d);}
-function c_b(a){aUb(mMb(),a.a.e,a.a.d.o,r$b(new q$b(),a));}
-function d_b(b){var a;ky(b.e);a=xt(b.e);b.h=a1b(new rZb(),b.a,t9b(new g9b(),b),y9b(new x9b(),b),D9b(new C9b(),b),c$b(new b$b(),b),b.g);Bab(b.e,0,0,b.h);ex(a,0,0,(xz(),Az),(aA(),dA));b.f=A6b(new g5b(),b.a.d,b.g,b.a.e,h$b(new g$b(),b));Bab(b.e,0,1,b.f);tt(a,0,1,3);ix(a,0,1,(aA(),dA));kx(a,0,1,'30%');b.d=F4b(b.a,b);g1b(b.h,m$b(new l$b(),b));Bab(b.e,1,0,b.d);ix(a,1,0,(aA(),dA));b.c=c8b(new D7b(),b.a.d);Bab(b.e,2,0,b.c);ix(a,2,0,(aA(),dA));}
-function e_b(a){if(t_(a.a.d.k)){wdb('Refreshing content assistance...');eLb((aLb(),fLb),a.a.d.o,new A$b());}}
-function f_b(a){jUb(mMb(),a.a.e,i9b(new h9b(),a));}
-function g_b(b,a){b.b=a;}
-function h_b(a){var b;b= !cx(xt(a.e),2,0);jx(xt(a.e),0,1,b);jx(xt(a.e),2,0,b);}
-function f9b(){}
-_=f9b.prototype=new nr();_.tN=pgc+'RuleViewer';_.tI=559;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function t9b(b,a){b.a=a;return b;}
-function v9b(a){a_b(a.a);}
-function w9b(){v9b(this);}
-function g9b(){}
-_=g9b.prototype=new fU();_.pb=w9b;_.tN=pgc+'RuleViewer$1';_.tI=560;function i9b(b,a){b.a=a;return b;}
-function k9b(a){this.a.a=Fb(a,97);d_b(this.a);sdb();}
-function h9b(){}
-_=h9b.prototype=new vcb();_.pd=k9b;_.tN=pgc+'RuleViewer$10';_.tI=561;function m9b(b,a,c){b.a=a;b.b=c;return b;}
-function o9b(a){A4b(this.a.b);this.b.lc();}
-function l9b(){}
-_=l9b.prototype=new fU();_.zc=o9b;_.tN=pgc+'RuleViewer$11';_.tI=562;function q9b(b,a,c){b.a=c;return b;}
-function s9b(a){this.a.lc();}
-function p9b(){}
-_=p9b.prototype=new fU();_.zc=s9b;_.tN=pgc+'RuleViewer$12';_.tI=563;function y9b(b,a){b.a=a;return b;}
-function A9b(a){F$b(a.a);}
-function B9b(){A9b(this);}
-function x9b(){}
-_=x9b.prototype=new fU();_.pb=B9b;_.tN=pgc+'RuleViewer$2';_.tI=564;function D9b(b,a){b.a=a;return b;}
-function F9b(a){h_b(a.a);}
-function a$b(){F9b(this);}
-function C9b(){}
-_=C9b.prototype=new fU();_.pb=a$b;_.tN=pgc+'RuleViewer$3';_.tI=565;function c$b(b,a){b.a=a;return b;}
-function e$b(a){c_b(a.a);}
-function f$b(){e$b(this);}
-function b$b(){}
-_=b$b.prototype=new fU();_.pb=f$b;_.tN=pgc+'RuleViewer$4';_.tI=566;function h$b(b,a){b.a=a;return b;}
-function j$b(a){f_b(a.a);}
-function k$b(){j$b(this);}
-function g$b(){}
-_=g$b.prototype=new fU();_.pb=k$b;_.tN=pgc+'RuleViewer$5';_.tI=567;function m$b(b,a){b.a=a;return b;}
-function o$b(a){if(Aab(a.a.e)){b_b(a.a);}else{A4b(a.a.b);}}
-function p$b(){o$b(this);}
-function l$b(){}
-_=l$b.prototype=new fU();_.pb=p$b;_.tN=pgc+'RuleViewer$6';_.tI=568;function r$b(b,a){b.a=a;return b;}
-function t$b(b,a){A4b(b.a.b);}
-function u$b(a){t$b(this,a);}
-function q$b(){}
-_=q$b.prototype=new vcb();_.pd=u$b;_.tN=pgc+'RuleViewer$7';_.tI=569;function w$b(b,a){b.a=a;return b;}
-function y$b(b,a){var c;e_b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){sab(Fb(b.a.d,98));}sab(b.a.f);sab(b.a.c);if(c===null){xbb('Failed to check in the item. Please contact your system administrator.');return;}f_b(b.a);}
-function z$b(a){y$b(this,a);}
-function v$b(){}
-_=v$b.prototype=new vcb();_.pd=z$b;_.tN=pgc+'RuleViewer$8';_.tI=570;function C$b(){sdb();}
-function A$b(){}
-_=A$b.prototype=new fU();_.pb=C$b;_.tN=pgc+'RuleViewer$9';_.tI=571;function bac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=iA(new gA());d.a=ut(new ot());d.a.ze(0,0,fC(new dC(),'Version history'));hx(d.a.n,0,0,'metadata-Widget');b=xt(d.a);gx(b,0,0,(xz(),zz));d.c=Ccb(new Bcb(),'images/refresh.gif');oB(d.c,k_b(new j_b(),d));d.a.ze(0,1,d.c);gx(b,0,1,(xz(),Az));FN(f,'version-browser-Border');jA(f,d.a);d.a.Be('100%');f.Be('100%');pr(d,f);return d;}
-function cac(a){gac(a);fg(o_b(new n_b(),a));}
-function eac(b,a){return B_b(new A_b(),b,a);}
-function fac(a){gUb(mMb(),a.e,s_b(new r_b(),a));}
-function gac(a){sB(a.c,'images/searching.gif');}
-function hac(a){sB(a.c,'images/refresh.gif');}
-function iac(b,a){var c;c=Fac(new jac(),b.b,a,b.e,b.d);wE(c,100,100);zE(c);}
-function i_b(){}
-_=i_b.prototype=new nr();_.tN=pgc+'VersionBrowser';_.tI=572;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function k_b(b,a){b.a=a;return b;}
-function m_b(a){cac(this.a);}
-function j_b(){}
-_=j_b.prototype=new fU();_.zc=m_b;_.tN=pgc+'VersionBrowser$1';_.tI=573;function o_b(b,a){b.a=a;return b;}
-function q_b(){fac(this.a);}
-function n_b(){}
-_=n_b.prototype=new fU();_.pb=q_b;_.tN=pgc+'VersionBrowser$2';_.tI=574;function s_b(b,a){b.a=a;return b;}
-function u_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ze(1,0,fC(new dC(),'No history.'));hac(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',608,1,['Version number','Comment','Date Modified','Status']);d=eac(i.a,f);h=sfc(d,c,0,false);h.Be('100%');i.a.a.ze(1,0,h);b=xt(i.a.a);st(b,1,0,2);e=zp(new tp(),'View selected version');e.x(x_b(new w_b(),i,h));i.a.a.ze(2,1,e);st(b,2,1,3);gx(b,2,1,(xz(),yz));hac(i.a);}
-function v_b(a){u_b(this,a);}
-function r_b(){}
-_=r_b.prototype=new vcb();_.pd=v_b;_.tN=pgc+'VersionBrowser$3';_.tI=575;function x_b(b,a,c){b.a=a;b.b=c;return b;}
-function z_b(a){if(this.b.f==0)return;iac(this.a.a,ffc(this.b));}
-function w_b(){}
-_=w_b.prototype=new fU();_.zc=z_b;_.tN=pgc+'VersionBrowser$4';_.tI=576;function B_b(b,a,c){b.a=c;return b;}
-function D_b(){return this.a.a;}
-function E_b(a){return this.a[a].b;}
-function F_b(b,a){return this.a[b].c[a];}
-function aac(b,a){return null;}
-function A_b(){}
-_=A_b.prototype=new fU();_.Ab=D_b;_.ac=E_b;_.fc=F_b;_.gc=aac;_.tN=pgc+'VersionBrowser$5';_.tI=577;function abc(){abc=d3;cs();}
-function Fac(d,a,e,b,c){abc();as(d,false);d.c=e;d.a=b;d.b=c;FN(d,'version-Popup');wdb('Loading version');jUb(mMb(),e,lac(new kac(),d,a));return d;}
-function bbc(b,c){var a;a=n2b(new i2b(),wN(c)+10,xN(c)+10,'Restore this version?');q2b(a,xac(new wac(),b,a));r2b(a);}
-function jac(){}
-_=jac.prototype=new Dr();_.tN=pgc+'VersionViewer';_.tI=578;_.a=null;_.b=null;_.c=null;function lac(b,a,c){b.a=a;b.b=c;return b;}
-function nac(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;es(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=ut(new ot());d=xt(e);f=zp(new tp(),'Restore this version');f.x(pac(new oac(),this));e.ze(0,0,f);gx(d,0,0,(xz(),zz));b=zp(new tp(),'Close');b.x(tac(new sac(),this));e.ze(0,1,b);gx(d,0,1,(xz(),Az));g=D$b(new f9b(),a,true);g.Be('100%');e.ze(1,0,g);st(d,1,1,2);e.Be('100%');DN(e,800,300);fs(this.a,e);}
-function kac(){}
-_=kac.prototype=new vcb();_.pd=nac;_.tN=pgc+'VersionViewer$1';_.tI=579;function pac(b,a){b.a=a;return b;}
-function rac(a){bbc(this.a.a,a);}
-function oac(){}
-_=oac.prototype=new fU();_.zc=rac;_.tN=pgc+'VersionViewer$2';_.tI=580;function tac(b,a){b.a=a;return b;}
-function vac(a){this.a.a.lc();}
-function sac(){}
-_=sac.prototype=new fU();_.zc=vac;_.tN=pgc+'VersionViewer$3';_.tI=581;function xac(b,a,c){b.a=a;b.b=c;return b;}
-function zac(){tUb(mMb(),this.a.c,this.a.a,p2b(this.b),Bac(new Aac(),this));}
-function wac(){}
-_=wac.prototype=new fU();_.pb=zac;_.tN=pgc+'VersionViewer$4';_.tI=582;function Bac(b,a){b.a=a;return b;}
-function Dac(b,a){b.a.a.lc();j$b(b.a.a.b);}
-function Eac(a){Dac(this,a);}
-function Aac(){}
-_=Aac.prototype=new vcb();_.pd=Eac;_.tN=pgc+'VersionViewer$5';_.tI=583;function fcc(a){a.b=(nZ(),oZ);}
-function gcc(a){fcc(a);a.c=DJ(new pJ());a.c.Be('100%');a.c.qe('100%');EJ(a.c,icc(a),"<img src='images/explore.gif'/>Explore",true);eK(a.c,0);pr(a,a.c);return a;}
-function icc(i){var a,b,c,d,e,f,g,h;h=ut(new ot());i.a=jdc(new ncc(),ebc(new dbc(),i),'rulelist');b=xt(h);d=d_(new s$(),ibc(new hbc(),i,h));f=nec(new sdc(),mbc(new lbc(),i));h.ze(0,1,f);ex(b,0,0,(xz(),zz),(aA(),dA));ex(b,0,1,(xz(),zz),(aA(),dA));kx(b,0,0,'30%');kx(b,0,1,'70%');e=zp(new tp(),'Create new rule');e.te('Create new rule');e.x(rbc(new qbc(),i));g=Ccb(new Bcb(),'images/system_search_small.png');g.te('Show the rule finder.');oB(g,vbc(new ubc(),i,h,f));a=iA(new gA());jA(a,e);jA(a,g);FN(a,'new-asset-Icons');c=sO(new qO());tO(c,a);tO(c,d);c.Be('100%');h.ze(0,0,c);return h;}
-function jcc(c,a,b){return zbc(new ybc(),c,b,a);}
-function kcc(b,a){b.b=a;}
-function lcc(a,b){c5b(a.b,a.c,b,false);}
-function mcc(c){var a,b,d;a=70;d=100;b=v7b(new g7b(),ccc(new bcc(),c),true,null,'Create a new rule');wE(b,a,d);zE(b);}
-function cbc(){}
-_=cbc.prototype=new nr();_.tN=qgc+'AssetBrowser';_.tI=584;_.a=null;_.c=null;function ebc(b,a){b.a=a;return b;}
-function gbc(a){lcc(this.a,a);}
-function dbc(){}
-_=dbc.prototype=new fU();_.wd=gbc;_.tN=qgc+'AssetBrowser$1';_.tI=585;function ibc(b,a,c){b.a=a;b.b=c;return b;}
-function kbc(b){var a;a=jcc(this.a,this.a.a,b);this.b.ze(0,1,this.a.a);wdb('Retrieving list, please wait...');fg(a);pdc(this.a.a,a);}
-function hbc(){}
-_=hbc.prototype=new fU();_.he=kbc;_.tN=qgc+'AssetBrowser$2';_.tI=586;function mbc(b,a){b.a=a;return b;}
-function obc(b,a){lcc(b.a,a);}
-function pbc(a){obc(this,a);}
-function lbc(){}
-_=lbc.prototype=new fU();_.wd=pbc;_.tN=qgc+'AssetBrowser$3';_.tI=587;function rbc(b,a){b.a=a;return b;}
-function tbc(a){mcc(this.a);}
-function qbc(){}
-_=qbc.prototype=new fU();_.zc=tbc;_.tN=qgc+'AssetBrowser$4';_.tI=588;function vbc(b,a,d,c){b.b=d;b.a=c;return b;}
-function xbc(a){this.b.ze(0,1,this.a);}
-function ubc(){}
-_=ubc.prototype=new fU();_.zc=xbc;_.tN=qgc+'AssetBrowser$5';_.tI=589;function zbc(b,a,d,c){b.b=d;b.a=c;return b;}
-function Bbc(){wdb('Loading list, please wait...');kUb(mMb(),this.b,Dbc(new Cbc(),this,this.a));}
-function ybc(){}
-_=ybc.prototype=new fU();_.pb=Bbc;_.tN=qgc+'AssetBrowser$6';_.tI=590;function Dbc(b,a,c){b.a=c;return b;}
-function Fbc(c,a){var b;b=Fb(a,62);odc(c.a,b);sdb();}
-function acc(a){Fbc(this,a);}
-function Cbc(){}
-_=Cbc.prototype=new vcb();_.pd=acc;_.tN=qgc+'AssetBrowser$7';_.tI=591;function ccc(b,a){b.a=a;return b;}
-function ecc(a){lcc(this.a,a);}
-function bcc(){}
-_=bcc.prototype=new fU();_.wd=ecc;_.tN=qgc+'AssetBrowser$8';_.tI=592;function kdc(){kdc=d3;qdc=mMb();}
-function idc(a){a.c=ut(new ot());a.e=Ccb(new Bcb(),'images/refresh.gif');a.a=eC(new dC());}
-function jdc(c,a,b){kdc();idc(c);mdc(c);ndc(c,b);c.e.ye(false);c.b=a;c.e.te('Refresh current list. Will show any changes.');oB(c.e,pcc(new occ(),c));return c;}
-function ldc(a){return kZb(ffc(a.f));}
-function mdc(c){var a,b;a=xt(c.c);c.c.Be('100%');ex(a,0,0,(xz(),zz),(aA(),dA));b=Ccb(new Bcb(),'images/open_item.gif');oB(b,ycc(new xcc(),c));b.te('Open item');c.c.ze(0,1,b);ex(a,0,1,(xz(),Az),(aA(),dA));pr(c,c.c);}
-function ndc(b,a){mUb(qdc,a,tcc(new scc(),b));}
-function odc(g,a){var b,c,d,e,f;b=xt(g.c);g.c.ze(1,0,null);if(a===null||a.a.a==0){d=new Bcc();g.f=sfc(d,g.g.a,25,true);g.a.ye(false);}else{f=a.a;c=cdc(new bdc(),g,f);g.f=sfc(c,g.g.a,25,true);e=iA(new gA());jA(e,g.e);g.a.ye(true);kC(g.a,'  '+a.a.a+' items.');jA(e,g.a);g.c.ze(0,0,e);}g.f.Be('100%');g.c.ze(1,0,g.f);st(b,1,0,2);}
-function pdc(b,a){b.d=a;b.e.ye(true);}
-function ncc(){}
-_=ncc.prototype=new nr();_.tN=qgc+'AssetItemListViewer';_.tI=593;_.b=null;_.d=null;_.f=null;_.g=null;var qdc;function pcc(b,a){b.a=a;return b;}
-function rcc(a){wdb('Refreshing list, please wait...');this.a.d.pb();}
-function occ(){}
-_=occ.prototype=new fU();_.zc=rcc;_.tN=qgc+'AssetItemListViewer$1';_.tI=594;function tcc(b,a){b.a=a;return b;}
-function vcc(b,a){b.a.g=Fb(a,99);odc(b.a,null);}
-function wcc(a){vcc(this,a);}
-function scc(){}
-_=scc.prototype=new vcb();_.pd=wcc;_.tN=qgc+'AssetItemListViewer$2';_.tI=595;function ycc(b,a){b.a=a;return b;}
-function Acc(a){wdb('Loading item, please wait ...');this.a.b.wd(kZb(ffc(this.a.f)));}
-function xcc(){}
-_=xcc.prototype=new fU();_.zc=Acc;_.tN=qgc+'AssetItemListViewer$3';_.tI=596;function Dcc(){return 0;}
-function Ecc(a){return '';}
-function Fcc(b,a){return '';}
-function adc(b,a){return null;}
-function Bcc(){}
-_=Bcc.prototype=new fU();_.Ab=Dcc;_.ac=Ecc;_.fc=Fcc;_.gc=adc;_.tN=qgc+'AssetItemListViewer$4';_.tI=597;function cdc(b,a,c){b.a=a;b.b=c;return b;}
-function edc(){return this.b.a;}
-function fdc(a){return this.b[a].b;}
-function gdc(b,a){return this.b[b].c[a];}
-function hdc(b,a){if(EU(this.a.g.a[a],'*')){return nB(new xA(),'images/'+E4b(this.b[b].a));}else{return null;}}
-function bdc(){}
-_=bdc.prototype=new fU();_.Ab=edc;_.ac=fdc;_.fc=gdc;_.gc=hdc;_.tN=qgc+'AssetItemListViewer$5';_.tI=598;function nec(d,a){var b,c;d.c=ccb(new Fbb(),'images/system_search.png','');d.e=E_(new u_(),udc(new tdc(),d));FN(d.e,'gwt-TextBox');d.b=a;c=iA(new gA());b=zp(new tp(),'Go');b.x(ydc(new xdc(),d));jA(c,d.e);jA(c,b);d.a=lq(new iq(),'Include archived items in list');FN(d.a,'small-Text');pq(d.a,false);dcb(d.c,'Find items with a name matching:',c);gcb(d.c,d.a);gcb(d.c,nz(new qw(),'<hr/>'));d.d=ut(new ot());d.d.ze(0,0,nz(new qw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));gcb(d.c,d.d);FN(d.d,'editable-Surface');zK(d.e,pec(d));FN(d.c,'quick-find');pr(d,d.c);return d;}
-function pec(a){return aec(new Fdc(),a);}
-function qec(c,a,b){nUb(mMb(),a,5,oq(c.a),Cdc(new Bdc(),c,b));}
-function rec(f,d){var a,b,c,e;a=ut(new ot());if(d.a.a==1){obc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(EU(e.b,'MORE')){a.ze(b,0,nz(new qw(),'<i>There are more items... try narrowing the search terms..<\/i>'));st(xt(a),b,0,3);}else{a.ze(b,0,fC(new dC(),e.c[0]));a.ze(b,1,fC(new dC(),e.c[1]));c=zp(new tp(),'Open');c.x(kec(new jec(),f,e));a.ze(b,2,c);}}a.Be('100%');f.d.ze(0,0,a);sdb();}
-function sec(a){wdb('Searching...');nUb(mMb(),CK(a.e),15,oq(a.a),gec(new fec(),a));}
-function sdc(){}
-_=sdc.prototype=new nr();_.tN=qgc+'QuickFindWidget';_.tI=599;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function udc(b,a){b.a=a;return b;}
-function wdc(c,b,a){qec(c.a,b,a);}
-function tdc(){}
-_=tdc.prototype=new fU();_.tN=qgc+'QuickFindWidget$1';_.tI=600;function ydc(b,a){b.a=a;return b;}
-function Adc(a){sec(this.a);}
-function xdc(){}
-_=xdc.prototype=new fU();_.zc=Adc;_.tN=qgc+'QuickFindWidget$2';_.tI=601;function Cdc(b,a,c){b.a=c;return b;}
-function Edc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[608],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!EU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}C_(this.a,c);}
-function Bdc(){}
-_=Bdc.prototype=new vcb();_.pd=Edc;_.tN=qgc+'QuickFindWidget$3';_.tI=602;function aec(b,a){b.a=a;return b;}
-function cec(a,b,c){}
-function dec(a,b,c){}
-function eec(a,b,c){if(b==13){sec(this.a);}}
-function Fdc(){}
-_=Fdc.prototype=new fU();_.cd=cec;_.dd=dec;_.ed=eec;_.tN=qgc+'QuickFindWidget$4';_.tI=603;function gec(b,a){b.a=a;return b;}
-function iec(a){var b;b=Fb(a,62);rec(this.a,b);}
-function fec(){}
-_=fec.prototype=new vcb();_.pd=iec;_.tN=qgc+'QuickFindWidget$5';_.tI=604;function kec(b,a,c){b.a=a;b.b=c;return b;}
-function mec(a){obc(this.a.b,this.b.b);}
-function jec(){}
-_=jec.prototype=new fU();_.zc=mec;_.tN=qgc+'QuickFindWidget$6';_.tI=605;function vec(a){a.a=nY(new lY());}
-function wec(a){vec(a);return a;}
-function xec(b,a,c){if(a>=b.a.b){yec(b,a);}AY(b.a,a,c);}
-function yec(c,a){var b;for(b=c.a.b;b<=a;b++){pY(c.a,null);}}
-function Aec(b,a){return uY(b.a,a);}
-function Bec(b,a){b.b=a;}
-function Cec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(Aec(this,this.b),34);b=Fb(Aec(d,this.b),34);return a.bb(b);}
-function uec(){}
-_=uec.prototype=new fU();_.bb=Cec;_.tN=rgc+'RowData';_.tI=606;_.b=0;function Eec(a){a.j=nY(new lY());a.i=nY(new lY());}
-function Fec(c,b,a){dw(c,b+1,a);Eec(c);gy(c,c);FN(c,vfc);return c;}
-function afc(c,b,a){if(b!=0){return;}mfc(c,a);ofc(c,a);efc(c);}
-function cfc(e){var a,b,c,d,f;if(e.h==qfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(uY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Aec(b,a);ifc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(uY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Aec(b,a);ifc(e,d,a,f.tS());}}}}
-function dfc(d){var a,b,c;c=0;for(b=d.i.qc();b.kc();){a=Fb(b.sc(),1);gfc(d,a,c++);}}
-function efc(a){dfc(a);cfc(a);}
-function ffc(a){return ry(a,a.f,a.e);}
-function gfc(d,c,b){var a;a=qU(new pU());sU(a,c);sU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==qfc){sU(a,"'"+d.a+"' alt='Ascending' ");}else{sU(a,"'"+d.c+"' alt='Descending' ");}}else{sU(a,"'"+d.b+"'");}sU(a,'/>');Fy(d,0,b,wU(a));ux(d.p,0,wfc);}
-function hfc(c,b,a){if(b%2==0){hx(c.n,b,a,ufc);}}
-function ifc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ze(b,a,nB(new xA(),'images/'+E4b(d)));else bz(c,b,a,d);}}
-function jfc(c,b,a){oY(c.i,a,b);gfc(c,b,a);}
-function kfc(b,a){b.d=a;}
-function lfc(b,a){b.e=a;jx(b.n,0,a,false);}
-function mfc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(uY(d.j,b),100);Bec(a,c);}}
-function nfc(d,b,a,e,f){var c;if(b==0)return;hfc(d,b,a);if(b-1>=d.j.b||null===uY(d.j,b-1)){oY(d.j,b-1,wec(new uec()));}c=Fb(uY(d.j,b-1),100);xec(c,a,e);if(f===null){bz(d,b,a,''+e+'');}else{d.ze(b,a,f);}if(a==d.e){jx(d.n,b,a,false);}}
-function ofc(b,a){qZ(b.j);if(b.g!=a){b.h=qfc;}else{b.h=b.h==qfc?rfc:qfc;}b.g=a;}
-function pfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){hx(a,c,b,xfc);if(d.f%2==0&&d.f!=0){hx(a,d.f,b,ufc);}else{dx(a,d.f,b,xfc);}}d.f=c;}}
-function sfc(a,d,b,c){var e,f,g;g=null;if(b>a.Ab()){g=Fec(new Dec(),b,d.a+1);nfc(g,1,1,'',null);}else{g=Fec(new Dec(),a.Ab()+1,d.a+1);}jfc(g,'',0);for(e=0;e<d.a;e++){jfc(g,d[e],e+1);}lfc(g,0);for(e=0;e<a.Ab();e++){nfc(g,e+1,0,a.ac(e),null);for(f=0;f<d.a;f++){nfc(g,e+1,f+1,a.fc(e,f),a.gc(e,f));}}kfc(g,c);return g;}
-function tfc(c,b,a){if(b<=this.j.b){pfc(this,b);afc(this,b,a);}}
-function Dec(){}
-_=Dec.prototype=new bw();_.xc=tfc;_.tN=rgc+'SortableTable';_.tI=607;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var qfc=0,rfc=1,ufc='rule-ListEvenRow',vfc='rule-List',wfc='rule-ListHeader',xfc='rule-SelectedRow';function FR(){p4(l4(new a4()));}
-function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{FR();}catch(a){b(d);}else{FR();}}
-var gc=[{},{12:1},{1:1,12:1,34:1,35:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{2:1,12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1},{8:1,12:1},{8:1,12:1},{8:1,12:1},{12:1},{2:1,6:1,12:1},{2:1,12:1},{9:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1},{3:1,12:1},{3:1,12:1,39:1},{3:1,12:1,92:1},{3:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,36:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,49:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1,33:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,43:1},{12:1,49:1,56:1}!
 ,{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,81:1},{12:1,20:1,36:1,37:1,81:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,46:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1},{12:1,49:1,56:1},{12:1,39:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,49:1},{12:1},{12:1,20:1,36:1,37:1,87:1},{12:1,20:1,36:1,37:1,48:1,54:1},{9:1,12:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,39:1},{12:1,39:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,50:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,80:1},{12:1,20:1,36:1,37:1,54:1},{12:1,36:1,52:1},{12:1,36:1,52:1},{12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1},{12:1},{12!
 :1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:
1,12:1},{12:1,55:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{12:1,35:1},{3:1,12:1},{12:1},{12:1,57:1},{12:1,49:1,58:1},{12:1,49:1,58:1},{12:1},{12:1,49:1},{12:1},{12:1},{12:1,34:1,59:1},{12:1,57:1},{12:1,60:1},{12:1,49:1,58:1},{12:1},{12:1,49:1,58:1},{3:1,12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{7:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{8:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{!
 12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,53:1},{12:1,42:1},{12:1},{12:1},{12:1,36:1,52:1,64:1},{12:1,20:1,36:1,37:1,46:1,80:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,20:1,36:1,37:1,81:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,65:1},{12:1,20:1,36:1,37:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,38:1,39:1,91:1},{12:1,23:1,24:1,38:1,39:1},{12:1,18:1,38:1,39:1},{12:1,23:1,24:1,25:1,38:1,3!
 9:1},{12:1,23:1,24:1,25:1,26:1,38:1,39:1},{12:1,23:1,27:1,38:1,39:1},{
12:1,23:1,24:1,28:1,38:1,39:1},{12:1,23:1,24:1,28:1,29:1,38:1,39:1},{12:1,22:1,30:1,38:1,39:1},{12:1,17:1,31:1,38:1,39:1},{12:1,38:1,39:1,40:1},{12:1,15:1,38:1,39:1,40:1},{12:1,14:1,22:1,23:1,38:1,39:1},{12:1,16:1,22:1,38:1,39:1},{12:1,21:1,38:1,39:1},{12:1,38:1,39:1,83:1},{12:1,17:1,32:1,38:1,39:1,40:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,84:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,41:1},{4:1,12:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,46:1},{12:1,41:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,82:1,98:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12!
 :1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,46:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1!
 ,42:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:
1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1},{4:1,12:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1,53:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,90:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,42:1},{12:1,53:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1},{10:1,12:1,39:1},{3:1,12:1,39:1,70:1},{12:1,39:1,93:1},{12:1,19:1,39:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,39:1,97:1},{12:1,39:1,95:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1,69:1},{11:1,12:1,39:1},{12:1,39:1,99:1},{12:1,39:1,62:1},{12:1,!
 13:1,39:1},{12:1,39:1,89:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,44:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1},{12:1,41:1},{12:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{!
 4:1,12:1},{4:1,12:1},{4:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36
:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{12:1,46:1},{12:1},{12:1,42:1},{12:1,34:1,100:1},{12:1,20:1,36:1,37:1,51:1,54:1},{12:1,63:1},{12:1,88:1},{12:1,86:1},{12:1},{12:1},{12:1,94:1},{12:1,72:1,77:1,78:1},{12:1,79:1},{12:1,74:1,77:1},{12:1,75:1},{12:1,73:1},{12:1,71:1},{12:1},{12:1},{12:1,76:1},{12:1,77:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,77:1},{12:1,75:1},{12:1,75:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1}];if (org_drools_brms_JBRMS) {  var __gwt_initHandlers = org_drools_brms_JBRMS.__gwt_initHandlers;  org_drools_brms_JBRMS.onScriptLoad(gwtOnLoad);}})();
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/681266DDC2602D88F20097C4C0ED49CF.cache.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cache-entry>
-	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_TypeSerializer" hash="619B51D664C2EA16C242AAF2AF6BA7E6"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.BuilderResult_FieldSerializer" hash="31FA4ADBFB94FFD9001BA8C2A4417504"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.DSLSentence_FieldSerializer" hash="35AB7D23CC662D4F726060AA9938F6C6"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableDataResult_FieldSerializer" hash="BFC3EC8D02BADBA251CA3B7A7F85C809"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleAttribute_FieldSerializer" hash="7BF092FF4AE3E8CB784A96421E7BC6B4"/>
-	<generated-type-hash class="com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException_FieldSerializer" hash="FF198044879E67E1ACF2E0C29CC58CB5"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.MultiWordSuggestOracle_MultiWordSuggestion_FieldSerializer" hash="1721A875793F79F044BA9AEC6543C8A2"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.TreeImages_generatedBundle" hash="C4DB9D53C840859028C6F483DB58A75C"/>
-	<generated-type-hash class="com.google.gwt.user.client.rpc.SerializableException_FieldSerializer" hash="1CB9B63ABEC9BE7E663F6C56AA395208"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Request_FieldSerializer" hash="93219A0D78603408F1E24CE444809ADE"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableConfig_FieldSerializer" hash="68BF54922D06AC518871EB9FEFD7D68E"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionRetractFact_FieldSerializer" hash="3ABE2631C28ACB7B3C1358BD27C80255"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SnapshotInfo_FieldSerializer" hash="995C2E7AEC07438074706D40B4864FF5"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertFact_FieldSerializer" hash="B3DA8CF19248044B9B347AFEE8AAC7F7"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.ValidatedResponse_FieldSerializer" hash="15269178DE71D238F26587B3095E7A9A"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint_FieldSerializer" hash="8606C355A0F17A64941EB10EFAB41036"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionSetField_FieldSerializer" hash="7F0BA1987E3FB650C44049758B209A0E"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint_FieldSerializer" hash="F30861DCB878C093201710AE55E3EF52"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFactPattern_FieldSerializer" hash="85DD7A29F613D6A493314730060FF12A"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldValue_FieldSerializer" hash="C12B27B0B8651B5CCA2358C044C74DD1"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.DetailedSerializableException_FieldSerializer" hash="CE21C342ABA475456EAAE97B0AE44393"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.MetaData_FieldSerializer" hash="C7F537CFDF5A4E02C318B4614CEC20EA"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact_FieldSerializer" hash="8646F66FFEBDCE52535B8FBA9AE37830"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.SuggestionCompletionEngine_FieldSerializer" hash="1BED05A61D2EFBC600410686A3304B3E"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RuleAsset_FieldSerializer" hash="7D9F400F79A33BD99A5721E52B6EDBA7"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.SingleFieldConstraint_FieldSerializer" hash="C2DB414BB43FE22A8E8CDBA910564AA6"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Response_FieldSerializer" hash="1C6D42E0AC1FE9CDD63B791E11BD9615"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.PackageConfigData_FieldSerializer" hash="1C8237E912FA51556E3496683D32C8B5"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.FactPattern_FieldSerializer" hash="5535A6C88015EE51C5F4FA808DFAA8ED"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SessionExpiredException_FieldSerializer" hash="0A173F0D6310FDB17BD90CBB1948DC75"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableDataRow_FieldSerializer" hash="411D058D97408AAE2C3EBA1620048463"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_Proxy" hash="EE514DB88A5F377A761E4D0AAB187640"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldList_FieldSerializer" hash="73DAB0917FEA7A2E484F4B12C200C868"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_TypeSerializer" hash="8DCA6439D096072B75D6701D8B54A1DA"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionUpdateField_FieldSerializer" hash="53DAC10B208EAD97D6542560F2C8BAAD"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RuleContentText_FieldSerializer" hash="9F5834F874613140D0BDEC4056C49928"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_Proxy" hash="0549B5DD064B695F228AA7312765E9C0"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ConnectiveConstraint_FieldSerializer" hash="BF0E8BCBA71D0333FD6536A3B7B09370"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleModel_FieldSerializer" hash="2A44CFABD8B63D33EFAA2FF86226638A"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.TextBoxImpl" out="com.google.gwt.user.client.ui.impl.TextBoxImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.ListBox.Impl" out="com.google.gwt.user.client.ui.ListBox.ImplSafari"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.FocusImpl" out="com.google.gwt.user.client.ui.impl.FocusImplSafari"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.ClippedImageImpl" out="com.google.gwt.user.client.ui.impl.ClippedImageImpl"/>
-	<rebind-decision in="org.drools.brms.client.JBRMSEntryPoint" out="org.drools.brms.client.JBRMSEntryPoint"/>
-	<rebind-decision in="org.drools.brms.client.rpc.RepositoryService" out="org.drools.brms.client.rpc.RepositoryService_Proxy"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.HistoryImpl" out="com.google.gwt.user.client.impl.HistoryImplSafari"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.DOMImpl" out="com.google.gwt.user.client.impl.DOMImplSafari"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.PopupImpl" out="com.google.gwt.user.client.ui.impl.PopupImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.TreeImages" out="com.google.gwt.user.client.ui.TreeImages_generatedBundle"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.FormPanelImpl" out="com.google.gwt.user.client.ui.impl.FormPanelImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.HTTPRequestImpl" out="com.google.gwt.user.client.impl.HTTPRequestImpl"/>
-	<rebind-decision in="org.drools.brms.client.rpc.SecurityService" out="org.drools.brms.client.rpc.SecurityService_Proxy"/>
-</cache-entry>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.html (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.html)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.html	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.html	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3413 @@
+<html><head><script>var $wnd = parent;var $doc = $wnd.document;var $moduleName, $moduleBase;</script></head><body><script><!--
+var _,kfc='com.google.gwt.core.client.',lfc='com.google.gwt.lang.',mfc='com.google.gwt.user.client.',nfc='com.google.gwt.user.client.impl.',ofc='com.google.gwt.user.client.rpc.',pfc='com.google.gwt.user.client.rpc.core.java.lang.',qfc='com.google.gwt.user.client.rpc.core.java.util.',rfc='com.google.gwt.user.client.rpc.impl.',sfc='com.google.gwt.user.client.ui.',tfc='com.google.gwt.user.client.ui.impl.',ufc='java.io.',vfc='java.lang.',wfc='java.util.',xfc='org.drools.brms.client.',yfc='org.drools.brms.client.admin.',zfc='org.drools.brms.client.categorynav.',Afc='org.drools.brms.client.common.',Bfc='org.drools.brms.client.decisiontable.',Cfc='org.drools.brms.client.modeldriven.',Dfc='org.drools.brms.client.modeldriven.brl.',Efc='org.drools.brms.client.modeldriven.ui.',Ffc='org.drools.brms.client.packages.',agc='org.drools.brms.client.rpc.',bgc='org.drools.brms.client.ruleeditor.',cgc='org.drools.brms.client.rulelist.',dgc='org.drools.brms.client.table.';function v2(){}
+function zT(a){return this===a;}
+function AT(){return mV(this);}
+function BT(){return this.tN+'@'+this.hC();}
+function xT(){}
+_=xT.prototype={};_.eQ=zT;_.hC=AT;_.tS=BT;_.toString=function(){return this.tS();};_.tN=vfc+'Object';_.tI=1;function v(){return C();}
+function w(a){return a==null?null:a.tN;}
+var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function C(){return $moduleBase;}
+function D(){return ++E;}
+var E=0;function pV(b,a){b.c=a;return b;}
+function qV(c,b,a){c.c=b;return c;}
+function sV(){return this.c;}
+function tV(){var a,b;a=w(this);b=this.wb();if(b!==null){return a+': '+b;}else{return a;}}
+function oV(){}
+_=oV.prototype=new xT();_.wb=sV;_.tS=tV;_.tN=vfc+'Throwable';_.tI=3;_.c=null;function oS(b,a){pV(b,a);return b;}
+function pS(c,b,a){qV(c,b,a);return c;}
+function nS(){}
+_=nS.prototype=new oV();_.tN=vfc+'Exception';_.tI=4;function DT(b,a){oS(b,a);return b;}
+function ET(c,b,a){pS(c,b,a);return c;}
+function CT(){}
+_=CT.prototype=new nS();_.tN=vfc+'RuntimeException';_.tI=5;function ab(c,b,a){DT(c,'JavaScript '+b+' exception: '+a);return c;}
+function F(){}
+_=F.prototype=new CT();_.tN=kfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
+function fb(a){return A(a);}
+function gb(){return [];}
+function hb(){return function(){};}
+function ib(){return {};}
+function kb(a){return eb(this,a);}
+function jb(a,b){return a===b;}
+function lb(){return fb(this);}
+function nb(){return mb(this);}
+function mb(a){if(a.toString)return a.toString();return '[object]';}
+function cb(){}
+_=cb.prototype=new xT();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=kfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
+function rb(a,b,c){return a[b]=c;}
+function tb(a,b){return sb(a,b);}
+function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
+function ub(b,a){return b[a];}
+function wb(b,a){return b[a];}
+function vb(a){return a.length;}
+function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
+function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new iT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=zU(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
+function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
+function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new yR();}return rb(a,b,c);}
+function ob(){}
+_=ob.prototype=new xT();_.tN=lfc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
+function Eb(a){return String.fromCharCode(a);}
+function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
+function ac(b,a){return b!=null&&Db(b.tI,a);}
+function bc(a){return a&65535;}
+function cc(a){return ~(~a);}
+function dc(a){if(a>(BS(),CS))return BS(),CS;if(a<(BS(),DS))return BS(),DS;return a>=0?Math.floor(a):Math.ceil(a);}
+function fc(){throw new iS();}
+function ec(a){if(a!==null){throw new iS();}return a;}
+function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
+var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
+function lc(a){return a.message;}
+function mc(a){return a.name;}
+function oc(b,a){return b;}
+function nc(){}
+_=nc.prototype=new CT();_.tN=mfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=FX(new DX());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
+function gd(a){fd(a);return a;}
+function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
+function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.nb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(lV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
+function kd(a){if(!jY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
+function ld(b,a){b.c=a;}
+function md(b,a){b.e=a;}
+function nd(b,a){bY(b.b,a);kd(b);}
+function od(a,b){return gT(a-b)>=100;}
+function qc(){}
+_=qc.prototype=new xT();_.tN=mfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=v2;uh=FX(new DX());{th();}}
+function ih(a){kh();return a;}
+function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}lY(uh,a);}
+function lh(a){if(!a.b){lY(uh,a);}a.ce();}
+function nh(b,a){if(a<=0){throw sS(new rS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);bY(uh,b);}
+function mh(b,a){if(a<=0){throw sS(new rS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);bY(uh,b);}
+function oh(a){kh();$wnd.clearInterval(a);}
+function ph(a){kh();$wnd.clearTimeout(a);}
+function qh(b,a){kh();return $wnd.setInterval(function(){b.ob();},a);}
+function rh(b,a){kh();return $wnd.setTimeout(function(){b.ob();},a);}
+function sh(){var a;a=x;{lh(this);}}
+function th(){kh();yh(new eh());}
+function dh(){}
+_=dh.prototype=new xT();_.ob=sh;_.tN=mfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=v2;kh();}
+function sc(b,a){tc();b.a=a;ih(b);return b;}
+function uc(){if(!this.a.c){return;}id(this.a);}
+function rc(){}
+_=rc.prototype=new dh();_.ce=uc;_.tN=mfc+'CommandExecutor$1';_.tI=14;function xc(){xc=v2;kh();}
+function wc(b,a){xc();b.a=a;ih(b);return b;}
+function yc(){md(this.a,false);jd(this.a,lV());}
+function vc(){}
+_=vc.prototype=new dh();_.ce=yc;_.tN=mfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
+function Cc(a){return gY(a.d.b,a.b);}
+function Dc(a){return a.c<a.a;}
+function Ec(b){var a;b.b=b.c;a=gY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
+function Fc(a){kY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
+function ad(b,a){b.a=a;}
+function bd(a){return a.b==(-1);}
+function cd(){return Dc(this);}
+function dd(){return Ec(this);}
+function ed(){Fc(this);}
+function zc(){}
+_=zc.prototype=new xT();_.hc=cd;_.pc=dd;_.Fd=ed;_.tN=mfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=v2;rf=FX(new DX());{gf=new ki();ri(gf);}}
+function sd(a){rd();bY(rf,a);}
+function td(b,a){rd();hj(gf,b,a);}
+function ud(a,b){rd();return mi(gf,a,b);}
+function vd(){rd();return jj(gf,'A');}
+function wd(){rd();return jj(gf,'button');}
+function xd(){rd();return jj(gf,'div');}
+function yd(a){rd();return jj(gf,a);}
+function zd(){rd();return jj(gf,'form');}
+function Ad(){rd();return jj(gf,'iframe');}
+function Bd(){rd();return jj(gf,'img');}
+function Cd(){rd();return kj(gf,'checkbox');}
+function Dd(){rd();return kj(gf,'password');}
+function Ed(a){rd();return zi(gf,a);}
+function Fd(){rd();return kj(gf,'text');}
+function ae(){rd();return jj(gf,'label');}
+function be(a){rd();return lj(gf,a);}
+function ce(){rd();return jj(gf,'span');}
+function de(){rd();return jj(gf,'tbody');}
+function ee(){rd();return jj(gf,'td');}
+function fe(){rd();return jj(gf,'tr');}
+function ge(){rd();return jj(gf,'table');}
+function he(){rd();return jj(gf,'textarea');}
+function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
+function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.tc(b);}finally{ie=d;}}
+function le(b,a){rd();mj(gf,b,a);}
+function me(a){rd();return nj(gf,a);}
+function ne(a){rd();return oj(gf,a);}
+function oe(a){rd();return pj(gf,a);}
+function pe(a){rd();return qj(gf,a);}
+function qe(a){rd();return rj(gf,a);}
+function re(a){rd();return Ai(gf,a);}
+function se(a){rd();return sj(gf,a);}
+function te(a){rd();return tj(gf,a);}
+function ue(a){rd();return uj(gf,a);}
+function ve(a){rd();return Bi(gf,a);}
+function we(a){rd();return Ci(gf,a);}
+function xe(a){rd();return vj(gf,a);}
+function ye(a){rd();Di(gf,a);}
+function ze(a){rd();return Ei(gf,a);}
+function Ae(a){rd();return ni(gf,a);}
+function Be(a){rd();return oi(gf,a);}
+function Ee(b,a){rd();return aj(gf,b,a);}
+function Ce(a){rd();return Fi(gf,a);}
+function De(b,a){rd();return pi(gf,b,a);}
+function bf(a,b){rd();return yj(gf,a,b);}
+function Fe(a,b){rd();return wj(gf,a,b);}
+function af(a,b){rd();return xj(gf,a,b);}
+function cf(a){rd();return zj(gf,a);}
+function df(a){rd();return bj(gf,a);}
+function ef(a){rd();return Aj(gf,a);}
+function ff(a){rd();return cj(gf,a);}
+function hf(c,a,b){rd();ej(gf,c,a,b);}
+function jf(c,b,d,a){rd();Bj(gf,c,b,d,a);}
+function kf(b,a){rd();return si(gf,b,a);}
+function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(gY(rf,rf.b-1),5);if(!(c=b.zc(a))){le(a,true);ye(a);}}return c;}
+function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}ti(gf,a);}
+function nf(b,a){rd();Cj(gf,b,a);}
+function of(b,a){rd();Dj(gf,b,a);}
+function pf(a){rd();lY(rf,a);}
+function sf(a){rd();Ej(gf,a);}
+function tf(a){rd();qf=a;fj(gf,a);}
+function uf(b,a,c){rd();Fj(gf,b,a,c);}
+function xf(a,b,c){rd();ck(gf,a,b,c);}
+function vf(a,b,c){rd();ak(gf,a,b,c);}
+function wf(a,b,c){rd();bk(gf,a,b,c);}
+function yf(a,b){rd();dk(gf,a,b);}
+function zf(a,b){rd();ek(gf,a,b);}
+function Af(a,b){rd();fk(gf,a,b);}
+function Bf(a,b){rd();gk(gf,a,b);}
+function Cf(b,a,c){rd();hk(gf,b,a,c);}
+function Df(b,a,c){rd();ik(gf,b,a,c);}
+function Ef(a,b){rd();vi(gf,a,b);}
+function Ff(a){rd();return wi(gf,a);}
+function ag(){rd();return jk(gf);}
+function bg(){rd();return kk(gf);}
+var ie=null,gf=null,qf=null,rf;function dg(){dg=v2;gg=gd(new qc());}
+function fg(a){dg();nd(gg,a);}
+function eg(a){dg();if(a===null){throw lT(new kT(),'cmd can not be null');}nd(gg,a);}
+var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
+function kg(a){return jg(this,a);}
+function lg(){return fb(hc(this,hg));}
+function mg(){return Ff(this);}
+function hg(){}
+_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=mfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
+function sg(){return fb(hc(this,ng));}
+function tg(){return ze(this);}
+function ng(){}
+_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=mfc+'Event';_.tI=18;function vg(){vg=v2;xg=nk(new mk());}
+function wg(c,b,a){vg();return pk(xg,c,b,a);}
+var xg;function Ag(){Ag=v2;Eg=FX(new DX());{Fg=new vk();if(!Ak(Fg)){Fg=null;}}}
+function Bg(a){Ag();bY(Eg,a);}
+function Cg(a){Ag();var b,c;for(b=Eg.nc();b.hc();){c=Fb(b.pc(),7);c.Ec(a);}}
+function Dg(){Ag();return Fg!==null?Ck(Fg):'';}
+function ah(a){Ag();if(Fg!==null){xk(Fg,a);}}
+function bh(b){Ag();var a;a=x;{Cg(b);}}
+var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(gY((kh(),uh),0),8));}}
+function hh(){return null;}
+function eh(){}
+_=eh.prototype=new xT();_.rd=gh;_.sd=hh;_.tN=mfc+'Timer$1';_.tI=19;function xh(){xh=v2;Ah=FX(new DX());ii=FX(new DX());{di();}}
+function yh(a){xh();bY(Ah,a);}
+function zh(a){xh();$wnd.alert(a);}
+function Bh(a){xh();return $wnd.confirm(a);}
+function Ch(){xh();var a,b;for(a=Ah.nc();a.hc();){b=Fb(a.pc(),9);b.rd();}}
+function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.nc();a.hc();){b=Fb(a.pc(),9);c=b.sd();{d=c;}}return d;}
+function Eh(){xh();var a,b;for(a=ii.nc();a.hc();){b=ec(a.pc());null.ef();}}
+function Fh(){xh();return ag();}
+function ai(){xh();return bg();}
+function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
+function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
+function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
+function ei(){xh();var a;a=x;{Ch();}}
+function fi(){xh();var a;a=x;{return Dh();}}
+function gi(){xh();var a;a=x;{Eh();}}
+function hi(c,b,a){xh();$wnd.open(c,b,a);}
+var Ah,ii;function hj(c,b,a){b.appendChild(a);}
+function jj(b,a){return $doc.createElement(a);}
+function kj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
+function lj(c,a){var b;b=jj(c,'select');if(a){ak(c,b,'multiple',true);}return b;}
+function mj(c,b,a){b.cancelBubble=a;}
+function nj(b,a){return !(!a.altKey);}
+function oj(b,a){return a.clientX|| -1;}
+function pj(b,a){return a.clientY|| -1;}
+function qj(b,a){return !(!a.ctrlKey);}
+function rj(b,a){return a.currentTarget;}
+function sj(b,a){return a.which||(a.keyCode|| -1);}
+function tj(b,a){return !(!a.metaKey);}
+function uj(b,a){return !(!a.shiftKey);}
+function vj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
+function yj(d,a,b){var c=a[b];return c==null?null:String(c);}
+function wj(c,a,b){return !(!a[b]);}
+function xj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
+function zj(b,a){return a.__eventBits||0;}
+function Aj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.ub(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
+function Bj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
+function Cj(c,b,a){b.removeChild(a);}
+function Dj(c,b,a){b.removeAttribute(a);}
+function Ej(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
+function Fj(c,b,a,d){b.setAttribute(a,d);}
+function ck(c,a,b,d){a[b]=d;}
+function ak(c,a,b,d){a[b]=d;}
+function bk(c,a,b,d){a[b]=d;}
+function dk(c,a,b){a.__listener=b;}
+function ek(c,a,b){a.src=b;}
+function fk(c,a,b){if(!b){b='';}a.innerHTML=b;}
+function gk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
+function hk(c,b,a,d){b.style[a]=d;}
+function ik(c,b,a,d){b.style[a]=d;}
+function jk(a){return $doc.body.clientHeight;}
+function kk(a){return $doc.body.clientWidth;}
+function lk(a){return Aj(this,a);}
+function ji(){}
+_=ji.prototype=new xT();_.ub=lk;_.tN=nfc+'DOMImpl';_.tI=20;function zi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
+function Ai(b,a){return a.relatedTarget?a.relatedTarget:null;}
+function Bi(b,a){return a.target||null;}
+function Ci(b,a){return a.relatedTarget||null;}
+function Di(b,a){a.preventDefault();}
+function Ei(b,a){return a.toString();}
+function aj(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
+function Fi(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
+function bj(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
+function cj(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
+function dj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
+function ej(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
+function fj(b,a){$wnd.__captureElem=a;}
+function gj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
+function xi(){}
+_=xi.prototype=new ji();_.tN=nfc+'DOMImplStandard';_.tI=21;function mi(c,a,b){if(!a&& !b){return true;}else if(!a|| !b){return false;}return a.isSameNode(b);}
+function ni(b,a){return $doc.getBoxObjectFor(a).screenX-$doc.getBoxObjectFor($doc.documentElement).screenX;}
+function oi(b,a){return $doc.getBoxObjectFor(a).screenY-$doc.getBoxObjectFor($doc.documentElement).screenY;}
+function pi(d,c,e){var b=0,a=c.firstChild;while(a){if(a.isSameNode(e)){return b;}if(a.nodeType==1){++b;}a=a.nextSibling;}return -1;}
+function ri(a){dj(a);qi(a);}
+function qi(d){$wnd.addEventListener('mouseout',function(b){var a=$wnd.__captureElem;if(a&& !b.relatedTarget){if('html'==b.target.tagName.toLowerCase()){var c=$doc.createEvent('MouseEvents');c.initMouseEvent('mouseup',true,true,$wnd,0,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,null);a.dispatchEvent(c);}}},true);$wnd.addEventListener('DOMMouseScroll',$wnd.__dispatchCapturedMouseEvent,true);}
+function si(d,c,b){while(b){if(c.isSameNode(b)){return true;}try{b=b.parentNode;}catch(a){return false;}if(b&&b.nodeType!=1){b=null;}}return false;}
+function ti(b,a){if(a.isSameNode($wnd.__captureElem)){$wnd.__captureElem=null;}}
+function vi(c,b,a){gj(c,b,a);ui(c,b,a);}
+function ui(c,b,a){if(a&131072){b.addEventListener('DOMMouseScroll',$wnd.__dispatchEvent,false);}}
+function wi(d,a){var b=a.cloneNode(true);var c=$doc.createElement('DIV');c.appendChild(b);outer=c.innerHTML;b.innerHTML='';return outer;}
+function ki(){}
+_=ki.prototype=new xi();_.tN=nfc+'DOMImplMozilla';_.tI=22;function nk(a){tk=hb();return a;}
+function pk(c,d,b,a){return qk(c,null,null,d,b,a);}
+function qk(d,f,c,e,b,a){return ok(d,f,c,e,b,a);}
+function ok(e,g,d,f,c,b){var h=e.jb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=tk;b.xc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=tk;return false;}}
+function sk(){return new XMLHttpRequest();}
+function mk(){}
+_=mk.prototype=new xT();_.jb=sk;_.tN=nfc+'HTTPRequestImpl';_.tI=23;var tk=null;function Ck(a){return $wnd.__gwt_historyToken;}
+function Dk(a){bh(a);}
+function uk(){}
+_=uk.prototype=new xT();_.tN=nfc+'HistoryImpl';_.tI=24;function Ak(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;Dk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
+function yk(){}
+_=yk.prototype=new uk();_.tN=nfc+'HistoryImplStandard';_.tI=25;function xk(d,a){if(a==null||a.length==0){var c=$wnd.location.href;var b=c.indexOf('#');if(b!= -1)c=c.substring(0,b);$wnd.location=c+'#';}else{$wnd.location.hash=encodeURIComponent(a);}}
+function vk(){}
+_=vk.prototype=new yk();_.tN=nfc+'HistoryImplMozilla';_.tI=26;function al(a){DT(a,'This application is out of date, please click the refresh button on your browser');return a;}
+function Fk(){}
+_=Fk.prototype=new CT();_.tN=ofc+'IncompatibleRemoteServiceException';_.tI=27;function el(b,a){}
+function fl(b,a){}
+function hl(b,a){ET(b,a,null);return b;}
+function gl(){}
+_=gl.prototype=new CT();_.tN=ofc+'InvocationException';_.tI=28;function tl(){return this.b;}
+function ll(){}
+_=ll.prototype=new nS();_.wb=tl;_.tN=ofc+'SerializableException';_.tI=29;_.b=null;function pl(b,a){sl(a,b.Bd());}
+function ql(a){return a.b;}
+function rl(b,a){b.cf(ql(a));}
+function sl(a,b){a.b=b;}
+function vl(b,a){oS(b,a);return b;}
+function ul(){}
+_=ul.prototype=new nS();_.tN=ofc+'SerializationException';_.tI=30;function Al(a){hl(a,'Service implementation URL not specified');return a;}
+function zl(){}
+_=zl.prototype=new gl();_.tN=ofc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function Fl(b,a){}
+function am(a){return cS(a.wd());}
+function bm(b,a){b.De(a.a);}
+function em(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Ad());}}
+function fm(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.bf(a[c]);}}
+function im(b,a){}
+function jm(a){return a.Bd();}
+function km(b,a){b.cf(a);}
+function nm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.xd();}}
+function om(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.Ee(a[c]);}}
+function rm(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();bY(b,c);}}
+function sm(e,a){var b,c,d;d=a.b;e.Fe(d);b=a.nc();while(b.hc()){c=b.pc();e.bf(c);}}
+function vm(b,a){}
+function wm(a){return mZ(new kZ(),a.zd());}
+function xm(b,a){b.af(pZ(a));}
+function Am(e,b){var a,c,d,f;d=e.yd();for(a=0;a<d;++a){c=e.Ad();f=e.Ad();d1(b,c,f);}}
+function Bm(f,c){var a,b,d,e;e=c.c;f.Fe(e);b=b1(c);d=x0(b);while(p0(d)){a=q0(d);f.bf(a.vb());f.bf(a.bc());}}
+function Em(d,b){var a,c;c=d.yd();for(a=0;a<c;++a){x1(b,d.Ad());}}
+function Fm(c,a){var b;c.Fe(a.a.c);for(b=z1(a);AW(b);){c.bf(BW(b));}}
+function cn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();k2(b,c);}}
+function dn(e,a){var b,c,d;d=a.a.b;e.Fe(d);b=m2(a);while(b.hc()){c=b.pc();e.bf(c);}}
+function Bn(a){return a.j>2;}
+function Cn(b,a){b.i=a;}
+function Dn(a,b){a.j=b;}
+function en(){}
+_=en.prototype=new xT();_.tN=rfc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function gn(a){a.e=FX(new DX());}
+function hn(a){gn(a);return a;}
+function kn(b,a){dY(b.e);Dn(b,fo(b));Cn(b,fo(b));}
+function ln(a){var b,c;b=a.yd();if(b<0){return gY(a.e,-(b+1));}c=a.Fb(b);if(c===null){return null;}return a.hb(c);}
+function mn(b,a){bY(b.e,a);}
+function nn(){return ln(this);}
+function fn(){}
+_=fn.prototype=new en();_.Ad=nn;_.tN=rfc+'AbstractSerializationStreamReader';_.tI=33;function qn(b,a){b.E(a?'1':'0');}
+function rn(b,a){b.E(gV(a));}
+function sn(c,a){var b,d;if(a===null){tn(c,null);return;}b=c.tb(a);if(b>=0){rn(c,-(b+1));return;}c.de(a);d=c.yb(a);tn(c,d);c.ge(a,d);}
+function tn(a,b){rn(a,a.z(b));}
+function un(a){qn(this,a);}
+function vn(a){this.E(gV(a));}
+function wn(a){rn(this,a);}
+function xn(a){this.E(hV(a));}
+function yn(a){sn(this,a);}
+function zn(a){tn(this,a);}
+function on(){}
+_=on.prototype=new en();_.De=un;_.Ee=vn;_.Fe=wn;_.af=xn;_.bf=yn;_.cf=zn;_.tN=rfc+'AbstractSerializationStreamWriter';_.tI=34;function Fn(b,a){hn(b);b.c=a;return b;}
+function bo(b,a){if(!a){return null;}return b.d[a-1];}
+function co(b,a){b.b=jo(a);b.a=ko(b.b);kn(b,a);b.d=go(b);}
+function eo(a){return !(!a.b[--a.a]);}
+function fo(a){return a.b[--a.a];}
+function go(a){return a.b[--a.a];}
+function ho(a){return bo(a,fo(a));}
+function io(b){var a;a=this.c.kc(this,b);mn(this,a);this.c.gb(this,a,b);return a;}
+function jo(a){return eval(a);}
+function ko(a){return a.length;}
+function lo(a){return bo(this,a);}
+function mo(){return eo(this);}
+function no(){return this.b[--this.a];}
+function oo(){return fo(this);}
+function po(){return this.b[--this.a];}
+function qo(){return ho(this);}
+function En(){}
+_=En.prototype=new fn();_.hb=io;_.Fb=lo;_.wd=mo;_.xd=no;_.yd=oo;_.zd=po;_.Bd=qo;_.tN=rfc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function so(a){a.h=FX(new DX());}
+function to(d,c,a,b){so(d);d.f=c;d.b=a;d.e=b;return d;}
+function vo(c,a){var b=c.d[a];return b==null?-1:b;}
+function wo(c,a){var b=c.g[':'+a];return b==null?0:b;}
+function xo(a){a.c=0;a.d=ib();a.g=ib();dY(a.h);a.a=cU(new bU());if(Bn(a)){tn(a,a.b);tn(a,a.e);}}
+function yo(b,a,c){b.d[a]=c;}
+function zo(b,a,c){b.g[':'+a]=c;}
+function Ao(b){var a;a=cU(new bU());Bo(b,a);Do(b,a);Co(b,a);return iU(a);}
+function Bo(b,a){Fo(a,gV(b.j));Fo(a,gV(b.i));}
+function Co(b,a){eU(a,iU(b.a));}
+function Do(d,a){var b,c;c=d.h.b;Fo(a,gV(c));for(b=0;b<c;++b){Fo(a,Fb(gY(d.h,b),1));}return a;}
+function Eo(b){var a;if(b===null){return 0;}a=wo(this,b);if(a>0){return a;}bY(this.h,b);a=this.h.b;zo(this,b,a);return a;}
+function Fo(a,b){eU(a,b);dU(a,65535);}
+function ap(a){Fo(this.a,a);}
+function bp(a){return vo(this,mV(a));}
+function cp(a){var b,c;c=w(a);b=this.f.Eb(c);if(b!==null){c+='/'+b;}return c;}
+function dp(a){yo(this,mV(a),this.c++);}
+function ep(a,b){this.f.fe(this,a,b);}
+function fp(){return Ao(this);}
+function ro(){}
+_=ro.prototype=new on();_.z=Eo;_.E=ap;_.tb=bp;_.yb=cp;_.de=dp;_.ge=ep;_.tS=fp;_.tN=rfc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function pN(b,a){fO(b.ac(),a,true);}
+function rN(a){return Ae(a.rb());}
+function sN(a){return Be(a.rb());}
+function tN(a){return af(a.w,'offsetHeight');}
+function uN(a){return af(a.w,'offsetWidth');}
+function vN(b,a){fO(b.ac(),a,false);}
+function wN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
+function xN(b,a){if(b.w!==null){wN(b,b.w,a);}b.w=a;}
+function yN(b,c,a){if(c>=0){b.xe(c+'px');}if(a>=0){b.ne(a+'px');}}
+function zN(b,c,a){b.xe(c);b.ne(a);}
+function AN(b,a){eO(b.ac(),a);}
+function BN(b,a){Ef(b.rb(),a|cf(b.rb()));}
+function CN(){return this.w;}
+function DN(){return tN(this);}
+function EN(){return uN(this);}
+function FN(){return this.w;}
+function aO(a){return bf(a,'className');}
+function bO(a){return a.style.display!='none';}
+function cO(a){xN(this,a);}
+function dO(a){Df(this.w,'height',a);}
+function eO(a,b){xf(a,'className',b);}
+function fO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw DT(new CT(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=DU(j);if(uU(j)==0){throw sS(new rS(),'Style names cannot be empty');}i=aO(c);e=sU(i,j);while(e!=(-1)){if(e==0||lU(i,e-1)==32){f=e+uU(j);g=uU(i);if(f==g||f<g&&lU(i,f)==32){break;}}e=tU(i,j,e+1);}if(a){if(e==(-1)){if(uU(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=DU(AU(i,0,e));d=DU(zU(i,e+uU(j)));if(uU(b)==0){h=d;}else if(uU(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
+function gO(a){if(a===null||uU(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
+function hO(a,b){a.style.display=b?'':'none';}
+function iO(a){hO(this.w,a);}
+function jO(a){Df(this.w,'width',a);}
+function kO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
+function oN(){}
+_=oN.prototype=new xT();_.rb=CN;_.zb=DN;_.Ab=EN;_.ac=FN;_.je=cO;_.ne=dO;_.pe=gO;_.ue=iO;_.xe=jO;_.tS=kO;_.tN=sfc+'UIObject';_.tI=37;_.w=null;function wP(a){if(a.lc()){throw vS(new uS(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.rb(),a);a.ib();a.cd();}
+function xP(a){if(!a.lc()){throw vS(new uS(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.qd();}finally{a.kb();yf(a.rb(),null);a.t=false;}}
+function yP(a){if(ac(a.v,54)){Fb(a.v,54).be(a);}else if(a.v!==null){throw vS(new uS(),"This widget's parent does not implement HasWidgets");}}
+function zP(b,a){if(b.lc()){yf(b.rb(),null);}xN(b,a);if(b.lc()){yf(a,b);}}
+function AP(b,a){b.u=a;}
+function BP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.lc()){c.yc();}c.v=null;}else{if(a!==null){throw vS(new uS(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.lc()){c.rc();}}}
+function CP(){}
+function DP(){}
+function EP(){return this.t;}
+function FP(){wP(this);}
+function aQ(a){}
+function bQ(){xP(this);}
+function cQ(){}
+function dQ(){}
+function eQ(a){zP(this,a);}
+function uO(){}
+_=uO.prototype=new oN();_.ib=CP;_.kb=DP;_.lc=EP;_.rc=FP;_.tc=aQ;_.yc=bQ;_.cd=cQ;_.qd=dQ;_.je=eQ;_.tN=sfc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function AD(b,a){BP(a,b);}
+function CD(b,a){BP(a,null);}
+function DD(){var a;a=this.nc();while(a.hc()){a.pc();a.Fd();}}
+function ED(){var a,b;for(b=this.nc();b.hc();){a=Fb(b.pc(),13);a.rc();}}
+function FD(){var a,b;for(b=this.nc();b.hc();){a=Fb(b.pc(),13);a.yc();}}
+function aE(){}
+function bE(){}
+function zD(){}
+_=zD.prototype=new uO();_.F=DD;_.ib=ED;_.kb=FD;_.cd=aE;_.qd=bE;_.tN=sfc+'Panel';_.tI=39;function Bq(a){a.f=EO(new vO(),a);}
+function Cq(a){Bq(a);return a;}
+function Dq(c,a,b){yP(a);FO(c.f,a);td(b,a.rb());AD(c,a);}
+function Eq(d,b,a){var c;ar(d,a);if(b.v===d){c=cr(d,b);if(c<a){a--;}}return a;}
+function Fq(b,a){if(a<0||a>=b.f.c){throw new xS();}}
+function ar(b,a){if(a<0||a>b.f.c){throw new xS();}}
+function dr(b,a){return bP(b.f,a);}
+function cr(b,a){return cP(b.f,a);}
+function er(e,b,c,a,d){a=Eq(e,b,a);yP(b);dP(e.f,b,a);if(d){hf(c,b.rb(),a);}else{td(c,b.rb());}AD(e,b);}
+function fr(a){return eP(a.f);}
+function gr(b,c){var a;if(c.v!==b){return false;}CD(b,c);a=c.rb();nf(ff(a),a);gP(b.f,c);return true;}
+function hr(){return fr(this);}
+function ir(a){return this.be(dr(this,a));}
+function jr(a){return gr(this,a);}
+function Aq(){}
+_=Aq.prototype=new zD();_.nc=hr;_.ae=ir;_.be=jr;_.tN=sfc+'ComplexPanel';_.tI=40;function ip(a){Cq(a);a.je(xd());Df(a.rb(),'position','relative');Df(a.rb(),'overflow','hidden');return a;}
+function jp(a,b){Dq(a,b,a.rb());}
+function lp(b,c){var a;a=gr(b,c);if(a){mp(c.rb());}return a;}
+function mp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
+function np(a){return lp(this,a);}
+function hp(){}
+_=hp.prototype=new Aq();_.be=np;_.tN=sfc+'AbsolutePanel';_.tI=41;function op(){}
+_=op.prototype=new xT();_.tN=sfc+'AbstractImagePrototype';_.tI=42;function nu(){nu=v2;ru=(rQ(),wQ);}
+function lu(b,a){nu();pu(b,a);return b;}
+function mu(b,a){if(b.k===null){b.k=bu(new au());}bY(b.k,a);}
+function ou(b,a){switch(xe(a)){case 1:if(b.j!==null){yq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){du(b.k,b,a);}break;case 128:case 512:case 256:break;}}
+function pu(b,a){zP(b,a);BN(b,7041);}
+function qu(a){if(this.j===null){this.j=wq(new vq());}bY(this.j,a);}
+function su(a){ou(this,a);}
+function tu(a){pu(this,a);}
+function uu(a){vf(this.rb(),'disabled',!a);}
+function vu(a){if(a){tQ(ru,this.rb());}else{qQ(ru,this.rb());}}
+function wu(a){uQ(ru,this.rb(),a);}
+function ku(){}
+_=ku.prototype=new uO();_.x=qu;_.tc=su;_.je=tu;_.ke=uu;_.le=vu;_.oe=wu;_.tN=sfc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var ru;function tp(){tp=v2;nu();}
+function sp(b,a){tp();lu(b,a);return b;}
+function up(a){Af(this.rb(),a);}
+function rp(){}
+_=rp.prototype=new ku();_.me=up;_.tN=sfc+'ButtonBase';_.tI=44;function xp(){xp=v2;tp();}
+function vp(a){xp();sp(a,wd());yp(a.rb());AN(a,'gwt-Button');return a;}
+function wp(b,a){xp();vp(b);b.me(a);return b;}
+function yp(b){xp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
+function qp(){}
+_=qp.prototype=new rp();_.tN=sfc+'Button';_.tI=45;function Ap(a){Cq(a);a.e=ge();a.d=de();td(a.e,a.d);a.je(a.e);return a;}
+function Cp(c,b,a){xf(b,'align',a.a);}
+function Dp(c,b,a){Df(b,'verticalAlign',a.a);}
+function Ep(c,a){var b;b=ff(c.rb());xf(b,'height',a);}
+function Fp(b,c){var a;a=ff(b.rb());xf(a,'width',c);}
+function zp(){}
+_=zp.prototype=new Aq();_.he=Ep;_.ie=Fp;_.tN=sfc+'CellPanel';_.tI=46;_.d=null;_.e=null;function yV(d,a,b){var c;while(a.hc()){c=a.pc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
+function AV(a){throw vV(new uV(),'add');}
+function BV(b){var a;a=yV(this,this.nc(),b);return a!==null;}
+function CV(){return this.Be(yb('[Ljava.lang.Object;',[610],[11],[this.ye()],null));}
+function DV(a){var b,c,d;d=this.ye();if(a.a<d){a=tb(a,d);}b=0;for(c=this.nc();c.hc();){Ab(a,b++,c.pc());}if(a.a>d){Ab(a,d,null);}return a;}
+function EV(){var a,b,c;c=cU(new bU());a=null;eU(c,'[');b=this.nc();while(b.hc()){if(a!==null){eU(c,a);}else{a=', ';}eU(c,iV(b.pc()));}eU(c,']');return iU(c);}
+function xV(){}
+_=xV.prototype=new xT();_.C=AV;_.db=BV;_.Ae=CV;_.Be=DV;_.tS=EV;_.tN=wfc+'AbstractCollection';_.tI=47;function iW(b,a){throw yS(new xS(),'Index: '+a+', Size: '+b.b);}
+function jW(b,a){throw vV(new uV(),'add');}
+function kW(a){this.B(this.ye(),a);return true;}
+function lW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.ye()!=f.ye()){return false;}c=this.nc();d=f.nc();while(c.hc()){a=c.pc();b=d.pc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
+function mW(){var a,b,c,d;c=1;a=31;b=this.nc();while(b.hc()){d=b.pc();c=31*c+(d===null?0:d.hC());}return c;}
+function nW(){return bW(new aW(),this);}
+function oW(a){throw vV(new uV(),'remove');}
+function FV(){}
+_=FV.prototype=new xV();_.B=jW;_.C=kW;_.eQ=lW;_.hC=mW;_.nc=nW;_.ae=oW;_.tN=wfc+'AbstractList';_.tI=48;function EX(a){{cY(a);}}
+function FX(a){EX(a);return a;}
+function aY(c,a,b){if(a<0||a>c.b){iW(c,a);}nY(c.a,a,b);++c.b;}
+function bY(b,a){wY(b.a,b.b++,a);return true;}
+function dY(a){cY(a);}
+function cY(a){a.a=gb();a.b=0;}
+function fY(b,a){return hY(b,a)!=(-1);}
+function gY(b,a){if(a<0||a>=b.b){iW(b,a);}return sY(b.a,a);}
+function hY(b,a){return iY(b,a,0);}
+function iY(c,b,a){if(a<0){iW(c,a);}for(;a<c.b;++a){if(rY(b,sY(c.a,a))){return a;}}return (-1);}
+function jY(a){return a.b==0;}
+function kY(c,a){var b;b=gY(c,a);uY(c.a,a,1);--c.b;return b;}
+function lY(c,b){var a;a=hY(c,b);if(a==(-1)){return false;}kY(c,a);return true;}
+function mY(d,a,b){var c;c=gY(d,a);wY(d.a,a,b);return c;}
+function oY(a,b){aY(this,a,b);}
+function pY(a){return bY(this,a);}
+function nY(a,b,c){a.splice(b,0,c);}
+function qY(a){return fY(this,a);}
+function rY(a,b){return a===b||a!==null&&a.eQ(b);}
+function tY(a){return gY(this,a);}
+function sY(a,b){return a[b];}
+function vY(a){return kY(this,a);}
+function uY(a,c,b){a.splice(c,b);}
+function wY(a,b,c){a[b]=c;}
+function xY(){return this.b;}
+function yY(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,sY(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
+function DX(){}
+_=DX.prototype=new FV();_.B=oY;_.C=pY;_.db=qY;_.ec=tY;_.ae=vY;_.ye=xY;_.Be=yY;_.tN=wfc+'ArrayList';_.tI=49;_.a=null;_.b=0;function bq(a){FX(a);return a;}
+function dq(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),41);b.vc(c);}}
+function aq(){}
+_=aq.prototype=new DX();_.tN=sfc+'ChangeListenerCollection';_.tI=50;function jq(){jq=v2;tp();}
+function gq(a){jq();hq(a,Cd());AN(a,'gwt-CheckBox');return a;}
+function iq(b,a){jq();gq(b);nq(b,a);return b;}
+function hq(b,a){var c;jq();sp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.rb()));Ef(b.rb(),0);td(b.rb(),b.a);td(b.rb(),b.b);c='check'+ ++uq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
+function kq(a){return ef(a.b);}
+function lq(b){var a;a=b.lc()?'checked':'defaultChecked';return Fe(b.a,a);}
+function mq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
+function nq(b,a){Bf(b.b,a);}
+function oq(){yf(this.a,this);}
+function pq(){yf(this.a,null);mq(this,lq(this));}
+function qq(a){vf(this.a,'disabled',!a);}
+function rq(a){if(a){tQ(ru,this.a);}else{qQ(ru,this.a);}}
+function sq(a){Af(this.b,a);}
+function tq(a){uQ(ru,this.a,a);}
+function fq(){}
+_=fq.prototype=new rp();_.cd=oq;_.qd=pq;_.ke=qq;_.le=rq;_.me=sq;_.oe=tq;_.tN=sfc+'CheckBox';_.tI=51;_.a=null;_.b=null;var uq=0;function wq(a){FX(a);return a;}
+function yq(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),42);b.wc(c);}}
+function vq(){}
+_=vq.prototype=new DX();_.tN=sfc+'ClickListenerCollection';_.tI=52;function mr(a,b){if(a.k!==null){throw vS(new uS(),'Composite.initWidget() may only be called once.');}yP(b);a.je(b.rb());a.k=b;BP(b,a);}
+function nr(){if(this.k===null){throw vS(new uS(),'initWidget() was never called in '+w(this));}return this.w;}
+function or(){if(this.k!==null){return this.k.lc();}return false;}
+function pr(){this.k.rc();this.cd();}
+function qr(){try{this.qd();}finally{this.k.yc();}}
+function kr(){}
+_=kr.prototype=new uO();_.rb=nr;_.lc=or;_.rc=pr;_.yc=qr;_.tN=sfc+'Composite';_.tI=53;_.k=null;function sr(a){Cq(a);a.je(xd());return a;}
+function ur(b,c){var a;a=c.rb();Df(a,'width','100%');Df(a,'height','100%');c.ue(false);}
+function vr(b,c,a){er(b,c,b.rb(),a,true);ur(b,c);}
+function wr(b,c){var a;a=gr(b,c);if(a){xr(b,c);if(b.b===c){b.b=null;}}return a;}
+function xr(a,b){Df(b.rb(),'width','');Df(b.rb(),'height','');b.ue(true);}
+function yr(b,a){Fq(b,a);if(b.b!==null){b.b.ue(false);}b.b=dr(b,a);b.b.ue(true);}
+function zr(a){return wr(this,a);}
+function rr(){}
+_=rr.prototype=new Aq();_.be=zr;_.tN=sfc+'DeckPanel';_.tI=54;_.b=null;function aH(a){bH(a,xd());return a;}
+function bH(b,a){b.je(a);return b;}
+function cH(a,b){if(a.r!==null){throw vS(new uS(),'SimplePanel can only contain one child widget');}a.we(b);}
+function eH(a,b){if(b===a.r){return;}if(b!==null){yP(b);}if(a.r!==null){a.be(a.r);}a.r=b;if(b!==null){td(a.qb(),a.r.rb());AD(a,b);}}
+function fH(){return this.rb();}
+function gH(){return BG(new zG(),this);}
+function hH(a){if(this.r!==a){return false;}CD(this,a);nf(this.qb(),a.rb());this.r=null;return true;}
+function iH(a){eH(this,a);}
+function yG(){}
+_=yG.prototype=new zD();_.qb=fH;_.nc=gH;_.be=hH;_.we=iH;_.tN=sfc+'SimplePanel';_.tI=55;_.r=null;function kE(){kE=v2;AE=fR(new aR());}
+function gE(a){kE();bH(a,hR(AE));rE(a,0,0);return a;}
+function hE(b,a){kE();gE(b);b.k=a;return b;}
+function iE(c,a,b){kE();hE(c,a);c.o=b;return c;}
+function jE(b,a){if(a.blur){a.blur();}}
+function lE(a){return iR(AE,a.rb());}
+function mE(a){return uN(a);}
+function nE(a){oE(a,false);}
+function oE(b,a){if(!b.p){return;}b.p=false;lp(oG(),b);b.rb();}
+function pE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.ne(a.l);}if(a.m!==null){b.xe(a.m);}}}
+function qE(e,b){var a,c,d,f;d=ve(b);c=kf(e.rb(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){oE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){jE(e,d);return false;}}}return !e.o||c;}
+function rE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.rb();Df(a,'left',b+'px');Df(a,'top',d+'px');}
+function sE(a,b){eH(a,b);pE(a);}
+function tE(a,b){a.m=b;pE(a);if(uU(b)==0){a.m=null;}}
+function uE(a){if(a.p){return;}a.p=true;sd(a);Df(a.rb(),'position','absolute');if(a.q!=(-1)){rE(a,a.n,a.q);}jp(oG(),a);a.rb();}
+function vE(){return lE(this);}
+function wE(){return tN(this);}
+function xE(){return mE(this);}
+function yE(){return iR(AE,this.rb());}
+function zE(){nE(this);}
+function BE(){pf(this);xP(this);}
+function CE(a){return qE(this,a);}
+function DE(a){this.l=a;pE(this);if(uU(a)==0){this.l=null;}}
+function EE(b){var a;a=lE(this);if(b===null||uU(b)==0){of(a,'title');}else{uf(a,'title',b);}}
+function FE(a){Df(this.rb(),'visibility',a?'visible':'hidden');this.rb();}
+function aF(a){sE(this,a);}
+function bF(a){tE(this,a);}
+function fE(){}
+_=fE.prototype=new yG();_.qb=vE;_.zb=wE;_.Ab=xE;_.ac=yE;_.ic=zE;_.yc=BE;_.zc=CE;_.ne=DE;_.pe=EE;_.ue=FE;_.we=aF;_.xe=bF;_.tN=sfc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var AE;function Fr(){Fr=v2;kE();}
+function Br(a){a.e=jz(new nw());a.j=rt(new lt());}
+function Cr(a){Fr();Dr(a,false);return a;}
+function Dr(b,a){Fr();Er(b,a,true);return b;}
+function Er(c,a,b){Fr();iE(c,a,b);Br(c);c.j.ve(0,0,c.e);c.j.ne('100%');xy(c.j,0);zy(c.j,0);Ay(c.j,0);cx(c.j.n,1,0,'100%');hx(c.j.n,1,0,'100%');bx(c.j.n,1,0,(uz(),vz),(Dz(),Fz));sE(c,c.j);AN(c,'gwt-DialogBox');AN(c.e,'Caption');eC(c.e,c);return c;}
+function as(b,a){nz(b.e,a);}
+function bs(b,a){hC(b.e,a);}
+function cs(a,b){if(a.f!==null){wy(a.j,a.f);}if(b!==null){a.j.ve(1,0,b);}a.f=b;}
+function ds(a){if(xe(a)==4){if(kf(this.e.rb(),ve(a))){ye(a);}}return qE(this,a);}
+function es(a,b,c){this.i=true;tf(this.e.rb());this.g=b;this.h=c;}
+function fs(a){}
+function gs(a){}
+function hs(c,d,e){var a,b;if(this.i){a=d+rN(this);b=e+sN(this);rE(this,a-this.g,b-this.h);}}
+function is(a,b,c){this.i=false;mf(this.e.rb());}
+function js(a){if(this.f!==a){return false;}wy(this.j,a);return true;}
+function ks(a){cs(this,a);}
+function ls(a){tE(this,a);this.j.xe('100%');}
+function Ar(){}
+_=Ar.prototype=new fE();_.zc=ds;_.ed=es;_.fd=fs;_.gd=gs;_.hd=hs;_.id=is;_.be=js;_.we=ks;_.xe=ls;_.tN=sfc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function xs(){xs=v2;Ds=new ns();Es=new ns();Fs=new ns();at=new ns();bt=new ns();}
+function us(a){a.b=(uz(),wz);a.c=(Dz(),aA);}
+function vs(a){xs();Ap(a);us(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
+function ws(c,d,a){var b;if(a===Ds){if(d===c.a){return;}else if(c.a!==null){throw sS(new rS(),'Only one CENTER widget may be added');}}yP(d);FO(c.f,d);if(a===Ds){c.a=d;}b=qs(new ps(),a);AP(d,b);As(c,d,c.b);Bs(c,d,c.c);ys(c);AD(c,d);}
+function ys(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=eP(p.f);zO(h);){c=AO(h);e=c.u.a;if(e===Fs||e===at){++l;}else if(e===Es||e===bt){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[633],[33],[l],null);for(g=0;g<l;++g){m[g]=new ss();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=eP(p.f);zO(h);){c=AO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===Fs){hf(m[j].b,o,m[j].a);td(o,c.rb());wf(o,'colSpan',f-q+1);++j;}else if(i.a===at){hf(m[n].b,o,m[n].a);td(o,c.rb());wf(o,'colSpan',f-q+1);--n;}else if(i.a===bt){k=m[j];hf(k.b,o,k.a++);td(o,c.rb());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===Es){k=m[j];hf(k.b,o,k.a);td(o,c.rb());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===Ds){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.rb());}}
+function zs(b,c){var a;a=gr(b,c);if(a){if(c===b.a){b.a=null;}ys(b);}return a;}
+function As(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
+function Bs(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
+function Cs(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
+function ct(a){return zs(this,a);}
+function dt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
+function et(a,b){Cs(this,a,b);}
+function ms(){}
+_=ms.prototype=new zp();_.be=ct;_.he=dt;_.ie=et;_.tN=sfc+'DockPanel';_.tI=58;_.a=null;var Ds,Es,Fs,at,bt;function ns(){}
+_=ns.prototype=new xT();_.tN=sfc+'DockPanel$DockLayoutConstant';_.tI=59;function qs(b,a){b.a=a;return b;}
+function ps(){}
+_=ps.prototype=new xT();_.tN=sfc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function ss(){}
+_=ss.prototype=new xT();_.tN=sfc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function gt(a){a.je(yd('input'));xf(a.rb(),'type','file');AN(a,'gwt-FileUpload');return a;}
+function it(a){return bf(a.rb(),'value');}
+function jt(b,a){xf(b.rb(),'name',a);}
+function ft(){}
+_=ft.prototype=new uO();_.tN=sfc+'FileUpload';_.tI=62;function by(a){a.s=xx(new sx());}
+function cy(a){by(a);a.q=ge();a.m=de();td(a.q,a.m);a.je(a.q);BN(a,1);return a;}
+function dy(b,a){if(b.r===null){b.r=fK(new eK());}bY(b.r,a);}
+function ey(d,c,b){var a;fy(d,c);if(b<0){throw yS(new xS(),'Column '+b+' must be non-negative: '+b);}a=d.pb(c);if(a<=b){throw yS(new xS(),'Column index: '+b+', Column size: '+d.pb(c));}}
+function fy(c,a){var b;b=c.Cb();if(a>=b||a<0){throw yS(new xS(),'Row index: '+a+', Row size: '+b);}}
+function gy(e,c,b,a){var d;d=Ew(e.n,c,b);ty(e,d,a);return d;}
+function hy(d){var a,b,c;for(c=0;c<d.Cb();++c){for(b=0;b<d.pb(c);++b){a=py(d,c,b);if(a!==null){wy(d,a);}}}}
+function jy(a){return ee();}
+function ky(c,b,a){return b.rows[a].cells.length;}
+function ly(a){return my(a,a.m);}
+function my(b,a){return a.rows.length;}
+function ny(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(pU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
+function oy(d,c,a){var b;ey(d,c,a);b=Dw(d.n,c,a);return ef(b);}
+function qy(c,b,a){ey(c,b,a);return py(c,b,a);}
+function py(e,d,b){var a,c;c=Ew(e.n,d,b);a=df(c);if(a===null){return null;}else{return zx(e.s,a);}}
+function ry(d,b,a){var c,e;e=qx(d.p,d.m,b);c=d.eb();hf(e,c,a);}
+function sy(b,a){var c;if(a!=vt(b)){fy(b,a);}c=fe();hf(b.m,c,a);return a;}
+function ty(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=zx(d.s,b);}if(e!==null){wy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
+function wy(b,c){var a;if(c.v!==b){return false;}CD(b,c);a=c.rb();nf(ff(a),a);Cx(b.s,a);return true;}
+function uy(d,b,a){var c,e;ey(d,b,a);c=gy(d,b,a,false);e=qx(d.p,d.m,b);nf(e,c);}
+function vy(d,c){var a,b;b=d.pb(c);for(a=0;a<b;++a){gy(d,c,a,false);}nf(d.m,qx(d.p,d.m,c));}
+function xy(a,b){xf(a.q,'border',''+b);}
+function yy(b,a){b.n=a;}
+function zy(b,a){wf(b.q,'cellPadding',a);}
+function Ay(b,a){wf(b.q,'cellSpacing',a);}
+function By(b,a){b.o=a;lx(b.o);}
+function Cy(e,c,a,b){var d;cw(e,c,a);d=gy(e,c,a,b===null);if(b!==null){Af(d,b);}}
+function Dy(b,a){b.p=a;}
+function Ey(e,b,a,d){var c;e.ud(b,a);c=gy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
+function Fy(d,b,a,e){var c;d.ud(b,a);if(e!==null){yP(e);c=gy(d,b,a,true);Ax(d.s,e);td(c,e.rb());AD(d,e);}}
+function az(){hy(this);}
+function bz(){return jy(this);}
+function cz(b,a){ry(this,b,a);}
+function dz(){return Dx(this.s);}
+function ez(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=ny(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);hK(this.r,this,d,b);}break;}default:}}
+function hz(a){return wy(this,a);}
+function fz(b,a){uy(this,b,a);}
+function gz(a){vy(this,a);}
+function iz(b,a,c){Fy(this,b,a,c);}
+function ow(){}
+_=ow.prototype=new zD();_.F=az;_.eb=bz;_.jc=cz;_.nc=dz;_.tc=ez;_.be=hz;_.Cd=fz;_.Ed=gz;_.ve=iz;_.tN=sfc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function rt(a){cy(a);yy(a,nt(new mt(),a));Dy(a,nx(new mx(),a));By(a,jx(new ix(),a));return a;}
+function tt(b,a){fy(b,a);return ky(b,b.m,a);}
+function ut(a){return Fb(a.n,43);}
+function vt(a){return ly(a);}
+function wt(b,a){return sy(b,a);}
+function xt(d,b){var a,c;if(b<0){throw yS(new xS(),'Cannot create a row with a negative index: '+b);}c=vt(d);for(a=c;a<=b;a++){wt(d,a);}}
+function yt(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
+function zt(a){return tt(this,a);}
+function At(){return vt(this);}
+function Bt(b,a){ry(this,b,a);}
+function Ct(d,b){var a,c;xt(this,d);if(b<0){throw yS(new xS(),'Cannot create a column with a negative index: '+b);}a=tt(this,d);c=b+1-a;if(c>0){yt(this.m,d,c);}}
+function Dt(a){xt(this,a);}
+function Et(b,a){uy(this,b,a);}
+function Ft(a){vy(this,a);}
+function lt(){}
+_=lt.prototype=new ow();_.pb=zt;_.Cb=At;_.jc=Bt;_.ud=Ct;_.vd=Dt;_.Cd=Et;_.Ed=Ft;_.tN=sfc+'FlexTable';_.tI=64;function zw(b,a){b.a=a;return b;}
+function Bw(c,b,a){c.a.ud(b,a);return Cw(c,c.a.m,b,a);}
+function Cw(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
+function Dw(c,b,a){ey(c.a,b,a);return Cw(c,c.a.m,b,a);}
+function Ew(c,b,a){return Cw(c,c.a.m,b,a);}
+function Fw(d,c,a){var b;b=Dw(d,c,a);return bO(b);}
+function ax(e,b,a,c){var d;ey(e.a,b,a);d=Cw(e,e.a.m,b,a);fO(d,c,false);}
+function bx(d,c,a,b,e){dx(d,c,a,b);fx(d,c,a,e);}
+function cx(e,d,a,c){var b;e.a.ud(d,a);b=Cw(e,e.a.m,d,a);xf(b,'height',c);}
+function dx(e,d,b,a){var c;e.a.ud(d,b);c=Cw(e,e.a.m,d,b);xf(c,'align',a.a);}
+function ex(d,b,a,c){d.a.ud(b,a);eO(Cw(d,d.a.m,b,a),c);}
+function fx(d,c,b,a){d.a.ud(c,b);Df(Cw(d,d.a.m,c,b),'verticalAlign',a.a);}
+function gx(d,c,a,e){var b;b=Bw(d,c,a);hO(b,e);}
+function hx(c,b,a,d){c.a.ud(b,a);xf(Cw(c,c.a.m,b,a),'width',d);}
+function yw(){}
+_=yw.prototype=new xT();_.tN=sfc+'HTMLTable$CellFormatter';_.tI=65;function nt(b,a){zw(b,a);return b;}
+function pt(d,c,b,a){wf(Bw(d,c,b),'colSpan',a);}
+function qt(d,b,a,c){wf(Bw(d,b,a),'rowSpan',c);}
+function mt(){}
+_=mt.prototype=new yw();_.tN=sfc+'FlexTable$FlexCellFormatter';_.tI=66;function bu(a){FX(a);return a;}
+function eu(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),44);b.Bc(c);}}
+function du(c,b,a){switch(xe(a)){case 2048:eu(c,b);break;case 4096:fu(c,b);break;}}
+function fu(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),44);b.dd(c);}}
+function au(){}
+_=au.prototype=new DX();_.tN=sfc+'FocusListenerCollection';_.tI=67;function iu(){iu=v2;ju=(rQ(),vQ);}
+var ju;function yu(a){FX(a);return a;}
+function Au(f,e,d){var a,b,c;a=uv(new tv(),e,d);for(c=f.nc();c.hc();){b=Fb(c.pc(),45);b.kd(a);}}
+function Bu(e,d){var a,b,c;a=new wv();for(c=e.nc();c.hc();){b=Fb(c.pc(),45);b.ld(a);}return a.a;}
+function xu(){}
+_=xu.prototype=new DX();_.tN=sfc+'FormHandlerCollection';_.tI=68;function ev(){ev=v2;ov=new xQ();}
+function cv(a){ev();bH(a,zd());a.b='FormPanel_'+ ++nv;lv(a,a.b);BN(a,32768);return a;}
+function dv(b,a){if(b.a===null){b.a=yu(new xu());}bY(b.a,a);}
+function fv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
+function gv(a){if(a.a!==null){return !Bu(a.a,a);}return true;}
+function hv(a){if(a.a!==null){eg(Fu(new Eu(),a));}}
+function iv(a,b){xf(a.rb(),'action',b);}
+function jv(b,a){CQ(ov,b.rb(),a);}
+function kv(b,a){xf(b.rb(),'method',a);}
+function lv(b,a){xf(b.rb(),'target',a);}
+function mv(a){if(a.a!==null){if(Bu(a.a,a)){return;}}DQ(ov,a.rb(),a.c);}
+function pv(){wP(this);fv(this);td(nG(),this.c);BQ(ov,this.c,this.rb(),this);}
+function qv(){xP(this);EQ(ov,this.c,this.rb());nf(nG(),this.c);this.c=null;}
+function rv(){var a;a=x;{return gv(this);}}
+function sv(){var a;a=x;{hv(this);}}
+function Du(){}
+_=Du.prototype=new yG();_.rc=pv;_.yc=qv;_.Cc=rv;_.Dc=sv;_.tN=sfc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var nv=0,ov;function Fu(b,a){b.a=a;return b;}
+function bv(){Au(this.a.a,this,AQ((ev(),ov),this.a.c));}
+function Eu(){}
+_=Eu.prototype=new xT();_.nb=bv;_.tN=sfc+'FormPanel$1';_.tI=70;function EZ(){}
+_=EZ.prototype=new xT();_.tN=wfc+'EventObject';_.tI=71;function uv(c,b,a){c.a=a;return c;}
+function tv(){}
+_=tv.prototype=new EZ();_.tN=sfc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function yv(b,a){b.a=a;}
+function wv(){}
+_=wv.prototype=new EZ();_.tN=sfc+'FormSubmitEvent';_.tI=73;_.a=false;function Av(a){a.je(Ad());return a;}
+function Bv(a,b){Av(a);Dv(a,b);return a;}
+function Dv(a,b){xf(a.rb(),'src',b);}
+function zv(){}
+_=zv.prototype=new uO();_.tN=sfc+'Frame';_.tI=74;function Fv(a){cy(a);yy(a,zw(new yw(),a));Dy(a,nx(new mx(),a));By(a,jx(new ix(),a));return a;}
+function aw(c,b,a){Fv(c);gw(c,b,a);return c;}
+function cw(c,b,a){dw(c,b);if(a<0){throw yS(new xS(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw yS(new xS(),'Column index: '+a+', Column size: '+c.k);}}
+function dw(b,a){if(a<0){throw yS(new xS(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw yS(new xS(),'Row index: '+a+', Row size: '+b.l);}}
+function gw(c,b,a){ew(c,a);fw(c,b);}
+function ew(d,a){var b,c;if(d.k==a){return;}if(a<0){throw yS(new xS(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Cd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.jc(b,c);}}}d.k=a;}
+function fw(b,a){if(b.l==a){return;}if(a<0){throw yS(new xS(),'Cannot set number of rows to '+a);}if(b.l<a){hw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.Ed(--b.l);}}}
+function hw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
+function iw(){var a;a=jy(this);Af(a,'&nbsp;');return a;}
+function jw(a){return this.k;}
+function kw(){return this.l;}
+function lw(b,a){cw(this,b,a);}
+function mw(a){dw(this,a);}
+function Ev(){}
+_=Ev.prototype=new ow();_.eb=iw;_.pb=jw;_.Cb=kw;_.ud=lw;_.vd=mw;_.tN=sfc+'Grid';_.tI=75;_.k=0;_.l=0;function bC(a){a.je(xd());BN(a,131197);AN(a,'gwt-Label');return a;}
+function cC(b,a){bC(b);hC(b,a);return b;}
+function dC(b,a){if(b.a===null){b.a=wq(new vq());}bY(b.a,a);}
+function eC(b,a){if(b.b===null){b.b=gD(new fD());}bY(b.b,a);}
+function gC(a){return ef(a.rb());}
+function hC(b,a){Bf(b.rb(),a);}
+function iC(a,b){Df(a.rb(),'whiteSpace',b?'normal':'nowrap');}
+function jC(a){switch(xe(a)){case 1:if(this.a!==null){yq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){kD(this.b,this,a);}break;case 131072:break;}}
+function aC(){}
+_=aC.prototype=new uO();_.tc=jC;_.tN=sfc+'Label';_.tI=76;_.a=null;_.b=null;function jz(a){bC(a);a.je(xd());BN(a,125);AN(a,'gwt-HTML');return a;}
+function kz(b,a){jz(b);nz(b,a);return b;}
+function lz(b,a,c){kz(b,a);iC(b,c);return b;}
+function nz(b,a){Af(b.rb(),a);}
+function nw(){}
+_=nw.prototype=new aC();_.tN=sfc+'HTML';_.tI=77;function qw(a){{tw(a);}}
+function rw(b,a){b.c=a;qw(b);return b;}
+function tw(a){while(++a.b<a.c.b.b){if(gY(a.c.b,a.b)!==null){return;}}}
+function uw(a){return a.b<a.c.b.b;}
+function vw(){return uw(this);}
+function ww(){var a;if(!uw(this)){throw new d2();}a=gY(this.c.b,this.b);this.a=this.b;tw(this);return a;}
+function xw(){var a;if(this.a<0){throw new uS();}a=Fb(gY(this.c.b,this.a),13);yP(a);this.a=(-1);}
+function pw(){}
+_=pw.prototype=new xT();_.hc=vw;_.pc=ww;_.Fd=xw;_.tN=sfc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function jx(b,a){b.b=a;return b;}
+function lx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
+function ix(){}
+_=ix.prototype=new xT();_.tN=sfc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function nx(b,a){b.a=a;return b;}
+function px(b,a){b.a.vd(a);return qx(b,b.a.m,a);}
+function qx(c,a,b){return a.rows[b];}
+function rx(c,a,b){eO(px(c,a),b);}
+function mx(){}
+_=mx.prototype=new xT();_.tN=sfc+'HTMLTable$RowFormatter';_.tI=80;function wx(a){a.b=FX(new DX());}
+function xx(a){wx(a);return a;}
+function zx(c,a){var b;b=Fx(a);if(b<0){return null;}return Fb(gY(c.b,b),13);}
+function Ax(b,c){var a;if(b.a===null){a=b.b.b;bY(b.b,c);}else{a=b.a.a;mY(b.b,a,c);b.a=b.a.b;}ay(c.rb(),a);}
+function Bx(c,a,b){Ex(a);mY(c.b,b,null);c.a=ux(new tx(),b,c.a);}
+function Cx(c,a){var b;b=Fx(a);Bx(c,a,b);}
+function Dx(a){return rw(new pw(),a);}
+function Ex(a){a['__widgetID']=null;}
+function Fx(a){var b=a['__widgetID'];return b==null?-1:b;}
+function ay(a,b){a['__widgetID']=b;}
+function sx(){}
+_=sx.prototype=new xT();_.tN=sfc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function ux(c,a,b){c.a=a;c.b=b;return c;}
+function tx(){}
+_=tx.prototype=new xT();_.tN=sfc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function uz(){uz=v2;vz=sz(new rz(),'center');wz=sz(new rz(),'left');xz=sz(new rz(),'right');}
+var vz,wz,xz;function sz(b,a){b.a=a;return b;}
+function rz(){}
+_=rz.prototype=new xT();_.tN=sfc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function Dz(){Dz=v2;Ez=Bz(new Az(),'bottom');Fz=Bz(new Az(),'middle');aA=Bz(new Az(),'top');}
+var Ez,Fz,aA;function Bz(a,b){a.a=b;return a;}
+function Az(){}
+_=Az.prototype=new xT();_.tN=sfc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function eA(a){a.a=(uz(),wz);a.c=(Dz(),aA);}
+function fA(a){Ap(a);eA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function gA(b,c){var a;a=iA(b);td(b.b,a);Dq(b,c,a);}
+function iA(b){var a;a=ee();Cp(b,a,b.a);Dp(b,a,b.c);return a;}
+function jA(c,d,a){var b;ar(c,a);b=iA(c);hf(c.b,b,a);er(c,d,b,a,false);}
+function kA(c,d){var a,b;b=ff(d.rb());a=gr(c,d);if(a){nf(c.b,b);}return a;}
+function lA(b,a){b.c=a;}
+function mA(a){return kA(this,a);}
+function dA(){}
+_=dA.prototype=new zp();_.be=mA;_.tN=sfc+'HorizontalPanel';_.tI=85;_.b=null;function oA(a){a.je(xd());td(a.rb(),a.a=vd());BN(a,1);AN(a,'gwt-Hyperlink');return a;}
+function pA(c,b,a){oA(c);sA(c,b);rA(c,a);return c;}
+function rA(b,a){b.b=a;xf(b.a,'href','#'+a);}
+function sA(b,a){Bf(b.a,a);}
+function tA(a){if(xe(a)==1){ah(this.b);ye(a);}}
+function nA(){}
+_=nA.prototype=new uO();_.tc=tA;_.tN=sfc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function nB(){nB=v2;C0(new a0());}
+function jB(a){nB();mB(a,cB(new bB(),a));AN(a,'gwt-Image');return a;}
+function kB(a,b){nB();mB(a,dB(new bB(),a,b));AN(a,'gwt-Image');return a;}
+function lB(b,a){if(b.a===null){b.a=wq(new vq());}bY(b.a,a);}
+function mB(b,a){b.b=a;}
+function pB(a,b){a.b.re(a,b);}
+function oB(c,e,b,d,f,a){c.b.qe(c,e,b,d,f,a);}
+function qB(a){switch(xe(a)){case 1:{if(this.a!==null){yq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
+function uA(){}
+_=uA.prototype=new uO();_.tc=qB;_.tN=sfc+'Image';_.tI=87;_.a=null;_.b=null;function xA(){}
+function vA(){}
+_=vA.prototype=new xT();_.nb=xA;_.tN=sfc+'Image$1';_.tI=88;function FA(){}
+_=FA.prototype=new xT();_.tN=sfc+'Image$State';_.tI=89;function AA(){AA=v2;CA=new fQ();}
+function zA(d,b,f,c,e,g,a){AA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.je(iQ(CA,f,c,e,g,a));BN(b,131197);BA(d,b);return d;}
+function BA(b,a){eg(new vA());}
+function EA(a,b){mB(a,dB(new bB(),a,b));}
+function DA(b,e,c,d,f,a){if(!qU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;gQ(CA,b.rb(),e,c,d,f,a);BA(this,b);}}
+function yA(){}
+_=yA.prototype=new FA();_.re=EA;_.qe=DA;_.tN=sfc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var CA;function cB(b,a){a.je(Bd());BN(a,229501);return b;}
+function dB(b,a,c){cB(b,a);fB(b,a,c);return b;}
+function fB(b,a,c){zf(a.rb(),c);}
+function hB(a,b){fB(this,a,b);}
+function gB(b,e,c,d,f,a){mB(b,zA(new yA(),b,e,c,d,f,a));}
+function bB(){}
+_=bB.prototype=new FA();_.re=hB;_.qe=gB;_.tN=sfc+'Image$UnclippedState';_.tI=91;function uB(c,a,b){}
+function vB(c,a,b){}
+function wB(c,a,b){}
+function sB(){}
+_=sB.prototype=new xT();_.Fc=uB;_.ad=vB;_.bd=wB;_.tN=sfc+'KeyboardListenerAdapter';_.tI=92;function yB(a){FX(a);return a;}
+function AB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.Fc(e,b,d);}}
+function BB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.ad(e,b,d);}}
+function CB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.bd(e,b,d);}}
+function DB(d,c,a){var b;b=EB(a);switch(xe(a)){case 128:AB(d,c,bc(se(a)),b);break;case 512:CB(d,c,bc(se(a)),b);break;case 256:BB(d,c,bc(se(a)),b);break;}}
+function EB(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
+function xB(){}
+_=xB.prototype=new DX();_.tN=sfc+'KeyboardListenerCollection';_.tI=93;function zC(){zC=v2;nu();dD=new lC();}
+function sC(a){zC();tC(a,false);return a;}
+function tC(b,a){zC();lu(b,be(a));BN(b,1024);AN(b,'gwt-ListBox');return b;}
+function uC(b,a){if(b.b===null){b.b=bq(new aq());}bY(b.b,a);}
+function vC(b,a){EC(b,a,(-1));}
+function wC(b,a,c){FC(b,a,c,(-1));}
+function xC(b,a){if(a<0||a>=AC(b)){throw new xS();}}
+function yC(a){mC(dD,a.rb());}
+function AC(a){return oC(dD,a.rb());}
+function BC(b,a){xC(b,a);return pC(dD,b.rb(),a);}
+function CC(a){return af(a.rb(),'selectedIndex');}
+function DC(b,a){xC(b,a);return qC(dD,b.rb(),a);}
+function EC(c,b,a){FC(c,b,b,a);}
+function FC(c,b,d,a){jf(c.rb(),b,d,a);}
+function aD(b,a){xC(b,a);rC(dD,b.rb(),a);}
+function bD(b,a){wf(b.rb(),'selectedIndex',a);}
+function cD(a,b){wf(a.rb(),'size',b);}
+function eD(a){if(xe(a)==1024){if(this.b!==null){dq(this.b,this);}}else{ou(this,a);}}
+function kC(){}
+_=kC.prototype=new ku();_.tc=eD;_.tN=sfc+'ListBox';_.tI=94;_.b=null;var dD;function mC(b,a){a.options.length=0;}
+function oC(b,a){return a.options.length;}
+function pC(c,b,a){return b.options[a].text;}
+function qC(c,b,a){return b.options[a].value;}
+function rC(c,b,a){b.options[a]=null;}
+function lC(){}
+_=lC.prototype=new xT();_.tN=sfc+'ListBox$Impl';_.tI=95;function gD(a){FX(a);return a;}
+function iD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.ed(c,e,f);}}
+function jD(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.fd(c);}}
+function kD(e,c,a){var b,d,f,g,h;d=c.rb();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:iD(e,c,g,h);break;case 8:nD(e,c,g,h);break;case 64:mD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){jD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){lD(e,c);}break;}}
+function lD(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.gd(c);}}
+function mD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.hd(c,e,f);}}
+function nD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.id(c,e,f);}}
+function fD(){}
+_=fD.prototype=new DX();_.tN=sfc+'MouseListenerCollection';_.tI=96;function pD(){}
+_=pD.prototype=new xT();_.tN=sfc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=97;_.a=null;_.b=null;function tD(b,a){xD(a,b.Bd());yD(a,b.Bd());}
+function uD(a){return a.a;}
+function vD(a){return a.b;}
+function wD(b,a){b.cf(uD(a));b.cf(vD(a));}
+function xD(a,b){a.a=b;}
+function yD(a,b){a.b=b;}
+function wK(){wK=v2;nu();DK=new mR();}
+function sK(b,a){wK();lu(b,a);BN(b,1024);return b;}
+function tK(b,a){if(b.f===null){b.f=bq(new aq());}bY(b.f,a);}
+function uK(b,a){if(b.i===null){b.i=yB(new xB());}bY(b.i,a);}
+function vK(a){if(a.h!==null){ye(a.h);}}
+function xK(a){return bf(a.rb(),'value');}
+function yK(b,a){AK(b,a,0);}
+function zK(b,a){xf(b.rb(),'name',a);}
+function AK(c,b,a){if(a<0){throw yS(new xS(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>uU(xK(c))){throw yS(new xS(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+uU(xK(c)));}qR(DK,c.rb(),b,a);}
+function BK(b,a){xf(b.rb(),'value',a!==null?a:'');}
+function CK(a){if(this.g===null){this.g=wq(new vq());}bY(this.g,a);}
+function EK(a){var b;ou(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;DB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){yq(this.g,this);}}else if(b==1024){if(this.f!==null){dq(this.f,this);}}}
+function rK(){}
+_=rK.prototype=new ku();_.x=CK;_.tc=EK;_.tN=sfc+'TextBoxBase';_.tI=98;_.f=null;_.g=null;_.h=null;_.i=null;var DK;function eE(){eE=v2;wK();}
+function dE(a){eE();sK(a,Dd());AN(a,'gwt-PasswordTextBox');return a;}
+function cE(){}
+_=cE.prototype=new rK();_.tN=sfc+'PasswordTextBox';_.tI=99;function pF(b,a){qF(b,a,null);return b;}
+function qF(c,a,b){c.a=a;sF(c);return c;}
+function rF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=EF(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=EF(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=BF(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
+function sF(a){a.b=0;a.c={};a.d={};}
+function uF(b,a){return fY(vF(b,a,1),a);}
+function vF(c,b,a){var d;d=FX(new DX());if(b!==null&&a>0){xF(c,b,'',d,a);}return d;}
+function wF(a){return eF(new dF(),a);}
+function xF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=EF(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+bG(a);h.ze(f,l,c,b);}}else{for(j in k){var l=d+bG(j);if(l.indexOf(f)==0){c.C(l);}if(c.ye()>=b){return;}}for(var a in i){var l=d+bG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.ye()||h.b==1){h.lb(c,l);}else{for(var j in h.d){c.C(l+bG(j));}for(var g in h.c){c.C(l+bG(g)+'...');}}}}}}
+function yF(a){if(ac(a,1)){return rF(this,Fb(a,1));}else{throw vV(new uV(),'Cannot add non-Strings to PrefixTree');}}
+function zF(a){return rF(this,a);}
+function AF(a){if(ac(a,1)){return uF(this,Fb(a,1));}else{return false;}}
+function BF(a){return pF(new cF(),a);}
+function CF(b,c){var a;for(a=wF(this);hF(a);){b.C(c+Fb(kF(a),1));}}
+function DF(){return wF(this);}
+function EF(a){return Eb(58)+a;}
+function FF(){return this.b;}
+function aG(d,c,b,a){xF(this,d,c,b,a);}
+function bG(a){return zU(a,1);}
+function cF(){}
+_=cF.prototype=new xV();_.C=yF;_.D=zF;_.db=AF;_.lb=CF;_.nc=DF;_.ye=FF;_.ze=aG;_.tN=sfc+'PrefixTree';_.tI=100;_.a=0;_.b=0;_.c=null;_.d=null;function eF(a,b){iF(a);fF(a,b,'');return a;}
+function fF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
+function hF(a){return jF(a,true)!==null;}
+function iF(a){a.a=[];}
+function kF(a){var b;b=jF(a,false);if(b===null){if(!hF(a)){throw e2(new d2(),'No more elements in the iterator');}else{throw DT(new CT(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
+function jF(g,b){var d=g.a;var c=EF;var i=bG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
+function lF(b,a){fF(this,b,a);}
+function mF(){return hF(this);}
+function nF(){return kF(this);}
+function oF(){throw vV(new uV(),'PrefixTree does not support removal.  Use clear()');}
+function dF(){}
+_=dF.prototype=new xT();_.A=lF;_.hc=mF;_.pc=nF;_.Fd=oF;_.tN=sfc+'PrefixTree$PrefixTreeIterator';_.tI=101;_.a=null;function fG(){fG=v2;jq();}
+function dG(b,a){fG();hq(b,Ed(a));AN(b,'gwt-RadioButton');return b;}
+function eG(c,b,a){fG();dG(c,b);nq(c,a);return c;}
+function cG(){}
+_=cG.prototype=new fq();_.tN=sfc+'RadioButton';_.tI=102;function mG(){mG=v2;rG=C0(new a0());}
+function lG(b,a){mG();ip(b);if(a===null){a=nG();}b.je(a);b.rc();return b;}
+function oG(){mG();return pG(null);}
+function pG(c){mG();var a,b;b=Fb(c1(rG,c),48);if(b!==null){return b;}a=null;if(rG.c==0){qG();}d1(rG,c,b=lG(new gG(),a));return b;}
+function nG(){mG();return $doc.body;}
+function qG(){mG();yh(new hG());}
+function gG(){}
+_=gG.prototype=new hp();_.tN=sfc+'RootPanel';_.tI=103;var rG;function jG(){var a,b;for(b=cX(rX((mG(),rG)));jX(b);){a=Fb(kX(b),48);if(a.lc()){a.yc();}}}
+function kG(){return null;}
+function hG(){}
+_=hG.prototype=new xT();_.rd=jG;_.sd=kG;_.tN=sfc+'RootPanel$1';_.tI=104;function tG(a){aH(a);wG(a,false);BN(a,16384);return a;}
+function uG(b,a){tG(b);b.we(a);return b;}
+function wG(b,a){Df(b.rb(),'overflow',a?'scroll':'auto');}
+function xG(a){xe(a)==16384;}
+function sG(){}
+_=sG.prototype=new yG();_.tc=xG;_.tN=sfc+'ScrollPanel';_.tI=105;function AG(a){a.a=a.c.r!==null;}
+function BG(b,a){b.c=a;AG(b);return b;}
+function DG(){return this.a;}
+function EG(){if(!this.a||this.c.r===null){throw new d2();}this.a=false;return this.b=this.c.r;}
+function FG(){if(this.b!==null){this.c.be(this.b);}}
+function zG(){}
+_=zG.prototype=new xT();_.hc=DG;_.pc=EG;_.Fd=FG;_.tN=sfc+'SimplePanel$1';_.tI=106;_.b=null;function wH(b){var a;Cq(b);a=ge();b.je(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);AN(b,'gwt-StackPanel');return b;}
+function xH(a,b){BH(a,b,a.f.c);}
+function yH(c,d,b,a){xH(c,d);DH(c,c.f.c-1,b,a);}
+function AH(d,a){var b,c;while(a!==null&& !ud(a,d.rb())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return ES(b);}else{return (-1);}}a=ff(a);}return (-1);}
+function BH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=Eq(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);fO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');er(e,h,c,a,false);aI(e,a);if(e.b==(-1)){FH(e,0);}else{EH(e,a,false);if(e.b>=a){++e.b;}}}
+function CH(e,a,b){var c,d,f;c=gr(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}aI(e,d);}return c;}
+function DH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
+function EH(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);fO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);hO(d,e);dr(c,a).ue(e);}
+function FH(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){EH(b,b.b,false);}b.b=a;EH(b,b.b,true);}
+function aI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
+function bI(a){var b,c;if(xe(a)==1){c=ve(a);b=AH(this,c);if(b!=(-1)){FH(this,b);}}}
+function cI(a){return CH(this,dr(this,a),a);}
+function dI(a){return CH(this,a,cr(this,a));}
+function vH(){}
+_=vH.prototype=new Aq();_.tc=bI;_.ae=cI;_.be=dI;_.tN=sfc+'StackPanel';_.tI=107;_.a=null;_.b=(-1);function eI(){}
+_=eI.prototype=new xT();_.tN=sfc+'SuggestOracle$Request';_.tI=108;_.a=20;_.b=null;function gI(){}
+_=gI.prototype=new xT();_.tN=sfc+'SuggestOracle$Response';_.tI=109;_.a=null;function lI(b,a){pI(a,b.yd());qI(a,b.Bd());}
+function mI(a){return a.a;}
+function nI(a){return a.b;}
+function oI(b,a){b.Fe(mI(a));b.cf(nI(a));}
+function pI(a,b){a.a=b;}
+function qI(a,b){a.b=b;}
+function tI(b,a){wI(a,Fb(b.Ad(),49));}
+function uI(a){return a.a;}
+function vI(b,a){b.bf(uI(a));}
+function wI(a,b){a.a=b;}
+function yI(a){a.a=fA(new dA());}
+function zI(c){var a,b;yI(c);mr(c,c.a);BN(c,1);AN(c,'gwt-TabBar');lA(c.a,(Dz(),Ez));a=lz(new nw(),'&nbsp;',true);b=lz(new nw(),'&nbsp;',true);AN(a,'gwt-TabBarFirst');AN(b,'gwt-TabBarRest');a.ne('100%');b.ne('100%');gA(c.a,a);gA(c.a,b);a.ne('100%');c.a.he(a,'100%');c.a.ie(b,'100%');return c;}
+function AI(b,a){if(b.c===null){b.c=fJ(new eJ());}bY(b.c,a);}
+function BI(b,a){if(a<0||a>EI(b)){throw new xS();}}
+function CI(b,a){if(a<(-1)||a>=EI(b)){throw new xS();}}
+function EI(a){return a.a.f.c-2;}
+function FI(e,d,a,b){var c;BI(e,b);if(a){c=kz(new nw(),d);}else{c=cC(new aC(),d);}iC(c,false);dC(c,e);AN(c,'gwt-TabBarItem');jA(e.a,c,b+1);}
+function aJ(b,a){var c;CI(b,a);c=dr(b.a,a+1);if(c===b.b){b.b=null;}kA(b.a,c);}
+function bJ(b,a){CI(b,a);if(b.c!==null){if(!hJ(b.c,b,a)){return false;}}cJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=dr(b.a,a+1);cJ(b,b.b,true);if(b.c!==null){iJ(b.c,b,a);}return true;}
+function cJ(c,a,b){if(a!==null){if(b){pN(a,'gwt-TabBarItem-selected');}else{vN(a,'gwt-TabBarItem-selected');}}}
+function dJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(dr(this.a,a)===b){bJ(this,a-1);return;}}}
+function xI(){}
+_=xI.prototype=new kr();_.wc=dJ;_.tN=sfc+'TabBar';_.tI=110;_.b=null;_.c=null;function fJ(a){FX(a);return a;}
+function hJ(e,c,d){var a,b;for(a=e.nc();a.hc();){b=Fb(a.pc(),50);if(!b.sc(c,d)){return false;}}return true;}
+function iJ(e,c,d){var a,b;for(a=e.nc();a.hc();){b=Fb(a.pc(),50);b.nd(c,d);}}
+function eJ(){}
+_=eJ.prototype=new DX();_.tN=sfc+'TabListenerCollection';_.tI=111;function xJ(a){a.b=tJ(new sJ());a.a=mJ(new lJ(),a.b);}
+function yJ(b){var a;xJ(b);a=nO(new lO());oO(a,b.b);oO(a,b.a);a.he(b.a,'100%');b.b.xe('100%');AI(b.b,b);mr(b,a);AN(b,'gwt-TabPanel');AN(b.a,'gwt-TabPanelBottom');return b;}
+function zJ(c,d,b,a){DJ(c,d,b,a,c.a.f.c);}
+function CJ(b,a){return dr(b.a,a);}
+function BJ(a,b){return cr(a.a,b);}
+function DJ(d,e,c,a,b){oJ(d.a,e,c,a,b);}
+function EJ(b,a){return b.a.ae(a);}
+function FJ(b,a){bJ(b.b,a);}
+function aK(){return fr(this.a);}
+function bK(a,b){return true;}
+function cK(a,b){yr(this.a,b);}
+function dK(a){return pJ(this.a,a);}
+function kJ(){}
+_=kJ.prototype=new kr();_.nc=aK;_.sc=bK;_.nd=cK;_.be=dK;_.tN=sfc+'TabPanel';_.tI=112;function mJ(b,a){sr(b);b.a=a;return b;}
+function oJ(e,f,d,a,b){var c;c=cr(e,f);if(c!=(-1)){pJ(e,f);if(c<b){b--;}}vJ(e.a,d,a,b);vr(e,f,b);}
+function pJ(b,c){var a;a=cr(b,c);if(a!=(-1)){wJ(b.a,a);return wr(b,c);}return false;}
+function qJ(){throw vV(new uV(),'Use TabPanel.clear() to alter the DeckPanel');}
+function rJ(a){return pJ(this,a);}
+function lJ(){}
+_=lJ.prototype=new rr();_.F=qJ;_.be=rJ;_.tN=sfc+'TabPanel$TabbedDeckPanel';_.tI=113;_.a=null;function tJ(a){zI(a);return a;}
+function vJ(d,c,a,b){FI(d,c,a,b);}
+function wJ(b,a){aJ(b,a);}
+function sJ(){}
+_=sJ.prototype=new xI();_.tN=sfc+'TabPanel$UnmodifiableTabBar';_.tI=114;function fK(a){FX(a);return a;}
+function hK(f,e,d,a){var b,c;for(b=f.nc();b.hc();){c=Fb(b.pc(),51);c.uc(e,d,a);}}
+function eK(){}
+_=eK.prototype=new DX();_.tN=sfc+'TableListenerCollection';_.tI=115;function lK(){lK=v2;wK();}
+function kK(a){lK();sK(a,he());AN(a,'gwt-TextArea');return a;}
+function mK(a){return pR(DK,a.rb());}
+function nK(a){return af(a.rb(),'rows');}
+function oK(a,b){wf(a.rb(),'cols',b);}
+function pK(b,a){wf(b.rb(),'rows',a);}
+function jK(){}
+_=jK.prototype=new rK();_.tN=sfc+'TextArea';_.tI=116;function aL(){aL=v2;wK();}
+function FK(a){aL();sK(a,Fd());AN(a,'gwt-TextBox');return a;}
+function bL(b,a){wf(b.rb(),'size',a);}
+function qK(){}
+_=qK.prototype=new rK();_.tN=sfc+'TextBox';_.tI=117;function oM(a){a.a=C0(new a0());}
+function pM(a){qM(a,mL(new lL()));return a;}
+function qM(b,a){oM(b);b.d=a;b.je(xd());Df(b.rb(),'position','relative');b.c=sQ((iu(),ju));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.rb(),b.c);BN(b,1021);Ef(b.c,6144);b.g=eL(new dL(),b);bM(b.g,b);AN(b,'gwt-Tree');return b;}
+function sM(c,a){var b;b=vL(new sL(),a);rM(c,b);return b;}
+function rM(b,a){fL(b.g,a);}
+function tM(b,a){if(b.f===null){b.f=jM(new iM());}bY(b.f,a);}
+function uM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){BL(yL(c.g,a));}}
+function wM(d,a,c,b){if(b===null||ud(b,c)){return;}wM(d,a,c,ff(b));bY(a,hc(b,hg));}
+function xM(e,d,b){var a,c;a=FX(new DX());wM(e,a,e.rb(),b);c=zM(e,a,0,d);if(c!==null){if(kf(AL(c),b)){aM(c,!c.f,true);return true;}else if(kf(c.rb(),b)){aN(e,c,true,!hN(e,b));return true;}}return false;}
+function yM(b,a){if(!a.f){return a;}return yM(b,yL(a,a.c.b-1));}
+function zM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(gY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=yL(h,d);if(ud(b.rb(),c)){g=zM(i,a,e+1,yL(h,d));if(g===null){return b;}return g;}}return zM(i,a,e+1,h);}
+function AM(b,a){if(b.f!==null){mM(b.f,a);}}
+function BM(b,a){return yL(b.g,a);}
+function CM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[612],[13],[a.a.c],null);qX(a.a).Be(b);return uP(a,b);}
+function DM(h,g){var a,b,c,d,e,f,i,j;c=zL(g);{f=g.d;a=rN(h);b=sN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);tQ((iu(),ju),h.c);}}
+function EM(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=xL(c,d);if(!a|| !d.f){if(b<c.c.b-1){aN(e,yL(c,b+1),true,true);}else{EM(e,c,false);}}else if(d.c.b>0){aN(e,yL(d,0),true,true);}}
+function FM(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=xL(b,c);if(a>0){d=yL(b,a-1);aN(e,yM(e,d),true,true);}else{aN(e,b,true,true);}}
+function aN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){EL(d.b,false);}d.b=b;if(c&&d.b!==null){DM(d,d.b);EL(d.b,true);if(a&&d.f!==null){lM(d.f,d.b);}}}
+function dN(b,c){var a;a=Fb(c1(b.a,c),52);if(a===null){return false;}dM(a,null);return true;}
+function bN(b,a){hL(b.g,a);}
+function cN(a){while(a.g.c.b>0){bN(a,BM(a,0));}}
+function eN(b,a){if(a){tQ((iu(),ju),b.c);}else{qQ((iu(),ju),b.c);}}
+function fN(b,a){gN(b,a,true);}
+function gN(c,b,a){if(b===null){if(c.b===null){return;}EL(c.b,false);c.b=null;return;}aN(c,b,a,true);}
+function hN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
+function iN(){var a,b;for(b=CM(this);nP(b);){a=oP(b);a.rc();}yf(this.c,this);}
+function jN(){var a,b;for(b=CM(this);nP(b);){a=oP(b);a.yc();}yf(this.c,null);}
+function kN(){return CM(this);}
+function lN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(hN(this,b)){}else{eN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.rb(),hg))){xM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){aN(this,yL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{FM(this,this.b);ye(c);break;}case 40:{EM(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){FL(this.b,false);}else{f=this.b.g;if(f!==null){fN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){FL(this.b,true);}else if(this.b.c.b>0){fN(this,yL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=FX(new DX());wM(this,a,this.rb(),ve(c));e=zM(this,a,0,this.g);if(e!==this.b){gN(this,e,true);}}}case 256:{break;}}this.e=d;}
+function mN(){eM(this.g);}
+function nN(a){return dN(this,a);}
+function cL(){}
+_=cL.prototype=new uO();_.ib=iN;_.kb=jN;_.nc=kN;_.tc=lN;_.cd=mN;_.be=nN;_.tN=sfc+'Tree';_.tI=118;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function tL(a){a.c=FX(new DX());a.i=jB(new uA());}
+function uL(d){var a,b,c,e;tL(d);d.je(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.rb(),d.e);td(d.rb(),d.b);td(c,d.i.rb());td(b,d.d);Df(d.d,'display','inline');Df(d.rb(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');fO(d.d,'gwt-TreeItem',true);return d;}
+function vL(b,a){uL(b);CL(b,a);return b;}
+function yL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(gY(b.c,a),52);}
+function xL(b,a){return hY(b.c,a);}
+function zL(a){var b;b=a.l;{return null;}}
+function AL(a){return a.i.rb();}
+function BL(a){if(a.g!==null){a.g.Dd(a);}else if(a.j!==null){bN(a.j,a);}}
+function CL(b,a){dM(b,null);Af(b.d,a);}
+function DL(b,a){b.g=a;}
+function EL(b,a){if(b.h==a){return;}b.h=a;fO(b.d,'gwt-TreeItem-selected',a);}
+function FL(b,a){aM(b,a,true);}
+function aM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;fM(c);if(a&&c.j!==null){AM(c.j,c);}}
+function bM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){fN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){bM(Fb(gY(d.c,a),52),c);}fM(d);}
+function cM(a,b){a.k=b;}
+function dM(b,a){Af(b.d,'');b.l=a;}
+function fM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){hO(b.b,false);mQ((nL(),qL),b.i);return;}if(b.f){hO(b.b,true);mQ((nL(),rL),b.i);}else{hO(b.b,false);mQ((nL(),pL),b.i);}}
+function eM(c){var a,b;fM(c);for(a=0,b=c.c.b;a<b;++a){eM(Fb(gY(c.c,a),52));}}
+function gM(a){if(a.g!==null||a.j!==null){BL(a);}DL(a,this);bY(this.c,a);Df(a.rb(),'marginLeft','16px');td(this.b,a.rb());bM(a,this.j);if(this.c.b==1){fM(this);}}
+function hM(a){if(!fY(this.c,a)){return;}bM(a,null);nf(this.b,a.rb());DL(a,null);lY(this.c,a);if(this.c.b==0){fM(this);}}
+function sL(){}
+_=sL.prototype=new oN();_.y=gM;_.Dd=hM;_.tN=sfc+'TreeItem';_.tI=119;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function eL(b,a){b.a=a;uL(b);return b;}
+function fL(b,a){if(a.g!==null||a.j!==null){BL(a);}td(b.a.rb(),a.rb());bM(a,b.j);DL(a,null);bY(b.c,a);Cf(a.rb(),'marginLeft',0);}
+function hL(b,a){if(!fY(b.c,a)){return;}bM(a,null);DL(a,null);lY(b.c,a);nf(b.a.rb(),a.rb());}
+function iL(a){fL(this,a);}
+function jL(a){hL(this,a);}
+function dL(){}
+_=dL.prototype=new sL();_.y=iL;_.Dd=jL;_.tN=sfc+'Tree$1';_.tI=120;function nL(){nL=v2;oL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';pL=lQ(new kQ(),oL,0,0,16,16);qL=lQ(new kQ(),oL,16,0,16,16);rL=lQ(new kQ(),oL,32,0,16,16);}
+function mL(a){nL();return a;}
+function lL(){}
+_=lL.prototype=new xT();_.tN=sfc+'TreeImages_generatedBundle';_.tI=121;var oL,pL,qL,rL;function jM(a){FX(a);return a;}
+function lM(d,b){var a,c;for(a=d.nc();a.hc();){c=Fb(a.pc(),53);c.od(b);}}
+function mM(d,b){var a,c;for(a=d.nc();a.hc();){c=Fb(a.pc(),53);c.pd(b);}}
+function iM(){}
+_=iM.prototype=new DX();_.tN=sfc+'TreeListenerCollection';_.tI=122;function mO(a){a.a=(uz(),wz);a.b=(Dz(),aA);}
+function nO(a){Ap(a);mO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function oO(b,d){var a,c;c=fe();a=qO(b);td(c,a);td(b.d,c);Dq(b,d,a);}
+function qO(b){var a;a=ee();Cp(b,a,b.a);Dp(b,a,b.b);return a;}
+function rO(b,a){b.a=a;}
+function sO(b,a){b.b=a;}
+function tO(c){var a,b;b=ff(c.rb());a=gr(this,c);if(a){nf(this.d,ff(b));}return a;}
+function lO(){}
+_=lO.prototype=new zp();_.be=tO;_.tN=sfc+'VerticalPanel';_.tI=123;function EO(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[612],[13],[4],null);return b;}
+function FO(a,b){dP(a,b,a.c);}
+function bP(b,a){if(a<0||a>=b.c){throw new xS();}return b.a[a];}
+function cP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
+function dP(d,e,a){var b,c;if(a<0||a>d.c){throw new xS();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[612],[13],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
+function eP(a){return xO(new wO(),a);}
+function fP(c,b){var a;if(b<0||b>=c.c){throw new xS();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
+function gP(b,c){var a;a=cP(b,c);if(a==(-1)){throw new d2();}fP(b,a);}
+function vO(){}
+_=vO.prototype=new xT();_.tN=sfc+'WidgetCollection';_.tI=124;_.a=null;_.b=null;_.c=0;function xO(b,a){b.b=a;return b;}
+function zO(a){return a.a<a.b.c-1;}
+function AO(a){if(a.a>=a.b.c){throw new d2();}return a.b.a[++a.a];}
+function BO(){return zO(this);}
+function CO(){return AO(this);}
+function DO(){if(this.a<0||this.a>=this.b.c){throw new uS();}this.b.b.be(this.b.a[this.a--]);}
+function wO(){}
+_=wO.prototype=new xT();_.hc=BO;_.pc=CO;_.Fd=DO;_.tN=sfc+'WidgetCollection$WidgetIterator';_.tI=125;_.a=(-1);function tP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[612],[13],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
+function uP(b,a){return kP(new iP(),a,b);}
+function jP(a){a.e=a.c;{mP(a);}}
+function kP(a,b,c){a.c=b;a.d=c;jP(a);return a;}
+function mP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
+function nP(a){return a.a<a.c.a;}
+function oP(a){var b;if(!nP(a)){throw new d2();}a.b=a.a;b=a.c[a.a];mP(a);return b;}
+function pP(){return nP(this);}
+function qP(){return oP(this);}
+function rP(){if(this.b<0){throw new uS();}if(!this.f){this.e=tP(this.e);this.f=true;}dN(this.d,this.c[this.b]);this.b=(-1);}
+function iP(){}
+_=iP.prototype=new xT();_.hc=pP;_.pc=qP;_.Fd=rP;_.tN=sfc+'WidgetIterators$1';_.tI=126;_.a=(-1);_.b=(-1);_.f=false;function gQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
+function iQ(c,f,b,e,g,a){var d;d=ce();Af(d,jQ(c,f,b,e,g,a));return df(d);}
+function jQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
+function fQ(){}
+_=fQ.prototype=new xT();_.tN=tfc+'ClippedImageImpl';_.tI=127;function lQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
+function mQ(b,a){oB(a,b.d,b.b,b.c,b.e,b.a);}
+function kQ(){}
+_=kQ.prototype=new op();_.tN=tfc+'ClippedImagePrototype';_.tI=128;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function rQ(){rQ=v2;vQ=pQ(new oQ());wQ=vQ;}
+function pQ(a){rQ();return a;}
+function qQ(b,a){a.blur();}
+function sQ(b){var a=$doc.createElement('DIV');a.tabIndex=0;return a;}
+function tQ(b,a){a.focus();}
+function uQ(c,a,b){a.tabIndex=b;}
+function oQ(){}
+_=oQ.prototype=new xT();_.tN=tfc+'FocusImpl';_.tI=129;var vQ,wQ;function AQ(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
+function BQ(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.Dc();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Cc();};}
+function CQ(c,b,a){b.enctype=a;b.encoding=a;}
+function DQ(c,a,b){if(b)b.__formAction=a.action;a.submit();}
+function EQ(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
+function xQ(){}
+_=xQ.prototype=new xT();_.tN=tfc+'FormPanelImpl';_.tI=130;function FQ(){}
+_=FQ.prototype=new xT();_.tN=tfc+'PopupImpl';_.tI=131;function gR(){gR=v2;jR=kR();}
+function fR(a){gR();return a;}
+function hR(b){var a;a=xd();if(jR){Af(a,'<div><\/div>');eg(cR(new bR(),b,a));}return a;}
+function iR(b,a){return jR?df(a):a;}
+function kR(){gR();if(navigator.userAgent.indexOf('Macintosh')!= -1){return true;}return false;}
+function aR(){}
+_=aR.prototype=new FQ();_.tN=tfc+'PopupImplMozilla';_.tI=132;var jR;function cR(b,a,c){b.a=c;return b;}
+function eR(){Df(this.a,'overflow','auto');}
+function bR(){}
+_=bR.prototype=new xT();_.nb=eR;_.tN=tfc+'PopupImplMozilla$1';_.tI=133;function oR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
+function pR(b,a){return oR(b,a);}
+function qR(d,a,c,b){a.setSelectionRange(c,c+b);}
+function mR(){}
+_=mR.prototype=new xT();_.tN=tfc+'TextBoxImpl';_.tI=134;function uR(){}
+_=uR.prototype=new xT();_.tN=ufc+'OutputStream';_.tI=135;function sR(){}
+_=sR.prototype=new uR();_.tN=ufc+'FilterOutputStream';_.tI=136;function wR(){}
+_=wR.prototype=new sR();_.tN=ufc+'PrintStream';_.tI=137;function yR(){}
+_=yR.prototype=new CT();_.tN=vfc+'ArrayStoreException';_.tI=138;function CR(){CR=v2;DR=BR(new AR(),false);ER=BR(new AR(),true);}
+function BR(a,b){CR();a.a=b;return a;}
+function FR(a){return ac(a,55)&&Fb(a,55).a==this.a;}
+function aS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
+function bS(){return this.a?'true':'false';}
+function cS(a){CR();return a?ER:DR;}
+function AR(){}
+_=AR.prototype=new xT();_.eQ=FR;_.hC=aS;_.tS=bS;_.tN=vfc+'Boolean';_.tI=139;_.a=false;var DR,ER;function gS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+hT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
+function hS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
+function jS(b,a){DT(b,a);return b;}
+function iS(){}
+_=iS.prototype=new CT();_.tN=vfc+'ClassCastException';_.tI=140;function sS(b,a){DT(b,a);return b;}
+function rS(){}
+_=rS.prototype=new CT();_.tN=vfc+'IllegalArgumentException';_.tI=141;function vS(b,a){DT(b,a);return b;}
+function uS(){}
+_=uS.prototype=new CT();_.tN=vfc+'IllegalStateException';_.tI=142;function yS(b,a){DT(b,a);return b;}
+function xS(){}
+_=xS.prototype=new CT();_.tN=vfc+'IndexOutOfBoundsException';_.tI=143;function rT(){rT=v2;{wT();}}
+function sT(a){rT();return isNaN(a);}
+function tT(e,d,c,h){rT();var a,b,f,g;if(e===null){throw pT(new oT(),'Unable to parse null');}b=uU(e);f=b>0&&lU(e,0)==45?1:0;for(a=f;a<b;a++){if(gS(lU(e,a),d)==(-1)){throw pT(new oT(),'Could not parse '+e+' in radix '+d);}}g=uT(e,d);if(sT(g)){throw pT(new oT(),'Unable to parse '+e);}else if(g<c||g>h){throw pT(new oT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
+function uT(b,a){rT();return parseInt(b,a);}
+function wT(){rT();vT=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
+var vT=null;function BS(){BS=v2;rT();}
+function ES(a){BS();return FS(a,10);}
+function FS(b,a){BS();return cc(tT(b,a,(-2147483648),2147483647));}
+function aT(a){BS();return gV(a);}
+var CS=2147483647,DS=(-2147483648);function cT(){cT=v2;rT();}
+function dT(a){cT();return hV(a);}
+function gT(a){return a<0?-a:a;}
+function hT(a,b){return a<b?a:b;}
+function iT(){}
+_=iT.prototype=new CT();_.tN=vfc+'NegativeArraySizeException';_.tI=144;function lT(b,a){DT(b,a);return b;}
+function kT(){}
+_=kT.prototype=new CT();_.tN=vfc+'NullPointerException';_.tI=145;function pT(b,a){sS(b,a);return b;}
+function oT(){}
+_=oT.prototype=new rS();_.tN=vfc+'NumberFormatException';_.tI=146;function lU(b,a){return b.charCodeAt(a);}
+function nU(f,c){var a,b,d,e,g,h;h=uU(f);e=uU(c);b=hT(h,e);for(a=0;a<b;a++){g=lU(f,a);d=lU(c,a);if(g!=d){return g-d;}}return h-e;}
+function oU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
+function qU(b,a){if(!ac(a,1))return false;return FU(b,a);}
+function pU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
+function rU(b,a){return b.indexOf(String.fromCharCode(a));}
+function sU(b,a){return b.indexOf(a);}
+function tU(c,b,a){return c.indexOf(b,a);}
+function uU(a){return a.length;}
+function vU(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
+function wU(b,a){return xU(b,a,0);}
+function xU(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=EU(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
+function yU(b,a){return sU(b,a)==0;}
+function zU(b,a){return b.substr(a,b.length-a);}
+function AU(c,a,b){return c.substr(a,b-a);}
+function BU(d){var a,b,c;c=uU(d);a=yb('[C',[608],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=lU(d,b);return a;}
+function CU(a){return a.toLowerCase();}
+function DU(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
+function EU(a){return yb('[Ljava.lang.String;',[607],[1],[a],null);}
+function FU(a,b){return String(a)==b;}
+function aV(a){if(ac(a,1)){return nU(this,Fb(a,1));}else{throw jS(new iS(),'Cannot compare '+a+" with String '"+this+"'");}}
+function bV(a){return qU(this,a);}
+function dV(){var a=cV;if(!a){a=cV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
+function eV(){return this;}
+function fV(a){return String.fromCharCode(a);}
+function gV(a){return ''+a;}
+function hV(a){return ''+a;}
+function iV(a){return a!==null?a.tS():'null';}
+_=String.prototype;_.ab=aV;_.eQ=bV;_.hC=dV;_.tS=eV;_.tN=vfc+'String';_.tI=2;var cV=null;function cU(a){fU(a);return a;}
+function dU(a,b){return eU(a,fV(b));}
+function eU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
+function fU(a){gU(a,'');}
+function gU(b,a){b.js=[a];b.length=a.length;}
+function iU(a){a.qc();return a.js[0];}
+function jU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
+function kU(){return iU(this);}
+function bU(){}
+_=bU.prototype=new xT();_.qc=jU;_.tS=kU;_.tN=vfc+'StringBuffer';_.tI=147;function kV(){kV=v2;nV=new wR();}
+function lV(){kV();return new Date().getTime();}
+function mV(a){kV();return B(a);}
+var nV;function vV(b,a){DT(b,a);return b;}
+function uV(){}
+_=uV.prototype=new CT();_.tN=vfc+'UnsupportedOperationException';_.tI=148;function bW(b,a){b.c=a;return b;}
+function dW(a){return a.a<a.c.ye();}
+function eW(){return dW(this);}
+function fW(){if(!dW(this)){throw new d2();}return this.c.ec(this.b=this.a++);}
+function gW(){if(this.b<0){throw new uS();}this.c.ae(this.b);this.a=this.b;this.b=(-1);}
+function aW(){}
+_=aW.prototype=new xT();_.hc=eW;_.pc=fW;_.Fd=gW;_.tN=wfc+'AbstractList$IteratorImpl';_.tI=149;_.a=0;_.b=(-1);function pX(f,d,e){var a,b,c;for(b=x0(f.mb());p0(b);){a=q0(b);c=a.vb();if(d===null?c===null:d.eQ(c)){if(e){r0(b);}return a;}}return null;}
+function qX(b){var a;a=b.mb();return rW(new qW(),b,a);}
+function rX(b){var a;a=b1(b);return aX(new FW(),b,a);}
+function sX(a){return pX(this,a,false)!==null;}
+function tX(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=qX(this);e=f.oc();if(!AX(c,e)){return false;}for(a=tW(c);AW(a);){b=BW(a);h=this.fc(b);g=f.fc(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
+function uX(b){var a;a=pX(this,b,false);return a===null?null:a.bc();}
+function vX(){var a,b,c;b=0;for(c=x0(this.mb());p0(c);){a=q0(c);b+=a.hC();}return b;}
+function wX(){return qX(this);}
+function xX(){var a,b,c,d;d='{';a=false;for(c=x0(this.mb());p0(c);){b=q0(c);if(a){d+=', ';}else{a=true;}d+=iV(b.vb());d+='=';d+=iV(b.bc());}return d+'}';}
+function pW(){}
+_=pW.prototype=new xT();_.cb=sX;_.eQ=tX;_.fc=uX;_.hC=vX;_.oc=wX;_.tS=xX;_.tN=wfc+'AbstractMap';_.tI=150;function AX(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.ye()!=e.ye()){return false;}for(a=c.nc();a.hc();){d=a.pc();if(!e.db(d)){return false;}}return true;}
+function BX(a){return AX(this,a);}
+function CX(){var a,b,c;a=0;for(b=this.nc();b.hc();){c=b.pc();if(c!==null){a+=c.hC();}}return a;}
+function yX(){}
+_=yX.prototype=new xV();_.eQ=BX;_.hC=CX;_.tN=wfc+'AbstractSet';_.tI=151;function rW(b,a,c){b.a=a;b.b=c;return b;}
+function tW(b){var a;a=x0(b.b);return yW(new xW(),b,a);}
+function uW(a){return this.a.cb(a);}
+function vW(){return tW(this);}
+function wW(){return this.b.a.c;}
+function qW(){}
+_=qW.prototype=new yX();_.db=uW;_.nc=vW;_.ye=wW;_.tN=wfc+'AbstractMap$1';_.tI=152;function yW(b,a,c){b.a=c;return b;}
+function AW(a){return p0(a.a);}
+function BW(b){var a;a=q0(b.a);return a.vb();}
+function CW(){return AW(this);}
+function DW(){return BW(this);}
+function EW(){r0(this.a);}
+function xW(){}
+_=xW.prototype=new xT();_.hc=CW;_.pc=DW;_.Fd=EW;_.tN=wfc+'AbstractMap$2';_.tI=153;function aX(b,a,c){b.a=a;b.b=c;return b;}
+function cX(b){var a;a=x0(b.b);return hX(new gX(),b,a);}
+function dX(a){return a1(this.a,a);}
+function eX(){return cX(this);}
+function fX(){return this.b.a.c;}
+function FW(){}
+_=FW.prototype=new xV();_.db=dX;_.nc=eX;_.ye=fX;_.tN=wfc+'AbstractMap$3';_.tI=154;function hX(b,a,c){b.a=c;return b;}
+function jX(a){return p0(a.a);}
+function kX(a){var b;b=q0(a.a).bc();return b;}
+function lX(){return jX(this);}
+function mX(){return kX(this);}
+function nX(){r0(this.a);}
+function gX(){}
+_=gX.prototype=new xT();_.hc=lX;_.pc=mX;_.Fd=nX;_.tN=wfc+'AbstractMap$4';_.tI=155;function BY(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.bb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
+function CY(a){BY(a,a.a,(iZ(),jZ));}
+function FY(){FY=v2;w1(new v1());aZ=C0(new a0());FX(new DX());}
+function bZ(c,d){FY();var a,b;b=c.b;for(a=0;a<b;a++){mY(c,a,d[a]);}}
+function cZ(a){FY();var b;b=a.Ae();CY(b);bZ(a,b);}
+var aZ;function iZ(){iZ=v2;jZ=new fZ();}
+var jZ;function hZ(a,b){return Fb(a,34).ab(b);}
+function fZ(){}
+_=fZ.prototype=new xT();_.bb=hZ;_.tN=wfc+'Comparators$1';_.tI=156;function nZ(){nZ=v2;uZ=zb('[Ljava.lang.String;',607,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);vZ=zb('[Ljava.lang.String;',607,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
+function lZ(a){nZ();qZ(a);return a;}
+function mZ(b,a){nZ();rZ(b,a);return b;}
+function oZ(c,a){var b,d;d=pZ(c);b=pZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
+function pZ(a){return a.jsdate.getTime();}
+function qZ(a){a.jsdate=new Date();}
+function rZ(b,a){b.jsdate=new Date(a);}
+function sZ(a){return a.jsdate.toLocaleString();}
+function tZ(h){var a=h.jsdate;var g=BZ;var b=xZ(h.jsdate.getDay());var e=AZ(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
+function wZ(a){return oZ(this,Fb(a,59));}
+function xZ(a){nZ();return uZ[a];}
+function yZ(a){return ac(a,59)&&pZ(this)==pZ(Fb(a,59));}
+function zZ(){return cc(pZ(this)^pZ(this)>>>32);}
+function AZ(a){nZ();return vZ[a];}
+function BZ(a){nZ();if(a<10){return '0'+a;}else{return gV(a);}}
+function CZ(){return tZ(this);}
+function kZ(){}
+_=kZ.prototype=new xT();_.ab=wZ;_.eQ=yZ;_.hC=zZ;_.tS=CZ;_.tN=wfc+'Date';_.tI=157;var uZ,vZ;function E0(){E0=v2;f1=l1();}
+function B0(a){{D0(a);}}
+function C0(a){E0();B0(a);return a;}
+function D0(a){a.a=gb();a.d=ib();a.b=hc(f1,cb);a.c=0;}
+function F0(b,a){if(ac(a,1)){return p1(b.d,Fb(a,1))!==f1;}else if(a===null){return b.b!==f1;}else{return o1(b.a,a,a.hC())!==f1;}}
+function a1(a,b){if(a.b!==f1&&n1(a.b,b)){return true;}else if(k1(a.d,b)){return true;}else if(i1(a.a,b)){return true;}return false;}
+function b1(a){return v0(new l0(),a);}
+function c1(c,a){var b;if(ac(a,1)){b=p1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=o1(c.a,a,a.hC());}return b===f1?null:b;}
+function d1(c,a,d){var b;if(ac(a,1)){b=s1(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=r1(c.a,a,d,a.hC());}if(b===f1){++c.c;return null;}else{return b;}}
+function e1(c,a){var b;if(ac(a,1)){b=u1(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(f1,cb);}else{b=t1(c.a,a,a.hC());}if(b===f1){return null;}else{--c.c;return b;}}
+function g1(e,c){E0();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
+function h1(d,a){E0();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=e0(c.substring(1),e);a.C(b);}}}
+function i1(f,h){E0();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.bc();if(n1(h,d)){return true;}}}}return false;}
+function j1(a){return F0(this,a);}
+function k1(c,d){E0();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(n1(d,a)){return true;}}}return false;}
+function l1(){E0();}
+function m1(){return b1(this);}
+function n1(a,b){E0();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
+function q1(a){return c1(this,a);}
+function o1(f,h,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){return c.bc();}}}}
+function p1(b,a){E0();return b[':'+a];}
+function r1(f,h,j,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){var i=c.bc();c.se(j);return i;}}}else{a=f[e]=[];}var c=e0(h,j);a.push(c);}
+function s1(c,a,d){E0();a=':'+a;var b=c[a];c[a]=d;return b;}
+function t1(f,h,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.bc();}}}}
+function u1(c,a){E0();a=':'+a;var b=c[a];delete c[a];return b;}
+function a0(){}
+_=a0.prototype=new pW();_.cb=j1;_.mb=m1;_.fc=q1;_.tN=wfc+'HashMap';_.tI=158;_.a=null;_.b=null;_.c=0;_.d=null;var f1;function c0(b,a,c){b.a=a;b.b=c;return b;}
+function e0(a,b){return c0(new b0(),a,b);}
+function f0(b){var a;if(ac(b,60)){a=Fb(b,60);if(n1(this.a,a.vb())&&n1(this.b,a.bc())){return true;}}return false;}
+function g0(){return this.a;}
+function h0(){return this.b;}
+function i0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
+function j0(a){var b;b=this.b;this.b=a;return b;}
+function k0(){return this.a+'='+this.b;}
+function b0(){}
+_=b0.prototype=new xT();_.eQ=f0;_.vb=g0;_.bc=h0;_.hC=i0;_.se=j0;_.tS=k0;_.tN=wfc+'HashMap$EntryImpl';_.tI=159;_.a=null;_.b=null;function v0(b,a){b.a=a;return b;}
+function x0(a){return n0(new m0(),a.a);}
+function y0(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.vb();if(F0(this.a,b)){d=c1(this.a,b);return n1(a.bc(),d);}}return false;}
+function z0(){return x0(this);}
+function A0(){return this.a.c;}
+function l0(){}
+_=l0.prototype=new yX();_.db=y0;_.nc=z0;_.ye=A0;_.tN=wfc+'HashMap$EntrySet';_.tI=160;function n0(c,b){var a;c.c=b;a=FX(new DX());if(c.c.b!==(E0(),f1)){bY(a,c0(new b0(),null,c.c.b));}h1(c.c.d,a);g1(c.c.a,a);c.a=a.nc();return c;}
+function p0(a){return a.a.hc();}
+function q0(a){return a.b=Fb(a.a.pc(),60);}
+function r0(a){if(a.b===null){throw vS(new uS(),'Must call next() before remove().');}else{a.a.Fd();e1(a.c,a.b.vb());a.b=null;}}
+function s0(){return p0(this);}
+function t0(){return q0(this);}
+function u0(){r0(this);}
+function m0(){}
+_=m0.prototype=new xT();_.hc=s0;_.pc=t0;_.Fd=u0;_.tN=wfc+'HashMap$EntrySetIterator';_.tI=161;_.a=null;_.b=null;function w1(a){a.a=C0(new a0());return a;}
+function x1(c,a){var b;b=d1(c.a,a,cS(true));return b===null;}
+function z1(a){return tW(qX(a.a));}
+function A1(a){return x1(this,a);}
+function B1(a){return F0(this.a,a);}
+function C1(){return z1(this);}
+function D1(){return this.a.c;}
+function E1(){return qX(this.a).tS();}
+function v1(){}
+_=v1.prototype=new yX();_.C=A1;_.db=B1;_.nc=C1;_.ye=D1;_.tS=E1;_.tN=wfc+'HashSet';_.tI=162;_.a=null;function e2(b,a){DT(b,a);return b;}
+function d2(){}
+_=d2.prototype=new CT();_.tN=wfc+'NoSuchElementException';_.tI=163;function j2(a){a.a=FX(new DX());return a;}
+function k2(b,a){return bY(b.a,a);}
+function m2(a){return a.a.nc();}
+function n2(a,b){aY(this.a,a,b);}
+function o2(a){return k2(this,a);}
+function p2(a){return fY(this.a,a);}
+function q2(a){return gY(this.a,a);}
+function r2(){return m2(this);}
+function s2(a){return kY(this.a,a);}
+function t2(){return this.a.b;}
+function u2(){return this.a.Ae();}
+function i2(){}
+_=i2.prototype=new FV();_.B=n2;_.C=o2;_.db=p2;_.ec=q2;_.nc=r2;_.ae=s2;_.ye=t2;_.Ae=u2;_.tN=wfc+'Vector';_.tI=164;_.a=null;function v4(){v4=v2;x4=C0(new a0());}
+function u4(a){v4();return a;}
+function w4(){}
+function f4(){}
+_=f4.prototype=new kr();_.jd=w4;_.tN=xfc+'JBRMSFeature';_.tI=165;var x4;function C2(){C2=v2;v4();}
+function B2(a){C2();u4(a);a.a=yJ(new kJ());a.a.xe('100%');a.a.ne('100%');zJ(a.a,A8(new e8()),"<img src='images/category_small.gif'/>Manage categories",true);zJ(a.a,l9(new D8()),"<img src='images/status_small.gif'/>Manage states",true);zJ(a.a,m7(new i6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);zJ(a.a,F7(new q7()),"<img src='images/backup_small.gif'/>Import Export",true);FJ(a.a,0);mr(a,a.a);return a;}
+function D2(){C2();return y2(new x2(),'Admin','Administer the repository');}
+function E2(){}
+function w2(){}
+_=w2.prototype=new f4();_.jd=E2;_.tN=xfc+'AdminFeature';_.tI=166;_.a=null;function h4(c,b,a){c.c=b;c.a=a;return c;}
+function j4(a){if(a.b!==null)return a.b;return a.b=a.fb();}
+function g4(){}
+_=g4.prototype=new xT();_.tN=xfc+'JBRMSFeature$ComponentInfo';_.tI=167;_.a=null;_.b=null;_.c=null;function y2(c,a,b){h4(c,a,b);return c;}
+function A2(){return B2(new w2());}
+function x2(){}
+_=x2.prototype=new g4();_.fb=A2;_.tN=xfc+'AdminFeature$1';_.tI=168;function f3(){f3=v2;v4();}
+function e3(a){f3();u4(a);mr(a,FJb(new hIb()));return a;}
+function g3(){f3();return b3(new a3(),'Deployment','Configure and view frozen snapshots of packages.');}
+function h3(){}
+function F2(){}
+_=F2.prototype=new f4();_.jd=h3;_.tN=xfc+'DeploymentManagementFeature';_.tI=169;function b3(c,a,b){h4(c,a,b);return c;}
+function d3(){return e3(new F2());}
+function a3(){}
+_=a3.prototype=new g4();_.fb=d3;_.tN=xfc+'DeploymentManagementFeature$1';_.tI=170;function o3(){o3=v2;v4();}
+function n3(a){o3();u4(a);mr(a,p3(a));return a;}
+function p3(a){a.a=Bv(new zv(),'welcome.html');AN(a.a,'welcome-Page');a.a.ue(true);return a.a;}
+function q3(){o3();return k3(new j3(),'Info','JBoss Rules Managment System.');}
+function r3(){}
+function i3(){}
+_=i3.prototype=new f4();_.jd=r3;_.tN=xfc+'Info';_.tI=171;_.a=null;function k3(c,a,b){h4(c,a,b);return c;}
+function m3(){return n3(new i3());}
+function j3(){}
+_=j3.prototype=new g4();_.fb=m3;_.tN=xfc+'Info$1';_.tI=172;function C3(a){a.c=jz(new nw());a.d=p4(new n4());a.g=vs(new ms());}
+function D3(a){C3(a);return a;}
+function E3(a){nXb(DLb(),u3(new t3(),a));}
+function a4(b,c){var a;a=s4(b.d,c);if(a===null){c4(b);return;}d4(b,a,false);}
+function b4(b){var a,c;m4(b.d);b.h=vs(new ms());AN(b.h,'ks-Sink');c=nO(new lO());c.xe('100%');oO(c,b.c);oO(c,b.h);AN(b.c,'ks-Info');ws(b.g,b.d,(xs(),bt));ws(b.g,c,(xs(),Ds));Bs(b.g,b.d,(Dz(),aA));Cs(b.g,c,'100%');Bg(b);b.e=b5(new y4());b.f=s5(new e5());jp(oG(),b.e);jp(oG(),b.g);jp(oG(),b.f);b.f.xe('100%');b.e.ue(false);b.g.ue(false);b.f.ue(false);E3(b);a=Dg();if(uU(a)>0)a4(b,a);else c4(b);}
+function d4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){zs(c.h,c.b);}c.b=j4(b);t4(c.d,b.c);nz(c.c,b.a);if(a)ah(b.c);ws(c.h,c.b,(xs(),Ds));Cs(c.h,c.b,'100%');Bs(c.h,c.b,(Dz(),aA));c.b.jd();}
+function c4(a){d4(a,s4(a.d,'Info'),false);}
+function e4(a){a4(this,a);}
+function s3(){}
+_=s3.prototype=new xT();_.Ec=e4;_.tN=xfc+'JBRMSEntryPoint';_.tI=173;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function jcb(b,a){if(ac(a,69)){lcb();}else if(ac(a,70)){kbb(Fb(a,70));}else{jbb(a.wb());}}
+function kcb(a){jcb(this,a);}
+function lcb(){var a;a=dcb(new Ebb(),'images/warning-large.png','Session expired');fcb(a,kz(new nw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));rE(a,40,40);uE(a);edb();}
+function hcb(){}
+_=hcb.prototype=new xT();_.Ac=kcb;_.tN=Afc+'GenericCallback';_.tI=174;function u3(b,a){b.a=a;return b;}
+function w3(a){var b;b=Fb(a,1);if(b!==null){d5(this.a.e,b);this.a.e.ue(true);this.a.g.ue(true);this.a.f.ue(false);}else{this.a.f.ue(true);w5(this.a.f,y3(new x3(),this));}}
+function t3(){}
+_=t3.prototype=new hcb();_.md=w3;_.tN=xfc+'JBRMSEntryPoint$1';_.tI=175;function y3(b,a){b.a=a;return b;}
+function A3(a){d5(a.a.a.e,v5(a.a.a.f));a.a.a.e.ue(true);a.a.a.f.ue(false);a.a.a.g.ue(true);}
+function B3(){A3(this);}
+function x3(){}
+_=x3.prototype=new xT();_.nb=B3;_.tN=xfc+'JBRMSEntryPoint$2';_.tI=176;function m4(a){q4(a,q3());q4(a,h6());q4(a,E5());q4(a,g3());q4(a,D2());}
+function o4(a){a.a=nO(new lO());a.c=FX(new DX());}
+function p4(a){o4(a);mr(a,a.a);AN(a,'ks-List');return a;}
+function q4(d,a){var b,c;c=a.c;b=pA(new nA(),c,c);AN(b,'ks-SinkItem');oO(d.a,b);bY(d.c,a);}
+function s4(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(gY(d.c,a),61);if(qU(b.c,c))return b;}return null;}
+function t4(d,c){var a,b;if(d.b!=(-1))vN(dr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(gY(d.c,a),61);if(qU(b.c,c)){d.b=a;pN(dr(d.a,d.b),'ks-SinkItem-selected');return;}}}
+function n4(){}
+_=n4.prototype=new kr();_.tN=xfc+'JBRMSFeatureList';_.tI=177;_.b=(-1);function b5(a){a.a=jz(new nw());mr(a,a.a);return a;}
+function d5(b,d){var a,c;a=cU(new bU());eU(a,"<div id='user_info'>");eU(a,'Welcome: &nbsp;'+d);eU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");eU(a,'<\/div>');nz(b.a,iU(a));c=A4(new z4(),b);mh(c,300000);}
+function y4(){}
+_=y4.prototype=new kr();_.tN=xfc+'LoggedInUserInfo';_.tI=178;_.a=null;function B4(){B4=v2;kh();}
+function A4(b,a){B4();ih(b);return b;}
+function C4(){nXb(DLb(),new D4());}
+function z4(){}
+_=z4.prototype=new dh();_.ce=C4;_.tN=xfc+'LoggedInUserInfo$1';_.tI=179;function F4(a){}
+function a5(a){if(a===null){lcb();}}
+function D4(){}
+_=D4.prototype=new xT();_.Ac=F4;_.md=a5;_.tN=xfc+'LoggedInUserInfo$2';_.tI=180;function s5(c){var a,b;c.a=ubb(new rbb(),'images/login.gif','Please enter your details');c.c=FK(new qK());c.c.oe(1);vbb(c.a,'User name:',c.c);b=dE(new cE());b.oe(2);vbb(c.a,'Password:',b);a=wp(new qp(),'Login');a.oe(3);vbb(c.a,'',a);a.x(g5(new f5(),c,b));mr(c,c.a);c.c.le(true);AN(c,'login-Form');return c;}
+function u5(c,a,d,b){aMb(xK(d),xK(b),o5(new n5(),c,a));}
+function v5(a){return xK(a.c);}
+function w5(b,a){b.b=a;}
+function e5(){}
+_=e5.prototype=new kr();_.tN=xfc+'LoginWidget';_.tI=181;_.a=null;_.b=null;_.c=null;function g5(b,a,c){b.a=a;b.b=c;return b;}
+function i5(a){idb('Logging in...');fg(k5(new j5(),this,this.b));}
+function f5(){}
+_=f5.prototype=new xT();_.wc=i5;_.tN=xfc+'LoginWidget$1';_.tI=182;function k5(b,a,c){b.a=a;b.b=c;return b;}
+function m5(){u5(this.a.a,this.a.a.b,this.a.a.c,this.b);}
+function j5(){}
+_=j5.prototype=new xT();_.nb=m5;_.tN=xfc+'LoginWidget$2';_.tI=183;function o5(b,a,c){b.a=c;return b;}
+function q5(c,a){var b;edb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{A3(c.a);}}
+function r5(a){q5(this,a);}
+function n5(){}
+_=n5.prototype=new hcb();_.md=r5;_.tN=xfc+'LoginWidget$3';_.tI=184;function D5(){D5=v2;v4();}
+function C5(b){var a;D5();u4(b);a=dIb(new CHb());gIb(a,x4);mr(b,a);return b;}
+function E5(){D5();return z5(new y5(),'Packages','Configure and view packages of business rule assets.');}
+function F5(){}
+function x5(){}
+_=x5.prototype=new f4();_.jd=F5;_.tN=xfc+'PackageManagementFeature';_.tI=185;function z5(c,a,b){h4(c,a,b);return c;}
+function B5(){return C5(new x5());}
+function y5(){}
+_=y5.prototype=new g4();_.fb=B5;_.tN=xfc+'PackageManagementFeature$1';_.tI=186;function g6(){g6=v2;v4();}
+function f6(b){var a;g6();u4(b);a=ybc(new uac());Cbc(a,x4);mr(b,a);return b;}
+function h6(){g6();return c6(new b6(),'Rules','Find and edit rules.');}
+function a6(){}
+_=a6.prototype=new f4();_.tN=xfc+'RulesFeature';_.tI=187;function c6(c,a,b){h4(c,a,b);return c;}
+function e6(){return f6(new a6());}
+function b6(){}
+_=b6.prototype=new g4();_.fb=e6;_.tN=xfc+'RulesFeature$1';_.tI=188;function m7(a){var b;b=ubb(new rbb(),'images/backup_large.png','Manage Archived Assets');a.a=fA(new dA());a.a.xe('100%');ybb(b,a.a);a.b=Bcc(new Fbc(),new j6(),'archivedrulelist');bdc(a.b,p7(a));gA(a.a,a.b);k7(p7(a));ybb(b,kz(new nw(),'<hr/>'));ybb(b,o7(a));mr(a,b);return a;}
+function o7(d){var a,b,c,e;b=fA(new dA());c=wp(new qp(),'Refresh');c.x(n6(new m6(),d));e=wp(new qp(),'Unarchive');e.x(r6(new q6(),d));a=wp(new qp(),'Delete');a.x(A6(new z6(),d));gA(b,c);gA(b,e);gA(b,a);return b;}
+function p7(b){var a;a=d7(new c7(),b);return i7(new h7(),b,a);}
+function i6(){}
+_=i6.prototype=new kr();_.tN=yfc+'ArchivedAssetManager';_.tI=189;_.a=null;_.b=null;function l6(a){var b,c;b=dcb(new Ebb(),'images/snapshot.png','Archived item');c=yJ(new kJ());fcb(b,c);u4b(C0(new a0()),c,a,true);rE(b,20,20);uE(b);}
+function j6(){}
+_=j6.prototype=new xT();_.td=l6;_.tN=yfc+'ArchivedAssetManager$1';_.tI=190;function n6(b,a){b.a=a;return b;}
+function p6(a){k7(p7(this.a));}
+function m6(){}
+_=m6.prototype=new xT();_.wc=p6;_.tN=yfc+'ArchivedAssetManager$2';_.tI=191;function r6(b,a){b.a=a;return b;}
+function t6(a){bTb(ELb(),Dcc(this.a.b),false,v6(new u6(),this));}
+function q6(){}
+_=q6.prototype=new xT();_.wc=t6;_.tN=yfc+'ArchivedAssetManager$3';_.tI=192;function v6(b,a){b.a=a;return b;}
+function x6(b,a){k7(p7(b.a.a));zh('Done!');}
+function y6(a){x6(this,a);}
+function u6(){}
+_=u6.prototype=new hcb();_.md=y6;_.tN=yfc+'ArchivedAssetManager$4';_.tI=193;function A6(b,a){b.a=a;return b;}
+function C6(a){bUb(ELb(),Dcc(this.a.b),E6(new D6(),this));}
+function z6(){}
+_=z6.prototype=new xT();_.wc=C6;_.tN=yfc+'ArchivedAssetManager$5';_.tI=194;function E6(b,a){b.a=a;return b;}
+function a7(b,a){k7(p7(b.a.a));zh('Done!');}
+function b7(a){a7(this,a);}
+function D6(){}
+_=D6.prototype=new hcb();_.md=b7;_.tN=yfc+'ArchivedAssetManager$6';_.tI=195;function d7(b,a){b.a=a;return b;}
+function f7(c,a){var b;b=Fb(a,62);adc(c.a.b,b);c.a.b.xe('100%');edb();}
+function g7(a){f7(this,a);}
+function c7(){}
+_=c7.prototype=new hcb();_.md=g7;_.tN=yfc+'ArchivedAssetManager$7';_.tI=196;function i7(b,a,c){b.a=c;return b;}
+function k7(a){idb('Loading list, please wait...');xTb(ELb(),a.a);}
+function l7(){k7(this);}
+function h7(){}
+_=h7.prototype=new xT();_.nb=l7;_.tN=yfc+'ArchivedAssetManager$8';_.tI=197;function F7(a){var b;b=ubb(new rbb(),'images/backup_large.png','Import/Export');vbb(b,'',kz(new nw(),'<i>Import and Export rules repository<\/i>'));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Import from an xml file',d8(a));vbb(b,'Export to a zip file',c8(a));ybb(b,kz(new nw(),'<hr/>'));mr(a,b);return a;}
+function b8(a){idb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');edb();}
+function c8(c){var a,b;b=fA(new dA());a=wp(new qp(),'Export');a.x(s7(new r7(),c));gA(b,a);return b;}
+function d8(c){var a,b,d,e;e=cv(new Du());iv(e,v()+'backup');jv(e,'multipart/form-data');kv(e,'post');b=fA(new dA());e.we(b);d=gt(new ft());jt(d,'importFile');gA(b,d);gA(b,cC(new aC(),'import:'));a=ocb(new ncb(),'images/upload.gif');lB(a,w7(new v7(),c,e));gA(b,a);dv(e,B7(new A7(),c,d));return e;}
+function q7(){}
+_=q7.prototype=new kr();_.tN=yfc+'BackupManager';_.tI=198;function s7(b,a){b.a=a;return b;}
+function u7(a){b8(this.a);}
+function r7(){}
+_=r7.prototype=new xT();_.wc=u7;_.tN=yfc+'BackupManager$1';_.tI=199;function w7(b,a,c){b.a=c;return b;}
+function y7(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){idb('Importing repository, please wait, as this could take some time...');mv(b);}}
+function z7(a){y7(this,this.a);}
+function v7(){}
+_=v7.prototype=new xT();_.wc=z7;_.tN=yfc+'BackupManager$2';_.tI=200;function B7(b,a,c){b.a=c;return b;}
+function E7(a){if(uU(it(this.a))==0){zh('You did not specify an exported repository filename !');yv(a,true);}else if(!oU(it(this.a),'.xml')){zh('Please specify a valid repository xml file.');yv(a,true);}}
+function D7(a){if(sU(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{jbb('Unable to import into the repository. Consult the server logs for error messages.');}edb();}
+function A7(){}
+_=A7.prototype=new xT();_.ld=E7;_.kd=D7;_.tN=yfc+'BackupManager$3';_.tI=201;function z8(a){nO(new lO());}
+function A8(f){var a,b,c,d,e;z8(f);c=ubb(new rbb(),'images/edit_category.gif','Edit categories');vbb(c,'',kz(new nw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=v$(new e$(),new f8());AN(f.a,'category-explorer-Admin');b=aH(new yG());AN(b,'metadata-Widget');cH(b,f.a);ybb(c,kz(new nw(),'<hr/>'));vbb(c,'Current categories:',b);e=ocb(new ncb(),'images/refresh.gif');e.pe('Refresh categories');lB(e,j8(new i8(),f));vbb(c,'Refresh view:',e);ybb(c,kz(new nw(),'<hr/>'));d=ocb(new ncb(),'images/new.gif');d.pe('Create a new category');lB(d,n8(new m8(),f));vbb(c,'Create a new category:',d);a=ocb(new ncb(),'images/delete_obj.gif');lB(a,r8(new q8(),f));a.pe("Deletes the currently selected category. You won't be able to delete if the category is in use.");vbb(c,'Delete the currently selected category:',a);mr(f,c);return f;}
+function C8(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){cUb(ELb(),a.a.e,v8(new u8(),a));}}
+function e8(){}
+_=e8.prototype=new kr();_.tN=yfc+'CategoryManager';_.tI=202;_.a=null;function h8(a){}
+function f8(){}
+_=f8.prototype=new xT();_.ee=h8;_.tN=yfc+'CategoryManager$1';_.tI=203;function j8(b,a){b.a=a;return b;}
+function l8(a){B$(this.a.a);}
+function i8(){}
+_=i8.prototype=new xT();_.wc=l8;_.tN=yfc+'CategoryManager$2';_.tI=204;function n8(b,a){b.a=a;return b;}
+function p8(b){var a;a=F9(new q9(),this.a.a.e);rE(a,rN(b),sN(b)-400);uE(a);}
+function m8(){}
+_=m8.prototype=new xT();_.wc=p8;_.tN=yfc+'CategoryManager$3';_.tI=205;function r8(b,a){b.a=a;return b;}
+function t8(a){C8(this.a);}
+function q8(){}
+_=q8.prototype=new xT();_.wc=t8;_.tN=yfc+'CategoryManager$4';_.tI=206;function v8(b,a){b.a=a;return b;}
+function x8(b,a){B$(b.a.a);}
+function y8(a){x8(this,a);}
+function u8(){}
+_=u8.prototype=new hcb();_.md=y8;_.tN=yfc+'CategoryManager$5';_.tI=207;function l9(b){var a;a=ubb(new rbb(),'images/status_large.png','Manage statuses');vbb(a,'',kz(new nw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=sC(new kC());cD(b.a,7);b.a.xe('50%');p9(b);vbb(a,'Current statuses:',b.a);vbb(a,'Add new status:',o9(b));mr(b,a);return b;}
+function n9(b,a){idb('Creating status');rTb(ELb(),xK(a),h9(new g9(),b,a));}
+function o9(d){var a,b,c;c=fA(new dA());a=FK(new qK());b=wp(new qp(),'Create');b.x(d9(new c9(),d,a));gA(c,a);gA(c,b);return c;}
+function p9(a){idb('Loading statuses...');wTb(ELb(),F8(new E8(),a));}
+function D8(){}
+_=D8.prototype=new kr();_.tN=yfc+'StateManager';_.tI=208;_.a=null;function F8(b,a){b.a=a;return b;}
+function b9(a){var b,c;yC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){vC(this.a.a,c[b]);}edb();}
+function E8(){}
+_=E8.prototype=new hcb();_.md=b9;_.tN=yfc+'StateManager$1';_.tI=209;function d9(b,a,c){b.a=a;b.b=c;return b;}
+function f9(a){n9(this.a,this.b);}
+function c9(){}
+_=c9.prototype=new xT();_.wc=f9;_.tN=yfc+'StateManager$2';_.tI=210;function h9(b,a,c){b.a=a;b.b=c;return b;}
+function j9(b,a){BK(b.b,'');p9(b.a);edb();}
+function k9(a){j9(this,a);}
+function g9(){}
+_=g9.prototype=new hcb();_.md=k9;_.tN=yfc+'StateManager$3';_.tI=211;function b$(){b$=v2;kE();}
+function E9(a){a.d=rt(new lt());a.b=FK(new qK());a.a=kK(new jK());}
+function F9(d,b){var a,c;b$();hE(d,true);E9(d);d.c=b;d.d.ve(0,0,ocb(new ncb(),'images/edit_category.gif'));d.d.ve(0,1,cC(new aC(),c$(d,d.c)));d.d.ve(1,0,cC(new aC(),'Cateogory name'));d.d.ve(1,1,d.b);pK(d.a,4);d.d.ve(2,0,cC(new aC(),'Description'));d.d.ve(2,1,d.a);c=wp(new qp(),'OK');c.x(s9(new r9(),d));d.d.ve(3,0,c);a=wp(new qp(),'Cancel');a.x(w9(new v9(),d));d.d.ve(3,1,a);cH(d,d.d);AN(d,'ks-popups-Popup');return d;}
+function a$(a){a.ic();}
+function c$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
+function d$(b){var a;a=A9(new z9(),b);if(qU('',xK(b.b))){jbb("Can't have an empty category name.");}else{nTb(ELb(),b.c,xK(b.b),xK(b.a),a);}}
+function q9(){}
+_=q9.prototype=new fE();_.tN=zfc+'CategoryEditor';_.tI=212;_.c=null;function s9(b,a){b.a=a;return b;}
+function u9(a){d$(this.a);}
+function r9(){}
+_=r9.prototype=new xT();_.wc=u9;_.tN=zfc+'CategoryEditor$1';_.tI=213;function w9(b,a){b.a=a;return b;}
+function y9(a){a$(this.a);}
+function v9(){}
+_=v9.prototype=new xT();_.wc=y9;_.tN=zfc+'CategoryEditor$2';_.tI=214;function A9(b,a){b.a=a;return b;}
+function C9(b,a){if(Fb(a,55).a){b.a.ic();}else{jbb('Category was not successfully created. ');}}
+function D9(a){C9(this,a);}
+function z9(){}
+_=z9.prototype=new hcb();_.md=D9;_.tN=zfc+'CategoryEditor$3';_.tI=215;function u$(a){a.c=pM(new cL());a.d=nO(new lO());a.f=ELb();}
+function v$(b,a){u$(b);oO(b.d,b.c);b.a=a;A$(b);mr(b,b.d);tM(b.c,b);AN(b,'category-explorer-Tree');return b;}
+function x$(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
+function y$(b,a){if(a.c.b==1&&ac(yL(a,0),64)){return false;}return true;}
+function z$(a){if(a.b!==null){a.b.ue(false);}}
+function A$(a){sM(a.c,'Please wait...');zTb(a.f,'/',k$(new j$(),a));}
+function B$(a){cN(a.c);a.e=null;A$(a);}
+function C$(c){var a,b;if(c.b===null){b=ip(new hp());jp(b,kz(new nw(),'No categories created yet. Add some categories from the administration screen.'));a=wp(new qp(),'Refresh');a.x(g$(new f$(),c));jp(b,a);AN(b,'small-Text');c.b=b;oO(c.d,c.b);}c.b.ue(true);}
+function D$(a){this.e=x$(this,a);this.a.ee(this.e);}
+function E$(a){var b;if(y$(this,a)){return;}b=a;this.e=x$(this,a);zTb(this.f,this.e,o$(new n$(),this,b));}
+function e$(){}
+_=e$.prototype=new kr();_.od=D$;_.pd=E$;_.tN=zfc+'CategoryExplorerWidget';_.tI=216;_.a=null;_.b=null;_.e=null;function g$(b,a){b.a=a;return b;}
+function i$(a){B$(this.a);}
+function f$(){}
+_=f$.prototype=new xT();_.wc=i$;_.tN=zfc+'CategoryExplorerWidget$1';_.tI=217;function k$(b,a){b.a=a;return b;}
+function m$(d){var a,b,c;this.a.e=null;cN(this.a.c);a=Fb(d,63);if(a.a==0){C$(this.a);}else{z$(this.a);}for(b=0;b<a.a;b++){c=uL(new sL());CL(c,'<img src="images/category_small.gif"/>'+a[b]);cM(c,a[b]);c.y(s$(new r$()));rM(this.a.c,c);}}
+function j$(){}
+_=j$.prototype=new hcb();_.md=m$;_.tN=zfc+'CategoryExplorerWidget$2';_.tI=218;function o$(b,a,c){b.a=c;return b;}
+function q$(e){var a,b,c,d;a=yL(this.a,0);if(ac(a,64)){this.a.Dd(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=uL(new sL());CL(c,'<img src="images/category_small.gif"/>'+d[b]);cM(c,d[b]);c.y(s$(new r$()));this.a.y(c);}}
+function n$(){}
+_=n$.prototype=new hcb();_.md=q$;_.tN=zfc+'CategoryExplorerWidget$3';_.tI=219;function s$(a){vL(a,'Please wait...');return a;}
+function r$(){}
+_=r$.prototype=new sL();_.tN=zfc+'CategoryExplorerWidget$PendingItem';_.tI=220;function b_(){b_=v2;c_=zb('[Ljava.lang.String;',607,1,['brl','dslr','xls']);e_=zb('[Ljava.lang.String;',607,1,['drl','rf','enumeration']);d_=zb('[Ljava.lang.String;',607,1,['function','dsl','jar','enumeration']);}
+function f_(a){b_();var b;for(b=0;b<d_.a;b++){if(qU(d_[b],a)){return true;}}return false;}
+var c_,d_,e_;function r_(){r_=v2;aL();}
+function p_(a){a.b=hE(new fE(),true);a.a=i_(new h_(),a);}
+function q_(b,a){r_();FK(b);p_(b);uK(b,b);BN(b.a,1);AN(b,'AutoCompleteTextBox');cH(b.b,b.a);pN(b.b,'AutoCompleteChoices');AN(b.a,'list');b.c=a;return b;}
+function s_(a){if(a.e&&AC(a.a)>0){BK(a,BC(a.a,CC(a.a)));}yC(a.a);a.b.ic();a.e=false;}
+function t_(e,a,b,c){var d;d=CC(e.a);d++;if(d>=AC(e.a)){d=0;}bD(e.a,d);}
+function u_(d,a,b,c){s_(d);}
+function v_(d,a,b,c){yC(d.a);d.b.ic();d.e=false;}
+function w_(b,a){if(0==uU(a)||0==AC(b.a)||1==AC(b.a)&&qU(BC(b.a,0),a)){yC(b.a);b.b.ic();b.e=false;}else{bD(b.a,0);cD(b.a,AC(b.a)+1);if(!b.d){jp(oG(),b.b);b.d=true;}uE(b.b);b.e=true;rE(b.b,rN(b),sN(b)+b.zb());b.a.xe(b.Ab()+'px');}}
+function x_(d,a,b,c){A_(d,xK(d));if(uU(xK(d))>0&&d.c!==null){idc(d.c,xK(d),m_(new l_(),d));}}
+function y_(d,a,b,c){s_(d);}
+function z_(e,a,b,c){var d;d=CC(e.a);d--;if(d<0){d=AC(e.a)-1;}bD(e.a,d);}
+function A_(c,b){var a;a=0;while(a<AC(c.a)){if(yU(CU(BC(c.a,a)),CU(b))){++a;}else{aD(c.a,a);}}w_(c,b);}
+function B_(d,b,c){var a;yC(d.a);for(a=0;a<b.a;a++){vC(d.a,b[a]);}A_(d,c);}
+function C_(a,b,c){if(b==13){u_(this,a,b,c);}else if(b==9){y_(this,a,b,c);}else if(b==40){t_(this,a,b,c);}else if(b==38){z_(this,a,b,c);}else if(b==27){v_(this,a,b,c);}}
+function D_(a,b,c){}
+function E_(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:x_(this,a,b,c);break;}}
+function g_(){}
+_=g_.prototype=new qK();_.Fc=C_;_.ad=D_;_.bd=E_;_.tN=Afc+'AutoCompleteTextBoxAsync';_.tI=221;_.c=null;_.d=false;_.e=false;function j_(){j_=v2;zC();}
+function i_(b,a){j_();b.a=a;sC(b);return b;}
+function k_(a){if(1==xe(a)){s_(this.a);}}
+function h_(){}
+_=h_.prototype=new kC();_.tc=k_;_.tN=Afc+'AutoCompleteTextBoxAsync$1';_.tI=222;function m_(b,a){b.a=a;return b;}
+function o_(b,a){B_(b.a,a,xK(b.a));}
+function l_(){}
+_=l_.prototype=new xT();_.tN=Afc+'AutoCompleteTextBoxAsync$2';_.tI=223;function dab(a){a.j=true;}
+function eab(a){a.j=false;}
+function fab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
+function gab(){return this.j;}
+function bab(){}
+_=bab.prototype=new kr();_.mc=gab;_.tN=Afc+'DirtyableComposite';_.tI=224;_.j=false;function jab(a){a.b=FX(new DX());}
+function kab(a){rt(a);jab(a);return a;}
+function mab(d){var a,b,c;for(c=d.b.nc();c.hc();){a=Fb(c.pc(),65);b=qy(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).mc())return true;if(ac(b,67))if(Fb(b,67).gc())return true;}return false;}
+function nab(d,c,b,a){Fy(d,c,b,a);if(ac(a,68)){aY(d.b,d.a++,kdb(new jdb(),c,b));}}
+function oab(){return mab(this);}
+function pab(c,b,a){nab(this,c,b,a);}
+function iab(){}
+_=iab.prototype=new lt();_.gc=oab;_.ve=pab;_.tN=Afc+'DirtyableFlexTable';_.tI=225;_.a=0;function rab(a){fA(a);return a;}
+function tab(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=dr(c,b);if(ac(a,66))if(Fb(a,66).mc())return true;if(ac(a,67))if(Fb(a,67).gc())return true;}return false;}
+function uab(){return tab(this);}
+function qab(){}
+_=qab.prototype=new dA();_.gc=uab;_.tN=Afc+'DirtyableHorizontalPane';_.tI=226;function wab(a){nO(a);return a;}
+function yab(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=dr(this,b);if(ac(a,66))if(Fb(a,66).mc())return true;if(ac(a,67))if(Fb(a,67).gc())return true;}return false;}
+function vab(){}
+_=vab.prototype=new lO();_.gc=yab;_.tN=Afc+'DirtyableVerticalPane';_.tI=227;function gbb(){gbb=v2;Fr();}
+function dbb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=ocb(new ncb(),'images/close.gif');}
+function ebb(d,b,a){var c,e;gbb();Dr(d,true);dbb(d);hC(d.a,b);gA(d.c,kB(new uA(),'images/error_dialog.png'));e=nO(new lO());oO(e,d.a);gA(d.c,e);if(a!==null){fbb(d,e,a);}gA(d.c,d.b);c=d;lB(d.b,Cab(new Bab(),d,c));cs(d,d.c);rE(d,40,40);AN(d,'rule-error-Popup');return d;}
+function fbb(e,c,b){var a,d,f;f=nO(new lO());oO(c,f);d=wp(new qp(),'Details');oO(f,d);a=cC(new aC(),b);a.ue(false);oO(f,a);d.x(abb(new Fab(),e,a,d));}
+function hbb(a){hC(a.a,'');nE(a);}
+function ibb(){hbb(this);}
+function jbb(a){gbb();var b;b=ebb(new Aab(),a,null);edb();uE(b);}
+function kbb(a){gbb();var b;b=ebb(new Aab(),a.b,a.a);edb();uE(b);}
+function Aab(){}
+_=Aab.prototype=new Ar();_.ic=ibb;_.tN=Afc+'ErrorPopup';_.tI=228;function Cab(b,a,c){b.a=c;return b;}
+function Eab(a){hbb(this.a);}
+function Bab(){}
+_=Bab.prototype=new xT();_.wc=Eab;_.tN=Afc+'ErrorPopup$1';_.tI=229;function abb(b,a,c,d){b.a=c;b.b=d;return b;}
+function cbb(a){this.a.ue(true);this.b.ue(false);}
+function Fab(){}
+_=Fab.prototype=new xT();_.wc=cbb;_.tN=Afc+'ErrorPopup$2';_.tI=230;function mbb(b,a){b.a=a;return b;}
+function obb(a,b,c){}
+function pbb(a,b,c){}
+function qbb(a,b,c){this.a.nb();}
+function lbb(){}
+_=lbb.prototype=new xT();_.Fc=obb;_.ad=pbb;_.bd=qbb;_.tN=Afc+'FieldEditListener';_.tI=231;_.a=null;function sbb(a){a.h=kab(new iab());a.g=ut(a.h);}
+function ubb(b,a,c){sbb(b);wbb(b,a,c);mr(b,b.h);return b;}
+function tbb(a){sbb(a);mr(a,a.h);return a;}
+function vbb(d,c,a){var b;b=kz(new nw(),'<b>'+c+'<\/b>');nab(d.h,d.i,0,b);bx(d.g,d.i,0,(uz(),xz),(Dz(),aA));nab(d.h,d.i,1,a);bx(d.g,d.i,1,(uz(),wz),(Dz(),aA));d.i++;}
+function wbb(c,a,d){var b;b=cC(new aC(),d);AN(b,'resource-name-Label');Bbb(c,a,b);}
+function xbb(d,b,e,f){var a,c;c=cC(new aC(),e);AN(c,'resource-name-Label');a=fA(new dA());gA(a,c);gA(a,f);Bbb(d,b,a);}
+function ybb(a,b){nab(a.h,a.i,0,b);pt(a.g,a.i,0,2);a.i++;}
+function zbb(a){a.i=0;hy(a.h);}
+function Bbb(b,a,c){nab(b.h,0,0,kB(new uA(),a));bx(b.g,0,0,(uz(),wz),(Dz(),aA));nab(b.h,0,1,c);b.i++;}
+function Cbb(c,b,a,d){nab(c.h,b,a,d);}
+function Dbb(){return mab(this.h);}
+function rbb(){}
+_=rbb.prototype=new bab();_.mc=Dbb;_.tN=Afc+'FormStyleLayout';_.tI=232;_.i=0;function gcb(){gcb=v2;kE();}
+function dcb(c,b,d){var a;gcb();hE(c,true);c.i=ubb(new rbb(),b,d);AN(c,'ks-popups-Popup');a=ocb(new ncb(),'images/close.gif');lB(a,acb(new Fbb(),c));Cbb(c.i,0,2,a);cH(c,c.i);return c;}
+function ecb(b,a,c){vbb(b.i,a,c);}
+function fcb(a,b){ybb(a.i,b);}
+function Ebb(){}
+_=Ebb.prototype=new fE();_.tN=Afc+'FormStylePopup';_.tI=233;_.i=null;function acb(b,a){b.a=a;return b;}
+function ccb(a){this.a.ic();}
+function Fbb(){}
+_=Fbb.prototype=new xT();_.wc=ccb;_.tN=Afc+'FormStylePopup$1';_.tI=234;function qcb(){qcb=v2;nB();}
+function ocb(b,a){qcb();kB(b,a);AN(b,'image-Button');return b;}
+function pcb(b,a,c){qcb();kB(b,a);AN(b,'image-Button');b.pe(c);return b;}
+function ncb(){}
+_=ncb.prototype=new uA();_.tN=Afc+'ImageButton';_.tI=235;function wcb(c,d,b){var a;a=kB(new uA(),'images/information.gif');a.pe(b);lB(a,tcb(new scb(),c,d,b));mr(c,a);return c;}
+function rcb(){}
+_=rcb.prototype=new kr();_.tN=Afc+'InfoPopup';_.tI=236;function tcb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vcb(b){var a;a=dcb(new Ebb(),'images/information.gif',this.b);fcb(a,zcb(new ycb(),this.a,'small-Text'));rE(a,rN(b),sN(b));uE(a);}
+function scb(){}
+_=scb.prototype=new xT();_.wc=vcb;_.tN=Afc+'InfoPopup$1';_.tI=237;function zcb(c,a,b){cC(c,a);AN(c,b);return c;}
+function ycb(){}
+_=ycb.prototype=new aC();_.tN=Afc+'Lbl';_.tI=238;function cdb(){cdb=v2;kE();}
+function adb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=kB(new uA(),'images/close.gif');}
+function bdb(a){cdb();hE(a,true);adb(a);gA(a.c,a.a);gA(a.c,a.b);gA(a.c,kB(new uA(),'images/searching.gif'));lB(a.b,Dcb(new Ccb(),a));cH(a,a.c);rE(a,0,0);AN(a,'loading-Popup');return a;}
+function ddb(a){hC(a.a,'');nE(a);}
+function edb(){cdb();ddb(fdb());}
+function fdb(){cdb();if(hdb===null){hdb=bdb(new Bcb());}return hdb;}
+function gdb(){ddb(this);}
+function idb(a){cdb();var b;b=fdb();hC(b.a,a);uE(b);}
+function Bcb(){}
+_=Bcb.prototype=new fE();_.ic=gdb;_.tN=Afc+'LoadingPopup';_.tI=239;var hdb=null;function Dcb(b,a){b.a=a;return b;}
+function Fcb(a){ddb(this.a);}
+function Ccb(){}
+_=Ccb.prototype=new xT();_.wc=Fcb;_.tN=Afc+'LoadingPopup$1';_.tI=240;function kdb(c,b,a){c.b=b;c.a=a;return c;}
+function jdb(){}
+_=jdb.prototype=new xT();_.tN=Afc+'Pair';_.tI=241;_.a=0;_.b=0;function rdb(a){a.b=sC(new kC());uTb(ELb(),odb(new ndb(),a));mr(a,a.b);return a;}
+function tdb(a){return BC(a.b,CC(a.b));}
+function udb(b,a){b.a=a;}
+function mdb(){}
+_=mdb.prototype=new kr();_.tN=Afc+'RulePackageSelector';_.tI=242;_.a=null;_.b=null;function odb(b,a){b.a=a;return b;}
+function qdb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){vC(this.a.b,b[a].j);if(this.a.a!==null&&qU(b[a].j,this.a.a)){bD(this.a.b,a);}}}
+function ndb(){}
+_=ndb.prototype=new hcb();_.md=qdb;_.tN=Afc+'RulePackageSelector$1';_.tI=243;function neb(){neb=v2;Fr();}
+function leb(f,g,d){var a,b,c,e;neb();Dr(f,true);f.d=g;f.b=d;AN(f,'ks-popups-Popup');as(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=fA(new dA());a=sC(new kC());idb('Please wait...');wTb(ELb(),xdb(new wdb(),f,a));uC(a,Bdb(new Adb(),f,a));gA(c,a);e=wp(new qp(),'Change status');e.x(Fdb(new Edb(),f,a));gA(c,e);b=wp(new qp(),'Cancel');b.x(deb(new ceb(),f));gA(c,b);cs(f,c);return f;}
+function meb(b,a){idb('Updating status...');hTb(ELb(),b.d,b.c,b.b,heb(new geb(),b));}
+function oeb(b,a){b.a=a;}
+function vdb(){}
+_=vdb.prototype=new Ar();_.tN=Afc+'StatusChangePopup';_.tI=244;_.a=null;_.b=false;_.c=null;_.d=null;function xdb(b,a,c){b.a=c;return b;}
+function zdb(a){var b,c;c=Fb(a,63);vC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){vC(this.a,c[b]);}edb();}
+function wdb(){}
+_=wdb.prototype=new hcb();_.md=zdb;_.tN=Afc+'StatusChangePopup$1';_.tI=245;function Bdb(b,a,c){b.a=a;b.b=c;return b;}
+function Ddb(a){this.a.c=BC(this.b,CC(this.b));}
+function Adb(){}
+_=Adb.prototype=new xT();_.vc=Ddb;_.tN=Afc+'StatusChangePopup$2';_.tI=246;function Fdb(b,a,c){b.a=a;b.b=c;return b;}
+function beb(b){var a;a=BC(this.b,CC(this.b));meb(this.a,a);this.a.ic();}
+function Edb(){}
+_=Edb.prototype=new xT();_.wc=beb;_.tN=Afc+'StatusChangePopup$3';_.tI=247;function deb(b,a){b.a=a;return b;}
+function feb(a){this.a.ic();}
+function ceb(){}
+_=ceb.prototype=new xT();_.wc=feb;_.tN=Afc+'StatusChangePopup$4';_.tI=248;function heb(b,a){b.a=a;return b;}
+function jeb(b,a){b.a.a.nb();edb();}
+function keb(a){jeb(this,a);}
+function geb(){}
+_=geb.prototype=new hcb();_.md=keb;_.tN=Afc+'StatusChangePopup$5';_.tI=249;function reb(){reb=v2;gcb();}
+function qeb(c,b,a){reb();dcb(c,'images/attention_needed.png',b);ecb(c,'Detail:',seb(c,a));return c;}
+function seb(c,b){var a;a=kK(new jK());AN(a,'editable-Surface');pK(a,12);BK(a,b);a.xe('100%');return a;}
+function peb(){}
+_=peb.prototype=new Ebb();_.tN=Afc+'ValidationMessageWidget';_.tI=250;function Aeb(){Aeb=v2;kE();}
+function yeb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=wp(new qp(),'OK');}
+function zeb(b,c,d){var a;Aeb();hE(b,true);yeb(b);rE(b,c,d);gA(b.c,b.a);gA(b.c,b.b);a=b;b.b.x(veb(new ueb(),b,a));cH(b,b.c);AN(b,'rule-warning-Popup');return b;}
+function Beb(a){hC(a.a,'');nE(a);}
+function Ceb(){Beb(this);}
+function Deb(a,c,d){Aeb();var b;b=zeb(new teb(),c,d);hC(b.a,a);uE(b);}
+function teb(){}
+_=teb.prototype=new fE();_.ic=Ceb;_.tN=Afc+'WarningPopup';_.tI=251;function veb(b,a,c){b.a=c;return b;}
+function xeb(a){Beb(this.a);}
+function ueb(){}
+_=ueb.prototype=new xT();_.wc=xeb;_.tN=Afc+'WarningPopup$1';_.tI=252;function ifb(){ifb=v2;Fr();}
+function hfb(d,b,f){var a,c,e;ifb();Cr(d);bs(d,b);e=wp(new qp(),'Yes');c=wp(new qp(),'No');e.x(afb(new Feb(),d,f));c.x(efb(new dfb(),d));a=fA(new dA());gA(a,e);gA(a,c);cs(d,a);return d;}
+function Eeb(){}
+_=Eeb.prototype=new Ar();_.tN=Afc+'YesNoDialog';_.tI=253;function afb(b,a,c){b.a=a;b.b=c;return b;}
+function cfb(a){this.b.nb();this.a.ic();}
+function Feb(){}
+_=Feb.prototype=new xT();_.wc=cfb;_.tN=Afc+'YesNoDialog$1';_.tI=254;function efb(b,a){b.a=a;return b;}
+function gfb(a){this.a.ic();}
+function dfb(){}
+_=dfb.prototype=new xT();_.wc=gfb;_.tN=Afc+'YesNoDialog$2';_.tI=255;function ixb(b,a,c){b.e=c;b.a=a;nxb(b,a.e,a.d.n);mxb(b);return b;}
+function jxb(b,a){ybb(b.c,a);}
+function lxb(c,a,d){var b;b=FK(new qK());zK(b,a);BK(b,d);b.ue(false);return b;}
+function mxb(a){dv(a.b,exb(new dxb(),a));}
+function nxb(d,f,c){var a,b,e;d.b=cv(new Du());iv(d.b,v()+'asset');jv(d.b,'multipart/form-data');kv(d.b,'post');e=gt(new ft());jt(e,'fileUploadElement');b=fA(new dA());gA(b,lxb(d,'attachmentUUID',f));d.d=pcb(new ncb(),'images/upload.gif','Upload');gA(b,e);gA(b,cC(new aC(),'upload:'));gA(b,d.d);cH(d.b,b);d.c=ubb(new rbb(),d.sb(),c);if(!d.a.c)vbb(d.c,'Upload new version:',d.b);a=wp(new qp(),'Download');a.x(Cwb(new Bwb(),d,f));vbb(d.c,'Download current version:',a);lB(d.d,axb(new Fwb(),d));mr(d,d.c);d.c.xe('100%');AN(d,d.Bb());}
+function oxb(a){idb('Uploading...');}
+function pxb(a){mv(a.b);}
+function Awb(){}
+_=Awb.prototype=new kr();_.tN=Ffc+'AssetAttachmentFileWidget';_.tI=256;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function kfb(b,a,c){ixb(b,a,c);jxb(b,kz(new nw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
+function mfb(){return 'images/decision_table.png';}
+function nfb(){return 'decision-Table-upload';}
+function jfb(){}
+_=jfb.prototype=new Awb();_.sb=mfb;_.Bb=nfb;_.tN=Bfc+'DecisionTableXLSWidget';_.tI=257;function pfb(){pfb=v2;xfb=C0(new a0());sfb=C0(new a0());rfb=C0(new a0());qfb=zb('[Ljava.lang.String;',607,1,['not','exists','or']);{d1(xfb,'==','is equal to');d1(xfb,'!=','is not equal to');d1(xfb,'<','is less than');d1(xfb,'<=','less than or equal to');d1(xfb,'>','greater than');d1(xfb,'>=','greater than or equal to');d1(xfb,'|| ==','or equal to');d1(xfb,'|| !=','or not equal to');d1(xfb,'&& !=','and not equal to');d1(xfb,'&& >','and greater than');d1(xfb,'&& <','and less than');d1(xfb,'|| >','or greater than');d1(xfb,'|| <','or less than');d1(xfb,'&& <','and less than');d1(xfb,'|| >=','or greater than (or equal to)');d1(xfb,'|| <=','or less than (or equal to)');d1(xfb,'&& >=','and greater than (or equal to)');d1(xfb,'&& <=','or less than (or equal to)');d1(xfb,'&& contains','and contains');d1(xfb,'|| contains','or contains');d1(xfb,'&& matches','and matches');d1(xfb,'|| matches','or mat!
 ches');d1(xfb,'|| excludes','or excludes');d1(xfb,'&& excludes','and excludes');d1(xfb,'soundslike','sounds like');d1(sfb,'not','There is no');d1(sfb,'exists','There exists');d1(sfb,'or','Any of');d1(rfb,'assert','Insert');d1(rfb,'assertLogical','Logically insert');d1(rfb,'retract','Retract');d1(rfb,'set','Set');d1(rfb,'modify','Modify');}}
+function tfb(a){pfb();return wfb(a,rfb);}
+function ufb(a){pfb();return wfb(a,sfb);}
+function vfb(a){pfb();return wfb(a,xfb);}
+function wfb(a,b){pfb();if(F0(b,a)){return Fb(c1(b,a),1);}else{return a;}}
+var qfb,rfb,sfb,xfb;function Bfb(){Bfb=v2;pgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=']);rgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);ngb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);lgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);qgb=zb('[Ljava.lang.String;',607,1,['==','!=']);ogb=zb('[Ljava.lang.String;',607,1,['==','!=','<','>','<=','>=']);sgb=zb('[Ljava.lang.String;',607,1,['==','!=','matches','soundslike']);mgb=zb('[Ljava.lang.String;',607,1,['contains','excludes','==','!=']);}
+function zfb(a){a.h=C0(new a0());a.c=C0(new a0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[609],[10],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[609],[10],[0],null);}
+function Afb(a){Bfb();zfb(a);return a;}
+function Cfb(c,a,b){var d;d=Fb(c.f.fc(a+'.'+b),1);if(d===null){return pgb;}else if(qU(d,'String')){return rgb;}else if(qU(d,'Comparable')||qU(d,'Numeric')){return ngb;}else if(qU(d,'Collection')){return lgb;}else{return pgb;}}
+function Efb(i,g,d){var a,b,c,e,f,h,j;c=fgb(i);j=Fb(c1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(qU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.fc(f),63);}}}}return Fb(i.c.fc(g.c+'.'+d),63);}
+function Dfb(f,g,a,c){var b,d,e,h,i;b=fgb(f);h=Fb(c1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(qU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.fc(e),63);}}}return Fb(f.c.fc(g+'.'+c),63);}
+function agb(b,a){return Fb(b.g.fc(a),63);}
+function Ffb(a,c){var b;b=Fb(a.h.fc(c),1);return Fb(a.g.fc(b),63);}
+function bgb(c,a,b){return Fb(c.f.fc(a+'.'+b),1);}
+function cgb(a){return ggb(a,a.h.oc());}
+function dgb(c,a,b){var d;d=Fb(c.f.fc(a+'.'+b),1);if(d===null){return qgb;}else if(qU(d,'String')){return sgb;}else if(qU(d,'Comparable')||qU(d,'Numeric')){return ogb;}else if(qU(d,'Collection')){return mgb;}else{return qgb;}}
+function egb(a,b){return a.h.cb(b);}
+function fgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=C0(new a0());e=g.c.oc();for(b=tW(e);AW(b);){d=Fb(BW(b),1);if(rU(d,91)!=(-1)){c=rU(d,91);a=AU(d,0,c);f=AU(d,c+1,rU(d,93));h=AU(f,0,rU(f,61));d1(g.d,a,h);}}}return g.d;}
+function ggb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[607],[1],[d.b.a.c],null);b=0;for(c=tW(d);AW(c);){a[b]=Fb(BW(c),1);b++;}return a;}
+function yfb(){}
+_=yfb.prototype=new xT();_.tN=Cfc+'SuggestionCompletionEngine';_.tI=258;_.d=null;_.e=null;_.f=null;_.g=null;var lgb,mgb,ngb,ogb,pgb,qgb,rgb,sgb;function jgb(b,a){a.a=Fb(b.Ad(),72);a.b=Fb(b.Ad(),72);a.c=Fb(b.Ad(),57);a.e=Fb(b.Ad(),63);a.f=Fb(b.Ad(),57);a.g=Fb(b.Ad(),57);a.h=Fb(b.Ad(),57);}
+function kgb(b,a){b.bf(a.a);b.bf(a.b);b.bf(a.c);b.bf(a.e);b.bf(a.f);b.bf(a.g);b.bf(a.h);}
+function ugb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[623],[23],[0],null);}
+function vgb(a){ugb(a);return a;}
+function wgb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[623],[23],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[623],[23],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
+function ygb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[623],[23],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
+function tgb(){}
+_=tgb.prototype=new xT();_.tN=Dfc+'ActionFieldList';_.tI=259;function Bgb(b,a){a.b=Fb(b.Ad(),73);}
+function Cgb(b,a){b.bf(a.b);}
+function Egb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Dgb(){}
+_=Dgb.prototype=new xT();_.tN=Dfc+'ActionFieldValue';_.tI=260;_.a=null;_.b=null;_.c=null;function chb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
+function dhb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
+function ghb(a,b){vgb(a);a.a=b;return a;}
+function fhb(a){vgb(a);return a;}
+function ehb(){}
+_=ehb.prototype=new tgb();_.tN=Dfc+'ActionInsertFact';_.tI=261;_.a=null;function khb(b,a){a.a=b.Bd();Bgb(b,a);}
+function lhb(b,a){b.cf(a.a);Cgb(b,a);}
+function ohb(b,a){ghb(b,a);return b;}
+function nhb(a){fhb(a);return a;}
+function mhb(){}
+_=mhb.prototype=new ehb();_.tN=Dfc+'ActionInsertLogicalFact';_.tI=262;function shb(b,a){khb(b,a);}
+function thb(b,a){lhb(b,a);}
+function vhb(a,b){a.a=b;return a;}
+function uhb(){}
+_=uhb.prototype=new xT();_.tN=Dfc+'ActionRetractFact';_.tI=263;_.a=null;function zhb(b,a){a.a=b.Bd();}
+function Ahb(b,a){b.cf(a.a);}
+function Dhb(a,b){vgb(a);a.a=b;return a;}
+function Chb(a){vgb(a);return a;}
+function Bhb(){}
+_=Bhb.prototype=new tgb();_.tN=Dfc+'ActionSetField';_.tI=264;_.a=null;function bib(b,a){a.a=b.Bd();Bgb(b,a);}
+function cib(b,a){b.cf(a.a);Cgb(b,a);}
+function fib(b,a){Dhb(b,a);return b;}
+function eib(a){Chb(a);return a;}
+function dib(){}
+_=dib.prototype=new Bhb();_.tN=Dfc+'ActionUpdateField';_.tI=265;function jib(b,a){bib(b,a);}
+function kib(b,a){cib(b,a);}
+function mib(a,b){a.b=b;return a;}
+function nib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[631],[31],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[631],[31],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
+function lib(){}
+_=lib.prototype=new xT();_.tN=Dfc+'CompositeFactPattern';_.tI=266;_.a=null;_.b=null;function rib(b,a){a.a=Fb(b.Ad(),74);a.b=b.Bd();}
+function sib(b,a){b.bf(a.a);b.cf(a.b);}
+function uib(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[621],[21],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[621],[21],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
+function wib(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[621],[21],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
+function tib(){}
+_=tib.prototype=new xT();_.tN=Dfc+'CompositeFieldConstraint';_.tI=267;_.a=null;_.b=null;function zib(b,a){a.a=b.Bd();a.b=Fb(b.Ad(),75);}
+function Aib(b,a){b.cf(a.a);b.bf(a.b);}
+function yjb(){}
+_=yjb.prototype=new xT();_.tN=Dfc+'ISingleFieldConstraint';_.tI=268;_.e=0;_.f=null;function Bib(){}
+_=Bib.prototype=new yjb();_.tN=Dfc+'ConnectiveConstraint';_.tI=269;_.a=null;function Fib(b,a){a.a=b.Bd();Cjb(b,a);}
+function ajb(b,a){b.cf(a.a);Djb(b,a);}
+function djb(b){var a;a=new bjb();a.a=b.a;return a;}
+function ejb(e){var a,b,c,d;b=BU(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
+function jjb(){return ejb(this);}
+function bjb(){}
+_=bjb.prototype=new xT();_.tS=jjb;_.tN=Dfc+'DSLSentence';_.tI=270;_.a=null;function hjb(b,a){a.a=b.Bd();}
+function ijb(b,a){b.cf(a.a);}
+function ljb(b,a){b.c=a;return b;}
+function mjb(b,a){if(b.b===null)b.b=new tib();uib(b.b,a);}
+function ojb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[621],[21],[0],null);}else{return a.b.b;}}
+function pjb(a){if(a.a!==null&& !qU('',a.a)){return true;}else{return false;}}
+function qjb(b,a){wib(b.b,a);}
+function kjb(){}
+_=kjb.prototype=new xT();_.tN=Dfc+'FactPattern';_.tI=271;_.a=null;_.b=null;_.c=null;function tjb(b,a){a.a=b.Bd();a.b=Fb(b.Ad(),30);a.c=b.Bd();}
+function ujb(b,a){b.cf(a.a);b.bf(a.b);b.cf(a.c);}
+function Cjb(b,a){a.e=b.yd();a.f=b.Bd();}
+function Djb(b,a){b.Fe(a.e);b.cf(a.f);}
+function akb(b,a,c){b.a=a;b.b=c;return b;}
+function gkb(){var a;a=cU(new bU());eU(a,this.a);if(qU('no-loop',this.a)){eU(a,' ');eU(a,this.b===null?'true':this.b);}else if(qU('salience',this.a)){eU(a,' ');eU(a,this.b);}else if(this.b!==null){eU(a,' "');eU(a,this.b);eU(a,'"');}return iU(a);}
+function Fjb(){}
+_=Fjb.prototype=new xT();_.tS=gkb;_.tN=Dfc+'RuleAttribute';_.tI=272;_.a=null;_.b=null;function ekb(b,a){a.a=b.Bd();a.b=b.Bd();}
+function fkb(b,a){b.cf(a.a);b.cf(a.b);}
+function ikb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[618],[18],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[619],[19],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[620],[20],[0],null);}
+function jkb(a){ikb(a);return a;}
+function kkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[618],[18],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function lkb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[619],[19],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[619],[19],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
+function mkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[620],[20],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[620],[20],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
+function okb(h){var a,b,c,d,e,f,g;g=FX(new DX());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,31)){b=Fb(f,31);if(pjb(b)){bY(g,b.a);}for(e=0;e<ojb(b).a;e++){c=ojb(b)[e];if(ac(c,32)){a=Fb(c,32);if(Fkb(a)){bY(g,a.b);}}}}}return g;}
+function pkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],31)){b=Fb(c.b[a],31);if(b.a!==null&&qU(d,b.a)){return b;}}}return null;}
+function qkb(d){var a,b,c;if(d.b===null){return null;}b=FX(new DX());for(a=0;a<d.b.a;a++){if(ac(d.b[a],31)){c=Fb(d.b[a],31);if(c.a!==null){bY(b,c.a);}}}return b;}
+function rkb(k,b){var a,c,d,e,f,g,h,i,j;j=FX(new DX());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,31)){d=Fb(i,31);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Fkb(a)){bY(j,a.b);}}}}if(pjb(d)){bY(j,d.a);}}else{if(pjb(d)){bY(j,d.a);}}}}return j;}
+function skb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],27)){d=Fb(e.e[b],27);if(qU(d.a,a)){return true;}}else if(ac(e.e[b],26)){c=Fb(e.e[b],26);if(qU(c.a,a)){return true;}}}return false;}
+function tkb(b,a){return fY(okb(b),a);}
+function ukb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[618],[18],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function vkb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[619],[19],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],31)){e=Fb(f.b[a],31);if(e.a!==null&&skb(f,e.a)){return false;}}}}f.b=d;return true;}
+function wkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[620],[20],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
+function hkb(){}
+_=hkb.prototype=new xT();_.tN=Dfc+'RuleModel';_.tI=273;_.c='1.0';_.d=null;function zkb(b,a){a.a=Fb(b.Ad(),76);a.b=Fb(b.Ad(),77);a.c=b.Bd();a.d=b.Bd();a.e=Fb(b.Ad(),78);}
+function Akb(b,a){b.bf(a.a);b.bf(a.b);b.cf(a.c);b.cf(a.d);b.bf(a.e);}
+function Ckb(b,a){b.c=a;return b;}
+function Dkb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',615,15,[new Bib()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[615],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new Bib();c.a=b;}}
+function Fkb(a){if(a.b!==null&& !qU('',a.b)){return true;}else{return false;}}
+function Bkb(){}
+_=Bkb.prototype=new yjb();_.tN=Dfc+'SingleFieldConstraint';_.tI=274;_.a=null;_.b=null;_.c=null;_.d=null;function clb(b,a){a.a=Fb(b.Ad(),79);a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();Cjb(b,a);}
+function dlb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);Djb(b,a);}
+function Dlb(d,b,c,a){d.e=c;d.a=a;d.d=kab(new iab());d.f=b;d.b=c.a;d.c=agb(d.a,c.a);AN(d.d,'model-builderInner-Background');Flb(d);mr(d,d.d);return d;}
+function Flb(e){var a,b,c,d,f;hy(e.d);nab(e.d,0,0,bmb(e));c=kab(new iab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];nab(c,a,0,amb(e,f));nab(c,a,1,dmb(e,f));b=a;d=ocb(new ncb(),'images/delete_item_small.gif');lB(d,glb(new flb(),e,b));nab(c,a,2,d);}nab(e.d,0,1,c);}
+function amb(a,b){return cC(new aC(),b.a);}
+function bmb(d){var a,b,c;c=fA(new dA());b=ocb(new ncb(),'images/add_field_to_fact.gif');b.pe('Add another field to this so you can set its value.');lB(b,wlb(new vlb(),d));a='assert';if(ac(d.e,25)){a='assertLogical';}gA(c,zcb(new ycb(),tfb(a)+' '+d.e.a,'modeller-action-Label'));gA(c,b);return c;}
+function cmb(d,e){var a,b,c;c=dcb(new Ebb(),'images/newex_wiz.gif','Add a field');AN(c,'ks-popups-Popup');a=sC(new kC());vC(a,'...');for(b=0;b<d.c.a;b++){vC(a,d.c[b]);}bD(a,0);ecb(c,'Add field',a);uC(a,Alb(new zlb(),d,a,c));rE(c,rN(e),sN(e));uE(c);}
+function dmb(c,d){var a,b;b=Dfb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return xpb(d.c,olb(new nlb(),c,d),b);}else{a=FK(new qK());BK(a,d.c);tK(a,slb(new rlb(),c,d,a));if(qU(d.b,'Numeric')){uK(a,rnb(a));}return a;}}
+function elb(){}
+_=elb.prototype=new bab();_.tN=Efc+'ActionInsertFactWidget';_.tI=275;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function glb(b,a,c){b.a=a;b.b=c;return b;}
+function ilb(b){var a;a=hfb(new Eeb(),'Remove this item?',klb(new jlb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
+function flb(){}
+_=flb.prototype=new xT();_.wc=ilb;_.tN=Efc+'ActionInsertFactWidget$1';_.tI=276;function klb(b,a,c){b.a=a;b.b=c;return b;}
+function mlb(){ygb(this.a.a.e,this.b);rwb(this.a.a.f);}
+function jlb(){}
+_=jlb.prototype=new xT();_.nb=mlb;_.tN=Efc+'ActionInsertFactWidget$2';_.tI=277;function olb(b,a,c){b.a=c;return b;}
+function qlb(a){this.a.c=a;}
+function nlb(){}
+_=nlb.prototype=new xT();_.Ce=qlb;_.tN=Efc+'ActionInsertFactWidget$3';_.tI=278;function slb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function ulb(a){this.c.c=xK(this.b);rwb(this.a.f);}
+function rlb(){}
+_=rlb.prototype=new xT();_.vc=ulb;_.tN=Efc+'ActionInsertFactWidget$4';_.tI=279;function wlb(b,a){b.a=a;return b;}
+function ylb(a){cmb(this.a,a);}
+function vlb(){}
+_=vlb.prototype=new xT();_.wc=ylb;_.tN=Efc+'ActionInsertFactWidget$5';_.tI=280;function Alb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Clb(c){var a,b;a=BC(this.b,CC(this.b));b=bgb(this.a.a,this.a.e.a,a);wgb(this.a.e,Egb(new Dgb(),a,'',b));rwb(this.a.f);this.c.ic();}
+function zlb(){}
+_=zlb.prototype=new xT();_.vc=Clb;_.tN=Efc+'ActionInsertFactWidget$6';_.tI=281;function fmb(c,a,b){c.a=rt(new lt());AN(c.a,'model-builderInner-Background');c.a.ve(0,0,zcb(new ycb(),tfb('retract'),'modeller-action-Label'));c.a.ve(0,1,zcb(new ycb(),'['+b.a+']','modeller-action-Label'));mr(c,c.a);return c;}
+function emb(){}
+_=emb.prototype=new kr();_.tN=Efc+'ActionRetractFactWidget';_.tI=282;_.a=null;function knb(e,b,d,a){var c;e.d=d;e.a=a;e.c=kab(new iab());e.e=b;AN(e.c,'model-builderInner-Background');if(egb(e.a,d.a)){e.b=Ffb(e.a,d.a);e.f=Fb(e.a.h.fc(d.a),1);}else{c=pkb(b.c,d.a);e.b=agb(e.a,c.c);e.f=c.c;}mnb(e);mr(e,e.c);return e;}
+function mnb(e){var a,b,c,d,f;hy(e.c);nab(e.c,0,0,onb(e));c=kab(new iab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];nab(c,a,0,nnb(e,f));nab(c,a,1,qnb(e,f));b=a;d=ocb(new ncb(),'images/delete_item_small.gif');lB(d,jmb(new imb(),e,b));nab(c,a,2,d);}nab(e.c,0,1,c);}
+function nnb(a,b){return cC(new aC(),b.a);}
+function onb(d){var a,b,c;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe('Add another field to this so you can set its value.');lB(a,rmb(new qmb(),d));c='set';if(ac(d.d,28)){c='modify';}gA(b,zcb(new ycb(),tfb(c)+' ['+d.d.a+']','modeller-action-Label'));gA(b,a);return b;}
+function pnb(d,e){var a,b,c;c=dcb(new Ebb(),'images/newex_wiz.gif','Add a field');AN(c,'ks-popups-Popup');a=sC(new kC());vC(a,'...');for(b=0;b<d.b.a;b++){vC(a,d.b[b]);}bD(a,0);ecb(c,'Add field',a);uC(a,vmb(new umb(),d,a,c));rE(c,rN(e),sN(e));uE(c);}
+function qnb(d,f){var a,b,c,e;e='';if(egb(d.a,d.d.a)){e=Fb(d.a.h.fc(d.d.a),1);}else{e=pkb(d.e.c,d.d.a).c;}b=Dfb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return xpb(f.c,zmb(new ymb(),d,f),b);}else{c=aH(new yG());a=FK(new qK());BK(a,f.c);if(uU(f.c)!=0){bL(a,uU(f.c));}if(qU(f.b,'Numeric')){uK(a,rnb(a));}tK(a,Dmb(new Cmb(),d,f,a));uK(a,mbb(new lbb(),bnb(new anb(),d,a)));cH(c,a);return c;}}
+function rnb(a){return fnb(new enb(),a);}
+function snb(){return mab(this.c);}
+function hmb(){}
+_=hmb.prototype=new bab();_.mc=snb;_.tN=Efc+'ActionSetFieldWidget';_.tI=283;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function jmb(b,a,c){b.a=a;b.b=c;return b;}
+function lmb(b){var a;a=hfb(new Eeb(),'Remove this item?',nmb(new mmb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
+function imb(){}
+_=imb.prototype=new xT();_.wc=lmb;_.tN=Efc+'ActionSetFieldWidget$1';_.tI=284;function nmb(b,a,c){b.a=a;b.b=c;return b;}
+function pmb(){ygb(this.a.a.d,this.b);rwb(this.a.a.e);}
+function mmb(){}
+_=mmb.prototype=new xT();_.nb=pmb;_.tN=Efc+'ActionSetFieldWidget$2';_.tI=285;function rmb(b,a){b.a=a;return b;}
+function tmb(a){pnb(this.a,a);}
+function qmb(){}
+_=qmb.prototype=new xT();_.wc=tmb;_.tN=Efc+'ActionSetFieldWidget$3';_.tI=286;function vmb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function xmb(c){var a,b;a=BC(this.b,CC(this.b));b=bgb(this.a.a,this.a.f,a);wgb(this.a.d,Egb(new Dgb(),a,'',b));rwb(this.a.e);this.c.ic();}
+function umb(){}
+_=umb.prototype=new xT();_.vc=xmb;_.tN=Efc+'ActionSetFieldWidget$4';_.tI=287;function zmb(b,a,c){b.a=c;return b;}
+function Bmb(a){this.a.c=a;}
+function ymb(){}
+_=ymb.prototype=new xT();_.Ce=Bmb;_.tN=Efc+'ActionSetFieldWidget$5';_.tI=288;function Dmb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Fmb(a){this.b.c=xK(this.a);}
+function Cmb(){}
+_=Cmb.prototype=new xT();_.vc=Fmb;_.tN=Efc+'ActionSetFieldWidget$6';_.tI=289;function bnb(b,a,c){b.a=c;return b;}
+function dnb(){bL(this.a,uU(xK(this.a)));}
+function anb(){}
+_=anb.prototype=new xT();_.nb=dnb;_.tN=Efc+'ActionSetFieldWidget$7';_.tI=290;function fnb(a,b){a.a=b;return a;}
+function hnb(a,b,c){}
+function inb(c,a,b){if(hS(a)&&a!=61&& !yU(xK(this.a),'=')){vK(Fb(c,80));}}
+function jnb(a,b,c){}
+function enb(){}
+_=enb.prototype=new xT();_.Fc=hnb;_.ad=inb;_.bd=jnb;_.tN=Efc+'ActionSetFieldWidget$8';_.tI=291;function Cnb(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=kab(new iab());AN(d.b,'model-builderInner-Background');Enb(d);mr(d,d.b);return d;}
+function Enb(c){var a,b,d;nab(c.b,0,0,Fnb(c));if(c.d.a!==null){d=wab(new vab());a=c.d.a;for(b=0;b<a.a;b++){oO(d,psb(new nqb(),c.c,a[b],c.a,false));}nab(c.b,0,1,d);}}
+function Fnb(c){var a,b;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");lB(a,vnb(new unb(),c));gA(b,cC(new aC(),ufb(c.d.b)));gA(b,a);AN(b,'modeller-composite-Label');return b;}
+function aob(e,f){var a,b,c,d;a=sC(new kC());b=e.a.e;vC(a,'Choose...');for(c=0;c<b.a;c++){vC(a,b[c]);}bD(a,0);d=dcb(new Ebb(),'images/new_fact.gif','New fact pattern...');ecb(d,'choose fact type',a);uC(a,znb(new ynb(),e,a,d));AN(d,'ks-popups-Popup');rE(d,rN(f)-400,sN(f));uE(d);}
+function bob(){return mab(this.b);}
+function tnb(){}
+_=tnb.prototype=new bab();_.mc=bob;_.tN=Efc+'CompositeFactPatternWidget';_.tI=292;_.a=null;_.b=null;_.c=null;_.d=null;function vnb(b,a){b.a=a;return b;}
+function xnb(a){aob(this.a,a);}
+function unb(){}
+_=unb.prototype=new xT();_.wc=xnb;_.tN=Efc+'CompositeFactPatternWidget$1';_.tI=293;function znb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Bnb(a){nib(this.a.d,ljb(new kjb(),BC(this.b,CC(this.b))));rwb(this.a.c);this.c.ic();}
+function ynb(){}
+_=ynb.prototype=new xT();_.vc=Bnb;_.tN=Efc+'CompositeFactPatternWidget$2';_.tI=294;function npb(f,d,b,a,c,g){var e;f.a=a;if(qU(g,'Numeric')){f.d=true;}else{f.d=false;}if(qU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',607,1,['true','false']);}f.c=c.c;e=c.a;f.b=Efb(e,d,b);f.e=aH(new yG());spb(f);mr(f,f.e);return f;}
+function opb(c,b){var a;a=FK(new qK());AN(a,'constraint-value-Editor');if(b.f===null){BK(a,'');}else{BK(a,b.f);}if(b.f===null||uU(b.f)<5){bL(a,3);}else{bL(a,uU(b.f)-1);}tK(a,Dob(new Cob(),c,b,a));uK(a,mbb(new lbb(),bpb(new apb(),c,a)));return a;}
+function qpb(b,a){spb(b);a.ic();}
+function rpb(b){var a;if(b.b!==null){return xpb(b.a.f,qob(new pob(),b),b.b);}else{a=opb(b,b.a);if(b.d){uK(a,new tob());}a.pe('This is a literal value. What is shown is what the field is checked against.');return a;}}
+function spb(b){var a;b.e.F();if(b.a.e==0){a=kB(new uA(),'images/edit.gif');lB(a,iob(new dob(),b));cH(b.e,a);}else{switch(b.a.e){case 1:cH(b.e,rpb(b));break;case 3:cH(b.e,tpb(b));break;case 2:cH(b.e,vpb(b));break;default:break;}}}
+function tpb(e){var a,b,c,d;a=opb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=kB(new uA(),'images/function_assets.gif');c.pe(d);a.pe(d);b=wpb(e,c,a);return b;}
+function upb(e,g,a){var b,c,d,f;b=dcb(new Ebb(),'images/newex_wiz.gif','Field value');d=wp(new qp(),'Literal value');d.x(fpb(new epb(),e,a,b));ecb(b,'Literal value:',wpb(e,d,wcb(new rcb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));fcb(b,kz(new nw(),'<hr/>'));fcb(b,zcb(new ycb(),'Advanced options','weak-Text'));if(rkb(e.c,e.a).b>0){f=wp(new qp(),'Bound variable');f.x(jpb(new ipb(),e,a,b));ecb(b,'A variable:',wpb(e,f,wcb(new rcb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=wp(new qp(),'New formula');c.x(fob(new eob(),e,a,b));ecb(b,'A formula:',wpb(e,c,wcb(new rcb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));rE(b,rN(g),sN(g));uE(b);}
+function vpb(c){var a,b,d,e;e=rkb(c.c,c.a);a=sC(new kC());if(c.a.f===null){vC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(gY(e,b),1);vC(a,d);if(c.a.f!==null&&qU(c.a.f,d)){bD(a,b);}}uC(a,mob(new lob(),c,a));return a;}
+function wpb(d,a,c){var b;b=fA(new dA());gA(b,a);gA(b,c);b.xe('100%');return b;}
+function xpb(b,k,d){var a,c,e,f,g,h,i,j;a=sC(new kC());if(b===null||qU('',b)){vC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(rU(i,61)>0){h=zpb(i);f=h[0];c=h[1];j=f;wC(a,c,f);}else{wC(a,i,i);j=i;}if(b!==null&&qU(b,j)){bD(a,e);g=true;}}if(b!==null&& !g){wC(a,b,b);bD(a,d.a);}uC(a,zob(new yob(),k,a));return a;}
+function ypb(){return this.j;}
+function zpb(c){var a,b;b=yb('[Ljava.lang.String;',[607],[1],[2],null);a=rU(c,61);b[0]=AU(c,0,a);b[1]=AU(c,a+1,uU(c));return b;}
+function cob(){}
+_=cob.prototype=new bab();_.mc=ypb;_.tN=Efc+'ConstraintValueEditor';_.tI=295;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function iob(b,a){b.a=a;return b;}
+function kob(a){upb(this.a,a,this.a.a);}
+function dob(){}
+_=dob.prototype=new xT();_.wc=kob;_.tN=Efc+'ConstraintValueEditor$1';_.tI=296;function fob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function hob(a){this.b.e=3;qpb(this.a,this.c);}
+function eob(){}
+_=eob.prototype=new xT();_.wc=hob;_.tN=Efc+'ConstraintValueEditor$10';_.tI=297;function mob(b,a,c){b.a=a;b.b=c;return b;}
+function oob(a){this.a.a.f=BC(this.b,CC(this.b));}
+function lob(){}
+_=lob.prototype=new xT();_.vc=oob;_.tN=Efc+'ConstraintValueEditor$2';_.tI=298;function qob(b,a){b.a=a;return b;}
+function sob(a){this.a.a.f=a;}
+function pob(){}
+_=pob.prototype=new xT();_.Ce=sob;_.tN=Efc+'ConstraintValueEditor$3';_.tI=299;function vob(a,b,c){}
+function wob(c,a,b){if(hS(a)){vK(Fb(c,80));}}
+function xob(a,b,c){}
+function tob(){}
+_=tob.prototype=new xT();_.Fc=vob;_.ad=wob;_.bd=xob;_.tN=Efc+'ConstraintValueEditor$4';_.tI=300;function zob(a,c,b){a.b=c;a.a=b;return a;}
+function Bob(a){this.b.Ce(DC(this.a,CC(this.a)));}
+function yob(){}
+_=yob.prototype=new xT();_.vc=Bob;_.tN=Efc+'ConstraintValueEditor$5';_.tI=301;function Dob(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Fob(a){this.c.f=xK(this.b);dab(this.a);}
+function Cob(){}
+_=Cob.prototype=new xT();_.vc=Fob;_.tN=Efc+'ConstraintValueEditor$6';_.tI=302;function bpb(b,a,c){b.a=c;return b;}
+function dpb(){bL(this.a,uU(xK(this.a)));}
+function apb(){}
+_=apb.prototype=new xT();_.nb=dpb;_.tN=Efc+'ConstraintValueEditor$7';_.tI=303;function fpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function hpb(a){this.b.e=1;qpb(this.a,this.c);}
+function epb(){}
+_=epb.prototype=new xT();_.wc=hpb;_.tN=Efc+'ConstraintValueEditor$8';_.tI=304;function jpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function lpb(a){this.b.e=2;qpb(this.a,this.c);}
+function ipb(){}
+_=ipb.prototype=new xT();_.wc=lpb;_.tN=Efc+'ConstraintValueEditor$9';_.tI=305;function gqb(b,a){b.a=rab(new qab());b.c=FX(new DX());b.b=a;jqb(b);return b;}
+function hqb(b,a){gA(b.a,a);bY(b.c,a);}
+function jqb(a){kqb(a,a.b.a);mr(a,a.a);}
+function kqb(g,e){var a,b,c,d,f;b=BU(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=bqb(new Fpb(),g);hqb(g,c);}else if(a==125){fqb(c,uU(dqb(c))+1);c=null;}else{if(c===null&&d===null){d=bC(new aC());hqb(g,d);}if(d!==null){hC(d,gC(d)+Eb(a));}else if(c!==null){eqb(c,dqb(c)+Eb(a));}}}}
+function lqb(c){var a,b,d;b='';for(a=c.c.nc();a.hc();){d=Fb(a.pc(),13);if(ac(d,81)){b=b+gC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+dqb(Fb(d,82))+'} ';}}c.b.a=DU(b);}
+function mqb(){return tab(this.a);}
+function Apb(){}
+_=Apb.prototype=new bab();_.mc=mqb;_.tN=Efc+'DSLSentenceWidget';_.tI=306;_.a=null;_.b=null;_.c=null;function Cpb(b,a){b.a=a;return b;}
+function Epb(a){lqb(this.a.c);dab(this.a);}
+function Bpb(){}
+_=Bpb.prototype=new xT();_.vc=Epb;_.tN=Efc+'DSLSentenceWidget$1';_.tI=307;function aqb(a){a.b=fA(new dA());}
+function bqb(b,a){b.c=a;aqb(b);b.a=FK(new qK());gA(b.b,kz(new nw(),'&nbsp;'));gA(b.b,b.a);gA(b.b,kz(new nw(),'&nbsp;'));tK(b.a,Cpb(new Bpb(),b));mr(b,b.b);return b;}
+function dqb(a){return xK(a.a);}
+function eqb(b,a){BK(b.a,a);}
+function fqb(b,a){bL(b.a,a);}
+function Fpb(){}
+_=Fpb.prototype=new bab();_.tN=Efc+'DSLSentenceWidget$FieldEditor';_.tI=308;_.a=null;function osb(a){a.c=kab(new iab());}
+function psb(k,h,i,c,a){var b,d,e,f,g,j;osb(k);k.e=Fb(i,31);k.b=c;k.d=h;k.a=a;nab(k.c,0,0,xsb(k));f=ut(k.c);bx(f,0,0,(uz(),vz),(Dz(),Fz));ex(f,0,0,'modeller-fact-TypeHeader');g=kab(new iab());nab(k.c,1,0,g);for(j=0;j<ojb(k.e).a;j++){d=ojb(k.e)[j];e=j;Asb(k,g,j,d,true);b=ocb(new ncb(),'images/delete_item_small.gif');b.pe('Remove this whole restriction');lB(b,lrb(new oqb(),k,e));nab(g,j,5,b);}if(k.a)AN(k.c,'modeller-fact-pattern-Widget');mr(k,k.c);return k;}
+function rsb(j,b){var a,c,d,e,f,g,h,i;f=fA(new dA());d=null;e=ocb(new ncb(),'images/add_field_to_fact.gif');e.pe('Add a field to this nested constraint.');lB(e,prb(new orb(),j,b));if(qU(b.a,'&&')){d='All of:';}else{d='Any of:';}gA(f,e);gA(f,kz(new nw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=kab(new iab());AN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){Asb(j,h,g,i[g],false);c=g;a=ocb(new ncb(),'images/delete_item_small.gif');a.pe('Remove this (nested) restriction');lB(a,trb(new srb(),j,b,c));nab(h,g,5,a);}}gA(f,h);return f;}
+function ssb(g,b,c){var a,d,e,f;f=Cfb(g.b,g.e.c,c);a=sC(new kC());vC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];wC(a,vfb(e),e);if(qU(e,b.a)){bD(a,d+1);}}uC(a,Cqb(new Bqb(),g,b,a));return a;}
+function tsb(d,a,b,c){var e;e=bgb(d.d.a,b,c);return npb(new cob(),d.e,c,a,d.d,e);}
+function usb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=rab(new qab());for(e=0;e<a.a.a;e++){b=a.a[e];gA(d,ssb(f,b,a.c));gA(d,tsb(f,b,c,a.c));}return d;}else{return null;}}
+function vsb(c,b){var a,d,e;if(c.a&& !skb(c.d.c,c.e.a)){d=fA(new dA());e=FK(new qK());if(c.e.a===null){BK(e,'');}else{BK(e,c.e.a);}bL(e,3);gA(d,e);a=wp(new qp(),'Set');a.x(yqb(new xqb(),c,e,b));gA(d,a);ecb(b,'Variable name',d);}}
+function wsb(e,c,d){var a,b;a=fA(new dA());AN(a,'modeller-field-Label');if(!Fkb(c)){if(e.a&&d){b=pcb(new ncb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');lB(b,erb(new drb(),e,c));gA(a,b);}}else{gA(a,cC(new aC(),'['+c.b+']'));}gA(a,cC(new aC(),c.c));return a;}
+function xsb(c){var a,b;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe('Add a field to this condition, or bind a varible to this fact.');lB(a,Frb(new Erb(),c));if(c.e.a!==null){gA(b,cC(new aC(),'['+c.e.a+'] '+c.e.c));}else{gA(b,cC(new aC(),c.e.c));}gA(b,a);return b;}
+function ysb(f,b){var a,c,d,e;e=dgb(f.b,f.e.c,b.c);a=sC(new kC());vC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];wC(a,vfb(d),d);if(qU(d,b.d)){bD(a,c+1);}}uC(a,arb(new Fqb(),f,b,a));return a;}
+function zsb(e,b){var a,c,d;d=fA(new dA());d.xe('100%');c=kB(new uA(),'images/function_assets.gif');c.pe('This is a formula expression that is evaluated to be true or false.');gA(d,c);if(b.f===null){b.f='';}a=FK(new qK());BK(a,b.f);tK(a,Brb(new Arb(),e,b,a));a.xe('100%');gA(d,a);return d;}
+function Asb(e,b,c,a,d){if(ac(a,32)){Bsb(e,e.d,b,c,a,d);}else if(ac(a,30)){nab(b,c,0,rsb(e,Fb(a,30)));pt(ut(b),c,0,5);}}
+function Bsb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){nab(d,f,0,wsb(h,b,g));nab(d,f,1,ysb(h,b));nab(d,f,2,Fsb(h,b,h.e.c));nab(d,f,3,usb(h,b,h.e.c));a=ocb(new ncb(),'images/add_connective.gif');a.pe('Add more options to this fields values.');lB(a,xrb(new wrb(),h,b,e));nab(d,f,4,a);}else if(b.e==5){nab(d,f,0,zsb(h,b));pt(ut(d),f,0,5);}}
+function Csb(d,g,a){var b,c,e,f;c=dcb(new Ebb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=ip(new hp());e=FK(new qK());b=wp(new qp(),'Set');jp(f,e);jp(f,b);b.x(irb(new hrb(),d,e,a,c));ecb(c,'Variable name',f);rE(c,rN(g),sN(g));uE(c);}
+function Esb(i,j){var a,b,c,d,e,f,g,h;g=dcb(new Ebb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);AN(g,'ks-popups-Popup');a=sC(new kC());vC(a,'...');c=agb(i.b,i.e.c);for(e=0;e<c.a;e++){vC(a,c[e]);}bD(a,0);uC(a,lsb(new ksb(),i,a,g));ecb(g,'Add a restriction on a field',a);b=sC(new kC());vC(b,'...');wC(b,'All of (And)','&&');wC(b,'Any of (Or)','||');bD(b,0);uC(b,qqb(new pqb(),i,b,g));f=wcb(new rcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=fA(new dA());gA(d,b);gA(d,f);ecb(g,'Multiple field constraint',d);fcb(g,zcb(new ycb(),'Advanced options','weak-Text'));h=wp(new qp(),'New formula');h.x(uqb(new tqb(),i,g));ecb(g,'Add a new formula style expression',h);vsb(i,g);rE(g,rN(j),sN(j));uE(g);}
+function Dsb(i,j,b){var a,c,d,e,f,g,h;h=dcb(new Ebb(),'images/newex_wiz.gif','Add fields to this constraint');AN(h,'ks-popups-Popup');a=sC(new kC());vC(a,'...');d=agb(i.b,i.e.c);for(f=0;f<d.a;f++){vC(a,d[f]);}bD(a,0);uC(a,dsb(new csb(),i,b,a,h));ecb(h,'Add a restriction on a field',a);c=sC(new kC());vC(c,'...');wC(c,'All of (And)','&&');wC(c,'Any of (Or)','||');bD(c,0);uC(c,hsb(new gsb(),i,c,b,h));g=wcb(new rcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=fA(new dA());gA(e,c);gA(e,g);ecb(h,'Multiple field constraint',e);rE(h,rN(j),sN(j));uE(h);}
+function Fsb(c,a,b){var d;d=bgb(c.d.a,b,a.c);return npb(new cob(),c.e,a.c,a,c.d,d);}
+function atb(){return mab(this.c);}
+function nqb(){}
+_=nqb.prototype=new bab();_.mc=atb;_.tN=Efc+'FactPatternWidget';_.tI=309;_.a=false;_.b=null;_.d=null;_.e=null;function lrb(b,a,c){b.a=a;b.b=c;return b;}
+function nrb(a){if(Bh('Remove this item?')){qjb(this.a.e,this.b);rwb(this.a.d);}}
+function oqb(){}
+_=oqb.prototype=new xT();_.wc=nrb;_.tN=Efc+'FactPatternWidget$1';_.tI=310;function qqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function sqb(b){var a;a=new tib();a.a=DC(this.b,CC(this.b));mjb(this.a.e,a);rwb(this.a.d);this.c.ic();}
+function pqb(){}
+_=pqb.prototype=new xT();_.vc=sqb;_.tN=Efc+'FactPatternWidget$10';_.tI=311;function uqb(b,a,c){b.a=a;b.b=c;return b;}
+function wqb(b){var a;a=new Bkb();a.e=5;mjb(this.a.e,a);rwb(this.a.d);this.b.ic();}
+function tqb(){}
+_=tqb.prototype=new xT();_.wc=wqb;_.tN=Efc+'FactPatternWidget$11';_.tI=312;function yqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Aqb(b){var a;a=xK(this.c);if(qwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=xK(this.c);rwb(this.a.d);this.b.ic();}
+function xqb(){}
+_=xqb.prototype=new xT();_.wc=Aqb;_.tN=Efc+'FactPatternWidget$12';_.tI=313;function Cqb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Eqb(a){this.b.a=DC(this.a,CC(this.a));}
+function Bqb(){}
+_=Bqb.prototype=new xT();_.vc=Eqb;_.tN=Efc+'FactPatternWidget$13';_.tI=314;function arb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function crb(a){this.c.d=DC(this.b,CC(this.b));dab(this.a.d);kV(),nV;}
+function Fqb(){}
+_=Fqb.prototype=new xT();_.vc=crb;_.tN=Efc+'FactPatternWidget$14';_.tI=315;function erb(b,a,c){b.a=a;b.b=c;return b;}
+function grb(a){Csb(this.a,a,this.b);}
+function drb(){}
+_=drb.prototype=new xT();_.wc=grb;_.tN=Efc+'FactPatternWidget$15';_.tI=316;function irb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function krb(b){var a;a=xK(this.d);if(qwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;rwb(this.a.d);this.c.ic();}
+function hrb(){}
+_=hrb.prototype=new xT();_.wc=krb;_.tN=Efc+'FactPatternWidget$16';_.tI=317;function prb(b,a,c){b.a=a;b.b=c;return b;}
+function rrb(a){Dsb(this.a,a,this.b);}
+function orb(){}
+_=orb.prototype=new xT();_.wc=rrb;_.tN=Efc+'FactPatternWidget$2';_.tI=318;function trb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vrb(a){if(Bh('Remove this item from nested constraint?')){wib(this.b,this.c);rwb(this.a.d);}}
+function srb(){}
+_=srb.prototype=new xT();_.wc=vrb;_.tN=Efc+'FactPatternWidget$3';_.tI=319;function xrb(b,a,c,d){b.a=c;b.b=d;return b;}
+function zrb(a){Dkb(this.a);rwb(this.b);}
+function wrb(){}
+_=wrb.prototype=new xT();_.wc=zrb;_.tN=Efc+'FactPatternWidget$4';_.tI=320;function Brb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Drb(a){this.c.f=xK(this.b);dab(this.a.d);}
+function Arb(){}
+_=Arb.prototype=new xT();_.vc=Drb;_.tN=Efc+'FactPatternWidget$5';_.tI=321;function Frb(b,a){b.a=a;return b;}
+function bsb(a){Esb(this.a,a);}
+function Erb(){}
+_=Erb.prototype=new xT();_.wc=bsb;_.tN=Efc+'FactPatternWidget$6';_.tI=322;function dsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function fsb(a){uib(this.c,Ckb(new Bkb(),BC(this.b,CC(this.b))));rwb(this.a.d);this.d.ic();}
+function csb(){}
+_=csb.prototype=new xT();_.vc=fsb;_.tN=Efc+'FactPatternWidget$7';_.tI=323;function hsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function jsb(b){var a;a=new tib();a.a=DC(this.c,CC(this.c));uib(this.b,a);rwb(this.a.d);this.d.ic();}
+function gsb(){}
+_=gsb.prototype=new xT();_.vc=jsb;_.tN=Efc+'FactPatternWidget$8';_.tI=324;function lsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nsb(a){mjb(this.a.e,Ckb(new Bkb(),BC(this.b,CC(this.b))));rwb(this.a.d);this.c.ic();}
+function ksb(){}
+_=ksb.prototype=new xT();_.vc=nsb;_.tN=Efc+'FactPatternWidget$9';_.tI=325;function ytb(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=tbb(new rbb());b=d.a;for(c=0;c<b.a;c++){a=b[c];vbb(f.a,a.a,Btb(f,a,c));}mr(f,f.a);return f;}
+function ztb(c,a){var b;b=gq(new fq());if(a.b===null){mq(b,true);a.b='true';}else{mq(b,qU(a.b,'true'));}b.x(dtb(new ctb(),c,a,b));return b;}
+function Btb(e,a,d){var b,c;if(qU(a.a,'no-loop')){return Ctb(e,d);}b=null;if(qU(a.a,'enabled')||qU(a.a,'auto-focus')||qU(a.a,'lock-on-active')){b=ztb(e,a);}else{b=Dtb(e,a);}c=rab(new qab());gA(c,b);gA(c,Ctb(e,d));return c;}
+function Ctb(c,a){var b;b=kB(new uA(),'images/delete_item_small.gif');lB(b,rtb(new qtb(),c,a));return b;}
+function Dtb(c,a){var b;b=FK(new qK());bL(b,uU(a.b)<3?3:uU(a.b));BK(b,a.b);tK(b,htb(new gtb(),c,a,b));if(qU(a.a,'date-effective')||qU(a.a,'date-expires')){if(a.b===null||qU('',a.b))BK(b,'dd-MMM-yyyy');bL(b,10);}uK(b,ltb(new ktb(),c,b));return b;}
+function Etb(){var a;a=sC(new kC());vC(a,'Choose...');vC(a,'salience');vC(a,'enabled');vC(a,'date-effective');vC(a,'date-expires');vC(a,'no-loop');vC(a,'agenda-group');vC(a,'activation-group');vC(a,'duration');vC(a,'auto-focus');vC(a,'lock-on-active');vC(a,'ruleflow-group');vC(a,'dialect');return a;}
+function Ftb(){return this.a.mc();}
+function btb(){}
+_=btb.prototype=new bab();_.mc=Ftb;_.tN=Efc+'RuleAttributeWidget';_.tI=326;_.a=null;_.b=null;_.c=null;function dtb(b,a,c,d){b.a=c;b.b=d;return b;}
+function ftb(a){this.a.b=lq(this.b)?'true':'false';}
+function ctb(){}
+_=ctb.prototype=new xT();_.wc=ftb;_.tN=Efc+'RuleAttributeWidget$1';_.tI=327;function htb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function jtb(a){this.b.b=xK(this.c);dab(this.a);}
+function gtb(){}
+_=gtb.prototype=new xT();_.vc=jtb;_.tN=Efc+'RuleAttributeWidget$2';_.tI=328;function ltb(b,a,c){b.a=c;return b;}
+function ntb(a,b,c){}
+function otb(a,b,c){}
+function ptb(a,b,c){bL(this.a,uU(xK(this.a)));}
+function ktb(){}
+_=ktb.prototype=new xT();_.Fc=ntb;_.ad=otb;_.bd=ptb;_.tN=Efc+'RuleAttributeWidget$3';_.tI=329;function rtb(b,a,c){b.a=a;b.b=c;return b;}
+function ttb(b){var a;a=hfb(new Eeb(),'Remove this rule option?',vtb(new utb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
+function qtb(){}
+_=qtb.prototype=new xT();_.wc=ttb;_.tN=Efc+'RuleAttributeWidget$4';_.tI=330;function vtb(b,a,c){b.a=a;b.b=c;return b;}
+function xtb(){ukb(this.a.a.b,this.b);rwb(this.a.a.c);}
+function utb(){}
+_=utb.prototype=new xT();_.nb=xtb;_.tN=Efc+'RuleAttributeWidget$5';_.tI=331;function fwb(b,a){b.c=Fb(a.b,83);b.a=uKb((sKb(),xKb),a.d.o);b.b=kab(new iab());pwb(b);AN(b.b,'model-builder-Background');mr(b,b.b);b.xe('100%');b.ne('100%');return b;}
+function gwb(b,a){mkb(b.c,Dhb(new Bhb(),a));rwb(b);}
+function hwb(b,a){mkb(b.c,fib(new dib(),a));rwb(b);}
+function iwb(b,a){lkb(b.c,mib(new lib(),a));rwb(b);}
+function jwb(b,a){lkb(b.c,djb(a));rwb(b);}
+function kwb(b,a){mkb(b.c,djb(a));rwb(b);}
+function lwb(b,a){lkb(b.c,ljb(new kjb(),a));rwb(b);}
+function mwb(a,b){mkb(a.c,vhb(new uhb(),b));rwb(a);}
+function owb(b){var a;a=ocb(new ncb(),'images/new_item.gif');a.pe('Add an option to the rule, to modify its behavior when evaluated or executed.');lB(a,kvb(new jvb(),b));return a;}
+function pwb(c){var a,b;hy(c.b);b=ocb(new ncb(),'images/new_item.gif');b.pe('Add a condition to this rule.');lB(b,cvb(new bub(),c));nab(c.b,0,0,cC(new aC(),'WHEN'));nab(c.b,0,2,b);nab(c.b,1,1,swb(c,c.c));nab(c.b,2,0,cC(new aC(),'THEN'));a=ocb(new ncb(),'images/new_item.gif');a.pe('Add an action to this rule.');lB(a,gvb(new fvb(),c));nab(c.b,2,2,a);nab(c.b,3,1,twb(c,c.c));nab(c.b,4,0,cC(new aC(),'(options)'));nab(c.b,4,2,owb(c));nab(c.b,5,1,ytb(new btb(),c,c.c));}
+function qwb(b,a){return tkb(b.c,a)||egb(b.a,a);}
+function rwb(a){pwb(a);dab(a);}
+function swb(e,c){var a,b,d,f,g;f=wab(new vab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,31)){g=psb(new nqb(),e,d,e.a,true);oO(f,ywb(e,c,b,g));oO(f,xwb(e));}else if(ac(d,29)){g=Cnb(new tnb(),e,Fb(d,29),e.a);oO(f,ywb(e,c,b,g));oO(f,xwb(e));}else if(ac(d,10)){}else{throw DT(new CT(),"I don't know what type of pattern that is.");}}a=wab(new vab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,10)){g=gqb(new Apb(),Fb(d,10));oO(a,ywb(e,c,b,g));AN(a,'model-builderInner-Background');}}oO(f,a);return f;}
+function twb(g,e){var a,b,c,d,f,h,i;h=wab(new vab());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,27)){i=knb(new hmb(),g,Fb(a,27),g.a);}else if(ac(a,24)){i=Dlb(new elb(),g,Fb(a,24),g.a);}else if(ac(a,26)){i=fmb(new emb(),g.a,Fb(a,26));}else if(ac(a,10)){i=gqb(new Apb(),Fb(a,10));AN(i,'model-builderInner-Background');}oO(h,xwb(g));b=rab(new qab());f=ocb(new ncb(),'images/delete_item_small.gif');f.pe('Remove this action.');d=c;lB(f,svb(new rvb(),g,e,d));gA(b,i);if(!ac(i,84)){i.xe('100%');b.xe('100%');}gA(b,f);oO(h,b);}return h;}
+function uwb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=dcb(new Ebb(),'images/new_fact.gif','Add a new action...');AN(k,'ks-popups-Popup');q=qkb(n.c);p=sC(new kC());l=sC(new kC());j=sC(new kC());vC(p,'Choose ...');vC(l,'Choose ...');vC(j,'Choose ...');for(i=q.nc();i.hc();){o=Fb(i.pc(),1);vC(p,o);vC(l,o);vC(j,o);}d=cgb(n.a);for(f=0;f<d.a;f++){vC(p,d[f]);}bD(p,0);uC(p,dub(new cub(),n,p,k));uC(l,hub(new gub(),n,l,k));uC(j,lub(new kub(),n,j,k));if(AC(p)>1){ecb(k,'Set the values of a field on',p);}if(AC(j)>1){e=fA(new dA());gA(e,j);g=kB(new uA(),'images/information.gif');g.pe('Modify a field on a fact, and notify the engine to re-evaluate rules.');gA(e,g);ecb(k,'Modify a fact',e);}if(AC(l)>1){ecb(k,'Retract the fact',l);}b=sC(new kC());c=sC(new kC());vC(b,'Choose ...');vC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];vC(b,h);vC(c,h);}uC(b,pub(new oub(),n,b,k));uC(c,tub(new sub(),n,c,k));if(AC(b)>1){ecb(k,'Insert a new fact',b);e=fA(new dA());gA(e,c);g=kB(new uA(),'images/inf!
 ormation.gif');g.pe('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');gA(e,g);ecb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=sC(new kC());vC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];wC(a,ejb(m),aT(f));}uC(a,xub(new wub(),n,a,k));ecb(k,'DSL sentence',a);}rE(k,dc(ai()/3),dc(Fh()/3));uE(k);}
+function vwb(c,d){var a,b;b=dcb(new Ebb(),'images/config.png','Add an option to the rule');a=Etb();bD(a,0);uC(a,ovb(new nvb(),c,a,b));AN(b,'ks-popups-Popup');ecb(b,'Attribute',a);rE(b,rN(d)-400,sN(d));uE(b);}
+function wwb(j,k){var a,b,c,d,e,f,g,h,i;h=dcb(new Ebb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=sC(new kC());wC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){vC(e,f[g]);}bD(e,0);if(f.a>0)ecb(h,'Fact',e);uC(e,Avb(new zvb(),j,e,h));AN(h,'ks-popups-Popup');c=(pfb(),qfb);b=sC(new kC());wC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];wC(b,ufb(a),a);}bD(b,0);if(f.a>0)ecb(h,'Condition type',b);uC(b,Evb(new Dvb(),j,b,h));if(j.a.b.a>0){d=sC(new kC());vC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];wC(d,ejb(i),aT(g));}uC(d,cwb(new bwb(),j,d,h));ecb(h,'DSL sentence',d);}rE(h,rN(k)-400,sN(k));uE(h);}
+function xwb(b){var a;a=kz(new nw(),'&nbsp;');a.ne('2px');return a;}
+function ywb(f,d,b,g){var a,c,e;a=rab(new qab());e=ocb(new ncb(),'images/delete_item_small.gif');e.pe('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;lB(e,Bub(new Aub(),f,d,c));a.xe('100%');g.xe('100%');gA(a,g);gA(a,e);return a;}
+function zwb(){return mab(this.b)||this.j;}
+function aub(){}
+_=aub.prototype=new bab();_.mc=zwb;_.tN=Efc+'RuleModeller';_.tI=332;_.a=null;_.b=null;_.c=null;function cvb(b,a){b.a=a;return b;}
+function evb(a){wwb(this.a,a);}
+function bub(){}
+_=bub.prototype=new xT();_.wc=evb;_.tN=Efc+'RuleModeller$1';_.tI=333;function dub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function fub(a){gwb(this.a,BC(this.c,CC(this.c)));this.b.ic();}
+function cub(){}
+_=cub.prototype=new xT();_.vc=fub;_.tN=Efc+'RuleModeller$10';_.tI=334;function hub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function jub(a){mwb(this.a,BC(this.c,CC(this.c)));this.b.ic();}
+function gub(){}
+_=gub.prototype=new xT();_.vc=jub;_.tN=Efc+'RuleModeller$11';_.tI=335;function lub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nub(a){hwb(this.a,BC(this.b,CC(this.b)));this.c.ic();}
+function kub(){}
+_=kub.prototype=new xT();_.vc=nub;_.tN=Efc+'RuleModeller$12';_.tI=336;function pub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function rub(b){var a;a=BC(this.b,CC(this.b));mkb(this.a.c,ghb(new ehb(),a));rwb(this.a);this.c.ic();}
+function oub(){}
+_=oub.prototype=new xT();_.vc=rub;_.tN=Efc+'RuleModeller$13';_.tI=337;function tub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vub(b){var a;a=BC(this.b,CC(this.b));mkb(this.a.c,ohb(new mhb(),a));rwb(this.a);this.c.ic();}
+function sub(){}
+_=sub.prototype=new xT();_.vc=vub;_.tN=Efc+'RuleModeller$14';_.tI=338;function xub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function zub(b){var a;a=ES(DC(this.b,CC(this.b)));kwb(this.a,this.a.a.a[a]);this.c.ic();}
+function wub(){}
+_=wub.prototype=new xT();_.vc=zub;_.tN=Efc+'RuleModeller$15';_.tI=339;function Bub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Dub(b){var a;a=hfb(new Eeb(),'Remove this entire condition?',Fub(new Eub(),this,this.c,this.b));rE(a,rN(b),sN(b));uE(a);}
+function Aub(){}
+_=Aub.prototype=new xT();_.wc=Dub;_.tN=Efc+'RuleModeller$16';_.tI=340;function Fub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function bvb(){if(vkb(this.c,this.b)){rwb(this.a.a);}else{jbb("Can't remove that item as it is used in the action part of the rule.");}}
+function Eub(){}
+_=Eub.prototype=new xT();_.nb=bvb;_.tN=Efc+'RuleModeller$17';_.tI=341;function gvb(b,a){b.a=a;return b;}
+function ivb(a){uwb(this.a,a);}
+function fvb(){}
+_=fvb.prototype=new xT();_.wc=ivb;_.tN=Efc+'RuleModeller$2';_.tI=342;function kvb(b,a){b.a=a;return b;}
+function mvb(a){vwb(this.a,a);}
+function jvb(){}
+_=jvb.prototype=new xT();_.wc=mvb;_.tN=Efc+'RuleModeller$3';_.tI=343;function ovb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function qvb(a){kkb(this.a.c,akb(new Fjb(),BC(this.b,CC(this.b)),''));rwb(this.a);this.c.ic();}
+function nvb(){}
+_=nvb.prototype=new xT();_.vc=qvb;_.tN=Efc+'RuleModeller$4';_.tI=344;function svb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function uvb(b){var a;a=hfb(new Eeb(),'Remove this item?',wvb(new vvb(),this,this.c,this.b));rE(a,rN(b),sN(b));uE(a);}
+function rvb(){}
+_=rvb.prototype=new xT();_.wc=uvb;_.tN=Efc+'RuleModeller$5';_.tI=345;function wvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function yvb(){wkb(this.c,this.b);rwb(this.a.a);}
+function vvb(){}
+_=vvb.prototype=new xT();_.nb=yvb;_.tN=Efc+'RuleModeller$6';_.tI=346;function Avb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Cvb(b){var a;a=BC(this.b,CC(this.b));if(!qU(a,'IGNORE')){lwb(this.a,a);this.c.ic();}}
+function zvb(){}
+_=zvb.prototype=new xT();_.vc=Cvb;_.tN=Efc+'RuleModeller$7';_.tI=347;function Evb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function awb(b){var a;a=DC(this.b,CC(this.b));if(!qU(a,'IGNORE')){iwb(this.a,a);this.c.ic();}}
+function Dvb(){}
+_=Dvb.prototype=new xT();_.vc=awb;_.tN=Efc+'RuleModeller$8';_.tI=348;function cwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ewb(b){var a;a=ES(DC(this.b,CC(this.b)));jwb(this.a,this.a.a.b[a]);this.c.ic();}
+function bwb(){}
+_=bwb.prototype=new xT();_.vc=ewb;_.tN=Efc+'RuleModeller$9';_.tI=349;function Cwb(b,a,c){b.a=c;return b;}
+function Ewb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
+function Bwb(){}
+_=Bwb.prototype=new xT();_.wc=Ewb;_.tN=Ffc+'AssetAttachmentFileWidget$1';_.tI=350;function axb(b,a){b.a=a;return b;}
+function cxb(a){oxb(this.a);pxb(this.a);}
+function Fwb(){}
+_=Fwb.prototype=new xT();_.wc=cxb;_.tN=Ffc+'AssetAttachmentFileWidget$2';_.tI=351;function exb(b,a){b.a=a;return b;}
+function hxb(a){}
+function gxb(a){edb();if(sU(a.a,'OK')>(-1)){x$b(this.a.e);}else{jbb('Unable to upload the file.');}}
+function dxb(){}
+_=dxb.prototype=new xT();_.ld=hxb;_.kd=gxb;_.tN=Ffc+'AssetAttachmentFileWidget$3';_.tI=352;function Bxb(){Bxb=v2;gcb();}
+function zxb(c){var a,b;Bxb();dcb(c,'images/new_wiz.gif','Create a new fact template');c.a=rt(new lt());c.b=FK(new qK());ecb(c,'Name:',c.b);ecb(c,'Fact attributes:',c.a);a=kB(new uA(),'images/new_item.gif');lB(a,sxb(new rxb(),c));ecb(c,'Add a new attribute',a);b=wp(new qp(),'Create');b.x(wxb(new vxb(),c));ecb(c,'',b);return c;}
+function Axb(b){var a;a=vt(b.a);b.a.ve(a,0,FK(new qK()));b.a.ve(a,1,Exb(b));}
+function Cxb(d){var a,b,c,e,f;b='template '+xK(d.b)+'\n';for(a=0;a<vt(d.a);a++){e=Fb(qy(d.a,a,1),85);f=BC(e,CC(e));c=xK(Fb(qy(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
+function Dxb(b,a){b.c=a;}
+function Exb(b){var a;a=sC(new kC());vC(a,'String');vC(a,'Integer');vC(a,'Float');vC(a,'Date');vC(a,'Boolean');return a;}
+function qxb(){}
+_=qxb.prototype=new Ebb();_.tN=Ffc+'FactTemplateWizard';_.tI=353;_.a=null;_.b=null;_.c=null;function sxb(b,a){b.a=a;return b;}
+function uxb(a){Axb(this.a);}
+function rxb(){}
+_=rxb.prototype=new xT();_.wc=uxb;_.tN=Ffc+'FactTemplateWizard$1';_.tI=354;function wxb(b,a){b.a=a;return b;}
+function yxb(a){BCb(this.a.c);this.a.ic();}
+function vxb(){}
+_=vxb.prototype=new xT();_.wc=yxb;_.tN=Ffc+'FactTemplateWizard$2';_.tI=355;function ayb(b,a,c){ixb(b,a,c);return b;}
+function cyb(){return 'images/model_large.png';}
+function dyb(){return 'editable-Surface';}
+function Fxb(){}
+_=Fxb.prototype=new Awb();_.sb=cyb;_.Bb=dyb;_.tN=Ffc+'ModelAttachmentFileWidget';_.tI=356;function czb(){czb=v2;gcb();}
+function azb(a){a.b=tbb(new rbb());a.d=tbb(new rbb());}
+function bzb(f,b){var a,c,d,e;czb();dcb(f,'images/new_wiz.gif','Create a new package');azb(f);f.c=FK(new qK());f.a=kK(new jK());ybb(f.d,kz(new nw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));vbb(f.d,'Name:',f.c);vbb(f.d,'Description:',f.a);f.c.pe('The name of the package. Avoid spaces, use underscore instead.');e=eG(new cG(),'action','Create new pa!
 ckage');d=eG(new cG(),'action','Import from drl file');mq(e,true);f.d.ue(true);e.x(gyb(new fyb(),f));f.b.ue(false);d.x(kyb(new jyb(),f));a=ip(new hp());jp(a,e);jp(a,d);fcb(f,a);fcb(f,f.d);fcb(f,f.b);vbb(f.b,'DRL file to import:',ezb(b,f));c=wp(new qp(),'Create package');c.x(oyb(new nyb(),f,b));vbb(f.d,'',c);AN(f,'ks-popups-Popup');return f;}
+function dzb(d,b,a,c){idb('Creating package - please wait...');qTb(ELb(),b,a,tyb(new syb(),d,c));}
+function ezb(a,d){czb();var b,c,e,f;f=cv(new Du());iv(f,v()+'package');jv(f,'multipart/form-data');kv(f,'post');c=fA(new dA());f.we(c);e=gt(new ft());jt(e,'classicDRLFile');gA(c,e);gA(c,cC(new aC(),'upload:'));b=pcb(new ncb(),'images/upload.gif','Import');lB(b,yyb(new xyb(),f));gA(c,b);dv(f,Cyb(new Byb(),a,d,e));return f;}
+function eyb(){}
+_=eyb.prototype=new Ebb();_.tN=Ffc+'NewPackageWizard';_.tI=357;_.a=null;_.c=null;function gyb(b,a){b.a=a;return b;}
+function iyb(a){this.a.d.ue(true);this.a.b.ue(false);}
+function fyb(){}
+_=fyb.prototype=new xT();_.wc=iyb;_.tN=Ffc+'NewPackageWizard$1';_.tI=358;function kyb(b,a){b.a=a;return b;}
+function myb(a){this.a.d.ue(false);this.a.b.ue(true);}
+function jyb(){}
+_=jyb.prototype=new xT();_.wc=myb;_.tN=Ffc+'NewPackageWizard$2';_.tI=359;function oyb(b,a,c){b.a=a;b.b=c;return b;}
+function qyb(b,a){return vU(a,'[a-zA-Z\\.]*');}
+function ryb(a){if(qyb(this,xK(this.a.c))){dzb(this.a,xK(this.a.c),xK(this.a.a),this.b);this.a.ic();}else{BK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
+function nyb(){}
+_=nyb.prototype=new xT();_.wc=ryb;_.tN=Ffc+'NewPackageWizard$3';_.tI=360;function tyb(b,a,c){b.a=c;return b;}
+function vyb(b,a){edb();eFb(b.a);}
+function wyb(a){vyb(this,a);}
+function syb(){}
+_=syb.prototype=new hcb();_.md=wyb;_.tN=Ffc+'NewPackageWizard$4';_.tI=361;function yyb(a,b){a.a=b;return a;}
+function Ayb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){idb('Importing drl package, please wait, as this could take some time...');mv(this.a);}}
+function xyb(){}
+_=xyb.prototype=new xT();_.wc=Ayb;_.tN=Ffc+'NewPackageWizard$5';_.tI=362;function Cyb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
+function Fyb(a){if(uU(it(this.c))==0){zh('You did not choose a drl file to import !');yv(a,true);}else if(!oU(it(this.c),'.drl')){zh("You can only import '.drl' files.");yv(a,true);}}
+function Eyb(a){if(sU(a.a,'OK')>(-1)){zh('Package was imported successfully. ');eFb(this.a);this.b.ic();}else{jbb('Unable to import into the package. ['+a.a+']');}edb();}
+function Byb(){}
+_=Byb.prototype=new xT();_.ld=Fyb;_.kd=Eyb;_.tN=Ffc+'NewPackageWizard$6';_.tI=363;function FAb(h,e,f){var a,b,c,d,g;h.c=ubb(new rbb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=aH(new yG());g=FK(new qK());a=wp(new qp(),'Build package');a.pe('This will validate and compile all the assets in a package.');a.x(yzb(new gzb(),h,b,g));c=wp(new qp(),'Show package source');c.x(Czb(new Bzb(),h,e));vbb(h.c,'View source for package',c);d=fA(new dA());gA(d,a);gA(d,kz(new nw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));gA(d,g);gA(d,wcb(new rcb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));vbb(h.c,'Build binary package:',d);ybb(h.c,kz(new nw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));ybb(h.c,b);AN(h.c,'package-Editor');h.c.xe('100%');mr(h,h.c);return h;}
+function bBb(d,a,c){var b;a.F();b=fA(new dA());gA(b,cC(new aC(),'Validating and building package, please wait...'));gA(b,kB(new uA(),'images/red_anime.gif'));idb('Please wait...');cH(a,b);fg(pAb(new oAb(),d,c,a));}
+function cBb(i,e,a){var b,c,d,f,g,h;a.F();b=rt(new lt());AN(b,'build-Results');Ey(b,0,1,'Format');Ey(b,0,2,'Name');Ey(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ve(f,0,kB(new uA(),'images/error.gif'));Ey(b,f,1,d.a);Ey(b,f,2,d.b);Ey(b,f,3,d.c);if(!qU('package',d.a)){h=wp(new qp(),'Show');h.x(CAb(new BAb(),i,d));b.ve(f,4,h);}}b.xe('100%');g=uG(new sG(),b);wG(g,true);zN(g,'100%','25em');cH(a,g);}
+function dBb(g,i){var a,b,c,d,e,f,h;idb('Loading existing snapshots...');c=dcb(new Ebb(),'images/snapshot.png','Create a snapshot for deployment.');fcb(c,kz(new nw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=nO(new lO());ecb(c,'Choose or create snapshot name:',h);f=FX(new DX());d=FK(new qK());e='NEW: ';vTb(ELb(),g.a.j,izb(new hzb(),g,f,h,d));a=FK(new qK());ecb(c,'Comment:',a);b=wp(new qp(),'Create new snapshot');ecb(c,'',b);b.x(qzb(new pzb(),g,f,d,a,c));c.xe('50%');rE(c,dc((fab()-mE(c))/2),100);uE(c);}
+function eBb(e,a){var b,c,d,f;a.F();f=nO(new lO());oO(f,kz(new nw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=gBb(e.a);b=kz(new nw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");oO(f,b);d=wp(new qp(),'Create snapshot for deployment');d.x(yAb(new xAb(),e));oO(f,d);cH(a,f);}
+function fBb(b,a){idb('Assembling package source...');fg(aAb(new Fzb(),b,a));}
+function gBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
+function hBb(b,c){var a,d;d=dcb(new Ebb(),'images/view_source.gif','Viewing source for: '+c);a=kK(new jK());pK(a,30);a.xe('100%');oK(a,80);fcb(d,a);BK(a,b);a.ke(true);a.pe('THIS IS READ ONLY - you may copy and paste, but not edit.');uK(a,jAb(new iAb(),a,b));edb();rE(d,dc((fab()-mE(d))/2),100);uE(d);}
+function fzb(){}
+_=fzb.prototype=new kr();_.tN=Ffc+'PackageBuilderWidget';_.tI=364;_.a=null;_.b=null;_.c=null;function yzb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Azb(a){bBb(this.a,this.b,xK(this.c));}
+function gzb(){}
+_=gzb.prototype=new xT();_.wc=Azb;_.tN=Ffc+'PackageBuilderWidget$1';_.tI=365;function izb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
+function kzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=eG(new cG(),'snapshotNameGroup',f[c].b);bY(this.b,b);oO(this.c,b);}d=fA(new dA());e=eG(new cG(),'snapshotNameGroup','NEW: ');gA(d,e);this.a.ke(false);e.x(mzb(new lzb(),this,this.a));gA(d,this.a);bY(this.b,e);oO(this.c,d);edb();}
+function hzb(){}
+_=hzb.prototype=new hcb();_.md=kzb;_.tN=Ffc+'PackageBuilderWidget$10';_.tI=366;function mzb(b,a,c){b.a=c;return b;}
+function ozb(a){this.a.ke(true);}
+function lzb(){}
+_=lzb.prototype=new xT();_.wc=ozb;_.tN=Ffc+'PackageBuilderWidget$11';_.tI=367;function qzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
+function szb(d){var a,b,c;c=false;for(b=this.f.nc();b.hc();){a=Fb(b.pc(),87);if(lq(a)){this.a=kq(a);if(!qU(kq(a),'NEW: ')){c=true;}break;}}if(qU(this.a,'NEW: ')){this.a=xK(this.e);}if(qU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}pTb(ELb(),this.b.a.j,this.a,c,xK(this.c),uzb(new tzb(),this,this.d));}
+function pzb(){}
+_=pzb.prototype=new xT();_.wc=szb;_.tN=Ffc+'PackageBuilderWidget$12';_.tI=368;_.a='';function uzb(b,a,c){b.a=a;b.b=c;return b;}
+function wzb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.ic();}
+function xzb(a){wzb(this,a);}
+function tzb(){}
+_=tzb.prototype=new hcb();_.md=xzb;_.tN=Ffc+'PackageBuilderWidget$13';_.tI=369;function Czb(b,a,c){b.a=c;return b;}
+function Ezb(a){fBb(this.a.m,this.a.j);}
+function Bzb(){}
+_=Bzb.prototype=new xT();_.wc=Ezb;_.tN=Ffc+'PackageBuilderWidget$2';_.tI=370;function aAb(a,c,b){a.b=c;a.a=b;return a;}
+function cAb(){eTb(ELb(),this.b,eAb(new dAb(),this,this.a));}
+function Fzb(){}
+_=Fzb.prototype=new xT();_.nb=cAb;_.tN=Ffc+'PackageBuilderWidget$3';_.tI=371;function eAb(b,a,c){b.a=c;return b;}
+function gAb(c,b){var a;a=Fb(b,1);hBb(a,c.a);}
+function hAb(a){gAb(this,a);}
+function dAb(){}
+_=dAb.prototype=new hcb();_.md=hAb;_.tN=Ffc+'PackageBuilderWidget$4';_.tI=372;function jAb(a,b,c){a.a=b;a.b=c;return a;}
+function lAb(a,b,c){BK(this.a,this.b);}
+function mAb(a,b,c){BK(this.a,this.b);}
+function nAb(a,b,c){BK(this.a,this.b);}
+function iAb(){}
+_=iAb.prototype=new xT();_.Fc=lAb;_.ad=mAb;_.bd=nAb;_.tN=Ffc+'PackageBuilderWidget$5';_.tI=373;function pAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rAb(){fTb(ELb(),this.a.a.m,this.c,tAb(new sAb(),this,this.b));}
+function oAb(){}
+_=oAb.prototype=new xT();_.nb=rAb;_.tN=Ffc+'PackageBuilderWidget$6';_.tI=374;function tAb(b,a,c){b.a=a;b.b=c;return b;}
+function vAb(c,a){var b;edb();if(a===null){eBb(c.a.a,c.b);}else{b=Fb(a,88);cBb(c.a.a,b,c.b);}}
+function wAb(a){vAb(this,a);}
+function sAb(){}
+_=sAb.prototype=new hcb();_.md=wAb;_.tN=Ffc+'PackageBuilderWidget$7';_.tI=375;function yAb(b,a){b.a=a;return b;}
+function AAb(a){dBb(this.a,a);}
+function xAb(){}
+_=xAb.prototype=new xT();_.wc=AAb;_.tN=Ffc+'PackageBuilderWidget$8';_.tI=376;function CAb(b,a,c){b.a=a;b.b=c;return b;}
+function EAb(a){aIb(this.a.b,this.b.d);}
+function BAb(){}
+_=BAb.prototype=new xT();_.wc=EAb;_.tN=Ffc+'PackageBuilderWidget$9';_.tI=377;function fEb(e,b,c,a,d){tbb(e);e.b=b;e.c=c;e.a=a;e.e=d;AN(e,'package-Editor');e.xe('100%');lEb(e);return e;}
+function hEb(b){var a;a=kK(new jK());a.xe('100%');pK(a,8);BK(a,b.b.d);tK(a,cDb(new bDb(),b,a));oK(a,100);return jEb(b,a);}
+function iEb(b,a){idb('Saving package configuration. Please wait ...');gUb(ELb(),b.b,uBb(new tBb(),b,a));}
+function jEb(d,a){var b,c;c=fA(new dA());gA(c,a);b=kB(new uA(),'images/max_min.gif');b.pe('Increase view area');gA(c,b);lB(b,ECb(new DCb(),d,a));return c;}
+function kEb(g){var a,b,c,d,e,f,h;a=kK(new jK());a.xe('100%');pK(a,8);oK(a,100);BK(a,g.b.f);tK(a,bCb(new aCb(),g,a));f=fA(new dA());gA(f,a);h=nO(new lO());b=kB(new uA(),'images/max_min.gif');lB(b,fCb(new eCb(),g,a));b.pe('Increase view area.');oO(h,b);e=kB(new uA(),'images/new_import.gif');lB(e,jCb(new iCb(),g,a));oO(h,e);e.pe('Add a new Type/Class import to the package.');d=kB(new uA(),'images/new_global.gif');lB(d,nCb(new mCb(),g,a));d.pe('Add a new global variable declaration.');oO(h,d);c=kB(new uA(),'images/fact_template.gif');lB(c,vCb(new uCb(),g,a));c.pe('Add a new fact template.');f.xe('100%');gA(f,h);return f;}
+function lEb(c){var a,b;zbb(c);ybb(c,sEb(c));vbb(c,'Description:',hEb(c));vbb(c,'Header:',kEb(c));ybb(c,kz(new nw(),'<hr/>'));vbb(c,'Last modified:',cC(new aC(),sZ(c.b.i)));vbb(c,'Last contributor:',cC(new aC(),c.b.h));ybb(c,kz(new nw(),'<hr/>'));c.f=jz(new nw());b=fA(new dA());a=ocb(new ncb(),'images/edit.gif');a.pe('Change status.');lB(a,qCb(new jBb(),c));gA(b,c.f);if(!c.b.g){gA(b,a);}oEb(c,c.b.l);vbb(c,'Status:',b);if(!c.b.g){ybb(c,nEb(c));}ybb(c,kz(new nw(),'<hr/>'));}
+function mEb(a){idb('Refreshing package data...');ATb(ELb(),a.b.m,DBb(new CBb(),a));}
+function nEb(f){var a,b,c,d,e;c=fA(new dA());e=wp(new qp(),'Save and validate configuration');e.x(nDb(new mDb(),f));gA(c,e);a=wp(new qp(),'Archive');a.x(rDb(new qDb(),f));gA(c,a);b=wp(new qp(),'Copy');b.x(vDb(new uDb(),f));gA(c,b);d=wp(new qp(),'Rename');d.x(zDb(new yDb(),f));gA(c,d);return c;}
+function oEb(b,a){nz(b.f,'<b>'+a+'<\/b>');}
+function pEb(d){var a,b,c;c=dcb(new Ebb(),'images/new_wiz.gif','Copy the package');fcb(c,kz(new nw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=FK(new qK());ecb(c,'New package name:',a);b=wp(new qp(),'OK');ecb(c,'',b);b.x(lBb(new kBb(),d,a,c));c.xe('40%');rE(c,dc(ai()/3),dc(Fh()/3));uE(c);}
+function qEb(d){var a,b,c;c=dcb(new Ebb(),'images/new_wiz.gif','Rename the package');fcb(c,kz(new nw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=FK(new qK());ecb(c,'New package name:',a);b=wp(new qp(),'OK');ecb(c,'',b);b.x(DDb(new CDb(),d,a,c));c.xe('40%');rE(c,dc(ai()/3),dc(Fh()/3));uE(c);}
+function rEb(b,c){var a;a=leb(new vdb(),b.b.m,true);oeb(a,jDb(new iDb(),b,a));rE(a,rN(c),sN(c));uE(a);}
+function sEb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=kB(new uA(),'images/warning.gif');a=fA(new dA());gA(a,b);c=kz(new nw(),'<b>There were errors validating this package configuration.');gA(a,c);d=wp(new qp(),'View errors');d.x(fDb(new tCb(),e));gA(a,d);return a;}else{return aH(new yG());}}
+function iBb(){}
+_=iBb.prototype=new rbb();_.tN=Ffc+'PackageEditor';_.tI=378;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function qCb(b,a){b.a=a;return b;}
+function sCb(a){rEb(this.a,a);}
+function jBb(){}
+_=jBb.prototype=new xT();_.wc=sCb;_.tN=Ffc+'PackageEditor$1';_.tI=379;function lBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nBb(a){mTb(ELb(),this.a.b.j,xK(this.b),pBb(new oBb(),this,this.c));}
+function kBb(){}
+_=kBb.prototype=new xT();_.wc=nBb;_.tN=Ffc+'PackageEditor$10';_.tI=380;function pBb(b,a,c){b.a=a;b.b=c;return b;}
+function rBb(b,a){cGb(b.a.a.e);zh('Package copied successfully.');b.b.ic();}
+function sBb(a){rBb(this,a);}
+function oBb(){}
+_=oBb.prototype=new hcb();_.md=sBb;_.tN=Ffc+'PackageEditor$11';_.tI=381;function uBb(b,a,c){b.a=a;b.b=c;return b;}
+function wBb(b,a){iGb(b.a.a);b.a.d=Fb(a,89);mEb(b.a);idb('Package configuration updated successfully, refreshing content cache...');wKb((sKb(),xKb),b.a.b.j,zBb(new yBb(),b,b.b));}
+function xBb(a){wBb(this,a);}
+function tBb(){}
+_=tBb.prototype=new hcb();_.md=xBb;_.tN=Ffc+'PackageEditor$12';_.tI=382;function zBb(b,a,c){b.a=c;return b;}
+function BBb(){if(this.a!==null){cGb(this.a);}edb();}
+function yBb(){}
+_=yBb.prototype=new xT();_.nb=BBb;_.tN=Ffc+'PackageEditor$13';_.tI=383;function DBb(b,a){b.a=a;return b;}
+function FBb(a){edb();this.a.b=Fb(a,16);lEb(this.a);}
+function CBb(){}
+_=CBb.prototype=new hcb();_.md=FBb;_.tN=Ffc+'PackageEditor$14';_.tI=384;function bCb(b,a,c){b.a=a;b.b=c;return b;}
+function dCb(a){this.a.b.f=xK(this.b);EFb(this.a.c);}
+function aCb(){}
+_=aCb.prototype=new xT();_.vc=dCb;_.tN=Ffc+'PackageEditor$16';_.tI=385;function fCb(b,a,c){b.a=c;return b;}
+function hCb(a){if(nK(this.a)!=32){pK(this.a,32);}else{pK(this.a,8);}}
+function eCb(){}
+_=eCb.prototype=new xT();_.wc=hCb;_.tN=Ffc+'PackageEditor$17';_.tI=386;function jCb(b,a,c){b.a=a;b.b=c;return b;}
+function lCb(a){BK(this.b,xK(this.b)+'\n'+'import <your class here>');this.a.b.f=xK(this.b);}
+function iCb(){}
+_=iCb.prototype=new xT();_.wc=lCb;_.tN=Ffc+'PackageEditor$18';_.tI=387;function nCb(b,a,c){b.a=a;b.b=c;return b;}
+function pCb(a){BK(this.b,xK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=xK(this.b);}
+function mCb(){}
+_=mCb.prototype=new xT();_.wc=pCb;_.tN=Ffc+'PackageEditor$19';_.tI=388;function fDb(b,a){b.a=a;return b;}
+function hDb(a){var b;b=qeb(new peb(),this.a.d.a,this.a.d.b);rE(b,dc(ai()/4),sN(a));uE(b);}
+function tCb(){}
+_=tCb.prototype=new xT();_.wc=hDb;_.tN=Ffc+'PackageEditor$2';_.tI=389;function vCb(b,a,c){b.a=a;b.b=c;return b;}
+function xCb(a){var b;b=zxb(new qxb());rE(b,rN(a)-400,sN(a)-250);Dxb(b,zCb(new yCb(),this,this.b,b));uE(b);}
+function uCb(){}
+_=uCb.prototype=new xT();_.wc=xCb;_.tN=Ffc+'PackageEditor$20';_.tI=390;function zCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function BCb(a){BK(a.b,xK(a.b)+'\n'+Cxb(a.c));a.a.a.b.f=xK(a.b);}
+function CCb(){BCb(this);}
+function yCb(){}
+_=yCb.prototype=new xT();_.nb=CCb;_.tN=Ffc+'PackageEditor$21';_.tI=391;function ECb(b,a,c){b.a=c;return b;}
+function aDb(a){if(nK(this.a)!=32){pK(this.a,32);}else{pK(this.a,8);}}
+function DCb(){}
+_=DCb.prototype=new xT();_.wc=aDb;_.tN=Ffc+'PackageEditor$22';_.tI=392;function cDb(b,a,c){b.a=a;b.b=c;return b;}
+function eDb(a){this.a.b.d=xK(this.b);EFb(this.a.c);}
+function bDb(){}
+_=bDb.prototype=new xT();_.vc=eDb;_.tN=Ffc+'PackageEditor$23';_.tI=393;function jDb(b,a,c){b.a=a;b.b=c;return b;}
+function lDb(){oEb(this.a,this.b.c);}
+function iDb(){}
+_=iDb.prototype=new xT();_.nb=lDb;_.tN=Ffc+'PackageEditor$3';_.tI=394;function nDb(b,a){b.a=a;return b;}
+function pDb(a){iEb(this.a,null);}
+function mDb(){}
+_=mDb.prototype=new xT();_.wc=pDb;_.tN=Ffc+'PackageEditor$4';_.tI=395;function rDb(b,a){b.a=a;return b;}
+function tDb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;iEb(this.a,this.a.e);}}
+function qDb(){}
+_=qDb.prototype=new xT();_.wc=tDb;_.tN=Ffc+'PackageEditor$5';_.tI=396;function vDb(b,a){b.a=a;return b;}
+function xDb(a){pEb(this.a);}
+function uDb(){}
+_=uDb.prototype=new xT();_.wc=xDb;_.tN=Ffc+'PackageEditor$6';_.tI=397;function zDb(b,a){b.a=a;return b;}
+function BDb(a){qEb(this.a);}
+function yDb(){}
+_=yDb.prototype=new xT();_.wc=BDb;_.tN=Ffc+'PackageEditor$7';_.tI=398;function DDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function FDb(a){eUb(ELb(),this.a.b.m,xK(this.b),bEb(new aEb(),this,this.c));}
+function CDb(){}
+_=CDb.prototype=new xT();_.wc=FDb;_.tN=Ffc+'PackageEditor$8';_.tI=399;function bEb(b,a,c){b.a=a;b.b=c;return b;}
+function dEb(b,a){cGb(b.a.a.e);zh('Package renamed successfully.');b.b.ic();}
+function eEb(a){dEb(this,a);}
+function aEb(){}
+_=aEb.prototype=new hcb();_.md=eEb;_.tN=Ffc+'PackageEditor$9';_.tI=400;function qHb(a){a.f=aGb(new uEb(),a);}
+function rHb(b,a){sHb(b,a,null,null);return b;}
+function sHb(g,b,h,f){var a,c,d,e;qHb(g);g.b=b;g.h=h;g.c=pM(new cL());g.d=kab(new iab());g.g=new eGb();tM(g.c,g.g);e=nO(new lO());if(f===null){a=rt(new lt());ex(a.n,0,0,'new-asset-Icons');bx(a.n,0,0,(uz(),vz),(Dz(),Fz));a.ve(0,0,vHb(g));oO(e,a);a.xe('100%');}oO(e,g.c);nab(g.d,0,0,e);c=ut(g.d);fx(c,0,0,(Dz(),aA));qt(ut(g.d),0,1,2);bx(ut(g.d),0,1,(uz(),vz),(Dz(),aA));zHb(g);d=BM(g.c,0);if(d!==null)fN(g.c,d);nab(g.d,0,1,kz(new nw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));hx(ut(g.d),0,0,'25%');bx(ut(g.d),0,1,(uz(),wz),(Dz(),aA));g.e=Bcc(new Fbc(),g.b,'rulelist');mr(g,g.d);return g;}
+function tHb(d,a,c){var b;b=yHb(d,a.j,'images/package.gif',oHb(new nHb(),hFb(new gFb(),d,a)));b.y(yHb(d,'Business rule assets','images/rule_asset.gif',AHb(d,a.m,(b_(),c_))));b.y(yHb(d,'Technical rule assets','images/technical_rule_assets.gif',AHb(d,a.m,(b_(),e_))));b.y(yHb(d,'Functions','images/function_assets.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['function']))));b.y(yHb(d,'DSL','images/dsl.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['dsl']))));b.y(yHb(d,'Model','images/model_asset.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['jar']))));rM(d.c,b);if(c){gN(d.c,b,true);}}
+function vHb(h){var a,b,c,d,e,f,g,i;g=fA(new dA());d=kB(new uA(),'images/new_package.gif');d.pe('Create a new package');lB(d,sGb(new rGb(),h));i=ocb(new ncb(),'images/model_asset.gif');lB(i,wGb(new vGb(),h));i.pe('This creates a new model archive - models contain classes/types that rules use.');e=ocb(new ncb(),'images/new_rule.gif');e.pe('Create new rule');lB(e,AGb(new zGb(),h));c=ocb(new ncb(),'images/function_assets.gif');c.pe('Create a new function');lB(c,cHb(new bHb(),h));a=ocb(new ncb(),'images/dsl.gif');a.pe('Create a new DSL (language configuration)');lB(a,gHb(new fHb(),h));f=ocb(new ncb(),'images/ruleflow_small.gif');f.pe('Upload a new ruleflow.');lB(f,kHb(new jHb(),h));b=ocb(new ncb(),'images/new_enumeration.gif');b.pe('Create a new data enumeration (drop down list)');lB(b,wEb(new vEb(),h));gA(g,d);gA(g,i);gA(g,e);gA(g,c);gA(g,a);gA(g,f);gA(g,b);return g;}
+function wHb(d,a,e){var b,c,f;b=70;f=100;c=i7b(new y6b(),lGb(new kGb(),d),false,a,e,d.a);rE(c,dc((fab()-mE(c))/2),100);uE(c);}
+function xHb(a,b){idb('Loading package information ...');ATb(ELb(),b,uFb(new tFb(),a));}
+function yHb(e,d,b,a){var c;c=uL(new sL());CL(c,'<img src="'+b+'">'+d+'<\/a>');cM(c,a);return c;}
+function zHb(a){if(a.h===null){idb('Loading list of packages ...');uTb(ELb(),AEb(new zEb(),a));}else{idb('Loading package ...');ATb(ELb(),a.h,EEb(new DEb(),a));}}
+function AHb(c,d,b){var a;a=lFb(new kFb(),c);return oHb(new nHb(),qFb(new pFb(),c,d,b,a));}
+function BHb(b,c){var a;a=bzb(new eyb(),cFb(new bFb(),b));rE(a,dc((fab()-mE(a))/2),100);uE(a);}
+function tEb(){}
+_=tEb.prototype=new bab();_.tN=Ffc+'PackageExplorerWidget';_.tI=401;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function aGb(b,a){b.a=a;return b;}
+function cGb(a){zHb(a.a);}
+function dGb(){cGb(this);}
+function uEb(){}
+_=uEb.prototype=new xT();_.nb=dGb;_.tN=Ffc+'PackageExplorerWidget$1';_.tI=402;function wEb(b,a){b.a=a;return b;}
+function yEb(a){wHb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
+function vEb(){}
+_=vEb.prototype=new xT();_.wc=yEb;_.tN=Ffc+'PackageExplorerWidget$10';_.tI=403;function AEb(b,a){b.a=a;return b;}
+function CEb(a){var b,c;c=Fb(a,71);uM(this.a.c);for(b=0;b<c.a;b++){if(b==0){tHb(this.a,c[b],true);}else{tHb(this.a,c[b],false);}}edb();}
+function zEb(){}
+_=zEb.prototype=new hcb();_.md=CEb;_.tN=Ffc+'PackageExplorerWidget$11';_.tI=404;function EEb(b,a){b.a=a;return b;}
+function aFb(a){var b;b=Fb(a,16);uM(this.a.c);tHb(this.a,b,true);edb();}
+function DEb(){}
+_=DEb.prototype=new hcb();_.md=aFb;_.tN=Ffc+'PackageExplorerWidget$12';_.tI=405;function cFb(b,a){b.a=a;return b;}
+function eFb(a){zHb(a.a);}
+function fFb(){eFb(this);}
+function bFb(){}
+_=bFb.prototype=new xT();_.nb=fFb;_.tN=Ffc+'PackageExplorerWidget$13';_.tI=406;function hFb(b,a,c){b.a=a;b.b=c;return b;}
+function jFb(){if(this.a.mc()){if(Bh('Discard Changes ? ')){eab(this.a);xHb(this.a,this.b.m);}}else{xHb(this.a,this.b.m);}}
+function gFb(){}
+_=gFb.prototype=new xT();_.nb=jFb;_.tN=Ffc+'PackageExplorerWidget$14';_.tI=407;function lFb(b,a){b.a=a;return b;}
+function nFb(c,a){var b;b=Fb(a,62);adc(c.a.e,b);c.a.e.xe('100%');nab(c.a.d,0,1,c.a.e);bx(ut(c.a.d),0,1,(uz(),wz),(Dz(),aA));edb();}
+function oFb(a){nFb(this,a);}
+function kFb(){}
+_=kFb.prototype=new hcb();_.md=oFb;_.tN=Ffc+'PackageExplorerWidget$15';_.tI=408;function qFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
+function sFb(){idb('Loading list, please wait...');tTb(ELb(),this.c,this.b,(-1),(-1),this.a);}
+function pFb(){}
+_=pFb.prototype=new xT();_.nb=sFb;_.tN=Ffc+'PackageExplorerWidget$16';_.tI=409;function uFb(b,a){b.a=a;return b;}
+function wFb(c){var a,b,d,e,f,g,h,i;b=Fb(c,16);g=wH(new vH());this.a.a=b.j;e=ubb(new rbb(),'images/package_large.png',b.j);AN(e,'package-Editor');e.xe('100%');vbb(e,'Description:',cC(new aC(),b.d));vbb(e,'Date created:',cC(new aC(),sZ(b.c)));if(b.g){vbb(e,'Snapshot created on:',cC(new aC(),sZ(b.i)));vbb(e,'Snapshot comment:',cC(new aC(),b.b));h=gBb(b);d=kz(new nw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");vbb(e,'Download package:',d);vbb(e,'Package URI:',cC(new aC(),h));i=wp(new qp(),'View package source');i.x(yFb(new xFb(),this,b));vbb(e,'Show package source:',i);}if(!b.g){ybb(e,kz(new nw(),'<i>Choose one of the options below<\/i>'));}f=CFb(new BFb(),this);a=gGb(new fGb(),this);yH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){yH(g,fEb(new iBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);yH(g,FAb(new fzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{yH(!
 g,fEb(new iBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.xe('100%');nab(this.a.d,0,1,g);edb();}
+function tFb(){}
+_=tFb.prototype=new hcb();_.md=wFb;_.tN=Ffc+'PackageExplorerWidget$17';_.tI=410;function yFb(b,a,c){b.a=c;return b;}
+function AFb(a){fBb(this.a.m,this.a.j);}
+function xFb(){}
+_=xFb.prototype=new xT();_.wc=AFb;_.tN=Ffc+'PackageExplorerWidget$18';_.tI=411;function CFb(b,a){b.a=a;return b;}
+function EFb(a){dab(a.a.a);}
+function FFb(){EFb(this);}
+function BFb(){}
+_=BFb.prototype=new xT();_.nb=FFb;_.tN=Ffc+'PackageExplorerWidget$19';_.tI=412;function pGb(c){var a,b;a=Fb(c.k,90);b=a.a;idb('Please wait...');fg(b);}
+function qGb(a){}
+function eGb(){}
+_=eGb.prototype=new xT();_.od=pGb;_.pd=qGb;_.tN=Ffc+'PackageExplorerWidget$2';_.tI=413;function gGb(b,a){b.a=a;return b;}
+function iGb(a){eab(a.a.a);}
+function jGb(){iGb(this);}
+function fGb(){}
+_=fGb.prototype=new xT();_.nb=jGb;_.tN=Ffc+'PackageExplorerWidget$20';_.tI=414;function lGb(b,a){b.a=a;return b;}
+function nGb(a){aIb(this.a.b,a);}
+function kGb(){}
+_=kGb.prototype=new xT();_.td=nGb;_.tN=Ffc+'PackageExplorerWidget$21';_.tI=415;function sGb(b,a){b.a=a;return b;}
+function uGb(a){BHb(this.a,a);}
+function rGb(){}
+_=rGb.prototype=new xT();_.wc=uGb;_.tN=Ffc+'PackageExplorerWidget$3';_.tI=416;function wGb(b,a){b.a=a;return b;}
+function yGb(a){wHb(this.a,'jar','Create a new model archive');}
+function vGb(){}
+_=vGb.prototype=new xT();_.wc=yGb;_.tN=Ffc+'PackageExplorerWidget$4';_.tI=417;function AGb(b,a){b.a=a;return b;}
+function CGb(d){var a,b,c;a=70;c=100;b=i7b(new y6b(),EGb(new DGb(),this),true,null,'Create a new rule asset',this.a.a);rE(b,dc((fab()-mE(b))/2),100);uE(b);}
+function zGb(){}
+_=zGb.prototype=new xT();_.wc=CGb;_.tN=Ffc+'PackageExplorerWidget$5';_.tI=418;function EGb(b,a){b.a=a;return b;}
+function aHb(a){aIb(this.a.a.b,a);}
+function DGb(){}
+_=DGb.prototype=new xT();_.td=aHb;_.tN=Ffc+'PackageExplorerWidget$6';_.tI=419;function cHb(b,a){b.a=a;return b;}
+function eHb(a){wHb(this.a,'function','Create a new function');}
+function bHb(){}
+_=bHb.prototype=new xT();_.wc=eHb;_.tN=Ffc+'PackageExplorerWidget$7';_.tI=420;function gHb(b,a){b.a=a;return b;}
+function iHb(a){wHb(this.a,'dsl','Create a new language configuration');}
+function fHb(){}
+_=fHb.prototype=new xT();_.wc=iHb;_.tN=Ffc+'PackageExplorerWidget$8';_.tI=421;function kHb(b,a){b.a=a;return b;}
+function mHb(a){wHb(this.a,'rf','Create a new ruleflow');}
+function jHb(){}
+_=jHb.prototype=new xT();_.wc=mHb;_.tN=Ffc+'PackageExplorerWidget$9';_.tI=422;function oHb(b,a){b.a=a;return b;}
+function nHb(){}
+_=nHb.prototype=new xT();_.tN=Ffc+'PackageExplorerWidget$PackageTreeItem';_.tI=423;_.a=null;function cIb(a){a.a=(FY(),aZ);}
+function dIb(a){eIb(a,null,null);return a;}
+function eIb(e,c,d){var a,b;cIb(e);e.b=yJ(new kJ());e.b.xe('100%');e.b.ne('30%');a=EHb(new DHb(),e,d);b=null;if(c===null){b=rHb(new tEb(),a);}else{b=sHb(new tEb(),a,c,d);}zJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);FJ(e.b,0);mr(e,e.b);return e;}
+function gIb(b,a){b.a=a;}
+function CHb(){}
+_=CHb.prototype=new kr();_.tN=Ffc+'PackageManagerView';_.tI=424;_.b=null;function EHb(b,a,c){b.a=a;b.b=c;return b;}
+function aIb(b,a){u4b(b.a.a,b.a.b,a,b.b!==null);}
+function bIb(a){aIb(this,a);}
+function DHb(){}
+_=DHb.prototype=new xT();_.td=bIb;_.tN=Ffc+'PackageManagerView$1';_.tI=425;function FJb(b){var a,c;b.a=rt(new lt());b.c=yJ(new kJ());b.c.xe('100%');b.c.ne('100%');c=nO(new lO());oO(c,b.a);a=wp(new qp(),'Rebuild snapshot binaries');a.pe('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new iIb());oO(c,a);zJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);hx(b.a.n,0,0,'28%');b.b=ELb();hKb(b);b.a.xe('100%');mr(b,b.c);FJ(b.c,0);return b;}
+function aKb(h,c){var a,b,d,e,f,g;g=pM(new cL());d=nO(new lO());for(a=0;a<c.a;a++){e=c[a].j;b=fKb(h,e,'images/package_snapshot.gif',iJb(new hJb(),h,e));rM(g,b);}oO(d,g);f=kz(new nw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");dC(f,mJb(new lJb(),h));tM(g,new pJb());sO(d,(Dz(),aA));rO(d,(uz(),wz));oO(d,f);AN(d,'snapshot-List');h.a.ve(0,0,d);fx(h.a.n,0,0,(Dz(),aA));}
+function cKb(g,e,f){var a,b,c,d;c=dcb(new Ebb(),'images/snapshot.png','Copy snapshot '+f);a=FK(new qK());ecb(c,'New label:',a);d=wp(new qp(),'OK');ecb(c,'',d);d.x(yJb(new xJb(),g,e,f,a,c));b=wp(new qp(),'Copy');b.x(kIb(new jIb(),g,c));return b;}
+function dKb(d,c,b){var a;a=wp(new qp(),'Delete');a.x(sIb(new rIb(),d,c,b));return a;}
+function eKb(d,b,c,e){var a;a=wp(new qp(),'Open');a.x(oIb(new nIb(),d,b,c,e));return a;}
+function fKb(e,d,b,a){var c;c=uL(new sL());CL(c,'<img src="'+b+'">'+d+'<\/a>');cM(c,a);return c;}
+function gKb(g,e,f,h){var a,b,c,d,i;i=rt(new lt());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=fA(new dA());gA(c,kz(new nw(),d));a=ocb(new ncb(),'images/close.gif');a.pe('Close this view');lB(a,AIb(new zIb(),g));gA(c,a);i.ve(0,0,c);b=ut(i);ex(b,0,0,'editable-Surface');i.ve(1,0,eIb(new CHb(),h,f));i.xe('100%');i.ne('100%');if(g.c.a.f.c>1){EJ(g.c,1);}zJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);FJ(g.c,1);}
+function hKb(a){idb('Loading package list...');uTb(a.b,eJb(new dJb(),a));}
+function iKb(h,d,b){var a,c,e,f,g;e=ubb(new rbb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=rt(new lt());Ey(g,0,1,'Name');Ey(g,0,2,'Comment');rx(g.p,0,ifc);for(a=0;a<b.a;a++){f=a+1;c=cC(new aC(),b[a].b);g.ve(f,0,kB(new uA(),'images/package_snapshot_item.gif'));g.ve(f,1,c);g.ve(f,2,cC(new aC(),b[a].a));g.ve(f,3,eKb(h,d,gC(c),b[a].c));g.ve(f,4,cKb(h,d,gC(c)));g.ve(f,5,dKb(h,gC(c),d));if(a%2==0){rx(g.p,a+1,gfc);}}e.xe('100%');ybb(e,g);g.xe('100%');AN(e,hfc);h.a.ve(0,1,e);fx(ut(h.a),0,1,(Dz(),aA));}
+function jKb(b,a){idb('Loading snapshots...');vTb(b.b,a,uJb(new tJb(),b,a));}
+function hIb(){}
+_=hIb.prototype=new kr();_.tN=Ffc+'PackageSnapshotView';_.tI=426;_.a=null;_.b=null;_.c=null;function EIb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){idb('Rebuilding snapshots. Please wait, this may take some time...');aUb(ELb(),new FIb());}}
+function iIb(){}
+_=iIb.prototype=new xT();_.wc=EIb;_.tN=Ffc+'PackageSnapshotView$1';_.tI=427;function kIb(b,a,c){b.a=c;return b;}
+function mIb(a){rE(this.a,dc((fab()-mE(this.a))/2),100);uE(this.a);}
+function jIb(){}
+_=jIb.prototype=new xT();_.wc=mIb;_.tN=Ffc+'PackageSnapshotView$10';_.tI=428;function oIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
+function qIb(a){gKb(this.a,this.b,this.c,this.d);}
+function nIb(){}
+_=nIb.prototype=new xT();_.wc=qIb;_.tN=Ffc+'PackageSnapshotView$11';_.tI=429;function sIb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function uIb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{lTb(this.a.b,this.b,this.c,true,null,wIb(new vIb(),this,this.b));}}
+function rIb(){}
+_=rIb.prototype=new xT();_.wc=uIb;_.tN=Ffc+'PackageSnapshotView$12';_.tI=430;function wIb(b,a,c){b.a=a;b.b=c;return b;}
+function yIb(a){jKb(this.a.a,this.b);}
+function vIb(){}
+_=vIb.prototype=new hcb();_.md=yIb;_.tN=Ffc+'PackageSnapshotView$13';_.tI=431;function AIb(b,a){b.a=a;return b;}
+function CIb(a){EJ(this.a.c,1);FJ(this.a.c,0);}
+function zIb(){}
+_=zIb.prototype=new xT();_.wc=CIb;_.tN=Ffc+'PackageSnapshotView$14';_.tI=432;function bJb(b,a){edb();zh('Snapshots were rebuilt successfully.');}
+function cJb(a){bJb(this,a);}
+function FIb(){}
+_=FIb.prototype=new hcb();_.md=cJb;_.tN=Ffc+'PackageSnapshotView$2';_.tI=433;function eJb(b,a){b.a=a;return b;}
+function gJb(a){var b;b=Fb(a,71);aKb(this.a,b);edb();}
+function dJb(){}
+_=dJb.prototype=new hcb();_.md=gJb;_.tN=Ffc+'PackageSnapshotView$3';_.tI=434;function iJb(b,a,c){b.a=a;b.b=c;return b;}
+function kJb(){jKb(this.a,this.b);}
+function hJb(){}
+_=hJb.prototype=new xT();_.nb=kJb;_.tN=Ffc+'PackageSnapshotView$4';_.tI=435;function mJb(b,a){b.a=a;return b;}
+function oJb(a){hKb(this.a);}
+function lJb(){}
+_=lJb.prototype=new xT();_.wc=oJb;_.tN=Ffc+'PackageSnapshotView$5';_.tI=436;function rJb(a){fg(Fb(a.k,4));}
+function sJb(a){}
+function pJb(){}
+_=pJb.prototype=new xT();_.od=rJb;_.pd=sJb;_.tN=Ffc+'PackageSnapshotView$6';_.tI=437;function uJb(b,a,c){b.a=a;b.b=c;return b;}
+function wJb(a){var b;b=Fb(a,86);iKb(this.a,this.b,b);edb();}
+function tJb(){}
+_=tJb.prototype=new hcb();_.md=wJb;_.tN=Ffc+'PackageSnapshotView$7';_.tI=438;function yJb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
+function AJb(a){lTb(this.a.b,this.d,this.e,false,xK(this.b),CJb(new BJb(),this,this.d,this.c));}
+function xJb(){}
+_=xJb.prototype=new xT();_.wc=AJb;_.tN=Ffc+'PackageSnapshotView$8';_.tI=439;function CJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function EJb(a){jKb(this.a.a,this.c);this.b.ic();}
+function BJb(){}
+_=BJb.prototype=new hcb();_.md=EJb;_.tN=Ffc+'PackageSnapshotView$9';_.tI=440;function sKb(){sKb=v2;xKb=rKb(new kKb());}
+function qKb(a){a.a=C0(new a0());}
+function rKb(a){sKb();qKb(a);return a;}
+function tKb(c,b,a){if(!F0(c.a,b)){vKb(c,b,a);}else{h4b(a);}}
+function uKb(c,b){var a;a=Fb(c1(c.a,b),91);if(a===null){jbb('Unable to get content assistance for this rule.');return null;}return a;}
+function vKb(c,b,a){kV(),nV;DTb(ELb(),b,mKb(new lKb(),c,b,a));}
+function wKb(c,b,a){if(F0(c.a,b)){e1(c.a,b);vKb(c,b,a);}else{a.nb();}}
+function kKb(){}
+_=kKb.prototype=new xT();_.tN=Ffc+'SuggestionCompletionCache';_.tI=441;var xKb;function mKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function oKb(c,a){var b;b=Fb(a,91);d1(c.a.a,c.c,b);c.b.nb();}
+function pKb(a){oKb(this,a);}
+function lKb(){}
+_=lKb.prototype=new hcb();_.md=pKb;_.tN=Ffc+'SuggestionCompletionCache$1';_.tI=442;function EKb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
+function yKb(){}
+_=yKb.prototype=new xT();_.tS=EKb;_.tN=agc+'BuilderResult';_.tI=443;_.a=null;_.b=null;_.c=null;_.d=null;function CKb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();}
+function DKb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);}
+function FKb(){}
+_=FKb.prototype=new ll();_.tN=agc+'DetailedSerializableException';_.tI=444;_.a=null;function dLb(b,a){gLb(a,b.Bd());pl(b,a);}
+function eLb(a){return a.a;}
+function fLb(b,a){b.cf(eLb(a));rl(b,a);}
+function gLb(a,b){a.a=b;}
+function iLb(a){a.a=yb('[Ljava.lang.String;',[607],[1],[0],null);}
+function jLb(a){iLb(a);return a;}
+function kLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(qU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[607],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function mLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[607],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function hLb(){}
+_=hLb.prototype=new xT();_.tN=agc+'MetaData';_.tI=445;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function pLb(b,a){a.a=Fb(b.Ad(),63);a.b=b.Bd();a.c=b.Bd();a.d=Fb(b.Ad(),59);a.e=b.Bd();a.f=Fb(b.Ad(),59);a.g=Fb(b.Ad(),59);a.h=b.Bd();a.i=b.Bd();a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=Fb(b.Ad(),59);a.n=b.Bd();a.o=b.Bd();a.p=b.Bd();a.q=b.Bd();a.r=b.Bd();a.s=b.Bd();a.t=b.Bd();a.u=b.Bd();a.v=b.zd();}
+function qLb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.bf(a.d);b.cf(a.e);b.bf(a.f);b.bf(a.g);b.cf(a.h);b.cf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.bf(a.m);b.cf(a.n);b.cf(a.o);b.cf(a.p);b.cf(a.q);b.cf(a.r);b.cf(a.s);b.cf(a.t);b.cf(a.u);b.af(a.v);}
+function rLb(){}
+_=rLb.prototype=new xT();_.tN=agc+'PackageConfigData';_.tI=446;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function vLb(b,a){a.a=b.wd();a.b=b.Bd();a.c=Fb(b.Ad(),59);a.d=b.Bd();a.e=b.Bd();a.f=b.Bd();a.g=b.wd();a.h=b.Bd();a.i=Fb(b.Ad(),59);a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=b.Bd();}
+function wLb(b,a){b.De(a.a);b.cf(a.b);b.bf(a.c);b.cf(a.d);b.cf(a.e);b.cf(a.f);b.De(a.g);b.cf(a.h);b.bf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.cf(a.m);}
+function CLb(){var a,b,c;c=BRb(new bMb());a=c;b=v()+'jbrmsService';hUb(a,b);return c;}
+function DLb(){var a,b,c;c=jXb(new EWb());a=c;b=v()+'jbrmsService';pXb(a,b);return c;}
+function ELb(){if(BLb===null){FLb();}return BLb;}
+function FLb(){if(ALb)BLb=null;else BLb=CLb();}
+function aMb(d,b,a){var c;c=DLb();oXb(c,d,b,a);}
+var ALb=false,BLb=null;function jTb(){jTb=v2;iUb=kUb(new jUb());}
+function BRb(a){jTb();return a;}
+function CRb(b,a,c,d){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'archiveAsset');rn(a,2);tn(a,'java.lang.String');tn(a,'Z');tn(a,c);qn(a,d);}
+function ERb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildAsset');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
+function DRb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildAssetSource');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
+function aSb(d,c,a,b){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'buildPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,a);tn(c,b);}
+function FRb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildPackageSource');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function bSb(d,c,e,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'changeAssetPackage');rn(c,3);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,e);tn(c,b);tn(c,a);}
+function cSb(c,b,d,a,e){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'changeState');rn(b,3);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,'Z');tn(b,d);tn(b,a);qn(b,e);}
+function dSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'checkinVersion');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
+function eSb(e,d,a,c,b){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'copyAsset');rn(d,3);tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,a);tn(d,c);tn(d,b);}
+function fSb(f,e,c,d,a,b){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'copyOrRemoveSnapshot');rn(e,4);tn(e,'java.lang.String');tn(e,'java.lang.String');tn(e,'Z');tn(e,'java.lang.String');tn(e,c);tn(e,d);qn(e,a);tn(e,b);}
+function gSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'copyPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
+function hSb(e,d,c,b,a){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'createCategory');rn(d,3);tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,c);tn(d,b);tn(d,a);}
+function iSb(g,f,e,a,c,d,b){if(g.a===null)throw Al(new zl());xo(f);tn(f,'org.drools.brms.client.rpc.RepositoryService');tn(f,'createNewRule');rn(f,5);tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,e);tn(f,a);tn(f,c);tn(f,d);tn(f,b);}
+function kSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'createPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
+function jSb(f,e,b,d,c,a){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'createPackageSnapshot');rn(e,4);tn(e,'java.lang.String');tn(e,'java.lang.String');tn(e,'Z');tn(e,'java.lang.String');tn(e,b);tn(e,d);qn(e,c);tn(e,a);}
+function lSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'createState');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function mSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'deleteUncheckedRule');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
+function nSb(f,e,c,a,b,d){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'listAssets');rn(e,4);tn(e,'java.lang.String');tn(e,'[Ljava.lang.String;');tn(e,'I');tn(e,'I');tn(e,c);sn(e,a);rn(e,b);rn(e,d);}
+function oSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'listPackages');rn(a,0);}
+function pSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'listSnapshots');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function qSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'listStates');rn(a,0);}
+function rSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadArchivedAssets');rn(a,0);}
+function sSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadAssetHistory');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
+function tSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadChildCategories');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function uSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadPackageConfig');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
+function vSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadRuleAsset');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function wSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadRuleListForCategories');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function xSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadSuggestionCompletionEngine');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function ySb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadTableConfig');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function zSb(e,d,c,a,b){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'quickFindAsset');rn(d,3);tn(d,'java.lang.String');tn(d,'I');tn(d,'Z');tn(d,c);rn(d,a);qn(d,b);}
+function ASb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'rebuildSnapshots');rn(a,0);}
+function BSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'removeAsset');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
+function CSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'removeCategory');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function DSb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'renameAsset');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
+function ESb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'renamePackage');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
+function FSb(d,c,e,a,b){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'restoreVersion');rn(c,3);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,e);tn(c,a);tn(c,b);}
+function aTb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'savePackage');rn(b,1);tn(b,'org.drools.brms.client.rpc.PackageConfigData');sn(b,a);}
+function bTb(h,i,j,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CRb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=qNb(new cMb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ERb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=hPb(new uNb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DRb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=EQb(new lPb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fTb(j,f,g,c){var a,d,e,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=dRb(new cRb(),j,h,c);if(!wg(j.a,Ao(i),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FRb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=iRb(new hRb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gTb(j,k,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=nRb(new mRb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hTb(i,j,f,k,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=sRb(new rRb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function iTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=xRb(new wRb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function kTb(k,c,h,g,d){var a,e,f,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=eMb(new dMb(),k,i,d);if(!wg(k.a,Ao(j),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lTb(l,h,i,d,g,c){var a,e,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=jMb(new iMb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mTb(j,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=oMb(new nMb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function nTb(k,h,g,d,c){var a,e,f,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=tMb(new sMb(),k,i,c);if(!wg(k.a,Ao(j),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=Fn(new En(),iUb);l=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}g=yMb(new xMb(),m,k,c);if(!wg(m.a,Ao(l),g))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qTb(j,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=DMb(new CMb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pTb(l,g,i,h,d,c){var a,e,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=cNb(new bNb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=hNb(new gNb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sTb(j,g,f,c){var a,d,e,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=mNb(new lNb(),j,h,c);if(!wg(j.a,Ao(i),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tTb(l,h,e,g,i,c){var a,d,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}f=wNb(new vNb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=BNb(new ANb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=aOb(new FNb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=fOb(new eOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function xTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=kOb(new jOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function yTb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=pOb(new oOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function zTb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=uOb(new tOb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ATb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=zOb(new yOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function BTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=EOb(new DOb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CTb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=dPb(new cPb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=nPb(new mPb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ETb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=sPb(new rPb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FTb(k,h,f,g,c){var a,d,e,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=xPb(new wPb(),k,i,c);if(!wg(k.a,Ao(j),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aUb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=CPb(new BPb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bUb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=bQb(new aQb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cUb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=gQb(new fQb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dUb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=lQb(new kQb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eUb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=qQb(new pQb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fUb(j,k,c,e,d){var a,f,g,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;jcb(d,f);return;}else throw a;}g=vQb(new uQb(),j,h,d);if(!wg(j.a,Ao(i),g))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gUb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=AQb(new zQb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hUb(b,a){b.a=a;}
+function bMb(){}
+_=bMb.prototype=new xT();_.tN=agc+'RepositoryService_Proxy';_.tI=447;_.a=null;var iUb;function qNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x6(g.a,f);else jcb(g.a,c);}
+function tNb(a){var b;b=x;sNb(this,a);}
+function cMb(){}
+_=cMb.prototype=new xT();_.xc=tNb;_.tN=agc+'RepositoryService_Proxy$1';_.tI=448;function eMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)p0b(g.a,f);else jcb(g.a,c);}
+function hMb(a){var b;b=x;gMb(this,a);}
+function dMb(){}
+_=dMb.prototype=new xT();_.xc=hMb;_.tN=agc+'RepositoryService_Proxy$10';_.tI=449;function jMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function lMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function mMb(a){var b;b=x;lMb(this,a);}
+function iMb(){}
+_=iMb.prototype=new xT();_.xc=mMb;_.tN=agc+'RepositoryService_Proxy$11';_.tI=450;function oMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function qMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rBb(g.a,f);else jcb(g.a,c);}
+function rMb(a){var b;b=x;qMb(this,a);}
+function nMb(){}
+_=nMb.prototype=new xT();_.xc=rMb;_.tN=agc+'RepositoryService_Proxy$12';_.tI=451;function tMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)C9(g.a,f);else jcb(g.a,c);}
+function wMb(a){var b;b=x;vMb(this,a);}
+function sMb(){}
+_=sMb.prototype=new xT();_.xc=wMb;_.tN=agc+'RepositoryService_Proxy$13';_.tI=452;function yMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function AMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)e7b(g.a,f);else jcb(g.a,c);}
+function BMb(a){var b;b=x;AMb(this,a);}
+function xMb(){}
+_=xMb.prototype=new xT();_.xc=BMb;_.tN=agc+'RepositoryService_Proxy$14';_.tI=453;function DMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vyb(g.a,f);else jcb(g.a,c);}
+function aNb(a){var b;b=x;FMb(this,a);}
+function CMb(){}
+_=CMb.prototype=new xT();_.xc=aNb;_.tN=agc+'RepositoryService_Proxy$15';_.tI=454;function cNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function eNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wzb(g.a,f);else jcb(g.a,c);}
+function fNb(a){var b;b=x;eNb(this,a);}
+function bNb(){}
+_=bNb.prototype=new xT();_.xc=fNb;_.tN=agc+'RepositoryService_Proxy$16';_.tI=455;function hNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)j9(g.a,f);else jcb(g.a,c);}
+function kNb(a){var b;b=x;jNb(this,a);}
+function gNb(){}
+_=gNb.prototype=new xT();_.xc=kNb;_.tN=agc+'RepositoryService_Proxy$17';_.tI=456;function mNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f$b(g.a,f);else jcb(g.a,c);}
+function pNb(a){var b;b=x;oNb(this,a);}
+function lNb(){}
+_=lNb.prototype=new xT();_.xc=pNb;_.tN=agc+'RepositoryService_Proxy$18';_.tI=457;function hPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)i8b(g.a,f);else jcb(g.a,c);}
+function kPb(a){var b;b=x;jPb(this,a);}
+function uNb(){}
+_=uNb.prototype=new xT();_.xc=kPb;_.tN=agc+'RepositoryService_Proxy$2';_.tI=458;function wNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)nFb(g.a,f);else jcb(g.a,c);}
+function zNb(a){var b;b=x;yNb(this,a);}
+function vNb(){}
+_=vNb.prototype=new xT();_.xc=zNb;_.tN=agc+'RepositoryService_Proxy$20';_.tI=459;function BNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function ENb(a){var b;b=x;DNb(this,a);}
+function ANb(){}
+_=ANb.prototype=new xT();_.xc=ENb;_.tN=agc+'RepositoryService_Proxy$21';_.tI=460;function aOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function dOb(a){var b;b=x;cOb(this,a);}
+function FNb(){}
+_=FNb.prototype=new xT();_.xc=dOb;_.tN=agc+'RepositoryService_Proxy$22';_.tI=461;function fOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function iOb(a){var b;b=x;hOb(this,a);}
+function eOb(){}
+_=eOb.prototype=new xT();_.xc=iOb;_.tN=agc+'RepositoryService_Proxy$23';_.tI=462;function kOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f7(g.a,f);else jcb(g.a,c);}
+function nOb(a){var b;b=x;mOb(this,a);}
+function jOb(){}
+_=jOb.prototype=new xT();_.xc=nOb;_.tN=agc+'RepositoryService_Proxy$24';_.tI=463;function pOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g_b(g.a,f);else jcb(g.a,c);}
+function sOb(a){var b;b=x;rOb(this,a);}
+function oOb(){}
+_=oOb.prototype=new xT();_.xc=sOb;_.tN=agc+'RepositoryService_Proxy$25';_.tI=464;function uOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function xOb(a){var b;b=x;wOb(this,a);}
+function tOb(){}
+_=tOb.prototype=new xT();_.xc=xOb;_.tN=agc+'RepositoryService_Proxy$26';_.tI=465;function zOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function BOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function COb(a){var b;b=x;BOb(this,a);}
+function yOb(){}
+_=yOb.prototype=new xT();_.xc=COb;_.tN=agc+'RepositoryService_Proxy$27';_.tI=466;function EOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function bPb(a){var b;b=x;aPb(this,a);}
+function DOb(){}
+_=DOb.prototype=new xT();_.xc=bPb;_.tN=agc+'RepositoryService_Proxy$28';_.tI=467;function dPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rbc(g.a,f);else jcb(g.a,c);}
+function gPb(a){var b;b=x;fPb(this,a);}
+function cPb(){}
+_=cPb.prototype=new xT();_.xc=gPb;_.tN=agc+'RepositoryService_Proxy$29';_.tI=468;function EQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)n8b(g.a,f);else jcb(g.a,c);}
+function bRb(a){var b;b=x;aRb(this,a);}
+function lPb(){}
+_=lPb.prototype=new xT();_.xc=bRb;_.tN=agc+'RepositoryService_Proxy$3';_.tI=469;function nPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)oKb(g.a,f);else jcb(g.a,c);}
+function qPb(a){var b;b=x;pPb(this,a);}
+function mPb(){}
+_=mPb.prototype=new xT();_.xc=qPb;_.tN=agc+'RepositoryService_Proxy$30';_.tI=470;function sPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)hcc(g.a,f);else jcb(g.a,c);}
+function vPb(a){var b;b=x;uPb(this,a);}
+function rPb(){}
+_=rPb.prototype=new xT();_.xc=vPb;_.tN=agc+'RepositoryService_Proxy$31';_.tI=471;function xPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function APb(a){var b;b=x;zPb(this,a);}
+function wPb(){}
+_=wPb.prototype=new xT();_.xc=APb;_.tN=agc+'RepositoryService_Proxy$32';_.tI=472;function CPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function EPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)bJb(g.a,f);else jcb(g.a,c);}
+function FPb(a){var b;b=x;EPb(this,a);}
+function BPb(){}
+_=BPb.prototype=new xT();_.xc=FPb;_.tN=agc+'RepositoryService_Proxy$33';_.tI=473;function bQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)a7(g.a,f);else jcb(g.a,c);}
+function eQb(a){var b;b=x;dQb(this,a);}
+function aQb(){}
+_=aQb.prototype=new xT();_.xc=eQb;_.tN=agc+'RepositoryService_Proxy$34';_.tI=474;function gQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x8(g.a,f);else jcb(g.a,c);}
+function jQb(a){var b;b=x;iQb(this,a);}
+function fQb(){}
+_=fQb.prototype=new xT();_.xc=jQb;_.tN=agc+'RepositoryService_Proxy$35';_.tI=475;function lQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f6b(g.a,f);else jcb(g.a,c);}
+function oQb(a){var b;b=x;nQb(this,a);}
+function kQb(){}
+_=kQb.prototype=new xT();_.xc=oQb;_.tN=agc+'RepositoryService_Proxy$36';_.tI=476;function qQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dEb(g.a,f);else jcb(g.a,c);}
+function tQb(a){var b;b=x;sQb(this,a);}
+function pQb(){}
+_=pQb.prototype=new xT();_.xc=tQb;_.tN=agc+'RepositoryService_Proxy$37';_.tI=477;function vQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)pac(g.a,f);else jcb(g.a,c);}
+function yQb(a){var b;b=x;xQb(this,a);}
+function uQb(){}
+_=uQb.prototype=new xT();_.xc=yQb;_.tN=agc+'RepositoryService_Proxy$38';_.tI=478;function AQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function CQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wBb(g.a,f);else jcb(g.a,c);}
+function DQb(a){var b;b=x;CQb(this,a);}
+function zQb(){}
+_=zQb.prototype=new xT();_.xc=DQb;_.tN=agc+'RepositoryService_Proxy$39';_.tI=479;function dRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vAb(g.a,f);else jcb(g.a,c);}
+function gRb(a){var b;b=x;fRb(this,a);}
+function cRb(){}
+_=cRb.prototype=new xT();_.xc=gRb;_.tN=agc+'RepositoryService_Proxy$4';_.tI=480;function iRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function kRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)gAb(g.a,f);else jcb(g.a,c);}
+function lRb(a){var b;b=x;kRb(this,a);}
+function hRb(){}
+_=hRb.prototype=new xT();_.xc=lRb;_.tN=agc+'RepositoryService_Proxy$5';_.tI=481;function nRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D4b(g.a,f);else jcb(g.a,c);}
+function qRb(a){var b;b=x;pRb(this,a);}
+function mRb(){}
+_=mRb.prototype=new xT();_.xc=qRb;_.tN=agc+'RepositoryService_Proxy$6';_.tI=482;function sRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)jeb(g.a,f);else jcb(g.a,c);}
+function vRb(a){var b;b=x;uRb(this,a);}
+function rRb(){}
+_=rRb.prototype=new xT();_.xc=vRb;_.tN=agc+'RepositoryService_Proxy$7';_.tI=483;function xRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k$b(g.a,f);else jcb(g.a,c);}
+function ARb(a){var b;b=x;zRb(this,a);}
+function wRb(){}
+_=wRb.prototype=new xT();_.xc=ARb;_.tN=agc+'RepositoryService_Proxy$8';_.tI=484;function lUb(){lUb=v2;nWb=mUb();qWb=nUb();}
+function kUb(a){lUb();return a;}
+function mUb(){lUb();return {'[B/2233087514':[function(a){return oUb(a);},function(a,b){nm(a,b);},function(a,b){om(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return pUb(a);},function(a,b){el(a,b);},function(a,b){fl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return qUb(a);},function(a,b){pl(a,b);},function(a,b){rl(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return vUb(a);},function(a,b){tD(a,b);},function(a,b){wD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return wUb(a);},function(a,b){lI(a,b);},function(a,b){oI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return xUb(a);},function(a,b){tI(a,b);},function(a,b){vI(a,b);}],'java.lang.Boolean/476441737':[function(a){return am(a);},function(a,b){Fl(a,b);},function(a,b){bm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return jm(a);},function(a,b){im(a,b);},function(a,b){km(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return yUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return rUb(a);},function(a,b){rm(a,b);},function(a,b){sm(a,b);}],'java.util.Date/1659716317':[function(a){return wm(a);},function(a,b){vm(a,b);},function(a,b){xm(a,b);}],'java.util.HashMap/962170901':[function(a){return sUb(a);},function(a,b){Am(a,b);},function(a,b){Bm(a,b);}],'java.util.HashSet/1594477813':[function(a){return tUb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'java.util.Vector/3125574444':[function(a){return uUb(a);},function(a,b){cn(a,b);},function(a,b){dn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return zUb(a);},function(a,b){jgb(a,b);},function(a,b){kgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return AUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return CUb(a);},function(a,b){chb(a,b);},function(a,b){dhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return BUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return EUb(a);},function(a,b){khb(a,b);},function(a,b){lhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return DUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return aVb(a);},function(a,b){shb(a,b);},function(a,b){thb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return FUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn cVb(a);},function(a,b){zhb(a,b);},function(a,b){Ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return bVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return eVb(a);},function(a,b){bib(a,b);},function(a,b){cib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return dVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return gVb(a);},function(a,b){jib(a,b);},function(a,b){kib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return fVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return iVb(a);},function(a,b){rib(a,b);},function(a,b){sib(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn hVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return kVb(a);},function(a,b){zib(a,b);},function(a,b){Aib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return jVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return mVb(a);},function(a,b){Fib(a,b);},function(a,b){ajb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return lVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return oVb(a);},function(a,b){hjb(a,b);},function(a,b){ijb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return nVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return qVb(a);},function(a,b){tjb(a,b);},function(a,b){ujb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return pVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return rVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return sVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return tVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return uVb(a);},function(a,b){Cjb(a,b);},function(a,b){Djb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return wVb(a);},function(a,b){ekb(a,b);},function(a,b!
 ){fkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return vVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return xVb(a);},function(a,b){zkb(a,b);},function(a,b){Akb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return zVb(a);},function(a,b){clb(a,b);},function(a,b){dlb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return yVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return BVb(a);},function(a,b){CKb(a,b);},function(a,b){DKb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return AVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return CVb(a);},function(a,b){dLb(a,b);},function(a,b){fLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return DVb(a);},function(a,b){pLb(a,b);},function(a,b){qLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return FVb(a);},function(a,b){vLb(a,b);},function(a,b){wLb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return EVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return aWb(a);},function(a,b){vWb(a,b);},function(a,b){wWb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return bWb(a);},function(a,b){BWb(a,b);},function(a,b){CWb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return cWb(a);},function(a,b){cYb(a,b);},function(a,b){dYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return eWb(a);},function(a,b){iYb(a,b);},function(a,b){jYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn dWb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return fWb(a);},function(a,b){oYb(a,b);},function(a,b){pYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return gWb(a);},function(a,b){uYb(a,b);},function(a,b){vYb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return iWb(a);},function(a,b){AYb(a,b);},function(a,b){BYb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return hWb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return jWb(a);},function(a,b){bZb(a,b);},function(a,b){cZb(a,b);}]};}
+function nUb(){lUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
+function oUb(b){lUb();var a;a=b.yd();return yb('[B',[613],[(-1)],[a],0);}
+function pUb(a){lUb();return al(new Fk());}
+function qUb(a){lUb();return new ll();}
+function rUb(a){lUb();return FX(new DX());}
+function sUb(a){lUb();return C0(new a0());}
+function tUb(a){lUb();return w1(new v1());}
+function uUb(a){lUb();return j2(new i2());}
+function vUb(a){lUb();return new pD();}
+function wUb(a){lUb();return new eI();}
+function xUb(a){lUb();return new gI();}
+function yUb(b){lUb();var a;a=b.yd();return yb('[Ljava.lang.String;',[607],[1],[a],null);}
+function zUb(a){lUb();return Afb(new yfb());}
+function AUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[622],[22],[a],null);}
+function BUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[623],[23],[a],null);}
+function CUb(a){lUb();return new Dgb();}
+function DUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[624],[24],[a],null);}
+function EUb(a){lUb();return fhb(new ehb());}
+function FUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[625],[25],[a],null);}
+function aVb(a){lUb();return nhb(new mhb());}
+function bVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[626],[26],[a],null);}
+function cVb(a){lUb();return new uhb();}
+function dVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[627],[27],[a],null);}
+function eVb(a){lUb();return Chb(new Bhb());}
+function fVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[628],[28],[a],null);}
+function gVb(a){lUb();return eib(new dib());}
+function hVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[629],[29],[a],null);}
+function iVb(a){lUb();return new lib();}
+function jVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[630],[30],[a],null);}
+function kVb(a){lUb();return new tib();}
+function lVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[615],[15],[a],null);}
+function mVb(a){lUb();return new Bib();}
+function nVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[609],[10],[a],null);}
+function oVb(a){lUb();return new bjb();}
+function pVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[631],[31],[a],null);}
+function qVb(a){lUb();return new kjb();}
+function rVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[621],[21],[a],null);}
+function sVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[620],[20],[a],null);}
+function tVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[619],[19],[a],null);}
+function uVb(a){lUb();return new yjb();}
+function vVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[618],[18],[a],null);}
+function wVb(a){lUb();return new Fjb();}
+function xVb(a){lUb();return jkb(new hkb());}
+function yVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[632],[32],[a],null);}
+function zVb(a){lUb();return new Bkb();}
+function AVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[611],[12],[a],null);}
+function BVb(a){lUb();return new yKb();}
+function CVb(a){lUb();return new FKb();}
+function DVb(a){lUb();return jLb(new hLb());}
+function EVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[616],[16],[a],null);}
+function FVb(a){lUb();return new rLb();}
+function aWb(a){lUb();return new rWb();}
+function bWb(a){lUb();return new xWb();}
+function cWb(a){lUb();return new EXb();}
+function dWb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[617],[17],[a],null);}
+function eWb(a){lUb();return new eYb();}
+function fWb(a){lUb();return new kYb();}
+function gWb(a){lUb();return new qYb();}
+function hWb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[614],[14],[a],null);}
+function iWb(a){lUb();return new wYb();}
+function jWb(a){lUb();return new DYb();}
+function kWb(c,a,d){var b=nWb[d];if(!b){oWb(d);}b[1](c,a);}
+function lWb(b){var a=qWb[b];return a==null?b:a;}
+function mWb(b,c){var a=nWb[c];if(!a){oWb(c);}return a[0](b);}
+function oWb(a){lUb();throw vl(new ul(),a);}
+function pWb(c,a,d){var b=nWb[d];if(!b){oWb(d);}b[2](c,a);}
+function jUb(){}
+_=jUb.prototype=new xT();_.gb=kWb;_.Eb=lWb;_.kc=mWb;_.fe=pWb;_.tN=agc+'RepositoryService_TypeSerializer';_.tI=485;var nWb,qWb;function rWb(){}
+_=rWb.prototype=new xT();_.tN=agc+'RuleAsset';_.tI=486;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function vWb(b,a){a.a=b.wd();a.b=Fb(b.Ad(),39);a.c=b.wd();a.d=Fb(b.Ad(),93);a.e=b.Bd();}
+function wWb(b,a){b.De(a.a);b.bf(a.b);b.De(a.c);b.bf(a.d);b.cf(a.e);}
+function xWb(){}
+_=xWb.prototype=new xT();_.tN=agc+'RuleContentText';_.tI=487;_.a=null;function BWb(b,a){a.a=b.Bd();}
+function CWb(b,a){b.cf(a.a);}
+function mXb(){mXb=v2;qXb=sXb(new rXb());}
+function jXb(a){mXb();return a;}
+function kXb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.SecurityService');tn(a,'getCurrentUser');rn(a,0);}
+function lXb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.SecurityService');tn(b,'login');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
+function nXb(h,c){var a,d,e,f,g;f=Fn(new En(),qXb);g=to(new ro(),qXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{kXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Ac(d);return;}else throw a;}e=aXb(new FWb(),h,f,c);if(!wg(h.a,Ao(g),e))c.Ac(hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oXb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),qXb);h=to(new ro(),qXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{lXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=fXb(new eXb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pXb(b,a){b.a=a;}
+function EWb(){}
+_=EWb.prototype=new xT();_.tN=agc+'SecurityService_Proxy';_.tI=488;_.a=null;var qXb;function aXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cXb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else g.a.Ac(c);}
+function dXb(a){var b;b=x;cXb(this,a);}
+function FWb(){}
+_=FWb.prototype=new xT();_.xc=dXb;_.tN=agc+'SecurityService_Proxy$1';_.tI=489;function fXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hXb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=BR(new AR(),eo(g.b));}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)q5(g.a,f);else jcb(g.a,c);}
+function iXb(a){var b;b=x;hXb(this,a);}
+function eXb(){}
+_=eXb.prototype=new xT();_.xc=iXb;_.tN=agc+'SecurityService_Proxy$2';_.tI=490;function tXb(){tXb=v2;AXb=uXb();DXb=vXb();}
+function sXb(a){tXb();return a;}
+function uXb(){tXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return wXb(a);},function(a,b){el(a,b);},function(a,b){fl(a,b);}],'java.lang.String/2004016611':[function(a){return jm(a);},function(a,b){im(a,b);},function(a,b){km(a,b);}]};}
+function vXb(){tXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
+function wXb(a){tXb();return al(new Fk());}
+function xXb(c,a,d){var b=AXb[d];if(!b){BXb(d);}b[1](c,a);}
+function yXb(b){var a=DXb[b];return a==null?b:a;}
+function zXb(b,c){var a=AXb[c];if(!a){BXb(c);}return a[0](b);}
+function BXb(a){tXb();throw vl(new ul(),a);}
+function CXb(c,a,d){var b=AXb[d];if(!b){BXb(d);}b[2](c,a);}
+function rXb(){}
+_=rXb.prototype=new xT();_.gb=xXb;_.Eb=yXb;_.kc=zXb;_.fe=CXb;_.tN=agc+'SecurityService_TypeSerializer';_.tI=491;var AXb,DXb;function EXb(){}
+_=EXb.prototype=new ll();_.tN=agc+'SessionExpiredException';_.tI=492;function cYb(b,a){pl(b,a);}
+function dYb(b,a){rl(b,a);}
+function eYb(){}
+_=eYb.prototype=new xT();_.tN=agc+'SnapshotInfo';_.tI=493;_.a=null;_.b=null;_.c=null;function iYb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
+function jYb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
+function kYb(){}
+_=kYb.prototype=new xT();_.tN=agc+'TableConfig';_.tI=494;_.a=null;_.b=0;function oYb(b,a){a.a=Fb(b.Ad(),63);a.b=b.yd();}
+function pYb(b,a){b.bf(a.a);b.Fe(a.b);}
+function qYb(){}
+_=qYb.prototype=new xT();_.tN=agc+'TableDataResult';_.tI=495;_.a=null;function uYb(b,a){a.a=Fb(b.Ad(),94);}
+function vYb(b,a){b.bf(a.a);}
+function CYb(a){return wU(a,'\\,')[0];}
+function wYb(){}
+_=wYb.prototype=new xT();_.tN=agc+'TableDataRow';_.tI=496;_.a=null;_.b=null;_.c=null;function AYb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=Fb(b.Ad(),63);}
+function BYb(b,a){b.cf(a.a);b.cf(a.b);b.bf(a.c);}
+function DYb(){}
+_=DYb.prototype=new xT();_.tN=agc+'ValidatedResponse';_.tI=497;_.a=null;_.b=null;_.c=false;_.d=null;function bZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.wd();a.d=Fb(b.Ad(),39);}
+function cZb(b,a){b.cf(a.a);b.cf(a.b);b.De(a.c);b.bf(a.d);}
+function r0b(a){a.e=rt(new lt());}
+function s0b(j,b,c,a,f,d,g){var e,h,i;r0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=jz(new nw());i=j.f.r;e=ut(j.e);h=fA(new dA());z0b(j,i);gA(h,j.g);if(!g){v0b(j,e,h);}B0b(j,f,e);mr(j,j.e);j.xe('100%');return j;}
+function u0b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
+function v0b(h,e,g){var a,b,c,d,f;d=ocb(new ncb(),'images/edit.gif');d.pe('Change status.');lB(d,nZb(new eZb(),h));gA(g,d);h.e.ve(0,0,g);bx(e,0,0,(uz(),wz),(Dz(),aA));f=wp(new qp(),'Save changes');f.pe('Check in changes.');f.x(rZb(new qZb(),h));gA(g,f);b=wp(new qp(),'Copy');b.x(vZb(new uZb(),h));gA(g,b);a=wp(new qp(),'Archive');a.x(zZb(new yZb(),h));gA(g,a);if(h.f.v==0){c=wp(new qp(),'Delete');c.x(DZb(new CZb(),h));gA(g,c);}}
+function w0b(b,c){var a;a=F1b(new A1b(),rN(c),sN(c),'Check in changes.');c2b(a,gZb(new fZb(),b,a));d2b(a);}
+function x0b(e,f){var a,b,c,d;a=dcb(new Ebb(),'images/rule_asset.gif','Copy this item');b=FK(new qK());c=rdb(new mdb());ecb(a,'New name:',b);ecb(a,'New package:',c);d=wp(new qp(),'Create copy');d.x(j0b(new i0b(),e,c,b,a));ecb(a,'',d);rE(a,dc((fab()-mE(a))/2),100);uE(a);}
+function y0b(b,a){b.c=a;}
+function z0b(b,a){nz(b.g,'Status: <b>['+a+']<\/b>');}
+function A0b(b,c){var a;a=leb(new vdb(),b.h,false);oeb(a,kZb(new jZb(),b,a));rE(a,rN(c),sN(c));uE(a);}
+function B0b(e,d,b){var a,c,f;f=fA(new dA());c=ocb(new ncb(),'images/max_min.gif');lB(c,b0b(new a0b(),e,d));gA(f,c);a=ocb(new ncb(),'images/close.gif');a.pe('Close.');lB(a,f0b(new e0b(),e));gA(f,a);e.e.ve(0,1,f);bx(b,0,1,(uz(),xz),(Dz(),aA));}
+function dZb(){}
+_=dZb.prototype=new kr();_.tN=bgc+'ActionToolbar';_.tI=498;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function nZb(b,a){b.a=a;return b;}
+function pZb(a){A0b(this.a,a);}
+function eZb(){}
+_=eZb.prototype=new xT();_.wc=pZb;_.tN=bgc+'ActionToolbar$1';_.tI=499;function gZb(b,a,c){b.a=a;b.b=c;return b;}
+function iZb(){this.a.f.b=b2b(this.b);h9b(this.a.b);}
+function fZb(){}
+_=fZb.prototype=new xT();_.nb=iZb;_.tN=bgc+'ActionToolbar$10';_.tI=500;function kZb(b,a,c){b.a=a;b.b=c;return b;}
+function mZb(){z0b(this.a,this.b.c);}
+function jZb(){}
+_=jZb.prototype=new xT();_.nb=mZb;_.tN=bgc+'ActionToolbar$11';_.tI=501;function rZb(b,a){b.a=a;return b;}
+function tZb(a){w0b(this.a,a);}
+function qZb(){}
+_=qZb.prototype=new xT();_.wc=tZb;_.tN=bgc+'ActionToolbar$2';_.tI=502;function vZb(b,a){b.a=a;return b;}
+function xZb(a){x0b(this.a,a);}
+function uZb(){}
+_=uZb.prototype=new xT();_.wc=xZb;_.tN=bgc+'ActionToolbar$3';_.tI=503;function zZb(b,a){b.a=a;return b;}
+function BZb(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+tZ(lZ(new kZ()));m9b(this.a.a);}}
+function yZb(){}
+_=yZb.prototype=new xT();_.wc=BZb;_.tN=bgc+'ActionToolbar$4';_.tI=504;function DZb(b,a){b.a=a;return b;}
+function FZb(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){w9b(this.a.d);}}
+function CZb(){}
+_=CZb.prototype=new xT();_.wc=FZb;_.tN=bgc+'ActionToolbar$5';_.tI=505;function b0b(b,a,c){b.a=c;return b;}
+function d0b(a){r9b(this.a);}
+function a0b(){}
+_=a0b.prototype=new xT();_.wc=d0b;_.tN=bgc+'ActionToolbar$6';_.tI=506;function f0b(b,a){b.a=a;return b;}
+function h0b(a){a$b(this.a.c);}
+function e0b(){}
+_=e0b.prototype=new xT();_.wc=h0b;_.tN=bgc+'ActionToolbar$7';_.tI=507;function j0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
+function l0b(a){kTb(ELb(),this.a.h,tdb(this.d),xK(this.c),n0b(new m0b(),this,this.c,this.d,this.b));}
+function i0b(){}
+_=i0b.prototype=new xT();_.wc=l0b;_.tN=bgc+'ActionToolbar$8';_.tI=508;function n0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
+function p0b(b,a){u0b(b.a.a,xK(b.c),tdb(b.d));b.b.ic();}
+function q0b(a){p0b(this,a);}
+function m0b(){}
+_=m0b.prototype=new hcb();_.md=q0b;_.tN=bgc+'ActionToolbar$9';_.tI=509;function r1b(a){a.b=kab(new iab());}
+function s1b(c,a,b){r1b(c);c.a=a;c.c=rt(new lt());x1b(c,c.c);AN(c.c,'rule-List');nab(c.b,0,0,c.c);if(!b){v1b(c);}mr(c,c.b);return c;}
+function t1b(b,a){kLb(b.a,a);z1b(b);}
+function v1b(c){var a,b;a=nO(new lO());b=ocb(new ncb(),'images/new_item.gif');b.pe('Add a new category.');lB(b,g1b(new f1b(),c));oO(a,b);nab(c.b,0,1,a);}
+function w1b(b){var a;a=p1b(new n1b(),b);rE(a,rN(b),sN(b));uE(a);}
+function x1b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;Ey(d,b,0,e.a.a[b]);a=ocb(new ncb(),'images/trash.gif');a.pe('Remove this category');lB(a,k1b(new j1b(),e,c));d.ve(b,1,a);}}
+function y1b(b,a){mLb(b.a,a);dab(b);z1b(b);}
+function z1b(a){a.c=rt(new lt());AN(a.c,'rule-List');nab(a.b,0,0,a.c);x1b(a,a.c);dab(a);}
+function C0b(){}
+_=C0b.prototype=new bab();_.tN=bgc+'AssetCategoryEditor';_.tI=510;_.a=null;_.c=null;function E0b(b,a){b.a=a;return b;}
+function a1b(a){this.a.b=a;}
+function D0b(){}
+_=D0b.prototype=new xT();_.ee=a1b;_.tN=bgc+'AssetCategoryEditor$1';_.tI=511;function c1b(b,a){b.a=a;return b;}
+function e1b(a){if(this.a.b!==null&& !qU('',this.a.b)){t1b(this.a.d,this.a.b);}this.a.ic();}
+function b1b(){}
+_=b1b.prototype=new xT();_.wc=e1b;_.tN=bgc+'AssetCategoryEditor$2';_.tI=512;function g1b(b,a){b.a=a;return b;}
+function i1b(a){w1b(this.a);}
+function f1b(){}
+_=f1b.prototype=new xT();_.wc=i1b;_.tN=bgc+'AssetCategoryEditor$3';_.tI=513;function k1b(b,a,c){b.a=a;b.b=c;return b;}
+function m1b(a){y1b(this.a,this.b);}
+function j1b(){}
+_=j1b.prototype=new xT();_.wc=m1b;_.tN=bgc+'AssetCategoryEditor$4';_.tI=514;function q1b(){q1b=v2;kE();}
+function o1b(a){a.a=wp(new qp(),'OK');}
+function p1b(b,a){var c;q1b();b.d=a;hE(b,true);o1b(b);c=nO(new lO());b.c=v$(new e$(),E0b(new D0b(),b));AN(b,'ks-popups-Popup');oO(c,b.c);oO(c,b.a);cH(b,c);b.a.x(c1b(new b1b(),b));return b;}
+function n1b(){}
+_=n1b.prototype=new fE();_.tN=bgc+'AssetCategoryEditor$CategorySelector';_.tI=515;_.b=null;_.c=null;function F1b(c,a,d,b){c.b=dcb(new Ebb(),'images/checkin.gif',b);c.a=kK(new jK());c.a.xe('100%');c.c=wp(new qp(),'Save');ecb(c.b,'Comment',c.a);ecb(c.b,'',c.c);AN(c.b,'ks-popups-Popup');rE(c.b,a,d);return c;}
+function b2b(a){return xK(a.a);}
+function c2b(b,a){b.c.x(C1b(new B1b(),b,a));}
+function d2b(a){rE(a.b,dc((fab()-mE(a.b))/2),100);uE(a.b);}
+function A1b(){}
+_=A1b.prototype=new xT();_.tN=bgc+'CheckinPopup';_.tI=516;_.a=null;_.b=null;_.c=null;function C1b(b,a,c){b.a=a;b.b=c;return b;}
+function E1b(a){this.b.nb();this.a.b.ic();}
+function B1b(){}
+_=B1b.prototype=new xT();_.wc=E1b;_.tN=bgc+'CheckinPopup$1';_.tI=517;function A2b(){A2b=v2;kE();}
+function y2b(g,f,e){var a,b,c,d;A2b();hE(g,true);g.d=f;g.b=FK(new qK());g.b.xe('100%');b='<enter text to filter list>';BK(g.b,'<enter text to filter list>');mu(g.b,g2b(new f2b(),g));uK(g.b,l2b(new k2b(),g,e));g.b.le(true);d=nO(new lO());oO(d,g.b);g.c=sC(new kC());cD(g.c,5);C2b(g,x4b(g.d,''));oO(d,g.c);c=wp(new qp(),'ok');c.x(r2b(new q2b(),g,e));a=wp(new qp(),'cancel');a.x(v2b(new u2b(),g));g.a=fA(new dA());gA(g.a,c);gA(g.a,a);oO(d,g.a);cH(g,d);AN(g,'ks-popups-Popup');return g;}
+function z2b(b,a){q3b(a,B2b(b));b.ic();}
+function B2b(a){return BC(a.c,CC(a.c));}
+function C2b(c,a){var b;yC(c.c);for(b=0;b<a.b;b++){vC(c.c,Fb(gY(a,b),10).a);}}
+function e2b(){}
+_=e2b.prototype=new fE();_.tN=bgc+'ChoiceList';_.tI=518;_.a=null;_.b=null;_.c=null;_.d=null;function g2b(b,a){b.a=a;return b;}
+function i2b(a){BK(this.a.b,'');}
+function j2b(a){BK(this.a.b,'<enter text to filter list>');}
+function f2b(){}
+_=f2b.prototype=new xT();_.Bc=i2b;_.dd=j2b;_.tN=bgc+'ChoiceList$1';_.tI=519;function l2b(b,a,c){b.a=a;b.b=c;return b;}
+function n2b(a,b,c){}
+function o2b(a,b,c){}
+function p2b(a,b,c){if(b==13){z2b(this.a,this.b);}else{C2b(this.a,x4b(this.a.d,xK(this.a.b)));}}
+function k2b(){}
+_=k2b.prototype=new xT();_.Fc=n2b;_.ad=o2b;_.bd=p2b;_.tN=bgc+'ChoiceList$2';_.tI=520;function r2b(b,a,c){b.a=a;b.b=c;return b;}
+function t2b(a){z2b(this.a,this.b);}
+function q2b(){}
+_=q2b.prototype=new xT();_.wc=t2b;_.tN=bgc+'ChoiceList$3';_.tI=521;function v2b(b,a){b.a=a;return b;}
+function x2b(a){this.a.ic();}
+function u2b(){}
+_=u2b.prototype=new xT();_.wc=x2b;_.tN=bgc+'ChoiceList$4';_.tI=522;function o3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=kK(new jK());pK(i.d,10);BK(i.d,i.c.a);i.d.pe('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=uKb((sKb(),xKb),a.d.o);i.a=c.a;i.b=c.b;AN(i.d,'dsl-text-Editor');d=rt(new lt());d.ve(0,0,i.d);tK(i.d,F2b(new E2b(),i));uK(i.d,d3b(new c3b(),i));j=nO(new lO());e=ocb(new ncb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.pe('Add a new condition');lB(e,h3b(new g3b(),i));h=ocb(new ncb(),'images/new_dsl_action.gif');g='Add an action';h.pe('Add an action');lB(h,l3b(new k3b(),i));oO(j,e);oO(j,h);d.ve(0,1,j);hx(d.n,0,0,'95%');hx(d.n,0,1,'5%');d.xe('100%');d.ne('100%');mr(i,d);return i;}
+function q3b(e,b){var a,c,d;a=mK(e.d);c=AU(xK(e.d),0,a);d=AU(xK(e.d),a,uU(xK(e.d)));BK(e.d,c+b+d);e.c.a=xK(e.d);}
+function r3b(b){var a;a=AU(xK(b.d),0,mK(b.d));if(sU(a,'then')>(-1)){s3b(b,b.a);}else{s3b(b,b.b);}}
+function s3b(c,b){var a;a=y2b(new e2b(),b,c);rE(a,rN(c.d)+20,sN(c.d)+20);uE(a);}
+function D2b(){}
+_=D2b.prototype=new bab();_.tN=bgc+'DSLRuleEditor';_.tI=523;_.a=null;_.b=null;_.c=null;_.d=null;function F2b(b,a){b.a=a;return b;}
+function b3b(a){this.a.c.a=xK(this.a.d);dab(this.a);}
+function E2b(){}
+_=E2b.prototype=new xT();_.vc=b3b;_.tN=bgc+'DSLRuleEditor$1';_.tI=524;function d3b(b,a){b.a=a;return b;}
+function f3b(a,b,c){if(b==32&&c==2){r3b(this.a);}if(b==9){q3b(this.a,'\t');yK(this.a.d,mK(this.a.d)+1);vK(this.a.d);}}
+function c3b(){}
+_=c3b.prototype=new sB();_.Fc=f3b;_.tN=bgc+'DSLRuleEditor$2';_.tI=525;function h3b(b,a){b.a=a;return b;}
+function j3b(a){s3b(this.a,this.a.b);}
+function g3b(){}
+_=g3b.prototype=new xT();_.wc=j3b;_.tN=bgc+'DSLRuleEditor$3';_.tI=526;function l3b(b,a){b.a=a;return b;}
+function n3b(a){s3b(this.a,this.a.a);}
+function k3b(){}
+_=k3b.prototype=new xT();_.wc=n3b;_.tN=bgc+'DSLRuleEditor$4';_.tI=527;function C3b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=kK(new jK());pK(b.c,10);BK(b.c,b.b.a);AN(b.c,'default-text-Area');tK(b.c,v3b(new u3b(),b));uK(b.c,z3b(new y3b(),b));mr(b,b.c);return b;}
+function E3b(e,b){var a,c,d;a=mK(e.c);c=AU(xK(e.c),0,a);d=AU(xK(e.c),a,uU(xK(e.c)));BK(e.c,c+b+d);e.b.a=xK(e.c);}
+function t3b(){}
+_=t3b.prototype=new bab();_.tN=bgc+'DefaultRuleContentWidget';_.tI=528;_.a=null;_.b=null;_.c=null;function v3b(b,a){b.a=a;return b;}
+function x3b(a){this.a.b.a=xK(this.a.c);dab(this.a);}
+function u3b(){}
+_=u3b.prototype=new xT();_.vc=x3b;_.tN=bgc+'DefaultRuleContentWidget$1';_.tI=529;function z3b(b,a){b.a=a;return b;}
+function B3b(a,b,c){if(b==9){E3b(this.a,'\t');yK(this.a.c,mK(this.a.c)+1);vK(this.a.c);}}
+function y3b(){}
+_=y3b.prototype=new sB();_.Fc=B3b;_.tN=bgc+'DefaultRuleContentWidget$2';_.tI=530;function o4b(){o4b=v2;p4b=s4b();}
+function q4b(a){o4b();var b;b=Fb(c1(p4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
+function r4b(a,b){o4b();if(qU(a.d.k,'brl')){return p8b(new C7b(),fwb(new aub(),a),a);}else if(qU(a.d.k,'dslr')){return p8b(new C7b(),o3b(new D2b(),a),a);}else if(qU(a.d.k,'jar')){return ayb(new Fxb(),a,b);}else if(qU(a.d.k,'xls')){return p8b(new C7b(),kfb(new jfb(),a,b),a);}else if(qU(a.d.k,'rf')){return y7b(new x7b(),a,b);}else if(qU(a.d.k,'drl')){return p8b(new C7b(),C3b(new t3b(),a),a);}else if(qU(a.d.k,'enumeration')){return p8b(new C7b(),C3b(new t3b(),a),a);}else{return C3b(new t3b(),a);}}
+function s4b(){o4b();var a;a=C0(new a0());d1(a,'drl','technical_rule_assets.gif');d1(a,'dsl','dsl.gif');d1(a,'function','function_assets.gif');d1(a,'jar','model_asset.gif');d1(a,'xls','spreadsheet_small.gif');d1(a,'brl','business_rule.gif');d1(a,'dslr','business_rule.gif');d1(a,'rf','ruleflow_small.gif');return a;}
+function t4b(d,f,g,e,a){o4b();var b,c,h;h=p$b(new x8b(),a,e);b=a.d.n;if(uU(b)>10){b=AU(b,0,7)+'...';}c=q4b(a.d.k);zJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(FY(),aZ)){d1(d,g,h);}y$b(h,k4b(new j4b(),f,h,d,g));FJ(f,BJ(f,h));}
+function u4b(b,d,e,c){o4b();var a;if(F0(b,e)){if(BJ(d,Fb(c1(b,e),13))==(-1)){a=ac(CJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{FJ(d,BJ(d,Fb(c1(b,e),13)));}edb();return;}BTb(ELb(),e,b4b(new a4b(),b,d,e,c));}
+var p4b;function b4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
+function d4b(c){var a,b;a=Fb(c,97);b=(sKb(),xKb);tKb(b,a.d.o,f4b(new e4b(),this,this.a,this.c,this.d,this.b,a));}
+function a4b(){}
+_=a4b.prototype=new hcb();_.md=d4b;_.tN=bgc+'EditorLauncher$1';_.tI=531;function f4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
+function h4b(a){t4b(a.b,a.d,a.e,a.c,a.a);}
+function i4b(){h4b(this);}
+function e4b(){}
+_=e4b.prototype=new xT();_.nb=i4b;_.tN=bgc+'EditorLauncher$2';_.tI=532;function k4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
+function m4b(a){EJ(a.b,BJ(a.b,a.d));FJ(a.b,0);if(a.a!==(FY(),aZ)){e1(a.a,a.c);}}
+function n4b(){m4b(this);}
+function j4b(){}
+_=j4b.prototype=new xT();_.nb=n4b;_.tN=bgc+'EditorLauncher$3';_.tI=533;function x4b(e,a){var b,c,d;b=FX(new DX());for(c=0;c<e.a;c++){d=e[c];if(qU(a,'')||yU(d.a,a)){bY(b,d);}}return b;}
+function m6b(e,a,c,f,d){var b;tbb(e);AN(e,'metadata-Widget');if(!c){b=pcb(new ncb(),'images/edit.gif','Rename this asset');lB(b,d5b(new z4b(),e));xbb(e,'images/meta_data.png',a.n,b);}else{wbb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;r6b(e,a);return e;}
+function n6b(a){a.b=s1b(new C0b(),a.a,a.c);return a.b;}
+function p6b(d,a,e){var b,c;if(!d.c){b=FK(new qK());b.pe(e);BK(b,a.bc());c=a5b(new F4b(),d,a,b);tK(b,c);return b;}else{return cC(new aC(),a.bc());}}
+function q6b(a){if(a.a.v==0){return kz(new nw(),'<i>Not checked in yet<\/i>');}else{return u6b(a,dT(a.a.v));}}
+function r6b(b,a){b.a=a;vbb(b,'Categories:',n6b(b));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Modified on:',t6b(b,b.a.m));vbb(b,'by:',u6b(b,b.a.l));vbb(b,'Note:',u6b(b,b.a.b));vbb(b,'Version:',q6b(b));if(!b.c){vbb(b,'Created on:',t6b(b,b.a.d));}vbb(b,'Created by:',u6b(b,b.a.e));vbb(b,'Format:',kz(new nw(),'<b>'+b.a.k+'<\/b>'));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Package:',s6b(b,b.a.o));vbb(b,'Subject:',p6b(b,h5b(new g5b(),b),'A short description of the subject matter.'));vbb(b,'Type:',p6b(b,m5b(new l5b(),b),'This is for classification purposes.'));vbb(b,'External link:',p6b(b,r5b(new q5b(),b),'This is for relating the asset to an external system.'));vbb(b,'Source:',p6b(b,w5b(new v5b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){ybb(b,t_b(new A$b(),b.e,b.a,b.d));}}
+function s6b(d,c){var a,b;if(d.c){return u6b(d,c);}else{b=fA(new dA());AN(b,'metadata-Widget');gA(b,u6b(d,c));a=ocb(new ncb(),'images/edit.gif');lB(a,B5b(new A5b(),d,c));gA(b,a);return b;}}
+function t6b(b,a){if(a===null){return null;}else{return cC(new aC(),sZ(a));}}
+function u6b(c,b){var a;a=cC(new aC(),b);a.xe('100%');return a;}
+function v6b(f,b,e){var a,c,d;c=dcb(new Ebb(),'images/package_large.png','Move this item to another package');ecb(c,'Current package:',cC(new aC(),b));d=rdb(new mdb());ecb(c,'New package:',d);a=wp(new qp(),'Change package');ecb(c,'',a);a.x(i6b(new h6b(),f,d,b,c));rE(c,rN(e.v.v),sN(e.v.v));uE(c);}
+function w6b(e,d){var a,b,c;c=dcb(new Ebb(),'images/package_large.png','Rename this item');a=FK(new qK());ecb(c,'New name',a);b=wp(new qp(),'Rename item');ecb(c,'',b);b.x(F5b(new E5b(),e,a,c));rE(c,rN(d.v.v)-18,sN(d.v.v));uE(c);}
+function x6b(){return this.b.mc()||this.j;}
+function y4b(){}
+_=y4b.prototype=new rbb();_.mc=x6b;_.tN=bgc+'MetaDataWidget';_.tI=534;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function d5b(b,a){b.a=a;return b;}
+function f5b(a){w6b(this.a,a);}
+function z4b(){}
+_=z4b.prototype=new xT();_.wc=f5b;_.tN=bgc+'MetaDataWidget$1';_.tI=535;function B4b(b,a,c){b.a=a;b.b=c;return b;}
+function D4b(b,a){dab(b.a.a);B9b(b.a.a.d);b.b.ic();}
+function E4b(a){D4b(this,a);}
+function A4b(){}
+_=A4b.prototype=new hcb();_.md=E4b;_.tN=bgc+'MetaDataWidget$10';_.tI=536;function a5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function c5b(a){dab(this.a);this.b.te(xK(this.c));}
+function F4b(){}
+_=F4b.prototype=new xT();_.vc=c5b;_.tN=bgc+'MetaDataWidget$11';_.tI=537;function h5b(b,a){b.a=a;return b;}
+function j5b(){return this.a.a.s;}
+function k5b(a){this.a.a.s=a;}
+function g5b(){}
+_=g5b.prototype=new xT();_.bc=j5b;_.te=k5b;_.tN=bgc+'MetaDataWidget$2';_.tI=538;function m5b(b,a){b.a=a;return b;}
+function o5b(){return this.a.a.u;}
+function p5b(a){this.a.a.u=a;}
+function l5b(){}
+_=l5b.prototype=new xT();_.bc=o5b;_.te=p5b;_.tN=bgc+'MetaDataWidget$3';_.tI=539;function r5b(b,a){b.a=a;return b;}
+function t5b(){return this.a.a.i;}
+function u5b(a){this.a.a.i=a;}
+function q5b(){}
+_=q5b.prototype=new xT();_.bc=t5b;_.te=u5b;_.tN=bgc+'MetaDataWidget$4';_.tI=540;function w5b(b,a){b.a=a;return b;}
+function y5b(){return this.a.a.j;}
+function z5b(a){this.a.a.j=a;}
+function v5b(){}
+_=v5b.prototype=new xT();_.bc=y5b;_.te=z5b;_.tN=bgc+'MetaDataWidget$5';_.tI=541;function B5b(b,a,c){b.a=a;b.b=c;return b;}
+function D5b(a){v6b(this.a,this.b,a);}
+function A5b(){}
+_=A5b.prototype=new xT();_.wc=D5b;_.tN=bgc+'MetaDataWidget$6';_.tI=542;function F5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function b6b(a){dUb(ELb(),this.a.e,xK(this.b),d6b(new c6b(),this,this.c));}
+function E5b(){}
+_=E5b.prototype=new xT();_.wc=b6b;_.tN=bgc+'MetaDataWidget$7';_.tI=543;function d6b(b,a,c){b.a=a;b.b=c;return b;}
+function f6b(b,a){B9b(b.a.a.d);zh('Item has been renamed');b.b.ic();}
+function g6b(a){f6b(this,a);}
+function c6b(){}
+_=c6b.prototype=new hcb();_.md=g6b;_.tN=bgc+'MetaDataWidget$8';_.tI=544;function i6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function k6b(a){if(qU(tdb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}gTb(ELb(),this.a.e,tdb(this.d),'Moved from : '+this.b,B4b(new A4b(),this,this.c));}
+function h6b(){}
+_=h6b.prototype=new xT();_.wc=k6b;_.tN=bgc+'MetaDataWidget$9';_.tI=545;function j7b(){j7b=v2;gcb();}
+function g7b(a){a.f=FK(new qK());a.b=kK(new jK());a.d=l7b(a);a.g=rdb(new mdb());}
+function h7b(e,a,d,b,f){var c;j7b();dcb(e,'images/new_wiz.gif',f);g7b(e);e.h=d;e.c=b;e.a=a;ecb(e,'Name:',e.f);if(d){ecb(e,'Initial category:',k7b(e));}if(b===null){ecb(e,'Type (format) of rule:',e.d);}ecb(e,'Package:',e.g);pK(e.b,4);e.b.xe('100%');ecb(e,'Initial description:',e.b);c=wp(new qp(),'OK');c.x(A6b(new z6b(),e));ecb(e,'',c);AN(e,'ks-popups-Popup');return e;}
+function i7b(e,b,d,c,f,a){j7b();h7b(e,b,d,c,f);udb(e.g,a);return e;}
+function k7b(a){return v$(new e$(),E6b(new D6b(),a));}
+function m7b(a){if(a.c!==null)return a.c;return DC(a.d,CC(a.d));}
+function l7b(b){var a;a=sC(new kC());wC(a,'Business rule (using guided editor)','brl');wC(a,'DRL rule (technical rule - text editor)','drl');wC(a,'Business rule using a DSL (text editor)','dslr');wC(a,'Decision table (spreadsheet)','xls');bD(a,0);return a;}
+function n7b(b){var a;if(b.h&&b.e===null){Deb('You have to pick an initial category.',rN(b),sN(b));return;}else if(xK(b.f)===null||qU('',xK(b.f))){Deb('Rule must have a name',rN(b),sN(b));return;}a=c7b(new b7b(),b);idb('Please wait ...');oTb(ELb(),xK(b.f),xK(b.b),b.e,tdb(b.g),m7b(b),a);}
+function o7b(a,b){a.a.td(b);}
+function y6b(){}
+_=y6b.prototype=new Ebb();_.tN=bgc+'NewAssetWizard';_.tI=546;_.a=null;_.c=null;_.e=null;_.h=false;function A6b(b,a){b.a=a;return b;}
+function C6b(a){n7b(this.a);}
+function z6b(){}
+_=z6b.prototype=new xT();_.wc=C6b;_.tN=bgc+'NewAssetWizard$1';_.tI=547;function E6b(b,a){b.a=a;return b;}
+function a7b(a){this.a.e=a;}
+function D6b(){}
+_=D6b.prototype=new xT();_.ee=a7b;_.tN=bgc+'NewAssetWizard$2';_.tI=548;function c7b(b,a){b.a=a;return b;}
+function e7b(b,a){var c;c=Fb(a,1);if(yU(c,'DUPLICATE')){edb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{o7b(b.a,Fb(a,1));b.a.ic();}}
+function f7b(a){e7b(this,a);}
+function b7b(){}
+_=b7b.prototype=new hcb();_.md=f7b;_.tN=bgc+'NewAssetWizard$3';_.tI=549;function u7b(b,a){b.a=kK(new jK());b.a.xe('100%');pK(b.a,10);AN(b.a,'rule-viewer-Documentation');b.a.pe('This is rule documentation. Human friendly descriptions of the business logic.');mr(b,b.a);w7b(b,a);return b;}
+function w7b(b,a){BK(b.a,a.h);tK(b.a,r7b(new q7b(),b,a));if(a.h===null||qU('',a.h)){BK(b.a,'<documentation>');}}
+function p7b(){}
+_=p7b.prototype=new bab();_.tN=bgc+'RuleDocumentWidget';_.tI=550;_.a=null;function r7b(b,a,c){b.a=a;b.b=c;return b;}
+function t7b(a){this.b.h=xK(this.a.a);dab(this.a);}
+function q7b(){}
+_=q7b.prototype=new xT();_.vc=t7b;_.tN=bgc+'RuleDocumentWidget$1';_.tI=551;function y7b(b,a,c){ixb(b,a,c);jxb(b,kz(new nw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
+function A7b(){return 'images/ruleflow_large.png';}
+function B7b(){return 'decision-Table-upload';}
+function x7b(){}
+_=x7b.prototype=new Awb();_.sb=A7b;_.Bb=B7b;_.tN=bgc+'RuleFlowUploadWidget';_.tI=552;function p8b(c,b,a){c.a=a;c.b=kab(new iab());AN(c.b,'asset-editor-Layout');nab(c.b,0,0,b);if(!a.c)nab(c.b,1,0,v8b(c));bx(c.b.n,1,0,(uz(),xz),(Dz(),aA));c.b.xe('100%');c.b.ne('100%');mr(c,c.b);return c;}
+function r8b(a){idb('Validating item, please wait...');dTb(ELb(),a.a,g8b(new f8b(),a));}
+function s8b(a){idb('Calculating source...');cTb(ELb(),a.a,l8b(new k8b(),a));}
+function t8b(h,e){var a,b,c,d,f,g;c=dcb(new Ebb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){fcb(c,kz(new nw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=rt(new lt());AN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ve(f,0,kB(new uA(),'images/error.gif'));if(qU(d.a,'package')){Ey(a,f,1,'[package configuration problem] '+d.c);}else{Ey(a,f,1,d.c);}}g=uG(new sG(),a);g.xe('100%');fcb(c,g);}rE(c,100,100);uE(c);edb();}
+function u8b(b,a){hBb(a,b.a.d.n);edb();}
+function v8b(b){var a,c,d;a=fA(new dA());d=wp(new qp(),'View source');gA(a,d);c=wp(new qp(),'Validate');gA(a,c);d.x(E7b(new D7b(),b));c.x(c8b(new b8b(),b));AN(a,'asset-validator-Buttons');return a;}
+function w8b(){return mab(this.b);}
+function C7b(){}
+_=C7b.prototype=new bab();_.mc=w8b;_.tN=bgc+'RuleValidatorWrapper';_.tI=553;_.a=null;_.b=null;function E7b(b,a){b.a=a;return b;}
+function a8b(a){s8b(this.a);}
+function D7b(){}
+_=D7b.prototype=new xT();_.wc=a8b;_.tN=bgc+'RuleValidatorWrapper$1';_.tI=554;function c8b(b,a){b.a=a;return b;}
+function e8b(a){r8b(this.a);}
+function b8b(){}
+_=b8b.prototype=new xT();_.wc=e8b;_.tN=bgc+'RuleValidatorWrapper$2';_.tI=555;function g8b(b,a){b.a=a;return b;}
+function i8b(c,a){var b;b=Fb(a,88);t8b(c.a,b);}
+function j8b(a){i8b(this,a);}
+function f8b(){}
+_=f8b.prototype=new hcb();_.md=j8b;_.tN=bgc+'RuleValidatorWrapper$3';_.tI=556;function l8b(b,a){b.a=a;return b;}
+function n8b(c,a){var b;b=Fb(a,1);u8b(c.a,b);}
+function o8b(a){n8b(this,a);}
+function k8b(){}
+_=k8b.prototype=new hcb();_.md=o8b;_.tN=bgc+'RuleValidatorWrapper$4';_.tI=557;function p$b(c,a,b){c.a=a;c.g=b;c.e=kab(new iab());v$b(c);mr(c,c.e);edb();return c;}
+function r$b(a){a.a.a=true;s$b(a);m4b(a.b);}
+function s$b(a){hy(a.e);idb('Saving, please wait...');iTb(ELb(),a.a,i$b(new h$b(),a));}
+function t$b(e){var a,b,c,d;d=dcb(new Ebb(),'images/warning-large.png','WARNING: Un-committed changes.');b=wp(new qp(),'Discard');a=wp(new qp(),'Cancel');c=fA(new dA());gA(c,b);gA(c,a);fcb(d,kz(new nw(),'Are you sure you want to discard changes?'));fcb(d,c);b.x(E8b(new D8b(),e,d));a.x(c9b(new b9b(),e,d));AN(d,'warning-Popup');rE(d,dc((fab()-mE(d))/2),100);uE(d);}
+function u$b(a){sTb(ELb(),a.a.e,a.a.d.o,d$b(new c$b(),a));}
+function v$b(b){var a;hy(b.e);a=ut(b.e);b.h=s0b(new dZb(),b.a,f9b(new y8b(),b),k9b(new j9b(),b),p9b(new o9b(),b),u9b(new t9b(),b),b.g);nab(b.e,0,0,b.h);bx(a,0,0,(uz(),xz),(Dz(),aA));b.f=m6b(new y4b(),b.a.d,b.g,b.a.e,z9b(new y9b(),b));nab(b.e,0,1,b.f);qt(a,0,1,3);fx(a,0,1,(Dz(),aA));hx(a,0,1,'30%');b.d=r4b(b.a,b);y0b(b.h,E9b(new D9b(),b));nab(b.e,1,0,b.d);fx(a,1,0,(Dz(),aA));b.c=u7b(new p7b(),b.a.d);nab(b.e,2,0,b.c);fx(a,2,0,(Dz(),aA));}
+function w$b(a){if(f_(a.a.d.k)){idb('Refreshing content assistance...');wKb((sKb(),xKb),a.a.d.o,new m$b());}}
+function x$b(a){BTb(ELb(),a.a.e,A8b(new z8b(),a));}
+function y$b(b,a){b.b=a;}
+function z$b(a){var b;b= !Fw(ut(a.e),2,0);gx(ut(a.e),0,1,b);gx(ut(a.e),2,0,b);}
+function x8b(){}
+_=x8b.prototype=new kr();_.tN=bgc+'RuleViewer';_.tI=558;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function f9b(b,a){b.a=a;return b;}
+function h9b(a){s$b(a.a);}
+function i9b(){h9b(this);}
+function y8b(){}
+_=y8b.prototype=new xT();_.nb=i9b;_.tN=bgc+'RuleViewer$1';_.tI=559;function A8b(b,a){b.a=a;return b;}
+function C8b(a){this.a.a=Fb(a,97);v$b(this.a);edb();}
+function z8b(){}
+_=z8b.prototype=new hcb();_.md=C8b;_.tN=bgc+'RuleViewer$10';_.tI=560;function E8b(b,a,c){b.a=a;b.b=c;return b;}
+function a9b(a){m4b(this.a.b);this.b.ic();}
+function D8b(){}
+_=D8b.prototype=new xT();_.wc=a9b;_.tN=bgc+'RuleViewer$11';_.tI=561;function c9b(b,a,c){b.a=c;return b;}
+function e9b(a){this.a.ic();}
+function b9b(){}
+_=b9b.prototype=new xT();_.wc=e9b;_.tN=bgc+'RuleViewer$12';_.tI=562;function k9b(b,a){b.a=a;return b;}
+function m9b(a){r$b(a.a);}
+function n9b(){m9b(this);}
+function j9b(){}
+_=j9b.prototype=new xT();_.nb=n9b;_.tN=bgc+'RuleViewer$2';_.tI=563;function p9b(b,a){b.a=a;return b;}
+function r9b(a){z$b(a.a);}
+function s9b(){r9b(this);}
+function o9b(){}
+_=o9b.prototype=new xT();_.nb=s9b;_.tN=bgc+'RuleViewer$3';_.tI=564;function u9b(b,a){b.a=a;return b;}
+function w9b(a){u$b(a.a);}
+function x9b(){w9b(this);}
+function t9b(){}
+_=t9b.prototype=new xT();_.nb=x9b;_.tN=bgc+'RuleViewer$4';_.tI=565;function z9b(b,a){b.a=a;return b;}
+function B9b(a){x$b(a.a);}
+function C9b(){B9b(this);}
+function y9b(){}
+_=y9b.prototype=new xT();_.nb=C9b;_.tN=bgc+'RuleViewer$5';_.tI=566;function E9b(b,a){b.a=a;return b;}
+function a$b(a){if(mab(a.a.e)){t$b(a.a);}else{m4b(a.a.b);}}
+function b$b(){a$b(this);}
+function D9b(){}
+_=D9b.prototype=new xT();_.nb=b$b;_.tN=bgc+'RuleViewer$6';_.tI=567;function d$b(b,a){b.a=a;return b;}
+function f$b(b,a){m4b(b.a.b);}
+function g$b(a){f$b(this,a);}
+function c$b(){}
+_=c$b.prototype=new hcb();_.md=g$b;_.tN=bgc+'RuleViewer$7';_.tI=568;function i$b(b,a){b.a=a;return b;}
+function k$b(b,a){var c;w$b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){eab(Fb(b.a.d,98));}eab(b.a.f);eab(b.a.c);if(c===null){jbb('Failed to check in the item. Please contact your system administrator.');return;}x$b(b.a);}
+function l$b(a){k$b(this,a);}
+function h$b(){}
+_=h$b.prototype=new hcb();_.md=l$b;_.tN=bgc+'RuleViewer$8';_.tI=569;function o$b(){edb();}
+function m$b(){}
+_=m$b.prototype=new xT();_.nb=o$b;_.tN=bgc+'RuleViewer$9';_.tI=570;function t_b(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=fA(new dA());d.a=rt(new lt());d.a.ve(0,0,cC(new aC(),'Version history'));ex(d.a.n,0,0,'metadata-Widget');b=ut(d.a);dx(b,0,0,(uz(),wz));d.c=ocb(new ncb(),'images/refresh.gif');lB(d.c,C$b(new B$b(),d));d.a.ve(0,1,d.c);dx(b,0,1,(uz(),xz));AN(f,'version-browser-Border');gA(f,d.a);d.a.xe('100%');f.xe('100%');mr(d,f);return d;}
+function u_b(a){y_b(a);fg(a_b(new F$b(),a));}
+function w_b(b,a){return n_b(new m_b(),b,a);}
+function x_b(a){yTb(ELb(),a.e,e_b(new d_b(),a));}
+function y_b(a){pB(a.c,'images/searching.gif');}
+function z_b(a){pB(a.c,'images/refresh.gif');}
+function A_b(b,a){var c;c=rac(new B_b(),b.b,a,b.e,b.d);rE(c,100,100);uE(c);}
+function A$b(){}
+_=A$b.prototype=new kr();_.tN=bgc+'VersionBrowser';_.tI=571;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function C$b(b,a){b.a=a;return b;}
+function E$b(a){u_b(this.a);}
+function B$b(){}
+_=B$b.prototype=new xT();_.wc=E$b;_.tN=bgc+'VersionBrowser$1';_.tI=572;function a_b(b,a){b.a=a;return b;}
+function c_b(){x_b(this.a);}
+function F$b(){}
+_=F$b.prototype=new xT();_.nb=c_b;_.tN=bgc+'VersionBrowser$2';_.tI=573;function e_b(b,a){b.a=a;return b;}
+function g_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ve(1,0,cC(new aC(),'No history.'));z_b(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',607,1,['Version number','Comment','Date Modified','Status']);d=w_b(i.a,f);h=efc(d,c,0,false);h.xe('100%');i.a.a.ve(1,0,h);b=ut(i.a.a);pt(b,1,0,2);e=wp(new qp(),'View selected version');e.x(j_b(new i_b(),i,h));i.a.a.ve(2,1,e);pt(b,2,1,3);dx(b,2,1,(uz(),vz));z_b(i.a);}
+function h_b(a){g_b(this,a);}
+function d_b(){}
+_=d_b.prototype=new hcb();_.md=h_b;_.tN=bgc+'VersionBrowser$3';_.tI=574;function j_b(b,a,c){b.a=a;b.b=c;return b;}
+function l_b(a){if(this.b.f==0)return;A_b(this.a.a,xec(this.b));}
+function i_b(){}
+_=i_b.prototype=new xT();_.wc=l_b;_.tN=bgc+'VersionBrowser$4';_.tI=575;function n_b(b,a,c){b.a=c;return b;}
+function p_b(){return this.a.a;}
+function q_b(a){return this.a[a].b;}
+function r_b(b,a){return this.a[b].c[a];}
+function s_b(b,a){return null;}
+function m_b(){}
+_=m_b.prototype=new xT();_.xb=p_b;_.Db=q_b;_.cc=r_b;_.dc=s_b;_.tN=bgc+'VersionBrowser$5';_.tI=576;function sac(){sac=v2;Fr();}
+function rac(d,a,e,b,c){sac();Dr(d,false);d.c=e;d.a=b;d.b=c;AN(d,'version-Popup');idb('Loading version');BTb(ELb(),e,D_b(new C_b(),d,a));return d;}
+function tac(b,c){var a;a=F1b(new A1b(),rN(c)+10,sN(c)+10,'Restore this version?');c2b(a,jac(new iac(),b,a));d2b(a);}
+function B_b(){}
+_=B_b.prototype=new Ar();_.tN=bgc+'VersionViewer';_.tI=577;_.a=null;_.b=null;_.c=null;function D_b(b,a,c){b.a=a;b.b=c;return b;}
+function F_b(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;bs(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=rt(new lt());d=ut(e);f=wp(new qp(),'Restore this version');f.x(bac(new aac(),this));e.ve(0,0,f);dx(d,0,0,(uz(),wz));b=wp(new qp(),'Close');b.x(fac(new eac(),this));e.ve(0,1,b);dx(d,0,1,(uz(),xz));g=p$b(new x8b(),a,true);g.xe('100%');e.ve(1,0,g);pt(d,1,1,2);e.xe('100%');yN(e,800,300);cs(this.a,e);}
+function C_b(){}
+_=C_b.prototype=new hcb();_.md=F_b;_.tN=bgc+'VersionViewer$1';_.tI=578;function bac(b,a){b.a=a;return b;}
+function dac(a){tac(this.a.a,a);}
+function aac(){}
+_=aac.prototype=new xT();_.wc=dac;_.tN=bgc+'VersionViewer$2';_.tI=579;function fac(b,a){b.a=a;return b;}
+function hac(a){this.a.a.ic();}
+function eac(){}
+_=eac.prototype=new xT();_.wc=hac;_.tN=bgc+'VersionViewer$3';_.tI=580;function jac(b,a,c){b.a=a;b.b=c;return b;}
+function lac(){fUb(ELb(),this.a.c,this.a.a,b2b(this.b),nac(new mac(),this));}
+function iac(){}
+_=iac.prototype=new xT();_.nb=lac;_.tN=bgc+'VersionViewer$4';_.tI=581;function nac(b,a){b.a=a;return b;}
+function pac(b,a){b.a.a.ic();B9b(b.a.a.b);}
+function qac(a){pac(this,a);}
+function mac(){}
+_=mac.prototype=new hcb();_.md=qac;_.tN=bgc+'VersionViewer$5';_.tI=582;function xbc(a){a.b=(FY(),aZ);}
+function ybc(a){xbc(a);a.c=yJ(new kJ());a.c.xe('100%');a.c.ne('100%');zJ(a.c,Abc(a),"<img src='images/explore.gif'/>Explore",true);FJ(a.c,0);mr(a,a.c);return a;}
+function Abc(i){var a,b,c,d,e,f,g,h;h=rt(new lt());i.a=Bcc(new Fbc(),wac(new vac(),i),'rulelist');b=ut(h);d=v$(new e$(),Aac(new zac(),i,h));f=Fdc(new edc(),Eac(new Dac(),i));h.ve(0,1,f);bx(b,0,0,(uz(),wz),(Dz(),aA));bx(b,0,1,(uz(),wz),(Dz(),aA));hx(b,0,0,'30%');hx(b,0,1,'70%');e=wp(new qp(),'Create new rule');e.pe('Create new rule');e.x(dbc(new cbc(),i));g=ocb(new ncb(),'images/system_search_small.png');g.pe('Show the rule finder.');lB(g,hbc(new gbc(),i,h,f));a=fA(new dA());gA(a,e);gA(a,g);AN(a,'new-asset-Icons');c=nO(new lO());oO(c,a);oO(c,d);c.xe('100%');h.ve(0,0,c);return h;}
+function Bbc(c,a,b){return lbc(new kbc(),c,b,a);}
+function Cbc(b,a){b.b=a;}
+function Dbc(a,b){u4b(a.b,a.c,b,false);}
+function Ebc(c){var a,b,d;a=70;d=100;b=h7b(new y6b(),ubc(new tbc(),c),true,null,'Create a new rule');rE(b,a,d);uE(b);}
+function uac(){}
+_=uac.prototype=new kr();_.tN=cgc+'AssetBrowser';_.tI=583;_.a=null;_.c=null;function wac(b,a){b.a=a;return b;}
+function yac(a){Dbc(this.a,a);}
+function vac(){}
+_=vac.prototype=new xT();_.td=yac;_.tN=cgc+'AssetBrowser$1';_.tI=584;function Aac(b,a,c){b.a=a;b.b=c;return b;}
+function Cac(b){var a;a=Bbc(this.a,this.a.a,b);this.b.ve(0,1,this.a.a);idb('Retrieving list, please wait...');fg(a);bdc(this.a.a,a);}
+function zac(){}
+_=zac.prototype=new xT();_.ee=Cac;_.tN=cgc+'AssetBrowser$2';_.tI=585;function Eac(b,a){b.a=a;return b;}
+function abc(b,a){Dbc(b.a,a);}
+function bbc(a){abc(this,a);}
+function Dac(){}
+_=Dac.prototype=new xT();_.td=bbc;_.tN=cgc+'AssetBrowser$3';_.tI=586;function dbc(b,a){b.a=a;return b;}
+function fbc(a){Ebc(this.a);}
+function cbc(){}
+_=cbc.prototype=new xT();_.wc=fbc;_.tN=cgc+'AssetBrowser$4';_.tI=587;function hbc(b,a,d,c){b.b=d;b.a=c;return b;}
+function jbc(a){this.b.ve(0,1,this.a);}
+function gbc(){}
+_=gbc.prototype=new xT();_.wc=jbc;_.tN=cgc+'AssetBrowser$5';_.tI=588;function lbc(b,a,d,c){b.b=d;b.a=c;return b;}
+function nbc(){idb('Loading list, please wait...');CTb(ELb(),this.b,pbc(new obc(),this,this.a));}
+function kbc(){}
+_=kbc.prototype=new xT();_.nb=nbc;_.tN=cgc+'AssetBrowser$6';_.tI=589;function pbc(b,a,c){b.a=c;return b;}
+function rbc(c,a){var b;b=Fb(a,62);adc(c.a,b);edb();}
+function sbc(a){rbc(this,a);}
+function obc(){}
+_=obc.prototype=new hcb();_.md=sbc;_.tN=cgc+'AssetBrowser$7';_.tI=590;function ubc(b,a){b.a=a;return b;}
+function wbc(a){Dbc(this.a,a);}
+function tbc(){}
+_=tbc.prototype=new xT();_.td=wbc;_.tN=cgc+'AssetBrowser$8';_.tI=591;function Ccc(){Ccc=v2;cdc=ELb();}
+function Acc(a){a.c=rt(new lt());a.e=ocb(new ncb(),'images/refresh.gif');a.a=bC(new aC());}
+function Bcc(c,a,b){Ccc();Acc(c);Ecc(c);Fcc(c,b);c.e.ue(false);c.b=a;c.e.pe('Refresh current list. Will show any changes.');lB(c.e,bcc(new acc(),c));return c;}
+function Dcc(a){return CYb(xec(a.f));}
+function Ecc(c){var a,b;a=ut(c.c);c.c.xe('100%');bx(a,0,0,(uz(),wz),(Dz(),aA));b=ocb(new ncb(),'images/open_item.gif');lB(b,kcc(new jcc(),c));b.pe('Open item');c.c.ve(0,1,b);bx(a,0,1,(uz(),xz),(Dz(),aA));mr(c,c.c);}
+function Fcc(b,a){ETb(cdc,a,fcc(new ecc(),b));}
+function adc(g,a){var b,c,d,e,f;b=ut(g.c);g.c.ve(1,0,null);if(a===null||a.a.a==0){d=new ncc();g.f=efc(d,g.g.a,25,true);g.a.ue(false);}else{f=a.a;c=ucc(new tcc(),g,f);g.f=efc(c,g.g.a,25,true);e=fA(new dA());gA(e,g.e);g.a.ue(true);hC(g.a,'  '+a.a.a+' items.');gA(e,g.a);g.c.ve(0,0,e);}g.f.xe('100%');g.c.ve(1,0,g.f);pt(b,1,0,2);}
+function bdc(b,a){b.d=a;b.e.ue(true);}
+function Fbc(){}
+_=Fbc.prototype=new kr();_.tN=cgc+'AssetItemListViewer';_.tI=592;_.b=null;_.d=null;_.f=null;_.g=null;var cdc;function bcc(b,a){b.a=a;return b;}
+function dcc(a){idb('Refreshing list, please wait...');this.a.d.nb();}
+function acc(){}
+_=acc.prototype=new xT();_.wc=dcc;_.tN=cgc+'AssetItemListViewer$1';_.tI=593;function fcc(b,a){b.a=a;return b;}
+function hcc(b,a){b.a.g=Fb(a,99);adc(b.a,null);}
+function icc(a){hcc(this,a);}
+function ecc(){}
+_=ecc.prototype=new hcb();_.md=icc;_.tN=cgc+'AssetItemListViewer$2';_.tI=594;function kcc(b,a){b.a=a;return b;}
+function mcc(a){idb('Loading item, please wait ...');this.a.b.td(CYb(xec(this.a.f)));}
+function jcc(){}
+_=jcc.prototype=new xT();_.wc=mcc;_.tN=cgc+'AssetItemListViewer$3';_.tI=595;function pcc(){return 0;}
+function qcc(a){return '';}
+function rcc(b,a){return '';}
+function scc(b,a){return null;}
+function ncc(){}
+_=ncc.prototype=new xT();_.xb=pcc;_.Db=qcc;_.cc=rcc;_.dc=scc;_.tN=cgc+'AssetItemListViewer$4';_.tI=596;function ucc(b,a,c){b.a=a;b.b=c;return b;}
+function wcc(){return this.b.a;}
+function xcc(a){return this.b[a].b;}
+function ycc(b,a){return this.b[b].c[a];}
+function zcc(b,a){if(qU(this.a.g.a[a],'*')){return kB(new uA(),'images/'+q4b(this.b[b].a));}else{return null;}}
+function tcc(){}
+_=tcc.prototype=new xT();_.xb=wcc;_.Db=xcc;_.cc=ycc;_.dc=zcc;_.tN=cgc+'AssetItemListViewer$5';_.tI=597;function Fdc(d,a){var b,c;d.c=ubb(new rbb(),'images/system_search.png','');d.e=q_(new g_(),gdc(new fdc(),d));AN(d.e,'gwt-TextBox');d.b=a;c=fA(new dA());b=wp(new qp(),'Go');b.x(kdc(new jdc(),d));gA(c,d.e);gA(c,b);d.a=iq(new fq(),'Include archived items in list');AN(d.a,'small-Text');mq(d.a,false);vbb(d.c,'Find items with a name matching:',c);ybb(d.c,d.a);ybb(d.c,kz(new nw(),'<hr/>'));d.d=rt(new lt());d.d.ve(0,0,kz(new nw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));ybb(d.c,d.d);AN(d.d,'editable-Surface');uK(d.e,bec(d));AN(d.c,'quick-find');mr(d,d.c);return d;}
+function bec(a){return sdc(new rdc(),a);}
+function cec(c,a,b){FTb(ELb(),a,5,lq(c.a),odc(new ndc(),c,b));}
+function dec(f,d){var a,b,c,e;a=rt(new lt());if(d.a.a==1){abc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(qU(e.b,'MORE')){a.ve(b,0,kz(new nw(),'<i>There are more items... try narrowing the search terms..<\/i>'));pt(ut(a),b,0,3);}else{a.ve(b,0,cC(new aC(),e.c[0]));a.ve(b,1,cC(new aC(),e.c[1]));c=wp(new qp(),'Open');c.x(Cdc(new Bdc(),f,e));a.ve(b,2,c);}}a.xe('100%');f.d.ve(0,0,a);edb();}
+function eec(a){idb('Searching...');FTb(ELb(),xK(a.e),15,lq(a.a),ydc(new xdc(),a));}
+function edc(){}
+_=edc.prototype=new kr();_.tN=cgc+'QuickFindWidget';_.tI=598;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function gdc(b,a){b.a=a;return b;}
+function idc(c,b,a){cec(c.a,b,a);}
+function fdc(){}
+_=fdc.prototype=new xT();_.tN=cgc+'QuickFindWidget$1';_.tI=599;function kdc(b,a){b.a=a;return b;}
+function mdc(a){eec(this.a);}
+function jdc(){}
+_=jdc.prototype=new xT();_.wc=mdc;_.tN=cgc+'QuickFindWidget$2';_.tI=600;function odc(b,a,c){b.a=c;return b;}
+function qdc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[607],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!qU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}o_(this.a,c);}
+function ndc(){}
+_=ndc.prototype=new hcb();_.md=qdc;_.tN=cgc+'QuickFindWidget$3';_.tI=601;function sdc(b,a){b.a=a;return b;}
+function udc(a,b,c){}
+function vdc(a,b,c){}
+function wdc(a,b,c){if(b==13){eec(this.a);}}
+function rdc(){}
+_=rdc.prototype=new xT();_.Fc=udc;_.ad=vdc;_.bd=wdc;_.tN=cgc+'QuickFindWidget$4';_.tI=602;function ydc(b,a){b.a=a;return b;}
+function Adc(a){var b;b=Fb(a,62);dec(this.a,b);}
+function xdc(){}
+_=xdc.prototype=new hcb();_.md=Adc;_.tN=cgc+'QuickFindWidget$5';_.tI=603;function Cdc(b,a,c){b.a=a;b.b=c;return b;}
+function Edc(a){abc(this.a.b,this.b.b);}
+function Bdc(){}
+_=Bdc.prototype=new xT();_.wc=Edc;_.tN=cgc+'QuickFindWidget$6';_.tI=604;function hec(a){a.a=FX(new DX());}
+function iec(a){hec(a);return a;}
+function jec(b,a,c){if(a>=b.a.b){kec(b,a);}mY(b.a,a,c);}
+function kec(c,a){var b;for(b=c.a.b;b<=a;b++){bY(c.a,null);}}
+function mec(b,a){return gY(b.a,a);}
+function nec(b,a){b.b=a;}
+function oec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(mec(this,this.b),34);b=Fb(mec(d,this.b),34);return a.ab(b);}
+function gec(){}
+_=gec.prototype=new xT();_.ab=oec;_.tN=dgc+'RowData';_.tI=605;_.b=0;function qec(a){a.j=FX(new DX());a.i=FX(new DX());}
+function rec(c,b,a){aw(c,b+1,a);qec(c);dy(c,c);AN(c,hfc);return c;}
+function sec(c,b,a){if(b!=0){return;}Eec(c,a);afc(c,a);wec(c);}
+function uec(e){var a,b,c,d,f;if(e.h==cfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(gY(e.j,c),100);for(a=0;a<b.a.b;a++){f=mec(b,a);Aec(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(gY(e.j,c),100);for(a=0;a<b.a.b;a++){f=mec(b,a);Aec(e,d,a,f.tS());}}}}
+function vec(d){var a,b,c;c=0;for(b=d.i.nc();b.hc();){a=Fb(b.pc(),1);yec(d,a,c++);}}
+function wec(a){vec(a);uec(a);}
+function xec(a){return oy(a,a.f,a.e);}
+function yec(d,c,b){var a;a=cU(new bU());eU(a,c);eU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==cfc){eU(a,"'"+d.a+"' alt='Ascending' ");}else{eU(a,"'"+d.c+"' alt='Descending' ");}}else{eU(a,"'"+d.b+"'");}eU(a,'/>');Cy(d,0,b,iU(a));rx(d.p,0,ifc);}
+function zec(c,b,a){if(b%2==0){ex(c.n,b,a,gfc);}}
+function Aec(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ve(b,a,kB(new uA(),'images/'+q4b(d)));else Ey(c,b,a,d);}}
+function Bec(c,b,a){aY(c.i,a,b);yec(c,b,a);}
+function Cec(b,a){b.d=a;}
+function Dec(b,a){b.e=a;gx(b.n,0,a,false);}
+function Eec(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(gY(d.j,b),100);nec(a,c);}}
+function Fec(d,b,a,e,f){var c;if(b==0)return;zec(d,b,a);if(b-1>=d.j.b||null===gY(d.j,b-1)){aY(d.j,b-1,iec(new gec()));}c=Fb(gY(d.j,b-1),100);jec(c,a,e);if(f===null){Ey(d,b,a,''+e+'');}else{d.ve(b,a,f);}if(a==d.e){gx(d.n,b,a,false);}}
+function afc(b,a){cZ(b.j);if(b.g!=a){b.h=cfc;}else{b.h=b.h==cfc?dfc:cfc;}b.g=a;}
+function bfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){ex(a,c,b,jfc);if(d.f%2==0&&d.f!=0){ex(a,d.f,b,gfc);}else{ax(a,d.f,b,jfc);}}d.f=c;}}
+function efc(a,d,b,c){var e,f,g;g=null;if(b>a.xb()){g=rec(new pec(),b,d.a+1);Fec(g,1,1,'',null);}else{g=rec(new pec(),a.xb()+1,d.a+1);}Bec(g,'',0);for(e=0;e<d.a;e++){Bec(g,d[e],e+1);}Dec(g,0);for(e=0;e<a.xb();e++){Fec(g,e+1,0,a.Db(e),null);for(f=0;f<d.a;f++){Fec(g,e+1,f+1,a.cc(e,f),a.dc(e,f));}}Cec(g,c);return g;}
+function ffc(c,b,a){if(b<=this.j.b){bfc(this,b);sec(this,b,a);}}
+function pec(){}
+_=pec.prototype=new Ev();_.uc=ffc;_.tN=dgc+'SortableTable';_.tI=606;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var cfc=0,dfc=1,gfc='rule-ListEvenRow',hfc='rule-List',ifc='rule-ListHeader',jfc='rule-SelectedRow';function rR(){b4(D3(new s3()));}
+function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{rR();}catch(a){b(d);}else{rR();}}
+var gc=[{},{11:1},{1:1,11:1,34:1,35:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{2:1,11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1},{8:1,11:1},{8:1,11:1},{8:1,11:1},{11:1},{2:1,6:1,11:1},{2:1,11:1},{9:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1},{3:1,11:1},{3:1,11:1,39:1},{3:1,11:1,92:1},{3:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,36:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,49:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1,33:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,43:1},{11:1,49:1,56:1}!
 ,{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,81:1},{11:1,13:1,36:1,37:1,81:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,46:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,49:1,56:1},{11:1,39:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,49:1},{11:1},{11:1,13:1,36:1,37:1,87:1},{11:1,13:1,36:1,37:1,48:1,54:1},{9:1,11:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,39:1},{11:1,39:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,50:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,80:1},{11:1,13:1,36:1,37:1,54:1},{11:1,36:1,52:1},{11:1,36:1,52:1},{11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11!
 :1},{11:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1},{3:1,1
1:1},{11:1,55:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{11:1,35:1},{3:1,11:1},{11:1},{11:1,57:1},{11:1,49:1,58:1},{11:1,49:1,58:1},{11:1},{11:1,49:1},{11:1},{11:1},{11:1,34:1,59:1},{11:1,57:1},{11:1,60:1},{11:1,49:1,58:1},{11:1},{11:1,49:1,58:1},{3:1,11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{7:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{8:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:!
 1,42:1},{11:1},{11:1,13:1,36:1,37:1,53:1},{11:1,42:1},{11:1},{11:1},{11:1,36:1,52:1,64:1},{11:1,13:1,36:1,37:1,46:1,80:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,13:1,36:1,37:1,81:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,65:1},{11:1,13:1,36:1,37:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,38:1,39:1,91:1},{11:1,20:1,22:1,38:1,39:1},{11:1,23:1,38:1,39:1},{11:1,20:1,22:1,24:1,38:1,39:1!
 },{11:1,20:1,22:1,24:1,25:1,38:1,39:1},{11:1,20:1,26:1,38:1,39:1},{11:
1,20:1,22:1,27:1,38:1,39:1},{11:1,20:1,22:1,27:1,28:1,38:1,39:1},{11:1,19:1,29:1,38:1,39:1},{11:1,21:1,30:1,38:1,39:1},{11:1,38:1,39:1,40:1},{11:1,15:1,38:1,39:1,40:1},{10:1,11:1,19:1,20:1,38:1,39:1},{11:1,19:1,31:1,38:1,39:1},{11:1,18:1,38:1,39:1},{11:1,38:1,39:1,83:1},{11:1,21:1,32:1,38:1,39:1,40:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,84:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,41:1},{4:1,11:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,46:1},{11:1,41:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,82:1,98:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,!
 42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,46:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1,42!
 :1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,4
2:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1},{4:1,11:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1,53:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,90:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,42:1},{11:1,53:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1},{11:1,12:1,39:1},{3:1,11:1,39:1,70:1},{11:1,39:1,93:1},{11:1,16:1,39:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,39:1,97:1},{11:1,39:1,95:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1,69:1},{11:1,17:1,39:1},{11:1,39:1,99:1},{11:1,39:1,62:1},{11:1,14:!
 1,39:1},{11:1,39:1,89:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,44:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1},{11:1,41:1},{11:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{4:1!
 ,11:1},{4:1,11:1},{4:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,
37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{11:1,46:1},{11:1},{11:1,42:1},{11:1,34:1,100:1},{11:1,13:1,36:1,37:1,51:1,54:1},{11:1,63:1},{11:1},{11:1,72:1,77:1,78:1},{11:1},{11:1,88:1},{11:1},{11:1},{11:1,94:1},{11:1,79:1},{11:1,71:1},{11:1,86:1},{11:1,76:1},{11:1,77:1},{11:1,78:1},{11:1,75:1},{11:1,78:1},{11:1,73:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,77:1},{11:1,75:1},{11:1,74:1,77:1},{11:1,75:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1}];if ($wnd.org_drools_brms_JBRMS) $wnd.org_drools_brms_JBRMS.onScriptLoad();
+--></script></body></html>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.js (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.js)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.js	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3411 @@
+(function(){var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var _,kfc='com.google.gwt.core.client.',lfc='com.google.gwt.lang.',mfc='com.google.gwt.user.client.',nfc='com.google.gwt.user.client.impl.',ofc='com.google.gwt.user.client.rpc.',pfc='com.google.gwt.user.client.rpc.core.java.lang.',qfc='com.google.gwt.user.client.rpc.core.java.util.',rfc='com.google.gwt.user.client.rpc.impl.',sfc='com.google.gwt.user.client.ui.',tfc='com.google.gwt.user.client.ui.impl.',ufc='java.io.',vfc='java.lang.',wfc='java.util.',xfc='org.drools.brms.client.',yfc='org.drools.brms.client.admin.',zfc='org.drools.brms.client.categorynav.',Afc='org.drools.brms.client.common.',Bfc='org.drools.brms.client.decisiontable.',Cfc='org.drools.brms.client.modeldriven.',Dfc='org.drools.brms.client.modeldriven.brl.',Efc='org.drools.brms.client.modeldriven.ui.',Ffc='org.drools.brms.client.packages.',agc='org.drools.brms.client.rpc.',bgc='org.drools.brms.client.ruleeditor.',cgc='org.droo!
 ls.brms.client.rulelist.',dgc='org.drools.brms.client.table.';function v2(){}
+function zT(a){return this===a;}
+function AT(){return mV(this);}
+function BT(){return this.tN+'@'+this.hC();}
+function xT(){}
+_=xT.prototype={};_.eQ=zT;_.hC=AT;_.tS=BT;_.toString=function(){return this.tS();};_.tN=vfc+'Object';_.tI=1;function v(){return C();}
+function w(a){return a==null?null:a.tN;}
+var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function C(){return $moduleBase;}
+function D(){return ++E;}
+var E=0;function pV(b,a){b.c=a;return b;}
+function qV(c,b,a){c.c=b;return c;}
+function sV(){return this.c;}
+function tV(){var a,b;a=w(this);b=this.wb();if(b!==null){return a+': '+b;}else{return a;}}
+function oV(){}
+_=oV.prototype=new xT();_.wb=sV;_.tS=tV;_.tN=vfc+'Throwable';_.tI=3;_.c=null;function oS(b,a){pV(b,a);return b;}
+function pS(c,b,a){qV(c,b,a);return c;}
+function nS(){}
+_=nS.prototype=new oV();_.tN=vfc+'Exception';_.tI=4;function DT(b,a){oS(b,a);return b;}
+function ET(c,b,a){pS(c,b,a);return c;}
+function CT(){}
+_=CT.prototype=new nS();_.tN=vfc+'RuntimeException';_.tI=5;function ab(c,b,a){DT(c,'JavaScript '+b+' exception: '+a);return c;}
+function F(){}
+_=F.prototype=new CT();_.tN=kfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
+function fb(a){return A(a);}
+function gb(){return [];}
+function hb(){return function(){};}
+function ib(){return {};}
+function kb(a){return eb(this,a);}
+function jb(a,b){return a===b;}
+function lb(){return fb(this);}
+function nb(){return mb(this);}
+function mb(a){if(a.toString)return a.toString();return '[object]';}
+function cb(){}
+_=cb.prototype=new xT();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=kfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
+function rb(a,b,c){return a[b]=c;}
+function tb(a,b){return sb(a,b);}
+function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
+function ub(b,a){return b[a];}
+function wb(b,a){return b[a];}
+function vb(a){return a.length;}
+function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
+function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new iT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=zU(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
+function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
+function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new yR();}return rb(a,b,c);}
+function ob(){}
+_=ob.prototype=new xT();_.tN=lfc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
+function Eb(a){return String.fromCharCode(a);}
+function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
+function ac(b,a){return b!=null&&Db(b.tI,a);}
+function bc(a){return a&65535;}
+function cc(a){return ~(~a);}
+function dc(a){if(a>(BS(),CS))return BS(),CS;if(a<(BS(),DS))return BS(),DS;return a>=0?Math.floor(a):Math.ceil(a);}
+function fc(){throw new iS();}
+function ec(a){if(a!==null){throw new iS();}return a;}
+function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
+var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
+function lc(a){return a.message;}
+function mc(a){return a.name;}
+function oc(b,a){return b;}
+function nc(){}
+_=nc.prototype=new CT();_.tN=mfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=FX(new DX());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
+function gd(a){fd(a);return a;}
+function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
+function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.nb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(lV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
+function kd(a){if(!jY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
+function ld(b,a){b.c=a;}
+function md(b,a){b.e=a;}
+function nd(b,a){bY(b.b,a);kd(b);}
+function od(a,b){return gT(a-b)>=100;}
+function qc(){}
+_=qc.prototype=new xT();_.tN=mfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=v2;uh=FX(new DX());{th();}}
+function ih(a){kh();return a;}
+function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}lY(uh,a);}
+function lh(a){if(!a.b){lY(uh,a);}a.ce();}
+function nh(b,a){if(a<=0){throw sS(new rS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);bY(uh,b);}
+function mh(b,a){if(a<=0){throw sS(new rS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);bY(uh,b);}
+function oh(a){kh();$wnd.clearInterval(a);}
+function ph(a){kh();$wnd.clearTimeout(a);}
+function qh(b,a){kh();return $wnd.setInterval(function(){b.ob();},a);}
+function rh(b,a){kh();return $wnd.setTimeout(function(){b.ob();},a);}
+function sh(){var a;a=x;{lh(this);}}
+function th(){kh();yh(new eh());}
+function dh(){}
+_=dh.prototype=new xT();_.ob=sh;_.tN=mfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=v2;kh();}
+function sc(b,a){tc();b.a=a;ih(b);return b;}
+function uc(){if(!this.a.c){return;}id(this.a);}
+function rc(){}
+_=rc.prototype=new dh();_.ce=uc;_.tN=mfc+'CommandExecutor$1';_.tI=14;function xc(){xc=v2;kh();}
+function wc(b,a){xc();b.a=a;ih(b);return b;}
+function yc(){md(this.a,false);jd(this.a,lV());}
+function vc(){}
+_=vc.prototype=new dh();_.ce=yc;_.tN=mfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
+function Cc(a){return gY(a.d.b,a.b);}
+function Dc(a){return a.c<a.a;}
+function Ec(b){var a;b.b=b.c;a=gY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
+function Fc(a){kY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
+function ad(b,a){b.a=a;}
+function bd(a){return a.b==(-1);}
+function cd(){return Dc(this);}
+function dd(){return Ec(this);}
+function ed(){Fc(this);}
+function zc(){}
+_=zc.prototype=new xT();_.hc=cd;_.pc=dd;_.Fd=ed;_.tN=mfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=v2;rf=FX(new DX());{gf=new ki();ri(gf);}}
+function sd(a){rd();bY(rf,a);}
+function td(b,a){rd();hj(gf,b,a);}
+function ud(a,b){rd();return mi(gf,a,b);}
+function vd(){rd();return jj(gf,'A');}
+function wd(){rd();return jj(gf,'button');}
+function xd(){rd();return jj(gf,'div');}
+function yd(a){rd();return jj(gf,a);}
+function zd(){rd();return jj(gf,'form');}
+function Ad(){rd();return jj(gf,'iframe');}
+function Bd(){rd();return jj(gf,'img');}
+function Cd(){rd();return kj(gf,'checkbox');}
+function Dd(){rd();return kj(gf,'password');}
+function Ed(a){rd();return zi(gf,a);}
+function Fd(){rd();return kj(gf,'text');}
+function ae(){rd();return jj(gf,'label');}
+function be(a){rd();return lj(gf,a);}
+function ce(){rd();return jj(gf,'span');}
+function de(){rd();return jj(gf,'tbody');}
+function ee(){rd();return jj(gf,'td');}
+function fe(){rd();return jj(gf,'tr');}
+function ge(){rd();return jj(gf,'table');}
+function he(){rd();return jj(gf,'textarea');}
+function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
+function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.tc(b);}finally{ie=d;}}
+function le(b,a){rd();mj(gf,b,a);}
+function me(a){rd();return nj(gf,a);}
+function ne(a){rd();return oj(gf,a);}
+function oe(a){rd();return pj(gf,a);}
+function pe(a){rd();return qj(gf,a);}
+function qe(a){rd();return rj(gf,a);}
+function re(a){rd();return Ai(gf,a);}
+function se(a){rd();return sj(gf,a);}
+function te(a){rd();return tj(gf,a);}
+function ue(a){rd();return uj(gf,a);}
+function ve(a){rd();return Bi(gf,a);}
+function we(a){rd();return Ci(gf,a);}
+function xe(a){rd();return vj(gf,a);}
+function ye(a){rd();Di(gf,a);}
+function ze(a){rd();return Ei(gf,a);}
+function Ae(a){rd();return ni(gf,a);}
+function Be(a){rd();return oi(gf,a);}
+function Ee(b,a){rd();return aj(gf,b,a);}
+function Ce(a){rd();return Fi(gf,a);}
+function De(b,a){rd();return pi(gf,b,a);}
+function bf(a,b){rd();return yj(gf,a,b);}
+function Fe(a,b){rd();return wj(gf,a,b);}
+function af(a,b){rd();return xj(gf,a,b);}
+function cf(a){rd();return zj(gf,a);}
+function df(a){rd();return bj(gf,a);}
+function ef(a){rd();return Aj(gf,a);}
+function ff(a){rd();return cj(gf,a);}
+function hf(c,a,b){rd();ej(gf,c,a,b);}
+function jf(c,b,d,a){rd();Bj(gf,c,b,d,a);}
+function kf(b,a){rd();return si(gf,b,a);}
+function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(gY(rf,rf.b-1),5);if(!(c=b.zc(a))){le(a,true);ye(a);}}return c;}
+function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}ti(gf,a);}
+function nf(b,a){rd();Cj(gf,b,a);}
+function of(b,a){rd();Dj(gf,b,a);}
+function pf(a){rd();lY(rf,a);}
+function sf(a){rd();Ej(gf,a);}
+function tf(a){rd();qf=a;fj(gf,a);}
+function uf(b,a,c){rd();Fj(gf,b,a,c);}
+function xf(a,b,c){rd();ck(gf,a,b,c);}
+function vf(a,b,c){rd();ak(gf,a,b,c);}
+function wf(a,b,c){rd();bk(gf,a,b,c);}
+function yf(a,b){rd();dk(gf,a,b);}
+function zf(a,b){rd();ek(gf,a,b);}
+function Af(a,b){rd();fk(gf,a,b);}
+function Bf(a,b){rd();gk(gf,a,b);}
+function Cf(b,a,c){rd();hk(gf,b,a,c);}
+function Df(b,a,c){rd();ik(gf,b,a,c);}
+function Ef(a,b){rd();vi(gf,a,b);}
+function Ff(a){rd();return wi(gf,a);}
+function ag(){rd();return jk(gf);}
+function bg(){rd();return kk(gf);}
+var ie=null,gf=null,qf=null,rf;function dg(){dg=v2;gg=gd(new qc());}
+function fg(a){dg();nd(gg,a);}
+function eg(a){dg();if(a===null){throw lT(new kT(),'cmd can not be null');}nd(gg,a);}
+var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
+function kg(a){return jg(this,a);}
+function lg(){return fb(hc(this,hg));}
+function mg(){return Ff(this);}
+function hg(){}
+_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=mfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
+function sg(){return fb(hc(this,ng));}
+function tg(){return ze(this);}
+function ng(){}
+_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=mfc+'Event';_.tI=18;function vg(){vg=v2;xg=nk(new mk());}
+function wg(c,b,a){vg();return pk(xg,c,b,a);}
+var xg;function Ag(){Ag=v2;Eg=FX(new DX());{Fg=new vk();if(!Ak(Fg)){Fg=null;}}}
+function Bg(a){Ag();bY(Eg,a);}
+function Cg(a){Ag();var b,c;for(b=Eg.nc();b.hc();){c=Fb(b.pc(),7);c.Ec(a);}}
+function Dg(){Ag();return Fg!==null?Ck(Fg):'';}
+function ah(a){Ag();if(Fg!==null){xk(Fg,a);}}
+function bh(b){Ag();var a;a=x;{Cg(b);}}
+var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(gY((kh(),uh),0),8));}}
+function hh(){return null;}
+function eh(){}
+_=eh.prototype=new xT();_.rd=gh;_.sd=hh;_.tN=mfc+'Timer$1';_.tI=19;function xh(){xh=v2;Ah=FX(new DX());ii=FX(new DX());{di();}}
+function yh(a){xh();bY(Ah,a);}
+function zh(a){xh();$wnd.alert(a);}
+function Bh(a){xh();return $wnd.confirm(a);}
+function Ch(){xh();var a,b;for(a=Ah.nc();a.hc();){b=Fb(a.pc(),9);b.rd();}}
+function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.nc();a.hc();){b=Fb(a.pc(),9);c=b.sd();{d=c;}}return d;}
+function Eh(){xh();var a,b;for(a=ii.nc();a.hc();){b=ec(a.pc());null.ef();}}
+function Fh(){xh();return ag();}
+function ai(){xh();return bg();}
+function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
+function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
+function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
+function ei(){xh();var a;a=x;{Ch();}}
+function fi(){xh();var a;a=x;{return Dh();}}
+function gi(){xh();var a;a=x;{Eh();}}
+function hi(c,b,a){xh();$wnd.open(c,b,a);}
+var Ah,ii;function hj(c,b,a){b.appendChild(a);}
+function jj(b,a){return $doc.createElement(a);}
+function kj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
+function lj(c,a){var b;b=jj(c,'select');if(a){ak(c,b,'multiple',true);}return b;}
+function mj(c,b,a){b.cancelBubble=a;}
+function nj(b,a){return !(!a.altKey);}
+function oj(b,a){return a.clientX|| -1;}
+function pj(b,a){return a.clientY|| -1;}
+function qj(b,a){return !(!a.ctrlKey);}
+function rj(b,a){return a.currentTarget;}
+function sj(b,a){return a.which||(a.keyCode|| -1);}
+function tj(b,a){return !(!a.metaKey);}
+function uj(b,a){return !(!a.shiftKey);}
+function vj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
+function yj(d,a,b){var c=a[b];return c==null?null:String(c);}
+function wj(c,a,b){return !(!a[b]);}
+function xj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
+function zj(b,a){return a.__eventBits||0;}
+function Aj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.ub(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
+function Bj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
+function Cj(c,b,a){b.removeChild(a);}
+function Dj(c,b,a){b.removeAttribute(a);}
+function Ej(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
+function Fj(c,b,a,d){b.setAttribute(a,d);}
+function ck(c,a,b,d){a[b]=d;}
+function ak(c,a,b,d){a[b]=d;}
+function bk(c,a,b,d){a[b]=d;}
+function dk(c,a,b){a.__listener=b;}
+function ek(c,a,b){a.src=b;}
+function fk(c,a,b){if(!b){b='';}a.innerHTML=b;}
+function gk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
+function hk(c,b,a,d){b.style[a]=d;}
+function ik(c,b,a,d){b.style[a]=d;}
+function jk(a){return $doc.body.clientHeight;}
+function kk(a){return $doc.body.clientWidth;}
+function lk(a){return Aj(this,a);}
+function ji(){}
+_=ji.prototype=new xT();_.ub=lk;_.tN=nfc+'DOMImpl';_.tI=20;function zi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
+function Ai(b,a){return a.relatedTarget?a.relatedTarget:null;}
+function Bi(b,a){return a.target||null;}
+function Ci(b,a){return a.relatedTarget||null;}
+function Di(b,a){a.preventDefault();}
+function Ei(b,a){return a.toString();}
+function aj(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
+function Fi(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
+function bj(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
+function cj(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
+function dj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
+function ej(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
+function fj(b,a){$wnd.__captureElem=a;}
+function gj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
+function xi(){}
+_=xi.prototype=new ji();_.tN=nfc+'DOMImplStandard';_.tI=21;function mi(c,a,b){if(!a&& !b){return true;}else if(!a|| !b){return false;}return a.isSameNode(b);}
+function ni(b,a){return $doc.getBoxObjectFor(a).screenX-$doc.getBoxObjectFor($doc.documentElement).screenX;}
+function oi(b,a){return $doc.getBoxObjectFor(a).screenY-$doc.getBoxObjectFor($doc.documentElement).screenY;}
+function pi(d,c,e){var b=0,a=c.firstChild;while(a){if(a.isSameNode(e)){return b;}if(a.nodeType==1){++b;}a=a.nextSibling;}return -1;}
+function ri(a){dj(a);qi(a);}
+function qi(d){$wnd.addEventListener('mouseout',function(b){var a=$wnd.__captureElem;if(a&& !b.relatedTarget){if('html'==b.target.tagName.toLowerCase()){var c=$doc.createEvent('MouseEvents');c.initMouseEvent('mouseup',true,true,$wnd,0,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,null);a.dispatchEvent(c);}}},true);$wnd.addEventListener('DOMMouseScroll',$wnd.__dispatchCapturedMouseEvent,true);}
+function si(d,c,b){while(b){if(c.isSameNode(b)){return true;}try{b=b.parentNode;}catch(a){return false;}if(b&&b.nodeType!=1){b=null;}}return false;}
+function ti(b,a){if(a.isSameNode($wnd.__captureElem)){$wnd.__captureElem=null;}}
+function vi(c,b,a){gj(c,b,a);ui(c,b,a);}
+function ui(c,b,a){if(a&131072){b.addEventListener('DOMMouseScroll',$wnd.__dispatchEvent,false);}}
+function wi(d,a){var b=a.cloneNode(true);var c=$doc.createElement('DIV');c.appendChild(b);outer=c.innerHTML;b.innerHTML='';return outer;}
+function ki(){}
+_=ki.prototype=new xi();_.tN=nfc+'DOMImplMozilla';_.tI=22;function nk(a){tk=hb();return a;}
+function pk(c,d,b,a){return qk(c,null,null,d,b,a);}
+function qk(d,f,c,e,b,a){return ok(d,f,c,e,b,a);}
+function ok(e,g,d,f,c,b){var h=e.jb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=tk;b.xc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=tk;return false;}}
+function sk(){return new XMLHttpRequest();}
+function mk(){}
+_=mk.prototype=new xT();_.jb=sk;_.tN=nfc+'HTTPRequestImpl';_.tI=23;var tk=null;function Ck(a){return $wnd.__gwt_historyToken;}
+function Dk(a){bh(a);}
+function uk(){}
+_=uk.prototype=new xT();_.tN=nfc+'HistoryImpl';_.tI=24;function Ak(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;Dk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
+function yk(){}
+_=yk.prototype=new uk();_.tN=nfc+'HistoryImplStandard';_.tI=25;function xk(d,a){if(a==null||a.length==0){var c=$wnd.location.href;var b=c.indexOf('#');if(b!= -1)c=c.substring(0,b);$wnd.location=c+'#';}else{$wnd.location.hash=encodeURIComponent(a);}}
+function vk(){}
+_=vk.prototype=new yk();_.tN=nfc+'HistoryImplMozilla';_.tI=26;function al(a){DT(a,'This application is out of date, please click the refresh button on your browser');return a;}
+function Fk(){}
+_=Fk.prototype=new CT();_.tN=ofc+'IncompatibleRemoteServiceException';_.tI=27;function el(b,a){}
+function fl(b,a){}
+function hl(b,a){ET(b,a,null);return b;}
+function gl(){}
+_=gl.prototype=new CT();_.tN=ofc+'InvocationException';_.tI=28;function tl(){return this.b;}
+function ll(){}
+_=ll.prototype=new nS();_.wb=tl;_.tN=ofc+'SerializableException';_.tI=29;_.b=null;function pl(b,a){sl(a,b.Bd());}
+function ql(a){return a.b;}
+function rl(b,a){b.cf(ql(a));}
+function sl(a,b){a.b=b;}
+function vl(b,a){oS(b,a);return b;}
+function ul(){}
+_=ul.prototype=new nS();_.tN=ofc+'SerializationException';_.tI=30;function Al(a){hl(a,'Service implementation URL not specified');return a;}
+function zl(){}
+_=zl.prototype=new gl();_.tN=ofc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function Fl(b,a){}
+function am(a){return cS(a.wd());}
+function bm(b,a){b.De(a.a);}
+function em(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Ad());}}
+function fm(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.bf(a[c]);}}
+function im(b,a){}
+function jm(a){return a.Bd();}
+function km(b,a){b.cf(a);}
+function nm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.xd();}}
+function om(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.Ee(a[c]);}}
+function rm(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();bY(b,c);}}
+function sm(e,a){var b,c,d;d=a.b;e.Fe(d);b=a.nc();while(b.hc()){c=b.pc();e.bf(c);}}
+function vm(b,a){}
+function wm(a){return mZ(new kZ(),a.zd());}
+function xm(b,a){b.af(pZ(a));}
+function Am(e,b){var a,c,d,f;d=e.yd();for(a=0;a<d;++a){c=e.Ad();f=e.Ad();d1(b,c,f);}}
+function Bm(f,c){var a,b,d,e;e=c.c;f.Fe(e);b=b1(c);d=x0(b);while(p0(d)){a=q0(d);f.bf(a.vb());f.bf(a.bc());}}
+function Em(d,b){var a,c;c=d.yd();for(a=0;a<c;++a){x1(b,d.Ad());}}
+function Fm(c,a){var b;c.Fe(a.a.c);for(b=z1(a);AW(b);){c.bf(BW(b));}}
+function cn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();k2(b,c);}}
+function dn(e,a){var b,c,d;d=a.a.b;e.Fe(d);b=m2(a);while(b.hc()){c=b.pc();e.bf(c);}}
+function Bn(a){return a.j>2;}
+function Cn(b,a){b.i=a;}
+function Dn(a,b){a.j=b;}
+function en(){}
+_=en.prototype=new xT();_.tN=rfc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function gn(a){a.e=FX(new DX());}
+function hn(a){gn(a);return a;}
+function kn(b,a){dY(b.e);Dn(b,fo(b));Cn(b,fo(b));}
+function ln(a){var b,c;b=a.yd();if(b<0){return gY(a.e,-(b+1));}c=a.Fb(b);if(c===null){return null;}return a.hb(c);}
+function mn(b,a){bY(b.e,a);}
+function nn(){return ln(this);}
+function fn(){}
+_=fn.prototype=new en();_.Ad=nn;_.tN=rfc+'AbstractSerializationStreamReader';_.tI=33;function qn(b,a){b.E(a?'1':'0');}
+function rn(b,a){b.E(gV(a));}
+function sn(c,a){var b,d;if(a===null){tn(c,null);return;}b=c.tb(a);if(b>=0){rn(c,-(b+1));return;}c.de(a);d=c.yb(a);tn(c,d);c.ge(a,d);}
+function tn(a,b){rn(a,a.z(b));}
+function un(a){qn(this,a);}
+function vn(a){this.E(gV(a));}
+function wn(a){rn(this,a);}
+function xn(a){this.E(hV(a));}
+function yn(a){sn(this,a);}
+function zn(a){tn(this,a);}
+function on(){}
+_=on.prototype=new en();_.De=un;_.Ee=vn;_.Fe=wn;_.af=xn;_.bf=yn;_.cf=zn;_.tN=rfc+'AbstractSerializationStreamWriter';_.tI=34;function Fn(b,a){hn(b);b.c=a;return b;}
+function bo(b,a){if(!a){return null;}return b.d[a-1];}
+function co(b,a){b.b=jo(a);b.a=ko(b.b);kn(b,a);b.d=go(b);}
+function eo(a){return !(!a.b[--a.a]);}
+function fo(a){return a.b[--a.a];}
+function go(a){return a.b[--a.a];}
+function ho(a){return bo(a,fo(a));}
+function io(b){var a;a=this.c.kc(this,b);mn(this,a);this.c.gb(this,a,b);return a;}
+function jo(a){return eval(a);}
+function ko(a){return a.length;}
+function lo(a){return bo(this,a);}
+function mo(){return eo(this);}
+function no(){return this.b[--this.a];}
+function oo(){return fo(this);}
+function po(){return this.b[--this.a];}
+function qo(){return ho(this);}
+function En(){}
+_=En.prototype=new fn();_.hb=io;_.Fb=lo;_.wd=mo;_.xd=no;_.yd=oo;_.zd=po;_.Bd=qo;_.tN=rfc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function so(a){a.h=FX(new DX());}
+function to(d,c,a,b){so(d);d.f=c;d.b=a;d.e=b;return d;}
+function vo(c,a){var b=c.d[a];return b==null?-1:b;}
+function wo(c,a){var b=c.g[':'+a];return b==null?0:b;}
+function xo(a){a.c=0;a.d=ib();a.g=ib();dY(a.h);a.a=cU(new bU());if(Bn(a)){tn(a,a.b);tn(a,a.e);}}
+function yo(b,a,c){b.d[a]=c;}
+function zo(b,a,c){b.g[':'+a]=c;}
+function Ao(b){var a;a=cU(new bU());Bo(b,a);Do(b,a);Co(b,a);return iU(a);}
+function Bo(b,a){Fo(a,gV(b.j));Fo(a,gV(b.i));}
+function Co(b,a){eU(a,iU(b.a));}
+function Do(d,a){var b,c;c=d.h.b;Fo(a,gV(c));for(b=0;b<c;++b){Fo(a,Fb(gY(d.h,b),1));}return a;}
+function Eo(b){var a;if(b===null){return 0;}a=wo(this,b);if(a>0){return a;}bY(this.h,b);a=this.h.b;zo(this,b,a);return a;}
+function Fo(a,b){eU(a,b);dU(a,65535);}
+function ap(a){Fo(this.a,a);}
+function bp(a){return vo(this,mV(a));}
+function cp(a){var b,c;c=w(a);b=this.f.Eb(c);if(b!==null){c+='/'+b;}return c;}
+function dp(a){yo(this,mV(a),this.c++);}
+function ep(a,b){this.f.fe(this,a,b);}
+function fp(){return Ao(this);}
+function ro(){}
+_=ro.prototype=new on();_.z=Eo;_.E=ap;_.tb=bp;_.yb=cp;_.de=dp;_.ge=ep;_.tS=fp;_.tN=rfc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function pN(b,a){fO(b.ac(),a,true);}
+function rN(a){return Ae(a.rb());}
+function sN(a){return Be(a.rb());}
+function tN(a){return af(a.w,'offsetHeight');}
+function uN(a){return af(a.w,'offsetWidth');}
+function vN(b,a){fO(b.ac(),a,false);}
+function wN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
+function xN(b,a){if(b.w!==null){wN(b,b.w,a);}b.w=a;}
+function yN(b,c,a){if(c>=0){b.xe(c+'px');}if(a>=0){b.ne(a+'px');}}
+function zN(b,c,a){b.xe(c);b.ne(a);}
+function AN(b,a){eO(b.ac(),a);}
+function BN(b,a){Ef(b.rb(),a|cf(b.rb()));}
+function CN(){return this.w;}
+function DN(){return tN(this);}
+function EN(){return uN(this);}
+function FN(){return this.w;}
+function aO(a){return bf(a,'className');}
+function bO(a){return a.style.display!='none';}
+function cO(a){xN(this,a);}
+function dO(a){Df(this.w,'height',a);}
+function eO(a,b){xf(a,'className',b);}
+function fO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw DT(new CT(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=DU(j);if(uU(j)==0){throw sS(new rS(),'Style names cannot be empty');}i=aO(c);e=sU(i,j);while(e!=(-1)){if(e==0||lU(i,e-1)==32){f=e+uU(j);g=uU(i);if(f==g||f<g&&lU(i,f)==32){break;}}e=tU(i,j,e+1);}if(a){if(e==(-1)){if(uU(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=DU(AU(i,0,e));d=DU(zU(i,e+uU(j)));if(uU(b)==0){h=d;}else if(uU(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
+function gO(a){if(a===null||uU(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
+function hO(a,b){a.style.display=b?'':'none';}
+function iO(a){hO(this.w,a);}
+function jO(a){Df(this.w,'width',a);}
+function kO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
+function oN(){}
+_=oN.prototype=new xT();_.rb=CN;_.zb=DN;_.Ab=EN;_.ac=FN;_.je=cO;_.ne=dO;_.pe=gO;_.ue=iO;_.xe=jO;_.tS=kO;_.tN=sfc+'UIObject';_.tI=37;_.w=null;function wP(a){if(a.lc()){throw vS(new uS(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.rb(),a);a.ib();a.cd();}
+function xP(a){if(!a.lc()){throw vS(new uS(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.qd();}finally{a.kb();yf(a.rb(),null);a.t=false;}}
+function yP(a){if(ac(a.v,54)){Fb(a.v,54).be(a);}else if(a.v!==null){throw vS(new uS(),"This widget's parent does not implement HasWidgets");}}
+function zP(b,a){if(b.lc()){yf(b.rb(),null);}xN(b,a);if(b.lc()){yf(a,b);}}
+function AP(b,a){b.u=a;}
+function BP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.lc()){c.yc();}c.v=null;}else{if(a!==null){throw vS(new uS(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.lc()){c.rc();}}}
+function CP(){}
+function DP(){}
+function EP(){return this.t;}
+function FP(){wP(this);}
+function aQ(a){}
+function bQ(){xP(this);}
+function cQ(){}
+function dQ(){}
+function eQ(a){zP(this,a);}
+function uO(){}
+_=uO.prototype=new oN();_.ib=CP;_.kb=DP;_.lc=EP;_.rc=FP;_.tc=aQ;_.yc=bQ;_.cd=cQ;_.qd=dQ;_.je=eQ;_.tN=sfc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function AD(b,a){BP(a,b);}
+function CD(b,a){BP(a,null);}
+function DD(){var a;a=this.nc();while(a.hc()){a.pc();a.Fd();}}
+function ED(){var a,b;for(b=this.nc();b.hc();){a=Fb(b.pc(),13);a.rc();}}
+function FD(){var a,b;for(b=this.nc();b.hc();){a=Fb(b.pc(),13);a.yc();}}
+function aE(){}
+function bE(){}
+function zD(){}
+_=zD.prototype=new uO();_.F=DD;_.ib=ED;_.kb=FD;_.cd=aE;_.qd=bE;_.tN=sfc+'Panel';_.tI=39;function Bq(a){a.f=EO(new vO(),a);}
+function Cq(a){Bq(a);return a;}
+function Dq(c,a,b){yP(a);FO(c.f,a);td(b,a.rb());AD(c,a);}
+function Eq(d,b,a){var c;ar(d,a);if(b.v===d){c=cr(d,b);if(c<a){a--;}}return a;}
+function Fq(b,a){if(a<0||a>=b.f.c){throw new xS();}}
+function ar(b,a){if(a<0||a>b.f.c){throw new xS();}}
+function dr(b,a){return bP(b.f,a);}
+function cr(b,a){return cP(b.f,a);}
+function er(e,b,c,a,d){a=Eq(e,b,a);yP(b);dP(e.f,b,a);if(d){hf(c,b.rb(),a);}else{td(c,b.rb());}AD(e,b);}
+function fr(a){return eP(a.f);}
+function gr(b,c){var a;if(c.v!==b){return false;}CD(b,c);a=c.rb();nf(ff(a),a);gP(b.f,c);return true;}
+function hr(){return fr(this);}
+function ir(a){return this.be(dr(this,a));}
+function jr(a){return gr(this,a);}
+function Aq(){}
+_=Aq.prototype=new zD();_.nc=hr;_.ae=ir;_.be=jr;_.tN=sfc+'ComplexPanel';_.tI=40;function ip(a){Cq(a);a.je(xd());Df(a.rb(),'position','relative');Df(a.rb(),'overflow','hidden');return a;}
+function jp(a,b){Dq(a,b,a.rb());}
+function lp(b,c){var a;a=gr(b,c);if(a){mp(c.rb());}return a;}
+function mp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
+function np(a){return lp(this,a);}
+function hp(){}
+_=hp.prototype=new Aq();_.be=np;_.tN=sfc+'AbsolutePanel';_.tI=41;function op(){}
+_=op.prototype=new xT();_.tN=sfc+'AbstractImagePrototype';_.tI=42;function nu(){nu=v2;ru=(rQ(),wQ);}
+function lu(b,a){nu();pu(b,a);return b;}
+function mu(b,a){if(b.k===null){b.k=bu(new au());}bY(b.k,a);}
+function ou(b,a){switch(xe(a)){case 1:if(b.j!==null){yq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){du(b.k,b,a);}break;case 128:case 512:case 256:break;}}
+function pu(b,a){zP(b,a);BN(b,7041);}
+function qu(a){if(this.j===null){this.j=wq(new vq());}bY(this.j,a);}
+function su(a){ou(this,a);}
+function tu(a){pu(this,a);}
+function uu(a){vf(this.rb(),'disabled',!a);}
+function vu(a){if(a){tQ(ru,this.rb());}else{qQ(ru,this.rb());}}
+function wu(a){uQ(ru,this.rb(),a);}
+function ku(){}
+_=ku.prototype=new uO();_.x=qu;_.tc=su;_.je=tu;_.ke=uu;_.le=vu;_.oe=wu;_.tN=sfc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var ru;function tp(){tp=v2;nu();}
+function sp(b,a){tp();lu(b,a);return b;}
+function up(a){Af(this.rb(),a);}
+function rp(){}
+_=rp.prototype=new ku();_.me=up;_.tN=sfc+'ButtonBase';_.tI=44;function xp(){xp=v2;tp();}
+function vp(a){xp();sp(a,wd());yp(a.rb());AN(a,'gwt-Button');return a;}
+function wp(b,a){xp();vp(b);b.me(a);return b;}
+function yp(b){xp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
+function qp(){}
+_=qp.prototype=new rp();_.tN=sfc+'Button';_.tI=45;function Ap(a){Cq(a);a.e=ge();a.d=de();td(a.e,a.d);a.je(a.e);return a;}
+function Cp(c,b,a){xf(b,'align',a.a);}
+function Dp(c,b,a){Df(b,'verticalAlign',a.a);}
+function Ep(c,a){var b;b=ff(c.rb());xf(b,'height',a);}
+function Fp(b,c){var a;a=ff(b.rb());xf(a,'width',c);}
+function zp(){}
+_=zp.prototype=new Aq();_.he=Ep;_.ie=Fp;_.tN=sfc+'CellPanel';_.tI=46;_.d=null;_.e=null;function yV(d,a,b){var c;while(a.hc()){c=a.pc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
+function AV(a){throw vV(new uV(),'add');}
+function BV(b){var a;a=yV(this,this.nc(),b);return a!==null;}
+function CV(){return this.Be(yb('[Ljava.lang.Object;',[610],[11],[this.ye()],null));}
+function DV(a){var b,c,d;d=this.ye();if(a.a<d){a=tb(a,d);}b=0;for(c=this.nc();c.hc();){Ab(a,b++,c.pc());}if(a.a>d){Ab(a,d,null);}return a;}
+function EV(){var a,b,c;c=cU(new bU());a=null;eU(c,'[');b=this.nc();while(b.hc()){if(a!==null){eU(c,a);}else{a=', ';}eU(c,iV(b.pc()));}eU(c,']');return iU(c);}
+function xV(){}
+_=xV.prototype=new xT();_.C=AV;_.db=BV;_.Ae=CV;_.Be=DV;_.tS=EV;_.tN=wfc+'AbstractCollection';_.tI=47;function iW(b,a){throw yS(new xS(),'Index: '+a+', Size: '+b.b);}
+function jW(b,a){throw vV(new uV(),'add');}
+function kW(a){this.B(this.ye(),a);return true;}
+function lW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.ye()!=f.ye()){return false;}c=this.nc();d=f.nc();while(c.hc()){a=c.pc();b=d.pc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
+function mW(){var a,b,c,d;c=1;a=31;b=this.nc();while(b.hc()){d=b.pc();c=31*c+(d===null?0:d.hC());}return c;}
+function nW(){return bW(new aW(),this);}
+function oW(a){throw vV(new uV(),'remove');}
+function FV(){}
+_=FV.prototype=new xV();_.B=jW;_.C=kW;_.eQ=lW;_.hC=mW;_.nc=nW;_.ae=oW;_.tN=wfc+'AbstractList';_.tI=48;function EX(a){{cY(a);}}
+function FX(a){EX(a);return a;}
+function aY(c,a,b){if(a<0||a>c.b){iW(c,a);}nY(c.a,a,b);++c.b;}
+function bY(b,a){wY(b.a,b.b++,a);return true;}
+function dY(a){cY(a);}
+function cY(a){a.a=gb();a.b=0;}
+function fY(b,a){return hY(b,a)!=(-1);}
+function gY(b,a){if(a<0||a>=b.b){iW(b,a);}return sY(b.a,a);}
+function hY(b,a){return iY(b,a,0);}
+function iY(c,b,a){if(a<0){iW(c,a);}for(;a<c.b;++a){if(rY(b,sY(c.a,a))){return a;}}return (-1);}
+function jY(a){return a.b==0;}
+function kY(c,a){var b;b=gY(c,a);uY(c.a,a,1);--c.b;return b;}
+function lY(c,b){var a;a=hY(c,b);if(a==(-1)){return false;}kY(c,a);return true;}
+function mY(d,a,b){var c;c=gY(d,a);wY(d.a,a,b);return c;}
+function oY(a,b){aY(this,a,b);}
+function pY(a){return bY(this,a);}
+function nY(a,b,c){a.splice(b,0,c);}
+function qY(a){return fY(this,a);}
+function rY(a,b){return a===b||a!==null&&a.eQ(b);}
+function tY(a){return gY(this,a);}
+function sY(a,b){return a[b];}
+function vY(a){return kY(this,a);}
+function uY(a,c,b){a.splice(c,b);}
+function wY(a,b,c){a[b]=c;}
+function xY(){return this.b;}
+function yY(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,sY(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
+function DX(){}
+_=DX.prototype=new FV();_.B=oY;_.C=pY;_.db=qY;_.ec=tY;_.ae=vY;_.ye=xY;_.Be=yY;_.tN=wfc+'ArrayList';_.tI=49;_.a=null;_.b=0;function bq(a){FX(a);return a;}
+function dq(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),41);b.vc(c);}}
+function aq(){}
+_=aq.prototype=new DX();_.tN=sfc+'ChangeListenerCollection';_.tI=50;function jq(){jq=v2;tp();}
+function gq(a){jq();hq(a,Cd());AN(a,'gwt-CheckBox');return a;}
+function iq(b,a){jq();gq(b);nq(b,a);return b;}
+function hq(b,a){var c;jq();sp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.rb()));Ef(b.rb(),0);td(b.rb(),b.a);td(b.rb(),b.b);c='check'+ ++uq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
+function kq(a){return ef(a.b);}
+function lq(b){var a;a=b.lc()?'checked':'defaultChecked';return Fe(b.a,a);}
+function mq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
+function nq(b,a){Bf(b.b,a);}
+function oq(){yf(this.a,this);}
+function pq(){yf(this.a,null);mq(this,lq(this));}
+function qq(a){vf(this.a,'disabled',!a);}
+function rq(a){if(a){tQ(ru,this.a);}else{qQ(ru,this.a);}}
+function sq(a){Af(this.b,a);}
+function tq(a){uQ(ru,this.a,a);}
+function fq(){}
+_=fq.prototype=new rp();_.cd=oq;_.qd=pq;_.ke=qq;_.le=rq;_.me=sq;_.oe=tq;_.tN=sfc+'CheckBox';_.tI=51;_.a=null;_.b=null;var uq=0;function wq(a){FX(a);return a;}
+function yq(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),42);b.wc(c);}}
+function vq(){}
+_=vq.prototype=new DX();_.tN=sfc+'ClickListenerCollection';_.tI=52;function mr(a,b){if(a.k!==null){throw vS(new uS(),'Composite.initWidget() may only be called once.');}yP(b);a.je(b.rb());a.k=b;BP(b,a);}
+function nr(){if(this.k===null){throw vS(new uS(),'initWidget() was never called in '+w(this));}return this.w;}
+function or(){if(this.k!==null){return this.k.lc();}return false;}
+function pr(){this.k.rc();this.cd();}
+function qr(){try{this.qd();}finally{this.k.yc();}}
+function kr(){}
+_=kr.prototype=new uO();_.rb=nr;_.lc=or;_.rc=pr;_.yc=qr;_.tN=sfc+'Composite';_.tI=53;_.k=null;function sr(a){Cq(a);a.je(xd());return a;}
+function ur(b,c){var a;a=c.rb();Df(a,'width','100%');Df(a,'height','100%');c.ue(false);}
+function vr(b,c,a){er(b,c,b.rb(),a,true);ur(b,c);}
+function wr(b,c){var a;a=gr(b,c);if(a){xr(b,c);if(b.b===c){b.b=null;}}return a;}
+function xr(a,b){Df(b.rb(),'width','');Df(b.rb(),'height','');b.ue(true);}
+function yr(b,a){Fq(b,a);if(b.b!==null){b.b.ue(false);}b.b=dr(b,a);b.b.ue(true);}
+function zr(a){return wr(this,a);}
+function rr(){}
+_=rr.prototype=new Aq();_.be=zr;_.tN=sfc+'DeckPanel';_.tI=54;_.b=null;function aH(a){bH(a,xd());return a;}
+function bH(b,a){b.je(a);return b;}
+function cH(a,b){if(a.r!==null){throw vS(new uS(),'SimplePanel can only contain one child widget');}a.we(b);}
+function eH(a,b){if(b===a.r){return;}if(b!==null){yP(b);}if(a.r!==null){a.be(a.r);}a.r=b;if(b!==null){td(a.qb(),a.r.rb());AD(a,b);}}
+function fH(){return this.rb();}
+function gH(){return BG(new zG(),this);}
+function hH(a){if(this.r!==a){return false;}CD(this,a);nf(this.qb(),a.rb());this.r=null;return true;}
+function iH(a){eH(this,a);}
+function yG(){}
+_=yG.prototype=new zD();_.qb=fH;_.nc=gH;_.be=hH;_.we=iH;_.tN=sfc+'SimplePanel';_.tI=55;_.r=null;function kE(){kE=v2;AE=fR(new aR());}
+function gE(a){kE();bH(a,hR(AE));rE(a,0,0);return a;}
+function hE(b,a){kE();gE(b);b.k=a;return b;}
+function iE(c,a,b){kE();hE(c,a);c.o=b;return c;}
+function jE(b,a){if(a.blur){a.blur();}}
+function lE(a){return iR(AE,a.rb());}
+function mE(a){return uN(a);}
+function nE(a){oE(a,false);}
+function oE(b,a){if(!b.p){return;}b.p=false;lp(oG(),b);b.rb();}
+function pE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.ne(a.l);}if(a.m!==null){b.xe(a.m);}}}
+function qE(e,b){var a,c,d,f;d=ve(b);c=kf(e.rb(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),EB(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){oE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){jE(e,d);return false;}}}return !e.o||c;}
+function rE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.rb();Df(a,'left',b+'px');Df(a,'top',d+'px');}
+function sE(a,b){eH(a,b);pE(a);}
+function tE(a,b){a.m=b;pE(a);if(uU(b)==0){a.m=null;}}
+function uE(a){if(a.p){return;}a.p=true;sd(a);Df(a.rb(),'position','absolute');if(a.q!=(-1)){rE(a,a.n,a.q);}jp(oG(),a);a.rb();}
+function vE(){return lE(this);}
+function wE(){return tN(this);}
+function xE(){return mE(this);}
+function yE(){return iR(AE,this.rb());}
+function zE(){nE(this);}
+function BE(){pf(this);xP(this);}
+function CE(a){return qE(this,a);}
+function DE(a){this.l=a;pE(this);if(uU(a)==0){this.l=null;}}
+function EE(b){var a;a=lE(this);if(b===null||uU(b)==0){of(a,'title');}else{uf(a,'title',b);}}
+function FE(a){Df(this.rb(),'visibility',a?'visible':'hidden');this.rb();}
+function aF(a){sE(this,a);}
+function bF(a){tE(this,a);}
+function fE(){}
+_=fE.prototype=new yG();_.qb=vE;_.zb=wE;_.Ab=xE;_.ac=yE;_.ic=zE;_.yc=BE;_.zc=CE;_.ne=DE;_.pe=EE;_.ue=FE;_.we=aF;_.xe=bF;_.tN=sfc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var AE;function Fr(){Fr=v2;kE();}
+function Br(a){a.e=jz(new nw());a.j=rt(new lt());}
+function Cr(a){Fr();Dr(a,false);return a;}
+function Dr(b,a){Fr();Er(b,a,true);return b;}
+function Er(c,a,b){Fr();iE(c,a,b);Br(c);c.j.ve(0,0,c.e);c.j.ne('100%');xy(c.j,0);zy(c.j,0);Ay(c.j,0);cx(c.j.n,1,0,'100%');hx(c.j.n,1,0,'100%');bx(c.j.n,1,0,(uz(),vz),(Dz(),Fz));sE(c,c.j);AN(c,'gwt-DialogBox');AN(c.e,'Caption');eC(c.e,c);return c;}
+function as(b,a){nz(b.e,a);}
+function bs(b,a){hC(b.e,a);}
+function cs(a,b){if(a.f!==null){wy(a.j,a.f);}if(b!==null){a.j.ve(1,0,b);}a.f=b;}
+function ds(a){if(xe(a)==4){if(kf(this.e.rb(),ve(a))){ye(a);}}return qE(this,a);}
+function es(a,b,c){this.i=true;tf(this.e.rb());this.g=b;this.h=c;}
+function fs(a){}
+function gs(a){}
+function hs(c,d,e){var a,b;if(this.i){a=d+rN(this);b=e+sN(this);rE(this,a-this.g,b-this.h);}}
+function is(a,b,c){this.i=false;mf(this.e.rb());}
+function js(a){if(this.f!==a){return false;}wy(this.j,a);return true;}
+function ks(a){cs(this,a);}
+function ls(a){tE(this,a);this.j.xe('100%');}
+function Ar(){}
+_=Ar.prototype=new fE();_.zc=ds;_.ed=es;_.fd=fs;_.gd=gs;_.hd=hs;_.id=is;_.be=js;_.we=ks;_.xe=ls;_.tN=sfc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function xs(){xs=v2;Ds=new ns();Es=new ns();Fs=new ns();at=new ns();bt=new ns();}
+function us(a){a.b=(uz(),wz);a.c=(Dz(),aA);}
+function vs(a){xs();Ap(a);us(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
+function ws(c,d,a){var b;if(a===Ds){if(d===c.a){return;}else if(c.a!==null){throw sS(new rS(),'Only one CENTER widget may be added');}}yP(d);FO(c.f,d);if(a===Ds){c.a=d;}b=qs(new ps(),a);AP(d,b);As(c,d,c.b);Bs(c,d,c.c);ys(c);AD(c,d);}
+function ys(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=eP(p.f);zO(h);){c=AO(h);e=c.u.a;if(e===Fs||e===at){++l;}else if(e===Es||e===bt){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[633],[33],[l],null);for(g=0;g<l;++g){m[g]=new ss();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=eP(p.f);zO(h);){c=AO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===Fs){hf(m[j].b,o,m[j].a);td(o,c.rb());wf(o,'colSpan',f-q+1);++j;}else if(i.a===at){hf(m[n].b,o,m[n].a);td(o,c.rb());wf(o,'colSpan',f-q+1);--n;}else if(i.a===bt){k=m[j];hf(k.b,o,k.a++);td(o,c.rb());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===Es){k=m[j];hf(k.b,o,k.a);td(o,c.rb());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===Ds){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.rb());}}
+function zs(b,c){var a;a=gr(b,c);if(a){if(c===b.a){b.a=null;}ys(b);}return a;}
+function As(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
+function Bs(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
+function Cs(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
+function ct(a){return zs(this,a);}
+function dt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
+function et(a,b){Cs(this,a,b);}
+function ms(){}
+_=ms.prototype=new zp();_.be=ct;_.he=dt;_.ie=et;_.tN=sfc+'DockPanel';_.tI=58;_.a=null;var Ds,Es,Fs,at,bt;function ns(){}
+_=ns.prototype=new xT();_.tN=sfc+'DockPanel$DockLayoutConstant';_.tI=59;function qs(b,a){b.a=a;return b;}
+function ps(){}
+_=ps.prototype=new xT();_.tN=sfc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function ss(){}
+_=ss.prototype=new xT();_.tN=sfc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function gt(a){a.je(yd('input'));xf(a.rb(),'type','file');AN(a,'gwt-FileUpload');return a;}
+function it(a){return bf(a.rb(),'value');}
+function jt(b,a){xf(b.rb(),'name',a);}
+function ft(){}
+_=ft.prototype=new uO();_.tN=sfc+'FileUpload';_.tI=62;function by(a){a.s=xx(new sx());}
+function cy(a){by(a);a.q=ge();a.m=de();td(a.q,a.m);a.je(a.q);BN(a,1);return a;}
+function dy(b,a){if(b.r===null){b.r=fK(new eK());}bY(b.r,a);}
+function ey(d,c,b){var a;fy(d,c);if(b<0){throw yS(new xS(),'Column '+b+' must be non-negative: '+b);}a=d.pb(c);if(a<=b){throw yS(new xS(),'Column index: '+b+', Column size: '+d.pb(c));}}
+function fy(c,a){var b;b=c.Cb();if(a>=b||a<0){throw yS(new xS(),'Row index: '+a+', Row size: '+b);}}
+function gy(e,c,b,a){var d;d=Ew(e.n,c,b);ty(e,d,a);return d;}
+function hy(d){var a,b,c;for(c=0;c<d.Cb();++c){for(b=0;b<d.pb(c);++b){a=py(d,c,b);if(a!==null){wy(d,a);}}}}
+function jy(a){return ee();}
+function ky(c,b,a){return b.rows[a].cells.length;}
+function ly(a){return my(a,a.m);}
+function my(b,a){return a.rows.length;}
+function ny(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(pU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
+function oy(d,c,a){var b;ey(d,c,a);b=Dw(d.n,c,a);return ef(b);}
+function qy(c,b,a){ey(c,b,a);return py(c,b,a);}
+function py(e,d,b){var a,c;c=Ew(e.n,d,b);a=df(c);if(a===null){return null;}else{return zx(e.s,a);}}
+function ry(d,b,a){var c,e;e=qx(d.p,d.m,b);c=d.eb();hf(e,c,a);}
+function sy(b,a){var c;if(a!=vt(b)){fy(b,a);}c=fe();hf(b.m,c,a);return a;}
+function ty(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=zx(d.s,b);}if(e!==null){wy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
+function wy(b,c){var a;if(c.v!==b){return false;}CD(b,c);a=c.rb();nf(ff(a),a);Cx(b.s,a);return true;}
+function uy(d,b,a){var c,e;ey(d,b,a);c=gy(d,b,a,false);e=qx(d.p,d.m,b);nf(e,c);}
+function vy(d,c){var a,b;b=d.pb(c);for(a=0;a<b;++a){gy(d,c,a,false);}nf(d.m,qx(d.p,d.m,c));}
+function xy(a,b){xf(a.q,'border',''+b);}
+function yy(b,a){b.n=a;}
+function zy(b,a){wf(b.q,'cellPadding',a);}
+function Ay(b,a){wf(b.q,'cellSpacing',a);}
+function By(b,a){b.o=a;lx(b.o);}
+function Cy(e,c,a,b){var d;cw(e,c,a);d=gy(e,c,a,b===null);if(b!==null){Af(d,b);}}
+function Dy(b,a){b.p=a;}
+function Ey(e,b,a,d){var c;e.ud(b,a);c=gy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
+function Fy(d,b,a,e){var c;d.ud(b,a);if(e!==null){yP(e);c=gy(d,b,a,true);Ax(d.s,e);td(c,e.rb());AD(d,e);}}
+function az(){hy(this);}
+function bz(){return jy(this);}
+function cz(b,a){ry(this,b,a);}
+function dz(){return Dx(this.s);}
+function ez(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=ny(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);hK(this.r,this,d,b);}break;}default:}}
+function hz(a){return wy(this,a);}
+function fz(b,a){uy(this,b,a);}
+function gz(a){vy(this,a);}
+function iz(b,a,c){Fy(this,b,a,c);}
+function ow(){}
+_=ow.prototype=new zD();_.F=az;_.eb=bz;_.jc=cz;_.nc=dz;_.tc=ez;_.be=hz;_.Cd=fz;_.Ed=gz;_.ve=iz;_.tN=sfc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function rt(a){cy(a);yy(a,nt(new mt(),a));Dy(a,nx(new mx(),a));By(a,jx(new ix(),a));return a;}
+function tt(b,a){fy(b,a);return ky(b,b.m,a);}
+function ut(a){return Fb(a.n,43);}
+function vt(a){return ly(a);}
+function wt(b,a){return sy(b,a);}
+function xt(d,b){var a,c;if(b<0){throw yS(new xS(),'Cannot create a row with a negative index: '+b);}c=vt(d);for(a=c;a<=b;a++){wt(d,a);}}
+function yt(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
+function zt(a){return tt(this,a);}
+function At(){return vt(this);}
+function Bt(b,a){ry(this,b,a);}
+function Ct(d,b){var a,c;xt(this,d);if(b<0){throw yS(new xS(),'Cannot create a column with a negative index: '+b);}a=tt(this,d);c=b+1-a;if(c>0){yt(this.m,d,c);}}
+function Dt(a){xt(this,a);}
+function Et(b,a){uy(this,b,a);}
+function Ft(a){vy(this,a);}
+function lt(){}
+_=lt.prototype=new ow();_.pb=zt;_.Cb=At;_.jc=Bt;_.ud=Ct;_.vd=Dt;_.Cd=Et;_.Ed=Ft;_.tN=sfc+'FlexTable';_.tI=64;function zw(b,a){b.a=a;return b;}
+function Bw(c,b,a){c.a.ud(b,a);return Cw(c,c.a.m,b,a);}
+function Cw(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
+function Dw(c,b,a){ey(c.a,b,a);return Cw(c,c.a.m,b,a);}
+function Ew(c,b,a){return Cw(c,c.a.m,b,a);}
+function Fw(d,c,a){var b;b=Dw(d,c,a);return bO(b);}
+function ax(e,b,a,c){var d;ey(e.a,b,a);d=Cw(e,e.a.m,b,a);fO(d,c,false);}
+function bx(d,c,a,b,e){dx(d,c,a,b);fx(d,c,a,e);}
+function cx(e,d,a,c){var b;e.a.ud(d,a);b=Cw(e,e.a.m,d,a);xf(b,'height',c);}
+function dx(e,d,b,a){var c;e.a.ud(d,b);c=Cw(e,e.a.m,d,b);xf(c,'align',a.a);}
+function ex(d,b,a,c){d.a.ud(b,a);eO(Cw(d,d.a.m,b,a),c);}
+function fx(d,c,b,a){d.a.ud(c,b);Df(Cw(d,d.a.m,c,b),'verticalAlign',a.a);}
+function gx(d,c,a,e){var b;b=Bw(d,c,a);hO(b,e);}
+function hx(c,b,a,d){c.a.ud(b,a);xf(Cw(c,c.a.m,b,a),'width',d);}
+function yw(){}
+_=yw.prototype=new xT();_.tN=sfc+'HTMLTable$CellFormatter';_.tI=65;function nt(b,a){zw(b,a);return b;}
+function pt(d,c,b,a){wf(Bw(d,c,b),'colSpan',a);}
+function qt(d,b,a,c){wf(Bw(d,b,a),'rowSpan',c);}
+function mt(){}
+_=mt.prototype=new yw();_.tN=sfc+'FlexTable$FlexCellFormatter';_.tI=66;function bu(a){FX(a);return a;}
+function eu(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),44);b.Bc(c);}}
+function du(c,b,a){switch(xe(a)){case 2048:eu(c,b);break;case 4096:fu(c,b);break;}}
+function fu(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),44);b.dd(c);}}
+function au(){}
+_=au.prototype=new DX();_.tN=sfc+'FocusListenerCollection';_.tI=67;function iu(){iu=v2;ju=(rQ(),vQ);}
+var ju;function yu(a){FX(a);return a;}
+function Au(f,e,d){var a,b,c;a=uv(new tv(),e,d);for(c=f.nc();c.hc();){b=Fb(c.pc(),45);b.kd(a);}}
+function Bu(e,d){var a,b,c;a=new wv();for(c=e.nc();c.hc();){b=Fb(c.pc(),45);b.ld(a);}return a.a;}
+function xu(){}
+_=xu.prototype=new DX();_.tN=sfc+'FormHandlerCollection';_.tI=68;function ev(){ev=v2;ov=new xQ();}
+function cv(a){ev();bH(a,zd());a.b='FormPanel_'+ ++nv;lv(a,a.b);BN(a,32768);return a;}
+function dv(b,a){if(b.a===null){b.a=yu(new xu());}bY(b.a,a);}
+function fv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
+function gv(a){if(a.a!==null){return !Bu(a.a,a);}return true;}
+function hv(a){if(a.a!==null){eg(Fu(new Eu(),a));}}
+function iv(a,b){xf(a.rb(),'action',b);}
+function jv(b,a){CQ(ov,b.rb(),a);}
+function kv(b,a){xf(b.rb(),'method',a);}
+function lv(b,a){xf(b.rb(),'target',a);}
+function mv(a){if(a.a!==null){if(Bu(a.a,a)){return;}}DQ(ov,a.rb(),a.c);}
+function pv(){wP(this);fv(this);td(nG(),this.c);BQ(ov,this.c,this.rb(),this);}
+function qv(){xP(this);EQ(ov,this.c,this.rb());nf(nG(),this.c);this.c=null;}
+function rv(){var a;a=x;{return gv(this);}}
+function sv(){var a;a=x;{hv(this);}}
+function Du(){}
+_=Du.prototype=new yG();_.rc=pv;_.yc=qv;_.Cc=rv;_.Dc=sv;_.tN=sfc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var nv=0,ov;function Fu(b,a){b.a=a;return b;}
+function bv(){Au(this.a.a,this,AQ((ev(),ov),this.a.c));}
+function Eu(){}
+_=Eu.prototype=new xT();_.nb=bv;_.tN=sfc+'FormPanel$1';_.tI=70;function EZ(){}
+_=EZ.prototype=new xT();_.tN=wfc+'EventObject';_.tI=71;function uv(c,b,a){c.a=a;return c;}
+function tv(){}
+_=tv.prototype=new EZ();_.tN=sfc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function yv(b,a){b.a=a;}
+function wv(){}
+_=wv.prototype=new EZ();_.tN=sfc+'FormSubmitEvent';_.tI=73;_.a=false;function Av(a){a.je(Ad());return a;}
+function Bv(a,b){Av(a);Dv(a,b);return a;}
+function Dv(a,b){xf(a.rb(),'src',b);}
+function zv(){}
+_=zv.prototype=new uO();_.tN=sfc+'Frame';_.tI=74;function Fv(a){cy(a);yy(a,zw(new yw(),a));Dy(a,nx(new mx(),a));By(a,jx(new ix(),a));return a;}
+function aw(c,b,a){Fv(c);gw(c,b,a);return c;}
+function cw(c,b,a){dw(c,b);if(a<0){throw yS(new xS(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw yS(new xS(),'Column index: '+a+', Column size: '+c.k);}}
+function dw(b,a){if(a<0){throw yS(new xS(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw yS(new xS(),'Row index: '+a+', Row size: '+b.l);}}
+function gw(c,b,a){ew(c,a);fw(c,b);}
+function ew(d,a){var b,c;if(d.k==a){return;}if(a<0){throw yS(new xS(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Cd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.jc(b,c);}}}d.k=a;}
+function fw(b,a){if(b.l==a){return;}if(a<0){throw yS(new xS(),'Cannot set number of rows to '+a);}if(b.l<a){hw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.Ed(--b.l);}}}
+function hw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
+function iw(){var a;a=jy(this);Af(a,'&nbsp;');return a;}
+function jw(a){return this.k;}
+function kw(){return this.l;}
+function lw(b,a){cw(this,b,a);}
+function mw(a){dw(this,a);}
+function Ev(){}
+_=Ev.prototype=new ow();_.eb=iw;_.pb=jw;_.Cb=kw;_.ud=lw;_.vd=mw;_.tN=sfc+'Grid';_.tI=75;_.k=0;_.l=0;function bC(a){a.je(xd());BN(a,131197);AN(a,'gwt-Label');return a;}
+function cC(b,a){bC(b);hC(b,a);return b;}
+function dC(b,a){if(b.a===null){b.a=wq(new vq());}bY(b.a,a);}
+function eC(b,a){if(b.b===null){b.b=gD(new fD());}bY(b.b,a);}
+function gC(a){return ef(a.rb());}
+function hC(b,a){Bf(b.rb(),a);}
+function iC(a,b){Df(a.rb(),'whiteSpace',b?'normal':'nowrap');}
+function jC(a){switch(xe(a)){case 1:if(this.a!==null){yq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){kD(this.b,this,a);}break;case 131072:break;}}
+function aC(){}
+_=aC.prototype=new uO();_.tc=jC;_.tN=sfc+'Label';_.tI=76;_.a=null;_.b=null;function jz(a){bC(a);a.je(xd());BN(a,125);AN(a,'gwt-HTML');return a;}
+function kz(b,a){jz(b);nz(b,a);return b;}
+function lz(b,a,c){kz(b,a);iC(b,c);return b;}
+function nz(b,a){Af(b.rb(),a);}
+function nw(){}
+_=nw.prototype=new aC();_.tN=sfc+'HTML';_.tI=77;function qw(a){{tw(a);}}
+function rw(b,a){b.c=a;qw(b);return b;}
+function tw(a){while(++a.b<a.c.b.b){if(gY(a.c.b,a.b)!==null){return;}}}
+function uw(a){return a.b<a.c.b.b;}
+function vw(){return uw(this);}
+function ww(){var a;if(!uw(this)){throw new d2();}a=gY(this.c.b,this.b);this.a=this.b;tw(this);return a;}
+function xw(){var a;if(this.a<0){throw new uS();}a=Fb(gY(this.c.b,this.a),13);yP(a);this.a=(-1);}
+function pw(){}
+_=pw.prototype=new xT();_.hc=vw;_.pc=ww;_.Fd=xw;_.tN=sfc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function jx(b,a){b.b=a;return b;}
+function lx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
+function ix(){}
+_=ix.prototype=new xT();_.tN=sfc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function nx(b,a){b.a=a;return b;}
+function px(b,a){b.a.vd(a);return qx(b,b.a.m,a);}
+function qx(c,a,b){return a.rows[b];}
+function rx(c,a,b){eO(px(c,a),b);}
+function mx(){}
+_=mx.prototype=new xT();_.tN=sfc+'HTMLTable$RowFormatter';_.tI=80;function wx(a){a.b=FX(new DX());}
+function xx(a){wx(a);return a;}
+function zx(c,a){var b;b=Fx(a);if(b<0){return null;}return Fb(gY(c.b,b),13);}
+function Ax(b,c){var a;if(b.a===null){a=b.b.b;bY(b.b,c);}else{a=b.a.a;mY(b.b,a,c);b.a=b.a.b;}ay(c.rb(),a);}
+function Bx(c,a,b){Ex(a);mY(c.b,b,null);c.a=ux(new tx(),b,c.a);}
+function Cx(c,a){var b;b=Fx(a);Bx(c,a,b);}
+function Dx(a){return rw(new pw(),a);}
+function Ex(a){a['__widgetID']=null;}
+function Fx(a){var b=a['__widgetID'];return b==null?-1:b;}
+function ay(a,b){a['__widgetID']=b;}
+function sx(){}
+_=sx.prototype=new xT();_.tN=sfc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function ux(c,a,b){c.a=a;c.b=b;return c;}
+function tx(){}
+_=tx.prototype=new xT();_.tN=sfc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function uz(){uz=v2;vz=sz(new rz(),'center');wz=sz(new rz(),'left');xz=sz(new rz(),'right');}
+var vz,wz,xz;function sz(b,a){b.a=a;return b;}
+function rz(){}
+_=rz.prototype=new xT();_.tN=sfc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function Dz(){Dz=v2;Ez=Bz(new Az(),'bottom');Fz=Bz(new Az(),'middle');aA=Bz(new Az(),'top');}
+var Ez,Fz,aA;function Bz(a,b){a.a=b;return a;}
+function Az(){}
+_=Az.prototype=new xT();_.tN=sfc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function eA(a){a.a=(uz(),wz);a.c=(Dz(),aA);}
+function fA(a){Ap(a);eA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function gA(b,c){var a;a=iA(b);td(b.b,a);Dq(b,c,a);}
+function iA(b){var a;a=ee();Cp(b,a,b.a);Dp(b,a,b.c);return a;}
+function jA(c,d,a){var b;ar(c,a);b=iA(c);hf(c.b,b,a);er(c,d,b,a,false);}
+function kA(c,d){var a,b;b=ff(d.rb());a=gr(c,d);if(a){nf(c.b,b);}return a;}
+function lA(b,a){b.c=a;}
+function mA(a){return kA(this,a);}
+function dA(){}
+_=dA.prototype=new zp();_.be=mA;_.tN=sfc+'HorizontalPanel';_.tI=85;_.b=null;function oA(a){a.je(xd());td(a.rb(),a.a=vd());BN(a,1);AN(a,'gwt-Hyperlink');return a;}
+function pA(c,b,a){oA(c);sA(c,b);rA(c,a);return c;}
+function rA(b,a){b.b=a;xf(b.a,'href','#'+a);}
+function sA(b,a){Bf(b.a,a);}
+function tA(a){if(xe(a)==1){ah(this.b);ye(a);}}
+function nA(){}
+_=nA.prototype=new uO();_.tc=tA;_.tN=sfc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function nB(){nB=v2;C0(new a0());}
+function jB(a){nB();mB(a,cB(new bB(),a));AN(a,'gwt-Image');return a;}
+function kB(a,b){nB();mB(a,dB(new bB(),a,b));AN(a,'gwt-Image');return a;}
+function lB(b,a){if(b.a===null){b.a=wq(new vq());}bY(b.a,a);}
+function mB(b,a){b.b=a;}
+function pB(a,b){a.b.re(a,b);}
+function oB(c,e,b,d,f,a){c.b.qe(c,e,b,d,f,a);}
+function qB(a){switch(xe(a)){case 1:{if(this.a!==null){yq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
+function uA(){}
+_=uA.prototype=new uO();_.tc=qB;_.tN=sfc+'Image';_.tI=87;_.a=null;_.b=null;function xA(){}
+function vA(){}
+_=vA.prototype=new xT();_.nb=xA;_.tN=sfc+'Image$1';_.tI=88;function FA(){}
+_=FA.prototype=new xT();_.tN=sfc+'Image$State';_.tI=89;function AA(){AA=v2;CA=new fQ();}
+function zA(d,b,f,c,e,g,a){AA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.je(iQ(CA,f,c,e,g,a));BN(b,131197);BA(d,b);return d;}
+function BA(b,a){eg(new vA());}
+function EA(a,b){mB(a,dB(new bB(),a,b));}
+function DA(b,e,c,d,f,a){if(!qU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;gQ(CA,b.rb(),e,c,d,f,a);BA(this,b);}}
+function yA(){}
+_=yA.prototype=new FA();_.re=EA;_.qe=DA;_.tN=sfc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var CA;function cB(b,a){a.je(Bd());BN(a,229501);return b;}
+function dB(b,a,c){cB(b,a);fB(b,a,c);return b;}
+function fB(b,a,c){zf(a.rb(),c);}
+function hB(a,b){fB(this,a,b);}
+function gB(b,e,c,d,f,a){mB(b,zA(new yA(),b,e,c,d,f,a));}
+function bB(){}
+_=bB.prototype=new FA();_.re=hB;_.qe=gB;_.tN=sfc+'Image$UnclippedState';_.tI=91;function uB(c,a,b){}
+function vB(c,a,b){}
+function wB(c,a,b){}
+function sB(){}
+_=sB.prototype=new xT();_.Fc=uB;_.ad=vB;_.bd=wB;_.tN=sfc+'KeyboardListenerAdapter';_.tI=92;function yB(a){FX(a);return a;}
+function AB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.Fc(e,b,d);}}
+function BB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.ad(e,b,d);}}
+function CB(f,e,b,d){var a,c;for(a=f.nc();a.hc();){c=Fb(a.pc(),46);c.bd(e,b,d);}}
+function DB(d,c,a){var b;b=EB(a);switch(xe(a)){case 128:AB(d,c,bc(se(a)),b);break;case 512:CB(d,c,bc(se(a)),b);break;case 256:BB(d,c,bc(se(a)),b);break;}}
+function EB(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
+function xB(){}
+_=xB.prototype=new DX();_.tN=sfc+'KeyboardListenerCollection';_.tI=93;function zC(){zC=v2;nu();dD=new lC();}
+function sC(a){zC();tC(a,false);return a;}
+function tC(b,a){zC();lu(b,be(a));BN(b,1024);AN(b,'gwt-ListBox');return b;}
+function uC(b,a){if(b.b===null){b.b=bq(new aq());}bY(b.b,a);}
+function vC(b,a){EC(b,a,(-1));}
+function wC(b,a,c){FC(b,a,c,(-1));}
+function xC(b,a){if(a<0||a>=AC(b)){throw new xS();}}
+function yC(a){mC(dD,a.rb());}
+function AC(a){return oC(dD,a.rb());}
+function BC(b,a){xC(b,a);return pC(dD,b.rb(),a);}
+function CC(a){return af(a.rb(),'selectedIndex');}
+function DC(b,a){xC(b,a);return qC(dD,b.rb(),a);}
+function EC(c,b,a){FC(c,b,b,a);}
+function FC(c,b,d,a){jf(c.rb(),b,d,a);}
+function aD(b,a){xC(b,a);rC(dD,b.rb(),a);}
+function bD(b,a){wf(b.rb(),'selectedIndex',a);}
+function cD(a,b){wf(a.rb(),'size',b);}
+function eD(a){if(xe(a)==1024){if(this.b!==null){dq(this.b,this);}}else{ou(this,a);}}
+function kC(){}
+_=kC.prototype=new ku();_.tc=eD;_.tN=sfc+'ListBox';_.tI=94;_.b=null;var dD;function mC(b,a){a.options.length=0;}
+function oC(b,a){return a.options.length;}
+function pC(c,b,a){return b.options[a].text;}
+function qC(c,b,a){return b.options[a].value;}
+function rC(c,b,a){b.options[a]=null;}
+function lC(){}
+_=lC.prototype=new xT();_.tN=sfc+'ListBox$Impl';_.tI=95;function gD(a){FX(a);return a;}
+function iD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.ed(c,e,f);}}
+function jD(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.fd(c);}}
+function kD(e,c,a){var b,d,f,g,h;d=c.rb();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:iD(e,c,g,h);break;case 8:nD(e,c,g,h);break;case 64:mD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){jD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){lD(e,c);}break;}}
+function lD(d,c){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.gd(c);}}
+function mD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.hd(c,e,f);}}
+function nD(d,c,e,f){var a,b;for(a=d.nc();a.hc();){b=Fb(a.pc(),47);b.id(c,e,f);}}
+function fD(){}
+_=fD.prototype=new DX();_.tN=sfc+'MouseListenerCollection';_.tI=96;function pD(){}
+_=pD.prototype=new xT();_.tN=sfc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=97;_.a=null;_.b=null;function tD(b,a){xD(a,b.Bd());yD(a,b.Bd());}
+function uD(a){return a.a;}
+function vD(a){return a.b;}
+function wD(b,a){b.cf(uD(a));b.cf(vD(a));}
+function xD(a,b){a.a=b;}
+function yD(a,b){a.b=b;}
+function wK(){wK=v2;nu();DK=new mR();}
+function sK(b,a){wK();lu(b,a);BN(b,1024);return b;}
+function tK(b,a){if(b.f===null){b.f=bq(new aq());}bY(b.f,a);}
+function uK(b,a){if(b.i===null){b.i=yB(new xB());}bY(b.i,a);}
+function vK(a){if(a.h!==null){ye(a.h);}}
+function xK(a){return bf(a.rb(),'value');}
+function yK(b,a){AK(b,a,0);}
+function zK(b,a){xf(b.rb(),'name',a);}
+function AK(c,b,a){if(a<0){throw yS(new xS(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>uU(xK(c))){throw yS(new xS(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+uU(xK(c)));}qR(DK,c.rb(),b,a);}
+function BK(b,a){xf(b.rb(),'value',a!==null?a:'');}
+function CK(a){if(this.g===null){this.g=wq(new vq());}bY(this.g,a);}
+function EK(a){var b;ou(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;DB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){yq(this.g,this);}}else if(b==1024){if(this.f!==null){dq(this.f,this);}}}
+function rK(){}
+_=rK.prototype=new ku();_.x=CK;_.tc=EK;_.tN=sfc+'TextBoxBase';_.tI=98;_.f=null;_.g=null;_.h=null;_.i=null;var DK;function eE(){eE=v2;wK();}
+function dE(a){eE();sK(a,Dd());AN(a,'gwt-PasswordTextBox');return a;}
+function cE(){}
+_=cE.prototype=new rK();_.tN=sfc+'PasswordTextBox';_.tI=99;function pF(b,a){qF(b,a,null);return b;}
+function qF(c,a,b){c.a=a;sF(c);return c;}
+function rF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=EF(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=EF(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=BF(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
+function sF(a){a.b=0;a.c={};a.d={};}
+function uF(b,a){return fY(vF(b,a,1),a);}
+function vF(c,b,a){var d;d=FX(new DX());if(b!==null&&a>0){xF(c,b,'',d,a);}return d;}
+function wF(a){return eF(new dF(),a);}
+function xF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=EF(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+bG(a);h.ze(f,l,c,b);}}else{for(j in k){var l=d+bG(j);if(l.indexOf(f)==0){c.C(l);}if(c.ye()>=b){return;}}for(var a in i){var l=d+bG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.ye()||h.b==1){h.lb(c,l);}else{for(var j in h.d){c.C(l+bG(j));}for(var g in h.c){c.C(l+bG(g)+'...');}}}}}}
+function yF(a){if(ac(a,1)){return rF(this,Fb(a,1));}else{throw vV(new uV(),'Cannot add non-Strings to PrefixTree');}}
+function zF(a){return rF(this,a);}
+function AF(a){if(ac(a,1)){return uF(this,Fb(a,1));}else{return false;}}
+function BF(a){return pF(new cF(),a);}
+function CF(b,c){var a;for(a=wF(this);hF(a);){b.C(c+Fb(kF(a),1));}}
+function DF(){return wF(this);}
+function EF(a){return Eb(58)+a;}
+function FF(){return this.b;}
+function aG(d,c,b,a){xF(this,d,c,b,a);}
+function bG(a){return zU(a,1);}
+function cF(){}
+_=cF.prototype=new xV();_.C=yF;_.D=zF;_.db=AF;_.lb=CF;_.nc=DF;_.ye=FF;_.ze=aG;_.tN=sfc+'PrefixTree';_.tI=100;_.a=0;_.b=0;_.c=null;_.d=null;function eF(a,b){iF(a);fF(a,b,'');return a;}
+function fF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
+function hF(a){return jF(a,true)!==null;}
+function iF(a){a.a=[];}
+function kF(a){var b;b=jF(a,false);if(b===null){if(!hF(a)){throw e2(new d2(),'No more elements in the iterator');}else{throw DT(new CT(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
+function jF(g,b){var d=g.a;var c=EF;var i=bG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
+function lF(b,a){fF(this,b,a);}
+function mF(){return hF(this);}
+function nF(){return kF(this);}
+function oF(){throw vV(new uV(),'PrefixTree does not support removal.  Use clear()');}
+function dF(){}
+_=dF.prototype=new xT();_.A=lF;_.hc=mF;_.pc=nF;_.Fd=oF;_.tN=sfc+'PrefixTree$PrefixTreeIterator';_.tI=101;_.a=null;function fG(){fG=v2;jq();}
+function dG(b,a){fG();hq(b,Ed(a));AN(b,'gwt-RadioButton');return b;}
+function eG(c,b,a){fG();dG(c,b);nq(c,a);return c;}
+function cG(){}
+_=cG.prototype=new fq();_.tN=sfc+'RadioButton';_.tI=102;function mG(){mG=v2;rG=C0(new a0());}
+function lG(b,a){mG();ip(b);if(a===null){a=nG();}b.je(a);b.rc();return b;}
+function oG(){mG();return pG(null);}
+function pG(c){mG();var a,b;b=Fb(c1(rG,c),48);if(b!==null){return b;}a=null;if(rG.c==0){qG();}d1(rG,c,b=lG(new gG(),a));return b;}
+function nG(){mG();return $doc.body;}
+function qG(){mG();yh(new hG());}
+function gG(){}
+_=gG.prototype=new hp();_.tN=sfc+'RootPanel';_.tI=103;var rG;function jG(){var a,b;for(b=cX(rX((mG(),rG)));jX(b);){a=Fb(kX(b),48);if(a.lc()){a.yc();}}}
+function kG(){return null;}
+function hG(){}
+_=hG.prototype=new xT();_.rd=jG;_.sd=kG;_.tN=sfc+'RootPanel$1';_.tI=104;function tG(a){aH(a);wG(a,false);BN(a,16384);return a;}
+function uG(b,a){tG(b);b.we(a);return b;}
+function wG(b,a){Df(b.rb(),'overflow',a?'scroll':'auto');}
+function xG(a){xe(a)==16384;}
+function sG(){}
+_=sG.prototype=new yG();_.tc=xG;_.tN=sfc+'ScrollPanel';_.tI=105;function AG(a){a.a=a.c.r!==null;}
+function BG(b,a){b.c=a;AG(b);return b;}
+function DG(){return this.a;}
+function EG(){if(!this.a||this.c.r===null){throw new d2();}this.a=false;return this.b=this.c.r;}
+function FG(){if(this.b!==null){this.c.be(this.b);}}
+function zG(){}
+_=zG.prototype=new xT();_.hc=DG;_.pc=EG;_.Fd=FG;_.tN=sfc+'SimplePanel$1';_.tI=106;_.b=null;function wH(b){var a;Cq(b);a=ge();b.je(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);AN(b,'gwt-StackPanel');return b;}
+function xH(a,b){BH(a,b,a.f.c);}
+function yH(c,d,b,a){xH(c,d);DH(c,c.f.c-1,b,a);}
+function AH(d,a){var b,c;while(a!==null&& !ud(a,d.rb())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return ES(b);}else{return (-1);}}a=ff(a);}return (-1);}
+function BH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=Eq(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);fO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');er(e,h,c,a,false);aI(e,a);if(e.b==(-1)){FH(e,0);}else{EH(e,a,false);if(e.b>=a){++e.b;}}}
+function CH(e,a,b){var c,d,f;c=gr(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}aI(e,d);}return c;}
+function DH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
+function EH(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);fO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);hO(d,e);dr(c,a).ue(e);}
+function FH(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){EH(b,b.b,false);}b.b=a;EH(b,b.b,true);}
+function aI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
+function bI(a){var b,c;if(xe(a)==1){c=ve(a);b=AH(this,c);if(b!=(-1)){FH(this,b);}}}
+function cI(a){return CH(this,dr(this,a),a);}
+function dI(a){return CH(this,a,cr(this,a));}
+function vH(){}
+_=vH.prototype=new Aq();_.tc=bI;_.ae=cI;_.be=dI;_.tN=sfc+'StackPanel';_.tI=107;_.a=null;_.b=(-1);function eI(){}
+_=eI.prototype=new xT();_.tN=sfc+'SuggestOracle$Request';_.tI=108;_.a=20;_.b=null;function gI(){}
+_=gI.prototype=new xT();_.tN=sfc+'SuggestOracle$Response';_.tI=109;_.a=null;function lI(b,a){pI(a,b.yd());qI(a,b.Bd());}
+function mI(a){return a.a;}
+function nI(a){return a.b;}
+function oI(b,a){b.Fe(mI(a));b.cf(nI(a));}
+function pI(a,b){a.a=b;}
+function qI(a,b){a.b=b;}
+function tI(b,a){wI(a,Fb(b.Ad(),49));}
+function uI(a){return a.a;}
+function vI(b,a){b.bf(uI(a));}
+function wI(a,b){a.a=b;}
+function yI(a){a.a=fA(new dA());}
+function zI(c){var a,b;yI(c);mr(c,c.a);BN(c,1);AN(c,'gwt-TabBar');lA(c.a,(Dz(),Ez));a=lz(new nw(),'&nbsp;',true);b=lz(new nw(),'&nbsp;',true);AN(a,'gwt-TabBarFirst');AN(b,'gwt-TabBarRest');a.ne('100%');b.ne('100%');gA(c.a,a);gA(c.a,b);a.ne('100%');c.a.he(a,'100%');c.a.ie(b,'100%');return c;}
+function AI(b,a){if(b.c===null){b.c=fJ(new eJ());}bY(b.c,a);}
+function BI(b,a){if(a<0||a>EI(b)){throw new xS();}}
+function CI(b,a){if(a<(-1)||a>=EI(b)){throw new xS();}}
+function EI(a){return a.a.f.c-2;}
+function FI(e,d,a,b){var c;BI(e,b);if(a){c=kz(new nw(),d);}else{c=cC(new aC(),d);}iC(c,false);dC(c,e);AN(c,'gwt-TabBarItem');jA(e.a,c,b+1);}
+function aJ(b,a){var c;CI(b,a);c=dr(b.a,a+1);if(c===b.b){b.b=null;}kA(b.a,c);}
+function bJ(b,a){CI(b,a);if(b.c!==null){if(!hJ(b.c,b,a)){return false;}}cJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=dr(b.a,a+1);cJ(b,b.b,true);if(b.c!==null){iJ(b.c,b,a);}return true;}
+function cJ(c,a,b){if(a!==null){if(b){pN(a,'gwt-TabBarItem-selected');}else{vN(a,'gwt-TabBarItem-selected');}}}
+function dJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(dr(this.a,a)===b){bJ(this,a-1);return;}}}
+function xI(){}
+_=xI.prototype=new kr();_.wc=dJ;_.tN=sfc+'TabBar';_.tI=110;_.b=null;_.c=null;function fJ(a){FX(a);return a;}
+function hJ(e,c,d){var a,b;for(a=e.nc();a.hc();){b=Fb(a.pc(),50);if(!b.sc(c,d)){return false;}}return true;}
+function iJ(e,c,d){var a,b;for(a=e.nc();a.hc();){b=Fb(a.pc(),50);b.nd(c,d);}}
+function eJ(){}
+_=eJ.prototype=new DX();_.tN=sfc+'TabListenerCollection';_.tI=111;function xJ(a){a.b=tJ(new sJ());a.a=mJ(new lJ(),a.b);}
+function yJ(b){var a;xJ(b);a=nO(new lO());oO(a,b.b);oO(a,b.a);a.he(b.a,'100%');b.b.xe('100%');AI(b.b,b);mr(b,a);AN(b,'gwt-TabPanel');AN(b.a,'gwt-TabPanelBottom');return b;}
+function zJ(c,d,b,a){DJ(c,d,b,a,c.a.f.c);}
+function CJ(b,a){return dr(b.a,a);}
+function BJ(a,b){return cr(a.a,b);}
+function DJ(d,e,c,a,b){oJ(d.a,e,c,a,b);}
+function EJ(b,a){return b.a.ae(a);}
+function FJ(b,a){bJ(b.b,a);}
+function aK(){return fr(this.a);}
+function bK(a,b){return true;}
+function cK(a,b){yr(this.a,b);}
+function dK(a){return pJ(this.a,a);}
+function kJ(){}
+_=kJ.prototype=new kr();_.nc=aK;_.sc=bK;_.nd=cK;_.be=dK;_.tN=sfc+'TabPanel';_.tI=112;function mJ(b,a){sr(b);b.a=a;return b;}
+function oJ(e,f,d,a,b){var c;c=cr(e,f);if(c!=(-1)){pJ(e,f);if(c<b){b--;}}vJ(e.a,d,a,b);vr(e,f,b);}
+function pJ(b,c){var a;a=cr(b,c);if(a!=(-1)){wJ(b.a,a);return wr(b,c);}return false;}
+function qJ(){throw vV(new uV(),'Use TabPanel.clear() to alter the DeckPanel');}
+function rJ(a){return pJ(this,a);}
+function lJ(){}
+_=lJ.prototype=new rr();_.F=qJ;_.be=rJ;_.tN=sfc+'TabPanel$TabbedDeckPanel';_.tI=113;_.a=null;function tJ(a){zI(a);return a;}
+function vJ(d,c,a,b){FI(d,c,a,b);}
+function wJ(b,a){aJ(b,a);}
+function sJ(){}
+_=sJ.prototype=new xI();_.tN=sfc+'TabPanel$UnmodifiableTabBar';_.tI=114;function fK(a){FX(a);return a;}
+function hK(f,e,d,a){var b,c;for(b=f.nc();b.hc();){c=Fb(b.pc(),51);c.uc(e,d,a);}}
+function eK(){}
+_=eK.prototype=new DX();_.tN=sfc+'TableListenerCollection';_.tI=115;function lK(){lK=v2;wK();}
+function kK(a){lK();sK(a,he());AN(a,'gwt-TextArea');return a;}
+function mK(a){return pR(DK,a.rb());}
+function nK(a){return af(a.rb(),'rows');}
+function oK(a,b){wf(a.rb(),'cols',b);}
+function pK(b,a){wf(b.rb(),'rows',a);}
+function jK(){}
+_=jK.prototype=new rK();_.tN=sfc+'TextArea';_.tI=116;function aL(){aL=v2;wK();}
+function FK(a){aL();sK(a,Fd());AN(a,'gwt-TextBox');return a;}
+function bL(b,a){wf(b.rb(),'size',a);}
+function qK(){}
+_=qK.prototype=new rK();_.tN=sfc+'TextBox';_.tI=117;function oM(a){a.a=C0(new a0());}
+function pM(a){qM(a,mL(new lL()));return a;}
+function qM(b,a){oM(b);b.d=a;b.je(xd());Df(b.rb(),'position','relative');b.c=sQ((iu(),ju));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.rb(),b.c);BN(b,1021);Ef(b.c,6144);b.g=eL(new dL(),b);bM(b.g,b);AN(b,'gwt-Tree');return b;}
+function sM(c,a){var b;b=vL(new sL(),a);rM(c,b);return b;}
+function rM(b,a){fL(b.g,a);}
+function tM(b,a){if(b.f===null){b.f=jM(new iM());}bY(b.f,a);}
+function uM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){BL(yL(c.g,a));}}
+function wM(d,a,c,b){if(b===null||ud(b,c)){return;}wM(d,a,c,ff(b));bY(a,hc(b,hg));}
+function xM(e,d,b){var a,c;a=FX(new DX());wM(e,a,e.rb(),b);c=zM(e,a,0,d);if(c!==null){if(kf(AL(c),b)){aM(c,!c.f,true);return true;}else if(kf(c.rb(),b)){aN(e,c,true,!hN(e,b));return true;}}return false;}
+function yM(b,a){if(!a.f){return a;}return yM(b,yL(a,a.c.b-1));}
+function zM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(gY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=yL(h,d);if(ud(b.rb(),c)){g=zM(i,a,e+1,yL(h,d));if(g===null){return b;}return g;}}return zM(i,a,e+1,h);}
+function AM(b,a){if(b.f!==null){mM(b.f,a);}}
+function BM(b,a){return yL(b.g,a);}
+function CM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[612],[13],[a.a.c],null);qX(a.a).Be(b);return uP(a,b);}
+function DM(h,g){var a,b,c,d,e,f,i,j;c=zL(g);{f=g.d;a=rN(h);b=sN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);tQ((iu(),ju),h.c);}}
+function EM(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=xL(c,d);if(!a|| !d.f){if(b<c.c.b-1){aN(e,yL(c,b+1),true,true);}else{EM(e,c,false);}}else if(d.c.b>0){aN(e,yL(d,0),true,true);}}
+function FM(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=xL(b,c);if(a>0){d=yL(b,a-1);aN(e,yM(e,d),true,true);}else{aN(e,b,true,true);}}
+function aN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){EL(d.b,false);}d.b=b;if(c&&d.b!==null){DM(d,d.b);EL(d.b,true);if(a&&d.f!==null){lM(d.f,d.b);}}}
+function dN(b,c){var a;a=Fb(c1(b.a,c),52);if(a===null){return false;}dM(a,null);return true;}
+function bN(b,a){hL(b.g,a);}
+function cN(a){while(a.g.c.b>0){bN(a,BM(a,0));}}
+function eN(b,a){if(a){tQ((iu(),ju),b.c);}else{qQ((iu(),ju),b.c);}}
+function fN(b,a){gN(b,a,true);}
+function gN(c,b,a){if(b===null){if(c.b===null){return;}EL(c.b,false);c.b=null;return;}aN(c,b,a,true);}
+function hN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
+function iN(){var a,b;for(b=CM(this);nP(b);){a=oP(b);a.rc();}yf(this.c,this);}
+function jN(){var a,b;for(b=CM(this);nP(b);){a=oP(b);a.yc();}yf(this.c,null);}
+function kN(){return CM(this);}
+function lN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(hN(this,b)){}else{eN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.rb(),hg))){xM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){aN(this,yL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{FM(this,this.b);ye(c);break;}case 40:{EM(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){FL(this.b,false);}else{f=this.b.g;if(f!==null){fN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){FL(this.b,true);}else if(this.b.c.b>0){fN(this,yL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=FX(new DX());wM(this,a,this.rb(),ve(c));e=zM(this,a,0,this.g);if(e!==this.b){gN(this,e,true);}}}case 256:{break;}}this.e=d;}
+function mN(){eM(this.g);}
+function nN(a){return dN(this,a);}
+function cL(){}
+_=cL.prototype=new uO();_.ib=iN;_.kb=jN;_.nc=kN;_.tc=lN;_.cd=mN;_.be=nN;_.tN=sfc+'Tree';_.tI=118;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function tL(a){a.c=FX(new DX());a.i=jB(new uA());}
+function uL(d){var a,b,c,e;tL(d);d.je(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.rb(),d.e);td(d.rb(),d.b);td(c,d.i.rb());td(b,d.d);Df(d.d,'display','inline');Df(d.rb(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');fO(d.d,'gwt-TreeItem',true);return d;}
+function vL(b,a){uL(b);CL(b,a);return b;}
+function yL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(gY(b.c,a),52);}
+function xL(b,a){return hY(b.c,a);}
+function zL(a){var b;b=a.l;{return null;}}
+function AL(a){return a.i.rb();}
+function BL(a){if(a.g!==null){a.g.Dd(a);}else if(a.j!==null){bN(a.j,a);}}
+function CL(b,a){dM(b,null);Af(b.d,a);}
+function DL(b,a){b.g=a;}
+function EL(b,a){if(b.h==a){return;}b.h=a;fO(b.d,'gwt-TreeItem-selected',a);}
+function FL(b,a){aM(b,a,true);}
+function aM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;fM(c);if(a&&c.j!==null){AM(c.j,c);}}
+function bM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){fN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){bM(Fb(gY(d.c,a),52),c);}fM(d);}
+function cM(a,b){a.k=b;}
+function dM(b,a){Af(b.d,'');b.l=a;}
+function fM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){hO(b.b,false);mQ((nL(),qL),b.i);return;}if(b.f){hO(b.b,true);mQ((nL(),rL),b.i);}else{hO(b.b,false);mQ((nL(),pL),b.i);}}
+function eM(c){var a,b;fM(c);for(a=0,b=c.c.b;a<b;++a){eM(Fb(gY(c.c,a),52));}}
+function gM(a){if(a.g!==null||a.j!==null){BL(a);}DL(a,this);bY(this.c,a);Df(a.rb(),'marginLeft','16px');td(this.b,a.rb());bM(a,this.j);if(this.c.b==1){fM(this);}}
+function hM(a){if(!fY(this.c,a)){return;}bM(a,null);nf(this.b,a.rb());DL(a,null);lY(this.c,a);if(this.c.b==0){fM(this);}}
+function sL(){}
+_=sL.prototype=new oN();_.y=gM;_.Dd=hM;_.tN=sfc+'TreeItem';_.tI=119;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function eL(b,a){b.a=a;uL(b);return b;}
+function fL(b,a){if(a.g!==null||a.j!==null){BL(a);}td(b.a.rb(),a.rb());bM(a,b.j);DL(a,null);bY(b.c,a);Cf(a.rb(),'marginLeft',0);}
+function hL(b,a){if(!fY(b.c,a)){return;}bM(a,null);DL(a,null);lY(b.c,a);nf(b.a.rb(),a.rb());}
+function iL(a){fL(this,a);}
+function jL(a){hL(this,a);}
+function dL(){}
+_=dL.prototype=new sL();_.y=iL;_.Dd=jL;_.tN=sfc+'Tree$1';_.tI=120;function nL(){nL=v2;oL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';pL=lQ(new kQ(),oL,0,0,16,16);qL=lQ(new kQ(),oL,16,0,16,16);rL=lQ(new kQ(),oL,32,0,16,16);}
+function mL(a){nL();return a;}
+function lL(){}
+_=lL.prototype=new xT();_.tN=sfc+'TreeImages_generatedBundle';_.tI=121;var oL,pL,qL,rL;function jM(a){FX(a);return a;}
+function lM(d,b){var a,c;for(a=d.nc();a.hc();){c=Fb(a.pc(),53);c.od(b);}}
+function mM(d,b){var a,c;for(a=d.nc();a.hc();){c=Fb(a.pc(),53);c.pd(b);}}
+function iM(){}
+_=iM.prototype=new DX();_.tN=sfc+'TreeListenerCollection';_.tI=122;function mO(a){a.a=(uz(),wz);a.b=(Dz(),aA);}
+function nO(a){Ap(a);mO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function oO(b,d){var a,c;c=fe();a=qO(b);td(c,a);td(b.d,c);Dq(b,d,a);}
+function qO(b){var a;a=ee();Cp(b,a,b.a);Dp(b,a,b.b);return a;}
+function rO(b,a){b.a=a;}
+function sO(b,a){b.b=a;}
+function tO(c){var a,b;b=ff(c.rb());a=gr(this,c);if(a){nf(this.d,ff(b));}return a;}
+function lO(){}
+_=lO.prototype=new zp();_.be=tO;_.tN=sfc+'VerticalPanel';_.tI=123;function EO(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[612],[13],[4],null);return b;}
+function FO(a,b){dP(a,b,a.c);}
+function bP(b,a){if(a<0||a>=b.c){throw new xS();}return b.a[a];}
+function cP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
+function dP(d,e,a){var b,c;if(a<0||a>d.c){throw new xS();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[612],[13],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
+function eP(a){return xO(new wO(),a);}
+function fP(c,b){var a;if(b<0||b>=c.c){throw new xS();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
+function gP(b,c){var a;a=cP(b,c);if(a==(-1)){throw new d2();}fP(b,a);}
+function vO(){}
+_=vO.prototype=new xT();_.tN=sfc+'WidgetCollection';_.tI=124;_.a=null;_.b=null;_.c=0;function xO(b,a){b.b=a;return b;}
+function zO(a){return a.a<a.b.c-1;}
+function AO(a){if(a.a>=a.b.c){throw new d2();}return a.b.a[++a.a];}
+function BO(){return zO(this);}
+function CO(){return AO(this);}
+function DO(){if(this.a<0||this.a>=this.b.c){throw new uS();}this.b.b.be(this.b.a[this.a--]);}
+function wO(){}
+_=wO.prototype=new xT();_.hc=BO;_.pc=CO;_.Fd=DO;_.tN=sfc+'WidgetCollection$WidgetIterator';_.tI=125;_.a=(-1);function tP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[612],[13],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
+function uP(b,a){return kP(new iP(),a,b);}
+function jP(a){a.e=a.c;{mP(a);}}
+function kP(a,b,c){a.c=b;a.d=c;jP(a);return a;}
+function mP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
+function nP(a){return a.a<a.c.a;}
+function oP(a){var b;if(!nP(a)){throw new d2();}a.b=a.a;b=a.c[a.a];mP(a);return b;}
+function pP(){return nP(this);}
+function qP(){return oP(this);}
+function rP(){if(this.b<0){throw new uS();}if(!this.f){this.e=tP(this.e);this.f=true;}dN(this.d,this.c[this.b]);this.b=(-1);}
+function iP(){}
+_=iP.prototype=new xT();_.hc=pP;_.pc=qP;_.Fd=rP;_.tN=sfc+'WidgetIterators$1';_.tI=126;_.a=(-1);_.b=(-1);_.f=false;function gQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
+function iQ(c,f,b,e,g,a){var d;d=ce();Af(d,jQ(c,f,b,e,g,a));return df(d);}
+function jQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
+function fQ(){}
+_=fQ.prototype=new xT();_.tN=tfc+'ClippedImageImpl';_.tI=127;function lQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
+function mQ(b,a){oB(a,b.d,b.b,b.c,b.e,b.a);}
+function kQ(){}
+_=kQ.prototype=new op();_.tN=tfc+'ClippedImagePrototype';_.tI=128;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function rQ(){rQ=v2;vQ=pQ(new oQ());wQ=vQ;}
+function pQ(a){rQ();return a;}
+function qQ(b,a){a.blur();}
+function sQ(b){var a=$doc.createElement('DIV');a.tabIndex=0;return a;}
+function tQ(b,a){a.focus();}
+function uQ(c,a,b){a.tabIndex=b;}
+function oQ(){}
+_=oQ.prototype=new xT();_.tN=tfc+'FocusImpl';_.tI=129;var vQ,wQ;function AQ(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
+function BQ(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.Dc();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Cc();};}
+function CQ(c,b,a){b.enctype=a;b.encoding=a;}
+function DQ(c,a,b){if(b)b.__formAction=a.action;a.submit();}
+function EQ(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
+function xQ(){}
+_=xQ.prototype=new xT();_.tN=tfc+'FormPanelImpl';_.tI=130;function FQ(){}
+_=FQ.prototype=new xT();_.tN=tfc+'PopupImpl';_.tI=131;function gR(){gR=v2;jR=kR();}
+function fR(a){gR();return a;}
+function hR(b){var a;a=xd();if(jR){Af(a,'<div><\/div>');eg(cR(new bR(),b,a));}return a;}
+function iR(b,a){return jR?df(a):a;}
+function kR(){gR();if(navigator.userAgent.indexOf('Macintosh')!= -1){return true;}return false;}
+function aR(){}
+_=aR.prototype=new FQ();_.tN=tfc+'PopupImplMozilla';_.tI=132;var jR;function cR(b,a,c){b.a=c;return b;}
+function eR(){Df(this.a,'overflow','auto');}
+function bR(){}
+_=bR.prototype=new xT();_.nb=eR;_.tN=tfc+'PopupImplMozilla$1';_.tI=133;function oR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
+function pR(b,a){return oR(b,a);}
+function qR(d,a,c,b){a.setSelectionRange(c,c+b);}
+function mR(){}
+_=mR.prototype=new xT();_.tN=tfc+'TextBoxImpl';_.tI=134;function uR(){}
+_=uR.prototype=new xT();_.tN=ufc+'OutputStream';_.tI=135;function sR(){}
+_=sR.prototype=new uR();_.tN=ufc+'FilterOutputStream';_.tI=136;function wR(){}
+_=wR.prototype=new sR();_.tN=ufc+'PrintStream';_.tI=137;function yR(){}
+_=yR.prototype=new CT();_.tN=vfc+'ArrayStoreException';_.tI=138;function CR(){CR=v2;DR=BR(new AR(),false);ER=BR(new AR(),true);}
+function BR(a,b){CR();a.a=b;return a;}
+function FR(a){return ac(a,55)&&Fb(a,55).a==this.a;}
+function aS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
+function bS(){return this.a?'true':'false';}
+function cS(a){CR();return a?ER:DR;}
+function AR(){}
+_=AR.prototype=new xT();_.eQ=FR;_.hC=aS;_.tS=bS;_.tN=vfc+'Boolean';_.tI=139;_.a=false;var DR,ER;function gS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+hT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
+function hS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
+function jS(b,a){DT(b,a);return b;}
+function iS(){}
+_=iS.prototype=new CT();_.tN=vfc+'ClassCastException';_.tI=140;function sS(b,a){DT(b,a);return b;}
+function rS(){}
+_=rS.prototype=new CT();_.tN=vfc+'IllegalArgumentException';_.tI=141;function vS(b,a){DT(b,a);return b;}
+function uS(){}
+_=uS.prototype=new CT();_.tN=vfc+'IllegalStateException';_.tI=142;function yS(b,a){DT(b,a);return b;}
+function xS(){}
+_=xS.prototype=new CT();_.tN=vfc+'IndexOutOfBoundsException';_.tI=143;function rT(){rT=v2;{wT();}}
+function sT(a){rT();return isNaN(a);}
+function tT(e,d,c,h){rT();var a,b,f,g;if(e===null){throw pT(new oT(),'Unable to parse null');}b=uU(e);f=b>0&&lU(e,0)==45?1:0;for(a=f;a<b;a++){if(gS(lU(e,a),d)==(-1)){throw pT(new oT(),'Could not parse '+e+' in radix '+d);}}g=uT(e,d);if(sT(g)){throw pT(new oT(),'Unable to parse '+e);}else if(g<c||g>h){throw pT(new oT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
+function uT(b,a){rT();return parseInt(b,a);}
+function wT(){rT();vT=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
+var vT=null;function BS(){BS=v2;rT();}
+function ES(a){BS();return FS(a,10);}
+function FS(b,a){BS();return cc(tT(b,a,(-2147483648),2147483647));}
+function aT(a){BS();return gV(a);}
+var CS=2147483647,DS=(-2147483648);function cT(){cT=v2;rT();}
+function dT(a){cT();return hV(a);}
+function gT(a){return a<0?-a:a;}
+function hT(a,b){return a<b?a:b;}
+function iT(){}
+_=iT.prototype=new CT();_.tN=vfc+'NegativeArraySizeException';_.tI=144;function lT(b,a){DT(b,a);return b;}
+function kT(){}
+_=kT.prototype=new CT();_.tN=vfc+'NullPointerException';_.tI=145;function pT(b,a){sS(b,a);return b;}
+function oT(){}
+_=oT.prototype=new rS();_.tN=vfc+'NumberFormatException';_.tI=146;function lU(b,a){return b.charCodeAt(a);}
+function nU(f,c){var a,b,d,e,g,h;h=uU(f);e=uU(c);b=hT(h,e);for(a=0;a<b;a++){g=lU(f,a);d=lU(c,a);if(g!=d){return g-d;}}return h-e;}
+function oU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
+function qU(b,a){if(!ac(a,1))return false;return FU(b,a);}
+function pU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
+function rU(b,a){return b.indexOf(String.fromCharCode(a));}
+function sU(b,a){return b.indexOf(a);}
+function tU(c,b,a){return c.indexOf(b,a);}
+function uU(a){return a.length;}
+function vU(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
+function wU(b,a){return xU(b,a,0);}
+function xU(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=EU(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
+function yU(b,a){return sU(b,a)==0;}
+function zU(b,a){return b.substr(a,b.length-a);}
+function AU(c,a,b){return c.substr(a,b-a);}
+function BU(d){var a,b,c;c=uU(d);a=yb('[C',[608],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=lU(d,b);return a;}
+function CU(a){return a.toLowerCase();}
+function DU(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
+function EU(a){return yb('[Ljava.lang.String;',[607],[1],[a],null);}
+function FU(a,b){return String(a)==b;}
+function aV(a){if(ac(a,1)){return nU(this,Fb(a,1));}else{throw jS(new iS(),'Cannot compare '+a+" with String '"+this+"'");}}
+function bV(a){return qU(this,a);}
+function dV(){var a=cV;if(!a){a=cV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
+function eV(){return this;}
+function fV(a){return String.fromCharCode(a);}
+function gV(a){return ''+a;}
+function hV(a){return ''+a;}
+function iV(a){return a!==null?a.tS():'null';}
+_=String.prototype;_.ab=aV;_.eQ=bV;_.hC=dV;_.tS=eV;_.tN=vfc+'String';_.tI=2;var cV=null;function cU(a){fU(a);return a;}
+function dU(a,b){return eU(a,fV(b));}
+function eU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
+function fU(a){gU(a,'');}
+function gU(b,a){b.js=[a];b.length=a.length;}
+function iU(a){a.qc();return a.js[0];}
+function jU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
+function kU(){return iU(this);}
+function bU(){}
+_=bU.prototype=new xT();_.qc=jU;_.tS=kU;_.tN=vfc+'StringBuffer';_.tI=147;function kV(){kV=v2;nV=new wR();}
+function lV(){kV();return new Date().getTime();}
+function mV(a){kV();return B(a);}
+var nV;function vV(b,a){DT(b,a);return b;}
+function uV(){}
+_=uV.prototype=new CT();_.tN=vfc+'UnsupportedOperationException';_.tI=148;function bW(b,a){b.c=a;return b;}
+function dW(a){return a.a<a.c.ye();}
+function eW(){return dW(this);}
+function fW(){if(!dW(this)){throw new d2();}return this.c.ec(this.b=this.a++);}
+function gW(){if(this.b<0){throw new uS();}this.c.ae(this.b);this.a=this.b;this.b=(-1);}
+function aW(){}
+_=aW.prototype=new xT();_.hc=eW;_.pc=fW;_.Fd=gW;_.tN=wfc+'AbstractList$IteratorImpl';_.tI=149;_.a=0;_.b=(-1);function pX(f,d,e){var a,b,c;for(b=x0(f.mb());p0(b);){a=q0(b);c=a.vb();if(d===null?c===null:d.eQ(c)){if(e){r0(b);}return a;}}return null;}
+function qX(b){var a;a=b.mb();return rW(new qW(),b,a);}
+function rX(b){var a;a=b1(b);return aX(new FW(),b,a);}
+function sX(a){return pX(this,a,false)!==null;}
+function tX(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=qX(this);e=f.oc();if(!AX(c,e)){return false;}for(a=tW(c);AW(a);){b=BW(a);h=this.fc(b);g=f.fc(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
+function uX(b){var a;a=pX(this,b,false);return a===null?null:a.bc();}
+function vX(){var a,b,c;b=0;for(c=x0(this.mb());p0(c);){a=q0(c);b+=a.hC();}return b;}
+function wX(){return qX(this);}
+function xX(){var a,b,c,d;d='{';a=false;for(c=x0(this.mb());p0(c);){b=q0(c);if(a){d+=', ';}else{a=true;}d+=iV(b.vb());d+='=';d+=iV(b.bc());}return d+'}';}
+function pW(){}
+_=pW.prototype=new xT();_.cb=sX;_.eQ=tX;_.fc=uX;_.hC=vX;_.oc=wX;_.tS=xX;_.tN=wfc+'AbstractMap';_.tI=150;function AX(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.ye()!=e.ye()){return false;}for(a=c.nc();a.hc();){d=a.pc();if(!e.db(d)){return false;}}return true;}
+function BX(a){return AX(this,a);}
+function CX(){var a,b,c;a=0;for(b=this.nc();b.hc();){c=b.pc();if(c!==null){a+=c.hC();}}return a;}
+function yX(){}
+_=yX.prototype=new xV();_.eQ=BX;_.hC=CX;_.tN=wfc+'AbstractSet';_.tI=151;function rW(b,a,c){b.a=a;b.b=c;return b;}
+function tW(b){var a;a=x0(b.b);return yW(new xW(),b,a);}
+function uW(a){return this.a.cb(a);}
+function vW(){return tW(this);}
+function wW(){return this.b.a.c;}
+function qW(){}
+_=qW.prototype=new yX();_.db=uW;_.nc=vW;_.ye=wW;_.tN=wfc+'AbstractMap$1';_.tI=152;function yW(b,a,c){b.a=c;return b;}
+function AW(a){return p0(a.a);}
+function BW(b){var a;a=q0(b.a);return a.vb();}
+function CW(){return AW(this);}
+function DW(){return BW(this);}
+function EW(){r0(this.a);}
+function xW(){}
+_=xW.prototype=new xT();_.hc=CW;_.pc=DW;_.Fd=EW;_.tN=wfc+'AbstractMap$2';_.tI=153;function aX(b,a,c){b.a=a;b.b=c;return b;}
+function cX(b){var a;a=x0(b.b);return hX(new gX(),b,a);}
+function dX(a){return a1(this.a,a);}
+function eX(){return cX(this);}
+function fX(){return this.b.a.c;}
+function FW(){}
+_=FW.prototype=new xV();_.db=dX;_.nc=eX;_.ye=fX;_.tN=wfc+'AbstractMap$3';_.tI=154;function hX(b,a,c){b.a=c;return b;}
+function jX(a){return p0(a.a);}
+function kX(a){var b;b=q0(a.a).bc();return b;}
+function lX(){return jX(this);}
+function mX(){return kX(this);}
+function nX(){r0(this.a);}
+function gX(){}
+_=gX.prototype=new xT();_.hc=lX;_.pc=mX;_.Fd=nX;_.tN=wfc+'AbstractMap$4';_.tI=155;function BY(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.bb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
+function CY(a){BY(a,a.a,(iZ(),jZ));}
+function FY(){FY=v2;w1(new v1());aZ=C0(new a0());FX(new DX());}
+function bZ(c,d){FY();var a,b;b=c.b;for(a=0;a<b;a++){mY(c,a,d[a]);}}
+function cZ(a){FY();var b;b=a.Ae();CY(b);bZ(a,b);}
+var aZ;function iZ(){iZ=v2;jZ=new fZ();}
+var jZ;function hZ(a,b){return Fb(a,34).ab(b);}
+function fZ(){}
+_=fZ.prototype=new xT();_.bb=hZ;_.tN=wfc+'Comparators$1';_.tI=156;function nZ(){nZ=v2;uZ=zb('[Ljava.lang.String;',607,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);vZ=zb('[Ljava.lang.String;',607,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
+function lZ(a){nZ();qZ(a);return a;}
+function mZ(b,a){nZ();rZ(b,a);return b;}
+function oZ(c,a){var b,d;d=pZ(c);b=pZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
+function pZ(a){return a.jsdate.getTime();}
+function qZ(a){a.jsdate=new Date();}
+function rZ(b,a){b.jsdate=new Date(a);}
+function sZ(a){return a.jsdate.toLocaleString();}
+function tZ(h){var a=h.jsdate;var g=BZ;var b=xZ(h.jsdate.getDay());var e=AZ(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
+function wZ(a){return oZ(this,Fb(a,59));}
+function xZ(a){nZ();return uZ[a];}
+function yZ(a){return ac(a,59)&&pZ(this)==pZ(Fb(a,59));}
+function zZ(){return cc(pZ(this)^pZ(this)>>>32);}
+function AZ(a){nZ();return vZ[a];}
+function BZ(a){nZ();if(a<10){return '0'+a;}else{return gV(a);}}
+function CZ(){return tZ(this);}
+function kZ(){}
+_=kZ.prototype=new xT();_.ab=wZ;_.eQ=yZ;_.hC=zZ;_.tS=CZ;_.tN=wfc+'Date';_.tI=157;var uZ,vZ;function E0(){E0=v2;f1=l1();}
+function B0(a){{D0(a);}}
+function C0(a){E0();B0(a);return a;}
+function D0(a){a.a=gb();a.d=ib();a.b=hc(f1,cb);a.c=0;}
+function F0(b,a){if(ac(a,1)){return p1(b.d,Fb(a,1))!==f1;}else if(a===null){return b.b!==f1;}else{return o1(b.a,a,a.hC())!==f1;}}
+function a1(a,b){if(a.b!==f1&&n1(a.b,b)){return true;}else if(k1(a.d,b)){return true;}else if(i1(a.a,b)){return true;}return false;}
+function b1(a){return v0(new l0(),a);}
+function c1(c,a){var b;if(ac(a,1)){b=p1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=o1(c.a,a,a.hC());}return b===f1?null:b;}
+function d1(c,a,d){var b;if(ac(a,1)){b=s1(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=r1(c.a,a,d,a.hC());}if(b===f1){++c.c;return null;}else{return b;}}
+function e1(c,a){var b;if(ac(a,1)){b=u1(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(f1,cb);}else{b=t1(c.a,a,a.hC());}if(b===f1){return null;}else{--c.c;return b;}}
+function g1(e,c){E0();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
+function h1(d,a){E0();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=e0(c.substring(1),e);a.C(b);}}}
+function i1(f,h){E0();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.bc();if(n1(h,d)){return true;}}}}return false;}
+function j1(a){return F0(this,a);}
+function k1(c,d){E0();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(n1(d,a)){return true;}}}return false;}
+function l1(){E0();}
+function m1(){return b1(this);}
+function n1(a,b){E0();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
+function q1(a){return c1(this,a);}
+function o1(f,h,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){return c.bc();}}}}
+function p1(b,a){E0();return b[':'+a];}
+function r1(f,h,j,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){var i=c.bc();c.se(j);return i;}}}else{a=f[e]=[];}var c=e0(h,j);a.push(c);}
+function s1(c,a,d){E0();a=':'+a;var b=c[a];c[a]=d;return b;}
+function t1(f,h,e){E0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.vb();if(n1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.bc();}}}}
+function u1(c,a){E0();a=':'+a;var b=c[a];delete c[a];return b;}
+function a0(){}
+_=a0.prototype=new pW();_.cb=j1;_.mb=m1;_.fc=q1;_.tN=wfc+'HashMap';_.tI=158;_.a=null;_.b=null;_.c=0;_.d=null;var f1;function c0(b,a,c){b.a=a;b.b=c;return b;}
+function e0(a,b){return c0(new b0(),a,b);}
+function f0(b){var a;if(ac(b,60)){a=Fb(b,60);if(n1(this.a,a.vb())&&n1(this.b,a.bc())){return true;}}return false;}
+function g0(){return this.a;}
+function h0(){return this.b;}
+function i0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
+function j0(a){var b;b=this.b;this.b=a;return b;}
+function k0(){return this.a+'='+this.b;}
+function b0(){}
+_=b0.prototype=new xT();_.eQ=f0;_.vb=g0;_.bc=h0;_.hC=i0;_.se=j0;_.tS=k0;_.tN=wfc+'HashMap$EntryImpl';_.tI=159;_.a=null;_.b=null;function v0(b,a){b.a=a;return b;}
+function x0(a){return n0(new m0(),a.a);}
+function y0(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.vb();if(F0(this.a,b)){d=c1(this.a,b);return n1(a.bc(),d);}}return false;}
+function z0(){return x0(this);}
+function A0(){return this.a.c;}
+function l0(){}
+_=l0.prototype=new yX();_.db=y0;_.nc=z0;_.ye=A0;_.tN=wfc+'HashMap$EntrySet';_.tI=160;function n0(c,b){var a;c.c=b;a=FX(new DX());if(c.c.b!==(E0(),f1)){bY(a,c0(new b0(),null,c.c.b));}h1(c.c.d,a);g1(c.c.a,a);c.a=a.nc();return c;}
+function p0(a){return a.a.hc();}
+function q0(a){return a.b=Fb(a.a.pc(),60);}
+function r0(a){if(a.b===null){throw vS(new uS(),'Must call next() before remove().');}else{a.a.Fd();e1(a.c,a.b.vb());a.b=null;}}
+function s0(){return p0(this);}
+function t0(){return q0(this);}
+function u0(){r0(this);}
+function m0(){}
+_=m0.prototype=new xT();_.hc=s0;_.pc=t0;_.Fd=u0;_.tN=wfc+'HashMap$EntrySetIterator';_.tI=161;_.a=null;_.b=null;function w1(a){a.a=C0(new a0());return a;}
+function x1(c,a){var b;b=d1(c.a,a,cS(true));return b===null;}
+function z1(a){return tW(qX(a.a));}
+function A1(a){return x1(this,a);}
+function B1(a){return F0(this.a,a);}
+function C1(){return z1(this);}
+function D1(){return this.a.c;}
+function E1(){return qX(this.a).tS();}
+function v1(){}
+_=v1.prototype=new yX();_.C=A1;_.db=B1;_.nc=C1;_.ye=D1;_.tS=E1;_.tN=wfc+'HashSet';_.tI=162;_.a=null;function e2(b,a){DT(b,a);return b;}
+function d2(){}
+_=d2.prototype=new CT();_.tN=wfc+'NoSuchElementException';_.tI=163;function j2(a){a.a=FX(new DX());return a;}
+function k2(b,a){return bY(b.a,a);}
+function m2(a){return a.a.nc();}
+function n2(a,b){aY(this.a,a,b);}
+function o2(a){return k2(this,a);}
+function p2(a){return fY(this.a,a);}
+function q2(a){return gY(this.a,a);}
+function r2(){return m2(this);}
+function s2(a){return kY(this.a,a);}
+function t2(){return this.a.b;}
+function u2(){return this.a.Ae();}
+function i2(){}
+_=i2.prototype=new FV();_.B=n2;_.C=o2;_.db=p2;_.ec=q2;_.nc=r2;_.ae=s2;_.ye=t2;_.Ae=u2;_.tN=wfc+'Vector';_.tI=164;_.a=null;function v4(){v4=v2;x4=C0(new a0());}
+function u4(a){v4();return a;}
+function w4(){}
+function f4(){}
+_=f4.prototype=new kr();_.jd=w4;_.tN=xfc+'JBRMSFeature';_.tI=165;var x4;function C2(){C2=v2;v4();}
+function B2(a){C2();u4(a);a.a=yJ(new kJ());a.a.xe('100%');a.a.ne('100%');zJ(a.a,A8(new e8()),"<img src='images/category_small.gif'/>Manage categories",true);zJ(a.a,l9(new D8()),"<img src='images/status_small.gif'/>Manage states",true);zJ(a.a,m7(new i6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);zJ(a.a,F7(new q7()),"<img src='images/backup_small.gif'/>Import Export",true);FJ(a.a,0);mr(a,a.a);return a;}
+function D2(){C2();return y2(new x2(),'Admin','Administer the repository');}
+function E2(){}
+function w2(){}
+_=w2.prototype=new f4();_.jd=E2;_.tN=xfc+'AdminFeature';_.tI=166;_.a=null;function h4(c,b,a){c.c=b;c.a=a;return c;}
+function j4(a){if(a.b!==null)return a.b;return a.b=a.fb();}
+function g4(){}
+_=g4.prototype=new xT();_.tN=xfc+'JBRMSFeature$ComponentInfo';_.tI=167;_.a=null;_.b=null;_.c=null;function y2(c,a,b){h4(c,a,b);return c;}
+function A2(){return B2(new w2());}
+function x2(){}
+_=x2.prototype=new g4();_.fb=A2;_.tN=xfc+'AdminFeature$1';_.tI=168;function f3(){f3=v2;v4();}
+function e3(a){f3();u4(a);mr(a,FJb(new hIb()));return a;}
+function g3(){f3();return b3(new a3(),'Deployment','Configure and view frozen snapshots of packages.');}
+function h3(){}
+function F2(){}
+_=F2.prototype=new f4();_.jd=h3;_.tN=xfc+'DeploymentManagementFeature';_.tI=169;function b3(c,a,b){h4(c,a,b);return c;}
+function d3(){return e3(new F2());}
+function a3(){}
+_=a3.prototype=new g4();_.fb=d3;_.tN=xfc+'DeploymentManagementFeature$1';_.tI=170;function o3(){o3=v2;v4();}
+function n3(a){o3();u4(a);mr(a,p3(a));return a;}
+function p3(a){a.a=Bv(new zv(),'welcome.html');AN(a.a,'welcome-Page');a.a.ue(true);return a.a;}
+function q3(){o3();return k3(new j3(),'Info','JBoss Rules Managment System.');}
+function r3(){}
+function i3(){}
+_=i3.prototype=new f4();_.jd=r3;_.tN=xfc+'Info';_.tI=171;_.a=null;function k3(c,a,b){h4(c,a,b);return c;}
+function m3(){return n3(new i3());}
+function j3(){}
+_=j3.prototype=new g4();_.fb=m3;_.tN=xfc+'Info$1';_.tI=172;function C3(a){a.c=jz(new nw());a.d=p4(new n4());a.g=vs(new ms());}
+function D3(a){C3(a);return a;}
+function E3(a){nXb(DLb(),u3(new t3(),a));}
+function a4(b,c){var a;a=s4(b.d,c);if(a===null){c4(b);return;}d4(b,a,false);}
+function b4(b){var a,c;m4(b.d);b.h=vs(new ms());AN(b.h,'ks-Sink');c=nO(new lO());c.xe('100%');oO(c,b.c);oO(c,b.h);AN(b.c,'ks-Info');ws(b.g,b.d,(xs(),bt));ws(b.g,c,(xs(),Ds));Bs(b.g,b.d,(Dz(),aA));Cs(b.g,c,'100%');Bg(b);b.e=b5(new y4());b.f=s5(new e5());jp(oG(),b.e);jp(oG(),b.g);jp(oG(),b.f);b.f.xe('100%');b.e.ue(false);b.g.ue(false);b.f.ue(false);E3(b);a=Dg();if(uU(a)>0)a4(b,a);else c4(b);}
+function d4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){zs(c.h,c.b);}c.b=j4(b);t4(c.d,b.c);nz(c.c,b.a);if(a)ah(b.c);ws(c.h,c.b,(xs(),Ds));Cs(c.h,c.b,'100%');Bs(c.h,c.b,(Dz(),aA));c.b.jd();}
+function c4(a){d4(a,s4(a.d,'Info'),false);}
+function e4(a){a4(this,a);}
+function s3(){}
+_=s3.prototype=new xT();_.Ec=e4;_.tN=xfc+'JBRMSEntryPoint';_.tI=173;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function jcb(b,a){if(ac(a,69)){lcb();}else if(ac(a,70)){kbb(Fb(a,70));}else{jbb(a.wb());}}
+function kcb(a){jcb(this,a);}
+function lcb(){var a;a=dcb(new Ebb(),'images/warning-large.png','Session expired');fcb(a,kz(new nw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));rE(a,40,40);uE(a);edb();}
+function hcb(){}
+_=hcb.prototype=new xT();_.Ac=kcb;_.tN=Afc+'GenericCallback';_.tI=174;function u3(b,a){b.a=a;return b;}
+function w3(a){var b;b=Fb(a,1);if(b!==null){d5(this.a.e,b);this.a.e.ue(true);this.a.g.ue(true);this.a.f.ue(false);}else{this.a.f.ue(true);w5(this.a.f,y3(new x3(),this));}}
+function t3(){}
+_=t3.prototype=new hcb();_.md=w3;_.tN=xfc+'JBRMSEntryPoint$1';_.tI=175;function y3(b,a){b.a=a;return b;}
+function A3(a){d5(a.a.a.e,v5(a.a.a.f));a.a.a.e.ue(true);a.a.a.f.ue(false);a.a.a.g.ue(true);}
+function B3(){A3(this);}
+function x3(){}
+_=x3.prototype=new xT();_.nb=B3;_.tN=xfc+'JBRMSEntryPoint$2';_.tI=176;function m4(a){q4(a,q3());q4(a,h6());q4(a,E5());q4(a,g3());q4(a,D2());}
+function o4(a){a.a=nO(new lO());a.c=FX(new DX());}
+function p4(a){o4(a);mr(a,a.a);AN(a,'ks-List');return a;}
+function q4(d,a){var b,c;c=a.c;b=pA(new nA(),c,c);AN(b,'ks-SinkItem');oO(d.a,b);bY(d.c,a);}
+function s4(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(gY(d.c,a),61);if(qU(b.c,c))return b;}return null;}
+function t4(d,c){var a,b;if(d.b!=(-1))vN(dr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(gY(d.c,a),61);if(qU(b.c,c)){d.b=a;pN(dr(d.a,d.b),'ks-SinkItem-selected');return;}}}
+function n4(){}
+_=n4.prototype=new kr();_.tN=xfc+'JBRMSFeatureList';_.tI=177;_.b=(-1);function b5(a){a.a=jz(new nw());mr(a,a.a);return a;}
+function d5(b,d){var a,c;a=cU(new bU());eU(a,"<div id='user_info'>");eU(a,'Welcome: &nbsp;'+d);eU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");eU(a,'<\/div>');nz(b.a,iU(a));c=A4(new z4(),b);mh(c,300000);}
+function y4(){}
+_=y4.prototype=new kr();_.tN=xfc+'LoggedInUserInfo';_.tI=178;_.a=null;function B4(){B4=v2;kh();}
+function A4(b,a){B4();ih(b);return b;}
+function C4(){nXb(DLb(),new D4());}
+function z4(){}
+_=z4.prototype=new dh();_.ce=C4;_.tN=xfc+'LoggedInUserInfo$1';_.tI=179;function F4(a){}
+function a5(a){if(a===null){lcb();}}
+function D4(){}
+_=D4.prototype=new xT();_.Ac=F4;_.md=a5;_.tN=xfc+'LoggedInUserInfo$2';_.tI=180;function s5(c){var a,b;c.a=ubb(new rbb(),'images/login.gif','Please enter your details');c.c=FK(new qK());c.c.oe(1);vbb(c.a,'User name:',c.c);b=dE(new cE());b.oe(2);vbb(c.a,'Password:',b);a=wp(new qp(),'Login');a.oe(3);vbb(c.a,'',a);a.x(g5(new f5(),c,b));mr(c,c.a);c.c.le(true);AN(c,'login-Form');return c;}
+function u5(c,a,d,b){aMb(xK(d),xK(b),o5(new n5(),c,a));}
+function v5(a){return xK(a.c);}
+function w5(b,a){b.b=a;}
+function e5(){}
+_=e5.prototype=new kr();_.tN=xfc+'LoginWidget';_.tI=181;_.a=null;_.b=null;_.c=null;function g5(b,a,c){b.a=a;b.b=c;return b;}
+function i5(a){idb('Logging in...');fg(k5(new j5(),this,this.b));}
+function f5(){}
+_=f5.prototype=new xT();_.wc=i5;_.tN=xfc+'LoginWidget$1';_.tI=182;function k5(b,a,c){b.a=a;b.b=c;return b;}
+function m5(){u5(this.a.a,this.a.a.b,this.a.a.c,this.b);}
+function j5(){}
+_=j5.prototype=new xT();_.nb=m5;_.tN=xfc+'LoginWidget$2';_.tI=183;function o5(b,a,c){b.a=c;return b;}
+function q5(c,a){var b;edb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{A3(c.a);}}
+function r5(a){q5(this,a);}
+function n5(){}
+_=n5.prototype=new hcb();_.md=r5;_.tN=xfc+'LoginWidget$3';_.tI=184;function D5(){D5=v2;v4();}
+function C5(b){var a;D5();u4(b);a=dIb(new CHb());gIb(a,x4);mr(b,a);return b;}
+function E5(){D5();return z5(new y5(),'Packages','Configure and view packages of business rule assets.');}
+function F5(){}
+function x5(){}
+_=x5.prototype=new f4();_.jd=F5;_.tN=xfc+'PackageManagementFeature';_.tI=185;function z5(c,a,b){h4(c,a,b);return c;}
+function B5(){return C5(new x5());}
+function y5(){}
+_=y5.prototype=new g4();_.fb=B5;_.tN=xfc+'PackageManagementFeature$1';_.tI=186;function g6(){g6=v2;v4();}
+function f6(b){var a;g6();u4(b);a=ybc(new uac());Cbc(a,x4);mr(b,a);return b;}
+function h6(){g6();return c6(new b6(),'Rules','Find and edit rules.');}
+function a6(){}
+_=a6.prototype=new f4();_.tN=xfc+'RulesFeature';_.tI=187;function c6(c,a,b){h4(c,a,b);return c;}
+function e6(){return f6(new a6());}
+function b6(){}
+_=b6.prototype=new g4();_.fb=e6;_.tN=xfc+'RulesFeature$1';_.tI=188;function m7(a){var b;b=ubb(new rbb(),'images/backup_large.png','Manage Archived Assets');a.a=fA(new dA());a.a.xe('100%');ybb(b,a.a);a.b=Bcc(new Fbc(),new j6(),'archivedrulelist');bdc(a.b,p7(a));gA(a.a,a.b);k7(p7(a));ybb(b,kz(new nw(),'<hr/>'));ybb(b,o7(a));mr(a,b);return a;}
+function o7(d){var a,b,c,e;b=fA(new dA());c=wp(new qp(),'Refresh');c.x(n6(new m6(),d));e=wp(new qp(),'Unarchive');e.x(r6(new q6(),d));a=wp(new qp(),'Delete');a.x(A6(new z6(),d));gA(b,c);gA(b,e);gA(b,a);return b;}
+function p7(b){var a;a=d7(new c7(),b);return i7(new h7(),b,a);}
+function i6(){}
+_=i6.prototype=new kr();_.tN=yfc+'ArchivedAssetManager';_.tI=189;_.a=null;_.b=null;function l6(a){var b,c;b=dcb(new Ebb(),'images/snapshot.png','Archived item');c=yJ(new kJ());fcb(b,c);u4b(C0(new a0()),c,a,true);rE(b,20,20);uE(b);}
+function j6(){}
+_=j6.prototype=new xT();_.td=l6;_.tN=yfc+'ArchivedAssetManager$1';_.tI=190;function n6(b,a){b.a=a;return b;}
+function p6(a){k7(p7(this.a));}
+function m6(){}
+_=m6.prototype=new xT();_.wc=p6;_.tN=yfc+'ArchivedAssetManager$2';_.tI=191;function r6(b,a){b.a=a;return b;}
+function t6(a){bTb(ELb(),Dcc(this.a.b),false,v6(new u6(),this));}
+function q6(){}
+_=q6.prototype=new xT();_.wc=t6;_.tN=yfc+'ArchivedAssetManager$3';_.tI=192;function v6(b,a){b.a=a;return b;}
+function x6(b,a){k7(p7(b.a.a));zh('Done!');}
+function y6(a){x6(this,a);}
+function u6(){}
+_=u6.prototype=new hcb();_.md=y6;_.tN=yfc+'ArchivedAssetManager$4';_.tI=193;function A6(b,a){b.a=a;return b;}
+function C6(a){bUb(ELb(),Dcc(this.a.b),E6(new D6(),this));}
+function z6(){}
+_=z6.prototype=new xT();_.wc=C6;_.tN=yfc+'ArchivedAssetManager$5';_.tI=194;function E6(b,a){b.a=a;return b;}
+function a7(b,a){k7(p7(b.a.a));zh('Done!');}
+function b7(a){a7(this,a);}
+function D6(){}
+_=D6.prototype=new hcb();_.md=b7;_.tN=yfc+'ArchivedAssetManager$6';_.tI=195;function d7(b,a){b.a=a;return b;}
+function f7(c,a){var b;b=Fb(a,62);adc(c.a.b,b);c.a.b.xe('100%');edb();}
+function g7(a){f7(this,a);}
+function c7(){}
+_=c7.prototype=new hcb();_.md=g7;_.tN=yfc+'ArchivedAssetManager$7';_.tI=196;function i7(b,a,c){b.a=c;return b;}
+function k7(a){idb('Loading list, please wait...');xTb(ELb(),a.a);}
+function l7(){k7(this);}
+function h7(){}
+_=h7.prototype=new xT();_.nb=l7;_.tN=yfc+'ArchivedAssetManager$8';_.tI=197;function F7(a){var b;b=ubb(new rbb(),'images/backup_large.png','Import/Export');vbb(b,'',kz(new nw(),'<i>Import and Export rules repository<\/i>'));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Import from an xml file',d8(a));vbb(b,'Export to a zip file',c8(a));ybb(b,kz(new nw(),'<hr/>'));mr(a,b);return a;}
+function b8(a){idb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');edb();}
+function c8(c){var a,b;b=fA(new dA());a=wp(new qp(),'Export');a.x(s7(new r7(),c));gA(b,a);return b;}
+function d8(c){var a,b,d,e;e=cv(new Du());iv(e,v()+'backup');jv(e,'multipart/form-data');kv(e,'post');b=fA(new dA());e.we(b);d=gt(new ft());jt(d,'importFile');gA(b,d);gA(b,cC(new aC(),'import:'));a=ocb(new ncb(),'images/upload.gif');lB(a,w7(new v7(),c,e));gA(b,a);dv(e,B7(new A7(),c,d));return e;}
+function q7(){}
+_=q7.prototype=new kr();_.tN=yfc+'BackupManager';_.tI=198;function s7(b,a){b.a=a;return b;}
+function u7(a){b8(this.a);}
+function r7(){}
+_=r7.prototype=new xT();_.wc=u7;_.tN=yfc+'BackupManager$1';_.tI=199;function w7(b,a,c){b.a=c;return b;}
+function y7(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){idb('Importing repository, please wait, as this could take some time...');mv(b);}}
+function z7(a){y7(this,this.a);}
+function v7(){}
+_=v7.prototype=new xT();_.wc=z7;_.tN=yfc+'BackupManager$2';_.tI=200;function B7(b,a,c){b.a=c;return b;}
+function E7(a){if(uU(it(this.a))==0){zh('You did not specify an exported repository filename !');yv(a,true);}else if(!oU(it(this.a),'.xml')){zh('Please specify a valid repository xml file.');yv(a,true);}}
+function D7(a){if(sU(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{jbb('Unable to import into the repository. Consult the server logs for error messages.');}edb();}
+function A7(){}
+_=A7.prototype=new xT();_.ld=E7;_.kd=D7;_.tN=yfc+'BackupManager$3';_.tI=201;function z8(a){nO(new lO());}
+function A8(f){var a,b,c,d,e;z8(f);c=ubb(new rbb(),'images/edit_category.gif','Edit categories');vbb(c,'',kz(new nw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=v$(new e$(),new f8());AN(f.a,'category-explorer-Admin');b=aH(new yG());AN(b,'metadata-Widget');cH(b,f.a);ybb(c,kz(new nw(),'<hr/>'));vbb(c,'Current categories:',b);e=ocb(new ncb(),'images/refresh.gif');e.pe('Refresh categories');lB(e,j8(new i8(),f));vbb(c,'Refresh view:',e);ybb(c,kz(new nw(),'<hr/>'));d=ocb(new ncb(),'images/new.gif');d.pe('Create a new category');lB(d,n8(new m8(),f));vbb(c,'Create a new category:',d);a=ocb(new ncb(),'images/delete_obj.gif');lB(a,r8(new q8(),f));a.pe("Deletes the currently selected category. You won't be able to delete if the category is in use.");vbb(c,'Delete the currently selected category:',a);mr(f,c);return f;}
+function C8(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){cUb(ELb(),a.a.e,v8(new u8(),a));}}
+function e8(){}
+_=e8.prototype=new kr();_.tN=yfc+'CategoryManager';_.tI=202;_.a=null;function h8(a){}
+function f8(){}
+_=f8.prototype=new xT();_.ee=h8;_.tN=yfc+'CategoryManager$1';_.tI=203;function j8(b,a){b.a=a;return b;}
+function l8(a){B$(this.a.a);}
+function i8(){}
+_=i8.prototype=new xT();_.wc=l8;_.tN=yfc+'CategoryManager$2';_.tI=204;function n8(b,a){b.a=a;return b;}
+function p8(b){var a;a=F9(new q9(),this.a.a.e);rE(a,rN(b),sN(b)-400);uE(a);}
+function m8(){}
+_=m8.prototype=new xT();_.wc=p8;_.tN=yfc+'CategoryManager$3';_.tI=205;function r8(b,a){b.a=a;return b;}
+function t8(a){C8(this.a);}
+function q8(){}
+_=q8.prototype=new xT();_.wc=t8;_.tN=yfc+'CategoryManager$4';_.tI=206;function v8(b,a){b.a=a;return b;}
+function x8(b,a){B$(b.a.a);}
+function y8(a){x8(this,a);}
+function u8(){}
+_=u8.prototype=new hcb();_.md=y8;_.tN=yfc+'CategoryManager$5';_.tI=207;function l9(b){var a;a=ubb(new rbb(),'images/status_large.png','Manage statuses');vbb(a,'',kz(new nw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=sC(new kC());cD(b.a,7);b.a.xe('50%');p9(b);vbb(a,'Current statuses:',b.a);vbb(a,'Add new status:',o9(b));mr(b,a);return b;}
+function n9(b,a){idb('Creating status');rTb(ELb(),xK(a),h9(new g9(),b,a));}
+function o9(d){var a,b,c;c=fA(new dA());a=FK(new qK());b=wp(new qp(),'Create');b.x(d9(new c9(),d,a));gA(c,a);gA(c,b);return c;}
+function p9(a){idb('Loading statuses...');wTb(ELb(),F8(new E8(),a));}
+function D8(){}
+_=D8.prototype=new kr();_.tN=yfc+'StateManager';_.tI=208;_.a=null;function F8(b,a){b.a=a;return b;}
+function b9(a){var b,c;yC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){vC(this.a.a,c[b]);}edb();}
+function E8(){}
+_=E8.prototype=new hcb();_.md=b9;_.tN=yfc+'StateManager$1';_.tI=209;function d9(b,a,c){b.a=a;b.b=c;return b;}
+function f9(a){n9(this.a,this.b);}
+function c9(){}
+_=c9.prototype=new xT();_.wc=f9;_.tN=yfc+'StateManager$2';_.tI=210;function h9(b,a,c){b.a=a;b.b=c;return b;}
+function j9(b,a){BK(b.b,'');p9(b.a);edb();}
+function k9(a){j9(this,a);}
+function g9(){}
+_=g9.prototype=new hcb();_.md=k9;_.tN=yfc+'StateManager$3';_.tI=211;function b$(){b$=v2;kE();}
+function E9(a){a.d=rt(new lt());a.b=FK(new qK());a.a=kK(new jK());}
+function F9(d,b){var a,c;b$();hE(d,true);E9(d);d.c=b;d.d.ve(0,0,ocb(new ncb(),'images/edit_category.gif'));d.d.ve(0,1,cC(new aC(),c$(d,d.c)));d.d.ve(1,0,cC(new aC(),'Cateogory name'));d.d.ve(1,1,d.b);pK(d.a,4);d.d.ve(2,0,cC(new aC(),'Description'));d.d.ve(2,1,d.a);c=wp(new qp(),'OK');c.x(s9(new r9(),d));d.d.ve(3,0,c);a=wp(new qp(),'Cancel');a.x(w9(new v9(),d));d.d.ve(3,1,a);cH(d,d.d);AN(d,'ks-popups-Popup');return d;}
+function a$(a){a.ic();}
+function c$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
+function d$(b){var a;a=A9(new z9(),b);if(qU('',xK(b.b))){jbb("Can't have an empty category name.");}else{nTb(ELb(),b.c,xK(b.b),xK(b.a),a);}}
+function q9(){}
+_=q9.prototype=new fE();_.tN=zfc+'CategoryEditor';_.tI=212;_.c=null;function s9(b,a){b.a=a;return b;}
+function u9(a){d$(this.a);}
+function r9(){}
+_=r9.prototype=new xT();_.wc=u9;_.tN=zfc+'CategoryEditor$1';_.tI=213;function w9(b,a){b.a=a;return b;}
+function y9(a){a$(this.a);}
+function v9(){}
+_=v9.prototype=new xT();_.wc=y9;_.tN=zfc+'CategoryEditor$2';_.tI=214;function A9(b,a){b.a=a;return b;}
+function C9(b,a){if(Fb(a,55).a){b.a.ic();}else{jbb('Category was not successfully created. ');}}
+function D9(a){C9(this,a);}
+function z9(){}
+_=z9.prototype=new hcb();_.md=D9;_.tN=zfc+'CategoryEditor$3';_.tI=215;function u$(a){a.c=pM(new cL());a.d=nO(new lO());a.f=ELb();}
+function v$(b,a){u$(b);oO(b.d,b.c);b.a=a;A$(b);mr(b,b.d);tM(b.c,b);AN(b,'category-explorer-Tree');return b;}
+function x$(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
+function y$(b,a){if(a.c.b==1&&ac(yL(a,0),64)){return false;}return true;}
+function z$(a){if(a.b!==null){a.b.ue(false);}}
+function A$(a){sM(a.c,'Please wait...');zTb(a.f,'/',k$(new j$(),a));}
+function B$(a){cN(a.c);a.e=null;A$(a);}
+function C$(c){var a,b;if(c.b===null){b=ip(new hp());jp(b,kz(new nw(),'No categories created yet. Add some categories from the administration screen.'));a=wp(new qp(),'Refresh');a.x(g$(new f$(),c));jp(b,a);AN(b,'small-Text');c.b=b;oO(c.d,c.b);}c.b.ue(true);}
+function D$(a){this.e=x$(this,a);this.a.ee(this.e);}
+function E$(a){var b;if(y$(this,a)){return;}b=a;this.e=x$(this,a);zTb(this.f,this.e,o$(new n$(),this,b));}
+function e$(){}
+_=e$.prototype=new kr();_.od=D$;_.pd=E$;_.tN=zfc+'CategoryExplorerWidget';_.tI=216;_.a=null;_.b=null;_.e=null;function g$(b,a){b.a=a;return b;}
+function i$(a){B$(this.a);}
+function f$(){}
+_=f$.prototype=new xT();_.wc=i$;_.tN=zfc+'CategoryExplorerWidget$1';_.tI=217;function k$(b,a){b.a=a;return b;}
+function m$(d){var a,b,c;this.a.e=null;cN(this.a.c);a=Fb(d,63);if(a.a==0){C$(this.a);}else{z$(this.a);}for(b=0;b<a.a;b++){c=uL(new sL());CL(c,'<img src="images/category_small.gif"/>'+a[b]);cM(c,a[b]);c.y(s$(new r$()));rM(this.a.c,c);}}
+function j$(){}
+_=j$.prototype=new hcb();_.md=m$;_.tN=zfc+'CategoryExplorerWidget$2';_.tI=218;function o$(b,a,c){b.a=c;return b;}
+function q$(e){var a,b,c,d;a=yL(this.a,0);if(ac(a,64)){this.a.Dd(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=uL(new sL());CL(c,'<img src="images/category_small.gif"/>'+d[b]);cM(c,d[b]);c.y(s$(new r$()));this.a.y(c);}}
+function n$(){}
+_=n$.prototype=new hcb();_.md=q$;_.tN=zfc+'CategoryExplorerWidget$3';_.tI=219;function s$(a){vL(a,'Please wait...');return a;}
+function r$(){}
+_=r$.prototype=new sL();_.tN=zfc+'CategoryExplorerWidget$PendingItem';_.tI=220;function b_(){b_=v2;c_=zb('[Ljava.lang.String;',607,1,['brl','dslr','xls']);e_=zb('[Ljava.lang.String;',607,1,['drl','rf','enumeration']);d_=zb('[Ljava.lang.String;',607,1,['function','dsl','jar','enumeration']);}
+function f_(a){b_();var b;for(b=0;b<d_.a;b++){if(qU(d_[b],a)){return true;}}return false;}
+var c_,d_,e_;function r_(){r_=v2;aL();}
+function p_(a){a.b=hE(new fE(),true);a.a=i_(new h_(),a);}
+function q_(b,a){r_();FK(b);p_(b);uK(b,b);BN(b.a,1);AN(b,'AutoCompleteTextBox');cH(b.b,b.a);pN(b.b,'AutoCompleteChoices');AN(b.a,'list');b.c=a;return b;}
+function s_(a){if(a.e&&AC(a.a)>0){BK(a,BC(a.a,CC(a.a)));}yC(a.a);a.b.ic();a.e=false;}
+function t_(e,a,b,c){var d;d=CC(e.a);d++;if(d>=AC(e.a)){d=0;}bD(e.a,d);}
+function u_(d,a,b,c){s_(d);}
+function v_(d,a,b,c){yC(d.a);d.b.ic();d.e=false;}
+function w_(b,a){if(0==uU(a)||0==AC(b.a)||1==AC(b.a)&&qU(BC(b.a,0),a)){yC(b.a);b.b.ic();b.e=false;}else{bD(b.a,0);cD(b.a,AC(b.a)+1);if(!b.d){jp(oG(),b.b);b.d=true;}uE(b.b);b.e=true;rE(b.b,rN(b),sN(b)+b.zb());b.a.xe(b.Ab()+'px');}}
+function x_(d,a,b,c){A_(d,xK(d));if(uU(xK(d))>0&&d.c!==null){idc(d.c,xK(d),m_(new l_(),d));}}
+function y_(d,a,b,c){s_(d);}
+function z_(e,a,b,c){var d;d=CC(e.a);d--;if(d<0){d=AC(e.a)-1;}bD(e.a,d);}
+function A_(c,b){var a;a=0;while(a<AC(c.a)){if(yU(CU(BC(c.a,a)),CU(b))){++a;}else{aD(c.a,a);}}w_(c,b);}
+function B_(d,b,c){var a;yC(d.a);for(a=0;a<b.a;a++){vC(d.a,b[a]);}A_(d,c);}
+function C_(a,b,c){if(b==13){u_(this,a,b,c);}else if(b==9){y_(this,a,b,c);}else if(b==40){t_(this,a,b,c);}else if(b==38){z_(this,a,b,c);}else if(b==27){v_(this,a,b,c);}}
+function D_(a,b,c){}
+function E_(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:x_(this,a,b,c);break;}}
+function g_(){}
+_=g_.prototype=new qK();_.Fc=C_;_.ad=D_;_.bd=E_;_.tN=Afc+'AutoCompleteTextBoxAsync';_.tI=221;_.c=null;_.d=false;_.e=false;function j_(){j_=v2;zC();}
+function i_(b,a){j_();b.a=a;sC(b);return b;}
+function k_(a){if(1==xe(a)){s_(this.a);}}
+function h_(){}
+_=h_.prototype=new kC();_.tc=k_;_.tN=Afc+'AutoCompleteTextBoxAsync$1';_.tI=222;function m_(b,a){b.a=a;return b;}
+function o_(b,a){B_(b.a,a,xK(b.a));}
+function l_(){}
+_=l_.prototype=new xT();_.tN=Afc+'AutoCompleteTextBoxAsync$2';_.tI=223;function dab(a){a.j=true;}
+function eab(a){a.j=false;}
+function fab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
+function gab(){return this.j;}
+function bab(){}
+_=bab.prototype=new kr();_.mc=gab;_.tN=Afc+'DirtyableComposite';_.tI=224;_.j=false;function jab(a){a.b=FX(new DX());}
+function kab(a){rt(a);jab(a);return a;}
+function mab(d){var a,b,c;for(c=d.b.nc();c.hc();){a=Fb(c.pc(),65);b=qy(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).mc())return true;if(ac(b,67))if(Fb(b,67).gc())return true;}return false;}
+function nab(d,c,b,a){Fy(d,c,b,a);if(ac(a,68)){aY(d.b,d.a++,kdb(new jdb(),c,b));}}
+function oab(){return mab(this);}
+function pab(c,b,a){nab(this,c,b,a);}
+function iab(){}
+_=iab.prototype=new lt();_.gc=oab;_.ve=pab;_.tN=Afc+'DirtyableFlexTable';_.tI=225;_.a=0;function rab(a){fA(a);return a;}
+function tab(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=dr(c,b);if(ac(a,66))if(Fb(a,66).mc())return true;if(ac(a,67))if(Fb(a,67).gc())return true;}return false;}
+function uab(){return tab(this);}
+function qab(){}
+_=qab.prototype=new dA();_.gc=uab;_.tN=Afc+'DirtyableHorizontalPane';_.tI=226;function wab(a){nO(a);return a;}
+function yab(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=dr(this,b);if(ac(a,66))if(Fb(a,66).mc())return true;if(ac(a,67))if(Fb(a,67).gc())return true;}return false;}
+function vab(){}
+_=vab.prototype=new lO();_.gc=yab;_.tN=Afc+'DirtyableVerticalPane';_.tI=227;function gbb(){gbb=v2;Fr();}
+function dbb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=ocb(new ncb(),'images/close.gif');}
+function ebb(d,b,a){var c,e;gbb();Dr(d,true);dbb(d);hC(d.a,b);gA(d.c,kB(new uA(),'images/error_dialog.png'));e=nO(new lO());oO(e,d.a);gA(d.c,e);if(a!==null){fbb(d,e,a);}gA(d.c,d.b);c=d;lB(d.b,Cab(new Bab(),d,c));cs(d,d.c);rE(d,40,40);AN(d,'rule-error-Popup');return d;}
+function fbb(e,c,b){var a,d,f;f=nO(new lO());oO(c,f);d=wp(new qp(),'Details');oO(f,d);a=cC(new aC(),b);a.ue(false);oO(f,a);d.x(abb(new Fab(),e,a,d));}
+function hbb(a){hC(a.a,'');nE(a);}
+function ibb(){hbb(this);}
+function jbb(a){gbb();var b;b=ebb(new Aab(),a,null);edb();uE(b);}
+function kbb(a){gbb();var b;b=ebb(new Aab(),a.b,a.a);edb();uE(b);}
+function Aab(){}
+_=Aab.prototype=new Ar();_.ic=ibb;_.tN=Afc+'ErrorPopup';_.tI=228;function Cab(b,a,c){b.a=c;return b;}
+function Eab(a){hbb(this.a);}
+function Bab(){}
+_=Bab.prototype=new xT();_.wc=Eab;_.tN=Afc+'ErrorPopup$1';_.tI=229;function abb(b,a,c,d){b.a=c;b.b=d;return b;}
+function cbb(a){this.a.ue(true);this.b.ue(false);}
+function Fab(){}
+_=Fab.prototype=new xT();_.wc=cbb;_.tN=Afc+'ErrorPopup$2';_.tI=230;function mbb(b,a){b.a=a;return b;}
+function obb(a,b,c){}
+function pbb(a,b,c){}
+function qbb(a,b,c){this.a.nb();}
+function lbb(){}
+_=lbb.prototype=new xT();_.Fc=obb;_.ad=pbb;_.bd=qbb;_.tN=Afc+'FieldEditListener';_.tI=231;_.a=null;function sbb(a){a.h=kab(new iab());a.g=ut(a.h);}
+function ubb(b,a,c){sbb(b);wbb(b,a,c);mr(b,b.h);return b;}
+function tbb(a){sbb(a);mr(a,a.h);return a;}
+function vbb(d,c,a){var b;b=kz(new nw(),'<b>'+c+'<\/b>');nab(d.h,d.i,0,b);bx(d.g,d.i,0,(uz(),xz),(Dz(),aA));nab(d.h,d.i,1,a);bx(d.g,d.i,1,(uz(),wz),(Dz(),aA));d.i++;}
+function wbb(c,a,d){var b;b=cC(new aC(),d);AN(b,'resource-name-Label');Bbb(c,a,b);}
+function xbb(d,b,e,f){var a,c;c=cC(new aC(),e);AN(c,'resource-name-Label');a=fA(new dA());gA(a,c);gA(a,f);Bbb(d,b,a);}
+function ybb(a,b){nab(a.h,a.i,0,b);pt(a.g,a.i,0,2);a.i++;}
+function zbb(a){a.i=0;hy(a.h);}
+function Bbb(b,a,c){nab(b.h,0,0,kB(new uA(),a));bx(b.g,0,0,(uz(),wz),(Dz(),aA));nab(b.h,0,1,c);b.i++;}
+function Cbb(c,b,a,d){nab(c.h,b,a,d);}
+function Dbb(){return mab(this.h);}
+function rbb(){}
+_=rbb.prototype=new bab();_.mc=Dbb;_.tN=Afc+'FormStyleLayout';_.tI=232;_.i=0;function gcb(){gcb=v2;kE();}
+function dcb(c,b,d){var a;gcb();hE(c,true);c.i=ubb(new rbb(),b,d);AN(c,'ks-popups-Popup');a=ocb(new ncb(),'images/close.gif');lB(a,acb(new Fbb(),c));Cbb(c.i,0,2,a);cH(c,c.i);return c;}
+function ecb(b,a,c){vbb(b.i,a,c);}
+function fcb(a,b){ybb(a.i,b);}
+function Ebb(){}
+_=Ebb.prototype=new fE();_.tN=Afc+'FormStylePopup';_.tI=233;_.i=null;function acb(b,a){b.a=a;return b;}
+function ccb(a){this.a.ic();}
+function Fbb(){}
+_=Fbb.prototype=new xT();_.wc=ccb;_.tN=Afc+'FormStylePopup$1';_.tI=234;function qcb(){qcb=v2;nB();}
+function ocb(b,a){qcb();kB(b,a);AN(b,'image-Button');return b;}
+function pcb(b,a,c){qcb();kB(b,a);AN(b,'image-Button');b.pe(c);return b;}
+function ncb(){}
+_=ncb.prototype=new uA();_.tN=Afc+'ImageButton';_.tI=235;function wcb(c,d,b){var a;a=kB(new uA(),'images/information.gif');a.pe(b);lB(a,tcb(new scb(),c,d,b));mr(c,a);return c;}
+function rcb(){}
+_=rcb.prototype=new kr();_.tN=Afc+'InfoPopup';_.tI=236;function tcb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vcb(b){var a;a=dcb(new Ebb(),'images/information.gif',this.b);fcb(a,zcb(new ycb(),this.a,'small-Text'));rE(a,rN(b),sN(b));uE(a);}
+function scb(){}
+_=scb.prototype=new xT();_.wc=vcb;_.tN=Afc+'InfoPopup$1';_.tI=237;function zcb(c,a,b){cC(c,a);AN(c,b);return c;}
+function ycb(){}
+_=ycb.prototype=new aC();_.tN=Afc+'Lbl';_.tI=238;function cdb(){cdb=v2;kE();}
+function adb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=kB(new uA(),'images/close.gif');}
+function bdb(a){cdb();hE(a,true);adb(a);gA(a.c,a.a);gA(a.c,a.b);gA(a.c,kB(new uA(),'images/searching.gif'));lB(a.b,Dcb(new Ccb(),a));cH(a,a.c);rE(a,0,0);AN(a,'loading-Popup');return a;}
+function ddb(a){hC(a.a,'');nE(a);}
+function edb(){cdb();ddb(fdb());}
+function fdb(){cdb();if(hdb===null){hdb=bdb(new Bcb());}return hdb;}
+function gdb(){ddb(this);}
+function idb(a){cdb();var b;b=fdb();hC(b.a,a);uE(b);}
+function Bcb(){}
+_=Bcb.prototype=new fE();_.ic=gdb;_.tN=Afc+'LoadingPopup';_.tI=239;var hdb=null;function Dcb(b,a){b.a=a;return b;}
+function Fcb(a){ddb(this.a);}
+function Ccb(){}
+_=Ccb.prototype=new xT();_.wc=Fcb;_.tN=Afc+'LoadingPopup$1';_.tI=240;function kdb(c,b,a){c.b=b;c.a=a;return c;}
+function jdb(){}
+_=jdb.prototype=new xT();_.tN=Afc+'Pair';_.tI=241;_.a=0;_.b=0;function rdb(a){a.b=sC(new kC());uTb(ELb(),odb(new ndb(),a));mr(a,a.b);return a;}
+function tdb(a){return BC(a.b,CC(a.b));}
+function udb(b,a){b.a=a;}
+function mdb(){}
+_=mdb.prototype=new kr();_.tN=Afc+'RulePackageSelector';_.tI=242;_.a=null;_.b=null;function odb(b,a){b.a=a;return b;}
+function qdb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){vC(this.a.b,b[a].j);if(this.a.a!==null&&qU(b[a].j,this.a.a)){bD(this.a.b,a);}}}
+function ndb(){}
+_=ndb.prototype=new hcb();_.md=qdb;_.tN=Afc+'RulePackageSelector$1';_.tI=243;function neb(){neb=v2;Fr();}
+function leb(f,g,d){var a,b,c,e;neb();Dr(f,true);f.d=g;f.b=d;AN(f,'ks-popups-Popup');as(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=fA(new dA());a=sC(new kC());idb('Please wait...');wTb(ELb(),xdb(new wdb(),f,a));uC(a,Bdb(new Adb(),f,a));gA(c,a);e=wp(new qp(),'Change status');e.x(Fdb(new Edb(),f,a));gA(c,e);b=wp(new qp(),'Cancel');b.x(deb(new ceb(),f));gA(c,b);cs(f,c);return f;}
+function meb(b,a){idb('Updating status...');hTb(ELb(),b.d,b.c,b.b,heb(new geb(),b));}
+function oeb(b,a){b.a=a;}
+function vdb(){}
+_=vdb.prototype=new Ar();_.tN=Afc+'StatusChangePopup';_.tI=244;_.a=null;_.b=false;_.c=null;_.d=null;function xdb(b,a,c){b.a=c;return b;}
+function zdb(a){var b,c;c=Fb(a,63);vC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){vC(this.a,c[b]);}edb();}
+function wdb(){}
+_=wdb.prototype=new hcb();_.md=zdb;_.tN=Afc+'StatusChangePopup$1';_.tI=245;function Bdb(b,a,c){b.a=a;b.b=c;return b;}
+function Ddb(a){this.a.c=BC(this.b,CC(this.b));}
+function Adb(){}
+_=Adb.prototype=new xT();_.vc=Ddb;_.tN=Afc+'StatusChangePopup$2';_.tI=246;function Fdb(b,a,c){b.a=a;b.b=c;return b;}
+function beb(b){var a;a=BC(this.b,CC(this.b));meb(this.a,a);this.a.ic();}
+function Edb(){}
+_=Edb.prototype=new xT();_.wc=beb;_.tN=Afc+'StatusChangePopup$3';_.tI=247;function deb(b,a){b.a=a;return b;}
+function feb(a){this.a.ic();}
+function ceb(){}
+_=ceb.prototype=new xT();_.wc=feb;_.tN=Afc+'StatusChangePopup$4';_.tI=248;function heb(b,a){b.a=a;return b;}
+function jeb(b,a){b.a.a.nb();edb();}
+function keb(a){jeb(this,a);}
+function geb(){}
+_=geb.prototype=new hcb();_.md=keb;_.tN=Afc+'StatusChangePopup$5';_.tI=249;function reb(){reb=v2;gcb();}
+function qeb(c,b,a){reb();dcb(c,'images/attention_needed.png',b);ecb(c,'Detail:',seb(c,a));return c;}
+function seb(c,b){var a;a=kK(new jK());AN(a,'editable-Surface');pK(a,12);BK(a,b);a.xe('100%');return a;}
+function peb(){}
+_=peb.prototype=new Ebb();_.tN=Afc+'ValidationMessageWidget';_.tI=250;function Aeb(){Aeb=v2;kE();}
+function yeb(a){a.a=bC(new aC());a.c=fA(new dA());a.b=wp(new qp(),'OK');}
+function zeb(b,c,d){var a;Aeb();hE(b,true);yeb(b);rE(b,c,d);gA(b.c,b.a);gA(b.c,b.b);a=b;b.b.x(veb(new ueb(),b,a));cH(b,b.c);AN(b,'rule-warning-Popup');return b;}
+function Beb(a){hC(a.a,'');nE(a);}
+function Ceb(){Beb(this);}
+function Deb(a,c,d){Aeb();var b;b=zeb(new teb(),c,d);hC(b.a,a);uE(b);}
+function teb(){}
+_=teb.prototype=new fE();_.ic=Ceb;_.tN=Afc+'WarningPopup';_.tI=251;function veb(b,a,c){b.a=c;return b;}
+function xeb(a){Beb(this.a);}
+function ueb(){}
+_=ueb.prototype=new xT();_.wc=xeb;_.tN=Afc+'WarningPopup$1';_.tI=252;function ifb(){ifb=v2;Fr();}
+function hfb(d,b,f){var a,c,e;ifb();Cr(d);bs(d,b);e=wp(new qp(),'Yes');c=wp(new qp(),'No');e.x(afb(new Feb(),d,f));c.x(efb(new dfb(),d));a=fA(new dA());gA(a,e);gA(a,c);cs(d,a);return d;}
+function Eeb(){}
+_=Eeb.prototype=new Ar();_.tN=Afc+'YesNoDialog';_.tI=253;function afb(b,a,c){b.a=a;b.b=c;return b;}
+function cfb(a){this.b.nb();this.a.ic();}
+function Feb(){}
+_=Feb.prototype=new xT();_.wc=cfb;_.tN=Afc+'YesNoDialog$1';_.tI=254;function efb(b,a){b.a=a;return b;}
+function gfb(a){this.a.ic();}
+function dfb(){}
+_=dfb.prototype=new xT();_.wc=gfb;_.tN=Afc+'YesNoDialog$2';_.tI=255;function ixb(b,a,c){b.e=c;b.a=a;nxb(b,a.e,a.d.n);mxb(b);return b;}
+function jxb(b,a){ybb(b.c,a);}
+function lxb(c,a,d){var b;b=FK(new qK());zK(b,a);BK(b,d);b.ue(false);return b;}
+function mxb(a){dv(a.b,exb(new dxb(),a));}
+function nxb(d,f,c){var a,b,e;d.b=cv(new Du());iv(d.b,v()+'asset');jv(d.b,'multipart/form-data');kv(d.b,'post');e=gt(new ft());jt(e,'fileUploadElement');b=fA(new dA());gA(b,lxb(d,'attachmentUUID',f));d.d=pcb(new ncb(),'images/upload.gif','Upload');gA(b,e);gA(b,cC(new aC(),'upload:'));gA(b,d.d);cH(d.b,b);d.c=ubb(new rbb(),d.sb(),c);if(!d.a.c)vbb(d.c,'Upload new version:',d.b);a=wp(new qp(),'Download');a.x(Cwb(new Bwb(),d,f));vbb(d.c,'Download current version:',a);lB(d.d,axb(new Fwb(),d));mr(d,d.c);d.c.xe('100%');AN(d,d.Bb());}
+function oxb(a){idb('Uploading...');}
+function pxb(a){mv(a.b);}
+function Awb(){}
+_=Awb.prototype=new kr();_.tN=Ffc+'AssetAttachmentFileWidget';_.tI=256;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function kfb(b,a,c){ixb(b,a,c);jxb(b,kz(new nw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
+function mfb(){return 'images/decision_table.png';}
+function nfb(){return 'decision-Table-upload';}
+function jfb(){}
+_=jfb.prototype=new Awb();_.sb=mfb;_.Bb=nfb;_.tN=Bfc+'DecisionTableXLSWidget';_.tI=257;function pfb(){pfb=v2;xfb=C0(new a0());sfb=C0(new a0());rfb=C0(new a0());qfb=zb('[Ljava.lang.String;',607,1,['not','exists','or']);{d1(xfb,'==','is equal to');d1(xfb,'!=','is not equal to');d1(xfb,'<','is less than');d1(xfb,'<=','less than or equal to');d1(xfb,'>','greater than');d1(xfb,'>=','greater than or equal to');d1(xfb,'|| ==','or equal to');d1(xfb,'|| !=','or not equal to');d1(xfb,'&& !=','and not equal to');d1(xfb,'&& >','and greater than');d1(xfb,'&& <','and less than');d1(xfb,'|| >','or greater than');d1(xfb,'|| <','or less than');d1(xfb,'&& <','and less than');d1(xfb,'|| >=','or greater than (or equal to)');d1(xfb,'|| <=','or less than (or equal to)');d1(xfb,'&& >=','and greater than (or equal to)');d1(xfb,'&& <=','or less than (or equal to)');d1(xfb,'&& contains','and contains');d1(xfb,'|| contains','or contains');d1(xfb,'&& matches','and matches');d1(xfb,'|| matches','or mat!
 ches');d1(xfb,'|| excludes','or excludes');d1(xfb,'&& excludes','and excludes');d1(xfb,'soundslike','sounds like');d1(sfb,'not','There is no');d1(sfb,'exists','There exists');d1(sfb,'or','Any of');d1(rfb,'assert','Insert');d1(rfb,'assertLogical','Logically insert');d1(rfb,'retract','Retract');d1(rfb,'set','Set');d1(rfb,'modify','Modify');}}
+function tfb(a){pfb();return wfb(a,rfb);}
+function ufb(a){pfb();return wfb(a,sfb);}
+function vfb(a){pfb();return wfb(a,xfb);}
+function wfb(a,b){pfb();if(F0(b,a)){return Fb(c1(b,a),1);}else{return a;}}
+var qfb,rfb,sfb,xfb;function Bfb(){Bfb=v2;pgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=']);rgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);ngb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);lgb=zb('[Ljava.lang.String;',607,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);qgb=zb('[Ljava.lang.String;',607,1,['==','!=']);ogb=zb('[Ljava.lang.String;',607,1,['==','!=','<','>','<=','>=']);sgb=zb('[Ljava.lang.String;',607,1,['==','!=','matches','soundslike']);mgb=zb('[Ljava.lang.String;',607,1,['contains','excludes','==','!=']);}
+function zfb(a){a.h=C0(new a0());a.c=C0(new a0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[609],[10],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[609],[10],[0],null);}
+function Afb(a){Bfb();zfb(a);return a;}
+function Cfb(c,a,b){var d;d=Fb(c.f.fc(a+'.'+b),1);if(d===null){return pgb;}else if(qU(d,'String')){return rgb;}else if(qU(d,'Comparable')||qU(d,'Numeric')){return ngb;}else if(qU(d,'Collection')){return lgb;}else{return pgb;}}
+function Efb(i,g,d){var a,b,c,e,f,h,j;c=fgb(i);j=Fb(c1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(qU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.fc(f),63);}}}}return Fb(i.c.fc(g.c+'.'+d),63);}
+function Dfb(f,g,a,c){var b,d,e,h,i;b=fgb(f);h=Fb(c1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(qU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.fc(e),63);}}}return Fb(f.c.fc(g+'.'+c),63);}
+function agb(b,a){return Fb(b.g.fc(a),63);}
+function Ffb(a,c){var b;b=Fb(a.h.fc(c),1);return Fb(a.g.fc(b),63);}
+function bgb(c,a,b){return Fb(c.f.fc(a+'.'+b),1);}
+function cgb(a){return ggb(a,a.h.oc());}
+function dgb(c,a,b){var d;d=Fb(c.f.fc(a+'.'+b),1);if(d===null){return qgb;}else if(qU(d,'String')){return sgb;}else if(qU(d,'Comparable')||qU(d,'Numeric')){return ogb;}else if(qU(d,'Collection')){return mgb;}else{return qgb;}}
+function egb(a,b){return a.h.cb(b);}
+function fgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=C0(new a0());e=g.c.oc();for(b=tW(e);AW(b);){d=Fb(BW(b),1);if(rU(d,91)!=(-1)){c=rU(d,91);a=AU(d,0,c);f=AU(d,c+1,rU(d,93));h=AU(f,0,rU(f,61));d1(g.d,a,h);}}}return g.d;}
+function ggb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[607],[1],[d.b.a.c],null);b=0;for(c=tW(d);AW(c);){a[b]=Fb(BW(c),1);b++;}return a;}
+function yfb(){}
+_=yfb.prototype=new xT();_.tN=Cfc+'SuggestionCompletionEngine';_.tI=258;_.d=null;_.e=null;_.f=null;_.g=null;var lgb,mgb,ngb,ogb,pgb,qgb,rgb,sgb;function jgb(b,a){a.a=Fb(b.Ad(),72);a.b=Fb(b.Ad(),72);a.c=Fb(b.Ad(),57);a.e=Fb(b.Ad(),63);a.f=Fb(b.Ad(),57);a.g=Fb(b.Ad(),57);a.h=Fb(b.Ad(),57);}
+function kgb(b,a){b.bf(a.a);b.bf(a.b);b.bf(a.c);b.bf(a.e);b.bf(a.f);b.bf(a.g);b.bf(a.h);}
+function ugb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[623],[23],[0],null);}
+function vgb(a){ugb(a);return a;}
+function wgb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[623],[23],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[623],[23],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
+function ygb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[623],[23],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
+function tgb(){}
+_=tgb.prototype=new xT();_.tN=Dfc+'ActionFieldList';_.tI=259;function Bgb(b,a){a.b=Fb(b.Ad(),73);}
+function Cgb(b,a){b.bf(a.b);}
+function Egb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Dgb(){}
+_=Dgb.prototype=new xT();_.tN=Dfc+'ActionFieldValue';_.tI=260;_.a=null;_.b=null;_.c=null;function chb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
+function dhb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
+function ghb(a,b){vgb(a);a.a=b;return a;}
+function fhb(a){vgb(a);return a;}
+function ehb(){}
+_=ehb.prototype=new tgb();_.tN=Dfc+'ActionInsertFact';_.tI=261;_.a=null;function khb(b,a){a.a=b.Bd();Bgb(b,a);}
+function lhb(b,a){b.cf(a.a);Cgb(b,a);}
+function ohb(b,a){ghb(b,a);return b;}
+function nhb(a){fhb(a);return a;}
+function mhb(){}
+_=mhb.prototype=new ehb();_.tN=Dfc+'ActionInsertLogicalFact';_.tI=262;function shb(b,a){khb(b,a);}
+function thb(b,a){lhb(b,a);}
+function vhb(a,b){a.a=b;return a;}
+function uhb(){}
+_=uhb.prototype=new xT();_.tN=Dfc+'ActionRetractFact';_.tI=263;_.a=null;function zhb(b,a){a.a=b.Bd();}
+function Ahb(b,a){b.cf(a.a);}
+function Dhb(a,b){vgb(a);a.a=b;return a;}
+function Chb(a){vgb(a);return a;}
+function Bhb(){}
+_=Bhb.prototype=new tgb();_.tN=Dfc+'ActionSetField';_.tI=264;_.a=null;function bib(b,a){a.a=b.Bd();Bgb(b,a);}
+function cib(b,a){b.cf(a.a);Cgb(b,a);}
+function fib(b,a){Dhb(b,a);return b;}
+function eib(a){Chb(a);return a;}
+function dib(){}
+_=dib.prototype=new Bhb();_.tN=Dfc+'ActionUpdateField';_.tI=265;function jib(b,a){bib(b,a);}
+function kib(b,a){cib(b,a);}
+function mib(a,b){a.b=b;return a;}
+function nib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[631],[31],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[631],[31],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
+function lib(){}
+_=lib.prototype=new xT();_.tN=Dfc+'CompositeFactPattern';_.tI=266;_.a=null;_.b=null;function rib(b,a){a.a=Fb(b.Ad(),74);a.b=b.Bd();}
+function sib(b,a){b.bf(a.a);b.cf(a.b);}
+function uib(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[621],[21],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[621],[21],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
+function wib(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[621],[21],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
+function tib(){}
+_=tib.prototype=new xT();_.tN=Dfc+'CompositeFieldConstraint';_.tI=267;_.a=null;_.b=null;function zib(b,a){a.a=b.Bd();a.b=Fb(b.Ad(),75);}
+function Aib(b,a){b.cf(a.a);b.bf(a.b);}
+function yjb(){}
+_=yjb.prototype=new xT();_.tN=Dfc+'ISingleFieldConstraint';_.tI=268;_.e=0;_.f=null;function Bib(){}
+_=Bib.prototype=new yjb();_.tN=Dfc+'ConnectiveConstraint';_.tI=269;_.a=null;function Fib(b,a){a.a=b.Bd();Cjb(b,a);}
+function ajb(b,a){b.cf(a.a);Djb(b,a);}
+function djb(b){var a;a=new bjb();a.a=b.a;return a;}
+function ejb(e){var a,b,c,d;b=BU(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
+function jjb(){return ejb(this);}
+function bjb(){}
+_=bjb.prototype=new xT();_.tS=jjb;_.tN=Dfc+'DSLSentence';_.tI=270;_.a=null;function hjb(b,a){a.a=b.Bd();}
+function ijb(b,a){b.cf(a.a);}
+function ljb(b,a){b.c=a;return b;}
+function mjb(b,a){if(b.b===null)b.b=new tib();uib(b.b,a);}
+function ojb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[621],[21],[0],null);}else{return a.b.b;}}
+function pjb(a){if(a.a!==null&& !qU('',a.a)){return true;}else{return false;}}
+function qjb(b,a){wib(b.b,a);}
+function kjb(){}
+_=kjb.prototype=new xT();_.tN=Dfc+'FactPattern';_.tI=271;_.a=null;_.b=null;_.c=null;function tjb(b,a){a.a=b.Bd();a.b=Fb(b.Ad(),30);a.c=b.Bd();}
+function ujb(b,a){b.cf(a.a);b.bf(a.b);b.cf(a.c);}
+function Cjb(b,a){a.e=b.yd();a.f=b.Bd();}
+function Djb(b,a){b.Fe(a.e);b.cf(a.f);}
+function akb(b,a,c){b.a=a;b.b=c;return b;}
+function gkb(){var a;a=cU(new bU());eU(a,this.a);if(qU('no-loop',this.a)){eU(a,' ');eU(a,this.b===null?'true':this.b);}else if(qU('salience',this.a)){eU(a,' ');eU(a,this.b);}else if(this.b!==null){eU(a,' "');eU(a,this.b);eU(a,'"');}return iU(a);}
+function Fjb(){}
+_=Fjb.prototype=new xT();_.tS=gkb;_.tN=Dfc+'RuleAttribute';_.tI=272;_.a=null;_.b=null;function ekb(b,a){a.a=b.Bd();a.b=b.Bd();}
+function fkb(b,a){b.cf(a.a);b.cf(a.b);}
+function ikb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[618],[18],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[619],[19],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[620],[20],[0],null);}
+function jkb(a){ikb(a);return a;}
+function kkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[618],[18],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function lkb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[619],[19],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[619],[19],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
+function mkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[620],[20],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[620],[20],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
+function okb(h){var a,b,c,d,e,f,g;g=FX(new DX());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,31)){b=Fb(f,31);if(pjb(b)){bY(g,b.a);}for(e=0;e<ojb(b).a;e++){c=ojb(b)[e];if(ac(c,32)){a=Fb(c,32);if(Fkb(a)){bY(g,a.b);}}}}}return g;}
+function pkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],31)){b=Fb(c.b[a],31);if(b.a!==null&&qU(d,b.a)){return b;}}}return null;}
+function qkb(d){var a,b,c;if(d.b===null){return null;}b=FX(new DX());for(a=0;a<d.b.a;a++){if(ac(d.b[a],31)){c=Fb(d.b[a],31);if(c.a!==null){bY(b,c.a);}}}return b;}
+function rkb(k,b){var a,c,d,e,f,g,h,i,j;j=FX(new DX());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,31)){d=Fb(i,31);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Fkb(a)){bY(j,a.b);}}}}if(pjb(d)){bY(j,d.a);}}else{if(pjb(d)){bY(j,d.a);}}}}return j;}
+function skb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],27)){d=Fb(e.e[b],27);if(qU(d.a,a)){return true;}}else if(ac(e.e[b],26)){c=Fb(e.e[b],26);if(qU(c.a,a)){return true;}}}return false;}
+function tkb(b,a){return fY(okb(b),a);}
+function ukb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[618],[18],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function vkb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[619],[19],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],31)){e=Fb(f.b[a],31);if(e.a!==null&&skb(f,e.a)){return false;}}}}f.b=d;return true;}
+function wkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[620],[20],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
+function hkb(){}
+_=hkb.prototype=new xT();_.tN=Dfc+'RuleModel';_.tI=273;_.c='1.0';_.d=null;function zkb(b,a){a.a=Fb(b.Ad(),76);a.b=Fb(b.Ad(),77);a.c=b.Bd();a.d=b.Bd();a.e=Fb(b.Ad(),78);}
+function Akb(b,a){b.bf(a.a);b.bf(a.b);b.cf(a.c);b.cf(a.d);b.bf(a.e);}
+function Ckb(b,a){b.c=a;return b;}
+function Dkb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',615,15,[new Bib()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[615],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new Bib();c.a=b;}}
+function Fkb(a){if(a.b!==null&& !qU('',a.b)){return true;}else{return false;}}
+function Bkb(){}
+_=Bkb.prototype=new yjb();_.tN=Dfc+'SingleFieldConstraint';_.tI=274;_.a=null;_.b=null;_.c=null;_.d=null;function clb(b,a){a.a=Fb(b.Ad(),79);a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();Cjb(b,a);}
+function dlb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);Djb(b,a);}
+function Dlb(d,b,c,a){d.e=c;d.a=a;d.d=kab(new iab());d.f=b;d.b=c.a;d.c=agb(d.a,c.a);AN(d.d,'model-builderInner-Background');Flb(d);mr(d,d.d);return d;}
+function Flb(e){var a,b,c,d,f;hy(e.d);nab(e.d,0,0,bmb(e));c=kab(new iab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];nab(c,a,0,amb(e,f));nab(c,a,1,dmb(e,f));b=a;d=ocb(new ncb(),'images/delete_item_small.gif');lB(d,glb(new flb(),e,b));nab(c,a,2,d);}nab(e.d,0,1,c);}
+function amb(a,b){return cC(new aC(),b.a);}
+function bmb(d){var a,b,c;c=fA(new dA());b=ocb(new ncb(),'images/add_field_to_fact.gif');b.pe('Add another field to this so you can set its value.');lB(b,wlb(new vlb(),d));a='assert';if(ac(d.e,25)){a='assertLogical';}gA(c,zcb(new ycb(),tfb(a)+' '+d.e.a,'modeller-action-Label'));gA(c,b);return c;}
+function cmb(d,e){var a,b,c;c=dcb(new Ebb(),'images/newex_wiz.gif','Add a field');AN(c,'ks-popups-Popup');a=sC(new kC());vC(a,'...');for(b=0;b<d.c.a;b++){vC(a,d.c[b]);}bD(a,0);ecb(c,'Add field',a);uC(a,Alb(new zlb(),d,a,c));rE(c,rN(e),sN(e));uE(c);}
+function dmb(c,d){var a,b;b=Dfb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return xpb(d.c,olb(new nlb(),c,d),b);}else{a=FK(new qK());BK(a,d.c);tK(a,slb(new rlb(),c,d,a));if(qU(d.b,'Numeric')){uK(a,rnb(a));}return a;}}
+function elb(){}
+_=elb.prototype=new bab();_.tN=Efc+'ActionInsertFactWidget';_.tI=275;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function glb(b,a,c){b.a=a;b.b=c;return b;}
+function ilb(b){var a;a=hfb(new Eeb(),'Remove this item?',klb(new jlb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
+function flb(){}
+_=flb.prototype=new xT();_.wc=ilb;_.tN=Efc+'ActionInsertFactWidget$1';_.tI=276;function klb(b,a,c){b.a=a;b.b=c;return b;}
+function mlb(){ygb(this.a.a.e,this.b);rwb(this.a.a.f);}
+function jlb(){}
+_=jlb.prototype=new xT();_.nb=mlb;_.tN=Efc+'ActionInsertFactWidget$2';_.tI=277;function olb(b,a,c){b.a=c;return b;}
+function qlb(a){this.a.c=a;}
+function nlb(){}
+_=nlb.prototype=new xT();_.Ce=qlb;_.tN=Efc+'ActionInsertFactWidget$3';_.tI=278;function slb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function ulb(a){this.c.c=xK(this.b);rwb(this.a.f);}
+function rlb(){}
+_=rlb.prototype=new xT();_.vc=ulb;_.tN=Efc+'ActionInsertFactWidget$4';_.tI=279;function wlb(b,a){b.a=a;return b;}
+function ylb(a){cmb(this.a,a);}
+function vlb(){}
+_=vlb.prototype=new xT();_.wc=ylb;_.tN=Efc+'ActionInsertFactWidget$5';_.tI=280;function Alb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Clb(c){var a,b;a=BC(this.b,CC(this.b));b=bgb(this.a.a,this.a.e.a,a);wgb(this.a.e,Egb(new Dgb(),a,'',b));rwb(this.a.f);this.c.ic();}
+function zlb(){}
+_=zlb.prototype=new xT();_.vc=Clb;_.tN=Efc+'ActionInsertFactWidget$6';_.tI=281;function fmb(c,a,b){c.a=rt(new lt());AN(c.a,'model-builderInner-Background');c.a.ve(0,0,zcb(new ycb(),tfb('retract'),'modeller-action-Label'));c.a.ve(0,1,zcb(new ycb(),'['+b.a+']','modeller-action-Label'));mr(c,c.a);return c;}
+function emb(){}
+_=emb.prototype=new kr();_.tN=Efc+'ActionRetractFactWidget';_.tI=282;_.a=null;function knb(e,b,d,a){var c;e.d=d;e.a=a;e.c=kab(new iab());e.e=b;AN(e.c,'model-builderInner-Background');if(egb(e.a,d.a)){e.b=Ffb(e.a,d.a);e.f=Fb(e.a.h.fc(d.a),1);}else{c=pkb(b.c,d.a);e.b=agb(e.a,c.c);e.f=c.c;}mnb(e);mr(e,e.c);return e;}
+function mnb(e){var a,b,c,d,f;hy(e.c);nab(e.c,0,0,onb(e));c=kab(new iab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];nab(c,a,0,nnb(e,f));nab(c,a,1,qnb(e,f));b=a;d=ocb(new ncb(),'images/delete_item_small.gif');lB(d,jmb(new imb(),e,b));nab(c,a,2,d);}nab(e.c,0,1,c);}
+function nnb(a,b){return cC(new aC(),b.a);}
+function onb(d){var a,b,c;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe('Add another field to this so you can set its value.');lB(a,rmb(new qmb(),d));c='set';if(ac(d.d,28)){c='modify';}gA(b,zcb(new ycb(),tfb(c)+' ['+d.d.a+']','modeller-action-Label'));gA(b,a);return b;}
+function pnb(d,e){var a,b,c;c=dcb(new Ebb(),'images/newex_wiz.gif','Add a field');AN(c,'ks-popups-Popup');a=sC(new kC());vC(a,'...');for(b=0;b<d.b.a;b++){vC(a,d.b[b]);}bD(a,0);ecb(c,'Add field',a);uC(a,vmb(new umb(),d,a,c));rE(c,rN(e),sN(e));uE(c);}
+function qnb(d,f){var a,b,c,e;e='';if(egb(d.a,d.d.a)){e=Fb(d.a.h.fc(d.d.a),1);}else{e=pkb(d.e.c,d.d.a).c;}b=Dfb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return xpb(f.c,zmb(new ymb(),d,f),b);}else{c=aH(new yG());a=FK(new qK());BK(a,f.c);if(uU(f.c)!=0){bL(a,uU(f.c));}if(qU(f.b,'Numeric')){uK(a,rnb(a));}tK(a,Dmb(new Cmb(),d,f,a));uK(a,mbb(new lbb(),bnb(new anb(),d,a)));cH(c,a);return c;}}
+function rnb(a){return fnb(new enb(),a);}
+function snb(){return mab(this.c);}
+function hmb(){}
+_=hmb.prototype=new bab();_.mc=snb;_.tN=Efc+'ActionSetFieldWidget';_.tI=283;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function jmb(b,a,c){b.a=a;b.b=c;return b;}
+function lmb(b){var a;a=hfb(new Eeb(),'Remove this item?',nmb(new mmb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
+function imb(){}
+_=imb.prototype=new xT();_.wc=lmb;_.tN=Efc+'ActionSetFieldWidget$1';_.tI=284;function nmb(b,a,c){b.a=a;b.b=c;return b;}
+function pmb(){ygb(this.a.a.d,this.b);rwb(this.a.a.e);}
+function mmb(){}
+_=mmb.prototype=new xT();_.nb=pmb;_.tN=Efc+'ActionSetFieldWidget$2';_.tI=285;function rmb(b,a){b.a=a;return b;}
+function tmb(a){pnb(this.a,a);}
+function qmb(){}
+_=qmb.prototype=new xT();_.wc=tmb;_.tN=Efc+'ActionSetFieldWidget$3';_.tI=286;function vmb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function xmb(c){var a,b;a=BC(this.b,CC(this.b));b=bgb(this.a.a,this.a.f,a);wgb(this.a.d,Egb(new Dgb(),a,'',b));rwb(this.a.e);this.c.ic();}
+function umb(){}
+_=umb.prototype=new xT();_.vc=xmb;_.tN=Efc+'ActionSetFieldWidget$4';_.tI=287;function zmb(b,a,c){b.a=c;return b;}
+function Bmb(a){this.a.c=a;}
+function ymb(){}
+_=ymb.prototype=new xT();_.Ce=Bmb;_.tN=Efc+'ActionSetFieldWidget$5';_.tI=288;function Dmb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Fmb(a){this.b.c=xK(this.a);}
+function Cmb(){}
+_=Cmb.prototype=new xT();_.vc=Fmb;_.tN=Efc+'ActionSetFieldWidget$6';_.tI=289;function bnb(b,a,c){b.a=c;return b;}
+function dnb(){bL(this.a,uU(xK(this.a)));}
+function anb(){}
+_=anb.prototype=new xT();_.nb=dnb;_.tN=Efc+'ActionSetFieldWidget$7';_.tI=290;function fnb(a,b){a.a=b;return a;}
+function hnb(a,b,c){}
+function inb(c,a,b){if(hS(a)&&a!=61&& !yU(xK(this.a),'=')){vK(Fb(c,80));}}
+function jnb(a,b,c){}
+function enb(){}
+_=enb.prototype=new xT();_.Fc=hnb;_.ad=inb;_.bd=jnb;_.tN=Efc+'ActionSetFieldWidget$8';_.tI=291;function Cnb(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=kab(new iab());AN(d.b,'model-builderInner-Background');Enb(d);mr(d,d.b);return d;}
+function Enb(c){var a,b,d;nab(c.b,0,0,Fnb(c));if(c.d.a!==null){d=wab(new vab());a=c.d.a;for(b=0;b<a.a;b++){oO(d,psb(new nqb(),c.c,a[b],c.a,false));}nab(c.b,0,1,d);}}
+function Fnb(c){var a,b;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");lB(a,vnb(new unb(),c));gA(b,cC(new aC(),ufb(c.d.b)));gA(b,a);AN(b,'modeller-composite-Label');return b;}
+function aob(e,f){var a,b,c,d;a=sC(new kC());b=e.a.e;vC(a,'Choose...');for(c=0;c<b.a;c++){vC(a,b[c]);}bD(a,0);d=dcb(new Ebb(),'images/new_fact.gif','New fact pattern...');ecb(d,'choose fact type',a);uC(a,znb(new ynb(),e,a,d));AN(d,'ks-popups-Popup');rE(d,rN(f)-400,sN(f));uE(d);}
+function bob(){return mab(this.b);}
+function tnb(){}
+_=tnb.prototype=new bab();_.mc=bob;_.tN=Efc+'CompositeFactPatternWidget';_.tI=292;_.a=null;_.b=null;_.c=null;_.d=null;function vnb(b,a){b.a=a;return b;}
+function xnb(a){aob(this.a,a);}
+function unb(){}
+_=unb.prototype=new xT();_.wc=xnb;_.tN=Efc+'CompositeFactPatternWidget$1';_.tI=293;function znb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Bnb(a){nib(this.a.d,ljb(new kjb(),BC(this.b,CC(this.b))));rwb(this.a.c);this.c.ic();}
+function ynb(){}
+_=ynb.prototype=new xT();_.vc=Bnb;_.tN=Efc+'CompositeFactPatternWidget$2';_.tI=294;function npb(f,d,b,a,c,g){var e;f.a=a;if(qU(g,'Numeric')){f.d=true;}else{f.d=false;}if(qU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',607,1,['true','false']);}f.c=c.c;e=c.a;f.b=Efb(e,d,b);f.e=aH(new yG());spb(f);mr(f,f.e);return f;}
+function opb(c,b){var a;a=FK(new qK());AN(a,'constraint-value-Editor');if(b.f===null){BK(a,'');}else{BK(a,b.f);}if(b.f===null||uU(b.f)<5){bL(a,3);}else{bL(a,uU(b.f)-1);}tK(a,Dob(new Cob(),c,b,a));uK(a,mbb(new lbb(),bpb(new apb(),c,a)));return a;}
+function qpb(b,a){spb(b);a.ic();}
+function rpb(b){var a;if(b.b!==null){return xpb(b.a.f,qob(new pob(),b),b.b);}else{a=opb(b,b.a);if(b.d){uK(a,new tob());}a.pe('This is a literal value. What is shown is what the field is checked against.');return a;}}
+function spb(b){var a;b.e.F();if(b.a.e==0){a=kB(new uA(),'images/edit.gif');lB(a,iob(new dob(),b));cH(b.e,a);}else{switch(b.a.e){case 1:cH(b.e,rpb(b));break;case 3:cH(b.e,tpb(b));break;case 2:cH(b.e,vpb(b));break;default:break;}}}
+function tpb(e){var a,b,c,d;a=opb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=kB(new uA(),'images/function_assets.gif');c.pe(d);a.pe(d);b=wpb(e,c,a);return b;}
+function upb(e,g,a){var b,c,d,f;b=dcb(new Ebb(),'images/newex_wiz.gif','Field value');d=wp(new qp(),'Literal value');d.x(fpb(new epb(),e,a,b));ecb(b,'Literal value:',wpb(e,d,wcb(new rcb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));fcb(b,kz(new nw(),'<hr/>'));fcb(b,zcb(new ycb(),'Advanced options','weak-Text'));if(rkb(e.c,e.a).b>0){f=wp(new qp(),'Bound variable');f.x(jpb(new ipb(),e,a,b));ecb(b,'A variable:',wpb(e,f,wcb(new rcb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=wp(new qp(),'New formula');c.x(fob(new eob(),e,a,b));ecb(b,'A formula:',wpb(e,c,wcb(new rcb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));rE(b,rN(g),sN(g));uE(b);}
+function vpb(c){var a,b,d,e;e=rkb(c.c,c.a);a=sC(new kC());if(c.a.f===null){vC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(gY(e,b),1);vC(a,d);if(c.a.f!==null&&qU(c.a.f,d)){bD(a,b);}}uC(a,mob(new lob(),c,a));return a;}
+function wpb(d,a,c){var b;b=fA(new dA());gA(b,a);gA(b,c);b.xe('100%');return b;}
+function xpb(b,k,d){var a,c,e,f,g,h,i,j;a=sC(new kC());if(b===null||qU('',b)){vC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(rU(i,61)>0){h=zpb(i);f=h[0];c=h[1];j=f;wC(a,c,f);}else{wC(a,i,i);j=i;}if(b!==null&&qU(b,j)){bD(a,e);g=true;}}if(b!==null&& !g){wC(a,b,b);bD(a,d.a);}uC(a,zob(new yob(),k,a));return a;}
+function ypb(){return this.j;}
+function zpb(c){var a,b;b=yb('[Ljava.lang.String;',[607],[1],[2],null);a=rU(c,61);b[0]=AU(c,0,a);b[1]=AU(c,a+1,uU(c));return b;}
+function cob(){}
+_=cob.prototype=new bab();_.mc=ypb;_.tN=Efc+'ConstraintValueEditor';_.tI=295;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function iob(b,a){b.a=a;return b;}
+function kob(a){upb(this.a,a,this.a.a);}
+function dob(){}
+_=dob.prototype=new xT();_.wc=kob;_.tN=Efc+'ConstraintValueEditor$1';_.tI=296;function fob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function hob(a){this.b.e=3;qpb(this.a,this.c);}
+function eob(){}
+_=eob.prototype=new xT();_.wc=hob;_.tN=Efc+'ConstraintValueEditor$10';_.tI=297;function mob(b,a,c){b.a=a;b.b=c;return b;}
+function oob(a){this.a.a.f=BC(this.b,CC(this.b));}
+function lob(){}
+_=lob.prototype=new xT();_.vc=oob;_.tN=Efc+'ConstraintValueEditor$2';_.tI=298;function qob(b,a){b.a=a;return b;}
+function sob(a){this.a.a.f=a;}
+function pob(){}
+_=pob.prototype=new xT();_.Ce=sob;_.tN=Efc+'ConstraintValueEditor$3';_.tI=299;function vob(a,b,c){}
+function wob(c,a,b){if(hS(a)){vK(Fb(c,80));}}
+function xob(a,b,c){}
+function tob(){}
+_=tob.prototype=new xT();_.Fc=vob;_.ad=wob;_.bd=xob;_.tN=Efc+'ConstraintValueEditor$4';_.tI=300;function zob(a,c,b){a.b=c;a.a=b;return a;}
+function Bob(a){this.b.Ce(DC(this.a,CC(this.a)));}
+function yob(){}
+_=yob.prototype=new xT();_.vc=Bob;_.tN=Efc+'ConstraintValueEditor$5';_.tI=301;function Dob(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Fob(a){this.c.f=xK(this.b);dab(this.a);}
+function Cob(){}
+_=Cob.prototype=new xT();_.vc=Fob;_.tN=Efc+'ConstraintValueEditor$6';_.tI=302;function bpb(b,a,c){b.a=c;return b;}
+function dpb(){bL(this.a,uU(xK(this.a)));}
+function apb(){}
+_=apb.prototype=new xT();_.nb=dpb;_.tN=Efc+'ConstraintValueEditor$7';_.tI=303;function fpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function hpb(a){this.b.e=1;qpb(this.a,this.c);}
+function epb(){}
+_=epb.prototype=new xT();_.wc=hpb;_.tN=Efc+'ConstraintValueEditor$8';_.tI=304;function jpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function lpb(a){this.b.e=2;qpb(this.a,this.c);}
+function ipb(){}
+_=ipb.prototype=new xT();_.wc=lpb;_.tN=Efc+'ConstraintValueEditor$9';_.tI=305;function gqb(b,a){b.a=rab(new qab());b.c=FX(new DX());b.b=a;jqb(b);return b;}
+function hqb(b,a){gA(b.a,a);bY(b.c,a);}
+function jqb(a){kqb(a,a.b.a);mr(a,a.a);}
+function kqb(g,e){var a,b,c,d,f;b=BU(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=bqb(new Fpb(),g);hqb(g,c);}else if(a==125){fqb(c,uU(dqb(c))+1);c=null;}else{if(c===null&&d===null){d=bC(new aC());hqb(g,d);}if(d!==null){hC(d,gC(d)+Eb(a));}else if(c!==null){eqb(c,dqb(c)+Eb(a));}}}}
+function lqb(c){var a,b,d;b='';for(a=c.c.nc();a.hc();){d=Fb(a.pc(),13);if(ac(d,81)){b=b+gC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+dqb(Fb(d,82))+'} ';}}c.b.a=DU(b);}
+function mqb(){return tab(this.a);}
+function Apb(){}
+_=Apb.prototype=new bab();_.mc=mqb;_.tN=Efc+'DSLSentenceWidget';_.tI=306;_.a=null;_.b=null;_.c=null;function Cpb(b,a){b.a=a;return b;}
+function Epb(a){lqb(this.a.c);dab(this.a);}
+function Bpb(){}
+_=Bpb.prototype=new xT();_.vc=Epb;_.tN=Efc+'DSLSentenceWidget$1';_.tI=307;function aqb(a){a.b=fA(new dA());}
+function bqb(b,a){b.c=a;aqb(b);b.a=FK(new qK());gA(b.b,kz(new nw(),'&nbsp;'));gA(b.b,b.a);gA(b.b,kz(new nw(),'&nbsp;'));tK(b.a,Cpb(new Bpb(),b));mr(b,b.b);return b;}
+function dqb(a){return xK(a.a);}
+function eqb(b,a){BK(b.a,a);}
+function fqb(b,a){bL(b.a,a);}
+function Fpb(){}
+_=Fpb.prototype=new bab();_.tN=Efc+'DSLSentenceWidget$FieldEditor';_.tI=308;_.a=null;function osb(a){a.c=kab(new iab());}
+function psb(k,h,i,c,a){var b,d,e,f,g,j;osb(k);k.e=Fb(i,31);k.b=c;k.d=h;k.a=a;nab(k.c,0,0,xsb(k));f=ut(k.c);bx(f,0,0,(uz(),vz),(Dz(),Fz));ex(f,0,0,'modeller-fact-TypeHeader');g=kab(new iab());nab(k.c,1,0,g);for(j=0;j<ojb(k.e).a;j++){d=ojb(k.e)[j];e=j;Asb(k,g,j,d,true);b=ocb(new ncb(),'images/delete_item_small.gif');b.pe('Remove this whole restriction');lB(b,lrb(new oqb(),k,e));nab(g,j,5,b);}if(k.a)AN(k.c,'modeller-fact-pattern-Widget');mr(k,k.c);return k;}
+function rsb(j,b){var a,c,d,e,f,g,h,i;f=fA(new dA());d=null;e=ocb(new ncb(),'images/add_field_to_fact.gif');e.pe('Add a field to this nested constraint.');lB(e,prb(new orb(),j,b));if(qU(b.a,'&&')){d='All of:';}else{d='Any of:';}gA(f,e);gA(f,kz(new nw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=kab(new iab());AN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){Asb(j,h,g,i[g],false);c=g;a=ocb(new ncb(),'images/delete_item_small.gif');a.pe('Remove this (nested) restriction');lB(a,trb(new srb(),j,b,c));nab(h,g,5,a);}}gA(f,h);return f;}
+function ssb(g,b,c){var a,d,e,f;f=Cfb(g.b,g.e.c,c);a=sC(new kC());vC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];wC(a,vfb(e),e);if(qU(e,b.a)){bD(a,d+1);}}uC(a,Cqb(new Bqb(),g,b,a));return a;}
+function tsb(d,a,b,c){var e;e=bgb(d.d.a,b,c);return npb(new cob(),d.e,c,a,d.d,e);}
+function usb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=rab(new qab());for(e=0;e<a.a.a;e++){b=a.a[e];gA(d,ssb(f,b,a.c));gA(d,tsb(f,b,c,a.c));}return d;}else{return null;}}
+function vsb(c,b){var a,d,e;if(c.a&& !skb(c.d.c,c.e.a)){d=fA(new dA());e=FK(new qK());if(c.e.a===null){BK(e,'');}else{BK(e,c.e.a);}bL(e,3);gA(d,e);a=wp(new qp(),'Set');a.x(yqb(new xqb(),c,e,b));gA(d,a);ecb(b,'Variable name',d);}}
+function wsb(e,c,d){var a,b;a=fA(new dA());AN(a,'modeller-field-Label');if(!Fkb(c)){if(e.a&&d){b=pcb(new ncb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');lB(b,erb(new drb(),e,c));gA(a,b);}}else{gA(a,cC(new aC(),'['+c.b+']'));}gA(a,cC(new aC(),c.c));return a;}
+function xsb(c){var a,b;b=fA(new dA());a=ocb(new ncb(),'images/add_field_to_fact.gif');a.pe('Add a field to this condition, or bind a varible to this fact.');lB(a,Frb(new Erb(),c));if(c.e.a!==null){gA(b,cC(new aC(),'['+c.e.a+'] '+c.e.c));}else{gA(b,cC(new aC(),c.e.c));}gA(b,a);return b;}
+function ysb(f,b){var a,c,d,e;e=dgb(f.b,f.e.c,b.c);a=sC(new kC());vC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];wC(a,vfb(d),d);if(qU(d,b.d)){bD(a,c+1);}}uC(a,arb(new Fqb(),f,b,a));return a;}
+function zsb(e,b){var a,c,d;d=fA(new dA());d.xe('100%');c=kB(new uA(),'images/function_assets.gif');c.pe('This is a formula expression that is evaluated to be true or false.');gA(d,c);if(b.f===null){b.f='';}a=FK(new qK());BK(a,b.f);tK(a,Brb(new Arb(),e,b,a));a.xe('100%');gA(d,a);return d;}
+function Asb(e,b,c,a,d){if(ac(a,32)){Bsb(e,e.d,b,c,a,d);}else if(ac(a,30)){nab(b,c,0,rsb(e,Fb(a,30)));pt(ut(b),c,0,5);}}
+function Bsb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){nab(d,f,0,wsb(h,b,g));nab(d,f,1,ysb(h,b));nab(d,f,2,Fsb(h,b,h.e.c));nab(d,f,3,usb(h,b,h.e.c));a=ocb(new ncb(),'images/add_connective.gif');a.pe('Add more options to this fields values.');lB(a,xrb(new wrb(),h,b,e));nab(d,f,4,a);}else if(b.e==5){nab(d,f,0,zsb(h,b));pt(ut(d),f,0,5);}}
+function Csb(d,g,a){var b,c,e,f;c=dcb(new Ebb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=ip(new hp());e=FK(new qK());b=wp(new qp(),'Set');jp(f,e);jp(f,b);b.x(irb(new hrb(),d,e,a,c));ecb(c,'Variable name',f);rE(c,rN(g),sN(g));uE(c);}
+function Esb(i,j){var a,b,c,d,e,f,g,h;g=dcb(new Ebb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);AN(g,'ks-popups-Popup');a=sC(new kC());vC(a,'...');c=agb(i.b,i.e.c);for(e=0;e<c.a;e++){vC(a,c[e]);}bD(a,0);uC(a,lsb(new ksb(),i,a,g));ecb(g,'Add a restriction on a field',a);b=sC(new kC());vC(b,'...');wC(b,'All of (And)','&&');wC(b,'Any of (Or)','||');bD(b,0);uC(b,qqb(new pqb(),i,b,g));f=wcb(new rcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=fA(new dA());gA(d,b);gA(d,f);ecb(g,'Multiple field constraint',d);fcb(g,zcb(new ycb(),'Advanced options','weak-Text'));h=wp(new qp(),'New formula');h.x(uqb(new tqb(),i,g));ecb(g,'Add a new formula style expression',h);vsb(i,g);rE(g,rN(j),sN(j));uE(g);}
+function Dsb(i,j,b){var a,c,d,e,f,g,h;h=dcb(new Ebb(),'images/newex_wiz.gif','Add fields to this constraint');AN(h,'ks-popups-Popup');a=sC(new kC());vC(a,'...');d=agb(i.b,i.e.c);for(f=0;f<d.a;f++){vC(a,d[f]);}bD(a,0);uC(a,dsb(new csb(),i,b,a,h));ecb(h,'Add a restriction on a field',a);c=sC(new kC());vC(c,'...');wC(c,'All of (And)','&&');wC(c,'Any of (Or)','||');bD(c,0);uC(c,hsb(new gsb(),i,c,b,h));g=wcb(new rcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=fA(new dA());gA(e,c);gA(e,g);ecb(h,'Multiple field constraint',e);rE(h,rN(j),sN(j));uE(h);}
+function Fsb(c,a,b){var d;d=bgb(c.d.a,b,a.c);return npb(new cob(),c.e,a.c,a,c.d,d);}
+function atb(){return mab(this.c);}
+function nqb(){}
+_=nqb.prototype=new bab();_.mc=atb;_.tN=Efc+'FactPatternWidget';_.tI=309;_.a=false;_.b=null;_.d=null;_.e=null;function lrb(b,a,c){b.a=a;b.b=c;return b;}
+function nrb(a){if(Bh('Remove this item?')){qjb(this.a.e,this.b);rwb(this.a.d);}}
+function oqb(){}
+_=oqb.prototype=new xT();_.wc=nrb;_.tN=Efc+'FactPatternWidget$1';_.tI=310;function qqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function sqb(b){var a;a=new tib();a.a=DC(this.b,CC(this.b));mjb(this.a.e,a);rwb(this.a.d);this.c.ic();}
+function pqb(){}
+_=pqb.prototype=new xT();_.vc=sqb;_.tN=Efc+'FactPatternWidget$10';_.tI=311;function uqb(b,a,c){b.a=a;b.b=c;return b;}
+function wqb(b){var a;a=new Bkb();a.e=5;mjb(this.a.e,a);rwb(this.a.d);this.b.ic();}
+function tqb(){}
+_=tqb.prototype=new xT();_.wc=wqb;_.tN=Efc+'FactPatternWidget$11';_.tI=312;function yqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Aqb(b){var a;a=xK(this.c);if(qwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=xK(this.c);rwb(this.a.d);this.b.ic();}
+function xqb(){}
+_=xqb.prototype=new xT();_.wc=Aqb;_.tN=Efc+'FactPatternWidget$12';_.tI=313;function Cqb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Eqb(a){this.b.a=DC(this.a,CC(this.a));}
+function Bqb(){}
+_=Bqb.prototype=new xT();_.vc=Eqb;_.tN=Efc+'FactPatternWidget$13';_.tI=314;function arb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function crb(a){this.c.d=DC(this.b,CC(this.b));dab(this.a.d);kV(),nV;}
+function Fqb(){}
+_=Fqb.prototype=new xT();_.vc=crb;_.tN=Efc+'FactPatternWidget$14';_.tI=315;function erb(b,a,c){b.a=a;b.b=c;return b;}
+function grb(a){Csb(this.a,a,this.b);}
+function drb(){}
+_=drb.prototype=new xT();_.wc=grb;_.tN=Efc+'FactPatternWidget$15';_.tI=316;function irb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function krb(b){var a;a=xK(this.d);if(qwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;rwb(this.a.d);this.c.ic();}
+function hrb(){}
+_=hrb.prototype=new xT();_.wc=krb;_.tN=Efc+'FactPatternWidget$16';_.tI=317;function prb(b,a,c){b.a=a;b.b=c;return b;}
+function rrb(a){Dsb(this.a,a,this.b);}
+function orb(){}
+_=orb.prototype=new xT();_.wc=rrb;_.tN=Efc+'FactPatternWidget$2';_.tI=318;function trb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vrb(a){if(Bh('Remove this item from nested constraint?')){wib(this.b,this.c);rwb(this.a.d);}}
+function srb(){}
+_=srb.prototype=new xT();_.wc=vrb;_.tN=Efc+'FactPatternWidget$3';_.tI=319;function xrb(b,a,c,d){b.a=c;b.b=d;return b;}
+function zrb(a){Dkb(this.a);rwb(this.b);}
+function wrb(){}
+_=wrb.prototype=new xT();_.wc=zrb;_.tN=Efc+'FactPatternWidget$4';_.tI=320;function Brb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Drb(a){this.c.f=xK(this.b);dab(this.a.d);}
+function Arb(){}
+_=Arb.prototype=new xT();_.vc=Drb;_.tN=Efc+'FactPatternWidget$5';_.tI=321;function Frb(b,a){b.a=a;return b;}
+function bsb(a){Esb(this.a,a);}
+function Erb(){}
+_=Erb.prototype=new xT();_.wc=bsb;_.tN=Efc+'FactPatternWidget$6';_.tI=322;function dsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function fsb(a){uib(this.c,Ckb(new Bkb(),BC(this.b,CC(this.b))));rwb(this.a.d);this.d.ic();}
+function csb(){}
+_=csb.prototype=new xT();_.vc=fsb;_.tN=Efc+'FactPatternWidget$7';_.tI=323;function hsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function jsb(b){var a;a=new tib();a.a=DC(this.c,CC(this.c));uib(this.b,a);rwb(this.a.d);this.d.ic();}
+function gsb(){}
+_=gsb.prototype=new xT();_.vc=jsb;_.tN=Efc+'FactPatternWidget$8';_.tI=324;function lsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nsb(a){mjb(this.a.e,Ckb(new Bkb(),BC(this.b,CC(this.b))));rwb(this.a.d);this.c.ic();}
+function ksb(){}
+_=ksb.prototype=new xT();_.vc=nsb;_.tN=Efc+'FactPatternWidget$9';_.tI=325;function ytb(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=tbb(new rbb());b=d.a;for(c=0;c<b.a;c++){a=b[c];vbb(f.a,a.a,Btb(f,a,c));}mr(f,f.a);return f;}
+function ztb(c,a){var b;b=gq(new fq());if(a.b===null){mq(b,true);a.b='true';}else{mq(b,qU(a.b,'true'));}b.x(dtb(new ctb(),c,a,b));return b;}
+function Btb(e,a,d){var b,c;if(qU(a.a,'no-loop')){return Ctb(e,d);}b=null;if(qU(a.a,'enabled')||qU(a.a,'auto-focus')||qU(a.a,'lock-on-active')){b=ztb(e,a);}else{b=Dtb(e,a);}c=rab(new qab());gA(c,b);gA(c,Ctb(e,d));return c;}
+function Ctb(c,a){var b;b=kB(new uA(),'images/delete_item_small.gif');lB(b,rtb(new qtb(),c,a));return b;}
+function Dtb(c,a){var b;b=FK(new qK());bL(b,uU(a.b)<3?3:uU(a.b));BK(b,a.b);tK(b,htb(new gtb(),c,a,b));if(qU(a.a,'date-effective')||qU(a.a,'date-expires')){if(a.b===null||qU('',a.b))BK(b,'dd-MMM-yyyy');bL(b,10);}uK(b,ltb(new ktb(),c,b));return b;}
+function Etb(){var a;a=sC(new kC());vC(a,'Choose...');vC(a,'salience');vC(a,'enabled');vC(a,'date-effective');vC(a,'date-expires');vC(a,'no-loop');vC(a,'agenda-group');vC(a,'activation-group');vC(a,'duration');vC(a,'auto-focus');vC(a,'lock-on-active');vC(a,'ruleflow-group');vC(a,'dialect');return a;}
+function Ftb(){return this.a.mc();}
+function btb(){}
+_=btb.prototype=new bab();_.mc=Ftb;_.tN=Efc+'RuleAttributeWidget';_.tI=326;_.a=null;_.b=null;_.c=null;function dtb(b,a,c,d){b.a=c;b.b=d;return b;}
+function ftb(a){this.a.b=lq(this.b)?'true':'false';}
+function ctb(){}
+_=ctb.prototype=new xT();_.wc=ftb;_.tN=Efc+'RuleAttributeWidget$1';_.tI=327;function htb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function jtb(a){this.b.b=xK(this.c);dab(this.a);}
+function gtb(){}
+_=gtb.prototype=new xT();_.vc=jtb;_.tN=Efc+'RuleAttributeWidget$2';_.tI=328;function ltb(b,a,c){b.a=c;return b;}
+function ntb(a,b,c){}
+function otb(a,b,c){}
+function ptb(a,b,c){bL(this.a,uU(xK(this.a)));}
+function ktb(){}
+_=ktb.prototype=new xT();_.Fc=ntb;_.ad=otb;_.bd=ptb;_.tN=Efc+'RuleAttributeWidget$3';_.tI=329;function rtb(b,a,c){b.a=a;b.b=c;return b;}
+function ttb(b){var a;a=hfb(new Eeb(),'Remove this rule option?',vtb(new utb(),this,this.b));rE(a,rN(b),sN(b));uE(a);}
+function qtb(){}
+_=qtb.prototype=new xT();_.wc=ttb;_.tN=Efc+'RuleAttributeWidget$4';_.tI=330;function vtb(b,a,c){b.a=a;b.b=c;return b;}
+function xtb(){ukb(this.a.a.b,this.b);rwb(this.a.a.c);}
+function utb(){}
+_=utb.prototype=new xT();_.nb=xtb;_.tN=Efc+'RuleAttributeWidget$5';_.tI=331;function fwb(b,a){b.c=Fb(a.b,83);b.a=uKb((sKb(),xKb),a.d.o);b.b=kab(new iab());pwb(b);AN(b.b,'model-builder-Background');mr(b,b.b);b.xe('100%');b.ne('100%');return b;}
+function gwb(b,a){mkb(b.c,Dhb(new Bhb(),a));rwb(b);}
+function hwb(b,a){mkb(b.c,fib(new dib(),a));rwb(b);}
+function iwb(b,a){lkb(b.c,mib(new lib(),a));rwb(b);}
+function jwb(b,a){lkb(b.c,djb(a));rwb(b);}
+function kwb(b,a){mkb(b.c,djb(a));rwb(b);}
+function lwb(b,a){lkb(b.c,ljb(new kjb(),a));rwb(b);}
+function mwb(a,b){mkb(a.c,vhb(new uhb(),b));rwb(a);}
+function owb(b){var a;a=ocb(new ncb(),'images/new_item.gif');a.pe('Add an option to the rule, to modify its behavior when evaluated or executed.');lB(a,kvb(new jvb(),b));return a;}
+function pwb(c){var a,b;hy(c.b);b=ocb(new ncb(),'images/new_item.gif');b.pe('Add a condition to this rule.');lB(b,cvb(new bub(),c));nab(c.b,0,0,cC(new aC(),'WHEN'));nab(c.b,0,2,b);nab(c.b,1,1,swb(c,c.c));nab(c.b,2,0,cC(new aC(),'THEN'));a=ocb(new ncb(),'images/new_item.gif');a.pe('Add an action to this rule.');lB(a,gvb(new fvb(),c));nab(c.b,2,2,a);nab(c.b,3,1,twb(c,c.c));nab(c.b,4,0,cC(new aC(),'(options)'));nab(c.b,4,2,owb(c));nab(c.b,5,1,ytb(new btb(),c,c.c));}
+function qwb(b,a){return tkb(b.c,a)||egb(b.a,a);}
+function rwb(a){pwb(a);dab(a);}
+function swb(e,c){var a,b,d,f,g;f=wab(new vab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,31)){g=psb(new nqb(),e,d,e.a,true);oO(f,ywb(e,c,b,g));oO(f,xwb(e));}else if(ac(d,29)){g=Cnb(new tnb(),e,Fb(d,29),e.a);oO(f,ywb(e,c,b,g));oO(f,xwb(e));}else if(ac(d,10)){}else{throw DT(new CT(),"I don't know what type of pattern that is.");}}a=wab(new vab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,10)){g=gqb(new Apb(),Fb(d,10));oO(a,ywb(e,c,b,g));AN(a,'model-builderInner-Background');}}oO(f,a);return f;}
+function twb(g,e){var a,b,c,d,f,h,i;h=wab(new vab());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,27)){i=knb(new hmb(),g,Fb(a,27),g.a);}else if(ac(a,24)){i=Dlb(new elb(),g,Fb(a,24),g.a);}else if(ac(a,26)){i=fmb(new emb(),g.a,Fb(a,26));}else if(ac(a,10)){i=gqb(new Apb(),Fb(a,10));AN(i,'model-builderInner-Background');}oO(h,xwb(g));b=rab(new qab());f=ocb(new ncb(),'images/delete_item_small.gif');f.pe('Remove this action.');d=c;lB(f,svb(new rvb(),g,e,d));gA(b,i);if(!ac(i,84)){i.xe('100%');b.xe('100%');}gA(b,f);oO(h,b);}return h;}
+function uwb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=dcb(new Ebb(),'images/new_fact.gif','Add a new action...');AN(k,'ks-popups-Popup');q=qkb(n.c);p=sC(new kC());l=sC(new kC());j=sC(new kC());vC(p,'Choose ...');vC(l,'Choose ...');vC(j,'Choose ...');for(i=q.nc();i.hc();){o=Fb(i.pc(),1);vC(p,o);vC(l,o);vC(j,o);}d=cgb(n.a);for(f=0;f<d.a;f++){vC(p,d[f]);}bD(p,0);uC(p,dub(new cub(),n,p,k));uC(l,hub(new gub(),n,l,k));uC(j,lub(new kub(),n,j,k));if(AC(p)>1){ecb(k,'Set the values of a field on',p);}if(AC(j)>1){e=fA(new dA());gA(e,j);g=kB(new uA(),'images/information.gif');g.pe('Modify a field on a fact, and notify the engine to re-evaluate rules.');gA(e,g);ecb(k,'Modify a fact',e);}if(AC(l)>1){ecb(k,'Retract the fact',l);}b=sC(new kC());c=sC(new kC());vC(b,'Choose ...');vC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];vC(b,h);vC(c,h);}uC(b,pub(new oub(),n,b,k));uC(c,tub(new sub(),n,c,k));if(AC(b)>1){ecb(k,'Insert a new fact',b);e=fA(new dA());gA(e,c);g=kB(new uA(),'images/inf!
 ormation.gif');g.pe('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');gA(e,g);ecb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=sC(new kC());vC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];wC(a,ejb(m),aT(f));}uC(a,xub(new wub(),n,a,k));ecb(k,'DSL sentence',a);}rE(k,dc(ai()/3),dc(Fh()/3));uE(k);}
+function vwb(c,d){var a,b;b=dcb(new Ebb(),'images/config.png','Add an option to the rule');a=Etb();bD(a,0);uC(a,ovb(new nvb(),c,a,b));AN(b,'ks-popups-Popup');ecb(b,'Attribute',a);rE(b,rN(d)-400,sN(d));uE(b);}
+function wwb(j,k){var a,b,c,d,e,f,g,h,i;h=dcb(new Ebb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=sC(new kC());wC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){vC(e,f[g]);}bD(e,0);if(f.a>0)ecb(h,'Fact',e);uC(e,Avb(new zvb(),j,e,h));AN(h,'ks-popups-Popup');c=(pfb(),qfb);b=sC(new kC());wC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];wC(b,ufb(a),a);}bD(b,0);if(f.a>0)ecb(h,'Condition type',b);uC(b,Evb(new Dvb(),j,b,h));if(j.a.b.a>0){d=sC(new kC());vC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];wC(d,ejb(i),aT(g));}uC(d,cwb(new bwb(),j,d,h));ecb(h,'DSL sentence',d);}rE(h,rN(k)-400,sN(k));uE(h);}
+function xwb(b){var a;a=kz(new nw(),'&nbsp;');a.ne('2px');return a;}
+function ywb(f,d,b,g){var a,c,e;a=rab(new qab());e=ocb(new ncb(),'images/delete_item_small.gif');e.pe('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;lB(e,Bub(new Aub(),f,d,c));a.xe('100%');g.xe('100%');gA(a,g);gA(a,e);return a;}
+function zwb(){return mab(this.b)||this.j;}
+function aub(){}
+_=aub.prototype=new bab();_.mc=zwb;_.tN=Efc+'RuleModeller';_.tI=332;_.a=null;_.b=null;_.c=null;function cvb(b,a){b.a=a;return b;}
+function evb(a){wwb(this.a,a);}
+function bub(){}
+_=bub.prototype=new xT();_.wc=evb;_.tN=Efc+'RuleModeller$1';_.tI=333;function dub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function fub(a){gwb(this.a,BC(this.c,CC(this.c)));this.b.ic();}
+function cub(){}
+_=cub.prototype=new xT();_.vc=fub;_.tN=Efc+'RuleModeller$10';_.tI=334;function hub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function jub(a){mwb(this.a,BC(this.c,CC(this.c)));this.b.ic();}
+function gub(){}
+_=gub.prototype=new xT();_.vc=jub;_.tN=Efc+'RuleModeller$11';_.tI=335;function lub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nub(a){hwb(this.a,BC(this.b,CC(this.b)));this.c.ic();}
+function kub(){}
+_=kub.prototype=new xT();_.vc=nub;_.tN=Efc+'RuleModeller$12';_.tI=336;function pub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function rub(b){var a;a=BC(this.b,CC(this.b));mkb(this.a.c,ghb(new ehb(),a));rwb(this.a);this.c.ic();}
+function oub(){}
+_=oub.prototype=new xT();_.vc=rub;_.tN=Efc+'RuleModeller$13';_.tI=337;function tub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vub(b){var a;a=BC(this.b,CC(this.b));mkb(this.a.c,ohb(new mhb(),a));rwb(this.a);this.c.ic();}
+function sub(){}
+_=sub.prototype=new xT();_.vc=vub;_.tN=Efc+'RuleModeller$14';_.tI=338;function xub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function zub(b){var a;a=ES(DC(this.b,CC(this.b)));kwb(this.a,this.a.a.a[a]);this.c.ic();}
+function wub(){}
+_=wub.prototype=new xT();_.vc=zub;_.tN=Efc+'RuleModeller$15';_.tI=339;function Bub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Dub(b){var a;a=hfb(new Eeb(),'Remove this entire condition?',Fub(new Eub(),this,this.c,this.b));rE(a,rN(b),sN(b));uE(a);}
+function Aub(){}
+_=Aub.prototype=new xT();_.wc=Dub;_.tN=Efc+'RuleModeller$16';_.tI=340;function Fub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function bvb(){if(vkb(this.c,this.b)){rwb(this.a.a);}else{jbb("Can't remove that item as it is used in the action part of the rule.");}}
+function Eub(){}
+_=Eub.prototype=new xT();_.nb=bvb;_.tN=Efc+'RuleModeller$17';_.tI=341;function gvb(b,a){b.a=a;return b;}
+function ivb(a){uwb(this.a,a);}
+function fvb(){}
+_=fvb.prototype=new xT();_.wc=ivb;_.tN=Efc+'RuleModeller$2';_.tI=342;function kvb(b,a){b.a=a;return b;}
+function mvb(a){vwb(this.a,a);}
+function jvb(){}
+_=jvb.prototype=new xT();_.wc=mvb;_.tN=Efc+'RuleModeller$3';_.tI=343;function ovb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function qvb(a){kkb(this.a.c,akb(new Fjb(),BC(this.b,CC(this.b)),''));rwb(this.a);this.c.ic();}
+function nvb(){}
+_=nvb.prototype=new xT();_.vc=qvb;_.tN=Efc+'RuleModeller$4';_.tI=344;function svb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function uvb(b){var a;a=hfb(new Eeb(),'Remove this item?',wvb(new vvb(),this,this.c,this.b));rE(a,rN(b),sN(b));uE(a);}
+function rvb(){}
+_=rvb.prototype=new xT();_.wc=uvb;_.tN=Efc+'RuleModeller$5';_.tI=345;function wvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function yvb(){wkb(this.c,this.b);rwb(this.a.a);}
+function vvb(){}
+_=vvb.prototype=new xT();_.nb=yvb;_.tN=Efc+'RuleModeller$6';_.tI=346;function Avb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Cvb(b){var a;a=BC(this.b,CC(this.b));if(!qU(a,'IGNORE')){lwb(this.a,a);this.c.ic();}}
+function zvb(){}
+_=zvb.prototype=new xT();_.vc=Cvb;_.tN=Efc+'RuleModeller$7';_.tI=347;function Evb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function awb(b){var a;a=DC(this.b,CC(this.b));if(!qU(a,'IGNORE')){iwb(this.a,a);this.c.ic();}}
+function Dvb(){}
+_=Dvb.prototype=new xT();_.vc=awb;_.tN=Efc+'RuleModeller$8';_.tI=348;function cwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ewb(b){var a;a=ES(DC(this.b,CC(this.b)));jwb(this.a,this.a.a.b[a]);this.c.ic();}
+function bwb(){}
+_=bwb.prototype=new xT();_.vc=ewb;_.tN=Efc+'RuleModeller$9';_.tI=349;function Cwb(b,a,c){b.a=c;return b;}
+function Ewb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
+function Bwb(){}
+_=Bwb.prototype=new xT();_.wc=Ewb;_.tN=Ffc+'AssetAttachmentFileWidget$1';_.tI=350;function axb(b,a){b.a=a;return b;}
+function cxb(a){oxb(this.a);pxb(this.a);}
+function Fwb(){}
+_=Fwb.prototype=new xT();_.wc=cxb;_.tN=Ffc+'AssetAttachmentFileWidget$2';_.tI=351;function exb(b,a){b.a=a;return b;}
+function hxb(a){}
+function gxb(a){edb();if(sU(a.a,'OK')>(-1)){x$b(this.a.e);}else{jbb('Unable to upload the file.');}}
+function dxb(){}
+_=dxb.prototype=new xT();_.ld=hxb;_.kd=gxb;_.tN=Ffc+'AssetAttachmentFileWidget$3';_.tI=352;function Bxb(){Bxb=v2;gcb();}
+function zxb(c){var a,b;Bxb();dcb(c,'images/new_wiz.gif','Create a new fact template');c.a=rt(new lt());c.b=FK(new qK());ecb(c,'Name:',c.b);ecb(c,'Fact attributes:',c.a);a=kB(new uA(),'images/new_item.gif');lB(a,sxb(new rxb(),c));ecb(c,'Add a new attribute',a);b=wp(new qp(),'Create');b.x(wxb(new vxb(),c));ecb(c,'',b);return c;}
+function Axb(b){var a;a=vt(b.a);b.a.ve(a,0,FK(new qK()));b.a.ve(a,1,Exb(b));}
+function Cxb(d){var a,b,c,e,f;b='template '+xK(d.b)+'\n';for(a=0;a<vt(d.a);a++){e=Fb(qy(d.a,a,1),85);f=BC(e,CC(e));c=xK(Fb(qy(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
+function Dxb(b,a){b.c=a;}
+function Exb(b){var a;a=sC(new kC());vC(a,'String');vC(a,'Integer');vC(a,'Float');vC(a,'Date');vC(a,'Boolean');return a;}
+function qxb(){}
+_=qxb.prototype=new Ebb();_.tN=Ffc+'FactTemplateWizard';_.tI=353;_.a=null;_.b=null;_.c=null;function sxb(b,a){b.a=a;return b;}
+function uxb(a){Axb(this.a);}
+function rxb(){}
+_=rxb.prototype=new xT();_.wc=uxb;_.tN=Ffc+'FactTemplateWizard$1';_.tI=354;function wxb(b,a){b.a=a;return b;}
+function yxb(a){BCb(this.a.c);this.a.ic();}
+function vxb(){}
+_=vxb.prototype=new xT();_.wc=yxb;_.tN=Ffc+'FactTemplateWizard$2';_.tI=355;function ayb(b,a,c){ixb(b,a,c);return b;}
+function cyb(){return 'images/model_large.png';}
+function dyb(){return 'editable-Surface';}
+function Fxb(){}
+_=Fxb.prototype=new Awb();_.sb=cyb;_.Bb=dyb;_.tN=Ffc+'ModelAttachmentFileWidget';_.tI=356;function czb(){czb=v2;gcb();}
+function azb(a){a.b=tbb(new rbb());a.d=tbb(new rbb());}
+function bzb(f,b){var a,c,d,e;czb();dcb(f,'images/new_wiz.gif','Create a new package');azb(f);f.c=FK(new qK());f.a=kK(new jK());ybb(f.d,kz(new nw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));ybb(f.b,kz(new nw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));vbb(f.d,'Name:',f.c);vbb(f.d,'Description:',f.a);f.c.pe('The name of the package. Avoid spaces, use underscore instead.');e=eG(new cG(),'action','Create new pa!
 ckage');d=eG(new cG(),'action','Import from drl file');mq(e,true);f.d.ue(true);e.x(gyb(new fyb(),f));f.b.ue(false);d.x(kyb(new jyb(),f));a=ip(new hp());jp(a,e);jp(a,d);fcb(f,a);fcb(f,f.d);fcb(f,f.b);vbb(f.b,'DRL file to import:',ezb(b,f));c=wp(new qp(),'Create package');c.x(oyb(new nyb(),f,b));vbb(f.d,'',c);AN(f,'ks-popups-Popup');return f;}
+function dzb(d,b,a,c){idb('Creating package - please wait...');qTb(ELb(),b,a,tyb(new syb(),d,c));}
+function ezb(a,d){czb();var b,c,e,f;f=cv(new Du());iv(f,v()+'package');jv(f,'multipart/form-data');kv(f,'post');c=fA(new dA());f.we(c);e=gt(new ft());jt(e,'classicDRLFile');gA(c,e);gA(c,cC(new aC(),'upload:'));b=pcb(new ncb(),'images/upload.gif','Import');lB(b,yyb(new xyb(),f));gA(c,b);dv(f,Cyb(new Byb(),a,d,e));return f;}
+function eyb(){}
+_=eyb.prototype=new Ebb();_.tN=Ffc+'NewPackageWizard';_.tI=357;_.a=null;_.c=null;function gyb(b,a){b.a=a;return b;}
+function iyb(a){this.a.d.ue(true);this.a.b.ue(false);}
+function fyb(){}
+_=fyb.prototype=new xT();_.wc=iyb;_.tN=Ffc+'NewPackageWizard$1';_.tI=358;function kyb(b,a){b.a=a;return b;}
+function myb(a){this.a.d.ue(false);this.a.b.ue(true);}
+function jyb(){}
+_=jyb.prototype=new xT();_.wc=myb;_.tN=Ffc+'NewPackageWizard$2';_.tI=359;function oyb(b,a,c){b.a=a;b.b=c;return b;}
+function qyb(b,a){return vU(a,'[a-zA-Z\\.]*');}
+function ryb(a){if(qyb(this,xK(this.a.c))){dzb(this.a,xK(this.a.c),xK(this.a.a),this.b);this.a.ic();}else{BK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
+function nyb(){}
+_=nyb.prototype=new xT();_.wc=ryb;_.tN=Ffc+'NewPackageWizard$3';_.tI=360;function tyb(b,a,c){b.a=c;return b;}
+function vyb(b,a){edb();eFb(b.a);}
+function wyb(a){vyb(this,a);}
+function syb(){}
+_=syb.prototype=new hcb();_.md=wyb;_.tN=Ffc+'NewPackageWizard$4';_.tI=361;function yyb(a,b){a.a=b;return a;}
+function Ayb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){idb('Importing drl package, please wait, as this could take some time...');mv(this.a);}}
+function xyb(){}
+_=xyb.prototype=new xT();_.wc=Ayb;_.tN=Ffc+'NewPackageWizard$5';_.tI=362;function Cyb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
+function Fyb(a){if(uU(it(this.c))==0){zh('You did not choose a drl file to import !');yv(a,true);}else if(!oU(it(this.c),'.drl')){zh("You can only import '.drl' files.");yv(a,true);}}
+function Eyb(a){if(sU(a.a,'OK')>(-1)){zh('Package was imported successfully. ');eFb(this.a);this.b.ic();}else{jbb('Unable to import into the package. ['+a.a+']');}edb();}
+function Byb(){}
+_=Byb.prototype=new xT();_.ld=Fyb;_.kd=Eyb;_.tN=Ffc+'NewPackageWizard$6';_.tI=363;function FAb(h,e,f){var a,b,c,d,g;h.c=ubb(new rbb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=aH(new yG());g=FK(new qK());a=wp(new qp(),'Build package');a.pe('This will validate and compile all the assets in a package.');a.x(yzb(new gzb(),h,b,g));c=wp(new qp(),'Show package source');c.x(Czb(new Bzb(),h,e));vbb(h.c,'View source for package',c);d=fA(new dA());gA(d,a);gA(d,kz(new nw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));gA(d,g);gA(d,wcb(new rcb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));vbb(h.c,'Build binary package:',d);ybb(h.c,kz(new nw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));ybb(h.c,b);AN(h.c,'package-Editor');h.c.xe('100%');mr(h,h.c);return h;}
+function bBb(d,a,c){var b;a.F();b=fA(new dA());gA(b,cC(new aC(),'Validating and building package, please wait...'));gA(b,kB(new uA(),'images/red_anime.gif'));idb('Please wait...');cH(a,b);fg(pAb(new oAb(),d,c,a));}
+function cBb(i,e,a){var b,c,d,f,g,h;a.F();b=rt(new lt());AN(b,'build-Results');Ey(b,0,1,'Format');Ey(b,0,2,'Name');Ey(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ve(f,0,kB(new uA(),'images/error.gif'));Ey(b,f,1,d.a);Ey(b,f,2,d.b);Ey(b,f,3,d.c);if(!qU('package',d.a)){h=wp(new qp(),'Show');h.x(CAb(new BAb(),i,d));b.ve(f,4,h);}}b.xe('100%');g=uG(new sG(),b);wG(g,true);zN(g,'100%','25em');cH(a,g);}
+function dBb(g,i){var a,b,c,d,e,f,h;idb('Loading existing snapshots...');c=dcb(new Ebb(),'images/snapshot.png','Create a snapshot for deployment.');fcb(c,kz(new nw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=nO(new lO());ecb(c,'Choose or create snapshot name:',h);f=FX(new DX());d=FK(new qK());e='NEW: ';vTb(ELb(),g.a.j,izb(new hzb(),g,f,h,d));a=FK(new qK());ecb(c,'Comment:',a);b=wp(new qp(),'Create new snapshot');ecb(c,'',b);b.x(qzb(new pzb(),g,f,d,a,c));c.xe('50%');rE(c,dc((fab()-mE(c))/2),100);uE(c);}
+function eBb(e,a){var b,c,d,f;a.F();f=nO(new lO());oO(f,kz(new nw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=gBb(e.a);b=kz(new nw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");oO(f,b);d=wp(new qp(),'Create snapshot for deployment');d.x(yAb(new xAb(),e));oO(f,d);cH(a,f);}
+function fBb(b,a){idb('Assembling package source...');fg(aAb(new Fzb(),b,a));}
+function gBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
+function hBb(b,c){var a,d;d=dcb(new Ebb(),'images/view_source.gif','Viewing source for: '+c);a=kK(new jK());pK(a,30);a.xe('100%');oK(a,80);fcb(d,a);BK(a,b);a.ke(true);a.pe('THIS IS READ ONLY - you may copy and paste, but not edit.');uK(a,jAb(new iAb(),a,b));edb();rE(d,dc((fab()-mE(d))/2),100);uE(d);}
+function fzb(){}
+_=fzb.prototype=new kr();_.tN=Ffc+'PackageBuilderWidget';_.tI=364;_.a=null;_.b=null;_.c=null;function yzb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Azb(a){bBb(this.a,this.b,xK(this.c));}
+function gzb(){}
+_=gzb.prototype=new xT();_.wc=Azb;_.tN=Ffc+'PackageBuilderWidget$1';_.tI=365;function izb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
+function kzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=eG(new cG(),'snapshotNameGroup',f[c].b);bY(this.b,b);oO(this.c,b);}d=fA(new dA());e=eG(new cG(),'snapshotNameGroup','NEW: ');gA(d,e);this.a.ke(false);e.x(mzb(new lzb(),this,this.a));gA(d,this.a);bY(this.b,e);oO(this.c,d);edb();}
+function hzb(){}
+_=hzb.prototype=new hcb();_.md=kzb;_.tN=Ffc+'PackageBuilderWidget$10';_.tI=366;function mzb(b,a,c){b.a=c;return b;}
+function ozb(a){this.a.ke(true);}
+function lzb(){}
+_=lzb.prototype=new xT();_.wc=ozb;_.tN=Ffc+'PackageBuilderWidget$11';_.tI=367;function qzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
+function szb(d){var a,b,c;c=false;for(b=this.f.nc();b.hc();){a=Fb(b.pc(),87);if(lq(a)){this.a=kq(a);if(!qU(kq(a),'NEW: ')){c=true;}break;}}if(qU(this.a,'NEW: ')){this.a=xK(this.e);}if(qU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}pTb(ELb(),this.b.a.j,this.a,c,xK(this.c),uzb(new tzb(),this,this.d));}
+function pzb(){}
+_=pzb.prototype=new xT();_.wc=szb;_.tN=Ffc+'PackageBuilderWidget$12';_.tI=368;_.a='';function uzb(b,a,c){b.a=a;b.b=c;return b;}
+function wzb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.ic();}
+function xzb(a){wzb(this,a);}
+function tzb(){}
+_=tzb.prototype=new hcb();_.md=xzb;_.tN=Ffc+'PackageBuilderWidget$13';_.tI=369;function Czb(b,a,c){b.a=c;return b;}
+function Ezb(a){fBb(this.a.m,this.a.j);}
+function Bzb(){}
+_=Bzb.prototype=new xT();_.wc=Ezb;_.tN=Ffc+'PackageBuilderWidget$2';_.tI=370;function aAb(a,c,b){a.b=c;a.a=b;return a;}
+function cAb(){eTb(ELb(),this.b,eAb(new dAb(),this,this.a));}
+function Fzb(){}
+_=Fzb.prototype=new xT();_.nb=cAb;_.tN=Ffc+'PackageBuilderWidget$3';_.tI=371;function eAb(b,a,c){b.a=c;return b;}
+function gAb(c,b){var a;a=Fb(b,1);hBb(a,c.a);}
+function hAb(a){gAb(this,a);}
+function dAb(){}
+_=dAb.prototype=new hcb();_.md=hAb;_.tN=Ffc+'PackageBuilderWidget$4';_.tI=372;function jAb(a,b,c){a.a=b;a.b=c;return a;}
+function lAb(a,b,c){BK(this.a,this.b);}
+function mAb(a,b,c){BK(this.a,this.b);}
+function nAb(a,b,c){BK(this.a,this.b);}
+function iAb(){}
+_=iAb.prototype=new xT();_.Fc=lAb;_.ad=mAb;_.bd=nAb;_.tN=Ffc+'PackageBuilderWidget$5';_.tI=373;function pAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rAb(){fTb(ELb(),this.a.a.m,this.c,tAb(new sAb(),this,this.b));}
+function oAb(){}
+_=oAb.prototype=new xT();_.nb=rAb;_.tN=Ffc+'PackageBuilderWidget$6';_.tI=374;function tAb(b,a,c){b.a=a;b.b=c;return b;}
+function vAb(c,a){var b;edb();if(a===null){eBb(c.a.a,c.b);}else{b=Fb(a,88);cBb(c.a.a,b,c.b);}}
+function wAb(a){vAb(this,a);}
+function sAb(){}
+_=sAb.prototype=new hcb();_.md=wAb;_.tN=Ffc+'PackageBuilderWidget$7';_.tI=375;function yAb(b,a){b.a=a;return b;}
+function AAb(a){dBb(this.a,a);}
+function xAb(){}
+_=xAb.prototype=new xT();_.wc=AAb;_.tN=Ffc+'PackageBuilderWidget$8';_.tI=376;function CAb(b,a,c){b.a=a;b.b=c;return b;}
+function EAb(a){aIb(this.a.b,this.b.d);}
+function BAb(){}
+_=BAb.prototype=new xT();_.wc=EAb;_.tN=Ffc+'PackageBuilderWidget$9';_.tI=377;function fEb(e,b,c,a,d){tbb(e);e.b=b;e.c=c;e.a=a;e.e=d;AN(e,'package-Editor');e.xe('100%');lEb(e);return e;}
+function hEb(b){var a;a=kK(new jK());a.xe('100%');pK(a,8);BK(a,b.b.d);tK(a,cDb(new bDb(),b,a));oK(a,100);return jEb(b,a);}
+function iEb(b,a){idb('Saving package configuration. Please wait ...');gUb(ELb(),b.b,uBb(new tBb(),b,a));}
+function jEb(d,a){var b,c;c=fA(new dA());gA(c,a);b=kB(new uA(),'images/max_min.gif');b.pe('Increase view area');gA(c,b);lB(b,ECb(new DCb(),d,a));return c;}
+function kEb(g){var a,b,c,d,e,f,h;a=kK(new jK());a.xe('100%');pK(a,8);oK(a,100);BK(a,g.b.f);tK(a,bCb(new aCb(),g,a));f=fA(new dA());gA(f,a);h=nO(new lO());b=kB(new uA(),'images/max_min.gif');lB(b,fCb(new eCb(),g,a));b.pe('Increase view area.');oO(h,b);e=kB(new uA(),'images/new_import.gif');lB(e,jCb(new iCb(),g,a));oO(h,e);e.pe('Add a new Type/Class import to the package.');d=kB(new uA(),'images/new_global.gif');lB(d,nCb(new mCb(),g,a));d.pe('Add a new global variable declaration.');oO(h,d);c=kB(new uA(),'images/fact_template.gif');lB(c,vCb(new uCb(),g,a));c.pe('Add a new fact template.');f.xe('100%');gA(f,h);return f;}
+function lEb(c){var a,b;zbb(c);ybb(c,sEb(c));vbb(c,'Description:',hEb(c));vbb(c,'Header:',kEb(c));ybb(c,kz(new nw(),'<hr/>'));vbb(c,'Last modified:',cC(new aC(),sZ(c.b.i)));vbb(c,'Last contributor:',cC(new aC(),c.b.h));ybb(c,kz(new nw(),'<hr/>'));c.f=jz(new nw());b=fA(new dA());a=ocb(new ncb(),'images/edit.gif');a.pe('Change status.');lB(a,qCb(new jBb(),c));gA(b,c.f);if(!c.b.g){gA(b,a);}oEb(c,c.b.l);vbb(c,'Status:',b);if(!c.b.g){ybb(c,nEb(c));}ybb(c,kz(new nw(),'<hr/>'));}
+function mEb(a){idb('Refreshing package data...');ATb(ELb(),a.b.m,DBb(new CBb(),a));}
+function nEb(f){var a,b,c,d,e;c=fA(new dA());e=wp(new qp(),'Save and validate configuration');e.x(nDb(new mDb(),f));gA(c,e);a=wp(new qp(),'Archive');a.x(rDb(new qDb(),f));gA(c,a);b=wp(new qp(),'Copy');b.x(vDb(new uDb(),f));gA(c,b);d=wp(new qp(),'Rename');d.x(zDb(new yDb(),f));gA(c,d);return c;}
+function oEb(b,a){nz(b.f,'<b>'+a+'<\/b>');}
+function pEb(d){var a,b,c;c=dcb(new Ebb(),'images/new_wiz.gif','Copy the package');fcb(c,kz(new nw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=FK(new qK());ecb(c,'New package name:',a);b=wp(new qp(),'OK');ecb(c,'',b);b.x(lBb(new kBb(),d,a,c));c.xe('40%');rE(c,dc(ai()/3),dc(Fh()/3));uE(c);}
+function qEb(d){var a,b,c;c=dcb(new Ebb(),'images/new_wiz.gif','Rename the package');fcb(c,kz(new nw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=FK(new qK());ecb(c,'New package name:',a);b=wp(new qp(),'OK');ecb(c,'',b);b.x(DDb(new CDb(),d,a,c));c.xe('40%');rE(c,dc(ai()/3),dc(Fh()/3));uE(c);}
+function rEb(b,c){var a;a=leb(new vdb(),b.b.m,true);oeb(a,jDb(new iDb(),b,a));rE(a,rN(c),sN(c));uE(a);}
+function sEb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=kB(new uA(),'images/warning.gif');a=fA(new dA());gA(a,b);c=kz(new nw(),'<b>There were errors validating this package configuration.');gA(a,c);d=wp(new qp(),'View errors');d.x(fDb(new tCb(),e));gA(a,d);return a;}else{return aH(new yG());}}
+function iBb(){}
+_=iBb.prototype=new rbb();_.tN=Ffc+'PackageEditor';_.tI=378;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function qCb(b,a){b.a=a;return b;}
+function sCb(a){rEb(this.a,a);}
+function jBb(){}
+_=jBb.prototype=new xT();_.wc=sCb;_.tN=Ffc+'PackageEditor$1';_.tI=379;function lBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nBb(a){mTb(ELb(),this.a.b.j,xK(this.b),pBb(new oBb(),this,this.c));}
+function kBb(){}
+_=kBb.prototype=new xT();_.wc=nBb;_.tN=Ffc+'PackageEditor$10';_.tI=380;function pBb(b,a,c){b.a=a;b.b=c;return b;}
+function rBb(b,a){cGb(b.a.a.e);zh('Package copied successfully.');b.b.ic();}
+function sBb(a){rBb(this,a);}
+function oBb(){}
+_=oBb.prototype=new hcb();_.md=sBb;_.tN=Ffc+'PackageEditor$11';_.tI=381;function uBb(b,a,c){b.a=a;b.b=c;return b;}
+function wBb(b,a){iGb(b.a.a);b.a.d=Fb(a,89);mEb(b.a);idb('Package configuration updated successfully, refreshing content cache...');wKb((sKb(),xKb),b.a.b.j,zBb(new yBb(),b,b.b));}
+function xBb(a){wBb(this,a);}
+function tBb(){}
+_=tBb.prototype=new hcb();_.md=xBb;_.tN=Ffc+'PackageEditor$12';_.tI=382;function zBb(b,a,c){b.a=c;return b;}
+function BBb(){if(this.a!==null){cGb(this.a);}edb();}
+function yBb(){}
+_=yBb.prototype=new xT();_.nb=BBb;_.tN=Ffc+'PackageEditor$13';_.tI=383;function DBb(b,a){b.a=a;return b;}
+function FBb(a){edb();this.a.b=Fb(a,16);lEb(this.a);}
+function CBb(){}
+_=CBb.prototype=new hcb();_.md=FBb;_.tN=Ffc+'PackageEditor$14';_.tI=384;function bCb(b,a,c){b.a=a;b.b=c;return b;}
+function dCb(a){this.a.b.f=xK(this.b);EFb(this.a.c);}
+function aCb(){}
+_=aCb.prototype=new xT();_.vc=dCb;_.tN=Ffc+'PackageEditor$16';_.tI=385;function fCb(b,a,c){b.a=c;return b;}
+function hCb(a){if(nK(this.a)!=32){pK(this.a,32);}else{pK(this.a,8);}}
+function eCb(){}
+_=eCb.prototype=new xT();_.wc=hCb;_.tN=Ffc+'PackageEditor$17';_.tI=386;function jCb(b,a,c){b.a=a;b.b=c;return b;}
+function lCb(a){BK(this.b,xK(this.b)+'\n'+'import <your class here>');this.a.b.f=xK(this.b);}
+function iCb(){}
+_=iCb.prototype=new xT();_.wc=lCb;_.tN=Ffc+'PackageEditor$18';_.tI=387;function nCb(b,a,c){b.a=a;b.b=c;return b;}
+function pCb(a){BK(this.b,xK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=xK(this.b);}
+function mCb(){}
+_=mCb.prototype=new xT();_.wc=pCb;_.tN=Ffc+'PackageEditor$19';_.tI=388;function fDb(b,a){b.a=a;return b;}
+function hDb(a){var b;b=qeb(new peb(),this.a.d.a,this.a.d.b);rE(b,dc(ai()/4),sN(a));uE(b);}
+function tCb(){}
+_=tCb.prototype=new xT();_.wc=hDb;_.tN=Ffc+'PackageEditor$2';_.tI=389;function vCb(b,a,c){b.a=a;b.b=c;return b;}
+function xCb(a){var b;b=zxb(new qxb());rE(b,rN(a)-400,sN(a)-250);Dxb(b,zCb(new yCb(),this,this.b,b));uE(b);}
+function uCb(){}
+_=uCb.prototype=new xT();_.wc=xCb;_.tN=Ffc+'PackageEditor$20';_.tI=390;function zCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function BCb(a){BK(a.b,xK(a.b)+'\n'+Cxb(a.c));a.a.a.b.f=xK(a.b);}
+function CCb(){BCb(this);}
+function yCb(){}
+_=yCb.prototype=new xT();_.nb=CCb;_.tN=Ffc+'PackageEditor$21';_.tI=391;function ECb(b,a,c){b.a=c;return b;}
+function aDb(a){if(nK(this.a)!=32){pK(this.a,32);}else{pK(this.a,8);}}
+function DCb(){}
+_=DCb.prototype=new xT();_.wc=aDb;_.tN=Ffc+'PackageEditor$22';_.tI=392;function cDb(b,a,c){b.a=a;b.b=c;return b;}
+function eDb(a){this.a.b.d=xK(this.b);EFb(this.a.c);}
+function bDb(){}
+_=bDb.prototype=new xT();_.vc=eDb;_.tN=Ffc+'PackageEditor$23';_.tI=393;function jDb(b,a,c){b.a=a;b.b=c;return b;}
+function lDb(){oEb(this.a,this.b.c);}
+function iDb(){}
+_=iDb.prototype=new xT();_.nb=lDb;_.tN=Ffc+'PackageEditor$3';_.tI=394;function nDb(b,a){b.a=a;return b;}
+function pDb(a){iEb(this.a,null);}
+function mDb(){}
+_=mDb.prototype=new xT();_.wc=pDb;_.tN=Ffc+'PackageEditor$4';_.tI=395;function rDb(b,a){b.a=a;return b;}
+function tDb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;iEb(this.a,this.a.e);}}
+function qDb(){}
+_=qDb.prototype=new xT();_.wc=tDb;_.tN=Ffc+'PackageEditor$5';_.tI=396;function vDb(b,a){b.a=a;return b;}
+function xDb(a){pEb(this.a);}
+function uDb(){}
+_=uDb.prototype=new xT();_.wc=xDb;_.tN=Ffc+'PackageEditor$6';_.tI=397;function zDb(b,a){b.a=a;return b;}
+function BDb(a){qEb(this.a);}
+function yDb(){}
+_=yDb.prototype=new xT();_.wc=BDb;_.tN=Ffc+'PackageEditor$7';_.tI=398;function DDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function FDb(a){eUb(ELb(),this.a.b.m,xK(this.b),bEb(new aEb(),this,this.c));}
+function CDb(){}
+_=CDb.prototype=new xT();_.wc=FDb;_.tN=Ffc+'PackageEditor$8';_.tI=399;function bEb(b,a,c){b.a=a;b.b=c;return b;}
+function dEb(b,a){cGb(b.a.a.e);zh('Package renamed successfully.');b.b.ic();}
+function eEb(a){dEb(this,a);}
+function aEb(){}
+_=aEb.prototype=new hcb();_.md=eEb;_.tN=Ffc+'PackageEditor$9';_.tI=400;function qHb(a){a.f=aGb(new uEb(),a);}
+function rHb(b,a){sHb(b,a,null,null);return b;}
+function sHb(g,b,h,f){var a,c,d,e;qHb(g);g.b=b;g.h=h;g.c=pM(new cL());g.d=kab(new iab());g.g=new eGb();tM(g.c,g.g);e=nO(new lO());if(f===null){a=rt(new lt());ex(a.n,0,0,'new-asset-Icons');bx(a.n,0,0,(uz(),vz),(Dz(),Fz));a.ve(0,0,vHb(g));oO(e,a);a.xe('100%');}oO(e,g.c);nab(g.d,0,0,e);c=ut(g.d);fx(c,0,0,(Dz(),aA));qt(ut(g.d),0,1,2);bx(ut(g.d),0,1,(uz(),vz),(Dz(),aA));zHb(g);d=BM(g.c,0);if(d!==null)fN(g.c,d);nab(g.d,0,1,kz(new nw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));hx(ut(g.d),0,0,'25%');bx(ut(g.d),0,1,(uz(),wz),(Dz(),aA));g.e=Bcc(new Fbc(),g.b,'rulelist');mr(g,g.d);return g;}
+function tHb(d,a,c){var b;b=yHb(d,a.j,'images/package.gif',oHb(new nHb(),hFb(new gFb(),d,a)));b.y(yHb(d,'Business rule assets','images/rule_asset.gif',AHb(d,a.m,(b_(),c_))));b.y(yHb(d,'Technical rule assets','images/technical_rule_assets.gif',AHb(d,a.m,(b_(),e_))));b.y(yHb(d,'Functions','images/function_assets.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['function']))));b.y(yHb(d,'DSL','images/dsl.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['dsl']))));b.y(yHb(d,'Model','images/model_asset.gif',AHb(d,a.m,zb('[Ljava.lang.String;',607,1,['jar']))));rM(d.c,b);if(c){gN(d.c,b,true);}}
+function vHb(h){var a,b,c,d,e,f,g,i;g=fA(new dA());d=kB(new uA(),'images/new_package.gif');d.pe('Create a new package');lB(d,sGb(new rGb(),h));i=ocb(new ncb(),'images/model_asset.gif');lB(i,wGb(new vGb(),h));i.pe('This creates a new model archive - models contain classes/types that rules use.');e=ocb(new ncb(),'images/new_rule.gif');e.pe('Create new rule');lB(e,AGb(new zGb(),h));c=ocb(new ncb(),'images/function_assets.gif');c.pe('Create a new function');lB(c,cHb(new bHb(),h));a=ocb(new ncb(),'images/dsl.gif');a.pe('Create a new DSL (language configuration)');lB(a,gHb(new fHb(),h));f=ocb(new ncb(),'images/ruleflow_small.gif');f.pe('Upload a new ruleflow.');lB(f,kHb(new jHb(),h));b=ocb(new ncb(),'images/new_enumeration.gif');b.pe('Create a new data enumeration (drop down list)');lB(b,wEb(new vEb(),h));gA(g,d);gA(g,i);gA(g,e);gA(g,c);gA(g,a);gA(g,f);gA(g,b);return g;}
+function wHb(d,a,e){var b,c,f;b=70;f=100;c=i7b(new y6b(),lGb(new kGb(),d),false,a,e,d.a);rE(c,dc((fab()-mE(c))/2),100);uE(c);}
+function xHb(a,b){idb('Loading package information ...');ATb(ELb(),b,uFb(new tFb(),a));}
+function yHb(e,d,b,a){var c;c=uL(new sL());CL(c,'<img src="'+b+'">'+d+'<\/a>');cM(c,a);return c;}
+function zHb(a){if(a.h===null){idb('Loading list of packages ...');uTb(ELb(),AEb(new zEb(),a));}else{idb('Loading package ...');ATb(ELb(),a.h,EEb(new DEb(),a));}}
+function AHb(c,d,b){var a;a=lFb(new kFb(),c);return oHb(new nHb(),qFb(new pFb(),c,d,b,a));}
+function BHb(b,c){var a;a=bzb(new eyb(),cFb(new bFb(),b));rE(a,dc((fab()-mE(a))/2),100);uE(a);}
+function tEb(){}
+_=tEb.prototype=new bab();_.tN=Ffc+'PackageExplorerWidget';_.tI=401;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function aGb(b,a){b.a=a;return b;}
+function cGb(a){zHb(a.a);}
+function dGb(){cGb(this);}
+function uEb(){}
+_=uEb.prototype=new xT();_.nb=dGb;_.tN=Ffc+'PackageExplorerWidget$1';_.tI=402;function wEb(b,a){b.a=a;return b;}
+function yEb(a){wHb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
+function vEb(){}
+_=vEb.prototype=new xT();_.wc=yEb;_.tN=Ffc+'PackageExplorerWidget$10';_.tI=403;function AEb(b,a){b.a=a;return b;}
+function CEb(a){var b,c;c=Fb(a,71);uM(this.a.c);for(b=0;b<c.a;b++){if(b==0){tHb(this.a,c[b],true);}else{tHb(this.a,c[b],false);}}edb();}
+function zEb(){}
+_=zEb.prototype=new hcb();_.md=CEb;_.tN=Ffc+'PackageExplorerWidget$11';_.tI=404;function EEb(b,a){b.a=a;return b;}
+function aFb(a){var b;b=Fb(a,16);uM(this.a.c);tHb(this.a,b,true);edb();}
+function DEb(){}
+_=DEb.prototype=new hcb();_.md=aFb;_.tN=Ffc+'PackageExplorerWidget$12';_.tI=405;function cFb(b,a){b.a=a;return b;}
+function eFb(a){zHb(a.a);}
+function fFb(){eFb(this);}
+function bFb(){}
+_=bFb.prototype=new xT();_.nb=fFb;_.tN=Ffc+'PackageExplorerWidget$13';_.tI=406;function hFb(b,a,c){b.a=a;b.b=c;return b;}
+function jFb(){if(this.a.mc()){if(Bh('Discard Changes ? ')){eab(this.a);xHb(this.a,this.b.m);}}else{xHb(this.a,this.b.m);}}
+function gFb(){}
+_=gFb.prototype=new xT();_.nb=jFb;_.tN=Ffc+'PackageExplorerWidget$14';_.tI=407;function lFb(b,a){b.a=a;return b;}
+function nFb(c,a){var b;b=Fb(a,62);adc(c.a.e,b);c.a.e.xe('100%');nab(c.a.d,0,1,c.a.e);bx(ut(c.a.d),0,1,(uz(),wz),(Dz(),aA));edb();}
+function oFb(a){nFb(this,a);}
+function kFb(){}
+_=kFb.prototype=new hcb();_.md=oFb;_.tN=Ffc+'PackageExplorerWidget$15';_.tI=408;function qFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
+function sFb(){idb('Loading list, please wait...');tTb(ELb(),this.c,this.b,(-1),(-1),this.a);}
+function pFb(){}
+_=pFb.prototype=new xT();_.nb=sFb;_.tN=Ffc+'PackageExplorerWidget$16';_.tI=409;function uFb(b,a){b.a=a;return b;}
+function wFb(c){var a,b,d,e,f,g,h,i;b=Fb(c,16);g=wH(new vH());this.a.a=b.j;e=ubb(new rbb(),'images/package_large.png',b.j);AN(e,'package-Editor');e.xe('100%');vbb(e,'Description:',cC(new aC(),b.d));vbb(e,'Date created:',cC(new aC(),sZ(b.c)));if(b.g){vbb(e,'Snapshot created on:',cC(new aC(),sZ(b.i)));vbb(e,'Snapshot comment:',cC(new aC(),b.b));h=gBb(b);d=kz(new nw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");vbb(e,'Download package:',d);vbb(e,'Package URI:',cC(new aC(),h));i=wp(new qp(),'View package source');i.x(yFb(new xFb(),this,b));vbb(e,'Show package source:',i);}if(!b.g){ybb(e,kz(new nw(),'<i>Choose one of the options below<\/i>'));}f=CFb(new BFb(),this);a=gGb(new fGb(),this);yH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){yH(g,fEb(new iBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);yH(g,FAb(new fzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{yH(!
 g,fEb(new iBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.xe('100%');nab(this.a.d,0,1,g);edb();}
+function tFb(){}
+_=tFb.prototype=new hcb();_.md=wFb;_.tN=Ffc+'PackageExplorerWidget$17';_.tI=410;function yFb(b,a,c){b.a=c;return b;}
+function AFb(a){fBb(this.a.m,this.a.j);}
+function xFb(){}
+_=xFb.prototype=new xT();_.wc=AFb;_.tN=Ffc+'PackageExplorerWidget$18';_.tI=411;function CFb(b,a){b.a=a;return b;}
+function EFb(a){dab(a.a.a);}
+function FFb(){EFb(this);}
+function BFb(){}
+_=BFb.prototype=new xT();_.nb=FFb;_.tN=Ffc+'PackageExplorerWidget$19';_.tI=412;function pGb(c){var a,b;a=Fb(c.k,90);b=a.a;idb('Please wait...');fg(b);}
+function qGb(a){}
+function eGb(){}
+_=eGb.prototype=new xT();_.od=pGb;_.pd=qGb;_.tN=Ffc+'PackageExplorerWidget$2';_.tI=413;function gGb(b,a){b.a=a;return b;}
+function iGb(a){eab(a.a.a);}
+function jGb(){iGb(this);}
+function fGb(){}
+_=fGb.prototype=new xT();_.nb=jGb;_.tN=Ffc+'PackageExplorerWidget$20';_.tI=414;function lGb(b,a){b.a=a;return b;}
+function nGb(a){aIb(this.a.b,a);}
+function kGb(){}
+_=kGb.prototype=new xT();_.td=nGb;_.tN=Ffc+'PackageExplorerWidget$21';_.tI=415;function sGb(b,a){b.a=a;return b;}
+function uGb(a){BHb(this.a,a);}
+function rGb(){}
+_=rGb.prototype=new xT();_.wc=uGb;_.tN=Ffc+'PackageExplorerWidget$3';_.tI=416;function wGb(b,a){b.a=a;return b;}
+function yGb(a){wHb(this.a,'jar','Create a new model archive');}
+function vGb(){}
+_=vGb.prototype=new xT();_.wc=yGb;_.tN=Ffc+'PackageExplorerWidget$4';_.tI=417;function AGb(b,a){b.a=a;return b;}
+function CGb(d){var a,b,c;a=70;c=100;b=i7b(new y6b(),EGb(new DGb(),this),true,null,'Create a new rule asset',this.a.a);rE(b,dc((fab()-mE(b))/2),100);uE(b);}
+function zGb(){}
+_=zGb.prototype=new xT();_.wc=CGb;_.tN=Ffc+'PackageExplorerWidget$5';_.tI=418;function EGb(b,a){b.a=a;return b;}
+function aHb(a){aIb(this.a.a.b,a);}
+function DGb(){}
+_=DGb.prototype=new xT();_.td=aHb;_.tN=Ffc+'PackageExplorerWidget$6';_.tI=419;function cHb(b,a){b.a=a;return b;}
+function eHb(a){wHb(this.a,'function','Create a new function');}
+function bHb(){}
+_=bHb.prototype=new xT();_.wc=eHb;_.tN=Ffc+'PackageExplorerWidget$7';_.tI=420;function gHb(b,a){b.a=a;return b;}
+function iHb(a){wHb(this.a,'dsl','Create a new language configuration');}
+function fHb(){}
+_=fHb.prototype=new xT();_.wc=iHb;_.tN=Ffc+'PackageExplorerWidget$8';_.tI=421;function kHb(b,a){b.a=a;return b;}
+function mHb(a){wHb(this.a,'rf','Create a new ruleflow');}
+function jHb(){}
+_=jHb.prototype=new xT();_.wc=mHb;_.tN=Ffc+'PackageExplorerWidget$9';_.tI=422;function oHb(b,a){b.a=a;return b;}
+function nHb(){}
+_=nHb.prototype=new xT();_.tN=Ffc+'PackageExplorerWidget$PackageTreeItem';_.tI=423;_.a=null;function cIb(a){a.a=(FY(),aZ);}
+function dIb(a){eIb(a,null,null);return a;}
+function eIb(e,c,d){var a,b;cIb(e);e.b=yJ(new kJ());e.b.xe('100%');e.b.ne('30%');a=EHb(new DHb(),e,d);b=null;if(c===null){b=rHb(new tEb(),a);}else{b=sHb(new tEb(),a,c,d);}zJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);FJ(e.b,0);mr(e,e.b);return e;}
+function gIb(b,a){b.a=a;}
+function CHb(){}
+_=CHb.prototype=new kr();_.tN=Ffc+'PackageManagerView';_.tI=424;_.b=null;function EHb(b,a,c){b.a=a;b.b=c;return b;}
+function aIb(b,a){u4b(b.a.a,b.a.b,a,b.b!==null);}
+function bIb(a){aIb(this,a);}
+function DHb(){}
+_=DHb.prototype=new xT();_.td=bIb;_.tN=Ffc+'PackageManagerView$1';_.tI=425;function FJb(b){var a,c;b.a=rt(new lt());b.c=yJ(new kJ());b.c.xe('100%');b.c.ne('100%');c=nO(new lO());oO(c,b.a);a=wp(new qp(),'Rebuild snapshot binaries');a.pe('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new iIb());oO(c,a);zJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);hx(b.a.n,0,0,'28%');b.b=ELb();hKb(b);b.a.xe('100%');mr(b,b.c);FJ(b.c,0);return b;}
+function aKb(h,c){var a,b,d,e,f,g;g=pM(new cL());d=nO(new lO());for(a=0;a<c.a;a++){e=c[a].j;b=fKb(h,e,'images/package_snapshot.gif',iJb(new hJb(),h,e));rM(g,b);}oO(d,g);f=kz(new nw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");dC(f,mJb(new lJb(),h));tM(g,new pJb());sO(d,(Dz(),aA));rO(d,(uz(),wz));oO(d,f);AN(d,'snapshot-List');h.a.ve(0,0,d);fx(h.a.n,0,0,(Dz(),aA));}
+function cKb(g,e,f){var a,b,c,d;c=dcb(new Ebb(),'images/snapshot.png','Copy snapshot '+f);a=FK(new qK());ecb(c,'New label:',a);d=wp(new qp(),'OK');ecb(c,'',d);d.x(yJb(new xJb(),g,e,f,a,c));b=wp(new qp(),'Copy');b.x(kIb(new jIb(),g,c));return b;}
+function dKb(d,c,b){var a;a=wp(new qp(),'Delete');a.x(sIb(new rIb(),d,c,b));return a;}
+function eKb(d,b,c,e){var a;a=wp(new qp(),'Open');a.x(oIb(new nIb(),d,b,c,e));return a;}
+function fKb(e,d,b,a){var c;c=uL(new sL());CL(c,'<img src="'+b+'">'+d+'<\/a>');cM(c,a);return c;}
+function gKb(g,e,f,h){var a,b,c,d,i;i=rt(new lt());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=fA(new dA());gA(c,kz(new nw(),d));a=ocb(new ncb(),'images/close.gif');a.pe('Close this view');lB(a,AIb(new zIb(),g));gA(c,a);i.ve(0,0,c);b=ut(i);ex(b,0,0,'editable-Surface');i.ve(1,0,eIb(new CHb(),h,f));i.xe('100%');i.ne('100%');if(g.c.a.f.c>1){EJ(g.c,1);}zJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);FJ(g.c,1);}
+function hKb(a){idb('Loading package list...');uTb(a.b,eJb(new dJb(),a));}
+function iKb(h,d,b){var a,c,e,f,g;e=ubb(new rbb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=rt(new lt());Ey(g,0,1,'Name');Ey(g,0,2,'Comment');rx(g.p,0,ifc);for(a=0;a<b.a;a++){f=a+1;c=cC(new aC(),b[a].b);g.ve(f,0,kB(new uA(),'images/package_snapshot_item.gif'));g.ve(f,1,c);g.ve(f,2,cC(new aC(),b[a].a));g.ve(f,3,eKb(h,d,gC(c),b[a].c));g.ve(f,4,cKb(h,d,gC(c)));g.ve(f,5,dKb(h,gC(c),d));if(a%2==0){rx(g.p,a+1,gfc);}}e.xe('100%');ybb(e,g);g.xe('100%');AN(e,hfc);h.a.ve(0,1,e);fx(ut(h.a),0,1,(Dz(),aA));}
+function jKb(b,a){idb('Loading snapshots...');vTb(b.b,a,uJb(new tJb(),b,a));}
+function hIb(){}
+_=hIb.prototype=new kr();_.tN=Ffc+'PackageSnapshotView';_.tI=426;_.a=null;_.b=null;_.c=null;function EIb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){idb('Rebuilding snapshots. Please wait, this may take some time...');aUb(ELb(),new FIb());}}
+function iIb(){}
+_=iIb.prototype=new xT();_.wc=EIb;_.tN=Ffc+'PackageSnapshotView$1';_.tI=427;function kIb(b,a,c){b.a=c;return b;}
+function mIb(a){rE(this.a,dc((fab()-mE(this.a))/2),100);uE(this.a);}
+function jIb(){}
+_=jIb.prototype=new xT();_.wc=mIb;_.tN=Ffc+'PackageSnapshotView$10';_.tI=428;function oIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
+function qIb(a){gKb(this.a,this.b,this.c,this.d);}
+function nIb(){}
+_=nIb.prototype=new xT();_.wc=qIb;_.tN=Ffc+'PackageSnapshotView$11';_.tI=429;function sIb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function uIb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{lTb(this.a.b,this.b,this.c,true,null,wIb(new vIb(),this,this.b));}}
+function rIb(){}
+_=rIb.prototype=new xT();_.wc=uIb;_.tN=Ffc+'PackageSnapshotView$12';_.tI=430;function wIb(b,a,c){b.a=a;b.b=c;return b;}
+function yIb(a){jKb(this.a.a,this.b);}
+function vIb(){}
+_=vIb.prototype=new hcb();_.md=yIb;_.tN=Ffc+'PackageSnapshotView$13';_.tI=431;function AIb(b,a){b.a=a;return b;}
+function CIb(a){EJ(this.a.c,1);FJ(this.a.c,0);}
+function zIb(){}
+_=zIb.prototype=new xT();_.wc=CIb;_.tN=Ffc+'PackageSnapshotView$14';_.tI=432;function bJb(b,a){edb();zh('Snapshots were rebuilt successfully.');}
+function cJb(a){bJb(this,a);}
+function FIb(){}
+_=FIb.prototype=new hcb();_.md=cJb;_.tN=Ffc+'PackageSnapshotView$2';_.tI=433;function eJb(b,a){b.a=a;return b;}
+function gJb(a){var b;b=Fb(a,71);aKb(this.a,b);edb();}
+function dJb(){}
+_=dJb.prototype=new hcb();_.md=gJb;_.tN=Ffc+'PackageSnapshotView$3';_.tI=434;function iJb(b,a,c){b.a=a;b.b=c;return b;}
+function kJb(){jKb(this.a,this.b);}
+function hJb(){}
+_=hJb.prototype=new xT();_.nb=kJb;_.tN=Ffc+'PackageSnapshotView$4';_.tI=435;function mJb(b,a){b.a=a;return b;}
+function oJb(a){hKb(this.a);}
+function lJb(){}
+_=lJb.prototype=new xT();_.wc=oJb;_.tN=Ffc+'PackageSnapshotView$5';_.tI=436;function rJb(a){fg(Fb(a.k,4));}
+function sJb(a){}
+function pJb(){}
+_=pJb.prototype=new xT();_.od=rJb;_.pd=sJb;_.tN=Ffc+'PackageSnapshotView$6';_.tI=437;function uJb(b,a,c){b.a=a;b.b=c;return b;}
+function wJb(a){var b;b=Fb(a,86);iKb(this.a,this.b,b);edb();}
+function tJb(){}
+_=tJb.prototype=new hcb();_.md=wJb;_.tN=Ffc+'PackageSnapshotView$7';_.tI=438;function yJb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
+function AJb(a){lTb(this.a.b,this.d,this.e,false,xK(this.b),CJb(new BJb(),this,this.d,this.c));}
+function xJb(){}
+_=xJb.prototype=new xT();_.wc=AJb;_.tN=Ffc+'PackageSnapshotView$8';_.tI=439;function CJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function EJb(a){jKb(this.a.a,this.c);this.b.ic();}
+function BJb(){}
+_=BJb.prototype=new hcb();_.md=EJb;_.tN=Ffc+'PackageSnapshotView$9';_.tI=440;function sKb(){sKb=v2;xKb=rKb(new kKb());}
+function qKb(a){a.a=C0(new a0());}
+function rKb(a){sKb();qKb(a);return a;}
+function tKb(c,b,a){if(!F0(c.a,b)){vKb(c,b,a);}else{h4b(a);}}
+function uKb(c,b){var a;a=Fb(c1(c.a,b),91);if(a===null){jbb('Unable to get content assistance for this rule.');return null;}return a;}
+function vKb(c,b,a){kV(),nV;DTb(ELb(),b,mKb(new lKb(),c,b,a));}
+function wKb(c,b,a){if(F0(c.a,b)){e1(c.a,b);vKb(c,b,a);}else{a.nb();}}
+function kKb(){}
+_=kKb.prototype=new xT();_.tN=Ffc+'SuggestionCompletionCache';_.tI=441;var xKb;function mKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function oKb(c,a){var b;b=Fb(a,91);d1(c.a.a,c.c,b);c.b.nb();}
+function pKb(a){oKb(this,a);}
+function lKb(){}
+_=lKb.prototype=new hcb();_.md=pKb;_.tN=Ffc+'SuggestionCompletionCache$1';_.tI=442;function EKb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
+function yKb(){}
+_=yKb.prototype=new xT();_.tS=EKb;_.tN=agc+'BuilderResult';_.tI=443;_.a=null;_.b=null;_.c=null;_.d=null;function CKb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();}
+function DKb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);}
+function FKb(){}
+_=FKb.prototype=new ll();_.tN=agc+'DetailedSerializableException';_.tI=444;_.a=null;function dLb(b,a){gLb(a,b.Bd());pl(b,a);}
+function eLb(a){return a.a;}
+function fLb(b,a){b.cf(eLb(a));rl(b,a);}
+function gLb(a,b){a.a=b;}
+function iLb(a){a.a=yb('[Ljava.lang.String;',[607],[1],[0],null);}
+function jLb(a){iLb(a);return a;}
+function kLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(qU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[607],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function mLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[607],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function hLb(){}
+_=hLb.prototype=new xT();_.tN=agc+'MetaData';_.tI=445;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function pLb(b,a){a.a=Fb(b.Ad(),63);a.b=b.Bd();a.c=b.Bd();a.d=Fb(b.Ad(),59);a.e=b.Bd();a.f=Fb(b.Ad(),59);a.g=Fb(b.Ad(),59);a.h=b.Bd();a.i=b.Bd();a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=Fb(b.Ad(),59);a.n=b.Bd();a.o=b.Bd();a.p=b.Bd();a.q=b.Bd();a.r=b.Bd();a.s=b.Bd();a.t=b.Bd();a.u=b.Bd();a.v=b.zd();}
+function qLb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.bf(a.d);b.cf(a.e);b.bf(a.f);b.bf(a.g);b.cf(a.h);b.cf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.bf(a.m);b.cf(a.n);b.cf(a.o);b.cf(a.p);b.cf(a.q);b.cf(a.r);b.cf(a.s);b.cf(a.t);b.cf(a.u);b.af(a.v);}
+function rLb(){}
+_=rLb.prototype=new xT();_.tN=agc+'PackageConfigData';_.tI=446;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function vLb(b,a){a.a=b.wd();a.b=b.Bd();a.c=Fb(b.Ad(),59);a.d=b.Bd();a.e=b.Bd();a.f=b.Bd();a.g=b.wd();a.h=b.Bd();a.i=Fb(b.Ad(),59);a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=b.Bd();}
+function wLb(b,a){b.De(a.a);b.cf(a.b);b.bf(a.c);b.cf(a.d);b.cf(a.e);b.cf(a.f);b.De(a.g);b.cf(a.h);b.bf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.cf(a.m);}
+function CLb(){var a,b,c;c=BRb(new bMb());a=c;b=v()+'jbrmsService';hUb(a,b);return c;}
+function DLb(){var a,b,c;c=jXb(new EWb());a=c;b=v()+'jbrmsService';pXb(a,b);return c;}
+function ELb(){if(BLb===null){FLb();}return BLb;}
+function FLb(){if(ALb)BLb=null;else BLb=CLb();}
+function aMb(d,b,a){var c;c=DLb();oXb(c,d,b,a);}
+var ALb=false,BLb=null;function jTb(){jTb=v2;iUb=kUb(new jUb());}
+function BRb(a){jTb();return a;}
+function CRb(b,a,c,d){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'archiveAsset');rn(a,2);tn(a,'java.lang.String');tn(a,'Z');tn(a,c);qn(a,d);}
+function ERb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildAsset');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
+function DRb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildAssetSource');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
+function aSb(d,c,a,b){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'buildPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,a);tn(c,b);}
+function FRb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'buildPackageSource');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function bSb(d,c,e,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'changeAssetPackage');rn(c,3);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,e);tn(c,b);tn(c,a);}
+function cSb(c,b,d,a,e){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'changeState');rn(b,3);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,'Z');tn(b,d);tn(b,a);qn(b,e);}
+function dSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'checkinVersion');rn(b,1);tn(b,'org.drools.brms.client.rpc.RuleAsset');sn(b,a);}
+function eSb(e,d,a,c,b){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'copyAsset');rn(d,3);tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,a);tn(d,c);tn(d,b);}
+function fSb(f,e,c,d,a,b){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'copyOrRemoveSnapshot');rn(e,4);tn(e,'java.lang.String');tn(e,'java.lang.String');tn(e,'Z');tn(e,'java.lang.String');tn(e,c);tn(e,d);qn(e,a);tn(e,b);}
+function gSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'copyPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
+function hSb(e,d,c,b,a){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'createCategory');rn(d,3);tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,'java.lang.String');tn(d,c);tn(d,b);tn(d,a);}
+function iSb(g,f,e,a,c,d,b){if(g.a===null)throw Al(new zl());xo(f);tn(f,'org.drools.brms.client.rpc.RepositoryService');tn(f,'createNewRule');rn(f,5);tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,'java.lang.String');tn(f,e);tn(f,a);tn(f,c);tn(f,d);tn(f,b);}
+function kSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'createPackage');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
+function jSb(f,e,b,d,c,a){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'createPackageSnapshot');rn(e,4);tn(e,'java.lang.String');tn(e,'java.lang.String');tn(e,'Z');tn(e,'java.lang.String');tn(e,b);tn(e,d);qn(e,c);tn(e,a);}
+function lSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'createState');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function mSb(d,c,b,a){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'deleteUncheckedRule');rn(c,2);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,b);tn(c,a);}
+function nSb(f,e,c,a,b,d){if(f.a===null)throw Al(new zl());xo(e);tn(e,'org.drools.brms.client.rpc.RepositoryService');tn(e,'listAssets');rn(e,4);tn(e,'java.lang.String');tn(e,'[Ljava.lang.String;');tn(e,'I');tn(e,'I');tn(e,c);sn(e,a);rn(e,b);rn(e,d);}
+function oSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'listPackages');rn(a,0);}
+function pSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'listSnapshots');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function qSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'listStates');rn(a,0);}
+function rSb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadArchivedAssets');rn(a,0);}
+function sSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadAssetHistory');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
+function tSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadChildCategories');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function uSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'loadPackageConfig');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
+function vSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadRuleAsset');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function wSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadRuleListForCategories');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function xSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadSuggestionCompletionEngine');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function ySb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'loadTableConfig');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function zSb(e,d,c,a,b){if(e.a===null)throw Al(new zl());xo(d);tn(d,'org.drools.brms.client.rpc.RepositoryService');tn(d,'quickFindAsset');rn(d,3);tn(d,'java.lang.String');tn(d,'I');tn(d,'Z');tn(d,c);rn(d,a);qn(d,b);}
+function ASb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'rebuildSnapshots');rn(a,0);}
+function BSb(b,a,c){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.RepositoryService');tn(a,'removeAsset');rn(a,1);tn(a,'java.lang.String');tn(a,c);}
+function CSb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'removeCategory');rn(b,1);tn(b,'java.lang.String');tn(b,a);}
+function DSb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'renameAsset');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
+function ESb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'renamePackage');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
+function FSb(d,c,e,a,b){if(d.a===null)throw Al(new zl());xo(c);tn(c,'org.drools.brms.client.rpc.RepositoryService');tn(c,'restoreVersion');rn(c,3);tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,'java.lang.String');tn(c,e);tn(c,a);tn(c,b);}
+function aTb(c,b,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.RepositoryService');tn(b,'savePackage');rn(b,1);tn(b,'org.drools.brms.client.rpc.PackageConfigData');sn(b,a);}
+function bTb(h,i,j,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CRb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=qNb(new cMb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ERb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=hPb(new uNb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DRb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=EQb(new lPb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fTb(j,f,g,c){var a,d,e,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=dRb(new cRb(),j,h,c);if(!wg(j.a,Ao(i),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FRb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=iRb(new hRb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gTb(j,k,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=nRb(new mRb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hTb(i,j,f,k,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=sRb(new rRb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function iTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=xRb(new wRb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function kTb(k,c,h,g,d){var a,e,f,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=eMb(new dMb(),k,i,d);if(!wg(k.a,Ao(j),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lTb(l,h,i,d,g,c){var a,e,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=jMb(new iMb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mTb(j,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=oMb(new nMb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function nTb(k,h,g,d,c){var a,e,f,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=tMb(new sMb(),k,i,c);if(!wg(k.a,Ao(j),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=Fn(new En(),iUb);l=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}g=yMb(new xMb(),m,k,c);if(!wg(m.a,Ao(l),g))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qTb(j,g,d,c){var a,e,f,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=DMb(new CMb(),j,h,c);if(!wg(j.a,Ao(i),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pTb(l,g,i,h,d,c){var a,e,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=cNb(new bNb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=hNb(new gNb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sTb(j,g,f,c){var a,d,e,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=mNb(new lNb(),j,h,c);if(!wg(j.a,Ao(i),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tTb(l,h,e,g,i,c){var a,d,f,j,k;j=Fn(new En(),iUb);k=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}f=wNb(new vNb(),l,j,c);if(!wg(l.a,Ao(k),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=BNb(new ANb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=aOb(new FNb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=fOb(new eOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function xTb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=kOb(new jOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function yTb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=pOb(new oOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function zTb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=uOb(new tOb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ATb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=zOb(new yOb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function BTb(i,c,d){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(d,e);return;}else throw a;}f=EOb(new DOb(),i,g,d);if(!wg(i.a,Ao(h),f))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CTb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=dPb(new cPb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DTb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=nPb(new mPb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ETb(i,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=sPb(new rPb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FTb(k,h,f,g,c){var a,d,e,i,j;i=Fn(new En(),iUb);j=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=xPb(new wPb(),k,i,c);if(!wg(k.a,Ao(j),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aUb(h,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=CPb(new BPb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bUb(h,i,c){var a,d,e,f,g;f=Fn(new En(),iUb);g=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=bQb(new aQb(),h,f,c);if(!wg(h.a,Ao(g),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cUb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=gQb(new fQb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dUb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=lQb(new kQb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eUb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=qQb(new pQb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fUb(j,k,c,e,d){var a,f,g,h,i;h=Fn(new En(),iUb);i=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;jcb(d,f);return;}else throw a;}g=vQb(new uQb(),j,h,d);if(!wg(j.a,Ao(i),g))jcb(d,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gUb(i,d,c){var a,e,f,g,h;g=Fn(new En(),iUb);h=to(new ro(),iUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;jcb(c,e);return;}else throw a;}f=AQb(new zQb(),i,g,c);if(!wg(i.a,Ao(h),f))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hUb(b,a){b.a=a;}
+function bMb(){}
+_=bMb.prototype=new xT();_.tN=agc+'RepositoryService_Proxy';_.tI=447;_.a=null;var iUb;function qNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x6(g.a,f);else jcb(g.a,c);}
+function tNb(a){var b;b=x;sNb(this,a);}
+function cMb(){}
+_=cMb.prototype=new xT();_.xc=tNb;_.tN=agc+'RepositoryService_Proxy$1';_.tI=448;function eMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)p0b(g.a,f);else jcb(g.a,c);}
+function hMb(a){var b;b=x;gMb(this,a);}
+function dMb(){}
+_=dMb.prototype=new xT();_.xc=hMb;_.tN=agc+'RepositoryService_Proxy$10';_.tI=449;function jMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function lMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function mMb(a){var b;b=x;lMb(this,a);}
+function iMb(){}
+_=iMb.prototype=new xT();_.xc=mMb;_.tN=agc+'RepositoryService_Proxy$11';_.tI=450;function oMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function qMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rBb(g.a,f);else jcb(g.a,c);}
+function rMb(a){var b;b=x;qMb(this,a);}
+function nMb(){}
+_=nMb.prototype=new xT();_.xc=rMb;_.tN=agc+'RepositoryService_Proxy$12';_.tI=451;function tMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)C9(g.a,f);else jcb(g.a,c);}
+function wMb(a){var b;b=x;vMb(this,a);}
+function sMb(){}
+_=sMb.prototype=new xT();_.xc=wMb;_.tN=agc+'RepositoryService_Proxy$13';_.tI=452;function yMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function AMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)e7b(g.a,f);else jcb(g.a,c);}
+function BMb(a){var b;b=x;AMb(this,a);}
+function xMb(){}
+_=xMb.prototype=new xT();_.xc=BMb;_.tN=agc+'RepositoryService_Proxy$14';_.tI=453;function DMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FMb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vyb(g.a,f);else jcb(g.a,c);}
+function aNb(a){var b;b=x;FMb(this,a);}
+function CMb(){}
+_=CMb.prototype=new xT();_.xc=aNb;_.tN=agc+'RepositoryService_Proxy$15';_.tI=454;function cNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function eNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wzb(g.a,f);else jcb(g.a,c);}
+function fNb(a){var b;b=x;eNb(this,a);}
+function bNb(){}
+_=bNb.prototype=new xT();_.xc=fNb;_.tN=agc+'RepositoryService_Proxy$16';_.tI=455;function hNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)j9(g.a,f);else jcb(g.a,c);}
+function kNb(a){var b;b=x;jNb(this,a);}
+function gNb(){}
+_=gNb.prototype=new xT();_.xc=kNb;_.tN=agc+'RepositoryService_Proxy$17';_.tI=456;function mNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f$b(g.a,f);else jcb(g.a,c);}
+function pNb(a){var b;b=x;oNb(this,a);}
+function lNb(){}
+_=lNb.prototype=new xT();_.xc=pNb;_.tN=agc+'RepositoryService_Proxy$18';_.tI=457;function hPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)i8b(g.a,f);else jcb(g.a,c);}
+function kPb(a){var b;b=x;jPb(this,a);}
+function uNb(){}
+_=uNb.prototype=new xT();_.xc=kPb;_.tN=agc+'RepositoryService_Proxy$2';_.tI=458;function wNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)nFb(g.a,f);else jcb(g.a,c);}
+function zNb(a){var b;b=x;yNb(this,a);}
+function vNb(){}
+_=vNb.prototype=new xT();_.xc=zNb;_.tN=agc+'RepositoryService_Proxy$20';_.tI=459;function BNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DNb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function ENb(a){var b;b=x;DNb(this,a);}
+function ANb(){}
+_=ANb.prototype=new xT();_.xc=ENb;_.tN=agc+'RepositoryService_Proxy$21';_.tI=460;function aOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function dOb(a){var b;b=x;cOb(this,a);}
+function FNb(){}
+_=FNb.prototype=new xT();_.xc=dOb;_.tN=agc+'RepositoryService_Proxy$22';_.tI=461;function fOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function iOb(a){var b;b=x;hOb(this,a);}
+function eOb(){}
+_=eOb.prototype=new xT();_.xc=iOb;_.tN=agc+'RepositoryService_Proxy$23';_.tI=462;function kOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f7(g.a,f);else jcb(g.a,c);}
+function nOb(a){var b;b=x;mOb(this,a);}
+function jOb(){}
+_=jOb.prototype=new xT();_.xc=nOb;_.tN=agc+'RepositoryService_Proxy$24';_.tI=463;function pOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g_b(g.a,f);else jcb(g.a,c);}
+function sOb(a){var b;b=x;rOb(this,a);}
+function oOb(){}
+_=oOb.prototype=new xT();_.xc=sOb;_.tN=agc+'RepositoryService_Proxy$25';_.tI=464;function uOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function xOb(a){var b;b=x;wOb(this,a);}
+function tOb(){}
+_=tOb.prototype=new xT();_.xc=xOb;_.tN=agc+'RepositoryService_Proxy$26';_.tI=465;function zOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function BOb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function COb(a){var b;b=x;BOb(this,a);}
+function yOb(){}
+_=yOb.prototype=new xT();_.xc=COb;_.tN=agc+'RepositoryService_Proxy$27';_.tI=466;function EOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function bPb(a){var b;b=x;aPb(this,a);}
+function DOb(){}
+_=DOb.prototype=new xT();_.xc=bPb;_.tN=agc+'RepositoryService_Proxy$28';_.tI=467;function dPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rbc(g.a,f);else jcb(g.a,c);}
+function gPb(a){var b;b=x;fPb(this,a);}
+function cPb(){}
+_=cPb.prototype=new xT();_.xc=gPb;_.tN=agc+'RepositoryService_Proxy$29';_.tI=468;function EQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)n8b(g.a,f);else jcb(g.a,c);}
+function bRb(a){var b;b=x;aRb(this,a);}
+function lPb(){}
+_=lPb.prototype=new xT();_.xc=bRb;_.tN=agc+'RepositoryService_Proxy$3';_.tI=469;function nPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)oKb(g.a,f);else jcb(g.a,c);}
+function qPb(a){var b;b=x;pPb(this,a);}
+function mPb(){}
+_=mPb.prototype=new xT();_.xc=qPb;_.tN=agc+'RepositoryService_Proxy$30';_.tI=470;function sPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)hcc(g.a,f);else jcb(g.a,c);}
+function vPb(a){var b;b=x;uPb(this,a);}
+function rPb(){}
+_=rPb.prototype=new xT();_.xc=vPb;_.tN=agc+'RepositoryService_Proxy$31';_.tI=471;function xPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jcb(g.a,c);}
+function APb(a){var b;b=x;zPb(this,a);}
+function wPb(){}
+_=wPb.prototype=new xT();_.xc=APb;_.tN=agc+'RepositoryService_Proxy$32';_.tI=472;function CPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function EPb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)bJb(g.a,f);else jcb(g.a,c);}
+function FPb(a){var b;b=x;EPb(this,a);}
+function BPb(){}
+_=BPb.prototype=new xT();_.xc=FPb;_.tN=agc+'RepositoryService_Proxy$33';_.tI=473;function bQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)a7(g.a,f);else jcb(g.a,c);}
+function eQb(a){var b;b=x;dQb(this,a);}
+function aQb(){}
+_=aQb.prototype=new xT();_.xc=eQb;_.tN=agc+'RepositoryService_Proxy$34';_.tI=474;function gQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x8(g.a,f);else jcb(g.a,c);}
+function jQb(a){var b;b=x;iQb(this,a);}
+function fQb(){}
+_=fQb.prototype=new xT();_.xc=jQb;_.tN=agc+'RepositoryService_Proxy$35';_.tI=475;function lQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f6b(g.a,f);else jcb(g.a,c);}
+function oQb(a){var b;b=x;nQb(this,a);}
+function kQb(){}
+_=kQb.prototype=new xT();_.xc=oQb;_.tN=agc+'RepositoryService_Proxy$36';_.tI=476;function qQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dEb(g.a,f);else jcb(g.a,c);}
+function tQb(a){var b;b=x;sQb(this,a);}
+function pQb(){}
+_=pQb.prototype=new xT();_.xc=tQb;_.tN=agc+'RepositoryService_Proxy$37';_.tI=477;function vQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)pac(g.a,f);else jcb(g.a,c);}
+function yQb(a){var b;b=x;xQb(this,a);}
+function uQb(){}
+_=uQb.prototype=new xT();_.xc=yQb;_.tN=agc+'RepositoryService_Proxy$38';_.tI=478;function AQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function CQb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wBb(g.a,f);else jcb(g.a,c);}
+function DQb(a){var b;b=x;CQb(this,a);}
+function zQb(){}
+_=zQb.prototype=new xT();_.xc=DQb;_.tN=agc+'RepositoryService_Proxy$39';_.tI=479;function dRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ln(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vAb(g.a,f);else jcb(g.a,c);}
+function gRb(a){var b;b=x;fRb(this,a);}
+function cRb(){}
+_=cRb.prototype=new xT();_.xc=gRb;_.tN=agc+'RepositoryService_Proxy$4';_.tI=480;function iRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function kRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)gAb(g.a,f);else jcb(g.a,c);}
+function lRb(a){var b;b=x;kRb(this,a);}
+function hRb(){}
+_=hRb.prototype=new xT();_.xc=lRb;_.tN=agc+'RepositoryService_Proxy$5';_.tI=481;function nRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D4b(g.a,f);else jcb(g.a,c);}
+function qRb(a){var b;b=x;pRb(this,a);}
+function mRb(){}
+_=mRb.prototype=new xT();_.xc=qRb;_.tN=agc+'RepositoryService_Proxy$6';_.tI=482;function sRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=null;}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)jeb(g.a,f);else jcb(g.a,c);}
+function vRb(a){var b;b=x;uRb(this,a);}
+function rRb(){}
+_=rRb.prototype=new xT();_.xc=vRb;_.tN=agc+'RepositoryService_Proxy$7';_.tI=483;function xRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zRb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k$b(g.a,f);else jcb(g.a,c);}
+function ARb(a){var b;b=x;zRb(this,a);}
+function wRb(){}
+_=wRb.prototype=new xT();_.xc=ARb;_.tN=agc+'RepositoryService_Proxy$8';_.tI=484;function lUb(){lUb=v2;nWb=mUb();qWb=nUb();}
+function kUb(a){lUb();return a;}
+function mUb(){lUb();return {'[B/2233087514':[function(a){return oUb(a);},function(a,b){nm(a,b);},function(a,b){om(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return pUb(a);},function(a,b){el(a,b);},function(a,b){fl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return qUb(a);},function(a,b){pl(a,b);},function(a,b){rl(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return vUb(a);},function(a,b){tD(a,b);},function(a,b){wD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return wUb(a);},function(a,b){lI(a,b);},function(a,b){oI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return xUb(a);},function(a,b){tI(a,b);},function(a,b){vI(a,b);}],'java.lang.Boolean/476441737':[function(a){return am(a);},function(a,b){Fl(a,b);},function(a,b){bm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return jm(a);},function(a,b){im(a,b);},function(a,b){km(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return yUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return rUb(a);},function(a,b){rm(a,b);},function(a,b){sm(a,b);}],'java.util.Date/1659716317':[function(a){return wm(a);},function(a,b){vm(a,b);},function(a,b){xm(a,b);}],'java.util.HashMap/962170901':[function(a){return sUb(a);},function(a,b){Am(a,b);},function(a,b){Bm(a,b);}],'java.util.HashSet/1594477813':[function(a){return tUb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'java.util.Vector/3125574444':[function(a){return uUb(a);},function(a,b){cn(a,b);},function(a,b){dn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return zUb(a);},function(a,b){jgb(a,b);},function(a,b){kgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return AUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return CUb(a);},function(a,b){chb(a,b);},function(a,b){dhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return BUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return EUb(a);},function(a,b){khb(a,b);},function(a,b){lhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return DUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return aVb(a);},function(a,b){shb(a,b);},function(a,b){thb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return FUb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn cVb(a);},function(a,b){zhb(a,b);},function(a,b){Ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return bVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return eVb(a);},function(a,b){bib(a,b);},function(a,b){cib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return dVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return gVb(a);},function(a,b){jib(a,b);},function(a,b){kib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return fVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return iVb(a);},function(a,b){rib(a,b);},function(a,b){sib(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn hVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return kVb(a);},function(a,b){zib(a,b);},function(a,b){Aib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return jVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return mVb(a);},function(a,b){Fib(a,b);},function(a,b){ajb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return lVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return oVb(a);},function(a,b){hjb(a,b);},function(a,b){ijb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return nVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return qVb(a);},function(a,b){tjb(a,b);},function(a,b){ujb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return pVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return rVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return sVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return tVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return uVb(a);},function(a,b){Cjb(a,b);},function(a,b){Djb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return wVb(a);},function(a,b){ekb(a,b);},function(a,b!
 ){fkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return vVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return xVb(a);},function(a,b){zkb(a,b);},function(a,b){Akb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return zVb(a);},function(a,b){clb(a,b);},function(a,b){dlb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return yVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return BVb(a);},function(a,b){CKb(a,b);},function(a,b){DKb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return AVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return CVb(a);},function(a,b){dLb(a,b);},function(a,b){fLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return DVb(a);},function(a,b){pLb(a,b);},function(a,b){qLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return FVb(a);},function(a,b){vLb(a,b);},function(a,b){wLb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return EVb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return aWb(a);},function(a,b){vWb(a,b);},function(a,b){wWb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return bWb(a);},function(a,b){BWb(a,b);},function(a,b){CWb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return cWb(a);},function(a,b){cYb(a,b);},function(a,b){dYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return eWb(a);},function(a,b){iYb(a,b);},function(a,b){jYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn dWb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return fWb(a);},function(a,b){oYb(a,b);},function(a,b){pYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return gWb(a);},function(a,b){uYb(a,b);},function(a,b){vYb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return iWb(a);},function(a,b){AYb(a,b);},function(a,b){BYb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return hWb(a);},function(a,b){em(a,b);},function(a,b){fm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return jWb(a);},function(a,b){bZb(a,b);},function(a,b){cZb(a,b);}]};}
+function nUb(){lUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
+function oUb(b){lUb();var a;a=b.yd();return yb('[B',[613],[(-1)],[a],0);}
+function pUb(a){lUb();return al(new Fk());}
+function qUb(a){lUb();return new ll();}
+function rUb(a){lUb();return FX(new DX());}
+function sUb(a){lUb();return C0(new a0());}
+function tUb(a){lUb();return w1(new v1());}
+function uUb(a){lUb();return j2(new i2());}
+function vUb(a){lUb();return new pD();}
+function wUb(a){lUb();return new eI();}
+function xUb(a){lUb();return new gI();}
+function yUb(b){lUb();var a;a=b.yd();return yb('[Ljava.lang.String;',[607],[1],[a],null);}
+function zUb(a){lUb();return Afb(new yfb());}
+function AUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[622],[22],[a],null);}
+function BUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[623],[23],[a],null);}
+function CUb(a){lUb();return new Dgb();}
+function DUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[624],[24],[a],null);}
+function EUb(a){lUb();return fhb(new ehb());}
+function FUb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[625],[25],[a],null);}
+function aVb(a){lUb();return nhb(new mhb());}
+function bVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[626],[26],[a],null);}
+function cVb(a){lUb();return new uhb();}
+function dVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[627],[27],[a],null);}
+function eVb(a){lUb();return Chb(new Bhb());}
+function fVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[628],[28],[a],null);}
+function gVb(a){lUb();return eib(new dib());}
+function hVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[629],[29],[a],null);}
+function iVb(a){lUb();return new lib();}
+function jVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[630],[30],[a],null);}
+function kVb(a){lUb();return new tib();}
+function lVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[615],[15],[a],null);}
+function mVb(a){lUb();return new Bib();}
+function nVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[609],[10],[a],null);}
+function oVb(a){lUb();return new bjb();}
+function pVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[631],[31],[a],null);}
+function qVb(a){lUb();return new kjb();}
+function rVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[621],[21],[a],null);}
+function sVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[620],[20],[a],null);}
+function tVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[619],[19],[a],null);}
+function uVb(a){lUb();return new yjb();}
+function vVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[618],[18],[a],null);}
+function wVb(a){lUb();return new Fjb();}
+function xVb(a){lUb();return jkb(new hkb());}
+function yVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[632],[32],[a],null);}
+function zVb(a){lUb();return new Bkb();}
+function AVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[611],[12],[a],null);}
+function BVb(a){lUb();return new yKb();}
+function CVb(a){lUb();return new FKb();}
+function DVb(a){lUb();return jLb(new hLb());}
+function EVb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[616],[16],[a],null);}
+function FVb(a){lUb();return new rLb();}
+function aWb(a){lUb();return new rWb();}
+function bWb(a){lUb();return new xWb();}
+function cWb(a){lUb();return new EXb();}
+function dWb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[617],[17],[a],null);}
+function eWb(a){lUb();return new eYb();}
+function fWb(a){lUb();return new kYb();}
+function gWb(a){lUb();return new qYb();}
+function hWb(b){lUb();var a;a=b.yd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[614],[14],[a],null);}
+function iWb(a){lUb();return new wYb();}
+function jWb(a){lUb();return new DYb();}
+function kWb(c,a,d){var b=nWb[d];if(!b){oWb(d);}b[1](c,a);}
+function lWb(b){var a=qWb[b];return a==null?b:a;}
+function mWb(b,c){var a=nWb[c];if(!a){oWb(c);}return a[0](b);}
+function oWb(a){lUb();throw vl(new ul(),a);}
+function pWb(c,a,d){var b=nWb[d];if(!b){oWb(d);}b[2](c,a);}
+function jUb(){}
+_=jUb.prototype=new xT();_.gb=kWb;_.Eb=lWb;_.kc=mWb;_.fe=pWb;_.tN=agc+'RepositoryService_TypeSerializer';_.tI=485;var nWb,qWb;function rWb(){}
+_=rWb.prototype=new xT();_.tN=agc+'RuleAsset';_.tI=486;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function vWb(b,a){a.a=b.wd();a.b=Fb(b.Ad(),39);a.c=b.wd();a.d=Fb(b.Ad(),93);a.e=b.Bd();}
+function wWb(b,a){b.De(a.a);b.bf(a.b);b.De(a.c);b.bf(a.d);b.cf(a.e);}
+function xWb(){}
+_=xWb.prototype=new xT();_.tN=agc+'RuleContentText';_.tI=487;_.a=null;function BWb(b,a){a.a=b.Bd();}
+function CWb(b,a){b.cf(a.a);}
+function mXb(){mXb=v2;qXb=sXb(new rXb());}
+function jXb(a){mXb();return a;}
+function kXb(b,a){if(b.a===null)throw Al(new zl());xo(a);tn(a,'org.drools.brms.client.rpc.SecurityService');tn(a,'getCurrentUser');rn(a,0);}
+function lXb(c,b,d,a){if(c.a===null)throw Al(new zl());xo(b);tn(b,'org.drools.brms.client.rpc.SecurityService');tn(b,'login');rn(b,2);tn(b,'java.lang.String');tn(b,'java.lang.String');tn(b,d);tn(b,a);}
+function nXb(h,c){var a,d,e,f,g;f=Fn(new En(),qXb);g=to(new ro(),qXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{kXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Ac(d);return;}else throw a;}e=aXb(new FWb(),h,f,c);if(!wg(h.a,Ao(g),e))c.Ac(hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oXb(i,j,f,c){var a,d,e,g,h;g=Fn(new En(),qXb);h=to(new ro(),qXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{lXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;jcb(c,d);return;}else throw a;}e=fXb(new eXb(),i,g,c);if(!wg(i.a,Ao(h),e))jcb(c,hl(new gl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pXb(b,a){b.a=a;}
+function EWb(){}
+_=EWb.prototype=new xT();_.tN=agc+'SecurityService_Proxy';_.tI=488;_.a=null;var qXb;function aXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cXb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=ho(g.b);}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else g.a.Ac(c);}
+function dXb(a){var b;b=x;cXb(this,a);}
+function FWb(){}
+_=FWb.prototype=new xT();_.xc=dXb;_.tN=agc+'SecurityService_Proxy$1';_.tI=489;function fXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hXb(g,e){var a,c,d,f;f=null;c=null;try{if(yU(e,'//OK')){co(g.b,zU(e,4));f=BR(new AR(),eo(g.b));}else if(yU(e,'//EX')){co(g.b,zU(e,4));c=Fb(ln(g.b),3);}else{c=hl(new gl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=al(new Fk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)q5(g.a,f);else jcb(g.a,c);}
+function iXb(a){var b;b=x;hXb(this,a);}
+function eXb(){}
+_=eXb.prototype=new xT();_.xc=iXb;_.tN=agc+'SecurityService_Proxy$2';_.tI=490;function tXb(){tXb=v2;AXb=uXb();DXb=vXb();}
+function sXb(a){tXb();return a;}
+function uXb(){tXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return wXb(a);},function(a,b){el(a,b);},function(a,b){fl(a,b);}],'java.lang.String/2004016611':[function(a){return jm(a);},function(a,b){im(a,b);},function(a,b){km(a,b);}]};}
+function vXb(){tXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
+function wXb(a){tXb();return al(new Fk());}
+function xXb(c,a,d){var b=AXb[d];if(!b){BXb(d);}b[1](c,a);}
+function yXb(b){var a=DXb[b];return a==null?b:a;}
+function zXb(b,c){var a=AXb[c];if(!a){BXb(c);}return a[0](b);}
+function BXb(a){tXb();throw vl(new ul(),a);}
+function CXb(c,a,d){var b=AXb[d];if(!b){BXb(d);}b[2](c,a);}
+function rXb(){}
+_=rXb.prototype=new xT();_.gb=xXb;_.Eb=yXb;_.kc=zXb;_.fe=CXb;_.tN=agc+'SecurityService_TypeSerializer';_.tI=491;var AXb,DXb;function EXb(){}
+_=EXb.prototype=new ll();_.tN=agc+'SessionExpiredException';_.tI=492;function cYb(b,a){pl(b,a);}
+function dYb(b,a){rl(b,a);}
+function eYb(){}
+_=eYb.prototype=new xT();_.tN=agc+'SnapshotInfo';_.tI=493;_.a=null;_.b=null;_.c=null;function iYb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
+function jYb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
+function kYb(){}
+_=kYb.prototype=new xT();_.tN=agc+'TableConfig';_.tI=494;_.a=null;_.b=0;function oYb(b,a){a.a=Fb(b.Ad(),63);a.b=b.yd();}
+function pYb(b,a){b.bf(a.a);b.Fe(a.b);}
+function qYb(){}
+_=qYb.prototype=new xT();_.tN=agc+'TableDataResult';_.tI=495;_.a=null;function uYb(b,a){a.a=Fb(b.Ad(),94);}
+function vYb(b,a){b.bf(a.a);}
+function CYb(a){return wU(a,'\\,')[0];}
+function wYb(){}
+_=wYb.prototype=new xT();_.tN=agc+'TableDataRow';_.tI=496;_.a=null;_.b=null;_.c=null;function AYb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=Fb(b.Ad(),63);}
+function BYb(b,a){b.cf(a.a);b.cf(a.b);b.bf(a.c);}
+function DYb(){}
+_=DYb.prototype=new xT();_.tN=agc+'ValidatedResponse';_.tI=497;_.a=null;_.b=null;_.c=false;_.d=null;function bZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.wd();a.d=Fb(b.Ad(),39);}
+function cZb(b,a){b.cf(a.a);b.cf(a.b);b.De(a.c);b.bf(a.d);}
+function r0b(a){a.e=rt(new lt());}
+function s0b(j,b,c,a,f,d,g){var e,h,i;r0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=jz(new nw());i=j.f.r;e=ut(j.e);h=fA(new dA());z0b(j,i);gA(h,j.g);if(!g){v0b(j,e,h);}B0b(j,f,e);mr(j,j.e);j.xe('100%');return j;}
+function u0b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
+function v0b(h,e,g){var a,b,c,d,f;d=ocb(new ncb(),'images/edit.gif');d.pe('Change status.');lB(d,nZb(new eZb(),h));gA(g,d);h.e.ve(0,0,g);bx(e,0,0,(uz(),wz),(Dz(),aA));f=wp(new qp(),'Save changes');f.pe('Check in changes.');f.x(rZb(new qZb(),h));gA(g,f);b=wp(new qp(),'Copy');b.x(vZb(new uZb(),h));gA(g,b);a=wp(new qp(),'Archive');a.x(zZb(new yZb(),h));gA(g,a);if(h.f.v==0){c=wp(new qp(),'Delete');c.x(DZb(new CZb(),h));gA(g,c);}}
+function w0b(b,c){var a;a=F1b(new A1b(),rN(c),sN(c),'Check in changes.');c2b(a,gZb(new fZb(),b,a));d2b(a);}
+function x0b(e,f){var a,b,c,d;a=dcb(new Ebb(),'images/rule_asset.gif','Copy this item');b=FK(new qK());c=rdb(new mdb());ecb(a,'New name:',b);ecb(a,'New package:',c);d=wp(new qp(),'Create copy');d.x(j0b(new i0b(),e,c,b,a));ecb(a,'',d);rE(a,dc((fab()-mE(a))/2),100);uE(a);}
+function y0b(b,a){b.c=a;}
+function z0b(b,a){nz(b.g,'Status: <b>['+a+']<\/b>');}
+function A0b(b,c){var a;a=leb(new vdb(),b.h,false);oeb(a,kZb(new jZb(),b,a));rE(a,rN(c),sN(c));uE(a);}
+function B0b(e,d,b){var a,c,f;f=fA(new dA());c=ocb(new ncb(),'images/max_min.gif');lB(c,b0b(new a0b(),e,d));gA(f,c);a=ocb(new ncb(),'images/close.gif');a.pe('Close.');lB(a,f0b(new e0b(),e));gA(f,a);e.e.ve(0,1,f);bx(b,0,1,(uz(),xz),(Dz(),aA));}
+function dZb(){}
+_=dZb.prototype=new kr();_.tN=bgc+'ActionToolbar';_.tI=498;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function nZb(b,a){b.a=a;return b;}
+function pZb(a){A0b(this.a,a);}
+function eZb(){}
+_=eZb.prototype=new xT();_.wc=pZb;_.tN=bgc+'ActionToolbar$1';_.tI=499;function gZb(b,a,c){b.a=a;b.b=c;return b;}
+function iZb(){this.a.f.b=b2b(this.b);h9b(this.a.b);}
+function fZb(){}
+_=fZb.prototype=new xT();_.nb=iZb;_.tN=bgc+'ActionToolbar$10';_.tI=500;function kZb(b,a,c){b.a=a;b.b=c;return b;}
+function mZb(){z0b(this.a,this.b.c);}
+function jZb(){}
+_=jZb.prototype=new xT();_.nb=mZb;_.tN=bgc+'ActionToolbar$11';_.tI=501;function rZb(b,a){b.a=a;return b;}
+function tZb(a){w0b(this.a,a);}
+function qZb(){}
+_=qZb.prototype=new xT();_.wc=tZb;_.tN=bgc+'ActionToolbar$2';_.tI=502;function vZb(b,a){b.a=a;return b;}
+function xZb(a){x0b(this.a,a);}
+function uZb(){}
+_=uZb.prototype=new xT();_.wc=xZb;_.tN=bgc+'ActionToolbar$3';_.tI=503;function zZb(b,a){b.a=a;return b;}
+function BZb(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+tZ(lZ(new kZ()));m9b(this.a.a);}}
+function yZb(){}
+_=yZb.prototype=new xT();_.wc=BZb;_.tN=bgc+'ActionToolbar$4';_.tI=504;function DZb(b,a){b.a=a;return b;}
+function FZb(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){w9b(this.a.d);}}
+function CZb(){}
+_=CZb.prototype=new xT();_.wc=FZb;_.tN=bgc+'ActionToolbar$5';_.tI=505;function b0b(b,a,c){b.a=c;return b;}
+function d0b(a){r9b(this.a);}
+function a0b(){}
+_=a0b.prototype=new xT();_.wc=d0b;_.tN=bgc+'ActionToolbar$6';_.tI=506;function f0b(b,a){b.a=a;return b;}
+function h0b(a){a$b(this.a.c);}
+function e0b(){}
+_=e0b.prototype=new xT();_.wc=h0b;_.tN=bgc+'ActionToolbar$7';_.tI=507;function j0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
+function l0b(a){kTb(ELb(),this.a.h,tdb(this.d),xK(this.c),n0b(new m0b(),this,this.c,this.d,this.b));}
+function i0b(){}
+_=i0b.prototype=new xT();_.wc=l0b;_.tN=bgc+'ActionToolbar$8';_.tI=508;function n0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
+function p0b(b,a){u0b(b.a.a,xK(b.c),tdb(b.d));b.b.ic();}
+function q0b(a){p0b(this,a);}
+function m0b(){}
+_=m0b.prototype=new hcb();_.md=q0b;_.tN=bgc+'ActionToolbar$9';_.tI=509;function r1b(a){a.b=kab(new iab());}
+function s1b(c,a,b){r1b(c);c.a=a;c.c=rt(new lt());x1b(c,c.c);AN(c.c,'rule-List');nab(c.b,0,0,c.c);if(!b){v1b(c);}mr(c,c.b);return c;}
+function t1b(b,a){kLb(b.a,a);z1b(b);}
+function v1b(c){var a,b;a=nO(new lO());b=ocb(new ncb(),'images/new_item.gif');b.pe('Add a new category.');lB(b,g1b(new f1b(),c));oO(a,b);nab(c.b,0,1,a);}
+function w1b(b){var a;a=p1b(new n1b(),b);rE(a,rN(b),sN(b));uE(a);}
+function x1b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;Ey(d,b,0,e.a.a[b]);a=ocb(new ncb(),'images/trash.gif');a.pe('Remove this category');lB(a,k1b(new j1b(),e,c));d.ve(b,1,a);}}
+function y1b(b,a){mLb(b.a,a);dab(b);z1b(b);}
+function z1b(a){a.c=rt(new lt());AN(a.c,'rule-List');nab(a.b,0,0,a.c);x1b(a,a.c);dab(a);}
+function C0b(){}
+_=C0b.prototype=new bab();_.tN=bgc+'AssetCategoryEditor';_.tI=510;_.a=null;_.c=null;function E0b(b,a){b.a=a;return b;}
+function a1b(a){this.a.b=a;}
+function D0b(){}
+_=D0b.prototype=new xT();_.ee=a1b;_.tN=bgc+'AssetCategoryEditor$1';_.tI=511;function c1b(b,a){b.a=a;return b;}
+function e1b(a){if(this.a.b!==null&& !qU('',this.a.b)){t1b(this.a.d,this.a.b);}this.a.ic();}
+function b1b(){}
+_=b1b.prototype=new xT();_.wc=e1b;_.tN=bgc+'AssetCategoryEditor$2';_.tI=512;function g1b(b,a){b.a=a;return b;}
+function i1b(a){w1b(this.a);}
+function f1b(){}
+_=f1b.prototype=new xT();_.wc=i1b;_.tN=bgc+'AssetCategoryEditor$3';_.tI=513;function k1b(b,a,c){b.a=a;b.b=c;return b;}
+function m1b(a){y1b(this.a,this.b);}
+function j1b(){}
+_=j1b.prototype=new xT();_.wc=m1b;_.tN=bgc+'AssetCategoryEditor$4';_.tI=514;function q1b(){q1b=v2;kE();}
+function o1b(a){a.a=wp(new qp(),'OK');}
+function p1b(b,a){var c;q1b();b.d=a;hE(b,true);o1b(b);c=nO(new lO());b.c=v$(new e$(),E0b(new D0b(),b));AN(b,'ks-popups-Popup');oO(c,b.c);oO(c,b.a);cH(b,c);b.a.x(c1b(new b1b(),b));return b;}
+function n1b(){}
+_=n1b.prototype=new fE();_.tN=bgc+'AssetCategoryEditor$CategorySelector';_.tI=515;_.b=null;_.c=null;function F1b(c,a,d,b){c.b=dcb(new Ebb(),'images/checkin.gif',b);c.a=kK(new jK());c.a.xe('100%');c.c=wp(new qp(),'Save');ecb(c.b,'Comment',c.a);ecb(c.b,'',c.c);AN(c.b,'ks-popups-Popup');rE(c.b,a,d);return c;}
+function b2b(a){return xK(a.a);}
+function c2b(b,a){b.c.x(C1b(new B1b(),b,a));}
+function d2b(a){rE(a.b,dc((fab()-mE(a.b))/2),100);uE(a.b);}
+function A1b(){}
+_=A1b.prototype=new xT();_.tN=bgc+'CheckinPopup';_.tI=516;_.a=null;_.b=null;_.c=null;function C1b(b,a,c){b.a=a;b.b=c;return b;}
+function E1b(a){this.b.nb();this.a.b.ic();}
+function B1b(){}
+_=B1b.prototype=new xT();_.wc=E1b;_.tN=bgc+'CheckinPopup$1';_.tI=517;function A2b(){A2b=v2;kE();}
+function y2b(g,f,e){var a,b,c,d;A2b();hE(g,true);g.d=f;g.b=FK(new qK());g.b.xe('100%');b='<enter text to filter list>';BK(g.b,'<enter text to filter list>');mu(g.b,g2b(new f2b(),g));uK(g.b,l2b(new k2b(),g,e));g.b.le(true);d=nO(new lO());oO(d,g.b);g.c=sC(new kC());cD(g.c,5);C2b(g,x4b(g.d,''));oO(d,g.c);c=wp(new qp(),'ok');c.x(r2b(new q2b(),g,e));a=wp(new qp(),'cancel');a.x(v2b(new u2b(),g));g.a=fA(new dA());gA(g.a,c);gA(g.a,a);oO(d,g.a);cH(g,d);AN(g,'ks-popups-Popup');return g;}
+function z2b(b,a){q3b(a,B2b(b));b.ic();}
+function B2b(a){return BC(a.c,CC(a.c));}
+function C2b(c,a){var b;yC(c.c);for(b=0;b<a.b;b++){vC(c.c,Fb(gY(a,b),10).a);}}
+function e2b(){}
+_=e2b.prototype=new fE();_.tN=bgc+'ChoiceList';_.tI=518;_.a=null;_.b=null;_.c=null;_.d=null;function g2b(b,a){b.a=a;return b;}
+function i2b(a){BK(this.a.b,'');}
+function j2b(a){BK(this.a.b,'<enter text to filter list>');}
+function f2b(){}
+_=f2b.prototype=new xT();_.Bc=i2b;_.dd=j2b;_.tN=bgc+'ChoiceList$1';_.tI=519;function l2b(b,a,c){b.a=a;b.b=c;return b;}
+function n2b(a,b,c){}
+function o2b(a,b,c){}
+function p2b(a,b,c){if(b==13){z2b(this.a,this.b);}else{C2b(this.a,x4b(this.a.d,xK(this.a.b)));}}
+function k2b(){}
+_=k2b.prototype=new xT();_.Fc=n2b;_.ad=o2b;_.bd=p2b;_.tN=bgc+'ChoiceList$2';_.tI=520;function r2b(b,a,c){b.a=a;b.b=c;return b;}
+function t2b(a){z2b(this.a,this.b);}
+function q2b(){}
+_=q2b.prototype=new xT();_.wc=t2b;_.tN=bgc+'ChoiceList$3';_.tI=521;function v2b(b,a){b.a=a;return b;}
+function x2b(a){this.a.ic();}
+function u2b(){}
+_=u2b.prototype=new xT();_.wc=x2b;_.tN=bgc+'ChoiceList$4';_.tI=522;function o3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=kK(new jK());pK(i.d,10);BK(i.d,i.c.a);i.d.pe('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=uKb((sKb(),xKb),a.d.o);i.a=c.a;i.b=c.b;AN(i.d,'dsl-text-Editor');d=rt(new lt());d.ve(0,0,i.d);tK(i.d,F2b(new E2b(),i));uK(i.d,d3b(new c3b(),i));j=nO(new lO());e=ocb(new ncb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.pe('Add a new condition');lB(e,h3b(new g3b(),i));h=ocb(new ncb(),'images/new_dsl_action.gif');g='Add an action';h.pe('Add an action');lB(h,l3b(new k3b(),i));oO(j,e);oO(j,h);d.ve(0,1,j);hx(d.n,0,0,'95%');hx(d.n,0,1,'5%');d.xe('100%');d.ne('100%');mr(i,d);return i;}
+function q3b(e,b){var a,c,d;a=mK(e.d);c=AU(xK(e.d),0,a);d=AU(xK(e.d),a,uU(xK(e.d)));BK(e.d,c+b+d);e.c.a=xK(e.d);}
+function r3b(b){var a;a=AU(xK(b.d),0,mK(b.d));if(sU(a,'then')>(-1)){s3b(b,b.a);}else{s3b(b,b.b);}}
+function s3b(c,b){var a;a=y2b(new e2b(),b,c);rE(a,rN(c.d)+20,sN(c.d)+20);uE(a);}
+function D2b(){}
+_=D2b.prototype=new bab();_.tN=bgc+'DSLRuleEditor';_.tI=523;_.a=null;_.b=null;_.c=null;_.d=null;function F2b(b,a){b.a=a;return b;}
+function b3b(a){this.a.c.a=xK(this.a.d);dab(this.a);}
+function E2b(){}
+_=E2b.prototype=new xT();_.vc=b3b;_.tN=bgc+'DSLRuleEditor$1';_.tI=524;function d3b(b,a){b.a=a;return b;}
+function f3b(a,b,c){if(b==32&&c==2){r3b(this.a);}if(b==9){q3b(this.a,'\t');yK(this.a.d,mK(this.a.d)+1);vK(this.a.d);}}
+function c3b(){}
+_=c3b.prototype=new sB();_.Fc=f3b;_.tN=bgc+'DSLRuleEditor$2';_.tI=525;function h3b(b,a){b.a=a;return b;}
+function j3b(a){s3b(this.a,this.a.b);}
+function g3b(){}
+_=g3b.prototype=new xT();_.wc=j3b;_.tN=bgc+'DSLRuleEditor$3';_.tI=526;function l3b(b,a){b.a=a;return b;}
+function n3b(a){s3b(this.a,this.a.a);}
+function k3b(){}
+_=k3b.prototype=new xT();_.wc=n3b;_.tN=bgc+'DSLRuleEditor$4';_.tI=527;function C3b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=kK(new jK());pK(b.c,10);BK(b.c,b.b.a);AN(b.c,'default-text-Area');tK(b.c,v3b(new u3b(),b));uK(b.c,z3b(new y3b(),b));mr(b,b.c);return b;}
+function E3b(e,b){var a,c,d;a=mK(e.c);c=AU(xK(e.c),0,a);d=AU(xK(e.c),a,uU(xK(e.c)));BK(e.c,c+b+d);e.b.a=xK(e.c);}
+function t3b(){}
+_=t3b.prototype=new bab();_.tN=bgc+'DefaultRuleContentWidget';_.tI=528;_.a=null;_.b=null;_.c=null;function v3b(b,a){b.a=a;return b;}
+function x3b(a){this.a.b.a=xK(this.a.c);dab(this.a);}
+function u3b(){}
+_=u3b.prototype=new xT();_.vc=x3b;_.tN=bgc+'DefaultRuleContentWidget$1';_.tI=529;function z3b(b,a){b.a=a;return b;}
+function B3b(a,b,c){if(b==9){E3b(this.a,'\t');yK(this.a.c,mK(this.a.c)+1);vK(this.a.c);}}
+function y3b(){}
+_=y3b.prototype=new sB();_.Fc=B3b;_.tN=bgc+'DefaultRuleContentWidget$2';_.tI=530;function o4b(){o4b=v2;p4b=s4b();}
+function q4b(a){o4b();var b;b=Fb(c1(p4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
+function r4b(a,b){o4b();if(qU(a.d.k,'brl')){return p8b(new C7b(),fwb(new aub(),a),a);}else if(qU(a.d.k,'dslr')){return p8b(new C7b(),o3b(new D2b(),a),a);}else if(qU(a.d.k,'jar')){return ayb(new Fxb(),a,b);}else if(qU(a.d.k,'xls')){return p8b(new C7b(),kfb(new jfb(),a,b),a);}else if(qU(a.d.k,'rf')){return y7b(new x7b(),a,b);}else if(qU(a.d.k,'drl')){return p8b(new C7b(),C3b(new t3b(),a),a);}else if(qU(a.d.k,'enumeration')){return p8b(new C7b(),C3b(new t3b(),a),a);}else{return C3b(new t3b(),a);}}
+function s4b(){o4b();var a;a=C0(new a0());d1(a,'drl','technical_rule_assets.gif');d1(a,'dsl','dsl.gif');d1(a,'function','function_assets.gif');d1(a,'jar','model_asset.gif');d1(a,'xls','spreadsheet_small.gif');d1(a,'brl','business_rule.gif');d1(a,'dslr','business_rule.gif');d1(a,'rf','ruleflow_small.gif');return a;}
+function t4b(d,f,g,e,a){o4b();var b,c,h;h=p$b(new x8b(),a,e);b=a.d.n;if(uU(b)>10){b=AU(b,0,7)+'...';}c=q4b(a.d.k);zJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(FY(),aZ)){d1(d,g,h);}y$b(h,k4b(new j4b(),f,h,d,g));FJ(f,BJ(f,h));}
+function u4b(b,d,e,c){o4b();var a;if(F0(b,e)){if(BJ(d,Fb(c1(b,e),13))==(-1)){a=ac(CJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{FJ(d,BJ(d,Fb(c1(b,e),13)));}edb();return;}BTb(ELb(),e,b4b(new a4b(),b,d,e,c));}
+var p4b;function b4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
+function d4b(c){var a,b;a=Fb(c,97);b=(sKb(),xKb);tKb(b,a.d.o,f4b(new e4b(),this,this.a,this.c,this.d,this.b,a));}
+function a4b(){}
+_=a4b.prototype=new hcb();_.md=d4b;_.tN=bgc+'EditorLauncher$1';_.tI=531;function f4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
+function h4b(a){t4b(a.b,a.d,a.e,a.c,a.a);}
+function i4b(){h4b(this);}
+function e4b(){}
+_=e4b.prototype=new xT();_.nb=i4b;_.tN=bgc+'EditorLauncher$2';_.tI=532;function k4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
+function m4b(a){EJ(a.b,BJ(a.b,a.d));FJ(a.b,0);if(a.a!==(FY(),aZ)){e1(a.a,a.c);}}
+function n4b(){m4b(this);}
+function j4b(){}
+_=j4b.prototype=new xT();_.nb=n4b;_.tN=bgc+'EditorLauncher$3';_.tI=533;function x4b(e,a){var b,c,d;b=FX(new DX());for(c=0;c<e.a;c++){d=e[c];if(qU(a,'')||yU(d.a,a)){bY(b,d);}}return b;}
+function m6b(e,a,c,f,d){var b;tbb(e);AN(e,'metadata-Widget');if(!c){b=pcb(new ncb(),'images/edit.gif','Rename this asset');lB(b,d5b(new z4b(),e));xbb(e,'images/meta_data.png',a.n,b);}else{wbb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;r6b(e,a);return e;}
+function n6b(a){a.b=s1b(new C0b(),a.a,a.c);return a.b;}
+function p6b(d,a,e){var b,c;if(!d.c){b=FK(new qK());b.pe(e);BK(b,a.bc());c=a5b(new F4b(),d,a,b);tK(b,c);return b;}else{return cC(new aC(),a.bc());}}
+function q6b(a){if(a.a.v==0){return kz(new nw(),'<i>Not checked in yet<\/i>');}else{return u6b(a,dT(a.a.v));}}
+function r6b(b,a){b.a=a;vbb(b,'Categories:',n6b(b));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Modified on:',t6b(b,b.a.m));vbb(b,'by:',u6b(b,b.a.l));vbb(b,'Note:',u6b(b,b.a.b));vbb(b,'Version:',q6b(b));if(!b.c){vbb(b,'Created on:',t6b(b,b.a.d));}vbb(b,'Created by:',u6b(b,b.a.e));vbb(b,'Format:',kz(new nw(),'<b>'+b.a.k+'<\/b>'));ybb(b,kz(new nw(),'<hr/>'));vbb(b,'Package:',s6b(b,b.a.o));vbb(b,'Subject:',p6b(b,h5b(new g5b(),b),'A short description of the subject matter.'));vbb(b,'Type:',p6b(b,m5b(new l5b(),b),'This is for classification purposes.'));vbb(b,'External link:',p6b(b,r5b(new q5b(),b),'This is for relating the asset to an external system.'));vbb(b,'Source:',p6b(b,w5b(new v5b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){ybb(b,t_b(new A$b(),b.e,b.a,b.d));}}
+function s6b(d,c){var a,b;if(d.c){return u6b(d,c);}else{b=fA(new dA());AN(b,'metadata-Widget');gA(b,u6b(d,c));a=ocb(new ncb(),'images/edit.gif');lB(a,B5b(new A5b(),d,c));gA(b,a);return b;}}
+function t6b(b,a){if(a===null){return null;}else{return cC(new aC(),sZ(a));}}
+function u6b(c,b){var a;a=cC(new aC(),b);a.xe('100%');return a;}
+function v6b(f,b,e){var a,c,d;c=dcb(new Ebb(),'images/package_large.png','Move this item to another package');ecb(c,'Current package:',cC(new aC(),b));d=rdb(new mdb());ecb(c,'New package:',d);a=wp(new qp(),'Change package');ecb(c,'',a);a.x(i6b(new h6b(),f,d,b,c));rE(c,rN(e.v.v),sN(e.v.v));uE(c);}
+function w6b(e,d){var a,b,c;c=dcb(new Ebb(),'images/package_large.png','Rename this item');a=FK(new qK());ecb(c,'New name',a);b=wp(new qp(),'Rename item');ecb(c,'',b);b.x(F5b(new E5b(),e,a,c));rE(c,rN(d.v.v)-18,sN(d.v.v));uE(c);}
+function x6b(){return this.b.mc()||this.j;}
+function y4b(){}
+_=y4b.prototype=new rbb();_.mc=x6b;_.tN=bgc+'MetaDataWidget';_.tI=534;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function d5b(b,a){b.a=a;return b;}
+function f5b(a){w6b(this.a,a);}
+function z4b(){}
+_=z4b.prototype=new xT();_.wc=f5b;_.tN=bgc+'MetaDataWidget$1';_.tI=535;function B4b(b,a,c){b.a=a;b.b=c;return b;}
+function D4b(b,a){dab(b.a.a);B9b(b.a.a.d);b.b.ic();}
+function E4b(a){D4b(this,a);}
+function A4b(){}
+_=A4b.prototype=new hcb();_.md=E4b;_.tN=bgc+'MetaDataWidget$10';_.tI=536;function a5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function c5b(a){dab(this.a);this.b.te(xK(this.c));}
+function F4b(){}
+_=F4b.prototype=new xT();_.vc=c5b;_.tN=bgc+'MetaDataWidget$11';_.tI=537;function h5b(b,a){b.a=a;return b;}
+function j5b(){return this.a.a.s;}
+function k5b(a){this.a.a.s=a;}
+function g5b(){}
+_=g5b.prototype=new xT();_.bc=j5b;_.te=k5b;_.tN=bgc+'MetaDataWidget$2';_.tI=538;function m5b(b,a){b.a=a;return b;}
+function o5b(){return this.a.a.u;}
+function p5b(a){this.a.a.u=a;}
+function l5b(){}
+_=l5b.prototype=new xT();_.bc=o5b;_.te=p5b;_.tN=bgc+'MetaDataWidget$3';_.tI=539;function r5b(b,a){b.a=a;return b;}
+function t5b(){return this.a.a.i;}
+function u5b(a){this.a.a.i=a;}
+function q5b(){}
+_=q5b.prototype=new xT();_.bc=t5b;_.te=u5b;_.tN=bgc+'MetaDataWidget$4';_.tI=540;function w5b(b,a){b.a=a;return b;}
+function y5b(){return this.a.a.j;}
+function z5b(a){this.a.a.j=a;}
+function v5b(){}
+_=v5b.prototype=new xT();_.bc=y5b;_.te=z5b;_.tN=bgc+'MetaDataWidget$5';_.tI=541;function B5b(b,a,c){b.a=a;b.b=c;return b;}
+function D5b(a){v6b(this.a,this.b,a);}
+function A5b(){}
+_=A5b.prototype=new xT();_.wc=D5b;_.tN=bgc+'MetaDataWidget$6';_.tI=542;function F5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function b6b(a){dUb(ELb(),this.a.e,xK(this.b),d6b(new c6b(),this,this.c));}
+function E5b(){}
+_=E5b.prototype=new xT();_.wc=b6b;_.tN=bgc+'MetaDataWidget$7';_.tI=543;function d6b(b,a,c){b.a=a;b.b=c;return b;}
+function f6b(b,a){B9b(b.a.a.d);zh('Item has been renamed');b.b.ic();}
+function g6b(a){f6b(this,a);}
+function c6b(){}
+_=c6b.prototype=new hcb();_.md=g6b;_.tN=bgc+'MetaDataWidget$8';_.tI=544;function i6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function k6b(a){if(qU(tdb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}gTb(ELb(),this.a.e,tdb(this.d),'Moved from : '+this.b,B4b(new A4b(),this,this.c));}
+function h6b(){}
+_=h6b.prototype=new xT();_.wc=k6b;_.tN=bgc+'MetaDataWidget$9';_.tI=545;function j7b(){j7b=v2;gcb();}
+function g7b(a){a.f=FK(new qK());a.b=kK(new jK());a.d=l7b(a);a.g=rdb(new mdb());}
+function h7b(e,a,d,b,f){var c;j7b();dcb(e,'images/new_wiz.gif',f);g7b(e);e.h=d;e.c=b;e.a=a;ecb(e,'Name:',e.f);if(d){ecb(e,'Initial category:',k7b(e));}if(b===null){ecb(e,'Type (format) of rule:',e.d);}ecb(e,'Package:',e.g);pK(e.b,4);e.b.xe('100%');ecb(e,'Initial description:',e.b);c=wp(new qp(),'OK');c.x(A6b(new z6b(),e));ecb(e,'',c);AN(e,'ks-popups-Popup');return e;}
+function i7b(e,b,d,c,f,a){j7b();h7b(e,b,d,c,f);udb(e.g,a);return e;}
+function k7b(a){return v$(new e$(),E6b(new D6b(),a));}
+function m7b(a){if(a.c!==null)return a.c;return DC(a.d,CC(a.d));}
+function l7b(b){var a;a=sC(new kC());wC(a,'Business rule (using guided editor)','brl');wC(a,'DRL rule (technical rule - text editor)','drl');wC(a,'Business rule using a DSL (text editor)','dslr');wC(a,'Decision table (spreadsheet)','xls');bD(a,0);return a;}
+function n7b(b){var a;if(b.h&&b.e===null){Deb('You have to pick an initial category.',rN(b),sN(b));return;}else if(xK(b.f)===null||qU('',xK(b.f))){Deb('Rule must have a name',rN(b),sN(b));return;}a=c7b(new b7b(),b);idb('Please wait ...');oTb(ELb(),xK(b.f),xK(b.b),b.e,tdb(b.g),m7b(b),a);}
+function o7b(a,b){a.a.td(b);}
+function y6b(){}
+_=y6b.prototype=new Ebb();_.tN=bgc+'NewAssetWizard';_.tI=546;_.a=null;_.c=null;_.e=null;_.h=false;function A6b(b,a){b.a=a;return b;}
+function C6b(a){n7b(this.a);}
+function z6b(){}
+_=z6b.prototype=new xT();_.wc=C6b;_.tN=bgc+'NewAssetWizard$1';_.tI=547;function E6b(b,a){b.a=a;return b;}
+function a7b(a){this.a.e=a;}
+function D6b(){}
+_=D6b.prototype=new xT();_.ee=a7b;_.tN=bgc+'NewAssetWizard$2';_.tI=548;function c7b(b,a){b.a=a;return b;}
+function e7b(b,a){var c;c=Fb(a,1);if(yU(c,'DUPLICATE')){edb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{o7b(b.a,Fb(a,1));b.a.ic();}}
+function f7b(a){e7b(this,a);}
+function b7b(){}
+_=b7b.prototype=new hcb();_.md=f7b;_.tN=bgc+'NewAssetWizard$3';_.tI=549;function u7b(b,a){b.a=kK(new jK());b.a.xe('100%');pK(b.a,10);AN(b.a,'rule-viewer-Documentation');b.a.pe('This is rule documentation. Human friendly descriptions of the business logic.');mr(b,b.a);w7b(b,a);return b;}
+function w7b(b,a){BK(b.a,a.h);tK(b.a,r7b(new q7b(),b,a));if(a.h===null||qU('',a.h)){BK(b.a,'<documentation>');}}
+function p7b(){}
+_=p7b.prototype=new bab();_.tN=bgc+'RuleDocumentWidget';_.tI=550;_.a=null;function r7b(b,a,c){b.a=a;b.b=c;return b;}
+function t7b(a){this.b.h=xK(this.a.a);dab(this.a);}
+function q7b(){}
+_=q7b.prototype=new xT();_.vc=t7b;_.tN=bgc+'RuleDocumentWidget$1';_.tI=551;function y7b(b,a,c){ixb(b,a,c);jxb(b,kz(new nw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
+function A7b(){return 'images/ruleflow_large.png';}
+function B7b(){return 'decision-Table-upload';}
+function x7b(){}
+_=x7b.prototype=new Awb();_.sb=A7b;_.Bb=B7b;_.tN=bgc+'RuleFlowUploadWidget';_.tI=552;function p8b(c,b,a){c.a=a;c.b=kab(new iab());AN(c.b,'asset-editor-Layout');nab(c.b,0,0,b);if(!a.c)nab(c.b,1,0,v8b(c));bx(c.b.n,1,0,(uz(),xz),(Dz(),aA));c.b.xe('100%');c.b.ne('100%');mr(c,c.b);return c;}
+function r8b(a){idb('Validating item, please wait...');dTb(ELb(),a.a,g8b(new f8b(),a));}
+function s8b(a){idb('Calculating source...');cTb(ELb(),a.a,l8b(new k8b(),a));}
+function t8b(h,e){var a,b,c,d,f,g;c=dcb(new Ebb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){fcb(c,kz(new nw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=rt(new lt());AN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ve(f,0,kB(new uA(),'images/error.gif'));if(qU(d.a,'package')){Ey(a,f,1,'[package configuration problem] '+d.c);}else{Ey(a,f,1,d.c);}}g=uG(new sG(),a);g.xe('100%');fcb(c,g);}rE(c,100,100);uE(c);edb();}
+function u8b(b,a){hBb(a,b.a.d.n);edb();}
+function v8b(b){var a,c,d;a=fA(new dA());d=wp(new qp(),'View source');gA(a,d);c=wp(new qp(),'Validate');gA(a,c);d.x(E7b(new D7b(),b));c.x(c8b(new b8b(),b));AN(a,'asset-validator-Buttons');return a;}
+function w8b(){return mab(this.b);}
+function C7b(){}
+_=C7b.prototype=new bab();_.mc=w8b;_.tN=bgc+'RuleValidatorWrapper';_.tI=553;_.a=null;_.b=null;function E7b(b,a){b.a=a;return b;}
+function a8b(a){s8b(this.a);}
+function D7b(){}
+_=D7b.prototype=new xT();_.wc=a8b;_.tN=bgc+'RuleValidatorWrapper$1';_.tI=554;function c8b(b,a){b.a=a;return b;}
+function e8b(a){r8b(this.a);}
+function b8b(){}
+_=b8b.prototype=new xT();_.wc=e8b;_.tN=bgc+'RuleValidatorWrapper$2';_.tI=555;function g8b(b,a){b.a=a;return b;}
+function i8b(c,a){var b;b=Fb(a,88);t8b(c.a,b);}
+function j8b(a){i8b(this,a);}
+function f8b(){}
+_=f8b.prototype=new hcb();_.md=j8b;_.tN=bgc+'RuleValidatorWrapper$3';_.tI=556;function l8b(b,a){b.a=a;return b;}
+function n8b(c,a){var b;b=Fb(a,1);u8b(c.a,b);}
+function o8b(a){n8b(this,a);}
+function k8b(){}
+_=k8b.prototype=new hcb();_.md=o8b;_.tN=bgc+'RuleValidatorWrapper$4';_.tI=557;function p$b(c,a,b){c.a=a;c.g=b;c.e=kab(new iab());v$b(c);mr(c,c.e);edb();return c;}
+function r$b(a){a.a.a=true;s$b(a);m4b(a.b);}
+function s$b(a){hy(a.e);idb('Saving, please wait...');iTb(ELb(),a.a,i$b(new h$b(),a));}
+function t$b(e){var a,b,c,d;d=dcb(new Ebb(),'images/warning-large.png','WARNING: Un-committed changes.');b=wp(new qp(),'Discard');a=wp(new qp(),'Cancel');c=fA(new dA());gA(c,b);gA(c,a);fcb(d,kz(new nw(),'Are you sure you want to discard changes?'));fcb(d,c);b.x(E8b(new D8b(),e,d));a.x(c9b(new b9b(),e,d));AN(d,'warning-Popup');rE(d,dc((fab()-mE(d))/2),100);uE(d);}
+function u$b(a){sTb(ELb(),a.a.e,a.a.d.o,d$b(new c$b(),a));}
+function v$b(b){var a;hy(b.e);a=ut(b.e);b.h=s0b(new dZb(),b.a,f9b(new y8b(),b),k9b(new j9b(),b),p9b(new o9b(),b),u9b(new t9b(),b),b.g);nab(b.e,0,0,b.h);bx(a,0,0,(uz(),xz),(Dz(),aA));b.f=m6b(new y4b(),b.a.d,b.g,b.a.e,z9b(new y9b(),b));nab(b.e,0,1,b.f);qt(a,0,1,3);fx(a,0,1,(Dz(),aA));hx(a,0,1,'30%');b.d=r4b(b.a,b);y0b(b.h,E9b(new D9b(),b));nab(b.e,1,0,b.d);fx(a,1,0,(Dz(),aA));b.c=u7b(new p7b(),b.a.d);nab(b.e,2,0,b.c);fx(a,2,0,(Dz(),aA));}
+function w$b(a){if(f_(a.a.d.k)){idb('Refreshing content assistance...');wKb((sKb(),xKb),a.a.d.o,new m$b());}}
+function x$b(a){BTb(ELb(),a.a.e,A8b(new z8b(),a));}
+function y$b(b,a){b.b=a;}
+function z$b(a){var b;b= !Fw(ut(a.e),2,0);gx(ut(a.e),0,1,b);gx(ut(a.e),2,0,b);}
+function x8b(){}
+_=x8b.prototype=new kr();_.tN=bgc+'RuleViewer';_.tI=558;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function f9b(b,a){b.a=a;return b;}
+function h9b(a){s$b(a.a);}
+function i9b(){h9b(this);}
+function y8b(){}
+_=y8b.prototype=new xT();_.nb=i9b;_.tN=bgc+'RuleViewer$1';_.tI=559;function A8b(b,a){b.a=a;return b;}
+function C8b(a){this.a.a=Fb(a,97);v$b(this.a);edb();}
+function z8b(){}
+_=z8b.prototype=new hcb();_.md=C8b;_.tN=bgc+'RuleViewer$10';_.tI=560;function E8b(b,a,c){b.a=a;b.b=c;return b;}
+function a9b(a){m4b(this.a.b);this.b.ic();}
+function D8b(){}
+_=D8b.prototype=new xT();_.wc=a9b;_.tN=bgc+'RuleViewer$11';_.tI=561;function c9b(b,a,c){b.a=c;return b;}
+function e9b(a){this.a.ic();}
+function b9b(){}
+_=b9b.prototype=new xT();_.wc=e9b;_.tN=bgc+'RuleViewer$12';_.tI=562;function k9b(b,a){b.a=a;return b;}
+function m9b(a){r$b(a.a);}
+function n9b(){m9b(this);}
+function j9b(){}
+_=j9b.prototype=new xT();_.nb=n9b;_.tN=bgc+'RuleViewer$2';_.tI=563;function p9b(b,a){b.a=a;return b;}
+function r9b(a){z$b(a.a);}
+function s9b(){r9b(this);}
+function o9b(){}
+_=o9b.prototype=new xT();_.nb=s9b;_.tN=bgc+'RuleViewer$3';_.tI=564;function u9b(b,a){b.a=a;return b;}
+function w9b(a){u$b(a.a);}
+function x9b(){w9b(this);}
+function t9b(){}
+_=t9b.prototype=new xT();_.nb=x9b;_.tN=bgc+'RuleViewer$4';_.tI=565;function z9b(b,a){b.a=a;return b;}
+function B9b(a){x$b(a.a);}
+function C9b(){B9b(this);}
+function y9b(){}
+_=y9b.prototype=new xT();_.nb=C9b;_.tN=bgc+'RuleViewer$5';_.tI=566;function E9b(b,a){b.a=a;return b;}
+function a$b(a){if(mab(a.a.e)){t$b(a.a);}else{m4b(a.a.b);}}
+function b$b(){a$b(this);}
+function D9b(){}
+_=D9b.prototype=new xT();_.nb=b$b;_.tN=bgc+'RuleViewer$6';_.tI=567;function d$b(b,a){b.a=a;return b;}
+function f$b(b,a){m4b(b.a.b);}
+function g$b(a){f$b(this,a);}
+function c$b(){}
+_=c$b.prototype=new hcb();_.md=g$b;_.tN=bgc+'RuleViewer$7';_.tI=568;function i$b(b,a){b.a=a;return b;}
+function k$b(b,a){var c;w$b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){eab(Fb(b.a.d,98));}eab(b.a.f);eab(b.a.c);if(c===null){jbb('Failed to check in the item. Please contact your system administrator.');return;}x$b(b.a);}
+function l$b(a){k$b(this,a);}
+function h$b(){}
+_=h$b.prototype=new hcb();_.md=l$b;_.tN=bgc+'RuleViewer$8';_.tI=569;function o$b(){edb();}
+function m$b(){}
+_=m$b.prototype=new xT();_.nb=o$b;_.tN=bgc+'RuleViewer$9';_.tI=570;function t_b(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=fA(new dA());d.a=rt(new lt());d.a.ve(0,0,cC(new aC(),'Version history'));ex(d.a.n,0,0,'metadata-Widget');b=ut(d.a);dx(b,0,0,(uz(),wz));d.c=ocb(new ncb(),'images/refresh.gif');lB(d.c,C$b(new B$b(),d));d.a.ve(0,1,d.c);dx(b,0,1,(uz(),xz));AN(f,'version-browser-Border');gA(f,d.a);d.a.xe('100%');f.xe('100%');mr(d,f);return d;}
+function u_b(a){y_b(a);fg(a_b(new F$b(),a));}
+function w_b(b,a){return n_b(new m_b(),b,a);}
+function x_b(a){yTb(ELb(),a.e,e_b(new d_b(),a));}
+function y_b(a){pB(a.c,'images/searching.gif');}
+function z_b(a){pB(a.c,'images/refresh.gif');}
+function A_b(b,a){var c;c=rac(new B_b(),b.b,a,b.e,b.d);rE(c,100,100);uE(c);}
+function A$b(){}
+_=A$b.prototype=new kr();_.tN=bgc+'VersionBrowser';_.tI=571;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function C$b(b,a){b.a=a;return b;}
+function E$b(a){u_b(this.a);}
+function B$b(){}
+_=B$b.prototype=new xT();_.wc=E$b;_.tN=bgc+'VersionBrowser$1';_.tI=572;function a_b(b,a){b.a=a;return b;}
+function c_b(){x_b(this.a);}
+function F$b(){}
+_=F$b.prototype=new xT();_.nb=c_b;_.tN=bgc+'VersionBrowser$2';_.tI=573;function e_b(b,a){b.a=a;return b;}
+function g_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ve(1,0,cC(new aC(),'No history.'));z_b(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',607,1,['Version number','Comment','Date Modified','Status']);d=w_b(i.a,f);h=efc(d,c,0,false);h.xe('100%');i.a.a.ve(1,0,h);b=ut(i.a.a);pt(b,1,0,2);e=wp(new qp(),'View selected version');e.x(j_b(new i_b(),i,h));i.a.a.ve(2,1,e);pt(b,2,1,3);dx(b,2,1,(uz(),vz));z_b(i.a);}
+function h_b(a){g_b(this,a);}
+function d_b(){}
+_=d_b.prototype=new hcb();_.md=h_b;_.tN=bgc+'VersionBrowser$3';_.tI=574;function j_b(b,a,c){b.a=a;b.b=c;return b;}
+function l_b(a){if(this.b.f==0)return;A_b(this.a.a,xec(this.b));}
+function i_b(){}
+_=i_b.prototype=new xT();_.wc=l_b;_.tN=bgc+'VersionBrowser$4';_.tI=575;function n_b(b,a,c){b.a=c;return b;}
+function p_b(){return this.a.a;}
+function q_b(a){return this.a[a].b;}
+function r_b(b,a){return this.a[b].c[a];}
+function s_b(b,a){return null;}
+function m_b(){}
+_=m_b.prototype=new xT();_.xb=p_b;_.Db=q_b;_.cc=r_b;_.dc=s_b;_.tN=bgc+'VersionBrowser$5';_.tI=576;function sac(){sac=v2;Fr();}
+function rac(d,a,e,b,c){sac();Dr(d,false);d.c=e;d.a=b;d.b=c;AN(d,'version-Popup');idb('Loading version');BTb(ELb(),e,D_b(new C_b(),d,a));return d;}
+function tac(b,c){var a;a=F1b(new A1b(),rN(c)+10,sN(c)+10,'Restore this version?');c2b(a,jac(new iac(),b,a));d2b(a);}
+function B_b(){}
+_=B_b.prototype=new Ar();_.tN=bgc+'VersionViewer';_.tI=577;_.a=null;_.b=null;_.c=null;function D_b(b,a,c){b.a=a;b.b=c;return b;}
+function F_b(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;bs(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=rt(new lt());d=ut(e);f=wp(new qp(),'Restore this version');f.x(bac(new aac(),this));e.ve(0,0,f);dx(d,0,0,(uz(),wz));b=wp(new qp(),'Close');b.x(fac(new eac(),this));e.ve(0,1,b);dx(d,0,1,(uz(),xz));g=p$b(new x8b(),a,true);g.xe('100%');e.ve(1,0,g);pt(d,1,1,2);e.xe('100%');yN(e,800,300);cs(this.a,e);}
+function C_b(){}
+_=C_b.prototype=new hcb();_.md=F_b;_.tN=bgc+'VersionViewer$1';_.tI=578;function bac(b,a){b.a=a;return b;}
+function dac(a){tac(this.a.a,a);}
+function aac(){}
+_=aac.prototype=new xT();_.wc=dac;_.tN=bgc+'VersionViewer$2';_.tI=579;function fac(b,a){b.a=a;return b;}
+function hac(a){this.a.a.ic();}
+function eac(){}
+_=eac.prototype=new xT();_.wc=hac;_.tN=bgc+'VersionViewer$3';_.tI=580;function jac(b,a,c){b.a=a;b.b=c;return b;}
+function lac(){fUb(ELb(),this.a.c,this.a.a,b2b(this.b),nac(new mac(),this));}
+function iac(){}
+_=iac.prototype=new xT();_.nb=lac;_.tN=bgc+'VersionViewer$4';_.tI=581;function nac(b,a){b.a=a;return b;}
+function pac(b,a){b.a.a.ic();B9b(b.a.a.b);}
+function qac(a){pac(this,a);}
+function mac(){}
+_=mac.prototype=new hcb();_.md=qac;_.tN=bgc+'VersionViewer$5';_.tI=582;function xbc(a){a.b=(FY(),aZ);}
+function ybc(a){xbc(a);a.c=yJ(new kJ());a.c.xe('100%');a.c.ne('100%');zJ(a.c,Abc(a),"<img src='images/explore.gif'/>Explore",true);FJ(a.c,0);mr(a,a.c);return a;}
+function Abc(i){var a,b,c,d,e,f,g,h;h=rt(new lt());i.a=Bcc(new Fbc(),wac(new vac(),i),'rulelist');b=ut(h);d=v$(new e$(),Aac(new zac(),i,h));f=Fdc(new edc(),Eac(new Dac(),i));h.ve(0,1,f);bx(b,0,0,(uz(),wz),(Dz(),aA));bx(b,0,1,(uz(),wz),(Dz(),aA));hx(b,0,0,'30%');hx(b,0,1,'70%');e=wp(new qp(),'Create new rule');e.pe('Create new rule');e.x(dbc(new cbc(),i));g=ocb(new ncb(),'images/system_search_small.png');g.pe('Show the rule finder.');lB(g,hbc(new gbc(),i,h,f));a=fA(new dA());gA(a,e);gA(a,g);AN(a,'new-asset-Icons');c=nO(new lO());oO(c,a);oO(c,d);c.xe('100%');h.ve(0,0,c);return h;}
+function Bbc(c,a,b){return lbc(new kbc(),c,b,a);}
+function Cbc(b,a){b.b=a;}
+function Dbc(a,b){u4b(a.b,a.c,b,false);}
+function Ebc(c){var a,b,d;a=70;d=100;b=h7b(new y6b(),ubc(new tbc(),c),true,null,'Create a new rule');rE(b,a,d);uE(b);}
+function uac(){}
+_=uac.prototype=new kr();_.tN=cgc+'AssetBrowser';_.tI=583;_.a=null;_.c=null;function wac(b,a){b.a=a;return b;}
+function yac(a){Dbc(this.a,a);}
+function vac(){}
+_=vac.prototype=new xT();_.td=yac;_.tN=cgc+'AssetBrowser$1';_.tI=584;function Aac(b,a,c){b.a=a;b.b=c;return b;}
+function Cac(b){var a;a=Bbc(this.a,this.a.a,b);this.b.ve(0,1,this.a.a);idb('Retrieving list, please wait...');fg(a);bdc(this.a.a,a);}
+function zac(){}
+_=zac.prototype=new xT();_.ee=Cac;_.tN=cgc+'AssetBrowser$2';_.tI=585;function Eac(b,a){b.a=a;return b;}
+function abc(b,a){Dbc(b.a,a);}
+function bbc(a){abc(this,a);}
+function Dac(){}
+_=Dac.prototype=new xT();_.td=bbc;_.tN=cgc+'AssetBrowser$3';_.tI=586;function dbc(b,a){b.a=a;return b;}
+function fbc(a){Ebc(this.a);}
+function cbc(){}
+_=cbc.prototype=new xT();_.wc=fbc;_.tN=cgc+'AssetBrowser$4';_.tI=587;function hbc(b,a,d,c){b.b=d;b.a=c;return b;}
+function jbc(a){this.b.ve(0,1,this.a);}
+function gbc(){}
+_=gbc.prototype=new xT();_.wc=jbc;_.tN=cgc+'AssetBrowser$5';_.tI=588;function lbc(b,a,d,c){b.b=d;b.a=c;return b;}
+function nbc(){idb('Loading list, please wait...');CTb(ELb(),this.b,pbc(new obc(),this,this.a));}
+function kbc(){}
+_=kbc.prototype=new xT();_.nb=nbc;_.tN=cgc+'AssetBrowser$6';_.tI=589;function pbc(b,a,c){b.a=c;return b;}
+function rbc(c,a){var b;b=Fb(a,62);adc(c.a,b);edb();}
+function sbc(a){rbc(this,a);}
+function obc(){}
+_=obc.prototype=new hcb();_.md=sbc;_.tN=cgc+'AssetBrowser$7';_.tI=590;function ubc(b,a){b.a=a;return b;}
+function wbc(a){Dbc(this.a,a);}
+function tbc(){}
+_=tbc.prototype=new xT();_.td=wbc;_.tN=cgc+'AssetBrowser$8';_.tI=591;function Ccc(){Ccc=v2;cdc=ELb();}
+function Acc(a){a.c=rt(new lt());a.e=ocb(new ncb(),'images/refresh.gif');a.a=bC(new aC());}
+function Bcc(c,a,b){Ccc();Acc(c);Ecc(c);Fcc(c,b);c.e.ue(false);c.b=a;c.e.pe('Refresh current list. Will show any changes.');lB(c.e,bcc(new acc(),c));return c;}
+function Dcc(a){return CYb(xec(a.f));}
+function Ecc(c){var a,b;a=ut(c.c);c.c.xe('100%');bx(a,0,0,(uz(),wz),(Dz(),aA));b=ocb(new ncb(),'images/open_item.gif');lB(b,kcc(new jcc(),c));b.pe('Open item');c.c.ve(0,1,b);bx(a,0,1,(uz(),xz),(Dz(),aA));mr(c,c.c);}
+function Fcc(b,a){ETb(cdc,a,fcc(new ecc(),b));}
+function adc(g,a){var b,c,d,e,f;b=ut(g.c);g.c.ve(1,0,null);if(a===null||a.a.a==0){d=new ncc();g.f=efc(d,g.g.a,25,true);g.a.ue(false);}else{f=a.a;c=ucc(new tcc(),g,f);g.f=efc(c,g.g.a,25,true);e=fA(new dA());gA(e,g.e);g.a.ue(true);hC(g.a,'  '+a.a.a+' items.');gA(e,g.a);g.c.ve(0,0,e);}g.f.xe('100%');g.c.ve(1,0,g.f);pt(b,1,0,2);}
+function bdc(b,a){b.d=a;b.e.ue(true);}
+function Fbc(){}
+_=Fbc.prototype=new kr();_.tN=cgc+'AssetItemListViewer';_.tI=592;_.b=null;_.d=null;_.f=null;_.g=null;var cdc;function bcc(b,a){b.a=a;return b;}
+function dcc(a){idb('Refreshing list, please wait...');this.a.d.nb();}
+function acc(){}
+_=acc.prototype=new xT();_.wc=dcc;_.tN=cgc+'AssetItemListViewer$1';_.tI=593;function fcc(b,a){b.a=a;return b;}
+function hcc(b,a){b.a.g=Fb(a,99);adc(b.a,null);}
+function icc(a){hcc(this,a);}
+function ecc(){}
+_=ecc.prototype=new hcb();_.md=icc;_.tN=cgc+'AssetItemListViewer$2';_.tI=594;function kcc(b,a){b.a=a;return b;}
+function mcc(a){idb('Loading item, please wait ...');this.a.b.td(CYb(xec(this.a.f)));}
+function jcc(){}
+_=jcc.prototype=new xT();_.wc=mcc;_.tN=cgc+'AssetItemListViewer$3';_.tI=595;function pcc(){return 0;}
+function qcc(a){return '';}
+function rcc(b,a){return '';}
+function scc(b,a){return null;}
+function ncc(){}
+_=ncc.prototype=new xT();_.xb=pcc;_.Db=qcc;_.cc=rcc;_.dc=scc;_.tN=cgc+'AssetItemListViewer$4';_.tI=596;function ucc(b,a,c){b.a=a;b.b=c;return b;}
+function wcc(){return this.b.a;}
+function xcc(a){return this.b[a].b;}
+function ycc(b,a){return this.b[b].c[a];}
+function zcc(b,a){if(qU(this.a.g.a[a],'*')){return kB(new uA(),'images/'+q4b(this.b[b].a));}else{return null;}}
+function tcc(){}
+_=tcc.prototype=new xT();_.xb=wcc;_.Db=xcc;_.cc=ycc;_.dc=zcc;_.tN=cgc+'AssetItemListViewer$5';_.tI=597;function Fdc(d,a){var b,c;d.c=ubb(new rbb(),'images/system_search.png','');d.e=q_(new g_(),gdc(new fdc(),d));AN(d.e,'gwt-TextBox');d.b=a;c=fA(new dA());b=wp(new qp(),'Go');b.x(kdc(new jdc(),d));gA(c,d.e);gA(c,b);d.a=iq(new fq(),'Include archived items in list');AN(d.a,'small-Text');mq(d.a,false);vbb(d.c,'Find items with a name matching:',c);ybb(d.c,d.a);ybb(d.c,kz(new nw(),'<hr/>'));d.d=rt(new lt());d.d.ve(0,0,kz(new nw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));ybb(d.c,d.d);AN(d.d,'editable-Surface');uK(d.e,bec(d));AN(d.c,'quick-find');mr(d,d.c);return d;}
+function bec(a){return sdc(new rdc(),a);}
+function cec(c,a,b){FTb(ELb(),a,5,lq(c.a),odc(new ndc(),c,b));}
+function dec(f,d){var a,b,c,e;a=rt(new lt());if(d.a.a==1){abc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(qU(e.b,'MORE')){a.ve(b,0,kz(new nw(),'<i>There are more items... try narrowing the search terms..<\/i>'));pt(ut(a),b,0,3);}else{a.ve(b,0,cC(new aC(),e.c[0]));a.ve(b,1,cC(new aC(),e.c[1]));c=wp(new qp(),'Open');c.x(Cdc(new Bdc(),f,e));a.ve(b,2,c);}}a.xe('100%');f.d.ve(0,0,a);edb();}
+function eec(a){idb('Searching...');FTb(ELb(),xK(a.e),15,lq(a.a),ydc(new xdc(),a));}
+function edc(){}
+_=edc.prototype=new kr();_.tN=cgc+'QuickFindWidget';_.tI=598;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function gdc(b,a){b.a=a;return b;}
+function idc(c,b,a){cec(c.a,b,a);}
+function fdc(){}
+_=fdc.prototype=new xT();_.tN=cgc+'QuickFindWidget$1';_.tI=599;function kdc(b,a){b.a=a;return b;}
+function mdc(a){eec(this.a);}
+function jdc(){}
+_=jdc.prototype=new xT();_.wc=mdc;_.tN=cgc+'QuickFindWidget$2';_.tI=600;function odc(b,a,c){b.a=c;return b;}
+function qdc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[607],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!qU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}o_(this.a,c);}
+function ndc(){}
+_=ndc.prototype=new hcb();_.md=qdc;_.tN=cgc+'QuickFindWidget$3';_.tI=601;function sdc(b,a){b.a=a;return b;}
+function udc(a,b,c){}
+function vdc(a,b,c){}
+function wdc(a,b,c){if(b==13){eec(this.a);}}
+function rdc(){}
+_=rdc.prototype=new xT();_.Fc=udc;_.ad=vdc;_.bd=wdc;_.tN=cgc+'QuickFindWidget$4';_.tI=602;function ydc(b,a){b.a=a;return b;}
+function Adc(a){var b;b=Fb(a,62);dec(this.a,b);}
+function xdc(){}
+_=xdc.prototype=new hcb();_.md=Adc;_.tN=cgc+'QuickFindWidget$5';_.tI=603;function Cdc(b,a,c){b.a=a;b.b=c;return b;}
+function Edc(a){abc(this.a.b,this.b.b);}
+function Bdc(){}
+_=Bdc.prototype=new xT();_.wc=Edc;_.tN=cgc+'QuickFindWidget$6';_.tI=604;function hec(a){a.a=FX(new DX());}
+function iec(a){hec(a);return a;}
+function jec(b,a,c){if(a>=b.a.b){kec(b,a);}mY(b.a,a,c);}
+function kec(c,a){var b;for(b=c.a.b;b<=a;b++){bY(c.a,null);}}
+function mec(b,a){return gY(b.a,a);}
+function nec(b,a){b.b=a;}
+function oec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(mec(this,this.b),34);b=Fb(mec(d,this.b),34);return a.ab(b);}
+function gec(){}
+_=gec.prototype=new xT();_.ab=oec;_.tN=dgc+'RowData';_.tI=605;_.b=0;function qec(a){a.j=FX(new DX());a.i=FX(new DX());}
+function rec(c,b,a){aw(c,b+1,a);qec(c);dy(c,c);AN(c,hfc);return c;}
+function sec(c,b,a){if(b!=0){return;}Eec(c,a);afc(c,a);wec(c);}
+function uec(e){var a,b,c,d,f;if(e.h==cfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(gY(e.j,c),100);for(a=0;a<b.a.b;a++){f=mec(b,a);Aec(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(gY(e.j,c),100);for(a=0;a<b.a.b;a++){f=mec(b,a);Aec(e,d,a,f.tS());}}}}
+function vec(d){var a,b,c;c=0;for(b=d.i.nc();b.hc();){a=Fb(b.pc(),1);yec(d,a,c++);}}
+function wec(a){vec(a);uec(a);}
+function xec(a){return oy(a,a.f,a.e);}
+function yec(d,c,b){var a;a=cU(new bU());eU(a,c);eU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==cfc){eU(a,"'"+d.a+"' alt='Ascending' ");}else{eU(a,"'"+d.c+"' alt='Descending' ");}}else{eU(a,"'"+d.b+"'");}eU(a,'/>');Cy(d,0,b,iU(a));rx(d.p,0,ifc);}
+function zec(c,b,a){if(b%2==0){ex(c.n,b,a,gfc);}}
+function Aec(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ve(b,a,kB(new uA(),'images/'+q4b(d)));else Ey(c,b,a,d);}}
+function Bec(c,b,a){aY(c.i,a,b);yec(c,b,a);}
+function Cec(b,a){b.d=a;}
+function Dec(b,a){b.e=a;gx(b.n,0,a,false);}
+function Eec(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(gY(d.j,b),100);nec(a,c);}}
+function Fec(d,b,a,e,f){var c;if(b==0)return;zec(d,b,a);if(b-1>=d.j.b||null===gY(d.j,b-1)){aY(d.j,b-1,iec(new gec()));}c=Fb(gY(d.j,b-1),100);jec(c,a,e);if(f===null){Ey(d,b,a,''+e+'');}else{d.ve(b,a,f);}if(a==d.e){gx(d.n,b,a,false);}}
+function afc(b,a){cZ(b.j);if(b.g!=a){b.h=cfc;}else{b.h=b.h==cfc?dfc:cfc;}b.g=a;}
+function bfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){ex(a,c,b,jfc);if(d.f%2==0&&d.f!=0){ex(a,d.f,b,gfc);}else{ax(a,d.f,b,jfc);}}d.f=c;}}
+function efc(a,d,b,c){var e,f,g;g=null;if(b>a.xb()){g=rec(new pec(),b,d.a+1);Fec(g,1,1,'',null);}else{g=rec(new pec(),a.xb()+1,d.a+1);}Bec(g,'',0);for(e=0;e<d.a;e++){Bec(g,d[e],e+1);}Dec(g,0);for(e=0;e<a.xb();e++){Fec(g,e+1,0,a.Db(e),null);for(f=0;f<d.a;f++){Fec(g,e+1,f+1,a.cc(e,f),a.dc(e,f));}}Cec(g,c);return g;}
+function ffc(c,b,a){if(b<=this.j.b){bfc(this,b);sec(this,b,a);}}
+function pec(){}
+_=pec.prototype=new Ev();_.uc=ffc;_.tN=dgc+'SortableTable';_.tI=606;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var cfc=0,dfc=1,gfc='rule-ListEvenRow',hfc='rule-List',ifc='rule-ListHeader',jfc='rule-SelectedRow';function rR(){b4(D3(new s3()));}
+function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{rR();}catch(a){b(d);}else{rR();}}
+var gc=[{},{11:1},{1:1,11:1,34:1,35:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{2:1,11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1},{8:1,11:1},{8:1,11:1},{8:1,11:1},{11:1},{2:1,6:1,11:1},{2:1,11:1},{9:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1},{3:1,11:1},{3:1,11:1,39:1},{3:1,11:1,92:1},{3:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,36:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,49:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1,33:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,43:1},{11:1,49:1,56:1}!
 ,{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,81:1},{11:1,13:1,36:1,37:1,81:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,46:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,49:1,56:1},{11:1,39:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,49:1},{11:1},{11:1,13:1,36:1,37:1,87:1},{11:1,13:1,36:1,37:1,48:1,54:1},{9:1,11:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,39:1},{11:1,39:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,50:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,80:1},{11:1,13:1,36:1,37:1,54:1},{11:1,36:1,52:1},{11:1,36:1,52:1},{11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11!
 :1},{11:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1},{3:1,1
1:1},{11:1,55:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{11:1,35:1},{3:1,11:1},{11:1},{11:1,57:1},{11:1,49:1,58:1},{11:1,49:1,58:1},{11:1},{11:1,49:1},{11:1},{11:1},{11:1,34:1,59:1},{11:1,57:1},{11:1,60:1},{11:1,49:1,58:1},{11:1},{11:1,49:1,58:1},{3:1,11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{7:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{8:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:!
 1,42:1},{11:1},{11:1,13:1,36:1,37:1,53:1},{11:1,42:1},{11:1},{11:1},{11:1,36:1,52:1,64:1},{11:1,13:1,36:1,37:1,46:1,80:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,13:1,36:1,37:1,81:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,65:1},{11:1,13:1,36:1,37:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,38:1,39:1,91:1},{11:1,20:1,22:1,38:1,39:1},{11:1,23:1,38:1,39:1},{11:1,20:1,22:1,24:1,38:1,39:1!
 },{11:1,20:1,22:1,24:1,25:1,38:1,39:1},{11:1,20:1,26:1,38:1,39:1},{11:
1,20:1,22:1,27:1,38:1,39:1},{11:1,20:1,22:1,27:1,28:1,38:1,39:1},{11:1,19:1,29:1,38:1,39:1},{11:1,21:1,30:1,38:1,39:1},{11:1,38:1,39:1,40:1},{11:1,15:1,38:1,39:1,40:1},{10:1,11:1,19:1,20:1,38:1,39:1},{11:1,19:1,31:1,38:1,39:1},{11:1,18:1,38:1,39:1},{11:1,38:1,39:1,83:1},{11:1,21:1,32:1,38:1,39:1,40:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,84:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,41:1},{4:1,11:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,46:1},{11:1,41:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,82:1,98:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,!
 42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,46:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1,42!
 :1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,4
2:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1},{4:1,11:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1,53:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,90:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,42:1},{11:1,53:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1},{11:1,12:1,39:1},{3:1,11:1,39:1,70:1},{11:1,39:1,93:1},{11:1,16:1,39:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,39:1,97:1},{11:1,39:1,95:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1,69:1},{11:1,17:1,39:1},{11:1,39:1,99:1},{11:1,39:1,62:1},{11:1,14:!
 1,39:1},{11:1,39:1,89:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,44:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1},{11:1,41:1},{11:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{4:1!
 ,11:1},{4:1,11:1},{4:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,
37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{11:1,46:1},{11:1},{11:1,42:1},{11:1,34:1,100:1},{11:1,13:1,36:1,37:1,51:1,54:1},{11:1,63:1},{11:1},{11:1,72:1,77:1,78:1},{11:1},{11:1,88:1},{11:1},{11:1},{11:1,94:1},{11:1,79:1},{11:1,71:1},{11:1,86:1},{11:1,76:1},{11:1,77:1},{11:1,78:1},{11:1,75:1},{11:1,78:1},{11:1,73:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,77:1},{11:1,75:1},{11:1,74:1,77:1},{11:1,75:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1}];if (org_drools_brms_JBRMS) {  var __gwt_initHandlers = org_drools_brms_JBRMS.__gwt_initHandlers;  org_drools_brms_JBRMS.onScriptLoad(gwtOnLoad);}})();
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6B9B43D15A9901CE0B7A2903D9D852B1.cache.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cache-entry>
+	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_TypeSerializer" hash="619B51D664C2EA16C242AAF2AF6BA7E6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableDataResult_FieldSerializer" hash="BFC3EC8D02BADBA251CA3B7A7F85C809"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.DSLSentence_FieldSerializer" hash="35AB7D23CC662D4F726060AA9938F6C6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.BuilderResult_FieldSerializer" hash="31FA4ADBFB94FFD9001BA8C2A4417504"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleAttribute_FieldSerializer" hash="7BF092FF4AE3E8CB784A96421E7BC6B4"/>
+	<generated-type-hash class="com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException_FieldSerializer" hash="FF198044879E67E1ACF2E0C29CC58CB5"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.MultiWordSuggestOracle_MultiWordSuggestion_FieldSerializer" hash="1721A875793F79F044BA9AEC6543C8A2"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.TreeImages_generatedBundle" hash="C4DB9D53C840859028C6F483DB58A75C"/>
+	<generated-type-hash class="com.google.gwt.user.client.rpc.SerializableException_FieldSerializer" hash="1CB9B63ABEC9BE7E663F6C56AA395208"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Request_FieldSerializer" hash="93219A0D78603408F1E24CE444809ADE"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableConfig_FieldSerializer" hash="68BF54922D06AC518871EB9FEFD7D68E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionRetractFact_FieldSerializer" hash="3ABE2631C28ACB7B3C1358BD27C80255"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SnapshotInfo_FieldSerializer" hash="995C2E7AEC07438074706D40B4864FF5"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertFact_FieldSerializer" hash="B3DA8CF19248044B9B347AFEE8AAC7F7"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.ValidatedResponse_FieldSerializer" hash="15269178DE71D238F26587B3095E7A9A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint_FieldSerializer" hash="8606C355A0F17A64941EB10EFAB41036"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionSetField_FieldSerializer" hash="7F0BA1987E3FB650C44049758B209A0E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint_FieldSerializer" hash="F30861DCB878C093201710AE55E3EF52"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFactPattern_FieldSerializer" hash="85DD7A29F613D6A493314730060FF12A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldValue_FieldSerializer" hash="C12B27B0B8651B5CCA2358C044C74DD1"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.DetailedSerializableException_FieldSerializer" hash="CE21C342ABA475456EAAE97B0AE44393"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.MetaData_FieldSerializer" hash="C7F537CFDF5A4E02C318B4614CEC20EA"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact_FieldSerializer" hash="8646F66FFEBDCE52535B8FBA9AE37830"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.SuggestionCompletionEngine_FieldSerializer" hash="1BED05A61D2EFBC600410686A3304B3E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.SingleFieldConstraint_FieldSerializer" hash="C2DB414BB43FE22A8E8CDBA910564AA6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RuleAsset_FieldSerializer" hash="7D9F400F79A33BD99A5721E52B6EDBA7"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.PackageConfigData_FieldSerializer" hash="1C8237E912FA51556E3496683D32C8B5"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Response_FieldSerializer" hash="1C6D42E0AC1FE9CDD63B791E11BD9615"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.FactPattern_FieldSerializer" hash="5535A6C88015EE51C5F4FA808DFAA8ED"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SessionExpiredException_FieldSerializer" hash="0A173F0D6310FDB17BD90CBB1948DC75"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_Proxy" hash="EE514DB88A5F377A761E4D0AAB187640"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableDataRow_FieldSerializer" hash="411D058D97408AAE2C3EBA1620048463"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldList_FieldSerializer" hash="73DAB0917FEA7A2E484F4B12C200C868"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_TypeSerializer" hash="8DCA6439D096072B75D6701D8B54A1DA"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionUpdateField_FieldSerializer" hash="53DAC10B208EAD97D6542560F2C8BAAD"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RuleContentText_FieldSerializer" hash="9F5834F874613140D0BDEC4056C49928"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_Proxy" hash="0549B5DD064B695F228AA7312765E9C0"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleModel_FieldSerializer" hash="2A44CFABD8B63D33EFAA2FF86226638A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ConnectiveConstraint_FieldSerializer" hash="BF0E8BCBA71D0333FD6536A3B7B09370"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.TextBoxImpl" out="com.google.gwt.user.client.ui.impl.TextBoxImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.ListBox.Impl" out="com.google.gwt.user.client.ui.ListBox.Impl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.FocusImpl" out="com.google.gwt.user.client.ui.impl.FocusImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.ClippedImageImpl" out="com.google.gwt.user.client.ui.impl.ClippedImageImpl"/>
+	<rebind-decision in="org.drools.brms.client.JBRMSEntryPoint" out="org.drools.brms.client.JBRMSEntryPoint"/>
+	<rebind-decision in="org.drools.brms.client.rpc.RepositoryService" out="org.drools.brms.client.rpc.RepositoryService_Proxy"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.HistoryImpl" out="com.google.gwt.user.client.impl.HistoryImplMozilla"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.DOMImpl" out="com.google.gwt.user.client.impl.DOMImplMozilla"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.PopupImpl" out="com.google.gwt.user.client.ui.impl.PopupImplMozilla"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.TreeImages" out="com.google.gwt.user.client.ui.TreeImages_generatedBundle"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.FormPanelImpl" out="com.google.gwt.user.client.ui.impl.FormPanelImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.HTTPRequestImpl" out="com.google.gwt.user.client.impl.HTTPRequestImpl"/>
+	<rebind-decision in="org.drools.brms.client.rpc.SecurityService" out="org.drools.brms.client.rpc.SecurityService_Proxy"/>
+</cache-entry>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.html
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.html	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.html	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3427 +0,0 @@
-<html><head><script>var $wnd = parent;var $doc = $wnd.document;var $moduleName, $moduleBase;</script></head><body><script><!--
-var _,zfc='com.google.gwt.core.client.',Afc='com.google.gwt.lang.',Bfc='com.google.gwt.user.client.',Cfc='com.google.gwt.user.client.impl.',Dfc='com.google.gwt.user.client.rpc.',Efc='com.google.gwt.user.client.rpc.core.java.lang.',Ffc='com.google.gwt.user.client.rpc.core.java.util.',agc='com.google.gwt.user.client.rpc.impl.',bgc='com.google.gwt.user.client.ui.',cgc='com.google.gwt.user.client.ui.impl.',dgc='java.io.',egc='java.lang.',fgc='java.util.',ggc='org.drools.brms.client.',hgc='org.drools.brms.client.admin.',igc='org.drools.brms.client.categorynav.',jgc='org.drools.brms.client.common.',kgc='org.drools.brms.client.decisiontable.',lgc='org.drools.brms.client.modeldriven.',mgc='org.drools.brms.client.modeldriven.brl.',ngc='org.drools.brms.client.modeldriven.ui.',ogc='org.drools.brms.client.packages.',pgc='org.drools.brms.client.rpc.',qgc='org.drools.brms.client.ruleeditor.',rgc='org.drools.brms.client.rulelist.',sgc='org.drools.brms.client.table.';function e3(){}
-function iU(a){return this===a;}
-function jU(){return BV(this);}
-function kU(){return this.tN+'@'+this.hC();}
-function gU(){}
-_=gU.prototype={};_.eQ=iU;_.hC=jU;_.tS=kU;_.toString=function(){return this.tS();};_.tN=egc+'Object';_.tI=1;function v(){return C();}
-function w(a){return a==null?null:a.tN;}
-var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function C(){return $moduleBase;}
-function D(){return ++E;}
-var E=0;function EV(b,a){b.c=a;return b;}
-function FV(c,b,a){c.c=b;return c;}
-function bW(){return this.c;}
-function cW(){var a,b;a=w(this);b=this.Bb();if(b!==null){return a+': '+b;}else{return a;}}
-function DV(){}
-_=DV.prototype=new gU();_.Bb=bW;_.tS=cW;_.tN=egc+'Throwable';_.tI=3;_.c=null;function DS(b,a){EV(b,a);return b;}
-function ES(c,b,a){FV(c,b,a);return c;}
-function CS(){}
-_=CS.prototype=new DV();_.tN=egc+'Exception';_.tI=4;function mU(b,a){DS(b,a);return b;}
-function nU(c,b,a){ES(c,b,a);return c;}
-function lU(){}
-_=lU.prototype=new CS();_.tN=egc+'RuntimeException';_.tI=5;function ab(c,b,a){mU(c,'JavaScript '+b+' exception: '+a);return c;}
-function F(){}
-_=F.prototype=new lU();_.tN=zfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
-function fb(a){return A(a);}
-function gb(){return [];}
-function hb(){return function(){};}
-function ib(){return {};}
-function kb(a){return eb(this,a);}
-function jb(a,b){return a===b;}
-function lb(){return fb(this);}
-function nb(){return mb(this);}
-function mb(a){if(a.toString)return a.toString();return '[object]';}
-function cb(){}
-_=cb.prototype=new gU();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=zfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
-function rb(a,b,c){return a[b]=c;}
-function tb(a,b){return sb(a,b);}
-function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
-function ub(b,a){return b[a];}
-function wb(b,a){return b[a];}
-function vb(a){return a.length;}
-function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
-function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new xT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=iV(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
-function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
-function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new hS();}return rb(a,b,c);}
-function ob(){}
-_=ob.prototype=new gU();_.tN=Afc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
-function Eb(a){return String.fromCharCode(a);}
-function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
-function ac(b,a){return b!=null&&Db(b.tI,a);}
-function bc(a){return a&65535;}
-function cc(a){return ~(~a);}
-function dc(a){if(a>(kT(),lT))return kT(),lT;if(a<(kT(),mT))return kT(),mT;return a>=0?Math.floor(a):Math.ceil(a);}
-function fc(){throw new xS();}
-function ec(a){if(a!==null){throw new xS();}return a;}
-function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
-var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
-function lc(a){return a.message;}
-function mc(a){return a.name;}
-function oc(b,a){return b;}
-function nc(){}
-_=nc.prototype=new lU();_.tN=Bfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=oY(new mY());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
-function gd(a){fd(a);return a;}
-function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
-function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.rb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(AV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
-function kd(a){if(!yY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
-function ld(b,a){b.c=a;}
-function md(b,a){b.e=a;}
-function nd(b,a){qY(b.b,a);kd(b);}
-function od(a,b){return vT(a-b)>=100;}
-function qc(){}
-_=qc.prototype=new gU();_.tN=Bfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=e3;uh=oY(new mY());{th();}}
-function ih(a){kh();return a;}
-function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}AY(uh,a);}
-function lh(a){if(!a.b){AY(uh,a);}a.he();}
-function nh(b,a){if(a<=0){throw bT(new aT(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);qY(uh,b);}
-function mh(b,a){if(a<=0){throw bT(new aT(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);qY(uh,b);}
-function oh(a){kh();$wnd.clearInterval(a);}
-function ph(a){kh();$wnd.clearTimeout(a);}
-function qh(b,a){kh();return $wnd.setInterval(function(){b.sb();},a);}
-function rh(b,a){kh();return $wnd.setTimeout(function(){b.sb();},a);}
-function sh(){var a;a=x;{lh(this);}}
-function th(){kh();yh(new eh());}
-function dh(){}
-_=dh.prototype=new gU();_.sb=sh;_.tN=Bfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=e3;kh();}
-function sc(b,a){tc();b.a=a;ih(b);return b;}
-function uc(){if(!this.a.c){return;}id(this.a);}
-function rc(){}
-_=rc.prototype=new dh();_.he=uc;_.tN=Bfc+'CommandExecutor$1';_.tI=14;function xc(){xc=e3;kh();}
-function wc(b,a){xc();b.a=a;ih(b);return b;}
-function yc(){md(this.a,false);jd(this.a,AV());}
-function vc(){}
-_=vc.prototype=new dh();_.he=yc;_.tN=Bfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
-function Cc(a){return vY(a.d.b,a.b);}
-function Dc(a){return a.c<a.a;}
-function Ec(b){var a;b.b=b.c;a=vY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
-function Fc(a){zY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
-function ad(b,a){b.a=a;}
-function bd(a){return a.b==(-1);}
-function cd(){return Dc(this);}
-function dd(){return Ec(this);}
-function ed(){Fc(this);}
-function zc(){}
-_=zc.prototype=new gU();_.mc=cd;_.uc=dd;_.ee=ed;_.tN=Bfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=e3;rf=oY(new mY());{gf=new li();ti(gf);}}
-function sd(a){rd();qY(rf,a);}
-function td(b,a){rd();jj(gf,b,a);}
-function ud(a,b){rd();return qi(gf,a,b);}
-function vd(){rd();return lj(gf,'A');}
-function wd(){rd();return lj(gf,'button');}
-function xd(){rd();return lj(gf,'div');}
-function yd(a){rd();return lj(gf,a);}
-function zd(){rd();return lj(gf,'form');}
-function Ad(){rd();return lj(gf,'iframe');}
-function Bd(){rd();return lj(gf,'img');}
-function Cd(){rd();return mj(gf,'checkbox');}
-function Dd(){rd();return mj(gf,'password');}
-function Ed(a){rd();return Bi(gf,a);}
-function Fd(){rd();return mj(gf,'text');}
-function ae(){rd();return lj(gf,'label');}
-function be(a){rd();return nj(gf,a);}
-function ce(){rd();return lj(gf,'span');}
-function de(){rd();return lj(gf,'tbody');}
-function ee(){rd();return lj(gf,'td');}
-function fe(){rd();return lj(gf,'tr');}
-function ge(){rd();return lj(gf,'table');}
-function he(){rd();return lj(gf,'textarea');}
-function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
-function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.yc(b);}finally{ie=d;}}
-function le(b,a){rd();oj(gf,b,a);}
-function me(a){rd();return pj(gf,a);}
-function ne(a){rd();return qj(gf,a);}
-function oe(a){rd();return rj(gf,a);}
-function pe(a){rd();return sj(gf,a);}
-function qe(a){rd();return tj(gf,a);}
-function re(a){rd();return Ci(gf,a);}
-function se(a){rd();return uj(gf,a);}
-function te(a){rd();return vj(gf,a);}
-function ue(a){rd();return wj(gf,a);}
-function ve(a){rd();return Di(gf,a);}
-function we(a){rd();return Ei(gf,a);}
-function xe(a){rd();return xj(gf,a);}
-function ye(a){rd();Fi(gf,a);}
-function ze(a){rd();return aj(gf,a);}
-function Ae(a){rd();return ni(gf,a);}
-function Be(a){rd();return oi(gf,a);}
-function Ee(b,a){rd();return cj(gf,b,a);}
-function Ce(a){rd();return bj(gf,a);}
-function De(b,a){rd();return ri(gf,b,a);}
-function bf(a,b){rd();return Aj(gf,a,b);}
-function Fe(a,b){rd();return yj(gf,a,b);}
-function af(a,b){rd();return zj(gf,a,b);}
-function cf(a){rd();return Bj(gf,a);}
-function df(a){rd();return dj(gf,a);}
-function ef(a){rd();return Cj(gf,a);}
-function ff(a){rd();return ej(gf,a);}
-function hf(c,a,b){rd();gj(gf,c,a,b);}
-function jf(c,b,d,a){rd();Dj(gf,c,b,d,a);}
-function kf(b,a){rd();return ui(gf,b,a);}
-function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(vY(rf,rf.b-1),5);if(!(c=b.Ec(a))){le(a,true);ye(a);}}return c;}
-function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}vi(gf,a);}
-function nf(b,a){rd();Ej(gf,b,a);}
-function of(b,a){rd();Fj(gf,b,a);}
-function pf(a){rd();AY(rf,a);}
-function sf(a){rd();ak(gf,a);}
-function tf(a){rd();qf=a;hj(gf,a);}
-function uf(b,a,c){rd();bk(gf,b,a,c);}
-function xf(a,b,c){rd();ek(gf,a,b,c);}
-function vf(a,b,c){rd();ck(gf,a,b,c);}
-function wf(a,b,c){rd();dk(gf,a,b,c);}
-function yf(a,b){rd();fk(gf,a,b);}
-function zf(a,b){rd();gk(gf,a,b);}
-function Af(a,b){rd();hk(gf,a,b);}
-function Bf(a,b){rd();ik(gf,a,b);}
-function Cf(b,a,c){rd();jk(gf,b,a,c);}
-function Df(b,a,c){rd();kk(gf,b,a,c);}
-function Ef(a,b){rd();xi(gf,a,b);}
-function Ff(a){rd();return yi(gf,a);}
-function ag(){rd();return lk(gf);}
-function bg(){rd();return mk(gf);}
-var ie=null,gf=null,qf=null,rf;function dg(){dg=e3;gg=gd(new qc());}
-function fg(a){dg();nd(gg,a);}
-function eg(a){dg();if(a===null){throw AT(new zT(),'cmd can not be null');}nd(gg,a);}
-var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
-function kg(a){return jg(this,a);}
-function lg(){return fb(hc(this,hg));}
-function mg(){return Ff(this);}
-function hg(){}
-_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=Bfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
-function sg(){return fb(hc(this,ng));}
-function tg(){return ze(this);}
-function ng(){}
-_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=Bfc+'Event';_.tI=18;function vg(){vg=e3;xg=pk(new ok());}
-function wg(c,b,a){vg();return rk(xg,c,b,a);}
-var xg;function Ag(){Ag=e3;Eg=oY(new mY());{Fg=new xk();if(!Ck(Fg)){Fg=null;}}}
-function Bg(a){Ag();qY(Eg,a);}
-function Cg(a){Ag();var b,c;for(b=Eg.sc();b.mc();){c=Fb(b.uc(),7);c.dd(a);}}
-function Dg(){Ag();return Fg!==null?Ek(Fg):'';}
-function ah(a){Ag();if(Fg!==null){zk(Fg,a);}}
-function bh(b){Ag();var a;a=x;{Cg(b);}}
-var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(vY((kh(),uh),0),8));}}
-function hh(){return null;}
-function eh(){}
-_=eh.prototype=new gU();_.wd=gh;_.xd=hh;_.tN=Bfc+'Timer$1';_.tI=19;function xh(){xh=e3;Ah=oY(new mY());ii=oY(new mY());{di();}}
-function yh(a){xh();qY(Ah,a);}
-function zh(a){xh();$wnd.alert(a);}
-function Bh(a){xh();return $wnd.confirm(a);}
-function Ch(){xh();var a,b;for(a=Ah.sc();a.mc();){b=Fb(a.uc(),9);b.wd();}}
-function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.sc();a.mc();){b=Fb(a.uc(),9);c=b.xd();{d=c;}}return d;}
-function Eh(){xh();var a,b;for(a=ii.sc();a.mc();){b=ec(a.uc());null.lf();}}
-function Fh(){xh();return ag();}
-function ai(){xh();return bg();}
-function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
-function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
-function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
-function ei(){xh();var a;a=x;{Ch();}}
-function fi(){xh();var a;a=x;{return Dh();}}
-function gi(){xh();var a;a=x;{Eh();}}
-function hi(c,b,a){xh();$wnd.open(c,b,a);}
-var Ah,ii;function jj(c,b,a){b.appendChild(a);}
-function lj(b,a){return $doc.createElement(a);}
-function mj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
-function nj(c,a){var b;b=lj(c,'select');if(a){ck(c,b,'multiple',true);}return b;}
-function oj(c,b,a){b.cancelBubble=a;}
-function pj(b,a){return !(!a.altKey);}
-function qj(b,a){return a.clientX|| -1;}
-function rj(b,a){return a.clientY|| -1;}
-function sj(b,a){return !(!a.ctrlKey);}
-function tj(b,a){return a.currentTarget;}
-function uj(b,a){return a.which||(a.keyCode|| -1);}
-function vj(b,a){return !(!a.metaKey);}
-function wj(b,a){return !(!a.shiftKey);}
-function xj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
-function Aj(d,a,b){var c=a[b];return c==null?null:String(c);}
-function yj(c,a,b){return !(!a[b]);}
-function zj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
-function Bj(b,a){return a.__eventBits||0;}
-function Cj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.zb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
-function Dj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
-function Ej(c,b,a){b.removeChild(a);}
-function Fj(c,b,a){b.removeAttribute(a);}
-function ak(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
-function bk(c,b,a,d){b.setAttribute(a,d);}
-function ek(c,a,b,d){a[b]=d;}
-function ck(c,a,b,d){a[b]=d;}
-function dk(c,a,b,d){a[b]=d;}
-function fk(c,a,b){a.__listener=b;}
-function gk(c,a,b){a.src=b;}
-function hk(c,a,b){if(!b){b='';}a.innerHTML=b;}
-function ik(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
-function jk(c,b,a,d){b.style[a]=d;}
-function kk(c,b,a,d){b.style[a]=d;}
-function lk(a){return $doc.body.clientHeight;}
-function mk(a){return $doc.body.clientWidth;}
-function nk(a){return Cj(this,a);}
-function ji(){}
-_=ji.prototype=new gU();_.zb=nk;_.tN=Cfc+'DOMImpl';_.tI=20;function Bi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
-function Ci(b,a){return a.relatedTarget?a.relatedTarget:null;}
-function Di(b,a){return a.target||null;}
-function Ei(b,a){return a.relatedTarget||null;}
-function Fi(b,a){a.preventDefault();}
-function aj(b,a){return a.toString();}
-function cj(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
-function bj(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
-function dj(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
-function ej(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
-function fj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
-function gj(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
-function hj(b,a){$wnd.__captureElem=a;}
-function ij(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
-function zi(){}
-_=zi.prototype=new ji();_.tN=Cfc+'DOMImplStandard';_.tI=21;function qi(c,a,b){if(!a&& !b){return true;}else if(!a|| !b){return false;}return a.isSameNode(b);}
-function ri(d,c,e){var b=0,a=c.firstChild;while(a){if(a.isSameNode(e)){return b;}if(a.nodeType==1){++b;}a=a.nextSibling;}return -1;}
-function ti(a){fj(a);si(a);}
-function si(d){$wnd.addEventListener('mouseout',function(b){var a=$wnd.__captureElem;if(a&& !b.relatedTarget){if('html'==b.target.tagName.toLowerCase()){var c=$doc.createEvent('MouseEvents');c.initMouseEvent('mouseup',true,true,$wnd,0,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,null);a.dispatchEvent(c);}}},true);$wnd.addEventListener('DOMMouseScroll',$wnd.__dispatchCapturedMouseEvent,true);}
-function ui(d,c,b){while(b){if(c.isSameNode(b)){return true;}try{b=b.parentNode;}catch(a){return false;}if(b&&b.nodeType!=1){b=null;}}return false;}
-function vi(b,a){if(a.isSameNode($wnd.__captureElem)){$wnd.__captureElem=null;}}
-function xi(c,b,a){ij(c,b,a);wi(c,b,a);}
-function wi(c,b,a){if(a&131072){b.addEventListener('DOMMouseScroll',$wnd.__dispatchEvent,false);}}
-function yi(d,a){var b=a.cloneNode(true);var c=$doc.createElement('DIV');c.appendChild(b);outer=c.innerHTML;b.innerHTML='';return outer;}
-function ki(){}
-_=ki.prototype=new zi();_.tN=Cfc+'DOMImplMozilla';_.tI=22;function ni(e,a){var d=$doc.defaultView.getComputedStyle(a,null);var b=$doc.getBoxObjectFor(a).x-Math.round(d.getPropertyCSSValue('border-left-width').getFloatValue(CSSPrimitiveValue.CSS_PX));var c=a.parentNode;while(c){if(c.scrollLeft>0){b-=c.scrollLeft;}c=c.parentNode;}return b+$doc.body.scrollLeft+$doc.documentElement.scrollLeft;}
-function oi(d,a){var c=$doc.defaultView.getComputedStyle(a,null);var e=$doc.getBoxObjectFor(a).y-Math.round(c.getPropertyCSSValue('border-top-width').getFloatValue(CSSPrimitiveValue.CSS_PX));var b=a.parentNode;while(b){if(b.scrollTop>0){e-=b.scrollTop;}b=b.parentNode;}return e+$doc.body.scrollTop+$doc.documentElement.scrollTop;}
-function li(){}
-_=li.prototype=new ki();_.tN=Cfc+'DOMImplMozillaOld';_.tI=23;function pk(a){vk=hb();return a;}
-function rk(c,d,b,a){return sk(c,null,null,d,b,a);}
-function sk(d,f,c,e,b,a){return qk(d,f,c,e,b,a);}
-function qk(e,g,d,f,c,b){var h=e.nb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=vk;b.Cc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=vk;return false;}}
-function uk(){return new XMLHttpRequest();}
-function ok(){}
-_=ok.prototype=new gU();_.nb=uk;_.tN=Cfc+'HTTPRequestImpl';_.tI=24;var vk=null;function Ek(a){return $wnd.__gwt_historyToken;}
-function Fk(a){bh(a);}
-function wk(){}
-_=wk.prototype=new gU();_.tN=Cfc+'HistoryImpl';_.tI=25;function Ck(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;Fk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
-function Ak(){}
-_=Ak.prototype=new wk();_.tN=Cfc+'HistoryImplStandard';_.tI=26;function zk(d,a){if(a==null||a.length==0){var c=$wnd.location.href;var b=c.indexOf('#');if(b!= -1)c=c.substring(0,b);$wnd.location=c+'#';}else{$wnd.location.hash=encodeURIComponent(a);}}
-function xk(){}
-_=xk.prototype=new Ak();_.tN=Cfc+'HistoryImplMozilla';_.tI=27;function cl(a){mU(a,'This application is out of date, please click the refresh button on your browser');return a;}
-function bl(){}
-_=bl.prototype=new lU();_.tN=Dfc+'IncompatibleRemoteServiceException';_.tI=28;function gl(b,a){}
-function hl(b,a){}
-function jl(b,a){nU(b,a,null);return b;}
-function il(){}
-_=il.prototype=new lU();_.tN=Dfc+'InvocationException';_.tI=29;function vl(){return this.b;}
-function nl(){}
-_=nl.prototype=new CS();_.Bb=vl;_.tN=Dfc+'SerializableException';_.tI=30;_.b=null;function rl(b,a){ul(a,b.ae());}
-function sl(a){return a.b;}
-function tl(b,a){b.jf(sl(a));}
-function ul(a,b){a.b=b;}
-function xl(b,a){DS(b,a);return b;}
-function wl(){}
-_=wl.prototype=new CS();_.tN=Dfc+'SerializationException';_.tI=31;function Cl(a){jl(a,'Service implementation URL not specified');return a;}
-function Bl(){}
-_=Bl.prototype=new il();_.tN=Dfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=32;function bm(b,a){}
-function cm(a){return rS(a.Bd());}
-function dm(b,a){b.df(a.a);}
-function gm(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Fd());}}
-function hm(d,a){var b,c;b=a.a;d.ff(b);for(c=0;c<b;++c){d.hf(a[c]);}}
-function km(b,a){}
-function lm(a){return a.ae();}
-function mm(b,a){b.jf(a);}
-function pm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Cd();}}
-function qm(d,a){var b,c;b=a.a;d.ff(b);for(c=0;c<b;++c){d.ef(a[c]);}}
-function tm(e,b){var a,c,d;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();qY(b,c);}}
-function um(e,a){var b,c,d;d=a.b;e.ff(d);b=a.sc();while(b.mc()){c=b.uc();e.hf(c);}}
-function xm(b,a){}
-function ym(a){return BZ(new zZ(),a.Ed());}
-function zm(b,a){b.gf(EZ(a));}
-function Cm(e,b){var a,c,d,f;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();f=e.Fd();s1(b,c,f);}}
-function Dm(f,c){var a,b,d,e;e=c.c;f.ff(e);b=q1(c);d=g1(b);while(E0(d)){a=F0(d);f.hf(a.Ab());f.hf(a.gc());}}
-function an(d,b){var a,c;c=d.Dd();for(a=0;a<c;++a){g2(b,d.Fd());}}
-function bn(c,a){var b;c.ff(a.a.c);for(b=i2(a);jX(b);){c.hf(kX(b));}}
-function en(e,b){var a,c,d;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();z2(b,c);}}
-function fn(e,a){var b,c,d;d=a.a.b;e.ff(d);b=B2(a);while(b.mc()){c=b.uc();e.hf(c);}}
-function Dn(a){return a.j>2;}
-function En(b,a){b.i=a;}
-function Fn(a,b){a.j=b;}
-function gn(){}
-_=gn.prototype=new gU();_.tN=agc+'AbstractSerializationStream';_.tI=33;_.i=0;_.j=3;function jn(a){a.e=oY(new mY());}
-function kn(a){jn(a);return a;}
-function mn(b,a){sY(b.e);Fn(b,ho(b));En(b,ho(b));}
-function nn(a){var b,c;b=a.Dd();if(b<0){return vY(a.e,-(b+1));}c=a.ec(b);if(c===null){return null;}return a.lb(c);}
-function on(b,a){qY(b.e,a);}
-function pn(){return nn(this);}
-function hn(){}
-_=hn.prototype=new gn();_.Fd=pn;_.tN=agc+'AbstractSerializationStreamReader';_.tI=34;function sn(b,a){b.ab(a?'1':'0');}
-function tn(b,a){b.ab(vV(a));}
-function un(c,a){var b,d;if(a===null){vn(c,null);return;}b=c.yb(a);if(b>=0){tn(c,-(b+1));return;}c.ie(a);d=c.Db(a);vn(c,d);c.le(a,d);}
-function vn(a,b){tn(a,a.B(b));}
-function wn(a){sn(this,a);}
-function xn(a){this.ab(vV(a));}
-function yn(a){tn(this,a);}
-function zn(a){this.ab(wV(a));}
-function An(a){un(this,a);}
-function Bn(a){vn(this,a);}
-function qn(){}
-_=qn.prototype=new gn();_.df=wn;_.ef=xn;_.ff=yn;_.gf=zn;_.hf=An;_.jf=Bn;_.tN=agc+'AbstractSerializationStreamWriter';_.tI=35;function bo(b,a){kn(b);b.c=a;return b;}
-function eo(b,a){if(!a){return null;}return b.d[a-1];}
-function fo(b,a){b.b=lo(a);b.a=mo(b.b);mn(b,a);b.d=io(b);}
-function go(a){return !(!a.b[--a.a]);}
-function ho(a){return a.b[--a.a];}
-function io(a){return a.b[--a.a];}
-function jo(a){return eo(a,ho(a));}
-function ko(b){var a;a=this.c.pc(this,b);on(this,a);this.c.kb(this,a,b);return a;}
-function lo(a){return eval(a);}
-function mo(a){return a.length;}
-function no(a){return eo(this,a);}
-function oo(){return go(this);}
-function po(){return this.b[--this.a];}
-function qo(){return ho(this);}
-function ro(){return this.b[--this.a];}
-function so(){return jo(this);}
-function ao(){}
-_=ao.prototype=new hn();_.lb=ko;_.ec=no;_.Bd=oo;_.Cd=po;_.Dd=qo;_.Ed=ro;_.ae=so;_.tN=agc+'ClientSerializationStreamReader';_.tI=36;_.a=0;_.b=null;_.c=null;_.d=null;function uo(a){a.h=oY(new mY());}
-function vo(d,c,a,b){uo(d);d.f=c;d.b=a;d.e=b;return d;}
-function xo(c,a){var b=c.d[a];return b==null?-1:b;}
-function yo(c,a){var b=c.g[':'+a];return b==null?0:b;}
-function zo(a){a.c=0;a.d=ib();a.g=ib();sY(a.h);a.a=rU(new qU());if(Dn(a)){vn(a,a.b);vn(a,a.e);}}
-function Ao(b,a,c){b.d[a]=c;}
-function Bo(b,a,c){b.g[':'+a]=c;}
-function Co(b){var a;a=rU(new qU());Do(b,a);Fo(b,a);Eo(b,a);return xU(a);}
-function Do(b,a){bp(a,vV(b.j));bp(a,vV(b.i));}
-function Eo(b,a){tU(a,xU(b.a));}
-function Fo(d,a){var b,c;c=d.h.b;bp(a,vV(c));for(b=0;b<c;++b){bp(a,Fb(vY(d.h,b),1));}return a;}
-function ap(b){var a;if(b===null){return 0;}a=yo(this,b);if(a>0){return a;}qY(this.h,b);a=this.h.b;Bo(this,b,a);return a;}
-function bp(a,b){tU(a,b);sU(a,65535);}
-function cp(a){bp(this.a,a);}
-function dp(a){return xo(this,BV(a));}
-function ep(a){var b,c;c=w(a);b=this.f.dc(c);if(b!==null){c+='/'+b;}return c;}
-function fp(a){Ao(this,BV(a),this.c++);}
-function gp(a,b){this.f.ke(this,a,b);}
-function hp(){return Co(this);}
-function to(){}
-_=to.prototype=new qn();_.B=ap;_.ab=cp;_.yb=dp;_.Db=ep;_.ie=fp;_.le=gp;_.tS=hp;_.tN=agc+'ClientSerializationStreamWriter';_.tI=37;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function rN(b,a){hO(b.fc(),a,true);}
-function tN(a){return Ae(a.wb());}
-function uN(a){return Be(a.wb());}
-function vN(a){return af(a.w,'offsetHeight');}
-function wN(a){return af(a.w,'offsetWidth');}
-function xN(b,a){hO(b.fc(),a,false);}
-function yN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
-function zN(b,a){if(b.w!==null){yN(b,b.w,a);}b.w=a;}
-function AN(b,c,a){if(c>=0){b.De(c+'px');}if(a>=0){b.se(a+'px');}}
-function BN(b,c,a){b.De(c);b.se(a);}
-function CN(b,a){gO(b.fc(),a);}
-function DN(b,a){Ef(b.wb(),a|cf(b.wb()));}
-function EN(){return this.w;}
-function FN(){return vN(this);}
-function aO(){return wN(this);}
-function bO(){return this.w;}
-function cO(a){return bf(a,'className');}
-function dO(a){return a.style.display!='none';}
-function eO(a){zN(this,a);}
-function fO(a){Df(this.w,'height',a);}
-function gO(a,b){xf(a,'className',b);}
-function hO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw mU(new lU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=mV(j);if(dV(j)==0){throw bT(new aT(),'Style names cannot be empty');}i=cO(c);e=bV(i,j);while(e!=(-1)){if(e==0||AU(i,e-1)==32){f=e+dV(j);g=dV(i);if(f==g||f<g&&AU(i,f)==32){break;}}e=cV(i,j,e+1);}if(a){if(e==(-1)){if(dV(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=mV(jV(i,0,e));d=mV(iV(i,e+dV(j)));if(dV(b)==0){h=d;}else if(dV(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
-function iO(a){if(a===null||dV(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
-function jO(a,b){a.style.display=b?'':'none';}
-function kO(a){jO(this.w,a);}
-function lO(a){Df(this.w,'width',a);}
-function mO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
-function qN(){}
-_=qN.prototype=new gU();_.wb=EN;_.Eb=FN;_.Fb=aO;_.fc=bO;_.oe=eO;_.se=fO;_.ve=iO;_.Ae=kO;_.De=lO;_.tS=mO;_.tN=bgc+'UIObject';_.tI=38;_.w=null;function yP(a){if(a.qc()){throw eT(new dT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.wb(),a);a.mb();a.hd();}
-function zP(a){if(!a.qc()){throw eT(new dT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.vd();}finally{a.ob();yf(a.wb(),null);a.t=false;}}
-function AP(a){if(ac(a.v,54)){Fb(a.v,54).ge(a);}else if(a.v!==null){throw eT(new dT(),"This widget's parent does not implement HasWidgets");}}
-function BP(b,a){if(b.qc()){yf(b.wb(),null);}zN(b,a);if(b.qc()){yf(a,b);}}
-function CP(b,a){b.u=a;}
-function DP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.qc()){c.Dc();}c.v=null;}else{if(a!==null){throw eT(new dT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.qc()){c.wc();}}}
-function EP(){}
-function FP(){}
-function aQ(){return this.t;}
-function bQ(){yP(this);}
-function cQ(a){}
-function dQ(){zP(this);}
-function eQ(){}
-function fQ(){}
-function gQ(a){BP(this,a);}
-function wO(){}
-_=wO.prototype=new qN();_.mb=EP;_.ob=FP;_.qc=aQ;_.wc=bQ;_.yc=cQ;_.Dc=dQ;_.hd=eQ;_.vd=fQ;_.oe=gQ;_.tN=bgc+'Widget';_.tI=39;_.t=false;_.u=null;_.v=null;function CD(b,a){DP(a,b);}
-function ED(b,a){DP(a,null);}
-function FD(){var a;a=this.sc();while(a.mc()){a.uc();a.ee();}}
-function aE(){var a,b;for(b=this.sc();b.mc();){a=Fb(b.uc(),20);a.wc();}}
-function bE(){var a,b;for(b=this.sc();b.mc();){a=Fb(b.uc(),20);a.Dc();}}
-function cE(){}
-function dE(){}
-function BD(){}
-_=BD.prototype=new wO();_.cb=FD;_.mb=aE;_.ob=bE;_.hd=cE;_.vd=dE;_.tN=bgc+'Panel';_.tI=40;function Dq(a){a.f=aP(new xO(),a);}
-function Eq(a){Dq(a);return a;}
-function Fq(c,a,b){AP(a);bP(c.f,a);td(b,a.wb());CD(c,a);}
-function ar(d,b,a){var c;cr(d,a);if(b.v===d){c=er(d,b);if(c<a){a--;}}return a;}
-function br(b,a){if(a<0||a>=b.f.c){throw new gT();}}
-function cr(b,a){if(a<0||a>b.f.c){throw new gT();}}
-function fr(b,a){return dP(b.f,a);}
-function er(b,a){return eP(b.f,a);}
-function gr(e,b,c,a,d){a=ar(e,b,a);AP(b);fP(e.f,b,a);if(d){hf(c,b.wb(),a);}else{td(c,b.wb());}CD(e,b);}
-function hr(a){return gP(a.f);}
-function ir(b,c){var a;if(c.v!==b){return false;}ED(b,c);a=c.wb();nf(ff(a),a);iP(b.f,c);return true;}
-function jr(){return hr(this);}
-function kr(a){return this.ge(fr(this,a));}
-function lr(a){return ir(this,a);}
-function Cq(){}
-_=Cq.prototype=new BD();_.sc=jr;_.fe=kr;_.ge=lr;_.tN=bgc+'ComplexPanel';_.tI=41;function kp(a){Eq(a);a.oe(xd());Df(a.wb(),'position','relative');Df(a.wb(),'overflow','hidden');return a;}
-function lp(a,b){Fq(a,b,a.wb());}
-function np(b,c){var a;a=ir(b,c);if(a){op(c.wb());}return a;}
-function op(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
-function pp(a){return np(this,a);}
-function jp(){}
-_=jp.prototype=new Cq();_.ge=pp;_.tN=bgc+'AbsolutePanel';_.tI=42;function qp(){}
-_=qp.prototype=new gU();_.tN=bgc+'AbstractImagePrototype';_.tI=43;function pu(){pu=e3;tu=(aR(),eR);}
-function nu(b,a){pu();ru(b,a);return b;}
-function ou(b,a){if(b.k===null){b.k=du(new cu());}qY(b.k,a);}
-function qu(b,a){switch(xe(a)){case 1:if(b.j!==null){Aq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){fu(b.k,b,a);}break;case 128:case 512:case 256:break;}}
-function ru(b,a){BP(b,a);DN(b,7041);}
-function su(a){if(this.j===null){this.j=yq(new xq());}qY(this.j,a);}
-function uu(a){qu(this,a);}
-function vu(a){ru(this,a);}
-function wu(a){vf(this.wb(),'disabled',!a);}
-function xu(a){if(a){tu.tb(this.wb());}else{tu.bb(this.wb());}}
-function yu(a){tu.ue(this.wb(),a);}
-function mu(){}
-_=mu.prototype=new wO();_.z=su;_.yc=uu;_.oe=vu;_.pe=wu;_.qe=xu;_.te=yu;_.tN=bgc+'FocusWidget';_.tI=44;_.j=null;_.k=null;var tu;function vp(){vp=e3;pu();}
-function up(b,a){vp();nu(b,a);return b;}
-function wp(a){Af(this.wb(),a);}
-function tp(){}
-_=tp.prototype=new mu();_.re=wp;_.tN=bgc+'ButtonBase';_.tI=45;function zp(){zp=e3;vp();}
-function xp(a){zp();up(a,wd());Ap(a.wb());CN(a,'gwt-Button');return a;}
-function yp(b,a){zp();xp(b);b.re(a);return b;}
-function Ap(b){zp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
-function sp(){}
-_=sp.prototype=new tp();_.tN=bgc+'Button';_.tI=46;function Cp(a){Eq(a);a.e=ge();a.d=de();td(a.e,a.d);a.oe(a.e);return a;}
-function Ep(c,b,a){xf(b,'align',a.a);}
-function Fp(c,b,a){Df(b,'verticalAlign',a.a);}
-function aq(c,a){var b;b=ff(c.wb());xf(b,'height',a);}
-function bq(b,c){var a;a=ff(b.wb());xf(a,'width',c);}
-function Bp(){}
-_=Bp.prototype=new Cq();_.me=aq;_.ne=bq;_.tN=bgc+'CellPanel';_.tI=47;_.d=null;_.e=null;function hW(d,a,b){var c;while(a.mc()){c=a.uc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
-function jW(a){throw eW(new dW(),'add');}
-function kW(b){var a;a=hW(this,this.sc(),b);return a!==null;}
-function lW(){return this.bf(yb('[Ljava.lang.Object;',[613],[12],[this.Ee()],null));}
-function mW(a){var b,c,d;d=this.Ee();if(a.a<d){a=tb(a,d);}b=0;for(c=this.sc();c.mc();){Ab(a,b++,c.uc());}if(a.a>d){Ab(a,d,null);}return a;}
-function nW(){var a,b,c;c=rU(new qU());a=null;tU(c,'[');b=this.sc();while(b.mc()){if(a!==null){tU(c,a);}else{a=', ';}tU(c,xV(b.uc()));}tU(c,']');return xU(c);}
-function gW(){}
-_=gW.prototype=new gU();_.E=jW;_.gb=kW;_.af=lW;_.bf=mW;_.tS=nW;_.tN=fgc+'AbstractCollection';_.tI=48;function xW(b,a){throw hT(new gT(),'Index: '+a+', Size: '+b.b);}
-function yW(b,a){throw eW(new dW(),'add');}
-function zW(a){this.D(this.Ee(),a);return true;}
-function AW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ee()!=f.Ee()){return false;}c=this.sc();d=f.sc();while(c.mc()){a=c.uc();b=d.uc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
-function BW(){var a,b,c,d;c=1;a=31;b=this.sc();while(b.mc()){d=b.uc();c=31*c+(d===null?0:d.hC());}return c;}
-function CW(){return qW(new pW(),this);}
-function DW(a){throw eW(new dW(),'remove');}
-function oW(){}
-_=oW.prototype=new gW();_.D=yW;_.E=zW;_.eQ=AW;_.hC=BW;_.sc=CW;_.fe=DW;_.tN=fgc+'AbstractList';_.tI=49;function nY(a){{rY(a);}}
-function oY(a){nY(a);return a;}
-function pY(c,a,b){if(a<0||a>c.b){xW(c,a);}CY(c.a,a,b);++c.b;}
-function qY(b,a){fZ(b.a,b.b++,a);return true;}
-function sY(a){rY(a);}
-function rY(a){a.a=gb();a.b=0;}
-function uY(b,a){return wY(b,a)!=(-1);}
-function vY(b,a){if(a<0||a>=b.b){xW(b,a);}return bZ(b.a,a);}
-function wY(b,a){return xY(b,a,0);}
-function xY(c,b,a){if(a<0){xW(c,a);}for(;a<c.b;++a){if(aZ(b,bZ(c.a,a))){return a;}}return (-1);}
-function yY(a){return a.b==0;}
-function zY(c,a){var b;b=vY(c,a);dZ(c.a,a,1);--c.b;return b;}
-function AY(c,b){var a;a=wY(c,b);if(a==(-1)){return false;}zY(c,a);return true;}
-function BY(d,a,b){var c;c=vY(d,a);fZ(d.a,a,b);return c;}
-function DY(a,b){pY(this,a,b);}
-function EY(a){return qY(this,a);}
-function CY(a,b,c){a.splice(b,0,c);}
-function FY(a){return uY(this,a);}
-function aZ(a,b){return a===b||a!==null&&a.eQ(b);}
-function cZ(a){return vY(this,a);}
-function bZ(a,b){return a[b];}
-function eZ(a){return zY(this,a);}
-function dZ(a,c,b){a.splice(c,b);}
-function fZ(a,b,c){a[b]=c;}
-function gZ(){return this.b;}
-function hZ(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,bZ(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
-function mY(){}
-_=mY.prototype=new oW();_.D=DY;_.E=EY;_.gb=FY;_.jc=cZ;_.fe=eZ;_.Ee=gZ;_.bf=hZ;_.tN=fgc+'ArrayList';_.tI=50;_.a=null;_.b=0;function dq(a){oY(a);return a;}
-function fq(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),41);b.Ac(c);}}
-function cq(){}
-_=cq.prototype=new mY();_.tN=bgc+'ChangeListenerCollection';_.tI=51;function lq(){lq=e3;vp();}
-function iq(a){lq();jq(a,Cd());CN(a,'gwt-CheckBox');return a;}
-function kq(b,a){lq();iq(b);pq(b,a);return b;}
-function jq(b,a){var c;lq();up(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.wb()));Ef(b.wb(),0);td(b.wb(),b.a);td(b.wb(),b.b);c='check'+ ++wq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
-function mq(a){return ef(a.b);}
-function nq(b){var a;a=b.qc()?'checked':'defaultChecked';return Fe(b.a,a);}
-function oq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
-function pq(b,a){Bf(b.b,a);}
-function qq(){yf(this.a,this);}
-function rq(){yf(this.a,null);oq(this,nq(this));}
-function sq(a){vf(this.a,'disabled',!a);}
-function tq(a){if(a){tu.tb(this.a);}else{tu.bb(this.a);}}
-function uq(a){Af(this.b,a);}
-function vq(a){tu.ue(this.a,a);}
-function hq(){}
-_=hq.prototype=new tp();_.hd=qq;_.vd=rq;_.pe=sq;_.qe=tq;_.re=uq;_.te=vq;_.tN=bgc+'CheckBox';_.tI=52;_.a=null;_.b=null;var wq=0;function yq(a){oY(a);return a;}
-function Aq(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),42);b.Bc(c);}}
-function xq(){}
-_=xq.prototype=new mY();_.tN=bgc+'ClickListenerCollection';_.tI=53;function or(a,b){if(a.k!==null){throw eT(new dT(),'Composite.initWidget() may only be called once.');}AP(b);a.oe(b.wb());a.k=b;DP(b,a);}
-function pr(){if(this.k===null){throw eT(new dT(),'initWidget() was never called in '+w(this));}return this.w;}
-function qr(){if(this.k!==null){return this.k.qc();}return false;}
-function rr(){this.k.wc();this.hd();}
-function sr(){try{this.vd();}finally{this.k.Dc();}}
-function mr(){}
-_=mr.prototype=new wO();_.wb=pr;_.qc=qr;_.wc=rr;_.Dc=sr;_.tN=bgc+'Composite';_.tI=54;_.k=null;function ur(a){Eq(a);a.oe(xd());return a;}
-function wr(b,c){var a;a=c.wb();Df(a,'width','100%');Df(a,'height','100%');c.Ae(false);}
-function xr(b,c,a){gr(b,c,b.wb(),a,true);wr(b,c);}
-function yr(b,c){var a;a=ir(b,c);if(a){zr(b,c);if(b.b===c){b.b=null;}}return a;}
-function zr(a,b){Df(b.wb(),'width','');Df(b.wb(),'height','');b.Ae(true);}
-function Ar(b,a){br(b,a);if(b.b!==null){b.b.Ae(false);}b.b=fr(b,a);b.b.Ae(true);}
-function Br(a){return yr(this,a);}
-function tr(){}
-_=tr.prototype=new Cq();_.ge=Br;_.tN=bgc+'DeckPanel';_.tI=55;_.b=null;function cH(a){dH(a,xd());return a;}
-function dH(b,a){b.oe(a);return b;}
-function eH(a,b){if(a.r!==null){throw eT(new dT(),'SimplePanel can only contain one child widget');}a.Ce(b);}
-function gH(a,b){if(b===a.r){return;}if(b!==null){AP(b);}if(a.r!==null){a.ge(a.r);}a.r=b;if(b!==null){td(a.vb(),a.r.wb());CD(a,b);}}
-function hH(){return this.wb();}
-function iH(){return DG(new BG(),this);}
-function jH(a){if(this.r!==a){return false;}ED(this,a);nf(this.vb(),a.wb());this.r=null;return true;}
-function kH(a){gH(this,a);}
-function AG(){}
-_=AG.prototype=new BD();_.vb=hH;_.sc=iH;_.ge=jH;_.Ce=kH;_.tN=bgc+'SimplePanel';_.tI=56;_.r=null;function mE(){mE=e3;CE=uR(new pR());}
-function iE(a){mE();dH(a,wR(CE));tE(a,0,0);return a;}
-function jE(b,a){mE();iE(b);b.k=a;return b;}
-function kE(c,a,b){mE();jE(c,a);c.o=b;return c;}
-function lE(b,a){if(a.blur){a.blur();}}
-function nE(a){return xR(CE,a.wb());}
-function oE(a){return wN(a);}
-function pE(a){qE(a,false);}
-function qE(b,a){if(!b.p){return;}b.p=false;np(qG(),b);b.wb();}
-function rE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.se(a.l);}if(a.m!==null){b.De(a.m);}}}
-function sE(e,b){var a,c,d,f;d=ve(b);c=kf(e.wb(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){qE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){lE(e,d);return false;}}}return !e.o||c;}
-function tE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.wb();Df(a,'left',b+'px');Df(a,'top',d+'px');}
-function uE(a,b){gH(a,b);rE(a);}
-function vE(a,b){a.m=b;rE(a);if(dV(b)==0){a.m=null;}}
-function wE(a){if(a.p){return;}a.p=true;sd(a);Df(a.wb(),'position','absolute');if(a.q!=(-1)){tE(a,a.n,a.q);}lp(qG(),a);a.wb();}
-function xE(){return nE(this);}
-function yE(){return vN(this);}
-function zE(){return oE(this);}
-function AE(){return xR(CE,this.wb());}
-function BE(){pE(this);}
-function DE(){pf(this);zP(this);}
-function EE(a){return sE(this,a);}
-function FE(a){this.l=a;rE(this);if(dV(a)==0){this.l=null;}}
-function aF(b){var a;a=nE(this);if(b===null||dV(b)==0){of(a,'title');}else{uf(a,'title',b);}}
-function bF(a){Df(this.wb(),'visibility',a?'visible':'hidden');this.wb();}
-function cF(a){uE(this,a);}
-function dF(a){vE(this,a);}
-function hE(){}
-_=hE.prototype=new AG();_.vb=xE;_.Eb=yE;_.Fb=zE;_.fc=AE;_.nc=BE;_.Dc=DE;_.Ec=EE;_.se=FE;_.ve=aF;_.Ae=bF;_.Ce=cF;_.De=dF;_.tN=bgc+'PopupPanel';_.tI=57;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var CE;function bs(){bs=e3;mE();}
-function Dr(a){a.e=lz(new pw());a.j=tt(new nt());}
-function Er(a){bs();Fr(a,false);return a;}
-function Fr(b,a){bs();as(b,a,true);return b;}
-function as(c,a,b){bs();kE(c,a,b);Dr(c);c.j.Be(0,0,c.e);c.j.se('100%');zy(c.j,0);By(c.j,0);Cy(c.j,0);ex(c.j.n,1,0,'100%');jx(c.j.n,1,0,'100%');dx(c.j.n,1,0,(wz(),xz),(Fz(),bA));uE(c,c.j);CN(c,'gwt-DialogBox');CN(c.e,'Caption');gC(c.e,c);return c;}
-function cs(b,a){pz(b.e,a);}
-function ds(b,a){jC(b.e,a);}
-function es(a,b){if(a.f!==null){yy(a.j,a.f);}if(b!==null){a.j.Be(1,0,b);}a.f=b;}
-function fs(a){if(xe(a)==4){if(kf(this.e.wb(),ve(a))){ye(a);}}return sE(this,a);}
-function gs(a,b,c){this.i=true;tf(this.e.wb());this.g=b;this.h=c;}
-function hs(a){}
-function is(a){}
-function js(c,d,e){var a,b;if(this.i){a=d+tN(this);b=e+uN(this);tE(this,a-this.g,b-this.h);}}
-function ks(a,b,c){this.i=false;mf(this.e.wb());}
-function ls(a){if(this.f!==a){return false;}yy(this.j,a);return true;}
-function ms(a){es(this,a);}
-function ns(a){vE(this,a);this.j.De('100%');}
-function Cr(){}
-_=Cr.prototype=new hE();_.Ec=fs;_.jd=gs;_.kd=hs;_.ld=is;_.md=js;_.nd=ks;_.ge=ls;_.Ce=ms;_.De=ns;_.tN=bgc+'DialogBox';_.tI=58;_.f=null;_.g=0;_.h=0;_.i=false;function zs(){zs=e3;Fs=new ps();at=new ps();bt=new ps();ct=new ps();dt=new ps();}
-function ws(a){a.b=(wz(),yz);a.c=(Fz(),cA);}
-function xs(a){zs();Cp(a);ws(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
-function ys(c,d,a){var b;if(a===Fs){if(d===c.a){return;}else if(c.a!==null){throw bT(new aT(),'Only one CENTER widget may be added');}}AP(d);bP(c.f,d);if(a===Fs){c.a=d;}b=ss(new rs(),a);CP(d,b);Cs(c,d,c.b);Ds(c,d,c.c);As(c);CD(c,d);}
-function As(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=gP(p.f);BO(h);){c=CO(h);e=c.u.a;if(e===bt||e===ct){++l;}else if(e===at||e===dt){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[635],[33],[l],null);for(g=0;g<l;++g){m[g]=new us();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=gP(p.f);BO(h);){c=CO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===bt){hf(m[j].b,o,m[j].a);td(o,c.wb());wf(o,'colSpan',f-q+1);++j;}else if(i.a===ct){hf(m[n].b,o,m[n].a);td(o,c.wb());wf(o,'colSpan',f-q+1);--n;}else if(i.a===dt){k=m[j];hf(k.b,o,k.a++);td(o,c.wb());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===at){k=m[j];hf(k.b,o,k.a);td(o,c.wb());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===Fs){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.wb());}}
-function Bs(b,c){var a;a=ir(b,c);if(a){if(c===b.a){b.a=null;}As(b);}return a;}
-function Cs(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
-function Ds(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
-function Es(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
-function et(a){return Bs(this,a);}
-function ft(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
-function gt(a,b){Es(this,a,b);}
-function os(){}
-_=os.prototype=new Bp();_.ge=et;_.me=ft;_.ne=gt;_.tN=bgc+'DockPanel';_.tI=59;_.a=null;var Fs,at,bt,ct,dt;function ps(){}
-_=ps.prototype=new gU();_.tN=bgc+'DockPanel$DockLayoutConstant';_.tI=60;function ss(b,a){b.a=a;return b;}
-function rs(){}
-_=rs.prototype=new gU();_.tN=bgc+'DockPanel$LayoutData';_.tI=61;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function us(){}
-_=us.prototype=new gU();_.tN=bgc+'DockPanel$TmpRow';_.tI=62;_.a=0;_.b=null;function it(a){a.oe(yd('input'));xf(a.wb(),'type','file');CN(a,'gwt-FileUpload');return a;}
-function kt(a){return bf(a.wb(),'value');}
-function lt(b,a){xf(b.wb(),'name',a);}
-function ht(){}
-_=ht.prototype=new wO();_.tN=bgc+'FileUpload';_.tI=63;function dy(a){a.s=zx(new ux());}
-function ey(a){dy(a);a.q=ge();a.m=de();td(a.q,a.m);a.oe(a.q);DN(a,1);return a;}
-function fy(b,a){if(b.r===null){b.r=hK(new gK());}qY(b.r,a);}
-function gy(d,c,b){var a;hy(d,c);if(b<0){throw hT(new gT(),'Column '+b+' must be non-negative: '+b);}a=d.ub(c);if(a<=b){throw hT(new gT(),'Column index: '+b+', Column size: '+d.ub(c));}}
-function hy(c,a){var b;b=c.bc();if(a>=b||a<0){throw hT(new gT(),'Row index: '+a+', Row size: '+b);}}
-function iy(e,c,b,a){var d;d=ax(e.n,c,b);vy(e,d,a);return d;}
-function jy(d){var a,b,c;for(c=0;c<d.bc();++c){for(b=0;b<d.ub(c);++b){a=ry(d,c,b);if(a!==null){yy(d,a);}}}}
-function ly(a){return ee();}
-function my(c,b,a){return b.rows[a].cells.length;}
-function ny(a){return oy(a,a.m);}
-function oy(b,a){return a.rows.length;}
-function py(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(EU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
-function qy(d,c,a){var b;gy(d,c,a);b=Fw(d.n,c,a);return ef(b);}
-function sy(c,b,a){gy(c,b,a);return ry(c,b,a);}
-function ry(e,d,b){var a,c;c=ax(e.n,d,b);a=df(c);if(a===null){return null;}else{return Bx(e.s,a);}}
-function ty(d,b,a){var c,e;e=sx(d.p,d.m,b);c=d.hb();hf(e,c,a);}
-function uy(b,a){var c;if(a!=xt(b)){hy(b,a);}c=fe();hf(b.m,c,a);return a;}
-function vy(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=Bx(d.s,b);}if(e!==null){yy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
-function yy(b,c){var a;if(c.v!==b){return false;}ED(b,c);a=c.wb();nf(ff(a),a);Ex(b.s,a);return true;}
-function wy(d,b,a){var c,e;gy(d,b,a);c=iy(d,b,a,false);e=sx(d.p,d.m,b);nf(e,c);}
-function xy(d,c){var a,b;b=d.ub(c);for(a=0;a<b;++a){iy(d,c,a,false);}nf(d.m,sx(d.p,d.m,c));}
-function zy(a,b){xf(a.q,'border',''+b);}
-function Ay(b,a){b.n=a;}
-function By(b,a){wf(b.q,'cellPadding',a);}
-function Cy(b,a){wf(b.q,'cellSpacing',a);}
-function Dy(b,a){b.o=a;nx(b.o);}
-function Ey(e,c,a,b){var d;ew(e,c,a);d=iy(e,c,a,b===null);if(b!==null){Af(d,b);}}
-function Fy(b,a){b.p=a;}
-function az(e,b,a,d){var c;e.zd(b,a);c=iy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
-function bz(d,b,a,e){var c;d.zd(b,a);if(e!==null){AP(e);c=iy(d,b,a,true);Cx(d.s,e);td(c,e.wb());CD(d,e);}}
-function cz(){jy(this);}
-function dz(){return ly(this);}
-function ez(b,a){ty(this,b,a);}
-function fz(){return Fx(this.s);}
-function gz(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=py(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);jK(this.r,this,d,b);}break;}default:}}
-function jz(a){return yy(this,a);}
-function hz(b,a){wy(this,b,a);}
-function iz(a){xy(this,a);}
-function kz(b,a,c){bz(this,b,a,c);}
-function qw(){}
-_=qw.prototype=new BD();_.cb=cz;_.hb=dz;_.oc=ez;_.sc=fz;_.yc=gz;_.ge=jz;_.be=hz;_.de=iz;_.Be=kz;_.tN=bgc+'HTMLTable';_.tI=64;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function tt(a){ey(a);Ay(a,pt(new ot(),a));Fy(a,px(new ox(),a));Dy(a,lx(new kx(),a));return a;}
-function vt(b,a){hy(b,a);return my(b,b.m,a);}
-function wt(a){return Fb(a.n,43);}
-function xt(a){return ny(a);}
-function yt(b,a){return uy(b,a);}
-function zt(d,b){var a,c;if(b<0){throw hT(new gT(),'Cannot create a row with a negative index: '+b);}c=xt(d);for(a=c;a<=b;a++){yt(d,a);}}
-function At(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
-function Bt(a){return vt(this,a);}
-function Ct(){return xt(this);}
-function Dt(b,a){ty(this,b,a);}
-function Et(d,b){var a,c;zt(this,d);if(b<0){throw hT(new gT(),'Cannot create a column with a negative index: '+b);}a=vt(this,d);c=b+1-a;if(c>0){At(this.m,d,c);}}
-function Ft(a){zt(this,a);}
-function au(b,a){wy(this,b,a);}
-function bu(a){xy(this,a);}
-function nt(){}
-_=nt.prototype=new qw();_.ub=Bt;_.bc=Ct;_.oc=Dt;_.zd=Et;_.Ad=Ft;_.be=au;_.de=bu;_.tN=bgc+'FlexTable';_.tI=65;function Bw(b,a){b.a=a;return b;}
-function Dw(c,b,a){c.a.zd(b,a);return Ew(c,c.a.m,b,a);}
-function Ew(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
-function Fw(c,b,a){gy(c.a,b,a);return Ew(c,c.a.m,b,a);}
-function ax(c,b,a){return Ew(c,c.a.m,b,a);}
-function bx(d,c,a){var b;b=Fw(d,c,a);return dO(b);}
-function cx(e,b,a,c){var d;gy(e.a,b,a);d=Ew(e,e.a.m,b,a);hO(d,c,false);}
-function dx(d,c,a,b,e){fx(d,c,a,b);hx(d,c,a,e);}
-function ex(e,d,a,c){var b;e.a.zd(d,a);b=Ew(e,e.a.m,d,a);xf(b,'height',c);}
-function fx(e,d,b,a){var c;e.a.zd(d,b);c=Ew(e,e.a.m,d,b);xf(c,'align',a.a);}
-function gx(d,b,a,c){d.a.zd(b,a);gO(Ew(d,d.a.m,b,a),c);}
-function hx(d,c,b,a){d.a.zd(c,b);Df(Ew(d,d.a.m,c,b),'verticalAlign',a.a);}
-function ix(d,c,a,e){var b;b=Dw(d,c,a);jO(b,e);}
-function jx(c,b,a,d){c.a.zd(b,a);xf(Ew(c,c.a.m,b,a),'width',d);}
-function Aw(){}
-_=Aw.prototype=new gU();_.tN=bgc+'HTMLTable$CellFormatter';_.tI=66;function pt(b,a){Bw(b,a);return b;}
-function rt(d,c,b,a){wf(Dw(d,c,b),'colSpan',a);}
-function st(d,b,a,c){wf(Dw(d,b,a),'rowSpan',c);}
-function ot(){}
-_=ot.prototype=new Aw();_.tN=bgc+'FlexTable$FlexCellFormatter';_.tI=67;function du(a){oY(a);return a;}
-function gu(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),44);b.ad(c);}}
-function fu(c,b,a){switch(xe(a)){case 2048:gu(c,b);break;case 4096:hu(c,b);break;}}
-function hu(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),44);b.id(c);}}
-function cu(){}
-_=cu.prototype=new mY();_.tN=bgc+'FocusListenerCollection';_.tI=68;function ku(){ku=e3;lu=(aR(),dR);}
-var lu;function Au(a){oY(a);return a;}
-function Cu(f,e,d){var a,b,c;a=wv(new vv(),e,d);for(c=f.sc();c.mc();){b=Fb(c.uc(),45);b.pd(a);}}
-function Du(e,d){var a,b,c;a=new yv();for(c=e.sc();c.mc();){b=Fb(c.uc(),45);b.qd(a);}return a.a;}
-function zu(){}
-_=zu.prototype=new mY();_.tN=bgc+'FormHandlerCollection';_.tI=69;function gv(){gv=e3;qv=new gR();}
-function ev(a){gv();dH(a,zd());a.b='FormPanel_'+ ++pv;nv(a,a.b);DN(a,32768);return a;}
-function fv(b,a){if(b.a===null){b.a=Au(new zu());}qY(b.a,a);}
-function hv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
-function iv(a){if(a.a!==null){return !Du(a.a,a);}return true;}
-function jv(a){if(a.a!==null){eg(bv(new av(),a));}}
-function kv(a,b){xf(a.wb(),'action',b);}
-function lv(b,a){lR(qv,b.wb(),a);}
-function mv(b,a){xf(b.wb(),'method',a);}
-function nv(b,a){xf(b.wb(),'target',a);}
-function ov(a){if(a.a!==null){if(Du(a.a,a)){return;}}mR(qv,a.wb(),a.c);}
-function rv(){yP(this);hv(this);td(pG(),this.c);kR(qv,this.c,this.wb(),this);}
-function sv(){zP(this);nR(qv,this.c,this.wb());nf(pG(),this.c);this.c=null;}
-function tv(){var a;a=x;{return iv(this);}}
-function uv(){var a;a=x;{jv(this);}}
-function Fu(){}
-_=Fu.prototype=new AG();_.wc=rv;_.Dc=sv;_.bd=tv;_.cd=uv;_.tN=bgc+'FormPanel';_.tI=70;_.a=null;_.b=null;_.c=null;var pv=0,qv;function bv(b,a){b.a=a;return b;}
-function dv(){Cu(this.a.a,this,jR((gv(),qv),this.a.c));}
-function av(){}
-_=av.prototype=new gU();_.rb=dv;_.tN=bgc+'FormPanel$1';_.tI=71;function n0(){}
-_=n0.prototype=new gU();_.tN=fgc+'EventObject';_.tI=72;function wv(c,b,a){c.a=a;return c;}
-function vv(){}
-_=vv.prototype=new n0();_.tN=bgc+'FormSubmitCompleteEvent';_.tI=73;_.a=null;function Av(b,a){b.a=a;}
-function yv(){}
-_=yv.prototype=new n0();_.tN=bgc+'FormSubmitEvent';_.tI=74;_.a=false;function Cv(a){a.oe(Ad());return a;}
-function Dv(a,b){Cv(a);Fv(a,b);return a;}
-function Fv(a,b){xf(a.wb(),'src',b);}
-function Bv(){}
-_=Bv.prototype=new wO();_.tN=bgc+'Frame';_.tI=75;function bw(a){ey(a);Ay(a,Bw(new Aw(),a));Fy(a,px(new ox(),a));Dy(a,lx(new kx(),a));return a;}
-function cw(c,b,a){bw(c);iw(c,b,a);return c;}
-function ew(c,b,a){fw(c,b);if(a<0){throw hT(new gT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw hT(new gT(),'Column index: '+a+', Column size: '+c.k);}}
-function fw(b,a){if(a<0){throw hT(new gT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw hT(new gT(),'Row index: '+a+', Row size: '+b.l);}}
-function iw(c,b,a){gw(c,a);hw(c,b);}
-function gw(d,a){var b,c;if(d.k==a){return;}if(a<0){throw hT(new gT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.be(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.oc(b,c);}}}d.k=a;}
-function hw(b,a){if(b.l==a){return;}if(a<0){throw hT(new gT(),'Cannot set number of rows to '+a);}if(b.l<a){jw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.de(--b.l);}}}
-function jw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
-function kw(){var a;a=ly(this);Af(a,'&nbsp;');return a;}
-function lw(a){return this.k;}
-function mw(){return this.l;}
-function nw(b,a){ew(this,b,a);}
-function ow(a){fw(this,a);}
-function aw(){}
-_=aw.prototype=new qw();_.hb=kw;_.ub=lw;_.bc=mw;_.zd=nw;_.Ad=ow;_.tN=bgc+'Grid';_.tI=76;_.k=0;_.l=0;function dC(a){a.oe(xd());DN(a,131197);CN(a,'gwt-Label');return a;}
-function eC(b,a){dC(b);jC(b,a);return b;}
-function fC(b,a){if(b.a===null){b.a=yq(new xq());}qY(b.a,a);}
-function gC(b,a){if(b.b===null){b.b=iD(new hD());}qY(b.b,a);}
-function iC(a){return ef(a.wb());}
-function jC(b,a){Bf(b.wb(),a);}
-function kC(a,b){Df(a.wb(),'whiteSpace',b?'normal':'nowrap');}
-function lC(a){switch(xe(a)){case 1:if(this.a!==null){Aq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){mD(this.b,this,a);}break;case 131072:break;}}
-function cC(){}
-_=cC.prototype=new wO();_.yc=lC;_.tN=bgc+'Label';_.tI=77;_.a=null;_.b=null;function lz(a){dC(a);a.oe(xd());DN(a,125);CN(a,'gwt-HTML');return a;}
-function mz(b,a){lz(b);pz(b,a);return b;}
-function nz(b,a,c){mz(b,a);kC(b,c);return b;}
-function pz(b,a){Af(b.wb(),a);}
-function pw(){}
-_=pw.prototype=new cC();_.tN=bgc+'HTML';_.tI=78;function sw(a){{vw(a);}}
-function tw(b,a){b.c=a;sw(b);return b;}
-function vw(a){while(++a.b<a.c.b.b){if(vY(a.c.b,a.b)!==null){return;}}}
-function ww(a){return a.b<a.c.b.b;}
-function xw(){return ww(this);}
-function yw(){var a;if(!ww(this)){throw new s2();}a=vY(this.c.b,this.b);this.a=this.b;vw(this);return a;}
-function zw(){var a;if(this.a<0){throw new dT();}a=Fb(vY(this.c.b,this.a),20);AP(a);this.a=(-1);}
-function rw(){}
-_=rw.prototype=new gU();_.mc=xw;_.uc=yw;_.ee=zw;_.tN=bgc+'HTMLTable$1';_.tI=79;_.a=(-1);_.b=(-1);function lx(b,a){b.b=a;return b;}
-function nx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
-function kx(){}
-_=kx.prototype=new gU();_.tN=bgc+'HTMLTable$ColumnFormatter';_.tI=80;_.a=null;function px(b,a){b.a=a;return b;}
-function rx(b,a){b.a.Ad(a);return sx(b,b.a.m,a);}
-function sx(c,a,b){return a.rows[b];}
-function tx(c,a,b){gO(rx(c,a),b);}
-function ox(){}
-_=ox.prototype=new gU();_.tN=bgc+'HTMLTable$RowFormatter';_.tI=81;function yx(a){a.b=oY(new mY());}
-function zx(a){yx(a);return a;}
-function Bx(c,a){var b;b=by(a);if(b<0){return null;}return Fb(vY(c.b,b),20);}
-function Cx(b,c){var a;if(b.a===null){a=b.b.b;qY(b.b,c);}else{a=b.a.a;BY(b.b,a,c);b.a=b.a.b;}cy(c.wb(),a);}
-function Dx(c,a,b){ay(a);BY(c.b,b,null);c.a=wx(new vx(),b,c.a);}
-function Ex(c,a){var b;b=by(a);Dx(c,a,b);}
-function Fx(a){return tw(new rw(),a);}
-function ay(a){a['__widgetID']=null;}
-function by(a){var b=a['__widgetID'];return b==null?-1:b;}
-function cy(a,b){a['__widgetID']=b;}
-function ux(){}
-_=ux.prototype=new gU();_.tN=bgc+'HTMLTable$WidgetMapper';_.tI=82;_.a=null;function wx(c,a,b){c.a=a;c.b=b;return c;}
-function vx(){}
-_=vx.prototype=new gU();_.tN=bgc+'HTMLTable$WidgetMapper$FreeNode';_.tI=83;_.a=0;_.b=null;function wz(){wz=e3;xz=uz(new tz(),'center');yz=uz(new tz(),'left');zz=uz(new tz(),'right');}
-var xz,yz,zz;function uz(b,a){b.a=a;return b;}
-function tz(){}
-_=tz.prototype=new gU();_.tN=bgc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=84;_.a=null;function Fz(){Fz=e3;aA=Dz(new Cz(),'bottom');bA=Dz(new Cz(),'middle');cA=Dz(new Cz(),'top');}
-var aA,bA,cA;function Dz(a,b){a.a=b;return a;}
-function Cz(){}
-_=Cz.prototype=new gU();_.tN=bgc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=85;_.a=null;function gA(a){a.a=(wz(),yz);a.c=(Fz(),cA);}
-function hA(a){Cp(a);gA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function iA(b,c){var a;a=kA(b);td(b.b,a);Fq(b,c,a);}
-function kA(b){var a;a=ee();Ep(b,a,b.a);Fp(b,a,b.c);return a;}
-function lA(c,d,a){var b;cr(c,a);b=kA(c);hf(c.b,b,a);gr(c,d,b,a,false);}
-function mA(c,d){var a,b;b=ff(d.wb());a=ir(c,d);if(a){nf(c.b,b);}return a;}
-function nA(b,a){b.c=a;}
-function oA(a){return mA(this,a);}
-function fA(){}
-_=fA.prototype=new Bp();_.ge=oA;_.tN=bgc+'HorizontalPanel';_.tI=86;_.b=null;function qA(a){a.oe(xd());td(a.wb(),a.a=vd());DN(a,1);CN(a,'gwt-Hyperlink');return a;}
-function rA(c,b,a){qA(c);uA(c,b);tA(c,a);return c;}
-function tA(b,a){b.b=a;xf(b.a,'href','#'+a);}
-function uA(b,a){Bf(b.a,a);}
-function vA(a){if(xe(a)==1){ah(this.b);ye(a);}}
-function pA(){}
-_=pA.prototype=new wO();_.yc=vA;_.tN=bgc+'Hyperlink';_.tI=87;_.a=null;_.b=null;function pB(){pB=e3;l1(new p0());}
-function lB(a){pB();oB(a,eB(new dB(),a));CN(a,'gwt-Image');return a;}
-function mB(a,b){pB();oB(a,fB(new dB(),a,b));CN(a,'gwt-Image');return a;}
-function nB(b,a){if(b.a===null){b.a=yq(new xq());}qY(b.a,a);}
-function oB(b,a){b.b=a;}
-function rB(a,b){a.b.xe(a,b);}
-function qB(c,e,b,d,f,a){c.b.we(c,e,b,d,f,a);}
-function sB(a){switch(xe(a)){case 1:{if(this.a!==null){Aq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
-function wA(){}
-_=wA.prototype=new wO();_.yc=sB;_.tN=bgc+'Image';_.tI=88;_.a=null;_.b=null;function zA(){}
-function xA(){}
-_=xA.prototype=new gU();_.rb=zA;_.tN=bgc+'Image$1';_.tI=89;function bB(){}
-_=bB.prototype=new gU();_.tN=bgc+'Image$State';_.tI=90;function CA(){CA=e3;EA=new hQ();}
-function BA(d,b,f,c,e,g,a){CA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.oe(kQ(EA,f,c,e,g,a));DN(b,131197);DA(d,b);return d;}
-function DA(b,a){eg(new xA());}
-function aB(a,b){oB(a,fB(new dB(),a,b));}
-function FA(b,e,c,d,f,a){if(!FU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;iQ(EA,b.wb(),e,c,d,f,a);DA(this,b);}}
-function AA(){}
-_=AA.prototype=new bB();_.xe=aB;_.we=FA;_.tN=bgc+'Image$ClippedState';_.tI=91;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var EA;function eB(b,a){a.oe(Bd());DN(a,229501);return b;}
-function fB(b,a,c){eB(b,a);hB(b,a,c);return b;}
-function hB(b,a,c){zf(a.wb(),c);}
-function jB(a,b){hB(this,a,b);}
-function iB(b,e,c,d,f,a){oB(b,BA(new AA(),b,e,c,d,f,a));}
-function dB(){}
-_=dB.prototype=new bB();_.xe=jB;_.we=iB;_.tN=bgc+'Image$UnclippedState';_.tI=92;function wB(c,a,b){}
-function xB(c,a,b){}
-function yB(c,a,b){}
-function uB(){}
-_=uB.prototype=new gU();_.ed=wB;_.fd=xB;_.gd=yB;_.tN=bgc+'KeyboardListenerAdapter';_.tI=93;function AB(a){oY(a);return a;}
-function CB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.ed(e,b,d);}}
-function DB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.fd(e,b,d);}}
-function EB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.gd(e,b,d);}}
-function FB(d,c,a){var b;b=aC(a);switch(xe(a)){case 128:CB(d,c,bc(se(a)),b);break;case 512:EB(d,c,bc(se(a)),b);break;case 256:DB(d,c,bc(se(a)),b);break;}}
-function aC(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
-function zB(){}
-_=zB.prototype=new mY();_.tN=bgc+'KeyboardListenerCollection';_.tI=94;function BC(){BC=e3;pu();fD=new nC();}
-function uC(a){BC();vC(a,false);return a;}
-function vC(b,a){BC();nu(b,be(a));DN(b,1024);CN(b,'gwt-ListBox');return b;}
-function wC(b,a){if(b.b===null){b.b=dq(new cq());}qY(b.b,a);}
-function xC(b,a){aD(b,a,(-1));}
-function yC(b,a,c){bD(b,a,c,(-1));}
-function zC(b,a){if(a<0||a>=CC(b)){throw new gT();}}
-function AC(a){oC(fD,a.wb());}
-function CC(a){return qC(fD,a.wb());}
-function DC(b,a){zC(b,a);return rC(fD,b.wb(),a);}
-function EC(a){return af(a.wb(),'selectedIndex');}
-function FC(b,a){zC(b,a);return sC(fD,b.wb(),a);}
-function aD(c,b,a){bD(c,b,b,a);}
-function bD(c,b,d,a){jf(c.wb(),b,d,a);}
-function cD(b,a){zC(b,a);tC(fD,b.wb(),a);}
-function dD(b,a){wf(b.wb(),'selectedIndex',a);}
-function eD(a,b){wf(a.wb(),'size',b);}
-function gD(a){if(xe(a)==1024){if(this.b!==null){fq(this.b,this);}}else{qu(this,a);}}
-function mC(){}
-_=mC.prototype=new mu();_.yc=gD;_.tN=bgc+'ListBox';_.tI=95;_.b=null;var fD;function oC(b,a){a.options.length=0;}
-function qC(b,a){return a.options.length;}
-function rC(c,b,a){return b.options[a].text;}
-function sC(c,b,a){return b.options[a].value;}
-function tC(c,b,a){b.options[a]=null;}
-function nC(){}
-_=nC.prototype=new gU();_.tN=bgc+'ListBox$Impl';_.tI=96;function iD(a){oY(a);return a;}
-function kD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.jd(c,e,f);}}
-function lD(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.kd(c);}}
-function mD(e,c,a){var b,d,f,g,h;d=c.wb();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:kD(e,c,g,h);break;case 8:pD(e,c,g,h);break;case 64:oD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){lD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){nD(e,c);}break;}}
-function nD(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.ld(c);}}
-function oD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.md(c,e,f);}}
-function pD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.nd(c,e,f);}}
-function hD(){}
-_=hD.prototype=new mY();_.tN=bgc+'MouseListenerCollection';_.tI=97;function rD(){}
-_=rD.prototype=new gU();_.tN=bgc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=98;_.a=null;_.b=null;function vD(b,a){zD(a,b.ae());AD(a,b.ae());}
-function wD(a){return a.a;}
-function xD(a){return a.b;}
-function yD(b,a){b.jf(wD(a));b.jf(xD(a));}
-function zD(a,b){a.a=b;}
-function AD(a,b){a.b=b;}
-function yK(){yK=e3;pu();FK=new BR();}
-function uK(b,a){yK();nu(b,a);DN(b,1024);return b;}
-function vK(b,a){if(b.f===null){b.f=dq(new cq());}qY(b.f,a);}
-function wK(b,a){if(b.i===null){b.i=AB(new zB());}qY(b.i,a);}
-function xK(a){if(a.h!==null){ye(a.h);}}
-function zK(a){return bf(a.wb(),'value');}
-function AK(b,a){CK(b,a,0);}
-function BK(b,a){xf(b.wb(),'name',a);}
-function CK(c,b,a){if(a<0){throw hT(new gT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>dV(zK(c))){throw hT(new gT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+dV(zK(c)));}FR(FK,c.wb(),b,a);}
-function DK(b,a){xf(b.wb(),'value',a!==null?a:'');}
-function EK(a){if(this.g===null){this.g=yq(new xq());}qY(this.g,a);}
-function aL(a){var b;qu(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;FB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){Aq(this.g,this);}}else if(b==1024){if(this.f!==null){fq(this.f,this);}}}
-function tK(){}
-_=tK.prototype=new mu();_.z=EK;_.yc=aL;_.tN=bgc+'TextBoxBase';_.tI=99;_.f=null;_.g=null;_.h=null;_.i=null;var FK;function gE(){gE=e3;yK();}
-function fE(a){gE();uK(a,Dd());CN(a,'gwt-PasswordTextBox');return a;}
-function eE(){}
-_=eE.prototype=new tK();_.tN=bgc+'PasswordTextBox';_.tI=100;function rF(b,a){sF(b,a,null);return b;}
-function sF(c,a,b){c.a=a;uF(c);return c;}
-function tF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=aG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=aG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=DF(b*2);f[a]=h;}var e=c.slice(b);if(h.F(e)){i.b++;return true;}else{return false;}}}
-function uF(a){a.b=0;a.c={};a.d={};}
-function wF(b,a){return uY(xF(b,a,1),a);}
-function xF(c,b,a){var d;d=oY(new mY());if(b!==null&&a>0){zF(c,b,'',d,a);}return d;}
-function yF(a){return gF(new fF(),a);}
-function zF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=aG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+dG(a);h.Fe(f,l,c,b);}}else{for(j in k){var l=d+dG(j);if(l.indexOf(f)==0){c.E(l);}if(c.Ee()>=b){return;}}for(var a in i){var l=d+dG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ee()||h.b==1){h.pb(c,l);}else{for(var j in h.d){c.E(l+dG(j));}for(var g in h.c){c.E(l+dG(g)+'...');}}}}}}
-function AF(a){if(ac(a,1)){return tF(this,Fb(a,1));}else{throw eW(new dW(),'Cannot add non-Strings to PrefixTree');}}
-function BF(a){return tF(this,a);}
-function CF(a){if(ac(a,1)){return wF(this,Fb(a,1));}else{return false;}}
-function DF(a){return rF(new eF(),a);}
-function EF(b,c){var a;for(a=yF(this);jF(a);){b.E(c+Fb(mF(a),1));}}
-function FF(){return yF(this);}
-function aG(a){return Eb(58)+a;}
-function bG(){return this.b;}
-function cG(d,c,b,a){zF(this,d,c,b,a);}
-function dG(a){return iV(a,1);}
-function eF(){}
-_=eF.prototype=new gW();_.E=AF;_.F=BF;_.gb=CF;_.pb=EF;_.sc=FF;_.Ee=bG;_.Fe=cG;_.tN=bgc+'PrefixTree';_.tI=101;_.a=0;_.b=0;_.c=null;_.d=null;function gF(a,b){kF(a);hF(a,b,'');return a;}
-function hF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
-function jF(a){return lF(a,true)!==null;}
-function kF(a){a.a=[];}
-function mF(a){var b;b=lF(a,false);if(b===null){if(!jF(a)){throw t2(new s2(),'No more elements in the iterator');}else{throw mU(new lU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
-function lF(g,b){var d=g.a;var c=aG;var i=dG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.C(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.C(e,f);}}}return null;}
-function nF(b,a){hF(this,b,a);}
-function oF(){return jF(this);}
-function pF(){return mF(this);}
-function qF(){throw eW(new dW(),'PrefixTree does not support removal.  Use clear()');}
-function fF(){}
-_=fF.prototype=new gU();_.C=nF;_.mc=oF;_.uc=pF;_.ee=qF;_.tN=bgc+'PrefixTree$PrefixTreeIterator';_.tI=102;_.a=null;function hG(){hG=e3;lq();}
-function fG(b,a){hG();jq(b,Ed(a));CN(b,'gwt-RadioButton');return b;}
-function gG(c,b,a){hG();fG(c,b);pq(c,a);return c;}
-function eG(){}
-_=eG.prototype=new hq();_.tN=bgc+'RadioButton';_.tI=103;function oG(){oG=e3;tG=l1(new p0());}
-function nG(b,a){oG();kp(b);if(a===null){a=pG();}b.oe(a);b.wc();return b;}
-function qG(){oG();return rG(null);}
-function rG(c){oG();var a,b;b=Fb(r1(tG,c),48);if(b!==null){return b;}a=null;if(tG.c==0){sG();}s1(tG,c,b=nG(new iG(),a));return b;}
-function pG(){oG();return $doc.body;}
-function sG(){oG();yh(new jG());}
-function iG(){}
-_=iG.prototype=new jp();_.tN=bgc+'RootPanel';_.tI=104;var tG;function lG(){var a,b;for(b=rX(aY((oG(),tG)));yX(b);){a=Fb(zX(b),48);if(a.qc()){a.Dc();}}}
-function mG(){return null;}
-function jG(){}
-_=jG.prototype=new gU();_.wd=lG;_.xd=mG;_.tN=bgc+'RootPanel$1';_.tI=105;function vG(a){cH(a);yG(a,false);DN(a,16384);return a;}
-function wG(b,a){vG(b);b.Ce(a);return b;}
-function yG(b,a){Df(b.wb(),'overflow',a?'scroll':'auto');}
-function zG(a){xe(a)==16384;}
-function uG(){}
-_=uG.prototype=new AG();_.yc=zG;_.tN=bgc+'ScrollPanel';_.tI=106;function CG(a){a.a=a.c.r!==null;}
-function DG(b,a){b.c=a;CG(b);return b;}
-function FG(){return this.a;}
-function aH(){if(!this.a||this.c.r===null){throw new s2();}this.a=false;return this.b=this.c.r;}
-function bH(){if(this.b!==null){this.c.ge(this.b);}}
-function BG(){}
-_=BG.prototype=new gU();_.mc=FG;_.uc=aH;_.ee=bH;_.tN=bgc+'SimplePanel$1';_.tI=107;_.b=null;function yH(b){var a;Eq(b);a=ge();b.oe(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);CN(b,'gwt-StackPanel');return b;}
-function zH(a,b){DH(a,b,a.f.c);}
-function AH(c,d,b,a){zH(c,d);FH(c,c.f.c-1,b,a);}
-function CH(d,a){var b,c;while(a!==null&& !ud(a,d.wb())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return nT(b);}else{return (-1);}}a=ff(a);}return (-1);}
-function DH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=ar(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);hO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');gr(e,h,c,a,false);cI(e,a);if(e.b==(-1)){bI(e,0);}else{aI(e,a,false);if(e.b>=a){++e.b;}}}
-function EH(e,a,b){var c,d,f;c=ir(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}cI(e,d);}return c;}
-function FH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
-function aI(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);hO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);jO(d,e);fr(c,a).Ae(e);}
-function bI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){aI(b,b.b,false);}b.b=a;aI(b,b.b,true);}
-function cI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
-function dI(a){var b,c;if(xe(a)==1){c=ve(a);b=CH(this,c);if(b!=(-1)){bI(this,b);}}}
-function eI(a){return EH(this,fr(this,a),a);}
-function fI(a){return EH(this,a,er(this,a));}
-function xH(){}
-_=xH.prototype=new Cq();_.yc=dI;_.fe=eI;_.ge=fI;_.tN=bgc+'StackPanel';_.tI=108;_.a=null;_.b=(-1);function gI(){}
-_=gI.prototype=new gU();_.tN=bgc+'SuggestOracle$Request';_.tI=109;_.a=20;_.b=null;function iI(){}
-_=iI.prototype=new gU();_.tN=bgc+'SuggestOracle$Response';_.tI=110;_.a=null;function nI(b,a){rI(a,b.Dd());sI(a,b.ae());}
-function oI(a){return a.a;}
-function pI(a){return a.b;}
-function qI(b,a){b.ff(oI(a));b.jf(pI(a));}
-function rI(a,b){a.a=b;}
-function sI(a,b){a.b=b;}
-function vI(b,a){yI(a,Fb(b.Fd(),49));}
-function wI(a){return a.a;}
-function xI(b,a){b.hf(wI(a));}
-function yI(a,b){a.a=b;}
-function AI(a){a.a=hA(new fA());}
-function BI(c){var a,b;AI(c);or(c,c.a);DN(c,1);CN(c,'gwt-TabBar');nA(c.a,(Fz(),aA));a=nz(new pw(),'&nbsp;',true);b=nz(new pw(),'&nbsp;',true);CN(a,'gwt-TabBarFirst');CN(b,'gwt-TabBarRest');a.se('100%');b.se('100%');iA(c.a,a);iA(c.a,b);a.se('100%');c.a.me(a,'100%');c.a.ne(b,'100%');return c;}
-function CI(b,a){if(b.c===null){b.c=hJ(new gJ());}qY(b.c,a);}
-function DI(b,a){if(a<0||a>aJ(b)){throw new gT();}}
-function EI(b,a){if(a<(-1)||a>=aJ(b)){throw new gT();}}
-function aJ(a){return a.a.f.c-2;}
-function bJ(e,d,a,b){var c;DI(e,b);if(a){c=mz(new pw(),d);}else{c=eC(new cC(),d);}kC(c,false);fC(c,e);CN(c,'gwt-TabBarItem');lA(e.a,c,b+1);}
-function cJ(b,a){var c;EI(b,a);c=fr(b.a,a+1);if(c===b.b){b.b=null;}mA(b.a,c);}
-function dJ(b,a){EI(b,a);if(b.c!==null){if(!jJ(b.c,b,a)){return false;}}eJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=fr(b.a,a+1);eJ(b,b.b,true);if(b.c!==null){kJ(b.c,b,a);}return true;}
-function eJ(c,a,b){if(a!==null){if(b){rN(a,'gwt-TabBarItem-selected');}else{xN(a,'gwt-TabBarItem-selected');}}}
-function fJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(fr(this.a,a)===b){dJ(this,a-1);return;}}}
-function zI(){}
-_=zI.prototype=new mr();_.Bc=fJ;_.tN=bgc+'TabBar';_.tI=111;_.b=null;_.c=null;function hJ(a){oY(a);return a;}
-function jJ(e,c,d){var a,b;for(a=e.sc();a.mc();){b=Fb(a.uc(),50);if(!b.xc(c,d)){return false;}}return true;}
-function kJ(e,c,d){var a,b;for(a=e.sc();a.mc();){b=Fb(a.uc(),50);b.sd(c,d);}}
-function gJ(){}
-_=gJ.prototype=new mY();_.tN=bgc+'TabListenerCollection';_.tI=112;function zJ(a){a.b=vJ(new uJ());a.a=oJ(new nJ(),a.b);}
-function AJ(b){var a;zJ(b);a=pO(new nO());qO(a,b.b);qO(a,b.a);a.me(b.a,'100%');b.b.De('100%');CI(b.b,b);or(b,a);CN(b,'gwt-TabPanel');CN(b.a,'gwt-TabPanelBottom');return b;}
-function BJ(c,d,b,a){FJ(c,d,b,a,c.a.f.c);}
-function EJ(b,a){return fr(b.a,a);}
-function DJ(a,b){return er(a.a,b);}
-function FJ(d,e,c,a,b){qJ(d.a,e,c,a,b);}
-function aK(b,a){return b.a.fe(a);}
-function bK(b,a){dJ(b.b,a);}
-function cK(){return hr(this.a);}
-function dK(a,b){return true;}
-function eK(a,b){Ar(this.a,b);}
-function fK(a){return rJ(this.a,a);}
-function mJ(){}
-_=mJ.prototype=new mr();_.sc=cK;_.xc=dK;_.sd=eK;_.ge=fK;_.tN=bgc+'TabPanel';_.tI=113;function oJ(b,a){ur(b);b.a=a;return b;}
-function qJ(e,f,d,a,b){var c;c=er(e,f);if(c!=(-1)){rJ(e,f);if(c<b){b--;}}xJ(e.a,d,a,b);xr(e,f,b);}
-function rJ(b,c){var a;a=er(b,c);if(a!=(-1)){yJ(b.a,a);return yr(b,c);}return false;}
-function sJ(){throw eW(new dW(),'Use TabPanel.clear() to alter the DeckPanel');}
-function tJ(a){return rJ(this,a);}
-function nJ(){}
-_=nJ.prototype=new tr();_.cb=sJ;_.ge=tJ;_.tN=bgc+'TabPanel$TabbedDeckPanel';_.tI=114;_.a=null;function vJ(a){BI(a);return a;}
-function xJ(d,c,a,b){bJ(d,c,a,b);}
-function yJ(b,a){cJ(b,a);}
-function uJ(){}
-_=uJ.prototype=new zI();_.tN=bgc+'TabPanel$UnmodifiableTabBar';_.tI=115;function hK(a){oY(a);return a;}
-function jK(f,e,d,a){var b,c;for(b=f.sc();b.mc();){c=Fb(b.uc(),51);c.zc(e,d,a);}}
-function gK(){}
-_=gK.prototype=new mY();_.tN=bgc+'TableListenerCollection';_.tI=116;function nK(){nK=e3;yK();}
-function mK(a){nK();uK(a,he());CN(a,'gwt-TextArea');return a;}
-function oK(a){return ER(FK,a.wb());}
-function pK(a){return af(a.wb(),'rows');}
-function qK(a,b){wf(a.wb(),'cols',b);}
-function rK(b,a){wf(b.wb(),'rows',a);}
-function lK(){}
-_=lK.prototype=new tK();_.tN=bgc+'TextArea';_.tI=117;function cL(){cL=e3;yK();}
-function bL(a){cL();uK(a,Fd());CN(a,'gwt-TextBox');return a;}
-function dL(b,a){wf(b.wb(),'size',a);}
-function sK(){}
-_=sK.prototype=new tK();_.tN=bgc+'TextBox';_.tI=118;function qM(a){a.a=l1(new p0());}
-function rM(a){sM(a,oL(new nL()));return a;}
-function sM(b,a){qM(b);b.d=a;b.oe(xd());Df(b.wb(),'position','relative');b.c=yQ((ku(),lu));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.wb(),b.c);DN(b,1021);Ef(b.c,6144);b.g=gL(new fL(),b);dM(b.g,b);CN(b,'gwt-Tree');return b;}
-function uM(c,a){var b;b=xL(new uL(),a);tM(c,b);return b;}
-function tM(b,a){hL(b.g,a);}
-function vM(b,a){if(b.f===null){b.f=lM(new kM());}qY(b.f,a);}
-function wM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){DL(AL(c.g,a));}}
-function yM(d,a,c,b){if(b===null||ud(b,c)){return;}yM(d,a,c,ff(b));qY(a,hc(b,hg));}
-function zM(e,d,b){var a,c;a=oY(new mY());yM(e,a,e.wb(),b);c=BM(e,a,0,d);if(c!==null){if(kf(CL(c),b)){cM(c,!c.f,true);return true;}else if(kf(c.wb(),b)){cN(e,c,true,!jN(e,b));return true;}}return false;}
-function AM(b,a){if(!a.f){return a;}return AM(b,AL(a,a.c.b-1));}
-function BM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(vY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=AL(h,d);if(ud(b.wb(),c)){g=BM(i,a,e+1,AL(h,d));if(g===null){return b;}return g;}}return BM(i,a,e+1,h);}
-function CM(b,a){if(b.f!==null){oM(b.f,a);}}
-function DM(b,a){return AL(b.g,a);}
-function EM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[621],[20],[a.a.c],null);FX(a.a).bf(b);return wP(a,b);}
-function FM(h,g){var a,b,c,d,e,f,i,j;c=BL(g);{f=g.d;a=tN(h);b=uN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);AQ((ku(),lu),h.c);}}
-function aN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=zL(c,d);if(!a|| !d.f){if(b<c.c.b-1){cN(e,AL(c,b+1),true,true);}else{aN(e,c,false);}}else if(d.c.b>0){cN(e,AL(d,0),true,true);}}
-function bN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=zL(b,c);if(a>0){d=AL(b,a-1);cN(e,AM(e,d),true,true);}else{cN(e,b,true,true);}}
-function cN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){aM(d.b,false);}d.b=b;if(c&&d.b!==null){FM(d,d.b);aM(d.b,true);if(a&&d.f!==null){nM(d.f,d.b);}}}
-function fN(b,c){var a;a=Fb(r1(b.a,c),52);if(a===null){return false;}fM(a,null);return true;}
-function dN(b,a){jL(b.g,a);}
-function eN(a){while(a.g.c.b>0){dN(a,DM(a,0));}}
-function gN(b,a){if(a){AQ((ku(),lu),b.c);}else{uQ((ku(),lu),b.c);}}
-function hN(b,a){iN(b,a,true);}
-function iN(c,b,a){if(b===null){if(c.b===null){return;}aM(c.b,false);c.b=null;return;}cN(c,b,a,true);}
-function jN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
-function kN(){var a,b;for(b=EM(this);pP(b);){a=qP(b);a.wc();}yf(this.c,this);}
-function lN(){var a,b;for(b=EM(this);pP(b);){a=qP(b);a.Dc();}yf(this.c,null);}
-function mN(){return EM(this);}
-function nN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(jN(this,b)){}else{gN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.wb(),hg))){zM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){cN(this,AL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{bN(this,this.b);ye(c);break;}case 40:{aN(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){bM(this.b,false);}else{f=this.b.g;if(f!==null){hN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){bM(this.b,true);}else if(this.b.c.b>0){hN(this,AL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=oY(new mY());yM(this,a,this.wb(),ve(c));e=BM(this,a,0,this.g);if(e!==this.b){iN(this,e,true);}}}case 256:{break;}}this.e=d;}
-function oN(){gM(this.g);}
-function pN(a){return fN(this,a);}
-function eL(){}
-_=eL.prototype=new wO();_.mb=kN;_.ob=lN;_.sc=mN;_.yc=nN;_.hd=oN;_.ge=pN;_.tN=bgc+'Tree';_.tI=119;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function vL(a){a.c=oY(new mY());a.i=lB(new wA());}
-function wL(d){var a,b,c,e;vL(d);d.oe(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.wb(),d.e);td(d.wb(),d.b);td(c,d.i.wb());td(b,d.d);Df(d.d,'display','inline');Df(d.wb(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');hO(d.d,'gwt-TreeItem',true);return d;}
-function xL(b,a){wL(b);EL(b,a);return b;}
-function AL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(vY(b.c,a),52);}
-function zL(b,a){return wY(b.c,a);}
-function BL(a){var b;b=a.l;{return null;}}
-function CL(a){return a.i.wb();}
-function DL(a){if(a.g!==null){a.g.ce(a);}else if(a.j!==null){dN(a.j,a);}}
-function EL(b,a){fM(b,null);Af(b.d,a);}
-function FL(b,a){b.g=a;}
-function aM(b,a){if(b.h==a){return;}b.h=a;hO(b.d,'gwt-TreeItem-selected',a);}
-function bM(b,a){cM(b,a,true);}
-function cM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;hM(c);if(a&&c.j!==null){CM(c.j,c);}}
-function dM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){hN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){dM(Fb(vY(d.c,a),52),c);}hM(d);}
-function eM(a,b){a.k=b;}
-function fM(b,a){Af(b.d,'');b.l=a;}
-function hM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){jO(b.b,false);oQ((pL(),sL),b.i);return;}if(b.f){jO(b.b,true);oQ((pL(),tL),b.i);}else{jO(b.b,false);oQ((pL(),rL),b.i);}}
-function gM(c){var a,b;hM(c);for(a=0,b=c.c.b;a<b;++a){gM(Fb(vY(c.c,a),52));}}
-function iM(a){if(a.g!==null||a.j!==null){DL(a);}FL(a,this);qY(this.c,a);Df(a.wb(),'marginLeft','16px');td(this.b,a.wb());dM(a,this.j);if(this.c.b==1){hM(this);}}
-function jM(a){if(!uY(this.c,a)){return;}dM(a,null);nf(this.b,a.wb());FL(a,null);AY(this.c,a);if(this.c.b==0){hM(this);}}
-function uL(){}
-_=uL.prototype=new qN();_.A=iM;_.ce=jM;_.tN=bgc+'TreeItem';_.tI=120;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function gL(b,a){b.a=a;wL(b);return b;}
-function hL(b,a){if(a.g!==null||a.j!==null){DL(a);}td(b.a.wb(),a.wb());dM(a,b.j);FL(a,null);qY(b.c,a);Cf(a.wb(),'marginLeft',0);}
-function jL(b,a){if(!uY(b.c,a)){return;}dM(a,null);FL(a,null);AY(b.c,a);nf(b.a.wb(),a.wb());}
-function kL(a){hL(this,a);}
-function lL(a){jL(this,a);}
-function fL(){}
-_=fL.prototype=new uL();_.A=kL;_.ce=lL;_.tN=bgc+'Tree$1';_.tI=121;function pL(){pL=e3;qL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';rL=nQ(new mQ(),qL,0,0,16,16);sL=nQ(new mQ(),qL,16,0,16,16);tL=nQ(new mQ(),qL,32,0,16,16);}
-function oL(a){pL();return a;}
-function nL(){}
-_=nL.prototype=new gU();_.tN=bgc+'TreeImages_generatedBundle';_.tI=122;var qL,rL,sL,tL;function lM(a){oY(a);return a;}
-function nM(d,b){var a,c;for(a=d.sc();a.mc();){c=Fb(a.uc(),53);c.td(b);}}
-function oM(d,b){var a,c;for(a=d.sc();a.mc();){c=Fb(a.uc(),53);c.ud(b);}}
-function kM(){}
-_=kM.prototype=new mY();_.tN=bgc+'TreeListenerCollection';_.tI=123;function oO(a){a.a=(wz(),yz);a.b=(Fz(),cA);}
-function pO(a){Cp(a);oO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function qO(b,d){var a,c;c=fe();a=sO(b);td(c,a);td(b.d,c);Fq(b,d,a);}
-function sO(b){var a;a=ee();Ep(b,a,b.a);Fp(b,a,b.b);return a;}
-function tO(b,a){b.a=a;}
-function uO(b,a){b.b=a;}
-function vO(c){var a,b;b=ff(c.wb());a=ir(this,c);if(a){nf(this.d,ff(b));}return a;}
-function nO(){}
-_=nO.prototype=new Bp();_.ge=vO;_.tN=bgc+'VerticalPanel';_.tI=124;function aP(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[621],[20],[4],null);return b;}
-function bP(a,b){fP(a,b,a.c);}
-function dP(b,a){if(a<0||a>=b.c){throw new gT();}return b.a[a];}
-function eP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
-function fP(d,e,a){var b,c;if(a<0||a>d.c){throw new gT();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[621],[20],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
-function gP(a){return zO(new yO(),a);}
-function hP(c,b){var a;if(b<0||b>=c.c){throw new gT();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
-function iP(b,c){var a;a=eP(b,c);if(a==(-1)){throw new s2();}hP(b,a);}
-function xO(){}
-_=xO.prototype=new gU();_.tN=bgc+'WidgetCollection';_.tI=125;_.a=null;_.b=null;_.c=0;function zO(b,a){b.b=a;return b;}
-function BO(a){return a.a<a.b.c-1;}
-function CO(a){if(a.a>=a.b.c){throw new s2();}return a.b.a[++a.a];}
-function DO(){return BO(this);}
-function EO(){return CO(this);}
-function FO(){if(this.a<0||this.a>=this.b.c){throw new dT();}this.b.b.ge(this.b.a[this.a--]);}
-function yO(){}
-_=yO.prototype=new gU();_.mc=DO;_.uc=EO;_.ee=FO;_.tN=bgc+'WidgetCollection$WidgetIterator';_.tI=126;_.a=(-1);function vP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[621],[20],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
-function wP(b,a){return mP(new kP(),a,b);}
-function lP(a){a.e=a.c;{oP(a);}}
-function mP(a,b,c){a.c=b;a.d=c;lP(a);return a;}
-function oP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
-function pP(a){return a.a<a.c.a;}
-function qP(a){var b;if(!pP(a)){throw new s2();}a.b=a.a;b=a.c[a.a];oP(a);return b;}
-function rP(){return pP(this);}
-function sP(){return qP(this);}
-function tP(){if(this.b<0){throw new dT();}if(!this.f){this.e=vP(this.e);this.f=true;}fN(this.d,this.c[this.b]);this.b=(-1);}
-function kP(){}
-_=kP.prototype=new gU();_.mc=rP;_.uc=sP;_.ee=tP;_.tN=bgc+'WidgetIterators$1';_.tI=127;_.a=(-1);_.b=(-1);_.f=false;function iQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
-function kQ(c,f,b,e,g,a){var d;d=ce();Af(d,lQ(c,f,b,e,g,a));return df(d);}
-function lQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
-function hQ(){}
-_=hQ.prototype=new gU();_.tN=cgc+'ClippedImageImpl';_.tI=128;function nQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
-function oQ(b,a){qB(a,b.d,b.b,b.c,b.e,b.a);}
-function mQ(){}
-_=mQ.prototype=new qp();_.tN=cgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function aR(){aR=e3;dR=tQ(new rQ());eR=dR!==null?FQ(new qQ()):dR;}
-function FQ(a){aR();return a;}
-function bR(a){a.blur();}
-function cR(a){a.focus();}
-function fR(a,b){a.tabIndex=b;}
-function qQ(){}
-_=qQ.prototype=new gU();_.bb=bR;_.tb=cR;_.ue=fR;_.tN=cgc+'FocusImpl';_.tI=130;var dR,eR;function vQ(){vQ=e3;aR();}
-function sQ(a){a.a=wQ(a);a.b=xQ(a);a.c=zQ(a);}
-function tQ(a){vQ();FQ(a);sQ(a);return a;}
-function uQ(b,a){a.firstChild.blur();}
-function wQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
-function xQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
-function yQ(c){var a=$doc.createElement('div');var b=c.ib();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
-function zQ(a){return function(){this.firstChild.focus();};}
-function AQ(b,a){a.firstChild.focus();}
-function BQ(a){uQ(this,a);}
-function CQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
-function DQ(a){AQ(this,a);}
-function EQ(a,b){a.firstChild.tabIndex=b;}
-function rQ(){}
-_=rQ.prototype=new qQ();_.bb=BQ;_.ib=CQ;_.tb=DQ;_.ue=EQ;_.tN=cgc+'FocusImplOld';_.tI=131;function jR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
-function kR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.cd();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.bd();};}
-function lR(c,b,a){b.enctype=a;b.encoding=a;}
-function mR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
-function nR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
-function gR(){}
-_=gR.prototype=new gU();_.tN=cgc+'FormPanelImpl';_.tI=132;function oR(){}
-_=oR.prototype=new gU();_.tN=cgc+'PopupImpl';_.tI=133;function vR(){vR=e3;yR=zR();}
-function uR(a){vR();return a;}
-function wR(b){var a;a=xd();if(yR){Af(a,'<div><\/div>');eg(rR(new qR(),b,a));}return a;}
-function xR(b,a){return yR?df(a):a;}
-function zR(){vR();if(navigator.userAgent.indexOf('Macintosh')!= -1){return true;}return false;}
-function pR(){}
-_=pR.prototype=new oR();_.tN=cgc+'PopupImplMozilla';_.tI=134;var yR;function rR(b,a,c){b.a=c;return b;}
-function tR(){Df(this.a,'overflow','auto');}
-function qR(){}
-_=qR.prototype=new gU();_.rb=tR;_.tN=cgc+'PopupImplMozilla$1';_.tI=135;function DR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
-function ER(b,a){return DR(b,a);}
-function FR(d,a,c,b){a.setSelectionRange(c,c+b);}
-function BR(){}
-_=BR.prototype=new gU();_.tN=cgc+'TextBoxImpl';_.tI=136;function dS(){}
-_=dS.prototype=new gU();_.tN=dgc+'OutputStream';_.tI=137;function bS(){}
-_=bS.prototype=new dS();_.tN=dgc+'FilterOutputStream';_.tI=138;function fS(){}
-_=fS.prototype=new bS();_.tN=dgc+'PrintStream';_.tI=139;function hS(){}
-_=hS.prototype=new lU();_.tN=egc+'ArrayStoreException';_.tI=140;function lS(){lS=e3;mS=kS(new jS(),false);nS=kS(new jS(),true);}
-function kS(a,b){lS();a.a=b;return a;}
-function oS(a){return ac(a,55)&&Fb(a,55).a==this.a;}
-function pS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
-function qS(){return this.a?'true':'false';}
-function rS(a){lS();return a?nS:mS;}
-function jS(){}
-_=jS.prototype=new gU();_.eQ=oS;_.hC=pS;_.tS=qS;_.tN=egc+'Boolean';_.tI=141;_.a=false;var mS,nS;function vS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+wT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
-function wS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
-function yS(b,a){mU(b,a);return b;}
-function xS(){}
-_=xS.prototype=new lU();_.tN=egc+'ClassCastException';_.tI=142;function bT(b,a){mU(b,a);return b;}
-function aT(){}
-_=aT.prototype=new lU();_.tN=egc+'IllegalArgumentException';_.tI=143;function eT(b,a){mU(b,a);return b;}
-function dT(){}
-_=dT.prototype=new lU();_.tN=egc+'IllegalStateException';_.tI=144;function hT(b,a){mU(b,a);return b;}
-function gT(){}
-_=gT.prototype=new lU();_.tN=egc+'IndexOutOfBoundsException';_.tI=145;function aU(){aU=e3;{fU();}}
-function bU(a){aU();return isNaN(a);}
-function cU(e,d,c,h){aU();var a,b,f,g;if(e===null){throw ET(new DT(),'Unable to parse null');}b=dV(e);f=b>0&&AU(e,0)==45?1:0;for(a=f;a<b;a++){if(vS(AU(e,a),d)==(-1)){throw ET(new DT(),'Could not parse '+e+' in radix '+d);}}g=dU(e,d);if(bU(g)){throw ET(new DT(),'Unable to parse '+e);}else if(g<c||g>h){throw ET(new DT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
-function dU(b,a){aU();return parseInt(b,a);}
-function fU(){aU();eU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
-var eU=null;function kT(){kT=e3;aU();}
-function nT(a){kT();return oT(a,10);}
-function oT(b,a){kT();return cc(cU(b,a,(-2147483648),2147483647));}
-function pT(a){kT();return vV(a);}
-var lT=2147483647,mT=(-2147483648);function rT(){rT=e3;aU();}
-function sT(a){rT();return wV(a);}
-function vT(a){return a<0?-a:a;}
-function wT(a,b){return a<b?a:b;}
-function xT(){}
-_=xT.prototype=new lU();_.tN=egc+'NegativeArraySizeException';_.tI=146;function AT(b,a){mU(b,a);return b;}
-function zT(){}
-_=zT.prototype=new lU();_.tN=egc+'NullPointerException';_.tI=147;function ET(b,a){bT(b,a);return b;}
-function DT(){}
-_=DT.prototype=new aT();_.tN=egc+'NumberFormatException';_.tI=148;function AU(b,a){return b.charCodeAt(a);}
-function CU(f,c){var a,b,d,e,g,h;h=dV(f);e=dV(c);b=wT(h,e);for(a=0;a<b;a++){g=AU(f,a);d=AU(c,a);if(g!=d){return g-d;}}return h-e;}
-function DU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
-function FU(b,a){if(!ac(a,1))return false;return oV(b,a);}
-function EU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
-function aV(b,a){return b.indexOf(String.fromCharCode(a));}
-function bV(b,a){return b.indexOf(a);}
-function cV(c,b,a){return c.indexOf(b,a);}
-function dV(a){return a.length;}
-function eV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
-function fV(b,a){return gV(b,a,0);}
-function gV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=nV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
-function hV(b,a){return bV(b,a)==0;}
-function iV(b,a){return b.substr(a,b.length-a);}
-function jV(c,a,b){return c.substr(a,b-a);}
-function kV(d){var a,b,c;c=dV(d);a=yb('[C',[612],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=AU(d,b);return a;}
-function lV(a){return a.toLowerCase();}
-function mV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
-function nV(a){return yb('[Ljava.lang.String;',[609],[1],[a],null);}
-function oV(a,b){return String(a)==b;}
-function pV(a){if(ac(a,1)){return CU(this,Fb(a,1));}else{throw yS(new xS(),'Cannot compare '+a+" with String '"+this+"'");}}
-function qV(a){return FU(this,a);}
-function sV(){var a=rV;if(!a){a=rV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
-function tV(){return this;}
-function uV(a){return String.fromCharCode(a);}
-function vV(a){return ''+a;}
-function wV(a){return ''+a;}
-function xV(a){return a!==null?a.tS():'null';}
-_=String.prototype;_.db=pV;_.eQ=qV;_.hC=sV;_.tS=tV;_.tN=egc+'String';_.tI=2;var rV=null;function rU(a){uU(a);return a;}
-function sU(a,b){return tU(a,uV(b));}
-function tU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
-function uU(a){vU(a,'');}
-function vU(b,a){b.js=[a];b.length=a.length;}
-function xU(a){a.vc();return a.js[0];}
-function yU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
-function zU(){return xU(this);}
-function qU(){}
-_=qU.prototype=new gU();_.vc=yU;_.tS=zU;_.tN=egc+'StringBuffer';_.tI=149;function zV(){zV=e3;CV=new fS();}
-function AV(){zV();return new Date().getTime();}
-function BV(a){zV();return B(a);}
-var CV;function eW(b,a){mU(b,a);return b;}
-function dW(){}
-_=dW.prototype=new lU();_.tN=egc+'UnsupportedOperationException';_.tI=150;function qW(b,a){b.c=a;return b;}
-function sW(a){return a.a<a.c.Ee();}
-function tW(){return sW(this);}
-function uW(){if(!sW(this)){throw new s2();}return this.c.jc(this.b=this.a++);}
-function vW(){if(this.b<0){throw new dT();}this.c.fe(this.b);this.a=this.b;this.b=(-1);}
-function pW(){}
-_=pW.prototype=new gU();_.mc=tW;_.uc=uW;_.ee=vW;_.tN=fgc+'AbstractList$IteratorImpl';_.tI=151;_.a=0;_.b=(-1);function EX(f,d,e){var a,b,c;for(b=g1(f.qb());E0(b);){a=F0(b);c=a.Ab();if(d===null?c===null:d.eQ(c)){if(e){a1(b);}return a;}}return null;}
-function FX(b){var a;a=b.qb();return aX(new FW(),b,a);}
-function aY(b){var a;a=q1(b);return pX(new oX(),b,a);}
-function bY(a){return EX(this,a,false)!==null;}
-function cY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=FX(this);e=f.tc();if(!jY(c,e)){return false;}for(a=cX(c);jX(a);){b=kX(a);h=this.kc(b);g=f.kc(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
-function dY(b){var a;a=EX(this,b,false);return a===null?null:a.gc();}
-function eY(){var a,b,c;b=0;for(c=g1(this.qb());E0(c);){a=F0(c);b+=a.hC();}return b;}
-function fY(){return FX(this);}
-function gY(){var a,b,c,d;d='{';a=false;for(c=g1(this.qb());E0(c);){b=F0(c);if(a){d+=', ';}else{a=true;}d+=xV(b.Ab());d+='=';d+=xV(b.gc());}return d+'}';}
-function EW(){}
-_=EW.prototype=new gU();_.fb=bY;_.eQ=cY;_.kc=dY;_.hC=eY;_.tc=fY;_.tS=gY;_.tN=fgc+'AbstractMap';_.tI=152;function jY(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ee()!=e.Ee()){return false;}for(a=c.sc();a.mc();){d=a.uc();if(!e.gb(d)){return false;}}return true;}
-function kY(a){return jY(this,a);}
-function lY(){var a,b,c;a=0;for(b=this.sc();b.mc();){c=b.uc();if(c!==null){a+=c.hC();}}return a;}
-function hY(){}
-_=hY.prototype=new gW();_.eQ=kY;_.hC=lY;_.tN=fgc+'AbstractSet';_.tI=153;function aX(b,a,c){b.a=a;b.b=c;return b;}
-function cX(b){var a;a=g1(b.b);return hX(new gX(),b,a);}
-function dX(a){return this.a.fb(a);}
-function eX(){return cX(this);}
-function fX(){return this.b.a.c;}
-function FW(){}
-_=FW.prototype=new hY();_.gb=dX;_.sc=eX;_.Ee=fX;_.tN=fgc+'AbstractMap$1';_.tI=154;function hX(b,a,c){b.a=c;return b;}
-function jX(a){return E0(a.a);}
-function kX(b){var a;a=F0(b.a);return a.Ab();}
-function lX(){return jX(this);}
-function mX(){return kX(this);}
-function nX(){a1(this.a);}
-function gX(){}
-_=gX.prototype=new gU();_.mc=lX;_.uc=mX;_.ee=nX;_.tN=fgc+'AbstractMap$2';_.tI=155;function pX(b,a,c){b.a=a;b.b=c;return b;}
-function rX(b){var a;a=g1(b.b);return wX(new vX(),b,a);}
-function sX(a){return p1(this.a,a);}
-function tX(){return rX(this);}
-function uX(){return this.b.a.c;}
-function oX(){}
-_=oX.prototype=new gW();_.gb=sX;_.sc=tX;_.Ee=uX;_.tN=fgc+'AbstractMap$3';_.tI=156;function wX(b,a,c){b.a=c;return b;}
-function yX(a){return E0(a.a);}
-function zX(a){var b;b=F0(a.a).gc();return b;}
-function AX(){return yX(this);}
-function BX(){return zX(this);}
-function CX(){a1(this.a);}
-function vX(){}
-_=vX.prototype=new gU();_.mc=AX;_.uc=BX;_.ee=CX;_.tN=fgc+'AbstractMap$4';_.tI=157;function kZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.eb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
-function lZ(a){kZ(a,a.a,(xZ(),yZ));}
-function oZ(){oZ=e3;f2(new e2());pZ=l1(new p0());oY(new mY());}
-function qZ(c,d){oZ();var a,b;b=c.b;for(a=0;a<b;a++){BY(c,a,d[a]);}}
-function rZ(a){oZ();var b;b=a.af();lZ(b);qZ(a,b);}
-var pZ;function xZ(){xZ=e3;yZ=new uZ();}
-var yZ;function wZ(a,b){return Fb(a,34).db(b);}
-function uZ(){}
-_=uZ.prototype=new gU();_.eb=wZ;_.tN=fgc+'Comparators$1';_.tI=158;function CZ(){CZ=e3;d0=zb('[Ljava.lang.String;',609,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);e0=zb('[Ljava.lang.String;',609,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
-function AZ(a){CZ();FZ(a);return a;}
-function BZ(b,a){CZ();a0(b,a);return b;}
-function DZ(c,a){var b,d;d=EZ(c);b=EZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
-function EZ(a){return a.jsdate.getTime();}
-function FZ(a){a.jsdate=new Date();}
-function a0(b,a){b.jsdate=new Date(a);}
-function b0(a){return a.jsdate.toLocaleString();}
-function c0(h){var a=h.jsdate;var g=k0;var b=g0(h.jsdate.getDay());var e=j0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
-function f0(a){return DZ(this,Fb(a,59));}
-function g0(a){CZ();return d0[a];}
-function h0(a){return ac(a,59)&&EZ(this)==EZ(Fb(a,59));}
-function i0(){return cc(EZ(this)^EZ(this)>>>32);}
-function j0(a){CZ();return e0[a];}
-function k0(a){CZ();if(a<10){return '0'+a;}else{return vV(a);}}
-function l0(){return c0(this);}
-function zZ(){}
-_=zZ.prototype=new gU();_.db=f0;_.eQ=h0;_.hC=i0;_.tS=l0;_.tN=fgc+'Date';_.tI=159;var d0,e0;function n1(){n1=e3;u1=A1();}
-function k1(a){{m1(a);}}
-function l1(a){n1();k1(a);return a;}
-function m1(a){a.a=gb();a.d=ib();a.b=hc(u1,cb);a.c=0;}
-function o1(b,a){if(ac(a,1)){return E1(b.d,Fb(a,1))!==u1;}else if(a===null){return b.b!==u1;}else{return D1(b.a,a,a.hC())!==u1;}}
-function p1(a,b){if(a.b!==u1&&C1(a.b,b)){return true;}else if(z1(a.d,b)){return true;}else if(x1(a.a,b)){return true;}return false;}
-function q1(a){return e1(new A0(),a);}
-function r1(c,a){var b;if(ac(a,1)){b=E1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=D1(c.a,a,a.hC());}return b===u1?null:b;}
-function s1(c,a,d){var b;if(ac(a,1)){b=b2(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=a2(c.a,a,d,a.hC());}if(b===u1){++c.c;return null;}else{return b;}}
-function t1(c,a){var b;if(ac(a,1)){b=d2(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(u1,cb);}else{b=c2(c.a,a,a.hC());}if(b===u1){return null;}else{--c.c;return b;}}
-function v1(e,c){n1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.E(a[f]);}}}}
-function w1(d,a){n1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=t0(c.substring(1),e);a.E(b);}}}
-function x1(f,h){n1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.gc();if(C1(h,d)){return true;}}}}return false;}
-function y1(a){return o1(this,a);}
-function z1(c,d){n1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(C1(d,a)){return true;}}}return false;}
-function A1(){n1();}
-function B1(){return q1(this);}
-function C1(a,b){n1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
-function F1(a){return r1(this,a);}
-function D1(f,h,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){return c.gc();}}}}
-function E1(b,a){n1();return b[':'+a];}
-function a2(f,h,j,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){var i=c.gc();c.ye(j);return i;}}}else{a=f[e]=[];}var c=t0(h,j);a.push(c);}
-function b2(c,a,d){n1();a=':'+a;var b=c[a];c[a]=d;return b;}
-function c2(f,h,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.gc();}}}}
-function d2(c,a){n1();a=':'+a;var b=c[a];delete c[a];return b;}
-function p0(){}
-_=p0.prototype=new EW();_.fb=y1;_.qb=B1;_.kc=F1;_.tN=fgc+'HashMap';_.tI=160;_.a=null;_.b=null;_.c=0;_.d=null;var u1;function r0(b,a,c){b.a=a;b.b=c;return b;}
-function t0(a,b){return r0(new q0(),a,b);}
-function u0(b){var a;if(ac(b,60)){a=Fb(b,60);if(C1(this.a,a.Ab())&&C1(this.b,a.gc())){return true;}}return false;}
-function v0(){return this.a;}
-function w0(){return this.b;}
-function x0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
-function y0(a){var b;b=this.b;this.b=a;return b;}
-function z0(){return this.a+'='+this.b;}
-function q0(){}
-_=q0.prototype=new gU();_.eQ=u0;_.Ab=v0;_.gc=w0;_.hC=x0;_.ye=y0;_.tS=z0;_.tN=fgc+'HashMap$EntryImpl';_.tI=161;_.a=null;_.b=null;function e1(b,a){b.a=a;return b;}
-function g1(a){return C0(new B0(),a.a);}
-function h1(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.Ab();if(o1(this.a,b)){d=r1(this.a,b);return C1(a.gc(),d);}}return false;}
-function i1(){return g1(this);}
-function j1(){return this.a.c;}
-function A0(){}
-_=A0.prototype=new hY();_.gb=h1;_.sc=i1;_.Ee=j1;_.tN=fgc+'HashMap$EntrySet';_.tI=162;function C0(c,b){var a;c.c=b;a=oY(new mY());if(c.c.b!==(n1(),u1)){qY(a,r0(new q0(),null,c.c.b));}w1(c.c.d,a);v1(c.c.a,a);c.a=a.sc();return c;}
-function E0(a){return a.a.mc();}
-function F0(a){return a.b=Fb(a.a.uc(),60);}
-function a1(a){if(a.b===null){throw eT(new dT(),'Must call next() before remove().');}else{a.a.ee();t1(a.c,a.b.Ab());a.b=null;}}
-function b1(){return E0(this);}
-function c1(){return F0(this);}
-function d1(){a1(this);}
-function B0(){}
-_=B0.prototype=new gU();_.mc=b1;_.uc=c1;_.ee=d1;_.tN=fgc+'HashMap$EntrySetIterator';_.tI=163;_.a=null;_.b=null;function f2(a){a.a=l1(new p0());return a;}
-function g2(c,a){var b;b=s1(c.a,a,rS(true));return b===null;}
-function i2(a){return cX(FX(a.a));}
-function j2(a){return g2(this,a);}
-function k2(a){return o1(this.a,a);}
-function l2(){return i2(this);}
-function m2(){return this.a.c;}
-function n2(){return FX(this.a).tS();}
-function e2(){}
-_=e2.prototype=new hY();_.E=j2;_.gb=k2;_.sc=l2;_.Ee=m2;_.tS=n2;_.tN=fgc+'HashSet';_.tI=164;_.a=null;function t2(b,a){mU(b,a);return b;}
-function s2(){}
-_=s2.prototype=new lU();_.tN=fgc+'NoSuchElementException';_.tI=165;function y2(a){a.a=oY(new mY());return a;}
-function z2(b,a){return qY(b.a,a);}
-function B2(a){return a.a.sc();}
-function C2(a,b){pY(this.a,a,b);}
-function D2(a){return z2(this,a);}
-function E2(a){return uY(this.a,a);}
-function F2(a){return vY(this.a,a);}
-function a3(){return B2(this);}
-function b3(a){return zY(this.a,a);}
-function c3(){return this.a.b;}
-function d3(){return this.a.af();}
-function x2(){}
-_=x2.prototype=new oW();_.D=C2;_.E=D2;_.gb=E2;_.jc=F2;_.sc=a3;_.fe=b3;_.Ee=c3;_.af=d3;_.tN=fgc+'Vector';_.tI=166;_.a=null;function e5(){e5=e3;g5=l1(new p0());}
-function d5(a){e5();return a;}
-function f5(){}
-function u4(){}
-_=u4.prototype=new mr();_.od=f5;_.tN=ggc+'JBRMSFeature';_.tI=167;var g5;function l3(){l3=e3;e5();}
-function k3(a){l3();d5(a);a.a=AJ(new mJ());a.a.De('100%');a.a.se('100%');BJ(a.a,j9(new t8()),"<img src='images/category_small.gif'/>Manage categories",true);BJ(a.a,A9(new m9()),"<img src='images/status_small.gif'/>Manage states",true);BJ(a.a,B7(new x6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);BJ(a.a,o8(new F7()),"<img src='images/backup_small.gif'/>Import Export",true);bK(a.a,0);or(a,a.a);return a;}
-function m3(){l3();return h3(new g3(),'Admin','Administer the repository');}
-function n3(){}
-function f3(){}
-_=f3.prototype=new u4();_.od=n3;_.tN=ggc+'AdminFeature';_.tI=168;_.a=null;function w4(c,b,a){c.c=b;c.a=a;return c;}
-function y4(a){if(a.b!==null)return a.b;return a.b=a.jb();}
-function v4(){}
-_=v4.prototype=new gU();_.tN=ggc+'JBRMSFeature$ComponentInfo';_.tI=169;_.a=null;_.b=null;_.c=null;function h3(c,a,b){w4(c,a,b);return c;}
-function j3(){return k3(new f3());}
-function g3(){}
-_=g3.prototype=new v4();_.jb=j3;_.tN=ggc+'AdminFeature$1';_.tI=170;function u3(){u3=e3;e5();}
-function t3(a){u3();d5(a);or(a,oKb(new wIb()));return a;}
-function v3(){u3();return q3(new p3(),'Deployment','Configure and view frozen snapshots of packages.');}
-function w3(){}
-function o3(){}
-_=o3.prototype=new u4();_.od=w3;_.tN=ggc+'DeploymentManagementFeature';_.tI=171;function q3(c,a,b){w4(c,a,b);return c;}
-function s3(){return t3(new o3());}
-function p3(){}
-_=p3.prototype=new v4();_.jb=s3;_.tN=ggc+'DeploymentManagementFeature$1';_.tI=172;function D3(){D3=e3;e5();}
-function C3(a){D3();d5(a);or(a,E3(a));return a;}
-function E3(a){a.a=Dv(new Bv(),'welcome.html');CN(a.a,'welcome-Page');a.a.Ae(true);return a.a;}
-function F3(){D3();return z3(new y3(),'Info','JBoss Rules Managment System.');}
-function a4(){}
-function x3(){}
-_=x3.prototype=new u4();_.od=a4;_.tN=ggc+'Info';_.tI=173;_.a=null;function z3(c,a,b){w4(c,a,b);return c;}
-function B3(){return C3(new x3());}
-function y3(){}
-_=y3.prototype=new v4();_.jb=B3;_.tN=ggc+'Info$1';_.tI=174;function l4(a){a.c=lz(new pw());a.d=E4(new C4());a.g=xs(new os());}
-function m4(a){l4(a);return a;}
-function n4(a){CXb(mMb(),d4(new c4(),a));}
-function p4(b,c){var a;a=b5(b.d,c);if(a===null){r4(b);return;}s4(b,a,false);}
-function q4(b){var a,c;B4(b.d);b.h=xs(new os());CN(b.h,'ks-Sink');c=pO(new nO());c.De('100%');qO(c,b.c);qO(c,b.h);CN(b.c,'ks-Info');ys(b.g,b.d,(zs(),dt));ys(b.g,c,(zs(),Fs));Ds(b.g,b.d,(Fz(),cA));Es(b.g,c,'100%');Bg(b);b.e=q5(new h5());b.f=b6(new t5());lp(qG(),b.e);lp(qG(),b.g);lp(qG(),b.f);b.f.De('100%');b.e.Ae(false);b.g.Ae(false);b.f.Ae(false);n4(b);a=Dg();if(dV(a)>0)p4(b,a);else r4(b);}
-function s4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){Bs(c.h,c.b);}c.b=y4(b);c5(c.d,b.c);pz(c.c,b.a);if(a)ah(b.c);ys(c.h,c.b,(zs(),Fs));Es(c.h,c.b,'100%');Ds(c.h,c.b,(Fz(),cA));c.b.od();}
-function r4(a){s4(a,b5(a.d,'Info'),false);}
-function t4(a){p4(this,a);}
-function b4(){}
-_=b4.prototype=new gU();_.dd=t4;_.tN=ggc+'JBRMSEntryPoint';_.tI=175;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function ycb(b,a){if(ac(a,69)){Acb();}else if(ac(a,70)){zbb(Fb(a,70));}else{ybb(a.Bb());}}
-function zcb(a){ycb(this,a);}
-function Acb(){var a;a=scb(new ncb(),'images/warning-large.png','Session expired');ucb(a,mz(new pw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));tE(a,40,40);wE(a);tdb();}
-function wcb(){}
-_=wcb.prototype=new gU();_.Fc=zcb;_.tN=jgc+'GenericCallback';_.tI=176;function d4(b,a){b.a=a;return b;}
-function f4(a){var b;b=Fb(a,1);if(b!==null){s5(this.a.e,b);this.a.e.Ae(true);this.a.g.Ae(true);this.a.f.Ae(false);}else{this.a.f.Ae(true);f6(this.a.f,h4(new g4(),this));}}
-function c4(){}
-_=c4.prototype=new wcb();_.rd=f4;_.tN=ggc+'JBRMSEntryPoint$1';_.tI=177;function h4(b,a){b.a=a;return b;}
-function j4(a){s5(a.a.a.e,e6(a.a.a.f));a.a.a.e.Ae(true);a.a.a.f.Ae(false);a.a.a.g.Ae(true);}
-function k4(){j4(this);}
-function g4(){}
-_=g4.prototype=new gU();_.rb=k4;_.tN=ggc+'JBRMSEntryPoint$2';_.tI=178;function B4(a){F4(a,F3());F4(a,w6());F4(a,n6());F4(a,v3());F4(a,m3());}
-function D4(a){a.a=pO(new nO());a.c=oY(new mY());}
-function E4(a){D4(a);or(a,a.a);CN(a,'ks-List');return a;}
-function F4(d,a){var b,c;c=a.c;b=rA(new pA(),c,c);CN(b,'ks-SinkItem');qO(d.a,b);qY(d.c,a);}
-function b5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(vY(d.c,a),61);if(FU(b.c,c))return b;}return null;}
-function c5(d,c){var a,b;if(d.b!=(-1))xN(fr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(vY(d.c,a),61);if(FU(b.c,c)){d.b=a;rN(fr(d.a,d.b),'ks-SinkItem-selected');return;}}}
-function C4(){}
-_=C4.prototype=new mr();_.tN=ggc+'JBRMSFeatureList';_.tI=179;_.b=(-1);function q5(a){a.a=lz(new pw());or(a,a.a);return a;}
-function s5(b,d){var a,c;a=rU(new qU());tU(a,"<div id='user_info'>");tU(a,'Welcome: &nbsp;'+d);tU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");tU(a,'<\/div>');pz(b.a,xU(a));c=j5(new i5(),b);mh(c,300000);}
-function h5(){}
-_=h5.prototype=new mr();_.tN=ggc+'LoggedInUserInfo';_.tI=180;_.a=null;function k5(){k5=e3;kh();}
-function j5(b,a){k5();ih(b);return b;}
-function l5(){CXb(mMb(),new m5());}
-function i5(){}
-_=i5.prototype=new dh();_.he=l5;_.tN=ggc+'LoggedInUserInfo$1';_.tI=181;function o5(a){}
-function p5(a){if(a===null){Acb();}}
-function m5(){}
-_=m5.prototype=new gU();_.Fc=o5;_.rd=p5;_.tN=ggc+'LoggedInUserInfo$2';_.tI=182;function b6(c){var a,b;c.a=dcb(new acb(),'images/login.gif','Please enter your details');c.c=bL(new sK());c.c.te(1);ecb(c.a,'User name:',c.c);b=fE(new eE());b.te(2);ecb(c.a,'Password:',b);a=yp(new sp(),'Login');a.te(3);ecb(c.a,'',a);a.z(v5(new u5(),c,b));or(c,c.a);c.c.qe(true);CN(c,'login-Form');return c;}
-function d6(c,a,d,b){pMb(zK(d),zK(b),D5(new C5(),c,a));}
-function e6(a){return zK(a.c);}
-function f6(b,a){b.b=a;}
-function t5(){}
-_=t5.prototype=new mr();_.tN=ggc+'LoginWidget';_.tI=183;_.a=null;_.b=null;_.c=null;function v5(b,a,c){b.a=a;b.b=c;return b;}
-function x5(a){xdb('Logging in...');fg(z5(new y5(),this,this.b));}
-function u5(){}
-_=u5.prototype=new gU();_.Bc=x5;_.tN=ggc+'LoginWidget$1';_.tI=184;function z5(b,a,c){b.a=a;b.b=c;return b;}
-function B5(){d6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
-function y5(){}
-_=y5.prototype=new gU();_.rb=B5;_.tN=ggc+'LoginWidget$2';_.tI=185;function D5(b,a,c){b.a=c;return b;}
-function F5(c,a){var b;tdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{j4(c.a);}}
-function a6(a){F5(this,a);}
-function C5(){}
-_=C5.prototype=new wcb();_.rd=a6;_.tN=ggc+'LoginWidget$3';_.tI=186;function m6(){m6=e3;e5();}
-function l6(b){var a;m6();d5(b);a=sIb(new lIb());vIb(a,g5);or(b,a);return b;}
-function n6(){m6();return i6(new h6(),'Packages','Configure and view packages of business rule assets.');}
-function o6(){}
-function g6(){}
-_=g6.prototype=new u4();_.od=o6;_.tN=ggc+'PackageManagementFeature';_.tI=187;function i6(c,a,b){w4(c,a,b);return c;}
-function k6(){return l6(new g6());}
-function h6(){}
-_=h6.prototype=new v4();_.jb=k6;_.tN=ggc+'PackageManagementFeature$1';_.tI=188;function v6(){v6=e3;e5();}
-function u6(b){var a;v6();d5(b);a=hcc(new dbc());lcc(a,g5);or(b,a);return b;}
-function w6(){v6();return r6(new q6(),'Rules','Find and edit rules.');}
-function p6(){}
-_=p6.prototype=new u4();_.tN=ggc+'RulesFeature';_.tI=189;function r6(c,a,b){w4(c,a,b);return c;}
-function t6(){return u6(new p6());}
-function q6(){}
-_=q6.prototype=new v4();_.jb=t6;_.tN=ggc+'RulesFeature$1';_.tI=190;function B7(a){var b;b=dcb(new acb(),'images/backup_large.png','Manage Archived Assets');a.a=hA(new fA());a.a.De('100%');hcb(b,a.a);a.b=kdc(new occ(),new y6(),'archivedrulelist');qdc(a.b,E7(a));iA(a.a,a.b);z7(E7(a));hcb(b,mz(new pw(),'<hr/>'));hcb(b,D7(a));or(a,b);return a;}
-function D7(d){var a,b,c,e;b=hA(new fA());c=yp(new sp(),'Refresh');c.z(C6(new B6(),d));e=yp(new sp(),'Unarchive');e.z(a7(new F6(),d));a=yp(new sp(),'Delete');a.z(j7(new i7(),d));iA(b,c);iA(b,e);iA(b,a);return b;}
-function E7(b){var a;a=s7(new r7(),b);return x7(new w7(),b,a);}
-function x6(){}
-_=x6.prototype=new mr();_.tN=hgc+'ArchivedAssetManager';_.tI=191;_.a=null;_.b=null;function A6(a){}
-function y6(){}
-_=y6.prototype=new gU();_.yd=A6;_.tN=hgc+'ArchivedAssetManager$1';_.tI=192;function C6(b,a){b.a=a;return b;}
-function E6(a){z7(E7(this.a));}
-function B6(){}
-_=B6.prototype=new gU();_.Bc=E6;_.tN=hgc+'ArchivedAssetManager$2';_.tI=193;function a7(b,a){b.a=a;return b;}
-function c7(a){qTb(nMb(),mdc(this.a.b),false,e7(new d7(),this));}
-function F6(){}
-_=F6.prototype=new gU();_.Bc=c7;_.tN=hgc+'ArchivedAssetManager$3';_.tI=194;function e7(b,a){b.a=a;return b;}
-function g7(b,a){z7(E7(b.a.a));zh('Done!');}
-function h7(a){g7(this,a);}
-function d7(){}
-_=d7.prototype=new wcb();_.rd=h7;_.tN=hgc+'ArchivedAssetManager$4';_.tI=195;function j7(b,a){b.a=a;return b;}
-function l7(a){qUb(nMb(),mdc(this.a.b),n7(new m7(),this));}
-function i7(){}
-_=i7.prototype=new gU();_.Bc=l7;_.tN=hgc+'ArchivedAssetManager$5';_.tI=196;function n7(b,a){b.a=a;return b;}
-function p7(b,a){z7(E7(b.a.a));zh('Done!');}
-function q7(a){p7(this,a);}
-function m7(){}
-_=m7.prototype=new wcb();_.rd=q7;_.tN=hgc+'ArchivedAssetManager$6';_.tI=197;function s7(b,a){b.a=a;return b;}
-function u7(c,a){var b;b=Fb(a,62);pdc(c.a.b,b);c.a.b.De('100%');tdb();}
-function v7(a){u7(this,a);}
-function r7(){}
-_=r7.prototype=new wcb();_.rd=v7;_.tN=hgc+'ArchivedAssetManager$7';_.tI=198;function x7(b,a,c){b.a=c;return b;}
-function z7(a){xdb('Loading list, please wait...');gUb(nMb(),a.a);}
-function A7(){z7(this);}
-function w7(){}
-_=w7.prototype=new gU();_.rb=A7;_.tN=hgc+'ArchivedAssetManager$8';_.tI=199;function o8(a){var b;b=dcb(new acb(),'images/backup_large.png','Import/Export');ecb(b,'',mz(new pw(),'<i>Import and Export rules repository<\/i>'));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Import from an xml file',s8(a));ecb(b,'Export to a zip file',r8(a));hcb(b,mz(new pw(),'<hr/>'));or(a,b);return a;}
-function q8(a){xdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');tdb();}
-function r8(c){var a,b;b=hA(new fA());a=yp(new sp(),'Export');a.z(b8(new a8(),c));iA(b,a);return b;}
-function s8(c){var a,b,d,e;e=ev(new Fu());kv(e,v()+'backup');lv(e,'multipart/form-data');mv(e,'post');b=hA(new fA());e.Ce(b);d=it(new ht());lt(d,'importFile');iA(b,d);iA(b,eC(new cC(),'import:'));a=Dcb(new Ccb(),'images/upload.gif');nB(a,f8(new e8(),c,e));iA(b,a);fv(e,k8(new j8(),c,d));return e;}
-function F7(){}
-_=F7.prototype=new mr();_.tN=hgc+'BackupManager';_.tI=200;function b8(b,a){b.a=a;return b;}
-function d8(a){q8(this.a);}
-function a8(){}
-_=a8.prototype=new gU();_.Bc=d8;_.tN=hgc+'BackupManager$1';_.tI=201;function f8(b,a,c){b.a=c;return b;}
-function h8(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){xdb('Importing repository, please wait, as this could take some time...');ov(b);}}
-function i8(a){h8(this,this.a);}
-function e8(){}
-_=e8.prototype=new gU();_.Bc=i8;_.tN=hgc+'BackupManager$2';_.tI=202;function k8(b,a,c){b.a=c;return b;}
-function n8(a){if(dV(kt(this.a))==0){zh('You did not specify an exported repository filename !');Av(a,true);}else if(!DU(kt(this.a),'.xml')){zh('Please specify a valid repository xml file.');Av(a,true);}}
-function m8(a){if(bV(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{ybb('Unable to import into the repository. Consult the server logs for error messages.');}tdb();}
-function j8(){}
-_=j8.prototype=new gU();_.qd=n8;_.pd=m8;_.tN=hgc+'BackupManager$3';_.tI=203;function i9(a){pO(new nO());}
-function j9(f){var a,b,c,d,e;i9(f);c=dcb(new acb(),'images/edit_category.gif','Edit categories');ecb(c,'',mz(new pw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=e_(new t$(),new u8());CN(f.a,'category-explorer-Admin');b=cH(new AG());CN(b,'metadata-Widget');eH(b,f.a);hcb(c,mz(new pw(),'<hr/>'));ecb(c,'Current categories:',b);e=Dcb(new Ccb(),'images/refresh.gif');e.ve('Refresh categories');nB(e,y8(new x8(),f));ecb(c,'Refresh view:',e);hcb(c,mz(new pw(),'<hr/>'));d=Dcb(new Ccb(),'images/new.gif');d.ve('Create a new category');nB(d,C8(new B8(),f));ecb(c,'Create a new category:',d);a=Dcb(new Ccb(),'images/delete_obj.gif');nB(a,a9(new F8(),f));a.ve("Deletes the currently selected category. You won't be able to delete if the category is in use.");ecb(c,'Delete the currently selected category:',a);or(f,c);return f;}
-function l9(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){rUb(nMb(),a.a.e,e9(new d9(),a));}}
-function t8(){}
-_=t8.prototype=new mr();_.tN=hgc+'CategoryManager';_.tI=204;_.a=null;function w8(a){}
-function u8(){}
-_=u8.prototype=new gU();_.je=w8;_.tN=hgc+'CategoryManager$1';_.tI=205;function y8(b,a){b.a=a;return b;}
-function A8(a){k_(this.a.a);}
-function x8(){}
-_=x8.prototype=new gU();_.Bc=A8;_.tN=hgc+'CategoryManager$2';_.tI=206;function C8(b,a){b.a=a;return b;}
-function E8(b){var a;a=o$(new F9(),this.a.a.e);tE(a,tN(b),uN(b)-400);wE(a);}
-function B8(){}
-_=B8.prototype=new gU();_.Bc=E8;_.tN=hgc+'CategoryManager$3';_.tI=207;function a9(b,a){b.a=a;return b;}
-function c9(a){l9(this.a);}
-function F8(){}
-_=F8.prototype=new gU();_.Bc=c9;_.tN=hgc+'CategoryManager$4';_.tI=208;function e9(b,a){b.a=a;return b;}
-function g9(b,a){k_(b.a.a);}
-function h9(a){g9(this,a);}
-function d9(){}
-_=d9.prototype=new wcb();_.rd=h9;_.tN=hgc+'CategoryManager$5';_.tI=209;function A9(b){var a;a=dcb(new acb(),'images/status_large.png','Manage statuses');ecb(a,'',mz(new pw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=uC(new mC());eD(b.a,7);b.a.De('50%');E9(b);ecb(a,'Current statuses:',b.a);ecb(a,'Add new status:',D9(b));or(b,a);return b;}
-function C9(b,a){xdb('Creating status');aUb(nMb(),zK(a),w9(new v9(),b,a));}
-function D9(d){var a,b,c;c=hA(new fA());a=bL(new sK());b=yp(new sp(),'Create');b.z(s9(new r9(),d,a));iA(c,a);iA(c,b);return c;}
-function E9(a){xdb('Loading statuses...');fUb(nMb(),o9(new n9(),a));}
-function m9(){}
-_=m9.prototype=new mr();_.tN=hgc+'StateManager';_.tI=210;_.a=null;function o9(b,a){b.a=a;return b;}
-function q9(a){var b,c;AC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){xC(this.a.a,c[b]);}tdb();}
-function n9(){}
-_=n9.prototype=new wcb();_.rd=q9;_.tN=hgc+'StateManager$1';_.tI=211;function s9(b,a,c){b.a=a;b.b=c;return b;}
-function u9(a){C9(this.a,this.b);}
-function r9(){}
-_=r9.prototype=new gU();_.Bc=u9;_.tN=hgc+'StateManager$2';_.tI=212;function w9(b,a,c){b.a=a;b.b=c;return b;}
-function y9(b,a){DK(b.b,'');E9(b.a);tdb();}
-function z9(a){y9(this,a);}
-function v9(){}
-_=v9.prototype=new wcb();_.rd=z9;_.tN=hgc+'StateManager$3';_.tI=213;function q$(){q$=e3;mE();}
-function n$(a){a.d=tt(new nt());a.b=bL(new sK());a.a=mK(new lK());}
-function o$(d,b){var a,c;q$();jE(d,true);n$(d);d.c=b;d.d.Be(0,0,Dcb(new Ccb(),'images/edit_category.gif'));d.d.Be(0,1,eC(new cC(),r$(d,d.c)));d.d.Be(1,0,eC(new cC(),'Cateogory name'));d.d.Be(1,1,d.b);rK(d.a,4);d.d.Be(2,0,eC(new cC(),'Description'));d.d.Be(2,1,d.a);c=yp(new sp(),'OK');c.z(b$(new a$(),d));d.d.Be(3,0,c);a=yp(new sp(),'Cancel');a.z(f$(new e$(),d));d.d.Be(3,1,a);eH(d,d.d);CN(d,'ks-popups-Popup');return d;}
-function p$(a){a.nc();}
-function r$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
-function s$(b){var a;a=j$(new i$(),b);if(FU('',zK(b.b))){ybb("Can't have an empty category name.");}else{CTb(nMb(),b.c,zK(b.b),zK(b.a),a);}}
-function F9(){}
-_=F9.prototype=new hE();_.tN=igc+'CategoryEditor';_.tI=214;_.c=null;function b$(b,a){b.a=a;return b;}
-function d$(a){s$(this.a);}
-function a$(){}
-_=a$.prototype=new gU();_.Bc=d$;_.tN=igc+'CategoryEditor$1';_.tI=215;function f$(b,a){b.a=a;return b;}
-function h$(a){p$(this.a);}
-function e$(){}
-_=e$.prototype=new gU();_.Bc=h$;_.tN=igc+'CategoryEditor$2';_.tI=216;function j$(b,a){b.a=a;return b;}
-function l$(b,a){if(Fb(a,55).a){b.a.nc();}else{ybb('Category was not successfully created. ');}}
-function m$(a){l$(this,a);}
-function i$(){}
-_=i$.prototype=new wcb();_.rd=m$;_.tN=igc+'CategoryEditor$3';_.tI=217;function d_(a){a.c=rM(new eL());a.d=pO(new nO());a.f=nMb();}
-function e_(b,a){d_(b);qO(b.d,b.c);b.a=a;j_(b);or(b,b.d);vM(b.c,b);CN(b,'category-explorer-Tree');return b;}
-function g_(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
-function h_(b,a){if(a.c.b==1&&ac(AL(a,0),64)){return false;}return true;}
-function i_(a){if(a.b!==null){a.b.Ae(false);}}
-function j_(a){uM(a.c,'Please wait...');iUb(a.f,'/',z$(new y$(),a));}
-function k_(a){eN(a.c);a.e=null;j_(a);}
-function l_(c){var a,b;if(c.b===null){b=kp(new jp());lp(b,mz(new pw(),'No categories created yet. Add some categories from the administration screen.'));a=yp(new sp(),'Refresh');a.z(v$(new u$(),c));lp(b,a);CN(b,'small-Text');c.b=b;qO(c.d,c.b);}c.b.Ae(true);}
-function m_(a){this.e=g_(this,a);this.a.je(this.e);}
-function n_(a){var b;if(h_(this,a)){return;}b=a;this.e=g_(this,a);iUb(this.f,this.e,D$(new C$(),this,b));}
-function t$(){}
-_=t$.prototype=new mr();_.td=m_;_.ud=n_;_.tN=igc+'CategoryExplorerWidget';_.tI=218;_.a=null;_.b=null;_.e=null;function v$(b,a){b.a=a;return b;}
-function x$(a){k_(this.a);}
-function u$(){}
-_=u$.prototype=new gU();_.Bc=x$;_.tN=igc+'CategoryExplorerWidget$1';_.tI=219;function z$(b,a){b.a=a;return b;}
-function B$(d){var a,b,c;this.a.e=null;eN(this.a.c);a=Fb(d,63);if(a.a==0){l_(this.a);}else{i_(this.a);}for(b=0;b<a.a;b++){c=wL(new uL());EL(c,'<img src="images/category_small.gif"/>'+a[b]);eM(c,a[b]);c.A(b_(new a_()));tM(this.a.c,c);}}
-function y$(){}
-_=y$.prototype=new wcb();_.rd=B$;_.tN=igc+'CategoryExplorerWidget$2';_.tI=220;function D$(b,a,c){b.a=c;return b;}
-function F$(e){var a,b,c,d;a=AL(this.a,0);if(ac(a,64)){this.a.ce(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=wL(new uL());EL(c,'<img src="images/category_small.gif"/>'+d[b]);eM(c,d[b]);c.A(b_(new a_()));this.a.A(c);}}
-function C$(){}
-_=C$.prototype=new wcb();_.rd=F$;_.tN=igc+'CategoryExplorerWidget$3';_.tI=221;function b_(a){xL(a,'Please wait...');return a;}
-function a_(){}
-_=a_.prototype=new uL();_.tN=igc+'CategoryExplorerWidget$PendingItem';_.tI=222;function q_(){q_=e3;r_=zb('[Ljava.lang.String;',609,1,['brl','dslr','xls']);t_=zb('[Ljava.lang.String;',609,1,['drl','rf','enumeration']);s_=zb('[Ljava.lang.String;',609,1,['function','dsl','jar','enumeration']);}
-function u_(a){q_();var b;for(b=0;b<s_.a;b++){if(FU(s_[b],a)){return true;}}return false;}
-var r_,s_,t_;function aab(){aab=e3;cL();}
-function E_(a){a.b=jE(new hE(),true);a.a=x_(new w_(),a);}
-function F_(b,a){aab();bL(b);E_(b);wK(b,b);DN(b.a,1);CN(b,'AutoCompleteTextBox');eH(b.b,b.a);rN(b.b,'AutoCompleteChoices');CN(b.a,'list');b.c=a;return b;}
-function bab(a){if(a.e&&CC(a.a)>0){DK(a,DC(a.a,EC(a.a)));}AC(a.a);a.b.nc();a.e=false;}
-function cab(e,a,b,c){var d;d=EC(e.a);d++;if(d>=CC(e.a)){d=0;}dD(e.a,d);}
-function dab(d,a,b,c){bab(d);}
-function eab(d,a,b,c){AC(d.a);d.b.nc();d.e=false;}
-function fab(b,a){if(0==dV(a)||0==CC(b.a)||1==CC(b.a)&&FU(DC(b.a,0),a)){AC(b.a);b.b.nc();b.e=false;}else{dD(b.a,0);eD(b.a,CC(b.a)+1);if(!b.d){lp(qG(),b.b);b.d=true;}wE(b.b);b.e=true;tE(b.b,tN(b),uN(b)+b.Eb());b.a.De(b.Fb()+'px');}}
-function gab(d,a,b,c){jab(d,zK(d));if(dV(zK(d))>0&&d.c!==null){xdc(d.c,zK(d),B_(new A_(),d));}}
-function hab(d,a,b,c){bab(d);}
-function iab(e,a,b,c){var d;d=EC(e.a);d--;if(d<0){d=CC(e.a)-1;}dD(e.a,d);}
-function jab(c,b){var a;a=0;while(a<CC(c.a)){if(hV(lV(DC(c.a,a)),lV(b))){++a;}else{cD(c.a,a);}}fab(c,b);}
-function kab(d,b,c){var a;AC(d.a);for(a=0;a<b.a;a++){xC(d.a,b[a]);}jab(d,c);}
-function lab(a,b,c){if(b==13){dab(this,a,b,c);}else if(b==9){hab(this,a,b,c);}else if(b==40){cab(this,a,b,c);}else if(b==38){iab(this,a,b,c);}else if(b==27){eab(this,a,b,c);}}
-function mab(a,b,c){}
-function nab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:gab(this,a,b,c);break;}}
-function v_(){}
-_=v_.prototype=new sK();_.ed=lab;_.fd=mab;_.gd=nab;_.tN=jgc+'AutoCompleteTextBoxAsync';_.tI=223;_.c=null;_.d=false;_.e=false;function y_(){y_=e3;BC();}
-function x_(b,a){y_();b.a=a;uC(b);return b;}
-function z_(a){if(1==xe(a)){bab(this.a);}}
-function w_(){}
-_=w_.prototype=new mC();_.yc=z_;_.tN=jgc+'AutoCompleteTextBoxAsync$1';_.tI=224;function B_(b,a){b.a=a;return b;}
-function D_(b,a){kab(b.a,a,zK(b.a));}
-function A_(){}
-_=A_.prototype=new gU();_.tN=jgc+'AutoCompleteTextBoxAsync$2';_.tI=225;function sab(a){a.j=true;}
-function tab(a){a.j=false;}
-function uab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
-function vab(){return this.j;}
-function qab(){}
-_=qab.prototype=new mr();_.rc=vab;_.tN=jgc+'DirtyableComposite';_.tI=226;_.j=false;function yab(a){a.b=oY(new mY());}
-function zab(a){tt(a);yab(a);return a;}
-function Bab(d){var a,b,c;for(c=d.b.sc();c.mc();){a=Fb(c.uc(),65);b=sy(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).rc())return true;if(ac(b,67))if(Fb(b,67).lc())return true;}return false;}
-function Cab(d,c,b,a){bz(d,c,b,a);if(ac(a,68)){pY(d.b,d.a++,zdb(new ydb(),c,b));}}
-function Dab(){return Bab(this);}
-function Eab(c,b,a){Cab(this,c,b,a);}
-function xab(){}
-_=xab.prototype=new nt();_.lc=Dab;_.Be=Eab;_.tN=jgc+'DirtyableFlexTable';_.tI=227;_.a=0;function abb(a){hA(a);return a;}
-function cbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=fr(c,b);if(ac(a,66))if(Fb(a,66).rc())return true;if(ac(a,67))if(Fb(a,67).lc())return true;}return false;}
-function dbb(){return cbb(this);}
-function Fab(){}
-_=Fab.prototype=new fA();_.lc=dbb;_.tN=jgc+'DirtyableHorizontalPane';_.tI=228;function fbb(a){pO(a);return a;}
-function hbb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=fr(this,b);if(ac(a,66))if(Fb(a,66).rc())return true;if(ac(a,67))if(Fb(a,67).lc())return true;}return false;}
-function ebb(){}
-_=ebb.prototype=new nO();_.lc=hbb;_.tN=jgc+'DirtyableVerticalPane';_.tI=229;function vbb(){vbb=e3;bs();}
-function sbb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=Dcb(new Ccb(),'images/close.gif');}
-function tbb(d,b,a){var c,e;vbb();Fr(d,true);sbb(d);jC(d.a,b);iA(d.c,mB(new wA(),'images/error_dialog.png'));e=pO(new nO());qO(e,d.a);iA(d.c,e);if(a!==null){ubb(d,e,a);}iA(d.c,d.b);c=d;nB(d.b,lbb(new kbb(),d,c));es(d,d.c);tE(d,40,40);CN(d,'rule-error-Popup');return d;}
-function ubb(e,c,b){var a,d,f;f=pO(new nO());qO(c,f);d=yp(new sp(),'Details');qO(f,d);a=eC(new cC(),b);a.Ae(false);qO(f,a);d.z(pbb(new obb(),e,a,d));}
-function wbb(a){jC(a.a,'');pE(a);}
-function xbb(){wbb(this);}
-function ybb(a){vbb();var b;b=tbb(new jbb(),a,null);tdb();wE(b);}
-function zbb(a){vbb();var b;b=tbb(new jbb(),a.b,a.a);tdb();wE(b);}
-function jbb(){}
-_=jbb.prototype=new Cr();_.nc=xbb;_.tN=jgc+'ErrorPopup';_.tI=230;function lbb(b,a,c){b.a=c;return b;}
-function nbb(a){wbb(this.a);}
-function kbb(){}
-_=kbb.prototype=new gU();_.Bc=nbb;_.tN=jgc+'ErrorPopup$1';_.tI=231;function pbb(b,a,c,d){b.a=c;b.b=d;return b;}
-function rbb(a){this.a.Ae(true);this.b.Ae(false);}
-function obb(){}
-_=obb.prototype=new gU();_.Bc=rbb;_.tN=jgc+'ErrorPopup$2';_.tI=232;function Bbb(b,a){b.a=a;return b;}
-function Dbb(a,b,c){}
-function Ebb(a,b,c){}
-function Fbb(a,b,c){this.a.rb();}
-function Abb(){}
-_=Abb.prototype=new gU();_.ed=Dbb;_.fd=Ebb;_.gd=Fbb;_.tN=jgc+'FieldEditListener';_.tI=233;_.a=null;function bcb(a){a.h=zab(new xab());a.g=wt(a.h);}
-function dcb(b,a,c){bcb(b);fcb(b,a,c);or(b,b.h);return b;}
-function ccb(a){bcb(a);or(a,a.h);return a;}
-function ecb(d,c,a){var b;b=mz(new pw(),'<b>'+c+'<\/b>');Cab(d.h,d.i,0,b);dx(d.g,d.i,0,(wz(),zz),(Fz(),cA));Cab(d.h,d.i,1,a);dx(d.g,d.i,1,(wz(),yz),(Fz(),cA));d.i++;}
-function fcb(c,a,d){var b;b=eC(new cC(),d);CN(b,'resource-name-Label');kcb(c,a,b);}
-function gcb(d,b,e,f){var a,c;c=eC(new cC(),e);CN(c,'resource-name-Label');a=hA(new fA());iA(a,c);iA(a,f);kcb(d,b,a);}
-function hcb(a,b){Cab(a.h,a.i,0,b);rt(a.g,a.i,0,2);a.i++;}
-function icb(a){a.i=0;jy(a.h);}
-function kcb(b,a,c){Cab(b.h,0,0,mB(new wA(),a));dx(b.g,0,0,(wz(),yz),(Fz(),cA));Cab(b.h,0,1,c);b.i++;}
-function lcb(c,b,a,d){Cab(c.h,b,a,d);}
-function mcb(){return Bab(this.h);}
-function acb(){}
-_=acb.prototype=new qab();_.rc=mcb;_.tN=jgc+'FormStyleLayout';_.tI=234;_.i=0;function vcb(){vcb=e3;mE();}
-function scb(c,b,d){var a;vcb();jE(c,true);c.i=dcb(new acb(),b,d);CN(c,'ks-popups-Popup');a=Dcb(new Ccb(),'images/close.gif');nB(a,pcb(new ocb(),c));lcb(c.i,0,2,a);eH(c,c.i);return c;}
-function tcb(b,a,c){ecb(b.i,a,c);}
-function ucb(a,b){hcb(a.i,b);}
-function ncb(){}
-_=ncb.prototype=new hE();_.tN=jgc+'FormStylePopup';_.tI=235;_.i=null;function pcb(b,a){b.a=a;return b;}
-function rcb(a){this.a.nc();}
-function ocb(){}
-_=ocb.prototype=new gU();_.Bc=rcb;_.tN=jgc+'FormStylePopup$1';_.tI=236;function Fcb(){Fcb=e3;pB();}
-function Dcb(b,a){Fcb();mB(b,a);CN(b,'image-Button');return b;}
-function Ecb(b,a,c){Fcb();mB(b,a);CN(b,'image-Button');b.ve(c);return b;}
-function Ccb(){}
-_=Ccb.prototype=new wA();_.tN=jgc+'ImageButton';_.tI=237;function fdb(c,d,b){var a;a=mB(new wA(),'images/information.gif');a.ve(b);nB(a,cdb(new bdb(),c,d,b));or(c,a);return c;}
-function adb(){}
-_=adb.prototype=new mr();_.tN=jgc+'InfoPopup';_.tI=238;function cdb(b,a,d,c){b.b=d;b.a=c;return b;}
-function edb(b){var a;a=scb(new ncb(),'images/information.gif',this.b);ucb(a,idb(new hdb(),this.a,'small-Text'));tE(a,tN(b),uN(b));wE(a);}
-function bdb(){}
-_=bdb.prototype=new gU();_.Bc=edb;_.tN=jgc+'InfoPopup$1';_.tI=239;function idb(c,a,b){eC(c,a);CN(c,b);return c;}
-function hdb(){}
-_=hdb.prototype=new cC();_.tN=jgc+'Lbl';_.tI=240;function rdb(){rdb=e3;mE();}
-function pdb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=mB(new wA(),'images/close.gif');}
-function qdb(a){rdb();jE(a,true);pdb(a);iA(a.c,a.a);iA(a.c,a.b);iA(a.c,mB(new wA(),'images/searching.gif'));nB(a.b,mdb(new ldb(),a));eH(a,a.c);tE(a,0,0);CN(a,'loading-Popup');return a;}
-function sdb(a){jC(a.a,'');pE(a);}
-function tdb(){rdb();sdb(udb());}
-function udb(){rdb();if(wdb===null){wdb=qdb(new kdb());}return wdb;}
-function vdb(){sdb(this);}
-function xdb(a){rdb();var b;b=udb();jC(b.a,a);wE(b);}
-function kdb(){}
-_=kdb.prototype=new hE();_.nc=vdb;_.tN=jgc+'LoadingPopup';_.tI=241;var wdb=null;function mdb(b,a){b.a=a;return b;}
-function odb(a){sdb(this.a);}
-function ldb(){}
-_=ldb.prototype=new gU();_.Bc=odb;_.tN=jgc+'LoadingPopup$1';_.tI=242;function zdb(c,b,a){c.b=b;c.a=a;return c;}
-function ydb(){}
-_=ydb.prototype=new gU();_.tN=jgc+'Pair';_.tI=243;_.a=0;_.b=0;function aeb(a){a.b=uC(new mC());dUb(nMb(),Ddb(new Cdb(),a));or(a,a.b);return a;}
-function ceb(a){return DC(a.b,EC(a.b));}
-function deb(b,a){b.a=a;}
-function Bdb(){}
-_=Bdb.prototype=new mr();_.tN=jgc+'RulePackageSelector';_.tI=244;_.a=null;_.b=null;function Ddb(b,a){b.a=a;return b;}
-function Fdb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){xC(this.a.b,b[a].j);if(this.a.a!==null&&FU(b[a].j,this.a.a)){dD(this.a.b,a);}}}
-function Cdb(){}
-_=Cdb.prototype=new wcb();_.rd=Fdb;_.tN=jgc+'RulePackageSelector$1';_.tI=245;function Ceb(){Ceb=e3;bs();}
-function Aeb(f,g,d){var a,b,c,e;Ceb();Fr(f,true);f.d=g;f.b=d;CN(f,'ks-popups-Popup');cs(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=hA(new fA());a=uC(new mC());xdb('Please wait...');fUb(nMb(),geb(new feb(),f,a));wC(a,keb(new jeb(),f,a));iA(c,a);e=yp(new sp(),'Change status');e.z(oeb(new neb(),f,a));iA(c,e);b=yp(new sp(),'Cancel');b.z(seb(new reb(),f));iA(c,b);es(f,c);return f;}
-function Beb(b,a){xdb('Updating status...');wTb(nMb(),b.d,b.c,b.b,web(new veb(),b));}
-function Deb(b,a){b.a=a;}
-function eeb(){}
-_=eeb.prototype=new Cr();_.tN=jgc+'StatusChangePopup';_.tI=246;_.a=null;_.b=false;_.c=null;_.d=null;function geb(b,a,c){b.a=c;return b;}
-function ieb(a){var b,c;c=Fb(a,63);xC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){xC(this.a,c[b]);}tdb();}
-function feb(){}
-_=feb.prototype=new wcb();_.rd=ieb;_.tN=jgc+'StatusChangePopup$1';_.tI=247;function keb(b,a,c){b.a=a;b.b=c;return b;}
-function meb(a){this.a.c=DC(this.b,EC(this.b));}
-function jeb(){}
-_=jeb.prototype=new gU();_.Ac=meb;_.tN=jgc+'StatusChangePopup$2';_.tI=248;function oeb(b,a,c){b.a=a;b.b=c;return b;}
-function qeb(b){var a;a=DC(this.b,EC(this.b));Beb(this.a,a);this.a.nc();}
-function neb(){}
-_=neb.prototype=new gU();_.Bc=qeb;_.tN=jgc+'StatusChangePopup$3';_.tI=249;function seb(b,a){b.a=a;return b;}
-function ueb(a){this.a.nc();}
-function reb(){}
-_=reb.prototype=new gU();_.Bc=ueb;_.tN=jgc+'StatusChangePopup$4';_.tI=250;function web(b,a){b.a=a;return b;}
-function yeb(b,a){b.a.a.rb();tdb();}
-function zeb(a){yeb(this,a);}
-function veb(){}
-_=veb.prototype=new wcb();_.rd=zeb;_.tN=jgc+'StatusChangePopup$5';_.tI=251;function afb(){afb=e3;vcb();}
-function Feb(c,b,a){afb();scb(c,'images/attention_needed.png',b);tcb(c,'Detail:',bfb(c,a));return c;}
-function bfb(c,b){var a;a=mK(new lK());CN(a,'editable-Surface');rK(a,12);DK(a,b);a.De('100%');return a;}
-function Eeb(){}
-_=Eeb.prototype=new ncb();_.tN=jgc+'ValidationMessageWidget';_.tI=252;function jfb(){jfb=e3;mE();}
-function hfb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=yp(new sp(),'OK');}
-function ifb(b,c,d){var a;jfb();jE(b,true);hfb(b);tE(b,c,d);iA(b.c,b.a);iA(b.c,b.b);a=b;b.b.z(efb(new dfb(),b,a));eH(b,b.c);CN(b,'rule-warning-Popup');return b;}
-function kfb(a){jC(a.a,'');pE(a);}
-function lfb(){kfb(this);}
-function mfb(a,c,d){jfb();var b;b=ifb(new cfb(),c,d);jC(b.a,a);wE(b);}
-function cfb(){}
-_=cfb.prototype=new hE();_.nc=lfb;_.tN=jgc+'WarningPopup';_.tI=253;function efb(b,a,c){b.a=c;return b;}
-function gfb(a){kfb(this.a);}
-function dfb(){}
-_=dfb.prototype=new gU();_.Bc=gfb;_.tN=jgc+'WarningPopup$1';_.tI=254;function xfb(){xfb=e3;bs();}
-function wfb(d,b,f){var a,c,e;xfb();Er(d);ds(d,b);e=yp(new sp(),'Yes');c=yp(new sp(),'No');e.z(pfb(new ofb(),d,f));c.z(tfb(new sfb(),d));a=hA(new fA());iA(a,e);iA(a,c);es(d,a);return d;}
-function nfb(){}
-_=nfb.prototype=new Cr();_.tN=jgc+'YesNoDialog';_.tI=255;function pfb(b,a,c){b.a=a;b.b=c;return b;}
-function rfb(a){this.b.rb();this.a.nc();}
-function ofb(){}
-_=ofb.prototype=new gU();_.Bc=rfb;_.tN=jgc+'YesNoDialog$1';_.tI=256;function tfb(b,a){b.a=a;return b;}
-function vfb(a){this.a.nc();}
-function sfb(){}
-_=sfb.prototype=new gU();_.Bc=vfb;_.tN=jgc+'YesNoDialog$2';_.tI=257;function xxb(b,a,c){b.e=c;b.a=a;Cxb(b,a.e,a.d.n);Bxb(b);return b;}
-function yxb(b,a){hcb(b.c,a);}
-function Axb(c,a,d){var b;b=bL(new sK());BK(b,a);DK(b,d);b.Ae(false);return b;}
-function Bxb(a){fv(a.b,txb(new sxb(),a));}
-function Cxb(d,f,c){var a,b,e;d.b=ev(new Fu());kv(d.b,v()+'asset');lv(d.b,'multipart/form-data');mv(d.b,'post');e=it(new ht());lt(e,'fileUploadElement');b=hA(new fA());iA(b,Axb(d,'attachmentUUID',f));d.d=Ecb(new Ccb(),'images/upload.gif','Upload');iA(b,e);iA(b,eC(new cC(),'upload:'));iA(b,d.d);eH(d.b,b);d.c=dcb(new acb(),d.xb(),c);if(!d.a.c)ecb(d.c,'Upload new version:',d.b);a=yp(new sp(),'Download');a.z(lxb(new kxb(),d,f));ecb(d.c,'Download current version:',a);nB(d.d,pxb(new oxb(),d));or(d,d.c);d.c.De('100%');CN(d,d.ac());}
-function Dxb(a){xdb('Uploading...');}
-function Exb(a){ov(a.b);}
-function jxb(){}
-_=jxb.prototype=new mr();_.tN=ogc+'AssetAttachmentFileWidget';_.tI=258;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function zfb(b,a,c){xxb(b,a,c);yxb(b,mz(new pw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
-function Bfb(){return 'images/decision_table.png';}
-function Cfb(){return 'decision-Table-upload';}
-function yfb(){}
-_=yfb.prototype=new jxb();_.xb=Bfb;_.ac=Cfb;_.tN=kgc+'DecisionTableXLSWidget';_.tI=259;function Efb(){Efb=e3;ggb=l1(new p0());bgb=l1(new p0());agb=l1(new p0());Ffb=zb('[Ljava.lang.String;',609,1,['not','exists','or']);{s1(ggb,'==','is equal to');s1(ggb,'!=','is not equal to');s1(ggb,'<','is less than');s1(ggb,'<=','less than or equal to');s1(ggb,'>','greater than');s1(ggb,'>=','greater than or equal to');s1(ggb,'|| ==','or equal to');s1(ggb,'|| !=','or not equal to');s1(ggb,'&& !=','and not equal to');s1(ggb,'&& >','and greater than');s1(ggb,'&& <','and less than');s1(ggb,'|| >','or greater than');s1(ggb,'|| <','or less than');s1(ggb,'&& <','and less than');s1(ggb,'|| >=','or greater than (or equal to)');s1(ggb,'|| <=','or less than (or equal to)');s1(ggb,'&& >=','and greater than (or equal to)');s1(ggb,'&& <=','or less than (or equal to)');s1(ggb,'&& contains','and contains');s1(ggb,'|| contains','or contains');s1(ggb,'&& matches','and matches');s1(ggb,'|| matches','or mat!
 ches');s1(ggb,'|| excludes','or excludes');s1(ggb,'&& excludes','and excludes');s1(ggb,'soundslike','sounds like');s1(bgb,'not','There is no');s1(bgb,'exists','There exists');s1(bgb,'or','Any of');s1(agb,'assert','Insert');s1(agb,'assertLogical','Logically insert');s1(agb,'retract','Retract');s1(agb,'set','Set');s1(agb,'modify','Modify');}}
-function cgb(a){Efb();return fgb(a,agb);}
-function dgb(a){Efb();return fgb(a,bgb);}
-function egb(a){Efb();return fgb(a,ggb);}
-function fgb(a,b){Efb();if(o1(b,a)){return Fb(r1(b,a),1);}else{return a;}}
-var Ffb,agb,bgb,ggb;function kgb(){kgb=e3;Egb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=']);ahb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);Cgb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);Agb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);Fgb=zb('[Ljava.lang.String;',609,1,['==','!=']);Dgb=zb('[Ljava.lang.String;',609,1,['==','!=','<','>','<=','>=']);bhb=zb('[Ljava.lang.String;',609,1,['==','!=','matches','soundslike']);Bgb=zb('[Ljava.lang.String;',609,1,['contains','excludes','==','!=']);}
-function igb(a){a.h=l1(new p0());a.c=l1(new p0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[615],[14],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[615],[14],[0],null);}
-function jgb(a){kgb();igb(a);return a;}
-function lgb(c,a,b){var d;d=Fb(c.f.kc(a+'.'+b),1);if(d===null){return Egb;}else if(FU(d,'String')){return ahb;}else if(FU(d,'Comparable')||FU(d,'Numeric')){return Cgb;}else if(FU(d,'Collection')){return Agb;}else{return Egb;}}
-function ngb(i,g,d){var a,b,c,e,f,h,j;c=ugb(i);j=Fb(r1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(FU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.kc(f),63);}}}}return Fb(i.c.kc(g.c+'.'+d),63);}
-function mgb(f,g,a,c){var b,d,e,h,i;b=ugb(f);h=Fb(r1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(FU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.kc(e),63);}}}return Fb(f.c.kc(g+'.'+c),63);}
-function pgb(b,a){return Fb(b.g.kc(a),63);}
-function ogb(a,c){var b;b=Fb(a.h.kc(c),1);return Fb(a.g.kc(b),63);}
-function qgb(c,a,b){return Fb(c.f.kc(a+'.'+b),1);}
-function rgb(a){return vgb(a,a.h.tc());}
-function sgb(c,a,b){var d;d=Fb(c.f.kc(a+'.'+b),1);if(d===null){return Fgb;}else if(FU(d,'String')){return bhb;}else if(FU(d,'Comparable')||FU(d,'Numeric')){return Dgb;}else if(FU(d,'Collection')){return Bgb;}else{return Fgb;}}
-function tgb(a,b){return a.h.fb(b);}
-function ugb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=l1(new p0());e=g.c.tc();for(b=cX(e);jX(b);){d=Fb(kX(b),1);if(aV(d,91)!=(-1)){c=aV(d,91);a=jV(d,0,c);f=jV(d,c+1,aV(d,93));h=jV(f,0,aV(f,61));s1(g.d,a,h);}}}return g.d;}
-function vgb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[609],[1],[d.b.a.c],null);b=0;for(c=cX(d);jX(c);){a[b]=Fb(kX(c),1);b++;}return a;}
-function hgb(){}
-_=hgb.prototype=new gU();_.tN=lgc+'SuggestionCompletionEngine';_.tI=260;_.d=null;_.e=null;_.f=null;_.g=null;var Agb,Bgb,Cgb,Dgb,Egb,Fgb,ahb,bhb;function ygb(b,a){a.a=Fb(b.Fd(),72);a.b=Fb(b.Fd(),72);a.c=Fb(b.Fd(),57);a.e=Fb(b.Fd(),63);a.f=Fb(b.Fd(),57);a.g=Fb(b.Fd(),57);a.h=Fb(b.Fd(),57);}
-function zgb(b,a){b.hf(a.a);b.hf(a.b);b.hf(a.c);b.hf(a.e);b.hf(a.f);b.hf(a.g);b.hf(a.h);}
-function dhb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[619],[18],[0],null);}
-function ehb(a){dhb(a);return a;}
-function fhb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[619],[18],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[619],[18],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
-function hhb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[619],[18],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
-function chb(){}
-_=chb.prototype=new gU();_.tN=mgc+'ActionFieldList';_.tI=261;function khb(b,a){a.b=Fb(b.Fd(),73);}
-function lhb(b,a){b.hf(a.b);}
-function nhb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function mhb(){}
-_=mhb.prototype=new gU();_.tN=mgc+'ActionFieldValue';_.tI=262;_.a=null;_.b=null;_.c=null;function rhb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();}
-function shb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);}
-function vhb(a,b){ehb(a);a.a=b;return a;}
-function uhb(a){ehb(a);return a;}
-function thb(){}
-_=thb.prototype=new chb();_.tN=mgc+'ActionInsertFact';_.tI=263;_.a=null;function zhb(b,a){a.a=b.ae();khb(b,a);}
-function Ahb(b,a){b.jf(a.a);lhb(b,a);}
-function Dhb(b,a){vhb(b,a);return b;}
-function Chb(a){uhb(a);return a;}
-function Bhb(){}
-_=Bhb.prototype=new thb();_.tN=mgc+'ActionInsertLogicalFact';_.tI=264;function bib(b,a){zhb(b,a);}
-function cib(b,a){Ahb(b,a);}
-function eib(a,b){a.a=b;return a;}
-function dib(){}
-_=dib.prototype=new gU();_.tN=mgc+'ActionRetractFact';_.tI=265;_.a=null;function iib(b,a){a.a=b.ae();}
-function jib(b,a){b.jf(a.a);}
-function mib(a,b){ehb(a);a.a=b;return a;}
-function lib(a){ehb(a);return a;}
-function kib(){}
-_=kib.prototype=new chb();_.tN=mgc+'ActionSetField';_.tI=266;_.a=null;function qib(b,a){a.a=b.ae();khb(b,a);}
-function rib(b,a){b.jf(a.a);lhb(b,a);}
-function uib(b,a){mib(b,a);return b;}
-function tib(a){lib(a);return a;}
-function sib(){}
-_=sib.prototype=new kib();_.tN=mgc+'ActionUpdateField';_.tI=267;function yib(b,a){qib(b,a);}
-function zib(b,a){rib(b,a);}
-function Bib(a,b){a.b=b;return a;}
-function Cib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[617],[16],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[617],[16],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
-function Aib(){}
-_=Aib.prototype=new gU();_.tN=mgc+'CompositeFactPattern';_.tI=268;_.a=null;_.b=null;function ajb(b,a){a.a=Fb(b.Fd(),74);a.b=b.ae();}
-function bjb(b,a){b.hf(a.a);b.jf(a.b);}
-function djb(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[618],[17],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[618],[17],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
-function fjb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[618],[17],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
-function cjb(){}
-_=cjb.prototype=new gU();_.tN=mgc+'CompositeFieldConstraint';_.tI=269;_.a=null;_.b=null;function ijb(b,a){a.a=b.ae();a.b=Fb(b.Fd(),75);}
-function jjb(b,a){b.jf(a.a);b.hf(a.b);}
-function hkb(){}
-_=hkb.prototype=new gU();_.tN=mgc+'ISingleFieldConstraint';_.tI=270;_.e=0;_.f=null;function kjb(){}
-_=kjb.prototype=new hkb();_.tN=mgc+'ConnectiveConstraint';_.tI=271;_.a=null;function ojb(b,a){a.a=b.ae();lkb(b,a);}
-function pjb(b,a){b.jf(a.a);mkb(b,a);}
-function sjb(b){var a;a=new qjb();a.a=b.a;return a;}
-function tjb(e){var a,b,c,d;b=kV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
-function yjb(){return tjb(this);}
-function qjb(){}
-_=qjb.prototype=new gU();_.tS=yjb;_.tN=mgc+'DSLSentence';_.tI=272;_.a=null;function wjb(b,a){a.a=b.ae();}
-function xjb(b,a){b.jf(a.a);}
-function Ajb(b,a){b.c=a;return b;}
-function Bjb(b,a){if(b.b===null)b.b=new cjb();djb(b.b,a);}
-function Djb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[618],[17],[0],null);}else{return a.b.b;}}
-function Ejb(a){if(a.a!==null&& !FU('',a.a)){return true;}else{return false;}}
-function Fjb(b,a){fjb(b.b,a);}
-function zjb(){}
-_=zjb.prototype=new gU();_.tN=mgc+'FactPattern';_.tI=273;_.a=null;_.b=null;_.c=null;function ckb(b,a){a.a=b.ae();a.b=Fb(b.Fd(),31);a.c=b.ae();}
-function dkb(b,a){b.jf(a.a);b.hf(a.b);b.jf(a.c);}
-function lkb(b,a){a.e=b.Dd();a.f=b.ae();}
-function mkb(b,a){b.ff(a.e);b.jf(a.f);}
-function pkb(b,a,c){b.a=a;b.b=c;return b;}
-function vkb(){var a;a=rU(new qU());tU(a,this.a);if(FU('no-loop',this.a)){tU(a,' ');tU(a,this.b===null?'true':this.b);}else if(FU('salience',this.a)){tU(a,' ');tU(a,this.b);}else if(this.b!==null){tU(a,' "');tU(a,this.b);tU(a,'"');}return xU(a);}
-function okb(){}
-_=okb.prototype=new gU();_.tS=vkb;_.tN=mgc+'RuleAttribute';_.tI=274;_.a=null;_.b=null;function tkb(b,a){a.a=b.ae();a.b=b.ae();}
-function ukb(b,a){b.jf(a.a);b.jf(a.b);}
-function xkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[623],[21],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[624],[22],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[625],[23],[0],null);}
-function ykb(a){xkb(a);return a;}
-function zkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[623],[21],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function Akb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[624],[22],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[624],[22],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
-function Bkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[625],[23],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[625],[23],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
-function Dkb(h){var a,b,c,d,e,f,g;g=oY(new mY());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,16)){b=Fb(f,16);if(Ejb(b)){qY(g,b.a);}for(e=0;e<Djb(b).a;e++){c=Djb(b)[e];if(ac(c,32)){a=Fb(c,32);if(olb(a)){qY(g,a.b);}}}}}return g;}
-function Ekb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],16)){b=Fb(c.b[a],16);if(b.a!==null&&FU(d,b.a)){return b;}}}return null;}
-function Fkb(d){var a,b,c;if(d.b===null){return null;}b=oY(new mY());for(a=0;a<d.b.a;a++){if(ac(d.b[a],16)){c=Fb(d.b[a],16);if(c.a!==null){qY(b,c.a);}}}return b;}
-function alb(k,b){var a,c,d,e,f,g,h,i,j;j=oY(new mY());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,16)){d=Fb(i,16);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(olb(a)){qY(j,a.b);}}}}if(Ejb(d)){qY(j,d.a);}}else{if(Ejb(d)){qY(j,d.a);}}}}return j;}
-function blb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],28)){d=Fb(e.e[b],28);if(FU(d.a,a)){return true;}}else if(ac(e.e[b],27)){c=Fb(e.e[b],27);if(FU(c.a,a)){return true;}}}return false;}
-function clb(b,a){return uY(Dkb(b),a);}
-function dlb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[623],[21],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function elb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[624],[22],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],16)){e=Fb(f.b[a],16);if(e.a!==null&&blb(f,e.a)){return false;}}}}f.b=d;return true;}
-function flb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[625],[23],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
-function wkb(){}
-_=wkb.prototype=new gU();_.tN=mgc+'RuleModel';_.tI=275;_.c='1.0';_.d=null;function ilb(b,a){a.a=Fb(b.Fd(),76);a.b=Fb(b.Fd(),77);a.c=b.ae();a.d=b.ae();a.e=Fb(b.Fd(),78);}
-function jlb(b,a){b.hf(a.a);b.hf(a.b);b.jf(a.c);b.jf(a.d);b.hf(a.e);}
-function llb(b,a){b.c=a;return b;}
-function mlb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',616,15,[new kjb()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[616],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new kjb();c.a=b;}}
-function olb(a){if(a.b!==null&& !FU('',a.b)){return true;}else{return false;}}
-function klb(){}
-_=klb.prototype=new hkb();_.tN=mgc+'SingleFieldConstraint';_.tI=276;_.a=null;_.b=null;_.c=null;_.d=null;function rlb(b,a){a.a=Fb(b.Fd(),79);a.b=b.ae();a.c=b.ae();a.d=b.ae();lkb(b,a);}
-function slb(b,a){b.hf(a.a);b.jf(a.b);b.jf(a.c);b.jf(a.d);mkb(b,a);}
-function mmb(d,b,c,a){d.e=c;d.a=a;d.d=zab(new xab());d.f=b;d.b=c.a;d.c=pgb(d.a,c.a);CN(d.d,'model-builderInner-Background');omb(d);or(d,d.d);return d;}
-function omb(e){var a,b,c,d,f;jy(e.d);Cab(e.d,0,0,qmb(e));c=zab(new xab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];Cab(c,a,0,pmb(e,f));Cab(c,a,1,smb(e,f));b=a;d=Dcb(new Ccb(),'images/delete_item_small.gif');nB(d,vlb(new ulb(),e,b));Cab(c,a,2,d);}Cab(e.d,0,1,c);}
-function pmb(a,b){return eC(new cC(),b.a);}
-function qmb(d){var a,b,c;c=hA(new fA());b=Dcb(new Ccb(),'images/add_field_to_fact.gif');b.ve('Add another field to this so you can set its value.');nB(b,fmb(new emb(),d));a='assert';if(ac(d.e,26)){a='assertLogical';}iA(c,idb(new hdb(),cgb(a)+' '+d.e.a,'modeller-action-Label'));iA(c,b);return c;}
-function rmb(d,e){var a,b,c;c=scb(new ncb(),'images/newex_wiz.gif','Add a field');CN(c,'ks-popups-Popup');a=uC(new mC());xC(a,'...');for(b=0;b<d.c.a;b++){xC(a,d.c[b]);}dD(a,0);tcb(c,'Add field',a);wC(a,jmb(new imb(),d,a,c));tE(c,tN(e),uN(e));wE(c);}
-function smb(c,d){var a,b;b=mgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return gqb(d.c,Dlb(new Clb(),c,d),b);}else{a=bL(new sK());DK(a,d.c);vK(a,bmb(new amb(),c,d,a));if(FU(d.b,'Numeric')){wK(a,aob(a));}return a;}}
-function tlb(){}
-_=tlb.prototype=new qab();_.tN=ngc+'ActionInsertFactWidget';_.tI=277;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function vlb(b,a,c){b.a=a;b.b=c;return b;}
-function xlb(b){var a;a=wfb(new nfb(),'Remove this item?',zlb(new ylb(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
-function ulb(){}
-_=ulb.prototype=new gU();_.Bc=xlb;_.tN=ngc+'ActionInsertFactWidget$1';_.tI=278;function zlb(b,a,c){b.a=a;b.b=c;return b;}
-function Blb(){hhb(this.a.a.e,this.b);axb(this.a.a.f);}
-function ylb(){}
-_=ylb.prototype=new gU();_.rb=Blb;_.tN=ngc+'ActionInsertFactWidget$2';_.tI=279;function Dlb(b,a,c){b.a=c;return b;}
-function Flb(a){this.a.c=a;}
-function Clb(){}
-_=Clb.prototype=new gU();_.cf=Flb;_.tN=ngc+'ActionInsertFactWidget$3';_.tI=280;function bmb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function dmb(a){this.c.c=zK(this.b);axb(this.a.f);}
-function amb(){}
-_=amb.prototype=new gU();_.Ac=dmb;_.tN=ngc+'ActionInsertFactWidget$4';_.tI=281;function fmb(b,a){b.a=a;return b;}
-function hmb(a){rmb(this.a,a);}
-function emb(){}
-_=emb.prototype=new gU();_.Bc=hmb;_.tN=ngc+'ActionInsertFactWidget$5';_.tI=282;function jmb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function lmb(c){var a,b;a=DC(this.b,EC(this.b));b=qgb(this.a.a,this.a.e.a,a);fhb(this.a.e,nhb(new mhb(),a,'',b));axb(this.a.f);this.c.nc();}
-function imb(){}
-_=imb.prototype=new gU();_.Ac=lmb;_.tN=ngc+'ActionInsertFactWidget$6';_.tI=283;function umb(c,a,b){c.a=tt(new nt());CN(c.a,'model-builderInner-Background');c.a.Be(0,0,idb(new hdb(),cgb('retract'),'modeller-action-Label'));c.a.Be(0,1,idb(new hdb(),'['+b.a+']','modeller-action-Label'));or(c,c.a);return c;}
-function tmb(){}
-_=tmb.prototype=new mr();_.tN=ngc+'ActionRetractFactWidget';_.tI=284;_.a=null;function znb(e,b,d,a){var c;e.d=d;e.a=a;e.c=zab(new xab());e.e=b;CN(e.c,'model-builderInner-Background');if(tgb(e.a,d.a)){e.b=ogb(e.a,d.a);e.f=Fb(e.a.h.kc(d.a),1);}else{c=Ekb(b.c,d.a);e.b=pgb(e.a,c.c);e.f=c.c;}Bnb(e);or(e,e.c);return e;}
-function Bnb(e){var a,b,c,d,f;jy(e.c);Cab(e.c,0,0,Dnb(e));c=zab(new xab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];Cab(c,a,0,Cnb(e,f));Cab(c,a,1,Fnb(e,f));b=a;d=Dcb(new Ccb(),'images/delete_item_small.gif');nB(d,ymb(new xmb(),e,b));Cab(c,a,2,d);}Cab(e.c,0,1,c);}
-function Cnb(a,b){return eC(new cC(),b.a);}
-function Dnb(d){var a,b,c;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve('Add another field to this so you can set its value.');nB(a,anb(new Fmb(),d));c='set';if(ac(d.d,29)){c='modify';}iA(b,idb(new hdb(),cgb(c)+' ['+d.d.a+']','modeller-action-Label'));iA(b,a);return b;}
-function Enb(d,e){var a,b,c;c=scb(new ncb(),'images/newex_wiz.gif','Add a field');CN(c,'ks-popups-Popup');a=uC(new mC());xC(a,'...');for(b=0;b<d.b.a;b++){xC(a,d.b[b]);}dD(a,0);tcb(c,'Add field',a);wC(a,enb(new dnb(),d,a,c));tE(c,tN(e),uN(e));wE(c);}
-function Fnb(d,f){var a,b,c,e;e='';if(tgb(d.a,d.d.a)){e=Fb(d.a.h.kc(d.d.a),1);}else{e=Ekb(d.e.c,d.d.a).c;}b=mgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return gqb(f.c,inb(new hnb(),d,f),b);}else{c=cH(new AG());a=bL(new sK());DK(a,f.c);if(dV(f.c)!=0){dL(a,dV(f.c));}if(FU(f.b,'Numeric')){wK(a,aob(a));}vK(a,mnb(new lnb(),d,f,a));wK(a,Bbb(new Abb(),qnb(new pnb(),d,a)));eH(c,a);return c;}}
-function aob(a){return unb(new tnb(),a);}
-function bob(){return Bab(this.c);}
-function wmb(){}
-_=wmb.prototype=new qab();_.rc=bob;_.tN=ngc+'ActionSetFieldWidget';_.tI=285;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ymb(b,a,c){b.a=a;b.b=c;return b;}
-function Amb(b){var a;a=wfb(new nfb(),'Remove this item?',Cmb(new Bmb(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
-function xmb(){}
-_=xmb.prototype=new gU();_.Bc=Amb;_.tN=ngc+'ActionSetFieldWidget$1';_.tI=286;function Cmb(b,a,c){b.a=a;b.b=c;return b;}
-function Emb(){hhb(this.a.a.d,this.b);axb(this.a.a.e);}
-function Bmb(){}
-_=Bmb.prototype=new gU();_.rb=Emb;_.tN=ngc+'ActionSetFieldWidget$2';_.tI=287;function anb(b,a){b.a=a;return b;}
-function cnb(a){Enb(this.a,a);}
-function Fmb(){}
-_=Fmb.prototype=new gU();_.Bc=cnb;_.tN=ngc+'ActionSetFieldWidget$3';_.tI=288;function enb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function gnb(c){var a,b;a=DC(this.b,EC(this.b));b=qgb(this.a.a,this.a.f,a);fhb(this.a.d,nhb(new mhb(),a,'',b));axb(this.a.e);this.c.nc();}
-function dnb(){}
-_=dnb.prototype=new gU();_.Ac=gnb;_.tN=ngc+'ActionSetFieldWidget$4';_.tI=289;function inb(b,a,c){b.a=c;return b;}
-function knb(a){this.a.c=a;}
-function hnb(){}
-_=hnb.prototype=new gU();_.cf=knb;_.tN=ngc+'ActionSetFieldWidget$5';_.tI=290;function mnb(b,a,d,c){b.b=d;b.a=c;return b;}
-function onb(a){this.b.c=zK(this.a);}
-function lnb(){}
-_=lnb.prototype=new gU();_.Ac=onb;_.tN=ngc+'ActionSetFieldWidget$6';_.tI=291;function qnb(b,a,c){b.a=c;return b;}
-function snb(){dL(this.a,dV(zK(this.a)));}
-function pnb(){}
-_=pnb.prototype=new gU();_.rb=snb;_.tN=ngc+'ActionSetFieldWidget$7';_.tI=292;function unb(a,b){a.a=b;return a;}
-function wnb(a,b,c){}
-function xnb(c,a,b){if(wS(a)&&a!=61&& !hV(zK(this.a),'=')){xK(Fb(c,80));}}
-function ynb(a,b,c){}
-function tnb(){}
-_=tnb.prototype=new gU();_.ed=wnb;_.fd=xnb;_.gd=ynb;_.tN=ngc+'ActionSetFieldWidget$8';_.tI=293;function lob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=zab(new xab());CN(d.b,'model-builderInner-Background');nob(d);or(d,d.b);return d;}
-function nob(c){var a,b,d;Cab(c.b,0,0,oob(c));if(c.d.a!==null){d=fbb(new ebb());a=c.d.a;for(b=0;b<a.a;b++){qO(d,Esb(new Cqb(),c.c,a[b],c.a,false));}Cab(c.b,0,1,d);}}
-function oob(c){var a,b;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");nB(a,eob(new dob(),c));iA(b,eC(new cC(),dgb(c.d.b)));iA(b,a);CN(b,'modeller-composite-Label');return b;}
-function pob(e,f){var a,b,c,d;a=uC(new mC());b=e.a.e;xC(a,'Choose...');for(c=0;c<b.a;c++){xC(a,b[c]);}dD(a,0);d=scb(new ncb(),'images/new_fact.gif','New fact pattern...');tcb(d,'choose fact type',a);wC(a,iob(new hob(),e,a,d));CN(d,'ks-popups-Popup');tE(d,tN(f)-400,uN(f));wE(d);}
-function qob(){return Bab(this.b);}
-function cob(){}
-_=cob.prototype=new qab();_.rc=qob;_.tN=ngc+'CompositeFactPatternWidget';_.tI=294;_.a=null;_.b=null;_.c=null;_.d=null;function eob(b,a){b.a=a;return b;}
-function gob(a){pob(this.a,a);}
-function dob(){}
-_=dob.prototype=new gU();_.Bc=gob;_.tN=ngc+'CompositeFactPatternWidget$1';_.tI=295;function iob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kob(a){Cib(this.a.d,Ajb(new zjb(),DC(this.b,EC(this.b))));axb(this.a.c);this.c.nc();}
-function hob(){}
-_=hob.prototype=new gU();_.Ac=kob;_.tN=ngc+'CompositeFactPatternWidget$2';_.tI=296;function Cpb(f,d,b,a,c,g){var e;f.a=a;if(FU(g,'Numeric')){f.d=true;}else{f.d=false;}if(FU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',609,1,['true','false']);}f.c=c.c;e=c.a;f.b=ngb(e,d,b);f.e=cH(new AG());bqb(f);or(f,f.e);return f;}
-function Dpb(c,b){var a;a=bL(new sK());CN(a,'constraint-value-Editor');if(b.f===null){DK(a,'');}else{DK(a,b.f);}if(b.f===null||dV(b.f)<5){dL(a,3);}else{dL(a,dV(b.f)-1);}vK(a,mpb(new lpb(),c,b,a));wK(a,Bbb(new Abb(),qpb(new ppb(),c,a)));return a;}
-function Fpb(b,a){bqb(b);a.nc();}
-function aqb(b){var a;if(b.b!==null){return gqb(b.a.f,Fob(new Eob(),b),b.b);}else{a=Dpb(b,b.a);if(b.d){wK(a,new cpb());}a.ve('This is a literal value. What is shown is what the field is checked against.');return a;}}
-function bqb(b){var a;b.e.cb();if(b.a.e==0){a=mB(new wA(),'images/edit.gif');nB(a,xob(new sob(),b));eH(b.e,a);}else{switch(b.a.e){case 1:eH(b.e,aqb(b));break;case 3:eH(b.e,cqb(b));break;case 2:eH(b.e,eqb(b));break;default:break;}}}
-function cqb(e){var a,b,c,d;a=Dpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=mB(new wA(),'images/function_assets.gif');c.ve(d);a.ve(d);b=fqb(e,c,a);return b;}
-function dqb(e,g,a){var b,c,d,f;b=scb(new ncb(),'images/newex_wiz.gif','Field value');d=yp(new sp(),'Literal value');d.z(upb(new tpb(),e,a,b));tcb(b,'Literal value:',fqb(e,d,fdb(new adb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));ucb(b,mz(new pw(),'<hr/>'));ucb(b,idb(new hdb(),'Advanced options','weak-Text'));if(alb(e.c,e.a).b>0){f=yp(new sp(),'Bound variable');f.z(ypb(new xpb(),e,a,b));tcb(b,'A variable:',fqb(e,f,fdb(new adb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=yp(new sp(),'New formula');c.z(uob(new tob(),e,a,b));tcb(b,'A formula:',fqb(e,c,fdb(new adb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));tE(b,tN(g),uN(g));wE(b);}
-function eqb(c){var a,b,d,e;e=alb(c.c,c.a);a=uC(new mC());if(c.a.f===null){xC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(vY(e,b),1);xC(a,d);if(c.a.f!==null&&FU(c.a.f,d)){dD(a,b);}}wC(a,Bob(new Aob(),c,a));return a;}
-function fqb(d,a,c){var b;b=hA(new fA());iA(b,a);iA(b,c);b.De('100%');return b;}
-function gqb(b,k,d){var a,c,e,f,g,h,i,j;a=uC(new mC());if(b===null||FU('',b)){xC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(aV(i,61)>0){h=iqb(i);f=h[0];c=h[1];j=f;yC(a,c,f);}else{yC(a,i,i);j=i;}if(b!==null&&FU(b,j)){dD(a,e);g=true;}}if(b!==null&& !g){yC(a,b,b);dD(a,d.a);}wC(a,ipb(new hpb(),k,a));return a;}
-function hqb(){return this.j;}
-function iqb(c){var a,b;b=yb('[Ljava.lang.String;',[609],[1],[2],null);a=aV(c,61);b[0]=jV(c,0,a);b[1]=jV(c,a+1,dV(c));return b;}
-function rob(){}
-_=rob.prototype=new qab();_.rc=hqb;_.tN=ngc+'ConstraintValueEditor';_.tI=297;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function xob(b,a){b.a=a;return b;}
-function zob(a){dqb(this.a,a,this.a.a);}
-function sob(){}
-_=sob.prototype=new gU();_.Bc=zob;_.tN=ngc+'ConstraintValueEditor$1';_.tI=298;function uob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function wob(a){this.b.e=3;Fpb(this.a,this.c);}
-function tob(){}
-_=tob.prototype=new gU();_.Bc=wob;_.tN=ngc+'ConstraintValueEditor$10';_.tI=299;function Bob(b,a,c){b.a=a;b.b=c;return b;}
-function Dob(a){this.a.a.f=DC(this.b,EC(this.b));}
-function Aob(){}
-_=Aob.prototype=new gU();_.Ac=Dob;_.tN=ngc+'ConstraintValueEditor$2';_.tI=300;function Fob(b,a){b.a=a;return b;}
-function bpb(a){this.a.a.f=a;}
-function Eob(){}
-_=Eob.prototype=new gU();_.cf=bpb;_.tN=ngc+'ConstraintValueEditor$3';_.tI=301;function epb(a,b,c){}
-function fpb(c,a,b){if(wS(a)){xK(Fb(c,80));}}
-function gpb(a,b,c){}
-function cpb(){}
-_=cpb.prototype=new gU();_.ed=epb;_.fd=fpb;_.gd=gpb;_.tN=ngc+'ConstraintValueEditor$4';_.tI=302;function ipb(a,c,b){a.b=c;a.a=b;return a;}
-function kpb(a){this.b.cf(FC(this.a,EC(this.a)));}
-function hpb(){}
-_=hpb.prototype=new gU();_.Ac=kpb;_.tN=ngc+'ConstraintValueEditor$5';_.tI=303;function mpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function opb(a){this.c.f=zK(this.b);sab(this.a);}
-function lpb(){}
-_=lpb.prototype=new gU();_.Ac=opb;_.tN=ngc+'ConstraintValueEditor$6';_.tI=304;function qpb(b,a,c){b.a=c;return b;}
-function spb(){dL(this.a,dV(zK(this.a)));}
-function ppb(){}
-_=ppb.prototype=new gU();_.rb=spb;_.tN=ngc+'ConstraintValueEditor$7';_.tI=305;function upb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function wpb(a){this.b.e=1;Fpb(this.a,this.c);}
-function tpb(){}
-_=tpb.prototype=new gU();_.Bc=wpb;_.tN=ngc+'ConstraintValueEditor$8';_.tI=306;function ypb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Apb(a){this.b.e=2;Fpb(this.a,this.c);}
-function xpb(){}
-_=xpb.prototype=new gU();_.Bc=Apb;_.tN=ngc+'ConstraintValueEditor$9';_.tI=307;function vqb(b,a){b.a=abb(new Fab());b.c=oY(new mY());b.b=a;yqb(b);return b;}
-function wqb(b,a){iA(b.a,a);qY(b.c,a);}
-function yqb(a){zqb(a,a.b.a);or(a,a.a);}
-function zqb(g,e){var a,b,c,d,f;b=kV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=qqb(new oqb(),g);wqb(g,c);}else if(a==125){uqb(c,dV(sqb(c))+1);c=null;}else{if(c===null&&d===null){d=dC(new cC());wqb(g,d);}if(d!==null){jC(d,iC(d)+Eb(a));}else if(c!==null){tqb(c,sqb(c)+Eb(a));}}}}
-function Aqb(c){var a,b,d;b='';for(a=c.c.sc();a.mc();){d=Fb(a.uc(),20);if(ac(d,81)){b=b+iC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+sqb(Fb(d,82))+'} ';}}c.b.a=mV(b);}
-function Bqb(){return cbb(this.a);}
-function jqb(){}
-_=jqb.prototype=new qab();_.rc=Bqb;_.tN=ngc+'DSLSentenceWidget';_.tI=308;_.a=null;_.b=null;_.c=null;function lqb(b,a){b.a=a;return b;}
-function nqb(a){Aqb(this.a.c);sab(this.a);}
-function kqb(){}
-_=kqb.prototype=new gU();_.Ac=nqb;_.tN=ngc+'DSLSentenceWidget$1';_.tI=309;function pqb(a){a.b=hA(new fA());}
-function qqb(b,a){b.c=a;pqb(b);b.a=bL(new sK());iA(b.b,mz(new pw(),'&nbsp;'));iA(b.b,b.a);iA(b.b,mz(new pw(),'&nbsp;'));vK(b.a,lqb(new kqb(),b));or(b,b.b);return b;}
-function sqb(a){return zK(a.a);}
-function tqb(b,a){DK(b.a,a);}
-function uqb(b,a){dL(b.a,a);}
-function oqb(){}
-_=oqb.prototype=new qab();_.tN=ngc+'DSLSentenceWidget$FieldEditor';_.tI=310;_.a=null;function Dsb(a){a.c=zab(new xab());}
-function Esb(k,h,i,c,a){var b,d,e,f,g,j;Dsb(k);k.e=Fb(i,16);k.b=c;k.d=h;k.a=a;Cab(k.c,0,0,gtb(k));f=wt(k.c);dx(f,0,0,(wz(),xz),(Fz(),bA));gx(f,0,0,'modeller-fact-TypeHeader');g=zab(new xab());Cab(k.c,1,0,g);for(j=0;j<Djb(k.e).a;j++){d=Djb(k.e)[j];e=j;jtb(k,g,j,d,true);b=Dcb(new Ccb(),'images/delete_item_small.gif');b.ve('Remove this whole restriction');nB(b,Arb(new Dqb(),k,e));Cab(g,j,5,b);}if(k.a)CN(k.c,'modeller-fact-pattern-Widget');or(k,k.c);return k;}
-function atb(j,b){var a,c,d,e,f,g,h,i;f=hA(new fA());d=null;e=Dcb(new Ccb(),'images/add_field_to_fact.gif');e.ve('Add a field to this nested constraint.');nB(e,Erb(new Drb(),j,b));if(FU(b.a,'&&')){d='All of:';}else{d='Any of:';}iA(f,e);iA(f,mz(new pw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=zab(new xab());CN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){jtb(j,h,g,i[g],false);c=g;a=Dcb(new Ccb(),'images/delete_item_small.gif');a.ve('Remove this (nested) restriction');nB(a,csb(new bsb(),j,b,c));Cab(h,g,5,a);}}iA(f,h);return f;}
-function btb(g,b,c){var a,d,e,f;f=lgb(g.b,g.e.c,c);a=uC(new mC());xC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];yC(a,egb(e),e);if(FU(e,b.a)){dD(a,d+1);}}wC(a,lrb(new krb(),g,b,a));return a;}
-function ctb(d,a,b,c){var e;e=qgb(d.d.a,b,c);return Cpb(new rob(),d.e,c,a,d.d,e);}
-function dtb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=abb(new Fab());for(e=0;e<a.a.a;e++){b=a.a[e];iA(d,btb(f,b,a.c));iA(d,ctb(f,b,c,a.c));}return d;}else{return null;}}
-function etb(c,b){var a,d,e;if(c.a&& !blb(c.d.c,c.e.a)){d=hA(new fA());e=bL(new sK());if(c.e.a===null){DK(e,'');}else{DK(e,c.e.a);}dL(e,3);iA(d,e);a=yp(new sp(),'Set');a.z(hrb(new grb(),c,e,b));iA(d,a);tcb(b,'Variable name',d);}}
-function ftb(e,c,d){var a,b;a=hA(new fA());CN(a,'modeller-field-Label');if(!olb(c)){if(e.a&&d){b=Ecb(new Ccb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');nB(b,trb(new srb(),e,c));iA(a,b);}}else{iA(a,eC(new cC(),'['+c.b+']'));}iA(a,eC(new cC(),c.c));return a;}
-function gtb(c){var a,b;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve('Add a field to this condition, or bind a varible to this fact.');nB(a,osb(new nsb(),c));if(c.e.a!==null){iA(b,eC(new cC(),'['+c.e.a+'] '+c.e.c));}else{iA(b,eC(new cC(),c.e.c));}iA(b,a);return b;}
-function htb(f,b){var a,c,d,e;e=sgb(f.b,f.e.c,b.c);a=uC(new mC());xC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];yC(a,egb(d),d);if(FU(d,b.d)){dD(a,c+1);}}wC(a,prb(new orb(),f,b,a));return a;}
-function itb(e,b){var a,c,d;d=hA(new fA());d.De('100%');c=mB(new wA(),'images/function_assets.gif');c.ve('This is a formula expression that is evaluated to be true or false.');iA(d,c);if(b.f===null){b.f='';}a=bL(new sK());DK(a,b.f);vK(a,ksb(new jsb(),e,b,a));a.De('100%');iA(d,a);return d;}
-function jtb(e,b,c,a,d){if(ac(a,32)){ktb(e,e.d,b,c,a,d);}else if(ac(a,31)){Cab(b,c,0,atb(e,Fb(a,31)));rt(wt(b),c,0,5);}}
-function ktb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){Cab(d,f,0,ftb(h,b,g));Cab(d,f,1,htb(h,b));Cab(d,f,2,otb(h,b,h.e.c));Cab(d,f,3,dtb(h,b,h.e.c));a=Dcb(new Ccb(),'images/add_connective.gif');a.ve('Add more options to this fields values.');nB(a,gsb(new fsb(),h,b,e));Cab(d,f,4,a);}else if(b.e==5){Cab(d,f,0,itb(h,b));rt(wt(d),f,0,5);}}
-function ltb(d,g,a){var b,c,e,f;c=scb(new ncb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=kp(new jp());e=bL(new sK());b=yp(new sp(),'Set');lp(f,e);lp(f,b);b.z(xrb(new wrb(),d,e,a,c));tcb(c,'Variable name',f);tE(c,tN(g),uN(g));wE(c);}
-function ntb(i,j){var a,b,c,d,e,f,g,h;g=scb(new ncb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);CN(g,'ks-popups-Popup');a=uC(new mC());xC(a,'...');c=pgb(i.b,i.e.c);for(e=0;e<c.a;e++){xC(a,c[e]);}dD(a,0);wC(a,Asb(new zsb(),i,a,g));tcb(g,'Add a restriction on a field',a);b=uC(new mC());xC(b,'...');yC(b,'All of (And)','&&');yC(b,'Any of (Or)','||');dD(b,0);wC(b,Fqb(new Eqb(),i,b,g));f=fdb(new adb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=hA(new fA());iA(d,b);iA(d,f);tcb(g,'Multiple field constraint',d);ucb(g,idb(new hdb(),'Advanced options','weak-Text'));h=yp(new sp(),'New formula');h.z(drb(new crb(),i,g));tcb(g,'Add a new formula style expression',h);etb(i,g);tE(g,tN(j),uN(j));wE(g);}
-function mtb(i,j,b){var a,c,d,e,f,g,h;h=scb(new ncb(),'images/newex_wiz.gif','Add fields to this constraint');CN(h,'ks-popups-Popup');a=uC(new mC());xC(a,'...');d=pgb(i.b,i.e.c);for(f=0;f<d.a;f++){xC(a,d[f]);}dD(a,0);wC(a,ssb(new rsb(),i,b,a,h));tcb(h,'Add a restriction on a field',a);c=uC(new mC());xC(c,'...');yC(c,'All of (And)','&&');yC(c,'Any of (Or)','||');dD(c,0);wC(c,wsb(new vsb(),i,c,b,h));g=fdb(new adb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=hA(new fA());iA(e,c);iA(e,g);tcb(h,'Multiple field constraint',e);tE(h,tN(j),uN(j));wE(h);}
-function otb(c,a,b){var d;d=qgb(c.d.a,b,a.c);return Cpb(new rob(),c.e,a.c,a,c.d,d);}
-function ptb(){return Bab(this.c);}
-function Cqb(){}
-_=Cqb.prototype=new qab();_.rc=ptb;_.tN=ngc+'FactPatternWidget';_.tI=311;_.a=false;_.b=null;_.d=null;_.e=null;function Arb(b,a,c){b.a=a;b.b=c;return b;}
-function Crb(a){if(Bh('Remove this item?')){Fjb(this.a.e,this.b);axb(this.a.d);}}
-function Dqb(){}
-_=Dqb.prototype=new gU();_.Bc=Crb;_.tN=ngc+'FactPatternWidget$1';_.tI=312;function Fqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function brb(b){var a;a=new cjb();a.a=FC(this.b,EC(this.b));Bjb(this.a.e,a);axb(this.a.d);this.c.nc();}
-function Eqb(){}
-_=Eqb.prototype=new gU();_.Ac=brb;_.tN=ngc+'FactPatternWidget$10';_.tI=313;function drb(b,a,c){b.a=a;b.b=c;return b;}
-function frb(b){var a;a=new klb();a.e=5;Bjb(this.a.e,a);axb(this.a.d);this.b.nc();}
-function crb(){}
-_=crb.prototype=new gU();_.Bc=frb;_.tN=ngc+'FactPatternWidget$11';_.tI=314;function hrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function jrb(b){var a;a=zK(this.c);if(Fwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=zK(this.c);axb(this.a.d);this.b.nc();}
-function grb(){}
-_=grb.prototype=new gU();_.Bc=jrb;_.tN=ngc+'FactPatternWidget$12';_.tI=315;function lrb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nrb(a){this.b.a=FC(this.a,EC(this.a));}
-function krb(){}
-_=krb.prototype=new gU();_.Ac=nrb;_.tN=ngc+'FactPatternWidget$13';_.tI=316;function prb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rrb(a){this.c.d=FC(this.b,EC(this.b));sab(this.a.d);zV(),CV;}
-function orb(){}
-_=orb.prototype=new gU();_.Ac=rrb;_.tN=ngc+'FactPatternWidget$14';_.tI=317;function trb(b,a,c){b.a=a;b.b=c;return b;}
-function vrb(a){ltb(this.a,a,this.b);}
-function srb(){}
-_=srb.prototype=new gU();_.Bc=vrb;_.tN=ngc+'FactPatternWidget$15';_.tI=318;function xrb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function zrb(b){var a;a=zK(this.d);if(Fwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;axb(this.a.d);this.c.nc();}
-function wrb(){}
-_=wrb.prototype=new gU();_.Bc=zrb;_.tN=ngc+'FactPatternWidget$16';_.tI=319;function Erb(b,a,c){b.a=a;b.b=c;return b;}
-function asb(a){mtb(this.a,a,this.b);}
-function Drb(){}
-_=Drb.prototype=new gU();_.Bc=asb;_.tN=ngc+'FactPatternWidget$2';_.tI=320;function csb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function esb(a){if(Bh('Remove this item from nested constraint?')){fjb(this.b,this.c);axb(this.a.d);}}
-function bsb(){}
-_=bsb.prototype=new gU();_.Bc=esb;_.tN=ngc+'FactPatternWidget$3';_.tI=321;function gsb(b,a,c,d){b.a=c;b.b=d;return b;}
-function isb(a){mlb(this.a);axb(this.b);}
-function fsb(){}
-_=fsb.prototype=new gU();_.Bc=isb;_.tN=ngc+'FactPatternWidget$4';_.tI=322;function ksb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function msb(a){this.c.f=zK(this.b);sab(this.a.d);}
-function jsb(){}
-_=jsb.prototype=new gU();_.Ac=msb;_.tN=ngc+'FactPatternWidget$5';_.tI=323;function osb(b,a){b.a=a;return b;}
-function qsb(a){ntb(this.a,a);}
-function nsb(){}
-_=nsb.prototype=new gU();_.Bc=qsb;_.tN=ngc+'FactPatternWidget$6';_.tI=324;function ssb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function usb(a){djb(this.c,llb(new klb(),DC(this.b,EC(this.b))));axb(this.a.d);this.d.nc();}
-function rsb(){}
-_=rsb.prototype=new gU();_.Ac=usb;_.tN=ngc+'FactPatternWidget$7';_.tI=325;function wsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function ysb(b){var a;a=new cjb();a.a=FC(this.c,EC(this.c));djb(this.b,a);axb(this.a.d);this.d.nc();}
-function vsb(){}
-_=vsb.prototype=new gU();_.Ac=ysb;_.tN=ngc+'FactPatternWidget$8';_.tI=326;function Asb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Csb(a){Bjb(this.a.e,llb(new klb(),DC(this.b,EC(this.b))));axb(this.a.d);this.c.nc();}
-function zsb(){}
-_=zsb.prototype=new gU();_.Ac=Csb;_.tN=ngc+'FactPatternWidget$9';_.tI=327;function hub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=ccb(new acb());b=d.a;for(c=0;c<b.a;c++){a=b[c];ecb(f.a,a.a,kub(f,a,c));}or(f,f.a);return f;}
-function iub(c,a){var b;b=iq(new hq());if(a.b===null){oq(b,true);a.b='true';}else{oq(b,FU(a.b,'true'));}b.z(stb(new rtb(),c,a,b));return b;}
-function kub(e,a,d){var b,c;if(FU(a.a,'no-loop')){return lub(e,d);}b=null;if(FU(a.a,'enabled')||FU(a.a,'auto-focus')||FU(a.a,'lock-on-active')){b=iub(e,a);}else{b=mub(e,a);}c=abb(new Fab());iA(c,b);iA(c,lub(e,d));return c;}
-function lub(c,a){var b;b=mB(new wA(),'images/delete_item_small.gif');nB(b,aub(new Ftb(),c,a));return b;}
-function mub(c,a){var b;b=bL(new sK());dL(b,dV(a.b)<3?3:dV(a.b));DK(b,a.b);vK(b,wtb(new vtb(),c,a,b));if(FU(a.a,'date-effective')||FU(a.a,'date-expires')){if(a.b===null||FU('',a.b))DK(b,'dd-MMM-yyyy');dL(b,10);}wK(b,Atb(new ztb(),c,b));return b;}
-function nub(){var a;a=uC(new mC());xC(a,'Choose...');xC(a,'salience');xC(a,'enabled');xC(a,'date-effective');xC(a,'date-expires');xC(a,'no-loop');xC(a,'agenda-group');xC(a,'activation-group');xC(a,'duration');xC(a,'auto-focus');xC(a,'lock-on-active');xC(a,'ruleflow-group');xC(a,'dialect');return a;}
-function oub(){return this.a.rc();}
-function qtb(){}
-_=qtb.prototype=new qab();_.rc=oub;_.tN=ngc+'RuleAttributeWidget';_.tI=328;_.a=null;_.b=null;_.c=null;function stb(b,a,c,d){b.a=c;b.b=d;return b;}
-function utb(a){this.a.b=nq(this.b)?'true':'false';}
-function rtb(){}
-_=rtb.prototype=new gU();_.Bc=utb;_.tN=ngc+'RuleAttributeWidget$1';_.tI=329;function wtb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ytb(a){this.b.b=zK(this.c);sab(this.a);}
-function vtb(){}
-_=vtb.prototype=new gU();_.Ac=ytb;_.tN=ngc+'RuleAttributeWidget$2';_.tI=330;function Atb(b,a,c){b.a=c;return b;}
-function Ctb(a,b,c){}
-function Dtb(a,b,c){}
-function Etb(a,b,c){dL(this.a,dV(zK(this.a)));}
-function ztb(){}
-_=ztb.prototype=new gU();_.ed=Ctb;_.fd=Dtb;_.gd=Etb;_.tN=ngc+'RuleAttributeWidget$3';_.tI=331;function aub(b,a,c){b.a=a;b.b=c;return b;}
-function cub(b){var a;a=wfb(new nfb(),'Remove this rule option?',eub(new dub(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
-function Ftb(){}
-_=Ftb.prototype=new gU();_.Bc=cub;_.tN=ngc+'RuleAttributeWidget$4';_.tI=332;function eub(b,a,c){b.a=a;b.b=c;return b;}
-function gub(){dlb(this.a.a.b,this.b);axb(this.a.a.c);}
-function dub(){}
-_=dub.prototype=new gU();_.rb=gub;_.tN=ngc+'RuleAttributeWidget$5';_.tI=333;function uwb(b,a){b.c=Fb(a.b,83);b.a=dLb((bLb(),gLb),a.d.o);b.b=zab(new xab());Ewb(b);CN(b.b,'model-builder-Background');or(b,b.b);b.De('100%');b.se('100%');return b;}
-function vwb(b,a){Bkb(b.c,mib(new kib(),a));axb(b);}
-function wwb(b,a){Bkb(b.c,uib(new sib(),a));axb(b);}
-function xwb(b,a){Akb(b.c,Bib(new Aib(),a));axb(b);}
-function ywb(b,a){Akb(b.c,sjb(a));axb(b);}
-function zwb(b,a){Bkb(b.c,sjb(a));axb(b);}
-function Awb(b,a){Akb(b.c,Ajb(new zjb(),a));axb(b);}
-function Bwb(a,b){Bkb(a.c,eib(new dib(),b));axb(a);}
-function Dwb(b){var a;a=Dcb(new Ccb(),'images/new_item.gif');a.ve('Add an option to the rule, to modify its behavior when evaluated or executed.');nB(a,zvb(new yvb(),b));return a;}
-function Ewb(c){var a,b;jy(c.b);b=Dcb(new Ccb(),'images/new_item.gif');b.ve('Add a condition to this rule.');nB(b,rvb(new qub(),c));Cab(c.b,0,0,eC(new cC(),'WHEN'));Cab(c.b,0,2,b);Cab(c.b,1,1,bxb(c,c.c));Cab(c.b,2,0,eC(new cC(),'THEN'));a=Dcb(new Ccb(),'images/new_item.gif');a.ve('Add an action to this rule.');nB(a,vvb(new uvb(),c));Cab(c.b,2,2,a);Cab(c.b,3,1,cxb(c,c.c));Cab(c.b,4,0,eC(new cC(),'(options)'));Cab(c.b,4,2,Dwb(c));Cab(c.b,5,1,hub(new qtb(),c,c.c));}
-function Fwb(b,a){return clb(b.c,a)||tgb(b.a,a);}
-function axb(a){Ewb(a);sab(a);}
-function bxb(e,c){var a,b,d,f,g;f=fbb(new ebb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,16)){g=Esb(new Cqb(),e,d,e.a,true);qO(f,hxb(e,c,b,g));qO(f,gxb(e));}else if(ac(d,30)){g=lob(new cob(),e,Fb(d,30),e.a);qO(f,hxb(e,c,b,g));qO(f,gxb(e));}else if(ac(d,14)){}else{throw mU(new lU(),"I don't know what type of pattern that is.");}}a=fbb(new ebb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,14)){g=vqb(new jqb(),Fb(d,14));qO(a,hxb(e,c,b,g));CN(a,'model-builderInner-Background');}}qO(f,a);return f;}
-function cxb(g,e){var a,b,c,d,f,h,i;h=fbb(new ebb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,28)){i=znb(new wmb(),g,Fb(a,28),g.a);}else if(ac(a,25)){i=mmb(new tlb(),g,Fb(a,25),g.a);}else if(ac(a,27)){i=umb(new tmb(),g.a,Fb(a,27));}else if(ac(a,14)){i=vqb(new jqb(),Fb(a,14));CN(i,'model-builderInner-Background');}qO(h,gxb(g));b=abb(new Fab());f=Dcb(new Ccb(),'images/delete_item_small.gif');f.ve('Remove this action.');d=c;nB(f,bwb(new awb(),g,e,d));iA(b,i);if(!ac(i,84)){i.De('100%');b.De('100%');}iA(b,f);qO(h,b);}return h;}
-function dxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=scb(new ncb(),'images/new_fact.gif','Add a new action...');CN(k,'ks-popups-Popup');q=Fkb(n.c);p=uC(new mC());l=uC(new mC());j=uC(new mC());xC(p,'Choose ...');xC(l,'Choose ...');xC(j,'Choose ...');for(i=q.sc();i.mc();){o=Fb(i.uc(),1);xC(p,o);xC(l,o);xC(j,o);}d=rgb(n.a);for(f=0;f<d.a;f++){xC(p,d[f]);}dD(p,0);wC(p,sub(new rub(),n,p,k));wC(l,wub(new vub(),n,l,k));wC(j,Aub(new zub(),n,j,k));if(CC(p)>1){tcb(k,'Set the values of a field on',p);}if(CC(j)>1){e=hA(new fA());iA(e,j);g=mB(new wA(),'images/information.gif');g.ve('Modify a field on a fact, and notify the engine to re-evaluate rules.');iA(e,g);tcb(k,'Modify a fact',e);}if(CC(l)>1){tcb(k,'Retract the fact',l);}b=uC(new mC());c=uC(new mC());xC(b,'Choose ...');xC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];xC(b,h);xC(c,h);}wC(b,Eub(new Dub(),n,b,k));wC(c,cvb(new bvb(),n,c,k));if(CC(b)>1){tcb(k,'Insert a new fact',b);e=hA(new fA());iA(e,c);g=mB(new wA(),'images/inf!
 ormation.gif');g.ve('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');iA(e,g);tcb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=uC(new mC());xC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];yC(a,tjb(m),pT(f));}wC(a,gvb(new fvb(),n,a,k));tcb(k,'DSL sentence',a);}tE(k,dc(ai()/3),dc(Fh()/3));wE(k);}
-function exb(c,d){var a,b;b=scb(new ncb(),'images/config.png','Add an option to the rule');a=nub();dD(a,0);wC(a,Dvb(new Cvb(),c,a,b));CN(b,'ks-popups-Popup');tcb(b,'Attribute',a);tE(b,tN(d)-400,uN(d));wE(b);}
-function fxb(j,k){var a,b,c,d,e,f,g,h,i;h=scb(new ncb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=uC(new mC());yC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){xC(e,f[g]);}dD(e,0);if(f.a>0)tcb(h,'Fact',e);wC(e,jwb(new iwb(),j,e,h));CN(h,'ks-popups-Popup');c=(Efb(),Ffb);b=uC(new mC());yC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];yC(b,dgb(a),a);}dD(b,0);if(f.a>0)tcb(h,'Condition type',b);wC(b,nwb(new mwb(),j,b,h));if(j.a.b.a>0){d=uC(new mC());xC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];yC(d,tjb(i),pT(g));}wC(d,rwb(new qwb(),j,d,h));tcb(h,'DSL sentence',d);}tE(h,tN(k)-400,uN(k));wE(h);}
-function gxb(b){var a;a=mz(new pw(),'&nbsp;');a.se('2px');return a;}
-function hxb(f,d,b,g){var a,c,e;a=abb(new Fab());e=Dcb(new Ccb(),'images/delete_item_small.gif');e.ve('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;nB(e,kvb(new jvb(),f,d,c));a.De('100%');g.De('100%');iA(a,g);iA(a,e);return a;}
-function ixb(){return Bab(this.b)||this.j;}
-function pub(){}
-_=pub.prototype=new qab();_.rc=ixb;_.tN=ngc+'RuleModeller';_.tI=334;_.a=null;_.b=null;_.c=null;function rvb(b,a){b.a=a;return b;}
-function tvb(a){fxb(this.a,a);}
-function qub(){}
-_=qub.prototype=new gU();_.Bc=tvb;_.tN=ngc+'RuleModeller$1';_.tI=335;function sub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function uub(a){vwb(this.a,DC(this.c,EC(this.c)));this.b.nc();}
-function rub(){}
-_=rub.prototype=new gU();_.Ac=uub;_.tN=ngc+'RuleModeller$10';_.tI=336;function wub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function yub(a){Bwb(this.a,DC(this.c,EC(this.c)));this.b.nc();}
-function vub(){}
-_=vub.prototype=new gU();_.Ac=yub;_.tN=ngc+'RuleModeller$11';_.tI=337;function Aub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Cub(a){wwb(this.a,DC(this.b,EC(this.b)));this.c.nc();}
-function zub(){}
-_=zub.prototype=new gU();_.Ac=Cub;_.tN=ngc+'RuleModeller$12';_.tI=338;function Eub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function avb(b){var a;a=DC(this.b,EC(this.b));Bkb(this.a.c,vhb(new thb(),a));axb(this.a);this.c.nc();}
-function Dub(){}
-_=Dub.prototype=new gU();_.Ac=avb;_.tN=ngc+'RuleModeller$13';_.tI=339;function cvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function evb(b){var a;a=DC(this.b,EC(this.b));Bkb(this.a.c,Dhb(new Bhb(),a));axb(this.a);this.c.nc();}
-function bvb(){}
-_=bvb.prototype=new gU();_.Ac=evb;_.tN=ngc+'RuleModeller$14';_.tI=340;function gvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ivb(b){var a;a=nT(FC(this.b,EC(this.b)));zwb(this.a,this.a.a.a[a]);this.c.nc();}
-function fvb(){}
-_=fvb.prototype=new gU();_.Ac=ivb;_.tN=ngc+'RuleModeller$15';_.tI=341;function kvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function mvb(b){var a;a=wfb(new nfb(),'Remove this entire condition?',ovb(new nvb(),this,this.c,this.b));tE(a,tN(b),uN(b));wE(a);}
-function jvb(){}
-_=jvb.prototype=new gU();_.Bc=mvb;_.tN=ngc+'RuleModeller$16';_.tI=342;function ovb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function qvb(){if(elb(this.c,this.b)){axb(this.a.a);}else{ybb("Can't remove that item as it is used in the action part of the rule.");}}
-function nvb(){}
-_=nvb.prototype=new gU();_.rb=qvb;_.tN=ngc+'RuleModeller$17';_.tI=343;function vvb(b,a){b.a=a;return b;}
-function xvb(a){dxb(this.a,a);}
-function uvb(){}
-_=uvb.prototype=new gU();_.Bc=xvb;_.tN=ngc+'RuleModeller$2';_.tI=344;function zvb(b,a){b.a=a;return b;}
-function Bvb(a){exb(this.a,a);}
-function yvb(){}
-_=yvb.prototype=new gU();_.Bc=Bvb;_.tN=ngc+'RuleModeller$3';_.tI=345;function Dvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Fvb(a){zkb(this.a.c,pkb(new okb(),DC(this.b,EC(this.b)),''));axb(this.a);this.c.nc();}
-function Cvb(){}
-_=Cvb.prototype=new gU();_.Ac=Fvb;_.tN=ngc+'RuleModeller$4';_.tI=346;function bwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function dwb(b){var a;a=wfb(new nfb(),'Remove this item?',fwb(new ewb(),this,this.c,this.b));tE(a,tN(b),uN(b));wE(a);}
-function awb(){}
-_=awb.prototype=new gU();_.Bc=dwb;_.tN=ngc+'RuleModeller$5';_.tI=347;function fwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function hwb(){flb(this.c,this.b);axb(this.a.a);}
-function ewb(){}
-_=ewb.prototype=new gU();_.rb=hwb;_.tN=ngc+'RuleModeller$6';_.tI=348;function jwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function lwb(b){var a;a=DC(this.b,EC(this.b));if(!FU(a,'IGNORE')){Awb(this.a,a);this.c.nc();}}
-function iwb(){}
-_=iwb.prototype=new gU();_.Ac=lwb;_.tN=ngc+'RuleModeller$7';_.tI=349;function nwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function pwb(b){var a;a=FC(this.b,EC(this.b));if(!FU(a,'IGNORE')){xwb(this.a,a);this.c.nc();}}
-function mwb(){}
-_=mwb.prototype=new gU();_.Ac=pwb;_.tN=ngc+'RuleModeller$8';_.tI=350;function rwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function twb(b){var a;a=nT(FC(this.b,EC(this.b)));ywb(this.a,this.a.a.b[a]);this.c.nc();}
-function qwb(){}
-_=qwb.prototype=new gU();_.Ac=twb;_.tN=ngc+'RuleModeller$9';_.tI=351;function lxb(b,a,c){b.a=c;return b;}
-function nxb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
-function kxb(){}
-_=kxb.prototype=new gU();_.Bc=nxb;_.tN=ogc+'AssetAttachmentFileWidget$1';_.tI=352;function pxb(b,a){b.a=a;return b;}
-function rxb(a){Dxb(this.a);Exb(this.a);}
-function oxb(){}
-_=oxb.prototype=new gU();_.Bc=rxb;_.tN=ogc+'AssetAttachmentFileWidget$2';_.tI=353;function txb(b,a){b.a=a;return b;}
-function wxb(a){}
-function vxb(a){tdb();if(bV(a.a,'OK')>(-1)){g_b(this.a.e);}else{ybb('Unable to upload the file.');}}
-function sxb(){}
-_=sxb.prototype=new gU();_.qd=wxb;_.pd=vxb;_.tN=ogc+'AssetAttachmentFileWidget$3';_.tI=354;function kyb(){kyb=e3;vcb();}
-function iyb(c){var a,b;kyb();scb(c,'images/new_wiz.gif','Create a new fact template');c.a=tt(new nt());c.b=bL(new sK());tcb(c,'Name:',c.b);tcb(c,'Fact attributes:',c.a);a=mB(new wA(),'images/new_item.gif');nB(a,byb(new ayb(),c));tcb(c,'Add a new attribute',a);b=yp(new sp(),'Create');b.z(fyb(new eyb(),c));tcb(c,'',b);return c;}
-function jyb(b){var a;a=xt(b.a);b.a.Be(a,0,bL(new sK()));b.a.Be(a,1,nyb(b));}
-function lyb(d){var a,b,c,e,f;b='template '+zK(d.b)+'\n';for(a=0;a<xt(d.a);a++){e=Fb(sy(d.a,a,1),85);f=DC(e,EC(e));c=zK(Fb(sy(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
-function myb(b,a){b.c=a;}
-function nyb(b){var a;a=uC(new mC());xC(a,'String');xC(a,'Integer');xC(a,'Float');xC(a,'Date');xC(a,'Boolean');return a;}
-function Fxb(){}
-_=Fxb.prototype=new ncb();_.tN=ogc+'FactTemplateWizard';_.tI=355;_.a=null;_.b=null;_.c=null;function byb(b,a){b.a=a;return b;}
-function dyb(a){jyb(this.a);}
-function ayb(){}
-_=ayb.prototype=new gU();_.Bc=dyb;_.tN=ogc+'FactTemplateWizard$1';_.tI=356;function fyb(b,a){b.a=a;return b;}
-function hyb(a){kDb(this.a.c);this.a.nc();}
-function eyb(){}
-_=eyb.prototype=new gU();_.Bc=hyb;_.tN=ogc+'FactTemplateWizard$2';_.tI=357;function pyb(b,a,c){xxb(b,a,c);return b;}
-function ryb(){return 'images/model_large.png';}
-function syb(){return 'editable-Surface';}
-function oyb(){}
-_=oyb.prototype=new jxb();_.xb=ryb;_.ac=syb;_.tN=ogc+'ModelAttachmentFileWidget';_.tI=358;function rzb(){rzb=e3;vcb();}
-function pzb(a){a.b=ccb(new acb());a.d=ccb(new acb());}
-function qzb(f,b){var a,c,d,e;rzb();scb(f,'images/new_wiz.gif','Create a new package');pzb(f);f.c=bL(new sK());f.a=mK(new lK());hcb(f.d,mz(new pw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));ecb(f.d,'Name:',f.c);ecb(f.d,'Description:',f.a);f.c.ve('The name of the package. Avoid spaces, use underscore instead.');e=gG(new eG(),'action','Create new pa!
 ckage');d=gG(new eG(),'action','Import from drl file');oq(e,true);f.d.Ae(true);e.z(vyb(new uyb(),f));f.b.Ae(false);d.z(zyb(new yyb(),f));a=kp(new jp());lp(a,e);lp(a,d);ucb(f,a);ucb(f,f.d);ucb(f,f.b);ecb(f.b,'DRL file to import:',tzb(b,f));c=yp(new sp(),'Create package');c.z(Dyb(new Cyb(),f,b));ecb(f.d,'',c);CN(f,'ks-popups-Popup');return f;}
-function szb(d,b,a,c){xdb('Creating package - please wait...');FTb(nMb(),b,a,czb(new bzb(),d,c));}
-function tzb(a,d){rzb();var b,c,e,f;f=ev(new Fu());kv(f,v()+'package');lv(f,'multipart/form-data');mv(f,'post');c=hA(new fA());f.Ce(c);e=it(new ht());lt(e,'classicDRLFile');iA(c,e);iA(c,eC(new cC(),'upload:'));b=Ecb(new Ccb(),'images/upload.gif','Import');nB(b,hzb(new gzb(),f));iA(c,b);fv(f,lzb(new kzb(),a,d,e));return f;}
-function tyb(){}
-_=tyb.prototype=new ncb();_.tN=ogc+'NewPackageWizard';_.tI=359;_.a=null;_.c=null;function vyb(b,a){b.a=a;return b;}
-function xyb(a){this.a.d.Ae(true);this.a.b.Ae(false);}
-function uyb(){}
-_=uyb.prototype=new gU();_.Bc=xyb;_.tN=ogc+'NewPackageWizard$1';_.tI=360;function zyb(b,a){b.a=a;return b;}
-function Byb(a){this.a.d.Ae(false);this.a.b.Ae(true);}
-function yyb(){}
-_=yyb.prototype=new gU();_.Bc=Byb;_.tN=ogc+'NewPackageWizard$2';_.tI=361;function Dyb(b,a,c){b.a=a;b.b=c;return b;}
-function Fyb(b,a){return eV(a,'[a-zA-Z\\.]*');}
-function azb(a){if(Fyb(this,zK(this.a.c))){szb(this.a,zK(this.a.c),zK(this.a.a),this.b);this.a.nc();}else{DK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
-function Cyb(){}
-_=Cyb.prototype=new gU();_.Bc=azb;_.tN=ogc+'NewPackageWizard$3';_.tI=362;function czb(b,a,c){b.a=c;return b;}
-function ezb(b,a){tdb();tFb(b.a);}
-function fzb(a){ezb(this,a);}
-function bzb(){}
-_=bzb.prototype=new wcb();_.rd=fzb;_.tN=ogc+'NewPackageWizard$4';_.tI=363;function hzb(a,b){a.a=b;return a;}
-function jzb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){xdb('Importing drl package, please wait, as this could take some time...');ov(this.a);}}
-function gzb(){}
-_=gzb.prototype=new gU();_.Bc=jzb;_.tN=ogc+'NewPackageWizard$5';_.tI=364;function lzb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
-function ozb(a){if(dV(kt(this.c))==0){zh('You did not choose a drl file to import !');Av(a,true);}else if(!DU(kt(this.c),'.drl')){zh("You can only import '.drl' files.");Av(a,true);}}
-function nzb(a){if(bV(a.a,'OK')>(-1)){zh('Package was imported successfully. ');tFb(this.a);this.b.nc();}else{ybb('Unable to import into the package. ['+a.a+']');}tdb();}
-function kzb(){}
-_=kzb.prototype=new gU();_.qd=ozb;_.pd=nzb;_.tN=ogc+'NewPackageWizard$6';_.tI=365;function oBb(h,e,f){var a,b,c,d,g;h.c=dcb(new acb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=cH(new AG());g=bL(new sK());a=yp(new sp(),'Build package');a.ve('This will validate and compile all the assets in a package.');a.z(hAb(new vzb(),h,b,g));c=yp(new sp(),'Show package source');c.z(lAb(new kAb(),h,e));ecb(h.c,'View source for package',c);d=hA(new fA());iA(d,a);iA(d,mz(new pw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));iA(d,g);iA(d,fdb(new adb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));ecb(h.c,'Build binary package:',d);hcb(h.c,mz(new pw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));hcb(h.c,b);CN(h.c,'package-Editor');h.c.De('100%');or(h,h.c);return h;}
-function qBb(d,a,c){var b;a.cb();b=hA(new fA());iA(b,eC(new cC(),'Validating and building package, please wait...'));iA(b,mB(new wA(),'images/red_anime.gif'));xdb('Please wait...');eH(a,b);fg(EAb(new DAb(),d,c,a));}
-function rBb(i,e,a){var b,c,d,f,g,h;a.cb();b=tt(new nt());CN(b,'build-Results');az(b,0,1,'Format');az(b,0,2,'Name');az(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.Be(f,0,mB(new wA(),'images/error.gif'));az(b,f,1,d.a);az(b,f,2,d.b);az(b,f,3,d.c);if(!FU('package',d.a)){h=yp(new sp(),'Show');h.z(lBb(new kBb(),i,d));b.Be(f,4,h);}}b.De('100%');g=wG(new uG(),b);yG(g,true);BN(g,'100%','25em');eH(a,g);}
-function sBb(g,i){var a,b,c,d,e,f,h;xdb('Loading existing snapshots...');c=scb(new ncb(),'images/snapshot.png','Create a snapshot for deployment.');ucb(c,mz(new pw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=pO(new nO());tcb(c,'Choose or create snapshot name:',h);f=oY(new mY());d=bL(new sK());e='NEW: ';eUb(nMb(),g.a.j,xzb(new wzb(),g,f,h,d));a=bL(new sK());tcb(c,'Comment:',a);b=yp(new sp(),'Create new snapshot');tcb(c,'',b);b.z(Fzb(new Ezb(),g,f,d,a,c));c.De('50%');tE(c,dc((uab()-oE(c))/2),100);wE(c);}
-function tBb(e,a){var b,c,d,f;a.cb();f=pO(new nO());qO(f,mz(new pw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=vBb(e.a);b=mz(new pw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");qO(f,b);d=yp(new sp(),'Create snapshot for deployment');d.z(hBb(new gBb(),e));qO(f,d);eH(a,f);}
-function uBb(b,a){xdb('Assembling package source...');fg(pAb(new oAb(),b,a));}
-function vBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
-function wBb(b,c){var a,d;d=scb(new ncb(),'images/view_source.gif','Viewing source for: '+c);a=mK(new lK());rK(a,30);a.De('100%');qK(a,80);ucb(d,a);DK(a,b);a.pe(true);a.ve('THIS IS READ ONLY - you may copy and paste, but not edit.');wK(a,yAb(new xAb(),a,b));tdb();tE(d,dc((uab()-oE(d))/2),100);wE(d);}
-function uzb(){}
-_=uzb.prototype=new mr();_.tN=ogc+'PackageBuilderWidget';_.tI=366;_.a=null;_.b=null;_.c=null;function hAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function jAb(a){qBb(this.a,this.b,zK(this.c));}
-function vzb(){}
-_=vzb.prototype=new gU();_.Bc=jAb;_.tN=ogc+'PackageBuilderWidget$1';_.tI=367;function xzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
-function zzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=gG(new eG(),'snapshotNameGroup',f[c].b);qY(this.b,b);qO(this.c,b);}d=hA(new fA());e=gG(new eG(),'snapshotNameGroup','NEW: ');iA(d,e);this.a.pe(false);e.z(Bzb(new Azb(),this,this.a));iA(d,this.a);qY(this.b,e);qO(this.c,d);tdb();}
-function wzb(){}
-_=wzb.prototype=new wcb();_.rd=zzb;_.tN=ogc+'PackageBuilderWidget$10';_.tI=368;function Bzb(b,a,c){b.a=c;return b;}
-function Dzb(a){this.a.pe(true);}
-function Azb(){}
-_=Azb.prototype=new gU();_.Bc=Dzb;_.tN=ogc+'PackageBuilderWidget$11';_.tI=369;function Fzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
-function bAb(d){var a,b,c;c=false;for(b=this.f.sc();b.mc();){a=Fb(b.uc(),87);if(nq(a)){this.a=mq(a);if(!FU(mq(a),'NEW: ')){c=true;}break;}}if(FU(this.a,'NEW: ')){this.a=zK(this.e);}if(FU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}ETb(nMb(),this.b.a.j,this.a,c,zK(this.c),dAb(new cAb(),this,this.d));}
-function Ezb(){}
-_=Ezb.prototype=new gU();_.Bc=bAb;_.tN=ogc+'PackageBuilderWidget$12';_.tI=370;_.a='';function dAb(b,a,c){b.a=a;b.b=c;return b;}
-function fAb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.nc();}
-function gAb(a){fAb(this,a);}
-function cAb(){}
-_=cAb.prototype=new wcb();_.rd=gAb;_.tN=ogc+'PackageBuilderWidget$13';_.tI=371;function lAb(b,a,c){b.a=c;return b;}
-function nAb(a){uBb(this.a.m,this.a.j);}
-function kAb(){}
-_=kAb.prototype=new gU();_.Bc=nAb;_.tN=ogc+'PackageBuilderWidget$2';_.tI=372;function pAb(a,c,b){a.b=c;a.a=b;return a;}
-function rAb(){tTb(nMb(),this.b,tAb(new sAb(),this,this.a));}
-function oAb(){}
-_=oAb.prototype=new gU();_.rb=rAb;_.tN=ogc+'PackageBuilderWidget$3';_.tI=373;function tAb(b,a,c){b.a=c;return b;}
-function vAb(c,b){var a;a=Fb(b,1);wBb(a,c.a);}
-function wAb(a){vAb(this,a);}
-function sAb(){}
-_=sAb.prototype=new wcb();_.rd=wAb;_.tN=ogc+'PackageBuilderWidget$4';_.tI=374;function yAb(a,b,c){a.a=b;a.b=c;return a;}
-function AAb(a,b,c){DK(this.a,this.b);}
-function BAb(a,b,c){DK(this.a,this.b);}
-function CAb(a,b,c){DK(this.a,this.b);}
-function xAb(){}
-_=xAb.prototype=new gU();_.ed=AAb;_.fd=BAb;_.gd=CAb;_.tN=ogc+'PackageBuilderWidget$5';_.tI=375;function EAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function aBb(){uTb(nMb(),this.a.a.m,this.c,cBb(new bBb(),this,this.b));}
-function DAb(){}
-_=DAb.prototype=new gU();_.rb=aBb;_.tN=ogc+'PackageBuilderWidget$6';_.tI=376;function cBb(b,a,c){b.a=a;b.b=c;return b;}
-function eBb(c,a){var b;tdb();if(a===null){tBb(c.a.a,c.b);}else{b=Fb(a,88);rBb(c.a.a,b,c.b);}}
-function fBb(a){eBb(this,a);}
-function bBb(){}
-_=bBb.prototype=new wcb();_.rd=fBb;_.tN=ogc+'PackageBuilderWidget$7';_.tI=377;function hBb(b,a){b.a=a;return b;}
-function jBb(a){sBb(this.a,a);}
-function gBb(){}
-_=gBb.prototype=new gU();_.Bc=jBb;_.tN=ogc+'PackageBuilderWidget$8';_.tI=378;function lBb(b,a,c){b.a=a;b.b=c;return b;}
-function nBb(a){pIb(this.a.b,this.b.d);}
-function kBb(){}
-_=kBb.prototype=new gU();_.Bc=nBb;_.tN=ogc+'PackageBuilderWidget$9';_.tI=379;function uEb(e,b,c,a,d){ccb(e);e.b=b;e.c=c;e.a=a;e.e=d;CN(e,'package-Editor');e.De('100%');AEb(e);return e;}
-function wEb(b){var a;a=mK(new lK());a.De('100%');rK(a,8);DK(a,b.b.d);vK(a,rDb(new qDb(),b,a));qK(a,100);return yEb(b,a);}
-function xEb(b,a){xdb('Saving package configuration. Please wait ...');vUb(nMb(),b.b,dCb(new cCb(),b,a));}
-function yEb(d,a){var b,c;c=hA(new fA());iA(c,a);b=mB(new wA(),'images/max_min.gif');b.ve('Increase view area');iA(c,b);nB(b,nDb(new mDb(),d,a));return c;}
-function zEb(g){var a,b,c,d,e,f,h;a=mK(new lK());a.De('100%');rK(a,8);qK(a,100);DK(a,g.b.f);vK(a,qCb(new pCb(),g,a));f=hA(new fA());iA(f,a);h=pO(new nO());b=mB(new wA(),'images/max_min.gif');nB(b,uCb(new tCb(),g,a));b.ve('Increase view area.');qO(h,b);e=mB(new wA(),'images/new_import.gif');nB(e,yCb(new xCb(),g,a));qO(h,e);e.ve('Add a new Type/Class import to the package.');d=mB(new wA(),'images/new_global.gif');nB(d,CCb(new BCb(),g,a));d.ve('Add a new global variable declaration.');qO(h,d);c=mB(new wA(),'images/fact_template.gif');nB(c,eDb(new dDb(),g,a));c.ve('Add a new fact template.');f.De('100%');iA(f,h);return f;}
-function AEb(c){var a,b;icb(c);hcb(c,bFb(c));ecb(c,'Description:',wEb(c));ecb(c,'Header:',zEb(c));hcb(c,mz(new pw(),'<hr/>'));ecb(c,'Last modified:',eC(new cC(),b0(c.b.i)));ecb(c,'Last contributor:',eC(new cC(),c.b.h));hcb(c,mz(new pw(),'<hr/>'));c.f=lz(new pw());b=hA(new fA());a=Dcb(new Ccb(),'images/edit.gif');a.ve('Change status.');nB(a,FCb(new yBb(),c));iA(b,c.f);if(!c.b.g){iA(b,a);}DEb(c,c.b.l);ecb(c,'Status:',b);if(!c.b.g){hcb(c,CEb(c));}hcb(c,mz(new pw(),'<hr/>'));}
-function BEb(a){xdb('Refreshing package data...');jUb(nMb(),a.b.m,mCb(new lCb(),a));}
-function CEb(f){var a,b,c,d,e;c=hA(new fA());e=yp(new sp(),'Save and validate configuration');e.z(CDb(new BDb(),f));iA(c,e);a=yp(new sp(),'Archive');a.z(aEb(new FDb(),f));iA(c,a);b=yp(new sp(),'Copy');b.z(eEb(new dEb(),f));iA(c,b);d=yp(new sp(),'Rename');d.z(iEb(new hEb(),f));iA(c,d);return c;}
-function DEb(b,a){pz(b.f,'<b>'+a+'<\/b>');}
-function EEb(d){var a,b,c;c=scb(new ncb(),'images/new_wiz.gif','Copy the package');ucb(c,mz(new pw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=bL(new sK());tcb(c,'New package name:',a);b=yp(new sp(),'OK');tcb(c,'',b);b.z(ABb(new zBb(),d,a,c));c.De('40%');tE(c,dc(ai()/3),dc(Fh()/3));wE(c);}
-function FEb(d){var a,b,c;c=scb(new ncb(),'images/new_wiz.gif','Rename the package');ucb(c,mz(new pw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=bL(new sK());tcb(c,'New package name:',a);b=yp(new sp(),'OK');tcb(c,'',b);b.z(mEb(new lEb(),d,a,c));c.De('40%');tE(c,dc(ai()/3),dc(Fh()/3));wE(c);}
-function aFb(b,c){var a;a=Aeb(new eeb(),b.b.m,true);Deb(a,yDb(new xDb(),b,a));tE(a,tN(c),uN(c));wE(a);}
-function bFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=mB(new wA(),'images/warning.gif');a=hA(new fA());iA(a,b);c=mz(new pw(),'<b>There were errors validating this package configuration.');iA(a,c);d=yp(new sp(),'View errors');d.z(uDb(new cDb(),e));iA(a,d);return a;}else{return cH(new AG());}}
-function xBb(){}
-_=xBb.prototype=new acb();_.tN=ogc+'PackageEditor';_.tI=380;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function FCb(b,a){b.a=a;return b;}
-function bDb(a){aFb(this.a,a);}
-function yBb(){}
-_=yBb.prototype=new gU();_.Bc=bDb;_.tN=ogc+'PackageEditor$1';_.tI=381;function ABb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function CBb(a){BTb(nMb(),this.a.b.j,zK(this.b),EBb(new DBb(),this,this.c));}
-function zBb(){}
-_=zBb.prototype=new gU();_.Bc=CBb;_.tN=ogc+'PackageEditor$10';_.tI=382;function EBb(b,a,c){b.a=a;b.b=c;return b;}
-function aCb(b,a){rGb(b.a.a.e);zh('Package copied successfully.');b.b.nc();}
-function bCb(a){aCb(this,a);}
-function DBb(){}
-_=DBb.prototype=new wcb();_.rd=bCb;_.tN=ogc+'PackageEditor$11';_.tI=383;function dCb(b,a,c){b.a=a;b.b=c;return b;}
-function fCb(b,a){xGb(b.a.a);b.a.d=Fb(a,89);BEb(b.a);xdb('Package configuration updated successfully, refreshing content cache...');fLb((bLb(),gLb),b.a.b.j,iCb(new hCb(),b,b.b));}
-function gCb(a){fCb(this,a);}
-function cCb(){}
-_=cCb.prototype=new wcb();_.rd=gCb;_.tN=ogc+'PackageEditor$12';_.tI=384;function iCb(b,a,c){b.a=c;return b;}
-function kCb(){if(this.a!==null){rGb(this.a);}tdb();}
-function hCb(){}
-_=hCb.prototype=new gU();_.rb=kCb;_.tN=ogc+'PackageEditor$13';_.tI=385;function mCb(b,a){b.a=a;return b;}
-function oCb(a){tdb();this.a.b=Fb(a,19);AEb(this.a);}
-function lCb(){}
-_=lCb.prototype=new wcb();_.rd=oCb;_.tN=ogc+'PackageEditor$14';_.tI=386;function qCb(b,a,c){b.a=a;b.b=c;return b;}
-function sCb(a){this.a.b.f=zK(this.b);nGb(this.a.c);}
-function pCb(){}
-_=pCb.prototype=new gU();_.Ac=sCb;_.tN=ogc+'PackageEditor$16';_.tI=387;function uCb(b,a,c){b.a=c;return b;}
-function wCb(a){if(pK(this.a)!=32){rK(this.a,32);}else{rK(this.a,8);}}
-function tCb(){}
-_=tCb.prototype=new gU();_.Bc=wCb;_.tN=ogc+'PackageEditor$17';_.tI=388;function yCb(b,a,c){b.a=a;b.b=c;return b;}
-function ACb(a){DK(this.b,zK(this.b)+'\n'+'import <your class here>');this.a.b.f=zK(this.b);}
-function xCb(){}
-_=xCb.prototype=new gU();_.Bc=ACb;_.tN=ogc+'PackageEditor$18';_.tI=389;function CCb(b,a,c){b.a=a;b.b=c;return b;}
-function ECb(a){DK(this.b,zK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=zK(this.b);}
-function BCb(){}
-_=BCb.prototype=new gU();_.Bc=ECb;_.tN=ogc+'PackageEditor$19';_.tI=390;function uDb(b,a){b.a=a;return b;}
-function wDb(a){var b;b=Feb(new Eeb(),this.a.d.a,this.a.d.b);tE(b,dc(ai()/4),uN(a));wE(b);}
-function cDb(){}
-_=cDb.prototype=new gU();_.Bc=wDb;_.tN=ogc+'PackageEditor$2';_.tI=391;function eDb(b,a,c){b.a=a;b.b=c;return b;}
-function gDb(a){var b;b=iyb(new Fxb());tE(b,tN(a)-400,uN(a)-250);myb(b,iDb(new hDb(),this,this.b,b));wE(b);}
-function dDb(){}
-_=dDb.prototype=new gU();_.Bc=gDb;_.tN=ogc+'PackageEditor$20';_.tI=392;function iDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kDb(a){DK(a.b,zK(a.b)+'\n'+lyb(a.c));a.a.a.b.f=zK(a.b);}
-function lDb(){kDb(this);}
-function hDb(){}
-_=hDb.prototype=new gU();_.rb=lDb;_.tN=ogc+'PackageEditor$21';_.tI=393;function nDb(b,a,c){b.a=c;return b;}
-function pDb(a){if(pK(this.a)!=32){rK(this.a,32);}else{rK(this.a,8);}}
-function mDb(){}
-_=mDb.prototype=new gU();_.Bc=pDb;_.tN=ogc+'PackageEditor$22';_.tI=394;function rDb(b,a,c){b.a=a;b.b=c;return b;}
-function tDb(a){this.a.b.d=zK(this.b);nGb(this.a.c);}
-function qDb(){}
-_=qDb.prototype=new gU();_.Ac=tDb;_.tN=ogc+'PackageEditor$23';_.tI=395;function yDb(b,a,c){b.a=a;b.b=c;return b;}
-function ADb(){DEb(this.a,this.b.c);}
-function xDb(){}
-_=xDb.prototype=new gU();_.rb=ADb;_.tN=ogc+'PackageEditor$3';_.tI=396;function CDb(b,a){b.a=a;return b;}
-function EDb(a){xEb(this.a,null);}
-function BDb(){}
-_=BDb.prototype=new gU();_.Bc=EDb;_.tN=ogc+'PackageEditor$4';_.tI=397;function aEb(b,a){b.a=a;return b;}
-function cEb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;xEb(this.a,this.a.e);}}
-function FDb(){}
-_=FDb.prototype=new gU();_.Bc=cEb;_.tN=ogc+'PackageEditor$5';_.tI=398;function eEb(b,a){b.a=a;return b;}
-function gEb(a){EEb(this.a);}
-function dEb(){}
-_=dEb.prototype=new gU();_.Bc=gEb;_.tN=ogc+'PackageEditor$6';_.tI=399;function iEb(b,a){b.a=a;return b;}
-function kEb(a){FEb(this.a);}
-function hEb(){}
-_=hEb.prototype=new gU();_.Bc=kEb;_.tN=ogc+'PackageEditor$7';_.tI=400;function mEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function oEb(a){tUb(nMb(),this.a.b.m,zK(this.b),qEb(new pEb(),this,this.c));}
-function lEb(){}
-_=lEb.prototype=new gU();_.Bc=oEb;_.tN=ogc+'PackageEditor$8';_.tI=401;function qEb(b,a,c){b.a=a;b.b=c;return b;}
-function sEb(b,a){rGb(b.a.a.e);zh('Package renamed successfully.');b.b.nc();}
-function tEb(a){sEb(this,a);}
-function pEb(){}
-_=pEb.prototype=new wcb();_.rd=tEb;_.tN=ogc+'PackageEditor$9';_.tI=402;function FHb(a){a.f=pGb(new dFb(),a);}
-function aIb(b,a){bIb(b,a,null,null);return b;}
-function bIb(g,b,h,f){var a,c,d,e;FHb(g);g.b=b;g.h=h;g.c=rM(new eL());g.d=zab(new xab());g.g=new tGb();vM(g.c,g.g);e=pO(new nO());if(f===null){a=tt(new nt());gx(a.n,0,0,'new-asset-Icons');dx(a.n,0,0,(wz(),xz),(Fz(),bA));a.Be(0,0,eIb(g));qO(e,a);a.De('100%');}qO(e,g.c);Cab(g.d,0,0,e);c=wt(g.d);hx(c,0,0,(Fz(),cA));st(wt(g.d),0,1,2);dx(wt(g.d),0,1,(wz(),xz),(Fz(),cA));iIb(g);d=DM(g.c,0);if(d!==null)hN(g.c,d);Cab(g.d,0,1,mz(new pw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));jx(wt(g.d),0,0,'25%');dx(wt(g.d),0,1,(wz(),yz),(Fz(),cA));g.e=kdc(new occ(),g.b,'rulelist');or(g,g.d);return g;}
-function cIb(d,a,c){var b;b=hIb(d,a.j,'images/package.gif',DHb(new CHb(),wFb(new vFb(),d,a)));b.A(hIb(d,'Business rule assets','images/rule_asset.gif',jIb(d,a.m,(q_(),r_))));b.A(hIb(d,'Technical rule assets','images/technical_rule_assets.gif',jIb(d,a.m,(q_(),t_))));b.A(hIb(d,'Functions','images/function_assets.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['function']))));b.A(hIb(d,'DSL','images/dsl.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['dsl']))));b.A(hIb(d,'Model','images/model_asset.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['jar']))));tM(d.c,b);if(c){iN(d.c,b,true);}}
-function eIb(h){var a,b,c,d,e,f,g,i;g=hA(new fA());d=mB(new wA(),'images/new_package.gif');d.ve('Create a new package');nB(d,bHb(new aHb(),h));i=Dcb(new Ccb(),'images/model_asset.gif');nB(i,fHb(new eHb(),h));i.ve('This creates a new model archive - models contain classes/types that rules use.');e=Dcb(new Ccb(),'images/new_rule.gif');e.ve('Create new rule');nB(e,jHb(new iHb(),h));c=Dcb(new Ccb(),'images/function_assets.gif');c.ve('Create a new function');nB(c,rHb(new qHb(),h));a=Dcb(new Ccb(),'images/dsl.gif');a.ve('Create a new DSL (language configuration)');nB(a,vHb(new uHb(),h));f=Dcb(new Ccb(),'images/ruleflow_small.gif');f.ve('Upload a new ruleflow.');nB(f,zHb(new yHb(),h));b=Dcb(new Ccb(),'images/new_enumeration.gif');b.ve('Create a new data enumeration (drop down list)');nB(b,fFb(new eFb(),h));iA(g,d);iA(g,i);iA(g,e);iA(g,c);iA(g,a);iA(g,f);iA(g,b);return g;}
-function fIb(d,a,e){var b,c,f;b=70;f=100;c=x7b(new h7b(),AGb(new zGb(),d),false,a,e,d.a);tE(c,dc((uab()-oE(c))/2),100);wE(c);}
-function gIb(a,b){xdb('Loading package information ...');jUb(nMb(),b,dGb(new cGb(),a));}
-function hIb(e,d,b,a){var c;c=wL(new uL());EL(c,'<img src="'+b+'">'+d+'<\/a>');eM(c,a);return c;}
-function iIb(a){if(a.h===null){xdb('Loading list of packages ...');dUb(nMb(),jFb(new iFb(),a));}else{xdb('Loading package ...');jUb(nMb(),a.h,nFb(new mFb(),a));}}
-function jIb(c,d,b){var a;a=AFb(new zFb(),c);return DHb(new CHb(),FFb(new EFb(),c,d,b,a));}
-function kIb(b,c){var a;a=qzb(new tyb(),rFb(new qFb(),b));tE(a,dc((uab()-oE(a))/2),100);wE(a);}
-function cFb(){}
-_=cFb.prototype=new qab();_.tN=ogc+'PackageExplorerWidget';_.tI=403;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function pGb(b,a){b.a=a;return b;}
-function rGb(a){iIb(a.a);}
-function sGb(){rGb(this);}
-function dFb(){}
-_=dFb.prototype=new gU();_.rb=sGb;_.tN=ogc+'PackageExplorerWidget$1';_.tI=404;function fFb(b,a){b.a=a;return b;}
-function hFb(a){fIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
-function eFb(){}
-_=eFb.prototype=new gU();_.Bc=hFb;_.tN=ogc+'PackageExplorerWidget$10';_.tI=405;function jFb(b,a){b.a=a;return b;}
-function lFb(a){var b,c;c=Fb(a,71);wM(this.a.c);for(b=0;b<c.a;b++){if(b==0){cIb(this.a,c[b],true);}else{cIb(this.a,c[b],false);}}tdb();}
-function iFb(){}
-_=iFb.prototype=new wcb();_.rd=lFb;_.tN=ogc+'PackageExplorerWidget$11';_.tI=406;function nFb(b,a){b.a=a;return b;}
-function pFb(a){var b;b=Fb(a,19);wM(this.a.c);cIb(this.a,b,true);tdb();}
-function mFb(){}
-_=mFb.prototype=new wcb();_.rd=pFb;_.tN=ogc+'PackageExplorerWidget$12';_.tI=407;function rFb(b,a){b.a=a;return b;}
-function tFb(a){iIb(a.a);}
-function uFb(){tFb(this);}
-function qFb(){}
-_=qFb.prototype=new gU();_.rb=uFb;_.tN=ogc+'PackageExplorerWidget$13';_.tI=408;function wFb(b,a,c){b.a=a;b.b=c;return b;}
-function yFb(){if(this.a.rc()){if(Bh('Discard Changes ? ')){tab(this.a);gIb(this.a,this.b.m);}}else{gIb(this.a,this.b.m);}}
-function vFb(){}
-_=vFb.prototype=new gU();_.rb=yFb;_.tN=ogc+'PackageExplorerWidget$14';_.tI=409;function AFb(b,a){b.a=a;return b;}
-function CFb(c,a){var b;b=Fb(a,62);pdc(c.a.e,b);c.a.e.De('100%');Cab(c.a.d,0,1,c.a.e);dx(wt(c.a.d),0,1,(wz(),yz),(Fz(),cA));tdb();}
-function DFb(a){CFb(this,a);}
-function zFb(){}
-_=zFb.prototype=new wcb();_.rd=DFb;_.tN=ogc+'PackageExplorerWidget$15';_.tI=410;function FFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
-function bGb(){xdb('Loading list, please wait...');cUb(nMb(),this.c,this.b,(-1),(-1),this.a);}
-function EFb(){}
-_=EFb.prototype=new gU();_.rb=bGb;_.tN=ogc+'PackageExplorerWidget$16';_.tI=411;function dGb(b,a){b.a=a;return b;}
-function fGb(c){var a,b,d,e,f,g,h,i;b=Fb(c,19);g=yH(new xH());this.a.a=b.j;e=dcb(new acb(),'images/package_large.png',b.j);CN(e,'package-Editor');e.De('100%');ecb(e,'Description:',eC(new cC(),b.d));ecb(e,'Date created:',eC(new cC(),b0(b.c)));if(b.g){ecb(e,'Snapshot created on:',eC(new cC(),b0(b.i)));ecb(e,'Snapshot comment:',eC(new cC(),b.b));h=vBb(b);d=mz(new pw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");ecb(e,'Download package:',d);ecb(e,'Package URI:',eC(new cC(),h));i=yp(new sp(),'View package source');i.z(hGb(new gGb(),this,b));ecb(e,'Show package source:',i);}if(!b.g){hcb(e,mz(new pw(),'<i>Choose one of the options below<\/i>'));}f=lGb(new kGb(),this);a=vGb(new uGb(),this);AH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){AH(g,uEb(new xBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);AH(g,oBb(new uzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{AH(!
 g,uEb(new xBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.De('100%');Cab(this.a.d,0,1,g);tdb();}
-function cGb(){}
-_=cGb.prototype=new wcb();_.rd=fGb;_.tN=ogc+'PackageExplorerWidget$17';_.tI=412;function hGb(b,a,c){b.a=c;return b;}
-function jGb(a){uBb(this.a.m,this.a.j);}
-function gGb(){}
-_=gGb.prototype=new gU();_.Bc=jGb;_.tN=ogc+'PackageExplorerWidget$18';_.tI=413;function lGb(b,a){b.a=a;return b;}
-function nGb(a){sab(a.a.a);}
-function oGb(){nGb(this);}
-function kGb(){}
-_=kGb.prototype=new gU();_.rb=oGb;_.tN=ogc+'PackageExplorerWidget$19';_.tI=414;function EGb(c){var a,b;a=Fb(c.k,90);b=a.a;xdb('Please wait...');fg(b);}
-function FGb(a){}
-function tGb(){}
-_=tGb.prototype=new gU();_.td=EGb;_.ud=FGb;_.tN=ogc+'PackageExplorerWidget$2';_.tI=415;function vGb(b,a){b.a=a;return b;}
-function xGb(a){tab(a.a.a);}
-function yGb(){xGb(this);}
-function uGb(){}
-_=uGb.prototype=new gU();_.rb=yGb;_.tN=ogc+'PackageExplorerWidget$20';_.tI=416;function AGb(b,a){b.a=a;return b;}
-function CGb(a){pIb(this.a.b,a);}
-function zGb(){}
-_=zGb.prototype=new gU();_.yd=CGb;_.tN=ogc+'PackageExplorerWidget$21';_.tI=417;function bHb(b,a){b.a=a;return b;}
-function dHb(a){kIb(this.a,a);}
-function aHb(){}
-_=aHb.prototype=new gU();_.Bc=dHb;_.tN=ogc+'PackageExplorerWidget$3';_.tI=418;function fHb(b,a){b.a=a;return b;}
-function hHb(a){fIb(this.a,'jar','Create a new model archive');}
-function eHb(){}
-_=eHb.prototype=new gU();_.Bc=hHb;_.tN=ogc+'PackageExplorerWidget$4';_.tI=419;function jHb(b,a){b.a=a;return b;}
-function lHb(d){var a,b,c;a=70;c=100;b=x7b(new h7b(),nHb(new mHb(),this),true,null,'Create a new rule asset',this.a.a);tE(b,dc((uab()-oE(b))/2),100);wE(b);}
-function iHb(){}
-_=iHb.prototype=new gU();_.Bc=lHb;_.tN=ogc+'PackageExplorerWidget$5';_.tI=420;function nHb(b,a){b.a=a;return b;}
-function pHb(a){pIb(this.a.a.b,a);}
-function mHb(){}
-_=mHb.prototype=new gU();_.yd=pHb;_.tN=ogc+'PackageExplorerWidget$6';_.tI=421;function rHb(b,a){b.a=a;return b;}
-function tHb(a){fIb(this.a,'function','Create a new function');}
-function qHb(){}
-_=qHb.prototype=new gU();_.Bc=tHb;_.tN=ogc+'PackageExplorerWidget$7';_.tI=422;function vHb(b,a){b.a=a;return b;}
-function xHb(a){fIb(this.a,'dsl','Create a new language configuration');}
-function uHb(){}
-_=uHb.prototype=new gU();_.Bc=xHb;_.tN=ogc+'PackageExplorerWidget$8';_.tI=423;function zHb(b,a){b.a=a;return b;}
-function BHb(a){fIb(this.a,'rf','Create a new ruleflow');}
-function yHb(){}
-_=yHb.prototype=new gU();_.Bc=BHb;_.tN=ogc+'PackageExplorerWidget$9';_.tI=424;function DHb(b,a){b.a=a;return b;}
-function CHb(){}
-_=CHb.prototype=new gU();_.tN=ogc+'PackageExplorerWidget$PackageTreeItem';_.tI=425;_.a=null;function rIb(a){a.a=(oZ(),pZ);}
-function sIb(a){tIb(a,null,null);return a;}
-function tIb(e,c,d){var a,b;rIb(e);e.b=AJ(new mJ());e.b.De('100%');e.b.se('30%');a=nIb(new mIb(),e,d);b=null;if(c===null){b=aIb(new cFb(),a);}else{b=bIb(new cFb(),a,c,d);}BJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);bK(e.b,0);or(e,e.b);return e;}
-function vIb(b,a){b.a=a;}
-function lIb(){}
-_=lIb.prototype=new mr();_.tN=ogc+'PackageManagerView';_.tI=426;_.b=null;function nIb(b,a,c){b.a=a;b.b=c;return b;}
-function pIb(b,a){d5b(b.a.a,b.a.b,a,b.b!==null);}
-function qIb(a){pIb(this,a);}
-function mIb(){}
-_=mIb.prototype=new gU();_.yd=qIb;_.tN=ogc+'PackageManagerView$1';_.tI=427;function oKb(b){var a,c;b.a=tt(new nt());b.c=AJ(new mJ());b.c.De('100%');b.c.se('100%');c=pO(new nO());qO(c,b.a);a=yp(new sp(),'Rebuild snapshot binaries');a.ve('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.z(new xIb());qO(c,a);BJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);jx(b.a.n,0,0,'28%');b.b=nMb();wKb(b);b.a.De('100%');or(b,b.c);bK(b.c,0);return b;}
-function pKb(h,c){var a,b,d,e,f,g;g=rM(new eL());d=pO(new nO());for(a=0;a<c.a;a++){e=c[a].j;b=uKb(h,e,'images/package_snapshot.gif',xJb(new wJb(),h,e));tM(g,b);}qO(d,g);f=mz(new pw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");fC(f,BJb(new AJb(),h));vM(g,new EJb());uO(d,(Fz(),cA));tO(d,(wz(),yz));qO(d,f);CN(d,'snapshot-List');h.a.Be(0,0,d);hx(h.a.n,0,0,(Fz(),cA));}
-function rKb(g,e,f){var a,b,c,d;c=scb(new ncb(),'images/snapshot.png','Copy snapshot '+f);a=bL(new sK());tcb(c,'New label:',a);d=yp(new sp(),'OK');tcb(c,'',d);d.z(hKb(new gKb(),g,e,f,a,c));b=yp(new sp(),'Copy');b.z(zIb(new yIb(),g,c));return b;}
-function sKb(d,c,b){var a;a=yp(new sp(),'Delete');a.z(bJb(new aJb(),d,c,b));return a;}
-function tKb(d,b,c,e){var a;a=yp(new sp(),'Open');a.z(DIb(new CIb(),d,b,c,e));return a;}
-function uKb(e,d,b,a){var c;c=wL(new uL());EL(c,'<img src="'+b+'">'+d+'<\/a>');eM(c,a);return c;}
-function vKb(g,e,f,h){var a,b,c,d,i;i=tt(new nt());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=hA(new fA());iA(c,mz(new pw(),d));a=Dcb(new Ccb(),'images/close.gif');a.ve('Close this view');nB(a,jJb(new iJb(),g));iA(c,a);i.Be(0,0,c);b=wt(i);gx(b,0,0,'editable-Surface');i.Be(1,0,tIb(new lIb(),h,f));i.De('100%');i.se('100%');if(g.c.a.f.c>1){aK(g.c,1);}BJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);bK(g.c,1);}
-function wKb(a){xdb('Loading package list...');dUb(a.b,tJb(new sJb(),a));}
-function xKb(h,d,b){var a,c,e,f,g;e=dcb(new acb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=tt(new nt());az(g,0,1,'Name');az(g,0,2,'Comment');tx(g.p,0,xfc);for(a=0;a<b.a;a++){f=a+1;c=eC(new cC(),b[a].b);g.Be(f,0,mB(new wA(),'images/package_snapshot_item.gif'));g.Be(f,1,c);g.Be(f,2,eC(new cC(),b[a].a));g.Be(f,3,tKb(h,d,iC(c),b[a].c));g.Be(f,4,rKb(h,d,iC(c)));g.Be(f,5,sKb(h,iC(c),d));if(a%2==0){tx(g.p,a+1,vfc);}}e.De('100%');hcb(e,g);g.De('100%');CN(e,wfc);h.a.Be(0,1,e);hx(wt(h.a),0,1,(Fz(),cA));}
-function yKb(b,a){xdb('Loading snapshots...');eUb(b.b,a,dKb(new cKb(),b,a));}
-function wIb(){}
-_=wIb.prototype=new mr();_.tN=ogc+'PackageSnapshotView';_.tI=428;_.a=null;_.b=null;_.c=null;function nJb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){xdb('Rebuilding snapshots. Please wait, this may take some time...');pUb(nMb(),new oJb());}}
-function xIb(){}
-_=xIb.prototype=new gU();_.Bc=nJb;_.tN=ogc+'PackageSnapshotView$1';_.tI=429;function zIb(b,a,c){b.a=c;return b;}
-function BIb(a){tE(this.a,dc((uab()-oE(this.a))/2),100);wE(this.a);}
-function yIb(){}
-_=yIb.prototype=new gU();_.Bc=BIb;_.tN=ogc+'PackageSnapshotView$10';_.tI=430;function DIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
-function FIb(a){vKb(this.a,this.b,this.c,this.d);}
-function CIb(){}
-_=CIb.prototype=new gU();_.Bc=FIb;_.tN=ogc+'PackageSnapshotView$11';_.tI=431;function bJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function dJb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{ATb(this.a.b,this.b,this.c,true,null,fJb(new eJb(),this,this.b));}}
-function aJb(){}
-_=aJb.prototype=new gU();_.Bc=dJb;_.tN=ogc+'PackageSnapshotView$12';_.tI=432;function fJb(b,a,c){b.a=a;b.b=c;return b;}
-function hJb(a){yKb(this.a.a,this.b);}
-function eJb(){}
-_=eJb.prototype=new wcb();_.rd=hJb;_.tN=ogc+'PackageSnapshotView$13';_.tI=433;function jJb(b,a){b.a=a;return b;}
-function lJb(a){aK(this.a.c,1);bK(this.a.c,0);}
-function iJb(){}
-_=iJb.prototype=new gU();_.Bc=lJb;_.tN=ogc+'PackageSnapshotView$14';_.tI=434;function qJb(b,a){tdb();zh('Snapshots were rebuilt successfully.');}
-function rJb(a){qJb(this,a);}
-function oJb(){}
-_=oJb.prototype=new wcb();_.rd=rJb;_.tN=ogc+'PackageSnapshotView$2';_.tI=435;function tJb(b,a){b.a=a;return b;}
-function vJb(a){var b;b=Fb(a,71);pKb(this.a,b);tdb();}
-function sJb(){}
-_=sJb.prototype=new wcb();_.rd=vJb;_.tN=ogc+'PackageSnapshotView$3';_.tI=436;function xJb(b,a,c){b.a=a;b.b=c;return b;}
-function zJb(){yKb(this.a,this.b);}
-function wJb(){}
-_=wJb.prototype=new gU();_.rb=zJb;_.tN=ogc+'PackageSnapshotView$4';_.tI=437;function BJb(b,a){b.a=a;return b;}
-function DJb(a){wKb(this.a);}
-function AJb(){}
-_=AJb.prototype=new gU();_.Bc=DJb;_.tN=ogc+'PackageSnapshotView$5';_.tI=438;function aKb(a){fg(Fb(a.k,4));}
-function bKb(a){}
-function EJb(){}
-_=EJb.prototype=new gU();_.td=aKb;_.ud=bKb;_.tN=ogc+'PackageSnapshotView$6';_.tI=439;function dKb(b,a,c){b.a=a;b.b=c;return b;}
-function fKb(a){var b;b=Fb(a,86);xKb(this.a,this.b,b);tdb();}
-function cKb(){}
-_=cKb.prototype=new wcb();_.rd=fKb;_.tN=ogc+'PackageSnapshotView$7';_.tI=440;function hKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
-function jKb(a){ATb(this.a.b,this.d,this.e,false,zK(this.b),lKb(new kKb(),this,this.d,this.c));}
-function gKb(){}
-_=gKb.prototype=new gU();_.Bc=jKb;_.tN=ogc+'PackageSnapshotView$8';_.tI=441;function lKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function nKb(a){yKb(this.a.a,this.c);this.b.nc();}
-function kKb(){}
-_=kKb.prototype=new wcb();_.rd=nKb;_.tN=ogc+'PackageSnapshotView$9';_.tI=442;function bLb(){bLb=e3;gLb=aLb(new zKb());}
-function FKb(a){a.a=l1(new p0());}
-function aLb(a){bLb();FKb(a);return a;}
-function cLb(c,b,a){if(!o1(c.a,b)){eLb(c,b,a);}else{w4b(a);}}
-function dLb(c,b){var a;a=Fb(r1(c.a,b),91);if(a===null){ybb('Unable to get content assistance for this rule.');return null;}return a;}
-function eLb(c,b,a){zV(),CV;mUb(nMb(),b,BKb(new AKb(),c,b,a));}
-function fLb(c,b,a){if(o1(c.a,b)){t1(c.a,b);eLb(c,b,a);}else{a.rb();}}
-function zKb(){}
-_=zKb.prototype=new gU();_.tN=ogc+'SuggestionCompletionCache';_.tI=443;var gLb;function BKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function DKb(c,a){var b;b=Fb(a,91);s1(c.a.a,c.c,b);c.b.rb();}
-function EKb(a){DKb(this,a);}
-function AKb(){}
-_=AKb.prototype=new wcb();_.rd=EKb;_.tN=ogc+'SuggestionCompletionCache$1';_.tI=444;function nLb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
-function hLb(){}
-_=hLb.prototype=new gU();_.tS=nLb;_.tN=pgc+'BuilderResult';_.tI=445;_.a=null;_.b=null;_.c=null;_.d=null;function lLb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();a.d=b.ae();}
-function mLb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);b.jf(a.d);}
-function oLb(){}
-_=oLb.prototype=new nl();_.tN=pgc+'DetailedSerializableException';_.tI=446;_.a=null;function sLb(b,a){vLb(a,b.ae());rl(b,a);}
-function tLb(a){return a.a;}
-function uLb(b,a){b.jf(tLb(a));tl(b,a);}
-function vLb(a,b){a.a=b;}
-function xLb(a){a.a=yb('[Ljava.lang.String;',[609],[1],[0],null);}
-function yLb(a){xLb(a);return a;}
-function zLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(FU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[609],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function BLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[609],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function wLb(){}
-_=wLb.prototype=new gU();_.tN=pgc+'MetaData';_.tI=447;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function ELb(b,a){a.a=Fb(b.Fd(),63);a.b=b.ae();a.c=b.ae();a.d=Fb(b.Fd(),59);a.e=b.ae();a.f=Fb(b.Fd(),59);a.g=Fb(b.Fd(),59);a.h=b.ae();a.i=b.ae();a.j=b.ae();a.k=b.ae();a.l=b.ae();a.m=Fb(b.Fd(),59);a.n=b.ae();a.o=b.ae();a.p=b.ae();a.q=b.ae();a.r=b.ae();a.s=b.ae();a.t=b.ae();a.u=b.ae();a.v=b.Ed();}
-function FLb(b,a){b.hf(a.a);b.jf(a.b);b.jf(a.c);b.hf(a.d);b.jf(a.e);b.hf(a.f);b.hf(a.g);b.jf(a.h);b.jf(a.i);b.jf(a.j);b.jf(a.k);b.jf(a.l);b.hf(a.m);b.jf(a.n);b.jf(a.o);b.jf(a.p);b.jf(a.q);b.jf(a.r);b.jf(a.s);b.jf(a.t);b.jf(a.u);b.gf(a.v);}
-function aMb(){}
-_=aMb.prototype=new gU();_.tN=pgc+'PackageConfigData';_.tI=448;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function eMb(b,a){a.a=b.Bd();a.b=b.ae();a.c=Fb(b.Fd(),59);a.d=b.ae();a.e=b.ae();a.f=b.ae();a.g=b.Bd();a.h=b.ae();a.i=Fb(b.Fd(),59);a.j=b.ae();a.k=b.ae();a.l=b.ae();a.m=b.ae();}
-function fMb(b,a){b.df(a.a);b.jf(a.b);b.hf(a.c);b.jf(a.d);b.jf(a.e);b.jf(a.f);b.df(a.g);b.jf(a.h);b.hf(a.i);b.jf(a.j);b.jf(a.k);b.jf(a.l);b.jf(a.m);}
-function lMb(){var a,b,c;c=kSb(new qMb());a=c;b=v()+'jbrmsService';wUb(a,b);return c;}
-function mMb(){var a,b,c;c=yXb(new nXb());a=c;b=v()+'jbrmsService';EXb(a,b);return c;}
-function nMb(){if(kMb===null){oMb();}return kMb;}
-function oMb(){if(jMb)kMb=null;else kMb=lMb();}
-function pMb(d,b,a){var c;c=mMb();DXb(c,d,b,a);}
-var jMb=false,kMb=null;function yTb(){yTb=e3;xUb=zUb(new yUb());}
-function kSb(a){yTb();return a;}
-function lSb(b,a,c,d){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'archiveAsset');tn(a,2);vn(a,'java.lang.String');vn(a,'Z');vn(a,c);sn(a,d);}
-function nSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildAsset');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
-function mSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildAssetSource');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
-function pSb(d,c,a,b){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'buildPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,a);vn(c,b);}
-function oSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildPackageSource');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function qSb(d,c,e,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'changeAssetPackage');tn(c,3);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,e);vn(c,b);vn(c,a);}
-function rSb(c,b,d,a,e){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'changeState');tn(b,3);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,'Z');vn(b,d);vn(b,a);sn(b,e);}
-function sSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'checkinVersion');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
-function tSb(e,d,a,c,b){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'copyAsset');tn(d,3);vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,a);vn(d,c);vn(d,b);}
-function uSb(f,e,c,d,a,b){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'copyOrRemoveSnapshot');tn(e,4);vn(e,'java.lang.String');vn(e,'java.lang.String');vn(e,'Z');vn(e,'java.lang.String');vn(e,c);vn(e,d);sn(e,a);vn(e,b);}
-function vSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'copyPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
-function wSb(e,d,c,b,a){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'createCategory');tn(d,3);vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,c);vn(d,b);vn(d,a);}
-function xSb(g,f,e,a,c,d,b){if(g.a===null)throw Cl(new Bl());zo(f);vn(f,'org.drools.brms.client.rpc.RepositoryService');vn(f,'createNewRule');tn(f,5);vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,e);vn(f,a);vn(f,c);vn(f,d);vn(f,b);}
-function zSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'createPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
-function ySb(f,e,b,d,c,a){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'createPackageSnapshot');tn(e,4);vn(e,'java.lang.String');vn(e,'java.lang.String');vn(e,'Z');vn(e,'java.lang.String');vn(e,b);vn(e,d);sn(e,c);vn(e,a);}
-function ASb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'createState');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function BSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'deleteUncheckedRule');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
-function CSb(f,e,c,a,b,d){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'listAssets');tn(e,4);vn(e,'java.lang.String');vn(e,'[Ljava.lang.String;');vn(e,'I');vn(e,'I');vn(e,c);un(e,a);tn(e,b);tn(e,d);}
-function DSb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'listPackages');tn(a,0);}
-function ESb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'listSnapshots');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function FSb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'listStates');tn(a,0);}
-function aTb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadArchivedAssets');tn(a,0);}
-function bTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadAssetHistory');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
-function cTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadChildCategories');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function dTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadPackageConfig');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
-function eTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadRuleAsset');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function fTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadRuleListForCategories');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function gTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadSuggestionCompletionEngine');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function hTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadTableConfig');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function iTb(e,d,c,a,b){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'quickFindAsset');tn(d,3);vn(d,'java.lang.String');vn(d,'I');vn(d,'Z');vn(d,c);tn(d,a);sn(d,b);}
-function jTb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'rebuildSnapshots');tn(a,0);}
-function kTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'removeAsset');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
-function lTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'removeCategory');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function mTb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'renameAsset');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
-function nTb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'renamePackage');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
-function oTb(d,c,e,a,b){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'restoreVersion');tn(c,3);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,e);vn(c,a);vn(c,b);}
-function pTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'savePackage');tn(b,1);vn(b,'org.drools.brms.client.rpc.PackageConfigData');un(b,a);}
-function qTb(h,i,j,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=FNb(new rMb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=wPb(new dOb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=nRb(new APb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uTb(j,f,g,c){var a,d,e,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=sRb(new rRb(),j,h,c);if(!wg(j.a,Co(i),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tTb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=xRb(new wRb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vTb(j,k,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=CRb(new BRb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wTb(i,j,f,k,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=bSb(new aSb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function xTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=gSb(new fSb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function zTb(k,c,h,g,d){var a,e,f,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=tMb(new sMb(),k,i,d);if(!wg(k.a,Co(j),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ATb(l,h,i,d,g,c){var a,e,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=yMb(new xMb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function BTb(j,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=DMb(new CMb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CTb(k,h,g,d,c){var a,e,f,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=cNb(new bNb(),k,i,c);if(!wg(k.a,Co(j),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=bo(new ao(),xUb);l=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}g=hNb(new gNb(),m,k,c);if(!wg(m.a,Co(l),g))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FTb(j,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=mNb(new lNb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ETb(l,g,i,h,d,c){var a,e,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=rNb(new qNb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=wNb(new vNb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bUb(j,g,f,c){var a,d,e,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=BNb(new ANb(),j,h,c);if(!wg(j.a,Co(i),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cUb(l,h,e,g,i,c){var a,d,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}f=fOb(new eOb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=kOb(new jOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=pOb(new oOb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=uOb(new tOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=zOb(new yOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=EOb(new DOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function iUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=dPb(new cPb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function jUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=iPb(new hPb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function kUb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eTb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=nPb(new mPb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=sPb(new rPb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=CPb(new BPb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function nUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=bQb(new aQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oUb(k,h,f,g,c){var a,d,e,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iTb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=gQb(new fQb(),k,i,c);if(!wg(k.a,Co(j),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=lQb(new kQb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=qQb(new pQb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=vQb(new uQb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sUb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=AQb(new zQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tUb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=FQb(new EQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uUb(j,k,c,e,d){var a,f,g,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oTb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;ycb(d,f);return;}else throw a;}g=eRb(new dRb(),j,h,d);if(!wg(j.a,Co(i),g))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=jRb(new iRb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wUb(b,a){b.a=a;}
-function qMb(){}
-_=qMb.prototype=new gU();_.tN=pgc+'RepositoryService_Proxy';_.tI=449;_.a=null;var xUb;function FNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function bOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g7(g.a,f);else ycb(g.a,c);}
-function cOb(a){var b;b=x;bOb(this,a);}
-function rMb(){}
-_=rMb.prototype=new gU();_.Cc=cOb;_.tN=pgc+'RepositoryService_Proxy$1';_.tI=450;function tMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)E0b(g.a,f);else ycb(g.a,c);}
-function wMb(a){var b;b=x;vMb(this,a);}
-function sMb(){}
-_=sMb.prototype=new gU();_.Cc=wMb;_.tN=pgc+'RepositoryService_Proxy$10';_.tI=451;function yMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function AMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function BMb(a){var b;b=x;AMb(this,a);}
-function xMb(){}
-_=xMb.prototype=new gU();_.Cc=BMb;_.tN=pgc+'RepositoryService_Proxy$11';_.tI=452;function DMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)aCb(g.a,f);else ycb(g.a,c);}
-function aNb(a){var b;b=x;FMb(this,a);}
-function CMb(){}
-_=CMb.prototype=new gU();_.Cc=aNb;_.tN=pgc+'RepositoryService_Proxy$12';_.tI=453;function cNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function eNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)l$(g.a,f);else ycb(g.a,c);}
-function fNb(a){var b;b=x;eNb(this,a);}
-function bNb(){}
-_=bNb.prototype=new gU();_.Cc=fNb;_.tN=pgc+'RepositoryService_Proxy$13';_.tI=454;function hNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t7b(g.a,f);else ycb(g.a,c);}
-function kNb(a){var b;b=x;jNb(this,a);}
-function gNb(){}
-_=gNb.prototype=new gU();_.Cc=kNb;_.tN=pgc+'RepositoryService_Proxy$14';_.tI=455;function mNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)ezb(g.a,f);else ycb(g.a,c);}
-function pNb(a){var b;b=x;oNb(this,a);}
-function lNb(){}
-_=lNb.prototype=new gU();_.Cc=pNb;_.tN=pgc+'RepositoryService_Proxy$15';_.tI=456;function rNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function tNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)fAb(g.a,f);else ycb(g.a,c);}
-function uNb(a){var b;b=x;tNb(this,a);}
-function qNb(){}
-_=qNb.prototype=new gU();_.Cc=uNb;_.tN=pgc+'RepositoryService_Proxy$16';_.tI=457;function wNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)y9(g.a,f);else ycb(g.a,c);}
-function zNb(a){var b;b=x;yNb(this,a);}
-function vNb(){}
-_=vNb.prototype=new gU();_.Cc=zNb;_.tN=pgc+'RepositoryService_Proxy$17';_.tI=458;function BNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u$b(g.a,f);else ycb(g.a,c);}
-function ENb(a){var b;b=x;DNb(this,a);}
-function ANb(){}
-_=ANb.prototype=new gU();_.Cc=ENb;_.tN=pgc+'RepositoryService_Proxy$18';_.tI=459;function wPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x8b(g.a,f);else ycb(g.a,c);}
-function zPb(a){var b;b=x;yPb(this,a);}
-function dOb(){}
-_=dOb.prototype=new gU();_.Cc=zPb;_.tN=pgc+'RepositoryService_Proxy$2';_.tI=460;function fOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)CFb(g.a,f);else ycb(g.a,c);}
-function iOb(a){var b;b=x;hOb(this,a);}
-function eOb(){}
-_=eOb.prototype=new gU();_.Cc=iOb;_.tN=pgc+'RepositoryService_Proxy$20';_.tI=461;function kOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function nOb(a){var b;b=x;mOb(this,a);}
-function jOb(){}
-_=jOb.prototype=new gU();_.Cc=nOb;_.tN=pgc+'RepositoryService_Proxy$21';_.tI=462;function pOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function sOb(a){var b;b=x;rOb(this,a);}
-function oOb(){}
-_=oOb.prototype=new gU();_.Cc=sOb;_.tN=pgc+'RepositoryService_Proxy$22';_.tI=463;function uOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function xOb(a){var b;b=x;wOb(this,a);}
-function tOb(){}
-_=tOb.prototype=new gU();_.Cc=xOb;_.tN=pgc+'RepositoryService_Proxy$23';_.tI=464;function zOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function BOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u7(g.a,f);else ycb(g.a,c);}
-function COb(a){var b;b=x;BOb(this,a);}
-function yOb(){}
-_=yOb.prototype=new gU();_.Cc=COb;_.tN=pgc+'RepositoryService_Proxy$24';_.tI=465;function EOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)v_b(g.a,f);else ycb(g.a,c);}
-function bPb(a){var b;b=x;aPb(this,a);}
-function DOb(){}
-_=DOb.prototype=new gU();_.Cc=bPb;_.tN=pgc+'RepositoryService_Proxy$25';_.tI=466;function dPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function gPb(a){var b;b=x;fPb(this,a);}
-function cPb(){}
-_=cPb.prototype=new gU();_.Cc=gPb;_.tN=pgc+'RepositoryService_Proxy$26';_.tI=467;function iPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function kPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function lPb(a){var b;b=x;kPb(this,a);}
-function hPb(){}
-_=hPb.prototype=new gU();_.Cc=lPb;_.tN=pgc+'RepositoryService_Proxy$27';_.tI=468;function nPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function qPb(a){var b;b=x;pPb(this,a);}
-function mPb(){}
-_=mPb.prototype=new gU();_.Cc=qPb;_.tN=pgc+'RepositoryService_Proxy$28';_.tI=469;function sPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)acc(g.a,f);else ycb(g.a,c);}
-function vPb(a){var b;b=x;uPb(this,a);}
-function rPb(){}
-_=rPb.prototype=new gU();_.Cc=vPb;_.tN=pgc+'RepositoryService_Proxy$29';_.tI=470;function nRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)C8b(g.a,f);else ycb(g.a,c);}
-function qRb(a){var b;b=x;pRb(this,a);}
-function APb(){}
-_=APb.prototype=new gU();_.Cc=qRb;_.tN=pgc+'RepositoryService_Proxy$3';_.tI=471;function CPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function EPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)DKb(g.a,f);else ycb(g.a,c);}
-function FPb(a){var b;b=x;EPb(this,a);}
-function BPb(){}
-_=BPb.prototype=new gU();_.Cc=FPb;_.tN=pgc+'RepositoryService_Proxy$30';_.tI=472;function bQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wcc(g.a,f);else ycb(g.a,c);}
-function eQb(a){var b;b=x;dQb(this,a);}
-function aQb(){}
-_=aQb.prototype=new gU();_.Cc=eQb;_.tN=pgc+'RepositoryService_Proxy$31';_.tI=473;function gQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function jQb(a){var b;b=x;iQb(this,a);}
-function fQb(){}
-_=fQb.prototype=new gU();_.Cc=jQb;_.tN=pgc+'RepositoryService_Proxy$32';_.tI=474;function lQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)qJb(g.a,f);else ycb(g.a,c);}
-function oQb(a){var b;b=x;nQb(this,a);}
-function kQb(){}
-_=kQb.prototype=new gU();_.Cc=oQb;_.tN=pgc+'RepositoryService_Proxy$33';_.tI=475;function qQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)p7(g.a,f);else ycb(g.a,c);}
-function tQb(a){var b;b=x;sQb(this,a);}
-function pQb(){}
-_=pQb.prototype=new gU();_.Cc=tQb;_.tN=pgc+'RepositoryService_Proxy$34';_.tI=476;function vQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g9(g.a,f);else ycb(g.a,c);}
-function yQb(a){var b;b=x;xQb(this,a);}
-function uQb(){}
-_=uQb.prototype=new gU();_.Cc=yQb;_.tN=pgc+'RepositoryService_Proxy$35';_.tI=477;function AQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function CQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u6b(g.a,f);else ycb(g.a,c);}
-function DQb(a){var b;b=x;CQb(this,a);}
-function zQb(){}
-_=zQb.prototype=new gU();_.Cc=DQb;_.tN=pgc+'RepositoryService_Proxy$36';_.tI=478;function FQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function bRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)sEb(g.a,f);else ycb(g.a,c);}
-function cRb(a){var b;b=x;bRb(this,a);}
-function EQb(){}
-_=EQb.prototype=new gU();_.Cc=cRb;_.tN=pgc+'RepositoryService_Proxy$37';_.tI=479;function eRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Eac(g.a,f);else ycb(g.a,c);}
-function hRb(a){var b;b=x;gRb(this,a);}
-function dRb(){}
-_=dRb.prototype=new gU();_.Cc=hRb;_.tN=pgc+'RepositoryService_Proxy$38';_.tI=480;function jRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function lRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)fCb(g.a,f);else ycb(g.a,c);}
-function mRb(a){var b;b=x;lRb(this,a);}
-function iRb(){}
-_=iRb.prototype=new gU();_.Cc=mRb;_.tN=pgc+'RepositoryService_Proxy$39';_.tI=481;function sRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eBb(g.a,f);else ycb(g.a,c);}
-function vRb(a){var b;b=x;uRb(this,a);}
-function rRb(){}
-_=rRb.prototype=new gU();_.Cc=vRb;_.tN=pgc+'RepositoryService_Proxy$4';_.tI=482;function xRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vAb(g.a,f);else ycb(g.a,c);}
-function ARb(a){var b;b=x;zRb(this,a);}
-function wRb(){}
-_=wRb.prototype=new gU();_.Cc=ARb;_.tN=pgc+'RepositoryService_Proxy$5';_.tI=483;function CRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function ERb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)m5b(g.a,f);else ycb(g.a,c);}
-function FRb(a){var b;b=x;ERb(this,a);}
-function BRb(){}
-_=BRb.prototype=new gU();_.Cc=FRb;_.tN=pgc+'RepositoryService_Proxy$6';_.tI=484;function bSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dSb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)yeb(g.a,f);else ycb(g.a,c);}
-function eSb(a){var b;b=x;dSb(this,a);}
-function aSb(){}
-_=aSb.prototype=new gU();_.Cc=eSb;_.tN=pgc+'RepositoryService_Proxy$7';_.tI=485;function gSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iSb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)z$b(g.a,f);else ycb(g.a,c);}
-function jSb(a){var b;b=x;iSb(this,a);}
-function fSb(){}
-_=fSb.prototype=new gU();_.Cc=jSb;_.tN=pgc+'RepositoryService_Proxy$8';_.tI=486;function AUb(){AUb=e3;CWb=BUb();FWb=CUb();}
-function zUb(a){AUb();return a;}
-function BUb(){AUb();return {'[B/2233087514':[function(a){return DUb(a);},function(a,b){pm(a,b);},function(a,b){qm(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return EUb(a);},function(a,b){gl(a,b);},function(a,b){hl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return FUb(a);},function(a,b){rl(a,b);},function(a,b){tl(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return eVb(a);},function(a,b){vD(a,b);},function(a,b){yD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return fVb(a);},function(a,b){nI(a,b);},function(a,b){qI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return gVb(a);},function(a,b){vI(a,b);},function(a,b){xI(a,b);}],'java.lang.Boolean/476441737':[function(a){return cm(a);},function(a,b){bm(a,b);},function(a,b){dm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return lm(a);},function(a,b){km(a,b);},function(a,b){mm(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return hVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return aVb(a);},function(a,b){tm(a,b);},function(a,b){um(a,b);}],'java.util.Date/1659716317':[function(a){return ym(a);},function(a,b){xm(a,b);},function(a,b){zm(a,b);}],'java.util.HashMap/962170901':[function(a){return bVb(a);},function(a,b){Cm(a,b);},function(a,b){Dm(a,b);}],'java.util.HashSet/1594477813':[function(a){return cVb(a);},function(a,b){an(a,b);},function(a,b){bn(a,b);}],'java.util.Vector/3125574444':[function(a){return dVb(a);},function(a,b){en(a,b);},function(a,b){fn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return iVb(a);},function(a,b){ygb(a,b);},function(a,b){zgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return jVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return lVb(a);},function(a,b){rhb(a,b);},function(a,b){shb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return kVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return nVb(a);},function(a,b){zhb(a,b);},function(a,b){Ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return mVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return pVb(a);},function(a,b){bib(a,b);},function(a,b){cib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return oVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn rVb(a);},function(a,b){iib(a,b);},function(a,b){jib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return qVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return tVb(a);},function(a,b){qib(a,b);},function(a,b){rib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return sVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return vVb(a);},function(a,b){yib(a,b);},function(a,b){zib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return uVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return xVb(a);},function(a,b){ajb(a,b);},function(a,b){bjb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn wVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return zVb(a);},function(a,b){ijb(a,b);},function(a,b){jjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return yVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return BVb(a);},function(a,b){ojb(a,b);},function(a,b){pjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return AVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return DVb(a);},function(a,b){wjb(a,b);},function(a,b){xjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return CVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return FVb(a);},function(a,b){ckb(a,b);},function(a,b){dkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return EVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return aWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return bWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return cWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return dWb(a);},function(a,b){lkb(a,b);},function(a,b){mkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return fWb(a);},function(a,b){tkb(a,b);},function(a,b!
 ){ukb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return eWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return gWb(a);},function(a,b){ilb(a,b);},function(a,b){jlb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return iWb(a);},function(a,b){rlb(a,b);},function(a,b){slb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return hWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return kWb(a);},function(a,b){lLb(a,b);},function(a,b){mLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return jWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return lWb(a);},function(a,b){sLb(a,b);},function(a,b){uLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return mWb(a);},function(a,b){ELb(a,b);},function(a,b){FLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return oWb(a);},function(a,b){eMb(a,b);},function(a,b){fMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return nWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return pWb(a);},function(a,b){eXb(a,b);},function(a,b){fXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return qWb(a);},function(a,b){kXb(a,b);},function(a,b){lXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return rWb(a);},function(a,b){rYb(a,b);},function(a,b){sYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return tWb(a);},function(a,b){xYb(a,b);},function(a,b){yYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn sWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return uWb(a);},function(a,b){DYb(a,b);},function(a,b){EYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return vWb(a);},function(a,b){dZb(a,b);},function(a,b){eZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return xWb(a);},function(a,b){jZb(a,b);},function(a,b){kZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return wWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return yWb(a);},function(a,b){qZb(a,b);},function(a,b){rZb(a,b);}]};}
-function CUb(){AUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
-function DUb(b){AUb();var a;a=b.Dd();return yb('[B',[622],[(-1)],[a],0);}
-function EUb(a){AUb();return cl(new bl());}
-function FUb(a){AUb();return new nl();}
-function aVb(a){AUb();return oY(new mY());}
-function bVb(a){AUb();return l1(new p0());}
-function cVb(a){AUb();return f2(new e2());}
-function dVb(a){AUb();return y2(new x2());}
-function eVb(a){AUb();return new rD();}
-function fVb(a){AUb();return new gI();}
-function gVb(a){AUb();return new iI();}
-function hVb(b){AUb();var a;a=b.Dd();return yb('[Ljava.lang.String;',[609],[1],[a],null);}
-function iVb(a){AUb();return jgb(new hgb());}
-function jVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[626],[24],[a],null);}
-function kVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[619],[18],[a],null);}
-function lVb(a){AUb();return new mhb();}
-function mVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[627],[25],[a],null);}
-function nVb(a){AUb();return uhb(new thb());}
-function oVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[628],[26],[a],null);}
-function pVb(a){AUb();return Chb(new Bhb());}
-function qVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[629],[27],[a],null);}
-function rVb(a){AUb();return new dib();}
-function sVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[630],[28],[a],null);}
-function tVb(a){AUb();return lib(new kib());}
-function uVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[631],[29],[a],null);}
-function vVb(a){AUb();return tib(new sib());}
-function wVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[632],[30],[a],null);}
-function xVb(a){AUb();return new Aib();}
-function yVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[633],[31],[a],null);}
-function zVb(a){AUb();return new cjb();}
-function AVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[616],[15],[a],null);}
-function BVb(a){AUb();return new kjb();}
-function CVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[615],[14],[a],null);}
-function DVb(a){AUb();return new qjb();}
-function EVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[617],[16],[a],null);}
-function FVb(a){AUb();return new zjb();}
-function aWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[618],[17],[a],null);}
-function bWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[625],[23],[a],null);}
-function cWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[624],[22],[a],null);}
-function dWb(a){AUb();return new hkb();}
-function eWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[623],[21],[a],null);}
-function fWb(a){AUb();return new okb();}
-function gWb(a){AUb();return ykb(new wkb());}
-function hWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[634],[32],[a],null);}
-function iWb(a){AUb();return new klb();}
-function jWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[610],[10],[a],null);}
-function kWb(a){AUb();return new hLb();}
-function lWb(a){AUb();return new oLb();}
-function mWb(a){AUb();return yLb(new wLb());}
-function nWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[620],[19],[a],null);}
-function oWb(a){AUb();return new aMb();}
-function pWb(a){AUb();return new aXb();}
-function qWb(a){AUb();return new gXb();}
-function rWb(a){AUb();return new nYb();}
-function sWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[611],[11],[a],null);}
-function tWb(a){AUb();return new tYb();}
-function uWb(a){AUb();return new zYb();}
-function vWb(a){AUb();return new FYb();}
-function wWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[614],[13],[a],null);}
-function xWb(a){AUb();return new fZb();}
-function yWb(a){AUb();return new mZb();}
-function zWb(c,a,d){var b=CWb[d];if(!b){DWb(d);}b[1](c,a);}
-function AWb(b){var a=FWb[b];return a==null?b:a;}
-function BWb(b,c){var a=CWb[c];if(!a){DWb(c);}return a[0](b);}
-function DWb(a){AUb();throw xl(new wl(),a);}
-function EWb(c,a,d){var b=CWb[d];if(!b){DWb(d);}b[2](c,a);}
-function yUb(){}
-_=yUb.prototype=new gU();_.kb=zWb;_.dc=AWb;_.pc=BWb;_.ke=EWb;_.tN=pgc+'RepositoryService_TypeSerializer';_.tI=487;var CWb,FWb;function aXb(){}
-_=aXb.prototype=new gU();_.tN=pgc+'RuleAsset';_.tI=488;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function eXb(b,a){a.a=b.Bd();a.b=Fb(b.Fd(),39);a.c=b.Bd();a.d=Fb(b.Fd(),93);a.e=b.ae();}
-function fXb(b,a){b.df(a.a);b.hf(a.b);b.df(a.c);b.hf(a.d);b.jf(a.e);}
-function gXb(){}
-_=gXb.prototype=new gU();_.tN=pgc+'RuleContentText';_.tI=489;_.a=null;function kXb(b,a){a.a=b.ae();}
-function lXb(b,a){b.jf(a.a);}
-function BXb(){BXb=e3;FXb=bYb(new aYb());}
-function yXb(a){BXb();return a;}
-function zXb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.SecurityService');vn(a,'getCurrentUser');tn(a,0);}
-function AXb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.SecurityService');vn(b,'login');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
-function CXb(h,c){var a,d,e,f,g;f=bo(new ao(),FXb);g=vo(new to(),FXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{zXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Fc(d);return;}else throw a;}e=pXb(new oXb(),h,f,c);if(!wg(h.a,Co(g),e))c.Fc(jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DXb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),FXb);h=vo(new to(),FXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{AXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=uXb(new tXb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function EXb(b,a){b.a=a;}
-function nXb(){}
-_=nXb.prototype=new gU();_.tN=pgc+'SecurityService_Proxy';_.tI=490;_.a=null;var FXb;function pXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rXb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else g.a.Fc(c);}
-function sXb(a){var b;b=x;rXb(this,a);}
-function oXb(){}
-_=oXb.prototype=new gU();_.Cc=sXb;_.tN=pgc+'SecurityService_Proxy$1';_.tI=491;function uXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wXb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=kS(new jS(),go(g.b));}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)F5(g.a,f);else ycb(g.a,c);}
-function xXb(a){var b;b=x;wXb(this,a);}
-function tXb(){}
-_=tXb.prototype=new gU();_.Cc=xXb;_.tN=pgc+'SecurityService_Proxy$2';_.tI=492;function cYb(){cYb=e3;jYb=dYb();mYb=eYb();}
-function bYb(a){cYb();return a;}
-function dYb(){cYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return fYb(a);},function(a,b){gl(a,b);},function(a,b){hl(a,b);}],'java.lang.String/2004016611':[function(a){return lm(a);},function(a,b){km(a,b);},function(a,b){mm(a,b);}]};}
-function eYb(){cYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
-function fYb(a){cYb();return cl(new bl());}
-function gYb(c,a,d){var b=jYb[d];if(!b){kYb(d);}b[1](c,a);}
-function hYb(b){var a=mYb[b];return a==null?b:a;}
-function iYb(b,c){var a=jYb[c];if(!a){kYb(c);}return a[0](b);}
-function kYb(a){cYb();throw xl(new wl(),a);}
-function lYb(c,a,d){var b=jYb[d];if(!b){kYb(d);}b[2](c,a);}
-function aYb(){}
-_=aYb.prototype=new gU();_.kb=gYb;_.dc=hYb;_.pc=iYb;_.ke=lYb;_.tN=pgc+'SecurityService_TypeSerializer';_.tI=493;var jYb,mYb;function nYb(){}
-_=nYb.prototype=new nl();_.tN=pgc+'SessionExpiredException';_.tI=494;function rYb(b,a){rl(b,a);}
-function sYb(b,a){tl(b,a);}
-function tYb(){}
-_=tYb.prototype=new gU();_.tN=pgc+'SnapshotInfo';_.tI=495;_.a=null;_.b=null;_.c=null;function xYb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();}
-function yYb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);}
-function zYb(){}
-_=zYb.prototype=new gU();_.tN=pgc+'TableConfig';_.tI=496;_.a=null;_.b=0;function DYb(b,a){a.a=Fb(b.Fd(),63);a.b=b.Dd();}
-function EYb(b,a){b.hf(a.a);b.ff(a.b);}
-function FYb(){}
-_=FYb.prototype=new gU();_.tN=pgc+'TableDataResult';_.tI=497;_.a=null;function dZb(b,a){a.a=Fb(b.Fd(),94);}
-function eZb(b,a){b.hf(a.a);}
-function lZb(a){return fV(a,'\\,')[0];}
-function fZb(){}
-_=fZb.prototype=new gU();_.tN=pgc+'TableDataRow';_.tI=498;_.a=null;_.b=null;_.c=null;function jZb(b,a){a.a=b.ae();a.b=b.ae();a.c=Fb(b.Fd(),63);}
-function kZb(b,a){b.jf(a.a);b.jf(a.b);b.hf(a.c);}
-function mZb(){}
-_=mZb.prototype=new gU();_.tN=pgc+'ValidatedResponse';_.tI=499;_.a=null;_.b=null;_.c=false;_.d=null;function qZb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.Bd();a.d=Fb(b.Fd(),39);}
-function rZb(b,a){b.jf(a.a);b.jf(a.b);b.df(a.c);b.hf(a.d);}
-function a1b(a){a.e=tt(new nt());}
-function b1b(j,b,c,a,f,d,g){var e,h,i;a1b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=lz(new pw());i=j.f.r;e=wt(j.e);h=hA(new fA());i1b(j,i);iA(h,j.g);if(!g){e1b(j,e,h);}k1b(j,f,e);or(j,j.e);j.De('100%');return j;}
-function d1b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
-function e1b(h,e,g){var a,b,c,d,f;d=Dcb(new Ccb(),'images/edit.gif');d.ve('Change status.');nB(d,CZb(new tZb(),h));iA(g,d);h.e.Be(0,0,g);dx(e,0,0,(wz(),yz),(Fz(),cA));f=yp(new sp(),'Save changes');f.ve('Check in changes.');f.z(a0b(new FZb(),h));iA(g,f);b=yp(new sp(),'Copy');b.z(e0b(new d0b(),h));iA(g,b);a=yp(new sp(),'Archive');a.z(i0b(new h0b(),h));iA(g,a);if(h.f.v==0){c=yp(new sp(),'Delete');c.z(m0b(new l0b(),h));iA(g,c);}}
-function f1b(b,c){var a;a=o2b(new j2b(),tN(c),uN(c),'Check in changes.');r2b(a,vZb(new uZb(),b,a));s2b(a);}
-function g1b(e,f){var a,b,c,d;a=scb(new ncb(),'images/rule_asset.gif','Copy this item');b=bL(new sK());c=aeb(new Bdb());tcb(a,'New name:',b);tcb(a,'New package:',c);d=yp(new sp(),'Create copy');d.z(y0b(new x0b(),e,c,b,a));tcb(a,'',d);tE(a,dc((uab()-oE(a))/2),100);wE(a);}
-function h1b(b,a){b.c=a;}
-function i1b(b,a){pz(b.g,'Status: <b>['+a+']<\/b>');}
-function j1b(b,c){var a;a=Aeb(new eeb(),b.h,false);Deb(a,zZb(new yZb(),b,a));tE(a,tN(c),uN(c));wE(a);}
-function k1b(e,d,b){var a,c,f;f=hA(new fA());c=Dcb(new Ccb(),'images/max_min.gif');nB(c,q0b(new p0b(),e,d));iA(f,c);a=Dcb(new Ccb(),'images/close.gif');a.ve('Close.');nB(a,u0b(new t0b(),e));iA(f,a);e.e.Be(0,1,f);dx(b,0,1,(wz(),zz),(Fz(),cA));}
-function sZb(){}
-_=sZb.prototype=new mr();_.tN=qgc+'ActionToolbar';_.tI=500;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function CZb(b,a){b.a=a;return b;}
-function EZb(a){j1b(this.a,a);}
-function tZb(){}
-_=tZb.prototype=new gU();_.Bc=EZb;_.tN=qgc+'ActionToolbar$1';_.tI=501;function vZb(b,a,c){b.a=a;b.b=c;return b;}
-function xZb(){this.a.f.b=q2b(this.b);w9b(this.a.b);}
-function uZb(){}
-_=uZb.prototype=new gU();_.rb=xZb;_.tN=qgc+'ActionToolbar$10';_.tI=502;function zZb(b,a,c){b.a=a;b.b=c;return b;}
-function BZb(){i1b(this.a,this.b.c);}
-function yZb(){}
-_=yZb.prototype=new gU();_.rb=BZb;_.tN=qgc+'ActionToolbar$11';_.tI=503;function a0b(b,a){b.a=a;return b;}
-function c0b(a){f1b(this.a,a);}
-function FZb(){}
-_=FZb.prototype=new gU();_.Bc=c0b;_.tN=qgc+'ActionToolbar$2';_.tI=504;function e0b(b,a){b.a=a;return b;}
-function g0b(a){g1b(this.a,a);}
-function d0b(){}
-_=d0b.prototype=new gU();_.Bc=g0b;_.tN=qgc+'ActionToolbar$3';_.tI=505;function i0b(b,a){b.a=a;return b;}
-function k0b(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+c0(AZ(new zZ()));B9b(this.a.a);}}
-function h0b(){}
-_=h0b.prototype=new gU();_.Bc=k0b;_.tN=qgc+'ActionToolbar$4';_.tI=506;function m0b(b,a){b.a=a;return b;}
-function o0b(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){f$b(this.a.d);}}
-function l0b(){}
-_=l0b.prototype=new gU();_.Bc=o0b;_.tN=qgc+'ActionToolbar$5';_.tI=507;function q0b(b,a,c){b.a=c;return b;}
-function s0b(a){a$b(this.a);}
-function p0b(){}
-_=p0b.prototype=new gU();_.Bc=s0b;_.tN=qgc+'ActionToolbar$6';_.tI=508;function u0b(b,a){b.a=a;return b;}
-function w0b(a){p$b(this.a.c);}
-function t0b(){}
-_=t0b.prototype=new gU();_.Bc=w0b;_.tN=qgc+'ActionToolbar$7';_.tI=509;function y0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
-function A0b(a){zTb(nMb(),this.a.h,ceb(this.d),zK(this.c),C0b(new B0b(),this,this.c,this.d,this.b));}
-function x0b(){}
-_=x0b.prototype=new gU();_.Bc=A0b;_.tN=qgc+'ActionToolbar$8';_.tI=510;function C0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
-function E0b(b,a){d1b(b.a.a,zK(b.c),ceb(b.d));b.b.nc();}
-function F0b(a){E0b(this,a);}
-function B0b(){}
-_=B0b.prototype=new wcb();_.rd=F0b;_.tN=qgc+'ActionToolbar$9';_.tI=511;function a2b(a){a.b=zab(new xab());}
-function b2b(c,a,b){a2b(c);c.a=a;c.c=tt(new nt());g2b(c,c.c);CN(c.c,'rule-List');Cab(c.b,0,0,c.c);if(!b){e2b(c);}or(c,c.b);return c;}
-function c2b(b,a){zLb(b.a,a);i2b(b);}
-function e2b(c){var a,b;a=pO(new nO());b=Dcb(new Ccb(),'images/new_item.gif');b.ve('Add a new category.');nB(b,v1b(new u1b(),c));qO(a,b);Cab(c.b,0,1,a);}
-function f2b(b){var a;a=E1b(new C1b(),b);tE(a,tN(b),uN(b));wE(a);}
-function g2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;az(d,b,0,e.a.a[b]);a=Dcb(new Ccb(),'images/trash.gif');a.ve('Remove this category');nB(a,z1b(new y1b(),e,c));d.Be(b,1,a);}}
-function h2b(b,a){BLb(b.a,a);sab(b);i2b(b);}
-function i2b(a){a.c=tt(new nt());CN(a.c,'rule-List');Cab(a.b,0,0,a.c);g2b(a,a.c);sab(a);}
-function l1b(){}
-_=l1b.prototype=new qab();_.tN=qgc+'AssetCategoryEditor';_.tI=512;_.a=null;_.c=null;function n1b(b,a){b.a=a;return b;}
-function p1b(a){this.a.b=a;}
-function m1b(){}
-_=m1b.prototype=new gU();_.je=p1b;_.tN=qgc+'AssetCategoryEditor$1';_.tI=513;function r1b(b,a){b.a=a;return b;}
-function t1b(a){if(this.a.b!==null&& !FU('',this.a.b)){c2b(this.a.d,this.a.b);}this.a.nc();}
-function q1b(){}
-_=q1b.prototype=new gU();_.Bc=t1b;_.tN=qgc+'AssetCategoryEditor$2';_.tI=514;function v1b(b,a){b.a=a;return b;}
-function x1b(a){f2b(this.a);}
-function u1b(){}
-_=u1b.prototype=new gU();_.Bc=x1b;_.tN=qgc+'AssetCategoryEditor$3';_.tI=515;function z1b(b,a,c){b.a=a;b.b=c;return b;}
-function B1b(a){h2b(this.a,this.b);}
-function y1b(){}
-_=y1b.prototype=new gU();_.Bc=B1b;_.tN=qgc+'AssetCategoryEditor$4';_.tI=516;function F1b(){F1b=e3;mE();}
-function D1b(a){a.a=yp(new sp(),'OK');}
-function E1b(b,a){var c;F1b();b.d=a;jE(b,true);D1b(b);c=pO(new nO());b.c=e_(new t$(),n1b(new m1b(),b));CN(b,'ks-popups-Popup');qO(c,b.c);qO(c,b.a);eH(b,c);b.a.z(r1b(new q1b(),b));return b;}
-function C1b(){}
-_=C1b.prototype=new hE();_.tN=qgc+'AssetCategoryEditor$CategorySelector';_.tI=517;_.b=null;_.c=null;function o2b(c,a,d,b){c.b=scb(new ncb(),'images/checkin.gif',b);c.a=mK(new lK());c.a.De('100%');c.c=yp(new sp(),'Save');tcb(c.b,'Comment',c.a);tcb(c.b,'',c.c);CN(c.b,'ks-popups-Popup');tE(c.b,a,d);return c;}
-function q2b(a){return zK(a.a);}
-function r2b(b,a){b.c.z(l2b(new k2b(),b,a));}
-function s2b(a){tE(a.b,dc((uab()-oE(a.b))/2),100);wE(a.b);}
-function j2b(){}
-_=j2b.prototype=new gU();_.tN=qgc+'CheckinPopup';_.tI=518;_.a=null;_.b=null;_.c=null;function l2b(b,a,c){b.a=a;b.b=c;return b;}
-function n2b(a){this.b.rb();this.a.b.nc();}
-function k2b(){}
-_=k2b.prototype=new gU();_.Bc=n2b;_.tN=qgc+'CheckinPopup$1';_.tI=519;function j3b(){j3b=e3;mE();}
-function h3b(g,f,e){var a,b,c,d;j3b();jE(g,true);g.d=f;g.b=bL(new sK());g.b.De('100%');b='<enter text to filter list>';DK(g.b,'<enter text to filter list>');ou(g.b,v2b(new u2b(),g));wK(g.b,A2b(new z2b(),g,e));g.b.qe(true);d=pO(new nO());qO(d,g.b);g.c=uC(new mC());eD(g.c,5);l3b(g,g5b(g.d,''));qO(d,g.c);c=yp(new sp(),'ok');c.z(a3b(new F2b(),g,e));a=yp(new sp(),'cancel');a.z(e3b(new d3b(),g));g.a=hA(new fA());iA(g.a,c);iA(g.a,a);qO(d,g.a);eH(g,d);CN(g,'ks-popups-Popup');return g;}
-function i3b(b,a){F3b(a,k3b(b));b.nc();}
-function k3b(a){return DC(a.c,EC(a.c));}
-function l3b(c,a){var b;AC(c.c);for(b=0;b<a.b;b++){xC(c.c,Fb(vY(a,b),14).a);}}
-function t2b(){}
-_=t2b.prototype=new hE();_.tN=qgc+'ChoiceList';_.tI=520;_.a=null;_.b=null;_.c=null;_.d=null;function v2b(b,a){b.a=a;return b;}
-function x2b(a){DK(this.a.b,'');}
-function y2b(a){DK(this.a.b,'<enter text to filter list>');}
-function u2b(){}
-_=u2b.prototype=new gU();_.ad=x2b;_.id=y2b;_.tN=qgc+'ChoiceList$1';_.tI=521;function A2b(b,a,c){b.a=a;b.b=c;return b;}
-function C2b(a,b,c){}
-function D2b(a,b,c){}
-function E2b(a,b,c){if(b==13){i3b(this.a,this.b);}else{l3b(this.a,g5b(this.a.d,zK(this.a.b)));}}
-function z2b(){}
-_=z2b.prototype=new gU();_.ed=C2b;_.fd=D2b;_.gd=E2b;_.tN=qgc+'ChoiceList$2';_.tI=522;function a3b(b,a,c){b.a=a;b.b=c;return b;}
-function c3b(a){i3b(this.a,this.b);}
-function F2b(){}
-_=F2b.prototype=new gU();_.Bc=c3b;_.tN=qgc+'ChoiceList$3';_.tI=523;function e3b(b,a){b.a=a;return b;}
-function g3b(a){this.a.nc();}
-function d3b(){}
-_=d3b.prototype=new gU();_.Bc=g3b;_.tN=qgc+'ChoiceList$4';_.tI=524;function D3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=mK(new lK());rK(i.d,10);DK(i.d,i.c.a);i.d.ve('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=dLb((bLb(),gLb),a.d.o);i.a=c.a;i.b=c.b;CN(i.d,'dsl-text-Editor');d=tt(new nt());d.Be(0,0,i.d);vK(i.d,o3b(new n3b(),i));wK(i.d,s3b(new r3b(),i));j=pO(new nO());e=Dcb(new Ccb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.ve('Add a new condition');nB(e,w3b(new v3b(),i));h=Dcb(new Ccb(),'images/new_dsl_action.gif');g='Add an action';h.ve('Add an action');nB(h,A3b(new z3b(),i));qO(j,e);qO(j,h);d.Be(0,1,j);jx(d.n,0,0,'95%');jx(d.n,0,1,'5%');d.De('100%');d.se('100%');or(i,d);return i;}
-function F3b(e,b){var a,c,d;a=oK(e.d);c=jV(zK(e.d),0,a);d=jV(zK(e.d),a,dV(zK(e.d)));DK(e.d,c+b+d);e.c.a=zK(e.d);}
-function a4b(b){var a;a=jV(zK(b.d),0,oK(b.d));if(bV(a,'then')>(-1)){b4b(b,b.a);}else{b4b(b,b.b);}}
-function b4b(c,b){var a;a=h3b(new t2b(),b,c);tE(a,tN(c.d)+20,uN(c.d)+20);wE(a);}
-function m3b(){}
-_=m3b.prototype=new qab();_.tN=qgc+'DSLRuleEditor';_.tI=525;_.a=null;_.b=null;_.c=null;_.d=null;function o3b(b,a){b.a=a;return b;}
-function q3b(a){this.a.c.a=zK(this.a.d);sab(this.a);}
-function n3b(){}
-_=n3b.prototype=new gU();_.Ac=q3b;_.tN=qgc+'DSLRuleEditor$1';_.tI=526;function s3b(b,a){b.a=a;return b;}
-function u3b(a,b,c){if(b==32&&c==2){a4b(this.a);}if(b==9){F3b(this.a,'\t');AK(this.a.d,oK(this.a.d)+1);xK(this.a.d);}}
-function r3b(){}
-_=r3b.prototype=new uB();_.ed=u3b;_.tN=qgc+'DSLRuleEditor$2';_.tI=527;function w3b(b,a){b.a=a;return b;}
-function y3b(a){b4b(this.a,this.a.b);}
-function v3b(){}
-_=v3b.prototype=new gU();_.Bc=y3b;_.tN=qgc+'DSLRuleEditor$3';_.tI=528;function A3b(b,a){b.a=a;return b;}
-function C3b(a){b4b(this.a,this.a.a);}
-function z3b(){}
-_=z3b.prototype=new gU();_.Bc=C3b;_.tN=qgc+'DSLRuleEditor$4';_.tI=529;function l4b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=mK(new lK());rK(b.c,10);DK(b.c,b.b.a);CN(b.c,'default-text-Area');vK(b.c,e4b(new d4b(),b));wK(b.c,i4b(new h4b(),b));or(b,b.c);return b;}
-function n4b(e,b){var a,c,d;a=oK(e.c);c=jV(zK(e.c),0,a);d=jV(zK(e.c),a,dV(zK(e.c)));DK(e.c,c+b+d);e.b.a=zK(e.c);}
-function c4b(){}
-_=c4b.prototype=new qab();_.tN=qgc+'DefaultRuleContentWidget';_.tI=530;_.a=null;_.b=null;_.c=null;function e4b(b,a){b.a=a;return b;}
-function g4b(a){this.a.b.a=zK(this.a.c);sab(this.a);}
-function d4b(){}
-_=d4b.prototype=new gU();_.Ac=g4b;_.tN=qgc+'DefaultRuleContentWidget$1';_.tI=531;function i4b(b,a){b.a=a;return b;}
-function k4b(a,b,c){if(b==9){n4b(this.a,'\t');AK(this.a.c,oK(this.a.c)+1);xK(this.a.c);}}
-function h4b(){}
-_=h4b.prototype=new uB();_.ed=k4b;_.tN=qgc+'DefaultRuleContentWidget$2';_.tI=532;function D4b(){D4b=e3;E4b=b5b();}
-function F4b(a){D4b();var b;b=Fb(r1(E4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
-function a5b(a,b){D4b();if(FU(a.d.k,'brl')){return E8b(new l8b(),uwb(new pub(),a),a);}else if(FU(a.d.k,'dslr')){return E8b(new l8b(),D3b(new m3b(),a),a);}else if(FU(a.d.k,'jar')){return pyb(new oyb(),a,b);}else if(FU(a.d.k,'xls')){return E8b(new l8b(),zfb(new yfb(),a,b),a);}else if(FU(a.d.k,'rf')){return h8b(new g8b(),a,b);}else if(FU(a.d.k,'drl')){return E8b(new l8b(),l4b(new c4b(),a),a);}else if(FU(a.d.k,'enumeration')){return E8b(new l8b(),l4b(new c4b(),a),a);}else{return l4b(new c4b(),a);}}
-function b5b(){D4b();var a;a=l1(new p0());s1(a,'drl','technical_rule_assets.gif');s1(a,'dsl','dsl.gif');s1(a,'function','function_assets.gif');s1(a,'jar','model_asset.gif');s1(a,'xls','spreadsheet_small.gif');s1(a,'brl','business_rule.gif');s1(a,'dslr','business_rule.gif');s1(a,'rf','ruleflow_small.gif');return a;}
-function c5b(d,f,g,e,a){D4b();var b,c,h;h=E$b(new g9b(),a,e);b=a.d.n;if(dV(b)>10){b=jV(b,0,7)+'...';}c=F4b(a.d.k);BJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(oZ(),pZ)){s1(d,g,h);}h_b(h,z4b(new y4b(),f,h,d,g));bK(f,DJ(f,h));}
-function d5b(b,d,e,c){D4b();var a;if(o1(b,e)){if(DJ(d,Fb(r1(b,e),20))==(-1)){a=ac(EJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{bK(d,DJ(d,Fb(r1(b,e),20)));}tdb();return;}kUb(nMb(),e,q4b(new p4b(),b,d,e,c));}
-var E4b;function q4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
-function s4b(c){var a,b;a=Fb(c,97);b=(bLb(),gLb);cLb(b,a.d.o,u4b(new t4b(),this,this.a,this.c,this.d,this.b,a));}
-function p4b(){}
-_=p4b.prototype=new wcb();_.rd=s4b;_.tN=qgc+'EditorLauncher$1';_.tI=533;function u4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
-function w4b(a){c5b(a.b,a.d,a.e,a.c,a.a);}
-function x4b(){w4b(this);}
-function t4b(){}
-_=t4b.prototype=new gU();_.rb=x4b;_.tN=qgc+'EditorLauncher$2';_.tI=534;function z4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
-function B4b(a){aK(a.b,DJ(a.b,a.d));bK(a.b,0);if(a.a!==(oZ(),pZ)){t1(a.a,a.c);}}
-function C4b(){B4b(this);}
-function y4b(){}
-_=y4b.prototype=new gU();_.rb=C4b;_.tN=qgc+'EditorLauncher$3';_.tI=535;function g5b(e,a){var b,c,d;b=oY(new mY());for(c=0;c<e.a;c++){d=e[c];if(FU(a,'')||hV(d.a,a)){qY(b,d);}}return b;}
-function B6b(e,a,c,f,d){var b;ccb(e);CN(e,'metadata-Widget');if(!c){b=Ecb(new Ccb(),'images/edit.gif','Rename this asset');nB(b,s5b(new i5b(),e));gcb(e,'images/meta_data.png',a.n,b);}else{fcb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;a7b(e,a);return e;}
-function C6b(a){a.b=b2b(new l1b(),a.a,a.c);return a.b;}
-function E6b(d,a,e){var b,c;if(!d.c){b=bL(new sK());b.ve(e);DK(b,a.gc());c=p5b(new o5b(),d,a,b);vK(b,c);return b;}else{return eC(new cC(),a.gc());}}
-function F6b(a){if(a.a.v==0){return mz(new pw(),'<i>Not checked in yet<\/i>');}else{return d7b(a,sT(a.a.v));}}
-function a7b(b,a){b.a=a;ecb(b,'Categories:',C6b(b));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Modified on:',c7b(b,b.a.m));ecb(b,'by:',d7b(b,b.a.l));ecb(b,'Note:',d7b(b,b.a.b));ecb(b,'Version:',F6b(b));if(!b.c){ecb(b,'Created on:',c7b(b,b.a.d));}ecb(b,'Created by:',d7b(b,b.a.e));ecb(b,'Format:',mz(new pw(),'<b>'+b.a.k+'<\/b>'));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Package:',b7b(b,b.a.o));ecb(b,'Subject:',E6b(b,w5b(new v5b(),b),'A short description of the subject matter.'));ecb(b,'Type:',E6b(b,B5b(new A5b(),b),'This is for classification purposes.'));ecb(b,'External link:',E6b(b,a6b(new F5b(),b),'This is for relating the asset to an external system.'));ecb(b,'Source:',E6b(b,f6b(new e6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){hcb(b,cac(new j_b(),b.e,b.a,b.d));}}
-function b7b(d,c){var a,b;if(d.c){return d7b(d,c);}else{b=hA(new fA());CN(b,'metadata-Widget');iA(b,d7b(d,c));a=Dcb(new Ccb(),'images/edit.gif');nB(a,k6b(new j6b(),d,c));iA(b,a);return b;}}
-function c7b(b,a){if(a===null){return null;}else{return eC(new cC(),b0(a));}}
-function d7b(c,b){var a;a=eC(new cC(),b);a.De('100%');return a;}
-function e7b(f,b,e){var a,c,d;c=scb(new ncb(),'images/package_large.png','Move this item to another package');tcb(c,'Current package:',eC(new cC(),b));d=aeb(new Bdb());tcb(c,'New package:',d);a=yp(new sp(),'Change package');tcb(c,'',a);a.z(x6b(new w6b(),f,d,b,c));tE(c,tN(e.v.v),uN(e.v.v));wE(c);}
-function f7b(e,d){var a,b,c;c=scb(new ncb(),'images/package_large.png','Rename this item');a=bL(new sK());tcb(c,'New name',a);b=yp(new sp(),'Rename item');tcb(c,'',b);b.z(o6b(new n6b(),e,a,c));tE(c,tN(d.v.v)-18,uN(d.v.v));wE(c);}
-function g7b(){return this.b.rc()||this.j;}
-function h5b(){}
-_=h5b.prototype=new acb();_.rc=g7b;_.tN=qgc+'MetaDataWidget';_.tI=536;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function s5b(b,a){b.a=a;return b;}
-function u5b(a){f7b(this.a,a);}
-function i5b(){}
-_=i5b.prototype=new gU();_.Bc=u5b;_.tN=qgc+'MetaDataWidget$1';_.tI=537;function k5b(b,a,c){b.a=a;b.b=c;return b;}
-function m5b(b,a){sab(b.a.a);k$b(b.a.a.d);b.b.nc();}
-function n5b(a){m5b(this,a);}
-function j5b(){}
-_=j5b.prototype=new wcb();_.rd=n5b;_.tN=qgc+'MetaDataWidget$10';_.tI=538;function p5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function r5b(a){sab(this.a);this.b.ze(zK(this.c));}
-function o5b(){}
-_=o5b.prototype=new gU();_.Ac=r5b;_.tN=qgc+'MetaDataWidget$11';_.tI=539;function w5b(b,a){b.a=a;return b;}
-function y5b(){return this.a.a.s;}
-function z5b(a){this.a.a.s=a;}
-function v5b(){}
-_=v5b.prototype=new gU();_.gc=y5b;_.ze=z5b;_.tN=qgc+'MetaDataWidget$2';_.tI=540;function B5b(b,a){b.a=a;return b;}
-function D5b(){return this.a.a.u;}
-function E5b(a){this.a.a.u=a;}
-function A5b(){}
-_=A5b.prototype=new gU();_.gc=D5b;_.ze=E5b;_.tN=qgc+'MetaDataWidget$3';_.tI=541;function a6b(b,a){b.a=a;return b;}
-function c6b(){return this.a.a.i;}
-function d6b(a){this.a.a.i=a;}
-function F5b(){}
-_=F5b.prototype=new gU();_.gc=c6b;_.ze=d6b;_.tN=qgc+'MetaDataWidget$4';_.tI=542;function f6b(b,a){b.a=a;return b;}
-function h6b(){return this.a.a.j;}
-function i6b(a){this.a.a.j=a;}
-function e6b(){}
-_=e6b.prototype=new gU();_.gc=h6b;_.ze=i6b;_.tN=qgc+'MetaDataWidget$5';_.tI=543;function k6b(b,a,c){b.a=a;b.b=c;return b;}
-function m6b(a){e7b(this.a,this.b,a);}
-function j6b(){}
-_=j6b.prototype=new gU();_.Bc=m6b;_.tN=qgc+'MetaDataWidget$6';_.tI=544;function o6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function q6b(a){sUb(nMb(),this.a.e,zK(this.b),s6b(new r6b(),this,this.c));}
-function n6b(){}
-_=n6b.prototype=new gU();_.Bc=q6b;_.tN=qgc+'MetaDataWidget$7';_.tI=545;function s6b(b,a,c){b.a=a;b.b=c;return b;}
-function u6b(b,a){k$b(b.a.a.d);zh('Item has been renamed');b.b.nc();}
-function v6b(a){u6b(this,a);}
-function r6b(){}
-_=r6b.prototype=new wcb();_.rd=v6b;_.tN=qgc+'MetaDataWidget$8';_.tI=546;function x6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function z6b(a){if(FU(ceb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}vTb(nMb(),this.a.e,ceb(this.d),'Moved from : '+this.b,k5b(new j5b(),this,this.c));}
-function w6b(){}
-_=w6b.prototype=new gU();_.Bc=z6b;_.tN=qgc+'MetaDataWidget$9';_.tI=547;function y7b(){y7b=e3;vcb();}
-function v7b(a){a.f=bL(new sK());a.b=mK(new lK());a.d=A7b(a);a.g=aeb(new Bdb());}
-function w7b(e,a,d,b,f){var c;y7b();scb(e,'images/new_wiz.gif',f);v7b(e);e.h=d;e.c=b;e.a=a;tcb(e,'Name:',e.f);if(d){tcb(e,'Initial category:',z7b(e));}if(b===null){tcb(e,'Type (format) of rule:',e.d);}tcb(e,'Package:',e.g);rK(e.b,4);e.b.De('100%');tcb(e,'Initial description:',e.b);c=yp(new sp(),'OK');c.z(j7b(new i7b(),e));tcb(e,'',c);CN(e,'ks-popups-Popup');return e;}
-function x7b(e,b,d,c,f,a){y7b();w7b(e,b,d,c,f);deb(e.g,a);return e;}
-function z7b(a){return e_(new t$(),n7b(new m7b(),a));}
-function B7b(a){if(a.c!==null)return a.c;return FC(a.d,EC(a.d));}
-function A7b(b){var a;a=uC(new mC());yC(a,'Business rule (using guided editor)','brl');yC(a,'DRL rule (technical rule - text editor)','drl');yC(a,'Business rule using a DSL (text editor)','dslr');yC(a,'Decision table (spreadsheet)','xls');dD(a,0);return a;}
-function C7b(b){var a;if(b.h&&b.e===null){mfb('You have to pick an initial category.',tN(b),uN(b));return;}else if(zK(b.f)===null||FU('',zK(b.f))){mfb('Rule must have a name',tN(b),uN(b));return;}a=r7b(new q7b(),b);xdb('Please wait ...');DTb(nMb(),zK(b.f),zK(b.b),b.e,ceb(b.g),B7b(b),a);}
-function D7b(a,b){a.a.yd(b);}
-function h7b(){}
-_=h7b.prototype=new ncb();_.tN=qgc+'NewAssetWizard';_.tI=548;_.a=null;_.c=null;_.e=null;_.h=false;function j7b(b,a){b.a=a;return b;}
-function l7b(a){C7b(this.a);}
-function i7b(){}
-_=i7b.prototype=new gU();_.Bc=l7b;_.tN=qgc+'NewAssetWizard$1';_.tI=549;function n7b(b,a){b.a=a;return b;}
-function p7b(a){this.a.e=a;}
-function m7b(){}
-_=m7b.prototype=new gU();_.je=p7b;_.tN=qgc+'NewAssetWizard$2';_.tI=550;function r7b(b,a){b.a=a;return b;}
-function t7b(b,a){var c;c=Fb(a,1);if(hV(c,'DUPLICATE')){tdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{D7b(b.a,Fb(a,1));b.a.nc();}}
-function u7b(a){t7b(this,a);}
-function q7b(){}
-_=q7b.prototype=new wcb();_.rd=u7b;_.tN=qgc+'NewAssetWizard$3';_.tI=551;function d8b(b,a){b.a=mK(new lK());b.a.De('100%');rK(b.a,10);CN(b.a,'rule-viewer-Documentation');b.a.ve('This is rule documentation. Human friendly descriptions of the business logic.');or(b,b.a);f8b(b,a);return b;}
-function f8b(b,a){DK(b.a,a.h);vK(b.a,a8b(new F7b(),b,a));if(a.h===null||FU('',a.h)){DK(b.a,'<documentation>');}}
-function E7b(){}
-_=E7b.prototype=new qab();_.tN=qgc+'RuleDocumentWidget';_.tI=552;_.a=null;function a8b(b,a,c){b.a=a;b.b=c;return b;}
-function c8b(a){this.b.h=zK(this.a.a);sab(this.a);}
-function F7b(){}
-_=F7b.prototype=new gU();_.Ac=c8b;_.tN=qgc+'RuleDocumentWidget$1';_.tI=553;function h8b(b,a,c){xxb(b,a,c);yxb(b,mz(new pw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
-function j8b(){return 'images/ruleflow_large.png';}
-function k8b(){return 'decision-Table-upload';}
-function g8b(){}
-_=g8b.prototype=new jxb();_.xb=j8b;_.ac=k8b;_.tN=qgc+'RuleFlowUploadWidget';_.tI=554;function E8b(c,b,a){c.a=a;c.b=zab(new xab());CN(c.b,'asset-editor-Layout');Cab(c.b,0,0,b);if(!a.c)Cab(c.b,1,0,e9b(c));dx(c.b.n,1,0,(wz(),zz),(Fz(),cA));c.b.De('100%');c.b.se('100%');or(c,c.b);return c;}
-function a9b(a){xdb('Validating item, please wait...');sTb(nMb(),a.a,v8b(new u8b(),a));}
-function b9b(a){xdb('Calculating source...');rTb(nMb(),a.a,A8b(new z8b(),a));}
-function c9b(h,e){var a,b,c,d,f,g;c=scb(new ncb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){ucb(c,mz(new pw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=tt(new nt());CN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.Be(f,0,mB(new wA(),'images/error.gif'));if(FU(d.a,'package')){az(a,f,1,'[package configuration problem] '+d.c);}else{az(a,f,1,d.c);}}g=wG(new uG(),a);g.De('100%');ucb(c,g);}tE(c,100,100);wE(c);tdb();}
-function d9b(b,a){wBb(a,b.a.d.n);tdb();}
-function e9b(b){var a,c,d;a=hA(new fA());d=yp(new sp(),'View source');iA(a,d);c=yp(new sp(),'Validate');iA(a,c);d.z(n8b(new m8b(),b));c.z(r8b(new q8b(),b));CN(a,'asset-validator-Buttons');return a;}
-function f9b(){return Bab(this.b);}
-function l8b(){}
-_=l8b.prototype=new qab();_.rc=f9b;_.tN=qgc+'RuleValidatorWrapper';_.tI=555;_.a=null;_.b=null;function n8b(b,a){b.a=a;return b;}
-function p8b(a){b9b(this.a);}
-function m8b(){}
-_=m8b.prototype=new gU();_.Bc=p8b;_.tN=qgc+'RuleValidatorWrapper$1';_.tI=556;function r8b(b,a){b.a=a;return b;}
-function t8b(a){a9b(this.a);}
-function q8b(){}
-_=q8b.prototype=new gU();_.Bc=t8b;_.tN=qgc+'RuleValidatorWrapper$2';_.tI=557;function v8b(b,a){b.a=a;return b;}
-function x8b(c,a){var b;b=Fb(a,88);c9b(c.a,b);}
-function y8b(a){x8b(this,a);}
-function u8b(){}
-_=u8b.prototype=new wcb();_.rd=y8b;_.tN=qgc+'RuleValidatorWrapper$3';_.tI=558;function A8b(b,a){b.a=a;return b;}
-function C8b(c,a){var b;b=Fb(a,1);d9b(c.a,b);}
-function D8b(a){C8b(this,a);}
-function z8b(){}
-_=z8b.prototype=new wcb();_.rd=D8b;_.tN=qgc+'RuleValidatorWrapper$4';_.tI=559;function E$b(c,a,b){c.a=a;c.g=b;c.e=zab(new xab());e_b(c);or(c,c.e);tdb();return c;}
-function a_b(a){a.a.a=true;b_b(a);B4b(a.b);}
-function b_b(a){jy(a.e);xdb('Saving, please wait...');xTb(nMb(),a.a,x$b(new w$b(),a));}
-function c_b(e){var a,b,c,d;d=scb(new ncb(),'images/warning-large.png','WARNING: Un-committed changes.');b=yp(new sp(),'Discard');a=yp(new sp(),'Cancel');c=hA(new fA());iA(c,b);iA(c,a);ucb(d,mz(new pw(),'Are you sure you want to discard changes?'));ucb(d,c);b.z(n9b(new m9b(),e,d));a.z(r9b(new q9b(),e,d));CN(d,'warning-Popup');tE(d,dc((uab()-oE(d))/2),100);wE(d);}
-function d_b(a){bUb(nMb(),a.a.e,a.a.d.o,s$b(new r$b(),a));}
-function e_b(b){var a;jy(b.e);a=wt(b.e);b.h=b1b(new sZb(),b.a,u9b(new h9b(),b),z9b(new y9b(),b),E9b(new D9b(),b),d$b(new c$b(),b),b.g);Cab(b.e,0,0,b.h);dx(a,0,0,(wz(),zz),(Fz(),cA));b.f=B6b(new h5b(),b.a.d,b.g,b.a.e,i$b(new h$b(),b));Cab(b.e,0,1,b.f);st(a,0,1,3);hx(a,0,1,(Fz(),cA));jx(a,0,1,'30%');b.d=a5b(b.a,b);h1b(b.h,n$b(new m$b(),b));Cab(b.e,1,0,b.d);hx(a,1,0,(Fz(),cA));b.c=d8b(new E7b(),b.a.d);Cab(b.e,2,0,b.c);hx(a,2,0,(Fz(),cA));}
-function f_b(a){if(u_(a.a.d.k)){xdb('Refreshing content assistance...');fLb((bLb(),gLb),a.a.d.o,new B$b());}}
-function g_b(a){kUb(nMb(),a.a.e,j9b(new i9b(),a));}
-function h_b(b,a){b.b=a;}
-function i_b(a){var b;b= !bx(wt(a.e),2,0);ix(wt(a.e),0,1,b);ix(wt(a.e),2,0,b);}
-function g9b(){}
-_=g9b.prototype=new mr();_.tN=qgc+'RuleViewer';_.tI=560;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function u9b(b,a){b.a=a;return b;}
-function w9b(a){b_b(a.a);}
-function x9b(){w9b(this);}
-function h9b(){}
-_=h9b.prototype=new gU();_.rb=x9b;_.tN=qgc+'RuleViewer$1';_.tI=561;function j9b(b,a){b.a=a;return b;}
-function l9b(a){this.a.a=Fb(a,97);e_b(this.a);tdb();}
-function i9b(){}
-_=i9b.prototype=new wcb();_.rd=l9b;_.tN=qgc+'RuleViewer$10';_.tI=562;function n9b(b,a,c){b.a=a;b.b=c;return b;}
-function p9b(a){B4b(this.a.b);this.b.nc();}
-function m9b(){}
-_=m9b.prototype=new gU();_.Bc=p9b;_.tN=qgc+'RuleViewer$11';_.tI=563;function r9b(b,a,c){b.a=c;return b;}
-function t9b(a){this.a.nc();}
-function q9b(){}
-_=q9b.prototype=new gU();_.Bc=t9b;_.tN=qgc+'RuleViewer$12';_.tI=564;function z9b(b,a){b.a=a;return b;}
-function B9b(a){a_b(a.a);}
-function C9b(){B9b(this);}
-function y9b(){}
-_=y9b.prototype=new gU();_.rb=C9b;_.tN=qgc+'RuleViewer$2';_.tI=565;function E9b(b,a){b.a=a;return b;}
-function a$b(a){i_b(a.a);}
-function b$b(){a$b(this);}
-function D9b(){}
-_=D9b.prototype=new gU();_.rb=b$b;_.tN=qgc+'RuleViewer$3';_.tI=566;function d$b(b,a){b.a=a;return b;}
-function f$b(a){d_b(a.a);}
-function g$b(){f$b(this);}
-function c$b(){}
-_=c$b.prototype=new gU();_.rb=g$b;_.tN=qgc+'RuleViewer$4';_.tI=567;function i$b(b,a){b.a=a;return b;}
-function k$b(a){g_b(a.a);}
-function l$b(){k$b(this);}
-function h$b(){}
-_=h$b.prototype=new gU();_.rb=l$b;_.tN=qgc+'RuleViewer$5';_.tI=568;function n$b(b,a){b.a=a;return b;}
-function p$b(a){if(Bab(a.a.e)){c_b(a.a);}else{B4b(a.a.b);}}
-function q$b(){p$b(this);}
-function m$b(){}
-_=m$b.prototype=new gU();_.rb=q$b;_.tN=qgc+'RuleViewer$6';_.tI=569;function s$b(b,a){b.a=a;return b;}
-function u$b(b,a){B4b(b.a.b);}
-function v$b(a){u$b(this,a);}
-function r$b(){}
-_=r$b.prototype=new wcb();_.rd=v$b;_.tN=qgc+'RuleViewer$7';_.tI=570;function x$b(b,a){b.a=a;return b;}
-function z$b(b,a){var c;f_b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){tab(Fb(b.a.d,98));}tab(b.a.f);tab(b.a.c);if(c===null){ybb('Failed to check in the item. Please contact your system administrator.');return;}g_b(b.a);}
-function A$b(a){z$b(this,a);}
-function w$b(){}
-_=w$b.prototype=new wcb();_.rd=A$b;_.tN=qgc+'RuleViewer$8';_.tI=571;function D$b(){tdb();}
-function B$b(){}
-_=B$b.prototype=new gU();_.rb=D$b;_.tN=qgc+'RuleViewer$9';_.tI=572;function cac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=hA(new fA());d.a=tt(new nt());d.a.Be(0,0,eC(new cC(),'Version history'));gx(d.a.n,0,0,'metadata-Widget');b=wt(d.a);fx(b,0,0,(wz(),yz));d.c=Dcb(new Ccb(),'images/refresh.gif');nB(d.c,l_b(new k_b(),d));d.a.Be(0,1,d.c);fx(b,0,1,(wz(),zz));CN(f,'version-browser-Border');iA(f,d.a);d.a.De('100%');f.De('100%');or(d,f);return d;}
-function dac(a){hac(a);fg(p_b(new o_b(),a));}
-function fac(b,a){return C_b(new B_b(),b,a);}
-function gac(a){hUb(nMb(),a.e,t_b(new s_b(),a));}
-function hac(a){rB(a.c,'images/searching.gif');}
-function iac(a){rB(a.c,'images/refresh.gif');}
-function jac(b,a){var c;c=abc(new kac(),b.b,a,b.e,b.d);tE(c,100,100);wE(c);}
-function j_b(){}
-_=j_b.prototype=new mr();_.tN=qgc+'VersionBrowser';_.tI=573;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function l_b(b,a){b.a=a;return b;}
-function n_b(a){dac(this.a);}
-function k_b(){}
-_=k_b.prototype=new gU();_.Bc=n_b;_.tN=qgc+'VersionBrowser$1';_.tI=574;function p_b(b,a){b.a=a;return b;}
-function r_b(){gac(this.a);}
-function o_b(){}
-_=o_b.prototype=new gU();_.rb=r_b;_.tN=qgc+'VersionBrowser$2';_.tI=575;function t_b(b,a){b.a=a;return b;}
-function v_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.Be(1,0,eC(new cC(),'No history.'));iac(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',609,1,['Version number','Comment','Date Modified','Status']);d=fac(i.a,f);h=tfc(d,c,0,false);h.De('100%');i.a.a.Be(1,0,h);b=wt(i.a.a);rt(b,1,0,2);e=yp(new sp(),'View selected version');e.z(y_b(new x_b(),i,h));i.a.a.Be(2,1,e);rt(b,2,1,3);fx(b,2,1,(wz(),xz));iac(i.a);}
-function w_b(a){v_b(this,a);}
-function s_b(){}
-_=s_b.prototype=new wcb();_.rd=w_b;_.tN=qgc+'VersionBrowser$3';_.tI=576;function y_b(b,a,c){b.a=a;b.b=c;return b;}
-function A_b(a){if(this.b.f==0)return;jac(this.a.a,gfc(this.b));}
-function x_b(){}
-_=x_b.prototype=new gU();_.Bc=A_b;_.tN=qgc+'VersionBrowser$4';_.tI=577;function C_b(b,a,c){b.a=c;return b;}
-function E_b(){return this.a.a;}
-function F_b(a){return this.a[a].b;}
-function aac(b,a){return this.a[b].c[a];}
-function bac(b,a){return null;}
-function B_b(){}
-_=B_b.prototype=new gU();_.Cb=E_b;_.cc=F_b;_.hc=aac;_.ic=bac;_.tN=qgc+'VersionBrowser$5';_.tI=578;function bbc(){bbc=e3;bs();}
-function abc(d,a,e,b,c){bbc();Fr(d,false);d.c=e;d.a=b;d.b=c;CN(d,'version-Popup');xdb('Loading version');kUb(nMb(),e,mac(new lac(),d,a));return d;}
-function cbc(b,c){var a;a=o2b(new j2b(),tN(c)+10,uN(c)+10,'Restore this version?');r2b(a,yac(new xac(),b,a));s2b(a);}
-function kac(){}
-_=kac.prototype=new Cr();_.tN=qgc+'VersionViewer';_.tI=579;_.a=null;_.b=null;_.c=null;function mac(b,a,c){b.a=a;b.b=c;return b;}
-function oac(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;ds(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=tt(new nt());d=wt(e);f=yp(new sp(),'Restore this version');f.z(qac(new pac(),this));e.Be(0,0,f);fx(d,0,0,(wz(),yz));b=yp(new sp(),'Close');b.z(uac(new tac(),this));e.Be(0,1,b);fx(d,0,1,(wz(),zz));g=E$b(new g9b(),a,true);g.De('100%');e.Be(1,0,g);rt(d,1,1,2);e.De('100%');AN(e,800,300);es(this.a,e);}
-function lac(){}
-_=lac.prototype=new wcb();_.rd=oac;_.tN=qgc+'VersionViewer$1';_.tI=580;function qac(b,a){b.a=a;return b;}
-function sac(a){cbc(this.a.a,a);}
-function pac(){}
-_=pac.prototype=new gU();_.Bc=sac;_.tN=qgc+'VersionViewer$2';_.tI=581;function uac(b,a){b.a=a;return b;}
-function wac(a){this.a.a.nc();}
-function tac(){}
-_=tac.prototype=new gU();_.Bc=wac;_.tN=qgc+'VersionViewer$3';_.tI=582;function yac(b,a,c){b.a=a;b.b=c;return b;}
-function Aac(){uUb(nMb(),this.a.c,this.a.a,q2b(this.b),Cac(new Bac(),this));}
-function xac(){}
-_=xac.prototype=new gU();_.rb=Aac;_.tN=qgc+'VersionViewer$4';_.tI=583;function Cac(b,a){b.a=a;return b;}
-function Eac(b,a){b.a.a.nc();k$b(b.a.a.b);}
-function Fac(a){Eac(this,a);}
-function Bac(){}
-_=Bac.prototype=new wcb();_.rd=Fac;_.tN=qgc+'VersionViewer$5';_.tI=584;function gcc(a){a.b=(oZ(),pZ);}
-function hcc(a){gcc(a);a.c=AJ(new mJ());a.c.De('100%');a.c.se('100%');BJ(a.c,jcc(a),"<img src='images/explore.gif'/>Explore",true);bK(a.c,0);or(a,a.c);return a;}
-function jcc(i){var a,b,c,d,e,f,g,h;h=tt(new nt());i.a=kdc(new occ(),fbc(new ebc(),i),'rulelist');b=wt(h);d=e_(new t$(),jbc(new ibc(),i,h));f=oec(new tdc(),nbc(new mbc(),i));h.Be(0,1,f);dx(b,0,0,(wz(),yz),(Fz(),cA));dx(b,0,1,(wz(),yz),(Fz(),cA));jx(b,0,0,'30%');jx(b,0,1,'70%');e=yp(new sp(),'Create new rule');e.ve('Create new rule');e.z(sbc(new rbc(),i));g=Dcb(new Ccb(),'images/system_search_small.png');g.ve('Show the rule finder.');nB(g,wbc(new vbc(),i,h,f));a=hA(new fA());iA(a,e);iA(a,g);CN(a,'new-asset-Icons');c=pO(new nO());qO(c,a);qO(c,d);c.De('100%');h.Be(0,0,c);return h;}
-function kcc(c,a,b){return Abc(new zbc(),c,b,a);}
-function lcc(b,a){b.b=a;}
-function mcc(a,b){d5b(a.b,a.c,b,false);}
-function ncc(c){var a,b,d;a=70;d=100;b=w7b(new h7b(),dcc(new ccc(),c),true,null,'Create a new rule');tE(b,a,d);wE(b);}
-function dbc(){}
-_=dbc.prototype=new mr();_.tN=rgc+'AssetBrowser';_.tI=585;_.a=null;_.c=null;function fbc(b,a){b.a=a;return b;}
-function hbc(a){mcc(this.a,a);}
-function ebc(){}
-_=ebc.prototype=new gU();_.yd=hbc;_.tN=rgc+'AssetBrowser$1';_.tI=586;function jbc(b,a,c){b.a=a;b.b=c;return b;}
-function lbc(b){var a;a=kcc(this.a,this.a.a,b);this.b.Be(0,1,this.a.a);xdb('Retrieving list, please wait...');fg(a);qdc(this.a.a,a);}
-function ibc(){}
-_=ibc.prototype=new gU();_.je=lbc;_.tN=rgc+'AssetBrowser$2';_.tI=587;function nbc(b,a){b.a=a;return b;}
-function pbc(b,a){mcc(b.a,a);}
-function qbc(a){pbc(this,a);}
-function mbc(){}
-_=mbc.prototype=new gU();_.yd=qbc;_.tN=rgc+'AssetBrowser$3';_.tI=588;function sbc(b,a){b.a=a;return b;}
-function ubc(a){ncc(this.a);}
-function rbc(){}
-_=rbc.prototype=new gU();_.Bc=ubc;_.tN=rgc+'AssetBrowser$4';_.tI=589;function wbc(b,a,d,c){b.b=d;b.a=c;return b;}
-function ybc(a){this.b.Be(0,1,this.a);}
-function vbc(){}
-_=vbc.prototype=new gU();_.Bc=ybc;_.tN=rgc+'AssetBrowser$5';_.tI=590;function Abc(b,a,d,c){b.b=d;b.a=c;return b;}
-function Cbc(){xdb('Loading list, please wait...');lUb(nMb(),this.b,Ebc(new Dbc(),this,this.a));}
-function zbc(){}
-_=zbc.prototype=new gU();_.rb=Cbc;_.tN=rgc+'AssetBrowser$6';_.tI=591;function Ebc(b,a,c){b.a=c;return b;}
-function acc(c,a){var b;b=Fb(a,62);pdc(c.a,b);tdb();}
-function bcc(a){acc(this,a);}
-function Dbc(){}
-_=Dbc.prototype=new wcb();_.rd=bcc;_.tN=rgc+'AssetBrowser$7';_.tI=592;function dcc(b,a){b.a=a;return b;}
-function fcc(a){mcc(this.a,a);}
-function ccc(){}
-_=ccc.prototype=new gU();_.yd=fcc;_.tN=rgc+'AssetBrowser$8';_.tI=593;function ldc(){ldc=e3;rdc=nMb();}
-function jdc(a){a.c=tt(new nt());a.e=Dcb(new Ccb(),'images/refresh.gif');a.a=dC(new cC());}
-function kdc(c,a,b){ldc();jdc(c);ndc(c);odc(c,b);c.e.Ae(false);c.b=a;c.e.ve('Refresh current list. Will show any changes.');nB(c.e,qcc(new pcc(),c));return c;}
-function mdc(a){return lZb(gfc(a.f));}
-function ndc(c){var a,b;a=wt(c.c);c.c.De('100%');dx(a,0,0,(wz(),yz),(Fz(),cA));b=Dcb(new Ccb(),'images/open_item.gif');nB(b,zcc(new ycc(),c));b.ve('Open item');c.c.Be(0,1,b);dx(a,0,1,(wz(),zz),(Fz(),cA));or(c,c.c);}
-function odc(b,a){nUb(rdc,a,ucc(new tcc(),b));}
-function pdc(g,a){var b,c,d,e,f;b=wt(g.c);g.c.Be(1,0,null);if(a===null||a.a.a==0){d=new Ccc();g.f=tfc(d,g.g.a,25,true);g.a.Ae(false);}else{f=a.a;c=ddc(new cdc(),g,f);g.f=tfc(c,g.g.a,25,true);e=hA(new fA());iA(e,g.e);g.a.Ae(true);jC(g.a,'  '+a.a.a+' items.');iA(e,g.a);g.c.Be(0,0,e);}g.f.De('100%');g.c.Be(1,0,g.f);rt(b,1,0,2);}
-function qdc(b,a){b.d=a;b.e.Ae(true);}
-function occ(){}
-_=occ.prototype=new mr();_.tN=rgc+'AssetItemListViewer';_.tI=594;_.b=null;_.d=null;_.f=null;_.g=null;var rdc;function qcc(b,a){b.a=a;return b;}
-function scc(a){xdb('Refreshing list, please wait...');this.a.d.rb();}
-function pcc(){}
-_=pcc.prototype=new gU();_.Bc=scc;_.tN=rgc+'AssetItemListViewer$1';_.tI=595;function ucc(b,a){b.a=a;return b;}
-function wcc(b,a){b.a.g=Fb(a,99);pdc(b.a,null);}
-function xcc(a){wcc(this,a);}
-function tcc(){}
-_=tcc.prototype=new wcb();_.rd=xcc;_.tN=rgc+'AssetItemListViewer$2';_.tI=596;function zcc(b,a){b.a=a;return b;}
-function Bcc(a){xdb('Loading item, please wait ...');this.a.b.yd(lZb(gfc(this.a.f)));}
-function ycc(){}
-_=ycc.prototype=new gU();_.Bc=Bcc;_.tN=rgc+'AssetItemListViewer$3';_.tI=597;function Ecc(){return 0;}
-function Fcc(a){return '';}
-function adc(b,a){return '';}
-function bdc(b,a){return null;}
-function Ccc(){}
-_=Ccc.prototype=new gU();_.Cb=Ecc;_.cc=Fcc;_.hc=adc;_.ic=bdc;_.tN=rgc+'AssetItemListViewer$4';_.tI=598;function ddc(b,a,c){b.a=a;b.b=c;return b;}
-function fdc(){return this.b.a;}
-function gdc(a){return this.b[a].b;}
-function hdc(b,a){return this.b[b].c[a];}
-function idc(b,a){if(FU(this.a.g.a[a],'*')){return mB(new wA(),'images/'+F4b(this.b[b].a));}else{return null;}}
-function cdc(){}
-_=cdc.prototype=new gU();_.Cb=fdc;_.cc=gdc;_.hc=hdc;_.ic=idc;_.tN=rgc+'AssetItemListViewer$5';_.tI=599;function oec(d,a){var b,c;d.c=dcb(new acb(),'images/system_search.png','');d.e=F_(new v_(),vdc(new udc(),d));CN(d.e,'gwt-TextBox');d.b=a;c=hA(new fA());b=yp(new sp(),'Go');b.z(zdc(new ydc(),d));iA(c,d.e);iA(c,b);d.a=kq(new hq(),'Include archived items in list');CN(d.a,'small-Text');oq(d.a,false);ecb(d.c,'Find items with a name matching:',c);hcb(d.c,d.a);hcb(d.c,mz(new pw(),'<hr/>'));d.d=tt(new nt());d.d.Be(0,0,mz(new pw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));hcb(d.c,d.d);CN(d.d,'editable-Surface');wK(d.e,qec(d));CN(d.c,'quick-find');or(d,d.c);return d;}
-function qec(a){return bec(new aec(),a);}
-function rec(c,a,b){oUb(nMb(),a,5,nq(c.a),Ddc(new Cdc(),c,b));}
-function sec(f,d){var a,b,c,e;a=tt(new nt());if(d.a.a==1){pbc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(FU(e.b,'MORE')){a.Be(b,0,mz(new pw(),'<i>There are more items... try narrowing the search terms..<\/i>'));rt(wt(a),b,0,3);}else{a.Be(b,0,eC(new cC(),e.c[0]));a.Be(b,1,eC(new cC(),e.c[1]));c=yp(new sp(),'Open');c.z(lec(new kec(),f,e));a.Be(b,2,c);}}a.De('100%');f.d.Be(0,0,a);tdb();}
-function tec(a){xdb('Searching...');oUb(nMb(),zK(a.e),15,nq(a.a),hec(new gec(),a));}
-function tdc(){}
-_=tdc.prototype=new mr();_.tN=rgc+'QuickFindWidget';_.tI=600;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function vdc(b,a){b.a=a;return b;}
-function xdc(c,b,a){rec(c.a,b,a);}
-function udc(){}
-_=udc.prototype=new gU();_.tN=rgc+'QuickFindWidget$1';_.tI=601;function zdc(b,a){b.a=a;return b;}
-function Bdc(a){tec(this.a);}
-function ydc(){}
-_=ydc.prototype=new gU();_.Bc=Bdc;_.tN=rgc+'QuickFindWidget$2';_.tI=602;function Ddc(b,a,c){b.a=c;return b;}
-function Fdc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[609],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!FU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}D_(this.a,c);}
-function Cdc(){}
-_=Cdc.prototype=new wcb();_.rd=Fdc;_.tN=rgc+'QuickFindWidget$3';_.tI=603;function bec(b,a){b.a=a;return b;}
-function dec(a,b,c){}
-function eec(a,b,c){}
-function fec(a,b,c){if(b==13){tec(this.a);}}
-function aec(){}
-_=aec.prototype=new gU();_.ed=dec;_.fd=eec;_.gd=fec;_.tN=rgc+'QuickFindWidget$4';_.tI=604;function hec(b,a){b.a=a;return b;}
-function jec(a){var b;b=Fb(a,62);sec(this.a,b);}
-function gec(){}
-_=gec.prototype=new wcb();_.rd=jec;_.tN=rgc+'QuickFindWidget$5';_.tI=605;function lec(b,a,c){b.a=a;b.b=c;return b;}
-function nec(a){pbc(this.a.b,this.b.b);}
-function kec(){}
-_=kec.prototype=new gU();_.Bc=nec;_.tN=rgc+'QuickFindWidget$6';_.tI=606;function wec(a){a.a=oY(new mY());}
-function xec(a){wec(a);return a;}
-function yec(b,a,c){if(a>=b.a.b){zec(b,a);}BY(b.a,a,c);}
-function zec(c,a){var b;for(b=c.a.b;b<=a;b++){qY(c.a,null);}}
-function Bec(b,a){return vY(b.a,a);}
-function Cec(b,a){b.b=a;}
-function Dec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(Bec(this,this.b),34);b=Fb(Bec(d,this.b),34);return a.db(b);}
-function vec(){}
-_=vec.prototype=new gU();_.db=Dec;_.tN=sgc+'RowData';_.tI=607;_.b=0;function Fec(a){a.j=oY(new mY());a.i=oY(new mY());}
-function afc(c,b,a){cw(c,b+1,a);Fec(c);fy(c,c);CN(c,wfc);return c;}
-function bfc(c,b,a){if(b!=0){return;}nfc(c,a);pfc(c,a);ffc(c);}
-function dfc(e){var a,b,c,d,f;if(e.h==rfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(vY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Bec(b,a);jfc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(vY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Bec(b,a);jfc(e,d,a,f.tS());}}}}
-function efc(d){var a,b,c;c=0;for(b=d.i.sc();b.mc();){a=Fb(b.uc(),1);hfc(d,a,c++);}}
-function ffc(a){efc(a);dfc(a);}
-function gfc(a){return qy(a,a.f,a.e);}
-function hfc(d,c,b){var a;a=rU(new qU());tU(a,c);tU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==rfc){tU(a,"'"+d.a+"' alt='Ascending' ");}else{tU(a,"'"+d.c+"' alt='Descending' ");}}else{tU(a,"'"+d.b+"'");}tU(a,'/>');Ey(d,0,b,xU(a));tx(d.p,0,xfc);}
-function ifc(c,b,a){if(b%2==0){gx(c.n,b,a,vfc);}}
-function jfc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.Be(b,a,mB(new wA(),'images/'+F4b(d)));else az(c,b,a,d);}}
-function kfc(c,b,a){pY(c.i,a,b);hfc(c,b,a);}
-function lfc(b,a){b.d=a;}
-function mfc(b,a){b.e=a;ix(b.n,0,a,false);}
-function nfc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(vY(d.j,b),100);Cec(a,c);}}
-function ofc(d,b,a,e,f){var c;if(b==0)return;ifc(d,b,a);if(b-1>=d.j.b||null===vY(d.j,b-1)){pY(d.j,b-1,xec(new vec()));}c=Fb(vY(d.j,b-1),100);yec(c,a,e);if(f===null){az(d,b,a,''+e+'');}else{d.Be(b,a,f);}if(a==d.e){ix(d.n,b,a,false);}}
-function pfc(b,a){rZ(b.j);if(b.g!=a){b.h=rfc;}else{b.h=b.h==rfc?sfc:rfc;}b.g=a;}
-function qfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){gx(a,c,b,yfc);if(d.f%2==0&&d.f!=0){gx(a,d.f,b,vfc);}else{cx(a,d.f,b,yfc);}}d.f=c;}}
-function tfc(a,d,b,c){var e,f,g;g=null;if(b>a.Cb()){g=afc(new Eec(),b,d.a+1);ofc(g,1,1,'',null);}else{g=afc(new Eec(),a.Cb()+1,d.a+1);}kfc(g,'',0);for(e=0;e<d.a;e++){kfc(g,d[e],e+1);}mfc(g,0);for(e=0;e<a.Cb();e++){ofc(g,e+1,0,a.cc(e),null);for(f=0;f<d.a;f++){ofc(g,e+1,f+1,a.hc(e,f),a.ic(e,f));}}lfc(g,c);return g;}
-function ufc(c,b,a){if(b<=this.j.b){qfc(this,b);bfc(this,b,a);}}
-function Eec(){}
-_=Eec.prototype=new aw();_.zc=ufc;_.tN=sgc+'SortableTable';_.tI=608;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var rfc=0,sfc=1,vfc='rule-ListEvenRow',wfc='rule-List',xfc='rule-ListHeader',yfc='rule-SelectedRow';function aS(){q4(m4(new b4()));}
-function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{aS();}catch(a){b(d);}else{aS();}}
-var gc=[{},{12:1},{1:1,12:1,34:1,35:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{2:1,12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1},{8:1,12:1},{8:1,12:1},{8:1,12:1},{12:1},{2:1,6:1,12:1},{2:1,12:1},{9:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1},{3:1,12:1},{3:1,12:1,39:1},{3:1,12:1,92:1},{3:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,36:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,49:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1,33:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,43:1},{12:1,49:!
 1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,81:1},{12:1,20:1,36:1,37:1,81:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,46:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,49:1,56:1},{12:1,39:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,49:1},{12:1},{12:1,20:1,36:1,37:1,87:1},{12:1,20:1,36:1,37:1,48:1,54:1},{9:1,12:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,39:1},{12:1,39:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,50:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,80:1},{12:1,20:1,36:1,37:1,54:1},{12:1,36:1,52:1},{12:1,36:1,52:1},{12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1},{12:1},{12!
 :1},{12:1},{12:1},{12:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1},{12:1}
,{12:1},{3:1,12:1},{12:1,55:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{12:1,35:1},{3:1,12:1},{12:1},{12:1,57:1},{12:1,49:1,58:1},{12:1,49:1,58:1},{12:1},{12:1,49:1},{12:1},{12:1},{12:1,34:1,59:1},{12:1,57:1},{12:1,60:1},{12:1,49:1,58:1},{12:1},{12:1,49:1,58:1},{3:1,12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{7:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{8:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{1!
 2:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,53:1},{12:1,42:1},{12:1},{12:1},{12:1,36:1,52:1,64:1},{12:1,20:1,36:1,37:1,46:1,80:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,20:1,36:1,37:1,81:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,65:1},{12:1,20:1,36:1,37:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,38:1,39:1,91:1},{12:1,23:1,24:1,38:1,39:1},{12:1,18:1,38:1,39:1},{12:1,23:1,24:1,!
 25:1,38:1,39:1},{12:1,23:1,24:1,25:1,26:1,38:1,39:1},{12:1,23:1,27:1,3
8:1,39:1},{12:1,23:1,24:1,28:1,38:1,39:1},{12:1,23:1,24:1,28:1,29:1,38:1,39:1},{12:1,22:1,30:1,38:1,39:1},{12:1,17:1,31:1,38:1,39:1},{12:1,38:1,39:1,40:1},{12:1,15:1,38:1,39:1,40:1},{12:1,14:1,22:1,23:1,38:1,39:1},{12:1,16:1,22:1,38:1,39:1},{12:1,21:1,38:1,39:1},{12:1,38:1,39:1,83:1},{12:1,17:1,32:1,38:1,39:1,40:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,84:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,41:1},{4:1,12:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,46:1},{12:1,41:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,82:1,98:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:!
 1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,46:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{4:1,!
 12:1},{12:1,42:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1
,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1},{4:1,12:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1,53:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,90:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,42:1},{12:1,53:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1},{10:1,12:1,39:1},{3:1,12:1,39:1,70:1},{12:1,39:1,93:1},{12:1,19:1,39:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,39:1,97:1},{12:1,39:1,95:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1,69:1},{11:1,12:1,39:1},{12:1,39:1,99:1},{12:1,39:1,6!
 2:1},{12:1,13:1,39:1},{12:1,39:1,89:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,44:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1},{12:1,41:1},{12:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{!
 4:1,12:1},{4:1,12:1},{4:1,12:1},{4:1,12:1},{12:1},{12:1},{4:1,12:1},{1
2:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{12:1,46:1},{12:1},{12:1,42:1},{12:1,34:1,100:1},{12:1,20:1,36:1,37:1,51:1,54:1},{12:1,63:1},{12:1,88:1},{12:1,86:1},{12:1},{12:1},{12:1,94:1},{12:1,72:1,77:1,78:1},{12:1,79:1},{12:1,74:1,77:1},{12:1,75:1},{12:1,73:1},{12:1,71:1},{12:1},{12:1},{12:1,76:1},{12:1,77:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,77:1},{12:1,75:1},{12:1,75:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1}];if ($wnd.org_drools_brms_JBRMS) $wnd.org_drools_brms_JBRMS.onScriptLoad();
---></script></body></html>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.js
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.js	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3425 +0,0 @@
-(function(){var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var _,zfc='com.google.gwt.core.client.',Afc='com.google.gwt.lang.',Bfc='com.google.gwt.user.client.',Cfc='com.google.gwt.user.client.impl.',Dfc='com.google.gwt.user.client.rpc.',Efc='com.google.gwt.user.client.rpc.core.java.lang.',Ffc='com.google.gwt.user.client.rpc.core.java.util.',agc='com.google.gwt.user.client.rpc.impl.',bgc='com.google.gwt.user.client.ui.',cgc='com.google.gwt.user.client.ui.impl.',dgc='java.io.',egc='java.lang.',fgc='java.util.',ggc='org.drools.brms.client.',hgc='org.drools.brms.client.admin.',igc='org.drools.brms.client.categorynav.',jgc='org.drools.brms.client.common.',kgc='org.drools.brms.client.decisiontable.',lgc='org.drools.brms.client.modeldriven.',mgc='org.drools.brms.client.modeldriven.brl.',ngc='org.drools.brms.client.modeldriven.ui.',ogc='org.drools.brms.client.packages.',pgc='org.drools.brms.client.rpc.',qgc='org.drools.brms.client.ruleeditor.',rgc='org.droo!
 ls.brms.client.rulelist.',sgc='org.drools.brms.client.table.';function e3(){}
-function iU(a){return this===a;}
-function jU(){return BV(this);}
-function kU(){return this.tN+'@'+this.hC();}
-function gU(){}
-_=gU.prototype={};_.eQ=iU;_.hC=jU;_.tS=kU;_.toString=function(){return this.tS();};_.tN=egc+'Object';_.tI=1;function v(){return C();}
-function w(a){return a==null?null:a.tN;}
-var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
-function C(){return $moduleBase;}
-function D(){return ++E;}
-var E=0;function EV(b,a){b.c=a;return b;}
-function FV(c,b,a){c.c=b;return c;}
-function bW(){return this.c;}
-function cW(){var a,b;a=w(this);b=this.Bb();if(b!==null){return a+': '+b;}else{return a;}}
-function DV(){}
-_=DV.prototype=new gU();_.Bb=bW;_.tS=cW;_.tN=egc+'Throwable';_.tI=3;_.c=null;function DS(b,a){EV(b,a);return b;}
-function ES(c,b,a){FV(c,b,a);return c;}
-function CS(){}
-_=CS.prototype=new DV();_.tN=egc+'Exception';_.tI=4;function mU(b,a){DS(b,a);return b;}
-function nU(c,b,a){ES(c,b,a);return c;}
-function lU(){}
-_=lU.prototype=new CS();_.tN=egc+'RuntimeException';_.tI=5;function ab(c,b,a){mU(c,'JavaScript '+b+' exception: '+a);return c;}
-function F(){}
-_=F.prototype=new lU();_.tN=zfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
-function fb(a){return A(a);}
-function gb(){return [];}
-function hb(){return function(){};}
-function ib(){return {};}
-function kb(a){return eb(this,a);}
-function jb(a,b){return a===b;}
-function lb(){return fb(this);}
-function nb(){return mb(this);}
-function mb(a){if(a.toString)return a.toString();return '[object]';}
-function cb(){}
-_=cb.prototype=new gU();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=zfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
-function rb(a,b,c){return a[b]=c;}
-function tb(a,b){return sb(a,b);}
-function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
-function ub(b,a){return b[a];}
-function wb(b,a){return b[a];}
-function vb(a){return a.length;}
-function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
-function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new xT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=iV(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
-function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
-function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new hS();}return rb(a,b,c);}
-function ob(){}
-_=ob.prototype=new gU();_.tN=Afc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
-function Eb(a){return String.fromCharCode(a);}
-function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
-function ac(b,a){return b!=null&&Db(b.tI,a);}
-function bc(a){return a&65535;}
-function cc(a){return ~(~a);}
-function dc(a){if(a>(kT(),lT))return kT(),lT;if(a<(kT(),mT))return kT(),mT;return a>=0?Math.floor(a):Math.ceil(a);}
-function fc(){throw new xS();}
-function ec(a){if(a!==null){throw new xS();}return a;}
-function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
-var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
-function lc(a){return a.message;}
-function mc(a){return a.name;}
-function oc(b,a){return b;}
-function nc(){}
-_=nc.prototype=new lU();_.tN=Bfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=oY(new mY());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
-function gd(a){fd(a);return a;}
-function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
-function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.rb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(AV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
-function kd(a){if(!yY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
-function ld(b,a){b.c=a;}
-function md(b,a){b.e=a;}
-function nd(b,a){qY(b.b,a);kd(b);}
-function od(a,b){return vT(a-b)>=100;}
-function qc(){}
-_=qc.prototype=new gU();_.tN=Bfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=e3;uh=oY(new mY());{th();}}
-function ih(a){kh();return a;}
-function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}AY(uh,a);}
-function lh(a){if(!a.b){AY(uh,a);}a.he();}
-function nh(b,a){if(a<=0){throw bT(new aT(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);qY(uh,b);}
-function mh(b,a){if(a<=0){throw bT(new aT(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);qY(uh,b);}
-function oh(a){kh();$wnd.clearInterval(a);}
-function ph(a){kh();$wnd.clearTimeout(a);}
-function qh(b,a){kh();return $wnd.setInterval(function(){b.sb();},a);}
-function rh(b,a){kh();return $wnd.setTimeout(function(){b.sb();},a);}
-function sh(){var a;a=x;{lh(this);}}
-function th(){kh();yh(new eh());}
-function dh(){}
-_=dh.prototype=new gU();_.sb=sh;_.tN=Bfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=e3;kh();}
-function sc(b,a){tc();b.a=a;ih(b);return b;}
-function uc(){if(!this.a.c){return;}id(this.a);}
-function rc(){}
-_=rc.prototype=new dh();_.he=uc;_.tN=Bfc+'CommandExecutor$1';_.tI=14;function xc(){xc=e3;kh();}
-function wc(b,a){xc();b.a=a;ih(b);return b;}
-function yc(){md(this.a,false);jd(this.a,AV());}
-function vc(){}
-_=vc.prototype=new dh();_.he=yc;_.tN=Bfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
-function Cc(a){return vY(a.d.b,a.b);}
-function Dc(a){return a.c<a.a;}
-function Ec(b){var a;b.b=b.c;a=vY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
-function Fc(a){zY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
-function ad(b,a){b.a=a;}
-function bd(a){return a.b==(-1);}
-function cd(){return Dc(this);}
-function dd(){return Ec(this);}
-function ed(){Fc(this);}
-function zc(){}
-_=zc.prototype=new gU();_.mc=cd;_.uc=dd;_.ee=ed;_.tN=Bfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=e3;rf=oY(new mY());{gf=new li();ti(gf);}}
-function sd(a){rd();qY(rf,a);}
-function td(b,a){rd();jj(gf,b,a);}
-function ud(a,b){rd();return qi(gf,a,b);}
-function vd(){rd();return lj(gf,'A');}
-function wd(){rd();return lj(gf,'button');}
-function xd(){rd();return lj(gf,'div');}
-function yd(a){rd();return lj(gf,a);}
-function zd(){rd();return lj(gf,'form');}
-function Ad(){rd();return lj(gf,'iframe');}
-function Bd(){rd();return lj(gf,'img');}
-function Cd(){rd();return mj(gf,'checkbox');}
-function Dd(){rd();return mj(gf,'password');}
-function Ed(a){rd();return Bi(gf,a);}
-function Fd(){rd();return mj(gf,'text');}
-function ae(){rd();return lj(gf,'label');}
-function be(a){rd();return nj(gf,a);}
-function ce(){rd();return lj(gf,'span');}
-function de(){rd();return lj(gf,'tbody');}
-function ee(){rd();return lj(gf,'td');}
-function fe(){rd();return lj(gf,'tr');}
-function ge(){rd();return lj(gf,'table');}
-function he(){rd();return lj(gf,'textarea');}
-function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
-function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.yc(b);}finally{ie=d;}}
-function le(b,a){rd();oj(gf,b,a);}
-function me(a){rd();return pj(gf,a);}
-function ne(a){rd();return qj(gf,a);}
-function oe(a){rd();return rj(gf,a);}
-function pe(a){rd();return sj(gf,a);}
-function qe(a){rd();return tj(gf,a);}
-function re(a){rd();return Ci(gf,a);}
-function se(a){rd();return uj(gf,a);}
-function te(a){rd();return vj(gf,a);}
-function ue(a){rd();return wj(gf,a);}
-function ve(a){rd();return Di(gf,a);}
-function we(a){rd();return Ei(gf,a);}
-function xe(a){rd();return xj(gf,a);}
-function ye(a){rd();Fi(gf,a);}
-function ze(a){rd();return aj(gf,a);}
-function Ae(a){rd();return ni(gf,a);}
-function Be(a){rd();return oi(gf,a);}
-function Ee(b,a){rd();return cj(gf,b,a);}
-function Ce(a){rd();return bj(gf,a);}
-function De(b,a){rd();return ri(gf,b,a);}
-function bf(a,b){rd();return Aj(gf,a,b);}
-function Fe(a,b){rd();return yj(gf,a,b);}
-function af(a,b){rd();return zj(gf,a,b);}
-function cf(a){rd();return Bj(gf,a);}
-function df(a){rd();return dj(gf,a);}
-function ef(a){rd();return Cj(gf,a);}
-function ff(a){rd();return ej(gf,a);}
-function hf(c,a,b){rd();gj(gf,c,a,b);}
-function jf(c,b,d,a){rd();Dj(gf,c,b,d,a);}
-function kf(b,a){rd();return ui(gf,b,a);}
-function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(vY(rf,rf.b-1),5);if(!(c=b.Ec(a))){le(a,true);ye(a);}}return c;}
-function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}vi(gf,a);}
-function nf(b,a){rd();Ej(gf,b,a);}
-function of(b,a){rd();Fj(gf,b,a);}
-function pf(a){rd();AY(rf,a);}
-function sf(a){rd();ak(gf,a);}
-function tf(a){rd();qf=a;hj(gf,a);}
-function uf(b,a,c){rd();bk(gf,b,a,c);}
-function xf(a,b,c){rd();ek(gf,a,b,c);}
-function vf(a,b,c){rd();ck(gf,a,b,c);}
-function wf(a,b,c){rd();dk(gf,a,b,c);}
-function yf(a,b){rd();fk(gf,a,b);}
-function zf(a,b){rd();gk(gf,a,b);}
-function Af(a,b){rd();hk(gf,a,b);}
-function Bf(a,b){rd();ik(gf,a,b);}
-function Cf(b,a,c){rd();jk(gf,b,a,c);}
-function Df(b,a,c){rd();kk(gf,b,a,c);}
-function Ef(a,b){rd();xi(gf,a,b);}
-function Ff(a){rd();return yi(gf,a);}
-function ag(){rd();return lk(gf);}
-function bg(){rd();return mk(gf);}
-var ie=null,gf=null,qf=null,rf;function dg(){dg=e3;gg=gd(new qc());}
-function fg(a){dg();nd(gg,a);}
-function eg(a){dg();if(a===null){throw AT(new zT(),'cmd can not be null');}nd(gg,a);}
-var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
-function kg(a){return jg(this,a);}
-function lg(){return fb(hc(this,hg));}
-function mg(){return Ff(this);}
-function hg(){}
-_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=Bfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
-function sg(){return fb(hc(this,ng));}
-function tg(){return ze(this);}
-function ng(){}
-_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=Bfc+'Event';_.tI=18;function vg(){vg=e3;xg=pk(new ok());}
-function wg(c,b,a){vg();return rk(xg,c,b,a);}
-var xg;function Ag(){Ag=e3;Eg=oY(new mY());{Fg=new xk();if(!Ck(Fg)){Fg=null;}}}
-function Bg(a){Ag();qY(Eg,a);}
-function Cg(a){Ag();var b,c;for(b=Eg.sc();b.mc();){c=Fb(b.uc(),7);c.dd(a);}}
-function Dg(){Ag();return Fg!==null?Ek(Fg):'';}
-function ah(a){Ag();if(Fg!==null){zk(Fg,a);}}
-function bh(b){Ag();var a;a=x;{Cg(b);}}
-var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(vY((kh(),uh),0),8));}}
-function hh(){return null;}
-function eh(){}
-_=eh.prototype=new gU();_.wd=gh;_.xd=hh;_.tN=Bfc+'Timer$1';_.tI=19;function xh(){xh=e3;Ah=oY(new mY());ii=oY(new mY());{di();}}
-function yh(a){xh();qY(Ah,a);}
-function zh(a){xh();$wnd.alert(a);}
-function Bh(a){xh();return $wnd.confirm(a);}
-function Ch(){xh();var a,b;for(a=Ah.sc();a.mc();){b=Fb(a.uc(),9);b.wd();}}
-function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.sc();a.mc();){b=Fb(a.uc(),9);c=b.xd();{d=c;}}return d;}
-function Eh(){xh();var a,b;for(a=ii.sc();a.mc();){b=ec(a.uc());null.lf();}}
-function Fh(){xh();return ag();}
-function ai(){xh();return bg();}
-function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
-function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
-function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
-function ei(){xh();var a;a=x;{Ch();}}
-function fi(){xh();var a;a=x;{return Dh();}}
-function gi(){xh();var a;a=x;{Eh();}}
-function hi(c,b,a){xh();$wnd.open(c,b,a);}
-var Ah,ii;function jj(c,b,a){b.appendChild(a);}
-function lj(b,a){return $doc.createElement(a);}
-function mj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
-function nj(c,a){var b;b=lj(c,'select');if(a){ck(c,b,'multiple',true);}return b;}
-function oj(c,b,a){b.cancelBubble=a;}
-function pj(b,a){return !(!a.altKey);}
-function qj(b,a){return a.clientX|| -1;}
-function rj(b,a){return a.clientY|| -1;}
-function sj(b,a){return !(!a.ctrlKey);}
-function tj(b,a){return a.currentTarget;}
-function uj(b,a){return a.which||(a.keyCode|| -1);}
-function vj(b,a){return !(!a.metaKey);}
-function wj(b,a){return !(!a.shiftKey);}
-function xj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
-function Aj(d,a,b){var c=a[b];return c==null?null:String(c);}
-function yj(c,a,b){return !(!a[b]);}
-function zj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
-function Bj(b,a){return a.__eventBits||0;}
-function Cj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.zb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
-function Dj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
-function Ej(c,b,a){b.removeChild(a);}
-function Fj(c,b,a){b.removeAttribute(a);}
-function ak(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
-function bk(c,b,a,d){b.setAttribute(a,d);}
-function ek(c,a,b,d){a[b]=d;}
-function ck(c,a,b,d){a[b]=d;}
-function dk(c,a,b,d){a[b]=d;}
-function fk(c,a,b){a.__listener=b;}
-function gk(c,a,b){a.src=b;}
-function hk(c,a,b){if(!b){b='';}a.innerHTML=b;}
-function ik(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
-function jk(c,b,a,d){b.style[a]=d;}
-function kk(c,b,a,d){b.style[a]=d;}
-function lk(a){return $doc.body.clientHeight;}
-function mk(a){return $doc.body.clientWidth;}
-function nk(a){return Cj(this,a);}
-function ji(){}
-_=ji.prototype=new gU();_.zb=nk;_.tN=Cfc+'DOMImpl';_.tI=20;function Bi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
-function Ci(b,a){return a.relatedTarget?a.relatedTarget:null;}
-function Di(b,a){return a.target||null;}
-function Ei(b,a){return a.relatedTarget||null;}
-function Fi(b,a){a.preventDefault();}
-function aj(b,a){return a.toString();}
-function cj(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
-function bj(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
-function dj(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
-function ej(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
-function fj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
-function gj(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
-function hj(b,a){$wnd.__captureElem=a;}
-function ij(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
-function zi(){}
-_=zi.prototype=new ji();_.tN=Cfc+'DOMImplStandard';_.tI=21;function qi(c,a,b){if(!a&& !b){return true;}else if(!a|| !b){return false;}return a.isSameNode(b);}
-function ri(d,c,e){var b=0,a=c.firstChild;while(a){if(a.isSameNode(e)){return b;}if(a.nodeType==1){++b;}a=a.nextSibling;}return -1;}
-function ti(a){fj(a);si(a);}
-function si(d){$wnd.addEventListener('mouseout',function(b){var a=$wnd.__captureElem;if(a&& !b.relatedTarget){if('html'==b.target.tagName.toLowerCase()){var c=$doc.createEvent('MouseEvents');c.initMouseEvent('mouseup',true,true,$wnd,0,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,null);a.dispatchEvent(c);}}},true);$wnd.addEventListener('DOMMouseScroll',$wnd.__dispatchCapturedMouseEvent,true);}
-function ui(d,c,b){while(b){if(c.isSameNode(b)){return true;}try{b=b.parentNode;}catch(a){return false;}if(b&&b.nodeType!=1){b=null;}}return false;}
-function vi(b,a){if(a.isSameNode($wnd.__captureElem)){$wnd.__captureElem=null;}}
-function xi(c,b,a){ij(c,b,a);wi(c,b,a);}
-function wi(c,b,a){if(a&131072){b.addEventListener('DOMMouseScroll',$wnd.__dispatchEvent,false);}}
-function yi(d,a){var b=a.cloneNode(true);var c=$doc.createElement('DIV');c.appendChild(b);outer=c.innerHTML;b.innerHTML='';return outer;}
-function ki(){}
-_=ki.prototype=new zi();_.tN=Cfc+'DOMImplMozilla';_.tI=22;function ni(e,a){var d=$doc.defaultView.getComputedStyle(a,null);var b=$doc.getBoxObjectFor(a).x-Math.round(d.getPropertyCSSValue('border-left-width').getFloatValue(CSSPrimitiveValue.CSS_PX));var c=a.parentNode;while(c){if(c.scrollLeft>0){b-=c.scrollLeft;}c=c.parentNode;}return b+$doc.body.scrollLeft+$doc.documentElement.scrollLeft;}
-function oi(d,a){var c=$doc.defaultView.getComputedStyle(a,null);var e=$doc.getBoxObjectFor(a).y-Math.round(c.getPropertyCSSValue('border-top-width').getFloatValue(CSSPrimitiveValue.CSS_PX));var b=a.parentNode;while(b){if(b.scrollTop>0){e-=b.scrollTop;}b=b.parentNode;}return e+$doc.body.scrollTop+$doc.documentElement.scrollTop;}
-function li(){}
-_=li.prototype=new ki();_.tN=Cfc+'DOMImplMozillaOld';_.tI=23;function pk(a){vk=hb();return a;}
-function rk(c,d,b,a){return sk(c,null,null,d,b,a);}
-function sk(d,f,c,e,b,a){return qk(d,f,c,e,b,a);}
-function qk(e,g,d,f,c,b){var h=e.nb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=vk;b.Cc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=vk;return false;}}
-function uk(){return new XMLHttpRequest();}
-function ok(){}
-_=ok.prototype=new gU();_.nb=uk;_.tN=Cfc+'HTTPRequestImpl';_.tI=24;var vk=null;function Ek(a){return $wnd.__gwt_historyToken;}
-function Fk(a){bh(a);}
-function wk(){}
-_=wk.prototype=new gU();_.tN=Cfc+'HistoryImpl';_.tI=25;function Ck(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;Fk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
-function Ak(){}
-_=Ak.prototype=new wk();_.tN=Cfc+'HistoryImplStandard';_.tI=26;function zk(d,a){if(a==null||a.length==0){var c=$wnd.location.href;var b=c.indexOf('#');if(b!= -1)c=c.substring(0,b);$wnd.location=c+'#';}else{$wnd.location.hash=encodeURIComponent(a);}}
-function xk(){}
-_=xk.prototype=new Ak();_.tN=Cfc+'HistoryImplMozilla';_.tI=27;function cl(a){mU(a,'This application is out of date, please click the refresh button on your browser');return a;}
-function bl(){}
-_=bl.prototype=new lU();_.tN=Dfc+'IncompatibleRemoteServiceException';_.tI=28;function gl(b,a){}
-function hl(b,a){}
-function jl(b,a){nU(b,a,null);return b;}
-function il(){}
-_=il.prototype=new lU();_.tN=Dfc+'InvocationException';_.tI=29;function vl(){return this.b;}
-function nl(){}
-_=nl.prototype=new CS();_.Bb=vl;_.tN=Dfc+'SerializableException';_.tI=30;_.b=null;function rl(b,a){ul(a,b.ae());}
-function sl(a){return a.b;}
-function tl(b,a){b.jf(sl(a));}
-function ul(a,b){a.b=b;}
-function xl(b,a){DS(b,a);return b;}
-function wl(){}
-_=wl.prototype=new CS();_.tN=Dfc+'SerializationException';_.tI=31;function Cl(a){jl(a,'Service implementation URL not specified');return a;}
-function Bl(){}
-_=Bl.prototype=new il();_.tN=Dfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=32;function bm(b,a){}
-function cm(a){return rS(a.Bd());}
-function dm(b,a){b.df(a.a);}
-function gm(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Fd());}}
-function hm(d,a){var b,c;b=a.a;d.ff(b);for(c=0;c<b;++c){d.hf(a[c]);}}
-function km(b,a){}
-function lm(a){return a.ae();}
-function mm(b,a){b.jf(a);}
-function pm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Cd();}}
-function qm(d,a){var b,c;b=a.a;d.ff(b);for(c=0;c<b;++c){d.ef(a[c]);}}
-function tm(e,b){var a,c,d;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();qY(b,c);}}
-function um(e,a){var b,c,d;d=a.b;e.ff(d);b=a.sc();while(b.mc()){c=b.uc();e.hf(c);}}
-function xm(b,a){}
-function ym(a){return BZ(new zZ(),a.Ed());}
-function zm(b,a){b.gf(EZ(a));}
-function Cm(e,b){var a,c,d,f;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();f=e.Fd();s1(b,c,f);}}
-function Dm(f,c){var a,b,d,e;e=c.c;f.ff(e);b=q1(c);d=g1(b);while(E0(d)){a=F0(d);f.hf(a.Ab());f.hf(a.gc());}}
-function an(d,b){var a,c;c=d.Dd();for(a=0;a<c;++a){g2(b,d.Fd());}}
-function bn(c,a){var b;c.ff(a.a.c);for(b=i2(a);jX(b);){c.hf(kX(b));}}
-function en(e,b){var a,c,d;d=e.Dd();for(a=0;a<d;++a){c=e.Fd();z2(b,c);}}
-function fn(e,a){var b,c,d;d=a.a.b;e.ff(d);b=B2(a);while(b.mc()){c=b.uc();e.hf(c);}}
-function Dn(a){return a.j>2;}
-function En(b,a){b.i=a;}
-function Fn(a,b){a.j=b;}
-function gn(){}
-_=gn.prototype=new gU();_.tN=agc+'AbstractSerializationStream';_.tI=33;_.i=0;_.j=3;function jn(a){a.e=oY(new mY());}
-function kn(a){jn(a);return a;}
-function mn(b,a){sY(b.e);Fn(b,ho(b));En(b,ho(b));}
-function nn(a){var b,c;b=a.Dd();if(b<0){return vY(a.e,-(b+1));}c=a.ec(b);if(c===null){return null;}return a.lb(c);}
-function on(b,a){qY(b.e,a);}
-function pn(){return nn(this);}
-function hn(){}
-_=hn.prototype=new gn();_.Fd=pn;_.tN=agc+'AbstractSerializationStreamReader';_.tI=34;function sn(b,a){b.ab(a?'1':'0');}
-function tn(b,a){b.ab(vV(a));}
-function un(c,a){var b,d;if(a===null){vn(c,null);return;}b=c.yb(a);if(b>=0){tn(c,-(b+1));return;}c.ie(a);d=c.Db(a);vn(c,d);c.le(a,d);}
-function vn(a,b){tn(a,a.B(b));}
-function wn(a){sn(this,a);}
-function xn(a){this.ab(vV(a));}
-function yn(a){tn(this,a);}
-function zn(a){this.ab(wV(a));}
-function An(a){un(this,a);}
-function Bn(a){vn(this,a);}
-function qn(){}
-_=qn.prototype=new gn();_.df=wn;_.ef=xn;_.ff=yn;_.gf=zn;_.hf=An;_.jf=Bn;_.tN=agc+'AbstractSerializationStreamWriter';_.tI=35;function bo(b,a){kn(b);b.c=a;return b;}
-function eo(b,a){if(!a){return null;}return b.d[a-1];}
-function fo(b,a){b.b=lo(a);b.a=mo(b.b);mn(b,a);b.d=io(b);}
-function go(a){return !(!a.b[--a.a]);}
-function ho(a){return a.b[--a.a];}
-function io(a){return a.b[--a.a];}
-function jo(a){return eo(a,ho(a));}
-function ko(b){var a;a=this.c.pc(this,b);on(this,a);this.c.kb(this,a,b);return a;}
-function lo(a){return eval(a);}
-function mo(a){return a.length;}
-function no(a){return eo(this,a);}
-function oo(){return go(this);}
-function po(){return this.b[--this.a];}
-function qo(){return ho(this);}
-function ro(){return this.b[--this.a];}
-function so(){return jo(this);}
-function ao(){}
-_=ao.prototype=new hn();_.lb=ko;_.ec=no;_.Bd=oo;_.Cd=po;_.Dd=qo;_.Ed=ro;_.ae=so;_.tN=agc+'ClientSerializationStreamReader';_.tI=36;_.a=0;_.b=null;_.c=null;_.d=null;function uo(a){a.h=oY(new mY());}
-function vo(d,c,a,b){uo(d);d.f=c;d.b=a;d.e=b;return d;}
-function xo(c,a){var b=c.d[a];return b==null?-1:b;}
-function yo(c,a){var b=c.g[':'+a];return b==null?0:b;}
-function zo(a){a.c=0;a.d=ib();a.g=ib();sY(a.h);a.a=rU(new qU());if(Dn(a)){vn(a,a.b);vn(a,a.e);}}
-function Ao(b,a,c){b.d[a]=c;}
-function Bo(b,a,c){b.g[':'+a]=c;}
-function Co(b){var a;a=rU(new qU());Do(b,a);Fo(b,a);Eo(b,a);return xU(a);}
-function Do(b,a){bp(a,vV(b.j));bp(a,vV(b.i));}
-function Eo(b,a){tU(a,xU(b.a));}
-function Fo(d,a){var b,c;c=d.h.b;bp(a,vV(c));for(b=0;b<c;++b){bp(a,Fb(vY(d.h,b),1));}return a;}
-function ap(b){var a;if(b===null){return 0;}a=yo(this,b);if(a>0){return a;}qY(this.h,b);a=this.h.b;Bo(this,b,a);return a;}
-function bp(a,b){tU(a,b);sU(a,65535);}
-function cp(a){bp(this.a,a);}
-function dp(a){return xo(this,BV(a));}
-function ep(a){var b,c;c=w(a);b=this.f.dc(c);if(b!==null){c+='/'+b;}return c;}
-function fp(a){Ao(this,BV(a),this.c++);}
-function gp(a,b){this.f.ke(this,a,b);}
-function hp(){return Co(this);}
-function to(){}
-_=to.prototype=new qn();_.B=ap;_.ab=cp;_.yb=dp;_.Db=ep;_.ie=fp;_.le=gp;_.tS=hp;_.tN=agc+'ClientSerializationStreamWriter';_.tI=37;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function rN(b,a){hO(b.fc(),a,true);}
-function tN(a){return Ae(a.wb());}
-function uN(a){return Be(a.wb());}
-function vN(a){return af(a.w,'offsetHeight');}
-function wN(a){return af(a.w,'offsetWidth');}
-function xN(b,a){hO(b.fc(),a,false);}
-function yN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
-function zN(b,a){if(b.w!==null){yN(b,b.w,a);}b.w=a;}
-function AN(b,c,a){if(c>=0){b.De(c+'px');}if(a>=0){b.se(a+'px');}}
-function BN(b,c,a){b.De(c);b.se(a);}
-function CN(b,a){gO(b.fc(),a);}
-function DN(b,a){Ef(b.wb(),a|cf(b.wb()));}
-function EN(){return this.w;}
-function FN(){return vN(this);}
-function aO(){return wN(this);}
-function bO(){return this.w;}
-function cO(a){return bf(a,'className');}
-function dO(a){return a.style.display!='none';}
-function eO(a){zN(this,a);}
-function fO(a){Df(this.w,'height',a);}
-function gO(a,b){xf(a,'className',b);}
-function hO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw mU(new lU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=mV(j);if(dV(j)==0){throw bT(new aT(),'Style names cannot be empty');}i=cO(c);e=bV(i,j);while(e!=(-1)){if(e==0||AU(i,e-1)==32){f=e+dV(j);g=dV(i);if(f==g||f<g&&AU(i,f)==32){break;}}e=cV(i,j,e+1);}if(a){if(e==(-1)){if(dV(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=mV(jV(i,0,e));d=mV(iV(i,e+dV(j)));if(dV(b)==0){h=d;}else if(dV(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
-function iO(a){if(a===null||dV(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
-function jO(a,b){a.style.display=b?'':'none';}
-function kO(a){jO(this.w,a);}
-function lO(a){Df(this.w,'width',a);}
-function mO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
-function qN(){}
-_=qN.prototype=new gU();_.wb=EN;_.Eb=FN;_.Fb=aO;_.fc=bO;_.oe=eO;_.se=fO;_.ve=iO;_.Ae=kO;_.De=lO;_.tS=mO;_.tN=bgc+'UIObject';_.tI=38;_.w=null;function yP(a){if(a.qc()){throw eT(new dT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.wb(),a);a.mb();a.hd();}
-function zP(a){if(!a.qc()){throw eT(new dT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.vd();}finally{a.ob();yf(a.wb(),null);a.t=false;}}
-function AP(a){if(ac(a.v,54)){Fb(a.v,54).ge(a);}else if(a.v!==null){throw eT(new dT(),"This widget's parent does not implement HasWidgets");}}
-function BP(b,a){if(b.qc()){yf(b.wb(),null);}zN(b,a);if(b.qc()){yf(a,b);}}
-function CP(b,a){b.u=a;}
-function DP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.qc()){c.Dc();}c.v=null;}else{if(a!==null){throw eT(new dT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.qc()){c.wc();}}}
-function EP(){}
-function FP(){}
-function aQ(){return this.t;}
-function bQ(){yP(this);}
-function cQ(a){}
-function dQ(){zP(this);}
-function eQ(){}
-function fQ(){}
-function gQ(a){BP(this,a);}
-function wO(){}
-_=wO.prototype=new qN();_.mb=EP;_.ob=FP;_.qc=aQ;_.wc=bQ;_.yc=cQ;_.Dc=dQ;_.hd=eQ;_.vd=fQ;_.oe=gQ;_.tN=bgc+'Widget';_.tI=39;_.t=false;_.u=null;_.v=null;function CD(b,a){DP(a,b);}
-function ED(b,a){DP(a,null);}
-function FD(){var a;a=this.sc();while(a.mc()){a.uc();a.ee();}}
-function aE(){var a,b;for(b=this.sc();b.mc();){a=Fb(b.uc(),20);a.wc();}}
-function bE(){var a,b;for(b=this.sc();b.mc();){a=Fb(b.uc(),20);a.Dc();}}
-function cE(){}
-function dE(){}
-function BD(){}
-_=BD.prototype=new wO();_.cb=FD;_.mb=aE;_.ob=bE;_.hd=cE;_.vd=dE;_.tN=bgc+'Panel';_.tI=40;function Dq(a){a.f=aP(new xO(),a);}
-function Eq(a){Dq(a);return a;}
-function Fq(c,a,b){AP(a);bP(c.f,a);td(b,a.wb());CD(c,a);}
-function ar(d,b,a){var c;cr(d,a);if(b.v===d){c=er(d,b);if(c<a){a--;}}return a;}
-function br(b,a){if(a<0||a>=b.f.c){throw new gT();}}
-function cr(b,a){if(a<0||a>b.f.c){throw new gT();}}
-function fr(b,a){return dP(b.f,a);}
-function er(b,a){return eP(b.f,a);}
-function gr(e,b,c,a,d){a=ar(e,b,a);AP(b);fP(e.f,b,a);if(d){hf(c,b.wb(),a);}else{td(c,b.wb());}CD(e,b);}
-function hr(a){return gP(a.f);}
-function ir(b,c){var a;if(c.v!==b){return false;}ED(b,c);a=c.wb();nf(ff(a),a);iP(b.f,c);return true;}
-function jr(){return hr(this);}
-function kr(a){return this.ge(fr(this,a));}
-function lr(a){return ir(this,a);}
-function Cq(){}
-_=Cq.prototype=new BD();_.sc=jr;_.fe=kr;_.ge=lr;_.tN=bgc+'ComplexPanel';_.tI=41;function kp(a){Eq(a);a.oe(xd());Df(a.wb(),'position','relative');Df(a.wb(),'overflow','hidden');return a;}
-function lp(a,b){Fq(a,b,a.wb());}
-function np(b,c){var a;a=ir(b,c);if(a){op(c.wb());}return a;}
-function op(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
-function pp(a){return np(this,a);}
-function jp(){}
-_=jp.prototype=new Cq();_.ge=pp;_.tN=bgc+'AbsolutePanel';_.tI=42;function qp(){}
-_=qp.prototype=new gU();_.tN=bgc+'AbstractImagePrototype';_.tI=43;function pu(){pu=e3;tu=(aR(),eR);}
-function nu(b,a){pu();ru(b,a);return b;}
-function ou(b,a){if(b.k===null){b.k=du(new cu());}qY(b.k,a);}
-function qu(b,a){switch(xe(a)){case 1:if(b.j!==null){Aq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){fu(b.k,b,a);}break;case 128:case 512:case 256:break;}}
-function ru(b,a){BP(b,a);DN(b,7041);}
-function su(a){if(this.j===null){this.j=yq(new xq());}qY(this.j,a);}
-function uu(a){qu(this,a);}
-function vu(a){ru(this,a);}
-function wu(a){vf(this.wb(),'disabled',!a);}
-function xu(a){if(a){tu.tb(this.wb());}else{tu.bb(this.wb());}}
-function yu(a){tu.ue(this.wb(),a);}
-function mu(){}
-_=mu.prototype=new wO();_.z=su;_.yc=uu;_.oe=vu;_.pe=wu;_.qe=xu;_.te=yu;_.tN=bgc+'FocusWidget';_.tI=44;_.j=null;_.k=null;var tu;function vp(){vp=e3;pu();}
-function up(b,a){vp();nu(b,a);return b;}
-function wp(a){Af(this.wb(),a);}
-function tp(){}
-_=tp.prototype=new mu();_.re=wp;_.tN=bgc+'ButtonBase';_.tI=45;function zp(){zp=e3;vp();}
-function xp(a){zp();up(a,wd());Ap(a.wb());CN(a,'gwt-Button');return a;}
-function yp(b,a){zp();xp(b);b.re(a);return b;}
-function Ap(b){zp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
-function sp(){}
-_=sp.prototype=new tp();_.tN=bgc+'Button';_.tI=46;function Cp(a){Eq(a);a.e=ge();a.d=de();td(a.e,a.d);a.oe(a.e);return a;}
-function Ep(c,b,a){xf(b,'align',a.a);}
-function Fp(c,b,a){Df(b,'verticalAlign',a.a);}
-function aq(c,a){var b;b=ff(c.wb());xf(b,'height',a);}
-function bq(b,c){var a;a=ff(b.wb());xf(a,'width',c);}
-function Bp(){}
-_=Bp.prototype=new Cq();_.me=aq;_.ne=bq;_.tN=bgc+'CellPanel';_.tI=47;_.d=null;_.e=null;function hW(d,a,b){var c;while(a.mc()){c=a.uc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
-function jW(a){throw eW(new dW(),'add');}
-function kW(b){var a;a=hW(this,this.sc(),b);return a!==null;}
-function lW(){return this.bf(yb('[Ljava.lang.Object;',[613],[12],[this.Ee()],null));}
-function mW(a){var b,c,d;d=this.Ee();if(a.a<d){a=tb(a,d);}b=0;for(c=this.sc();c.mc();){Ab(a,b++,c.uc());}if(a.a>d){Ab(a,d,null);}return a;}
-function nW(){var a,b,c;c=rU(new qU());a=null;tU(c,'[');b=this.sc();while(b.mc()){if(a!==null){tU(c,a);}else{a=', ';}tU(c,xV(b.uc()));}tU(c,']');return xU(c);}
-function gW(){}
-_=gW.prototype=new gU();_.E=jW;_.gb=kW;_.af=lW;_.bf=mW;_.tS=nW;_.tN=fgc+'AbstractCollection';_.tI=48;function xW(b,a){throw hT(new gT(),'Index: '+a+', Size: '+b.b);}
-function yW(b,a){throw eW(new dW(),'add');}
-function zW(a){this.D(this.Ee(),a);return true;}
-function AW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ee()!=f.Ee()){return false;}c=this.sc();d=f.sc();while(c.mc()){a=c.uc();b=d.uc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
-function BW(){var a,b,c,d;c=1;a=31;b=this.sc();while(b.mc()){d=b.uc();c=31*c+(d===null?0:d.hC());}return c;}
-function CW(){return qW(new pW(),this);}
-function DW(a){throw eW(new dW(),'remove');}
-function oW(){}
-_=oW.prototype=new gW();_.D=yW;_.E=zW;_.eQ=AW;_.hC=BW;_.sc=CW;_.fe=DW;_.tN=fgc+'AbstractList';_.tI=49;function nY(a){{rY(a);}}
-function oY(a){nY(a);return a;}
-function pY(c,a,b){if(a<0||a>c.b){xW(c,a);}CY(c.a,a,b);++c.b;}
-function qY(b,a){fZ(b.a,b.b++,a);return true;}
-function sY(a){rY(a);}
-function rY(a){a.a=gb();a.b=0;}
-function uY(b,a){return wY(b,a)!=(-1);}
-function vY(b,a){if(a<0||a>=b.b){xW(b,a);}return bZ(b.a,a);}
-function wY(b,a){return xY(b,a,0);}
-function xY(c,b,a){if(a<0){xW(c,a);}for(;a<c.b;++a){if(aZ(b,bZ(c.a,a))){return a;}}return (-1);}
-function yY(a){return a.b==0;}
-function zY(c,a){var b;b=vY(c,a);dZ(c.a,a,1);--c.b;return b;}
-function AY(c,b){var a;a=wY(c,b);if(a==(-1)){return false;}zY(c,a);return true;}
-function BY(d,a,b){var c;c=vY(d,a);fZ(d.a,a,b);return c;}
-function DY(a,b){pY(this,a,b);}
-function EY(a){return qY(this,a);}
-function CY(a,b,c){a.splice(b,0,c);}
-function FY(a){return uY(this,a);}
-function aZ(a,b){return a===b||a!==null&&a.eQ(b);}
-function cZ(a){return vY(this,a);}
-function bZ(a,b){return a[b];}
-function eZ(a){return zY(this,a);}
-function dZ(a,c,b){a.splice(c,b);}
-function fZ(a,b,c){a[b]=c;}
-function gZ(){return this.b;}
-function hZ(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,bZ(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
-function mY(){}
-_=mY.prototype=new oW();_.D=DY;_.E=EY;_.gb=FY;_.jc=cZ;_.fe=eZ;_.Ee=gZ;_.bf=hZ;_.tN=fgc+'ArrayList';_.tI=50;_.a=null;_.b=0;function dq(a){oY(a);return a;}
-function fq(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),41);b.Ac(c);}}
-function cq(){}
-_=cq.prototype=new mY();_.tN=bgc+'ChangeListenerCollection';_.tI=51;function lq(){lq=e3;vp();}
-function iq(a){lq();jq(a,Cd());CN(a,'gwt-CheckBox');return a;}
-function kq(b,a){lq();iq(b);pq(b,a);return b;}
-function jq(b,a){var c;lq();up(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.wb()));Ef(b.wb(),0);td(b.wb(),b.a);td(b.wb(),b.b);c='check'+ ++wq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
-function mq(a){return ef(a.b);}
-function nq(b){var a;a=b.qc()?'checked':'defaultChecked';return Fe(b.a,a);}
-function oq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
-function pq(b,a){Bf(b.b,a);}
-function qq(){yf(this.a,this);}
-function rq(){yf(this.a,null);oq(this,nq(this));}
-function sq(a){vf(this.a,'disabled',!a);}
-function tq(a){if(a){tu.tb(this.a);}else{tu.bb(this.a);}}
-function uq(a){Af(this.b,a);}
-function vq(a){tu.ue(this.a,a);}
-function hq(){}
-_=hq.prototype=new tp();_.hd=qq;_.vd=rq;_.pe=sq;_.qe=tq;_.re=uq;_.te=vq;_.tN=bgc+'CheckBox';_.tI=52;_.a=null;_.b=null;var wq=0;function yq(a){oY(a);return a;}
-function Aq(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),42);b.Bc(c);}}
-function xq(){}
-_=xq.prototype=new mY();_.tN=bgc+'ClickListenerCollection';_.tI=53;function or(a,b){if(a.k!==null){throw eT(new dT(),'Composite.initWidget() may only be called once.');}AP(b);a.oe(b.wb());a.k=b;DP(b,a);}
-function pr(){if(this.k===null){throw eT(new dT(),'initWidget() was never called in '+w(this));}return this.w;}
-function qr(){if(this.k!==null){return this.k.qc();}return false;}
-function rr(){this.k.wc();this.hd();}
-function sr(){try{this.vd();}finally{this.k.Dc();}}
-function mr(){}
-_=mr.prototype=new wO();_.wb=pr;_.qc=qr;_.wc=rr;_.Dc=sr;_.tN=bgc+'Composite';_.tI=54;_.k=null;function ur(a){Eq(a);a.oe(xd());return a;}
-function wr(b,c){var a;a=c.wb();Df(a,'width','100%');Df(a,'height','100%');c.Ae(false);}
-function xr(b,c,a){gr(b,c,b.wb(),a,true);wr(b,c);}
-function yr(b,c){var a;a=ir(b,c);if(a){zr(b,c);if(b.b===c){b.b=null;}}return a;}
-function zr(a,b){Df(b.wb(),'width','');Df(b.wb(),'height','');b.Ae(true);}
-function Ar(b,a){br(b,a);if(b.b!==null){b.b.Ae(false);}b.b=fr(b,a);b.b.Ae(true);}
-function Br(a){return yr(this,a);}
-function tr(){}
-_=tr.prototype=new Cq();_.ge=Br;_.tN=bgc+'DeckPanel';_.tI=55;_.b=null;function cH(a){dH(a,xd());return a;}
-function dH(b,a){b.oe(a);return b;}
-function eH(a,b){if(a.r!==null){throw eT(new dT(),'SimplePanel can only contain one child widget');}a.Ce(b);}
-function gH(a,b){if(b===a.r){return;}if(b!==null){AP(b);}if(a.r!==null){a.ge(a.r);}a.r=b;if(b!==null){td(a.vb(),a.r.wb());CD(a,b);}}
-function hH(){return this.wb();}
-function iH(){return DG(new BG(),this);}
-function jH(a){if(this.r!==a){return false;}ED(this,a);nf(this.vb(),a.wb());this.r=null;return true;}
-function kH(a){gH(this,a);}
-function AG(){}
-_=AG.prototype=new BD();_.vb=hH;_.sc=iH;_.ge=jH;_.Ce=kH;_.tN=bgc+'SimplePanel';_.tI=56;_.r=null;function mE(){mE=e3;CE=uR(new pR());}
-function iE(a){mE();dH(a,wR(CE));tE(a,0,0);return a;}
-function jE(b,a){mE();iE(b);b.k=a;return b;}
-function kE(c,a,b){mE();jE(c,a);c.o=b;return c;}
-function lE(b,a){if(a.blur){a.blur();}}
-function nE(a){return xR(CE,a.wb());}
-function oE(a){return wN(a);}
-function pE(a){qE(a,false);}
-function qE(b,a){if(!b.p){return;}b.p=false;np(qG(),b);b.wb();}
-function rE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.se(a.l);}if(a.m!==null){b.De(a.m);}}}
-function sE(e,b){var a,c,d,f;d=ve(b);c=kf(e.wb(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),aC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){qE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){lE(e,d);return false;}}}return !e.o||c;}
-function tE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.wb();Df(a,'left',b+'px');Df(a,'top',d+'px');}
-function uE(a,b){gH(a,b);rE(a);}
-function vE(a,b){a.m=b;rE(a);if(dV(b)==0){a.m=null;}}
-function wE(a){if(a.p){return;}a.p=true;sd(a);Df(a.wb(),'position','absolute');if(a.q!=(-1)){tE(a,a.n,a.q);}lp(qG(),a);a.wb();}
-function xE(){return nE(this);}
-function yE(){return vN(this);}
-function zE(){return oE(this);}
-function AE(){return xR(CE,this.wb());}
-function BE(){pE(this);}
-function DE(){pf(this);zP(this);}
-function EE(a){return sE(this,a);}
-function FE(a){this.l=a;rE(this);if(dV(a)==0){this.l=null;}}
-function aF(b){var a;a=nE(this);if(b===null||dV(b)==0){of(a,'title');}else{uf(a,'title',b);}}
-function bF(a){Df(this.wb(),'visibility',a?'visible':'hidden');this.wb();}
-function cF(a){uE(this,a);}
-function dF(a){vE(this,a);}
-function hE(){}
-_=hE.prototype=new AG();_.vb=xE;_.Eb=yE;_.Fb=zE;_.fc=AE;_.nc=BE;_.Dc=DE;_.Ec=EE;_.se=FE;_.ve=aF;_.Ae=bF;_.Ce=cF;_.De=dF;_.tN=bgc+'PopupPanel';_.tI=57;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var CE;function bs(){bs=e3;mE();}
-function Dr(a){a.e=lz(new pw());a.j=tt(new nt());}
-function Er(a){bs();Fr(a,false);return a;}
-function Fr(b,a){bs();as(b,a,true);return b;}
-function as(c,a,b){bs();kE(c,a,b);Dr(c);c.j.Be(0,0,c.e);c.j.se('100%');zy(c.j,0);By(c.j,0);Cy(c.j,0);ex(c.j.n,1,0,'100%');jx(c.j.n,1,0,'100%');dx(c.j.n,1,0,(wz(),xz),(Fz(),bA));uE(c,c.j);CN(c,'gwt-DialogBox');CN(c.e,'Caption');gC(c.e,c);return c;}
-function cs(b,a){pz(b.e,a);}
-function ds(b,a){jC(b.e,a);}
-function es(a,b){if(a.f!==null){yy(a.j,a.f);}if(b!==null){a.j.Be(1,0,b);}a.f=b;}
-function fs(a){if(xe(a)==4){if(kf(this.e.wb(),ve(a))){ye(a);}}return sE(this,a);}
-function gs(a,b,c){this.i=true;tf(this.e.wb());this.g=b;this.h=c;}
-function hs(a){}
-function is(a){}
-function js(c,d,e){var a,b;if(this.i){a=d+tN(this);b=e+uN(this);tE(this,a-this.g,b-this.h);}}
-function ks(a,b,c){this.i=false;mf(this.e.wb());}
-function ls(a){if(this.f!==a){return false;}yy(this.j,a);return true;}
-function ms(a){es(this,a);}
-function ns(a){vE(this,a);this.j.De('100%');}
-function Cr(){}
-_=Cr.prototype=new hE();_.Ec=fs;_.jd=gs;_.kd=hs;_.ld=is;_.md=js;_.nd=ks;_.ge=ls;_.Ce=ms;_.De=ns;_.tN=bgc+'DialogBox';_.tI=58;_.f=null;_.g=0;_.h=0;_.i=false;function zs(){zs=e3;Fs=new ps();at=new ps();bt=new ps();ct=new ps();dt=new ps();}
-function ws(a){a.b=(wz(),yz);a.c=(Fz(),cA);}
-function xs(a){zs();Cp(a);ws(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
-function ys(c,d,a){var b;if(a===Fs){if(d===c.a){return;}else if(c.a!==null){throw bT(new aT(),'Only one CENTER widget may be added');}}AP(d);bP(c.f,d);if(a===Fs){c.a=d;}b=ss(new rs(),a);CP(d,b);Cs(c,d,c.b);Ds(c,d,c.c);As(c);CD(c,d);}
-function As(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=gP(p.f);BO(h);){c=CO(h);e=c.u.a;if(e===bt||e===ct){++l;}else if(e===at||e===dt){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[635],[33],[l],null);for(g=0;g<l;++g){m[g]=new us();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=gP(p.f);BO(h);){c=CO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===bt){hf(m[j].b,o,m[j].a);td(o,c.wb());wf(o,'colSpan',f-q+1);++j;}else if(i.a===ct){hf(m[n].b,o,m[n].a);td(o,c.wb());wf(o,'colSpan',f-q+1);--n;}else if(i.a===dt){k=m[j];hf(k.b,o,k.a++);td(o,c.wb());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===at){k=m[j];hf(k.b,o,k.a);td(o,c.wb());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===Fs){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.wb());}}
-function Bs(b,c){var a;a=ir(b,c);if(a){if(c===b.a){b.a=null;}As(b);}return a;}
-function Cs(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
-function Ds(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
-function Es(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
-function et(a){return Bs(this,a);}
-function ft(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
-function gt(a,b){Es(this,a,b);}
-function os(){}
-_=os.prototype=new Bp();_.ge=et;_.me=ft;_.ne=gt;_.tN=bgc+'DockPanel';_.tI=59;_.a=null;var Fs,at,bt,ct,dt;function ps(){}
-_=ps.prototype=new gU();_.tN=bgc+'DockPanel$DockLayoutConstant';_.tI=60;function ss(b,a){b.a=a;return b;}
-function rs(){}
-_=rs.prototype=new gU();_.tN=bgc+'DockPanel$LayoutData';_.tI=61;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function us(){}
-_=us.prototype=new gU();_.tN=bgc+'DockPanel$TmpRow';_.tI=62;_.a=0;_.b=null;function it(a){a.oe(yd('input'));xf(a.wb(),'type','file');CN(a,'gwt-FileUpload');return a;}
-function kt(a){return bf(a.wb(),'value');}
-function lt(b,a){xf(b.wb(),'name',a);}
-function ht(){}
-_=ht.prototype=new wO();_.tN=bgc+'FileUpload';_.tI=63;function dy(a){a.s=zx(new ux());}
-function ey(a){dy(a);a.q=ge();a.m=de();td(a.q,a.m);a.oe(a.q);DN(a,1);return a;}
-function fy(b,a){if(b.r===null){b.r=hK(new gK());}qY(b.r,a);}
-function gy(d,c,b){var a;hy(d,c);if(b<0){throw hT(new gT(),'Column '+b+' must be non-negative: '+b);}a=d.ub(c);if(a<=b){throw hT(new gT(),'Column index: '+b+', Column size: '+d.ub(c));}}
-function hy(c,a){var b;b=c.bc();if(a>=b||a<0){throw hT(new gT(),'Row index: '+a+', Row size: '+b);}}
-function iy(e,c,b,a){var d;d=ax(e.n,c,b);vy(e,d,a);return d;}
-function jy(d){var a,b,c;for(c=0;c<d.bc();++c){for(b=0;b<d.ub(c);++b){a=ry(d,c,b);if(a!==null){yy(d,a);}}}}
-function ly(a){return ee();}
-function my(c,b,a){return b.rows[a].cells.length;}
-function ny(a){return oy(a,a.m);}
-function oy(b,a){return a.rows.length;}
-function py(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(EU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
-function qy(d,c,a){var b;gy(d,c,a);b=Fw(d.n,c,a);return ef(b);}
-function sy(c,b,a){gy(c,b,a);return ry(c,b,a);}
-function ry(e,d,b){var a,c;c=ax(e.n,d,b);a=df(c);if(a===null){return null;}else{return Bx(e.s,a);}}
-function ty(d,b,a){var c,e;e=sx(d.p,d.m,b);c=d.hb();hf(e,c,a);}
-function uy(b,a){var c;if(a!=xt(b)){hy(b,a);}c=fe();hf(b.m,c,a);return a;}
-function vy(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=Bx(d.s,b);}if(e!==null){yy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
-function yy(b,c){var a;if(c.v!==b){return false;}ED(b,c);a=c.wb();nf(ff(a),a);Ex(b.s,a);return true;}
-function wy(d,b,a){var c,e;gy(d,b,a);c=iy(d,b,a,false);e=sx(d.p,d.m,b);nf(e,c);}
-function xy(d,c){var a,b;b=d.ub(c);for(a=0;a<b;++a){iy(d,c,a,false);}nf(d.m,sx(d.p,d.m,c));}
-function zy(a,b){xf(a.q,'border',''+b);}
-function Ay(b,a){b.n=a;}
-function By(b,a){wf(b.q,'cellPadding',a);}
-function Cy(b,a){wf(b.q,'cellSpacing',a);}
-function Dy(b,a){b.o=a;nx(b.o);}
-function Ey(e,c,a,b){var d;ew(e,c,a);d=iy(e,c,a,b===null);if(b!==null){Af(d,b);}}
-function Fy(b,a){b.p=a;}
-function az(e,b,a,d){var c;e.zd(b,a);c=iy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
-function bz(d,b,a,e){var c;d.zd(b,a);if(e!==null){AP(e);c=iy(d,b,a,true);Cx(d.s,e);td(c,e.wb());CD(d,e);}}
-function cz(){jy(this);}
-function dz(){return ly(this);}
-function ez(b,a){ty(this,b,a);}
-function fz(){return Fx(this.s);}
-function gz(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=py(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);jK(this.r,this,d,b);}break;}default:}}
-function jz(a){return yy(this,a);}
-function hz(b,a){wy(this,b,a);}
-function iz(a){xy(this,a);}
-function kz(b,a,c){bz(this,b,a,c);}
-function qw(){}
-_=qw.prototype=new BD();_.cb=cz;_.hb=dz;_.oc=ez;_.sc=fz;_.yc=gz;_.ge=jz;_.be=hz;_.de=iz;_.Be=kz;_.tN=bgc+'HTMLTable';_.tI=64;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function tt(a){ey(a);Ay(a,pt(new ot(),a));Fy(a,px(new ox(),a));Dy(a,lx(new kx(),a));return a;}
-function vt(b,a){hy(b,a);return my(b,b.m,a);}
-function wt(a){return Fb(a.n,43);}
-function xt(a){return ny(a);}
-function yt(b,a){return uy(b,a);}
-function zt(d,b){var a,c;if(b<0){throw hT(new gT(),'Cannot create a row with a negative index: '+b);}c=xt(d);for(a=c;a<=b;a++){yt(d,a);}}
-function At(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
-function Bt(a){return vt(this,a);}
-function Ct(){return xt(this);}
-function Dt(b,a){ty(this,b,a);}
-function Et(d,b){var a,c;zt(this,d);if(b<0){throw hT(new gT(),'Cannot create a column with a negative index: '+b);}a=vt(this,d);c=b+1-a;if(c>0){At(this.m,d,c);}}
-function Ft(a){zt(this,a);}
-function au(b,a){wy(this,b,a);}
-function bu(a){xy(this,a);}
-function nt(){}
-_=nt.prototype=new qw();_.ub=Bt;_.bc=Ct;_.oc=Dt;_.zd=Et;_.Ad=Ft;_.be=au;_.de=bu;_.tN=bgc+'FlexTable';_.tI=65;function Bw(b,a){b.a=a;return b;}
-function Dw(c,b,a){c.a.zd(b,a);return Ew(c,c.a.m,b,a);}
-function Ew(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
-function Fw(c,b,a){gy(c.a,b,a);return Ew(c,c.a.m,b,a);}
-function ax(c,b,a){return Ew(c,c.a.m,b,a);}
-function bx(d,c,a){var b;b=Fw(d,c,a);return dO(b);}
-function cx(e,b,a,c){var d;gy(e.a,b,a);d=Ew(e,e.a.m,b,a);hO(d,c,false);}
-function dx(d,c,a,b,e){fx(d,c,a,b);hx(d,c,a,e);}
-function ex(e,d,a,c){var b;e.a.zd(d,a);b=Ew(e,e.a.m,d,a);xf(b,'height',c);}
-function fx(e,d,b,a){var c;e.a.zd(d,b);c=Ew(e,e.a.m,d,b);xf(c,'align',a.a);}
-function gx(d,b,a,c){d.a.zd(b,a);gO(Ew(d,d.a.m,b,a),c);}
-function hx(d,c,b,a){d.a.zd(c,b);Df(Ew(d,d.a.m,c,b),'verticalAlign',a.a);}
-function ix(d,c,a,e){var b;b=Dw(d,c,a);jO(b,e);}
-function jx(c,b,a,d){c.a.zd(b,a);xf(Ew(c,c.a.m,b,a),'width',d);}
-function Aw(){}
-_=Aw.prototype=new gU();_.tN=bgc+'HTMLTable$CellFormatter';_.tI=66;function pt(b,a){Bw(b,a);return b;}
-function rt(d,c,b,a){wf(Dw(d,c,b),'colSpan',a);}
-function st(d,b,a,c){wf(Dw(d,b,a),'rowSpan',c);}
-function ot(){}
-_=ot.prototype=new Aw();_.tN=bgc+'FlexTable$FlexCellFormatter';_.tI=67;function du(a){oY(a);return a;}
-function gu(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),44);b.ad(c);}}
-function fu(c,b,a){switch(xe(a)){case 2048:gu(c,b);break;case 4096:hu(c,b);break;}}
-function hu(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),44);b.id(c);}}
-function cu(){}
-_=cu.prototype=new mY();_.tN=bgc+'FocusListenerCollection';_.tI=68;function ku(){ku=e3;lu=(aR(),dR);}
-var lu;function Au(a){oY(a);return a;}
-function Cu(f,e,d){var a,b,c;a=wv(new vv(),e,d);for(c=f.sc();c.mc();){b=Fb(c.uc(),45);b.pd(a);}}
-function Du(e,d){var a,b,c;a=new yv();for(c=e.sc();c.mc();){b=Fb(c.uc(),45);b.qd(a);}return a.a;}
-function zu(){}
-_=zu.prototype=new mY();_.tN=bgc+'FormHandlerCollection';_.tI=69;function gv(){gv=e3;qv=new gR();}
-function ev(a){gv();dH(a,zd());a.b='FormPanel_'+ ++pv;nv(a,a.b);DN(a,32768);return a;}
-function fv(b,a){if(b.a===null){b.a=Au(new zu());}qY(b.a,a);}
-function hv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
-function iv(a){if(a.a!==null){return !Du(a.a,a);}return true;}
-function jv(a){if(a.a!==null){eg(bv(new av(),a));}}
-function kv(a,b){xf(a.wb(),'action',b);}
-function lv(b,a){lR(qv,b.wb(),a);}
-function mv(b,a){xf(b.wb(),'method',a);}
-function nv(b,a){xf(b.wb(),'target',a);}
-function ov(a){if(a.a!==null){if(Du(a.a,a)){return;}}mR(qv,a.wb(),a.c);}
-function rv(){yP(this);hv(this);td(pG(),this.c);kR(qv,this.c,this.wb(),this);}
-function sv(){zP(this);nR(qv,this.c,this.wb());nf(pG(),this.c);this.c=null;}
-function tv(){var a;a=x;{return iv(this);}}
-function uv(){var a;a=x;{jv(this);}}
-function Fu(){}
-_=Fu.prototype=new AG();_.wc=rv;_.Dc=sv;_.bd=tv;_.cd=uv;_.tN=bgc+'FormPanel';_.tI=70;_.a=null;_.b=null;_.c=null;var pv=0,qv;function bv(b,a){b.a=a;return b;}
-function dv(){Cu(this.a.a,this,jR((gv(),qv),this.a.c));}
-function av(){}
-_=av.prototype=new gU();_.rb=dv;_.tN=bgc+'FormPanel$1';_.tI=71;function n0(){}
-_=n0.prototype=new gU();_.tN=fgc+'EventObject';_.tI=72;function wv(c,b,a){c.a=a;return c;}
-function vv(){}
-_=vv.prototype=new n0();_.tN=bgc+'FormSubmitCompleteEvent';_.tI=73;_.a=null;function Av(b,a){b.a=a;}
-function yv(){}
-_=yv.prototype=new n0();_.tN=bgc+'FormSubmitEvent';_.tI=74;_.a=false;function Cv(a){a.oe(Ad());return a;}
-function Dv(a,b){Cv(a);Fv(a,b);return a;}
-function Fv(a,b){xf(a.wb(),'src',b);}
-function Bv(){}
-_=Bv.prototype=new wO();_.tN=bgc+'Frame';_.tI=75;function bw(a){ey(a);Ay(a,Bw(new Aw(),a));Fy(a,px(new ox(),a));Dy(a,lx(new kx(),a));return a;}
-function cw(c,b,a){bw(c);iw(c,b,a);return c;}
-function ew(c,b,a){fw(c,b);if(a<0){throw hT(new gT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw hT(new gT(),'Column index: '+a+', Column size: '+c.k);}}
-function fw(b,a){if(a<0){throw hT(new gT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw hT(new gT(),'Row index: '+a+', Row size: '+b.l);}}
-function iw(c,b,a){gw(c,a);hw(c,b);}
-function gw(d,a){var b,c;if(d.k==a){return;}if(a<0){throw hT(new gT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.be(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.oc(b,c);}}}d.k=a;}
-function hw(b,a){if(b.l==a){return;}if(a<0){throw hT(new gT(),'Cannot set number of rows to '+a);}if(b.l<a){jw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.de(--b.l);}}}
-function jw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
-function kw(){var a;a=ly(this);Af(a,'&nbsp;');return a;}
-function lw(a){return this.k;}
-function mw(){return this.l;}
-function nw(b,a){ew(this,b,a);}
-function ow(a){fw(this,a);}
-function aw(){}
-_=aw.prototype=new qw();_.hb=kw;_.ub=lw;_.bc=mw;_.zd=nw;_.Ad=ow;_.tN=bgc+'Grid';_.tI=76;_.k=0;_.l=0;function dC(a){a.oe(xd());DN(a,131197);CN(a,'gwt-Label');return a;}
-function eC(b,a){dC(b);jC(b,a);return b;}
-function fC(b,a){if(b.a===null){b.a=yq(new xq());}qY(b.a,a);}
-function gC(b,a){if(b.b===null){b.b=iD(new hD());}qY(b.b,a);}
-function iC(a){return ef(a.wb());}
-function jC(b,a){Bf(b.wb(),a);}
-function kC(a,b){Df(a.wb(),'whiteSpace',b?'normal':'nowrap');}
-function lC(a){switch(xe(a)){case 1:if(this.a!==null){Aq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){mD(this.b,this,a);}break;case 131072:break;}}
-function cC(){}
-_=cC.prototype=new wO();_.yc=lC;_.tN=bgc+'Label';_.tI=77;_.a=null;_.b=null;function lz(a){dC(a);a.oe(xd());DN(a,125);CN(a,'gwt-HTML');return a;}
-function mz(b,a){lz(b);pz(b,a);return b;}
-function nz(b,a,c){mz(b,a);kC(b,c);return b;}
-function pz(b,a){Af(b.wb(),a);}
-function pw(){}
-_=pw.prototype=new cC();_.tN=bgc+'HTML';_.tI=78;function sw(a){{vw(a);}}
-function tw(b,a){b.c=a;sw(b);return b;}
-function vw(a){while(++a.b<a.c.b.b){if(vY(a.c.b,a.b)!==null){return;}}}
-function ww(a){return a.b<a.c.b.b;}
-function xw(){return ww(this);}
-function yw(){var a;if(!ww(this)){throw new s2();}a=vY(this.c.b,this.b);this.a=this.b;vw(this);return a;}
-function zw(){var a;if(this.a<0){throw new dT();}a=Fb(vY(this.c.b,this.a),20);AP(a);this.a=(-1);}
-function rw(){}
-_=rw.prototype=new gU();_.mc=xw;_.uc=yw;_.ee=zw;_.tN=bgc+'HTMLTable$1';_.tI=79;_.a=(-1);_.b=(-1);function lx(b,a){b.b=a;return b;}
-function nx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
-function kx(){}
-_=kx.prototype=new gU();_.tN=bgc+'HTMLTable$ColumnFormatter';_.tI=80;_.a=null;function px(b,a){b.a=a;return b;}
-function rx(b,a){b.a.Ad(a);return sx(b,b.a.m,a);}
-function sx(c,a,b){return a.rows[b];}
-function tx(c,a,b){gO(rx(c,a),b);}
-function ox(){}
-_=ox.prototype=new gU();_.tN=bgc+'HTMLTable$RowFormatter';_.tI=81;function yx(a){a.b=oY(new mY());}
-function zx(a){yx(a);return a;}
-function Bx(c,a){var b;b=by(a);if(b<0){return null;}return Fb(vY(c.b,b),20);}
-function Cx(b,c){var a;if(b.a===null){a=b.b.b;qY(b.b,c);}else{a=b.a.a;BY(b.b,a,c);b.a=b.a.b;}cy(c.wb(),a);}
-function Dx(c,a,b){ay(a);BY(c.b,b,null);c.a=wx(new vx(),b,c.a);}
-function Ex(c,a){var b;b=by(a);Dx(c,a,b);}
-function Fx(a){return tw(new rw(),a);}
-function ay(a){a['__widgetID']=null;}
-function by(a){var b=a['__widgetID'];return b==null?-1:b;}
-function cy(a,b){a['__widgetID']=b;}
-function ux(){}
-_=ux.prototype=new gU();_.tN=bgc+'HTMLTable$WidgetMapper';_.tI=82;_.a=null;function wx(c,a,b){c.a=a;c.b=b;return c;}
-function vx(){}
-_=vx.prototype=new gU();_.tN=bgc+'HTMLTable$WidgetMapper$FreeNode';_.tI=83;_.a=0;_.b=null;function wz(){wz=e3;xz=uz(new tz(),'center');yz=uz(new tz(),'left');zz=uz(new tz(),'right');}
-var xz,yz,zz;function uz(b,a){b.a=a;return b;}
-function tz(){}
-_=tz.prototype=new gU();_.tN=bgc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=84;_.a=null;function Fz(){Fz=e3;aA=Dz(new Cz(),'bottom');bA=Dz(new Cz(),'middle');cA=Dz(new Cz(),'top');}
-var aA,bA,cA;function Dz(a,b){a.a=b;return a;}
-function Cz(){}
-_=Cz.prototype=new gU();_.tN=bgc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=85;_.a=null;function gA(a){a.a=(wz(),yz);a.c=(Fz(),cA);}
-function hA(a){Cp(a);gA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function iA(b,c){var a;a=kA(b);td(b.b,a);Fq(b,c,a);}
-function kA(b){var a;a=ee();Ep(b,a,b.a);Fp(b,a,b.c);return a;}
-function lA(c,d,a){var b;cr(c,a);b=kA(c);hf(c.b,b,a);gr(c,d,b,a,false);}
-function mA(c,d){var a,b;b=ff(d.wb());a=ir(c,d);if(a){nf(c.b,b);}return a;}
-function nA(b,a){b.c=a;}
-function oA(a){return mA(this,a);}
-function fA(){}
-_=fA.prototype=new Bp();_.ge=oA;_.tN=bgc+'HorizontalPanel';_.tI=86;_.b=null;function qA(a){a.oe(xd());td(a.wb(),a.a=vd());DN(a,1);CN(a,'gwt-Hyperlink');return a;}
-function rA(c,b,a){qA(c);uA(c,b);tA(c,a);return c;}
-function tA(b,a){b.b=a;xf(b.a,'href','#'+a);}
-function uA(b,a){Bf(b.a,a);}
-function vA(a){if(xe(a)==1){ah(this.b);ye(a);}}
-function pA(){}
-_=pA.prototype=new wO();_.yc=vA;_.tN=bgc+'Hyperlink';_.tI=87;_.a=null;_.b=null;function pB(){pB=e3;l1(new p0());}
-function lB(a){pB();oB(a,eB(new dB(),a));CN(a,'gwt-Image');return a;}
-function mB(a,b){pB();oB(a,fB(new dB(),a,b));CN(a,'gwt-Image');return a;}
-function nB(b,a){if(b.a===null){b.a=yq(new xq());}qY(b.a,a);}
-function oB(b,a){b.b=a;}
-function rB(a,b){a.b.xe(a,b);}
-function qB(c,e,b,d,f,a){c.b.we(c,e,b,d,f,a);}
-function sB(a){switch(xe(a)){case 1:{if(this.a!==null){Aq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
-function wA(){}
-_=wA.prototype=new wO();_.yc=sB;_.tN=bgc+'Image';_.tI=88;_.a=null;_.b=null;function zA(){}
-function xA(){}
-_=xA.prototype=new gU();_.rb=zA;_.tN=bgc+'Image$1';_.tI=89;function bB(){}
-_=bB.prototype=new gU();_.tN=bgc+'Image$State';_.tI=90;function CA(){CA=e3;EA=new hQ();}
-function BA(d,b,f,c,e,g,a){CA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.oe(kQ(EA,f,c,e,g,a));DN(b,131197);DA(d,b);return d;}
-function DA(b,a){eg(new xA());}
-function aB(a,b){oB(a,fB(new dB(),a,b));}
-function FA(b,e,c,d,f,a){if(!FU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;iQ(EA,b.wb(),e,c,d,f,a);DA(this,b);}}
-function AA(){}
-_=AA.prototype=new bB();_.xe=aB;_.we=FA;_.tN=bgc+'Image$ClippedState';_.tI=91;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var EA;function eB(b,a){a.oe(Bd());DN(a,229501);return b;}
-function fB(b,a,c){eB(b,a);hB(b,a,c);return b;}
-function hB(b,a,c){zf(a.wb(),c);}
-function jB(a,b){hB(this,a,b);}
-function iB(b,e,c,d,f,a){oB(b,BA(new AA(),b,e,c,d,f,a));}
-function dB(){}
-_=dB.prototype=new bB();_.xe=jB;_.we=iB;_.tN=bgc+'Image$UnclippedState';_.tI=92;function wB(c,a,b){}
-function xB(c,a,b){}
-function yB(c,a,b){}
-function uB(){}
-_=uB.prototype=new gU();_.ed=wB;_.fd=xB;_.gd=yB;_.tN=bgc+'KeyboardListenerAdapter';_.tI=93;function AB(a){oY(a);return a;}
-function CB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.ed(e,b,d);}}
-function DB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.fd(e,b,d);}}
-function EB(f,e,b,d){var a,c;for(a=f.sc();a.mc();){c=Fb(a.uc(),46);c.gd(e,b,d);}}
-function FB(d,c,a){var b;b=aC(a);switch(xe(a)){case 128:CB(d,c,bc(se(a)),b);break;case 512:EB(d,c,bc(se(a)),b);break;case 256:DB(d,c,bc(se(a)),b);break;}}
-function aC(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
-function zB(){}
-_=zB.prototype=new mY();_.tN=bgc+'KeyboardListenerCollection';_.tI=94;function BC(){BC=e3;pu();fD=new nC();}
-function uC(a){BC();vC(a,false);return a;}
-function vC(b,a){BC();nu(b,be(a));DN(b,1024);CN(b,'gwt-ListBox');return b;}
-function wC(b,a){if(b.b===null){b.b=dq(new cq());}qY(b.b,a);}
-function xC(b,a){aD(b,a,(-1));}
-function yC(b,a,c){bD(b,a,c,(-1));}
-function zC(b,a){if(a<0||a>=CC(b)){throw new gT();}}
-function AC(a){oC(fD,a.wb());}
-function CC(a){return qC(fD,a.wb());}
-function DC(b,a){zC(b,a);return rC(fD,b.wb(),a);}
-function EC(a){return af(a.wb(),'selectedIndex');}
-function FC(b,a){zC(b,a);return sC(fD,b.wb(),a);}
-function aD(c,b,a){bD(c,b,b,a);}
-function bD(c,b,d,a){jf(c.wb(),b,d,a);}
-function cD(b,a){zC(b,a);tC(fD,b.wb(),a);}
-function dD(b,a){wf(b.wb(),'selectedIndex',a);}
-function eD(a,b){wf(a.wb(),'size',b);}
-function gD(a){if(xe(a)==1024){if(this.b!==null){fq(this.b,this);}}else{qu(this,a);}}
-function mC(){}
-_=mC.prototype=new mu();_.yc=gD;_.tN=bgc+'ListBox';_.tI=95;_.b=null;var fD;function oC(b,a){a.options.length=0;}
-function qC(b,a){return a.options.length;}
-function rC(c,b,a){return b.options[a].text;}
-function sC(c,b,a){return b.options[a].value;}
-function tC(c,b,a){b.options[a]=null;}
-function nC(){}
-_=nC.prototype=new gU();_.tN=bgc+'ListBox$Impl';_.tI=96;function iD(a){oY(a);return a;}
-function kD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.jd(c,e,f);}}
-function lD(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.kd(c);}}
-function mD(e,c,a){var b,d,f,g,h;d=c.wb();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:kD(e,c,g,h);break;case 8:pD(e,c,g,h);break;case 64:oD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){lD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){nD(e,c);}break;}}
-function nD(d,c){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.ld(c);}}
-function oD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.md(c,e,f);}}
-function pD(d,c,e,f){var a,b;for(a=d.sc();a.mc();){b=Fb(a.uc(),47);b.nd(c,e,f);}}
-function hD(){}
-_=hD.prototype=new mY();_.tN=bgc+'MouseListenerCollection';_.tI=97;function rD(){}
-_=rD.prototype=new gU();_.tN=bgc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=98;_.a=null;_.b=null;function vD(b,a){zD(a,b.ae());AD(a,b.ae());}
-function wD(a){return a.a;}
-function xD(a){return a.b;}
-function yD(b,a){b.jf(wD(a));b.jf(xD(a));}
-function zD(a,b){a.a=b;}
-function AD(a,b){a.b=b;}
-function yK(){yK=e3;pu();FK=new BR();}
-function uK(b,a){yK();nu(b,a);DN(b,1024);return b;}
-function vK(b,a){if(b.f===null){b.f=dq(new cq());}qY(b.f,a);}
-function wK(b,a){if(b.i===null){b.i=AB(new zB());}qY(b.i,a);}
-function xK(a){if(a.h!==null){ye(a.h);}}
-function zK(a){return bf(a.wb(),'value');}
-function AK(b,a){CK(b,a,0);}
-function BK(b,a){xf(b.wb(),'name',a);}
-function CK(c,b,a){if(a<0){throw hT(new gT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>dV(zK(c))){throw hT(new gT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+dV(zK(c)));}FR(FK,c.wb(),b,a);}
-function DK(b,a){xf(b.wb(),'value',a!==null?a:'');}
-function EK(a){if(this.g===null){this.g=yq(new xq());}qY(this.g,a);}
-function aL(a){var b;qu(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;FB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){Aq(this.g,this);}}else if(b==1024){if(this.f!==null){fq(this.f,this);}}}
-function tK(){}
-_=tK.prototype=new mu();_.z=EK;_.yc=aL;_.tN=bgc+'TextBoxBase';_.tI=99;_.f=null;_.g=null;_.h=null;_.i=null;var FK;function gE(){gE=e3;yK();}
-function fE(a){gE();uK(a,Dd());CN(a,'gwt-PasswordTextBox');return a;}
-function eE(){}
-_=eE.prototype=new tK();_.tN=bgc+'PasswordTextBox';_.tI=100;function rF(b,a){sF(b,a,null);return b;}
-function sF(c,a,b){c.a=a;uF(c);return c;}
-function tF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=aG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=aG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=DF(b*2);f[a]=h;}var e=c.slice(b);if(h.F(e)){i.b++;return true;}else{return false;}}}
-function uF(a){a.b=0;a.c={};a.d={};}
-function wF(b,a){return uY(xF(b,a,1),a);}
-function xF(c,b,a){var d;d=oY(new mY());if(b!==null&&a>0){zF(c,b,'',d,a);}return d;}
-function yF(a){return gF(new fF(),a);}
-function zF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=aG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+dG(a);h.Fe(f,l,c,b);}}else{for(j in k){var l=d+dG(j);if(l.indexOf(f)==0){c.E(l);}if(c.Ee()>=b){return;}}for(var a in i){var l=d+dG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ee()||h.b==1){h.pb(c,l);}else{for(var j in h.d){c.E(l+dG(j));}for(var g in h.c){c.E(l+dG(g)+'...');}}}}}}
-function AF(a){if(ac(a,1)){return tF(this,Fb(a,1));}else{throw eW(new dW(),'Cannot add non-Strings to PrefixTree');}}
-function BF(a){return tF(this,a);}
-function CF(a){if(ac(a,1)){return wF(this,Fb(a,1));}else{return false;}}
-function DF(a){return rF(new eF(),a);}
-function EF(b,c){var a;for(a=yF(this);jF(a);){b.E(c+Fb(mF(a),1));}}
-function FF(){return yF(this);}
-function aG(a){return Eb(58)+a;}
-function bG(){return this.b;}
-function cG(d,c,b,a){zF(this,d,c,b,a);}
-function dG(a){return iV(a,1);}
-function eF(){}
-_=eF.prototype=new gW();_.E=AF;_.F=BF;_.gb=CF;_.pb=EF;_.sc=FF;_.Ee=bG;_.Fe=cG;_.tN=bgc+'PrefixTree';_.tI=101;_.a=0;_.b=0;_.c=null;_.d=null;function gF(a,b){kF(a);hF(a,b,'');return a;}
-function hF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
-function jF(a){return lF(a,true)!==null;}
-function kF(a){a.a=[];}
-function mF(a){var b;b=lF(a,false);if(b===null){if(!jF(a)){throw t2(new s2(),'No more elements in the iterator');}else{throw mU(new lU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
-function lF(g,b){var d=g.a;var c=aG;var i=dG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.C(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.C(e,f);}}}return null;}
-function nF(b,a){hF(this,b,a);}
-function oF(){return jF(this);}
-function pF(){return mF(this);}
-function qF(){throw eW(new dW(),'PrefixTree does not support removal.  Use clear()');}
-function fF(){}
-_=fF.prototype=new gU();_.C=nF;_.mc=oF;_.uc=pF;_.ee=qF;_.tN=bgc+'PrefixTree$PrefixTreeIterator';_.tI=102;_.a=null;function hG(){hG=e3;lq();}
-function fG(b,a){hG();jq(b,Ed(a));CN(b,'gwt-RadioButton');return b;}
-function gG(c,b,a){hG();fG(c,b);pq(c,a);return c;}
-function eG(){}
-_=eG.prototype=new hq();_.tN=bgc+'RadioButton';_.tI=103;function oG(){oG=e3;tG=l1(new p0());}
-function nG(b,a){oG();kp(b);if(a===null){a=pG();}b.oe(a);b.wc();return b;}
-function qG(){oG();return rG(null);}
-function rG(c){oG();var a,b;b=Fb(r1(tG,c),48);if(b!==null){return b;}a=null;if(tG.c==0){sG();}s1(tG,c,b=nG(new iG(),a));return b;}
-function pG(){oG();return $doc.body;}
-function sG(){oG();yh(new jG());}
-function iG(){}
-_=iG.prototype=new jp();_.tN=bgc+'RootPanel';_.tI=104;var tG;function lG(){var a,b;for(b=rX(aY((oG(),tG)));yX(b);){a=Fb(zX(b),48);if(a.qc()){a.Dc();}}}
-function mG(){return null;}
-function jG(){}
-_=jG.prototype=new gU();_.wd=lG;_.xd=mG;_.tN=bgc+'RootPanel$1';_.tI=105;function vG(a){cH(a);yG(a,false);DN(a,16384);return a;}
-function wG(b,a){vG(b);b.Ce(a);return b;}
-function yG(b,a){Df(b.wb(),'overflow',a?'scroll':'auto');}
-function zG(a){xe(a)==16384;}
-function uG(){}
-_=uG.prototype=new AG();_.yc=zG;_.tN=bgc+'ScrollPanel';_.tI=106;function CG(a){a.a=a.c.r!==null;}
-function DG(b,a){b.c=a;CG(b);return b;}
-function FG(){return this.a;}
-function aH(){if(!this.a||this.c.r===null){throw new s2();}this.a=false;return this.b=this.c.r;}
-function bH(){if(this.b!==null){this.c.ge(this.b);}}
-function BG(){}
-_=BG.prototype=new gU();_.mc=FG;_.uc=aH;_.ee=bH;_.tN=bgc+'SimplePanel$1';_.tI=107;_.b=null;function yH(b){var a;Eq(b);a=ge();b.oe(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);CN(b,'gwt-StackPanel');return b;}
-function zH(a,b){DH(a,b,a.f.c);}
-function AH(c,d,b,a){zH(c,d);FH(c,c.f.c-1,b,a);}
-function CH(d,a){var b,c;while(a!==null&& !ud(a,d.wb())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return nT(b);}else{return (-1);}}a=ff(a);}return (-1);}
-function DH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=ar(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);hO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');gr(e,h,c,a,false);cI(e,a);if(e.b==(-1)){bI(e,0);}else{aI(e,a,false);if(e.b>=a){++e.b;}}}
-function EH(e,a,b){var c,d,f;c=ir(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}cI(e,d);}return c;}
-function FH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
-function aI(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);hO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);jO(d,e);fr(c,a).Ae(e);}
-function bI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){aI(b,b.b,false);}b.b=a;aI(b,b.b,true);}
-function cI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
-function dI(a){var b,c;if(xe(a)==1){c=ve(a);b=CH(this,c);if(b!=(-1)){bI(this,b);}}}
-function eI(a){return EH(this,fr(this,a),a);}
-function fI(a){return EH(this,a,er(this,a));}
-function xH(){}
-_=xH.prototype=new Cq();_.yc=dI;_.fe=eI;_.ge=fI;_.tN=bgc+'StackPanel';_.tI=108;_.a=null;_.b=(-1);function gI(){}
-_=gI.prototype=new gU();_.tN=bgc+'SuggestOracle$Request';_.tI=109;_.a=20;_.b=null;function iI(){}
-_=iI.prototype=new gU();_.tN=bgc+'SuggestOracle$Response';_.tI=110;_.a=null;function nI(b,a){rI(a,b.Dd());sI(a,b.ae());}
-function oI(a){return a.a;}
-function pI(a){return a.b;}
-function qI(b,a){b.ff(oI(a));b.jf(pI(a));}
-function rI(a,b){a.a=b;}
-function sI(a,b){a.b=b;}
-function vI(b,a){yI(a,Fb(b.Fd(),49));}
-function wI(a){return a.a;}
-function xI(b,a){b.hf(wI(a));}
-function yI(a,b){a.a=b;}
-function AI(a){a.a=hA(new fA());}
-function BI(c){var a,b;AI(c);or(c,c.a);DN(c,1);CN(c,'gwt-TabBar');nA(c.a,(Fz(),aA));a=nz(new pw(),'&nbsp;',true);b=nz(new pw(),'&nbsp;',true);CN(a,'gwt-TabBarFirst');CN(b,'gwt-TabBarRest');a.se('100%');b.se('100%');iA(c.a,a);iA(c.a,b);a.se('100%');c.a.me(a,'100%');c.a.ne(b,'100%');return c;}
-function CI(b,a){if(b.c===null){b.c=hJ(new gJ());}qY(b.c,a);}
-function DI(b,a){if(a<0||a>aJ(b)){throw new gT();}}
-function EI(b,a){if(a<(-1)||a>=aJ(b)){throw new gT();}}
-function aJ(a){return a.a.f.c-2;}
-function bJ(e,d,a,b){var c;DI(e,b);if(a){c=mz(new pw(),d);}else{c=eC(new cC(),d);}kC(c,false);fC(c,e);CN(c,'gwt-TabBarItem');lA(e.a,c,b+1);}
-function cJ(b,a){var c;EI(b,a);c=fr(b.a,a+1);if(c===b.b){b.b=null;}mA(b.a,c);}
-function dJ(b,a){EI(b,a);if(b.c!==null){if(!jJ(b.c,b,a)){return false;}}eJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=fr(b.a,a+1);eJ(b,b.b,true);if(b.c!==null){kJ(b.c,b,a);}return true;}
-function eJ(c,a,b){if(a!==null){if(b){rN(a,'gwt-TabBarItem-selected');}else{xN(a,'gwt-TabBarItem-selected');}}}
-function fJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(fr(this.a,a)===b){dJ(this,a-1);return;}}}
-function zI(){}
-_=zI.prototype=new mr();_.Bc=fJ;_.tN=bgc+'TabBar';_.tI=111;_.b=null;_.c=null;function hJ(a){oY(a);return a;}
-function jJ(e,c,d){var a,b;for(a=e.sc();a.mc();){b=Fb(a.uc(),50);if(!b.xc(c,d)){return false;}}return true;}
-function kJ(e,c,d){var a,b;for(a=e.sc();a.mc();){b=Fb(a.uc(),50);b.sd(c,d);}}
-function gJ(){}
-_=gJ.prototype=new mY();_.tN=bgc+'TabListenerCollection';_.tI=112;function zJ(a){a.b=vJ(new uJ());a.a=oJ(new nJ(),a.b);}
-function AJ(b){var a;zJ(b);a=pO(new nO());qO(a,b.b);qO(a,b.a);a.me(b.a,'100%');b.b.De('100%');CI(b.b,b);or(b,a);CN(b,'gwt-TabPanel');CN(b.a,'gwt-TabPanelBottom');return b;}
-function BJ(c,d,b,a){FJ(c,d,b,a,c.a.f.c);}
-function EJ(b,a){return fr(b.a,a);}
-function DJ(a,b){return er(a.a,b);}
-function FJ(d,e,c,a,b){qJ(d.a,e,c,a,b);}
-function aK(b,a){return b.a.fe(a);}
-function bK(b,a){dJ(b.b,a);}
-function cK(){return hr(this.a);}
-function dK(a,b){return true;}
-function eK(a,b){Ar(this.a,b);}
-function fK(a){return rJ(this.a,a);}
-function mJ(){}
-_=mJ.prototype=new mr();_.sc=cK;_.xc=dK;_.sd=eK;_.ge=fK;_.tN=bgc+'TabPanel';_.tI=113;function oJ(b,a){ur(b);b.a=a;return b;}
-function qJ(e,f,d,a,b){var c;c=er(e,f);if(c!=(-1)){rJ(e,f);if(c<b){b--;}}xJ(e.a,d,a,b);xr(e,f,b);}
-function rJ(b,c){var a;a=er(b,c);if(a!=(-1)){yJ(b.a,a);return yr(b,c);}return false;}
-function sJ(){throw eW(new dW(),'Use TabPanel.clear() to alter the DeckPanel');}
-function tJ(a){return rJ(this,a);}
-function nJ(){}
-_=nJ.prototype=new tr();_.cb=sJ;_.ge=tJ;_.tN=bgc+'TabPanel$TabbedDeckPanel';_.tI=114;_.a=null;function vJ(a){BI(a);return a;}
-function xJ(d,c,a,b){bJ(d,c,a,b);}
-function yJ(b,a){cJ(b,a);}
-function uJ(){}
-_=uJ.prototype=new zI();_.tN=bgc+'TabPanel$UnmodifiableTabBar';_.tI=115;function hK(a){oY(a);return a;}
-function jK(f,e,d,a){var b,c;for(b=f.sc();b.mc();){c=Fb(b.uc(),51);c.zc(e,d,a);}}
-function gK(){}
-_=gK.prototype=new mY();_.tN=bgc+'TableListenerCollection';_.tI=116;function nK(){nK=e3;yK();}
-function mK(a){nK();uK(a,he());CN(a,'gwt-TextArea');return a;}
-function oK(a){return ER(FK,a.wb());}
-function pK(a){return af(a.wb(),'rows');}
-function qK(a,b){wf(a.wb(),'cols',b);}
-function rK(b,a){wf(b.wb(),'rows',a);}
-function lK(){}
-_=lK.prototype=new tK();_.tN=bgc+'TextArea';_.tI=117;function cL(){cL=e3;yK();}
-function bL(a){cL();uK(a,Fd());CN(a,'gwt-TextBox');return a;}
-function dL(b,a){wf(b.wb(),'size',a);}
-function sK(){}
-_=sK.prototype=new tK();_.tN=bgc+'TextBox';_.tI=118;function qM(a){a.a=l1(new p0());}
-function rM(a){sM(a,oL(new nL()));return a;}
-function sM(b,a){qM(b);b.d=a;b.oe(xd());Df(b.wb(),'position','relative');b.c=yQ((ku(),lu));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.wb(),b.c);DN(b,1021);Ef(b.c,6144);b.g=gL(new fL(),b);dM(b.g,b);CN(b,'gwt-Tree');return b;}
-function uM(c,a){var b;b=xL(new uL(),a);tM(c,b);return b;}
-function tM(b,a){hL(b.g,a);}
-function vM(b,a){if(b.f===null){b.f=lM(new kM());}qY(b.f,a);}
-function wM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){DL(AL(c.g,a));}}
-function yM(d,a,c,b){if(b===null||ud(b,c)){return;}yM(d,a,c,ff(b));qY(a,hc(b,hg));}
-function zM(e,d,b){var a,c;a=oY(new mY());yM(e,a,e.wb(),b);c=BM(e,a,0,d);if(c!==null){if(kf(CL(c),b)){cM(c,!c.f,true);return true;}else if(kf(c.wb(),b)){cN(e,c,true,!jN(e,b));return true;}}return false;}
-function AM(b,a){if(!a.f){return a;}return AM(b,AL(a,a.c.b-1));}
-function BM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(vY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=AL(h,d);if(ud(b.wb(),c)){g=BM(i,a,e+1,AL(h,d));if(g===null){return b;}return g;}}return BM(i,a,e+1,h);}
-function CM(b,a){if(b.f!==null){oM(b.f,a);}}
-function DM(b,a){return AL(b.g,a);}
-function EM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[621],[20],[a.a.c],null);FX(a.a).bf(b);return wP(a,b);}
-function FM(h,g){var a,b,c,d,e,f,i,j;c=BL(g);{f=g.d;a=tN(h);b=uN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);AQ((ku(),lu),h.c);}}
-function aN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=zL(c,d);if(!a|| !d.f){if(b<c.c.b-1){cN(e,AL(c,b+1),true,true);}else{aN(e,c,false);}}else if(d.c.b>0){cN(e,AL(d,0),true,true);}}
-function bN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=zL(b,c);if(a>0){d=AL(b,a-1);cN(e,AM(e,d),true,true);}else{cN(e,b,true,true);}}
-function cN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){aM(d.b,false);}d.b=b;if(c&&d.b!==null){FM(d,d.b);aM(d.b,true);if(a&&d.f!==null){nM(d.f,d.b);}}}
-function fN(b,c){var a;a=Fb(r1(b.a,c),52);if(a===null){return false;}fM(a,null);return true;}
-function dN(b,a){jL(b.g,a);}
-function eN(a){while(a.g.c.b>0){dN(a,DM(a,0));}}
-function gN(b,a){if(a){AQ((ku(),lu),b.c);}else{uQ((ku(),lu),b.c);}}
-function hN(b,a){iN(b,a,true);}
-function iN(c,b,a){if(b===null){if(c.b===null){return;}aM(c.b,false);c.b=null;return;}cN(c,b,a,true);}
-function jN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
-function kN(){var a,b;for(b=EM(this);pP(b);){a=qP(b);a.wc();}yf(this.c,this);}
-function lN(){var a,b;for(b=EM(this);pP(b);){a=qP(b);a.Dc();}yf(this.c,null);}
-function mN(){return EM(this);}
-function nN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(jN(this,b)){}else{gN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.wb(),hg))){zM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){cN(this,AL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{bN(this,this.b);ye(c);break;}case 40:{aN(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){bM(this.b,false);}else{f=this.b.g;if(f!==null){hN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){bM(this.b,true);}else if(this.b.c.b>0){hN(this,AL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=oY(new mY());yM(this,a,this.wb(),ve(c));e=BM(this,a,0,this.g);if(e!==this.b){iN(this,e,true);}}}case 256:{break;}}this.e=d;}
-function oN(){gM(this.g);}
-function pN(a){return fN(this,a);}
-function eL(){}
-_=eL.prototype=new wO();_.mb=kN;_.ob=lN;_.sc=mN;_.yc=nN;_.hd=oN;_.ge=pN;_.tN=bgc+'Tree';_.tI=119;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function vL(a){a.c=oY(new mY());a.i=lB(new wA());}
-function wL(d){var a,b,c,e;vL(d);d.oe(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.wb(),d.e);td(d.wb(),d.b);td(c,d.i.wb());td(b,d.d);Df(d.d,'display','inline');Df(d.wb(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');hO(d.d,'gwt-TreeItem',true);return d;}
-function xL(b,a){wL(b);EL(b,a);return b;}
-function AL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(vY(b.c,a),52);}
-function zL(b,a){return wY(b.c,a);}
-function BL(a){var b;b=a.l;{return null;}}
-function CL(a){return a.i.wb();}
-function DL(a){if(a.g!==null){a.g.ce(a);}else if(a.j!==null){dN(a.j,a);}}
-function EL(b,a){fM(b,null);Af(b.d,a);}
-function FL(b,a){b.g=a;}
-function aM(b,a){if(b.h==a){return;}b.h=a;hO(b.d,'gwt-TreeItem-selected',a);}
-function bM(b,a){cM(b,a,true);}
-function cM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;hM(c);if(a&&c.j!==null){CM(c.j,c);}}
-function dM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){hN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){dM(Fb(vY(d.c,a),52),c);}hM(d);}
-function eM(a,b){a.k=b;}
-function fM(b,a){Af(b.d,'');b.l=a;}
-function hM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){jO(b.b,false);oQ((pL(),sL),b.i);return;}if(b.f){jO(b.b,true);oQ((pL(),tL),b.i);}else{jO(b.b,false);oQ((pL(),rL),b.i);}}
-function gM(c){var a,b;hM(c);for(a=0,b=c.c.b;a<b;++a){gM(Fb(vY(c.c,a),52));}}
-function iM(a){if(a.g!==null||a.j!==null){DL(a);}FL(a,this);qY(this.c,a);Df(a.wb(),'marginLeft','16px');td(this.b,a.wb());dM(a,this.j);if(this.c.b==1){hM(this);}}
-function jM(a){if(!uY(this.c,a)){return;}dM(a,null);nf(this.b,a.wb());FL(a,null);AY(this.c,a);if(this.c.b==0){hM(this);}}
-function uL(){}
-_=uL.prototype=new qN();_.A=iM;_.ce=jM;_.tN=bgc+'TreeItem';_.tI=120;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function gL(b,a){b.a=a;wL(b);return b;}
-function hL(b,a){if(a.g!==null||a.j!==null){DL(a);}td(b.a.wb(),a.wb());dM(a,b.j);FL(a,null);qY(b.c,a);Cf(a.wb(),'marginLeft',0);}
-function jL(b,a){if(!uY(b.c,a)){return;}dM(a,null);FL(a,null);AY(b.c,a);nf(b.a.wb(),a.wb());}
-function kL(a){hL(this,a);}
-function lL(a){jL(this,a);}
-function fL(){}
-_=fL.prototype=new uL();_.A=kL;_.ce=lL;_.tN=bgc+'Tree$1';_.tI=121;function pL(){pL=e3;qL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';rL=nQ(new mQ(),qL,0,0,16,16);sL=nQ(new mQ(),qL,16,0,16,16);tL=nQ(new mQ(),qL,32,0,16,16);}
-function oL(a){pL();return a;}
-function nL(){}
-_=nL.prototype=new gU();_.tN=bgc+'TreeImages_generatedBundle';_.tI=122;var qL,rL,sL,tL;function lM(a){oY(a);return a;}
-function nM(d,b){var a,c;for(a=d.sc();a.mc();){c=Fb(a.uc(),53);c.td(b);}}
-function oM(d,b){var a,c;for(a=d.sc();a.mc();){c=Fb(a.uc(),53);c.ud(b);}}
-function kM(){}
-_=kM.prototype=new mY();_.tN=bgc+'TreeListenerCollection';_.tI=123;function oO(a){a.a=(wz(),yz);a.b=(Fz(),cA);}
-function pO(a){Cp(a);oO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
-function qO(b,d){var a,c;c=fe();a=sO(b);td(c,a);td(b.d,c);Fq(b,d,a);}
-function sO(b){var a;a=ee();Ep(b,a,b.a);Fp(b,a,b.b);return a;}
-function tO(b,a){b.a=a;}
-function uO(b,a){b.b=a;}
-function vO(c){var a,b;b=ff(c.wb());a=ir(this,c);if(a){nf(this.d,ff(b));}return a;}
-function nO(){}
-_=nO.prototype=new Bp();_.ge=vO;_.tN=bgc+'VerticalPanel';_.tI=124;function aP(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[621],[20],[4],null);return b;}
-function bP(a,b){fP(a,b,a.c);}
-function dP(b,a){if(a<0||a>=b.c){throw new gT();}return b.a[a];}
-function eP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
-function fP(d,e,a){var b,c;if(a<0||a>d.c){throw new gT();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[621],[20],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
-function gP(a){return zO(new yO(),a);}
-function hP(c,b){var a;if(b<0||b>=c.c){throw new gT();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
-function iP(b,c){var a;a=eP(b,c);if(a==(-1)){throw new s2();}hP(b,a);}
-function xO(){}
-_=xO.prototype=new gU();_.tN=bgc+'WidgetCollection';_.tI=125;_.a=null;_.b=null;_.c=0;function zO(b,a){b.b=a;return b;}
-function BO(a){return a.a<a.b.c-1;}
-function CO(a){if(a.a>=a.b.c){throw new s2();}return a.b.a[++a.a];}
-function DO(){return BO(this);}
-function EO(){return CO(this);}
-function FO(){if(this.a<0||this.a>=this.b.c){throw new dT();}this.b.b.ge(this.b.a[this.a--]);}
-function yO(){}
-_=yO.prototype=new gU();_.mc=DO;_.uc=EO;_.ee=FO;_.tN=bgc+'WidgetCollection$WidgetIterator';_.tI=126;_.a=(-1);function vP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[621],[20],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
-function wP(b,a){return mP(new kP(),a,b);}
-function lP(a){a.e=a.c;{oP(a);}}
-function mP(a,b,c){a.c=b;a.d=c;lP(a);return a;}
-function oP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
-function pP(a){return a.a<a.c.a;}
-function qP(a){var b;if(!pP(a)){throw new s2();}a.b=a.a;b=a.c[a.a];oP(a);return b;}
-function rP(){return pP(this);}
-function sP(){return qP(this);}
-function tP(){if(this.b<0){throw new dT();}if(!this.f){this.e=vP(this.e);this.f=true;}fN(this.d,this.c[this.b]);this.b=(-1);}
-function kP(){}
-_=kP.prototype=new gU();_.mc=rP;_.uc=sP;_.ee=tP;_.tN=bgc+'WidgetIterators$1';_.tI=127;_.a=(-1);_.b=(-1);_.f=false;function iQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
-function kQ(c,f,b,e,g,a){var d;d=ce();Af(d,lQ(c,f,b,e,g,a));return df(d);}
-function lQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
-function hQ(){}
-_=hQ.prototype=new gU();_.tN=cgc+'ClippedImageImpl';_.tI=128;function nQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
-function oQ(b,a){qB(a,b.d,b.b,b.c,b.e,b.a);}
-function mQ(){}
-_=mQ.prototype=new qp();_.tN=cgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function aR(){aR=e3;dR=tQ(new rQ());eR=dR!==null?FQ(new qQ()):dR;}
-function FQ(a){aR();return a;}
-function bR(a){a.blur();}
-function cR(a){a.focus();}
-function fR(a,b){a.tabIndex=b;}
-function qQ(){}
-_=qQ.prototype=new gU();_.bb=bR;_.tb=cR;_.ue=fR;_.tN=cgc+'FocusImpl';_.tI=130;var dR,eR;function vQ(){vQ=e3;aR();}
-function sQ(a){a.a=wQ(a);a.b=xQ(a);a.c=zQ(a);}
-function tQ(a){vQ();FQ(a);sQ(a);return a;}
-function uQ(b,a){a.firstChild.blur();}
-function wQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
-function xQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
-function yQ(c){var a=$doc.createElement('div');var b=c.ib();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
-function zQ(a){return function(){this.firstChild.focus();};}
-function AQ(b,a){a.firstChild.focus();}
-function BQ(a){uQ(this,a);}
-function CQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
-function DQ(a){AQ(this,a);}
-function EQ(a,b){a.firstChild.tabIndex=b;}
-function rQ(){}
-_=rQ.prototype=new qQ();_.bb=BQ;_.ib=CQ;_.tb=DQ;_.ue=EQ;_.tN=cgc+'FocusImplOld';_.tI=131;function jR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
-function kR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.cd();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.bd();};}
-function lR(c,b,a){b.enctype=a;b.encoding=a;}
-function mR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
-function nR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
-function gR(){}
-_=gR.prototype=new gU();_.tN=cgc+'FormPanelImpl';_.tI=132;function oR(){}
-_=oR.prototype=new gU();_.tN=cgc+'PopupImpl';_.tI=133;function vR(){vR=e3;yR=zR();}
-function uR(a){vR();return a;}
-function wR(b){var a;a=xd();if(yR){Af(a,'<div><\/div>');eg(rR(new qR(),b,a));}return a;}
-function xR(b,a){return yR?df(a):a;}
-function zR(){vR();if(navigator.userAgent.indexOf('Macintosh')!= -1){return true;}return false;}
-function pR(){}
-_=pR.prototype=new oR();_.tN=cgc+'PopupImplMozilla';_.tI=134;var yR;function rR(b,a,c){b.a=c;return b;}
-function tR(){Df(this.a,'overflow','auto');}
-function qR(){}
-_=qR.prototype=new gU();_.rb=tR;_.tN=cgc+'PopupImplMozilla$1';_.tI=135;function DR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
-function ER(b,a){return DR(b,a);}
-function FR(d,a,c,b){a.setSelectionRange(c,c+b);}
-function BR(){}
-_=BR.prototype=new gU();_.tN=cgc+'TextBoxImpl';_.tI=136;function dS(){}
-_=dS.prototype=new gU();_.tN=dgc+'OutputStream';_.tI=137;function bS(){}
-_=bS.prototype=new dS();_.tN=dgc+'FilterOutputStream';_.tI=138;function fS(){}
-_=fS.prototype=new bS();_.tN=dgc+'PrintStream';_.tI=139;function hS(){}
-_=hS.prototype=new lU();_.tN=egc+'ArrayStoreException';_.tI=140;function lS(){lS=e3;mS=kS(new jS(),false);nS=kS(new jS(),true);}
-function kS(a,b){lS();a.a=b;return a;}
-function oS(a){return ac(a,55)&&Fb(a,55).a==this.a;}
-function pS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
-function qS(){return this.a?'true':'false';}
-function rS(a){lS();return a?nS:mS;}
-function jS(){}
-_=jS.prototype=new gU();_.eQ=oS;_.hC=pS;_.tS=qS;_.tN=egc+'Boolean';_.tI=141;_.a=false;var mS,nS;function vS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+wT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
-function wS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
-function yS(b,a){mU(b,a);return b;}
-function xS(){}
-_=xS.prototype=new lU();_.tN=egc+'ClassCastException';_.tI=142;function bT(b,a){mU(b,a);return b;}
-function aT(){}
-_=aT.prototype=new lU();_.tN=egc+'IllegalArgumentException';_.tI=143;function eT(b,a){mU(b,a);return b;}
-function dT(){}
-_=dT.prototype=new lU();_.tN=egc+'IllegalStateException';_.tI=144;function hT(b,a){mU(b,a);return b;}
-function gT(){}
-_=gT.prototype=new lU();_.tN=egc+'IndexOutOfBoundsException';_.tI=145;function aU(){aU=e3;{fU();}}
-function bU(a){aU();return isNaN(a);}
-function cU(e,d,c,h){aU();var a,b,f,g;if(e===null){throw ET(new DT(),'Unable to parse null');}b=dV(e);f=b>0&&AU(e,0)==45?1:0;for(a=f;a<b;a++){if(vS(AU(e,a),d)==(-1)){throw ET(new DT(),'Could not parse '+e+' in radix '+d);}}g=dU(e,d);if(bU(g)){throw ET(new DT(),'Unable to parse '+e);}else if(g<c||g>h){throw ET(new DT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
-function dU(b,a){aU();return parseInt(b,a);}
-function fU(){aU();eU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
-var eU=null;function kT(){kT=e3;aU();}
-function nT(a){kT();return oT(a,10);}
-function oT(b,a){kT();return cc(cU(b,a,(-2147483648),2147483647));}
-function pT(a){kT();return vV(a);}
-var lT=2147483647,mT=(-2147483648);function rT(){rT=e3;aU();}
-function sT(a){rT();return wV(a);}
-function vT(a){return a<0?-a:a;}
-function wT(a,b){return a<b?a:b;}
-function xT(){}
-_=xT.prototype=new lU();_.tN=egc+'NegativeArraySizeException';_.tI=146;function AT(b,a){mU(b,a);return b;}
-function zT(){}
-_=zT.prototype=new lU();_.tN=egc+'NullPointerException';_.tI=147;function ET(b,a){bT(b,a);return b;}
-function DT(){}
-_=DT.prototype=new aT();_.tN=egc+'NumberFormatException';_.tI=148;function AU(b,a){return b.charCodeAt(a);}
-function CU(f,c){var a,b,d,e,g,h;h=dV(f);e=dV(c);b=wT(h,e);for(a=0;a<b;a++){g=AU(f,a);d=AU(c,a);if(g!=d){return g-d;}}return h-e;}
-function DU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
-function FU(b,a){if(!ac(a,1))return false;return oV(b,a);}
-function EU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
-function aV(b,a){return b.indexOf(String.fromCharCode(a));}
-function bV(b,a){return b.indexOf(a);}
-function cV(c,b,a){return c.indexOf(b,a);}
-function dV(a){return a.length;}
-function eV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
-function fV(b,a){return gV(b,a,0);}
-function gV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=nV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
-function hV(b,a){return bV(b,a)==0;}
-function iV(b,a){return b.substr(a,b.length-a);}
-function jV(c,a,b){return c.substr(a,b-a);}
-function kV(d){var a,b,c;c=dV(d);a=yb('[C',[612],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=AU(d,b);return a;}
-function lV(a){return a.toLowerCase();}
-function mV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
-function nV(a){return yb('[Ljava.lang.String;',[609],[1],[a],null);}
-function oV(a,b){return String(a)==b;}
-function pV(a){if(ac(a,1)){return CU(this,Fb(a,1));}else{throw yS(new xS(),'Cannot compare '+a+" with String '"+this+"'");}}
-function qV(a){return FU(this,a);}
-function sV(){var a=rV;if(!a){a=rV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
-function tV(){return this;}
-function uV(a){return String.fromCharCode(a);}
-function vV(a){return ''+a;}
-function wV(a){return ''+a;}
-function xV(a){return a!==null?a.tS():'null';}
-_=String.prototype;_.db=pV;_.eQ=qV;_.hC=sV;_.tS=tV;_.tN=egc+'String';_.tI=2;var rV=null;function rU(a){uU(a);return a;}
-function sU(a,b){return tU(a,uV(b));}
-function tU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
-function uU(a){vU(a,'');}
-function vU(b,a){b.js=[a];b.length=a.length;}
-function xU(a){a.vc();return a.js[0];}
-function yU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
-function zU(){return xU(this);}
-function qU(){}
-_=qU.prototype=new gU();_.vc=yU;_.tS=zU;_.tN=egc+'StringBuffer';_.tI=149;function zV(){zV=e3;CV=new fS();}
-function AV(){zV();return new Date().getTime();}
-function BV(a){zV();return B(a);}
-var CV;function eW(b,a){mU(b,a);return b;}
-function dW(){}
-_=dW.prototype=new lU();_.tN=egc+'UnsupportedOperationException';_.tI=150;function qW(b,a){b.c=a;return b;}
-function sW(a){return a.a<a.c.Ee();}
-function tW(){return sW(this);}
-function uW(){if(!sW(this)){throw new s2();}return this.c.jc(this.b=this.a++);}
-function vW(){if(this.b<0){throw new dT();}this.c.fe(this.b);this.a=this.b;this.b=(-1);}
-function pW(){}
-_=pW.prototype=new gU();_.mc=tW;_.uc=uW;_.ee=vW;_.tN=fgc+'AbstractList$IteratorImpl';_.tI=151;_.a=0;_.b=(-1);function EX(f,d,e){var a,b,c;for(b=g1(f.qb());E0(b);){a=F0(b);c=a.Ab();if(d===null?c===null:d.eQ(c)){if(e){a1(b);}return a;}}return null;}
-function FX(b){var a;a=b.qb();return aX(new FW(),b,a);}
-function aY(b){var a;a=q1(b);return pX(new oX(),b,a);}
-function bY(a){return EX(this,a,false)!==null;}
-function cY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=FX(this);e=f.tc();if(!jY(c,e)){return false;}for(a=cX(c);jX(a);){b=kX(a);h=this.kc(b);g=f.kc(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
-function dY(b){var a;a=EX(this,b,false);return a===null?null:a.gc();}
-function eY(){var a,b,c;b=0;for(c=g1(this.qb());E0(c);){a=F0(c);b+=a.hC();}return b;}
-function fY(){return FX(this);}
-function gY(){var a,b,c,d;d='{';a=false;for(c=g1(this.qb());E0(c);){b=F0(c);if(a){d+=', ';}else{a=true;}d+=xV(b.Ab());d+='=';d+=xV(b.gc());}return d+'}';}
-function EW(){}
-_=EW.prototype=new gU();_.fb=bY;_.eQ=cY;_.kc=dY;_.hC=eY;_.tc=fY;_.tS=gY;_.tN=fgc+'AbstractMap';_.tI=152;function jY(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ee()!=e.Ee()){return false;}for(a=c.sc();a.mc();){d=a.uc();if(!e.gb(d)){return false;}}return true;}
-function kY(a){return jY(this,a);}
-function lY(){var a,b,c;a=0;for(b=this.sc();b.mc();){c=b.uc();if(c!==null){a+=c.hC();}}return a;}
-function hY(){}
-_=hY.prototype=new gW();_.eQ=kY;_.hC=lY;_.tN=fgc+'AbstractSet';_.tI=153;function aX(b,a,c){b.a=a;b.b=c;return b;}
-function cX(b){var a;a=g1(b.b);return hX(new gX(),b,a);}
-function dX(a){return this.a.fb(a);}
-function eX(){return cX(this);}
-function fX(){return this.b.a.c;}
-function FW(){}
-_=FW.prototype=new hY();_.gb=dX;_.sc=eX;_.Ee=fX;_.tN=fgc+'AbstractMap$1';_.tI=154;function hX(b,a,c){b.a=c;return b;}
-function jX(a){return E0(a.a);}
-function kX(b){var a;a=F0(b.a);return a.Ab();}
-function lX(){return jX(this);}
-function mX(){return kX(this);}
-function nX(){a1(this.a);}
-function gX(){}
-_=gX.prototype=new gU();_.mc=lX;_.uc=mX;_.ee=nX;_.tN=fgc+'AbstractMap$2';_.tI=155;function pX(b,a,c){b.a=a;b.b=c;return b;}
-function rX(b){var a;a=g1(b.b);return wX(new vX(),b,a);}
-function sX(a){return p1(this.a,a);}
-function tX(){return rX(this);}
-function uX(){return this.b.a.c;}
-function oX(){}
-_=oX.prototype=new gW();_.gb=sX;_.sc=tX;_.Ee=uX;_.tN=fgc+'AbstractMap$3';_.tI=156;function wX(b,a,c){b.a=c;return b;}
-function yX(a){return E0(a.a);}
-function zX(a){var b;b=F0(a.a).gc();return b;}
-function AX(){return yX(this);}
-function BX(){return zX(this);}
-function CX(){a1(this.a);}
-function vX(){}
-_=vX.prototype=new gU();_.mc=AX;_.uc=BX;_.ee=CX;_.tN=fgc+'AbstractMap$4';_.tI=157;function kZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.eb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
-function lZ(a){kZ(a,a.a,(xZ(),yZ));}
-function oZ(){oZ=e3;f2(new e2());pZ=l1(new p0());oY(new mY());}
-function qZ(c,d){oZ();var a,b;b=c.b;for(a=0;a<b;a++){BY(c,a,d[a]);}}
-function rZ(a){oZ();var b;b=a.af();lZ(b);qZ(a,b);}
-var pZ;function xZ(){xZ=e3;yZ=new uZ();}
-var yZ;function wZ(a,b){return Fb(a,34).db(b);}
-function uZ(){}
-_=uZ.prototype=new gU();_.eb=wZ;_.tN=fgc+'Comparators$1';_.tI=158;function CZ(){CZ=e3;d0=zb('[Ljava.lang.String;',609,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);e0=zb('[Ljava.lang.String;',609,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
-function AZ(a){CZ();FZ(a);return a;}
-function BZ(b,a){CZ();a0(b,a);return b;}
-function DZ(c,a){var b,d;d=EZ(c);b=EZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
-function EZ(a){return a.jsdate.getTime();}
-function FZ(a){a.jsdate=new Date();}
-function a0(b,a){b.jsdate=new Date(a);}
-function b0(a){return a.jsdate.toLocaleString();}
-function c0(h){var a=h.jsdate;var g=k0;var b=g0(h.jsdate.getDay());var e=j0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
-function f0(a){return DZ(this,Fb(a,59));}
-function g0(a){CZ();return d0[a];}
-function h0(a){return ac(a,59)&&EZ(this)==EZ(Fb(a,59));}
-function i0(){return cc(EZ(this)^EZ(this)>>>32);}
-function j0(a){CZ();return e0[a];}
-function k0(a){CZ();if(a<10){return '0'+a;}else{return vV(a);}}
-function l0(){return c0(this);}
-function zZ(){}
-_=zZ.prototype=new gU();_.db=f0;_.eQ=h0;_.hC=i0;_.tS=l0;_.tN=fgc+'Date';_.tI=159;var d0,e0;function n1(){n1=e3;u1=A1();}
-function k1(a){{m1(a);}}
-function l1(a){n1();k1(a);return a;}
-function m1(a){a.a=gb();a.d=ib();a.b=hc(u1,cb);a.c=0;}
-function o1(b,a){if(ac(a,1)){return E1(b.d,Fb(a,1))!==u1;}else if(a===null){return b.b!==u1;}else{return D1(b.a,a,a.hC())!==u1;}}
-function p1(a,b){if(a.b!==u1&&C1(a.b,b)){return true;}else if(z1(a.d,b)){return true;}else if(x1(a.a,b)){return true;}return false;}
-function q1(a){return e1(new A0(),a);}
-function r1(c,a){var b;if(ac(a,1)){b=E1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=D1(c.a,a,a.hC());}return b===u1?null:b;}
-function s1(c,a,d){var b;if(ac(a,1)){b=b2(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=a2(c.a,a,d,a.hC());}if(b===u1){++c.c;return null;}else{return b;}}
-function t1(c,a){var b;if(ac(a,1)){b=d2(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(u1,cb);}else{b=c2(c.a,a,a.hC());}if(b===u1){return null;}else{--c.c;return b;}}
-function v1(e,c){n1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.E(a[f]);}}}}
-function w1(d,a){n1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=t0(c.substring(1),e);a.E(b);}}}
-function x1(f,h){n1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.gc();if(C1(h,d)){return true;}}}}return false;}
-function y1(a){return o1(this,a);}
-function z1(c,d){n1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(C1(d,a)){return true;}}}return false;}
-function A1(){n1();}
-function B1(){return q1(this);}
-function C1(a,b){n1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
-function F1(a){return r1(this,a);}
-function D1(f,h,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){return c.gc();}}}}
-function E1(b,a){n1();return b[':'+a];}
-function a2(f,h,j,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){var i=c.gc();c.ye(j);return i;}}}else{a=f[e]=[];}var c=t0(h,j);a.push(c);}
-function b2(c,a,d){n1();a=':'+a;var b=c[a];c[a]=d;return b;}
-function c2(f,h,e){n1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.Ab();if(C1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.gc();}}}}
-function d2(c,a){n1();a=':'+a;var b=c[a];delete c[a];return b;}
-function p0(){}
-_=p0.prototype=new EW();_.fb=y1;_.qb=B1;_.kc=F1;_.tN=fgc+'HashMap';_.tI=160;_.a=null;_.b=null;_.c=0;_.d=null;var u1;function r0(b,a,c){b.a=a;b.b=c;return b;}
-function t0(a,b){return r0(new q0(),a,b);}
-function u0(b){var a;if(ac(b,60)){a=Fb(b,60);if(C1(this.a,a.Ab())&&C1(this.b,a.gc())){return true;}}return false;}
-function v0(){return this.a;}
-function w0(){return this.b;}
-function x0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
-function y0(a){var b;b=this.b;this.b=a;return b;}
-function z0(){return this.a+'='+this.b;}
-function q0(){}
-_=q0.prototype=new gU();_.eQ=u0;_.Ab=v0;_.gc=w0;_.hC=x0;_.ye=y0;_.tS=z0;_.tN=fgc+'HashMap$EntryImpl';_.tI=161;_.a=null;_.b=null;function e1(b,a){b.a=a;return b;}
-function g1(a){return C0(new B0(),a.a);}
-function h1(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.Ab();if(o1(this.a,b)){d=r1(this.a,b);return C1(a.gc(),d);}}return false;}
-function i1(){return g1(this);}
-function j1(){return this.a.c;}
-function A0(){}
-_=A0.prototype=new hY();_.gb=h1;_.sc=i1;_.Ee=j1;_.tN=fgc+'HashMap$EntrySet';_.tI=162;function C0(c,b){var a;c.c=b;a=oY(new mY());if(c.c.b!==(n1(),u1)){qY(a,r0(new q0(),null,c.c.b));}w1(c.c.d,a);v1(c.c.a,a);c.a=a.sc();return c;}
-function E0(a){return a.a.mc();}
-function F0(a){return a.b=Fb(a.a.uc(),60);}
-function a1(a){if(a.b===null){throw eT(new dT(),'Must call next() before remove().');}else{a.a.ee();t1(a.c,a.b.Ab());a.b=null;}}
-function b1(){return E0(this);}
-function c1(){return F0(this);}
-function d1(){a1(this);}
-function B0(){}
-_=B0.prototype=new gU();_.mc=b1;_.uc=c1;_.ee=d1;_.tN=fgc+'HashMap$EntrySetIterator';_.tI=163;_.a=null;_.b=null;function f2(a){a.a=l1(new p0());return a;}
-function g2(c,a){var b;b=s1(c.a,a,rS(true));return b===null;}
-function i2(a){return cX(FX(a.a));}
-function j2(a){return g2(this,a);}
-function k2(a){return o1(this.a,a);}
-function l2(){return i2(this);}
-function m2(){return this.a.c;}
-function n2(){return FX(this.a).tS();}
-function e2(){}
-_=e2.prototype=new hY();_.E=j2;_.gb=k2;_.sc=l2;_.Ee=m2;_.tS=n2;_.tN=fgc+'HashSet';_.tI=164;_.a=null;function t2(b,a){mU(b,a);return b;}
-function s2(){}
-_=s2.prototype=new lU();_.tN=fgc+'NoSuchElementException';_.tI=165;function y2(a){a.a=oY(new mY());return a;}
-function z2(b,a){return qY(b.a,a);}
-function B2(a){return a.a.sc();}
-function C2(a,b){pY(this.a,a,b);}
-function D2(a){return z2(this,a);}
-function E2(a){return uY(this.a,a);}
-function F2(a){return vY(this.a,a);}
-function a3(){return B2(this);}
-function b3(a){return zY(this.a,a);}
-function c3(){return this.a.b;}
-function d3(){return this.a.af();}
-function x2(){}
-_=x2.prototype=new oW();_.D=C2;_.E=D2;_.gb=E2;_.jc=F2;_.sc=a3;_.fe=b3;_.Ee=c3;_.af=d3;_.tN=fgc+'Vector';_.tI=166;_.a=null;function e5(){e5=e3;g5=l1(new p0());}
-function d5(a){e5();return a;}
-function f5(){}
-function u4(){}
-_=u4.prototype=new mr();_.od=f5;_.tN=ggc+'JBRMSFeature';_.tI=167;var g5;function l3(){l3=e3;e5();}
-function k3(a){l3();d5(a);a.a=AJ(new mJ());a.a.De('100%');a.a.se('100%');BJ(a.a,j9(new t8()),"<img src='images/category_small.gif'/>Manage categories",true);BJ(a.a,A9(new m9()),"<img src='images/status_small.gif'/>Manage states",true);BJ(a.a,B7(new x6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);BJ(a.a,o8(new F7()),"<img src='images/backup_small.gif'/>Import Export",true);bK(a.a,0);or(a,a.a);return a;}
-function m3(){l3();return h3(new g3(),'Admin','Administer the repository');}
-function n3(){}
-function f3(){}
-_=f3.prototype=new u4();_.od=n3;_.tN=ggc+'AdminFeature';_.tI=168;_.a=null;function w4(c,b,a){c.c=b;c.a=a;return c;}
-function y4(a){if(a.b!==null)return a.b;return a.b=a.jb();}
-function v4(){}
-_=v4.prototype=new gU();_.tN=ggc+'JBRMSFeature$ComponentInfo';_.tI=169;_.a=null;_.b=null;_.c=null;function h3(c,a,b){w4(c,a,b);return c;}
-function j3(){return k3(new f3());}
-function g3(){}
-_=g3.prototype=new v4();_.jb=j3;_.tN=ggc+'AdminFeature$1';_.tI=170;function u3(){u3=e3;e5();}
-function t3(a){u3();d5(a);or(a,oKb(new wIb()));return a;}
-function v3(){u3();return q3(new p3(),'Deployment','Configure and view frozen snapshots of packages.');}
-function w3(){}
-function o3(){}
-_=o3.prototype=new u4();_.od=w3;_.tN=ggc+'DeploymentManagementFeature';_.tI=171;function q3(c,a,b){w4(c,a,b);return c;}
-function s3(){return t3(new o3());}
-function p3(){}
-_=p3.prototype=new v4();_.jb=s3;_.tN=ggc+'DeploymentManagementFeature$1';_.tI=172;function D3(){D3=e3;e5();}
-function C3(a){D3();d5(a);or(a,E3(a));return a;}
-function E3(a){a.a=Dv(new Bv(),'welcome.html');CN(a.a,'welcome-Page');a.a.Ae(true);return a.a;}
-function F3(){D3();return z3(new y3(),'Info','JBoss Rules Managment System.');}
-function a4(){}
-function x3(){}
-_=x3.prototype=new u4();_.od=a4;_.tN=ggc+'Info';_.tI=173;_.a=null;function z3(c,a,b){w4(c,a,b);return c;}
-function B3(){return C3(new x3());}
-function y3(){}
-_=y3.prototype=new v4();_.jb=B3;_.tN=ggc+'Info$1';_.tI=174;function l4(a){a.c=lz(new pw());a.d=E4(new C4());a.g=xs(new os());}
-function m4(a){l4(a);return a;}
-function n4(a){CXb(mMb(),d4(new c4(),a));}
-function p4(b,c){var a;a=b5(b.d,c);if(a===null){r4(b);return;}s4(b,a,false);}
-function q4(b){var a,c;B4(b.d);b.h=xs(new os());CN(b.h,'ks-Sink');c=pO(new nO());c.De('100%');qO(c,b.c);qO(c,b.h);CN(b.c,'ks-Info');ys(b.g,b.d,(zs(),dt));ys(b.g,c,(zs(),Fs));Ds(b.g,b.d,(Fz(),cA));Es(b.g,c,'100%');Bg(b);b.e=q5(new h5());b.f=b6(new t5());lp(qG(),b.e);lp(qG(),b.g);lp(qG(),b.f);b.f.De('100%');b.e.Ae(false);b.g.Ae(false);b.f.Ae(false);n4(b);a=Dg();if(dV(a)>0)p4(b,a);else r4(b);}
-function s4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){Bs(c.h,c.b);}c.b=y4(b);c5(c.d,b.c);pz(c.c,b.a);if(a)ah(b.c);ys(c.h,c.b,(zs(),Fs));Es(c.h,c.b,'100%');Ds(c.h,c.b,(Fz(),cA));c.b.od();}
-function r4(a){s4(a,b5(a.d,'Info'),false);}
-function t4(a){p4(this,a);}
-function b4(){}
-_=b4.prototype=new gU();_.dd=t4;_.tN=ggc+'JBRMSEntryPoint';_.tI=175;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function ycb(b,a){if(ac(a,69)){Acb();}else if(ac(a,70)){zbb(Fb(a,70));}else{ybb(a.Bb());}}
-function zcb(a){ycb(this,a);}
-function Acb(){var a;a=scb(new ncb(),'images/warning-large.png','Session expired');ucb(a,mz(new pw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));tE(a,40,40);wE(a);tdb();}
-function wcb(){}
-_=wcb.prototype=new gU();_.Fc=zcb;_.tN=jgc+'GenericCallback';_.tI=176;function d4(b,a){b.a=a;return b;}
-function f4(a){var b;b=Fb(a,1);if(b!==null){s5(this.a.e,b);this.a.e.Ae(true);this.a.g.Ae(true);this.a.f.Ae(false);}else{this.a.f.Ae(true);f6(this.a.f,h4(new g4(),this));}}
-function c4(){}
-_=c4.prototype=new wcb();_.rd=f4;_.tN=ggc+'JBRMSEntryPoint$1';_.tI=177;function h4(b,a){b.a=a;return b;}
-function j4(a){s5(a.a.a.e,e6(a.a.a.f));a.a.a.e.Ae(true);a.a.a.f.Ae(false);a.a.a.g.Ae(true);}
-function k4(){j4(this);}
-function g4(){}
-_=g4.prototype=new gU();_.rb=k4;_.tN=ggc+'JBRMSEntryPoint$2';_.tI=178;function B4(a){F4(a,F3());F4(a,w6());F4(a,n6());F4(a,v3());F4(a,m3());}
-function D4(a){a.a=pO(new nO());a.c=oY(new mY());}
-function E4(a){D4(a);or(a,a.a);CN(a,'ks-List');return a;}
-function F4(d,a){var b,c;c=a.c;b=rA(new pA(),c,c);CN(b,'ks-SinkItem');qO(d.a,b);qY(d.c,a);}
-function b5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(vY(d.c,a),61);if(FU(b.c,c))return b;}return null;}
-function c5(d,c){var a,b;if(d.b!=(-1))xN(fr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(vY(d.c,a),61);if(FU(b.c,c)){d.b=a;rN(fr(d.a,d.b),'ks-SinkItem-selected');return;}}}
-function C4(){}
-_=C4.prototype=new mr();_.tN=ggc+'JBRMSFeatureList';_.tI=179;_.b=(-1);function q5(a){a.a=lz(new pw());or(a,a.a);return a;}
-function s5(b,d){var a,c;a=rU(new qU());tU(a,"<div id='user_info'>");tU(a,'Welcome: &nbsp;'+d);tU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");tU(a,'<\/div>');pz(b.a,xU(a));c=j5(new i5(),b);mh(c,300000);}
-function h5(){}
-_=h5.prototype=new mr();_.tN=ggc+'LoggedInUserInfo';_.tI=180;_.a=null;function k5(){k5=e3;kh();}
-function j5(b,a){k5();ih(b);return b;}
-function l5(){CXb(mMb(),new m5());}
-function i5(){}
-_=i5.prototype=new dh();_.he=l5;_.tN=ggc+'LoggedInUserInfo$1';_.tI=181;function o5(a){}
-function p5(a){if(a===null){Acb();}}
-function m5(){}
-_=m5.prototype=new gU();_.Fc=o5;_.rd=p5;_.tN=ggc+'LoggedInUserInfo$2';_.tI=182;function b6(c){var a,b;c.a=dcb(new acb(),'images/login.gif','Please enter your details');c.c=bL(new sK());c.c.te(1);ecb(c.a,'User name:',c.c);b=fE(new eE());b.te(2);ecb(c.a,'Password:',b);a=yp(new sp(),'Login');a.te(3);ecb(c.a,'',a);a.z(v5(new u5(),c,b));or(c,c.a);c.c.qe(true);CN(c,'login-Form');return c;}
-function d6(c,a,d,b){pMb(zK(d),zK(b),D5(new C5(),c,a));}
-function e6(a){return zK(a.c);}
-function f6(b,a){b.b=a;}
-function t5(){}
-_=t5.prototype=new mr();_.tN=ggc+'LoginWidget';_.tI=183;_.a=null;_.b=null;_.c=null;function v5(b,a,c){b.a=a;b.b=c;return b;}
-function x5(a){xdb('Logging in...');fg(z5(new y5(),this,this.b));}
-function u5(){}
-_=u5.prototype=new gU();_.Bc=x5;_.tN=ggc+'LoginWidget$1';_.tI=184;function z5(b,a,c){b.a=a;b.b=c;return b;}
-function B5(){d6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
-function y5(){}
-_=y5.prototype=new gU();_.rb=B5;_.tN=ggc+'LoginWidget$2';_.tI=185;function D5(b,a,c){b.a=c;return b;}
-function F5(c,a){var b;tdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{j4(c.a);}}
-function a6(a){F5(this,a);}
-function C5(){}
-_=C5.prototype=new wcb();_.rd=a6;_.tN=ggc+'LoginWidget$3';_.tI=186;function m6(){m6=e3;e5();}
-function l6(b){var a;m6();d5(b);a=sIb(new lIb());vIb(a,g5);or(b,a);return b;}
-function n6(){m6();return i6(new h6(),'Packages','Configure and view packages of business rule assets.');}
-function o6(){}
-function g6(){}
-_=g6.prototype=new u4();_.od=o6;_.tN=ggc+'PackageManagementFeature';_.tI=187;function i6(c,a,b){w4(c,a,b);return c;}
-function k6(){return l6(new g6());}
-function h6(){}
-_=h6.prototype=new v4();_.jb=k6;_.tN=ggc+'PackageManagementFeature$1';_.tI=188;function v6(){v6=e3;e5();}
-function u6(b){var a;v6();d5(b);a=hcc(new dbc());lcc(a,g5);or(b,a);return b;}
-function w6(){v6();return r6(new q6(),'Rules','Find and edit rules.');}
-function p6(){}
-_=p6.prototype=new u4();_.tN=ggc+'RulesFeature';_.tI=189;function r6(c,a,b){w4(c,a,b);return c;}
-function t6(){return u6(new p6());}
-function q6(){}
-_=q6.prototype=new v4();_.jb=t6;_.tN=ggc+'RulesFeature$1';_.tI=190;function B7(a){var b;b=dcb(new acb(),'images/backup_large.png','Manage Archived Assets');a.a=hA(new fA());a.a.De('100%');hcb(b,a.a);a.b=kdc(new occ(),new y6(),'archivedrulelist');qdc(a.b,E7(a));iA(a.a,a.b);z7(E7(a));hcb(b,mz(new pw(),'<hr/>'));hcb(b,D7(a));or(a,b);return a;}
-function D7(d){var a,b,c,e;b=hA(new fA());c=yp(new sp(),'Refresh');c.z(C6(new B6(),d));e=yp(new sp(),'Unarchive');e.z(a7(new F6(),d));a=yp(new sp(),'Delete');a.z(j7(new i7(),d));iA(b,c);iA(b,e);iA(b,a);return b;}
-function E7(b){var a;a=s7(new r7(),b);return x7(new w7(),b,a);}
-function x6(){}
-_=x6.prototype=new mr();_.tN=hgc+'ArchivedAssetManager';_.tI=191;_.a=null;_.b=null;function A6(a){}
-function y6(){}
-_=y6.prototype=new gU();_.yd=A6;_.tN=hgc+'ArchivedAssetManager$1';_.tI=192;function C6(b,a){b.a=a;return b;}
-function E6(a){z7(E7(this.a));}
-function B6(){}
-_=B6.prototype=new gU();_.Bc=E6;_.tN=hgc+'ArchivedAssetManager$2';_.tI=193;function a7(b,a){b.a=a;return b;}
-function c7(a){qTb(nMb(),mdc(this.a.b),false,e7(new d7(),this));}
-function F6(){}
-_=F6.prototype=new gU();_.Bc=c7;_.tN=hgc+'ArchivedAssetManager$3';_.tI=194;function e7(b,a){b.a=a;return b;}
-function g7(b,a){z7(E7(b.a.a));zh('Done!');}
-function h7(a){g7(this,a);}
-function d7(){}
-_=d7.prototype=new wcb();_.rd=h7;_.tN=hgc+'ArchivedAssetManager$4';_.tI=195;function j7(b,a){b.a=a;return b;}
-function l7(a){qUb(nMb(),mdc(this.a.b),n7(new m7(),this));}
-function i7(){}
-_=i7.prototype=new gU();_.Bc=l7;_.tN=hgc+'ArchivedAssetManager$5';_.tI=196;function n7(b,a){b.a=a;return b;}
-function p7(b,a){z7(E7(b.a.a));zh('Done!');}
-function q7(a){p7(this,a);}
-function m7(){}
-_=m7.prototype=new wcb();_.rd=q7;_.tN=hgc+'ArchivedAssetManager$6';_.tI=197;function s7(b,a){b.a=a;return b;}
-function u7(c,a){var b;b=Fb(a,62);pdc(c.a.b,b);c.a.b.De('100%');tdb();}
-function v7(a){u7(this,a);}
-function r7(){}
-_=r7.prototype=new wcb();_.rd=v7;_.tN=hgc+'ArchivedAssetManager$7';_.tI=198;function x7(b,a,c){b.a=c;return b;}
-function z7(a){xdb('Loading list, please wait...');gUb(nMb(),a.a);}
-function A7(){z7(this);}
-function w7(){}
-_=w7.prototype=new gU();_.rb=A7;_.tN=hgc+'ArchivedAssetManager$8';_.tI=199;function o8(a){var b;b=dcb(new acb(),'images/backup_large.png','Import/Export');ecb(b,'',mz(new pw(),'<i>Import and Export rules repository<\/i>'));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Import from an xml file',s8(a));ecb(b,'Export to a zip file',r8(a));hcb(b,mz(new pw(),'<hr/>'));or(a,b);return a;}
-function q8(a){xdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');tdb();}
-function r8(c){var a,b;b=hA(new fA());a=yp(new sp(),'Export');a.z(b8(new a8(),c));iA(b,a);return b;}
-function s8(c){var a,b,d,e;e=ev(new Fu());kv(e,v()+'backup');lv(e,'multipart/form-data');mv(e,'post');b=hA(new fA());e.Ce(b);d=it(new ht());lt(d,'importFile');iA(b,d);iA(b,eC(new cC(),'import:'));a=Dcb(new Ccb(),'images/upload.gif');nB(a,f8(new e8(),c,e));iA(b,a);fv(e,k8(new j8(),c,d));return e;}
-function F7(){}
-_=F7.prototype=new mr();_.tN=hgc+'BackupManager';_.tI=200;function b8(b,a){b.a=a;return b;}
-function d8(a){q8(this.a);}
-function a8(){}
-_=a8.prototype=new gU();_.Bc=d8;_.tN=hgc+'BackupManager$1';_.tI=201;function f8(b,a,c){b.a=c;return b;}
-function h8(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){xdb('Importing repository, please wait, as this could take some time...');ov(b);}}
-function i8(a){h8(this,this.a);}
-function e8(){}
-_=e8.prototype=new gU();_.Bc=i8;_.tN=hgc+'BackupManager$2';_.tI=202;function k8(b,a,c){b.a=c;return b;}
-function n8(a){if(dV(kt(this.a))==0){zh('You did not specify an exported repository filename !');Av(a,true);}else if(!DU(kt(this.a),'.xml')){zh('Please specify a valid repository xml file.');Av(a,true);}}
-function m8(a){if(bV(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{ybb('Unable to import into the repository. Consult the server logs for error messages.');}tdb();}
-function j8(){}
-_=j8.prototype=new gU();_.qd=n8;_.pd=m8;_.tN=hgc+'BackupManager$3';_.tI=203;function i9(a){pO(new nO());}
-function j9(f){var a,b,c,d,e;i9(f);c=dcb(new acb(),'images/edit_category.gif','Edit categories');ecb(c,'',mz(new pw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=e_(new t$(),new u8());CN(f.a,'category-explorer-Admin');b=cH(new AG());CN(b,'metadata-Widget');eH(b,f.a);hcb(c,mz(new pw(),'<hr/>'));ecb(c,'Current categories:',b);e=Dcb(new Ccb(),'images/refresh.gif');e.ve('Refresh categories');nB(e,y8(new x8(),f));ecb(c,'Refresh view:',e);hcb(c,mz(new pw(),'<hr/>'));d=Dcb(new Ccb(),'images/new.gif');d.ve('Create a new category');nB(d,C8(new B8(),f));ecb(c,'Create a new category:',d);a=Dcb(new Ccb(),'images/delete_obj.gif');nB(a,a9(new F8(),f));a.ve("Deletes the currently selected category. You won't be able to delete if the category is in use.");ecb(c,'Delete the currently selected category:',a);or(f,c);return f;}
-function l9(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){rUb(nMb(),a.a.e,e9(new d9(),a));}}
-function t8(){}
-_=t8.prototype=new mr();_.tN=hgc+'CategoryManager';_.tI=204;_.a=null;function w8(a){}
-function u8(){}
-_=u8.prototype=new gU();_.je=w8;_.tN=hgc+'CategoryManager$1';_.tI=205;function y8(b,a){b.a=a;return b;}
-function A8(a){k_(this.a.a);}
-function x8(){}
-_=x8.prototype=new gU();_.Bc=A8;_.tN=hgc+'CategoryManager$2';_.tI=206;function C8(b,a){b.a=a;return b;}
-function E8(b){var a;a=o$(new F9(),this.a.a.e);tE(a,tN(b),uN(b)-400);wE(a);}
-function B8(){}
-_=B8.prototype=new gU();_.Bc=E8;_.tN=hgc+'CategoryManager$3';_.tI=207;function a9(b,a){b.a=a;return b;}
-function c9(a){l9(this.a);}
-function F8(){}
-_=F8.prototype=new gU();_.Bc=c9;_.tN=hgc+'CategoryManager$4';_.tI=208;function e9(b,a){b.a=a;return b;}
-function g9(b,a){k_(b.a.a);}
-function h9(a){g9(this,a);}
-function d9(){}
-_=d9.prototype=new wcb();_.rd=h9;_.tN=hgc+'CategoryManager$5';_.tI=209;function A9(b){var a;a=dcb(new acb(),'images/status_large.png','Manage statuses');ecb(a,'',mz(new pw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=uC(new mC());eD(b.a,7);b.a.De('50%');E9(b);ecb(a,'Current statuses:',b.a);ecb(a,'Add new status:',D9(b));or(b,a);return b;}
-function C9(b,a){xdb('Creating status');aUb(nMb(),zK(a),w9(new v9(),b,a));}
-function D9(d){var a,b,c;c=hA(new fA());a=bL(new sK());b=yp(new sp(),'Create');b.z(s9(new r9(),d,a));iA(c,a);iA(c,b);return c;}
-function E9(a){xdb('Loading statuses...');fUb(nMb(),o9(new n9(),a));}
-function m9(){}
-_=m9.prototype=new mr();_.tN=hgc+'StateManager';_.tI=210;_.a=null;function o9(b,a){b.a=a;return b;}
-function q9(a){var b,c;AC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){xC(this.a.a,c[b]);}tdb();}
-function n9(){}
-_=n9.prototype=new wcb();_.rd=q9;_.tN=hgc+'StateManager$1';_.tI=211;function s9(b,a,c){b.a=a;b.b=c;return b;}
-function u9(a){C9(this.a,this.b);}
-function r9(){}
-_=r9.prototype=new gU();_.Bc=u9;_.tN=hgc+'StateManager$2';_.tI=212;function w9(b,a,c){b.a=a;b.b=c;return b;}
-function y9(b,a){DK(b.b,'');E9(b.a);tdb();}
-function z9(a){y9(this,a);}
-function v9(){}
-_=v9.prototype=new wcb();_.rd=z9;_.tN=hgc+'StateManager$3';_.tI=213;function q$(){q$=e3;mE();}
-function n$(a){a.d=tt(new nt());a.b=bL(new sK());a.a=mK(new lK());}
-function o$(d,b){var a,c;q$();jE(d,true);n$(d);d.c=b;d.d.Be(0,0,Dcb(new Ccb(),'images/edit_category.gif'));d.d.Be(0,1,eC(new cC(),r$(d,d.c)));d.d.Be(1,0,eC(new cC(),'Cateogory name'));d.d.Be(1,1,d.b);rK(d.a,4);d.d.Be(2,0,eC(new cC(),'Description'));d.d.Be(2,1,d.a);c=yp(new sp(),'OK');c.z(b$(new a$(),d));d.d.Be(3,0,c);a=yp(new sp(),'Cancel');a.z(f$(new e$(),d));d.d.Be(3,1,a);eH(d,d.d);CN(d,'ks-popups-Popup');return d;}
-function p$(a){a.nc();}
-function r$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
-function s$(b){var a;a=j$(new i$(),b);if(FU('',zK(b.b))){ybb("Can't have an empty category name.");}else{CTb(nMb(),b.c,zK(b.b),zK(b.a),a);}}
-function F9(){}
-_=F9.prototype=new hE();_.tN=igc+'CategoryEditor';_.tI=214;_.c=null;function b$(b,a){b.a=a;return b;}
-function d$(a){s$(this.a);}
-function a$(){}
-_=a$.prototype=new gU();_.Bc=d$;_.tN=igc+'CategoryEditor$1';_.tI=215;function f$(b,a){b.a=a;return b;}
-function h$(a){p$(this.a);}
-function e$(){}
-_=e$.prototype=new gU();_.Bc=h$;_.tN=igc+'CategoryEditor$2';_.tI=216;function j$(b,a){b.a=a;return b;}
-function l$(b,a){if(Fb(a,55).a){b.a.nc();}else{ybb('Category was not successfully created. ');}}
-function m$(a){l$(this,a);}
-function i$(){}
-_=i$.prototype=new wcb();_.rd=m$;_.tN=igc+'CategoryEditor$3';_.tI=217;function d_(a){a.c=rM(new eL());a.d=pO(new nO());a.f=nMb();}
-function e_(b,a){d_(b);qO(b.d,b.c);b.a=a;j_(b);or(b,b.d);vM(b.c,b);CN(b,'category-explorer-Tree');return b;}
-function g_(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
-function h_(b,a){if(a.c.b==1&&ac(AL(a,0),64)){return false;}return true;}
-function i_(a){if(a.b!==null){a.b.Ae(false);}}
-function j_(a){uM(a.c,'Please wait...');iUb(a.f,'/',z$(new y$(),a));}
-function k_(a){eN(a.c);a.e=null;j_(a);}
-function l_(c){var a,b;if(c.b===null){b=kp(new jp());lp(b,mz(new pw(),'No categories created yet. Add some categories from the administration screen.'));a=yp(new sp(),'Refresh');a.z(v$(new u$(),c));lp(b,a);CN(b,'small-Text');c.b=b;qO(c.d,c.b);}c.b.Ae(true);}
-function m_(a){this.e=g_(this,a);this.a.je(this.e);}
-function n_(a){var b;if(h_(this,a)){return;}b=a;this.e=g_(this,a);iUb(this.f,this.e,D$(new C$(),this,b));}
-function t$(){}
-_=t$.prototype=new mr();_.td=m_;_.ud=n_;_.tN=igc+'CategoryExplorerWidget';_.tI=218;_.a=null;_.b=null;_.e=null;function v$(b,a){b.a=a;return b;}
-function x$(a){k_(this.a);}
-function u$(){}
-_=u$.prototype=new gU();_.Bc=x$;_.tN=igc+'CategoryExplorerWidget$1';_.tI=219;function z$(b,a){b.a=a;return b;}
-function B$(d){var a,b,c;this.a.e=null;eN(this.a.c);a=Fb(d,63);if(a.a==0){l_(this.a);}else{i_(this.a);}for(b=0;b<a.a;b++){c=wL(new uL());EL(c,'<img src="images/category_small.gif"/>'+a[b]);eM(c,a[b]);c.A(b_(new a_()));tM(this.a.c,c);}}
-function y$(){}
-_=y$.prototype=new wcb();_.rd=B$;_.tN=igc+'CategoryExplorerWidget$2';_.tI=220;function D$(b,a,c){b.a=c;return b;}
-function F$(e){var a,b,c,d;a=AL(this.a,0);if(ac(a,64)){this.a.ce(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=wL(new uL());EL(c,'<img src="images/category_small.gif"/>'+d[b]);eM(c,d[b]);c.A(b_(new a_()));this.a.A(c);}}
-function C$(){}
-_=C$.prototype=new wcb();_.rd=F$;_.tN=igc+'CategoryExplorerWidget$3';_.tI=221;function b_(a){xL(a,'Please wait...');return a;}
-function a_(){}
-_=a_.prototype=new uL();_.tN=igc+'CategoryExplorerWidget$PendingItem';_.tI=222;function q_(){q_=e3;r_=zb('[Ljava.lang.String;',609,1,['brl','dslr','xls']);t_=zb('[Ljava.lang.String;',609,1,['drl','rf','enumeration']);s_=zb('[Ljava.lang.String;',609,1,['function','dsl','jar','enumeration']);}
-function u_(a){q_();var b;for(b=0;b<s_.a;b++){if(FU(s_[b],a)){return true;}}return false;}
-var r_,s_,t_;function aab(){aab=e3;cL();}
-function E_(a){a.b=jE(new hE(),true);a.a=x_(new w_(),a);}
-function F_(b,a){aab();bL(b);E_(b);wK(b,b);DN(b.a,1);CN(b,'AutoCompleteTextBox');eH(b.b,b.a);rN(b.b,'AutoCompleteChoices');CN(b.a,'list');b.c=a;return b;}
-function bab(a){if(a.e&&CC(a.a)>0){DK(a,DC(a.a,EC(a.a)));}AC(a.a);a.b.nc();a.e=false;}
-function cab(e,a,b,c){var d;d=EC(e.a);d++;if(d>=CC(e.a)){d=0;}dD(e.a,d);}
-function dab(d,a,b,c){bab(d);}
-function eab(d,a,b,c){AC(d.a);d.b.nc();d.e=false;}
-function fab(b,a){if(0==dV(a)||0==CC(b.a)||1==CC(b.a)&&FU(DC(b.a,0),a)){AC(b.a);b.b.nc();b.e=false;}else{dD(b.a,0);eD(b.a,CC(b.a)+1);if(!b.d){lp(qG(),b.b);b.d=true;}wE(b.b);b.e=true;tE(b.b,tN(b),uN(b)+b.Eb());b.a.De(b.Fb()+'px');}}
-function gab(d,a,b,c){jab(d,zK(d));if(dV(zK(d))>0&&d.c!==null){xdc(d.c,zK(d),B_(new A_(),d));}}
-function hab(d,a,b,c){bab(d);}
-function iab(e,a,b,c){var d;d=EC(e.a);d--;if(d<0){d=CC(e.a)-1;}dD(e.a,d);}
-function jab(c,b){var a;a=0;while(a<CC(c.a)){if(hV(lV(DC(c.a,a)),lV(b))){++a;}else{cD(c.a,a);}}fab(c,b);}
-function kab(d,b,c){var a;AC(d.a);for(a=0;a<b.a;a++){xC(d.a,b[a]);}jab(d,c);}
-function lab(a,b,c){if(b==13){dab(this,a,b,c);}else if(b==9){hab(this,a,b,c);}else if(b==40){cab(this,a,b,c);}else if(b==38){iab(this,a,b,c);}else if(b==27){eab(this,a,b,c);}}
-function mab(a,b,c){}
-function nab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:gab(this,a,b,c);break;}}
-function v_(){}
-_=v_.prototype=new sK();_.ed=lab;_.fd=mab;_.gd=nab;_.tN=jgc+'AutoCompleteTextBoxAsync';_.tI=223;_.c=null;_.d=false;_.e=false;function y_(){y_=e3;BC();}
-function x_(b,a){y_();b.a=a;uC(b);return b;}
-function z_(a){if(1==xe(a)){bab(this.a);}}
-function w_(){}
-_=w_.prototype=new mC();_.yc=z_;_.tN=jgc+'AutoCompleteTextBoxAsync$1';_.tI=224;function B_(b,a){b.a=a;return b;}
-function D_(b,a){kab(b.a,a,zK(b.a));}
-function A_(){}
-_=A_.prototype=new gU();_.tN=jgc+'AutoCompleteTextBoxAsync$2';_.tI=225;function sab(a){a.j=true;}
-function tab(a){a.j=false;}
-function uab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
-function vab(){return this.j;}
-function qab(){}
-_=qab.prototype=new mr();_.rc=vab;_.tN=jgc+'DirtyableComposite';_.tI=226;_.j=false;function yab(a){a.b=oY(new mY());}
-function zab(a){tt(a);yab(a);return a;}
-function Bab(d){var a,b,c;for(c=d.b.sc();c.mc();){a=Fb(c.uc(),65);b=sy(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).rc())return true;if(ac(b,67))if(Fb(b,67).lc())return true;}return false;}
-function Cab(d,c,b,a){bz(d,c,b,a);if(ac(a,68)){pY(d.b,d.a++,zdb(new ydb(),c,b));}}
-function Dab(){return Bab(this);}
-function Eab(c,b,a){Cab(this,c,b,a);}
-function xab(){}
-_=xab.prototype=new nt();_.lc=Dab;_.Be=Eab;_.tN=jgc+'DirtyableFlexTable';_.tI=227;_.a=0;function abb(a){hA(a);return a;}
-function cbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=fr(c,b);if(ac(a,66))if(Fb(a,66).rc())return true;if(ac(a,67))if(Fb(a,67).lc())return true;}return false;}
-function dbb(){return cbb(this);}
-function Fab(){}
-_=Fab.prototype=new fA();_.lc=dbb;_.tN=jgc+'DirtyableHorizontalPane';_.tI=228;function fbb(a){pO(a);return a;}
-function hbb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=fr(this,b);if(ac(a,66))if(Fb(a,66).rc())return true;if(ac(a,67))if(Fb(a,67).lc())return true;}return false;}
-function ebb(){}
-_=ebb.prototype=new nO();_.lc=hbb;_.tN=jgc+'DirtyableVerticalPane';_.tI=229;function vbb(){vbb=e3;bs();}
-function sbb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=Dcb(new Ccb(),'images/close.gif');}
-function tbb(d,b,a){var c,e;vbb();Fr(d,true);sbb(d);jC(d.a,b);iA(d.c,mB(new wA(),'images/error_dialog.png'));e=pO(new nO());qO(e,d.a);iA(d.c,e);if(a!==null){ubb(d,e,a);}iA(d.c,d.b);c=d;nB(d.b,lbb(new kbb(),d,c));es(d,d.c);tE(d,40,40);CN(d,'rule-error-Popup');return d;}
-function ubb(e,c,b){var a,d,f;f=pO(new nO());qO(c,f);d=yp(new sp(),'Details');qO(f,d);a=eC(new cC(),b);a.Ae(false);qO(f,a);d.z(pbb(new obb(),e,a,d));}
-function wbb(a){jC(a.a,'');pE(a);}
-function xbb(){wbb(this);}
-function ybb(a){vbb();var b;b=tbb(new jbb(),a,null);tdb();wE(b);}
-function zbb(a){vbb();var b;b=tbb(new jbb(),a.b,a.a);tdb();wE(b);}
-function jbb(){}
-_=jbb.prototype=new Cr();_.nc=xbb;_.tN=jgc+'ErrorPopup';_.tI=230;function lbb(b,a,c){b.a=c;return b;}
-function nbb(a){wbb(this.a);}
-function kbb(){}
-_=kbb.prototype=new gU();_.Bc=nbb;_.tN=jgc+'ErrorPopup$1';_.tI=231;function pbb(b,a,c,d){b.a=c;b.b=d;return b;}
-function rbb(a){this.a.Ae(true);this.b.Ae(false);}
-function obb(){}
-_=obb.prototype=new gU();_.Bc=rbb;_.tN=jgc+'ErrorPopup$2';_.tI=232;function Bbb(b,a){b.a=a;return b;}
-function Dbb(a,b,c){}
-function Ebb(a,b,c){}
-function Fbb(a,b,c){this.a.rb();}
-function Abb(){}
-_=Abb.prototype=new gU();_.ed=Dbb;_.fd=Ebb;_.gd=Fbb;_.tN=jgc+'FieldEditListener';_.tI=233;_.a=null;function bcb(a){a.h=zab(new xab());a.g=wt(a.h);}
-function dcb(b,a,c){bcb(b);fcb(b,a,c);or(b,b.h);return b;}
-function ccb(a){bcb(a);or(a,a.h);return a;}
-function ecb(d,c,a){var b;b=mz(new pw(),'<b>'+c+'<\/b>');Cab(d.h,d.i,0,b);dx(d.g,d.i,0,(wz(),zz),(Fz(),cA));Cab(d.h,d.i,1,a);dx(d.g,d.i,1,(wz(),yz),(Fz(),cA));d.i++;}
-function fcb(c,a,d){var b;b=eC(new cC(),d);CN(b,'resource-name-Label');kcb(c,a,b);}
-function gcb(d,b,e,f){var a,c;c=eC(new cC(),e);CN(c,'resource-name-Label');a=hA(new fA());iA(a,c);iA(a,f);kcb(d,b,a);}
-function hcb(a,b){Cab(a.h,a.i,0,b);rt(a.g,a.i,0,2);a.i++;}
-function icb(a){a.i=0;jy(a.h);}
-function kcb(b,a,c){Cab(b.h,0,0,mB(new wA(),a));dx(b.g,0,0,(wz(),yz),(Fz(),cA));Cab(b.h,0,1,c);b.i++;}
-function lcb(c,b,a,d){Cab(c.h,b,a,d);}
-function mcb(){return Bab(this.h);}
-function acb(){}
-_=acb.prototype=new qab();_.rc=mcb;_.tN=jgc+'FormStyleLayout';_.tI=234;_.i=0;function vcb(){vcb=e3;mE();}
-function scb(c,b,d){var a;vcb();jE(c,true);c.i=dcb(new acb(),b,d);CN(c,'ks-popups-Popup');a=Dcb(new Ccb(),'images/close.gif');nB(a,pcb(new ocb(),c));lcb(c.i,0,2,a);eH(c,c.i);return c;}
-function tcb(b,a,c){ecb(b.i,a,c);}
-function ucb(a,b){hcb(a.i,b);}
-function ncb(){}
-_=ncb.prototype=new hE();_.tN=jgc+'FormStylePopup';_.tI=235;_.i=null;function pcb(b,a){b.a=a;return b;}
-function rcb(a){this.a.nc();}
-function ocb(){}
-_=ocb.prototype=new gU();_.Bc=rcb;_.tN=jgc+'FormStylePopup$1';_.tI=236;function Fcb(){Fcb=e3;pB();}
-function Dcb(b,a){Fcb();mB(b,a);CN(b,'image-Button');return b;}
-function Ecb(b,a,c){Fcb();mB(b,a);CN(b,'image-Button');b.ve(c);return b;}
-function Ccb(){}
-_=Ccb.prototype=new wA();_.tN=jgc+'ImageButton';_.tI=237;function fdb(c,d,b){var a;a=mB(new wA(),'images/information.gif');a.ve(b);nB(a,cdb(new bdb(),c,d,b));or(c,a);return c;}
-function adb(){}
-_=adb.prototype=new mr();_.tN=jgc+'InfoPopup';_.tI=238;function cdb(b,a,d,c){b.b=d;b.a=c;return b;}
-function edb(b){var a;a=scb(new ncb(),'images/information.gif',this.b);ucb(a,idb(new hdb(),this.a,'small-Text'));tE(a,tN(b),uN(b));wE(a);}
-function bdb(){}
-_=bdb.prototype=new gU();_.Bc=edb;_.tN=jgc+'InfoPopup$1';_.tI=239;function idb(c,a,b){eC(c,a);CN(c,b);return c;}
-function hdb(){}
-_=hdb.prototype=new cC();_.tN=jgc+'Lbl';_.tI=240;function rdb(){rdb=e3;mE();}
-function pdb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=mB(new wA(),'images/close.gif');}
-function qdb(a){rdb();jE(a,true);pdb(a);iA(a.c,a.a);iA(a.c,a.b);iA(a.c,mB(new wA(),'images/searching.gif'));nB(a.b,mdb(new ldb(),a));eH(a,a.c);tE(a,0,0);CN(a,'loading-Popup');return a;}
-function sdb(a){jC(a.a,'');pE(a);}
-function tdb(){rdb();sdb(udb());}
-function udb(){rdb();if(wdb===null){wdb=qdb(new kdb());}return wdb;}
-function vdb(){sdb(this);}
-function xdb(a){rdb();var b;b=udb();jC(b.a,a);wE(b);}
-function kdb(){}
-_=kdb.prototype=new hE();_.nc=vdb;_.tN=jgc+'LoadingPopup';_.tI=241;var wdb=null;function mdb(b,a){b.a=a;return b;}
-function odb(a){sdb(this.a);}
-function ldb(){}
-_=ldb.prototype=new gU();_.Bc=odb;_.tN=jgc+'LoadingPopup$1';_.tI=242;function zdb(c,b,a){c.b=b;c.a=a;return c;}
-function ydb(){}
-_=ydb.prototype=new gU();_.tN=jgc+'Pair';_.tI=243;_.a=0;_.b=0;function aeb(a){a.b=uC(new mC());dUb(nMb(),Ddb(new Cdb(),a));or(a,a.b);return a;}
-function ceb(a){return DC(a.b,EC(a.b));}
-function deb(b,a){b.a=a;}
-function Bdb(){}
-_=Bdb.prototype=new mr();_.tN=jgc+'RulePackageSelector';_.tI=244;_.a=null;_.b=null;function Ddb(b,a){b.a=a;return b;}
-function Fdb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){xC(this.a.b,b[a].j);if(this.a.a!==null&&FU(b[a].j,this.a.a)){dD(this.a.b,a);}}}
-function Cdb(){}
-_=Cdb.prototype=new wcb();_.rd=Fdb;_.tN=jgc+'RulePackageSelector$1';_.tI=245;function Ceb(){Ceb=e3;bs();}
-function Aeb(f,g,d){var a,b,c,e;Ceb();Fr(f,true);f.d=g;f.b=d;CN(f,'ks-popups-Popup');cs(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=hA(new fA());a=uC(new mC());xdb('Please wait...');fUb(nMb(),geb(new feb(),f,a));wC(a,keb(new jeb(),f,a));iA(c,a);e=yp(new sp(),'Change status');e.z(oeb(new neb(),f,a));iA(c,e);b=yp(new sp(),'Cancel');b.z(seb(new reb(),f));iA(c,b);es(f,c);return f;}
-function Beb(b,a){xdb('Updating status...');wTb(nMb(),b.d,b.c,b.b,web(new veb(),b));}
-function Deb(b,a){b.a=a;}
-function eeb(){}
-_=eeb.prototype=new Cr();_.tN=jgc+'StatusChangePopup';_.tI=246;_.a=null;_.b=false;_.c=null;_.d=null;function geb(b,a,c){b.a=c;return b;}
-function ieb(a){var b,c;c=Fb(a,63);xC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){xC(this.a,c[b]);}tdb();}
-function feb(){}
-_=feb.prototype=new wcb();_.rd=ieb;_.tN=jgc+'StatusChangePopup$1';_.tI=247;function keb(b,a,c){b.a=a;b.b=c;return b;}
-function meb(a){this.a.c=DC(this.b,EC(this.b));}
-function jeb(){}
-_=jeb.prototype=new gU();_.Ac=meb;_.tN=jgc+'StatusChangePopup$2';_.tI=248;function oeb(b,a,c){b.a=a;b.b=c;return b;}
-function qeb(b){var a;a=DC(this.b,EC(this.b));Beb(this.a,a);this.a.nc();}
-function neb(){}
-_=neb.prototype=new gU();_.Bc=qeb;_.tN=jgc+'StatusChangePopup$3';_.tI=249;function seb(b,a){b.a=a;return b;}
-function ueb(a){this.a.nc();}
-function reb(){}
-_=reb.prototype=new gU();_.Bc=ueb;_.tN=jgc+'StatusChangePopup$4';_.tI=250;function web(b,a){b.a=a;return b;}
-function yeb(b,a){b.a.a.rb();tdb();}
-function zeb(a){yeb(this,a);}
-function veb(){}
-_=veb.prototype=new wcb();_.rd=zeb;_.tN=jgc+'StatusChangePopup$5';_.tI=251;function afb(){afb=e3;vcb();}
-function Feb(c,b,a){afb();scb(c,'images/attention_needed.png',b);tcb(c,'Detail:',bfb(c,a));return c;}
-function bfb(c,b){var a;a=mK(new lK());CN(a,'editable-Surface');rK(a,12);DK(a,b);a.De('100%');return a;}
-function Eeb(){}
-_=Eeb.prototype=new ncb();_.tN=jgc+'ValidationMessageWidget';_.tI=252;function jfb(){jfb=e3;mE();}
-function hfb(a){a.a=dC(new cC());a.c=hA(new fA());a.b=yp(new sp(),'OK');}
-function ifb(b,c,d){var a;jfb();jE(b,true);hfb(b);tE(b,c,d);iA(b.c,b.a);iA(b.c,b.b);a=b;b.b.z(efb(new dfb(),b,a));eH(b,b.c);CN(b,'rule-warning-Popup');return b;}
-function kfb(a){jC(a.a,'');pE(a);}
-function lfb(){kfb(this);}
-function mfb(a,c,d){jfb();var b;b=ifb(new cfb(),c,d);jC(b.a,a);wE(b);}
-function cfb(){}
-_=cfb.prototype=new hE();_.nc=lfb;_.tN=jgc+'WarningPopup';_.tI=253;function efb(b,a,c){b.a=c;return b;}
-function gfb(a){kfb(this.a);}
-function dfb(){}
-_=dfb.prototype=new gU();_.Bc=gfb;_.tN=jgc+'WarningPopup$1';_.tI=254;function xfb(){xfb=e3;bs();}
-function wfb(d,b,f){var a,c,e;xfb();Er(d);ds(d,b);e=yp(new sp(),'Yes');c=yp(new sp(),'No');e.z(pfb(new ofb(),d,f));c.z(tfb(new sfb(),d));a=hA(new fA());iA(a,e);iA(a,c);es(d,a);return d;}
-function nfb(){}
-_=nfb.prototype=new Cr();_.tN=jgc+'YesNoDialog';_.tI=255;function pfb(b,a,c){b.a=a;b.b=c;return b;}
-function rfb(a){this.b.rb();this.a.nc();}
-function ofb(){}
-_=ofb.prototype=new gU();_.Bc=rfb;_.tN=jgc+'YesNoDialog$1';_.tI=256;function tfb(b,a){b.a=a;return b;}
-function vfb(a){this.a.nc();}
-function sfb(){}
-_=sfb.prototype=new gU();_.Bc=vfb;_.tN=jgc+'YesNoDialog$2';_.tI=257;function xxb(b,a,c){b.e=c;b.a=a;Cxb(b,a.e,a.d.n);Bxb(b);return b;}
-function yxb(b,a){hcb(b.c,a);}
-function Axb(c,a,d){var b;b=bL(new sK());BK(b,a);DK(b,d);b.Ae(false);return b;}
-function Bxb(a){fv(a.b,txb(new sxb(),a));}
-function Cxb(d,f,c){var a,b,e;d.b=ev(new Fu());kv(d.b,v()+'asset');lv(d.b,'multipart/form-data');mv(d.b,'post');e=it(new ht());lt(e,'fileUploadElement');b=hA(new fA());iA(b,Axb(d,'attachmentUUID',f));d.d=Ecb(new Ccb(),'images/upload.gif','Upload');iA(b,e);iA(b,eC(new cC(),'upload:'));iA(b,d.d);eH(d.b,b);d.c=dcb(new acb(),d.xb(),c);if(!d.a.c)ecb(d.c,'Upload new version:',d.b);a=yp(new sp(),'Download');a.z(lxb(new kxb(),d,f));ecb(d.c,'Download current version:',a);nB(d.d,pxb(new oxb(),d));or(d,d.c);d.c.De('100%');CN(d,d.ac());}
-function Dxb(a){xdb('Uploading...');}
-function Exb(a){ov(a.b);}
-function jxb(){}
-_=jxb.prototype=new mr();_.tN=ogc+'AssetAttachmentFileWidget';_.tI=258;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function zfb(b,a,c){xxb(b,a,c);yxb(b,mz(new pw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
-function Bfb(){return 'images/decision_table.png';}
-function Cfb(){return 'decision-Table-upload';}
-function yfb(){}
-_=yfb.prototype=new jxb();_.xb=Bfb;_.ac=Cfb;_.tN=kgc+'DecisionTableXLSWidget';_.tI=259;function Efb(){Efb=e3;ggb=l1(new p0());bgb=l1(new p0());agb=l1(new p0());Ffb=zb('[Ljava.lang.String;',609,1,['not','exists','or']);{s1(ggb,'==','is equal to');s1(ggb,'!=','is not equal to');s1(ggb,'<','is less than');s1(ggb,'<=','less than or equal to');s1(ggb,'>','greater than');s1(ggb,'>=','greater than or equal to');s1(ggb,'|| ==','or equal to');s1(ggb,'|| !=','or not equal to');s1(ggb,'&& !=','and not equal to');s1(ggb,'&& >','and greater than');s1(ggb,'&& <','and less than');s1(ggb,'|| >','or greater than');s1(ggb,'|| <','or less than');s1(ggb,'&& <','and less than');s1(ggb,'|| >=','or greater than (or equal to)');s1(ggb,'|| <=','or less than (or equal to)');s1(ggb,'&& >=','and greater than (or equal to)');s1(ggb,'&& <=','or less than (or equal to)');s1(ggb,'&& contains','and contains');s1(ggb,'|| contains','or contains');s1(ggb,'&& matches','and matches');s1(ggb,'|| matches','or mat!
 ches');s1(ggb,'|| excludes','or excludes');s1(ggb,'&& excludes','and excludes');s1(ggb,'soundslike','sounds like');s1(bgb,'not','There is no');s1(bgb,'exists','There exists');s1(bgb,'or','Any of');s1(agb,'assert','Insert');s1(agb,'assertLogical','Logically insert');s1(agb,'retract','Retract');s1(agb,'set','Set');s1(agb,'modify','Modify');}}
-function cgb(a){Efb();return fgb(a,agb);}
-function dgb(a){Efb();return fgb(a,bgb);}
-function egb(a){Efb();return fgb(a,ggb);}
-function fgb(a,b){Efb();if(o1(b,a)){return Fb(r1(b,a),1);}else{return a;}}
-var Ffb,agb,bgb,ggb;function kgb(){kgb=e3;Egb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=']);ahb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);Cgb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);Agb=zb('[Ljava.lang.String;',609,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);Fgb=zb('[Ljava.lang.String;',609,1,['==','!=']);Dgb=zb('[Ljava.lang.String;',609,1,['==','!=','<','>','<=','>=']);bhb=zb('[Ljava.lang.String;',609,1,['==','!=','matches','soundslike']);Bgb=zb('[Ljava.lang.String;',609,1,['contains','excludes','==','!=']);}
-function igb(a){a.h=l1(new p0());a.c=l1(new p0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[615],[14],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[615],[14],[0],null);}
-function jgb(a){kgb();igb(a);return a;}
-function lgb(c,a,b){var d;d=Fb(c.f.kc(a+'.'+b),1);if(d===null){return Egb;}else if(FU(d,'String')){return ahb;}else if(FU(d,'Comparable')||FU(d,'Numeric')){return Cgb;}else if(FU(d,'Collection')){return Agb;}else{return Egb;}}
-function ngb(i,g,d){var a,b,c,e,f,h,j;c=ugb(i);j=Fb(r1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(FU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.kc(f),63);}}}}return Fb(i.c.kc(g.c+'.'+d),63);}
-function mgb(f,g,a,c){var b,d,e,h,i;b=ugb(f);h=Fb(r1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(FU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.kc(e),63);}}}return Fb(f.c.kc(g+'.'+c),63);}
-function pgb(b,a){return Fb(b.g.kc(a),63);}
-function ogb(a,c){var b;b=Fb(a.h.kc(c),1);return Fb(a.g.kc(b),63);}
-function qgb(c,a,b){return Fb(c.f.kc(a+'.'+b),1);}
-function rgb(a){return vgb(a,a.h.tc());}
-function sgb(c,a,b){var d;d=Fb(c.f.kc(a+'.'+b),1);if(d===null){return Fgb;}else if(FU(d,'String')){return bhb;}else if(FU(d,'Comparable')||FU(d,'Numeric')){return Dgb;}else if(FU(d,'Collection')){return Bgb;}else{return Fgb;}}
-function tgb(a,b){return a.h.fb(b);}
-function ugb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=l1(new p0());e=g.c.tc();for(b=cX(e);jX(b);){d=Fb(kX(b),1);if(aV(d,91)!=(-1)){c=aV(d,91);a=jV(d,0,c);f=jV(d,c+1,aV(d,93));h=jV(f,0,aV(f,61));s1(g.d,a,h);}}}return g.d;}
-function vgb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[609],[1],[d.b.a.c],null);b=0;for(c=cX(d);jX(c);){a[b]=Fb(kX(c),1);b++;}return a;}
-function hgb(){}
-_=hgb.prototype=new gU();_.tN=lgc+'SuggestionCompletionEngine';_.tI=260;_.d=null;_.e=null;_.f=null;_.g=null;var Agb,Bgb,Cgb,Dgb,Egb,Fgb,ahb,bhb;function ygb(b,a){a.a=Fb(b.Fd(),72);a.b=Fb(b.Fd(),72);a.c=Fb(b.Fd(),57);a.e=Fb(b.Fd(),63);a.f=Fb(b.Fd(),57);a.g=Fb(b.Fd(),57);a.h=Fb(b.Fd(),57);}
-function zgb(b,a){b.hf(a.a);b.hf(a.b);b.hf(a.c);b.hf(a.e);b.hf(a.f);b.hf(a.g);b.hf(a.h);}
-function dhb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[619],[18],[0],null);}
-function ehb(a){dhb(a);return a;}
-function fhb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[619],[18],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[619],[18],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
-function hhb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[619],[18],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
-function chb(){}
-_=chb.prototype=new gU();_.tN=mgc+'ActionFieldList';_.tI=261;function khb(b,a){a.b=Fb(b.Fd(),73);}
-function lhb(b,a){b.hf(a.b);}
-function nhb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function mhb(){}
-_=mhb.prototype=new gU();_.tN=mgc+'ActionFieldValue';_.tI=262;_.a=null;_.b=null;_.c=null;function rhb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();}
-function shb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);}
-function vhb(a,b){ehb(a);a.a=b;return a;}
-function uhb(a){ehb(a);return a;}
-function thb(){}
-_=thb.prototype=new chb();_.tN=mgc+'ActionInsertFact';_.tI=263;_.a=null;function zhb(b,a){a.a=b.ae();khb(b,a);}
-function Ahb(b,a){b.jf(a.a);lhb(b,a);}
-function Dhb(b,a){vhb(b,a);return b;}
-function Chb(a){uhb(a);return a;}
-function Bhb(){}
-_=Bhb.prototype=new thb();_.tN=mgc+'ActionInsertLogicalFact';_.tI=264;function bib(b,a){zhb(b,a);}
-function cib(b,a){Ahb(b,a);}
-function eib(a,b){a.a=b;return a;}
-function dib(){}
-_=dib.prototype=new gU();_.tN=mgc+'ActionRetractFact';_.tI=265;_.a=null;function iib(b,a){a.a=b.ae();}
-function jib(b,a){b.jf(a.a);}
-function mib(a,b){ehb(a);a.a=b;return a;}
-function lib(a){ehb(a);return a;}
-function kib(){}
-_=kib.prototype=new chb();_.tN=mgc+'ActionSetField';_.tI=266;_.a=null;function qib(b,a){a.a=b.ae();khb(b,a);}
-function rib(b,a){b.jf(a.a);lhb(b,a);}
-function uib(b,a){mib(b,a);return b;}
-function tib(a){lib(a);return a;}
-function sib(){}
-_=sib.prototype=new kib();_.tN=mgc+'ActionUpdateField';_.tI=267;function yib(b,a){qib(b,a);}
-function zib(b,a){rib(b,a);}
-function Bib(a,b){a.b=b;return a;}
-function Cib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[617],[16],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[617],[16],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
-function Aib(){}
-_=Aib.prototype=new gU();_.tN=mgc+'CompositeFactPattern';_.tI=268;_.a=null;_.b=null;function ajb(b,a){a.a=Fb(b.Fd(),74);a.b=b.ae();}
-function bjb(b,a){b.hf(a.a);b.jf(a.b);}
-function djb(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[618],[17],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[618],[17],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
-function fjb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[618],[17],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
-function cjb(){}
-_=cjb.prototype=new gU();_.tN=mgc+'CompositeFieldConstraint';_.tI=269;_.a=null;_.b=null;function ijb(b,a){a.a=b.ae();a.b=Fb(b.Fd(),75);}
-function jjb(b,a){b.jf(a.a);b.hf(a.b);}
-function hkb(){}
-_=hkb.prototype=new gU();_.tN=mgc+'ISingleFieldConstraint';_.tI=270;_.e=0;_.f=null;function kjb(){}
-_=kjb.prototype=new hkb();_.tN=mgc+'ConnectiveConstraint';_.tI=271;_.a=null;function ojb(b,a){a.a=b.ae();lkb(b,a);}
-function pjb(b,a){b.jf(a.a);mkb(b,a);}
-function sjb(b){var a;a=new qjb();a.a=b.a;return a;}
-function tjb(e){var a,b,c,d;b=kV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
-function yjb(){return tjb(this);}
-function qjb(){}
-_=qjb.prototype=new gU();_.tS=yjb;_.tN=mgc+'DSLSentence';_.tI=272;_.a=null;function wjb(b,a){a.a=b.ae();}
-function xjb(b,a){b.jf(a.a);}
-function Ajb(b,a){b.c=a;return b;}
-function Bjb(b,a){if(b.b===null)b.b=new cjb();djb(b.b,a);}
-function Djb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[618],[17],[0],null);}else{return a.b.b;}}
-function Ejb(a){if(a.a!==null&& !FU('',a.a)){return true;}else{return false;}}
-function Fjb(b,a){fjb(b.b,a);}
-function zjb(){}
-_=zjb.prototype=new gU();_.tN=mgc+'FactPattern';_.tI=273;_.a=null;_.b=null;_.c=null;function ckb(b,a){a.a=b.ae();a.b=Fb(b.Fd(),31);a.c=b.ae();}
-function dkb(b,a){b.jf(a.a);b.hf(a.b);b.jf(a.c);}
-function lkb(b,a){a.e=b.Dd();a.f=b.ae();}
-function mkb(b,a){b.ff(a.e);b.jf(a.f);}
-function pkb(b,a,c){b.a=a;b.b=c;return b;}
-function vkb(){var a;a=rU(new qU());tU(a,this.a);if(FU('no-loop',this.a)){tU(a,' ');tU(a,this.b===null?'true':this.b);}else if(FU('salience',this.a)){tU(a,' ');tU(a,this.b);}else if(this.b!==null){tU(a,' "');tU(a,this.b);tU(a,'"');}return xU(a);}
-function okb(){}
-_=okb.prototype=new gU();_.tS=vkb;_.tN=mgc+'RuleAttribute';_.tI=274;_.a=null;_.b=null;function tkb(b,a){a.a=b.ae();a.b=b.ae();}
-function ukb(b,a){b.jf(a.a);b.jf(a.b);}
-function xkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[623],[21],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[624],[22],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[625],[23],[0],null);}
-function ykb(a){xkb(a);return a;}
-function zkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[623],[21],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function Akb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[624],[22],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[624],[22],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
-function Bkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[625],[23],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[625],[23],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
-function Dkb(h){var a,b,c,d,e,f,g;g=oY(new mY());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,16)){b=Fb(f,16);if(Ejb(b)){qY(g,b.a);}for(e=0;e<Djb(b).a;e++){c=Djb(b)[e];if(ac(c,32)){a=Fb(c,32);if(olb(a)){qY(g,a.b);}}}}}return g;}
-function Ekb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],16)){b=Fb(c.b[a],16);if(b.a!==null&&FU(d,b.a)){return b;}}}return null;}
-function Fkb(d){var a,b,c;if(d.b===null){return null;}b=oY(new mY());for(a=0;a<d.b.a;a++){if(ac(d.b[a],16)){c=Fb(d.b[a],16);if(c.a!==null){qY(b,c.a);}}}return b;}
-function alb(k,b){var a,c,d,e,f,g,h,i,j;j=oY(new mY());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,16)){d=Fb(i,16);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(olb(a)){qY(j,a.b);}}}}if(Ejb(d)){qY(j,d.a);}}else{if(Ejb(d)){qY(j,d.a);}}}}return j;}
-function blb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],28)){d=Fb(e.e[b],28);if(FU(d.a,a)){return true;}}else if(ac(e.e[b],27)){c=Fb(e.e[b],27);if(FU(c.a,a)){return true;}}}return false;}
-function clb(b,a){return uY(Dkb(b),a);}
-function dlb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[623],[21],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function elb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[624],[22],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],16)){e=Fb(f.b[a],16);if(e.a!==null&&blb(f,e.a)){return false;}}}}f.b=d;return true;}
-function flb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[625],[23],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
-function wkb(){}
-_=wkb.prototype=new gU();_.tN=mgc+'RuleModel';_.tI=275;_.c='1.0';_.d=null;function ilb(b,a){a.a=Fb(b.Fd(),76);a.b=Fb(b.Fd(),77);a.c=b.ae();a.d=b.ae();a.e=Fb(b.Fd(),78);}
-function jlb(b,a){b.hf(a.a);b.hf(a.b);b.jf(a.c);b.jf(a.d);b.hf(a.e);}
-function llb(b,a){b.c=a;return b;}
-function mlb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',616,15,[new kjb()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[616],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new kjb();c.a=b;}}
-function olb(a){if(a.b!==null&& !FU('',a.b)){return true;}else{return false;}}
-function klb(){}
-_=klb.prototype=new hkb();_.tN=mgc+'SingleFieldConstraint';_.tI=276;_.a=null;_.b=null;_.c=null;_.d=null;function rlb(b,a){a.a=Fb(b.Fd(),79);a.b=b.ae();a.c=b.ae();a.d=b.ae();lkb(b,a);}
-function slb(b,a){b.hf(a.a);b.jf(a.b);b.jf(a.c);b.jf(a.d);mkb(b,a);}
-function mmb(d,b,c,a){d.e=c;d.a=a;d.d=zab(new xab());d.f=b;d.b=c.a;d.c=pgb(d.a,c.a);CN(d.d,'model-builderInner-Background');omb(d);or(d,d.d);return d;}
-function omb(e){var a,b,c,d,f;jy(e.d);Cab(e.d,0,0,qmb(e));c=zab(new xab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];Cab(c,a,0,pmb(e,f));Cab(c,a,1,smb(e,f));b=a;d=Dcb(new Ccb(),'images/delete_item_small.gif');nB(d,vlb(new ulb(),e,b));Cab(c,a,2,d);}Cab(e.d,0,1,c);}
-function pmb(a,b){return eC(new cC(),b.a);}
-function qmb(d){var a,b,c;c=hA(new fA());b=Dcb(new Ccb(),'images/add_field_to_fact.gif');b.ve('Add another field to this so you can set its value.');nB(b,fmb(new emb(),d));a='assert';if(ac(d.e,26)){a='assertLogical';}iA(c,idb(new hdb(),cgb(a)+' '+d.e.a,'modeller-action-Label'));iA(c,b);return c;}
-function rmb(d,e){var a,b,c;c=scb(new ncb(),'images/newex_wiz.gif','Add a field');CN(c,'ks-popups-Popup');a=uC(new mC());xC(a,'...');for(b=0;b<d.c.a;b++){xC(a,d.c[b]);}dD(a,0);tcb(c,'Add field',a);wC(a,jmb(new imb(),d,a,c));tE(c,tN(e),uN(e));wE(c);}
-function smb(c,d){var a,b;b=mgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return gqb(d.c,Dlb(new Clb(),c,d),b);}else{a=bL(new sK());DK(a,d.c);vK(a,bmb(new amb(),c,d,a));if(FU(d.b,'Numeric')){wK(a,aob(a));}return a;}}
-function tlb(){}
-_=tlb.prototype=new qab();_.tN=ngc+'ActionInsertFactWidget';_.tI=277;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function vlb(b,a,c){b.a=a;b.b=c;return b;}
-function xlb(b){var a;a=wfb(new nfb(),'Remove this item?',zlb(new ylb(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
-function ulb(){}
-_=ulb.prototype=new gU();_.Bc=xlb;_.tN=ngc+'ActionInsertFactWidget$1';_.tI=278;function zlb(b,a,c){b.a=a;b.b=c;return b;}
-function Blb(){hhb(this.a.a.e,this.b);axb(this.a.a.f);}
-function ylb(){}
-_=ylb.prototype=new gU();_.rb=Blb;_.tN=ngc+'ActionInsertFactWidget$2';_.tI=279;function Dlb(b,a,c){b.a=c;return b;}
-function Flb(a){this.a.c=a;}
-function Clb(){}
-_=Clb.prototype=new gU();_.cf=Flb;_.tN=ngc+'ActionInsertFactWidget$3';_.tI=280;function bmb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function dmb(a){this.c.c=zK(this.b);axb(this.a.f);}
-function amb(){}
-_=amb.prototype=new gU();_.Ac=dmb;_.tN=ngc+'ActionInsertFactWidget$4';_.tI=281;function fmb(b,a){b.a=a;return b;}
-function hmb(a){rmb(this.a,a);}
-function emb(){}
-_=emb.prototype=new gU();_.Bc=hmb;_.tN=ngc+'ActionInsertFactWidget$5';_.tI=282;function jmb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function lmb(c){var a,b;a=DC(this.b,EC(this.b));b=qgb(this.a.a,this.a.e.a,a);fhb(this.a.e,nhb(new mhb(),a,'',b));axb(this.a.f);this.c.nc();}
-function imb(){}
-_=imb.prototype=new gU();_.Ac=lmb;_.tN=ngc+'ActionInsertFactWidget$6';_.tI=283;function umb(c,a,b){c.a=tt(new nt());CN(c.a,'model-builderInner-Background');c.a.Be(0,0,idb(new hdb(),cgb('retract'),'modeller-action-Label'));c.a.Be(0,1,idb(new hdb(),'['+b.a+']','modeller-action-Label'));or(c,c.a);return c;}
-function tmb(){}
-_=tmb.prototype=new mr();_.tN=ngc+'ActionRetractFactWidget';_.tI=284;_.a=null;function znb(e,b,d,a){var c;e.d=d;e.a=a;e.c=zab(new xab());e.e=b;CN(e.c,'model-builderInner-Background');if(tgb(e.a,d.a)){e.b=ogb(e.a,d.a);e.f=Fb(e.a.h.kc(d.a),1);}else{c=Ekb(b.c,d.a);e.b=pgb(e.a,c.c);e.f=c.c;}Bnb(e);or(e,e.c);return e;}
-function Bnb(e){var a,b,c,d,f;jy(e.c);Cab(e.c,0,0,Dnb(e));c=zab(new xab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];Cab(c,a,0,Cnb(e,f));Cab(c,a,1,Fnb(e,f));b=a;d=Dcb(new Ccb(),'images/delete_item_small.gif');nB(d,ymb(new xmb(),e,b));Cab(c,a,2,d);}Cab(e.c,0,1,c);}
-function Cnb(a,b){return eC(new cC(),b.a);}
-function Dnb(d){var a,b,c;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve('Add another field to this so you can set its value.');nB(a,anb(new Fmb(),d));c='set';if(ac(d.d,29)){c='modify';}iA(b,idb(new hdb(),cgb(c)+' ['+d.d.a+']','modeller-action-Label'));iA(b,a);return b;}
-function Enb(d,e){var a,b,c;c=scb(new ncb(),'images/newex_wiz.gif','Add a field');CN(c,'ks-popups-Popup');a=uC(new mC());xC(a,'...');for(b=0;b<d.b.a;b++){xC(a,d.b[b]);}dD(a,0);tcb(c,'Add field',a);wC(a,enb(new dnb(),d,a,c));tE(c,tN(e),uN(e));wE(c);}
-function Fnb(d,f){var a,b,c,e;e='';if(tgb(d.a,d.d.a)){e=Fb(d.a.h.kc(d.d.a),1);}else{e=Ekb(d.e.c,d.d.a).c;}b=mgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return gqb(f.c,inb(new hnb(),d,f),b);}else{c=cH(new AG());a=bL(new sK());DK(a,f.c);if(dV(f.c)!=0){dL(a,dV(f.c));}if(FU(f.b,'Numeric')){wK(a,aob(a));}vK(a,mnb(new lnb(),d,f,a));wK(a,Bbb(new Abb(),qnb(new pnb(),d,a)));eH(c,a);return c;}}
-function aob(a){return unb(new tnb(),a);}
-function bob(){return Bab(this.c);}
-function wmb(){}
-_=wmb.prototype=new qab();_.rc=bob;_.tN=ngc+'ActionSetFieldWidget';_.tI=285;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ymb(b,a,c){b.a=a;b.b=c;return b;}
-function Amb(b){var a;a=wfb(new nfb(),'Remove this item?',Cmb(new Bmb(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
-function xmb(){}
-_=xmb.prototype=new gU();_.Bc=Amb;_.tN=ngc+'ActionSetFieldWidget$1';_.tI=286;function Cmb(b,a,c){b.a=a;b.b=c;return b;}
-function Emb(){hhb(this.a.a.d,this.b);axb(this.a.a.e);}
-function Bmb(){}
-_=Bmb.prototype=new gU();_.rb=Emb;_.tN=ngc+'ActionSetFieldWidget$2';_.tI=287;function anb(b,a){b.a=a;return b;}
-function cnb(a){Enb(this.a,a);}
-function Fmb(){}
-_=Fmb.prototype=new gU();_.Bc=cnb;_.tN=ngc+'ActionSetFieldWidget$3';_.tI=288;function enb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function gnb(c){var a,b;a=DC(this.b,EC(this.b));b=qgb(this.a.a,this.a.f,a);fhb(this.a.d,nhb(new mhb(),a,'',b));axb(this.a.e);this.c.nc();}
-function dnb(){}
-_=dnb.prototype=new gU();_.Ac=gnb;_.tN=ngc+'ActionSetFieldWidget$4';_.tI=289;function inb(b,a,c){b.a=c;return b;}
-function knb(a){this.a.c=a;}
-function hnb(){}
-_=hnb.prototype=new gU();_.cf=knb;_.tN=ngc+'ActionSetFieldWidget$5';_.tI=290;function mnb(b,a,d,c){b.b=d;b.a=c;return b;}
-function onb(a){this.b.c=zK(this.a);}
-function lnb(){}
-_=lnb.prototype=new gU();_.Ac=onb;_.tN=ngc+'ActionSetFieldWidget$6';_.tI=291;function qnb(b,a,c){b.a=c;return b;}
-function snb(){dL(this.a,dV(zK(this.a)));}
-function pnb(){}
-_=pnb.prototype=new gU();_.rb=snb;_.tN=ngc+'ActionSetFieldWidget$7';_.tI=292;function unb(a,b){a.a=b;return a;}
-function wnb(a,b,c){}
-function xnb(c,a,b){if(wS(a)&&a!=61&& !hV(zK(this.a),'=')){xK(Fb(c,80));}}
-function ynb(a,b,c){}
-function tnb(){}
-_=tnb.prototype=new gU();_.ed=wnb;_.fd=xnb;_.gd=ynb;_.tN=ngc+'ActionSetFieldWidget$8';_.tI=293;function lob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=zab(new xab());CN(d.b,'model-builderInner-Background');nob(d);or(d,d.b);return d;}
-function nob(c){var a,b,d;Cab(c.b,0,0,oob(c));if(c.d.a!==null){d=fbb(new ebb());a=c.d.a;for(b=0;b<a.a;b++){qO(d,Esb(new Cqb(),c.c,a[b],c.a,false));}Cab(c.b,0,1,d);}}
-function oob(c){var a,b;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");nB(a,eob(new dob(),c));iA(b,eC(new cC(),dgb(c.d.b)));iA(b,a);CN(b,'modeller-composite-Label');return b;}
-function pob(e,f){var a,b,c,d;a=uC(new mC());b=e.a.e;xC(a,'Choose...');for(c=0;c<b.a;c++){xC(a,b[c]);}dD(a,0);d=scb(new ncb(),'images/new_fact.gif','New fact pattern...');tcb(d,'choose fact type',a);wC(a,iob(new hob(),e,a,d));CN(d,'ks-popups-Popup');tE(d,tN(f)-400,uN(f));wE(d);}
-function qob(){return Bab(this.b);}
-function cob(){}
-_=cob.prototype=new qab();_.rc=qob;_.tN=ngc+'CompositeFactPatternWidget';_.tI=294;_.a=null;_.b=null;_.c=null;_.d=null;function eob(b,a){b.a=a;return b;}
-function gob(a){pob(this.a,a);}
-function dob(){}
-_=dob.prototype=new gU();_.Bc=gob;_.tN=ngc+'CompositeFactPatternWidget$1';_.tI=295;function iob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kob(a){Cib(this.a.d,Ajb(new zjb(),DC(this.b,EC(this.b))));axb(this.a.c);this.c.nc();}
-function hob(){}
-_=hob.prototype=new gU();_.Ac=kob;_.tN=ngc+'CompositeFactPatternWidget$2';_.tI=296;function Cpb(f,d,b,a,c,g){var e;f.a=a;if(FU(g,'Numeric')){f.d=true;}else{f.d=false;}if(FU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',609,1,['true','false']);}f.c=c.c;e=c.a;f.b=ngb(e,d,b);f.e=cH(new AG());bqb(f);or(f,f.e);return f;}
-function Dpb(c,b){var a;a=bL(new sK());CN(a,'constraint-value-Editor');if(b.f===null){DK(a,'');}else{DK(a,b.f);}if(b.f===null||dV(b.f)<5){dL(a,3);}else{dL(a,dV(b.f)-1);}vK(a,mpb(new lpb(),c,b,a));wK(a,Bbb(new Abb(),qpb(new ppb(),c,a)));return a;}
-function Fpb(b,a){bqb(b);a.nc();}
-function aqb(b){var a;if(b.b!==null){return gqb(b.a.f,Fob(new Eob(),b),b.b);}else{a=Dpb(b,b.a);if(b.d){wK(a,new cpb());}a.ve('This is a literal value. What is shown is what the field is checked against.');return a;}}
-function bqb(b){var a;b.e.cb();if(b.a.e==0){a=mB(new wA(),'images/edit.gif');nB(a,xob(new sob(),b));eH(b.e,a);}else{switch(b.a.e){case 1:eH(b.e,aqb(b));break;case 3:eH(b.e,cqb(b));break;case 2:eH(b.e,eqb(b));break;default:break;}}}
-function cqb(e){var a,b,c,d;a=Dpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=mB(new wA(),'images/function_assets.gif');c.ve(d);a.ve(d);b=fqb(e,c,a);return b;}
-function dqb(e,g,a){var b,c,d,f;b=scb(new ncb(),'images/newex_wiz.gif','Field value');d=yp(new sp(),'Literal value');d.z(upb(new tpb(),e,a,b));tcb(b,'Literal value:',fqb(e,d,fdb(new adb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));ucb(b,mz(new pw(),'<hr/>'));ucb(b,idb(new hdb(),'Advanced options','weak-Text'));if(alb(e.c,e.a).b>0){f=yp(new sp(),'Bound variable');f.z(ypb(new xpb(),e,a,b));tcb(b,'A variable:',fqb(e,f,fdb(new adb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=yp(new sp(),'New formula');c.z(uob(new tob(),e,a,b));tcb(b,'A formula:',fqb(e,c,fdb(new adb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));tE(b,tN(g),uN(g));wE(b);}
-function eqb(c){var a,b,d,e;e=alb(c.c,c.a);a=uC(new mC());if(c.a.f===null){xC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(vY(e,b),1);xC(a,d);if(c.a.f!==null&&FU(c.a.f,d)){dD(a,b);}}wC(a,Bob(new Aob(),c,a));return a;}
-function fqb(d,a,c){var b;b=hA(new fA());iA(b,a);iA(b,c);b.De('100%');return b;}
-function gqb(b,k,d){var a,c,e,f,g,h,i,j;a=uC(new mC());if(b===null||FU('',b)){xC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(aV(i,61)>0){h=iqb(i);f=h[0];c=h[1];j=f;yC(a,c,f);}else{yC(a,i,i);j=i;}if(b!==null&&FU(b,j)){dD(a,e);g=true;}}if(b!==null&& !g){yC(a,b,b);dD(a,d.a);}wC(a,ipb(new hpb(),k,a));return a;}
-function hqb(){return this.j;}
-function iqb(c){var a,b;b=yb('[Ljava.lang.String;',[609],[1],[2],null);a=aV(c,61);b[0]=jV(c,0,a);b[1]=jV(c,a+1,dV(c));return b;}
-function rob(){}
-_=rob.prototype=new qab();_.rc=hqb;_.tN=ngc+'ConstraintValueEditor';_.tI=297;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function xob(b,a){b.a=a;return b;}
-function zob(a){dqb(this.a,a,this.a.a);}
-function sob(){}
-_=sob.prototype=new gU();_.Bc=zob;_.tN=ngc+'ConstraintValueEditor$1';_.tI=298;function uob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function wob(a){this.b.e=3;Fpb(this.a,this.c);}
-function tob(){}
-_=tob.prototype=new gU();_.Bc=wob;_.tN=ngc+'ConstraintValueEditor$10';_.tI=299;function Bob(b,a,c){b.a=a;b.b=c;return b;}
-function Dob(a){this.a.a.f=DC(this.b,EC(this.b));}
-function Aob(){}
-_=Aob.prototype=new gU();_.Ac=Dob;_.tN=ngc+'ConstraintValueEditor$2';_.tI=300;function Fob(b,a){b.a=a;return b;}
-function bpb(a){this.a.a.f=a;}
-function Eob(){}
-_=Eob.prototype=new gU();_.cf=bpb;_.tN=ngc+'ConstraintValueEditor$3';_.tI=301;function epb(a,b,c){}
-function fpb(c,a,b){if(wS(a)){xK(Fb(c,80));}}
-function gpb(a,b,c){}
-function cpb(){}
-_=cpb.prototype=new gU();_.ed=epb;_.fd=fpb;_.gd=gpb;_.tN=ngc+'ConstraintValueEditor$4';_.tI=302;function ipb(a,c,b){a.b=c;a.a=b;return a;}
-function kpb(a){this.b.cf(FC(this.a,EC(this.a)));}
-function hpb(){}
-_=hpb.prototype=new gU();_.Ac=kpb;_.tN=ngc+'ConstraintValueEditor$5';_.tI=303;function mpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function opb(a){this.c.f=zK(this.b);sab(this.a);}
-function lpb(){}
-_=lpb.prototype=new gU();_.Ac=opb;_.tN=ngc+'ConstraintValueEditor$6';_.tI=304;function qpb(b,a,c){b.a=c;return b;}
-function spb(){dL(this.a,dV(zK(this.a)));}
-function ppb(){}
-_=ppb.prototype=new gU();_.rb=spb;_.tN=ngc+'ConstraintValueEditor$7';_.tI=305;function upb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function wpb(a){this.b.e=1;Fpb(this.a,this.c);}
-function tpb(){}
-_=tpb.prototype=new gU();_.Bc=wpb;_.tN=ngc+'ConstraintValueEditor$8';_.tI=306;function ypb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Apb(a){this.b.e=2;Fpb(this.a,this.c);}
-function xpb(){}
-_=xpb.prototype=new gU();_.Bc=Apb;_.tN=ngc+'ConstraintValueEditor$9';_.tI=307;function vqb(b,a){b.a=abb(new Fab());b.c=oY(new mY());b.b=a;yqb(b);return b;}
-function wqb(b,a){iA(b.a,a);qY(b.c,a);}
-function yqb(a){zqb(a,a.b.a);or(a,a.a);}
-function zqb(g,e){var a,b,c,d,f;b=kV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=qqb(new oqb(),g);wqb(g,c);}else if(a==125){uqb(c,dV(sqb(c))+1);c=null;}else{if(c===null&&d===null){d=dC(new cC());wqb(g,d);}if(d!==null){jC(d,iC(d)+Eb(a));}else if(c!==null){tqb(c,sqb(c)+Eb(a));}}}}
-function Aqb(c){var a,b,d;b='';for(a=c.c.sc();a.mc();){d=Fb(a.uc(),20);if(ac(d,81)){b=b+iC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+sqb(Fb(d,82))+'} ';}}c.b.a=mV(b);}
-function Bqb(){return cbb(this.a);}
-function jqb(){}
-_=jqb.prototype=new qab();_.rc=Bqb;_.tN=ngc+'DSLSentenceWidget';_.tI=308;_.a=null;_.b=null;_.c=null;function lqb(b,a){b.a=a;return b;}
-function nqb(a){Aqb(this.a.c);sab(this.a);}
-function kqb(){}
-_=kqb.prototype=new gU();_.Ac=nqb;_.tN=ngc+'DSLSentenceWidget$1';_.tI=309;function pqb(a){a.b=hA(new fA());}
-function qqb(b,a){b.c=a;pqb(b);b.a=bL(new sK());iA(b.b,mz(new pw(),'&nbsp;'));iA(b.b,b.a);iA(b.b,mz(new pw(),'&nbsp;'));vK(b.a,lqb(new kqb(),b));or(b,b.b);return b;}
-function sqb(a){return zK(a.a);}
-function tqb(b,a){DK(b.a,a);}
-function uqb(b,a){dL(b.a,a);}
-function oqb(){}
-_=oqb.prototype=new qab();_.tN=ngc+'DSLSentenceWidget$FieldEditor';_.tI=310;_.a=null;function Dsb(a){a.c=zab(new xab());}
-function Esb(k,h,i,c,a){var b,d,e,f,g,j;Dsb(k);k.e=Fb(i,16);k.b=c;k.d=h;k.a=a;Cab(k.c,0,0,gtb(k));f=wt(k.c);dx(f,0,0,(wz(),xz),(Fz(),bA));gx(f,0,0,'modeller-fact-TypeHeader');g=zab(new xab());Cab(k.c,1,0,g);for(j=0;j<Djb(k.e).a;j++){d=Djb(k.e)[j];e=j;jtb(k,g,j,d,true);b=Dcb(new Ccb(),'images/delete_item_small.gif');b.ve('Remove this whole restriction');nB(b,Arb(new Dqb(),k,e));Cab(g,j,5,b);}if(k.a)CN(k.c,'modeller-fact-pattern-Widget');or(k,k.c);return k;}
-function atb(j,b){var a,c,d,e,f,g,h,i;f=hA(new fA());d=null;e=Dcb(new Ccb(),'images/add_field_to_fact.gif');e.ve('Add a field to this nested constraint.');nB(e,Erb(new Drb(),j,b));if(FU(b.a,'&&')){d='All of:';}else{d='Any of:';}iA(f,e);iA(f,mz(new pw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=zab(new xab());CN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){jtb(j,h,g,i[g],false);c=g;a=Dcb(new Ccb(),'images/delete_item_small.gif');a.ve('Remove this (nested) restriction');nB(a,csb(new bsb(),j,b,c));Cab(h,g,5,a);}}iA(f,h);return f;}
-function btb(g,b,c){var a,d,e,f;f=lgb(g.b,g.e.c,c);a=uC(new mC());xC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];yC(a,egb(e),e);if(FU(e,b.a)){dD(a,d+1);}}wC(a,lrb(new krb(),g,b,a));return a;}
-function ctb(d,a,b,c){var e;e=qgb(d.d.a,b,c);return Cpb(new rob(),d.e,c,a,d.d,e);}
-function dtb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=abb(new Fab());for(e=0;e<a.a.a;e++){b=a.a[e];iA(d,btb(f,b,a.c));iA(d,ctb(f,b,c,a.c));}return d;}else{return null;}}
-function etb(c,b){var a,d,e;if(c.a&& !blb(c.d.c,c.e.a)){d=hA(new fA());e=bL(new sK());if(c.e.a===null){DK(e,'');}else{DK(e,c.e.a);}dL(e,3);iA(d,e);a=yp(new sp(),'Set');a.z(hrb(new grb(),c,e,b));iA(d,a);tcb(b,'Variable name',d);}}
-function ftb(e,c,d){var a,b;a=hA(new fA());CN(a,'modeller-field-Label');if(!olb(c)){if(e.a&&d){b=Ecb(new Ccb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');nB(b,trb(new srb(),e,c));iA(a,b);}}else{iA(a,eC(new cC(),'['+c.b+']'));}iA(a,eC(new cC(),c.c));return a;}
-function gtb(c){var a,b;b=hA(new fA());a=Dcb(new Ccb(),'images/add_field_to_fact.gif');a.ve('Add a field to this condition, or bind a varible to this fact.');nB(a,osb(new nsb(),c));if(c.e.a!==null){iA(b,eC(new cC(),'['+c.e.a+'] '+c.e.c));}else{iA(b,eC(new cC(),c.e.c));}iA(b,a);return b;}
-function htb(f,b){var a,c,d,e;e=sgb(f.b,f.e.c,b.c);a=uC(new mC());xC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];yC(a,egb(d),d);if(FU(d,b.d)){dD(a,c+1);}}wC(a,prb(new orb(),f,b,a));return a;}
-function itb(e,b){var a,c,d;d=hA(new fA());d.De('100%');c=mB(new wA(),'images/function_assets.gif');c.ve('This is a formula expression that is evaluated to be true or false.');iA(d,c);if(b.f===null){b.f='';}a=bL(new sK());DK(a,b.f);vK(a,ksb(new jsb(),e,b,a));a.De('100%');iA(d,a);return d;}
-function jtb(e,b,c,a,d){if(ac(a,32)){ktb(e,e.d,b,c,a,d);}else if(ac(a,31)){Cab(b,c,0,atb(e,Fb(a,31)));rt(wt(b),c,0,5);}}
-function ktb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){Cab(d,f,0,ftb(h,b,g));Cab(d,f,1,htb(h,b));Cab(d,f,2,otb(h,b,h.e.c));Cab(d,f,3,dtb(h,b,h.e.c));a=Dcb(new Ccb(),'images/add_connective.gif');a.ve('Add more options to this fields values.');nB(a,gsb(new fsb(),h,b,e));Cab(d,f,4,a);}else if(b.e==5){Cab(d,f,0,itb(h,b));rt(wt(d),f,0,5);}}
-function ltb(d,g,a){var b,c,e,f;c=scb(new ncb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=kp(new jp());e=bL(new sK());b=yp(new sp(),'Set');lp(f,e);lp(f,b);b.z(xrb(new wrb(),d,e,a,c));tcb(c,'Variable name',f);tE(c,tN(g),uN(g));wE(c);}
-function ntb(i,j){var a,b,c,d,e,f,g,h;g=scb(new ncb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);CN(g,'ks-popups-Popup');a=uC(new mC());xC(a,'...');c=pgb(i.b,i.e.c);for(e=0;e<c.a;e++){xC(a,c[e]);}dD(a,0);wC(a,Asb(new zsb(),i,a,g));tcb(g,'Add a restriction on a field',a);b=uC(new mC());xC(b,'...');yC(b,'All of (And)','&&');yC(b,'Any of (Or)','||');dD(b,0);wC(b,Fqb(new Eqb(),i,b,g));f=fdb(new adb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=hA(new fA());iA(d,b);iA(d,f);tcb(g,'Multiple field constraint',d);ucb(g,idb(new hdb(),'Advanced options','weak-Text'));h=yp(new sp(),'New formula');h.z(drb(new crb(),i,g));tcb(g,'Add a new formula style expression',h);etb(i,g);tE(g,tN(j),uN(j));wE(g);}
-function mtb(i,j,b){var a,c,d,e,f,g,h;h=scb(new ncb(),'images/newex_wiz.gif','Add fields to this constraint');CN(h,'ks-popups-Popup');a=uC(new mC());xC(a,'...');d=pgb(i.b,i.e.c);for(f=0;f<d.a;f++){xC(a,d[f]);}dD(a,0);wC(a,ssb(new rsb(),i,b,a,h));tcb(h,'Add a restriction on a field',a);c=uC(new mC());xC(c,'...');yC(c,'All of (And)','&&');yC(c,'Any of (Or)','||');dD(c,0);wC(c,wsb(new vsb(),i,c,b,h));g=fdb(new adb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=hA(new fA());iA(e,c);iA(e,g);tcb(h,'Multiple field constraint',e);tE(h,tN(j),uN(j));wE(h);}
-function otb(c,a,b){var d;d=qgb(c.d.a,b,a.c);return Cpb(new rob(),c.e,a.c,a,c.d,d);}
-function ptb(){return Bab(this.c);}
-function Cqb(){}
-_=Cqb.prototype=new qab();_.rc=ptb;_.tN=ngc+'FactPatternWidget';_.tI=311;_.a=false;_.b=null;_.d=null;_.e=null;function Arb(b,a,c){b.a=a;b.b=c;return b;}
-function Crb(a){if(Bh('Remove this item?')){Fjb(this.a.e,this.b);axb(this.a.d);}}
-function Dqb(){}
-_=Dqb.prototype=new gU();_.Bc=Crb;_.tN=ngc+'FactPatternWidget$1';_.tI=312;function Fqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function brb(b){var a;a=new cjb();a.a=FC(this.b,EC(this.b));Bjb(this.a.e,a);axb(this.a.d);this.c.nc();}
-function Eqb(){}
-_=Eqb.prototype=new gU();_.Ac=brb;_.tN=ngc+'FactPatternWidget$10';_.tI=313;function drb(b,a,c){b.a=a;b.b=c;return b;}
-function frb(b){var a;a=new klb();a.e=5;Bjb(this.a.e,a);axb(this.a.d);this.b.nc();}
-function crb(){}
-_=crb.prototype=new gU();_.Bc=frb;_.tN=ngc+'FactPatternWidget$11';_.tI=314;function hrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function jrb(b){var a;a=zK(this.c);if(Fwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=zK(this.c);axb(this.a.d);this.b.nc();}
-function grb(){}
-_=grb.prototype=new gU();_.Bc=jrb;_.tN=ngc+'FactPatternWidget$12';_.tI=315;function lrb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nrb(a){this.b.a=FC(this.a,EC(this.a));}
-function krb(){}
-_=krb.prototype=new gU();_.Ac=nrb;_.tN=ngc+'FactPatternWidget$13';_.tI=316;function prb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rrb(a){this.c.d=FC(this.b,EC(this.b));sab(this.a.d);zV(),CV;}
-function orb(){}
-_=orb.prototype=new gU();_.Ac=rrb;_.tN=ngc+'FactPatternWidget$14';_.tI=317;function trb(b,a,c){b.a=a;b.b=c;return b;}
-function vrb(a){ltb(this.a,a,this.b);}
-function srb(){}
-_=srb.prototype=new gU();_.Bc=vrb;_.tN=ngc+'FactPatternWidget$15';_.tI=318;function xrb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function zrb(b){var a;a=zK(this.d);if(Fwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;axb(this.a.d);this.c.nc();}
-function wrb(){}
-_=wrb.prototype=new gU();_.Bc=zrb;_.tN=ngc+'FactPatternWidget$16';_.tI=319;function Erb(b,a,c){b.a=a;b.b=c;return b;}
-function asb(a){mtb(this.a,a,this.b);}
-function Drb(){}
-_=Drb.prototype=new gU();_.Bc=asb;_.tN=ngc+'FactPatternWidget$2';_.tI=320;function csb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function esb(a){if(Bh('Remove this item from nested constraint?')){fjb(this.b,this.c);axb(this.a.d);}}
-function bsb(){}
-_=bsb.prototype=new gU();_.Bc=esb;_.tN=ngc+'FactPatternWidget$3';_.tI=321;function gsb(b,a,c,d){b.a=c;b.b=d;return b;}
-function isb(a){mlb(this.a);axb(this.b);}
-function fsb(){}
-_=fsb.prototype=new gU();_.Bc=isb;_.tN=ngc+'FactPatternWidget$4';_.tI=322;function ksb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function msb(a){this.c.f=zK(this.b);sab(this.a.d);}
-function jsb(){}
-_=jsb.prototype=new gU();_.Ac=msb;_.tN=ngc+'FactPatternWidget$5';_.tI=323;function osb(b,a){b.a=a;return b;}
-function qsb(a){ntb(this.a,a);}
-function nsb(){}
-_=nsb.prototype=new gU();_.Bc=qsb;_.tN=ngc+'FactPatternWidget$6';_.tI=324;function ssb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function usb(a){djb(this.c,llb(new klb(),DC(this.b,EC(this.b))));axb(this.a.d);this.d.nc();}
-function rsb(){}
-_=rsb.prototype=new gU();_.Ac=usb;_.tN=ngc+'FactPatternWidget$7';_.tI=325;function wsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function ysb(b){var a;a=new cjb();a.a=FC(this.c,EC(this.c));djb(this.b,a);axb(this.a.d);this.d.nc();}
-function vsb(){}
-_=vsb.prototype=new gU();_.Ac=ysb;_.tN=ngc+'FactPatternWidget$8';_.tI=326;function Asb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Csb(a){Bjb(this.a.e,llb(new klb(),DC(this.b,EC(this.b))));axb(this.a.d);this.c.nc();}
-function zsb(){}
-_=zsb.prototype=new gU();_.Ac=Csb;_.tN=ngc+'FactPatternWidget$9';_.tI=327;function hub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=ccb(new acb());b=d.a;for(c=0;c<b.a;c++){a=b[c];ecb(f.a,a.a,kub(f,a,c));}or(f,f.a);return f;}
-function iub(c,a){var b;b=iq(new hq());if(a.b===null){oq(b,true);a.b='true';}else{oq(b,FU(a.b,'true'));}b.z(stb(new rtb(),c,a,b));return b;}
-function kub(e,a,d){var b,c;if(FU(a.a,'no-loop')){return lub(e,d);}b=null;if(FU(a.a,'enabled')||FU(a.a,'auto-focus')||FU(a.a,'lock-on-active')){b=iub(e,a);}else{b=mub(e,a);}c=abb(new Fab());iA(c,b);iA(c,lub(e,d));return c;}
-function lub(c,a){var b;b=mB(new wA(),'images/delete_item_small.gif');nB(b,aub(new Ftb(),c,a));return b;}
-function mub(c,a){var b;b=bL(new sK());dL(b,dV(a.b)<3?3:dV(a.b));DK(b,a.b);vK(b,wtb(new vtb(),c,a,b));if(FU(a.a,'date-effective')||FU(a.a,'date-expires')){if(a.b===null||FU('',a.b))DK(b,'dd-MMM-yyyy');dL(b,10);}wK(b,Atb(new ztb(),c,b));return b;}
-function nub(){var a;a=uC(new mC());xC(a,'Choose...');xC(a,'salience');xC(a,'enabled');xC(a,'date-effective');xC(a,'date-expires');xC(a,'no-loop');xC(a,'agenda-group');xC(a,'activation-group');xC(a,'duration');xC(a,'auto-focus');xC(a,'lock-on-active');xC(a,'ruleflow-group');xC(a,'dialect');return a;}
-function oub(){return this.a.rc();}
-function qtb(){}
-_=qtb.prototype=new qab();_.rc=oub;_.tN=ngc+'RuleAttributeWidget';_.tI=328;_.a=null;_.b=null;_.c=null;function stb(b,a,c,d){b.a=c;b.b=d;return b;}
-function utb(a){this.a.b=nq(this.b)?'true':'false';}
-function rtb(){}
-_=rtb.prototype=new gU();_.Bc=utb;_.tN=ngc+'RuleAttributeWidget$1';_.tI=329;function wtb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ytb(a){this.b.b=zK(this.c);sab(this.a);}
-function vtb(){}
-_=vtb.prototype=new gU();_.Ac=ytb;_.tN=ngc+'RuleAttributeWidget$2';_.tI=330;function Atb(b,a,c){b.a=c;return b;}
-function Ctb(a,b,c){}
-function Dtb(a,b,c){}
-function Etb(a,b,c){dL(this.a,dV(zK(this.a)));}
-function ztb(){}
-_=ztb.prototype=new gU();_.ed=Ctb;_.fd=Dtb;_.gd=Etb;_.tN=ngc+'RuleAttributeWidget$3';_.tI=331;function aub(b,a,c){b.a=a;b.b=c;return b;}
-function cub(b){var a;a=wfb(new nfb(),'Remove this rule option?',eub(new dub(),this,this.b));tE(a,tN(b),uN(b));wE(a);}
-function Ftb(){}
-_=Ftb.prototype=new gU();_.Bc=cub;_.tN=ngc+'RuleAttributeWidget$4';_.tI=332;function eub(b,a,c){b.a=a;b.b=c;return b;}
-function gub(){dlb(this.a.a.b,this.b);axb(this.a.a.c);}
-function dub(){}
-_=dub.prototype=new gU();_.rb=gub;_.tN=ngc+'RuleAttributeWidget$5';_.tI=333;function uwb(b,a){b.c=Fb(a.b,83);b.a=dLb((bLb(),gLb),a.d.o);b.b=zab(new xab());Ewb(b);CN(b.b,'model-builder-Background');or(b,b.b);b.De('100%');b.se('100%');return b;}
-function vwb(b,a){Bkb(b.c,mib(new kib(),a));axb(b);}
-function wwb(b,a){Bkb(b.c,uib(new sib(),a));axb(b);}
-function xwb(b,a){Akb(b.c,Bib(new Aib(),a));axb(b);}
-function ywb(b,a){Akb(b.c,sjb(a));axb(b);}
-function zwb(b,a){Bkb(b.c,sjb(a));axb(b);}
-function Awb(b,a){Akb(b.c,Ajb(new zjb(),a));axb(b);}
-function Bwb(a,b){Bkb(a.c,eib(new dib(),b));axb(a);}
-function Dwb(b){var a;a=Dcb(new Ccb(),'images/new_item.gif');a.ve('Add an option to the rule, to modify its behavior when evaluated or executed.');nB(a,zvb(new yvb(),b));return a;}
-function Ewb(c){var a,b;jy(c.b);b=Dcb(new Ccb(),'images/new_item.gif');b.ve('Add a condition to this rule.');nB(b,rvb(new qub(),c));Cab(c.b,0,0,eC(new cC(),'WHEN'));Cab(c.b,0,2,b);Cab(c.b,1,1,bxb(c,c.c));Cab(c.b,2,0,eC(new cC(),'THEN'));a=Dcb(new Ccb(),'images/new_item.gif');a.ve('Add an action to this rule.');nB(a,vvb(new uvb(),c));Cab(c.b,2,2,a);Cab(c.b,3,1,cxb(c,c.c));Cab(c.b,4,0,eC(new cC(),'(options)'));Cab(c.b,4,2,Dwb(c));Cab(c.b,5,1,hub(new qtb(),c,c.c));}
-function Fwb(b,a){return clb(b.c,a)||tgb(b.a,a);}
-function axb(a){Ewb(a);sab(a);}
-function bxb(e,c){var a,b,d,f,g;f=fbb(new ebb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,16)){g=Esb(new Cqb(),e,d,e.a,true);qO(f,hxb(e,c,b,g));qO(f,gxb(e));}else if(ac(d,30)){g=lob(new cob(),e,Fb(d,30),e.a);qO(f,hxb(e,c,b,g));qO(f,gxb(e));}else if(ac(d,14)){}else{throw mU(new lU(),"I don't know what type of pattern that is.");}}a=fbb(new ebb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,14)){g=vqb(new jqb(),Fb(d,14));qO(a,hxb(e,c,b,g));CN(a,'model-builderInner-Background');}}qO(f,a);return f;}
-function cxb(g,e){var a,b,c,d,f,h,i;h=fbb(new ebb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,28)){i=znb(new wmb(),g,Fb(a,28),g.a);}else if(ac(a,25)){i=mmb(new tlb(),g,Fb(a,25),g.a);}else if(ac(a,27)){i=umb(new tmb(),g.a,Fb(a,27));}else if(ac(a,14)){i=vqb(new jqb(),Fb(a,14));CN(i,'model-builderInner-Background');}qO(h,gxb(g));b=abb(new Fab());f=Dcb(new Ccb(),'images/delete_item_small.gif');f.ve('Remove this action.');d=c;nB(f,bwb(new awb(),g,e,d));iA(b,i);if(!ac(i,84)){i.De('100%');b.De('100%');}iA(b,f);qO(h,b);}return h;}
-function dxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=scb(new ncb(),'images/new_fact.gif','Add a new action...');CN(k,'ks-popups-Popup');q=Fkb(n.c);p=uC(new mC());l=uC(new mC());j=uC(new mC());xC(p,'Choose ...');xC(l,'Choose ...');xC(j,'Choose ...');for(i=q.sc();i.mc();){o=Fb(i.uc(),1);xC(p,o);xC(l,o);xC(j,o);}d=rgb(n.a);for(f=0;f<d.a;f++){xC(p,d[f]);}dD(p,0);wC(p,sub(new rub(),n,p,k));wC(l,wub(new vub(),n,l,k));wC(j,Aub(new zub(),n,j,k));if(CC(p)>1){tcb(k,'Set the values of a field on',p);}if(CC(j)>1){e=hA(new fA());iA(e,j);g=mB(new wA(),'images/information.gif');g.ve('Modify a field on a fact, and notify the engine to re-evaluate rules.');iA(e,g);tcb(k,'Modify a fact',e);}if(CC(l)>1){tcb(k,'Retract the fact',l);}b=uC(new mC());c=uC(new mC());xC(b,'Choose ...');xC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];xC(b,h);xC(c,h);}wC(b,Eub(new Dub(),n,b,k));wC(c,cvb(new bvb(),n,c,k));if(CC(b)>1){tcb(k,'Insert a new fact',b);e=hA(new fA());iA(e,c);g=mB(new wA(),'images/inf!
 ormation.gif');g.ve('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');iA(e,g);tcb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=uC(new mC());xC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];yC(a,tjb(m),pT(f));}wC(a,gvb(new fvb(),n,a,k));tcb(k,'DSL sentence',a);}tE(k,dc(ai()/3),dc(Fh()/3));wE(k);}
-function exb(c,d){var a,b;b=scb(new ncb(),'images/config.png','Add an option to the rule');a=nub();dD(a,0);wC(a,Dvb(new Cvb(),c,a,b));CN(b,'ks-popups-Popup');tcb(b,'Attribute',a);tE(b,tN(d)-400,uN(d));wE(b);}
-function fxb(j,k){var a,b,c,d,e,f,g,h,i;h=scb(new ncb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=uC(new mC());yC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){xC(e,f[g]);}dD(e,0);if(f.a>0)tcb(h,'Fact',e);wC(e,jwb(new iwb(),j,e,h));CN(h,'ks-popups-Popup');c=(Efb(),Ffb);b=uC(new mC());yC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];yC(b,dgb(a),a);}dD(b,0);if(f.a>0)tcb(h,'Condition type',b);wC(b,nwb(new mwb(),j,b,h));if(j.a.b.a>0){d=uC(new mC());xC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];yC(d,tjb(i),pT(g));}wC(d,rwb(new qwb(),j,d,h));tcb(h,'DSL sentence',d);}tE(h,tN(k)-400,uN(k));wE(h);}
-function gxb(b){var a;a=mz(new pw(),'&nbsp;');a.se('2px');return a;}
-function hxb(f,d,b,g){var a,c,e;a=abb(new Fab());e=Dcb(new Ccb(),'images/delete_item_small.gif');e.ve('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;nB(e,kvb(new jvb(),f,d,c));a.De('100%');g.De('100%');iA(a,g);iA(a,e);return a;}
-function ixb(){return Bab(this.b)||this.j;}
-function pub(){}
-_=pub.prototype=new qab();_.rc=ixb;_.tN=ngc+'RuleModeller';_.tI=334;_.a=null;_.b=null;_.c=null;function rvb(b,a){b.a=a;return b;}
-function tvb(a){fxb(this.a,a);}
-function qub(){}
-_=qub.prototype=new gU();_.Bc=tvb;_.tN=ngc+'RuleModeller$1';_.tI=335;function sub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function uub(a){vwb(this.a,DC(this.c,EC(this.c)));this.b.nc();}
-function rub(){}
-_=rub.prototype=new gU();_.Ac=uub;_.tN=ngc+'RuleModeller$10';_.tI=336;function wub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function yub(a){Bwb(this.a,DC(this.c,EC(this.c)));this.b.nc();}
-function vub(){}
-_=vub.prototype=new gU();_.Ac=yub;_.tN=ngc+'RuleModeller$11';_.tI=337;function Aub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Cub(a){wwb(this.a,DC(this.b,EC(this.b)));this.c.nc();}
-function zub(){}
-_=zub.prototype=new gU();_.Ac=Cub;_.tN=ngc+'RuleModeller$12';_.tI=338;function Eub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function avb(b){var a;a=DC(this.b,EC(this.b));Bkb(this.a.c,vhb(new thb(),a));axb(this.a);this.c.nc();}
-function Dub(){}
-_=Dub.prototype=new gU();_.Ac=avb;_.tN=ngc+'RuleModeller$13';_.tI=339;function cvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function evb(b){var a;a=DC(this.b,EC(this.b));Bkb(this.a.c,Dhb(new Bhb(),a));axb(this.a);this.c.nc();}
-function bvb(){}
-_=bvb.prototype=new gU();_.Ac=evb;_.tN=ngc+'RuleModeller$14';_.tI=340;function gvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ivb(b){var a;a=nT(FC(this.b,EC(this.b)));zwb(this.a,this.a.a.a[a]);this.c.nc();}
-function fvb(){}
-_=fvb.prototype=new gU();_.Ac=ivb;_.tN=ngc+'RuleModeller$15';_.tI=341;function kvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function mvb(b){var a;a=wfb(new nfb(),'Remove this entire condition?',ovb(new nvb(),this,this.c,this.b));tE(a,tN(b),uN(b));wE(a);}
-function jvb(){}
-_=jvb.prototype=new gU();_.Bc=mvb;_.tN=ngc+'RuleModeller$16';_.tI=342;function ovb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function qvb(){if(elb(this.c,this.b)){axb(this.a.a);}else{ybb("Can't remove that item as it is used in the action part of the rule.");}}
-function nvb(){}
-_=nvb.prototype=new gU();_.rb=qvb;_.tN=ngc+'RuleModeller$17';_.tI=343;function vvb(b,a){b.a=a;return b;}
-function xvb(a){dxb(this.a,a);}
-function uvb(){}
-_=uvb.prototype=new gU();_.Bc=xvb;_.tN=ngc+'RuleModeller$2';_.tI=344;function zvb(b,a){b.a=a;return b;}
-function Bvb(a){exb(this.a,a);}
-function yvb(){}
-_=yvb.prototype=new gU();_.Bc=Bvb;_.tN=ngc+'RuleModeller$3';_.tI=345;function Dvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Fvb(a){zkb(this.a.c,pkb(new okb(),DC(this.b,EC(this.b)),''));axb(this.a);this.c.nc();}
-function Cvb(){}
-_=Cvb.prototype=new gU();_.Ac=Fvb;_.tN=ngc+'RuleModeller$4';_.tI=346;function bwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function dwb(b){var a;a=wfb(new nfb(),'Remove this item?',fwb(new ewb(),this,this.c,this.b));tE(a,tN(b),uN(b));wE(a);}
-function awb(){}
-_=awb.prototype=new gU();_.Bc=dwb;_.tN=ngc+'RuleModeller$5';_.tI=347;function fwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function hwb(){flb(this.c,this.b);axb(this.a.a);}
-function ewb(){}
-_=ewb.prototype=new gU();_.rb=hwb;_.tN=ngc+'RuleModeller$6';_.tI=348;function jwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function lwb(b){var a;a=DC(this.b,EC(this.b));if(!FU(a,'IGNORE')){Awb(this.a,a);this.c.nc();}}
-function iwb(){}
-_=iwb.prototype=new gU();_.Ac=lwb;_.tN=ngc+'RuleModeller$7';_.tI=349;function nwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function pwb(b){var a;a=FC(this.b,EC(this.b));if(!FU(a,'IGNORE')){xwb(this.a,a);this.c.nc();}}
-function mwb(){}
-_=mwb.prototype=new gU();_.Ac=pwb;_.tN=ngc+'RuleModeller$8';_.tI=350;function rwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function twb(b){var a;a=nT(FC(this.b,EC(this.b)));ywb(this.a,this.a.a.b[a]);this.c.nc();}
-function qwb(){}
-_=qwb.prototype=new gU();_.Ac=twb;_.tN=ngc+'RuleModeller$9';_.tI=351;function lxb(b,a,c){b.a=c;return b;}
-function nxb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
-function kxb(){}
-_=kxb.prototype=new gU();_.Bc=nxb;_.tN=ogc+'AssetAttachmentFileWidget$1';_.tI=352;function pxb(b,a){b.a=a;return b;}
-function rxb(a){Dxb(this.a);Exb(this.a);}
-function oxb(){}
-_=oxb.prototype=new gU();_.Bc=rxb;_.tN=ogc+'AssetAttachmentFileWidget$2';_.tI=353;function txb(b,a){b.a=a;return b;}
-function wxb(a){}
-function vxb(a){tdb();if(bV(a.a,'OK')>(-1)){g_b(this.a.e);}else{ybb('Unable to upload the file.');}}
-function sxb(){}
-_=sxb.prototype=new gU();_.qd=wxb;_.pd=vxb;_.tN=ogc+'AssetAttachmentFileWidget$3';_.tI=354;function kyb(){kyb=e3;vcb();}
-function iyb(c){var a,b;kyb();scb(c,'images/new_wiz.gif','Create a new fact template');c.a=tt(new nt());c.b=bL(new sK());tcb(c,'Name:',c.b);tcb(c,'Fact attributes:',c.a);a=mB(new wA(),'images/new_item.gif');nB(a,byb(new ayb(),c));tcb(c,'Add a new attribute',a);b=yp(new sp(),'Create');b.z(fyb(new eyb(),c));tcb(c,'',b);return c;}
-function jyb(b){var a;a=xt(b.a);b.a.Be(a,0,bL(new sK()));b.a.Be(a,1,nyb(b));}
-function lyb(d){var a,b,c,e,f;b='template '+zK(d.b)+'\n';for(a=0;a<xt(d.a);a++){e=Fb(sy(d.a,a,1),85);f=DC(e,EC(e));c=zK(Fb(sy(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
-function myb(b,a){b.c=a;}
-function nyb(b){var a;a=uC(new mC());xC(a,'String');xC(a,'Integer');xC(a,'Float');xC(a,'Date');xC(a,'Boolean');return a;}
-function Fxb(){}
-_=Fxb.prototype=new ncb();_.tN=ogc+'FactTemplateWizard';_.tI=355;_.a=null;_.b=null;_.c=null;function byb(b,a){b.a=a;return b;}
-function dyb(a){jyb(this.a);}
-function ayb(){}
-_=ayb.prototype=new gU();_.Bc=dyb;_.tN=ogc+'FactTemplateWizard$1';_.tI=356;function fyb(b,a){b.a=a;return b;}
-function hyb(a){kDb(this.a.c);this.a.nc();}
-function eyb(){}
-_=eyb.prototype=new gU();_.Bc=hyb;_.tN=ogc+'FactTemplateWizard$2';_.tI=357;function pyb(b,a,c){xxb(b,a,c);return b;}
-function ryb(){return 'images/model_large.png';}
-function syb(){return 'editable-Surface';}
-function oyb(){}
-_=oyb.prototype=new jxb();_.xb=ryb;_.ac=syb;_.tN=ogc+'ModelAttachmentFileWidget';_.tI=358;function rzb(){rzb=e3;vcb();}
-function pzb(a){a.b=ccb(new acb());a.d=ccb(new acb());}
-function qzb(f,b){var a,c,d,e;rzb();scb(f,'images/new_wiz.gif','Create a new package');pzb(f);f.c=bL(new sK());f.a=mK(new lK());hcb(f.d,mz(new pw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));hcb(f.b,mz(new pw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));ecb(f.d,'Name:',f.c);ecb(f.d,'Description:',f.a);f.c.ve('The name of the package. Avoid spaces, use underscore instead.');e=gG(new eG(),'action','Create new pa!
 ckage');d=gG(new eG(),'action','Import from drl file');oq(e,true);f.d.Ae(true);e.z(vyb(new uyb(),f));f.b.Ae(false);d.z(zyb(new yyb(),f));a=kp(new jp());lp(a,e);lp(a,d);ucb(f,a);ucb(f,f.d);ucb(f,f.b);ecb(f.b,'DRL file to import:',tzb(b,f));c=yp(new sp(),'Create package');c.z(Dyb(new Cyb(),f,b));ecb(f.d,'',c);CN(f,'ks-popups-Popup');return f;}
-function szb(d,b,a,c){xdb('Creating package - please wait...');FTb(nMb(),b,a,czb(new bzb(),d,c));}
-function tzb(a,d){rzb();var b,c,e,f;f=ev(new Fu());kv(f,v()+'package');lv(f,'multipart/form-data');mv(f,'post');c=hA(new fA());f.Ce(c);e=it(new ht());lt(e,'classicDRLFile');iA(c,e);iA(c,eC(new cC(),'upload:'));b=Ecb(new Ccb(),'images/upload.gif','Import');nB(b,hzb(new gzb(),f));iA(c,b);fv(f,lzb(new kzb(),a,d,e));return f;}
-function tyb(){}
-_=tyb.prototype=new ncb();_.tN=ogc+'NewPackageWizard';_.tI=359;_.a=null;_.c=null;function vyb(b,a){b.a=a;return b;}
-function xyb(a){this.a.d.Ae(true);this.a.b.Ae(false);}
-function uyb(){}
-_=uyb.prototype=new gU();_.Bc=xyb;_.tN=ogc+'NewPackageWizard$1';_.tI=360;function zyb(b,a){b.a=a;return b;}
-function Byb(a){this.a.d.Ae(false);this.a.b.Ae(true);}
-function yyb(){}
-_=yyb.prototype=new gU();_.Bc=Byb;_.tN=ogc+'NewPackageWizard$2';_.tI=361;function Dyb(b,a,c){b.a=a;b.b=c;return b;}
-function Fyb(b,a){return eV(a,'[a-zA-Z\\.]*');}
-function azb(a){if(Fyb(this,zK(this.a.c))){szb(this.a,zK(this.a.c),zK(this.a.a),this.b);this.a.nc();}else{DK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
-function Cyb(){}
-_=Cyb.prototype=new gU();_.Bc=azb;_.tN=ogc+'NewPackageWizard$3';_.tI=362;function czb(b,a,c){b.a=c;return b;}
-function ezb(b,a){tdb();tFb(b.a);}
-function fzb(a){ezb(this,a);}
-function bzb(){}
-_=bzb.prototype=new wcb();_.rd=fzb;_.tN=ogc+'NewPackageWizard$4';_.tI=363;function hzb(a,b){a.a=b;return a;}
-function jzb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){xdb('Importing drl package, please wait, as this could take some time...');ov(this.a);}}
-function gzb(){}
-_=gzb.prototype=new gU();_.Bc=jzb;_.tN=ogc+'NewPackageWizard$5';_.tI=364;function lzb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
-function ozb(a){if(dV(kt(this.c))==0){zh('You did not choose a drl file to import !');Av(a,true);}else if(!DU(kt(this.c),'.drl')){zh("You can only import '.drl' files.");Av(a,true);}}
-function nzb(a){if(bV(a.a,'OK')>(-1)){zh('Package was imported successfully. ');tFb(this.a);this.b.nc();}else{ybb('Unable to import into the package. ['+a.a+']');}tdb();}
-function kzb(){}
-_=kzb.prototype=new gU();_.qd=ozb;_.pd=nzb;_.tN=ogc+'NewPackageWizard$6';_.tI=365;function oBb(h,e,f){var a,b,c,d,g;h.c=dcb(new acb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=cH(new AG());g=bL(new sK());a=yp(new sp(),'Build package');a.ve('This will validate and compile all the assets in a package.');a.z(hAb(new vzb(),h,b,g));c=yp(new sp(),'Show package source');c.z(lAb(new kAb(),h,e));ecb(h.c,'View source for package',c);d=hA(new fA());iA(d,a);iA(d,mz(new pw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));iA(d,g);iA(d,fdb(new adb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));ecb(h.c,'Build binary package:',d);hcb(h.c,mz(new pw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));hcb(h.c,b);CN(h.c,'package-Editor');h.c.De('100%');or(h,h.c);return h;}
-function qBb(d,a,c){var b;a.cb();b=hA(new fA());iA(b,eC(new cC(),'Validating and building package, please wait...'));iA(b,mB(new wA(),'images/red_anime.gif'));xdb('Please wait...');eH(a,b);fg(EAb(new DAb(),d,c,a));}
-function rBb(i,e,a){var b,c,d,f,g,h;a.cb();b=tt(new nt());CN(b,'build-Results');az(b,0,1,'Format');az(b,0,2,'Name');az(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.Be(f,0,mB(new wA(),'images/error.gif'));az(b,f,1,d.a);az(b,f,2,d.b);az(b,f,3,d.c);if(!FU('package',d.a)){h=yp(new sp(),'Show');h.z(lBb(new kBb(),i,d));b.Be(f,4,h);}}b.De('100%');g=wG(new uG(),b);yG(g,true);BN(g,'100%','25em');eH(a,g);}
-function sBb(g,i){var a,b,c,d,e,f,h;xdb('Loading existing snapshots...');c=scb(new ncb(),'images/snapshot.png','Create a snapshot for deployment.');ucb(c,mz(new pw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=pO(new nO());tcb(c,'Choose or create snapshot name:',h);f=oY(new mY());d=bL(new sK());e='NEW: ';eUb(nMb(),g.a.j,xzb(new wzb(),g,f,h,d));a=bL(new sK());tcb(c,'Comment:',a);b=yp(new sp(),'Create new snapshot');tcb(c,'',b);b.z(Fzb(new Ezb(),g,f,d,a,c));c.De('50%');tE(c,dc((uab()-oE(c))/2),100);wE(c);}
-function tBb(e,a){var b,c,d,f;a.cb();f=pO(new nO());qO(f,mz(new pw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=vBb(e.a);b=mz(new pw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");qO(f,b);d=yp(new sp(),'Create snapshot for deployment');d.z(hBb(new gBb(),e));qO(f,d);eH(a,f);}
-function uBb(b,a){xdb('Assembling package source...');fg(pAb(new oAb(),b,a));}
-function vBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
-function wBb(b,c){var a,d;d=scb(new ncb(),'images/view_source.gif','Viewing source for: '+c);a=mK(new lK());rK(a,30);a.De('100%');qK(a,80);ucb(d,a);DK(a,b);a.pe(true);a.ve('THIS IS READ ONLY - you may copy and paste, but not edit.');wK(a,yAb(new xAb(),a,b));tdb();tE(d,dc((uab()-oE(d))/2),100);wE(d);}
-function uzb(){}
-_=uzb.prototype=new mr();_.tN=ogc+'PackageBuilderWidget';_.tI=366;_.a=null;_.b=null;_.c=null;function hAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function jAb(a){qBb(this.a,this.b,zK(this.c));}
-function vzb(){}
-_=vzb.prototype=new gU();_.Bc=jAb;_.tN=ogc+'PackageBuilderWidget$1';_.tI=367;function xzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
-function zzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=gG(new eG(),'snapshotNameGroup',f[c].b);qY(this.b,b);qO(this.c,b);}d=hA(new fA());e=gG(new eG(),'snapshotNameGroup','NEW: ');iA(d,e);this.a.pe(false);e.z(Bzb(new Azb(),this,this.a));iA(d,this.a);qY(this.b,e);qO(this.c,d);tdb();}
-function wzb(){}
-_=wzb.prototype=new wcb();_.rd=zzb;_.tN=ogc+'PackageBuilderWidget$10';_.tI=368;function Bzb(b,a,c){b.a=c;return b;}
-function Dzb(a){this.a.pe(true);}
-function Azb(){}
-_=Azb.prototype=new gU();_.Bc=Dzb;_.tN=ogc+'PackageBuilderWidget$11';_.tI=369;function Fzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
-function bAb(d){var a,b,c;c=false;for(b=this.f.sc();b.mc();){a=Fb(b.uc(),87);if(nq(a)){this.a=mq(a);if(!FU(mq(a),'NEW: ')){c=true;}break;}}if(FU(this.a,'NEW: ')){this.a=zK(this.e);}if(FU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}ETb(nMb(),this.b.a.j,this.a,c,zK(this.c),dAb(new cAb(),this,this.d));}
-function Ezb(){}
-_=Ezb.prototype=new gU();_.Bc=bAb;_.tN=ogc+'PackageBuilderWidget$12';_.tI=370;_.a='';function dAb(b,a,c){b.a=a;b.b=c;return b;}
-function fAb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.nc();}
-function gAb(a){fAb(this,a);}
-function cAb(){}
-_=cAb.prototype=new wcb();_.rd=gAb;_.tN=ogc+'PackageBuilderWidget$13';_.tI=371;function lAb(b,a,c){b.a=c;return b;}
-function nAb(a){uBb(this.a.m,this.a.j);}
-function kAb(){}
-_=kAb.prototype=new gU();_.Bc=nAb;_.tN=ogc+'PackageBuilderWidget$2';_.tI=372;function pAb(a,c,b){a.b=c;a.a=b;return a;}
-function rAb(){tTb(nMb(),this.b,tAb(new sAb(),this,this.a));}
-function oAb(){}
-_=oAb.prototype=new gU();_.rb=rAb;_.tN=ogc+'PackageBuilderWidget$3';_.tI=373;function tAb(b,a,c){b.a=c;return b;}
-function vAb(c,b){var a;a=Fb(b,1);wBb(a,c.a);}
-function wAb(a){vAb(this,a);}
-function sAb(){}
-_=sAb.prototype=new wcb();_.rd=wAb;_.tN=ogc+'PackageBuilderWidget$4';_.tI=374;function yAb(a,b,c){a.a=b;a.b=c;return a;}
-function AAb(a,b,c){DK(this.a,this.b);}
-function BAb(a,b,c){DK(this.a,this.b);}
-function CAb(a,b,c){DK(this.a,this.b);}
-function xAb(){}
-_=xAb.prototype=new gU();_.ed=AAb;_.fd=BAb;_.gd=CAb;_.tN=ogc+'PackageBuilderWidget$5';_.tI=375;function EAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function aBb(){uTb(nMb(),this.a.a.m,this.c,cBb(new bBb(),this,this.b));}
-function DAb(){}
-_=DAb.prototype=new gU();_.rb=aBb;_.tN=ogc+'PackageBuilderWidget$6';_.tI=376;function cBb(b,a,c){b.a=a;b.b=c;return b;}
-function eBb(c,a){var b;tdb();if(a===null){tBb(c.a.a,c.b);}else{b=Fb(a,88);rBb(c.a.a,b,c.b);}}
-function fBb(a){eBb(this,a);}
-function bBb(){}
-_=bBb.prototype=new wcb();_.rd=fBb;_.tN=ogc+'PackageBuilderWidget$7';_.tI=377;function hBb(b,a){b.a=a;return b;}
-function jBb(a){sBb(this.a,a);}
-function gBb(){}
-_=gBb.prototype=new gU();_.Bc=jBb;_.tN=ogc+'PackageBuilderWidget$8';_.tI=378;function lBb(b,a,c){b.a=a;b.b=c;return b;}
-function nBb(a){pIb(this.a.b,this.b.d);}
-function kBb(){}
-_=kBb.prototype=new gU();_.Bc=nBb;_.tN=ogc+'PackageBuilderWidget$9';_.tI=379;function uEb(e,b,c,a,d){ccb(e);e.b=b;e.c=c;e.a=a;e.e=d;CN(e,'package-Editor');e.De('100%');AEb(e);return e;}
-function wEb(b){var a;a=mK(new lK());a.De('100%');rK(a,8);DK(a,b.b.d);vK(a,rDb(new qDb(),b,a));qK(a,100);return yEb(b,a);}
-function xEb(b,a){xdb('Saving package configuration. Please wait ...');vUb(nMb(),b.b,dCb(new cCb(),b,a));}
-function yEb(d,a){var b,c;c=hA(new fA());iA(c,a);b=mB(new wA(),'images/max_min.gif');b.ve('Increase view area');iA(c,b);nB(b,nDb(new mDb(),d,a));return c;}
-function zEb(g){var a,b,c,d,e,f,h;a=mK(new lK());a.De('100%');rK(a,8);qK(a,100);DK(a,g.b.f);vK(a,qCb(new pCb(),g,a));f=hA(new fA());iA(f,a);h=pO(new nO());b=mB(new wA(),'images/max_min.gif');nB(b,uCb(new tCb(),g,a));b.ve('Increase view area.');qO(h,b);e=mB(new wA(),'images/new_import.gif');nB(e,yCb(new xCb(),g,a));qO(h,e);e.ve('Add a new Type/Class import to the package.');d=mB(new wA(),'images/new_global.gif');nB(d,CCb(new BCb(),g,a));d.ve('Add a new global variable declaration.');qO(h,d);c=mB(new wA(),'images/fact_template.gif');nB(c,eDb(new dDb(),g,a));c.ve('Add a new fact template.');f.De('100%');iA(f,h);return f;}
-function AEb(c){var a,b;icb(c);hcb(c,bFb(c));ecb(c,'Description:',wEb(c));ecb(c,'Header:',zEb(c));hcb(c,mz(new pw(),'<hr/>'));ecb(c,'Last modified:',eC(new cC(),b0(c.b.i)));ecb(c,'Last contributor:',eC(new cC(),c.b.h));hcb(c,mz(new pw(),'<hr/>'));c.f=lz(new pw());b=hA(new fA());a=Dcb(new Ccb(),'images/edit.gif');a.ve('Change status.');nB(a,FCb(new yBb(),c));iA(b,c.f);if(!c.b.g){iA(b,a);}DEb(c,c.b.l);ecb(c,'Status:',b);if(!c.b.g){hcb(c,CEb(c));}hcb(c,mz(new pw(),'<hr/>'));}
-function BEb(a){xdb('Refreshing package data...');jUb(nMb(),a.b.m,mCb(new lCb(),a));}
-function CEb(f){var a,b,c,d,e;c=hA(new fA());e=yp(new sp(),'Save and validate configuration');e.z(CDb(new BDb(),f));iA(c,e);a=yp(new sp(),'Archive');a.z(aEb(new FDb(),f));iA(c,a);b=yp(new sp(),'Copy');b.z(eEb(new dEb(),f));iA(c,b);d=yp(new sp(),'Rename');d.z(iEb(new hEb(),f));iA(c,d);return c;}
-function DEb(b,a){pz(b.f,'<b>'+a+'<\/b>');}
-function EEb(d){var a,b,c;c=scb(new ncb(),'images/new_wiz.gif','Copy the package');ucb(c,mz(new pw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=bL(new sK());tcb(c,'New package name:',a);b=yp(new sp(),'OK');tcb(c,'',b);b.z(ABb(new zBb(),d,a,c));c.De('40%');tE(c,dc(ai()/3),dc(Fh()/3));wE(c);}
-function FEb(d){var a,b,c;c=scb(new ncb(),'images/new_wiz.gif','Rename the package');ucb(c,mz(new pw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=bL(new sK());tcb(c,'New package name:',a);b=yp(new sp(),'OK');tcb(c,'',b);b.z(mEb(new lEb(),d,a,c));c.De('40%');tE(c,dc(ai()/3),dc(Fh()/3));wE(c);}
-function aFb(b,c){var a;a=Aeb(new eeb(),b.b.m,true);Deb(a,yDb(new xDb(),b,a));tE(a,tN(c),uN(c));wE(a);}
-function bFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=mB(new wA(),'images/warning.gif');a=hA(new fA());iA(a,b);c=mz(new pw(),'<b>There were errors validating this package configuration.');iA(a,c);d=yp(new sp(),'View errors');d.z(uDb(new cDb(),e));iA(a,d);return a;}else{return cH(new AG());}}
-function xBb(){}
-_=xBb.prototype=new acb();_.tN=ogc+'PackageEditor';_.tI=380;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function FCb(b,a){b.a=a;return b;}
-function bDb(a){aFb(this.a,a);}
-function yBb(){}
-_=yBb.prototype=new gU();_.Bc=bDb;_.tN=ogc+'PackageEditor$1';_.tI=381;function ABb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function CBb(a){BTb(nMb(),this.a.b.j,zK(this.b),EBb(new DBb(),this,this.c));}
-function zBb(){}
-_=zBb.prototype=new gU();_.Bc=CBb;_.tN=ogc+'PackageEditor$10';_.tI=382;function EBb(b,a,c){b.a=a;b.b=c;return b;}
-function aCb(b,a){rGb(b.a.a.e);zh('Package copied successfully.');b.b.nc();}
-function bCb(a){aCb(this,a);}
-function DBb(){}
-_=DBb.prototype=new wcb();_.rd=bCb;_.tN=ogc+'PackageEditor$11';_.tI=383;function dCb(b,a,c){b.a=a;b.b=c;return b;}
-function fCb(b,a){xGb(b.a.a);b.a.d=Fb(a,89);BEb(b.a);xdb('Package configuration updated successfully, refreshing content cache...');fLb((bLb(),gLb),b.a.b.j,iCb(new hCb(),b,b.b));}
-function gCb(a){fCb(this,a);}
-function cCb(){}
-_=cCb.prototype=new wcb();_.rd=gCb;_.tN=ogc+'PackageEditor$12';_.tI=384;function iCb(b,a,c){b.a=c;return b;}
-function kCb(){if(this.a!==null){rGb(this.a);}tdb();}
-function hCb(){}
-_=hCb.prototype=new gU();_.rb=kCb;_.tN=ogc+'PackageEditor$13';_.tI=385;function mCb(b,a){b.a=a;return b;}
-function oCb(a){tdb();this.a.b=Fb(a,19);AEb(this.a);}
-function lCb(){}
-_=lCb.prototype=new wcb();_.rd=oCb;_.tN=ogc+'PackageEditor$14';_.tI=386;function qCb(b,a,c){b.a=a;b.b=c;return b;}
-function sCb(a){this.a.b.f=zK(this.b);nGb(this.a.c);}
-function pCb(){}
-_=pCb.prototype=new gU();_.Ac=sCb;_.tN=ogc+'PackageEditor$16';_.tI=387;function uCb(b,a,c){b.a=c;return b;}
-function wCb(a){if(pK(this.a)!=32){rK(this.a,32);}else{rK(this.a,8);}}
-function tCb(){}
-_=tCb.prototype=new gU();_.Bc=wCb;_.tN=ogc+'PackageEditor$17';_.tI=388;function yCb(b,a,c){b.a=a;b.b=c;return b;}
-function ACb(a){DK(this.b,zK(this.b)+'\n'+'import <your class here>');this.a.b.f=zK(this.b);}
-function xCb(){}
-_=xCb.prototype=new gU();_.Bc=ACb;_.tN=ogc+'PackageEditor$18';_.tI=389;function CCb(b,a,c){b.a=a;b.b=c;return b;}
-function ECb(a){DK(this.b,zK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=zK(this.b);}
-function BCb(){}
-_=BCb.prototype=new gU();_.Bc=ECb;_.tN=ogc+'PackageEditor$19';_.tI=390;function uDb(b,a){b.a=a;return b;}
-function wDb(a){var b;b=Feb(new Eeb(),this.a.d.a,this.a.d.b);tE(b,dc(ai()/4),uN(a));wE(b);}
-function cDb(){}
-_=cDb.prototype=new gU();_.Bc=wDb;_.tN=ogc+'PackageEditor$2';_.tI=391;function eDb(b,a,c){b.a=a;b.b=c;return b;}
-function gDb(a){var b;b=iyb(new Fxb());tE(b,tN(a)-400,uN(a)-250);myb(b,iDb(new hDb(),this,this.b,b));wE(b);}
-function dDb(){}
-_=dDb.prototype=new gU();_.Bc=gDb;_.tN=ogc+'PackageEditor$20';_.tI=392;function iDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function kDb(a){DK(a.b,zK(a.b)+'\n'+lyb(a.c));a.a.a.b.f=zK(a.b);}
-function lDb(){kDb(this);}
-function hDb(){}
-_=hDb.prototype=new gU();_.rb=lDb;_.tN=ogc+'PackageEditor$21';_.tI=393;function nDb(b,a,c){b.a=c;return b;}
-function pDb(a){if(pK(this.a)!=32){rK(this.a,32);}else{rK(this.a,8);}}
-function mDb(){}
-_=mDb.prototype=new gU();_.Bc=pDb;_.tN=ogc+'PackageEditor$22';_.tI=394;function rDb(b,a,c){b.a=a;b.b=c;return b;}
-function tDb(a){this.a.b.d=zK(this.b);nGb(this.a.c);}
-function qDb(){}
-_=qDb.prototype=new gU();_.Ac=tDb;_.tN=ogc+'PackageEditor$23';_.tI=395;function yDb(b,a,c){b.a=a;b.b=c;return b;}
-function ADb(){DEb(this.a,this.b.c);}
-function xDb(){}
-_=xDb.prototype=new gU();_.rb=ADb;_.tN=ogc+'PackageEditor$3';_.tI=396;function CDb(b,a){b.a=a;return b;}
-function EDb(a){xEb(this.a,null);}
-function BDb(){}
-_=BDb.prototype=new gU();_.Bc=EDb;_.tN=ogc+'PackageEditor$4';_.tI=397;function aEb(b,a){b.a=a;return b;}
-function cEb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;xEb(this.a,this.a.e);}}
-function FDb(){}
-_=FDb.prototype=new gU();_.Bc=cEb;_.tN=ogc+'PackageEditor$5';_.tI=398;function eEb(b,a){b.a=a;return b;}
-function gEb(a){EEb(this.a);}
-function dEb(){}
-_=dEb.prototype=new gU();_.Bc=gEb;_.tN=ogc+'PackageEditor$6';_.tI=399;function iEb(b,a){b.a=a;return b;}
-function kEb(a){FEb(this.a);}
-function hEb(){}
-_=hEb.prototype=new gU();_.Bc=kEb;_.tN=ogc+'PackageEditor$7';_.tI=400;function mEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function oEb(a){tUb(nMb(),this.a.b.m,zK(this.b),qEb(new pEb(),this,this.c));}
-function lEb(){}
-_=lEb.prototype=new gU();_.Bc=oEb;_.tN=ogc+'PackageEditor$8';_.tI=401;function qEb(b,a,c){b.a=a;b.b=c;return b;}
-function sEb(b,a){rGb(b.a.a.e);zh('Package renamed successfully.');b.b.nc();}
-function tEb(a){sEb(this,a);}
-function pEb(){}
-_=pEb.prototype=new wcb();_.rd=tEb;_.tN=ogc+'PackageEditor$9';_.tI=402;function FHb(a){a.f=pGb(new dFb(),a);}
-function aIb(b,a){bIb(b,a,null,null);return b;}
-function bIb(g,b,h,f){var a,c,d,e;FHb(g);g.b=b;g.h=h;g.c=rM(new eL());g.d=zab(new xab());g.g=new tGb();vM(g.c,g.g);e=pO(new nO());if(f===null){a=tt(new nt());gx(a.n,0,0,'new-asset-Icons');dx(a.n,0,0,(wz(),xz),(Fz(),bA));a.Be(0,0,eIb(g));qO(e,a);a.De('100%');}qO(e,g.c);Cab(g.d,0,0,e);c=wt(g.d);hx(c,0,0,(Fz(),cA));st(wt(g.d),0,1,2);dx(wt(g.d),0,1,(wz(),xz),(Fz(),cA));iIb(g);d=DM(g.c,0);if(d!==null)hN(g.c,d);Cab(g.d,0,1,mz(new pw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));jx(wt(g.d),0,0,'25%');dx(wt(g.d),0,1,(wz(),yz),(Fz(),cA));g.e=kdc(new occ(),g.b,'rulelist');or(g,g.d);return g;}
-function cIb(d,a,c){var b;b=hIb(d,a.j,'images/package.gif',DHb(new CHb(),wFb(new vFb(),d,a)));b.A(hIb(d,'Business rule assets','images/rule_asset.gif',jIb(d,a.m,(q_(),r_))));b.A(hIb(d,'Technical rule assets','images/technical_rule_assets.gif',jIb(d,a.m,(q_(),t_))));b.A(hIb(d,'Functions','images/function_assets.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['function']))));b.A(hIb(d,'DSL','images/dsl.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['dsl']))));b.A(hIb(d,'Model','images/model_asset.gif',jIb(d,a.m,zb('[Ljava.lang.String;',609,1,['jar']))));tM(d.c,b);if(c){iN(d.c,b,true);}}
-function eIb(h){var a,b,c,d,e,f,g,i;g=hA(new fA());d=mB(new wA(),'images/new_package.gif');d.ve('Create a new package');nB(d,bHb(new aHb(),h));i=Dcb(new Ccb(),'images/model_asset.gif');nB(i,fHb(new eHb(),h));i.ve('This creates a new model archive - models contain classes/types that rules use.');e=Dcb(new Ccb(),'images/new_rule.gif');e.ve('Create new rule');nB(e,jHb(new iHb(),h));c=Dcb(new Ccb(),'images/function_assets.gif');c.ve('Create a new function');nB(c,rHb(new qHb(),h));a=Dcb(new Ccb(),'images/dsl.gif');a.ve('Create a new DSL (language configuration)');nB(a,vHb(new uHb(),h));f=Dcb(new Ccb(),'images/ruleflow_small.gif');f.ve('Upload a new ruleflow.');nB(f,zHb(new yHb(),h));b=Dcb(new Ccb(),'images/new_enumeration.gif');b.ve('Create a new data enumeration (drop down list)');nB(b,fFb(new eFb(),h));iA(g,d);iA(g,i);iA(g,e);iA(g,c);iA(g,a);iA(g,f);iA(g,b);return g;}
-function fIb(d,a,e){var b,c,f;b=70;f=100;c=x7b(new h7b(),AGb(new zGb(),d),false,a,e,d.a);tE(c,dc((uab()-oE(c))/2),100);wE(c);}
-function gIb(a,b){xdb('Loading package information ...');jUb(nMb(),b,dGb(new cGb(),a));}
-function hIb(e,d,b,a){var c;c=wL(new uL());EL(c,'<img src="'+b+'">'+d+'<\/a>');eM(c,a);return c;}
-function iIb(a){if(a.h===null){xdb('Loading list of packages ...');dUb(nMb(),jFb(new iFb(),a));}else{xdb('Loading package ...');jUb(nMb(),a.h,nFb(new mFb(),a));}}
-function jIb(c,d,b){var a;a=AFb(new zFb(),c);return DHb(new CHb(),FFb(new EFb(),c,d,b,a));}
-function kIb(b,c){var a;a=qzb(new tyb(),rFb(new qFb(),b));tE(a,dc((uab()-oE(a))/2),100);wE(a);}
-function cFb(){}
-_=cFb.prototype=new qab();_.tN=ogc+'PackageExplorerWidget';_.tI=403;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function pGb(b,a){b.a=a;return b;}
-function rGb(a){iIb(a.a);}
-function sGb(){rGb(this);}
-function dFb(){}
-_=dFb.prototype=new gU();_.rb=sGb;_.tN=ogc+'PackageExplorerWidget$1';_.tI=404;function fFb(b,a){b.a=a;return b;}
-function hFb(a){fIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
-function eFb(){}
-_=eFb.prototype=new gU();_.Bc=hFb;_.tN=ogc+'PackageExplorerWidget$10';_.tI=405;function jFb(b,a){b.a=a;return b;}
-function lFb(a){var b,c;c=Fb(a,71);wM(this.a.c);for(b=0;b<c.a;b++){if(b==0){cIb(this.a,c[b],true);}else{cIb(this.a,c[b],false);}}tdb();}
-function iFb(){}
-_=iFb.prototype=new wcb();_.rd=lFb;_.tN=ogc+'PackageExplorerWidget$11';_.tI=406;function nFb(b,a){b.a=a;return b;}
-function pFb(a){var b;b=Fb(a,19);wM(this.a.c);cIb(this.a,b,true);tdb();}
-function mFb(){}
-_=mFb.prototype=new wcb();_.rd=pFb;_.tN=ogc+'PackageExplorerWidget$12';_.tI=407;function rFb(b,a){b.a=a;return b;}
-function tFb(a){iIb(a.a);}
-function uFb(){tFb(this);}
-function qFb(){}
-_=qFb.prototype=new gU();_.rb=uFb;_.tN=ogc+'PackageExplorerWidget$13';_.tI=408;function wFb(b,a,c){b.a=a;b.b=c;return b;}
-function yFb(){if(this.a.rc()){if(Bh('Discard Changes ? ')){tab(this.a);gIb(this.a,this.b.m);}}else{gIb(this.a,this.b.m);}}
-function vFb(){}
-_=vFb.prototype=new gU();_.rb=yFb;_.tN=ogc+'PackageExplorerWidget$14';_.tI=409;function AFb(b,a){b.a=a;return b;}
-function CFb(c,a){var b;b=Fb(a,62);pdc(c.a.e,b);c.a.e.De('100%');Cab(c.a.d,0,1,c.a.e);dx(wt(c.a.d),0,1,(wz(),yz),(Fz(),cA));tdb();}
-function DFb(a){CFb(this,a);}
-function zFb(){}
-_=zFb.prototype=new wcb();_.rd=DFb;_.tN=ogc+'PackageExplorerWidget$15';_.tI=410;function FFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
-function bGb(){xdb('Loading list, please wait...');cUb(nMb(),this.c,this.b,(-1),(-1),this.a);}
-function EFb(){}
-_=EFb.prototype=new gU();_.rb=bGb;_.tN=ogc+'PackageExplorerWidget$16';_.tI=411;function dGb(b,a){b.a=a;return b;}
-function fGb(c){var a,b,d,e,f,g,h,i;b=Fb(c,19);g=yH(new xH());this.a.a=b.j;e=dcb(new acb(),'images/package_large.png',b.j);CN(e,'package-Editor');e.De('100%');ecb(e,'Description:',eC(new cC(),b.d));ecb(e,'Date created:',eC(new cC(),b0(b.c)));if(b.g){ecb(e,'Snapshot created on:',eC(new cC(),b0(b.i)));ecb(e,'Snapshot comment:',eC(new cC(),b.b));h=vBb(b);d=mz(new pw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");ecb(e,'Download package:',d);ecb(e,'Package URI:',eC(new cC(),h));i=yp(new sp(),'View package source');i.z(hGb(new gGb(),this,b));ecb(e,'Show package source:',i);}if(!b.g){hcb(e,mz(new pw(),'<i>Choose one of the options below<\/i>'));}f=lGb(new kGb(),this);a=vGb(new uGb(),this);AH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){AH(g,uEb(new xBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);AH(g,oBb(new uzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{AH(!
 g,uEb(new xBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.De('100%');Cab(this.a.d,0,1,g);tdb();}
-function cGb(){}
-_=cGb.prototype=new wcb();_.rd=fGb;_.tN=ogc+'PackageExplorerWidget$17';_.tI=412;function hGb(b,a,c){b.a=c;return b;}
-function jGb(a){uBb(this.a.m,this.a.j);}
-function gGb(){}
-_=gGb.prototype=new gU();_.Bc=jGb;_.tN=ogc+'PackageExplorerWidget$18';_.tI=413;function lGb(b,a){b.a=a;return b;}
-function nGb(a){sab(a.a.a);}
-function oGb(){nGb(this);}
-function kGb(){}
-_=kGb.prototype=new gU();_.rb=oGb;_.tN=ogc+'PackageExplorerWidget$19';_.tI=414;function EGb(c){var a,b;a=Fb(c.k,90);b=a.a;xdb('Please wait...');fg(b);}
-function FGb(a){}
-function tGb(){}
-_=tGb.prototype=new gU();_.td=EGb;_.ud=FGb;_.tN=ogc+'PackageExplorerWidget$2';_.tI=415;function vGb(b,a){b.a=a;return b;}
-function xGb(a){tab(a.a.a);}
-function yGb(){xGb(this);}
-function uGb(){}
-_=uGb.prototype=new gU();_.rb=yGb;_.tN=ogc+'PackageExplorerWidget$20';_.tI=416;function AGb(b,a){b.a=a;return b;}
-function CGb(a){pIb(this.a.b,a);}
-function zGb(){}
-_=zGb.prototype=new gU();_.yd=CGb;_.tN=ogc+'PackageExplorerWidget$21';_.tI=417;function bHb(b,a){b.a=a;return b;}
-function dHb(a){kIb(this.a,a);}
-function aHb(){}
-_=aHb.prototype=new gU();_.Bc=dHb;_.tN=ogc+'PackageExplorerWidget$3';_.tI=418;function fHb(b,a){b.a=a;return b;}
-function hHb(a){fIb(this.a,'jar','Create a new model archive');}
-function eHb(){}
-_=eHb.prototype=new gU();_.Bc=hHb;_.tN=ogc+'PackageExplorerWidget$4';_.tI=419;function jHb(b,a){b.a=a;return b;}
-function lHb(d){var a,b,c;a=70;c=100;b=x7b(new h7b(),nHb(new mHb(),this),true,null,'Create a new rule asset',this.a.a);tE(b,dc((uab()-oE(b))/2),100);wE(b);}
-function iHb(){}
-_=iHb.prototype=new gU();_.Bc=lHb;_.tN=ogc+'PackageExplorerWidget$5';_.tI=420;function nHb(b,a){b.a=a;return b;}
-function pHb(a){pIb(this.a.a.b,a);}
-function mHb(){}
-_=mHb.prototype=new gU();_.yd=pHb;_.tN=ogc+'PackageExplorerWidget$6';_.tI=421;function rHb(b,a){b.a=a;return b;}
-function tHb(a){fIb(this.a,'function','Create a new function');}
-function qHb(){}
-_=qHb.prototype=new gU();_.Bc=tHb;_.tN=ogc+'PackageExplorerWidget$7';_.tI=422;function vHb(b,a){b.a=a;return b;}
-function xHb(a){fIb(this.a,'dsl','Create a new language configuration');}
-function uHb(){}
-_=uHb.prototype=new gU();_.Bc=xHb;_.tN=ogc+'PackageExplorerWidget$8';_.tI=423;function zHb(b,a){b.a=a;return b;}
-function BHb(a){fIb(this.a,'rf','Create a new ruleflow');}
-function yHb(){}
-_=yHb.prototype=new gU();_.Bc=BHb;_.tN=ogc+'PackageExplorerWidget$9';_.tI=424;function DHb(b,a){b.a=a;return b;}
-function CHb(){}
-_=CHb.prototype=new gU();_.tN=ogc+'PackageExplorerWidget$PackageTreeItem';_.tI=425;_.a=null;function rIb(a){a.a=(oZ(),pZ);}
-function sIb(a){tIb(a,null,null);return a;}
-function tIb(e,c,d){var a,b;rIb(e);e.b=AJ(new mJ());e.b.De('100%');e.b.se('30%');a=nIb(new mIb(),e,d);b=null;if(c===null){b=aIb(new cFb(),a);}else{b=bIb(new cFb(),a,c,d);}BJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);bK(e.b,0);or(e,e.b);return e;}
-function vIb(b,a){b.a=a;}
-function lIb(){}
-_=lIb.prototype=new mr();_.tN=ogc+'PackageManagerView';_.tI=426;_.b=null;function nIb(b,a,c){b.a=a;b.b=c;return b;}
-function pIb(b,a){d5b(b.a.a,b.a.b,a,b.b!==null);}
-function qIb(a){pIb(this,a);}
-function mIb(){}
-_=mIb.prototype=new gU();_.yd=qIb;_.tN=ogc+'PackageManagerView$1';_.tI=427;function oKb(b){var a,c;b.a=tt(new nt());b.c=AJ(new mJ());b.c.De('100%');b.c.se('100%');c=pO(new nO());qO(c,b.a);a=yp(new sp(),'Rebuild snapshot binaries');a.ve('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.z(new xIb());qO(c,a);BJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);jx(b.a.n,0,0,'28%');b.b=nMb();wKb(b);b.a.De('100%');or(b,b.c);bK(b.c,0);return b;}
-function pKb(h,c){var a,b,d,e,f,g;g=rM(new eL());d=pO(new nO());for(a=0;a<c.a;a++){e=c[a].j;b=uKb(h,e,'images/package_snapshot.gif',xJb(new wJb(),h,e));tM(g,b);}qO(d,g);f=mz(new pw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");fC(f,BJb(new AJb(),h));vM(g,new EJb());uO(d,(Fz(),cA));tO(d,(wz(),yz));qO(d,f);CN(d,'snapshot-List');h.a.Be(0,0,d);hx(h.a.n,0,0,(Fz(),cA));}
-function rKb(g,e,f){var a,b,c,d;c=scb(new ncb(),'images/snapshot.png','Copy snapshot '+f);a=bL(new sK());tcb(c,'New label:',a);d=yp(new sp(),'OK');tcb(c,'',d);d.z(hKb(new gKb(),g,e,f,a,c));b=yp(new sp(),'Copy');b.z(zIb(new yIb(),g,c));return b;}
-function sKb(d,c,b){var a;a=yp(new sp(),'Delete');a.z(bJb(new aJb(),d,c,b));return a;}
-function tKb(d,b,c,e){var a;a=yp(new sp(),'Open');a.z(DIb(new CIb(),d,b,c,e));return a;}
-function uKb(e,d,b,a){var c;c=wL(new uL());EL(c,'<img src="'+b+'">'+d+'<\/a>');eM(c,a);return c;}
-function vKb(g,e,f,h){var a,b,c,d,i;i=tt(new nt());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=hA(new fA());iA(c,mz(new pw(),d));a=Dcb(new Ccb(),'images/close.gif');a.ve('Close this view');nB(a,jJb(new iJb(),g));iA(c,a);i.Be(0,0,c);b=wt(i);gx(b,0,0,'editable-Surface');i.Be(1,0,tIb(new lIb(),h,f));i.De('100%');i.se('100%');if(g.c.a.f.c>1){aK(g.c,1);}BJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);bK(g.c,1);}
-function wKb(a){xdb('Loading package list...');dUb(a.b,tJb(new sJb(),a));}
-function xKb(h,d,b){var a,c,e,f,g;e=dcb(new acb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=tt(new nt());az(g,0,1,'Name');az(g,0,2,'Comment');tx(g.p,0,xfc);for(a=0;a<b.a;a++){f=a+1;c=eC(new cC(),b[a].b);g.Be(f,0,mB(new wA(),'images/package_snapshot_item.gif'));g.Be(f,1,c);g.Be(f,2,eC(new cC(),b[a].a));g.Be(f,3,tKb(h,d,iC(c),b[a].c));g.Be(f,4,rKb(h,d,iC(c)));g.Be(f,5,sKb(h,iC(c),d));if(a%2==0){tx(g.p,a+1,vfc);}}e.De('100%');hcb(e,g);g.De('100%');CN(e,wfc);h.a.Be(0,1,e);hx(wt(h.a),0,1,(Fz(),cA));}
-function yKb(b,a){xdb('Loading snapshots...');eUb(b.b,a,dKb(new cKb(),b,a));}
-function wIb(){}
-_=wIb.prototype=new mr();_.tN=ogc+'PackageSnapshotView';_.tI=428;_.a=null;_.b=null;_.c=null;function nJb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){xdb('Rebuilding snapshots. Please wait, this may take some time...');pUb(nMb(),new oJb());}}
-function xIb(){}
-_=xIb.prototype=new gU();_.Bc=nJb;_.tN=ogc+'PackageSnapshotView$1';_.tI=429;function zIb(b,a,c){b.a=c;return b;}
-function BIb(a){tE(this.a,dc((uab()-oE(this.a))/2),100);wE(this.a);}
-function yIb(){}
-_=yIb.prototype=new gU();_.Bc=BIb;_.tN=ogc+'PackageSnapshotView$10';_.tI=430;function DIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
-function FIb(a){vKb(this.a,this.b,this.c,this.d);}
-function CIb(){}
-_=CIb.prototype=new gU();_.Bc=FIb;_.tN=ogc+'PackageSnapshotView$11';_.tI=431;function bJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function dJb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{ATb(this.a.b,this.b,this.c,true,null,fJb(new eJb(),this,this.b));}}
-function aJb(){}
-_=aJb.prototype=new gU();_.Bc=dJb;_.tN=ogc+'PackageSnapshotView$12';_.tI=432;function fJb(b,a,c){b.a=a;b.b=c;return b;}
-function hJb(a){yKb(this.a.a,this.b);}
-function eJb(){}
-_=eJb.prototype=new wcb();_.rd=hJb;_.tN=ogc+'PackageSnapshotView$13';_.tI=433;function jJb(b,a){b.a=a;return b;}
-function lJb(a){aK(this.a.c,1);bK(this.a.c,0);}
-function iJb(){}
-_=iJb.prototype=new gU();_.Bc=lJb;_.tN=ogc+'PackageSnapshotView$14';_.tI=434;function qJb(b,a){tdb();zh('Snapshots were rebuilt successfully.');}
-function rJb(a){qJb(this,a);}
-function oJb(){}
-_=oJb.prototype=new wcb();_.rd=rJb;_.tN=ogc+'PackageSnapshotView$2';_.tI=435;function tJb(b,a){b.a=a;return b;}
-function vJb(a){var b;b=Fb(a,71);pKb(this.a,b);tdb();}
-function sJb(){}
-_=sJb.prototype=new wcb();_.rd=vJb;_.tN=ogc+'PackageSnapshotView$3';_.tI=436;function xJb(b,a,c){b.a=a;b.b=c;return b;}
-function zJb(){yKb(this.a,this.b);}
-function wJb(){}
-_=wJb.prototype=new gU();_.rb=zJb;_.tN=ogc+'PackageSnapshotView$4';_.tI=437;function BJb(b,a){b.a=a;return b;}
-function DJb(a){wKb(this.a);}
-function AJb(){}
-_=AJb.prototype=new gU();_.Bc=DJb;_.tN=ogc+'PackageSnapshotView$5';_.tI=438;function aKb(a){fg(Fb(a.k,4));}
-function bKb(a){}
-function EJb(){}
-_=EJb.prototype=new gU();_.td=aKb;_.ud=bKb;_.tN=ogc+'PackageSnapshotView$6';_.tI=439;function dKb(b,a,c){b.a=a;b.b=c;return b;}
-function fKb(a){var b;b=Fb(a,86);xKb(this.a,this.b,b);tdb();}
-function cKb(){}
-_=cKb.prototype=new wcb();_.rd=fKb;_.tN=ogc+'PackageSnapshotView$7';_.tI=440;function hKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
-function jKb(a){ATb(this.a.b,this.d,this.e,false,zK(this.b),lKb(new kKb(),this,this.d,this.c));}
-function gKb(){}
-_=gKb.prototype=new gU();_.Bc=jKb;_.tN=ogc+'PackageSnapshotView$8';_.tI=441;function lKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function nKb(a){yKb(this.a.a,this.c);this.b.nc();}
-function kKb(){}
-_=kKb.prototype=new wcb();_.rd=nKb;_.tN=ogc+'PackageSnapshotView$9';_.tI=442;function bLb(){bLb=e3;gLb=aLb(new zKb());}
-function FKb(a){a.a=l1(new p0());}
-function aLb(a){bLb();FKb(a);return a;}
-function cLb(c,b,a){if(!o1(c.a,b)){eLb(c,b,a);}else{w4b(a);}}
-function dLb(c,b){var a;a=Fb(r1(c.a,b),91);if(a===null){ybb('Unable to get content assistance for this rule.');return null;}return a;}
-function eLb(c,b,a){zV(),CV;mUb(nMb(),b,BKb(new AKb(),c,b,a));}
-function fLb(c,b,a){if(o1(c.a,b)){t1(c.a,b);eLb(c,b,a);}else{a.rb();}}
-function zKb(){}
-_=zKb.prototype=new gU();_.tN=ogc+'SuggestionCompletionCache';_.tI=443;var gLb;function BKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function DKb(c,a){var b;b=Fb(a,91);s1(c.a.a,c.c,b);c.b.rb();}
-function EKb(a){DKb(this,a);}
-function AKb(){}
-_=AKb.prototype=new wcb();_.rd=EKb;_.tN=ogc+'SuggestionCompletionCache$1';_.tI=444;function nLb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
-function hLb(){}
-_=hLb.prototype=new gU();_.tS=nLb;_.tN=pgc+'BuilderResult';_.tI=445;_.a=null;_.b=null;_.c=null;_.d=null;function lLb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();a.d=b.ae();}
-function mLb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);b.jf(a.d);}
-function oLb(){}
-_=oLb.prototype=new nl();_.tN=pgc+'DetailedSerializableException';_.tI=446;_.a=null;function sLb(b,a){vLb(a,b.ae());rl(b,a);}
-function tLb(a){return a.a;}
-function uLb(b,a){b.jf(tLb(a));tl(b,a);}
-function vLb(a,b){a.a=b;}
-function xLb(a){a.a=yb('[Ljava.lang.String;',[609],[1],[0],null);}
-function yLb(a){xLb(a);return a;}
-function zLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(FU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[609],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function BLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[609],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function wLb(){}
-_=wLb.prototype=new gU();_.tN=pgc+'MetaData';_.tI=447;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function ELb(b,a){a.a=Fb(b.Fd(),63);a.b=b.ae();a.c=b.ae();a.d=Fb(b.Fd(),59);a.e=b.ae();a.f=Fb(b.Fd(),59);a.g=Fb(b.Fd(),59);a.h=b.ae();a.i=b.ae();a.j=b.ae();a.k=b.ae();a.l=b.ae();a.m=Fb(b.Fd(),59);a.n=b.ae();a.o=b.ae();a.p=b.ae();a.q=b.ae();a.r=b.ae();a.s=b.ae();a.t=b.ae();a.u=b.ae();a.v=b.Ed();}
-function FLb(b,a){b.hf(a.a);b.jf(a.b);b.jf(a.c);b.hf(a.d);b.jf(a.e);b.hf(a.f);b.hf(a.g);b.jf(a.h);b.jf(a.i);b.jf(a.j);b.jf(a.k);b.jf(a.l);b.hf(a.m);b.jf(a.n);b.jf(a.o);b.jf(a.p);b.jf(a.q);b.jf(a.r);b.jf(a.s);b.jf(a.t);b.jf(a.u);b.gf(a.v);}
-function aMb(){}
-_=aMb.prototype=new gU();_.tN=pgc+'PackageConfigData';_.tI=448;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function eMb(b,a){a.a=b.Bd();a.b=b.ae();a.c=Fb(b.Fd(),59);a.d=b.ae();a.e=b.ae();a.f=b.ae();a.g=b.Bd();a.h=b.ae();a.i=Fb(b.Fd(),59);a.j=b.ae();a.k=b.ae();a.l=b.ae();a.m=b.ae();}
-function fMb(b,a){b.df(a.a);b.jf(a.b);b.hf(a.c);b.jf(a.d);b.jf(a.e);b.jf(a.f);b.df(a.g);b.jf(a.h);b.hf(a.i);b.jf(a.j);b.jf(a.k);b.jf(a.l);b.jf(a.m);}
-function lMb(){var a,b,c;c=kSb(new qMb());a=c;b=v()+'jbrmsService';wUb(a,b);return c;}
-function mMb(){var a,b,c;c=yXb(new nXb());a=c;b=v()+'jbrmsService';EXb(a,b);return c;}
-function nMb(){if(kMb===null){oMb();}return kMb;}
-function oMb(){if(jMb)kMb=null;else kMb=lMb();}
-function pMb(d,b,a){var c;c=mMb();DXb(c,d,b,a);}
-var jMb=false,kMb=null;function yTb(){yTb=e3;xUb=zUb(new yUb());}
-function kSb(a){yTb();return a;}
-function lSb(b,a,c,d){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'archiveAsset');tn(a,2);vn(a,'java.lang.String');vn(a,'Z');vn(a,c);sn(a,d);}
-function nSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildAsset');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
-function mSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildAssetSource');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
-function pSb(d,c,a,b){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'buildPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,a);vn(c,b);}
-function oSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'buildPackageSource');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function qSb(d,c,e,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'changeAssetPackage');tn(c,3);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,e);vn(c,b);vn(c,a);}
-function rSb(c,b,d,a,e){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'changeState');tn(b,3);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,'Z');vn(b,d);vn(b,a);sn(b,e);}
-function sSb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'checkinVersion');tn(b,1);vn(b,'org.drools.brms.client.rpc.RuleAsset');un(b,a);}
-function tSb(e,d,a,c,b){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'copyAsset');tn(d,3);vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,a);vn(d,c);vn(d,b);}
-function uSb(f,e,c,d,a,b){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'copyOrRemoveSnapshot');tn(e,4);vn(e,'java.lang.String');vn(e,'java.lang.String');vn(e,'Z');vn(e,'java.lang.String');vn(e,c);vn(e,d);sn(e,a);vn(e,b);}
-function vSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'copyPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
-function wSb(e,d,c,b,a){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'createCategory');tn(d,3);vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,'java.lang.String');vn(d,c);vn(d,b);vn(d,a);}
-function xSb(g,f,e,a,c,d,b){if(g.a===null)throw Cl(new Bl());zo(f);vn(f,'org.drools.brms.client.rpc.RepositoryService');vn(f,'createNewRule');tn(f,5);vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,'java.lang.String');vn(f,e);vn(f,a);vn(f,c);vn(f,d);vn(f,b);}
-function zSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'createPackage');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
-function ySb(f,e,b,d,c,a){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'createPackageSnapshot');tn(e,4);vn(e,'java.lang.String');vn(e,'java.lang.String');vn(e,'Z');vn(e,'java.lang.String');vn(e,b);vn(e,d);sn(e,c);vn(e,a);}
-function ASb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'createState');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function BSb(d,c,b,a){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'deleteUncheckedRule');tn(c,2);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,b);vn(c,a);}
-function CSb(f,e,c,a,b,d){if(f.a===null)throw Cl(new Bl());zo(e);vn(e,'org.drools.brms.client.rpc.RepositoryService');vn(e,'listAssets');tn(e,4);vn(e,'java.lang.String');vn(e,'[Ljava.lang.String;');vn(e,'I');vn(e,'I');vn(e,c);un(e,a);tn(e,b);tn(e,d);}
-function DSb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'listPackages');tn(a,0);}
-function ESb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'listSnapshots');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function FSb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'listStates');tn(a,0);}
-function aTb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadArchivedAssets');tn(a,0);}
-function bTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadAssetHistory');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
-function cTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadChildCategories');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function dTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'loadPackageConfig');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
-function eTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadRuleAsset');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function fTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadRuleListForCategories');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function gTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadSuggestionCompletionEngine');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function hTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'loadTableConfig');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function iTb(e,d,c,a,b){if(e.a===null)throw Cl(new Bl());zo(d);vn(d,'org.drools.brms.client.rpc.RepositoryService');vn(d,'quickFindAsset');tn(d,3);vn(d,'java.lang.String');vn(d,'I');vn(d,'Z');vn(d,c);tn(d,a);sn(d,b);}
-function jTb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'rebuildSnapshots');tn(a,0);}
-function kTb(b,a,c){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.RepositoryService');vn(a,'removeAsset');tn(a,1);vn(a,'java.lang.String');vn(a,c);}
-function lTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'removeCategory');tn(b,1);vn(b,'java.lang.String');vn(b,a);}
-function mTb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'renameAsset');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
-function nTb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'renamePackage');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
-function oTb(d,c,e,a,b){if(d.a===null)throw Cl(new Bl());zo(c);vn(c,'org.drools.brms.client.rpc.RepositoryService');vn(c,'restoreVersion');tn(c,3);vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,'java.lang.String');vn(c,e);vn(c,a);vn(c,b);}
-function pTb(c,b,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.RepositoryService');vn(b,'savePackage');tn(b,1);vn(b,'org.drools.brms.client.rpc.PackageConfigData');un(b,a);}
-function qTb(h,i,j,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=FNb(new rMb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=wPb(new dOb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=nRb(new APb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uTb(j,f,g,c){var a,d,e,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=sRb(new rRb(),j,h,c);if(!wg(j.a,Co(i),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tTb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=xRb(new wRb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vTb(j,k,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=CRb(new BRb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wTb(i,j,f,k,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=bSb(new aSb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function xTb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=gSb(new fSb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function zTb(k,c,h,g,d){var a,e,f,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=tMb(new sMb(),k,i,d);if(!wg(k.a,Co(j),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ATb(l,h,i,d,g,c){var a,e,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=yMb(new xMb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function BTb(j,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=DMb(new CMb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CTb(k,h,g,d,c){var a,e,f,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=cNb(new bNb(),k,i,c);if(!wg(k.a,Co(j),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=bo(new ao(),xUb);l=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}g=hNb(new gNb(),m,k,c);if(!wg(m.a,Co(l),g))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FTb(j,g,d,c){var a,e,f,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=mNb(new lNb(),j,h,c);if(!wg(j.a,Co(i),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function ETb(l,g,i,h,d,c){var a,e,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=rNb(new qNb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=wNb(new vNb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bUb(j,g,f,c){var a,d,e,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=BNb(new ANb(),j,h,c);if(!wg(j.a,Co(i),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cUb(l,h,e,g,i,c){var a,d,f,j,k;j=bo(new ao(),xUb);k=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}f=fOb(new eOb(),l,j,c);if(!wg(l.a,Co(k),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=kOb(new jOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=pOb(new oOb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=uOb(new tOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=zOb(new yOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=EOb(new DOb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function iUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=dPb(new cPb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function jUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=iPb(new hPb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function kUb(i,c,d){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eTb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(d,e);return;}else throw a;}f=nPb(new mPb(),i,g,d);if(!wg(i.a,Co(h),f))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=sPb(new rPb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=CPb(new BPb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function nUb(i,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=bQb(new aQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oUb(k,h,f,g,c){var a,d,e,i,j;i=bo(new ao(),xUb);j=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iTb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=gQb(new fQb(),k,i,c);if(!wg(k.a,Co(j),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pUb(h,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=lQb(new kQb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qUb(h,i,c){var a,d,e,f,g;f=bo(new ao(),xUb);g=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=qQb(new pQb(),h,f,c);if(!wg(h.a,Co(g),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=vQb(new uQb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sUb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=AQb(new zQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tUb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=FQb(new EQb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uUb(j,k,c,e,d){var a,f,g,h,i;h=bo(new ao(),xUb);i=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oTb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;ycb(d,f);return;}else throw a;}g=eRb(new dRb(),j,h,d);if(!wg(j.a,Co(i),g))ycb(d,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vUb(i,d,c){var a,e,f,g,h;g=bo(new ao(),xUb);h=vo(new to(),xUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;ycb(c,e);return;}else throw a;}f=jRb(new iRb(),i,g,c);if(!wg(i.a,Co(h),f))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wUb(b,a){b.a=a;}
-function qMb(){}
-_=qMb.prototype=new gU();_.tN=pgc+'RepositoryService_Proxy';_.tI=449;_.a=null;var xUb;function FNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function bOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g7(g.a,f);else ycb(g.a,c);}
-function cOb(a){var b;b=x;bOb(this,a);}
-function rMb(){}
-_=rMb.prototype=new gU();_.Cc=cOb;_.tN=pgc+'RepositoryService_Proxy$1';_.tI=450;function tMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)E0b(g.a,f);else ycb(g.a,c);}
-function wMb(a){var b;b=x;vMb(this,a);}
-function sMb(){}
-_=sMb.prototype=new gU();_.Cc=wMb;_.tN=pgc+'RepositoryService_Proxy$10';_.tI=451;function yMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function AMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function BMb(a){var b;b=x;AMb(this,a);}
-function xMb(){}
-_=xMb.prototype=new gU();_.Cc=BMb;_.tN=pgc+'RepositoryService_Proxy$11';_.tI=452;function DMb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FMb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)aCb(g.a,f);else ycb(g.a,c);}
-function aNb(a){var b;b=x;FMb(this,a);}
-function CMb(){}
-_=CMb.prototype=new gU();_.Cc=aNb;_.tN=pgc+'RepositoryService_Proxy$12';_.tI=453;function cNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function eNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)l$(g.a,f);else ycb(g.a,c);}
-function fNb(a){var b;b=x;eNb(this,a);}
-function bNb(){}
-_=bNb.prototype=new gU();_.Cc=fNb;_.tN=pgc+'RepositoryService_Proxy$13';_.tI=454;function hNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t7b(g.a,f);else ycb(g.a,c);}
-function kNb(a){var b;b=x;jNb(this,a);}
-function gNb(){}
-_=gNb.prototype=new gU();_.Cc=kNb;_.tN=pgc+'RepositoryService_Proxy$14';_.tI=455;function mNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)ezb(g.a,f);else ycb(g.a,c);}
-function pNb(a){var b;b=x;oNb(this,a);}
-function lNb(){}
-_=lNb.prototype=new gU();_.Cc=pNb;_.tN=pgc+'RepositoryService_Proxy$15';_.tI=456;function rNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function tNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)fAb(g.a,f);else ycb(g.a,c);}
-function uNb(a){var b;b=x;tNb(this,a);}
-function qNb(){}
-_=qNb.prototype=new gU();_.Cc=uNb;_.tN=pgc+'RepositoryService_Proxy$16';_.tI=457;function wNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)y9(g.a,f);else ycb(g.a,c);}
-function zNb(a){var b;b=x;yNb(this,a);}
-function vNb(){}
-_=vNb.prototype=new gU();_.Cc=zNb;_.tN=pgc+'RepositoryService_Proxy$17';_.tI=458;function BNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DNb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u$b(g.a,f);else ycb(g.a,c);}
-function ENb(a){var b;b=x;DNb(this,a);}
-function ANb(){}
-_=ANb.prototype=new gU();_.Cc=ENb;_.tN=pgc+'RepositoryService_Proxy$18';_.tI=459;function wPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x8b(g.a,f);else ycb(g.a,c);}
-function zPb(a){var b;b=x;yPb(this,a);}
-function dOb(){}
-_=dOb.prototype=new gU();_.Cc=zPb;_.tN=pgc+'RepositoryService_Proxy$2';_.tI=460;function fOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)CFb(g.a,f);else ycb(g.a,c);}
-function iOb(a){var b;b=x;hOb(this,a);}
-function eOb(){}
-_=eOb.prototype=new gU();_.Cc=iOb;_.tN=pgc+'RepositoryService_Proxy$20';_.tI=461;function kOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function nOb(a){var b;b=x;mOb(this,a);}
-function jOb(){}
-_=jOb.prototype=new gU();_.Cc=nOb;_.tN=pgc+'RepositoryService_Proxy$21';_.tI=462;function pOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function sOb(a){var b;b=x;rOb(this,a);}
-function oOb(){}
-_=oOb.prototype=new gU();_.Cc=sOb;_.tN=pgc+'RepositoryService_Proxy$22';_.tI=463;function uOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function xOb(a){var b;b=x;wOb(this,a);}
-function tOb(){}
-_=tOb.prototype=new gU();_.Cc=xOb;_.tN=pgc+'RepositoryService_Proxy$23';_.tI=464;function zOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function BOb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u7(g.a,f);else ycb(g.a,c);}
-function COb(a){var b;b=x;BOb(this,a);}
-function yOb(){}
-_=yOb.prototype=new gU();_.Cc=COb;_.tN=pgc+'RepositoryService_Proxy$24';_.tI=465;function EOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)v_b(g.a,f);else ycb(g.a,c);}
-function bPb(a){var b;b=x;aPb(this,a);}
-function DOb(){}
-_=DOb.prototype=new gU();_.Cc=bPb;_.tN=pgc+'RepositoryService_Proxy$25';_.tI=466;function dPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function gPb(a){var b;b=x;fPb(this,a);}
-function cPb(){}
-_=cPb.prototype=new gU();_.Cc=gPb;_.tN=pgc+'RepositoryService_Proxy$26';_.tI=467;function iPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function kPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function lPb(a){var b;b=x;kPb(this,a);}
-function hPb(){}
-_=hPb.prototype=new gU();_.Cc=lPb;_.tN=pgc+'RepositoryService_Proxy$27';_.tI=468;function nPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function qPb(a){var b;b=x;pPb(this,a);}
-function mPb(){}
-_=mPb.prototype=new gU();_.Cc=qPb;_.tN=pgc+'RepositoryService_Proxy$28';_.tI=469;function sPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)acc(g.a,f);else ycb(g.a,c);}
-function vPb(a){var b;b=x;uPb(this,a);}
-function rPb(){}
-_=rPb.prototype=new gU();_.Cc=vPb;_.tN=pgc+'RepositoryService_Proxy$29';_.tI=470;function nRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)C8b(g.a,f);else ycb(g.a,c);}
-function qRb(a){var b;b=x;pRb(this,a);}
-function APb(){}
-_=APb.prototype=new gU();_.Cc=qRb;_.tN=pgc+'RepositoryService_Proxy$3';_.tI=471;function CPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function EPb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)DKb(g.a,f);else ycb(g.a,c);}
-function FPb(a){var b;b=x;EPb(this,a);}
-function BPb(){}
-_=BPb.prototype=new gU();_.Cc=FPb;_.tN=pgc+'RepositoryService_Proxy$30';_.tI=472;function bQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)wcc(g.a,f);else ycb(g.a,c);}
-function eQb(a){var b;b=x;dQb(this,a);}
-function aQb(){}
-_=aQb.prototype=new gU();_.Cc=eQb;_.tN=pgc+'RepositoryService_Proxy$31';_.tI=473;function gQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else ycb(g.a,c);}
-function jQb(a){var b;b=x;iQb(this,a);}
-function fQb(){}
-_=fQb.prototype=new gU();_.Cc=jQb;_.tN=pgc+'RepositoryService_Proxy$32';_.tI=474;function lQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)qJb(g.a,f);else ycb(g.a,c);}
-function oQb(a){var b;b=x;nQb(this,a);}
-function kQb(){}
-_=kQb.prototype=new gU();_.Cc=oQb;_.tN=pgc+'RepositoryService_Proxy$33';_.tI=475;function qQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)p7(g.a,f);else ycb(g.a,c);}
-function tQb(a){var b;b=x;sQb(this,a);}
-function pQb(){}
-_=pQb.prototype=new gU();_.Cc=tQb;_.tN=pgc+'RepositoryService_Proxy$34';_.tI=476;function vQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g9(g.a,f);else ycb(g.a,c);}
-function yQb(a){var b;b=x;xQb(this,a);}
-function uQb(){}
-_=uQb.prototype=new gU();_.Cc=yQb;_.tN=pgc+'RepositoryService_Proxy$35';_.tI=477;function AQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function CQb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u6b(g.a,f);else ycb(g.a,c);}
-function DQb(a){var b;b=x;CQb(this,a);}
-function zQb(){}
-_=zQb.prototype=new gU();_.Cc=DQb;_.tN=pgc+'RepositoryService_Proxy$36';_.tI=478;function FQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function bRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)sEb(g.a,f);else ycb(g.a,c);}
-function cRb(a){var b;b=x;bRb(this,a);}
-function EQb(){}
-_=EQb.prototype=new gU();_.Cc=cRb;_.tN=pgc+'RepositoryService_Proxy$37';_.tI=479;function eRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Eac(g.a,f);else ycb(g.a,c);}
-function hRb(a){var b;b=x;gRb(this,a);}
-function dRb(){}
-_=dRb.prototype=new gU();_.Cc=hRb;_.tN=pgc+'RepositoryService_Proxy$38';_.tI=480;function jRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function lRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)fCb(g.a,f);else ycb(g.a,c);}
-function mRb(a){var b;b=x;lRb(this,a);}
-function iRb(){}
-_=iRb.prototype=new gU();_.Cc=mRb;_.tN=pgc+'RepositoryService_Proxy$39';_.tI=481;function sRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=nn(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eBb(g.a,f);else ycb(g.a,c);}
-function vRb(a){var b;b=x;uRb(this,a);}
-function rRb(){}
-_=rRb.prototype=new gU();_.Cc=vRb;_.tN=pgc+'RepositoryService_Proxy$4';_.tI=482;function xRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zRb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vAb(g.a,f);else ycb(g.a,c);}
-function ARb(a){var b;b=x;zRb(this,a);}
-function wRb(){}
-_=wRb.prototype=new gU();_.Cc=ARb;_.tN=pgc+'RepositoryService_Proxy$5';_.tI=483;function CRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function ERb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)m5b(g.a,f);else ycb(g.a,c);}
-function FRb(a){var b;b=x;ERb(this,a);}
-function BRb(){}
-_=BRb.prototype=new gU();_.Cc=FRb;_.tN=pgc+'RepositoryService_Proxy$6';_.tI=484;function bSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dSb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=null;}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)yeb(g.a,f);else ycb(g.a,c);}
-function eSb(a){var b;b=x;dSb(this,a);}
-function aSb(){}
-_=aSb.prototype=new gU();_.Cc=eSb;_.tN=pgc+'RepositoryService_Proxy$7';_.tI=485;function gSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iSb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)z$b(g.a,f);else ycb(g.a,c);}
-function jSb(a){var b;b=x;iSb(this,a);}
-function fSb(){}
-_=fSb.prototype=new gU();_.Cc=jSb;_.tN=pgc+'RepositoryService_Proxy$8';_.tI=486;function AUb(){AUb=e3;CWb=BUb();FWb=CUb();}
-function zUb(a){AUb();return a;}
-function BUb(){AUb();return {'[B/2233087514':[function(a){return DUb(a);},function(a,b){pm(a,b);},function(a,b){qm(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return EUb(a);},function(a,b){gl(a,b);},function(a,b){hl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return FUb(a);},function(a,b){rl(a,b);},function(a,b){tl(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return eVb(a);},function(a,b){vD(a,b);},function(a,b){yD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return fVb(a);},function(a,b){nI(a,b);},function(a,b){qI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return gVb(a);},function(a,b){vI(a,b);},function(a,b){xI(a,b);}],'java.lang.Boolean/476441737':[function(a){return cm(a);},function(a,b){bm(a,b);},function(a,b){dm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return lm(a);},function(a,b){km(a,b);},function(a,b){mm(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return hVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return aVb(a);},function(a,b){tm(a,b);},function(a,b){um(a,b);}],'java.util.Date/1659716317':[function(a){return ym(a);},function(a,b){xm(a,b);},function(a,b){zm(a,b);}],'java.util.HashMap/962170901':[function(a){return bVb(a);},function(a,b){Cm(a,b);},function(a,b){Dm(a,b);}],'java.util.HashSet/1594477813':[function(a){return cVb(a);},function(a,b){an(a,b);},function(a,b){bn(a,b);}],'java.util.Vector/3125574444':[function(a){return dVb(a);},function(a,b){en(a,b);},function(a,b){fn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return iVb(a);},function(a,b){ygb(a,b);},function(a,b){zgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return jVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return lVb(a);},function(a,b){rhb(a,b);},function(a,b){shb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return kVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return nVb(a);},function(a,b){zhb(a,b);},function(a,b){Ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return mVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return pVb(a);},function(a,b){bib(a,b);},function(a,b){cib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return oVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn rVb(a);},function(a,b){iib(a,b);},function(a,b){jib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return qVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return tVb(a);},function(a,b){qib(a,b);},function(a,b){rib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return sVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return vVb(a);},function(a,b){yib(a,b);},function(a,b){zib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return uVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return xVb(a);},function(a,b){ajb(a,b);},function(a,b){bjb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn wVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return zVb(a);},function(a,b){ijb(a,b);},function(a,b){jjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return yVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return BVb(a);},function(a,b){ojb(a,b);},function(a,b){pjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return AVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return DVb(a);},function(a,b){wjb(a,b);},function(a,b){xjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return CVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return FVb(a);},function(a,b){ckb(a,b);},function(a,b){dkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return EVb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return aWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return bWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return cWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return dWb(a);},function(a,b){lkb(a,b);},function(a,b){mkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return fWb(a);},function(a,b){tkb(a,b);},function(a,b!
 ){ukb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return eWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return gWb(a);},function(a,b){ilb(a,b);},function(a,b){jlb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return iWb(a);},function(a,b){rlb(a,b);},function(a,b){slb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return hWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return kWb(a);},function(a,b){lLb(a,b);},function(a,b){mLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return jWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return lWb(a);},function(a,b){sLb(a,b);},function(a,b){uLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return mWb(a);},function(a,b){ELb(a,b);},function(a,b){FLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return oWb(a);},function(a,b){eMb(a,b);},function(a,b){fMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return nWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return pWb(a);},function(a,b){eXb(a,b);},function(a,b){fXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return qWb(a);},function(a,b){kXb(a,b);},function(a,b){lXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return rWb(a);},function(a,b){rYb(a,b);},function(a,b){sYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return tWb(a);},function(a,b){xYb(a,b);},function(a,b){yYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn sWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return uWb(a);},function(a,b){DYb(a,b);},function(a,b){EYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return vWb(a);},function(a,b){dZb(a,b);},function(a,b){eZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return xWb(a);},function(a,b){jZb(a,b);},function(a,b){kZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return wWb(a);},function(a,b){gm(a,b);},function(a,b){hm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return yWb(a);},function(a,b){qZb(a,b);},function(a,b){rZb(a,b);}]};}
-function CUb(){AUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
-function DUb(b){AUb();var a;a=b.Dd();return yb('[B',[622],[(-1)],[a],0);}
-function EUb(a){AUb();return cl(new bl());}
-function FUb(a){AUb();return new nl();}
-function aVb(a){AUb();return oY(new mY());}
-function bVb(a){AUb();return l1(new p0());}
-function cVb(a){AUb();return f2(new e2());}
-function dVb(a){AUb();return y2(new x2());}
-function eVb(a){AUb();return new rD();}
-function fVb(a){AUb();return new gI();}
-function gVb(a){AUb();return new iI();}
-function hVb(b){AUb();var a;a=b.Dd();return yb('[Ljava.lang.String;',[609],[1],[a],null);}
-function iVb(a){AUb();return jgb(new hgb());}
-function jVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[626],[24],[a],null);}
-function kVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[619],[18],[a],null);}
-function lVb(a){AUb();return new mhb();}
-function mVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[627],[25],[a],null);}
-function nVb(a){AUb();return uhb(new thb());}
-function oVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[628],[26],[a],null);}
-function pVb(a){AUb();return Chb(new Bhb());}
-function qVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[629],[27],[a],null);}
-function rVb(a){AUb();return new dib();}
-function sVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[630],[28],[a],null);}
-function tVb(a){AUb();return lib(new kib());}
-function uVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[631],[29],[a],null);}
-function vVb(a){AUb();return tib(new sib());}
-function wVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[632],[30],[a],null);}
-function xVb(a){AUb();return new Aib();}
-function yVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[633],[31],[a],null);}
-function zVb(a){AUb();return new cjb();}
-function AVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[616],[15],[a],null);}
-function BVb(a){AUb();return new kjb();}
-function CVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[615],[14],[a],null);}
-function DVb(a){AUb();return new qjb();}
-function EVb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[617],[16],[a],null);}
-function FVb(a){AUb();return new zjb();}
-function aWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[618],[17],[a],null);}
-function bWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[625],[23],[a],null);}
-function cWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[624],[22],[a],null);}
-function dWb(a){AUb();return new hkb();}
-function eWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[623],[21],[a],null);}
-function fWb(a){AUb();return new okb();}
-function gWb(a){AUb();return ykb(new wkb());}
-function hWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[634],[32],[a],null);}
-function iWb(a){AUb();return new klb();}
-function jWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[610],[10],[a],null);}
-function kWb(a){AUb();return new hLb();}
-function lWb(a){AUb();return new oLb();}
-function mWb(a){AUb();return yLb(new wLb());}
-function nWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[620],[19],[a],null);}
-function oWb(a){AUb();return new aMb();}
-function pWb(a){AUb();return new aXb();}
-function qWb(a){AUb();return new gXb();}
-function rWb(a){AUb();return new nYb();}
-function sWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[611],[11],[a],null);}
-function tWb(a){AUb();return new tYb();}
-function uWb(a){AUb();return new zYb();}
-function vWb(a){AUb();return new FYb();}
-function wWb(b){AUb();var a;a=b.Dd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[614],[13],[a],null);}
-function xWb(a){AUb();return new fZb();}
-function yWb(a){AUb();return new mZb();}
-function zWb(c,a,d){var b=CWb[d];if(!b){DWb(d);}b[1](c,a);}
-function AWb(b){var a=FWb[b];return a==null?b:a;}
-function BWb(b,c){var a=CWb[c];if(!a){DWb(c);}return a[0](b);}
-function DWb(a){AUb();throw xl(new wl(),a);}
-function EWb(c,a,d){var b=CWb[d];if(!b){DWb(d);}b[2](c,a);}
-function yUb(){}
-_=yUb.prototype=new gU();_.kb=zWb;_.dc=AWb;_.pc=BWb;_.ke=EWb;_.tN=pgc+'RepositoryService_TypeSerializer';_.tI=487;var CWb,FWb;function aXb(){}
-_=aXb.prototype=new gU();_.tN=pgc+'RuleAsset';_.tI=488;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function eXb(b,a){a.a=b.Bd();a.b=Fb(b.Fd(),39);a.c=b.Bd();a.d=Fb(b.Fd(),93);a.e=b.ae();}
-function fXb(b,a){b.df(a.a);b.hf(a.b);b.df(a.c);b.hf(a.d);b.jf(a.e);}
-function gXb(){}
-_=gXb.prototype=new gU();_.tN=pgc+'RuleContentText';_.tI=489;_.a=null;function kXb(b,a){a.a=b.ae();}
-function lXb(b,a){b.jf(a.a);}
-function BXb(){BXb=e3;FXb=bYb(new aYb());}
-function yXb(a){BXb();return a;}
-function zXb(b,a){if(b.a===null)throw Cl(new Bl());zo(a);vn(a,'org.drools.brms.client.rpc.SecurityService');vn(a,'getCurrentUser');tn(a,0);}
-function AXb(c,b,d,a){if(c.a===null)throw Cl(new Bl());zo(b);vn(b,'org.drools.brms.client.rpc.SecurityService');vn(b,'login');tn(b,2);vn(b,'java.lang.String');vn(b,'java.lang.String');vn(b,d);vn(b,a);}
-function CXb(h,c){var a,d,e,f,g;f=bo(new ao(),FXb);g=vo(new to(),FXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{zXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Fc(d);return;}else throw a;}e=pXb(new oXb(),h,f,c);if(!wg(h.a,Co(g),e))c.Fc(jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DXb(i,j,f,c){var a,d,e,g,h;g=bo(new ao(),FXb);h=vo(new to(),FXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{AXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;ycb(c,d);return;}else throw a;}e=uXb(new tXb(),i,g,c);if(!wg(i.a,Co(h),e))ycb(c,jl(new il(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function EXb(b,a){b.a=a;}
-function nXb(){}
-_=nXb.prototype=new gU();_.tN=pgc+'SecurityService_Proxy';_.tI=490;_.a=null;var FXb;function pXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rXb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=jo(g.b);}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.rd(f);else g.a.Fc(c);}
-function sXb(a){var b;b=x;rXb(this,a);}
-function oXb(){}
-_=oXb.prototype=new gU();_.Cc=sXb;_.tN=pgc+'SecurityService_Proxy$1';_.tI=491;function uXb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wXb(g,e){var a,c,d,f;f=null;c=null;try{if(hV(e,'//OK')){fo(g.b,iV(e,4));f=kS(new jS(),go(g.b));}else if(hV(e,'//EX')){fo(g.b,iV(e,4));c=Fb(nn(g.b),3);}else{c=jl(new il(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=cl(new bl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)F5(g.a,f);else ycb(g.a,c);}
-function xXb(a){var b;b=x;wXb(this,a);}
-function tXb(){}
-_=tXb.prototype=new gU();_.Cc=xXb;_.tN=pgc+'SecurityService_Proxy$2';_.tI=492;function cYb(){cYb=e3;jYb=dYb();mYb=eYb();}
-function bYb(a){cYb();return a;}
-function dYb(){cYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return fYb(a);},function(a,b){gl(a,b);},function(a,b){hl(a,b);}],'java.lang.String/2004016611':[function(a){return lm(a);},function(a,b){km(a,b);},function(a,b){mm(a,b);}]};}
-function eYb(){cYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
-function fYb(a){cYb();return cl(new bl());}
-function gYb(c,a,d){var b=jYb[d];if(!b){kYb(d);}b[1](c,a);}
-function hYb(b){var a=mYb[b];return a==null?b:a;}
-function iYb(b,c){var a=jYb[c];if(!a){kYb(c);}return a[0](b);}
-function kYb(a){cYb();throw xl(new wl(),a);}
-function lYb(c,a,d){var b=jYb[d];if(!b){kYb(d);}b[2](c,a);}
-function aYb(){}
-_=aYb.prototype=new gU();_.kb=gYb;_.dc=hYb;_.pc=iYb;_.ke=lYb;_.tN=pgc+'SecurityService_TypeSerializer';_.tI=493;var jYb,mYb;function nYb(){}
-_=nYb.prototype=new nl();_.tN=pgc+'SessionExpiredException';_.tI=494;function rYb(b,a){rl(b,a);}
-function sYb(b,a){tl(b,a);}
-function tYb(){}
-_=tYb.prototype=new gU();_.tN=pgc+'SnapshotInfo';_.tI=495;_.a=null;_.b=null;_.c=null;function xYb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.ae();}
-function yYb(b,a){b.jf(a.a);b.jf(a.b);b.jf(a.c);}
-function zYb(){}
-_=zYb.prototype=new gU();_.tN=pgc+'TableConfig';_.tI=496;_.a=null;_.b=0;function DYb(b,a){a.a=Fb(b.Fd(),63);a.b=b.Dd();}
-function EYb(b,a){b.hf(a.a);b.ff(a.b);}
-function FYb(){}
-_=FYb.prototype=new gU();_.tN=pgc+'TableDataResult';_.tI=497;_.a=null;function dZb(b,a){a.a=Fb(b.Fd(),94);}
-function eZb(b,a){b.hf(a.a);}
-function lZb(a){return fV(a,'\\,')[0];}
-function fZb(){}
-_=fZb.prototype=new gU();_.tN=pgc+'TableDataRow';_.tI=498;_.a=null;_.b=null;_.c=null;function jZb(b,a){a.a=b.ae();a.b=b.ae();a.c=Fb(b.Fd(),63);}
-function kZb(b,a){b.jf(a.a);b.jf(a.b);b.hf(a.c);}
-function mZb(){}
-_=mZb.prototype=new gU();_.tN=pgc+'ValidatedResponse';_.tI=499;_.a=null;_.b=null;_.c=false;_.d=null;function qZb(b,a){a.a=b.ae();a.b=b.ae();a.c=b.Bd();a.d=Fb(b.Fd(),39);}
-function rZb(b,a){b.jf(a.a);b.jf(a.b);b.df(a.c);b.hf(a.d);}
-function a1b(a){a.e=tt(new nt());}
-function b1b(j,b,c,a,f,d,g){var e,h,i;a1b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=lz(new pw());i=j.f.r;e=wt(j.e);h=hA(new fA());i1b(j,i);iA(h,j.g);if(!g){e1b(j,e,h);}k1b(j,f,e);or(j,j.e);j.De('100%');return j;}
-function d1b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
-function e1b(h,e,g){var a,b,c,d,f;d=Dcb(new Ccb(),'images/edit.gif');d.ve('Change status.');nB(d,CZb(new tZb(),h));iA(g,d);h.e.Be(0,0,g);dx(e,0,0,(wz(),yz),(Fz(),cA));f=yp(new sp(),'Save changes');f.ve('Check in changes.');f.z(a0b(new FZb(),h));iA(g,f);b=yp(new sp(),'Copy');b.z(e0b(new d0b(),h));iA(g,b);a=yp(new sp(),'Archive');a.z(i0b(new h0b(),h));iA(g,a);if(h.f.v==0){c=yp(new sp(),'Delete');c.z(m0b(new l0b(),h));iA(g,c);}}
-function f1b(b,c){var a;a=o2b(new j2b(),tN(c),uN(c),'Check in changes.');r2b(a,vZb(new uZb(),b,a));s2b(a);}
-function g1b(e,f){var a,b,c,d;a=scb(new ncb(),'images/rule_asset.gif','Copy this item');b=bL(new sK());c=aeb(new Bdb());tcb(a,'New name:',b);tcb(a,'New package:',c);d=yp(new sp(),'Create copy');d.z(y0b(new x0b(),e,c,b,a));tcb(a,'',d);tE(a,dc((uab()-oE(a))/2),100);wE(a);}
-function h1b(b,a){b.c=a;}
-function i1b(b,a){pz(b.g,'Status: <b>['+a+']<\/b>');}
-function j1b(b,c){var a;a=Aeb(new eeb(),b.h,false);Deb(a,zZb(new yZb(),b,a));tE(a,tN(c),uN(c));wE(a);}
-function k1b(e,d,b){var a,c,f;f=hA(new fA());c=Dcb(new Ccb(),'images/max_min.gif');nB(c,q0b(new p0b(),e,d));iA(f,c);a=Dcb(new Ccb(),'images/close.gif');a.ve('Close.');nB(a,u0b(new t0b(),e));iA(f,a);e.e.Be(0,1,f);dx(b,0,1,(wz(),zz),(Fz(),cA));}
-function sZb(){}
-_=sZb.prototype=new mr();_.tN=qgc+'ActionToolbar';_.tI=500;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function CZb(b,a){b.a=a;return b;}
-function EZb(a){j1b(this.a,a);}
-function tZb(){}
-_=tZb.prototype=new gU();_.Bc=EZb;_.tN=qgc+'ActionToolbar$1';_.tI=501;function vZb(b,a,c){b.a=a;b.b=c;return b;}
-function xZb(){this.a.f.b=q2b(this.b);w9b(this.a.b);}
-function uZb(){}
-_=uZb.prototype=new gU();_.rb=xZb;_.tN=qgc+'ActionToolbar$10';_.tI=502;function zZb(b,a,c){b.a=a;b.b=c;return b;}
-function BZb(){i1b(this.a,this.b.c);}
-function yZb(){}
-_=yZb.prototype=new gU();_.rb=BZb;_.tN=qgc+'ActionToolbar$11';_.tI=503;function a0b(b,a){b.a=a;return b;}
-function c0b(a){f1b(this.a,a);}
-function FZb(){}
-_=FZb.prototype=new gU();_.Bc=c0b;_.tN=qgc+'ActionToolbar$2';_.tI=504;function e0b(b,a){b.a=a;return b;}
-function g0b(a){g1b(this.a,a);}
-function d0b(){}
-_=d0b.prototype=new gU();_.Bc=g0b;_.tN=qgc+'ActionToolbar$3';_.tI=505;function i0b(b,a){b.a=a;return b;}
-function k0b(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+c0(AZ(new zZ()));B9b(this.a.a);}}
-function h0b(){}
-_=h0b.prototype=new gU();_.Bc=k0b;_.tN=qgc+'ActionToolbar$4';_.tI=506;function m0b(b,a){b.a=a;return b;}
-function o0b(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){f$b(this.a.d);}}
-function l0b(){}
-_=l0b.prototype=new gU();_.Bc=o0b;_.tN=qgc+'ActionToolbar$5';_.tI=507;function q0b(b,a,c){b.a=c;return b;}
-function s0b(a){a$b(this.a);}
-function p0b(){}
-_=p0b.prototype=new gU();_.Bc=s0b;_.tN=qgc+'ActionToolbar$6';_.tI=508;function u0b(b,a){b.a=a;return b;}
-function w0b(a){p$b(this.a.c);}
-function t0b(){}
-_=t0b.prototype=new gU();_.Bc=w0b;_.tN=qgc+'ActionToolbar$7';_.tI=509;function y0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
-function A0b(a){zTb(nMb(),this.a.h,ceb(this.d),zK(this.c),C0b(new B0b(),this,this.c,this.d,this.b));}
-function x0b(){}
-_=x0b.prototype=new gU();_.Bc=A0b;_.tN=qgc+'ActionToolbar$8';_.tI=510;function C0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
-function E0b(b,a){d1b(b.a.a,zK(b.c),ceb(b.d));b.b.nc();}
-function F0b(a){E0b(this,a);}
-function B0b(){}
-_=B0b.prototype=new wcb();_.rd=F0b;_.tN=qgc+'ActionToolbar$9';_.tI=511;function a2b(a){a.b=zab(new xab());}
-function b2b(c,a,b){a2b(c);c.a=a;c.c=tt(new nt());g2b(c,c.c);CN(c.c,'rule-List');Cab(c.b,0,0,c.c);if(!b){e2b(c);}or(c,c.b);return c;}
-function c2b(b,a){zLb(b.a,a);i2b(b);}
-function e2b(c){var a,b;a=pO(new nO());b=Dcb(new Ccb(),'images/new_item.gif');b.ve('Add a new category.');nB(b,v1b(new u1b(),c));qO(a,b);Cab(c.b,0,1,a);}
-function f2b(b){var a;a=E1b(new C1b(),b);tE(a,tN(b),uN(b));wE(a);}
-function g2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;az(d,b,0,e.a.a[b]);a=Dcb(new Ccb(),'images/trash.gif');a.ve('Remove this category');nB(a,z1b(new y1b(),e,c));d.Be(b,1,a);}}
-function h2b(b,a){BLb(b.a,a);sab(b);i2b(b);}
-function i2b(a){a.c=tt(new nt());CN(a.c,'rule-List');Cab(a.b,0,0,a.c);g2b(a,a.c);sab(a);}
-function l1b(){}
-_=l1b.prototype=new qab();_.tN=qgc+'AssetCategoryEditor';_.tI=512;_.a=null;_.c=null;function n1b(b,a){b.a=a;return b;}
-function p1b(a){this.a.b=a;}
-function m1b(){}
-_=m1b.prototype=new gU();_.je=p1b;_.tN=qgc+'AssetCategoryEditor$1';_.tI=513;function r1b(b,a){b.a=a;return b;}
-function t1b(a){if(this.a.b!==null&& !FU('',this.a.b)){c2b(this.a.d,this.a.b);}this.a.nc();}
-function q1b(){}
-_=q1b.prototype=new gU();_.Bc=t1b;_.tN=qgc+'AssetCategoryEditor$2';_.tI=514;function v1b(b,a){b.a=a;return b;}
-function x1b(a){f2b(this.a);}
-function u1b(){}
-_=u1b.prototype=new gU();_.Bc=x1b;_.tN=qgc+'AssetCategoryEditor$3';_.tI=515;function z1b(b,a,c){b.a=a;b.b=c;return b;}
-function B1b(a){h2b(this.a,this.b);}
-function y1b(){}
-_=y1b.prototype=new gU();_.Bc=B1b;_.tN=qgc+'AssetCategoryEditor$4';_.tI=516;function F1b(){F1b=e3;mE();}
-function D1b(a){a.a=yp(new sp(),'OK');}
-function E1b(b,a){var c;F1b();b.d=a;jE(b,true);D1b(b);c=pO(new nO());b.c=e_(new t$(),n1b(new m1b(),b));CN(b,'ks-popups-Popup');qO(c,b.c);qO(c,b.a);eH(b,c);b.a.z(r1b(new q1b(),b));return b;}
-function C1b(){}
-_=C1b.prototype=new hE();_.tN=qgc+'AssetCategoryEditor$CategorySelector';_.tI=517;_.b=null;_.c=null;function o2b(c,a,d,b){c.b=scb(new ncb(),'images/checkin.gif',b);c.a=mK(new lK());c.a.De('100%');c.c=yp(new sp(),'Save');tcb(c.b,'Comment',c.a);tcb(c.b,'',c.c);CN(c.b,'ks-popups-Popup');tE(c.b,a,d);return c;}
-function q2b(a){return zK(a.a);}
-function r2b(b,a){b.c.z(l2b(new k2b(),b,a));}
-function s2b(a){tE(a.b,dc((uab()-oE(a.b))/2),100);wE(a.b);}
-function j2b(){}
-_=j2b.prototype=new gU();_.tN=qgc+'CheckinPopup';_.tI=518;_.a=null;_.b=null;_.c=null;function l2b(b,a,c){b.a=a;b.b=c;return b;}
-function n2b(a){this.b.rb();this.a.b.nc();}
-function k2b(){}
-_=k2b.prototype=new gU();_.Bc=n2b;_.tN=qgc+'CheckinPopup$1';_.tI=519;function j3b(){j3b=e3;mE();}
-function h3b(g,f,e){var a,b,c,d;j3b();jE(g,true);g.d=f;g.b=bL(new sK());g.b.De('100%');b='<enter text to filter list>';DK(g.b,'<enter text to filter list>');ou(g.b,v2b(new u2b(),g));wK(g.b,A2b(new z2b(),g,e));g.b.qe(true);d=pO(new nO());qO(d,g.b);g.c=uC(new mC());eD(g.c,5);l3b(g,g5b(g.d,''));qO(d,g.c);c=yp(new sp(),'ok');c.z(a3b(new F2b(),g,e));a=yp(new sp(),'cancel');a.z(e3b(new d3b(),g));g.a=hA(new fA());iA(g.a,c);iA(g.a,a);qO(d,g.a);eH(g,d);CN(g,'ks-popups-Popup');return g;}
-function i3b(b,a){F3b(a,k3b(b));b.nc();}
-function k3b(a){return DC(a.c,EC(a.c));}
-function l3b(c,a){var b;AC(c.c);for(b=0;b<a.b;b++){xC(c.c,Fb(vY(a,b),14).a);}}
-function t2b(){}
-_=t2b.prototype=new hE();_.tN=qgc+'ChoiceList';_.tI=520;_.a=null;_.b=null;_.c=null;_.d=null;function v2b(b,a){b.a=a;return b;}
-function x2b(a){DK(this.a.b,'');}
-function y2b(a){DK(this.a.b,'<enter text to filter list>');}
-function u2b(){}
-_=u2b.prototype=new gU();_.ad=x2b;_.id=y2b;_.tN=qgc+'ChoiceList$1';_.tI=521;function A2b(b,a,c){b.a=a;b.b=c;return b;}
-function C2b(a,b,c){}
-function D2b(a,b,c){}
-function E2b(a,b,c){if(b==13){i3b(this.a,this.b);}else{l3b(this.a,g5b(this.a.d,zK(this.a.b)));}}
-function z2b(){}
-_=z2b.prototype=new gU();_.ed=C2b;_.fd=D2b;_.gd=E2b;_.tN=qgc+'ChoiceList$2';_.tI=522;function a3b(b,a,c){b.a=a;b.b=c;return b;}
-function c3b(a){i3b(this.a,this.b);}
-function F2b(){}
-_=F2b.prototype=new gU();_.Bc=c3b;_.tN=qgc+'ChoiceList$3';_.tI=523;function e3b(b,a){b.a=a;return b;}
-function g3b(a){this.a.nc();}
-function d3b(){}
-_=d3b.prototype=new gU();_.Bc=g3b;_.tN=qgc+'ChoiceList$4';_.tI=524;function D3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=mK(new lK());rK(i.d,10);DK(i.d,i.c.a);i.d.ve('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=dLb((bLb(),gLb),a.d.o);i.a=c.a;i.b=c.b;CN(i.d,'dsl-text-Editor');d=tt(new nt());d.Be(0,0,i.d);vK(i.d,o3b(new n3b(),i));wK(i.d,s3b(new r3b(),i));j=pO(new nO());e=Dcb(new Ccb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.ve('Add a new condition');nB(e,w3b(new v3b(),i));h=Dcb(new Ccb(),'images/new_dsl_action.gif');g='Add an action';h.ve('Add an action');nB(h,A3b(new z3b(),i));qO(j,e);qO(j,h);d.Be(0,1,j);jx(d.n,0,0,'95%');jx(d.n,0,1,'5%');d.De('100%');d.se('100%');or(i,d);return i;}
-function F3b(e,b){var a,c,d;a=oK(e.d);c=jV(zK(e.d),0,a);d=jV(zK(e.d),a,dV(zK(e.d)));DK(e.d,c+b+d);e.c.a=zK(e.d);}
-function a4b(b){var a;a=jV(zK(b.d),0,oK(b.d));if(bV(a,'then')>(-1)){b4b(b,b.a);}else{b4b(b,b.b);}}
-function b4b(c,b){var a;a=h3b(new t2b(),b,c);tE(a,tN(c.d)+20,uN(c.d)+20);wE(a);}
-function m3b(){}
-_=m3b.prototype=new qab();_.tN=qgc+'DSLRuleEditor';_.tI=525;_.a=null;_.b=null;_.c=null;_.d=null;function o3b(b,a){b.a=a;return b;}
-function q3b(a){this.a.c.a=zK(this.a.d);sab(this.a);}
-function n3b(){}
-_=n3b.prototype=new gU();_.Ac=q3b;_.tN=qgc+'DSLRuleEditor$1';_.tI=526;function s3b(b,a){b.a=a;return b;}
-function u3b(a,b,c){if(b==32&&c==2){a4b(this.a);}if(b==9){F3b(this.a,'\t');AK(this.a.d,oK(this.a.d)+1);xK(this.a.d);}}
-function r3b(){}
-_=r3b.prototype=new uB();_.ed=u3b;_.tN=qgc+'DSLRuleEditor$2';_.tI=527;function w3b(b,a){b.a=a;return b;}
-function y3b(a){b4b(this.a,this.a.b);}
-function v3b(){}
-_=v3b.prototype=new gU();_.Bc=y3b;_.tN=qgc+'DSLRuleEditor$3';_.tI=528;function A3b(b,a){b.a=a;return b;}
-function C3b(a){b4b(this.a,this.a.a);}
-function z3b(){}
-_=z3b.prototype=new gU();_.Bc=C3b;_.tN=qgc+'DSLRuleEditor$4';_.tI=529;function l4b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=mK(new lK());rK(b.c,10);DK(b.c,b.b.a);CN(b.c,'default-text-Area');vK(b.c,e4b(new d4b(),b));wK(b.c,i4b(new h4b(),b));or(b,b.c);return b;}
-function n4b(e,b){var a,c,d;a=oK(e.c);c=jV(zK(e.c),0,a);d=jV(zK(e.c),a,dV(zK(e.c)));DK(e.c,c+b+d);e.b.a=zK(e.c);}
-function c4b(){}
-_=c4b.prototype=new qab();_.tN=qgc+'DefaultRuleContentWidget';_.tI=530;_.a=null;_.b=null;_.c=null;function e4b(b,a){b.a=a;return b;}
-function g4b(a){this.a.b.a=zK(this.a.c);sab(this.a);}
-function d4b(){}
-_=d4b.prototype=new gU();_.Ac=g4b;_.tN=qgc+'DefaultRuleContentWidget$1';_.tI=531;function i4b(b,a){b.a=a;return b;}
-function k4b(a,b,c){if(b==9){n4b(this.a,'\t');AK(this.a.c,oK(this.a.c)+1);xK(this.a.c);}}
-function h4b(){}
-_=h4b.prototype=new uB();_.ed=k4b;_.tN=qgc+'DefaultRuleContentWidget$2';_.tI=532;function D4b(){D4b=e3;E4b=b5b();}
-function F4b(a){D4b();var b;b=Fb(r1(E4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
-function a5b(a,b){D4b();if(FU(a.d.k,'brl')){return E8b(new l8b(),uwb(new pub(),a),a);}else if(FU(a.d.k,'dslr')){return E8b(new l8b(),D3b(new m3b(),a),a);}else if(FU(a.d.k,'jar')){return pyb(new oyb(),a,b);}else if(FU(a.d.k,'xls')){return E8b(new l8b(),zfb(new yfb(),a,b),a);}else if(FU(a.d.k,'rf')){return h8b(new g8b(),a,b);}else if(FU(a.d.k,'drl')){return E8b(new l8b(),l4b(new c4b(),a),a);}else if(FU(a.d.k,'enumeration')){return E8b(new l8b(),l4b(new c4b(),a),a);}else{return l4b(new c4b(),a);}}
-function b5b(){D4b();var a;a=l1(new p0());s1(a,'drl','technical_rule_assets.gif');s1(a,'dsl','dsl.gif');s1(a,'function','function_assets.gif');s1(a,'jar','model_asset.gif');s1(a,'xls','spreadsheet_small.gif');s1(a,'brl','business_rule.gif');s1(a,'dslr','business_rule.gif');s1(a,'rf','ruleflow_small.gif');return a;}
-function c5b(d,f,g,e,a){D4b();var b,c,h;h=E$b(new g9b(),a,e);b=a.d.n;if(dV(b)>10){b=jV(b,0,7)+'...';}c=F4b(a.d.k);BJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(oZ(),pZ)){s1(d,g,h);}h_b(h,z4b(new y4b(),f,h,d,g));bK(f,DJ(f,h));}
-function d5b(b,d,e,c){D4b();var a;if(o1(b,e)){if(DJ(d,Fb(r1(b,e),20))==(-1)){a=ac(EJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{bK(d,DJ(d,Fb(r1(b,e),20)));}tdb();return;}kUb(nMb(),e,q4b(new p4b(),b,d,e,c));}
-var E4b;function q4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
-function s4b(c){var a,b;a=Fb(c,97);b=(bLb(),gLb);cLb(b,a.d.o,u4b(new t4b(),this,this.a,this.c,this.d,this.b,a));}
-function p4b(){}
-_=p4b.prototype=new wcb();_.rd=s4b;_.tN=qgc+'EditorLauncher$1';_.tI=533;function u4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
-function w4b(a){c5b(a.b,a.d,a.e,a.c,a.a);}
-function x4b(){w4b(this);}
-function t4b(){}
-_=t4b.prototype=new gU();_.rb=x4b;_.tN=qgc+'EditorLauncher$2';_.tI=534;function z4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
-function B4b(a){aK(a.b,DJ(a.b,a.d));bK(a.b,0);if(a.a!==(oZ(),pZ)){t1(a.a,a.c);}}
-function C4b(){B4b(this);}
-function y4b(){}
-_=y4b.prototype=new gU();_.rb=C4b;_.tN=qgc+'EditorLauncher$3';_.tI=535;function g5b(e,a){var b,c,d;b=oY(new mY());for(c=0;c<e.a;c++){d=e[c];if(FU(a,'')||hV(d.a,a)){qY(b,d);}}return b;}
-function B6b(e,a,c,f,d){var b;ccb(e);CN(e,'metadata-Widget');if(!c){b=Ecb(new Ccb(),'images/edit.gif','Rename this asset');nB(b,s5b(new i5b(),e));gcb(e,'images/meta_data.png',a.n,b);}else{fcb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;a7b(e,a);return e;}
-function C6b(a){a.b=b2b(new l1b(),a.a,a.c);return a.b;}
-function E6b(d,a,e){var b,c;if(!d.c){b=bL(new sK());b.ve(e);DK(b,a.gc());c=p5b(new o5b(),d,a,b);vK(b,c);return b;}else{return eC(new cC(),a.gc());}}
-function F6b(a){if(a.a.v==0){return mz(new pw(),'<i>Not checked in yet<\/i>');}else{return d7b(a,sT(a.a.v));}}
-function a7b(b,a){b.a=a;ecb(b,'Categories:',C6b(b));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Modified on:',c7b(b,b.a.m));ecb(b,'by:',d7b(b,b.a.l));ecb(b,'Note:',d7b(b,b.a.b));ecb(b,'Version:',F6b(b));if(!b.c){ecb(b,'Created on:',c7b(b,b.a.d));}ecb(b,'Created by:',d7b(b,b.a.e));ecb(b,'Format:',mz(new pw(),'<b>'+b.a.k+'<\/b>'));hcb(b,mz(new pw(),'<hr/>'));ecb(b,'Package:',b7b(b,b.a.o));ecb(b,'Subject:',E6b(b,w5b(new v5b(),b),'A short description of the subject matter.'));ecb(b,'Type:',E6b(b,B5b(new A5b(),b),'This is for classification purposes.'));ecb(b,'External link:',E6b(b,a6b(new F5b(),b),'This is for relating the asset to an external system.'));ecb(b,'Source:',E6b(b,f6b(new e6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){hcb(b,cac(new j_b(),b.e,b.a,b.d));}}
-function b7b(d,c){var a,b;if(d.c){return d7b(d,c);}else{b=hA(new fA());CN(b,'metadata-Widget');iA(b,d7b(d,c));a=Dcb(new Ccb(),'images/edit.gif');nB(a,k6b(new j6b(),d,c));iA(b,a);return b;}}
-function c7b(b,a){if(a===null){return null;}else{return eC(new cC(),b0(a));}}
-function d7b(c,b){var a;a=eC(new cC(),b);a.De('100%');return a;}
-function e7b(f,b,e){var a,c,d;c=scb(new ncb(),'images/package_large.png','Move this item to another package');tcb(c,'Current package:',eC(new cC(),b));d=aeb(new Bdb());tcb(c,'New package:',d);a=yp(new sp(),'Change package');tcb(c,'',a);a.z(x6b(new w6b(),f,d,b,c));tE(c,tN(e.v.v),uN(e.v.v));wE(c);}
-function f7b(e,d){var a,b,c;c=scb(new ncb(),'images/package_large.png','Rename this item');a=bL(new sK());tcb(c,'New name',a);b=yp(new sp(),'Rename item');tcb(c,'',b);b.z(o6b(new n6b(),e,a,c));tE(c,tN(d.v.v)-18,uN(d.v.v));wE(c);}
-function g7b(){return this.b.rc()||this.j;}
-function h5b(){}
-_=h5b.prototype=new acb();_.rc=g7b;_.tN=qgc+'MetaDataWidget';_.tI=536;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function s5b(b,a){b.a=a;return b;}
-function u5b(a){f7b(this.a,a);}
-function i5b(){}
-_=i5b.prototype=new gU();_.Bc=u5b;_.tN=qgc+'MetaDataWidget$1';_.tI=537;function k5b(b,a,c){b.a=a;b.b=c;return b;}
-function m5b(b,a){sab(b.a.a);k$b(b.a.a.d);b.b.nc();}
-function n5b(a){m5b(this,a);}
-function j5b(){}
-_=j5b.prototype=new wcb();_.rd=n5b;_.tN=qgc+'MetaDataWidget$10';_.tI=538;function p5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function r5b(a){sab(this.a);this.b.ze(zK(this.c));}
-function o5b(){}
-_=o5b.prototype=new gU();_.Ac=r5b;_.tN=qgc+'MetaDataWidget$11';_.tI=539;function w5b(b,a){b.a=a;return b;}
-function y5b(){return this.a.a.s;}
-function z5b(a){this.a.a.s=a;}
-function v5b(){}
-_=v5b.prototype=new gU();_.gc=y5b;_.ze=z5b;_.tN=qgc+'MetaDataWidget$2';_.tI=540;function B5b(b,a){b.a=a;return b;}
-function D5b(){return this.a.a.u;}
-function E5b(a){this.a.a.u=a;}
-function A5b(){}
-_=A5b.prototype=new gU();_.gc=D5b;_.ze=E5b;_.tN=qgc+'MetaDataWidget$3';_.tI=541;function a6b(b,a){b.a=a;return b;}
-function c6b(){return this.a.a.i;}
-function d6b(a){this.a.a.i=a;}
-function F5b(){}
-_=F5b.prototype=new gU();_.gc=c6b;_.ze=d6b;_.tN=qgc+'MetaDataWidget$4';_.tI=542;function f6b(b,a){b.a=a;return b;}
-function h6b(){return this.a.a.j;}
-function i6b(a){this.a.a.j=a;}
-function e6b(){}
-_=e6b.prototype=new gU();_.gc=h6b;_.ze=i6b;_.tN=qgc+'MetaDataWidget$5';_.tI=543;function k6b(b,a,c){b.a=a;b.b=c;return b;}
-function m6b(a){e7b(this.a,this.b,a);}
-function j6b(){}
-_=j6b.prototype=new gU();_.Bc=m6b;_.tN=qgc+'MetaDataWidget$6';_.tI=544;function o6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function q6b(a){sUb(nMb(),this.a.e,zK(this.b),s6b(new r6b(),this,this.c));}
-function n6b(){}
-_=n6b.prototype=new gU();_.Bc=q6b;_.tN=qgc+'MetaDataWidget$7';_.tI=545;function s6b(b,a,c){b.a=a;b.b=c;return b;}
-function u6b(b,a){k$b(b.a.a.d);zh('Item has been renamed');b.b.nc();}
-function v6b(a){u6b(this,a);}
-function r6b(){}
-_=r6b.prototype=new wcb();_.rd=v6b;_.tN=qgc+'MetaDataWidget$8';_.tI=546;function x6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function z6b(a){if(FU(ceb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}vTb(nMb(),this.a.e,ceb(this.d),'Moved from : '+this.b,k5b(new j5b(),this,this.c));}
-function w6b(){}
-_=w6b.prototype=new gU();_.Bc=z6b;_.tN=qgc+'MetaDataWidget$9';_.tI=547;function y7b(){y7b=e3;vcb();}
-function v7b(a){a.f=bL(new sK());a.b=mK(new lK());a.d=A7b(a);a.g=aeb(new Bdb());}
-function w7b(e,a,d,b,f){var c;y7b();scb(e,'images/new_wiz.gif',f);v7b(e);e.h=d;e.c=b;e.a=a;tcb(e,'Name:',e.f);if(d){tcb(e,'Initial category:',z7b(e));}if(b===null){tcb(e,'Type (format) of rule:',e.d);}tcb(e,'Package:',e.g);rK(e.b,4);e.b.De('100%');tcb(e,'Initial description:',e.b);c=yp(new sp(),'OK');c.z(j7b(new i7b(),e));tcb(e,'',c);CN(e,'ks-popups-Popup');return e;}
-function x7b(e,b,d,c,f,a){y7b();w7b(e,b,d,c,f);deb(e.g,a);return e;}
-function z7b(a){return e_(new t$(),n7b(new m7b(),a));}
-function B7b(a){if(a.c!==null)return a.c;return FC(a.d,EC(a.d));}
-function A7b(b){var a;a=uC(new mC());yC(a,'Business rule (using guided editor)','brl');yC(a,'DRL rule (technical rule - text editor)','drl');yC(a,'Business rule using a DSL (text editor)','dslr');yC(a,'Decision table (spreadsheet)','xls');dD(a,0);return a;}
-function C7b(b){var a;if(b.h&&b.e===null){mfb('You have to pick an initial category.',tN(b),uN(b));return;}else if(zK(b.f)===null||FU('',zK(b.f))){mfb('Rule must have a name',tN(b),uN(b));return;}a=r7b(new q7b(),b);xdb('Please wait ...');DTb(nMb(),zK(b.f),zK(b.b),b.e,ceb(b.g),B7b(b),a);}
-function D7b(a,b){a.a.yd(b);}
-function h7b(){}
-_=h7b.prototype=new ncb();_.tN=qgc+'NewAssetWizard';_.tI=548;_.a=null;_.c=null;_.e=null;_.h=false;function j7b(b,a){b.a=a;return b;}
-function l7b(a){C7b(this.a);}
-function i7b(){}
-_=i7b.prototype=new gU();_.Bc=l7b;_.tN=qgc+'NewAssetWizard$1';_.tI=549;function n7b(b,a){b.a=a;return b;}
-function p7b(a){this.a.e=a;}
-function m7b(){}
-_=m7b.prototype=new gU();_.je=p7b;_.tN=qgc+'NewAssetWizard$2';_.tI=550;function r7b(b,a){b.a=a;return b;}
-function t7b(b,a){var c;c=Fb(a,1);if(hV(c,'DUPLICATE')){tdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{D7b(b.a,Fb(a,1));b.a.nc();}}
-function u7b(a){t7b(this,a);}
-function q7b(){}
-_=q7b.prototype=new wcb();_.rd=u7b;_.tN=qgc+'NewAssetWizard$3';_.tI=551;function d8b(b,a){b.a=mK(new lK());b.a.De('100%');rK(b.a,10);CN(b.a,'rule-viewer-Documentation');b.a.ve('This is rule documentation. Human friendly descriptions of the business logic.');or(b,b.a);f8b(b,a);return b;}
-function f8b(b,a){DK(b.a,a.h);vK(b.a,a8b(new F7b(),b,a));if(a.h===null||FU('',a.h)){DK(b.a,'<documentation>');}}
-function E7b(){}
-_=E7b.prototype=new qab();_.tN=qgc+'RuleDocumentWidget';_.tI=552;_.a=null;function a8b(b,a,c){b.a=a;b.b=c;return b;}
-function c8b(a){this.b.h=zK(this.a.a);sab(this.a);}
-function F7b(){}
-_=F7b.prototype=new gU();_.Ac=c8b;_.tN=qgc+'RuleDocumentWidget$1';_.tI=553;function h8b(b,a,c){xxb(b,a,c);yxb(b,mz(new pw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
-function j8b(){return 'images/ruleflow_large.png';}
-function k8b(){return 'decision-Table-upload';}
-function g8b(){}
-_=g8b.prototype=new jxb();_.xb=j8b;_.ac=k8b;_.tN=qgc+'RuleFlowUploadWidget';_.tI=554;function E8b(c,b,a){c.a=a;c.b=zab(new xab());CN(c.b,'asset-editor-Layout');Cab(c.b,0,0,b);if(!a.c)Cab(c.b,1,0,e9b(c));dx(c.b.n,1,0,(wz(),zz),(Fz(),cA));c.b.De('100%');c.b.se('100%');or(c,c.b);return c;}
-function a9b(a){xdb('Validating item, please wait...');sTb(nMb(),a.a,v8b(new u8b(),a));}
-function b9b(a){xdb('Calculating source...');rTb(nMb(),a.a,A8b(new z8b(),a));}
-function c9b(h,e){var a,b,c,d,f,g;c=scb(new ncb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){ucb(c,mz(new pw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=tt(new nt());CN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.Be(f,0,mB(new wA(),'images/error.gif'));if(FU(d.a,'package')){az(a,f,1,'[package configuration problem] '+d.c);}else{az(a,f,1,d.c);}}g=wG(new uG(),a);g.De('100%');ucb(c,g);}tE(c,100,100);wE(c);tdb();}
-function d9b(b,a){wBb(a,b.a.d.n);tdb();}
-function e9b(b){var a,c,d;a=hA(new fA());d=yp(new sp(),'View source');iA(a,d);c=yp(new sp(),'Validate');iA(a,c);d.z(n8b(new m8b(),b));c.z(r8b(new q8b(),b));CN(a,'asset-validator-Buttons');return a;}
-function f9b(){return Bab(this.b);}
-function l8b(){}
-_=l8b.prototype=new qab();_.rc=f9b;_.tN=qgc+'RuleValidatorWrapper';_.tI=555;_.a=null;_.b=null;function n8b(b,a){b.a=a;return b;}
-function p8b(a){b9b(this.a);}
-function m8b(){}
-_=m8b.prototype=new gU();_.Bc=p8b;_.tN=qgc+'RuleValidatorWrapper$1';_.tI=556;function r8b(b,a){b.a=a;return b;}
-function t8b(a){a9b(this.a);}
-function q8b(){}
-_=q8b.prototype=new gU();_.Bc=t8b;_.tN=qgc+'RuleValidatorWrapper$2';_.tI=557;function v8b(b,a){b.a=a;return b;}
-function x8b(c,a){var b;b=Fb(a,88);c9b(c.a,b);}
-function y8b(a){x8b(this,a);}
-function u8b(){}
-_=u8b.prototype=new wcb();_.rd=y8b;_.tN=qgc+'RuleValidatorWrapper$3';_.tI=558;function A8b(b,a){b.a=a;return b;}
-function C8b(c,a){var b;b=Fb(a,1);d9b(c.a,b);}
-function D8b(a){C8b(this,a);}
-function z8b(){}
-_=z8b.prototype=new wcb();_.rd=D8b;_.tN=qgc+'RuleValidatorWrapper$4';_.tI=559;function E$b(c,a,b){c.a=a;c.g=b;c.e=zab(new xab());e_b(c);or(c,c.e);tdb();return c;}
-function a_b(a){a.a.a=true;b_b(a);B4b(a.b);}
-function b_b(a){jy(a.e);xdb('Saving, please wait...');xTb(nMb(),a.a,x$b(new w$b(),a));}
-function c_b(e){var a,b,c,d;d=scb(new ncb(),'images/warning-large.png','WARNING: Un-committed changes.');b=yp(new sp(),'Discard');a=yp(new sp(),'Cancel');c=hA(new fA());iA(c,b);iA(c,a);ucb(d,mz(new pw(),'Are you sure you want to discard changes?'));ucb(d,c);b.z(n9b(new m9b(),e,d));a.z(r9b(new q9b(),e,d));CN(d,'warning-Popup');tE(d,dc((uab()-oE(d))/2),100);wE(d);}
-function d_b(a){bUb(nMb(),a.a.e,a.a.d.o,s$b(new r$b(),a));}
-function e_b(b){var a;jy(b.e);a=wt(b.e);b.h=b1b(new sZb(),b.a,u9b(new h9b(),b),z9b(new y9b(),b),E9b(new D9b(),b),d$b(new c$b(),b),b.g);Cab(b.e,0,0,b.h);dx(a,0,0,(wz(),zz),(Fz(),cA));b.f=B6b(new h5b(),b.a.d,b.g,b.a.e,i$b(new h$b(),b));Cab(b.e,0,1,b.f);st(a,0,1,3);hx(a,0,1,(Fz(),cA));jx(a,0,1,'30%');b.d=a5b(b.a,b);h1b(b.h,n$b(new m$b(),b));Cab(b.e,1,0,b.d);hx(a,1,0,(Fz(),cA));b.c=d8b(new E7b(),b.a.d);Cab(b.e,2,0,b.c);hx(a,2,0,(Fz(),cA));}
-function f_b(a){if(u_(a.a.d.k)){xdb('Refreshing content assistance...');fLb((bLb(),gLb),a.a.d.o,new B$b());}}
-function g_b(a){kUb(nMb(),a.a.e,j9b(new i9b(),a));}
-function h_b(b,a){b.b=a;}
-function i_b(a){var b;b= !bx(wt(a.e),2,0);ix(wt(a.e),0,1,b);ix(wt(a.e),2,0,b);}
-function g9b(){}
-_=g9b.prototype=new mr();_.tN=qgc+'RuleViewer';_.tI=560;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function u9b(b,a){b.a=a;return b;}
-function w9b(a){b_b(a.a);}
-function x9b(){w9b(this);}
-function h9b(){}
-_=h9b.prototype=new gU();_.rb=x9b;_.tN=qgc+'RuleViewer$1';_.tI=561;function j9b(b,a){b.a=a;return b;}
-function l9b(a){this.a.a=Fb(a,97);e_b(this.a);tdb();}
-function i9b(){}
-_=i9b.prototype=new wcb();_.rd=l9b;_.tN=qgc+'RuleViewer$10';_.tI=562;function n9b(b,a,c){b.a=a;b.b=c;return b;}
-function p9b(a){B4b(this.a.b);this.b.nc();}
-function m9b(){}
-_=m9b.prototype=new gU();_.Bc=p9b;_.tN=qgc+'RuleViewer$11';_.tI=563;function r9b(b,a,c){b.a=c;return b;}
-function t9b(a){this.a.nc();}
-function q9b(){}
-_=q9b.prototype=new gU();_.Bc=t9b;_.tN=qgc+'RuleViewer$12';_.tI=564;function z9b(b,a){b.a=a;return b;}
-function B9b(a){a_b(a.a);}
-function C9b(){B9b(this);}
-function y9b(){}
-_=y9b.prototype=new gU();_.rb=C9b;_.tN=qgc+'RuleViewer$2';_.tI=565;function E9b(b,a){b.a=a;return b;}
-function a$b(a){i_b(a.a);}
-function b$b(){a$b(this);}
-function D9b(){}
-_=D9b.prototype=new gU();_.rb=b$b;_.tN=qgc+'RuleViewer$3';_.tI=566;function d$b(b,a){b.a=a;return b;}
-function f$b(a){d_b(a.a);}
-function g$b(){f$b(this);}
-function c$b(){}
-_=c$b.prototype=new gU();_.rb=g$b;_.tN=qgc+'RuleViewer$4';_.tI=567;function i$b(b,a){b.a=a;return b;}
-function k$b(a){g_b(a.a);}
-function l$b(){k$b(this);}
-function h$b(){}
-_=h$b.prototype=new gU();_.rb=l$b;_.tN=qgc+'RuleViewer$5';_.tI=568;function n$b(b,a){b.a=a;return b;}
-function p$b(a){if(Bab(a.a.e)){c_b(a.a);}else{B4b(a.a.b);}}
-function q$b(){p$b(this);}
-function m$b(){}
-_=m$b.prototype=new gU();_.rb=q$b;_.tN=qgc+'RuleViewer$6';_.tI=569;function s$b(b,a){b.a=a;return b;}
-function u$b(b,a){B4b(b.a.b);}
-function v$b(a){u$b(this,a);}
-function r$b(){}
-_=r$b.prototype=new wcb();_.rd=v$b;_.tN=qgc+'RuleViewer$7';_.tI=570;function x$b(b,a){b.a=a;return b;}
-function z$b(b,a){var c;f_b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){tab(Fb(b.a.d,98));}tab(b.a.f);tab(b.a.c);if(c===null){ybb('Failed to check in the item. Please contact your system administrator.');return;}g_b(b.a);}
-function A$b(a){z$b(this,a);}
-function w$b(){}
-_=w$b.prototype=new wcb();_.rd=A$b;_.tN=qgc+'RuleViewer$8';_.tI=571;function D$b(){tdb();}
-function B$b(){}
-_=B$b.prototype=new gU();_.rb=D$b;_.tN=qgc+'RuleViewer$9';_.tI=572;function cac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=hA(new fA());d.a=tt(new nt());d.a.Be(0,0,eC(new cC(),'Version history'));gx(d.a.n,0,0,'metadata-Widget');b=wt(d.a);fx(b,0,0,(wz(),yz));d.c=Dcb(new Ccb(),'images/refresh.gif');nB(d.c,l_b(new k_b(),d));d.a.Be(0,1,d.c);fx(b,0,1,(wz(),zz));CN(f,'version-browser-Border');iA(f,d.a);d.a.De('100%');f.De('100%');or(d,f);return d;}
-function dac(a){hac(a);fg(p_b(new o_b(),a));}
-function fac(b,a){return C_b(new B_b(),b,a);}
-function gac(a){hUb(nMb(),a.e,t_b(new s_b(),a));}
-function hac(a){rB(a.c,'images/searching.gif');}
-function iac(a){rB(a.c,'images/refresh.gif');}
-function jac(b,a){var c;c=abc(new kac(),b.b,a,b.e,b.d);tE(c,100,100);wE(c);}
-function j_b(){}
-_=j_b.prototype=new mr();_.tN=qgc+'VersionBrowser';_.tI=573;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function l_b(b,a){b.a=a;return b;}
-function n_b(a){dac(this.a);}
-function k_b(){}
-_=k_b.prototype=new gU();_.Bc=n_b;_.tN=qgc+'VersionBrowser$1';_.tI=574;function p_b(b,a){b.a=a;return b;}
-function r_b(){gac(this.a);}
-function o_b(){}
-_=o_b.prototype=new gU();_.rb=r_b;_.tN=qgc+'VersionBrowser$2';_.tI=575;function t_b(b,a){b.a=a;return b;}
-function v_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.Be(1,0,eC(new cC(),'No history.'));iac(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',609,1,['Version number','Comment','Date Modified','Status']);d=fac(i.a,f);h=tfc(d,c,0,false);h.De('100%');i.a.a.Be(1,0,h);b=wt(i.a.a);rt(b,1,0,2);e=yp(new sp(),'View selected version');e.z(y_b(new x_b(),i,h));i.a.a.Be(2,1,e);rt(b,2,1,3);fx(b,2,1,(wz(),xz));iac(i.a);}
-function w_b(a){v_b(this,a);}
-function s_b(){}
-_=s_b.prototype=new wcb();_.rd=w_b;_.tN=qgc+'VersionBrowser$3';_.tI=576;function y_b(b,a,c){b.a=a;b.b=c;return b;}
-function A_b(a){if(this.b.f==0)return;jac(this.a.a,gfc(this.b));}
-function x_b(){}
-_=x_b.prototype=new gU();_.Bc=A_b;_.tN=qgc+'VersionBrowser$4';_.tI=577;function C_b(b,a,c){b.a=c;return b;}
-function E_b(){return this.a.a;}
-function F_b(a){return this.a[a].b;}
-function aac(b,a){return this.a[b].c[a];}
-function bac(b,a){return null;}
-function B_b(){}
-_=B_b.prototype=new gU();_.Cb=E_b;_.cc=F_b;_.hc=aac;_.ic=bac;_.tN=qgc+'VersionBrowser$5';_.tI=578;function bbc(){bbc=e3;bs();}
-function abc(d,a,e,b,c){bbc();Fr(d,false);d.c=e;d.a=b;d.b=c;CN(d,'version-Popup');xdb('Loading version');kUb(nMb(),e,mac(new lac(),d,a));return d;}
-function cbc(b,c){var a;a=o2b(new j2b(),tN(c)+10,uN(c)+10,'Restore this version?');r2b(a,yac(new xac(),b,a));s2b(a);}
-function kac(){}
-_=kac.prototype=new Cr();_.tN=qgc+'VersionViewer';_.tI=579;_.a=null;_.b=null;_.c=null;function mac(b,a,c){b.a=a;b.b=c;return b;}
-function oac(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;ds(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=tt(new nt());d=wt(e);f=yp(new sp(),'Restore this version');f.z(qac(new pac(),this));e.Be(0,0,f);fx(d,0,0,(wz(),yz));b=yp(new sp(),'Close');b.z(uac(new tac(),this));e.Be(0,1,b);fx(d,0,1,(wz(),zz));g=E$b(new g9b(),a,true);g.De('100%');e.Be(1,0,g);rt(d,1,1,2);e.De('100%');AN(e,800,300);es(this.a,e);}
-function lac(){}
-_=lac.prototype=new wcb();_.rd=oac;_.tN=qgc+'VersionViewer$1';_.tI=580;function qac(b,a){b.a=a;return b;}
-function sac(a){cbc(this.a.a,a);}
-function pac(){}
-_=pac.prototype=new gU();_.Bc=sac;_.tN=qgc+'VersionViewer$2';_.tI=581;function uac(b,a){b.a=a;return b;}
-function wac(a){this.a.a.nc();}
-function tac(){}
-_=tac.prototype=new gU();_.Bc=wac;_.tN=qgc+'VersionViewer$3';_.tI=582;function yac(b,a,c){b.a=a;b.b=c;return b;}
-function Aac(){uUb(nMb(),this.a.c,this.a.a,q2b(this.b),Cac(new Bac(),this));}
-function xac(){}
-_=xac.prototype=new gU();_.rb=Aac;_.tN=qgc+'VersionViewer$4';_.tI=583;function Cac(b,a){b.a=a;return b;}
-function Eac(b,a){b.a.a.nc();k$b(b.a.a.b);}
-function Fac(a){Eac(this,a);}
-function Bac(){}
-_=Bac.prototype=new wcb();_.rd=Fac;_.tN=qgc+'VersionViewer$5';_.tI=584;function gcc(a){a.b=(oZ(),pZ);}
-function hcc(a){gcc(a);a.c=AJ(new mJ());a.c.De('100%');a.c.se('100%');BJ(a.c,jcc(a),"<img src='images/explore.gif'/>Explore",true);bK(a.c,0);or(a,a.c);return a;}
-function jcc(i){var a,b,c,d,e,f,g,h;h=tt(new nt());i.a=kdc(new occ(),fbc(new ebc(),i),'rulelist');b=wt(h);d=e_(new t$(),jbc(new ibc(),i,h));f=oec(new tdc(),nbc(new mbc(),i));h.Be(0,1,f);dx(b,0,0,(wz(),yz),(Fz(),cA));dx(b,0,1,(wz(),yz),(Fz(),cA));jx(b,0,0,'30%');jx(b,0,1,'70%');e=yp(new sp(),'Create new rule');e.ve('Create new rule');e.z(sbc(new rbc(),i));g=Dcb(new Ccb(),'images/system_search_small.png');g.ve('Show the rule finder.');nB(g,wbc(new vbc(),i,h,f));a=hA(new fA());iA(a,e);iA(a,g);CN(a,'new-asset-Icons');c=pO(new nO());qO(c,a);qO(c,d);c.De('100%');h.Be(0,0,c);return h;}
-function kcc(c,a,b){return Abc(new zbc(),c,b,a);}
-function lcc(b,a){b.b=a;}
-function mcc(a,b){d5b(a.b,a.c,b,false);}
-function ncc(c){var a,b,d;a=70;d=100;b=w7b(new h7b(),dcc(new ccc(),c),true,null,'Create a new rule');tE(b,a,d);wE(b);}
-function dbc(){}
-_=dbc.prototype=new mr();_.tN=rgc+'AssetBrowser';_.tI=585;_.a=null;_.c=null;function fbc(b,a){b.a=a;return b;}
-function hbc(a){mcc(this.a,a);}
-function ebc(){}
-_=ebc.prototype=new gU();_.yd=hbc;_.tN=rgc+'AssetBrowser$1';_.tI=586;function jbc(b,a,c){b.a=a;b.b=c;return b;}
-function lbc(b){var a;a=kcc(this.a,this.a.a,b);this.b.Be(0,1,this.a.a);xdb('Retrieving list, please wait...');fg(a);qdc(this.a.a,a);}
-function ibc(){}
-_=ibc.prototype=new gU();_.je=lbc;_.tN=rgc+'AssetBrowser$2';_.tI=587;function nbc(b,a){b.a=a;return b;}
-function pbc(b,a){mcc(b.a,a);}
-function qbc(a){pbc(this,a);}
-function mbc(){}
-_=mbc.prototype=new gU();_.yd=qbc;_.tN=rgc+'AssetBrowser$3';_.tI=588;function sbc(b,a){b.a=a;return b;}
-function ubc(a){ncc(this.a);}
-function rbc(){}
-_=rbc.prototype=new gU();_.Bc=ubc;_.tN=rgc+'AssetBrowser$4';_.tI=589;function wbc(b,a,d,c){b.b=d;b.a=c;return b;}
-function ybc(a){this.b.Be(0,1,this.a);}
-function vbc(){}
-_=vbc.prototype=new gU();_.Bc=ybc;_.tN=rgc+'AssetBrowser$5';_.tI=590;function Abc(b,a,d,c){b.b=d;b.a=c;return b;}
-function Cbc(){xdb('Loading list, please wait...');lUb(nMb(),this.b,Ebc(new Dbc(),this,this.a));}
-function zbc(){}
-_=zbc.prototype=new gU();_.rb=Cbc;_.tN=rgc+'AssetBrowser$6';_.tI=591;function Ebc(b,a,c){b.a=c;return b;}
-function acc(c,a){var b;b=Fb(a,62);pdc(c.a,b);tdb();}
-function bcc(a){acc(this,a);}
-function Dbc(){}
-_=Dbc.prototype=new wcb();_.rd=bcc;_.tN=rgc+'AssetBrowser$7';_.tI=592;function dcc(b,a){b.a=a;return b;}
-function fcc(a){mcc(this.a,a);}
-function ccc(){}
-_=ccc.prototype=new gU();_.yd=fcc;_.tN=rgc+'AssetBrowser$8';_.tI=593;function ldc(){ldc=e3;rdc=nMb();}
-function jdc(a){a.c=tt(new nt());a.e=Dcb(new Ccb(),'images/refresh.gif');a.a=dC(new cC());}
-function kdc(c,a,b){ldc();jdc(c);ndc(c);odc(c,b);c.e.Ae(false);c.b=a;c.e.ve('Refresh current list. Will show any changes.');nB(c.e,qcc(new pcc(),c));return c;}
-function mdc(a){return lZb(gfc(a.f));}
-function ndc(c){var a,b;a=wt(c.c);c.c.De('100%');dx(a,0,0,(wz(),yz),(Fz(),cA));b=Dcb(new Ccb(),'images/open_item.gif');nB(b,zcc(new ycc(),c));b.ve('Open item');c.c.Be(0,1,b);dx(a,0,1,(wz(),zz),(Fz(),cA));or(c,c.c);}
-function odc(b,a){nUb(rdc,a,ucc(new tcc(),b));}
-function pdc(g,a){var b,c,d,e,f;b=wt(g.c);g.c.Be(1,0,null);if(a===null||a.a.a==0){d=new Ccc();g.f=tfc(d,g.g.a,25,true);g.a.Ae(false);}else{f=a.a;c=ddc(new cdc(),g,f);g.f=tfc(c,g.g.a,25,true);e=hA(new fA());iA(e,g.e);g.a.Ae(true);jC(g.a,'  '+a.a.a+' items.');iA(e,g.a);g.c.Be(0,0,e);}g.f.De('100%');g.c.Be(1,0,g.f);rt(b,1,0,2);}
-function qdc(b,a){b.d=a;b.e.Ae(true);}
-function occ(){}
-_=occ.prototype=new mr();_.tN=rgc+'AssetItemListViewer';_.tI=594;_.b=null;_.d=null;_.f=null;_.g=null;var rdc;function qcc(b,a){b.a=a;return b;}
-function scc(a){xdb('Refreshing list, please wait...');this.a.d.rb();}
-function pcc(){}
-_=pcc.prototype=new gU();_.Bc=scc;_.tN=rgc+'AssetItemListViewer$1';_.tI=595;function ucc(b,a){b.a=a;return b;}
-function wcc(b,a){b.a.g=Fb(a,99);pdc(b.a,null);}
-function xcc(a){wcc(this,a);}
-function tcc(){}
-_=tcc.prototype=new wcb();_.rd=xcc;_.tN=rgc+'AssetItemListViewer$2';_.tI=596;function zcc(b,a){b.a=a;return b;}
-function Bcc(a){xdb('Loading item, please wait ...');this.a.b.yd(lZb(gfc(this.a.f)));}
-function ycc(){}
-_=ycc.prototype=new gU();_.Bc=Bcc;_.tN=rgc+'AssetItemListViewer$3';_.tI=597;function Ecc(){return 0;}
-function Fcc(a){return '';}
-function adc(b,a){return '';}
-function bdc(b,a){return null;}
-function Ccc(){}
-_=Ccc.prototype=new gU();_.Cb=Ecc;_.cc=Fcc;_.hc=adc;_.ic=bdc;_.tN=rgc+'AssetItemListViewer$4';_.tI=598;function ddc(b,a,c){b.a=a;b.b=c;return b;}
-function fdc(){return this.b.a;}
-function gdc(a){return this.b[a].b;}
-function hdc(b,a){return this.b[b].c[a];}
-function idc(b,a){if(FU(this.a.g.a[a],'*')){return mB(new wA(),'images/'+F4b(this.b[b].a));}else{return null;}}
-function cdc(){}
-_=cdc.prototype=new gU();_.Cb=fdc;_.cc=gdc;_.hc=hdc;_.ic=idc;_.tN=rgc+'AssetItemListViewer$5';_.tI=599;function oec(d,a){var b,c;d.c=dcb(new acb(),'images/system_search.png','');d.e=F_(new v_(),vdc(new udc(),d));CN(d.e,'gwt-TextBox');d.b=a;c=hA(new fA());b=yp(new sp(),'Go');b.z(zdc(new ydc(),d));iA(c,d.e);iA(c,b);d.a=kq(new hq(),'Include archived items in list');CN(d.a,'small-Text');oq(d.a,false);ecb(d.c,'Find items with a name matching:',c);hcb(d.c,d.a);hcb(d.c,mz(new pw(),'<hr/>'));d.d=tt(new nt());d.d.Be(0,0,mz(new pw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));hcb(d.c,d.d);CN(d.d,'editable-Surface');wK(d.e,qec(d));CN(d.c,'quick-find');or(d,d.c);return d;}
-function qec(a){return bec(new aec(),a);}
-function rec(c,a,b){oUb(nMb(),a,5,nq(c.a),Ddc(new Cdc(),c,b));}
-function sec(f,d){var a,b,c,e;a=tt(new nt());if(d.a.a==1){pbc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(FU(e.b,'MORE')){a.Be(b,0,mz(new pw(),'<i>There are more items... try narrowing the search terms..<\/i>'));rt(wt(a),b,0,3);}else{a.Be(b,0,eC(new cC(),e.c[0]));a.Be(b,1,eC(new cC(),e.c[1]));c=yp(new sp(),'Open');c.z(lec(new kec(),f,e));a.Be(b,2,c);}}a.De('100%');f.d.Be(0,0,a);tdb();}
-function tec(a){xdb('Searching...');oUb(nMb(),zK(a.e),15,nq(a.a),hec(new gec(),a));}
-function tdc(){}
-_=tdc.prototype=new mr();_.tN=rgc+'QuickFindWidget';_.tI=600;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function vdc(b,a){b.a=a;return b;}
-function xdc(c,b,a){rec(c.a,b,a);}
-function udc(){}
-_=udc.prototype=new gU();_.tN=rgc+'QuickFindWidget$1';_.tI=601;function zdc(b,a){b.a=a;return b;}
-function Bdc(a){tec(this.a);}
-function ydc(){}
-_=ydc.prototype=new gU();_.Bc=Bdc;_.tN=rgc+'QuickFindWidget$2';_.tI=602;function Ddc(b,a,c){b.a=c;return b;}
-function Fdc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[609],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!FU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}D_(this.a,c);}
-function Cdc(){}
-_=Cdc.prototype=new wcb();_.rd=Fdc;_.tN=rgc+'QuickFindWidget$3';_.tI=603;function bec(b,a){b.a=a;return b;}
-function dec(a,b,c){}
-function eec(a,b,c){}
-function fec(a,b,c){if(b==13){tec(this.a);}}
-function aec(){}
-_=aec.prototype=new gU();_.ed=dec;_.fd=eec;_.gd=fec;_.tN=rgc+'QuickFindWidget$4';_.tI=604;function hec(b,a){b.a=a;return b;}
-function jec(a){var b;b=Fb(a,62);sec(this.a,b);}
-function gec(){}
-_=gec.prototype=new wcb();_.rd=jec;_.tN=rgc+'QuickFindWidget$5';_.tI=605;function lec(b,a,c){b.a=a;b.b=c;return b;}
-function nec(a){pbc(this.a.b,this.b.b);}
-function kec(){}
-_=kec.prototype=new gU();_.Bc=nec;_.tN=rgc+'QuickFindWidget$6';_.tI=606;function wec(a){a.a=oY(new mY());}
-function xec(a){wec(a);return a;}
-function yec(b,a,c){if(a>=b.a.b){zec(b,a);}BY(b.a,a,c);}
-function zec(c,a){var b;for(b=c.a.b;b<=a;b++){qY(c.a,null);}}
-function Bec(b,a){return vY(b.a,a);}
-function Cec(b,a){b.b=a;}
-function Dec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(Bec(this,this.b),34);b=Fb(Bec(d,this.b),34);return a.db(b);}
-function vec(){}
-_=vec.prototype=new gU();_.db=Dec;_.tN=sgc+'RowData';_.tI=607;_.b=0;function Fec(a){a.j=oY(new mY());a.i=oY(new mY());}
-function afc(c,b,a){cw(c,b+1,a);Fec(c);fy(c,c);CN(c,wfc);return c;}
-function bfc(c,b,a){if(b!=0){return;}nfc(c,a);pfc(c,a);ffc(c);}
-function dfc(e){var a,b,c,d,f;if(e.h==rfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(vY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Bec(b,a);jfc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(vY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Bec(b,a);jfc(e,d,a,f.tS());}}}}
-function efc(d){var a,b,c;c=0;for(b=d.i.sc();b.mc();){a=Fb(b.uc(),1);hfc(d,a,c++);}}
-function ffc(a){efc(a);dfc(a);}
-function gfc(a){return qy(a,a.f,a.e);}
-function hfc(d,c,b){var a;a=rU(new qU());tU(a,c);tU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==rfc){tU(a,"'"+d.a+"' alt='Ascending' ");}else{tU(a,"'"+d.c+"' alt='Descending' ");}}else{tU(a,"'"+d.b+"'");}tU(a,'/>');Ey(d,0,b,xU(a));tx(d.p,0,xfc);}
-function ifc(c,b,a){if(b%2==0){gx(c.n,b,a,vfc);}}
-function jfc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.Be(b,a,mB(new wA(),'images/'+F4b(d)));else az(c,b,a,d);}}
-function kfc(c,b,a){pY(c.i,a,b);hfc(c,b,a);}
-function lfc(b,a){b.d=a;}
-function mfc(b,a){b.e=a;ix(b.n,0,a,false);}
-function nfc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(vY(d.j,b),100);Cec(a,c);}}
-function ofc(d,b,a,e,f){var c;if(b==0)return;ifc(d,b,a);if(b-1>=d.j.b||null===vY(d.j,b-1)){pY(d.j,b-1,xec(new vec()));}c=Fb(vY(d.j,b-1),100);yec(c,a,e);if(f===null){az(d,b,a,''+e+'');}else{d.Be(b,a,f);}if(a==d.e){ix(d.n,b,a,false);}}
-function pfc(b,a){rZ(b.j);if(b.g!=a){b.h=rfc;}else{b.h=b.h==rfc?sfc:rfc;}b.g=a;}
-function qfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){gx(a,c,b,yfc);if(d.f%2==0&&d.f!=0){gx(a,d.f,b,vfc);}else{cx(a,d.f,b,yfc);}}d.f=c;}}
-function tfc(a,d,b,c){var e,f,g;g=null;if(b>a.Cb()){g=afc(new Eec(),b,d.a+1);ofc(g,1,1,'',null);}else{g=afc(new Eec(),a.Cb()+1,d.a+1);}kfc(g,'',0);for(e=0;e<d.a;e++){kfc(g,d[e],e+1);}mfc(g,0);for(e=0;e<a.Cb();e++){ofc(g,e+1,0,a.cc(e),null);for(f=0;f<d.a;f++){ofc(g,e+1,f+1,a.hc(e,f),a.ic(e,f));}}lfc(g,c);return g;}
-function ufc(c,b,a){if(b<=this.j.b){qfc(this,b);bfc(this,b,a);}}
-function Eec(){}
-_=Eec.prototype=new aw();_.zc=ufc;_.tN=sgc+'SortableTable';_.tI=608;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var rfc=0,sfc=1,vfc='rule-ListEvenRow',wfc='rule-List',xfc='rule-ListHeader',yfc='rule-SelectedRow';function aS(){q4(m4(new b4()));}
-function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{aS();}catch(a){b(d);}else{aS();}}
-var gc=[{},{12:1},{1:1,12:1,34:1,35:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{2:1,12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1},{8:1,12:1},{8:1,12:1},{8:1,12:1},{12:1},{2:1,6:1,12:1},{2:1,12:1},{9:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1},{3:1,12:1},{3:1,12:1,39:1},{3:1,12:1,92:1},{3:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,36:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,49:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1,33:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,43:1},{12:1,49:!
 1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,81:1},{12:1,20:1,36:1,37:1,81:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,46:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,49:1,56:1},{12:1,39:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,49:1},{12:1},{12:1,20:1,36:1,37:1,87:1},{12:1,20:1,36:1,37:1,48:1,54:1},{9:1,12:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,39:1},{12:1,39:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,50:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,80:1},{12:1,20:1,36:1,37:1,54:1},{12:1,36:1,52:1},{12:1,36:1,52:1},{12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1},{12:1},{12!
 :1},{12:1},{12:1},{12:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1},{12:1}
,{12:1},{3:1,12:1},{12:1,55:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{12:1,35:1},{3:1,12:1},{12:1},{12:1,57:1},{12:1,49:1,58:1},{12:1,49:1,58:1},{12:1},{12:1,49:1},{12:1},{12:1},{12:1,34:1,59:1},{12:1,57:1},{12:1,60:1},{12:1,49:1,58:1},{12:1},{12:1,49:1,58:1},{3:1,12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{7:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{8:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{1!
 2:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,53:1},{12:1,42:1},{12:1},{12:1},{12:1,36:1,52:1,64:1},{12:1,20:1,36:1,37:1,46:1,80:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,20:1,36:1,37:1,81:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,65:1},{12:1,20:1,36:1,37:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,38:1,39:1,91:1},{12:1,23:1,24:1,38:1,39:1},{12:1,18:1,38:1,39:1},{12:1,23:1,24:1,!
 25:1,38:1,39:1},{12:1,23:1,24:1,25:1,26:1,38:1,39:1},{12:1,23:1,27:1,3
8:1,39:1},{12:1,23:1,24:1,28:1,38:1,39:1},{12:1,23:1,24:1,28:1,29:1,38:1,39:1},{12:1,22:1,30:1,38:1,39:1},{12:1,17:1,31:1,38:1,39:1},{12:1,38:1,39:1,40:1},{12:1,15:1,38:1,39:1,40:1},{12:1,14:1,22:1,23:1,38:1,39:1},{12:1,16:1,22:1,38:1,39:1},{12:1,21:1,38:1,39:1},{12:1,38:1,39:1,83:1},{12:1,17:1,32:1,38:1,39:1,40:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,84:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,41:1},{4:1,12:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,46:1},{12:1,41:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,82:1,98:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:!
 1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,46:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{4:1,!
 12:1},{12:1,42:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1
,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1},{4:1,12:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1,53:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,90:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,42:1},{12:1,53:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1},{10:1,12:1,39:1},{3:1,12:1,39:1,70:1},{12:1,39:1,93:1},{12:1,19:1,39:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,39:1,97:1},{12:1,39:1,95:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1,69:1},{11:1,12:1,39:1},{12:1,39:1,99:1},{12:1,39:1,6!
 2:1},{12:1,13:1,39:1},{12:1,39:1,89:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,44:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1},{12:1,41:1},{12:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{!
 4:1,12:1},{4:1,12:1},{4:1,12:1},{4:1,12:1},{12:1},{12:1},{4:1,12:1},{1
2:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{12:1,46:1},{12:1},{12:1,42:1},{12:1,34:1,100:1},{12:1,20:1,36:1,37:1,51:1,54:1},{12:1,63:1},{12:1,88:1},{12:1,86:1},{12:1},{12:1},{12:1,94:1},{12:1,72:1,77:1,78:1},{12:1,79:1},{12:1,74:1,77:1},{12:1,75:1},{12:1,73:1},{12:1,71:1},{12:1},{12:1},{12:1,76:1},{12:1,77:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,77:1},{12:1,75:1},{12:1,75:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1}];if (org_drools_brms_JBRMS) {  var __gwt_initHandlers = org_drools_brms_JBRMS.__gwt_initHandlers;  org_drools_brms_JBRMS.onScriptLoad(gwtOnLoad);}})();
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/6FEDE8D1DBD62A174C4FA792B2C52A1C.cache.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cache-entry>
-	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_TypeSerializer" hash="619B51D664C2EA16C242AAF2AF6BA7E6"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.BuilderResult_FieldSerializer" hash="31FA4ADBFB94FFD9001BA8C2A4417504"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.DSLSentence_FieldSerializer" hash="35AB7D23CC662D4F726060AA9938F6C6"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableDataResult_FieldSerializer" hash="BFC3EC8D02BADBA251CA3B7A7F85C809"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleAttribute_FieldSerializer" hash="7BF092FF4AE3E8CB784A96421E7BC6B4"/>
-	<generated-type-hash class="com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException_FieldSerializer" hash="FF198044879E67E1ACF2E0C29CC58CB5"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.MultiWordSuggestOracle_MultiWordSuggestion_FieldSerializer" hash="1721A875793F79F044BA9AEC6543C8A2"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.TreeImages_generatedBundle" hash="C4DB9D53C840859028C6F483DB58A75C"/>
-	<generated-type-hash class="com.google.gwt.user.client.rpc.SerializableException_FieldSerializer" hash="1CB9B63ABEC9BE7E663F6C56AA395208"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Request_FieldSerializer" hash="93219A0D78603408F1E24CE444809ADE"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableConfig_FieldSerializer" hash="68BF54922D06AC518871EB9FEFD7D68E"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionRetractFact_FieldSerializer" hash="3ABE2631C28ACB7B3C1358BD27C80255"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SnapshotInfo_FieldSerializer" hash="995C2E7AEC07438074706D40B4864FF5"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertFact_FieldSerializer" hash="B3DA8CF19248044B9B347AFEE8AAC7F7"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.ValidatedResponse_FieldSerializer" hash="15269178DE71D238F26587B3095E7A9A"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint_FieldSerializer" hash="8606C355A0F17A64941EB10EFAB41036"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionSetField_FieldSerializer" hash="7F0BA1987E3FB650C44049758B209A0E"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint_FieldSerializer" hash="F30861DCB878C093201710AE55E3EF52"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFactPattern_FieldSerializer" hash="85DD7A29F613D6A493314730060FF12A"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldValue_FieldSerializer" hash="C12B27B0B8651B5CCA2358C044C74DD1"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.DetailedSerializableException_FieldSerializer" hash="CE21C342ABA475456EAAE97B0AE44393"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.MetaData_FieldSerializer" hash="C7F537CFDF5A4E02C318B4614CEC20EA"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact_FieldSerializer" hash="8646F66FFEBDCE52535B8FBA9AE37830"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.SuggestionCompletionEngine_FieldSerializer" hash="1BED05A61D2EFBC600410686A3304B3E"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RuleAsset_FieldSerializer" hash="7D9F400F79A33BD99A5721E52B6EDBA7"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.SingleFieldConstraint_FieldSerializer" hash="C2DB414BB43FE22A8E8CDBA910564AA6"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Response_FieldSerializer" hash="1C6D42E0AC1FE9CDD63B791E11BD9615"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.PackageConfigData_FieldSerializer" hash="1C8237E912FA51556E3496683D32C8B5"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.FactPattern_FieldSerializer" hash="5535A6C88015EE51C5F4FA808DFAA8ED"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SessionExpiredException_FieldSerializer" hash="0A173F0D6310FDB17BD90CBB1948DC75"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableDataRow_FieldSerializer" hash="411D058D97408AAE2C3EBA1620048463"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_Proxy" hash="EE514DB88A5F377A761E4D0AAB187640"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldList_FieldSerializer" hash="73DAB0917FEA7A2E484F4B12C200C868"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_TypeSerializer" hash="8DCA6439D096072B75D6701D8B54A1DA"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionUpdateField_FieldSerializer" hash="53DAC10B208EAD97D6542560F2C8BAAD"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RuleContentText_FieldSerializer" hash="9F5834F874613140D0BDEC4056C49928"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_Proxy" hash="0549B5DD064B695F228AA7312765E9C0"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ConnectiveConstraint_FieldSerializer" hash="BF0E8BCBA71D0333FD6536A3B7B09370"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleModel_FieldSerializer" hash="2A44CFABD8B63D33EFAA2FF86226638A"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.TextBoxImpl" out="com.google.gwt.user.client.ui.impl.TextBoxImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.ListBox.Impl" out="com.google.gwt.user.client.ui.ListBox.Impl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.FocusImpl" out="com.google.gwt.user.client.ui.impl.FocusImplOld"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.ClippedImageImpl" out="com.google.gwt.user.client.ui.impl.ClippedImageImpl"/>
-	<rebind-decision in="org.drools.brms.client.JBRMSEntryPoint" out="org.drools.brms.client.JBRMSEntryPoint"/>
-	<rebind-decision in="org.drools.brms.client.rpc.RepositoryService" out="org.drools.brms.client.rpc.RepositoryService_Proxy"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.HistoryImpl" out="com.google.gwt.user.client.impl.HistoryImplMozilla"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.DOMImpl" out="com.google.gwt.user.client.impl.DOMImplMozillaOld"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.PopupImpl" out="com.google.gwt.user.client.ui.impl.PopupImplMozilla"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.TreeImages" out="com.google.gwt.user.client.ui.TreeImages_generatedBundle"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.FormPanelImpl" out="com.google.gwt.user.client.ui.impl.FormPanelImpl"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.HTTPRequestImpl" out="com.google.gwt.user.client.impl.HTTPRequestImpl"/>
-	<rebind-decision in="org.drools.brms.client.rpc.SecurityService" out="org.drools.brms.client.rpc.SecurityService_Proxy"/>
-</cache-entry>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.html
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.html	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.html	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3441 +0,0 @@
-<html><head><script>var $wnd = parent;var $doc = $wnd.document;var $moduleName, $moduleBase;</script></head><body><script><!--
-var _,kgc='com.google.gwt.core.client.',lgc='com.google.gwt.lang.',mgc='com.google.gwt.user.client.',ngc='com.google.gwt.user.client.impl.',ogc='com.google.gwt.user.client.rpc.',pgc='com.google.gwt.user.client.rpc.core.java.lang.',qgc='com.google.gwt.user.client.rpc.core.java.util.',rgc='com.google.gwt.user.client.rpc.impl.',sgc='com.google.gwt.user.client.ui.',tgc='com.google.gwt.user.client.ui.impl.',ugc='java.io.',vgc='java.lang.',wgc='java.util.',xgc='org.drools.brms.client.',ygc='org.drools.brms.client.admin.',zgc='org.drools.brms.client.categorynav.',Agc='org.drools.brms.client.common.',Bgc='org.drools.brms.client.decisiontable.',Cgc='org.drools.brms.client.modeldriven.',Dgc='org.drools.brms.client.modeldriven.brl.',Egc='org.drools.brms.client.modeldriven.ui.',Fgc='org.drools.brms.client.packages.',ahc='org.drools.brms.client.rpc.',bhc='org.drools.brms.client.ruleeditor.',chc='org.drools.brms.client.rulelist.',dhc='org.drools.brms.client.table.';function v3(){}
-function zU(a){return this===a;}
-function AU(){return mW(this);}
-function BU(){return this.tN+'@'+this.hC();}
-function xU(){}
-_=xU.prototype={};_.eQ=zU;_.hC=AU;_.tS=BU;_.toString=function(){return this.tS();};_.tN=vgc+'Object';_.tI=1;function v(){return D();}
-function w(){return E();}
-function x(a){return a==null?null:a.tN;}
-var y=null;function B(a){return a==null?0:a.$H?a.$H:(a.$H=F());}
-function C(a){return a==null?0:a.$H?a.$H:(a.$H=F());}
-function D(){var b=$doc.location.href;var a=b.indexOf('#');if(a!= -1)b=b.substring(0,a);a=b.indexOf('?');if(a!= -1)b=b.substring(0,a);a=b.lastIndexOf('/');if(a!= -1)b=b.substring(0,a);return b.length>0?b+'/':'';}
-function E(){return $moduleBase;}
-function F(){return ++ab;}
-var ab=0;function pW(b,a){b.c=a;return b;}
-function qW(c,b,a){c.c=b;return c;}
-function sW(){return this.c;}
-function tW(){var a,b;a=x(this);b=this.vb();if(b!==null){return a+': '+b;}else{return a;}}
-function oW(){}
-_=oW.prototype=new xU();_.vb=sW;_.tS=tW;_.tN=vgc+'Throwable';_.tI=3;_.c=null;function oT(b,a){pW(b,a);return b;}
-function pT(c,b,a){qW(c,b,a);return c;}
-function nT(){}
-_=nT.prototype=new oW();_.tN=vgc+'Exception';_.tI=4;function DU(b,a){oT(b,a);return b;}
-function EU(c,b,a){pT(c,b,a);return c;}
-function CU(){}
-_=CU.prototype=new nT();_.tN=vgc+'RuntimeException';_.tI=5;function cb(c,b,a){DU(c,'JavaScript '+b+' exception: '+a);return c;}
-function bb(){}
-_=bb.prototype=new CU();_.tN=kgc+'JavaScriptException';_.tI=6;function gb(b,a){if(!cc(a,2)){return false;}return lb(b,bc(a,2));}
-function hb(a){return B(a);}
-function ib(){return [];}
-function jb(){return function(){};}
-function kb(){return {};}
-function mb(a){return gb(this,a);}
-function lb(a,b){return a===b;}
-function nb(){return hb(this);}
-function pb(){return ob(this);}
-function ob(a){if(a.toString)return a.toString();return '[object]';}
-function eb(){}
-_=eb.prototype=new xU();_.eQ=mb;_.hC=nb;_.tS=pb;_.tN=kgc+'JavaScriptObject';_.tI=7;function rb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
-function tb(a,b,c){return a[b]=c;}
-function vb(a,b){return ub(a,b);}
-function ub(a,b){return rb(new qb(),b,a.tI,a.b,a.tN);}
-function wb(b,a){return b[a];}
-function yb(b,a){return b[a];}
-function xb(a){return a.length;}
-function Ab(e,d,c,b,a){return zb(e,d,c,b,0,xb(b),a);}
-function zb(j,i,g,c,e,a,b){var d,f,h;if((f=wb(c,e))<0){throw new iU();}h=rb(new qb(),f,wb(i,e),wb(g,e),j);++e;if(e<a){j=zV(j,1);for(d=0;d<f;++d){tb(h,d,zb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){tb(h,d,b);}}return h;}
-function Bb(f,e,c,g){var a,b,d;b=xb(g);d=rb(new qb(),b,e,c,f);for(a=0;a<b;++a){tb(d,a,yb(g,a));}return d;}
-function Cb(a,b,c){if(c!==null&&a.b!=0&& !cc(c,a.b)){throw new yS();}return tb(a,b,c);}
-function qb(){}
-_=qb.prototype=new xU();_.tN=lgc+'Array';_.tI=8;function Fb(b,a){return !(!(b&&ic[b][a]));}
-function ac(a){return String.fromCharCode(a);}
-function bc(b,a){if(b!=null)Fb(b.tI,a)||hc();return b;}
-function cc(b,a){return b!=null&&Fb(b.tI,a);}
-function dc(a){return a&65535;}
-function ec(a){return ~(~a);}
-function fc(a){if(a>(BT(),CT))return BT(),CT;if(a<(BT(),DT))return BT(),DT;return a>=0?Math.floor(a):Math.ceil(a);}
-function hc(){throw new iT();}
-function gc(a){if(a!==null){throw new iT();}return a;}
-function jc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
-var ic;function mc(a){if(cc(a,3)){return a;}return cb(new bb(),oc(a),nc(a));}
-function nc(a){return a.message;}
-function oc(a){return a.name;}
-function qc(b,a){return b;}
-function pc(){}
-_=pc.prototype=new CU();_.tN=mgc+'CommandCanceledException';_.tI=11;function hd(a){a.a=uc(new tc(),a);a.b=FY(new DY());a.d=yc(new xc(),a);a.f=Cc(new Bc(),a);}
-function id(a){hd(a);return a;}
-function kd(c){var a,b,d;a=Ec(c.f);bd(c.f);b=null;if(cc(a,4)){b=qc(new pc(),bc(a,4));}else{}if(b!==null){d=y;}nd(c,false);md(c);}
-function ld(e,d){var a,b,c,f;f=false;try{nd(e,true);cd(e.f,e.b.b);qh(e.a,10000);while(Fc(e.f)){b=ad(e.f);c=true;try{if(b===null){return;}if(cc(b,4)){a=bc(b,4);a.nb();}else{}}finally{f=dd(e.f);if(f){return;}if(c){bd(e.f);}}if(qd(lW(),d)){return;}}}finally{if(!f){mh(e.a);nd(e,false);md(e);}}}
-function md(a){if(!jZ(a.b)&& !a.e&& !a.c){od(a,true);qh(a.d,1);}}
-function nd(b,a){b.c=a;}
-function od(b,a){b.e=a;}
-function pd(b,a){bZ(b.b,a);md(b);}
-function qd(a,b){return gU(a-b)>=100;}
-function sc(){}
-_=sc.prototype=new xU();_.tN=mgc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function nh(){nh=v3;xh=FY(new DY());{wh();}}
-function lh(a){nh();return a;}
-function mh(a){if(a.b){rh(a.c);}else{sh(a.c);}lZ(xh,a);}
-function oh(a){if(!a.b){lZ(xh,a);}a.ce();}
-function qh(b,a){if(a<=0){throw sT(new rT(),'must be positive');}mh(b);b.b=false;b.c=uh(b,a);bZ(xh,b);}
-function ph(b,a){if(a<=0){throw sT(new rT(),'must be positive');}mh(b);b.b=true;b.c=th(b,a);bZ(xh,b);}
-function rh(a){nh();$wnd.clearInterval(a);}
-function sh(a){nh();$wnd.clearTimeout(a);}
-function th(b,a){nh();return $wnd.setInterval(function(){b.ob();},a);}
-function uh(b,a){nh();return $wnd.setTimeout(function(){b.ob();},a);}
-function vh(){var a;a=y;{oh(this);}}
-function wh(){nh();Bh(new hh());}
-function gh(){}
-_=gh.prototype=new xU();_.ob=vh;_.tN=mgc+'Timer';_.tI=13;_.b=false;_.c=0;var xh;function vc(){vc=v3;nh();}
-function uc(b,a){vc();b.a=a;lh(b);return b;}
-function wc(){if(!this.a.c){return;}kd(this.a);}
-function tc(){}
-_=tc.prototype=new gh();_.ce=wc;_.tN=mgc+'CommandExecutor$1';_.tI=14;function zc(){zc=v3;nh();}
-function yc(b,a){zc();b.a=a;lh(b);return b;}
-function Ac(){od(this.a,false);ld(this.a,lW());}
-function xc(){}
-_=xc.prototype=new gh();_.ce=Ac;_.tN=mgc+'CommandExecutor$2';_.tI=15;function Cc(b,a){b.d=a;return b;}
-function Ec(a){return gZ(a.d.b,a.b);}
-function Fc(a){return a.c<a.a;}
-function ad(b){var a;b.b=b.c;a=gZ(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
-function bd(a){kZ(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
-function cd(b,a){b.a=a;}
-function dd(a){return a.b==(-1);}
-function ed(){return Fc(this);}
-function fd(){return ad(this);}
-function gd(){bd(this);}
-function Bc(){}
-_=Bc.prototype=new xU();_.gc=ed;_.pc=fd;_.Fd=gd;_.tN=mgc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function td(){td=v3;uf=FY(new DY());{kf=new ni();cj(kf);}}
-function ud(a){td();bZ(uf,a);}
-function vd(b,a){td();oj(kf,b,a);}
-function wd(a,b){td();return pi(kf,a,b);}
-function xd(){td();return qj(kf,'A');}
-function yd(){td();return qj(kf,'button');}
-function zd(){td();return qj(kf,'div');}
-function Ad(a){td();return qj(kf,a);}
-function Bd(){td();return qj(kf,'form');}
-function Cd(){td();return qj(kf,'iframe');}
-function Dd(){td();return qj(kf,'img');}
-function Ed(){td();return rj(kf,'checkbox');}
-function Fd(){td();return rj(kf,'password');}
-function ae(a){td();return qi(kf,a);}
-function be(){td();return rj(kf,'text');}
-function ce(){td();return qj(kf,'label');}
-function de(a){td();return ri(kf,a);}
-function ee(){td();return qj(kf,'span');}
-function fe(){td();return qj(kf,'tbody');}
-function ge(){td();return qj(kf,'td');}
-function he(){td();return qj(kf,'tr');}
-function ie(){td();return qj(kf,'table');}
-function je(){td();return qj(kf,'textarea');}
-function me(b,a,d){td();var c;c=y;{le(b,a,d);}}
-function le(b,a,c){td();var d;if(a===tf){if(ze(b)==8192){tf=null;}}d=ke;ke=b;try{c.tc(b);}finally{ke=d;}}
-function ne(b,a){td();sj(kf,b,a);}
-function oe(a){td();return tj(kf,a);}
-function pe(a){td();return si(kf,a);}
-function qe(a){td();return ti(kf,a);}
-function re(a){td();return uj(kf,a);}
-function se(a){td();return ui(kf,a);}
-function te(a){td();return vi(kf,a);}
-function ue(a){td();return vj(kf,a);}
-function ve(a){td();return wj(kf,a);}
-function we(a){td();return xj(kf,a);}
-function xe(a){td();return wi(kf,a);}
-function ye(a){td();return xi(kf,a);}
-function ze(a){td();return yj(kf,a);}
-function Ae(a){td();yi(kf,a);}
-function Be(a){td();return zi(kf,a);}
-function Ce(a){td();return Ai(kf,a);}
-function De(a){td();return Bi(kf,a);}
-function af(b,a){td();return Ei(kf,b,a);}
-function Ee(a){td();return Ci(kf,a);}
-function Fe(b,a){td();return Di(kf,b,a);}
-function df(a,b){td();return Bj(kf,a,b);}
-function bf(a,b){td();return zj(kf,a,b);}
-function cf(a,b){td();return Aj(kf,a,b);}
-function ef(a){td();return Cj(kf,a);}
-function ff(a){td();return Fi(kf,a);}
-function gf(a){td();return Dj(kf,a);}
-function hf(a){td();return aj(kf,a);}
-function jf(a){td();return bj(kf,a);}
-function lf(c,a,b){td();dj(kf,c,a,b);}
-function mf(c,b,d,a){td();ej(kf,c,b,d,a);}
-function nf(b,a){td();return fj(kf,b,a);}
-function of(a){td();var b,c;c=true;if(uf.b>0){b=bc(gZ(uf,uf.b-1),5);if(!(c=b.zc(a))){ne(a,true);Ae(a);}}return c;}
-function pf(a){td();if(tf!==null&&wd(a,tf)){tf=null;}gj(kf,a);}
-function qf(b,a){td();Ej(kf,b,a);}
-function rf(b,a){td();Fj(kf,b,a);}
-function sf(a){td();lZ(uf,a);}
-function vf(a){td();ak(kf,a);}
-function wf(a){td();tf=a;hj(kf,a);}
-function xf(b,a,c){td();bk(kf,b,a,c);}
-function Af(a,b,c){td();ek(kf,a,b,c);}
-function yf(a,b,c){td();ck(kf,a,b,c);}
-function zf(a,b,c){td();dk(kf,a,b,c);}
-function Bf(a,b){td();fk(kf,a,b);}
-function Cf(a,b){td();ij(kf,a,b);}
-function Df(a,b){td();gk(kf,a,b);}
-function Ef(a,b){td();jj(kf,a,b);}
-function Ff(b,a,c){td();hk(kf,b,a,c);}
-function ag(b,a,c){td();ik(kf,b,a,c);}
-function bg(a,b){td();kj(kf,a,b);}
-function cg(a){td();return jk(kf,a);}
-function dg(){td();return kk(kf);}
-function eg(){td();return lk(kf);}
-var ke=null,kf=null,tf=null,uf;function gg(){gg=v3;jg=id(new sc());}
-function ig(a){gg();pd(jg,a);}
-function hg(a){gg();if(a===null){throw lU(new kU(),'cmd can not be null');}pd(jg,a);}
-var jg;function mg(b,a){if(cc(a,6)){return wd(b,bc(a,6));}return gb(jc(b,kg),a);}
-function ng(a){return mg(this,a);}
-function og(){return hb(jc(this,kg));}
-function pg(){return cg(this);}
-function kg(){}
-_=kg.prototype=new eb();_.eQ=ng;_.hC=og;_.tS=pg;_.tN=mgc+'Element';_.tI=17;function ug(a){return gb(jc(this,qg),a);}
-function vg(){return hb(jc(this,qg));}
-function wg(){return Be(this);}
-function qg(){}
-_=qg.prototype=new eb();_.eQ=ug;_.hC=vg;_.tS=wg;_.tN=mgc+'Event';_.tI=18;function yg(){yg=v3;Ag=ok(new nk());}
-function zg(c,b,a){yg();return tk(Ag,c,b,a);}
-var Ag;function Dg(){Dg=v3;bh=FY(new DY());{ch=new Fk();if(!dl(ch)){ch=null;}}}
-function Eg(a){Dg();bZ(bh,a);}
-function Fg(a){Dg();var b,c;for(b=bh.mc();b.gc();){c=bc(b.pc(),7);c.Ec(a);}}
-function ah(){Dg();return ch!==null?kl(ch):'';}
-function dh(a){Dg();if(ch!==null){Ck(ch,a);}}
-function eh(b){Dg();var a;a=y;{Fg(b);}}
-var bh,ch=null;function jh(){while((nh(),xh).b>0){mh(bc(gZ((nh(),xh),0),8));}}
-function kh(){return null;}
-function hh(){}
-_=hh.prototype=new xU();_.rd=jh;_.sd=kh;_.tN=mgc+'Timer$1';_.tI=19;function Ah(){Ah=v3;Dh=FY(new DY());li=FY(new DY());{gi();}}
-function Bh(a){Ah();bZ(Dh,a);}
-function Ch(a){Ah();$wnd.alert(a);}
-function Eh(a){Ah();return $wnd.confirm(a);}
-function Fh(){Ah();var a,b;for(a=Dh.mc();a.gc();){b=bc(a.pc(),9);b.rd();}}
-function ai(){Ah();var a,b,c,d;d=null;for(a=Dh.mc();a.gc();){b=bc(a.pc(),9);c=b.sd();{d=c;}}return d;}
-function bi(){Ah();var a,b;for(a=li.mc();a.gc();){b=gc(a.pc());null.ef();}}
-function ci(){Ah();return dg();}
-function di(){Ah();return eg();}
-function ei(){Ah();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
-function fi(){Ah();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
-function gi(){Ah();__gwt_initHandlers(function(){ji();},function(){return ii();},function(){hi();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
-function hi(){Ah();var a;a=y;{Fh();}}
-function ii(){Ah();var a;a=y;{return ai();}}
-function ji(){Ah();var a;a=y;{bi();}}
-function ki(c,b,a){Ah();$wnd.open(c,b,a);}
-var Dh,li;function oj(c,b,a){b.appendChild(a);}
-function qj(b,a){return $doc.createElement(a);}
-function rj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
-function sj(c,b,a){b.cancelBubble=a;}
-function tj(b,a){return !(!a.altKey);}
-function uj(b,a){return !(!a.ctrlKey);}
-function vj(b,a){return a.which||(a.keyCode|| -1);}
-function wj(b,a){return !(!a.metaKey);}
-function xj(b,a){return !(!a.shiftKey);}
-function yj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
-function Bj(d,a,b){var c=a[b];return c==null?null:String(c);}
-function zj(c,a,b){return !(!a[b]);}
-function Aj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
-function Cj(b,a){return a.__eventBits||0;}
-function Dj(c,a){var b=a.innerHTML;return b==null?null:b;}
-function Ej(c,b,a){b.removeChild(a);}
-function Fj(c,b,a){b.removeAttribute(a);}
-function ak(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
-function bk(c,b,a,d){b.setAttribute(a,d);}
-function ek(c,a,b,d){a[b]=d;}
-function ck(c,a,b,d){a[b]=d;}
-function dk(c,a,b,d){a[b]=d;}
-function fk(c,a,b){a.__listener=b;}
-function gk(c,a,b){if(!b){b='';}a.innerHTML=b;}
-function hk(c,b,a,d){b.style[a]=d;}
-function ik(c,b,a,d){b.style[a]=d;}
-function jk(b,a){return a.outerHTML;}
-function kk(a){return $doc.body.clientHeight;}
-function lk(a){return $doc.body.clientWidth;}
-function mi(){}
-_=mi.prototype=new xU();_.tN=ngc+'DOMImpl';_.tI=20;function pi(c,a,b){if(!a&& !b)return true;else if(!a|| !b)return false;return a.uniqueID==b.uniqueID;}
-function qi(b,a){return $doc.createElement("<INPUT type='RADIO' name='"+a+"'>");}
-function ri(c,b){var a=b?'<SELECT MULTIPLE>':'<SELECT>';return $doc.createElement(a);}
-function si(b,a){return a.clientX-mj();}
-function ti(b,a){return a.clientY-nj();}
-function ui(b,a){return lj;}
-function vi(b,a){return a.fromElement?a.fromElement:null;}
-function wi(b,a){return a.srcElement||null;}
-function xi(b,a){return a.toElement||null;}
-function yi(b,a){a.returnValue=false;}
-function zi(b,a){if(a.toString)return a.toString();return '[object Event]';}
-function Ai(c,a){var b=$doc.documentElement.scrollLeft||$doc.body.scrollLeft;return a.getBoundingClientRect().left+b-mj();}
-function Bi(c,a){var b=$doc.documentElement.scrollTop||$doc.body.scrollTop;return a.getBoundingClientRect().top+b-nj();}
-function Ei(d,b,c){var a=b.children[c];return a||null;}
-function Ci(b,a){return a.children.length;}
-function Di(e,d,a){var b=d.children.length;for(var c=0;c<b;++c){if(a.uniqueID==d.children[c].uniqueID)return c;}return -1;}
-function Fi(c,b){var a=b.firstChild;return a||null;}
-function aj(c,a){var b=a.innerText;return b==null?null:b;}
-function bj(c,a){var b=a.parentElement;return b||null;}
-function cj(d){try{$doc.execCommand('BackgroundImageCache',false,true);}catch(a){}$wnd.__dispatchEvent=function(){var c=lj;lj=this;if($wnd.event.returnValue==null){$wnd.event.returnValue=true;if(!of($wnd.event)){lj=c;return;}}var b,a=this;while(a&& !(b=a.__listener))a=a.parentElement;if(b)me($wnd.event,a,b);lj=c;};$wnd.__dispatchDblClickEvent=function(){var a=$doc.createEventObject();this.fireEvent('onclick',a);if(this.__eventBits&2)$wnd.__dispatchEvent.call(this);};$doc.body.onclick=$doc.body.onmousedown=$doc.body.onmouseup=$doc.body.onmousemove=$doc.body.onmousewheel=$doc.body.onkeydown=$doc.body.onkeypress=$doc.body.onkeyup=$doc.body.onfocus=$doc.body.onblur=$doc.body.ondblclick=$wnd.__dispatchEvent;}
-function dj(d,c,a,b){if(b>=c.children.length)c.appendChild(a);else c.insertBefore(a,c.children[b]);}
-function ej(e,c,d,f,a){var b=new Option(d,f);if(a== -1||a>c.options.length-1){c.add(b);}else{c.add(b,a);}}
-function fj(c,b,a){while(a){if(b.uniqueID==a.uniqueID)return true;a=a.parentElement;}return false;}
-function gj(b,a){a.releaseCapture();}
-function hj(b,a){a.setCapture();}
-function ij(c,a,b){wl(a,b);}
-function jj(c,a,b){if(!b)b='';a.innerText=b;}
-function kj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&(1|2)?$wnd.__dispatchDblClickEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
-function mj(){return $doc.documentElement.clientLeft||$doc.body.clientLeft;}
-function nj(){return $doc.documentElement.clientTop||$doc.body.clientTop;}
-function ni(){}
-_=ni.prototype=new mi();_.tN=ngc+'DOMImplIE6';_.tI=21;var lj=null;function rk(a){xk=jb();return a;}
-function tk(c,d,b,a){return uk(c,null,null,d,b,a);}
-function uk(d,f,c,e,b,a){return sk(d,f,c,e,b,a);}
-function sk(e,g,d,f,c,b){var h=e.jb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=xk;b.xc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=xk;return false;}}
-function wk(){return new XMLHttpRequest();}
-function mk(){}
-_=mk.prototype=new xU();_.jb=wk;_.tN=ngc+'HTTPRequestImpl';_.tI=22;var xk=null;function ok(a){rk(a);return a;}
-function qk(){return new ActiveXObject('Msxml2.XMLHTTP');}
-function nk(){}
-_=nk.prototype=new mk();_.jb=qk;_.tN=ngc+'HTTPRequestImplIE6';_.tI=23;function kl(a){return $wnd.__gwt_historyToken;}
-function ll(a,b){$wnd.__gwt_historyToken=b;}
-function ml(a){eh(a);}
-function yk(){}
-_=yk.prototype=new xU();_.tN=ngc+'HistoryImpl';_.tI=24;function Bk(a){var b;a.a=Dk();if(a.a===null){return false;}cl(a);b=Ek(a.a);if(b!==null){ll(a,bl(a,b));}else{fl(a,a.a,kl(a),true);}el(a);return true;}
-function Ck(b,a){b.oc(b.a,a,false);}
-function Dk(){var a=$doc.getElementById('__gwt_historyFrame');return a||null;}
-function Ek(b){var c=null;if(b.contentWindow){var a=b.contentWindow.document;c=a.getElementById('__gwt_historyToken')||null;}return c;}
-function zk(){}
-_=zk.prototype=new yk();_.tN=ngc+'HistoryImplFrame';_.tI=25;_.a=null;function bl(a,b){return b.innerText;}
-function dl(a){if(!Bk(a)){return false;}hl();return true;}
-function cl(c){var b=$wnd.location.hash;if(b.length>0){try{$wnd.__gwt_historyToken=decodeURIComponent(b.substring(1));}catch(a){$wnd.location.hash='';$wnd.__gwt_historyToken='';}return;}$wnd.__gwt_historyToken='';}
-function el(b){$wnd.__gwt_onHistoryLoad=function(a){if(a!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=a;$wnd.location.hash=encodeURIComponent(a);ml(a);}};}
-function fl(e,c,d,b){d=gl(d||'');if(b||$wnd.__gwt_historyToken!=d){var a=c.contentWindow.document;a.open();a.write('<html><body onload="if(parent.__gwt_onHistoryLoad)parent.__gwt_onHistoryLoad(__gwt_historyToken.innerText)"><div id="__gwt_historyToken">'+d+'<\/div><\/body><\/html>');a.close();}}
-function gl(b){var a;a=zd();Ef(a,b);return gf(a);}
-function hl(){var d=function(){var b=$wnd.location.hash;if(b.length>0){var c='';try{c=decodeURIComponent(b.substring(1));}catch(a){$wnd.location.reload();}if($wnd.__gwt_historyToken&&c!=$wnd.__gwt_historyToken){$wnd.location.reload();}}$wnd.setTimeout(d,250);};d();}
-function il(b,c,a){fl(this,b,c,a);}
-function Fk(){}
-_=Fk.prototype=new zk();_.oc=il;_.tN=ngc+'HistoryImplIE6';_.tI=26;function pl(b,a){b.__kids.push(a);a.__pendingSrc=b.__pendingSrc;}
-function ql(k,i,j){i.src=j;if(i.complete){return;}i.__kids=[];i.__pendingSrc=j;k[j]=i;var g=i.onload,f=i.onerror,e=i.onabort;function h(c){var d=i.__kids;i.__cleanup();window.setTimeout(function(){for(var a=0;a<d.length;++a){var b=d[a];if(b.__pendingSrc==j){b.src=j;b.__pendingSrc=null;}}},0);c&&c.call(i);}
-i.onload=function(){h(g);};i.onerror=function(){h(f);};i.onabort=function(){h(e);};i.__cleanup=function(){i.onload=g;i.onerror=f;i.onabort=e;i.__cleanup=i.__pendingSrc=i.__kids=null;delete k[j];};}
-function rl(a){return a.__pendingSrc||a.src;}
-function sl(a){return a.__pendingSrc||null;}
-function tl(b,a){return b[a]||null;}
-function ul(e,b){var f=b.uniqueID;var d=e.__kids;for(var c=0,a=d.length;c<a;++c){if(d[c].uniqueID==f){d.splice(c,1);b.__pendingSrc=null;return;}}}
-function vl(f,c){var e=c.__pendingSrc;var d=c.__kids;c.__cleanup();if(c=d[0]){c.__pendingSrc=null;ql(f,c,e);if(c.__pendingSrc){d.splice(0,1);c.__kids=d;}else{for(var b=1,a=d.length;b<a;++b){d[b].src=e;d[b].__pendingSrc=null;}}}}
-function wl(a,c){var b,d;if(qV(rl(a),c)){return;}if(xl===null){xl=kb();}b=sl(a);if(b!==null){d=tl(xl,b);if(mg(d,jc(a,kg))){vl(xl,d);}else{ul(d,a);}}d=tl(xl,c);if(d===null){ql(xl,a,c);}else{pl(d,a);}}
-var xl=null;function Al(a){DU(a,'This application is out of date, please click the refresh button on your browser');return a;}
-function zl(){}
-_=zl.prototype=new CU();_.tN=ogc+'IncompatibleRemoteServiceException';_.tI=27;function El(b,a){}
-function Fl(b,a){}
-function bm(b,a){EU(b,a,null);return b;}
-function am(){}
-_=am.prototype=new CU();_.tN=ogc+'InvocationException';_.tI=28;function nm(){return this.b;}
-function fm(){}
-_=fm.prototype=new nT();_.vb=nm;_.tN=ogc+'SerializableException';_.tI=29;_.b=null;function jm(b,a){mm(a,b.Bd());}
-function km(a){return a.b;}
-function lm(b,a){b.cf(km(a));}
-function mm(a,b){a.b=b;}
-function pm(b,a){oT(b,a);return b;}
-function om(){}
-_=om.prototype=new nT();_.tN=ogc+'SerializationException';_.tI=30;function um(a){bm(a,'Service implementation URL not specified');return a;}
-function tm(){}
-_=tm.prototype=new am();_.tN=ogc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function zm(b,a){}
-function Am(a){return cT(a.wd());}
-function Bm(b,a){b.De(a.a);}
-function Em(c,a){var b;for(b=0;b<a.a;++b){Cb(a,b,c.Ad());}}
-function Fm(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.bf(a[c]);}}
-function cn(b,a){}
-function dn(a){return a.Bd();}
-function en(b,a){b.cf(a);}
-function hn(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.xd();}}
-function jn(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.Ee(a[c]);}}
-function mn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();bZ(b,c);}}
-function nn(e,a){var b,c,d;d=a.b;e.Fe(d);b=a.mc();while(b.gc()){c=b.pc();e.bf(c);}}
-function qn(b,a){}
-function rn(a){return m0(new k0(),a.zd());}
-function sn(b,a){b.af(p0(a));}
-function vn(e,b){var a,c,d,f;d=e.yd();for(a=0;a<d;++a){c=e.Ad();f=e.Ad();d2(b,c,f);}}
-function wn(f,c){var a,b,d,e;e=c.c;f.Fe(e);b=b2(c);d=x1(b);while(p1(d)){a=q1(d);f.bf(a.ub());f.bf(a.ac());}}
-function zn(d,b){var a,c;c=d.yd();for(a=0;a<c;++a){x2(b,d.Ad());}}
-function An(c,a){var b;c.Fe(a.a.c);for(b=z2(a);AX(b);){c.bf(BX(b));}}
-function Dn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();k3(b,c);}}
-function En(e,a){var b,c,d;d=a.a.b;e.Fe(d);b=m3(a);while(b.gc()){c=b.pc();e.bf(c);}}
-function wo(a){return a.j>2;}
-function xo(b,a){b.i=a;}
-function yo(a,b){a.j=b;}
-function Fn(){}
-_=Fn.prototype=new xU();_.tN=rgc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function bo(a){a.e=FY(new DY());}
-function co(a){bo(a);return a;}
-function fo(b,a){dZ(b.e);yo(b,Fo(b));xo(b,Fo(b));}
-function go(a){var b,c;b=a.yd();if(b<0){return gZ(a.e,-(b+1));}c=a.Eb(b);if(c===null){return null;}return a.hb(c);}
-function ho(b,a){bZ(b.e,a);}
-function io(){return go(this);}
-function ao(){}
-_=ao.prototype=new Fn();_.Ad=io;_.tN=rgc+'AbstractSerializationStreamReader';_.tI=33;function lo(b,a){b.E(a?'1':'0');}
-function mo(b,a){b.E(gW(a));}
-function no(c,a){var b,d;if(a===null){oo(c,null);return;}b=c.tb(a);if(b>=0){mo(c,-(b+1));return;}c.de(a);d=c.xb(a);oo(c,d);c.ge(a,d);}
-function oo(a,b){mo(a,a.z(b));}
-function po(a){lo(this,a);}
-function qo(a){this.E(gW(a));}
-function ro(a){mo(this,a);}
-function so(a){this.E(hW(a));}
-function to(a){no(this,a);}
-function uo(a){oo(this,a);}
-function jo(){}
-_=jo.prototype=new Fn();_.De=po;_.Ee=qo;_.Fe=ro;_.af=so;_.bf=to;_.cf=uo;_.tN=rgc+'AbstractSerializationStreamWriter';_.tI=34;function Ao(b,a){co(b);b.c=a;return b;}
-function Co(b,a){if(!a){return null;}return b.d[a-1];}
-function Do(b,a){b.b=dp(a);b.a=ep(b.b);fo(b,a);b.d=ap(b);}
-function Eo(a){return !(!a.b[--a.a]);}
-function Fo(a){return a.b[--a.a];}
-function ap(a){return a.b[--a.a];}
-function bp(a){return Co(a,Fo(a));}
-function cp(b){var a;a=this.c.jc(this,b);ho(this,a);this.c.gb(this,a,b);return a;}
-function dp(a){return eval(a);}
-function ep(a){return a.length;}
-function fp(a){return Co(this,a);}
-function gp(){return Eo(this);}
-function hp(){return this.b[--this.a];}
-function ip(){return Fo(this);}
-function jp(){return this.b[--this.a];}
-function kp(){return bp(this);}
-function zo(){}
-_=zo.prototype=new ao();_.hb=cp;_.Eb=fp;_.wd=gp;_.xd=hp;_.yd=ip;_.zd=jp;_.Bd=kp;_.tN=rgc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function mp(a){a.h=FY(new DY());}
-function np(d,c,a,b){mp(d);d.f=c;d.b=a;d.e=b;return d;}
-function pp(c,a){var b=c.d[a];return b==null?-1:b;}
-function qp(c,a){var b=c.g[':'+a];return b==null?0:b;}
-function rp(a){a.c=0;a.d=kb();a.g=kb();dZ(a.h);a.a=cV(new bV());if(wo(a)){oo(a,a.b);oo(a,a.e);}}
-function sp(b,a,c){b.d[a]=c;}
-function tp(b,a,c){b.g[':'+a]=c;}
-function up(b){var a;a=cV(new bV());vp(b,a);xp(b,a);wp(b,a);return iV(a);}
-function vp(b,a){zp(a,gW(b.j));zp(a,gW(b.i));}
-function wp(b,a){eV(a,iV(b.a));}
-function xp(d,a){var b,c;c=d.h.b;zp(a,gW(c));for(b=0;b<c;++b){zp(a,bc(gZ(d.h,b),1));}return a;}
-function yp(b){var a;if(b===null){return 0;}a=qp(this,b);if(a>0){return a;}bZ(this.h,b);a=this.h.b;tp(this,b,a);return a;}
-function zp(a,b){eV(a,b);dV(a,65535);}
-function Ap(a){zp(this.a,a);}
-function Bp(a){return pp(this,mW(a));}
-function Cp(a){var b,c;c=x(a);b=this.f.Db(c);if(b!==null){c+='/'+b;}return c;}
-function Dp(a){sp(this,mW(a),this.c++);}
-function Ep(a,b){this.f.fe(this,a,b);}
-function Fp(){return up(this);}
-function lp(){}
-_=lp.prototype=new jo();_.z=yp;_.E=Ap;_.tb=Bp;_.xb=Cp;_.de=Dp;_.ge=Ep;_.tS=Fp;_.tN=rgc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function jO(b,a){FO(b.Fb(),a,true);}
-function lO(a){return Ce(a.rb());}
-function mO(a){return De(a.rb());}
-function nO(a){return cf(a.w,'offsetHeight');}
-function oO(a){return cf(a.w,'offsetWidth');}
-function pO(b,a){FO(b.Fb(),a,false);}
-function qO(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
-function rO(b,a){if(b.w!==null){qO(b,b.w,a);}b.w=a;}
-function sO(b,c,a){if(c>=0){b.xe(c+'px');}if(a>=0){b.ne(a+'px');}}
-function tO(b,c,a){b.xe(c);b.ne(a);}
-function uO(b,a){EO(b.Fb(),a);}
-function vO(b,a){bg(b.rb(),a|ef(b.rb()));}
-function wO(){return this.w;}
-function xO(){return nO(this);}
-function yO(){return oO(this);}
-function zO(){return this.w;}
-function AO(a){return df(a,'className');}
-function BO(a){return a.style.display!='none';}
-function CO(a){rO(this,a);}
-function DO(a){ag(this.w,'height',a);}
-function EO(a,b){Af(a,'className',b);}
-function FO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw DU(new CU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=DV(j);if(uV(j)==0){throw sT(new rT(),'Style names cannot be empty');}i=AO(c);e=sV(i,j);while(e!=(-1)){if(e==0||lV(i,e-1)==32){f=e+uV(j);g=uV(i);if(f==g||f<g&&lV(i,f)==32){break;}}e=tV(i,j,e+1);}if(a){if(e==(-1)){if(uV(i)>0){i+=' ';}Af(c,'className',i+j);}}else{if(e!=(-1)){b=DV(AV(i,0,e));d=DV(zV(i,e+uV(j)));if(uV(b)==0){h=d;}else if(uV(d)==0){h=b;}else{h=b+' '+d;}Af(c,'className',h);}}}
-function aP(a){if(a===null||uV(a)==0){rf(this.w,'title');}else{xf(this.w,'title',a);}}
-function bP(a,b){a.style.display=b?'':'none';}
-function cP(a){bP(this.w,a);}
-function dP(a){ag(this.w,'width',a);}
-function eP(){if(this.w===null){return '(null handle)';}return cg(this.w);}
-function iO(){}
-_=iO.prototype=new xU();_.rb=wO;_.yb=xO;_.zb=yO;_.Fb=zO;_.je=CO;_.ne=DO;_.pe=aP;_.ue=cP;_.xe=dP;_.tS=eP;_.tN=sgc+'UIObject';_.tI=37;_.w=null;function qQ(a){if(a.kc()){throw vT(new uT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;Bf(a.rb(),a);a.ib();a.cd();}
-function rQ(a){if(!a.kc()){throw vT(new uT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.qd();}finally{a.kb();Bf(a.rb(),null);a.t=false;}}
-function sQ(a){if(cc(a.v,54)){bc(a.v,54).be(a);}else if(a.v!==null){throw vT(new uT(),"This widget's parent does not implement HasWidgets");}}
-function tQ(b,a){if(b.kc()){Bf(b.rb(),null);}rO(b,a);if(b.kc()){Bf(a,b);}}
-function uQ(b,a){b.u=a;}
-function vQ(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.kc()){c.yc();}c.v=null;}else{if(a!==null){throw vT(new uT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.kc()){c.rc();}}}
-function wQ(){}
-function xQ(){}
-function yQ(){return this.t;}
-function zQ(){qQ(this);}
-function AQ(a){}
-function BQ(){rQ(this);}
-function CQ(){}
-function DQ(){}
-function EQ(a){tQ(this,a);}
-function oP(){}
-_=oP.prototype=new iO();_.ib=wQ;_.kb=xQ;_.kc=yQ;_.rc=zQ;_.tc=AQ;_.yc=BQ;_.cd=CQ;_.qd=DQ;_.je=EQ;_.tN=sgc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function uE(b,a){vQ(a,b);}
-function wE(b,a){vQ(a,null);}
-function xE(){var a;a=this.mc();while(a.gc()){a.pc();a.Fd();}}
-function yE(){var a,b;for(b=this.mc();b.gc();){a=bc(b.pc(),20);a.rc();}}
-function zE(){var a,b;for(b=this.mc();b.gc();){a=bc(b.pc(),20);a.yc();}}
-function AE(){}
-function BE(){}
-function tE(){}
-_=tE.prototype=new oP();_.F=xE;_.ib=yE;_.kb=zE;_.cd=AE;_.qd=BE;_.tN=sgc+'Panel';_.tI=39;function vr(a){a.f=yP(new pP(),a);}
-function wr(a){vr(a);return a;}
-function xr(c,a,b){sQ(a);zP(c.f,a);vd(b,a.rb());uE(c,a);}
-function yr(d,b,a){var c;Ar(d,a);if(b.v===d){c=Cr(d,b);if(c<a){a--;}}return a;}
-function zr(b,a){if(a<0||a>=b.f.c){throw new xT();}}
-function Ar(b,a){if(a<0||a>b.f.c){throw new xT();}}
-function Dr(b,a){return BP(b.f,a);}
-function Cr(b,a){return CP(b.f,a);}
-function Er(e,b,c,a,d){a=yr(e,b,a);sQ(b);DP(e.f,b,a);if(d){lf(c,b.rb(),a);}else{vd(c,b.rb());}uE(e,b);}
-function Fr(a){return EP(a.f);}
-function as(b,c){var a;if(c.v!==b){return false;}wE(b,c);a=c.rb();qf(jf(a),a);aQ(b.f,c);return true;}
-function bs(){return Fr(this);}
-function cs(a){return this.be(Dr(this,a));}
-function ds(a){return as(this,a);}
-function ur(){}
-_=ur.prototype=new tE();_.mc=bs;_.ae=cs;_.be=ds;_.tN=sgc+'ComplexPanel';_.tI=40;function cq(a){wr(a);a.je(zd());ag(a.rb(),'position','relative');ag(a.rb(),'overflow','hidden');return a;}
-function dq(a,b){xr(a,b,a.rb());}
-function fq(b,c){var a;a=as(b,c);if(a){gq(c.rb());}return a;}
-function gq(a){ag(a,'left','');ag(a,'top','');ag(a,'position','');}
-function hq(a){return fq(this,a);}
-function bq(){}
-_=bq.prototype=new ur();_.be=hq;_.tN=sgc+'AbsolutePanel';_.tI=41;function iq(){}
-_=iq.prototype=new xU();_.tN=sgc+'AbstractImagePrototype';_.tI=42;function hv(){hv=v3;lv=(uR(),yR);}
-function fv(b,a){hv();jv(b,a);return b;}
-function gv(b,a){if(b.k===null){b.k=Bu(new Au());}bZ(b.k,a);}
-function iv(b,a){switch(ze(a)){case 1:if(b.j!==null){sr(b.j,b);}break;case 4096:case 2048:if(b.k!==null){Du(b.k,b,a);}break;case 128:case 512:case 256:break;}}
-function jv(b,a){tQ(b,a);vO(b,7041);}
-function kv(a){if(this.j===null){this.j=qr(new pr());}bZ(this.j,a);}
-function mv(a){iv(this,a);}
-function nv(a){jv(this,a);}
-function ov(a){yf(this.rb(),'disabled',!a);}
-function pv(a){if(a){rR(lv,this.rb());}else{tR(lv,this.rb());}}
-function qv(a){wR(lv,this.rb(),a);}
-function ev(){}
-_=ev.prototype=new oP();_.x=kv;_.tc=mv;_.je=nv;_.ke=ov;_.le=pv;_.oe=qv;_.tN=sgc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var lv;function nq(){nq=v3;hv();}
-function mq(b,a){nq();fv(b,a);return b;}
-function oq(a){Df(this.rb(),a);}
-function lq(){}
-_=lq.prototype=new ev();_.me=oq;_.tN=sgc+'ButtonBase';_.tI=44;function rq(){rq=v3;nq();}
-function pq(a){rq();mq(a,yd());sq(a.rb());uO(a,'gwt-Button');return a;}
-function qq(b,a){rq();pq(b);b.me(a);return b;}
-function sq(b){rq();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
-function kq(){}
-_=kq.prototype=new lq();_.tN=sgc+'Button';_.tI=45;function uq(a){wr(a);a.e=ie();a.d=fe();vd(a.e,a.d);a.je(a.e);return a;}
-function wq(c,b,a){Af(b,'align',a.a);}
-function xq(c,b,a){ag(b,'verticalAlign',a.a);}
-function yq(c,a){var b;b=jf(c.rb());Af(b,'height',a);}
-function zq(b,c){var a;a=jf(b.rb());Af(a,'width',c);}
-function tq(){}
-_=tq.prototype=new ur();_.he=yq;_.ie=zq;_.tN=sgc+'CellPanel';_.tI=46;_.d=null;_.e=null;function yW(d,a,b){var c;while(a.gc()){c=a.pc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
-function AW(a){throw vW(new uW(),'add');}
-function BW(b){var a;a=yW(this,this.mc(),b);return a!==null;}
-function CW(){return this.Be(Ab('[Ljava.lang.Object;',[614],[12],[this.ye()],null));}
-function DW(a){var b,c,d;d=this.ye();if(a.a<d){a=vb(a,d);}b=0;for(c=this.mc();c.gc();){Cb(a,b++,c.pc());}if(a.a>d){Cb(a,d,null);}return a;}
-function EW(){var a,b,c;c=cV(new bV());a=null;eV(c,'[');b=this.mc();while(b.gc()){if(a!==null){eV(c,a);}else{a=', ';}eV(c,iW(b.pc()));}eV(c,']');return iV(c);}
-function xW(){}
-_=xW.prototype=new xU();_.C=AW;_.db=BW;_.Ae=CW;_.Be=DW;_.tS=EW;_.tN=wgc+'AbstractCollection';_.tI=47;function iX(b,a){throw yT(new xT(),'Index: '+a+', Size: '+b.b);}
-function jX(b,a){throw vW(new uW(),'add');}
-function kX(a){this.B(this.ye(),a);return true;}
-function lX(e){var a,b,c,d,f;if(e===this){return true;}if(!cc(e,56)){return false;}f=bc(e,56);if(this.ye()!=f.ye()){return false;}c=this.mc();d=f.mc();while(c.gc()){a=c.pc();b=d.pc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
-function mX(){var a,b,c,d;c=1;a=31;b=this.mc();while(b.gc()){d=b.pc();c=31*c+(d===null?0:d.hC());}return c;}
-function nX(){return bX(new aX(),this);}
-function oX(a){throw vW(new uW(),'remove');}
-function FW(){}
-_=FW.prototype=new xW();_.B=jX;_.C=kX;_.eQ=lX;_.hC=mX;_.mc=nX;_.ae=oX;_.tN=wgc+'AbstractList';_.tI=48;function EY(a){{cZ(a);}}
-function FY(a){EY(a);return a;}
-function aZ(c,a,b){if(a<0||a>c.b){iX(c,a);}nZ(c.a,a,b);++c.b;}
-function bZ(b,a){wZ(b.a,b.b++,a);return true;}
-function dZ(a){cZ(a);}
-function cZ(a){a.a=ib();a.b=0;}
-function fZ(b,a){return hZ(b,a)!=(-1);}
-function gZ(b,a){if(a<0||a>=b.b){iX(b,a);}return sZ(b.a,a);}
-function hZ(b,a){return iZ(b,a,0);}
-function iZ(c,b,a){if(a<0){iX(c,a);}for(;a<c.b;++a){if(rZ(b,sZ(c.a,a))){return a;}}return (-1);}
-function jZ(a){return a.b==0;}
-function kZ(c,a){var b;b=gZ(c,a);uZ(c.a,a,1);--c.b;return b;}
-function lZ(c,b){var a;a=hZ(c,b);if(a==(-1)){return false;}kZ(c,a);return true;}
-function mZ(d,a,b){var c;c=gZ(d,a);wZ(d.a,a,b);return c;}
-function oZ(a,b){aZ(this,a,b);}
-function pZ(a){return bZ(this,a);}
-function nZ(a,b,c){a.splice(b,0,c);}
-function qZ(a){return fZ(this,a);}
-function rZ(a,b){return a===b||a!==null&&a.eQ(b);}
-function tZ(a){return gZ(this,a);}
-function sZ(a,b){return a[b];}
-function vZ(a){return kZ(this,a);}
-function uZ(a,c,b){a.splice(c,b);}
-function wZ(a,b,c){a[b]=c;}
-function xZ(){return this.b;}
-function yZ(a){var b;if(a.a<this.b){a=vb(a,this.b);}for(b=0;b<this.b;++b){Cb(a,b,sZ(this.a,b));}if(a.a>this.b){Cb(a,this.b,null);}return a;}
-function DY(){}
-_=DY.prototype=new FW();_.B=oZ;_.C=pZ;_.db=qZ;_.dc=tZ;_.ae=vZ;_.ye=xZ;_.Be=yZ;_.tN=wgc+'ArrayList';_.tI=49;_.a=null;_.b=0;function Bq(a){FY(a);return a;}
-function Dq(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),41);b.vc(c);}}
-function Aq(){}
-_=Aq.prototype=new DY();_.tN=sgc+'ChangeListenerCollection';_.tI=50;function dr(){dr=v3;nq();}
-function ar(a){dr();br(a,Ed());uO(a,'gwt-CheckBox');return a;}
-function cr(b,a){dr();ar(b);hr(b,a);return b;}
-function br(b,a){var c;dr();mq(b,ee());b.a=a;b.b=ce();bg(b.a,ef(b.rb()));bg(b.rb(),0);vd(b.rb(),b.a);vd(b.rb(),b.b);c='check'+ ++or;Af(b.a,'id',c);Af(b.b,'htmlFor',c);return b;}
-function er(a){return hf(a.b);}
-function fr(b){var a;a=b.kc()?'checked':'defaultChecked';return bf(b.a,a);}
-function gr(b,a){yf(b.a,'checked',a);yf(b.a,'defaultChecked',a);}
-function hr(b,a){Ef(b.b,a);}
-function ir(){Bf(this.a,this);}
-function jr(){Bf(this.a,null);gr(this,fr(this));}
-function kr(a){yf(this.a,'disabled',!a);}
-function lr(a){if(a){rR(lv,this.a);}else{tR(lv,this.a);}}
-function mr(a){Df(this.b,a);}
-function nr(a){wR(lv,this.a,a);}
-function Fq(){}
-_=Fq.prototype=new lq();_.cd=ir;_.qd=jr;_.ke=kr;_.le=lr;_.me=mr;_.oe=nr;_.tN=sgc+'CheckBox';_.tI=51;_.a=null;_.b=null;var or=0;function qr(a){FY(a);return a;}
-function sr(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),42);b.wc(c);}}
-function pr(){}
-_=pr.prototype=new DY();_.tN=sgc+'ClickListenerCollection';_.tI=52;function gs(a,b){if(a.k!==null){throw vT(new uT(),'Composite.initWidget() may only be called once.');}sQ(b);a.je(b.rb());a.k=b;vQ(b,a);}
-function hs(){if(this.k===null){throw vT(new uT(),'initWidget() was never called in '+x(this));}return this.w;}
-function is(){if(this.k!==null){return this.k.kc();}return false;}
-function js(){this.k.rc();this.cd();}
-function ks(){try{this.qd();}finally{this.k.yc();}}
-function es(){}
-_=es.prototype=new oP();_.rb=hs;_.kc=is;_.rc=js;_.yc=ks;_.tN=sgc+'Composite';_.tI=53;_.k=null;function ms(a){wr(a);a.je(zd());return a;}
-function os(b,c){var a;a=c.rb();ag(a,'width','100%');ag(a,'height','100%');c.ue(false);}
-function ps(b,c,a){Er(b,c,b.rb(),a,true);os(b,c);}
-function qs(b,c){var a;a=as(b,c);if(a){rs(b,c);if(b.b===c){b.b=null;}}return a;}
-function rs(a,b){ag(b.rb(),'width','');ag(b.rb(),'height','');b.ue(true);}
-function ss(b,a){zr(b,a);if(b.b!==null){b.b.ue(false);}b.b=Dr(b,a);b.b.ue(true);}
-function ts(a){return qs(this,a);}
-function ls(){}
-_=ls.prototype=new ur();_.be=ts;_.tN=sgc+'DeckPanel';_.tI=54;_.b=null;function AH(a){BH(a,zd());return a;}
-function BH(b,a){b.je(a);return b;}
-function CH(a,b){if(a.r!==null){throw vT(new uT(),'SimplePanel can only contain one child widget');}a.we(b);}
-function EH(a,b){if(b===a.r){return;}if(b!==null){sQ(b);}if(a.r!==null){a.be(a.r);}a.r=b;if(b!==null){vd(a.qb(),a.r.rb());uE(a,b);}}
-function FH(){return this.rb();}
-function aI(){return vH(new tH(),this);}
-function bI(a){if(this.r!==a){return false;}wE(this,a);qf(this.qb(),a.rb());this.r=null;return true;}
-function cI(a){EH(this,a);}
-function sH(){}
-_=sH.prototype=new tE();_.qb=FH;_.mc=aI;_.be=bI;_.we=cI;_.tN=sgc+'SimplePanel';_.tI=55;_.r=null;function eF(){eF=v3;uF=new eS();}
-function aF(a){eF();BH(a,kS(uF));lF(a,0,0);return a;}
-function bF(b,a){eF();aF(b);b.k=a;return b;}
-function cF(c,a,b){eF();bF(c,a);c.o=b;return c;}
-function dF(b,a){if(a.blur){a.blur();}}
-function fF(a){return a.rb();}
-function gF(a){return oO(a);}
-function hF(a){iF(a,false);}
-function iF(b,a){if(!b.p){return;}b.p=false;fq(iH(),b);gS(uF,b.rb());}
-function jF(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.ne(a.l);}if(a.m!==null){b.xe(a.m);}}}
-function kF(e,b){var a,c,d,f;d=xe(b);c=nf(e.rb(),d);f=ze(b);switch(f){case 128:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 512:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 256:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((td(),tf)!==null){return true;}if(!c&&e.k&&f==4){iF(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){dF(e,d);return false;}}}return !e.o||c;}
-function lF(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.rb();ag(a,'left',b+'px');ag(a,'top',d+'px');}
-function mF(a,b){EH(a,b);jF(a);}
-function nF(a,b){a.m=b;jF(a);if(uV(b)==0){a.m=null;}}
-function oF(a){if(a.p){return;}a.p=true;ud(a);ag(a.rb(),'position','absolute');if(a.q!=(-1)){lF(a,a.n,a.q);}dq(iH(),a);hS(uF,a.rb());}
-function pF(){return fF(this);}
-function qF(){return nO(this);}
-function rF(){return gF(this);}
-function sF(){return this.rb();}
-function tF(){hF(this);}
-function vF(){sf(this);rQ(this);}
-function wF(a){return kF(this,a);}
-function xF(a){this.l=a;jF(this);if(uV(a)==0){this.l=null;}}
-function yF(b){var a;a=fF(this);if(b===null||uV(b)==0){rf(a,'title');}else{xf(a,'title',b);}}
-function zF(a){ag(this.rb(),'visibility',a?'visible':'hidden');iS(uF,this.rb(),a);}
-function AF(a){mF(this,a);}
-function BF(a){nF(this,a);}
-function FE(){}
-_=FE.prototype=new sH();_.qb=pF;_.yb=qF;_.zb=rF;_.Fb=sF;_.hc=tF;_.yc=vF;_.zc=wF;_.ne=xF;_.pe=yF;_.ue=zF;_.we=AF;_.xe=BF;_.tN=sgc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var uF;function zs(){zs=v3;eF();}
-function vs(a){a.e=dA(new hx());a.j=lu(new fu());}
-function ws(a){zs();xs(a,false);return a;}
-function xs(b,a){zs();ys(b,a,true);return b;}
-function ys(c,a,b){zs();cF(c,a,b);vs(c);c.j.ve(0,0,c.e);c.j.ne('100%');rz(c.j,0);tz(c.j,0);uz(c.j,0);Cx(c.j.n,1,0,'100%');by(c.j.n,1,0,'100%');Bx(c.j.n,1,0,(oA(),pA),(xA(),zA));mF(c,c.j);uO(c,'gwt-DialogBox');uO(c.e,'Caption');EC(c.e,c);return c;}
-function As(b,a){hA(b.e,a);}
-function Bs(b,a){bD(b.e,a);}
-function Cs(a,b){if(a.f!==null){qz(a.j,a.f);}if(b!==null){a.j.ve(1,0,b);}a.f=b;}
-function Ds(a){if(ze(a)==4){if(nf(this.e.rb(),xe(a))){Ae(a);}}return kF(this,a);}
-function Es(a,b,c){this.i=true;wf(this.e.rb());this.g=b;this.h=c;}
-function Fs(a){}
-function at(a){}
-function bt(c,d,e){var a,b;if(this.i){a=d+lO(this);b=e+mO(this);lF(this,a-this.g,b-this.h);}}
-function ct(a,b,c){this.i=false;pf(this.e.rb());}
-function dt(a){if(this.f!==a){return false;}qz(this.j,a);return true;}
-function et(a){Cs(this,a);}
-function ft(a){nF(this,a);this.j.xe('100%');}
-function us(){}
-_=us.prototype=new FE();_.zc=Ds;_.ed=Es;_.fd=Fs;_.gd=at;_.hd=bt;_.id=ct;_.be=dt;_.we=et;_.xe=ft;_.tN=sgc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function rt(){rt=v3;xt=new ht();yt=new ht();zt=new ht();At=new ht();Bt=new ht();}
-function ot(a){a.b=(oA(),qA);a.c=(xA(),AA);}
-function pt(a){rt();uq(a);ot(a);zf(a.e,'cellSpacing',0);zf(a.e,'cellPadding',0);return a;}
-function qt(c,d,a){var b;if(a===xt){if(d===c.a){return;}else if(c.a!==null){throw sT(new rT(),'Only one CENTER widget may be added');}}sQ(d);zP(c.f,d);if(a===xt){c.a=d;}b=kt(new jt(),a);uQ(d,b);ut(c,d,c.b);vt(c,d,c.c);st(c);uE(c,d);}
-function st(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ee(a)>0){qf(a,af(a,0));}l=1;d=1;for(h=EP(p.f);tP(h);){c=uP(h);e=c.u.a;if(e===zt||e===At){++l;}else if(e===yt||e===Bt){++d;}}m=Ab('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[636],[33],[l],null);for(g=0;g<l;++g){m[g]=new mt();m[g].b=he();vd(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=EP(p.f);tP(h);){c=uP(h);i=c.u;o=ge();i.d=o;Af(i.d,'align',i.b);ag(i.d,'verticalAlign',i.e);Af(i.d,'width',i.f);Af(i.d,'height',i.c);if(i.a===zt){lf(m[j].b,o,m[j].a);vd(o,c.rb());zf(o,'colSpan',f-q+1);++j;}else if(i.a===At){lf(m[n].b,o,m[n].a);vd(o,c.rb());zf(o,'colSpan',f-q+1);--n;}else if(i.a===Bt){k=m[j];lf(k.b,o,k.a++);vd(o,c.rb());zf(o,'rowSpan',n-j+1);++q;}else if(i.a===yt){k=m[j];lf(k.b,o,k.a);vd(o,c.rb());zf(o,'rowSpan',n-j+1);--f;}else if(i.a===xt){b=o;}}if(p.a!==null){k=m[j];lf(k.b,b,k.a);vd(b,p.a.rb());}}
-function tt(b,c){var a;a=as(b,c);if(a){if(c===b.a){b.a=null;}st(b);}return a;}
-function ut(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){Af(b.d,'align',b.b);}}
-function vt(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){ag(b.d,'verticalAlign',b.e);}}
-function wt(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){ag(a.d,'width',a.f);}}
-function Ct(a){return tt(this,a);}
-function Dt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){ag(a.d,'height',a.c);}}
-function Et(a,b){wt(this,a,b);}
-function gt(){}
-_=gt.prototype=new tq();_.be=Ct;_.he=Dt;_.ie=Et;_.tN=sgc+'DockPanel';_.tI=58;_.a=null;var xt,yt,zt,At,Bt;function ht(){}
-_=ht.prototype=new xU();_.tN=sgc+'DockPanel$DockLayoutConstant';_.tI=59;function kt(b,a){b.a=a;return b;}
-function jt(){}
-_=jt.prototype=new xU();_.tN=sgc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function mt(){}
-_=mt.prototype=new xU();_.tN=sgc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function au(a){a.je(Ad('input'));Af(a.rb(),'type','file');uO(a,'gwt-FileUpload');return a;}
-function cu(a){return df(a.rb(),'value');}
-function du(b,a){Af(b.rb(),'name',a);}
-function Ft(){}
-_=Ft.prototype=new oP();_.tN=sgc+'FileUpload';_.tI=62;function By(a){a.s=ry(new my());}
-function Cy(a){By(a);a.q=ie();a.m=fe();vd(a.q,a.m);a.je(a.q);vO(a,1);return a;}
-function Dy(b,a){if(b.r===null){b.r=FK(new EK());}bZ(b.r,a);}
-function Ey(d,c,b){var a;Fy(d,c);if(b<0){throw yT(new xT(),'Column '+b+' must be non-negative: '+b);}a=d.pb(c);if(a<=b){throw yT(new xT(),'Column index: '+b+', Column size: '+d.pb(c));}}
-function Fy(c,a){var b;b=c.Bb();if(a>=b||a<0){throw yT(new xT(),'Row index: '+a+', Row size: '+b);}}
-function az(e,c,b,a){var d;d=yx(e.n,c,b);nz(e,d,a);return d;}
-function bz(d){var a,b,c;for(c=0;c<d.Bb();++c){for(b=0;b<d.pb(c);++b){a=jz(d,c,b);if(a!==null){qz(d,a);}}}}
-function dz(a){return ge();}
-function ez(c,b,a){return b.rows[a].cells.length;}
-function fz(a){return gz(a,a.m);}
-function gz(b,a){return a.rows.length;}
-function hz(d,b){var a,c,e;c=xe(b);for(;c!==null;c=jf(c)){if(pV(df(c,'tagName'),'td')){e=jf(c);a=jf(e);if(wd(a,d.m)){return c;}}if(wd(c,d.m)){return null;}}return null;}
-function iz(d,c,a){var b;Ey(d,c,a);b=xx(d.n,c,a);return hf(b);}
-function kz(c,b,a){Ey(c,b,a);return jz(c,b,a);}
-function jz(e,d,b){var a,c;c=yx(e.n,d,b);a=ff(c);if(a===null){return null;}else{return ty(e.s,a);}}
-function lz(d,b,a){var c,e;e=ky(d.p,d.m,b);c=d.eb();lf(e,c,a);}
-function mz(b,a){var c;if(a!=pu(b)){Fy(b,a);}c=he();lf(b.m,c,a);return a;}
-function nz(d,c,a){var b,e;b=ff(c);e=null;if(b!==null){e=ty(d.s,b);}if(e!==null){qz(d,e);return true;}else{if(a){Df(c,'');}return false;}}
-function qz(b,c){var a;if(c.v!==b){return false;}wE(b,c);a=c.rb();qf(jf(a),a);wy(b.s,a);return true;}
-function oz(d,b,a){var c,e;Ey(d,b,a);c=az(d,b,a,false);e=ky(d.p,d.m,b);qf(e,c);}
-function pz(d,c){var a,b;b=d.pb(c);for(a=0;a<b;++a){az(d,c,a,false);}qf(d.m,ky(d.p,d.m,c));}
-function rz(a,b){Af(a.q,'border',''+b);}
-function sz(b,a){b.n=a;}
-function tz(b,a){zf(b.q,'cellPadding',a);}
-function uz(b,a){zf(b.q,'cellSpacing',a);}
-function vz(b,a){b.o=a;fy(b.o);}
-function wz(e,c,a,b){var d;Cw(e,c,a);d=az(e,c,a,b===null);if(b!==null){Df(d,b);}}
-function xz(b,a){b.p=a;}
-function yz(e,b,a,d){var c;e.ud(b,a);c=az(e,b,a,d===null);if(d!==null){Ef(c,d);}}
-function zz(d,b,a,e){var c;d.ud(b,a);if(e!==null){sQ(e);c=az(d,b,a,true);uy(d.s,e);vd(c,e.rb());uE(d,e);}}
-function Az(){bz(this);}
-function Bz(){return dz(this);}
-function Cz(b,a){lz(this,b,a);}
-function Dz(){return xy(this.s);}
-function Ez(c){var a,b,d,e,f;switch(ze(c)){case 1:{if(this.r!==null){e=hz(this,c);if(e===null){return;}f=jf(e);a=jf(f);d=Fe(a,f);b=Fe(f,e);bL(this.r,this,d,b);}break;}default:}}
-function bA(a){return qz(this,a);}
-function Fz(b,a){oz(this,b,a);}
-function aA(a){pz(this,a);}
-function cA(b,a,c){zz(this,b,a,c);}
-function ix(){}
-_=ix.prototype=new tE();_.F=Az;_.eb=Bz;_.ic=Cz;_.mc=Dz;_.tc=Ez;_.be=bA;_.Cd=Fz;_.Ed=aA;_.ve=cA;_.tN=sgc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function lu(a){Cy(a);sz(a,hu(new gu(),a));xz(a,hy(new gy(),a));vz(a,dy(new cy(),a));return a;}
-function nu(b,a){Fy(b,a);return ez(b,b.m,a);}
-function ou(a){return bc(a.n,43);}
-function pu(a){return fz(a);}
-function qu(b,a){return mz(b,a);}
-function ru(d,b){var a,c;if(b<0){throw yT(new xT(),'Cannot create a row with a negative index: '+b);}c=pu(d);for(a=c;a<=b;a++){qu(d,a);}}
-function su(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
-function tu(a){return nu(this,a);}
-function uu(){return pu(this);}
-function vu(b,a){lz(this,b,a);}
-function wu(d,b){var a,c;ru(this,d);if(b<0){throw yT(new xT(),'Cannot create a column with a negative index: '+b);}a=nu(this,d);c=b+1-a;if(c>0){su(this.m,d,c);}}
-function xu(a){ru(this,a);}
-function yu(b,a){oz(this,b,a);}
-function zu(a){pz(this,a);}
-function fu(){}
-_=fu.prototype=new ix();_.pb=tu;_.Bb=uu;_.ic=vu;_.ud=wu;_.vd=xu;_.Cd=yu;_.Ed=zu;_.tN=sgc+'FlexTable';_.tI=64;function tx(b,a){b.a=a;return b;}
-function vx(c,b,a){c.a.ud(b,a);return wx(c,c.a.m,b,a);}
-function wx(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
-function xx(c,b,a){Ey(c.a,b,a);return wx(c,c.a.m,b,a);}
-function yx(c,b,a){return wx(c,c.a.m,b,a);}
-function zx(d,c,a){var b;b=xx(d,c,a);return BO(b);}
-function Ax(e,b,a,c){var d;Ey(e.a,b,a);d=wx(e,e.a.m,b,a);FO(d,c,false);}
-function Bx(d,c,a,b,e){Dx(d,c,a,b);Fx(d,c,a,e);}
-function Cx(e,d,a,c){var b;e.a.ud(d,a);b=wx(e,e.a.m,d,a);Af(b,'height',c);}
-function Dx(e,d,b,a){var c;e.a.ud(d,b);c=wx(e,e.a.m,d,b);Af(c,'align',a.a);}
-function Ex(d,b,a,c){d.a.ud(b,a);EO(wx(d,d.a.m,b,a),c);}
-function Fx(d,c,b,a){d.a.ud(c,b);ag(wx(d,d.a.m,c,b),'verticalAlign',a.a);}
-function ay(d,c,a,e){var b;b=vx(d,c,a);bP(b,e);}
-function by(c,b,a,d){c.a.ud(b,a);Af(wx(c,c.a.m,b,a),'width',d);}
-function sx(){}
-_=sx.prototype=new xU();_.tN=sgc+'HTMLTable$CellFormatter';_.tI=65;function hu(b,a){tx(b,a);return b;}
-function ju(d,c,b,a){zf(vx(d,c,b),'colSpan',a);}
-function ku(d,b,a,c){zf(vx(d,b,a),'rowSpan',c);}
-function gu(){}
-_=gu.prototype=new sx();_.tN=sgc+'FlexTable$FlexCellFormatter';_.tI=66;function Bu(a){FY(a);return a;}
-function Eu(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),44);b.Bc(c);}}
-function Du(c,b,a){switch(ze(a)){case 2048:Eu(c,b);break;case 4096:Fu(c,b);break;}}
-function Fu(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),44);b.dd(c);}}
-function Au(){}
-_=Au.prototype=new DY();_.tN=sgc+'FocusListenerCollection';_.tI=67;function cv(){cv=v3;dv=(uR(),xR);}
-var dv;function sv(a){FY(a);return a;}
-function uv(f,e,d){var a,b,c;a=ow(new nw(),e,d);for(c=f.mc();c.gc();){b=bc(c.pc(),45);b.kd(a);}}
-function vv(e,d){var a,b,c;a=new qw();for(c=e.mc();c.gc();){b=bc(c.pc(),45);b.ld(a);}return a.a;}
-function rv(){}
-_=rv.prototype=new DY();_.tN=sgc+'FormHandlerCollection';_.tI=68;function Ev(){Ev=v3;iw=new BR();}
-function Cv(a){Ev();BH(a,Bd());a.b='FormPanel_'+ ++hw;fw(a,a.b);vO(a,32768);return a;}
-function Dv(b,a){if(b.a===null){b.a=sv(new rv());}bZ(b.a,a);}
-function Fv(b){var a;a=zd();Df(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=ff(a);}
-function aw(a){if(a.a!==null){return !vv(a.a,a);}return true;}
-function bw(a){if(a.a!==null){hg(zv(new yv(),a));}}
-function cw(a,b){Af(a.rb(),'action',b);}
-function dw(b,a){bS(iw,b.rb(),a);}
-function ew(b,a){Af(b.rb(),'method',a);}
-function fw(b,a){Af(b.rb(),'target',a);}
-function gw(a){if(a.a!==null){if(vv(a.a,a)){return;}}cS(iw,a.rb(),a.c);}
-function jw(){qQ(this);Fv(this);vd(hH(),this.c);DR(iw,this.c,this.rb(),this);}
-function kw(){rQ(this);ER(iw,this.c,this.rb());qf(hH(),this.c);this.c=null;}
-function lw(){var a;a=y;{return aw(this);}}
-function mw(){var a;a=y;{bw(this);}}
-function xv(){}
-_=xv.prototype=new sH();_.rc=jw;_.yc=kw;_.Cc=lw;_.Dc=mw;_.tN=sgc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var hw=0,iw;function zv(b,a){b.a=a;return b;}
-function Bv(){uv(this.a.a,this,aS((Ev(),iw),this.a.c));}
-function yv(){}
-_=yv.prototype=new xU();_.nb=Bv;_.tN=sgc+'FormPanel$1';_.tI=70;function E0(){}
-_=E0.prototype=new xU();_.tN=wgc+'EventObject';_.tI=71;function ow(c,b,a){c.a=a;return c;}
-function nw(){}
-_=nw.prototype=new E0();_.tN=sgc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function sw(b,a){b.a=a;}
-function qw(){}
-_=qw.prototype=new E0();_.tN=sgc+'FormSubmitEvent';_.tI=73;_.a=false;function uw(a){a.je(Cd());return a;}
-function vw(a,b){uw(a);xw(a,b);return a;}
-function xw(a,b){Af(a.rb(),'src',b);}
-function tw(){}
-_=tw.prototype=new oP();_.tN=sgc+'Frame';_.tI=74;function zw(a){Cy(a);sz(a,tx(new sx(),a));xz(a,hy(new gy(),a));vz(a,dy(new cy(),a));return a;}
-function Aw(c,b,a){zw(c);ax(c,b,a);return c;}
-function Cw(c,b,a){Dw(c,b);if(a<0){throw yT(new xT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw yT(new xT(),'Column index: '+a+', Column size: '+c.k);}}
-function Dw(b,a){if(a<0){throw yT(new xT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw yT(new xT(),'Row index: '+a+', Row size: '+b.l);}}
-function ax(c,b,a){Ew(c,a);Fw(c,b);}
-function Ew(d,a){var b,c;if(d.k==a){return;}if(a<0){throw yT(new xT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Cd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.ic(b,c);}}}d.k=a;}
-function Fw(b,a){if(b.l==a){return;}if(a<0){throw yT(new xT(),'Cannot set number of rows to '+a);}if(b.l<a){bx(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.Ed(--b.l);}}}
-function bx(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
-function cx(){var a;a=dz(this);Df(a,'&nbsp;');return a;}
-function dx(a){return this.k;}
-function ex(){return this.l;}
-function fx(b,a){Cw(this,b,a);}
-function gx(a){Dw(this,a);}
-function yw(){}
-_=yw.prototype=new ix();_.eb=cx;_.pb=dx;_.Bb=ex;_.ud=fx;_.vd=gx;_.tN=sgc+'Grid';_.tI=75;_.k=0;_.l=0;function BC(a){a.je(zd());vO(a,131197);uO(a,'gwt-Label');return a;}
-function CC(b,a){BC(b);bD(b,a);return b;}
-function DC(b,a){if(b.a===null){b.a=qr(new pr());}bZ(b.a,a);}
-function EC(b,a){if(b.b===null){b.b=aE(new FD());}bZ(b.b,a);}
-function aD(a){return hf(a.rb());}
-function bD(b,a){Ef(b.rb(),a);}
-function cD(a,b){ag(a.rb(),'whiteSpace',b?'normal':'nowrap');}
-function dD(a){switch(ze(a)){case 1:if(this.a!==null){sr(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){eE(this.b,this,a);}break;case 131072:break;}}
-function AC(){}
-_=AC.prototype=new oP();_.tc=dD;_.tN=sgc+'Label';_.tI=76;_.a=null;_.b=null;function dA(a){BC(a);a.je(zd());vO(a,125);uO(a,'gwt-HTML');return a;}
-function eA(b,a){dA(b);hA(b,a);return b;}
-function fA(b,a,c){eA(b,a);cD(b,c);return b;}
-function hA(b,a){Df(b.rb(),a);}
-function hx(){}
-_=hx.prototype=new AC();_.tN=sgc+'HTML';_.tI=77;function kx(a){{nx(a);}}
-function lx(b,a){b.c=a;kx(b);return b;}
-function nx(a){while(++a.b<a.c.b.b){if(gZ(a.c.b,a.b)!==null){return;}}}
-function ox(a){return a.b<a.c.b.b;}
-function px(){return ox(this);}
-function qx(){var a;if(!ox(this)){throw new d3();}a=gZ(this.c.b,this.b);this.a=this.b;nx(this);return a;}
-function rx(){var a;if(this.a<0){throw new uT();}a=bc(gZ(this.c.b,this.a),20);sQ(a);this.a=(-1);}
-function jx(){}
-_=jx.prototype=new xU();_.gc=px;_.pc=qx;_.Fd=rx;_.tN=sgc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function dy(b,a){b.b=a;return b;}
-function fy(a){if(a.a===null){a.a=Ad('colgroup');lf(a.b.q,a.a,0);vd(a.a,Ad('col'));}}
-function cy(){}
-_=cy.prototype=new xU();_.tN=sgc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function hy(b,a){b.a=a;return b;}
-function jy(b,a){b.a.vd(a);return ky(b,b.a.m,a);}
-function ky(c,a,b){return a.rows[b];}
-function ly(c,a,b){EO(jy(c,a),b);}
-function gy(){}
-_=gy.prototype=new xU();_.tN=sgc+'HTMLTable$RowFormatter';_.tI=80;function qy(a){a.b=FY(new DY());}
-function ry(a){qy(a);return a;}
-function ty(c,a){var b;b=zy(a);if(b<0){return null;}return bc(gZ(c.b,b),20);}
-function uy(b,c){var a;if(b.a===null){a=b.b.b;bZ(b.b,c);}else{a=b.a.a;mZ(b.b,a,c);b.a=b.a.b;}Ay(c.rb(),a);}
-function vy(c,a,b){yy(a);mZ(c.b,b,null);c.a=oy(new ny(),b,c.a);}
-function wy(c,a){var b;b=zy(a);vy(c,a,b);}
-function xy(a){return lx(new jx(),a);}
-function yy(a){a['__widgetID']=null;}
-function zy(a){var b=a['__widgetID'];return b==null?-1:b;}
-function Ay(a,b){a['__widgetID']=b;}
-function my(){}
-_=my.prototype=new xU();_.tN=sgc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function oy(c,a,b){c.a=a;c.b=b;return c;}
-function ny(){}
-_=ny.prototype=new xU();_.tN=sgc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function oA(){oA=v3;pA=mA(new lA(),'center');qA=mA(new lA(),'left');rA=mA(new lA(),'right');}
-var pA,qA,rA;function mA(b,a){b.a=a;return b;}
-function lA(){}
-_=lA.prototype=new xU();_.tN=sgc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function xA(){xA=v3;yA=vA(new uA(),'bottom');zA=vA(new uA(),'middle');AA=vA(new uA(),'top');}
-var yA,zA,AA;function vA(a,b){a.a=b;return a;}
-function uA(){}
-_=uA.prototype=new xU();_.tN=sgc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function EA(a){a.a=(oA(),qA);a.c=(xA(),AA);}
-function FA(a){uq(a);EA(a);a.b=he();vd(a.d,a.b);Af(a.e,'cellSpacing','0');Af(a.e,'cellPadding','0');return a;}
-function aB(b,c){var a;a=cB(b);vd(b.b,a);xr(b,c,a);}
-function cB(b){var a;a=ge();wq(b,a,b.a);xq(b,a,b.c);return a;}
-function dB(c,d,a){var b;Ar(c,a);b=cB(c);lf(c.b,b,a);Er(c,d,b,a,false);}
-function eB(c,d){var a,b;b=jf(d.rb());a=as(c,d);if(a){qf(c.b,b);}return a;}
-function fB(b,a){b.c=a;}
-function gB(a){return eB(this,a);}
-function DA(){}
-_=DA.prototype=new tq();_.be=gB;_.tN=sgc+'HorizontalPanel';_.tI=85;_.b=null;function iB(a){a.je(zd());vd(a.rb(),a.a=xd());vO(a,1);uO(a,'gwt-Hyperlink');return a;}
-function jB(c,b,a){iB(c);mB(c,b);lB(c,a);return c;}
-function lB(b,a){b.b=a;Af(b.a,'href','#'+a);}
-function mB(b,a){Ef(b.a,a);}
-function nB(a){if(ze(a)==1){dh(this.b);Ae(a);}}
-function hB(){}
-_=hB.prototype=new oP();_.tc=nB;_.tN=sgc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function hC(){hC=v3;C1(new a1());}
-function dC(a){hC();gC(a,CB(new BB(),a));uO(a,'gwt-Image');return a;}
-function eC(a,b){hC();gC(a,DB(new BB(),a,b));uO(a,'gwt-Image');return a;}
-function fC(b,a){if(b.a===null){b.a=qr(new pr());}bZ(b.a,a);}
-function gC(b,a){b.b=a;}
-function jC(a,b){a.b.re(a,b);}
-function iC(c,e,b,d,f,a){c.b.qe(c,e,b,d,f,a);}
-function kC(a){switch(ze(a)){case 1:{if(this.a!==null){sr(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
-function oB(){}
-_=oB.prototype=new oP();_.tc=kC;_.tN=sgc+'Image';_.tI=87;_.a=null;_.b=null;function rB(){}
-function pB(){}
-_=pB.prototype=new xU();_.nb=rB;_.tN=sgc+'Image$1';_.tI=88;function zB(){}
-_=zB.prototype=new xU();_.tN=sgc+'Image$State';_.tI=89;function uB(){uB=v3;wB=bR(new aR());}
-function tB(d,b,f,c,e,g,a){uB();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.je(iR(wB,f,c,e,g,a));vO(b,131197);vB(d,b);return d;}
-function vB(b,a){hg(new pB());}
-function yB(a,b){gC(a,DB(new BB(),a,b));}
-function xB(b,e,c,d,f,a){if(!qV(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;cR(wB,b.rb(),e,c,d,f,a);vB(this,b);}}
-function sB(){}
-_=sB.prototype=new zB();_.re=yB;_.qe=xB;_.tN=sgc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var wB;function CB(b,a){a.je(Dd());vO(a,229501);return b;}
-function DB(b,a,c){CB(b,a);FB(b,a,c);return b;}
-function FB(b,a,c){Cf(a.rb(),c);}
-function bC(a,b){FB(this,a,b);}
-function aC(b,e,c,d,f,a){gC(b,tB(new sB(),b,e,c,d,f,a));}
-function BB(){}
-_=BB.prototype=new zB();_.re=bC;_.qe=aC;_.tN=sgc+'Image$UnclippedState';_.tI=91;function oC(c,a,b){}
-function pC(c,a,b){}
-function qC(c,a,b){}
-function mC(){}
-_=mC.prototype=new xU();_.Fc=oC;_.ad=pC;_.bd=qC;_.tN=sgc+'KeyboardListenerAdapter';_.tI=92;function sC(a){FY(a);return a;}
-function uC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.Fc(e,b,d);}}
-function vC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.ad(e,b,d);}}
-function wC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.bd(e,b,d);}}
-function xC(d,c,a){var b;b=yC(a);switch(ze(a)){case 128:uC(d,c,dc(ue(a)),b);break;case 512:wC(d,c,dc(ue(a)),b);break;case 256:vC(d,c,dc(ue(a)),b);break;}}
-function yC(a){return (we(a)?1:0)|(ve(a)?8:0)|(re(a)?2:0)|(oe(a)?4:0);}
-function rC(){}
-_=rC.prototype=new DY();_.tN=sgc+'KeyboardListenerCollection';_.tI=93;function tD(){tD=v3;hv();DD=new fD();}
-function mD(a){tD();nD(a,false);return a;}
-function nD(b,a){tD();fv(b,de(a));vO(b,1024);uO(b,'gwt-ListBox');return b;}
-function oD(b,a){if(b.b===null){b.b=Bq(new Aq());}bZ(b.b,a);}
-function pD(b,a){yD(b,a,(-1));}
-function qD(b,a,c){zD(b,a,c,(-1));}
-function rD(b,a){if(a<0||a>=uD(b)){throw new xT();}}
-function sD(a){gD(DD,a.rb());}
-function uD(a){return iD(DD,a.rb());}
-function vD(b,a){rD(b,a);return jD(DD,b.rb(),a);}
-function wD(a){return cf(a.rb(),'selectedIndex');}
-function xD(b,a){rD(b,a);return kD(DD,b.rb(),a);}
-function yD(c,b,a){zD(c,b,b,a);}
-function zD(c,b,d,a){mf(c.rb(),b,d,a);}
-function AD(b,a){rD(b,a);lD(DD,b.rb(),a);}
-function BD(b,a){zf(b.rb(),'selectedIndex',a);}
-function CD(a,b){zf(a.rb(),'size',b);}
-function ED(a){if(ze(a)==1024){if(this.b!==null){Dq(this.b,this);}}else{iv(this,a);}}
-function eD(){}
-_=eD.prototype=new ev();_.tc=ED;_.tN=sgc+'ListBox';_.tI=94;_.b=null;var DD;function gD(b,a){a.options.length=0;}
-function iD(b,a){return a.options.length;}
-function jD(c,b,a){return b.options[a].text;}
-function kD(c,b,a){return b.options[a].value;}
-function lD(c,b,a){b.options[a]=null;}
-function fD(){}
-_=fD.prototype=new xU();_.tN=sgc+'ListBox$Impl';_.tI=95;function aE(a){FY(a);return a;}
-function cE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.ed(c,e,f);}}
-function dE(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.fd(c);}}
-function eE(e,c,a){var b,d,f,g,h;d=c.rb();g=pe(a)-Ce(d)+cf(d,'scrollLeft')+ei();h=qe(a)-De(d)+cf(d,'scrollTop')+fi();switch(ze(a)){case 4:cE(e,c,g,h);break;case 8:hE(e,c,g,h);break;case 64:gE(e,c,g,h);break;case 16:b=te(a);if(!nf(d,b)){dE(e,c);}break;case 32:f=ye(a);if(!nf(d,f)){fE(e,c);}break;}}
-function fE(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.gd(c);}}
-function gE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.hd(c,e,f);}}
-function hE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.id(c,e,f);}}
-function FD(){}
-_=FD.prototype=new DY();_.tN=sgc+'MouseListenerCollection';_.tI=96;function jE(){}
-_=jE.prototype=new xU();_.tN=sgc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=97;_.a=null;_.b=null;function nE(b,a){rE(a,b.Bd());sE(a,b.Bd());}
-function oE(a){return a.a;}
-function pE(a){return a.b;}
-function qE(b,a){b.cf(oE(a));b.cf(pE(a));}
-function rE(a,b){a.a=b;}
-function sE(a,b){a.b=b;}
-function qL(){qL=v3;hv();xL=new mS();}
-function mL(b,a){qL();fv(b,a);vO(b,1024);return b;}
-function nL(b,a){if(b.f===null){b.f=Bq(new Aq());}bZ(b.f,a);}
-function oL(b,a){if(b.i===null){b.i=sC(new rC());}bZ(b.i,a);}
-function pL(a){if(a.h!==null){Ae(a.h);}}
-function rL(a){return df(a.rb(),'value');}
-function sL(b,a){uL(b,a,0);}
-function tL(b,a){Af(b.rb(),'name',a);}
-function uL(c,b,a){if(a<0){throw yT(new xT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>uV(rL(c))){throw yT(new xT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+uV(rL(c)));}pS(xL,c.rb(),b,a);}
-function vL(b,a){Af(b.rb(),'value',a!==null?a:'');}
-function wL(a){if(this.g===null){this.g=qr(new pr());}bZ(this.g,a);}
-function yL(a){var b;iv(this,a);b=ze(a);if(this.i!==null&&(b&896)!=0){this.h=a;xC(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){sr(this.g,this);}}else if(b==1024){if(this.f!==null){Dq(this.f,this);}}}
-function lL(){}
-_=lL.prototype=new ev();_.x=wL;_.tc=yL;_.tN=sgc+'TextBoxBase';_.tI=98;_.f=null;_.g=null;_.h=null;_.i=null;var xL;function EE(){EE=v3;qL();}
-function DE(a){EE();mL(a,Fd());uO(a,'gwt-PasswordTextBox');return a;}
-function CE(){}
-_=CE.prototype=new lL();_.tN=sgc+'PasswordTextBox';_.tI=99;function jG(b,a){kG(b,a,null);return b;}
-function kG(c,a,b){c.a=a;mG(c);return c;}
-function lG(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=yG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=yG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=vG(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
-function mG(a){a.b=0;a.c={};a.d={};}
-function oG(b,a){return fZ(pG(b,a,1),a);}
-function pG(c,b,a){var d;d=FY(new DY());if(b!==null&&a>0){rG(c,b,'',d,a);}return d;}
-function qG(a){return EF(new DF(),a);}
-function rG(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=yG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+BG(a);h.ze(f,l,c,b);}}else{for(j in k){var l=d+BG(j);if(l.indexOf(f)==0){c.C(l);}if(c.ye()>=b){return;}}for(var a in i){var l=d+BG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.ye()||h.b==1){h.lb(c,l);}else{for(var j in h.d){c.C(l+BG(j));}for(var g in h.c){c.C(l+BG(g)+'...');}}}}}}
-function sG(a){if(cc(a,1)){return lG(this,bc(a,1));}else{throw vW(new uW(),'Cannot add non-Strings to PrefixTree');}}
-function tG(a){return lG(this,a);}
-function uG(a){if(cc(a,1)){return oG(this,bc(a,1));}else{return false;}}
-function vG(a){return jG(new CF(),a);}
-function wG(b,c){var a;for(a=qG(this);bG(a);){b.C(c+bc(eG(a),1));}}
-function xG(){return qG(this);}
-function yG(a){return ac(58)+a;}
-function zG(){return this.b;}
-function AG(d,c,b,a){rG(this,d,c,b,a);}
-function BG(a){return zV(a,1);}
-function CF(){}
-_=CF.prototype=new xW();_.C=sG;_.D=tG;_.db=uG;_.lb=wG;_.mc=xG;_.ye=zG;_.ze=AG;_.tN=sgc+'PrefixTree';_.tI=100;_.a=0;_.b=0;_.c=null;_.d=null;function EF(a,b){cG(a);FF(a,b,'');return a;}
-function FF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
-function bG(a){return dG(a,true)!==null;}
-function cG(a){a.a=[];}
-function eG(a){var b;b=dG(a,false);if(b===null){if(!bG(a)){throw e3(new d3(),'No more elements in the iterator');}else{throw DU(new CU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
-function dG(g,b){var d=g.a;var c=yG;var i=BG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
-function fG(b,a){FF(this,b,a);}
-function gG(){return bG(this);}
-function hG(){return eG(this);}
-function iG(){throw vW(new uW(),'PrefixTree does not support removal.  Use clear()');}
-function DF(){}
-_=DF.prototype=new xU();_.A=fG;_.gc=gG;_.pc=hG;_.Fd=iG;_.tN=sgc+'PrefixTree$PrefixTreeIterator';_.tI=101;_.a=null;function FG(){FG=v3;dr();}
-function DG(b,a){FG();br(b,ae(a));uO(b,'gwt-RadioButton');return b;}
-function EG(c,b,a){FG();DG(c,b);hr(c,a);return c;}
-function CG(){}
-_=CG.prototype=new Fq();_.tN=sgc+'RadioButton';_.tI=102;function gH(){gH=v3;lH=C1(new a1());}
-function fH(b,a){gH();cq(b);if(a===null){a=hH();}b.je(a);b.rc();return b;}
-function iH(){gH();return jH(null);}
-function jH(c){gH();var a,b;b=bc(c2(lH,c),48);if(b!==null){return b;}a=null;if(lH.c==0){kH();}d2(lH,c,b=fH(new aH(),a));return b;}
-function hH(){gH();return $doc.body;}
-function kH(){gH();Bh(new bH());}
-function aH(){}
-_=aH.prototype=new bq();_.tN=sgc+'RootPanel';_.tI=103;var lH;function dH(){var a,b;for(b=cY(rY((gH(),lH)));jY(b);){a=bc(kY(b),48);if(a.kc()){a.yc();}}}
-function eH(){return null;}
-function bH(){}
-_=bH.prototype=new xU();_.rd=dH;_.sd=eH;_.tN=sgc+'RootPanel$1';_.tI=104;function nH(a){AH(a);qH(a,false);vO(a,16384);return a;}
-function oH(b,a){nH(b);b.we(a);return b;}
-function qH(b,a){ag(b.rb(),'overflow',a?'scroll':'auto');}
-function rH(a){ze(a)==16384;}
-function mH(){}
-_=mH.prototype=new sH();_.tc=rH;_.tN=sgc+'ScrollPanel';_.tI=105;function uH(a){a.a=a.c.r!==null;}
-function vH(b,a){b.c=a;uH(b);return b;}
-function xH(){return this.a;}
-function yH(){if(!this.a||this.c.r===null){throw new d3();}this.a=false;return this.b=this.c.r;}
-function zH(){if(this.b!==null){this.c.be(this.b);}}
-function tH(){}
-_=tH.prototype=new xU();_.gc=xH;_.pc=yH;_.Fd=zH;_.tN=sgc+'SimplePanel$1';_.tI=106;_.b=null;function qI(b){var a;wr(b);a=ie();b.je(a);b.a=fe();vd(a,b.a);zf(a,'cellSpacing',0);zf(a,'cellPadding',0);bg(a,1);uO(b,'gwt-StackPanel');return b;}
-function rI(a,b){vI(a,b,a.f.c);}
-function sI(c,d,b,a){rI(c,d);xI(c,c.f.c-1,b,a);}
-function uI(d,a){var b,c;while(a!==null&& !wd(a,d.rb())){b=df(a,'__index');if(b!==null){c=cf(a,'__owner');if(c==d.hC()){return ET(b);}else{return (-1);}}a=jf(a);}return (-1);}
-function vI(e,h,a){var b,c,d,f,g;g=he();d=ge();vd(g,d);f=he();c=ge();vd(f,c);a=yr(e,h,a);b=a*2;lf(e.a,f,b);lf(e.a,g,b);FO(d,'gwt-StackPanelItem',true);zf(d,'__owner',e.hC());Af(d,'height','1px');Af(c,'height','100%');Af(c,'vAlign','top');Er(e,h,c,a,false);AI(e,a);if(e.b==(-1)){zI(e,0);}else{yI(e,a,false);if(e.b>=a){++e.b;}}}
-function wI(e,a,b){var c,d,f;c=as(e,a);if(c){d=2*b;f=af(e.a,d);qf(e.a,f);f=af(e.a,d);qf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}AI(e,d);}return c;}
-function xI(e,b,d,a){var c;if(b>=e.f.c){return;}c=af(af(e.a,b*2),0);if(a){Df(c,d);}else{Ef(c,d);}}
-function yI(c,a,e){var b,d;d=af(c.a,a*2);if(d===null){return;}b=ff(d);FO(b,'gwt-StackPanelItem-selected',e);d=af(c.a,a*2+1);bP(d,e);Dr(c,a).ue(e);}
-function zI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){yI(b,b.b,false);}b.b=a;yI(b,b.b,true);}
-function AI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=af(f.a,e*2);c=ff(d);zf(c,'__index',e);}}
-function BI(a){var b,c;if(ze(a)==1){c=xe(a);b=uI(this,c);if(b!=(-1)){zI(this,b);}}}
-function CI(a){return wI(this,Dr(this,a),a);}
-function DI(a){return wI(this,a,Cr(this,a));}
-function pI(){}
-_=pI.prototype=new ur();_.tc=BI;_.ae=CI;_.be=DI;_.tN=sgc+'StackPanel';_.tI=107;_.a=null;_.b=(-1);function EI(){}
-_=EI.prototype=new xU();_.tN=sgc+'SuggestOracle$Request';_.tI=108;_.a=20;_.b=null;function aJ(){}
-_=aJ.prototype=new xU();_.tN=sgc+'SuggestOracle$Response';_.tI=109;_.a=null;function fJ(b,a){jJ(a,b.yd());kJ(a,b.Bd());}
-function gJ(a){return a.a;}
-function hJ(a){return a.b;}
-function iJ(b,a){b.Fe(gJ(a));b.cf(hJ(a));}
-function jJ(a,b){a.a=b;}
-function kJ(a,b){a.b=b;}
-function nJ(b,a){qJ(a,bc(b.Ad(),49));}
-function oJ(a){return a.a;}
-function pJ(b,a){b.bf(oJ(a));}
-function qJ(a,b){a.a=b;}
-function sJ(a){a.a=FA(new DA());}
-function tJ(c){var a,b;sJ(c);gs(c,c.a);vO(c,1);uO(c,'gwt-TabBar');fB(c.a,(xA(),yA));a=fA(new hx(),'&nbsp;',true);b=fA(new hx(),'&nbsp;',true);uO(a,'gwt-TabBarFirst');uO(b,'gwt-TabBarRest');a.ne('100%');b.ne('100%');aB(c.a,a);aB(c.a,b);a.ne('100%');c.a.he(a,'100%');c.a.ie(b,'100%');return c;}
-function uJ(b,a){if(b.c===null){b.c=FJ(new EJ());}bZ(b.c,a);}
-function vJ(b,a){if(a<0||a>yJ(b)){throw new xT();}}
-function wJ(b,a){if(a<(-1)||a>=yJ(b)){throw new xT();}}
-function yJ(a){return a.a.f.c-2;}
-function zJ(e,d,a,b){var c;vJ(e,b);if(a){c=eA(new hx(),d);}else{c=CC(new AC(),d);}cD(c,false);DC(c,e);uO(c,'gwt-TabBarItem');dB(e.a,c,b+1);}
-function AJ(b,a){var c;wJ(b,a);c=Dr(b.a,a+1);if(c===b.b){b.b=null;}eB(b.a,c);}
-function BJ(b,a){wJ(b,a);if(b.c!==null){if(!bK(b.c,b,a)){return false;}}CJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=Dr(b.a,a+1);CJ(b,b.b,true);if(b.c!==null){cK(b.c,b,a);}return true;}
-function CJ(c,a,b){if(a!==null){if(b){jO(a,'gwt-TabBarItem-selected');}else{pO(a,'gwt-TabBarItem-selected');}}}
-function DJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(Dr(this.a,a)===b){BJ(this,a-1);return;}}}
-function rJ(){}
-_=rJ.prototype=new es();_.wc=DJ;_.tN=sgc+'TabBar';_.tI=110;_.b=null;_.c=null;function FJ(a){FY(a);return a;}
-function bK(e,c,d){var a,b;for(a=e.mc();a.gc();){b=bc(a.pc(),50);if(!b.sc(c,d)){return false;}}return true;}
-function cK(e,c,d){var a,b;for(a=e.mc();a.gc();){b=bc(a.pc(),50);b.nd(c,d);}}
-function EJ(){}
-_=EJ.prototype=new DY();_.tN=sgc+'TabListenerCollection';_.tI=111;function rK(a){a.b=nK(new mK());a.a=gK(new fK(),a.b);}
-function sK(b){var a;rK(b);a=hP(new fP());iP(a,b.b);iP(a,b.a);a.he(b.a,'100%');b.b.xe('100%');uJ(b.b,b);gs(b,a);uO(b,'gwt-TabPanel');uO(b.a,'gwt-TabPanelBottom');return b;}
-function tK(c,d,b,a){xK(c,d,b,a,c.a.f.c);}
-function wK(b,a){return Dr(b.a,a);}
-function vK(a,b){return Cr(a.a,b);}
-function xK(d,e,c,a,b){iK(d.a,e,c,a,b);}
-function yK(b,a){return b.a.ae(a);}
-function zK(b,a){BJ(b.b,a);}
-function AK(){return Fr(this.a);}
-function BK(a,b){return true;}
-function CK(a,b){ss(this.a,b);}
-function DK(a){return jK(this.a,a);}
-function eK(){}
-_=eK.prototype=new es();_.mc=AK;_.sc=BK;_.nd=CK;_.be=DK;_.tN=sgc+'TabPanel';_.tI=112;function gK(b,a){ms(b);b.a=a;return b;}
-function iK(e,f,d,a,b){var c;c=Cr(e,f);if(c!=(-1)){jK(e,f);if(c<b){b--;}}pK(e.a,d,a,b);ps(e,f,b);}
-function jK(b,c){var a;a=Cr(b,c);if(a!=(-1)){qK(b.a,a);return qs(b,c);}return false;}
-function kK(){throw vW(new uW(),'Use TabPanel.clear() to alter the DeckPanel');}
-function lK(a){return jK(this,a);}
-function fK(){}
-_=fK.prototype=new ls();_.F=kK;_.be=lK;_.tN=sgc+'TabPanel$TabbedDeckPanel';_.tI=113;_.a=null;function nK(a){tJ(a);return a;}
-function pK(d,c,a,b){zJ(d,c,a,b);}
-function qK(b,a){AJ(b,a);}
-function mK(){}
-_=mK.prototype=new rJ();_.tN=sgc+'TabPanel$UnmodifiableTabBar';_.tI=114;function FK(a){FY(a);return a;}
-function bL(f,e,d,a){var b,c;for(b=f.mc();b.gc();){c=bc(b.pc(),51);c.uc(e,d,a);}}
-function EK(){}
-_=EK.prototype=new DY();_.tN=sgc+'TableListenerCollection';_.tI=115;function fL(){fL=v3;qL();}
-function eL(a){fL();mL(a,je());uO(a,'gwt-TextArea');return a;}
-function gL(a){return oS(xL,a.rb());}
-function hL(a){return cf(a.rb(),'rows');}
-function iL(a,b){zf(a.rb(),'cols',b);}
-function jL(b,a){zf(b.rb(),'rows',a);}
-function dL(){}
-_=dL.prototype=new lL();_.tN=sgc+'TextArea';_.tI=116;function AL(){AL=v3;qL();}
-function zL(a){AL();mL(a,be());uO(a,'gwt-TextBox');return a;}
-function BL(b,a){zf(b.rb(),'size',a);}
-function kL(){}
-_=kL.prototype=new lL();_.tN=sgc+'TextBox';_.tI=117;function iN(a){a.a=C1(new a1());}
-function jN(a){kN(a,gM(new fM()));return a;}
-function kN(b,a){iN(b);b.d=a;b.je(zd());ag(b.rb(),'position','relative');b.c=vR((cv(),dv));ag(b.c,'fontSize','0');ag(b.c,'position','absolute');Ff(b.c,'zIndex',(-1));vd(b.rb(),b.c);vO(b,1021);bg(b.c,6144);b.g=EL(new DL(),b);BM(b.g,b);uO(b,'gwt-Tree');return b;}
-function mN(c,a){var b;b=pM(new mM(),a);lN(c,b);return b;}
-function lN(b,a){FL(b.g,a);}
-function nN(b,a){if(b.f===null){b.f=dN(new cN());}bZ(b.f,a);}
-function oN(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){vM(sM(c.g,a));}}
-function qN(d,a,c,b){if(b===null||wd(b,c)){return;}qN(d,a,c,jf(b));bZ(a,jc(b,kg));}
-function rN(e,d,b){var a,c;a=FY(new DY());qN(e,a,e.rb(),b);c=tN(e,a,0,d);if(c!==null){if(nf(uM(c),b)){AM(c,!c.f,true);return true;}else if(nf(c.rb(),b)){AN(e,c,true,!bO(e,b));return true;}}return false;}
-function sN(b,a){if(!a.f){return a;}return sN(b,sM(a,a.c.b-1));}
-function tN(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=bc(gZ(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=sM(h,d);if(wd(b.rb(),c)){g=tN(i,a,e+1,sM(h,d));if(g===null){return b;}return g;}}return tN(i,a,e+1,h);}
-function uN(b,a){if(b.f!==null){gN(b.f,a);}}
-function vN(b,a){return sM(b.g,a);}
-function wN(a){var b;b=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[622],[20],[a.a.c],null);qY(a.a).Be(b);return oQ(a,b);}
-function xN(h,g){var a,b,c,d,e,f,i,j;c=tM(g);{f=g.d;a=lO(h);b=mO(h);e=Ce(f)-a;i=De(f)-b;j=cf(f,'offsetWidth');d=cf(f,'offsetHeight');Ff(h.c,'left',e);Ff(h.c,'top',i);Ff(h.c,'width',j);Ff(h.c,'height',d);vf(h.c);rR((cv(),dv),h.c);}}
-function yN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=rM(c,d);if(!a|| !d.f){if(b<c.c.b-1){AN(e,sM(c,b+1),true,true);}else{yN(e,c,false);}}else if(d.c.b>0){AN(e,sM(d,0),true,true);}}
-function zN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=rM(b,c);if(a>0){d=sM(b,a-1);AN(e,sN(e,d),true,true);}else{AN(e,b,true,true);}}
-function AN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){yM(d.b,false);}d.b=b;if(c&&d.b!==null){xN(d,d.b);yM(d.b,true);if(a&&d.f!==null){fN(d.f,d.b);}}}
-function DN(b,c){var a;a=bc(c2(b.a,c),52);if(a===null){return false;}DM(a,null);return true;}
-function BN(b,a){bM(b.g,a);}
-function CN(a){while(a.g.c.b>0){BN(a,vN(a,0));}}
-function EN(b,a){if(a){rR((cv(),dv),b.c);}else{tR((cv(),dv),b.c);}}
-function FN(b,a){aO(b,a,true);}
-function aO(c,b,a){if(b===null){if(c.b===null){return;}yM(c.b,false);c.b=null;return;}AN(c,b,a,true);}
-function bO(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
-function cO(){var a,b;for(b=wN(this);hQ(b);){a=iQ(b);a.rc();}Bf(this.c,this);}
-function dO(){var a,b;for(b=wN(this);hQ(b);){a=iQ(b);a.yc();}Bf(this.c,null);}
-function eO(){return wN(this);}
-function fO(c){var a,b,d,e,f;d=ze(c);switch(d){case 1:{b=xe(c);if(bO(this,b)){}else{EN(this,true);}break;}case 4:{if(mg(se(c),jc(this.rb(),kg))){rN(this,this.g,xe(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){AN(this,sM(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(ue(c)){case 38:{zN(this,this.b);Ae(c);break;}case 40:{yN(this,this.b,true);Ae(c);break;}case 37:{if(this.b.f){zM(this.b,false);}else{f=this.b.g;if(f!==null){FN(this,f);}}Ae(c);break;}case 39:{if(!this.b.f){zM(this.b,true);}else if(this.b.c.b>0){FN(this,sM(this.b,0));}Ae(c);break;}}}case 512:if(d==512){if(ue(c)==9){a=FY(new DY());qN(this,a,this.rb(),xe(c));e=tN(this,a,0,this.g);if(e!==this.b){aO(this,e,true);}}}case 256:{break;}}this.e=d;}
-function gO(){EM(this.g);}
-function hO(a){return DN(this,a);}
-function CL(){}
-_=CL.prototype=new oP();_.ib=cO;_.kb=dO;_.mc=eO;_.tc=fO;_.cd=gO;_.be=hO;_.tN=sgc+'Tree';_.tI=118;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function nM(a){a.c=FY(new DY());a.i=dC(new oB());}
-function oM(d){var a,b,c,e;nM(d);d.je(zd());d.e=ie();d.d=ee();d.b=ee();a=fe();e=he();c=ge();b=ge();vd(d.e,a);vd(a,e);vd(e,c);vd(e,b);ag(c,'verticalAlign','middle');ag(b,'verticalAlign','middle');vd(d.rb(),d.e);vd(d.rb(),d.b);vd(c,d.i.rb());vd(b,d.d);ag(d.d,'display','inline');ag(d.rb(),'whiteSpace','nowrap');ag(d.b,'whiteSpace','nowrap');FO(d.d,'gwt-TreeItem',true);return d;}
-function pM(b,a){oM(b);wM(b,a);return b;}
-function sM(b,a){if(a<0||a>=b.c.b){return null;}return bc(gZ(b.c,a),52);}
-function rM(b,a){return hZ(b.c,a);}
-function tM(a){var b;b=a.l;{return null;}}
-function uM(a){return a.i.rb();}
-function vM(a){if(a.g!==null){a.g.Dd(a);}else if(a.j!==null){BN(a.j,a);}}
-function wM(b,a){DM(b,null);Df(b.d,a);}
-function xM(b,a){b.g=a;}
-function yM(b,a){if(b.h==a){return;}b.h=a;FO(b.d,'gwt-TreeItem-selected',a);}
-function zM(b,a){AM(b,a,true);}
-function AM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;FM(c);if(a&&c.j!==null){uN(c.j,c);}}
-function BM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){FN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){BM(bc(gZ(d.c,a),52),c);}FM(d);}
-function CM(a,b){a.k=b;}
-function DM(b,a){Df(b.d,'');b.l=a;}
-function FM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){bP(b.b,false);lR((hM(),kM),b.i);return;}if(b.f){bP(b.b,true);lR((hM(),lM),b.i);}else{bP(b.b,false);lR((hM(),jM),b.i);}}
-function EM(c){var a,b;FM(c);for(a=0,b=c.c.b;a<b;++a){EM(bc(gZ(c.c,a),52));}}
-function aN(a){if(a.g!==null||a.j!==null){vM(a);}xM(a,this);bZ(this.c,a);ag(a.rb(),'marginLeft','16px');vd(this.b,a.rb());BM(a,this.j);if(this.c.b==1){FM(this);}}
-function bN(a){if(!fZ(this.c,a)){return;}BM(a,null);qf(this.b,a.rb());xM(a,null);lZ(this.c,a);if(this.c.b==0){FM(this);}}
-function mM(){}
-_=mM.prototype=new iO();_.y=aN;_.Dd=bN;_.tN=sgc+'TreeItem';_.tI=119;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function EL(b,a){b.a=a;oM(b);return b;}
-function FL(b,a){if(a.g!==null||a.j!==null){vM(a);}vd(b.a.rb(),a.rb());BM(a,b.j);xM(a,null);bZ(b.c,a);Ff(a.rb(),'marginLeft',0);}
-function bM(b,a){if(!fZ(b.c,a)){return;}BM(a,null);xM(a,null);lZ(b.c,a);qf(b.a.rb(),a.rb());}
-function cM(a){FL(this,a);}
-function dM(a){bM(this,a);}
-function DL(){}
-_=DL.prototype=new mM();_.y=cM;_.Dd=dM;_.tN=sgc+'Tree$1';_.tI=120;function hM(){hM=v3;iM=w()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';jM=kR(new jR(),iM,0,0,16,16);kM=kR(new jR(),iM,16,0,16,16);lM=kR(new jR(),iM,32,0,16,16);}
-function gM(a){hM();return a;}
-function fM(){}
-_=fM.prototype=new xU();_.tN=sgc+'TreeImages_generatedBundle';_.tI=121;var iM,jM,kM,lM;function dN(a){FY(a);return a;}
-function fN(d,b){var a,c;for(a=d.mc();a.gc();){c=bc(a.pc(),53);c.od(b);}}
-function gN(d,b){var a,c;for(a=d.mc();a.gc();){c=bc(a.pc(),53);c.pd(b);}}
-function cN(){}
-_=cN.prototype=new DY();_.tN=sgc+'TreeListenerCollection';_.tI=122;function gP(a){a.a=(oA(),qA);a.b=(xA(),AA);}
-function hP(a){uq(a);gP(a);Af(a.e,'cellSpacing','0');Af(a.e,'cellPadding','0');return a;}
-function iP(b,d){var a,c;c=he();a=kP(b);vd(c,a);vd(b.d,c);xr(b,d,a);}
-function kP(b){var a;a=ge();wq(b,a,b.a);xq(b,a,b.b);return a;}
-function lP(b,a){b.a=a;}
-function mP(b,a){b.b=a;}
-function nP(c){var a,b;b=jf(c.rb());a=as(this,c);if(a){qf(this.d,jf(b));}return a;}
-function fP(){}
-_=fP.prototype=new tq();_.be=nP;_.tN=sgc+'VerticalPanel';_.tI=123;function yP(b,a){b.b=a;b.a=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[622],[20],[4],null);return b;}
-function zP(a,b){DP(a,b,a.c);}
-function BP(b,a){if(a<0||a>=b.c){throw new xT();}return b.a[a];}
-function CP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
-function DP(d,e,a){var b,c;if(a<0||a>d.c){throw new xT();}if(d.c==d.a.a){c=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[622],[20],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Cb(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Cb(d.a,b,d.a[b-1]);}Cb(d.a,a,e);}
-function EP(a){return rP(new qP(),a);}
-function FP(c,b){var a;if(b<0||b>=c.c){throw new xT();}--c.c;for(a=b;a<c.c;++a){Cb(c.a,a,c.a[a+1]);}Cb(c.a,c.c,null);}
-function aQ(b,c){var a;a=CP(b,c);if(a==(-1)){throw new d3();}FP(b,a);}
-function pP(){}
-_=pP.prototype=new xU();_.tN=sgc+'WidgetCollection';_.tI=124;_.a=null;_.b=null;_.c=0;function rP(b,a){b.b=a;return b;}
-function tP(a){return a.a<a.b.c-1;}
-function uP(a){if(a.a>=a.b.c){throw new d3();}return a.b.a[++a.a];}
-function vP(){return tP(this);}
-function wP(){return uP(this);}
-function xP(){if(this.a<0||this.a>=this.b.c){throw new uT();}this.b.b.be(this.b.a[this.a--]);}
-function qP(){}
-_=qP.prototype=new xU();_.gc=vP;_.pc=wP;_.Fd=xP;_.tN=sgc+'WidgetCollection$WidgetIterator';_.tI=125;_.a=(-1);function nQ(c){var a,b;a=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[622],[20],[c.a],null);for(b=0;b<c.a;b++){Cb(a,b,c[b]);}return a;}
-function oQ(b,a){return eQ(new cQ(),a,b);}
-function dQ(a){a.e=a.c;{gQ(a);}}
-function eQ(a,b,c){a.c=b;a.d=c;dQ(a);return a;}
-function gQ(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
-function hQ(a){return a.a<a.c.a;}
-function iQ(a){var b;if(!hQ(a)){throw new d3();}a.b=a.a;b=a.c[a.a];gQ(a);return b;}
-function jQ(){return hQ(this);}
-function kQ(){return iQ(this);}
-function lQ(){if(this.b<0){throw new uT();}if(!this.f){this.e=nQ(this.e);this.f=true;}DN(this.d,this.c[this.b]);this.b=(-1);}
-function cQ(){}
-_=cQ.prototype=new xU();_.gc=jQ;_.pc=kQ;_.Fd=lQ;_.tN=sgc+'WidgetIterators$1';_.tI=126;_.a=(-1);_.b=(-1);_.f=false;function iR(c,f,b,e,g,a){var d;d=ee();Df(d,eR(c,f,b,e,g,a));return ff(d);}
-function FQ(){}
-_=FQ.prototype=new xU();_.tN=tgc+'ClippedImageImpl';_.tI=127;function dR(){dR=v3;gR=yV(v(),'https')?'https://':'http://';}
-function bR(a){dR();fR();return a;}
-function cR(g,a,i,f,h,j,b){var c,d,e;ag(a,'width',j+'px');ag(a,'height',b+'px');c=ff(a);ag(c,'filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+i+"',sizingMethod='crop')");ag(c,'marginLeft',-f+'px');ag(c,'marginTop',-h+'px');e=f+j;d=h+b;zf(c,'width',e);zf(c,'height',d);}
-function eR(f,h,e,g,i,c){var a,b,d;b='overflow: hidden; width: '+i+'px; height: '+c+'px; padding: 0px; zoom: 1';d="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+h+"',sizingMethod='crop'); margin-left: "+ -e+'px; margin-top: '+ -g+'px; border: none';a='<gwt:clipper style="'+b+'"><img src=\''+gR+"' onerror='if(window.__gwt_transparentImgHandler)window.__gwt_transparentImgHandler(this);else this.src=\""+w()+'clear.cache.gif"\' style="'+d+'" width='+(e+i)+' height='+(g+c)+" border='0'><\/gwt:clipper>";return a;}
-function fR(){dR();$wnd.__gwt_transparentImgHandler=function(a){a.onerror=null;Cf(a,w()+'clear.cache.gif');};}
-function aR(){}
-_=aR.prototype=new FQ();_.tN=tgc+'ClippedImageImplIE6';_.tI=128;var gR;function mR(){mR=v3;bR(new aR());}
-function kR(c,e,b,d,f,a){mR();c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
-function lR(b,a){iC(a,b.d,b.b,b.c,b.e,b.a);}
-function jR(){}
-_=jR.prototype=new iq();_.tN=tgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function uR(){uR=v3;xR=pR(new oR());yR=xR;}
-function sR(a){uR();return a;}
-function tR(b,a){a.blur();}
-function vR(b){var a=$doc.createElement('DIV');a.tabIndex=0;return a;}
-function wR(c,a,b){a.tabIndex=b;}
-function nR(){}
-_=nR.prototype=new xU();_.tN=tgc+'FocusImpl';_.tI=130;var xR,yR;function qR(){qR=v3;uR();}
-function pR(a){qR();sR(a);return a;}
-function rR(c,b){try{b.focus();}catch(a){if(!b|| !b.focus){throw a;}}}
-function oR(){}
-_=oR.prototype=new nR();_.tN=tgc+'FocusImplIE6';_.tI=131;function aS(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
-function bS(c,b,a){b.enctype=a;b.encoding=a;}
-function cS(c,a,b){if(b)b.__formAction=a.action;a.submit();}
-function zR(){}
-_=zR.prototype=new xU();_.tN=tgc+'FormPanelImpl';_.tI=132;function DR(d,b,a,c){if(b){b.onreadystatechange=function(){if(!b.__formAction)return;if(b.readyState=='complete'){c.Dc();}};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Cc();};}
-function ER(c,b,a){if(b)b.onreadystatechange=null;a.onsubmit=null;}
-function BR(){}
-_=BR.prototype=new zR();_.tN=tgc+'FormPanelImplIE6';_.tI=133;function kS(a){return zd();}
-function dS(){}
-_=dS.prototype=new xU();_.tN=tgc+'PopupImpl';_.tI=134;function gS(c,b){var a=b.__frame;a.parentElement.removeChild(a);b.__frame=null;a.__popup=null;}
-function hS(d,b){var a=$doc.createElement('iframe');a.src="javascript:''";a.scrolling='no';a.frameBorder=0;b.__frame=a;a.__popup=b;var c=a.style;c.position='absolute';c.filter='alpha(opacity=0)';c.visibility=b.style.visibility;c.left=b.offsetLeft;c.top=b.offsetTop;c.width=b.offsetWidth;c.height=b.offsetHeight;c.setExpression('left','this.__popup.offsetLeft');c.setExpression('top','this.__popup.offsetTop');c.setExpression('width','this.__popup.offsetWidth');c.setExpression('height','this.__popup.offsetHeight');b.parentElement.insertBefore(a,b);}
-function iS(b,a,c){if(a.__frame){a.__frame.style.visibility=c?'visible':'hidden';}}
-function eS(){}
-_=eS.prototype=new dS();_.tN=tgc+'PopupImplIE6';_.tI=135;function lS(){}
-_=lS.prototype=new xU();_.tN=tgc+'TextBoxImpl';_.tI=136;function oS(c,b){try{var d=b.document.selection.createRange();var e=d.duplicate();e.moveToElementText(b);d.setEndPoint('EndToStart',e);return d.text.length;}catch(a){return 0;}}
-function pS(e,b,d,c){try{var f=b.createTextRange();f.collapse(true);f.moveStart('character',d);f.moveEnd('character',c);f.select();}catch(a){}}
-function mS(){}
-_=mS.prototype=new lS();_.tN=tgc+'TextBoxImplIE6';_.tI=137;function uS(){}
-_=uS.prototype=new xU();_.tN=ugc+'OutputStream';_.tI=138;function sS(){}
-_=sS.prototype=new uS();_.tN=ugc+'FilterOutputStream';_.tI=139;function wS(){}
-_=wS.prototype=new sS();_.tN=ugc+'PrintStream';_.tI=140;function yS(){}
-_=yS.prototype=new CU();_.tN=vgc+'ArrayStoreException';_.tI=141;function CS(){CS=v3;DS=BS(new AS(),false);ES=BS(new AS(),true);}
-function BS(a,b){CS();a.a=b;return a;}
-function FS(a){return cc(a,55)&&bc(a,55).a==this.a;}
-function aT(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
-function bT(){return this.a?'true':'false';}
-function cT(a){CS();return a?ES:DS;}
-function AS(){}
-_=AS.prototype=new xU();_.eQ=FS;_.hC=aT;_.tS=bT;_.tN=vgc+'Boolean';_.tI=142;_.a=false;var DS,ES;function gT(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+hU(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
-function hT(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
-function jT(b,a){DU(b,a);return b;}
-function iT(){}
-_=iT.prototype=new CU();_.tN=vgc+'ClassCastException';_.tI=143;function sT(b,a){DU(b,a);return b;}
-function rT(){}
-_=rT.prototype=new CU();_.tN=vgc+'IllegalArgumentException';_.tI=144;function vT(b,a){DU(b,a);return b;}
-function uT(){}
-_=uT.prototype=new CU();_.tN=vgc+'IllegalStateException';_.tI=145;function yT(b,a){DU(b,a);return b;}
-function xT(){}
-_=xT.prototype=new CU();_.tN=vgc+'IndexOutOfBoundsException';_.tI=146;function rU(){rU=v3;{wU();}}
-function sU(a){rU();return isNaN(a);}
-function tU(e,d,c,h){rU();var a,b,f,g;if(e===null){throw pU(new oU(),'Unable to parse null');}b=uV(e);f=b>0&&lV(e,0)==45?1:0;for(a=f;a<b;a++){if(gT(lV(e,a),d)==(-1)){throw pU(new oU(),'Could not parse '+e+' in radix '+d);}}g=uU(e,d);if(sU(g)){throw pU(new oU(),'Unable to parse '+e);}else if(g<c||g>h){throw pU(new oU(),'The string '+e+' exceeds the range for the requested data type');}return g;}
-function uU(b,a){rU();return parseInt(b,a);}
-function wU(){rU();vU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
-var vU=null;function BT(){BT=v3;rU();}
-function ET(a){BT();return FT(a,10);}
-function FT(b,a){BT();return ec(tU(b,a,(-2147483648),2147483647));}
-function aU(a){BT();return gW(a);}
-var CT=2147483647,DT=(-2147483648);function cU(){cU=v3;rU();}
-function dU(a){cU();return hW(a);}
-function gU(a){return a<0?-a:a;}
-function hU(a,b){return a<b?a:b;}
-function iU(){}
-_=iU.prototype=new CU();_.tN=vgc+'NegativeArraySizeException';_.tI=147;function lU(b,a){DU(b,a);return b;}
-function kU(){}
-_=kU.prototype=new CU();_.tN=vgc+'NullPointerException';_.tI=148;function pU(b,a){sT(b,a);return b;}
-function oU(){}
-_=oU.prototype=new rT();_.tN=vgc+'NumberFormatException';_.tI=149;function lV(b,a){return b.charCodeAt(a);}
-function nV(f,c){var a,b,d,e,g,h;h=uV(f);e=uV(c);b=hU(h,e);for(a=0;a<b;a++){g=lV(f,a);d=lV(c,a);if(g!=d){return g-d;}}return h-e;}
-function oV(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
-function qV(b,a){if(!cc(a,1))return false;return FV(b,a);}
-function pV(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
-function rV(b,a){return b.indexOf(String.fromCharCode(a));}
-function sV(b,a){return b.indexOf(a);}
-function tV(c,b,a){return c.indexOf(b,a);}
-function uV(a){return a.length;}
-function vV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
-function wV(b,a){return xV(b,a,0);}
-function xV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=EV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
-function yV(b,a){return sV(b,a)==0;}
-function zV(b,a){return b.substr(a,b.length-a);}
-function AV(c,a,b){return c.substr(a,b-a);}
-function BV(d){var a,b,c;c=uV(d);a=Ab('[C',[613],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=lV(d,b);return a;}
-function CV(a){return a.toLowerCase();}
-function DV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
-function EV(a){return Ab('[Ljava.lang.String;',[610],[1],[a],null);}
-function FV(a,b){return String(a)==b;}
-function aW(a){if(cc(a,1)){return nV(this,bc(a,1));}else{throw jT(new iT(),'Cannot compare '+a+" with String '"+this+"'");}}
-function bW(a){return qV(this,a);}
-function dW(){var a=cW;if(!a){a=cW={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
-function eW(){return this;}
-function fW(a){return String.fromCharCode(a);}
-function gW(a){return ''+a;}
-function hW(a){return ''+a;}
-function iW(a){return a!==null?a.tS():'null';}
-_=String.prototype;_.ab=aW;_.eQ=bW;_.hC=dW;_.tS=eW;_.tN=vgc+'String';_.tI=2;var cW=null;function cV(a){fV(a);return a;}
-function dV(a,b){return eV(a,fW(b));}
-function eV(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
-function fV(a){gV(a,'');}
-function gV(b,a){b.js=[a];b.length=a.length;}
-function iV(a){a.qc();return a.js[0];}
-function jV(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
-function kV(){return iV(this);}
-function bV(){}
-_=bV.prototype=new xU();_.qc=jV;_.tS=kV;_.tN=vgc+'StringBuffer';_.tI=150;function kW(){kW=v3;nW=new wS();}
-function lW(){kW();return new Date().getTime();}
-function mW(a){kW();return C(a);}
-var nW;function vW(b,a){DU(b,a);return b;}
-function uW(){}
-_=uW.prototype=new CU();_.tN=vgc+'UnsupportedOperationException';_.tI=151;function bX(b,a){b.c=a;return b;}
-function dX(a){return a.a<a.c.ye();}
-function eX(){return dX(this);}
-function fX(){if(!dX(this)){throw new d3();}return this.c.dc(this.b=this.a++);}
-function gX(){if(this.b<0){throw new uT();}this.c.ae(this.b);this.a=this.b;this.b=(-1);}
-function aX(){}
-_=aX.prototype=new xU();_.gc=eX;_.pc=fX;_.Fd=gX;_.tN=wgc+'AbstractList$IteratorImpl';_.tI=152;_.a=0;_.b=(-1);function pY(f,d,e){var a,b,c;for(b=x1(f.mb());p1(b);){a=q1(b);c=a.ub();if(d===null?c===null:d.eQ(c)){if(e){r1(b);}return a;}}return null;}
-function qY(b){var a;a=b.mb();return rX(new qX(),b,a);}
-function rY(b){var a;a=b2(b);return aY(new FX(),b,a);}
-function sY(a){return pY(this,a,false)!==null;}
-function tY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!cc(d,57)){return false;}f=bc(d,57);c=qY(this);e=f.nc();if(!AY(c,e)){return false;}for(a=tX(c);AX(a);){b=BX(a);h=this.ec(b);g=f.ec(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
-function uY(b){var a;a=pY(this,b,false);return a===null?null:a.ac();}
-function vY(){var a,b,c;b=0;for(c=x1(this.mb());p1(c);){a=q1(c);b+=a.hC();}return b;}
-function wY(){return qY(this);}
-function xY(){var a,b,c,d;d='{';a=false;for(c=x1(this.mb());p1(c);){b=q1(c);if(a){d+=', ';}else{a=true;}d+=iW(b.ub());d+='=';d+=iW(b.ac());}return d+'}';}
-function pX(){}
-_=pX.prototype=new xU();_.cb=sY;_.eQ=tY;_.ec=uY;_.hC=vY;_.nc=wY;_.tS=xY;_.tN=wgc+'AbstractMap';_.tI=153;function AY(e,b){var a,c,d;if(b===e){return true;}if(!cc(b,58)){return false;}c=bc(b,58);if(c.ye()!=e.ye()){return false;}for(a=c.mc();a.gc();){d=a.pc();if(!e.db(d)){return false;}}return true;}
-function BY(a){return AY(this,a);}
-function CY(){var a,b,c;a=0;for(b=this.mc();b.gc();){c=b.pc();if(c!==null){a+=c.hC();}}return a;}
-function yY(){}
-_=yY.prototype=new xW();_.eQ=BY;_.hC=CY;_.tN=wgc+'AbstractSet';_.tI=154;function rX(b,a,c){b.a=a;b.b=c;return b;}
-function tX(b){var a;a=x1(b.b);return yX(new xX(),b,a);}
-function uX(a){return this.a.cb(a);}
-function vX(){return tX(this);}
-function wX(){return this.b.a.c;}
-function qX(){}
-_=qX.prototype=new yY();_.db=uX;_.mc=vX;_.ye=wX;_.tN=wgc+'AbstractMap$1';_.tI=155;function yX(b,a,c){b.a=c;return b;}
-function AX(a){return p1(a.a);}
-function BX(b){var a;a=q1(b.a);return a.ub();}
-function CX(){return AX(this);}
-function DX(){return BX(this);}
-function EX(){r1(this.a);}
-function xX(){}
-_=xX.prototype=new xU();_.gc=CX;_.pc=DX;_.Fd=EX;_.tN=wgc+'AbstractMap$2';_.tI=156;function aY(b,a,c){b.a=a;b.b=c;return b;}
-function cY(b){var a;a=x1(b.b);return hY(new gY(),b,a);}
-function dY(a){return a2(this.a,a);}
-function eY(){return cY(this);}
-function fY(){return this.b.a.c;}
-function FX(){}
-_=FX.prototype=new xW();_.db=dY;_.mc=eY;_.ye=fY;_.tN=wgc+'AbstractMap$3';_.tI=157;function hY(b,a,c){b.a=c;return b;}
-function jY(a){return p1(a.a);}
-function kY(a){var b;b=q1(a.a).ac();return b;}
-function lY(){return jY(this);}
-function mY(){return kY(this);}
-function nY(){r1(this.a);}
-function gY(){}
-_=gY.prototype=new xU();_.gc=lY;_.pc=mY;_.Fd=nY;_.tN=wgc+'AbstractMap$4';_.tI=158;function BZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.bb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
-function CZ(a){BZ(a,a.a,(i0(),j0));}
-function FZ(){FZ=v3;w2(new v2());a0=C1(new a1());FY(new DY());}
-function b0(c,d){FZ();var a,b;b=c.b;for(a=0;a<b;a++){mZ(c,a,d[a]);}}
-function c0(a){FZ();var b;b=a.Ae();CZ(b);b0(a,b);}
-var a0;function i0(){i0=v3;j0=new f0();}
-var j0;function h0(a,b){return bc(a,34).ab(b);}
-function f0(){}
-_=f0.prototype=new xU();_.bb=h0;_.tN=wgc+'Comparators$1';_.tI=159;function n0(){n0=v3;u0=Bb('[Ljava.lang.String;',610,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);v0=Bb('[Ljava.lang.String;',610,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
-function l0(a){n0();q0(a);return a;}
-function m0(b,a){n0();r0(b,a);return b;}
-function o0(c,a){var b,d;d=p0(c);b=p0(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
-function p0(a){return a.jsdate.getTime();}
-function q0(a){a.jsdate=new Date();}
-function r0(b,a){b.jsdate=new Date(a);}
-function s0(a){return a.jsdate.toLocaleString();}
-function t0(h){var a=h.jsdate;var g=B0;var b=x0(h.jsdate.getDay());var e=A0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
-function w0(a){return o0(this,bc(a,59));}
-function x0(a){n0();return u0[a];}
-function y0(a){return cc(a,59)&&p0(this)==p0(bc(a,59));}
-function z0(){return ec(p0(this)^p0(this)>>>32);}
-function A0(a){n0();return v0[a];}
-function B0(a){n0();if(a<10){return '0'+a;}else{return gW(a);}}
-function C0(){return t0(this);}
-function k0(){}
-_=k0.prototype=new xU();_.ab=w0;_.eQ=y0;_.hC=z0;_.tS=C0;_.tN=wgc+'Date';_.tI=160;var u0,v0;function E1(){E1=v3;f2=l2();}
-function B1(a){{D1(a);}}
-function C1(a){E1();B1(a);return a;}
-function D1(a){a.a=ib();a.d=kb();a.b=jc(f2,eb);a.c=0;}
-function F1(b,a){if(cc(a,1)){return p2(b.d,bc(a,1))!==f2;}else if(a===null){return b.b!==f2;}else{return o2(b.a,a,a.hC())!==f2;}}
-function a2(a,b){if(a.b!==f2&&n2(a.b,b)){return true;}else if(k2(a.d,b)){return true;}else if(i2(a.a,b)){return true;}return false;}
-function b2(a){return v1(new l1(),a);}
-function c2(c,a){var b;if(cc(a,1)){b=p2(c.d,bc(a,1));}else if(a===null){b=c.b;}else{b=o2(c.a,a,a.hC());}return b===f2?null:b;}
-function d2(c,a,d){var b;if(cc(a,1)){b=s2(c.d,bc(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=r2(c.a,a,d,a.hC());}if(b===f2){++c.c;return null;}else{return b;}}
-function e2(c,a){var b;if(cc(a,1)){b=u2(c.d,bc(a,1));}else if(a===null){b=c.b;c.b=jc(f2,eb);}else{b=t2(c.a,a,a.hC());}if(b===f2){return null;}else{--c.c;return b;}}
-function g2(e,c){E1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
-function h2(d,a){E1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=e1(c.substring(1),e);a.C(b);}}}
-function i2(f,h){E1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ac();if(n2(h,d)){return true;}}}}return false;}
-function j2(a){return F1(this,a);}
-function k2(c,d){E1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(n2(d,a)){return true;}}}return false;}
-function l2(){E1();}
-function m2(){return b2(this);}
-function n2(a,b){E1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
-function q2(a){return c2(this,a);}
-function o2(f,h,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){return c.ac();}}}}
-function p2(b,a){E1();return b[':'+a];}
-function r2(f,h,j,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){var i=c.ac();c.se(j);return i;}}}else{a=f[e]=[];}var c=e1(h,j);a.push(c);}
-function s2(c,a,d){E1();a=':'+a;var b=c[a];c[a]=d;return b;}
-function t2(f,h,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ac();}}}}
-function u2(c,a){E1();a=':'+a;var b=c[a];delete c[a];return b;}
-function a1(){}
-_=a1.prototype=new pX();_.cb=j2;_.mb=m2;_.ec=q2;_.tN=wgc+'HashMap';_.tI=161;_.a=null;_.b=null;_.c=0;_.d=null;var f2;function c1(b,a,c){b.a=a;b.b=c;return b;}
-function e1(a,b){return c1(new b1(),a,b);}
-function f1(b){var a;if(cc(b,60)){a=bc(b,60);if(n2(this.a,a.ub())&&n2(this.b,a.ac())){return true;}}return false;}
-function g1(){return this.a;}
-function h1(){return this.b;}
-function i1(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
-function j1(a){var b;b=this.b;this.b=a;return b;}
-function k1(){return this.a+'='+this.b;}
-function b1(){}
-_=b1.prototype=new xU();_.eQ=f1;_.ub=g1;_.ac=h1;_.hC=i1;_.se=j1;_.tS=k1;_.tN=wgc+'HashMap$EntryImpl';_.tI=162;_.a=null;_.b=null;function v1(b,a){b.a=a;return b;}
-function x1(a){return n1(new m1(),a.a);}
-function y1(c){var a,b,d;if(cc(c,60)){a=bc(c,60);b=a.ub();if(F1(this.a,b)){d=c2(this.a,b);return n2(a.ac(),d);}}return false;}
-function z1(){return x1(this);}
-function A1(){return this.a.c;}
-function l1(){}
-_=l1.prototype=new yY();_.db=y1;_.mc=z1;_.ye=A1;_.tN=wgc+'HashMap$EntrySet';_.tI=163;function n1(c,b){var a;c.c=b;a=FY(new DY());if(c.c.b!==(E1(),f2)){bZ(a,c1(new b1(),null,c.c.b));}h2(c.c.d,a);g2(c.c.a,a);c.a=a.mc();return c;}
-function p1(a){return a.a.gc();}
-function q1(a){return a.b=bc(a.a.pc(),60);}
-function r1(a){if(a.b===null){throw vT(new uT(),'Must call next() before remove().');}else{a.a.Fd();e2(a.c,a.b.ub());a.b=null;}}
-function s1(){return p1(this);}
-function t1(){return q1(this);}
-function u1(){r1(this);}
-function m1(){}
-_=m1.prototype=new xU();_.gc=s1;_.pc=t1;_.Fd=u1;_.tN=wgc+'HashMap$EntrySetIterator';_.tI=164;_.a=null;_.b=null;function w2(a){a.a=C1(new a1());return a;}
-function x2(c,a){var b;b=d2(c.a,a,cT(true));return b===null;}
-function z2(a){return tX(qY(a.a));}
-function A2(a){return x2(this,a);}
-function B2(a){return F1(this.a,a);}
-function C2(){return z2(this);}
-function D2(){return this.a.c;}
-function E2(){return qY(this.a).tS();}
-function v2(){}
-_=v2.prototype=new yY();_.C=A2;_.db=B2;_.mc=C2;_.ye=D2;_.tS=E2;_.tN=wgc+'HashSet';_.tI=165;_.a=null;function e3(b,a){DU(b,a);return b;}
-function d3(){}
-_=d3.prototype=new CU();_.tN=wgc+'NoSuchElementException';_.tI=166;function j3(a){a.a=FY(new DY());return a;}
-function k3(b,a){return bZ(b.a,a);}
-function m3(a){return a.a.mc();}
-function n3(a,b){aZ(this.a,a,b);}
-function o3(a){return k3(this,a);}
-function p3(a){return fZ(this.a,a);}
-function q3(a){return gZ(this.a,a);}
-function r3(){return m3(this);}
-function s3(a){return kZ(this.a,a);}
-function t3(){return this.a.b;}
-function u3(){return this.a.Ae();}
-function i3(){}
-_=i3.prototype=new FW();_.B=n3;_.C=o3;_.db=p3;_.dc=q3;_.mc=r3;_.ae=s3;_.ye=t3;_.Ae=u3;_.tN=wgc+'Vector';_.tI=167;_.a=null;function v5(){v5=v3;x5=C1(new a1());}
-function u5(a){v5();return a;}
-function w5(){}
-function f5(){}
-_=f5.prototype=new es();_.jd=w5;_.tN=xgc+'JBRMSFeature';_.tI=168;var x5;function C3(){C3=v3;v5();}
-function B3(a){C3();u5(a);a.a=sK(new eK());a.a.xe('100%');a.a.ne('100%');tK(a.a,A9(new e9()),"<img src='images/category_small.gif'/>Manage categories",true);tK(a.a,l$(new D9()),"<img src='images/status_small.gif'/>Manage states",true);tK(a.a,m8(new i7()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);tK(a.a,F8(new q8()),"<img src='images/backup_small.gif'/>Import Export",true);zK(a.a,0);gs(a,a.a);return a;}
-function D3(){C3();return y3(new x3(),'Admin','Administer the repository');}
-function E3(){}
-function w3(){}
-_=w3.prototype=new f5();_.jd=E3;_.tN=xgc+'AdminFeature';_.tI=169;_.a=null;function h5(c,b,a){c.c=b;c.a=a;return c;}
-function j5(a){if(a.b!==null)return a.b;return a.b=a.fb();}
-function g5(){}
-_=g5.prototype=new xU();_.tN=xgc+'JBRMSFeature$ComponentInfo';_.tI=170;_.a=null;_.b=null;_.c=null;function y3(c,a,b){h5(c,a,b);return c;}
-function A3(){return B3(new w3());}
-function x3(){}
-_=x3.prototype=new g5();_.fb=A3;_.tN=xgc+'AdminFeature$1';_.tI=171;function f4(){f4=v3;v5();}
-function e4(a){f4();u5(a);gs(a,FKb(new hJb()));return a;}
-function g4(){f4();return b4(new a4(),'Deployment','Configure and view frozen snapshots of packages.');}
-function h4(){}
-function F3(){}
-_=F3.prototype=new f5();_.jd=h4;_.tN=xgc+'DeploymentManagementFeature';_.tI=172;function b4(c,a,b){h5(c,a,b);return c;}
-function d4(){return e4(new F3());}
-function a4(){}
-_=a4.prototype=new g5();_.fb=d4;_.tN=xgc+'DeploymentManagementFeature$1';_.tI=173;function o4(){o4=v3;v5();}
-function n4(a){o4();u5(a);gs(a,p4(a));return a;}
-function p4(a){a.a=vw(new tw(),'welcome.html');uO(a.a,'welcome-Page');a.a.ue(true);return a.a;}
-function q4(){o4();return k4(new j4(),'Info','JBoss Rules Managment System.');}
-function r4(){}
-function i4(){}
-_=i4.prototype=new f5();_.jd=r4;_.tN=xgc+'Info';_.tI=174;_.a=null;function k4(c,a,b){h5(c,a,b);return c;}
-function m4(){return n4(new i4());}
-function j4(){}
-_=j4.prototype=new g5();_.fb=m4;_.tN=xgc+'Info$1';_.tI=175;function C4(a){a.c=dA(new hx());a.d=p5(new n5());a.g=pt(new gt());}
-function D4(a){C4(a);return a;}
-function E4(a){nYb(DMb(),u4(new t4(),a));}
-function a5(b,c){var a;a=s5(b.d,c);if(a===null){c5(b);return;}d5(b,a,false);}
-function b5(b){var a,c;m5(b.d);b.h=pt(new gt());uO(b.h,'ks-Sink');c=hP(new fP());c.xe('100%');iP(c,b.c);iP(c,b.h);uO(b.c,'ks-Info');qt(b.g,b.d,(rt(),Bt));qt(b.g,c,(rt(),xt));vt(b.g,b.d,(xA(),AA));wt(b.g,c,'100%');Eg(b);b.e=b6(new y5());b.f=s6(new e6());dq(iH(),b.e);dq(iH(),b.g);dq(iH(),b.f);b.f.xe('100%');b.e.ue(false);b.g.ue(false);b.f.ue(false);E4(b);a=ah();if(uV(a)>0)a5(b,a);else c5(b);}
-function d5(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){tt(c.h,c.b);}c.b=j5(b);t5(c.d,b.c);hA(c.c,b.a);if(a)dh(b.c);qt(c.h,c.b,(rt(),xt));wt(c.h,c.b,'100%');vt(c.h,c.b,(xA(),AA));c.b.jd();}
-function c5(a){d5(a,s5(a.d,'Info'),false);}
-function e5(a){a5(this,a);}
-function s4(){}
-_=s4.prototype=new xU();_.Ec=e5;_.tN=xgc+'JBRMSEntryPoint';_.tI=176;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function jdb(b,a){if(cc(a,69)){ldb();}else if(cc(a,70)){kcb(bc(a,70));}else{jcb(a.vb());}}
-function kdb(a){jdb(this,a);}
-function ldb(){var a;a=ddb(new Ecb(),'images/warning-large.png','Session expired');fdb(a,eA(new hx(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));lF(a,40,40);oF(a);eeb();}
-function hdb(){}
-_=hdb.prototype=new xU();_.Ac=kdb;_.tN=Agc+'GenericCallback';_.tI=177;function u4(b,a){b.a=a;return b;}
-function w4(a){var b;b=bc(a,1);if(b!==null){d6(this.a.e,b);this.a.e.ue(true);this.a.g.ue(true);this.a.f.ue(false);}else{this.a.f.ue(true);w6(this.a.f,y4(new x4(),this));}}
-function t4(){}
-_=t4.prototype=new hdb();_.md=w4;_.tN=xgc+'JBRMSEntryPoint$1';_.tI=178;function y4(b,a){b.a=a;return b;}
-function A4(a){d6(a.a.a.e,v6(a.a.a.f));a.a.a.e.ue(true);a.a.a.f.ue(false);a.a.a.g.ue(true);}
-function B4(){A4(this);}
-function x4(){}
-_=x4.prototype=new xU();_.nb=B4;_.tN=xgc+'JBRMSEntryPoint$2';_.tI=179;function m5(a){q5(a,q4());q5(a,h7());q5(a,E6());q5(a,g4());q5(a,D3());}
-function o5(a){a.a=hP(new fP());a.c=FY(new DY());}
-function p5(a){o5(a);gs(a,a.a);uO(a,'ks-List');return a;}
-function q5(d,a){var b,c;c=a.c;b=jB(new hB(),c,c);uO(b,'ks-SinkItem');iP(d.a,b);bZ(d.c,a);}
-function s5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=bc(gZ(d.c,a),61);if(qV(b.c,c))return b;}return null;}
-function t5(d,c){var a,b;if(d.b!=(-1))pO(Dr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=bc(gZ(d.c,a),61);if(qV(b.c,c)){d.b=a;jO(Dr(d.a,d.b),'ks-SinkItem-selected');return;}}}
-function n5(){}
-_=n5.prototype=new es();_.tN=xgc+'JBRMSFeatureList';_.tI=180;_.b=(-1);function b6(a){a.a=dA(new hx());gs(a,a.a);return a;}
-function d6(b,d){var a,c;a=cV(new bV());eV(a,"<div id='user_info'>");eV(a,'Welcome: &nbsp;'+d);eV(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");eV(a,'<\/div>');hA(b.a,iV(a));c=A5(new z5(),b);ph(c,300000);}
-function y5(){}
-_=y5.prototype=new es();_.tN=xgc+'LoggedInUserInfo';_.tI=181;_.a=null;function B5(){B5=v3;nh();}
-function A5(b,a){B5();lh(b);return b;}
-function C5(){nYb(DMb(),new D5());}
-function z5(){}
-_=z5.prototype=new gh();_.ce=C5;_.tN=xgc+'LoggedInUserInfo$1';_.tI=182;function F5(a){}
-function a6(a){if(a===null){ldb();}}
-function D5(){}
-_=D5.prototype=new xU();_.Ac=F5;_.md=a6;_.tN=xgc+'LoggedInUserInfo$2';_.tI=183;function s6(c){var a,b;c.a=ucb(new rcb(),'images/login.gif','Please enter your details');c.c=zL(new kL());c.c.oe(1);vcb(c.a,'User name:',c.c);b=DE(new CE());b.oe(2);vcb(c.a,'Password:',b);a=qq(new kq(),'Login');a.oe(3);vcb(c.a,'',a);a.x(g6(new f6(),c,b));gs(c,c.a);c.c.le(true);uO(c,'login-Form');return c;}
-function u6(c,a,d,b){aNb(rL(d),rL(b),o6(new n6(),c,a));}
-function v6(a){return rL(a.c);}
-function w6(b,a){b.b=a;}
-function e6(){}
-_=e6.prototype=new es();_.tN=xgc+'LoginWidget';_.tI=184;_.a=null;_.b=null;_.c=null;function g6(b,a,c){b.a=a;b.b=c;return b;}
-function i6(a){ieb('Logging in...');ig(k6(new j6(),this,this.b));}
-function f6(){}
-_=f6.prototype=new xU();_.wc=i6;_.tN=xgc+'LoginWidget$1';_.tI=185;function k6(b,a,c){b.a=a;b.b=c;return b;}
-function m6(){u6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
-function j6(){}
-_=j6.prototype=new xU();_.nb=m6;_.tN=xgc+'LoginWidget$2';_.tI=186;function o6(b,a,c){b.a=c;return b;}
-function q6(c,a){var b;eeb();b=bc(a,55);if(!b.a){Ch('Incorrect username or password.');}else{A4(c.a);}}
-function r6(a){q6(this,a);}
-function n6(){}
-_=n6.prototype=new hdb();_.md=r6;_.tN=xgc+'LoginWidget$3';_.tI=187;function D6(){D6=v3;v5();}
-function C6(b){var a;D6();u5(b);a=dJb(new CIb());gJb(a,x5);gs(b,a);return b;}
-function E6(){D6();return z6(new y6(),'Packages','Configure and view packages of business rule assets.');}
-function F6(){}
-function x6(){}
-_=x6.prototype=new f5();_.jd=F6;_.tN=xgc+'PackageManagementFeature';_.tI=188;function z6(c,a,b){h5(c,a,b);return c;}
-function B6(){return C6(new x6());}
-function y6(){}
-_=y6.prototype=new g5();_.fb=B6;_.tN=xgc+'PackageManagementFeature$1';_.tI=189;function g7(){g7=v3;v5();}
-function f7(b){var a;g7();u5(b);a=ycc(new ubc());Ccc(a,x5);gs(b,a);return b;}
-function h7(){g7();return c7(new b7(),'Rules','Find and edit rules.');}
-function a7(){}
-_=a7.prototype=new f5();_.tN=xgc+'RulesFeature';_.tI=190;function c7(c,a,b){h5(c,a,b);return c;}
-function e7(){return f7(new a7());}
-function b7(){}
-_=b7.prototype=new g5();_.fb=e7;_.tN=xgc+'RulesFeature$1';_.tI=191;function m8(a){var b;b=ucb(new rcb(),'images/backup_large.png','Manage Archived Assets');a.a=FA(new DA());a.a.xe('100%');ycb(b,a.a);a.b=Bdc(new Fcc(),new j7(),'archivedrulelist');bec(a.b,p8(a));aB(a.a,a.b);k8(p8(a));ycb(b,eA(new hx(),'<hr/>'));ycb(b,o8(a));gs(a,b);return a;}
-function o8(d){var a,b,c,e;b=FA(new DA());c=qq(new kq(),'Refresh');c.x(n7(new m7(),d));e=qq(new kq(),'Unarchive');e.x(r7(new q7(),d));a=qq(new kq(),'Delete');a.x(A7(new z7(),d));aB(b,c);aB(b,e);aB(b,a);return b;}
-function p8(b){var a;a=d8(new c8(),b);return i8(new h8(),b,a);}
-function i7(){}
-_=i7.prototype=new es();_.tN=ygc+'ArchivedAssetManager';_.tI=192;_.a=null;_.b=null;function l7(a){}
-function j7(){}
-_=j7.prototype=new xU();_.td=l7;_.tN=ygc+'ArchivedAssetManager$1';_.tI=193;function n7(b,a){b.a=a;return b;}
-function p7(a){k8(p8(this.a));}
-function m7(){}
-_=m7.prototype=new xU();_.wc=p7;_.tN=ygc+'ArchivedAssetManager$2';_.tI=194;function r7(b,a){b.a=a;return b;}
-function t7(a){bUb(EMb(),Ddc(this.a.b),false,v7(new u7(),this));}
-function q7(){}
-_=q7.prototype=new xU();_.wc=t7;_.tN=ygc+'ArchivedAssetManager$3';_.tI=195;function v7(b,a){b.a=a;return b;}
-function x7(b,a){k8(p8(b.a.a));Ch('Done!');}
-function y7(a){x7(this,a);}
-function u7(){}
-_=u7.prototype=new hdb();_.md=y7;_.tN=ygc+'ArchivedAssetManager$4';_.tI=196;function A7(b,a){b.a=a;return b;}
-function C7(a){bVb(EMb(),Ddc(this.a.b),E7(new D7(),this));}
-function z7(){}
-_=z7.prototype=new xU();_.wc=C7;_.tN=ygc+'ArchivedAssetManager$5';_.tI=197;function E7(b,a){b.a=a;return b;}
-function a8(b,a){k8(p8(b.a.a));Ch('Done!');}
-function b8(a){a8(this,a);}
-function D7(){}
-_=D7.prototype=new hdb();_.md=b8;_.tN=ygc+'ArchivedAssetManager$6';_.tI=198;function d8(b,a){b.a=a;return b;}
-function f8(c,a){var b;b=bc(a,62);aec(c.a.b,b);c.a.b.xe('100%');eeb();}
-function g8(a){f8(this,a);}
-function c8(){}
-_=c8.prototype=new hdb();_.md=g8;_.tN=ygc+'ArchivedAssetManager$7';_.tI=199;function i8(b,a,c){b.a=c;return b;}
-function k8(a){ieb('Loading list, please wait...');xUb(EMb(),a.a);}
-function l8(){k8(this);}
-function h8(){}
-_=h8.prototype=new xU();_.nb=l8;_.tN=ygc+'ArchivedAssetManager$8';_.tI=200;function F8(a){var b;b=ucb(new rcb(),'images/backup_large.png','Import/Export');vcb(b,'',eA(new hx(),'<i>Import and Export rules repository<\/i>'));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Import from an xml file',d9(a));vcb(b,'Export to a zip file',c9(a));ycb(b,eA(new hx(),'<hr/>'));gs(a,b);return a;}
-function b9(a){ieb('Exporting repository, please wait, as this could take some time...');ki(w()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');eeb();}
-function c9(c){var a,b;b=FA(new DA());a=qq(new kq(),'Export');a.x(s8(new r8(),c));aB(b,a);return b;}
-function d9(c){var a,b,d,e;e=Cv(new xv());cw(e,w()+'backup');dw(e,'multipart/form-data');ew(e,'post');b=FA(new DA());e.we(b);d=au(new Ft());du(d,'importFile');aB(b,d);aB(b,CC(new AC(),'import:'));a=odb(new ndb(),'images/upload.gif');fC(a,w8(new v8(),c,e));aB(b,a);Dv(e,B8(new A8(),c,d));return e;}
-function q8(){}
-_=q8.prototype=new es();_.tN=ygc+'BackupManager';_.tI=201;function s8(b,a){b.a=a;return b;}
-function u8(a){b9(this.a);}
-function r8(){}
-_=r8.prototype=new xU();_.wc=u8;_.tN=ygc+'BackupManager$1';_.tI=202;function w8(b,a,c){b.a=c;return b;}
-function y8(a,b){if(Eh('Are you sure you want to import? this will erase any content in the repository currently?')){ieb('Importing repository, please wait, as this could take some time...');gw(b);}}
-function z8(a){y8(this,this.a);}
-function v8(){}
-_=v8.prototype=new xU();_.wc=z8;_.tN=ygc+'BackupManager$2';_.tI=203;function B8(b,a,c){b.a=c;return b;}
-function E8(a){if(uV(cu(this.a))==0){Ch('You did not specify an exported repository filename !');sw(a,true);}else if(!oV(cu(this.a),'.xml')){Ch('Please specify a valid repository xml file.');sw(a,true);}}
-function D8(a){if(sV(a.a,'OK')>(-1)){Ch('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{jcb('Unable to import into the repository. Consult the server logs for error messages.');}eeb();}
-function A8(){}
-_=A8.prototype=new xU();_.ld=E8;_.kd=D8;_.tN=ygc+'BackupManager$3';_.tI=204;function z9(a){hP(new fP());}
-function A9(f){var a,b,c,d,e;z9(f);c=ucb(new rcb(),'images/edit_category.gif','Edit categories');vcb(c,'',eA(new hx(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=v_(new e_(),new f9());uO(f.a,'category-explorer-Admin');b=AH(new sH());uO(b,'metadata-Widget');CH(b,f.a);ycb(c,eA(new hx(),'<hr/>'));vcb(c,'Current categories:',b);e=odb(new ndb(),'images/refresh.gif');e.pe('Refresh categories');fC(e,j9(new i9(),f));vcb(c,'Refresh view:',e);ycb(c,eA(new hx(),'<hr/>'));d=odb(new ndb(),'images/new.gif');d.pe('Create a new category');fC(d,n9(new m9(),f));vcb(c,'Create a new category:',d);a=odb(new ndb(),'images/delete_obj.gif');fC(a,r9(new q9(),f));a.pe("Deletes the currently selected category. You won't be able to delete if the category is in use.");vcb(c,'Delete the currently selected category:',a);gs(f,c);return f;}
-function C9(a){if(Eh('Are you sure you want to delete category: '+a.a.e)){cVb(EMb(),a.a.e,v9(new u9(),a));}}
-function e9(){}
-_=e9.prototype=new es();_.tN=ygc+'CategoryManager';_.tI=205;_.a=null;function h9(a){}
-function f9(){}
-_=f9.prototype=new xU();_.ee=h9;_.tN=ygc+'CategoryManager$1';_.tI=206;function j9(b,a){b.a=a;return b;}
-function l9(a){B_(this.a.a);}
-function i9(){}
-_=i9.prototype=new xU();_.wc=l9;_.tN=ygc+'CategoryManager$2';_.tI=207;function n9(b,a){b.a=a;return b;}
-function p9(b){var a;a=F$(new q$(),this.a.a.e);lF(a,lO(b),mO(b)-400);oF(a);}
-function m9(){}
-_=m9.prototype=new xU();_.wc=p9;_.tN=ygc+'CategoryManager$3';_.tI=208;function r9(b,a){b.a=a;return b;}
-function t9(a){C9(this.a);}
-function q9(){}
-_=q9.prototype=new xU();_.wc=t9;_.tN=ygc+'CategoryManager$4';_.tI=209;function v9(b,a){b.a=a;return b;}
-function x9(b,a){B_(b.a.a);}
-function y9(a){x9(this,a);}
-function u9(){}
-_=u9.prototype=new hdb();_.md=y9;_.tN=ygc+'CategoryManager$5';_.tI=210;function l$(b){var a;a=ucb(new rcb(),'images/status_large.png','Manage statuses');vcb(a,'',eA(new hx(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=mD(new eD());CD(b.a,7);b.a.xe('50%');p$(b);vcb(a,'Current statuses:',b.a);vcb(a,'Add new status:',o$(b));gs(b,a);return b;}
-function n$(b,a){ieb('Creating status');rUb(EMb(),rL(a),h$(new g$(),b,a));}
-function o$(d){var a,b,c;c=FA(new DA());a=zL(new kL());b=qq(new kq(),'Create');b.x(d$(new c$(),d,a));aB(c,a);aB(c,b);return c;}
-function p$(a){ieb('Loading statuses...');wUb(EMb(),F9(new E9(),a));}
-function D9(){}
-_=D9.prototype=new es();_.tN=ygc+'StateManager';_.tI=211;_.a=null;function F9(b,a){b.a=a;return b;}
-function b$(a){var b,c;sD(this.a.a);c=bc(a,63);for(b=0;b<c.a;b++){pD(this.a.a,c[b]);}eeb();}
-function E9(){}
-_=E9.prototype=new hdb();_.md=b$;_.tN=ygc+'StateManager$1';_.tI=212;function d$(b,a,c){b.a=a;b.b=c;return b;}
-function f$(a){n$(this.a,this.b);}
-function c$(){}
-_=c$.prototype=new xU();_.wc=f$;_.tN=ygc+'StateManager$2';_.tI=213;function h$(b,a,c){b.a=a;b.b=c;return b;}
-function j$(b,a){vL(b.b,'');p$(b.a);eeb();}
-function k$(a){j$(this,a);}
-function g$(){}
-_=g$.prototype=new hdb();_.md=k$;_.tN=ygc+'StateManager$3';_.tI=214;function b_(){b_=v3;eF();}
-function E$(a){a.d=lu(new fu());a.b=zL(new kL());a.a=eL(new dL());}
-function F$(d,b){var a,c;b_();bF(d,true);E$(d);d.c=b;d.d.ve(0,0,odb(new ndb(),'images/edit_category.gif'));d.d.ve(0,1,CC(new AC(),c_(d,d.c)));d.d.ve(1,0,CC(new AC(),'Cateogory name'));d.d.ve(1,1,d.b);jL(d.a,4);d.d.ve(2,0,CC(new AC(),'Description'));d.d.ve(2,1,d.a);c=qq(new kq(),'OK');c.x(s$(new r$(),d));d.d.ve(3,0,c);a=qq(new kq(),'Cancel');a.x(w$(new v$(),d));d.d.ve(3,1,a);CH(d,d.d);uO(d,'ks-popups-Popup');return d;}
-function a_(a){a.hc();}
-function c_(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
-function d_(b){var a;a=A$(new z$(),b);if(qV('',rL(b.b))){jcb("Can't have an empty category name.");}else{nUb(EMb(),b.c,rL(b.b),rL(b.a),a);}}
-function q$(){}
-_=q$.prototype=new FE();_.tN=zgc+'CategoryEditor';_.tI=215;_.c=null;function s$(b,a){b.a=a;return b;}
-function u$(a){d_(this.a);}
-function r$(){}
-_=r$.prototype=new xU();_.wc=u$;_.tN=zgc+'CategoryEditor$1';_.tI=216;function w$(b,a){b.a=a;return b;}
-function y$(a){a_(this.a);}
-function v$(){}
-_=v$.prototype=new xU();_.wc=y$;_.tN=zgc+'CategoryEditor$2';_.tI=217;function A$(b,a){b.a=a;return b;}
-function C$(b,a){if(bc(a,55).a){b.a.hc();}else{jcb('Category was not successfully created. ');}}
-function D$(a){C$(this,a);}
-function z$(){}
-_=z$.prototype=new hdb();_.md=D$;_.tN=zgc+'CategoryEditor$3';_.tI=218;function u_(a){a.c=jN(new CL());a.d=hP(new fP());a.f=EMb();}
-function v_(b,a){u_(b);iP(b.d,b.c);b.a=a;A_(b);gs(b,b.d);nN(b.c,b);uO(b,'category-explorer-Tree');return b;}
-function x_(d,b){var a,c;a=bc(b.k,1);c=b.g;while(c!==null){a=bc(c.k,1)+'/'+a;c=c.g;}return a;}
-function y_(b,a){if(a.c.b==1&&cc(sM(a,0),64)){return false;}return true;}
-function z_(a){if(a.b!==null){a.b.ue(false);}}
-function A_(a){mN(a.c,'Please wait...');zUb(a.f,'/',k_(new j_(),a));}
-function B_(a){CN(a.c);a.e=null;A_(a);}
-function C_(c){var a,b;if(c.b===null){b=cq(new bq());dq(b,eA(new hx(),'No categories created yet. Add some categories from the administration screen.'));a=qq(new kq(),'Refresh');a.x(g_(new f_(),c));dq(b,a);uO(b,'small-Text');c.b=b;iP(c.d,c.b);}c.b.ue(true);}
-function D_(a){this.e=x_(this,a);this.a.ee(this.e);}
-function E_(a){var b;if(y_(this,a)){return;}b=a;this.e=x_(this,a);zUb(this.f,this.e,o_(new n_(),this,b));}
-function e_(){}
-_=e_.prototype=new es();_.od=D_;_.pd=E_;_.tN=zgc+'CategoryExplorerWidget';_.tI=219;_.a=null;_.b=null;_.e=null;function g_(b,a){b.a=a;return b;}
-function i_(a){B_(this.a);}
-function f_(){}
-_=f_.prototype=new xU();_.wc=i_;_.tN=zgc+'CategoryExplorerWidget$1';_.tI=220;function k_(b,a){b.a=a;return b;}
-function m_(d){var a,b,c;this.a.e=null;CN(this.a.c);a=bc(d,63);if(a.a==0){C_(this.a);}else{z_(this.a);}for(b=0;b<a.a;b++){c=oM(new mM());wM(c,'<img src="images/category_small.gif"/>'+a[b]);CM(c,a[b]);c.y(s_(new r_()));lN(this.a.c,c);}}
-function j_(){}
-_=j_.prototype=new hdb();_.md=m_;_.tN=zgc+'CategoryExplorerWidget$2';_.tI=221;function o_(b,a,c){b.a=c;return b;}
-function q_(e){var a,b,c,d;a=sM(this.a,0);if(cc(a,64)){this.a.Dd(a);}d=bc(e,63);for(b=0;b<d.a;b++){c=oM(new mM());wM(c,'<img src="images/category_small.gif"/>'+d[b]);CM(c,d[b]);c.y(s_(new r_()));this.a.y(c);}}
-function n_(){}
-_=n_.prototype=new hdb();_.md=q_;_.tN=zgc+'CategoryExplorerWidget$3';_.tI=222;function s_(a){pM(a,'Please wait...');return a;}
-function r_(){}
-_=r_.prototype=new mM();_.tN=zgc+'CategoryExplorerWidget$PendingItem';_.tI=223;function bab(){bab=v3;cab=Bb('[Ljava.lang.String;',610,1,['brl','dslr','xls']);eab=Bb('[Ljava.lang.String;',610,1,['drl','rf','enumeration']);dab=Bb('[Ljava.lang.String;',610,1,['function','dsl','jar','enumeration']);}
-function fab(a){bab();var b;for(b=0;b<dab.a;b++){if(qV(dab[b],a)){return true;}}return false;}
-var cab,dab,eab;function rab(){rab=v3;AL();}
-function pab(a){a.b=bF(new FE(),true);a.a=iab(new hab(),a);}
-function qab(b,a){rab();zL(b);pab(b);oL(b,b);vO(b.a,1);uO(b,'AutoCompleteTextBox');CH(b.b,b.a);jO(b.b,'AutoCompleteChoices');uO(b.a,'list');b.c=a;return b;}
-function sab(a){if(a.e&&uD(a.a)>0){vL(a,vD(a.a,wD(a.a)));}sD(a.a);a.b.hc();a.e=false;}
-function tab(e,a,b,c){var d;d=wD(e.a);d++;if(d>=uD(e.a)){d=0;}BD(e.a,d);}
-function uab(d,a,b,c){sab(d);}
-function vab(d,a,b,c){sD(d.a);d.b.hc();d.e=false;}
-function wab(b,a){if(0==uV(a)||0==uD(b.a)||1==uD(b.a)&&qV(vD(b.a,0),a)){sD(b.a);b.b.hc();b.e=false;}else{BD(b.a,0);CD(b.a,uD(b.a)+1);if(!b.d){dq(iH(),b.b);b.d=true;}oF(b.b);b.e=true;lF(b.b,lO(b),mO(b)+b.yb());b.a.xe(b.zb()+'px');}}
-function xab(d,a,b,c){Aab(d,rL(d));if(uV(rL(d))>0&&d.c!==null){iec(d.c,rL(d),mab(new lab(),d));}}
-function yab(d,a,b,c){sab(d);}
-function zab(e,a,b,c){var d;d=wD(e.a);d--;if(d<0){d=uD(e.a)-1;}BD(e.a,d);}
-function Aab(c,b){var a;a=0;while(a<uD(c.a)){if(yV(CV(vD(c.a,a)),CV(b))){++a;}else{AD(c.a,a);}}wab(c,b);}
-function Bab(d,b,c){var a;sD(d.a);for(a=0;a<b.a;a++){pD(d.a,b[a]);}Aab(d,c);}
-function Cab(a,b,c){if(b==13){uab(this,a,b,c);}else if(b==9){yab(this,a,b,c);}else if(b==40){tab(this,a,b,c);}else if(b==38){zab(this,a,b,c);}else if(b==27){vab(this,a,b,c);}}
-function Dab(a,b,c){}
-function Eab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:xab(this,a,b,c);break;}}
-function gab(){}
-_=gab.prototype=new kL();_.Fc=Cab;_.ad=Dab;_.bd=Eab;_.tN=Agc+'AutoCompleteTextBoxAsync';_.tI=224;_.c=null;_.d=false;_.e=false;function jab(){jab=v3;tD();}
-function iab(b,a){jab();b.a=a;mD(b);return b;}
-function kab(a){if(1==ze(a)){sab(this.a);}}
-function hab(){}
-_=hab.prototype=new eD();_.tc=kab;_.tN=Agc+'AutoCompleteTextBoxAsync$1';_.tI=225;function mab(b,a){b.a=a;return b;}
-function oab(b,a){Bab(b.a,a,rL(b.a));}
-function lab(){}
-_=lab.prototype=new xU();_.tN=Agc+'AutoCompleteTextBoxAsync$2';_.tI=226;function dbb(a){a.j=true;}
-function ebb(a){a.j=false;}
-function fbb(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
-function gbb(){return this.j;}
-function bbb(){}
-_=bbb.prototype=new es();_.lc=gbb;_.tN=Agc+'DirtyableComposite';_.tI=227;_.j=false;function jbb(a){a.b=FY(new DY());}
-function kbb(a){lu(a);jbb(a);return a;}
-function mbb(d){var a,b,c;for(c=d.b.mc();c.gc();){a=bc(c.pc(),65);b=kz(d,a.b,a.a);if(cc(b,66))if(bc(b,66).lc())return true;if(cc(b,67))if(bc(b,67).fc())return true;}return false;}
-function nbb(d,c,b,a){zz(d,c,b,a);if(cc(a,68)){aZ(d.b,d.a++,keb(new jeb(),c,b));}}
-function obb(){return mbb(this);}
-function pbb(c,b,a){nbb(this,c,b,a);}
-function ibb(){}
-_=ibb.prototype=new fu();_.fc=obb;_.ve=pbb;_.tN=Agc+'DirtyableFlexTable';_.tI=228;_.a=0;function rbb(a){FA(a);return a;}
-function tbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=Dr(c,b);if(cc(a,66))if(bc(a,66).lc())return true;if(cc(a,67))if(bc(a,67).fc())return true;}return false;}
-function ubb(){return tbb(this);}
-function qbb(){}
-_=qbb.prototype=new DA();_.fc=ubb;_.tN=Agc+'DirtyableHorizontalPane';_.tI=229;function wbb(a){hP(a);return a;}
-function ybb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=Dr(this,b);if(cc(a,66))if(bc(a,66).lc())return true;if(cc(a,67))if(bc(a,67).fc())return true;}return false;}
-function vbb(){}
-_=vbb.prototype=new fP();_.fc=ybb;_.tN=Agc+'DirtyableVerticalPane';_.tI=230;function gcb(){gcb=v3;zs();}
-function dcb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=odb(new ndb(),'images/close.gif');}
-function ecb(d,b,a){var c,e;gcb();xs(d,true);dcb(d);bD(d.a,b);aB(d.c,eC(new oB(),'images/error_dialog.png'));e=hP(new fP());iP(e,d.a);aB(d.c,e);if(a!==null){fcb(d,e,a);}aB(d.c,d.b);c=d;fC(d.b,Cbb(new Bbb(),d,c));Cs(d,d.c);lF(d,40,40);uO(d,'rule-error-Popup');return d;}
-function fcb(e,c,b){var a,d,f;f=hP(new fP());iP(c,f);d=qq(new kq(),'Details');iP(f,d);a=CC(new AC(),b);a.ue(false);iP(f,a);d.x(acb(new Fbb(),e,a,d));}
-function hcb(a){bD(a.a,'');hF(a);}
-function icb(){hcb(this);}
-function jcb(a){gcb();var b;b=ecb(new Abb(),a,null);eeb();oF(b);}
-function kcb(a){gcb();var b;b=ecb(new Abb(),a.b,a.a);eeb();oF(b);}
-function Abb(){}
-_=Abb.prototype=new us();_.hc=icb;_.tN=Agc+'ErrorPopup';_.tI=231;function Cbb(b,a,c){b.a=c;return b;}
-function Ebb(a){hcb(this.a);}
-function Bbb(){}
-_=Bbb.prototype=new xU();_.wc=Ebb;_.tN=Agc+'ErrorPopup$1';_.tI=232;function acb(b,a,c,d){b.a=c;b.b=d;return b;}
-function ccb(a){this.a.ue(true);this.b.ue(false);}
-function Fbb(){}
-_=Fbb.prototype=new xU();_.wc=ccb;_.tN=Agc+'ErrorPopup$2';_.tI=233;function mcb(b,a){b.a=a;return b;}
-function ocb(a,b,c){}
-function pcb(a,b,c){}
-function qcb(a,b,c){this.a.nb();}
-function lcb(){}
-_=lcb.prototype=new xU();_.Fc=ocb;_.ad=pcb;_.bd=qcb;_.tN=Agc+'FieldEditListener';_.tI=234;_.a=null;function scb(a){a.h=kbb(new ibb());a.g=ou(a.h);}
-function ucb(b,a,c){scb(b);wcb(b,a,c);gs(b,b.h);return b;}
-function tcb(a){scb(a);gs(a,a.h);return a;}
-function vcb(d,c,a){var b;b=eA(new hx(),'<b>'+c+'<\/b>');nbb(d.h,d.i,0,b);Bx(d.g,d.i,0,(oA(),rA),(xA(),AA));nbb(d.h,d.i,1,a);Bx(d.g,d.i,1,(oA(),qA),(xA(),AA));d.i++;}
-function wcb(c,a,d){var b;b=CC(new AC(),d);uO(b,'resource-name-Label');Bcb(c,a,b);}
-function xcb(d,b,e,f){var a,c;c=CC(new AC(),e);uO(c,'resource-name-Label');a=FA(new DA());aB(a,c);aB(a,f);Bcb(d,b,a);}
-function ycb(a,b){nbb(a.h,a.i,0,b);ju(a.g,a.i,0,2);a.i++;}
-function zcb(a){a.i=0;bz(a.h);}
-function Bcb(b,a,c){nbb(b.h,0,0,eC(new oB(),a));Bx(b.g,0,0,(oA(),qA),(xA(),AA));nbb(b.h,0,1,c);b.i++;}
-function Ccb(c,b,a,d){nbb(c.h,b,a,d);}
-function Dcb(){return mbb(this.h);}
-function rcb(){}
-_=rcb.prototype=new bbb();_.lc=Dcb;_.tN=Agc+'FormStyleLayout';_.tI=235;_.i=0;function gdb(){gdb=v3;eF();}
-function ddb(c,b,d){var a;gdb();bF(c,true);c.i=ucb(new rcb(),b,d);uO(c,'ks-popups-Popup');a=odb(new ndb(),'images/close.gif');fC(a,adb(new Fcb(),c));Ccb(c.i,0,2,a);CH(c,c.i);return c;}
-function edb(b,a,c){vcb(b.i,a,c);}
-function fdb(a,b){ycb(a.i,b);}
-function Ecb(){}
-_=Ecb.prototype=new FE();_.tN=Agc+'FormStylePopup';_.tI=236;_.i=null;function adb(b,a){b.a=a;return b;}
-function cdb(a){this.a.hc();}
-function Fcb(){}
-_=Fcb.prototype=new xU();_.wc=cdb;_.tN=Agc+'FormStylePopup$1';_.tI=237;function qdb(){qdb=v3;hC();}
-function odb(b,a){qdb();eC(b,a);uO(b,'image-Button');return b;}
-function pdb(b,a,c){qdb();eC(b,a);uO(b,'image-Button');b.pe(c);return b;}
-function ndb(){}
-_=ndb.prototype=new oB();_.tN=Agc+'ImageButton';_.tI=238;function wdb(c,d,b){var a;a=eC(new oB(),'images/information.gif');a.pe(b);fC(a,tdb(new sdb(),c,d,b));gs(c,a);return c;}
-function rdb(){}
-_=rdb.prototype=new es();_.tN=Agc+'InfoPopup';_.tI=239;function tdb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vdb(b){var a;a=ddb(new Ecb(),'images/information.gif',this.b);fdb(a,zdb(new ydb(),this.a,'small-Text'));lF(a,lO(b),mO(b));oF(a);}
-function sdb(){}
-_=sdb.prototype=new xU();_.wc=vdb;_.tN=Agc+'InfoPopup$1';_.tI=240;function zdb(c,a,b){CC(c,a);uO(c,b);return c;}
-function ydb(){}
-_=ydb.prototype=new AC();_.tN=Agc+'Lbl';_.tI=241;function ceb(){ceb=v3;eF();}
-function aeb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=eC(new oB(),'images/close.gif');}
-function beb(a){ceb();bF(a,true);aeb(a);aB(a.c,a.a);aB(a.c,a.b);aB(a.c,eC(new oB(),'images/searching.gif'));fC(a.b,Ddb(new Cdb(),a));CH(a,a.c);lF(a,0,0);uO(a,'loading-Popup');return a;}
-function deb(a){bD(a.a,'');hF(a);}
-function eeb(){ceb();deb(feb());}
-function feb(){ceb();if(heb===null){heb=beb(new Bdb());}return heb;}
-function geb(){deb(this);}
-function ieb(a){ceb();var b;b=feb();bD(b.a,a);oF(b);}
-function Bdb(){}
-_=Bdb.prototype=new FE();_.hc=geb;_.tN=Agc+'LoadingPopup';_.tI=242;var heb=null;function Ddb(b,a){b.a=a;return b;}
-function Fdb(a){deb(this.a);}
-function Cdb(){}
-_=Cdb.prototype=new xU();_.wc=Fdb;_.tN=Agc+'LoadingPopup$1';_.tI=243;function keb(c,b,a){c.b=b;c.a=a;return c;}
-function jeb(){}
-_=jeb.prototype=new xU();_.tN=Agc+'Pair';_.tI=244;_.a=0;_.b=0;function reb(a){a.b=mD(new eD());uUb(EMb(),oeb(new neb(),a));gs(a,a.b);return a;}
-function teb(a){return vD(a.b,wD(a.b));}
-function ueb(b,a){b.a=a;}
-function meb(){}
-_=meb.prototype=new es();_.tN=Agc+'RulePackageSelector';_.tI=245;_.a=null;_.b=null;function oeb(b,a){b.a=a;return b;}
-function qeb(c){var a,b;b=bc(c,71);for(a=0;a<b.a;a++){pD(this.a.b,b[a].j);if(this.a.a!==null&&qV(b[a].j,this.a.a)){BD(this.a.b,a);}}}
-function neb(){}
-_=neb.prototype=new hdb();_.md=qeb;_.tN=Agc+'RulePackageSelector$1';_.tI=246;function nfb(){nfb=v3;zs();}
-function lfb(f,g,d){var a,b,c,e;nfb();xs(f,true);f.d=g;f.b=d;uO(f,'ks-popups-Popup');As(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=FA(new DA());a=mD(new eD());ieb('Please wait...');wUb(EMb(),xeb(new web(),f,a));oD(a,Beb(new Aeb(),f,a));aB(c,a);e=qq(new kq(),'Change status');e.x(Feb(new Eeb(),f,a));aB(c,e);b=qq(new kq(),'Cancel');b.x(dfb(new cfb(),f));aB(c,b);Cs(f,c);return f;}
-function mfb(b,a){ieb('Updating status...');hUb(EMb(),b.d,b.c,b.b,hfb(new gfb(),b));}
-function ofb(b,a){b.a=a;}
-function veb(){}
-_=veb.prototype=new us();_.tN=Agc+'StatusChangePopup';_.tI=247;_.a=null;_.b=false;_.c=null;_.d=null;function xeb(b,a,c){b.a=c;return b;}
-function zeb(a){var b,c;c=bc(a,63);pD(this.a,'-- Choose one --');for(b=0;b<c.a;b++){pD(this.a,c[b]);}eeb();}
-function web(){}
-_=web.prototype=new hdb();_.md=zeb;_.tN=Agc+'StatusChangePopup$1';_.tI=248;function Beb(b,a,c){b.a=a;b.b=c;return b;}
-function Deb(a){this.a.c=vD(this.b,wD(this.b));}
-function Aeb(){}
-_=Aeb.prototype=new xU();_.vc=Deb;_.tN=Agc+'StatusChangePopup$2';_.tI=249;function Feb(b,a,c){b.a=a;b.b=c;return b;}
-function bfb(b){var a;a=vD(this.b,wD(this.b));mfb(this.a,a);this.a.hc();}
-function Eeb(){}
-_=Eeb.prototype=new xU();_.wc=bfb;_.tN=Agc+'StatusChangePopup$3';_.tI=250;function dfb(b,a){b.a=a;return b;}
-function ffb(a){this.a.hc();}
-function cfb(){}
-_=cfb.prototype=new xU();_.wc=ffb;_.tN=Agc+'StatusChangePopup$4';_.tI=251;function hfb(b,a){b.a=a;return b;}
-function jfb(b,a){b.a.a.nb();eeb();}
-function kfb(a){jfb(this,a);}
-function gfb(){}
-_=gfb.prototype=new hdb();_.md=kfb;_.tN=Agc+'StatusChangePopup$5';_.tI=252;function rfb(){rfb=v3;gdb();}
-function qfb(c,b,a){rfb();ddb(c,'images/attention_needed.png',b);edb(c,'Detail:',sfb(c,a));return c;}
-function sfb(c,b){var a;a=eL(new dL());uO(a,'editable-Surface');jL(a,12);vL(a,b);a.xe('100%');return a;}
-function pfb(){}
-_=pfb.prototype=new Ecb();_.tN=Agc+'ValidationMessageWidget';_.tI=253;function Afb(){Afb=v3;eF();}
-function yfb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=qq(new kq(),'OK');}
-function zfb(b,c,d){var a;Afb();bF(b,true);yfb(b);lF(b,c,d);aB(b.c,b.a);aB(b.c,b.b);a=b;b.b.x(vfb(new ufb(),b,a));CH(b,b.c);uO(b,'rule-warning-Popup');return b;}
-function Bfb(a){bD(a.a,'');hF(a);}
-function Cfb(){Bfb(this);}
-function Dfb(a,c,d){Afb();var b;b=zfb(new tfb(),c,d);bD(b.a,a);oF(b);}
-function tfb(){}
-_=tfb.prototype=new FE();_.hc=Cfb;_.tN=Agc+'WarningPopup';_.tI=254;function vfb(b,a,c){b.a=c;return b;}
-function xfb(a){Bfb(this.a);}
-function ufb(){}
-_=ufb.prototype=new xU();_.wc=xfb;_.tN=Agc+'WarningPopup$1';_.tI=255;function igb(){igb=v3;zs();}
-function hgb(d,b,f){var a,c,e;igb();ws(d);Bs(d,b);e=qq(new kq(),'Yes');c=qq(new kq(),'No');e.x(agb(new Ffb(),d,f));c.x(egb(new dgb(),d));a=FA(new DA());aB(a,e);aB(a,c);Cs(d,a);return d;}
-function Efb(){}
-_=Efb.prototype=new us();_.tN=Agc+'YesNoDialog';_.tI=256;function agb(b,a,c){b.a=a;b.b=c;return b;}
-function cgb(a){this.b.nb();this.a.hc();}
-function Ffb(){}
-_=Ffb.prototype=new xU();_.wc=cgb;_.tN=Agc+'YesNoDialog$1';_.tI=257;function egb(b,a){b.a=a;return b;}
-function ggb(a){this.a.hc();}
-function dgb(){}
-_=dgb.prototype=new xU();_.wc=ggb;_.tN=Agc+'YesNoDialog$2';_.tI=258;function iyb(b,a,c){b.e=c;b.a=a;nyb(b,a.e,a.d.n);myb(b);return b;}
-function jyb(b,a){ycb(b.c,a);}
-function lyb(c,a,d){var b;b=zL(new kL());tL(b,a);vL(b,d);b.ue(false);return b;}
-function myb(a){Dv(a.b,eyb(new dyb(),a));}
-function nyb(d,f,c){var a,b,e;d.b=Cv(new xv());cw(d.b,w()+'asset');dw(d.b,'multipart/form-data');ew(d.b,'post');e=au(new Ft());du(e,'fileUploadElement');b=FA(new DA());aB(b,lyb(d,'attachmentUUID',f));d.d=pdb(new ndb(),'images/upload.gif','Upload');aB(b,e);aB(b,CC(new AC(),'upload:'));aB(b,d.d);CH(d.b,b);d.c=ucb(new rcb(),d.sb(),c);if(!d.a.c)vcb(d.c,'Upload new version:',d.b);a=qq(new kq(),'Download');a.x(Cxb(new Bxb(),d,f));vcb(d.c,'Download current version:',a);fC(d.d,ayb(new Fxb(),d));gs(d,d.c);d.c.xe('100%');uO(d,d.Ab());}
-function oyb(a){ieb('Uploading...');}
-function pyb(a){gw(a.b);}
-function Axb(){}
-_=Axb.prototype=new es();_.tN=Fgc+'AssetAttachmentFileWidget';_.tI=259;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function kgb(b,a,c){iyb(b,a,c);jyb(b,eA(new hx(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
-function mgb(){return 'images/decision_table.png';}
-function ngb(){return 'decision-Table-upload';}
-function jgb(){}
-_=jgb.prototype=new Axb();_.sb=mgb;_.Ab=ngb;_.tN=Bgc+'DecisionTableXLSWidget';_.tI=260;function pgb(){pgb=v3;xgb=C1(new a1());sgb=C1(new a1());rgb=C1(new a1());qgb=Bb('[Ljava.lang.String;',610,1,['not','exists','or']);{d2(xgb,'==','is equal to');d2(xgb,'!=','is not equal to');d2(xgb,'<','is less than');d2(xgb,'<=','less than or equal to');d2(xgb,'>','greater than');d2(xgb,'>=','greater than or equal to');d2(xgb,'|| ==','or equal to');d2(xgb,'|| !=','or not equal to');d2(xgb,'&& !=','and not equal to');d2(xgb,'&& >','and greater than');d2(xgb,'&& <','and less than');d2(xgb,'|| >','or greater than');d2(xgb,'|| <','or less than');d2(xgb,'&& <','and less than');d2(xgb,'|| >=','or greater than (or equal to)');d2(xgb,'|| <=','or less than (or equal to)');d2(xgb,'&& >=','and greater than (or equal to)');d2(xgb,'&& <=','or less than (or equal to)');d2(xgb,'&& contains','and contains');d2(xgb,'|| contains','or contains');d2(xgb,'&& matches','and matches');d2(xgb,'|| matches','or mat!
 ches');d2(xgb,'|| excludes','or excludes');d2(xgb,'&& excludes','and excludes');d2(xgb,'soundslike','sounds like');d2(sgb,'not','There is no');d2(sgb,'exists','There exists');d2(sgb,'or','Any of');d2(rgb,'assert','Insert');d2(rgb,'assertLogical','Logically insert');d2(rgb,'retract','Retract');d2(rgb,'set','Set');d2(rgb,'modify','Modify');}}
-function tgb(a){pgb();return wgb(a,rgb);}
-function ugb(a){pgb();return wgb(a,sgb);}
-function vgb(a){pgb();return wgb(a,xgb);}
-function wgb(a,b){pgb();if(F1(b,a)){return bc(c2(b,a),1);}else{return a;}}
-var qgb,rgb,sgb,xgb;function Bgb(){Bgb=v3;phb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=']);rhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);nhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);lhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);qhb=Bb('[Ljava.lang.String;',610,1,['==','!=']);ohb=Bb('[Ljava.lang.String;',610,1,['==','!=','<','>','<=','>=']);shb=Bb('[Ljava.lang.String;',610,1,['==','!=','matches','soundslike']);mhb=Bb('[Ljava.lang.String;',610,1,['contains','excludes','==','!=']);}
-function zgb(a){a.h=C1(new a1());a.c=C1(new a1());a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[616],[14],[0],null);a.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[616],[14],[0],null);}
-function Agb(a){Bgb();zgb(a);return a;}
-function Cgb(c,a,b){var d;d=bc(c.f.ec(a+'.'+b),1);if(d===null){return phb;}else if(qV(d,'String')){return rhb;}else if(qV(d,'Comparable')||qV(d,'Numeric')){return nhb;}else if(qV(d,'Collection')){return lhb;}else{return phb;}}
-function Egb(i,g,d){var a,b,c,e,f,h,j;c=fhb(i);j=bc(c2(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(cc(a,32)){h=bc(a,32);if(qV(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return bc(i.c.ec(f),63);}}}}return bc(i.c.ec(g.c+'.'+d),63);}
-function Dgb(f,g,a,c){var b,d,e,h,i;b=fhb(f);h=bc(c2(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(qV(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return bc(f.c.ec(e),63);}}}return bc(f.c.ec(g+'.'+c),63);}
-function ahb(b,a){return bc(b.g.ec(a),63);}
-function Fgb(a,c){var b;b=bc(a.h.ec(c),1);return bc(a.g.ec(b),63);}
-function bhb(c,a,b){return bc(c.f.ec(a+'.'+b),1);}
-function chb(a){return ghb(a,a.h.nc());}
-function dhb(c,a,b){var d;d=bc(c.f.ec(a+'.'+b),1);if(d===null){return qhb;}else if(qV(d,'String')){return shb;}else if(qV(d,'Comparable')||qV(d,'Numeric')){return ohb;}else if(qV(d,'Collection')){return mhb;}else{return qhb;}}
-function ehb(a,b){return a.h.cb(b);}
-function fhb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=C1(new a1());e=g.c.nc();for(b=tX(e);AX(b);){d=bc(BX(b),1);if(rV(d,91)!=(-1)){c=rV(d,91);a=AV(d,0,c);f=AV(d,c+1,rV(d,93));h=AV(f,0,rV(f,61));d2(g.d,a,h);}}}return g.d;}
-function ghb(e,d){var a,b,c;a=Ab('[Ljava.lang.String;',[610],[1],[d.b.a.c],null);b=0;for(c=tX(d);AX(c);){a[b]=bc(BX(c),1);b++;}return a;}
-function ygb(){}
-_=ygb.prototype=new xU();_.tN=Cgc+'SuggestionCompletionEngine';_.tI=261;_.d=null;_.e=null;_.f=null;_.g=null;var lhb,mhb,nhb,ohb,phb,qhb,rhb,shb;function jhb(b,a){a.a=bc(b.Ad(),72);a.b=bc(b.Ad(),72);a.c=bc(b.Ad(),57);a.e=bc(b.Ad(),63);a.f=bc(b.Ad(),57);a.g=bc(b.Ad(),57);a.h=bc(b.Ad(),57);}
-function khb(b,a){b.bf(a.a);b.bf(a.b);b.bf(a.c);b.bf(a.e);b.bf(a.f);b.bf(a.g);b.bf(a.h);}
-function uhb(a){a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[620],[18],[0],null);}
-function vhb(a){uhb(a);return a;}
-function whb(c,d){var a,b;if(c.b===null){c.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[620],[18],[1],null);c.b[0]=d;}else{b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[620],[18],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
-function yhb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[620],[18],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
-function thb(){}
-_=thb.prototype=new xU();_.tN=Dgc+'ActionFieldList';_.tI=262;function Bhb(b,a){a.b=bc(b.Ad(),73);}
-function Chb(b,a){b.bf(a.b);}
-function Ehb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Dhb(){}
-_=Dhb.prototype=new xU();_.tN=Dgc+'ActionFieldValue';_.tI=263;_.a=null;_.b=null;_.c=null;function cib(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
-function dib(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
-function gib(a,b){vhb(a);a.a=b;return a;}
-function fib(a){vhb(a);return a;}
-function eib(){}
-_=eib.prototype=new thb();_.tN=Dgc+'ActionInsertFact';_.tI=264;_.a=null;function kib(b,a){a.a=b.Bd();Bhb(b,a);}
-function lib(b,a){b.cf(a.a);Chb(b,a);}
-function oib(b,a){gib(b,a);return b;}
-function nib(a){fib(a);return a;}
-function mib(){}
-_=mib.prototype=new eib();_.tN=Dgc+'ActionInsertLogicalFact';_.tI=265;function sib(b,a){kib(b,a);}
-function tib(b,a){lib(b,a);}
-function vib(a,b){a.a=b;return a;}
-function uib(){}
-_=uib.prototype=new xU();_.tN=Dgc+'ActionRetractFact';_.tI=266;_.a=null;function zib(b,a){a.a=b.Bd();}
-function Aib(b,a){b.cf(a.a);}
-function Dib(a,b){vhb(a);a.a=b;return a;}
-function Cib(a){vhb(a);return a;}
-function Bib(){}
-_=Bib.prototype=new thb();_.tN=Dgc+'ActionSetField';_.tI=267;_.a=null;function bjb(b,a){a.a=b.Bd();Bhb(b,a);}
-function cjb(b,a){b.cf(a.a);Chb(b,a);}
-function fjb(b,a){Dib(b,a);return b;}
-function ejb(a){Cib(a);return a;}
-function djb(){}
-_=djb.prototype=new Bib();_.tN=Dgc+'ActionUpdateField';_.tI=268;function jjb(b,a){bjb(b,a);}
-function kjb(b,a){cjb(b,a);}
-function mjb(a,b){a.b=b;return a;}
-function njb(e,d){var a,b,c;if(e.a===null){e.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[618],[16],[0],null);}b=e.a;c=Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[618],[16],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
-function ljb(){}
-_=ljb.prototype=new xU();_.tN=Dgc+'CompositeFactPattern';_.tI=269;_.a=null;_.b=null;function rjb(b,a){a.a=bc(b.Ad(),74);a.b=b.Bd();}
-function sjb(b,a){b.bf(a.a);b.cf(a.b);}
-function ujb(d,a){var b,c;if(d.b===null){d.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[17],[1],null);Cb(d.b,0,a);}else{c=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[17],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Cb(c,b,d.b[b]);}Cb(c,d.b.a,a);d.b=c;}}
-function wjb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[17],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Cb(d,c,e.b[a]);c++;}}e.b=d;}
-function tjb(){}
-_=tjb.prototype=new xU();_.tN=Dgc+'CompositeFieldConstraint';_.tI=270;_.a=null;_.b=null;function zjb(b,a){a.a=b.Bd();a.b=bc(b.Ad(),75);}
-function Ajb(b,a){b.cf(a.a);b.bf(a.b);}
-function ykb(){}
-_=ykb.prototype=new xU();_.tN=Dgc+'ISingleFieldConstraint';_.tI=271;_.e=0;_.f=null;function Bjb(){}
-_=Bjb.prototype=new ykb();_.tN=Dgc+'ConnectiveConstraint';_.tI=272;_.a=null;function Fjb(b,a){a.a=b.Bd();Ckb(b,a);}
-function akb(b,a){b.cf(a.a);Dkb(b,a);}
-function dkb(b){var a;a=new bkb();a.a=b.a;return a;}
-function ekb(e){var a,b,c,d;b=BV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=ac(a);}}return d;}
-function jkb(){return ekb(this);}
-function bkb(){}
-_=bkb.prototype=new xU();_.tS=jkb;_.tN=Dgc+'DSLSentence';_.tI=273;_.a=null;function hkb(b,a){a.a=b.Bd();}
-function ikb(b,a){b.cf(a.a);}
-function lkb(b,a){b.c=a;return b;}
-function mkb(b,a){if(b.b===null)b.b=new tjb();ujb(b.b,a);}
-function okb(a){if(a.b===null){return Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[17],[0],null);}else{return a.b.b;}}
-function pkb(a){if(a.a!==null&& !qV('',a.a)){return true;}else{return false;}}
-function qkb(b,a){wjb(b.b,a);}
-function kkb(){}
-_=kkb.prototype=new xU();_.tN=Dgc+'FactPattern';_.tI=274;_.a=null;_.b=null;_.c=null;function tkb(b,a){a.a=b.Bd();a.b=bc(b.Ad(),31);a.c=b.Bd();}
-function ukb(b,a){b.cf(a.a);b.bf(a.b);b.cf(a.c);}
-function Ckb(b,a){a.e=b.yd();a.f=b.Bd();}
-function Dkb(b,a){b.Fe(a.e);b.cf(a.f);}
-function alb(b,a,c){b.a=a;b.b=c;return b;}
-function glb(){var a;a=cV(new bV());eV(a,this.a);if(qV('no-loop',this.a)){eV(a,' ');eV(a,this.b===null?'true':this.b);}else if(qV('salience',this.a)){eV(a,' ');eV(a,this.b);}else if(this.b!==null){eV(a,' "');eV(a,this.b);eV(a,'"');}return iV(a);}
-function Fkb(){}
-_=Fkb.prototype=new xU();_.tS=glb;_.tN=Dgc+'RuleAttribute';_.tI=275;_.a=null;_.b=null;function elb(b,a){a.a=b.Bd();a.b=b.Bd();}
-function flb(b,a){b.cf(a.a);b.cf(a.b);}
-function ilb(a){a.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[624],[21],[0],null);a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[625],[22],[0],null);a.e=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[626],[23],[0],null);}
-function jlb(a){ilb(a);return a;}
-function klb(e,a){var b,c,d;c=e.a;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[624],[21],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function llb(e,d){var a,b,c;if(e.b===null){e.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[625],[22],[0],null);}b=e.b;c=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[625],[22],[b.a+1],null);for(a=0;a<b.a;a++){Cb(c,a,b[a]);}Cb(c,b.a,d);e.b=c;}
-function mlb(e,a){var b,c,d;if(e.e===null){e.e=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[626],[23],[0],null);}c=e.e;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[626],[23],[c.a+1],null);for(b=0;b<c.a;b++){Cb(d,b,c[b]);}Cb(d,c.a,a);e.e=d;}
-function olb(h){var a,b,c,d,e,f,g;g=FY(new DY());for(d=0;d<h.b.a;d++){f=h.b[d];if(cc(f,16)){b=bc(f,16);if(pkb(b)){bZ(g,b.a);}for(e=0;e<okb(b).a;e++){c=okb(b)[e];if(cc(c,32)){a=bc(c,32);if(Flb(a)){bZ(g,a.b);}}}}}return g;}
-function plb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(cc(c.b[a],16)){b=bc(c.b[a],16);if(b.a!==null&&qV(d,b.a)){return b;}}}return null;}
-function qlb(d){var a,b,c;if(d.b===null){return null;}b=FY(new DY());for(a=0;a<d.b.a;a++){if(cc(d.b[a],16)){c=bc(d.b[a],16);if(c.a!==null){bZ(b,c.a);}}}return b;}
-function rlb(k,b){var a,c,d,e,f,g,h,i,j;j=FY(new DY());for(f=0;f<k.b.a;f++){i=k.b[f];if(cc(i,16)){d=bc(i,16);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(cc(e,32)){a=bc(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Flb(a)){bZ(j,a.b);}}}}if(pkb(d)){bZ(j,d.a);}}else{if(pkb(d)){bZ(j,d.a);}}}}return j;}
-function slb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(cc(e.e[b],28)){d=bc(e.e[b],28);if(qV(d.a,a)){return true;}}else if(cc(e.e[b],27)){c=bc(e.e[b],27);if(qV(c.a,a)){return true;}}}return false;}
-function tlb(b,a){return fZ(olb(b),a);}
-function ulb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[624],[21],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function vlb(f,b){var a,c,d,e;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[625],[22],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Cb(d,c,f.b[a]);c++;}else{if(cc(f.b[a],16)){e=bc(f.b[a],16);if(e.a!==null&&slb(f,e.a)){return false;}}}}f.b=d;return true;}
-function wlb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[626],[23],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Cb(d,c,e.e[a]);c++;}}e.e=d;}
-function hlb(){}
-_=hlb.prototype=new xU();_.tN=Dgc+'RuleModel';_.tI=276;_.c='1.0';_.d=null;function zlb(b,a){a.a=bc(b.Ad(),76);a.b=bc(b.Ad(),77);a.c=b.Bd();a.d=b.Bd();a.e=bc(b.Ad(),78);}
-function Alb(b,a){b.bf(a.a);b.bf(a.b);b.cf(a.c);b.cf(a.d);b.bf(a.e);}
-function Clb(b,a){b.c=a;return b;}
-function Dlb(c){var a,b;if(c.a===null){c.a=Bb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',617,15,[new Bjb()]);}else{b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[617],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new Bjb();c.a=b;}}
-function Flb(a){if(a.b!==null&& !qV('',a.b)){return true;}else{return false;}}
-function Blb(){}
-_=Blb.prototype=new ykb();_.tN=Dgc+'SingleFieldConstraint';_.tI=277;_.a=null;_.b=null;_.c=null;_.d=null;function cmb(b,a){a.a=bc(b.Ad(),79);a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();Ckb(b,a);}
-function dmb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);Dkb(b,a);}
-function Dmb(d,b,c,a){d.e=c;d.a=a;d.d=kbb(new ibb());d.f=b;d.b=c.a;d.c=ahb(d.a,c.a);uO(d.d,'model-builderInner-Background');Fmb(d);gs(d,d.d);return d;}
-function Fmb(e){var a,b,c,d,f;bz(e.d);nbb(e.d,0,0,bnb(e));c=kbb(new ibb());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];nbb(c,a,0,anb(e,f));nbb(c,a,1,dnb(e,f));b=a;d=odb(new ndb(),'images/delete_item_small.gif');fC(d,gmb(new fmb(),e,b));nbb(c,a,2,d);}nbb(e.d,0,1,c);}
-function anb(a,b){return CC(new AC(),b.a);}
-function bnb(d){var a,b,c;c=FA(new DA());b=odb(new ndb(),'images/add_field_to_fact.gif');b.pe('Add another field to this so you can set its value.');fC(b,wmb(new vmb(),d));a='assert';if(cc(d.e,26)){a='assertLogical';}aB(c,zdb(new ydb(),tgb(a)+' '+d.e.a,'modeller-action-Label'));aB(c,b);return c;}
-function cnb(d,e){var a,b,c;c=ddb(new Ecb(),'images/newex_wiz.gif','Add a field');uO(c,'ks-popups-Popup');a=mD(new eD());pD(a,'...');for(b=0;b<d.c.a;b++){pD(a,d.c[b]);}BD(a,0);edb(c,'Add field',a);oD(a,Amb(new zmb(),d,a,c));lF(c,lO(e),mO(e));oF(c);}
-function dnb(c,d){var a,b;b=Dgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return xqb(d.c,omb(new nmb(),c,d),b);}else{a=zL(new kL());vL(a,d.c);nL(a,smb(new rmb(),c,d,a));if(qV(d.b,'Numeric')){oL(a,rob(a));}return a;}}
-function emb(){}
-_=emb.prototype=new bbb();_.tN=Egc+'ActionInsertFactWidget';_.tI=278;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function gmb(b,a,c){b.a=a;b.b=c;return b;}
-function imb(b){var a;a=hgb(new Efb(),'Remove this item?',kmb(new jmb(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
-function fmb(){}
-_=fmb.prototype=new xU();_.wc=imb;_.tN=Egc+'ActionInsertFactWidget$1';_.tI=279;function kmb(b,a,c){b.a=a;b.b=c;return b;}
-function mmb(){yhb(this.a.a.e,this.b);rxb(this.a.a.f);}
-function jmb(){}
-_=jmb.prototype=new xU();_.nb=mmb;_.tN=Egc+'ActionInsertFactWidget$2';_.tI=280;function omb(b,a,c){b.a=c;return b;}
-function qmb(a){this.a.c=a;}
-function nmb(){}
-_=nmb.prototype=new xU();_.Ce=qmb;_.tN=Egc+'ActionInsertFactWidget$3';_.tI=281;function smb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function umb(a){this.c.c=rL(this.b);rxb(this.a.f);}
-function rmb(){}
-_=rmb.prototype=new xU();_.vc=umb;_.tN=Egc+'ActionInsertFactWidget$4';_.tI=282;function wmb(b,a){b.a=a;return b;}
-function ymb(a){cnb(this.a,a);}
-function vmb(){}
-_=vmb.prototype=new xU();_.wc=ymb;_.tN=Egc+'ActionInsertFactWidget$5';_.tI=283;function Amb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Cmb(c){var a,b;a=vD(this.b,wD(this.b));b=bhb(this.a.a,this.a.e.a,a);whb(this.a.e,Ehb(new Dhb(),a,'',b));rxb(this.a.f);this.c.hc();}
-function zmb(){}
-_=zmb.prototype=new xU();_.vc=Cmb;_.tN=Egc+'ActionInsertFactWidget$6';_.tI=284;function fnb(c,a,b){c.a=lu(new fu());uO(c.a,'model-builderInner-Background');c.a.ve(0,0,zdb(new ydb(),tgb('retract'),'modeller-action-Label'));c.a.ve(0,1,zdb(new ydb(),'['+b.a+']','modeller-action-Label'));gs(c,c.a);return c;}
-function enb(){}
-_=enb.prototype=new es();_.tN=Egc+'ActionRetractFactWidget';_.tI=285;_.a=null;function kob(e,b,d,a){var c;e.d=d;e.a=a;e.c=kbb(new ibb());e.e=b;uO(e.c,'model-builderInner-Background');if(ehb(e.a,d.a)){e.b=Fgb(e.a,d.a);e.f=bc(e.a.h.ec(d.a),1);}else{c=plb(b.c,d.a);e.b=ahb(e.a,c.c);e.f=c.c;}mob(e);gs(e,e.c);return e;}
-function mob(e){var a,b,c,d,f;bz(e.c);nbb(e.c,0,0,oob(e));c=kbb(new ibb());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];nbb(c,a,0,nob(e,f));nbb(c,a,1,qob(e,f));b=a;d=odb(new ndb(),'images/delete_item_small.gif');fC(d,jnb(new inb(),e,b));nbb(c,a,2,d);}nbb(e.c,0,1,c);}
-function nob(a,b){return CC(new AC(),b.a);}
-function oob(d){var a,b,c;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe('Add another field to this so you can set its value.');fC(a,rnb(new qnb(),d));c='set';if(cc(d.d,29)){c='modify';}aB(b,zdb(new ydb(),tgb(c)+' ['+d.d.a+']','modeller-action-Label'));aB(b,a);return b;}
-function pob(d,e){var a,b,c;c=ddb(new Ecb(),'images/newex_wiz.gif','Add a field');uO(c,'ks-popups-Popup');a=mD(new eD());pD(a,'...');for(b=0;b<d.b.a;b++){pD(a,d.b[b]);}BD(a,0);edb(c,'Add field',a);oD(a,vnb(new unb(),d,a,c));lF(c,lO(e),mO(e));oF(c);}
-function qob(d,f){var a,b,c,e;e='';if(ehb(d.a,d.d.a)){e=bc(d.a.h.ec(d.d.a),1);}else{e=plb(d.e.c,d.d.a).c;}b=Dgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return xqb(f.c,znb(new ynb(),d,f),b);}else{c=AH(new sH());a=zL(new kL());vL(a,f.c);if(uV(f.c)!=0){BL(a,uV(f.c));}if(qV(f.b,'Numeric')){oL(a,rob(a));}nL(a,Dnb(new Cnb(),d,f,a));oL(a,mcb(new lcb(),bob(new aob(),d,a)));CH(c,a);return c;}}
-function rob(a){return fob(new eob(),a);}
-function sob(){return mbb(this.c);}
-function hnb(){}
-_=hnb.prototype=new bbb();_.lc=sob;_.tN=Egc+'ActionSetFieldWidget';_.tI=286;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function jnb(b,a,c){b.a=a;b.b=c;return b;}
-function lnb(b){var a;a=hgb(new Efb(),'Remove this item?',nnb(new mnb(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
-function inb(){}
-_=inb.prototype=new xU();_.wc=lnb;_.tN=Egc+'ActionSetFieldWidget$1';_.tI=287;function nnb(b,a,c){b.a=a;b.b=c;return b;}
-function pnb(){yhb(this.a.a.d,this.b);rxb(this.a.a.e);}
-function mnb(){}
-_=mnb.prototype=new xU();_.nb=pnb;_.tN=Egc+'ActionSetFieldWidget$2';_.tI=288;function rnb(b,a){b.a=a;return b;}
-function tnb(a){pob(this.a,a);}
-function qnb(){}
-_=qnb.prototype=new xU();_.wc=tnb;_.tN=Egc+'ActionSetFieldWidget$3';_.tI=289;function vnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function xnb(c){var a,b;a=vD(this.b,wD(this.b));b=bhb(this.a.a,this.a.f,a);whb(this.a.d,Ehb(new Dhb(),a,'',b));rxb(this.a.e);this.c.hc();}
-function unb(){}
-_=unb.prototype=new xU();_.vc=xnb;_.tN=Egc+'ActionSetFieldWidget$4';_.tI=290;function znb(b,a,c){b.a=c;return b;}
-function Bnb(a){this.a.c=a;}
-function ynb(){}
-_=ynb.prototype=new xU();_.Ce=Bnb;_.tN=Egc+'ActionSetFieldWidget$5';_.tI=291;function Dnb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Fnb(a){this.b.c=rL(this.a);}
-function Cnb(){}
-_=Cnb.prototype=new xU();_.vc=Fnb;_.tN=Egc+'ActionSetFieldWidget$6';_.tI=292;function bob(b,a,c){b.a=c;return b;}
-function dob(){BL(this.a,uV(rL(this.a)));}
-function aob(){}
-_=aob.prototype=new xU();_.nb=dob;_.tN=Egc+'ActionSetFieldWidget$7';_.tI=293;function fob(a,b){a.a=b;return a;}
-function hob(a,b,c){}
-function iob(c,a,b){if(hT(a)&&a!=61&& !yV(rL(this.a),'=')){pL(bc(c,80));}}
-function job(a,b,c){}
-function eob(){}
-_=eob.prototype=new xU();_.Fc=hob;_.ad=iob;_.bd=job;_.tN=Egc+'ActionSetFieldWidget$8';_.tI=294;function Cob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=kbb(new ibb());uO(d.b,'model-builderInner-Background');Eob(d);gs(d,d.b);return d;}
-function Eob(c){var a,b,d;nbb(c.b,0,0,Fob(c));if(c.d.a!==null){d=wbb(new vbb());a=c.d.a;for(b=0;b<a.a;b++){iP(d,ptb(new nrb(),c.c,a[b],c.a,false));}nbb(c.b,0,1,d);}}
-function Fob(c){var a,b;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");fC(a,vob(new uob(),c));aB(b,CC(new AC(),ugb(c.d.b)));aB(b,a);uO(b,'modeller-composite-Label');return b;}
-function apb(e,f){var a,b,c,d;a=mD(new eD());b=e.a.e;pD(a,'Choose...');for(c=0;c<b.a;c++){pD(a,b[c]);}BD(a,0);d=ddb(new Ecb(),'images/new_fact.gif','New fact pattern...');edb(d,'choose fact type',a);oD(a,zob(new yob(),e,a,d));uO(d,'ks-popups-Popup');lF(d,lO(f)-400,mO(f));oF(d);}
-function bpb(){return mbb(this.b);}
-function tob(){}
-_=tob.prototype=new bbb();_.lc=bpb;_.tN=Egc+'CompositeFactPatternWidget';_.tI=295;_.a=null;_.b=null;_.c=null;_.d=null;function vob(b,a){b.a=a;return b;}
-function xob(a){apb(this.a,a);}
-function uob(){}
-_=uob.prototype=new xU();_.wc=xob;_.tN=Egc+'CompositeFactPatternWidget$1';_.tI=296;function zob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Bob(a){njb(this.a.d,lkb(new kkb(),vD(this.b,wD(this.b))));rxb(this.a.c);this.c.hc();}
-function yob(){}
-_=yob.prototype=new xU();_.vc=Bob;_.tN=Egc+'CompositeFactPatternWidget$2';_.tI=297;function nqb(f,d,b,a,c,g){var e;f.a=a;if(qV(g,'Numeric')){f.d=true;}else{f.d=false;}if(qV(g,'Boolean')){f.b=Bb('[Ljava.lang.String;',610,1,['true','false']);}f.c=c.c;e=c.a;f.b=Egb(e,d,b);f.e=AH(new sH());sqb(f);gs(f,f.e);return f;}
-function oqb(c,b){var a;a=zL(new kL());uO(a,'constraint-value-Editor');if(b.f===null){vL(a,'');}else{vL(a,b.f);}if(b.f===null||uV(b.f)<5){BL(a,3);}else{BL(a,uV(b.f)-1);}nL(a,Dpb(new Cpb(),c,b,a));oL(a,mcb(new lcb(),bqb(new aqb(),c,a)));return a;}
-function qqb(b,a){sqb(b);a.hc();}
-function rqb(b){var a;if(b.b!==null){return xqb(b.a.f,qpb(new ppb(),b),b.b);}else{a=oqb(b,b.a);if(b.d){oL(a,new tpb());}a.pe('This is a literal value. What is shown is what the field is checked against.');return a;}}
-function sqb(b){var a;b.e.F();if(b.a.e==0){a=eC(new oB(),'images/edit.gif');fC(a,ipb(new dpb(),b));CH(b.e,a);}else{switch(b.a.e){case 1:CH(b.e,rqb(b));break;case 3:CH(b.e,tqb(b));break;case 2:CH(b.e,vqb(b));break;default:break;}}}
-function tqb(e){var a,b,c,d;a=oqb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=eC(new oB(),'images/function_assets.gif');c.pe(d);a.pe(d);b=wqb(e,c,a);return b;}
-function uqb(e,g,a){var b,c,d,f;b=ddb(new Ecb(),'images/newex_wiz.gif','Field value');d=qq(new kq(),'Literal value');d.x(fqb(new eqb(),e,a,b));edb(b,'Literal value:',wqb(e,d,wdb(new rdb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));fdb(b,eA(new hx(),'<hr/>'));fdb(b,zdb(new ydb(),'Advanced options','weak-Text'));if(rlb(e.c,e.a).b>0){f=qq(new kq(),'Bound variable');f.x(jqb(new iqb(),e,a,b));edb(b,'A variable:',wqb(e,f,wdb(new rdb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=qq(new kq(),'New formula');c.x(fpb(new epb(),e,a,b));edb(b,'A formula:',wqb(e,c,wdb(new rdb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));lF(b,lO(g),mO(g));oF(b);}
-function vqb(c){var a,b,d,e;e=rlb(c.c,c.a);a=mD(new eD());if(c.a.f===null){pD(a,'Choose ...');}for(b=0;b<e.b;b++){d=bc(gZ(e,b),1);pD(a,d);if(c.a.f!==null&&qV(c.a.f,d)){BD(a,b);}}oD(a,mpb(new lpb(),c,a));return a;}
-function wqb(d,a,c){var b;b=FA(new DA());aB(b,a);aB(b,c);b.xe('100%');return b;}
-function xqb(b,k,d){var a,c,e,f,g,h,i,j;a=mD(new eD());if(b===null||qV('',b)){pD(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(rV(i,61)>0){h=zqb(i);f=h[0];c=h[1];j=f;qD(a,c,f);}else{qD(a,i,i);j=i;}if(b!==null&&qV(b,j)){BD(a,e);g=true;}}if(b!==null&& !g){qD(a,b,b);BD(a,d.a);}oD(a,zpb(new ypb(),k,a));return a;}
-function yqb(){return this.j;}
-function zqb(c){var a,b;b=Ab('[Ljava.lang.String;',[610],[1],[2],null);a=rV(c,61);b[0]=AV(c,0,a);b[1]=AV(c,a+1,uV(c));return b;}
-function cpb(){}
-_=cpb.prototype=new bbb();_.lc=yqb;_.tN=Egc+'ConstraintValueEditor';_.tI=298;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function ipb(b,a){b.a=a;return b;}
-function kpb(a){uqb(this.a,a,this.a.a);}
-function dpb(){}
-_=dpb.prototype=new xU();_.wc=kpb;_.tN=Egc+'ConstraintValueEditor$1';_.tI=299;function fpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function hpb(a){this.b.e=3;qqb(this.a,this.c);}
-function epb(){}
-_=epb.prototype=new xU();_.wc=hpb;_.tN=Egc+'ConstraintValueEditor$10';_.tI=300;function mpb(b,a,c){b.a=a;b.b=c;return b;}
-function opb(a){this.a.a.f=vD(this.b,wD(this.b));}
-function lpb(){}
-_=lpb.prototype=new xU();_.vc=opb;_.tN=Egc+'ConstraintValueEditor$2';_.tI=301;function qpb(b,a){b.a=a;return b;}
-function spb(a){this.a.a.f=a;}
-function ppb(){}
-_=ppb.prototype=new xU();_.Ce=spb;_.tN=Egc+'ConstraintValueEditor$3';_.tI=302;function vpb(a,b,c){}
-function wpb(c,a,b){if(hT(a)){pL(bc(c,80));}}
-function xpb(a,b,c){}
-function tpb(){}
-_=tpb.prototype=new xU();_.Fc=vpb;_.ad=wpb;_.bd=xpb;_.tN=Egc+'ConstraintValueEditor$4';_.tI=303;function zpb(a,c,b){a.b=c;a.a=b;return a;}
-function Bpb(a){this.b.Ce(xD(this.a,wD(this.a)));}
-function ypb(){}
-_=ypb.prototype=new xU();_.vc=Bpb;_.tN=Egc+'ConstraintValueEditor$5';_.tI=304;function Dpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Fpb(a){this.c.f=rL(this.b);dbb(this.a);}
-function Cpb(){}
-_=Cpb.prototype=new xU();_.vc=Fpb;_.tN=Egc+'ConstraintValueEditor$6';_.tI=305;function bqb(b,a,c){b.a=c;return b;}
-function dqb(){BL(this.a,uV(rL(this.a)));}
-function aqb(){}
-_=aqb.prototype=new xU();_.nb=dqb;_.tN=Egc+'ConstraintValueEditor$7';_.tI=306;function fqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function hqb(a){this.b.e=1;qqb(this.a,this.c);}
-function eqb(){}
-_=eqb.prototype=new xU();_.wc=hqb;_.tN=Egc+'ConstraintValueEditor$8';_.tI=307;function jqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function lqb(a){this.b.e=2;qqb(this.a,this.c);}
-function iqb(){}
-_=iqb.prototype=new xU();_.wc=lqb;_.tN=Egc+'ConstraintValueEditor$9';_.tI=308;function grb(b,a){b.a=rbb(new qbb());b.c=FY(new DY());b.b=a;jrb(b);return b;}
-function hrb(b,a){aB(b.a,a);bZ(b.c,a);}
-function jrb(a){krb(a,a.b.a);gs(a,a.a);}
-function krb(g,e){var a,b,c,d,f;b=BV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=brb(new Fqb(),g);hrb(g,c);}else if(a==125){frb(c,uV(drb(c))+1);c=null;}else{if(c===null&&d===null){d=BC(new AC());hrb(g,d);}if(d!==null){bD(d,aD(d)+ac(a));}else if(c!==null){erb(c,drb(c)+ac(a));}}}}
-function lrb(c){var a,b,d;b='';for(a=c.c.mc();a.gc();){d=bc(a.pc(),20);if(cc(d,81)){b=b+aD(bc(d,81));}else if(cc(d,82)){b=b+' {'+drb(bc(d,82))+'} ';}}c.b.a=DV(b);}
-function mrb(){return tbb(this.a);}
-function Aqb(){}
-_=Aqb.prototype=new bbb();_.lc=mrb;_.tN=Egc+'DSLSentenceWidget';_.tI=309;_.a=null;_.b=null;_.c=null;function Cqb(b,a){b.a=a;return b;}
-function Eqb(a){lrb(this.a.c);dbb(this.a);}
-function Bqb(){}
-_=Bqb.prototype=new xU();_.vc=Eqb;_.tN=Egc+'DSLSentenceWidget$1';_.tI=310;function arb(a){a.b=FA(new DA());}
-function brb(b,a){b.c=a;arb(b);b.a=zL(new kL());aB(b.b,eA(new hx(),'&nbsp;'));aB(b.b,b.a);aB(b.b,eA(new hx(),'&nbsp;'));nL(b.a,Cqb(new Bqb(),b));gs(b,b.b);return b;}
-function drb(a){return rL(a.a);}
-function erb(b,a){vL(b.a,a);}
-function frb(b,a){BL(b.a,a);}
-function Fqb(){}
-_=Fqb.prototype=new bbb();_.tN=Egc+'DSLSentenceWidget$FieldEditor';_.tI=311;_.a=null;function otb(a){a.c=kbb(new ibb());}
-function ptb(k,h,i,c,a){var b,d,e,f,g,j;otb(k);k.e=bc(i,16);k.b=c;k.d=h;k.a=a;nbb(k.c,0,0,xtb(k));f=ou(k.c);Bx(f,0,0,(oA(),pA),(xA(),zA));Ex(f,0,0,'modeller-fact-TypeHeader');g=kbb(new ibb());nbb(k.c,1,0,g);for(j=0;j<okb(k.e).a;j++){d=okb(k.e)[j];e=j;Atb(k,g,j,d,true);b=odb(new ndb(),'images/delete_item_small.gif');b.pe('Remove this whole restriction');fC(b,lsb(new orb(),k,e));nbb(g,j,5,b);}if(k.a)uO(k.c,'modeller-fact-pattern-Widget');gs(k,k.c);return k;}
-function rtb(j,b){var a,c,d,e,f,g,h,i;f=FA(new DA());d=null;e=odb(new ndb(),'images/add_field_to_fact.gif');e.pe('Add a field to this nested constraint.');fC(e,psb(new osb(),j,b));if(qV(b.a,'&&')){d='All of:';}else{d='Any of:';}aB(f,e);aB(f,eA(new hx(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=kbb(new ibb());uO(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){Atb(j,h,g,i[g],false);c=g;a=odb(new ndb(),'images/delete_item_small.gif');a.pe('Remove this (nested) restriction');fC(a,tsb(new ssb(),j,b,c));nbb(h,g,5,a);}}aB(f,h);return f;}
-function stb(g,b,c){var a,d,e,f;f=Cgb(g.b,g.e.c,c);a=mD(new eD());pD(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];qD(a,vgb(e),e);if(qV(e,b.a)){BD(a,d+1);}}oD(a,Crb(new Brb(),g,b,a));return a;}
-function ttb(d,a,b,c){var e;e=bhb(d.d.a,b,c);return nqb(new cpb(),d.e,c,a,d.d,e);}
-function utb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=rbb(new qbb());for(e=0;e<a.a.a;e++){b=a.a[e];aB(d,stb(f,b,a.c));aB(d,ttb(f,b,c,a.c));}return d;}else{return null;}}
-function vtb(c,b){var a,d,e;if(c.a&& !slb(c.d.c,c.e.a)){d=FA(new DA());e=zL(new kL());if(c.e.a===null){vL(e,'');}else{vL(e,c.e.a);}BL(e,3);aB(d,e);a=qq(new kq(),'Set');a.x(yrb(new xrb(),c,e,b));aB(d,a);edb(b,'Variable name',d);}}
-function wtb(e,c,d){var a,b;a=FA(new DA());uO(a,'modeller-field-Label');if(!Flb(c)){if(e.a&&d){b=pdb(new ndb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');fC(b,esb(new dsb(),e,c));aB(a,b);}}else{aB(a,CC(new AC(),'['+c.b+']'));}aB(a,CC(new AC(),c.c));return a;}
-function xtb(c){var a,b;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe('Add a field to this condition, or bind a varible to this fact.');fC(a,Fsb(new Esb(),c));if(c.e.a!==null){aB(b,CC(new AC(),'['+c.e.a+'] '+c.e.c));}else{aB(b,CC(new AC(),c.e.c));}aB(b,a);return b;}
-function ytb(f,b){var a,c,d,e;e=dhb(f.b,f.e.c,b.c);a=mD(new eD());pD(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];qD(a,vgb(d),d);if(qV(d,b.d)){BD(a,c+1);}}oD(a,asb(new Frb(),f,b,a));return a;}
-function ztb(e,b){var a,c,d;d=FA(new DA());d.xe('100%');c=eC(new oB(),'images/function_assets.gif');c.pe('This is a formula expression that is evaluated to be true or false.');aB(d,c);if(b.f===null){b.f='';}a=zL(new kL());vL(a,b.f);nL(a,Bsb(new Asb(),e,b,a));a.xe('100%');aB(d,a);return d;}
-function Atb(e,b,c,a,d){if(cc(a,32)){Btb(e,e.d,b,c,a,d);}else if(cc(a,31)){nbb(b,c,0,rtb(e,bc(a,31)));ju(ou(b),c,0,5);}}
-function Btb(h,e,d,f,c,g){var a,b;b=bc(c,32);if(b.e!=5){nbb(d,f,0,wtb(h,b,g));nbb(d,f,1,ytb(h,b));nbb(d,f,2,Ftb(h,b,h.e.c));nbb(d,f,3,utb(h,b,h.e.c));a=odb(new ndb(),'images/add_connective.gif');a.pe('Add more options to this fields values.');fC(a,xsb(new wsb(),h,b,e));nbb(d,f,4,a);}else if(b.e==5){nbb(d,f,0,ztb(h,b));ju(ou(d),f,0,5);}}
-function Ctb(d,g,a){var b,c,e,f;c=ddb(new Ecb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=cq(new bq());e=zL(new kL());b=qq(new kq(),'Set');dq(f,e);dq(f,b);b.x(isb(new hsb(),d,e,a,c));edb(c,'Variable name',f);lF(c,lO(g),mO(g));oF(c);}
-function Etb(i,j){var a,b,c,d,e,f,g,h;g=ddb(new Ecb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);uO(g,'ks-popups-Popup');a=mD(new eD());pD(a,'...');c=ahb(i.b,i.e.c);for(e=0;e<c.a;e++){pD(a,c[e]);}BD(a,0);oD(a,ltb(new ktb(),i,a,g));edb(g,'Add a restriction on a field',a);b=mD(new eD());pD(b,'...');qD(b,'All of (And)','&&');qD(b,'Any of (Or)','||');BD(b,0);oD(b,qrb(new prb(),i,b,g));f=wdb(new rdb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=FA(new DA());aB(d,b);aB(d,f);edb(g,'Multiple field constraint',d);fdb(g,zdb(new ydb(),'Advanced options','weak-Text'));h=qq(new kq(),'New formula');h.x(urb(new trb(),i,g));edb(g,'Add a new formula style expression',h);vtb(i,g);lF(g,lO(j),mO(j));oF(g);}
-function Dtb(i,j,b){var a,c,d,e,f,g,h;h=ddb(new Ecb(),'images/newex_wiz.gif','Add fields to this constraint');uO(h,'ks-popups-Popup');a=mD(new eD());pD(a,'...');d=ahb(i.b,i.e.c);for(f=0;f<d.a;f++){pD(a,d[f]);}BD(a,0);oD(a,dtb(new ctb(),i,b,a,h));edb(h,'Add a restriction on a field',a);c=mD(new eD());pD(c,'...');qD(c,'All of (And)','&&');qD(c,'Any of (Or)','||');BD(c,0);oD(c,htb(new gtb(),i,c,b,h));g=wdb(new rdb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=FA(new DA());aB(e,c);aB(e,g);edb(h,'Multiple field constraint',e);lF(h,lO(j),mO(j));oF(h);}
-function Ftb(c,a,b){var d;d=bhb(c.d.a,b,a.c);return nqb(new cpb(),c.e,a.c,a,c.d,d);}
-function aub(){return mbb(this.c);}
-function nrb(){}
-_=nrb.prototype=new bbb();_.lc=aub;_.tN=Egc+'FactPatternWidget';_.tI=312;_.a=false;_.b=null;_.d=null;_.e=null;function lsb(b,a,c){b.a=a;b.b=c;return b;}
-function nsb(a){if(Eh('Remove this item?')){qkb(this.a.e,this.b);rxb(this.a.d);}}
-function orb(){}
-_=orb.prototype=new xU();_.wc=nsb;_.tN=Egc+'FactPatternWidget$1';_.tI=313;function qrb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function srb(b){var a;a=new tjb();a.a=xD(this.b,wD(this.b));mkb(this.a.e,a);rxb(this.a.d);this.c.hc();}
-function prb(){}
-_=prb.prototype=new xU();_.vc=srb;_.tN=Egc+'FactPatternWidget$10';_.tI=314;function urb(b,a,c){b.a=a;b.b=c;return b;}
-function wrb(b){var a;a=new Blb();a.e=5;mkb(this.a.e,a);rxb(this.a.d);this.b.hc();}
-function trb(){}
-_=trb.prototype=new xU();_.wc=wrb;_.tN=Egc+'FactPatternWidget$11';_.tI=315;function yrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Arb(b){var a;a=rL(this.c);if(qxb(this.a.d,a)){Ch('The variable name ['+a+'] is already taken.');return;}this.a.e.a=rL(this.c);rxb(this.a.d);this.b.hc();}
-function xrb(){}
-_=xrb.prototype=new xU();_.wc=Arb;_.tN=Egc+'FactPatternWidget$12';_.tI=316;function Crb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Erb(a){this.b.a=xD(this.a,wD(this.a));}
-function Brb(){}
-_=Brb.prototype=new xU();_.vc=Erb;_.tN=Egc+'FactPatternWidget$13';_.tI=317;function asb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function csb(a){this.c.d=xD(this.b,wD(this.b));dbb(this.a.d);kW(),nW;}
-function Frb(){}
-_=Frb.prototype=new xU();_.vc=csb;_.tN=Egc+'FactPatternWidget$14';_.tI=318;function esb(b,a,c){b.a=a;b.b=c;return b;}
-function gsb(a){Ctb(this.a,a,this.b);}
-function dsb(){}
-_=dsb.prototype=new xU();_.wc=gsb;_.tN=Egc+'FactPatternWidget$15';_.tI=319;function isb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function ksb(b){var a;a=rL(this.d);if(qxb(this.a.d,a)){Ch('The variable name ['+a+'] is already taken.');return;}this.b.b=a;rxb(this.a.d);this.c.hc();}
-function hsb(){}
-_=hsb.prototype=new xU();_.wc=ksb;_.tN=Egc+'FactPatternWidget$16';_.tI=320;function psb(b,a,c){b.a=a;b.b=c;return b;}
-function rsb(a){Dtb(this.a,a,this.b);}
-function osb(){}
-_=osb.prototype=new xU();_.wc=rsb;_.tN=Egc+'FactPatternWidget$2';_.tI=321;function tsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vsb(a){if(Eh('Remove this item from nested constraint?')){wjb(this.b,this.c);rxb(this.a.d);}}
-function ssb(){}
-_=ssb.prototype=new xU();_.wc=vsb;_.tN=Egc+'FactPatternWidget$3';_.tI=322;function xsb(b,a,c,d){b.a=c;b.b=d;return b;}
-function zsb(a){Dlb(this.a);rxb(this.b);}
-function wsb(){}
-_=wsb.prototype=new xU();_.wc=zsb;_.tN=Egc+'FactPatternWidget$4';_.tI=323;function Bsb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Dsb(a){this.c.f=rL(this.b);dbb(this.a.d);}
-function Asb(){}
-_=Asb.prototype=new xU();_.vc=Dsb;_.tN=Egc+'FactPatternWidget$5';_.tI=324;function Fsb(b,a){b.a=a;return b;}
-function btb(a){Etb(this.a,a);}
-function Esb(){}
-_=Esb.prototype=new xU();_.wc=btb;_.tN=Egc+'FactPatternWidget$6';_.tI=325;function dtb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function ftb(a){ujb(this.c,Clb(new Blb(),vD(this.b,wD(this.b))));rxb(this.a.d);this.d.hc();}
-function ctb(){}
-_=ctb.prototype=new xU();_.vc=ftb;_.tN=Egc+'FactPatternWidget$7';_.tI=326;function htb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function jtb(b){var a;a=new tjb();a.a=xD(this.c,wD(this.c));ujb(this.b,a);rxb(this.a.d);this.d.hc();}
-function gtb(){}
-_=gtb.prototype=new xU();_.vc=jtb;_.tN=Egc+'FactPatternWidget$8';_.tI=327;function ltb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ntb(a){mkb(this.a.e,Clb(new Blb(),vD(this.b,wD(this.b))));rxb(this.a.d);this.c.hc();}
-function ktb(){}
-_=ktb.prototype=new xU();_.vc=ntb;_.tN=Egc+'FactPatternWidget$9';_.tI=328;function yub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=tcb(new rcb());b=d.a;for(c=0;c<b.a;c++){a=b[c];vcb(f.a,a.a,Bub(f,a,c));}gs(f,f.a);return f;}
-function zub(c,a){var b;b=ar(new Fq());if(a.b===null){gr(b,true);a.b='true';}else{gr(b,qV(a.b,'true'));}b.x(dub(new cub(),c,a,b));return b;}
-function Bub(e,a,d){var b,c;if(qV(a.a,'no-loop')){return Cub(e,d);}b=null;if(qV(a.a,'enabled')||qV(a.a,'auto-focus')||qV(a.a,'lock-on-active')){b=zub(e,a);}else{b=Dub(e,a);}c=rbb(new qbb());aB(c,b);aB(c,Cub(e,d));return c;}
-function Cub(c,a){var b;b=eC(new oB(),'images/delete_item_small.gif');fC(b,rub(new qub(),c,a));return b;}
-function Dub(c,a){var b;b=zL(new kL());BL(b,uV(a.b)<3?3:uV(a.b));vL(b,a.b);nL(b,hub(new gub(),c,a,b));if(qV(a.a,'date-effective')||qV(a.a,'date-expires')){if(a.b===null||qV('',a.b))vL(b,'dd-MMM-yyyy');BL(b,10);}oL(b,lub(new kub(),c,b));return b;}
-function Eub(){var a;a=mD(new eD());pD(a,'Choose...');pD(a,'salience');pD(a,'enabled');pD(a,'date-effective');pD(a,'date-expires');pD(a,'no-loop');pD(a,'agenda-group');pD(a,'activation-group');pD(a,'duration');pD(a,'auto-focus');pD(a,'lock-on-active');pD(a,'ruleflow-group');pD(a,'dialect');return a;}
-function Fub(){return this.a.lc();}
-function bub(){}
-_=bub.prototype=new bbb();_.lc=Fub;_.tN=Egc+'RuleAttributeWidget';_.tI=329;_.a=null;_.b=null;_.c=null;function dub(b,a,c,d){b.a=c;b.b=d;return b;}
-function fub(a){this.a.b=fr(this.b)?'true':'false';}
-function cub(){}
-_=cub.prototype=new xU();_.wc=fub;_.tN=Egc+'RuleAttributeWidget$1';_.tI=330;function hub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function jub(a){this.b.b=rL(this.c);dbb(this.a);}
-function gub(){}
-_=gub.prototype=new xU();_.vc=jub;_.tN=Egc+'RuleAttributeWidget$2';_.tI=331;function lub(b,a,c){b.a=c;return b;}
-function nub(a,b,c){}
-function oub(a,b,c){}
-function pub(a,b,c){BL(this.a,uV(rL(this.a)));}
-function kub(){}
-_=kub.prototype=new xU();_.Fc=nub;_.ad=oub;_.bd=pub;_.tN=Egc+'RuleAttributeWidget$3';_.tI=332;function rub(b,a,c){b.a=a;b.b=c;return b;}
-function tub(b){var a;a=hgb(new Efb(),'Remove this rule option?',vub(new uub(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
-function qub(){}
-_=qub.prototype=new xU();_.wc=tub;_.tN=Egc+'RuleAttributeWidget$4';_.tI=333;function vub(b,a,c){b.a=a;b.b=c;return b;}
-function xub(){ulb(this.a.a.b,this.b);rxb(this.a.a.c);}
-function uub(){}
-_=uub.prototype=new xU();_.nb=xub;_.tN=Egc+'RuleAttributeWidget$5';_.tI=334;function fxb(b,a){b.c=bc(a.b,83);b.a=uLb((sLb(),xLb),a.d.o);b.b=kbb(new ibb());pxb(b);uO(b.b,'model-builder-Background');gs(b,b.b);b.xe('100%');b.ne('100%');return b;}
-function gxb(b,a){mlb(b.c,Dib(new Bib(),a));rxb(b);}
-function hxb(b,a){mlb(b.c,fjb(new djb(),a));rxb(b);}
-function ixb(b,a){llb(b.c,mjb(new ljb(),a));rxb(b);}
-function jxb(b,a){llb(b.c,dkb(a));rxb(b);}
-function kxb(b,a){mlb(b.c,dkb(a));rxb(b);}
-function lxb(b,a){llb(b.c,lkb(new kkb(),a));rxb(b);}
-function mxb(a,b){mlb(a.c,vib(new uib(),b));rxb(a);}
-function oxb(b){var a;a=odb(new ndb(),'images/new_item.gif');a.pe('Add an option to the rule, to modify its behavior when evaluated or executed.');fC(a,kwb(new jwb(),b));return a;}
-function pxb(c){var a,b;bz(c.b);b=odb(new ndb(),'images/new_item.gif');b.pe('Add a condition to this rule.');fC(b,cwb(new bvb(),c));nbb(c.b,0,0,CC(new AC(),'WHEN'));nbb(c.b,0,2,b);nbb(c.b,1,1,sxb(c,c.c));nbb(c.b,2,0,CC(new AC(),'THEN'));a=odb(new ndb(),'images/new_item.gif');a.pe('Add an action to this rule.');fC(a,gwb(new fwb(),c));nbb(c.b,2,2,a);nbb(c.b,3,1,txb(c,c.c));nbb(c.b,4,0,CC(new AC(),'(options)'));nbb(c.b,4,2,oxb(c));nbb(c.b,5,1,yub(new bub(),c,c.c));}
-function qxb(b,a){return tlb(b.c,a)||ehb(b.a,a);}
-function rxb(a){pxb(a);dbb(a);}
-function sxb(e,c){var a,b,d,f,g;f=wbb(new vbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(cc(d,16)){g=ptb(new nrb(),e,d,e.a,true);iP(f,yxb(e,c,b,g));iP(f,xxb(e));}else if(cc(d,30)){g=Cob(new tob(),e,bc(d,30),e.a);iP(f,yxb(e,c,b,g));iP(f,xxb(e));}else if(cc(d,14)){}else{throw DU(new CU(),"I don't know what type of pattern that is.");}}a=wbb(new vbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(cc(d,14)){g=grb(new Aqb(),bc(d,14));iP(a,yxb(e,c,b,g));uO(a,'model-builderInner-Background');}}iP(f,a);return f;}
-function txb(g,e){var a,b,c,d,f,h,i;h=wbb(new vbb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(cc(a,28)){i=kob(new hnb(),g,bc(a,28),g.a);}else if(cc(a,25)){i=Dmb(new emb(),g,bc(a,25),g.a);}else if(cc(a,27)){i=fnb(new enb(),g.a,bc(a,27));}else if(cc(a,14)){i=grb(new Aqb(),bc(a,14));uO(i,'model-builderInner-Background');}iP(h,xxb(g));b=rbb(new qbb());f=odb(new ndb(),'images/delete_item_small.gif');f.pe('Remove this action.');d=c;fC(f,swb(new rwb(),g,e,d));aB(b,i);if(!cc(i,84)){i.xe('100%');b.xe('100%');}aB(b,f);iP(h,b);}return h;}
-function uxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=ddb(new Ecb(),'images/new_fact.gif','Add a new action...');uO(k,'ks-popups-Popup');q=qlb(n.c);p=mD(new eD());l=mD(new eD());j=mD(new eD());pD(p,'Choose ...');pD(l,'Choose ...');pD(j,'Choose ...');for(i=q.mc();i.gc();){o=bc(i.pc(),1);pD(p,o);pD(l,o);pD(j,o);}d=chb(n.a);for(f=0;f<d.a;f++){pD(p,d[f]);}BD(p,0);oD(p,dvb(new cvb(),n,p,k));oD(l,hvb(new gvb(),n,l,k));oD(j,lvb(new kvb(),n,j,k));if(uD(p)>1){edb(k,'Set the values of a field on',p);}if(uD(j)>1){e=FA(new DA());aB(e,j);g=eC(new oB(),'images/information.gif');g.pe('Modify a field on a fact, and notify the engine to re-evaluate rules.');aB(e,g);edb(k,'Modify a fact',e);}if(uD(l)>1){edb(k,'Retract the fact',l);}b=mD(new eD());c=mD(new eD());pD(b,'Choose ...');pD(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];pD(b,h);pD(c,h);}oD(b,pvb(new ovb(),n,b,k));oD(c,tvb(new svb(),n,c,k));if(uD(b)>1){edb(k,'Insert a new fact',b);e=FA(new DA());aB(e,c);g=eC(new oB(),'images/inf!
 ormation.gif');g.pe('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');aB(e,g);edb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=mD(new eD());pD(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];qD(a,ekb(m),aU(f));}oD(a,xvb(new wvb(),n,a,k));edb(k,'DSL sentence',a);}lF(k,fc(di()/3),fc(ci()/3));oF(k);}
-function vxb(c,d){var a,b;b=ddb(new Ecb(),'images/config.png','Add an option to the rule');a=Eub();BD(a,0);oD(a,owb(new nwb(),c,a,b));uO(b,'ks-popups-Popup');edb(b,'Attribute',a);lF(b,lO(d)-400,mO(d));oF(b);}
-function wxb(j,k){var a,b,c,d,e,f,g,h,i;h=ddb(new Ecb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=mD(new eD());qD(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){pD(e,f[g]);}BD(e,0);if(f.a>0)edb(h,'Fact',e);oD(e,Awb(new zwb(),j,e,h));uO(h,'ks-popups-Popup');c=(pgb(),qgb);b=mD(new eD());qD(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];qD(b,ugb(a),a);}BD(b,0);if(f.a>0)edb(h,'Condition type',b);oD(b,Ewb(new Dwb(),j,b,h));if(j.a.b.a>0){d=mD(new eD());pD(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];qD(d,ekb(i),aU(g));}oD(d,cxb(new bxb(),j,d,h));edb(h,'DSL sentence',d);}lF(h,lO(k)-400,mO(k));oF(h);}
-function xxb(b){var a;a=eA(new hx(),'&nbsp;');a.ne('2px');return a;}
-function yxb(f,d,b,g){var a,c,e;a=rbb(new qbb());e=odb(new ndb(),'images/delete_item_small.gif');e.pe('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;fC(e,Bvb(new Avb(),f,d,c));a.xe('100%');g.xe('100%');aB(a,g);aB(a,e);return a;}
-function zxb(){return mbb(this.b)||this.j;}
-function avb(){}
-_=avb.prototype=new bbb();_.lc=zxb;_.tN=Egc+'RuleModeller';_.tI=335;_.a=null;_.b=null;_.c=null;function cwb(b,a){b.a=a;return b;}
-function ewb(a){wxb(this.a,a);}
-function bvb(){}
-_=bvb.prototype=new xU();_.wc=ewb;_.tN=Egc+'RuleModeller$1';_.tI=336;function dvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function fvb(a){gxb(this.a,vD(this.c,wD(this.c)));this.b.hc();}
-function cvb(){}
-_=cvb.prototype=new xU();_.vc=fvb;_.tN=Egc+'RuleModeller$10';_.tI=337;function hvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function jvb(a){mxb(this.a,vD(this.c,wD(this.c)));this.b.hc();}
-function gvb(){}
-_=gvb.prototype=new xU();_.vc=jvb;_.tN=Egc+'RuleModeller$11';_.tI=338;function lvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nvb(a){hxb(this.a,vD(this.b,wD(this.b)));this.c.hc();}
-function kvb(){}
-_=kvb.prototype=new xU();_.vc=nvb;_.tN=Egc+'RuleModeller$12';_.tI=339;function pvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function rvb(b){var a;a=vD(this.b,wD(this.b));mlb(this.a.c,gib(new eib(),a));rxb(this.a);this.c.hc();}
-function ovb(){}
-_=ovb.prototype=new xU();_.vc=rvb;_.tN=Egc+'RuleModeller$13';_.tI=340;function tvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vvb(b){var a;a=vD(this.b,wD(this.b));mlb(this.a.c,oib(new mib(),a));rxb(this.a);this.c.hc();}
-function svb(){}
-_=svb.prototype=new xU();_.vc=vvb;_.tN=Egc+'RuleModeller$14';_.tI=341;function xvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function zvb(b){var a;a=ET(xD(this.b,wD(this.b)));kxb(this.a,this.a.a.a[a]);this.c.hc();}
-function wvb(){}
-_=wvb.prototype=new xU();_.vc=zvb;_.tN=Egc+'RuleModeller$15';_.tI=342;function Bvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Dvb(b){var a;a=hgb(new Efb(),'Remove this entire condition?',Fvb(new Evb(),this,this.c,this.b));lF(a,lO(b),mO(b));oF(a);}
-function Avb(){}
-_=Avb.prototype=new xU();_.wc=Dvb;_.tN=Egc+'RuleModeller$16';_.tI=343;function Fvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function bwb(){if(vlb(this.c,this.b)){rxb(this.a.a);}else{jcb("Can't remove that item as it is used in the action part of the rule.");}}
-function Evb(){}
-_=Evb.prototype=new xU();_.nb=bwb;_.tN=Egc+'RuleModeller$17';_.tI=344;function gwb(b,a){b.a=a;return b;}
-function iwb(a){uxb(this.a,a);}
-function fwb(){}
-_=fwb.prototype=new xU();_.wc=iwb;_.tN=Egc+'RuleModeller$2';_.tI=345;function kwb(b,a){b.a=a;return b;}
-function mwb(a){vxb(this.a,a);}
-function jwb(){}
-_=jwb.prototype=new xU();_.wc=mwb;_.tN=Egc+'RuleModeller$3';_.tI=346;function owb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function qwb(a){klb(this.a.c,alb(new Fkb(),vD(this.b,wD(this.b)),''));rxb(this.a);this.c.hc();}
-function nwb(){}
-_=nwb.prototype=new xU();_.vc=qwb;_.tN=Egc+'RuleModeller$4';_.tI=347;function swb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function uwb(b){var a;a=hgb(new Efb(),'Remove this item?',wwb(new vwb(),this,this.c,this.b));lF(a,lO(b),mO(b));oF(a);}
-function rwb(){}
-_=rwb.prototype=new xU();_.wc=uwb;_.tN=Egc+'RuleModeller$5';_.tI=348;function wwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function ywb(){wlb(this.c,this.b);rxb(this.a.a);}
-function vwb(){}
-_=vwb.prototype=new xU();_.nb=ywb;_.tN=Egc+'RuleModeller$6';_.tI=349;function Awb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Cwb(b){var a;a=vD(this.b,wD(this.b));if(!qV(a,'IGNORE')){lxb(this.a,a);this.c.hc();}}
-function zwb(){}
-_=zwb.prototype=new xU();_.vc=Cwb;_.tN=Egc+'RuleModeller$7';_.tI=350;function Ewb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function axb(b){var a;a=xD(this.b,wD(this.b));if(!qV(a,'IGNORE')){ixb(this.a,a);this.c.hc();}}
-function Dwb(){}
-_=Dwb.prototype=new xU();_.vc=axb;_.tN=Egc+'RuleModeller$8';_.tI=351;function cxb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function exb(b){var a;a=ET(xD(this.b,wD(this.b)));jxb(this.a,this.a.a.b[a]);this.c.hc();}
-function bxb(){}
-_=bxb.prototype=new xU();_.vc=exb;_.tN=Egc+'RuleModeller$9';_.tI=352;function Cxb(b,a,c){b.a=c;return b;}
-function Exb(a){ki(w()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
-function Bxb(){}
-_=Bxb.prototype=new xU();_.wc=Exb;_.tN=Fgc+'AssetAttachmentFileWidget$1';_.tI=353;function ayb(b,a){b.a=a;return b;}
-function cyb(a){oyb(this.a);pyb(this.a);}
-function Fxb(){}
-_=Fxb.prototype=new xU();_.wc=cyb;_.tN=Fgc+'AssetAttachmentFileWidget$2';_.tI=354;function eyb(b,a){b.a=a;return b;}
-function hyb(a){}
-function gyb(a){eeb();if(sV(a.a,'OK')>(-1)){x_b(this.a.e);}else{jcb('Unable to upload the file.');}}
-function dyb(){}
-_=dyb.prototype=new xU();_.ld=hyb;_.kd=gyb;_.tN=Fgc+'AssetAttachmentFileWidget$3';_.tI=355;function Byb(){Byb=v3;gdb();}
-function zyb(c){var a,b;Byb();ddb(c,'images/new_wiz.gif','Create a new fact template');c.a=lu(new fu());c.b=zL(new kL());edb(c,'Name:',c.b);edb(c,'Fact attributes:',c.a);a=eC(new oB(),'images/new_item.gif');fC(a,syb(new ryb(),c));edb(c,'Add a new attribute',a);b=qq(new kq(),'Create');b.x(wyb(new vyb(),c));edb(c,'',b);return c;}
-function Ayb(b){var a;a=pu(b.a);b.a.ve(a,0,zL(new kL()));b.a.ve(a,1,Eyb(b));}
-function Cyb(d){var a,b,c,e,f;b='template '+rL(d.b)+'\n';for(a=0;a<pu(d.a);a++){e=bc(kz(d.a,a,1),85);f=vD(e,wD(e));c=rL(bc(kz(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
-function Dyb(b,a){b.c=a;}
-function Eyb(b){var a;a=mD(new eD());pD(a,'String');pD(a,'Integer');pD(a,'Float');pD(a,'Date');pD(a,'Boolean');return a;}
-function qyb(){}
-_=qyb.prototype=new Ecb();_.tN=Fgc+'FactTemplateWizard';_.tI=356;_.a=null;_.b=null;_.c=null;function syb(b,a){b.a=a;return b;}
-function uyb(a){Ayb(this.a);}
-function ryb(){}
-_=ryb.prototype=new xU();_.wc=uyb;_.tN=Fgc+'FactTemplateWizard$1';_.tI=357;function wyb(b,a){b.a=a;return b;}
-function yyb(a){BDb(this.a.c);this.a.hc();}
-function vyb(){}
-_=vyb.prototype=new xU();_.wc=yyb;_.tN=Fgc+'FactTemplateWizard$2';_.tI=358;function azb(b,a,c){iyb(b,a,c);return b;}
-function czb(){return 'images/model_large.png';}
-function dzb(){return 'editable-Surface';}
-function Fyb(){}
-_=Fyb.prototype=new Axb();_.sb=czb;_.Ab=dzb;_.tN=Fgc+'ModelAttachmentFileWidget';_.tI=359;function cAb(){cAb=v3;gdb();}
-function aAb(a){a.b=tcb(new rcb());a.d=tcb(new rcb());}
-function bAb(f,b){var a,c,d,e;cAb();ddb(f,'images/new_wiz.gif','Create a new package');aAb(f);f.c=zL(new kL());f.a=eL(new dL());ycb(f.d,eA(new hx(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));vcb(f.d,'Name:',f.c);vcb(f.d,'Description:',f.a);f.c.pe('The name of the package. Avoid spaces, use underscore instead.');e=EG(new CG(),'action','Create new pa!
 ckage');d=EG(new CG(),'action','Import from drl file');gr(e,true);f.d.ue(true);e.x(gzb(new fzb(),f));f.b.ue(false);d.x(kzb(new jzb(),f));a=cq(new bq());dq(a,e);dq(a,d);fdb(f,a);fdb(f,f.d);fdb(f,f.b);vcb(f.b,'DRL file to import:',eAb(b,f));c=qq(new kq(),'Create package');c.x(ozb(new nzb(),f,b));vcb(f.d,'',c);uO(f,'ks-popups-Popup');return f;}
-function dAb(d,b,a,c){ieb('Creating package - please wait...');qUb(EMb(),b,a,tzb(new szb(),d,c));}
-function eAb(a,d){cAb();var b,c,e,f;f=Cv(new xv());cw(f,w()+'package');dw(f,'multipart/form-data');ew(f,'post');c=FA(new DA());f.we(c);e=au(new Ft());du(e,'classicDRLFile');aB(c,e);aB(c,CC(new AC(),'upload:'));b=pdb(new ndb(),'images/upload.gif','Import');fC(b,yzb(new xzb(),f));aB(c,b);Dv(f,Czb(new Bzb(),a,d,e));return f;}
-function ezb(){}
-_=ezb.prototype=new Ecb();_.tN=Fgc+'NewPackageWizard';_.tI=360;_.a=null;_.c=null;function gzb(b,a){b.a=a;return b;}
-function izb(a){this.a.d.ue(true);this.a.b.ue(false);}
-function fzb(){}
-_=fzb.prototype=new xU();_.wc=izb;_.tN=Fgc+'NewPackageWizard$1';_.tI=361;function kzb(b,a){b.a=a;return b;}
-function mzb(a){this.a.d.ue(false);this.a.b.ue(true);}
-function jzb(){}
-_=jzb.prototype=new xU();_.wc=mzb;_.tN=Fgc+'NewPackageWizard$2';_.tI=362;function ozb(b,a,c){b.a=a;b.b=c;return b;}
-function qzb(b,a){return vV(a,'[a-zA-Z\\.]*');}
-function rzb(a){if(qzb(this,rL(this.a.c))){dAb(this.a,rL(this.a.c),rL(this.a.a),this.b);this.a.hc();}else{vL(this.a.c,'');Ch('Invalid package name, use java-style package name');}}
-function nzb(){}
-_=nzb.prototype=new xU();_.wc=rzb;_.tN=Fgc+'NewPackageWizard$3';_.tI=363;function tzb(b,a,c){b.a=c;return b;}
-function vzb(b,a){eeb();eGb(b.a);}
-function wzb(a){vzb(this,a);}
-function szb(){}
-_=szb.prototype=new hdb();_.md=wzb;_.tN=Fgc+'NewPackageWizard$4';_.tI=364;function yzb(a,b){a.a=b;return a;}
-function Azb(a){if(Eh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){ieb('Importing drl package, please wait, as this could take some time...');gw(this.a);}}
-function xzb(){}
-_=xzb.prototype=new xU();_.wc=Azb;_.tN=Fgc+'NewPackageWizard$5';_.tI=365;function Czb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
-function Fzb(a){if(uV(cu(this.c))==0){Ch('You did not choose a drl file to import !');sw(a,true);}else if(!oV(cu(this.c),'.drl')){Ch("You can only import '.drl' files.");sw(a,true);}}
-function Ezb(a){if(sV(a.a,'OK')>(-1)){Ch('Package was imported successfully. ');eGb(this.a);this.b.hc();}else{jcb('Unable to import into the package. ['+a.a+']');}eeb();}
-function Bzb(){}
-_=Bzb.prototype=new xU();_.ld=Fzb;_.kd=Ezb;_.tN=Fgc+'NewPackageWizard$6';_.tI=366;function FBb(h,e,f){var a,b,c,d,g;h.c=ucb(new rcb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=AH(new sH());g=zL(new kL());a=qq(new kq(),'Build package');a.pe('This will validate and compile all the assets in a package.');a.x(yAb(new gAb(),h,b,g));c=qq(new kq(),'Show package source');c.x(CAb(new BAb(),h,e));vcb(h.c,'View source for package',c);d=FA(new DA());aB(d,a);aB(d,eA(new hx(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));aB(d,g);aB(d,wdb(new rdb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));vcb(h.c,'Build binary package:',d);ycb(h.c,eA(new hx(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));ycb(h.c,b);uO(h.c,'package-Editor');h.c.xe('100%');gs(h,h.c);return h;}
-function bCb(d,a,c){var b;a.F();b=FA(new DA());aB(b,CC(new AC(),'Validating and building package, please wait...'));aB(b,eC(new oB(),'images/red_anime.gif'));ieb('Please wait...');CH(a,b);ig(pBb(new oBb(),d,c,a));}
-function cCb(i,e,a){var b,c,d,f,g,h;a.F();b=lu(new fu());uO(b,'build-Results');yz(b,0,1,'Format');yz(b,0,2,'Name');yz(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ve(f,0,eC(new oB(),'images/error.gif'));yz(b,f,1,d.a);yz(b,f,2,d.b);yz(b,f,3,d.c);if(!qV('package',d.a)){h=qq(new kq(),'Show');h.x(CBb(new BBb(),i,d));b.ve(f,4,h);}}b.xe('100%');g=oH(new mH(),b);qH(g,true);tO(g,'100%','25em');CH(a,g);}
-function dCb(g,i){var a,b,c,d,e,f,h;ieb('Loading existing snapshots...');c=ddb(new Ecb(),'images/snapshot.png','Create a snapshot for deployment.');fdb(c,eA(new hx(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=hP(new fP());edb(c,'Choose or create snapshot name:',h);f=FY(new DY());d=zL(new kL());e='NEW: ';vUb(EMb(),g.a.j,iAb(new hAb(),g,f,h,d));a=zL(new kL());edb(c,'Comment:',a);b=qq(new kq(),'Create new snapshot');edb(c,'',b);b.x(qAb(new pAb(),g,f,d,a,c));c.xe('50%');lF(c,fc((fbb()-gF(c))/2),100);oF(c);}
-function eCb(e,a){var b,c,d,f;a.F();f=hP(new fP());iP(f,eA(new hx(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=gCb(e.a);b=eA(new hx(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");iP(f,b);d=qq(new kq(),'Create snapshot for deployment');d.x(yBb(new xBb(),e));iP(f,d);CH(a,f);}
-function fCb(b,a){ieb('Assembling package source...');ig(aBb(new FAb(),b,a));}
-function gCb(a){var b,c;b=w()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
-function hCb(b,c){var a,d;d=ddb(new Ecb(),'images/view_source.gif','Viewing source for: '+c);a=eL(new dL());jL(a,30);a.xe('100%');iL(a,80);fdb(d,a);vL(a,b);a.ke(true);a.pe('THIS IS READ ONLY - you may copy and paste, but not edit.');oL(a,jBb(new iBb(),a,b));eeb();lF(d,fc((fbb()-gF(d))/2),100);oF(d);}
-function fAb(){}
-_=fAb.prototype=new es();_.tN=Fgc+'PackageBuilderWidget';_.tI=367;_.a=null;_.b=null;_.c=null;function yAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function AAb(a){bCb(this.a,this.b,rL(this.c));}
-function gAb(){}
-_=gAb.prototype=new xU();_.wc=AAb;_.tN=Fgc+'PackageBuilderWidget$1';_.tI=368;function iAb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
-function kAb(a){var b,c,d,e,f;f=bc(a,86);for(c=0;c<f.a;c++){b=EG(new CG(),'snapshotNameGroup',f[c].b);bZ(this.b,b);iP(this.c,b);}d=FA(new DA());e=EG(new CG(),'snapshotNameGroup','NEW: ');aB(d,e);this.a.ke(false);e.x(mAb(new lAb(),this,this.a));aB(d,this.a);bZ(this.b,e);iP(this.c,d);eeb();}
-function hAb(){}
-_=hAb.prototype=new hdb();_.md=kAb;_.tN=Fgc+'PackageBuilderWidget$10';_.tI=369;function mAb(b,a,c){b.a=c;return b;}
-function oAb(a){this.a.ke(true);}
-function lAb(){}
-_=lAb.prototype=new xU();_.wc=oAb;_.tN=Fgc+'PackageBuilderWidget$11';_.tI=370;function qAb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
-function sAb(d){var a,b,c;c=false;for(b=this.f.mc();b.gc();){a=bc(b.pc(),87);if(fr(a)){this.a=er(a);if(!qV(er(a),'NEW: ')){c=true;}break;}}if(qV(this.a,'NEW: ')){this.a=rL(this.e);}if(qV(this.a,'')){Ch('You have to enter or chose a label (name) for the snapshot.');return;}pUb(EMb(),this.b.a.j,this.a,c,rL(this.c),uAb(new tAb(),this,this.d));}
-function pAb(){}
-_=pAb.prototype=new xU();_.wc=sAb;_.tN=Fgc+'PackageBuilderWidget$12';_.tI=371;_.a='';function uAb(b,a,c){b.a=a;b.b=c;return b;}
-function wAb(b,a){Ch('The snapshot called: '+b.a.a+' was successfully created.');b.b.hc();}
-function xAb(a){wAb(this,a);}
-function tAb(){}
-_=tAb.prototype=new hdb();_.md=xAb;_.tN=Fgc+'PackageBuilderWidget$13';_.tI=372;function CAb(b,a,c){b.a=c;return b;}
-function EAb(a){fCb(this.a.m,this.a.j);}
-function BAb(){}
-_=BAb.prototype=new xU();_.wc=EAb;_.tN=Fgc+'PackageBuilderWidget$2';_.tI=373;function aBb(a,c,b){a.b=c;a.a=b;return a;}
-function cBb(){eUb(EMb(),this.b,eBb(new dBb(),this,this.a));}
-function FAb(){}
-_=FAb.prototype=new xU();_.nb=cBb;_.tN=Fgc+'PackageBuilderWidget$3';_.tI=374;function eBb(b,a,c){b.a=c;return b;}
-function gBb(c,b){var a;a=bc(b,1);hCb(a,c.a);}
-function hBb(a){gBb(this,a);}
-function dBb(){}
-_=dBb.prototype=new hdb();_.md=hBb;_.tN=Fgc+'PackageBuilderWidget$4';_.tI=375;function jBb(a,b,c){a.a=b;a.b=c;return a;}
-function lBb(a,b,c){vL(this.a,this.b);}
-function mBb(a,b,c){vL(this.a,this.b);}
-function nBb(a,b,c){vL(this.a,this.b);}
-function iBb(){}
-_=iBb.prototype=new xU();_.Fc=lBb;_.ad=mBb;_.bd=nBb;_.tN=Fgc+'PackageBuilderWidget$5';_.tI=376;function pBb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rBb(){fUb(EMb(),this.a.a.m,this.c,tBb(new sBb(),this,this.b));}
-function oBb(){}
-_=oBb.prototype=new xU();_.nb=rBb;_.tN=Fgc+'PackageBuilderWidget$6';_.tI=377;function tBb(b,a,c){b.a=a;b.b=c;return b;}
-function vBb(c,a){var b;eeb();if(a===null){eCb(c.a.a,c.b);}else{b=bc(a,88);cCb(c.a.a,b,c.b);}}
-function wBb(a){vBb(this,a);}
-function sBb(){}
-_=sBb.prototype=new hdb();_.md=wBb;_.tN=Fgc+'PackageBuilderWidget$7';_.tI=378;function yBb(b,a){b.a=a;return b;}
-function ABb(a){dCb(this.a,a);}
-function xBb(){}
-_=xBb.prototype=new xU();_.wc=ABb;_.tN=Fgc+'PackageBuilderWidget$8';_.tI=379;function CBb(b,a,c){b.a=a;b.b=c;return b;}
-function EBb(a){aJb(this.a.b,this.b.d);}
-function BBb(){}
-_=BBb.prototype=new xU();_.wc=EBb;_.tN=Fgc+'PackageBuilderWidget$9';_.tI=380;function fFb(e,b,c,a,d){tcb(e);e.b=b;e.c=c;e.a=a;e.e=d;uO(e,'package-Editor');e.xe('100%');lFb(e);return e;}
-function hFb(b){var a;a=eL(new dL());a.xe('100%');jL(a,8);vL(a,b.b.d);nL(a,cEb(new bEb(),b,a));iL(a,100);return jFb(b,a);}
-function iFb(b,a){ieb('Saving package configuration. Please wait ...');gVb(EMb(),b.b,uCb(new tCb(),b,a));}
-function jFb(d,a){var b,c;c=FA(new DA());aB(c,a);b=eC(new oB(),'images/max_min.gif');b.pe('Increase view area');aB(c,b);fC(b,EDb(new DDb(),d,a));return c;}
-function kFb(g){var a,b,c,d,e,f,h;a=eL(new dL());a.xe('100%');jL(a,8);iL(a,100);vL(a,g.b.f);nL(a,bDb(new aDb(),g,a));f=FA(new DA());aB(f,a);h=hP(new fP());b=eC(new oB(),'images/max_min.gif');fC(b,fDb(new eDb(),g,a));b.pe('Increase view area.');iP(h,b);e=eC(new oB(),'images/new_import.gif');fC(e,jDb(new iDb(),g,a));iP(h,e);e.pe('Add a new Type/Class import to the package.');d=eC(new oB(),'images/new_global.gif');fC(d,nDb(new mDb(),g,a));d.pe('Add a new global variable declaration.');iP(h,d);c=eC(new oB(),'images/fact_template.gif');fC(c,vDb(new uDb(),g,a));c.pe('Add a new fact template.');f.xe('100%');aB(f,h);return f;}
-function lFb(c){var a,b;zcb(c);ycb(c,sFb(c));vcb(c,'Description:',hFb(c));vcb(c,'Header:',kFb(c));ycb(c,eA(new hx(),'<hr/>'));vcb(c,'Last modified:',CC(new AC(),s0(c.b.i)));vcb(c,'Last contributor:',CC(new AC(),c.b.h));ycb(c,eA(new hx(),'<hr/>'));c.f=dA(new hx());b=FA(new DA());a=odb(new ndb(),'images/edit.gif');a.pe('Change status.');fC(a,qDb(new jCb(),c));aB(b,c.f);if(!c.b.g){aB(b,a);}oFb(c,c.b.l);vcb(c,'Status:',b);if(!c.b.g){ycb(c,nFb(c));}ycb(c,eA(new hx(),'<hr/>'));}
-function mFb(a){ieb('Refreshing package data...');AUb(EMb(),a.b.m,DCb(new CCb(),a));}
-function nFb(f){var a,b,c,d,e;c=FA(new DA());e=qq(new kq(),'Save and validate configuration');e.x(nEb(new mEb(),f));aB(c,e);a=qq(new kq(),'Archive');a.x(rEb(new qEb(),f));aB(c,a);b=qq(new kq(),'Copy');b.x(vEb(new uEb(),f));aB(c,b);d=qq(new kq(),'Rename');d.x(zEb(new yEb(),f));aB(c,d);return c;}
-function oFb(b,a){hA(b.f,'<b>'+a+'<\/b>');}
-function pFb(d){var a,b,c;c=ddb(new Ecb(),'images/new_wiz.gif','Copy the package');fdb(c,eA(new hx(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=zL(new kL());edb(c,'New package name:',a);b=qq(new kq(),'OK');edb(c,'',b);b.x(lCb(new kCb(),d,a,c));c.xe('40%');lF(c,fc(di()/3),fc(ci()/3));oF(c);}
-function qFb(d){var a,b,c;c=ddb(new Ecb(),'images/new_wiz.gif','Rename the package');fdb(c,eA(new hx(),'<i>Rename the package. A new unique name is required.<\/i>'));a=zL(new kL());edb(c,'New package name:',a);b=qq(new kq(),'OK');edb(c,'',b);b.x(DEb(new CEb(),d,a,c));c.xe('40%');lF(c,fc(di()/3),fc(ci()/3));oF(c);}
-function rFb(b,c){var a;a=lfb(new veb(),b.b.m,true);ofb(a,jEb(new iEb(),b,a));lF(a,lO(c),mO(c));oF(a);}
-function sFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=eC(new oB(),'images/warning.gif');a=FA(new DA());aB(a,b);c=eA(new hx(),'<b>There were errors validating this package configuration.');aB(a,c);d=qq(new kq(),'View errors');d.x(fEb(new tDb(),e));aB(a,d);return a;}else{return AH(new sH());}}
-function iCb(){}
-_=iCb.prototype=new rcb();_.tN=Fgc+'PackageEditor';_.tI=381;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function qDb(b,a){b.a=a;return b;}
-function sDb(a){rFb(this.a,a);}
-function jCb(){}
-_=jCb.prototype=new xU();_.wc=sDb;_.tN=Fgc+'PackageEditor$1';_.tI=382;function lCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nCb(a){mUb(EMb(),this.a.b.j,rL(this.b),pCb(new oCb(),this,this.c));}
-function kCb(){}
-_=kCb.prototype=new xU();_.wc=nCb;_.tN=Fgc+'PackageEditor$10';_.tI=383;function pCb(b,a,c){b.a=a;b.b=c;return b;}
-function rCb(b,a){cHb(b.a.a.e);Ch('Package copied successfully.');b.b.hc();}
-function sCb(a){rCb(this,a);}
-function oCb(){}
-_=oCb.prototype=new hdb();_.md=sCb;_.tN=Fgc+'PackageEditor$11';_.tI=384;function uCb(b,a,c){b.a=a;b.b=c;return b;}
-function wCb(b,a){iHb(b.a.a);b.a.d=bc(a,89);mFb(b.a);ieb('Package configuration updated successfully, refreshing content cache...');wLb((sLb(),xLb),b.a.b.j,zCb(new yCb(),b,b.b));}
-function xCb(a){wCb(this,a);}
-function tCb(){}
-_=tCb.prototype=new hdb();_.md=xCb;_.tN=Fgc+'PackageEditor$12';_.tI=385;function zCb(b,a,c){b.a=c;return b;}
-function BCb(){if(this.a!==null){cHb(this.a);}eeb();}
-function yCb(){}
-_=yCb.prototype=new xU();_.nb=BCb;_.tN=Fgc+'PackageEditor$13';_.tI=386;function DCb(b,a){b.a=a;return b;}
-function FCb(a){eeb();this.a.b=bc(a,19);lFb(this.a);}
-function CCb(){}
-_=CCb.prototype=new hdb();_.md=FCb;_.tN=Fgc+'PackageEditor$14';_.tI=387;function bDb(b,a,c){b.a=a;b.b=c;return b;}
-function dDb(a){this.a.b.f=rL(this.b);EGb(this.a.c);}
-function aDb(){}
-_=aDb.prototype=new xU();_.vc=dDb;_.tN=Fgc+'PackageEditor$16';_.tI=388;function fDb(b,a,c){b.a=c;return b;}
-function hDb(a){if(hL(this.a)!=32){jL(this.a,32);}else{jL(this.a,8);}}
-function eDb(){}
-_=eDb.prototype=new xU();_.wc=hDb;_.tN=Fgc+'PackageEditor$17';_.tI=389;function jDb(b,a,c){b.a=a;b.b=c;return b;}
-function lDb(a){vL(this.b,rL(this.b)+'\n'+'import <your class here>');this.a.b.f=rL(this.b);}
-function iDb(){}
-_=iDb.prototype=new xU();_.wc=lDb;_.tN=Fgc+'PackageEditor$18';_.tI=390;function nDb(b,a,c){b.a=a;b.b=c;return b;}
-function pDb(a){vL(this.b,rL(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=rL(this.b);}
-function mDb(){}
-_=mDb.prototype=new xU();_.wc=pDb;_.tN=Fgc+'PackageEditor$19';_.tI=391;function fEb(b,a){b.a=a;return b;}
-function hEb(a){var b;b=qfb(new pfb(),this.a.d.a,this.a.d.b);lF(b,fc(di()/4),mO(a));oF(b);}
-function tDb(){}
-_=tDb.prototype=new xU();_.wc=hEb;_.tN=Fgc+'PackageEditor$2';_.tI=392;function vDb(b,a,c){b.a=a;b.b=c;return b;}
-function xDb(a){var b;b=zyb(new qyb());lF(b,lO(a)-400,mO(a)-250);Dyb(b,zDb(new yDb(),this,this.b,b));oF(b);}
-function uDb(){}
-_=uDb.prototype=new xU();_.wc=xDb;_.tN=Fgc+'PackageEditor$20';_.tI=393;function zDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function BDb(a){vL(a.b,rL(a.b)+'\n'+Cyb(a.c));a.a.a.b.f=rL(a.b);}
-function CDb(){BDb(this);}
-function yDb(){}
-_=yDb.prototype=new xU();_.nb=CDb;_.tN=Fgc+'PackageEditor$21';_.tI=394;function EDb(b,a,c){b.a=c;return b;}
-function aEb(a){if(hL(this.a)!=32){jL(this.a,32);}else{jL(this.a,8);}}
-function DDb(){}
-_=DDb.prototype=new xU();_.wc=aEb;_.tN=Fgc+'PackageEditor$22';_.tI=395;function cEb(b,a,c){b.a=a;b.b=c;return b;}
-function eEb(a){this.a.b.d=rL(this.b);EGb(this.a.c);}
-function bEb(){}
-_=bEb.prototype=new xU();_.vc=eEb;_.tN=Fgc+'PackageEditor$23';_.tI=396;function jEb(b,a,c){b.a=a;b.b=c;return b;}
-function lEb(){oFb(this.a,this.b.c);}
-function iEb(){}
-_=iEb.prototype=new xU();_.nb=lEb;_.tN=Fgc+'PackageEditor$3';_.tI=397;function nEb(b,a){b.a=a;return b;}
-function pEb(a){iFb(this.a,null);}
-function mEb(){}
-_=mEb.prototype=new xU();_.wc=pEb;_.tN=Fgc+'PackageEditor$4';_.tI=398;function rEb(b,a){b.a=a;return b;}
-function tEb(a){if(Eh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;iFb(this.a,this.a.e);}}
-function qEb(){}
-_=qEb.prototype=new xU();_.wc=tEb;_.tN=Fgc+'PackageEditor$5';_.tI=399;function vEb(b,a){b.a=a;return b;}
-function xEb(a){pFb(this.a);}
-function uEb(){}
-_=uEb.prototype=new xU();_.wc=xEb;_.tN=Fgc+'PackageEditor$6';_.tI=400;function zEb(b,a){b.a=a;return b;}
-function BEb(a){qFb(this.a);}
-function yEb(){}
-_=yEb.prototype=new xU();_.wc=BEb;_.tN=Fgc+'PackageEditor$7';_.tI=401;function DEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function FEb(a){eVb(EMb(),this.a.b.m,rL(this.b),bFb(new aFb(),this,this.c));}
-function CEb(){}
-_=CEb.prototype=new xU();_.wc=FEb;_.tN=Fgc+'PackageEditor$8';_.tI=402;function bFb(b,a,c){b.a=a;b.b=c;return b;}
-function dFb(b,a){cHb(b.a.a.e);Ch('Package renamed successfully.');b.b.hc();}
-function eFb(a){dFb(this,a);}
-function aFb(){}
-_=aFb.prototype=new hdb();_.md=eFb;_.tN=Fgc+'PackageEditor$9';_.tI=403;function qIb(a){a.f=aHb(new uFb(),a);}
-function rIb(b,a){sIb(b,a,null,null);return b;}
-function sIb(g,b,h,f){var a,c,d,e;qIb(g);g.b=b;g.h=h;g.c=jN(new CL());g.d=kbb(new ibb());g.g=new eHb();nN(g.c,g.g);e=hP(new fP());if(f===null){a=lu(new fu());Ex(a.n,0,0,'new-asset-Icons');Bx(a.n,0,0,(oA(),pA),(xA(),zA));a.ve(0,0,vIb(g));iP(e,a);a.xe('100%');}iP(e,g.c);nbb(g.d,0,0,e);c=ou(g.d);Fx(c,0,0,(xA(),AA));ku(ou(g.d),0,1,2);Bx(ou(g.d),0,1,(oA(),pA),(xA(),AA));zIb(g);d=vN(g.c,0);if(d!==null)FN(g.c,d);nbb(g.d,0,1,eA(new hx(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));by(ou(g.d),0,0,'25%');Bx(ou(g.d),0,1,(oA(),qA),(xA(),AA));g.e=Bdc(new Fcc(),g.b,'rulelist');gs(g,g.d);return g;}
-function tIb(d,a,c){var b;b=yIb(d,a.j,'images/package.gif',oIb(new nIb(),hGb(new gGb(),d,a)));b.y(yIb(d,'Business rule assets','images/rule_asset.gif',AIb(d,a.m,(bab(),cab))));b.y(yIb(d,'Technical rule assets','images/technical_rule_assets.gif',AIb(d,a.m,(bab(),eab))));b.y(yIb(d,'Functions','images/function_assets.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['function']))));b.y(yIb(d,'DSL','images/dsl.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['dsl']))));b.y(yIb(d,'Model','images/model_asset.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['jar']))));lN(d.c,b);if(c){aO(d.c,b,true);}}
-function vIb(h){var a,b,c,d,e,f,g,i;g=FA(new DA());d=eC(new oB(),'images/new_package.gif');d.pe('Create a new package');fC(d,sHb(new rHb(),h));i=odb(new ndb(),'images/model_asset.gif');fC(i,wHb(new vHb(),h));i.pe('This creates a new model archive - models contain classes/types that rules use.');e=odb(new ndb(),'images/new_rule.gif');e.pe('Create new rule');fC(e,AHb(new zHb(),h));c=odb(new ndb(),'images/function_assets.gif');c.pe('Create a new function');fC(c,cIb(new bIb(),h));a=odb(new ndb(),'images/dsl.gif');a.pe('Create a new DSL (language configuration)');fC(a,gIb(new fIb(),h));f=odb(new ndb(),'images/ruleflow_small.gif');f.pe('Upload a new ruleflow.');fC(f,kIb(new jIb(),h));b=odb(new ndb(),'images/new_enumeration.gif');b.pe('Create a new data enumeration (drop down list)');fC(b,wFb(new vFb(),h));aB(g,d);aB(g,i);aB(g,e);aB(g,c);aB(g,a);aB(g,f);aB(g,b);return g;}
-function wIb(d,a,e){var b,c,f;b=70;f=100;c=i8b(new y7b(),lHb(new kHb(),d),false,a,e,d.a);lF(c,fc((fbb()-gF(c))/2),100);oF(c);}
-function xIb(a,b){ieb('Loading package information ...');AUb(EMb(),b,uGb(new tGb(),a));}
-function yIb(e,d,b,a){var c;c=oM(new mM());wM(c,'<img src="'+b+'">'+d+'<\/a>');CM(c,a);return c;}
-function zIb(a){if(a.h===null){ieb('Loading list of packages ...');uUb(EMb(),AFb(new zFb(),a));}else{ieb('Loading package ...');AUb(EMb(),a.h,EFb(new DFb(),a));}}
-function AIb(c,d,b){var a;a=lGb(new kGb(),c);return oIb(new nIb(),qGb(new pGb(),c,d,b,a));}
-function BIb(b,c){var a;a=bAb(new ezb(),cGb(new bGb(),b));lF(a,fc((fbb()-gF(a))/2),100);oF(a);}
-function tFb(){}
-_=tFb.prototype=new bbb();_.tN=Fgc+'PackageExplorerWidget';_.tI=404;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function aHb(b,a){b.a=a;return b;}
-function cHb(a){zIb(a.a);}
-function dHb(){cHb(this);}
-function uFb(){}
-_=uFb.prototype=new xU();_.nb=dHb;_.tN=Fgc+'PackageExplorerWidget$1';_.tI=405;function wFb(b,a){b.a=a;return b;}
-function yFb(a){wIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
-function vFb(){}
-_=vFb.prototype=new xU();_.wc=yFb;_.tN=Fgc+'PackageExplorerWidget$10';_.tI=406;function AFb(b,a){b.a=a;return b;}
-function CFb(a){var b,c;c=bc(a,71);oN(this.a.c);for(b=0;b<c.a;b++){if(b==0){tIb(this.a,c[b],true);}else{tIb(this.a,c[b],false);}}eeb();}
-function zFb(){}
-_=zFb.prototype=new hdb();_.md=CFb;_.tN=Fgc+'PackageExplorerWidget$11';_.tI=407;function EFb(b,a){b.a=a;return b;}
-function aGb(a){var b;b=bc(a,19);oN(this.a.c);tIb(this.a,b,true);eeb();}
-function DFb(){}
-_=DFb.prototype=new hdb();_.md=aGb;_.tN=Fgc+'PackageExplorerWidget$12';_.tI=408;function cGb(b,a){b.a=a;return b;}
-function eGb(a){zIb(a.a);}
-function fGb(){eGb(this);}
-function bGb(){}
-_=bGb.prototype=new xU();_.nb=fGb;_.tN=Fgc+'PackageExplorerWidget$13';_.tI=409;function hGb(b,a,c){b.a=a;b.b=c;return b;}
-function jGb(){if(this.a.lc()){if(Eh('Discard Changes ? ')){ebb(this.a);xIb(this.a,this.b.m);}}else{xIb(this.a,this.b.m);}}
-function gGb(){}
-_=gGb.prototype=new xU();_.nb=jGb;_.tN=Fgc+'PackageExplorerWidget$14';_.tI=410;function lGb(b,a){b.a=a;return b;}
-function nGb(c,a){var b;b=bc(a,62);aec(c.a.e,b);c.a.e.xe('100%');nbb(c.a.d,0,1,c.a.e);Bx(ou(c.a.d),0,1,(oA(),qA),(xA(),AA));eeb();}
-function oGb(a){nGb(this,a);}
-function kGb(){}
-_=kGb.prototype=new hdb();_.md=oGb;_.tN=Fgc+'PackageExplorerWidget$15';_.tI=411;function qGb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
-function sGb(){ieb('Loading list, please wait...');tUb(EMb(),this.c,this.b,(-1),(-1),this.a);}
-function pGb(){}
-_=pGb.prototype=new xU();_.nb=sGb;_.tN=Fgc+'PackageExplorerWidget$16';_.tI=412;function uGb(b,a){b.a=a;return b;}
-function wGb(c){var a,b,d,e,f,g,h,i;b=bc(c,19);g=qI(new pI());this.a.a=b.j;e=ucb(new rcb(),'images/package_large.png',b.j);uO(e,'package-Editor');e.xe('100%');vcb(e,'Description:',CC(new AC(),b.d));vcb(e,'Date created:',CC(new AC(),s0(b.c)));if(b.g){vcb(e,'Snapshot created on:',CC(new AC(),s0(b.i)));vcb(e,'Snapshot comment:',CC(new AC(),b.b));h=gCb(b);d=eA(new hx(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");vcb(e,'Download package:',d);vcb(e,'Package URI:',CC(new AC(),h));i=qq(new kq(),'View package source');i.x(yGb(new xGb(),this,b));vcb(e,'Show package source:',i);}if(!b.g){ycb(e,eA(new hx(),'<i>Choose one of the options below<\/i>'));}f=CGb(new BGb(),this);a=gHb(new fHb(),this);sI(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){sI(g,fFb(new iCb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);sI(g,FBb(new fAb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{sI(!
 g,fFb(new iCb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.xe('100%');nbb(this.a.d,0,1,g);eeb();}
-function tGb(){}
-_=tGb.prototype=new hdb();_.md=wGb;_.tN=Fgc+'PackageExplorerWidget$17';_.tI=413;function yGb(b,a,c){b.a=c;return b;}
-function AGb(a){fCb(this.a.m,this.a.j);}
-function xGb(){}
-_=xGb.prototype=new xU();_.wc=AGb;_.tN=Fgc+'PackageExplorerWidget$18';_.tI=414;function CGb(b,a){b.a=a;return b;}
-function EGb(a){dbb(a.a.a);}
-function FGb(){EGb(this);}
-function BGb(){}
-_=BGb.prototype=new xU();_.nb=FGb;_.tN=Fgc+'PackageExplorerWidget$19';_.tI=415;function pHb(c){var a,b;a=bc(c.k,90);b=a.a;ieb('Please wait...');ig(b);}
-function qHb(a){}
-function eHb(){}
-_=eHb.prototype=new xU();_.od=pHb;_.pd=qHb;_.tN=Fgc+'PackageExplorerWidget$2';_.tI=416;function gHb(b,a){b.a=a;return b;}
-function iHb(a){ebb(a.a.a);}
-function jHb(){iHb(this);}
-function fHb(){}
-_=fHb.prototype=new xU();_.nb=jHb;_.tN=Fgc+'PackageExplorerWidget$20';_.tI=417;function lHb(b,a){b.a=a;return b;}
-function nHb(a){aJb(this.a.b,a);}
-function kHb(){}
-_=kHb.prototype=new xU();_.td=nHb;_.tN=Fgc+'PackageExplorerWidget$21';_.tI=418;function sHb(b,a){b.a=a;return b;}
-function uHb(a){BIb(this.a,a);}
-function rHb(){}
-_=rHb.prototype=new xU();_.wc=uHb;_.tN=Fgc+'PackageExplorerWidget$3';_.tI=419;function wHb(b,a){b.a=a;return b;}
-function yHb(a){wIb(this.a,'jar','Create a new model archive');}
-function vHb(){}
-_=vHb.prototype=new xU();_.wc=yHb;_.tN=Fgc+'PackageExplorerWidget$4';_.tI=420;function AHb(b,a){b.a=a;return b;}
-function CHb(d){var a,b,c;a=70;c=100;b=i8b(new y7b(),EHb(new DHb(),this),true,null,'Create a new rule asset',this.a.a);lF(b,fc((fbb()-gF(b))/2),100);oF(b);}
-function zHb(){}
-_=zHb.prototype=new xU();_.wc=CHb;_.tN=Fgc+'PackageExplorerWidget$5';_.tI=421;function EHb(b,a){b.a=a;return b;}
-function aIb(a){aJb(this.a.a.b,a);}
-function DHb(){}
-_=DHb.prototype=new xU();_.td=aIb;_.tN=Fgc+'PackageExplorerWidget$6';_.tI=422;function cIb(b,a){b.a=a;return b;}
-function eIb(a){wIb(this.a,'function','Create a new function');}
-function bIb(){}
-_=bIb.prototype=new xU();_.wc=eIb;_.tN=Fgc+'PackageExplorerWidget$7';_.tI=423;function gIb(b,a){b.a=a;return b;}
-function iIb(a){wIb(this.a,'dsl','Create a new language configuration');}
-function fIb(){}
-_=fIb.prototype=new xU();_.wc=iIb;_.tN=Fgc+'PackageExplorerWidget$8';_.tI=424;function kIb(b,a){b.a=a;return b;}
-function mIb(a){wIb(this.a,'rf','Create a new ruleflow');}
-function jIb(){}
-_=jIb.prototype=new xU();_.wc=mIb;_.tN=Fgc+'PackageExplorerWidget$9';_.tI=425;function oIb(b,a){b.a=a;return b;}
-function nIb(){}
-_=nIb.prototype=new xU();_.tN=Fgc+'PackageExplorerWidget$PackageTreeItem';_.tI=426;_.a=null;function cJb(a){a.a=(FZ(),a0);}
-function dJb(a){eJb(a,null,null);return a;}
-function eJb(e,c,d){var a,b;cJb(e);e.b=sK(new eK());e.b.xe('100%');e.b.ne('30%');a=EIb(new DIb(),e,d);b=null;if(c===null){b=rIb(new tFb(),a);}else{b=sIb(new tFb(),a,c,d);}tK(e.b,b,"<img src='images/explore.gif'/>Explore",true);zK(e.b,0);gs(e,e.b);return e;}
-function gJb(b,a){b.a=a;}
-function CIb(){}
-_=CIb.prototype=new es();_.tN=Fgc+'PackageManagerView';_.tI=427;_.b=null;function EIb(b,a,c){b.a=a;b.b=c;return b;}
-function aJb(b,a){u5b(b.a.a,b.a.b,a,b.b!==null);}
-function bJb(a){aJb(this,a);}
-function DIb(){}
-_=DIb.prototype=new xU();_.td=bJb;_.tN=Fgc+'PackageManagerView$1';_.tI=428;function FKb(b){var a,c;b.a=lu(new fu());b.c=sK(new eK());b.c.xe('100%');b.c.ne('100%');c=hP(new fP());iP(c,b.a);a=qq(new kq(),'Rebuild snapshot binaries');a.pe('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new iJb());iP(c,a);tK(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);by(b.a.n,0,0,'28%');b.b=EMb();hLb(b);b.a.xe('100%');gs(b,b.c);zK(b.c,0);return b;}
-function aLb(h,c){var a,b,d,e,f,g;g=jN(new CL());d=hP(new fP());for(a=0;a<c.a;a++){e=c[a].j;b=fLb(h,e,'images/package_snapshot.gif',iKb(new hKb(),h,e));lN(g,b);}iP(d,g);f=eA(new hx(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");DC(f,mKb(new lKb(),h));nN(g,new pKb());mP(d,(xA(),AA));lP(d,(oA(),qA));iP(d,f);uO(d,'snapshot-List');h.a.ve(0,0,d);Fx(h.a.n,0,0,(xA(),AA));}
-function cLb(g,e,f){var a,b,c,d;c=ddb(new Ecb(),'images/snapshot.png','Copy snapshot '+f);a=zL(new kL());edb(c,'New label:',a);d=qq(new kq(),'OK');edb(c,'',d);d.x(yKb(new xKb(),g,e,f,a,c));b=qq(new kq(),'Copy');b.x(kJb(new jJb(),g,c));return b;}
-function dLb(d,c,b){var a;a=qq(new kq(),'Delete');a.x(sJb(new rJb(),d,c,b));return a;}
-function eLb(d,b,c,e){var a;a=qq(new kq(),'Open');a.x(oJb(new nJb(),d,b,c,e));return a;}
-function fLb(e,d,b,a){var c;c=oM(new mM());wM(c,'<img src="'+b+'">'+d+'<\/a>');CM(c,a);return c;}
-function gLb(g,e,f,h){var a,b,c,d,i;i=lu(new fu());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=FA(new DA());aB(c,eA(new hx(),d));a=odb(new ndb(),'images/close.gif');a.pe('Close this view');fC(a,AJb(new zJb(),g));aB(c,a);i.ve(0,0,c);b=ou(i);Ex(b,0,0,'editable-Surface');i.ve(1,0,eJb(new CIb(),h,f));i.xe('100%');i.ne('100%');if(g.c.a.f.c>1){yK(g.c,1);}tK(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);zK(g.c,1);}
-function hLb(a){ieb('Loading package list...');uUb(a.b,eKb(new dKb(),a));}
-function iLb(h,d,b){var a,c,e,f,g;e=ucb(new rcb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=lu(new fu());yz(g,0,1,'Name');yz(g,0,2,'Comment');ly(g.p,0,igc);for(a=0;a<b.a;a++){f=a+1;c=CC(new AC(),b[a].b);g.ve(f,0,eC(new oB(),'images/package_snapshot_item.gif'));g.ve(f,1,c);g.ve(f,2,CC(new AC(),b[a].a));g.ve(f,3,eLb(h,d,aD(c),b[a].c));g.ve(f,4,cLb(h,d,aD(c)));g.ve(f,5,dLb(h,aD(c),d));if(a%2==0){ly(g.p,a+1,ggc);}}e.xe('100%');ycb(e,g);g.xe('100%');uO(e,hgc);h.a.ve(0,1,e);Fx(ou(h.a),0,1,(xA(),AA));}
-function jLb(b,a){ieb('Loading snapshots...');vUb(b.b,a,uKb(new tKb(),b,a));}
-function hJb(){}
-_=hJb.prototype=new es();_.tN=Fgc+'PackageSnapshotView';_.tI=429;_.a=null;_.b=null;_.c=null;function EJb(a){if(Eh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){ieb('Rebuilding snapshots. Please wait, this may take some time...');aVb(EMb(),new FJb());}}
-function iJb(){}
-_=iJb.prototype=new xU();_.wc=EJb;_.tN=Fgc+'PackageSnapshotView$1';_.tI=430;function kJb(b,a,c){b.a=c;return b;}
-function mJb(a){lF(this.a,fc((fbb()-gF(this.a))/2),100);oF(this.a);}
-function jJb(){}
-_=jJb.prototype=new xU();_.wc=mJb;_.tN=Fgc+'PackageSnapshotView$10';_.tI=431;function oJb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
-function qJb(a){gLb(this.a,this.b,this.c,this.d);}
-function nJb(){}
-_=nJb.prototype=new xU();_.wc=qJb;_.tN=Fgc+'PackageSnapshotView$11';_.tI=432;function sJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function uJb(b){var a;a=Eh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{lUb(this.a.b,this.b,this.c,true,null,wJb(new vJb(),this,this.b));}}
-function rJb(){}
-_=rJb.prototype=new xU();_.wc=uJb;_.tN=Fgc+'PackageSnapshotView$12';_.tI=433;function wJb(b,a,c){b.a=a;b.b=c;return b;}
-function yJb(a){jLb(this.a.a,this.b);}
-function vJb(){}
-_=vJb.prototype=new hdb();_.md=yJb;_.tN=Fgc+'PackageSnapshotView$13';_.tI=434;function AJb(b,a){b.a=a;return b;}
-function CJb(a){yK(this.a.c,1);zK(this.a.c,0);}
-function zJb(){}
-_=zJb.prototype=new xU();_.wc=CJb;_.tN=Fgc+'PackageSnapshotView$14';_.tI=435;function bKb(b,a){eeb();Ch('Snapshots were rebuilt successfully.');}
-function cKb(a){bKb(this,a);}
-function FJb(){}
-_=FJb.prototype=new hdb();_.md=cKb;_.tN=Fgc+'PackageSnapshotView$2';_.tI=436;function eKb(b,a){b.a=a;return b;}
-function gKb(a){var b;b=bc(a,71);aLb(this.a,b);eeb();}
-function dKb(){}
-_=dKb.prototype=new hdb();_.md=gKb;_.tN=Fgc+'PackageSnapshotView$3';_.tI=437;function iKb(b,a,c){b.a=a;b.b=c;return b;}
-function kKb(){jLb(this.a,this.b);}
-function hKb(){}
-_=hKb.prototype=new xU();_.nb=kKb;_.tN=Fgc+'PackageSnapshotView$4';_.tI=438;function mKb(b,a){b.a=a;return b;}
-function oKb(a){hLb(this.a);}
-function lKb(){}
-_=lKb.prototype=new xU();_.wc=oKb;_.tN=Fgc+'PackageSnapshotView$5';_.tI=439;function rKb(a){ig(bc(a.k,4));}
-function sKb(a){}
-function pKb(){}
-_=pKb.prototype=new xU();_.od=rKb;_.pd=sKb;_.tN=Fgc+'PackageSnapshotView$6';_.tI=440;function uKb(b,a,c){b.a=a;b.b=c;return b;}
-function wKb(a){var b;b=bc(a,86);iLb(this.a,this.b,b);eeb();}
-function tKb(){}
-_=tKb.prototype=new hdb();_.md=wKb;_.tN=Fgc+'PackageSnapshotView$7';_.tI=441;function yKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
-function AKb(a){lUb(this.a.b,this.d,this.e,false,rL(this.b),CKb(new BKb(),this,this.d,this.c));}
-function xKb(){}
-_=xKb.prototype=new xU();_.wc=AKb;_.tN=Fgc+'PackageSnapshotView$8';_.tI=442;function CKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function EKb(a){jLb(this.a.a,this.c);this.b.hc();}
-function BKb(){}
-_=BKb.prototype=new hdb();_.md=EKb;_.tN=Fgc+'PackageSnapshotView$9';_.tI=443;function sLb(){sLb=v3;xLb=rLb(new kLb());}
-function qLb(a){a.a=C1(new a1());}
-function rLb(a){sLb();qLb(a);return a;}
-function tLb(c,b,a){if(!F1(c.a,b)){vLb(c,b,a);}else{h5b(a);}}
-function uLb(c,b){var a;a=bc(c2(c.a,b),91);if(a===null){jcb('Unable to get content assistance for this rule.');return null;}return a;}
-function vLb(c,b,a){kW(),nW;DUb(EMb(),b,mLb(new lLb(),c,b,a));}
-function wLb(c,b,a){if(F1(c.a,b)){e2(c.a,b);vLb(c,b,a);}else{a.nb();}}
-function kLb(){}
-_=kLb.prototype=new xU();_.tN=Fgc+'SuggestionCompletionCache';_.tI=444;var xLb;function mLb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function oLb(c,a){var b;b=bc(a,91);d2(c.a.a,c.c,b);c.b.nb();}
-function pLb(a){oLb(this,a);}
-function lLb(){}
-_=lLb.prototype=new hdb();_.md=pLb;_.tN=Fgc+'SuggestionCompletionCache$1';_.tI=445;function ELb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
-function yLb(){}
-_=yLb.prototype=new xU();_.tS=ELb;_.tN=ahc+'BuilderResult';_.tI=446;_.a=null;_.b=null;_.c=null;_.d=null;function CLb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();}
-function DLb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);}
-function FLb(){}
-_=FLb.prototype=new fm();_.tN=ahc+'DetailedSerializableException';_.tI=447;_.a=null;function dMb(b,a){gMb(a,b.Bd());jm(b,a);}
-function eMb(a){return a.a;}
-function fMb(b,a){b.cf(eMb(a));lm(b,a);}
-function gMb(a,b){a.a=b;}
-function iMb(a){a.a=Ab('[Ljava.lang.String;',[610],[1],[0],null);}
-function jMb(a){iMb(a);return a;}
-function kMb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(qV(e.a[b],a))return;}c=e.a;d=Ab('[Ljava.lang.String;',[610],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function mMb(e,b){var a,c,d;d=Ab('[Ljava.lang.String;',[610],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function hMb(){}
-_=hMb.prototype=new xU();_.tN=ahc+'MetaData';_.tI=448;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function pMb(b,a){a.a=bc(b.Ad(),63);a.b=b.Bd();a.c=b.Bd();a.d=bc(b.Ad(),59);a.e=b.Bd();a.f=bc(b.Ad(),59);a.g=bc(b.Ad(),59);a.h=b.Bd();a.i=b.Bd();a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=bc(b.Ad(),59);a.n=b.Bd();a.o=b.Bd();a.p=b.Bd();a.q=b.Bd();a.r=b.Bd();a.s=b.Bd();a.t=b.Bd();a.u=b.Bd();a.v=b.zd();}
-function qMb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.bf(a.d);b.cf(a.e);b.bf(a.f);b.bf(a.g);b.cf(a.h);b.cf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.bf(a.m);b.cf(a.n);b.cf(a.o);b.cf(a.p);b.cf(a.q);b.cf(a.r);b.cf(a.s);b.cf(a.t);b.cf(a.u);b.af(a.v);}
-function rMb(){}
-_=rMb.prototype=new xU();_.tN=ahc+'PackageConfigData';_.tI=449;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function vMb(b,a){a.a=b.wd();a.b=b.Bd();a.c=bc(b.Ad(),59);a.d=b.Bd();a.e=b.Bd();a.f=b.Bd();a.g=b.wd();a.h=b.Bd();a.i=bc(b.Ad(),59);a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=b.Bd();}
-function wMb(b,a){b.De(a.a);b.cf(a.b);b.bf(a.c);b.cf(a.d);b.cf(a.e);b.cf(a.f);b.De(a.g);b.cf(a.h);b.bf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.cf(a.m);}
-function CMb(){var a,b,c;c=BSb(new bNb());a=c;b=w()+'jbrmsService';hVb(a,b);return c;}
-function DMb(){var a,b,c;c=jYb(new EXb());a=c;b=w()+'jbrmsService';pYb(a,b);return c;}
-function EMb(){if(BMb===null){FMb();}return BMb;}
-function FMb(){if(AMb)BMb=null;else BMb=CMb();}
-function aNb(d,b,a){var c;c=DMb();oYb(c,d,b,a);}
-var AMb=false,BMb=null;function jUb(){jUb=v3;iVb=kVb(new jVb());}
-function BSb(a){jUb();return a;}
-function CSb(b,a,c,d){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'archiveAsset');mo(a,2);oo(a,'java.lang.String');oo(a,'Z');oo(a,c);lo(a,d);}
-function ESb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildAsset');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
-function DSb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildAssetSource');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
-function aTb(d,c,a,b){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'buildPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,a);oo(c,b);}
-function FSb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildPackageSource');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function bTb(d,c,e,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'changeAssetPackage');mo(c,3);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,e);oo(c,b);oo(c,a);}
-function cTb(c,b,d,a,e){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'changeState');mo(b,3);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,'Z');oo(b,d);oo(b,a);lo(b,e);}
-function dTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'checkinVersion');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
-function eTb(e,d,a,c,b){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'copyAsset');mo(d,3);oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,a);oo(d,c);oo(d,b);}
-function fTb(f,e,c,d,a,b){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'copyOrRemoveSnapshot');mo(e,4);oo(e,'java.lang.String');oo(e,'java.lang.String');oo(e,'Z');oo(e,'java.lang.String');oo(e,c);oo(e,d);lo(e,a);oo(e,b);}
-function gTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'copyPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
-function hTb(e,d,c,b,a){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'createCategory');mo(d,3);oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,c);oo(d,b);oo(d,a);}
-function iTb(g,f,e,a,c,d,b){if(g.a===null)throw um(new tm());rp(f);oo(f,'org.drools.brms.client.rpc.RepositoryService');oo(f,'createNewRule');mo(f,5);oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,e);oo(f,a);oo(f,c);oo(f,d);oo(f,b);}
-function kTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'createPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
-function jTb(f,e,b,d,c,a){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'createPackageSnapshot');mo(e,4);oo(e,'java.lang.String');oo(e,'java.lang.String');oo(e,'Z');oo(e,'java.lang.String');oo(e,b);oo(e,d);lo(e,c);oo(e,a);}
-function lTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'createState');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function mTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'deleteUncheckedRule');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
-function nTb(f,e,c,a,b,d){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'listAssets');mo(e,4);oo(e,'java.lang.String');oo(e,'[Ljava.lang.String;');oo(e,'I');oo(e,'I');oo(e,c);no(e,a);mo(e,b);mo(e,d);}
-function oTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'listPackages');mo(a,0);}
-function pTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'listSnapshots');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function qTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'listStates');mo(a,0);}
-function rTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadArchivedAssets');mo(a,0);}
-function sTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadAssetHistory');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
-function tTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadChildCategories');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function uTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadPackageConfig');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
-function vTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadRuleAsset');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function wTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadRuleListForCategories');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function xTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadSuggestionCompletionEngine');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function yTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadTableConfig');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function zTb(e,d,c,a,b){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'quickFindAsset');mo(d,3);oo(d,'java.lang.String');oo(d,'I');oo(d,'Z');oo(d,c);mo(d,a);lo(d,b);}
-function ATb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'rebuildSnapshots');mo(a,0);}
-function BTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'removeAsset');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
-function CTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'removeCategory');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function DTb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'renameAsset');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
-function ETb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'renamePackage');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
-function FTb(d,c,e,a,b){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'restoreVersion');mo(c,3);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,e);oo(c,a);oo(c,b);}
-function aUb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'savePackage');mo(b,1);oo(b,'org.drools.brms.client.rpc.PackageConfigData');no(b,a);}
-function bUb(h,i,j,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{CSb(h,g,i,j);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=qOb(new cNb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=hQb(new uOb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=ERb(new lQb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fUb(j,f,g,c){var a,d,e,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{aTb(j,i,f,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=dSb(new cSb(),j,h,c);if(!zg(j.a,up(i),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{FSb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=iSb(new hSb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gUb(j,k,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{bTb(j,i,k,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=nSb(new mSb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hUb(i,j,f,k,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{cTb(i,h,j,f,k);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=sSb(new rSb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function iUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{dTb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=xSb(new wSb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function kUb(k,c,h,g,d){var a,e,f,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{eTb(k,j,c,h,g);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=eNb(new dNb(),k,i,d);if(!zg(k.a,up(j),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lUb(l,h,i,d,g,c){var a,e,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{fTb(l,k,h,i,d,g);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=jNb(new iNb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mUb(j,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{gTb(j,i,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=oNb(new nNb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function nUb(k,h,g,d,c){var a,e,f,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{hTb(k,j,h,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=tNb(new sNb(),k,i,c);if(!zg(k.a,up(j),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oUb(m,j,d,h,i,f,c){var a,e,g,k,l;k=Ao(new zo(),iVb);l=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{iTb(m,l,j,d,h,i,f);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}g=yNb(new xNb(),m,k,c);if(!zg(m.a,up(l),g))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qUb(j,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{kTb(j,i,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=DNb(new CNb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pUb(l,g,i,h,d,c){var a,e,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{jTb(l,k,g,i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=cOb(new bOb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=hOb(new gOb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sUb(j,g,f,c){var a,d,e,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{mTb(j,i,g,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=mOb(new lOb(),j,h,c);if(!zg(j.a,up(i),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tUb(l,h,e,g,i,c){var a,d,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{nTb(l,k,h,e,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}f=wOb(new vOb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{oTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=BOb(new AOb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{pTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=aPb(new FOb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{qTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=fPb(new ePb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function xUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{rTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=kPb(new jPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function yUb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{sTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=pPb(new oPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function zUb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{tTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=uPb(new tPb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function AUb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{uTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=zPb(new yPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function BUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{vTb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=EPb(new DPb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CUb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{wTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=dQb(new cQb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{xTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=nQb(new mQb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function EUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{yTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=sQb(new rQb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FUb(k,h,f,g,c){var a,d,e,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{zTb(k,j,h,f,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=xQb(new wQb(),k,i,c);if(!zg(k.a,up(j),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aVb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ATb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=CQb(new BQb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bVb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{BTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=bRb(new aRb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cVb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{CTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=gRb(new fRb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dVb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{DTb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=lRb(new kRb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eVb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ETb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=qRb(new pRb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fVb(j,k,c,e,d){var a,f,g,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{FTb(j,i,k,c,e);}catch(a){a=mc(a);if(cc(a,92)){f=a;jdb(d,f);return;}else throw a;}g=vRb(new uRb(),j,h,d);if(!zg(j.a,up(i),g))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gVb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{aUb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=ARb(new zRb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hVb(b,a){b.a=a;}
-function bNb(){}
-_=bNb.prototype=new xU();_.tN=ahc+'RepositoryService_Proxy';_.tI=450;_.a=null;var iVb;function qOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)x7(g.a,f);else jdb(g.a,c);}
-function tOb(a){var b;b=y;sOb(this,a);}
-function cNb(){}
-_=cNb.prototype=new xU();_.xc=tOb;_.tN=ahc+'RepositoryService_Proxy$1';_.tI=451;function eNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)p1b(g.a,f);else jdb(g.a,c);}
-function hNb(a){var b;b=y;gNb(this,a);}
-function dNb(){}
-_=dNb.prototype=new xU();_.xc=hNb;_.tN=ahc+'RepositoryService_Proxy$10';_.tI=452;function jNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function lNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function mNb(a){var b;b=y;lNb(this,a);}
-function iNb(){}
-_=iNb.prototype=new xU();_.xc=mNb;_.tN=ahc+'RepositoryService_Proxy$11';_.tI=453;function oNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function qNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)rCb(g.a,f);else jdb(g.a,c);}
-function rNb(a){var b;b=y;qNb(this,a);}
-function nNb(){}
-_=nNb.prototype=new xU();_.xc=rNb;_.tN=ahc+'RepositoryService_Proxy$12';_.tI=454;function tNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)C$(g.a,f);else jdb(g.a,c);}
-function wNb(a){var b;b=y;vNb(this,a);}
-function sNb(){}
-_=sNb.prototype=new xU();_.xc=wNb;_.tN=ahc+'RepositoryService_Proxy$13';_.tI=455;function yNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function ANb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)e8b(g.a,f);else jdb(g.a,c);}
-function BNb(a){var b;b=y;ANb(this,a);}
-function xNb(){}
-_=xNb.prototype=new xU();_.xc=BNb;_.tN=ahc+'RepositoryService_Proxy$14';_.tI=456;function DNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)vzb(g.a,f);else jdb(g.a,c);}
-function aOb(a){var b;b=y;FNb(this,a);}
-function CNb(){}
-_=CNb.prototype=new xU();_.xc=aOb;_.tN=ahc+'RepositoryService_Proxy$15';_.tI=457;function cOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function eOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)wAb(g.a,f);else jdb(g.a,c);}
-function fOb(a){var b;b=y;eOb(this,a);}
-function bOb(){}
-_=bOb.prototype=new xU();_.xc=fOb;_.tN=ahc+'RepositoryService_Proxy$16';_.tI=458;function hOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)j$(g.a,f);else jdb(g.a,c);}
-function kOb(a){var b;b=y;jOb(this,a);}
-function gOb(){}
-_=gOb.prototype=new xU();_.xc=kOb;_.tN=ahc+'RepositoryService_Proxy$17';_.tI=459;function mOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f_b(g.a,f);else jdb(g.a,c);}
-function pOb(a){var b;b=y;oOb(this,a);}
-function lOb(){}
-_=lOb.prototype=new xU();_.xc=pOb;_.tN=ahc+'RepositoryService_Proxy$18';_.tI=460;function hQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)i9b(g.a,f);else jdb(g.a,c);}
-function kQb(a){var b;b=y;jQb(this,a);}
-function uOb(){}
-_=uOb.prototype=new xU();_.xc=kQb;_.tN=ahc+'RepositoryService_Proxy$2';_.tI=461;function wOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)nGb(g.a,f);else jdb(g.a,c);}
-function zOb(a){var b;b=y;yOb(this,a);}
-function vOb(){}
-_=vOb.prototype=new xU();_.xc=zOb;_.tN=ahc+'RepositoryService_Proxy$20';_.tI=462;function BOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function EOb(a){var b;b=y;DOb(this,a);}
-function AOb(){}
-_=AOb.prototype=new xU();_.xc=EOb;_.tN=ahc+'RepositoryService_Proxy$21';_.tI=463;function aPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function dPb(a){var b;b=y;cPb(this,a);}
-function FOb(){}
-_=FOb.prototype=new xU();_.xc=dPb;_.tN=ahc+'RepositoryService_Proxy$22';_.tI=464;function fPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function iPb(a){var b;b=y;hPb(this,a);}
-function ePb(){}
-_=ePb.prototype=new xU();_.xc=iPb;_.tN=ahc+'RepositoryService_Proxy$23';_.tI=465;function kPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f8(g.a,f);else jdb(g.a,c);}
-function nPb(a){var b;b=y;mPb(this,a);}
-function jPb(){}
-_=jPb.prototype=new xU();_.xc=nPb;_.tN=ahc+'RepositoryService_Proxy$24';_.tI=466;function pPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)gac(g.a,f);else jdb(g.a,c);}
-function sPb(a){var b;b=y;rPb(this,a);}
-function oPb(){}
-_=oPb.prototype=new xU();_.xc=sPb;_.tN=ahc+'RepositoryService_Proxy$25';_.tI=467;function uPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function xPb(a){var b;b=y;wPb(this,a);}
-function tPb(){}
-_=tPb.prototype=new xU();_.xc=xPb;_.tN=ahc+'RepositoryService_Proxy$26';_.tI=468;function zPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function BPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function CPb(a){var b;b=y;BPb(this,a);}
-function yPb(){}
-_=yPb.prototype=new xU();_.xc=CPb;_.tN=ahc+'RepositoryService_Proxy$27';_.tI=469;function EPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function bQb(a){var b;b=y;aQb(this,a);}
-function DPb(){}
-_=DPb.prototype=new xU();_.xc=bQb;_.tN=ahc+'RepositoryService_Proxy$28';_.tI=470;function dQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)rcc(g.a,f);else jdb(g.a,c);}
-function gQb(a){var b;b=y;fQb(this,a);}
-function cQb(){}
-_=cQb.prototype=new xU();_.xc=gQb;_.tN=ahc+'RepositoryService_Proxy$29';_.tI=471;function ERb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)n9b(g.a,f);else jdb(g.a,c);}
-function bSb(a){var b;b=y;aSb(this,a);}
-function lQb(){}
-_=lQb.prototype=new xU();_.xc=bSb;_.tN=ahc+'RepositoryService_Proxy$3';_.tI=472;function nQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)oLb(g.a,f);else jdb(g.a,c);}
-function qQb(a){var b;b=y;pQb(this,a);}
-function mQb(){}
-_=mQb.prototype=new xU();_.xc=qQb;_.tN=ahc+'RepositoryService_Proxy$30';_.tI=473;function sQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)hdc(g.a,f);else jdb(g.a,c);}
-function vQb(a){var b;b=y;uQb(this,a);}
-function rQb(){}
-_=rQb.prototype=new xU();_.xc=vQb;_.tN=ahc+'RepositoryService_Proxy$31';_.tI=474;function xQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function AQb(a){var b;b=y;zQb(this,a);}
-function wQb(){}
-_=wQb.prototype=new xU();_.xc=AQb;_.tN=ahc+'RepositoryService_Proxy$32';_.tI=475;function CQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function EQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)bKb(g.a,f);else jdb(g.a,c);}
-function FQb(a){var b;b=y;EQb(this,a);}
-function BQb(){}
-_=BQb.prototype=new xU();_.xc=FQb;_.tN=ahc+'RepositoryService_Proxy$33';_.tI=476;function bRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)a8(g.a,f);else jdb(g.a,c);}
-function eRb(a){var b;b=y;dRb(this,a);}
-function aRb(){}
-_=aRb.prototype=new xU();_.xc=eRb;_.tN=ahc+'RepositoryService_Proxy$34';_.tI=477;function gRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)x9(g.a,f);else jdb(g.a,c);}
-function jRb(a){var b;b=y;iRb(this,a);}
-function fRb(){}
-_=fRb.prototype=new xU();_.xc=jRb;_.tN=ahc+'RepositoryService_Proxy$35';_.tI=478;function lRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f7b(g.a,f);else jdb(g.a,c);}
-function oRb(a){var b;b=y;nRb(this,a);}
-function kRb(){}
-_=kRb.prototype=new xU();_.xc=oRb;_.tN=ahc+'RepositoryService_Proxy$36';_.tI=479;function qRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)dFb(g.a,f);else jdb(g.a,c);}
-function tRb(a){var b;b=y;sRb(this,a);}
-function pRb(){}
-_=pRb.prototype=new xU();_.xc=tRb;_.tN=ahc+'RepositoryService_Proxy$37';_.tI=480;function vRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)pbc(g.a,f);else jdb(g.a,c);}
-function yRb(a){var b;b=y;xRb(this,a);}
-function uRb(){}
-_=uRb.prototype=new xU();_.xc=yRb;_.tN=ahc+'RepositoryService_Proxy$38';_.tI=481;function ARb(b,a,d,c){b.b=d;b.a=c;return b;}
-function CRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)wCb(g.a,f);else jdb(g.a,c);}
-function DRb(a){var b;b=y;CRb(this,a);}
-function zRb(){}
-_=zRb.prototype=new xU();_.xc=DRb;_.tN=ahc+'RepositoryService_Proxy$39';_.tI=482;function dSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)vBb(g.a,f);else jdb(g.a,c);}
-function gSb(a){var b;b=y;fSb(this,a);}
-function cSb(){}
-_=cSb.prototype=new xU();_.xc=gSb;_.tN=ahc+'RepositoryService_Proxy$4';_.tI=483;function iSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function kSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)gBb(g.a,f);else jdb(g.a,c);}
-function lSb(a){var b;b=y;kSb(this,a);}
-function hSb(){}
-_=hSb.prototype=new xU();_.xc=lSb;_.tN=ahc+'RepositoryService_Proxy$5';_.tI=484;function nSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)D5b(g.a,f);else jdb(g.a,c);}
-function qSb(a){var b;b=y;pSb(this,a);}
-function mSb(){}
-_=mSb.prototype=new xU();_.xc=qSb;_.tN=ahc+'RepositoryService_Proxy$6';_.tI=485;function sSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)jfb(g.a,f);else jdb(g.a,c);}
-function vSb(a){var b;b=y;uSb(this,a);}
-function rSb(){}
-_=rSb.prototype=new xU();_.xc=vSb;_.tN=ahc+'RepositoryService_Proxy$7';_.tI=486;function xSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)k_b(g.a,f);else jdb(g.a,c);}
-function ASb(a){var b;b=y;zSb(this,a);}
-function wSb(){}
-_=wSb.prototype=new xU();_.xc=ASb;_.tN=ahc+'RepositoryService_Proxy$8';_.tI=487;function lVb(){lVb=v3;nXb=mVb();qXb=nVb();}
-function kVb(a){lVb();return a;}
-function mVb(){lVb();return {'[B/2233087514':[function(a){return oVb(a);},function(a,b){hn(a,b);},function(a,b){jn(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return pVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return qVb(a);},function(a,b){jm(a,b);},function(a,b){lm(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return vVb(a);},function(a,b){nE(a,b);},function(a,b){qE(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return wVb(a);},function(a,b){fJ(a,b);},function(a,b){iJ(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return xVb(a);},function(a,b){nJ(a,b);},function(a,b){pJ(a,b);}],'java.lang.Boolean/476441737':[function(a){return Am(a);},function(a,b){zm(a,b);},function(a,b){Bm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return dn(a);},function(a,b){cn(a,b);},function(a,b){en(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return yVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return rVb(a);},function(a,b){mn(a,b);},function(a,b){nn(a,b);}],'java.util.Date/1659716317':[function(a){return rn(a);},function(a,b){qn(a,b);},function(a,b){sn(a,b);}],'java.util.HashMap/962170901':[function(a){return sVb(a);},function(a,b){vn(a,b);},function(a,b){wn(a,b);}],'java.util.HashSet/1594477813':[function(a){return tVb(a);},function(a,b){zn(a,b);},function(a,b){An(a,b);}],'java.util.Vector/3125574444':[function(a){return uVb(a);},function(a,b){Dn(a,b);},function(a,b){En(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return zVb(a);},function(a,b){jhb(a,b);},function(a,b){khb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return AVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return CVb(a);},function(a,b){cib(a,b);},function(a,b){dib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return BVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return EVb(a);},function(a,b){kib(a,b);},function(a,b){lib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return DVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return aWb(a);},function(a,b){sib(a,b);},function(a,b){tib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return FVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn cWb(a);},function(a,b){zib(a,b);},function(a,b){Aib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return bWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return eWb(a);},function(a,b){bjb(a,b);},function(a,b){cjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return dWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return gWb(a);},function(a,b){jjb(a,b);},function(a,b){kjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return fWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return iWb(a);},function(a,b){rjb(a,b);},function(a,b){sjb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn hWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return kWb(a);},function(a,b){zjb(a,b);},function(a,b){Ajb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return jWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return mWb(a);},function(a,b){Fjb(a,b);},function(a,b){akb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return lWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return oWb(a);},function(a,b){hkb(a,b);},function(a,b){ikb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return nWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return qWb(a);},function(a,b){tkb(a,b);},function(a,b){ukb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return pWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return rWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return sWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return tWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return uWb(a);},function(a,b){Ckb(a,b);},function(a,b){Dkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return wWb(a);},function(a,b){elb(a,b);},function(a,b!
 ){flb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return vWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return xWb(a);},function(a,b){zlb(a,b);},function(a,b){Alb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return zWb(a);},function(a,b){cmb(a,b);},function(a,b){dmb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return yWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return BWb(a);},function(a,b){CLb(a,b);},function(a,b){DLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return AWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return CWb(a);},function(a,b){dMb(a,b);},function(a,b){fMb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return DWb(a);},function(a,b){pMb(a,b);},function(a,b){qMb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return FWb(a);},function(a,b){vMb(a,b);},function(a,b){wMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return EWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return aXb(a);},function(a,b){vXb(a,b);},function(a,b){wXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return bXb(a);},function(a,b){BXb(a,b);},function(a,b){CXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return cXb(a);},function(a,b){cZb(a,b);},function(a,b){dZb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return eXb(a);},function(a,b){iZb(a,b);},function(a,b){jZb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn dXb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return fXb(a);},function(a,b){oZb(a,b);},function(a,b){pZb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return gXb(a);},function(a,b){uZb(a,b);},function(a,b){vZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return iXb(a);},function(a,b){AZb(a,b);},function(a,b){BZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return hXb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return jXb(a);},function(a,b){b0b(a,b);},function(a,b){c0b(a,b);}]};}
-function nVb(){lVb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
-function oVb(b){lVb();var a;a=b.yd();return Ab('[B',[623],[(-1)],[a],0);}
-function pVb(a){lVb();return Al(new zl());}
-function qVb(a){lVb();return new fm();}
-function rVb(a){lVb();return FY(new DY());}
-function sVb(a){lVb();return C1(new a1());}
-function tVb(a){lVb();return w2(new v2());}
-function uVb(a){lVb();return j3(new i3());}
-function vVb(a){lVb();return new jE();}
-function wVb(a){lVb();return new EI();}
-function xVb(a){lVb();return new aJ();}
-function yVb(b){lVb();var a;a=b.yd();return Ab('[Ljava.lang.String;',[610],[1],[a],null);}
-function zVb(a){lVb();return Agb(new ygb());}
-function AVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[627],[24],[a],null);}
-function BVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[620],[18],[a],null);}
-function CVb(a){lVb();return new Dhb();}
-function DVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[628],[25],[a],null);}
-function EVb(a){lVb();return fib(new eib());}
-function FVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[629],[26],[a],null);}
-function aWb(a){lVb();return nib(new mib());}
-function bWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[630],[27],[a],null);}
-function cWb(a){lVb();return new uib();}
-function dWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[631],[28],[a],null);}
-function eWb(a){lVb();return Cib(new Bib());}
-function fWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[632],[29],[a],null);}
-function gWb(a){lVb();return ejb(new djb());}
-function hWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[633],[30],[a],null);}
-function iWb(a){lVb();return new ljb();}
-function jWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[634],[31],[a],null);}
-function kWb(a){lVb();return new tjb();}
-function lWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[617],[15],[a],null);}
-function mWb(a){lVb();return new Bjb();}
-function nWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[616],[14],[a],null);}
-function oWb(a){lVb();return new bkb();}
-function pWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[618],[16],[a],null);}
-function qWb(a){lVb();return new kkb();}
-function rWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[17],[a],null);}
-function sWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[626],[23],[a],null);}
-function tWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[625],[22],[a],null);}
-function uWb(a){lVb();return new ykb();}
-function vWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[624],[21],[a],null);}
-function wWb(a){lVb();return new Fkb();}
-function xWb(a){lVb();return jlb(new hlb());}
-function yWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[635],[32],[a],null);}
-function zWb(a){lVb();return new Blb();}
-function AWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.BuilderResult;',[611],[10],[a],null);}
-function BWb(a){lVb();return new yLb();}
-function CWb(a){lVb();return new FLb();}
-function DWb(a){lVb();return jMb(new hMb());}
-function EWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.PackageConfigData;',[621],[19],[a],null);}
-function FWb(a){lVb();return new rMb();}
-function aXb(a){lVb();return new rXb();}
-function bXb(a){lVb();return new xXb();}
-function cXb(a){lVb();return new EYb();}
-function dXb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[612],[11],[a],null);}
-function eXb(a){lVb();return new eZb();}
-function fXb(a){lVb();return new kZb();}
-function gXb(a){lVb();return new qZb();}
-function hXb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.TableDataRow;',[615],[13],[a],null);}
-function iXb(a){lVb();return new wZb();}
-function jXb(a){lVb();return new DZb();}
-function kXb(c,a,d){var b=nXb[d];if(!b){oXb(d);}b[1](c,a);}
-function lXb(b){var a=qXb[b];return a==null?b:a;}
-function mXb(b,c){var a=nXb[c];if(!a){oXb(c);}return a[0](b);}
-function oXb(a){lVb();throw pm(new om(),a);}
-function pXb(c,a,d){var b=nXb[d];if(!b){oXb(d);}b[2](c,a);}
-function jVb(){}
-_=jVb.prototype=new xU();_.gb=kXb;_.Db=lXb;_.jc=mXb;_.fe=pXb;_.tN=ahc+'RepositoryService_TypeSerializer';_.tI=488;var nXb,qXb;function rXb(){}
-_=rXb.prototype=new xU();_.tN=ahc+'RuleAsset';_.tI=489;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function vXb(b,a){a.a=b.wd();a.b=bc(b.Ad(),39);a.c=b.wd();a.d=bc(b.Ad(),93);a.e=b.Bd();}
-function wXb(b,a){b.De(a.a);b.bf(a.b);b.De(a.c);b.bf(a.d);b.cf(a.e);}
-function xXb(){}
-_=xXb.prototype=new xU();_.tN=ahc+'RuleContentText';_.tI=490;_.a=null;function BXb(b,a){a.a=b.Bd();}
-function CXb(b,a){b.cf(a.a);}
-function mYb(){mYb=v3;qYb=sYb(new rYb());}
-function jYb(a){mYb();return a;}
-function kYb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.SecurityService');oo(a,'getCurrentUser');mo(a,0);}
-function lYb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.SecurityService');oo(b,'login');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
-function nYb(h,c){var a,d,e,f,g;f=Ao(new zo(),qYb);g=np(new lp(),qYb,w(),'C384F35B503938C7EC9B9EB6B150D06F');try{kYb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;c.Ac(d);return;}else throw a;}e=aYb(new FXb(),h,f,c);if(!zg(h.a,up(g),e))c.Ac(bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oYb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),qYb);h=np(new lp(),qYb,w(),'C384F35B503938C7EC9B9EB6B150D06F');try{lYb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=fYb(new eYb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pYb(b,a){b.a=a;}
-function EXb(){}
-_=EXb.prototype=new xU();_.tN=ahc+'SecurityService_Proxy';_.tI=491;_.a=null;var qYb;function aYb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cYb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else g.a.Ac(c);}
-function dYb(a){var b;b=y;cYb(this,a);}
-function FXb(){}
-_=FXb.prototype=new xU();_.xc=dYb;_.tN=ahc+'SecurityService_Proxy$1';_.tI=492;function fYb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hYb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=BS(new AS(),Eo(g.b));}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)q6(g.a,f);else jdb(g.a,c);}
-function iYb(a){var b;b=y;hYb(this,a);}
-function eYb(){}
-_=eYb.prototype=new xU();_.xc=iYb;_.tN=ahc+'SecurityService_Proxy$2';_.tI=493;function tYb(){tYb=v3;AYb=uYb();DYb=vYb();}
-function sYb(a){tYb();return a;}
-function uYb(){tYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return wYb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'java.lang.String/2004016611':[function(a){return dn(a);},function(a,b){cn(a,b);},function(a,b){en(a,b);}]};}
-function vYb(){tYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
-function wYb(a){tYb();return Al(new zl());}
-function xYb(c,a,d){var b=AYb[d];if(!b){BYb(d);}b[1](c,a);}
-function yYb(b){var a=DYb[b];return a==null?b:a;}
-function zYb(b,c){var a=AYb[c];if(!a){BYb(c);}return a[0](b);}
-function BYb(a){tYb();throw pm(new om(),a);}
-function CYb(c,a,d){var b=AYb[d];if(!b){BYb(d);}b[2](c,a);}
-function rYb(){}
-_=rYb.prototype=new xU();_.gb=xYb;_.Db=yYb;_.jc=zYb;_.fe=CYb;_.tN=ahc+'SecurityService_TypeSerializer';_.tI=494;var AYb,DYb;function EYb(){}
-_=EYb.prototype=new fm();_.tN=ahc+'SessionExpiredException';_.tI=495;function cZb(b,a){jm(b,a);}
-function dZb(b,a){lm(b,a);}
-function eZb(){}
-_=eZb.prototype=new xU();_.tN=ahc+'SnapshotInfo';_.tI=496;_.a=null;_.b=null;_.c=null;function iZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
-function jZb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
-function kZb(){}
-_=kZb.prototype=new xU();_.tN=ahc+'TableConfig';_.tI=497;_.a=null;_.b=0;function oZb(b,a){a.a=bc(b.Ad(),63);a.b=b.yd();}
-function pZb(b,a){b.bf(a.a);b.Fe(a.b);}
-function qZb(){}
-_=qZb.prototype=new xU();_.tN=ahc+'TableDataResult';_.tI=498;_.a=null;function uZb(b,a){a.a=bc(b.Ad(),94);}
-function vZb(b,a){b.bf(a.a);}
-function CZb(a){return wV(a,'\\,')[0];}
-function wZb(){}
-_=wZb.prototype=new xU();_.tN=ahc+'TableDataRow';_.tI=499;_.a=null;_.b=null;_.c=null;function AZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=bc(b.Ad(),63);}
-function BZb(b,a){b.cf(a.a);b.cf(a.b);b.bf(a.c);}
-function DZb(){}
-_=DZb.prototype=new xU();_.tN=ahc+'ValidatedResponse';_.tI=500;_.a=null;_.b=null;_.c=false;_.d=null;function b0b(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.wd();a.d=bc(b.Ad(),39);}
-function c0b(b,a){b.cf(a.a);b.cf(a.b);b.De(a.c);b.bf(a.d);}
-function r1b(a){a.e=lu(new fu());}
-function s1b(j,b,c,a,f,d,g){var e,h,i;r1b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=dA(new hx());i=j.f.r;e=ou(j.e);h=FA(new DA());z1b(j,i);aB(h,j.g);if(!g){v1b(j,e,h);}B1b(j,f,e);gs(j,j.e);j.xe('100%');return j;}
-function u1b(c,a,b){Ch('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
-function v1b(h,e,g){var a,b,c,d,f;d=odb(new ndb(),'images/edit.gif');d.pe('Change status.');fC(d,n0b(new e0b(),h));aB(g,d);h.e.ve(0,0,g);Bx(e,0,0,(oA(),qA),(xA(),AA));f=qq(new kq(),'Save changes');f.pe('Check in changes.');f.x(r0b(new q0b(),h));aB(g,f);b=qq(new kq(),'Copy');b.x(v0b(new u0b(),h));aB(g,b);a=qq(new kq(),'Archive');a.x(z0b(new y0b(),h));aB(g,a);if(h.f.v==0){c=qq(new kq(),'Delete');c.x(D0b(new C0b(),h));aB(g,c);}}
-function w1b(b,c){var a;a=F2b(new A2b(),lO(c),mO(c),'Check in changes.');c3b(a,g0b(new f0b(),b,a));d3b(a);}
-function x1b(e,f){var a,b,c,d;a=ddb(new Ecb(),'images/rule_asset.gif','Copy this item');b=zL(new kL());c=reb(new meb());edb(a,'New name:',b);edb(a,'New package:',c);d=qq(new kq(),'Create copy');d.x(j1b(new i1b(),e,c,b,a));edb(a,'',d);lF(a,fc((fbb()-gF(a))/2),100);oF(a);}
-function y1b(b,a){b.c=a;}
-function z1b(b,a){hA(b.g,'Status: <b>['+a+']<\/b>');}
-function A1b(b,c){var a;a=lfb(new veb(),b.h,false);ofb(a,k0b(new j0b(),b,a));lF(a,lO(c),mO(c));oF(a);}
-function B1b(e,d,b){var a,c,f;f=FA(new DA());c=odb(new ndb(),'images/max_min.gif');fC(c,b1b(new a1b(),e,d));aB(f,c);a=odb(new ndb(),'images/close.gif');a.pe('Close.');fC(a,f1b(new e1b(),e));aB(f,a);e.e.ve(0,1,f);Bx(b,0,1,(oA(),rA),(xA(),AA));}
-function d0b(){}
-_=d0b.prototype=new es();_.tN=bhc+'ActionToolbar';_.tI=501;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function n0b(b,a){b.a=a;return b;}
-function p0b(a){A1b(this.a,a);}
-function e0b(){}
-_=e0b.prototype=new xU();_.wc=p0b;_.tN=bhc+'ActionToolbar$1';_.tI=502;function g0b(b,a,c){b.a=a;b.b=c;return b;}
-function i0b(){this.a.f.b=b3b(this.b);h$b(this.a.b);}
-function f0b(){}
-_=f0b.prototype=new xU();_.nb=i0b;_.tN=bhc+'ActionToolbar$10';_.tI=503;function k0b(b,a,c){b.a=a;b.b=c;return b;}
-function m0b(){z1b(this.a,this.b.c);}
-function j0b(){}
-_=j0b.prototype=new xU();_.nb=m0b;_.tN=bhc+'ActionToolbar$11';_.tI=504;function r0b(b,a){b.a=a;return b;}
-function t0b(a){w1b(this.a,a);}
-function q0b(){}
-_=q0b.prototype=new xU();_.wc=t0b;_.tN=bhc+'ActionToolbar$2';_.tI=505;function v0b(b,a){b.a=a;return b;}
-function x0b(a){x1b(this.a,a);}
-function u0b(){}
-_=u0b.prototype=new xU();_.wc=x0b;_.tN=bhc+'ActionToolbar$3';_.tI=506;function z0b(b,a){b.a=a;return b;}
-function B0b(a){if(Eh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+t0(l0(new k0()));m$b(this.a.a);}}
-function y0b(){}
-_=y0b.prototype=new xU();_.wc=B0b;_.tN=bhc+'ActionToolbar$4';_.tI=507;function D0b(b,a){b.a=a;return b;}
-function F0b(a){if(Eh('Are you sure you want to permanently delete this (unversioned) item?')){w$b(this.a.d);}}
-function C0b(){}
-_=C0b.prototype=new xU();_.wc=F0b;_.tN=bhc+'ActionToolbar$5';_.tI=508;function b1b(b,a,c){b.a=c;return b;}
-function d1b(a){r$b(this.a);}
-function a1b(){}
-_=a1b.prototype=new xU();_.wc=d1b;_.tN=bhc+'ActionToolbar$6';_.tI=509;function f1b(b,a){b.a=a;return b;}
-function h1b(a){a_b(this.a.c);}
-function e1b(){}
-_=e1b.prototype=new xU();_.wc=h1b;_.tN=bhc+'ActionToolbar$7';_.tI=510;function j1b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
-function l1b(a){kUb(EMb(),this.a.h,teb(this.d),rL(this.c),n1b(new m1b(),this,this.c,this.d,this.b));}
-function i1b(){}
-_=i1b.prototype=new xU();_.wc=l1b;_.tN=bhc+'ActionToolbar$8';_.tI=511;function n1b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
-function p1b(b,a){u1b(b.a.a,rL(b.c),teb(b.d));b.b.hc();}
-function q1b(a){p1b(this,a);}
-function m1b(){}
-_=m1b.prototype=new hdb();_.md=q1b;_.tN=bhc+'ActionToolbar$9';_.tI=512;function r2b(a){a.b=kbb(new ibb());}
-function s2b(c,a,b){r2b(c);c.a=a;c.c=lu(new fu());x2b(c,c.c);uO(c.c,'rule-List');nbb(c.b,0,0,c.c);if(!b){v2b(c);}gs(c,c.b);return c;}
-function t2b(b,a){kMb(b.a,a);z2b(b);}
-function v2b(c){var a,b;a=hP(new fP());b=odb(new ndb(),'images/new_item.gif');b.pe('Add a new category.');fC(b,g2b(new f2b(),c));iP(a,b);nbb(c.b,0,1,a);}
-function w2b(b){var a;a=p2b(new n2b(),b);lF(a,lO(b),mO(b));oF(a);}
-function x2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;yz(d,b,0,e.a.a[b]);a=odb(new ndb(),'images/trash.gif');a.pe('Remove this category');fC(a,k2b(new j2b(),e,c));d.ve(b,1,a);}}
-function y2b(b,a){mMb(b.a,a);dbb(b);z2b(b);}
-function z2b(a){a.c=lu(new fu());uO(a.c,'rule-List');nbb(a.b,0,0,a.c);x2b(a,a.c);dbb(a);}
-function C1b(){}
-_=C1b.prototype=new bbb();_.tN=bhc+'AssetCategoryEditor';_.tI=513;_.a=null;_.c=null;function E1b(b,a){b.a=a;return b;}
-function a2b(a){this.a.b=a;}
-function D1b(){}
-_=D1b.prototype=new xU();_.ee=a2b;_.tN=bhc+'AssetCategoryEditor$1';_.tI=514;function c2b(b,a){b.a=a;return b;}
-function e2b(a){if(this.a.b!==null&& !qV('',this.a.b)){t2b(this.a.d,this.a.b);}this.a.hc();}
-function b2b(){}
-_=b2b.prototype=new xU();_.wc=e2b;_.tN=bhc+'AssetCategoryEditor$2';_.tI=515;function g2b(b,a){b.a=a;return b;}
-function i2b(a){w2b(this.a);}
-function f2b(){}
-_=f2b.prototype=new xU();_.wc=i2b;_.tN=bhc+'AssetCategoryEditor$3';_.tI=516;function k2b(b,a,c){b.a=a;b.b=c;return b;}
-function m2b(a){y2b(this.a,this.b);}
-function j2b(){}
-_=j2b.prototype=new xU();_.wc=m2b;_.tN=bhc+'AssetCategoryEditor$4';_.tI=517;function q2b(){q2b=v3;eF();}
-function o2b(a){a.a=qq(new kq(),'OK');}
-function p2b(b,a){var c;q2b();b.d=a;bF(b,true);o2b(b);c=hP(new fP());b.c=v_(new e_(),E1b(new D1b(),b));uO(b,'ks-popups-Popup');iP(c,b.c);iP(c,b.a);CH(b,c);b.a.x(c2b(new b2b(),b));return b;}
-function n2b(){}
-_=n2b.prototype=new FE();_.tN=bhc+'AssetCategoryEditor$CategorySelector';_.tI=518;_.b=null;_.c=null;function F2b(c,a,d,b){c.b=ddb(new Ecb(),'images/checkin.gif',b);c.a=eL(new dL());c.a.xe('100%');c.c=qq(new kq(),'Save');edb(c.b,'Comment',c.a);edb(c.b,'',c.c);uO(c.b,'ks-popups-Popup');lF(c.b,a,d);return c;}
-function b3b(a){return rL(a.a);}
-function c3b(b,a){b.c.x(C2b(new B2b(),b,a));}
-function d3b(a){lF(a.b,fc((fbb()-gF(a.b))/2),100);oF(a.b);}
-function A2b(){}
-_=A2b.prototype=new xU();_.tN=bhc+'CheckinPopup';_.tI=519;_.a=null;_.b=null;_.c=null;function C2b(b,a,c){b.a=a;b.b=c;return b;}
-function E2b(a){this.b.nb();this.a.b.hc();}
-function B2b(){}
-_=B2b.prototype=new xU();_.wc=E2b;_.tN=bhc+'CheckinPopup$1';_.tI=520;function A3b(){A3b=v3;eF();}
-function y3b(g,f,e){var a,b,c,d;A3b();bF(g,true);g.d=f;g.b=zL(new kL());g.b.xe('100%');b='<enter text to filter list>';vL(g.b,'<enter text to filter list>');gv(g.b,g3b(new f3b(),g));oL(g.b,l3b(new k3b(),g,e));g.b.le(true);d=hP(new fP());iP(d,g.b);g.c=mD(new eD());CD(g.c,5);C3b(g,x5b(g.d,''));iP(d,g.c);c=qq(new kq(),'ok');c.x(r3b(new q3b(),g,e));a=qq(new kq(),'cancel');a.x(v3b(new u3b(),g));g.a=FA(new DA());aB(g.a,c);aB(g.a,a);iP(d,g.a);CH(g,d);uO(g,'ks-popups-Popup');return g;}
-function z3b(b,a){q4b(a,B3b(b));b.hc();}
-function B3b(a){return vD(a.c,wD(a.c));}
-function C3b(c,a){var b;sD(c.c);for(b=0;b<a.b;b++){pD(c.c,bc(gZ(a,b),14).a);}}
-function e3b(){}
-_=e3b.prototype=new FE();_.tN=bhc+'ChoiceList';_.tI=521;_.a=null;_.b=null;_.c=null;_.d=null;function g3b(b,a){b.a=a;return b;}
-function i3b(a){vL(this.a.b,'');}
-function j3b(a){vL(this.a.b,'<enter text to filter list>');}
-function f3b(){}
-_=f3b.prototype=new xU();_.Bc=i3b;_.dd=j3b;_.tN=bhc+'ChoiceList$1';_.tI=522;function l3b(b,a,c){b.a=a;b.b=c;return b;}
-function n3b(a,b,c){}
-function o3b(a,b,c){}
-function p3b(a,b,c){if(b==13){z3b(this.a,this.b);}else{C3b(this.a,x5b(this.a.d,rL(this.a.b)));}}
-function k3b(){}
-_=k3b.prototype=new xU();_.Fc=n3b;_.ad=o3b;_.bd=p3b;_.tN=bhc+'ChoiceList$2';_.tI=523;function r3b(b,a,c){b.a=a;b.b=c;return b;}
-function t3b(a){z3b(this.a,this.b);}
-function q3b(){}
-_=q3b.prototype=new xU();_.wc=t3b;_.tN=bhc+'ChoiceList$3';_.tI=524;function v3b(b,a){b.a=a;return b;}
-function x3b(a){this.a.hc();}
-function u3b(){}
-_=u3b.prototype=new xU();_.wc=x3b;_.tN=bhc+'ChoiceList$4';_.tI=525;function o4b(i,a){var b,c,d,e,f,g,h,j;b=bc(a.b,95);i.c=b;i.d=eL(new dL());jL(i.d,10);vL(i.d,i.c.a);i.d.pe('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=uLb((sLb(),xLb),a.d.o);i.a=c.a;i.b=c.b;uO(i.d,'dsl-text-Editor');d=lu(new fu());d.ve(0,0,i.d);nL(i.d,F3b(new E3b(),i));oL(i.d,d4b(new c4b(),i));j=hP(new fP());e=odb(new ndb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.pe('Add a new condition');fC(e,h4b(new g4b(),i));h=odb(new ndb(),'images/new_dsl_action.gif');g='Add an action';h.pe('Add an action');fC(h,l4b(new k4b(),i));iP(j,e);iP(j,h);d.ve(0,1,j);by(d.n,0,0,'95%');by(d.n,0,1,'5%');d.xe('100%');d.ne('100%');gs(i,d);return i;}
-function q4b(e,b){var a,c,d;a=gL(e.d);c=AV(rL(e.d),0,a);d=AV(rL(e.d),a,uV(rL(e.d)));vL(e.d,c+b+d);e.c.a=rL(e.d);}
-function r4b(b){var a;a=AV(rL(b.d),0,gL(b.d));if(sV(a,'then')>(-1)){s4b(b,b.a);}else{s4b(b,b.b);}}
-function s4b(c,b){var a;a=y3b(new e3b(),b,c);lF(a,lO(c.d)+20,mO(c.d)+20);oF(a);}
-function D3b(){}
-_=D3b.prototype=new bbb();_.tN=bhc+'DSLRuleEditor';_.tI=526;_.a=null;_.b=null;_.c=null;_.d=null;function F3b(b,a){b.a=a;return b;}
-function b4b(a){this.a.c.a=rL(this.a.d);dbb(this.a);}
-function E3b(){}
-_=E3b.prototype=new xU();_.vc=b4b;_.tN=bhc+'DSLRuleEditor$1';_.tI=527;function d4b(b,a){b.a=a;return b;}
-function f4b(a,b,c){if(b==32&&c==2){r4b(this.a);}if(b==9){q4b(this.a,'\t');sL(this.a.d,gL(this.a.d)+1);pL(this.a.d);}}
-function c4b(){}
-_=c4b.prototype=new mC();_.Fc=f4b;_.tN=bhc+'DSLRuleEditor$2';_.tI=528;function h4b(b,a){b.a=a;return b;}
-function j4b(a){s4b(this.a,this.a.b);}
-function g4b(){}
-_=g4b.prototype=new xU();_.wc=j4b;_.tN=bhc+'DSLRuleEditor$3';_.tI=529;function l4b(b,a){b.a=a;return b;}
-function n4b(a){s4b(this.a,this.a.a);}
-function k4b(){}
-_=k4b.prototype=new xU();_.wc=n4b;_.tN=bhc+'DSLRuleEditor$4';_.tI=530;function C4b(b,a){b.a=a;b.b=bc(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=eL(new dL());jL(b.c,10);vL(b.c,b.b.a);uO(b.c,'default-text-Area');nL(b.c,v4b(new u4b(),b));oL(b.c,z4b(new y4b(),b));gs(b,b.c);return b;}
-function E4b(e,b){var a,c,d;a=gL(e.c);c=AV(rL(e.c),0,a);d=AV(rL(e.c),a,uV(rL(e.c)));vL(e.c,c+b+d);e.b.a=rL(e.c);}
-function t4b(){}
-_=t4b.prototype=new bbb();_.tN=bhc+'DefaultRuleContentWidget';_.tI=531;_.a=null;_.b=null;_.c=null;function v4b(b,a){b.a=a;return b;}
-function x4b(a){this.a.b.a=rL(this.a.c);dbb(this.a);}
-function u4b(){}
-_=u4b.prototype=new xU();_.vc=x4b;_.tN=bhc+'DefaultRuleContentWidget$1';_.tI=532;function z4b(b,a){b.a=a;return b;}
-function B4b(a,b,c){if(b==9){E4b(this.a,'\t');sL(this.a.c,gL(this.a.c)+1);pL(this.a.c);}}
-function y4b(){}
-_=y4b.prototype=new mC();_.Fc=B4b;_.tN=bhc+'DefaultRuleContentWidget$2';_.tI=533;function o5b(){o5b=v3;p5b=s5b();}
-function q5b(a){o5b();var b;b=bc(c2(p5b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
-function r5b(a,b){o5b();if(qV(a.d.k,'brl')){return p9b(new C8b(),fxb(new avb(),a),a);}else if(qV(a.d.k,'dslr')){return p9b(new C8b(),o4b(new D3b(),a),a);}else if(qV(a.d.k,'jar')){return azb(new Fyb(),a,b);}else if(qV(a.d.k,'xls')){return p9b(new C8b(),kgb(new jgb(),a,b),a);}else if(qV(a.d.k,'rf')){return y8b(new x8b(),a,b);}else if(qV(a.d.k,'drl')){return p9b(new C8b(),C4b(new t4b(),a),a);}else if(qV(a.d.k,'enumeration')){return p9b(new C8b(),C4b(new t4b(),a),a);}else{return C4b(new t4b(),a);}}
-function s5b(){o5b();var a;a=C1(new a1());d2(a,'drl','technical_rule_assets.gif');d2(a,'dsl','dsl.gif');d2(a,'function','function_assets.gif');d2(a,'jar','model_asset.gif');d2(a,'xls','spreadsheet_small.gif');d2(a,'brl','business_rule.gif');d2(a,'dslr','business_rule.gif');d2(a,'rf','ruleflow_small.gif');return a;}
-function t5b(d,f,g,e,a){o5b();var b,c,h;h=p_b(new x9b(),a,e);b=a.d.n;if(uV(b)>10){b=AV(b,0,7)+'...';}c=q5b(a.d.k);tK(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(FZ(),a0)){d2(d,g,h);}y_b(h,k5b(new j5b(),f,h,d,g));zK(f,vK(f,h));}
-function u5b(b,d,e,c){o5b();var a;if(F1(b,e)){if(vK(d,bc(c2(b,e),20))==(-1)){a=cc(wK(d,0),96)?'Rule Viewer':'Package Manager';Ch('Asset already opened in '+a);}else{zK(d,vK(d,bc(c2(b,e),20)));}eeb();return;}BUb(EMb(),e,b5b(new a5b(),b,d,e,c));}
-var p5b;function b5b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
-function d5b(c){var a,b;a=bc(c,97);b=(sLb(),xLb);tLb(b,a.d.o,f5b(new e5b(),this,this.a,this.c,this.d,this.b,a));}
-function a5b(){}
-_=a5b.prototype=new hdb();_.md=d5b;_.tN=bhc+'EditorLauncher$1';_.tI=534;function f5b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
-function h5b(a){t5b(a.b,a.d,a.e,a.c,a.a);}
-function i5b(){h5b(this);}
-function e5b(){}
-_=e5b.prototype=new xU();_.nb=i5b;_.tN=bhc+'EditorLauncher$2';_.tI=535;function k5b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
-function m5b(a){yK(a.b,vK(a.b,a.d));zK(a.b,0);if(a.a!==(FZ(),a0)){e2(a.a,a.c);}}
-function n5b(){m5b(this);}
-function j5b(){}
-_=j5b.prototype=new xU();_.nb=n5b;_.tN=bhc+'EditorLauncher$3';_.tI=536;function x5b(e,a){var b,c,d;b=FY(new DY());for(c=0;c<e.a;c++){d=e[c];if(qV(a,'')||yV(d.a,a)){bZ(b,d);}}return b;}
-function m7b(e,a,c,f,d){var b;tcb(e);uO(e,'metadata-Widget');if(!c){b=pdb(new ndb(),'images/edit.gif','Rename this asset');fC(b,d6b(new z5b(),e));xcb(e,'images/meta_data.png',a.n,b);}else{wcb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;r7b(e,a);return e;}
-function n7b(a){a.b=s2b(new C1b(),a.a,a.c);return a.b;}
-function p7b(d,a,e){var b,c;if(!d.c){b=zL(new kL());b.pe(e);vL(b,a.ac());c=a6b(new F5b(),d,a,b);nL(b,c);return b;}else{return CC(new AC(),a.ac());}}
-function q7b(a){if(a.a.v==0){return eA(new hx(),'<i>Not checked in yet<\/i>');}else{return u7b(a,dU(a.a.v));}}
-function r7b(b,a){b.a=a;vcb(b,'Categories:',n7b(b));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Modified on:',t7b(b,b.a.m));vcb(b,'by:',u7b(b,b.a.l));vcb(b,'Note:',u7b(b,b.a.b));vcb(b,'Version:',q7b(b));if(!b.c){vcb(b,'Created on:',t7b(b,b.a.d));}vcb(b,'Created by:',u7b(b,b.a.e));vcb(b,'Format:',eA(new hx(),'<b>'+b.a.k+'<\/b>'));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Package:',s7b(b,b.a.o));vcb(b,'Subject:',p7b(b,h6b(new g6b(),b),'A short description of the subject matter.'));vcb(b,'Type:',p7b(b,m6b(new l6b(),b),'This is for classification purposes.'));vcb(b,'External link:',p7b(b,r6b(new q6b(),b),'This is for relating the asset to an external system.'));vcb(b,'Source:',p7b(b,w6b(new v6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){ycb(b,tac(new A_b(),b.e,b.a,b.d));}}
-function s7b(d,c){var a,b;if(d.c){return u7b(d,c);}else{b=FA(new DA());uO(b,'metadata-Widget');aB(b,u7b(d,c));a=odb(new ndb(),'images/edit.gif');fC(a,B6b(new A6b(),d,c));aB(b,a);return b;}}
-function t7b(b,a){if(a===null){return null;}else{return CC(new AC(),s0(a));}}
-function u7b(c,b){var a;a=CC(new AC(),b);a.xe('100%');return a;}
-function v7b(f,b,e){var a,c,d;c=ddb(new Ecb(),'images/package_large.png','Move this item to another package');edb(c,'Current package:',CC(new AC(),b));d=reb(new meb());edb(c,'New package:',d);a=qq(new kq(),'Change package');edb(c,'',a);a.x(i7b(new h7b(),f,d,b,c));lF(c,lO(e.v.v),mO(e.v.v));oF(c);}
-function w7b(e,d){var a,b,c;c=ddb(new Ecb(),'images/package_large.png','Rename this item');a=zL(new kL());edb(c,'New name',a);b=qq(new kq(),'Rename item');edb(c,'',b);b.x(F6b(new E6b(),e,a,c));lF(c,lO(d.v.v)-18,mO(d.v.v));oF(c);}
-function x7b(){return this.b.lc()||this.j;}
-function y5b(){}
-_=y5b.prototype=new rcb();_.lc=x7b;_.tN=bhc+'MetaDataWidget';_.tI=537;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function d6b(b,a){b.a=a;return b;}
-function f6b(a){w7b(this.a,a);}
-function z5b(){}
-_=z5b.prototype=new xU();_.wc=f6b;_.tN=bhc+'MetaDataWidget$1';_.tI=538;function B5b(b,a,c){b.a=a;b.b=c;return b;}
-function D5b(b,a){dbb(b.a.a);B$b(b.a.a.d);b.b.hc();}
-function E5b(a){D5b(this,a);}
-function A5b(){}
-_=A5b.prototype=new hdb();_.md=E5b;_.tN=bhc+'MetaDataWidget$10';_.tI=539;function a6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function c6b(a){dbb(this.a);this.b.te(rL(this.c));}
-function F5b(){}
-_=F5b.prototype=new xU();_.vc=c6b;_.tN=bhc+'MetaDataWidget$11';_.tI=540;function h6b(b,a){b.a=a;return b;}
-function j6b(){return this.a.a.s;}
-function k6b(a){this.a.a.s=a;}
-function g6b(){}
-_=g6b.prototype=new xU();_.ac=j6b;_.te=k6b;_.tN=bhc+'MetaDataWidget$2';_.tI=541;function m6b(b,a){b.a=a;return b;}
-function o6b(){return this.a.a.u;}
-function p6b(a){this.a.a.u=a;}
-function l6b(){}
-_=l6b.prototype=new xU();_.ac=o6b;_.te=p6b;_.tN=bhc+'MetaDataWidget$3';_.tI=542;function r6b(b,a){b.a=a;return b;}
-function t6b(){return this.a.a.i;}
-function u6b(a){this.a.a.i=a;}
-function q6b(){}
-_=q6b.prototype=new xU();_.ac=t6b;_.te=u6b;_.tN=bhc+'MetaDataWidget$4';_.tI=543;function w6b(b,a){b.a=a;return b;}
-function y6b(){return this.a.a.j;}
-function z6b(a){this.a.a.j=a;}
-function v6b(){}
-_=v6b.prototype=new xU();_.ac=y6b;_.te=z6b;_.tN=bhc+'MetaDataWidget$5';_.tI=544;function B6b(b,a,c){b.a=a;b.b=c;return b;}
-function D6b(a){v7b(this.a,this.b,a);}
-function A6b(){}
-_=A6b.prototype=new xU();_.wc=D6b;_.tN=bhc+'MetaDataWidget$6';_.tI=545;function F6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function b7b(a){dVb(EMb(),this.a.e,rL(this.b),d7b(new c7b(),this,this.c));}
-function E6b(){}
-_=E6b.prototype=new xU();_.wc=b7b;_.tN=bhc+'MetaDataWidget$7';_.tI=546;function d7b(b,a,c){b.a=a;b.b=c;return b;}
-function f7b(b,a){B$b(b.a.a.d);Ch('Item has been renamed');b.b.hc();}
-function g7b(a){f7b(this,a);}
-function c7b(){}
-_=c7b.prototype=new hdb();_.md=g7b;_.tN=bhc+'MetaDataWidget$8';_.tI=547;function i7b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function k7b(a){if(qV(teb(this.d),this.b)){Ch('You need to pick a different package to move this to.');return;}gUb(EMb(),this.a.e,teb(this.d),'Moved from : '+this.b,B5b(new A5b(),this,this.c));}
-function h7b(){}
-_=h7b.prototype=new xU();_.wc=k7b;_.tN=bhc+'MetaDataWidget$9';_.tI=548;function j8b(){j8b=v3;gdb();}
-function g8b(a){a.f=zL(new kL());a.b=eL(new dL());a.d=l8b(a);a.g=reb(new meb());}
-function h8b(e,a,d,b,f){var c;j8b();ddb(e,'images/new_wiz.gif',f);g8b(e);e.h=d;e.c=b;e.a=a;edb(e,'Name:',e.f);if(d){edb(e,'Initial category:',k8b(e));}if(b===null){edb(e,'Type (format) of rule:',e.d);}edb(e,'Package:',e.g);jL(e.b,4);e.b.xe('100%');edb(e,'Initial description:',e.b);c=qq(new kq(),'OK');c.x(A7b(new z7b(),e));edb(e,'',c);uO(e,'ks-popups-Popup');return e;}
-function i8b(e,b,d,c,f,a){j8b();h8b(e,b,d,c,f);ueb(e.g,a);return e;}
-function k8b(a){return v_(new e_(),E7b(new D7b(),a));}
-function m8b(a){if(a.c!==null)return a.c;return xD(a.d,wD(a.d));}
-function l8b(b){var a;a=mD(new eD());qD(a,'Business rule (using guided editor)','brl');qD(a,'DRL rule (technical rule - text editor)','drl');qD(a,'Business rule using a DSL (text editor)','dslr');qD(a,'Decision table (spreadsheet)','xls');BD(a,0);return a;}
-function n8b(b){var a;if(b.h&&b.e===null){Dfb('You have to pick an initial category.',lO(b),mO(b));return;}else if(rL(b.f)===null||qV('',rL(b.f))){Dfb('Rule must have a name',lO(b),mO(b));return;}a=c8b(new b8b(),b);ieb('Please wait ...');oUb(EMb(),rL(b.f),rL(b.b),b.e,teb(b.g),m8b(b),a);}
-function o8b(a,b){a.a.td(b);}
-function y7b(){}
-_=y7b.prototype=new Ecb();_.tN=bhc+'NewAssetWizard';_.tI=549;_.a=null;_.c=null;_.e=null;_.h=false;function A7b(b,a){b.a=a;return b;}
-function C7b(a){n8b(this.a);}
-function z7b(){}
-_=z7b.prototype=new xU();_.wc=C7b;_.tN=bhc+'NewAssetWizard$1';_.tI=550;function E7b(b,a){b.a=a;return b;}
-function a8b(a){this.a.e=a;}
-function D7b(){}
-_=D7b.prototype=new xU();_.ee=a8b;_.tN=bhc+'NewAssetWizard$2';_.tI=551;function c8b(b,a){b.a=a;return b;}
-function e8b(b,a){var c;c=bc(a,1);if(yV(c,'DUPLICATE')){eeb();Ch('An asset with that name already exists in the chosen package. Please use another name');}else{o8b(b.a,bc(a,1));b.a.hc();}}
-function f8b(a){e8b(this,a);}
-function b8b(){}
-_=b8b.prototype=new hdb();_.md=f8b;_.tN=bhc+'NewAssetWizard$3';_.tI=552;function u8b(b,a){b.a=eL(new dL());b.a.xe('100%');jL(b.a,10);uO(b.a,'rule-viewer-Documentation');b.a.pe('This is rule documentation. Human friendly descriptions of the business logic.');gs(b,b.a);w8b(b,a);return b;}
-function w8b(b,a){vL(b.a,a.h);nL(b.a,r8b(new q8b(),b,a));if(a.h===null||qV('',a.h)){vL(b.a,'<documentation>');}}
-function p8b(){}
-_=p8b.prototype=new bbb();_.tN=bhc+'RuleDocumentWidget';_.tI=553;_.a=null;function r8b(b,a,c){b.a=a;b.b=c;return b;}
-function t8b(a){this.b.h=rL(this.a.a);dbb(this.a);}
-function q8b(){}
-_=q8b.prototype=new xU();_.vc=t8b;_.tN=bhc+'RuleDocumentWidget$1';_.tI=554;function y8b(b,a,c){iyb(b,a,c);jyb(b,eA(new hx(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
-function A8b(){return 'images/ruleflow_large.png';}
-function B8b(){return 'decision-Table-upload';}
-function x8b(){}
-_=x8b.prototype=new Axb();_.sb=A8b;_.Ab=B8b;_.tN=bhc+'RuleFlowUploadWidget';_.tI=555;function p9b(c,b,a){c.a=a;c.b=kbb(new ibb());uO(c.b,'asset-editor-Layout');nbb(c.b,0,0,b);if(!a.c)nbb(c.b,1,0,v9b(c));Bx(c.b.n,1,0,(oA(),rA),(xA(),AA));c.b.xe('100%');c.b.ne('100%');gs(c,c.b);return c;}
-function r9b(a){ieb('Validating item, please wait...');dUb(EMb(),a.a,g9b(new f9b(),a));}
-function s9b(a){ieb('Calculating source...');cUb(EMb(),a.a,l9b(new k9b(),a));}
-function t9b(h,e){var a,b,c,d,f,g;c=ddb(new Ecb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){fdb(c,eA(new hx(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=lu(new fu());uO(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ve(f,0,eC(new oB(),'images/error.gif'));if(qV(d.a,'package')){yz(a,f,1,'[package configuration problem] '+d.c);}else{yz(a,f,1,d.c);}}g=oH(new mH(),a);g.xe('100%');fdb(c,g);}lF(c,100,100);oF(c);eeb();}
-function u9b(b,a){hCb(a,b.a.d.n);eeb();}
-function v9b(b){var a,c,d;a=FA(new DA());d=qq(new kq(),'View source');aB(a,d);c=qq(new kq(),'Validate');aB(a,c);d.x(E8b(new D8b(),b));c.x(c9b(new b9b(),b));uO(a,'asset-validator-Buttons');return a;}
-function w9b(){return mbb(this.b);}
-function C8b(){}
-_=C8b.prototype=new bbb();_.lc=w9b;_.tN=bhc+'RuleValidatorWrapper';_.tI=556;_.a=null;_.b=null;function E8b(b,a){b.a=a;return b;}
-function a9b(a){s9b(this.a);}
-function D8b(){}
-_=D8b.prototype=new xU();_.wc=a9b;_.tN=bhc+'RuleValidatorWrapper$1';_.tI=557;function c9b(b,a){b.a=a;return b;}
-function e9b(a){r9b(this.a);}
-function b9b(){}
-_=b9b.prototype=new xU();_.wc=e9b;_.tN=bhc+'RuleValidatorWrapper$2';_.tI=558;function g9b(b,a){b.a=a;return b;}
-function i9b(c,a){var b;b=bc(a,88);t9b(c.a,b);}
-function j9b(a){i9b(this,a);}
-function f9b(){}
-_=f9b.prototype=new hdb();_.md=j9b;_.tN=bhc+'RuleValidatorWrapper$3';_.tI=559;function l9b(b,a){b.a=a;return b;}
-function n9b(c,a){var b;b=bc(a,1);u9b(c.a,b);}
-function o9b(a){n9b(this,a);}
-function k9b(){}
-_=k9b.prototype=new hdb();_.md=o9b;_.tN=bhc+'RuleValidatorWrapper$4';_.tI=560;function p_b(c,a,b){c.a=a;c.g=b;c.e=kbb(new ibb());v_b(c);gs(c,c.e);eeb();return c;}
-function r_b(a){a.a.a=true;s_b(a);m5b(a.b);}
-function s_b(a){bz(a.e);ieb('Saving, please wait...');iUb(EMb(),a.a,i_b(new h_b(),a));}
-function t_b(e){var a,b,c,d;d=ddb(new Ecb(),'images/warning-large.png','WARNING: Un-committed changes.');b=qq(new kq(),'Discard');a=qq(new kq(),'Cancel');c=FA(new DA());aB(c,b);aB(c,a);fdb(d,eA(new hx(),'Are you sure you want to discard changes?'));fdb(d,c);b.x(E9b(new D9b(),e,d));a.x(c$b(new b$b(),e,d));uO(d,'warning-Popup');lF(d,fc((fbb()-gF(d))/2),100);oF(d);}
-function u_b(a){sUb(EMb(),a.a.e,a.a.d.o,d_b(new c_b(),a));}
-function v_b(b){var a;bz(b.e);a=ou(b.e);b.h=s1b(new d0b(),b.a,f$b(new y9b(),b),k$b(new j$b(),b),p$b(new o$b(),b),u$b(new t$b(),b),b.g);nbb(b.e,0,0,b.h);Bx(a,0,0,(oA(),rA),(xA(),AA));b.f=m7b(new y5b(),b.a.d,b.g,b.a.e,z$b(new y$b(),b));nbb(b.e,0,1,b.f);ku(a,0,1,3);Fx(a,0,1,(xA(),AA));by(a,0,1,'30%');b.d=r5b(b.a,b);y1b(b.h,E$b(new D$b(),b));nbb(b.e,1,0,b.d);Fx(a,1,0,(xA(),AA));b.c=u8b(new p8b(),b.a.d);nbb(b.e,2,0,b.c);Fx(a,2,0,(xA(),AA));}
-function w_b(a){if(fab(a.a.d.k)){ieb('Refreshing content assistance...');wLb((sLb(),xLb),a.a.d.o,new m_b());}}
-function x_b(a){BUb(EMb(),a.a.e,A9b(new z9b(),a));}
-function y_b(b,a){b.b=a;}
-function z_b(a){var b;b= !zx(ou(a.e),2,0);ay(ou(a.e),0,1,b);ay(ou(a.e),2,0,b);}
-function x9b(){}
-_=x9b.prototype=new es();_.tN=bhc+'RuleViewer';_.tI=561;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function f$b(b,a){b.a=a;return b;}
-function h$b(a){s_b(a.a);}
-function i$b(){h$b(this);}
-function y9b(){}
-_=y9b.prototype=new xU();_.nb=i$b;_.tN=bhc+'RuleViewer$1';_.tI=562;function A9b(b,a){b.a=a;return b;}
-function C9b(a){this.a.a=bc(a,97);v_b(this.a);eeb();}
-function z9b(){}
-_=z9b.prototype=new hdb();_.md=C9b;_.tN=bhc+'RuleViewer$10';_.tI=563;function E9b(b,a,c){b.a=a;b.b=c;return b;}
-function a$b(a){m5b(this.a.b);this.b.hc();}
-function D9b(){}
-_=D9b.prototype=new xU();_.wc=a$b;_.tN=bhc+'RuleViewer$11';_.tI=564;function c$b(b,a,c){b.a=c;return b;}
-function e$b(a){this.a.hc();}
-function b$b(){}
-_=b$b.prototype=new xU();_.wc=e$b;_.tN=bhc+'RuleViewer$12';_.tI=565;function k$b(b,a){b.a=a;return b;}
-function m$b(a){r_b(a.a);}
-function n$b(){m$b(this);}
-function j$b(){}
-_=j$b.prototype=new xU();_.nb=n$b;_.tN=bhc+'RuleViewer$2';_.tI=566;function p$b(b,a){b.a=a;return b;}
-function r$b(a){z_b(a.a);}
-function s$b(){r$b(this);}
-function o$b(){}
-_=o$b.prototype=new xU();_.nb=s$b;_.tN=bhc+'RuleViewer$3';_.tI=567;function u$b(b,a){b.a=a;return b;}
-function w$b(a){u_b(a.a);}
-function x$b(){w$b(this);}
-function t$b(){}
-_=t$b.prototype=new xU();_.nb=x$b;_.tN=bhc+'RuleViewer$4';_.tI=568;function z$b(b,a){b.a=a;return b;}
-function B$b(a){x_b(a.a);}
-function C$b(){B$b(this);}
-function y$b(){}
-_=y$b.prototype=new xU();_.nb=C$b;_.tN=bhc+'RuleViewer$5';_.tI=569;function E$b(b,a){b.a=a;return b;}
-function a_b(a){if(mbb(a.a.e)){t_b(a.a);}else{m5b(a.a.b);}}
-function b_b(){a_b(this);}
-function D$b(){}
-_=D$b.prototype=new xU();_.nb=b_b;_.tN=bhc+'RuleViewer$6';_.tI=570;function d_b(b,a){b.a=a;return b;}
-function f_b(b,a){m5b(b.a.b);}
-function g_b(a){f_b(this,a);}
-function c_b(){}
-_=c_b.prototype=new hdb();_.md=g_b;_.tN=bhc+'RuleViewer$7';_.tI=571;function i_b(b,a){b.a=a;return b;}
-function k_b(b,a){var c;w_b(b.a);c=bc(a,1);if(cc(b.a.d,98)){ebb(bc(b.a.d,98));}ebb(b.a.f);ebb(b.a.c);if(c===null){jcb('Failed to check in the item. Please contact your system administrator.');return;}x_b(b.a);}
-function l_b(a){k_b(this,a);}
-function h_b(){}
-_=h_b.prototype=new hdb();_.md=l_b;_.tN=bhc+'RuleViewer$8';_.tI=572;function o_b(){eeb();}
-function m_b(){}
-_=m_b.prototype=new xU();_.nb=o_b;_.tN=bhc+'RuleViewer$9';_.tI=573;function tac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=FA(new DA());d.a=lu(new fu());d.a.ve(0,0,CC(new AC(),'Version history'));Ex(d.a.n,0,0,'metadata-Widget');b=ou(d.a);Dx(b,0,0,(oA(),qA));d.c=odb(new ndb(),'images/refresh.gif');fC(d.c,C_b(new B_b(),d));d.a.ve(0,1,d.c);Dx(b,0,1,(oA(),rA));uO(f,'version-browser-Border');aB(f,d.a);d.a.xe('100%');f.xe('100%');gs(d,f);return d;}
-function uac(a){yac(a);ig(aac(new F_b(),a));}
-function wac(b,a){return nac(new mac(),b,a);}
-function xac(a){yUb(EMb(),a.e,eac(new dac(),a));}
-function yac(a){jC(a.c,'images/searching.gif');}
-function zac(a){jC(a.c,'images/refresh.gif');}
-function Aac(b,a){var c;c=rbc(new Bac(),b.b,a,b.e,b.d);lF(c,100,100);oF(c);}
-function A_b(){}
-_=A_b.prototype=new es();_.tN=bhc+'VersionBrowser';_.tI=574;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function C_b(b,a){b.a=a;return b;}
-function E_b(a){uac(this.a);}
-function B_b(){}
-_=B_b.prototype=new xU();_.wc=E_b;_.tN=bhc+'VersionBrowser$1';_.tI=575;function aac(b,a){b.a=a;return b;}
-function cac(){xac(this.a);}
-function F_b(){}
-_=F_b.prototype=new xU();_.nb=cac;_.tN=bhc+'VersionBrowser$2';_.tI=576;function eac(b,a){b.a=a;return b;}
-function gac(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ve(1,0,CC(new AC(),'No history.'));zac(i.a);return;}g=bc(a,62);f=g.a;c=Bb('[Ljava.lang.String;',610,1,['Version number','Comment','Date Modified','Status']);d=wac(i.a,f);h=egc(d,c,0,false);h.xe('100%');i.a.a.ve(1,0,h);b=ou(i.a.a);ju(b,1,0,2);e=qq(new kq(),'View selected version');e.x(jac(new iac(),i,h));i.a.a.ve(2,1,e);ju(b,2,1,3);Dx(b,2,1,(oA(),pA));zac(i.a);}
-function hac(a){gac(this,a);}
-function dac(){}
-_=dac.prototype=new hdb();_.md=hac;_.tN=bhc+'VersionBrowser$3';_.tI=577;function jac(b,a,c){b.a=a;b.b=c;return b;}
-function lac(a){if(this.b.f==0)return;Aac(this.a.a,xfc(this.b));}
-function iac(){}
-_=iac.prototype=new xU();_.wc=lac;_.tN=bhc+'VersionBrowser$4';_.tI=578;function nac(b,a,c){b.a=c;return b;}
-function pac(){return this.a.a;}
-function qac(a){return this.a[a].b;}
-function rac(b,a){return this.a[b].c[a];}
-function sac(b,a){return null;}
-function mac(){}
-_=mac.prototype=new xU();_.wb=pac;_.Cb=qac;_.bc=rac;_.cc=sac;_.tN=bhc+'VersionBrowser$5';_.tI=579;function sbc(){sbc=v3;zs();}
-function rbc(d,a,e,b,c){sbc();xs(d,false);d.c=e;d.a=b;d.b=c;uO(d,'version-Popup');ieb('Loading version');BUb(EMb(),e,Dac(new Cac(),d,a));return d;}
-function tbc(b,c){var a;a=F2b(new A2b(),lO(c)+10,mO(c)+10,'Restore this version?');c3b(a,jbc(new ibc(),b,a));d3b(a);}
-function Bac(){}
-_=Bac.prototype=new us();_.tN=bhc+'VersionViewer';_.tI=580;_.a=null;_.b=null;_.c=null;function Dac(b,a,c){b.a=a;b.b=c;return b;}
-function Fac(c){var a,b,d,e,f,g;a=bc(c,97);a.c=true;a.d.n=this.b.n;Bs(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=lu(new fu());d=ou(e);f=qq(new kq(),'Restore this version');f.x(bbc(new abc(),this));e.ve(0,0,f);Dx(d,0,0,(oA(),qA));b=qq(new kq(),'Close');b.x(fbc(new ebc(),this));e.ve(0,1,b);Dx(d,0,1,(oA(),rA));g=p_b(new x9b(),a,true);g.xe('100%');e.ve(1,0,g);ju(d,1,1,2);e.xe('100%');sO(e,800,300);Cs(this.a,e);}
-function Cac(){}
-_=Cac.prototype=new hdb();_.md=Fac;_.tN=bhc+'VersionViewer$1';_.tI=581;function bbc(b,a){b.a=a;return b;}
-function dbc(a){tbc(this.a.a,a);}
-function abc(){}
-_=abc.prototype=new xU();_.wc=dbc;_.tN=bhc+'VersionViewer$2';_.tI=582;function fbc(b,a){b.a=a;return b;}
-function hbc(a){this.a.a.hc();}
-function ebc(){}
-_=ebc.prototype=new xU();_.wc=hbc;_.tN=bhc+'VersionViewer$3';_.tI=583;function jbc(b,a,c){b.a=a;b.b=c;return b;}
-function lbc(){fVb(EMb(),this.a.c,this.a.a,b3b(this.b),nbc(new mbc(),this));}
-function ibc(){}
-_=ibc.prototype=new xU();_.nb=lbc;_.tN=bhc+'VersionViewer$4';_.tI=584;function nbc(b,a){b.a=a;return b;}
-function pbc(b,a){b.a.a.hc();B$b(b.a.a.b);}
-function qbc(a){pbc(this,a);}
-function mbc(){}
-_=mbc.prototype=new hdb();_.md=qbc;_.tN=bhc+'VersionViewer$5';_.tI=585;function xcc(a){a.b=(FZ(),a0);}
-function ycc(a){xcc(a);a.c=sK(new eK());a.c.xe('100%');a.c.ne('100%');tK(a.c,Acc(a),"<img src='images/explore.gif'/>Explore",true);zK(a.c,0);gs(a,a.c);return a;}
-function Acc(i){var a,b,c,d,e,f,g,h;h=lu(new fu());i.a=Bdc(new Fcc(),wbc(new vbc(),i),'rulelist');b=ou(h);d=v_(new e_(),Abc(new zbc(),i,h));f=Fec(new eec(),Ebc(new Dbc(),i));h.ve(0,1,f);Bx(b,0,0,(oA(),qA),(xA(),AA));Bx(b,0,1,(oA(),qA),(xA(),AA));by(b,0,0,'30%');by(b,0,1,'70%');e=qq(new kq(),'Create new rule');e.pe('Create new rule');e.x(dcc(new ccc(),i));g=odb(new ndb(),'images/system_search_small.png');g.pe('Show the rule finder.');fC(g,hcc(new gcc(),i,h,f));a=FA(new DA());aB(a,e);aB(a,g);uO(a,'new-asset-Icons');c=hP(new fP());iP(c,a);iP(c,d);c.xe('100%');h.ve(0,0,c);return h;}
-function Bcc(c,a,b){return lcc(new kcc(),c,b,a);}
-function Ccc(b,a){b.b=a;}
-function Dcc(a,b){u5b(a.b,a.c,b,false);}
-function Ecc(c){var a,b,d;a=70;d=100;b=h8b(new y7b(),ucc(new tcc(),c),true,null,'Create a new rule');lF(b,a,d);oF(b);}
-function ubc(){}
-_=ubc.prototype=new es();_.tN=chc+'AssetBrowser';_.tI=586;_.a=null;_.c=null;function wbc(b,a){b.a=a;return b;}
-function ybc(a){Dcc(this.a,a);}
-function vbc(){}
-_=vbc.prototype=new xU();_.td=ybc;_.tN=chc+'AssetBrowser$1';_.tI=587;function Abc(b,a,c){b.a=a;b.b=c;return b;}
-function Cbc(b){var a;a=Bcc(this.a,this.a.a,b);this.b.ve(0,1,this.a.a);ieb('Retrieving list, please wait...');ig(a);bec(this.a.a,a);}
-function zbc(){}
-_=zbc.prototype=new xU();_.ee=Cbc;_.tN=chc+'AssetBrowser$2';_.tI=588;function Ebc(b,a){b.a=a;return b;}
-function acc(b,a){Dcc(b.a,a);}
-function bcc(a){acc(this,a);}
-function Dbc(){}
-_=Dbc.prototype=new xU();_.td=bcc;_.tN=chc+'AssetBrowser$3';_.tI=589;function dcc(b,a){b.a=a;return b;}
-function fcc(a){Ecc(this.a);}
-function ccc(){}
-_=ccc.prototype=new xU();_.wc=fcc;_.tN=chc+'AssetBrowser$4';_.tI=590;function hcc(b,a,d,c){b.b=d;b.a=c;return b;}
-function jcc(a){this.b.ve(0,1,this.a);}
-function gcc(){}
-_=gcc.prototype=new xU();_.wc=jcc;_.tN=chc+'AssetBrowser$5';_.tI=591;function lcc(b,a,d,c){b.b=d;b.a=c;return b;}
-function ncc(){ieb('Loading list, please wait...');CUb(EMb(),this.b,pcc(new occ(),this,this.a));}
-function kcc(){}
-_=kcc.prototype=new xU();_.nb=ncc;_.tN=chc+'AssetBrowser$6';_.tI=592;function pcc(b,a,c){b.a=c;return b;}
-function rcc(c,a){var b;b=bc(a,62);aec(c.a,b);eeb();}
-function scc(a){rcc(this,a);}
-function occ(){}
-_=occ.prototype=new hdb();_.md=scc;_.tN=chc+'AssetBrowser$7';_.tI=593;function ucc(b,a){b.a=a;return b;}
-function wcc(a){Dcc(this.a,a);}
-function tcc(){}
-_=tcc.prototype=new xU();_.td=wcc;_.tN=chc+'AssetBrowser$8';_.tI=594;function Cdc(){Cdc=v3;cec=EMb();}
-function Adc(a){a.c=lu(new fu());a.e=odb(new ndb(),'images/refresh.gif');a.a=BC(new AC());}
-function Bdc(c,a,b){Cdc();Adc(c);Edc(c);Fdc(c,b);c.e.ue(false);c.b=a;c.e.pe('Refresh current list. Will show any changes.');fC(c.e,bdc(new adc(),c));return c;}
-function Ddc(a){return CZb(xfc(a.f));}
-function Edc(c){var a,b;a=ou(c.c);c.c.xe('100%');Bx(a,0,0,(oA(),qA),(xA(),AA));b=odb(new ndb(),'images/open_item.gif');fC(b,kdc(new jdc(),c));b.pe('Open item');c.c.ve(0,1,b);Bx(a,0,1,(oA(),rA),(xA(),AA));gs(c,c.c);}
-function Fdc(b,a){EUb(cec,a,fdc(new edc(),b));}
-function aec(g,a){var b,c,d,e,f;b=ou(g.c);g.c.ve(1,0,null);if(a===null||a.a.a==0){d=new ndc();g.f=egc(d,g.g.a,25,true);g.a.ue(false);}else{f=a.a;c=udc(new tdc(),g,f);g.f=egc(c,g.g.a,25,true);e=FA(new DA());aB(e,g.e);g.a.ue(true);bD(g.a,'  '+a.a.a+' items.');aB(e,g.a);g.c.ve(0,0,e);}g.f.xe('100%');g.c.ve(1,0,g.f);ju(b,1,0,2);}
-function bec(b,a){b.d=a;b.e.ue(true);}
-function Fcc(){}
-_=Fcc.prototype=new es();_.tN=chc+'AssetItemListViewer';_.tI=595;_.b=null;_.d=null;_.f=null;_.g=null;var cec;function bdc(b,a){b.a=a;return b;}
-function ddc(a){ieb('Refreshing list, please wait...');this.a.d.nb();}
-function adc(){}
-_=adc.prototype=new xU();_.wc=ddc;_.tN=chc+'AssetItemListViewer$1';_.tI=596;function fdc(b,a){b.a=a;return b;}
-function hdc(b,a){b.a.g=bc(a,99);aec(b.a,null);}
-function idc(a){hdc(this,a);}
-function edc(){}
-_=edc.prototype=new hdb();_.md=idc;_.tN=chc+'AssetItemListViewer$2';_.tI=597;function kdc(b,a){b.a=a;return b;}
-function mdc(a){ieb('Loading item, please wait ...');this.a.b.td(CZb(xfc(this.a.f)));}
-function jdc(){}
-_=jdc.prototype=new xU();_.wc=mdc;_.tN=chc+'AssetItemListViewer$3';_.tI=598;function pdc(){return 0;}
-function qdc(a){return '';}
-function rdc(b,a){return '';}
-function sdc(b,a){return null;}
-function ndc(){}
-_=ndc.prototype=new xU();_.wb=pdc;_.Cb=qdc;_.bc=rdc;_.cc=sdc;_.tN=chc+'AssetItemListViewer$4';_.tI=599;function udc(b,a,c){b.a=a;b.b=c;return b;}
-function wdc(){return this.b.a;}
-function xdc(a){return this.b[a].b;}
-function ydc(b,a){return this.b[b].c[a];}
-function zdc(b,a){if(qV(this.a.g.a[a],'*')){return eC(new oB(),'images/'+q5b(this.b[b].a));}else{return null;}}
-function tdc(){}
-_=tdc.prototype=new xU();_.wb=wdc;_.Cb=xdc;_.bc=ydc;_.cc=zdc;_.tN=chc+'AssetItemListViewer$5';_.tI=600;function Fec(d,a){var b,c;d.c=ucb(new rcb(),'images/system_search.png','');d.e=qab(new gab(),gec(new fec(),d));uO(d.e,'gwt-TextBox');d.b=a;c=FA(new DA());b=qq(new kq(),'Go');b.x(kec(new jec(),d));aB(c,d.e);aB(c,b);d.a=cr(new Fq(),'Include archived items in list');uO(d.a,'small-Text');gr(d.a,false);vcb(d.c,'Find items with a name matching:',c);ycb(d.c,d.a);ycb(d.c,eA(new hx(),'<hr/>'));d.d=lu(new fu());d.d.ve(0,0,eA(new hx(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));ycb(d.c,d.d);uO(d.d,'editable-Surface');oL(d.e,bfc(d));uO(d.c,'quick-find');gs(d,d.c);return d;}
-function bfc(a){return sec(new rec(),a);}
-function cfc(c,a,b){FUb(EMb(),a,5,fr(c.a),oec(new nec(),c,b));}
-function dfc(f,d){var a,b,c,e;a=lu(new fu());if(d.a.a==1){acc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(qV(e.b,'MORE')){a.ve(b,0,eA(new hx(),'<i>There are more items... try narrowing the search terms..<\/i>'));ju(ou(a),b,0,3);}else{a.ve(b,0,CC(new AC(),e.c[0]));a.ve(b,1,CC(new AC(),e.c[1]));c=qq(new kq(),'Open');c.x(Cec(new Bec(),f,e));a.ve(b,2,c);}}a.xe('100%');f.d.ve(0,0,a);eeb();}
-function efc(a){ieb('Searching...');FUb(EMb(),rL(a.e),15,fr(a.a),yec(new xec(),a));}
-function eec(){}
-_=eec.prototype=new es();_.tN=chc+'QuickFindWidget';_.tI=601;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function gec(b,a){b.a=a;return b;}
-function iec(c,b,a){cfc(c.a,b,a);}
-function fec(){}
-_=fec.prototype=new xU();_.tN=chc+'QuickFindWidget$1';_.tI=602;function kec(b,a){b.a=a;return b;}
-function mec(a){efc(this.a);}
-function jec(){}
-_=jec.prototype=new xU();_.wc=mec;_.tN=chc+'QuickFindWidget$2';_.tI=603;function oec(b,a,c){b.a=c;return b;}
-function qec(a){var b,c,d;d=bc(a,62);c=Ab('[Ljava.lang.String;',[610],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!qV(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}oab(this.a,c);}
-function nec(){}
-_=nec.prototype=new hdb();_.md=qec;_.tN=chc+'QuickFindWidget$3';_.tI=604;function sec(b,a){b.a=a;return b;}
-function uec(a,b,c){}
-function vec(a,b,c){}
-function wec(a,b,c){if(b==13){efc(this.a);}}
-function rec(){}
-_=rec.prototype=new xU();_.Fc=uec;_.ad=vec;_.bd=wec;_.tN=chc+'QuickFindWidget$4';_.tI=605;function yec(b,a){b.a=a;return b;}
-function Aec(a){var b;b=bc(a,62);dfc(this.a,b);}
-function xec(){}
-_=xec.prototype=new hdb();_.md=Aec;_.tN=chc+'QuickFindWidget$5';_.tI=606;function Cec(b,a,c){b.a=a;b.b=c;return b;}
-function Eec(a){acc(this.a.b,this.b.b);}
-function Bec(){}
-_=Bec.prototype=new xU();_.wc=Eec;_.tN=chc+'QuickFindWidget$6';_.tI=607;function hfc(a){a.a=FY(new DY());}
-function ifc(a){hfc(a);return a;}
-function jfc(b,a,c){if(a>=b.a.b){kfc(b,a);}mZ(b.a,a,c);}
-function kfc(c,a){var b;for(b=c.a.b;b<=a;b++){bZ(c.a,null);}}
-function mfc(b,a){return gZ(b.a,a);}
-function nfc(b,a){b.b=a;}
-function ofc(c){var a,b,d;if(null===c){return (-1);}d=bc(c,100);a=bc(mfc(this,this.b),34);b=bc(mfc(d,this.b),34);return a.ab(b);}
-function gfc(){}
-_=gfc.prototype=new xU();_.ab=ofc;_.tN=dhc+'RowData';_.tI=608;_.b=0;function qfc(a){a.j=FY(new DY());a.i=FY(new DY());}
-function rfc(c,b,a){Aw(c,b+1,a);qfc(c);Dy(c,c);uO(c,hgc);return c;}
-function sfc(c,b,a){if(b!=0){return;}Efc(c,a);agc(c,a);wfc(c);}
-function ufc(e){var a,b,c,d,f;if(e.h==cgc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=bc(gZ(e.j,c),100);for(a=0;a<b.a.b;a++){f=mfc(b,a);Afc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=bc(gZ(e.j,c),100);for(a=0;a<b.a.b;a++){f=mfc(b,a);Afc(e,d,a,f.tS());}}}}
-function vfc(d){var a,b,c;c=0;for(b=d.i.mc();b.gc();){a=bc(b.pc(),1);yfc(d,a,c++);}}
-function wfc(a){vfc(a);ufc(a);}
-function xfc(a){return iz(a,a.f,a.e);}
-function yfc(d,c,b){var a;a=cV(new bV());eV(a,c);eV(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==cgc){eV(a,"'"+d.a+"' alt='Ascending' ");}else{eV(a,"'"+d.c+"' alt='Descending' ");}}else{eV(a,"'"+d.b+"'");}eV(a,'/>');wz(d,0,b,iV(a));ly(d.p,0,igc);}
-function zfc(c,b,a){if(b%2==0){Ex(c.n,b,a,ggc);}}
-function Afc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ve(b,a,eC(new oB(),'images/'+q5b(d)));else yz(c,b,a,d);}}
-function Bfc(c,b,a){aZ(c.i,a,b);yfc(c,b,a);}
-function Cfc(b,a){b.d=a;}
-function Dfc(b,a){b.e=a;ay(b.n,0,a,false);}
-function Efc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=bc(gZ(d.j,b),100);nfc(a,c);}}
-function Ffc(d,b,a,e,f){var c;if(b==0)return;zfc(d,b,a);if(b-1>=d.j.b||null===gZ(d.j,b-1)){aZ(d.j,b-1,ifc(new gfc()));}c=bc(gZ(d.j,b-1),100);jfc(c,a,e);if(f===null){yz(d,b,a,''+e+'');}else{d.ve(b,a,f);}if(a==d.e){ay(d.n,b,a,false);}}
-function agc(b,a){c0(b.j);if(b.g!=a){b.h=cgc;}else{b.h=b.h==cgc?dgc:cgc;}b.g=a;}
-function bgc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){Ex(a,c,b,jgc);if(d.f%2==0&&d.f!=0){Ex(a,d.f,b,ggc);}else{Ax(a,d.f,b,jgc);}}d.f=c;}}
-function egc(a,d,b,c){var e,f,g;g=null;if(b>a.wb()){g=rfc(new pfc(),b,d.a+1);Ffc(g,1,1,'',null);}else{g=rfc(new pfc(),a.wb()+1,d.a+1);}Bfc(g,'',0);for(e=0;e<d.a;e++){Bfc(g,d[e],e+1);}Dfc(g,0);for(e=0;e<a.wb();e++){Ffc(g,e+1,0,a.Cb(e),null);for(f=0;f<d.a;f++){Ffc(g,e+1,f+1,a.bc(e,f),a.cc(e,f));}}Cfc(g,c);return g;}
-function fgc(c,b,a){if(b<=this.j.b){bgc(this,b);sfc(this,b,a);}}
-function pfc(){}
-_=pfc.prototype=new yw();_.uc=fgc;_.tN=dhc+'SortableTable';_.tI=609;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var cgc=0,dgc=1,ggc='rule-ListEvenRow',hgc='rule-List',igc='rule-ListHeader',jgc='rule-SelectedRow';function rS(){b5(D4(new s4()));}
-function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{rS();}catch(a){b(d);}else{rS();}}
-var ic=[{},{12:1},{1:1,12:1,34:1,35:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{2:1,12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1},{8:1,12:1},{8:1,12:1},{8:1,12:1},{12:1},{2:1,6:1,12:1},{2:1,12:1},{9:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1},{3:1,12:1},{3:1,12:1,39:1},{3:1,12:1,92:1},{3:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,36:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,49:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1,33:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,43:1},{12:1,49:1,56:1}!
 ,{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,81:1},{12:1,20:1,36:1,37:1,81:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,46:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,49:1,56:1},{12:1,39:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,49:1},{12:1},{12:1,20:1,36:1,37:1,87:1},{12:1,20:1,36:1,37:1,48:1,54:1},{9:1,12:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,39:1},{12:1,39:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,50:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,80:1},{12:1,20:1,36:1,37:1,54:1},{12:1,36:1,52:1},{12:1,36:1,52:1},{12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12!
 :1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12
:1},{12:1},{3:1,12:1},{12:1,55:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{12:1,35:1},{3:1,12:1},{12:1},{12:1,57:1},{12:1,49:1,58:1},{12:1,49:1,58:1},{12:1},{12:1,49:1},{12:1},{12:1},{12:1,34:1,59:1},{12:1,57:1},{12:1,60:1},{12:1,49:1,58:1},{12:1},{12:1,49:1,58:1},{3:1,12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{7:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{8:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1}!
 ,{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,53:1},{12:1,42:1},{12:1},{12:1},{12:1,36:1,52:1,64:1},{12:1,20:1,36:1,37:1,46:1,80:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,20:1,36:1,37:1,81:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,65:1},{12:1,20:1,36:1,37:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,38:1,39:1,91:1},{12:1,23:1,24:1,38:1,39:1},{12:1,18:1,38:1,39:1},{12:1,23:1,24!
 :1,25:1,38:1,39:1},{12:1,23:1,24:1,25:1,26:1,38:1,39:1},{12:1,23:1,27:
1,38:1,39:1},{12:1,23:1,24:1,28:1,38:1,39:1},{12:1,23:1,24:1,28:1,29:1,38:1,39:1},{12:1,22:1,30:1,38:1,39:1},{12:1,17:1,31:1,38:1,39:1},{12:1,38:1,39:1,40:1},{12:1,15:1,38:1,39:1,40:1},{12:1,14:1,22:1,23:1,38:1,39:1},{12:1,16:1,22:1,38:1,39:1},{12:1,21:1,38:1,39:1},{12:1,38:1,39:1,83:1},{12:1,17:1,32:1,38:1,39:1,40:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,84:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,41:1},{4:1,12:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,46:1},{12:1,41:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,82:1,98:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{!
 12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,46:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{4!
 :1,12:1},{12:1,42:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{1
2:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1},{4:1,12:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1,53:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,90:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,42:1},{12:1,53:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1},{10:1,12:1,39:1},{3:1,12:1,39:1,70:1},{12:1,39:1,93:1},{12:1,19:1,39:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,39:1,97:1},{12:1,39:1,95:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1,69:1},{11:1,12:1,39:1},{12:1,39:1,99:1},{12:1,39:!
 1,62:1},{12:1,13:1,39:1},{12:1,39:1,89:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,44:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1},{12:1,41:1},{12:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1!
 },{4:1,12:1},{4:1,12:1},{4:1,12:1},{4:1,12:1},{12:1},{12:1},{4:1,12:1}
,{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{12:1,46:1},{12:1},{12:1,42:1},{12:1,34:1,100:1},{12:1,20:1,36:1,37:1,51:1,54:1},{12:1,63:1},{12:1,88:1},{12:1,86:1},{12:1},{12:1},{12:1,94:1},{12:1,72:1,77:1,78:1},{12:1,79:1},{12:1,74:1,77:1},{12:1,75:1},{12:1,73:1},{12:1,71:1},{12:1},{12:1},{12:1,76:1},{12:1,77:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,77:1},{12:1,75:1},{12:1,75:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1}];if ($wnd.org_drools_brms_JBRMS) $wnd.org_drools_brms_JBRMS.onScriptLoad();
---></script></body></html>
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.js
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.js	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,3439 +0,0 @@
-(function(){var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var _,kgc='com.google.gwt.core.client.',lgc='com.google.gwt.lang.',mgc='com.google.gwt.user.client.',ngc='com.google.gwt.user.client.impl.',ogc='com.google.gwt.user.client.rpc.',pgc='com.google.gwt.user.client.rpc.core.java.lang.',qgc='com.google.gwt.user.client.rpc.core.java.util.',rgc='com.google.gwt.user.client.rpc.impl.',sgc='com.google.gwt.user.client.ui.',tgc='com.google.gwt.user.client.ui.impl.',ugc='java.io.',vgc='java.lang.',wgc='java.util.',xgc='org.drools.brms.client.',ygc='org.drools.brms.client.admin.',zgc='org.drools.brms.client.categorynav.',Agc='org.drools.brms.client.common.',Bgc='org.drools.brms.client.decisiontable.',Cgc='org.drools.brms.client.modeldriven.',Dgc='org.drools.brms.client.modeldriven.brl.',Egc='org.drools.brms.client.modeldriven.ui.',Fgc='org.drools.brms.client.packages.',ahc='org.drools.brms.client.rpc.',bhc='org.drools.brms.client.ruleeditor.',chc='org.droo!
 ls.brms.client.rulelist.',dhc='org.drools.brms.client.table.';function v3(){}
-function zU(a){return this===a;}
-function AU(){return mW(this);}
-function BU(){return this.tN+'@'+this.hC();}
-function xU(){}
-_=xU.prototype={};_.eQ=zU;_.hC=AU;_.tS=BU;_.toString=function(){return this.tS();};_.tN=vgc+'Object';_.tI=1;function v(){return D();}
-function w(){return E();}
-function x(a){return a==null?null:a.tN;}
-var y=null;function B(a){return a==null?0:a.$H?a.$H:(a.$H=F());}
-function C(a){return a==null?0:a.$H?a.$H:(a.$H=F());}
-function D(){var b=$doc.location.href;var a=b.indexOf('#');if(a!= -1)b=b.substring(0,a);a=b.indexOf('?');if(a!= -1)b=b.substring(0,a);a=b.lastIndexOf('/');if(a!= -1)b=b.substring(0,a);return b.length>0?b+'/':'';}
-function E(){return $moduleBase;}
-function F(){return ++ab;}
-var ab=0;function pW(b,a){b.c=a;return b;}
-function qW(c,b,a){c.c=b;return c;}
-function sW(){return this.c;}
-function tW(){var a,b;a=x(this);b=this.vb();if(b!==null){return a+': '+b;}else{return a;}}
-function oW(){}
-_=oW.prototype=new xU();_.vb=sW;_.tS=tW;_.tN=vgc+'Throwable';_.tI=3;_.c=null;function oT(b,a){pW(b,a);return b;}
-function pT(c,b,a){qW(c,b,a);return c;}
-function nT(){}
-_=nT.prototype=new oW();_.tN=vgc+'Exception';_.tI=4;function DU(b,a){oT(b,a);return b;}
-function EU(c,b,a){pT(c,b,a);return c;}
-function CU(){}
-_=CU.prototype=new nT();_.tN=vgc+'RuntimeException';_.tI=5;function cb(c,b,a){DU(c,'JavaScript '+b+' exception: '+a);return c;}
-function bb(){}
-_=bb.prototype=new CU();_.tN=kgc+'JavaScriptException';_.tI=6;function gb(b,a){if(!cc(a,2)){return false;}return lb(b,bc(a,2));}
-function hb(a){return B(a);}
-function ib(){return [];}
-function jb(){return function(){};}
-function kb(){return {};}
-function mb(a){return gb(this,a);}
-function lb(a,b){return a===b;}
-function nb(){return hb(this);}
-function pb(){return ob(this);}
-function ob(a){if(a.toString)return a.toString();return '[object]';}
-function eb(){}
-_=eb.prototype=new xU();_.eQ=mb;_.hC=nb;_.tS=pb;_.tN=kgc+'JavaScriptObject';_.tI=7;function rb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
-function tb(a,b,c){return a[b]=c;}
-function vb(a,b){return ub(a,b);}
-function ub(a,b){return rb(new qb(),b,a.tI,a.b,a.tN);}
-function wb(b,a){return b[a];}
-function yb(b,a){return b[a];}
-function xb(a){return a.length;}
-function Ab(e,d,c,b,a){return zb(e,d,c,b,0,xb(b),a);}
-function zb(j,i,g,c,e,a,b){var d,f,h;if((f=wb(c,e))<0){throw new iU();}h=rb(new qb(),f,wb(i,e),wb(g,e),j);++e;if(e<a){j=zV(j,1);for(d=0;d<f;++d){tb(h,d,zb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){tb(h,d,b);}}return h;}
-function Bb(f,e,c,g){var a,b,d;b=xb(g);d=rb(new qb(),b,e,c,f);for(a=0;a<b;++a){tb(d,a,yb(g,a));}return d;}
-function Cb(a,b,c){if(c!==null&&a.b!=0&& !cc(c,a.b)){throw new yS();}return tb(a,b,c);}
-function qb(){}
-_=qb.prototype=new xU();_.tN=lgc+'Array';_.tI=8;function Fb(b,a){return !(!(b&&ic[b][a]));}
-function ac(a){return String.fromCharCode(a);}
-function bc(b,a){if(b!=null)Fb(b.tI,a)||hc();return b;}
-function cc(b,a){return b!=null&&Fb(b.tI,a);}
-function dc(a){return a&65535;}
-function ec(a){return ~(~a);}
-function fc(a){if(a>(BT(),CT))return BT(),CT;if(a<(BT(),DT))return BT(),DT;return a>=0?Math.floor(a):Math.ceil(a);}
-function hc(){throw new iT();}
-function gc(a){if(a!==null){throw new iT();}return a;}
-function jc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
-var ic;function mc(a){if(cc(a,3)){return a;}return cb(new bb(),oc(a),nc(a));}
-function nc(a){return a.message;}
-function oc(a){return a.name;}
-function qc(b,a){return b;}
-function pc(){}
-_=pc.prototype=new CU();_.tN=mgc+'CommandCanceledException';_.tI=11;function hd(a){a.a=uc(new tc(),a);a.b=FY(new DY());a.d=yc(new xc(),a);a.f=Cc(new Bc(),a);}
-function id(a){hd(a);return a;}
-function kd(c){var a,b,d;a=Ec(c.f);bd(c.f);b=null;if(cc(a,4)){b=qc(new pc(),bc(a,4));}else{}if(b!==null){d=y;}nd(c,false);md(c);}
-function ld(e,d){var a,b,c,f;f=false;try{nd(e,true);cd(e.f,e.b.b);qh(e.a,10000);while(Fc(e.f)){b=ad(e.f);c=true;try{if(b===null){return;}if(cc(b,4)){a=bc(b,4);a.nb();}else{}}finally{f=dd(e.f);if(f){return;}if(c){bd(e.f);}}if(qd(lW(),d)){return;}}}finally{if(!f){mh(e.a);nd(e,false);md(e);}}}
-function md(a){if(!jZ(a.b)&& !a.e&& !a.c){od(a,true);qh(a.d,1);}}
-function nd(b,a){b.c=a;}
-function od(b,a){b.e=a;}
-function pd(b,a){bZ(b.b,a);md(b);}
-function qd(a,b){return gU(a-b)>=100;}
-function sc(){}
-_=sc.prototype=new xU();_.tN=mgc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function nh(){nh=v3;xh=FY(new DY());{wh();}}
-function lh(a){nh();return a;}
-function mh(a){if(a.b){rh(a.c);}else{sh(a.c);}lZ(xh,a);}
-function oh(a){if(!a.b){lZ(xh,a);}a.ce();}
-function qh(b,a){if(a<=0){throw sT(new rT(),'must be positive');}mh(b);b.b=false;b.c=uh(b,a);bZ(xh,b);}
-function ph(b,a){if(a<=0){throw sT(new rT(),'must be positive');}mh(b);b.b=true;b.c=th(b,a);bZ(xh,b);}
-function rh(a){nh();$wnd.clearInterval(a);}
-function sh(a){nh();$wnd.clearTimeout(a);}
-function th(b,a){nh();return $wnd.setInterval(function(){b.ob();},a);}
-function uh(b,a){nh();return $wnd.setTimeout(function(){b.ob();},a);}
-function vh(){var a;a=y;{oh(this);}}
-function wh(){nh();Bh(new hh());}
-function gh(){}
-_=gh.prototype=new xU();_.ob=vh;_.tN=mgc+'Timer';_.tI=13;_.b=false;_.c=0;var xh;function vc(){vc=v3;nh();}
-function uc(b,a){vc();b.a=a;lh(b);return b;}
-function wc(){if(!this.a.c){return;}kd(this.a);}
-function tc(){}
-_=tc.prototype=new gh();_.ce=wc;_.tN=mgc+'CommandExecutor$1';_.tI=14;function zc(){zc=v3;nh();}
-function yc(b,a){zc();b.a=a;lh(b);return b;}
-function Ac(){od(this.a,false);ld(this.a,lW());}
-function xc(){}
-_=xc.prototype=new gh();_.ce=Ac;_.tN=mgc+'CommandExecutor$2';_.tI=15;function Cc(b,a){b.d=a;return b;}
-function Ec(a){return gZ(a.d.b,a.b);}
-function Fc(a){return a.c<a.a;}
-function ad(b){var a;b.b=b.c;a=gZ(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
-function bd(a){kZ(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
-function cd(b,a){b.a=a;}
-function dd(a){return a.b==(-1);}
-function ed(){return Fc(this);}
-function fd(){return ad(this);}
-function gd(){bd(this);}
-function Bc(){}
-_=Bc.prototype=new xU();_.gc=ed;_.pc=fd;_.Fd=gd;_.tN=mgc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function td(){td=v3;uf=FY(new DY());{kf=new ni();cj(kf);}}
-function ud(a){td();bZ(uf,a);}
-function vd(b,a){td();oj(kf,b,a);}
-function wd(a,b){td();return pi(kf,a,b);}
-function xd(){td();return qj(kf,'A');}
-function yd(){td();return qj(kf,'button');}
-function zd(){td();return qj(kf,'div');}
-function Ad(a){td();return qj(kf,a);}
-function Bd(){td();return qj(kf,'form');}
-function Cd(){td();return qj(kf,'iframe');}
-function Dd(){td();return qj(kf,'img');}
-function Ed(){td();return rj(kf,'checkbox');}
-function Fd(){td();return rj(kf,'password');}
-function ae(a){td();return qi(kf,a);}
-function be(){td();return rj(kf,'text');}
-function ce(){td();return qj(kf,'label');}
-function de(a){td();return ri(kf,a);}
-function ee(){td();return qj(kf,'span');}
-function fe(){td();return qj(kf,'tbody');}
-function ge(){td();return qj(kf,'td');}
-function he(){td();return qj(kf,'tr');}
-function ie(){td();return qj(kf,'table');}
-function je(){td();return qj(kf,'textarea');}
-function me(b,a,d){td();var c;c=y;{le(b,a,d);}}
-function le(b,a,c){td();var d;if(a===tf){if(ze(b)==8192){tf=null;}}d=ke;ke=b;try{c.tc(b);}finally{ke=d;}}
-function ne(b,a){td();sj(kf,b,a);}
-function oe(a){td();return tj(kf,a);}
-function pe(a){td();return si(kf,a);}
-function qe(a){td();return ti(kf,a);}
-function re(a){td();return uj(kf,a);}
-function se(a){td();return ui(kf,a);}
-function te(a){td();return vi(kf,a);}
-function ue(a){td();return vj(kf,a);}
-function ve(a){td();return wj(kf,a);}
-function we(a){td();return xj(kf,a);}
-function xe(a){td();return wi(kf,a);}
-function ye(a){td();return xi(kf,a);}
-function ze(a){td();return yj(kf,a);}
-function Ae(a){td();yi(kf,a);}
-function Be(a){td();return zi(kf,a);}
-function Ce(a){td();return Ai(kf,a);}
-function De(a){td();return Bi(kf,a);}
-function af(b,a){td();return Ei(kf,b,a);}
-function Ee(a){td();return Ci(kf,a);}
-function Fe(b,a){td();return Di(kf,b,a);}
-function df(a,b){td();return Bj(kf,a,b);}
-function bf(a,b){td();return zj(kf,a,b);}
-function cf(a,b){td();return Aj(kf,a,b);}
-function ef(a){td();return Cj(kf,a);}
-function ff(a){td();return Fi(kf,a);}
-function gf(a){td();return Dj(kf,a);}
-function hf(a){td();return aj(kf,a);}
-function jf(a){td();return bj(kf,a);}
-function lf(c,a,b){td();dj(kf,c,a,b);}
-function mf(c,b,d,a){td();ej(kf,c,b,d,a);}
-function nf(b,a){td();return fj(kf,b,a);}
-function of(a){td();var b,c;c=true;if(uf.b>0){b=bc(gZ(uf,uf.b-1),5);if(!(c=b.zc(a))){ne(a,true);Ae(a);}}return c;}
-function pf(a){td();if(tf!==null&&wd(a,tf)){tf=null;}gj(kf,a);}
-function qf(b,a){td();Ej(kf,b,a);}
-function rf(b,a){td();Fj(kf,b,a);}
-function sf(a){td();lZ(uf,a);}
-function vf(a){td();ak(kf,a);}
-function wf(a){td();tf=a;hj(kf,a);}
-function xf(b,a,c){td();bk(kf,b,a,c);}
-function Af(a,b,c){td();ek(kf,a,b,c);}
-function yf(a,b,c){td();ck(kf,a,b,c);}
-function zf(a,b,c){td();dk(kf,a,b,c);}
-function Bf(a,b){td();fk(kf,a,b);}
-function Cf(a,b){td();ij(kf,a,b);}
-function Df(a,b){td();gk(kf,a,b);}
-function Ef(a,b){td();jj(kf,a,b);}
-function Ff(b,a,c){td();hk(kf,b,a,c);}
-function ag(b,a,c){td();ik(kf,b,a,c);}
-function bg(a,b){td();kj(kf,a,b);}
-function cg(a){td();return jk(kf,a);}
-function dg(){td();return kk(kf);}
-function eg(){td();return lk(kf);}
-var ke=null,kf=null,tf=null,uf;function gg(){gg=v3;jg=id(new sc());}
-function ig(a){gg();pd(jg,a);}
-function hg(a){gg();if(a===null){throw lU(new kU(),'cmd can not be null');}pd(jg,a);}
-var jg;function mg(b,a){if(cc(a,6)){return wd(b,bc(a,6));}return gb(jc(b,kg),a);}
-function ng(a){return mg(this,a);}
-function og(){return hb(jc(this,kg));}
-function pg(){return cg(this);}
-function kg(){}
-_=kg.prototype=new eb();_.eQ=ng;_.hC=og;_.tS=pg;_.tN=mgc+'Element';_.tI=17;function ug(a){return gb(jc(this,qg),a);}
-function vg(){return hb(jc(this,qg));}
-function wg(){return Be(this);}
-function qg(){}
-_=qg.prototype=new eb();_.eQ=ug;_.hC=vg;_.tS=wg;_.tN=mgc+'Event';_.tI=18;function yg(){yg=v3;Ag=ok(new nk());}
-function zg(c,b,a){yg();return tk(Ag,c,b,a);}
-var Ag;function Dg(){Dg=v3;bh=FY(new DY());{ch=new Fk();if(!dl(ch)){ch=null;}}}
-function Eg(a){Dg();bZ(bh,a);}
-function Fg(a){Dg();var b,c;for(b=bh.mc();b.gc();){c=bc(b.pc(),7);c.Ec(a);}}
-function ah(){Dg();return ch!==null?kl(ch):'';}
-function dh(a){Dg();if(ch!==null){Ck(ch,a);}}
-function eh(b){Dg();var a;a=y;{Fg(b);}}
-var bh,ch=null;function jh(){while((nh(),xh).b>0){mh(bc(gZ((nh(),xh),0),8));}}
-function kh(){return null;}
-function hh(){}
-_=hh.prototype=new xU();_.rd=jh;_.sd=kh;_.tN=mgc+'Timer$1';_.tI=19;function Ah(){Ah=v3;Dh=FY(new DY());li=FY(new DY());{gi();}}
-function Bh(a){Ah();bZ(Dh,a);}
-function Ch(a){Ah();$wnd.alert(a);}
-function Eh(a){Ah();return $wnd.confirm(a);}
-function Fh(){Ah();var a,b;for(a=Dh.mc();a.gc();){b=bc(a.pc(),9);b.rd();}}
-function ai(){Ah();var a,b,c,d;d=null;for(a=Dh.mc();a.gc();){b=bc(a.pc(),9);c=b.sd();{d=c;}}return d;}
-function bi(){Ah();var a,b;for(a=li.mc();a.gc();){b=gc(a.pc());null.ef();}}
-function ci(){Ah();return dg();}
-function di(){Ah();return eg();}
-function ei(){Ah();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
-function fi(){Ah();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
-function gi(){Ah();__gwt_initHandlers(function(){ji();},function(){return ii();},function(){hi();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
-function hi(){Ah();var a;a=y;{Fh();}}
-function ii(){Ah();var a;a=y;{return ai();}}
-function ji(){Ah();var a;a=y;{bi();}}
-function ki(c,b,a){Ah();$wnd.open(c,b,a);}
-var Dh,li;function oj(c,b,a){b.appendChild(a);}
-function qj(b,a){return $doc.createElement(a);}
-function rj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
-function sj(c,b,a){b.cancelBubble=a;}
-function tj(b,a){return !(!a.altKey);}
-function uj(b,a){return !(!a.ctrlKey);}
-function vj(b,a){return a.which||(a.keyCode|| -1);}
-function wj(b,a){return !(!a.metaKey);}
-function xj(b,a){return !(!a.shiftKey);}
-function yj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
-function Bj(d,a,b){var c=a[b];return c==null?null:String(c);}
-function zj(c,a,b){return !(!a[b]);}
-function Aj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
-function Cj(b,a){return a.__eventBits||0;}
-function Dj(c,a){var b=a.innerHTML;return b==null?null:b;}
-function Ej(c,b,a){b.removeChild(a);}
-function Fj(c,b,a){b.removeAttribute(a);}
-function ak(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
-function bk(c,b,a,d){b.setAttribute(a,d);}
-function ek(c,a,b,d){a[b]=d;}
-function ck(c,a,b,d){a[b]=d;}
-function dk(c,a,b,d){a[b]=d;}
-function fk(c,a,b){a.__listener=b;}
-function gk(c,a,b){if(!b){b='';}a.innerHTML=b;}
-function hk(c,b,a,d){b.style[a]=d;}
-function ik(c,b,a,d){b.style[a]=d;}
-function jk(b,a){return a.outerHTML;}
-function kk(a){return $doc.body.clientHeight;}
-function lk(a){return $doc.body.clientWidth;}
-function mi(){}
-_=mi.prototype=new xU();_.tN=ngc+'DOMImpl';_.tI=20;function pi(c,a,b){if(!a&& !b)return true;else if(!a|| !b)return false;return a.uniqueID==b.uniqueID;}
-function qi(b,a){return $doc.createElement("<INPUT type='RADIO' name='"+a+"'>");}
-function ri(c,b){var a=b?'<SELECT MULTIPLE>':'<SELECT>';return $doc.createElement(a);}
-function si(b,a){return a.clientX-mj();}
-function ti(b,a){return a.clientY-nj();}
-function ui(b,a){return lj;}
-function vi(b,a){return a.fromElement?a.fromElement:null;}
-function wi(b,a){return a.srcElement||null;}
-function xi(b,a){return a.toElement||null;}
-function yi(b,a){a.returnValue=false;}
-function zi(b,a){if(a.toString)return a.toString();return '[object Event]';}
-function Ai(c,a){var b=$doc.documentElement.scrollLeft||$doc.body.scrollLeft;return a.getBoundingClientRect().left+b-mj();}
-function Bi(c,a){var b=$doc.documentElement.scrollTop||$doc.body.scrollTop;return a.getBoundingClientRect().top+b-nj();}
-function Ei(d,b,c){var a=b.children[c];return a||null;}
-function Ci(b,a){return a.children.length;}
-function Di(e,d,a){var b=d.children.length;for(var c=0;c<b;++c){if(a.uniqueID==d.children[c].uniqueID)return c;}return -1;}
-function Fi(c,b){var a=b.firstChild;return a||null;}
-function aj(c,a){var b=a.innerText;return b==null?null:b;}
-function bj(c,a){var b=a.parentElement;return b||null;}
-function cj(d){try{$doc.execCommand('BackgroundImageCache',false,true);}catch(a){}$wnd.__dispatchEvent=function(){var c=lj;lj=this;if($wnd.event.returnValue==null){$wnd.event.returnValue=true;if(!of($wnd.event)){lj=c;return;}}var b,a=this;while(a&& !(b=a.__listener))a=a.parentElement;if(b)me($wnd.event,a,b);lj=c;};$wnd.__dispatchDblClickEvent=function(){var a=$doc.createEventObject();this.fireEvent('onclick',a);if(this.__eventBits&2)$wnd.__dispatchEvent.call(this);};$doc.body.onclick=$doc.body.onmousedown=$doc.body.onmouseup=$doc.body.onmousemove=$doc.body.onmousewheel=$doc.body.onkeydown=$doc.body.onkeypress=$doc.body.onkeyup=$doc.body.onfocus=$doc.body.onblur=$doc.body.ondblclick=$wnd.__dispatchEvent;}
-function dj(d,c,a,b){if(b>=c.children.length)c.appendChild(a);else c.insertBefore(a,c.children[b]);}
-function ej(e,c,d,f,a){var b=new Option(d,f);if(a== -1||a>c.options.length-1){c.add(b);}else{c.add(b,a);}}
-function fj(c,b,a){while(a){if(b.uniqueID==a.uniqueID)return true;a=a.parentElement;}return false;}
-function gj(b,a){a.releaseCapture();}
-function hj(b,a){a.setCapture();}
-function ij(c,a,b){wl(a,b);}
-function jj(c,a,b){if(!b)b='';a.innerText=b;}
-function kj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&(1|2)?$wnd.__dispatchDblClickEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
-function mj(){return $doc.documentElement.clientLeft||$doc.body.clientLeft;}
-function nj(){return $doc.documentElement.clientTop||$doc.body.clientTop;}
-function ni(){}
-_=ni.prototype=new mi();_.tN=ngc+'DOMImplIE6';_.tI=21;var lj=null;function rk(a){xk=jb();return a;}
-function tk(c,d,b,a){return uk(c,null,null,d,b,a);}
-function uk(d,f,c,e,b,a){return sk(d,f,c,e,b,a);}
-function sk(e,g,d,f,c,b){var h=e.jb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=xk;b.xc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=xk;return false;}}
-function wk(){return new XMLHttpRequest();}
-function mk(){}
-_=mk.prototype=new xU();_.jb=wk;_.tN=ngc+'HTTPRequestImpl';_.tI=22;var xk=null;function ok(a){rk(a);return a;}
-function qk(){return new ActiveXObject('Msxml2.XMLHTTP');}
-function nk(){}
-_=nk.prototype=new mk();_.jb=qk;_.tN=ngc+'HTTPRequestImplIE6';_.tI=23;function kl(a){return $wnd.__gwt_historyToken;}
-function ll(a,b){$wnd.__gwt_historyToken=b;}
-function ml(a){eh(a);}
-function yk(){}
-_=yk.prototype=new xU();_.tN=ngc+'HistoryImpl';_.tI=24;function Bk(a){var b;a.a=Dk();if(a.a===null){return false;}cl(a);b=Ek(a.a);if(b!==null){ll(a,bl(a,b));}else{fl(a,a.a,kl(a),true);}el(a);return true;}
-function Ck(b,a){b.oc(b.a,a,false);}
-function Dk(){var a=$doc.getElementById('__gwt_historyFrame');return a||null;}
-function Ek(b){var c=null;if(b.contentWindow){var a=b.contentWindow.document;c=a.getElementById('__gwt_historyToken')||null;}return c;}
-function zk(){}
-_=zk.prototype=new yk();_.tN=ngc+'HistoryImplFrame';_.tI=25;_.a=null;function bl(a,b){return b.innerText;}
-function dl(a){if(!Bk(a)){return false;}hl();return true;}
-function cl(c){var b=$wnd.location.hash;if(b.length>0){try{$wnd.__gwt_historyToken=decodeURIComponent(b.substring(1));}catch(a){$wnd.location.hash='';$wnd.__gwt_historyToken='';}return;}$wnd.__gwt_historyToken='';}
-function el(b){$wnd.__gwt_onHistoryLoad=function(a){if(a!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=a;$wnd.location.hash=encodeURIComponent(a);ml(a);}};}
-function fl(e,c,d,b){d=gl(d||'');if(b||$wnd.__gwt_historyToken!=d){var a=c.contentWindow.document;a.open();a.write('<html><body onload="if(parent.__gwt_onHistoryLoad)parent.__gwt_onHistoryLoad(__gwt_historyToken.innerText)"><div id="__gwt_historyToken">'+d+'<\/div><\/body><\/html>');a.close();}}
-function gl(b){var a;a=zd();Ef(a,b);return gf(a);}
-function hl(){var d=function(){var b=$wnd.location.hash;if(b.length>0){var c='';try{c=decodeURIComponent(b.substring(1));}catch(a){$wnd.location.reload();}if($wnd.__gwt_historyToken&&c!=$wnd.__gwt_historyToken){$wnd.location.reload();}}$wnd.setTimeout(d,250);};d();}
-function il(b,c,a){fl(this,b,c,a);}
-function Fk(){}
-_=Fk.prototype=new zk();_.oc=il;_.tN=ngc+'HistoryImplIE6';_.tI=26;function pl(b,a){b.__kids.push(a);a.__pendingSrc=b.__pendingSrc;}
-function ql(k,i,j){i.src=j;if(i.complete){return;}i.__kids=[];i.__pendingSrc=j;k[j]=i;var g=i.onload,f=i.onerror,e=i.onabort;function h(c){var d=i.__kids;i.__cleanup();window.setTimeout(function(){for(var a=0;a<d.length;++a){var b=d[a];if(b.__pendingSrc==j){b.src=j;b.__pendingSrc=null;}}},0);c&&c.call(i);}
-i.onload=function(){h(g);};i.onerror=function(){h(f);};i.onabort=function(){h(e);};i.__cleanup=function(){i.onload=g;i.onerror=f;i.onabort=e;i.__cleanup=i.__pendingSrc=i.__kids=null;delete k[j];};}
-function rl(a){return a.__pendingSrc||a.src;}
-function sl(a){return a.__pendingSrc||null;}
-function tl(b,a){return b[a]||null;}
-function ul(e,b){var f=b.uniqueID;var d=e.__kids;for(var c=0,a=d.length;c<a;++c){if(d[c].uniqueID==f){d.splice(c,1);b.__pendingSrc=null;return;}}}
-function vl(f,c){var e=c.__pendingSrc;var d=c.__kids;c.__cleanup();if(c=d[0]){c.__pendingSrc=null;ql(f,c,e);if(c.__pendingSrc){d.splice(0,1);c.__kids=d;}else{for(var b=1,a=d.length;b<a;++b){d[b].src=e;d[b].__pendingSrc=null;}}}}
-function wl(a,c){var b,d;if(qV(rl(a),c)){return;}if(xl===null){xl=kb();}b=sl(a);if(b!==null){d=tl(xl,b);if(mg(d,jc(a,kg))){vl(xl,d);}else{ul(d,a);}}d=tl(xl,c);if(d===null){ql(xl,a,c);}else{pl(d,a);}}
-var xl=null;function Al(a){DU(a,'This application is out of date, please click the refresh button on your browser');return a;}
-function zl(){}
-_=zl.prototype=new CU();_.tN=ogc+'IncompatibleRemoteServiceException';_.tI=27;function El(b,a){}
-function Fl(b,a){}
-function bm(b,a){EU(b,a,null);return b;}
-function am(){}
-_=am.prototype=new CU();_.tN=ogc+'InvocationException';_.tI=28;function nm(){return this.b;}
-function fm(){}
-_=fm.prototype=new nT();_.vb=nm;_.tN=ogc+'SerializableException';_.tI=29;_.b=null;function jm(b,a){mm(a,b.Bd());}
-function km(a){return a.b;}
-function lm(b,a){b.cf(km(a));}
-function mm(a,b){a.b=b;}
-function pm(b,a){oT(b,a);return b;}
-function om(){}
-_=om.prototype=new nT();_.tN=ogc+'SerializationException';_.tI=30;function um(a){bm(a,'Service implementation URL not specified');return a;}
-function tm(){}
-_=tm.prototype=new am();_.tN=ogc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function zm(b,a){}
-function Am(a){return cT(a.wd());}
-function Bm(b,a){b.De(a.a);}
-function Em(c,a){var b;for(b=0;b<a.a;++b){Cb(a,b,c.Ad());}}
-function Fm(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.bf(a[c]);}}
-function cn(b,a){}
-function dn(a){return a.Bd();}
-function en(b,a){b.cf(a);}
-function hn(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.xd();}}
-function jn(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.Ee(a[c]);}}
-function mn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();bZ(b,c);}}
-function nn(e,a){var b,c,d;d=a.b;e.Fe(d);b=a.mc();while(b.gc()){c=b.pc();e.bf(c);}}
-function qn(b,a){}
-function rn(a){return m0(new k0(),a.zd());}
-function sn(b,a){b.af(p0(a));}
-function vn(e,b){var a,c,d,f;d=e.yd();for(a=0;a<d;++a){c=e.Ad();f=e.Ad();d2(b,c,f);}}
-function wn(f,c){var a,b,d,e;e=c.c;f.Fe(e);b=b2(c);d=x1(b);while(p1(d)){a=q1(d);f.bf(a.ub());f.bf(a.ac());}}
-function zn(d,b){var a,c;c=d.yd();for(a=0;a<c;++a){x2(b,d.Ad());}}
-function An(c,a){var b;c.Fe(a.a.c);for(b=z2(a);AX(b);){c.bf(BX(b));}}
-function Dn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();k3(b,c);}}
-function En(e,a){var b,c,d;d=a.a.b;e.Fe(d);b=m3(a);while(b.gc()){c=b.pc();e.bf(c);}}
-function wo(a){return a.j>2;}
-function xo(b,a){b.i=a;}
-function yo(a,b){a.j=b;}
-function Fn(){}
-_=Fn.prototype=new xU();_.tN=rgc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function bo(a){a.e=FY(new DY());}
-function co(a){bo(a);return a;}
-function fo(b,a){dZ(b.e);yo(b,Fo(b));xo(b,Fo(b));}
-function go(a){var b,c;b=a.yd();if(b<0){return gZ(a.e,-(b+1));}c=a.Eb(b);if(c===null){return null;}return a.hb(c);}
-function ho(b,a){bZ(b.e,a);}
-function io(){return go(this);}
-function ao(){}
-_=ao.prototype=new Fn();_.Ad=io;_.tN=rgc+'AbstractSerializationStreamReader';_.tI=33;function lo(b,a){b.E(a?'1':'0');}
-function mo(b,a){b.E(gW(a));}
-function no(c,a){var b,d;if(a===null){oo(c,null);return;}b=c.tb(a);if(b>=0){mo(c,-(b+1));return;}c.de(a);d=c.xb(a);oo(c,d);c.ge(a,d);}
-function oo(a,b){mo(a,a.z(b));}
-function po(a){lo(this,a);}
-function qo(a){this.E(gW(a));}
-function ro(a){mo(this,a);}
-function so(a){this.E(hW(a));}
-function to(a){no(this,a);}
-function uo(a){oo(this,a);}
-function jo(){}
-_=jo.prototype=new Fn();_.De=po;_.Ee=qo;_.Fe=ro;_.af=so;_.bf=to;_.cf=uo;_.tN=rgc+'AbstractSerializationStreamWriter';_.tI=34;function Ao(b,a){co(b);b.c=a;return b;}
-function Co(b,a){if(!a){return null;}return b.d[a-1];}
-function Do(b,a){b.b=dp(a);b.a=ep(b.b);fo(b,a);b.d=ap(b);}
-function Eo(a){return !(!a.b[--a.a]);}
-function Fo(a){return a.b[--a.a];}
-function ap(a){return a.b[--a.a];}
-function bp(a){return Co(a,Fo(a));}
-function cp(b){var a;a=this.c.jc(this,b);ho(this,a);this.c.gb(this,a,b);return a;}
-function dp(a){return eval(a);}
-function ep(a){return a.length;}
-function fp(a){return Co(this,a);}
-function gp(){return Eo(this);}
-function hp(){return this.b[--this.a];}
-function ip(){return Fo(this);}
-function jp(){return this.b[--this.a];}
-function kp(){return bp(this);}
-function zo(){}
-_=zo.prototype=new ao();_.hb=cp;_.Eb=fp;_.wd=gp;_.xd=hp;_.yd=ip;_.zd=jp;_.Bd=kp;_.tN=rgc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function mp(a){a.h=FY(new DY());}
-function np(d,c,a,b){mp(d);d.f=c;d.b=a;d.e=b;return d;}
-function pp(c,a){var b=c.d[a];return b==null?-1:b;}
-function qp(c,a){var b=c.g[':'+a];return b==null?0:b;}
-function rp(a){a.c=0;a.d=kb();a.g=kb();dZ(a.h);a.a=cV(new bV());if(wo(a)){oo(a,a.b);oo(a,a.e);}}
-function sp(b,a,c){b.d[a]=c;}
-function tp(b,a,c){b.g[':'+a]=c;}
-function up(b){var a;a=cV(new bV());vp(b,a);xp(b,a);wp(b,a);return iV(a);}
-function vp(b,a){zp(a,gW(b.j));zp(a,gW(b.i));}
-function wp(b,a){eV(a,iV(b.a));}
-function xp(d,a){var b,c;c=d.h.b;zp(a,gW(c));for(b=0;b<c;++b){zp(a,bc(gZ(d.h,b),1));}return a;}
-function yp(b){var a;if(b===null){return 0;}a=qp(this,b);if(a>0){return a;}bZ(this.h,b);a=this.h.b;tp(this,b,a);return a;}
-function zp(a,b){eV(a,b);dV(a,65535);}
-function Ap(a){zp(this.a,a);}
-function Bp(a){return pp(this,mW(a));}
-function Cp(a){var b,c;c=x(a);b=this.f.Db(c);if(b!==null){c+='/'+b;}return c;}
-function Dp(a){sp(this,mW(a),this.c++);}
-function Ep(a,b){this.f.fe(this,a,b);}
-function Fp(){return up(this);}
-function lp(){}
-_=lp.prototype=new jo();_.z=yp;_.E=Ap;_.tb=Bp;_.xb=Cp;_.de=Dp;_.ge=Ep;_.tS=Fp;_.tN=rgc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function jO(b,a){FO(b.Fb(),a,true);}
-function lO(a){return Ce(a.rb());}
-function mO(a){return De(a.rb());}
-function nO(a){return cf(a.w,'offsetHeight');}
-function oO(a){return cf(a.w,'offsetWidth');}
-function pO(b,a){FO(b.Fb(),a,false);}
-function qO(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
-function rO(b,a){if(b.w!==null){qO(b,b.w,a);}b.w=a;}
-function sO(b,c,a){if(c>=0){b.xe(c+'px');}if(a>=0){b.ne(a+'px');}}
-function tO(b,c,a){b.xe(c);b.ne(a);}
-function uO(b,a){EO(b.Fb(),a);}
-function vO(b,a){bg(b.rb(),a|ef(b.rb()));}
-function wO(){return this.w;}
-function xO(){return nO(this);}
-function yO(){return oO(this);}
-function zO(){return this.w;}
-function AO(a){return df(a,'className');}
-function BO(a){return a.style.display!='none';}
-function CO(a){rO(this,a);}
-function DO(a){ag(this.w,'height',a);}
-function EO(a,b){Af(a,'className',b);}
-function FO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw DU(new CU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=DV(j);if(uV(j)==0){throw sT(new rT(),'Style names cannot be empty');}i=AO(c);e=sV(i,j);while(e!=(-1)){if(e==0||lV(i,e-1)==32){f=e+uV(j);g=uV(i);if(f==g||f<g&&lV(i,f)==32){break;}}e=tV(i,j,e+1);}if(a){if(e==(-1)){if(uV(i)>0){i+=' ';}Af(c,'className',i+j);}}else{if(e!=(-1)){b=DV(AV(i,0,e));d=DV(zV(i,e+uV(j)));if(uV(b)==0){h=d;}else if(uV(d)==0){h=b;}else{h=b+' '+d;}Af(c,'className',h);}}}
-function aP(a){if(a===null||uV(a)==0){rf(this.w,'title');}else{xf(this.w,'title',a);}}
-function bP(a,b){a.style.display=b?'':'none';}
-function cP(a){bP(this.w,a);}
-function dP(a){ag(this.w,'width',a);}
-function eP(){if(this.w===null){return '(null handle)';}return cg(this.w);}
-function iO(){}
-_=iO.prototype=new xU();_.rb=wO;_.yb=xO;_.zb=yO;_.Fb=zO;_.je=CO;_.ne=DO;_.pe=aP;_.ue=cP;_.xe=dP;_.tS=eP;_.tN=sgc+'UIObject';_.tI=37;_.w=null;function qQ(a){if(a.kc()){throw vT(new uT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;Bf(a.rb(),a);a.ib();a.cd();}
-function rQ(a){if(!a.kc()){throw vT(new uT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.qd();}finally{a.kb();Bf(a.rb(),null);a.t=false;}}
-function sQ(a){if(cc(a.v,54)){bc(a.v,54).be(a);}else if(a.v!==null){throw vT(new uT(),"This widget's parent does not implement HasWidgets");}}
-function tQ(b,a){if(b.kc()){Bf(b.rb(),null);}rO(b,a);if(b.kc()){Bf(a,b);}}
-function uQ(b,a){b.u=a;}
-function vQ(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.kc()){c.yc();}c.v=null;}else{if(a!==null){throw vT(new uT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.kc()){c.rc();}}}
-function wQ(){}
-function xQ(){}
-function yQ(){return this.t;}
-function zQ(){qQ(this);}
-function AQ(a){}
-function BQ(){rQ(this);}
-function CQ(){}
-function DQ(){}
-function EQ(a){tQ(this,a);}
-function oP(){}
-_=oP.prototype=new iO();_.ib=wQ;_.kb=xQ;_.kc=yQ;_.rc=zQ;_.tc=AQ;_.yc=BQ;_.cd=CQ;_.qd=DQ;_.je=EQ;_.tN=sgc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function uE(b,a){vQ(a,b);}
-function wE(b,a){vQ(a,null);}
-function xE(){var a;a=this.mc();while(a.gc()){a.pc();a.Fd();}}
-function yE(){var a,b;for(b=this.mc();b.gc();){a=bc(b.pc(),20);a.rc();}}
-function zE(){var a,b;for(b=this.mc();b.gc();){a=bc(b.pc(),20);a.yc();}}
-function AE(){}
-function BE(){}
-function tE(){}
-_=tE.prototype=new oP();_.F=xE;_.ib=yE;_.kb=zE;_.cd=AE;_.qd=BE;_.tN=sgc+'Panel';_.tI=39;function vr(a){a.f=yP(new pP(),a);}
-function wr(a){vr(a);return a;}
-function xr(c,a,b){sQ(a);zP(c.f,a);vd(b,a.rb());uE(c,a);}
-function yr(d,b,a){var c;Ar(d,a);if(b.v===d){c=Cr(d,b);if(c<a){a--;}}return a;}
-function zr(b,a){if(a<0||a>=b.f.c){throw new xT();}}
-function Ar(b,a){if(a<0||a>b.f.c){throw new xT();}}
-function Dr(b,a){return BP(b.f,a);}
-function Cr(b,a){return CP(b.f,a);}
-function Er(e,b,c,a,d){a=yr(e,b,a);sQ(b);DP(e.f,b,a);if(d){lf(c,b.rb(),a);}else{vd(c,b.rb());}uE(e,b);}
-function Fr(a){return EP(a.f);}
-function as(b,c){var a;if(c.v!==b){return false;}wE(b,c);a=c.rb();qf(jf(a),a);aQ(b.f,c);return true;}
-function bs(){return Fr(this);}
-function cs(a){return this.be(Dr(this,a));}
-function ds(a){return as(this,a);}
-function ur(){}
-_=ur.prototype=new tE();_.mc=bs;_.ae=cs;_.be=ds;_.tN=sgc+'ComplexPanel';_.tI=40;function cq(a){wr(a);a.je(zd());ag(a.rb(),'position','relative');ag(a.rb(),'overflow','hidden');return a;}
-function dq(a,b){xr(a,b,a.rb());}
-function fq(b,c){var a;a=as(b,c);if(a){gq(c.rb());}return a;}
-function gq(a){ag(a,'left','');ag(a,'top','');ag(a,'position','');}
-function hq(a){return fq(this,a);}
-function bq(){}
-_=bq.prototype=new ur();_.be=hq;_.tN=sgc+'AbsolutePanel';_.tI=41;function iq(){}
-_=iq.prototype=new xU();_.tN=sgc+'AbstractImagePrototype';_.tI=42;function hv(){hv=v3;lv=(uR(),yR);}
-function fv(b,a){hv();jv(b,a);return b;}
-function gv(b,a){if(b.k===null){b.k=Bu(new Au());}bZ(b.k,a);}
-function iv(b,a){switch(ze(a)){case 1:if(b.j!==null){sr(b.j,b);}break;case 4096:case 2048:if(b.k!==null){Du(b.k,b,a);}break;case 128:case 512:case 256:break;}}
-function jv(b,a){tQ(b,a);vO(b,7041);}
-function kv(a){if(this.j===null){this.j=qr(new pr());}bZ(this.j,a);}
-function mv(a){iv(this,a);}
-function nv(a){jv(this,a);}
-function ov(a){yf(this.rb(),'disabled',!a);}
-function pv(a){if(a){rR(lv,this.rb());}else{tR(lv,this.rb());}}
-function qv(a){wR(lv,this.rb(),a);}
-function ev(){}
-_=ev.prototype=new oP();_.x=kv;_.tc=mv;_.je=nv;_.ke=ov;_.le=pv;_.oe=qv;_.tN=sgc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var lv;function nq(){nq=v3;hv();}
-function mq(b,a){nq();fv(b,a);return b;}
-function oq(a){Df(this.rb(),a);}
-function lq(){}
-_=lq.prototype=new ev();_.me=oq;_.tN=sgc+'ButtonBase';_.tI=44;function rq(){rq=v3;nq();}
-function pq(a){rq();mq(a,yd());sq(a.rb());uO(a,'gwt-Button');return a;}
-function qq(b,a){rq();pq(b);b.me(a);return b;}
-function sq(b){rq();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
-function kq(){}
-_=kq.prototype=new lq();_.tN=sgc+'Button';_.tI=45;function uq(a){wr(a);a.e=ie();a.d=fe();vd(a.e,a.d);a.je(a.e);return a;}
-function wq(c,b,a){Af(b,'align',a.a);}
-function xq(c,b,a){ag(b,'verticalAlign',a.a);}
-function yq(c,a){var b;b=jf(c.rb());Af(b,'height',a);}
-function zq(b,c){var a;a=jf(b.rb());Af(a,'width',c);}
-function tq(){}
-_=tq.prototype=new ur();_.he=yq;_.ie=zq;_.tN=sgc+'CellPanel';_.tI=46;_.d=null;_.e=null;function yW(d,a,b){var c;while(a.gc()){c=a.pc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
-function AW(a){throw vW(new uW(),'add');}
-function BW(b){var a;a=yW(this,this.mc(),b);return a!==null;}
-function CW(){return this.Be(Ab('[Ljava.lang.Object;',[614],[12],[this.ye()],null));}
-function DW(a){var b,c,d;d=this.ye();if(a.a<d){a=vb(a,d);}b=0;for(c=this.mc();c.gc();){Cb(a,b++,c.pc());}if(a.a>d){Cb(a,d,null);}return a;}
-function EW(){var a,b,c;c=cV(new bV());a=null;eV(c,'[');b=this.mc();while(b.gc()){if(a!==null){eV(c,a);}else{a=', ';}eV(c,iW(b.pc()));}eV(c,']');return iV(c);}
-function xW(){}
-_=xW.prototype=new xU();_.C=AW;_.db=BW;_.Ae=CW;_.Be=DW;_.tS=EW;_.tN=wgc+'AbstractCollection';_.tI=47;function iX(b,a){throw yT(new xT(),'Index: '+a+', Size: '+b.b);}
-function jX(b,a){throw vW(new uW(),'add');}
-function kX(a){this.B(this.ye(),a);return true;}
-function lX(e){var a,b,c,d,f;if(e===this){return true;}if(!cc(e,56)){return false;}f=bc(e,56);if(this.ye()!=f.ye()){return false;}c=this.mc();d=f.mc();while(c.gc()){a=c.pc();b=d.pc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
-function mX(){var a,b,c,d;c=1;a=31;b=this.mc();while(b.gc()){d=b.pc();c=31*c+(d===null?0:d.hC());}return c;}
-function nX(){return bX(new aX(),this);}
-function oX(a){throw vW(new uW(),'remove');}
-function FW(){}
-_=FW.prototype=new xW();_.B=jX;_.C=kX;_.eQ=lX;_.hC=mX;_.mc=nX;_.ae=oX;_.tN=wgc+'AbstractList';_.tI=48;function EY(a){{cZ(a);}}
-function FY(a){EY(a);return a;}
-function aZ(c,a,b){if(a<0||a>c.b){iX(c,a);}nZ(c.a,a,b);++c.b;}
-function bZ(b,a){wZ(b.a,b.b++,a);return true;}
-function dZ(a){cZ(a);}
-function cZ(a){a.a=ib();a.b=0;}
-function fZ(b,a){return hZ(b,a)!=(-1);}
-function gZ(b,a){if(a<0||a>=b.b){iX(b,a);}return sZ(b.a,a);}
-function hZ(b,a){return iZ(b,a,0);}
-function iZ(c,b,a){if(a<0){iX(c,a);}for(;a<c.b;++a){if(rZ(b,sZ(c.a,a))){return a;}}return (-1);}
-function jZ(a){return a.b==0;}
-function kZ(c,a){var b;b=gZ(c,a);uZ(c.a,a,1);--c.b;return b;}
-function lZ(c,b){var a;a=hZ(c,b);if(a==(-1)){return false;}kZ(c,a);return true;}
-function mZ(d,a,b){var c;c=gZ(d,a);wZ(d.a,a,b);return c;}
-function oZ(a,b){aZ(this,a,b);}
-function pZ(a){return bZ(this,a);}
-function nZ(a,b,c){a.splice(b,0,c);}
-function qZ(a){return fZ(this,a);}
-function rZ(a,b){return a===b||a!==null&&a.eQ(b);}
-function tZ(a){return gZ(this,a);}
-function sZ(a,b){return a[b];}
-function vZ(a){return kZ(this,a);}
-function uZ(a,c,b){a.splice(c,b);}
-function wZ(a,b,c){a[b]=c;}
-function xZ(){return this.b;}
-function yZ(a){var b;if(a.a<this.b){a=vb(a,this.b);}for(b=0;b<this.b;++b){Cb(a,b,sZ(this.a,b));}if(a.a>this.b){Cb(a,this.b,null);}return a;}
-function DY(){}
-_=DY.prototype=new FW();_.B=oZ;_.C=pZ;_.db=qZ;_.dc=tZ;_.ae=vZ;_.ye=xZ;_.Be=yZ;_.tN=wgc+'ArrayList';_.tI=49;_.a=null;_.b=0;function Bq(a){FY(a);return a;}
-function Dq(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),41);b.vc(c);}}
-function Aq(){}
-_=Aq.prototype=new DY();_.tN=sgc+'ChangeListenerCollection';_.tI=50;function dr(){dr=v3;nq();}
-function ar(a){dr();br(a,Ed());uO(a,'gwt-CheckBox');return a;}
-function cr(b,a){dr();ar(b);hr(b,a);return b;}
-function br(b,a){var c;dr();mq(b,ee());b.a=a;b.b=ce();bg(b.a,ef(b.rb()));bg(b.rb(),0);vd(b.rb(),b.a);vd(b.rb(),b.b);c='check'+ ++or;Af(b.a,'id',c);Af(b.b,'htmlFor',c);return b;}
-function er(a){return hf(a.b);}
-function fr(b){var a;a=b.kc()?'checked':'defaultChecked';return bf(b.a,a);}
-function gr(b,a){yf(b.a,'checked',a);yf(b.a,'defaultChecked',a);}
-function hr(b,a){Ef(b.b,a);}
-function ir(){Bf(this.a,this);}
-function jr(){Bf(this.a,null);gr(this,fr(this));}
-function kr(a){yf(this.a,'disabled',!a);}
-function lr(a){if(a){rR(lv,this.a);}else{tR(lv,this.a);}}
-function mr(a){Df(this.b,a);}
-function nr(a){wR(lv,this.a,a);}
-function Fq(){}
-_=Fq.prototype=new lq();_.cd=ir;_.qd=jr;_.ke=kr;_.le=lr;_.me=mr;_.oe=nr;_.tN=sgc+'CheckBox';_.tI=51;_.a=null;_.b=null;var or=0;function qr(a){FY(a);return a;}
-function sr(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),42);b.wc(c);}}
-function pr(){}
-_=pr.prototype=new DY();_.tN=sgc+'ClickListenerCollection';_.tI=52;function gs(a,b){if(a.k!==null){throw vT(new uT(),'Composite.initWidget() may only be called once.');}sQ(b);a.je(b.rb());a.k=b;vQ(b,a);}
-function hs(){if(this.k===null){throw vT(new uT(),'initWidget() was never called in '+x(this));}return this.w;}
-function is(){if(this.k!==null){return this.k.kc();}return false;}
-function js(){this.k.rc();this.cd();}
-function ks(){try{this.qd();}finally{this.k.yc();}}
-function es(){}
-_=es.prototype=new oP();_.rb=hs;_.kc=is;_.rc=js;_.yc=ks;_.tN=sgc+'Composite';_.tI=53;_.k=null;function ms(a){wr(a);a.je(zd());return a;}
-function os(b,c){var a;a=c.rb();ag(a,'width','100%');ag(a,'height','100%');c.ue(false);}
-function ps(b,c,a){Er(b,c,b.rb(),a,true);os(b,c);}
-function qs(b,c){var a;a=as(b,c);if(a){rs(b,c);if(b.b===c){b.b=null;}}return a;}
-function rs(a,b){ag(b.rb(),'width','');ag(b.rb(),'height','');b.ue(true);}
-function ss(b,a){zr(b,a);if(b.b!==null){b.b.ue(false);}b.b=Dr(b,a);b.b.ue(true);}
-function ts(a){return qs(this,a);}
-function ls(){}
-_=ls.prototype=new ur();_.be=ts;_.tN=sgc+'DeckPanel';_.tI=54;_.b=null;function AH(a){BH(a,zd());return a;}
-function BH(b,a){b.je(a);return b;}
-function CH(a,b){if(a.r!==null){throw vT(new uT(),'SimplePanel can only contain one child widget');}a.we(b);}
-function EH(a,b){if(b===a.r){return;}if(b!==null){sQ(b);}if(a.r!==null){a.be(a.r);}a.r=b;if(b!==null){vd(a.qb(),a.r.rb());uE(a,b);}}
-function FH(){return this.rb();}
-function aI(){return vH(new tH(),this);}
-function bI(a){if(this.r!==a){return false;}wE(this,a);qf(this.qb(),a.rb());this.r=null;return true;}
-function cI(a){EH(this,a);}
-function sH(){}
-_=sH.prototype=new tE();_.qb=FH;_.mc=aI;_.be=bI;_.we=cI;_.tN=sgc+'SimplePanel';_.tI=55;_.r=null;function eF(){eF=v3;uF=new eS();}
-function aF(a){eF();BH(a,kS(uF));lF(a,0,0);return a;}
-function bF(b,a){eF();aF(b);b.k=a;return b;}
-function cF(c,a,b){eF();bF(c,a);c.o=b;return c;}
-function dF(b,a){if(a.blur){a.blur();}}
-function fF(a){return a.rb();}
-function gF(a){return oO(a);}
-function hF(a){iF(a,false);}
-function iF(b,a){if(!b.p){return;}b.p=false;fq(iH(),b);gS(uF,b.rb());}
-function jF(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.ne(a.l);}if(a.m!==null){b.xe(a.m);}}}
-function kF(e,b){var a,c,d,f;d=xe(b);c=nf(e.rb(),d);f=ze(b);switch(f){case 128:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 512:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 256:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((td(),tf)!==null){return true;}if(!c&&e.k&&f==4){iF(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){dF(e,d);return false;}}}return !e.o||c;}
-function lF(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.rb();ag(a,'left',b+'px');ag(a,'top',d+'px');}
-function mF(a,b){EH(a,b);jF(a);}
-function nF(a,b){a.m=b;jF(a);if(uV(b)==0){a.m=null;}}
-function oF(a){if(a.p){return;}a.p=true;ud(a);ag(a.rb(),'position','absolute');if(a.q!=(-1)){lF(a,a.n,a.q);}dq(iH(),a);hS(uF,a.rb());}
-function pF(){return fF(this);}
-function qF(){return nO(this);}
-function rF(){return gF(this);}
-function sF(){return this.rb();}
-function tF(){hF(this);}
-function vF(){sf(this);rQ(this);}
-function wF(a){return kF(this,a);}
-function xF(a){this.l=a;jF(this);if(uV(a)==0){this.l=null;}}
-function yF(b){var a;a=fF(this);if(b===null||uV(b)==0){rf(a,'title');}else{xf(a,'title',b);}}
-function zF(a){ag(this.rb(),'visibility',a?'visible':'hidden');iS(uF,this.rb(),a);}
-function AF(a){mF(this,a);}
-function BF(a){nF(this,a);}
-function FE(){}
-_=FE.prototype=new sH();_.qb=pF;_.yb=qF;_.zb=rF;_.Fb=sF;_.hc=tF;_.yc=vF;_.zc=wF;_.ne=xF;_.pe=yF;_.ue=zF;_.we=AF;_.xe=BF;_.tN=sgc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var uF;function zs(){zs=v3;eF();}
-function vs(a){a.e=dA(new hx());a.j=lu(new fu());}
-function ws(a){zs();xs(a,false);return a;}
-function xs(b,a){zs();ys(b,a,true);return b;}
-function ys(c,a,b){zs();cF(c,a,b);vs(c);c.j.ve(0,0,c.e);c.j.ne('100%');rz(c.j,0);tz(c.j,0);uz(c.j,0);Cx(c.j.n,1,0,'100%');by(c.j.n,1,0,'100%');Bx(c.j.n,1,0,(oA(),pA),(xA(),zA));mF(c,c.j);uO(c,'gwt-DialogBox');uO(c.e,'Caption');EC(c.e,c);return c;}
-function As(b,a){hA(b.e,a);}
-function Bs(b,a){bD(b.e,a);}
-function Cs(a,b){if(a.f!==null){qz(a.j,a.f);}if(b!==null){a.j.ve(1,0,b);}a.f=b;}
-function Ds(a){if(ze(a)==4){if(nf(this.e.rb(),xe(a))){Ae(a);}}return kF(this,a);}
-function Es(a,b,c){this.i=true;wf(this.e.rb());this.g=b;this.h=c;}
-function Fs(a){}
-function at(a){}
-function bt(c,d,e){var a,b;if(this.i){a=d+lO(this);b=e+mO(this);lF(this,a-this.g,b-this.h);}}
-function ct(a,b,c){this.i=false;pf(this.e.rb());}
-function dt(a){if(this.f!==a){return false;}qz(this.j,a);return true;}
-function et(a){Cs(this,a);}
-function ft(a){nF(this,a);this.j.xe('100%');}
-function us(){}
-_=us.prototype=new FE();_.zc=Ds;_.ed=Es;_.fd=Fs;_.gd=at;_.hd=bt;_.id=ct;_.be=dt;_.we=et;_.xe=ft;_.tN=sgc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function rt(){rt=v3;xt=new ht();yt=new ht();zt=new ht();At=new ht();Bt=new ht();}
-function ot(a){a.b=(oA(),qA);a.c=(xA(),AA);}
-function pt(a){rt();uq(a);ot(a);zf(a.e,'cellSpacing',0);zf(a.e,'cellPadding',0);return a;}
-function qt(c,d,a){var b;if(a===xt){if(d===c.a){return;}else if(c.a!==null){throw sT(new rT(),'Only one CENTER widget may be added');}}sQ(d);zP(c.f,d);if(a===xt){c.a=d;}b=kt(new jt(),a);uQ(d,b);ut(c,d,c.b);vt(c,d,c.c);st(c);uE(c,d);}
-function st(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ee(a)>0){qf(a,af(a,0));}l=1;d=1;for(h=EP(p.f);tP(h);){c=uP(h);e=c.u.a;if(e===zt||e===At){++l;}else if(e===yt||e===Bt){++d;}}m=Ab('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[636],[33],[l],null);for(g=0;g<l;++g){m[g]=new mt();m[g].b=he();vd(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=EP(p.f);tP(h);){c=uP(h);i=c.u;o=ge();i.d=o;Af(i.d,'align',i.b);ag(i.d,'verticalAlign',i.e);Af(i.d,'width',i.f);Af(i.d,'height',i.c);if(i.a===zt){lf(m[j].b,o,m[j].a);vd(o,c.rb());zf(o,'colSpan',f-q+1);++j;}else if(i.a===At){lf(m[n].b,o,m[n].a);vd(o,c.rb());zf(o,'colSpan',f-q+1);--n;}else if(i.a===Bt){k=m[j];lf(k.b,o,k.a++);vd(o,c.rb());zf(o,'rowSpan',n-j+1);++q;}else if(i.a===yt){k=m[j];lf(k.b,o,k.a);vd(o,c.rb());zf(o,'rowSpan',n-j+1);--f;}else if(i.a===xt){b=o;}}if(p.a!==null){k=m[j];lf(k.b,b,k.a);vd(b,p.a.rb());}}
-function tt(b,c){var a;a=as(b,c);if(a){if(c===b.a){b.a=null;}st(b);}return a;}
-function ut(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){Af(b.d,'align',b.b);}}
-function vt(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){ag(b.d,'verticalAlign',b.e);}}
-function wt(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){ag(a.d,'width',a.f);}}
-function Ct(a){return tt(this,a);}
-function Dt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){ag(a.d,'height',a.c);}}
-function Et(a,b){wt(this,a,b);}
-function gt(){}
-_=gt.prototype=new tq();_.be=Ct;_.he=Dt;_.ie=Et;_.tN=sgc+'DockPanel';_.tI=58;_.a=null;var xt,yt,zt,At,Bt;function ht(){}
-_=ht.prototype=new xU();_.tN=sgc+'DockPanel$DockLayoutConstant';_.tI=59;function kt(b,a){b.a=a;return b;}
-function jt(){}
-_=jt.prototype=new xU();_.tN=sgc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function mt(){}
-_=mt.prototype=new xU();_.tN=sgc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function au(a){a.je(Ad('input'));Af(a.rb(),'type','file');uO(a,'gwt-FileUpload');return a;}
-function cu(a){return df(a.rb(),'value');}
-function du(b,a){Af(b.rb(),'name',a);}
-function Ft(){}
-_=Ft.prototype=new oP();_.tN=sgc+'FileUpload';_.tI=62;function By(a){a.s=ry(new my());}
-function Cy(a){By(a);a.q=ie();a.m=fe();vd(a.q,a.m);a.je(a.q);vO(a,1);return a;}
-function Dy(b,a){if(b.r===null){b.r=FK(new EK());}bZ(b.r,a);}
-function Ey(d,c,b){var a;Fy(d,c);if(b<0){throw yT(new xT(),'Column '+b+' must be non-negative: '+b);}a=d.pb(c);if(a<=b){throw yT(new xT(),'Column index: '+b+', Column size: '+d.pb(c));}}
-function Fy(c,a){var b;b=c.Bb();if(a>=b||a<0){throw yT(new xT(),'Row index: '+a+', Row size: '+b);}}
-function az(e,c,b,a){var d;d=yx(e.n,c,b);nz(e,d,a);return d;}
-function bz(d){var a,b,c;for(c=0;c<d.Bb();++c){for(b=0;b<d.pb(c);++b){a=jz(d,c,b);if(a!==null){qz(d,a);}}}}
-function dz(a){return ge();}
-function ez(c,b,a){return b.rows[a].cells.length;}
-function fz(a){return gz(a,a.m);}
-function gz(b,a){return a.rows.length;}
-function hz(d,b){var a,c,e;c=xe(b);for(;c!==null;c=jf(c)){if(pV(df(c,'tagName'),'td')){e=jf(c);a=jf(e);if(wd(a,d.m)){return c;}}if(wd(c,d.m)){return null;}}return null;}
-function iz(d,c,a){var b;Ey(d,c,a);b=xx(d.n,c,a);return hf(b);}
-function kz(c,b,a){Ey(c,b,a);return jz(c,b,a);}
-function jz(e,d,b){var a,c;c=yx(e.n,d,b);a=ff(c);if(a===null){return null;}else{return ty(e.s,a);}}
-function lz(d,b,a){var c,e;e=ky(d.p,d.m,b);c=d.eb();lf(e,c,a);}
-function mz(b,a){var c;if(a!=pu(b)){Fy(b,a);}c=he();lf(b.m,c,a);return a;}
-function nz(d,c,a){var b,e;b=ff(c);e=null;if(b!==null){e=ty(d.s,b);}if(e!==null){qz(d,e);return true;}else{if(a){Df(c,'');}return false;}}
-function qz(b,c){var a;if(c.v!==b){return false;}wE(b,c);a=c.rb();qf(jf(a),a);wy(b.s,a);return true;}
-function oz(d,b,a){var c,e;Ey(d,b,a);c=az(d,b,a,false);e=ky(d.p,d.m,b);qf(e,c);}
-function pz(d,c){var a,b;b=d.pb(c);for(a=0;a<b;++a){az(d,c,a,false);}qf(d.m,ky(d.p,d.m,c));}
-function rz(a,b){Af(a.q,'border',''+b);}
-function sz(b,a){b.n=a;}
-function tz(b,a){zf(b.q,'cellPadding',a);}
-function uz(b,a){zf(b.q,'cellSpacing',a);}
-function vz(b,a){b.o=a;fy(b.o);}
-function wz(e,c,a,b){var d;Cw(e,c,a);d=az(e,c,a,b===null);if(b!==null){Df(d,b);}}
-function xz(b,a){b.p=a;}
-function yz(e,b,a,d){var c;e.ud(b,a);c=az(e,b,a,d===null);if(d!==null){Ef(c,d);}}
-function zz(d,b,a,e){var c;d.ud(b,a);if(e!==null){sQ(e);c=az(d,b,a,true);uy(d.s,e);vd(c,e.rb());uE(d,e);}}
-function Az(){bz(this);}
-function Bz(){return dz(this);}
-function Cz(b,a){lz(this,b,a);}
-function Dz(){return xy(this.s);}
-function Ez(c){var a,b,d,e,f;switch(ze(c)){case 1:{if(this.r!==null){e=hz(this,c);if(e===null){return;}f=jf(e);a=jf(f);d=Fe(a,f);b=Fe(f,e);bL(this.r,this,d,b);}break;}default:}}
-function bA(a){return qz(this,a);}
-function Fz(b,a){oz(this,b,a);}
-function aA(a){pz(this,a);}
-function cA(b,a,c){zz(this,b,a,c);}
-function ix(){}
-_=ix.prototype=new tE();_.F=Az;_.eb=Bz;_.ic=Cz;_.mc=Dz;_.tc=Ez;_.be=bA;_.Cd=Fz;_.Ed=aA;_.ve=cA;_.tN=sgc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function lu(a){Cy(a);sz(a,hu(new gu(),a));xz(a,hy(new gy(),a));vz(a,dy(new cy(),a));return a;}
-function nu(b,a){Fy(b,a);return ez(b,b.m,a);}
-function ou(a){return bc(a.n,43);}
-function pu(a){return fz(a);}
-function qu(b,a){return mz(b,a);}
-function ru(d,b){var a,c;if(b<0){throw yT(new xT(),'Cannot create a row with a negative index: '+b);}c=pu(d);for(a=c;a<=b;a++){qu(d,a);}}
-function su(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
-function tu(a){return nu(this,a);}
-function uu(){return pu(this);}
-function vu(b,a){lz(this,b,a);}
-function wu(d,b){var a,c;ru(this,d);if(b<0){throw yT(new xT(),'Cannot create a column with a negative index: '+b);}a=nu(this,d);c=b+1-a;if(c>0){su(this.m,d,c);}}
-function xu(a){ru(this,a);}
-function yu(b,a){oz(this,b,a);}
-function zu(a){pz(this,a);}
-function fu(){}
-_=fu.prototype=new ix();_.pb=tu;_.Bb=uu;_.ic=vu;_.ud=wu;_.vd=xu;_.Cd=yu;_.Ed=zu;_.tN=sgc+'FlexTable';_.tI=64;function tx(b,a){b.a=a;return b;}
-function vx(c,b,a){c.a.ud(b,a);return wx(c,c.a.m,b,a);}
-function wx(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
-function xx(c,b,a){Ey(c.a,b,a);return wx(c,c.a.m,b,a);}
-function yx(c,b,a){return wx(c,c.a.m,b,a);}
-function zx(d,c,a){var b;b=xx(d,c,a);return BO(b);}
-function Ax(e,b,a,c){var d;Ey(e.a,b,a);d=wx(e,e.a.m,b,a);FO(d,c,false);}
-function Bx(d,c,a,b,e){Dx(d,c,a,b);Fx(d,c,a,e);}
-function Cx(e,d,a,c){var b;e.a.ud(d,a);b=wx(e,e.a.m,d,a);Af(b,'height',c);}
-function Dx(e,d,b,a){var c;e.a.ud(d,b);c=wx(e,e.a.m,d,b);Af(c,'align',a.a);}
-function Ex(d,b,a,c){d.a.ud(b,a);EO(wx(d,d.a.m,b,a),c);}
-function Fx(d,c,b,a){d.a.ud(c,b);ag(wx(d,d.a.m,c,b),'verticalAlign',a.a);}
-function ay(d,c,a,e){var b;b=vx(d,c,a);bP(b,e);}
-function by(c,b,a,d){c.a.ud(b,a);Af(wx(c,c.a.m,b,a),'width',d);}
-function sx(){}
-_=sx.prototype=new xU();_.tN=sgc+'HTMLTable$CellFormatter';_.tI=65;function hu(b,a){tx(b,a);return b;}
-function ju(d,c,b,a){zf(vx(d,c,b),'colSpan',a);}
-function ku(d,b,a,c){zf(vx(d,b,a),'rowSpan',c);}
-function gu(){}
-_=gu.prototype=new sx();_.tN=sgc+'FlexTable$FlexCellFormatter';_.tI=66;function Bu(a){FY(a);return a;}
-function Eu(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),44);b.Bc(c);}}
-function Du(c,b,a){switch(ze(a)){case 2048:Eu(c,b);break;case 4096:Fu(c,b);break;}}
-function Fu(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),44);b.dd(c);}}
-function Au(){}
-_=Au.prototype=new DY();_.tN=sgc+'FocusListenerCollection';_.tI=67;function cv(){cv=v3;dv=(uR(),xR);}
-var dv;function sv(a){FY(a);return a;}
-function uv(f,e,d){var a,b,c;a=ow(new nw(),e,d);for(c=f.mc();c.gc();){b=bc(c.pc(),45);b.kd(a);}}
-function vv(e,d){var a,b,c;a=new qw();for(c=e.mc();c.gc();){b=bc(c.pc(),45);b.ld(a);}return a.a;}
-function rv(){}
-_=rv.prototype=new DY();_.tN=sgc+'FormHandlerCollection';_.tI=68;function Ev(){Ev=v3;iw=new BR();}
-function Cv(a){Ev();BH(a,Bd());a.b='FormPanel_'+ ++hw;fw(a,a.b);vO(a,32768);return a;}
-function Dv(b,a){if(b.a===null){b.a=sv(new rv());}bZ(b.a,a);}
-function Fv(b){var a;a=zd();Df(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=ff(a);}
-function aw(a){if(a.a!==null){return !vv(a.a,a);}return true;}
-function bw(a){if(a.a!==null){hg(zv(new yv(),a));}}
-function cw(a,b){Af(a.rb(),'action',b);}
-function dw(b,a){bS(iw,b.rb(),a);}
-function ew(b,a){Af(b.rb(),'method',a);}
-function fw(b,a){Af(b.rb(),'target',a);}
-function gw(a){if(a.a!==null){if(vv(a.a,a)){return;}}cS(iw,a.rb(),a.c);}
-function jw(){qQ(this);Fv(this);vd(hH(),this.c);DR(iw,this.c,this.rb(),this);}
-function kw(){rQ(this);ER(iw,this.c,this.rb());qf(hH(),this.c);this.c=null;}
-function lw(){var a;a=y;{return aw(this);}}
-function mw(){var a;a=y;{bw(this);}}
-function xv(){}
-_=xv.prototype=new sH();_.rc=jw;_.yc=kw;_.Cc=lw;_.Dc=mw;_.tN=sgc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var hw=0,iw;function zv(b,a){b.a=a;return b;}
-function Bv(){uv(this.a.a,this,aS((Ev(),iw),this.a.c));}
-function yv(){}
-_=yv.prototype=new xU();_.nb=Bv;_.tN=sgc+'FormPanel$1';_.tI=70;function E0(){}
-_=E0.prototype=new xU();_.tN=wgc+'EventObject';_.tI=71;function ow(c,b,a){c.a=a;return c;}
-function nw(){}
-_=nw.prototype=new E0();_.tN=sgc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function sw(b,a){b.a=a;}
-function qw(){}
-_=qw.prototype=new E0();_.tN=sgc+'FormSubmitEvent';_.tI=73;_.a=false;function uw(a){a.je(Cd());return a;}
-function vw(a,b){uw(a);xw(a,b);return a;}
-function xw(a,b){Af(a.rb(),'src',b);}
-function tw(){}
-_=tw.prototype=new oP();_.tN=sgc+'Frame';_.tI=74;function zw(a){Cy(a);sz(a,tx(new sx(),a));xz(a,hy(new gy(),a));vz(a,dy(new cy(),a));return a;}
-function Aw(c,b,a){zw(c);ax(c,b,a);return c;}
-function Cw(c,b,a){Dw(c,b);if(a<0){throw yT(new xT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw yT(new xT(),'Column index: '+a+', Column size: '+c.k);}}
-function Dw(b,a){if(a<0){throw yT(new xT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw yT(new xT(),'Row index: '+a+', Row size: '+b.l);}}
-function ax(c,b,a){Ew(c,a);Fw(c,b);}
-function Ew(d,a){var b,c;if(d.k==a){return;}if(a<0){throw yT(new xT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Cd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.ic(b,c);}}}d.k=a;}
-function Fw(b,a){if(b.l==a){return;}if(a<0){throw yT(new xT(),'Cannot set number of rows to '+a);}if(b.l<a){bx(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.Ed(--b.l);}}}
-function bx(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
-function cx(){var a;a=dz(this);Df(a,'&nbsp;');return a;}
-function dx(a){return this.k;}
-function ex(){return this.l;}
-function fx(b,a){Cw(this,b,a);}
-function gx(a){Dw(this,a);}
-function yw(){}
-_=yw.prototype=new ix();_.eb=cx;_.pb=dx;_.Bb=ex;_.ud=fx;_.vd=gx;_.tN=sgc+'Grid';_.tI=75;_.k=0;_.l=0;function BC(a){a.je(zd());vO(a,131197);uO(a,'gwt-Label');return a;}
-function CC(b,a){BC(b);bD(b,a);return b;}
-function DC(b,a){if(b.a===null){b.a=qr(new pr());}bZ(b.a,a);}
-function EC(b,a){if(b.b===null){b.b=aE(new FD());}bZ(b.b,a);}
-function aD(a){return hf(a.rb());}
-function bD(b,a){Ef(b.rb(),a);}
-function cD(a,b){ag(a.rb(),'whiteSpace',b?'normal':'nowrap');}
-function dD(a){switch(ze(a)){case 1:if(this.a!==null){sr(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){eE(this.b,this,a);}break;case 131072:break;}}
-function AC(){}
-_=AC.prototype=new oP();_.tc=dD;_.tN=sgc+'Label';_.tI=76;_.a=null;_.b=null;function dA(a){BC(a);a.je(zd());vO(a,125);uO(a,'gwt-HTML');return a;}
-function eA(b,a){dA(b);hA(b,a);return b;}
-function fA(b,a,c){eA(b,a);cD(b,c);return b;}
-function hA(b,a){Df(b.rb(),a);}
-function hx(){}
-_=hx.prototype=new AC();_.tN=sgc+'HTML';_.tI=77;function kx(a){{nx(a);}}
-function lx(b,a){b.c=a;kx(b);return b;}
-function nx(a){while(++a.b<a.c.b.b){if(gZ(a.c.b,a.b)!==null){return;}}}
-function ox(a){return a.b<a.c.b.b;}
-function px(){return ox(this);}
-function qx(){var a;if(!ox(this)){throw new d3();}a=gZ(this.c.b,this.b);this.a=this.b;nx(this);return a;}
-function rx(){var a;if(this.a<0){throw new uT();}a=bc(gZ(this.c.b,this.a),20);sQ(a);this.a=(-1);}
-function jx(){}
-_=jx.prototype=new xU();_.gc=px;_.pc=qx;_.Fd=rx;_.tN=sgc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function dy(b,a){b.b=a;return b;}
-function fy(a){if(a.a===null){a.a=Ad('colgroup');lf(a.b.q,a.a,0);vd(a.a,Ad('col'));}}
-function cy(){}
-_=cy.prototype=new xU();_.tN=sgc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function hy(b,a){b.a=a;return b;}
-function jy(b,a){b.a.vd(a);return ky(b,b.a.m,a);}
-function ky(c,a,b){return a.rows[b];}
-function ly(c,a,b){EO(jy(c,a),b);}
-function gy(){}
-_=gy.prototype=new xU();_.tN=sgc+'HTMLTable$RowFormatter';_.tI=80;function qy(a){a.b=FY(new DY());}
-function ry(a){qy(a);return a;}
-function ty(c,a){var b;b=zy(a);if(b<0){return null;}return bc(gZ(c.b,b),20);}
-function uy(b,c){var a;if(b.a===null){a=b.b.b;bZ(b.b,c);}else{a=b.a.a;mZ(b.b,a,c);b.a=b.a.b;}Ay(c.rb(),a);}
-function vy(c,a,b){yy(a);mZ(c.b,b,null);c.a=oy(new ny(),b,c.a);}
-function wy(c,a){var b;b=zy(a);vy(c,a,b);}
-function xy(a){return lx(new jx(),a);}
-function yy(a){a['__widgetID']=null;}
-function zy(a){var b=a['__widgetID'];return b==null?-1:b;}
-function Ay(a,b){a['__widgetID']=b;}
-function my(){}
-_=my.prototype=new xU();_.tN=sgc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function oy(c,a,b){c.a=a;c.b=b;return c;}
-function ny(){}
-_=ny.prototype=new xU();_.tN=sgc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function oA(){oA=v3;pA=mA(new lA(),'center');qA=mA(new lA(),'left');rA=mA(new lA(),'right');}
-var pA,qA,rA;function mA(b,a){b.a=a;return b;}
-function lA(){}
-_=lA.prototype=new xU();_.tN=sgc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function xA(){xA=v3;yA=vA(new uA(),'bottom');zA=vA(new uA(),'middle');AA=vA(new uA(),'top');}
-var yA,zA,AA;function vA(a,b){a.a=b;return a;}
-function uA(){}
-_=uA.prototype=new xU();_.tN=sgc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function EA(a){a.a=(oA(),qA);a.c=(xA(),AA);}
-function FA(a){uq(a);EA(a);a.b=he();vd(a.d,a.b);Af(a.e,'cellSpacing','0');Af(a.e,'cellPadding','0');return a;}
-function aB(b,c){var a;a=cB(b);vd(b.b,a);xr(b,c,a);}
-function cB(b){var a;a=ge();wq(b,a,b.a);xq(b,a,b.c);return a;}
-function dB(c,d,a){var b;Ar(c,a);b=cB(c);lf(c.b,b,a);Er(c,d,b,a,false);}
-function eB(c,d){var a,b;b=jf(d.rb());a=as(c,d);if(a){qf(c.b,b);}return a;}
-function fB(b,a){b.c=a;}
-function gB(a){return eB(this,a);}
-function DA(){}
-_=DA.prototype=new tq();_.be=gB;_.tN=sgc+'HorizontalPanel';_.tI=85;_.b=null;function iB(a){a.je(zd());vd(a.rb(),a.a=xd());vO(a,1);uO(a,'gwt-Hyperlink');return a;}
-function jB(c,b,a){iB(c);mB(c,b);lB(c,a);return c;}
-function lB(b,a){b.b=a;Af(b.a,'href','#'+a);}
-function mB(b,a){Ef(b.a,a);}
-function nB(a){if(ze(a)==1){dh(this.b);Ae(a);}}
-function hB(){}
-_=hB.prototype=new oP();_.tc=nB;_.tN=sgc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function hC(){hC=v3;C1(new a1());}
-function dC(a){hC();gC(a,CB(new BB(),a));uO(a,'gwt-Image');return a;}
-function eC(a,b){hC();gC(a,DB(new BB(),a,b));uO(a,'gwt-Image');return a;}
-function fC(b,a){if(b.a===null){b.a=qr(new pr());}bZ(b.a,a);}
-function gC(b,a){b.b=a;}
-function jC(a,b){a.b.re(a,b);}
-function iC(c,e,b,d,f,a){c.b.qe(c,e,b,d,f,a);}
-function kC(a){switch(ze(a)){case 1:{if(this.a!==null){sr(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
-function oB(){}
-_=oB.prototype=new oP();_.tc=kC;_.tN=sgc+'Image';_.tI=87;_.a=null;_.b=null;function rB(){}
-function pB(){}
-_=pB.prototype=new xU();_.nb=rB;_.tN=sgc+'Image$1';_.tI=88;function zB(){}
-_=zB.prototype=new xU();_.tN=sgc+'Image$State';_.tI=89;function uB(){uB=v3;wB=bR(new aR());}
-function tB(d,b,f,c,e,g,a){uB();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.je(iR(wB,f,c,e,g,a));vO(b,131197);vB(d,b);return d;}
-function vB(b,a){hg(new pB());}
-function yB(a,b){gC(a,DB(new BB(),a,b));}
-function xB(b,e,c,d,f,a){if(!qV(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;cR(wB,b.rb(),e,c,d,f,a);vB(this,b);}}
-function sB(){}
-_=sB.prototype=new zB();_.re=yB;_.qe=xB;_.tN=sgc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var wB;function CB(b,a){a.je(Dd());vO(a,229501);return b;}
-function DB(b,a,c){CB(b,a);FB(b,a,c);return b;}
-function FB(b,a,c){Cf(a.rb(),c);}
-function bC(a,b){FB(this,a,b);}
-function aC(b,e,c,d,f,a){gC(b,tB(new sB(),b,e,c,d,f,a));}
-function BB(){}
-_=BB.prototype=new zB();_.re=bC;_.qe=aC;_.tN=sgc+'Image$UnclippedState';_.tI=91;function oC(c,a,b){}
-function pC(c,a,b){}
-function qC(c,a,b){}
-function mC(){}
-_=mC.prototype=new xU();_.Fc=oC;_.ad=pC;_.bd=qC;_.tN=sgc+'KeyboardListenerAdapter';_.tI=92;function sC(a){FY(a);return a;}
-function uC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.Fc(e,b,d);}}
-function vC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.ad(e,b,d);}}
-function wC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.bd(e,b,d);}}
-function xC(d,c,a){var b;b=yC(a);switch(ze(a)){case 128:uC(d,c,dc(ue(a)),b);break;case 512:wC(d,c,dc(ue(a)),b);break;case 256:vC(d,c,dc(ue(a)),b);break;}}
-function yC(a){return (we(a)?1:0)|(ve(a)?8:0)|(re(a)?2:0)|(oe(a)?4:0);}
-function rC(){}
-_=rC.prototype=new DY();_.tN=sgc+'KeyboardListenerCollection';_.tI=93;function tD(){tD=v3;hv();DD=new fD();}
-function mD(a){tD();nD(a,false);return a;}
-function nD(b,a){tD();fv(b,de(a));vO(b,1024);uO(b,'gwt-ListBox');return b;}
-function oD(b,a){if(b.b===null){b.b=Bq(new Aq());}bZ(b.b,a);}
-function pD(b,a){yD(b,a,(-1));}
-function qD(b,a,c){zD(b,a,c,(-1));}
-function rD(b,a){if(a<0||a>=uD(b)){throw new xT();}}
-function sD(a){gD(DD,a.rb());}
-function uD(a){return iD(DD,a.rb());}
-function vD(b,a){rD(b,a);return jD(DD,b.rb(),a);}
-function wD(a){return cf(a.rb(),'selectedIndex');}
-function xD(b,a){rD(b,a);return kD(DD,b.rb(),a);}
-function yD(c,b,a){zD(c,b,b,a);}
-function zD(c,b,d,a){mf(c.rb(),b,d,a);}
-function AD(b,a){rD(b,a);lD(DD,b.rb(),a);}
-function BD(b,a){zf(b.rb(),'selectedIndex',a);}
-function CD(a,b){zf(a.rb(),'size',b);}
-function ED(a){if(ze(a)==1024){if(this.b!==null){Dq(this.b,this);}}else{iv(this,a);}}
-function eD(){}
-_=eD.prototype=new ev();_.tc=ED;_.tN=sgc+'ListBox';_.tI=94;_.b=null;var DD;function gD(b,a){a.options.length=0;}
-function iD(b,a){return a.options.length;}
-function jD(c,b,a){return b.options[a].text;}
-function kD(c,b,a){return b.options[a].value;}
-function lD(c,b,a){b.options[a]=null;}
-function fD(){}
-_=fD.prototype=new xU();_.tN=sgc+'ListBox$Impl';_.tI=95;function aE(a){FY(a);return a;}
-function cE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.ed(c,e,f);}}
-function dE(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.fd(c);}}
-function eE(e,c,a){var b,d,f,g,h;d=c.rb();g=pe(a)-Ce(d)+cf(d,'scrollLeft')+ei();h=qe(a)-De(d)+cf(d,'scrollTop')+fi();switch(ze(a)){case 4:cE(e,c,g,h);break;case 8:hE(e,c,g,h);break;case 64:gE(e,c,g,h);break;case 16:b=te(a);if(!nf(d,b)){dE(e,c);}break;case 32:f=ye(a);if(!nf(d,f)){fE(e,c);}break;}}
-function fE(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.gd(c);}}
-function gE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.hd(c,e,f);}}
-function hE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.id(c,e,f);}}
-function FD(){}
-_=FD.prototype=new DY();_.tN=sgc+'MouseListenerCollection';_.tI=96;function jE(){}
-_=jE.prototype=new xU();_.tN=sgc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=97;_.a=null;_.b=null;function nE(b,a){rE(a,b.Bd());sE(a,b.Bd());}
-function oE(a){return a.a;}
-function pE(a){return a.b;}
-function qE(b,a){b.cf(oE(a));b.cf(pE(a));}
-function rE(a,b){a.a=b;}
-function sE(a,b){a.b=b;}
-function qL(){qL=v3;hv();xL=new mS();}
-function mL(b,a){qL();fv(b,a);vO(b,1024);return b;}
-function nL(b,a){if(b.f===null){b.f=Bq(new Aq());}bZ(b.f,a);}
-function oL(b,a){if(b.i===null){b.i=sC(new rC());}bZ(b.i,a);}
-function pL(a){if(a.h!==null){Ae(a.h);}}
-function rL(a){return df(a.rb(),'value');}
-function sL(b,a){uL(b,a,0);}
-function tL(b,a){Af(b.rb(),'name',a);}
-function uL(c,b,a){if(a<0){throw yT(new xT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>uV(rL(c))){throw yT(new xT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+uV(rL(c)));}pS(xL,c.rb(),b,a);}
-function vL(b,a){Af(b.rb(),'value',a!==null?a:'');}
-function wL(a){if(this.g===null){this.g=qr(new pr());}bZ(this.g,a);}
-function yL(a){var b;iv(this,a);b=ze(a);if(this.i!==null&&(b&896)!=0){this.h=a;xC(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){sr(this.g,this);}}else if(b==1024){if(this.f!==null){Dq(this.f,this);}}}
-function lL(){}
-_=lL.prototype=new ev();_.x=wL;_.tc=yL;_.tN=sgc+'TextBoxBase';_.tI=98;_.f=null;_.g=null;_.h=null;_.i=null;var xL;function EE(){EE=v3;qL();}
-function DE(a){EE();mL(a,Fd());uO(a,'gwt-PasswordTextBox');return a;}
-function CE(){}
-_=CE.prototype=new lL();_.tN=sgc+'PasswordTextBox';_.tI=99;function jG(b,a){kG(b,a,null);return b;}
-function kG(c,a,b){c.a=a;mG(c);return c;}
-function lG(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=yG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=yG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=vG(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
-function mG(a){a.b=0;a.c={};a.d={};}
-function oG(b,a){return fZ(pG(b,a,1),a);}
-function pG(c,b,a){var d;d=FY(new DY());if(b!==null&&a>0){rG(c,b,'',d,a);}return d;}
-function qG(a){return EF(new DF(),a);}
-function rG(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=yG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+BG(a);h.ze(f,l,c,b);}}else{for(j in k){var l=d+BG(j);if(l.indexOf(f)==0){c.C(l);}if(c.ye()>=b){return;}}for(var a in i){var l=d+BG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.ye()||h.b==1){h.lb(c,l);}else{for(var j in h.d){c.C(l+BG(j));}for(var g in h.c){c.C(l+BG(g)+'...');}}}}}}
-function sG(a){if(cc(a,1)){return lG(this,bc(a,1));}else{throw vW(new uW(),'Cannot add non-Strings to PrefixTree');}}
-function tG(a){return lG(this,a);}
-function uG(a){if(cc(a,1)){return oG(this,bc(a,1));}else{return false;}}
-function vG(a){return jG(new CF(),a);}
-function wG(b,c){var a;for(a=qG(this);bG(a);){b.C(c+bc(eG(a),1));}}
-function xG(){return qG(this);}
-function yG(a){return ac(58)+a;}
-function zG(){return this.b;}
-function AG(d,c,b,a){rG(this,d,c,b,a);}
-function BG(a){return zV(a,1);}
-function CF(){}
-_=CF.prototype=new xW();_.C=sG;_.D=tG;_.db=uG;_.lb=wG;_.mc=xG;_.ye=zG;_.ze=AG;_.tN=sgc+'PrefixTree';_.tI=100;_.a=0;_.b=0;_.c=null;_.d=null;function EF(a,b){cG(a);FF(a,b,'');return a;}
-function FF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
-function bG(a){return dG(a,true)!==null;}
-function cG(a){a.a=[];}
-function eG(a){var b;b=dG(a,false);if(b===null){if(!bG(a)){throw e3(new d3(),'No more elements in the iterator');}else{throw DU(new CU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
-function dG(g,b){var d=g.a;var c=yG;var i=BG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
-function fG(b,a){FF(this,b,a);}
-function gG(){return bG(this);}
-function hG(){return eG(this);}
-function iG(){throw vW(new uW(),'PrefixTree does not support removal.  Use clear()');}
-function DF(){}
-_=DF.prototype=new xU();_.A=fG;_.gc=gG;_.pc=hG;_.Fd=iG;_.tN=sgc+'PrefixTree$PrefixTreeIterator';_.tI=101;_.a=null;function FG(){FG=v3;dr();}
-function DG(b,a){FG();br(b,ae(a));uO(b,'gwt-RadioButton');return b;}
-function EG(c,b,a){FG();DG(c,b);hr(c,a);return c;}
-function CG(){}
-_=CG.prototype=new Fq();_.tN=sgc+'RadioButton';_.tI=102;function gH(){gH=v3;lH=C1(new a1());}
-function fH(b,a){gH();cq(b);if(a===null){a=hH();}b.je(a);b.rc();return b;}
-function iH(){gH();return jH(null);}
-function jH(c){gH();var a,b;b=bc(c2(lH,c),48);if(b!==null){return b;}a=null;if(lH.c==0){kH();}d2(lH,c,b=fH(new aH(),a));return b;}
-function hH(){gH();return $doc.body;}
-function kH(){gH();Bh(new bH());}
-function aH(){}
-_=aH.prototype=new bq();_.tN=sgc+'RootPanel';_.tI=103;var lH;function dH(){var a,b;for(b=cY(rY((gH(),lH)));jY(b);){a=bc(kY(b),48);if(a.kc()){a.yc();}}}
-function eH(){return null;}
-function bH(){}
-_=bH.prototype=new xU();_.rd=dH;_.sd=eH;_.tN=sgc+'RootPanel$1';_.tI=104;function nH(a){AH(a);qH(a,false);vO(a,16384);return a;}
-function oH(b,a){nH(b);b.we(a);return b;}
-function qH(b,a){ag(b.rb(),'overflow',a?'scroll':'auto');}
-function rH(a){ze(a)==16384;}
-function mH(){}
-_=mH.prototype=new sH();_.tc=rH;_.tN=sgc+'ScrollPanel';_.tI=105;function uH(a){a.a=a.c.r!==null;}
-function vH(b,a){b.c=a;uH(b);return b;}
-function xH(){return this.a;}
-function yH(){if(!this.a||this.c.r===null){throw new d3();}this.a=false;return this.b=this.c.r;}
-function zH(){if(this.b!==null){this.c.be(this.b);}}
-function tH(){}
-_=tH.prototype=new xU();_.gc=xH;_.pc=yH;_.Fd=zH;_.tN=sgc+'SimplePanel$1';_.tI=106;_.b=null;function qI(b){var a;wr(b);a=ie();b.je(a);b.a=fe();vd(a,b.a);zf(a,'cellSpacing',0);zf(a,'cellPadding',0);bg(a,1);uO(b,'gwt-StackPanel');return b;}
-function rI(a,b){vI(a,b,a.f.c);}
-function sI(c,d,b,a){rI(c,d);xI(c,c.f.c-1,b,a);}
-function uI(d,a){var b,c;while(a!==null&& !wd(a,d.rb())){b=df(a,'__index');if(b!==null){c=cf(a,'__owner');if(c==d.hC()){return ET(b);}else{return (-1);}}a=jf(a);}return (-1);}
-function vI(e,h,a){var b,c,d,f,g;g=he();d=ge();vd(g,d);f=he();c=ge();vd(f,c);a=yr(e,h,a);b=a*2;lf(e.a,f,b);lf(e.a,g,b);FO(d,'gwt-StackPanelItem',true);zf(d,'__owner',e.hC());Af(d,'height','1px');Af(c,'height','100%');Af(c,'vAlign','top');Er(e,h,c,a,false);AI(e,a);if(e.b==(-1)){zI(e,0);}else{yI(e,a,false);if(e.b>=a){++e.b;}}}
-function wI(e,a,b){var c,d,f;c=as(e,a);if(c){d=2*b;f=af(e.a,d);qf(e.a,f);f=af(e.a,d);qf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}AI(e,d);}return c;}
-function xI(e,b,d,a){var c;if(b>=e.f.c){return;}c=af(af(e.a,b*2),0);if(a){Df(c,d);}else{Ef(c,d);}}
-function yI(c,a,e){var b,d;d=af(c.a,a*2);if(d===null){return;}b=ff(d);FO(b,'gwt-StackPanelItem-selected',e);d=af(c.a,a*2+1);bP(d,e);Dr(c,a).ue(e);}
-function zI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){yI(b,b.b,false);}b.b=a;yI(b,b.b,true);}
-function AI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=af(f.a,e*2);c=ff(d);zf(c,'__index',e);}}
-function BI(a){var b,c;if(ze(a)==1){c=xe(a);b=uI(this,c);if(b!=(-1)){zI(this,b);}}}
-function CI(a){return wI(this,Dr(this,a),a);}
-function DI(a){return wI(this,a,Cr(this,a));}
-function pI(){}
-_=pI.prototype=new ur();_.tc=BI;_.ae=CI;_.be=DI;_.tN=sgc+'StackPanel';_.tI=107;_.a=null;_.b=(-1);function EI(){}
-_=EI.prototype=new xU();_.tN=sgc+'SuggestOracle$Request';_.tI=108;_.a=20;_.b=null;function aJ(){}
-_=aJ.prototype=new xU();_.tN=sgc+'SuggestOracle$Response';_.tI=109;_.a=null;function fJ(b,a){jJ(a,b.yd());kJ(a,b.Bd());}
-function gJ(a){return a.a;}
-function hJ(a){return a.b;}
-function iJ(b,a){b.Fe(gJ(a));b.cf(hJ(a));}
-function jJ(a,b){a.a=b;}
-function kJ(a,b){a.b=b;}
-function nJ(b,a){qJ(a,bc(b.Ad(),49));}
-function oJ(a){return a.a;}
-function pJ(b,a){b.bf(oJ(a));}
-function qJ(a,b){a.a=b;}
-function sJ(a){a.a=FA(new DA());}
-function tJ(c){var a,b;sJ(c);gs(c,c.a);vO(c,1);uO(c,'gwt-TabBar');fB(c.a,(xA(),yA));a=fA(new hx(),'&nbsp;',true);b=fA(new hx(),'&nbsp;',true);uO(a,'gwt-TabBarFirst');uO(b,'gwt-TabBarRest');a.ne('100%');b.ne('100%');aB(c.a,a);aB(c.a,b);a.ne('100%');c.a.he(a,'100%');c.a.ie(b,'100%');return c;}
-function uJ(b,a){if(b.c===null){b.c=FJ(new EJ());}bZ(b.c,a);}
-function vJ(b,a){if(a<0||a>yJ(b)){throw new xT();}}
-function wJ(b,a){if(a<(-1)||a>=yJ(b)){throw new xT();}}
-function yJ(a){return a.a.f.c-2;}
-function zJ(e,d,a,b){var c;vJ(e,b);if(a){c=eA(new hx(),d);}else{c=CC(new AC(),d);}cD(c,false);DC(c,e);uO(c,'gwt-TabBarItem');dB(e.a,c,b+1);}
-function AJ(b,a){var c;wJ(b,a);c=Dr(b.a,a+1);if(c===b.b){b.b=null;}eB(b.a,c);}
-function BJ(b,a){wJ(b,a);if(b.c!==null){if(!bK(b.c,b,a)){return false;}}CJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=Dr(b.a,a+1);CJ(b,b.b,true);if(b.c!==null){cK(b.c,b,a);}return true;}
-function CJ(c,a,b){if(a!==null){if(b){jO(a,'gwt-TabBarItem-selected');}else{pO(a,'gwt-TabBarItem-selected');}}}
-function DJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(Dr(this.a,a)===b){BJ(this,a-1);return;}}}
-function rJ(){}
-_=rJ.prototype=new es();_.wc=DJ;_.tN=sgc+'TabBar';_.tI=110;_.b=null;_.c=null;function FJ(a){FY(a);return a;}
-function bK(e,c,d){var a,b;for(a=e.mc();a.gc();){b=bc(a.pc(),50);if(!b.sc(c,d)){return false;}}return true;}
-function cK(e,c,d){var a,b;for(a=e.mc();a.gc();){b=bc(a.pc(),50);b.nd(c,d);}}
-function EJ(){}
-_=EJ.prototype=new DY();_.tN=sgc+'TabListenerCollection';_.tI=111;function rK(a){a.b=nK(new mK());a.a=gK(new fK(),a.b);}
-function sK(b){var a;rK(b);a=hP(new fP());iP(a,b.b);iP(a,b.a);a.he(b.a,'100%');b.b.xe('100%');uJ(b.b,b);gs(b,a);uO(b,'gwt-TabPanel');uO(b.a,'gwt-TabPanelBottom');return b;}
-function tK(c,d,b,a){xK(c,d,b,a,c.a.f.c);}
-function wK(b,a){return Dr(b.a,a);}
-function vK(a,b){return Cr(a.a,b);}
-function xK(d,e,c,a,b){iK(d.a,e,c,a,b);}
-function yK(b,a){return b.a.ae(a);}
-function zK(b,a){BJ(b.b,a);}
-function AK(){return Fr(this.a);}
-function BK(a,b){return true;}
-function CK(a,b){ss(this.a,b);}
-function DK(a){return jK(this.a,a);}
-function eK(){}
-_=eK.prototype=new es();_.mc=AK;_.sc=BK;_.nd=CK;_.be=DK;_.tN=sgc+'TabPanel';_.tI=112;function gK(b,a){ms(b);b.a=a;return b;}
-function iK(e,f,d,a,b){var c;c=Cr(e,f);if(c!=(-1)){jK(e,f);if(c<b){b--;}}pK(e.a,d,a,b);ps(e,f,b);}
-function jK(b,c){var a;a=Cr(b,c);if(a!=(-1)){qK(b.a,a);return qs(b,c);}return false;}
-function kK(){throw vW(new uW(),'Use TabPanel.clear() to alter the DeckPanel');}
-function lK(a){return jK(this,a);}
-function fK(){}
-_=fK.prototype=new ls();_.F=kK;_.be=lK;_.tN=sgc+'TabPanel$TabbedDeckPanel';_.tI=113;_.a=null;function nK(a){tJ(a);return a;}
-function pK(d,c,a,b){zJ(d,c,a,b);}
-function qK(b,a){AJ(b,a);}
-function mK(){}
-_=mK.prototype=new rJ();_.tN=sgc+'TabPanel$UnmodifiableTabBar';_.tI=114;function FK(a){FY(a);return a;}
-function bL(f,e,d,a){var b,c;for(b=f.mc();b.gc();){c=bc(b.pc(),51);c.uc(e,d,a);}}
-function EK(){}
-_=EK.prototype=new DY();_.tN=sgc+'TableListenerCollection';_.tI=115;function fL(){fL=v3;qL();}
-function eL(a){fL();mL(a,je());uO(a,'gwt-TextArea');return a;}
-function gL(a){return oS(xL,a.rb());}
-function hL(a){return cf(a.rb(),'rows');}
-function iL(a,b){zf(a.rb(),'cols',b);}
-function jL(b,a){zf(b.rb(),'rows',a);}
-function dL(){}
-_=dL.prototype=new lL();_.tN=sgc+'TextArea';_.tI=116;function AL(){AL=v3;qL();}
-function zL(a){AL();mL(a,be());uO(a,'gwt-TextBox');return a;}
-function BL(b,a){zf(b.rb(),'size',a);}
-function kL(){}
-_=kL.prototype=new lL();_.tN=sgc+'TextBox';_.tI=117;function iN(a){a.a=C1(new a1());}
-function jN(a){kN(a,gM(new fM()));return a;}
-function kN(b,a){iN(b);b.d=a;b.je(zd());ag(b.rb(),'position','relative');b.c=vR((cv(),dv));ag(b.c,'fontSize','0');ag(b.c,'position','absolute');Ff(b.c,'zIndex',(-1));vd(b.rb(),b.c);vO(b,1021);bg(b.c,6144);b.g=EL(new DL(),b);BM(b.g,b);uO(b,'gwt-Tree');return b;}
-function mN(c,a){var b;b=pM(new mM(),a);lN(c,b);return b;}
-function lN(b,a){FL(b.g,a);}
-function nN(b,a){if(b.f===null){b.f=dN(new cN());}bZ(b.f,a);}
-function oN(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){vM(sM(c.g,a));}}
-function qN(d,a,c,b){if(b===null||wd(b,c)){return;}qN(d,a,c,jf(b));bZ(a,jc(b,kg));}
-function rN(e,d,b){var a,c;a=FY(new DY());qN(e,a,e.rb(),b);c=tN(e,a,0,d);if(c!==null){if(nf(uM(c),b)){AM(c,!c.f,true);return true;}else if(nf(c.rb(),b)){AN(e,c,true,!bO(e,b));return true;}}return false;}
-function sN(b,a){if(!a.f){return a;}return sN(b,sM(a,a.c.b-1));}
-function tN(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=bc(gZ(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=sM(h,d);if(wd(b.rb(),c)){g=tN(i,a,e+1,sM(h,d));if(g===null){return b;}return g;}}return tN(i,a,e+1,h);}
-function uN(b,a){if(b.f!==null){gN(b.f,a);}}
-function vN(b,a){return sM(b.g,a);}
-function wN(a){var b;b=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[622],[20],[a.a.c],null);qY(a.a).Be(b);return oQ(a,b);}
-function xN(h,g){var a,b,c,d,e,f,i,j;c=tM(g);{f=g.d;a=lO(h);b=mO(h);e=Ce(f)-a;i=De(f)-b;j=cf(f,'offsetWidth');d=cf(f,'offsetHeight');Ff(h.c,'left',e);Ff(h.c,'top',i);Ff(h.c,'width',j);Ff(h.c,'height',d);vf(h.c);rR((cv(),dv),h.c);}}
-function yN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=rM(c,d);if(!a|| !d.f){if(b<c.c.b-1){AN(e,sM(c,b+1),true,true);}else{yN(e,c,false);}}else if(d.c.b>0){AN(e,sM(d,0),true,true);}}
-function zN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=rM(b,c);if(a>0){d=sM(b,a-1);AN(e,sN(e,d),true,true);}else{AN(e,b,true,true);}}
-function AN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){yM(d.b,false);}d.b=b;if(c&&d.b!==null){xN(d,d.b);yM(d.b,true);if(a&&d.f!==null){fN(d.f,d.b);}}}
-function DN(b,c){var a;a=bc(c2(b.a,c),52);if(a===null){return false;}DM(a,null);return true;}
-function BN(b,a){bM(b.g,a);}
-function CN(a){while(a.g.c.b>0){BN(a,vN(a,0));}}
-function EN(b,a){if(a){rR((cv(),dv),b.c);}else{tR((cv(),dv),b.c);}}
-function FN(b,a){aO(b,a,true);}
-function aO(c,b,a){if(b===null){if(c.b===null){return;}yM(c.b,false);c.b=null;return;}AN(c,b,a,true);}
-function bO(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
-function cO(){var a,b;for(b=wN(this);hQ(b);){a=iQ(b);a.rc();}Bf(this.c,this);}
-function dO(){var a,b;for(b=wN(this);hQ(b);){a=iQ(b);a.yc();}Bf(this.c,null);}
-function eO(){return wN(this);}
-function fO(c){var a,b,d,e,f;d=ze(c);switch(d){case 1:{b=xe(c);if(bO(this,b)){}else{EN(this,true);}break;}case 4:{if(mg(se(c),jc(this.rb(),kg))){rN(this,this.g,xe(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){AN(this,sM(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(ue(c)){case 38:{zN(this,this.b);Ae(c);break;}case 40:{yN(this,this.b,true);Ae(c);break;}case 37:{if(this.b.f){zM(this.b,false);}else{f=this.b.g;if(f!==null){FN(this,f);}}Ae(c);break;}case 39:{if(!this.b.f){zM(this.b,true);}else if(this.b.c.b>0){FN(this,sM(this.b,0));}Ae(c);break;}}}case 512:if(d==512){if(ue(c)==9){a=FY(new DY());qN(this,a,this.rb(),xe(c));e=tN(this,a,0,this.g);if(e!==this.b){aO(this,e,true);}}}case 256:{break;}}this.e=d;}
-function gO(){EM(this.g);}
-function hO(a){return DN(this,a);}
-function CL(){}
-_=CL.prototype=new oP();_.ib=cO;_.kb=dO;_.mc=eO;_.tc=fO;_.cd=gO;_.be=hO;_.tN=sgc+'Tree';_.tI=118;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function nM(a){a.c=FY(new DY());a.i=dC(new oB());}
-function oM(d){var a,b,c,e;nM(d);d.je(zd());d.e=ie();d.d=ee();d.b=ee();a=fe();e=he();c=ge();b=ge();vd(d.e,a);vd(a,e);vd(e,c);vd(e,b);ag(c,'verticalAlign','middle');ag(b,'verticalAlign','middle');vd(d.rb(),d.e);vd(d.rb(),d.b);vd(c,d.i.rb());vd(b,d.d);ag(d.d,'display','inline');ag(d.rb(),'whiteSpace','nowrap');ag(d.b,'whiteSpace','nowrap');FO(d.d,'gwt-TreeItem',true);return d;}
-function pM(b,a){oM(b);wM(b,a);return b;}
-function sM(b,a){if(a<0||a>=b.c.b){return null;}return bc(gZ(b.c,a),52);}
-function rM(b,a){return hZ(b.c,a);}
-function tM(a){var b;b=a.l;{return null;}}
-function uM(a){return a.i.rb();}
-function vM(a){if(a.g!==null){a.g.Dd(a);}else if(a.j!==null){BN(a.j,a);}}
-function wM(b,a){DM(b,null);Df(b.d,a);}
-function xM(b,a){b.g=a;}
-function yM(b,a){if(b.h==a){return;}b.h=a;FO(b.d,'gwt-TreeItem-selected',a);}
-function zM(b,a){AM(b,a,true);}
-function AM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;FM(c);if(a&&c.j!==null){uN(c.j,c);}}
-function BM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){FN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){BM(bc(gZ(d.c,a),52),c);}FM(d);}
-function CM(a,b){a.k=b;}
-function DM(b,a){Df(b.d,'');b.l=a;}
-function FM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){bP(b.b,false);lR((hM(),kM),b.i);return;}if(b.f){bP(b.b,true);lR((hM(),lM),b.i);}else{bP(b.b,false);lR((hM(),jM),b.i);}}
-function EM(c){var a,b;FM(c);for(a=0,b=c.c.b;a<b;++a){EM(bc(gZ(c.c,a),52));}}
-function aN(a){if(a.g!==null||a.j!==null){vM(a);}xM(a,this);bZ(this.c,a);ag(a.rb(),'marginLeft','16px');vd(this.b,a.rb());BM(a,this.j);if(this.c.b==1){FM(this);}}
-function bN(a){if(!fZ(this.c,a)){return;}BM(a,null);qf(this.b,a.rb());xM(a,null);lZ(this.c,a);if(this.c.b==0){FM(this);}}
-function mM(){}
-_=mM.prototype=new iO();_.y=aN;_.Dd=bN;_.tN=sgc+'TreeItem';_.tI=119;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function EL(b,a){b.a=a;oM(b);return b;}
-function FL(b,a){if(a.g!==null||a.j!==null){vM(a);}vd(b.a.rb(),a.rb());BM(a,b.j);xM(a,null);bZ(b.c,a);Ff(a.rb(),'marginLeft',0);}
-function bM(b,a){if(!fZ(b.c,a)){return;}BM(a,null);xM(a,null);lZ(b.c,a);qf(b.a.rb(),a.rb());}
-function cM(a){FL(this,a);}
-function dM(a){bM(this,a);}
-function DL(){}
-_=DL.prototype=new mM();_.y=cM;_.Dd=dM;_.tN=sgc+'Tree$1';_.tI=120;function hM(){hM=v3;iM=w()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';jM=kR(new jR(),iM,0,0,16,16);kM=kR(new jR(),iM,16,0,16,16);lM=kR(new jR(),iM,32,0,16,16);}
-function gM(a){hM();return a;}
-function fM(){}
-_=fM.prototype=new xU();_.tN=sgc+'TreeImages_generatedBundle';_.tI=121;var iM,jM,kM,lM;function dN(a){FY(a);return a;}
-function fN(d,b){var a,c;for(a=d.mc();a.gc();){c=bc(a.pc(),53);c.od(b);}}
-function gN(d,b){var a,c;for(a=d.mc();a.gc();){c=bc(a.pc(),53);c.pd(b);}}
-function cN(){}
-_=cN.prototype=new DY();_.tN=sgc+'TreeListenerCollection';_.tI=122;function gP(a){a.a=(oA(),qA);a.b=(xA(),AA);}
-function hP(a){uq(a);gP(a);Af(a.e,'cellSpacing','0');Af(a.e,'cellPadding','0');return a;}
-function iP(b,d){var a,c;c=he();a=kP(b);vd(c,a);vd(b.d,c);xr(b,d,a);}
-function kP(b){var a;a=ge();wq(b,a,b.a);xq(b,a,b.b);return a;}
-function lP(b,a){b.a=a;}
-function mP(b,a){b.b=a;}
-function nP(c){var a,b;b=jf(c.rb());a=as(this,c);if(a){qf(this.d,jf(b));}return a;}
-function fP(){}
-_=fP.prototype=new tq();_.be=nP;_.tN=sgc+'VerticalPanel';_.tI=123;function yP(b,a){b.b=a;b.a=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[622],[20],[4],null);return b;}
-function zP(a,b){DP(a,b,a.c);}
-function BP(b,a){if(a<0||a>=b.c){throw new xT();}return b.a[a];}
-function CP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
-function DP(d,e,a){var b,c;if(a<0||a>d.c){throw new xT();}if(d.c==d.a.a){c=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[622],[20],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Cb(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Cb(d.a,b,d.a[b-1]);}Cb(d.a,a,e);}
-function EP(a){return rP(new qP(),a);}
-function FP(c,b){var a;if(b<0||b>=c.c){throw new xT();}--c.c;for(a=b;a<c.c;++a){Cb(c.a,a,c.a[a+1]);}Cb(c.a,c.c,null);}
-function aQ(b,c){var a;a=CP(b,c);if(a==(-1)){throw new d3();}FP(b,a);}
-function pP(){}
-_=pP.prototype=new xU();_.tN=sgc+'WidgetCollection';_.tI=124;_.a=null;_.b=null;_.c=0;function rP(b,a){b.b=a;return b;}
-function tP(a){return a.a<a.b.c-1;}
-function uP(a){if(a.a>=a.b.c){throw new d3();}return a.b.a[++a.a];}
-function vP(){return tP(this);}
-function wP(){return uP(this);}
-function xP(){if(this.a<0||this.a>=this.b.c){throw new uT();}this.b.b.be(this.b.a[this.a--]);}
-function qP(){}
-_=qP.prototype=new xU();_.gc=vP;_.pc=wP;_.Fd=xP;_.tN=sgc+'WidgetCollection$WidgetIterator';_.tI=125;_.a=(-1);function nQ(c){var a,b;a=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[622],[20],[c.a],null);for(b=0;b<c.a;b++){Cb(a,b,c[b]);}return a;}
-function oQ(b,a){return eQ(new cQ(),a,b);}
-function dQ(a){a.e=a.c;{gQ(a);}}
-function eQ(a,b,c){a.c=b;a.d=c;dQ(a);return a;}
-function gQ(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
-function hQ(a){return a.a<a.c.a;}
-function iQ(a){var b;if(!hQ(a)){throw new d3();}a.b=a.a;b=a.c[a.a];gQ(a);return b;}
-function jQ(){return hQ(this);}
-function kQ(){return iQ(this);}
-function lQ(){if(this.b<0){throw new uT();}if(!this.f){this.e=nQ(this.e);this.f=true;}DN(this.d,this.c[this.b]);this.b=(-1);}
-function cQ(){}
-_=cQ.prototype=new xU();_.gc=jQ;_.pc=kQ;_.Fd=lQ;_.tN=sgc+'WidgetIterators$1';_.tI=126;_.a=(-1);_.b=(-1);_.f=false;function iR(c,f,b,e,g,a){var d;d=ee();Df(d,eR(c,f,b,e,g,a));return ff(d);}
-function FQ(){}
-_=FQ.prototype=new xU();_.tN=tgc+'ClippedImageImpl';_.tI=127;function dR(){dR=v3;gR=yV(v(),'https')?'https://':'http://';}
-function bR(a){dR();fR();return a;}
-function cR(g,a,i,f,h,j,b){var c,d,e;ag(a,'width',j+'px');ag(a,'height',b+'px');c=ff(a);ag(c,'filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+i+"',sizingMethod='crop')");ag(c,'marginLeft',-f+'px');ag(c,'marginTop',-h+'px');e=f+j;d=h+b;zf(c,'width',e);zf(c,'height',d);}
-function eR(f,h,e,g,i,c){var a,b,d;b='overflow: hidden; width: '+i+'px; height: '+c+'px; padding: 0px; zoom: 1';d="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+h+"',sizingMethod='crop'); margin-left: "+ -e+'px; margin-top: '+ -g+'px; border: none';a='<gwt:clipper style="'+b+'"><img src=\''+gR+"' onerror='if(window.__gwt_transparentImgHandler)window.__gwt_transparentImgHandler(this);else this.src=\""+w()+'clear.cache.gif"\' style="'+d+'" width='+(e+i)+' height='+(g+c)+" border='0'><\/gwt:clipper>";return a;}
-function fR(){dR();$wnd.__gwt_transparentImgHandler=function(a){a.onerror=null;Cf(a,w()+'clear.cache.gif');};}
-function aR(){}
-_=aR.prototype=new FQ();_.tN=tgc+'ClippedImageImplIE6';_.tI=128;var gR;function mR(){mR=v3;bR(new aR());}
-function kR(c,e,b,d,f,a){mR();c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
-function lR(b,a){iC(a,b.d,b.b,b.c,b.e,b.a);}
-function jR(){}
-_=jR.prototype=new iq();_.tN=tgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function uR(){uR=v3;xR=pR(new oR());yR=xR;}
-function sR(a){uR();return a;}
-function tR(b,a){a.blur();}
-function vR(b){var a=$doc.createElement('DIV');a.tabIndex=0;return a;}
-function wR(c,a,b){a.tabIndex=b;}
-function nR(){}
-_=nR.prototype=new xU();_.tN=tgc+'FocusImpl';_.tI=130;var xR,yR;function qR(){qR=v3;uR();}
-function pR(a){qR();sR(a);return a;}
-function rR(c,b){try{b.focus();}catch(a){if(!b|| !b.focus){throw a;}}}
-function oR(){}
-_=oR.prototype=new nR();_.tN=tgc+'FocusImplIE6';_.tI=131;function aS(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
-function bS(c,b,a){b.enctype=a;b.encoding=a;}
-function cS(c,a,b){if(b)b.__formAction=a.action;a.submit();}
-function zR(){}
-_=zR.prototype=new xU();_.tN=tgc+'FormPanelImpl';_.tI=132;function DR(d,b,a,c){if(b){b.onreadystatechange=function(){if(!b.__formAction)return;if(b.readyState=='complete'){c.Dc();}};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Cc();};}
-function ER(c,b,a){if(b)b.onreadystatechange=null;a.onsubmit=null;}
-function BR(){}
-_=BR.prototype=new zR();_.tN=tgc+'FormPanelImplIE6';_.tI=133;function kS(a){return zd();}
-function dS(){}
-_=dS.prototype=new xU();_.tN=tgc+'PopupImpl';_.tI=134;function gS(c,b){var a=b.__frame;a.parentElement.removeChild(a);b.__frame=null;a.__popup=null;}
-function hS(d,b){var a=$doc.createElement('iframe');a.src="javascript:''";a.scrolling='no';a.frameBorder=0;b.__frame=a;a.__popup=b;var c=a.style;c.position='absolute';c.filter='alpha(opacity=0)';c.visibility=b.style.visibility;c.left=b.offsetLeft;c.top=b.offsetTop;c.width=b.offsetWidth;c.height=b.offsetHeight;c.setExpression('left','this.__popup.offsetLeft');c.setExpression('top','this.__popup.offsetTop');c.setExpression('width','this.__popup.offsetWidth');c.setExpression('height','this.__popup.offsetHeight');b.parentElement.insertBefore(a,b);}
-function iS(b,a,c){if(a.__frame){a.__frame.style.visibility=c?'visible':'hidden';}}
-function eS(){}
-_=eS.prototype=new dS();_.tN=tgc+'PopupImplIE6';_.tI=135;function lS(){}
-_=lS.prototype=new xU();_.tN=tgc+'TextBoxImpl';_.tI=136;function oS(c,b){try{var d=b.document.selection.createRange();var e=d.duplicate();e.moveToElementText(b);d.setEndPoint('EndToStart',e);return d.text.length;}catch(a){return 0;}}
-function pS(e,b,d,c){try{var f=b.createTextRange();f.collapse(true);f.moveStart('character',d);f.moveEnd('character',c);f.select();}catch(a){}}
-function mS(){}
-_=mS.prototype=new lS();_.tN=tgc+'TextBoxImplIE6';_.tI=137;function uS(){}
-_=uS.prototype=new xU();_.tN=ugc+'OutputStream';_.tI=138;function sS(){}
-_=sS.prototype=new uS();_.tN=ugc+'FilterOutputStream';_.tI=139;function wS(){}
-_=wS.prototype=new sS();_.tN=ugc+'PrintStream';_.tI=140;function yS(){}
-_=yS.prototype=new CU();_.tN=vgc+'ArrayStoreException';_.tI=141;function CS(){CS=v3;DS=BS(new AS(),false);ES=BS(new AS(),true);}
-function BS(a,b){CS();a.a=b;return a;}
-function FS(a){return cc(a,55)&&bc(a,55).a==this.a;}
-function aT(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
-function bT(){return this.a?'true':'false';}
-function cT(a){CS();return a?ES:DS;}
-function AS(){}
-_=AS.prototype=new xU();_.eQ=FS;_.hC=aT;_.tS=bT;_.tN=vgc+'Boolean';_.tI=142;_.a=false;var DS,ES;function gT(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+hU(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
-function hT(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
-function jT(b,a){DU(b,a);return b;}
-function iT(){}
-_=iT.prototype=new CU();_.tN=vgc+'ClassCastException';_.tI=143;function sT(b,a){DU(b,a);return b;}
-function rT(){}
-_=rT.prototype=new CU();_.tN=vgc+'IllegalArgumentException';_.tI=144;function vT(b,a){DU(b,a);return b;}
-function uT(){}
-_=uT.prototype=new CU();_.tN=vgc+'IllegalStateException';_.tI=145;function yT(b,a){DU(b,a);return b;}
-function xT(){}
-_=xT.prototype=new CU();_.tN=vgc+'IndexOutOfBoundsException';_.tI=146;function rU(){rU=v3;{wU();}}
-function sU(a){rU();return isNaN(a);}
-function tU(e,d,c,h){rU();var a,b,f,g;if(e===null){throw pU(new oU(),'Unable to parse null');}b=uV(e);f=b>0&&lV(e,0)==45?1:0;for(a=f;a<b;a++){if(gT(lV(e,a),d)==(-1)){throw pU(new oU(),'Could not parse '+e+' in radix '+d);}}g=uU(e,d);if(sU(g)){throw pU(new oU(),'Unable to parse '+e);}else if(g<c||g>h){throw pU(new oU(),'The string '+e+' exceeds the range for the requested data type');}return g;}
-function uU(b,a){rU();return parseInt(b,a);}
-function wU(){rU();vU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
-var vU=null;function BT(){BT=v3;rU();}
-function ET(a){BT();return FT(a,10);}
-function FT(b,a){BT();return ec(tU(b,a,(-2147483648),2147483647));}
-function aU(a){BT();return gW(a);}
-var CT=2147483647,DT=(-2147483648);function cU(){cU=v3;rU();}
-function dU(a){cU();return hW(a);}
-function gU(a){return a<0?-a:a;}
-function hU(a,b){return a<b?a:b;}
-function iU(){}
-_=iU.prototype=new CU();_.tN=vgc+'NegativeArraySizeException';_.tI=147;function lU(b,a){DU(b,a);return b;}
-function kU(){}
-_=kU.prototype=new CU();_.tN=vgc+'NullPointerException';_.tI=148;function pU(b,a){sT(b,a);return b;}
-function oU(){}
-_=oU.prototype=new rT();_.tN=vgc+'NumberFormatException';_.tI=149;function lV(b,a){return b.charCodeAt(a);}
-function nV(f,c){var a,b,d,e,g,h;h=uV(f);e=uV(c);b=hU(h,e);for(a=0;a<b;a++){g=lV(f,a);d=lV(c,a);if(g!=d){return g-d;}}return h-e;}
-function oV(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
-function qV(b,a){if(!cc(a,1))return false;return FV(b,a);}
-function pV(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
-function rV(b,a){return b.indexOf(String.fromCharCode(a));}
-function sV(b,a){return b.indexOf(a);}
-function tV(c,b,a){return c.indexOf(b,a);}
-function uV(a){return a.length;}
-function vV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
-function wV(b,a){return xV(b,a,0);}
-function xV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=EV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
-function yV(b,a){return sV(b,a)==0;}
-function zV(b,a){return b.substr(a,b.length-a);}
-function AV(c,a,b){return c.substr(a,b-a);}
-function BV(d){var a,b,c;c=uV(d);a=Ab('[C',[613],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=lV(d,b);return a;}
-function CV(a){return a.toLowerCase();}
-function DV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
-function EV(a){return Ab('[Ljava.lang.String;',[610],[1],[a],null);}
-function FV(a,b){return String(a)==b;}
-function aW(a){if(cc(a,1)){return nV(this,bc(a,1));}else{throw jT(new iT(),'Cannot compare '+a+" with String '"+this+"'");}}
-function bW(a){return qV(this,a);}
-function dW(){var a=cW;if(!a){a=cW={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
-function eW(){return this;}
-function fW(a){return String.fromCharCode(a);}
-function gW(a){return ''+a;}
-function hW(a){return ''+a;}
-function iW(a){return a!==null?a.tS():'null';}
-_=String.prototype;_.ab=aW;_.eQ=bW;_.hC=dW;_.tS=eW;_.tN=vgc+'String';_.tI=2;var cW=null;function cV(a){fV(a);return a;}
-function dV(a,b){return eV(a,fW(b));}
-function eV(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
-function fV(a){gV(a,'');}
-function gV(b,a){b.js=[a];b.length=a.length;}
-function iV(a){a.qc();return a.js[0];}
-function jV(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
-function kV(){return iV(this);}
-function bV(){}
-_=bV.prototype=new xU();_.qc=jV;_.tS=kV;_.tN=vgc+'StringBuffer';_.tI=150;function kW(){kW=v3;nW=new wS();}
-function lW(){kW();return new Date().getTime();}
-function mW(a){kW();return C(a);}
-var nW;function vW(b,a){DU(b,a);return b;}
-function uW(){}
-_=uW.prototype=new CU();_.tN=vgc+'UnsupportedOperationException';_.tI=151;function bX(b,a){b.c=a;return b;}
-function dX(a){return a.a<a.c.ye();}
-function eX(){return dX(this);}
-function fX(){if(!dX(this)){throw new d3();}return this.c.dc(this.b=this.a++);}
-function gX(){if(this.b<0){throw new uT();}this.c.ae(this.b);this.a=this.b;this.b=(-1);}
-function aX(){}
-_=aX.prototype=new xU();_.gc=eX;_.pc=fX;_.Fd=gX;_.tN=wgc+'AbstractList$IteratorImpl';_.tI=152;_.a=0;_.b=(-1);function pY(f,d,e){var a,b,c;for(b=x1(f.mb());p1(b);){a=q1(b);c=a.ub();if(d===null?c===null:d.eQ(c)){if(e){r1(b);}return a;}}return null;}
-function qY(b){var a;a=b.mb();return rX(new qX(),b,a);}
-function rY(b){var a;a=b2(b);return aY(new FX(),b,a);}
-function sY(a){return pY(this,a,false)!==null;}
-function tY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!cc(d,57)){return false;}f=bc(d,57);c=qY(this);e=f.nc();if(!AY(c,e)){return false;}for(a=tX(c);AX(a);){b=BX(a);h=this.ec(b);g=f.ec(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
-function uY(b){var a;a=pY(this,b,false);return a===null?null:a.ac();}
-function vY(){var a,b,c;b=0;for(c=x1(this.mb());p1(c);){a=q1(c);b+=a.hC();}return b;}
-function wY(){return qY(this);}
-function xY(){var a,b,c,d;d='{';a=false;for(c=x1(this.mb());p1(c);){b=q1(c);if(a){d+=', ';}else{a=true;}d+=iW(b.ub());d+='=';d+=iW(b.ac());}return d+'}';}
-function pX(){}
-_=pX.prototype=new xU();_.cb=sY;_.eQ=tY;_.ec=uY;_.hC=vY;_.nc=wY;_.tS=xY;_.tN=wgc+'AbstractMap';_.tI=153;function AY(e,b){var a,c,d;if(b===e){return true;}if(!cc(b,58)){return false;}c=bc(b,58);if(c.ye()!=e.ye()){return false;}for(a=c.mc();a.gc();){d=a.pc();if(!e.db(d)){return false;}}return true;}
-function BY(a){return AY(this,a);}
-function CY(){var a,b,c;a=0;for(b=this.mc();b.gc();){c=b.pc();if(c!==null){a+=c.hC();}}return a;}
-function yY(){}
-_=yY.prototype=new xW();_.eQ=BY;_.hC=CY;_.tN=wgc+'AbstractSet';_.tI=154;function rX(b,a,c){b.a=a;b.b=c;return b;}
-function tX(b){var a;a=x1(b.b);return yX(new xX(),b,a);}
-function uX(a){return this.a.cb(a);}
-function vX(){return tX(this);}
-function wX(){return this.b.a.c;}
-function qX(){}
-_=qX.prototype=new yY();_.db=uX;_.mc=vX;_.ye=wX;_.tN=wgc+'AbstractMap$1';_.tI=155;function yX(b,a,c){b.a=c;return b;}
-function AX(a){return p1(a.a);}
-function BX(b){var a;a=q1(b.a);return a.ub();}
-function CX(){return AX(this);}
-function DX(){return BX(this);}
-function EX(){r1(this.a);}
-function xX(){}
-_=xX.prototype=new xU();_.gc=CX;_.pc=DX;_.Fd=EX;_.tN=wgc+'AbstractMap$2';_.tI=156;function aY(b,a,c){b.a=a;b.b=c;return b;}
-function cY(b){var a;a=x1(b.b);return hY(new gY(),b,a);}
-function dY(a){return a2(this.a,a);}
-function eY(){return cY(this);}
-function fY(){return this.b.a.c;}
-function FX(){}
-_=FX.prototype=new xW();_.db=dY;_.mc=eY;_.ye=fY;_.tN=wgc+'AbstractMap$3';_.tI=157;function hY(b,a,c){b.a=c;return b;}
-function jY(a){return p1(a.a);}
-function kY(a){var b;b=q1(a.a).ac();return b;}
-function lY(){return jY(this);}
-function mY(){return kY(this);}
-function nY(){r1(this.a);}
-function gY(){}
-_=gY.prototype=new xU();_.gc=lY;_.pc=mY;_.Fd=nY;_.tN=wgc+'AbstractMap$4';_.tI=158;function BZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.bb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
-function CZ(a){BZ(a,a.a,(i0(),j0));}
-function FZ(){FZ=v3;w2(new v2());a0=C1(new a1());FY(new DY());}
-function b0(c,d){FZ();var a,b;b=c.b;for(a=0;a<b;a++){mZ(c,a,d[a]);}}
-function c0(a){FZ();var b;b=a.Ae();CZ(b);b0(a,b);}
-var a0;function i0(){i0=v3;j0=new f0();}
-var j0;function h0(a,b){return bc(a,34).ab(b);}
-function f0(){}
-_=f0.prototype=new xU();_.bb=h0;_.tN=wgc+'Comparators$1';_.tI=159;function n0(){n0=v3;u0=Bb('[Ljava.lang.String;',610,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);v0=Bb('[Ljava.lang.String;',610,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
-function l0(a){n0();q0(a);return a;}
-function m0(b,a){n0();r0(b,a);return b;}
-function o0(c,a){var b,d;d=p0(c);b=p0(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
-function p0(a){return a.jsdate.getTime();}
-function q0(a){a.jsdate=new Date();}
-function r0(b,a){b.jsdate=new Date(a);}
-function s0(a){return a.jsdate.toLocaleString();}
-function t0(h){var a=h.jsdate;var g=B0;var b=x0(h.jsdate.getDay());var e=A0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
-function w0(a){return o0(this,bc(a,59));}
-function x0(a){n0();return u0[a];}
-function y0(a){return cc(a,59)&&p0(this)==p0(bc(a,59));}
-function z0(){return ec(p0(this)^p0(this)>>>32);}
-function A0(a){n0();return v0[a];}
-function B0(a){n0();if(a<10){return '0'+a;}else{return gW(a);}}
-function C0(){return t0(this);}
-function k0(){}
-_=k0.prototype=new xU();_.ab=w0;_.eQ=y0;_.hC=z0;_.tS=C0;_.tN=wgc+'Date';_.tI=160;var u0,v0;function E1(){E1=v3;f2=l2();}
-function B1(a){{D1(a);}}
-function C1(a){E1();B1(a);return a;}
-function D1(a){a.a=ib();a.d=kb();a.b=jc(f2,eb);a.c=0;}
-function F1(b,a){if(cc(a,1)){return p2(b.d,bc(a,1))!==f2;}else if(a===null){return b.b!==f2;}else{return o2(b.a,a,a.hC())!==f2;}}
-function a2(a,b){if(a.b!==f2&&n2(a.b,b)){return true;}else if(k2(a.d,b)){return true;}else if(i2(a.a,b)){return true;}return false;}
-function b2(a){return v1(new l1(),a);}
-function c2(c,a){var b;if(cc(a,1)){b=p2(c.d,bc(a,1));}else if(a===null){b=c.b;}else{b=o2(c.a,a,a.hC());}return b===f2?null:b;}
-function d2(c,a,d){var b;if(cc(a,1)){b=s2(c.d,bc(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=r2(c.a,a,d,a.hC());}if(b===f2){++c.c;return null;}else{return b;}}
-function e2(c,a){var b;if(cc(a,1)){b=u2(c.d,bc(a,1));}else if(a===null){b=c.b;c.b=jc(f2,eb);}else{b=t2(c.a,a,a.hC());}if(b===f2){return null;}else{--c.c;return b;}}
-function g2(e,c){E1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
-function h2(d,a){E1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=e1(c.substring(1),e);a.C(b);}}}
-function i2(f,h){E1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ac();if(n2(h,d)){return true;}}}}return false;}
-function j2(a){return F1(this,a);}
-function k2(c,d){E1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(n2(d,a)){return true;}}}return false;}
-function l2(){E1();}
-function m2(){return b2(this);}
-function n2(a,b){E1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
-function q2(a){return c2(this,a);}
-function o2(f,h,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){return c.ac();}}}}
-function p2(b,a){E1();return b[':'+a];}
-function r2(f,h,j,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){var i=c.ac();c.se(j);return i;}}}else{a=f[e]=[];}var c=e1(h,j);a.push(c);}
-function s2(c,a,d){E1();a=':'+a;var b=c[a];c[a]=d;return b;}
-function t2(f,h,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ac();}}}}
-function u2(c,a){E1();a=':'+a;var b=c[a];delete c[a];return b;}
-function a1(){}
-_=a1.prototype=new pX();_.cb=j2;_.mb=m2;_.ec=q2;_.tN=wgc+'HashMap';_.tI=161;_.a=null;_.b=null;_.c=0;_.d=null;var f2;function c1(b,a,c){b.a=a;b.b=c;return b;}
-function e1(a,b){return c1(new b1(),a,b);}
-function f1(b){var a;if(cc(b,60)){a=bc(b,60);if(n2(this.a,a.ub())&&n2(this.b,a.ac())){return true;}}return false;}
-function g1(){return this.a;}
-function h1(){return this.b;}
-function i1(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
-function j1(a){var b;b=this.b;this.b=a;return b;}
-function k1(){return this.a+'='+this.b;}
-function b1(){}
-_=b1.prototype=new xU();_.eQ=f1;_.ub=g1;_.ac=h1;_.hC=i1;_.se=j1;_.tS=k1;_.tN=wgc+'HashMap$EntryImpl';_.tI=162;_.a=null;_.b=null;function v1(b,a){b.a=a;return b;}
-function x1(a){return n1(new m1(),a.a);}
-function y1(c){var a,b,d;if(cc(c,60)){a=bc(c,60);b=a.ub();if(F1(this.a,b)){d=c2(this.a,b);return n2(a.ac(),d);}}return false;}
-function z1(){return x1(this);}
-function A1(){return this.a.c;}
-function l1(){}
-_=l1.prototype=new yY();_.db=y1;_.mc=z1;_.ye=A1;_.tN=wgc+'HashMap$EntrySet';_.tI=163;function n1(c,b){var a;c.c=b;a=FY(new DY());if(c.c.b!==(E1(),f2)){bZ(a,c1(new b1(),null,c.c.b));}h2(c.c.d,a);g2(c.c.a,a);c.a=a.mc();return c;}
-function p1(a){return a.a.gc();}
-function q1(a){return a.b=bc(a.a.pc(),60);}
-function r1(a){if(a.b===null){throw vT(new uT(),'Must call next() before remove().');}else{a.a.Fd();e2(a.c,a.b.ub());a.b=null;}}
-function s1(){return p1(this);}
-function t1(){return q1(this);}
-function u1(){r1(this);}
-function m1(){}
-_=m1.prototype=new xU();_.gc=s1;_.pc=t1;_.Fd=u1;_.tN=wgc+'HashMap$EntrySetIterator';_.tI=164;_.a=null;_.b=null;function w2(a){a.a=C1(new a1());return a;}
-function x2(c,a){var b;b=d2(c.a,a,cT(true));return b===null;}
-function z2(a){return tX(qY(a.a));}
-function A2(a){return x2(this,a);}
-function B2(a){return F1(this.a,a);}
-function C2(){return z2(this);}
-function D2(){return this.a.c;}
-function E2(){return qY(this.a).tS();}
-function v2(){}
-_=v2.prototype=new yY();_.C=A2;_.db=B2;_.mc=C2;_.ye=D2;_.tS=E2;_.tN=wgc+'HashSet';_.tI=165;_.a=null;function e3(b,a){DU(b,a);return b;}
-function d3(){}
-_=d3.prototype=new CU();_.tN=wgc+'NoSuchElementException';_.tI=166;function j3(a){a.a=FY(new DY());return a;}
-function k3(b,a){return bZ(b.a,a);}
-function m3(a){return a.a.mc();}
-function n3(a,b){aZ(this.a,a,b);}
-function o3(a){return k3(this,a);}
-function p3(a){return fZ(this.a,a);}
-function q3(a){return gZ(this.a,a);}
-function r3(){return m3(this);}
-function s3(a){return kZ(this.a,a);}
-function t3(){return this.a.b;}
-function u3(){return this.a.Ae();}
-function i3(){}
-_=i3.prototype=new FW();_.B=n3;_.C=o3;_.db=p3;_.dc=q3;_.mc=r3;_.ae=s3;_.ye=t3;_.Ae=u3;_.tN=wgc+'Vector';_.tI=167;_.a=null;function v5(){v5=v3;x5=C1(new a1());}
-function u5(a){v5();return a;}
-function w5(){}
-function f5(){}
-_=f5.prototype=new es();_.jd=w5;_.tN=xgc+'JBRMSFeature';_.tI=168;var x5;function C3(){C3=v3;v5();}
-function B3(a){C3();u5(a);a.a=sK(new eK());a.a.xe('100%');a.a.ne('100%');tK(a.a,A9(new e9()),"<img src='images/category_small.gif'/>Manage categories",true);tK(a.a,l$(new D9()),"<img src='images/status_small.gif'/>Manage states",true);tK(a.a,m8(new i7()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);tK(a.a,F8(new q8()),"<img src='images/backup_small.gif'/>Import Export",true);zK(a.a,0);gs(a,a.a);return a;}
-function D3(){C3();return y3(new x3(),'Admin','Administer the repository');}
-function E3(){}
-function w3(){}
-_=w3.prototype=new f5();_.jd=E3;_.tN=xgc+'AdminFeature';_.tI=169;_.a=null;function h5(c,b,a){c.c=b;c.a=a;return c;}
-function j5(a){if(a.b!==null)return a.b;return a.b=a.fb();}
-function g5(){}
-_=g5.prototype=new xU();_.tN=xgc+'JBRMSFeature$ComponentInfo';_.tI=170;_.a=null;_.b=null;_.c=null;function y3(c,a,b){h5(c,a,b);return c;}
-function A3(){return B3(new w3());}
-function x3(){}
-_=x3.prototype=new g5();_.fb=A3;_.tN=xgc+'AdminFeature$1';_.tI=171;function f4(){f4=v3;v5();}
-function e4(a){f4();u5(a);gs(a,FKb(new hJb()));return a;}
-function g4(){f4();return b4(new a4(),'Deployment','Configure and view frozen snapshots of packages.');}
-function h4(){}
-function F3(){}
-_=F3.prototype=new f5();_.jd=h4;_.tN=xgc+'DeploymentManagementFeature';_.tI=172;function b4(c,a,b){h5(c,a,b);return c;}
-function d4(){return e4(new F3());}
-function a4(){}
-_=a4.prototype=new g5();_.fb=d4;_.tN=xgc+'DeploymentManagementFeature$1';_.tI=173;function o4(){o4=v3;v5();}
-function n4(a){o4();u5(a);gs(a,p4(a));return a;}
-function p4(a){a.a=vw(new tw(),'welcome.html');uO(a.a,'welcome-Page');a.a.ue(true);return a.a;}
-function q4(){o4();return k4(new j4(),'Info','JBoss Rules Managment System.');}
-function r4(){}
-function i4(){}
-_=i4.prototype=new f5();_.jd=r4;_.tN=xgc+'Info';_.tI=174;_.a=null;function k4(c,a,b){h5(c,a,b);return c;}
-function m4(){return n4(new i4());}
-function j4(){}
-_=j4.prototype=new g5();_.fb=m4;_.tN=xgc+'Info$1';_.tI=175;function C4(a){a.c=dA(new hx());a.d=p5(new n5());a.g=pt(new gt());}
-function D4(a){C4(a);return a;}
-function E4(a){nYb(DMb(),u4(new t4(),a));}
-function a5(b,c){var a;a=s5(b.d,c);if(a===null){c5(b);return;}d5(b,a,false);}
-function b5(b){var a,c;m5(b.d);b.h=pt(new gt());uO(b.h,'ks-Sink');c=hP(new fP());c.xe('100%');iP(c,b.c);iP(c,b.h);uO(b.c,'ks-Info');qt(b.g,b.d,(rt(),Bt));qt(b.g,c,(rt(),xt));vt(b.g,b.d,(xA(),AA));wt(b.g,c,'100%');Eg(b);b.e=b6(new y5());b.f=s6(new e6());dq(iH(),b.e);dq(iH(),b.g);dq(iH(),b.f);b.f.xe('100%');b.e.ue(false);b.g.ue(false);b.f.ue(false);E4(b);a=ah();if(uV(a)>0)a5(b,a);else c5(b);}
-function d5(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){tt(c.h,c.b);}c.b=j5(b);t5(c.d,b.c);hA(c.c,b.a);if(a)dh(b.c);qt(c.h,c.b,(rt(),xt));wt(c.h,c.b,'100%');vt(c.h,c.b,(xA(),AA));c.b.jd();}
-function c5(a){d5(a,s5(a.d,'Info'),false);}
-function e5(a){a5(this,a);}
-function s4(){}
-_=s4.prototype=new xU();_.Ec=e5;_.tN=xgc+'JBRMSEntryPoint';_.tI=176;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function jdb(b,a){if(cc(a,69)){ldb();}else if(cc(a,70)){kcb(bc(a,70));}else{jcb(a.vb());}}
-function kdb(a){jdb(this,a);}
-function ldb(){var a;a=ddb(new Ecb(),'images/warning-large.png','Session expired');fdb(a,eA(new hx(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));lF(a,40,40);oF(a);eeb();}
-function hdb(){}
-_=hdb.prototype=new xU();_.Ac=kdb;_.tN=Agc+'GenericCallback';_.tI=177;function u4(b,a){b.a=a;return b;}
-function w4(a){var b;b=bc(a,1);if(b!==null){d6(this.a.e,b);this.a.e.ue(true);this.a.g.ue(true);this.a.f.ue(false);}else{this.a.f.ue(true);w6(this.a.f,y4(new x4(),this));}}
-function t4(){}
-_=t4.prototype=new hdb();_.md=w4;_.tN=xgc+'JBRMSEntryPoint$1';_.tI=178;function y4(b,a){b.a=a;return b;}
-function A4(a){d6(a.a.a.e,v6(a.a.a.f));a.a.a.e.ue(true);a.a.a.f.ue(false);a.a.a.g.ue(true);}
-function B4(){A4(this);}
-function x4(){}
-_=x4.prototype=new xU();_.nb=B4;_.tN=xgc+'JBRMSEntryPoint$2';_.tI=179;function m5(a){q5(a,q4());q5(a,h7());q5(a,E6());q5(a,g4());q5(a,D3());}
-function o5(a){a.a=hP(new fP());a.c=FY(new DY());}
-function p5(a){o5(a);gs(a,a.a);uO(a,'ks-List');return a;}
-function q5(d,a){var b,c;c=a.c;b=jB(new hB(),c,c);uO(b,'ks-SinkItem');iP(d.a,b);bZ(d.c,a);}
-function s5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=bc(gZ(d.c,a),61);if(qV(b.c,c))return b;}return null;}
-function t5(d,c){var a,b;if(d.b!=(-1))pO(Dr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=bc(gZ(d.c,a),61);if(qV(b.c,c)){d.b=a;jO(Dr(d.a,d.b),'ks-SinkItem-selected');return;}}}
-function n5(){}
-_=n5.prototype=new es();_.tN=xgc+'JBRMSFeatureList';_.tI=180;_.b=(-1);function b6(a){a.a=dA(new hx());gs(a,a.a);return a;}
-function d6(b,d){var a,c;a=cV(new bV());eV(a,"<div id='user_info'>");eV(a,'Welcome: &nbsp;'+d);eV(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");eV(a,'<\/div>');hA(b.a,iV(a));c=A5(new z5(),b);ph(c,300000);}
-function y5(){}
-_=y5.prototype=new es();_.tN=xgc+'LoggedInUserInfo';_.tI=181;_.a=null;function B5(){B5=v3;nh();}
-function A5(b,a){B5();lh(b);return b;}
-function C5(){nYb(DMb(),new D5());}
-function z5(){}
-_=z5.prototype=new gh();_.ce=C5;_.tN=xgc+'LoggedInUserInfo$1';_.tI=182;function F5(a){}
-function a6(a){if(a===null){ldb();}}
-function D5(){}
-_=D5.prototype=new xU();_.Ac=F5;_.md=a6;_.tN=xgc+'LoggedInUserInfo$2';_.tI=183;function s6(c){var a,b;c.a=ucb(new rcb(),'images/login.gif','Please enter your details');c.c=zL(new kL());c.c.oe(1);vcb(c.a,'User name:',c.c);b=DE(new CE());b.oe(2);vcb(c.a,'Password:',b);a=qq(new kq(),'Login');a.oe(3);vcb(c.a,'',a);a.x(g6(new f6(),c,b));gs(c,c.a);c.c.le(true);uO(c,'login-Form');return c;}
-function u6(c,a,d,b){aNb(rL(d),rL(b),o6(new n6(),c,a));}
-function v6(a){return rL(a.c);}
-function w6(b,a){b.b=a;}
-function e6(){}
-_=e6.prototype=new es();_.tN=xgc+'LoginWidget';_.tI=184;_.a=null;_.b=null;_.c=null;function g6(b,a,c){b.a=a;b.b=c;return b;}
-function i6(a){ieb('Logging in...');ig(k6(new j6(),this,this.b));}
-function f6(){}
-_=f6.prototype=new xU();_.wc=i6;_.tN=xgc+'LoginWidget$1';_.tI=185;function k6(b,a,c){b.a=a;b.b=c;return b;}
-function m6(){u6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
-function j6(){}
-_=j6.prototype=new xU();_.nb=m6;_.tN=xgc+'LoginWidget$2';_.tI=186;function o6(b,a,c){b.a=c;return b;}
-function q6(c,a){var b;eeb();b=bc(a,55);if(!b.a){Ch('Incorrect username or password.');}else{A4(c.a);}}
-function r6(a){q6(this,a);}
-function n6(){}
-_=n6.prototype=new hdb();_.md=r6;_.tN=xgc+'LoginWidget$3';_.tI=187;function D6(){D6=v3;v5();}
-function C6(b){var a;D6();u5(b);a=dJb(new CIb());gJb(a,x5);gs(b,a);return b;}
-function E6(){D6();return z6(new y6(),'Packages','Configure and view packages of business rule assets.');}
-function F6(){}
-function x6(){}
-_=x6.prototype=new f5();_.jd=F6;_.tN=xgc+'PackageManagementFeature';_.tI=188;function z6(c,a,b){h5(c,a,b);return c;}
-function B6(){return C6(new x6());}
-function y6(){}
-_=y6.prototype=new g5();_.fb=B6;_.tN=xgc+'PackageManagementFeature$1';_.tI=189;function g7(){g7=v3;v5();}
-function f7(b){var a;g7();u5(b);a=ycc(new ubc());Ccc(a,x5);gs(b,a);return b;}
-function h7(){g7();return c7(new b7(),'Rules','Find and edit rules.');}
-function a7(){}
-_=a7.prototype=new f5();_.tN=xgc+'RulesFeature';_.tI=190;function c7(c,a,b){h5(c,a,b);return c;}
-function e7(){return f7(new a7());}
-function b7(){}
-_=b7.prototype=new g5();_.fb=e7;_.tN=xgc+'RulesFeature$1';_.tI=191;function m8(a){var b;b=ucb(new rcb(),'images/backup_large.png','Manage Archived Assets');a.a=FA(new DA());a.a.xe('100%');ycb(b,a.a);a.b=Bdc(new Fcc(),new j7(),'archivedrulelist');bec(a.b,p8(a));aB(a.a,a.b);k8(p8(a));ycb(b,eA(new hx(),'<hr/>'));ycb(b,o8(a));gs(a,b);return a;}
-function o8(d){var a,b,c,e;b=FA(new DA());c=qq(new kq(),'Refresh');c.x(n7(new m7(),d));e=qq(new kq(),'Unarchive');e.x(r7(new q7(),d));a=qq(new kq(),'Delete');a.x(A7(new z7(),d));aB(b,c);aB(b,e);aB(b,a);return b;}
-function p8(b){var a;a=d8(new c8(),b);return i8(new h8(),b,a);}
-function i7(){}
-_=i7.prototype=new es();_.tN=ygc+'ArchivedAssetManager';_.tI=192;_.a=null;_.b=null;function l7(a){}
-function j7(){}
-_=j7.prototype=new xU();_.td=l7;_.tN=ygc+'ArchivedAssetManager$1';_.tI=193;function n7(b,a){b.a=a;return b;}
-function p7(a){k8(p8(this.a));}
-function m7(){}
-_=m7.prototype=new xU();_.wc=p7;_.tN=ygc+'ArchivedAssetManager$2';_.tI=194;function r7(b,a){b.a=a;return b;}
-function t7(a){bUb(EMb(),Ddc(this.a.b),false,v7(new u7(),this));}
-function q7(){}
-_=q7.prototype=new xU();_.wc=t7;_.tN=ygc+'ArchivedAssetManager$3';_.tI=195;function v7(b,a){b.a=a;return b;}
-function x7(b,a){k8(p8(b.a.a));Ch('Done!');}
-function y7(a){x7(this,a);}
-function u7(){}
-_=u7.prototype=new hdb();_.md=y7;_.tN=ygc+'ArchivedAssetManager$4';_.tI=196;function A7(b,a){b.a=a;return b;}
-function C7(a){bVb(EMb(),Ddc(this.a.b),E7(new D7(),this));}
-function z7(){}
-_=z7.prototype=new xU();_.wc=C7;_.tN=ygc+'ArchivedAssetManager$5';_.tI=197;function E7(b,a){b.a=a;return b;}
-function a8(b,a){k8(p8(b.a.a));Ch('Done!');}
-function b8(a){a8(this,a);}
-function D7(){}
-_=D7.prototype=new hdb();_.md=b8;_.tN=ygc+'ArchivedAssetManager$6';_.tI=198;function d8(b,a){b.a=a;return b;}
-function f8(c,a){var b;b=bc(a,62);aec(c.a.b,b);c.a.b.xe('100%');eeb();}
-function g8(a){f8(this,a);}
-function c8(){}
-_=c8.prototype=new hdb();_.md=g8;_.tN=ygc+'ArchivedAssetManager$7';_.tI=199;function i8(b,a,c){b.a=c;return b;}
-function k8(a){ieb('Loading list, please wait...');xUb(EMb(),a.a);}
-function l8(){k8(this);}
-function h8(){}
-_=h8.prototype=new xU();_.nb=l8;_.tN=ygc+'ArchivedAssetManager$8';_.tI=200;function F8(a){var b;b=ucb(new rcb(),'images/backup_large.png','Import/Export');vcb(b,'',eA(new hx(),'<i>Import and Export rules repository<\/i>'));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Import from an xml file',d9(a));vcb(b,'Export to a zip file',c9(a));ycb(b,eA(new hx(),'<hr/>'));gs(a,b);return a;}
-function b9(a){ieb('Exporting repository, please wait, as this could take some time...');ki(w()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');eeb();}
-function c9(c){var a,b;b=FA(new DA());a=qq(new kq(),'Export');a.x(s8(new r8(),c));aB(b,a);return b;}
-function d9(c){var a,b,d,e;e=Cv(new xv());cw(e,w()+'backup');dw(e,'multipart/form-data');ew(e,'post');b=FA(new DA());e.we(b);d=au(new Ft());du(d,'importFile');aB(b,d);aB(b,CC(new AC(),'import:'));a=odb(new ndb(),'images/upload.gif');fC(a,w8(new v8(),c,e));aB(b,a);Dv(e,B8(new A8(),c,d));return e;}
-function q8(){}
-_=q8.prototype=new es();_.tN=ygc+'BackupManager';_.tI=201;function s8(b,a){b.a=a;return b;}
-function u8(a){b9(this.a);}
-function r8(){}
-_=r8.prototype=new xU();_.wc=u8;_.tN=ygc+'BackupManager$1';_.tI=202;function w8(b,a,c){b.a=c;return b;}
-function y8(a,b){if(Eh('Are you sure you want to import? this will erase any content in the repository currently?')){ieb('Importing repository, please wait, as this could take some time...');gw(b);}}
-function z8(a){y8(this,this.a);}
-function v8(){}
-_=v8.prototype=new xU();_.wc=z8;_.tN=ygc+'BackupManager$2';_.tI=203;function B8(b,a,c){b.a=c;return b;}
-function E8(a){if(uV(cu(this.a))==0){Ch('You did not specify an exported repository filename !');sw(a,true);}else if(!oV(cu(this.a),'.xml')){Ch('Please specify a valid repository xml file.');sw(a,true);}}
-function D8(a){if(sV(a.a,'OK')>(-1)){Ch('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{jcb('Unable to import into the repository. Consult the server logs for error messages.');}eeb();}
-function A8(){}
-_=A8.prototype=new xU();_.ld=E8;_.kd=D8;_.tN=ygc+'BackupManager$3';_.tI=204;function z9(a){hP(new fP());}
-function A9(f){var a,b,c,d,e;z9(f);c=ucb(new rcb(),'images/edit_category.gif','Edit categories');vcb(c,'',eA(new hx(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=v_(new e_(),new f9());uO(f.a,'category-explorer-Admin');b=AH(new sH());uO(b,'metadata-Widget');CH(b,f.a);ycb(c,eA(new hx(),'<hr/>'));vcb(c,'Current categories:',b);e=odb(new ndb(),'images/refresh.gif');e.pe('Refresh categories');fC(e,j9(new i9(),f));vcb(c,'Refresh view:',e);ycb(c,eA(new hx(),'<hr/>'));d=odb(new ndb(),'images/new.gif');d.pe('Create a new category');fC(d,n9(new m9(),f));vcb(c,'Create a new category:',d);a=odb(new ndb(),'images/delete_obj.gif');fC(a,r9(new q9(),f));a.pe("Deletes the currently selected category. You won't be able to delete if the category is in use.");vcb(c,'Delete the currently selected category:',a);gs(f,c);return f;}
-function C9(a){if(Eh('Are you sure you want to delete category: '+a.a.e)){cVb(EMb(),a.a.e,v9(new u9(),a));}}
-function e9(){}
-_=e9.prototype=new es();_.tN=ygc+'CategoryManager';_.tI=205;_.a=null;function h9(a){}
-function f9(){}
-_=f9.prototype=new xU();_.ee=h9;_.tN=ygc+'CategoryManager$1';_.tI=206;function j9(b,a){b.a=a;return b;}
-function l9(a){B_(this.a.a);}
-function i9(){}
-_=i9.prototype=new xU();_.wc=l9;_.tN=ygc+'CategoryManager$2';_.tI=207;function n9(b,a){b.a=a;return b;}
-function p9(b){var a;a=F$(new q$(),this.a.a.e);lF(a,lO(b),mO(b)-400);oF(a);}
-function m9(){}
-_=m9.prototype=new xU();_.wc=p9;_.tN=ygc+'CategoryManager$3';_.tI=208;function r9(b,a){b.a=a;return b;}
-function t9(a){C9(this.a);}
-function q9(){}
-_=q9.prototype=new xU();_.wc=t9;_.tN=ygc+'CategoryManager$4';_.tI=209;function v9(b,a){b.a=a;return b;}
-function x9(b,a){B_(b.a.a);}
-function y9(a){x9(this,a);}
-function u9(){}
-_=u9.prototype=new hdb();_.md=y9;_.tN=ygc+'CategoryManager$5';_.tI=210;function l$(b){var a;a=ucb(new rcb(),'images/status_large.png','Manage statuses');vcb(a,'',eA(new hx(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=mD(new eD());CD(b.a,7);b.a.xe('50%');p$(b);vcb(a,'Current statuses:',b.a);vcb(a,'Add new status:',o$(b));gs(b,a);return b;}
-function n$(b,a){ieb('Creating status');rUb(EMb(),rL(a),h$(new g$(),b,a));}
-function o$(d){var a,b,c;c=FA(new DA());a=zL(new kL());b=qq(new kq(),'Create');b.x(d$(new c$(),d,a));aB(c,a);aB(c,b);return c;}
-function p$(a){ieb('Loading statuses...');wUb(EMb(),F9(new E9(),a));}
-function D9(){}
-_=D9.prototype=new es();_.tN=ygc+'StateManager';_.tI=211;_.a=null;function F9(b,a){b.a=a;return b;}
-function b$(a){var b,c;sD(this.a.a);c=bc(a,63);for(b=0;b<c.a;b++){pD(this.a.a,c[b]);}eeb();}
-function E9(){}
-_=E9.prototype=new hdb();_.md=b$;_.tN=ygc+'StateManager$1';_.tI=212;function d$(b,a,c){b.a=a;b.b=c;return b;}
-function f$(a){n$(this.a,this.b);}
-function c$(){}
-_=c$.prototype=new xU();_.wc=f$;_.tN=ygc+'StateManager$2';_.tI=213;function h$(b,a,c){b.a=a;b.b=c;return b;}
-function j$(b,a){vL(b.b,'');p$(b.a);eeb();}
-function k$(a){j$(this,a);}
-function g$(){}
-_=g$.prototype=new hdb();_.md=k$;_.tN=ygc+'StateManager$3';_.tI=214;function b_(){b_=v3;eF();}
-function E$(a){a.d=lu(new fu());a.b=zL(new kL());a.a=eL(new dL());}
-function F$(d,b){var a,c;b_();bF(d,true);E$(d);d.c=b;d.d.ve(0,0,odb(new ndb(),'images/edit_category.gif'));d.d.ve(0,1,CC(new AC(),c_(d,d.c)));d.d.ve(1,0,CC(new AC(),'Cateogory name'));d.d.ve(1,1,d.b);jL(d.a,4);d.d.ve(2,0,CC(new AC(),'Description'));d.d.ve(2,1,d.a);c=qq(new kq(),'OK');c.x(s$(new r$(),d));d.d.ve(3,0,c);a=qq(new kq(),'Cancel');a.x(w$(new v$(),d));d.d.ve(3,1,a);CH(d,d.d);uO(d,'ks-popups-Popup');return d;}
-function a_(a){a.hc();}
-function c_(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
-function d_(b){var a;a=A$(new z$(),b);if(qV('',rL(b.b))){jcb("Can't have an empty category name.");}else{nUb(EMb(),b.c,rL(b.b),rL(b.a),a);}}
-function q$(){}
-_=q$.prototype=new FE();_.tN=zgc+'CategoryEditor';_.tI=215;_.c=null;function s$(b,a){b.a=a;return b;}
-function u$(a){d_(this.a);}
-function r$(){}
-_=r$.prototype=new xU();_.wc=u$;_.tN=zgc+'CategoryEditor$1';_.tI=216;function w$(b,a){b.a=a;return b;}
-function y$(a){a_(this.a);}
-function v$(){}
-_=v$.prototype=new xU();_.wc=y$;_.tN=zgc+'CategoryEditor$2';_.tI=217;function A$(b,a){b.a=a;return b;}
-function C$(b,a){if(bc(a,55).a){b.a.hc();}else{jcb('Category was not successfully created. ');}}
-function D$(a){C$(this,a);}
-function z$(){}
-_=z$.prototype=new hdb();_.md=D$;_.tN=zgc+'CategoryEditor$3';_.tI=218;function u_(a){a.c=jN(new CL());a.d=hP(new fP());a.f=EMb();}
-function v_(b,a){u_(b);iP(b.d,b.c);b.a=a;A_(b);gs(b,b.d);nN(b.c,b);uO(b,'category-explorer-Tree');return b;}
-function x_(d,b){var a,c;a=bc(b.k,1);c=b.g;while(c!==null){a=bc(c.k,1)+'/'+a;c=c.g;}return a;}
-function y_(b,a){if(a.c.b==1&&cc(sM(a,0),64)){return false;}return true;}
-function z_(a){if(a.b!==null){a.b.ue(false);}}
-function A_(a){mN(a.c,'Please wait...');zUb(a.f,'/',k_(new j_(),a));}
-function B_(a){CN(a.c);a.e=null;A_(a);}
-function C_(c){var a,b;if(c.b===null){b=cq(new bq());dq(b,eA(new hx(),'No categories created yet. Add some categories from the administration screen.'));a=qq(new kq(),'Refresh');a.x(g_(new f_(),c));dq(b,a);uO(b,'small-Text');c.b=b;iP(c.d,c.b);}c.b.ue(true);}
-function D_(a){this.e=x_(this,a);this.a.ee(this.e);}
-function E_(a){var b;if(y_(this,a)){return;}b=a;this.e=x_(this,a);zUb(this.f,this.e,o_(new n_(),this,b));}
-function e_(){}
-_=e_.prototype=new es();_.od=D_;_.pd=E_;_.tN=zgc+'CategoryExplorerWidget';_.tI=219;_.a=null;_.b=null;_.e=null;function g_(b,a){b.a=a;return b;}
-function i_(a){B_(this.a);}
-function f_(){}
-_=f_.prototype=new xU();_.wc=i_;_.tN=zgc+'CategoryExplorerWidget$1';_.tI=220;function k_(b,a){b.a=a;return b;}
-function m_(d){var a,b,c;this.a.e=null;CN(this.a.c);a=bc(d,63);if(a.a==0){C_(this.a);}else{z_(this.a);}for(b=0;b<a.a;b++){c=oM(new mM());wM(c,'<img src="images/category_small.gif"/>'+a[b]);CM(c,a[b]);c.y(s_(new r_()));lN(this.a.c,c);}}
-function j_(){}
-_=j_.prototype=new hdb();_.md=m_;_.tN=zgc+'CategoryExplorerWidget$2';_.tI=221;function o_(b,a,c){b.a=c;return b;}
-function q_(e){var a,b,c,d;a=sM(this.a,0);if(cc(a,64)){this.a.Dd(a);}d=bc(e,63);for(b=0;b<d.a;b++){c=oM(new mM());wM(c,'<img src="images/category_small.gif"/>'+d[b]);CM(c,d[b]);c.y(s_(new r_()));this.a.y(c);}}
-function n_(){}
-_=n_.prototype=new hdb();_.md=q_;_.tN=zgc+'CategoryExplorerWidget$3';_.tI=222;function s_(a){pM(a,'Please wait...');return a;}
-function r_(){}
-_=r_.prototype=new mM();_.tN=zgc+'CategoryExplorerWidget$PendingItem';_.tI=223;function bab(){bab=v3;cab=Bb('[Ljava.lang.String;',610,1,['brl','dslr','xls']);eab=Bb('[Ljava.lang.String;',610,1,['drl','rf','enumeration']);dab=Bb('[Ljava.lang.String;',610,1,['function','dsl','jar','enumeration']);}
-function fab(a){bab();var b;for(b=0;b<dab.a;b++){if(qV(dab[b],a)){return true;}}return false;}
-var cab,dab,eab;function rab(){rab=v3;AL();}
-function pab(a){a.b=bF(new FE(),true);a.a=iab(new hab(),a);}
-function qab(b,a){rab();zL(b);pab(b);oL(b,b);vO(b.a,1);uO(b,'AutoCompleteTextBox');CH(b.b,b.a);jO(b.b,'AutoCompleteChoices');uO(b.a,'list');b.c=a;return b;}
-function sab(a){if(a.e&&uD(a.a)>0){vL(a,vD(a.a,wD(a.a)));}sD(a.a);a.b.hc();a.e=false;}
-function tab(e,a,b,c){var d;d=wD(e.a);d++;if(d>=uD(e.a)){d=0;}BD(e.a,d);}
-function uab(d,a,b,c){sab(d);}
-function vab(d,a,b,c){sD(d.a);d.b.hc();d.e=false;}
-function wab(b,a){if(0==uV(a)||0==uD(b.a)||1==uD(b.a)&&qV(vD(b.a,0),a)){sD(b.a);b.b.hc();b.e=false;}else{BD(b.a,0);CD(b.a,uD(b.a)+1);if(!b.d){dq(iH(),b.b);b.d=true;}oF(b.b);b.e=true;lF(b.b,lO(b),mO(b)+b.yb());b.a.xe(b.zb()+'px');}}
-function xab(d,a,b,c){Aab(d,rL(d));if(uV(rL(d))>0&&d.c!==null){iec(d.c,rL(d),mab(new lab(),d));}}
-function yab(d,a,b,c){sab(d);}
-function zab(e,a,b,c){var d;d=wD(e.a);d--;if(d<0){d=uD(e.a)-1;}BD(e.a,d);}
-function Aab(c,b){var a;a=0;while(a<uD(c.a)){if(yV(CV(vD(c.a,a)),CV(b))){++a;}else{AD(c.a,a);}}wab(c,b);}
-function Bab(d,b,c){var a;sD(d.a);for(a=0;a<b.a;a++){pD(d.a,b[a]);}Aab(d,c);}
-function Cab(a,b,c){if(b==13){uab(this,a,b,c);}else if(b==9){yab(this,a,b,c);}else if(b==40){tab(this,a,b,c);}else if(b==38){zab(this,a,b,c);}else if(b==27){vab(this,a,b,c);}}
-function Dab(a,b,c){}
-function Eab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:xab(this,a,b,c);break;}}
-function gab(){}
-_=gab.prototype=new kL();_.Fc=Cab;_.ad=Dab;_.bd=Eab;_.tN=Agc+'AutoCompleteTextBoxAsync';_.tI=224;_.c=null;_.d=false;_.e=false;function jab(){jab=v3;tD();}
-function iab(b,a){jab();b.a=a;mD(b);return b;}
-function kab(a){if(1==ze(a)){sab(this.a);}}
-function hab(){}
-_=hab.prototype=new eD();_.tc=kab;_.tN=Agc+'AutoCompleteTextBoxAsync$1';_.tI=225;function mab(b,a){b.a=a;return b;}
-function oab(b,a){Bab(b.a,a,rL(b.a));}
-function lab(){}
-_=lab.prototype=new xU();_.tN=Agc+'AutoCompleteTextBoxAsync$2';_.tI=226;function dbb(a){a.j=true;}
-function ebb(a){a.j=false;}
-function fbb(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
-function gbb(){return this.j;}
-function bbb(){}
-_=bbb.prototype=new es();_.lc=gbb;_.tN=Agc+'DirtyableComposite';_.tI=227;_.j=false;function jbb(a){a.b=FY(new DY());}
-function kbb(a){lu(a);jbb(a);return a;}
-function mbb(d){var a,b,c;for(c=d.b.mc();c.gc();){a=bc(c.pc(),65);b=kz(d,a.b,a.a);if(cc(b,66))if(bc(b,66).lc())return true;if(cc(b,67))if(bc(b,67).fc())return true;}return false;}
-function nbb(d,c,b,a){zz(d,c,b,a);if(cc(a,68)){aZ(d.b,d.a++,keb(new jeb(),c,b));}}
-function obb(){return mbb(this);}
-function pbb(c,b,a){nbb(this,c,b,a);}
-function ibb(){}
-_=ibb.prototype=new fu();_.fc=obb;_.ve=pbb;_.tN=Agc+'DirtyableFlexTable';_.tI=228;_.a=0;function rbb(a){FA(a);return a;}
-function tbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=Dr(c,b);if(cc(a,66))if(bc(a,66).lc())return true;if(cc(a,67))if(bc(a,67).fc())return true;}return false;}
-function ubb(){return tbb(this);}
-function qbb(){}
-_=qbb.prototype=new DA();_.fc=ubb;_.tN=Agc+'DirtyableHorizontalPane';_.tI=229;function wbb(a){hP(a);return a;}
-function ybb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=Dr(this,b);if(cc(a,66))if(bc(a,66).lc())return true;if(cc(a,67))if(bc(a,67).fc())return true;}return false;}
-function vbb(){}
-_=vbb.prototype=new fP();_.fc=ybb;_.tN=Agc+'DirtyableVerticalPane';_.tI=230;function gcb(){gcb=v3;zs();}
-function dcb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=odb(new ndb(),'images/close.gif');}
-function ecb(d,b,a){var c,e;gcb();xs(d,true);dcb(d);bD(d.a,b);aB(d.c,eC(new oB(),'images/error_dialog.png'));e=hP(new fP());iP(e,d.a);aB(d.c,e);if(a!==null){fcb(d,e,a);}aB(d.c,d.b);c=d;fC(d.b,Cbb(new Bbb(),d,c));Cs(d,d.c);lF(d,40,40);uO(d,'rule-error-Popup');return d;}
-function fcb(e,c,b){var a,d,f;f=hP(new fP());iP(c,f);d=qq(new kq(),'Details');iP(f,d);a=CC(new AC(),b);a.ue(false);iP(f,a);d.x(acb(new Fbb(),e,a,d));}
-function hcb(a){bD(a.a,'');hF(a);}
-function icb(){hcb(this);}
-function jcb(a){gcb();var b;b=ecb(new Abb(),a,null);eeb();oF(b);}
-function kcb(a){gcb();var b;b=ecb(new Abb(),a.b,a.a);eeb();oF(b);}
-function Abb(){}
-_=Abb.prototype=new us();_.hc=icb;_.tN=Agc+'ErrorPopup';_.tI=231;function Cbb(b,a,c){b.a=c;return b;}
-function Ebb(a){hcb(this.a);}
-function Bbb(){}
-_=Bbb.prototype=new xU();_.wc=Ebb;_.tN=Agc+'ErrorPopup$1';_.tI=232;function acb(b,a,c,d){b.a=c;b.b=d;return b;}
-function ccb(a){this.a.ue(true);this.b.ue(false);}
-function Fbb(){}
-_=Fbb.prototype=new xU();_.wc=ccb;_.tN=Agc+'ErrorPopup$2';_.tI=233;function mcb(b,a){b.a=a;return b;}
-function ocb(a,b,c){}
-function pcb(a,b,c){}
-function qcb(a,b,c){this.a.nb();}
-function lcb(){}
-_=lcb.prototype=new xU();_.Fc=ocb;_.ad=pcb;_.bd=qcb;_.tN=Agc+'FieldEditListener';_.tI=234;_.a=null;function scb(a){a.h=kbb(new ibb());a.g=ou(a.h);}
-function ucb(b,a,c){scb(b);wcb(b,a,c);gs(b,b.h);return b;}
-function tcb(a){scb(a);gs(a,a.h);return a;}
-function vcb(d,c,a){var b;b=eA(new hx(),'<b>'+c+'<\/b>');nbb(d.h,d.i,0,b);Bx(d.g,d.i,0,(oA(),rA),(xA(),AA));nbb(d.h,d.i,1,a);Bx(d.g,d.i,1,(oA(),qA),(xA(),AA));d.i++;}
-function wcb(c,a,d){var b;b=CC(new AC(),d);uO(b,'resource-name-Label');Bcb(c,a,b);}
-function xcb(d,b,e,f){var a,c;c=CC(new AC(),e);uO(c,'resource-name-Label');a=FA(new DA());aB(a,c);aB(a,f);Bcb(d,b,a);}
-function ycb(a,b){nbb(a.h,a.i,0,b);ju(a.g,a.i,0,2);a.i++;}
-function zcb(a){a.i=0;bz(a.h);}
-function Bcb(b,a,c){nbb(b.h,0,0,eC(new oB(),a));Bx(b.g,0,0,(oA(),qA),(xA(),AA));nbb(b.h,0,1,c);b.i++;}
-function Ccb(c,b,a,d){nbb(c.h,b,a,d);}
-function Dcb(){return mbb(this.h);}
-function rcb(){}
-_=rcb.prototype=new bbb();_.lc=Dcb;_.tN=Agc+'FormStyleLayout';_.tI=235;_.i=0;function gdb(){gdb=v3;eF();}
-function ddb(c,b,d){var a;gdb();bF(c,true);c.i=ucb(new rcb(),b,d);uO(c,'ks-popups-Popup');a=odb(new ndb(),'images/close.gif');fC(a,adb(new Fcb(),c));Ccb(c.i,0,2,a);CH(c,c.i);return c;}
-function edb(b,a,c){vcb(b.i,a,c);}
-function fdb(a,b){ycb(a.i,b);}
-function Ecb(){}
-_=Ecb.prototype=new FE();_.tN=Agc+'FormStylePopup';_.tI=236;_.i=null;function adb(b,a){b.a=a;return b;}
-function cdb(a){this.a.hc();}
-function Fcb(){}
-_=Fcb.prototype=new xU();_.wc=cdb;_.tN=Agc+'FormStylePopup$1';_.tI=237;function qdb(){qdb=v3;hC();}
-function odb(b,a){qdb();eC(b,a);uO(b,'image-Button');return b;}
-function pdb(b,a,c){qdb();eC(b,a);uO(b,'image-Button');b.pe(c);return b;}
-function ndb(){}
-_=ndb.prototype=new oB();_.tN=Agc+'ImageButton';_.tI=238;function wdb(c,d,b){var a;a=eC(new oB(),'images/information.gif');a.pe(b);fC(a,tdb(new sdb(),c,d,b));gs(c,a);return c;}
-function rdb(){}
-_=rdb.prototype=new es();_.tN=Agc+'InfoPopup';_.tI=239;function tdb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vdb(b){var a;a=ddb(new Ecb(),'images/information.gif',this.b);fdb(a,zdb(new ydb(),this.a,'small-Text'));lF(a,lO(b),mO(b));oF(a);}
-function sdb(){}
-_=sdb.prototype=new xU();_.wc=vdb;_.tN=Agc+'InfoPopup$1';_.tI=240;function zdb(c,a,b){CC(c,a);uO(c,b);return c;}
-function ydb(){}
-_=ydb.prototype=new AC();_.tN=Agc+'Lbl';_.tI=241;function ceb(){ceb=v3;eF();}
-function aeb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=eC(new oB(),'images/close.gif');}
-function beb(a){ceb();bF(a,true);aeb(a);aB(a.c,a.a);aB(a.c,a.b);aB(a.c,eC(new oB(),'images/searching.gif'));fC(a.b,Ddb(new Cdb(),a));CH(a,a.c);lF(a,0,0);uO(a,'loading-Popup');return a;}
-function deb(a){bD(a.a,'');hF(a);}
-function eeb(){ceb();deb(feb());}
-function feb(){ceb();if(heb===null){heb=beb(new Bdb());}return heb;}
-function geb(){deb(this);}
-function ieb(a){ceb();var b;b=feb();bD(b.a,a);oF(b);}
-function Bdb(){}
-_=Bdb.prototype=new FE();_.hc=geb;_.tN=Agc+'LoadingPopup';_.tI=242;var heb=null;function Ddb(b,a){b.a=a;return b;}
-function Fdb(a){deb(this.a);}
-function Cdb(){}
-_=Cdb.prototype=new xU();_.wc=Fdb;_.tN=Agc+'LoadingPopup$1';_.tI=243;function keb(c,b,a){c.b=b;c.a=a;return c;}
-function jeb(){}
-_=jeb.prototype=new xU();_.tN=Agc+'Pair';_.tI=244;_.a=0;_.b=0;function reb(a){a.b=mD(new eD());uUb(EMb(),oeb(new neb(),a));gs(a,a.b);return a;}
-function teb(a){return vD(a.b,wD(a.b));}
-function ueb(b,a){b.a=a;}
-function meb(){}
-_=meb.prototype=new es();_.tN=Agc+'RulePackageSelector';_.tI=245;_.a=null;_.b=null;function oeb(b,a){b.a=a;return b;}
-function qeb(c){var a,b;b=bc(c,71);for(a=0;a<b.a;a++){pD(this.a.b,b[a].j);if(this.a.a!==null&&qV(b[a].j,this.a.a)){BD(this.a.b,a);}}}
-function neb(){}
-_=neb.prototype=new hdb();_.md=qeb;_.tN=Agc+'RulePackageSelector$1';_.tI=246;function nfb(){nfb=v3;zs();}
-function lfb(f,g,d){var a,b,c,e;nfb();xs(f,true);f.d=g;f.b=d;uO(f,'ks-popups-Popup');As(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=FA(new DA());a=mD(new eD());ieb('Please wait...');wUb(EMb(),xeb(new web(),f,a));oD(a,Beb(new Aeb(),f,a));aB(c,a);e=qq(new kq(),'Change status');e.x(Feb(new Eeb(),f,a));aB(c,e);b=qq(new kq(),'Cancel');b.x(dfb(new cfb(),f));aB(c,b);Cs(f,c);return f;}
-function mfb(b,a){ieb('Updating status...');hUb(EMb(),b.d,b.c,b.b,hfb(new gfb(),b));}
-function ofb(b,a){b.a=a;}
-function veb(){}
-_=veb.prototype=new us();_.tN=Agc+'StatusChangePopup';_.tI=247;_.a=null;_.b=false;_.c=null;_.d=null;function xeb(b,a,c){b.a=c;return b;}
-function zeb(a){var b,c;c=bc(a,63);pD(this.a,'-- Choose one --');for(b=0;b<c.a;b++){pD(this.a,c[b]);}eeb();}
-function web(){}
-_=web.prototype=new hdb();_.md=zeb;_.tN=Agc+'StatusChangePopup$1';_.tI=248;function Beb(b,a,c){b.a=a;b.b=c;return b;}
-function Deb(a){this.a.c=vD(this.b,wD(this.b));}
-function Aeb(){}
-_=Aeb.prototype=new xU();_.vc=Deb;_.tN=Agc+'StatusChangePopup$2';_.tI=249;function Feb(b,a,c){b.a=a;b.b=c;return b;}
-function bfb(b){var a;a=vD(this.b,wD(this.b));mfb(this.a,a);this.a.hc();}
-function Eeb(){}
-_=Eeb.prototype=new xU();_.wc=bfb;_.tN=Agc+'StatusChangePopup$3';_.tI=250;function dfb(b,a){b.a=a;return b;}
-function ffb(a){this.a.hc();}
-function cfb(){}
-_=cfb.prototype=new xU();_.wc=ffb;_.tN=Agc+'StatusChangePopup$4';_.tI=251;function hfb(b,a){b.a=a;return b;}
-function jfb(b,a){b.a.a.nb();eeb();}
-function kfb(a){jfb(this,a);}
-function gfb(){}
-_=gfb.prototype=new hdb();_.md=kfb;_.tN=Agc+'StatusChangePopup$5';_.tI=252;function rfb(){rfb=v3;gdb();}
-function qfb(c,b,a){rfb();ddb(c,'images/attention_needed.png',b);edb(c,'Detail:',sfb(c,a));return c;}
-function sfb(c,b){var a;a=eL(new dL());uO(a,'editable-Surface');jL(a,12);vL(a,b);a.xe('100%');return a;}
-function pfb(){}
-_=pfb.prototype=new Ecb();_.tN=Agc+'ValidationMessageWidget';_.tI=253;function Afb(){Afb=v3;eF();}
-function yfb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=qq(new kq(),'OK');}
-function zfb(b,c,d){var a;Afb();bF(b,true);yfb(b);lF(b,c,d);aB(b.c,b.a);aB(b.c,b.b);a=b;b.b.x(vfb(new ufb(),b,a));CH(b,b.c);uO(b,'rule-warning-Popup');return b;}
-function Bfb(a){bD(a.a,'');hF(a);}
-function Cfb(){Bfb(this);}
-function Dfb(a,c,d){Afb();var b;b=zfb(new tfb(),c,d);bD(b.a,a);oF(b);}
-function tfb(){}
-_=tfb.prototype=new FE();_.hc=Cfb;_.tN=Agc+'WarningPopup';_.tI=254;function vfb(b,a,c){b.a=c;return b;}
-function xfb(a){Bfb(this.a);}
-function ufb(){}
-_=ufb.prototype=new xU();_.wc=xfb;_.tN=Agc+'WarningPopup$1';_.tI=255;function igb(){igb=v3;zs();}
-function hgb(d,b,f){var a,c,e;igb();ws(d);Bs(d,b);e=qq(new kq(),'Yes');c=qq(new kq(),'No');e.x(agb(new Ffb(),d,f));c.x(egb(new dgb(),d));a=FA(new DA());aB(a,e);aB(a,c);Cs(d,a);return d;}
-function Efb(){}
-_=Efb.prototype=new us();_.tN=Agc+'YesNoDialog';_.tI=256;function agb(b,a,c){b.a=a;b.b=c;return b;}
-function cgb(a){this.b.nb();this.a.hc();}
-function Ffb(){}
-_=Ffb.prototype=new xU();_.wc=cgb;_.tN=Agc+'YesNoDialog$1';_.tI=257;function egb(b,a){b.a=a;return b;}
-function ggb(a){this.a.hc();}
-function dgb(){}
-_=dgb.prototype=new xU();_.wc=ggb;_.tN=Agc+'YesNoDialog$2';_.tI=258;function iyb(b,a,c){b.e=c;b.a=a;nyb(b,a.e,a.d.n);myb(b);return b;}
-function jyb(b,a){ycb(b.c,a);}
-function lyb(c,a,d){var b;b=zL(new kL());tL(b,a);vL(b,d);b.ue(false);return b;}
-function myb(a){Dv(a.b,eyb(new dyb(),a));}
-function nyb(d,f,c){var a,b,e;d.b=Cv(new xv());cw(d.b,w()+'asset');dw(d.b,'multipart/form-data');ew(d.b,'post');e=au(new Ft());du(e,'fileUploadElement');b=FA(new DA());aB(b,lyb(d,'attachmentUUID',f));d.d=pdb(new ndb(),'images/upload.gif','Upload');aB(b,e);aB(b,CC(new AC(),'upload:'));aB(b,d.d);CH(d.b,b);d.c=ucb(new rcb(),d.sb(),c);if(!d.a.c)vcb(d.c,'Upload new version:',d.b);a=qq(new kq(),'Download');a.x(Cxb(new Bxb(),d,f));vcb(d.c,'Download current version:',a);fC(d.d,ayb(new Fxb(),d));gs(d,d.c);d.c.xe('100%');uO(d,d.Ab());}
-function oyb(a){ieb('Uploading...');}
-function pyb(a){gw(a.b);}
-function Axb(){}
-_=Axb.prototype=new es();_.tN=Fgc+'AssetAttachmentFileWidget';_.tI=259;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function kgb(b,a,c){iyb(b,a,c);jyb(b,eA(new hx(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
-function mgb(){return 'images/decision_table.png';}
-function ngb(){return 'decision-Table-upload';}
-function jgb(){}
-_=jgb.prototype=new Axb();_.sb=mgb;_.Ab=ngb;_.tN=Bgc+'DecisionTableXLSWidget';_.tI=260;function pgb(){pgb=v3;xgb=C1(new a1());sgb=C1(new a1());rgb=C1(new a1());qgb=Bb('[Ljava.lang.String;',610,1,['not','exists','or']);{d2(xgb,'==','is equal to');d2(xgb,'!=','is not equal to');d2(xgb,'<','is less than');d2(xgb,'<=','less than or equal to');d2(xgb,'>','greater than');d2(xgb,'>=','greater than or equal to');d2(xgb,'|| ==','or equal to');d2(xgb,'|| !=','or not equal to');d2(xgb,'&& !=','and not equal to');d2(xgb,'&& >','and greater than');d2(xgb,'&& <','and less than');d2(xgb,'|| >','or greater than');d2(xgb,'|| <','or less than');d2(xgb,'&& <','and less than');d2(xgb,'|| >=','or greater than (or equal to)');d2(xgb,'|| <=','or less than (or equal to)');d2(xgb,'&& >=','and greater than (or equal to)');d2(xgb,'&& <=','or less than (or equal to)');d2(xgb,'&& contains','and contains');d2(xgb,'|| contains','or contains');d2(xgb,'&& matches','and matches');d2(xgb,'|| matches','or mat!
 ches');d2(xgb,'|| excludes','or excludes');d2(xgb,'&& excludes','and excludes');d2(xgb,'soundslike','sounds like');d2(sgb,'not','There is no');d2(sgb,'exists','There exists');d2(sgb,'or','Any of');d2(rgb,'assert','Insert');d2(rgb,'assertLogical','Logically insert');d2(rgb,'retract','Retract');d2(rgb,'set','Set');d2(rgb,'modify','Modify');}}
-function tgb(a){pgb();return wgb(a,rgb);}
-function ugb(a){pgb();return wgb(a,sgb);}
-function vgb(a){pgb();return wgb(a,xgb);}
-function wgb(a,b){pgb();if(F1(b,a)){return bc(c2(b,a),1);}else{return a;}}
-var qgb,rgb,sgb,xgb;function Bgb(){Bgb=v3;phb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=']);rhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);nhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);lhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);qhb=Bb('[Ljava.lang.String;',610,1,['==','!=']);ohb=Bb('[Ljava.lang.String;',610,1,['==','!=','<','>','<=','>=']);shb=Bb('[Ljava.lang.String;',610,1,['==','!=','matches','soundslike']);mhb=Bb('[Ljava.lang.String;',610,1,['contains','excludes','==','!=']);}
-function zgb(a){a.h=C1(new a1());a.c=C1(new a1());a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[616],[14],[0],null);a.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[616],[14],[0],null);}
-function Agb(a){Bgb();zgb(a);return a;}
-function Cgb(c,a,b){var d;d=bc(c.f.ec(a+'.'+b),1);if(d===null){return phb;}else if(qV(d,'String')){return rhb;}else if(qV(d,'Comparable')||qV(d,'Numeric')){return nhb;}else if(qV(d,'Collection')){return lhb;}else{return phb;}}
-function Egb(i,g,d){var a,b,c,e,f,h,j;c=fhb(i);j=bc(c2(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(cc(a,32)){h=bc(a,32);if(qV(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return bc(i.c.ec(f),63);}}}}return bc(i.c.ec(g.c+'.'+d),63);}
-function Dgb(f,g,a,c){var b,d,e,h,i;b=fhb(f);h=bc(c2(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(qV(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return bc(f.c.ec(e),63);}}}return bc(f.c.ec(g+'.'+c),63);}
-function ahb(b,a){return bc(b.g.ec(a),63);}
-function Fgb(a,c){var b;b=bc(a.h.ec(c),1);return bc(a.g.ec(b),63);}
-function bhb(c,a,b){return bc(c.f.ec(a+'.'+b),1);}
-function chb(a){return ghb(a,a.h.nc());}
-function dhb(c,a,b){var d;d=bc(c.f.ec(a+'.'+b),1);if(d===null){return qhb;}else if(qV(d,'String')){return shb;}else if(qV(d,'Comparable')||qV(d,'Numeric')){return ohb;}else if(qV(d,'Collection')){return mhb;}else{return qhb;}}
-function ehb(a,b){return a.h.cb(b);}
-function fhb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=C1(new a1());e=g.c.nc();for(b=tX(e);AX(b);){d=bc(BX(b),1);if(rV(d,91)!=(-1)){c=rV(d,91);a=AV(d,0,c);f=AV(d,c+1,rV(d,93));h=AV(f,0,rV(f,61));d2(g.d,a,h);}}}return g.d;}
-function ghb(e,d){var a,b,c;a=Ab('[Ljava.lang.String;',[610],[1],[d.b.a.c],null);b=0;for(c=tX(d);AX(c);){a[b]=bc(BX(c),1);b++;}return a;}
-function ygb(){}
-_=ygb.prototype=new xU();_.tN=Cgc+'SuggestionCompletionEngine';_.tI=261;_.d=null;_.e=null;_.f=null;_.g=null;var lhb,mhb,nhb,ohb,phb,qhb,rhb,shb;function jhb(b,a){a.a=bc(b.Ad(),72);a.b=bc(b.Ad(),72);a.c=bc(b.Ad(),57);a.e=bc(b.Ad(),63);a.f=bc(b.Ad(),57);a.g=bc(b.Ad(),57);a.h=bc(b.Ad(),57);}
-function khb(b,a){b.bf(a.a);b.bf(a.b);b.bf(a.c);b.bf(a.e);b.bf(a.f);b.bf(a.g);b.bf(a.h);}
-function uhb(a){a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[620],[18],[0],null);}
-function vhb(a){uhb(a);return a;}
-function whb(c,d){var a,b;if(c.b===null){c.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[620],[18],[1],null);c.b[0]=d;}else{b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[620],[18],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
-function yhb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[620],[18],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
-function thb(){}
-_=thb.prototype=new xU();_.tN=Dgc+'ActionFieldList';_.tI=262;function Bhb(b,a){a.b=bc(b.Ad(),73);}
-function Chb(b,a){b.bf(a.b);}
-function Ehb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Dhb(){}
-_=Dhb.prototype=new xU();_.tN=Dgc+'ActionFieldValue';_.tI=263;_.a=null;_.b=null;_.c=null;function cib(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
-function dib(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
-function gib(a,b){vhb(a);a.a=b;return a;}
-function fib(a){vhb(a);return a;}
-function eib(){}
-_=eib.prototype=new thb();_.tN=Dgc+'ActionInsertFact';_.tI=264;_.a=null;function kib(b,a){a.a=b.Bd();Bhb(b,a);}
-function lib(b,a){b.cf(a.a);Chb(b,a);}
-function oib(b,a){gib(b,a);return b;}
-function nib(a){fib(a);return a;}
-function mib(){}
-_=mib.prototype=new eib();_.tN=Dgc+'ActionInsertLogicalFact';_.tI=265;function sib(b,a){kib(b,a);}
-function tib(b,a){lib(b,a);}
-function vib(a,b){a.a=b;return a;}
-function uib(){}
-_=uib.prototype=new xU();_.tN=Dgc+'ActionRetractFact';_.tI=266;_.a=null;function zib(b,a){a.a=b.Bd();}
-function Aib(b,a){b.cf(a.a);}
-function Dib(a,b){vhb(a);a.a=b;return a;}
-function Cib(a){vhb(a);return a;}
-function Bib(){}
-_=Bib.prototype=new thb();_.tN=Dgc+'ActionSetField';_.tI=267;_.a=null;function bjb(b,a){a.a=b.Bd();Bhb(b,a);}
-function cjb(b,a){b.cf(a.a);Chb(b,a);}
-function fjb(b,a){Dib(b,a);return b;}
-function ejb(a){Cib(a);return a;}
-function djb(){}
-_=djb.prototype=new Bib();_.tN=Dgc+'ActionUpdateField';_.tI=268;function jjb(b,a){bjb(b,a);}
-function kjb(b,a){cjb(b,a);}
-function mjb(a,b){a.b=b;return a;}
-function njb(e,d){var a,b,c;if(e.a===null){e.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[618],[16],[0],null);}b=e.a;c=Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[618],[16],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
-function ljb(){}
-_=ljb.prototype=new xU();_.tN=Dgc+'CompositeFactPattern';_.tI=269;_.a=null;_.b=null;function rjb(b,a){a.a=bc(b.Ad(),74);a.b=b.Bd();}
-function sjb(b,a){b.bf(a.a);b.cf(a.b);}
-function ujb(d,a){var b,c;if(d.b===null){d.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[17],[1],null);Cb(d.b,0,a);}else{c=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[17],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Cb(c,b,d.b[b]);}Cb(c,d.b.a,a);d.b=c;}}
-function wjb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[17],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Cb(d,c,e.b[a]);c++;}}e.b=d;}
-function tjb(){}
-_=tjb.prototype=new xU();_.tN=Dgc+'CompositeFieldConstraint';_.tI=270;_.a=null;_.b=null;function zjb(b,a){a.a=b.Bd();a.b=bc(b.Ad(),75);}
-function Ajb(b,a){b.cf(a.a);b.bf(a.b);}
-function ykb(){}
-_=ykb.prototype=new xU();_.tN=Dgc+'ISingleFieldConstraint';_.tI=271;_.e=0;_.f=null;function Bjb(){}
-_=Bjb.prototype=new ykb();_.tN=Dgc+'ConnectiveConstraint';_.tI=272;_.a=null;function Fjb(b,a){a.a=b.Bd();Ckb(b,a);}
-function akb(b,a){b.cf(a.a);Dkb(b,a);}
-function dkb(b){var a;a=new bkb();a.a=b.a;return a;}
-function ekb(e){var a,b,c,d;b=BV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=ac(a);}}return d;}
-function jkb(){return ekb(this);}
-function bkb(){}
-_=bkb.prototype=new xU();_.tS=jkb;_.tN=Dgc+'DSLSentence';_.tI=273;_.a=null;function hkb(b,a){a.a=b.Bd();}
-function ikb(b,a){b.cf(a.a);}
-function lkb(b,a){b.c=a;return b;}
-function mkb(b,a){if(b.b===null)b.b=new tjb();ujb(b.b,a);}
-function okb(a){if(a.b===null){return Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[17],[0],null);}else{return a.b.b;}}
-function pkb(a){if(a.a!==null&& !qV('',a.a)){return true;}else{return false;}}
-function qkb(b,a){wjb(b.b,a);}
-function kkb(){}
-_=kkb.prototype=new xU();_.tN=Dgc+'FactPattern';_.tI=274;_.a=null;_.b=null;_.c=null;function tkb(b,a){a.a=b.Bd();a.b=bc(b.Ad(),31);a.c=b.Bd();}
-function ukb(b,a){b.cf(a.a);b.bf(a.b);b.cf(a.c);}
-function Ckb(b,a){a.e=b.yd();a.f=b.Bd();}
-function Dkb(b,a){b.Fe(a.e);b.cf(a.f);}
-function alb(b,a,c){b.a=a;b.b=c;return b;}
-function glb(){var a;a=cV(new bV());eV(a,this.a);if(qV('no-loop',this.a)){eV(a,' ');eV(a,this.b===null?'true':this.b);}else if(qV('salience',this.a)){eV(a,' ');eV(a,this.b);}else if(this.b!==null){eV(a,' "');eV(a,this.b);eV(a,'"');}return iV(a);}
-function Fkb(){}
-_=Fkb.prototype=new xU();_.tS=glb;_.tN=Dgc+'RuleAttribute';_.tI=275;_.a=null;_.b=null;function elb(b,a){a.a=b.Bd();a.b=b.Bd();}
-function flb(b,a){b.cf(a.a);b.cf(a.b);}
-function ilb(a){a.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[624],[21],[0],null);a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[625],[22],[0],null);a.e=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[626],[23],[0],null);}
-function jlb(a){ilb(a);return a;}
-function klb(e,a){var b,c,d;c=e.a;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[624],[21],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function llb(e,d){var a,b,c;if(e.b===null){e.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[625],[22],[0],null);}b=e.b;c=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[625],[22],[b.a+1],null);for(a=0;a<b.a;a++){Cb(c,a,b[a]);}Cb(c,b.a,d);e.b=c;}
-function mlb(e,a){var b,c,d;if(e.e===null){e.e=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[626],[23],[0],null);}c=e.e;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[626],[23],[c.a+1],null);for(b=0;b<c.a;b++){Cb(d,b,c[b]);}Cb(d,c.a,a);e.e=d;}
-function olb(h){var a,b,c,d,e,f,g;g=FY(new DY());for(d=0;d<h.b.a;d++){f=h.b[d];if(cc(f,16)){b=bc(f,16);if(pkb(b)){bZ(g,b.a);}for(e=0;e<okb(b).a;e++){c=okb(b)[e];if(cc(c,32)){a=bc(c,32);if(Flb(a)){bZ(g,a.b);}}}}}return g;}
-function plb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(cc(c.b[a],16)){b=bc(c.b[a],16);if(b.a!==null&&qV(d,b.a)){return b;}}}return null;}
-function qlb(d){var a,b,c;if(d.b===null){return null;}b=FY(new DY());for(a=0;a<d.b.a;a++){if(cc(d.b[a],16)){c=bc(d.b[a],16);if(c.a!==null){bZ(b,c.a);}}}return b;}
-function rlb(k,b){var a,c,d,e,f,g,h,i,j;j=FY(new DY());for(f=0;f<k.b.a;f++){i=k.b[f];if(cc(i,16)){d=bc(i,16);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(cc(e,32)){a=bc(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Flb(a)){bZ(j,a.b);}}}}if(pkb(d)){bZ(j,d.a);}}else{if(pkb(d)){bZ(j,d.a);}}}}return j;}
-function slb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(cc(e.e[b],28)){d=bc(e.e[b],28);if(qV(d.a,a)){return true;}}else if(cc(e.e[b],27)){c=bc(e.e[b],27);if(qV(c.a,a)){return true;}}}return false;}
-function tlb(b,a){return fZ(olb(b),a);}
-function ulb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[624],[21],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function vlb(f,b){var a,c,d,e;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[625],[22],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Cb(d,c,f.b[a]);c++;}else{if(cc(f.b[a],16)){e=bc(f.b[a],16);if(e.a!==null&&slb(f,e.a)){return false;}}}}f.b=d;return true;}
-function wlb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[626],[23],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Cb(d,c,e.e[a]);c++;}}e.e=d;}
-function hlb(){}
-_=hlb.prototype=new xU();_.tN=Dgc+'RuleModel';_.tI=276;_.c='1.0';_.d=null;function zlb(b,a){a.a=bc(b.Ad(),76);a.b=bc(b.Ad(),77);a.c=b.Bd();a.d=b.Bd();a.e=bc(b.Ad(),78);}
-function Alb(b,a){b.bf(a.a);b.bf(a.b);b.cf(a.c);b.cf(a.d);b.bf(a.e);}
-function Clb(b,a){b.c=a;return b;}
-function Dlb(c){var a,b;if(c.a===null){c.a=Bb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',617,15,[new Bjb()]);}else{b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[617],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new Bjb();c.a=b;}}
-function Flb(a){if(a.b!==null&& !qV('',a.b)){return true;}else{return false;}}
-function Blb(){}
-_=Blb.prototype=new ykb();_.tN=Dgc+'SingleFieldConstraint';_.tI=277;_.a=null;_.b=null;_.c=null;_.d=null;function cmb(b,a){a.a=bc(b.Ad(),79);a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();Ckb(b,a);}
-function dmb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);Dkb(b,a);}
-function Dmb(d,b,c,a){d.e=c;d.a=a;d.d=kbb(new ibb());d.f=b;d.b=c.a;d.c=ahb(d.a,c.a);uO(d.d,'model-builderInner-Background');Fmb(d);gs(d,d.d);return d;}
-function Fmb(e){var a,b,c,d,f;bz(e.d);nbb(e.d,0,0,bnb(e));c=kbb(new ibb());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];nbb(c,a,0,anb(e,f));nbb(c,a,1,dnb(e,f));b=a;d=odb(new ndb(),'images/delete_item_small.gif');fC(d,gmb(new fmb(),e,b));nbb(c,a,2,d);}nbb(e.d,0,1,c);}
-function anb(a,b){return CC(new AC(),b.a);}
-function bnb(d){var a,b,c;c=FA(new DA());b=odb(new ndb(),'images/add_field_to_fact.gif');b.pe('Add another field to this so you can set its value.');fC(b,wmb(new vmb(),d));a='assert';if(cc(d.e,26)){a='assertLogical';}aB(c,zdb(new ydb(),tgb(a)+' '+d.e.a,'modeller-action-Label'));aB(c,b);return c;}
-function cnb(d,e){var a,b,c;c=ddb(new Ecb(),'images/newex_wiz.gif','Add a field');uO(c,'ks-popups-Popup');a=mD(new eD());pD(a,'...');for(b=0;b<d.c.a;b++){pD(a,d.c[b]);}BD(a,0);edb(c,'Add field',a);oD(a,Amb(new zmb(),d,a,c));lF(c,lO(e),mO(e));oF(c);}
-function dnb(c,d){var a,b;b=Dgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return xqb(d.c,omb(new nmb(),c,d),b);}else{a=zL(new kL());vL(a,d.c);nL(a,smb(new rmb(),c,d,a));if(qV(d.b,'Numeric')){oL(a,rob(a));}return a;}}
-function emb(){}
-_=emb.prototype=new bbb();_.tN=Egc+'ActionInsertFactWidget';_.tI=278;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function gmb(b,a,c){b.a=a;b.b=c;return b;}
-function imb(b){var a;a=hgb(new Efb(),'Remove this item?',kmb(new jmb(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
-function fmb(){}
-_=fmb.prototype=new xU();_.wc=imb;_.tN=Egc+'ActionInsertFactWidget$1';_.tI=279;function kmb(b,a,c){b.a=a;b.b=c;return b;}
-function mmb(){yhb(this.a.a.e,this.b);rxb(this.a.a.f);}
-function jmb(){}
-_=jmb.prototype=new xU();_.nb=mmb;_.tN=Egc+'ActionInsertFactWidget$2';_.tI=280;function omb(b,a,c){b.a=c;return b;}
-function qmb(a){this.a.c=a;}
-function nmb(){}
-_=nmb.prototype=new xU();_.Ce=qmb;_.tN=Egc+'ActionInsertFactWidget$3';_.tI=281;function smb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function umb(a){this.c.c=rL(this.b);rxb(this.a.f);}
-function rmb(){}
-_=rmb.prototype=new xU();_.vc=umb;_.tN=Egc+'ActionInsertFactWidget$4';_.tI=282;function wmb(b,a){b.a=a;return b;}
-function ymb(a){cnb(this.a,a);}
-function vmb(){}
-_=vmb.prototype=new xU();_.wc=ymb;_.tN=Egc+'ActionInsertFactWidget$5';_.tI=283;function Amb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Cmb(c){var a,b;a=vD(this.b,wD(this.b));b=bhb(this.a.a,this.a.e.a,a);whb(this.a.e,Ehb(new Dhb(),a,'',b));rxb(this.a.f);this.c.hc();}
-function zmb(){}
-_=zmb.prototype=new xU();_.vc=Cmb;_.tN=Egc+'ActionInsertFactWidget$6';_.tI=284;function fnb(c,a,b){c.a=lu(new fu());uO(c.a,'model-builderInner-Background');c.a.ve(0,0,zdb(new ydb(),tgb('retract'),'modeller-action-Label'));c.a.ve(0,1,zdb(new ydb(),'['+b.a+']','modeller-action-Label'));gs(c,c.a);return c;}
-function enb(){}
-_=enb.prototype=new es();_.tN=Egc+'ActionRetractFactWidget';_.tI=285;_.a=null;function kob(e,b,d,a){var c;e.d=d;e.a=a;e.c=kbb(new ibb());e.e=b;uO(e.c,'model-builderInner-Background');if(ehb(e.a,d.a)){e.b=Fgb(e.a,d.a);e.f=bc(e.a.h.ec(d.a),1);}else{c=plb(b.c,d.a);e.b=ahb(e.a,c.c);e.f=c.c;}mob(e);gs(e,e.c);return e;}
-function mob(e){var a,b,c,d,f;bz(e.c);nbb(e.c,0,0,oob(e));c=kbb(new ibb());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];nbb(c,a,0,nob(e,f));nbb(c,a,1,qob(e,f));b=a;d=odb(new ndb(),'images/delete_item_small.gif');fC(d,jnb(new inb(),e,b));nbb(c,a,2,d);}nbb(e.c,0,1,c);}
-function nob(a,b){return CC(new AC(),b.a);}
-function oob(d){var a,b,c;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe('Add another field to this so you can set its value.');fC(a,rnb(new qnb(),d));c='set';if(cc(d.d,29)){c='modify';}aB(b,zdb(new ydb(),tgb(c)+' ['+d.d.a+']','modeller-action-Label'));aB(b,a);return b;}
-function pob(d,e){var a,b,c;c=ddb(new Ecb(),'images/newex_wiz.gif','Add a field');uO(c,'ks-popups-Popup');a=mD(new eD());pD(a,'...');for(b=0;b<d.b.a;b++){pD(a,d.b[b]);}BD(a,0);edb(c,'Add field',a);oD(a,vnb(new unb(),d,a,c));lF(c,lO(e),mO(e));oF(c);}
-function qob(d,f){var a,b,c,e;e='';if(ehb(d.a,d.d.a)){e=bc(d.a.h.ec(d.d.a),1);}else{e=plb(d.e.c,d.d.a).c;}b=Dgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return xqb(f.c,znb(new ynb(),d,f),b);}else{c=AH(new sH());a=zL(new kL());vL(a,f.c);if(uV(f.c)!=0){BL(a,uV(f.c));}if(qV(f.b,'Numeric')){oL(a,rob(a));}nL(a,Dnb(new Cnb(),d,f,a));oL(a,mcb(new lcb(),bob(new aob(),d,a)));CH(c,a);return c;}}
-function rob(a){return fob(new eob(),a);}
-function sob(){return mbb(this.c);}
-function hnb(){}
-_=hnb.prototype=new bbb();_.lc=sob;_.tN=Egc+'ActionSetFieldWidget';_.tI=286;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function jnb(b,a,c){b.a=a;b.b=c;return b;}
-function lnb(b){var a;a=hgb(new Efb(),'Remove this item?',nnb(new mnb(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
-function inb(){}
-_=inb.prototype=new xU();_.wc=lnb;_.tN=Egc+'ActionSetFieldWidget$1';_.tI=287;function nnb(b,a,c){b.a=a;b.b=c;return b;}
-function pnb(){yhb(this.a.a.d,this.b);rxb(this.a.a.e);}
-function mnb(){}
-_=mnb.prototype=new xU();_.nb=pnb;_.tN=Egc+'ActionSetFieldWidget$2';_.tI=288;function rnb(b,a){b.a=a;return b;}
-function tnb(a){pob(this.a,a);}
-function qnb(){}
-_=qnb.prototype=new xU();_.wc=tnb;_.tN=Egc+'ActionSetFieldWidget$3';_.tI=289;function vnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function xnb(c){var a,b;a=vD(this.b,wD(this.b));b=bhb(this.a.a,this.a.f,a);whb(this.a.d,Ehb(new Dhb(),a,'',b));rxb(this.a.e);this.c.hc();}
-function unb(){}
-_=unb.prototype=new xU();_.vc=xnb;_.tN=Egc+'ActionSetFieldWidget$4';_.tI=290;function znb(b,a,c){b.a=c;return b;}
-function Bnb(a){this.a.c=a;}
-function ynb(){}
-_=ynb.prototype=new xU();_.Ce=Bnb;_.tN=Egc+'ActionSetFieldWidget$5';_.tI=291;function Dnb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Fnb(a){this.b.c=rL(this.a);}
-function Cnb(){}
-_=Cnb.prototype=new xU();_.vc=Fnb;_.tN=Egc+'ActionSetFieldWidget$6';_.tI=292;function bob(b,a,c){b.a=c;return b;}
-function dob(){BL(this.a,uV(rL(this.a)));}
-function aob(){}
-_=aob.prototype=new xU();_.nb=dob;_.tN=Egc+'ActionSetFieldWidget$7';_.tI=293;function fob(a,b){a.a=b;return a;}
-function hob(a,b,c){}
-function iob(c,a,b){if(hT(a)&&a!=61&& !yV(rL(this.a),'=')){pL(bc(c,80));}}
-function job(a,b,c){}
-function eob(){}
-_=eob.prototype=new xU();_.Fc=hob;_.ad=iob;_.bd=job;_.tN=Egc+'ActionSetFieldWidget$8';_.tI=294;function Cob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=kbb(new ibb());uO(d.b,'model-builderInner-Background');Eob(d);gs(d,d.b);return d;}
-function Eob(c){var a,b,d;nbb(c.b,0,0,Fob(c));if(c.d.a!==null){d=wbb(new vbb());a=c.d.a;for(b=0;b<a.a;b++){iP(d,ptb(new nrb(),c.c,a[b],c.a,false));}nbb(c.b,0,1,d);}}
-function Fob(c){var a,b;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");fC(a,vob(new uob(),c));aB(b,CC(new AC(),ugb(c.d.b)));aB(b,a);uO(b,'modeller-composite-Label');return b;}
-function apb(e,f){var a,b,c,d;a=mD(new eD());b=e.a.e;pD(a,'Choose...');for(c=0;c<b.a;c++){pD(a,b[c]);}BD(a,0);d=ddb(new Ecb(),'images/new_fact.gif','New fact pattern...');edb(d,'choose fact type',a);oD(a,zob(new yob(),e,a,d));uO(d,'ks-popups-Popup');lF(d,lO(f)-400,mO(f));oF(d);}
-function bpb(){return mbb(this.b);}
-function tob(){}
-_=tob.prototype=new bbb();_.lc=bpb;_.tN=Egc+'CompositeFactPatternWidget';_.tI=295;_.a=null;_.b=null;_.c=null;_.d=null;function vob(b,a){b.a=a;return b;}
-function xob(a){apb(this.a,a);}
-function uob(){}
-_=uob.prototype=new xU();_.wc=xob;_.tN=Egc+'CompositeFactPatternWidget$1';_.tI=296;function zob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Bob(a){njb(this.a.d,lkb(new kkb(),vD(this.b,wD(this.b))));rxb(this.a.c);this.c.hc();}
-function yob(){}
-_=yob.prototype=new xU();_.vc=Bob;_.tN=Egc+'CompositeFactPatternWidget$2';_.tI=297;function nqb(f,d,b,a,c,g){var e;f.a=a;if(qV(g,'Numeric')){f.d=true;}else{f.d=false;}if(qV(g,'Boolean')){f.b=Bb('[Ljava.lang.String;',610,1,['true','false']);}f.c=c.c;e=c.a;f.b=Egb(e,d,b);f.e=AH(new sH());sqb(f);gs(f,f.e);return f;}
-function oqb(c,b){var a;a=zL(new kL());uO(a,'constraint-value-Editor');if(b.f===null){vL(a,'');}else{vL(a,b.f);}if(b.f===null||uV(b.f)<5){BL(a,3);}else{BL(a,uV(b.f)-1);}nL(a,Dpb(new Cpb(),c,b,a));oL(a,mcb(new lcb(),bqb(new aqb(),c,a)));return a;}
-function qqb(b,a){sqb(b);a.hc();}
-function rqb(b){var a;if(b.b!==null){return xqb(b.a.f,qpb(new ppb(),b),b.b);}else{a=oqb(b,b.a);if(b.d){oL(a,new tpb());}a.pe('This is a literal value. What is shown is what the field is checked against.');return a;}}
-function sqb(b){var a;b.e.F();if(b.a.e==0){a=eC(new oB(),'images/edit.gif');fC(a,ipb(new dpb(),b));CH(b.e,a);}else{switch(b.a.e){case 1:CH(b.e,rqb(b));break;case 3:CH(b.e,tqb(b));break;case 2:CH(b.e,vqb(b));break;default:break;}}}
-function tqb(e){var a,b,c,d;a=oqb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=eC(new oB(),'images/function_assets.gif');c.pe(d);a.pe(d);b=wqb(e,c,a);return b;}
-function uqb(e,g,a){var b,c,d,f;b=ddb(new Ecb(),'images/newex_wiz.gif','Field value');d=qq(new kq(),'Literal value');d.x(fqb(new eqb(),e,a,b));edb(b,'Literal value:',wqb(e,d,wdb(new rdb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));fdb(b,eA(new hx(),'<hr/>'));fdb(b,zdb(new ydb(),'Advanced options','weak-Text'));if(rlb(e.c,e.a).b>0){f=qq(new kq(),'Bound variable');f.x(jqb(new iqb(),e,a,b));edb(b,'A variable:',wqb(e,f,wdb(new rdb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=qq(new kq(),'New formula');c.x(fpb(new epb(),e,a,b));edb(b,'A formula:',wqb(e,c,wdb(new rdb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));lF(b,lO(g),mO(g));oF(b);}
-function vqb(c){var a,b,d,e;e=rlb(c.c,c.a);a=mD(new eD());if(c.a.f===null){pD(a,'Choose ...');}for(b=0;b<e.b;b++){d=bc(gZ(e,b),1);pD(a,d);if(c.a.f!==null&&qV(c.a.f,d)){BD(a,b);}}oD(a,mpb(new lpb(),c,a));return a;}
-function wqb(d,a,c){var b;b=FA(new DA());aB(b,a);aB(b,c);b.xe('100%');return b;}
-function xqb(b,k,d){var a,c,e,f,g,h,i,j;a=mD(new eD());if(b===null||qV('',b)){pD(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(rV(i,61)>0){h=zqb(i);f=h[0];c=h[1];j=f;qD(a,c,f);}else{qD(a,i,i);j=i;}if(b!==null&&qV(b,j)){BD(a,e);g=true;}}if(b!==null&& !g){qD(a,b,b);BD(a,d.a);}oD(a,zpb(new ypb(),k,a));return a;}
-function yqb(){return this.j;}
-function zqb(c){var a,b;b=Ab('[Ljava.lang.String;',[610],[1],[2],null);a=rV(c,61);b[0]=AV(c,0,a);b[1]=AV(c,a+1,uV(c));return b;}
-function cpb(){}
-_=cpb.prototype=new bbb();_.lc=yqb;_.tN=Egc+'ConstraintValueEditor';_.tI=298;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function ipb(b,a){b.a=a;return b;}
-function kpb(a){uqb(this.a,a,this.a.a);}
-function dpb(){}
-_=dpb.prototype=new xU();_.wc=kpb;_.tN=Egc+'ConstraintValueEditor$1';_.tI=299;function fpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function hpb(a){this.b.e=3;qqb(this.a,this.c);}
-function epb(){}
-_=epb.prototype=new xU();_.wc=hpb;_.tN=Egc+'ConstraintValueEditor$10';_.tI=300;function mpb(b,a,c){b.a=a;b.b=c;return b;}
-function opb(a){this.a.a.f=vD(this.b,wD(this.b));}
-function lpb(){}
-_=lpb.prototype=new xU();_.vc=opb;_.tN=Egc+'ConstraintValueEditor$2';_.tI=301;function qpb(b,a){b.a=a;return b;}
-function spb(a){this.a.a.f=a;}
-function ppb(){}
-_=ppb.prototype=new xU();_.Ce=spb;_.tN=Egc+'ConstraintValueEditor$3';_.tI=302;function vpb(a,b,c){}
-function wpb(c,a,b){if(hT(a)){pL(bc(c,80));}}
-function xpb(a,b,c){}
-function tpb(){}
-_=tpb.prototype=new xU();_.Fc=vpb;_.ad=wpb;_.bd=xpb;_.tN=Egc+'ConstraintValueEditor$4';_.tI=303;function zpb(a,c,b){a.b=c;a.a=b;return a;}
-function Bpb(a){this.b.Ce(xD(this.a,wD(this.a)));}
-function ypb(){}
-_=ypb.prototype=new xU();_.vc=Bpb;_.tN=Egc+'ConstraintValueEditor$5';_.tI=304;function Dpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Fpb(a){this.c.f=rL(this.b);dbb(this.a);}
-function Cpb(){}
-_=Cpb.prototype=new xU();_.vc=Fpb;_.tN=Egc+'ConstraintValueEditor$6';_.tI=305;function bqb(b,a,c){b.a=c;return b;}
-function dqb(){BL(this.a,uV(rL(this.a)));}
-function aqb(){}
-_=aqb.prototype=new xU();_.nb=dqb;_.tN=Egc+'ConstraintValueEditor$7';_.tI=306;function fqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function hqb(a){this.b.e=1;qqb(this.a,this.c);}
-function eqb(){}
-_=eqb.prototype=new xU();_.wc=hqb;_.tN=Egc+'ConstraintValueEditor$8';_.tI=307;function jqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function lqb(a){this.b.e=2;qqb(this.a,this.c);}
-function iqb(){}
-_=iqb.prototype=new xU();_.wc=lqb;_.tN=Egc+'ConstraintValueEditor$9';_.tI=308;function grb(b,a){b.a=rbb(new qbb());b.c=FY(new DY());b.b=a;jrb(b);return b;}
-function hrb(b,a){aB(b.a,a);bZ(b.c,a);}
-function jrb(a){krb(a,a.b.a);gs(a,a.a);}
-function krb(g,e){var a,b,c,d,f;b=BV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=brb(new Fqb(),g);hrb(g,c);}else if(a==125){frb(c,uV(drb(c))+1);c=null;}else{if(c===null&&d===null){d=BC(new AC());hrb(g,d);}if(d!==null){bD(d,aD(d)+ac(a));}else if(c!==null){erb(c,drb(c)+ac(a));}}}}
-function lrb(c){var a,b,d;b='';for(a=c.c.mc();a.gc();){d=bc(a.pc(),20);if(cc(d,81)){b=b+aD(bc(d,81));}else if(cc(d,82)){b=b+' {'+drb(bc(d,82))+'} ';}}c.b.a=DV(b);}
-function mrb(){return tbb(this.a);}
-function Aqb(){}
-_=Aqb.prototype=new bbb();_.lc=mrb;_.tN=Egc+'DSLSentenceWidget';_.tI=309;_.a=null;_.b=null;_.c=null;function Cqb(b,a){b.a=a;return b;}
-function Eqb(a){lrb(this.a.c);dbb(this.a);}
-function Bqb(){}
-_=Bqb.prototype=new xU();_.vc=Eqb;_.tN=Egc+'DSLSentenceWidget$1';_.tI=310;function arb(a){a.b=FA(new DA());}
-function brb(b,a){b.c=a;arb(b);b.a=zL(new kL());aB(b.b,eA(new hx(),'&nbsp;'));aB(b.b,b.a);aB(b.b,eA(new hx(),'&nbsp;'));nL(b.a,Cqb(new Bqb(),b));gs(b,b.b);return b;}
-function drb(a){return rL(a.a);}
-function erb(b,a){vL(b.a,a);}
-function frb(b,a){BL(b.a,a);}
-function Fqb(){}
-_=Fqb.prototype=new bbb();_.tN=Egc+'DSLSentenceWidget$FieldEditor';_.tI=311;_.a=null;function otb(a){a.c=kbb(new ibb());}
-function ptb(k,h,i,c,a){var b,d,e,f,g,j;otb(k);k.e=bc(i,16);k.b=c;k.d=h;k.a=a;nbb(k.c,0,0,xtb(k));f=ou(k.c);Bx(f,0,0,(oA(),pA),(xA(),zA));Ex(f,0,0,'modeller-fact-TypeHeader');g=kbb(new ibb());nbb(k.c,1,0,g);for(j=0;j<okb(k.e).a;j++){d=okb(k.e)[j];e=j;Atb(k,g,j,d,true);b=odb(new ndb(),'images/delete_item_small.gif');b.pe('Remove this whole restriction');fC(b,lsb(new orb(),k,e));nbb(g,j,5,b);}if(k.a)uO(k.c,'modeller-fact-pattern-Widget');gs(k,k.c);return k;}
-function rtb(j,b){var a,c,d,e,f,g,h,i;f=FA(new DA());d=null;e=odb(new ndb(),'images/add_field_to_fact.gif');e.pe('Add a field to this nested constraint.');fC(e,psb(new osb(),j,b));if(qV(b.a,'&&')){d='All of:';}else{d='Any of:';}aB(f,e);aB(f,eA(new hx(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=kbb(new ibb());uO(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){Atb(j,h,g,i[g],false);c=g;a=odb(new ndb(),'images/delete_item_small.gif');a.pe('Remove this (nested) restriction');fC(a,tsb(new ssb(),j,b,c));nbb(h,g,5,a);}}aB(f,h);return f;}
-function stb(g,b,c){var a,d,e,f;f=Cgb(g.b,g.e.c,c);a=mD(new eD());pD(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];qD(a,vgb(e),e);if(qV(e,b.a)){BD(a,d+1);}}oD(a,Crb(new Brb(),g,b,a));return a;}
-function ttb(d,a,b,c){var e;e=bhb(d.d.a,b,c);return nqb(new cpb(),d.e,c,a,d.d,e);}
-function utb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=rbb(new qbb());for(e=0;e<a.a.a;e++){b=a.a[e];aB(d,stb(f,b,a.c));aB(d,ttb(f,b,c,a.c));}return d;}else{return null;}}
-function vtb(c,b){var a,d,e;if(c.a&& !slb(c.d.c,c.e.a)){d=FA(new DA());e=zL(new kL());if(c.e.a===null){vL(e,'');}else{vL(e,c.e.a);}BL(e,3);aB(d,e);a=qq(new kq(),'Set');a.x(yrb(new xrb(),c,e,b));aB(d,a);edb(b,'Variable name',d);}}
-function wtb(e,c,d){var a,b;a=FA(new DA());uO(a,'modeller-field-Label');if(!Flb(c)){if(e.a&&d){b=pdb(new ndb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');fC(b,esb(new dsb(),e,c));aB(a,b);}}else{aB(a,CC(new AC(),'['+c.b+']'));}aB(a,CC(new AC(),c.c));return a;}
-function xtb(c){var a,b;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe('Add a field to this condition, or bind a varible to this fact.');fC(a,Fsb(new Esb(),c));if(c.e.a!==null){aB(b,CC(new AC(),'['+c.e.a+'] '+c.e.c));}else{aB(b,CC(new AC(),c.e.c));}aB(b,a);return b;}
-function ytb(f,b){var a,c,d,e;e=dhb(f.b,f.e.c,b.c);a=mD(new eD());pD(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];qD(a,vgb(d),d);if(qV(d,b.d)){BD(a,c+1);}}oD(a,asb(new Frb(),f,b,a));return a;}
-function ztb(e,b){var a,c,d;d=FA(new DA());d.xe('100%');c=eC(new oB(),'images/function_assets.gif');c.pe('This is a formula expression that is evaluated to be true or false.');aB(d,c);if(b.f===null){b.f='';}a=zL(new kL());vL(a,b.f);nL(a,Bsb(new Asb(),e,b,a));a.xe('100%');aB(d,a);return d;}
-function Atb(e,b,c,a,d){if(cc(a,32)){Btb(e,e.d,b,c,a,d);}else if(cc(a,31)){nbb(b,c,0,rtb(e,bc(a,31)));ju(ou(b),c,0,5);}}
-function Btb(h,e,d,f,c,g){var a,b;b=bc(c,32);if(b.e!=5){nbb(d,f,0,wtb(h,b,g));nbb(d,f,1,ytb(h,b));nbb(d,f,2,Ftb(h,b,h.e.c));nbb(d,f,3,utb(h,b,h.e.c));a=odb(new ndb(),'images/add_connective.gif');a.pe('Add more options to this fields values.');fC(a,xsb(new wsb(),h,b,e));nbb(d,f,4,a);}else if(b.e==5){nbb(d,f,0,ztb(h,b));ju(ou(d),f,0,5);}}
-function Ctb(d,g,a){var b,c,e,f;c=ddb(new Ecb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=cq(new bq());e=zL(new kL());b=qq(new kq(),'Set');dq(f,e);dq(f,b);b.x(isb(new hsb(),d,e,a,c));edb(c,'Variable name',f);lF(c,lO(g),mO(g));oF(c);}
-function Etb(i,j){var a,b,c,d,e,f,g,h;g=ddb(new Ecb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);uO(g,'ks-popups-Popup');a=mD(new eD());pD(a,'...');c=ahb(i.b,i.e.c);for(e=0;e<c.a;e++){pD(a,c[e]);}BD(a,0);oD(a,ltb(new ktb(),i,a,g));edb(g,'Add a restriction on a field',a);b=mD(new eD());pD(b,'...');qD(b,'All of (And)','&&');qD(b,'Any of (Or)','||');BD(b,0);oD(b,qrb(new prb(),i,b,g));f=wdb(new rdb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=FA(new DA());aB(d,b);aB(d,f);edb(g,'Multiple field constraint',d);fdb(g,zdb(new ydb(),'Advanced options','weak-Text'));h=qq(new kq(),'New formula');h.x(urb(new trb(),i,g));edb(g,'Add a new formula style expression',h);vtb(i,g);lF(g,lO(j),mO(j));oF(g);}
-function Dtb(i,j,b){var a,c,d,e,f,g,h;h=ddb(new Ecb(),'images/newex_wiz.gif','Add fields to this constraint');uO(h,'ks-popups-Popup');a=mD(new eD());pD(a,'...');d=ahb(i.b,i.e.c);for(f=0;f<d.a;f++){pD(a,d[f]);}BD(a,0);oD(a,dtb(new ctb(),i,b,a,h));edb(h,'Add a restriction on a field',a);c=mD(new eD());pD(c,'...');qD(c,'All of (And)','&&');qD(c,'Any of (Or)','||');BD(c,0);oD(c,htb(new gtb(),i,c,b,h));g=wdb(new rdb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=FA(new DA());aB(e,c);aB(e,g);edb(h,'Multiple field constraint',e);lF(h,lO(j),mO(j));oF(h);}
-function Ftb(c,a,b){var d;d=bhb(c.d.a,b,a.c);return nqb(new cpb(),c.e,a.c,a,c.d,d);}
-function aub(){return mbb(this.c);}
-function nrb(){}
-_=nrb.prototype=new bbb();_.lc=aub;_.tN=Egc+'FactPatternWidget';_.tI=312;_.a=false;_.b=null;_.d=null;_.e=null;function lsb(b,a,c){b.a=a;b.b=c;return b;}
-function nsb(a){if(Eh('Remove this item?')){qkb(this.a.e,this.b);rxb(this.a.d);}}
-function orb(){}
-_=orb.prototype=new xU();_.wc=nsb;_.tN=Egc+'FactPatternWidget$1';_.tI=313;function qrb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function srb(b){var a;a=new tjb();a.a=xD(this.b,wD(this.b));mkb(this.a.e,a);rxb(this.a.d);this.c.hc();}
-function prb(){}
-_=prb.prototype=new xU();_.vc=srb;_.tN=Egc+'FactPatternWidget$10';_.tI=314;function urb(b,a,c){b.a=a;b.b=c;return b;}
-function wrb(b){var a;a=new Blb();a.e=5;mkb(this.a.e,a);rxb(this.a.d);this.b.hc();}
-function trb(){}
-_=trb.prototype=new xU();_.wc=wrb;_.tN=Egc+'FactPatternWidget$11';_.tI=315;function yrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Arb(b){var a;a=rL(this.c);if(qxb(this.a.d,a)){Ch('The variable name ['+a+'] is already taken.');return;}this.a.e.a=rL(this.c);rxb(this.a.d);this.b.hc();}
-function xrb(){}
-_=xrb.prototype=new xU();_.wc=Arb;_.tN=Egc+'FactPatternWidget$12';_.tI=316;function Crb(b,a,d,c){b.b=d;b.a=c;return b;}
-function Erb(a){this.b.a=xD(this.a,wD(this.a));}
-function Brb(){}
-_=Brb.prototype=new xU();_.vc=Erb;_.tN=Egc+'FactPatternWidget$13';_.tI=317;function asb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function csb(a){this.c.d=xD(this.b,wD(this.b));dbb(this.a.d);kW(),nW;}
-function Frb(){}
-_=Frb.prototype=new xU();_.vc=csb;_.tN=Egc+'FactPatternWidget$14';_.tI=318;function esb(b,a,c){b.a=a;b.b=c;return b;}
-function gsb(a){Ctb(this.a,a,this.b);}
-function dsb(){}
-_=dsb.prototype=new xU();_.wc=gsb;_.tN=Egc+'FactPatternWidget$15';_.tI=319;function isb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function ksb(b){var a;a=rL(this.d);if(qxb(this.a.d,a)){Ch('The variable name ['+a+'] is already taken.');return;}this.b.b=a;rxb(this.a.d);this.c.hc();}
-function hsb(){}
-_=hsb.prototype=new xU();_.wc=ksb;_.tN=Egc+'FactPatternWidget$16';_.tI=320;function psb(b,a,c){b.a=a;b.b=c;return b;}
-function rsb(a){Dtb(this.a,a,this.b);}
-function osb(){}
-_=osb.prototype=new xU();_.wc=rsb;_.tN=Egc+'FactPatternWidget$2';_.tI=321;function tsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vsb(a){if(Eh('Remove this item from nested constraint?')){wjb(this.b,this.c);rxb(this.a.d);}}
-function ssb(){}
-_=ssb.prototype=new xU();_.wc=vsb;_.tN=Egc+'FactPatternWidget$3';_.tI=322;function xsb(b,a,c,d){b.a=c;b.b=d;return b;}
-function zsb(a){Dlb(this.a);rxb(this.b);}
-function wsb(){}
-_=wsb.prototype=new xU();_.wc=zsb;_.tN=Egc+'FactPatternWidget$4';_.tI=323;function Bsb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Dsb(a){this.c.f=rL(this.b);dbb(this.a.d);}
-function Asb(){}
-_=Asb.prototype=new xU();_.vc=Dsb;_.tN=Egc+'FactPatternWidget$5';_.tI=324;function Fsb(b,a){b.a=a;return b;}
-function btb(a){Etb(this.a,a);}
-function Esb(){}
-_=Esb.prototype=new xU();_.wc=btb;_.tN=Egc+'FactPatternWidget$6';_.tI=325;function dtb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function ftb(a){ujb(this.c,Clb(new Blb(),vD(this.b,wD(this.b))));rxb(this.a.d);this.d.hc();}
-function ctb(){}
-_=ctb.prototype=new xU();_.vc=ftb;_.tN=Egc+'FactPatternWidget$7';_.tI=326;function htb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
-function jtb(b){var a;a=new tjb();a.a=xD(this.c,wD(this.c));ujb(this.b,a);rxb(this.a.d);this.d.hc();}
-function gtb(){}
-_=gtb.prototype=new xU();_.vc=jtb;_.tN=Egc+'FactPatternWidget$8';_.tI=327;function ltb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function ntb(a){mkb(this.a.e,Clb(new Blb(),vD(this.b,wD(this.b))));rxb(this.a.d);this.c.hc();}
-function ktb(){}
-_=ktb.prototype=new xU();_.vc=ntb;_.tN=Egc+'FactPatternWidget$9';_.tI=328;function yub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=tcb(new rcb());b=d.a;for(c=0;c<b.a;c++){a=b[c];vcb(f.a,a.a,Bub(f,a,c));}gs(f,f.a);return f;}
-function zub(c,a){var b;b=ar(new Fq());if(a.b===null){gr(b,true);a.b='true';}else{gr(b,qV(a.b,'true'));}b.x(dub(new cub(),c,a,b));return b;}
-function Bub(e,a,d){var b,c;if(qV(a.a,'no-loop')){return Cub(e,d);}b=null;if(qV(a.a,'enabled')||qV(a.a,'auto-focus')||qV(a.a,'lock-on-active')){b=zub(e,a);}else{b=Dub(e,a);}c=rbb(new qbb());aB(c,b);aB(c,Cub(e,d));return c;}
-function Cub(c,a){var b;b=eC(new oB(),'images/delete_item_small.gif');fC(b,rub(new qub(),c,a));return b;}
-function Dub(c,a){var b;b=zL(new kL());BL(b,uV(a.b)<3?3:uV(a.b));vL(b,a.b);nL(b,hub(new gub(),c,a,b));if(qV(a.a,'date-effective')||qV(a.a,'date-expires')){if(a.b===null||qV('',a.b))vL(b,'dd-MMM-yyyy');BL(b,10);}oL(b,lub(new kub(),c,b));return b;}
-function Eub(){var a;a=mD(new eD());pD(a,'Choose...');pD(a,'salience');pD(a,'enabled');pD(a,'date-effective');pD(a,'date-expires');pD(a,'no-loop');pD(a,'agenda-group');pD(a,'activation-group');pD(a,'duration');pD(a,'auto-focus');pD(a,'lock-on-active');pD(a,'ruleflow-group');pD(a,'dialect');return a;}
-function Fub(){return this.a.lc();}
-function bub(){}
-_=bub.prototype=new bbb();_.lc=Fub;_.tN=Egc+'RuleAttributeWidget';_.tI=329;_.a=null;_.b=null;_.c=null;function dub(b,a,c,d){b.a=c;b.b=d;return b;}
-function fub(a){this.a.b=fr(this.b)?'true':'false';}
-function cub(){}
-_=cub.prototype=new xU();_.wc=fub;_.tN=Egc+'RuleAttributeWidget$1';_.tI=330;function hub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function jub(a){this.b.b=rL(this.c);dbb(this.a);}
-function gub(){}
-_=gub.prototype=new xU();_.vc=jub;_.tN=Egc+'RuleAttributeWidget$2';_.tI=331;function lub(b,a,c){b.a=c;return b;}
-function nub(a,b,c){}
-function oub(a,b,c){}
-function pub(a,b,c){BL(this.a,uV(rL(this.a)));}
-function kub(){}
-_=kub.prototype=new xU();_.Fc=nub;_.ad=oub;_.bd=pub;_.tN=Egc+'RuleAttributeWidget$3';_.tI=332;function rub(b,a,c){b.a=a;b.b=c;return b;}
-function tub(b){var a;a=hgb(new Efb(),'Remove this rule option?',vub(new uub(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
-function qub(){}
-_=qub.prototype=new xU();_.wc=tub;_.tN=Egc+'RuleAttributeWidget$4';_.tI=333;function vub(b,a,c){b.a=a;b.b=c;return b;}
-function xub(){ulb(this.a.a.b,this.b);rxb(this.a.a.c);}
-function uub(){}
-_=uub.prototype=new xU();_.nb=xub;_.tN=Egc+'RuleAttributeWidget$5';_.tI=334;function fxb(b,a){b.c=bc(a.b,83);b.a=uLb((sLb(),xLb),a.d.o);b.b=kbb(new ibb());pxb(b);uO(b.b,'model-builder-Background');gs(b,b.b);b.xe('100%');b.ne('100%');return b;}
-function gxb(b,a){mlb(b.c,Dib(new Bib(),a));rxb(b);}
-function hxb(b,a){mlb(b.c,fjb(new djb(),a));rxb(b);}
-function ixb(b,a){llb(b.c,mjb(new ljb(),a));rxb(b);}
-function jxb(b,a){llb(b.c,dkb(a));rxb(b);}
-function kxb(b,a){mlb(b.c,dkb(a));rxb(b);}
-function lxb(b,a){llb(b.c,lkb(new kkb(),a));rxb(b);}
-function mxb(a,b){mlb(a.c,vib(new uib(),b));rxb(a);}
-function oxb(b){var a;a=odb(new ndb(),'images/new_item.gif');a.pe('Add an option to the rule, to modify its behavior when evaluated or executed.');fC(a,kwb(new jwb(),b));return a;}
-function pxb(c){var a,b;bz(c.b);b=odb(new ndb(),'images/new_item.gif');b.pe('Add a condition to this rule.');fC(b,cwb(new bvb(),c));nbb(c.b,0,0,CC(new AC(),'WHEN'));nbb(c.b,0,2,b);nbb(c.b,1,1,sxb(c,c.c));nbb(c.b,2,0,CC(new AC(),'THEN'));a=odb(new ndb(),'images/new_item.gif');a.pe('Add an action to this rule.');fC(a,gwb(new fwb(),c));nbb(c.b,2,2,a);nbb(c.b,3,1,txb(c,c.c));nbb(c.b,4,0,CC(new AC(),'(options)'));nbb(c.b,4,2,oxb(c));nbb(c.b,5,1,yub(new bub(),c,c.c));}
-function qxb(b,a){return tlb(b.c,a)||ehb(b.a,a);}
-function rxb(a){pxb(a);dbb(a);}
-function sxb(e,c){var a,b,d,f,g;f=wbb(new vbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(cc(d,16)){g=ptb(new nrb(),e,d,e.a,true);iP(f,yxb(e,c,b,g));iP(f,xxb(e));}else if(cc(d,30)){g=Cob(new tob(),e,bc(d,30),e.a);iP(f,yxb(e,c,b,g));iP(f,xxb(e));}else if(cc(d,14)){}else{throw DU(new CU(),"I don't know what type of pattern that is.");}}a=wbb(new vbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(cc(d,14)){g=grb(new Aqb(),bc(d,14));iP(a,yxb(e,c,b,g));uO(a,'model-builderInner-Background');}}iP(f,a);return f;}
-function txb(g,e){var a,b,c,d,f,h,i;h=wbb(new vbb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(cc(a,28)){i=kob(new hnb(),g,bc(a,28),g.a);}else if(cc(a,25)){i=Dmb(new emb(),g,bc(a,25),g.a);}else if(cc(a,27)){i=fnb(new enb(),g.a,bc(a,27));}else if(cc(a,14)){i=grb(new Aqb(),bc(a,14));uO(i,'model-builderInner-Background');}iP(h,xxb(g));b=rbb(new qbb());f=odb(new ndb(),'images/delete_item_small.gif');f.pe('Remove this action.');d=c;fC(f,swb(new rwb(),g,e,d));aB(b,i);if(!cc(i,84)){i.xe('100%');b.xe('100%');}aB(b,f);iP(h,b);}return h;}
-function uxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=ddb(new Ecb(),'images/new_fact.gif','Add a new action...');uO(k,'ks-popups-Popup');q=qlb(n.c);p=mD(new eD());l=mD(new eD());j=mD(new eD());pD(p,'Choose ...');pD(l,'Choose ...');pD(j,'Choose ...');for(i=q.mc();i.gc();){o=bc(i.pc(),1);pD(p,o);pD(l,o);pD(j,o);}d=chb(n.a);for(f=0;f<d.a;f++){pD(p,d[f]);}BD(p,0);oD(p,dvb(new cvb(),n,p,k));oD(l,hvb(new gvb(),n,l,k));oD(j,lvb(new kvb(),n,j,k));if(uD(p)>1){edb(k,'Set the values of a field on',p);}if(uD(j)>1){e=FA(new DA());aB(e,j);g=eC(new oB(),'images/information.gif');g.pe('Modify a field on a fact, and notify the engine to re-evaluate rules.');aB(e,g);edb(k,'Modify a fact',e);}if(uD(l)>1){edb(k,'Retract the fact',l);}b=mD(new eD());c=mD(new eD());pD(b,'Choose ...');pD(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];pD(b,h);pD(c,h);}oD(b,pvb(new ovb(),n,b,k));oD(c,tvb(new svb(),n,c,k));if(uD(b)>1){edb(k,'Insert a new fact',b);e=FA(new DA());aB(e,c);g=eC(new oB(),'images/inf!
 ormation.gif');g.pe('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');aB(e,g);edb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=mD(new eD());pD(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];qD(a,ekb(m),aU(f));}oD(a,xvb(new wvb(),n,a,k));edb(k,'DSL sentence',a);}lF(k,fc(di()/3),fc(ci()/3));oF(k);}
-function vxb(c,d){var a,b;b=ddb(new Ecb(),'images/config.png','Add an option to the rule');a=Eub();BD(a,0);oD(a,owb(new nwb(),c,a,b));uO(b,'ks-popups-Popup');edb(b,'Attribute',a);lF(b,lO(d)-400,mO(d));oF(b);}
-function wxb(j,k){var a,b,c,d,e,f,g,h,i;h=ddb(new Ecb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=mD(new eD());qD(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){pD(e,f[g]);}BD(e,0);if(f.a>0)edb(h,'Fact',e);oD(e,Awb(new zwb(),j,e,h));uO(h,'ks-popups-Popup');c=(pgb(),qgb);b=mD(new eD());qD(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];qD(b,ugb(a),a);}BD(b,0);if(f.a>0)edb(h,'Condition type',b);oD(b,Ewb(new Dwb(),j,b,h));if(j.a.b.a>0){d=mD(new eD());pD(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];qD(d,ekb(i),aU(g));}oD(d,cxb(new bxb(),j,d,h));edb(h,'DSL sentence',d);}lF(h,lO(k)-400,mO(k));oF(h);}
-function xxb(b){var a;a=eA(new hx(),'&nbsp;');a.ne('2px');return a;}
-function yxb(f,d,b,g){var a,c,e;a=rbb(new qbb());e=odb(new ndb(),'images/delete_item_small.gif');e.pe('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;fC(e,Bvb(new Avb(),f,d,c));a.xe('100%');g.xe('100%');aB(a,g);aB(a,e);return a;}
-function zxb(){return mbb(this.b)||this.j;}
-function avb(){}
-_=avb.prototype=new bbb();_.lc=zxb;_.tN=Egc+'RuleModeller';_.tI=335;_.a=null;_.b=null;_.c=null;function cwb(b,a){b.a=a;return b;}
-function ewb(a){wxb(this.a,a);}
-function bvb(){}
-_=bvb.prototype=new xU();_.wc=ewb;_.tN=Egc+'RuleModeller$1';_.tI=336;function dvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function fvb(a){gxb(this.a,vD(this.c,wD(this.c)));this.b.hc();}
-function cvb(){}
-_=cvb.prototype=new xU();_.vc=fvb;_.tN=Egc+'RuleModeller$10';_.tI=337;function hvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function jvb(a){mxb(this.a,vD(this.c,wD(this.c)));this.b.hc();}
-function gvb(){}
-_=gvb.prototype=new xU();_.vc=jvb;_.tN=Egc+'RuleModeller$11';_.tI=338;function lvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nvb(a){hxb(this.a,vD(this.b,wD(this.b)));this.c.hc();}
-function kvb(){}
-_=kvb.prototype=new xU();_.vc=nvb;_.tN=Egc+'RuleModeller$12';_.tI=339;function pvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function rvb(b){var a;a=vD(this.b,wD(this.b));mlb(this.a.c,gib(new eib(),a));rxb(this.a);this.c.hc();}
-function ovb(){}
-_=ovb.prototype=new xU();_.vc=rvb;_.tN=Egc+'RuleModeller$13';_.tI=340;function tvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function vvb(b){var a;a=vD(this.b,wD(this.b));mlb(this.a.c,oib(new mib(),a));rxb(this.a);this.c.hc();}
-function svb(){}
-_=svb.prototype=new xU();_.vc=vvb;_.tN=Egc+'RuleModeller$14';_.tI=341;function xvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function zvb(b){var a;a=ET(xD(this.b,wD(this.b)));kxb(this.a,this.a.a.a[a]);this.c.hc();}
-function wvb(){}
-_=wvb.prototype=new xU();_.vc=zvb;_.tN=Egc+'RuleModeller$15';_.tI=342;function Bvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function Dvb(b){var a;a=hgb(new Efb(),'Remove this entire condition?',Fvb(new Evb(),this,this.c,this.b));lF(a,lO(b),mO(b));oF(a);}
-function Avb(){}
-_=Avb.prototype=new xU();_.wc=Dvb;_.tN=Egc+'RuleModeller$16';_.tI=343;function Fvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function bwb(){if(vlb(this.c,this.b)){rxb(this.a.a);}else{jcb("Can't remove that item as it is used in the action part of the rule.");}}
-function Evb(){}
-_=Evb.prototype=new xU();_.nb=bwb;_.tN=Egc+'RuleModeller$17';_.tI=344;function gwb(b,a){b.a=a;return b;}
-function iwb(a){uxb(this.a,a);}
-function fwb(){}
-_=fwb.prototype=new xU();_.wc=iwb;_.tN=Egc+'RuleModeller$2';_.tI=345;function kwb(b,a){b.a=a;return b;}
-function mwb(a){vxb(this.a,a);}
-function jwb(){}
-_=jwb.prototype=new xU();_.wc=mwb;_.tN=Egc+'RuleModeller$3';_.tI=346;function owb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function qwb(a){klb(this.a.c,alb(new Fkb(),vD(this.b,wD(this.b)),''));rxb(this.a);this.c.hc();}
-function nwb(){}
-_=nwb.prototype=new xU();_.vc=qwb;_.tN=Egc+'RuleModeller$4';_.tI=347;function swb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function uwb(b){var a;a=hgb(new Efb(),'Remove this item?',wwb(new vwb(),this,this.c,this.b));lF(a,lO(b),mO(b));oF(a);}
-function rwb(){}
-_=rwb.prototype=new xU();_.wc=uwb;_.tN=Egc+'RuleModeller$5';_.tI=348;function wwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function ywb(){wlb(this.c,this.b);rxb(this.a.a);}
-function vwb(){}
-_=vwb.prototype=new xU();_.nb=ywb;_.tN=Egc+'RuleModeller$6';_.tI=349;function Awb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function Cwb(b){var a;a=vD(this.b,wD(this.b));if(!qV(a,'IGNORE')){lxb(this.a,a);this.c.hc();}}
-function zwb(){}
-_=zwb.prototype=new xU();_.vc=Cwb;_.tN=Egc+'RuleModeller$7';_.tI=350;function Ewb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function axb(b){var a;a=xD(this.b,wD(this.b));if(!qV(a,'IGNORE')){ixb(this.a,a);this.c.hc();}}
-function Dwb(){}
-_=Dwb.prototype=new xU();_.vc=axb;_.tN=Egc+'RuleModeller$8';_.tI=351;function cxb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function exb(b){var a;a=ET(xD(this.b,wD(this.b)));jxb(this.a,this.a.a.b[a]);this.c.hc();}
-function bxb(){}
-_=bxb.prototype=new xU();_.vc=exb;_.tN=Egc+'RuleModeller$9';_.tI=352;function Cxb(b,a,c){b.a=c;return b;}
-function Exb(a){ki(w()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
-function Bxb(){}
-_=Bxb.prototype=new xU();_.wc=Exb;_.tN=Fgc+'AssetAttachmentFileWidget$1';_.tI=353;function ayb(b,a){b.a=a;return b;}
-function cyb(a){oyb(this.a);pyb(this.a);}
-function Fxb(){}
-_=Fxb.prototype=new xU();_.wc=cyb;_.tN=Fgc+'AssetAttachmentFileWidget$2';_.tI=354;function eyb(b,a){b.a=a;return b;}
-function hyb(a){}
-function gyb(a){eeb();if(sV(a.a,'OK')>(-1)){x_b(this.a.e);}else{jcb('Unable to upload the file.');}}
-function dyb(){}
-_=dyb.prototype=new xU();_.ld=hyb;_.kd=gyb;_.tN=Fgc+'AssetAttachmentFileWidget$3';_.tI=355;function Byb(){Byb=v3;gdb();}
-function zyb(c){var a,b;Byb();ddb(c,'images/new_wiz.gif','Create a new fact template');c.a=lu(new fu());c.b=zL(new kL());edb(c,'Name:',c.b);edb(c,'Fact attributes:',c.a);a=eC(new oB(),'images/new_item.gif');fC(a,syb(new ryb(),c));edb(c,'Add a new attribute',a);b=qq(new kq(),'Create');b.x(wyb(new vyb(),c));edb(c,'',b);return c;}
-function Ayb(b){var a;a=pu(b.a);b.a.ve(a,0,zL(new kL()));b.a.ve(a,1,Eyb(b));}
-function Cyb(d){var a,b,c,e,f;b='template '+rL(d.b)+'\n';for(a=0;a<pu(d.a);a++){e=bc(kz(d.a,a,1),85);f=vD(e,wD(e));c=rL(bc(kz(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
-function Dyb(b,a){b.c=a;}
-function Eyb(b){var a;a=mD(new eD());pD(a,'String');pD(a,'Integer');pD(a,'Float');pD(a,'Date');pD(a,'Boolean');return a;}
-function qyb(){}
-_=qyb.prototype=new Ecb();_.tN=Fgc+'FactTemplateWizard';_.tI=356;_.a=null;_.b=null;_.c=null;function syb(b,a){b.a=a;return b;}
-function uyb(a){Ayb(this.a);}
-function ryb(){}
-_=ryb.prototype=new xU();_.wc=uyb;_.tN=Fgc+'FactTemplateWizard$1';_.tI=357;function wyb(b,a){b.a=a;return b;}
-function yyb(a){BDb(this.a.c);this.a.hc();}
-function vyb(){}
-_=vyb.prototype=new xU();_.wc=yyb;_.tN=Fgc+'FactTemplateWizard$2';_.tI=358;function azb(b,a,c){iyb(b,a,c);return b;}
-function czb(){return 'images/model_large.png';}
-function dzb(){return 'editable-Surface';}
-function Fyb(){}
-_=Fyb.prototype=new Axb();_.sb=czb;_.Ab=dzb;_.tN=Fgc+'ModelAttachmentFileWidget';_.tI=359;function cAb(){cAb=v3;gdb();}
-function aAb(a){a.b=tcb(new rcb());a.d=tcb(new rcb());}
-function bAb(f,b){var a,c,d,e;cAb();ddb(f,'images/new_wiz.gif','Create a new package');aAb(f);f.c=zL(new kL());f.a=eL(new dL());ycb(f.d,eA(new hx(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));vcb(f.d,'Name:',f.c);vcb(f.d,'Description:',f.a);f.c.pe('The name of the package. Avoid spaces, use underscore instead.');e=EG(new CG(),'action','Create new pa!
 ckage');d=EG(new CG(),'action','Import from drl file');gr(e,true);f.d.ue(true);e.x(gzb(new fzb(),f));f.b.ue(false);d.x(kzb(new jzb(),f));a=cq(new bq());dq(a,e);dq(a,d);fdb(f,a);fdb(f,f.d);fdb(f,f.b);vcb(f.b,'DRL file to import:',eAb(b,f));c=qq(new kq(),'Create package');c.x(ozb(new nzb(),f,b));vcb(f.d,'',c);uO(f,'ks-popups-Popup');return f;}
-function dAb(d,b,a,c){ieb('Creating package - please wait...');qUb(EMb(),b,a,tzb(new szb(),d,c));}
-function eAb(a,d){cAb();var b,c,e,f;f=Cv(new xv());cw(f,w()+'package');dw(f,'multipart/form-data');ew(f,'post');c=FA(new DA());f.we(c);e=au(new Ft());du(e,'classicDRLFile');aB(c,e);aB(c,CC(new AC(),'upload:'));b=pdb(new ndb(),'images/upload.gif','Import');fC(b,yzb(new xzb(),f));aB(c,b);Dv(f,Czb(new Bzb(),a,d,e));return f;}
-function ezb(){}
-_=ezb.prototype=new Ecb();_.tN=Fgc+'NewPackageWizard';_.tI=360;_.a=null;_.c=null;function gzb(b,a){b.a=a;return b;}
-function izb(a){this.a.d.ue(true);this.a.b.ue(false);}
-function fzb(){}
-_=fzb.prototype=new xU();_.wc=izb;_.tN=Fgc+'NewPackageWizard$1';_.tI=361;function kzb(b,a){b.a=a;return b;}
-function mzb(a){this.a.d.ue(false);this.a.b.ue(true);}
-function jzb(){}
-_=jzb.prototype=new xU();_.wc=mzb;_.tN=Fgc+'NewPackageWizard$2';_.tI=362;function ozb(b,a,c){b.a=a;b.b=c;return b;}
-function qzb(b,a){return vV(a,'[a-zA-Z\\.]*');}
-function rzb(a){if(qzb(this,rL(this.a.c))){dAb(this.a,rL(this.a.c),rL(this.a.a),this.b);this.a.hc();}else{vL(this.a.c,'');Ch('Invalid package name, use java-style package name');}}
-function nzb(){}
-_=nzb.prototype=new xU();_.wc=rzb;_.tN=Fgc+'NewPackageWizard$3';_.tI=363;function tzb(b,a,c){b.a=c;return b;}
-function vzb(b,a){eeb();eGb(b.a);}
-function wzb(a){vzb(this,a);}
-function szb(){}
-_=szb.prototype=new hdb();_.md=wzb;_.tN=Fgc+'NewPackageWizard$4';_.tI=364;function yzb(a,b){a.a=b;return a;}
-function Azb(a){if(Eh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){ieb('Importing drl package, please wait, as this could take some time...');gw(this.a);}}
-function xzb(){}
-_=xzb.prototype=new xU();_.wc=Azb;_.tN=Fgc+'NewPackageWizard$5';_.tI=365;function Czb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
-function Fzb(a){if(uV(cu(this.c))==0){Ch('You did not choose a drl file to import !');sw(a,true);}else if(!oV(cu(this.c),'.drl')){Ch("You can only import '.drl' files.");sw(a,true);}}
-function Ezb(a){if(sV(a.a,'OK')>(-1)){Ch('Package was imported successfully. ');eGb(this.a);this.b.hc();}else{jcb('Unable to import into the package. ['+a.a+']');}eeb();}
-function Bzb(){}
-_=Bzb.prototype=new xU();_.ld=Fzb;_.kd=Ezb;_.tN=Fgc+'NewPackageWizard$6';_.tI=366;function FBb(h,e,f){var a,b,c,d,g;h.c=ucb(new rcb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=AH(new sH());g=zL(new kL());a=qq(new kq(),'Build package');a.pe('This will validate and compile all the assets in a package.');a.x(yAb(new gAb(),h,b,g));c=qq(new kq(),'Show package source');c.x(CAb(new BAb(),h,e));vcb(h.c,'View source for package',c);d=FA(new DA());aB(d,a);aB(d,eA(new hx(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));aB(d,g);aB(d,wdb(new rdb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));vcb(h.c,'Build binary package:',d);ycb(h.c,eA(new hx(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));ycb(h.c,b);uO(h.c,'package-Editor');h.c.xe('100%');gs(h,h.c);return h;}
-function bCb(d,a,c){var b;a.F();b=FA(new DA());aB(b,CC(new AC(),'Validating and building package, please wait...'));aB(b,eC(new oB(),'images/red_anime.gif'));ieb('Please wait...');CH(a,b);ig(pBb(new oBb(),d,c,a));}
-function cCb(i,e,a){var b,c,d,f,g,h;a.F();b=lu(new fu());uO(b,'build-Results');yz(b,0,1,'Format');yz(b,0,2,'Name');yz(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ve(f,0,eC(new oB(),'images/error.gif'));yz(b,f,1,d.a);yz(b,f,2,d.b);yz(b,f,3,d.c);if(!qV('package',d.a)){h=qq(new kq(),'Show');h.x(CBb(new BBb(),i,d));b.ve(f,4,h);}}b.xe('100%');g=oH(new mH(),b);qH(g,true);tO(g,'100%','25em');CH(a,g);}
-function dCb(g,i){var a,b,c,d,e,f,h;ieb('Loading existing snapshots...');c=ddb(new Ecb(),'images/snapshot.png','Create a snapshot for deployment.');fdb(c,eA(new hx(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=hP(new fP());edb(c,'Choose or create snapshot name:',h);f=FY(new DY());d=zL(new kL());e='NEW: ';vUb(EMb(),g.a.j,iAb(new hAb(),g,f,h,d));a=zL(new kL());edb(c,'Comment:',a);b=qq(new kq(),'Create new snapshot');edb(c,'',b);b.x(qAb(new pAb(),g,f,d,a,c));c.xe('50%');lF(c,fc((fbb()-gF(c))/2),100);oF(c);}
-function eCb(e,a){var b,c,d,f;a.F();f=hP(new fP());iP(f,eA(new hx(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=gCb(e.a);b=eA(new hx(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");iP(f,b);d=qq(new kq(),'Create snapshot for deployment');d.x(yBb(new xBb(),e));iP(f,d);CH(a,f);}
-function fCb(b,a){ieb('Assembling package source...');ig(aBb(new FAb(),b,a));}
-function gCb(a){var b,c;b=w()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
-function hCb(b,c){var a,d;d=ddb(new Ecb(),'images/view_source.gif','Viewing source for: '+c);a=eL(new dL());jL(a,30);a.xe('100%');iL(a,80);fdb(d,a);vL(a,b);a.ke(true);a.pe('THIS IS READ ONLY - you may copy and paste, but not edit.');oL(a,jBb(new iBb(),a,b));eeb();lF(d,fc((fbb()-gF(d))/2),100);oF(d);}
-function fAb(){}
-_=fAb.prototype=new es();_.tN=Fgc+'PackageBuilderWidget';_.tI=367;_.a=null;_.b=null;_.c=null;function yAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function AAb(a){bCb(this.a,this.b,rL(this.c));}
-function gAb(){}
-_=gAb.prototype=new xU();_.wc=AAb;_.tN=Fgc+'PackageBuilderWidget$1';_.tI=368;function iAb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
-function kAb(a){var b,c,d,e,f;f=bc(a,86);for(c=0;c<f.a;c++){b=EG(new CG(),'snapshotNameGroup',f[c].b);bZ(this.b,b);iP(this.c,b);}d=FA(new DA());e=EG(new CG(),'snapshotNameGroup','NEW: ');aB(d,e);this.a.ke(false);e.x(mAb(new lAb(),this,this.a));aB(d,this.a);bZ(this.b,e);iP(this.c,d);eeb();}
-function hAb(){}
-_=hAb.prototype=new hdb();_.md=kAb;_.tN=Fgc+'PackageBuilderWidget$10';_.tI=369;function mAb(b,a,c){b.a=c;return b;}
-function oAb(a){this.a.ke(true);}
-function lAb(){}
-_=lAb.prototype=new xU();_.wc=oAb;_.tN=Fgc+'PackageBuilderWidget$11';_.tI=370;function qAb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
-function sAb(d){var a,b,c;c=false;for(b=this.f.mc();b.gc();){a=bc(b.pc(),87);if(fr(a)){this.a=er(a);if(!qV(er(a),'NEW: ')){c=true;}break;}}if(qV(this.a,'NEW: ')){this.a=rL(this.e);}if(qV(this.a,'')){Ch('You have to enter or chose a label (name) for the snapshot.');return;}pUb(EMb(),this.b.a.j,this.a,c,rL(this.c),uAb(new tAb(),this,this.d));}
-function pAb(){}
-_=pAb.prototype=new xU();_.wc=sAb;_.tN=Fgc+'PackageBuilderWidget$12';_.tI=371;_.a='';function uAb(b,a,c){b.a=a;b.b=c;return b;}
-function wAb(b,a){Ch('The snapshot called: '+b.a.a+' was successfully created.');b.b.hc();}
-function xAb(a){wAb(this,a);}
-function tAb(){}
-_=tAb.prototype=new hdb();_.md=xAb;_.tN=Fgc+'PackageBuilderWidget$13';_.tI=372;function CAb(b,a,c){b.a=c;return b;}
-function EAb(a){fCb(this.a.m,this.a.j);}
-function BAb(){}
-_=BAb.prototype=new xU();_.wc=EAb;_.tN=Fgc+'PackageBuilderWidget$2';_.tI=373;function aBb(a,c,b){a.b=c;a.a=b;return a;}
-function cBb(){eUb(EMb(),this.b,eBb(new dBb(),this,this.a));}
-function FAb(){}
-_=FAb.prototype=new xU();_.nb=cBb;_.tN=Fgc+'PackageBuilderWidget$3';_.tI=374;function eBb(b,a,c){b.a=c;return b;}
-function gBb(c,b){var a;a=bc(b,1);hCb(a,c.a);}
-function hBb(a){gBb(this,a);}
-function dBb(){}
-_=dBb.prototype=new hdb();_.md=hBb;_.tN=Fgc+'PackageBuilderWidget$4';_.tI=375;function jBb(a,b,c){a.a=b;a.b=c;return a;}
-function lBb(a,b,c){vL(this.a,this.b);}
-function mBb(a,b,c){vL(this.a,this.b);}
-function nBb(a,b,c){vL(this.a,this.b);}
-function iBb(){}
-_=iBb.prototype=new xU();_.Fc=lBb;_.ad=mBb;_.bd=nBb;_.tN=Fgc+'PackageBuilderWidget$5';_.tI=376;function pBb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function rBb(){fUb(EMb(),this.a.a.m,this.c,tBb(new sBb(),this,this.b));}
-function oBb(){}
-_=oBb.prototype=new xU();_.nb=rBb;_.tN=Fgc+'PackageBuilderWidget$6';_.tI=377;function tBb(b,a,c){b.a=a;b.b=c;return b;}
-function vBb(c,a){var b;eeb();if(a===null){eCb(c.a.a,c.b);}else{b=bc(a,88);cCb(c.a.a,b,c.b);}}
-function wBb(a){vBb(this,a);}
-function sBb(){}
-_=sBb.prototype=new hdb();_.md=wBb;_.tN=Fgc+'PackageBuilderWidget$7';_.tI=378;function yBb(b,a){b.a=a;return b;}
-function ABb(a){dCb(this.a,a);}
-function xBb(){}
-_=xBb.prototype=new xU();_.wc=ABb;_.tN=Fgc+'PackageBuilderWidget$8';_.tI=379;function CBb(b,a,c){b.a=a;b.b=c;return b;}
-function EBb(a){aJb(this.a.b,this.b.d);}
-function BBb(){}
-_=BBb.prototype=new xU();_.wc=EBb;_.tN=Fgc+'PackageBuilderWidget$9';_.tI=380;function fFb(e,b,c,a,d){tcb(e);e.b=b;e.c=c;e.a=a;e.e=d;uO(e,'package-Editor');e.xe('100%');lFb(e);return e;}
-function hFb(b){var a;a=eL(new dL());a.xe('100%');jL(a,8);vL(a,b.b.d);nL(a,cEb(new bEb(),b,a));iL(a,100);return jFb(b,a);}
-function iFb(b,a){ieb('Saving package configuration. Please wait ...');gVb(EMb(),b.b,uCb(new tCb(),b,a));}
-function jFb(d,a){var b,c;c=FA(new DA());aB(c,a);b=eC(new oB(),'images/max_min.gif');b.pe('Increase view area');aB(c,b);fC(b,EDb(new DDb(),d,a));return c;}
-function kFb(g){var a,b,c,d,e,f,h;a=eL(new dL());a.xe('100%');jL(a,8);iL(a,100);vL(a,g.b.f);nL(a,bDb(new aDb(),g,a));f=FA(new DA());aB(f,a);h=hP(new fP());b=eC(new oB(),'images/max_min.gif');fC(b,fDb(new eDb(),g,a));b.pe('Increase view area.');iP(h,b);e=eC(new oB(),'images/new_import.gif');fC(e,jDb(new iDb(),g,a));iP(h,e);e.pe('Add a new Type/Class import to the package.');d=eC(new oB(),'images/new_global.gif');fC(d,nDb(new mDb(),g,a));d.pe('Add a new global variable declaration.');iP(h,d);c=eC(new oB(),'images/fact_template.gif');fC(c,vDb(new uDb(),g,a));c.pe('Add a new fact template.');f.xe('100%');aB(f,h);return f;}
-function lFb(c){var a,b;zcb(c);ycb(c,sFb(c));vcb(c,'Description:',hFb(c));vcb(c,'Header:',kFb(c));ycb(c,eA(new hx(),'<hr/>'));vcb(c,'Last modified:',CC(new AC(),s0(c.b.i)));vcb(c,'Last contributor:',CC(new AC(),c.b.h));ycb(c,eA(new hx(),'<hr/>'));c.f=dA(new hx());b=FA(new DA());a=odb(new ndb(),'images/edit.gif');a.pe('Change status.');fC(a,qDb(new jCb(),c));aB(b,c.f);if(!c.b.g){aB(b,a);}oFb(c,c.b.l);vcb(c,'Status:',b);if(!c.b.g){ycb(c,nFb(c));}ycb(c,eA(new hx(),'<hr/>'));}
-function mFb(a){ieb('Refreshing package data...');AUb(EMb(),a.b.m,DCb(new CCb(),a));}
-function nFb(f){var a,b,c,d,e;c=FA(new DA());e=qq(new kq(),'Save and validate configuration');e.x(nEb(new mEb(),f));aB(c,e);a=qq(new kq(),'Archive');a.x(rEb(new qEb(),f));aB(c,a);b=qq(new kq(),'Copy');b.x(vEb(new uEb(),f));aB(c,b);d=qq(new kq(),'Rename');d.x(zEb(new yEb(),f));aB(c,d);return c;}
-function oFb(b,a){hA(b.f,'<b>'+a+'<\/b>');}
-function pFb(d){var a,b,c;c=ddb(new Ecb(),'images/new_wiz.gif','Copy the package');fdb(c,eA(new hx(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=zL(new kL());edb(c,'New package name:',a);b=qq(new kq(),'OK');edb(c,'',b);b.x(lCb(new kCb(),d,a,c));c.xe('40%');lF(c,fc(di()/3),fc(ci()/3));oF(c);}
-function qFb(d){var a,b,c;c=ddb(new Ecb(),'images/new_wiz.gif','Rename the package');fdb(c,eA(new hx(),'<i>Rename the package. A new unique name is required.<\/i>'));a=zL(new kL());edb(c,'New package name:',a);b=qq(new kq(),'OK');edb(c,'',b);b.x(DEb(new CEb(),d,a,c));c.xe('40%');lF(c,fc(di()/3),fc(ci()/3));oF(c);}
-function rFb(b,c){var a;a=lfb(new veb(),b.b.m,true);ofb(a,jEb(new iEb(),b,a));lF(a,lO(c),mO(c));oF(a);}
-function sFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=eC(new oB(),'images/warning.gif');a=FA(new DA());aB(a,b);c=eA(new hx(),'<b>There were errors validating this package configuration.');aB(a,c);d=qq(new kq(),'View errors');d.x(fEb(new tDb(),e));aB(a,d);return a;}else{return AH(new sH());}}
-function iCb(){}
-_=iCb.prototype=new rcb();_.tN=Fgc+'PackageEditor';_.tI=381;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function qDb(b,a){b.a=a;return b;}
-function sDb(a){rFb(this.a,a);}
-function jCb(){}
-_=jCb.prototype=new xU();_.wc=sDb;_.tN=Fgc+'PackageEditor$1';_.tI=382;function lCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function nCb(a){mUb(EMb(),this.a.b.j,rL(this.b),pCb(new oCb(),this,this.c));}
-function kCb(){}
-_=kCb.prototype=new xU();_.wc=nCb;_.tN=Fgc+'PackageEditor$10';_.tI=383;function pCb(b,a,c){b.a=a;b.b=c;return b;}
-function rCb(b,a){cHb(b.a.a.e);Ch('Package copied successfully.');b.b.hc();}
-function sCb(a){rCb(this,a);}
-function oCb(){}
-_=oCb.prototype=new hdb();_.md=sCb;_.tN=Fgc+'PackageEditor$11';_.tI=384;function uCb(b,a,c){b.a=a;b.b=c;return b;}
-function wCb(b,a){iHb(b.a.a);b.a.d=bc(a,89);mFb(b.a);ieb('Package configuration updated successfully, refreshing content cache...');wLb((sLb(),xLb),b.a.b.j,zCb(new yCb(),b,b.b));}
-function xCb(a){wCb(this,a);}
-function tCb(){}
-_=tCb.prototype=new hdb();_.md=xCb;_.tN=Fgc+'PackageEditor$12';_.tI=385;function zCb(b,a,c){b.a=c;return b;}
-function BCb(){if(this.a!==null){cHb(this.a);}eeb();}
-function yCb(){}
-_=yCb.prototype=new xU();_.nb=BCb;_.tN=Fgc+'PackageEditor$13';_.tI=386;function DCb(b,a){b.a=a;return b;}
-function FCb(a){eeb();this.a.b=bc(a,19);lFb(this.a);}
-function CCb(){}
-_=CCb.prototype=new hdb();_.md=FCb;_.tN=Fgc+'PackageEditor$14';_.tI=387;function bDb(b,a,c){b.a=a;b.b=c;return b;}
-function dDb(a){this.a.b.f=rL(this.b);EGb(this.a.c);}
-function aDb(){}
-_=aDb.prototype=new xU();_.vc=dDb;_.tN=Fgc+'PackageEditor$16';_.tI=388;function fDb(b,a,c){b.a=c;return b;}
-function hDb(a){if(hL(this.a)!=32){jL(this.a,32);}else{jL(this.a,8);}}
-function eDb(){}
-_=eDb.prototype=new xU();_.wc=hDb;_.tN=Fgc+'PackageEditor$17';_.tI=389;function jDb(b,a,c){b.a=a;b.b=c;return b;}
-function lDb(a){vL(this.b,rL(this.b)+'\n'+'import <your class here>');this.a.b.f=rL(this.b);}
-function iDb(){}
-_=iDb.prototype=new xU();_.wc=lDb;_.tN=Fgc+'PackageEditor$18';_.tI=390;function nDb(b,a,c){b.a=a;b.b=c;return b;}
-function pDb(a){vL(this.b,rL(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=rL(this.b);}
-function mDb(){}
-_=mDb.prototype=new xU();_.wc=pDb;_.tN=Fgc+'PackageEditor$19';_.tI=391;function fEb(b,a){b.a=a;return b;}
-function hEb(a){var b;b=qfb(new pfb(),this.a.d.a,this.a.d.b);lF(b,fc(di()/4),mO(a));oF(b);}
-function tDb(){}
-_=tDb.prototype=new xU();_.wc=hEb;_.tN=Fgc+'PackageEditor$2';_.tI=392;function vDb(b,a,c){b.a=a;b.b=c;return b;}
-function xDb(a){var b;b=zyb(new qyb());lF(b,lO(a)-400,mO(a)-250);Dyb(b,zDb(new yDb(),this,this.b,b));oF(b);}
-function uDb(){}
-_=uDb.prototype=new xU();_.wc=xDb;_.tN=Fgc+'PackageEditor$20';_.tI=393;function zDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function BDb(a){vL(a.b,rL(a.b)+'\n'+Cyb(a.c));a.a.a.b.f=rL(a.b);}
-function CDb(){BDb(this);}
-function yDb(){}
-_=yDb.prototype=new xU();_.nb=CDb;_.tN=Fgc+'PackageEditor$21';_.tI=394;function EDb(b,a,c){b.a=c;return b;}
-function aEb(a){if(hL(this.a)!=32){jL(this.a,32);}else{jL(this.a,8);}}
-function DDb(){}
-_=DDb.prototype=new xU();_.wc=aEb;_.tN=Fgc+'PackageEditor$22';_.tI=395;function cEb(b,a,c){b.a=a;b.b=c;return b;}
-function eEb(a){this.a.b.d=rL(this.b);EGb(this.a.c);}
-function bEb(){}
-_=bEb.prototype=new xU();_.vc=eEb;_.tN=Fgc+'PackageEditor$23';_.tI=396;function jEb(b,a,c){b.a=a;b.b=c;return b;}
-function lEb(){oFb(this.a,this.b.c);}
-function iEb(){}
-_=iEb.prototype=new xU();_.nb=lEb;_.tN=Fgc+'PackageEditor$3';_.tI=397;function nEb(b,a){b.a=a;return b;}
-function pEb(a){iFb(this.a,null);}
-function mEb(){}
-_=mEb.prototype=new xU();_.wc=pEb;_.tN=Fgc+'PackageEditor$4';_.tI=398;function rEb(b,a){b.a=a;return b;}
-function tEb(a){if(Eh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;iFb(this.a,this.a.e);}}
-function qEb(){}
-_=qEb.prototype=new xU();_.wc=tEb;_.tN=Fgc+'PackageEditor$5';_.tI=399;function vEb(b,a){b.a=a;return b;}
-function xEb(a){pFb(this.a);}
-function uEb(){}
-_=uEb.prototype=new xU();_.wc=xEb;_.tN=Fgc+'PackageEditor$6';_.tI=400;function zEb(b,a){b.a=a;return b;}
-function BEb(a){qFb(this.a);}
-function yEb(){}
-_=yEb.prototype=new xU();_.wc=BEb;_.tN=Fgc+'PackageEditor$7';_.tI=401;function DEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function FEb(a){eVb(EMb(),this.a.b.m,rL(this.b),bFb(new aFb(),this,this.c));}
-function CEb(){}
-_=CEb.prototype=new xU();_.wc=FEb;_.tN=Fgc+'PackageEditor$8';_.tI=402;function bFb(b,a,c){b.a=a;b.b=c;return b;}
-function dFb(b,a){cHb(b.a.a.e);Ch('Package renamed successfully.');b.b.hc();}
-function eFb(a){dFb(this,a);}
-function aFb(){}
-_=aFb.prototype=new hdb();_.md=eFb;_.tN=Fgc+'PackageEditor$9';_.tI=403;function qIb(a){a.f=aHb(new uFb(),a);}
-function rIb(b,a){sIb(b,a,null,null);return b;}
-function sIb(g,b,h,f){var a,c,d,e;qIb(g);g.b=b;g.h=h;g.c=jN(new CL());g.d=kbb(new ibb());g.g=new eHb();nN(g.c,g.g);e=hP(new fP());if(f===null){a=lu(new fu());Ex(a.n,0,0,'new-asset-Icons');Bx(a.n,0,0,(oA(),pA),(xA(),zA));a.ve(0,0,vIb(g));iP(e,a);a.xe('100%');}iP(e,g.c);nbb(g.d,0,0,e);c=ou(g.d);Fx(c,0,0,(xA(),AA));ku(ou(g.d),0,1,2);Bx(ou(g.d),0,1,(oA(),pA),(xA(),AA));zIb(g);d=vN(g.c,0);if(d!==null)FN(g.c,d);nbb(g.d,0,1,eA(new hx(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));by(ou(g.d),0,0,'25%');Bx(ou(g.d),0,1,(oA(),qA),(xA(),AA));g.e=Bdc(new Fcc(),g.b,'rulelist');gs(g,g.d);return g;}
-function tIb(d,a,c){var b;b=yIb(d,a.j,'images/package.gif',oIb(new nIb(),hGb(new gGb(),d,a)));b.y(yIb(d,'Business rule assets','images/rule_asset.gif',AIb(d,a.m,(bab(),cab))));b.y(yIb(d,'Technical rule assets','images/technical_rule_assets.gif',AIb(d,a.m,(bab(),eab))));b.y(yIb(d,'Functions','images/function_assets.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['function']))));b.y(yIb(d,'DSL','images/dsl.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['dsl']))));b.y(yIb(d,'Model','images/model_asset.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['jar']))));lN(d.c,b);if(c){aO(d.c,b,true);}}
-function vIb(h){var a,b,c,d,e,f,g,i;g=FA(new DA());d=eC(new oB(),'images/new_package.gif');d.pe('Create a new package');fC(d,sHb(new rHb(),h));i=odb(new ndb(),'images/model_asset.gif');fC(i,wHb(new vHb(),h));i.pe('This creates a new model archive - models contain classes/types that rules use.');e=odb(new ndb(),'images/new_rule.gif');e.pe('Create new rule');fC(e,AHb(new zHb(),h));c=odb(new ndb(),'images/function_assets.gif');c.pe('Create a new function');fC(c,cIb(new bIb(),h));a=odb(new ndb(),'images/dsl.gif');a.pe('Create a new DSL (language configuration)');fC(a,gIb(new fIb(),h));f=odb(new ndb(),'images/ruleflow_small.gif');f.pe('Upload a new ruleflow.');fC(f,kIb(new jIb(),h));b=odb(new ndb(),'images/new_enumeration.gif');b.pe('Create a new data enumeration (drop down list)');fC(b,wFb(new vFb(),h));aB(g,d);aB(g,i);aB(g,e);aB(g,c);aB(g,a);aB(g,f);aB(g,b);return g;}
-function wIb(d,a,e){var b,c,f;b=70;f=100;c=i8b(new y7b(),lHb(new kHb(),d),false,a,e,d.a);lF(c,fc((fbb()-gF(c))/2),100);oF(c);}
-function xIb(a,b){ieb('Loading package information ...');AUb(EMb(),b,uGb(new tGb(),a));}
-function yIb(e,d,b,a){var c;c=oM(new mM());wM(c,'<img src="'+b+'">'+d+'<\/a>');CM(c,a);return c;}
-function zIb(a){if(a.h===null){ieb('Loading list of packages ...');uUb(EMb(),AFb(new zFb(),a));}else{ieb('Loading package ...');AUb(EMb(),a.h,EFb(new DFb(),a));}}
-function AIb(c,d,b){var a;a=lGb(new kGb(),c);return oIb(new nIb(),qGb(new pGb(),c,d,b,a));}
-function BIb(b,c){var a;a=bAb(new ezb(),cGb(new bGb(),b));lF(a,fc((fbb()-gF(a))/2),100);oF(a);}
-function tFb(){}
-_=tFb.prototype=new bbb();_.tN=Fgc+'PackageExplorerWidget';_.tI=404;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function aHb(b,a){b.a=a;return b;}
-function cHb(a){zIb(a.a);}
-function dHb(){cHb(this);}
-function uFb(){}
-_=uFb.prototype=new xU();_.nb=dHb;_.tN=Fgc+'PackageExplorerWidget$1';_.tI=405;function wFb(b,a){b.a=a;return b;}
-function yFb(a){wIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
-function vFb(){}
-_=vFb.prototype=new xU();_.wc=yFb;_.tN=Fgc+'PackageExplorerWidget$10';_.tI=406;function AFb(b,a){b.a=a;return b;}
-function CFb(a){var b,c;c=bc(a,71);oN(this.a.c);for(b=0;b<c.a;b++){if(b==0){tIb(this.a,c[b],true);}else{tIb(this.a,c[b],false);}}eeb();}
-function zFb(){}
-_=zFb.prototype=new hdb();_.md=CFb;_.tN=Fgc+'PackageExplorerWidget$11';_.tI=407;function EFb(b,a){b.a=a;return b;}
-function aGb(a){var b;b=bc(a,19);oN(this.a.c);tIb(this.a,b,true);eeb();}
-function DFb(){}
-_=DFb.prototype=new hdb();_.md=aGb;_.tN=Fgc+'PackageExplorerWidget$12';_.tI=408;function cGb(b,a){b.a=a;return b;}
-function eGb(a){zIb(a.a);}
-function fGb(){eGb(this);}
-function bGb(){}
-_=bGb.prototype=new xU();_.nb=fGb;_.tN=Fgc+'PackageExplorerWidget$13';_.tI=409;function hGb(b,a,c){b.a=a;b.b=c;return b;}
-function jGb(){if(this.a.lc()){if(Eh('Discard Changes ? ')){ebb(this.a);xIb(this.a,this.b.m);}}else{xIb(this.a,this.b.m);}}
-function gGb(){}
-_=gGb.prototype=new xU();_.nb=jGb;_.tN=Fgc+'PackageExplorerWidget$14';_.tI=410;function lGb(b,a){b.a=a;return b;}
-function nGb(c,a){var b;b=bc(a,62);aec(c.a.e,b);c.a.e.xe('100%');nbb(c.a.d,0,1,c.a.e);Bx(ou(c.a.d),0,1,(oA(),qA),(xA(),AA));eeb();}
-function oGb(a){nGb(this,a);}
-function kGb(){}
-_=kGb.prototype=new hdb();_.md=oGb;_.tN=Fgc+'PackageExplorerWidget$15';_.tI=411;function qGb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
-function sGb(){ieb('Loading list, please wait...');tUb(EMb(),this.c,this.b,(-1),(-1),this.a);}
-function pGb(){}
-_=pGb.prototype=new xU();_.nb=sGb;_.tN=Fgc+'PackageExplorerWidget$16';_.tI=412;function uGb(b,a){b.a=a;return b;}
-function wGb(c){var a,b,d,e,f,g,h,i;b=bc(c,19);g=qI(new pI());this.a.a=b.j;e=ucb(new rcb(),'images/package_large.png',b.j);uO(e,'package-Editor');e.xe('100%');vcb(e,'Description:',CC(new AC(),b.d));vcb(e,'Date created:',CC(new AC(),s0(b.c)));if(b.g){vcb(e,'Snapshot created on:',CC(new AC(),s0(b.i)));vcb(e,'Snapshot comment:',CC(new AC(),b.b));h=gCb(b);d=eA(new hx(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");vcb(e,'Download package:',d);vcb(e,'Package URI:',CC(new AC(),h));i=qq(new kq(),'View package source');i.x(yGb(new xGb(),this,b));vcb(e,'Show package source:',i);}if(!b.g){ycb(e,eA(new hx(),'<i>Choose one of the options below<\/i>'));}f=CGb(new BGb(),this);a=gHb(new fHb(),this);sI(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){sI(g,fFb(new iCb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);sI(g,FBb(new fAb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{sI(!
 g,fFb(new iCb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.xe('100%');nbb(this.a.d,0,1,g);eeb();}
-function tGb(){}
-_=tGb.prototype=new hdb();_.md=wGb;_.tN=Fgc+'PackageExplorerWidget$17';_.tI=413;function yGb(b,a,c){b.a=c;return b;}
-function AGb(a){fCb(this.a.m,this.a.j);}
-function xGb(){}
-_=xGb.prototype=new xU();_.wc=AGb;_.tN=Fgc+'PackageExplorerWidget$18';_.tI=414;function CGb(b,a){b.a=a;return b;}
-function EGb(a){dbb(a.a.a);}
-function FGb(){EGb(this);}
-function BGb(){}
-_=BGb.prototype=new xU();_.nb=FGb;_.tN=Fgc+'PackageExplorerWidget$19';_.tI=415;function pHb(c){var a,b;a=bc(c.k,90);b=a.a;ieb('Please wait...');ig(b);}
-function qHb(a){}
-function eHb(){}
-_=eHb.prototype=new xU();_.od=pHb;_.pd=qHb;_.tN=Fgc+'PackageExplorerWidget$2';_.tI=416;function gHb(b,a){b.a=a;return b;}
-function iHb(a){ebb(a.a.a);}
-function jHb(){iHb(this);}
-function fHb(){}
-_=fHb.prototype=new xU();_.nb=jHb;_.tN=Fgc+'PackageExplorerWidget$20';_.tI=417;function lHb(b,a){b.a=a;return b;}
-function nHb(a){aJb(this.a.b,a);}
-function kHb(){}
-_=kHb.prototype=new xU();_.td=nHb;_.tN=Fgc+'PackageExplorerWidget$21';_.tI=418;function sHb(b,a){b.a=a;return b;}
-function uHb(a){BIb(this.a,a);}
-function rHb(){}
-_=rHb.prototype=new xU();_.wc=uHb;_.tN=Fgc+'PackageExplorerWidget$3';_.tI=419;function wHb(b,a){b.a=a;return b;}
-function yHb(a){wIb(this.a,'jar','Create a new model archive');}
-function vHb(){}
-_=vHb.prototype=new xU();_.wc=yHb;_.tN=Fgc+'PackageExplorerWidget$4';_.tI=420;function AHb(b,a){b.a=a;return b;}
-function CHb(d){var a,b,c;a=70;c=100;b=i8b(new y7b(),EHb(new DHb(),this),true,null,'Create a new rule asset',this.a.a);lF(b,fc((fbb()-gF(b))/2),100);oF(b);}
-function zHb(){}
-_=zHb.prototype=new xU();_.wc=CHb;_.tN=Fgc+'PackageExplorerWidget$5';_.tI=421;function EHb(b,a){b.a=a;return b;}
-function aIb(a){aJb(this.a.a.b,a);}
-function DHb(){}
-_=DHb.prototype=new xU();_.td=aIb;_.tN=Fgc+'PackageExplorerWidget$6';_.tI=422;function cIb(b,a){b.a=a;return b;}
-function eIb(a){wIb(this.a,'function','Create a new function');}
-function bIb(){}
-_=bIb.prototype=new xU();_.wc=eIb;_.tN=Fgc+'PackageExplorerWidget$7';_.tI=423;function gIb(b,a){b.a=a;return b;}
-function iIb(a){wIb(this.a,'dsl','Create a new language configuration');}
-function fIb(){}
-_=fIb.prototype=new xU();_.wc=iIb;_.tN=Fgc+'PackageExplorerWidget$8';_.tI=424;function kIb(b,a){b.a=a;return b;}
-function mIb(a){wIb(this.a,'rf','Create a new ruleflow');}
-function jIb(){}
-_=jIb.prototype=new xU();_.wc=mIb;_.tN=Fgc+'PackageExplorerWidget$9';_.tI=425;function oIb(b,a){b.a=a;return b;}
-function nIb(){}
-_=nIb.prototype=new xU();_.tN=Fgc+'PackageExplorerWidget$PackageTreeItem';_.tI=426;_.a=null;function cJb(a){a.a=(FZ(),a0);}
-function dJb(a){eJb(a,null,null);return a;}
-function eJb(e,c,d){var a,b;cJb(e);e.b=sK(new eK());e.b.xe('100%');e.b.ne('30%');a=EIb(new DIb(),e,d);b=null;if(c===null){b=rIb(new tFb(),a);}else{b=sIb(new tFb(),a,c,d);}tK(e.b,b,"<img src='images/explore.gif'/>Explore",true);zK(e.b,0);gs(e,e.b);return e;}
-function gJb(b,a){b.a=a;}
-function CIb(){}
-_=CIb.prototype=new es();_.tN=Fgc+'PackageManagerView';_.tI=427;_.b=null;function EIb(b,a,c){b.a=a;b.b=c;return b;}
-function aJb(b,a){u5b(b.a.a,b.a.b,a,b.b!==null);}
-function bJb(a){aJb(this,a);}
-function DIb(){}
-_=DIb.prototype=new xU();_.td=bJb;_.tN=Fgc+'PackageManagerView$1';_.tI=428;function FKb(b){var a,c;b.a=lu(new fu());b.c=sK(new eK());b.c.xe('100%');b.c.ne('100%');c=hP(new fP());iP(c,b.a);a=qq(new kq(),'Rebuild snapshot binaries');a.pe('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new iJb());iP(c,a);tK(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);by(b.a.n,0,0,'28%');b.b=EMb();hLb(b);b.a.xe('100%');gs(b,b.c);zK(b.c,0);return b;}
-function aLb(h,c){var a,b,d,e,f,g;g=jN(new CL());d=hP(new fP());for(a=0;a<c.a;a++){e=c[a].j;b=fLb(h,e,'images/package_snapshot.gif',iKb(new hKb(),h,e));lN(g,b);}iP(d,g);f=eA(new hx(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");DC(f,mKb(new lKb(),h));nN(g,new pKb());mP(d,(xA(),AA));lP(d,(oA(),qA));iP(d,f);uO(d,'snapshot-List');h.a.ve(0,0,d);Fx(h.a.n,0,0,(xA(),AA));}
-function cLb(g,e,f){var a,b,c,d;c=ddb(new Ecb(),'images/snapshot.png','Copy snapshot '+f);a=zL(new kL());edb(c,'New label:',a);d=qq(new kq(),'OK');edb(c,'',d);d.x(yKb(new xKb(),g,e,f,a,c));b=qq(new kq(),'Copy');b.x(kJb(new jJb(),g,c));return b;}
-function dLb(d,c,b){var a;a=qq(new kq(),'Delete');a.x(sJb(new rJb(),d,c,b));return a;}
-function eLb(d,b,c,e){var a;a=qq(new kq(),'Open');a.x(oJb(new nJb(),d,b,c,e));return a;}
-function fLb(e,d,b,a){var c;c=oM(new mM());wM(c,'<img src="'+b+'">'+d+'<\/a>');CM(c,a);return c;}
-function gLb(g,e,f,h){var a,b,c,d,i;i=lu(new fu());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=FA(new DA());aB(c,eA(new hx(),d));a=odb(new ndb(),'images/close.gif');a.pe('Close this view');fC(a,AJb(new zJb(),g));aB(c,a);i.ve(0,0,c);b=ou(i);Ex(b,0,0,'editable-Surface');i.ve(1,0,eJb(new CIb(),h,f));i.xe('100%');i.ne('100%');if(g.c.a.f.c>1){yK(g.c,1);}tK(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);zK(g.c,1);}
-function hLb(a){ieb('Loading package list...');uUb(a.b,eKb(new dKb(),a));}
-function iLb(h,d,b){var a,c,e,f,g;e=ucb(new rcb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=lu(new fu());yz(g,0,1,'Name');yz(g,0,2,'Comment');ly(g.p,0,igc);for(a=0;a<b.a;a++){f=a+1;c=CC(new AC(),b[a].b);g.ve(f,0,eC(new oB(),'images/package_snapshot_item.gif'));g.ve(f,1,c);g.ve(f,2,CC(new AC(),b[a].a));g.ve(f,3,eLb(h,d,aD(c),b[a].c));g.ve(f,4,cLb(h,d,aD(c)));g.ve(f,5,dLb(h,aD(c),d));if(a%2==0){ly(g.p,a+1,ggc);}}e.xe('100%');ycb(e,g);g.xe('100%');uO(e,hgc);h.a.ve(0,1,e);Fx(ou(h.a),0,1,(xA(),AA));}
-function jLb(b,a){ieb('Loading snapshots...');vUb(b.b,a,uKb(new tKb(),b,a));}
-function hJb(){}
-_=hJb.prototype=new es();_.tN=Fgc+'PackageSnapshotView';_.tI=429;_.a=null;_.b=null;_.c=null;function EJb(a){if(Eh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){ieb('Rebuilding snapshots. Please wait, this may take some time...');aVb(EMb(),new FJb());}}
-function iJb(){}
-_=iJb.prototype=new xU();_.wc=EJb;_.tN=Fgc+'PackageSnapshotView$1';_.tI=430;function kJb(b,a,c){b.a=c;return b;}
-function mJb(a){lF(this.a,fc((fbb()-gF(this.a))/2),100);oF(this.a);}
-function jJb(){}
-_=jJb.prototype=new xU();_.wc=mJb;_.tN=Fgc+'PackageSnapshotView$10';_.tI=431;function oJb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
-function qJb(a){gLb(this.a,this.b,this.c,this.d);}
-function nJb(){}
-_=nJb.prototype=new xU();_.wc=qJb;_.tN=Fgc+'PackageSnapshotView$11';_.tI=432;function sJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function uJb(b){var a;a=Eh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{lUb(this.a.b,this.b,this.c,true,null,wJb(new vJb(),this,this.b));}}
-function rJb(){}
-_=rJb.prototype=new xU();_.wc=uJb;_.tN=Fgc+'PackageSnapshotView$12';_.tI=433;function wJb(b,a,c){b.a=a;b.b=c;return b;}
-function yJb(a){jLb(this.a.a,this.b);}
-function vJb(){}
-_=vJb.prototype=new hdb();_.md=yJb;_.tN=Fgc+'PackageSnapshotView$13';_.tI=434;function AJb(b,a){b.a=a;return b;}
-function CJb(a){yK(this.a.c,1);zK(this.a.c,0);}
-function zJb(){}
-_=zJb.prototype=new xU();_.wc=CJb;_.tN=Fgc+'PackageSnapshotView$14';_.tI=435;function bKb(b,a){eeb();Ch('Snapshots were rebuilt successfully.');}
-function cKb(a){bKb(this,a);}
-function FJb(){}
-_=FJb.prototype=new hdb();_.md=cKb;_.tN=Fgc+'PackageSnapshotView$2';_.tI=436;function eKb(b,a){b.a=a;return b;}
-function gKb(a){var b;b=bc(a,71);aLb(this.a,b);eeb();}
-function dKb(){}
-_=dKb.prototype=new hdb();_.md=gKb;_.tN=Fgc+'PackageSnapshotView$3';_.tI=437;function iKb(b,a,c){b.a=a;b.b=c;return b;}
-function kKb(){jLb(this.a,this.b);}
-function hKb(){}
-_=hKb.prototype=new xU();_.nb=kKb;_.tN=Fgc+'PackageSnapshotView$4';_.tI=438;function mKb(b,a){b.a=a;return b;}
-function oKb(a){hLb(this.a);}
-function lKb(){}
-_=lKb.prototype=new xU();_.wc=oKb;_.tN=Fgc+'PackageSnapshotView$5';_.tI=439;function rKb(a){ig(bc(a.k,4));}
-function sKb(a){}
-function pKb(){}
-_=pKb.prototype=new xU();_.od=rKb;_.pd=sKb;_.tN=Fgc+'PackageSnapshotView$6';_.tI=440;function uKb(b,a,c){b.a=a;b.b=c;return b;}
-function wKb(a){var b;b=bc(a,86);iLb(this.a,this.b,b);eeb();}
-function tKb(){}
-_=tKb.prototype=new hdb();_.md=wKb;_.tN=Fgc+'PackageSnapshotView$7';_.tI=441;function yKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
-function AKb(a){lUb(this.a.b,this.d,this.e,false,rL(this.b),CKb(new BKb(),this,this.d,this.c));}
-function xKb(){}
-_=xKb.prototype=new xU();_.wc=AKb;_.tN=Fgc+'PackageSnapshotView$8';_.tI=442;function CKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function EKb(a){jLb(this.a.a,this.c);this.b.hc();}
-function BKb(){}
-_=BKb.prototype=new hdb();_.md=EKb;_.tN=Fgc+'PackageSnapshotView$9';_.tI=443;function sLb(){sLb=v3;xLb=rLb(new kLb());}
-function qLb(a){a.a=C1(new a1());}
-function rLb(a){sLb();qLb(a);return a;}
-function tLb(c,b,a){if(!F1(c.a,b)){vLb(c,b,a);}else{h5b(a);}}
-function uLb(c,b){var a;a=bc(c2(c.a,b),91);if(a===null){jcb('Unable to get content assistance for this rule.');return null;}return a;}
-function vLb(c,b,a){kW(),nW;DUb(EMb(),b,mLb(new lLb(),c,b,a));}
-function wLb(c,b,a){if(F1(c.a,b)){e2(c.a,b);vLb(c,b,a);}else{a.nb();}}
-function kLb(){}
-_=kLb.prototype=new xU();_.tN=Fgc+'SuggestionCompletionCache';_.tI=444;var xLb;function mLb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
-function oLb(c,a){var b;b=bc(a,91);d2(c.a.a,c.c,b);c.b.nb();}
-function pLb(a){oLb(this,a);}
-function lLb(){}
-_=lLb.prototype=new hdb();_.md=pLb;_.tN=Fgc+'SuggestionCompletionCache$1';_.tI=445;function ELb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
-function yLb(){}
-_=yLb.prototype=new xU();_.tS=ELb;_.tN=ahc+'BuilderResult';_.tI=446;_.a=null;_.b=null;_.c=null;_.d=null;function CLb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();}
-function DLb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);}
-function FLb(){}
-_=FLb.prototype=new fm();_.tN=ahc+'DetailedSerializableException';_.tI=447;_.a=null;function dMb(b,a){gMb(a,b.Bd());jm(b,a);}
-function eMb(a){return a.a;}
-function fMb(b,a){b.cf(eMb(a));lm(b,a);}
-function gMb(a,b){a.a=b;}
-function iMb(a){a.a=Ab('[Ljava.lang.String;',[610],[1],[0],null);}
-function jMb(a){iMb(a);return a;}
-function kMb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(qV(e.a[b],a))return;}c=e.a;d=Ab('[Ljava.lang.String;',[610],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
-function mMb(e,b){var a,c,d;d=Ab('[Ljava.lang.String;',[610],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
-function hMb(){}
-_=hMb.prototype=new xU();_.tN=ahc+'MetaData';_.tI=448;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function pMb(b,a){a.a=bc(b.Ad(),63);a.b=b.Bd();a.c=b.Bd();a.d=bc(b.Ad(),59);a.e=b.Bd();a.f=bc(b.Ad(),59);a.g=bc(b.Ad(),59);a.h=b.Bd();a.i=b.Bd();a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=bc(b.Ad(),59);a.n=b.Bd();a.o=b.Bd();a.p=b.Bd();a.q=b.Bd();a.r=b.Bd();a.s=b.Bd();a.t=b.Bd();a.u=b.Bd();a.v=b.zd();}
-function qMb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.bf(a.d);b.cf(a.e);b.bf(a.f);b.bf(a.g);b.cf(a.h);b.cf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.bf(a.m);b.cf(a.n);b.cf(a.o);b.cf(a.p);b.cf(a.q);b.cf(a.r);b.cf(a.s);b.cf(a.t);b.cf(a.u);b.af(a.v);}
-function rMb(){}
-_=rMb.prototype=new xU();_.tN=ahc+'PackageConfigData';_.tI=449;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function vMb(b,a){a.a=b.wd();a.b=b.Bd();a.c=bc(b.Ad(),59);a.d=b.Bd();a.e=b.Bd();a.f=b.Bd();a.g=b.wd();a.h=b.Bd();a.i=bc(b.Ad(),59);a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=b.Bd();}
-function wMb(b,a){b.De(a.a);b.cf(a.b);b.bf(a.c);b.cf(a.d);b.cf(a.e);b.cf(a.f);b.De(a.g);b.cf(a.h);b.bf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.cf(a.m);}
-function CMb(){var a,b,c;c=BSb(new bNb());a=c;b=w()+'jbrmsService';hVb(a,b);return c;}
-function DMb(){var a,b,c;c=jYb(new EXb());a=c;b=w()+'jbrmsService';pYb(a,b);return c;}
-function EMb(){if(BMb===null){FMb();}return BMb;}
-function FMb(){if(AMb)BMb=null;else BMb=CMb();}
-function aNb(d,b,a){var c;c=DMb();oYb(c,d,b,a);}
-var AMb=false,BMb=null;function jUb(){jUb=v3;iVb=kVb(new jVb());}
-function BSb(a){jUb();return a;}
-function CSb(b,a,c,d){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'archiveAsset');mo(a,2);oo(a,'java.lang.String');oo(a,'Z');oo(a,c);lo(a,d);}
-function ESb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildAsset');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
-function DSb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildAssetSource');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
-function aTb(d,c,a,b){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'buildPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,a);oo(c,b);}
-function FSb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildPackageSource');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function bTb(d,c,e,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'changeAssetPackage');mo(c,3);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,e);oo(c,b);oo(c,a);}
-function cTb(c,b,d,a,e){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'changeState');mo(b,3);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,'Z');oo(b,d);oo(b,a);lo(b,e);}
-function dTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'checkinVersion');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
-function eTb(e,d,a,c,b){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'copyAsset');mo(d,3);oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,a);oo(d,c);oo(d,b);}
-function fTb(f,e,c,d,a,b){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'copyOrRemoveSnapshot');mo(e,4);oo(e,'java.lang.String');oo(e,'java.lang.String');oo(e,'Z');oo(e,'java.lang.String');oo(e,c);oo(e,d);lo(e,a);oo(e,b);}
-function gTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'copyPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
-function hTb(e,d,c,b,a){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'createCategory');mo(d,3);oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,c);oo(d,b);oo(d,a);}
-function iTb(g,f,e,a,c,d,b){if(g.a===null)throw um(new tm());rp(f);oo(f,'org.drools.brms.client.rpc.RepositoryService');oo(f,'createNewRule');mo(f,5);oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,e);oo(f,a);oo(f,c);oo(f,d);oo(f,b);}
-function kTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'createPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
-function jTb(f,e,b,d,c,a){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'createPackageSnapshot');mo(e,4);oo(e,'java.lang.String');oo(e,'java.lang.String');oo(e,'Z');oo(e,'java.lang.String');oo(e,b);oo(e,d);lo(e,c);oo(e,a);}
-function lTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'createState');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function mTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'deleteUncheckedRule');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
-function nTb(f,e,c,a,b,d){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'listAssets');mo(e,4);oo(e,'java.lang.String');oo(e,'[Ljava.lang.String;');oo(e,'I');oo(e,'I');oo(e,c);no(e,a);mo(e,b);mo(e,d);}
-function oTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'listPackages');mo(a,0);}
-function pTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'listSnapshots');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function qTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'listStates');mo(a,0);}
-function rTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadArchivedAssets');mo(a,0);}
-function sTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadAssetHistory');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
-function tTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadChildCategories');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function uTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadPackageConfig');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
-function vTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadRuleAsset');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function wTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadRuleListForCategories');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function xTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadSuggestionCompletionEngine');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function yTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadTableConfig');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function zTb(e,d,c,a,b){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'quickFindAsset');mo(d,3);oo(d,'java.lang.String');oo(d,'I');oo(d,'Z');oo(d,c);mo(d,a);lo(d,b);}
-function ATb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'rebuildSnapshots');mo(a,0);}
-function BTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'removeAsset');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
-function CTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'removeCategory');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
-function DTb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'renameAsset');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
-function ETb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'renamePackage');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
-function FTb(d,c,e,a,b){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'restoreVersion');mo(c,3);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,e);oo(c,a);oo(c,b);}
-function aUb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'savePackage');mo(b,1);oo(b,'org.drools.brms.client.rpc.PackageConfigData');no(b,a);}
-function bUb(h,i,j,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{CSb(h,g,i,j);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=qOb(new cNb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=hQb(new uOb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=ERb(new lQb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fUb(j,f,g,c){var a,d,e,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{aTb(j,i,f,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=dSb(new cSb(),j,h,c);if(!zg(j.a,up(i),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{FSb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=iSb(new hSb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gUb(j,k,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{bTb(j,i,k,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=nSb(new mSb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hUb(i,j,f,k,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{cTb(i,h,j,f,k);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=sSb(new rSb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function iUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{dTb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=xSb(new wSb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function kUb(k,c,h,g,d){var a,e,f,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{eTb(k,j,c,h,g);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=eNb(new dNb(),k,i,d);if(!zg(k.a,up(j),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function lUb(l,h,i,d,g,c){var a,e,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{fTb(l,k,h,i,d,g);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=jNb(new iNb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function mUb(j,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{gTb(j,i,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=oNb(new nNb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function nUb(k,h,g,d,c){var a,e,f,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{hTb(k,j,h,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=tNb(new sNb(),k,i,c);if(!zg(k.a,up(j),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oUb(m,j,d,h,i,f,c){var a,e,g,k,l;k=Ao(new zo(),iVb);l=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{iTb(m,l,j,d,h,i,f);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}g=yNb(new xNb(),m,k,c);if(!zg(m.a,up(l),g))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function qUb(j,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{kTb(j,i,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=DNb(new CNb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pUb(l,g,i,h,d,c){var a,e,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{jTb(l,k,g,i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=cOb(new bOb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function rUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=hOb(new gOb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function sUb(j,g,f,c){var a,d,e,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{mTb(j,i,g,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=mOb(new lOb(),j,h,c);if(!zg(j.a,up(i),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function tUb(l,h,e,g,i,c){var a,d,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{nTb(l,k,h,e,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}f=wOb(new vOb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function uUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{oTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=BOb(new AOb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function vUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{pTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=aPb(new FOb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function wUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{qTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=fPb(new ePb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function xUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{rTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=kPb(new jPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function yUb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{sTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=pPb(new oPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function zUb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{tTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=uPb(new tPb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function AUb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{uTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=zPb(new yPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function BUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{vTb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=EPb(new DPb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function CUb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{wTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=dQb(new cQb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function DUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{xTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=nQb(new mQb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function EUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{yTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=sQb(new rQb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function FUb(k,h,f,g,c){var a,d,e,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{zTb(k,j,h,f,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=xQb(new wQb(),k,i,c);if(!zg(k.a,up(j),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function aVb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ATb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=CQb(new BQb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function bVb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{BTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=bRb(new aRb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function cVb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{CTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=gRb(new fRb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function dVb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{DTb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=lRb(new kRb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function eVb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ETb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=qRb(new pRb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function fVb(j,k,c,e,d){var a,f,g,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{FTb(j,i,k,c,e);}catch(a){a=mc(a);if(cc(a,92)){f=a;jdb(d,f);return;}else throw a;}g=vRb(new uRb(),j,h,d);if(!zg(j.a,up(i),g))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function gVb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{aUb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=ARb(new zRb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function hVb(b,a){b.a=a;}
-function bNb(){}
-_=bNb.prototype=new xU();_.tN=ahc+'RepositoryService_Proxy';_.tI=450;_.a=null;var iVb;function qOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)x7(g.a,f);else jdb(g.a,c);}
-function tOb(a){var b;b=y;sOb(this,a);}
-function cNb(){}
-_=cNb.prototype=new xU();_.xc=tOb;_.tN=ahc+'RepositoryService_Proxy$1';_.tI=451;function eNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function gNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)p1b(g.a,f);else jdb(g.a,c);}
-function hNb(a){var b;b=y;gNb(this,a);}
-function dNb(){}
-_=dNb.prototype=new xU();_.xc=hNb;_.tN=ahc+'RepositoryService_Proxy$10';_.tI=452;function jNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function lNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function mNb(a){var b;b=y;lNb(this,a);}
-function iNb(){}
-_=iNb.prototype=new xU();_.xc=mNb;_.tN=ahc+'RepositoryService_Proxy$11';_.tI=453;function oNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function qNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)rCb(g.a,f);else jdb(g.a,c);}
-function rNb(a){var b;b=y;qNb(this,a);}
-function nNb(){}
-_=nNb.prototype=new xU();_.xc=rNb;_.tN=ahc+'RepositoryService_Proxy$12';_.tI=454;function tNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function vNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)C$(g.a,f);else jdb(g.a,c);}
-function wNb(a){var b;b=y;vNb(this,a);}
-function sNb(){}
-_=sNb.prototype=new xU();_.xc=wNb;_.tN=ahc+'RepositoryService_Proxy$13';_.tI=455;function yNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function ANb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)e8b(g.a,f);else jdb(g.a,c);}
-function BNb(a){var b;b=y;ANb(this,a);}
-function xNb(){}
-_=xNb.prototype=new xU();_.xc=BNb;_.tN=ahc+'RepositoryService_Proxy$14';_.tI=456;function DNb(b,a,d,c){b.b=d;b.a=c;return b;}
-function FNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)vzb(g.a,f);else jdb(g.a,c);}
-function aOb(a){var b;b=y;FNb(this,a);}
-function CNb(){}
-_=CNb.prototype=new xU();_.xc=aOb;_.tN=ahc+'RepositoryService_Proxy$15';_.tI=457;function cOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function eOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)wAb(g.a,f);else jdb(g.a,c);}
-function fOb(a){var b;b=y;eOb(this,a);}
-function bOb(){}
-_=bOb.prototype=new xU();_.xc=fOb;_.tN=ahc+'RepositoryService_Proxy$16';_.tI=458;function hOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)j$(g.a,f);else jdb(g.a,c);}
-function kOb(a){var b;b=y;jOb(this,a);}
-function gOb(){}
-_=gOb.prototype=new xU();_.xc=kOb;_.tN=ahc+'RepositoryService_Proxy$17';_.tI=459;function mOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function oOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f_b(g.a,f);else jdb(g.a,c);}
-function pOb(a){var b;b=y;oOb(this,a);}
-function lOb(){}
-_=lOb.prototype=new xU();_.xc=pOb;_.tN=ahc+'RepositoryService_Proxy$18';_.tI=460;function hQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function jQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)i9b(g.a,f);else jdb(g.a,c);}
-function kQb(a){var b;b=y;jQb(this,a);}
-function uOb(){}
-_=uOb.prototype=new xU();_.xc=kQb;_.tN=ahc+'RepositoryService_Proxy$2';_.tI=461;function wOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function yOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)nGb(g.a,f);else jdb(g.a,c);}
-function zOb(a){var b;b=y;yOb(this,a);}
-function vOb(){}
-_=vOb.prototype=new xU();_.xc=zOb;_.tN=ahc+'RepositoryService_Proxy$20';_.tI=462;function BOb(b,a,d,c){b.b=d;b.a=c;return b;}
-function DOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function EOb(a){var b;b=y;DOb(this,a);}
-function AOb(){}
-_=AOb.prototype=new xU();_.xc=EOb;_.tN=ahc+'RepositoryService_Proxy$21';_.tI=463;function aPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function dPb(a){var b;b=y;cPb(this,a);}
-function FOb(){}
-_=FOb.prototype=new xU();_.xc=dPb;_.tN=ahc+'RepositoryService_Proxy$22';_.tI=464;function fPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function iPb(a){var b;b=y;hPb(this,a);}
-function ePb(){}
-_=ePb.prototype=new xU();_.xc=iPb;_.tN=ahc+'RepositoryService_Proxy$23';_.tI=465;function kPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function mPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f8(g.a,f);else jdb(g.a,c);}
-function nPb(a){var b;b=y;mPb(this,a);}
-function jPb(){}
-_=jPb.prototype=new xU();_.xc=nPb;_.tN=ahc+'RepositoryService_Proxy$24';_.tI=466;function pPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function rPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)gac(g.a,f);else jdb(g.a,c);}
-function sPb(a){var b;b=y;rPb(this,a);}
-function oPb(){}
-_=oPb.prototype=new xU();_.xc=sPb;_.tN=ahc+'RepositoryService_Proxy$25';_.tI=467;function uPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function wPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function xPb(a){var b;b=y;wPb(this,a);}
-function tPb(){}
-_=tPb.prototype=new xU();_.xc=xPb;_.tN=ahc+'RepositoryService_Proxy$26';_.tI=468;function zPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function BPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function CPb(a){var b;b=y;BPb(this,a);}
-function yPb(){}
-_=yPb.prototype=new xU();_.xc=CPb;_.tN=ahc+'RepositoryService_Proxy$27';_.tI=469;function EPb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function bQb(a){var b;b=y;aQb(this,a);}
-function DPb(){}
-_=DPb.prototype=new xU();_.xc=bQb;_.tN=ahc+'RepositoryService_Proxy$28';_.tI=470;function dQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)rcc(g.a,f);else jdb(g.a,c);}
-function gQb(a){var b;b=y;fQb(this,a);}
-function cQb(){}
-_=cQb.prototype=new xU();_.xc=gQb;_.tN=ahc+'RepositoryService_Proxy$29';_.tI=471;function ERb(b,a,d,c){b.b=d;b.a=c;return b;}
-function aSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)n9b(g.a,f);else jdb(g.a,c);}
-function bSb(a){var b;b=y;aSb(this,a);}
-function lQb(){}
-_=lQb.prototype=new xU();_.xc=bSb;_.tN=ahc+'RepositoryService_Proxy$3';_.tI=472;function nQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)oLb(g.a,f);else jdb(g.a,c);}
-function qQb(a){var b;b=y;pQb(this,a);}
-function mQb(){}
-_=mQb.prototype=new xU();_.xc=qQb;_.tN=ahc+'RepositoryService_Proxy$30';_.tI=473;function sQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)hdc(g.a,f);else jdb(g.a,c);}
-function vQb(a){var b;b=y;uQb(this,a);}
-function rQb(){}
-_=rQb.prototype=new xU();_.xc=vQb;_.tN=ahc+'RepositoryService_Proxy$31';_.tI=474;function xQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
-function AQb(a){var b;b=y;zQb(this,a);}
-function wQb(){}
-_=wQb.prototype=new xU();_.xc=AQb;_.tN=ahc+'RepositoryService_Proxy$32';_.tI=475;function CQb(b,a,d,c){b.b=d;b.a=c;return b;}
-function EQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)bKb(g.a,f);else jdb(g.a,c);}
-function FQb(a){var b;b=y;EQb(this,a);}
-function BQb(){}
-_=BQb.prototype=new xU();_.xc=FQb;_.tN=ahc+'RepositoryService_Proxy$33';_.tI=476;function bRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function dRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)a8(g.a,f);else jdb(g.a,c);}
-function eRb(a){var b;b=y;dRb(this,a);}
-function aRb(){}
-_=aRb.prototype=new xU();_.xc=eRb;_.tN=ahc+'RepositoryService_Proxy$34';_.tI=477;function gRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function iRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)x9(g.a,f);else jdb(g.a,c);}
-function jRb(a){var b;b=y;iRb(this,a);}
-function fRb(){}
-_=fRb.prototype=new xU();_.xc=jRb;_.tN=ahc+'RepositoryService_Proxy$35';_.tI=478;function lRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function nRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f7b(g.a,f);else jdb(g.a,c);}
-function oRb(a){var b;b=y;nRb(this,a);}
-function kRb(){}
-_=kRb.prototype=new xU();_.xc=oRb;_.tN=ahc+'RepositoryService_Proxy$36';_.tI=479;function qRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function sRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)dFb(g.a,f);else jdb(g.a,c);}
-function tRb(a){var b;b=y;sRb(this,a);}
-function pRb(){}
-_=pRb.prototype=new xU();_.xc=tRb;_.tN=ahc+'RepositoryService_Proxy$37';_.tI=480;function vRb(b,a,d,c){b.b=d;b.a=c;return b;}
-function xRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)pbc(g.a,f);else jdb(g.a,c);}
-function yRb(a){var b;b=y;xRb(this,a);}
-function uRb(){}
-_=uRb.prototype=new xU();_.xc=yRb;_.tN=ahc+'RepositoryService_Proxy$38';_.tI=481;function ARb(b,a,d,c){b.b=d;b.a=c;return b;}
-function CRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)wCb(g.a,f);else jdb(g.a,c);}
-function DRb(a){var b;b=y;CRb(this,a);}
-function zRb(){}
-_=zRb.prototype=new xU();_.xc=DRb;_.tN=ahc+'RepositoryService_Proxy$39';_.tI=482;function dSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function fSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)vBb(g.a,f);else jdb(g.a,c);}
-function gSb(a){var b;b=y;fSb(this,a);}
-function cSb(){}
-_=cSb.prototype=new xU();_.xc=gSb;_.tN=ahc+'RepositoryService_Proxy$4';_.tI=483;function iSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function kSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)gBb(g.a,f);else jdb(g.a,c);}
-function lSb(a){var b;b=y;kSb(this,a);}
-function hSb(){}
-_=hSb.prototype=new xU();_.xc=lSb;_.tN=ahc+'RepositoryService_Proxy$5';_.tI=484;function nSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function pSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)D5b(g.a,f);else jdb(g.a,c);}
-function qSb(a){var b;b=y;pSb(this,a);}
-function mSb(){}
-_=mSb.prototype=new xU();_.xc=qSb;_.tN=ahc+'RepositoryService_Proxy$6';_.tI=485;function sSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function uSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)jfb(g.a,f);else jdb(g.a,c);}
-function vSb(a){var b;b=y;uSb(this,a);}
-function rSb(){}
-_=rSb.prototype=new xU();_.xc=vSb;_.tN=ahc+'RepositoryService_Proxy$7';_.tI=486;function xSb(b,a,d,c){b.b=d;b.a=c;return b;}
-function zSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)k_b(g.a,f);else jdb(g.a,c);}
-function ASb(a){var b;b=y;zSb(this,a);}
-function wSb(){}
-_=wSb.prototype=new xU();_.xc=ASb;_.tN=ahc+'RepositoryService_Proxy$8';_.tI=487;function lVb(){lVb=v3;nXb=mVb();qXb=nVb();}
-function kVb(a){lVb();return a;}
-function mVb(){lVb();return {'[B/2233087514':[function(a){return oVb(a);},function(a,b){hn(a,b);},function(a,b){jn(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return pVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return qVb(a);},function(a,b){jm(a,b);},function(a,b){lm(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return vVb(a);},function(a,b){nE(a,b);},function(a,b){qE(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return wVb(a);},function(a,b){fJ(a,b);},function(a,b){iJ(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return xVb(a);},function(a,b){nJ(a,b);},function(a,b){pJ(a,b);}],'java.lang.Boolean/476441737':[function(a){return Am(a);},function(a,b){zm(a,b);},function(a,b){Bm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return dn(a);},function(a,b){cn(a,b);},function(a,b){en(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return yVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return rVb(a);},function(a,b){mn(a,b);},function(a,b){nn(a,b);}],'java.util.Date/1659716317':[function(a){return rn(a);},function(a,b){qn(a,b);},function(a,b){sn(a,b);}],'java.util.HashMap/962170901':[function(a){return sVb(a);},function(a,b){vn(a,b);},function(a,b){wn(a,b);}],'java.util.HashSet/1594477813':[function(a){return tVb(a);},function(a,b){zn(a,b);},function(a,b){An(a,b);}],'java.util.Vector/3125574444':[function(a){return uVb(a);},function(a,b){Dn(a,b);},function(a,b){En(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return zVb(a);},function(a,b){jhb(a,b);},function(a,b){khb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return AVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return CVb(a);},function(a,b){cib(a,b);},function(a,b){dib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return BVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return EVb(a);},function(a,b){kib(a,b);},function(a,b){lib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return DVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return aWb(a);},function(a,b){sib(a,b);},function(a,b){tib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return FVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn cWb(a);},function(a,b){zib(a,b);},function(a,b){Aib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return bWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return eWb(a);},function(a,b){bjb(a,b);},function(a,b){cjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return dWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return gWb(a);},function(a,b){jjb(a,b);},function(a,b){kjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return fWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return iWb(a);},function(a,b){rjb(a,b);},function(a,b){sjb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn hWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return kWb(a);},function(a,b){zjb(a,b);},function(a,b){Ajb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return jWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return mWb(a);},function(a,b){Fjb(a,b);},function(a,b){akb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return lWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return oWb(a);},function(a,b){hkb(a,b);},function(a,b){ikb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return nWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return qWb(a);},function(a,b){tkb(a,b);},function(a,b){ukb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return pWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return rWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return sWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return tWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return uWb(a);},function(a,b){Ckb(a,b);},function(a,b){Dkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return wWb(a);},function(a,b){elb(a,b);},function(a,b!
 ){flb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return vWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return xWb(a);},function(a,b){zlb(a,b);},function(a,b){Alb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return zWb(a);},function(a,b){cmb(a,b);},function(a,b){dmb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return yWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return BWb(a);},function(a,b){CLb(a,b);},function(a,b){DLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return AWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return CWb(a);},function(a,b){dMb(a,b);},function(a,b){fMb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return DWb(a);},function(a,b){pMb(a,b);},function(a,b){qMb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return FWb(a);},function(a,b){vMb(a,b);},function(a,b){wMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return EWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return aXb(a);},function(a,b){vXb(a,b);},function(a,b){wXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return bXb(a);},function(a,b){BXb(a,b);},function(a,b){CXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return cXb(a);},function(a,b){cZb(a,b);},function(a,b){dZb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return eXb(a);},function(a,b){iZb(a,b);},function(a,b){jZb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn dXb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return fXb(a);},function(a,b){oZb(a,b);},function(a,b){pZb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return gXb(a);},function(a,b){uZb(a,b);},function(a,b){vZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return iXb(a);},function(a,b){AZb(a,b);},function(a,b){BZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return hXb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return jXb(a);},function(a,b){b0b(a,b);},function(a,b){c0b(a,b);}]};}
-function nVb(){lVb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
-function oVb(b){lVb();var a;a=b.yd();return Ab('[B',[623],[(-1)],[a],0);}
-function pVb(a){lVb();return Al(new zl());}
-function qVb(a){lVb();return new fm();}
-function rVb(a){lVb();return FY(new DY());}
-function sVb(a){lVb();return C1(new a1());}
-function tVb(a){lVb();return w2(new v2());}
-function uVb(a){lVb();return j3(new i3());}
-function vVb(a){lVb();return new jE();}
-function wVb(a){lVb();return new EI();}
-function xVb(a){lVb();return new aJ();}
-function yVb(b){lVb();var a;a=b.yd();return Ab('[Ljava.lang.String;',[610],[1],[a],null);}
-function zVb(a){lVb();return Agb(new ygb());}
-function AVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[627],[24],[a],null);}
-function BVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[620],[18],[a],null);}
-function CVb(a){lVb();return new Dhb();}
-function DVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[628],[25],[a],null);}
-function EVb(a){lVb();return fib(new eib());}
-function FVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[629],[26],[a],null);}
-function aWb(a){lVb();return nib(new mib());}
-function bWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[630],[27],[a],null);}
-function cWb(a){lVb();return new uib();}
-function dWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[631],[28],[a],null);}
-function eWb(a){lVb();return Cib(new Bib());}
-function fWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[632],[29],[a],null);}
-function gWb(a){lVb();return ejb(new djb());}
-function hWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[633],[30],[a],null);}
-function iWb(a){lVb();return new ljb();}
-function jWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[634],[31],[a],null);}
-function kWb(a){lVb();return new tjb();}
-function lWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[617],[15],[a],null);}
-function mWb(a){lVb();return new Bjb();}
-function nWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[616],[14],[a],null);}
-function oWb(a){lVb();return new bkb();}
-function pWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[618],[16],[a],null);}
-function qWb(a){lVb();return new kkb();}
-function rWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[17],[a],null);}
-function sWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[626],[23],[a],null);}
-function tWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[625],[22],[a],null);}
-function uWb(a){lVb();return new ykb();}
-function vWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[624],[21],[a],null);}
-function wWb(a){lVb();return new Fkb();}
-function xWb(a){lVb();return jlb(new hlb());}
-function yWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[635],[32],[a],null);}
-function zWb(a){lVb();return new Blb();}
-function AWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.BuilderResult;',[611],[10],[a],null);}
-function BWb(a){lVb();return new yLb();}
-function CWb(a){lVb();return new FLb();}
-function DWb(a){lVb();return jMb(new hMb());}
-function EWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.PackageConfigData;',[621],[19],[a],null);}
-function FWb(a){lVb();return new rMb();}
-function aXb(a){lVb();return new rXb();}
-function bXb(a){lVb();return new xXb();}
-function cXb(a){lVb();return new EYb();}
-function dXb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[612],[11],[a],null);}
-function eXb(a){lVb();return new eZb();}
-function fXb(a){lVb();return new kZb();}
-function gXb(a){lVb();return new qZb();}
-function hXb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.TableDataRow;',[615],[13],[a],null);}
-function iXb(a){lVb();return new wZb();}
-function jXb(a){lVb();return new DZb();}
-function kXb(c,a,d){var b=nXb[d];if(!b){oXb(d);}b[1](c,a);}
-function lXb(b){var a=qXb[b];return a==null?b:a;}
-function mXb(b,c){var a=nXb[c];if(!a){oXb(c);}return a[0](b);}
-function oXb(a){lVb();throw pm(new om(),a);}
-function pXb(c,a,d){var b=nXb[d];if(!b){oXb(d);}b[2](c,a);}
-function jVb(){}
-_=jVb.prototype=new xU();_.gb=kXb;_.Db=lXb;_.jc=mXb;_.fe=pXb;_.tN=ahc+'RepositoryService_TypeSerializer';_.tI=488;var nXb,qXb;function rXb(){}
-_=rXb.prototype=new xU();_.tN=ahc+'RuleAsset';_.tI=489;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function vXb(b,a){a.a=b.wd();a.b=bc(b.Ad(),39);a.c=b.wd();a.d=bc(b.Ad(),93);a.e=b.Bd();}
-function wXb(b,a){b.De(a.a);b.bf(a.b);b.De(a.c);b.bf(a.d);b.cf(a.e);}
-function xXb(){}
-_=xXb.prototype=new xU();_.tN=ahc+'RuleContentText';_.tI=490;_.a=null;function BXb(b,a){a.a=b.Bd();}
-function CXb(b,a){b.cf(a.a);}
-function mYb(){mYb=v3;qYb=sYb(new rYb());}
-function jYb(a){mYb();return a;}
-function kYb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.SecurityService');oo(a,'getCurrentUser');mo(a,0);}
-function lYb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.SecurityService');oo(b,'login');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
-function nYb(h,c){var a,d,e,f,g;f=Ao(new zo(),qYb);g=np(new lp(),qYb,w(),'C384F35B503938C7EC9B9EB6B150D06F');try{kYb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;c.Ac(d);return;}else throw a;}e=aYb(new FXb(),h,f,c);if(!zg(h.a,up(g),e))c.Ac(bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function oYb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),qYb);h=np(new lp(),qYb,w(),'C384F35B503938C7EC9B9EB6B150D06F');try{lYb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=fYb(new eYb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
-function pYb(b,a){b.a=a;}
-function EXb(){}
-_=EXb.prototype=new xU();_.tN=ahc+'SecurityService_Proxy';_.tI=491;_.a=null;var qYb;function aYb(b,a,d,c){b.b=d;b.a=c;return b;}
-function cYb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else g.a.Ac(c);}
-function dYb(a){var b;b=y;cYb(this,a);}
-function FXb(){}
-_=FXb.prototype=new xU();_.xc=dYb;_.tN=ahc+'SecurityService_Proxy$1';_.tI=492;function fYb(b,a,d,c){b.b=d;b.a=c;return b;}
-function hYb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=BS(new AS(),Eo(g.b));}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)q6(g.a,f);else jdb(g.a,c);}
-function iYb(a){var b;b=y;hYb(this,a);}
-function eYb(){}
-_=eYb.prototype=new xU();_.xc=iYb;_.tN=ahc+'SecurityService_Proxy$2';_.tI=493;function tYb(){tYb=v3;AYb=uYb();DYb=vYb();}
-function sYb(a){tYb();return a;}
-function uYb(){tYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return wYb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'java.lang.String/2004016611':[function(a){return dn(a);},function(a,b){cn(a,b);},function(a,b){en(a,b);}]};}
-function vYb(){tYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
-function wYb(a){tYb();return Al(new zl());}
-function xYb(c,a,d){var b=AYb[d];if(!b){BYb(d);}b[1](c,a);}
-function yYb(b){var a=DYb[b];return a==null?b:a;}
-function zYb(b,c){var a=AYb[c];if(!a){BYb(c);}return a[0](b);}
-function BYb(a){tYb();throw pm(new om(),a);}
-function CYb(c,a,d){var b=AYb[d];if(!b){BYb(d);}b[2](c,a);}
-function rYb(){}
-_=rYb.prototype=new xU();_.gb=xYb;_.Db=yYb;_.jc=zYb;_.fe=CYb;_.tN=ahc+'SecurityService_TypeSerializer';_.tI=494;var AYb,DYb;function EYb(){}
-_=EYb.prototype=new fm();_.tN=ahc+'SessionExpiredException';_.tI=495;function cZb(b,a){jm(b,a);}
-function dZb(b,a){lm(b,a);}
-function eZb(){}
-_=eZb.prototype=new xU();_.tN=ahc+'SnapshotInfo';_.tI=496;_.a=null;_.b=null;_.c=null;function iZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
-function jZb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
-function kZb(){}
-_=kZb.prototype=new xU();_.tN=ahc+'TableConfig';_.tI=497;_.a=null;_.b=0;function oZb(b,a){a.a=bc(b.Ad(),63);a.b=b.yd();}
-function pZb(b,a){b.bf(a.a);b.Fe(a.b);}
-function qZb(){}
-_=qZb.prototype=new xU();_.tN=ahc+'TableDataResult';_.tI=498;_.a=null;function uZb(b,a){a.a=bc(b.Ad(),94);}
-function vZb(b,a){b.bf(a.a);}
-function CZb(a){return wV(a,'\\,')[0];}
-function wZb(){}
-_=wZb.prototype=new xU();_.tN=ahc+'TableDataRow';_.tI=499;_.a=null;_.b=null;_.c=null;function AZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=bc(b.Ad(),63);}
-function BZb(b,a){b.cf(a.a);b.cf(a.b);b.bf(a.c);}
-function DZb(){}
-_=DZb.prototype=new xU();_.tN=ahc+'ValidatedResponse';_.tI=500;_.a=null;_.b=null;_.c=false;_.d=null;function b0b(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.wd();a.d=bc(b.Ad(),39);}
-function c0b(b,a){b.cf(a.a);b.cf(a.b);b.De(a.c);b.bf(a.d);}
-function r1b(a){a.e=lu(new fu());}
-function s1b(j,b,c,a,f,d,g){var e,h,i;r1b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=dA(new hx());i=j.f.r;e=ou(j.e);h=FA(new DA());z1b(j,i);aB(h,j.g);if(!g){v1b(j,e,h);}B1b(j,f,e);gs(j,j.e);j.xe('100%');return j;}
-function u1b(c,a,b){Ch('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
-function v1b(h,e,g){var a,b,c,d,f;d=odb(new ndb(),'images/edit.gif');d.pe('Change status.');fC(d,n0b(new e0b(),h));aB(g,d);h.e.ve(0,0,g);Bx(e,0,0,(oA(),qA),(xA(),AA));f=qq(new kq(),'Save changes');f.pe('Check in changes.');f.x(r0b(new q0b(),h));aB(g,f);b=qq(new kq(),'Copy');b.x(v0b(new u0b(),h));aB(g,b);a=qq(new kq(),'Archive');a.x(z0b(new y0b(),h));aB(g,a);if(h.f.v==0){c=qq(new kq(),'Delete');c.x(D0b(new C0b(),h));aB(g,c);}}
-function w1b(b,c){var a;a=F2b(new A2b(),lO(c),mO(c),'Check in changes.');c3b(a,g0b(new f0b(),b,a));d3b(a);}
-function x1b(e,f){var a,b,c,d;a=ddb(new Ecb(),'images/rule_asset.gif','Copy this item');b=zL(new kL());c=reb(new meb());edb(a,'New name:',b);edb(a,'New package:',c);d=qq(new kq(),'Create copy');d.x(j1b(new i1b(),e,c,b,a));edb(a,'',d);lF(a,fc((fbb()-gF(a))/2),100);oF(a);}
-function y1b(b,a){b.c=a;}
-function z1b(b,a){hA(b.g,'Status: <b>['+a+']<\/b>');}
-function A1b(b,c){var a;a=lfb(new veb(),b.h,false);ofb(a,k0b(new j0b(),b,a));lF(a,lO(c),mO(c));oF(a);}
-function B1b(e,d,b){var a,c,f;f=FA(new DA());c=odb(new ndb(),'images/max_min.gif');fC(c,b1b(new a1b(),e,d));aB(f,c);a=odb(new ndb(),'images/close.gif');a.pe('Close.');fC(a,f1b(new e1b(),e));aB(f,a);e.e.ve(0,1,f);Bx(b,0,1,(oA(),rA),(xA(),AA));}
-function d0b(){}
-_=d0b.prototype=new es();_.tN=bhc+'ActionToolbar';_.tI=501;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function n0b(b,a){b.a=a;return b;}
-function p0b(a){A1b(this.a,a);}
-function e0b(){}
-_=e0b.prototype=new xU();_.wc=p0b;_.tN=bhc+'ActionToolbar$1';_.tI=502;function g0b(b,a,c){b.a=a;b.b=c;return b;}
-function i0b(){this.a.f.b=b3b(this.b);h$b(this.a.b);}
-function f0b(){}
-_=f0b.prototype=new xU();_.nb=i0b;_.tN=bhc+'ActionToolbar$10';_.tI=503;function k0b(b,a,c){b.a=a;b.b=c;return b;}
-function m0b(){z1b(this.a,this.b.c);}
-function j0b(){}
-_=j0b.prototype=new xU();_.nb=m0b;_.tN=bhc+'ActionToolbar$11';_.tI=504;function r0b(b,a){b.a=a;return b;}
-function t0b(a){w1b(this.a,a);}
-function q0b(){}
-_=q0b.prototype=new xU();_.wc=t0b;_.tN=bhc+'ActionToolbar$2';_.tI=505;function v0b(b,a){b.a=a;return b;}
-function x0b(a){x1b(this.a,a);}
-function u0b(){}
-_=u0b.prototype=new xU();_.wc=x0b;_.tN=bhc+'ActionToolbar$3';_.tI=506;function z0b(b,a){b.a=a;return b;}
-function B0b(a){if(Eh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+t0(l0(new k0()));m$b(this.a.a);}}
-function y0b(){}
-_=y0b.prototype=new xU();_.wc=B0b;_.tN=bhc+'ActionToolbar$4';_.tI=507;function D0b(b,a){b.a=a;return b;}
-function F0b(a){if(Eh('Are you sure you want to permanently delete this (unversioned) item?')){w$b(this.a.d);}}
-function C0b(){}
-_=C0b.prototype=new xU();_.wc=F0b;_.tN=bhc+'ActionToolbar$5';_.tI=508;function b1b(b,a,c){b.a=c;return b;}
-function d1b(a){r$b(this.a);}
-function a1b(){}
-_=a1b.prototype=new xU();_.wc=d1b;_.tN=bhc+'ActionToolbar$6';_.tI=509;function f1b(b,a){b.a=a;return b;}
-function h1b(a){a_b(this.a.c);}
-function e1b(){}
-_=e1b.prototype=new xU();_.wc=h1b;_.tN=bhc+'ActionToolbar$7';_.tI=510;function j1b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
-function l1b(a){kUb(EMb(),this.a.h,teb(this.d),rL(this.c),n1b(new m1b(),this,this.c,this.d,this.b));}
-function i1b(){}
-_=i1b.prototype=new xU();_.wc=l1b;_.tN=bhc+'ActionToolbar$8';_.tI=511;function n1b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
-function p1b(b,a){u1b(b.a.a,rL(b.c),teb(b.d));b.b.hc();}
-function q1b(a){p1b(this,a);}
-function m1b(){}
-_=m1b.prototype=new hdb();_.md=q1b;_.tN=bhc+'ActionToolbar$9';_.tI=512;function r2b(a){a.b=kbb(new ibb());}
-function s2b(c,a,b){r2b(c);c.a=a;c.c=lu(new fu());x2b(c,c.c);uO(c.c,'rule-List');nbb(c.b,0,0,c.c);if(!b){v2b(c);}gs(c,c.b);return c;}
-function t2b(b,a){kMb(b.a,a);z2b(b);}
-function v2b(c){var a,b;a=hP(new fP());b=odb(new ndb(),'images/new_item.gif');b.pe('Add a new category.');fC(b,g2b(new f2b(),c));iP(a,b);nbb(c.b,0,1,a);}
-function w2b(b){var a;a=p2b(new n2b(),b);lF(a,lO(b),mO(b));oF(a);}
-function x2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;yz(d,b,0,e.a.a[b]);a=odb(new ndb(),'images/trash.gif');a.pe('Remove this category');fC(a,k2b(new j2b(),e,c));d.ve(b,1,a);}}
-function y2b(b,a){mMb(b.a,a);dbb(b);z2b(b);}
-function z2b(a){a.c=lu(new fu());uO(a.c,'rule-List');nbb(a.b,0,0,a.c);x2b(a,a.c);dbb(a);}
-function C1b(){}
-_=C1b.prototype=new bbb();_.tN=bhc+'AssetCategoryEditor';_.tI=513;_.a=null;_.c=null;function E1b(b,a){b.a=a;return b;}
-function a2b(a){this.a.b=a;}
-function D1b(){}
-_=D1b.prototype=new xU();_.ee=a2b;_.tN=bhc+'AssetCategoryEditor$1';_.tI=514;function c2b(b,a){b.a=a;return b;}
-function e2b(a){if(this.a.b!==null&& !qV('',this.a.b)){t2b(this.a.d,this.a.b);}this.a.hc();}
-function b2b(){}
-_=b2b.prototype=new xU();_.wc=e2b;_.tN=bhc+'AssetCategoryEditor$2';_.tI=515;function g2b(b,a){b.a=a;return b;}
-function i2b(a){w2b(this.a);}
-function f2b(){}
-_=f2b.prototype=new xU();_.wc=i2b;_.tN=bhc+'AssetCategoryEditor$3';_.tI=516;function k2b(b,a,c){b.a=a;b.b=c;return b;}
-function m2b(a){y2b(this.a,this.b);}
-function j2b(){}
-_=j2b.prototype=new xU();_.wc=m2b;_.tN=bhc+'AssetCategoryEditor$4';_.tI=517;function q2b(){q2b=v3;eF();}
-function o2b(a){a.a=qq(new kq(),'OK');}
-function p2b(b,a){var c;q2b();b.d=a;bF(b,true);o2b(b);c=hP(new fP());b.c=v_(new e_(),E1b(new D1b(),b));uO(b,'ks-popups-Popup');iP(c,b.c);iP(c,b.a);CH(b,c);b.a.x(c2b(new b2b(),b));return b;}
-function n2b(){}
-_=n2b.prototype=new FE();_.tN=bhc+'AssetCategoryEditor$CategorySelector';_.tI=518;_.b=null;_.c=null;function F2b(c,a,d,b){c.b=ddb(new Ecb(),'images/checkin.gif',b);c.a=eL(new dL());c.a.xe('100%');c.c=qq(new kq(),'Save');edb(c.b,'Comment',c.a);edb(c.b,'',c.c);uO(c.b,'ks-popups-Popup');lF(c.b,a,d);return c;}
-function b3b(a){return rL(a.a);}
-function c3b(b,a){b.c.x(C2b(new B2b(),b,a));}
-function d3b(a){lF(a.b,fc((fbb()-gF(a.b))/2),100);oF(a.b);}
-function A2b(){}
-_=A2b.prototype=new xU();_.tN=bhc+'CheckinPopup';_.tI=519;_.a=null;_.b=null;_.c=null;function C2b(b,a,c){b.a=a;b.b=c;return b;}
-function E2b(a){this.b.nb();this.a.b.hc();}
-function B2b(){}
-_=B2b.prototype=new xU();_.wc=E2b;_.tN=bhc+'CheckinPopup$1';_.tI=520;function A3b(){A3b=v3;eF();}
-function y3b(g,f,e){var a,b,c,d;A3b();bF(g,true);g.d=f;g.b=zL(new kL());g.b.xe('100%');b='<enter text to filter list>';vL(g.b,'<enter text to filter list>');gv(g.b,g3b(new f3b(),g));oL(g.b,l3b(new k3b(),g,e));g.b.le(true);d=hP(new fP());iP(d,g.b);g.c=mD(new eD());CD(g.c,5);C3b(g,x5b(g.d,''));iP(d,g.c);c=qq(new kq(),'ok');c.x(r3b(new q3b(),g,e));a=qq(new kq(),'cancel');a.x(v3b(new u3b(),g));g.a=FA(new DA());aB(g.a,c);aB(g.a,a);iP(d,g.a);CH(g,d);uO(g,'ks-popups-Popup');return g;}
-function z3b(b,a){q4b(a,B3b(b));b.hc();}
-function B3b(a){return vD(a.c,wD(a.c));}
-function C3b(c,a){var b;sD(c.c);for(b=0;b<a.b;b++){pD(c.c,bc(gZ(a,b),14).a);}}
-function e3b(){}
-_=e3b.prototype=new FE();_.tN=bhc+'ChoiceList';_.tI=521;_.a=null;_.b=null;_.c=null;_.d=null;function g3b(b,a){b.a=a;return b;}
-function i3b(a){vL(this.a.b,'');}
-function j3b(a){vL(this.a.b,'<enter text to filter list>');}
-function f3b(){}
-_=f3b.prototype=new xU();_.Bc=i3b;_.dd=j3b;_.tN=bhc+'ChoiceList$1';_.tI=522;function l3b(b,a,c){b.a=a;b.b=c;return b;}
-function n3b(a,b,c){}
-function o3b(a,b,c){}
-function p3b(a,b,c){if(b==13){z3b(this.a,this.b);}else{C3b(this.a,x5b(this.a.d,rL(this.a.b)));}}
-function k3b(){}
-_=k3b.prototype=new xU();_.Fc=n3b;_.ad=o3b;_.bd=p3b;_.tN=bhc+'ChoiceList$2';_.tI=523;function r3b(b,a,c){b.a=a;b.b=c;return b;}
-function t3b(a){z3b(this.a,this.b);}
-function q3b(){}
-_=q3b.prototype=new xU();_.wc=t3b;_.tN=bhc+'ChoiceList$3';_.tI=524;function v3b(b,a){b.a=a;return b;}
-function x3b(a){this.a.hc();}
-function u3b(){}
-_=u3b.prototype=new xU();_.wc=x3b;_.tN=bhc+'ChoiceList$4';_.tI=525;function o4b(i,a){var b,c,d,e,f,g,h,j;b=bc(a.b,95);i.c=b;i.d=eL(new dL());jL(i.d,10);vL(i.d,i.c.a);i.d.pe('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=uLb((sLb(),xLb),a.d.o);i.a=c.a;i.b=c.b;uO(i.d,'dsl-text-Editor');d=lu(new fu());d.ve(0,0,i.d);nL(i.d,F3b(new E3b(),i));oL(i.d,d4b(new c4b(),i));j=hP(new fP());e=odb(new ndb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.pe('Add a new condition');fC(e,h4b(new g4b(),i));h=odb(new ndb(),'images/new_dsl_action.gif');g='Add an action';h.pe('Add an action');fC(h,l4b(new k4b(),i));iP(j,e);iP(j,h);d.ve(0,1,j);by(d.n,0,0,'95%');by(d.n,0,1,'5%');d.xe('100%');d.ne('100%');gs(i,d);return i;}
-function q4b(e,b){var a,c,d;a=gL(e.d);c=AV(rL(e.d),0,a);d=AV(rL(e.d),a,uV(rL(e.d)));vL(e.d,c+b+d);e.c.a=rL(e.d);}
-function r4b(b){var a;a=AV(rL(b.d),0,gL(b.d));if(sV(a,'then')>(-1)){s4b(b,b.a);}else{s4b(b,b.b);}}
-function s4b(c,b){var a;a=y3b(new e3b(),b,c);lF(a,lO(c.d)+20,mO(c.d)+20);oF(a);}
-function D3b(){}
-_=D3b.prototype=new bbb();_.tN=bhc+'DSLRuleEditor';_.tI=526;_.a=null;_.b=null;_.c=null;_.d=null;function F3b(b,a){b.a=a;return b;}
-function b4b(a){this.a.c.a=rL(this.a.d);dbb(this.a);}
-function E3b(){}
-_=E3b.prototype=new xU();_.vc=b4b;_.tN=bhc+'DSLRuleEditor$1';_.tI=527;function d4b(b,a){b.a=a;return b;}
-function f4b(a,b,c){if(b==32&&c==2){r4b(this.a);}if(b==9){q4b(this.a,'\t');sL(this.a.d,gL(this.a.d)+1);pL(this.a.d);}}
-function c4b(){}
-_=c4b.prototype=new mC();_.Fc=f4b;_.tN=bhc+'DSLRuleEditor$2';_.tI=528;function h4b(b,a){b.a=a;return b;}
-function j4b(a){s4b(this.a,this.a.b);}
-function g4b(){}
-_=g4b.prototype=new xU();_.wc=j4b;_.tN=bhc+'DSLRuleEditor$3';_.tI=529;function l4b(b,a){b.a=a;return b;}
-function n4b(a){s4b(this.a,this.a.a);}
-function k4b(){}
-_=k4b.prototype=new xU();_.wc=n4b;_.tN=bhc+'DSLRuleEditor$4';_.tI=530;function C4b(b,a){b.a=a;b.b=bc(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=eL(new dL());jL(b.c,10);vL(b.c,b.b.a);uO(b.c,'default-text-Area');nL(b.c,v4b(new u4b(),b));oL(b.c,z4b(new y4b(),b));gs(b,b.c);return b;}
-function E4b(e,b){var a,c,d;a=gL(e.c);c=AV(rL(e.c),0,a);d=AV(rL(e.c),a,uV(rL(e.c)));vL(e.c,c+b+d);e.b.a=rL(e.c);}
-function t4b(){}
-_=t4b.prototype=new bbb();_.tN=bhc+'DefaultRuleContentWidget';_.tI=531;_.a=null;_.b=null;_.c=null;function v4b(b,a){b.a=a;return b;}
-function x4b(a){this.a.b.a=rL(this.a.c);dbb(this.a);}
-function u4b(){}
-_=u4b.prototype=new xU();_.vc=x4b;_.tN=bhc+'DefaultRuleContentWidget$1';_.tI=532;function z4b(b,a){b.a=a;return b;}
-function B4b(a,b,c){if(b==9){E4b(this.a,'\t');sL(this.a.c,gL(this.a.c)+1);pL(this.a.c);}}
-function y4b(){}
-_=y4b.prototype=new mC();_.Fc=B4b;_.tN=bhc+'DefaultRuleContentWidget$2';_.tI=533;function o5b(){o5b=v3;p5b=s5b();}
-function q5b(a){o5b();var b;b=bc(c2(p5b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
-function r5b(a,b){o5b();if(qV(a.d.k,'brl')){return p9b(new C8b(),fxb(new avb(),a),a);}else if(qV(a.d.k,'dslr')){return p9b(new C8b(),o4b(new D3b(),a),a);}else if(qV(a.d.k,'jar')){return azb(new Fyb(),a,b);}else if(qV(a.d.k,'xls')){return p9b(new C8b(),kgb(new jgb(),a,b),a);}else if(qV(a.d.k,'rf')){return y8b(new x8b(),a,b);}else if(qV(a.d.k,'drl')){return p9b(new C8b(),C4b(new t4b(),a),a);}else if(qV(a.d.k,'enumeration')){return p9b(new C8b(),C4b(new t4b(),a),a);}else{return C4b(new t4b(),a);}}
-function s5b(){o5b();var a;a=C1(new a1());d2(a,'drl','technical_rule_assets.gif');d2(a,'dsl','dsl.gif');d2(a,'function','function_assets.gif');d2(a,'jar','model_asset.gif');d2(a,'xls','spreadsheet_small.gif');d2(a,'brl','business_rule.gif');d2(a,'dslr','business_rule.gif');d2(a,'rf','ruleflow_small.gif');return a;}
-function t5b(d,f,g,e,a){o5b();var b,c,h;h=p_b(new x9b(),a,e);b=a.d.n;if(uV(b)>10){b=AV(b,0,7)+'...';}c=q5b(a.d.k);tK(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(FZ(),a0)){d2(d,g,h);}y_b(h,k5b(new j5b(),f,h,d,g));zK(f,vK(f,h));}
-function u5b(b,d,e,c){o5b();var a;if(F1(b,e)){if(vK(d,bc(c2(b,e),20))==(-1)){a=cc(wK(d,0),96)?'Rule Viewer':'Package Manager';Ch('Asset already opened in '+a);}else{zK(d,vK(d,bc(c2(b,e),20)));}eeb();return;}BUb(EMb(),e,b5b(new a5b(),b,d,e,c));}
-var p5b;function b5b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
-function d5b(c){var a,b;a=bc(c,97);b=(sLb(),xLb);tLb(b,a.d.o,f5b(new e5b(),this,this.a,this.c,this.d,this.b,a));}
-function a5b(){}
-_=a5b.prototype=new hdb();_.md=d5b;_.tN=bhc+'EditorLauncher$1';_.tI=534;function f5b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
-function h5b(a){t5b(a.b,a.d,a.e,a.c,a.a);}
-function i5b(){h5b(this);}
-function e5b(){}
-_=e5b.prototype=new xU();_.nb=i5b;_.tN=bhc+'EditorLauncher$2';_.tI=535;function k5b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
-function m5b(a){yK(a.b,vK(a.b,a.d));zK(a.b,0);if(a.a!==(FZ(),a0)){e2(a.a,a.c);}}
-function n5b(){m5b(this);}
-function j5b(){}
-_=j5b.prototype=new xU();_.nb=n5b;_.tN=bhc+'EditorLauncher$3';_.tI=536;function x5b(e,a){var b,c,d;b=FY(new DY());for(c=0;c<e.a;c++){d=e[c];if(qV(a,'')||yV(d.a,a)){bZ(b,d);}}return b;}
-function m7b(e,a,c,f,d){var b;tcb(e);uO(e,'metadata-Widget');if(!c){b=pdb(new ndb(),'images/edit.gif','Rename this asset');fC(b,d6b(new z5b(),e));xcb(e,'images/meta_data.png',a.n,b);}else{wcb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;r7b(e,a);return e;}
-function n7b(a){a.b=s2b(new C1b(),a.a,a.c);return a.b;}
-function p7b(d,a,e){var b,c;if(!d.c){b=zL(new kL());b.pe(e);vL(b,a.ac());c=a6b(new F5b(),d,a,b);nL(b,c);return b;}else{return CC(new AC(),a.ac());}}
-function q7b(a){if(a.a.v==0){return eA(new hx(),'<i>Not checked in yet<\/i>');}else{return u7b(a,dU(a.a.v));}}
-function r7b(b,a){b.a=a;vcb(b,'Categories:',n7b(b));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Modified on:',t7b(b,b.a.m));vcb(b,'by:',u7b(b,b.a.l));vcb(b,'Note:',u7b(b,b.a.b));vcb(b,'Version:',q7b(b));if(!b.c){vcb(b,'Created on:',t7b(b,b.a.d));}vcb(b,'Created by:',u7b(b,b.a.e));vcb(b,'Format:',eA(new hx(),'<b>'+b.a.k+'<\/b>'));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Package:',s7b(b,b.a.o));vcb(b,'Subject:',p7b(b,h6b(new g6b(),b),'A short description of the subject matter.'));vcb(b,'Type:',p7b(b,m6b(new l6b(),b),'This is for classification purposes.'));vcb(b,'External link:',p7b(b,r6b(new q6b(),b),'This is for relating the asset to an external system.'));vcb(b,'Source:',p7b(b,w6b(new v6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){ycb(b,tac(new A_b(),b.e,b.a,b.d));}}
-function s7b(d,c){var a,b;if(d.c){return u7b(d,c);}else{b=FA(new DA());uO(b,'metadata-Widget');aB(b,u7b(d,c));a=odb(new ndb(),'images/edit.gif');fC(a,B6b(new A6b(),d,c));aB(b,a);return b;}}
-function t7b(b,a){if(a===null){return null;}else{return CC(new AC(),s0(a));}}
-function u7b(c,b){var a;a=CC(new AC(),b);a.xe('100%');return a;}
-function v7b(f,b,e){var a,c,d;c=ddb(new Ecb(),'images/package_large.png','Move this item to another package');edb(c,'Current package:',CC(new AC(),b));d=reb(new meb());edb(c,'New package:',d);a=qq(new kq(),'Change package');edb(c,'',a);a.x(i7b(new h7b(),f,d,b,c));lF(c,lO(e.v.v),mO(e.v.v));oF(c);}
-function w7b(e,d){var a,b,c;c=ddb(new Ecb(),'images/package_large.png','Rename this item');a=zL(new kL());edb(c,'New name',a);b=qq(new kq(),'Rename item');edb(c,'',b);b.x(F6b(new E6b(),e,a,c));lF(c,lO(d.v.v)-18,mO(d.v.v));oF(c);}
-function x7b(){return this.b.lc()||this.j;}
-function y5b(){}
-_=y5b.prototype=new rcb();_.lc=x7b;_.tN=bhc+'MetaDataWidget';_.tI=537;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function d6b(b,a){b.a=a;return b;}
-function f6b(a){w7b(this.a,a);}
-function z5b(){}
-_=z5b.prototype=new xU();_.wc=f6b;_.tN=bhc+'MetaDataWidget$1';_.tI=538;function B5b(b,a,c){b.a=a;b.b=c;return b;}
-function D5b(b,a){dbb(b.a.a);B$b(b.a.a.d);b.b.hc();}
-function E5b(a){D5b(this,a);}
-function A5b(){}
-_=A5b.prototype=new hdb();_.md=E5b;_.tN=bhc+'MetaDataWidget$10';_.tI=539;function a6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function c6b(a){dbb(this.a);this.b.te(rL(this.c));}
-function F5b(){}
-_=F5b.prototype=new xU();_.vc=c6b;_.tN=bhc+'MetaDataWidget$11';_.tI=540;function h6b(b,a){b.a=a;return b;}
-function j6b(){return this.a.a.s;}
-function k6b(a){this.a.a.s=a;}
-function g6b(){}
-_=g6b.prototype=new xU();_.ac=j6b;_.te=k6b;_.tN=bhc+'MetaDataWidget$2';_.tI=541;function m6b(b,a){b.a=a;return b;}
-function o6b(){return this.a.a.u;}
-function p6b(a){this.a.a.u=a;}
-function l6b(){}
-_=l6b.prototype=new xU();_.ac=o6b;_.te=p6b;_.tN=bhc+'MetaDataWidget$3';_.tI=542;function r6b(b,a){b.a=a;return b;}
-function t6b(){return this.a.a.i;}
-function u6b(a){this.a.a.i=a;}
-function q6b(){}
-_=q6b.prototype=new xU();_.ac=t6b;_.te=u6b;_.tN=bhc+'MetaDataWidget$4';_.tI=543;function w6b(b,a){b.a=a;return b;}
-function y6b(){return this.a.a.j;}
-function z6b(a){this.a.a.j=a;}
-function v6b(){}
-_=v6b.prototype=new xU();_.ac=y6b;_.te=z6b;_.tN=bhc+'MetaDataWidget$5';_.tI=544;function B6b(b,a,c){b.a=a;b.b=c;return b;}
-function D6b(a){v7b(this.a,this.b,a);}
-function A6b(){}
-_=A6b.prototype=new xU();_.wc=D6b;_.tN=bhc+'MetaDataWidget$6';_.tI=545;function F6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
-function b7b(a){dVb(EMb(),this.a.e,rL(this.b),d7b(new c7b(),this,this.c));}
-function E6b(){}
-_=E6b.prototype=new xU();_.wc=b7b;_.tN=bhc+'MetaDataWidget$7';_.tI=546;function d7b(b,a,c){b.a=a;b.b=c;return b;}
-function f7b(b,a){B$b(b.a.a.d);Ch('Item has been renamed');b.b.hc();}
-function g7b(a){f7b(this,a);}
-function c7b(){}
-_=c7b.prototype=new hdb();_.md=g7b;_.tN=bhc+'MetaDataWidget$8';_.tI=547;function i7b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
-function k7b(a){if(qV(teb(this.d),this.b)){Ch('You need to pick a different package to move this to.');return;}gUb(EMb(),this.a.e,teb(this.d),'Moved from : '+this.b,B5b(new A5b(),this,this.c));}
-function h7b(){}
-_=h7b.prototype=new xU();_.wc=k7b;_.tN=bhc+'MetaDataWidget$9';_.tI=548;function j8b(){j8b=v3;gdb();}
-function g8b(a){a.f=zL(new kL());a.b=eL(new dL());a.d=l8b(a);a.g=reb(new meb());}
-function h8b(e,a,d,b,f){var c;j8b();ddb(e,'images/new_wiz.gif',f);g8b(e);e.h=d;e.c=b;e.a=a;edb(e,'Name:',e.f);if(d){edb(e,'Initial category:',k8b(e));}if(b===null){edb(e,'Type (format) of rule:',e.d);}edb(e,'Package:',e.g);jL(e.b,4);e.b.xe('100%');edb(e,'Initial description:',e.b);c=qq(new kq(),'OK');c.x(A7b(new z7b(),e));edb(e,'',c);uO(e,'ks-popups-Popup');return e;}
-function i8b(e,b,d,c,f,a){j8b();h8b(e,b,d,c,f);ueb(e.g,a);return e;}
-function k8b(a){return v_(new e_(),E7b(new D7b(),a));}
-function m8b(a){if(a.c!==null)return a.c;return xD(a.d,wD(a.d));}
-function l8b(b){var a;a=mD(new eD());qD(a,'Business rule (using guided editor)','brl');qD(a,'DRL rule (technical rule - text editor)','drl');qD(a,'Business rule using a DSL (text editor)','dslr');qD(a,'Decision table (spreadsheet)','xls');BD(a,0);return a;}
-function n8b(b){var a;if(b.h&&b.e===null){Dfb('You have to pick an initial category.',lO(b),mO(b));return;}else if(rL(b.f)===null||qV('',rL(b.f))){Dfb('Rule must have a name',lO(b),mO(b));return;}a=c8b(new b8b(),b);ieb('Please wait ...');oUb(EMb(),rL(b.f),rL(b.b),b.e,teb(b.g),m8b(b),a);}
-function o8b(a,b){a.a.td(b);}
-function y7b(){}
-_=y7b.prototype=new Ecb();_.tN=bhc+'NewAssetWizard';_.tI=549;_.a=null;_.c=null;_.e=null;_.h=false;function A7b(b,a){b.a=a;return b;}
-function C7b(a){n8b(this.a);}
-function z7b(){}
-_=z7b.prototype=new xU();_.wc=C7b;_.tN=bhc+'NewAssetWizard$1';_.tI=550;function E7b(b,a){b.a=a;return b;}
-function a8b(a){this.a.e=a;}
-function D7b(){}
-_=D7b.prototype=new xU();_.ee=a8b;_.tN=bhc+'NewAssetWizard$2';_.tI=551;function c8b(b,a){b.a=a;return b;}
-function e8b(b,a){var c;c=bc(a,1);if(yV(c,'DUPLICATE')){eeb();Ch('An asset with that name already exists in the chosen package. Please use another name');}else{o8b(b.a,bc(a,1));b.a.hc();}}
-function f8b(a){e8b(this,a);}
-function b8b(){}
-_=b8b.prototype=new hdb();_.md=f8b;_.tN=bhc+'NewAssetWizard$3';_.tI=552;function u8b(b,a){b.a=eL(new dL());b.a.xe('100%');jL(b.a,10);uO(b.a,'rule-viewer-Documentation');b.a.pe('This is rule documentation. Human friendly descriptions of the business logic.');gs(b,b.a);w8b(b,a);return b;}
-function w8b(b,a){vL(b.a,a.h);nL(b.a,r8b(new q8b(),b,a));if(a.h===null||qV('',a.h)){vL(b.a,'<documentation>');}}
-function p8b(){}
-_=p8b.prototype=new bbb();_.tN=bhc+'RuleDocumentWidget';_.tI=553;_.a=null;function r8b(b,a,c){b.a=a;b.b=c;return b;}
-function t8b(a){this.b.h=rL(this.a.a);dbb(this.a);}
-function q8b(){}
-_=q8b.prototype=new xU();_.vc=t8b;_.tN=bhc+'RuleDocumentWidget$1';_.tI=554;function y8b(b,a,c){iyb(b,a,c);jyb(b,eA(new hx(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
-function A8b(){return 'images/ruleflow_large.png';}
-function B8b(){return 'decision-Table-upload';}
-function x8b(){}
-_=x8b.prototype=new Axb();_.sb=A8b;_.Ab=B8b;_.tN=bhc+'RuleFlowUploadWidget';_.tI=555;function p9b(c,b,a){c.a=a;c.b=kbb(new ibb());uO(c.b,'asset-editor-Layout');nbb(c.b,0,0,b);if(!a.c)nbb(c.b,1,0,v9b(c));Bx(c.b.n,1,0,(oA(),rA),(xA(),AA));c.b.xe('100%');c.b.ne('100%');gs(c,c.b);return c;}
-function r9b(a){ieb('Validating item, please wait...');dUb(EMb(),a.a,g9b(new f9b(),a));}
-function s9b(a){ieb('Calculating source...');cUb(EMb(),a.a,l9b(new k9b(),a));}
-function t9b(h,e){var a,b,c,d,f,g;c=ddb(new Ecb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){fdb(c,eA(new hx(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=lu(new fu());uO(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ve(f,0,eC(new oB(),'images/error.gif'));if(qV(d.a,'package')){yz(a,f,1,'[package configuration problem] '+d.c);}else{yz(a,f,1,d.c);}}g=oH(new mH(),a);g.xe('100%');fdb(c,g);}lF(c,100,100);oF(c);eeb();}
-function u9b(b,a){hCb(a,b.a.d.n);eeb();}
-function v9b(b){var a,c,d;a=FA(new DA());d=qq(new kq(),'View source');aB(a,d);c=qq(new kq(),'Validate');aB(a,c);d.x(E8b(new D8b(),b));c.x(c9b(new b9b(),b));uO(a,'asset-validator-Buttons');return a;}
-function w9b(){return mbb(this.b);}
-function C8b(){}
-_=C8b.prototype=new bbb();_.lc=w9b;_.tN=bhc+'RuleValidatorWrapper';_.tI=556;_.a=null;_.b=null;function E8b(b,a){b.a=a;return b;}
-function a9b(a){s9b(this.a);}
-function D8b(){}
-_=D8b.prototype=new xU();_.wc=a9b;_.tN=bhc+'RuleValidatorWrapper$1';_.tI=557;function c9b(b,a){b.a=a;return b;}
-function e9b(a){r9b(this.a);}
-function b9b(){}
-_=b9b.prototype=new xU();_.wc=e9b;_.tN=bhc+'RuleValidatorWrapper$2';_.tI=558;function g9b(b,a){b.a=a;return b;}
-function i9b(c,a){var b;b=bc(a,88);t9b(c.a,b);}
-function j9b(a){i9b(this,a);}
-function f9b(){}
-_=f9b.prototype=new hdb();_.md=j9b;_.tN=bhc+'RuleValidatorWrapper$3';_.tI=559;function l9b(b,a){b.a=a;return b;}
-function n9b(c,a){var b;b=bc(a,1);u9b(c.a,b);}
-function o9b(a){n9b(this,a);}
-function k9b(){}
-_=k9b.prototype=new hdb();_.md=o9b;_.tN=bhc+'RuleValidatorWrapper$4';_.tI=560;function p_b(c,a,b){c.a=a;c.g=b;c.e=kbb(new ibb());v_b(c);gs(c,c.e);eeb();return c;}
-function r_b(a){a.a.a=true;s_b(a);m5b(a.b);}
-function s_b(a){bz(a.e);ieb('Saving, please wait...');iUb(EMb(),a.a,i_b(new h_b(),a));}
-function t_b(e){var a,b,c,d;d=ddb(new Ecb(),'images/warning-large.png','WARNING: Un-committed changes.');b=qq(new kq(),'Discard');a=qq(new kq(),'Cancel');c=FA(new DA());aB(c,b);aB(c,a);fdb(d,eA(new hx(),'Are you sure you want to discard changes?'));fdb(d,c);b.x(E9b(new D9b(),e,d));a.x(c$b(new b$b(),e,d));uO(d,'warning-Popup');lF(d,fc((fbb()-gF(d))/2),100);oF(d);}
-function u_b(a){sUb(EMb(),a.a.e,a.a.d.o,d_b(new c_b(),a));}
-function v_b(b){var a;bz(b.e);a=ou(b.e);b.h=s1b(new d0b(),b.a,f$b(new y9b(),b),k$b(new j$b(),b),p$b(new o$b(),b),u$b(new t$b(),b),b.g);nbb(b.e,0,0,b.h);Bx(a,0,0,(oA(),rA),(xA(),AA));b.f=m7b(new y5b(),b.a.d,b.g,b.a.e,z$b(new y$b(),b));nbb(b.e,0,1,b.f);ku(a,0,1,3);Fx(a,0,1,(xA(),AA));by(a,0,1,'30%');b.d=r5b(b.a,b);y1b(b.h,E$b(new D$b(),b));nbb(b.e,1,0,b.d);Fx(a,1,0,(xA(),AA));b.c=u8b(new p8b(),b.a.d);nbb(b.e,2,0,b.c);Fx(a,2,0,(xA(),AA));}
-function w_b(a){if(fab(a.a.d.k)){ieb('Refreshing content assistance...');wLb((sLb(),xLb),a.a.d.o,new m_b());}}
-function x_b(a){BUb(EMb(),a.a.e,A9b(new z9b(),a));}
-function y_b(b,a){b.b=a;}
-function z_b(a){var b;b= !zx(ou(a.e),2,0);ay(ou(a.e),0,1,b);ay(ou(a.e),2,0,b);}
-function x9b(){}
-_=x9b.prototype=new es();_.tN=bhc+'RuleViewer';_.tI=561;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function f$b(b,a){b.a=a;return b;}
-function h$b(a){s_b(a.a);}
-function i$b(){h$b(this);}
-function y9b(){}
-_=y9b.prototype=new xU();_.nb=i$b;_.tN=bhc+'RuleViewer$1';_.tI=562;function A9b(b,a){b.a=a;return b;}
-function C9b(a){this.a.a=bc(a,97);v_b(this.a);eeb();}
-function z9b(){}
-_=z9b.prototype=new hdb();_.md=C9b;_.tN=bhc+'RuleViewer$10';_.tI=563;function E9b(b,a,c){b.a=a;b.b=c;return b;}
-function a$b(a){m5b(this.a.b);this.b.hc();}
-function D9b(){}
-_=D9b.prototype=new xU();_.wc=a$b;_.tN=bhc+'RuleViewer$11';_.tI=564;function c$b(b,a,c){b.a=c;return b;}
-function e$b(a){this.a.hc();}
-function b$b(){}
-_=b$b.prototype=new xU();_.wc=e$b;_.tN=bhc+'RuleViewer$12';_.tI=565;function k$b(b,a){b.a=a;return b;}
-function m$b(a){r_b(a.a);}
-function n$b(){m$b(this);}
-function j$b(){}
-_=j$b.prototype=new xU();_.nb=n$b;_.tN=bhc+'RuleViewer$2';_.tI=566;function p$b(b,a){b.a=a;return b;}
-function r$b(a){z_b(a.a);}
-function s$b(){r$b(this);}
-function o$b(){}
-_=o$b.prototype=new xU();_.nb=s$b;_.tN=bhc+'RuleViewer$3';_.tI=567;function u$b(b,a){b.a=a;return b;}
-function w$b(a){u_b(a.a);}
-function x$b(){w$b(this);}
-function t$b(){}
-_=t$b.prototype=new xU();_.nb=x$b;_.tN=bhc+'RuleViewer$4';_.tI=568;function z$b(b,a){b.a=a;return b;}
-function B$b(a){x_b(a.a);}
-function C$b(){B$b(this);}
-function y$b(){}
-_=y$b.prototype=new xU();_.nb=C$b;_.tN=bhc+'RuleViewer$5';_.tI=569;function E$b(b,a){b.a=a;return b;}
-function a_b(a){if(mbb(a.a.e)){t_b(a.a);}else{m5b(a.a.b);}}
-function b_b(){a_b(this);}
-function D$b(){}
-_=D$b.prototype=new xU();_.nb=b_b;_.tN=bhc+'RuleViewer$6';_.tI=570;function d_b(b,a){b.a=a;return b;}
-function f_b(b,a){m5b(b.a.b);}
-function g_b(a){f_b(this,a);}
-function c_b(){}
-_=c_b.prototype=new hdb();_.md=g_b;_.tN=bhc+'RuleViewer$7';_.tI=571;function i_b(b,a){b.a=a;return b;}
-function k_b(b,a){var c;w_b(b.a);c=bc(a,1);if(cc(b.a.d,98)){ebb(bc(b.a.d,98));}ebb(b.a.f);ebb(b.a.c);if(c===null){jcb('Failed to check in the item. Please contact your system administrator.');return;}x_b(b.a);}
-function l_b(a){k_b(this,a);}
-function h_b(){}
-_=h_b.prototype=new hdb();_.md=l_b;_.tN=bhc+'RuleViewer$8';_.tI=572;function o_b(){eeb();}
-function m_b(){}
-_=m_b.prototype=new xU();_.nb=o_b;_.tN=bhc+'RuleViewer$9';_.tI=573;function tac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=FA(new DA());d.a=lu(new fu());d.a.ve(0,0,CC(new AC(),'Version history'));Ex(d.a.n,0,0,'metadata-Widget');b=ou(d.a);Dx(b,0,0,(oA(),qA));d.c=odb(new ndb(),'images/refresh.gif');fC(d.c,C_b(new B_b(),d));d.a.ve(0,1,d.c);Dx(b,0,1,(oA(),rA));uO(f,'version-browser-Border');aB(f,d.a);d.a.xe('100%');f.xe('100%');gs(d,f);return d;}
-function uac(a){yac(a);ig(aac(new F_b(),a));}
-function wac(b,a){return nac(new mac(),b,a);}
-function xac(a){yUb(EMb(),a.e,eac(new dac(),a));}
-function yac(a){jC(a.c,'images/searching.gif');}
-function zac(a){jC(a.c,'images/refresh.gif');}
-function Aac(b,a){var c;c=rbc(new Bac(),b.b,a,b.e,b.d);lF(c,100,100);oF(c);}
-function A_b(){}
-_=A_b.prototype=new es();_.tN=bhc+'VersionBrowser';_.tI=574;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function C_b(b,a){b.a=a;return b;}
-function E_b(a){uac(this.a);}
-function B_b(){}
-_=B_b.prototype=new xU();_.wc=E_b;_.tN=bhc+'VersionBrowser$1';_.tI=575;function aac(b,a){b.a=a;return b;}
-function cac(){xac(this.a);}
-function F_b(){}
-_=F_b.prototype=new xU();_.nb=cac;_.tN=bhc+'VersionBrowser$2';_.tI=576;function eac(b,a){b.a=a;return b;}
-function gac(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ve(1,0,CC(new AC(),'No history.'));zac(i.a);return;}g=bc(a,62);f=g.a;c=Bb('[Ljava.lang.String;',610,1,['Version number','Comment','Date Modified','Status']);d=wac(i.a,f);h=egc(d,c,0,false);h.xe('100%');i.a.a.ve(1,0,h);b=ou(i.a.a);ju(b,1,0,2);e=qq(new kq(),'View selected version');e.x(jac(new iac(),i,h));i.a.a.ve(2,1,e);ju(b,2,1,3);Dx(b,2,1,(oA(),pA));zac(i.a);}
-function hac(a){gac(this,a);}
-function dac(){}
-_=dac.prototype=new hdb();_.md=hac;_.tN=bhc+'VersionBrowser$3';_.tI=577;function jac(b,a,c){b.a=a;b.b=c;return b;}
-function lac(a){if(this.b.f==0)return;Aac(this.a.a,xfc(this.b));}
-function iac(){}
-_=iac.prototype=new xU();_.wc=lac;_.tN=bhc+'VersionBrowser$4';_.tI=578;function nac(b,a,c){b.a=c;return b;}
-function pac(){return this.a.a;}
-function qac(a){return this.a[a].b;}
-function rac(b,a){return this.a[b].c[a];}
-function sac(b,a){return null;}
-function mac(){}
-_=mac.prototype=new xU();_.wb=pac;_.Cb=qac;_.bc=rac;_.cc=sac;_.tN=bhc+'VersionBrowser$5';_.tI=579;function sbc(){sbc=v3;zs();}
-function rbc(d,a,e,b,c){sbc();xs(d,false);d.c=e;d.a=b;d.b=c;uO(d,'version-Popup');ieb('Loading version');BUb(EMb(),e,Dac(new Cac(),d,a));return d;}
-function tbc(b,c){var a;a=F2b(new A2b(),lO(c)+10,mO(c)+10,'Restore this version?');c3b(a,jbc(new ibc(),b,a));d3b(a);}
-function Bac(){}
-_=Bac.prototype=new us();_.tN=bhc+'VersionViewer';_.tI=580;_.a=null;_.b=null;_.c=null;function Dac(b,a,c){b.a=a;b.b=c;return b;}
-function Fac(c){var a,b,d,e,f,g;a=bc(c,97);a.c=true;a.d.n=this.b.n;Bs(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=lu(new fu());d=ou(e);f=qq(new kq(),'Restore this version');f.x(bbc(new abc(),this));e.ve(0,0,f);Dx(d,0,0,(oA(),qA));b=qq(new kq(),'Close');b.x(fbc(new ebc(),this));e.ve(0,1,b);Dx(d,0,1,(oA(),rA));g=p_b(new x9b(),a,true);g.xe('100%');e.ve(1,0,g);ju(d,1,1,2);e.xe('100%');sO(e,800,300);Cs(this.a,e);}
-function Cac(){}
-_=Cac.prototype=new hdb();_.md=Fac;_.tN=bhc+'VersionViewer$1';_.tI=581;function bbc(b,a){b.a=a;return b;}
-function dbc(a){tbc(this.a.a,a);}
-function abc(){}
-_=abc.prototype=new xU();_.wc=dbc;_.tN=bhc+'VersionViewer$2';_.tI=582;function fbc(b,a){b.a=a;return b;}
-function hbc(a){this.a.a.hc();}
-function ebc(){}
-_=ebc.prototype=new xU();_.wc=hbc;_.tN=bhc+'VersionViewer$3';_.tI=583;function jbc(b,a,c){b.a=a;b.b=c;return b;}
-function lbc(){fVb(EMb(),this.a.c,this.a.a,b3b(this.b),nbc(new mbc(),this));}
-function ibc(){}
-_=ibc.prototype=new xU();_.nb=lbc;_.tN=bhc+'VersionViewer$4';_.tI=584;function nbc(b,a){b.a=a;return b;}
-function pbc(b,a){b.a.a.hc();B$b(b.a.a.b);}
-function qbc(a){pbc(this,a);}
-function mbc(){}
-_=mbc.prototype=new hdb();_.md=qbc;_.tN=bhc+'VersionViewer$5';_.tI=585;function xcc(a){a.b=(FZ(),a0);}
-function ycc(a){xcc(a);a.c=sK(new eK());a.c.xe('100%');a.c.ne('100%');tK(a.c,Acc(a),"<img src='images/explore.gif'/>Explore",true);zK(a.c,0);gs(a,a.c);return a;}
-function Acc(i){var a,b,c,d,e,f,g,h;h=lu(new fu());i.a=Bdc(new Fcc(),wbc(new vbc(),i),'rulelist');b=ou(h);d=v_(new e_(),Abc(new zbc(),i,h));f=Fec(new eec(),Ebc(new Dbc(),i));h.ve(0,1,f);Bx(b,0,0,(oA(),qA),(xA(),AA));Bx(b,0,1,(oA(),qA),(xA(),AA));by(b,0,0,'30%');by(b,0,1,'70%');e=qq(new kq(),'Create new rule');e.pe('Create new rule');e.x(dcc(new ccc(),i));g=odb(new ndb(),'images/system_search_small.png');g.pe('Show the rule finder.');fC(g,hcc(new gcc(),i,h,f));a=FA(new DA());aB(a,e);aB(a,g);uO(a,'new-asset-Icons');c=hP(new fP());iP(c,a);iP(c,d);c.xe('100%');h.ve(0,0,c);return h;}
-function Bcc(c,a,b){return lcc(new kcc(),c,b,a);}
-function Ccc(b,a){b.b=a;}
-function Dcc(a,b){u5b(a.b,a.c,b,false);}
-function Ecc(c){var a,b,d;a=70;d=100;b=h8b(new y7b(),ucc(new tcc(),c),true,null,'Create a new rule');lF(b,a,d);oF(b);}
-function ubc(){}
-_=ubc.prototype=new es();_.tN=chc+'AssetBrowser';_.tI=586;_.a=null;_.c=null;function wbc(b,a){b.a=a;return b;}
-function ybc(a){Dcc(this.a,a);}
-function vbc(){}
-_=vbc.prototype=new xU();_.td=ybc;_.tN=chc+'AssetBrowser$1';_.tI=587;function Abc(b,a,c){b.a=a;b.b=c;return b;}
-function Cbc(b){var a;a=Bcc(this.a,this.a.a,b);this.b.ve(0,1,this.a.a);ieb('Retrieving list, please wait...');ig(a);bec(this.a.a,a);}
-function zbc(){}
-_=zbc.prototype=new xU();_.ee=Cbc;_.tN=chc+'AssetBrowser$2';_.tI=588;function Ebc(b,a){b.a=a;return b;}
-function acc(b,a){Dcc(b.a,a);}
-function bcc(a){acc(this,a);}
-function Dbc(){}
-_=Dbc.prototype=new xU();_.td=bcc;_.tN=chc+'AssetBrowser$3';_.tI=589;function dcc(b,a){b.a=a;return b;}
-function fcc(a){Ecc(this.a);}
-function ccc(){}
-_=ccc.prototype=new xU();_.wc=fcc;_.tN=chc+'AssetBrowser$4';_.tI=590;function hcc(b,a,d,c){b.b=d;b.a=c;return b;}
-function jcc(a){this.b.ve(0,1,this.a);}
-function gcc(){}
-_=gcc.prototype=new xU();_.wc=jcc;_.tN=chc+'AssetBrowser$5';_.tI=591;function lcc(b,a,d,c){b.b=d;b.a=c;return b;}
-function ncc(){ieb('Loading list, please wait...');CUb(EMb(),this.b,pcc(new occ(),this,this.a));}
-function kcc(){}
-_=kcc.prototype=new xU();_.nb=ncc;_.tN=chc+'AssetBrowser$6';_.tI=592;function pcc(b,a,c){b.a=c;return b;}
-function rcc(c,a){var b;b=bc(a,62);aec(c.a,b);eeb();}
-function scc(a){rcc(this,a);}
-function occ(){}
-_=occ.prototype=new hdb();_.md=scc;_.tN=chc+'AssetBrowser$7';_.tI=593;function ucc(b,a){b.a=a;return b;}
-function wcc(a){Dcc(this.a,a);}
-function tcc(){}
-_=tcc.prototype=new xU();_.td=wcc;_.tN=chc+'AssetBrowser$8';_.tI=594;function Cdc(){Cdc=v3;cec=EMb();}
-function Adc(a){a.c=lu(new fu());a.e=odb(new ndb(),'images/refresh.gif');a.a=BC(new AC());}
-function Bdc(c,a,b){Cdc();Adc(c);Edc(c);Fdc(c,b);c.e.ue(false);c.b=a;c.e.pe('Refresh current list. Will show any changes.');fC(c.e,bdc(new adc(),c));return c;}
-function Ddc(a){return CZb(xfc(a.f));}
-function Edc(c){var a,b;a=ou(c.c);c.c.xe('100%');Bx(a,0,0,(oA(),qA),(xA(),AA));b=odb(new ndb(),'images/open_item.gif');fC(b,kdc(new jdc(),c));b.pe('Open item');c.c.ve(0,1,b);Bx(a,0,1,(oA(),rA),(xA(),AA));gs(c,c.c);}
-function Fdc(b,a){EUb(cec,a,fdc(new edc(),b));}
-function aec(g,a){var b,c,d,e,f;b=ou(g.c);g.c.ve(1,0,null);if(a===null||a.a.a==0){d=new ndc();g.f=egc(d,g.g.a,25,true);g.a.ue(false);}else{f=a.a;c=udc(new tdc(),g,f);g.f=egc(c,g.g.a,25,true);e=FA(new DA());aB(e,g.e);g.a.ue(true);bD(g.a,'  '+a.a.a+' items.');aB(e,g.a);g.c.ve(0,0,e);}g.f.xe('100%');g.c.ve(1,0,g.f);ju(b,1,0,2);}
-function bec(b,a){b.d=a;b.e.ue(true);}
-function Fcc(){}
-_=Fcc.prototype=new es();_.tN=chc+'AssetItemListViewer';_.tI=595;_.b=null;_.d=null;_.f=null;_.g=null;var cec;function bdc(b,a){b.a=a;return b;}
-function ddc(a){ieb('Refreshing list, please wait...');this.a.d.nb();}
-function adc(){}
-_=adc.prototype=new xU();_.wc=ddc;_.tN=chc+'AssetItemListViewer$1';_.tI=596;function fdc(b,a){b.a=a;return b;}
-function hdc(b,a){b.a.g=bc(a,99);aec(b.a,null);}
-function idc(a){hdc(this,a);}
-function edc(){}
-_=edc.prototype=new hdb();_.md=idc;_.tN=chc+'AssetItemListViewer$2';_.tI=597;function kdc(b,a){b.a=a;return b;}
-function mdc(a){ieb('Loading item, please wait ...');this.a.b.td(CZb(xfc(this.a.f)));}
-function jdc(){}
-_=jdc.prototype=new xU();_.wc=mdc;_.tN=chc+'AssetItemListViewer$3';_.tI=598;function pdc(){return 0;}
-function qdc(a){return '';}
-function rdc(b,a){return '';}
-function sdc(b,a){return null;}
-function ndc(){}
-_=ndc.prototype=new xU();_.wb=pdc;_.Cb=qdc;_.bc=rdc;_.cc=sdc;_.tN=chc+'AssetItemListViewer$4';_.tI=599;function udc(b,a,c){b.a=a;b.b=c;return b;}
-function wdc(){return this.b.a;}
-function xdc(a){return this.b[a].b;}
-function ydc(b,a){return this.b[b].c[a];}
-function zdc(b,a){if(qV(this.a.g.a[a],'*')){return eC(new oB(),'images/'+q5b(this.b[b].a));}else{return null;}}
-function tdc(){}
-_=tdc.prototype=new xU();_.wb=wdc;_.Cb=xdc;_.bc=ydc;_.cc=zdc;_.tN=chc+'AssetItemListViewer$5';_.tI=600;function Fec(d,a){var b,c;d.c=ucb(new rcb(),'images/system_search.png','');d.e=qab(new gab(),gec(new fec(),d));uO(d.e,'gwt-TextBox');d.b=a;c=FA(new DA());b=qq(new kq(),'Go');b.x(kec(new jec(),d));aB(c,d.e);aB(c,b);d.a=cr(new Fq(),'Include archived items in list');uO(d.a,'small-Text');gr(d.a,false);vcb(d.c,'Find items with a name matching:',c);ycb(d.c,d.a);ycb(d.c,eA(new hx(),'<hr/>'));d.d=lu(new fu());d.d.ve(0,0,eA(new hx(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));ycb(d.c,d.d);uO(d.d,'editable-Surface');oL(d.e,bfc(d));uO(d.c,'quick-find');gs(d,d.c);return d;}
-function bfc(a){return sec(new rec(),a);}
-function cfc(c,a,b){FUb(EMb(),a,5,fr(c.a),oec(new nec(),c,b));}
-function dfc(f,d){var a,b,c,e;a=lu(new fu());if(d.a.a==1){acc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(qV(e.b,'MORE')){a.ve(b,0,eA(new hx(),'<i>There are more items... try narrowing the search terms..<\/i>'));ju(ou(a),b,0,3);}else{a.ve(b,0,CC(new AC(),e.c[0]));a.ve(b,1,CC(new AC(),e.c[1]));c=qq(new kq(),'Open');c.x(Cec(new Bec(),f,e));a.ve(b,2,c);}}a.xe('100%');f.d.ve(0,0,a);eeb();}
-function efc(a){ieb('Searching...');FUb(EMb(),rL(a.e),15,fr(a.a),yec(new xec(),a));}
-function eec(){}
-_=eec.prototype=new es();_.tN=chc+'QuickFindWidget';_.tI=601;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function gec(b,a){b.a=a;return b;}
-function iec(c,b,a){cfc(c.a,b,a);}
-function fec(){}
-_=fec.prototype=new xU();_.tN=chc+'QuickFindWidget$1';_.tI=602;function kec(b,a){b.a=a;return b;}
-function mec(a){efc(this.a);}
-function jec(){}
-_=jec.prototype=new xU();_.wc=mec;_.tN=chc+'QuickFindWidget$2';_.tI=603;function oec(b,a,c){b.a=c;return b;}
-function qec(a){var b,c,d;d=bc(a,62);c=Ab('[Ljava.lang.String;',[610],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!qV(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}oab(this.a,c);}
-function nec(){}
-_=nec.prototype=new hdb();_.md=qec;_.tN=chc+'QuickFindWidget$3';_.tI=604;function sec(b,a){b.a=a;return b;}
-function uec(a,b,c){}
-function vec(a,b,c){}
-function wec(a,b,c){if(b==13){efc(this.a);}}
-function rec(){}
-_=rec.prototype=new xU();_.Fc=uec;_.ad=vec;_.bd=wec;_.tN=chc+'QuickFindWidget$4';_.tI=605;function yec(b,a){b.a=a;return b;}
-function Aec(a){var b;b=bc(a,62);dfc(this.a,b);}
-function xec(){}
-_=xec.prototype=new hdb();_.md=Aec;_.tN=chc+'QuickFindWidget$5';_.tI=606;function Cec(b,a,c){b.a=a;b.b=c;return b;}
-function Eec(a){acc(this.a.b,this.b.b);}
-function Bec(){}
-_=Bec.prototype=new xU();_.wc=Eec;_.tN=chc+'QuickFindWidget$6';_.tI=607;function hfc(a){a.a=FY(new DY());}
-function ifc(a){hfc(a);return a;}
-function jfc(b,a,c){if(a>=b.a.b){kfc(b,a);}mZ(b.a,a,c);}
-function kfc(c,a){var b;for(b=c.a.b;b<=a;b++){bZ(c.a,null);}}
-function mfc(b,a){return gZ(b.a,a);}
-function nfc(b,a){b.b=a;}
-function ofc(c){var a,b,d;if(null===c){return (-1);}d=bc(c,100);a=bc(mfc(this,this.b),34);b=bc(mfc(d,this.b),34);return a.ab(b);}
-function gfc(){}
-_=gfc.prototype=new xU();_.ab=ofc;_.tN=dhc+'RowData';_.tI=608;_.b=0;function qfc(a){a.j=FY(new DY());a.i=FY(new DY());}
-function rfc(c,b,a){Aw(c,b+1,a);qfc(c);Dy(c,c);uO(c,hgc);return c;}
-function sfc(c,b,a){if(b!=0){return;}Efc(c,a);agc(c,a);wfc(c);}
-function ufc(e){var a,b,c,d,f;if(e.h==cgc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=bc(gZ(e.j,c),100);for(a=0;a<b.a.b;a++){f=mfc(b,a);Afc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=bc(gZ(e.j,c),100);for(a=0;a<b.a.b;a++){f=mfc(b,a);Afc(e,d,a,f.tS());}}}}
-function vfc(d){var a,b,c;c=0;for(b=d.i.mc();b.gc();){a=bc(b.pc(),1);yfc(d,a,c++);}}
-function wfc(a){vfc(a);ufc(a);}
-function xfc(a){return iz(a,a.f,a.e);}
-function yfc(d,c,b){var a;a=cV(new bV());eV(a,c);eV(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==cgc){eV(a,"'"+d.a+"' alt='Ascending' ");}else{eV(a,"'"+d.c+"' alt='Descending' ");}}else{eV(a,"'"+d.b+"'");}eV(a,'/>');wz(d,0,b,iV(a));ly(d.p,0,igc);}
-function zfc(c,b,a){if(b%2==0){Ex(c.n,b,a,ggc);}}
-function Afc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ve(b,a,eC(new oB(),'images/'+q5b(d)));else yz(c,b,a,d);}}
-function Bfc(c,b,a){aZ(c.i,a,b);yfc(c,b,a);}
-function Cfc(b,a){b.d=a;}
-function Dfc(b,a){b.e=a;ay(b.n,0,a,false);}
-function Efc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=bc(gZ(d.j,b),100);nfc(a,c);}}
-function Ffc(d,b,a,e,f){var c;if(b==0)return;zfc(d,b,a);if(b-1>=d.j.b||null===gZ(d.j,b-1)){aZ(d.j,b-1,ifc(new gfc()));}c=bc(gZ(d.j,b-1),100);jfc(c,a,e);if(f===null){yz(d,b,a,''+e+'');}else{d.ve(b,a,f);}if(a==d.e){ay(d.n,b,a,false);}}
-function agc(b,a){c0(b.j);if(b.g!=a){b.h=cgc;}else{b.h=b.h==cgc?dgc:cgc;}b.g=a;}
-function bgc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){Ex(a,c,b,jgc);if(d.f%2==0&&d.f!=0){Ex(a,d.f,b,ggc);}else{Ax(a,d.f,b,jgc);}}d.f=c;}}
-function egc(a,d,b,c){var e,f,g;g=null;if(b>a.wb()){g=rfc(new pfc(),b,d.a+1);Ffc(g,1,1,'',null);}else{g=rfc(new pfc(),a.wb()+1,d.a+1);}Bfc(g,'',0);for(e=0;e<d.a;e++){Bfc(g,d[e],e+1);}Dfc(g,0);for(e=0;e<a.wb();e++){Ffc(g,e+1,0,a.Cb(e),null);for(f=0;f<d.a;f++){Ffc(g,e+1,f+1,a.bc(e,f),a.cc(e,f));}}Cfc(g,c);return g;}
-function fgc(c,b,a){if(b<=this.j.b){bgc(this,b);sfc(this,b,a);}}
-function pfc(){}
-_=pfc.prototype=new yw();_.uc=fgc;_.tN=dhc+'SortableTable';_.tI=609;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var cgc=0,dgc=1,ggc='rule-ListEvenRow',hgc='rule-List',igc='rule-ListHeader',jgc='rule-SelectedRow';function rS(){b5(D4(new s4()));}
-function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{rS();}catch(a){b(d);}else{rS();}}
-var ic=[{},{12:1},{1:1,12:1,34:1,35:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{2:1,12:1},{12:1},{12:1},{12:1},{3:1,12:1},{12:1},{8:1,12:1},{8:1,12:1},{8:1,12:1},{12:1},{2:1,6:1,12:1},{2:1,12:1},{9:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1},{3:1,12:1},{3:1,12:1,39:1},{3:1,12:1,92:1},{3:1,12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,36:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,49:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1,33:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,43:1},{12:1,49:1,56:1}!
 ,{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,81:1},{12:1,20:1,36:1,37:1,81:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1},{12:1},{12:1,46:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,49:1,56:1},{12:1,39:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,49:1},{12:1},{12:1,20:1,36:1,37:1,87:1},{12:1,20:1,36:1,37:1,48:1,54:1},{9:1,12:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,20:1,36:1,37:1,54:1},{12:1,39:1},{12:1,39:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,50:1,54:1},{12:1,20:1,36:1,37:1,54:1},{12:1,20:1,36:1,37:1,42:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,80:1},{12:1,20:1,36:1,37:1,54:1},{12:1,36:1,52:1},{12:1,36:1,52:1},{12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1,54:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12!
 :1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12
:1},{12:1},{3:1,12:1},{12:1,55:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{3:1,12:1},{12:1,35:1},{3:1,12:1},{12:1},{12:1,57:1},{12:1,49:1,58:1},{12:1,49:1,58:1},{12:1},{12:1,49:1},{12:1},{12:1},{12:1,34:1,59:1},{12:1,57:1},{12:1,60:1},{12:1,49:1,58:1},{12:1},{12:1,49:1,58:1},{3:1,12:1},{12:1,49:1,56:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{7:1,12:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{8:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1,61:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1}!
 ,{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,53:1},{12:1,42:1},{12:1},{12:1},{12:1,36:1,52:1,64:1},{12:1,20:1,36:1,37:1,46:1,80:1},{12:1,20:1,36:1,37:1,85:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{12:1,20:1,36:1,37:1,54:1,67:1,68:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,20:1,36:1,37:1,81:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,65:1},{12:1,20:1,36:1,37:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,54:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1},{12:1,38:1,39:1,91:1},{12:1,23:1,24:1,38:1,39:1},{12:1,18:1,38:1,39:1},{12:1,23:1,24!
 :1,25:1,38:1,39:1},{12:1,23:1,24:1,25:1,26:1,38:1,39:1},{12:1,23:1,27:
1,38:1,39:1},{12:1,23:1,24:1,28:1,38:1,39:1},{12:1,23:1,24:1,28:1,29:1,38:1,39:1},{12:1,22:1,30:1,38:1,39:1},{12:1,17:1,31:1,38:1,39:1},{12:1,38:1,39:1,40:1},{12:1,15:1,38:1,39:1,40:1},{12:1,14:1,22:1,23:1,38:1,39:1},{12:1,16:1,22:1,38:1,39:1},{12:1,21:1,38:1,39:1},{12:1,38:1,39:1,83:1},{12:1,17:1,32:1,38:1,39:1,40:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,84:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,41:1},{4:1,12:1},{12:1,46:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1},{12:1,46:1},{12:1,41:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,82:1,98:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{!
 12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,41:1},{12:1,42:1},{4:1,12:1},{12:1,41:1},{12:1,41:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,45:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,45:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,46:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1},{12:1,41:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{4!
 :1,12:1},{12:1,42:1},{12:1,41:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{1
2:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1},{4:1,12:1},{12:1},{12:1,42:1},{4:1,12:1},{12:1,53:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,90:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{4:1,12:1},{12:1,42:1},{12:1,53:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1},{10:1,12:1,39:1},{3:1,12:1,39:1,70:1},{12:1,39:1,93:1},{12:1,19:1,39:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1,39:1,97:1},{12:1,39:1,95:1},{12:1},{12:1},{12:1},{12:1},{3:1,12:1,39:1,69:1},{11:1,12:1,39:1},{12:1,39:1,99:1},{12:1,39:!
 1,62:1},{12:1,13:1,39:1},{12:1,39:1,89:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{4:1,12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,44:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1,42:1},{12:1,42:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,46:1},{12:1},{4:1,12:1},{4:1,12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1},{12:1,41:1},{12:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1,42:1},{5:1,12:1,20:1,36:1,37:1,54:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,41:1},{12:1,20:1,36:1,37:1},{12:1,20:1,36:1,37:1,66:1,68:1,98:1},{12:1,42:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1!
 },{4:1,12:1},{4:1,12:1},{4:1,12:1},{4:1,12:1},{12:1},{12:1},{4:1,12:1}
,{12:1,20:1,36:1,37:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,42:1},{12:1},{5:1,12:1,20:1,36:1,37:1,47:1,54:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1},{12:1},{12:1,42:1},{12:1,42:1},{4:1,12:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1,42:1},{12:1},{12:1,42:1},{12:1},{12:1},{12:1,20:1,36:1,37:1},{12:1},{12:1,42:1},{12:1},{12:1,46:1},{12:1},{12:1,42:1},{12:1,34:1,100:1},{12:1,20:1,36:1,37:1,51:1,54:1},{12:1,63:1},{12:1,88:1},{12:1,86:1},{12:1},{12:1},{12:1,94:1},{12:1,72:1,77:1,78:1},{12:1,79:1},{12:1,74:1,77:1},{12:1,75:1},{12:1,73:1},{12:1,71:1},{12:1},{12:1},{12:1,76:1},{12:1,77:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,78:1},{12:1,77:1},{12:1,75:1},{12:1,75:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1},{12:1}];if (org_drools_brms_JBRMS) {  var __gwt_initHandlers = org_drools_brms_JBRMS.__gwt_initHandlers;  org_drools_brms_JBRMS.onScriptLoad(gwtOnLoad);}})();
\ No newline at end of file

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/979A642150C930E88104BB2A12B4EA6E.cache.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cache-entry>
-	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_TypeSerializer" hash="619B51D664C2EA16C242AAF2AF6BA7E6"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.BuilderResult_FieldSerializer" hash="31FA4ADBFB94FFD9001BA8C2A4417504"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.DSLSentence_FieldSerializer" hash="35AB7D23CC662D4F726060AA9938F6C6"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableDataResult_FieldSerializer" hash="BFC3EC8D02BADBA251CA3B7A7F85C809"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleAttribute_FieldSerializer" hash="7BF092FF4AE3E8CB784A96421E7BC6B4"/>
-	<generated-type-hash class="com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException_FieldSerializer" hash="FF198044879E67E1ACF2E0C29CC58CB5"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.MultiWordSuggestOracle_MultiWordSuggestion_FieldSerializer" hash="1721A875793F79F044BA9AEC6543C8A2"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.TreeImages_generatedBundle" hash="C4DB9D53C840859028C6F483DB58A75C"/>
-	<generated-type-hash class="com.google.gwt.user.client.rpc.SerializableException_FieldSerializer" hash="1CB9B63ABEC9BE7E663F6C56AA395208"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Request_FieldSerializer" hash="93219A0D78603408F1E24CE444809ADE"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableConfig_FieldSerializer" hash="68BF54922D06AC518871EB9FEFD7D68E"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionRetractFact_FieldSerializer" hash="3ABE2631C28ACB7B3C1358BD27C80255"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SnapshotInfo_FieldSerializer" hash="995C2E7AEC07438074706D40B4864FF5"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertFact_FieldSerializer" hash="B3DA8CF19248044B9B347AFEE8AAC7F7"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.ValidatedResponse_FieldSerializer" hash="15269178DE71D238F26587B3095E7A9A"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint_FieldSerializer" hash="8606C355A0F17A64941EB10EFAB41036"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionSetField_FieldSerializer" hash="7F0BA1987E3FB650C44049758B209A0E"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint_FieldSerializer" hash="F30861DCB878C093201710AE55E3EF52"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFactPattern_FieldSerializer" hash="85DD7A29F613D6A493314730060FF12A"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldValue_FieldSerializer" hash="C12B27B0B8651B5CCA2358C044C74DD1"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.DetailedSerializableException_FieldSerializer" hash="CE21C342ABA475456EAAE97B0AE44393"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.MetaData_FieldSerializer" hash="C7F537CFDF5A4E02C318B4614CEC20EA"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact_FieldSerializer" hash="8646F66FFEBDCE52535B8FBA9AE37830"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.SuggestionCompletionEngine_FieldSerializer" hash="1BED05A61D2EFBC600410686A3304B3E"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RuleAsset_FieldSerializer" hash="7D9F400F79A33BD99A5721E52B6EDBA7"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.SingleFieldConstraint_FieldSerializer" hash="C2DB414BB43FE22A8E8CDBA910564AA6"/>
-	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Response_FieldSerializer" hash="1C6D42E0AC1FE9CDD63B791E11BD9615"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.PackageConfigData_FieldSerializer" hash="1C8237E912FA51556E3496683D32C8B5"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.FactPattern_FieldSerializer" hash="5535A6C88015EE51C5F4FA808DFAA8ED"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SessionExpiredException_FieldSerializer" hash="0A173F0D6310FDB17BD90CBB1948DC75"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.TableDataRow_FieldSerializer" hash="411D058D97408AAE2C3EBA1620048463"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_Proxy" hash="EE514DB88A5F377A761E4D0AAB187640"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldList_FieldSerializer" hash="73DAB0917FEA7A2E484F4B12C200C868"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_TypeSerializer" hash="8DCA6439D096072B75D6701D8B54A1DA"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionUpdateField_FieldSerializer" hash="53DAC10B208EAD97D6542560F2C8BAAD"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.RuleContentText_FieldSerializer" hash="9F5834F874613140D0BDEC4056C49928"/>
-	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_Proxy" hash="0549B5DD064B695F228AA7312765E9C0"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ConnectiveConstraint_FieldSerializer" hash="BF0E8BCBA71D0333FD6536A3B7B09370"/>
-	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleModel_FieldSerializer" hash="2A44CFABD8B63D33EFAA2FF86226638A"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.TextBoxImpl" out="com.google.gwt.user.client.ui.impl.TextBoxImplIE6"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.ListBox.Impl" out="com.google.gwt.user.client.ui.ListBox.Impl"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.FocusImpl" out="com.google.gwt.user.client.ui.impl.FocusImplIE6"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.ClippedImageImpl" out="com.google.gwt.user.client.ui.impl.ClippedImageImplIE6"/>
-	<rebind-decision in="org.drools.brms.client.JBRMSEntryPoint" out="org.drools.brms.client.JBRMSEntryPoint"/>
-	<rebind-decision in="org.drools.brms.client.rpc.RepositoryService" out="org.drools.brms.client.rpc.RepositoryService_Proxy"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.HistoryImpl" out="com.google.gwt.user.client.impl.HistoryImplIE6"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.DOMImpl" out="com.google.gwt.user.client.impl.DOMImplIE6"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.PopupImpl" out="com.google.gwt.user.client.ui.impl.PopupImplIE6"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.TreeImages" out="com.google.gwt.user.client.ui.TreeImages_generatedBundle"/>
-	<rebind-decision in="com.google.gwt.user.client.ui.impl.FormPanelImpl" out="com.google.gwt.user.client.ui.impl.FormPanelImplIE6"/>
-	<rebind-decision in="com.google.gwt.user.client.impl.HTTPRequestImpl" out="com.google.gwt.user.client.impl.HTTPRequestImplIE6"/>
-	<rebind-decision in="org.drools.brms.client.rpc.SecurityService" out="org.drools.brms.client.rpc.SecurityService_Proxy"/>
-</cache-entry>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.html (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.html)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.html	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.html	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3413 @@
+<html><head><script>var $wnd = parent;var $doc = $wnd.document;var $moduleName, $moduleBase;</script></head><body><script><!--
+var _,hfc='com.google.gwt.core.client.',ifc='com.google.gwt.lang.',jfc='com.google.gwt.user.client.',kfc='com.google.gwt.user.client.impl.',lfc='com.google.gwt.user.client.rpc.',mfc='com.google.gwt.user.client.rpc.core.java.lang.',nfc='com.google.gwt.user.client.rpc.core.java.util.',ofc='com.google.gwt.user.client.rpc.impl.',pfc='com.google.gwt.user.client.ui.',qfc='com.google.gwt.user.client.ui.impl.',rfc='java.io.',sfc='java.lang.',tfc='java.util.',ufc='org.drools.brms.client.',vfc='org.drools.brms.client.admin.',wfc='org.drools.brms.client.categorynav.',xfc='org.drools.brms.client.common.',yfc='org.drools.brms.client.decisiontable.',zfc='org.drools.brms.client.modeldriven.',Afc='org.drools.brms.client.modeldriven.brl.',Bfc='org.drools.brms.client.modeldriven.ui.',Cfc='org.drools.brms.client.packages.',Dfc='org.drools.brms.client.rpc.',Efc='org.drools.brms.client.ruleeditor.',Ffc='org.drools.brms.client.rulelist.',agc='org.drools.brms.client.table.';function s2(){}
+function wT(a){return this===a;}
+function xT(){return jV(this);}
+function yT(){return this.tN+'@'+this.hC();}
+function uT(){}
+_=uT.prototype={};_.eQ=wT;_.hC=xT;_.tS=yT;_.toString=function(){return this.tS();};_.tN=sfc+'Object';_.tI=1;function v(){return C();}
+function w(a){return a==null?null:a.tN;}
+var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function C(){return $moduleBase;}
+function D(){return ++E;}
+var E=0;function mV(b,a){b.c=a;return b;}
+function nV(c,b,a){c.c=b;return c;}
+function pV(){return this.c;}
+function qV(){var a,b;a=w(this);b=this.zb();if(b!==null){return a+': '+b;}else{return a;}}
+function lV(){}
+_=lV.prototype=new uT();_.zb=pV;_.tS=qV;_.tN=sfc+'Throwable';_.tI=3;_.c=null;function lS(b,a){mV(b,a);return b;}
+function mS(c,b,a){nV(c,b,a);return c;}
+function kS(){}
+_=kS.prototype=new lV();_.tN=sfc+'Exception';_.tI=4;function AT(b,a){lS(b,a);return b;}
+function BT(c,b,a){mS(c,b,a);return c;}
+function zT(){}
+_=zT.prototype=new kS();_.tN=sfc+'RuntimeException';_.tI=5;function ab(c,b,a){AT(c,'JavaScript '+b+' exception: '+a);return c;}
+function F(){}
+_=F.prototype=new zT();_.tN=hfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
+function fb(a){return A(a);}
+function gb(){return [];}
+function hb(){return function(){};}
+function ib(){return {};}
+function kb(a){return eb(this,a);}
+function jb(a,b){return a===b;}
+function lb(){return fb(this);}
+function nb(){return mb(this);}
+function mb(a){if(a.toString)return a.toString();return '[object]';}
+function cb(){}
+_=cb.prototype=new uT();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=hfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
+function rb(a,b,c){return a[b]=c;}
+function tb(a,b){return sb(a,b);}
+function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
+function ub(b,a){return b[a];}
+function wb(b,a){return b[a];}
+function vb(a){return a.length;}
+function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
+function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new fT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=wU(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
+function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
+function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new vR();}return rb(a,b,c);}
+function ob(){}
+_=ob.prototype=new uT();_.tN=ifc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
+function Eb(a){return String.fromCharCode(a);}
+function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
+function ac(b,a){return b!=null&&Db(b.tI,a);}
+function bc(a){return a&65535;}
+function cc(a){return ~(~a);}
+function dc(a){if(a>(yS(),zS))return yS(),zS;if(a<(yS(),AS))return yS(),AS;return a>=0?Math.floor(a):Math.ceil(a);}
+function fc(){throw new fS();}
+function ec(a){if(a!==null){throw new fS();}return a;}
+function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
+var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
+function lc(a){return a.message;}
+function mc(a){return a.name;}
+function oc(b,a){return b;}
+function nc(){}
+_=nc.prototype=new zT();_.tN=jfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=CX(new AX());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
+function gd(a){fd(a);return a;}
+function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
+function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.pb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(iV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
+function kd(a){if(!gY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
+function ld(b,a){b.c=a;}
+function md(b,a){b.e=a;}
+function nd(b,a){EX(b.b,a);kd(b);}
+function od(a,b){return dT(a-b)>=100;}
+function qc(){}
+_=qc.prototype=new uT();_.tN=jfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=s2;uh=CX(new AX());{th();}}
+function ih(a){kh();return a;}
+function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}iY(uh,a);}
+function lh(a){if(!a.b){iY(uh,a);}a.fe();}
+function nh(b,a){if(a<=0){throw pS(new oS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);EX(uh,b);}
+function mh(b,a){if(a<=0){throw pS(new oS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);EX(uh,b);}
+function oh(a){kh();$wnd.clearInterval(a);}
+function ph(a){kh();$wnd.clearTimeout(a);}
+function qh(b,a){kh();return $wnd.setInterval(function(){b.qb();},a);}
+function rh(b,a){kh();return $wnd.setTimeout(function(){b.qb();},a);}
+function sh(){var a;a=x;{lh(this);}}
+function th(){kh();yh(new eh());}
+function dh(){}
+_=dh.prototype=new uT();_.qb=sh;_.tN=jfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=s2;kh();}
+function sc(b,a){tc();b.a=a;ih(b);return b;}
+function uc(){if(!this.a.c){return;}id(this.a);}
+function rc(){}
+_=rc.prototype=new dh();_.fe=uc;_.tN=jfc+'CommandExecutor$1';_.tI=14;function xc(){xc=s2;kh();}
+function wc(b,a){xc();b.a=a;ih(b);return b;}
+function yc(){md(this.a,false);jd(this.a,iV());}
+function vc(){}
+_=vc.prototype=new dh();_.fe=yc;_.tN=jfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
+function Cc(a){return dY(a.d.b,a.b);}
+function Dc(a){return a.c<a.a;}
+function Ec(b){var a;b.b=b.c;a=dY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
+function Fc(a){hY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
+function ad(b,a){b.a=a;}
+function bd(a){return a.b==(-1);}
+function cd(){return Dc(this);}
+function dd(){return Ec(this);}
+function ed(){Fc(this);}
+function zc(){}
+_=zc.prototype=new uT();_.kc=cd;_.sc=dd;_.ce=ed;_.tN=jfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=s2;rf=CX(new AX());{gf=new ki();Ci(gf);}}
+function sd(a){rd();EX(rf,a);}
+function td(b,a){rd();cj(gf,b,a);}
+function ud(a,b){rd();return qi(gf,a,b);}
+function vd(){rd();return ej(gf,'A');}
+function wd(){rd();return ej(gf,'button');}
+function xd(){rd();return ej(gf,'div');}
+function yd(a){rd();return ej(gf,a);}
+function zd(){rd();return ej(gf,'form');}
+function Ad(){rd();return ej(gf,'iframe');}
+function Bd(){rd();return ej(gf,'img');}
+function Cd(){rd();return fj(gf,'checkbox');}
+function Dd(){rd();return fj(gf,'password');}
+function Ed(a){rd();return ri(gf,a);}
+function Fd(){rd();return fj(gf,'text');}
+function ae(){rd();return ej(gf,'label');}
+function be(a){rd();return gj(gf,a);}
+function ce(){rd();return ej(gf,'span');}
+function de(){rd();return ej(gf,'tbody');}
+function ee(){rd();return ej(gf,'td');}
+function fe(){rd();return ej(gf,'tr');}
+function ge(){rd();return ej(gf,'table');}
+function he(){rd();return ej(gf,'textarea');}
+function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
+function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.wc(b);}finally{ie=d;}}
+function le(b,a){rd();hj(gf,b,a);}
+function me(a){rd();return ij(gf,a);}
+function ne(a){rd();return jj(gf,a);}
+function oe(a){rd();return kj(gf,a);}
+function pe(a){rd();return lj(gf,a);}
+function qe(a){rd();return mj(gf,a);}
+function re(a){rd();return si(gf,a);}
+function se(a){rd();return nj(gf,a);}
+function te(a){rd();return oj(gf,a);}
+function ue(a){rd();return pj(gf,a);}
+function ve(a){rd();return ti(gf,a);}
+function we(a){rd();return ui(gf,a);}
+function xe(a){rd();return qj(gf,a);}
+function ye(a){rd();vi(gf,a);}
+function ze(a){rd();return wi(gf,a);}
+function Ae(a){rd();return mi(gf,a);}
+function Be(a){rd();return ni(gf,a);}
+function Ee(b,a){rd();return zi(gf,b,a);}
+function Ce(a){rd();return xi(gf,a);}
+function De(b,a){rd();return yi(gf,b,a);}
+function bf(a,b){rd();return tj(gf,a,b);}
+function Fe(a,b){rd();return rj(gf,a,b);}
+function af(a,b){rd();return sj(gf,a,b);}
+function cf(a){rd();return uj(gf,a);}
+function df(a){rd();return Ai(gf,a);}
+function ef(a){rd();return vj(gf,a);}
+function ff(a){rd();return Bi(gf,a);}
+function hf(c,a,b){rd();Di(gf,c,a,b);}
+function jf(c,b,d,a){rd();wj(gf,c,b,d,a);}
+function kf(b,a){rd();return Ei(gf,b,a);}
+function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(dY(rf,rf.b-1),5);if(!(c=b.Cc(a))){le(a,true);ye(a);}}return c;}
+function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}Fi(gf,a);}
+function nf(b,a){rd();xj(gf,b,a);}
+function of(b,a){rd();yj(gf,b,a);}
+function pf(a){rd();iY(rf,a);}
+function sf(a){rd();zj(gf,a);}
+function tf(a){rd();qf=a;aj(gf,a);}
+function uf(b,a,c){rd();Aj(gf,b,a,c);}
+function xf(a,b,c){rd();Dj(gf,a,b,c);}
+function vf(a,b,c){rd();Bj(gf,a,b,c);}
+function wf(a,b,c){rd();Cj(gf,a,b,c);}
+function yf(a,b){rd();Ej(gf,a,b);}
+function zf(a,b){rd();Fj(gf,a,b);}
+function Af(a,b){rd();ak(gf,a,b);}
+function Bf(a,b){rd();bk(gf,a,b);}
+function Cf(b,a,c){rd();ck(gf,b,a,c);}
+function Df(b,a,c){rd();dk(gf,b,a,c);}
+function Ef(a,b){rd();bj(gf,a,b);}
+function Ff(a){rd();return ek(gf,a);}
+function ag(){rd();return fk(gf);}
+function bg(){rd();return gk(gf);}
+var ie=null,gf=null,qf=null,rf;function dg(){dg=s2;gg=gd(new qc());}
+function fg(a){dg();nd(gg,a);}
+function eg(a){dg();if(a===null){throw iT(new hT(),'cmd can not be null');}nd(gg,a);}
+var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
+function kg(a){return jg(this,a);}
+function lg(){return fb(hc(this,hg));}
+function mg(){return Ff(this);}
+function hg(){}
+_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=jfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
+function sg(){return fb(hc(this,ng));}
+function tg(){return ze(this);}
+function ng(){}
+_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=jfc+'Event';_.tI=18;function vg(){vg=s2;xg=jk(new ik());}
+function wg(c,b,a){vg();return lk(xg,c,b,a);}
+var xg;function Ag(){Ag=s2;Eg=CX(new AX());{Fg=new rk();if(!tk(Fg)){Fg=null;}}}
+function Bg(a){Ag();EX(Eg,a);}
+function Cg(a){Ag();var b,c;for(b=Eg.qc();b.kc();){c=Fb(b.sc(),7);c.bd(a);}}
+function Dg(){Ag();return Fg!==null?wk(Fg):'';}
+function ah(a){Ag();if(Fg!==null){uk(Fg,a);}}
+function bh(b){Ag();var a;a=x;{Cg(b);}}
+var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(dY((kh(),uh),0),8));}}
+function hh(){return null;}
+function eh(){}
+_=eh.prototype=new uT();_.ud=gh;_.vd=hh;_.tN=jfc+'Timer$1';_.tI=19;function xh(){xh=s2;Ah=CX(new AX());ii=CX(new AX());{di();}}
+function yh(a){xh();EX(Ah,a);}
+function zh(a){xh();$wnd.alert(a);}
+function Bh(a){xh();return $wnd.confirm(a);}
+function Ch(){xh();var a,b;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);b.ud();}}
+function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);c=b.vd();{d=c;}}return d;}
+function Eh(){xh();var a,b;for(a=ii.qc();a.kc();){b=ec(a.sc());null.jf();}}
+function Fh(){xh();return ag();}
+function ai(){xh();return bg();}
+function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
+function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
+function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
+function ei(){xh();var a;a=x;{Ch();}}
+function fi(){xh();var a;a=x;{return Dh();}}
+function gi(){xh();var a;a=x;{Eh();}}
+function hi(c,b,a){xh();$wnd.open(c,b,a);}
+var Ah,ii;function cj(c,b,a){b.appendChild(a);}
+function ej(b,a){return $doc.createElement(a);}
+function fj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
+function gj(c,a){var b;b=ej(c,'select');if(a){Bj(c,b,'multiple',true);}return b;}
+function hj(c,b,a){b.cancelBubble=a;}
+function ij(b,a){return !(!a.altKey);}
+function jj(b,a){return a.clientX|| -1;}
+function kj(b,a){return a.clientY|| -1;}
+function lj(b,a){return !(!a.ctrlKey);}
+function mj(b,a){return a.currentTarget;}
+function nj(b,a){return a.which||(a.keyCode|| -1);}
+function oj(b,a){return !(!a.metaKey);}
+function pj(b,a){return !(!a.shiftKey);}
+function qj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
+function tj(d,a,b){var c=a[b];return c==null?null:String(c);}
+function rj(c,a,b){return !(!a[b]);}
+function sj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
+function uj(b,a){return a.__eventBits||0;}
+function vj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.xb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
+function wj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
+function xj(c,b,a){b.removeChild(a);}
+function yj(c,b,a){b.removeAttribute(a);}
+function zj(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
+function Aj(c,b,a,d){b.setAttribute(a,d);}
+function Dj(c,a,b,d){a[b]=d;}
+function Bj(c,a,b,d){a[b]=d;}
+function Cj(c,a,b,d){a[b]=d;}
+function Ej(c,a,b){a.__listener=b;}
+function Fj(c,a,b){a.src=b;}
+function ak(c,a,b){if(!b){b='';}a.innerHTML=b;}
+function bk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
+function ck(c,b,a,d){b.style[a]=d;}
+function dk(c,b,a,d){b.style[a]=d;}
+function ek(b,a){return a.outerHTML;}
+function fk(a){return $doc.body.clientHeight;}
+function gk(a){return $doc.body.clientWidth;}
+function hk(a){return vj(this,a);}
+function ji(){}
+_=ji.prototype=new uT();_.xb=hk;_.tN=kfc+'DOMImpl';_.tI=20;function qi(c,a,b){return a==b;}
+function ri(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
+function si(b,a){return a.relatedTarget?a.relatedTarget:null;}
+function ti(b,a){return a.target||null;}
+function ui(b,a){return a.relatedTarget||null;}
+function vi(b,a){a.preventDefault();}
+function wi(b,a){return a.toString();}
+function zi(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
+function xi(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
+function yi(d,c,e){var b=0,a=c.firstChild;while(a){if(a==e)return b;if(a.nodeType==1)++b;a=a.nextSibling;}return -1;}
+function Ai(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
+function Bi(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
+function Ci(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
+function Di(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
+function Ei(c,b,a){while(a){if(b==a){return true;}a=a.parentNode;if(a&&a.nodeType!=1){a=null;}}return false;}
+function Fi(b,a){if(a==$wnd.__captureElem)$wnd.__captureElem=null;}
+function aj(b,a){$wnd.__captureElem=a;}
+function bj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
+function oi(){}
+_=oi.prototype=new ji();_.tN=kfc+'DOMImplStandard';_.tI=21;function mi(d,b){var c=0;var a=b.parentNode;while(a!=$doc.body){if(a.tagName!='TR'&&a.tagName!='TBODY'){c-=a.scrollLeft;}a=a.parentNode;}while(b){c+=b.offsetLeft;b=b.offsetParent;}return c;}
+function ni(c,b){var d=0;var a=b.parentNode;while(a!=$doc.body){if(a.tagName!='TR'&&a.tagName!='TBODY'){d-=a.scrollTop;}a=a.parentNode;}while(b){d+=b.offsetTop;b=b.offsetParent;}return d;}
+function ki(){}
+_=ki.prototype=new oi();_.tN=kfc+'DOMImplOpera';_.tI=22;function jk(a){pk=hb();return a;}
+function lk(c,d,b,a){return mk(c,null,null,d,b,a);}
+function mk(d,f,c,e,b,a){return kk(d,f,c,e,b,a);}
+function kk(e,g,d,f,c,b){var h=e.lb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=pk;b.Ac(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=pk;return false;}}
+function ok(){return new XMLHttpRequest();}
+function ik(){}
+_=ik.prototype=new uT();_.lb=ok;_.tN=kfc+'HTTPRequestImpl';_.tI=23;var pk=null;function wk(a){return $wnd.__gwt_historyToken;}
+function xk(a){bh(a);}
+function qk(){}
+_=qk.prototype=new uT();_.tN=kfc+'HistoryImpl';_.tI=24;function tk(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;xk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
+function uk(b,a){if(a==null){a='';}$wnd.location.hash=encodeURIComponent(a);}
+function rk(){}
+_=rk.prototype=new qk();_.tN=kfc+'HistoryImplStandard';_.tI=25;function Ak(a){AT(a,'This application is out of date, please click the refresh button on your browser');return a;}
+function zk(){}
+_=zk.prototype=new zT();_.tN=lfc+'IncompatibleRemoteServiceException';_.tI=26;function Ek(b,a){}
+function Fk(b,a){}
+function bl(b,a){BT(b,a,null);return b;}
+function al(){}
+_=al.prototype=new zT();_.tN=lfc+'InvocationException';_.tI=27;function nl(){return this.b;}
+function fl(){}
+_=fl.prototype=new kS();_.zb=nl;_.tN=lfc+'SerializableException';_.tI=28;_.b=null;function jl(b,a){ml(a,b.Ed());}
+function kl(a){return a.b;}
+function ll(b,a){b.gf(kl(a));}
+function ml(a,b){a.b=b;}
+function pl(b,a){lS(b,a);return b;}
+function ol(){}
+_=ol.prototype=new kS();_.tN=lfc+'SerializationException';_.tI=29;function ul(a){bl(a,'Service implementation URL not specified');return a;}
+function tl(){}
+_=tl.prototype=new al();_.tN=lfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=30;function zl(b,a){}
+function Al(a){return FR(a.zd());}
+function Bl(b,a){b.bf(a.a);}
+function El(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Dd());}}
+function Fl(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.ff(a[c]);}}
+function cm(b,a){}
+function dm(a){return a.Ed();}
+function em(b,a){b.gf(a);}
+function hm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Ad();}}
+function im(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.cf(a[c]);}}
+function lm(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();EX(b,c);}}
+function mm(e,a){var b,c,d;d=a.b;e.df(d);b=a.qc();while(b.kc()){c=b.sc();e.ff(c);}}
+function pm(b,a){}
+function qm(a){return jZ(new hZ(),a.Cd());}
+function rm(b,a){b.ef(mZ(a));}
+function um(e,b){var a,c,d,f;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();f=e.Dd();a1(b,c,f);}}
+function vm(f,c){var a,b,d,e;e=c.c;f.df(e);b=E0(c);d=u0(b);while(m0(d)){a=n0(d);f.ff(a.yb());f.ff(a.ec());}}
+function ym(d,b){var a,c;c=d.Bd();for(a=0;a<c;++a){u1(b,d.Dd());}}
+function zm(c,a){var b;c.df(a.a.c);for(b=w1(a);xW(b);){c.ff(yW(b));}}
+function Cm(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();h2(b,c);}}
+function Dm(e,a){var b,c,d;d=a.a.b;e.df(d);b=j2(a);while(b.kc()){c=b.sc();e.ff(c);}}
+function vn(a){return a.j>2;}
+function wn(b,a){b.i=a;}
+function xn(a,b){a.j=b;}
+function Em(){}
+_=Em.prototype=new uT();_.tN=ofc+'AbstractSerializationStream';_.tI=31;_.i=0;_.j=3;function an(a){a.e=CX(new AX());}
+function bn(a){an(a);return a;}
+function dn(b,a){aY(b.e);xn(b,En(b));wn(b,En(b));}
+function en(a){var b,c;b=a.Bd();if(b<0){return dY(a.e,-(b+1));}c=a.cc(b);if(c===null){return null;}return a.jb(c);}
+function fn(b,a){EX(b.e,a);}
+function gn(){return en(this);}
+function Fm(){}
+_=Fm.prototype=new Em();_.Dd=gn;_.tN=ofc+'AbstractSerializationStreamReader';_.tI=32;function kn(b,a){b.E(a?'1':'0');}
+function ln(b,a){b.E(dV(a));}
+function mn(c,a){var b,d;if(a===null){nn(c,null);return;}b=c.wb(a);if(b>=0){ln(c,-(b+1));return;}c.ge(a);d=c.Bb(a);nn(c,d);c.je(a,d);}
+function nn(a,b){ln(a,a.z(b));}
+function on(a){kn(this,a);}
+function pn(a){this.E(dV(a));}
+function qn(a){ln(this,a);}
+function rn(a){this.E(eV(a));}
+function sn(a){mn(this,a);}
+function tn(a){nn(this,a);}
+function hn(){}
+_=hn.prototype=new Em();_.bf=on;_.cf=pn;_.df=qn;_.ef=rn;_.ff=sn;_.gf=tn;_.tN=ofc+'AbstractSerializationStreamWriter';_.tI=33;function zn(b,a){bn(b);b.c=a;return b;}
+function Bn(b,a){if(!a){return null;}return b.d[a-1];}
+function Cn(b,a){b.b=co(a);b.a=eo(b.b);dn(b,a);b.d=Fn(b);}
+function Dn(a){return !(!a.b[--a.a]);}
+function En(a){return a.b[--a.a];}
+function Fn(a){return a.b[--a.a];}
+function ao(a){return Bn(a,En(a));}
+function bo(b){var a;a=this.c.nc(this,b);fn(this,a);this.c.ib(this,a,b);return a;}
+function co(a){return eval(a);}
+function eo(a){return a.length;}
+function fo(a){return Bn(this,a);}
+function go(){return Dn(this);}
+function ho(){return this.b[--this.a];}
+function io(){return En(this);}
+function jo(){return this.b[--this.a];}
+function ko(){return ao(this);}
+function yn(){}
+_=yn.prototype=new Fm();_.jb=bo;_.cc=fo;_.zd=go;_.Ad=ho;_.Bd=io;_.Cd=jo;_.Ed=ko;_.tN=ofc+'ClientSerializationStreamReader';_.tI=34;_.a=0;_.b=null;_.c=null;_.d=null;function mo(a){a.h=CX(new AX());}
+function no(d,c,a,b){mo(d);d.f=c;d.b=a;d.e=b;return d;}
+function po(c,a){var b=c.d[a];return b==null?-1:b;}
+function qo(c,a){var b=c.g[':'+a];return b==null?0:b;}
+function ro(a){a.c=0;a.d=ib();a.g=ib();aY(a.h);a.a=FT(new ET());if(vn(a)){nn(a,a.b);nn(a,a.e);}}
+function so(b,a,c){b.d[a]=c;}
+function to(b,a,c){b.g[':'+a]=c;}
+function uo(b){var a;a=FT(new ET());vo(b,a);xo(b,a);wo(b,a);return fU(a);}
+function vo(b,a){zo(a,dV(b.j));zo(a,dV(b.i));}
+function wo(b,a){bU(a,fU(b.a));}
+function xo(d,a){var b,c;c=d.h.b;zo(a,dV(c));for(b=0;b<c;++b){zo(a,Fb(dY(d.h,b),1));}return a;}
+function yo(b){var a;if(b===null){return 0;}a=qo(this,b);if(a>0){return a;}EX(this.h,b);a=this.h.b;to(this,b,a);return a;}
+function zo(a,b){bU(a,b);aU(a,65535);}
+function Ao(a){zo(this.a,a);}
+function Bo(a){return po(this,jV(a));}
+function Co(a){var b,c;c=w(a);b=this.f.bc(c);if(b!==null){c+='/'+b;}return c;}
+function Do(a){so(this,jV(a),this.c++);}
+function Eo(a,b){this.f.ie(this,a,b);}
+function Fo(){return uo(this);}
+function lo(){}
+_=lo.prototype=new hn();_.z=yo;_.E=Ao;_.wb=Bo;_.Bb=Co;_.ge=Do;_.je=Eo;_.tS=Fo;_.tN=ofc+'ClientSerializationStreamWriter';_.tI=35;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function jN(b,a){FN(b.dc(),a,true);}
+function lN(a){return Ae(a.ub());}
+function mN(a){return Be(a.ub());}
+function nN(a){return af(a.w,'offsetHeight');}
+function oN(a){return af(a.w,'offsetWidth');}
+function pN(b,a){FN(b.dc(),a,false);}
+function qN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
+function rN(b,a){if(b.w!==null){qN(b,b.w,a);}b.w=a;}
+function sN(b,c,a){if(c>=0){b.Be(c+'px');}if(a>=0){b.qe(a+'px');}}
+function tN(b,c,a){b.Be(c);b.qe(a);}
+function uN(b,a){EN(b.dc(),a);}
+function vN(b,a){Ef(b.ub(),a|cf(b.ub()));}
+function wN(){return this.w;}
+function xN(){return nN(this);}
+function yN(){return oN(this);}
+function zN(){return this.w;}
+function AN(a){return bf(a,'className');}
+function BN(a){return a.style.display!='none';}
+function CN(a){rN(this,a);}
+function DN(a){Df(this.w,'height',a);}
+function EN(a,b){xf(a,'className',b);}
+function FN(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw AT(new zT(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=AU(j);if(rU(j)==0){throw pS(new oS(),'Style names cannot be empty');}i=AN(c);e=pU(i,j);while(e!=(-1)){if(e==0||iU(i,e-1)==32){f=e+rU(j);g=rU(i);if(f==g||f<g&&iU(i,f)==32){break;}}e=qU(i,j,e+1);}if(a){if(e==(-1)){if(rU(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=AU(xU(i,0,e));d=AU(wU(i,e+rU(j)));if(rU(b)==0){h=d;}else if(rU(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
+function aO(a){if(a===null||rU(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
+function bO(a,b){a.style.display=b?'':'none';}
+function cO(a){bO(this.w,a);}
+function dO(a){Df(this.w,'width',a);}
+function eO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
+function iN(){}
+_=iN.prototype=new uT();_.ub=wN;_.Cb=xN;_.Db=yN;_.dc=zN;_.me=CN;_.qe=DN;_.te=aO;_.ye=cO;_.Be=dO;_.tS=eO;_.tN=pfc+'UIObject';_.tI=36;_.w=null;function qP(a){if(a.oc()){throw sS(new rS(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.ub(),a);a.kb();a.fd();}
+function rP(a){if(!a.oc()){throw sS(new rS(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.td();}finally{a.mb();yf(a.ub(),null);a.t=false;}}
+function sP(a){if(ac(a.v,54)){Fb(a.v,54).ee(a);}else if(a.v!==null){throw sS(new rS(),"This widget's parent does not implement HasWidgets");}}
+function tP(b,a){if(b.oc()){yf(b.ub(),null);}rN(b,a);if(b.oc()){yf(a,b);}}
+function uP(b,a){b.u=a;}
+function vP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.oc()){c.Bc();}c.v=null;}else{if(a!==null){throw sS(new rS(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.oc()){c.uc();}}}
+function wP(){}
+function xP(){}
+function yP(){return this.t;}
+function zP(){qP(this);}
+function AP(a){}
+function BP(){rP(this);}
+function CP(){}
+function DP(){}
+function EP(a){tP(this,a);}
+function oO(){}
+_=oO.prototype=new iN();_.kb=wP;_.mb=xP;_.oc=yP;_.uc=zP;_.wc=AP;_.Bc=BP;_.fd=CP;_.td=DP;_.me=EP;_.tN=pfc+'Widget';_.tI=37;_.t=false;_.u=null;_.v=null;function uD(b,a){vP(a,b);}
+function wD(b,a){vP(a,null);}
+function xD(){var a;a=this.qc();while(a.kc()){a.sc();a.ce();}}
+function yD(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),13);a.uc();}}
+function zD(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),13);a.Bc();}}
+function AD(){}
+function BD(){}
+function tD(){}
+_=tD.prototype=new oO();_.ab=xD;_.kb=yD;_.mb=zD;_.fd=AD;_.td=BD;_.tN=pfc+'Panel';_.tI=38;function vq(a){a.f=yO(new pO(),a);}
+function wq(a){vq(a);return a;}
+function xq(c,a,b){sP(a);zO(c.f,a);td(b,a.ub());uD(c,a);}
+function yq(d,b,a){var c;Aq(d,a);if(b.v===d){c=Cq(d,b);if(c<a){a--;}}return a;}
+function zq(b,a){if(a<0||a>=b.f.c){throw new uS();}}
+function Aq(b,a){if(a<0||a>b.f.c){throw new uS();}}
+function Dq(b,a){return BO(b.f,a);}
+function Cq(b,a){return CO(b.f,a);}
+function Eq(e,b,c,a,d){a=yq(e,b,a);sP(b);DO(e.f,b,a);if(d){hf(c,b.ub(),a);}else{td(c,b.ub());}uD(e,b);}
+function Fq(a){return EO(a.f);}
+function ar(b,c){var a;if(c.v!==b){return false;}wD(b,c);a=c.ub();nf(ff(a),a);aP(b.f,c);return true;}
+function br(){return Fq(this);}
+function cr(a){return this.ee(Dq(this,a));}
+function dr(a){return ar(this,a);}
+function uq(){}
+_=uq.prototype=new tD();_.qc=br;_.de=cr;_.ee=dr;_.tN=pfc+'ComplexPanel';_.tI=39;function cp(a){wq(a);a.me(xd());Df(a.ub(),'position','relative');Df(a.ub(),'overflow','hidden');return a;}
+function dp(a,b){xq(a,b,a.ub());}
+function fp(b,c){var a;a=ar(b,c);if(a){gp(c.ub());}return a;}
+function gp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
+function hp(a){return fp(this,a);}
+function bp(){}
+_=bp.prototype=new uq();_.ee=hp;_.tN=pfc+'AbsolutePanel';_.tI=40;function ip(){}
+_=ip.prototype=new uT();_.tN=pfc+'AbstractImagePrototype';_.tI=41;function hu(){hu=s2;lu=(yQ(),CQ);}
+function fu(b,a){hu();ju(b,a);return b;}
+function gu(b,a){if(b.k===null){b.k=Bt(new At());}EX(b.k,a);}
+function iu(b,a){switch(xe(a)){case 1:if(b.j!==null){sq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){Dt(b.k,b,a);}break;case 128:case 512:case 256:break;}}
+function ju(b,a){tP(b,a);vN(b,7041);}
+function ku(a){if(this.j===null){this.j=qq(new pq());}EX(this.j,a);}
+function mu(a){iu(this,a);}
+function nu(a){ju(this,a);}
+function ou(a){vf(this.ub(),'disabled',!a);}
+function pu(a){if(a){lu.rb(this.ub());}else{lu.F(this.ub());}}
+function qu(a){lu.se(this.ub(),a);}
+function eu(){}
+_=eu.prototype=new oO();_.x=ku;_.wc=mu;_.me=nu;_.ne=ou;_.oe=pu;_.re=qu;_.tN=pfc+'FocusWidget';_.tI=42;_.j=null;_.k=null;var lu;function np(){np=s2;hu();}
+function mp(b,a){np();fu(b,a);return b;}
+function op(a){Af(this.ub(),a);}
+function lp(){}
+_=lp.prototype=new eu();_.pe=op;_.tN=pfc+'ButtonBase';_.tI=43;function rp(){rp=s2;np();}
+function pp(a){rp();mp(a,wd());sp(a.ub());uN(a,'gwt-Button');return a;}
+function qp(b,a){rp();pp(b);b.pe(a);return b;}
+function sp(b){rp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
+function kp(){}
+_=kp.prototype=new lp();_.tN=pfc+'Button';_.tI=44;function up(a){wq(a);a.e=ge();a.d=de();td(a.e,a.d);a.me(a.e);return a;}
+function wp(c,b,a){xf(b,'align',a.a);}
+function xp(c,b,a){Df(b,'verticalAlign',a.a);}
+function yp(c,a){var b;b=ff(c.ub());xf(b,'height',a);}
+function zp(b,c){var a;a=ff(b.ub());xf(a,'width',c);}
+function tp(){}
+_=tp.prototype=new uq();_.ke=yp;_.le=zp;_.tN=pfc+'CellPanel';_.tI=45;_.d=null;_.e=null;function vV(d,a,b){var c;while(a.kc()){c=a.sc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
+function xV(a){throw sV(new rV(),'add');}
+function yV(b){var a;a=vV(this,this.qc(),b);return a!==null;}
+function zV(){return this.Fe(yb('[Ljava.lang.Object;',[608],[11],[this.Ce()],null));}
+function AV(a){var b,c,d;d=this.Ce();if(a.a<d){a=tb(a,d);}b=0;for(c=this.qc();c.kc();){Ab(a,b++,c.sc());}if(a.a>d){Ab(a,d,null);}return a;}
+function BV(){var a,b,c;c=FT(new ET());a=null;bU(c,'[');b=this.qc();while(b.kc()){if(a!==null){bU(c,a);}else{a=', ';}bU(c,fV(b.sc()));}bU(c,']');return fU(c);}
+function uV(){}
+_=uV.prototype=new uT();_.C=xV;_.eb=yV;_.Ee=zV;_.Fe=AV;_.tS=BV;_.tN=tfc+'AbstractCollection';_.tI=46;function fW(b,a){throw vS(new uS(),'Index: '+a+', Size: '+b.b);}
+function gW(b,a){throw sV(new rV(),'add');}
+function hW(a){this.B(this.Ce(),a);return true;}
+function iW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ce()!=f.Ce()){return false;}c=this.qc();d=f.qc();while(c.kc()){a=c.sc();b=d.sc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
+function jW(){var a,b,c,d;c=1;a=31;b=this.qc();while(b.kc()){d=b.sc();c=31*c+(d===null?0:d.hC());}return c;}
+function kW(){return EV(new DV(),this);}
+function lW(a){throw sV(new rV(),'remove');}
+function CV(){}
+_=CV.prototype=new uV();_.B=gW;_.C=hW;_.eQ=iW;_.hC=jW;_.qc=kW;_.de=lW;_.tN=tfc+'AbstractList';_.tI=47;function BX(a){{FX(a);}}
+function CX(a){BX(a);return a;}
+function DX(c,a,b){if(a<0||a>c.b){fW(c,a);}kY(c.a,a,b);++c.b;}
+function EX(b,a){tY(b.a,b.b++,a);return true;}
+function aY(a){FX(a);}
+function FX(a){a.a=gb();a.b=0;}
+function cY(b,a){return eY(b,a)!=(-1);}
+function dY(b,a){if(a<0||a>=b.b){fW(b,a);}return pY(b.a,a);}
+function eY(b,a){return fY(b,a,0);}
+function fY(c,b,a){if(a<0){fW(c,a);}for(;a<c.b;++a){if(oY(b,pY(c.a,a))){return a;}}return (-1);}
+function gY(a){return a.b==0;}
+function hY(c,a){var b;b=dY(c,a);rY(c.a,a,1);--c.b;return b;}
+function iY(c,b){var a;a=eY(c,b);if(a==(-1)){return false;}hY(c,a);return true;}
+function jY(d,a,b){var c;c=dY(d,a);tY(d.a,a,b);return c;}
+function lY(a,b){DX(this,a,b);}
+function mY(a){return EX(this,a);}
+function kY(a,b,c){a.splice(b,0,c);}
+function nY(a){return cY(this,a);}
+function oY(a,b){return a===b||a!==null&&a.eQ(b);}
+function qY(a){return dY(this,a);}
+function pY(a,b){return a[b];}
+function sY(a){return hY(this,a);}
+function rY(a,c,b){a.splice(c,b);}
+function tY(a,b,c){a[b]=c;}
+function uY(){return this.b;}
+function vY(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,pY(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
+function AX(){}
+_=AX.prototype=new CV();_.B=lY;_.C=mY;_.eb=nY;_.hc=qY;_.de=sY;_.Ce=uY;_.Fe=vY;_.tN=tfc+'ArrayList';_.tI=48;_.a=null;_.b=0;function Bp(a){CX(a);return a;}
+function Dp(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),41);b.yc(c);}}
+function Ap(){}
+_=Ap.prototype=new AX();_.tN=pfc+'ChangeListenerCollection';_.tI=49;function dq(){dq=s2;np();}
+function aq(a){dq();bq(a,Cd());uN(a,'gwt-CheckBox');return a;}
+function cq(b,a){dq();aq(b);hq(b,a);return b;}
+function bq(b,a){var c;dq();mp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.ub()));Ef(b.ub(),0);td(b.ub(),b.a);td(b.ub(),b.b);c='check'+ ++oq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
+function eq(a){return ef(a.b);}
+function fq(b){var a;a=b.oc()?'checked':'defaultChecked';return Fe(b.a,a);}
+function gq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
+function hq(b,a){Bf(b.b,a);}
+function iq(){yf(this.a,this);}
+function jq(){yf(this.a,null);gq(this,fq(this));}
+function kq(a){vf(this.a,'disabled',!a);}
+function lq(a){if(a){lu.rb(this.a);}else{lu.F(this.a);}}
+function mq(a){Af(this.b,a);}
+function nq(a){lu.se(this.a,a);}
+function Fp(){}
+_=Fp.prototype=new lp();_.fd=iq;_.td=jq;_.ne=kq;_.oe=lq;_.pe=mq;_.re=nq;_.tN=pfc+'CheckBox';_.tI=50;_.a=null;_.b=null;var oq=0;function qq(a){CX(a);return a;}
+function sq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),42);b.zc(c);}}
+function pq(){}
+_=pq.prototype=new AX();_.tN=pfc+'ClickListenerCollection';_.tI=51;function gr(a,b){if(a.k!==null){throw sS(new rS(),'Composite.initWidget() may only be called once.');}sP(b);a.me(b.ub());a.k=b;vP(b,a);}
+function hr(){if(this.k===null){throw sS(new rS(),'initWidget() was never called in '+w(this));}return this.w;}
+function ir(){if(this.k!==null){return this.k.oc();}return false;}
+function jr(){this.k.uc();this.fd();}
+function kr(){try{this.td();}finally{this.k.Bc();}}
+function er(){}
+_=er.prototype=new oO();_.ub=hr;_.oc=ir;_.uc=jr;_.Bc=kr;_.tN=pfc+'Composite';_.tI=52;_.k=null;function mr(a){wq(a);a.me(xd());return a;}
+function or(b,c){var a;a=c.ub();Df(a,'width','100%');Df(a,'height','100%');c.ye(false);}
+function pr(b,c,a){Eq(b,c,b.ub(),a,true);or(b,c);}
+function qr(b,c){var a;a=ar(b,c);if(a){rr(b,c);if(b.b===c){b.b=null;}}return a;}
+function rr(a,b){Df(b.ub(),'width','');Df(b.ub(),'height','');b.ye(true);}
+function sr(b,a){zq(b,a);if(b.b!==null){b.b.ye(false);}b.b=Dq(b,a);b.b.ye(true);}
+function tr(a){return qr(this,a);}
+function lr(){}
+_=lr.prototype=new uq();_.ee=tr;_.tN=pfc+'DeckPanel';_.tI=53;_.b=null;function AG(a){BG(a,xd());return a;}
+function BG(b,a){b.me(a);return b;}
+function CG(a,b){if(a.r!==null){throw sS(new rS(),'SimplePanel can only contain one child widget');}a.Ae(b);}
+function EG(a,b){if(b===a.r){return;}if(b!==null){sP(b);}if(a.r!==null){a.ee(a.r);}a.r=b;if(b!==null){td(a.tb(),a.r.ub());uD(a,b);}}
+function FG(){return this.ub();}
+function aH(){return vG(new tG(),this);}
+function bH(a){if(this.r!==a){return false;}wD(this,a);nf(this.tb(),a.ub());this.r=null;return true;}
+function cH(a){EG(this,a);}
+function sG(){}
+_=sG.prototype=new tD();_.tb=FG;_.qc=aH;_.ee=bH;_.Ae=cH;_.tN=pfc+'SimplePanel';_.tI=54;_.r=null;function eE(){eE=s2;uE=new gR();}
+function aE(a){eE();BG(a,iR(uE));lE(a,0,0);return a;}
+function bE(b,a){eE();aE(b);b.k=a;return b;}
+function cE(c,a,b){eE();bE(c,a);c.o=b;return c;}
+function dE(b,a){if(a.blur){a.blur();}}
+function fE(a){return a.ub();}
+function gE(a){return oN(a);}
+function hE(a){iE(a,false);}
+function iE(b,a){if(!b.p){return;}b.p=false;fp(iG(),b);b.ub();}
+function jE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.qe(a.l);}if(a.m!==null){b.Be(a.m);}}}
+function kE(e,b){var a,c,d,f;d=ve(b);c=kf(e.ub(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){iE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){dE(e,d);return false;}}}return !e.o||c;}
+function lE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.ub();Df(a,'left',b+'px');Df(a,'top',d+'px');}
+function mE(a,b){EG(a,b);jE(a);}
+function nE(a,b){a.m=b;jE(a);if(rU(b)==0){a.m=null;}}
+function oE(a){if(a.p){return;}a.p=true;sd(a);Df(a.ub(),'position','absolute');if(a.q!=(-1)){lE(a,a.n,a.q);}dp(iG(),a);a.ub();}
+function pE(){return fE(this);}
+function qE(){return nN(this);}
+function rE(){return gE(this);}
+function sE(){return this.ub();}
+function tE(){hE(this);}
+function vE(){pf(this);rP(this);}
+function wE(a){return kE(this,a);}
+function xE(a){this.l=a;jE(this);if(rU(a)==0){this.l=null;}}
+function yE(b){var a;a=fE(this);if(b===null||rU(b)==0){of(a,'title');}else{uf(a,'title',b);}}
+function zE(a){Df(this.ub(),'visibility',a?'visible':'hidden');this.ub();}
+function AE(a){mE(this,a);}
+function BE(a){nE(this,a);}
+function FD(){}
+_=FD.prototype=new sG();_.tb=pE;_.Cb=qE;_.Db=rE;_.dc=sE;_.lc=tE;_.Bc=vE;_.Cc=wE;_.qe=xE;_.te=yE;_.ye=zE;_.Ae=AE;_.Be=BE;_.tN=pfc+'PopupPanel';_.tI=55;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var uE;function zr(){zr=s2;eE();}
+function vr(a){a.e=dz(new hw());a.j=lt(new ft());}
+function wr(a){zr();xr(a,false);return a;}
+function xr(b,a){zr();yr(b,a,true);return b;}
+function yr(c,a,b){zr();cE(c,a,b);vr(c);c.j.ze(0,0,c.e);c.j.qe('100%');ry(c.j,0);ty(c.j,0);uy(c.j,0);Cw(c.j.n,1,0,'100%');bx(c.j.n,1,0,'100%');Bw(c.j.n,1,0,(oz(),pz),(xz(),zz));mE(c,c.j);uN(c,'gwt-DialogBox');uN(c.e,'Caption');EB(c.e,c);return c;}
+function Ar(b,a){hz(b.e,a);}
+function Br(b,a){bC(b.e,a);}
+function Cr(a,b){if(a.f!==null){qy(a.j,a.f);}if(b!==null){a.j.ze(1,0,b);}a.f=b;}
+function Dr(a){if(xe(a)==4){if(kf(this.e.ub(),ve(a))){ye(a);}}return kE(this,a);}
+function Er(a,b,c){this.i=true;tf(this.e.ub());this.g=b;this.h=c;}
+function Fr(a){}
+function as(a){}
+function bs(c,d,e){var a,b;if(this.i){a=d+lN(this);b=e+mN(this);lE(this,a-this.g,b-this.h);}}
+function cs(a,b,c){this.i=false;mf(this.e.ub());}
+function ds(a){if(this.f!==a){return false;}qy(this.j,a);return true;}
+function es(a){Cr(this,a);}
+function fs(a){nE(this,a);this.j.Be('100%');}
+function ur(){}
+_=ur.prototype=new FD();_.Cc=Dr;_.hd=Er;_.id=Fr;_.jd=as;_.kd=bs;_.ld=cs;_.ee=ds;_.Ae=es;_.Be=fs;_.tN=pfc+'DialogBox';_.tI=56;_.f=null;_.g=0;_.h=0;_.i=false;function rs(){rs=s2;xs=new hs();ys=new hs();zs=new hs();As=new hs();Bs=new hs();}
+function os(a){a.b=(oz(),qz);a.c=(xz(),Az);}
+function ps(a){rs();up(a);os(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
+function qs(c,d,a){var b;if(a===xs){if(d===c.a){return;}else if(c.a!==null){throw pS(new oS(),'Only one CENTER widget may be added');}}sP(d);zO(c.f,d);if(a===xs){c.a=d;}b=ks(new js(),a);uP(d,b);us(c,d,c.b);vs(c,d,c.c);ss(c);uD(c,d);}
+function ss(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=EO(p.f);tO(h);){c=uO(h);e=c.u.a;if(e===zs||e===As){++l;}else if(e===ys||e===Bs){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[631],[33],[l],null);for(g=0;g<l;++g){m[g]=new ms();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=EO(p.f);tO(h);){c=uO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===zs){hf(m[j].b,o,m[j].a);td(o,c.ub());wf(o,'colSpan',f-q+1);++j;}else if(i.a===As){hf(m[n].b,o,m[n].a);td(o,c.ub());wf(o,'colSpan',f-q+1);--n;}else if(i.a===Bs){k=m[j];hf(k.b,o,k.a++);td(o,c.ub());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===ys){k=m[j];hf(k.b,o,k.a);td(o,c.ub());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===xs){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.ub());}}
+function ts(b,c){var a;a=ar(b,c);if(a){if(c===b.a){b.a=null;}ss(b);}return a;}
+function us(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
+function vs(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
+function ws(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
+function Cs(a){return ts(this,a);}
+function Ds(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
+function Es(a,b){ws(this,a,b);}
+function gs(){}
+_=gs.prototype=new tp();_.ee=Cs;_.ke=Ds;_.le=Es;_.tN=pfc+'DockPanel';_.tI=57;_.a=null;var xs,ys,zs,As,Bs;function hs(){}
+_=hs.prototype=new uT();_.tN=pfc+'DockPanel$DockLayoutConstant';_.tI=58;function ks(b,a){b.a=a;return b;}
+function js(){}
+_=js.prototype=new uT();_.tN=pfc+'DockPanel$LayoutData';_.tI=59;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function ms(){}
+_=ms.prototype=new uT();_.tN=pfc+'DockPanel$TmpRow';_.tI=60;_.a=0;_.b=null;function at(a){a.me(yd('input'));xf(a.ub(),'type','file');uN(a,'gwt-FileUpload');return a;}
+function ct(a){return bf(a.ub(),'value');}
+function dt(b,a){xf(b.ub(),'name',a);}
+function Fs(){}
+_=Fs.prototype=new oO();_.tN=pfc+'FileUpload';_.tI=61;function Bx(a){a.s=rx(new mx());}
+function Cx(a){Bx(a);a.q=ge();a.m=de();td(a.q,a.m);a.me(a.q);vN(a,1);return a;}
+function Dx(b,a){if(b.r===null){b.r=FJ(new EJ());}EX(b.r,a);}
+function Ex(d,c,b){var a;Fx(d,c);if(b<0){throw vS(new uS(),'Column '+b+' must be non-negative: '+b);}a=d.sb(c);if(a<=b){throw vS(new uS(),'Column index: '+b+', Column size: '+d.sb(c));}}
+function Fx(c,a){var b;b=c.Fb();if(a>=b||a<0){throw vS(new uS(),'Row index: '+a+', Row size: '+b);}}
+function ay(e,c,b,a){var d;d=yw(e.n,c,b);ny(e,d,a);return d;}
+function by(d){var a,b,c;for(c=0;c<d.Fb();++c){for(b=0;b<d.sb(c);++b){a=jy(d,c,b);if(a!==null){qy(d,a);}}}}
+function dy(a){return ee();}
+function ey(c,b,a){return b.rows[a].cells.length;}
+function fy(a){return gy(a,a.m);}
+function gy(b,a){return a.rows.length;}
+function hy(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(mU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
+function iy(d,c,a){var b;Ex(d,c,a);b=xw(d.n,c,a);return ef(b);}
+function ky(c,b,a){Ex(c,b,a);return jy(c,b,a);}
+function jy(e,d,b){var a,c;c=yw(e.n,d,b);a=df(c);if(a===null){return null;}else{return tx(e.s,a);}}
+function ly(d,b,a){var c,e;e=kx(d.p,d.m,b);c=d.fb();hf(e,c,a);}
+function my(b,a){var c;if(a!=pt(b)){Fx(b,a);}c=fe();hf(b.m,c,a);return a;}
+function ny(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=tx(d.s,b);}if(e!==null){qy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
+function qy(b,c){var a;if(c.v!==b){return false;}wD(b,c);a=c.ub();nf(ff(a),a);wx(b.s,a);return true;}
+function oy(d,b,a){var c,e;Ex(d,b,a);c=ay(d,b,a,false);e=kx(d.p,d.m,b);nf(e,c);}
+function py(d,c){var a,b;b=d.sb(c);for(a=0;a<b;++a){ay(d,c,a,false);}nf(d.m,kx(d.p,d.m,c));}
+function ry(a,b){xf(a.q,'border',''+b);}
+function sy(b,a){b.n=a;}
+function ty(b,a){wf(b.q,'cellPadding',a);}
+function uy(b,a){wf(b.q,'cellSpacing',a);}
+function vy(b,a){b.o=a;fx(b.o);}
+function wy(e,c,a,b){var d;Cv(e,c,a);d=ay(e,c,a,b===null);if(b!==null){Af(d,b);}}
+function xy(b,a){b.p=a;}
+function yy(e,b,a,d){var c;e.xd(b,a);c=ay(e,b,a,d===null);if(d!==null){Bf(c,d);}}
+function zy(d,b,a,e){var c;d.xd(b,a);if(e!==null){sP(e);c=ay(d,b,a,true);ux(d.s,e);td(c,e.ub());uD(d,e);}}
+function Ay(){by(this);}
+function By(){return dy(this);}
+function Cy(b,a){ly(this,b,a);}
+function Dy(){return xx(this.s);}
+function Ey(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=hy(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);bK(this.r,this,d,b);}break;}default:}}
+function bz(a){return qy(this,a);}
+function Fy(b,a){oy(this,b,a);}
+function az(a){py(this,a);}
+function cz(b,a,c){zy(this,b,a,c);}
+function iw(){}
+_=iw.prototype=new tD();_.ab=Ay;_.fb=By;_.mc=Cy;_.qc=Dy;_.wc=Ey;_.ee=bz;_.Fd=Fy;_.be=az;_.ze=cz;_.tN=pfc+'HTMLTable';_.tI=62;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function lt(a){Cx(a);sy(a,ht(new gt(),a));xy(a,hx(new gx(),a));vy(a,dx(new cx(),a));return a;}
+function nt(b,a){Fx(b,a);return ey(b,b.m,a);}
+function ot(a){return Fb(a.n,43);}
+function pt(a){return fy(a);}
+function qt(b,a){return my(b,a);}
+function rt(d,b){var a,c;if(b<0){throw vS(new uS(),'Cannot create a row with a negative index: '+b);}c=pt(d);for(a=c;a<=b;a++){qt(d,a);}}
+function st(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
+function tt(a){return nt(this,a);}
+function ut(){return pt(this);}
+function vt(b,a){ly(this,b,a);}
+function wt(d,b){var a,c;rt(this,d);if(b<0){throw vS(new uS(),'Cannot create a column with a negative index: '+b);}a=nt(this,d);c=b+1-a;if(c>0){st(this.m,d,c);}}
+function xt(a){rt(this,a);}
+function yt(b,a){oy(this,b,a);}
+function zt(a){py(this,a);}
+function ft(){}
+_=ft.prototype=new iw();_.sb=tt;_.Fb=ut;_.mc=vt;_.xd=wt;_.yd=xt;_.Fd=yt;_.be=zt;_.tN=pfc+'FlexTable';_.tI=63;function tw(b,a){b.a=a;return b;}
+function vw(c,b,a){c.a.xd(b,a);return ww(c,c.a.m,b,a);}
+function ww(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
+function xw(c,b,a){Ex(c.a,b,a);return ww(c,c.a.m,b,a);}
+function yw(c,b,a){return ww(c,c.a.m,b,a);}
+function zw(d,c,a){var b;b=xw(d,c,a);return BN(b);}
+function Aw(e,b,a,c){var d;Ex(e.a,b,a);d=ww(e,e.a.m,b,a);FN(d,c,false);}
+function Bw(d,c,a,b,e){Dw(d,c,a,b);Fw(d,c,a,e);}
+function Cw(e,d,a,c){var b;e.a.xd(d,a);b=ww(e,e.a.m,d,a);xf(b,'height',c);}
+function Dw(e,d,b,a){var c;e.a.xd(d,b);c=ww(e,e.a.m,d,b);xf(c,'align',a.a);}
+function Ew(d,b,a,c){d.a.xd(b,a);EN(ww(d,d.a.m,b,a),c);}
+function Fw(d,c,b,a){d.a.xd(c,b);Df(ww(d,d.a.m,c,b),'verticalAlign',a.a);}
+function ax(d,c,a,e){var b;b=vw(d,c,a);bO(b,e);}
+function bx(c,b,a,d){c.a.xd(b,a);xf(ww(c,c.a.m,b,a),'width',d);}
+function sw(){}
+_=sw.prototype=new uT();_.tN=pfc+'HTMLTable$CellFormatter';_.tI=64;function ht(b,a){tw(b,a);return b;}
+function jt(d,c,b,a){wf(vw(d,c,b),'colSpan',a);}
+function kt(d,b,a,c){wf(vw(d,b,a),'rowSpan',c);}
+function gt(){}
+_=gt.prototype=new sw();_.tN=pfc+'FlexTable$FlexCellFormatter';_.tI=65;function Bt(a){CX(a);return a;}
+function Et(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.Ec(c);}}
+function Dt(c,b,a){switch(xe(a)){case 2048:Et(c,b);break;case 4096:Ft(c,b);break;}}
+function Ft(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.gd(c);}}
+function At(){}
+_=At.prototype=new AX();_.tN=pfc+'FocusListenerCollection';_.tI=66;function cu(){cu=s2;du=(yQ(),BQ);}
+var du;function su(a){CX(a);return a;}
+function uu(f,e,d){var a,b,c;a=ov(new nv(),e,d);for(c=f.qc();c.kc();){b=Fb(c.sc(),45);b.nd(a);}}
+function vu(e,d){var a,b,c;a=new qv();for(c=e.qc();c.kc();){b=Fb(c.sc(),45);b.od(a);}return a.a;}
+function ru(){}
+_=ru.prototype=new AX();_.tN=pfc+'FormHandlerCollection';_.tI=67;function Eu(){Eu=s2;iv=new EQ();}
+function Cu(a){Eu();BG(a,zd());a.b='FormPanel_'+ ++hv;fv(a,a.b);vN(a,32768);return a;}
+function Du(b,a){if(b.a===null){b.a=su(new ru());}EX(b.a,a);}
+function Fu(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
+function av(a){if(a.a!==null){return !vu(a.a,a);}return true;}
+function bv(a){if(a.a!==null){eg(zu(new yu(),a));}}
+function cv(a,b){xf(a.ub(),'action',b);}
+function dv(b,a){dR(iv,b.ub(),a);}
+function ev(b,a){xf(b.ub(),'method',a);}
+function fv(b,a){xf(b.ub(),'target',a);}
+function gv(a){if(a.a!==null){if(vu(a.a,a)){return;}}eR(iv,a.ub(),a.c);}
+function jv(){qP(this);Fu(this);td(hG(),this.c);cR(iv,this.c,this.ub(),this);}
+function kv(){rP(this);fR(iv,this.c,this.ub());nf(hG(),this.c);this.c=null;}
+function lv(){var a;a=x;{return av(this);}}
+function mv(){var a;a=x;{bv(this);}}
+function xu(){}
+_=xu.prototype=new sG();_.uc=jv;_.Bc=kv;_.Fc=lv;_.ad=mv;_.tN=pfc+'FormPanel';_.tI=68;_.a=null;_.b=null;_.c=null;var hv=0,iv;function zu(b,a){b.a=a;return b;}
+function Bu(){uu(this.a.a,this,bR((Eu(),iv),this.a.c));}
+function yu(){}
+_=yu.prototype=new uT();_.pb=Bu;_.tN=pfc+'FormPanel$1';_.tI=69;function BZ(){}
+_=BZ.prototype=new uT();_.tN=tfc+'EventObject';_.tI=70;function ov(c,b,a){c.a=a;return c;}
+function nv(){}
+_=nv.prototype=new BZ();_.tN=pfc+'FormSubmitCompleteEvent';_.tI=71;_.a=null;function sv(b,a){b.a=a;}
+function qv(){}
+_=qv.prototype=new BZ();_.tN=pfc+'FormSubmitEvent';_.tI=72;_.a=false;function uv(a){a.me(Ad());return a;}
+function vv(a,b){uv(a);xv(a,b);return a;}
+function xv(a,b){xf(a.ub(),'src',b);}
+function tv(){}
+_=tv.prototype=new oO();_.tN=pfc+'Frame';_.tI=73;function zv(a){Cx(a);sy(a,tw(new sw(),a));xy(a,hx(new gx(),a));vy(a,dx(new cx(),a));return a;}
+function Av(c,b,a){zv(c);aw(c,b,a);return c;}
+function Cv(c,b,a){Dv(c,b);if(a<0){throw vS(new uS(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw vS(new uS(),'Column index: '+a+', Column size: '+c.k);}}
+function Dv(b,a){if(a<0){throw vS(new uS(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw vS(new uS(),'Row index: '+a+', Row size: '+b.l);}}
+function aw(c,b,a){Ev(c,a);Fv(c,b);}
+function Ev(d,a){var b,c;if(d.k==a){return;}if(a<0){throw vS(new uS(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Fd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.mc(b,c);}}}d.k=a;}
+function Fv(b,a){if(b.l==a){return;}if(a<0){throw vS(new uS(),'Cannot set number of rows to '+a);}if(b.l<a){bw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.be(--b.l);}}}
+function bw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
+function cw(){var a;a=dy(this);Af(a,'&nbsp;');return a;}
+function dw(a){return this.k;}
+function ew(){return this.l;}
+function fw(b,a){Cv(this,b,a);}
+function gw(a){Dv(this,a);}
+function yv(){}
+_=yv.prototype=new iw();_.fb=cw;_.sb=dw;_.Fb=ew;_.xd=fw;_.yd=gw;_.tN=pfc+'Grid';_.tI=74;_.k=0;_.l=0;function BB(a){a.me(xd());vN(a,131197);uN(a,'gwt-Label');return a;}
+function CB(b,a){BB(b);bC(b,a);return b;}
+function DB(b,a){if(b.a===null){b.a=qq(new pq());}EX(b.a,a);}
+function EB(b,a){if(b.b===null){b.b=aD(new FC());}EX(b.b,a);}
+function aC(a){return ef(a.ub());}
+function bC(b,a){Bf(b.ub(),a);}
+function cC(a,b){Df(a.ub(),'whiteSpace',b?'normal':'nowrap');}
+function dC(a){switch(xe(a)){case 1:if(this.a!==null){sq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){eD(this.b,this,a);}break;case 131072:break;}}
+function AB(){}
+_=AB.prototype=new oO();_.wc=dC;_.tN=pfc+'Label';_.tI=75;_.a=null;_.b=null;function dz(a){BB(a);a.me(xd());vN(a,125);uN(a,'gwt-HTML');return a;}
+function ez(b,a){dz(b);hz(b,a);return b;}
+function fz(b,a,c){ez(b,a);cC(b,c);return b;}
+function hz(b,a){Af(b.ub(),a);}
+function hw(){}
+_=hw.prototype=new AB();_.tN=pfc+'HTML';_.tI=76;function kw(a){{nw(a);}}
+function lw(b,a){b.c=a;kw(b);return b;}
+function nw(a){while(++a.b<a.c.b.b){if(dY(a.c.b,a.b)!==null){return;}}}
+function ow(a){return a.b<a.c.b.b;}
+function pw(){return ow(this);}
+function qw(){var a;if(!ow(this)){throw new a2();}a=dY(this.c.b,this.b);this.a=this.b;nw(this);return a;}
+function rw(){var a;if(this.a<0){throw new rS();}a=Fb(dY(this.c.b,this.a),13);sP(a);this.a=(-1);}
+function jw(){}
+_=jw.prototype=new uT();_.kc=pw;_.sc=qw;_.ce=rw;_.tN=pfc+'HTMLTable$1';_.tI=77;_.a=(-1);_.b=(-1);function dx(b,a){b.b=a;return b;}
+function fx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
+function cx(){}
+_=cx.prototype=new uT();_.tN=pfc+'HTMLTable$ColumnFormatter';_.tI=78;_.a=null;function hx(b,a){b.a=a;return b;}
+function jx(b,a){b.a.yd(a);return kx(b,b.a.m,a);}
+function kx(c,a,b){return a.rows[b];}
+function lx(c,a,b){EN(jx(c,a),b);}
+function gx(){}
+_=gx.prototype=new uT();_.tN=pfc+'HTMLTable$RowFormatter';_.tI=79;function qx(a){a.b=CX(new AX());}
+function rx(a){qx(a);return a;}
+function tx(c,a){var b;b=zx(a);if(b<0){return null;}return Fb(dY(c.b,b),13);}
+function ux(b,c){var a;if(b.a===null){a=b.b.b;EX(b.b,c);}else{a=b.a.a;jY(b.b,a,c);b.a=b.a.b;}Ax(c.ub(),a);}
+function vx(c,a,b){yx(a);jY(c.b,b,null);c.a=ox(new nx(),b,c.a);}
+function wx(c,a){var b;b=zx(a);vx(c,a,b);}
+function xx(a){return lw(new jw(),a);}
+function yx(a){a['__widgetID']=null;}
+function zx(a){var b=a['__widgetID'];return b==null?-1:b;}
+function Ax(a,b){a['__widgetID']=b;}
+function mx(){}
+_=mx.prototype=new uT();_.tN=pfc+'HTMLTable$WidgetMapper';_.tI=80;_.a=null;function ox(c,a,b){c.a=a;c.b=b;return c;}
+function nx(){}
+_=nx.prototype=new uT();_.tN=pfc+'HTMLTable$WidgetMapper$FreeNode';_.tI=81;_.a=0;_.b=null;function oz(){oz=s2;pz=mz(new lz(),'center');qz=mz(new lz(),'left');rz=mz(new lz(),'right');}
+var pz,qz,rz;function mz(b,a){b.a=a;return b;}
+function lz(){}
+_=lz.prototype=new uT();_.tN=pfc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=82;_.a=null;function xz(){xz=s2;yz=vz(new uz(),'bottom');zz=vz(new uz(),'middle');Az=vz(new uz(),'top');}
+var yz,zz,Az;function vz(a,b){a.a=b;return a;}
+function uz(){}
+_=uz.prototype=new uT();_.tN=pfc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=83;_.a=null;function Ez(a){a.a=(oz(),qz);a.c=(xz(),Az);}
+function Fz(a){up(a);Ez(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function aA(b,c){var a;a=cA(b);td(b.b,a);xq(b,c,a);}
+function cA(b){var a;a=ee();wp(b,a,b.a);xp(b,a,b.c);return a;}
+function dA(c,d,a){var b;Aq(c,a);b=cA(c);hf(c.b,b,a);Eq(c,d,b,a,false);}
+function eA(c,d){var a,b;b=ff(d.ub());a=ar(c,d);if(a){nf(c.b,b);}return a;}
+function fA(b,a){b.c=a;}
+function gA(a){return eA(this,a);}
+function Dz(){}
+_=Dz.prototype=new tp();_.ee=gA;_.tN=pfc+'HorizontalPanel';_.tI=84;_.b=null;function iA(a){a.me(xd());td(a.ub(),a.a=vd());vN(a,1);uN(a,'gwt-Hyperlink');return a;}
+function jA(c,b,a){iA(c);mA(c,b);lA(c,a);return c;}
+function lA(b,a){b.b=a;xf(b.a,'href','#'+a);}
+function mA(b,a){Bf(b.a,a);}
+function nA(a){if(xe(a)==1){ah(this.b);ye(a);}}
+function hA(){}
+_=hA.prototype=new oO();_.wc=nA;_.tN=pfc+'Hyperlink';_.tI=85;_.a=null;_.b=null;function hB(){hB=s2;z0(new DZ());}
+function dB(a){hB();gB(a,CA(new BA(),a));uN(a,'gwt-Image');return a;}
+function eB(a,b){hB();gB(a,DA(new BA(),a,b));uN(a,'gwt-Image');return a;}
+function fB(b,a){if(b.a===null){b.a=qq(new pq());}EX(b.a,a);}
+function gB(b,a){b.b=a;}
+function jB(a,b){a.b.ve(a,b);}
+function iB(c,e,b,d,f,a){c.b.ue(c,e,b,d,f,a);}
+function kB(a){switch(xe(a)){case 1:{if(this.a!==null){sq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
+function oA(){}
+_=oA.prototype=new oO();_.wc=kB;_.tN=pfc+'Image';_.tI=86;_.a=null;_.b=null;function rA(){}
+function pA(){}
+_=pA.prototype=new uT();_.pb=rA;_.tN=pfc+'Image$1';_.tI=87;function zA(){}
+_=zA.prototype=new uT();_.tN=pfc+'Image$State';_.tI=88;function uA(){uA=s2;wA=new FP();}
+function tA(d,b,f,c,e,g,a){uA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.me(cQ(wA,f,c,e,g,a));vN(b,131197);vA(d,b);return d;}
+function vA(b,a){eg(new pA());}
+function yA(a,b){gB(a,DA(new BA(),a,b));}
+function xA(b,e,c,d,f,a){if(!nU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;aQ(wA,b.ub(),e,c,d,f,a);vA(this,b);}}
+function sA(){}
+_=sA.prototype=new zA();_.ve=yA;_.ue=xA;_.tN=pfc+'Image$ClippedState';_.tI=89;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var wA;function CA(b,a){a.me(Bd());vN(a,229501);return b;}
+function DA(b,a,c){CA(b,a);FA(b,a,c);return b;}
+function FA(b,a,c){zf(a.ub(),c);}
+function bB(a,b){FA(this,a,b);}
+function aB(b,e,c,d,f,a){gB(b,tA(new sA(),b,e,c,d,f,a));}
+function BA(){}
+_=BA.prototype=new zA();_.ve=bB;_.ue=aB;_.tN=pfc+'Image$UnclippedState';_.tI=90;function oB(c,a,b){}
+function pB(c,a,b){}
+function qB(c,a,b){}
+function mB(){}
+_=mB.prototype=new uT();_.cd=oB;_.dd=pB;_.ed=qB;_.tN=pfc+'KeyboardListenerAdapter';_.tI=91;function sB(a){CX(a);return a;}
+function uB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.cd(e,b,d);}}
+function vB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.dd(e,b,d);}}
+function wB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.ed(e,b,d);}}
+function xB(d,c,a){var b;b=yB(a);switch(xe(a)){case 128:uB(d,c,bc(se(a)),b);break;case 512:wB(d,c,bc(se(a)),b);break;case 256:vB(d,c,bc(se(a)),b);break;}}
+function yB(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
+function rB(){}
+_=rB.prototype=new AX();_.tN=pfc+'KeyboardListenerCollection';_.tI=92;function tC(){tC=s2;hu();DC=new fC();}
+function mC(a){tC();nC(a,false);return a;}
+function nC(b,a){tC();fu(b,be(a));vN(b,1024);uN(b,'gwt-ListBox');return b;}
+function oC(b,a){if(b.b===null){b.b=Bp(new Ap());}EX(b.b,a);}
+function pC(b,a){yC(b,a,(-1));}
+function qC(b,a,c){zC(b,a,c,(-1));}
+function rC(b,a){if(a<0||a>=uC(b)){throw new uS();}}
+function sC(a){gC(DC,a.ub());}
+function uC(a){return iC(DC,a.ub());}
+function vC(b,a){rC(b,a);return jC(DC,b.ub(),a);}
+function wC(a){return af(a.ub(),'selectedIndex');}
+function xC(b,a){rC(b,a);return kC(DC,b.ub(),a);}
+function yC(c,b,a){zC(c,b,b,a);}
+function zC(c,b,d,a){jf(c.ub(),b,d,a);}
+function AC(b,a){rC(b,a);lC(DC,b.ub(),a);}
+function BC(b,a){wf(b.ub(),'selectedIndex',a);}
+function CC(a,b){wf(a.ub(),'size',b);}
+function EC(a){if(xe(a)==1024){if(this.b!==null){Dp(this.b,this);}}else{iu(this,a);}}
+function eC(){}
+_=eC.prototype=new eu();_.wc=EC;_.tN=pfc+'ListBox';_.tI=93;_.b=null;var DC;function gC(b,a){a.options.length=0;}
+function iC(b,a){return a.options.length;}
+function jC(c,b,a){return b.options[a].text;}
+function kC(c,b,a){return b.options[a].value;}
+function lC(c,b,a){b.options[a]=null;}
+function fC(){}
+_=fC.prototype=new uT();_.tN=pfc+'ListBox$Impl';_.tI=94;function aD(a){CX(a);return a;}
+function cD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.hd(c,e,f);}}
+function dD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.id(c);}}
+function eD(e,c,a){var b,d,f,g,h;d=c.ub();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:cD(e,c,g,h);break;case 8:hD(e,c,g,h);break;case 64:gD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){dD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){fD(e,c);}break;}}
+function fD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.jd(c);}}
+function gD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.kd(c,e,f);}}
+function hD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.ld(c,e,f);}}
+function FC(){}
+_=FC.prototype=new AX();_.tN=pfc+'MouseListenerCollection';_.tI=95;function jD(){}
+_=jD.prototype=new uT();_.tN=pfc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=96;_.a=null;_.b=null;function nD(b,a){rD(a,b.Ed());sD(a,b.Ed());}
+function oD(a){return a.a;}
+function pD(a){return a.b;}
+function qD(b,a){b.gf(oD(a));b.gf(pD(a));}
+function rD(a,b){a.a=b;}
+function sD(a,b){a.b=b;}
+function qK(){qK=s2;hu();xK=new jR();}
+function mK(b,a){qK();fu(b,a);vN(b,1024);return b;}
+function nK(b,a){if(b.f===null){b.f=Bp(new Ap());}EX(b.f,a);}
+function oK(b,a){if(b.i===null){b.i=sB(new rB());}EX(b.i,a);}
+function pK(a){if(a.h!==null){ye(a.h);}}
+function rK(a){return bf(a.ub(),'value');}
+function sK(b,a){uK(b,a,0);}
+function tK(b,a){xf(b.ub(),'name',a);}
+function uK(c,b,a){if(a<0){throw vS(new uS(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>rU(rK(c))){throw vS(new uS(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+rU(rK(c)));}nR(xK,c.ub(),b,a);}
+function vK(b,a){xf(b.ub(),'value',a!==null?a:'');}
+function wK(a){if(this.g===null){this.g=qq(new pq());}EX(this.g,a);}
+function yK(a){var b;iu(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;xB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){sq(this.g,this);}}else if(b==1024){if(this.f!==null){Dp(this.f,this);}}}
+function lK(){}
+_=lK.prototype=new eu();_.x=wK;_.wc=yK;_.tN=pfc+'TextBoxBase';_.tI=97;_.f=null;_.g=null;_.h=null;_.i=null;var xK;function ED(){ED=s2;qK();}
+function DD(a){ED();mK(a,Dd());uN(a,'gwt-PasswordTextBox');return a;}
+function CD(){}
+_=CD.prototype=new lK();_.tN=pfc+'PasswordTextBox';_.tI=98;function jF(b,a){kF(b,a,null);return b;}
+function kF(c,a,b){c.a=a;mF(c);return c;}
+function lF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=yF(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=yF(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=vF(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
+function mF(a){a.b=0;a.c={};a.d={};}
+function oF(b,a){return cY(pF(b,a,1),a);}
+function pF(c,b,a){var d;d=CX(new AX());if(b!==null&&a>0){rF(c,b,'',d,a);}return d;}
+function qF(a){return EE(new DE(),a);}
+function rF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=yF(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+BF(a);h.De(f,l,c,b);}}else{for(j in k){var l=d+BF(j);if(l.indexOf(f)==0){c.C(l);}if(c.Ce()>=b){return;}}for(var a in i){var l=d+BF(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ce()||h.b==1){h.nb(c,l);}else{for(var j in h.d){c.C(l+BF(j));}for(var g in h.c){c.C(l+BF(g)+'...');}}}}}}
+function sF(a){if(ac(a,1)){return lF(this,Fb(a,1));}else{throw sV(new rV(),'Cannot add non-Strings to PrefixTree');}}
+function tF(a){return lF(this,a);}
+function uF(a){if(ac(a,1)){return oF(this,Fb(a,1));}else{return false;}}
+function vF(a){return jF(new CE(),a);}
+function wF(b,c){var a;for(a=qF(this);bF(a);){b.C(c+Fb(eF(a),1));}}
+function xF(){return qF(this);}
+function yF(a){return Eb(58)+a;}
+function zF(){return this.b;}
+function AF(d,c,b,a){rF(this,d,c,b,a);}
+function BF(a){return wU(a,1);}
+function CE(){}
+_=CE.prototype=new uV();_.C=sF;_.D=tF;_.eb=uF;_.nb=wF;_.qc=xF;_.Ce=zF;_.De=AF;_.tN=pfc+'PrefixTree';_.tI=99;_.a=0;_.b=0;_.c=null;_.d=null;function EE(a,b){cF(a);FE(a,b,'');return a;}
+function FE(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
+function bF(a){return dF(a,true)!==null;}
+function cF(a){a.a=[];}
+function eF(a){var b;b=dF(a,false);if(b===null){if(!bF(a)){throw b2(new a2(),'No more elements in the iterator');}else{throw AT(new zT(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
+function dF(g,b){var d=g.a;var c=yF;var i=BF;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
+function fF(b,a){FE(this,b,a);}
+function gF(){return bF(this);}
+function hF(){return eF(this);}
+function iF(){throw sV(new rV(),'PrefixTree does not support removal.  Use clear()');}
+function DE(){}
+_=DE.prototype=new uT();_.A=fF;_.kc=gF;_.sc=hF;_.ce=iF;_.tN=pfc+'PrefixTree$PrefixTreeIterator';_.tI=100;_.a=null;function FF(){FF=s2;dq();}
+function DF(b,a){FF();bq(b,Ed(a));uN(b,'gwt-RadioButton');return b;}
+function EF(c,b,a){FF();DF(c,b);hq(c,a);return c;}
+function CF(){}
+_=CF.prototype=new Fp();_.tN=pfc+'RadioButton';_.tI=101;function gG(){gG=s2;lG=z0(new DZ());}
+function fG(b,a){gG();cp(b);if(a===null){a=hG();}b.me(a);b.uc();return b;}
+function iG(){gG();return jG(null);}
+function jG(c){gG();var a,b;b=Fb(F0(lG,c),48);if(b!==null){return b;}a=null;if(lG.c==0){kG();}a1(lG,c,b=fG(new aG(),a));return b;}
+function hG(){gG();return $doc.body;}
+function kG(){gG();yh(new bG());}
+function aG(){}
+_=aG.prototype=new bp();_.tN=pfc+'RootPanel';_.tI=102;var lG;function dG(){var a,b;for(b=FW(oX((gG(),lG)));gX(b);){a=Fb(hX(b),48);if(a.oc()){a.Bc();}}}
+function eG(){return null;}
+function bG(){}
+_=bG.prototype=new uT();_.ud=dG;_.vd=eG;_.tN=pfc+'RootPanel$1';_.tI=103;function nG(a){AG(a);qG(a,false);vN(a,16384);return a;}
+function oG(b,a){nG(b);b.Ae(a);return b;}
+function qG(b,a){Df(b.ub(),'overflow',a?'scroll':'auto');}
+function rG(a){xe(a)==16384;}
+function mG(){}
+_=mG.prototype=new sG();_.wc=rG;_.tN=pfc+'ScrollPanel';_.tI=104;function uG(a){a.a=a.c.r!==null;}
+function vG(b,a){b.c=a;uG(b);return b;}
+function xG(){return this.a;}
+function yG(){if(!this.a||this.c.r===null){throw new a2();}this.a=false;return this.b=this.c.r;}
+function zG(){if(this.b!==null){this.c.ee(this.b);}}
+function tG(){}
+_=tG.prototype=new uT();_.kc=xG;_.sc=yG;_.ce=zG;_.tN=pfc+'SimplePanel$1';_.tI=105;_.b=null;function qH(b){var a;wq(b);a=ge();b.me(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);uN(b,'gwt-StackPanel');return b;}
+function rH(a,b){vH(a,b,a.f.c);}
+function sH(c,d,b,a){rH(c,d);xH(c,c.f.c-1,b,a);}
+function uH(d,a){var b,c;while(a!==null&& !ud(a,d.ub())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return BS(b);}else{return (-1);}}a=ff(a);}return (-1);}
+function vH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=yq(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);FN(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');Eq(e,h,c,a,false);AH(e,a);if(e.b==(-1)){zH(e,0);}else{yH(e,a,false);if(e.b>=a){++e.b;}}}
+function wH(e,a,b){var c,d,f;c=ar(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}AH(e,d);}return c;}
+function xH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
+function yH(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);FN(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);bO(d,e);Dq(c,a).ye(e);}
+function zH(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){yH(b,b.b,false);}b.b=a;yH(b,b.b,true);}
+function AH(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
+function BH(a){var b,c;if(xe(a)==1){c=ve(a);b=uH(this,c);if(b!=(-1)){zH(this,b);}}}
+function CH(a){return wH(this,Dq(this,a),a);}
+function DH(a){return wH(this,a,Cq(this,a));}
+function pH(){}
+_=pH.prototype=new uq();_.wc=BH;_.de=CH;_.ee=DH;_.tN=pfc+'StackPanel';_.tI=106;_.a=null;_.b=(-1);function EH(){}
+_=EH.prototype=new uT();_.tN=pfc+'SuggestOracle$Request';_.tI=107;_.a=20;_.b=null;function aI(){}
+_=aI.prototype=new uT();_.tN=pfc+'SuggestOracle$Response';_.tI=108;_.a=null;function fI(b,a){jI(a,b.Bd());kI(a,b.Ed());}
+function gI(a){return a.a;}
+function hI(a){return a.b;}
+function iI(b,a){b.df(gI(a));b.gf(hI(a));}
+function jI(a,b){a.a=b;}
+function kI(a,b){a.b=b;}
+function nI(b,a){qI(a,Fb(b.Dd(),49));}
+function oI(a){return a.a;}
+function pI(b,a){b.ff(oI(a));}
+function qI(a,b){a.a=b;}
+function sI(a){a.a=Fz(new Dz());}
+function tI(c){var a,b;sI(c);gr(c,c.a);vN(c,1);uN(c,'gwt-TabBar');fA(c.a,(xz(),yz));a=fz(new hw(),'&nbsp;',true);b=fz(new hw(),'&nbsp;',true);uN(a,'gwt-TabBarFirst');uN(b,'gwt-TabBarRest');a.qe('100%');b.qe('100%');aA(c.a,a);aA(c.a,b);a.qe('100%');c.a.ke(a,'100%');c.a.le(b,'100%');return c;}
+function uI(b,a){if(b.c===null){b.c=FI(new EI());}EX(b.c,a);}
+function vI(b,a){if(a<0||a>yI(b)){throw new uS();}}
+function wI(b,a){if(a<(-1)||a>=yI(b)){throw new uS();}}
+function yI(a){return a.a.f.c-2;}
+function zI(e,d,a,b){var c;vI(e,b);if(a){c=ez(new hw(),d);}else{c=CB(new AB(),d);}cC(c,false);DB(c,e);uN(c,'gwt-TabBarItem');dA(e.a,c,b+1);}
+function AI(b,a){var c;wI(b,a);c=Dq(b.a,a+1);if(c===b.b){b.b=null;}eA(b.a,c);}
+function BI(b,a){wI(b,a);if(b.c!==null){if(!bJ(b.c,b,a)){return false;}}CI(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=Dq(b.a,a+1);CI(b,b.b,true);if(b.c!==null){cJ(b.c,b,a);}return true;}
+function CI(c,a,b){if(a!==null){if(b){jN(a,'gwt-TabBarItem-selected');}else{pN(a,'gwt-TabBarItem-selected');}}}
+function DI(b){var a;for(a=1;a<this.a.f.c-1;++a){if(Dq(this.a,a)===b){BI(this,a-1);return;}}}
+function rI(){}
+_=rI.prototype=new er();_.zc=DI;_.tN=pfc+'TabBar';_.tI=109;_.b=null;_.c=null;function FI(a){CX(a);return a;}
+function bJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);if(!b.vc(c,d)){return false;}}return true;}
+function cJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);b.qd(c,d);}}
+function EI(){}
+_=EI.prototype=new AX();_.tN=pfc+'TabListenerCollection';_.tI=110;function rJ(a){a.b=nJ(new mJ());a.a=gJ(new fJ(),a.b);}
+function sJ(b){var a;rJ(b);a=hO(new fO());iO(a,b.b);iO(a,b.a);a.ke(b.a,'100%');b.b.Be('100%');uI(b.b,b);gr(b,a);uN(b,'gwt-TabPanel');uN(b.a,'gwt-TabPanelBottom');return b;}
+function tJ(c,d,b,a){xJ(c,d,b,a,c.a.f.c);}
+function wJ(b,a){return Dq(b.a,a);}
+function vJ(a,b){return Cq(a.a,b);}
+function xJ(d,e,c,a,b){iJ(d.a,e,c,a,b);}
+function yJ(b,a){return b.a.de(a);}
+function zJ(b,a){BI(b.b,a);}
+function AJ(){return Fq(this.a);}
+function BJ(a,b){return true;}
+function CJ(a,b){sr(this.a,b);}
+function DJ(a){return jJ(this.a,a);}
+function eJ(){}
+_=eJ.prototype=new er();_.qc=AJ;_.vc=BJ;_.qd=CJ;_.ee=DJ;_.tN=pfc+'TabPanel';_.tI=111;function gJ(b,a){mr(b);b.a=a;return b;}
+function iJ(e,f,d,a,b){var c;c=Cq(e,f);if(c!=(-1)){jJ(e,f);if(c<b){b--;}}pJ(e.a,d,a,b);pr(e,f,b);}
+function jJ(b,c){var a;a=Cq(b,c);if(a!=(-1)){qJ(b.a,a);return qr(b,c);}return false;}
+function kJ(){throw sV(new rV(),'Use TabPanel.clear() to alter the DeckPanel');}
+function lJ(a){return jJ(this,a);}
+function fJ(){}
+_=fJ.prototype=new lr();_.ab=kJ;_.ee=lJ;_.tN=pfc+'TabPanel$TabbedDeckPanel';_.tI=112;_.a=null;function nJ(a){tI(a);return a;}
+function pJ(d,c,a,b){zI(d,c,a,b);}
+function qJ(b,a){AI(b,a);}
+function mJ(){}
+_=mJ.prototype=new rI();_.tN=pfc+'TabPanel$UnmodifiableTabBar';_.tI=113;function FJ(a){CX(a);return a;}
+function bK(f,e,d,a){var b,c;for(b=f.qc();b.kc();){c=Fb(b.sc(),51);c.xc(e,d,a);}}
+function EJ(){}
+_=EJ.prototype=new AX();_.tN=pfc+'TableListenerCollection';_.tI=114;function fK(){fK=s2;qK();}
+function eK(a){fK();mK(a,he());uN(a,'gwt-TextArea');return a;}
+function gK(a){return mR(xK,a.ub());}
+function hK(a){return af(a.ub(),'rows');}
+function iK(a,b){wf(a.ub(),'cols',b);}
+function jK(b,a){wf(b.ub(),'rows',a);}
+function dK(){}
+_=dK.prototype=new lK();_.tN=pfc+'TextArea';_.tI=115;function AK(){AK=s2;qK();}
+function zK(a){AK();mK(a,Fd());uN(a,'gwt-TextBox');return a;}
+function BK(b,a){wf(b.ub(),'size',a);}
+function kK(){}
+_=kK.prototype=new lK();_.tN=pfc+'TextBox';_.tI=116;function iM(a){a.a=z0(new DZ());}
+function jM(a){kM(a,gL(new fL()));return a;}
+function kM(b,a){iM(b);b.d=a;b.me(xd());Df(b.ub(),'position','relative');b.c=qQ((cu(),du));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.ub(),b.c);vN(b,1021);Ef(b.c,6144);b.g=EK(new DK(),b);BL(b.g,b);uN(b,'gwt-Tree');return b;}
+function mM(c,a){var b;b=pL(new mL(),a);lM(c,b);return b;}
+function lM(b,a){FK(b.g,a);}
+function nM(b,a){if(b.f===null){b.f=dM(new cM());}EX(b.f,a);}
+function oM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){vL(sL(c.g,a));}}
+function qM(d,a,c,b){if(b===null||ud(b,c)){return;}qM(d,a,c,ff(b));EX(a,hc(b,hg));}
+function rM(e,d,b){var a,c;a=CX(new AX());qM(e,a,e.ub(),b);c=tM(e,a,0,d);if(c!==null){if(kf(uL(c),b)){AL(c,!c.f,true);return true;}else if(kf(c.ub(),b)){AM(e,c,true,!bN(e,b));return true;}}return false;}
+function sM(b,a){if(!a.f){return a;}return sM(b,sL(a,a.c.b-1));}
+function tM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(dY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=sL(h,d);if(ud(b.ub(),c)){g=tM(i,a,e+1,sL(h,d));if(g===null){return b;}return g;}}return tM(i,a,e+1,h);}
+function uM(b,a){if(b.f!==null){gM(b.f,a);}}
+function vM(b,a){return sL(b.g,a);}
+function wM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[610],[13],[a.a.c],null);nX(a.a).Fe(b);return oP(a,b);}
+function xM(h,g){var a,b,c,d,e,f,i,j;c=tL(g);{f=g.d;a=lN(h);b=mN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);sQ((cu(),du),h.c);}}
+function yM(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=rL(c,d);if(!a|| !d.f){if(b<c.c.b-1){AM(e,sL(c,b+1),true,true);}else{yM(e,c,false);}}else if(d.c.b>0){AM(e,sL(d,0),true,true);}}
+function zM(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=rL(b,c);if(a>0){d=sL(b,a-1);AM(e,sM(e,d),true,true);}else{AM(e,b,true,true);}}
+function AM(d,b,a,c){if(b===d.g){return;}if(d.b!==null){yL(d.b,false);}d.b=b;if(c&&d.b!==null){xM(d,d.b);yL(d.b,true);if(a&&d.f!==null){fM(d.f,d.b);}}}
+function DM(b,c){var a;a=Fb(F0(b.a,c),52);if(a===null){return false;}DL(a,null);return true;}
+function BM(b,a){bL(b.g,a);}
+function CM(a){while(a.g.c.b>0){BM(a,vM(a,0));}}
+function EM(b,a){if(a){sQ((cu(),du),b.c);}else{mQ((cu(),du),b.c);}}
+function FM(b,a){aN(b,a,true);}
+function aN(c,b,a){if(b===null){if(c.b===null){return;}yL(c.b,false);c.b=null;return;}AM(c,b,a,true);}
+function bN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
+function cN(){var a,b;for(b=wM(this);hP(b);){a=iP(b);a.uc();}yf(this.c,this);}
+function dN(){var a,b;for(b=wM(this);hP(b);){a=iP(b);a.Bc();}yf(this.c,null);}
+function eN(){return wM(this);}
+function fN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(bN(this,b)){}else{EM(this,true);}break;}case 4:{if(jg(qe(c),hc(this.ub(),hg))){rM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){AM(this,sL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{zM(this,this.b);ye(c);break;}case 40:{yM(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){zL(this.b,false);}else{f=this.b.g;if(f!==null){FM(this,f);}}ye(c);break;}case 39:{if(!this.b.f){zL(this.b,true);}else if(this.b.c.b>0){FM(this,sL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=CX(new AX());qM(this,a,this.ub(),ve(c));e=tM(this,a,0,this.g);if(e!==this.b){aN(this,e,true);}}}case 256:{break;}}this.e=d;}
+function gN(){EL(this.g);}
+function hN(a){return DM(this,a);}
+function CK(){}
+_=CK.prototype=new oO();_.kb=cN;_.mb=dN;_.qc=eN;_.wc=fN;_.fd=gN;_.ee=hN;_.tN=pfc+'Tree';_.tI=117;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function nL(a){a.c=CX(new AX());a.i=dB(new oA());}
+function oL(d){var a,b,c,e;nL(d);d.me(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.ub(),d.e);td(d.ub(),d.b);td(c,d.i.ub());td(b,d.d);Df(d.d,'display','inline');Df(d.ub(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');FN(d.d,'gwt-TreeItem',true);return d;}
+function pL(b,a){oL(b);wL(b,a);return b;}
+function sL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(dY(b.c,a),52);}
+function rL(b,a){return eY(b.c,a);}
+function tL(a){var b;b=a.l;{return null;}}
+function uL(a){return a.i.ub();}
+function vL(a){if(a.g!==null){a.g.ae(a);}else if(a.j!==null){BM(a.j,a);}}
+function wL(b,a){DL(b,null);Af(b.d,a);}
+function xL(b,a){b.g=a;}
+function yL(b,a){if(b.h==a){return;}b.h=a;FN(b.d,'gwt-TreeItem-selected',a);}
+function zL(b,a){AL(b,a,true);}
+function AL(c,b,a){if(b&&c.c.b==0){return;}c.f=b;FL(c);if(a&&c.j!==null){uM(c.j,c);}}
+function BL(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){FM(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){BL(Fb(dY(d.c,a),52),c);}FL(d);}
+function CL(a,b){a.k=b;}
+function DL(b,a){Af(b.d,'');b.l=a;}
+function FL(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){bO(b.b,false);gQ((hL(),kL),b.i);return;}if(b.f){bO(b.b,true);gQ((hL(),lL),b.i);}else{bO(b.b,false);gQ((hL(),jL),b.i);}}
+function EL(c){var a,b;FL(c);for(a=0,b=c.c.b;a<b;++a){EL(Fb(dY(c.c,a),52));}}
+function aM(a){if(a.g!==null||a.j!==null){vL(a);}xL(a,this);EX(this.c,a);Df(a.ub(),'marginLeft','16px');td(this.b,a.ub());BL(a,this.j);if(this.c.b==1){FL(this);}}
+function bM(a){if(!cY(this.c,a)){return;}BL(a,null);nf(this.b,a.ub());xL(a,null);iY(this.c,a);if(this.c.b==0){FL(this);}}
+function mL(){}
+_=mL.prototype=new iN();_.y=aM;_.ae=bM;_.tN=pfc+'TreeItem';_.tI=118;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function EK(b,a){b.a=a;oL(b);return b;}
+function FK(b,a){if(a.g!==null||a.j!==null){vL(a);}td(b.a.ub(),a.ub());BL(a,b.j);xL(a,null);EX(b.c,a);Cf(a.ub(),'marginLeft',0);}
+function bL(b,a){if(!cY(b.c,a)){return;}BL(a,null);xL(a,null);iY(b.c,a);nf(b.a.ub(),a.ub());}
+function cL(a){FK(this,a);}
+function dL(a){bL(this,a);}
+function DK(){}
+_=DK.prototype=new mL();_.y=cL;_.ae=dL;_.tN=pfc+'Tree$1';_.tI=119;function hL(){hL=s2;iL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';jL=fQ(new eQ(),iL,0,0,16,16);kL=fQ(new eQ(),iL,16,0,16,16);lL=fQ(new eQ(),iL,32,0,16,16);}
+function gL(a){hL();return a;}
+function fL(){}
+_=fL.prototype=new uT();_.tN=pfc+'TreeImages_generatedBundle';_.tI=120;var iL,jL,kL,lL;function dM(a){CX(a);return a;}
+function fM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.rd(b);}}
+function gM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.sd(b);}}
+function cM(){}
+_=cM.prototype=new AX();_.tN=pfc+'TreeListenerCollection';_.tI=121;function gO(a){a.a=(oz(),qz);a.b=(xz(),Az);}
+function hO(a){up(a);gO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function iO(b,d){var a,c;c=fe();a=kO(b);td(c,a);td(b.d,c);xq(b,d,a);}
+function kO(b){var a;a=ee();wp(b,a,b.a);xp(b,a,b.b);return a;}
+function lO(b,a){b.a=a;}
+function mO(b,a){b.b=a;}
+function nO(c){var a,b;b=ff(c.ub());a=ar(this,c);if(a){nf(this.d,ff(b));}return a;}
+function fO(){}
+_=fO.prototype=new tp();_.ee=nO;_.tN=pfc+'VerticalPanel';_.tI=122;function yO(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[610],[13],[4],null);return b;}
+function zO(a,b){DO(a,b,a.c);}
+function BO(b,a){if(a<0||a>=b.c){throw new uS();}return b.a[a];}
+function CO(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
+function DO(d,e,a){var b,c;if(a<0||a>d.c){throw new uS();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[610],[13],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
+function EO(a){return rO(new qO(),a);}
+function FO(c,b){var a;if(b<0||b>=c.c){throw new uS();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
+function aP(b,c){var a;a=CO(b,c);if(a==(-1)){throw new a2();}FO(b,a);}
+function pO(){}
+_=pO.prototype=new uT();_.tN=pfc+'WidgetCollection';_.tI=123;_.a=null;_.b=null;_.c=0;function rO(b,a){b.b=a;return b;}
+function tO(a){return a.a<a.b.c-1;}
+function uO(a){if(a.a>=a.b.c){throw new a2();}return a.b.a[++a.a];}
+function vO(){return tO(this);}
+function wO(){return uO(this);}
+function xO(){if(this.a<0||this.a>=this.b.c){throw new rS();}this.b.b.ee(this.b.a[this.a--]);}
+function qO(){}
+_=qO.prototype=new uT();_.kc=vO;_.sc=wO;_.ce=xO;_.tN=pfc+'WidgetCollection$WidgetIterator';_.tI=124;_.a=(-1);function nP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[610],[13],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
+function oP(b,a){return eP(new cP(),a,b);}
+function dP(a){a.e=a.c;{gP(a);}}
+function eP(a,b,c){a.c=b;a.d=c;dP(a);return a;}
+function gP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
+function hP(a){return a.a<a.c.a;}
+function iP(a){var b;if(!hP(a)){throw new a2();}a.b=a.a;b=a.c[a.a];gP(a);return b;}
+function jP(){return hP(this);}
+function kP(){return iP(this);}
+function lP(){if(this.b<0){throw new rS();}if(!this.f){this.e=nP(this.e);this.f=true;}DM(this.d,this.c[this.b]);this.b=(-1);}
+function cP(){}
+_=cP.prototype=new uT();_.kc=jP;_.sc=kP;_.ce=lP;_.tN=pfc+'WidgetIterators$1';_.tI=125;_.a=(-1);_.b=(-1);_.f=false;function aQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
+function cQ(c,f,b,e,g,a){var d;d=ce();Af(d,dQ(c,f,b,e,g,a));return df(d);}
+function dQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
+function FP(){}
+_=FP.prototype=new uT();_.tN=qfc+'ClippedImageImpl';_.tI=126;function fQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
+function gQ(b,a){iB(a,b.d,b.b,b.c,b.e,b.a);}
+function eQ(){}
+_=eQ.prototype=new ip();_.tN=qfc+'ClippedImagePrototype';_.tI=127;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function yQ(){yQ=s2;BQ=lQ(new jQ());CQ=BQ!==null?xQ(new iQ()):BQ;}
+function xQ(a){yQ();return a;}
+function zQ(a){a.blur();}
+function AQ(a){a.focus();}
+function DQ(a,b){a.tabIndex=b;}
+function iQ(){}
+_=iQ.prototype=new uT();_.F=zQ;_.rb=AQ;_.se=DQ;_.tN=qfc+'FocusImpl';_.tI=128;var BQ,CQ;function nQ(){nQ=s2;yQ();}
+function kQ(a){a.a=oQ(a);a.b=pQ(a);a.c=rQ(a);}
+function lQ(a){nQ();xQ(a);kQ(a);return a;}
+function mQ(b,a){a.firstChild.blur();}
+function oQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
+function pQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
+function qQ(c){var a=$doc.createElement('div');var b=c.gb();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
+function rQ(a){return function(){this.firstChild.focus();};}
+function sQ(b,a){a.firstChild.focus();}
+function tQ(a){mQ(this,a);}
+function uQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
+function vQ(a){sQ(this,a);}
+function wQ(a,b){a.firstChild.tabIndex=b;}
+function jQ(){}
+_=jQ.prototype=new iQ();_.F=tQ;_.gb=uQ;_.rb=vQ;_.se=wQ;_.tN=qfc+'FocusImplOld';_.tI=129;function bR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
+function cR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.ad();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Fc();};}
+function dR(c,b,a){b.enctype=a;b.encoding=a;}
+function eR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
+function fR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
+function EQ(){}
+_=EQ.prototype=new uT();_.tN=qfc+'FormPanelImpl';_.tI=130;function iR(a){return xd();}
+function gR(){}
+_=gR.prototype=new uT();_.tN=qfc+'PopupImpl';_.tI=131;function lR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
+function mR(b,a){return lR(b,a);}
+function nR(d,a,c,b){a.setSelectionRange(c,c+b);}
+function jR(){}
+_=jR.prototype=new uT();_.tN=qfc+'TextBoxImpl';_.tI=132;function rR(){}
+_=rR.prototype=new uT();_.tN=rfc+'OutputStream';_.tI=133;function pR(){}
+_=pR.prototype=new rR();_.tN=rfc+'FilterOutputStream';_.tI=134;function tR(){}
+_=tR.prototype=new pR();_.tN=rfc+'PrintStream';_.tI=135;function vR(){}
+_=vR.prototype=new zT();_.tN=sfc+'ArrayStoreException';_.tI=136;function zR(){zR=s2;AR=yR(new xR(),false);BR=yR(new xR(),true);}
+function yR(a,b){zR();a.a=b;return a;}
+function CR(a){return ac(a,55)&&Fb(a,55).a==this.a;}
+function DR(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
+function ER(){return this.a?'true':'false';}
+function FR(a){zR();return a?BR:AR;}
+function xR(){}
+_=xR.prototype=new uT();_.eQ=CR;_.hC=DR;_.tS=ER;_.tN=sfc+'Boolean';_.tI=137;_.a=false;var AR,BR;function dS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+eT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
+function eS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
+function gS(b,a){AT(b,a);return b;}
+function fS(){}
+_=fS.prototype=new zT();_.tN=sfc+'ClassCastException';_.tI=138;function pS(b,a){AT(b,a);return b;}
+function oS(){}
+_=oS.prototype=new zT();_.tN=sfc+'IllegalArgumentException';_.tI=139;function sS(b,a){AT(b,a);return b;}
+function rS(){}
+_=rS.prototype=new zT();_.tN=sfc+'IllegalStateException';_.tI=140;function vS(b,a){AT(b,a);return b;}
+function uS(){}
+_=uS.prototype=new zT();_.tN=sfc+'IndexOutOfBoundsException';_.tI=141;function oT(){oT=s2;{tT();}}
+function pT(a){oT();return isNaN(a);}
+function qT(e,d,c,h){oT();var a,b,f,g;if(e===null){throw mT(new lT(),'Unable to parse null');}b=rU(e);f=b>0&&iU(e,0)==45?1:0;for(a=f;a<b;a++){if(dS(iU(e,a),d)==(-1)){throw mT(new lT(),'Could not parse '+e+' in radix '+d);}}g=rT(e,d);if(pT(g)){throw mT(new lT(),'Unable to parse '+e);}else if(g<c||g>h){throw mT(new lT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
+function rT(b,a){oT();return parseInt(b,a);}
+function tT(){oT();sT=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
+var sT=null;function yS(){yS=s2;oT();}
+function BS(a){yS();return CS(a,10);}
+function CS(b,a){yS();return cc(qT(b,a,(-2147483648),2147483647));}
+function DS(a){yS();return dV(a);}
+var zS=2147483647,AS=(-2147483648);function FS(){FS=s2;oT();}
+function aT(a){FS();return eV(a);}
+function dT(a){return a<0?-a:a;}
+function eT(a,b){return a<b?a:b;}
+function fT(){}
+_=fT.prototype=new zT();_.tN=sfc+'NegativeArraySizeException';_.tI=142;function iT(b,a){AT(b,a);return b;}
+function hT(){}
+_=hT.prototype=new zT();_.tN=sfc+'NullPointerException';_.tI=143;function mT(b,a){pS(b,a);return b;}
+function lT(){}
+_=lT.prototype=new oS();_.tN=sfc+'NumberFormatException';_.tI=144;function iU(b,a){return b.charCodeAt(a);}
+function kU(f,c){var a,b,d,e,g,h;h=rU(f);e=rU(c);b=eT(h,e);for(a=0;a<b;a++){g=iU(f,a);d=iU(c,a);if(g!=d){return g-d;}}return h-e;}
+function lU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
+function nU(b,a){if(!ac(a,1))return false;return CU(b,a);}
+function mU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
+function oU(b,a){return b.indexOf(String.fromCharCode(a));}
+function pU(b,a){return b.indexOf(a);}
+function qU(c,b,a){return c.indexOf(b,a);}
+function rU(a){return a.length;}
+function sU(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
+function tU(b,a){return uU(b,a,0);}
+function uU(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=BU(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
+function vU(b,a){return pU(b,a)==0;}
+function wU(b,a){return b.substr(a,b.length-a);}
+function xU(c,a,b){return c.substr(a,b-a);}
+function yU(d){var a,b,c;c=rU(d);a=yb('[C',[606],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=iU(d,b);return a;}
+function zU(a){return a.toLowerCase();}
+function AU(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
+function BU(a){return yb('[Ljava.lang.String;',[605],[1],[a],null);}
+function CU(a,b){return String(a)==b;}
+function DU(a){if(ac(a,1)){return kU(this,Fb(a,1));}else{throw gS(new fS(),'Cannot compare '+a+" with String '"+this+"'");}}
+function EU(a){return nU(this,a);}
+function aV(){var a=FU;if(!a){a=FU={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
+function bV(){return this;}
+function cV(a){return String.fromCharCode(a);}
+function dV(a){return ''+a;}
+function eV(a){return ''+a;}
+function fV(a){return a!==null?a.tS():'null';}
+_=String.prototype;_.bb=DU;_.eQ=EU;_.hC=aV;_.tS=bV;_.tN=sfc+'String';_.tI=2;var FU=null;function FT(a){cU(a);return a;}
+function aU(a,b){return bU(a,cV(b));}
+function bU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
+function cU(a){dU(a,'');}
+function dU(b,a){b.js=[a];b.length=a.length;}
+function fU(a){a.tc();return a.js[0];}
+function gU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
+function hU(){return fU(this);}
+function ET(){}
+_=ET.prototype=new uT();_.tc=gU;_.tS=hU;_.tN=sfc+'StringBuffer';_.tI=145;function hV(){hV=s2;kV=new tR();}
+function iV(){hV();return new Date().getTime();}
+function jV(a){hV();return B(a);}
+var kV;function sV(b,a){AT(b,a);return b;}
+function rV(){}
+_=rV.prototype=new zT();_.tN=sfc+'UnsupportedOperationException';_.tI=146;function EV(b,a){b.c=a;return b;}
+function aW(a){return a.a<a.c.Ce();}
+function bW(){return aW(this);}
+function cW(){if(!aW(this)){throw new a2();}return this.c.hc(this.b=this.a++);}
+function dW(){if(this.b<0){throw new rS();}this.c.de(this.b);this.a=this.b;this.b=(-1);}
+function DV(){}
+_=DV.prototype=new uT();_.kc=bW;_.sc=cW;_.ce=dW;_.tN=tfc+'AbstractList$IteratorImpl';_.tI=147;_.a=0;_.b=(-1);function mX(f,d,e){var a,b,c;for(b=u0(f.ob());m0(b);){a=n0(b);c=a.yb();if(d===null?c===null:d.eQ(c)){if(e){o0(b);}return a;}}return null;}
+function nX(b){var a;a=b.ob();return oW(new nW(),b,a);}
+function oX(b){var a;a=E0(b);return DW(new CW(),b,a);}
+function pX(a){return mX(this,a,false)!==null;}
+function qX(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=nX(this);e=f.rc();if(!xX(c,e)){return false;}for(a=qW(c);xW(a);){b=yW(a);h=this.ic(b);g=f.ic(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
+function rX(b){var a;a=mX(this,b,false);return a===null?null:a.ec();}
+function sX(){var a,b,c;b=0;for(c=u0(this.ob());m0(c);){a=n0(c);b+=a.hC();}return b;}
+function tX(){return nX(this);}
+function uX(){var a,b,c,d;d='{';a=false;for(c=u0(this.ob());m0(c);){b=n0(c);if(a){d+=', ';}else{a=true;}d+=fV(b.yb());d+='=';d+=fV(b.ec());}return d+'}';}
+function mW(){}
+_=mW.prototype=new uT();_.db=pX;_.eQ=qX;_.ic=rX;_.hC=sX;_.rc=tX;_.tS=uX;_.tN=tfc+'AbstractMap';_.tI=148;function xX(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ce()!=e.Ce()){return false;}for(a=c.qc();a.kc();){d=a.sc();if(!e.eb(d)){return false;}}return true;}
+function yX(a){return xX(this,a);}
+function zX(){var a,b,c;a=0;for(b=this.qc();b.kc();){c=b.sc();if(c!==null){a+=c.hC();}}return a;}
+function vX(){}
+_=vX.prototype=new uV();_.eQ=yX;_.hC=zX;_.tN=tfc+'AbstractSet';_.tI=149;function oW(b,a,c){b.a=a;b.b=c;return b;}
+function qW(b){var a;a=u0(b.b);return vW(new uW(),b,a);}
+function rW(a){return this.a.db(a);}
+function sW(){return qW(this);}
+function tW(){return this.b.a.c;}
+function nW(){}
+_=nW.prototype=new vX();_.eb=rW;_.qc=sW;_.Ce=tW;_.tN=tfc+'AbstractMap$1';_.tI=150;function vW(b,a,c){b.a=c;return b;}
+function xW(a){return m0(a.a);}
+function yW(b){var a;a=n0(b.a);return a.yb();}
+function zW(){return xW(this);}
+function AW(){return yW(this);}
+function BW(){o0(this.a);}
+function uW(){}
+_=uW.prototype=new uT();_.kc=zW;_.sc=AW;_.ce=BW;_.tN=tfc+'AbstractMap$2';_.tI=151;function DW(b,a,c){b.a=a;b.b=c;return b;}
+function FW(b){var a;a=u0(b.b);return eX(new dX(),b,a);}
+function aX(a){return D0(this.a,a);}
+function bX(){return FW(this);}
+function cX(){return this.b.a.c;}
+function CW(){}
+_=CW.prototype=new uV();_.eb=aX;_.qc=bX;_.Ce=cX;_.tN=tfc+'AbstractMap$3';_.tI=152;function eX(b,a,c){b.a=c;return b;}
+function gX(a){return m0(a.a);}
+function hX(a){var b;b=n0(a.a).ec();return b;}
+function iX(){return gX(this);}
+function jX(){return hX(this);}
+function kX(){o0(this.a);}
+function dX(){}
+_=dX.prototype=new uT();_.kc=iX;_.sc=jX;_.ce=kX;_.tN=tfc+'AbstractMap$4';_.tI=153;function yY(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.cb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
+function zY(a){yY(a,a.a,(fZ(),gZ));}
+function CY(){CY=s2;t1(new s1());DY=z0(new DZ());CX(new AX());}
+function EY(c,d){CY();var a,b;b=c.b;for(a=0;a<b;a++){jY(c,a,d[a]);}}
+function FY(a){CY();var b;b=a.Ee();zY(b);EY(a,b);}
+var DY;function fZ(){fZ=s2;gZ=new cZ();}
+var gZ;function eZ(a,b){return Fb(a,34).bb(b);}
+function cZ(){}
+_=cZ.prototype=new uT();_.cb=eZ;_.tN=tfc+'Comparators$1';_.tI=154;function kZ(){kZ=s2;rZ=zb('[Ljava.lang.String;',605,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);sZ=zb('[Ljava.lang.String;',605,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
+function iZ(a){kZ();nZ(a);return a;}
+function jZ(b,a){kZ();oZ(b,a);return b;}
+function lZ(c,a){var b,d;d=mZ(c);b=mZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
+function mZ(a){return a.jsdate.getTime();}
+function nZ(a){a.jsdate=new Date();}
+function oZ(b,a){b.jsdate=new Date(a);}
+function pZ(a){return a.jsdate.toLocaleString();}
+function qZ(h){var a=h.jsdate;var g=yZ;var b=uZ(h.jsdate.getDay());var e=xZ(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
+function tZ(a){return lZ(this,Fb(a,59));}
+function uZ(a){kZ();return rZ[a];}
+function vZ(a){return ac(a,59)&&mZ(this)==mZ(Fb(a,59));}
+function wZ(){return cc(mZ(this)^mZ(this)>>>32);}
+function xZ(a){kZ();return sZ[a];}
+function yZ(a){kZ();if(a<10){return '0'+a;}else{return dV(a);}}
+function zZ(){return qZ(this);}
+function hZ(){}
+_=hZ.prototype=new uT();_.bb=tZ;_.eQ=vZ;_.hC=wZ;_.tS=zZ;_.tN=tfc+'Date';_.tI=155;var rZ,sZ;function B0(){B0=s2;c1=i1();}
+function y0(a){{A0(a);}}
+function z0(a){B0();y0(a);return a;}
+function A0(a){a.a=gb();a.d=ib();a.b=hc(c1,cb);a.c=0;}
+function C0(b,a){if(ac(a,1)){return m1(b.d,Fb(a,1))!==c1;}else if(a===null){return b.b!==c1;}else{return l1(b.a,a,a.hC())!==c1;}}
+function D0(a,b){if(a.b!==c1&&k1(a.b,b)){return true;}else if(h1(a.d,b)){return true;}else if(f1(a.a,b)){return true;}return false;}
+function E0(a){return s0(new i0(),a);}
+function F0(c,a){var b;if(ac(a,1)){b=m1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=l1(c.a,a,a.hC());}return b===c1?null:b;}
+function a1(c,a,d){var b;if(ac(a,1)){b=p1(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=o1(c.a,a,d,a.hC());}if(b===c1){++c.c;return null;}else{return b;}}
+function b1(c,a){var b;if(ac(a,1)){b=r1(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(c1,cb);}else{b=q1(c.a,a,a.hC());}if(b===c1){return null;}else{--c.c;return b;}}
+function d1(e,c){B0();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
+function e1(d,a){B0();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=b0(c.substring(1),e);a.C(b);}}}
+function f1(f,h){B0();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ec();if(k1(h,d)){return true;}}}}return false;}
+function g1(a){return C0(this,a);}
+function h1(c,d){B0();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(k1(d,a)){return true;}}}return false;}
+function i1(){B0();}
+function j1(){return E0(this);}
+function k1(a,b){B0();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
+function n1(a){return F0(this,a);}
+function l1(f,h,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){return c.ec();}}}}
+function m1(b,a){B0();return b[':'+a];}
+function o1(f,h,j,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){var i=c.ec();c.we(j);return i;}}}else{a=f[e]=[];}var c=b0(h,j);a.push(c);}
+function p1(c,a,d){B0();a=':'+a;var b=c[a];c[a]=d;return b;}
+function q1(f,h,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ec();}}}}
+function r1(c,a){B0();a=':'+a;var b=c[a];delete c[a];return b;}
+function DZ(){}
+_=DZ.prototype=new mW();_.db=g1;_.ob=j1;_.ic=n1;_.tN=tfc+'HashMap';_.tI=156;_.a=null;_.b=null;_.c=0;_.d=null;var c1;function FZ(b,a,c){b.a=a;b.b=c;return b;}
+function b0(a,b){return FZ(new EZ(),a,b);}
+function c0(b){var a;if(ac(b,60)){a=Fb(b,60);if(k1(this.a,a.yb())&&k1(this.b,a.ec())){return true;}}return false;}
+function d0(){return this.a;}
+function e0(){return this.b;}
+function f0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
+function g0(a){var b;b=this.b;this.b=a;return b;}
+function h0(){return this.a+'='+this.b;}
+function EZ(){}
+_=EZ.prototype=new uT();_.eQ=c0;_.yb=d0;_.ec=e0;_.hC=f0;_.we=g0;_.tS=h0;_.tN=tfc+'HashMap$EntryImpl';_.tI=157;_.a=null;_.b=null;function s0(b,a){b.a=a;return b;}
+function u0(a){return k0(new j0(),a.a);}
+function v0(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.yb();if(C0(this.a,b)){d=F0(this.a,b);return k1(a.ec(),d);}}return false;}
+function w0(){return u0(this);}
+function x0(){return this.a.c;}
+function i0(){}
+_=i0.prototype=new vX();_.eb=v0;_.qc=w0;_.Ce=x0;_.tN=tfc+'HashMap$EntrySet';_.tI=158;function k0(c,b){var a;c.c=b;a=CX(new AX());if(c.c.b!==(B0(),c1)){EX(a,FZ(new EZ(),null,c.c.b));}e1(c.c.d,a);d1(c.c.a,a);c.a=a.qc();return c;}
+function m0(a){return a.a.kc();}
+function n0(a){return a.b=Fb(a.a.sc(),60);}
+function o0(a){if(a.b===null){throw sS(new rS(),'Must call next() before remove().');}else{a.a.ce();b1(a.c,a.b.yb());a.b=null;}}
+function p0(){return m0(this);}
+function q0(){return n0(this);}
+function r0(){o0(this);}
+function j0(){}
+_=j0.prototype=new uT();_.kc=p0;_.sc=q0;_.ce=r0;_.tN=tfc+'HashMap$EntrySetIterator';_.tI=159;_.a=null;_.b=null;function t1(a){a.a=z0(new DZ());return a;}
+function u1(c,a){var b;b=a1(c.a,a,FR(true));return b===null;}
+function w1(a){return qW(nX(a.a));}
+function x1(a){return u1(this,a);}
+function y1(a){return C0(this.a,a);}
+function z1(){return w1(this);}
+function A1(){return this.a.c;}
+function B1(){return nX(this.a).tS();}
+function s1(){}
+_=s1.prototype=new vX();_.C=x1;_.eb=y1;_.qc=z1;_.Ce=A1;_.tS=B1;_.tN=tfc+'HashSet';_.tI=160;_.a=null;function b2(b,a){AT(b,a);return b;}
+function a2(){}
+_=a2.prototype=new zT();_.tN=tfc+'NoSuchElementException';_.tI=161;function g2(a){a.a=CX(new AX());return a;}
+function h2(b,a){return EX(b.a,a);}
+function j2(a){return a.a.qc();}
+function k2(a,b){DX(this.a,a,b);}
+function l2(a){return h2(this,a);}
+function m2(a){return cY(this.a,a);}
+function n2(a){return dY(this.a,a);}
+function o2(){return j2(this);}
+function p2(a){return hY(this.a,a);}
+function q2(){return this.a.b;}
+function r2(){return this.a.Ee();}
+function f2(){}
+_=f2.prototype=new CV();_.B=k2;_.C=l2;_.eb=m2;_.hc=n2;_.qc=o2;_.de=p2;_.Ce=q2;_.Ee=r2;_.tN=tfc+'Vector';_.tI=162;_.a=null;function s4(){s4=s2;u4=z0(new DZ());}
+function r4(a){s4();return a;}
+function t4(){}
+function c4(){}
+_=c4.prototype=new er();_.md=t4;_.tN=ufc+'JBRMSFeature';_.tI=163;var u4;function z2(){z2=s2;s4();}
+function y2(a){z2();r4(a);a.a=sJ(new eJ());a.a.Be('100%');a.a.qe('100%');tJ(a.a,x8(new b8()),"<img src='images/category_small.gif'/>Manage categories",true);tJ(a.a,i9(new A8()),"<img src='images/status_small.gif'/>Manage states",true);tJ(a.a,j7(new f6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);tJ(a.a,C7(new n7()),"<img src='images/backup_small.gif'/>Import Export",true);zJ(a.a,0);gr(a,a.a);return a;}
+function A2(){z2();return v2(new u2(),'Admin','Administer the repository');}
+function B2(){}
+function t2(){}
+_=t2.prototype=new c4();_.md=B2;_.tN=ufc+'AdminFeature';_.tI=164;_.a=null;function e4(c,b,a){c.c=b;c.a=a;return c;}
+function g4(a){if(a.b!==null)return a.b;return a.b=a.hb();}
+function d4(){}
+_=d4.prototype=new uT();_.tN=ufc+'JBRMSFeature$ComponentInfo';_.tI=165;_.a=null;_.b=null;_.c=null;function v2(c,a,b){e4(c,a,b);return c;}
+function x2(){return y2(new t2());}
+function u2(){}
+_=u2.prototype=new d4();_.hb=x2;_.tN=ufc+'AdminFeature$1';_.tI=166;function c3(){c3=s2;s4();}
+function b3(a){c3();r4(a);gr(a,CJb(new eIb()));return a;}
+function d3(){c3();return E2(new D2(),'Deployment','Configure and view frozen snapshots of packages.');}
+function e3(){}
+function C2(){}
+_=C2.prototype=new c4();_.md=e3;_.tN=ufc+'DeploymentManagementFeature';_.tI=167;function E2(c,a,b){e4(c,a,b);return c;}
+function a3(){return b3(new C2());}
+function D2(){}
+_=D2.prototype=new d4();_.hb=a3;_.tN=ufc+'DeploymentManagementFeature$1';_.tI=168;function l3(){l3=s2;s4();}
+function k3(a){l3();r4(a);gr(a,m3(a));return a;}
+function m3(a){a.a=vv(new tv(),'welcome.html');uN(a.a,'welcome-Page');a.a.ye(true);return a.a;}
+function n3(){l3();return h3(new g3(),'Info','JBoss Rules Managment System.');}
+function o3(){}
+function f3(){}
+_=f3.prototype=new c4();_.md=o3;_.tN=ufc+'Info';_.tI=169;_.a=null;function h3(c,a,b){e4(c,a,b);return c;}
+function j3(){return k3(new f3());}
+function g3(){}
+_=g3.prototype=new d4();_.hb=j3;_.tN=ufc+'Info$1';_.tI=170;function z3(a){a.c=dz(new hw());a.d=m4(new k4());a.g=ps(new gs());}
+function A3(a){z3(a);return a;}
+function B3(a){kXb(ALb(),r3(new q3(),a));}
+function D3(b,c){var a;a=p4(b.d,c);if(a===null){F3(b);return;}a4(b,a,false);}
+function E3(b){var a,c;j4(b.d);b.h=ps(new gs());uN(b.h,'ks-Sink');c=hO(new fO());c.Be('100%');iO(c,b.c);iO(c,b.h);uN(b.c,'ks-Info');qs(b.g,b.d,(rs(),Bs));qs(b.g,c,(rs(),xs));vs(b.g,b.d,(xz(),Az));ws(b.g,c,'100%');Bg(b);b.e=E4(new v4());b.f=p5(new b5());dp(iG(),b.e);dp(iG(),b.g);dp(iG(),b.f);b.f.Be('100%');b.e.ye(false);b.g.ye(false);b.f.ye(false);B3(b);a=Dg();if(rU(a)>0)D3(b,a);else F3(b);}
+function a4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){ts(c.h,c.b);}c.b=g4(b);q4(c.d,b.c);hz(c.c,b.a);if(a)ah(b.c);qs(c.h,c.b,(rs(),xs));ws(c.h,c.b,'100%');vs(c.h,c.b,(xz(),Az));c.b.md();}
+function F3(a){a4(a,p4(a.d,'Info'),false);}
+function b4(a){D3(this,a);}
+function p3(){}
+_=p3.prototype=new uT();_.bd=b4;_.tN=ufc+'JBRMSEntryPoint';_.tI=171;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function gcb(b,a){if(ac(a,69)){icb();}else if(ac(a,70)){hbb(Fb(a,70));}else{gbb(a.zb());}}
+function hcb(a){gcb(this,a);}
+function icb(){var a;a=acb(new Bbb(),'images/warning-large.png','Session expired');ccb(a,ez(new hw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));lE(a,40,40);oE(a);bdb();}
+function ecb(){}
+_=ecb.prototype=new uT();_.Dc=hcb;_.tN=xfc+'GenericCallback';_.tI=172;function r3(b,a){b.a=a;return b;}
+function t3(a){var b;b=Fb(a,1);if(b!==null){a5(this.a.e,b);this.a.e.ye(true);this.a.g.ye(true);this.a.f.ye(false);}else{this.a.f.ye(true);t5(this.a.f,v3(new u3(),this));}}
+function q3(){}
+_=q3.prototype=new ecb();_.pd=t3;_.tN=ufc+'JBRMSEntryPoint$1';_.tI=173;function v3(b,a){b.a=a;return b;}
+function x3(a){a5(a.a.a.e,s5(a.a.a.f));a.a.a.e.ye(true);a.a.a.f.ye(false);a.a.a.g.ye(true);}
+function y3(){x3(this);}
+function u3(){}
+_=u3.prototype=new uT();_.pb=y3;_.tN=ufc+'JBRMSEntryPoint$2';_.tI=174;function j4(a){n4(a,n3());n4(a,e6());n4(a,B5());n4(a,d3());n4(a,A2());}
+function l4(a){a.a=hO(new fO());a.c=CX(new AX());}
+function m4(a){l4(a);gr(a,a.a);uN(a,'ks-List');return a;}
+function n4(d,a){var b,c;c=a.c;b=jA(new hA(),c,c);uN(b,'ks-SinkItem');iO(d.a,b);EX(d.c,a);}
+function p4(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(dY(d.c,a),61);if(nU(b.c,c))return b;}return null;}
+function q4(d,c){var a,b;if(d.b!=(-1))pN(Dq(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(dY(d.c,a),61);if(nU(b.c,c)){d.b=a;jN(Dq(d.a,d.b),'ks-SinkItem-selected');return;}}}
+function k4(){}
+_=k4.prototype=new er();_.tN=ufc+'JBRMSFeatureList';_.tI=175;_.b=(-1);function E4(a){a.a=dz(new hw());gr(a,a.a);return a;}
+function a5(b,d){var a,c;a=FT(new ET());bU(a,"<div id='user_info'>");bU(a,'Welcome: &nbsp;'+d);bU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");bU(a,'<\/div>');hz(b.a,fU(a));c=x4(new w4(),b);mh(c,300000);}
+function v4(){}
+_=v4.prototype=new er();_.tN=ufc+'LoggedInUserInfo';_.tI=176;_.a=null;function y4(){y4=s2;kh();}
+function x4(b,a){y4();ih(b);return b;}
+function z4(){kXb(ALb(),new A4());}
+function w4(){}
+_=w4.prototype=new dh();_.fe=z4;_.tN=ufc+'LoggedInUserInfo$1';_.tI=177;function C4(a){}
+function D4(a){if(a===null){icb();}}
+function A4(){}
+_=A4.prototype=new uT();_.Dc=C4;_.pd=D4;_.tN=ufc+'LoggedInUserInfo$2';_.tI=178;function p5(c){var a,b;c.a=rbb(new obb(),'images/login.gif','Please enter your details');c.c=zK(new kK());c.c.re(1);sbb(c.a,'User name:',c.c);b=DD(new CD());b.re(2);sbb(c.a,'Password:',b);a=qp(new kp(),'Login');a.re(3);sbb(c.a,'',a);a.x(d5(new c5(),c,b));gr(c,c.a);c.c.oe(true);uN(c,'login-Form');return c;}
+function r5(c,a,d,b){DLb(rK(d),rK(b),l5(new k5(),c,a));}
+function s5(a){return rK(a.c);}
+function t5(b,a){b.b=a;}
+function b5(){}
+_=b5.prototype=new er();_.tN=ufc+'LoginWidget';_.tI=179;_.a=null;_.b=null;_.c=null;function d5(b,a,c){b.a=a;b.b=c;return b;}
+function f5(a){fdb('Logging in...');fg(h5(new g5(),this,this.b));}
+function c5(){}
+_=c5.prototype=new uT();_.zc=f5;_.tN=ufc+'LoginWidget$1';_.tI=180;function h5(b,a,c){b.a=a;b.b=c;return b;}
+function j5(){r5(this.a.a,this.a.a.b,this.a.a.c,this.b);}
+function g5(){}
+_=g5.prototype=new uT();_.pb=j5;_.tN=ufc+'LoginWidget$2';_.tI=181;function l5(b,a,c){b.a=c;return b;}
+function n5(c,a){var b;bdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{x3(c.a);}}
+function o5(a){n5(this,a);}
+function k5(){}
+_=k5.prototype=new ecb();_.pd=o5;_.tN=ufc+'LoginWidget$3';_.tI=182;function A5(){A5=s2;s4();}
+function z5(b){var a;A5();r4(b);a=aIb(new zHb());dIb(a,u4);gr(b,a);return b;}
+function B5(){A5();return w5(new v5(),'Packages','Configure and view packages of business rule assets.');}
+function C5(){}
+function u5(){}
+_=u5.prototype=new c4();_.md=C5;_.tN=ufc+'PackageManagementFeature';_.tI=183;function w5(c,a,b){e4(c,a,b);return c;}
+function y5(){return z5(new u5());}
+function v5(){}
+_=v5.prototype=new d4();_.hb=y5;_.tN=ufc+'PackageManagementFeature$1';_.tI=184;function d6(){d6=s2;s4();}
+function c6(b){var a;d6();r4(b);a=vbc(new rac());zbc(a,u4);gr(b,a);return b;}
+function e6(){d6();return F5(new E5(),'Rules','Find and edit rules.');}
+function D5(){}
+_=D5.prototype=new c4();_.tN=ufc+'RulesFeature';_.tI=185;function F5(c,a,b){e4(c,a,b);return c;}
+function b6(){return c6(new D5());}
+function E5(){}
+_=E5.prototype=new d4();_.hb=b6;_.tN=ufc+'RulesFeature$1';_.tI=186;function j7(a){var b;b=rbb(new obb(),'images/backup_large.png','Manage Archived Assets');a.a=Fz(new Dz());a.a.Be('100%');vbb(b,a.a);a.b=ycc(new Cbc(),new g6(),'archivedrulelist');Ecc(a.b,m7(a));aA(a.a,a.b);h7(m7(a));vbb(b,ez(new hw(),'<hr/>'));vbb(b,l7(a));gr(a,b);return a;}
+function l7(d){var a,b,c,e;b=Fz(new Dz());c=qp(new kp(),'Refresh');c.x(k6(new j6(),d));e=qp(new kp(),'Unarchive');e.x(o6(new n6(),d));a=qp(new kp(),'Delete');a.x(x6(new w6(),d));aA(b,c);aA(b,e);aA(b,a);return b;}
+function m7(b){var a;a=a7(new F6(),b);return f7(new e7(),b,a);}
+function f6(){}
+_=f6.prototype=new er();_.tN=vfc+'ArchivedAssetManager';_.tI=187;_.a=null;_.b=null;function i6(a){var b,c;b=acb(new Bbb(),'images/snapshot.png','Archived item');c=sJ(new eJ());ccb(b,c);r4b(z0(new DZ()),c,a,true);lE(b,20,20);oE(b);}
+function g6(){}
+_=g6.prototype=new uT();_.wd=i6;_.tN=vfc+'ArchivedAssetManager$1';_.tI=188;function k6(b,a){b.a=a;return b;}
+function m6(a){h7(m7(this.a));}
+function j6(){}
+_=j6.prototype=new uT();_.zc=m6;_.tN=vfc+'ArchivedAssetManager$2';_.tI=189;function o6(b,a){b.a=a;return b;}
+function q6(a){ESb(BLb(),Acc(this.a.b),false,s6(new r6(),this));}
+function n6(){}
+_=n6.prototype=new uT();_.zc=q6;_.tN=vfc+'ArchivedAssetManager$3';_.tI=190;function s6(b,a){b.a=a;return b;}
+function u6(b,a){h7(m7(b.a.a));zh('Done!');}
+function v6(a){u6(this,a);}
+function r6(){}
+_=r6.prototype=new ecb();_.pd=v6;_.tN=vfc+'ArchivedAssetManager$4';_.tI=191;function x6(b,a){b.a=a;return b;}
+function z6(a){ETb(BLb(),Acc(this.a.b),B6(new A6(),this));}
+function w6(){}
+_=w6.prototype=new uT();_.zc=z6;_.tN=vfc+'ArchivedAssetManager$5';_.tI=192;function B6(b,a){b.a=a;return b;}
+function D6(b,a){h7(m7(b.a.a));zh('Done!');}
+function E6(a){D6(this,a);}
+function A6(){}
+_=A6.prototype=new ecb();_.pd=E6;_.tN=vfc+'ArchivedAssetManager$6';_.tI=193;function a7(b,a){b.a=a;return b;}
+function c7(c,a){var b;b=Fb(a,62);Dcc(c.a.b,b);c.a.b.Be('100%');bdb();}
+function d7(a){c7(this,a);}
+function F6(){}
+_=F6.prototype=new ecb();_.pd=d7;_.tN=vfc+'ArchivedAssetManager$7';_.tI=194;function f7(b,a,c){b.a=c;return b;}
+function h7(a){fdb('Loading list, please wait...');uTb(BLb(),a.a);}
+function i7(){h7(this);}
+function e7(){}
+_=e7.prototype=new uT();_.pb=i7;_.tN=vfc+'ArchivedAssetManager$8';_.tI=195;function C7(a){var b;b=rbb(new obb(),'images/backup_large.png','Import/Export');sbb(b,'',ez(new hw(),'<i>Import and Export rules repository<\/i>'));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Import from an xml file',a8(a));sbb(b,'Export to a zip file',F7(a));vbb(b,ez(new hw(),'<hr/>'));gr(a,b);return a;}
+function E7(a){fdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');bdb();}
+function F7(c){var a,b;b=Fz(new Dz());a=qp(new kp(),'Export');a.x(p7(new o7(),c));aA(b,a);return b;}
+function a8(c){var a,b,d,e;e=Cu(new xu());cv(e,v()+'backup');dv(e,'multipart/form-data');ev(e,'post');b=Fz(new Dz());e.Ae(b);d=at(new Fs());dt(d,'importFile');aA(b,d);aA(b,CB(new AB(),'import:'));a=lcb(new kcb(),'images/upload.gif');fB(a,t7(new s7(),c,e));aA(b,a);Du(e,y7(new x7(),c,d));return e;}
+function n7(){}
+_=n7.prototype=new er();_.tN=vfc+'BackupManager';_.tI=196;function p7(b,a){b.a=a;return b;}
+function r7(a){E7(this.a);}
+function o7(){}
+_=o7.prototype=new uT();_.zc=r7;_.tN=vfc+'BackupManager$1';_.tI=197;function t7(b,a,c){b.a=c;return b;}
+function v7(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){fdb('Importing repository, please wait, as this could take some time...');gv(b);}}
+function w7(a){v7(this,this.a);}
+function s7(){}
+_=s7.prototype=new uT();_.zc=w7;_.tN=vfc+'BackupManager$2';_.tI=198;function y7(b,a,c){b.a=c;return b;}
+function B7(a){if(rU(ct(this.a))==0){zh('You did not specify an exported repository filename !');sv(a,true);}else if(!lU(ct(this.a),'.xml')){zh('Please specify a valid repository xml file.');sv(a,true);}}
+function A7(a){if(pU(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{gbb('Unable to import into the repository. Consult the server logs for error messages.');}bdb();}
+function x7(){}
+_=x7.prototype=new uT();_.od=B7;_.nd=A7;_.tN=vfc+'BackupManager$3';_.tI=199;function w8(a){hO(new fO());}
+function x8(f){var a,b,c,d,e;w8(f);c=rbb(new obb(),'images/edit_category.gif','Edit categories');sbb(c,'',ez(new hw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=s$(new b$(),new c8());uN(f.a,'category-explorer-Admin');b=AG(new sG());uN(b,'metadata-Widget');CG(b,f.a);vbb(c,ez(new hw(),'<hr/>'));sbb(c,'Current categories:',b);e=lcb(new kcb(),'images/refresh.gif');e.te('Refresh categories');fB(e,g8(new f8(),f));sbb(c,'Refresh view:',e);vbb(c,ez(new hw(),'<hr/>'));d=lcb(new kcb(),'images/new.gif');d.te('Create a new category');fB(d,k8(new j8(),f));sbb(c,'Create a new category:',d);a=lcb(new kcb(),'images/delete_obj.gif');fB(a,o8(new n8(),f));a.te("Deletes the currently selected category. You won't be able to delete if the category is in use.");sbb(c,'Delete the currently selected category:',a);gr(f,c);return f;}
+function z8(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){FTb(BLb(),a.a.e,s8(new r8(),a));}}
+function b8(){}
+_=b8.prototype=new er();_.tN=vfc+'CategoryManager';_.tI=200;_.a=null;function e8(a){}
+function c8(){}
+_=c8.prototype=new uT();_.he=e8;_.tN=vfc+'CategoryManager$1';_.tI=201;function g8(b,a){b.a=a;return b;}
+function i8(a){y$(this.a.a);}
+function f8(){}
+_=f8.prototype=new uT();_.zc=i8;_.tN=vfc+'CategoryManager$2';_.tI=202;function k8(b,a){b.a=a;return b;}
+function m8(b){var a;a=C9(new n9(),this.a.a.e);lE(a,lN(b),mN(b)-400);oE(a);}
+function j8(){}
+_=j8.prototype=new uT();_.zc=m8;_.tN=vfc+'CategoryManager$3';_.tI=203;function o8(b,a){b.a=a;return b;}
+function q8(a){z8(this.a);}
+function n8(){}
+_=n8.prototype=new uT();_.zc=q8;_.tN=vfc+'CategoryManager$4';_.tI=204;function s8(b,a){b.a=a;return b;}
+function u8(b,a){y$(b.a.a);}
+function v8(a){u8(this,a);}
+function r8(){}
+_=r8.prototype=new ecb();_.pd=v8;_.tN=vfc+'CategoryManager$5';_.tI=205;function i9(b){var a;a=rbb(new obb(),'images/status_large.png','Manage statuses');sbb(a,'',ez(new hw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=mC(new eC());CC(b.a,7);b.a.Be('50%');m9(b);sbb(a,'Current statuses:',b.a);sbb(a,'Add new status:',l9(b));gr(b,a);return b;}
+function k9(b,a){fdb('Creating status');oTb(BLb(),rK(a),e9(new d9(),b,a));}
+function l9(d){var a,b,c;c=Fz(new Dz());a=zK(new kK());b=qp(new kp(),'Create');b.x(a9(new F8(),d,a));aA(c,a);aA(c,b);return c;}
+function m9(a){fdb('Loading statuses...');tTb(BLb(),C8(new B8(),a));}
+function A8(){}
+_=A8.prototype=new er();_.tN=vfc+'StateManager';_.tI=206;_.a=null;function C8(b,a){b.a=a;return b;}
+function E8(a){var b,c;sC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){pC(this.a.a,c[b]);}bdb();}
+function B8(){}
+_=B8.prototype=new ecb();_.pd=E8;_.tN=vfc+'StateManager$1';_.tI=207;function a9(b,a,c){b.a=a;b.b=c;return b;}
+function c9(a){k9(this.a,this.b);}
+function F8(){}
+_=F8.prototype=new uT();_.zc=c9;_.tN=vfc+'StateManager$2';_.tI=208;function e9(b,a,c){b.a=a;b.b=c;return b;}
+function g9(b,a){vK(b.b,'');m9(b.a);bdb();}
+function h9(a){g9(this,a);}
+function d9(){}
+_=d9.prototype=new ecb();_.pd=h9;_.tN=vfc+'StateManager$3';_.tI=209;function E9(){E9=s2;eE();}
+function B9(a){a.d=lt(new ft());a.b=zK(new kK());a.a=eK(new dK());}
+function C9(d,b){var a,c;E9();bE(d,true);B9(d);d.c=b;d.d.ze(0,0,lcb(new kcb(),'images/edit_category.gif'));d.d.ze(0,1,CB(new AB(),F9(d,d.c)));d.d.ze(1,0,CB(new AB(),'Cateogory name'));d.d.ze(1,1,d.b);jK(d.a,4);d.d.ze(2,0,CB(new AB(),'Description'));d.d.ze(2,1,d.a);c=qp(new kp(),'OK');c.x(p9(new o9(),d));d.d.ze(3,0,c);a=qp(new kp(),'Cancel');a.x(t9(new s9(),d));d.d.ze(3,1,a);CG(d,d.d);uN(d,'ks-popups-Popup');return d;}
+function D9(a){a.lc();}
+function F9(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
+function a$(b){var a;a=x9(new w9(),b);if(nU('',rK(b.b))){gbb("Can't have an empty category name.");}else{kTb(BLb(),b.c,rK(b.b),rK(b.a),a);}}
+function n9(){}
+_=n9.prototype=new FD();_.tN=wfc+'CategoryEditor';_.tI=210;_.c=null;function p9(b,a){b.a=a;return b;}
+function r9(a){a$(this.a);}
+function o9(){}
+_=o9.prototype=new uT();_.zc=r9;_.tN=wfc+'CategoryEditor$1';_.tI=211;function t9(b,a){b.a=a;return b;}
+function v9(a){D9(this.a);}
+function s9(){}
+_=s9.prototype=new uT();_.zc=v9;_.tN=wfc+'CategoryEditor$2';_.tI=212;function x9(b,a){b.a=a;return b;}
+function z9(b,a){if(Fb(a,55).a){b.a.lc();}else{gbb('Category was not successfully created. ');}}
+function A9(a){z9(this,a);}
+function w9(){}
+_=w9.prototype=new ecb();_.pd=A9;_.tN=wfc+'CategoryEditor$3';_.tI=213;function r$(a){a.c=jM(new CK());a.d=hO(new fO());a.f=BLb();}
+function s$(b,a){r$(b);iO(b.d,b.c);b.a=a;x$(b);gr(b,b.d);nM(b.c,b);uN(b,'category-explorer-Tree');return b;}
+function u$(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
+function v$(b,a){if(a.c.b==1&&ac(sL(a,0),64)){return false;}return true;}
+function w$(a){if(a.b!==null){a.b.ye(false);}}
+function x$(a){mM(a.c,'Please wait...');wTb(a.f,'/',h$(new g$(),a));}
+function y$(a){CM(a.c);a.e=null;x$(a);}
+function z$(c){var a,b;if(c.b===null){b=cp(new bp());dp(b,ez(new hw(),'No categories created yet. Add some categories from the administration screen.'));a=qp(new kp(),'Refresh');a.x(d$(new c$(),c));dp(b,a);uN(b,'small-Text');c.b=b;iO(c.d,c.b);}c.b.ye(true);}
+function A$(a){this.e=u$(this,a);this.a.he(this.e);}
+function B$(a){var b;if(v$(this,a)){return;}b=a;this.e=u$(this,a);wTb(this.f,this.e,l$(new k$(),this,b));}
+function b$(){}
+_=b$.prototype=new er();_.rd=A$;_.sd=B$;_.tN=wfc+'CategoryExplorerWidget';_.tI=214;_.a=null;_.b=null;_.e=null;function d$(b,a){b.a=a;return b;}
+function f$(a){y$(this.a);}
+function c$(){}
+_=c$.prototype=new uT();_.zc=f$;_.tN=wfc+'CategoryExplorerWidget$1';_.tI=215;function h$(b,a){b.a=a;return b;}
+function j$(d){var a,b,c;this.a.e=null;CM(this.a.c);a=Fb(d,63);if(a.a==0){z$(this.a);}else{w$(this.a);}for(b=0;b<a.a;b++){c=oL(new mL());wL(c,'<img src="images/category_small.gif"/>'+a[b]);CL(c,a[b]);c.y(p$(new o$()));lM(this.a.c,c);}}
+function g$(){}
+_=g$.prototype=new ecb();_.pd=j$;_.tN=wfc+'CategoryExplorerWidget$2';_.tI=216;function l$(b,a,c){b.a=c;return b;}
+function n$(e){var a,b,c,d;a=sL(this.a,0);if(ac(a,64)){this.a.ae(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=oL(new mL());wL(c,'<img src="images/category_small.gif"/>'+d[b]);CL(c,d[b]);c.y(p$(new o$()));this.a.y(c);}}
+function k$(){}
+_=k$.prototype=new ecb();_.pd=n$;_.tN=wfc+'CategoryExplorerWidget$3';_.tI=217;function p$(a){pL(a,'Please wait...');return a;}
+function o$(){}
+_=o$.prototype=new mL();_.tN=wfc+'CategoryExplorerWidget$PendingItem';_.tI=218;function E$(){E$=s2;F$=zb('[Ljava.lang.String;',605,1,['brl','dslr','xls']);b_=zb('[Ljava.lang.String;',605,1,['drl','rf','enumeration']);a_=zb('[Ljava.lang.String;',605,1,['function','dsl','jar','enumeration']);}
+function c_(a){E$();var b;for(b=0;b<a_.a;b++){if(nU(a_[b],a)){return true;}}return false;}
+var F$,a_,b_;function o_(){o_=s2;AK();}
+function m_(a){a.b=bE(new FD(),true);a.a=f_(new e_(),a);}
+function n_(b,a){o_();zK(b);m_(b);oK(b,b);vN(b.a,1);uN(b,'AutoCompleteTextBox');CG(b.b,b.a);jN(b.b,'AutoCompleteChoices');uN(b.a,'list');b.c=a;return b;}
+function p_(a){if(a.e&&uC(a.a)>0){vK(a,vC(a.a,wC(a.a)));}sC(a.a);a.b.lc();a.e=false;}
+function q_(e,a,b,c){var d;d=wC(e.a);d++;if(d>=uC(e.a)){d=0;}BC(e.a,d);}
+function r_(d,a,b,c){p_(d);}
+function s_(d,a,b,c){sC(d.a);d.b.lc();d.e=false;}
+function t_(b,a){if(0==rU(a)||0==uC(b.a)||1==uC(b.a)&&nU(vC(b.a,0),a)){sC(b.a);b.b.lc();b.e=false;}else{BC(b.a,0);CC(b.a,uC(b.a)+1);if(!b.d){dp(iG(),b.b);b.d=true;}oE(b.b);b.e=true;lE(b.b,lN(b),mN(b)+b.Cb());b.a.Be(b.Db()+'px');}}
+function u_(d,a,b,c){x_(d,rK(d));if(rU(rK(d))>0&&d.c!==null){fdc(d.c,rK(d),j_(new i_(),d));}}
+function v_(d,a,b,c){p_(d);}
+function w_(e,a,b,c){var d;d=wC(e.a);d--;if(d<0){d=uC(e.a)-1;}BC(e.a,d);}
+function x_(c,b){var a;a=0;while(a<uC(c.a)){if(vU(zU(vC(c.a,a)),zU(b))){++a;}else{AC(c.a,a);}}t_(c,b);}
+function y_(d,b,c){var a;sC(d.a);for(a=0;a<b.a;a++){pC(d.a,b[a]);}x_(d,c);}
+function z_(a,b,c){if(b==13){r_(this,a,b,c);}else if(b==9){v_(this,a,b,c);}else if(b==40){q_(this,a,b,c);}else if(b==38){w_(this,a,b,c);}else if(b==27){s_(this,a,b,c);}}
+function A_(a,b,c){}
+function B_(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:u_(this,a,b,c);break;}}
+function d_(){}
+_=d_.prototype=new kK();_.cd=z_;_.dd=A_;_.ed=B_;_.tN=xfc+'AutoCompleteTextBoxAsync';_.tI=219;_.c=null;_.d=false;_.e=false;function g_(){g_=s2;tC();}
+function f_(b,a){g_();b.a=a;mC(b);return b;}
+function h_(a){if(1==xe(a)){p_(this.a);}}
+function e_(){}
+_=e_.prototype=new eC();_.wc=h_;_.tN=xfc+'AutoCompleteTextBoxAsync$1';_.tI=220;function j_(b,a){b.a=a;return b;}
+function l_(b,a){y_(b.a,a,rK(b.a));}
+function i_(){}
+_=i_.prototype=new uT();_.tN=xfc+'AutoCompleteTextBoxAsync$2';_.tI=221;function aab(a){a.j=true;}
+function bab(a){a.j=false;}
+function cab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
+function dab(){return this.j;}
+function E_(){}
+_=E_.prototype=new er();_.pc=dab;_.tN=xfc+'DirtyableComposite';_.tI=222;_.j=false;function gab(a){a.b=CX(new AX());}
+function hab(a){lt(a);gab(a);return a;}
+function jab(d){var a,b,c;for(c=d.b.qc();c.kc();){a=Fb(c.sc(),65);b=ky(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).pc())return true;if(ac(b,67))if(Fb(b,67).jc())return true;}return false;}
+function kab(d,c,b,a){zy(d,c,b,a);if(ac(a,68)){DX(d.b,d.a++,hdb(new gdb(),c,b));}}
+function lab(){return jab(this);}
+function mab(c,b,a){kab(this,c,b,a);}
+function fab(){}
+_=fab.prototype=new ft();_.jc=lab;_.ze=mab;_.tN=xfc+'DirtyableFlexTable';_.tI=223;_.a=0;function oab(a){Fz(a);return a;}
+function qab(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=Dq(c,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
+function rab(){return qab(this);}
+function nab(){}
+_=nab.prototype=new Dz();_.jc=rab;_.tN=xfc+'DirtyableHorizontalPane';_.tI=224;function tab(a){hO(a);return a;}
+function vab(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=Dq(this,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
+function sab(){}
+_=sab.prototype=new fO();_.jc=vab;_.tN=xfc+'DirtyableVerticalPane';_.tI=225;function dbb(){dbb=s2;zr();}
+function abb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=lcb(new kcb(),'images/close.gif');}
+function bbb(d,b,a){var c,e;dbb();xr(d,true);abb(d);bC(d.a,b);aA(d.c,eB(new oA(),'images/error_dialog.png'));e=hO(new fO());iO(e,d.a);aA(d.c,e);if(a!==null){cbb(d,e,a);}aA(d.c,d.b);c=d;fB(d.b,zab(new yab(),d,c));Cr(d,d.c);lE(d,40,40);uN(d,'rule-error-Popup');return d;}
+function cbb(e,c,b){var a,d,f;f=hO(new fO());iO(c,f);d=qp(new kp(),'Details');iO(f,d);a=CB(new AB(),b);a.ye(false);iO(f,a);d.x(Dab(new Cab(),e,a,d));}
+function ebb(a){bC(a.a,'');hE(a);}
+function fbb(){ebb(this);}
+function gbb(a){dbb();var b;b=bbb(new xab(),a,null);bdb();oE(b);}
+function hbb(a){dbb();var b;b=bbb(new xab(),a.b,a.a);bdb();oE(b);}
+function xab(){}
+_=xab.prototype=new ur();_.lc=fbb;_.tN=xfc+'ErrorPopup';_.tI=226;function zab(b,a,c){b.a=c;return b;}
+function Bab(a){ebb(this.a);}
+function yab(){}
+_=yab.prototype=new uT();_.zc=Bab;_.tN=xfc+'ErrorPopup$1';_.tI=227;function Dab(b,a,c,d){b.a=c;b.b=d;return b;}
+function Fab(a){this.a.ye(true);this.b.ye(false);}
+function Cab(){}
+_=Cab.prototype=new uT();_.zc=Fab;_.tN=xfc+'ErrorPopup$2';_.tI=228;function jbb(b,a){b.a=a;return b;}
+function lbb(a,b,c){}
+function mbb(a,b,c){}
+function nbb(a,b,c){this.a.pb();}
+function ibb(){}
+_=ibb.prototype=new uT();_.cd=lbb;_.dd=mbb;_.ed=nbb;_.tN=xfc+'FieldEditListener';_.tI=229;_.a=null;function pbb(a){a.h=hab(new fab());a.g=ot(a.h);}
+function rbb(b,a,c){pbb(b);tbb(b,a,c);gr(b,b.h);return b;}
+function qbb(a){pbb(a);gr(a,a.h);return a;}
+function sbb(d,c,a){var b;b=ez(new hw(),'<b>'+c+'<\/b>');kab(d.h,d.i,0,b);Bw(d.g,d.i,0,(oz(),rz),(xz(),Az));kab(d.h,d.i,1,a);Bw(d.g,d.i,1,(oz(),qz),(xz(),Az));d.i++;}
+function tbb(c,a,d){var b;b=CB(new AB(),d);uN(b,'resource-name-Label');ybb(c,a,b);}
+function ubb(d,b,e,f){var a,c;c=CB(new AB(),e);uN(c,'resource-name-Label');a=Fz(new Dz());aA(a,c);aA(a,f);ybb(d,b,a);}
+function vbb(a,b){kab(a.h,a.i,0,b);jt(a.g,a.i,0,2);a.i++;}
+function wbb(a){a.i=0;by(a.h);}
+function ybb(b,a,c){kab(b.h,0,0,eB(new oA(),a));Bw(b.g,0,0,(oz(),qz),(xz(),Az));kab(b.h,0,1,c);b.i++;}
+function zbb(c,b,a,d){kab(c.h,b,a,d);}
+function Abb(){return jab(this.h);}
+function obb(){}
+_=obb.prototype=new E_();_.pc=Abb;_.tN=xfc+'FormStyleLayout';_.tI=230;_.i=0;function dcb(){dcb=s2;eE();}
+function acb(c,b,d){var a;dcb();bE(c,true);c.i=rbb(new obb(),b,d);uN(c,'ks-popups-Popup');a=lcb(new kcb(),'images/close.gif');fB(a,Dbb(new Cbb(),c));zbb(c.i,0,2,a);CG(c,c.i);return c;}
+function bcb(b,a,c){sbb(b.i,a,c);}
+function ccb(a,b){vbb(a.i,b);}
+function Bbb(){}
+_=Bbb.prototype=new FD();_.tN=xfc+'FormStylePopup';_.tI=231;_.i=null;function Dbb(b,a){b.a=a;return b;}
+function Fbb(a){this.a.lc();}
+function Cbb(){}
+_=Cbb.prototype=new uT();_.zc=Fbb;_.tN=xfc+'FormStylePopup$1';_.tI=232;function ncb(){ncb=s2;hB();}
+function lcb(b,a){ncb();eB(b,a);uN(b,'image-Button');return b;}
+function mcb(b,a,c){ncb();eB(b,a);uN(b,'image-Button');b.te(c);return b;}
+function kcb(){}
+_=kcb.prototype=new oA();_.tN=xfc+'ImageButton';_.tI=233;function tcb(c,d,b){var a;a=eB(new oA(),'images/information.gif');a.te(b);fB(a,qcb(new pcb(),c,d,b));gr(c,a);return c;}
+function ocb(){}
+_=ocb.prototype=new er();_.tN=xfc+'InfoPopup';_.tI=234;function qcb(b,a,d,c){b.b=d;b.a=c;return b;}
+function scb(b){var a;a=acb(new Bbb(),'images/information.gif',this.b);ccb(a,wcb(new vcb(),this.a,'small-Text'));lE(a,lN(b),mN(b));oE(a);}
+function pcb(){}
+_=pcb.prototype=new uT();_.zc=scb;_.tN=xfc+'InfoPopup$1';_.tI=235;function wcb(c,a,b){CB(c,a);uN(c,b);return c;}
+function vcb(){}
+_=vcb.prototype=new AB();_.tN=xfc+'Lbl';_.tI=236;function Fcb(){Fcb=s2;eE();}
+function Dcb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=eB(new oA(),'images/close.gif');}
+function Ecb(a){Fcb();bE(a,true);Dcb(a);aA(a.c,a.a);aA(a.c,a.b);aA(a.c,eB(new oA(),'images/searching.gif'));fB(a.b,Acb(new zcb(),a));CG(a,a.c);lE(a,0,0);uN(a,'loading-Popup');return a;}
+function adb(a){bC(a.a,'');hE(a);}
+function bdb(){Fcb();adb(cdb());}
+function cdb(){Fcb();if(edb===null){edb=Ecb(new ycb());}return edb;}
+function ddb(){adb(this);}
+function fdb(a){Fcb();var b;b=cdb();bC(b.a,a);oE(b);}
+function ycb(){}
+_=ycb.prototype=new FD();_.lc=ddb;_.tN=xfc+'LoadingPopup';_.tI=237;var edb=null;function Acb(b,a){b.a=a;return b;}
+function Ccb(a){adb(this.a);}
+function zcb(){}
+_=zcb.prototype=new uT();_.zc=Ccb;_.tN=xfc+'LoadingPopup$1';_.tI=238;function hdb(c,b,a){c.b=b;c.a=a;return c;}
+function gdb(){}
+_=gdb.prototype=new uT();_.tN=xfc+'Pair';_.tI=239;_.a=0;_.b=0;function odb(a){a.b=mC(new eC());rTb(BLb(),ldb(new kdb(),a));gr(a,a.b);return a;}
+function qdb(a){return vC(a.b,wC(a.b));}
+function rdb(b,a){b.a=a;}
+function jdb(){}
+_=jdb.prototype=new er();_.tN=xfc+'RulePackageSelector';_.tI=240;_.a=null;_.b=null;function ldb(b,a){b.a=a;return b;}
+function ndb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){pC(this.a.b,b[a].j);if(this.a.a!==null&&nU(b[a].j,this.a.a)){BC(this.a.b,a);}}}
+function kdb(){}
+_=kdb.prototype=new ecb();_.pd=ndb;_.tN=xfc+'RulePackageSelector$1';_.tI=241;function keb(){keb=s2;zr();}
+function ieb(f,g,d){var a,b,c,e;keb();xr(f,true);f.d=g;f.b=d;uN(f,'ks-popups-Popup');Ar(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=Fz(new Dz());a=mC(new eC());fdb('Please wait...');tTb(BLb(),udb(new tdb(),f,a));oC(a,ydb(new xdb(),f,a));aA(c,a);e=qp(new kp(),'Change status');e.x(Cdb(new Bdb(),f,a));aA(c,e);b=qp(new kp(),'Cancel');b.x(aeb(new Fdb(),f));aA(c,b);Cr(f,c);return f;}
+function jeb(b,a){fdb('Updating status...');eTb(BLb(),b.d,b.c,b.b,eeb(new deb(),b));}
+function leb(b,a){b.a=a;}
+function sdb(){}
+_=sdb.prototype=new ur();_.tN=xfc+'StatusChangePopup';_.tI=242;_.a=null;_.b=false;_.c=null;_.d=null;function udb(b,a,c){b.a=c;return b;}
+function wdb(a){var b,c;c=Fb(a,63);pC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){pC(this.a,c[b]);}bdb();}
+function tdb(){}
+_=tdb.prototype=new ecb();_.pd=wdb;_.tN=xfc+'StatusChangePopup$1';_.tI=243;function ydb(b,a,c){b.a=a;b.b=c;return b;}
+function Adb(a){this.a.c=vC(this.b,wC(this.b));}
+function xdb(){}
+_=xdb.prototype=new uT();_.yc=Adb;_.tN=xfc+'StatusChangePopup$2';_.tI=244;function Cdb(b,a,c){b.a=a;b.b=c;return b;}
+function Edb(b){var a;a=vC(this.b,wC(this.b));jeb(this.a,a);this.a.lc();}
+function Bdb(){}
+_=Bdb.prototype=new uT();_.zc=Edb;_.tN=xfc+'StatusChangePopup$3';_.tI=245;function aeb(b,a){b.a=a;return b;}
+function ceb(a){this.a.lc();}
+function Fdb(){}
+_=Fdb.prototype=new uT();_.zc=ceb;_.tN=xfc+'StatusChangePopup$4';_.tI=246;function eeb(b,a){b.a=a;return b;}
+function geb(b,a){b.a.a.pb();bdb();}
+function heb(a){geb(this,a);}
+function deb(){}
+_=deb.prototype=new ecb();_.pd=heb;_.tN=xfc+'StatusChangePopup$5';_.tI=247;function oeb(){oeb=s2;dcb();}
+function neb(c,b,a){oeb();acb(c,'images/attention_needed.png',b);bcb(c,'Detail:',peb(c,a));return c;}
+function peb(c,b){var a;a=eK(new dK());uN(a,'editable-Surface');jK(a,12);vK(a,b);a.Be('100%');return a;}
+function meb(){}
+_=meb.prototype=new Bbb();_.tN=xfc+'ValidationMessageWidget';_.tI=248;function xeb(){xeb=s2;eE();}
+function veb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=qp(new kp(),'OK');}
+function web(b,c,d){var a;xeb();bE(b,true);veb(b);lE(b,c,d);aA(b.c,b.a);aA(b.c,b.b);a=b;b.b.x(seb(new reb(),b,a));CG(b,b.c);uN(b,'rule-warning-Popup');return b;}
+function yeb(a){bC(a.a,'');hE(a);}
+function zeb(){yeb(this);}
+function Aeb(a,c,d){xeb();var b;b=web(new qeb(),c,d);bC(b.a,a);oE(b);}
+function qeb(){}
+_=qeb.prototype=new FD();_.lc=zeb;_.tN=xfc+'WarningPopup';_.tI=249;function seb(b,a,c){b.a=c;return b;}
+function ueb(a){yeb(this.a);}
+function reb(){}
+_=reb.prototype=new uT();_.zc=ueb;_.tN=xfc+'WarningPopup$1';_.tI=250;function ffb(){ffb=s2;zr();}
+function efb(d,b,f){var a,c,e;ffb();wr(d);Br(d,b);e=qp(new kp(),'Yes');c=qp(new kp(),'No');e.x(Deb(new Ceb(),d,f));c.x(bfb(new afb(),d));a=Fz(new Dz());aA(a,e);aA(a,c);Cr(d,a);return d;}
+function Beb(){}
+_=Beb.prototype=new ur();_.tN=xfc+'YesNoDialog';_.tI=251;function Deb(b,a,c){b.a=a;b.b=c;return b;}
+function Feb(a){this.b.pb();this.a.lc();}
+function Ceb(){}
+_=Ceb.prototype=new uT();_.zc=Feb;_.tN=xfc+'YesNoDialog$1';_.tI=252;function bfb(b,a){b.a=a;return b;}
+function dfb(a){this.a.lc();}
+function afb(){}
+_=afb.prototype=new uT();_.zc=dfb;_.tN=xfc+'YesNoDialog$2';_.tI=253;function fxb(b,a,c){b.e=c;b.a=a;kxb(b,a.e,a.d.n);jxb(b);return b;}
+function gxb(b,a){vbb(b.c,a);}
+function ixb(c,a,d){var b;b=zK(new kK());tK(b,a);vK(b,d);b.ye(false);return b;}
+function jxb(a){Du(a.b,bxb(new axb(),a));}
+function kxb(d,f,c){var a,b,e;d.b=Cu(new xu());cv(d.b,v()+'asset');dv(d.b,'multipart/form-data');ev(d.b,'post');e=at(new Fs());dt(e,'fileUploadElement');b=Fz(new Dz());aA(b,ixb(d,'attachmentUUID',f));d.d=mcb(new kcb(),'images/upload.gif','Upload');aA(b,e);aA(b,CB(new AB(),'upload:'));aA(b,d.d);CG(d.b,b);d.c=rbb(new obb(),d.vb(),c);if(!d.a.c)sbb(d.c,'Upload new version:',d.b);a=qp(new kp(),'Download');a.x(zwb(new ywb(),d,f));sbb(d.c,'Download current version:',a);fB(d.d,Dwb(new Cwb(),d));gr(d,d.c);d.c.Be('100%');uN(d,d.Eb());}
+function lxb(a){fdb('Uploading...');}
+function mxb(a){gv(a.b);}
+function xwb(){}
+_=xwb.prototype=new er();_.tN=Cfc+'AssetAttachmentFileWidget';_.tI=254;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function hfb(b,a,c){fxb(b,a,c);gxb(b,ez(new hw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
+function jfb(){return 'images/decision_table.png';}
+function kfb(){return 'decision-Table-upload';}
+function gfb(){}
+_=gfb.prototype=new xwb();_.vb=jfb;_.Eb=kfb;_.tN=yfc+'DecisionTableXLSWidget';_.tI=255;function mfb(){mfb=s2;ufb=z0(new DZ());pfb=z0(new DZ());ofb=z0(new DZ());nfb=zb('[Ljava.lang.String;',605,1,['not','exists','or']);{a1(ufb,'==','is equal to');a1(ufb,'!=','is not equal to');a1(ufb,'<','is less than');a1(ufb,'<=','less than or equal to');a1(ufb,'>','greater than');a1(ufb,'>=','greater than or equal to');a1(ufb,'|| ==','or equal to');a1(ufb,'|| !=','or not equal to');a1(ufb,'&& !=','and not equal to');a1(ufb,'&& >','and greater than');a1(ufb,'&& <','and less than');a1(ufb,'|| >','or greater than');a1(ufb,'|| <','or less than');a1(ufb,'&& <','and less than');a1(ufb,'|| >=','or greater than (or equal to)');a1(ufb,'|| <=','or less than (or equal to)');a1(ufb,'&& >=','and greater than (or equal to)');a1(ufb,'&& <=','or less than (or equal to)');a1(ufb,'&& contains','and contains');a1(ufb,'|| contains','or contains');a1(ufb,'&& matches','and matches');a1(ufb,'|| matches','or mat!
 ches');a1(ufb,'|| excludes','or excludes');a1(ufb,'&& excludes','and excludes');a1(ufb,'soundslike','sounds like');a1(pfb,'not','There is no');a1(pfb,'exists','There exists');a1(pfb,'or','Any of');a1(ofb,'assert','Insert');a1(ofb,'assertLogical','Logically insert');a1(ofb,'retract','Retract');a1(ofb,'set','Set');a1(ofb,'modify','Modify');}}
+function qfb(a){mfb();return tfb(a,ofb);}
+function rfb(a){mfb();return tfb(a,pfb);}
+function sfb(a){mfb();return tfb(a,ufb);}
+function tfb(a,b){mfb();if(C0(b,a)){return Fb(F0(b,a),1);}else{return a;}}
+var nfb,ofb,pfb,ufb;function yfb(){yfb=s2;mgb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=']);ogb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);kgb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);igb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);ngb=zb('[Ljava.lang.String;',605,1,['==','!=']);lgb=zb('[Ljava.lang.String;',605,1,['==','!=','<','>','<=','>=']);pgb=zb('[Ljava.lang.String;',605,1,['==','!=','matches','soundslike']);jgb=zb('[Ljava.lang.String;',605,1,['contains','excludes','==','!=']);}
+function wfb(a){a.h=z0(new DZ());a.c=z0(new DZ());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[607],[10],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[607],[10],[0],null);}
+function xfb(a){yfb();wfb(a);return a;}
+function zfb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return mgb;}else if(nU(d,'String')){return ogb;}else if(nU(d,'Comparable')||nU(d,'Numeric')){return kgb;}else if(nU(d,'Collection')){return igb;}else{return mgb;}}
+function Bfb(i,g,d){var a,b,c,e,f,h,j;c=cgb(i);j=Fb(F0(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(nU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.ic(f),63);}}}}return Fb(i.c.ic(g.c+'.'+d),63);}
+function Afb(f,g,a,c){var b,d,e,h,i;b=cgb(f);h=Fb(F0(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(nU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.ic(e),63);}}}return Fb(f.c.ic(g+'.'+c),63);}
+function Dfb(b,a){return Fb(b.g.ic(a),63);}
+function Cfb(a,c){var b;b=Fb(a.h.ic(c),1);return Fb(a.g.ic(b),63);}
+function Efb(c,a,b){return Fb(c.f.ic(a+'.'+b),1);}
+function Ffb(a){return dgb(a,a.h.rc());}
+function agb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return ngb;}else if(nU(d,'String')){return pgb;}else if(nU(d,'Comparable')||nU(d,'Numeric')){return lgb;}else if(nU(d,'Collection')){return jgb;}else{return ngb;}}
+function bgb(a,b){return a.h.db(b);}
+function cgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=z0(new DZ());e=g.c.rc();for(b=qW(e);xW(b);){d=Fb(yW(b),1);if(oU(d,91)!=(-1)){c=oU(d,91);a=xU(d,0,c);f=xU(d,c+1,oU(d,93));h=xU(f,0,oU(f,61));a1(g.d,a,h);}}}return g.d;}
+function dgb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[605],[1],[d.b.a.c],null);b=0;for(c=qW(d);xW(c);){a[b]=Fb(yW(c),1);b++;}return a;}
+function vfb(){}
+_=vfb.prototype=new uT();_.tN=zfc+'SuggestionCompletionEngine';_.tI=256;_.d=null;_.e=null;_.f=null;_.g=null;var igb,jgb,kgb,lgb,mgb,ngb,ogb,pgb;function ggb(b,a){a.a=Fb(b.Dd(),72);a.b=Fb(b.Dd(),72);a.c=Fb(b.Dd(),57);a.e=Fb(b.Dd(),63);a.f=Fb(b.Dd(),57);a.g=Fb(b.Dd(),57);a.h=Fb(b.Dd(),57);}
+function hgb(b,a){b.ff(a.a);b.ff(a.b);b.ff(a.c);b.ff(a.e);b.ff(a.f);b.ff(a.g);b.ff(a.h);}
+function rgb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[621],[23],[0],null);}
+function sgb(a){rgb(a);return a;}
+function tgb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[621],[23],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[621],[23],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
+function vgb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[621],[23],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
+function qgb(){}
+_=qgb.prototype=new uT();_.tN=Afc+'ActionFieldList';_.tI=257;function ygb(b,a){a.b=Fb(b.Dd(),73);}
+function zgb(b,a){b.ff(a.b);}
+function Bgb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Agb(){}
+_=Agb.prototype=new uT();_.tN=Afc+'ActionFieldValue';_.tI=258;_.a=null;_.b=null;_.c=null;function Fgb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
+function ahb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
+function dhb(a,b){sgb(a);a.a=b;return a;}
+function chb(a){sgb(a);return a;}
+function bhb(){}
+_=bhb.prototype=new qgb();_.tN=Afc+'ActionInsertFact';_.tI=259;_.a=null;function hhb(b,a){a.a=b.Ed();ygb(b,a);}
+function ihb(b,a){b.gf(a.a);zgb(b,a);}
+function lhb(b,a){dhb(b,a);return b;}
+function khb(a){chb(a);return a;}
+function jhb(){}
+_=jhb.prototype=new bhb();_.tN=Afc+'ActionInsertLogicalFact';_.tI=260;function phb(b,a){hhb(b,a);}
+function qhb(b,a){ihb(b,a);}
+function shb(a,b){a.a=b;return a;}
+function rhb(){}
+_=rhb.prototype=new uT();_.tN=Afc+'ActionRetractFact';_.tI=261;_.a=null;function whb(b,a){a.a=b.Ed();}
+function xhb(b,a){b.gf(a.a);}
+function Ahb(a,b){sgb(a);a.a=b;return a;}
+function zhb(a){sgb(a);return a;}
+function yhb(){}
+_=yhb.prototype=new qgb();_.tN=Afc+'ActionSetField';_.tI=262;_.a=null;function Ehb(b,a){a.a=b.Ed();ygb(b,a);}
+function Fhb(b,a){b.gf(a.a);zgb(b,a);}
+function cib(b,a){Ahb(b,a);return b;}
+function bib(a){zhb(a);return a;}
+function aib(){}
+_=aib.prototype=new yhb();_.tN=Afc+'ActionUpdateField';_.tI=263;function gib(b,a){Ehb(b,a);}
+function hib(b,a){Fhb(b,a);}
+function jib(a,b){a.b=b;return a;}
+function kib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[629],[31],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[629],[31],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
+function iib(){}
+_=iib.prototype=new uT();_.tN=Afc+'CompositeFactPattern';_.tI=264;_.a=null;_.b=null;function oib(b,a){a.a=Fb(b.Dd(),74);a.b=b.Ed();}
+function pib(b,a){b.ff(a.a);b.gf(a.b);}
+function rib(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[21],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[21],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
+function tib(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[21],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
+function qib(){}
+_=qib.prototype=new uT();_.tN=Afc+'CompositeFieldConstraint';_.tI=265;_.a=null;_.b=null;function wib(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),75);}
+function xib(b,a){b.gf(a.a);b.ff(a.b);}
+function vjb(){}
+_=vjb.prototype=new uT();_.tN=Afc+'ISingleFieldConstraint';_.tI=266;_.e=0;_.f=null;function yib(){}
+_=yib.prototype=new vjb();_.tN=Afc+'ConnectiveConstraint';_.tI=267;_.a=null;function Cib(b,a){a.a=b.Ed();zjb(b,a);}
+function Dib(b,a){b.gf(a.a);Ajb(b,a);}
+function ajb(b){var a;a=new Eib();a.a=b.a;return a;}
+function bjb(e){var a,b,c,d;b=yU(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
+function gjb(){return bjb(this);}
+function Eib(){}
+_=Eib.prototype=new uT();_.tS=gjb;_.tN=Afc+'DSLSentence';_.tI=268;_.a=null;function ejb(b,a){a.a=b.Ed();}
+function fjb(b,a){b.gf(a.a);}
+function ijb(b,a){b.c=a;return b;}
+function jjb(b,a){if(b.b===null)b.b=new qib();rib(b.b,a);}
+function ljb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[21],[0],null);}else{return a.b.b;}}
+function mjb(a){if(a.a!==null&& !nU('',a.a)){return true;}else{return false;}}
+function njb(b,a){tib(b.b,a);}
+function hjb(){}
+_=hjb.prototype=new uT();_.tN=Afc+'FactPattern';_.tI=269;_.a=null;_.b=null;_.c=null;function qjb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),30);a.c=b.Ed();}
+function rjb(b,a){b.gf(a.a);b.ff(a.b);b.gf(a.c);}
+function zjb(b,a){a.e=b.Bd();a.f=b.Ed();}
+function Ajb(b,a){b.df(a.e);b.gf(a.f);}
+function Djb(b,a,c){b.a=a;b.b=c;return b;}
+function dkb(){var a;a=FT(new ET());bU(a,this.a);if(nU('no-loop',this.a)){bU(a,' ');bU(a,this.b===null?'true':this.b);}else if(nU('salience',this.a)){bU(a,' ');bU(a,this.b);}else if(this.b!==null){bU(a,' "');bU(a,this.b);bU(a,'"');}return fU(a);}
+function Cjb(){}
+_=Cjb.prototype=new uT();_.tS=dkb;_.tN=Afc+'RuleAttribute';_.tI=270;_.a=null;_.b=null;function bkb(b,a){a.a=b.Ed();a.b=b.Ed();}
+function ckb(b,a){b.gf(a.a);b.gf(a.b);}
+function fkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[616],[18],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[617],[19],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[618],[20],[0],null);}
+function gkb(a){fkb(a);return a;}
+function hkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[616],[18],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function ikb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[617],[19],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[617],[19],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
+function jkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[618],[20],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[618],[20],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
+function lkb(h){var a,b,c,d,e,f,g;g=CX(new AX());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,31)){b=Fb(f,31);if(mjb(b)){EX(g,b.a);}for(e=0;e<ljb(b).a;e++){c=ljb(b)[e];if(ac(c,32)){a=Fb(c,32);if(Ckb(a)){EX(g,a.b);}}}}}return g;}
+function mkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],31)){b=Fb(c.b[a],31);if(b.a!==null&&nU(d,b.a)){return b;}}}return null;}
+function nkb(d){var a,b,c;if(d.b===null){return null;}b=CX(new AX());for(a=0;a<d.b.a;a++){if(ac(d.b[a],31)){c=Fb(d.b[a],31);if(c.a!==null){EX(b,c.a);}}}return b;}
+function okb(k,b){var a,c,d,e,f,g,h,i,j;j=CX(new AX());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,31)){d=Fb(i,31);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Ckb(a)){EX(j,a.b);}}}}if(mjb(d)){EX(j,d.a);}}else{if(mjb(d)){EX(j,d.a);}}}}return j;}
+function pkb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],27)){d=Fb(e.e[b],27);if(nU(d.a,a)){return true;}}else if(ac(e.e[b],26)){c=Fb(e.e[b],26);if(nU(c.a,a)){return true;}}}return false;}
+function qkb(b,a){return cY(lkb(b),a);}
+function rkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[616],[18],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function skb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[617],[19],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],31)){e=Fb(f.b[a],31);if(e.a!==null&&pkb(f,e.a)){return false;}}}}f.b=d;return true;}
+function tkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[618],[20],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
+function ekb(){}
+_=ekb.prototype=new uT();_.tN=Afc+'RuleModel';_.tI=271;_.c='1.0';_.d=null;function wkb(b,a){a.a=Fb(b.Dd(),76);a.b=Fb(b.Dd(),77);a.c=b.Ed();a.d=b.Ed();a.e=Fb(b.Dd(),78);}
+function xkb(b,a){b.ff(a.a);b.ff(a.b);b.gf(a.c);b.gf(a.d);b.ff(a.e);}
+function zkb(b,a){b.c=a;return b;}
+function Akb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',613,15,[new yib()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[613],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new yib();c.a=b;}}
+function Ckb(a){if(a.b!==null&& !nU('',a.b)){return true;}else{return false;}}
+function ykb(){}
+_=ykb.prototype=new vjb();_.tN=Afc+'SingleFieldConstraint';_.tI=272;_.a=null;_.b=null;_.c=null;_.d=null;function Fkb(b,a){a.a=Fb(b.Dd(),79);a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();zjb(b,a);}
+function alb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);Ajb(b,a);}
+function Alb(d,b,c,a){d.e=c;d.a=a;d.d=hab(new fab());d.f=b;d.b=c.a;d.c=Dfb(d.a,c.a);uN(d.d,'model-builderInner-Background');Clb(d);gr(d,d.d);return d;}
+function Clb(e){var a,b,c,d,f;by(e.d);kab(e.d,0,0,Elb(e));c=hab(new fab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];kab(c,a,0,Dlb(e,f));kab(c,a,1,amb(e,f));b=a;d=lcb(new kcb(),'images/delete_item_small.gif');fB(d,dlb(new clb(),e,b));kab(c,a,2,d);}kab(e.d,0,1,c);}
+function Dlb(a,b){return CB(new AB(),b.a);}
+function Elb(d){var a,b,c;c=Fz(new Dz());b=lcb(new kcb(),'images/add_field_to_fact.gif');b.te('Add another field to this so you can set its value.');fB(b,tlb(new slb(),d));a='assert';if(ac(d.e,25)){a='assertLogical';}aA(c,wcb(new vcb(),qfb(a)+' '+d.e.a,'modeller-action-Label'));aA(c,b);return c;}
+function Flb(d,e){var a,b,c;c=acb(new Bbb(),'images/newex_wiz.gif','Add a field');uN(c,'ks-popups-Popup');a=mC(new eC());pC(a,'...');for(b=0;b<d.c.a;b++){pC(a,d.c[b]);}BC(a,0);bcb(c,'Add field',a);oC(a,xlb(new wlb(),d,a,c));lE(c,lN(e),mN(e));oE(c);}
+function amb(c,d){var a,b;b=Afb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return upb(d.c,llb(new klb(),c,d),b);}else{a=zK(new kK());vK(a,d.c);nK(a,plb(new olb(),c,d,a));if(nU(d.b,'Numeric')){oK(a,onb(a));}return a;}}
+function blb(){}
+_=blb.prototype=new E_();_.tN=Bfc+'ActionInsertFactWidget';_.tI=273;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function dlb(b,a,c){b.a=a;b.b=c;return b;}
+function flb(b){var a;a=efb(new Beb(),'Remove this item?',hlb(new glb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
+function clb(){}
+_=clb.prototype=new uT();_.zc=flb;_.tN=Bfc+'ActionInsertFactWidget$1';_.tI=274;function hlb(b,a,c){b.a=a;b.b=c;return b;}
+function jlb(){vgb(this.a.a.e,this.b);owb(this.a.a.f);}
+function glb(){}
+_=glb.prototype=new uT();_.pb=jlb;_.tN=Bfc+'ActionInsertFactWidget$2';_.tI=275;function llb(b,a,c){b.a=c;return b;}
+function nlb(a){this.a.c=a;}
+function klb(){}
+_=klb.prototype=new uT();_.af=nlb;_.tN=Bfc+'ActionInsertFactWidget$3';_.tI=276;function plb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rlb(a){this.c.c=rK(this.b);owb(this.a.f);}
+function olb(){}
+_=olb.prototype=new uT();_.yc=rlb;_.tN=Bfc+'ActionInsertFactWidget$4';_.tI=277;function tlb(b,a){b.a=a;return b;}
+function vlb(a){Flb(this.a,a);}
+function slb(){}
+_=slb.prototype=new uT();_.zc=vlb;_.tN=Bfc+'ActionInsertFactWidget$5';_.tI=278;function xlb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function zlb(c){var a,b;a=vC(this.b,wC(this.b));b=Efb(this.a.a,this.a.e.a,a);tgb(this.a.e,Bgb(new Agb(),a,'',b));owb(this.a.f);this.c.lc();}
+function wlb(){}
+_=wlb.prototype=new uT();_.yc=zlb;_.tN=Bfc+'ActionInsertFactWidget$6';_.tI=279;function cmb(c,a,b){c.a=lt(new ft());uN(c.a,'model-builderInner-Background');c.a.ze(0,0,wcb(new vcb(),qfb('retract'),'modeller-action-Label'));c.a.ze(0,1,wcb(new vcb(),'['+b.a+']','modeller-action-Label'));gr(c,c.a);return c;}
+function bmb(){}
+_=bmb.prototype=new er();_.tN=Bfc+'ActionRetractFactWidget';_.tI=280;_.a=null;function hnb(e,b,d,a){var c;e.d=d;e.a=a;e.c=hab(new fab());e.e=b;uN(e.c,'model-builderInner-Background');if(bgb(e.a,d.a)){e.b=Cfb(e.a,d.a);e.f=Fb(e.a.h.ic(d.a),1);}else{c=mkb(b.c,d.a);e.b=Dfb(e.a,c.c);e.f=c.c;}jnb(e);gr(e,e.c);return e;}
+function jnb(e){var a,b,c,d,f;by(e.c);kab(e.c,0,0,lnb(e));c=hab(new fab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];kab(c,a,0,knb(e,f));kab(c,a,1,nnb(e,f));b=a;d=lcb(new kcb(),'images/delete_item_small.gif');fB(d,gmb(new fmb(),e,b));kab(c,a,2,d);}kab(e.c,0,1,c);}
+function knb(a,b){return CB(new AB(),b.a);}
+function lnb(d){var a,b,c;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te('Add another field to this so you can set its value.');fB(a,omb(new nmb(),d));c='set';if(ac(d.d,28)){c='modify';}aA(b,wcb(new vcb(),qfb(c)+' ['+d.d.a+']','modeller-action-Label'));aA(b,a);return b;}
+function mnb(d,e){var a,b,c;c=acb(new Bbb(),'images/newex_wiz.gif','Add a field');uN(c,'ks-popups-Popup');a=mC(new eC());pC(a,'...');for(b=0;b<d.b.a;b++){pC(a,d.b[b]);}BC(a,0);bcb(c,'Add field',a);oC(a,smb(new rmb(),d,a,c));lE(c,lN(e),mN(e));oE(c);}
+function nnb(d,f){var a,b,c,e;e='';if(bgb(d.a,d.d.a)){e=Fb(d.a.h.ic(d.d.a),1);}else{e=mkb(d.e.c,d.d.a).c;}b=Afb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return upb(f.c,wmb(new vmb(),d,f),b);}else{c=AG(new sG());a=zK(new kK());vK(a,f.c);if(rU(f.c)!=0){BK(a,rU(f.c));}if(nU(f.b,'Numeric')){oK(a,onb(a));}nK(a,Amb(new zmb(),d,f,a));oK(a,jbb(new ibb(),Emb(new Dmb(),d,a)));CG(c,a);return c;}}
+function onb(a){return cnb(new bnb(),a);}
+function pnb(){return jab(this.c);}
+function emb(){}
+_=emb.prototype=new E_();_.pc=pnb;_.tN=Bfc+'ActionSetFieldWidget';_.tI=281;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function gmb(b,a,c){b.a=a;b.b=c;return b;}
+function imb(b){var a;a=efb(new Beb(),'Remove this item?',kmb(new jmb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
+function fmb(){}
+_=fmb.prototype=new uT();_.zc=imb;_.tN=Bfc+'ActionSetFieldWidget$1';_.tI=282;function kmb(b,a,c){b.a=a;b.b=c;return b;}
+function mmb(){vgb(this.a.a.d,this.b);owb(this.a.a.e);}
+function jmb(){}
+_=jmb.prototype=new uT();_.pb=mmb;_.tN=Bfc+'ActionSetFieldWidget$2';_.tI=283;function omb(b,a){b.a=a;return b;}
+function qmb(a){mnb(this.a,a);}
+function nmb(){}
+_=nmb.prototype=new uT();_.zc=qmb;_.tN=Bfc+'ActionSetFieldWidget$3';_.tI=284;function smb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function umb(c){var a,b;a=vC(this.b,wC(this.b));b=Efb(this.a.a,this.a.f,a);tgb(this.a.d,Bgb(new Agb(),a,'',b));owb(this.a.e);this.c.lc();}
+function rmb(){}
+_=rmb.prototype=new uT();_.yc=umb;_.tN=Bfc+'ActionSetFieldWidget$4';_.tI=285;function wmb(b,a,c){b.a=c;return b;}
+function ymb(a){this.a.c=a;}
+function vmb(){}
+_=vmb.prototype=new uT();_.af=ymb;_.tN=Bfc+'ActionSetFieldWidget$5';_.tI=286;function Amb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Cmb(a){this.b.c=rK(this.a);}
+function zmb(){}
+_=zmb.prototype=new uT();_.yc=Cmb;_.tN=Bfc+'ActionSetFieldWidget$6';_.tI=287;function Emb(b,a,c){b.a=c;return b;}
+function anb(){BK(this.a,rU(rK(this.a)));}
+function Dmb(){}
+_=Dmb.prototype=new uT();_.pb=anb;_.tN=Bfc+'ActionSetFieldWidget$7';_.tI=288;function cnb(a,b){a.a=b;return a;}
+function enb(a,b,c){}
+function fnb(c,a,b){if(eS(a)&&a!=61&& !vU(rK(this.a),'=')){pK(Fb(c,80));}}
+function gnb(a,b,c){}
+function bnb(){}
+_=bnb.prototype=new uT();_.cd=enb;_.dd=fnb;_.ed=gnb;_.tN=Bfc+'ActionSetFieldWidget$8';_.tI=289;function znb(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=hab(new fab());uN(d.b,'model-builderInner-Background');Bnb(d);gr(d,d.b);return d;}
+function Bnb(c){var a,b,d;kab(c.b,0,0,Cnb(c));if(c.d.a!==null){d=tab(new sab());a=c.d.a;for(b=0;b<a.a;b++){iO(d,msb(new kqb(),c.c,a[b],c.a,false));}kab(c.b,0,1,d);}}
+function Cnb(c){var a,b;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");fB(a,snb(new rnb(),c));aA(b,CB(new AB(),rfb(c.d.b)));aA(b,a);uN(b,'modeller-composite-Label');return b;}
+function Dnb(e,f){var a,b,c,d;a=mC(new eC());b=e.a.e;pC(a,'Choose...');for(c=0;c<b.a;c++){pC(a,b[c]);}BC(a,0);d=acb(new Bbb(),'images/new_fact.gif','New fact pattern...');bcb(d,'choose fact type',a);oC(a,wnb(new vnb(),e,a,d));uN(d,'ks-popups-Popup');lE(d,lN(f)-400,mN(f));oE(d);}
+function Enb(){return jab(this.b);}
+function qnb(){}
+_=qnb.prototype=new E_();_.pc=Enb;_.tN=Bfc+'CompositeFactPatternWidget';_.tI=290;_.a=null;_.b=null;_.c=null;_.d=null;function snb(b,a){b.a=a;return b;}
+function unb(a){Dnb(this.a,a);}
+function rnb(){}
+_=rnb.prototype=new uT();_.zc=unb;_.tN=Bfc+'CompositeFactPatternWidget$1';_.tI=291;function wnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ynb(a){kib(this.a.d,ijb(new hjb(),vC(this.b,wC(this.b))));owb(this.a.c);this.c.lc();}
+function vnb(){}
+_=vnb.prototype=new uT();_.yc=ynb;_.tN=Bfc+'CompositeFactPatternWidget$2';_.tI=292;function kpb(f,d,b,a,c,g){var e;f.a=a;if(nU(g,'Numeric')){f.d=true;}else{f.d=false;}if(nU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',605,1,['true','false']);}f.c=c.c;e=c.a;f.b=Bfb(e,d,b);f.e=AG(new sG());ppb(f);gr(f,f.e);return f;}
+function lpb(c,b){var a;a=zK(new kK());uN(a,'constraint-value-Editor');if(b.f===null){vK(a,'');}else{vK(a,b.f);}if(b.f===null||rU(b.f)<5){BK(a,3);}else{BK(a,rU(b.f)-1);}nK(a,Aob(new zob(),c,b,a));oK(a,jbb(new ibb(),Eob(new Dob(),c,a)));return a;}
+function npb(b,a){ppb(b);a.lc();}
+function opb(b){var a;if(b.b!==null){return upb(b.a.f,nob(new mob(),b),b.b);}else{a=lpb(b,b.a);if(b.d){oK(a,new qob());}a.te('This is a literal value. What is shown is what the field is checked against.');return a;}}
+function ppb(b){var a;b.e.ab();if(b.a.e==0){a=eB(new oA(),'images/edit.gif');fB(a,fob(new aob(),b));CG(b.e,a);}else{switch(b.a.e){case 1:CG(b.e,opb(b));break;case 3:CG(b.e,qpb(b));break;case 2:CG(b.e,spb(b));break;default:break;}}}
+function qpb(e){var a,b,c,d;a=lpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=eB(new oA(),'images/function_assets.gif');c.te(d);a.te(d);b=tpb(e,c,a);return b;}
+function rpb(e,g,a){var b,c,d,f;b=acb(new Bbb(),'images/newex_wiz.gif','Field value');d=qp(new kp(),'Literal value');d.x(cpb(new bpb(),e,a,b));bcb(b,'Literal value:',tpb(e,d,tcb(new ocb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));ccb(b,ez(new hw(),'<hr/>'));ccb(b,wcb(new vcb(),'Advanced options','weak-Text'));if(okb(e.c,e.a).b>0){f=qp(new kp(),'Bound variable');f.x(gpb(new fpb(),e,a,b));bcb(b,'A variable:',tpb(e,f,tcb(new ocb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=qp(new kp(),'New formula');c.x(cob(new bob(),e,a,b));bcb(b,'A formula:',tpb(e,c,tcb(new ocb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));lE(b,lN(g),mN(g));oE(b);}
+function spb(c){var a,b,d,e;e=okb(c.c,c.a);a=mC(new eC());if(c.a.f===null){pC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(dY(e,b),1);pC(a,d);if(c.a.f!==null&&nU(c.a.f,d)){BC(a,b);}}oC(a,job(new iob(),c,a));return a;}
+function tpb(d,a,c){var b;b=Fz(new Dz());aA(b,a);aA(b,c);b.Be('100%');return b;}
+function upb(b,k,d){var a,c,e,f,g,h,i,j;a=mC(new eC());if(b===null||nU('',b)){pC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(oU(i,61)>0){h=wpb(i);f=h[0];c=h[1];j=f;qC(a,c,f);}else{qC(a,i,i);j=i;}if(b!==null&&nU(b,j)){BC(a,e);g=true;}}if(b!==null&& !g){qC(a,b,b);BC(a,d.a);}oC(a,wob(new vob(),k,a));return a;}
+function vpb(){return this.j;}
+function wpb(c){var a,b;b=yb('[Ljava.lang.String;',[605],[1],[2],null);a=oU(c,61);b[0]=xU(c,0,a);b[1]=xU(c,a+1,rU(c));return b;}
+function Fnb(){}
+_=Fnb.prototype=new E_();_.pc=vpb;_.tN=Bfc+'ConstraintValueEditor';_.tI=293;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function fob(b,a){b.a=a;return b;}
+function hob(a){rpb(this.a,a,this.a.a);}
+function aob(){}
+_=aob.prototype=new uT();_.zc=hob;_.tN=Bfc+'ConstraintValueEditor$1';_.tI=294;function cob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function eob(a){this.b.e=3;npb(this.a,this.c);}
+function bob(){}
+_=bob.prototype=new uT();_.zc=eob;_.tN=Bfc+'ConstraintValueEditor$10';_.tI=295;function job(b,a,c){b.a=a;b.b=c;return b;}
+function lob(a){this.a.a.f=vC(this.b,wC(this.b));}
+function iob(){}
+_=iob.prototype=new uT();_.yc=lob;_.tN=Bfc+'ConstraintValueEditor$2';_.tI=296;function nob(b,a){b.a=a;return b;}
+function pob(a){this.a.a.f=a;}
+function mob(){}
+_=mob.prototype=new uT();_.af=pob;_.tN=Bfc+'ConstraintValueEditor$3';_.tI=297;function sob(a,b,c){}
+function tob(c,a,b){if(eS(a)){pK(Fb(c,80));}}
+function uob(a,b,c){}
+function qob(){}
+_=qob.prototype=new uT();_.cd=sob;_.dd=tob;_.ed=uob;_.tN=Bfc+'ConstraintValueEditor$4';_.tI=298;function wob(a,c,b){a.b=c;a.a=b;return a;}
+function yob(a){this.b.af(xC(this.a,wC(this.a)));}
+function vob(){}
+_=vob.prototype=new uT();_.yc=yob;_.tN=Bfc+'ConstraintValueEditor$5';_.tI=299;function Aob(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Cob(a){this.c.f=rK(this.b);aab(this.a);}
+function zob(){}
+_=zob.prototype=new uT();_.yc=Cob;_.tN=Bfc+'ConstraintValueEditor$6';_.tI=300;function Eob(b,a,c){b.a=c;return b;}
+function apb(){BK(this.a,rU(rK(this.a)));}
+function Dob(){}
+_=Dob.prototype=new uT();_.pb=apb;_.tN=Bfc+'ConstraintValueEditor$7';_.tI=301;function cpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function epb(a){this.b.e=1;npb(this.a,this.c);}
+function bpb(){}
+_=bpb.prototype=new uT();_.zc=epb;_.tN=Bfc+'ConstraintValueEditor$8';_.tI=302;function gpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ipb(a){this.b.e=2;npb(this.a,this.c);}
+function fpb(){}
+_=fpb.prototype=new uT();_.zc=ipb;_.tN=Bfc+'ConstraintValueEditor$9';_.tI=303;function dqb(b,a){b.a=oab(new nab());b.c=CX(new AX());b.b=a;gqb(b);return b;}
+function eqb(b,a){aA(b.a,a);EX(b.c,a);}
+function gqb(a){hqb(a,a.b.a);gr(a,a.a);}
+function hqb(g,e){var a,b,c,d,f;b=yU(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=Epb(new Cpb(),g);eqb(g,c);}else if(a==125){cqb(c,rU(aqb(c))+1);c=null;}else{if(c===null&&d===null){d=BB(new AB());eqb(g,d);}if(d!==null){bC(d,aC(d)+Eb(a));}else if(c!==null){bqb(c,aqb(c)+Eb(a));}}}}
+function iqb(c){var a,b,d;b='';for(a=c.c.qc();a.kc();){d=Fb(a.sc(),13);if(ac(d,81)){b=b+aC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+aqb(Fb(d,82))+'} ';}}c.b.a=AU(b);}
+function jqb(){return qab(this.a);}
+function xpb(){}
+_=xpb.prototype=new E_();_.pc=jqb;_.tN=Bfc+'DSLSentenceWidget';_.tI=304;_.a=null;_.b=null;_.c=null;function zpb(b,a){b.a=a;return b;}
+function Bpb(a){iqb(this.a.c);aab(this.a);}
+function ypb(){}
+_=ypb.prototype=new uT();_.yc=Bpb;_.tN=Bfc+'DSLSentenceWidget$1';_.tI=305;function Dpb(a){a.b=Fz(new Dz());}
+function Epb(b,a){b.c=a;Dpb(b);b.a=zK(new kK());aA(b.b,ez(new hw(),'&nbsp;'));aA(b.b,b.a);aA(b.b,ez(new hw(),'&nbsp;'));nK(b.a,zpb(new ypb(),b));gr(b,b.b);return b;}
+function aqb(a){return rK(a.a);}
+function bqb(b,a){vK(b.a,a);}
+function cqb(b,a){BK(b.a,a);}
+function Cpb(){}
+_=Cpb.prototype=new E_();_.tN=Bfc+'DSLSentenceWidget$FieldEditor';_.tI=306;_.a=null;function lsb(a){a.c=hab(new fab());}
+function msb(k,h,i,c,a){var b,d,e,f,g,j;lsb(k);k.e=Fb(i,31);k.b=c;k.d=h;k.a=a;kab(k.c,0,0,usb(k));f=ot(k.c);Bw(f,0,0,(oz(),pz),(xz(),zz));Ew(f,0,0,'modeller-fact-TypeHeader');g=hab(new fab());kab(k.c,1,0,g);for(j=0;j<ljb(k.e).a;j++){d=ljb(k.e)[j];e=j;xsb(k,g,j,d,true);b=lcb(new kcb(),'images/delete_item_small.gif');b.te('Remove this whole restriction');fB(b,irb(new lqb(),k,e));kab(g,j,5,b);}if(k.a)uN(k.c,'modeller-fact-pattern-Widget');gr(k,k.c);return k;}
+function osb(j,b){var a,c,d,e,f,g,h,i;f=Fz(new Dz());d=null;e=lcb(new kcb(),'images/add_field_to_fact.gif');e.te('Add a field to this nested constraint.');fB(e,mrb(new lrb(),j,b));if(nU(b.a,'&&')){d='All of:';}else{d='Any of:';}aA(f,e);aA(f,ez(new hw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=hab(new fab());uN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){xsb(j,h,g,i[g],false);c=g;a=lcb(new kcb(),'images/delete_item_small.gif');a.te('Remove this (nested) restriction');fB(a,qrb(new prb(),j,b,c));kab(h,g,5,a);}}aA(f,h);return f;}
+function psb(g,b,c){var a,d,e,f;f=zfb(g.b,g.e.c,c);a=mC(new eC());pC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];qC(a,sfb(e),e);if(nU(e,b.a)){BC(a,d+1);}}oC(a,zqb(new yqb(),g,b,a));return a;}
+function qsb(d,a,b,c){var e;e=Efb(d.d.a,b,c);return kpb(new Fnb(),d.e,c,a,d.d,e);}
+function rsb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=oab(new nab());for(e=0;e<a.a.a;e++){b=a.a[e];aA(d,psb(f,b,a.c));aA(d,qsb(f,b,c,a.c));}return d;}else{return null;}}
+function ssb(c,b){var a,d,e;if(c.a&& !pkb(c.d.c,c.e.a)){d=Fz(new Dz());e=zK(new kK());if(c.e.a===null){vK(e,'');}else{vK(e,c.e.a);}BK(e,3);aA(d,e);a=qp(new kp(),'Set');a.x(vqb(new uqb(),c,e,b));aA(d,a);bcb(b,'Variable name',d);}}
+function tsb(e,c,d){var a,b;a=Fz(new Dz());uN(a,'modeller-field-Label');if(!Ckb(c)){if(e.a&&d){b=mcb(new kcb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');fB(b,brb(new arb(),e,c));aA(a,b);}}else{aA(a,CB(new AB(),'['+c.b+']'));}aA(a,CB(new AB(),c.c));return a;}
+function usb(c){var a,b;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te('Add a field to this condition, or bind a varible to this fact.');fB(a,Crb(new Brb(),c));if(c.e.a!==null){aA(b,CB(new AB(),'['+c.e.a+'] '+c.e.c));}else{aA(b,CB(new AB(),c.e.c));}aA(b,a);return b;}
+function vsb(f,b){var a,c,d,e;e=agb(f.b,f.e.c,b.c);a=mC(new eC());pC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];qC(a,sfb(d),d);if(nU(d,b.d)){BC(a,c+1);}}oC(a,Dqb(new Cqb(),f,b,a));return a;}
+function wsb(e,b){var a,c,d;d=Fz(new Dz());d.Be('100%');c=eB(new oA(),'images/function_assets.gif');c.te('This is a formula expression that is evaluated to be true or false.');aA(d,c);if(b.f===null){b.f='';}a=zK(new kK());vK(a,b.f);nK(a,yrb(new xrb(),e,b,a));a.Be('100%');aA(d,a);return d;}
+function xsb(e,b,c,a,d){if(ac(a,32)){ysb(e,e.d,b,c,a,d);}else if(ac(a,30)){kab(b,c,0,osb(e,Fb(a,30)));jt(ot(b),c,0,5);}}
+function ysb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){kab(d,f,0,tsb(h,b,g));kab(d,f,1,vsb(h,b));kab(d,f,2,Csb(h,b,h.e.c));kab(d,f,3,rsb(h,b,h.e.c));a=lcb(new kcb(),'images/add_connective.gif');a.te('Add more options to this fields values.');fB(a,urb(new trb(),h,b,e));kab(d,f,4,a);}else if(b.e==5){kab(d,f,0,wsb(h,b));jt(ot(d),f,0,5);}}
+function zsb(d,g,a){var b,c,e,f;c=acb(new Bbb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=cp(new bp());e=zK(new kK());b=qp(new kp(),'Set');dp(f,e);dp(f,b);b.x(frb(new erb(),d,e,a,c));bcb(c,'Variable name',f);lE(c,lN(g),mN(g));oE(c);}
+function Bsb(i,j){var a,b,c,d,e,f,g,h;g=acb(new Bbb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);uN(g,'ks-popups-Popup');a=mC(new eC());pC(a,'...');c=Dfb(i.b,i.e.c);for(e=0;e<c.a;e++){pC(a,c[e]);}BC(a,0);oC(a,isb(new hsb(),i,a,g));bcb(g,'Add a restriction on a field',a);b=mC(new eC());pC(b,'...');qC(b,'All of (And)','&&');qC(b,'Any of (Or)','||');BC(b,0);oC(b,nqb(new mqb(),i,b,g));f=tcb(new ocb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=Fz(new Dz());aA(d,b);aA(d,f);bcb(g,'Multiple field constraint',d);ccb(g,wcb(new vcb(),'Advanced options','weak-Text'));h=qp(new kp(),'New formula');h.x(rqb(new qqb(),i,g));bcb(g,'Add a new formula style expression',h);ssb(i,g);lE(g,lN(j),mN(j));oE(g);}
+function Asb(i,j,b){var a,c,d,e,f,g,h;h=acb(new Bbb(),'images/newex_wiz.gif','Add fields to this constraint');uN(h,'ks-popups-Popup');a=mC(new eC());pC(a,'...');d=Dfb(i.b,i.e.c);for(f=0;f<d.a;f++){pC(a,d[f]);}BC(a,0);oC(a,asb(new Frb(),i,b,a,h));bcb(h,'Add a restriction on a field',a);c=mC(new eC());pC(c,'...');qC(c,'All of (And)','&&');qC(c,'Any of (Or)','||');BC(c,0);oC(c,esb(new dsb(),i,c,b,h));g=tcb(new ocb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=Fz(new Dz());aA(e,c);aA(e,g);bcb(h,'Multiple field constraint',e);lE(h,lN(j),mN(j));oE(h);}
+function Csb(c,a,b){var d;d=Efb(c.d.a,b,a.c);return kpb(new Fnb(),c.e,a.c,a,c.d,d);}
+function Dsb(){return jab(this.c);}
+function kqb(){}
+_=kqb.prototype=new E_();_.pc=Dsb;_.tN=Bfc+'FactPatternWidget';_.tI=307;_.a=false;_.b=null;_.d=null;_.e=null;function irb(b,a,c){b.a=a;b.b=c;return b;}
+function krb(a){if(Bh('Remove this item?')){njb(this.a.e,this.b);owb(this.a.d);}}
+function lqb(){}
+_=lqb.prototype=new uT();_.zc=krb;_.tN=Bfc+'FactPatternWidget$1';_.tI=308;function nqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function pqb(b){var a;a=new qib();a.a=xC(this.b,wC(this.b));jjb(this.a.e,a);owb(this.a.d);this.c.lc();}
+function mqb(){}
+_=mqb.prototype=new uT();_.yc=pqb;_.tN=Bfc+'FactPatternWidget$10';_.tI=309;function rqb(b,a,c){b.a=a;b.b=c;return b;}
+function tqb(b){var a;a=new ykb();a.e=5;jjb(this.a.e,a);owb(this.a.d);this.b.lc();}
+function qqb(){}
+_=qqb.prototype=new uT();_.zc=tqb;_.tN=Bfc+'FactPatternWidget$11';_.tI=310;function vqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function xqb(b){var a;a=rK(this.c);if(nwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=rK(this.c);owb(this.a.d);this.b.lc();}
+function uqb(){}
+_=uqb.prototype=new uT();_.zc=xqb;_.tN=Bfc+'FactPatternWidget$12';_.tI=311;function zqb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Bqb(a){this.b.a=xC(this.a,wC(this.a));}
+function yqb(){}
+_=yqb.prototype=new uT();_.yc=Bqb;_.tN=Bfc+'FactPatternWidget$13';_.tI=312;function Dqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Fqb(a){this.c.d=xC(this.b,wC(this.b));aab(this.a.d);hV(),kV;}
+function Cqb(){}
+_=Cqb.prototype=new uT();_.yc=Fqb;_.tN=Bfc+'FactPatternWidget$14';_.tI=313;function brb(b,a,c){b.a=a;b.b=c;return b;}
+function drb(a){zsb(this.a,a,this.b);}
+function arb(){}
+_=arb.prototype=new uT();_.zc=drb;_.tN=Bfc+'FactPatternWidget$15';_.tI=314;function frb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function hrb(b){var a;a=rK(this.d);if(nwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;owb(this.a.d);this.c.lc();}
+function erb(){}
+_=erb.prototype=new uT();_.zc=hrb;_.tN=Bfc+'FactPatternWidget$16';_.tI=315;function mrb(b,a,c){b.a=a;b.b=c;return b;}
+function orb(a){Asb(this.a,a,this.b);}
+function lrb(){}
+_=lrb.prototype=new uT();_.zc=orb;_.tN=Bfc+'FactPatternWidget$2';_.tI=316;function qrb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function srb(a){if(Bh('Remove this item from nested constraint?')){tib(this.b,this.c);owb(this.a.d);}}
+function prb(){}
+_=prb.prototype=new uT();_.zc=srb;_.tN=Bfc+'FactPatternWidget$3';_.tI=317;function urb(b,a,c,d){b.a=c;b.b=d;return b;}
+function wrb(a){Akb(this.a);owb(this.b);}
+function trb(){}
+_=trb.prototype=new uT();_.zc=wrb;_.tN=Bfc+'FactPatternWidget$4';_.tI=318;function yrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Arb(a){this.c.f=rK(this.b);aab(this.a.d);}
+function xrb(){}
+_=xrb.prototype=new uT();_.yc=Arb;_.tN=Bfc+'FactPatternWidget$5';_.tI=319;function Crb(b,a){b.a=a;return b;}
+function Erb(a){Bsb(this.a,a);}
+function Brb(){}
+_=Brb.prototype=new uT();_.zc=Erb;_.tN=Bfc+'FactPatternWidget$6';_.tI=320;function asb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function csb(a){rib(this.c,zkb(new ykb(),vC(this.b,wC(this.b))));owb(this.a.d);this.d.lc();}
+function Frb(){}
+_=Frb.prototype=new uT();_.yc=csb;_.tN=Bfc+'FactPatternWidget$7';_.tI=321;function esb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function gsb(b){var a;a=new qib();a.a=xC(this.c,wC(this.c));rib(this.b,a);owb(this.a.d);this.d.lc();}
+function dsb(){}
+_=dsb.prototype=new uT();_.yc=gsb;_.tN=Bfc+'FactPatternWidget$8';_.tI=322;function isb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ksb(a){jjb(this.a.e,zkb(new ykb(),vC(this.b,wC(this.b))));owb(this.a.d);this.c.lc();}
+function hsb(){}
+_=hsb.prototype=new uT();_.yc=ksb;_.tN=Bfc+'FactPatternWidget$9';_.tI=323;function vtb(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=qbb(new obb());b=d.a;for(c=0;c<b.a;c++){a=b[c];sbb(f.a,a.a,ytb(f,a,c));}gr(f,f.a);return f;}
+function wtb(c,a){var b;b=aq(new Fp());if(a.b===null){gq(b,true);a.b='true';}else{gq(b,nU(a.b,'true'));}b.x(atb(new Fsb(),c,a,b));return b;}
+function ytb(e,a,d){var b,c;if(nU(a.a,'no-loop')){return ztb(e,d);}b=null;if(nU(a.a,'enabled')||nU(a.a,'auto-focus')||nU(a.a,'lock-on-active')){b=wtb(e,a);}else{b=Atb(e,a);}c=oab(new nab());aA(c,b);aA(c,ztb(e,d));return c;}
+function ztb(c,a){var b;b=eB(new oA(),'images/delete_item_small.gif');fB(b,otb(new ntb(),c,a));return b;}
+function Atb(c,a){var b;b=zK(new kK());BK(b,rU(a.b)<3?3:rU(a.b));vK(b,a.b);nK(b,etb(new dtb(),c,a,b));if(nU(a.a,'date-effective')||nU(a.a,'date-expires')){if(a.b===null||nU('',a.b))vK(b,'dd-MMM-yyyy');BK(b,10);}oK(b,itb(new htb(),c,b));return b;}
+function Btb(){var a;a=mC(new eC());pC(a,'Choose...');pC(a,'salience');pC(a,'enabled');pC(a,'date-effective');pC(a,'date-expires');pC(a,'no-loop');pC(a,'agenda-group');pC(a,'activation-group');pC(a,'duration');pC(a,'auto-focus');pC(a,'lock-on-active');pC(a,'ruleflow-group');pC(a,'dialect');return a;}
+function Ctb(){return this.a.pc();}
+function Esb(){}
+_=Esb.prototype=new E_();_.pc=Ctb;_.tN=Bfc+'RuleAttributeWidget';_.tI=324;_.a=null;_.b=null;_.c=null;function atb(b,a,c,d){b.a=c;b.b=d;return b;}
+function ctb(a){this.a.b=fq(this.b)?'true':'false';}
+function Fsb(){}
+_=Fsb.prototype=new uT();_.zc=ctb;_.tN=Bfc+'RuleAttributeWidget$1';_.tI=325;function etb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function gtb(a){this.b.b=rK(this.c);aab(this.a);}
+function dtb(){}
+_=dtb.prototype=new uT();_.yc=gtb;_.tN=Bfc+'RuleAttributeWidget$2';_.tI=326;function itb(b,a,c){b.a=c;return b;}
+function ktb(a,b,c){}
+function ltb(a,b,c){}
+function mtb(a,b,c){BK(this.a,rU(rK(this.a)));}
+function htb(){}
+_=htb.prototype=new uT();_.cd=ktb;_.dd=ltb;_.ed=mtb;_.tN=Bfc+'RuleAttributeWidget$3';_.tI=327;function otb(b,a,c){b.a=a;b.b=c;return b;}
+function qtb(b){var a;a=efb(new Beb(),'Remove this rule option?',stb(new rtb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
+function ntb(){}
+_=ntb.prototype=new uT();_.zc=qtb;_.tN=Bfc+'RuleAttributeWidget$4';_.tI=328;function stb(b,a,c){b.a=a;b.b=c;return b;}
+function utb(){rkb(this.a.a.b,this.b);owb(this.a.a.c);}
+function rtb(){}
+_=rtb.prototype=new uT();_.pb=utb;_.tN=Bfc+'RuleAttributeWidget$5';_.tI=329;function cwb(b,a){b.c=Fb(a.b,83);b.a=rKb((pKb(),uKb),a.d.o);b.b=hab(new fab());mwb(b);uN(b.b,'model-builder-Background');gr(b,b.b);b.Be('100%');b.qe('100%');return b;}
+function dwb(b,a){jkb(b.c,Ahb(new yhb(),a));owb(b);}
+function ewb(b,a){jkb(b.c,cib(new aib(),a));owb(b);}
+function fwb(b,a){ikb(b.c,jib(new iib(),a));owb(b);}
+function gwb(b,a){ikb(b.c,ajb(a));owb(b);}
+function hwb(b,a){jkb(b.c,ajb(a));owb(b);}
+function iwb(b,a){ikb(b.c,ijb(new hjb(),a));owb(b);}
+function jwb(a,b){jkb(a.c,shb(new rhb(),b));owb(a);}
+function lwb(b){var a;a=lcb(new kcb(),'images/new_item.gif');a.te('Add an option to the rule, to modify its behavior when evaluated or executed.');fB(a,hvb(new gvb(),b));return a;}
+function mwb(c){var a,b;by(c.b);b=lcb(new kcb(),'images/new_item.gif');b.te('Add a condition to this rule.');fB(b,Fub(new Etb(),c));kab(c.b,0,0,CB(new AB(),'WHEN'));kab(c.b,0,2,b);kab(c.b,1,1,pwb(c,c.c));kab(c.b,2,0,CB(new AB(),'THEN'));a=lcb(new kcb(),'images/new_item.gif');a.te('Add an action to this rule.');fB(a,dvb(new cvb(),c));kab(c.b,2,2,a);kab(c.b,3,1,qwb(c,c.c));kab(c.b,4,0,CB(new AB(),'(options)'));kab(c.b,4,2,lwb(c));kab(c.b,5,1,vtb(new Esb(),c,c.c));}
+function nwb(b,a){return qkb(b.c,a)||bgb(b.a,a);}
+function owb(a){mwb(a);aab(a);}
+function pwb(e,c){var a,b,d,f,g;f=tab(new sab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,31)){g=msb(new kqb(),e,d,e.a,true);iO(f,vwb(e,c,b,g));iO(f,uwb(e));}else if(ac(d,29)){g=znb(new qnb(),e,Fb(d,29),e.a);iO(f,vwb(e,c,b,g));iO(f,uwb(e));}else if(ac(d,10)){}else{throw AT(new zT(),"I don't know what type of pattern that is.");}}a=tab(new sab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,10)){g=dqb(new xpb(),Fb(d,10));iO(a,vwb(e,c,b,g));uN(a,'model-builderInner-Background');}}iO(f,a);return f;}
+function qwb(g,e){var a,b,c,d,f,h,i;h=tab(new sab());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,27)){i=hnb(new emb(),g,Fb(a,27),g.a);}else if(ac(a,24)){i=Alb(new blb(),g,Fb(a,24),g.a);}else if(ac(a,26)){i=cmb(new bmb(),g.a,Fb(a,26));}else if(ac(a,10)){i=dqb(new xpb(),Fb(a,10));uN(i,'model-builderInner-Background');}iO(h,uwb(g));b=oab(new nab());f=lcb(new kcb(),'images/delete_item_small.gif');f.te('Remove this action.');d=c;fB(f,pvb(new ovb(),g,e,d));aA(b,i);if(!ac(i,84)){i.Be('100%');b.Be('100%');}aA(b,f);iO(h,b);}return h;}
+function rwb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=acb(new Bbb(),'images/new_fact.gif','Add a new action...');uN(k,'ks-popups-Popup');q=nkb(n.c);p=mC(new eC());l=mC(new eC());j=mC(new eC());pC(p,'Choose ...');pC(l,'Choose ...');pC(j,'Choose ...');for(i=q.qc();i.kc();){o=Fb(i.sc(),1);pC(p,o);pC(l,o);pC(j,o);}d=Ffb(n.a);for(f=0;f<d.a;f++){pC(p,d[f]);}BC(p,0);oC(p,aub(new Ftb(),n,p,k));oC(l,eub(new dub(),n,l,k));oC(j,iub(new hub(),n,j,k));if(uC(p)>1){bcb(k,'Set the values of a field on',p);}if(uC(j)>1){e=Fz(new Dz());aA(e,j);g=eB(new oA(),'images/information.gif');g.te('Modify a field on a fact, and notify the engine to re-evaluate rules.');aA(e,g);bcb(k,'Modify a fact',e);}if(uC(l)>1){bcb(k,'Retract the fact',l);}b=mC(new eC());c=mC(new eC());pC(b,'Choose ...');pC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];pC(b,h);pC(c,h);}oC(b,mub(new lub(),n,b,k));oC(c,qub(new pub(),n,c,k));if(uC(b)>1){bcb(k,'Insert a new fact',b);e=Fz(new Dz());aA(e,c);g=eB(new oA(),'images/inf!
 ormation.gif');g.te('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');aA(e,g);bcb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=mC(new eC());pC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];qC(a,bjb(m),DS(f));}oC(a,uub(new tub(),n,a,k));bcb(k,'DSL sentence',a);}lE(k,dc(ai()/3),dc(Fh()/3));oE(k);}
+function swb(c,d){var a,b;b=acb(new Bbb(),'images/config.png','Add an option to the rule');a=Btb();BC(a,0);oC(a,lvb(new kvb(),c,a,b));uN(b,'ks-popups-Popup');bcb(b,'Attribute',a);lE(b,lN(d)-400,mN(d));oE(b);}
+function twb(j,k){var a,b,c,d,e,f,g,h,i;h=acb(new Bbb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=mC(new eC());qC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){pC(e,f[g]);}BC(e,0);if(f.a>0)bcb(h,'Fact',e);oC(e,xvb(new wvb(),j,e,h));uN(h,'ks-popups-Popup');c=(mfb(),nfb);b=mC(new eC());qC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];qC(b,rfb(a),a);}BC(b,0);if(f.a>0)bcb(h,'Condition type',b);oC(b,Bvb(new Avb(),j,b,h));if(j.a.b.a>0){d=mC(new eC());pC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];qC(d,bjb(i),DS(g));}oC(d,Fvb(new Evb(),j,d,h));bcb(h,'DSL sentence',d);}lE(h,lN(k)-400,mN(k));oE(h);}
+function uwb(b){var a;a=ez(new hw(),'&nbsp;');a.qe('2px');return a;}
+function vwb(f,d,b,g){var a,c,e;a=oab(new nab());e=lcb(new kcb(),'images/delete_item_small.gif');e.te('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;fB(e,yub(new xub(),f,d,c));a.Be('100%');g.Be('100%');aA(a,g);aA(a,e);return a;}
+function wwb(){return jab(this.b)||this.j;}
+function Dtb(){}
+_=Dtb.prototype=new E_();_.pc=wwb;_.tN=Bfc+'RuleModeller';_.tI=330;_.a=null;_.b=null;_.c=null;function Fub(b,a){b.a=a;return b;}
+function bvb(a){twb(this.a,a);}
+function Etb(){}
+_=Etb.prototype=new uT();_.zc=bvb;_.tN=Bfc+'RuleModeller$1';_.tI=331;function aub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function cub(a){dwb(this.a,vC(this.c,wC(this.c)));this.b.lc();}
+function Ftb(){}
+_=Ftb.prototype=new uT();_.yc=cub;_.tN=Bfc+'RuleModeller$10';_.tI=332;function eub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function gub(a){jwb(this.a,vC(this.c,wC(this.c)));this.b.lc();}
+function dub(){}
+_=dub.prototype=new uT();_.yc=gub;_.tN=Bfc+'RuleModeller$11';_.tI=333;function iub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kub(a){ewb(this.a,vC(this.b,wC(this.b)));this.c.lc();}
+function hub(){}
+_=hub.prototype=new uT();_.yc=kub;_.tN=Bfc+'RuleModeller$12';_.tI=334;function mub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function oub(b){var a;a=vC(this.b,wC(this.b));jkb(this.a.c,dhb(new bhb(),a));owb(this.a);this.c.lc();}
+function lub(){}
+_=lub.prototype=new uT();_.yc=oub;_.tN=Bfc+'RuleModeller$13';_.tI=335;function qub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function sub(b){var a;a=vC(this.b,wC(this.b));jkb(this.a.c,lhb(new jhb(),a));owb(this.a);this.c.lc();}
+function pub(){}
+_=pub.prototype=new uT();_.yc=sub;_.tN=Bfc+'RuleModeller$14';_.tI=336;function uub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function wub(b){var a;a=BS(xC(this.b,wC(this.b)));hwb(this.a,this.a.a.a[a]);this.c.lc();}
+function tub(){}
+_=tub.prototype=new uT();_.yc=wub;_.tN=Bfc+'RuleModeller$15';_.tI=337;function yub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Aub(b){var a;a=efb(new Beb(),'Remove this entire condition?',Cub(new Bub(),this,this.c,this.b));lE(a,lN(b),mN(b));oE(a);}
+function xub(){}
+_=xub.prototype=new uT();_.zc=Aub;_.tN=Bfc+'RuleModeller$16';_.tI=338;function Cub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Eub(){if(skb(this.c,this.b)){owb(this.a.a);}else{gbb("Can't remove that item as it is used in the action part of the rule.");}}
+function Bub(){}
+_=Bub.prototype=new uT();_.pb=Eub;_.tN=Bfc+'RuleModeller$17';_.tI=339;function dvb(b,a){b.a=a;return b;}
+function fvb(a){rwb(this.a,a);}
+function cvb(){}
+_=cvb.prototype=new uT();_.zc=fvb;_.tN=Bfc+'RuleModeller$2';_.tI=340;function hvb(b,a){b.a=a;return b;}
+function jvb(a){swb(this.a,a);}
+function gvb(){}
+_=gvb.prototype=new uT();_.zc=jvb;_.tN=Bfc+'RuleModeller$3';_.tI=341;function lvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nvb(a){hkb(this.a.c,Djb(new Cjb(),vC(this.b,wC(this.b)),''));owb(this.a);this.c.lc();}
+function kvb(){}
+_=kvb.prototype=new uT();_.yc=nvb;_.tN=Bfc+'RuleModeller$4';_.tI=342;function pvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rvb(b){var a;a=efb(new Beb(),'Remove this item?',tvb(new svb(),this,this.c,this.b));lE(a,lN(b),mN(b));oE(a);}
+function ovb(){}
+_=ovb.prototype=new uT();_.zc=rvb;_.tN=Bfc+'RuleModeller$5';_.tI=343;function tvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function vvb(){tkb(this.c,this.b);owb(this.a.a);}
+function svb(){}
+_=svb.prototype=new uT();_.pb=vvb;_.tN=Bfc+'RuleModeller$6';_.tI=344;function xvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function zvb(b){var a;a=vC(this.b,wC(this.b));if(!nU(a,'IGNORE')){iwb(this.a,a);this.c.lc();}}
+function wvb(){}
+_=wvb.prototype=new uT();_.yc=zvb;_.tN=Bfc+'RuleModeller$7';_.tI=345;function Bvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Dvb(b){var a;a=xC(this.b,wC(this.b));if(!nU(a,'IGNORE')){fwb(this.a,a);this.c.lc();}}
+function Avb(){}
+_=Avb.prototype=new uT();_.yc=Dvb;_.tN=Bfc+'RuleModeller$8';_.tI=346;function Fvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function bwb(b){var a;a=BS(xC(this.b,wC(this.b)));gwb(this.a,this.a.a.b[a]);this.c.lc();}
+function Evb(){}
+_=Evb.prototype=new uT();_.yc=bwb;_.tN=Bfc+'RuleModeller$9';_.tI=347;function zwb(b,a,c){b.a=c;return b;}
+function Bwb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
+function ywb(){}
+_=ywb.prototype=new uT();_.zc=Bwb;_.tN=Cfc+'AssetAttachmentFileWidget$1';_.tI=348;function Dwb(b,a){b.a=a;return b;}
+function Fwb(a){lxb(this.a);mxb(this.a);}
+function Cwb(){}
+_=Cwb.prototype=new uT();_.zc=Fwb;_.tN=Cfc+'AssetAttachmentFileWidget$2';_.tI=349;function bxb(b,a){b.a=a;return b;}
+function exb(a){}
+function dxb(a){bdb();if(pU(a.a,'OK')>(-1)){u$b(this.a.e);}else{gbb('Unable to upload the file.');}}
+function axb(){}
+_=axb.prototype=new uT();_.od=exb;_.nd=dxb;_.tN=Cfc+'AssetAttachmentFileWidget$3';_.tI=350;function yxb(){yxb=s2;dcb();}
+function wxb(c){var a,b;yxb();acb(c,'images/new_wiz.gif','Create a new fact template');c.a=lt(new ft());c.b=zK(new kK());bcb(c,'Name:',c.b);bcb(c,'Fact attributes:',c.a);a=eB(new oA(),'images/new_item.gif');fB(a,pxb(new oxb(),c));bcb(c,'Add a new attribute',a);b=qp(new kp(),'Create');b.x(txb(new sxb(),c));bcb(c,'',b);return c;}
+function xxb(b){var a;a=pt(b.a);b.a.ze(a,0,zK(new kK()));b.a.ze(a,1,Bxb(b));}
+function zxb(d){var a,b,c,e,f;b='template '+rK(d.b)+'\n';for(a=0;a<pt(d.a);a++){e=Fb(ky(d.a,a,1),85);f=vC(e,wC(e));c=rK(Fb(ky(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
+function Axb(b,a){b.c=a;}
+function Bxb(b){var a;a=mC(new eC());pC(a,'String');pC(a,'Integer');pC(a,'Float');pC(a,'Date');pC(a,'Boolean');return a;}
+function nxb(){}
+_=nxb.prototype=new Bbb();_.tN=Cfc+'FactTemplateWizard';_.tI=351;_.a=null;_.b=null;_.c=null;function pxb(b,a){b.a=a;return b;}
+function rxb(a){xxb(this.a);}
+function oxb(){}
+_=oxb.prototype=new uT();_.zc=rxb;_.tN=Cfc+'FactTemplateWizard$1';_.tI=352;function txb(b,a){b.a=a;return b;}
+function vxb(a){yCb(this.a.c);this.a.lc();}
+function sxb(){}
+_=sxb.prototype=new uT();_.zc=vxb;_.tN=Cfc+'FactTemplateWizard$2';_.tI=353;function Dxb(b,a,c){fxb(b,a,c);return b;}
+function Fxb(){return 'images/model_large.png';}
+function ayb(){return 'editable-Surface';}
+function Cxb(){}
+_=Cxb.prototype=new xwb();_.vb=Fxb;_.Eb=ayb;_.tN=Cfc+'ModelAttachmentFileWidget';_.tI=354;function Fyb(){Fyb=s2;dcb();}
+function Dyb(a){a.b=qbb(new obb());a.d=qbb(new obb());}
+function Eyb(f,b){var a,c,d,e;Fyb();acb(f,'images/new_wiz.gif','Create a new package');Dyb(f);f.c=zK(new kK());f.a=eK(new dK());vbb(f.d,ez(new hw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));sbb(f.d,'Name:',f.c);sbb(f.d,'Description:',f.a);f.c.te('The name of the package. Avoid spaces, use underscore instead.');e=EF(new CF(),'action','Create new pa!
 ckage');d=EF(new CF(),'action','Import from drl file');gq(e,true);f.d.ye(true);e.x(dyb(new cyb(),f));f.b.ye(false);d.x(hyb(new gyb(),f));a=cp(new bp());dp(a,e);dp(a,d);ccb(f,a);ccb(f,f.d);ccb(f,f.b);sbb(f.b,'DRL file to import:',bzb(b,f));c=qp(new kp(),'Create package');c.x(lyb(new kyb(),f,b));sbb(f.d,'',c);uN(f,'ks-popups-Popup');return f;}
+function azb(d,b,a,c){fdb('Creating package - please wait...');nTb(BLb(),b,a,qyb(new pyb(),d,c));}
+function bzb(a,d){Fyb();var b,c,e,f;f=Cu(new xu());cv(f,v()+'package');dv(f,'multipart/form-data');ev(f,'post');c=Fz(new Dz());f.Ae(c);e=at(new Fs());dt(e,'classicDRLFile');aA(c,e);aA(c,CB(new AB(),'upload:'));b=mcb(new kcb(),'images/upload.gif','Import');fB(b,vyb(new uyb(),f));aA(c,b);Du(f,zyb(new yyb(),a,d,e));return f;}
+function byb(){}
+_=byb.prototype=new Bbb();_.tN=Cfc+'NewPackageWizard';_.tI=355;_.a=null;_.c=null;function dyb(b,a){b.a=a;return b;}
+function fyb(a){this.a.d.ye(true);this.a.b.ye(false);}
+function cyb(){}
+_=cyb.prototype=new uT();_.zc=fyb;_.tN=Cfc+'NewPackageWizard$1';_.tI=356;function hyb(b,a){b.a=a;return b;}
+function jyb(a){this.a.d.ye(false);this.a.b.ye(true);}
+function gyb(){}
+_=gyb.prototype=new uT();_.zc=jyb;_.tN=Cfc+'NewPackageWizard$2';_.tI=357;function lyb(b,a,c){b.a=a;b.b=c;return b;}
+function nyb(b,a){return sU(a,'[a-zA-Z\\.]*');}
+function oyb(a){if(nyb(this,rK(this.a.c))){azb(this.a,rK(this.a.c),rK(this.a.a),this.b);this.a.lc();}else{vK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
+function kyb(){}
+_=kyb.prototype=new uT();_.zc=oyb;_.tN=Cfc+'NewPackageWizard$3';_.tI=358;function qyb(b,a,c){b.a=c;return b;}
+function syb(b,a){bdb();bFb(b.a);}
+function tyb(a){syb(this,a);}
+function pyb(){}
+_=pyb.prototype=new ecb();_.pd=tyb;_.tN=Cfc+'NewPackageWizard$4';_.tI=359;function vyb(a,b){a.a=b;return a;}
+function xyb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){fdb('Importing drl package, please wait, as this could take some time...');gv(this.a);}}
+function uyb(){}
+_=uyb.prototype=new uT();_.zc=xyb;_.tN=Cfc+'NewPackageWizard$5';_.tI=360;function zyb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
+function Cyb(a){if(rU(ct(this.c))==0){zh('You did not choose a drl file to import !');sv(a,true);}else if(!lU(ct(this.c),'.drl')){zh("You can only import '.drl' files.");sv(a,true);}}
+function Byb(a){if(pU(a.a,'OK')>(-1)){zh('Package was imported successfully. ');bFb(this.a);this.b.lc();}else{gbb('Unable to import into the package. ['+a.a+']');}bdb();}
+function yyb(){}
+_=yyb.prototype=new uT();_.od=Cyb;_.nd=Byb;_.tN=Cfc+'NewPackageWizard$6';_.tI=361;function CAb(h,e,f){var a,b,c,d,g;h.c=rbb(new obb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=AG(new sG());g=zK(new kK());a=qp(new kp(),'Build package');a.te('This will validate and compile all the assets in a package.');a.x(vzb(new dzb(),h,b,g));c=qp(new kp(),'Show package source');c.x(zzb(new yzb(),h,e));sbb(h.c,'View source for package',c);d=Fz(new Dz());aA(d,a);aA(d,ez(new hw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));aA(d,g);aA(d,tcb(new ocb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));sbb(h.c,'Build binary package:',d);vbb(h.c,ez(new hw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));vbb(h.c,b);uN(h.c,'package-Editor');h.c.Be('100%');gr(h,h.c);return h;}
+function EAb(d,a,c){var b;a.ab();b=Fz(new Dz());aA(b,CB(new AB(),'Validating and building package, please wait...'));aA(b,eB(new oA(),'images/red_anime.gif'));fdb('Please wait...');CG(a,b);fg(mAb(new lAb(),d,c,a));}
+function FAb(i,e,a){var b,c,d,f,g,h;a.ab();b=lt(new ft());uN(b,'build-Results');yy(b,0,1,'Format');yy(b,0,2,'Name');yy(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ze(f,0,eB(new oA(),'images/error.gif'));yy(b,f,1,d.a);yy(b,f,2,d.b);yy(b,f,3,d.c);if(!nU('package',d.a)){h=qp(new kp(),'Show');h.x(zAb(new yAb(),i,d));b.ze(f,4,h);}}b.Be('100%');g=oG(new mG(),b);qG(g,true);tN(g,'100%','25em');CG(a,g);}
+function aBb(g,i){var a,b,c,d,e,f,h;fdb('Loading existing snapshots...');c=acb(new Bbb(),'images/snapshot.png','Create a snapshot for deployment.');ccb(c,ez(new hw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=hO(new fO());bcb(c,'Choose or create snapshot name:',h);f=CX(new AX());d=zK(new kK());e='NEW: ';sTb(BLb(),g.a.j,fzb(new ezb(),g,f,h,d));a=zK(new kK());bcb(c,'Comment:',a);b=qp(new kp(),'Create new snapshot');bcb(c,'',b);b.x(nzb(new mzb(),g,f,d,a,c));c.Be('50%');lE(c,dc((cab()-gE(c))/2),100);oE(c);}
+function bBb(e,a){var b,c,d,f;a.ab();f=hO(new fO());iO(f,ez(new hw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=dBb(e.a);b=ez(new hw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");iO(f,b);d=qp(new kp(),'Create snapshot for deployment');d.x(vAb(new uAb(),e));iO(f,d);CG(a,f);}
+function cBb(b,a){fdb('Assembling package source...');fg(Dzb(new Czb(),b,a));}
+function dBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
+function eBb(b,c){var a,d;d=acb(new Bbb(),'images/view_source.gif','Viewing source for: '+c);a=eK(new dK());jK(a,30);a.Be('100%');iK(a,80);ccb(d,a);vK(a,b);a.ne(true);a.te('THIS IS READ ONLY - you may copy and paste, but not edit.');oK(a,gAb(new fAb(),a,b));bdb();lE(d,dc((cab()-gE(d))/2),100);oE(d);}
+function czb(){}
+_=czb.prototype=new er();_.tN=Cfc+'PackageBuilderWidget';_.tI=362;_.a=null;_.b=null;_.c=null;function vzb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function xzb(a){EAb(this.a,this.b,rK(this.c));}
+function dzb(){}
+_=dzb.prototype=new uT();_.zc=xzb;_.tN=Cfc+'PackageBuilderWidget$1';_.tI=363;function fzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
+function hzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=EF(new CF(),'snapshotNameGroup',f[c].b);EX(this.b,b);iO(this.c,b);}d=Fz(new Dz());e=EF(new CF(),'snapshotNameGroup','NEW: ');aA(d,e);this.a.ne(false);e.x(jzb(new izb(),this,this.a));aA(d,this.a);EX(this.b,e);iO(this.c,d);bdb();}
+function ezb(){}
+_=ezb.prototype=new ecb();_.pd=hzb;_.tN=Cfc+'PackageBuilderWidget$10';_.tI=364;function jzb(b,a,c){b.a=c;return b;}
+function lzb(a){this.a.ne(true);}
+function izb(){}
+_=izb.prototype=new uT();_.zc=lzb;_.tN=Cfc+'PackageBuilderWidget$11';_.tI=365;function nzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
+function pzb(d){var a,b,c;c=false;for(b=this.f.qc();b.kc();){a=Fb(b.sc(),87);if(fq(a)){this.a=eq(a);if(!nU(eq(a),'NEW: ')){c=true;}break;}}if(nU(this.a,'NEW: ')){this.a=rK(this.e);}if(nU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}mTb(BLb(),this.b.a.j,this.a,c,rK(this.c),rzb(new qzb(),this,this.d));}
+function mzb(){}
+_=mzb.prototype=new uT();_.zc=pzb;_.tN=Cfc+'PackageBuilderWidget$12';_.tI=366;_.a='';function rzb(b,a,c){b.a=a;b.b=c;return b;}
+function tzb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.lc();}
+function uzb(a){tzb(this,a);}
+function qzb(){}
+_=qzb.prototype=new ecb();_.pd=uzb;_.tN=Cfc+'PackageBuilderWidget$13';_.tI=367;function zzb(b,a,c){b.a=c;return b;}
+function Bzb(a){cBb(this.a.m,this.a.j);}
+function yzb(){}
+_=yzb.prototype=new uT();_.zc=Bzb;_.tN=Cfc+'PackageBuilderWidget$2';_.tI=368;function Dzb(a,c,b){a.b=c;a.a=b;return a;}
+function Fzb(){bTb(BLb(),this.b,bAb(new aAb(),this,this.a));}
+function Czb(){}
+_=Czb.prototype=new uT();_.pb=Fzb;_.tN=Cfc+'PackageBuilderWidget$3';_.tI=369;function bAb(b,a,c){b.a=c;return b;}
+function dAb(c,b){var a;a=Fb(b,1);eBb(a,c.a);}
+function eAb(a){dAb(this,a);}
+function aAb(){}
+_=aAb.prototype=new ecb();_.pd=eAb;_.tN=Cfc+'PackageBuilderWidget$4';_.tI=370;function gAb(a,b,c){a.a=b;a.b=c;return a;}
+function iAb(a,b,c){vK(this.a,this.b);}
+function jAb(a,b,c){vK(this.a,this.b);}
+function kAb(a,b,c){vK(this.a,this.b);}
+function fAb(){}
+_=fAb.prototype=new uT();_.cd=iAb;_.dd=jAb;_.ed=kAb;_.tN=Cfc+'PackageBuilderWidget$5';_.tI=371;function mAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function oAb(){cTb(BLb(),this.a.a.m,this.c,qAb(new pAb(),this,this.b));}
+function lAb(){}
+_=lAb.prototype=new uT();_.pb=oAb;_.tN=Cfc+'PackageBuilderWidget$6';_.tI=372;function qAb(b,a,c){b.a=a;b.b=c;return b;}
+function sAb(c,a){var b;bdb();if(a===null){bBb(c.a.a,c.b);}else{b=Fb(a,88);FAb(c.a.a,b,c.b);}}
+function tAb(a){sAb(this,a);}
+function pAb(){}
+_=pAb.prototype=new ecb();_.pd=tAb;_.tN=Cfc+'PackageBuilderWidget$7';_.tI=373;function vAb(b,a){b.a=a;return b;}
+function xAb(a){aBb(this.a,a);}
+function uAb(){}
+_=uAb.prototype=new uT();_.zc=xAb;_.tN=Cfc+'PackageBuilderWidget$8';_.tI=374;function zAb(b,a,c){b.a=a;b.b=c;return b;}
+function BAb(a){DHb(this.a.b,this.b.d);}
+function yAb(){}
+_=yAb.prototype=new uT();_.zc=BAb;_.tN=Cfc+'PackageBuilderWidget$9';_.tI=375;function cEb(e,b,c,a,d){qbb(e);e.b=b;e.c=c;e.a=a;e.e=d;uN(e,'package-Editor');e.Be('100%');iEb(e);return e;}
+function eEb(b){var a;a=eK(new dK());a.Be('100%');jK(a,8);vK(a,b.b.d);nK(a,FCb(new ECb(),b,a));iK(a,100);return gEb(b,a);}
+function fEb(b,a){fdb('Saving package configuration. Please wait ...');dUb(BLb(),b.b,rBb(new qBb(),b,a));}
+function gEb(d,a){var b,c;c=Fz(new Dz());aA(c,a);b=eB(new oA(),'images/max_min.gif');b.te('Increase view area');aA(c,b);fB(b,BCb(new ACb(),d,a));return c;}
+function hEb(g){var a,b,c,d,e,f,h;a=eK(new dK());a.Be('100%');jK(a,8);iK(a,100);vK(a,g.b.f);nK(a,EBb(new DBb(),g,a));f=Fz(new Dz());aA(f,a);h=hO(new fO());b=eB(new oA(),'images/max_min.gif');fB(b,cCb(new bCb(),g,a));b.te('Increase view area.');iO(h,b);e=eB(new oA(),'images/new_import.gif');fB(e,gCb(new fCb(),g,a));iO(h,e);e.te('Add a new Type/Class import to the package.');d=eB(new oA(),'images/new_global.gif');fB(d,kCb(new jCb(),g,a));d.te('Add a new global variable declaration.');iO(h,d);c=eB(new oA(),'images/fact_template.gif');fB(c,sCb(new rCb(),g,a));c.te('Add a new fact template.');f.Be('100%');aA(f,h);return f;}
+function iEb(c){var a,b;wbb(c);vbb(c,pEb(c));sbb(c,'Description:',eEb(c));sbb(c,'Header:',hEb(c));vbb(c,ez(new hw(),'<hr/>'));sbb(c,'Last modified:',CB(new AB(),pZ(c.b.i)));sbb(c,'Last contributor:',CB(new AB(),c.b.h));vbb(c,ez(new hw(),'<hr/>'));c.f=dz(new hw());b=Fz(new Dz());a=lcb(new kcb(),'images/edit.gif');a.te('Change status.');fB(a,nCb(new gBb(),c));aA(b,c.f);if(!c.b.g){aA(b,a);}lEb(c,c.b.l);sbb(c,'Status:',b);if(!c.b.g){vbb(c,kEb(c));}vbb(c,ez(new hw(),'<hr/>'));}
+function jEb(a){fdb('Refreshing package data...');xTb(BLb(),a.b.m,ABb(new zBb(),a));}
+function kEb(f){var a,b,c,d,e;c=Fz(new Dz());e=qp(new kp(),'Save and validate configuration');e.x(kDb(new jDb(),f));aA(c,e);a=qp(new kp(),'Archive');a.x(oDb(new nDb(),f));aA(c,a);b=qp(new kp(),'Copy');b.x(sDb(new rDb(),f));aA(c,b);d=qp(new kp(),'Rename');d.x(wDb(new vDb(),f));aA(c,d);return c;}
+function lEb(b,a){hz(b.f,'<b>'+a+'<\/b>');}
+function mEb(d){var a,b,c;c=acb(new Bbb(),'images/new_wiz.gif','Copy the package');ccb(c,ez(new hw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=zK(new kK());bcb(c,'New package name:',a);b=qp(new kp(),'OK');bcb(c,'',b);b.x(iBb(new hBb(),d,a,c));c.Be('40%');lE(c,dc(ai()/3),dc(Fh()/3));oE(c);}
+function nEb(d){var a,b,c;c=acb(new Bbb(),'images/new_wiz.gif','Rename the package');ccb(c,ez(new hw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=zK(new kK());bcb(c,'New package name:',a);b=qp(new kp(),'OK');bcb(c,'',b);b.x(ADb(new zDb(),d,a,c));c.Be('40%');lE(c,dc(ai()/3),dc(Fh()/3));oE(c);}
+function oEb(b,c){var a;a=ieb(new sdb(),b.b.m,true);leb(a,gDb(new fDb(),b,a));lE(a,lN(c),mN(c));oE(a);}
+function pEb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=eB(new oA(),'images/warning.gif');a=Fz(new Dz());aA(a,b);c=ez(new hw(),'<b>There were errors validating this package configuration.');aA(a,c);d=qp(new kp(),'View errors');d.x(cDb(new qCb(),e));aA(a,d);return a;}else{return AG(new sG());}}
+function fBb(){}
+_=fBb.prototype=new obb();_.tN=Cfc+'PackageEditor';_.tI=376;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function nCb(b,a){b.a=a;return b;}
+function pCb(a){oEb(this.a,a);}
+function gBb(){}
+_=gBb.prototype=new uT();_.zc=pCb;_.tN=Cfc+'PackageEditor$1';_.tI=377;function iBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kBb(a){jTb(BLb(),this.a.b.j,rK(this.b),mBb(new lBb(),this,this.c));}
+function hBb(){}
+_=hBb.prototype=new uT();_.zc=kBb;_.tN=Cfc+'PackageEditor$10';_.tI=378;function mBb(b,a,c){b.a=a;b.b=c;return b;}
+function oBb(b,a){FFb(b.a.a.e);zh('Package copied successfully.');b.b.lc();}
+function pBb(a){oBb(this,a);}
+function lBb(){}
+_=lBb.prototype=new ecb();_.pd=pBb;_.tN=Cfc+'PackageEditor$11';_.tI=379;function rBb(b,a,c){b.a=a;b.b=c;return b;}
+function tBb(b,a){fGb(b.a.a);b.a.d=Fb(a,89);jEb(b.a);fdb('Package configuration updated successfully, refreshing content cache...');tKb((pKb(),uKb),b.a.b.j,wBb(new vBb(),b,b.b));}
+function uBb(a){tBb(this,a);}
+function qBb(){}
+_=qBb.prototype=new ecb();_.pd=uBb;_.tN=Cfc+'PackageEditor$12';_.tI=380;function wBb(b,a,c){b.a=c;return b;}
+function yBb(){if(this.a!==null){FFb(this.a);}bdb();}
+function vBb(){}
+_=vBb.prototype=new uT();_.pb=yBb;_.tN=Cfc+'PackageEditor$13';_.tI=381;function ABb(b,a){b.a=a;return b;}
+function CBb(a){bdb();this.a.b=Fb(a,16);iEb(this.a);}
+function zBb(){}
+_=zBb.prototype=new ecb();_.pd=CBb;_.tN=Cfc+'PackageEditor$14';_.tI=382;function EBb(b,a,c){b.a=a;b.b=c;return b;}
+function aCb(a){this.a.b.f=rK(this.b);BFb(this.a.c);}
+function DBb(){}
+_=DBb.prototype=new uT();_.yc=aCb;_.tN=Cfc+'PackageEditor$16';_.tI=383;function cCb(b,a,c){b.a=c;return b;}
+function eCb(a){if(hK(this.a)!=32){jK(this.a,32);}else{jK(this.a,8);}}
+function bCb(){}
+_=bCb.prototype=new uT();_.zc=eCb;_.tN=Cfc+'PackageEditor$17';_.tI=384;function gCb(b,a,c){b.a=a;b.b=c;return b;}
+function iCb(a){vK(this.b,rK(this.b)+'\n'+'import <your class here>');this.a.b.f=rK(this.b);}
+function fCb(){}
+_=fCb.prototype=new uT();_.zc=iCb;_.tN=Cfc+'PackageEditor$18';_.tI=385;function kCb(b,a,c){b.a=a;b.b=c;return b;}
+function mCb(a){vK(this.b,rK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=rK(this.b);}
+function jCb(){}
+_=jCb.prototype=new uT();_.zc=mCb;_.tN=Cfc+'PackageEditor$19';_.tI=386;function cDb(b,a){b.a=a;return b;}
+function eDb(a){var b;b=neb(new meb(),this.a.d.a,this.a.d.b);lE(b,dc(ai()/4),mN(a));oE(b);}
+function qCb(){}
+_=qCb.prototype=new uT();_.zc=eDb;_.tN=Cfc+'PackageEditor$2';_.tI=387;function sCb(b,a,c){b.a=a;b.b=c;return b;}
+function uCb(a){var b;b=wxb(new nxb());lE(b,lN(a)-400,mN(a)-250);Axb(b,wCb(new vCb(),this,this.b,b));oE(b);}
+function rCb(){}
+_=rCb.prototype=new uT();_.zc=uCb;_.tN=Cfc+'PackageEditor$20';_.tI=388;function wCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function yCb(a){vK(a.b,rK(a.b)+'\n'+zxb(a.c));a.a.a.b.f=rK(a.b);}
+function zCb(){yCb(this);}
+function vCb(){}
+_=vCb.prototype=new uT();_.pb=zCb;_.tN=Cfc+'PackageEditor$21';_.tI=389;function BCb(b,a,c){b.a=c;return b;}
+function DCb(a){if(hK(this.a)!=32){jK(this.a,32);}else{jK(this.a,8);}}
+function ACb(){}
+_=ACb.prototype=new uT();_.zc=DCb;_.tN=Cfc+'PackageEditor$22';_.tI=390;function FCb(b,a,c){b.a=a;b.b=c;return b;}
+function bDb(a){this.a.b.d=rK(this.b);BFb(this.a.c);}
+function ECb(){}
+_=ECb.prototype=new uT();_.yc=bDb;_.tN=Cfc+'PackageEditor$23';_.tI=391;function gDb(b,a,c){b.a=a;b.b=c;return b;}
+function iDb(){lEb(this.a,this.b.c);}
+function fDb(){}
+_=fDb.prototype=new uT();_.pb=iDb;_.tN=Cfc+'PackageEditor$3';_.tI=392;function kDb(b,a){b.a=a;return b;}
+function mDb(a){fEb(this.a,null);}
+function jDb(){}
+_=jDb.prototype=new uT();_.zc=mDb;_.tN=Cfc+'PackageEditor$4';_.tI=393;function oDb(b,a){b.a=a;return b;}
+function qDb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;fEb(this.a,this.a.e);}}
+function nDb(){}
+_=nDb.prototype=new uT();_.zc=qDb;_.tN=Cfc+'PackageEditor$5';_.tI=394;function sDb(b,a){b.a=a;return b;}
+function uDb(a){mEb(this.a);}
+function rDb(){}
+_=rDb.prototype=new uT();_.zc=uDb;_.tN=Cfc+'PackageEditor$6';_.tI=395;function wDb(b,a){b.a=a;return b;}
+function yDb(a){nEb(this.a);}
+function vDb(){}
+_=vDb.prototype=new uT();_.zc=yDb;_.tN=Cfc+'PackageEditor$7';_.tI=396;function ADb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function CDb(a){bUb(BLb(),this.a.b.m,rK(this.b),EDb(new DDb(),this,this.c));}
+function zDb(){}
+_=zDb.prototype=new uT();_.zc=CDb;_.tN=Cfc+'PackageEditor$8';_.tI=397;function EDb(b,a,c){b.a=a;b.b=c;return b;}
+function aEb(b,a){FFb(b.a.a.e);zh('Package renamed successfully.');b.b.lc();}
+function bEb(a){aEb(this,a);}
+function DDb(){}
+_=DDb.prototype=new ecb();_.pd=bEb;_.tN=Cfc+'PackageEditor$9';_.tI=398;function nHb(a){a.f=DFb(new rEb(),a);}
+function oHb(b,a){pHb(b,a,null,null);return b;}
+function pHb(g,b,h,f){var a,c,d,e;nHb(g);g.b=b;g.h=h;g.c=jM(new CK());g.d=hab(new fab());g.g=new bGb();nM(g.c,g.g);e=hO(new fO());if(f===null){a=lt(new ft());Ew(a.n,0,0,'new-asset-Icons');Bw(a.n,0,0,(oz(),pz),(xz(),zz));a.ze(0,0,sHb(g));iO(e,a);a.Be('100%');}iO(e,g.c);kab(g.d,0,0,e);c=ot(g.d);Fw(c,0,0,(xz(),Az));kt(ot(g.d),0,1,2);Bw(ot(g.d),0,1,(oz(),pz),(xz(),Az));wHb(g);d=vM(g.c,0);if(d!==null)FM(g.c,d);kab(g.d,0,1,ez(new hw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));bx(ot(g.d),0,0,'25%');Bw(ot(g.d),0,1,(oz(),qz),(xz(),Az));g.e=ycc(new Cbc(),g.b,'rulelist');gr(g,g.d);return g;}
+function qHb(d,a,c){var b;b=vHb(d,a.j,'images/package.gif',lHb(new kHb(),eFb(new dFb(),d,a)));b.y(vHb(d,'Business rule assets','images/rule_asset.gif',xHb(d,a.m,(E$(),F$))));b.y(vHb(d,'Technical rule assets','images/technical_rule_assets.gif',xHb(d,a.m,(E$(),b_))));b.y(vHb(d,'Functions','images/function_assets.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['function']))));b.y(vHb(d,'DSL','images/dsl.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['dsl']))));b.y(vHb(d,'Model','images/model_asset.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['jar']))));lM(d.c,b);if(c){aN(d.c,b,true);}}
+function sHb(h){var a,b,c,d,e,f,g,i;g=Fz(new Dz());d=eB(new oA(),'images/new_package.gif');d.te('Create a new package');fB(d,pGb(new oGb(),h));i=lcb(new kcb(),'images/model_asset.gif');fB(i,tGb(new sGb(),h));i.te('This creates a new model archive - models contain classes/types that rules use.');e=lcb(new kcb(),'images/new_rule.gif');e.te('Create new rule');fB(e,xGb(new wGb(),h));c=lcb(new kcb(),'images/function_assets.gif');c.te('Create a new function');fB(c,FGb(new EGb(),h));a=lcb(new kcb(),'images/dsl.gif');a.te('Create a new DSL (language configuration)');fB(a,dHb(new cHb(),h));f=lcb(new kcb(),'images/ruleflow_small.gif');f.te('Upload a new ruleflow.');fB(f,hHb(new gHb(),h));b=lcb(new kcb(),'images/new_enumeration.gif');b.te('Create a new data enumeration (drop down list)');fB(b,tEb(new sEb(),h));aA(g,d);aA(g,i);aA(g,e);aA(g,c);aA(g,a);aA(g,f);aA(g,b);return g;}
+function tHb(d,a,e){var b,c,f;b=70;f=100;c=f7b(new v6b(),iGb(new hGb(),d),false,a,e,d.a);lE(c,dc((cab()-gE(c))/2),100);oE(c);}
+function uHb(a,b){fdb('Loading package information ...');xTb(BLb(),b,rFb(new qFb(),a));}
+function vHb(e,d,b,a){var c;c=oL(new mL());wL(c,'<img src="'+b+'">'+d+'<\/a>');CL(c,a);return c;}
+function wHb(a){if(a.h===null){fdb('Loading list of packages ...');rTb(BLb(),xEb(new wEb(),a));}else{fdb('Loading package ...');xTb(BLb(),a.h,BEb(new AEb(),a));}}
+function xHb(c,d,b){var a;a=iFb(new hFb(),c);return lHb(new kHb(),nFb(new mFb(),c,d,b,a));}
+function yHb(b,c){var a;a=Eyb(new byb(),FEb(new EEb(),b));lE(a,dc((cab()-gE(a))/2),100);oE(a);}
+function qEb(){}
+_=qEb.prototype=new E_();_.tN=Cfc+'PackageExplorerWidget';_.tI=399;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function DFb(b,a){b.a=a;return b;}
+function FFb(a){wHb(a.a);}
+function aGb(){FFb(this);}
+function rEb(){}
+_=rEb.prototype=new uT();_.pb=aGb;_.tN=Cfc+'PackageExplorerWidget$1';_.tI=400;function tEb(b,a){b.a=a;return b;}
+function vEb(a){tHb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
+function sEb(){}
+_=sEb.prototype=new uT();_.zc=vEb;_.tN=Cfc+'PackageExplorerWidget$10';_.tI=401;function xEb(b,a){b.a=a;return b;}
+function zEb(a){var b,c;c=Fb(a,71);oM(this.a.c);for(b=0;b<c.a;b++){if(b==0){qHb(this.a,c[b],true);}else{qHb(this.a,c[b],false);}}bdb();}
+function wEb(){}
+_=wEb.prototype=new ecb();_.pd=zEb;_.tN=Cfc+'PackageExplorerWidget$11';_.tI=402;function BEb(b,a){b.a=a;return b;}
+function DEb(a){var b;b=Fb(a,16);oM(this.a.c);qHb(this.a,b,true);bdb();}
+function AEb(){}
+_=AEb.prototype=new ecb();_.pd=DEb;_.tN=Cfc+'PackageExplorerWidget$12';_.tI=403;function FEb(b,a){b.a=a;return b;}
+function bFb(a){wHb(a.a);}
+function cFb(){bFb(this);}
+function EEb(){}
+_=EEb.prototype=new uT();_.pb=cFb;_.tN=Cfc+'PackageExplorerWidget$13';_.tI=404;function eFb(b,a,c){b.a=a;b.b=c;return b;}
+function gFb(){if(this.a.pc()){if(Bh('Discard Changes ? ')){bab(this.a);uHb(this.a,this.b.m);}}else{uHb(this.a,this.b.m);}}
+function dFb(){}
+_=dFb.prototype=new uT();_.pb=gFb;_.tN=Cfc+'PackageExplorerWidget$14';_.tI=405;function iFb(b,a){b.a=a;return b;}
+function kFb(c,a){var b;b=Fb(a,62);Dcc(c.a.e,b);c.a.e.Be('100%');kab(c.a.d,0,1,c.a.e);Bw(ot(c.a.d),0,1,(oz(),qz),(xz(),Az));bdb();}
+function lFb(a){kFb(this,a);}
+function hFb(){}
+_=hFb.prototype=new ecb();_.pd=lFb;_.tN=Cfc+'PackageExplorerWidget$15';_.tI=406;function nFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
+function pFb(){fdb('Loading list, please wait...');qTb(BLb(),this.c,this.b,(-1),(-1),this.a);}
+function mFb(){}
+_=mFb.prototype=new uT();_.pb=pFb;_.tN=Cfc+'PackageExplorerWidget$16';_.tI=407;function rFb(b,a){b.a=a;return b;}
+function tFb(c){var a,b,d,e,f,g,h,i;b=Fb(c,16);g=qH(new pH());this.a.a=b.j;e=rbb(new obb(),'images/package_large.png',b.j);uN(e,'package-Editor');e.Be('100%');sbb(e,'Description:',CB(new AB(),b.d));sbb(e,'Date created:',CB(new AB(),pZ(b.c)));if(b.g){sbb(e,'Snapshot created on:',CB(new AB(),pZ(b.i)));sbb(e,'Snapshot comment:',CB(new AB(),b.b));h=dBb(b);d=ez(new hw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");sbb(e,'Download package:',d);sbb(e,'Package URI:',CB(new AB(),h));i=qp(new kp(),'View package source');i.x(vFb(new uFb(),this,b));sbb(e,'Show package source:',i);}if(!b.g){vbb(e,ez(new hw(),'<i>Choose one of the options below<\/i>'));}f=zFb(new yFb(),this);a=dGb(new cGb(),this);sH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){sH(g,cEb(new fBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);sH(g,CAb(new czb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{sH(!
 g,cEb(new fBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.Be('100%');kab(this.a.d,0,1,g);bdb();}
+function qFb(){}
+_=qFb.prototype=new ecb();_.pd=tFb;_.tN=Cfc+'PackageExplorerWidget$17';_.tI=408;function vFb(b,a,c){b.a=c;return b;}
+function xFb(a){cBb(this.a.m,this.a.j);}
+function uFb(){}
+_=uFb.prototype=new uT();_.zc=xFb;_.tN=Cfc+'PackageExplorerWidget$18';_.tI=409;function zFb(b,a){b.a=a;return b;}
+function BFb(a){aab(a.a.a);}
+function CFb(){BFb(this);}
+function yFb(){}
+_=yFb.prototype=new uT();_.pb=CFb;_.tN=Cfc+'PackageExplorerWidget$19';_.tI=410;function mGb(c){var a,b;a=Fb(c.k,90);b=a.a;fdb('Please wait...');fg(b);}
+function nGb(a){}
+function bGb(){}
+_=bGb.prototype=new uT();_.rd=mGb;_.sd=nGb;_.tN=Cfc+'PackageExplorerWidget$2';_.tI=411;function dGb(b,a){b.a=a;return b;}
+function fGb(a){bab(a.a.a);}
+function gGb(){fGb(this);}
+function cGb(){}
+_=cGb.prototype=new uT();_.pb=gGb;_.tN=Cfc+'PackageExplorerWidget$20';_.tI=412;function iGb(b,a){b.a=a;return b;}
+function kGb(a){DHb(this.a.b,a);}
+function hGb(){}
+_=hGb.prototype=new uT();_.wd=kGb;_.tN=Cfc+'PackageExplorerWidget$21';_.tI=413;function pGb(b,a){b.a=a;return b;}
+function rGb(a){yHb(this.a,a);}
+function oGb(){}
+_=oGb.prototype=new uT();_.zc=rGb;_.tN=Cfc+'PackageExplorerWidget$3';_.tI=414;function tGb(b,a){b.a=a;return b;}
+function vGb(a){tHb(this.a,'jar','Create a new model archive');}
+function sGb(){}
+_=sGb.prototype=new uT();_.zc=vGb;_.tN=Cfc+'PackageExplorerWidget$4';_.tI=415;function xGb(b,a){b.a=a;return b;}
+function zGb(d){var a,b,c;a=70;c=100;b=f7b(new v6b(),BGb(new AGb(),this),true,null,'Create a new rule asset',this.a.a);lE(b,dc((cab()-gE(b))/2),100);oE(b);}
+function wGb(){}
+_=wGb.prototype=new uT();_.zc=zGb;_.tN=Cfc+'PackageExplorerWidget$5';_.tI=416;function BGb(b,a){b.a=a;return b;}
+function DGb(a){DHb(this.a.a.b,a);}
+function AGb(){}
+_=AGb.prototype=new uT();_.wd=DGb;_.tN=Cfc+'PackageExplorerWidget$6';_.tI=417;function FGb(b,a){b.a=a;return b;}
+function bHb(a){tHb(this.a,'function','Create a new function');}
+function EGb(){}
+_=EGb.prototype=new uT();_.zc=bHb;_.tN=Cfc+'PackageExplorerWidget$7';_.tI=418;function dHb(b,a){b.a=a;return b;}
+function fHb(a){tHb(this.a,'dsl','Create a new language configuration');}
+function cHb(){}
+_=cHb.prototype=new uT();_.zc=fHb;_.tN=Cfc+'PackageExplorerWidget$8';_.tI=419;function hHb(b,a){b.a=a;return b;}
+function jHb(a){tHb(this.a,'rf','Create a new ruleflow');}
+function gHb(){}
+_=gHb.prototype=new uT();_.zc=jHb;_.tN=Cfc+'PackageExplorerWidget$9';_.tI=420;function lHb(b,a){b.a=a;return b;}
+function kHb(){}
+_=kHb.prototype=new uT();_.tN=Cfc+'PackageExplorerWidget$PackageTreeItem';_.tI=421;_.a=null;function FHb(a){a.a=(CY(),DY);}
+function aIb(a){bIb(a,null,null);return a;}
+function bIb(e,c,d){var a,b;FHb(e);e.b=sJ(new eJ());e.b.Be('100%');e.b.qe('30%');a=BHb(new AHb(),e,d);b=null;if(c===null){b=oHb(new qEb(),a);}else{b=pHb(new qEb(),a,c,d);}tJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);zJ(e.b,0);gr(e,e.b);return e;}
+function dIb(b,a){b.a=a;}
+function zHb(){}
+_=zHb.prototype=new er();_.tN=Cfc+'PackageManagerView';_.tI=422;_.b=null;function BHb(b,a,c){b.a=a;b.b=c;return b;}
+function DHb(b,a){r4b(b.a.a,b.a.b,a,b.b!==null);}
+function EHb(a){DHb(this,a);}
+function AHb(){}
+_=AHb.prototype=new uT();_.wd=EHb;_.tN=Cfc+'PackageManagerView$1';_.tI=423;function CJb(b){var a,c;b.a=lt(new ft());b.c=sJ(new eJ());b.c.Be('100%');b.c.qe('100%');c=hO(new fO());iO(c,b.a);a=qp(new kp(),'Rebuild snapshot binaries');a.te('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new fIb());iO(c,a);tJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);bx(b.a.n,0,0,'28%');b.b=BLb();eKb(b);b.a.Be('100%');gr(b,b.c);zJ(b.c,0);return b;}
+function DJb(h,c){var a,b,d,e,f,g;g=jM(new CK());d=hO(new fO());for(a=0;a<c.a;a++){e=c[a].j;b=cKb(h,e,'images/package_snapshot.gif',fJb(new eJb(),h,e));lM(g,b);}iO(d,g);f=ez(new hw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");DB(f,jJb(new iJb(),h));nM(g,new mJb());mO(d,(xz(),Az));lO(d,(oz(),qz));iO(d,f);uN(d,'snapshot-List');h.a.ze(0,0,d);Fw(h.a.n,0,0,(xz(),Az));}
+function FJb(g,e,f){var a,b,c,d;c=acb(new Bbb(),'images/snapshot.png','Copy snapshot '+f);a=zK(new kK());bcb(c,'New label:',a);d=qp(new kp(),'OK');bcb(c,'',d);d.x(vJb(new uJb(),g,e,f,a,c));b=qp(new kp(),'Copy');b.x(hIb(new gIb(),g,c));return b;}
+function aKb(d,c,b){var a;a=qp(new kp(),'Delete');a.x(pIb(new oIb(),d,c,b));return a;}
+function bKb(d,b,c,e){var a;a=qp(new kp(),'Open');a.x(lIb(new kIb(),d,b,c,e));return a;}
+function cKb(e,d,b,a){var c;c=oL(new mL());wL(c,'<img src="'+b+'">'+d+'<\/a>');CL(c,a);return c;}
+function dKb(g,e,f,h){var a,b,c,d,i;i=lt(new ft());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=Fz(new Dz());aA(c,ez(new hw(),d));a=lcb(new kcb(),'images/close.gif');a.te('Close this view');fB(a,xIb(new wIb(),g));aA(c,a);i.ze(0,0,c);b=ot(i);Ew(b,0,0,'editable-Surface');i.ze(1,0,bIb(new zHb(),h,f));i.Be('100%');i.qe('100%');if(g.c.a.f.c>1){yJ(g.c,1);}tJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);zJ(g.c,1);}
+function eKb(a){fdb('Loading package list...');rTb(a.b,bJb(new aJb(),a));}
+function fKb(h,d,b){var a,c,e,f,g;e=rbb(new obb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=lt(new ft());yy(g,0,1,'Name');yy(g,0,2,'Comment');lx(g.p,0,ffc);for(a=0;a<b.a;a++){f=a+1;c=CB(new AB(),b[a].b);g.ze(f,0,eB(new oA(),'images/package_snapshot_item.gif'));g.ze(f,1,c);g.ze(f,2,CB(new AB(),b[a].a));g.ze(f,3,bKb(h,d,aC(c),b[a].c));g.ze(f,4,FJb(h,d,aC(c)));g.ze(f,5,aKb(h,aC(c),d));if(a%2==0){lx(g.p,a+1,dfc);}}e.Be('100%');vbb(e,g);g.Be('100%');uN(e,efc);h.a.ze(0,1,e);Fw(ot(h.a),0,1,(xz(),Az));}
+function gKb(b,a){fdb('Loading snapshots...');sTb(b.b,a,rJb(new qJb(),b,a));}
+function eIb(){}
+_=eIb.prototype=new er();_.tN=Cfc+'PackageSnapshotView';_.tI=424;_.a=null;_.b=null;_.c=null;function BIb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){fdb('Rebuilding snapshots. Please wait, this may take some time...');DTb(BLb(),new CIb());}}
+function fIb(){}
+_=fIb.prototype=new uT();_.zc=BIb;_.tN=Cfc+'PackageSnapshotView$1';_.tI=425;function hIb(b,a,c){b.a=c;return b;}
+function jIb(a){lE(this.a,dc((cab()-gE(this.a))/2),100);oE(this.a);}
+function gIb(){}
+_=gIb.prototype=new uT();_.zc=jIb;_.tN=Cfc+'PackageSnapshotView$10';_.tI=426;function lIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
+function nIb(a){dKb(this.a,this.b,this.c,this.d);}
+function kIb(){}
+_=kIb.prototype=new uT();_.zc=nIb;_.tN=Cfc+'PackageSnapshotView$11';_.tI=427;function pIb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rIb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{iTb(this.a.b,this.b,this.c,true,null,tIb(new sIb(),this,this.b));}}
+function oIb(){}
+_=oIb.prototype=new uT();_.zc=rIb;_.tN=Cfc+'PackageSnapshotView$12';_.tI=428;function tIb(b,a,c){b.a=a;b.b=c;return b;}
+function vIb(a){gKb(this.a.a,this.b);}
+function sIb(){}
+_=sIb.prototype=new ecb();_.pd=vIb;_.tN=Cfc+'PackageSnapshotView$13';_.tI=429;function xIb(b,a){b.a=a;return b;}
+function zIb(a){yJ(this.a.c,1);zJ(this.a.c,0);}
+function wIb(){}
+_=wIb.prototype=new uT();_.zc=zIb;_.tN=Cfc+'PackageSnapshotView$14';_.tI=430;function EIb(b,a){bdb();zh('Snapshots were rebuilt successfully.');}
+function FIb(a){EIb(this,a);}
+function CIb(){}
+_=CIb.prototype=new ecb();_.pd=FIb;_.tN=Cfc+'PackageSnapshotView$2';_.tI=431;function bJb(b,a){b.a=a;return b;}
+function dJb(a){var b;b=Fb(a,71);DJb(this.a,b);bdb();}
+function aJb(){}
+_=aJb.prototype=new ecb();_.pd=dJb;_.tN=Cfc+'PackageSnapshotView$3';_.tI=432;function fJb(b,a,c){b.a=a;b.b=c;return b;}
+function hJb(){gKb(this.a,this.b);}
+function eJb(){}
+_=eJb.prototype=new uT();_.pb=hJb;_.tN=Cfc+'PackageSnapshotView$4';_.tI=433;function jJb(b,a){b.a=a;return b;}
+function lJb(a){eKb(this.a);}
+function iJb(){}
+_=iJb.prototype=new uT();_.zc=lJb;_.tN=Cfc+'PackageSnapshotView$5';_.tI=434;function oJb(a){fg(Fb(a.k,4));}
+function pJb(a){}
+function mJb(){}
+_=mJb.prototype=new uT();_.rd=oJb;_.sd=pJb;_.tN=Cfc+'PackageSnapshotView$6';_.tI=435;function rJb(b,a,c){b.a=a;b.b=c;return b;}
+function tJb(a){var b;b=Fb(a,86);fKb(this.a,this.b,b);bdb();}
+function qJb(){}
+_=qJb.prototype=new ecb();_.pd=tJb;_.tN=Cfc+'PackageSnapshotView$7';_.tI=436;function vJb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
+function xJb(a){iTb(this.a.b,this.d,this.e,false,rK(this.b),zJb(new yJb(),this,this.d,this.c));}
+function uJb(){}
+_=uJb.prototype=new uT();_.zc=xJb;_.tN=Cfc+'PackageSnapshotView$8';_.tI=437;function zJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function BJb(a){gKb(this.a.a,this.c);this.b.lc();}
+function yJb(){}
+_=yJb.prototype=new ecb();_.pd=BJb;_.tN=Cfc+'PackageSnapshotView$9';_.tI=438;function pKb(){pKb=s2;uKb=oKb(new hKb());}
+function nKb(a){a.a=z0(new DZ());}
+function oKb(a){pKb();nKb(a);return a;}
+function qKb(c,b,a){if(!C0(c.a,b)){sKb(c,b,a);}else{e4b(a);}}
+function rKb(c,b){var a;a=Fb(F0(c.a,b),91);if(a===null){gbb('Unable to get content assistance for this rule.');return null;}return a;}
+function sKb(c,b,a){hV(),kV;ATb(BLb(),b,jKb(new iKb(),c,b,a));}
+function tKb(c,b,a){if(C0(c.a,b)){b1(c.a,b);sKb(c,b,a);}else{a.pb();}}
+function hKb(){}
+_=hKb.prototype=new uT();_.tN=Cfc+'SuggestionCompletionCache';_.tI=439;var uKb;function jKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function lKb(c,a){var b;b=Fb(a,91);a1(c.a.a,c.c,b);c.b.pb();}
+function mKb(a){lKb(this,a);}
+function iKb(){}
+_=iKb.prototype=new ecb();_.pd=mKb;_.tN=Cfc+'SuggestionCompletionCache$1';_.tI=440;function BKb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
+function vKb(){}
+_=vKb.prototype=new uT();_.tS=BKb;_.tN=Dfc+'BuilderResult';_.tI=441;_.a=null;_.b=null;_.c=null;_.d=null;function zKb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();}
+function AKb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);}
+function CKb(){}
+_=CKb.prototype=new fl();_.tN=Dfc+'DetailedSerializableException';_.tI=442;_.a=null;function aLb(b,a){dLb(a,b.Ed());jl(b,a);}
+function bLb(a){return a.a;}
+function cLb(b,a){b.gf(bLb(a));ll(b,a);}
+function dLb(a,b){a.a=b;}
+function fLb(a){a.a=yb('[Ljava.lang.String;',[605],[1],[0],null);}
+function gLb(a){fLb(a);return a;}
+function hLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(nU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[605],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function jLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[605],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function eLb(){}
+_=eLb.prototype=new uT();_.tN=Dfc+'MetaData';_.tI=443;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function mLb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Ed();a.c=b.Ed();a.d=Fb(b.Dd(),59);a.e=b.Ed();a.f=Fb(b.Dd(),59);a.g=Fb(b.Dd(),59);a.h=b.Ed();a.i=b.Ed();a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=Fb(b.Dd(),59);a.n=b.Ed();a.o=b.Ed();a.p=b.Ed();a.q=b.Ed();a.r=b.Ed();a.s=b.Ed();a.t=b.Ed();a.u=b.Ed();a.v=b.Cd();}
+function nLb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.ff(a.d);b.gf(a.e);b.ff(a.f);b.ff(a.g);b.gf(a.h);b.gf(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.ff(a.m);b.gf(a.n);b.gf(a.o);b.gf(a.p);b.gf(a.q);b.gf(a.r);b.gf(a.s);b.gf(a.t);b.gf(a.u);b.ef(a.v);}
+function oLb(){}
+_=oLb.prototype=new uT();_.tN=Dfc+'PackageConfigData';_.tI=444;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function sLb(b,a){a.a=b.zd();a.b=b.Ed();a.c=Fb(b.Dd(),59);a.d=b.Ed();a.e=b.Ed();a.f=b.Ed();a.g=b.zd();a.h=b.Ed();a.i=Fb(b.Dd(),59);a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=b.Ed();}
+function tLb(b,a){b.bf(a.a);b.gf(a.b);b.ff(a.c);b.gf(a.d);b.gf(a.e);b.gf(a.f);b.bf(a.g);b.gf(a.h);b.ff(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.gf(a.m);}
+function zLb(){var a,b,c;c=yRb(new ELb());a=c;b=v()+'jbrmsService';eUb(a,b);return c;}
+function ALb(){var a,b,c;c=gXb(new BWb());a=c;b=v()+'jbrmsService';mXb(a,b);return c;}
+function BLb(){if(yLb===null){CLb();}return yLb;}
+function CLb(){if(xLb)yLb=null;else yLb=zLb();}
+function DLb(d,b,a){var c;c=ALb();lXb(c,d,b,a);}
+var xLb=false,yLb=null;function gTb(){gTb=s2;fUb=hUb(new gUb());}
+function yRb(a){gTb();return a;}
+function zRb(b,a,c,d){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'archiveAsset');ln(a,2);nn(a,'java.lang.String');nn(a,'Z');nn(a,c);kn(a,d);}
+function BRb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildAsset');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
+function ARb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildAssetSource');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
+function DRb(d,c,a,b){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'buildPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,a);nn(c,b);}
+function CRb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildPackageSource');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function ERb(d,c,e,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'changeAssetPackage');ln(c,3);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,e);nn(c,b);nn(c,a);}
+function FRb(c,b,d,a,e){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'changeState');ln(b,3);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,'Z');nn(b,d);nn(b,a);kn(b,e);}
+function aSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'checkinVersion');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
+function bSb(e,d,a,c,b){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'copyAsset');ln(d,3);nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,a);nn(d,c);nn(d,b);}
+function cSb(f,e,c,d,a,b){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'copyOrRemoveSnapshot');ln(e,4);nn(e,'java.lang.String');nn(e,'java.lang.String');nn(e,'Z');nn(e,'java.lang.String');nn(e,c);nn(e,d);kn(e,a);nn(e,b);}
+function dSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'copyPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
+function eSb(e,d,c,b,a){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'createCategory');ln(d,3);nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,c);nn(d,b);nn(d,a);}
+function fSb(g,f,e,a,c,d,b){if(g.a===null)throw ul(new tl());ro(f);nn(f,'org.drools.brms.client.rpc.RepositoryService');nn(f,'createNewRule');ln(f,5);nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,e);nn(f,a);nn(f,c);nn(f,d);nn(f,b);}
+function hSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'createPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
+function gSb(f,e,b,d,c,a){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'createPackageSnapshot');ln(e,4);nn(e,'java.lang.String');nn(e,'java.lang.String');nn(e,'Z');nn(e,'java.lang.String');nn(e,b);nn(e,d);kn(e,c);nn(e,a);}
+function iSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'createState');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function jSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'deleteUncheckedRule');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
+function kSb(f,e,c,a,b,d){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'listAssets');ln(e,4);nn(e,'java.lang.String');nn(e,'[Ljava.lang.String;');nn(e,'I');nn(e,'I');nn(e,c);mn(e,a);ln(e,b);ln(e,d);}
+function lSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'listPackages');ln(a,0);}
+function mSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'listSnapshots');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function nSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'listStates');ln(a,0);}
+function oSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadArchivedAssets');ln(a,0);}
+function pSb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadAssetHistory');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
+function qSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadChildCategories');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function rSb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadPackageConfig');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
+function sSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadRuleAsset');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function tSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadRuleListForCategories');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function uSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadSuggestionCompletionEngine');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function vSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadTableConfig');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function wSb(e,d,c,a,b){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'quickFindAsset');ln(d,3);nn(d,'java.lang.String');nn(d,'I');nn(d,'Z');nn(d,c);ln(d,a);kn(d,b);}
+function xSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'rebuildSnapshots');ln(a,0);}
+function ySb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'removeAsset');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
+function zSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'removeCategory');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function ASb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'renameAsset');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
+function BSb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'renamePackage');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
+function CSb(d,c,e,a,b){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'restoreVersion');ln(c,3);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,e);nn(c,a);nn(c,b);}
+function DSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'savePackage');ln(b,1);nn(b,'org.drools.brms.client.rpc.PackageConfigData');mn(b,a);}
+function ESb(h,i,j,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zRb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=nNb(new FLb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BRb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=ePb(new rNb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FSb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ARb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=BQb(new iPb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cTb(j,f,g,c){var a,d,e,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DRb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=aRb(new FQb(),j,h,c);if(!wg(j.a,uo(i),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CRb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=fRb(new eRb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dTb(j,k,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ERb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=kRb(new jRb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eTb(i,j,f,k,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FRb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=pRb(new oRb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=uRb(new tRb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hTb(k,c,h,g,d){var a,e,f,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=bMb(new aMb(),k,i,d);if(!wg(k.a,uo(j),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function iTb(l,h,i,d,g,c){var a,e,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=gMb(new fMb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function jTb(j,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=lMb(new kMb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function kTb(k,h,g,d,c){var a,e,f,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=qMb(new pMb(),k,i,c);if(!wg(k.a,uo(j),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=zn(new yn(),fUb);l=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}g=vMb(new uMb(),m,k,c);if(!wg(m.a,uo(l),g))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function nTb(j,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=AMb(new zMb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mTb(l,g,i,h,d,c){var a,e,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=FMb(new EMb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=eNb(new dNb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pTb(j,g,f,c){var a,d,e,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=jNb(new iNb(),j,h,c);if(!wg(j.a,uo(i),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qTb(l,h,e,g,i,c){var a,d,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}f=tNb(new sNb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=yNb(new xNb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=DNb(new CNb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=cOb(new bOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=hOb(new gOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vTb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=mOb(new lOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=rOb(new qOb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function xTb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=wOb(new vOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function yTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=BOb(new AOb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function zTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=aPb(new FOb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ATb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=kPb(new jPb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function BTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=pPb(new oPb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CTb(k,h,f,g,c){var a,d,e,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=uPb(new tPb(),k,i,c);if(!wg(k.a,uo(j),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=zPb(new yPb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ETb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=EPb(new DPb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=dQb(new cQb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aUb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=iQb(new hQb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bUb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=nQb(new mQb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cUb(j,k,c,e,d){var a,f,g,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;gcb(d,f);return;}else throw a;}g=sQb(new rQb(),j,h,d);if(!wg(j.a,uo(i),g))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dUb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=xQb(new wQb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eUb(b,a){b.a=a;}
+function ELb(){}
+_=ELb.prototype=new uT();_.tN=Dfc+'RepositoryService_Proxy';_.tI=445;_.a=null;var fUb;function nNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u6(g.a,f);else gcb(g.a,c);}
+function qNb(a){var b;b=x;pNb(this,a);}
+function FLb(){}
+_=FLb.prototype=new uT();_.Ac=qNb;_.tN=Dfc+'RepositoryService_Proxy$1';_.tI=446;function bMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)m0b(g.a,f);else gcb(g.a,c);}
+function eMb(a){var b;b=x;dMb(this,a);}
+function aMb(){}
+_=aMb.prototype=new uT();_.Ac=eMb;_.tN=Dfc+'RepositoryService_Proxy$10';_.tI=447;function gMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function jMb(a){var b;b=x;iMb(this,a);}
+function fMb(){}
+_=fMb.prototype=new uT();_.Ac=jMb;_.tN=Dfc+'RepositoryService_Proxy$11';_.tI=448;function lMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)oBb(g.a,f);else gcb(g.a,c);}
+function oMb(a){var b;b=x;nMb(this,a);}
+function kMb(){}
+_=kMb.prototype=new uT();_.Ac=oMb;_.tN=Dfc+'RepositoryService_Proxy$12';_.tI=449;function qMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)z9(g.a,f);else gcb(g.a,c);}
+function tMb(a){var b;b=x;sMb(this,a);}
+function pMb(){}
+_=pMb.prototype=new uT();_.Ac=tMb;_.tN=Dfc+'RepositoryService_Proxy$13';_.tI=450;function vMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)b7b(g.a,f);else gcb(g.a,c);}
+function yMb(a){var b;b=x;xMb(this,a);}
+function uMb(){}
+_=uMb.prototype=new uT();_.Ac=yMb;_.tN=Dfc+'RepositoryService_Proxy$14';_.tI=451;function AMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function CMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)syb(g.a,f);else gcb(g.a,c);}
+function DMb(a){var b;b=x;CMb(this,a);}
+function zMb(){}
+_=zMb.prototype=new uT();_.Ac=DMb;_.tN=Dfc+'RepositoryService_Proxy$15';_.tI=452;function FMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function bNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)tzb(g.a,f);else gcb(g.a,c);}
+function cNb(a){var b;b=x;bNb(this,a);}
+function EMb(){}
+_=EMb.prototype=new uT();_.Ac=cNb;_.tN=Dfc+'RepositoryService_Proxy$16';_.tI=453;function eNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g9(g.a,f);else gcb(g.a,c);}
+function hNb(a){var b;b=x;gNb(this,a);}
+function dNb(){}
+_=dNb.prototype=new uT();_.Ac=hNb;_.tN=Dfc+'RepositoryService_Proxy$17';_.tI=454;function jNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function lNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c$b(g.a,f);else gcb(g.a,c);}
+function mNb(a){var b;b=x;lNb(this,a);}
+function iNb(){}
+_=iNb.prototype=new uT();_.Ac=mNb;_.tN=Dfc+'RepositoryService_Proxy$18';_.tI=455;function ePb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f8b(g.a,f);else gcb(g.a,c);}
+function hPb(a){var b;b=x;gPb(this,a);}
+function rNb(){}
+_=rNb.prototype=new uT();_.Ac=hPb;_.tN=Dfc+'RepositoryService_Proxy$2';_.tI=456;function tNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)kFb(g.a,f);else gcb(g.a,c);}
+function wNb(a){var b;b=x;vNb(this,a);}
+function sNb(){}
+_=sNb.prototype=new uT();_.Ac=wNb;_.tN=Dfc+'RepositoryService_Proxy$20';_.tI=457;function yNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function ANb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function BNb(a){var b;b=x;ANb(this,a);}
+function xNb(){}
+_=xNb.prototype=new uT();_.Ac=BNb;_.tN=Dfc+'RepositoryService_Proxy$21';_.tI=458;function DNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function aOb(a){var b;b=x;FNb(this,a);}
+function CNb(){}
+_=CNb.prototype=new uT();_.Ac=aOb;_.tN=Dfc+'RepositoryService_Proxy$22';_.tI=459;function cOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function eOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function fOb(a){var b;b=x;eOb(this,a);}
+function bOb(){}
+_=bOb.prototype=new uT();_.Ac=fOb;_.tN=Dfc+'RepositoryService_Proxy$23';_.tI=460;function hOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c7(g.a,f);else gcb(g.a,c);}
+function kOb(a){var b;b=x;jOb(this,a);}
+function gOb(){}
+_=gOb.prototype=new uT();_.Ac=kOb;_.tN=Dfc+'RepositoryService_Proxy$24';_.tI=461;function mOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)d_b(g.a,f);else gcb(g.a,c);}
+function pOb(a){var b;b=x;oOb(this,a);}
+function lOb(){}
+_=lOb.prototype=new uT();_.Ac=pOb;_.tN=Dfc+'RepositoryService_Proxy$25';_.tI=462;function rOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function tOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function uOb(a){var b;b=x;tOb(this,a);}
+function qOb(){}
+_=qOb.prototype=new uT();_.Ac=uOb;_.tN=Dfc+'RepositoryService_Proxy$26';_.tI=463;function wOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function zOb(a){var b;b=x;yOb(this,a);}
+function vOb(){}
+_=vOb.prototype=new uT();_.Ac=zOb;_.tN=Dfc+'RepositoryService_Proxy$27';_.tI=464;function BOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function EOb(a){var b;b=x;DOb(this,a);}
+function AOb(){}
+_=AOb.prototype=new uT();_.Ac=EOb;_.tN=Dfc+'RepositoryService_Proxy$28';_.tI=465;function aPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)obc(g.a,f);else gcb(g.a,c);}
+function dPb(a){var b;b=x;cPb(this,a);}
+function FOb(){}
+_=FOb.prototype=new uT();_.Ac=dPb;_.tN=Dfc+'RepositoryService_Proxy$29';_.tI=466;function BQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k8b(g.a,f);else gcb(g.a,c);}
+function EQb(a){var b;b=x;DQb(this,a);}
+function iPb(){}
+_=iPb.prototype=new uT();_.Ac=EQb;_.tN=Dfc+'RepositoryService_Proxy$3';_.tI=467;function kPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)lKb(g.a,f);else gcb(g.a,c);}
+function nPb(a){var b;b=x;mPb(this,a);}
+function jPb(){}
+_=jPb.prototype=new uT();_.Ac=nPb;_.tN=Dfc+'RepositoryService_Proxy$30';_.tI=468;function pPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)ecc(g.a,f);else gcb(g.a,c);}
+function sPb(a){var b;b=x;rPb(this,a);}
+function oPb(){}
+_=oPb.prototype=new uT();_.Ac=sPb;_.tN=Dfc+'RepositoryService_Proxy$31';_.tI=469;function uPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function xPb(a){var b;b=x;wPb(this,a);}
+function tPb(){}
+_=tPb.prototype=new uT();_.Ac=xPb;_.tN=Dfc+'RepositoryService_Proxy$32';_.tI=470;function zPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function BPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)EIb(g.a,f);else gcb(g.a,c);}
+function CPb(a){var b;b=x;BPb(this,a);}
+function yPb(){}
+_=yPb.prototype=new uT();_.Ac=CPb;_.tN=Dfc+'RepositoryService_Proxy$33';_.tI=471;function EPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D6(g.a,f);else gcb(g.a,c);}
+function bQb(a){var b;b=x;aQb(this,a);}
+function DPb(){}
+_=DPb.prototype=new uT();_.Ac=bQb;_.tN=Dfc+'RepositoryService_Proxy$34';_.tI=472;function dQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u8(g.a,f);else gcb(g.a,c);}
+function gQb(a){var b;b=x;fQb(this,a);}
+function cQb(){}
+_=cQb.prototype=new uT();_.Ac=gQb;_.tN=Dfc+'RepositoryService_Proxy$35';_.tI=473;function iQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function kQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c6b(g.a,f);else gcb(g.a,c);}
+function lQb(a){var b;b=x;kQb(this,a);}
+function hQb(){}
+_=hQb.prototype=new uT();_.Ac=lQb;_.tN=Dfc+'RepositoryService_Proxy$36';_.tI=474;function nQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)aEb(g.a,f);else gcb(g.a,c);}
+function qQb(a){var b;b=x;pQb(this,a);}
+function mQb(){}
+_=mQb.prototype=new uT();_.Ac=qQb;_.tN=Dfc+'RepositoryService_Proxy$37';_.tI=475;function sQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)mac(g.a,f);else gcb(g.a,c);}
+function vQb(a){var b;b=x;uQb(this,a);}
+function rQb(){}
+_=rQb.prototype=new uT();_.Ac=vQb;_.tN=Dfc+'RepositoryService_Proxy$38';_.tI=476;function xQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)tBb(g.a,f);else gcb(g.a,c);}
+function AQb(a){var b;b=x;zQb(this,a);}
+function wQb(){}
+_=wQb.prototype=new uT();_.Ac=AQb;_.tN=Dfc+'RepositoryService_Proxy$39';_.tI=477;function aRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)sAb(g.a,f);else gcb(g.a,c);}
+function dRb(a){var b;b=x;cRb(this,a);}
+function FQb(){}
+_=FQb.prototype=new uT();_.Ac=dRb;_.tN=Dfc+'RepositoryService_Proxy$4';_.tI=478;function fRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dAb(g.a,f);else gcb(g.a,c);}
+function iRb(a){var b;b=x;hRb(this,a);}
+function eRb(){}
+_=eRb.prototype=new uT();_.Ac=iRb;_.tN=Dfc+'RepositoryService_Proxy$5';_.tI=479;function kRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)A4b(g.a,f);else gcb(g.a,c);}
+function nRb(a){var b;b=x;mRb(this,a);}
+function jRb(){}
+_=jRb.prototype=new uT();_.Ac=nRb;_.tN=Dfc+'RepositoryService_Proxy$6';_.tI=480;function pRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)geb(g.a,f);else gcb(g.a,c);}
+function sRb(a){var b;b=x;rRb(this,a);}
+function oRb(){}
+_=oRb.prototype=new uT();_.Ac=sRb;_.tN=Dfc+'RepositoryService_Proxy$7';_.tI=481;function uRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)h$b(g.a,f);else gcb(g.a,c);}
+function xRb(a){var b;b=x;wRb(this,a);}
+function tRb(){}
+_=tRb.prototype=new uT();_.Ac=xRb;_.tN=Dfc+'RepositoryService_Proxy$8';_.tI=482;function iUb(){iUb=s2;kWb=jUb();nWb=kUb();}
+function hUb(a){iUb();return a;}
+function jUb(){iUb();return {'[B/2233087514':[function(a){return lUb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return mUb(a);},function(a,b){Ek(a,b);},function(a,b){Fk(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return nUb(a);},function(a,b){jl(a,b);},function(a,b){ll(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return sUb(a);},function(a,b){nD(a,b);},function(a,b){qD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return tUb(a);},function(a,b){fI(a,b);},function(a,b){iI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return uUb(a);},function(a,b){nI(a,b);},function(a,b){pI(a,b);}],'java.lang.Boolean/476441737':[function(a){return Al(a);},function(a,b){zl(a,b);},function(a,b){Bl(a,b);}],'java.!
 lang.String/2004016611':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return vUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'java.util.ArrayList/3821976829':[function(a){return oUb(a);},function(a,b){lm(a,b);},function(a,b){mm(a,b);}],'java.util.Date/1659716317':[function(a){return qm(a);},function(a,b){pm(a,b);},function(a,b){rm(a,b);}],'java.util.HashMap/962170901':[function(a){return pUb(a);},function(a,b){um(a,b);},function(a,b){vm(a,b);}],'java.util.HashSet/1594477813':[function(a){return qUb(a);},function(a,b){ym(a,b);},function(a,b){zm(a,b);}],'java.util.Vector/3125574444':[function(a){return rUb(a);},function(a,b){Cm(a,b);},function(a,b){Dm(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return wUb(a);},function(a,b){ggb(a,b);},function(a,b){hgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return xUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return zUb(a);},function(a,b){Fgb(a,b);},function(a,b){ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return yUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return BUb(a);},function(a,b){hhb(a,b);},function(a,b){ihb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return AUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return DUb(a);},function(a,b){phb(a,b);},function(a,b){qhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return CUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn FUb(a);},function(a,b){whb(a,b);},function(a,b){xhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return EUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return bVb(a);},function(a,b){Ehb(a,b);},function(a,b){Fhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return aVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return dVb(a);},function(a,b){gib(a,b);},function(a,b){hib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return cVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return fVb(a);},function(a,b){oib(a,b);},function(a,b){pib(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn eVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return hVb(a);},function(a,b){wib(a,b);},function(a,b){xib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return gVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return jVb(a);},function(a,b){Cib(a,b);},function(a,b){Dib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return iVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return lVb(a);},function(a,b){ejb(a,b);},function(a,b){fjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return kVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return nVb(a);},function(a,b){qjb(a,b);},function(a,b){rjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return mVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return oVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return pVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return qVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return rVb(a);},function(a,b){zjb(a,b);},function(a,b){Ajb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return tVb(a);},function(a,b){bkb(a,b);},function(a,b!
 ){ckb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return sVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return uVb(a);},function(a,b){wkb(a,b);},function(a,b){xkb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return wVb(a);},function(a,b){Fkb(a,b);},function(a,b){alb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return vVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return yVb(a);},function(a,b){zKb(a,b);},function(a,b){AKb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return xVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return zVb(a);},function(a,b){aLb(a,b);},function(a,b){cLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return AVb(a);},function(a,b){mLb(a,b);},function(a,b){nLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return CVb(a);},function(a,b){sLb(a,b);},function(a,b){tLb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return BVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return DVb(a);},function(a,b){sWb(a,b);},function(a,b){tWb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return EVb(a);},function(a,b){yWb(a,b);},function(a,b){zWb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return FVb(a);},function(a,b){FXb(a,b);},function(a,b){aYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return bWb(a);},function(a,b){fYb(a,b);},function(a,b){gYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn aWb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return cWb(a);},function(a,b){lYb(a,b);},function(a,b){mYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return dWb(a);},function(a,b){rYb(a,b);},function(a,b){sYb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return fWb(a);},function(a,b){xYb(a,b);},function(a,b){yYb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return eWb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return gWb(a);},function(a,b){EYb(a,b);},function(a,b){FYb(a,b);}]};}
+function kUb(){iUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
+function lUb(b){iUb();var a;a=b.Bd();return yb('[B',[611],[(-1)],[a],0);}
+function mUb(a){iUb();return Ak(new zk());}
+function nUb(a){iUb();return new fl();}
+function oUb(a){iUb();return CX(new AX());}
+function pUb(a){iUb();return z0(new DZ());}
+function qUb(a){iUb();return t1(new s1());}
+function rUb(a){iUb();return g2(new f2());}
+function sUb(a){iUb();return new jD();}
+function tUb(a){iUb();return new EH();}
+function uUb(a){iUb();return new aI();}
+function vUb(b){iUb();var a;a=b.Bd();return yb('[Ljava.lang.String;',[605],[1],[a],null);}
+function wUb(a){iUb();return xfb(new vfb());}
+function xUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[620],[22],[a],null);}
+function yUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[621],[23],[a],null);}
+function zUb(a){iUb();return new Agb();}
+function AUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[622],[24],[a],null);}
+function BUb(a){iUb();return chb(new bhb());}
+function CUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[623],[25],[a],null);}
+function DUb(a){iUb();return khb(new jhb());}
+function EUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[624],[26],[a],null);}
+function FUb(a){iUb();return new rhb();}
+function aVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[625],[27],[a],null);}
+function bVb(a){iUb();return zhb(new yhb());}
+function cVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[626],[28],[a],null);}
+function dVb(a){iUb();return bib(new aib());}
+function eVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[627],[29],[a],null);}
+function fVb(a){iUb();return new iib();}
+function gVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[628],[30],[a],null);}
+function hVb(a){iUb();return new qib();}
+function iVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[613],[15],[a],null);}
+function jVb(a){iUb();return new yib();}
+function kVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[607],[10],[a],null);}
+function lVb(a){iUb();return new Eib();}
+function mVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[629],[31],[a],null);}
+function nVb(a){iUb();return new hjb();}
+function oVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[21],[a],null);}
+function pVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[618],[20],[a],null);}
+function qVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[617],[19],[a],null);}
+function rVb(a){iUb();return new vjb();}
+function sVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[616],[18],[a],null);}
+function tVb(a){iUb();return new Cjb();}
+function uVb(a){iUb();return gkb(new ekb());}
+function vVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[630],[32],[a],null);}
+function wVb(a){iUb();return new ykb();}
+function xVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[609],[12],[a],null);}
+function yVb(a){iUb();return new vKb();}
+function zVb(a){iUb();return new CKb();}
+function AVb(a){iUb();return gLb(new eLb());}
+function BVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[614],[16],[a],null);}
+function CVb(a){iUb();return new oLb();}
+function DVb(a){iUb();return new oWb();}
+function EVb(a){iUb();return new uWb();}
+function FVb(a){iUb();return new BXb();}
+function aWb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[615],[17],[a],null);}
+function bWb(a){iUb();return new bYb();}
+function cWb(a){iUb();return new hYb();}
+function dWb(a){iUb();return new nYb();}
+function eWb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[612],[14],[a],null);}
+function fWb(a){iUb();return new tYb();}
+function gWb(a){iUb();return new AYb();}
+function hWb(c,a,d){var b=kWb[d];if(!b){lWb(d);}b[1](c,a);}
+function iWb(b){var a=nWb[b];return a==null?b:a;}
+function jWb(b,c){var a=kWb[c];if(!a){lWb(c);}return a[0](b);}
+function lWb(a){iUb();throw pl(new ol(),a);}
+function mWb(c,a,d){var b=kWb[d];if(!b){lWb(d);}b[2](c,a);}
+function gUb(){}
+_=gUb.prototype=new uT();_.ib=hWb;_.bc=iWb;_.nc=jWb;_.ie=mWb;_.tN=Dfc+'RepositoryService_TypeSerializer';_.tI=483;var kWb,nWb;function oWb(){}
+_=oWb.prototype=new uT();_.tN=Dfc+'RuleAsset';_.tI=484;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function sWb(b,a){a.a=b.zd();a.b=Fb(b.Dd(),39);a.c=b.zd();a.d=Fb(b.Dd(),93);a.e=b.Ed();}
+function tWb(b,a){b.bf(a.a);b.ff(a.b);b.bf(a.c);b.ff(a.d);b.gf(a.e);}
+function uWb(){}
+_=uWb.prototype=new uT();_.tN=Dfc+'RuleContentText';_.tI=485;_.a=null;function yWb(b,a){a.a=b.Ed();}
+function zWb(b,a){b.gf(a.a);}
+function jXb(){jXb=s2;nXb=pXb(new oXb());}
+function gXb(a){jXb();return a;}
+function hXb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.SecurityService');nn(a,'getCurrentUser');ln(a,0);}
+function iXb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.SecurityService');nn(b,'login');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
+function kXb(h,c){var a,d,e,f,g;f=zn(new yn(),nXb);g=no(new lo(),nXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{hXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Dc(d);return;}else throw a;}e=DWb(new CWb(),h,f,c);if(!wg(h.a,uo(g),e))c.Dc(bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lXb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),nXb);h=no(new lo(),nXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{iXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=cXb(new bXb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mXb(b,a){b.a=a;}
+function BWb(){}
+_=BWb.prototype=new uT();_.tN=Dfc+'SecurityService_Proxy';_.tI=486;_.a=null;var nXb;function DWb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FWb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else g.a.Dc(c);}
+function aXb(a){var b;b=x;FWb(this,a);}
+function CWb(){}
+_=CWb.prototype=new uT();_.Ac=aXb;_.tN=Dfc+'SecurityService_Proxy$1';_.tI=487;function cXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function eXb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=yR(new xR(),Dn(g.b));}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)n5(g.a,f);else gcb(g.a,c);}
+function fXb(a){var b;b=x;eXb(this,a);}
+function bXb(){}
+_=bXb.prototype=new uT();_.Ac=fXb;_.tN=Dfc+'SecurityService_Proxy$2';_.tI=488;function qXb(){qXb=s2;xXb=rXb();AXb=sXb();}
+function pXb(a){qXb();return a;}
+function rXb(){qXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return tXb(a);},function(a,b){Ek(a,b);},function(a,b){Fk(a,b);}],'java.lang.String/2004016611':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}]};}
+function sXb(){qXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
+function tXb(a){qXb();return Ak(new zk());}
+function uXb(c,a,d){var b=xXb[d];if(!b){yXb(d);}b[1](c,a);}
+function vXb(b){var a=AXb[b];return a==null?b:a;}
+function wXb(b,c){var a=xXb[c];if(!a){yXb(c);}return a[0](b);}
+function yXb(a){qXb();throw pl(new ol(),a);}
+function zXb(c,a,d){var b=xXb[d];if(!b){yXb(d);}b[2](c,a);}
+function oXb(){}
+_=oXb.prototype=new uT();_.ib=uXb;_.bc=vXb;_.nc=wXb;_.ie=zXb;_.tN=Dfc+'SecurityService_TypeSerializer';_.tI=489;var xXb,AXb;function BXb(){}
+_=BXb.prototype=new fl();_.tN=Dfc+'SessionExpiredException';_.tI=490;function FXb(b,a){jl(b,a);}
+function aYb(b,a){ll(b,a);}
+function bYb(){}
+_=bYb.prototype=new uT();_.tN=Dfc+'SnapshotInfo';_.tI=491;_.a=null;_.b=null;_.c=null;function fYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
+function gYb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
+function hYb(){}
+_=hYb.prototype=new uT();_.tN=Dfc+'TableConfig';_.tI=492;_.a=null;_.b=0;function lYb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Bd();}
+function mYb(b,a){b.ff(a.a);b.df(a.b);}
+function nYb(){}
+_=nYb.prototype=new uT();_.tN=Dfc+'TableDataResult';_.tI=493;_.a=null;function rYb(b,a){a.a=Fb(b.Dd(),94);}
+function sYb(b,a){b.ff(a.a);}
+function zYb(a){return tU(a,'\\,')[0];}
+function tYb(){}
+_=tYb.prototype=new uT();_.tN=Dfc+'TableDataRow';_.tI=494;_.a=null;_.b=null;_.c=null;function xYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=Fb(b.Dd(),63);}
+function yYb(b,a){b.gf(a.a);b.gf(a.b);b.ff(a.c);}
+function AYb(){}
+_=AYb.prototype=new uT();_.tN=Dfc+'ValidatedResponse';_.tI=495;_.a=null;_.b=null;_.c=false;_.d=null;function EYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.zd();a.d=Fb(b.Dd(),39);}
+function FYb(b,a){b.gf(a.a);b.gf(a.b);b.bf(a.c);b.ff(a.d);}
+function o0b(a){a.e=lt(new ft());}
+function p0b(j,b,c,a,f,d,g){var e,h,i;o0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=dz(new hw());i=j.f.r;e=ot(j.e);h=Fz(new Dz());w0b(j,i);aA(h,j.g);if(!g){s0b(j,e,h);}y0b(j,f,e);gr(j,j.e);j.Be('100%');return j;}
+function r0b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
+function s0b(h,e,g){var a,b,c,d,f;d=lcb(new kcb(),'images/edit.gif');d.te('Change status.');fB(d,kZb(new bZb(),h));aA(g,d);h.e.ze(0,0,g);Bw(e,0,0,(oz(),qz),(xz(),Az));f=qp(new kp(),'Save changes');f.te('Check in changes.');f.x(oZb(new nZb(),h));aA(g,f);b=qp(new kp(),'Copy');b.x(sZb(new rZb(),h));aA(g,b);a=qp(new kp(),'Archive');a.x(wZb(new vZb(),h));aA(g,a);if(h.f.v==0){c=qp(new kp(),'Delete');c.x(AZb(new zZb(),h));aA(g,c);}}
+function t0b(b,c){var a;a=C1b(new x1b(),lN(c),mN(c),'Check in changes.');F1b(a,dZb(new cZb(),b,a));a2b(a);}
+function u0b(e,f){var a,b,c,d;a=acb(new Bbb(),'images/rule_asset.gif','Copy this item');b=zK(new kK());c=odb(new jdb());bcb(a,'New name:',b);bcb(a,'New package:',c);d=qp(new kp(),'Create copy');d.x(g0b(new f0b(),e,c,b,a));bcb(a,'',d);lE(a,dc((cab()-gE(a))/2),100);oE(a);}
+function v0b(b,a){b.c=a;}
+function w0b(b,a){hz(b.g,'Status: <b>['+a+']<\/b>');}
+function x0b(b,c){var a;a=ieb(new sdb(),b.h,false);leb(a,hZb(new gZb(),b,a));lE(a,lN(c),mN(c));oE(a);}
+function y0b(e,d,b){var a,c,f;f=Fz(new Dz());c=lcb(new kcb(),'images/max_min.gif');fB(c,EZb(new DZb(),e,d));aA(f,c);a=lcb(new kcb(),'images/close.gif');a.te('Close.');fB(a,c0b(new b0b(),e));aA(f,a);e.e.ze(0,1,f);Bw(b,0,1,(oz(),rz),(xz(),Az));}
+function aZb(){}
+_=aZb.prototype=new er();_.tN=Efc+'ActionToolbar';_.tI=496;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function kZb(b,a){b.a=a;return b;}
+function mZb(a){x0b(this.a,a);}
+function bZb(){}
+_=bZb.prototype=new uT();_.zc=mZb;_.tN=Efc+'ActionToolbar$1';_.tI=497;function dZb(b,a,c){b.a=a;b.b=c;return b;}
+function fZb(){this.a.f.b=E1b(this.b);e9b(this.a.b);}
+function cZb(){}
+_=cZb.prototype=new uT();_.pb=fZb;_.tN=Efc+'ActionToolbar$10';_.tI=498;function hZb(b,a,c){b.a=a;b.b=c;return b;}
+function jZb(){w0b(this.a,this.b.c);}
+function gZb(){}
+_=gZb.prototype=new uT();_.pb=jZb;_.tN=Efc+'ActionToolbar$11';_.tI=499;function oZb(b,a){b.a=a;return b;}
+function qZb(a){t0b(this.a,a);}
+function nZb(){}
+_=nZb.prototype=new uT();_.zc=qZb;_.tN=Efc+'ActionToolbar$2';_.tI=500;function sZb(b,a){b.a=a;return b;}
+function uZb(a){u0b(this.a,a);}
+function rZb(){}
+_=rZb.prototype=new uT();_.zc=uZb;_.tN=Efc+'ActionToolbar$3';_.tI=501;function wZb(b,a){b.a=a;return b;}
+function yZb(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+qZ(iZ(new hZ()));j9b(this.a.a);}}
+function vZb(){}
+_=vZb.prototype=new uT();_.zc=yZb;_.tN=Efc+'ActionToolbar$4';_.tI=502;function AZb(b,a){b.a=a;return b;}
+function CZb(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){t9b(this.a.d);}}
+function zZb(){}
+_=zZb.prototype=new uT();_.zc=CZb;_.tN=Efc+'ActionToolbar$5';_.tI=503;function EZb(b,a,c){b.a=c;return b;}
+function a0b(a){o9b(this.a);}
+function DZb(){}
+_=DZb.prototype=new uT();_.zc=a0b;_.tN=Efc+'ActionToolbar$6';_.tI=504;function c0b(b,a){b.a=a;return b;}
+function e0b(a){D9b(this.a.c);}
+function b0b(){}
+_=b0b.prototype=new uT();_.zc=e0b;_.tN=Efc+'ActionToolbar$7';_.tI=505;function g0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
+function i0b(a){hTb(BLb(),this.a.h,qdb(this.d),rK(this.c),k0b(new j0b(),this,this.c,this.d,this.b));}
+function f0b(){}
+_=f0b.prototype=new uT();_.zc=i0b;_.tN=Efc+'ActionToolbar$8';_.tI=506;function k0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
+function m0b(b,a){r0b(b.a.a,rK(b.c),qdb(b.d));b.b.lc();}
+function n0b(a){m0b(this,a);}
+function j0b(){}
+_=j0b.prototype=new ecb();_.pd=n0b;_.tN=Efc+'ActionToolbar$9';_.tI=507;function o1b(a){a.b=hab(new fab());}
+function p1b(c,a,b){o1b(c);c.a=a;c.c=lt(new ft());u1b(c,c.c);uN(c.c,'rule-List');kab(c.b,0,0,c.c);if(!b){s1b(c);}gr(c,c.b);return c;}
+function q1b(b,a){hLb(b.a,a);w1b(b);}
+function s1b(c){var a,b;a=hO(new fO());b=lcb(new kcb(),'images/new_item.gif');b.te('Add a new category.');fB(b,d1b(new c1b(),c));iO(a,b);kab(c.b,0,1,a);}
+function t1b(b){var a;a=m1b(new k1b(),b);lE(a,lN(b),mN(b));oE(a);}
+function u1b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;yy(d,b,0,e.a.a[b]);a=lcb(new kcb(),'images/trash.gif');a.te('Remove this category');fB(a,h1b(new g1b(),e,c));d.ze(b,1,a);}}
+function v1b(b,a){jLb(b.a,a);aab(b);w1b(b);}
+function w1b(a){a.c=lt(new ft());uN(a.c,'rule-List');kab(a.b,0,0,a.c);u1b(a,a.c);aab(a);}
+function z0b(){}
+_=z0b.prototype=new E_();_.tN=Efc+'AssetCategoryEditor';_.tI=508;_.a=null;_.c=null;function B0b(b,a){b.a=a;return b;}
+function D0b(a){this.a.b=a;}
+function A0b(){}
+_=A0b.prototype=new uT();_.he=D0b;_.tN=Efc+'AssetCategoryEditor$1';_.tI=509;function F0b(b,a){b.a=a;return b;}
+function b1b(a){if(this.a.b!==null&& !nU('',this.a.b)){q1b(this.a.d,this.a.b);}this.a.lc();}
+function E0b(){}
+_=E0b.prototype=new uT();_.zc=b1b;_.tN=Efc+'AssetCategoryEditor$2';_.tI=510;function d1b(b,a){b.a=a;return b;}
+function f1b(a){t1b(this.a);}
+function c1b(){}
+_=c1b.prototype=new uT();_.zc=f1b;_.tN=Efc+'AssetCategoryEditor$3';_.tI=511;function h1b(b,a,c){b.a=a;b.b=c;return b;}
+function j1b(a){v1b(this.a,this.b);}
+function g1b(){}
+_=g1b.prototype=new uT();_.zc=j1b;_.tN=Efc+'AssetCategoryEditor$4';_.tI=512;function n1b(){n1b=s2;eE();}
+function l1b(a){a.a=qp(new kp(),'OK');}
+function m1b(b,a){var c;n1b();b.d=a;bE(b,true);l1b(b);c=hO(new fO());b.c=s$(new b$(),B0b(new A0b(),b));uN(b,'ks-popups-Popup');iO(c,b.c);iO(c,b.a);CG(b,c);b.a.x(F0b(new E0b(),b));return b;}
+function k1b(){}
+_=k1b.prototype=new FD();_.tN=Efc+'AssetCategoryEditor$CategorySelector';_.tI=513;_.b=null;_.c=null;function C1b(c,a,d,b){c.b=acb(new Bbb(),'images/checkin.gif',b);c.a=eK(new dK());c.a.Be('100%');c.c=qp(new kp(),'Save');bcb(c.b,'Comment',c.a);bcb(c.b,'',c.c);uN(c.b,'ks-popups-Popup');lE(c.b,a,d);return c;}
+function E1b(a){return rK(a.a);}
+function F1b(b,a){b.c.x(z1b(new y1b(),b,a));}
+function a2b(a){lE(a.b,dc((cab()-gE(a.b))/2),100);oE(a.b);}
+function x1b(){}
+_=x1b.prototype=new uT();_.tN=Efc+'CheckinPopup';_.tI=514;_.a=null;_.b=null;_.c=null;function z1b(b,a,c){b.a=a;b.b=c;return b;}
+function B1b(a){this.b.pb();this.a.b.lc();}
+function y1b(){}
+_=y1b.prototype=new uT();_.zc=B1b;_.tN=Efc+'CheckinPopup$1';_.tI=515;function x2b(){x2b=s2;eE();}
+function v2b(g,f,e){var a,b,c,d;x2b();bE(g,true);g.d=f;g.b=zK(new kK());g.b.Be('100%');b='<enter text to filter list>';vK(g.b,'<enter text to filter list>');gu(g.b,d2b(new c2b(),g));oK(g.b,i2b(new h2b(),g,e));g.b.oe(true);d=hO(new fO());iO(d,g.b);g.c=mC(new eC());CC(g.c,5);z2b(g,u4b(g.d,''));iO(d,g.c);c=qp(new kp(),'ok');c.x(o2b(new n2b(),g,e));a=qp(new kp(),'cancel');a.x(s2b(new r2b(),g));g.a=Fz(new Dz());aA(g.a,c);aA(g.a,a);iO(d,g.a);CG(g,d);uN(g,'ks-popups-Popup');return g;}
+function w2b(b,a){n3b(a,y2b(b));b.lc();}
+function y2b(a){return vC(a.c,wC(a.c));}
+function z2b(c,a){var b;sC(c.c);for(b=0;b<a.b;b++){pC(c.c,Fb(dY(a,b),10).a);}}
+function b2b(){}
+_=b2b.prototype=new FD();_.tN=Efc+'ChoiceList';_.tI=516;_.a=null;_.b=null;_.c=null;_.d=null;function d2b(b,a){b.a=a;return b;}
+function f2b(a){vK(this.a.b,'');}
+function g2b(a){vK(this.a.b,'<enter text to filter list>');}
+function c2b(){}
+_=c2b.prototype=new uT();_.Ec=f2b;_.gd=g2b;_.tN=Efc+'ChoiceList$1';_.tI=517;function i2b(b,a,c){b.a=a;b.b=c;return b;}
+function k2b(a,b,c){}
+function l2b(a,b,c){}
+function m2b(a,b,c){if(b==13){w2b(this.a,this.b);}else{z2b(this.a,u4b(this.a.d,rK(this.a.b)));}}
+function h2b(){}
+_=h2b.prototype=new uT();_.cd=k2b;_.dd=l2b;_.ed=m2b;_.tN=Efc+'ChoiceList$2';_.tI=518;function o2b(b,a,c){b.a=a;b.b=c;return b;}
+function q2b(a){w2b(this.a,this.b);}
+function n2b(){}
+_=n2b.prototype=new uT();_.zc=q2b;_.tN=Efc+'ChoiceList$3';_.tI=519;function s2b(b,a){b.a=a;return b;}
+function u2b(a){this.a.lc();}
+function r2b(){}
+_=r2b.prototype=new uT();_.zc=u2b;_.tN=Efc+'ChoiceList$4';_.tI=520;function l3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=eK(new dK());jK(i.d,10);vK(i.d,i.c.a);i.d.te('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=rKb((pKb(),uKb),a.d.o);i.a=c.a;i.b=c.b;uN(i.d,'dsl-text-Editor');d=lt(new ft());d.ze(0,0,i.d);nK(i.d,C2b(new B2b(),i));oK(i.d,a3b(new F2b(),i));j=hO(new fO());e=lcb(new kcb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.te('Add a new condition');fB(e,e3b(new d3b(),i));h=lcb(new kcb(),'images/new_dsl_action.gif');g='Add an action';h.te('Add an action');fB(h,i3b(new h3b(),i));iO(j,e);iO(j,h);d.ze(0,1,j);bx(d.n,0,0,'95%');bx(d.n,0,1,'5%');d.Be('100%');d.qe('100%');gr(i,d);return i;}
+function n3b(e,b){var a,c,d;a=gK(e.d);c=xU(rK(e.d),0,a);d=xU(rK(e.d),a,rU(rK(e.d)));vK(e.d,c+b+d);e.c.a=rK(e.d);}
+function o3b(b){var a;a=xU(rK(b.d),0,gK(b.d));if(pU(a,'then')>(-1)){p3b(b,b.a);}else{p3b(b,b.b);}}
+function p3b(c,b){var a;a=v2b(new b2b(),b,c);lE(a,lN(c.d)+20,mN(c.d)+20);oE(a);}
+function A2b(){}
+_=A2b.prototype=new E_();_.tN=Efc+'DSLRuleEditor';_.tI=521;_.a=null;_.b=null;_.c=null;_.d=null;function C2b(b,a){b.a=a;return b;}
+function E2b(a){this.a.c.a=rK(this.a.d);aab(this.a);}
+function B2b(){}
+_=B2b.prototype=new uT();_.yc=E2b;_.tN=Efc+'DSLRuleEditor$1';_.tI=522;function a3b(b,a){b.a=a;return b;}
+function c3b(a,b,c){if(b==32&&c==2){o3b(this.a);}if(b==9){n3b(this.a,'\t');sK(this.a.d,gK(this.a.d)+1);pK(this.a.d);}}
+function F2b(){}
+_=F2b.prototype=new mB();_.cd=c3b;_.tN=Efc+'DSLRuleEditor$2';_.tI=523;function e3b(b,a){b.a=a;return b;}
+function g3b(a){p3b(this.a,this.a.b);}
+function d3b(){}
+_=d3b.prototype=new uT();_.zc=g3b;_.tN=Efc+'DSLRuleEditor$3';_.tI=524;function i3b(b,a){b.a=a;return b;}
+function k3b(a){p3b(this.a,this.a.a);}
+function h3b(){}
+_=h3b.prototype=new uT();_.zc=k3b;_.tN=Efc+'DSLRuleEditor$4';_.tI=525;function z3b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=eK(new dK());jK(b.c,10);vK(b.c,b.b.a);uN(b.c,'default-text-Area');nK(b.c,s3b(new r3b(),b));oK(b.c,w3b(new v3b(),b));gr(b,b.c);return b;}
+function B3b(e,b){var a,c,d;a=gK(e.c);c=xU(rK(e.c),0,a);d=xU(rK(e.c),a,rU(rK(e.c)));vK(e.c,c+b+d);e.b.a=rK(e.c);}
+function q3b(){}
+_=q3b.prototype=new E_();_.tN=Efc+'DefaultRuleContentWidget';_.tI=526;_.a=null;_.b=null;_.c=null;function s3b(b,a){b.a=a;return b;}
+function u3b(a){this.a.b.a=rK(this.a.c);aab(this.a);}
+function r3b(){}
+_=r3b.prototype=new uT();_.yc=u3b;_.tN=Efc+'DefaultRuleContentWidget$1';_.tI=527;function w3b(b,a){b.a=a;return b;}
+function y3b(a,b,c){if(b==9){B3b(this.a,'\t');sK(this.a.c,gK(this.a.c)+1);pK(this.a.c);}}
+function v3b(){}
+_=v3b.prototype=new mB();_.cd=y3b;_.tN=Efc+'DefaultRuleContentWidget$2';_.tI=528;function l4b(){l4b=s2;m4b=p4b();}
+function n4b(a){l4b();var b;b=Fb(F0(m4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
+function o4b(a,b){l4b();if(nU(a.d.k,'brl')){return m8b(new z7b(),cwb(new Dtb(),a),a);}else if(nU(a.d.k,'dslr')){return m8b(new z7b(),l3b(new A2b(),a),a);}else if(nU(a.d.k,'jar')){return Dxb(new Cxb(),a,b);}else if(nU(a.d.k,'xls')){return m8b(new z7b(),hfb(new gfb(),a,b),a);}else if(nU(a.d.k,'rf')){return v7b(new u7b(),a,b);}else if(nU(a.d.k,'drl')){return m8b(new z7b(),z3b(new q3b(),a),a);}else if(nU(a.d.k,'enumeration')){return m8b(new z7b(),z3b(new q3b(),a),a);}else{return z3b(new q3b(),a);}}
+function p4b(){l4b();var a;a=z0(new DZ());a1(a,'drl','technical_rule_assets.gif');a1(a,'dsl','dsl.gif');a1(a,'function','function_assets.gif');a1(a,'jar','model_asset.gif');a1(a,'xls','spreadsheet_small.gif');a1(a,'brl','business_rule.gif');a1(a,'dslr','business_rule.gif');a1(a,'rf','ruleflow_small.gif');return a;}
+function q4b(d,f,g,e,a){l4b();var b,c,h;h=m$b(new u8b(),a,e);b=a.d.n;if(rU(b)>10){b=xU(b,0,7)+'...';}c=n4b(a.d.k);tJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(CY(),DY)){a1(d,g,h);}v$b(h,h4b(new g4b(),f,h,d,g));zJ(f,vJ(f,h));}
+function r4b(b,d,e,c){l4b();var a;if(C0(b,e)){if(vJ(d,Fb(F0(b,e),13))==(-1)){a=ac(wJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{zJ(d,vJ(d,Fb(F0(b,e),13)));}bdb();return;}yTb(BLb(),e,E3b(new D3b(),b,d,e,c));}
+var m4b;function E3b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
+function a4b(c){var a,b;a=Fb(c,97);b=(pKb(),uKb);qKb(b,a.d.o,c4b(new b4b(),this,this.a,this.c,this.d,this.b,a));}
+function D3b(){}
+_=D3b.prototype=new ecb();_.pd=a4b;_.tN=Efc+'EditorLauncher$1';_.tI=529;function c4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
+function e4b(a){q4b(a.b,a.d,a.e,a.c,a.a);}
+function f4b(){e4b(this);}
+function b4b(){}
+_=b4b.prototype=new uT();_.pb=f4b;_.tN=Efc+'EditorLauncher$2';_.tI=530;function h4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
+function j4b(a){yJ(a.b,vJ(a.b,a.d));zJ(a.b,0);if(a.a!==(CY(),DY)){b1(a.a,a.c);}}
+function k4b(){j4b(this);}
+function g4b(){}
+_=g4b.prototype=new uT();_.pb=k4b;_.tN=Efc+'EditorLauncher$3';_.tI=531;function u4b(e,a){var b,c,d;b=CX(new AX());for(c=0;c<e.a;c++){d=e[c];if(nU(a,'')||vU(d.a,a)){EX(b,d);}}return b;}
+function j6b(e,a,c,f,d){var b;qbb(e);uN(e,'metadata-Widget');if(!c){b=mcb(new kcb(),'images/edit.gif','Rename this asset');fB(b,a5b(new w4b(),e));ubb(e,'images/meta_data.png',a.n,b);}else{tbb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;o6b(e,a);return e;}
+function k6b(a){a.b=p1b(new z0b(),a.a,a.c);return a.b;}
+function m6b(d,a,e){var b,c;if(!d.c){b=zK(new kK());b.te(e);vK(b,a.ec());c=D4b(new C4b(),d,a,b);nK(b,c);return b;}else{return CB(new AB(),a.ec());}}
+function n6b(a){if(a.a.v==0){return ez(new hw(),'<i>Not checked in yet<\/i>');}else{return r6b(a,aT(a.a.v));}}
+function o6b(b,a){b.a=a;sbb(b,'Categories:',k6b(b));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Modified on:',q6b(b,b.a.m));sbb(b,'by:',r6b(b,b.a.l));sbb(b,'Note:',r6b(b,b.a.b));sbb(b,'Version:',n6b(b));if(!b.c){sbb(b,'Created on:',q6b(b,b.a.d));}sbb(b,'Created by:',r6b(b,b.a.e));sbb(b,'Format:',ez(new hw(),'<b>'+b.a.k+'<\/b>'));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Package:',p6b(b,b.a.o));sbb(b,'Subject:',m6b(b,e5b(new d5b(),b),'A short description of the subject matter.'));sbb(b,'Type:',m6b(b,j5b(new i5b(),b),'This is for classification purposes.'));sbb(b,'External link:',m6b(b,o5b(new n5b(),b),'This is for relating the asset to an external system.'));sbb(b,'Source:',m6b(b,t5b(new s5b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){vbb(b,q_b(new x$b(),b.e,b.a,b.d));}}
+function p6b(d,c){var a,b;if(d.c){return r6b(d,c);}else{b=Fz(new Dz());uN(b,'metadata-Widget');aA(b,r6b(d,c));a=lcb(new kcb(),'images/edit.gif');fB(a,y5b(new x5b(),d,c));aA(b,a);return b;}}
+function q6b(b,a){if(a===null){return null;}else{return CB(new AB(),pZ(a));}}
+function r6b(c,b){var a;a=CB(new AB(),b);a.Be('100%');return a;}
+function s6b(f,b,e){var a,c,d;c=acb(new Bbb(),'images/package_large.png','Move this item to another package');bcb(c,'Current package:',CB(new AB(),b));d=odb(new jdb());bcb(c,'New package:',d);a=qp(new kp(),'Change package');bcb(c,'',a);a.x(f6b(new e6b(),f,d,b,c));lE(c,lN(e.v.v),mN(e.v.v));oE(c);}
+function t6b(e,d){var a,b,c;c=acb(new Bbb(),'images/package_large.png','Rename this item');a=zK(new kK());bcb(c,'New name',a);b=qp(new kp(),'Rename item');bcb(c,'',b);b.x(C5b(new B5b(),e,a,c));lE(c,lN(d.v.v)-18,mN(d.v.v));oE(c);}
+function u6b(){return this.b.pc()||this.j;}
+function v4b(){}
+_=v4b.prototype=new obb();_.pc=u6b;_.tN=Efc+'MetaDataWidget';_.tI=532;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function a5b(b,a){b.a=a;return b;}
+function c5b(a){t6b(this.a,a);}
+function w4b(){}
+_=w4b.prototype=new uT();_.zc=c5b;_.tN=Efc+'MetaDataWidget$1';_.tI=533;function y4b(b,a,c){b.a=a;b.b=c;return b;}
+function A4b(b,a){aab(b.a.a);y9b(b.a.a.d);b.b.lc();}
+function B4b(a){A4b(this,a);}
+function x4b(){}
+_=x4b.prototype=new ecb();_.pd=B4b;_.tN=Efc+'MetaDataWidget$10';_.tI=534;function D4b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function F4b(a){aab(this.a);this.b.xe(rK(this.c));}
+function C4b(){}
+_=C4b.prototype=new uT();_.yc=F4b;_.tN=Efc+'MetaDataWidget$11';_.tI=535;function e5b(b,a){b.a=a;return b;}
+function g5b(){return this.a.a.s;}
+function h5b(a){this.a.a.s=a;}
+function d5b(){}
+_=d5b.prototype=new uT();_.ec=g5b;_.xe=h5b;_.tN=Efc+'MetaDataWidget$2';_.tI=536;function j5b(b,a){b.a=a;return b;}
+function l5b(){return this.a.a.u;}
+function m5b(a){this.a.a.u=a;}
+function i5b(){}
+_=i5b.prototype=new uT();_.ec=l5b;_.xe=m5b;_.tN=Efc+'MetaDataWidget$3';_.tI=537;function o5b(b,a){b.a=a;return b;}
+function q5b(){return this.a.a.i;}
+function r5b(a){this.a.a.i=a;}
+function n5b(){}
+_=n5b.prototype=new uT();_.ec=q5b;_.xe=r5b;_.tN=Efc+'MetaDataWidget$4';_.tI=538;function t5b(b,a){b.a=a;return b;}
+function v5b(){return this.a.a.j;}
+function w5b(a){this.a.a.j=a;}
+function s5b(){}
+_=s5b.prototype=new uT();_.ec=v5b;_.xe=w5b;_.tN=Efc+'MetaDataWidget$5';_.tI=539;function y5b(b,a,c){b.a=a;b.b=c;return b;}
+function A5b(a){s6b(this.a,this.b,a);}
+function x5b(){}
+_=x5b.prototype=new uT();_.zc=A5b;_.tN=Efc+'MetaDataWidget$6';_.tI=540;function C5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function E5b(a){aUb(BLb(),this.a.e,rK(this.b),a6b(new F5b(),this,this.c));}
+function B5b(){}
+_=B5b.prototype=new uT();_.zc=E5b;_.tN=Efc+'MetaDataWidget$7';_.tI=541;function a6b(b,a,c){b.a=a;b.b=c;return b;}
+function c6b(b,a){y9b(b.a.a.d);zh('Item has been renamed');b.b.lc();}
+function d6b(a){c6b(this,a);}
+function F5b(){}
+_=F5b.prototype=new ecb();_.pd=d6b;_.tN=Efc+'MetaDataWidget$8';_.tI=542;function f6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function h6b(a){if(nU(qdb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}dTb(BLb(),this.a.e,qdb(this.d),'Moved from : '+this.b,y4b(new x4b(),this,this.c));}
+function e6b(){}
+_=e6b.prototype=new uT();_.zc=h6b;_.tN=Efc+'MetaDataWidget$9';_.tI=543;function g7b(){g7b=s2;dcb();}
+function d7b(a){a.f=zK(new kK());a.b=eK(new dK());a.d=i7b(a);a.g=odb(new jdb());}
+function e7b(e,a,d,b,f){var c;g7b();acb(e,'images/new_wiz.gif',f);d7b(e);e.h=d;e.c=b;e.a=a;bcb(e,'Name:',e.f);if(d){bcb(e,'Initial category:',h7b(e));}if(b===null){bcb(e,'Type (format) of rule:',e.d);}bcb(e,'Package:',e.g);jK(e.b,4);e.b.Be('100%');bcb(e,'Initial description:',e.b);c=qp(new kp(),'OK');c.x(x6b(new w6b(),e));bcb(e,'',c);uN(e,'ks-popups-Popup');return e;}
+function f7b(e,b,d,c,f,a){g7b();e7b(e,b,d,c,f);rdb(e.g,a);return e;}
+function h7b(a){return s$(new b$(),B6b(new A6b(),a));}
+function j7b(a){if(a.c!==null)return a.c;return xC(a.d,wC(a.d));}
+function i7b(b){var a;a=mC(new eC());qC(a,'Business rule (using guided editor)','brl');qC(a,'DRL rule (technical rule - text editor)','drl');qC(a,'Business rule using a DSL (text editor)','dslr');qC(a,'Decision table (spreadsheet)','xls');BC(a,0);return a;}
+function k7b(b){var a;if(b.h&&b.e===null){Aeb('You have to pick an initial category.',lN(b),mN(b));return;}else if(rK(b.f)===null||nU('',rK(b.f))){Aeb('Rule must have a name',lN(b),mN(b));return;}a=F6b(new E6b(),b);fdb('Please wait ...');lTb(BLb(),rK(b.f),rK(b.b),b.e,qdb(b.g),j7b(b),a);}
+function l7b(a,b){a.a.wd(b);}
+function v6b(){}
+_=v6b.prototype=new Bbb();_.tN=Efc+'NewAssetWizard';_.tI=544;_.a=null;_.c=null;_.e=null;_.h=false;function x6b(b,a){b.a=a;return b;}
+function z6b(a){k7b(this.a);}
+function w6b(){}
+_=w6b.prototype=new uT();_.zc=z6b;_.tN=Efc+'NewAssetWizard$1';_.tI=545;function B6b(b,a){b.a=a;return b;}
+function D6b(a){this.a.e=a;}
+function A6b(){}
+_=A6b.prototype=new uT();_.he=D6b;_.tN=Efc+'NewAssetWizard$2';_.tI=546;function F6b(b,a){b.a=a;return b;}
+function b7b(b,a){var c;c=Fb(a,1);if(vU(c,'DUPLICATE')){bdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{l7b(b.a,Fb(a,1));b.a.lc();}}
+function c7b(a){b7b(this,a);}
+function E6b(){}
+_=E6b.prototype=new ecb();_.pd=c7b;_.tN=Efc+'NewAssetWizard$3';_.tI=547;function r7b(b,a){b.a=eK(new dK());b.a.Be('100%');jK(b.a,10);uN(b.a,'rule-viewer-Documentation');b.a.te('This is rule documentation. Human friendly descriptions of the business logic.');gr(b,b.a);t7b(b,a);return b;}
+function t7b(b,a){vK(b.a,a.h);nK(b.a,o7b(new n7b(),b,a));if(a.h===null||nU('',a.h)){vK(b.a,'<documentation>');}}
+function m7b(){}
+_=m7b.prototype=new E_();_.tN=Efc+'RuleDocumentWidget';_.tI=548;_.a=null;function o7b(b,a,c){b.a=a;b.b=c;return b;}
+function q7b(a){this.b.h=rK(this.a.a);aab(this.a);}
+function n7b(){}
+_=n7b.prototype=new uT();_.yc=q7b;_.tN=Efc+'RuleDocumentWidget$1';_.tI=549;function v7b(b,a,c){fxb(b,a,c);gxb(b,ez(new hw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
+function x7b(){return 'images/ruleflow_large.png';}
+function y7b(){return 'decision-Table-upload';}
+function u7b(){}
+_=u7b.prototype=new xwb();_.vb=x7b;_.Eb=y7b;_.tN=Efc+'RuleFlowUploadWidget';_.tI=550;function m8b(c,b,a){c.a=a;c.b=hab(new fab());uN(c.b,'asset-editor-Layout');kab(c.b,0,0,b);if(!a.c)kab(c.b,1,0,s8b(c));Bw(c.b.n,1,0,(oz(),rz),(xz(),Az));c.b.Be('100%');c.b.qe('100%');gr(c,c.b);return c;}
+function o8b(a){fdb('Validating item, please wait...');aTb(BLb(),a.a,d8b(new c8b(),a));}
+function p8b(a){fdb('Calculating source...');FSb(BLb(),a.a,i8b(new h8b(),a));}
+function q8b(h,e){var a,b,c,d,f,g;c=acb(new Bbb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){ccb(c,ez(new hw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=lt(new ft());uN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ze(f,0,eB(new oA(),'images/error.gif'));if(nU(d.a,'package')){yy(a,f,1,'[package configuration problem] '+d.c);}else{yy(a,f,1,d.c);}}g=oG(new mG(),a);g.Be('100%');ccb(c,g);}lE(c,100,100);oE(c);bdb();}
+function r8b(b,a){eBb(a,b.a.d.n);bdb();}
+function s8b(b){var a,c,d;a=Fz(new Dz());d=qp(new kp(),'View source');aA(a,d);c=qp(new kp(),'Validate');aA(a,c);d.x(B7b(new A7b(),b));c.x(F7b(new E7b(),b));uN(a,'asset-validator-Buttons');return a;}
+function t8b(){return jab(this.b);}
+function z7b(){}
+_=z7b.prototype=new E_();_.pc=t8b;_.tN=Efc+'RuleValidatorWrapper';_.tI=551;_.a=null;_.b=null;function B7b(b,a){b.a=a;return b;}
+function D7b(a){p8b(this.a);}
+function A7b(){}
+_=A7b.prototype=new uT();_.zc=D7b;_.tN=Efc+'RuleValidatorWrapper$1';_.tI=552;function F7b(b,a){b.a=a;return b;}
+function b8b(a){o8b(this.a);}
+function E7b(){}
+_=E7b.prototype=new uT();_.zc=b8b;_.tN=Efc+'RuleValidatorWrapper$2';_.tI=553;function d8b(b,a){b.a=a;return b;}
+function f8b(c,a){var b;b=Fb(a,88);q8b(c.a,b);}
+function g8b(a){f8b(this,a);}
+function c8b(){}
+_=c8b.prototype=new ecb();_.pd=g8b;_.tN=Efc+'RuleValidatorWrapper$3';_.tI=554;function i8b(b,a){b.a=a;return b;}
+function k8b(c,a){var b;b=Fb(a,1);r8b(c.a,b);}
+function l8b(a){k8b(this,a);}
+function h8b(){}
+_=h8b.prototype=new ecb();_.pd=l8b;_.tN=Efc+'RuleValidatorWrapper$4';_.tI=555;function m$b(c,a,b){c.a=a;c.g=b;c.e=hab(new fab());s$b(c);gr(c,c.e);bdb();return c;}
+function o$b(a){a.a.a=true;p$b(a);j4b(a.b);}
+function p$b(a){by(a.e);fdb('Saving, please wait...');fTb(BLb(),a.a,f$b(new e$b(),a));}
+function q$b(e){var a,b,c,d;d=acb(new Bbb(),'images/warning-large.png','WARNING: Un-committed changes.');b=qp(new kp(),'Discard');a=qp(new kp(),'Cancel');c=Fz(new Dz());aA(c,b);aA(c,a);ccb(d,ez(new hw(),'Are you sure you want to discard changes?'));ccb(d,c);b.x(B8b(new A8b(),e,d));a.x(F8b(new E8b(),e,d));uN(d,'warning-Popup');lE(d,dc((cab()-gE(d))/2),100);oE(d);}
+function r$b(a){pTb(BLb(),a.a.e,a.a.d.o,a$b(new F9b(),a));}
+function s$b(b){var a;by(b.e);a=ot(b.e);b.h=p0b(new aZb(),b.a,c9b(new v8b(),b),h9b(new g9b(),b),m9b(new l9b(),b),r9b(new q9b(),b),b.g);kab(b.e,0,0,b.h);Bw(a,0,0,(oz(),rz),(xz(),Az));b.f=j6b(new v4b(),b.a.d,b.g,b.a.e,w9b(new v9b(),b));kab(b.e,0,1,b.f);kt(a,0,1,3);Fw(a,0,1,(xz(),Az));bx(a,0,1,'30%');b.d=o4b(b.a,b);v0b(b.h,B9b(new A9b(),b));kab(b.e,1,0,b.d);Fw(a,1,0,(xz(),Az));b.c=r7b(new m7b(),b.a.d);kab(b.e,2,0,b.c);Fw(a,2,0,(xz(),Az));}
+function t$b(a){if(c_(a.a.d.k)){fdb('Refreshing content assistance...');tKb((pKb(),uKb),a.a.d.o,new j$b());}}
+function u$b(a){yTb(BLb(),a.a.e,x8b(new w8b(),a));}
+function v$b(b,a){b.b=a;}
+function w$b(a){var b;b= !zw(ot(a.e),2,0);ax(ot(a.e),0,1,b);ax(ot(a.e),2,0,b);}
+function u8b(){}
+_=u8b.prototype=new er();_.tN=Efc+'RuleViewer';_.tI=556;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function c9b(b,a){b.a=a;return b;}
+function e9b(a){p$b(a.a);}
+function f9b(){e9b(this);}
+function v8b(){}
+_=v8b.prototype=new uT();_.pb=f9b;_.tN=Efc+'RuleViewer$1';_.tI=557;function x8b(b,a){b.a=a;return b;}
+function z8b(a){this.a.a=Fb(a,97);s$b(this.a);bdb();}
+function w8b(){}
+_=w8b.prototype=new ecb();_.pd=z8b;_.tN=Efc+'RuleViewer$10';_.tI=558;function B8b(b,a,c){b.a=a;b.b=c;return b;}
+function D8b(a){j4b(this.a.b);this.b.lc();}
+function A8b(){}
+_=A8b.prototype=new uT();_.zc=D8b;_.tN=Efc+'RuleViewer$11';_.tI=559;function F8b(b,a,c){b.a=c;return b;}
+function b9b(a){this.a.lc();}
+function E8b(){}
+_=E8b.prototype=new uT();_.zc=b9b;_.tN=Efc+'RuleViewer$12';_.tI=560;function h9b(b,a){b.a=a;return b;}
+function j9b(a){o$b(a.a);}
+function k9b(){j9b(this);}
+function g9b(){}
+_=g9b.prototype=new uT();_.pb=k9b;_.tN=Efc+'RuleViewer$2';_.tI=561;function m9b(b,a){b.a=a;return b;}
+function o9b(a){w$b(a.a);}
+function p9b(){o9b(this);}
+function l9b(){}
+_=l9b.prototype=new uT();_.pb=p9b;_.tN=Efc+'RuleViewer$3';_.tI=562;function r9b(b,a){b.a=a;return b;}
+function t9b(a){r$b(a.a);}
+function u9b(){t9b(this);}
+function q9b(){}
+_=q9b.prototype=new uT();_.pb=u9b;_.tN=Efc+'RuleViewer$4';_.tI=563;function w9b(b,a){b.a=a;return b;}
+function y9b(a){u$b(a.a);}
+function z9b(){y9b(this);}
+function v9b(){}
+_=v9b.prototype=new uT();_.pb=z9b;_.tN=Efc+'RuleViewer$5';_.tI=564;function B9b(b,a){b.a=a;return b;}
+function D9b(a){if(jab(a.a.e)){q$b(a.a);}else{j4b(a.a.b);}}
+function E9b(){D9b(this);}
+function A9b(){}
+_=A9b.prototype=new uT();_.pb=E9b;_.tN=Efc+'RuleViewer$6';_.tI=565;function a$b(b,a){b.a=a;return b;}
+function c$b(b,a){j4b(b.a.b);}
+function d$b(a){c$b(this,a);}
+function F9b(){}
+_=F9b.prototype=new ecb();_.pd=d$b;_.tN=Efc+'RuleViewer$7';_.tI=566;function f$b(b,a){b.a=a;return b;}
+function h$b(b,a){var c;t$b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){bab(Fb(b.a.d,98));}bab(b.a.f);bab(b.a.c);if(c===null){gbb('Failed to check in the item. Please contact your system administrator.');return;}u$b(b.a);}
+function i$b(a){h$b(this,a);}
+function e$b(){}
+_=e$b.prototype=new ecb();_.pd=i$b;_.tN=Efc+'RuleViewer$8';_.tI=567;function l$b(){bdb();}
+function j$b(){}
+_=j$b.prototype=new uT();_.pb=l$b;_.tN=Efc+'RuleViewer$9';_.tI=568;function q_b(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=Fz(new Dz());d.a=lt(new ft());d.a.ze(0,0,CB(new AB(),'Version history'));Ew(d.a.n,0,0,'metadata-Widget');b=ot(d.a);Dw(b,0,0,(oz(),qz));d.c=lcb(new kcb(),'images/refresh.gif');fB(d.c,z$b(new y$b(),d));d.a.ze(0,1,d.c);Dw(b,0,1,(oz(),rz));uN(f,'version-browser-Border');aA(f,d.a);d.a.Be('100%');f.Be('100%');gr(d,f);return d;}
+function r_b(a){v_b(a);fg(D$b(new C$b(),a));}
+function t_b(b,a){return k_b(new j_b(),b,a);}
+function u_b(a){vTb(BLb(),a.e,b_b(new a_b(),a));}
+function v_b(a){jB(a.c,'images/searching.gif');}
+function w_b(a){jB(a.c,'images/refresh.gif');}
+function x_b(b,a){var c;c=oac(new y_b(),b.b,a,b.e,b.d);lE(c,100,100);oE(c);}
+function x$b(){}
+_=x$b.prototype=new er();_.tN=Efc+'VersionBrowser';_.tI=569;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function z$b(b,a){b.a=a;return b;}
+function B$b(a){r_b(this.a);}
+function y$b(){}
+_=y$b.prototype=new uT();_.zc=B$b;_.tN=Efc+'VersionBrowser$1';_.tI=570;function D$b(b,a){b.a=a;return b;}
+function F$b(){u_b(this.a);}
+function C$b(){}
+_=C$b.prototype=new uT();_.pb=F$b;_.tN=Efc+'VersionBrowser$2';_.tI=571;function b_b(b,a){b.a=a;return b;}
+function d_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ze(1,0,CB(new AB(),'No history.'));w_b(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',605,1,['Version number','Comment','Date Modified','Status']);d=t_b(i.a,f);h=bfc(d,c,0,false);h.Be('100%');i.a.a.ze(1,0,h);b=ot(i.a.a);jt(b,1,0,2);e=qp(new kp(),'View selected version');e.x(g_b(new f_b(),i,h));i.a.a.ze(2,1,e);jt(b,2,1,3);Dw(b,2,1,(oz(),pz));w_b(i.a);}
+function e_b(a){d_b(this,a);}
+function a_b(){}
+_=a_b.prototype=new ecb();_.pd=e_b;_.tN=Efc+'VersionBrowser$3';_.tI=572;function g_b(b,a,c){b.a=a;b.b=c;return b;}
+function i_b(a){if(this.b.f==0)return;x_b(this.a.a,uec(this.b));}
+function f_b(){}
+_=f_b.prototype=new uT();_.zc=i_b;_.tN=Efc+'VersionBrowser$4';_.tI=573;function k_b(b,a,c){b.a=c;return b;}
+function m_b(){return this.a.a;}
+function n_b(a){return this.a[a].b;}
+function o_b(b,a){return this.a[b].c[a];}
+function p_b(b,a){return null;}
+function j_b(){}
+_=j_b.prototype=new uT();_.Ab=m_b;_.ac=n_b;_.fc=o_b;_.gc=p_b;_.tN=Efc+'VersionBrowser$5';_.tI=574;function pac(){pac=s2;zr();}
+function oac(d,a,e,b,c){pac();xr(d,false);d.c=e;d.a=b;d.b=c;uN(d,'version-Popup');fdb('Loading version');yTb(BLb(),e,A_b(new z_b(),d,a));return d;}
+function qac(b,c){var a;a=C1b(new x1b(),lN(c)+10,mN(c)+10,'Restore this version?');F1b(a,gac(new fac(),b,a));a2b(a);}
+function y_b(){}
+_=y_b.prototype=new ur();_.tN=Efc+'VersionViewer';_.tI=575;_.a=null;_.b=null;_.c=null;function A_b(b,a,c){b.a=a;b.b=c;return b;}
+function C_b(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;Br(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=lt(new ft());d=ot(e);f=qp(new kp(),'Restore this version');f.x(E_b(new D_b(),this));e.ze(0,0,f);Dw(d,0,0,(oz(),qz));b=qp(new kp(),'Close');b.x(cac(new bac(),this));e.ze(0,1,b);Dw(d,0,1,(oz(),rz));g=m$b(new u8b(),a,true);g.Be('100%');e.ze(1,0,g);jt(d,1,1,2);e.Be('100%');sN(e,800,300);Cr(this.a,e);}
+function z_b(){}
+_=z_b.prototype=new ecb();_.pd=C_b;_.tN=Efc+'VersionViewer$1';_.tI=576;function E_b(b,a){b.a=a;return b;}
+function aac(a){qac(this.a.a,a);}
+function D_b(){}
+_=D_b.prototype=new uT();_.zc=aac;_.tN=Efc+'VersionViewer$2';_.tI=577;function cac(b,a){b.a=a;return b;}
+function eac(a){this.a.a.lc();}
+function bac(){}
+_=bac.prototype=new uT();_.zc=eac;_.tN=Efc+'VersionViewer$3';_.tI=578;function gac(b,a,c){b.a=a;b.b=c;return b;}
+function iac(){cUb(BLb(),this.a.c,this.a.a,E1b(this.b),kac(new jac(),this));}
+function fac(){}
+_=fac.prototype=new uT();_.pb=iac;_.tN=Efc+'VersionViewer$4';_.tI=579;function kac(b,a){b.a=a;return b;}
+function mac(b,a){b.a.a.lc();y9b(b.a.a.b);}
+function nac(a){mac(this,a);}
+function jac(){}
+_=jac.prototype=new ecb();_.pd=nac;_.tN=Efc+'VersionViewer$5';_.tI=580;function ubc(a){a.b=(CY(),DY);}
+function vbc(a){ubc(a);a.c=sJ(new eJ());a.c.Be('100%');a.c.qe('100%');tJ(a.c,xbc(a),"<img src='images/explore.gif'/>Explore",true);zJ(a.c,0);gr(a,a.c);return a;}
+function xbc(i){var a,b,c,d,e,f,g,h;h=lt(new ft());i.a=ycc(new Cbc(),tac(new sac(),i),'rulelist');b=ot(h);d=s$(new b$(),xac(new wac(),i,h));f=Cdc(new bdc(),Bac(new Aac(),i));h.ze(0,1,f);Bw(b,0,0,(oz(),qz),(xz(),Az));Bw(b,0,1,(oz(),qz),(xz(),Az));bx(b,0,0,'30%');bx(b,0,1,'70%');e=qp(new kp(),'Create new rule');e.te('Create new rule');e.x(abc(new Fac(),i));g=lcb(new kcb(),'images/system_search_small.png');g.te('Show the rule finder.');fB(g,ebc(new dbc(),i,h,f));a=Fz(new Dz());aA(a,e);aA(a,g);uN(a,'new-asset-Icons');c=hO(new fO());iO(c,a);iO(c,d);c.Be('100%');h.ze(0,0,c);return h;}
+function ybc(c,a,b){return ibc(new hbc(),c,b,a);}
+function zbc(b,a){b.b=a;}
+function Abc(a,b){r4b(a.b,a.c,b,false);}
+function Bbc(c){var a,b,d;a=70;d=100;b=e7b(new v6b(),rbc(new qbc(),c),true,null,'Create a new rule');lE(b,a,d);oE(b);}
+function rac(){}
+_=rac.prototype=new er();_.tN=Ffc+'AssetBrowser';_.tI=581;_.a=null;_.c=null;function tac(b,a){b.a=a;return b;}
+function vac(a){Abc(this.a,a);}
+function sac(){}
+_=sac.prototype=new uT();_.wd=vac;_.tN=Ffc+'AssetBrowser$1';_.tI=582;function xac(b,a,c){b.a=a;b.b=c;return b;}
+function zac(b){var a;a=ybc(this.a,this.a.a,b);this.b.ze(0,1,this.a.a);fdb('Retrieving list, please wait...');fg(a);Ecc(this.a.a,a);}
+function wac(){}
+_=wac.prototype=new uT();_.he=zac;_.tN=Ffc+'AssetBrowser$2';_.tI=583;function Bac(b,a){b.a=a;return b;}
+function Dac(b,a){Abc(b.a,a);}
+function Eac(a){Dac(this,a);}
+function Aac(){}
+_=Aac.prototype=new uT();_.wd=Eac;_.tN=Ffc+'AssetBrowser$3';_.tI=584;function abc(b,a){b.a=a;return b;}
+function cbc(a){Bbc(this.a);}
+function Fac(){}
+_=Fac.prototype=new uT();_.zc=cbc;_.tN=Ffc+'AssetBrowser$4';_.tI=585;function ebc(b,a,d,c){b.b=d;b.a=c;return b;}
+function gbc(a){this.b.ze(0,1,this.a);}
+function dbc(){}
+_=dbc.prototype=new uT();_.zc=gbc;_.tN=Ffc+'AssetBrowser$5';_.tI=586;function ibc(b,a,d,c){b.b=d;b.a=c;return b;}
+function kbc(){fdb('Loading list, please wait...');zTb(BLb(),this.b,mbc(new lbc(),this,this.a));}
+function hbc(){}
+_=hbc.prototype=new uT();_.pb=kbc;_.tN=Ffc+'AssetBrowser$6';_.tI=587;function mbc(b,a,c){b.a=c;return b;}
+function obc(c,a){var b;b=Fb(a,62);Dcc(c.a,b);bdb();}
+function pbc(a){obc(this,a);}
+function lbc(){}
+_=lbc.prototype=new ecb();_.pd=pbc;_.tN=Ffc+'AssetBrowser$7';_.tI=588;function rbc(b,a){b.a=a;return b;}
+function tbc(a){Abc(this.a,a);}
+function qbc(){}
+_=qbc.prototype=new uT();_.wd=tbc;_.tN=Ffc+'AssetBrowser$8';_.tI=589;function zcc(){zcc=s2;Fcc=BLb();}
+function xcc(a){a.c=lt(new ft());a.e=lcb(new kcb(),'images/refresh.gif');a.a=BB(new AB());}
+function ycc(c,a,b){zcc();xcc(c);Bcc(c);Ccc(c,b);c.e.ye(false);c.b=a;c.e.te('Refresh current list. Will show any changes.');fB(c.e,Ebc(new Dbc(),c));return c;}
+function Acc(a){return zYb(uec(a.f));}
+function Bcc(c){var a,b;a=ot(c.c);c.c.Be('100%');Bw(a,0,0,(oz(),qz),(xz(),Az));b=lcb(new kcb(),'images/open_item.gif');fB(b,hcc(new gcc(),c));b.te('Open item');c.c.ze(0,1,b);Bw(a,0,1,(oz(),rz),(xz(),Az));gr(c,c.c);}
+function Ccc(b,a){BTb(Fcc,a,ccc(new bcc(),b));}
+function Dcc(g,a){var b,c,d,e,f;b=ot(g.c);g.c.ze(1,0,null);if(a===null||a.a.a==0){d=new kcc();g.f=bfc(d,g.g.a,25,true);g.a.ye(false);}else{f=a.a;c=rcc(new qcc(),g,f);g.f=bfc(c,g.g.a,25,true);e=Fz(new Dz());aA(e,g.e);g.a.ye(true);bC(g.a,'  '+a.a.a+' items.');aA(e,g.a);g.c.ze(0,0,e);}g.f.Be('100%');g.c.ze(1,0,g.f);jt(b,1,0,2);}
+function Ecc(b,a){b.d=a;b.e.ye(true);}
+function Cbc(){}
+_=Cbc.prototype=new er();_.tN=Ffc+'AssetItemListViewer';_.tI=590;_.b=null;_.d=null;_.f=null;_.g=null;var Fcc;function Ebc(b,a){b.a=a;return b;}
+function acc(a){fdb('Refreshing list, please wait...');this.a.d.pb();}
+function Dbc(){}
+_=Dbc.prototype=new uT();_.zc=acc;_.tN=Ffc+'AssetItemListViewer$1';_.tI=591;function ccc(b,a){b.a=a;return b;}
+function ecc(b,a){b.a.g=Fb(a,99);Dcc(b.a,null);}
+function fcc(a){ecc(this,a);}
+function bcc(){}
+_=bcc.prototype=new ecb();_.pd=fcc;_.tN=Ffc+'AssetItemListViewer$2';_.tI=592;function hcc(b,a){b.a=a;return b;}
+function jcc(a){fdb('Loading item, please wait ...');this.a.b.wd(zYb(uec(this.a.f)));}
+function gcc(){}
+_=gcc.prototype=new uT();_.zc=jcc;_.tN=Ffc+'AssetItemListViewer$3';_.tI=593;function mcc(){return 0;}
+function ncc(a){return '';}
+function occ(b,a){return '';}
+function pcc(b,a){return null;}
+function kcc(){}
+_=kcc.prototype=new uT();_.Ab=mcc;_.ac=ncc;_.fc=occ;_.gc=pcc;_.tN=Ffc+'AssetItemListViewer$4';_.tI=594;function rcc(b,a,c){b.a=a;b.b=c;return b;}
+function tcc(){return this.b.a;}
+function ucc(a){return this.b[a].b;}
+function vcc(b,a){return this.b[b].c[a];}
+function wcc(b,a){if(nU(this.a.g.a[a],'*')){return eB(new oA(),'images/'+n4b(this.b[b].a));}else{return null;}}
+function qcc(){}
+_=qcc.prototype=new uT();_.Ab=tcc;_.ac=ucc;_.fc=vcc;_.gc=wcc;_.tN=Ffc+'AssetItemListViewer$5';_.tI=595;function Cdc(d,a){var b,c;d.c=rbb(new obb(),'images/system_search.png','');d.e=n_(new d_(),ddc(new cdc(),d));uN(d.e,'gwt-TextBox');d.b=a;c=Fz(new Dz());b=qp(new kp(),'Go');b.x(hdc(new gdc(),d));aA(c,d.e);aA(c,b);d.a=cq(new Fp(),'Include archived items in list');uN(d.a,'small-Text');gq(d.a,false);sbb(d.c,'Find items with a name matching:',c);vbb(d.c,d.a);vbb(d.c,ez(new hw(),'<hr/>'));d.d=lt(new ft());d.d.ze(0,0,ez(new hw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));vbb(d.c,d.d);uN(d.d,'editable-Surface');oK(d.e,Edc(d));uN(d.c,'quick-find');gr(d,d.c);return d;}
+function Edc(a){return pdc(new odc(),a);}
+function Fdc(c,a,b){CTb(BLb(),a,5,fq(c.a),ldc(new kdc(),c,b));}
+function aec(f,d){var a,b,c,e;a=lt(new ft());if(d.a.a==1){Dac(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(nU(e.b,'MORE')){a.ze(b,0,ez(new hw(),'<i>There are more items... try narrowing the search terms..<\/i>'));jt(ot(a),b,0,3);}else{a.ze(b,0,CB(new AB(),e.c[0]));a.ze(b,1,CB(new AB(),e.c[1]));c=qp(new kp(),'Open');c.x(zdc(new ydc(),f,e));a.ze(b,2,c);}}a.Be('100%');f.d.ze(0,0,a);bdb();}
+function bec(a){fdb('Searching...');CTb(BLb(),rK(a.e),15,fq(a.a),vdc(new udc(),a));}
+function bdc(){}
+_=bdc.prototype=new er();_.tN=Ffc+'QuickFindWidget';_.tI=596;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function ddc(b,a){b.a=a;return b;}
+function fdc(c,b,a){Fdc(c.a,b,a);}
+function cdc(){}
+_=cdc.prototype=new uT();_.tN=Ffc+'QuickFindWidget$1';_.tI=597;function hdc(b,a){b.a=a;return b;}
+function jdc(a){bec(this.a);}
+function gdc(){}
+_=gdc.prototype=new uT();_.zc=jdc;_.tN=Ffc+'QuickFindWidget$2';_.tI=598;function ldc(b,a,c){b.a=c;return b;}
+function ndc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[605],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!nU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}l_(this.a,c);}
+function kdc(){}
+_=kdc.prototype=new ecb();_.pd=ndc;_.tN=Ffc+'QuickFindWidget$3';_.tI=599;function pdc(b,a){b.a=a;return b;}
+function rdc(a,b,c){}
+function sdc(a,b,c){}
+function tdc(a,b,c){if(b==13){bec(this.a);}}
+function odc(){}
+_=odc.prototype=new uT();_.cd=rdc;_.dd=sdc;_.ed=tdc;_.tN=Ffc+'QuickFindWidget$4';_.tI=600;function vdc(b,a){b.a=a;return b;}
+function xdc(a){var b;b=Fb(a,62);aec(this.a,b);}
+function udc(){}
+_=udc.prototype=new ecb();_.pd=xdc;_.tN=Ffc+'QuickFindWidget$5';_.tI=601;function zdc(b,a,c){b.a=a;b.b=c;return b;}
+function Bdc(a){Dac(this.a.b,this.b.b);}
+function ydc(){}
+_=ydc.prototype=new uT();_.zc=Bdc;_.tN=Ffc+'QuickFindWidget$6';_.tI=602;function eec(a){a.a=CX(new AX());}
+function fec(a){eec(a);return a;}
+function gec(b,a,c){if(a>=b.a.b){hec(b,a);}jY(b.a,a,c);}
+function hec(c,a){var b;for(b=c.a.b;b<=a;b++){EX(c.a,null);}}
+function jec(b,a){return dY(b.a,a);}
+function kec(b,a){b.b=a;}
+function lec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(jec(this,this.b),34);b=Fb(jec(d,this.b),34);return a.bb(b);}
+function dec(){}
+_=dec.prototype=new uT();_.bb=lec;_.tN=agc+'RowData';_.tI=603;_.b=0;function nec(a){a.j=CX(new AX());a.i=CX(new AX());}
+function oec(c,b,a){Av(c,b+1,a);nec(c);Dx(c,c);uN(c,efc);return c;}
+function pec(c,b,a){if(b!=0){return;}Bec(c,a);Dec(c,a);tec(c);}
+function rec(e){var a,b,c,d,f;if(e.h==Fec||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(dY(e.j,c),100);for(a=0;a<b.a.b;a++){f=jec(b,a);xec(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(dY(e.j,c),100);for(a=0;a<b.a.b;a++){f=jec(b,a);xec(e,d,a,f.tS());}}}}
+function sec(d){var a,b,c;c=0;for(b=d.i.qc();b.kc();){a=Fb(b.sc(),1);vec(d,a,c++);}}
+function tec(a){sec(a);rec(a);}
+function uec(a){return iy(a,a.f,a.e);}
+function vec(d,c,b){var a;a=FT(new ET());bU(a,c);bU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==Fec){bU(a,"'"+d.a+"' alt='Ascending' ");}else{bU(a,"'"+d.c+"' alt='Descending' ");}}else{bU(a,"'"+d.b+"'");}bU(a,'/>');wy(d,0,b,fU(a));lx(d.p,0,ffc);}
+function wec(c,b,a){if(b%2==0){Ew(c.n,b,a,dfc);}}
+function xec(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ze(b,a,eB(new oA(),'images/'+n4b(d)));else yy(c,b,a,d);}}
+function yec(c,b,a){DX(c.i,a,b);vec(c,b,a);}
+function zec(b,a){b.d=a;}
+function Aec(b,a){b.e=a;ax(b.n,0,a,false);}
+function Bec(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(dY(d.j,b),100);kec(a,c);}}
+function Cec(d,b,a,e,f){var c;if(b==0)return;wec(d,b,a);if(b-1>=d.j.b||null===dY(d.j,b-1)){DX(d.j,b-1,fec(new dec()));}c=Fb(dY(d.j,b-1),100);gec(c,a,e);if(f===null){yy(d,b,a,''+e+'');}else{d.ze(b,a,f);}if(a==d.e){ax(d.n,b,a,false);}}
+function Dec(b,a){FY(b.j);if(b.g!=a){b.h=Fec;}else{b.h=b.h==Fec?afc:Fec;}b.g=a;}
+function Eec(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){Ew(a,c,b,gfc);if(d.f%2==0&&d.f!=0){Ew(a,d.f,b,dfc);}else{Aw(a,d.f,b,gfc);}}d.f=c;}}
+function bfc(a,d,b,c){var e,f,g;g=null;if(b>a.Ab()){g=oec(new mec(),b,d.a+1);Cec(g,1,1,'',null);}else{g=oec(new mec(),a.Ab()+1,d.a+1);}yec(g,'',0);for(e=0;e<d.a;e++){yec(g,d[e],e+1);}Aec(g,0);for(e=0;e<a.Ab();e++){Cec(g,e+1,0,a.ac(e),null);for(f=0;f<d.a;f++){Cec(g,e+1,f+1,a.fc(e,f),a.gc(e,f));}}zec(g,c);return g;}
+function cfc(c,b,a){if(b<=this.j.b){Eec(this,b);pec(this,b,a);}}
+function mec(){}
+_=mec.prototype=new yv();_.xc=cfc;_.tN=agc+'SortableTable';_.tI=604;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var Fec=0,afc=1,dfc='rule-ListEvenRow',efc='rule-List',ffc='rule-ListHeader',gfc='rule-SelectedRow';function oR(){E3(A3(new p3()));}
+function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{oR();}catch(a){b(d);}else{oR();}}
+var gc=[{},{11:1},{1:1,11:1,34:1,35:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{2:1,11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1},{8:1,11:1},{8:1,11:1},{8:1,11:1},{11:1},{2:1,6:1,11:1},{2:1,11:1},{9:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1},{3:1,11:1},{3:1,11:1,39:1},{3:1,11:1,92:1},{3:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,36:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,49:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1,33:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,43:1},{11:1,49:1,56:1},{11:1,!
 49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,81:1},{11:1,13:1,36:1,37:1,81:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,46:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,49:1,56:1},{11:1,39:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,49:1},{11:1},{11:1,13:1,36:1,37:1,87:1},{11:1,13:1,36:1,37:1,48:1,54:1},{9:1,11:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,39:1},{11:1,39:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,50:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,80:1},{11:1,13:1,36:1,37:1,54:1},{11:1,36:1,52:1},{11:1,36:1,52:1},{11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11!
 :1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1,55:1},{
3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{11:1,35:1},{3:1,11:1},{11:1},{11:1,57:1},{11:1,49:1,58:1},{11:1,49:1,58:1},{11:1},{11:1,49:1},{11:1},{11:1},{11:1,34:1,59:1},{11:1,57:1},{11:1,60:1},{11:1,49:1,58:1},{11:1},{11:1,49:1,58:1},{3:1,11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{7:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{8:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1},{11!
 :1,13:1,36:1,37:1,53:1},{11:1,42:1},{11:1},{11:1},{11:1,36:1,52:1,64:1},{11:1,13:1,36:1,37:1,46:1,80:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,13:1,36:1,37:1,81:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,65:1},{11:1,13:1,36:1,37:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,38:1,39:1,91:1},{11:1,20:1,22:1,38:1,39:1},{11:1,23:1,38:1,39:1},{11:1,20:1,22:1,24:1,38:1,39:1},{11:1,20:1,22:1,!
 24:1,25:1,38:1,39:1},{11:1,20:1,26:1,38:1,39:1},{11:1,20:1,22:1,27:1,3
8:1,39:1},{11:1,20:1,22:1,27:1,28:1,38:1,39:1},{11:1,19:1,29:1,38:1,39:1},{11:1,21:1,30:1,38:1,39:1},{11:1,38:1,39:1,40:1},{11:1,15:1,38:1,39:1,40:1},{10:1,11:1,19:1,20:1,38:1,39:1},{11:1,19:1,31:1,38:1,39:1},{11:1,18:1,38:1,39:1},{11:1,38:1,39:1,83:1},{11:1,21:1,32:1,38:1,39:1,40:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,84:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,41:1},{4:1,11:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,46:1},{11:1,41:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,82:1,98:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},!
 {11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,46:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{4!
 :1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{
11:1},{11:1,13:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1},{4:1,11:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1,53:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,90:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,42:1},{11:1,53:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1},{11:1,12:1,39:1},{3:1,11:1,39:1,70:1},{11:1,39:1,93:1},{11:1,16:1,39:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,39:1,97:1},{11:1,39:1,95:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1,69:1},{11:1,17:1,39:1},{11:1,39:1,99:1},{11:1,39:1,62:1},{11:1,14:1,39:1},{11:1,39:1!
 ,89:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,44:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1},{11:1,41:1},{11:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{4:1,11:1},{4:1,11:1},!
 {4:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},
{4:1,11:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{11:1,46:1},{11:1},{11:1,42:1},{11:1,34:1,100:1},{11:1,13:1,36:1,37:1,51:1,54:1},{11:1,63:1},{11:1},{11:1,72:1,77:1,78:1},{11:1},{11:1,88:1},{11:1},{11:1},{11:1,94:1},{11:1,79:1},{11:1,71:1},{11:1,86:1},{11:1,76:1},{11:1,77:1},{11:1,78:1},{11:1,75:1},{11:1,78:1},{11:1,73:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,77:1},{11:1,75:1},{11:1,74:1,77:1},{11:1,75:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1}];if ($wnd.org_drools_brms_JBRMS) $wnd.org_drools_brms_JBRMS.onScriptLoad();
+--></script></body></html>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.js (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.js)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.js	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3411 @@
+(function(){var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var _,hfc='com.google.gwt.core.client.',ifc='com.google.gwt.lang.',jfc='com.google.gwt.user.client.',kfc='com.google.gwt.user.client.impl.',lfc='com.google.gwt.user.client.rpc.',mfc='com.google.gwt.user.client.rpc.core.java.lang.',nfc='com.google.gwt.user.client.rpc.core.java.util.',ofc='com.google.gwt.user.client.rpc.impl.',pfc='com.google.gwt.user.client.ui.',qfc='com.google.gwt.user.client.ui.impl.',rfc='java.io.',sfc='java.lang.',tfc='java.util.',ufc='org.drools.brms.client.',vfc='org.drools.brms.client.admin.',wfc='org.drools.brms.client.categorynav.',xfc='org.drools.brms.client.common.',yfc='org.drools.brms.client.decisiontable.',zfc='org.drools.brms.client.modeldriven.',Afc='org.drools.brms.client.modeldriven.brl.',Bfc='org.drools.brms.client.modeldriven.ui.',Cfc='org.drools.brms.client.packages.',Dfc='org.drools.brms.client.rpc.',Efc='org.drools.brms.client.ruleeditor.',Ffc='org.droo!
 ls.brms.client.rulelist.',agc='org.drools.brms.client.table.';function s2(){}
+function wT(a){return this===a;}
+function xT(){return jV(this);}
+function yT(){return this.tN+'@'+this.hC();}
+function uT(){}
+_=uT.prototype={};_.eQ=wT;_.hC=xT;_.tS=yT;_.toString=function(){return this.tS();};_.tN=sfc+'Object';_.tI=1;function v(){return C();}
+function w(a){return a==null?null:a.tN;}
+var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function C(){return $moduleBase;}
+function D(){return ++E;}
+var E=0;function mV(b,a){b.c=a;return b;}
+function nV(c,b,a){c.c=b;return c;}
+function pV(){return this.c;}
+function qV(){var a,b;a=w(this);b=this.zb();if(b!==null){return a+': '+b;}else{return a;}}
+function lV(){}
+_=lV.prototype=new uT();_.zb=pV;_.tS=qV;_.tN=sfc+'Throwable';_.tI=3;_.c=null;function lS(b,a){mV(b,a);return b;}
+function mS(c,b,a){nV(c,b,a);return c;}
+function kS(){}
+_=kS.prototype=new lV();_.tN=sfc+'Exception';_.tI=4;function AT(b,a){lS(b,a);return b;}
+function BT(c,b,a){mS(c,b,a);return c;}
+function zT(){}
+_=zT.prototype=new kS();_.tN=sfc+'RuntimeException';_.tI=5;function ab(c,b,a){AT(c,'JavaScript '+b+' exception: '+a);return c;}
+function F(){}
+_=F.prototype=new zT();_.tN=hfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
+function fb(a){return A(a);}
+function gb(){return [];}
+function hb(){return function(){};}
+function ib(){return {};}
+function kb(a){return eb(this,a);}
+function jb(a,b){return a===b;}
+function lb(){return fb(this);}
+function nb(){return mb(this);}
+function mb(a){if(a.toString)return a.toString();return '[object]';}
+function cb(){}
+_=cb.prototype=new uT();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=hfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
+function rb(a,b,c){return a[b]=c;}
+function tb(a,b){return sb(a,b);}
+function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
+function ub(b,a){return b[a];}
+function wb(b,a){return b[a];}
+function vb(a){return a.length;}
+function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
+function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new fT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=wU(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
+function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
+function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new vR();}return rb(a,b,c);}
+function ob(){}
+_=ob.prototype=new uT();_.tN=ifc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
+function Eb(a){return String.fromCharCode(a);}
+function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
+function ac(b,a){return b!=null&&Db(b.tI,a);}
+function bc(a){return a&65535;}
+function cc(a){return ~(~a);}
+function dc(a){if(a>(yS(),zS))return yS(),zS;if(a<(yS(),AS))return yS(),AS;return a>=0?Math.floor(a):Math.ceil(a);}
+function fc(){throw new fS();}
+function ec(a){if(a!==null){throw new fS();}return a;}
+function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
+var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
+function lc(a){return a.message;}
+function mc(a){return a.name;}
+function oc(b,a){return b;}
+function nc(){}
+_=nc.prototype=new zT();_.tN=jfc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=CX(new AX());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
+function gd(a){fd(a);return a;}
+function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
+function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.pb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(iV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
+function kd(a){if(!gY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
+function ld(b,a){b.c=a;}
+function md(b,a){b.e=a;}
+function nd(b,a){EX(b.b,a);kd(b);}
+function od(a,b){return dT(a-b)>=100;}
+function qc(){}
+_=qc.prototype=new uT();_.tN=jfc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=s2;uh=CX(new AX());{th();}}
+function ih(a){kh();return a;}
+function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}iY(uh,a);}
+function lh(a){if(!a.b){iY(uh,a);}a.fe();}
+function nh(b,a){if(a<=0){throw pS(new oS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);EX(uh,b);}
+function mh(b,a){if(a<=0){throw pS(new oS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);EX(uh,b);}
+function oh(a){kh();$wnd.clearInterval(a);}
+function ph(a){kh();$wnd.clearTimeout(a);}
+function qh(b,a){kh();return $wnd.setInterval(function(){b.qb();},a);}
+function rh(b,a){kh();return $wnd.setTimeout(function(){b.qb();},a);}
+function sh(){var a;a=x;{lh(this);}}
+function th(){kh();yh(new eh());}
+function dh(){}
+_=dh.prototype=new uT();_.qb=sh;_.tN=jfc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=s2;kh();}
+function sc(b,a){tc();b.a=a;ih(b);return b;}
+function uc(){if(!this.a.c){return;}id(this.a);}
+function rc(){}
+_=rc.prototype=new dh();_.fe=uc;_.tN=jfc+'CommandExecutor$1';_.tI=14;function xc(){xc=s2;kh();}
+function wc(b,a){xc();b.a=a;ih(b);return b;}
+function yc(){md(this.a,false);jd(this.a,iV());}
+function vc(){}
+_=vc.prototype=new dh();_.fe=yc;_.tN=jfc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
+function Cc(a){return dY(a.d.b,a.b);}
+function Dc(a){return a.c<a.a;}
+function Ec(b){var a;b.b=b.c;a=dY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
+function Fc(a){hY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
+function ad(b,a){b.a=a;}
+function bd(a){return a.b==(-1);}
+function cd(){return Dc(this);}
+function dd(){return Ec(this);}
+function ed(){Fc(this);}
+function zc(){}
+_=zc.prototype=new uT();_.kc=cd;_.sc=dd;_.ce=ed;_.tN=jfc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=s2;rf=CX(new AX());{gf=new ki();Ci(gf);}}
+function sd(a){rd();EX(rf,a);}
+function td(b,a){rd();cj(gf,b,a);}
+function ud(a,b){rd();return qi(gf,a,b);}
+function vd(){rd();return ej(gf,'A');}
+function wd(){rd();return ej(gf,'button');}
+function xd(){rd();return ej(gf,'div');}
+function yd(a){rd();return ej(gf,a);}
+function zd(){rd();return ej(gf,'form');}
+function Ad(){rd();return ej(gf,'iframe');}
+function Bd(){rd();return ej(gf,'img');}
+function Cd(){rd();return fj(gf,'checkbox');}
+function Dd(){rd();return fj(gf,'password');}
+function Ed(a){rd();return ri(gf,a);}
+function Fd(){rd();return fj(gf,'text');}
+function ae(){rd();return ej(gf,'label');}
+function be(a){rd();return gj(gf,a);}
+function ce(){rd();return ej(gf,'span');}
+function de(){rd();return ej(gf,'tbody');}
+function ee(){rd();return ej(gf,'td');}
+function fe(){rd();return ej(gf,'tr');}
+function ge(){rd();return ej(gf,'table');}
+function he(){rd();return ej(gf,'textarea');}
+function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
+function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.wc(b);}finally{ie=d;}}
+function le(b,a){rd();hj(gf,b,a);}
+function me(a){rd();return ij(gf,a);}
+function ne(a){rd();return jj(gf,a);}
+function oe(a){rd();return kj(gf,a);}
+function pe(a){rd();return lj(gf,a);}
+function qe(a){rd();return mj(gf,a);}
+function re(a){rd();return si(gf,a);}
+function se(a){rd();return nj(gf,a);}
+function te(a){rd();return oj(gf,a);}
+function ue(a){rd();return pj(gf,a);}
+function ve(a){rd();return ti(gf,a);}
+function we(a){rd();return ui(gf,a);}
+function xe(a){rd();return qj(gf,a);}
+function ye(a){rd();vi(gf,a);}
+function ze(a){rd();return wi(gf,a);}
+function Ae(a){rd();return mi(gf,a);}
+function Be(a){rd();return ni(gf,a);}
+function Ee(b,a){rd();return zi(gf,b,a);}
+function Ce(a){rd();return xi(gf,a);}
+function De(b,a){rd();return yi(gf,b,a);}
+function bf(a,b){rd();return tj(gf,a,b);}
+function Fe(a,b){rd();return rj(gf,a,b);}
+function af(a,b){rd();return sj(gf,a,b);}
+function cf(a){rd();return uj(gf,a);}
+function df(a){rd();return Ai(gf,a);}
+function ef(a){rd();return vj(gf,a);}
+function ff(a){rd();return Bi(gf,a);}
+function hf(c,a,b){rd();Di(gf,c,a,b);}
+function jf(c,b,d,a){rd();wj(gf,c,b,d,a);}
+function kf(b,a){rd();return Ei(gf,b,a);}
+function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(dY(rf,rf.b-1),5);if(!(c=b.Cc(a))){le(a,true);ye(a);}}return c;}
+function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}Fi(gf,a);}
+function nf(b,a){rd();xj(gf,b,a);}
+function of(b,a){rd();yj(gf,b,a);}
+function pf(a){rd();iY(rf,a);}
+function sf(a){rd();zj(gf,a);}
+function tf(a){rd();qf=a;aj(gf,a);}
+function uf(b,a,c){rd();Aj(gf,b,a,c);}
+function xf(a,b,c){rd();Dj(gf,a,b,c);}
+function vf(a,b,c){rd();Bj(gf,a,b,c);}
+function wf(a,b,c){rd();Cj(gf,a,b,c);}
+function yf(a,b){rd();Ej(gf,a,b);}
+function zf(a,b){rd();Fj(gf,a,b);}
+function Af(a,b){rd();ak(gf,a,b);}
+function Bf(a,b){rd();bk(gf,a,b);}
+function Cf(b,a,c){rd();ck(gf,b,a,c);}
+function Df(b,a,c){rd();dk(gf,b,a,c);}
+function Ef(a,b){rd();bj(gf,a,b);}
+function Ff(a){rd();return ek(gf,a);}
+function ag(){rd();return fk(gf);}
+function bg(){rd();return gk(gf);}
+var ie=null,gf=null,qf=null,rf;function dg(){dg=s2;gg=gd(new qc());}
+function fg(a){dg();nd(gg,a);}
+function eg(a){dg();if(a===null){throw iT(new hT(),'cmd can not be null');}nd(gg,a);}
+var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
+function kg(a){return jg(this,a);}
+function lg(){return fb(hc(this,hg));}
+function mg(){return Ff(this);}
+function hg(){}
+_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=jfc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
+function sg(){return fb(hc(this,ng));}
+function tg(){return ze(this);}
+function ng(){}
+_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=jfc+'Event';_.tI=18;function vg(){vg=s2;xg=jk(new ik());}
+function wg(c,b,a){vg();return lk(xg,c,b,a);}
+var xg;function Ag(){Ag=s2;Eg=CX(new AX());{Fg=new rk();if(!tk(Fg)){Fg=null;}}}
+function Bg(a){Ag();EX(Eg,a);}
+function Cg(a){Ag();var b,c;for(b=Eg.qc();b.kc();){c=Fb(b.sc(),7);c.bd(a);}}
+function Dg(){Ag();return Fg!==null?wk(Fg):'';}
+function ah(a){Ag();if(Fg!==null){uk(Fg,a);}}
+function bh(b){Ag();var a;a=x;{Cg(b);}}
+var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(dY((kh(),uh),0),8));}}
+function hh(){return null;}
+function eh(){}
+_=eh.prototype=new uT();_.ud=gh;_.vd=hh;_.tN=jfc+'Timer$1';_.tI=19;function xh(){xh=s2;Ah=CX(new AX());ii=CX(new AX());{di();}}
+function yh(a){xh();EX(Ah,a);}
+function zh(a){xh();$wnd.alert(a);}
+function Bh(a){xh();return $wnd.confirm(a);}
+function Ch(){xh();var a,b;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);b.ud();}}
+function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);c=b.vd();{d=c;}}return d;}
+function Eh(){xh();var a,b;for(a=ii.qc();a.kc();){b=ec(a.sc());null.jf();}}
+function Fh(){xh();return ag();}
+function ai(){xh();return bg();}
+function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
+function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
+function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
+function ei(){xh();var a;a=x;{Ch();}}
+function fi(){xh();var a;a=x;{return Dh();}}
+function gi(){xh();var a;a=x;{Eh();}}
+function hi(c,b,a){xh();$wnd.open(c,b,a);}
+var Ah,ii;function cj(c,b,a){b.appendChild(a);}
+function ej(b,a){return $doc.createElement(a);}
+function fj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
+function gj(c,a){var b;b=ej(c,'select');if(a){Bj(c,b,'multiple',true);}return b;}
+function hj(c,b,a){b.cancelBubble=a;}
+function ij(b,a){return !(!a.altKey);}
+function jj(b,a){return a.clientX|| -1;}
+function kj(b,a){return a.clientY|| -1;}
+function lj(b,a){return !(!a.ctrlKey);}
+function mj(b,a){return a.currentTarget;}
+function nj(b,a){return a.which||(a.keyCode|| -1);}
+function oj(b,a){return !(!a.metaKey);}
+function pj(b,a){return !(!a.shiftKey);}
+function qj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
+function tj(d,a,b){var c=a[b];return c==null?null:String(c);}
+function rj(c,a,b){return !(!a[b]);}
+function sj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
+function uj(b,a){return a.__eventBits||0;}
+function vj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.xb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
+function wj(e,d,b,f,a){var c=new Option(b,f);if(a== -1||a>d.options.length-1){d.add(c,null);}else{d.add(c,d.options[a]);}}
+function xj(c,b,a){b.removeChild(a);}
+function yj(c,b,a){b.removeAttribute(a);}
+function zj(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
+function Aj(c,b,a,d){b.setAttribute(a,d);}
+function Dj(c,a,b,d){a[b]=d;}
+function Bj(c,a,b,d){a[b]=d;}
+function Cj(c,a,b,d){a[b]=d;}
+function Ej(c,a,b){a.__listener=b;}
+function Fj(c,a,b){a.src=b;}
+function ak(c,a,b){if(!b){b='';}a.innerHTML=b;}
+function bk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
+function ck(c,b,a,d){b.style[a]=d;}
+function dk(c,b,a,d){b.style[a]=d;}
+function ek(b,a){return a.outerHTML;}
+function fk(a){return $doc.body.clientHeight;}
+function gk(a){return $doc.body.clientWidth;}
+function hk(a){return vj(this,a);}
+function ji(){}
+_=ji.prototype=new uT();_.xb=hk;_.tN=kfc+'DOMImpl';_.tI=20;function qi(c,a,b){return a==b;}
+function ri(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
+function si(b,a){return a.relatedTarget?a.relatedTarget:null;}
+function ti(b,a){return a.target||null;}
+function ui(b,a){return a.relatedTarget||null;}
+function vi(b,a){a.preventDefault();}
+function wi(b,a){return a.toString();}
+function zi(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
+function xi(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
+function yi(d,c,e){var b=0,a=c.firstChild;while(a){if(a==e)return b;if(a.nodeType==1)++b;a=a.nextSibling;}return -1;}
+function Ai(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
+function Bi(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
+function Ci(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
+function Di(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
+function Ei(c,b,a){while(a){if(b==a){return true;}a=a.parentNode;if(a&&a.nodeType!=1){a=null;}}return false;}
+function Fi(b,a){if(a==$wnd.__captureElem)$wnd.__captureElem=null;}
+function aj(b,a){$wnd.__captureElem=a;}
+function bj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
+function oi(){}
+_=oi.prototype=new ji();_.tN=kfc+'DOMImplStandard';_.tI=21;function mi(d,b){var c=0;var a=b.parentNode;while(a!=$doc.body){if(a.tagName!='TR'&&a.tagName!='TBODY'){c-=a.scrollLeft;}a=a.parentNode;}while(b){c+=b.offsetLeft;b=b.offsetParent;}return c;}
+function ni(c,b){var d=0;var a=b.parentNode;while(a!=$doc.body){if(a.tagName!='TR'&&a.tagName!='TBODY'){d-=a.scrollTop;}a=a.parentNode;}while(b){d+=b.offsetTop;b=b.offsetParent;}return d;}
+function ki(){}
+_=ki.prototype=new oi();_.tN=kfc+'DOMImplOpera';_.tI=22;function jk(a){pk=hb();return a;}
+function lk(c,d,b,a){return mk(c,null,null,d,b,a);}
+function mk(d,f,c,e,b,a){return kk(d,f,c,e,b,a);}
+function kk(e,g,d,f,c,b){var h=e.lb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=pk;b.Ac(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=pk;return false;}}
+function ok(){return new XMLHttpRequest();}
+function ik(){}
+_=ik.prototype=new uT();_.lb=ok;_.tN=kfc+'HTTPRequestImpl';_.tI=23;var pk=null;function wk(a){return $wnd.__gwt_historyToken;}
+function xk(a){bh(a);}
+function qk(){}
+_=qk.prototype=new uT();_.tN=kfc+'HistoryImpl';_.tI=24;function tk(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;xk(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
+function uk(b,a){if(a==null){a='';}$wnd.location.hash=encodeURIComponent(a);}
+function rk(){}
+_=rk.prototype=new qk();_.tN=kfc+'HistoryImplStandard';_.tI=25;function Ak(a){AT(a,'This application is out of date, please click the refresh button on your browser');return a;}
+function zk(){}
+_=zk.prototype=new zT();_.tN=lfc+'IncompatibleRemoteServiceException';_.tI=26;function Ek(b,a){}
+function Fk(b,a){}
+function bl(b,a){BT(b,a,null);return b;}
+function al(){}
+_=al.prototype=new zT();_.tN=lfc+'InvocationException';_.tI=27;function nl(){return this.b;}
+function fl(){}
+_=fl.prototype=new kS();_.zb=nl;_.tN=lfc+'SerializableException';_.tI=28;_.b=null;function jl(b,a){ml(a,b.Ed());}
+function kl(a){return a.b;}
+function ll(b,a){b.gf(kl(a));}
+function ml(a,b){a.b=b;}
+function pl(b,a){lS(b,a);return b;}
+function ol(){}
+_=ol.prototype=new kS();_.tN=lfc+'SerializationException';_.tI=29;function ul(a){bl(a,'Service implementation URL not specified');return a;}
+function tl(){}
+_=tl.prototype=new al();_.tN=lfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=30;function zl(b,a){}
+function Al(a){return FR(a.zd());}
+function Bl(b,a){b.bf(a.a);}
+function El(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Dd());}}
+function Fl(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.ff(a[c]);}}
+function cm(b,a){}
+function dm(a){return a.Ed();}
+function em(b,a){b.gf(a);}
+function hm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Ad();}}
+function im(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.cf(a[c]);}}
+function lm(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();EX(b,c);}}
+function mm(e,a){var b,c,d;d=a.b;e.df(d);b=a.qc();while(b.kc()){c=b.sc();e.ff(c);}}
+function pm(b,a){}
+function qm(a){return jZ(new hZ(),a.Cd());}
+function rm(b,a){b.ef(mZ(a));}
+function um(e,b){var a,c,d,f;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();f=e.Dd();a1(b,c,f);}}
+function vm(f,c){var a,b,d,e;e=c.c;f.df(e);b=E0(c);d=u0(b);while(m0(d)){a=n0(d);f.ff(a.yb());f.ff(a.ec());}}
+function ym(d,b){var a,c;c=d.Bd();for(a=0;a<c;++a){u1(b,d.Dd());}}
+function zm(c,a){var b;c.df(a.a.c);for(b=w1(a);xW(b);){c.ff(yW(b));}}
+function Cm(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();h2(b,c);}}
+function Dm(e,a){var b,c,d;d=a.a.b;e.df(d);b=j2(a);while(b.kc()){c=b.sc();e.ff(c);}}
+function vn(a){return a.j>2;}
+function wn(b,a){b.i=a;}
+function xn(a,b){a.j=b;}
+function Em(){}
+_=Em.prototype=new uT();_.tN=ofc+'AbstractSerializationStream';_.tI=31;_.i=0;_.j=3;function an(a){a.e=CX(new AX());}
+function bn(a){an(a);return a;}
+function dn(b,a){aY(b.e);xn(b,En(b));wn(b,En(b));}
+function en(a){var b,c;b=a.Bd();if(b<0){return dY(a.e,-(b+1));}c=a.cc(b);if(c===null){return null;}return a.jb(c);}
+function fn(b,a){EX(b.e,a);}
+function gn(){return en(this);}
+function Fm(){}
+_=Fm.prototype=new Em();_.Dd=gn;_.tN=ofc+'AbstractSerializationStreamReader';_.tI=32;function kn(b,a){b.E(a?'1':'0');}
+function ln(b,a){b.E(dV(a));}
+function mn(c,a){var b,d;if(a===null){nn(c,null);return;}b=c.wb(a);if(b>=0){ln(c,-(b+1));return;}c.ge(a);d=c.Bb(a);nn(c,d);c.je(a,d);}
+function nn(a,b){ln(a,a.z(b));}
+function on(a){kn(this,a);}
+function pn(a){this.E(dV(a));}
+function qn(a){ln(this,a);}
+function rn(a){this.E(eV(a));}
+function sn(a){mn(this,a);}
+function tn(a){nn(this,a);}
+function hn(){}
+_=hn.prototype=new Em();_.bf=on;_.cf=pn;_.df=qn;_.ef=rn;_.ff=sn;_.gf=tn;_.tN=ofc+'AbstractSerializationStreamWriter';_.tI=33;function zn(b,a){bn(b);b.c=a;return b;}
+function Bn(b,a){if(!a){return null;}return b.d[a-1];}
+function Cn(b,a){b.b=co(a);b.a=eo(b.b);dn(b,a);b.d=Fn(b);}
+function Dn(a){return !(!a.b[--a.a]);}
+function En(a){return a.b[--a.a];}
+function Fn(a){return a.b[--a.a];}
+function ao(a){return Bn(a,En(a));}
+function bo(b){var a;a=this.c.nc(this,b);fn(this,a);this.c.ib(this,a,b);return a;}
+function co(a){return eval(a);}
+function eo(a){return a.length;}
+function fo(a){return Bn(this,a);}
+function go(){return Dn(this);}
+function ho(){return this.b[--this.a];}
+function io(){return En(this);}
+function jo(){return this.b[--this.a];}
+function ko(){return ao(this);}
+function yn(){}
+_=yn.prototype=new Fm();_.jb=bo;_.cc=fo;_.zd=go;_.Ad=ho;_.Bd=io;_.Cd=jo;_.Ed=ko;_.tN=ofc+'ClientSerializationStreamReader';_.tI=34;_.a=0;_.b=null;_.c=null;_.d=null;function mo(a){a.h=CX(new AX());}
+function no(d,c,a,b){mo(d);d.f=c;d.b=a;d.e=b;return d;}
+function po(c,a){var b=c.d[a];return b==null?-1:b;}
+function qo(c,a){var b=c.g[':'+a];return b==null?0:b;}
+function ro(a){a.c=0;a.d=ib();a.g=ib();aY(a.h);a.a=FT(new ET());if(vn(a)){nn(a,a.b);nn(a,a.e);}}
+function so(b,a,c){b.d[a]=c;}
+function to(b,a,c){b.g[':'+a]=c;}
+function uo(b){var a;a=FT(new ET());vo(b,a);xo(b,a);wo(b,a);return fU(a);}
+function vo(b,a){zo(a,dV(b.j));zo(a,dV(b.i));}
+function wo(b,a){bU(a,fU(b.a));}
+function xo(d,a){var b,c;c=d.h.b;zo(a,dV(c));for(b=0;b<c;++b){zo(a,Fb(dY(d.h,b),1));}return a;}
+function yo(b){var a;if(b===null){return 0;}a=qo(this,b);if(a>0){return a;}EX(this.h,b);a=this.h.b;to(this,b,a);return a;}
+function zo(a,b){bU(a,b);aU(a,65535);}
+function Ao(a){zo(this.a,a);}
+function Bo(a){return po(this,jV(a));}
+function Co(a){var b,c;c=w(a);b=this.f.bc(c);if(b!==null){c+='/'+b;}return c;}
+function Do(a){so(this,jV(a),this.c++);}
+function Eo(a,b){this.f.ie(this,a,b);}
+function Fo(){return uo(this);}
+function lo(){}
+_=lo.prototype=new hn();_.z=yo;_.E=Ao;_.wb=Bo;_.Bb=Co;_.ge=Do;_.je=Eo;_.tS=Fo;_.tN=ofc+'ClientSerializationStreamWriter';_.tI=35;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function jN(b,a){FN(b.dc(),a,true);}
+function lN(a){return Ae(a.ub());}
+function mN(a){return Be(a.ub());}
+function nN(a){return af(a.w,'offsetHeight');}
+function oN(a){return af(a.w,'offsetWidth');}
+function pN(b,a){FN(b.dc(),a,false);}
+function qN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
+function rN(b,a){if(b.w!==null){qN(b,b.w,a);}b.w=a;}
+function sN(b,c,a){if(c>=0){b.Be(c+'px');}if(a>=0){b.qe(a+'px');}}
+function tN(b,c,a){b.Be(c);b.qe(a);}
+function uN(b,a){EN(b.dc(),a);}
+function vN(b,a){Ef(b.ub(),a|cf(b.ub()));}
+function wN(){return this.w;}
+function xN(){return nN(this);}
+function yN(){return oN(this);}
+function zN(){return this.w;}
+function AN(a){return bf(a,'className');}
+function BN(a){return a.style.display!='none';}
+function CN(a){rN(this,a);}
+function DN(a){Df(this.w,'height',a);}
+function EN(a,b){xf(a,'className',b);}
+function FN(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw AT(new zT(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=AU(j);if(rU(j)==0){throw pS(new oS(),'Style names cannot be empty');}i=AN(c);e=pU(i,j);while(e!=(-1)){if(e==0||iU(i,e-1)==32){f=e+rU(j);g=rU(i);if(f==g||f<g&&iU(i,f)==32){break;}}e=qU(i,j,e+1);}if(a){if(e==(-1)){if(rU(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=AU(xU(i,0,e));d=AU(wU(i,e+rU(j)));if(rU(b)==0){h=d;}else if(rU(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
+function aO(a){if(a===null||rU(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
+function bO(a,b){a.style.display=b?'':'none';}
+function cO(a){bO(this.w,a);}
+function dO(a){Df(this.w,'width',a);}
+function eO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
+function iN(){}
+_=iN.prototype=new uT();_.ub=wN;_.Cb=xN;_.Db=yN;_.dc=zN;_.me=CN;_.qe=DN;_.te=aO;_.ye=cO;_.Be=dO;_.tS=eO;_.tN=pfc+'UIObject';_.tI=36;_.w=null;function qP(a){if(a.oc()){throw sS(new rS(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.ub(),a);a.kb();a.fd();}
+function rP(a){if(!a.oc()){throw sS(new rS(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.td();}finally{a.mb();yf(a.ub(),null);a.t=false;}}
+function sP(a){if(ac(a.v,54)){Fb(a.v,54).ee(a);}else if(a.v!==null){throw sS(new rS(),"This widget's parent does not implement HasWidgets");}}
+function tP(b,a){if(b.oc()){yf(b.ub(),null);}rN(b,a);if(b.oc()){yf(a,b);}}
+function uP(b,a){b.u=a;}
+function vP(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.oc()){c.Bc();}c.v=null;}else{if(a!==null){throw sS(new rS(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.oc()){c.uc();}}}
+function wP(){}
+function xP(){}
+function yP(){return this.t;}
+function zP(){qP(this);}
+function AP(a){}
+function BP(){rP(this);}
+function CP(){}
+function DP(){}
+function EP(a){tP(this,a);}
+function oO(){}
+_=oO.prototype=new iN();_.kb=wP;_.mb=xP;_.oc=yP;_.uc=zP;_.wc=AP;_.Bc=BP;_.fd=CP;_.td=DP;_.me=EP;_.tN=pfc+'Widget';_.tI=37;_.t=false;_.u=null;_.v=null;function uD(b,a){vP(a,b);}
+function wD(b,a){vP(a,null);}
+function xD(){var a;a=this.qc();while(a.kc()){a.sc();a.ce();}}
+function yD(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),13);a.uc();}}
+function zD(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),13);a.Bc();}}
+function AD(){}
+function BD(){}
+function tD(){}
+_=tD.prototype=new oO();_.ab=xD;_.kb=yD;_.mb=zD;_.fd=AD;_.td=BD;_.tN=pfc+'Panel';_.tI=38;function vq(a){a.f=yO(new pO(),a);}
+function wq(a){vq(a);return a;}
+function xq(c,a,b){sP(a);zO(c.f,a);td(b,a.ub());uD(c,a);}
+function yq(d,b,a){var c;Aq(d,a);if(b.v===d){c=Cq(d,b);if(c<a){a--;}}return a;}
+function zq(b,a){if(a<0||a>=b.f.c){throw new uS();}}
+function Aq(b,a){if(a<0||a>b.f.c){throw new uS();}}
+function Dq(b,a){return BO(b.f,a);}
+function Cq(b,a){return CO(b.f,a);}
+function Eq(e,b,c,a,d){a=yq(e,b,a);sP(b);DO(e.f,b,a);if(d){hf(c,b.ub(),a);}else{td(c,b.ub());}uD(e,b);}
+function Fq(a){return EO(a.f);}
+function ar(b,c){var a;if(c.v!==b){return false;}wD(b,c);a=c.ub();nf(ff(a),a);aP(b.f,c);return true;}
+function br(){return Fq(this);}
+function cr(a){return this.ee(Dq(this,a));}
+function dr(a){return ar(this,a);}
+function uq(){}
+_=uq.prototype=new tD();_.qc=br;_.de=cr;_.ee=dr;_.tN=pfc+'ComplexPanel';_.tI=39;function cp(a){wq(a);a.me(xd());Df(a.ub(),'position','relative');Df(a.ub(),'overflow','hidden');return a;}
+function dp(a,b){xq(a,b,a.ub());}
+function fp(b,c){var a;a=ar(b,c);if(a){gp(c.ub());}return a;}
+function gp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
+function hp(a){return fp(this,a);}
+function bp(){}
+_=bp.prototype=new uq();_.ee=hp;_.tN=pfc+'AbsolutePanel';_.tI=40;function ip(){}
+_=ip.prototype=new uT();_.tN=pfc+'AbstractImagePrototype';_.tI=41;function hu(){hu=s2;lu=(yQ(),CQ);}
+function fu(b,a){hu();ju(b,a);return b;}
+function gu(b,a){if(b.k===null){b.k=Bt(new At());}EX(b.k,a);}
+function iu(b,a){switch(xe(a)){case 1:if(b.j!==null){sq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){Dt(b.k,b,a);}break;case 128:case 512:case 256:break;}}
+function ju(b,a){tP(b,a);vN(b,7041);}
+function ku(a){if(this.j===null){this.j=qq(new pq());}EX(this.j,a);}
+function mu(a){iu(this,a);}
+function nu(a){ju(this,a);}
+function ou(a){vf(this.ub(),'disabled',!a);}
+function pu(a){if(a){lu.rb(this.ub());}else{lu.F(this.ub());}}
+function qu(a){lu.se(this.ub(),a);}
+function eu(){}
+_=eu.prototype=new oO();_.x=ku;_.wc=mu;_.me=nu;_.ne=ou;_.oe=pu;_.re=qu;_.tN=pfc+'FocusWidget';_.tI=42;_.j=null;_.k=null;var lu;function np(){np=s2;hu();}
+function mp(b,a){np();fu(b,a);return b;}
+function op(a){Af(this.ub(),a);}
+function lp(){}
+_=lp.prototype=new eu();_.pe=op;_.tN=pfc+'ButtonBase';_.tI=43;function rp(){rp=s2;np();}
+function pp(a){rp();mp(a,wd());sp(a.ub());uN(a,'gwt-Button');return a;}
+function qp(b,a){rp();pp(b);b.pe(a);return b;}
+function sp(b){rp();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
+function kp(){}
+_=kp.prototype=new lp();_.tN=pfc+'Button';_.tI=44;function up(a){wq(a);a.e=ge();a.d=de();td(a.e,a.d);a.me(a.e);return a;}
+function wp(c,b,a){xf(b,'align',a.a);}
+function xp(c,b,a){Df(b,'verticalAlign',a.a);}
+function yp(c,a){var b;b=ff(c.ub());xf(b,'height',a);}
+function zp(b,c){var a;a=ff(b.ub());xf(a,'width',c);}
+function tp(){}
+_=tp.prototype=new uq();_.ke=yp;_.le=zp;_.tN=pfc+'CellPanel';_.tI=45;_.d=null;_.e=null;function vV(d,a,b){var c;while(a.kc()){c=a.sc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
+function xV(a){throw sV(new rV(),'add');}
+function yV(b){var a;a=vV(this,this.qc(),b);return a!==null;}
+function zV(){return this.Fe(yb('[Ljava.lang.Object;',[608],[11],[this.Ce()],null));}
+function AV(a){var b,c,d;d=this.Ce();if(a.a<d){a=tb(a,d);}b=0;for(c=this.qc();c.kc();){Ab(a,b++,c.sc());}if(a.a>d){Ab(a,d,null);}return a;}
+function BV(){var a,b,c;c=FT(new ET());a=null;bU(c,'[');b=this.qc();while(b.kc()){if(a!==null){bU(c,a);}else{a=', ';}bU(c,fV(b.sc()));}bU(c,']');return fU(c);}
+function uV(){}
+_=uV.prototype=new uT();_.C=xV;_.eb=yV;_.Ee=zV;_.Fe=AV;_.tS=BV;_.tN=tfc+'AbstractCollection';_.tI=46;function fW(b,a){throw vS(new uS(),'Index: '+a+', Size: '+b.b);}
+function gW(b,a){throw sV(new rV(),'add');}
+function hW(a){this.B(this.Ce(),a);return true;}
+function iW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ce()!=f.Ce()){return false;}c=this.qc();d=f.qc();while(c.kc()){a=c.sc();b=d.sc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
+function jW(){var a,b,c,d;c=1;a=31;b=this.qc();while(b.kc()){d=b.sc();c=31*c+(d===null?0:d.hC());}return c;}
+function kW(){return EV(new DV(),this);}
+function lW(a){throw sV(new rV(),'remove');}
+function CV(){}
+_=CV.prototype=new uV();_.B=gW;_.C=hW;_.eQ=iW;_.hC=jW;_.qc=kW;_.de=lW;_.tN=tfc+'AbstractList';_.tI=47;function BX(a){{FX(a);}}
+function CX(a){BX(a);return a;}
+function DX(c,a,b){if(a<0||a>c.b){fW(c,a);}kY(c.a,a,b);++c.b;}
+function EX(b,a){tY(b.a,b.b++,a);return true;}
+function aY(a){FX(a);}
+function FX(a){a.a=gb();a.b=0;}
+function cY(b,a){return eY(b,a)!=(-1);}
+function dY(b,a){if(a<0||a>=b.b){fW(b,a);}return pY(b.a,a);}
+function eY(b,a){return fY(b,a,0);}
+function fY(c,b,a){if(a<0){fW(c,a);}for(;a<c.b;++a){if(oY(b,pY(c.a,a))){return a;}}return (-1);}
+function gY(a){return a.b==0;}
+function hY(c,a){var b;b=dY(c,a);rY(c.a,a,1);--c.b;return b;}
+function iY(c,b){var a;a=eY(c,b);if(a==(-1)){return false;}hY(c,a);return true;}
+function jY(d,a,b){var c;c=dY(d,a);tY(d.a,a,b);return c;}
+function lY(a,b){DX(this,a,b);}
+function mY(a){return EX(this,a);}
+function kY(a,b,c){a.splice(b,0,c);}
+function nY(a){return cY(this,a);}
+function oY(a,b){return a===b||a!==null&&a.eQ(b);}
+function qY(a){return dY(this,a);}
+function pY(a,b){return a[b];}
+function sY(a){return hY(this,a);}
+function rY(a,c,b){a.splice(c,b);}
+function tY(a,b,c){a[b]=c;}
+function uY(){return this.b;}
+function vY(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,pY(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
+function AX(){}
+_=AX.prototype=new CV();_.B=lY;_.C=mY;_.eb=nY;_.hc=qY;_.de=sY;_.Ce=uY;_.Fe=vY;_.tN=tfc+'ArrayList';_.tI=48;_.a=null;_.b=0;function Bp(a){CX(a);return a;}
+function Dp(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),41);b.yc(c);}}
+function Ap(){}
+_=Ap.prototype=new AX();_.tN=pfc+'ChangeListenerCollection';_.tI=49;function dq(){dq=s2;np();}
+function aq(a){dq();bq(a,Cd());uN(a,'gwt-CheckBox');return a;}
+function cq(b,a){dq();aq(b);hq(b,a);return b;}
+function bq(b,a){var c;dq();mp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.ub()));Ef(b.ub(),0);td(b.ub(),b.a);td(b.ub(),b.b);c='check'+ ++oq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
+function eq(a){return ef(a.b);}
+function fq(b){var a;a=b.oc()?'checked':'defaultChecked';return Fe(b.a,a);}
+function gq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
+function hq(b,a){Bf(b.b,a);}
+function iq(){yf(this.a,this);}
+function jq(){yf(this.a,null);gq(this,fq(this));}
+function kq(a){vf(this.a,'disabled',!a);}
+function lq(a){if(a){lu.rb(this.a);}else{lu.F(this.a);}}
+function mq(a){Af(this.b,a);}
+function nq(a){lu.se(this.a,a);}
+function Fp(){}
+_=Fp.prototype=new lp();_.fd=iq;_.td=jq;_.ne=kq;_.oe=lq;_.pe=mq;_.re=nq;_.tN=pfc+'CheckBox';_.tI=50;_.a=null;_.b=null;var oq=0;function qq(a){CX(a);return a;}
+function sq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),42);b.zc(c);}}
+function pq(){}
+_=pq.prototype=new AX();_.tN=pfc+'ClickListenerCollection';_.tI=51;function gr(a,b){if(a.k!==null){throw sS(new rS(),'Composite.initWidget() may only be called once.');}sP(b);a.me(b.ub());a.k=b;vP(b,a);}
+function hr(){if(this.k===null){throw sS(new rS(),'initWidget() was never called in '+w(this));}return this.w;}
+function ir(){if(this.k!==null){return this.k.oc();}return false;}
+function jr(){this.k.uc();this.fd();}
+function kr(){try{this.td();}finally{this.k.Bc();}}
+function er(){}
+_=er.prototype=new oO();_.ub=hr;_.oc=ir;_.uc=jr;_.Bc=kr;_.tN=pfc+'Composite';_.tI=52;_.k=null;function mr(a){wq(a);a.me(xd());return a;}
+function or(b,c){var a;a=c.ub();Df(a,'width','100%');Df(a,'height','100%');c.ye(false);}
+function pr(b,c,a){Eq(b,c,b.ub(),a,true);or(b,c);}
+function qr(b,c){var a;a=ar(b,c);if(a){rr(b,c);if(b.b===c){b.b=null;}}return a;}
+function rr(a,b){Df(b.ub(),'width','');Df(b.ub(),'height','');b.ye(true);}
+function sr(b,a){zq(b,a);if(b.b!==null){b.b.ye(false);}b.b=Dq(b,a);b.b.ye(true);}
+function tr(a){return qr(this,a);}
+function lr(){}
+_=lr.prototype=new uq();_.ee=tr;_.tN=pfc+'DeckPanel';_.tI=53;_.b=null;function AG(a){BG(a,xd());return a;}
+function BG(b,a){b.me(a);return b;}
+function CG(a,b){if(a.r!==null){throw sS(new rS(),'SimplePanel can only contain one child widget');}a.Ae(b);}
+function EG(a,b){if(b===a.r){return;}if(b!==null){sP(b);}if(a.r!==null){a.ee(a.r);}a.r=b;if(b!==null){td(a.tb(),a.r.ub());uD(a,b);}}
+function FG(){return this.ub();}
+function aH(){return vG(new tG(),this);}
+function bH(a){if(this.r!==a){return false;}wD(this,a);nf(this.tb(),a.ub());this.r=null;return true;}
+function cH(a){EG(this,a);}
+function sG(){}
+_=sG.prototype=new tD();_.tb=FG;_.qc=aH;_.ee=bH;_.Ae=cH;_.tN=pfc+'SimplePanel';_.tI=54;_.r=null;function eE(){eE=s2;uE=new gR();}
+function aE(a){eE();BG(a,iR(uE));lE(a,0,0);return a;}
+function bE(b,a){eE();aE(b);b.k=a;return b;}
+function cE(c,a,b){eE();bE(c,a);c.o=b;return c;}
+function dE(b,a){if(a.blur){a.blur();}}
+function fE(a){return a.ub();}
+function gE(a){return oN(a);}
+function hE(a){iE(a,false);}
+function iE(b,a){if(!b.p){return;}b.p=false;fp(iG(),b);b.ub();}
+function jE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.qe(a.l);}if(a.m!==null){b.Be(a.m);}}}
+function kE(e,b){var a,c,d,f;d=ve(b);c=kf(e.ub(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),yB(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){iE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){dE(e,d);return false;}}}return !e.o||c;}
+function lE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.ub();Df(a,'left',b+'px');Df(a,'top',d+'px');}
+function mE(a,b){EG(a,b);jE(a);}
+function nE(a,b){a.m=b;jE(a);if(rU(b)==0){a.m=null;}}
+function oE(a){if(a.p){return;}a.p=true;sd(a);Df(a.ub(),'position','absolute');if(a.q!=(-1)){lE(a,a.n,a.q);}dp(iG(),a);a.ub();}
+function pE(){return fE(this);}
+function qE(){return nN(this);}
+function rE(){return gE(this);}
+function sE(){return this.ub();}
+function tE(){hE(this);}
+function vE(){pf(this);rP(this);}
+function wE(a){return kE(this,a);}
+function xE(a){this.l=a;jE(this);if(rU(a)==0){this.l=null;}}
+function yE(b){var a;a=fE(this);if(b===null||rU(b)==0){of(a,'title');}else{uf(a,'title',b);}}
+function zE(a){Df(this.ub(),'visibility',a?'visible':'hidden');this.ub();}
+function AE(a){mE(this,a);}
+function BE(a){nE(this,a);}
+function FD(){}
+_=FD.prototype=new sG();_.tb=pE;_.Cb=qE;_.Db=rE;_.dc=sE;_.lc=tE;_.Bc=vE;_.Cc=wE;_.qe=xE;_.te=yE;_.ye=zE;_.Ae=AE;_.Be=BE;_.tN=pfc+'PopupPanel';_.tI=55;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var uE;function zr(){zr=s2;eE();}
+function vr(a){a.e=dz(new hw());a.j=lt(new ft());}
+function wr(a){zr();xr(a,false);return a;}
+function xr(b,a){zr();yr(b,a,true);return b;}
+function yr(c,a,b){zr();cE(c,a,b);vr(c);c.j.ze(0,0,c.e);c.j.qe('100%');ry(c.j,0);ty(c.j,0);uy(c.j,0);Cw(c.j.n,1,0,'100%');bx(c.j.n,1,0,'100%');Bw(c.j.n,1,0,(oz(),pz),(xz(),zz));mE(c,c.j);uN(c,'gwt-DialogBox');uN(c.e,'Caption');EB(c.e,c);return c;}
+function Ar(b,a){hz(b.e,a);}
+function Br(b,a){bC(b.e,a);}
+function Cr(a,b){if(a.f!==null){qy(a.j,a.f);}if(b!==null){a.j.ze(1,0,b);}a.f=b;}
+function Dr(a){if(xe(a)==4){if(kf(this.e.ub(),ve(a))){ye(a);}}return kE(this,a);}
+function Er(a,b,c){this.i=true;tf(this.e.ub());this.g=b;this.h=c;}
+function Fr(a){}
+function as(a){}
+function bs(c,d,e){var a,b;if(this.i){a=d+lN(this);b=e+mN(this);lE(this,a-this.g,b-this.h);}}
+function cs(a,b,c){this.i=false;mf(this.e.ub());}
+function ds(a){if(this.f!==a){return false;}qy(this.j,a);return true;}
+function es(a){Cr(this,a);}
+function fs(a){nE(this,a);this.j.Be('100%');}
+function ur(){}
+_=ur.prototype=new FD();_.Cc=Dr;_.hd=Er;_.id=Fr;_.jd=as;_.kd=bs;_.ld=cs;_.ee=ds;_.Ae=es;_.Be=fs;_.tN=pfc+'DialogBox';_.tI=56;_.f=null;_.g=0;_.h=0;_.i=false;function rs(){rs=s2;xs=new hs();ys=new hs();zs=new hs();As=new hs();Bs=new hs();}
+function os(a){a.b=(oz(),qz);a.c=(xz(),Az);}
+function ps(a){rs();up(a);os(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
+function qs(c,d,a){var b;if(a===xs){if(d===c.a){return;}else if(c.a!==null){throw pS(new oS(),'Only one CENTER widget may be added');}}sP(d);zO(c.f,d);if(a===xs){c.a=d;}b=ks(new js(),a);uP(d,b);us(c,d,c.b);vs(c,d,c.c);ss(c);uD(c,d);}
+function ss(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=EO(p.f);tO(h);){c=uO(h);e=c.u.a;if(e===zs||e===As){++l;}else if(e===ys||e===Bs){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[631],[33],[l],null);for(g=0;g<l;++g){m[g]=new ms();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=EO(p.f);tO(h);){c=uO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===zs){hf(m[j].b,o,m[j].a);td(o,c.ub());wf(o,'colSpan',f-q+1);++j;}else if(i.a===As){hf(m[n].b,o,m[n].a);td(o,c.ub());wf(o,'colSpan',f-q+1);--n;}else if(i.a===Bs){k=m[j];hf(k.b,o,k.a++);td(o,c.ub());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===ys){k=m[j];hf(k.b,o,k.a);td(o,c.ub());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===xs){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.ub());}}
+function ts(b,c){var a;a=ar(b,c);if(a){if(c===b.a){b.a=null;}ss(b);}return a;}
+function us(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
+function vs(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
+function ws(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
+function Cs(a){return ts(this,a);}
+function Ds(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
+function Es(a,b){ws(this,a,b);}
+function gs(){}
+_=gs.prototype=new tp();_.ee=Cs;_.ke=Ds;_.le=Es;_.tN=pfc+'DockPanel';_.tI=57;_.a=null;var xs,ys,zs,As,Bs;function hs(){}
+_=hs.prototype=new uT();_.tN=pfc+'DockPanel$DockLayoutConstant';_.tI=58;function ks(b,a){b.a=a;return b;}
+function js(){}
+_=js.prototype=new uT();_.tN=pfc+'DockPanel$LayoutData';_.tI=59;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function ms(){}
+_=ms.prototype=new uT();_.tN=pfc+'DockPanel$TmpRow';_.tI=60;_.a=0;_.b=null;function at(a){a.me(yd('input'));xf(a.ub(),'type','file');uN(a,'gwt-FileUpload');return a;}
+function ct(a){return bf(a.ub(),'value');}
+function dt(b,a){xf(b.ub(),'name',a);}
+function Fs(){}
+_=Fs.prototype=new oO();_.tN=pfc+'FileUpload';_.tI=61;function Bx(a){a.s=rx(new mx());}
+function Cx(a){Bx(a);a.q=ge();a.m=de();td(a.q,a.m);a.me(a.q);vN(a,1);return a;}
+function Dx(b,a){if(b.r===null){b.r=FJ(new EJ());}EX(b.r,a);}
+function Ex(d,c,b){var a;Fx(d,c);if(b<0){throw vS(new uS(),'Column '+b+' must be non-negative: '+b);}a=d.sb(c);if(a<=b){throw vS(new uS(),'Column index: '+b+', Column size: '+d.sb(c));}}
+function Fx(c,a){var b;b=c.Fb();if(a>=b||a<0){throw vS(new uS(),'Row index: '+a+', Row size: '+b);}}
+function ay(e,c,b,a){var d;d=yw(e.n,c,b);ny(e,d,a);return d;}
+function by(d){var a,b,c;for(c=0;c<d.Fb();++c){for(b=0;b<d.sb(c);++b){a=jy(d,c,b);if(a!==null){qy(d,a);}}}}
+function dy(a){return ee();}
+function ey(c,b,a){return b.rows[a].cells.length;}
+function fy(a){return gy(a,a.m);}
+function gy(b,a){return a.rows.length;}
+function hy(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(mU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
+function iy(d,c,a){var b;Ex(d,c,a);b=xw(d.n,c,a);return ef(b);}
+function ky(c,b,a){Ex(c,b,a);return jy(c,b,a);}
+function jy(e,d,b){var a,c;c=yw(e.n,d,b);a=df(c);if(a===null){return null;}else{return tx(e.s,a);}}
+function ly(d,b,a){var c,e;e=kx(d.p,d.m,b);c=d.fb();hf(e,c,a);}
+function my(b,a){var c;if(a!=pt(b)){Fx(b,a);}c=fe();hf(b.m,c,a);return a;}
+function ny(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=tx(d.s,b);}if(e!==null){qy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
+function qy(b,c){var a;if(c.v!==b){return false;}wD(b,c);a=c.ub();nf(ff(a),a);wx(b.s,a);return true;}
+function oy(d,b,a){var c,e;Ex(d,b,a);c=ay(d,b,a,false);e=kx(d.p,d.m,b);nf(e,c);}
+function py(d,c){var a,b;b=d.sb(c);for(a=0;a<b;++a){ay(d,c,a,false);}nf(d.m,kx(d.p,d.m,c));}
+function ry(a,b){xf(a.q,'border',''+b);}
+function sy(b,a){b.n=a;}
+function ty(b,a){wf(b.q,'cellPadding',a);}
+function uy(b,a){wf(b.q,'cellSpacing',a);}
+function vy(b,a){b.o=a;fx(b.o);}
+function wy(e,c,a,b){var d;Cv(e,c,a);d=ay(e,c,a,b===null);if(b!==null){Af(d,b);}}
+function xy(b,a){b.p=a;}
+function yy(e,b,a,d){var c;e.xd(b,a);c=ay(e,b,a,d===null);if(d!==null){Bf(c,d);}}
+function zy(d,b,a,e){var c;d.xd(b,a);if(e!==null){sP(e);c=ay(d,b,a,true);ux(d.s,e);td(c,e.ub());uD(d,e);}}
+function Ay(){by(this);}
+function By(){return dy(this);}
+function Cy(b,a){ly(this,b,a);}
+function Dy(){return xx(this.s);}
+function Ey(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=hy(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);bK(this.r,this,d,b);}break;}default:}}
+function bz(a){return qy(this,a);}
+function Fy(b,a){oy(this,b,a);}
+function az(a){py(this,a);}
+function cz(b,a,c){zy(this,b,a,c);}
+function iw(){}
+_=iw.prototype=new tD();_.ab=Ay;_.fb=By;_.mc=Cy;_.qc=Dy;_.wc=Ey;_.ee=bz;_.Fd=Fy;_.be=az;_.ze=cz;_.tN=pfc+'HTMLTable';_.tI=62;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function lt(a){Cx(a);sy(a,ht(new gt(),a));xy(a,hx(new gx(),a));vy(a,dx(new cx(),a));return a;}
+function nt(b,a){Fx(b,a);return ey(b,b.m,a);}
+function ot(a){return Fb(a.n,43);}
+function pt(a){return fy(a);}
+function qt(b,a){return my(b,a);}
+function rt(d,b){var a,c;if(b<0){throw vS(new uS(),'Cannot create a row with a negative index: '+b);}c=pt(d);for(a=c;a<=b;a++){qt(d,a);}}
+function st(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
+function tt(a){return nt(this,a);}
+function ut(){return pt(this);}
+function vt(b,a){ly(this,b,a);}
+function wt(d,b){var a,c;rt(this,d);if(b<0){throw vS(new uS(),'Cannot create a column with a negative index: '+b);}a=nt(this,d);c=b+1-a;if(c>0){st(this.m,d,c);}}
+function xt(a){rt(this,a);}
+function yt(b,a){oy(this,b,a);}
+function zt(a){py(this,a);}
+function ft(){}
+_=ft.prototype=new iw();_.sb=tt;_.Fb=ut;_.mc=vt;_.xd=wt;_.yd=xt;_.Fd=yt;_.be=zt;_.tN=pfc+'FlexTable';_.tI=63;function tw(b,a){b.a=a;return b;}
+function vw(c,b,a){c.a.xd(b,a);return ww(c,c.a.m,b,a);}
+function ww(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
+function xw(c,b,a){Ex(c.a,b,a);return ww(c,c.a.m,b,a);}
+function yw(c,b,a){return ww(c,c.a.m,b,a);}
+function zw(d,c,a){var b;b=xw(d,c,a);return BN(b);}
+function Aw(e,b,a,c){var d;Ex(e.a,b,a);d=ww(e,e.a.m,b,a);FN(d,c,false);}
+function Bw(d,c,a,b,e){Dw(d,c,a,b);Fw(d,c,a,e);}
+function Cw(e,d,a,c){var b;e.a.xd(d,a);b=ww(e,e.a.m,d,a);xf(b,'height',c);}
+function Dw(e,d,b,a){var c;e.a.xd(d,b);c=ww(e,e.a.m,d,b);xf(c,'align',a.a);}
+function Ew(d,b,a,c){d.a.xd(b,a);EN(ww(d,d.a.m,b,a),c);}
+function Fw(d,c,b,a){d.a.xd(c,b);Df(ww(d,d.a.m,c,b),'verticalAlign',a.a);}
+function ax(d,c,a,e){var b;b=vw(d,c,a);bO(b,e);}
+function bx(c,b,a,d){c.a.xd(b,a);xf(ww(c,c.a.m,b,a),'width',d);}
+function sw(){}
+_=sw.prototype=new uT();_.tN=pfc+'HTMLTable$CellFormatter';_.tI=64;function ht(b,a){tw(b,a);return b;}
+function jt(d,c,b,a){wf(vw(d,c,b),'colSpan',a);}
+function kt(d,b,a,c){wf(vw(d,b,a),'rowSpan',c);}
+function gt(){}
+_=gt.prototype=new sw();_.tN=pfc+'FlexTable$FlexCellFormatter';_.tI=65;function Bt(a){CX(a);return a;}
+function Et(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.Ec(c);}}
+function Dt(c,b,a){switch(xe(a)){case 2048:Et(c,b);break;case 4096:Ft(c,b);break;}}
+function Ft(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.gd(c);}}
+function At(){}
+_=At.prototype=new AX();_.tN=pfc+'FocusListenerCollection';_.tI=66;function cu(){cu=s2;du=(yQ(),BQ);}
+var du;function su(a){CX(a);return a;}
+function uu(f,e,d){var a,b,c;a=ov(new nv(),e,d);for(c=f.qc();c.kc();){b=Fb(c.sc(),45);b.nd(a);}}
+function vu(e,d){var a,b,c;a=new qv();for(c=e.qc();c.kc();){b=Fb(c.sc(),45);b.od(a);}return a.a;}
+function ru(){}
+_=ru.prototype=new AX();_.tN=pfc+'FormHandlerCollection';_.tI=67;function Eu(){Eu=s2;iv=new EQ();}
+function Cu(a){Eu();BG(a,zd());a.b='FormPanel_'+ ++hv;fv(a,a.b);vN(a,32768);return a;}
+function Du(b,a){if(b.a===null){b.a=su(new ru());}EX(b.a,a);}
+function Fu(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
+function av(a){if(a.a!==null){return !vu(a.a,a);}return true;}
+function bv(a){if(a.a!==null){eg(zu(new yu(),a));}}
+function cv(a,b){xf(a.ub(),'action',b);}
+function dv(b,a){dR(iv,b.ub(),a);}
+function ev(b,a){xf(b.ub(),'method',a);}
+function fv(b,a){xf(b.ub(),'target',a);}
+function gv(a){if(a.a!==null){if(vu(a.a,a)){return;}}eR(iv,a.ub(),a.c);}
+function jv(){qP(this);Fu(this);td(hG(),this.c);cR(iv,this.c,this.ub(),this);}
+function kv(){rP(this);fR(iv,this.c,this.ub());nf(hG(),this.c);this.c=null;}
+function lv(){var a;a=x;{return av(this);}}
+function mv(){var a;a=x;{bv(this);}}
+function xu(){}
+_=xu.prototype=new sG();_.uc=jv;_.Bc=kv;_.Fc=lv;_.ad=mv;_.tN=pfc+'FormPanel';_.tI=68;_.a=null;_.b=null;_.c=null;var hv=0,iv;function zu(b,a){b.a=a;return b;}
+function Bu(){uu(this.a.a,this,bR((Eu(),iv),this.a.c));}
+function yu(){}
+_=yu.prototype=new uT();_.pb=Bu;_.tN=pfc+'FormPanel$1';_.tI=69;function BZ(){}
+_=BZ.prototype=new uT();_.tN=tfc+'EventObject';_.tI=70;function ov(c,b,a){c.a=a;return c;}
+function nv(){}
+_=nv.prototype=new BZ();_.tN=pfc+'FormSubmitCompleteEvent';_.tI=71;_.a=null;function sv(b,a){b.a=a;}
+function qv(){}
+_=qv.prototype=new BZ();_.tN=pfc+'FormSubmitEvent';_.tI=72;_.a=false;function uv(a){a.me(Ad());return a;}
+function vv(a,b){uv(a);xv(a,b);return a;}
+function xv(a,b){xf(a.ub(),'src',b);}
+function tv(){}
+_=tv.prototype=new oO();_.tN=pfc+'Frame';_.tI=73;function zv(a){Cx(a);sy(a,tw(new sw(),a));xy(a,hx(new gx(),a));vy(a,dx(new cx(),a));return a;}
+function Av(c,b,a){zv(c);aw(c,b,a);return c;}
+function Cv(c,b,a){Dv(c,b);if(a<0){throw vS(new uS(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw vS(new uS(),'Column index: '+a+', Column size: '+c.k);}}
+function Dv(b,a){if(a<0){throw vS(new uS(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw vS(new uS(),'Row index: '+a+', Row size: '+b.l);}}
+function aw(c,b,a){Ev(c,a);Fv(c,b);}
+function Ev(d,a){var b,c;if(d.k==a){return;}if(a<0){throw vS(new uS(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Fd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.mc(b,c);}}}d.k=a;}
+function Fv(b,a){if(b.l==a){return;}if(a<0){throw vS(new uS(),'Cannot set number of rows to '+a);}if(b.l<a){bw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.be(--b.l);}}}
+function bw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
+function cw(){var a;a=dy(this);Af(a,'&nbsp;');return a;}
+function dw(a){return this.k;}
+function ew(){return this.l;}
+function fw(b,a){Cv(this,b,a);}
+function gw(a){Dv(this,a);}
+function yv(){}
+_=yv.prototype=new iw();_.fb=cw;_.sb=dw;_.Fb=ew;_.xd=fw;_.yd=gw;_.tN=pfc+'Grid';_.tI=74;_.k=0;_.l=0;function BB(a){a.me(xd());vN(a,131197);uN(a,'gwt-Label');return a;}
+function CB(b,a){BB(b);bC(b,a);return b;}
+function DB(b,a){if(b.a===null){b.a=qq(new pq());}EX(b.a,a);}
+function EB(b,a){if(b.b===null){b.b=aD(new FC());}EX(b.b,a);}
+function aC(a){return ef(a.ub());}
+function bC(b,a){Bf(b.ub(),a);}
+function cC(a,b){Df(a.ub(),'whiteSpace',b?'normal':'nowrap');}
+function dC(a){switch(xe(a)){case 1:if(this.a!==null){sq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){eD(this.b,this,a);}break;case 131072:break;}}
+function AB(){}
+_=AB.prototype=new oO();_.wc=dC;_.tN=pfc+'Label';_.tI=75;_.a=null;_.b=null;function dz(a){BB(a);a.me(xd());vN(a,125);uN(a,'gwt-HTML');return a;}
+function ez(b,a){dz(b);hz(b,a);return b;}
+function fz(b,a,c){ez(b,a);cC(b,c);return b;}
+function hz(b,a){Af(b.ub(),a);}
+function hw(){}
+_=hw.prototype=new AB();_.tN=pfc+'HTML';_.tI=76;function kw(a){{nw(a);}}
+function lw(b,a){b.c=a;kw(b);return b;}
+function nw(a){while(++a.b<a.c.b.b){if(dY(a.c.b,a.b)!==null){return;}}}
+function ow(a){return a.b<a.c.b.b;}
+function pw(){return ow(this);}
+function qw(){var a;if(!ow(this)){throw new a2();}a=dY(this.c.b,this.b);this.a=this.b;nw(this);return a;}
+function rw(){var a;if(this.a<0){throw new rS();}a=Fb(dY(this.c.b,this.a),13);sP(a);this.a=(-1);}
+function jw(){}
+_=jw.prototype=new uT();_.kc=pw;_.sc=qw;_.ce=rw;_.tN=pfc+'HTMLTable$1';_.tI=77;_.a=(-1);_.b=(-1);function dx(b,a){b.b=a;return b;}
+function fx(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
+function cx(){}
+_=cx.prototype=new uT();_.tN=pfc+'HTMLTable$ColumnFormatter';_.tI=78;_.a=null;function hx(b,a){b.a=a;return b;}
+function jx(b,a){b.a.yd(a);return kx(b,b.a.m,a);}
+function kx(c,a,b){return a.rows[b];}
+function lx(c,a,b){EN(jx(c,a),b);}
+function gx(){}
+_=gx.prototype=new uT();_.tN=pfc+'HTMLTable$RowFormatter';_.tI=79;function qx(a){a.b=CX(new AX());}
+function rx(a){qx(a);return a;}
+function tx(c,a){var b;b=zx(a);if(b<0){return null;}return Fb(dY(c.b,b),13);}
+function ux(b,c){var a;if(b.a===null){a=b.b.b;EX(b.b,c);}else{a=b.a.a;jY(b.b,a,c);b.a=b.a.b;}Ax(c.ub(),a);}
+function vx(c,a,b){yx(a);jY(c.b,b,null);c.a=ox(new nx(),b,c.a);}
+function wx(c,a){var b;b=zx(a);vx(c,a,b);}
+function xx(a){return lw(new jw(),a);}
+function yx(a){a['__widgetID']=null;}
+function zx(a){var b=a['__widgetID'];return b==null?-1:b;}
+function Ax(a,b){a['__widgetID']=b;}
+function mx(){}
+_=mx.prototype=new uT();_.tN=pfc+'HTMLTable$WidgetMapper';_.tI=80;_.a=null;function ox(c,a,b){c.a=a;c.b=b;return c;}
+function nx(){}
+_=nx.prototype=new uT();_.tN=pfc+'HTMLTable$WidgetMapper$FreeNode';_.tI=81;_.a=0;_.b=null;function oz(){oz=s2;pz=mz(new lz(),'center');qz=mz(new lz(),'left');rz=mz(new lz(),'right');}
+var pz,qz,rz;function mz(b,a){b.a=a;return b;}
+function lz(){}
+_=lz.prototype=new uT();_.tN=pfc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=82;_.a=null;function xz(){xz=s2;yz=vz(new uz(),'bottom');zz=vz(new uz(),'middle');Az=vz(new uz(),'top');}
+var yz,zz,Az;function vz(a,b){a.a=b;return a;}
+function uz(){}
+_=uz.prototype=new uT();_.tN=pfc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=83;_.a=null;function Ez(a){a.a=(oz(),qz);a.c=(xz(),Az);}
+function Fz(a){up(a);Ez(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function aA(b,c){var a;a=cA(b);td(b.b,a);xq(b,c,a);}
+function cA(b){var a;a=ee();wp(b,a,b.a);xp(b,a,b.c);return a;}
+function dA(c,d,a){var b;Aq(c,a);b=cA(c);hf(c.b,b,a);Eq(c,d,b,a,false);}
+function eA(c,d){var a,b;b=ff(d.ub());a=ar(c,d);if(a){nf(c.b,b);}return a;}
+function fA(b,a){b.c=a;}
+function gA(a){return eA(this,a);}
+function Dz(){}
+_=Dz.prototype=new tp();_.ee=gA;_.tN=pfc+'HorizontalPanel';_.tI=84;_.b=null;function iA(a){a.me(xd());td(a.ub(),a.a=vd());vN(a,1);uN(a,'gwt-Hyperlink');return a;}
+function jA(c,b,a){iA(c);mA(c,b);lA(c,a);return c;}
+function lA(b,a){b.b=a;xf(b.a,'href','#'+a);}
+function mA(b,a){Bf(b.a,a);}
+function nA(a){if(xe(a)==1){ah(this.b);ye(a);}}
+function hA(){}
+_=hA.prototype=new oO();_.wc=nA;_.tN=pfc+'Hyperlink';_.tI=85;_.a=null;_.b=null;function hB(){hB=s2;z0(new DZ());}
+function dB(a){hB();gB(a,CA(new BA(),a));uN(a,'gwt-Image');return a;}
+function eB(a,b){hB();gB(a,DA(new BA(),a,b));uN(a,'gwt-Image');return a;}
+function fB(b,a){if(b.a===null){b.a=qq(new pq());}EX(b.a,a);}
+function gB(b,a){b.b=a;}
+function jB(a,b){a.b.ve(a,b);}
+function iB(c,e,b,d,f,a){c.b.ue(c,e,b,d,f,a);}
+function kB(a){switch(xe(a)){case 1:{if(this.a!==null){sq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
+function oA(){}
+_=oA.prototype=new oO();_.wc=kB;_.tN=pfc+'Image';_.tI=86;_.a=null;_.b=null;function rA(){}
+function pA(){}
+_=pA.prototype=new uT();_.pb=rA;_.tN=pfc+'Image$1';_.tI=87;function zA(){}
+_=zA.prototype=new uT();_.tN=pfc+'Image$State';_.tI=88;function uA(){uA=s2;wA=new FP();}
+function tA(d,b,f,c,e,g,a){uA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.me(cQ(wA,f,c,e,g,a));vN(b,131197);vA(d,b);return d;}
+function vA(b,a){eg(new pA());}
+function yA(a,b){gB(a,DA(new BA(),a,b));}
+function xA(b,e,c,d,f,a){if(!nU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;aQ(wA,b.ub(),e,c,d,f,a);vA(this,b);}}
+function sA(){}
+_=sA.prototype=new zA();_.ve=yA;_.ue=xA;_.tN=pfc+'Image$ClippedState';_.tI=89;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var wA;function CA(b,a){a.me(Bd());vN(a,229501);return b;}
+function DA(b,a,c){CA(b,a);FA(b,a,c);return b;}
+function FA(b,a,c){zf(a.ub(),c);}
+function bB(a,b){FA(this,a,b);}
+function aB(b,e,c,d,f,a){gB(b,tA(new sA(),b,e,c,d,f,a));}
+function BA(){}
+_=BA.prototype=new zA();_.ve=bB;_.ue=aB;_.tN=pfc+'Image$UnclippedState';_.tI=90;function oB(c,a,b){}
+function pB(c,a,b){}
+function qB(c,a,b){}
+function mB(){}
+_=mB.prototype=new uT();_.cd=oB;_.dd=pB;_.ed=qB;_.tN=pfc+'KeyboardListenerAdapter';_.tI=91;function sB(a){CX(a);return a;}
+function uB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.cd(e,b,d);}}
+function vB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.dd(e,b,d);}}
+function wB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.ed(e,b,d);}}
+function xB(d,c,a){var b;b=yB(a);switch(xe(a)){case 128:uB(d,c,bc(se(a)),b);break;case 512:wB(d,c,bc(se(a)),b);break;case 256:vB(d,c,bc(se(a)),b);break;}}
+function yB(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
+function rB(){}
+_=rB.prototype=new AX();_.tN=pfc+'KeyboardListenerCollection';_.tI=92;function tC(){tC=s2;hu();DC=new fC();}
+function mC(a){tC();nC(a,false);return a;}
+function nC(b,a){tC();fu(b,be(a));vN(b,1024);uN(b,'gwt-ListBox');return b;}
+function oC(b,a){if(b.b===null){b.b=Bp(new Ap());}EX(b.b,a);}
+function pC(b,a){yC(b,a,(-1));}
+function qC(b,a,c){zC(b,a,c,(-1));}
+function rC(b,a){if(a<0||a>=uC(b)){throw new uS();}}
+function sC(a){gC(DC,a.ub());}
+function uC(a){return iC(DC,a.ub());}
+function vC(b,a){rC(b,a);return jC(DC,b.ub(),a);}
+function wC(a){return af(a.ub(),'selectedIndex');}
+function xC(b,a){rC(b,a);return kC(DC,b.ub(),a);}
+function yC(c,b,a){zC(c,b,b,a);}
+function zC(c,b,d,a){jf(c.ub(),b,d,a);}
+function AC(b,a){rC(b,a);lC(DC,b.ub(),a);}
+function BC(b,a){wf(b.ub(),'selectedIndex',a);}
+function CC(a,b){wf(a.ub(),'size',b);}
+function EC(a){if(xe(a)==1024){if(this.b!==null){Dp(this.b,this);}}else{iu(this,a);}}
+function eC(){}
+_=eC.prototype=new eu();_.wc=EC;_.tN=pfc+'ListBox';_.tI=93;_.b=null;var DC;function gC(b,a){a.options.length=0;}
+function iC(b,a){return a.options.length;}
+function jC(c,b,a){return b.options[a].text;}
+function kC(c,b,a){return b.options[a].value;}
+function lC(c,b,a){b.options[a]=null;}
+function fC(){}
+_=fC.prototype=new uT();_.tN=pfc+'ListBox$Impl';_.tI=94;function aD(a){CX(a);return a;}
+function cD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.hd(c,e,f);}}
+function dD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.id(c);}}
+function eD(e,c,a){var b,d,f,g,h;d=c.ub();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:cD(e,c,g,h);break;case 8:hD(e,c,g,h);break;case 64:gD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){dD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){fD(e,c);}break;}}
+function fD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.jd(c);}}
+function gD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.kd(c,e,f);}}
+function hD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.ld(c,e,f);}}
+function FC(){}
+_=FC.prototype=new AX();_.tN=pfc+'MouseListenerCollection';_.tI=95;function jD(){}
+_=jD.prototype=new uT();_.tN=pfc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=96;_.a=null;_.b=null;function nD(b,a){rD(a,b.Ed());sD(a,b.Ed());}
+function oD(a){return a.a;}
+function pD(a){return a.b;}
+function qD(b,a){b.gf(oD(a));b.gf(pD(a));}
+function rD(a,b){a.a=b;}
+function sD(a,b){a.b=b;}
+function qK(){qK=s2;hu();xK=new jR();}
+function mK(b,a){qK();fu(b,a);vN(b,1024);return b;}
+function nK(b,a){if(b.f===null){b.f=Bp(new Ap());}EX(b.f,a);}
+function oK(b,a){if(b.i===null){b.i=sB(new rB());}EX(b.i,a);}
+function pK(a){if(a.h!==null){ye(a.h);}}
+function rK(a){return bf(a.ub(),'value');}
+function sK(b,a){uK(b,a,0);}
+function tK(b,a){xf(b.ub(),'name',a);}
+function uK(c,b,a){if(a<0){throw vS(new uS(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>rU(rK(c))){throw vS(new uS(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+rU(rK(c)));}nR(xK,c.ub(),b,a);}
+function vK(b,a){xf(b.ub(),'value',a!==null?a:'');}
+function wK(a){if(this.g===null){this.g=qq(new pq());}EX(this.g,a);}
+function yK(a){var b;iu(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;xB(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){sq(this.g,this);}}else if(b==1024){if(this.f!==null){Dp(this.f,this);}}}
+function lK(){}
+_=lK.prototype=new eu();_.x=wK;_.wc=yK;_.tN=pfc+'TextBoxBase';_.tI=97;_.f=null;_.g=null;_.h=null;_.i=null;var xK;function ED(){ED=s2;qK();}
+function DD(a){ED();mK(a,Dd());uN(a,'gwt-PasswordTextBox');return a;}
+function CD(){}
+_=CD.prototype=new lK();_.tN=pfc+'PasswordTextBox';_.tI=98;function jF(b,a){kF(b,a,null);return b;}
+function kF(c,a,b){c.a=a;mF(c);return c;}
+function lF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=yF(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=yF(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=vF(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
+function mF(a){a.b=0;a.c={};a.d={};}
+function oF(b,a){return cY(pF(b,a,1),a);}
+function pF(c,b,a){var d;d=CX(new AX());if(b!==null&&a>0){rF(c,b,'',d,a);}return d;}
+function qF(a){return EE(new DE(),a);}
+function rF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=yF(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+BF(a);h.De(f,l,c,b);}}else{for(j in k){var l=d+BF(j);if(l.indexOf(f)==0){c.C(l);}if(c.Ce()>=b){return;}}for(var a in i){var l=d+BF(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ce()||h.b==1){h.nb(c,l);}else{for(var j in h.d){c.C(l+BF(j));}for(var g in h.c){c.C(l+BF(g)+'...');}}}}}}
+function sF(a){if(ac(a,1)){return lF(this,Fb(a,1));}else{throw sV(new rV(),'Cannot add non-Strings to PrefixTree');}}
+function tF(a){return lF(this,a);}
+function uF(a){if(ac(a,1)){return oF(this,Fb(a,1));}else{return false;}}
+function vF(a){return jF(new CE(),a);}
+function wF(b,c){var a;for(a=qF(this);bF(a);){b.C(c+Fb(eF(a),1));}}
+function xF(){return qF(this);}
+function yF(a){return Eb(58)+a;}
+function zF(){return this.b;}
+function AF(d,c,b,a){rF(this,d,c,b,a);}
+function BF(a){return wU(a,1);}
+function CE(){}
+_=CE.prototype=new uV();_.C=sF;_.D=tF;_.eb=uF;_.nb=wF;_.qc=xF;_.Ce=zF;_.De=AF;_.tN=pfc+'PrefixTree';_.tI=99;_.a=0;_.b=0;_.c=null;_.d=null;function EE(a,b){cF(a);FE(a,b,'');return a;}
+function FE(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
+function bF(a){return dF(a,true)!==null;}
+function cF(a){a.a=[];}
+function eF(a){var b;b=dF(a,false);if(b===null){if(!bF(a)){throw b2(new a2(),'No more elements in the iterator');}else{throw AT(new zT(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
+function dF(g,b){var d=g.a;var c=yF;var i=BF;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
+function fF(b,a){FE(this,b,a);}
+function gF(){return bF(this);}
+function hF(){return eF(this);}
+function iF(){throw sV(new rV(),'PrefixTree does not support removal.  Use clear()');}
+function DE(){}
+_=DE.prototype=new uT();_.A=fF;_.kc=gF;_.sc=hF;_.ce=iF;_.tN=pfc+'PrefixTree$PrefixTreeIterator';_.tI=100;_.a=null;function FF(){FF=s2;dq();}
+function DF(b,a){FF();bq(b,Ed(a));uN(b,'gwt-RadioButton');return b;}
+function EF(c,b,a){FF();DF(c,b);hq(c,a);return c;}
+function CF(){}
+_=CF.prototype=new Fp();_.tN=pfc+'RadioButton';_.tI=101;function gG(){gG=s2;lG=z0(new DZ());}
+function fG(b,a){gG();cp(b);if(a===null){a=hG();}b.me(a);b.uc();return b;}
+function iG(){gG();return jG(null);}
+function jG(c){gG();var a,b;b=Fb(F0(lG,c),48);if(b!==null){return b;}a=null;if(lG.c==0){kG();}a1(lG,c,b=fG(new aG(),a));return b;}
+function hG(){gG();return $doc.body;}
+function kG(){gG();yh(new bG());}
+function aG(){}
+_=aG.prototype=new bp();_.tN=pfc+'RootPanel';_.tI=102;var lG;function dG(){var a,b;for(b=FW(oX((gG(),lG)));gX(b);){a=Fb(hX(b),48);if(a.oc()){a.Bc();}}}
+function eG(){return null;}
+function bG(){}
+_=bG.prototype=new uT();_.ud=dG;_.vd=eG;_.tN=pfc+'RootPanel$1';_.tI=103;function nG(a){AG(a);qG(a,false);vN(a,16384);return a;}
+function oG(b,a){nG(b);b.Ae(a);return b;}
+function qG(b,a){Df(b.ub(),'overflow',a?'scroll':'auto');}
+function rG(a){xe(a)==16384;}
+function mG(){}
+_=mG.prototype=new sG();_.wc=rG;_.tN=pfc+'ScrollPanel';_.tI=104;function uG(a){a.a=a.c.r!==null;}
+function vG(b,a){b.c=a;uG(b);return b;}
+function xG(){return this.a;}
+function yG(){if(!this.a||this.c.r===null){throw new a2();}this.a=false;return this.b=this.c.r;}
+function zG(){if(this.b!==null){this.c.ee(this.b);}}
+function tG(){}
+_=tG.prototype=new uT();_.kc=xG;_.sc=yG;_.ce=zG;_.tN=pfc+'SimplePanel$1';_.tI=105;_.b=null;function qH(b){var a;wq(b);a=ge();b.me(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);uN(b,'gwt-StackPanel');return b;}
+function rH(a,b){vH(a,b,a.f.c);}
+function sH(c,d,b,a){rH(c,d);xH(c,c.f.c-1,b,a);}
+function uH(d,a){var b,c;while(a!==null&& !ud(a,d.ub())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return BS(b);}else{return (-1);}}a=ff(a);}return (-1);}
+function vH(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=yq(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);FN(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');Eq(e,h,c,a,false);AH(e,a);if(e.b==(-1)){zH(e,0);}else{yH(e,a,false);if(e.b>=a){++e.b;}}}
+function wH(e,a,b){var c,d,f;c=ar(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}AH(e,d);}return c;}
+function xH(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
+function yH(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);FN(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);bO(d,e);Dq(c,a).ye(e);}
+function zH(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){yH(b,b.b,false);}b.b=a;yH(b,b.b,true);}
+function AH(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
+function BH(a){var b,c;if(xe(a)==1){c=ve(a);b=uH(this,c);if(b!=(-1)){zH(this,b);}}}
+function CH(a){return wH(this,Dq(this,a),a);}
+function DH(a){return wH(this,a,Cq(this,a));}
+function pH(){}
+_=pH.prototype=new uq();_.wc=BH;_.de=CH;_.ee=DH;_.tN=pfc+'StackPanel';_.tI=106;_.a=null;_.b=(-1);function EH(){}
+_=EH.prototype=new uT();_.tN=pfc+'SuggestOracle$Request';_.tI=107;_.a=20;_.b=null;function aI(){}
+_=aI.prototype=new uT();_.tN=pfc+'SuggestOracle$Response';_.tI=108;_.a=null;function fI(b,a){jI(a,b.Bd());kI(a,b.Ed());}
+function gI(a){return a.a;}
+function hI(a){return a.b;}
+function iI(b,a){b.df(gI(a));b.gf(hI(a));}
+function jI(a,b){a.a=b;}
+function kI(a,b){a.b=b;}
+function nI(b,a){qI(a,Fb(b.Dd(),49));}
+function oI(a){return a.a;}
+function pI(b,a){b.ff(oI(a));}
+function qI(a,b){a.a=b;}
+function sI(a){a.a=Fz(new Dz());}
+function tI(c){var a,b;sI(c);gr(c,c.a);vN(c,1);uN(c,'gwt-TabBar');fA(c.a,(xz(),yz));a=fz(new hw(),'&nbsp;',true);b=fz(new hw(),'&nbsp;',true);uN(a,'gwt-TabBarFirst');uN(b,'gwt-TabBarRest');a.qe('100%');b.qe('100%');aA(c.a,a);aA(c.a,b);a.qe('100%');c.a.ke(a,'100%');c.a.le(b,'100%');return c;}
+function uI(b,a){if(b.c===null){b.c=FI(new EI());}EX(b.c,a);}
+function vI(b,a){if(a<0||a>yI(b)){throw new uS();}}
+function wI(b,a){if(a<(-1)||a>=yI(b)){throw new uS();}}
+function yI(a){return a.a.f.c-2;}
+function zI(e,d,a,b){var c;vI(e,b);if(a){c=ez(new hw(),d);}else{c=CB(new AB(),d);}cC(c,false);DB(c,e);uN(c,'gwt-TabBarItem');dA(e.a,c,b+1);}
+function AI(b,a){var c;wI(b,a);c=Dq(b.a,a+1);if(c===b.b){b.b=null;}eA(b.a,c);}
+function BI(b,a){wI(b,a);if(b.c!==null){if(!bJ(b.c,b,a)){return false;}}CI(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=Dq(b.a,a+1);CI(b,b.b,true);if(b.c!==null){cJ(b.c,b,a);}return true;}
+function CI(c,a,b){if(a!==null){if(b){jN(a,'gwt-TabBarItem-selected');}else{pN(a,'gwt-TabBarItem-selected');}}}
+function DI(b){var a;for(a=1;a<this.a.f.c-1;++a){if(Dq(this.a,a)===b){BI(this,a-1);return;}}}
+function rI(){}
+_=rI.prototype=new er();_.zc=DI;_.tN=pfc+'TabBar';_.tI=109;_.b=null;_.c=null;function FI(a){CX(a);return a;}
+function bJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);if(!b.vc(c,d)){return false;}}return true;}
+function cJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);b.qd(c,d);}}
+function EI(){}
+_=EI.prototype=new AX();_.tN=pfc+'TabListenerCollection';_.tI=110;function rJ(a){a.b=nJ(new mJ());a.a=gJ(new fJ(),a.b);}
+function sJ(b){var a;rJ(b);a=hO(new fO());iO(a,b.b);iO(a,b.a);a.ke(b.a,'100%');b.b.Be('100%');uI(b.b,b);gr(b,a);uN(b,'gwt-TabPanel');uN(b.a,'gwt-TabPanelBottom');return b;}
+function tJ(c,d,b,a){xJ(c,d,b,a,c.a.f.c);}
+function wJ(b,a){return Dq(b.a,a);}
+function vJ(a,b){return Cq(a.a,b);}
+function xJ(d,e,c,a,b){iJ(d.a,e,c,a,b);}
+function yJ(b,a){return b.a.de(a);}
+function zJ(b,a){BI(b.b,a);}
+function AJ(){return Fq(this.a);}
+function BJ(a,b){return true;}
+function CJ(a,b){sr(this.a,b);}
+function DJ(a){return jJ(this.a,a);}
+function eJ(){}
+_=eJ.prototype=new er();_.qc=AJ;_.vc=BJ;_.qd=CJ;_.ee=DJ;_.tN=pfc+'TabPanel';_.tI=111;function gJ(b,a){mr(b);b.a=a;return b;}
+function iJ(e,f,d,a,b){var c;c=Cq(e,f);if(c!=(-1)){jJ(e,f);if(c<b){b--;}}pJ(e.a,d,a,b);pr(e,f,b);}
+function jJ(b,c){var a;a=Cq(b,c);if(a!=(-1)){qJ(b.a,a);return qr(b,c);}return false;}
+function kJ(){throw sV(new rV(),'Use TabPanel.clear() to alter the DeckPanel');}
+function lJ(a){return jJ(this,a);}
+function fJ(){}
+_=fJ.prototype=new lr();_.ab=kJ;_.ee=lJ;_.tN=pfc+'TabPanel$TabbedDeckPanel';_.tI=112;_.a=null;function nJ(a){tI(a);return a;}
+function pJ(d,c,a,b){zI(d,c,a,b);}
+function qJ(b,a){AI(b,a);}
+function mJ(){}
+_=mJ.prototype=new rI();_.tN=pfc+'TabPanel$UnmodifiableTabBar';_.tI=113;function FJ(a){CX(a);return a;}
+function bK(f,e,d,a){var b,c;for(b=f.qc();b.kc();){c=Fb(b.sc(),51);c.xc(e,d,a);}}
+function EJ(){}
+_=EJ.prototype=new AX();_.tN=pfc+'TableListenerCollection';_.tI=114;function fK(){fK=s2;qK();}
+function eK(a){fK();mK(a,he());uN(a,'gwt-TextArea');return a;}
+function gK(a){return mR(xK,a.ub());}
+function hK(a){return af(a.ub(),'rows');}
+function iK(a,b){wf(a.ub(),'cols',b);}
+function jK(b,a){wf(b.ub(),'rows',a);}
+function dK(){}
+_=dK.prototype=new lK();_.tN=pfc+'TextArea';_.tI=115;function AK(){AK=s2;qK();}
+function zK(a){AK();mK(a,Fd());uN(a,'gwt-TextBox');return a;}
+function BK(b,a){wf(b.ub(),'size',a);}
+function kK(){}
+_=kK.prototype=new lK();_.tN=pfc+'TextBox';_.tI=116;function iM(a){a.a=z0(new DZ());}
+function jM(a){kM(a,gL(new fL()));return a;}
+function kM(b,a){iM(b);b.d=a;b.me(xd());Df(b.ub(),'position','relative');b.c=qQ((cu(),du));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.ub(),b.c);vN(b,1021);Ef(b.c,6144);b.g=EK(new DK(),b);BL(b.g,b);uN(b,'gwt-Tree');return b;}
+function mM(c,a){var b;b=pL(new mL(),a);lM(c,b);return b;}
+function lM(b,a){FK(b.g,a);}
+function nM(b,a){if(b.f===null){b.f=dM(new cM());}EX(b.f,a);}
+function oM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){vL(sL(c.g,a));}}
+function qM(d,a,c,b){if(b===null||ud(b,c)){return;}qM(d,a,c,ff(b));EX(a,hc(b,hg));}
+function rM(e,d,b){var a,c;a=CX(new AX());qM(e,a,e.ub(),b);c=tM(e,a,0,d);if(c!==null){if(kf(uL(c),b)){AL(c,!c.f,true);return true;}else if(kf(c.ub(),b)){AM(e,c,true,!bN(e,b));return true;}}return false;}
+function sM(b,a){if(!a.f){return a;}return sM(b,sL(a,a.c.b-1));}
+function tM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(dY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=sL(h,d);if(ud(b.ub(),c)){g=tM(i,a,e+1,sL(h,d));if(g===null){return b;}return g;}}return tM(i,a,e+1,h);}
+function uM(b,a){if(b.f!==null){gM(b.f,a);}}
+function vM(b,a){return sL(b.g,a);}
+function wM(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[610],[13],[a.a.c],null);nX(a.a).Fe(b);return oP(a,b);}
+function xM(h,g){var a,b,c,d,e,f,i,j;c=tL(g);{f=g.d;a=lN(h);b=mN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);sQ((cu(),du),h.c);}}
+function yM(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=rL(c,d);if(!a|| !d.f){if(b<c.c.b-1){AM(e,sL(c,b+1),true,true);}else{yM(e,c,false);}}else if(d.c.b>0){AM(e,sL(d,0),true,true);}}
+function zM(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=rL(b,c);if(a>0){d=sL(b,a-1);AM(e,sM(e,d),true,true);}else{AM(e,b,true,true);}}
+function AM(d,b,a,c){if(b===d.g){return;}if(d.b!==null){yL(d.b,false);}d.b=b;if(c&&d.b!==null){xM(d,d.b);yL(d.b,true);if(a&&d.f!==null){fM(d.f,d.b);}}}
+function DM(b,c){var a;a=Fb(F0(b.a,c),52);if(a===null){return false;}DL(a,null);return true;}
+function BM(b,a){bL(b.g,a);}
+function CM(a){while(a.g.c.b>0){BM(a,vM(a,0));}}
+function EM(b,a){if(a){sQ((cu(),du),b.c);}else{mQ((cu(),du),b.c);}}
+function FM(b,a){aN(b,a,true);}
+function aN(c,b,a){if(b===null){if(c.b===null){return;}yL(c.b,false);c.b=null;return;}AM(c,b,a,true);}
+function bN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
+function cN(){var a,b;for(b=wM(this);hP(b);){a=iP(b);a.uc();}yf(this.c,this);}
+function dN(){var a,b;for(b=wM(this);hP(b);){a=iP(b);a.Bc();}yf(this.c,null);}
+function eN(){return wM(this);}
+function fN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(bN(this,b)){}else{EM(this,true);}break;}case 4:{if(jg(qe(c),hc(this.ub(),hg))){rM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){AM(this,sL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{zM(this,this.b);ye(c);break;}case 40:{yM(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){zL(this.b,false);}else{f=this.b.g;if(f!==null){FM(this,f);}}ye(c);break;}case 39:{if(!this.b.f){zL(this.b,true);}else if(this.b.c.b>0){FM(this,sL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=CX(new AX());qM(this,a,this.ub(),ve(c));e=tM(this,a,0,this.g);if(e!==this.b){aN(this,e,true);}}}case 256:{break;}}this.e=d;}
+function gN(){EL(this.g);}
+function hN(a){return DM(this,a);}
+function CK(){}
+_=CK.prototype=new oO();_.kb=cN;_.mb=dN;_.qc=eN;_.wc=fN;_.fd=gN;_.ee=hN;_.tN=pfc+'Tree';_.tI=117;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function nL(a){a.c=CX(new AX());a.i=dB(new oA());}
+function oL(d){var a,b,c,e;nL(d);d.me(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.ub(),d.e);td(d.ub(),d.b);td(c,d.i.ub());td(b,d.d);Df(d.d,'display','inline');Df(d.ub(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');FN(d.d,'gwt-TreeItem',true);return d;}
+function pL(b,a){oL(b);wL(b,a);return b;}
+function sL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(dY(b.c,a),52);}
+function rL(b,a){return eY(b.c,a);}
+function tL(a){var b;b=a.l;{return null;}}
+function uL(a){return a.i.ub();}
+function vL(a){if(a.g!==null){a.g.ae(a);}else if(a.j!==null){BM(a.j,a);}}
+function wL(b,a){DL(b,null);Af(b.d,a);}
+function xL(b,a){b.g=a;}
+function yL(b,a){if(b.h==a){return;}b.h=a;FN(b.d,'gwt-TreeItem-selected',a);}
+function zL(b,a){AL(b,a,true);}
+function AL(c,b,a){if(b&&c.c.b==0){return;}c.f=b;FL(c);if(a&&c.j!==null){uM(c.j,c);}}
+function BL(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){FM(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){BL(Fb(dY(d.c,a),52),c);}FL(d);}
+function CL(a,b){a.k=b;}
+function DL(b,a){Af(b.d,'');b.l=a;}
+function FL(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){bO(b.b,false);gQ((hL(),kL),b.i);return;}if(b.f){bO(b.b,true);gQ((hL(),lL),b.i);}else{bO(b.b,false);gQ((hL(),jL),b.i);}}
+function EL(c){var a,b;FL(c);for(a=0,b=c.c.b;a<b;++a){EL(Fb(dY(c.c,a),52));}}
+function aM(a){if(a.g!==null||a.j!==null){vL(a);}xL(a,this);EX(this.c,a);Df(a.ub(),'marginLeft','16px');td(this.b,a.ub());BL(a,this.j);if(this.c.b==1){FL(this);}}
+function bM(a){if(!cY(this.c,a)){return;}BL(a,null);nf(this.b,a.ub());xL(a,null);iY(this.c,a);if(this.c.b==0){FL(this);}}
+function mL(){}
+_=mL.prototype=new iN();_.y=aM;_.ae=bM;_.tN=pfc+'TreeItem';_.tI=118;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function EK(b,a){b.a=a;oL(b);return b;}
+function FK(b,a){if(a.g!==null||a.j!==null){vL(a);}td(b.a.ub(),a.ub());BL(a,b.j);xL(a,null);EX(b.c,a);Cf(a.ub(),'marginLeft',0);}
+function bL(b,a){if(!cY(b.c,a)){return;}BL(a,null);xL(a,null);iY(b.c,a);nf(b.a.ub(),a.ub());}
+function cL(a){FK(this,a);}
+function dL(a){bL(this,a);}
+function DK(){}
+_=DK.prototype=new mL();_.y=cL;_.ae=dL;_.tN=pfc+'Tree$1';_.tI=119;function hL(){hL=s2;iL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';jL=fQ(new eQ(),iL,0,0,16,16);kL=fQ(new eQ(),iL,16,0,16,16);lL=fQ(new eQ(),iL,32,0,16,16);}
+function gL(a){hL();return a;}
+function fL(){}
+_=fL.prototype=new uT();_.tN=pfc+'TreeImages_generatedBundle';_.tI=120;var iL,jL,kL,lL;function dM(a){CX(a);return a;}
+function fM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.rd(b);}}
+function gM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.sd(b);}}
+function cM(){}
+_=cM.prototype=new AX();_.tN=pfc+'TreeListenerCollection';_.tI=121;function gO(a){a.a=(oz(),qz);a.b=(xz(),Az);}
+function hO(a){up(a);gO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function iO(b,d){var a,c;c=fe();a=kO(b);td(c,a);td(b.d,c);xq(b,d,a);}
+function kO(b){var a;a=ee();wp(b,a,b.a);xp(b,a,b.b);return a;}
+function lO(b,a){b.a=a;}
+function mO(b,a){b.b=a;}
+function nO(c){var a,b;b=ff(c.ub());a=ar(this,c);if(a){nf(this.d,ff(b));}return a;}
+function fO(){}
+_=fO.prototype=new tp();_.ee=nO;_.tN=pfc+'VerticalPanel';_.tI=122;function yO(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[610],[13],[4],null);return b;}
+function zO(a,b){DO(a,b,a.c);}
+function BO(b,a){if(a<0||a>=b.c){throw new uS();}return b.a[a];}
+function CO(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
+function DO(d,e,a){var b,c;if(a<0||a>d.c){throw new uS();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[610],[13],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
+function EO(a){return rO(new qO(),a);}
+function FO(c,b){var a;if(b<0||b>=c.c){throw new uS();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
+function aP(b,c){var a;a=CO(b,c);if(a==(-1)){throw new a2();}FO(b,a);}
+function pO(){}
+_=pO.prototype=new uT();_.tN=pfc+'WidgetCollection';_.tI=123;_.a=null;_.b=null;_.c=0;function rO(b,a){b.b=a;return b;}
+function tO(a){return a.a<a.b.c-1;}
+function uO(a){if(a.a>=a.b.c){throw new a2();}return a.b.a[++a.a];}
+function vO(){return tO(this);}
+function wO(){return uO(this);}
+function xO(){if(this.a<0||this.a>=this.b.c){throw new rS();}this.b.b.ee(this.b.a[this.a--]);}
+function qO(){}
+_=qO.prototype=new uT();_.kc=vO;_.sc=wO;_.ce=xO;_.tN=pfc+'WidgetCollection$WidgetIterator';_.tI=124;_.a=(-1);function nP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[610],[13],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
+function oP(b,a){return eP(new cP(),a,b);}
+function dP(a){a.e=a.c;{gP(a);}}
+function eP(a,b,c){a.c=b;a.d=c;dP(a);return a;}
+function gP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
+function hP(a){return a.a<a.c.a;}
+function iP(a){var b;if(!hP(a)){throw new a2();}a.b=a.a;b=a.c[a.a];gP(a);return b;}
+function jP(){return hP(this);}
+function kP(){return iP(this);}
+function lP(){if(this.b<0){throw new rS();}if(!this.f){this.e=nP(this.e);this.f=true;}DM(this.d,this.c[this.b]);this.b=(-1);}
+function cP(){}
+_=cP.prototype=new uT();_.kc=jP;_.sc=kP;_.ce=lP;_.tN=pfc+'WidgetIterators$1';_.tI=125;_.a=(-1);_.b=(-1);_.f=false;function aQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
+function cQ(c,f,b,e,g,a){var d;d=ce();Af(d,dQ(c,f,b,e,g,a));return df(d);}
+function dQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
+function FP(){}
+_=FP.prototype=new uT();_.tN=qfc+'ClippedImageImpl';_.tI=126;function fQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
+function gQ(b,a){iB(a,b.d,b.b,b.c,b.e,b.a);}
+function eQ(){}
+_=eQ.prototype=new ip();_.tN=qfc+'ClippedImagePrototype';_.tI=127;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function yQ(){yQ=s2;BQ=lQ(new jQ());CQ=BQ!==null?xQ(new iQ()):BQ;}
+function xQ(a){yQ();return a;}
+function zQ(a){a.blur();}
+function AQ(a){a.focus();}
+function DQ(a,b){a.tabIndex=b;}
+function iQ(){}
+_=iQ.prototype=new uT();_.F=zQ;_.rb=AQ;_.se=DQ;_.tN=qfc+'FocusImpl';_.tI=128;var BQ,CQ;function nQ(){nQ=s2;yQ();}
+function kQ(a){a.a=oQ(a);a.b=pQ(a);a.c=rQ(a);}
+function lQ(a){nQ();xQ(a);kQ(a);return a;}
+function mQ(b,a){a.firstChild.blur();}
+function oQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
+function pQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
+function qQ(c){var a=$doc.createElement('div');var b=c.gb();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
+function rQ(a){return function(){this.firstChild.focus();};}
+function sQ(b,a){a.firstChild.focus();}
+function tQ(a){mQ(this,a);}
+function uQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
+function vQ(a){sQ(this,a);}
+function wQ(a,b){a.firstChild.tabIndex=b;}
+function jQ(){}
+_=jQ.prototype=new iQ();_.F=tQ;_.gb=uQ;_.rb=vQ;_.se=wQ;_.tN=qfc+'FocusImplOld';_.tI=129;function bR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
+function cR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.ad();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Fc();};}
+function dR(c,b,a){b.enctype=a;b.encoding=a;}
+function eR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
+function fR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
+function EQ(){}
+_=EQ.prototype=new uT();_.tN=qfc+'FormPanelImpl';_.tI=130;function iR(a){return xd();}
+function gR(){}
+_=gR.prototype=new uT();_.tN=qfc+'PopupImpl';_.tI=131;function lR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
+function mR(b,a){return lR(b,a);}
+function nR(d,a,c,b){a.setSelectionRange(c,c+b);}
+function jR(){}
+_=jR.prototype=new uT();_.tN=qfc+'TextBoxImpl';_.tI=132;function rR(){}
+_=rR.prototype=new uT();_.tN=rfc+'OutputStream';_.tI=133;function pR(){}
+_=pR.prototype=new rR();_.tN=rfc+'FilterOutputStream';_.tI=134;function tR(){}
+_=tR.prototype=new pR();_.tN=rfc+'PrintStream';_.tI=135;function vR(){}
+_=vR.prototype=new zT();_.tN=sfc+'ArrayStoreException';_.tI=136;function zR(){zR=s2;AR=yR(new xR(),false);BR=yR(new xR(),true);}
+function yR(a,b){zR();a.a=b;return a;}
+function CR(a){return ac(a,55)&&Fb(a,55).a==this.a;}
+function DR(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
+function ER(){return this.a?'true':'false';}
+function FR(a){zR();return a?BR:AR;}
+function xR(){}
+_=xR.prototype=new uT();_.eQ=CR;_.hC=DR;_.tS=ER;_.tN=sfc+'Boolean';_.tI=137;_.a=false;var AR,BR;function dS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+eT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
+function eS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
+function gS(b,a){AT(b,a);return b;}
+function fS(){}
+_=fS.prototype=new zT();_.tN=sfc+'ClassCastException';_.tI=138;function pS(b,a){AT(b,a);return b;}
+function oS(){}
+_=oS.prototype=new zT();_.tN=sfc+'IllegalArgumentException';_.tI=139;function sS(b,a){AT(b,a);return b;}
+function rS(){}
+_=rS.prototype=new zT();_.tN=sfc+'IllegalStateException';_.tI=140;function vS(b,a){AT(b,a);return b;}
+function uS(){}
+_=uS.prototype=new zT();_.tN=sfc+'IndexOutOfBoundsException';_.tI=141;function oT(){oT=s2;{tT();}}
+function pT(a){oT();return isNaN(a);}
+function qT(e,d,c,h){oT();var a,b,f,g;if(e===null){throw mT(new lT(),'Unable to parse null');}b=rU(e);f=b>0&&iU(e,0)==45?1:0;for(a=f;a<b;a++){if(dS(iU(e,a),d)==(-1)){throw mT(new lT(),'Could not parse '+e+' in radix '+d);}}g=rT(e,d);if(pT(g)){throw mT(new lT(),'Unable to parse '+e);}else if(g<c||g>h){throw mT(new lT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
+function rT(b,a){oT();return parseInt(b,a);}
+function tT(){oT();sT=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
+var sT=null;function yS(){yS=s2;oT();}
+function BS(a){yS();return CS(a,10);}
+function CS(b,a){yS();return cc(qT(b,a,(-2147483648),2147483647));}
+function DS(a){yS();return dV(a);}
+var zS=2147483647,AS=(-2147483648);function FS(){FS=s2;oT();}
+function aT(a){FS();return eV(a);}
+function dT(a){return a<0?-a:a;}
+function eT(a,b){return a<b?a:b;}
+function fT(){}
+_=fT.prototype=new zT();_.tN=sfc+'NegativeArraySizeException';_.tI=142;function iT(b,a){AT(b,a);return b;}
+function hT(){}
+_=hT.prototype=new zT();_.tN=sfc+'NullPointerException';_.tI=143;function mT(b,a){pS(b,a);return b;}
+function lT(){}
+_=lT.prototype=new oS();_.tN=sfc+'NumberFormatException';_.tI=144;function iU(b,a){return b.charCodeAt(a);}
+function kU(f,c){var a,b,d,e,g,h;h=rU(f);e=rU(c);b=eT(h,e);for(a=0;a<b;a++){g=iU(f,a);d=iU(c,a);if(g!=d){return g-d;}}return h-e;}
+function lU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
+function nU(b,a){if(!ac(a,1))return false;return CU(b,a);}
+function mU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
+function oU(b,a){return b.indexOf(String.fromCharCode(a));}
+function pU(b,a){return b.indexOf(a);}
+function qU(c,b,a){return c.indexOf(b,a);}
+function rU(a){return a.length;}
+function sU(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
+function tU(b,a){return uU(b,a,0);}
+function uU(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=BU(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
+function vU(b,a){return pU(b,a)==0;}
+function wU(b,a){return b.substr(a,b.length-a);}
+function xU(c,a,b){return c.substr(a,b-a);}
+function yU(d){var a,b,c;c=rU(d);a=yb('[C',[606],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=iU(d,b);return a;}
+function zU(a){return a.toLowerCase();}
+function AU(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
+function BU(a){return yb('[Ljava.lang.String;',[605],[1],[a],null);}
+function CU(a,b){return String(a)==b;}
+function DU(a){if(ac(a,1)){return kU(this,Fb(a,1));}else{throw gS(new fS(),'Cannot compare '+a+" with String '"+this+"'");}}
+function EU(a){return nU(this,a);}
+function aV(){var a=FU;if(!a){a=FU={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
+function bV(){return this;}
+function cV(a){return String.fromCharCode(a);}
+function dV(a){return ''+a;}
+function eV(a){return ''+a;}
+function fV(a){return a!==null?a.tS():'null';}
+_=String.prototype;_.bb=DU;_.eQ=EU;_.hC=aV;_.tS=bV;_.tN=sfc+'String';_.tI=2;var FU=null;function FT(a){cU(a);return a;}
+function aU(a,b){return bU(a,cV(b));}
+function bU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
+function cU(a){dU(a,'');}
+function dU(b,a){b.js=[a];b.length=a.length;}
+function fU(a){a.tc();return a.js[0];}
+function gU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
+function hU(){return fU(this);}
+function ET(){}
+_=ET.prototype=new uT();_.tc=gU;_.tS=hU;_.tN=sfc+'StringBuffer';_.tI=145;function hV(){hV=s2;kV=new tR();}
+function iV(){hV();return new Date().getTime();}
+function jV(a){hV();return B(a);}
+var kV;function sV(b,a){AT(b,a);return b;}
+function rV(){}
+_=rV.prototype=new zT();_.tN=sfc+'UnsupportedOperationException';_.tI=146;function EV(b,a){b.c=a;return b;}
+function aW(a){return a.a<a.c.Ce();}
+function bW(){return aW(this);}
+function cW(){if(!aW(this)){throw new a2();}return this.c.hc(this.b=this.a++);}
+function dW(){if(this.b<0){throw new rS();}this.c.de(this.b);this.a=this.b;this.b=(-1);}
+function DV(){}
+_=DV.prototype=new uT();_.kc=bW;_.sc=cW;_.ce=dW;_.tN=tfc+'AbstractList$IteratorImpl';_.tI=147;_.a=0;_.b=(-1);function mX(f,d,e){var a,b,c;for(b=u0(f.ob());m0(b);){a=n0(b);c=a.yb();if(d===null?c===null:d.eQ(c)){if(e){o0(b);}return a;}}return null;}
+function nX(b){var a;a=b.ob();return oW(new nW(),b,a);}
+function oX(b){var a;a=E0(b);return DW(new CW(),b,a);}
+function pX(a){return mX(this,a,false)!==null;}
+function qX(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=nX(this);e=f.rc();if(!xX(c,e)){return false;}for(a=qW(c);xW(a);){b=yW(a);h=this.ic(b);g=f.ic(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
+function rX(b){var a;a=mX(this,b,false);return a===null?null:a.ec();}
+function sX(){var a,b,c;b=0;for(c=u0(this.ob());m0(c);){a=n0(c);b+=a.hC();}return b;}
+function tX(){return nX(this);}
+function uX(){var a,b,c,d;d='{';a=false;for(c=u0(this.ob());m0(c);){b=n0(c);if(a){d+=', ';}else{a=true;}d+=fV(b.yb());d+='=';d+=fV(b.ec());}return d+'}';}
+function mW(){}
+_=mW.prototype=new uT();_.db=pX;_.eQ=qX;_.ic=rX;_.hC=sX;_.rc=tX;_.tS=uX;_.tN=tfc+'AbstractMap';_.tI=148;function xX(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ce()!=e.Ce()){return false;}for(a=c.qc();a.kc();){d=a.sc();if(!e.eb(d)){return false;}}return true;}
+function yX(a){return xX(this,a);}
+function zX(){var a,b,c;a=0;for(b=this.qc();b.kc();){c=b.sc();if(c!==null){a+=c.hC();}}return a;}
+function vX(){}
+_=vX.prototype=new uV();_.eQ=yX;_.hC=zX;_.tN=tfc+'AbstractSet';_.tI=149;function oW(b,a,c){b.a=a;b.b=c;return b;}
+function qW(b){var a;a=u0(b.b);return vW(new uW(),b,a);}
+function rW(a){return this.a.db(a);}
+function sW(){return qW(this);}
+function tW(){return this.b.a.c;}
+function nW(){}
+_=nW.prototype=new vX();_.eb=rW;_.qc=sW;_.Ce=tW;_.tN=tfc+'AbstractMap$1';_.tI=150;function vW(b,a,c){b.a=c;return b;}
+function xW(a){return m0(a.a);}
+function yW(b){var a;a=n0(b.a);return a.yb();}
+function zW(){return xW(this);}
+function AW(){return yW(this);}
+function BW(){o0(this.a);}
+function uW(){}
+_=uW.prototype=new uT();_.kc=zW;_.sc=AW;_.ce=BW;_.tN=tfc+'AbstractMap$2';_.tI=151;function DW(b,a,c){b.a=a;b.b=c;return b;}
+function FW(b){var a;a=u0(b.b);return eX(new dX(),b,a);}
+function aX(a){return D0(this.a,a);}
+function bX(){return FW(this);}
+function cX(){return this.b.a.c;}
+function CW(){}
+_=CW.prototype=new uV();_.eb=aX;_.qc=bX;_.Ce=cX;_.tN=tfc+'AbstractMap$3';_.tI=152;function eX(b,a,c){b.a=c;return b;}
+function gX(a){return m0(a.a);}
+function hX(a){var b;b=n0(a.a).ec();return b;}
+function iX(){return gX(this);}
+function jX(){return hX(this);}
+function kX(){o0(this.a);}
+function dX(){}
+_=dX.prototype=new uT();_.kc=iX;_.sc=jX;_.ce=kX;_.tN=tfc+'AbstractMap$4';_.tI=153;function yY(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.cb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
+function zY(a){yY(a,a.a,(fZ(),gZ));}
+function CY(){CY=s2;t1(new s1());DY=z0(new DZ());CX(new AX());}
+function EY(c,d){CY();var a,b;b=c.b;for(a=0;a<b;a++){jY(c,a,d[a]);}}
+function FY(a){CY();var b;b=a.Ee();zY(b);EY(a,b);}
+var DY;function fZ(){fZ=s2;gZ=new cZ();}
+var gZ;function eZ(a,b){return Fb(a,34).bb(b);}
+function cZ(){}
+_=cZ.prototype=new uT();_.cb=eZ;_.tN=tfc+'Comparators$1';_.tI=154;function kZ(){kZ=s2;rZ=zb('[Ljava.lang.String;',605,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);sZ=zb('[Ljava.lang.String;',605,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
+function iZ(a){kZ();nZ(a);return a;}
+function jZ(b,a){kZ();oZ(b,a);return b;}
+function lZ(c,a){var b,d;d=mZ(c);b=mZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
+function mZ(a){return a.jsdate.getTime();}
+function nZ(a){a.jsdate=new Date();}
+function oZ(b,a){b.jsdate=new Date(a);}
+function pZ(a){return a.jsdate.toLocaleString();}
+function qZ(h){var a=h.jsdate;var g=yZ;var b=uZ(h.jsdate.getDay());var e=xZ(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
+function tZ(a){return lZ(this,Fb(a,59));}
+function uZ(a){kZ();return rZ[a];}
+function vZ(a){return ac(a,59)&&mZ(this)==mZ(Fb(a,59));}
+function wZ(){return cc(mZ(this)^mZ(this)>>>32);}
+function xZ(a){kZ();return sZ[a];}
+function yZ(a){kZ();if(a<10){return '0'+a;}else{return dV(a);}}
+function zZ(){return qZ(this);}
+function hZ(){}
+_=hZ.prototype=new uT();_.bb=tZ;_.eQ=vZ;_.hC=wZ;_.tS=zZ;_.tN=tfc+'Date';_.tI=155;var rZ,sZ;function B0(){B0=s2;c1=i1();}
+function y0(a){{A0(a);}}
+function z0(a){B0();y0(a);return a;}
+function A0(a){a.a=gb();a.d=ib();a.b=hc(c1,cb);a.c=0;}
+function C0(b,a){if(ac(a,1)){return m1(b.d,Fb(a,1))!==c1;}else if(a===null){return b.b!==c1;}else{return l1(b.a,a,a.hC())!==c1;}}
+function D0(a,b){if(a.b!==c1&&k1(a.b,b)){return true;}else if(h1(a.d,b)){return true;}else if(f1(a.a,b)){return true;}return false;}
+function E0(a){return s0(new i0(),a);}
+function F0(c,a){var b;if(ac(a,1)){b=m1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=l1(c.a,a,a.hC());}return b===c1?null:b;}
+function a1(c,a,d){var b;if(ac(a,1)){b=p1(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=o1(c.a,a,d,a.hC());}if(b===c1){++c.c;return null;}else{return b;}}
+function b1(c,a){var b;if(ac(a,1)){b=r1(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(c1,cb);}else{b=q1(c.a,a,a.hC());}if(b===c1){return null;}else{--c.c;return b;}}
+function d1(e,c){B0();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
+function e1(d,a){B0();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=b0(c.substring(1),e);a.C(b);}}}
+function f1(f,h){B0();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ec();if(k1(h,d)){return true;}}}}return false;}
+function g1(a){return C0(this,a);}
+function h1(c,d){B0();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(k1(d,a)){return true;}}}return false;}
+function i1(){B0();}
+function j1(){return E0(this);}
+function k1(a,b){B0();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
+function n1(a){return F0(this,a);}
+function l1(f,h,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){return c.ec();}}}}
+function m1(b,a){B0();return b[':'+a];}
+function o1(f,h,j,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){var i=c.ec();c.we(j);return i;}}}else{a=f[e]=[];}var c=b0(h,j);a.push(c);}
+function p1(c,a,d){B0();a=':'+a;var b=c[a];c[a]=d;return b;}
+function q1(f,h,e){B0();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(k1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ec();}}}}
+function r1(c,a){B0();a=':'+a;var b=c[a];delete c[a];return b;}
+function DZ(){}
+_=DZ.prototype=new mW();_.db=g1;_.ob=j1;_.ic=n1;_.tN=tfc+'HashMap';_.tI=156;_.a=null;_.b=null;_.c=0;_.d=null;var c1;function FZ(b,a,c){b.a=a;b.b=c;return b;}
+function b0(a,b){return FZ(new EZ(),a,b);}
+function c0(b){var a;if(ac(b,60)){a=Fb(b,60);if(k1(this.a,a.yb())&&k1(this.b,a.ec())){return true;}}return false;}
+function d0(){return this.a;}
+function e0(){return this.b;}
+function f0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
+function g0(a){var b;b=this.b;this.b=a;return b;}
+function h0(){return this.a+'='+this.b;}
+function EZ(){}
+_=EZ.prototype=new uT();_.eQ=c0;_.yb=d0;_.ec=e0;_.hC=f0;_.we=g0;_.tS=h0;_.tN=tfc+'HashMap$EntryImpl';_.tI=157;_.a=null;_.b=null;function s0(b,a){b.a=a;return b;}
+function u0(a){return k0(new j0(),a.a);}
+function v0(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.yb();if(C0(this.a,b)){d=F0(this.a,b);return k1(a.ec(),d);}}return false;}
+function w0(){return u0(this);}
+function x0(){return this.a.c;}
+function i0(){}
+_=i0.prototype=new vX();_.eb=v0;_.qc=w0;_.Ce=x0;_.tN=tfc+'HashMap$EntrySet';_.tI=158;function k0(c,b){var a;c.c=b;a=CX(new AX());if(c.c.b!==(B0(),c1)){EX(a,FZ(new EZ(),null,c.c.b));}e1(c.c.d,a);d1(c.c.a,a);c.a=a.qc();return c;}
+function m0(a){return a.a.kc();}
+function n0(a){return a.b=Fb(a.a.sc(),60);}
+function o0(a){if(a.b===null){throw sS(new rS(),'Must call next() before remove().');}else{a.a.ce();b1(a.c,a.b.yb());a.b=null;}}
+function p0(){return m0(this);}
+function q0(){return n0(this);}
+function r0(){o0(this);}
+function j0(){}
+_=j0.prototype=new uT();_.kc=p0;_.sc=q0;_.ce=r0;_.tN=tfc+'HashMap$EntrySetIterator';_.tI=159;_.a=null;_.b=null;function t1(a){a.a=z0(new DZ());return a;}
+function u1(c,a){var b;b=a1(c.a,a,FR(true));return b===null;}
+function w1(a){return qW(nX(a.a));}
+function x1(a){return u1(this,a);}
+function y1(a){return C0(this.a,a);}
+function z1(){return w1(this);}
+function A1(){return this.a.c;}
+function B1(){return nX(this.a).tS();}
+function s1(){}
+_=s1.prototype=new vX();_.C=x1;_.eb=y1;_.qc=z1;_.Ce=A1;_.tS=B1;_.tN=tfc+'HashSet';_.tI=160;_.a=null;function b2(b,a){AT(b,a);return b;}
+function a2(){}
+_=a2.prototype=new zT();_.tN=tfc+'NoSuchElementException';_.tI=161;function g2(a){a.a=CX(new AX());return a;}
+function h2(b,a){return EX(b.a,a);}
+function j2(a){return a.a.qc();}
+function k2(a,b){DX(this.a,a,b);}
+function l2(a){return h2(this,a);}
+function m2(a){return cY(this.a,a);}
+function n2(a){return dY(this.a,a);}
+function o2(){return j2(this);}
+function p2(a){return hY(this.a,a);}
+function q2(){return this.a.b;}
+function r2(){return this.a.Ee();}
+function f2(){}
+_=f2.prototype=new CV();_.B=k2;_.C=l2;_.eb=m2;_.hc=n2;_.qc=o2;_.de=p2;_.Ce=q2;_.Ee=r2;_.tN=tfc+'Vector';_.tI=162;_.a=null;function s4(){s4=s2;u4=z0(new DZ());}
+function r4(a){s4();return a;}
+function t4(){}
+function c4(){}
+_=c4.prototype=new er();_.md=t4;_.tN=ufc+'JBRMSFeature';_.tI=163;var u4;function z2(){z2=s2;s4();}
+function y2(a){z2();r4(a);a.a=sJ(new eJ());a.a.Be('100%');a.a.qe('100%');tJ(a.a,x8(new b8()),"<img src='images/category_small.gif'/>Manage categories",true);tJ(a.a,i9(new A8()),"<img src='images/status_small.gif'/>Manage states",true);tJ(a.a,j7(new f6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);tJ(a.a,C7(new n7()),"<img src='images/backup_small.gif'/>Import Export",true);zJ(a.a,0);gr(a,a.a);return a;}
+function A2(){z2();return v2(new u2(),'Admin','Administer the repository');}
+function B2(){}
+function t2(){}
+_=t2.prototype=new c4();_.md=B2;_.tN=ufc+'AdminFeature';_.tI=164;_.a=null;function e4(c,b,a){c.c=b;c.a=a;return c;}
+function g4(a){if(a.b!==null)return a.b;return a.b=a.hb();}
+function d4(){}
+_=d4.prototype=new uT();_.tN=ufc+'JBRMSFeature$ComponentInfo';_.tI=165;_.a=null;_.b=null;_.c=null;function v2(c,a,b){e4(c,a,b);return c;}
+function x2(){return y2(new t2());}
+function u2(){}
+_=u2.prototype=new d4();_.hb=x2;_.tN=ufc+'AdminFeature$1';_.tI=166;function c3(){c3=s2;s4();}
+function b3(a){c3();r4(a);gr(a,CJb(new eIb()));return a;}
+function d3(){c3();return E2(new D2(),'Deployment','Configure and view frozen snapshots of packages.');}
+function e3(){}
+function C2(){}
+_=C2.prototype=new c4();_.md=e3;_.tN=ufc+'DeploymentManagementFeature';_.tI=167;function E2(c,a,b){e4(c,a,b);return c;}
+function a3(){return b3(new C2());}
+function D2(){}
+_=D2.prototype=new d4();_.hb=a3;_.tN=ufc+'DeploymentManagementFeature$1';_.tI=168;function l3(){l3=s2;s4();}
+function k3(a){l3();r4(a);gr(a,m3(a));return a;}
+function m3(a){a.a=vv(new tv(),'welcome.html');uN(a.a,'welcome-Page');a.a.ye(true);return a.a;}
+function n3(){l3();return h3(new g3(),'Info','JBoss Rules Managment System.');}
+function o3(){}
+function f3(){}
+_=f3.prototype=new c4();_.md=o3;_.tN=ufc+'Info';_.tI=169;_.a=null;function h3(c,a,b){e4(c,a,b);return c;}
+function j3(){return k3(new f3());}
+function g3(){}
+_=g3.prototype=new d4();_.hb=j3;_.tN=ufc+'Info$1';_.tI=170;function z3(a){a.c=dz(new hw());a.d=m4(new k4());a.g=ps(new gs());}
+function A3(a){z3(a);return a;}
+function B3(a){kXb(ALb(),r3(new q3(),a));}
+function D3(b,c){var a;a=p4(b.d,c);if(a===null){F3(b);return;}a4(b,a,false);}
+function E3(b){var a,c;j4(b.d);b.h=ps(new gs());uN(b.h,'ks-Sink');c=hO(new fO());c.Be('100%');iO(c,b.c);iO(c,b.h);uN(b.c,'ks-Info');qs(b.g,b.d,(rs(),Bs));qs(b.g,c,(rs(),xs));vs(b.g,b.d,(xz(),Az));ws(b.g,c,'100%');Bg(b);b.e=E4(new v4());b.f=p5(new b5());dp(iG(),b.e);dp(iG(),b.g);dp(iG(),b.f);b.f.Be('100%');b.e.ye(false);b.g.ye(false);b.f.ye(false);B3(b);a=Dg();if(rU(a)>0)D3(b,a);else F3(b);}
+function a4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){ts(c.h,c.b);}c.b=g4(b);q4(c.d,b.c);hz(c.c,b.a);if(a)ah(b.c);qs(c.h,c.b,(rs(),xs));ws(c.h,c.b,'100%');vs(c.h,c.b,(xz(),Az));c.b.md();}
+function F3(a){a4(a,p4(a.d,'Info'),false);}
+function b4(a){D3(this,a);}
+function p3(){}
+_=p3.prototype=new uT();_.bd=b4;_.tN=ufc+'JBRMSEntryPoint';_.tI=171;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function gcb(b,a){if(ac(a,69)){icb();}else if(ac(a,70)){hbb(Fb(a,70));}else{gbb(a.zb());}}
+function hcb(a){gcb(this,a);}
+function icb(){var a;a=acb(new Bbb(),'images/warning-large.png','Session expired');ccb(a,ez(new hw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));lE(a,40,40);oE(a);bdb();}
+function ecb(){}
+_=ecb.prototype=new uT();_.Dc=hcb;_.tN=xfc+'GenericCallback';_.tI=172;function r3(b,a){b.a=a;return b;}
+function t3(a){var b;b=Fb(a,1);if(b!==null){a5(this.a.e,b);this.a.e.ye(true);this.a.g.ye(true);this.a.f.ye(false);}else{this.a.f.ye(true);t5(this.a.f,v3(new u3(),this));}}
+function q3(){}
+_=q3.prototype=new ecb();_.pd=t3;_.tN=ufc+'JBRMSEntryPoint$1';_.tI=173;function v3(b,a){b.a=a;return b;}
+function x3(a){a5(a.a.a.e,s5(a.a.a.f));a.a.a.e.ye(true);a.a.a.f.ye(false);a.a.a.g.ye(true);}
+function y3(){x3(this);}
+function u3(){}
+_=u3.prototype=new uT();_.pb=y3;_.tN=ufc+'JBRMSEntryPoint$2';_.tI=174;function j4(a){n4(a,n3());n4(a,e6());n4(a,B5());n4(a,d3());n4(a,A2());}
+function l4(a){a.a=hO(new fO());a.c=CX(new AX());}
+function m4(a){l4(a);gr(a,a.a);uN(a,'ks-List');return a;}
+function n4(d,a){var b,c;c=a.c;b=jA(new hA(),c,c);uN(b,'ks-SinkItem');iO(d.a,b);EX(d.c,a);}
+function p4(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(dY(d.c,a),61);if(nU(b.c,c))return b;}return null;}
+function q4(d,c){var a,b;if(d.b!=(-1))pN(Dq(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(dY(d.c,a),61);if(nU(b.c,c)){d.b=a;jN(Dq(d.a,d.b),'ks-SinkItem-selected');return;}}}
+function k4(){}
+_=k4.prototype=new er();_.tN=ufc+'JBRMSFeatureList';_.tI=175;_.b=(-1);function E4(a){a.a=dz(new hw());gr(a,a.a);return a;}
+function a5(b,d){var a,c;a=FT(new ET());bU(a,"<div id='user_info'>");bU(a,'Welcome: &nbsp;'+d);bU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");bU(a,'<\/div>');hz(b.a,fU(a));c=x4(new w4(),b);mh(c,300000);}
+function v4(){}
+_=v4.prototype=new er();_.tN=ufc+'LoggedInUserInfo';_.tI=176;_.a=null;function y4(){y4=s2;kh();}
+function x4(b,a){y4();ih(b);return b;}
+function z4(){kXb(ALb(),new A4());}
+function w4(){}
+_=w4.prototype=new dh();_.fe=z4;_.tN=ufc+'LoggedInUserInfo$1';_.tI=177;function C4(a){}
+function D4(a){if(a===null){icb();}}
+function A4(){}
+_=A4.prototype=new uT();_.Dc=C4;_.pd=D4;_.tN=ufc+'LoggedInUserInfo$2';_.tI=178;function p5(c){var a,b;c.a=rbb(new obb(),'images/login.gif','Please enter your details');c.c=zK(new kK());c.c.re(1);sbb(c.a,'User name:',c.c);b=DD(new CD());b.re(2);sbb(c.a,'Password:',b);a=qp(new kp(),'Login');a.re(3);sbb(c.a,'',a);a.x(d5(new c5(),c,b));gr(c,c.a);c.c.oe(true);uN(c,'login-Form');return c;}
+function r5(c,a,d,b){DLb(rK(d),rK(b),l5(new k5(),c,a));}
+function s5(a){return rK(a.c);}
+function t5(b,a){b.b=a;}
+function b5(){}
+_=b5.prototype=new er();_.tN=ufc+'LoginWidget';_.tI=179;_.a=null;_.b=null;_.c=null;function d5(b,a,c){b.a=a;b.b=c;return b;}
+function f5(a){fdb('Logging in...');fg(h5(new g5(),this,this.b));}
+function c5(){}
+_=c5.prototype=new uT();_.zc=f5;_.tN=ufc+'LoginWidget$1';_.tI=180;function h5(b,a,c){b.a=a;b.b=c;return b;}
+function j5(){r5(this.a.a,this.a.a.b,this.a.a.c,this.b);}
+function g5(){}
+_=g5.prototype=new uT();_.pb=j5;_.tN=ufc+'LoginWidget$2';_.tI=181;function l5(b,a,c){b.a=c;return b;}
+function n5(c,a){var b;bdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{x3(c.a);}}
+function o5(a){n5(this,a);}
+function k5(){}
+_=k5.prototype=new ecb();_.pd=o5;_.tN=ufc+'LoginWidget$3';_.tI=182;function A5(){A5=s2;s4();}
+function z5(b){var a;A5();r4(b);a=aIb(new zHb());dIb(a,u4);gr(b,a);return b;}
+function B5(){A5();return w5(new v5(),'Packages','Configure and view packages of business rule assets.');}
+function C5(){}
+function u5(){}
+_=u5.prototype=new c4();_.md=C5;_.tN=ufc+'PackageManagementFeature';_.tI=183;function w5(c,a,b){e4(c,a,b);return c;}
+function y5(){return z5(new u5());}
+function v5(){}
+_=v5.prototype=new d4();_.hb=y5;_.tN=ufc+'PackageManagementFeature$1';_.tI=184;function d6(){d6=s2;s4();}
+function c6(b){var a;d6();r4(b);a=vbc(new rac());zbc(a,u4);gr(b,a);return b;}
+function e6(){d6();return F5(new E5(),'Rules','Find and edit rules.');}
+function D5(){}
+_=D5.prototype=new c4();_.tN=ufc+'RulesFeature';_.tI=185;function F5(c,a,b){e4(c,a,b);return c;}
+function b6(){return c6(new D5());}
+function E5(){}
+_=E5.prototype=new d4();_.hb=b6;_.tN=ufc+'RulesFeature$1';_.tI=186;function j7(a){var b;b=rbb(new obb(),'images/backup_large.png','Manage Archived Assets');a.a=Fz(new Dz());a.a.Be('100%');vbb(b,a.a);a.b=ycc(new Cbc(),new g6(),'archivedrulelist');Ecc(a.b,m7(a));aA(a.a,a.b);h7(m7(a));vbb(b,ez(new hw(),'<hr/>'));vbb(b,l7(a));gr(a,b);return a;}
+function l7(d){var a,b,c,e;b=Fz(new Dz());c=qp(new kp(),'Refresh');c.x(k6(new j6(),d));e=qp(new kp(),'Unarchive');e.x(o6(new n6(),d));a=qp(new kp(),'Delete');a.x(x6(new w6(),d));aA(b,c);aA(b,e);aA(b,a);return b;}
+function m7(b){var a;a=a7(new F6(),b);return f7(new e7(),b,a);}
+function f6(){}
+_=f6.prototype=new er();_.tN=vfc+'ArchivedAssetManager';_.tI=187;_.a=null;_.b=null;function i6(a){var b,c;b=acb(new Bbb(),'images/snapshot.png','Archived item');c=sJ(new eJ());ccb(b,c);r4b(z0(new DZ()),c,a,true);lE(b,20,20);oE(b);}
+function g6(){}
+_=g6.prototype=new uT();_.wd=i6;_.tN=vfc+'ArchivedAssetManager$1';_.tI=188;function k6(b,a){b.a=a;return b;}
+function m6(a){h7(m7(this.a));}
+function j6(){}
+_=j6.prototype=new uT();_.zc=m6;_.tN=vfc+'ArchivedAssetManager$2';_.tI=189;function o6(b,a){b.a=a;return b;}
+function q6(a){ESb(BLb(),Acc(this.a.b),false,s6(new r6(),this));}
+function n6(){}
+_=n6.prototype=new uT();_.zc=q6;_.tN=vfc+'ArchivedAssetManager$3';_.tI=190;function s6(b,a){b.a=a;return b;}
+function u6(b,a){h7(m7(b.a.a));zh('Done!');}
+function v6(a){u6(this,a);}
+function r6(){}
+_=r6.prototype=new ecb();_.pd=v6;_.tN=vfc+'ArchivedAssetManager$4';_.tI=191;function x6(b,a){b.a=a;return b;}
+function z6(a){ETb(BLb(),Acc(this.a.b),B6(new A6(),this));}
+function w6(){}
+_=w6.prototype=new uT();_.zc=z6;_.tN=vfc+'ArchivedAssetManager$5';_.tI=192;function B6(b,a){b.a=a;return b;}
+function D6(b,a){h7(m7(b.a.a));zh('Done!');}
+function E6(a){D6(this,a);}
+function A6(){}
+_=A6.prototype=new ecb();_.pd=E6;_.tN=vfc+'ArchivedAssetManager$6';_.tI=193;function a7(b,a){b.a=a;return b;}
+function c7(c,a){var b;b=Fb(a,62);Dcc(c.a.b,b);c.a.b.Be('100%');bdb();}
+function d7(a){c7(this,a);}
+function F6(){}
+_=F6.prototype=new ecb();_.pd=d7;_.tN=vfc+'ArchivedAssetManager$7';_.tI=194;function f7(b,a,c){b.a=c;return b;}
+function h7(a){fdb('Loading list, please wait...');uTb(BLb(),a.a);}
+function i7(){h7(this);}
+function e7(){}
+_=e7.prototype=new uT();_.pb=i7;_.tN=vfc+'ArchivedAssetManager$8';_.tI=195;function C7(a){var b;b=rbb(new obb(),'images/backup_large.png','Import/Export');sbb(b,'',ez(new hw(),'<i>Import and Export rules repository<\/i>'));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Import from an xml file',a8(a));sbb(b,'Export to a zip file',F7(a));vbb(b,ez(new hw(),'<hr/>'));gr(a,b);return a;}
+function E7(a){fdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');bdb();}
+function F7(c){var a,b;b=Fz(new Dz());a=qp(new kp(),'Export');a.x(p7(new o7(),c));aA(b,a);return b;}
+function a8(c){var a,b,d,e;e=Cu(new xu());cv(e,v()+'backup');dv(e,'multipart/form-data');ev(e,'post');b=Fz(new Dz());e.Ae(b);d=at(new Fs());dt(d,'importFile');aA(b,d);aA(b,CB(new AB(),'import:'));a=lcb(new kcb(),'images/upload.gif');fB(a,t7(new s7(),c,e));aA(b,a);Du(e,y7(new x7(),c,d));return e;}
+function n7(){}
+_=n7.prototype=new er();_.tN=vfc+'BackupManager';_.tI=196;function p7(b,a){b.a=a;return b;}
+function r7(a){E7(this.a);}
+function o7(){}
+_=o7.prototype=new uT();_.zc=r7;_.tN=vfc+'BackupManager$1';_.tI=197;function t7(b,a,c){b.a=c;return b;}
+function v7(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){fdb('Importing repository, please wait, as this could take some time...');gv(b);}}
+function w7(a){v7(this,this.a);}
+function s7(){}
+_=s7.prototype=new uT();_.zc=w7;_.tN=vfc+'BackupManager$2';_.tI=198;function y7(b,a,c){b.a=c;return b;}
+function B7(a){if(rU(ct(this.a))==0){zh('You did not specify an exported repository filename !');sv(a,true);}else if(!lU(ct(this.a),'.xml')){zh('Please specify a valid repository xml file.');sv(a,true);}}
+function A7(a){if(pU(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{gbb('Unable to import into the repository. Consult the server logs for error messages.');}bdb();}
+function x7(){}
+_=x7.prototype=new uT();_.od=B7;_.nd=A7;_.tN=vfc+'BackupManager$3';_.tI=199;function w8(a){hO(new fO());}
+function x8(f){var a,b,c,d,e;w8(f);c=rbb(new obb(),'images/edit_category.gif','Edit categories');sbb(c,'',ez(new hw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=s$(new b$(),new c8());uN(f.a,'category-explorer-Admin');b=AG(new sG());uN(b,'metadata-Widget');CG(b,f.a);vbb(c,ez(new hw(),'<hr/>'));sbb(c,'Current categories:',b);e=lcb(new kcb(),'images/refresh.gif');e.te('Refresh categories');fB(e,g8(new f8(),f));sbb(c,'Refresh view:',e);vbb(c,ez(new hw(),'<hr/>'));d=lcb(new kcb(),'images/new.gif');d.te('Create a new category');fB(d,k8(new j8(),f));sbb(c,'Create a new category:',d);a=lcb(new kcb(),'images/delete_obj.gif');fB(a,o8(new n8(),f));a.te("Deletes the currently selected category. You won't be able to delete if the category is in use.");sbb(c,'Delete the currently selected category:',a);gr(f,c);return f;}
+function z8(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){FTb(BLb(),a.a.e,s8(new r8(),a));}}
+function b8(){}
+_=b8.prototype=new er();_.tN=vfc+'CategoryManager';_.tI=200;_.a=null;function e8(a){}
+function c8(){}
+_=c8.prototype=new uT();_.he=e8;_.tN=vfc+'CategoryManager$1';_.tI=201;function g8(b,a){b.a=a;return b;}
+function i8(a){y$(this.a.a);}
+function f8(){}
+_=f8.prototype=new uT();_.zc=i8;_.tN=vfc+'CategoryManager$2';_.tI=202;function k8(b,a){b.a=a;return b;}
+function m8(b){var a;a=C9(new n9(),this.a.a.e);lE(a,lN(b),mN(b)-400);oE(a);}
+function j8(){}
+_=j8.prototype=new uT();_.zc=m8;_.tN=vfc+'CategoryManager$3';_.tI=203;function o8(b,a){b.a=a;return b;}
+function q8(a){z8(this.a);}
+function n8(){}
+_=n8.prototype=new uT();_.zc=q8;_.tN=vfc+'CategoryManager$4';_.tI=204;function s8(b,a){b.a=a;return b;}
+function u8(b,a){y$(b.a.a);}
+function v8(a){u8(this,a);}
+function r8(){}
+_=r8.prototype=new ecb();_.pd=v8;_.tN=vfc+'CategoryManager$5';_.tI=205;function i9(b){var a;a=rbb(new obb(),'images/status_large.png','Manage statuses');sbb(a,'',ez(new hw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=mC(new eC());CC(b.a,7);b.a.Be('50%');m9(b);sbb(a,'Current statuses:',b.a);sbb(a,'Add new status:',l9(b));gr(b,a);return b;}
+function k9(b,a){fdb('Creating status');oTb(BLb(),rK(a),e9(new d9(),b,a));}
+function l9(d){var a,b,c;c=Fz(new Dz());a=zK(new kK());b=qp(new kp(),'Create');b.x(a9(new F8(),d,a));aA(c,a);aA(c,b);return c;}
+function m9(a){fdb('Loading statuses...');tTb(BLb(),C8(new B8(),a));}
+function A8(){}
+_=A8.prototype=new er();_.tN=vfc+'StateManager';_.tI=206;_.a=null;function C8(b,a){b.a=a;return b;}
+function E8(a){var b,c;sC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){pC(this.a.a,c[b]);}bdb();}
+function B8(){}
+_=B8.prototype=new ecb();_.pd=E8;_.tN=vfc+'StateManager$1';_.tI=207;function a9(b,a,c){b.a=a;b.b=c;return b;}
+function c9(a){k9(this.a,this.b);}
+function F8(){}
+_=F8.prototype=new uT();_.zc=c9;_.tN=vfc+'StateManager$2';_.tI=208;function e9(b,a,c){b.a=a;b.b=c;return b;}
+function g9(b,a){vK(b.b,'');m9(b.a);bdb();}
+function h9(a){g9(this,a);}
+function d9(){}
+_=d9.prototype=new ecb();_.pd=h9;_.tN=vfc+'StateManager$3';_.tI=209;function E9(){E9=s2;eE();}
+function B9(a){a.d=lt(new ft());a.b=zK(new kK());a.a=eK(new dK());}
+function C9(d,b){var a,c;E9();bE(d,true);B9(d);d.c=b;d.d.ze(0,0,lcb(new kcb(),'images/edit_category.gif'));d.d.ze(0,1,CB(new AB(),F9(d,d.c)));d.d.ze(1,0,CB(new AB(),'Cateogory name'));d.d.ze(1,1,d.b);jK(d.a,4);d.d.ze(2,0,CB(new AB(),'Description'));d.d.ze(2,1,d.a);c=qp(new kp(),'OK');c.x(p9(new o9(),d));d.d.ze(3,0,c);a=qp(new kp(),'Cancel');a.x(t9(new s9(),d));d.d.ze(3,1,a);CG(d,d.d);uN(d,'ks-popups-Popup');return d;}
+function D9(a){a.lc();}
+function F9(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
+function a$(b){var a;a=x9(new w9(),b);if(nU('',rK(b.b))){gbb("Can't have an empty category name.");}else{kTb(BLb(),b.c,rK(b.b),rK(b.a),a);}}
+function n9(){}
+_=n9.prototype=new FD();_.tN=wfc+'CategoryEditor';_.tI=210;_.c=null;function p9(b,a){b.a=a;return b;}
+function r9(a){a$(this.a);}
+function o9(){}
+_=o9.prototype=new uT();_.zc=r9;_.tN=wfc+'CategoryEditor$1';_.tI=211;function t9(b,a){b.a=a;return b;}
+function v9(a){D9(this.a);}
+function s9(){}
+_=s9.prototype=new uT();_.zc=v9;_.tN=wfc+'CategoryEditor$2';_.tI=212;function x9(b,a){b.a=a;return b;}
+function z9(b,a){if(Fb(a,55).a){b.a.lc();}else{gbb('Category was not successfully created. ');}}
+function A9(a){z9(this,a);}
+function w9(){}
+_=w9.prototype=new ecb();_.pd=A9;_.tN=wfc+'CategoryEditor$3';_.tI=213;function r$(a){a.c=jM(new CK());a.d=hO(new fO());a.f=BLb();}
+function s$(b,a){r$(b);iO(b.d,b.c);b.a=a;x$(b);gr(b,b.d);nM(b.c,b);uN(b,'category-explorer-Tree');return b;}
+function u$(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
+function v$(b,a){if(a.c.b==1&&ac(sL(a,0),64)){return false;}return true;}
+function w$(a){if(a.b!==null){a.b.ye(false);}}
+function x$(a){mM(a.c,'Please wait...');wTb(a.f,'/',h$(new g$(),a));}
+function y$(a){CM(a.c);a.e=null;x$(a);}
+function z$(c){var a,b;if(c.b===null){b=cp(new bp());dp(b,ez(new hw(),'No categories created yet. Add some categories from the administration screen.'));a=qp(new kp(),'Refresh');a.x(d$(new c$(),c));dp(b,a);uN(b,'small-Text');c.b=b;iO(c.d,c.b);}c.b.ye(true);}
+function A$(a){this.e=u$(this,a);this.a.he(this.e);}
+function B$(a){var b;if(v$(this,a)){return;}b=a;this.e=u$(this,a);wTb(this.f,this.e,l$(new k$(),this,b));}
+function b$(){}
+_=b$.prototype=new er();_.rd=A$;_.sd=B$;_.tN=wfc+'CategoryExplorerWidget';_.tI=214;_.a=null;_.b=null;_.e=null;function d$(b,a){b.a=a;return b;}
+function f$(a){y$(this.a);}
+function c$(){}
+_=c$.prototype=new uT();_.zc=f$;_.tN=wfc+'CategoryExplorerWidget$1';_.tI=215;function h$(b,a){b.a=a;return b;}
+function j$(d){var a,b,c;this.a.e=null;CM(this.a.c);a=Fb(d,63);if(a.a==0){z$(this.a);}else{w$(this.a);}for(b=0;b<a.a;b++){c=oL(new mL());wL(c,'<img src="images/category_small.gif"/>'+a[b]);CL(c,a[b]);c.y(p$(new o$()));lM(this.a.c,c);}}
+function g$(){}
+_=g$.prototype=new ecb();_.pd=j$;_.tN=wfc+'CategoryExplorerWidget$2';_.tI=216;function l$(b,a,c){b.a=c;return b;}
+function n$(e){var a,b,c,d;a=sL(this.a,0);if(ac(a,64)){this.a.ae(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=oL(new mL());wL(c,'<img src="images/category_small.gif"/>'+d[b]);CL(c,d[b]);c.y(p$(new o$()));this.a.y(c);}}
+function k$(){}
+_=k$.prototype=new ecb();_.pd=n$;_.tN=wfc+'CategoryExplorerWidget$3';_.tI=217;function p$(a){pL(a,'Please wait...');return a;}
+function o$(){}
+_=o$.prototype=new mL();_.tN=wfc+'CategoryExplorerWidget$PendingItem';_.tI=218;function E$(){E$=s2;F$=zb('[Ljava.lang.String;',605,1,['brl','dslr','xls']);b_=zb('[Ljava.lang.String;',605,1,['drl','rf','enumeration']);a_=zb('[Ljava.lang.String;',605,1,['function','dsl','jar','enumeration']);}
+function c_(a){E$();var b;for(b=0;b<a_.a;b++){if(nU(a_[b],a)){return true;}}return false;}
+var F$,a_,b_;function o_(){o_=s2;AK();}
+function m_(a){a.b=bE(new FD(),true);a.a=f_(new e_(),a);}
+function n_(b,a){o_();zK(b);m_(b);oK(b,b);vN(b.a,1);uN(b,'AutoCompleteTextBox');CG(b.b,b.a);jN(b.b,'AutoCompleteChoices');uN(b.a,'list');b.c=a;return b;}
+function p_(a){if(a.e&&uC(a.a)>0){vK(a,vC(a.a,wC(a.a)));}sC(a.a);a.b.lc();a.e=false;}
+function q_(e,a,b,c){var d;d=wC(e.a);d++;if(d>=uC(e.a)){d=0;}BC(e.a,d);}
+function r_(d,a,b,c){p_(d);}
+function s_(d,a,b,c){sC(d.a);d.b.lc();d.e=false;}
+function t_(b,a){if(0==rU(a)||0==uC(b.a)||1==uC(b.a)&&nU(vC(b.a,0),a)){sC(b.a);b.b.lc();b.e=false;}else{BC(b.a,0);CC(b.a,uC(b.a)+1);if(!b.d){dp(iG(),b.b);b.d=true;}oE(b.b);b.e=true;lE(b.b,lN(b),mN(b)+b.Cb());b.a.Be(b.Db()+'px');}}
+function u_(d,a,b,c){x_(d,rK(d));if(rU(rK(d))>0&&d.c!==null){fdc(d.c,rK(d),j_(new i_(),d));}}
+function v_(d,a,b,c){p_(d);}
+function w_(e,a,b,c){var d;d=wC(e.a);d--;if(d<0){d=uC(e.a)-1;}BC(e.a,d);}
+function x_(c,b){var a;a=0;while(a<uC(c.a)){if(vU(zU(vC(c.a,a)),zU(b))){++a;}else{AC(c.a,a);}}t_(c,b);}
+function y_(d,b,c){var a;sC(d.a);for(a=0;a<b.a;a++){pC(d.a,b[a]);}x_(d,c);}
+function z_(a,b,c){if(b==13){r_(this,a,b,c);}else if(b==9){v_(this,a,b,c);}else if(b==40){q_(this,a,b,c);}else if(b==38){w_(this,a,b,c);}else if(b==27){s_(this,a,b,c);}}
+function A_(a,b,c){}
+function B_(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:u_(this,a,b,c);break;}}
+function d_(){}
+_=d_.prototype=new kK();_.cd=z_;_.dd=A_;_.ed=B_;_.tN=xfc+'AutoCompleteTextBoxAsync';_.tI=219;_.c=null;_.d=false;_.e=false;function g_(){g_=s2;tC();}
+function f_(b,a){g_();b.a=a;mC(b);return b;}
+function h_(a){if(1==xe(a)){p_(this.a);}}
+function e_(){}
+_=e_.prototype=new eC();_.wc=h_;_.tN=xfc+'AutoCompleteTextBoxAsync$1';_.tI=220;function j_(b,a){b.a=a;return b;}
+function l_(b,a){y_(b.a,a,rK(b.a));}
+function i_(){}
+_=i_.prototype=new uT();_.tN=xfc+'AutoCompleteTextBoxAsync$2';_.tI=221;function aab(a){a.j=true;}
+function bab(a){a.j=false;}
+function cab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
+function dab(){return this.j;}
+function E_(){}
+_=E_.prototype=new er();_.pc=dab;_.tN=xfc+'DirtyableComposite';_.tI=222;_.j=false;function gab(a){a.b=CX(new AX());}
+function hab(a){lt(a);gab(a);return a;}
+function jab(d){var a,b,c;for(c=d.b.qc();c.kc();){a=Fb(c.sc(),65);b=ky(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).pc())return true;if(ac(b,67))if(Fb(b,67).jc())return true;}return false;}
+function kab(d,c,b,a){zy(d,c,b,a);if(ac(a,68)){DX(d.b,d.a++,hdb(new gdb(),c,b));}}
+function lab(){return jab(this);}
+function mab(c,b,a){kab(this,c,b,a);}
+function fab(){}
+_=fab.prototype=new ft();_.jc=lab;_.ze=mab;_.tN=xfc+'DirtyableFlexTable';_.tI=223;_.a=0;function oab(a){Fz(a);return a;}
+function qab(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=Dq(c,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
+function rab(){return qab(this);}
+function nab(){}
+_=nab.prototype=new Dz();_.jc=rab;_.tN=xfc+'DirtyableHorizontalPane';_.tI=224;function tab(a){hO(a);return a;}
+function vab(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=Dq(this,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
+function sab(){}
+_=sab.prototype=new fO();_.jc=vab;_.tN=xfc+'DirtyableVerticalPane';_.tI=225;function dbb(){dbb=s2;zr();}
+function abb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=lcb(new kcb(),'images/close.gif');}
+function bbb(d,b,a){var c,e;dbb();xr(d,true);abb(d);bC(d.a,b);aA(d.c,eB(new oA(),'images/error_dialog.png'));e=hO(new fO());iO(e,d.a);aA(d.c,e);if(a!==null){cbb(d,e,a);}aA(d.c,d.b);c=d;fB(d.b,zab(new yab(),d,c));Cr(d,d.c);lE(d,40,40);uN(d,'rule-error-Popup');return d;}
+function cbb(e,c,b){var a,d,f;f=hO(new fO());iO(c,f);d=qp(new kp(),'Details');iO(f,d);a=CB(new AB(),b);a.ye(false);iO(f,a);d.x(Dab(new Cab(),e,a,d));}
+function ebb(a){bC(a.a,'');hE(a);}
+function fbb(){ebb(this);}
+function gbb(a){dbb();var b;b=bbb(new xab(),a,null);bdb();oE(b);}
+function hbb(a){dbb();var b;b=bbb(new xab(),a.b,a.a);bdb();oE(b);}
+function xab(){}
+_=xab.prototype=new ur();_.lc=fbb;_.tN=xfc+'ErrorPopup';_.tI=226;function zab(b,a,c){b.a=c;return b;}
+function Bab(a){ebb(this.a);}
+function yab(){}
+_=yab.prototype=new uT();_.zc=Bab;_.tN=xfc+'ErrorPopup$1';_.tI=227;function Dab(b,a,c,d){b.a=c;b.b=d;return b;}
+function Fab(a){this.a.ye(true);this.b.ye(false);}
+function Cab(){}
+_=Cab.prototype=new uT();_.zc=Fab;_.tN=xfc+'ErrorPopup$2';_.tI=228;function jbb(b,a){b.a=a;return b;}
+function lbb(a,b,c){}
+function mbb(a,b,c){}
+function nbb(a,b,c){this.a.pb();}
+function ibb(){}
+_=ibb.prototype=new uT();_.cd=lbb;_.dd=mbb;_.ed=nbb;_.tN=xfc+'FieldEditListener';_.tI=229;_.a=null;function pbb(a){a.h=hab(new fab());a.g=ot(a.h);}
+function rbb(b,a,c){pbb(b);tbb(b,a,c);gr(b,b.h);return b;}
+function qbb(a){pbb(a);gr(a,a.h);return a;}
+function sbb(d,c,a){var b;b=ez(new hw(),'<b>'+c+'<\/b>');kab(d.h,d.i,0,b);Bw(d.g,d.i,0,(oz(),rz),(xz(),Az));kab(d.h,d.i,1,a);Bw(d.g,d.i,1,(oz(),qz),(xz(),Az));d.i++;}
+function tbb(c,a,d){var b;b=CB(new AB(),d);uN(b,'resource-name-Label');ybb(c,a,b);}
+function ubb(d,b,e,f){var a,c;c=CB(new AB(),e);uN(c,'resource-name-Label');a=Fz(new Dz());aA(a,c);aA(a,f);ybb(d,b,a);}
+function vbb(a,b){kab(a.h,a.i,0,b);jt(a.g,a.i,0,2);a.i++;}
+function wbb(a){a.i=0;by(a.h);}
+function ybb(b,a,c){kab(b.h,0,0,eB(new oA(),a));Bw(b.g,0,0,(oz(),qz),(xz(),Az));kab(b.h,0,1,c);b.i++;}
+function zbb(c,b,a,d){kab(c.h,b,a,d);}
+function Abb(){return jab(this.h);}
+function obb(){}
+_=obb.prototype=new E_();_.pc=Abb;_.tN=xfc+'FormStyleLayout';_.tI=230;_.i=0;function dcb(){dcb=s2;eE();}
+function acb(c,b,d){var a;dcb();bE(c,true);c.i=rbb(new obb(),b,d);uN(c,'ks-popups-Popup');a=lcb(new kcb(),'images/close.gif');fB(a,Dbb(new Cbb(),c));zbb(c.i,0,2,a);CG(c,c.i);return c;}
+function bcb(b,a,c){sbb(b.i,a,c);}
+function ccb(a,b){vbb(a.i,b);}
+function Bbb(){}
+_=Bbb.prototype=new FD();_.tN=xfc+'FormStylePopup';_.tI=231;_.i=null;function Dbb(b,a){b.a=a;return b;}
+function Fbb(a){this.a.lc();}
+function Cbb(){}
+_=Cbb.prototype=new uT();_.zc=Fbb;_.tN=xfc+'FormStylePopup$1';_.tI=232;function ncb(){ncb=s2;hB();}
+function lcb(b,a){ncb();eB(b,a);uN(b,'image-Button');return b;}
+function mcb(b,a,c){ncb();eB(b,a);uN(b,'image-Button');b.te(c);return b;}
+function kcb(){}
+_=kcb.prototype=new oA();_.tN=xfc+'ImageButton';_.tI=233;function tcb(c,d,b){var a;a=eB(new oA(),'images/information.gif');a.te(b);fB(a,qcb(new pcb(),c,d,b));gr(c,a);return c;}
+function ocb(){}
+_=ocb.prototype=new er();_.tN=xfc+'InfoPopup';_.tI=234;function qcb(b,a,d,c){b.b=d;b.a=c;return b;}
+function scb(b){var a;a=acb(new Bbb(),'images/information.gif',this.b);ccb(a,wcb(new vcb(),this.a,'small-Text'));lE(a,lN(b),mN(b));oE(a);}
+function pcb(){}
+_=pcb.prototype=new uT();_.zc=scb;_.tN=xfc+'InfoPopup$1';_.tI=235;function wcb(c,a,b){CB(c,a);uN(c,b);return c;}
+function vcb(){}
+_=vcb.prototype=new AB();_.tN=xfc+'Lbl';_.tI=236;function Fcb(){Fcb=s2;eE();}
+function Dcb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=eB(new oA(),'images/close.gif');}
+function Ecb(a){Fcb();bE(a,true);Dcb(a);aA(a.c,a.a);aA(a.c,a.b);aA(a.c,eB(new oA(),'images/searching.gif'));fB(a.b,Acb(new zcb(),a));CG(a,a.c);lE(a,0,0);uN(a,'loading-Popup');return a;}
+function adb(a){bC(a.a,'');hE(a);}
+function bdb(){Fcb();adb(cdb());}
+function cdb(){Fcb();if(edb===null){edb=Ecb(new ycb());}return edb;}
+function ddb(){adb(this);}
+function fdb(a){Fcb();var b;b=cdb();bC(b.a,a);oE(b);}
+function ycb(){}
+_=ycb.prototype=new FD();_.lc=ddb;_.tN=xfc+'LoadingPopup';_.tI=237;var edb=null;function Acb(b,a){b.a=a;return b;}
+function Ccb(a){adb(this.a);}
+function zcb(){}
+_=zcb.prototype=new uT();_.zc=Ccb;_.tN=xfc+'LoadingPopup$1';_.tI=238;function hdb(c,b,a){c.b=b;c.a=a;return c;}
+function gdb(){}
+_=gdb.prototype=new uT();_.tN=xfc+'Pair';_.tI=239;_.a=0;_.b=0;function odb(a){a.b=mC(new eC());rTb(BLb(),ldb(new kdb(),a));gr(a,a.b);return a;}
+function qdb(a){return vC(a.b,wC(a.b));}
+function rdb(b,a){b.a=a;}
+function jdb(){}
+_=jdb.prototype=new er();_.tN=xfc+'RulePackageSelector';_.tI=240;_.a=null;_.b=null;function ldb(b,a){b.a=a;return b;}
+function ndb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){pC(this.a.b,b[a].j);if(this.a.a!==null&&nU(b[a].j,this.a.a)){BC(this.a.b,a);}}}
+function kdb(){}
+_=kdb.prototype=new ecb();_.pd=ndb;_.tN=xfc+'RulePackageSelector$1';_.tI=241;function keb(){keb=s2;zr();}
+function ieb(f,g,d){var a,b,c,e;keb();xr(f,true);f.d=g;f.b=d;uN(f,'ks-popups-Popup');Ar(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=Fz(new Dz());a=mC(new eC());fdb('Please wait...');tTb(BLb(),udb(new tdb(),f,a));oC(a,ydb(new xdb(),f,a));aA(c,a);e=qp(new kp(),'Change status');e.x(Cdb(new Bdb(),f,a));aA(c,e);b=qp(new kp(),'Cancel');b.x(aeb(new Fdb(),f));aA(c,b);Cr(f,c);return f;}
+function jeb(b,a){fdb('Updating status...');eTb(BLb(),b.d,b.c,b.b,eeb(new deb(),b));}
+function leb(b,a){b.a=a;}
+function sdb(){}
+_=sdb.prototype=new ur();_.tN=xfc+'StatusChangePopup';_.tI=242;_.a=null;_.b=false;_.c=null;_.d=null;function udb(b,a,c){b.a=c;return b;}
+function wdb(a){var b,c;c=Fb(a,63);pC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){pC(this.a,c[b]);}bdb();}
+function tdb(){}
+_=tdb.prototype=new ecb();_.pd=wdb;_.tN=xfc+'StatusChangePopup$1';_.tI=243;function ydb(b,a,c){b.a=a;b.b=c;return b;}
+function Adb(a){this.a.c=vC(this.b,wC(this.b));}
+function xdb(){}
+_=xdb.prototype=new uT();_.yc=Adb;_.tN=xfc+'StatusChangePopup$2';_.tI=244;function Cdb(b,a,c){b.a=a;b.b=c;return b;}
+function Edb(b){var a;a=vC(this.b,wC(this.b));jeb(this.a,a);this.a.lc();}
+function Bdb(){}
+_=Bdb.prototype=new uT();_.zc=Edb;_.tN=xfc+'StatusChangePopup$3';_.tI=245;function aeb(b,a){b.a=a;return b;}
+function ceb(a){this.a.lc();}
+function Fdb(){}
+_=Fdb.prototype=new uT();_.zc=ceb;_.tN=xfc+'StatusChangePopup$4';_.tI=246;function eeb(b,a){b.a=a;return b;}
+function geb(b,a){b.a.a.pb();bdb();}
+function heb(a){geb(this,a);}
+function deb(){}
+_=deb.prototype=new ecb();_.pd=heb;_.tN=xfc+'StatusChangePopup$5';_.tI=247;function oeb(){oeb=s2;dcb();}
+function neb(c,b,a){oeb();acb(c,'images/attention_needed.png',b);bcb(c,'Detail:',peb(c,a));return c;}
+function peb(c,b){var a;a=eK(new dK());uN(a,'editable-Surface');jK(a,12);vK(a,b);a.Be('100%');return a;}
+function meb(){}
+_=meb.prototype=new Bbb();_.tN=xfc+'ValidationMessageWidget';_.tI=248;function xeb(){xeb=s2;eE();}
+function veb(a){a.a=BB(new AB());a.c=Fz(new Dz());a.b=qp(new kp(),'OK');}
+function web(b,c,d){var a;xeb();bE(b,true);veb(b);lE(b,c,d);aA(b.c,b.a);aA(b.c,b.b);a=b;b.b.x(seb(new reb(),b,a));CG(b,b.c);uN(b,'rule-warning-Popup');return b;}
+function yeb(a){bC(a.a,'');hE(a);}
+function zeb(){yeb(this);}
+function Aeb(a,c,d){xeb();var b;b=web(new qeb(),c,d);bC(b.a,a);oE(b);}
+function qeb(){}
+_=qeb.prototype=new FD();_.lc=zeb;_.tN=xfc+'WarningPopup';_.tI=249;function seb(b,a,c){b.a=c;return b;}
+function ueb(a){yeb(this.a);}
+function reb(){}
+_=reb.prototype=new uT();_.zc=ueb;_.tN=xfc+'WarningPopup$1';_.tI=250;function ffb(){ffb=s2;zr();}
+function efb(d,b,f){var a,c,e;ffb();wr(d);Br(d,b);e=qp(new kp(),'Yes');c=qp(new kp(),'No');e.x(Deb(new Ceb(),d,f));c.x(bfb(new afb(),d));a=Fz(new Dz());aA(a,e);aA(a,c);Cr(d,a);return d;}
+function Beb(){}
+_=Beb.prototype=new ur();_.tN=xfc+'YesNoDialog';_.tI=251;function Deb(b,a,c){b.a=a;b.b=c;return b;}
+function Feb(a){this.b.pb();this.a.lc();}
+function Ceb(){}
+_=Ceb.prototype=new uT();_.zc=Feb;_.tN=xfc+'YesNoDialog$1';_.tI=252;function bfb(b,a){b.a=a;return b;}
+function dfb(a){this.a.lc();}
+function afb(){}
+_=afb.prototype=new uT();_.zc=dfb;_.tN=xfc+'YesNoDialog$2';_.tI=253;function fxb(b,a,c){b.e=c;b.a=a;kxb(b,a.e,a.d.n);jxb(b);return b;}
+function gxb(b,a){vbb(b.c,a);}
+function ixb(c,a,d){var b;b=zK(new kK());tK(b,a);vK(b,d);b.ye(false);return b;}
+function jxb(a){Du(a.b,bxb(new axb(),a));}
+function kxb(d,f,c){var a,b,e;d.b=Cu(new xu());cv(d.b,v()+'asset');dv(d.b,'multipart/form-data');ev(d.b,'post');e=at(new Fs());dt(e,'fileUploadElement');b=Fz(new Dz());aA(b,ixb(d,'attachmentUUID',f));d.d=mcb(new kcb(),'images/upload.gif','Upload');aA(b,e);aA(b,CB(new AB(),'upload:'));aA(b,d.d);CG(d.b,b);d.c=rbb(new obb(),d.vb(),c);if(!d.a.c)sbb(d.c,'Upload new version:',d.b);a=qp(new kp(),'Download');a.x(zwb(new ywb(),d,f));sbb(d.c,'Download current version:',a);fB(d.d,Dwb(new Cwb(),d));gr(d,d.c);d.c.Be('100%');uN(d,d.Eb());}
+function lxb(a){fdb('Uploading...');}
+function mxb(a){gv(a.b);}
+function xwb(){}
+_=xwb.prototype=new er();_.tN=Cfc+'AssetAttachmentFileWidget';_.tI=254;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function hfb(b,a,c){fxb(b,a,c);gxb(b,ez(new hw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
+function jfb(){return 'images/decision_table.png';}
+function kfb(){return 'decision-Table-upload';}
+function gfb(){}
+_=gfb.prototype=new xwb();_.vb=jfb;_.Eb=kfb;_.tN=yfc+'DecisionTableXLSWidget';_.tI=255;function mfb(){mfb=s2;ufb=z0(new DZ());pfb=z0(new DZ());ofb=z0(new DZ());nfb=zb('[Ljava.lang.String;',605,1,['not','exists','or']);{a1(ufb,'==','is equal to');a1(ufb,'!=','is not equal to');a1(ufb,'<','is less than');a1(ufb,'<=','less than or equal to');a1(ufb,'>','greater than');a1(ufb,'>=','greater than or equal to');a1(ufb,'|| ==','or equal to');a1(ufb,'|| !=','or not equal to');a1(ufb,'&& !=','and not equal to');a1(ufb,'&& >','and greater than');a1(ufb,'&& <','and less than');a1(ufb,'|| >','or greater than');a1(ufb,'|| <','or less than');a1(ufb,'&& <','and less than');a1(ufb,'|| >=','or greater than (or equal to)');a1(ufb,'|| <=','or less than (or equal to)');a1(ufb,'&& >=','and greater than (or equal to)');a1(ufb,'&& <=','or less than (or equal to)');a1(ufb,'&& contains','and contains');a1(ufb,'|| contains','or contains');a1(ufb,'&& matches','and matches');a1(ufb,'|| matches','or mat!
 ches');a1(ufb,'|| excludes','or excludes');a1(ufb,'&& excludes','and excludes');a1(ufb,'soundslike','sounds like');a1(pfb,'not','There is no');a1(pfb,'exists','There exists');a1(pfb,'or','Any of');a1(ofb,'assert','Insert');a1(ofb,'assertLogical','Logically insert');a1(ofb,'retract','Retract');a1(ofb,'set','Set');a1(ofb,'modify','Modify');}}
+function qfb(a){mfb();return tfb(a,ofb);}
+function rfb(a){mfb();return tfb(a,pfb);}
+function sfb(a){mfb();return tfb(a,ufb);}
+function tfb(a,b){mfb();if(C0(b,a)){return Fb(F0(b,a),1);}else{return a;}}
+var nfb,ofb,pfb,ufb;function yfb(){yfb=s2;mgb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=']);ogb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);kgb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);igb=zb('[Ljava.lang.String;',605,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);ngb=zb('[Ljava.lang.String;',605,1,['==','!=']);lgb=zb('[Ljava.lang.String;',605,1,['==','!=','<','>','<=','>=']);pgb=zb('[Ljava.lang.String;',605,1,['==','!=','matches','soundslike']);jgb=zb('[Ljava.lang.String;',605,1,['contains','excludes','==','!=']);}
+function wfb(a){a.h=z0(new DZ());a.c=z0(new DZ());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[607],[10],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[607],[10],[0],null);}
+function xfb(a){yfb();wfb(a);return a;}
+function zfb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return mgb;}else if(nU(d,'String')){return ogb;}else if(nU(d,'Comparable')||nU(d,'Numeric')){return kgb;}else if(nU(d,'Collection')){return igb;}else{return mgb;}}
+function Bfb(i,g,d){var a,b,c,e,f,h,j;c=cgb(i);j=Fb(F0(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(nU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.ic(f),63);}}}}return Fb(i.c.ic(g.c+'.'+d),63);}
+function Afb(f,g,a,c){var b,d,e,h,i;b=cgb(f);h=Fb(F0(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(nU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.ic(e),63);}}}return Fb(f.c.ic(g+'.'+c),63);}
+function Dfb(b,a){return Fb(b.g.ic(a),63);}
+function Cfb(a,c){var b;b=Fb(a.h.ic(c),1);return Fb(a.g.ic(b),63);}
+function Efb(c,a,b){return Fb(c.f.ic(a+'.'+b),1);}
+function Ffb(a){return dgb(a,a.h.rc());}
+function agb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return ngb;}else if(nU(d,'String')){return pgb;}else if(nU(d,'Comparable')||nU(d,'Numeric')){return lgb;}else if(nU(d,'Collection')){return jgb;}else{return ngb;}}
+function bgb(a,b){return a.h.db(b);}
+function cgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=z0(new DZ());e=g.c.rc();for(b=qW(e);xW(b);){d=Fb(yW(b),1);if(oU(d,91)!=(-1)){c=oU(d,91);a=xU(d,0,c);f=xU(d,c+1,oU(d,93));h=xU(f,0,oU(f,61));a1(g.d,a,h);}}}return g.d;}
+function dgb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[605],[1],[d.b.a.c],null);b=0;for(c=qW(d);xW(c);){a[b]=Fb(yW(c),1);b++;}return a;}
+function vfb(){}
+_=vfb.prototype=new uT();_.tN=zfc+'SuggestionCompletionEngine';_.tI=256;_.d=null;_.e=null;_.f=null;_.g=null;var igb,jgb,kgb,lgb,mgb,ngb,ogb,pgb;function ggb(b,a){a.a=Fb(b.Dd(),72);a.b=Fb(b.Dd(),72);a.c=Fb(b.Dd(),57);a.e=Fb(b.Dd(),63);a.f=Fb(b.Dd(),57);a.g=Fb(b.Dd(),57);a.h=Fb(b.Dd(),57);}
+function hgb(b,a){b.ff(a.a);b.ff(a.b);b.ff(a.c);b.ff(a.e);b.ff(a.f);b.ff(a.g);b.ff(a.h);}
+function rgb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[621],[23],[0],null);}
+function sgb(a){rgb(a);return a;}
+function tgb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[621],[23],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[621],[23],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
+function vgb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[621],[23],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
+function qgb(){}
+_=qgb.prototype=new uT();_.tN=Afc+'ActionFieldList';_.tI=257;function ygb(b,a){a.b=Fb(b.Dd(),73);}
+function zgb(b,a){b.ff(a.b);}
+function Bgb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Agb(){}
+_=Agb.prototype=new uT();_.tN=Afc+'ActionFieldValue';_.tI=258;_.a=null;_.b=null;_.c=null;function Fgb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
+function ahb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
+function dhb(a,b){sgb(a);a.a=b;return a;}
+function chb(a){sgb(a);return a;}
+function bhb(){}
+_=bhb.prototype=new qgb();_.tN=Afc+'ActionInsertFact';_.tI=259;_.a=null;function hhb(b,a){a.a=b.Ed();ygb(b,a);}
+function ihb(b,a){b.gf(a.a);zgb(b,a);}
+function lhb(b,a){dhb(b,a);return b;}
+function khb(a){chb(a);return a;}
+function jhb(){}
+_=jhb.prototype=new bhb();_.tN=Afc+'ActionInsertLogicalFact';_.tI=260;function phb(b,a){hhb(b,a);}
+function qhb(b,a){ihb(b,a);}
+function shb(a,b){a.a=b;return a;}
+function rhb(){}
+_=rhb.prototype=new uT();_.tN=Afc+'ActionRetractFact';_.tI=261;_.a=null;function whb(b,a){a.a=b.Ed();}
+function xhb(b,a){b.gf(a.a);}
+function Ahb(a,b){sgb(a);a.a=b;return a;}
+function zhb(a){sgb(a);return a;}
+function yhb(){}
+_=yhb.prototype=new qgb();_.tN=Afc+'ActionSetField';_.tI=262;_.a=null;function Ehb(b,a){a.a=b.Ed();ygb(b,a);}
+function Fhb(b,a){b.gf(a.a);zgb(b,a);}
+function cib(b,a){Ahb(b,a);return b;}
+function bib(a){zhb(a);return a;}
+function aib(){}
+_=aib.prototype=new yhb();_.tN=Afc+'ActionUpdateField';_.tI=263;function gib(b,a){Ehb(b,a);}
+function hib(b,a){Fhb(b,a);}
+function jib(a,b){a.b=b;return a;}
+function kib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[629],[31],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[629],[31],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
+function iib(){}
+_=iib.prototype=new uT();_.tN=Afc+'CompositeFactPattern';_.tI=264;_.a=null;_.b=null;function oib(b,a){a.a=Fb(b.Dd(),74);a.b=b.Ed();}
+function pib(b,a){b.ff(a.a);b.gf(a.b);}
+function rib(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[21],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[21],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
+function tib(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[21],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
+function qib(){}
+_=qib.prototype=new uT();_.tN=Afc+'CompositeFieldConstraint';_.tI=265;_.a=null;_.b=null;function wib(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),75);}
+function xib(b,a){b.gf(a.a);b.ff(a.b);}
+function vjb(){}
+_=vjb.prototype=new uT();_.tN=Afc+'ISingleFieldConstraint';_.tI=266;_.e=0;_.f=null;function yib(){}
+_=yib.prototype=new vjb();_.tN=Afc+'ConnectiveConstraint';_.tI=267;_.a=null;function Cib(b,a){a.a=b.Ed();zjb(b,a);}
+function Dib(b,a){b.gf(a.a);Ajb(b,a);}
+function ajb(b){var a;a=new Eib();a.a=b.a;return a;}
+function bjb(e){var a,b,c,d;b=yU(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
+function gjb(){return bjb(this);}
+function Eib(){}
+_=Eib.prototype=new uT();_.tS=gjb;_.tN=Afc+'DSLSentence';_.tI=268;_.a=null;function ejb(b,a){a.a=b.Ed();}
+function fjb(b,a){b.gf(a.a);}
+function ijb(b,a){b.c=a;return b;}
+function jjb(b,a){if(b.b===null)b.b=new qib();rib(b.b,a);}
+function ljb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[21],[0],null);}else{return a.b.b;}}
+function mjb(a){if(a.a!==null&& !nU('',a.a)){return true;}else{return false;}}
+function njb(b,a){tib(b.b,a);}
+function hjb(){}
+_=hjb.prototype=new uT();_.tN=Afc+'FactPattern';_.tI=269;_.a=null;_.b=null;_.c=null;function qjb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),30);a.c=b.Ed();}
+function rjb(b,a){b.gf(a.a);b.ff(a.b);b.gf(a.c);}
+function zjb(b,a){a.e=b.Bd();a.f=b.Ed();}
+function Ajb(b,a){b.df(a.e);b.gf(a.f);}
+function Djb(b,a,c){b.a=a;b.b=c;return b;}
+function dkb(){var a;a=FT(new ET());bU(a,this.a);if(nU('no-loop',this.a)){bU(a,' ');bU(a,this.b===null?'true':this.b);}else if(nU('salience',this.a)){bU(a,' ');bU(a,this.b);}else if(this.b!==null){bU(a,' "');bU(a,this.b);bU(a,'"');}return fU(a);}
+function Cjb(){}
+_=Cjb.prototype=new uT();_.tS=dkb;_.tN=Afc+'RuleAttribute';_.tI=270;_.a=null;_.b=null;function bkb(b,a){a.a=b.Ed();a.b=b.Ed();}
+function ckb(b,a){b.gf(a.a);b.gf(a.b);}
+function fkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[616],[18],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[617],[19],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[618],[20],[0],null);}
+function gkb(a){fkb(a);return a;}
+function hkb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[616],[18],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function ikb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[617],[19],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[617],[19],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
+function jkb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[618],[20],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[618],[20],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
+function lkb(h){var a,b,c,d,e,f,g;g=CX(new AX());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,31)){b=Fb(f,31);if(mjb(b)){EX(g,b.a);}for(e=0;e<ljb(b).a;e++){c=ljb(b)[e];if(ac(c,32)){a=Fb(c,32);if(Ckb(a)){EX(g,a.b);}}}}}return g;}
+function mkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],31)){b=Fb(c.b[a],31);if(b.a!==null&&nU(d,b.a)){return b;}}}return null;}
+function nkb(d){var a,b,c;if(d.b===null){return null;}b=CX(new AX());for(a=0;a<d.b.a;a++){if(ac(d.b[a],31)){c=Fb(d.b[a],31);if(c.a!==null){EX(b,c.a);}}}return b;}
+function okb(k,b){var a,c,d,e,f,g,h,i,j;j=CX(new AX());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,31)){d=Fb(i,31);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Ckb(a)){EX(j,a.b);}}}}if(mjb(d)){EX(j,d.a);}}else{if(mjb(d)){EX(j,d.a);}}}}return j;}
+function pkb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],27)){d=Fb(e.e[b],27);if(nU(d.a,a)){return true;}}else if(ac(e.e[b],26)){c=Fb(e.e[b],26);if(nU(c.a,a)){return true;}}}return false;}
+function qkb(b,a){return cY(lkb(b),a);}
+function rkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[616],[18],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function skb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[617],[19],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],31)){e=Fb(f.b[a],31);if(e.a!==null&&pkb(f,e.a)){return false;}}}}f.b=d;return true;}
+function tkb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[618],[20],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
+function ekb(){}
+_=ekb.prototype=new uT();_.tN=Afc+'RuleModel';_.tI=271;_.c='1.0';_.d=null;function wkb(b,a){a.a=Fb(b.Dd(),76);a.b=Fb(b.Dd(),77);a.c=b.Ed();a.d=b.Ed();a.e=Fb(b.Dd(),78);}
+function xkb(b,a){b.ff(a.a);b.ff(a.b);b.gf(a.c);b.gf(a.d);b.ff(a.e);}
+function zkb(b,a){b.c=a;return b;}
+function Akb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',613,15,[new yib()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[613],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new yib();c.a=b;}}
+function Ckb(a){if(a.b!==null&& !nU('',a.b)){return true;}else{return false;}}
+function ykb(){}
+_=ykb.prototype=new vjb();_.tN=Afc+'SingleFieldConstraint';_.tI=272;_.a=null;_.b=null;_.c=null;_.d=null;function Fkb(b,a){a.a=Fb(b.Dd(),79);a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();zjb(b,a);}
+function alb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);Ajb(b,a);}
+function Alb(d,b,c,a){d.e=c;d.a=a;d.d=hab(new fab());d.f=b;d.b=c.a;d.c=Dfb(d.a,c.a);uN(d.d,'model-builderInner-Background');Clb(d);gr(d,d.d);return d;}
+function Clb(e){var a,b,c,d,f;by(e.d);kab(e.d,0,0,Elb(e));c=hab(new fab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];kab(c,a,0,Dlb(e,f));kab(c,a,1,amb(e,f));b=a;d=lcb(new kcb(),'images/delete_item_small.gif');fB(d,dlb(new clb(),e,b));kab(c,a,2,d);}kab(e.d,0,1,c);}
+function Dlb(a,b){return CB(new AB(),b.a);}
+function Elb(d){var a,b,c;c=Fz(new Dz());b=lcb(new kcb(),'images/add_field_to_fact.gif');b.te('Add another field to this so you can set its value.');fB(b,tlb(new slb(),d));a='assert';if(ac(d.e,25)){a='assertLogical';}aA(c,wcb(new vcb(),qfb(a)+' '+d.e.a,'modeller-action-Label'));aA(c,b);return c;}
+function Flb(d,e){var a,b,c;c=acb(new Bbb(),'images/newex_wiz.gif','Add a field');uN(c,'ks-popups-Popup');a=mC(new eC());pC(a,'...');for(b=0;b<d.c.a;b++){pC(a,d.c[b]);}BC(a,0);bcb(c,'Add field',a);oC(a,xlb(new wlb(),d,a,c));lE(c,lN(e),mN(e));oE(c);}
+function amb(c,d){var a,b;b=Afb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return upb(d.c,llb(new klb(),c,d),b);}else{a=zK(new kK());vK(a,d.c);nK(a,plb(new olb(),c,d,a));if(nU(d.b,'Numeric')){oK(a,onb(a));}return a;}}
+function blb(){}
+_=blb.prototype=new E_();_.tN=Bfc+'ActionInsertFactWidget';_.tI=273;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function dlb(b,a,c){b.a=a;b.b=c;return b;}
+function flb(b){var a;a=efb(new Beb(),'Remove this item?',hlb(new glb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
+function clb(){}
+_=clb.prototype=new uT();_.zc=flb;_.tN=Bfc+'ActionInsertFactWidget$1';_.tI=274;function hlb(b,a,c){b.a=a;b.b=c;return b;}
+function jlb(){vgb(this.a.a.e,this.b);owb(this.a.a.f);}
+function glb(){}
+_=glb.prototype=new uT();_.pb=jlb;_.tN=Bfc+'ActionInsertFactWidget$2';_.tI=275;function llb(b,a,c){b.a=c;return b;}
+function nlb(a){this.a.c=a;}
+function klb(){}
+_=klb.prototype=new uT();_.af=nlb;_.tN=Bfc+'ActionInsertFactWidget$3';_.tI=276;function plb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rlb(a){this.c.c=rK(this.b);owb(this.a.f);}
+function olb(){}
+_=olb.prototype=new uT();_.yc=rlb;_.tN=Bfc+'ActionInsertFactWidget$4';_.tI=277;function tlb(b,a){b.a=a;return b;}
+function vlb(a){Flb(this.a,a);}
+function slb(){}
+_=slb.prototype=new uT();_.zc=vlb;_.tN=Bfc+'ActionInsertFactWidget$5';_.tI=278;function xlb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function zlb(c){var a,b;a=vC(this.b,wC(this.b));b=Efb(this.a.a,this.a.e.a,a);tgb(this.a.e,Bgb(new Agb(),a,'',b));owb(this.a.f);this.c.lc();}
+function wlb(){}
+_=wlb.prototype=new uT();_.yc=zlb;_.tN=Bfc+'ActionInsertFactWidget$6';_.tI=279;function cmb(c,a,b){c.a=lt(new ft());uN(c.a,'model-builderInner-Background');c.a.ze(0,0,wcb(new vcb(),qfb('retract'),'modeller-action-Label'));c.a.ze(0,1,wcb(new vcb(),'['+b.a+']','modeller-action-Label'));gr(c,c.a);return c;}
+function bmb(){}
+_=bmb.prototype=new er();_.tN=Bfc+'ActionRetractFactWidget';_.tI=280;_.a=null;function hnb(e,b,d,a){var c;e.d=d;e.a=a;e.c=hab(new fab());e.e=b;uN(e.c,'model-builderInner-Background');if(bgb(e.a,d.a)){e.b=Cfb(e.a,d.a);e.f=Fb(e.a.h.ic(d.a),1);}else{c=mkb(b.c,d.a);e.b=Dfb(e.a,c.c);e.f=c.c;}jnb(e);gr(e,e.c);return e;}
+function jnb(e){var a,b,c,d,f;by(e.c);kab(e.c,0,0,lnb(e));c=hab(new fab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];kab(c,a,0,knb(e,f));kab(c,a,1,nnb(e,f));b=a;d=lcb(new kcb(),'images/delete_item_small.gif');fB(d,gmb(new fmb(),e,b));kab(c,a,2,d);}kab(e.c,0,1,c);}
+function knb(a,b){return CB(new AB(),b.a);}
+function lnb(d){var a,b,c;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te('Add another field to this so you can set its value.');fB(a,omb(new nmb(),d));c='set';if(ac(d.d,28)){c='modify';}aA(b,wcb(new vcb(),qfb(c)+' ['+d.d.a+']','modeller-action-Label'));aA(b,a);return b;}
+function mnb(d,e){var a,b,c;c=acb(new Bbb(),'images/newex_wiz.gif','Add a field');uN(c,'ks-popups-Popup');a=mC(new eC());pC(a,'...');for(b=0;b<d.b.a;b++){pC(a,d.b[b]);}BC(a,0);bcb(c,'Add field',a);oC(a,smb(new rmb(),d,a,c));lE(c,lN(e),mN(e));oE(c);}
+function nnb(d,f){var a,b,c,e;e='';if(bgb(d.a,d.d.a)){e=Fb(d.a.h.ic(d.d.a),1);}else{e=mkb(d.e.c,d.d.a).c;}b=Afb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return upb(f.c,wmb(new vmb(),d,f),b);}else{c=AG(new sG());a=zK(new kK());vK(a,f.c);if(rU(f.c)!=0){BK(a,rU(f.c));}if(nU(f.b,'Numeric')){oK(a,onb(a));}nK(a,Amb(new zmb(),d,f,a));oK(a,jbb(new ibb(),Emb(new Dmb(),d,a)));CG(c,a);return c;}}
+function onb(a){return cnb(new bnb(),a);}
+function pnb(){return jab(this.c);}
+function emb(){}
+_=emb.prototype=new E_();_.pc=pnb;_.tN=Bfc+'ActionSetFieldWidget';_.tI=281;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function gmb(b,a,c){b.a=a;b.b=c;return b;}
+function imb(b){var a;a=efb(new Beb(),'Remove this item?',kmb(new jmb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
+function fmb(){}
+_=fmb.prototype=new uT();_.zc=imb;_.tN=Bfc+'ActionSetFieldWidget$1';_.tI=282;function kmb(b,a,c){b.a=a;b.b=c;return b;}
+function mmb(){vgb(this.a.a.d,this.b);owb(this.a.a.e);}
+function jmb(){}
+_=jmb.prototype=new uT();_.pb=mmb;_.tN=Bfc+'ActionSetFieldWidget$2';_.tI=283;function omb(b,a){b.a=a;return b;}
+function qmb(a){mnb(this.a,a);}
+function nmb(){}
+_=nmb.prototype=new uT();_.zc=qmb;_.tN=Bfc+'ActionSetFieldWidget$3';_.tI=284;function smb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function umb(c){var a,b;a=vC(this.b,wC(this.b));b=Efb(this.a.a,this.a.f,a);tgb(this.a.d,Bgb(new Agb(),a,'',b));owb(this.a.e);this.c.lc();}
+function rmb(){}
+_=rmb.prototype=new uT();_.yc=umb;_.tN=Bfc+'ActionSetFieldWidget$4';_.tI=285;function wmb(b,a,c){b.a=c;return b;}
+function ymb(a){this.a.c=a;}
+function vmb(){}
+_=vmb.prototype=new uT();_.af=ymb;_.tN=Bfc+'ActionSetFieldWidget$5';_.tI=286;function Amb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Cmb(a){this.b.c=rK(this.a);}
+function zmb(){}
+_=zmb.prototype=new uT();_.yc=Cmb;_.tN=Bfc+'ActionSetFieldWidget$6';_.tI=287;function Emb(b,a,c){b.a=c;return b;}
+function anb(){BK(this.a,rU(rK(this.a)));}
+function Dmb(){}
+_=Dmb.prototype=new uT();_.pb=anb;_.tN=Bfc+'ActionSetFieldWidget$7';_.tI=288;function cnb(a,b){a.a=b;return a;}
+function enb(a,b,c){}
+function fnb(c,a,b){if(eS(a)&&a!=61&& !vU(rK(this.a),'=')){pK(Fb(c,80));}}
+function gnb(a,b,c){}
+function bnb(){}
+_=bnb.prototype=new uT();_.cd=enb;_.dd=fnb;_.ed=gnb;_.tN=Bfc+'ActionSetFieldWidget$8';_.tI=289;function znb(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=hab(new fab());uN(d.b,'model-builderInner-Background');Bnb(d);gr(d,d.b);return d;}
+function Bnb(c){var a,b,d;kab(c.b,0,0,Cnb(c));if(c.d.a!==null){d=tab(new sab());a=c.d.a;for(b=0;b<a.a;b++){iO(d,msb(new kqb(),c.c,a[b],c.a,false));}kab(c.b,0,1,d);}}
+function Cnb(c){var a,b;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");fB(a,snb(new rnb(),c));aA(b,CB(new AB(),rfb(c.d.b)));aA(b,a);uN(b,'modeller-composite-Label');return b;}
+function Dnb(e,f){var a,b,c,d;a=mC(new eC());b=e.a.e;pC(a,'Choose...');for(c=0;c<b.a;c++){pC(a,b[c]);}BC(a,0);d=acb(new Bbb(),'images/new_fact.gif','New fact pattern...');bcb(d,'choose fact type',a);oC(a,wnb(new vnb(),e,a,d));uN(d,'ks-popups-Popup');lE(d,lN(f)-400,mN(f));oE(d);}
+function Enb(){return jab(this.b);}
+function qnb(){}
+_=qnb.prototype=new E_();_.pc=Enb;_.tN=Bfc+'CompositeFactPatternWidget';_.tI=290;_.a=null;_.b=null;_.c=null;_.d=null;function snb(b,a){b.a=a;return b;}
+function unb(a){Dnb(this.a,a);}
+function rnb(){}
+_=rnb.prototype=new uT();_.zc=unb;_.tN=Bfc+'CompositeFactPatternWidget$1';_.tI=291;function wnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ynb(a){kib(this.a.d,ijb(new hjb(),vC(this.b,wC(this.b))));owb(this.a.c);this.c.lc();}
+function vnb(){}
+_=vnb.prototype=new uT();_.yc=ynb;_.tN=Bfc+'CompositeFactPatternWidget$2';_.tI=292;function kpb(f,d,b,a,c,g){var e;f.a=a;if(nU(g,'Numeric')){f.d=true;}else{f.d=false;}if(nU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',605,1,['true','false']);}f.c=c.c;e=c.a;f.b=Bfb(e,d,b);f.e=AG(new sG());ppb(f);gr(f,f.e);return f;}
+function lpb(c,b){var a;a=zK(new kK());uN(a,'constraint-value-Editor');if(b.f===null){vK(a,'');}else{vK(a,b.f);}if(b.f===null||rU(b.f)<5){BK(a,3);}else{BK(a,rU(b.f)-1);}nK(a,Aob(new zob(),c,b,a));oK(a,jbb(new ibb(),Eob(new Dob(),c,a)));return a;}
+function npb(b,a){ppb(b);a.lc();}
+function opb(b){var a;if(b.b!==null){return upb(b.a.f,nob(new mob(),b),b.b);}else{a=lpb(b,b.a);if(b.d){oK(a,new qob());}a.te('This is a literal value. What is shown is what the field is checked against.');return a;}}
+function ppb(b){var a;b.e.ab();if(b.a.e==0){a=eB(new oA(),'images/edit.gif');fB(a,fob(new aob(),b));CG(b.e,a);}else{switch(b.a.e){case 1:CG(b.e,opb(b));break;case 3:CG(b.e,qpb(b));break;case 2:CG(b.e,spb(b));break;default:break;}}}
+function qpb(e){var a,b,c,d;a=lpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=eB(new oA(),'images/function_assets.gif');c.te(d);a.te(d);b=tpb(e,c,a);return b;}
+function rpb(e,g,a){var b,c,d,f;b=acb(new Bbb(),'images/newex_wiz.gif','Field value');d=qp(new kp(),'Literal value');d.x(cpb(new bpb(),e,a,b));bcb(b,'Literal value:',tpb(e,d,tcb(new ocb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));ccb(b,ez(new hw(),'<hr/>'));ccb(b,wcb(new vcb(),'Advanced options','weak-Text'));if(okb(e.c,e.a).b>0){f=qp(new kp(),'Bound variable');f.x(gpb(new fpb(),e,a,b));bcb(b,'A variable:',tpb(e,f,tcb(new ocb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=qp(new kp(),'New formula');c.x(cob(new bob(),e,a,b));bcb(b,'A formula:',tpb(e,c,tcb(new ocb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));lE(b,lN(g),mN(g));oE(b);}
+function spb(c){var a,b,d,e;e=okb(c.c,c.a);a=mC(new eC());if(c.a.f===null){pC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(dY(e,b),1);pC(a,d);if(c.a.f!==null&&nU(c.a.f,d)){BC(a,b);}}oC(a,job(new iob(),c,a));return a;}
+function tpb(d,a,c){var b;b=Fz(new Dz());aA(b,a);aA(b,c);b.Be('100%');return b;}
+function upb(b,k,d){var a,c,e,f,g,h,i,j;a=mC(new eC());if(b===null||nU('',b)){pC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(oU(i,61)>0){h=wpb(i);f=h[0];c=h[1];j=f;qC(a,c,f);}else{qC(a,i,i);j=i;}if(b!==null&&nU(b,j)){BC(a,e);g=true;}}if(b!==null&& !g){qC(a,b,b);BC(a,d.a);}oC(a,wob(new vob(),k,a));return a;}
+function vpb(){return this.j;}
+function wpb(c){var a,b;b=yb('[Ljava.lang.String;',[605],[1],[2],null);a=oU(c,61);b[0]=xU(c,0,a);b[1]=xU(c,a+1,rU(c));return b;}
+function Fnb(){}
+_=Fnb.prototype=new E_();_.pc=vpb;_.tN=Bfc+'ConstraintValueEditor';_.tI=293;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function fob(b,a){b.a=a;return b;}
+function hob(a){rpb(this.a,a,this.a.a);}
+function aob(){}
+_=aob.prototype=new uT();_.zc=hob;_.tN=Bfc+'ConstraintValueEditor$1';_.tI=294;function cob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function eob(a){this.b.e=3;npb(this.a,this.c);}
+function bob(){}
+_=bob.prototype=new uT();_.zc=eob;_.tN=Bfc+'ConstraintValueEditor$10';_.tI=295;function job(b,a,c){b.a=a;b.b=c;return b;}
+function lob(a){this.a.a.f=vC(this.b,wC(this.b));}
+function iob(){}
+_=iob.prototype=new uT();_.yc=lob;_.tN=Bfc+'ConstraintValueEditor$2';_.tI=296;function nob(b,a){b.a=a;return b;}
+function pob(a){this.a.a.f=a;}
+function mob(){}
+_=mob.prototype=new uT();_.af=pob;_.tN=Bfc+'ConstraintValueEditor$3';_.tI=297;function sob(a,b,c){}
+function tob(c,a,b){if(eS(a)){pK(Fb(c,80));}}
+function uob(a,b,c){}
+function qob(){}
+_=qob.prototype=new uT();_.cd=sob;_.dd=tob;_.ed=uob;_.tN=Bfc+'ConstraintValueEditor$4';_.tI=298;function wob(a,c,b){a.b=c;a.a=b;return a;}
+function yob(a){this.b.af(xC(this.a,wC(this.a)));}
+function vob(){}
+_=vob.prototype=new uT();_.yc=yob;_.tN=Bfc+'ConstraintValueEditor$5';_.tI=299;function Aob(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Cob(a){this.c.f=rK(this.b);aab(this.a);}
+function zob(){}
+_=zob.prototype=new uT();_.yc=Cob;_.tN=Bfc+'ConstraintValueEditor$6';_.tI=300;function Eob(b,a,c){b.a=c;return b;}
+function apb(){BK(this.a,rU(rK(this.a)));}
+function Dob(){}
+_=Dob.prototype=new uT();_.pb=apb;_.tN=Bfc+'ConstraintValueEditor$7';_.tI=301;function cpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function epb(a){this.b.e=1;npb(this.a,this.c);}
+function bpb(){}
+_=bpb.prototype=new uT();_.zc=epb;_.tN=Bfc+'ConstraintValueEditor$8';_.tI=302;function gpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ipb(a){this.b.e=2;npb(this.a,this.c);}
+function fpb(){}
+_=fpb.prototype=new uT();_.zc=ipb;_.tN=Bfc+'ConstraintValueEditor$9';_.tI=303;function dqb(b,a){b.a=oab(new nab());b.c=CX(new AX());b.b=a;gqb(b);return b;}
+function eqb(b,a){aA(b.a,a);EX(b.c,a);}
+function gqb(a){hqb(a,a.b.a);gr(a,a.a);}
+function hqb(g,e){var a,b,c,d,f;b=yU(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=Epb(new Cpb(),g);eqb(g,c);}else if(a==125){cqb(c,rU(aqb(c))+1);c=null;}else{if(c===null&&d===null){d=BB(new AB());eqb(g,d);}if(d!==null){bC(d,aC(d)+Eb(a));}else if(c!==null){bqb(c,aqb(c)+Eb(a));}}}}
+function iqb(c){var a,b,d;b='';for(a=c.c.qc();a.kc();){d=Fb(a.sc(),13);if(ac(d,81)){b=b+aC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+aqb(Fb(d,82))+'} ';}}c.b.a=AU(b);}
+function jqb(){return qab(this.a);}
+function xpb(){}
+_=xpb.prototype=new E_();_.pc=jqb;_.tN=Bfc+'DSLSentenceWidget';_.tI=304;_.a=null;_.b=null;_.c=null;function zpb(b,a){b.a=a;return b;}
+function Bpb(a){iqb(this.a.c);aab(this.a);}
+function ypb(){}
+_=ypb.prototype=new uT();_.yc=Bpb;_.tN=Bfc+'DSLSentenceWidget$1';_.tI=305;function Dpb(a){a.b=Fz(new Dz());}
+function Epb(b,a){b.c=a;Dpb(b);b.a=zK(new kK());aA(b.b,ez(new hw(),'&nbsp;'));aA(b.b,b.a);aA(b.b,ez(new hw(),'&nbsp;'));nK(b.a,zpb(new ypb(),b));gr(b,b.b);return b;}
+function aqb(a){return rK(a.a);}
+function bqb(b,a){vK(b.a,a);}
+function cqb(b,a){BK(b.a,a);}
+function Cpb(){}
+_=Cpb.prototype=new E_();_.tN=Bfc+'DSLSentenceWidget$FieldEditor';_.tI=306;_.a=null;function lsb(a){a.c=hab(new fab());}
+function msb(k,h,i,c,a){var b,d,e,f,g,j;lsb(k);k.e=Fb(i,31);k.b=c;k.d=h;k.a=a;kab(k.c,0,0,usb(k));f=ot(k.c);Bw(f,0,0,(oz(),pz),(xz(),zz));Ew(f,0,0,'modeller-fact-TypeHeader');g=hab(new fab());kab(k.c,1,0,g);for(j=0;j<ljb(k.e).a;j++){d=ljb(k.e)[j];e=j;xsb(k,g,j,d,true);b=lcb(new kcb(),'images/delete_item_small.gif');b.te('Remove this whole restriction');fB(b,irb(new lqb(),k,e));kab(g,j,5,b);}if(k.a)uN(k.c,'modeller-fact-pattern-Widget');gr(k,k.c);return k;}
+function osb(j,b){var a,c,d,e,f,g,h,i;f=Fz(new Dz());d=null;e=lcb(new kcb(),'images/add_field_to_fact.gif');e.te('Add a field to this nested constraint.');fB(e,mrb(new lrb(),j,b));if(nU(b.a,'&&')){d='All of:';}else{d='Any of:';}aA(f,e);aA(f,ez(new hw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=hab(new fab());uN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){xsb(j,h,g,i[g],false);c=g;a=lcb(new kcb(),'images/delete_item_small.gif');a.te('Remove this (nested) restriction');fB(a,qrb(new prb(),j,b,c));kab(h,g,5,a);}}aA(f,h);return f;}
+function psb(g,b,c){var a,d,e,f;f=zfb(g.b,g.e.c,c);a=mC(new eC());pC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];qC(a,sfb(e),e);if(nU(e,b.a)){BC(a,d+1);}}oC(a,zqb(new yqb(),g,b,a));return a;}
+function qsb(d,a,b,c){var e;e=Efb(d.d.a,b,c);return kpb(new Fnb(),d.e,c,a,d.d,e);}
+function rsb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=oab(new nab());for(e=0;e<a.a.a;e++){b=a.a[e];aA(d,psb(f,b,a.c));aA(d,qsb(f,b,c,a.c));}return d;}else{return null;}}
+function ssb(c,b){var a,d,e;if(c.a&& !pkb(c.d.c,c.e.a)){d=Fz(new Dz());e=zK(new kK());if(c.e.a===null){vK(e,'');}else{vK(e,c.e.a);}BK(e,3);aA(d,e);a=qp(new kp(),'Set');a.x(vqb(new uqb(),c,e,b));aA(d,a);bcb(b,'Variable name',d);}}
+function tsb(e,c,d){var a,b;a=Fz(new Dz());uN(a,'modeller-field-Label');if(!Ckb(c)){if(e.a&&d){b=mcb(new kcb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');fB(b,brb(new arb(),e,c));aA(a,b);}}else{aA(a,CB(new AB(),'['+c.b+']'));}aA(a,CB(new AB(),c.c));return a;}
+function usb(c){var a,b;b=Fz(new Dz());a=lcb(new kcb(),'images/add_field_to_fact.gif');a.te('Add a field to this condition, or bind a varible to this fact.');fB(a,Crb(new Brb(),c));if(c.e.a!==null){aA(b,CB(new AB(),'['+c.e.a+'] '+c.e.c));}else{aA(b,CB(new AB(),c.e.c));}aA(b,a);return b;}
+function vsb(f,b){var a,c,d,e;e=agb(f.b,f.e.c,b.c);a=mC(new eC());pC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];qC(a,sfb(d),d);if(nU(d,b.d)){BC(a,c+1);}}oC(a,Dqb(new Cqb(),f,b,a));return a;}
+function wsb(e,b){var a,c,d;d=Fz(new Dz());d.Be('100%');c=eB(new oA(),'images/function_assets.gif');c.te('This is a formula expression that is evaluated to be true or false.');aA(d,c);if(b.f===null){b.f='';}a=zK(new kK());vK(a,b.f);nK(a,yrb(new xrb(),e,b,a));a.Be('100%');aA(d,a);return d;}
+function xsb(e,b,c,a,d){if(ac(a,32)){ysb(e,e.d,b,c,a,d);}else if(ac(a,30)){kab(b,c,0,osb(e,Fb(a,30)));jt(ot(b),c,0,5);}}
+function ysb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){kab(d,f,0,tsb(h,b,g));kab(d,f,1,vsb(h,b));kab(d,f,2,Csb(h,b,h.e.c));kab(d,f,3,rsb(h,b,h.e.c));a=lcb(new kcb(),'images/add_connective.gif');a.te('Add more options to this fields values.');fB(a,urb(new trb(),h,b,e));kab(d,f,4,a);}else if(b.e==5){kab(d,f,0,wsb(h,b));jt(ot(d),f,0,5);}}
+function zsb(d,g,a){var b,c,e,f;c=acb(new Bbb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=cp(new bp());e=zK(new kK());b=qp(new kp(),'Set');dp(f,e);dp(f,b);b.x(frb(new erb(),d,e,a,c));bcb(c,'Variable name',f);lE(c,lN(g),mN(g));oE(c);}
+function Bsb(i,j){var a,b,c,d,e,f,g,h;g=acb(new Bbb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);uN(g,'ks-popups-Popup');a=mC(new eC());pC(a,'...');c=Dfb(i.b,i.e.c);for(e=0;e<c.a;e++){pC(a,c[e]);}BC(a,0);oC(a,isb(new hsb(),i,a,g));bcb(g,'Add a restriction on a field',a);b=mC(new eC());pC(b,'...');qC(b,'All of (And)','&&');qC(b,'Any of (Or)','||');BC(b,0);oC(b,nqb(new mqb(),i,b,g));f=tcb(new ocb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=Fz(new Dz());aA(d,b);aA(d,f);bcb(g,'Multiple field constraint',d);ccb(g,wcb(new vcb(),'Advanced options','weak-Text'));h=qp(new kp(),'New formula');h.x(rqb(new qqb(),i,g));bcb(g,'Add a new formula style expression',h);ssb(i,g);lE(g,lN(j),mN(j));oE(g);}
+function Asb(i,j,b){var a,c,d,e,f,g,h;h=acb(new Bbb(),'images/newex_wiz.gif','Add fields to this constraint');uN(h,'ks-popups-Popup');a=mC(new eC());pC(a,'...');d=Dfb(i.b,i.e.c);for(f=0;f<d.a;f++){pC(a,d[f]);}BC(a,0);oC(a,asb(new Frb(),i,b,a,h));bcb(h,'Add a restriction on a field',a);c=mC(new eC());pC(c,'...');qC(c,'All of (And)','&&');qC(c,'Any of (Or)','||');BC(c,0);oC(c,esb(new dsb(),i,c,b,h));g=tcb(new ocb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=Fz(new Dz());aA(e,c);aA(e,g);bcb(h,'Multiple field constraint',e);lE(h,lN(j),mN(j));oE(h);}
+function Csb(c,a,b){var d;d=Efb(c.d.a,b,a.c);return kpb(new Fnb(),c.e,a.c,a,c.d,d);}
+function Dsb(){return jab(this.c);}
+function kqb(){}
+_=kqb.prototype=new E_();_.pc=Dsb;_.tN=Bfc+'FactPatternWidget';_.tI=307;_.a=false;_.b=null;_.d=null;_.e=null;function irb(b,a,c){b.a=a;b.b=c;return b;}
+function krb(a){if(Bh('Remove this item?')){njb(this.a.e,this.b);owb(this.a.d);}}
+function lqb(){}
+_=lqb.prototype=new uT();_.zc=krb;_.tN=Bfc+'FactPatternWidget$1';_.tI=308;function nqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function pqb(b){var a;a=new qib();a.a=xC(this.b,wC(this.b));jjb(this.a.e,a);owb(this.a.d);this.c.lc();}
+function mqb(){}
+_=mqb.prototype=new uT();_.yc=pqb;_.tN=Bfc+'FactPatternWidget$10';_.tI=309;function rqb(b,a,c){b.a=a;b.b=c;return b;}
+function tqb(b){var a;a=new ykb();a.e=5;jjb(this.a.e,a);owb(this.a.d);this.b.lc();}
+function qqb(){}
+_=qqb.prototype=new uT();_.zc=tqb;_.tN=Bfc+'FactPatternWidget$11';_.tI=310;function vqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function xqb(b){var a;a=rK(this.c);if(nwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=rK(this.c);owb(this.a.d);this.b.lc();}
+function uqb(){}
+_=uqb.prototype=new uT();_.zc=xqb;_.tN=Bfc+'FactPatternWidget$12';_.tI=311;function zqb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Bqb(a){this.b.a=xC(this.a,wC(this.a));}
+function yqb(){}
+_=yqb.prototype=new uT();_.yc=Bqb;_.tN=Bfc+'FactPatternWidget$13';_.tI=312;function Dqb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Fqb(a){this.c.d=xC(this.b,wC(this.b));aab(this.a.d);hV(),kV;}
+function Cqb(){}
+_=Cqb.prototype=new uT();_.yc=Fqb;_.tN=Bfc+'FactPatternWidget$14';_.tI=313;function brb(b,a,c){b.a=a;b.b=c;return b;}
+function drb(a){zsb(this.a,a,this.b);}
+function arb(){}
+_=arb.prototype=new uT();_.zc=drb;_.tN=Bfc+'FactPatternWidget$15';_.tI=314;function frb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function hrb(b){var a;a=rK(this.d);if(nwb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;owb(this.a.d);this.c.lc();}
+function erb(){}
+_=erb.prototype=new uT();_.zc=hrb;_.tN=Bfc+'FactPatternWidget$16';_.tI=315;function mrb(b,a,c){b.a=a;b.b=c;return b;}
+function orb(a){Asb(this.a,a,this.b);}
+function lrb(){}
+_=lrb.prototype=new uT();_.zc=orb;_.tN=Bfc+'FactPatternWidget$2';_.tI=316;function qrb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function srb(a){if(Bh('Remove this item from nested constraint?')){tib(this.b,this.c);owb(this.a.d);}}
+function prb(){}
+_=prb.prototype=new uT();_.zc=srb;_.tN=Bfc+'FactPatternWidget$3';_.tI=317;function urb(b,a,c,d){b.a=c;b.b=d;return b;}
+function wrb(a){Akb(this.a);owb(this.b);}
+function trb(){}
+_=trb.prototype=new uT();_.zc=wrb;_.tN=Bfc+'FactPatternWidget$4';_.tI=318;function yrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Arb(a){this.c.f=rK(this.b);aab(this.a.d);}
+function xrb(){}
+_=xrb.prototype=new uT();_.yc=Arb;_.tN=Bfc+'FactPatternWidget$5';_.tI=319;function Crb(b,a){b.a=a;return b;}
+function Erb(a){Bsb(this.a,a);}
+function Brb(){}
+_=Brb.prototype=new uT();_.zc=Erb;_.tN=Bfc+'FactPatternWidget$6';_.tI=320;function asb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function csb(a){rib(this.c,zkb(new ykb(),vC(this.b,wC(this.b))));owb(this.a.d);this.d.lc();}
+function Frb(){}
+_=Frb.prototype=new uT();_.yc=csb;_.tN=Bfc+'FactPatternWidget$7';_.tI=321;function esb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function gsb(b){var a;a=new qib();a.a=xC(this.c,wC(this.c));rib(this.b,a);owb(this.a.d);this.d.lc();}
+function dsb(){}
+_=dsb.prototype=new uT();_.yc=gsb;_.tN=Bfc+'FactPatternWidget$8';_.tI=322;function isb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ksb(a){jjb(this.a.e,zkb(new ykb(),vC(this.b,wC(this.b))));owb(this.a.d);this.c.lc();}
+function hsb(){}
+_=hsb.prototype=new uT();_.yc=ksb;_.tN=Bfc+'FactPatternWidget$9';_.tI=323;function vtb(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=qbb(new obb());b=d.a;for(c=0;c<b.a;c++){a=b[c];sbb(f.a,a.a,ytb(f,a,c));}gr(f,f.a);return f;}
+function wtb(c,a){var b;b=aq(new Fp());if(a.b===null){gq(b,true);a.b='true';}else{gq(b,nU(a.b,'true'));}b.x(atb(new Fsb(),c,a,b));return b;}
+function ytb(e,a,d){var b,c;if(nU(a.a,'no-loop')){return ztb(e,d);}b=null;if(nU(a.a,'enabled')||nU(a.a,'auto-focus')||nU(a.a,'lock-on-active')){b=wtb(e,a);}else{b=Atb(e,a);}c=oab(new nab());aA(c,b);aA(c,ztb(e,d));return c;}
+function ztb(c,a){var b;b=eB(new oA(),'images/delete_item_small.gif');fB(b,otb(new ntb(),c,a));return b;}
+function Atb(c,a){var b;b=zK(new kK());BK(b,rU(a.b)<3?3:rU(a.b));vK(b,a.b);nK(b,etb(new dtb(),c,a,b));if(nU(a.a,'date-effective')||nU(a.a,'date-expires')){if(a.b===null||nU('',a.b))vK(b,'dd-MMM-yyyy');BK(b,10);}oK(b,itb(new htb(),c,b));return b;}
+function Btb(){var a;a=mC(new eC());pC(a,'Choose...');pC(a,'salience');pC(a,'enabled');pC(a,'date-effective');pC(a,'date-expires');pC(a,'no-loop');pC(a,'agenda-group');pC(a,'activation-group');pC(a,'duration');pC(a,'auto-focus');pC(a,'lock-on-active');pC(a,'ruleflow-group');pC(a,'dialect');return a;}
+function Ctb(){return this.a.pc();}
+function Esb(){}
+_=Esb.prototype=new E_();_.pc=Ctb;_.tN=Bfc+'RuleAttributeWidget';_.tI=324;_.a=null;_.b=null;_.c=null;function atb(b,a,c,d){b.a=c;b.b=d;return b;}
+function ctb(a){this.a.b=fq(this.b)?'true':'false';}
+function Fsb(){}
+_=Fsb.prototype=new uT();_.zc=ctb;_.tN=Bfc+'RuleAttributeWidget$1';_.tI=325;function etb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function gtb(a){this.b.b=rK(this.c);aab(this.a);}
+function dtb(){}
+_=dtb.prototype=new uT();_.yc=gtb;_.tN=Bfc+'RuleAttributeWidget$2';_.tI=326;function itb(b,a,c){b.a=c;return b;}
+function ktb(a,b,c){}
+function ltb(a,b,c){}
+function mtb(a,b,c){BK(this.a,rU(rK(this.a)));}
+function htb(){}
+_=htb.prototype=new uT();_.cd=ktb;_.dd=ltb;_.ed=mtb;_.tN=Bfc+'RuleAttributeWidget$3';_.tI=327;function otb(b,a,c){b.a=a;b.b=c;return b;}
+function qtb(b){var a;a=efb(new Beb(),'Remove this rule option?',stb(new rtb(),this,this.b));lE(a,lN(b),mN(b));oE(a);}
+function ntb(){}
+_=ntb.prototype=new uT();_.zc=qtb;_.tN=Bfc+'RuleAttributeWidget$4';_.tI=328;function stb(b,a,c){b.a=a;b.b=c;return b;}
+function utb(){rkb(this.a.a.b,this.b);owb(this.a.a.c);}
+function rtb(){}
+_=rtb.prototype=new uT();_.pb=utb;_.tN=Bfc+'RuleAttributeWidget$5';_.tI=329;function cwb(b,a){b.c=Fb(a.b,83);b.a=rKb((pKb(),uKb),a.d.o);b.b=hab(new fab());mwb(b);uN(b.b,'model-builder-Background');gr(b,b.b);b.Be('100%');b.qe('100%');return b;}
+function dwb(b,a){jkb(b.c,Ahb(new yhb(),a));owb(b);}
+function ewb(b,a){jkb(b.c,cib(new aib(),a));owb(b);}
+function fwb(b,a){ikb(b.c,jib(new iib(),a));owb(b);}
+function gwb(b,a){ikb(b.c,ajb(a));owb(b);}
+function hwb(b,a){jkb(b.c,ajb(a));owb(b);}
+function iwb(b,a){ikb(b.c,ijb(new hjb(),a));owb(b);}
+function jwb(a,b){jkb(a.c,shb(new rhb(),b));owb(a);}
+function lwb(b){var a;a=lcb(new kcb(),'images/new_item.gif');a.te('Add an option to the rule, to modify its behavior when evaluated or executed.');fB(a,hvb(new gvb(),b));return a;}
+function mwb(c){var a,b;by(c.b);b=lcb(new kcb(),'images/new_item.gif');b.te('Add a condition to this rule.');fB(b,Fub(new Etb(),c));kab(c.b,0,0,CB(new AB(),'WHEN'));kab(c.b,0,2,b);kab(c.b,1,1,pwb(c,c.c));kab(c.b,2,0,CB(new AB(),'THEN'));a=lcb(new kcb(),'images/new_item.gif');a.te('Add an action to this rule.');fB(a,dvb(new cvb(),c));kab(c.b,2,2,a);kab(c.b,3,1,qwb(c,c.c));kab(c.b,4,0,CB(new AB(),'(options)'));kab(c.b,4,2,lwb(c));kab(c.b,5,1,vtb(new Esb(),c,c.c));}
+function nwb(b,a){return qkb(b.c,a)||bgb(b.a,a);}
+function owb(a){mwb(a);aab(a);}
+function pwb(e,c){var a,b,d,f,g;f=tab(new sab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,31)){g=msb(new kqb(),e,d,e.a,true);iO(f,vwb(e,c,b,g));iO(f,uwb(e));}else if(ac(d,29)){g=znb(new qnb(),e,Fb(d,29),e.a);iO(f,vwb(e,c,b,g));iO(f,uwb(e));}else if(ac(d,10)){}else{throw AT(new zT(),"I don't know what type of pattern that is.");}}a=tab(new sab());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,10)){g=dqb(new xpb(),Fb(d,10));iO(a,vwb(e,c,b,g));uN(a,'model-builderInner-Background');}}iO(f,a);return f;}
+function qwb(g,e){var a,b,c,d,f,h,i;h=tab(new sab());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,27)){i=hnb(new emb(),g,Fb(a,27),g.a);}else if(ac(a,24)){i=Alb(new blb(),g,Fb(a,24),g.a);}else if(ac(a,26)){i=cmb(new bmb(),g.a,Fb(a,26));}else if(ac(a,10)){i=dqb(new xpb(),Fb(a,10));uN(i,'model-builderInner-Background');}iO(h,uwb(g));b=oab(new nab());f=lcb(new kcb(),'images/delete_item_small.gif');f.te('Remove this action.');d=c;fB(f,pvb(new ovb(),g,e,d));aA(b,i);if(!ac(i,84)){i.Be('100%');b.Be('100%');}aA(b,f);iO(h,b);}return h;}
+function rwb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=acb(new Bbb(),'images/new_fact.gif','Add a new action...');uN(k,'ks-popups-Popup');q=nkb(n.c);p=mC(new eC());l=mC(new eC());j=mC(new eC());pC(p,'Choose ...');pC(l,'Choose ...');pC(j,'Choose ...');for(i=q.qc();i.kc();){o=Fb(i.sc(),1);pC(p,o);pC(l,o);pC(j,o);}d=Ffb(n.a);for(f=0;f<d.a;f++){pC(p,d[f]);}BC(p,0);oC(p,aub(new Ftb(),n,p,k));oC(l,eub(new dub(),n,l,k));oC(j,iub(new hub(),n,j,k));if(uC(p)>1){bcb(k,'Set the values of a field on',p);}if(uC(j)>1){e=Fz(new Dz());aA(e,j);g=eB(new oA(),'images/information.gif');g.te('Modify a field on a fact, and notify the engine to re-evaluate rules.');aA(e,g);bcb(k,'Modify a fact',e);}if(uC(l)>1){bcb(k,'Retract the fact',l);}b=mC(new eC());c=mC(new eC());pC(b,'Choose ...');pC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];pC(b,h);pC(c,h);}oC(b,mub(new lub(),n,b,k));oC(c,qub(new pub(),n,c,k));if(uC(b)>1){bcb(k,'Insert a new fact',b);e=Fz(new Dz());aA(e,c);g=eB(new oA(),'images/inf!
 ormation.gif');g.te('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');aA(e,g);bcb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=mC(new eC());pC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];qC(a,bjb(m),DS(f));}oC(a,uub(new tub(),n,a,k));bcb(k,'DSL sentence',a);}lE(k,dc(ai()/3),dc(Fh()/3));oE(k);}
+function swb(c,d){var a,b;b=acb(new Bbb(),'images/config.png','Add an option to the rule');a=Btb();BC(a,0);oC(a,lvb(new kvb(),c,a,b));uN(b,'ks-popups-Popup');bcb(b,'Attribute',a);lE(b,lN(d)-400,mN(d));oE(b);}
+function twb(j,k){var a,b,c,d,e,f,g,h,i;h=acb(new Bbb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=mC(new eC());qC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){pC(e,f[g]);}BC(e,0);if(f.a>0)bcb(h,'Fact',e);oC(e,xvb(new wvb(),j,e,h));uN(h,'ks-popups-Popup');c=(mfb(),nfb);b=mC(new eC());qC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];qC(b,rfb(a),a);}BC(b,0);if(f.a>0)bcb(h,'Condition type',b);oC(b,Bvb(new Avb(),j,b,h));if(j.a.b.a>0){d=mC(new eC());pC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];qC(d,bjb(i),DS(g));}oC(d,Fvb(new Evb(),j,d,h));bcb(h,'DSL sentence',d);}lE(h,lN(k)-400,mN(k));oE(h);}
+function uwb(b){var a;a=ez(new hw(),'&nbsp;');a.qe('2px');return a;}
+function vwb(f,d,b,g){var a,c,e;a=oab(new nab());e=lcb(new kcb(),'images/delete_item_small.gif');e.te('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;fB(e,yub(new xub(),f,d,c));a.Be('100%');g.Be('100%');aA(a,g);aA(a,e);return a;}
+function wwb(){return jab(this.b)||this.j;}
+function Dtb(){}
+_=Dtb.prototype=new E_();_.pc=wwb;_.tN=Bfc+'RuleModeller';_.tI=330;_.a=null;_.b=null;_.c=null;function Fub(b,a){b.a=a;return b;}
+function bvb(a){twb(this.a,a);}
+function Etb(){}
+_=Etb.prototype=new uT();_.zc=bvb;_.tN=Bfc+'RuleModeller$1';_.tI=331;function aub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function cub(a){dwb(this.a,vC(this.c,wC(this.c)));this.b.lc();}
+function Ftb(){}
+_=Ftb.prototype=new uT();_.yc=cub;_.tN=Bfc+'RuleModeller$10';_.tI=332;function eub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function gub(a){jwb(this.a,vC(this.c,wC(this.c)));this.b.lc();}
+function dub(){}
+_=dub.prototype=new uT();_.yc=gub;_.tN=Bfc+'RuleModeller$11';_.tI=333;function iub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kub(a){ewb(this.a,vC(this.b,wC(this.b)));this.c.lc();}
+function hub(){}
+_=hub.prototype=new uT();_.yc=kub;_.tN=Bfc+'RuleModeller$12';_.tI=334;function mub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function oub(b){var a;a=vC(this.b,wC(this.b));jkb(this.a.c,dhb(new bhb(),a));owb(this.a);this.c.lc();}
+function lub(){}
+_=lub.prototype=new uT();_.yc=oub;_.tN=Bfc+'RuleModeller$13';_.tI=335;function qub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function sub(b){var a;a=vC(this.b,wC(this.b));jkb(this.a.c,lhb(new jhb(),a));owb(this.a);this.c.lc();}
+function pub(){}
+_=pub.prototype=new uT();_.yc=sub;_.tN=Bfc+'RuleModeller$14';_.tI=336;function uub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function wub(b){var a;a=BS(xC(this.b,wC(this.b)));hwb(this.a,this.a.a.a[a]);this.c.lc();}
+function tub(){}
+_=tub.prototype=new uT();_.yc=wub;_.tN=Bfc+'RuleModeller$15';_.tI=337;function yub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Aub(b){var a;a=efb(new Beb(),'Remove this entire condition?',Cub(new Bub(),this,this.c,this.b));lE(a,lN(b),mN(b));oE(a);}
+function xub(){}
+_=xub.prototype=new uT();_.zc=Aub;_.tN=Bfc+'RuleModeller$16';_.tI=338;function Cub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Eub(){if(skb(this.c,this.b)){owb(this.a.a);}else{gbb("Can't remove that item as it is used in the action part of the rule.");}}
+function Bub(){}
+_=Bub.prototype=new uT();_.pb=Eub;_.tN=Bfc+'RuleModeller$17';_.tI=339;function dvb(b,a){b.a=a;return b;}
+function fvb(a){rwb(this.a,a);}
+function cvb(){}
+_=cvb.prototype=new uT();_.zc=fvb;_.tN=Bfc+'RuleModeller$2';_.tI=340;function hvb(b,a){b.a=a;return b;}
+function jvb(a){swb(this.a,a);}
+function gvb(){}
+_=gvb.prototype=new uT();_.zc=jvb;_.tN=Bfc+'RuleModeller$3';_.tI=341;function lvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nvb(a){hkb(this.a.c,Djb(new Cjb(),vC(this.b,wC(this.b)),''));owb(this.a);this.c.lc();}
+function kvb(){}
+_=kvb.prototype=new uT();_.yc=nvb;_.tN=Bfc+'RuleModeller$4';_.tI=342;function pvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rvb(b){var a;a=efb(new Beb(),'Remove this item?',tvb(new svb(),this,this.c,this.b));lE(a,lN(b),mN(b));oE(a);}
+function ovb(){}
+_=ovb.prototype=new uT();_.zc=rvb;_.tN=Bfc+'RuleModeller$5';_.tI=343;function tvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function vvb(){tkb(this.c,this.b);owb(this.a.a);}
+function svb(){}
+_=svb.prototype=new uT();_.pb=vvb;_.tN=Bfc+'RuleModeller$6';_.tI=344;function xvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function zvb(b){var a;a=vC(this.b,wC(this.b));if(!nU(a,'IGNORE')){iwb(this.a,a);this.c.lc();}}
+function wvb(){}
+_=wvb.prototype=new uT();_.yc=zvb;_.tN=Bfc+'RuleModeller$7';_.tI=345;function Bvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Dvb(b){var a;a=xC(this.b,wC(this.b));if(!nU(a,'IGNORE')){fwb(this.a,a);this.c.lc();}}
+function Avb(){}
+_=Avb.prototype=new uT();_.yc=Dvb;_.tN=Bfc+'RuleModeller$8';_.tI=346;function Fvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function bwb(b){var a;a=BS(xC(this.b,wC(this.b)));gwb(this.a,this.a.a.b[a]);this.c.lc();}
+function Evb(){}
+_=Evb.prototype=new uT();_.yc=bwb;_.tN=Bfc+'RuleModeller$9';_.tI=347;function zwb(b,a,c){b.a=c;return b;}
+function Bwb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
+function ywb(){}
+_=ywb.prototype=new uT();_.zc=Bwb;_.tN=Cfc+'AssetAttachmentFileWidget$1';_.tI=348;function Dwb(b,a){b.a=a;return b;}
+function Fwb(a){lxb(this.a);mxb(this.a);}
+function Cwb(){}
+_=Cwb.prototype=new uT();_.zc=Fwb;_.tN=Cfc+'AssetAttachmentFileWidget$2';_.tI=349;function bxb(b,a){b.a=a;return b;}
+function exb(a){}
+function dxb(a){bdb();if(pU(a.a,'OK')>(-1)){u$b(this.a.e);}else{gbb('Unable to upload the file.');}}
+function axb(){}
+_=axb.prototype=new uT();_.od=exb;_.nd=dxb;_.tN=Cfc+'AssetAttachmentFileWidget$3';_.tI=350;function yxb(){yxb=s2;dcb();}
+function wxb(c){var a,b;yxb();acb(c,'images/new_wiz.gif','Create a new fact template');c.a=lt(new ft());c.b=zK(new kK());bcb(c,'Name:',c.b);bcb(c,'Fact attributes:',c.a);a=eB(new oA(),'images/new_item.gif');fB(a,pxb(new oxb(),c));bcb(c,'Add a new attribute',a);b=qp(new kp(),'Create');b.x(txb(new sxb(),c));bcb(c,'',b);return c;}
+function xxb(b){var a;a=pt(b.a);b.a.ze(a,0,zK(new kK()));b.a.ze(a,1,Bxb(b));}
+function zxb(d){var a,b,c,e,f;b='template '+rK(d.b)+'\n';for(a=0;a<pt(d.a);a++){e=Fb(ky(d.a,a,1),85);f=vC(e,wC(e));c=rK(Fb(ky(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
+function Axb(b,a){b.c=a;}
+function Bxb(b){var a;a=mC(new eC());pC(a,'String');pC(a,'Integer');pC(a,'Float');pC(a,'Date');pC(a,'Boolean');return a;}
+function nxb(){}
+_=nxb.prototype=new Bbb();_.tN=Cfc+'FactTemplateWizard';_.tI=351;_.a=null;_.b=null;_.c=null;function pxb(b,a){b.a=a;return b;}
+function rxb(a){xxb(this.a);}
+function oxb(){}
+_=oxb.prototype=new uT();_.zc=rxb;_.tN=Cfc+'FactTemplateWizard$1';_.tI=352;function txb(b,a){b.a=a;return b;}
+function vxb(a){yCb(this.a.c);this.a.lc();}
+function sxb(){}
+_=sxb.prototype=new uT();_.zc=vxb;_.tN=Cfc+'FactTemplateWizard$2';_.tI=353;function Dxb(b,a,c){fxb(b,a,c);return b;}
+function Fxb(){return 'images/model_large.png';}
+function ayb(){return 'editable-Surface';}
+function Cxb(){}
+_=Cxb.prototype=new xwb();_.vb=Fxb;_.Eb=ayb;_.tN=Cfc+'ModelAttachmentFileWidget';_.tI=354;function Fyb(){Fyb=s2;dcb();}
+function Dyb(a){a.b=qbb(new obb());a.d=qbb(new obb());}
+function Eyb(f,b){var a,c,d,e;Fyb();acb(f,'images/new_wiz.gif','Create a new package');Dyb(f);f.c=zK(new kK());f.a=eK(new dK());vbb(f.d,ez(new hw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));vbb(f.b,ez(new hw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));sbb(f.d,'Name:',f.c);sbb(f.d,'Description:',f.a);f.c.te('The name of the package. Avoid spaces, use underscore instead.');e=EF(new CF(),'action','Create new pa!
 ckage');d=EF(new CF(),'action','Import from drl file');gq(e,true);f.d.ye(true);e.x(dyb(new cyb(),f));f.b.ye(false);d.x(hyb(new gyb(),f));a=cp(new bp());dp(a,e);dp(a,d);ccb(f,a);ccb(f,f.d);ccb(f,f.b);sbb(f.b,'DRL file to import:',bzb(b,f));c=qp(new kp(),'Create package');c.x(lyb(new kyb(),f,b));sbb(f.d,'',c);uN(f,'ks-popups-Popup');return f;}
+function azb(d,b,a,c){fdb('Creating package - please wait...');nTb(BLb(),b,a,qyb(new pyb(),d,c));}
+function bzb(a,d){Fyb();var b,c,e,f;f=Cu(new xu());cv(f,v()+'package');dv(f,'multipart/form-data');ev(f,'post');c=Fz(new Dz());f.Ae(c);e=at(new Fs());dt(e,'classicDRLFile');aA(c,e);aA(c,CB(new AB(),'upload:'));b=mcb(new kcb(),'images/upload.gif','Import');fB(b,vyb(new uyb(),f));aA(c,b);Du(f,zyb(new yyb(),a,d,e));return f;}
+function byb(){}
+_=byb.prototype=new Bbb();_.tN=Cfc+'NewPackageWizard';_.tI=355;_.a=null;_.c=null;function dyb(b,a){b.a=a;return b;}
+function fyb(a){this.a.d.ye(true);this.a.b.ye(false);}
+function cyb(){}
+_=cyb.prototype=new uT();_.zc=fyb;_.tN=Cfc+'NewPackageWizard$1';_.tI=356;function hyb(b,a){b.a=a;return b;}
+function jyb(a){this.a.d.ye(false);this.a.b.ye(true);}
+function gyb(){}
+_=gyb.prototype=new uT();_.zc=jyb;_.tN=Cfc+'NewPackageWizard$2';_.tI=357;function lyb(b,a,c){b.a=a;b.b=c;return b;}
+function nyb(b,a){return sU(a,'[a-zA-Z\\.]*');}
+function oyb(a){if(nyb(this,rK(this.a.c))){azb(this.a,rK(this.a.c),rK(this.a.a),this.b);this.a.lc();}else{vK(this.a.c,'');zh('Invalid package name, use java-style package name');}}
+function kyb(){}
+_=kyb.prototype=new uT();_.zc=oyb;_.tN=Cfc+'NewPackageWizard$3';_.tI=358;function qyb(b,a,c){b.a=c;return b;}
+function syb(b,a){bdb();bFb(b.a);}
+function tyb(a){syb(this,a);}
+function pyb(){}
+_=pyb.prototype=new ecb();_.pd=tyb;_.tN=Cfc+'NewPackageWizard$4';_.tI=359;function vyb(a,b){a.a=b;return a;}
+function xyb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){fdb('Importing drl package, please wait, as this could take some time...');gv(this.a);}}
+function uyb(){}
+_=uyb.prototype=new uT();_.zc=xyb;_.tN=Cfc+'NewPackageWizard$5';_.tI=360;function zyb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
+function Cyb(a){if(rU(ct(this.c))==0){zh('You did not choose a drl file to import !');sv(a,true);}else if(!lU(ct(this.c),'.drl')){zh("You can only import '.drl' files.");sv(a,true);}}
+function Byb(a){if(pU(a.a,'OK')>(-1)){zh('Package was imported successfully. ');bFb(this.a);this.b.lc();}else{gbb('Unable to import into the package. ['+a.a+']');}bdb();}
+function yyb(){}
+_=yyb.prototype=new uT();_.od=Cyb;_.nd=Byb;_.tN=Cfc+'NewPackageWizard$6';_.tI=361;function CAb(h,e,f){var a,b,c,d,g;h.c=rbb(new obb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=AG(new sG());g=zK(new kK());a=qp(new kp(),'Build package');a.te('This will validate and compile all the assets in a package.');a.x(vzb(new dzb(),h,b,g));c=qp(new kp(),'Show package source');c.x(zzb(new yzb(),h,e));sbb(h.c,'View source for package',c);d=Fz(new Dz());aA(d,a);aA(d,ez(new hw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));aA(d,g);aA(d,tcb(new ocb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));sbb(h.c,'Build binary package:',d);vbb(h.c,ez(new hw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));vbb(h.c,b);uN(h.c,'package-Editor');h.c.Be('100%');gr(h,h.c);return h;}
+function EAb(d,a,c){var b;a.ab();b=Fz(new Dz());aA(b,CB(new AB(),'Validating and building package, please wait...'));aA(b,eB(new oA(),'images/red_anime.gif'));fdb('Please wait...');CG(a,b);fg(mAb(new lAb(),d,c,a));}
+function FAb(i,e,a){var b,c,d,f,g,h;a.ab();b=lt(new ft());uN(b,'build-Results');yy(b,0,1,'Format');yy(b,0,2,'Name');yy(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ze(f,0,eB(new oA(),'images/error.gif'));yy(b,f,1,d.a);yy(b,f,2,d.b);yy(b,f,3,d.c);if(!nU('package',d.a)){h=qp(new kp(),'Show');h.x(zAb(new yAb(),i,d));b.ze(f,4,h);}}b.Be('100%');g=oG(new mG(),b);qG(g,true);tN(g,'100%','25em');CG(a,g);}
+function aBb(g,i){var a,b,c,d,e,f,h;fdb('Loading existing snapshots...');c=acb(new Bbb(),'images/snapshot.png','Create a snapshot for deployment.');ccb(c,ez(new hw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=hO(new fO());bcb(c,'Choose or create snapshot name:',h);f=CX(new AX());d=zK(new kK());e='NEW: ';sTb(BLb(),g.a.j,fzb(new ezb(),g,f,h,d));a=zK(new kK());bcb(c,'Comment:',a);b=qp(new kp(),'Create new snapshot');bcb(c,'',b);b.x(nzb(new mzb(),g,f,d,a,c));c.Be('50%');lE(c,dc((cab()-gE(c))/2),100);oE(c);}
+function bBb(e,a){var b,c,d,f;a.ab();f=hO(new fO());iO(f,ez(new hw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=dBb(e.a);b=ez(new hw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");iO(f,b);d=qp(new kp(),'Create snapshot for deployment');d.x(vAb(new uAb(),e));iO(f,d);CG(a,f);}
+function cBb(b,a){fdb('Assembling package source...');fg(Dzb(new Czb(),b,a));}
+function dBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
+function eBb(b,c){var a,d;d=acb(new Bbb(),'images/view_source.gif','Viewing source for: '+c);a=eK(new dK());jK(a,30);a.Be('100%');iK(a,80);ccb(d,a);vK(a,b);a.ne(true);a.te('THIS IS READ ONLY - you may copy and paste, but not edit.');oK(a,gAb(new fAb(),a,b));bdb();lE(d,dc((cab()-gE(d))/2),100);oE(d);}
+function czb(){}
+_=czb.prototype=new er();_.tN=Cfc+'PackageBuilderWidget';_.tI=362;_.a=null;_.b=null;_.c=null;function vzb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function xzb(a){EAb(this.a,this.b,rK(this.c));}
+function dzb(){}
+_=dzb.prototype=new uT();_.zc=xzb;_.tN=Cfc+'PackageBuilderWidget$1';_.tI=363;function fzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
+function hzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=EF(new CF(),'snapshotNameGroup',f[c].b);EX(this.b,b);iO(this.c,b);}d=Fz(new Dz());e=EF(new CF(),'snapshotNameGroup','NEW: ');aA(d,e);this.a.ne(false);e.x(jzb(new izb(),this,this.a));aA(d,this.a);EX(this.b,e);iO(this.c,d);bdb();}
+function ezb(){}
+_=ezb.prototype=new ecb();_.pd=hzb;_.tN=Cfc+'PackageBuilderWidget$10';_.tI=364;function jzb(b,a,c){b.a=c;return b;}
+function lzb(a){this.a.ne(true);}
+function izb(){}
+_=izb.prototype=new uT();_.zc=lzb;_.tN=Cfc+'PackageBuilderWidget$11';_.tI=365;function nzb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
+function pzb(d){var a,b,c;c=false;for(b=this.f.qc();b.kc();){a=Fb(b.sc(),87);if(fq(a)){this.a=eq(a);if(!nU(eq(a),'NEW: ')){c=true;}break;}}if(nU(this.a,'NEW: ')){this.a=rK(this.e);}if(nU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}mTb(BLb(),this.b.a.j,this.a,c,rK(this.c),rzb(new qzb(),this,this.d));}
+function mzb(){}
+_=mzb.prototype=new uT();_.zc=pzb;_.tN=Cfc+'PackageBuilderWidget$12';_.tI=366;_.a='';function rzb(b,a,c){b.a=a;b.b=c;return b;}
+function tzb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.lc();}
+function uzb(a){tzb(this,a);}
+function qzb(){}
+_=qzb.prototype=new ecb();_.pd=uzb;_.tN=Cfc+'PackageBuilderWidget$13';_.tI=367;function zzb(b,a,c){b.a=c;return b;}
+function Bzb(a){cBb(this.a.m,this.a.j);}
+function yzb(){}
+_=yzb.prototype=new uT();_.zc=Bzb;_.tN=Cfc+'PackageBuilderWidget$2';_.tI=368;function Dzb(a,c,b){a.b=c;a.a=b;return a;}
+function Fzb(){bTb(BLb(),this.b,bAb(new aAb(),this,this.a));}
+function Czb(){}
+_=Czb.prototype=new uT();_.pb=Fzb;_.tN=Cfc+'PackageBuilderWidget$3';_.tI=369;function bAb(b,a,c){b.a=c;return b;}
+function dAb(c,b){var a;a=Fb(b,1);eBb(a,c.a);}
+function eAb(a){dAb(this,a);}
+function aAb(){}
+_=aAb.prototype=new ecb();_.pd=eAb;_.tN=Cfc+'PackageBuilderWidget$4';_.tI=370;function gAb(a,b,c){a.a=b;a.b=c;return a;}
+function iAb(a,b,c){vK(this.a,this.b);}
+function jAb(a,b,c){vK(this.a,this.b);}
+function kAb(a,b,c){vK(this.a,this.b);}
+function fAb(){}
+_=fAb.prototype=new uT();_.cd=iAb;_.dd=jAb;_.ed=kAb;_.tN=Cfc+'PackageBuilderWidget$5';_.tI=371;function mAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function oAb(){cTb(BLb(),this.a.a.m,this.c,qAb(new pAb(),this,this.b));}
+function lAb(){}
+_=lAb.prototype=new uT();_.pb=oAb;_.tN=Cfc+'PackageBuilderWidget$6';_.tI=372;function qAb(b,a,c){b.a=a;b.b=c;return b;}
+function sAb(c,a){var b;bdb();if(a===null){bBb(c.a.a,c.b);}else{b=Fb(a,88);FAb(c.a.a,b,c.b);}}
+function tAb(a){sAb(this,a);}
+function pAb(){}
+_=pAb.prototype=new ecb();_.pd=tAb;_.tN=Cfc+'PackageBuilderWidget$7';_.tI=373;function vAb(b,a){b.a=a;return b;}
+function xAb(a){aBb(this.a,a);}
+function uAb(){}
+_=uAb.prototype=new uT();_.zc=xAb;_.tN=Cfc+'PackageBuilderWidget$8';_.tI=374;function zAb(b,a,c){b.a=a;b.b=c;return b;}
+function BAb(a){DHb(this.a.b,this.b.d);}
+function yAb(){}
+_=yAb.prototype=new uT();_.zc=BAb;_.tN=Cfc+'PackageBuilderWidget$9';_.tI=375;function cEb(e,b,c,a,d){qbb(e);e.b=b;e.c=c;e.a=a;e.e=d;uN(e,'package-Editor');e.Be('100%');iEb(e);return e;}
+function eEb(b){var a;a=eK(new dK());a.Be('100%');jK(a,8);vK(a,b.b.d);nK(a,FCb(new ECb(),b,a));iK(a,100);return gEb(b,a);}
+function fEb(b,a){fdb('Saving package configuration. Please wait ...');dUb(BLb(),b.b,rBb(new qBb(),b,a));}
+function gEb(d,a){var b,c;c=Fz(new Dz());aA(c,a);b=eB(new oA(),'images/max_min.gif');b.te('Increase view area');aA(c,b);fB(b,BCb(new ACb(),d,a));return c;}
+function hEb(g){var a,b,c,d,e,f,h;a=eK(new dK());a.Be('100%');jK(a,8);iK(a,100);vK(a,g.b.f);nK(a,EBb(new DBb(),g,a));f=Fz(new Dz());aA(f,a);h=hO(new fO());b=eB(new oA(),'images/max_min.gif');fB(b,cCb(new bCb(),g,a));b.te('Increase view area.');iO(h,b);e=eB(new oA(),'images/new_import.gif');fB(e,gCb(new fCb(),g,a));iO(h,e);e.te('Add a new Type/Class import to the package.');d=eB(new oA(),'images/new_global.gif');fB(d,kCb(new jCb(),g,a));d.te('Add a new global variable declaration.');iO(h,d);c=eB(new oA(),'images/fact_template.gif');fB(c,sCb(new rCb(),g,a));c.te('Add a new fact template.');f.Be('100%');aA(f,h);return f;}
+function iEb(c){var a,b;wbb(c);vbb(c,pEb(c));sbb(c,'Description:',eEb(c));sbb(c,'Header:',hEb(c));vbb(c,ez(new hw(),'<hr/>'));sbb(c,'Last modified:',CB(new AB(),pZ(c.b.i)));sbb(c,'Last contributor:',CB(new AB(),c.b.h));vbb(c,ez(new hw(),'<hr/>'));c.f=dz(new hw());b=Fz(new Dz());a=lcb(new kcb(),'images/edit.gif');a.te('Change status.');fB(a,nCb(new gBb(),c));aA(b,c.f);if(!c.b.g){aA(b,a);}lEb(c,c.b.l);sbb(c,'Status:',b);if(!c.b.g){vbb(c,kEb(c));}vbb(c,ez(new hw(),'<hr/>'));}
+function jEb(a){fdb('Refreshing package data...');xTb(BLb(),a.b.m,ABb(new zBb(),a));}
+function kEb(f){var a,b,c,d,e;c=Fz(new Dz());e=qp(new kp(),'Save and validate configuration');e.x(kDb(new jDb(),f));aA(c,e);a=qp(new kp(),'Archive');a.x(oDb(new nDb(),f));aA(c,a);b=qp(new kp(),'Copy');b.x(sDb(new rDb(),f));aA(c,b);d=qp(new kp(),'Rename');d.x(wDb(new vDb(),f));aA(c,d);return c;}
+function lEb(b,a){hz(b.f,'<b>'+a+'<\/b>');}
+function mEb(d){var a,b,c;c=acb(new Bbb(),'images/new_wiz.gif','Copy the package');ccb(c,ez(new hw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=zK(new kK());bcb(c,'New package name:',a);b=qp(new kp(),'OK');bcb(c,'',b);b.x(iBb(new hBb(),d,a,c));c.Be('40%');lE(c,dc(ai()/3),dc(Fh()/3));oE(c);}
+function nEb(d){var a,b,c;c=acb(new Bbb(),'images/new_wiz.gif','Rename the package');ccb(c,ez(new hw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=zK(new kK());bcb(c,'New package name:',a);b=qp(new kp(),'OK');bcb(c,'',b);b.x(ADb(new zDb(),d,a,c));c.Be('40%');lE(c,dc(ai()/3),dc(Fh()/3));oE(c);}
+function oEb(b,c){var a;a=ieb(new sdb(),b.b.m,true);leb(a,gDb(new fDb(),b,a));lE(a,lN(c),mN(c));oE(a);}
+function pEb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=eB(new oA(),'images/warning.gif');a=Fz(new Dz());aA(a,b);c=ez(new hw(),'<b>There were errors validating this package configuration.');aA(a,c);d=qp(new kp(),'View errors');d.x(cDb(new qCb(),e));aA(a,d);return a;}else{return AG(new sG());}}
+function fBb(){}
+_=fBb.prototype=new obb();_.tN=Cfc+'PackageEditor';_.tI=376;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function nCb(b,a){b.a=a;return b;}
+function pCb(a){oEb(this.a,a);}
+function gBb(){}
+_=gBb.prototype=new uT();_.zc=pCb;_.tN=Cfc+'PackageEditor$1';_.tI=377;function iBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kBb(a){jTb(BLb(),this.a.b.j,rK(this.b),mBb(new lBb(),this,this.c));}
+function hBb(){}
+_=hBb.prototype=new uT();_.zc=kBb;_.tN=Cfc+'PackageEditor$10';_.tI=378;function mBb(b,a,c){b.a=a;b.b=c;return b;}
+function oBb(b,a){FFb(b.a.a.e);zh('Package copied successfully.');b.b.lc();}
+function pBb(a){oBb(this,a);}
+function lBb(){}
+_=lBb.prototype=new ecb();_.pd=pBb;_.tN=Cfc+'PackageEditor$11';_.tI=379;function rBb(b,a,c){b.a=a;b.b=c;return b;}
+function tBb(b,a){fGb(b.a.a);b.a.d=Fb(a,89);jEb(b.a);fdb('Package configuration updated successfully, refreshing content cache...');tKb((pKb(),uKb),b.a.b.j,wBb(new vBb(),b,b.b));}
+function uBb(a){tBb(this,a);}
+function qBb(){}
+_=qBb.prototype=new ecb();_.pd=uBb;_.tN=Cfc+'PackageEditor$12';_.tI=380;function wBb(b,a,c){b.a=c;return b;}
+function yBb(){if(this.a!==null){FFb(this.a);}bdb();}
+function vBb(){}
+_=vBb.prototype=new uT();_.pb=yBb;_.tN=Cfc+'PackageEditor$13';_.tI=381;function ABb(b,a){b.a=a;return b;}
+function CBb(a){bdb();this.a.b=Fb(a,16);iEb(this.a);}
+function zBb(){}
+_=zBb.prototype=new ecb();_.pd=CBb;_.tN=Cfc+'PackageEditor$14';_.tI=382;function EBb(b,a,c){b.a=a;b.b=c;return b;}
+function aCb(a){this.a.b.f=rK(this.b);BFb(this.a.c);}
+function DBb(){}
+_=DBb.prototype=new uT();_.yc=aCb;_.tN=Cfc+'PackageEditor$16';_.tI=383;function cCb(b,a,c){b.a=c;return b;}
+function eCb(a){if(hK(this.a)!=32){jK(this.a,32);}else{jK(this.a,8);}}
+function bCb(){}
+_=bCb.prototype=new uT();_.zc=eCb;_.tN=Cfc+'PackageEditor$17';_.tI=384;function gCb(b,a,c){b.a=a;b.b=c;return b;}
+function iCb(a){vK(this.b,rK(this.b)+'\n'+'import <your class here>');this.a.b.f=rK(this.b);}
+function fCb(){}
+_=fCb.prototype=new uT();_.zc=iCb;_.tN=Cfc+'PackageEditor$18';_.tI=385;function kCb(b,a,c){b.a=a;b.b=c;return b;}
+function mCb(a){vK(this.b,rK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=rK(this.b);}
+function jCb(){}
+_=jCb.prototype=new uT();_.zc=mCb;_.tN=Cfc+'PackageEditor$19';_.tI=386;function cDb(b,a){b.a=a;return b;}
+function eDb(a){var b;b=neb(new meb(),this.a.d.a,this.a.d.b);lE(b,dc(ai()/4),mN(a));oE(b);}
+function qCb(){}
+_=qCb.prototype=new uT();_.zc=eDb;_.tN=Cfc+'PackageEditor$2';_.tI=387;function sCb(b,a,c){b.a=a;b.b=c;return b;}
+function uCb(a){var b;b=wxb(new nxb());lE(b,lN(a)-400,mN(a)-250);Axb(b,wCb(new vCb(),this,this.b,b));oE(b);}
+function rCb(){}
+_=rCb.prototype=new uT();_.zc=uCb;_.tN=Cfc+'PackageEditor$20';_.tI=388;function wCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function yCb(a){vK(a.b,rK(a.b)+'\n'+zxb(a.c));a.a.a.b.f=rK(a.b);}
+function zCb(){yCb(this);}
+function vCb(){}
+_=vCb.prototype=new uT();_.pb=zCb;_.tN=Cfc+'PackageEditor$21';_.tI=389;function BCb(b,a,c){b.a=c;return b;}
+function DCb(a){if(hK(this.a)!=32){jK(this.a,32);}else{jK(this.a,8);}}
+function ACb(){}
+_=ACb.prototype=new uT();_.zc=DCb;_.tN=Cfc+'PackageEditor$22';_.tI=390;function FCb(b,a,c){b.a=a;b.b=c;return b;}
+function bDb(a){this.a.b.d=rK(this.b);BFb(this.a.c);}
+function ECb(){}
+_=ECb.prototype=new uT();_.yc=bDb;_.tN=Cfc+'PackageEditor$23';_.tI=391;function gDb(b,a,c){b.a=a;b.b=c;return b;}
+function iDb(){lEb(this.a,this.b.c);}
+function fDb(){}
+_=fDb.prototype=new uT();_.pb=iDb;_.tN=Cfc+'PackageEditor$3';_.tI=392;function kDb(b,a){b.a=a;return b;}
+function mDb(a){fEb(this.a,null);}
+function jDb(){}
+_=jDb.prototype=new uT();_.zc=mDb;_.tN=Cfc+'PackageEditor$4';_.tI=393;function oDb(b,a){b.a=a;return b;}
+function qDb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;fEb(this.a,this.a.e);}}
+function nDb(){}
+_=nDb.prototype=new uT();_.zc=qDb;_.tN=Cfc+'PackageEditor$5';_.tI=394;function sDb(b,a){b.a=a;return b;}
+function uDb(a){mEb(this.a);}
+function rDb(){}
+_=rDb.prototype=new uT();_.zc=uDb;_.tN=Cfc+'PackageEditor$6';_.tI=395;function wDb(b,a){b.a=a;return b;}
+function yDb(a){nEb(this.a);}
+function vDb(){}
+_=vDb.prototype=new uT();_.zc=yDb;_.tN=Cfc+'PackageEditor$7';_.tI=396;function ADb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function CDb(a){bUb(BLb(),this.a.b.m,rK(this.b),EDb(new DDb(),this,this.c));}
+function zDb(){}
+_=zDb.prototype=new uT();_.zc=CDb;_.tN=Cfc+'PackageEditor$8';_.tI=397;function EDb(b,a,c){b.a=a;b.b=c;return b;}
+function aEb(b,a){FFb(b.a.a.e);zh('Package renamed successfully.');b.b.lc();}
+function bEb(a){aEb(this,a);}
+function DDb(){}
+_=DDb.prototype=new ecb();_.pd=bEb;_.tN=Cfc+'PackageEditor$9';_.tI=398;function nHb(a){a.f=DFb(new rEb(),a);}
+function oHb(b,a){pHb(b,a,null,null);return b;}
+function pHb(g,b,h,f){var a,c,d,e;nHb(g);g.b=b;g.h=h;g.c=jM(new CK());g.d=hab(new fab());g.g=new bGb();nM(g.c,g.g);e=hO(new fO());if(f===null){a=lt(new ft());Ew(a.n,0,0,'new-asset-Icons');Bw(a.n,0,0,(oz(),pz),(xz(),zz));a.ze(0,0,sHb(g));iO(e,a);a.Be('100%');}iO(e,g.c);kab(g.d,0,0,e);c=ot(g.d);Fw(c,0,0,(xz(),Az));kt(ot(g.d),0,1,2);Bw(ot(g.d),0,1,(oz(),pz),(xz(),Az));wHb(g);d=vM(g.c,0);if(d!==null)FM(g.c,d);kab(g.d,0,1,ez(new hw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));bx(ot(g.d),0,0,'25%');Bw(ot(g.d),0,1,(oz(),qz),(xz(),Az));g.e=ycc(new Cbc(),g.b,'rulelist');gr(g,g.d);return g;}
+function qHb(d,a,c){var b;b=vHb(d,a.j,'images/package.gif',lHb(new kHb(),eFb(new dFb(),d,a)));b.y(vHb(d,'Business rule assets','images/rule_asset.gif',xHb(d,a.m,(E$(),F$))));b.y(vHb(d,'Technical rule assets','images/technical_rule_assets.gif',xHb(d,a.m,(E$(),b_))));b.y(vHb(d,'Functions','images/function_assets.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['function']))));b.y(vHb(d,'DSL','images/dsl.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['dsl']))));b.y(vHb(d,'Model','images/model_asset.gif',xHb(d,a.m,zb('[Ljava.lang.String;',605,1,['jar']))));lM(d.c,b);if(c){aN(d.c,b,true);}}
+function sHb(h){var a,b,c,d,e,f,g,i;g=Fz(new Dz());d=eB(new oA(),'images/new_package.gif');d.te('Create a new package');fB(d,pGb(new oGb(),h));i=lcb(new kcb(),'images/model_asset.gif');fB(i,tGb(new sGb(),h));i.te('This creates a new model archive - models contain classes/types that rules use.');e=lcb(new kcb(),'images/new_rule.gif');e.te('Create new rule');fB(e,xGb(new wGb(),h));c=lcb(new kcb(),'images/function_assets.gif');c.te('Create a new function');fB(c,FGb(new EGb(),h));a=lcb(new kcb(),'images/dsl.gif');a.te('Create a new DSL (language configuration)');fB(a,dHb(new cHb(),h));f=lcb(new kcb(),'images/ruleflow_small.gif');f.te('Upload a new ruleflow.');fB(f,hHb(new gHb(),h));b=lcb(new kcb(),'images/new_enumeration.gif');b.te('Create a new data enumeration (drop down list)');fB(b,tEb(new sEb(),h));aA(g,d);aA(g,i);aA(g,e);aA(g,c);aA(g,a);aA(g,f);aA(g,b);return g;}
+function tHb(d,a,e){var b,c,f;b=70;f=100;c=f7b(new v6b(),iGb(new hGb(),d),false,a,e,d.a);lE(c,dc((cab()-gE(c))/2),100);oE(c);}
+function uHb(a,b){fdb('Loading package information ...');xTb(BLb(),b,rFb(new qFb(),a));}
+function vHb(e,d,b,a){var c;c=oL(new mL());wL(c,'<img src="'+b+'">'+d+'<\/a>');CL(c,a);return c;}
+function wHb(a){if(a.h===null){fdb('Loading list of packages ...');rTb(BLb(),xEb(new wEb(),a));}else{fdb('Loading package ...');xTb(BLb(),a.h,BEb(new AEb(),a));}}
+function xHb(c,d,b){var a;a=iFb(new hFb(),c);return lHb(new kHb(),nFb(new mFb(),c,d,b,a));}
+function yHb(b,c){var a;a=Eyb(new byb(),FEb(new EEb(),b));lE(a,dc((cab()-gE(a))/2),100);oE(a);}
+function qEb(){}
+_=qEb.prototype=new E_();_.tN=Cfc+'PackageExplorerWidget';_.tI=399;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function DFb(b,a){b.a=a;return b;}
+function FFb(a){wHb(a.a);}
+function aGb(){FFb(this);}
+function rEb(){}
+_=rEb.prototype=new uT();_.pb=aGb;_.tN=Cfc+'PackageExplorerWidget$1';_.tI=400;function tEb(b,a){b.a=a;return b;}
+function vEb(a){tHb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
+function sEb(){}
+_=sEb.prototype=new uT();_.zc=vEb;_.tN=Cfc+'PackageExplorerWidget$10';_.tI=401;function xEb(b,a){b.a=a;return b;}
+function zEb(a){var b,c;c=Fb(a,71);oM(this.a.c);for(b=0;b<c.a;b++){if(b==0){qHb(this.a,c[b],true);}else{qHb(this.a,c[b],false);}}bdb();}
+function wEb(){}
+_=wEb.prototype=new ecb();_.pd=zEb;_.tN=Cfc+'PackageExplorerWidget$11';_.tI=402;function BEb(b,a){b.a=a;return b;}
+function DEb(a){var b;b=Fb(a,16);oM(this.a.c);qHb(this.a,b,true);bdb();}
+function AEb(){}
+_=AEb.prototype=new ecb();_.pd=DEb;_.tN=Cfc+'PackageExplorerWidget$12';_.tI=403;function FEb(b,a){b.a=a;return b;}
+function bFb(a){wHb(a.a);}
+function cFb(){bFb(this);}
+function EEb(){}
+_=EEb.prototype=new uT();_.pb=cFb;_.tN=Cfc+'PackageExplorerWidget$13';_.tI=404;function eFb(b,a,c){b.a=a;b.b=c;return b;}
+function gFb(){if(this.a.pc()){if(Bh('Discard Changes ? ')){bab(this.a);uHb(this.a,this.b.m);}}else{uHb(this.a,this.b.m);}}
+function dFb(){}
+_=dFb.prototype=new uT();_.pb=gFb;_.tN=Cfc+'PackageExplorerWidget$14';_.tI=405;function iFb(b,a){b.a=a;return b;}
+function kFb(c,a){var b;b=Fb(a,62);Dcc(c.a.e,b);c.a.e.Be('100%');kab(c.a.d,0,1,c.a.e);Bw(ot(c.a.d),0,1,(oz(),qz),(xz(),Az));bdb();}
+function lFb(a){kFb(this,a);}
+function hFb(){}
+_=hFb.prototype=new ecb();_.pd=lFb;_.tN=Cfc+'PackageExplorerWidget$15';_.tI=406;function nFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
+function pFb(){fdb('Loading list, please wait...');qTb(BLb(),this.c,this.b,(-1),(-1),this.a);}
+function mFb(){}
+_=mFb.prototype=new uT();_.pb=pFb;_.tN=Cfc+'PackageExplorerWidget$16';_.tI=407;function rFb(b,a){b.a=a;return b;}
+function tFb(c){var a,b,d,e,f,g,h,i;b=Fb(c,16);g=qH(new pH());this.a.a=b.j;e=rbb(new obb(),'images/package_large.png',b.j);uN(e,'package-Editor');e.Be('100%');sbb(e,'Description:',CB(new AB(),b.d));sbb(e,'Date created:',CB(new AB(),pZ(b.c)));if(b.g){sbb(e,'Snapshot created on:',CB(new AB(),pZ(b.i)));sbb(e,'Snapshot comment:',CB(new AB(),b.b));h=dBb(b);d=ez(new hw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");sbb(e,'Download package:',d);sbb(e,'Package URI:',CB(new AB(),h));i=qp(new kp(),'View package source');i.x(vFb(new uFb(),this,b));sbb(e,'Show package source:',i);}if(!b.g){vbb(e,ez(new hw(),'<i>Choose one of the options below<\/i>'));}f=zFb(new yFb(),this);a=dGb(new cGb(),this);sH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){sH(g,cEb(new fBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);sH(g,CAb(new czb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{sH(!
 g,cEb(new fBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.Be('100%');kab(this.a.d,0,1,g);bdb();}
+function qFb(){}
+_=qFb.prototype=new ecb();_.pd=tFb;_.tN=Cfc+'PackageExplorerWidget$17';_.tI=408;function vFb(b,a,c){b.a=c;return b;}
+function xFb(a){cBb(this.a.m,this.a.j);}
+function uFb(){}
+_=uFb.prototype=new uT();_.zc=xFb;_.tN=Cfc+'PackageExplorerWidget$18';_.tI=409;function zFb(b,a){b.a=a;return b;}
+function BFb(a){aab(a.a.a);}
+function CFb(){BFb(this);}
+function yFb(){}
+_=yFb.prototype=new uT();_.pb=CFb;_.tN=Cfc+'PackageExplorerWidget$19';_.tI=410;function mGb(c){var a,b;a=Fb(c.k,90);b=a.a;fdb('Please wait...');fg(b);}
+function nGb(a){}
+function bGb(){}
+_=bGb.prototype=new uT();_.rd=mGb;_.sd=nGb;_.tN=Cfc+'PackageExplorerWidget$2';_.tI=411;function dGb(b,a){b.a=a;return b;}
+function fGb(a){bab(a.a.a);}
+function gGb(){fGb(this);}
+function cGb(){}
+_=cGb.prototype=new uT();_.pb=gGb;_.tN=Cfc+'PackageExplorerWidget$20';_.tI=412;function iGb(b,a){b.a=a;return b;}
+function kGb(a){DHb(this.a.b,a);}
+function hGb(){}
+_=hGb.prototype=new uT();_.wd=kGb;_.tN=Cfc+'PackageExplorerWidget$21';_.tI=413;function pGb(b,a){b.a=a;return b;}
+function rGb(a){yHb(this.a,a);}
+function oGb(){}
+_=oGb.prototype=new uT();_.zc=rGb;_.tN=Cfc+'PackageExplorerWidget$3';_.tI=414;function tGb(b,a){b.a=a;return b;}
+function vGb(a){tHb(this.a,'jar','Create a new model archive');}
+function sGb(){}
+_=sGb.prototype=new uT();_.zc=vGb;_.tN=Cfc+'PackageExplorerWidget$4';_.tI=415;function xGb(b,a){b.a=a;return b;}
+function zGb(d){var a,b,c;a=70;c=100;b=f7b(new v6b(),BGb(new AGb(),this),true,null,'Create a new rule asset',this.a.a);lE(b,dc((cab()-gE(b))/2),100);oE(b);}
+function wGb(){}
+_=wGb.prototype=new uT();_.zc=zGb;_.tN=Cfc+'PackageExplorerWidget$5';_.tI=416;function BGb(b,a){b.a=a;return b;}
+function DGb(a){DHb(this.a.a.b,a);}
+function AGb(){}
+_=AGb.prototype=new uT();_.wd=DGb;_.tN=Cfc+'PackageExplorerWidget$6';_.tI=417;function FGb(b,a){b.a=a;return b;}
+function bHb(a){tHb(this.a,'function','Create a new function');}
+function EGb(){}
+_=EGb.prototype=new uT();_.zc=bHb;_.tN=Cfc+'PackageExplorerWidget$7';_.tI=418;function dHb(b,a){b.a=a;return b;}
+function fHb(a){tHb(this.a,'dsl','Create a new language configuration');}
+function cHb(){}
+_=cHb.prototype=new uT();_.zc=fHb;_.tN=Cfc+'PackageExplorerWidget$8';_.tI=419;function hHb(b,a){b.a=a;return b;}
+function jHb(a){tHb(this.a,'rf','Create a new ruleflow');}
+function gHb(){}
+_=gHb.prototype=new uT();_.zc=jHb;_.tN=Cfc+'PackageExplorerWidget$9';_.tI=420;function lHb(b,a){b.a=a;return b;}
+function kHb(){}
+_=kHb.prototype=new uT();_.tN=Cfc+'PackageExplorerWidget$PackageTreeItem';_.tI=421;_.a=null;function FHb(a){a.a=(CY(),DY);}
+function aIb(a){bIb(a,null,null);return a;}
+function bIb(e,c,d){var a,b;FHb(e);e.b=sJ(new eJ());e.b.Be('100%');e.b.qe('30%');a=BHb(new AHb(),e,d);b=null;if(c===null){b=oHb(new qEb(),a);}else{b=pHb(new qEb(),a,c,d);}tJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);zJ(e.b,0);gr(e,e.b);return e;}
+function dIb(b,a){b.a=a;}
+function zHb(){}
+_=zHb.prototype=new er();_.tN=Cfc+'PackageManagerView';_.tI=422;_.b=null;function BHb(b,a,c){b.a=a;b.b=c;return b;}
+function DHb(b,a){r4b(b.a.a,b.a.b,a,b.b!==null);}
+function EHb(a){DHb(this,a);}
+function AHb(){}
+_=AHb.prototype=new uT();_.wd=EHb;_.tN=Cfc+'PackageManagerView$1';_.tI=423;function CJb(b){var a,c;b.a=lt(new ft());b.c=sJ(new eJ());b.c.Be('100%');b.c.qe('100%');c=hO(new fO());iO(c,b.a);a=qp(new kp(),'Rebuild snapshot binaries');a.te('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new fIb());iO(c,a);tJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);bx(b.a.n,0,0,'28%');b.b=BLb();eKb(b);b.a.Be('100%');gr(b,b.c);zJ(b.c,0);return b;}
+function DJb(h,c){var a,b,d,e,f,g;g=jM(new CK());d=hO(new fO());for(a=0;a<c.a;a++){e=c[a].j;b=cKb(h,e,'images/package_snapshot.gif',fJb(new eJb(),h,e));lM(g,b);}iO(d,g);f=ez(new hw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");DB(f,jJb(new iJb(),h));nM(g,new mJb());mO(d,(xz(),Az));lO(d,(oz(),qz));iO(d,f);uN(d,'snapshot-List');h.a.ze(0,0,d);Fw(h.a.n,0,0,(xz(),Az));}
+function FJb(g,e,f){var a,b,c,d;c=acb(new Bbb(),'images/snapshot.png','Copy snapshot '+f);a=zK(new kK());bcb(c,'New label:',a);d=qp(new kp(),'OK');bcb(c,'',d);d.x(vJb(new uJb(),g,e,f,a,c));b=qp(new kp(),'Copy');b.x(hIb(new gIb(),g,c));return b;}
+function aKb(d,c,b){var a;a=qp(new kp(),'Delete');a.x(pIb(new oIb(),d,c,b));return a;}
+function bKb(d,b,c,e){var a;a=qp(new kp(),'Open');a.x(lIb(new kIb(),d,b,c,e));return a;}
+function cKb(e,d,b,a){var c;c=oL(new mL());wL(c,'<img src="'+b+'">'+d+'<\/a>');CL(c,a);return c;}
+function dKb(g,e,f,h){var a,b,c,d,i;i=lt(new ft());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=Fz(new Dz());aA(c,ez(new hw(),d));a=lcb(new kcb(),'images/close.gif');a.te('Close this view');fB(a,xIb(new wIb(),g));aA(c,a);i.ze(0,0,c);b=ot(i);Ew(b,0,0,'editable-Surface');i.ze(1,0,bIb(new zHb(),h,f));i.Be('100%');i.qe('100%');if(g.c.a.f.c>1){yJ(g.c,1);}tJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);zJ(g.c,1);}
+function eKb(a){fdb('Loading package list...');rTb(a.b,bJb(new aJb(),a));}
+function fKb(h,d,b){var a,c,e,f,g;e=rbb(new obb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=lt(new ft());yy(g,0,1,'Name');yy(g,0,2,'Comment');lx(g.p,0,ffc);for(a=0;a<b.a;a++){f=a+1;c=CB(new AB(),b[a].b);g.ze(f,0,eB(new oA(),'images/package_snapshot_item.gif'));g.ze(f,1,c);g.ze(f,2,CB(new AB(),b[a].a));g.ze(f,3,bKb(h,d,aC(c),b[a].c));g.ze(f,4,FJb(h,d,aC(c)));g.ze(f,5,aKb(h,aC(c),d));if(a%2==0){lx(g.p,a+1,dfc);}}e.Be('100%');vbb(e,g);g.Be('100%');uN(e,efc);h.a.ze(0,1,e);Fw(ot(h.a),0,1,(xz(),Az));}
+function gKb(b,a){fdb('Loading snapshots...');sTb(b.b,a,rJb(new qJb(),b,a));}
+function eIb(){}
+_=eIb.prototype=new er();_.tN=Cfc+'PackageSnapshotView';_.tI=424;_.a=null;_.b=null;_.c=null;function BIb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){fdb('Rebuilding snapshots. Please wait, this may take some time...');DTb(BLb(),new CIb());}}
+function fIb(){}
+_=fIb.prototype=new uT();_.zc=BIb;_.tN=Cfc+'PackageSnapshotView$1';_.tI=425;function hIb(b,a,c){b.a=c;return b;}
+function jIb(a){lE(this.a,dc((cab()-gE(this.a))/2),100);oE(this.a);}
+function gIb(){}
+_=gIb.prototype=new uT();_.zc=jIb;_.tN=Cfc+'PackageSnapshotView$10';_.tI=426;function lIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
+function nIb(a){dKb(this.a,this.b,this.c,this.d);}
+function kIb(){}
+_=kIb.prototype=new uT();_.zc=nIb;_.tN=Cfc+'PackageSnapshotView$11';_.tI=427;function pIb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rIb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{iTb(this.a.b,this.b,this.c,true,null,tIb(new sIb(),this,this.b));}}
+function oIb(){}
+_=oIb.prototype=new uT();_.zc=rIb;_.tN=Cfc+'PackageSnapshotView$12';_.tI=428;function tIb(b,a,c){b.a=a;b.b=c;return b;}
+function vIb(a){gKb(this.a.a,this.b);}
+function sIb(){}
+_=sIb.prototype=new ecb();_.pd=vIb;_.tN=Cfc+'PackageSnapshotView$13';_.tI=429;function xIb(b,a){b.a=a;return b;}
+function zIb(a){yJ(this.a.c,1);zJ(this.a.c,0);}
+function wIb(){}
+_=wIb.prototype=new uT();_.zc=zIb;_.tN=Cfc+'PackageSnapshotView$14';_.tI=430;function EIb(b,a){bdb();zh('Snapshots were rebuilt successfully.');}
+function FIb(a){EIb(this,a);}
+function CIb(){}
+_=CIb.prototype=new ecb();_.pd=FIb;_.tN=Cfc+'PackageSnapshotView$2';_.tI=431;function bJb(b,a){b.a=a;return b;}
+function dJb(a){var b;b=Fb(a,71);DJb(this.a,b);bdb();}
+function aJb(){}
+_=aJb.prototype=new ecb();_.pd=dJb;_.tN=Cfc+'PackageSnapshotView$3';_.tI=432;function fJb(b,a,c){b.a=a;b.b=c;return b;}
+function hJb(){gKb(this.a,this.b);}
+function eJb(){}
+_=eJb.prototype=new uT();_.pb=hJb;_.tN=Cfc+'PackageSnapshotView$4';_.tI=433;function jJb(b,a){b.a=a;return b;}
+function lJb(a){eKb(this.a);}
+function iJb(){}
+_=iJb.prototype=new uT();_.zc=lJb;_.tN=Cfc+'PackageSnapshotView$5';_.tI=434;function oJb(a){fg(Fb(a.k,4));}
+function pJb(a){}
+function mJb(){}
+_=mJb.prototype=new uT();_.rd=oJb;_.sd=pJb;_.tN=Cfc+'PackageSnapshotView$6';_.tI=435;function rJb(b,a,c){b.a=a;b.b=c;return b;}
+function tJb(a){var b;b=Fb(a,86);fKb(this.a,this.b,b);bdb();}
+function qJb(){}
+_=qJb.prototype=new ecb();_.pd=tJb;_.tN=Cfc+'PackageSnapshotView$7';_.tI=436;function vJb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
+function xJb(a){iTb(this.a.b,this.d,this.e,false,rK(this.b),zJb(new yJb(),this,this.d,this.c));}
+function uJb(){}
+_=uJb.prototype=new uT();_.zc=xJb;_.tN=Cfc+'PackageSnapshotView$8';_.tI=437;function zJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function BJb(a){gKb(this.a.a,this.c);this.b.lc();}
+function yJb(){}
+_=yJb.prototype=new ecb();_.pd=BJb;_.tN=Cfc+'PackageSnapshotView$9';_.tI=438;function pKb(){pKb=s2;uKb=oKb(new hKb());}
+function nKb(a){a.a=z0(new DZ());}
+function oKb(a){pKb();nKb(a);return a;}
+function qKb(c,b,a){if(!C0(c.a,b)){sKb(c,b,a);}else{e4b(a);}}
+function rKb(c,b){var a;a=Fb(F0(c.a,b),91);if(a===null){gbb('Unable to get content assistance for this rule.');return null;}return a;}
+function sKb(c,b,a){hV(),kV;ATb(BLb(),b,jKb(new iKb(),c,b,a));}
+function tKb(c,b,a){if(C0(c.a,b)){b1(c.a,b);sKb(c,b,a);}else{a.pb();}}
+function hKb(){}
+_=hKb.prototype=new uT();_.tN=Cfc+'SuggestionCompletionCache';_.tI=439;var uKb;function jKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function lKb(c,a){var b;b=Fb(a,91);a1(c.a.a,c.c,b);c.b.pb();}
+function mKb(a){lKb(this,a);}
+function iKb(){}
+_=iKb.prototype=new ecb();_.pd=mKb;_.tN=Cfc+'SuggestionCompletionCache$1';_.tI=440;function BKb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
+function vKb(){}
+_=vKb.prototype=new uT();_.tS=BKb;_.tN=Dfc+'BuilderResult';_.tI=441;_.a=null;_.b=null;_.c=null;_.d=null;function zKb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();}
+function AKb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);}
+function CKb(){}
+_=CKb.prototype=new fl();_.tN=Dfc+'DetailedSerializableException';_.tI=442;_.a=null;function aLb(b,a){dLb(a,b.Ed());jl(b,a);}
+function bLb(a){return a.a;}
+function cLb(b,a){b.gf(bLb(a));ll(b,a);}
+function dLb(a,b){a.a=b;}
+function fLb(a){a.a=yb('[Ljava.lang.String;',[605],[1],[0],null);}
+function gLb(a){fLb(a);return a;}
+function hLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(nU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[605],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function jLb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[605],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function eLb(){}
+_=eLb.prototype=new uT();_.tN=Dfc+'MetaData';_.tI=443;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function mLb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Ed();a.c=b.Ed();a.d=Fb(b.Dd(),59);a.e=b.Ed();a.f=Fb(b.Dd(),59);a.g=Fb(b.Dd(),59);a.h=b.Ed();a.i=b.Ed();a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=Fb(b.Dd(),59);a.n=b.Ed();a.o=b.Ed();a.p=b.Ed();a.q=b.Ed();a.r=b.Ed();a.s=b.Ed();a.t=b.Ed();a.u=b.Ed();a.v=b.Cd();}
+function nLb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.ff(a.d);b.gf(a.e);b.ff(a.f);b.ff(a.g);b.gf(a.h);b.gf(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.ff(a.m);b.gf(a.n);b.gf(a.o);b.gf(a.p);b.gf(a.q);b.gf(a.r);b.gf(a.s);b.gf(a.t);b.gf(a.u);b.ef(a.v);}
+function oLb(){}
+_=oLb.prototype=new uT();_.tN=Dfc+'PackageConfigData';_.tI=444;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function sLb(b,a){a.a=b.zd();a.b=b.Ed();a.c=Fb(b.Dd(),59);a.d=b.Ed();a.e=b.Ed();a.f=b.Ed();a.g=b.zd();a.h=b.Ed();a.i=Fb(b.Dd(),59);a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=b.Ed();}
+function tLb(b,a){b.bf(a.a);b.gf(a.b);b.ff(a.c);b.gf(a.d);b.gf(a.e);b.gf(a.f);b.bf(a.g);b.gf(a.h);b.ff(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.gf(a.m);}
+function zLb(){var a,b,c;c=yRb(new ELb());a=c;b=v()+'jbrmsService';eUb(a,b);return c;}
+function ALb(){var a,b,c;c=gXb(new BWb());a=c;b=v()+'jbrmsService';mXb(a,b);return c;}
+function BLb(){if(yLb===null){CLb();}return yLb;}
+function CLb(){if(xLb)yLb=null;else yLb=zLb();}
+function DLb(d,b,a){var c;c=ALb();lXb(c,d,b,a);}
+var xLb=false,yLb=null;function gTb(){gTb=s2;fUb=hUb(new gUb());}
+function yRb(a){gTb();return a;}
+function zRb(b,a,c,d){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'archiveAsset');ln(a,2);nn(a,'java.lang.String');nn(a,'Z');nn(a,c);kn(a,d);}
+function BRb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildAsset');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
+function ARb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildAssetSource');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
+function DRb(d,c,a,b){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'buildPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,a);nn(c,b);}
+function CRb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'buildPackageSource');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function ERb(d,c,e,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'changeAssetPackage');ln(c,3);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,e);nn(c,b);nn(c,a);}
+function FRb(c,b,d,a,e){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'changeState');ln(b,3);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,'Z');nn(b,d);nn(b,a);kn(b,e);}
+function aSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'checkinVersion');ln(b,1);nn(b,'org.drools.brms.client.rpc.RuleAsset');mn(b,a);}
+function bSb(e,d,a,c,b){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'copyAsset');ln(d,3);nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,a);nn(d,c);nn(d,b);}
+function cSb(f,e,c,d,a,b){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'copyOrRemoveSnapshot');ln(e,4);nn(e,'java.lang.String');nn(e,'java.lang.String');nn(e,'Z');nn(e,'java.lang.String');nn(e,c);nn(e,d);kn(e,a);nn(e,b);}
+function dSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'copyPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
+function eSb(e,d,c,b,a){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'createCategory');ln(d,3);nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,'java.lang.String');nn(d,c);nn(d,b);nn(d,a);}
+function fSb(g,f,e,a,c,d,b){if(g.a===null)throw ul(new tl());ro(f);nn(f,'org.drools.brms.client.rpc.RepositoryService');nn(f,'createNewRule');ln(f,5);nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,'java.lang.String');nn(f,e);nn(f,a);nn(f,c);nn(f,d);nn(f,b);}
+function hSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'createPackage');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
+function gSb(f,e,b,d,c,a){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'createPackageSnapshot');ln(e,4);nn(e,'java.lang.String');nn(e,'java.lang.String');nn(e,'Z');nn(e,'java.lang.String');nn(e,b);nn(e,d);kn(e,c);nn(e,a);}
+function iSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'createState');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function jSb(d,c,b,a){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'deleteUncheckedRule');ln(c,2);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,b);nn(c,a);}
+function kSb(f,e,c,a,b,d){if(f.a===null)throw ul(new tl());ro(e);nn(e,'org.drools.brms.client.rpc.RepositoryService');nn(e,'listAssets');ln(e,4);nn(e,'java.lang.String');nn(e,'[Ljava.lang.String;');nn(e,'I');nn(e,'I');nn(e,c);mn(e,a);ln(e,b);ln(e,d);}
+function lSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'listPackages');ln(a,0);}
+function mSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'listSnapshots');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function nSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'listStates');ln(a,0);}
+function oSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadArchivedAssets');ln(a,0);}
+function pSb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadAssetHistory');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
+function qSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadChildCategories');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function rSb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'loadPackageConfig');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
+function sSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadRuleAsset');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function tSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadRuleListForCategories');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function uSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadSuggestionCompletionEngine');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function vSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'loadTableConfig');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function wSb(e,d,c,a,b){if(e.a===null)throw ul(new tl());ro(d);nn(d,'org.drools.brms.client.rpc.RepositoryService');nn(d,'quickFindAsset');ln(d,3);nn(d,'java.lang.String');nn(d,'I');nn(d,'Z');nn(d,c);ln(d,a);kn(d,b);}
+function xSb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'rebuildSnapshots');ln(a,0);}
+function ySb(b,a,c){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.RepositoryService');nn(a,'removeAsset');ln(a,1);nn(a,'java.lang.String');nn(a,c);}
+function zSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'removeCategory');ln(b,1);nn(b,'java.lang.String');nn(b,a);}
+function ASb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'renameAsset');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
+function BSb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'renamePackage');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
+function CSb(d,c,e,a,b){if(d.a===null)throw ul(new tl());ro(c);nn(c,'org.drools.brms.client.rpc.RepositoryService');nn(c,'restoreVersion');ln(c,3);nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,'java.lang.String');nn(c,e);nn(c,a);nn(c,b);}
+function DSb(c,b,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.RepositoryService');nn(b,'savePackage');ln(b,1);nn(b,'org.drools.brms.client.rpc.PackageConfigData');mn(b,a);}
+function ESb(h,i,j,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zRb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=nNb(new FLb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BRb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=ePb(new rNb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FSb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ARb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=BQb(new iPb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cTb(j,f,g,c){var a,d,e,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DRb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=aRb(new FQb(),j,h,c);if(!wg(j.a,uo(i),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CRb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=fRb(new eRb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dTb(j,k,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ERb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=kRb(new jRb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eTb(i,j,f,k,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FRb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=pRb(new oRb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=uRb(new tRb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hTb(k,c,h,g,d){var a,e,f,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=bMb(new aMb(),k,i,d);if(!wg(k.a,uo(j),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function iTb(l,h,i,d,g,c){var a,e,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=gMb(new fMb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function jTb(j,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=lMb(new kMb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function kTb(k,h,g,d,c){var a,e,f,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=qMb(new pMb(),k,i,c);if(!wg(k.a,uo(j),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=zn(new yn(),fUb);l=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}g=vMb(new uMb(),m,k,c);if(!wg(m.a,uo(l),g))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function nTb(j,g,d,c){var a,e,f,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=AMb(new zMb(),j,h,c);if(!wg(j.a,uo(i),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mTb(l,g,i,h,d,c){var a,e,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=FMb(new EMb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=eNb(new dNb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pTb(j,g,f,c){var a,d,e,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jSb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=jNb(new iNb(),j,h,c);if(!wg(j.a,uo(i),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qTb(l,h,e,g,i,c){var a,d,f,j,k;j=zn(new yn(),fUb);k=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}f=tNb(new sNb(),l,j,c);if(!wg(l.a,uo(k),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=yNb(new xNb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=DNb(new CNb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=cOb(new bOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=hOb(new gOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vTb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=mOb(new lOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=rOb(new qOb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function xTb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=wOb(new vOb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function yTb(i,c,d){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(d,e);return;}else throw a;}f=BOb(new AOb(),i,g,d);if(!wg(i.a,uo(h),f))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function zTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=aPb(new FOb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ATb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=kPb(new jPb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function BTb(i,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=pPb(new oPb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CTb(k,h,f,g,c){var a,d,e,i,j;i=zn(new yn(),fUb);j=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=uPb(new tPb(),k,i,c);if(!wg(k.a,uo(j),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DTb(h,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=zPb(new yPb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ETb(h,i,c){var a,d,e,f,g;f=zn(new yn(),fUb);g=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=EPb(new DPb(),h,f,c);if(!wg(h.a,uo(g),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FTb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=dQb(new cQb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aUb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=iQb(new hQb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bUb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=nQb(new mQb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cUb(j,k,c,e,d){var a,f,g,h,i;h=zn(new yn(),fUb);i=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;gcb(d,f);return;}else throw a;}g=sQb(new rQb(),j,h,d);if(!wg(j.a,uo(i),g))gcb(d,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dUb(i,d,c){var a,e,f,g,h;g=zn(new yn(),fUb);h=no(new lo(),fUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;gcb(c,e);return;}else throw a;}f=xQb(new wQb(),i,g,c);if(!wg(i.a,uo(h),f))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eUb(b,a){b.a=a;}
+function ELb(){}
+_=ELb.prototype=new uT();_.tN=Dfc+'RepositoryService_Proxy';_.tI=445;_.a=null;var fUb;function nNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u6(g.a,f);else gcb(g.a,c);}
+function qNb(a){var b;b=x;pNb(this,a);}
+function FLb(){}
+_=FLb.prototype=new uT();_.Ac=qNb;_.tN=Dfc+'RepositoryService_Proxy$1';_.tI=446;function bMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)m0b(g.a,f);else gcb(g.a,c);}
+function eMb(a){var b;b=x;dMb(this,a);}
+function aMb(){}
+_=aMb.prototype=new uT();_.Ac=eMb;_.tN=Dfc+'RepositoryService_Proxy$10';_.tI=447;function gMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function jMb(a){var b;b=x;iMb(this,a);}
+function fMb(){}
+_=fMb.prototype=new uT();_.Ac=jMb;_.tN=Dfc+'RepositoryService_Proxy$11';_.tI=448;function lMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)oBb(g.a,f);else gcb(g.a,c);}
+function oMb(a){var b;b=x;nMb(this,a);}
+function kMb(){}
+_=kMb.prototype=new uT();_.Ac=oMb;_.tN=Dfc+'RepositoryService_Proxy$12';_.tI=449;function qMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)z9(g.a,f);else gcb(g.a,c);}
+function tMb(a){var b;b=x;sMb(this,a);}
+function pMb(){}
+_=pMb.prototype=new uT();_.Ac=tMb;_.tN=Dfc+'RepositoryService_Proxy$13';_.tI=450;function vMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)b7b(g.a,f);else gcb(g.a,c);}
+function yMb(a){var b;b=x;xMb(this,a);}
+function uMb(){}
+_=uMb.prototype=new uT();_.Ac=yMb;_.tN=Dfc+'RepositoryService_Proxy$14';_.tI=451;function AMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function CMb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)syb(g.a,f);else gcb(g.a,c);}
+function DMb(a){var b;b=x;CMb(this,a);}
+function zMb(){}
+_=zMb.prototype=new uT();_.Ac=DMb;_.tN=Dfc+'RepositoryService_Proxy$15';_.tI=452;function FMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function bNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)tzb(g.a,f);else gcb(g.a,c);}
+function cNb(a){var b;b=x;bNb(this,a);}
+function EMb(){}
+_=EMb.prototype=new uT();_.Ac=cNb;_.tN=Dfc+'RepositoryService_Proxy$16';_.tI=453;function eNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g9(g.a,f);else gcb(g.a,c);}
+function hNb(a){var b;b=x;gNb(this,a);}
+function dNb(){}
+_=dNb.prototype=new uT();_.Ac=hNb;_.tN=Dfc+'RepositoryService_Proxy$17';_.tI=454;function jNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function lNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c$b(g.a,f);else gcb(g.a,c);}
+function mNb(a){var b;b=x;lNb(this,a);}
+function iNb(){}
+_=iNb.prototype=new uT();_.Ac=mNb;_.tN=Dfc+'RepositoryService_Proxy$18';_.tI=455;function ePb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f8b(g.a,f);else gcb(g.a,c);}
+function hPb(a){var b;b=x;gPb(this,a);}
+function rNb(){}
+_=rNb.prototype=new uT();_.Ac=hPb;_.tN=Dfc+'RepositoryService_Proxy$2';_.tI=456;function tNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)kFb(g.a,f);else gcb(g.a,c);}
+function wNb(a){var b;b=x;vNb(this,a);}
+function sNb(){}
+_=sNb.prototype=new uT();_.Ac=wNb;_.tN=Dfc+'RepositoryService_Proxy$20';_.tI=457;function yNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function ANb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function BNb(a){var b;b=x;ANb(this,a);}
+function xNb(){}
+_=xNb.prototype=new uT();_.Ac=BNb;_.tN=Dfc+'RepositoryService_Proxy$21';_.tI=458;function DNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FNb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function aOb(a){var b;b=x;FNb(this,a);}
+function CNb(){}
+_=CNb.prototype=new uT();_.Ac=aOb;_.tN=Dfc+'RepositoryService_Proxy$22';_.tI=459;function cOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function eOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function fOb(a){var b;b=x;eOb(this,a);}
+function bOb(){}
+_=bOb.prototype=new uT();_.Ac=fOb;_.tN=Dfc+'RepositoryService_Proxy$23';_.tI=460;function hOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c7(g.a,f);else gcb(g.a,c);}
+function kOb(a){var b;b=x;jOb(this,a);}
+function gOb(){}
+_=gOb.prototype=new uT();_.Ac=kOb;_.tN=Dfc+'RepositoryService_Proxy$24';_.tI=461;function mOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)d_b(g.a,f);else gcb(g.a,c);}
+function pOb(a){var b;b=x;oOb(this,a);}
+function lOb(){}
+_=lOb.prototype=new uT();_.Ac=pOb;_.tN=Dfc+'RepositoryService_Proxy$25';_.tI=462;function rOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function tOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function uOb(a){var b;b=x;tOb(this,a);}
+function qOb(){}
+_=qOb.prototype=new uT();_.Ac=uOb;_.tN=Dfc+'RepositoryService_Proxy$26';_.tI=463;function wOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function zOb(a){var b;b=x;yOb(this,a);}
+function vOb(){}
+_=vOb.prototype=new uT();_.Ac=zOb;_.tN=Dfc+'RepositoryService_Proxy$27';_.tI=464;function BOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DOb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function EOb(a){var b;b=x;DOb(this,a);}
+function AOb(){}
+_=AOb.prototype=new uT();_.Ac=EOb;_.tN=Dfc+'RepositoryService_Proxy$28';_.tI=465;function aPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)obc(g.a,f);else gcb(g.a,c);}
+function dPb(a){var b;b=x;cPb(this,a);}
+function FOb(){}
+_=FOb.prototype=new uT();_.Ac=dPb;_.tN=Dfc+'RepositoryService_Proxy$29';_.tI=466;function BQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k8b(g.a,f);else gcb(g.a,c);}
+function EQb(a){var b;b=x;DQb(this,a);}
+function iPb(){}
+_=iPb.prototype=new uT();_.Ac=EQb;_.tN=Dfc+'RepositoryService_Proxy$3';_.tI=467;function kPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)lKb(g.a,f);else gcb(g.a,c);}
+function nPb(a){var b;b=x;mPb(this,a);}
+function jPb(){}
+_=jPb.prototype=new uT();_.Ac=nPb;_.tN=Dfc+'RepositoryService_Proxy$30';_.tI=468;function pPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)ecc(g.a,f);else gcb(g.a,c);}
+function sPb(a){var b;b=x;rPb(this,a);}
+function oPb(){}
+_=oPb.prototype=new uT();_.Ac=sPb;_.tN=Dfc+'RepositoryService_Proxy$31';_.tI=469;function uPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else gcb(g.a,c);}
+function xPb(a){var b;b=x;wPb(this,a);}
+function tPb(){}
+_=tPb.prototype=new uT();_.Ac=xPb;_.tN=Dfc+'RepositoryService_Proxy$32';_.tI=470;function zPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function BPb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)EIb(g.a,f);else gcb(g.a,c);}
+function CPb(a){var b;b=x;BPb(this,a);}
+function yPb(){}
+_=yPb.prototype=new uT();_.Ac=CPb;_.tN=Dfc+'RepositoryService_Proxy$33';_.tI=471;function EPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D6(g.a,f);else gcb(g.a,c);}
+function bQb(a){var b;b=x;aQb(this,a);}
+function DPb(){}
+_=DPb.prototype=new uT();_.Ac=bQb;_.tN=Dfc+'RepositoryService_Proxy$34';_.tI=472;function dQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u8(g.a,f);else gcb(g.a,c);}
+function gQb(a){var b;b=x;fQb(this,a);}
+function cQb(){}
+_=cQb.prototype=new uT();_.Ac=gQb;_.tN=Dfc+'RepositoryService_Proxy$35';_.tI=473;function iQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function kQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)c6b(g.a,f);else gcb(g.a,c);}
+function lQb(a){var b;b=x;kQb(this,a);}
+function hQb(){}
+_=hQb.prototype=new uT();_.Ac=lQb;_.tN=Dfc+'RepositoryService_Proxy$36';_.tI=474;function nQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)aEb(g.a,f);else gcb(g.a,c);}
+function qQb(a){var b;b=x;pQb(this,a);}
+function mQb(){}
+_=mQb.prototype=new uT();_.Ac=qQb;_.tN=Dfc+'RepositoryService_Proxy$37';_.tI=475;function sQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)mac(g.a,f);else gcb(g.a,c);}
+function vQb(a){var b;b=x;uQb(this,a);}
+function rQb(){}
+_=rQb.prototype=new uT();_.Ac=vQb;_.tN=Dfc+'RepositoryService_Proxy$38';_.tI=476;function xQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zQb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)tBb(g.a,f);else gcb(g.a,c);}
+function AQb(a){var b;b=x;zQb(this,a);}
+function wQb(){}
+_=wQb.prototype=new uT();_.Ac=AQb;_.tN=Dfc+'RepositoryService_Proxy$39';_.tI=477;function aRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=en(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)sAb(g.a,f);else gcb(g.a,c);}
+function dRb(a){var b;b=x;cRb(this,a);}
+function FQb(){}
+_=FQb.prototype=new uT();_.Ac=dRb;_.tN=Dfc+'RepositoryService_Proxy$4';_.tI=478;function fRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dAb(g.a,f);else gcb(g.a,c);}
+function iRb(a){var b;b=x;hRb(this,a);}
+function eRb(){}
+_=eRb.prototype=new uT();_.Ac=iRb;_.tN=Dfc+'RepositoryService_Proxy$5';_.tI=479;function kRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)A4b(g.a,f);else gcb(g.a,c);}
+function nRb(a){var b;b=x;mRb(this,a);}
+function jRb(){}
+_=jRb.prototype=new uT();_.Ac=nRb;_.tN=Dfc+'RepositoryService_Proxy$6';_.tI=480;function pRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=null;}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)geb(g.a,f);else gcb(g.a,c);}
+function sRb(a){var b;b=x;rRb(this,a);}
+function oRb(){}
+_=oRb.prototype=new uT();_.Ac=sRb;_.tN=Dfc+'RepositoryService_Proxy$7';_.tI=481;function uRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wRb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)h$b(g.a,f);else gcb(g.a,c);}
+function xRb(a){var b;b=x;wRb(this,a);}
+function tRb(){}
+_=tRb.prototype=new uT();_.Ac=xRb;_.tN=Dfc+'RepositoryService_Proxy$8';_.tI=482;function iUb(){iUb=s2;kWb=jUb();nWb=kUb();}
+function hUb(a){iUb();return a;}
+function jUb(){iUb();return {'[B/2233087514':[function(a){return lUb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return mUb(a);},function(a,b){Ek(a,b);},function(a,b){Fk(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return nUb(a);},function(a,b){jl(a,b);},function(a,b){ll(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return sUb(a);},function(a,b){nD(a,b);},function(a,b){qD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return tUb(a);},function(a,b){fI(a,b);},function(a,b){iI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return uUb(a);},function(a,b){nI(a,b);},function(a,b){pI(a,b);}],'java.lang.Boolean/476441737':[function(a){return Al(a);},function(a,b){zl(a,b);},function(a,b){Bl(a,b);}],'java.!
 lang.String/2004016611':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return vUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'java.util.ArrayList/3821976829':[function(a){return oUb(a);},function(a,b){lm(a,b);},function(a,b){mm(a,b);}],'java.util.Date/1659716317':[function(a){return qm(a);},function(a,b){pm(a,b);},function(a,b){rm(a,b);}],'java.util.HashMap/962170901':[function(a){return pUb(a);},function(a,b){um(a,b);},function(a,b){vm(a,b);}],'java.util.HashSet/1594477813':[function(a){return qUb(a);},function(a,b){ym(a,b);},function(a,b){zm(a,b);}],'java.util.Vector/3125574444':[function(a){return rUb(a);},function(a,b){Cm(a,b);},function(a,b){Dm(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return wUb(a);},function(a,b){ggb(a,b);},function(a,b){hgb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return xUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return zUb(a);},function(a,b){Fgb(a,b);},function(a,b){ahb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return yUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return BUb(a);},function(a,b){hhb(a,b);},function(a,b){ihb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return AUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return DUb(a);},function(a,b){phb(a,b);},function(a,b){qhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return CUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn FUb(a);},function(a,b){whb(a,b);},function(a,b){xhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return EUb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return bVb(a);},function(a,b){Ehb(a,b);},function(a,b){Fhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return aVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return dVb(a);},function(a,b){gib(a,b);},function(a,b){hib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return cVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return fVb(a);},function(a,b){oib(a,b);},function(a,b){pib(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn eVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return hVb(a);},function(a,b){wib(a,b);},function(a,b){xib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return gVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return jVb(a);},function(a,b){Cib(a,b);},function(a,b){Dib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return iVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return lVb(a);},function(a,b){ejb(a,b);},function(a,b){fjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return kVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return nVb(a);},function(a,b){qjb(a,b);},function(a,b){rjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return mVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return oVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return pVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return qVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return rVb(a);},function(a,b){zjb(a,b);},function(a,b){Ajb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return tVb(a);},function(a,b){bkb(a,b);},function(a,b!
 ){ckb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return sVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return uVb(a);},function(a,b){wkb(a,b);},function(a,b){xkb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return wVb(a);},function(a,b){Fkb(a,b);},function(a,b){alb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return vVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return yVb(a);},function(a,b){zKb(a,b);},function(a,b){AKb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return xVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return zVb(a);},function(a,b){aLb(a,b);},function(a,b){cLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return AVb(a);},function(a,b){mLb(a,b);},function(a,b){nLb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return CVb(a);},function(a,b){sLb(a,b);},function(a,b){tLb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return BVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return DVb(a);},function(a,b){sWb(a,b);},function(a,b){tWb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return EVb(a);},function(a,b){yWb(a,b);},function(a,b){zWb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return FVb(a);},function(a,b){FXb(a,b);},function(a,b){aYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return bWb(a);},function(a,b){fYb(a,b);},function(a,b){gYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn aWb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return cWb(a);},function(a,b){lYb(a,b);},function(a,b){mYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return dWb(a);},function(a,b){rYb(a,b);},function(a,b){sYb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return fWb(a);},function(a,b){xYb(a,b);},function(a,b){yYb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return eWb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return gWb(a);},function(a,b){EYb(a,b);},function(a,b){FYb(a,b);}]};}
+function kUb(){iUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
+function lUb(b){iUb();var a;a=b.Bd();return yb('[B',[611],[(-1)],[a],0);}
+function mUb(a){iUb();return Ak(new zk());}
+function nUb(a){iUb();return new fl();}
+function oUb(a){iUb();return CX(new AX());}
+function pUb(a){iUb();return z0(new DZ());}
+function qUb(a){iUb();return t1(new s1());}
+function rUb(a){iUb();return g2(new f2());}
+function sUb(a){iUb();return new jD();}
+function tUb(a){iUb();return new EH();}
+function uUb(a){iUb();return new aI();}
+function vUb(b){iUb();var a;a=b.Bd();return yb('[Ljava.lang.String;',[605],[1],[a],null);}
+function wUb(a){iUb();return xfb(new vfb());}
+function xUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[620],[22],[a],null);}
+function yUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[621],[23],[a],null);}
+function zUb(a){iUb();return new Agb();}
+function AUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[622],[24],[a],null);}
+function BUb(a){iUb();return chb(new bhb());}
+function CUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[623],[25],[a],null);}
+function DUb(a){iUb();return khb(new jhb());}
+function EUb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[624],[26],[a],null);}
+function FUb(a){iUb();return new rhb();}
+function aVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[625],[27],[a],null);}
+function bVb(a){iUb();return zhb(new yhb());}
+function cVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[626],[28],[a],null);}
+function dVb(a){iUb();return bib(new aib());}
+function eVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[627],[29],[a],null);}
+function fVb(a){iUb();return new iib();}
+function gVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[628],[30],[a],null);}
+function hVb(a){iUb();return new qib();}
+function iVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[613],[15],[a],null);}
+function jVb(a){iUb();return new yib();}
+function kVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[607],[10],[a],null);}
+function lVb(a){iUb();return new Eib();}
+function mVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[629],[31],[a],null);}
+function nVb(a){iUb();return new hjb();}
+function oVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[619],[21],[a],null);}
+function pVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[618],[20],[a],null);}
+function qVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[617],[19],[a],null);}
+function rVb(a){iUb();return new vjb();}
+function sVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[616],[18],[a],null);}
+function tVb(a){iUb();return new Cjb();}
+function uVb(a){iUb();return gkb(new ekb());}
+function vVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[630],[32],[a],null);}
+function wVb(a){iUb();return new ykb();}
+function xVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[609],[12],[a],null);}
+function yVb(a){iUb();return new vKb();}
+function zVb(a){iUb();return new CKb();}
+function AVb(a){iUb();return gLb(new eLb());}
+function BVb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[614],[16],[a],null);}
+function CVb(a){iUb();return new oLb();}
+function DVb(a){iUb();return new oWb();}
+function EVb(a){iUb();return new uWb();}
+function FVb(a){iUb();return new BXb();}
+function aWb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[615],[17],[a],null);}
+function bWb(a){iUb();return new bYb();}
+function cWb(a){iUb();return new hYb();}
+function dWb(a){iUb();return new nYb();}
+function eWb(b){iUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[612],[14],[a],null);}
+function fWb(a){iUb();return new tYb();}
+function gWb(a){iUb();return new AYb();}
+function hWb(c,a,d){var b=kWb[d];if(!b){lWb(d);}b[1](c,a);}
+function iWb(b){var a=nWb[b];return a==null?b:a;}
+function jWb(b,c){var a=kWb[c];if(!a){lWb(c);}return a[0](b);}
+function lWb(a){iUb();throw pl(new ol(),a);}
+function mWb(c,a,d){var b=kWb[d];if(!b){lWb(d);}b[2](c,a);}
+function gUb(){}
+_=gUb.prototype=new uT();_.ib=hWb;_.bc=iWb;_.nc=jWb;_.ie=mWb;_.tN=Dfc+'RepositoryService_TypeSerializer';_.tI=483;var kWb,nWb;function oWb(){}
+_=oWb.prototype=new uT();_.tN=Dfc+'RuleAsset';_.tI=484;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function sWb(b,a){a.a=b.zd();a.b=Fb(b.Dd(),39);a.c=b.zd();a.d=Fb(b.Dd(),93);a.e=b.Ed();}
+function tWb(b,a){b.bf(a.a);b.ff(a.b);b.bf(a.c);b.ff(a.d);b.gf(a.e);}
+function uWb(){}
+_=uWb.prototype=new uT();_.tN=Dfc+'RuleContentText';_.tI=485;_.a=null;function yWb(b,a){a.a=b.Ed();}
+function zWb(b,a){b.gf(a.a);}
+function jXb(){jXb=s2;nXb=pXb(new oXb());}
+function gXb(a){jXb();return a;}
+function hXb(b,a){if(b.a===null)throw ul(new tl());ro(a);nn(a,'org.drools.brms.client.rpc.SecurityService');nn(a,'getCurrentUser');ln(a,0);}
+function iXb(c,b,d,a){if(c.a===null)throw ul(new tl());ro(b);nn(b,'org.drools.brms.client.rpc.SecurityService');nn(b,'login');ln(b,2);nn(b,'java.lang.String');nn(b,'java.lang.String');nn(b,d);nn(b,a);}
+function kXb(h,c){var a,d,e,f,g;f=zn(new yn(),nXb);g=no(new lo(),nXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{hXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Dc(d);return;}else throw a;}e=DWb(new CWb(),h,f,c);if(!wg(h.a,uo(g),e))c.Dc(bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lXb(i,j,f,c){var a,d,e,g,h;g=zn(new yn(),nXb);h=no(new lo(),nXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{iXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;gcb(c,d);return;}else throw a;}e=cXb(new bXb(),i,g,c);if(!wg(i.a,uo(h),e))gcb(c,bl(new al(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mXb(b,a){b.a=a;}
+function BWb(){}
+_=BWb.prototype=new uT();_.tN=Dfc+'SecurityService_Proxy';_.tI=486;_.a=null;var nXb;function DWb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FWb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=ao(g.b);}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else g.a.Dc(c);}
+function aXb(a){var b;b=x;FWb(this,a);}
+function CWb(){}
+_=CWb.prototype=new uT();_.Ac=aXb;_.tN=Dfc+'SecurityService_Proxy$1';_.tI=487;function cXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function eXb(g,e){var a,c,d,f;f=null;c=null;try{if(vU(e,'//OK')){Cn(g.b,wU(e,4));f=yR(new xR(),Dn(g.b));}else if(vU(e,'//EX')){Cn(g.b,wU(e,4));c=Fb(en(g.b),3);}else{c=bl(new al(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=Ak(new zk());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)n5(g.a,f);else gcb(g.a,c);}
+function fXb(a){var b;b=x;eXb(this,a);}
+function bXb(){}
+_=bXb.prototype=new uT();_.Ac=fXb;_.tN=Dfc+'SecurityService_Proxy$2';_.tI=488;function qXb(){qXb=s2;xXb=rXb();AXb=sXb();}
+function pXb(a){qXb();return a;}
+function rXb(){qXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return tXb(a);},function(a,b){Ek(a,b);},function(a,b){Fk(a,b);}],'java.lang.String/2004016611':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}]};}
+function sXb(){qXb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
+function tXb(a){qXb();return Ak(new zk());}
+function uXb(c,a,d){var b=xXb[d];if(!b){yXb(d);}b[1](c,a);}
+function vXb(b){var a=AXb[b];return a==null?b:a;}
+function wXb(b,c){var a=xXb[c];if(!a){yXb(c);}return a[0](b);}
+function yXb(a){qXb();throw pl(new ol(),a);}
+function zXb(c,a,d){var b=xXb[d];if(!b){yXb(d);}b[2](c,a);}
+function oXb(){}
+_=oXb.prototype=new uT();_.ib=uXb;_.bc=vXb;_.nc=wXb;_.ie=zXb;_.tN=Dfc+'SecurityService_TypeSerializer';_.tI=489;var xXb,AXb;function BXb(){}
+_=BXb.prototype=new fl();_.tN=Dfc+'SessionExpiredException';_.tI=490;function FXb(b,a){jl(b,a);}
+function aYb(b,a){ll(b,a);}
+function bYb(){}
+_=bYb.prototype=new uT();_.tN=Dfc+'SnapshotInfo';_.tI=491;_.a=null;_.b=null;_.c=null;function fYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
+function gYb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
+function hYb(){}
+_=hYb.prototype=new uT();_.tN=Dfc+'TableConfig';_.tI=492;_.a=null;_.b=0;function lYb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Bd();}
+function mYb(b,a){b.ff(a.a);b.df(a.b);}
+function nYb(){}
+_=nYb.prototype=new uT();_.tN=Dfc+'TableDataResult';_.tI=493;_.a=null;function rYb(b,a){a.a=Fb(b.Dd(),94);}
+function sYb(b,a){b.ff(a.a);}
+function zYb(a){return tU(a,'\\,')[0];}
+function tYb(){}
+_=tYb.prototype=new uT();_.tN=Dfc+'TableDataRow';_.tI=494;_.a=null;_.b=null;_.c=null;function xYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=Fb(b.Dd(),63);}
+function yYb(b,a){b.gf(a.a);b.gf(a.b);b.ff(a.c);}
+function AYb(){}
+_=AYb.prototype=new uT();_.tN=Dfc+'ValidatedResponse';_.tI=495;_.a=null;_.b=null;_.c=false;_.d=null;function EYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.zd();a.d=Fb(b.Dd(),39);}
+function FYb(b,a){b.gf(a.a);b.gf(a.b);b.bf(a.c);b.ff(a.d);}
+function o0b(a){a.e=lt(new ft());}
+function p0b(j,b,c,a,f,d,g){var e,h,i;o0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=dz(new hw());i=j.f.r;e=ot(j.e);h=Fz(new Dz());w0b(j,i);aA(h,j.g);if(!g){s0b(j,e,h);}y0b(j,f,e);gr(j,j.e);j.Be('100%');return j;}
+function r0b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
+function s0b(h,e,g){var a,b,c,d,f;d=lcb(new kcb(),'images/edit.gif');d.te('Change status.');fB(d,kZb(new bZb(),h));aA(g,d);h.e.ze(0,0,g);Bw(e,0,0,(oz(),qz),(xz(),Az));f=qp(new kp(),'Save changes');f.te('Check in changes.');f.x(oZb(new nZb(),h));aA(g,f);b=qp(new kp(),'Copy');b.x(sZb(new rZb(),h));aA(g,b);a=qp(new kp(),'Archive');a.x(wZb(new vZb(),h));aA(g,a);if(h.f.v==0){c=qp(new kp(),'Delete');c.x(AZb(new zZb(),h));aA(g,c);}}
+function t0b(b,c){var a;a=C1b(new x1b(),lN(c),mN(c),'Check in changes.');F1b(a,dZb(new cZb(),b,a));a2b(a);}
+function u0b(e,f){var a,b,c,d;a=acb(new Bbb(),'images/rule_asset.gif','Copy this item');b=zK(new kK());c=odb(new jdb());bcb(a,'New name:',b);bcb(a,'New package:',c);d=qp(new kp(),'Create copy');d.x(g0b(new f0b(),e,c,b,a));bcb(a,'',d);lE(a,dc((cab()-gE(a))/2),100);oE(a);}
+function v0b(b,a){b.c=a;}
+function w0b(b,a){hz(b.g,'Status: <b>['+a+']<\/b>');}
+function x0b(b,c){var a;a=ieb(new sdb(),b.h,false);leb(a,hZb(new gZb(),b,a));lE(a,lN(c),mN(c));oE(a);}
+function y0b(e,d,b){var a,c,f;f=Fz(new Dz());c=lcb(new kcb(),'images/max_min.gif');fB(c,EZb(new DZb(),e,d));aA(f,c);a=lcb(new kcb(),'images/close.gif');a.te('Close.');fB(a,c0b(new b0b(),e));aA(f,a);e.e.ze(0,1,f);Bw(b,0,1,(oz(),rz),(xz(),Az));}
+function aZb(){}
+_=aZb.prototype=new er();_.tN=Efc+'ActionToolbar';_.tI=496;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function kZb(b,a){b.a=a;return b;}
+function mZb(a){x0b(this.a,a);}
+function bZb(){}
+_=bZb.prototype=new uT();_.zc=mZb;_.tN=Efc+'ActionToolbar$1';_.tI=497;function dZb(b,a,c){b.a=a;b.b=c;return b;}
+function fZb(){this.a.f.b=E1b(this.b);e9b(this.a.b);}
+function cZb(){}
+_=cZb.prototype=new uT();_.pb=fZb;_.tN=Efc+'ActionToolbar$10';_.tI=498;function hZb(b,a,c){b.a=a;b.b=c;return b;}
+function jZb(){w0b(this.a,this.b.c);}
+function gZb(){}
+_=gZb.prototype=new uT();_.pb=jZb;_.tN=Efc+'ActionToolbar$11';_.tI=499;function oZb(b,a){b.a=a;return b;}
+function qZb(a){t0b(this.a,a);}
+function nZb(){}
+_=nZb.prototype=new uT();_.zc=qZb;_.tN=Efc+'ActionToolbar$2';_.tI=500;function sZb(b,a){b.a=a;return b;}
+function uZb(a){u0b(this.a,a);}
+function rZb(){}
+_=rZb.prototype=new uT();_.zc=uZb;_.tN=Efc+'ActionToolbar$3';_.tI=501;function wZb(b,a){b.a=a;return b;}
+function yZb(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+qZ(iZ(new hZ()));j9b(this.a.a);}}
+function vZb(){}
+_=vZb.prototype=new uT();_.zc=yZb;_.tN=Efc+'ActionToolbar$4';_.tI=502;function AZb(b,a){b.a=a;return b;}
+function CZb(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){t9b(this.a.d);}}
+function zZb(){}
+_=zZb.prototype=new uT();_.zc=CZb;_.tN=Efc+'ActionToolbar$5';_.tI=503;function EZb(b,a,c){b.a=c;return b;}
+function a0b(a){o9b(this.a);}
+function DZb(){}
+_=DZb.prototype=new uT();_.zc=a0b;_.tN=Efc+'ActionToolbar$6';_.tI=504;function c0b(b,a){b.a=a;return b;}
+function e0b(a){D9b(this.a.c);}
+function b0b(){}
+_=b0b.prototype=new uT();_.zc=e0b;_.tN=Efc+'ActionToolbar$7';_.tI=505;function g0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
+function i0b(a){hTb(BLb(),this.a.h,qdb(this.d),rK(this.c),k0b(new j0b(),this,this.c,this.d,this.b));}
+function f0b(){}
+_=f0b.prototype=new uT();_.zc=i0b;_.tN=Efc+'ActionToolbar$8';_.tI=506;function k0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
+function m0b(b,a){r0b(b.a.a,rK(b.c),qdb(b.d));b.b.lc();}
+function n0b(a){m0b(this,a);}
+function j0b(){}
+_=j0b.prototype=new ecb();_.pd=n0b;_.tN=Efc+'ActionToolbar$9';_.tI=507;function o1b(a){a.b=hab(new fab());}
+function p1b(c,a,b){o1b(c);c.a=a;c.c=lt(new ft());u1b(c,c.c);uN(c.c,'rule-List');kab(c.b,0,0,c.c);if(!b){s1b(c);}gr(c,c.b);return c;}
+function q1b(b,a){hLb(b.a,a);w1b(b);}
+function s1b(c){var a,b;a=hO(new fO());b=lcb(new kcb(),'images/new_item.gif');b.te('Add a new category.');fB(b,d1b(new c1b(),c));iO(a,b);kab(c.b,0,1,a);}
+function t1b(b){var a;a=m1b(new k1b(),b);lE(a,lN(b),mN(b));oE(a);}
+function u1b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;yy(d,b,0,e.a.a[b]);a=lcb(new kcb(),'images/trash.gif');a.te('Remove this category');fB(a,h1b(new g1b(),e,c));d.ze(b,1,a);}}
+function v1b(b,a){jLb(b.a,a);aab(b);w1b(b);}
+function w1b(a){a.c=lt(new ft());uN(a.c,'rule-List');kab(a.b,0,0,a.c);u1b(a,a.c);aab(a);}
+function z0b(){}
+_=z0b.prototype=new E_();_.tN=Efc+'AssetCategoryEditor';_.tI=508;_.a=null;_.c=null;function B0b(b,a){b.a=a;return b;}
+function D0b(a){this.a.b=a;}
+function A0b(){}
+_=A0b.prototype=new uT();_.he=D0b;_.tN=Efc+'AssetCategoryEditor$1';_.tI=509;function F0b(b,a){b.a=a;return b;}
+function b1b(a){if(this.a.b!==null&& !nU('',this.a.b)){q1b(this.a.d,this.a.b);}this.a.lc();}
+function E0b(){}
+_=E0b.prototype=new uT();_.zc=b1b;_.tN=Efc+'AssetCategoryEditor$2';_.tI=510;function d1b(b,a){b.a=a;return b;}
+function f1b(a){t1b(this.a);}
+function c1b(){}
+_=c1b.prototype=new uT();_.zc=f1b;_.tN=Efc+'AssetCategoryEditor$3';_.tI=511;function h1b(b,a,c){b.a=a;b.b=c;return b;}
+function j1b(a){v1b(this.a,this.b);}
+function g1b(){}
+_=g1b.prototype=new uT();_.zc=j1b;_.tN=Efc+'AssetCategoryEditor$4';_.tI=512;function n1b(){n1b=s2;eE();}
+function l1b(a){a.a=qp(new kp(),'OK');}
+function m1b(b,a){var c;n1b();b.d=a;bE(b,true);l1b(b);c=hO(new fO());b.c=s$(new b$(),B0b(new A0b(),b));uN(b,'ks-popups-Popup');iO(c,b.c);iO(c,b.a);CG(b,c);b.a.x(F0b(new E0b(),b));return b;}
+function k1b(){}
+_=k1b.prototype=new FD();_.tN=Efc+'AssetCategoryEditor$CategorySelector';_.tI=513;_.b=null;_.c=null;function C1b(c,a,d,b){c.b=acb(new Bbb(),'images/checkin.gif',b);c.a=eK(new dK());c.a.Be('100%');c.c=qp(new kp(),'Save');bcb(c.b,'Comment',c.a);bcb(c.b,'',c.c);uN(c.b,'ks-popups-Popup');lE(c.b,a,d);return c;}
+function E1b(a){return rK(a.a);}
+function F1b(b,a){b.c.x(z1b(new y1b(),b,a));}
+function a2b(a){lE(a.b,dc((cab()-gE(a.b))/2),100);oE(a.b);}
+function x1b(){}
+_=x1b.prototype=new uT();_.tN=Efc+'CheckinPopup';_.tI=514;_.a=null;_.b=null;_.c=null;function z1b(b,a,c){b.a=a;b.b=c;return b;}
+function B1b(a){this.b.pb();this.a.b.lc();}
+function y1b(){}
+_=y1b.prototype=new uT();_.zc=B1b;_.tN=Efc+'CheckinPopup$1';_.tI=515;function x2b(){x2b=s2;eE();}
+function v2b(g,f,e){var a,b,c,d;x2b();bE(g,true);g.d=f;g.b=zK(new kK());g.b.Be('100%');b='<enter text to filter list>';vK(g.b,'<enter text to filter list>');gu(g.b,d2b(new c2b(),g));oK(g.b,i2b(new h2b(),g,e));g.b.oe(true);d=hO(new fO());iO(d,g.b);g.c=mC(new eC());CC(g.c,5);z2b(g,u4b(g.d,''));iO(d,g.c);c=qp(new kp(),'ok');c.x(o2b(new n2b(),g,e));a=qp(new kp(),'cancel');a.x(s2b(new r2b(),g));g.a=Fz(new Dz());aA(g.a,c);aA(g.a,a);iO(d,g.a);CG(g,d);uN(g,'ks-popups-Popup');return g;}
+function w2b(b,a){n3b(a,y2b(b));b.lc();}
+function y2b(a){return vC(a.c,wC(a.c));}
+function z2b(c,a){var b;sC(c.c);for(b=0;b<a.b;b++){pC(c.c,Fb(dY(a,b),10).a);}}
+function b2b(){}
+_=b2b.prototype=new FD();_.tN=Efc+'ChoiceList';_.tI=516;_.a=null;_.b=null;_.c=null;_.d=null;function d2b(b,a){b.a=a;return b;}
+function f2b(a){vK(this.a.b,'');}
+function g2b(a){vK(this.a.b,'<enter text to filter list>');}
+function c2b(){}
+_=c2b.prototype=new uT();_.Ec=f2b;_.gd=g2b;_.tN=Efc+'ChoiceList$1';_.tI=517;function i2b(b,a,c){b.a=a;b.b=c;return b;}
+function k2b(a,b,c){}
+function l2b(a,b,c){}
+function m2b(a,b,c){if(b==13){w2b(this.a,this.b);}else{z2b(this.a,u4b(this.a.d,rK(this.a.b)));}}
+function h2b(){}
+_=h2b.prototype=new uT();_.cd=k2b;_.dd=l2b;_.ed=m2b;_.tN=Efc+'ChoiceList$2';_.tI=518;function o2b(b,a,c){b.a=a;b.b=c;return b;}
+function q2b(a){w2b(this.a,this.b);}
+function n2b(){}
+_=n2b.prototype=new uT();_.zc=q2b;_.tN=Efc+'ChoiceList$3';_.tI=519;function s2b(b,a){b.a=a;return b;}
+function u2b(a){this.a.lc();}
+function r2b(){}
+_=r2b.prototype=new uT();_.zc=u2b;_.tN=Efc+'ChoiceList$4';_.tI=520;function l3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=eK(new dK());jK(i.d,10);vK(i.d,i.c.a);i.d.te('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=rKb((pKb(),uKb),a.d.o);i.a=c.a;i.b=c.b;uN(i.d,'dsl-text-Editor');d=lt(new ft());d.ze(0,0,i.d);nK(i.d,C2b(new B2b(),i));oK(i.d,a3b(new F2b(),i));j=hO(new fO());e=lcb(new kcb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.te('Add a new condition');fB(e,e3b(new d3b(),i));h=lcb(new kcb(),'images/new_dsl_action.gif');g='Add an action';h.te('Add an action');fB(h,i3b(new h3b(),i));iO(j,e);iO(j,h);d.ze(0,1,j);bx(d.n,0,0,'95%');bx(d.n,0,1,'5%');d.Be('100%');d.qe('100%');gr(i,d);return i;}
+function n3b(e,b){var a,c,d;a=gK(e.d);c=xU(rK(e.d),0,a);d=xU(rK(e.d),a,rU(rK(e.d)));vK(e.d,c+b+d);e.c.a=rK(e.d);}
+function o3b(b){var a;a=xU(rK(b.d),0,gK(b.d));if(pU(a,'then')>(-1)){p3b(b,b.a);}else{p3b(b,b.b);}}
+function p3b(c,b){var a;a=v2b(new b2b(),b,c);lE(a,lN(c.d)+20,mN(c.d)+20);oE(a);}
+function A2b(){}
+_=A2b.prototype=new E_();_.tN=Efc+'DSLRuleEditor';_.tI=521;_.a=null;_.b=null;_.c=null;_.d=null;function C2b(b,a){b.a=a;return b;}
+function E2b(a){this.a.c.a=rK(this.a.d);aab(this.a);}
+function B2b(){}
+_=B2b.prototype=new uT();_.yc=E2b;_.tN=Efc+'DSLRuleEditor$1';_.tI=522;function a3b(b,a){b.a=a;return b;}
+function c3b(a,b,c){if(b==32&&c==2){o3b(this.a);}if(b==9){n3b(this.a,'\t');sK(this.a.d,gK(this.a.d)+1);pK(this.a.d);}}
+function F2b(){}
+_=F2b.prototype=new mB();_.cd=c3b;_.tN=Efc+'DSLRuleEditor$2';_.tI=523;function e3b(b,a){b.a=a;return b;}
+function g3b(a){p3b(this.a,this.a.b);}
+function d3b(){}
+_=d3b.prototype=new uT();_.zc=g3b;_.tN=Efc+'DSLRuleEditor$3';_.tI=524;function i3b(b,a){b.a=a;return b;}
+function k3b(a){p3b(this.a,this.a.a);}
+function h3b(){}
+_=h3b.prototype=new uT();_.zc=k3b;_.tN=Efc+'DSLRuleEditor$4';_.tI=525;function z3b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=eK(new dK());jK(b.c,10);vK(b.c,b.b.a);uN(b.c,'default-text-Area');nK(b.c,s3b(new r3b(),b));oK(b.c,w3b(new v3b(),b));gr(b,b.c);return b;}
+function B3b(e,b){var a,c,d;a=gK(e.c);c=xU(rK(e.c),0,a);d=xU(rK(e.c),a,rU(rK(e.c)));vK(e.c,c+b+d);e.b.a=rK(e.c);}
+function q3b(){}
+_=q3b.prototype=new E_();_.tN=Efc+'DefaultRuleContentWidget';_.tI=526;_.a=null;_.b=null;_.c=null;function s3b(b,a){b.a=a;return b;}
+function u3b(a){this.a.b.a=rK(this.a.c);aab(this.a);}
+function r3b(){}
+_=r3b.prototype=new uT();_.yc=u3b;_.tN=Efc+'DefaultRuleContentWidget$1';_.tI=527;function w3b(b,a){b.a=a;return b;}
+function y3b(a,b,c){if(b==9){B3b(this.a,'\t');sK(this.a.c,gK(this.a.c)+1);pK(this.a.c);}}
+function v3b(){}
+_=v3b.prototype=new mB();_.cd=y3b;_.tN=Efc+'DefaultRuleContentWidget$2';_.tI=528;function l4b(){l4b=s2;m4b=p4b();}
+function n4b(a){l4b();var b;b=Fb(F0(m4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
+function o4b(a,b){l4b();if(nU(a.d.k,'brl')){return m8b(new z7b(),cwb(new Dtb(),a),a);}else if(nU(a.d.k,'dslr')){return m8b(new z7b(),l3b(new A2b(),a),a);}else if(nU(a.d.k,'jar')){return Dxb(new Cxb(),a,b);}else if(nU(a.d.k,'xls')){return m8b(new z7b(),hfb(new gfb(),a,b),a);}else if(nU(a.d.k,'rf')){return v7b(new u7b(),a,b);}else if(nU(a.d.k,'drl')){return m8b(new z7b(),z3b(new q3b(),a),a);}else if(nU(a.d.k,'enumeration')){return m8b(new z7b(),z3b(new q3b(),a),a);}else{return z3b(new q3b(),a);}}
+function p4b(){l4b();var a;a=z0(new DZ());a1(a,'drl','technical_rule_assets.gif');a1(a,'dsl','dsl.gif');a1(a,'function','function_assets.gif');a1(a,'jar','model_asset.gif');a1(a,'xls','spreadsheet_small.gif');a1(a,'brl','business_rule.gif');a1(a,'dslr','business_rule.gif');a1(a,'rf','ruleflow_small.gif');return a;}
+function q4b(d,f,g,e,a){l4b();var b,c,h;h=m$b(new u8b(),a,e);b=a.d.n;if(rU(b)>10){b=xU(b,0,7)+'...';}c=n4b(a.d.k);tJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(CY(),DY)){a1(d,g,h);}v$b(h,h4b(new g4b(),f,h,d,g));zJ(f,vJ(f,h));}
+function r4b(b,d,e,c){l4b();var a;if(C0(b,e)){if(vJ(d,Fb(F0(b,e),13))==(-1)){a=ac(wJ(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{zJ(d,vJ(d,Fb(F0(b,e),13)));}bdb();return;}yTb(BLb(),e,E3b(new D3b(),b,d,e,c));}
+var m4b;function E3b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
+function a4b(c){var a,b;a=Fb(c,97);b=(pKb(),uKb);qKb(b,a.d.o,c4b(new b4b(),this,this.a,this.c,this.d,this.b,a));}
+function D3b(){}
+_=D3b.prototype=new ecb();_.pd=a4b;_.tN=Efc+'EditorLauncher$1';_.tI=529;function c4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
+function e4b(a){q4b(a.b,a.d,a.e,a.c,a.a);}
+function f4b(){e4b(this);}
+function b4b(){}
+_=b4b.prototype=new uT();_.pb=f4b;_.tN=Efc+'EditorLauncher$2';_.tI=530;function h4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
+function j4b(a){yJ(a.b,vJ(a.b,a.d));zJ(a.b,0);if(a.a!==(CY(),DY)){b1(a.a,a.c);}}
+function k4b(){j4b(this);}
+function g4b(){}
+_=g4b.prototype=new uT();_.pb=k4b;_.tN=Efc+'EditorLauncher$3';_.tI=531;function u4b(e,a){var b,c,d;b=CX(new AX());for(c=0;c<e.a;c++){d=e[c];if(nU(a,'')||vU(d.a,a)){EX(b,d);}}return b;}
+function j6b(e,a,c,f,d){var b;qbb(e);uN(e,'metadata-Widget');if(!c){b=mcb(new kcb(),'images/edit.gif','Rename this asset');fB(b,a5b(new w4b(),e));ubb(e,'images/meta_data.png',a.n,b);}else{tbb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;o6b(e,a);return e;}
+function k6b(a){a.b=p1b(new z0b(),a.a,a.c);return a.b;}
+function m6b(d,a,e){var b,c;if(!d.c){b=zK(new kK());b.te(e);vK(b,a.ec());c=D4b(new C4b(),d,a,b);nK(b,c);return b;}else{return CB(new AB(),a.ec());}}
+function n6b(a){if(a.a.v==0){return ez(new hw(),'<i>Not checked in yet<\/i>');}else{return r6b(a,aT(a.a.v));}}
+function o6b(b,a){b.a=a;sbb(b,'Categories:',k6b(b));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Modified on:',q6b(b,b.a.m));sbb(b,'by:',r6b(b,b.a.l));sbb(b,'Note:',r6b(b,b.a.b));sbb(b,'Version:',n6b(b));if(!b.c){sbb(b,'Created on:',q6b(b,b.a.d));}sbb(b,'Created by:',r6b(b,b.a.e));sbb(b,'Format:',ez(new hw(),'<b>'+b.a.k+'<\/b>'));vbb(b,ez(new hw(),'<hr/>'));sbb(b,'Package:',p6b(b,b.a.o));sbb(b,'Subject:',m6b(b,e5b(new d5b(),b),'A short description of the subject matter.'));sbb(b,'Type:',m6b(b,j5b(new i5b(),b),'This is for classification purposes.'));sbb(b,'External link:',m6b(b,o5b(new n5b(),b),'This is for relating the asset to an external system.'));sbb(b,'Source:',m6b(b,t5b(new s5b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){vbb(b,q_b(new x$b(),b.e,b.a,b.d));}}
+function p6b(d,c){var a,b;if(d.c){return r6b(d,c);}else{b=Fz(new Dz());uN(b,'metadata-Widget');aA(b,r6b(d,c));a=lcb(new kcb(),'images/edit.gif');fB(a,y5b(new x5b(),d,c));aA(b,a);return b;}}
+function q6b(b,a){if(a===null){return null;}else{return CB(new AB(),pZ(a));}}
+function r6b(c,b){var a;a=CB(new AB(),b);a.Be('100%');return a;}
+function s6b(f,b,e){var a,c,d;c=acb(new Bbb(),'images/package_large.png','Move this item to another package');bcb(c,'Current package:',CB(new AB(),b));d=odb(new jdb());bcb(c,'New package:',d);a=qp(new kp(),'Change package');bcb(c,'',a);a.x(f6b(new e6b(),f,d,b,c));lE(c,lN(e.v.v),mN(e.v.v));oE(c);}
+function t6b(e,d){var a,b,c;c=acb(new Bbb(),'images/package_large.png','Rename this item');a=zK(new kK());bcb(c,'New name',a);b=qp(new kp(),'Rename item');bcb(c,'',b);b.x(C5b(new B5b(),e,a,c));lE(c,lN(d.v.v)-18,mN(d.v.v));oE(c);}
+function u6b(){return this.b.pc()||this.j;}
+function v4b(){}
+_=v4b.prototype=new obb();_.pc=u6b;_.tN=Efc+'MetaDataWidget';_.tI=532;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function a5b(b,a){b.a=a;return b;}
+function c5b(a){t6b(this.a,a);}
+function w4b(){}
+_=w4b.prototype=new uT();_.zc=c5b;_.tN=Efc+'MetaDataWidget$1';_.tI=533;function y4b(b,a,c){b.a=a;b.b=c;return b;}
+function A4b(b,a){aab(b.a.a);y9b(b.a.a.d);b.b.lc();}
+function B4b(a){A4b(this,a);}
+function x4b(){}
+_=x4b.prototype=new ecb();_.pd=B4b;_.tN=Efc+'MetaDataWidget$10';_.tI=534;function D4b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function F4b(a){aab(this.a);this.b.xe(rK(this.c));}
+function C4b(){}
+_=C4b.prototype=new uT();_.yc=F4b;_.tN=Efc+'MetaDataWidget$11';_.tI=535;function e5b(b,a){b.a=a;return b;}
+function g5b(){return this.a.a.s;}
+function h5b(a){this.a.a.s=a;}
+function d5b(){}
+_=d5b.prototype=new uT();_.ec=g5b;_.xe=h5b;_.tN=Efc+'MetaDataWidget$2';_.tI=536;function j5b(b,a){b.a=a;return b;}
+function l5b(){return this.a.a.u;}
+function m5b(a){this.a.a.u=a;}
+function i5b(){}
+_=i5b.prototype=new uT();_.ec=l5b;_.xe=m5b;_.tN=Efc+'MetaDataWidget$3';_.tI=537;function o5b(b,a){b.a=a;return b;}
+function q5b(){return this.a.a.i;}
+function r5b(a){this.a.a.i=a;}
+function n5b(){}
+_=n5b.prototype=new uT();_.ec=q5b;_.xe=r5b;_.tN=Efc+'MetaDataWidget$4';_.tI=538;function t5b(b,a){b.a=a;return b;}
+function v5b(){return this.a.a.j;}
+function w5b(a){this.a.a.j=a;}
+function s5b(){}
+_=s5b.prototype=new uT();_.ec=v5b;_.xe=w5b;_.tN=Efc+'MetaDataWidget$5';_.tI=539;function y5b(b,a,c){b.a=a;b.b=c;return b;}
+function A5b(a){s6b(this.a,this.b,a);}
+function x5b(){}
+_=x5b.prototype=new uT();_.zc=A5b;_.tN=Efc+'MetaDataWidget$6';_.tI=540;function C5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function E5b(a){aUb(BLb(),this.a.e,rK(this.b),a6b(new F5b(),this,this.c));}
+function B5b(){}
+_=B5b.prototype=new uT();_.zc=E5b;_.tN=Efc+'MetaDataWidget$7';_.tI=541;function a6b(b,a,c){b.a=a;b.b=c;return b;}
+function c6b(b,a){y9b(b.a.a.d);zh('Item has been renamed');b.b.lc();}
+function d6b(a){c6b(this,a);}
+function F5b(){}
+_=F5b.prototype=new ecb();_.pd=d6b;_.tN=Efc+'MetaDataWidget$8';_.tI=542;function f6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function h6b(a){if(nU(qdb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}dTb(BLb(),this.a.e,qdb(this.d),'Moved from : '+this.b,y4b(new x4b(),this,this.c));}
+function e6b(){}
+_=e6b.prototype=new uT();_.zc=h6b;_.tN=Efc+'MetaDataWidget$9';_.tI=543;function g7b(){g7b=s2;dcb();}
+function d7b(a){a.f=zK(new kK());a.b=eK(new dK());a.d=i7b(a);a.g=odb(new jdb());}
+function e7b(e,a,d,b,f){var c;g7b();acb(e,'images/new_wiz.gif',f);d7b(e);e.h=d;e.c=b;e.a=a;bcb(e,'Name:',e.f);if(d){bcb(e,'Initial category:',h7b(e));}if(b===null){bcb(e,'Type (format) of rule:',e.d);}bcb(e,'Package:',e.g);jK(e.b,4);e.b.Be('100%');bcb(e,'Initial description:',e.b);c=qp(new kp(),'OK');c.x(x6b(new w6b(),e));bcb(e,'',c);uN(e,'ks-popups-Popup');return e;}
+function f7b(e,b,d,c,f,a){g7b();e7b(e,b,d,c,f);rdb(e.g,a);return e;}
+function h7b(a){return s$(new b$(),B6b(new A6b(),a));}
+function j7b(a){if(a.c!==null)return a.c;return xC(a.d,wC(a.d));}
+function i7b(b){var a;a=mC(new eC());qC(a,'Business rule (using guided editor)','brl');qC(a,'DRL rule (technical rule - text editor)','drl');qC(a,'Business rule using a DSL (text editor)','dslr');qC(a,'Decision table (spreadsheet)','xls');BC(a,0);return a;}
+function k7b(b){var a;if(b.h&&b.e===null){Aeb('You have to pick an initial category.',lN(b),mN(b));return;}else if(rK(b.f)===null||nU('',rK(b.f))){Aeb('Rule must have a name',lN(b),mN(b));return;}a=F6b(new E6b(),b);fdb('Please wait ...');lTb(BLb(),rK(b.f),rK(b.b),b.e,qdb(b.g),j7b(b),a);}
+function l7b(a,b){a.a.wd(b);}
+function v6b(){}
+_=v6b.prototype=new Bbb();_.tN=Efc+'NewAssetWizard';_.tI=544;_.a=null;_.c=null;_.e=null;_.h=false;function x6b(b,a){b.a=a;return b;}
+function z6b(a){k7b(this.a);}
+function w6b(){}
+_=w6b.prototype=new uT();_.zc=z6b;_.tN=Efc+'NewAssetWizard$1';_.tI=545;function B6b(b,a){b.a=a;return b;}
+function D6b(a){this.a.e=a;}
+function A6b(){}
+_=A6b.prototype=new uT();_.he=D6b;_.tN=Efc+'NewAssetWizard$2';_.tI=546;function F6b(b,a){b.a=a;return b;}
+function b7b(b,a){var c;c=Fb(a,1);if(vU(c,'DUPLICATE')){bdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{l7b(b.a,Fb(a,1));b.a.lc();}}
+function c7b(a){b7b(this,a);}
+function E6b(){}
+_=E6b.prototype=new ecb();_.pd=c7b;_.tN=Efc+'NewAssetWizard$3';_.tI=547;function r7b(b,a){b.a=eK(new dK());b.a.Be('100%');jK(b.a,10);uN(b.a,'rule-viewer-Documentation');b.a.te('This is rule documentation. Human friendly descriptions of the business logic.');gr(b,b.a);t7b(b,a);return b;}
+function t7b(b,a){vK(b.a,a.h);nK(b.a,o7b(new n7b(),b,a));if(a.h===null||nU('',a.h)){vK(b.a,'<documentation>');}}
+function m7b(){}
+_=m7b.prototype=new E_();_.tN=Efc+'RuleDocumentWidget';_.tI=548;_.a=null;function o7b(b,a,c){b.a=a;b.b=c;return b;}
+function q7b(a){this.b.h=rK(this.a.a);aab(this.a);}
+function n7b(){}
+_=n7b.prototype=new uT();_.yc=q7b;_.tN=Efc+'RuleDocumentWidget$1';_.tI=549;function v7b(b,a,c){fxb(b,a,c);gxb(b,ez(new hw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
+function x7b(){return 'images/ruleflow_large.png';}
+function y7b(){return 'decision-Table-upload';}
+function u7b(){}
+_=u7b.prototype=new xwb();_.vb=x7b;_.Eb=y7b;_.tN=Efc+'RuleFlowUploadWidget';_.tI=550;function m8b(c,b,a){c.a=a;c.b=hab(new fab());uN(c.b,'asset-editor-Layout');kab(c.b,0,0,b);if(!a.c)kab(c.b,1,0,s8b(c));Bw(c.b.n,1,0,(oz(),rz),(xz(),Az));c.b.Be('100%');c.b.qe('100%');gr(c,c.b);return c;}
+function o8b(a){fdb('Validating item, please wait...');aTb(BLb(),a.a,d8b(new c8b(),a));}
+function p8b(a){fdb('Calculating source...');FSb(BLb(),a.a,i8b(new h8b(),a));}
+function q8b(h,e){var a,b,c,d,f,g;c=acb(new Bbb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){ccb(c,ez(new hw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=lt(new ft());uN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ze(f,0,eB(new oA(),'images/error.gif'));if(nU(d.a,'package')){yy(a,f,1,'[package configuration problem] '+d.c);}else{yy(a,f,1,d.c);}}g=oG(new mG(),a);g.Be('100%');ccb(c,g);}lE(c,100,100);oE(c);bdb();}
+function r8b(b,a){eBb(a,b.a.d.n);bdb();}
+function s8b(b){var a,c,d;a=Fz(new Dz());d=qp(new kp(),'View source');aA(a,d);c=qp(new kp(),'Validate');aA(a,c);d.x(B7b(new A7b(),b));c.x(F7b(new E7b(),b));uN(a,'asset-validator-Buttons');return a;}
+function t8b(){return jab(this.b);}
+function z7b(){}
+_=z7b.prototype=new E_();_.pc=t8b;_.tN=Efc+'RuleValidatorWrapper';_.tI=551;_.a=null;_.b=null;function B7b(b,a){b.a=a;return b;}
+function D7b(a){p8b(this.a);}
+function A7b(){}
+_=A7b.prototype=new uT();_.zc=D7b;_.tN=Efc+'RuleValidatorWrapper$1';_.tI=552;function F7b(b,a){b.a=a;return b;}
+function b8b(a){o8b(this.a);}
+function E7b(){}
+_=E7b.prototype=new uT();_.zc=b8b;_.tN=Efc+'RuleValidatorWrapper$2';_.tI=553;function d8b(b,a){b.a=a;return b;}
+function f8b(c,a){var b;b=Fb(a,88);q8b(c.a,b);}
+function g8b(a){f8b(this,a);}
+function c8b(){}
+_=c8b.prototype=new ecb();_.pd=g8b;_.tN=Efc+'RuleValidatorWrapper$3';_.tI=554;function i8b(b,a){b.a=a;return b;}
+function k8b(c,a){var b;b=Fb(a,1);r8b(c.a,b);}
+function l8b(a){k8b(this,a);}
+function h8b(){}
+_=h8b.prototype=new ecb();_.pd=l8b;_.tN=Efc+'RuleValidatorWrapper$4';_.tI=555;function m$b(c,a,b){c.a=a;c.g=b;c.e=hab(new fab());s$b(c);gr(c,c.e);bdb();return c;}
+function o$b(a){a.a.a=true;p$b(a);j4b(a.b);}
+function p$b(a){by(a.e);fdb('Saving, please wait...');fTb(BLb(),a.a,f$b(new e$b(),a));}
+function q$b(e){var a,b,c,d;d=acb(new Bbb(),'images/warning-large.png','WARNING: Un-committed changes.');b=qp(new kp(),'Discard');a=qp(new kp(),'Cancel');c=Fz(new Dz());aA(c,b);aA(c,a);ccb(d,ez(new hw(),'Are you sure you want to discard changes?'));ccb(d,c);b.x(B8b(new A8b(),e,d));a.x(F8b(new E8b(),e,d));uN(d,'warning-Popup');lE(d,dc((cab()-gE(d))/2),100);oE(d);}
+function r$b(a){pTb(BLb(),a.a.e,a.a.d.o,a$b(new F9b(),a));}
+function s$b(b){var a;by(b.e);a=ot(b.e);b.h=p0b(new aZb(),b.a,c9b(new v8b(),b),h9b(new g9b(),b),m9b(new l9b(),b),r9b(new q9b(),b),b.g);kab(b.e,0,0,b.h);Bw(a,0,0,(oz(),rz),(xz(),Az));b.f=j6b(new v4b(),b.a.d,b.g,b.a.e,w9b(new v9b(),b));kab(b.e,0,1,b.f);kt(a,0,1,3);Fw(a,0,1,(xz(),Az));bx(a,0,1,'30%');b.d=o4b(b.a,b);v0b(b.h,B9b(new A9b(),b));kab(b.e,1,0,b.d);Fw(a,1,0,(xz(),Az));b.c=r7b(new m7b(),b.a.d);kab(b.e,2,0,b.c);Fw(a,2,0,(xz(),Az));}
+function t$b(a){if(c_(a.a.d.k)){fdb('Refreshing content assistance...');tKb((pKb(),uKb),a.a.d.o,new j$b());}}
+function u$b(a){yTb(BLb(),a.a.e,x8b(new w8b(),a));}
+function v$b(b,a){b.b=a;}
+function w$b(a){var b;b= !zw(ot(a.e),2,0);ax(ot(a.e),0,1,b);ax(ot(a.e),2,0,b);}
+function u8b(){}
+_=u8b.prototype=new er();_.tN=Efc+'RuleViewer';_.tI=556;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function c9b(b,a){b.a=a;return b;}
+function e9b(a){p$b(a.a);}
+function f9b(){e9b(this);}
+function v8b(){}
+_=v8b.prototype=new uT();_.pb=f9b;_.tN=Efc+'RuleViewer$1';_.tI=557;function x8b(b,a){b.a=a;return b;}
+function z8b(a){this.a.a=Fb(a,97);s$b(this.a);bdb();}
+function w8b(){}
+_=w8b.prototype=new ecb();_.pd=z8b;_.tN=Efc+'RuleViewer$10';_.tI=558;function B8b(b,a,c){b.a=a;b.b=c;return b;}
+function D8b(a){j4b(this.a.b);this.b.lc();}
+function A8b(){}
+_=A8b.prototype=new uT();_.zc=D8b;_.tN=Efc+'RuleViewer$11';_.tI=559;function F8b(b,a,c){b.a=c;return b;}
+function b9b(a){this.a.lc();}
+function E8b(){}
+_=E8b.prototype=new uT();_.zc=b9b;_.tN=Efc+'RuleViewer$12';_.tI=560;function h9b(b,a){b.a=a;return b;}
+function j9b(a){o$b(a.a);}
+function k9b(){j9b(this);}
+function g9b(){}
+_=g9b.prototype=new uT();_.pb=k9b;_.tN=Efc+'RuleViewer$2';_.tI=561;function m9b(b,a){b.a=a;return b;}
+function o9b(a){w$b(a.a);}
+function p9b(){o9b(this);}
+function l9b(){}
+_=l9b.prototype=new uT();_.pb=p9b;_.tN=Efc+'RuleViewer$3';_.tI=562;function r9b(b,a){b.a=a;return b;}
+function t9b(a){r$b(a.a);}
+function u9b(){t9b(this);}
+function q9b(){}
+_=q9b.prototype=new uT();_.pb=u9b;_.tN=Efc+'RuleViewer$4';_.tI=563;function w9b(b,a){b.a=a;return b;}
+function y9b(a){u$b(a.a);}
+function z9b(){y9b(this);}
+function v9b(){}
+_=v9b.prototype=new uT();_.pb=z9b;_.tN=Efc+'RuleViewer$5';_.tI=564;function B9b(b,a){b.a=a;return b;}
+function D9b(a){if(jab(a.a.e)){q$b(a.a);}else{j4b(a.a.b);}}
+function E9b(){D9b(this);}
+function A9b(){}
+_=A9b.prototype=new uT();_.pb=E9b;_.tN=Efc+'RuleViewer$6';_.tI=565;function a$b(b,a){b.a=a;return b;}
+function c$b(b,a){j4b(b.a.b);}
+function d$b(a){c$b(this,a);}
+function F9b(){}
+_=F9b.prototype=new ecb();_.pd=d$b;_.tN=Efc+'RuleViewer$7';_.tI=566;function f$b(b,a){b.a=a;return b;}
+function h$b(b,a){var c;t$b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){bab(Fb(b.a.d,98));}bab(b.a.f);bab(b.a.c);if(c===null){gbb('Failed to check in the item. Please contact your system administrator.');return;}u$b(b.a);}
+function i$b(a){h$b(this,a);}
+function e$b(){}
+_=e$b.prototype=new ecb();_.pd=i$b;_.tN=Efc+'RuleViewer$8';_.tI=567;function l$b(){bdb();}
+function j$b(){}
+_=j$b.prototype=new uT();_.pb=l$b;_.tN=Efc+'RuleViewer$9';_.tI=568;function q_b(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=Fz(new Dz());d.a=lt(new ft());d.a.ze(0,0,CB(new AB(),'Version history'));Ew(d.a.n,0,0,'metadata-Widget');b=ot(d.a);Dw(b,0,0,(oz(),qz));d.c=lcb(new kcb(),'images/refresh.gif');fB(d.c,z$b(new y$b(),d));d.a.ze(0,1,d.c);Dw(b,0,1,(oz(),rz));uN(f,'version-browser-Border');aA(f,d.a);d.a.Be('100%');f.Be('100%');gr(d,f);return d;}
+function r_b(a){v_b(a);fg(D$b(new C$b(),a));}
+function t_b(b,a){return k_b(new j_b(),b,a);}
+function u_b(a){vTb(BLb(),a.e,b_b(new a_b(),a));}
+function v_b(a){jB(a.c,'images/searching.gif');}
+function w_b(a){jB(a.c,'images/refresh.gif');}
+function x_b(b,a){var c;c=oac(new y_b(),b.b,a,b.e,b.d);lE(c,100,100);oE(c);}
+function x$b(){}
+_=x$b.prototype=new er();_.tN=Efc+'VersionBrowser';_.tI=569;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function z$b(b,a){b.a=a;return b;}
+function B$b(a){r_b(this.a);}
+function y$b(){}
+_=y$b.prototype=new uT();_.zc=B$b;_.tN=Efc+'VersionBrowser$1';_.tI=570;function D$b(b,a){b.a=a;return b;}
+function F$b(){u_b(this.a);}
+function C$b(){}
+_=C$b.prototype=new uT();_.pb=F$b;_.tN=Efc+'VersionBrowser$2';_.tI=571;function b_b(b,a){b.a=a;return b;}
+function d_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ze(1,0,CB(new AB(),'No history.'));w_b(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',605,1,['Version number','Comment','Date Modified','Status']);d=t_b(i.a,f);h=bfc(d,c,0,false);h.Be('100%');i.a.a.ze(1,0,h);b=ot(i.a.a);jt(b,1,0,2);e=qp(new kp(),'View selected version');e.x(g_b(new f_b(),i,h));i.a.a.ze(2,1,e);jt(b,2,1,3);Dw(b,2,1,(oz(),pz));w_b(i.a);}
+function e_b(a){d_b(this,a);}
+function a_b(){}
+_=a_b.prototype=new ecb();_.pd=e_b;_.tN=Efc+'VersionBrowser$3';_.tI=572;function g_b(b,a,c){b.a=a;b.b=c;return b;}
+function i_b(a){if(this.b.f==0)return;x_b(this.a.a,uec(this.b));}
+function f_b(){}
+_=f_b.prototype=new uT();_.zc=i_b;_.tN=Efc+'VersionBrowser$4';_.tI=573;function k_b(b,a,c){b.a=c;return b;}
+function m_b(){return this.a.a;}
+function n_b(a){return this.a[a].b;}
+function o_b(b,a){return this.a[b].c[a];}
+function p_b(b,a){return null;}
+function j_b(){}
+_=j_b.prototype=new uT();_.Ab=m_b;_.ac=n_b;_.fc=o_b;_.gc=p_b;_.tN=Efc+'VersionBrowser$5';_.tI=574;function pac(){pac=s2;zr();}
+function oac(d,a,e,b,c){pac();xr(d,false);d.c=e;d.a=b;d.b=c;uN(d,'version-Popup');fdb('Loading version');yTb(BLb(),e,A_b(new z_b(),d,a));return d;}
+function qac(b,c){var a;a=C1b(new x1b(),lN(c)+10,mN(c)+10,'Restore this version?');F1b(a,gac(new fac(),b,a));a2b(a);}
+function y_b(){}
+_=y_b.prototype=new ur();_.tN=Efc+'VersionViewer';_.tI=575;_.a=null;_.b=null;_.c=null;function A_b(b,a,c){b.a=a;b.b=c;return b;}
+function C_b(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;Br(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=lt(new ft());d=ot(e);f=qp(new kp(),'Restore this version');f.x(E_b(new D_b(),this));e.ze(0,0,f);Dw(d,0,0,(oz(),qz));b=qp(new kp(),'Close');b.x(cac(new bac(),this));e.ze(0,1,b);Dw(d,0,1,(oz(),rz));g=m$b(new u8b(),a,true);g.Be('100%');e.ze(1,0,g);jt(d,1,1,2);e.Be('100%');sN(e,800,300);Cr(this.a,e);}
+function z_b(){}
+_=z_b.prototype=new ecb();_.pd=C_b;_.tN=Efc+'VersionViewer$1';_.tI=576;function E_b(b,a){b.a=a;return b;}
+function aac(a){qac(this.a.a,a);}
+function D_b(){}
+_=D_b.prototype=new uT();_.zc=aac;_.tN=Efc+'VersionViewer$2';_.tI=577;function cac(b,a){b.a=a;return b;}
+function eac(a){this.a.a.lc();}
+function bac(){}
+_=bac.prototype=new uT();_.zc=eac;_.tN=Efc+'VersionViewer$3';_.tI=578;function gac(b,a,c){b.a=a;b.b=c;return b;}
+function iac(){cUb(BLb(),this.a.c,this.a.a,E1b(this.b),kac(new jac(),this));}
+function fac(){}
+_=fac.prototype=new uT();_.pb=iac;_.tN=Efc+'VersionViewer$4';_.tI=579;function kac(b,a){b.a=a;return b;}
+function mac(b,a){b.a.a.lc();y9b(b.a.a.b);}
+function nac(a){mac(this,a);}
+function jac(){}
+_=jac.prototype=new ecb();_.pd=nac;_.tN=Efc+'VersionViewer$5';_.tI=580;function ubc(a){a.b=(CY(),DY);}
+function vbc(a){ubc(a);a.c=sJ(new eJ());a.c.Be('100%');a.c.qe('100%');tJ(a.c,xbc(a),"<img src='images/explore.gif'/>Explore",true);zJ(a.c,0);gr(a,a.c);return a;}
+function xbc(i){var a,b,c,d,e,f,g,h;h=lt(new ft());i.a=ycc(new Cbc(),tac(new sac(),i),'rulelist');b=ot(h);d=s$(new b$(),xac(new wac(),i,h));f=Cdc(new bdc(),Bac(new Aac(),i));h.ze(0,1,f);Bw(b,0,0,(oz(),qz),(xz(),Az));Bw(b,0,1,(oz(),qz),(xz(),Az));bx(b,0,0,'30%');bx(b,0,1,'70%');e=qp(new kp(),'Create new rule');e.te('Create new rule');e.x(abc(new Fac(),i));g=lcb(new kcb(),'images/system_search_small.png');g.te('Show the rule finder.');fB(g,ebc(new dbc(),i,h,f));a=Fz(new Dz());aA(a,e);aA(a,g);uN(a,'new-asset-Icons');c=hO(new fO());iO(c,a);iO(c,d);c.Be('100%');h.ze(0,0,c);return h;}
+function ybc(c,a,b){return ibc(new hbc(),c,b,a);}
+function zbc(b,a){b.b=a;}
+function Abc(a,b){r4b(a.b,a.c,b,false);}
+function Bbc(c){var a,b,d;a=70;d=100;b=e7b(new v6b(),rbc(new qbc(),c),true,null,'Create a new rule');lE(b,a,d);oE(b);}
+function rac(){}
+_=rac.prototype=new er();_.tN=Ffc+'AssetBrowser';_.tI=581;_.a=null;_.c=null;function tac(b,a){b.a=a;return b;}
+function vac(a){Abc(this.a,a);}
+function sac(){}
+_=sac.prototype=new uT();_.wd=vac;_.tN=Ffc+'AssetBrowser$1';_.tI=582;function xac(b,a,c){b.a=a;b.b=c;return b;}
+function zac(b){var a;a=ybc(this.a,this.a.a,b);this.b.ze(0,1,this.a.a);fdb('Retrieving list, please wait...');fg(a);Ecc(this.a.a,a);}
+function wac(){}
+_=wac.prototype=new uT();_.he=zac;_.tN=Ffc+'AssetBrowser$2';_.tI=583;function Bac(b,a){b.a=a;return b;}
+function Dac(b,a){Abc(b.a,a);}
+function Eac(a){Dac(this,a);}
+function Aac(){}
+_=Aac.prototype=new uT();_.wd=Eac;_.tN=Ffc+'AssetBrowser$3';_.tI=584;function abc(b,a){b.a=a;return b;}
+function cbc(a){Bbc(this.a);}
+function Fac(){}
+_=Fac.prototype=new uT();_.zc=cbc;_.tN=Ffc+'AssetBrowser$4';_.tI=585;function ebc(b,a,d,c){b.b=d;b.a=c;return b;}
+function gbc(a){this.b.ze(0,1,this.a);}
+function dbc(){}
+_=dbc.prototype=new uT();_.zc=gbc;_.tN=Ffc+'AssetBrowser$5';_.tI=586;function ibc(b,a,d,c){b.b=d;b.a=c;return b;}
+function kbc(){fdb('Loading list, please wait...');zTb(BLb(),this.b,mbc(new lbc(),this,this.a));}
+function hbc(){}
+_=hbc.prototype=new uT();_.pb=kbc;_.tN=Ffc+'AssetBrowser$6';_.tI=587;function mbc(b,a,c){b.a=c;return b;}
+function obc(c,a){var b;b=Fb(a,62);Dcc(c.a,b);bdb();}
+function pbc(a){obc(this,a);}
+function lbc(){}
+_=lbc.prototype=new ecb();_.pd=pbc;_.tN=Ffc+'AssetBrowser$7';_.tI=588;function rbc(b,a){b.a=a;return b;}
+function tbc(a){Abc(this.a,a);}
+function qbc(){}
+_=qbc.prototype=new uT();_.wd=tbc;_.tN=Ffc+'AssetBrowser$8';_.tI=589;function zcc(){zcc=s2;Fcc=BLb();}
+function xcc(a){a.c=lt(new ft());a.e=lcb(new kcb(),'images/refresh.gif');a.a=BB(new AB());}
+function ycc(c,a,b){zcc();xcc(c);Bcc(c);Ccc(c,b);c.e.ye(false);c.b=a;c.e.te('Refresh current list. Will show any changes.');fB(c.e,Ebc(new Dbc(),c));return c;}
+function Acc(a){return zYb(uec(a.f));}
+function Bcc(c){var a,b;a=ot(c.c);c.c.Be('100%');Bw(a,0,0,(oz(),qz),(xz(),Az));b=lcb(new kcb(),'images/open_item.gif');fB(b,hcc(new gcc(),c));b.te('Open item');c.c.ze(0,1,b);Bw(a,0,1,(oz(),rz),(xz(),Az));gr(c,c.c);}
+function Ccc(b,a){BTb(Fcc,a,ccc(new bcc(),b));}
+function Dcc(g,a){var b,c,d,e,f;b=ot(g.c);g.c.ze(1,0,null);if(a===null||a.a.a==0){d=new kcc();g.f=bfc(d,g.g.a,25,true);g.a.ye(false);}else{f=a.a;c=rcc(new qcc(),g,f);g.f=bfc(c,g.g.a,25,true);e=Fz(new Dz());aA(e,g.e);g.a.ye(true);bC(g.a,'  '+a.a.a+' items.');aA(e,g.a);g.c.ze(0,0,e);}g.f.Be('100%');g.c.ze(1,0,g.f);jt(b,1,0,2);}
+function Ecc(b,a){b.d=a;b.e.ye(true);}
+function Cbc(){}
+_=Cbc.prototype=new er();_.tN=Ffc+'AssetItemListViewer';_.tI=590;_.b=null;_.d=null;_.f=null;_.g=null;var Fcc;function Ebc(b,a){b.a=a;return b;}
+function acc(a){fdb('Refreshing list, please wait...');this.a.d.pb();}
+function Dbc(){}
+_=Dbc.prototype=new uT();_.zc=acc;_.tN=Ffc+'AssetItemListViewer$1';_.tI=591;function ccc(b,a){b.a=a;return b;}
+function ecc(b,a){b.a.g=Fb(a,99);Dcc(b.a,null);}
+function fcc(a){ecc(this,a);}
+function bcc(){}
+_=bcc.prototype=new ecb();_.pd=fcc;_.tN=Ffc+'AssetItemListViewer$2';_.tI=592;function hcc(b,a){b.a=a;return b;}
+function jcc(a){fdb('Loading item, please wait ...');this.a.b.wd(zYb(uec(this.a.f)));}
+function gcc(){}
+_=gcc.prototype=new uT();_.zc=jcc;_.tN=Ffc+'AssetItemListViewer$3';_.tI=593;function mcc(){return 0;}
+function ncc(a){return '';}
+function occ(b,a){return '';}
+function pcc(b,a){return null;}
+function kcc(){}
+_=kcc.prototype=new uT();_.Ab=mcc;_.ac=ncc;_.fc=occ;_.gc=pcc;_.tN=Ffc+'AssetItemListViewer$4';_.tI=594;function rcc(b,a,c){b.a=a;b.b=c;return b;}
+function tcc(){return this.b.a;}
+function ucc(a){return this.b[a].b;}
+function vcc(b,a){return this.b[b].c[a];}
+function wcc(b,a){if(nU(this.a.g.a[a],'*')){return eB(new oA(),'images/'+n4b(this.b[b].a));}else{return null;}}
+function qcc(){}
+_=qcc.prototype=new uT();_.Ab=tcc;_.ac=ucc;_.fc=vcc;_.gc=wcc;_.tN=Ffc+'AssetItemListViewer$5';_.tI=595;function Cdc(d,a){var b,c;d.c=rbb(new obb(),'images/system_search.png','');d.e=n_(new d_(),ddc(new cdc(),d));uN(d.e,'gwt-TextBox');d.b=a;c=Fz(new Dz());b=qp(new kp(),'Go');b.x(hdc(new gdc(),d));aA(c,d.e);aA(c,b);d.a=cq(new Fp(),'Include archived items in list');uN(d.a,'small-Text');gq(d.a,false);sbb(d.c,'Find items with a name matching:',c);vbb(d.c,d.a);vbb(d.c,ez(new hw(),'<hr/>'));d.d=lt(new ft());d.d.ze(0,0,ez(new hw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));vbb(d.c,d.d);uN(d.d,'editable-Surface');oK(d.e,Edc(d));uN(d.c,'quick-find');gr(d,d.c);return d;}
+function Edc(a){return pdc(new odc(),a);}
+function Fdc(c,a,b){CTb(BLb(),a,5,fq(c.a),ldc(new kdc(),c,b));}
+function aec(f,d){var a,b,c,e;a=lt(new ft());if(d.a.a==1){Dac(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(nU(e.b,'MORE')){a.ze(b,0,ez(new hw(),'<i>There are more items... try narrowing the search terms..<\/i>'));jt(ot(a),b,0,3);}else{a.ze(b,0,CB(new AB(),e.c[0]));a.ze(b,1,CB(new AB(),e.c[1]));c=qp(new kp(),'Open');c.x(zdc(new ydc(),f,e));a.ze(b,2,c);}}a.Be('100%');f.d.ze(0,0,a);bdb();}
+function bec(a){fdb('Searching...');CTb(BLb(),rK(a.e),15,fq(a.a),vdc(new udc(),a));}
+function bdc(){}
+_=bdc.prototype=new er();_.tN=Ffc+'QuickFindWidget';_.tI=596;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function ddc(b,a){b.a=a;return b;}
+function fdc(c,b,a){Fdc(c.a,b,a);}
+function cdc(){}
+_=cdc.prototype=new uT();_.tN=Ffc+'QuickFindWidget$1';_.tI=597;function hdc(b,a){b.a=a;return b;}
+function jdc(a){bec(this.a);}
+function gdc(){}
+_=gdc.prototype=new uT();_.zc=jdc;_.tN=Ffc+'QuickFindWidget$2';_.tI=598;function ldc(b,a,c){b.a=c;return b;}
+function ndc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[605],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!nU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}l_(this.a,c);}
+function kdc(){}
+_=kdc.prototype=new ecb();_.pd=ndc;_.tN=Ffc+'QuickFindWidget$3';_.tI=599;function pdc(b,a){b.a=a;return b;}
+function rdc(a,b,c){}
+function sdc(a,b,c){}
+function tdc(a,b,c){if(b==13){bec(this.a);}}
+function odc(){}
+_=odc.prototype=new uT();_.cd=rdc;_.dd=sdc;_.ed=tdc;_.tN=Ffc+'QuickFindWidget$4';_.tI=600;function vdc(b,a){b.a=a;return b;}
+function xdc(a){var b;b=Fb(a,62);aec(this.a,b);}
+function udc(){}
+_=udc.prototype=new ecb();_.pd=xdc;_.tN=Ffc+'QuickFindWidget$5';_.tI=601;function zdc(b,a,c){b.a=a;b.b=c;return b;}
+function Bdc(a){Dac(this.a.b,this.b.b);}
+function ydc(){}
+_=ydc.prototype=new uT();_.zc=Bdc;_.tN=Ffc+'QuickFindWidget$6';_.tI=602;function eec(a){a.a=CX(new AX());}
+function fec(a){eec(a);return a;}
+function gec(b,a,c){if(a>=b.a.b){hec(b,a);}jY(b.a,a,c);}
+function hec(c,a){var b;for(b=c.a.b;b<=a;b++){EX(c.a,null);}}
+function jec(b,a){return dY(b.a,a);}
+function kec(b,a){b.b=a;}
+function lec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(jec(this,this.b),34);b=Fb(jec(d,this.b),34);return a.bb(b);}
+function dec(){}
+_=dec.prototype=new uT();_.bb=lec;_.tN=agc+'RowData';_.tI=603;_.b=0;function nec(a){a.j=CX(new AX());a.i=CX(new AX());}
+function oec(c,b,a){Av(c,b+1,a);nec(c);Dx(c,c);uN(c,efc);return c;}
+function pec(c,b,a){if(b!=0){return;}Bec(c,a);Dec(c,a);tec(c);}
+function rec(e){var a,b,c,d,f;if(e.h==Fec||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(dY(e.j,c),100);for(a=0;a<b.a.b;a++){f=jec(b,a);xec(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(dY(e.j,c),100);for(a=0;a<b.a.b;a++){f=jec(b,a);xec(e,d,a,f.tS());}}}}
+function sec(d){var a,b,c;c=0;for(b=d.i.qc();b.kc();){a=Fb(b.sc(),1);vec(d,a,c++);}}
+function tec(a){sec(a);rec(a);}
+function uec(a){return iy(a,a.f,a.e);}
+function vec(d,c,b){var a;a=FT(new ET());bU(a,c);bU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==Fec){bU(a,"'"+d.a+"' alt='Ascending' ");}else{bU(a,"'"+d.c+"' alt='Descending' ");}}else{bU(a,"'"+d.b+"'");}bU(a,'/>');wy(d,0,b,fU(a));lx(d.p,0,ffc);}
+function wec(c,b,a){if(b%2==0){Ew(c.n,b,a,dfc);}}
+function xec(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ze(b,a,eB(new oA(),'images/'+n4b(d)));else yy(c,b,a,d);}}
+function yec(c,b,a){DX(c.i,a,b);vec(c,b,a);}
+function zec(b,a){b.d=a;}
+function Aec(b,a){b.e=a;ax(b.n,0,a,false);}
+function Bec(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(dY(d.j,b),100);kec(a,c);}}
+function Cec(d,b,a,e,f){var c;if(b==0)return;wec(d,b,a);if(b-1>=d.j.b||null===dY(d.j,b-1)){DX(d.j,b-1,fec(new dec()));}c=Fb(dY(d.j,b-1),100);gec(c,a,e);if(f===null){yy(d,b,a,''+e+'');}else{d.ze(b,a,f);}if(a==d.e){ax(d.n,b,a,false);}}
+function Dec(b,a){FY(b.j);if(b.g!=a){b.h=Fec;}else{b.h=b.h==Fec?afc:Fec;}b.g=a;}
+function Eec(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){Ew(a,c,b,gfc);if(d.f%2==0&&d.f!=0){Ew(a,d.f,b,dfc);}else{Aw(a,d.f,b,gfc);}}d.f=c;}}
+function bfc(a,d,b,c){var e,f,g;g=null;if(b>a.Ab()){g=oec(new mec(),b,d.a+1);Cec(g,1,1,'',null);}else{g=oec(new mec(),a.Ab()+1,d.a+1);}yec(g,'',0);for(e=0;e<d.a;e++){yec(g,d[e],e+1);}Aec(g,0);for(e=0;e<a.Ab();e++){Cec(g,e+1,0,a.ac(e),null);for(f=0;f<d.a;f++){Cec(g,e+1,f+1,a.fc(e,f),a.gc(e,f));}}zec(g,c);return g;}
+function cfc(c,b,a){if(b<=this.j.b){Eec(this,b);pec(this,b,a);}}
+function mec(){}
+_=mec.prototype=new yv();_.xc=cfc;_.tN=agc+'SortableTable';_.tI=604;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var Fec=0,afc=1,dfc='rule-ListEvenRow',efc='rule-List',ffc='rule-ListHeader',gfc='rule-SelectedRow';function oR(){E3(A3(new p3()));}
+function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{oR();}catch(a){b(d);}else{oR();}}
+var gc=[{},{11:1},{1:1,11:1,34:1,35:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{2:1,11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1},{8:1,11:1},{8:1,11:1},{8:1,11:1},{11:1},{2:1,6:1,11:1},{2:1,11:1},{9:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1},{3:1,11:1},{3:1,11:1,39:1},{3:1,11:1,92:1},{3:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,36:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,49:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1,33:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,43:1},{11:1,49:1,56:1},{11:1,!
 49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,81:1},{11:1,13:1,36:1,37:1,81:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,46:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,49:1,56:1},{11:1,39:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,49:1},{11:1},{11:1,13:1,36:1,37:1,87:1},{11:1,13:1,36:1,37:1,48:1,54:1},{9:1,11:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,39:1},{11:1,39:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,50:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,80:1},{11:1,13:1,36:1,37:1,54:1},{11:1,36:1,52:1},{11:1,36:1,52:1},{11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11!
 :1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1,55:1},{
3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{11:1,35:1},{3:1,11:1},{11:1},{11:1,57:1},{11:1,49:1,58:1},{11:1,49:1,58:1},{11:1},{11:1,49:1},{11:1},{11:1},{11:1,34:1,59:1},{11:1,57:1},{11:1,60:1},{11:1,49:1,58:1},{11:1},{11:1,49:1,58:1},{3:1,11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{7:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{8:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1},{11!
 :1,13:1,36:1,37:1,53:1},{11:1,42:1},{11:1},{11:1},{11:1,36:1,52:1,64:1},{11:1,13:1,36:1,37:1,46:1,80:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,13:1,36:1,37:1,81:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,65:1},{11:1,13:1,36:1,37:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,38:1,39:1,91:1},{11:1,20:1,22:1,38:1,39:1},{11:1,23:1,38:1,39:1},{11:1,20:1,22:1,24:1,38:1,39:1},{11:1,20:1,22:1,!
 24:1,25:1,38:1,39:1},{11:1,20:1,26:1,38:1,39:1},{11:1,20:1,22:1,27:1,3
8:1,39:1},{11:1,20:1,22:1,27:1,28:1,38:1,39:1},{11:1,19:1,29:1,38:1,39:1},{11:1,21:1,30:1,38:1,39:1},{11:1,38:1,39:1,40:1},{11:1,15:1,38:1,39:1,40:1},{10:1,11:1,19:1,20:1,38:1,39:1},{11:1,19:1,31:1,38:1,39:1},{11:1,18:1,38:1,39:1},{11:1,38:1,39:1,83:1},{11:1,21:1,32:1,38:1,39:1,40:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,84:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,41:1},{4:1,11:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,46:1},{11:1,41:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,82:1,98:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},!
 {11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,46:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{4!
 :1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{
11:1},{11:1,13:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1},{4:1,11:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1,53:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,90:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,42:1},{11:1,53:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1},{11:1,12:1,39:1},{3:1,11:1,39:1,70:1},{11:1,39:1,93:1},{11:1,16:1,39:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,39:1,97:1},{11:1,39:1,95:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1,69:1},{11:1,17:1,39:1},{11:1,39:1,99:1},{11:1,39:1,62:1},{11:1,14:1,39:1},{11:1,39:1!
 ,89:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,44:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1},{11:1,41:1},{11:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{4:1,11:1},{4:1,11:1},!
 {4:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},
{4:1,11:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{11:1,46:1},{11:1},{11:1,42:1},{11:1,34:1,100:1},{11:1,13:1,36:1,37:1,51:1,54:1},{11:1,63:1},{11:1},{11:1,72:1,77:1,78:1},{11:1},{11:1,88:1},{11:1},{11:1},{11:1,94:1},{11:1,79:1},{11:1,71:1},{11:1,86:1},{11:1,76:1},{11:1,77:1},{11:1,78:1},{11:1,75:1},{11:1,78:1},{11:1,73:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,77:1},{11:1,75:1},{11:1,74:1,77:1},{11:1,75:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1}];if (org_drools_brms_JBRMS) {  var __gwt_initHandlers = org_drools_brms_JBRMS.__gwt_initHandlers;  org_drools_brms_JBRMS.onScriptLoad(gwtOnLoad);}})();
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/A192742E06DC73E766CB5CF804D17D35.cache.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cache-entry>
+	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_TypeSerializer" hash="619B51D664C2EA16C242AAF2AF6BA7E6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableDataResult_FieldSerializer" hash="BFC3EC8D02BADBA251CA3B7A7F85C809"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.DSLSentence_FieldSerializer" hash="35AB7D23CC662D4F726060AA9938F6C6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.BuilderResult_FieldSerializer" hash="31FA4ADBFB94FFD9001BA8C2A4417504"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleAttribute_FieldSerializer" hash="7BF092FF4AE3E8CB784A96421E7BC6B4"/>
+	<generated-type-hash class="com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException_FieldSerializer" hash="FF198044879E67E1ACF2E0C29CC58CB5"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.MultiWordSuggestOracle_MultiWordSuggestion_FieldSerializer" hash="1721A875793F79F044BA9AEC6543C8A2"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.TreeImages_generatedBundle" hash="C4DB9D53C840859028C6F483DB58A75C"/>
+	<generated-type-hash class="com.google.gwt.user.client.rpc.SerializableException_FieldSerializer" hash="1CB9B63ABEC9BE7E663F6C56AA395208"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Request_FieldSerializer" hash="93219A0D78603408F1E24CE444809ADE"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableConfig_FieldSerializer" hash="68BF54922D06AC518871EB9FEFD7D68E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionRetractFact_FieldSerializer" hash="3ABE2631C28ACB7B3C1358BD27C80255"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SnapshotInfo_FieldSerializer" hash="995C2E7AEC07438074706D40B4864FF5"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertFact_FieldSerializer" hash="B3DA8CF19248044B9B347AFEE8AAC7F7"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.ValidatedResponse_FieldSerializer" hash="15269178DE71D238F26587B3095E7A9A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint_FieldSerializer" hash="8606C355A0F17A64941EB10EFAB41036"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionSetField_FieldSerializer" hash="7F0BA1987E3FB650C44049758B209A0E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint_FieldSerializer" hash="F30861DCB878C093201710AE55E3EF52"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFactPattern_FieldSerializer" hash="85DD7A29F613D6A493314730060FF12A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldValue_FieldSerializer" hash="C12B27B0B8651B5CCA2358C044C74DD1"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.DetailedSerializableException_FieldSerializer" hash="CE21C342ABA475456EAAE97B0AE44393"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.MetaData_FieldSerializer" hash="C7F537CFDF5A4E02C318B4614CEC20EA"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact_FieldSerializer" hash="8646F66FFEBDCE52535B8FBA9AE37830"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.SuggestionCompletionEngine_FieldSerializer" hash="1BED05A61D2EFBC600410686A3304B3E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.SingleFieldConstraint_FieldSerializer" hash="C2DB414BB43FE22A8E8CDBA910564AA6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RuleAsset_FieldSerializer" hash="7D9F400F79A33BD99A5721E52B6EDBA7"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.PackageConfigData_FieldSerializer" hash="1C8237E912FA51556E3496683D32C8B5"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Response_FieldSerializer" hash="1C6D42E0AC1FE9CDD63B791E11BD9615"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.FactPattern_FieldSerializer" hash="5535A6C88015EE51C5F4FA808DFAA8ED"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SessionExpiredException_FieldSerializer" hash="0A173F0D6310FDB17BD90CBB1948DC75"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_Proxy" hash="EE514DB88A5F377A761E4D0AAB187640"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableDataRow_FieldSerializer" hash="411D058D97408AAE2C3EBA1620048463"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldList_FieldSerializer" hash="73DAB0917FEA7A2E484F4B12C200C868"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_TypeSerializer" hash="8DCA6439D096072B75D6701D8B54A1DA"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionUpdateField_FieldSerializer" hash="53DAC10B208EAD97D6542560F2C8BAAD"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RuleContentText_FieldSerializer" hash="9F5834F874613140D0BDEC4056C49928"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_Proxy" hash="0549B5DD064B695F228AA7312765E9C0"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleModel_FieldSerializer" hash="2A44CFABD8B63D33EFAA2FF86226638A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ConnectiveConstraint_FieldSerializer" hash="BF0E8BCBA71D0333FD6536A3B7B09370"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.TextBoxImpl" out="com.google.gwt.user.client.ui.impl.TextBoxImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.ListBox.Impl" out="com.google.gwt.user.client.ui.ListBox.Impl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.FocusImpl" out="com.google.gwt.user.client.ui.impl.FocusImplOld"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.ClippedImageImpl" out="com.google.gwt.user.client.ui.impl.ClippedImageImpl"/>
+	<rebind-decision in="org.drools.brms.client.JBRMSEntryPoint" out="org.drools.brms.client.JBRMSEntryPoint"/>
+	<rebind-decision in="org.drools.brms.client.rpc.RepositoryService" out="org.drools.brms.client.rpc.RepositoryService_Proxy"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.HistoryImpl" out="com.google.gwt.user.client.impl.HistoryImplStandard"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.DOMImpl" out="com.google.gwt.user.client.impl.DOMImplOpera"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.PopupImpl" out="com.google.gwt.user.client.ui.impl.PopupImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.TreeImages" out="com.google.gwt.user.client.ui.TreeImages_generatedBundle"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.FormPanelImpl" out="com.google.gwt.user.client.ui.impl.FormPanelImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.HTTPRequestImpl" out="com.google.gwt.user.client.impl.HTTPRequestImpl"/>
+	<rebind-decision in="org.drools.brms.client.rpc.SecurityService" out="org.drools.brms.client.rpc.SecurityService_Proxy"/>
+</cache-entry>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.html (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.html)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.html	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.html	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3441 @@
+<html><head><script>var $wnd = parent;var $doc = $wnd.document;var $moduleName, $moduleBase;</script></head><body><script><!--
+var _,kgc='com.google.gwt.core.client.',lgc='com.google.gwt.lang.',mgc='com.google.gwt.user.client.',ngc='com.google.gwt.user.client.impl.',ogc='com.google.gwt.user.client.rpc.',pgc='com.google.gwt.user.client.rpc.core.java.lang.',qgc='com.google.gwt.user.client.rpc.core.java.util.',rgc='com.google.gwt.user.client.rpc.impl.',sgc='com.google.gwt.user.client.ui.',tgc='com.google.gwt.user.client.ui.impl.',ugc='java.io.',vgc='java.lang.',wgc='java.util.',xgc='org.drools.brms.client.',ygc='org.drools.brms.client.admin.',zgc='org.drools.brms.client.categorynav.',Agc='org.drools.brms.client.common.',Bgc='org.drools.brms.client.decisiontable.',Cgc='org.drools.brms.client.modeldriven.',Dgc='org.drools.brms.client.modeldriven.brl.',Egc='org.drools.brms.client.modeldriven.ui.',Fgc='org.drools.brms.client.packages.',ahc='org.drools.brms.client.rpc.',bhc='org.drools.brms.client.ruleeditor.',chc='org.drools.brms.client.rulelist.',dhc='org.drools.brms.client.table.';function v3(){}
+function zU(a){return this===a;}
+function AU(){return mW(this);}
+function BU(){return this.tN+'@'+this.hC();}
+function xU(){}
+_=xU.prototype={};_.eQ=zU;_.hC=AU;_.tS=BU;_.toString=function(){return this.tS();};_.tN=vgc+'Object';_.tI=1;function v(){return D();}
+function w(){return E();}
+function x(a){return a==null?null:a.tN;}
+var y=null;function B(a){return a==null?0:a.$H?a.$H:(a.$H=F());}
+function C(a){return a==null?0:a.$H?a.$H:(a.$H=F());}
+function D(){var b=$doc.location.href;var a=b.indexOf('#');if(a!= -1)b=b.substring(0,a);a=b.indexOf('?');if(a!= -1)b=b.substring(0,a);a=b.lastIndexOf('/');if(a!= -1)b=b.substring(0,a);return b.length>0?b+'/':'';}
+function E(){return $moduleBase;}
+function F(){return ++ab;}
+var ab=0;function pW(b,a){b.c=a;return b;}
+function qW(c,b,a){c.c=b;return c;}
+function sW(){return this.c;}
+function tW(){var a,b;a=x(this);b=this.vb();if(b!==null){return a+': '+b;}else{return a;}}
+function oW(){}
+_=oW.prototype=new xU();_.vb=sW;_.tS=tW;_.tN=vgc+'Throwable';_.tI=3;_.c=null;function oT(b,a){pW(b,a);return b;}
+function pT(c,b,a){qW(c,b,a);return c;}
+function nT(){}
+_=nT.prototype=new oW();_.tN=vgc+'Exception';_.tI=4;function DU(b,a){oT(b,a);return b;}
+function EU(c,b,a){pT(c,b,a);return c;}
+function CU(){}
+_=CU.prototype=new nT();_.tN=vgc+'RuntimeException';_.tI=5;function cb(c,b,a){DU(c,'JavaScript '+b+' exception: '+a);return c;}
+function bb(){}
+_=bb.prototype=new CU();_.tN=kgc+'JavaScriptException';_.tI=6;function gb(b,a){if(!cc(a,2)){return false;}return lb(b,bc(a,2));}
+function hb(a){return B(a);}
+function ib(){return [];}
+function jb(){return function(){};}
+function kb(){return {};}
+function mb(a){return gb(this,a);}
+function lb(a,b){return a===b;}
+function nb(){return hb(this);}
+function pb(){return ob(this);}
+function ob(a){if(a.toString)return a.toString();return '[object]';}
+function eb(){}
+_=eb.prototype=new xU();_.eQ=mb;_.hC=nb;_.tS=pb;_.tN=kgc+'JavaScriptObject';_.tI=7;function rb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
+function tb(a,b,c){return a[b]=c;}
+function vb(a,b){return ub(a,b);}
+function ub(a,b){return rb(new qb(),b,a.tI,a.b,a.tN);}
+function wb(b,a){return b[a];}
+function yb(b,a){return b[a];}
+function xb(a){return a.length;}
+function Ab(e,d,c,b,a){return zb(e,d,c,b,0,xb(b),a);}
+function zb(j,i,g,c,e,a,b){var d,f,h;if((f=wb(c,e))<0){throw new iU();}h=rb(new qb(),f,wb(i,e),wb(g,e),j);++e;if(e<a){j=zV(j,1);for(d=0;d<f;++d){tb(h,d,zb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){tb(h,d,b);}}return h;}
+function Bb(f,e,c,g){var a,b,d;b=xb(g);d=rb(new qb(),b,e,c,f);for(a=0;a<b;++a){tb(d,a,yb(g,a));}return d;}
+function Cb(a,b,c){if(c!==null&&a.b!=0&& !cc(c,a.b)){throw new yS();}return tb(a,b,c);}
+function qb(){}
+_=qb.prototype=new xU();_.tN=lgc+'Array';_.tI=8;function Fb(b,a){return !(!(b&&ic[b][a]));}
+function ac(a){return String.fromCharCode(a);}
+function bc(b,a){if(b!=null)Fb(b.tI,a)||hc();return b;}
+function cc(b,a){return b!=null&&Fb(b.tI,a);}
+function dc(a){return a&65535;}
+function ec(a){return ~(~a);}
+function fc(a){if(a>(BT(),CT))return BT(),CT;if(a<(BT(),DT))return BT(),DT;return a>=0?Math.floor(a):Math.ceil(a);}
+function hc(){throw new iT();}
+function gc(a){if(a!==null){throw new iT();}return a;}
+function jc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
+var ic;function mc(a){if(cc(a,3)){return a;}return cb(new bb(),oc(a),nc(a));}
+function nc(a){return a.message;}
+function oc(a){return a.name;}
+function qc(b,a){return b;}
+function pc(){}
+_=pc.prototype=new CU();_.tN=mgc+'CommandCanceledException';_.tI=11;function hd(a){a.a=uc(new tc(),a);a.b=FY(new DY());a.d=yc(new xc(),a);a.f=Cc(new Bc(),a);}
+function id(a){hd(a);return a;}
+function kd(c){var a,b,d;a=Ec(c.f);bd(c.f);b=null;if(cc(a,4)){b=qc(new pc(),bc(a,4));}else{}if(b!==null){d=y;}nd(c,false);md(c);}
+function ld(e,d){var a,b,c,f;f=false;try{nd(e,true);cd(e.f,e.b.b);qh(e.a,10000);while(Fc(e.f)){b=ad(e.f);c=true;try{if(b===null){return;}if(cc(b,4)){a=bc(b,4);a.nb();}else{}}finally{f=dd(e.f);if(f){return;}if(c){bd(e.f);}}if(qd(lW(),d)){return;}}}finally{if(!f){mh(e.a);nd(e,false);md(e);}}}
+function md(a){if(!jZ(a.b)&& !a.e&& !a.c){od(a,true);qh(a.d,1);}}
+function nd(b,a){b.c=a;}
+function od(b,a){b.e=a;}
+function pd(b,a){bZ(b.b,a);md(b);}
+function qd(a,b){return gU(a-b)>=100;}
+function sc(){}
+_=sc.prototype=new xU();_.tN=mgc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function nh(){nh=v3;xh=FY(new DY());{wh();}}
+function lh(a){nh();return a;}
+function mh(a){if(a.b){rh(a.c);}else{sh(a.c);}lZ(xh,a);}
+function oh(a){if(!a.b){lZ(xh,a);}a.ce();}
+function qh(b,a){if(a<=0){throw sT(new rT(),'must be positive');}mh(b);b.b=false;b.c=uh(b,a);bZ(xh,b);}
+function ph(b,a){if(a<=0){throw sT(new rT(),'must be positive');}mh(b);b.b=true;b.c=th(b,a);bZ(xh,b);}
+function rh(a){nh();$wnd.clearInterval(a);}
+function sh(a){nh();$wnd.clearTimeout(a);}
+function th(b,a){nh();return $wnd.setInterval(function(){b.ob();},a);}
+function uh(b,a){nh();return $wnd.setTimeout(function(){b.ob();},a);}
+function vh(){var a;a=y;{oh(this);}}
+function wh(){nh();Bh(new hh());}
+function gh(){}
+_=gh.prototype=new xU();_.ob=vh;_.tN=mgc+'Timer';_.tI=13;_.b=false;_.c=0;var xh;function vc(){vc=v3;nh();}
+function uc(b,a){vc();b.a=a;lh(b);return b;}
+function wc(){if(!this.a.c){return;}kd(this.a);}
+function tc(){}
+_=tc.prototype=new gh();_.ce=wc;_.tN=mgc+'CommandExecutor$1';_.tI=14;function zc(){zc=v3;nh();}
+function yc(b,a){zc();b.a=a;lh(b);return b;}
+function Ac(){od(this.a,false);ld(this.a,lW());}
+function xc(){}
+_=xc.prototype=new gh();_.ce=Ac;_.tN=mgc+'CommandExecutor$2';_.tI=15;function Cc(b,a){b.d=a;return b;}
+function Ec(a){return gZ(a.d.b,a.b);}
+function Fc(a){return a.c<a.a;}
+function ad(b){var a;b.b=b.c;a=gZ(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
+function bd(a){kZ(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
+function cd(b,a){b.a=a;}
+function dd(a){return a.b==(-1);}
+function ed(){return Fc(this);}
+function fd(){return ad(this);}
+function gd(){bd(this);}
+function Bc(){}
+_=Bc.prototype=new xU();_.gc=ed;_.pc=fd;_.Fd=gd;_.tN=mgc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function td(){td=v3;uf=FY(new DY());{kf=new ni();cj(kf);}}
+function ud(a){td();bZ(uf,a);}
+function vd(b,a){td();oj(kf,b,a);}
+function wd(a,b){td();return pi(kf,a,b);}
+function xd(){td();return qj(kf,'A');}
+function yd(){td();return qj(kf,'button');}
+function zd(){td();return qj(kf,'div');}
+function Ad(a){td();return qj(kf,a);}
+function Bd(){td();return qj(kf,'form');}
+function Cd(){td();return qj(kf,'iframe');}
+function Dd(){td();return qj(kf,'img');}
+function Ed(){td();return rj(kf,'checkbox');}
+function Fd(){td();return rj(kf,'password');}
+function ae(a){td();return qi(kf,a);}
+function be(){td();return rj(kf,'text');}
+function ce(){td();return qj(kf,'label');}
+function de(a){td();return ri(kf,a);}
+function ee(){td();return qj(kf,'span');}
+function fe(){td();return qj(kf,'tbody');}
+function ge(){td();return qj(kf,'td');}
+function he(){td();return qj(kf,'tr');}
+function ie(){td();return qj(kf,'table');}
+function je(){td();return qj(kf,'textarea');}
+function me(b,a,d){td();var c;c=y;{le(b,a,d);}}
+function le(b,a,c){td();var d;if(a===tf){if(ze(b)==8192){tf=null;}}d=ke;ke=b;try{c.tc(b);}finally{ke=d;}}
+function ne(b,a){td();sj(kf,b,a);}
+function oe(a){td();return tj(kf,a);}
+function pe(a){td();return si(kf,a);}
+function qe(a){td();return ti(kf,a);}
+function re(a){td();return uj(kf,a);}
+function se(a){td();return ui(kf,a);}
+function te(a){td();return vi(kf,a);}
+function ue(a){td();return vj(kf,a);}
+function ve(a){td();return wj(kf,a);}
+function we(a){td();return xj(kf,a);}
+function xe(a){td();return wi(kf,a);}
+function ye(a){td();return xi(kf,a);}
+function ze(a){td();return yj(kf,a);}
+function Ae(a){td();yi(kf,a);}
+function Be(a){td();return zi(kf,a);}
+function Ce(a){td();return Ai(kf,a);}
+function De(a){td();return Bi(kf,a);}
+function af(b,a){td();return Ei(kf,b,a);}
+function Ee(a){td();return Ci(kf,a);}
+function Fe(b,a){td();return Di(kf,b,a);}
+function df(a,b){td();return Bj(kf,a,b);}
+function bf(a,b){td();return zj(kf,a,b);}
+function cf(a,b){td();return Aj(kf,a,b);}
+function ef(a){td();return Cj(kf,a);}
+function ff(a){td();return Fi(kf,a);}
+function gf(a){td();return Dj(kf,a);}
+function hf(a){td();return aj(kf,a);}
+function jf(a){td();return bj(kf,a);}
+function lf(c,a,b){td();dj(kf,c,a,b);}
+function mf(c,b,d,a){td();ej(kf,c,b,d,a);}
+function nf(b,a){td();return fj(kf,b,a);}
+function of(a){td();var b,c;c=true;if(uf.b>0){b=bc(gZ(uf,uf.b-1),5);if(!(c=b.zc(a))){ne(a,true);Ae(a);}}return c;}
+function pf(a){td();if(tf!==null&&wd(a,tf)){tf=null;}gj(kf,a);}
+function qf(b,a){td();Ej(kf,b,a);}
+function rf(b,a){td();Fj(kf,b,a);}
+function sf(a){td();lZ(uf,a);}
+function vf(a){td();ak(kf,a);}
+function wf(a){td();tf=a;hj(kf,a);}
+function xf(b,a,c){td();bk(kf,b,a,c);}
+function Af(a,b,c){td();ek(kf,a,b,c);}
+function yf(a,b,c){td();ck(kf,a,b,c);}
+function zf(a,b,c){td();dk(kf,a,b,c);}
+function Bf(a,b){td();fk(kf,a,b);}
+function Cf(a,b){td();ij(kf,a,b);}
+function Df(a,b){td();gk(kf,a,b);}
+function Ef(a,b){td();jj(kf,a,b);}
+function Ff(b,a,c){td();hk(kf,b,a,c);}
+function ag(b,a,c){td();ik(kf,b,a,c);}
+function bg(a,b){td();kj(kf,a,b);}
+function cg(a){td();return jk(kf,a);}
+function dg(){td();return kk(kf);}
+function eg(){td();return lk(kf);}
+var ke=null,kf=null,tf=null,uf;function gg(){gg=v3;jg=id(new sc());}
+function ig(a){gg();pd(jg,a);}
+function hg(a){gg();if(a===null){throw lU(new kU(),'cmd can not be null');}pd(jg,a);}
+var jg;function mg(b,a){if(cc(a,6)){return wd(b,bc(a,6));}return gb(jc(b,kg),a);}
+function ng(a){return mg(this,a);}
+function og(){return hb(jc(this,kg));}
+function pg(){return cg(this);}
+function kg(){}
+_=kg.prototype=new eb();_.eQ=ng;_.hC=og;_.tS=pg;_.tN=mgc+'Element';_.tI=17;function ug(a){return gb(jc(this,qg),a);}
+function vg(){return hb(jc(this,qg));}
+function wg(){return Be(this);}
+function qg(){}
+_=qg.prototype=new eb();_.eQ=ug;_.hC=vg;_.tS=wg;_.tN=mgc+'Event';_.tI=18;function yg(){yg=v3;Ag=ok(new nk());}
+function zg(c,b,a){yg();return tk(Ag,c,b,a);}
+var Ag;function Dg(){Dg=v3;bh=FY(new DY());{ch=new Fk();if(!dl(ch)){ch=null;}}}
+function Eg(a){Dg();bZ(bh,a);}
+function Fg(a){Dg();var b,c;for(b=bh.mc();b.gc();){c=bc(b.pc(),7);c.Ec(a);}}
+function ah(){Dg();return ch!==null?kl(ch):'';}
+function dh(a){Dg();if(ch!==null){Ck(ch,a);}}
+function eh(b){Dg();var a;a=y;{Fg(b);}}
+var bh,ch=null;function jh(){while((nh(),xh).b>0){mh(bc(gZ((nh(),xh),0),8));}}
+function kh(){return null;}
+function hh(){}
+_=hh.prototype=new xU();_.rd=jh;_.sd=kh;_.tN=mgc+'Timer$1';_.tI=19;function Ah(){Ah=v3;Dh=FY(new DY());li=FY(new DY());{gi();}}
+function Bh(a){Ah();bZ(Dh,a);}
+function Ch(a){Ah();$wnd.alert(a);}
+function Eh(a){Ah();return $wnd.confirm(a);}
+function Fh(){Ah();var a,b;for(a=Dh.mc();a.gc();){b=bc(a.pc(),9);b.rd();}}
+function ai(){Ah();var a,b,c,d;d=null;for(a=Dh.mc();a.gc();){b=bc(a.pc(),9);c=b.sd();{d=c;}}return d;}
+function bi(){Ah();var a,b;for(a=li.mc();a.gc();){b=gc(a.pc());null.ef();}}
+function ci(){Ah();return dg();}
+function di(){Ah();return eg();}
+function ei(){Ah();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
+function fi(){Ah();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
+function gi(){Ah();__gwt_initHandlers(function(){ji();},function(){return ii();},function(){hi();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
+function hi(){Ah();var a;a=y;{Fh();}}
+function ii(){Ah();var a;a=y;{return ai();}}
+function ji(){Ah();var a;a=y;{bi();}}
+function ki(c,b,a){Ah();$wnd.open(c,b,a);}
+var Dh,li;function oj(c,b,a){b.appendChild(a);}
+function qj(b,a){return $doc.createElement(a);}
+function rj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
+function sj(c,b,a){b.cancelBubble=a;}
+function tj(b,a){return !(!a.altKey);}
+function uj(b,a){return !(!a.ctrlKey);}
+function vj(b,a){return a.which||(a.keyCode|| -1);}
+function wj(b,a){return !(!a.metaKey);}
+function xj(b,a){return !(!a.shiftKey);}
+function yj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
+function Bj(d,a,b){var c=a[b];return c==null?null:String(c);}
+function zj(c,a,b){return !(!a[b]);}
+function Aj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
+function Cj(b,a){return a.__eventBits||0;}
+function Dj(c,a){var b=a.innerHTML;return b==null?null:b;}
+function Ej(c,b,a){b.removeChild(a);}
+function Fj(c,b,a){b.removeAttribute(a);}
+function ak(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
+function bk(c,b,a,d){b.setAttribute(a,d);}
+function ek(c,a,b,d){a[b]=d;}
+function ck(c,a,b,d){a[b]=d;}
+function dk(c,a,b,d){a[b]=d;}
+function fk(c,a,b){a.__listener=b;}
+function gk(c,a,b){if(!b){b='';}a.innerHTML=b;}
+function hk(c,b,a,d){b.style[a]=d;}
+function ik(c,b,a,d){b.style[a]=d;}
+function jk(b,a){return a.outerHTML;}
+function kk(a){return $doc.body.clientHeight;}
+function lk(a){return $doc.body.clientWidth;}
+function mi(){}
+_=mi.prototype=new xU();_.tN=ngc+'DOMImpl';_.tI=20;function pi(c,a,b){if(!a&& !b)return true;else if(!a|| !b)return false;return a.uniqueID==b.uniqueID;}
+function qi(b,a){return $doc.createElement("<INPUT type='RADIO' name='"+a+"'>");}
+function ri(c,b){var a=b?'<SELECT MULTIPLE>':'<SELECT>';return $doc.createElement(a);}
+function si(b,a){return a.clientX-mj();}
+function ti(b,a){return a.clientY-nj();}
+function ui(b,a){return lj;}
+function vi(b,a){return a.fromElement?a.fromElement:null;}
+function wi(b,a){return a.srcElement||null;}
+function xi(b,a){return a.toElement||null;}
+function yi(b,a){a.returnValue=false;}
+function zi(b,a){if(a.toString)return a.toString();return '[object Event]';}
+function Ai(c,a){var b=$doc.documentElement.scrollLeft||$doc.body.scrollLeft;return a.getBoundingClientRect().left+b-mj();}
+function Bi(c,a){var b=$doc.documentElement.scrollTop||$doc.body.scrollTop;return a.getBoundingClientRect().top+b-nj();}
+function Ei(d,b,c){var a=b.children[c];return a||null;}
+function Ci(b,a){return a.children.length;}
+function Di(e,d,a){var b=d.children.length;for(var c=0;c<b;++c){if(a.uniqueID==d.children[c].uniqueID)return c;}return -1;}
+function Fi(c,b){var a=b.firstChild;return a||null;}
+function aj(c,a){var b=a.innerText;return b==null?null:b;}
+function bj(c,a){var b=a.parentElement;return b||null;}
+function cj(d){try{$doc.execCommand('BackgroundImageCache',false,true);}catch(a){}$wnd.__dispatchEvent=function(){var c=lj;lj=this;if($wnd.event.returnValue==null){$wnd.event.returnValue=true;if(!of($wnd.event)){lj=c;return;}}var b,a=this;while(a&& !(b=a.__listener))a=a.parentElement;if(b)me($wnd.event,a,b);lj=c;};$wnd.__dispatchDblClickEvent=function(){var a=$doc.createEventObject();this.fireEvent('onclick',a);if(this.__eventBits&2)$wnd.__dispatchEvent.call(this);};$doc.body.onclick=$doc.body.onmousedown=$doc.body.onmouseup=$doc.body.onmousemove=$doc.body.onmousewheel=$doc.body.onkeydown=$doc.body.onkeypress=$doc.body.onkeyup=$doc.body.onfocus=$doc.body.onblur=$doc.body.ondblclick=$wnd.__dispatchEvent;}
+function dj(d,c,a,b){if(b>=c.children.length)c.appendChild(a);else c.insertBefore(a,c.children[b]);}
+function ej(e,c,d,f,a){var b=new Option(d,f);if(a== -1||a>c.options.length-1){c.add(b);}else{c.add(b,a);}}
+function fj(c,b,a){while(a){if(b.uniqueID==a.uniqueID)return true;a=a.parentElement;}return false;}
+function gj(b,a){a.releaseCapture();}
+function hj(b,a){a.setCapture();}
+function ij(c,a,b){wl(a,b);}
+function jj(c,a,b){if(!b)b='';a.innerText=b;}
+function kj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&(1|2)?$wnd.__dispatchDblClickEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
+function mj(){return $doc.documentElement.clientLeft||$doc.body.clientLeft;}
+function nj(){return $doc.documentElement.clientTop||$doc.body.clientTop;}
+function ni(){}
+_=ni.prototype=new mi();_.tN=ngc+'DOMImplIE6';_.tI=21;var lj=null;function rk(a){xk=jb();return a;}
+function tk(c,d,b,a){return uk(c,null,null,d,b,a);}
+function uk(d,f,c,e,b,a){return sk(d,f,c,e,b,a);}
+function sk(e,g,d,f,c,b){var h=e.jb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=xk;b.xc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=xk;return false;}}
+function wk(){return new XMLHttpRequest();}
+function mk(){}
+_=mk.prototype=new xU();_.jb=wk;_.tN=ngc+'HTTPRequestImpl';_.tI=22;var xk=null;function ok(a){rk(a);return a;}
+function qk(){return new ActiveXObject('Msxml2.XMLHTTP');}
+function nk(){}
+_=nk.prototype=new mk();_.jb=qk;_.tN=ngc+'HTTPRequestImplIE6';_.tI=23;function kl(a){return $wnd.__gwt_historyToken;}
+function ll(a,b){$wnd.__gwt_historyToken=b;}
+function ml(a){eh(a);}
+function yk(){}
+_=yk.prototype=new xU();_.tN=ngc+'HistoryImpl';_.tI=24;function Bk(a){var b;a.a=Dk();if(a.a===null){return false;}cl(a);b=Ek(a.a);if(b!==null){ll(a,bl(a,b));}else{fl(a,a.a,kl(a),true);}el(a);return true;}
+function Ck(b,a){b.oc(b.a,a,false);}
+function Dk(){var a=$doc.getElementById('__gwt_historyFrame');return a||null;}
+function Ek(b){var c=null;if(b.contentWindow){var a=b.contentWindow.document;c=a.getElementById('__gwt_historyToken')||null;}return c;}
+function zk(){}
+_=zk.prototype=new yk();_.tN=ngc+'HistoryImplFrame';_.tI=25;_.a=null;function bl(a,b){return b.innerText;}
+function dl(a){if(!Bk(a)){return false;}hl();return true;}
+function cl(c){var b=$wnd.location.hash;if(b.length>0){try{$wnd.__gwt_historyToken=decodeURIComponent(b.substring(1));}catch(a){$wnd.location.hash='';$wnd.__gwt_historyToken='';}return;}$wnd.__gwt_historyToken='';}
+function el(b){$wnd.__gwt_onHistoryLoad=function(a){if(a!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=a;$wnd.location.hash=encodeURIComponent(a);ml(a);}};}
+function fl(e,c,d,b){d=gl(d||'');if(b||$wnd.__gwt_historyToken!=d){var a=c.contentWindow.document;a.open();a.write('<html><body onload="if(parent.__gwt_onHistoryLoad)parent.__gwt_onHistoryLoad(__gwt_historyToken.innerText)"><div id="__gwt_historyToken">'+d+'<\/div><\/body><\/html>');a.close();}}
+function gl(b){var a;a=zd();Ef(a,b);return gf(a);}
+function hl(){var d=function(){var b=$wnd.location.hash;if(b.length>0){var c='';try{c=decodeURIComponent(b.substring(1));}catch(a){$wnd.location.reload();}if($wnd.__gwt_historyToken&&c!=$wnd.__gwt_historyToken){$wnd.location.reload();}}$wnd.setTimeout(d,250);};d();}
+function il(b,c,a){fl(this,b,c,a);}
+function Fk(){}
+_=Fk.prototype=new zk();_.oc=il;_.tN=ngc+'HistoryImplIE6';_.tI=26;function pl(b,a){b.__kids.push(a);a.__pendingSrc=b.__pendingSrc;}
+function ql(k,i,j){i.src=j;if(i.complete){return;}i.__kids=[];i.__pendingSrc=j;k[j]=i;var g=i.onload,f=i.onerror,e=i.onabort;function h(c){var d=i.__kids;i.__cleanup();window.setTimeout(function(){for(var a=0;a<d.length;++a){var b=d[a];if(b.__pendingSrc==j){b.src=j;b.__pendingSrc=null;}}},0);c&&c.call(i);}
+i.onload=function(){h(g);};i.onerror=function(){h(f);};i.onabort=function(){h(e);};i.__cleanup=function(){i.onload=g;i.onerror=f;i.onabort=e;i.__cleanup=i.__pendingSrc=i.__kids=null;delete k[j];};}
+function rl(a){return a.__pendingSrc||a.src;}
+function sl(a){return a.__pendingSrc||null;}
+function tl(b,a){return b[a]||null;}
+function ul(e,b){var f=b.uniqueID;var d=e.__kids;for(var c=0,a=d.length;c<a;++c){if(d[c].uniqueID==f){d.splice(c,1);b.__pendingSrc=null;return;}}}
+function vl(f,c){var e=c.__pendingSrc;var d=c.__kids;c.__cleanup();if(c=d[0]){c.__pendingSrc=null;ql(f,c,e);if(c.__pendingSrc){d.splice(0,1);c.__kids=d;}else{for(var b=1,a=d.length;b<a;++b){d[b].src=e;d[b].__pendingSrc=null;}}}}
+function wl(a,c){var b,d;if(qV(rl(a),c)){return;}if(xl===null){xl=kb();}b=sl(a);if(b!==null){d=tl(xl,b);if(mg(d,jc(a,kg))){vl(xl,d);}else{ul(d,a);}}d=tl(xl,c);if(d===null){ql(xl,a,c);}else{pl(d,a);}}
+var xl=null;function Al(a){DU(a,'This application is out of date, please click the refresh button on your browser');return a;}
+function zl(){}
+_=zl.prototype=new CU();_.tN=ogc+'IncompatibleRemoteServiceException';_.tI=27;function El(b,a){}
+function Fl(b,a){}
+function bm(b,a){EU(b,a,null);return b;}
+function am(){}
+_=am.prototype=new CU();_.tN=ogc+'InvocationException';_.tI=28;function nm(){return this.b;}
+function fm(){}
+_=fm.prototype=new nT();_.vb=nm;_.tN=ogc+'SerializableException';_.tI=29;_.b=null;function jm(b,a){mm(a,b.Bd());}
+function km(a){return a.b;}
+function lm(b,a){b.cf(km(a));}
+function mm(a,b){a.b=b;}
+function pm(b,a){oT(b,a);return b;}
+function om(){}
+_=om.prototype=new nT();_.tN=ogc+'SerializationException';_.tI=30;function um(a){bm(a,'Service implementation URL not specified');return a;}
+function tm(){}
+_=tm.prototype=new am();_.tN=ogc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function zm(b,a){}
+function Am(a){return cT(a.wd());}
+function Bm(b,a){b.De(a.a);}
+function Em(c,a){var b;for(b=0;b<a.a;++b){Cb(a,b,c.Ad());}}
+function Fm(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.bf(a[c]);}}
+function cn(b,a){}
+function dn(a){return a.Bd();}
+function en(b,a){b.cf(a);}
+function hn(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.xd();}}
+function jn(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.Ee(a[c]);}}
+function mn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();bZ(b,c);}}
+function nn(e,a){var b,c,d;d=a.b;e.Fe(d);b=a.mc();while(b.gc()){c=b.pc();e.bf(c);}}
+function qn(b,a){}
+function rn(a){return m0(new k0(),a.zd());}
+function sn(b,a){b.af(p0(a));}
+function vn(e,b){var a,c,d,f;d=e.yd();for(a=0;a<d;++a){c=e.Ad();f=e.Ad();d2(b,c,f);}}
+function wn(f,c){var a,b,d,e;e=c.c;f.Fe(e);b=b2(c);d=x1(b);while(p1(d)){a=q1(d);f.bf(a.ub());f.bf(a.ac());}}
+function zn(d,b){var a,c;c=d.yd();for(a=0;a<c;++a){x2(b,d.Ad());}}
+function An(c,a){var b;c.Fe(a.a.c);for(b=z2(a);AX(b);){c.bf(BX(b));}}
+function Dn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();k3(b,c);}}
+function En(e,a){var b,c,d;d=a.a.b;e.Fe(d);b=m3(a);while(b.gc()){c=b.pc();e.bf(c);}}
+function wo(a){return a.j>2;}
+function xo(b,a){b.i=a;}
+function yo(a,b){a.j=b;}
+function Fn(){}
+_=Fn.prototype=new xU();_.tN=rgc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function bo(a){a.e=FY(new DY());}
+function co(a){bo(a);return a;}
+function fo(b,a){dZ(b.e);yo(b,Fo(b));xo(b,Fo(b));}
+function go(a){var b,c;b=a.yd();if(b<0){return gZ(a.e,-(b+1));}c=a.Eb(b);if(c===null){return null;}return a.hb(c);}
+function ho(b,a){bZ(b.e,a);}
+function io(){return go(this);}
+function ao(){}
+_=ao.prototype=new Fn();_.Ad=io;_.tN=rgc+'AbstractSerializationStreamReader';_.tI=33;function lo(b,a){b.E(a?'1':'0');}
+function mo(b,a){b.E(gW(a));}
+function no(c,a){var b,d;if(a===null){oo(c,null);return;}b=c.tb(a);if(b>=0){mo(c,-(b+1));return;}c.de(a);d=c.xb(a);oo(c,d);c.ge(a,d);}
+function oo(a,b){mo(a,a.z(b));}
+function po(a){lo(this,a);}
+function qo(a){this.E(gW(a));}
+function ro(a){mo(this,a);}
+function so(a){this.E(hW(a));}
+function to(a){no(this,a);}
+function uo(a){oo(this,a);}
+function jo(){}
+_=jo.prototype=new Fn();_.De=po;_.Ee=qo;_.Fe=ro;_.af=so;_.bf=to;_.cf=uo;_.tN=rgc+'AbstractSerializationStreamWriter';_.tI=34;function Ao(b,a){co(b);b.c=a;return b;}
+function Co(b,a){if(!a){return null;}return b.d[a-1];}
+function Do(b,a){b.b=dp(a);b.a=ep(b.b);fo(b,a);b.d=ap(b);}
+function Eo(a){return !(!a.b[--a.a]);}
+function Fo(a){return a.b[--a.a];}
+function ap(a){return a.b[--a.a];}
+function bp(a){return Co(a,Fo(a));}
+function cp(b){var a;a=this.c.jc(this,b);ho(this,a);this.c.gb(this,a,b);return a;}
+function dp(a){return eval(a);}
+function ep(a){return a.length;}
+function fp(a){return Co(this,a);}
+function gp(){return Eo(this);}
+function hp(){return this.b[--this.a];}
+function ip(){return Fo(this);}
+function jp(){return this.b[--this.a];}
+function kp(){return bp(this);}
+function zo(){}
+_=zo.prototype=new ao();_.hb=cp;_.Eb=fp;_.wd=gp;_.xd=hp;_.yd=ip;_.zd=jp;_.Bd=kp;_.tN=rgc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function mp(a){a.h=FY(new DY());}
+function np(d,c,a,b){mp(d);d.f=c;d.b=a;d.e=b;return d;}
+function pp(c,a){var b=c.d[a];return b==null?-1:b;}
+function qp(c,a){var b=c.g[':'+a];return b==null?0:b;}
+function rp(a){a.c=0;a.d=kb();a.g=kb();dZ(a.h);a.a=cV(new bV());if(wo(a)){oo(a,a.b);oo(a,a.e);}}
+function sp(b,a,c){b.d[a]=c;}
+function tp(b,a,c){b.g[':'+a]=c;}
+function up(b){var a;a=cV(new bV());vp(b,a);xp(b,a);wp(b,a);return iV(a);}
+function vp(b,a){zp(a,gW(b.j));zp(a,gW(b.i));}
+function wp(b,a){eV(a,iV(b.a));}
+function xp(d,a){var b,c;c=d.h.b;zp(a,gW(c));for(b=0;b<c;++b){zp(a,bc(gZ(d.h,b),1));}return a;}
+function yp(b){var a;if(b===null){return 0;}a=qp(this,b);if(a>0){return a;}bZ(this.h,b);a=this.h.b;tp(this,b,a);return a;}
+function zp(a,b){eV(a,b);dV(a,65535);}
+function Ap(a){zp(this.a,a);}
+function Bp(a){return pp(this,mW(a));}
+function Cp(a){var b,c;c=x(a);b=this.f.Db(c);if(b!==null){c+='/'+b;}return c;}
+function Dp(a){sp(this,mW(a),this.c++);}
+function Ep(a,b){this.f.fe(this,a,b);}
+function Fp(){return up(this);}
+function lp(){}
+_=lp.prototype=new jo();_.z=yp;_.E=Ap;_.tb=Bp;_.xb=Cp;_.de=Dp;_.ge=Ep;_.tS=Fp;_.tN=rgc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function jO(b,a){FO(b.Fb(),a,true);}
+function lO(a){return Ce(a.rb());}
+function mO(a){return De(a.rb());}
+function nO(a){return cf(a.w,'offsetHeight');}
+function oO(a){return cf(a.w,'offsetWidth');}
+function pO(b,a){FO(b.Fb(),a,false);}
+function qO(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
+function rO(b,a){if(b.w!==null){qO(b,b.w,a);}b.w=a;}
+function sO(b,c,a){if(c>=0){b.xe(c+'px');}if(a>=0){b.ne(a+'px');}}
+function tO(b,c,a){b.xe(c);b.ne(a);}
+function uO(b,a){EO(b.Fb(),a);}
+function vO(b,a){bg(b.rb(),a|ef(b.rb()));}
+function wO(){return this.w;}
+function xO(){return nO(this);}
+function yO(){return oO(this);}
+function zO(){return this.w;}
+function AO(a){return df(a,'className');}
+function BO(a){return a.style.display!='none';}
+function CO(a){rO(this,a);}
+function DO(a){ag(this.w,'height',a);}
+function EO(a,b){Af(a,'className',b);}
+function FO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw DU(new CU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=DV(j);if(uV(j)==0){throw sT(new rT(),'Style names cannot be empty');}i=AO(c);e=sV(i,j);while(e!=(-1)){if(e==0||lV(i,e-1)==32){f=e+uV(j);g=uV(i);if(f==g||f<g&&lV(i,f)==32){break;}}e=tV(i,j,e+1);}if(a){if(e==(-1)){if(uV(i)>0){i+=' ';}Af(c,'className',i+j);}}else{if(e!=(-1)){b=DV(AV(i,0,e));d=DV(zV(i,e+uV(j)));if(uV(b)==0){h=d;}else if(uV(d)==0){h=b;}else{h=b+' '+d;}Af(c,'className',h);}}}
+function aP(a){if(a===null||uV(a)==0){rf(this.w,'title');}else{xf(this.w,'title',a);}}
+function bP(a,b){a.style.display=b?'':'none';}
+function cP(a){bP(this.w,a);}
+function dP(a){ag(this.w,'width',a);}
+function eP(){if(this.w===null){return '(null handle)';}return cg(this.w);}
+function iO(){}
+_=iO.prototype=new xU();_.rb=wO;_.yb=xO;_.zb=yO;_.Fb=zO;_.je=CO;_.ne=DO;_.pe=aP;_.ue=cP;_.xe=dP;_.tS=eP;_.tN=sgc+'UIObject';_.tI=37;_.w=null;function qQ(a){if(a.kc()){throw vT(new uT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;Bf(a.rb(),a);a.ib();a.cd();}
+function rQ(a){if(!a.kc()){throw vT(new uT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.qd();}finally{a.kb();Bf(a.rb(),null);a.t=false;}}
+function sQ(a){if(cc(a.v,54)){bc(a.v,54).be(a);}else if(a.v!==null){throw vT(new uT(),"This widget's parent does not implement HasWidgets");}}
+function tQ(b,a){if(b.kc()){Bf(b.rb(),null);}rO(b,a);if(b.kc()){Bf(a,b);}}
+function uQ(b,a){b.u=a;}
+function vQ(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.kc()){c.yc();}c.v=null;}else{if(a!==null){throw vT(new uT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.kc()){c.rc();}}}
+function wQ(){}
+function xQ(){}
+function yQ(){return this.t;}
+function zQ(){qQ(this);}
+function AQ(a){}
+function BQ(){rQ(this);}
+function CQ(){}
+function DQ(){}
+function EQ(a){tQ(this,a);}
+function oP(){}
+_=oP.prototype=new iO();_.ib=wQ;_.kb=xQ;_.kc=yQ;_.rc=zQ;_.tc=AQ;_.yc=BQ;_.cd=CQ;_.qd=DQ;_.je=EQ;_.tN=sgc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function uE(b,a){vQ(a,b);}
+function wE(b,a){vQ(a,null);}
+function xE(){var a;a=this.mc();while(a.gc()){a.pc();a.Fd();}}
+function yE(){var a,b;for(b=this.mc();b.gc();){a=bc(b.pc(),13);a.rc();}}
+function zE(){var a,b;for(b=this.mc();b.gc();){a=bc(b.pc(),13);a.yc();}}
+function AE(){}
+function BE(){}
+function tE(){}
+_=tE.prototype=new oP();_.F=xE;_.ib=yE;_.kb=zE;_.cd=AE;_.qd=BE;_.tN=sgc+'Panel';_.tI=39;function vr(a){a.f=yP(new pP(),a);}
+function wr(a){vr(a);return a;}
+function xr(c,a,b){sQ(a);zP(c.f,a);vd(b,a.rb());uE(c,a);}
+function yr(d,b,a){var c;Ar(d,a);if(b.v===d){c=Cr(d,b);if(c<a){a--;}}return a;}
+function zr(b,a){if(a<0||a>=b.f.c){throw new xT();}}
+function Ar(b,a){if(a<0||a>b.f.c){throw new xT();}}
+function Dr(b,a){return BP(b.f,a);}
+function Cr(b,a){return CP(b.f,a);}
+function Er(e,b,c,a,d){a=yr(e,b,a);sQ(b);DP(e.f,b,a);if(d){lf(c,b.rb(),a);}else{vd(c,b.rb());}uE(e,b);}
+function Fr(a){return EP(a.f);}
+function as(b,c){var a;if(c.v!==b){return false;}wE(b,c);a=c.rb();qf(jf(a),a);aQ(b.f,c);return true;}
+function bs(){return Fr(this);}
+function cs(a){return this.be(Dr(this,a));}
+function ds(a){return as(this,a);}
+function ur(){}
+_=ur.prototype=new tE();_.mc=bs;_.ae=cs;_.be=ds;_.tN=sgc+'ComplexPanel';_.tI=40;function cq(a){wr(a);a.je(zd());ag(a.rb(),'position','relative');ag(a.rb(),'overflow','hidden');return a;}
+function dq(a,b){xr(a,b,a.rb());}
+function fq(b,c){var a;a=as(b,c);if(a){gq(c.rb());}return a;}
+function gq(a){ag(a,'left','');ag(a,'top','');ag(a,'position','');}
+function hq(a){return fq(this,a);}
+function bq(){}
+_=bq.prototype=new ur();_.be=hq;_.tN=sgc+'AbsolutePanel';_.tI=41;function iq(){}
+_=iq.prototype=new xU();_.tN=sgc+'AbstractImagePrototype';_.tI=42;function hv(){hv=v3;lv=(uR(),yR);}
+function fv(b,a){hv();jv(b,a);return b;}
+function gv(b,a){if(b.k===null){b.k=Bu(new Au());}bZ(b.k,a);}
+function iv(b,a){switch(ze(a)){case 1:if(b.j!==null){sr(b.j,b);}break;case 4096:case 2048:if(b.k!==null){Du(b.k,b,a);}break;case 128:case 512:case 256:break;}}
+function jv(b,a){tQ(b,a);vO(b,7041);}
+function kv(a){if(this.j===null){this.j=qr(new pr());}bZ(this.j,a);}
+function mv(a){iv(this,a);}
+function nv(a){jv(this,a);}
+function ov(a){yf(this.rb(),'disabled',!a);}
+function pv(a){if(a){rR(lv,this.rb());}else{tR(lv,this.rb());}}
+function qv(a){wR(lv,this.rb(),a);}
+function ev(){}
+_=ev.prototype=new oP();_.x=kv;_.tc=mv;_.je=nv;_.ke=ov;_.le=pv;_.oe=qv;_.tN=sgc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var lv;function nq(){nq=v3;hv();}
+function mq(b,a){nq();fv(b,a);return b;}
+function oq(a){Df(this.rb(),a);}
+function lq(){}
+_=lq.prototype=new ev();_.me=oq;_.tN=sgc+'ButtonBase';_.tI=44;function rq(){rq=v3;nq();}
+function pq(a){rq();mq(a,yd());sq(a.rb());uO(a,'gwt-Button');return a;}
+function qq(b,a){rq();pq(b);b.me(a);return b;}
+function sq(b){rq();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
+function kq(){}
+_=kq.prototype=new lq();_.tN=sgc+'Button';_.tI=45;function uq(a){wr(a);a.e=ie();a.d=fe();vd(a.e,a.d);a.je(a.e);return a;}
+function wq(c,b,a){Af(b,'align',a.a);}
+function xq(c,b,a){ag(b,'verticalAlign',a.a);}
+function yq(c,a){var b;b=jf(c.rb());Af(b,'height',a);}
+function zq(b,c){var a;a=jf(b.rb());Af(a,'width',c);}
+function tq(){}
+_=tq.prototype=new ur();_.he=yq;_.ie=zq;_.tN=sgc+'CellPanel';_.tI=46;_.d=null;_.e=null;function yW(d,a,b){var c;while(a.gc()){c=a.pc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
+function AW(a){throw vW(new uW(),'add');}
+function BW(b){var a;a=yW(this,this.mc(),b);return a!==null;}
+function CW(){return this.Be(Ab('[Ljava.lang.Object;',[613],[11],[this.ye()],null));}
+function DW(a){var b,c,d;d=this.ye();if(a.a<d){a=vb(a,d);}b=0;for(c=this.mc();c.gc();){Cb(a,b++,c.pc());}if(a.a>d){Cb(a,d,null);}return a;}
+function EW(){var a,b,c;c=cV(new bV());a=null;eV(c,'[');b=this.mc();while(b.gc()){if(a!==null){eV(c,a);}else{a=', ';}eV(c,iW(b.pc()));}eV(c,']');return iV(c);}
+function xW(){}
+_=xW.prototype=new xU();_.C=AW;_.db=BW;_.Ae=CW;_.Be=DW;_.tS=EW;_.tN=wgc+'AbstractCollection';_.tI=47;function iX(b,a){throw yT(new xT(),'Index: '+a+', Size: '+b.b);}
+function jX(b,a){throw vW(new uW(),'add');}
+function kX(a){this.B(this.ye(),a);return true;}
+function lX(e){var a,b,c,d,f;if(e===this){return true;}if(!cc(e,56)){return false;}f=bc(e,56);if(this.ye()!=f.ye()){return false;}c=this.mc();d=f.mc();while(c.gc()){a=c.pc();b=d.pc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
+function mX(){var a,b,c,d;c=1;a=31;b=this.mc();while(b.gc()){d=b.pc();c=31*c+(d===null?0:d.hC());}return c;}
+function nX(){return bX(new aX(),this);}
+function oX(a){throw vW(new uW(),'remove');}
+function FW(){}
+_=FW.prototype=new xW();_.B=jX;_.C=kX;_.eQ=lX;_.hC=mX;_.mc=nX;_.ae=oX;_.tN=wgc+'AbstractList';_.tI=48;function EY(a){{cZ(a);}}
+function FY(a){EY(a);return a;}
+function aZ(c,a,b){if(a<0||a>c.b){iX(c,a);}nZ(c.a,a,b);++c.b;}
+function bZ(b,a){wZ(b.a,b.b++,a);return true;}
+function dZ(a){cZ(a);}
+function cZ(a){a.a=ib();a.b=0;}
+function fZ(b,a){return hZ(b,a)!=(-1);}
+function gZ(b,a){if(a<0||a>=b.b){iX(b,a);}return sZ(b.a,a);}
+function hZ(b,a){return iZ(b,a,0);}
+function iZ(c,b,a){if(a<0){iX(c,a);}for(;a<c.b;++a){if(rZ(b,sZ(c.a,a))){return a;}}return (-1);}
+function jZ(a){return a.b==0;}
+function kZ(c,a){var b;b=gZ(c,a);uZ(c.a,a,1);--c.b;return b;}
+function lZ(c,b){var a;a=hZ(c,b);if(a==(-1)){return false;}kZ(c,a);return true;}
+function mZ(d,a,b){var c;c=gZ(d,a);wZ(d.a,a,b);return c;}
+function oZ(a,b){aZ(this,a,b);}
+function pZ(a){return bZ(this,a);}
+function nZ(a,b,c){a.splice(b,0,c);}
+function qZ(a){return fZ(this,a);}
+function rZ(a,b){return a===b||a!==null&&a.eQ(b);}
+function tZ(a){return gZ(this,a);}
+function sZ(a,b){return a[b];}
+function vZ(a){return kZ(this,a);}
+function uZ(a,c,b){a.splice(c,b);}
+function wZ(a,b,c){a[b]=c;}
+function xZ(){return this.b;}
+function yZ(a){var b;if(a.a<this.b){a=vb(a,this.b);}for(b=0;b<this.b;++b){Cb(a,b,sZ(this.a,b));}if(a.a>this.b){Cb(a,this.b,null);}return a;}
+function DY(){}
+_=DY.prototype=new FW();_.B=oZ;_.C=pZ;_.db=qZ;_.dc=tZ;_.ae=vZ;_.ye=xZ;_.Be=yZ;_.tN=wgc+'ArrayList';_.tI=49;_.a=null;_.b=0;function Bq(a){FY(a);return a;}
+function Dq(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),41);b.vc(c);}}
+function Aq(){}
+_=Aq.prototype=new DY();_.tN=sgc+'ChangeListenerCollection';_.tI=50;function dr(){dr=v3;nq();}
+function ar(a){dr();br(a,Ed());uO(a,'gwt-CheckBox');return a;}
+function cr(b,a){dr();ar(b);hr(b,a);return b;}
+function br(b,a){var c;dr();mq(b,ee());b.a=a;b.b=ce();bg(b.a,ef(b.rb()));bg(b.rb(),0);vd(b.rb(),b.a);vd(b.rb(),b.b);c='check'+ ++or;Af(b.a,'id',c);Af(b.b,'htmlFor',c);return b;}
+function er(a){return hf(a.b);}
+function fr(b){var a;a=b.kc()?'checked':'defaultChecked';return bf(b.a,a);}
+function gr(b,a){yf(b.a,'checked',a);yf(b.a,'defaultChecked',a);}
+function hr(b,a){Ef(b.b,a);}
+function ir(){Bf(this.a,this);}
+function jr(){Bf(this.a,null);gr(this,fr(this));}
+function kr(a){yf(this.a,'disabled',!a);}
+function lr(a){if(a){rR(lv,this.a);}else{tR(lv,this.a);}}
+function mr(a){Df(this.b,a);}
+function nr(a){wR(lv,this.a,a);}
+function Fq(){}
+_=Fq.prototype=new lq();_.cd=ir;_.qd=jr;_.ke=kr;_.le=lr;_.me=mr;_.oe=nr;_.tN=sgc+'CheckBox';_.tI=51;_.a=null;_.b=null;var or=0;function qr(a){FY(a);return a;}
+function sr(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),42);b.wc(c);}}
+function pr(){}
+_=pr.prototype=new DY();_.tN=sgc+'ClickListenerCollection';_.tI=52;function gs(a,b){if(a.k!==null){throw vT(new uT(),'Composite.initWidget() may only be called once.');}sQ(b);a.je(b.rb());a.k=b;vQ(b,a);}
+function hs(){if(this.k===null){throw vT(new uT(),'initWidget() was never called in '+x(this));}return this.w;}
+function is(){if(this.k!==null){return this.k.kc();}return false;}
+function js(){this.k.rc();this.cd();}
+function ks(){try{this.qd();}finally{this.k.yc();}}
+function es(){}
+_=es.prototype=new oP();_.rb=hs;_.kc=is;_.rc=js;_.yc=ks;_.tN=sgc+'Composite';_.tI=53;_.k=null;function ms(a){wr(a);a.je(zd());return a;}
+function os(b,c){var a;a=c.rb();ag(a,'width','100%');ag(a,'height','100%');c.ue(false);}
+function ps(b,c,a){Er(b,c,b.rb(),a,true);os(b,c);}
+function qs(b,c){var a;a=as(b,c);if(a){rs(b,c);if(b.b===c){b.b=null;}}return a;}
+function rs(a,b){ag(b.rb(),'width','');ag(b.rb(),'height','');b.ue(true);}
+function ss(b,a){zr(b,a);if(b.b!==null){b.b.ue(false);}b.b=Dr(b,a);b.b.ue(true);}
+function ts(a){return qs(this,a);}
+function ls(){}
+_=ls.prototype=new ur();_.be=ts;_.tN=sgc+'DeckPanel';_.tI=54;_.b=null;function AH(a){BH(a,zd());return a;}
+function BH(b,a){b.je(a);return b;}
+function CH(a,b){if(a.r!==null){throw vT(new uT(),'SimplePanel can only contain one child widget');}a.we(b);}
+function EH(a,b){if(b===a.r){return;}if(b!==null){sQ(b);}if(a.r!==null){a.be(a.r);}a.r=b;if(b!==null){vd(a.qb(),a.r.rb());uE(a,b);}}
+function FH(){return this.rb();}
+function aI(){return vH(new tH(),this);}
+function bI(a){if(this.r!==a){return false;}wE(this,a);qf(this.qb(),a.rb());this.r=null;return true;}
+function cI(a){EH(this,a);}
+function sH(){}
+_=sH.prototype=new tE();_.qb=FH;_.mc=aI;_.be=bI;_.we=cI;_.tN=sgc+'SimplePanel';_.tI=55;_.r=null;function eF(){eF=v3;uF=new eS();}
+function aF(a){eF();BH(a,kS(uF));lF(a,0,0);return a;}
+function bF(b,a){eF();aF(b);b.k=a;return b;}
+function cF(c,a,b){eF();bF(c,a);c.o=b;return c;}
+function dF(b,a){if(a.blur){a.blur();}}
+function fF(a){return a.rb();}
+function gF(a){return oO(a);}
+function hF(a){iF(a,false);}
+function iF(b,a){if(!b.p){return;}b.p=false;fq(iH(),b);gS(uF,b.rb());}
+function jF(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.ne(a.l);}if(a.m!==null){b.xe(a.m);}}}
+function kF(e,b){var a,c,d,f;d=xe(b);c=nf(e.rb(),d);f=ze(b);switch(f){case 128:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 512:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 256:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((td(),tf)!==null){return true;}if(!c&&e.k&&f==4){iF(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){dF(e,d);return false;}}}return !e.o||c;}
+function lF(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.rb();ag(a,'left',b+'px');ag(a,'top',d+'px');}
+function mF(a,b){EH(a,b);jF(a);}
+function nF(a,b){a.m=b;jF(a);if(uV(b)==0){a.m=null;}}
+function oF(a){if(a.p){return;}a.p=true;ud(a);ag(a.rb(),'position','absolute');if(a.q!=(-1)){lF(a,a.n,a.q);}dq(iH(),a);hS(uF,a.rb());}
+function pF(){return fF(this);}
+function qF(){return nO(this);}
+function rF(){return gF(this);}
+function sF(){return this.rb();}
+function tF(){hF(this);}
+function vF(){sf(this);rQ(this);}
+function wF(a){return kF(this,a);}
+function xF(a){this.l=a;jF(this);if(uV(a)==0){this.l=null;}}
+function yF(b){var a;a=fF(this);if(b===null||uV(b)==0){rf(a,'title');}else{xf(a,'title',b);}}
+function zF(a){ag(this.rb(),'visibility',a?'visible':'hidden');iS(uF,this.rb(),a);}
+function AF(a){mF(this,a);}
+function BF(a){nF(this,a);}
+function FE(){}
+_=FE.prototype=new sH();_.qb=pF;_.yb=qF;_.zb=rF;_.Fb=sF;_.hc=tF;_.yc=vF;_.zc=wF;_.ne=xF;_.pe=yF;_.ue=zF;_.we=AF;_.xe=BF;_.tN=sgc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var uF;function zs(){zs=v3;eF();}
+function vs(a){a.e=dA(new hx());a.j=lu(new fu());}
+function ws(a){zs();xs(a,false);return a;}
+function xs(b,a){zs();ys(b,a,true);return b;}
+function ys(c,a,b){zs();cF(c,a,b);vs(c);c.j.ve(0,0,c.e);c.j.ne('100%');rz(c.j,0);tz(c.j,0);uz(c.j,0);Cx(c.j.n,1,0,'100%');by(c.j.n,1,0,'100%');Bx(c.j.n,1,0,(oA(),pA),(xA(),zA));mF(c,c.j);uO(c,'gwt-DialogBox');uO(c.e,'Caption');EC(c.e,c);return c;}
+function As(b,a){hA(b.e,a);}
+function Bs(b,a){bD(b.e,a);}
+function Cs(a,b){if(a.f!==null){qz(a.j,a.f);}if(b!==null){a.j.ve(1,0,b);}a.f=b;}
+function Ds(a){if(ze(a)==4){if(nf(this.e.rb(),xe(a))){Ae(a);}}return kF(this,a);}
+function Es(a,b,c){this.i=true;wf(this.e.rb());this.g=b;this.h=c;}
+function Fs(a){}
+function at(a){}
+function bt(c,d,e){var a,b;if(this.i){a=d+lO(this);b=e+mO(this);lF(this,a-this.g,b-this.h);}}
+function ct(a,b,c){this.i=false;pf(this.e.rb());}
+function dt(a){if(this.f!==a){return false;}qz(this.j,a);return true;}
+function et(a){Cs(this,a);}
+function ft(a){nF(this,a);this.j.xe('100%');}
+function us(){}
+_=us.prototype=new FE();_.zc=Ds;_.ed=Es;_.fd=Fs;_.gd=at;_.hd=bt;_.id=ct;_.be=dt;_.we=et;_.xe=ft;_.tN=sgc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function rt(){rt=v3;xt=new ht();yt=new ht();zt=new ht();At=new ht();Bt=new ht();}
+function ot(a){a.b=(oA(),qA);a.c=(xA(),AA);}
+function pt(a){rt();uq(a);ot(a);zf(a.e,'cellSpacing',0);zf(a.e,'cellPadding',0);return a;}
+function qt(c,d,a){var b;if(a===xt){if(d===c.a){return;}else if(c.a!==null){throw sT(new rT(),'Only one CENTER widget may be added');}}sQ(d);zP(c.f,d);if(a===xt){c.a=d;}b=kt(new jt(),a);uQ(d,b);ut(c,d,c.b);vt(c,d,c.c);st(c);uE(c,d);}
+function st(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ee(a)>0){qf(a,af(a,0));}l=1;d=1;for(h=EP(p.f);tP(h);){c=uP(h);e=c.u.a;if(e===zt||e===At){++l;}else if(e===yt||e===Bt){++d;}}m=Ab('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[636],[33],[l],null);for(g=0;g<l;++g){m[g]=new mt();m[g].b=he();vd(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=EP(p.f);tP(h);){c=uP(h);i=c.u;o=ge();i.d=o;Af(i.d,'align',i.b);ag(i.d,'verticalAlign',i.e);Af(i.d,'width',i.f);Af(i.d,'height',i.c);if(i.a===zt){lf(m[j].b,o,m[j].a);vd(o,c.rb());zf(o,'colSpan',f-q+1);++j;}else if(i.a===At){lf(m[n].b,o,m[n].a);vd(o,c.rb());zf(o,'colSpan',f-q+1);--n;}else if(i.a===Bt){k=m[j];lf(k.b,o,k.a++);vd(o,c.rb());zf(o,'rowSpan',n-j+1);++q;}else if(i.a===yt){k=m[j];lf(k.b,o,k.a);vd(o,c.rb());zf(o,'rowSpan',n-j+1);--f;}else if(i.a===xt){b=o;}}if(p.a!==null){k=m[j];lf(k.b,b,k.a);vd(b,p.a.rb());}}
+function tt(b,c){var a;a=as(b,c);if(a){if(c===b.a){b.a=null;}st(b);}return a;}
+function ut(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){Af(b.d,'align',b.b);}}
+function vt(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){ag(b.d,'verticalAlign',b.e);}}
+function wt(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){ag(a.d,'width',a.f);}}
+function Ct(a){return tt(this,a);}
+function Dt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){ag(a.d,'height',a.c);}}
+function Et(a,b){wt(this,a,b);}
+function gt(){}
+_=gt.prototype=new tq();_.be=Ct;_.he=Dt;_.ie=Et;_.tN=sgc+'DockPanel';_.tI=58;_.a=null;var xt,yt,zt,At,Bt;function ht(){}
+_=ht.prototype=new xU();_.tN=sgc+'DockPanel$DockLayoutConstant';_.tI=59;function kt(b,a){b.a=a;return b;}
+function jt(){}
+_=jt.prototype=new xU();_.tN=sgc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function mt(){}
+_=mt.prototype=new xU();_.tN=sgc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function au(a){a.je(Ad('input'));Af(a.rb(),'type','file');uO(a,'gwt-FileUpload');return a;}
+function cu(a){return df(a.rb(),'value');}
+function du(b,a){Af(b.rb(),'name',a);}
+function Ft(){}
+_=Ft.prototype=new oP();_.tN=sgc+'FileUpload';_.tI=62;function By(a){a.s=ry(new my());}
+function Cy(a){By(a);a.q=ie();a.m=fe();vd(a.q,a.m);a.je(a.q);vO(a,1);return a;}
+function Dy(b,a){if(b.r===null){b.r=FK(new EK());}bZ(b.r,a);}
+function Ey(d,c,b){var a;Fy(d,c);if(b<0){throw yT(new xT(),'Column '+b+' must be non-negative: '+b);}a=d.pb(c);if(a<=b){throw yT(new xT(),'Column index: '+b+', Column size: '+d.pb(c));}}
+function Fy(c,a){var b;b=c.Bb();if(a>=b||a<0){throw yT(new xT(),'Row index: '+a+', Row size: '+b);}}
+function az(e,c,b,a){var d;d=yx(e.n,c,b);nz(e,d,a);return d;}
+function bz(d){var a,b,c;for(c=0;c<d.Bb();++c){for(b=0;b<d.pb(c);++b){a=jz(d,c,b);if(a!==null){qz(d,a);}}}}
+function dz(a){return ge();}
+function ez(c,b,a){return b.rows[a].cells.length;}
+function fz(a){return gz(a,a.m);}
+function gz(b,a){return a.rows.length;}
+function hz(d,b){var a,c,e;c=xe(b);for(;c!==null;c=jf(c)){if(pV(df(c,'tagName'),'td')){e=jf(c);a=jf(e);if(wd(a,d.m)){return c;}}if(wd(c,d.m)){return null;}}return null;}
+function iz(d,c,a){var b;Ey(d,c,a);b=xx(d.n,c,a);return hf(b);}
+function kz(c,b,a){Ey(c,b,a);return jz(c,b,a);}
+function jz(e,d,b){var a,c;c=yx(e.n,d,b);a=ff(c);if(a===null){return null;}else{return ty(e.s,a);}}
+function lz(d,b,a){var c,e;e=ky(d.p,d.m,b);c=d.eb();lf(e,c,a);}
+function mz(b,a){var c;if(a!=pu(b)){Fy(b,a);}c=he();lf(b.m,c,a);return a;}
+function nz(d,c,a){var b,e;b=ff(c);e=null;if(b!==null){e=ty(d.s,b);}if(e!==null){qz(d,e);return true;}else{if(a){Df(c,'');}return false;}}
+function qz(b,c){var a;if(c.v!==b){return false;}wE(b,c);a=c.rb();qf(jf(a),a);wy(b.s,a);return true;}
+function oz(d,b,a){var c,e;Ey(d,b,a);c=az(d,b,a,false);e=ky(d.p,d.m,b);qf(e,c);}
+function pz(d,c){var a,b;b=d.pb(c);for(a=0;a<b;++a){az(d,c,a,false);}qf(d.m,ky(d.p,d.m,c));}
+function rz(a,b){Af(a.q,'border',''+b);}
+function sz(b,a){b.n=a;}
+function tz(b,a){zf(b.q,'cellPadding',a);}
+function uz(b,a){zf(b.q,'cellSpacing',a);}
+function vz(b,a){b.o=a;fy(b.o);}
+function wz(e,c,a,b){var d;Cw(e,c,a);d=az(e,c,a,b===null);if(b!==null){Df(d,b);}}
+function xz(b,a){b.p=a;}
+function yz(e,b,a,d){var c;e.ud(b,a);c=az(e,b,a,d===null);if(d!==null){Ef(c,d);}}
+function zz(d,b,a,e){var c;d.ud(b,a);if(e!==null){sQ(e);c=az(d,b,a,true);uy(d.s,e);vd(c,e.rb());uE(d,e);}}
+function Az(){bz(this);}
+function Bz(){return dz(this);}
+function Cz(b,a){lz(this,b,a);}
+function Dz(){return xy(this.s);}
+function Ez(c){var a,b,d,e,f;switch(ze(c)){case 1:{if(this.r!==null){e=hz(this,c);if(e===null){return;}f=jf(e);a=jf(f);d=Fe(a,f);b=Fe(f,e);bL(this.r,this,d,b);}break;}default:}}
+function bA(a){return qz(this,a);}
+function Fz(b,a){oz(this,b,a);}
+function aA(a){pz(this,a);}
+function cA(b,a,c){zz(this,b,a,c);}
+function ix(){}
+_=ix.prototype=new tE();_.F=Az;_.eb=Bz;_.ic=Cz;_.mc=Dz;_.tc=Ez;_.be=bA;_.Cd=Fz;_.Ed=aA;_.ve=cA;_.tN=sgc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function lu(a){Cy(a);sz(a,hu(new gu(),a));xz(a,hy(new gy(),a));vz(a,dy(new cy(),a));return a;}
+function nu(b,a){Fy(b,a);return ez(b,b.m,a);}
+function ou(a){return bc(a.n,43);}
+function pu(a){return fz(a);}
+function qu(b,a){return mz(b,a);}
+function ru(d,b){var a,c;if(b<0){throw yT(new xT(),'Cannot create a row with a negative index: '+b);}c=pu(d);for(a=c;a<=b;a++){qu(d,a);}}
+function su(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
+function tu(a){return nu(this,a);}
+function uu(){return pu(this);}
+function vu(b,a){lz(this,b,a);}
+function wu(d,b){var a,c;ru(this,d);if(b<0){throw yT(new xT(),'Cannot create a column with a negative index: '+b);}a=nu(this,d);c=b+1-a;if(c>0){su(this.m,d,c);}}
+function xu(a){ru(this,a);}
+function yu(b,a){oz(this,b,a);}
+function zu(a){pz(this,a);}
+function fu(){}
+_=fu.prototype=new ix();_.pb=tu;_.Bb=uu;_.ic=vu;_.ud=wu;_.vd=xu;_.Cd=yu;_.Ed=zu;_.tN=sgc+'FlexTable';_.tI=64;function tx(b,a){b.a=a;return b;}
+function vx(c,b,a){c.a.ud(b,a);return wx(c,c.a.m,b,a);}
+function wx(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
+function xx(c,b,a){Ey(c.a,b,a);return wx(c,c.a.m,b,a);}
+function yx(c,b,a){return wx(c,c.a.m,b,a);}
+function zx(d,c,a){var b;b=xx(d,c,a);return BO(b);}
+function Ax(e,b,a,c){var d;Ey(e.a,b,a);d=wx(e,e.a.m,b,a);FO(d,c,false);}
+function Bx(d,c,a,b,e){Dx(d,c,a,b);Fx(d,c,a,e);}
+function Cx(e,d,a,c){var b;e.a.ud(d,a);b=wx(e,e.a.m,d,a);Af(b,'height',c);}
+function Dx(e,d,b,a){var c;e.a.ud(d,b);c=wx(e,e.a.m,d,b);Af(c,'align',a.a);}
+function Ex(d,b,a,c){d.a.ud(b,a);EO(wx(d,d.a.m,b,a),c);}
+function Fx(d,c,b,a){d.a.ud(c,b);ag(wx(d,d.a.m,c,b),'verticalAlign',a.a);}
+function ay(d,c,a,e){var b;b=vx(d,c,a);bP(b,e);}
+function by(c,b,a,d){c.a.ud(b,a);Af(wx(c,c.a.m,b,a),'width',d);}
+function sx(){}
+_=sx.prototype=new xU();_.tN=sgc+'HTMLTable$CellFormatter';_.tI=65;function hu(b,a){tx(b,a);return b;}
+function ju(d,c,b,a){zf(vx(d,c,b),'colSpan',a);}
+function ku(d,b,a,c){zf(vx(d,b,a),'rowSpan',c);}
+function gu(){}
+_=gu.prototype=new sx();_.tN=sgc+'FlexTable$FlexCellFormatter';_.tI=66;function Bu(a){FY(a);return a;}
+function Eu(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),44);b.Bc(c);}}
+function Du(c,b,a){switch(ze(a)){case 2048:Eu(c,b);break;case 4096:Fu(c,b);break;}}
+function Fu(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),44);b.dd(c);}}
+function Au(){}
+_=Au.prototype=new DY();_.tN=sgc+'FocusListenerCollection';_.tI=67;function cv(){cv=v3;dv=(uR(),xR);}
+var dv;function sv(a){FY(a);return a;}
+function uv(f,e,d){var a,b,c;a=ow(new nw(),e,d);for(c=f.mc();c.gc();){b=bc(c.pc(),45);b.kd(a);}}
+function vv(e,d){var a,b,c;a=new qw();for(c=e.mc();c.gc();){b=bc(c.pc(),45);b.ld(a);}return a.a;}
+function rv(){}
+_=rv.prototype=new DY();_.tN=sgc+'FormHandlerCollection';_.tI=68;function Ev(){Ev=v3;iw=new BR();}
+function Cv(a){Ev();BH(a,Bd());a.b='FormPanel_'+ ++hw;fw(a,a.b);vO(a,32768);return a;}
+function Dv(b,a){if(b.a===null){b.a=sv(new rv());}bZ(b.a,a);}
+function Fv(b){var a;a=zd();Df(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=ff(a);}
+function aw(a){if(a.a!==null){return !vv(a.a,a);}return true;}
+function bw(a){if(a.a!==null){hg(zv(new yv(),a));}}
+function cw(a,b){Af(a.rb(),'action',b);}
+function dw(b,a){bS(iw,b.rb(),a);}
+function ew(b,a){Af(b.rb(),'method',a);}
+function fw(b,a){Af(b.rb(),'target',a);}
+function gw(a){if(a.a!==null){if(vv(a.a,a)){return;}}cS(iw,a.rb(),a.c);}
+function jw(){qQ(this);Fv(this);vd(hH(),this.c);DR(iw,this.c,this.rb(),this);}
+function kw(){rQ(this);ER(iw,this.c,this.rb());qf(hH(),this.c);this.c=null;}
+function lw(){var a;a=y;{return aw(this);}}
+function mw(){var a;a=y;{bw(this);}}
+function xv(){}
+_=xv.prototype=new sH();_.rc=jw;_.yc=kw;_.Cc=lw;_.Dc=mw;_.tN=sgc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var hw=0,iw;function zv(b,a){b.a=a;return b;}
+function Bv(){uv(this.a.a,this,aS((Ev(),iw),this.a.c));}
+function yv(){}
+_=yv.prototype=new xU();_.nb=Bv;_.tN=sgc+'FormPanel$1';_.tI=70;function E0(){}
+_=E0.prototype=new xU();_.tN=wgc+'EventObject';_.tI=71;function ow(c,b,a){c.a=a;return c;}
+function nw(){}
+_=nw.prototype=new E0();_.tN=sgc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function sw(b,a){b.a=a;}
+function qw(){}
+_=qw.prototype=new E0();_.tN=sgc+'FormSubmitEvent';_.tI=73;_.a=false;function uw(a){a.je(Cd());return a;}
+function vw(a,b){uw(a);xw(a,b);return a;}
+function xw(a,b){Af(a.rb(),'src',b);}
+function tw(){}
+_=tw.prototype=new oP();_.tN=sgc+'Frame';_.tI=74;function zw(a){Cy(a);sz(a,tx(new sx(),a));xz(a,hy(new gy(),a));vz(a,dy(new cy(),a));return a;}
+function Aw(c,b,a){zw(c);ax(c,b,a);return c;}
+function Cw(c,b,a){Dw(c,b);if(a<0){throw yT(new xT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw yT(new xT(),'Column index: '+a+', Column size: '+c.k);}}
+function Dw(b,a){if(a<0){throw yT(new xT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw yT(new xT(),'Row index: '+a+', Row size: '+b.l);}}
+function ax(c,b,a){Ew(c,a);Fw(c,b);}
+function Ew(d,a){var b,c;if(d.k==a){return;}if(a<0){throw yT(new xT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Cd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.ic(b,c);}}}d.k=a;}
+function Fw(b,a){if(b.l==a){return;}if(a<0){throw yT(new xT(),'Cannot set number of rows to '+a);}if(b.l<a){bx(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.Ed(--b.l);}}}
+function bx(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
+function cx(){var a;a=dz(this);Df(a,'&nbsp;');return a;}
+function dx(a){return this.k;}
+function ex(){return this.l;}
+function fx(b,a){Cw(this,b,a);}
+function gx(a){Dw(this,a);}
+function yw(){}
+_=yw.prototype=new ix();_.eb=cx;_.pb=dx;_.Bb=ex;_.ud=fx;_.vd=gx;_.tN=sgc+'Grid';_.tI=75;_.k=0;_.l=0;function BC(a){a.je(zd());vO(a,131197);uO(a,'gwt-Label');return a;}
+function CC(b,a){BC(b);bD(b,a);return b;}
+function DC(b,a){if(b.a===null){b.a=qr(new pr());}bZ(b.a,a);}
+function EC(b,a){if(b.b===null){b.b=aE(new FD());}bZ(b.b,a);}
+function aD(a){return hf(a.rb());}
+function bD(b,a){Ef(b.rb(),a);}
+function cD(a,b){ag(a.rb(),'whiteSpace',b?'normal':'nowrap');}
+function dD(a){switch(ze(a)){case 1:if(this.a!==null){sr(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){eE(this.b,this,a);}break;case 131072:break;}}
+function AC(){}
+_=AC.prototype=new oP();_.tc=dD;_.tN=sgc+'Label';_.tI=76;_.a=null;_.b=null;function dA(a){BC(a);a.je(zd());vO(a,125);uO(a,'gwt-HTML');return a;}
+function eA(b,a){dA(b);hA(b,a);return b;}
+function fA(b,a,c){eA(b,a);cD(b,c);return b;}
+function hA(b,a){Df(b.rb(),a);}
+function hx(){}
+_=hx.prototype=new AC();_.tN=sgc+'HTML';_.tI=77;function kx(a){{nx(a);}}
+function lx(b,a){b.c=a;kx(b);return b;}
+function nx(a){while(++a.b<a.c.b.b){if(gZ(a.c.b,a.b)!==null){return;}}}
+function ox(a){return a.b<a.c.b.b;}
+function px(){return ox(this);}
+function qx(){var a;if(!ox(this)){throw new d3();}a=gZ(this.c.b,this.b);this.a=this.b;nx(this);return a;}
+function rx(){var a;if(this.a<0){throw new uT();}a=bc(gZ(this.c.b,this.a),13);sQ(a);this.a=(-1);}
+function jx(){}
+_=jx.prototype=new xU();_.gc=px;_.pc=qx;_.Fd=rx;_.tN=sgc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function dy(b,a){b.b=a;return b;}
+function fy(a){if(a.a===null){a.a=Ad('colgroup');lf(a.b.q,a.a,0);vd(a.a,Ad('col'));}}
+function cy(){}
+_=cy.prototype=new xU();_.tN=sgc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function hy(b,a){b.a=a;return b;}
+function jy(b,a){b.a.vd(a);return ky(b,b.a.m,a);}
+function ky(c,a,b){return a.rows[b];}
+function ly(c,a,b){EO(jy(c,a),b);}
+function gy(){}
+_=gy.prototype=new xU();_.tN=sgc+'HTMLTable$RowFormatter';_.tI=80;function qy(a){a.b=FY(new DY());}
+function ry(a){qy(a);return a;}
+function ty(c,a){var b;b=zy(a);if(b<0){return null;}return bc(gZ(c.b,b),13);}
+function uy(b,c){var a;if(b.a===null){a=b.b.b;bZ(b.b,c);}else{a=b.a.a;mZ(b.b,a,c);b.a=b.a.b;}Ay(c.rb(),a);}
+function vy(c,a,b){yy(a);mZ(c.b,b,null);c.a=oy(new ny(),b,c.a);}
+function wy(c,a){var b;b=zy(a);vy(c,a,b);}
+function xy(a){return lx(new jx(),a);}
+function yy(a){a['__widgetID']=null;}
+function zy(a){var b=a['__widgetID'];return b==null?-1:b;}
+function Ay(a,b){a['__widgetID']=b;}
+function my(){}
+_=my.prototype=new xU();_.tN=sgc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function oy(c,a,b){c.a=a;c.b=b;return c;}
+function ny(){}
+_=ny.prototype=new xU();_.tN=sgc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function oA(){oA=v3;pA=mA(new lA(),'center');qA=mA(new lA(),'left');rA=mA(new lA(),'right');}
+var pA,qA,rA;function mA(b,a){b.a=a;return b;}
+function lA(){}
+_=lA.prototype=new xU();_.tN=sgc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function xA(){xA=v3;yA=vA(new uA(),'bottom');zA=vA(new uA(),'middle');AA=vA(new uA(),'top');}
+var yA,zA,AA;function vA(a,b){a.a=b;return a;}
+function uA(){}
+_=uA.prototype=new xU();_.tN=sgc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function EA(a){a.a=(oA(),qA);a.c=(xA(),AA);}
+function FA(a){uq(a);EA(a);a.b=he();vd(a.d,a.b);Af(a.e,'cellSpacing','0');Af(a.e,'cellPadding','0');return a;}
+function aB(b,c){var a;a=cB(b);vd(b.b,a);xr(b,c,a);}
+function cB(b){var a;a=ge();wq(b,a,b.a);xq(b,a,b.c);return a;}
+function dB(c,d,a){var b;Ar(c,a);b=cB(c);lf(c.b,b,a);Er(c,d,b,a,false);}
+function eB(c,d){var a,b;b=jf(d.rb());a=as(c,d);if(a){qf(c.b,b);}return a;}
+function fB(b,a){b.c=a;}
+function gB(a){return eB(this,a);}
+function DA(){}
+_=DA.prototype=new tq();_.be=gB;_.tN=sgc+'HorizontalPanel';_.tI=85;_.b=null;function iB(a){a.je(zd());vd(a.rb(),a.a=xd());vO(a,1);uO(a,'gwt-Hyperlink');return a;}
+function jB(c,b,a){iB(c);mB(c,b);lB(c,a);return c;}
+function lB(b,a){b.b=a;Af(b.a,'href','#'+a);}
+function mB(b,a){Ef(b.a,a);}
+function nB(a){if(ze(a)==1){dh(this.b);Ae(a);}}
+function hB(){}
+_=hB.prototype=new oP();_.tc=nB;_.tN=sgc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function hC(){hC=v3;C1(new a1());}
+function dC(a){hC();gC(a,CB(new BB(),a));uO(a,'gwt-Image');return a;}
+function eC(a,b){hC();gC(a,DB(new BB(),a,b));uO(a,'gwt-Image');return a;}
+function fC(b,a){if(b.a===null){b.a=qr(new pr());}bZ(b.a,a);}
+function gC(b,a){b.b=a;}
+function jC(a,b){a.b.re(a,b);}
+function iC(c,e,b,d,f,a){c.b.qe(c,e,b,d,f,a);}
+function kC(a){switch(ze(a)){case 1:{if(this.a!==null){sr(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
+function oB(){}
+_=oB.prototype=new oP();_.tc=kC;_.tN=sgc+'Image';_.tI=87;_.a=null;_.b=null;function rB(){}
+function pB(){}
+_=pB.prototype=new xU();_.nb=rB;_.tN=sgc+'Image$1';_.tI=88;function zB(){}
+_=zB.prototype=new xU();_.tN=sgc+'Image$State';_.tI=89;function uB(){uB=v3;wB=bR(new aR());}
+function tB(d,b,f,c,e,g,a){uB();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.je(iR(wB,f,c,e,g,a));vO(b,131197);vB(d,b);return d;}
+function vB(b,a){hg(new pB());}
+function yB(a,b){gC(a,DB(new BB(),a,b));}
+function xB(b,e,c,d,f,a){if(!qV(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;cR(wB,b.rb(),e,c,d,f,a);vB(this,b);}}
+function sB(){}
+_=sB.prototype=new zB();_.re=yB;_.qe=xB;_.tN=sgc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var wB;function CB(b,a){a.je(Dd());vO(a,229501);return b;}
+function DB(b,a,c){CB(b,a);FB(b,a,c);return b;}
+function FB(b,a,c){Cf(a.rb(),c);}
+function bC(a,b){FB(this,a,b);}
+function aC(b,e,c,d,f,a){gC(b,tB(new sB(),b,e,c,d,f,a));}
+function BB(){}
+_=BB.prototype=new zB();_.re=bC;_.qe=aC;_.tN=sgc+'Image$UnclippedState';_.tI=91;function oC(c,a,b){}
+function pC(c,a,b){}
+function qC(c,a,b){}
+function mC(){}
+_=mC.prototype=new xU();_.Fc=oC;_.ad=pC;_.bd=qC;_.tN=sgc+'KeyboardListenerAdapter';_.tI=92;function sC(a){FY(a);return a;}
+function uC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.Fc(e,b,d);}}
+function vC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.ad(e,b,d);}}
+function wC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.bd(e,b,d);}}
+function xC(d,c,a){var b;b=yC(a);switch(ze(a)){case 128:uC(d,c,dc(ue(a)),b);break;case 512:wC(d,c,dc(ue(a)),b);break;case 256:vC(d,c,dc(ue(a)),b);break;}}
+function yC(a){return (we(a)?1:0)|(ve(a)?8:0)|(re(a)?2:0)|(oe(a)?4:0);}
+function rC(){}
+_=rC.prototype=new DY();_.tN=sgc+'KeyboardListenerCollection';_.tI=93;function tD(){tD=v3;hv();DD=new fD();}
+function mD(a){tD();nD(a,false);return a;}
+function nD(b,a){tD();fv(b,de(a));vO(b,1024);uO(b,'gwt-ListBox');return b;}
+function oD(b,a){if(b.b===null){b.b=Bq(new Aq());}bZ(b.b,a);}
+function pD(b,a){yD(b,a,(-1));}
+function qD(b,a,c){zD(b,a,c,(-1));}
+function rD(b,a){if(a<0||a>=uD(b)){throw new xT();}}
+function sD(a){gD(DD,a.rb());}
+function uD(a){return iD(DD,a.rb());}
+function vD(b,a){rD(b,a);return jD(DD,b.rb(),a);}
+function wD(a){return cf(a.rb(),'selectedIndex');}
+function xD(b,a){rD(b,a);return kD(DD,b.rb(),a);}
+function yD(c,b,a){zD(c,b,b,a);}
+function zD(c,b,d,a){mf(c.rb(),b,d,a);}
+function AD(b,a){rD(b,a);lD(DD,b.rb(),a);}
+function BD(b,a){zf(b.rb(),'selectedIndex',a);}
+function CD(a,b){zf(a.rb(),'size',b);}
+function ED(a){if(ze(a)==1024){if(this.b!==null){Dq(this.b,this);}}else{iv(this,a);}}
+function eD(){}
+_=eD.prototype=new ev();_.tc=ED;_.tN=sgc+'ListBox';_.tI=94;_.b=null;var DD;function gD(b,a){a.options.length=0;}
+function iD(b,a){return a.options.length;}
+function jD(c,b,a){return b.options[a].text;}
+function kD(c,b,a){return b.options[a].value;}
+function lD(c,b,a){b.options[a]=null;}
+function fD(){}
+_=fD.prototype=new xU();_.tN=sgc+'ListBox$Impl';_.tI=95;function aE(a){FY(a);return a;}
+function cE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.ed(c,e,f);}}
+function dE(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.fd(c);}}
+function eE(e,c,a){var b,d,f,g,h;d=c.rb();g=pe(a)-Ce(d)+cf(d,'scrollLeft')+ei();h=qe(a)-De(d)+cf(d,'scrollTop')+fi();switch(ze(a)){case 4:cE(e,c,g,h);break;case 8:hE(e,c,g,h);break;case 64:gE(e,c,g,h);break;case 16:b=te(a);if(!nf(d,b)){dE(e,c);}break;case 32:f=ye(a);if(!nf(d,f)){fE(e,c);}break;}}
+function fE(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.gd(c);}}
+function gE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.hd(c,e,f);}}
+function hE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.id(c,e,f);}}
+function FD(){}
+_=FD.prototype=new DY();_.tN=sgc+'MouseListenerCollection';_.tI=96;function jE(){}
+_=jE.prototype=new xU();_.tN=sgc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=97;_.a=null;_.b=null;function nE(b,a){rE(a,b.Bd());sE(a,b.Bd());}
+function oE(a){return a.a;}
+function pE(a){return a.b;}
+function qE(b,a){b.cf(oE(a));b.cf(pE(a));}
+function rE(a,b){a.a=b;}
+function sE(a,b){a.b=b;}
+function qL(){qL=v3;hv();xL=new mS();}
+function mL(b,a){qL();fv(b,a);vO(b,1024);return b;}
+function nL(b,a){if(b.f===null){b.f=Bq(new Aq());}bZ(b.f,a);}
+function oL(b,a){if(b.i===null){b.i=sC(new rC());}bZ(b.i,a);}
+function pL(a){if(a.h!==null){Ae(a.h);}}
+function rL(a){return df(a.rb(),'value');}
+function sL(b,a){uL(b,a,0);}
+function tL(b,a){Af(b.rb(),'name',a);}
+function uL(c,b,a){if(a<0){throw yT(new xT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>uV(rL(c))){throw yT(new xT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+uV(rL(c)));}pS(xL,c.rb(),b,a);}
+function vL(b,a){Af(b.rb(),'value',a!==null?a:'');}
+function wL(a){if(this.g===null){this.g=qr(new pr());}bZ(this.g,a);}
+function yL(a){var b;iv(this,a);b=ze(a);if(this.i!==null&&(b&896)!=0){this.h=a;xC(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){sr(this.g,this);}}else if(b==1024){if(this.f!==null){Dq(this.f,this);}}}
+function lL(){}
+_=lL.prototype=new ev();_.x=wL;_.tc=yL;_.tN=sgc+'TextBoxBase';_.tI=98;_.f=null;_.g=null;_.h=null;_.i=null;var xL;function EE(){EE=v3;qL();}
+function DE(a){EE();mL(a,Fd());uO(a,'gwt-PasswordTextBox');return a;}
+function CE(){}
+_=CE.prototype=new lL();_.tN=sgc+'PasswordTextBox';_.tI=99;function jG(b,a){kG(b,a,null);return b;}
+function kG(c,a,b){c.a=a;mG(c);return c;}
+function lG(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=yG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=yG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=vG(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
+function mG(a){a.b=0;a.c={};a.d={};}
+function oG(b,a){return fZ(pG(b,a,1),a);}
+function pG(c,b,a){var d;d=FY(new DY());if(b!==null&&a>0){rG(c,b,'',d,a);}return d;}
+function qG(a){return EF(new DF(),a);}
+function rG(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=yG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+BG(a);h.ze(f,l,c,b);}}else{for(j in k){var l=d+BG(j);if(l.indexOf(f)==0){c.C(l);}if(c.ye()>=b){return;}}for(var a in i){var l=d+BG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.ye()||h.b==1){h.lb(c,l);}else{for(var j in h.d){c.C(l+BG(j));}for(var g in h.c){c.C(l+BG(g)+'...');}}}}}}
+function sG(a){if(cc(a,1)){return lG(this,bc(a,1));}else{throw vW(new uW(),'Cannot add non-Strings to PrefixTree');}}
+function tG(a){return lG(this,a);}
+function uG(a){if(cc(a,1)){return oG(this,bc(a,1));}else{return false;}}
+function vG(a){return jG(new CF(),a);}
+function wG(b,c){var a;for(a=qG(this);bG(a);){b.C(c+bc(eG(a),1));}}
+function xG(){return qG(this);}
+function yG(a){return ac(58)+a;}
+function zG(){return this.b;}
+function AG(d,c,b,a){rG(this,d,c,b,a);}
+function BG(a){return zV(a,1);}
+function CF(){}
+_=CF.prototype=new xW();_.C=sG;_.D=tG;_.db=uG;_.lb=wG;_.mc=xG;_.ye=zG;_.ze=AG;_.tN=sgc+'PrefixTree';_.tI=100;_.a=0;_.b=0;_.c=null;_.d=null;function EF(a,b){cG(a);FF(a,b,'');return a;}
+function FF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
+function bG(a){return dG(a,true)!==null;}
+function cG(a){a.a=[];}
+function eG(a){var b;b=dG(a,false);if(b===null){if(!bG(a)){throw e3(new d3(),'No more elements in the iterator');}else{throw DU(new CU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
+function dG(g,b){var d=g.a;var c=yG;var i=BG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
+function fG(b,a){FF(this,b,a);}
+function gG(){return bG(this);}
+function hG(){return eG(this);}
+function iG(){throw vW(new uW(),'PrefixTree does not support removal.  Use clear()');}
+function DF(){}
+_=DF.prototype=new xU();_.A=fG;_.gc=gG;_.pc=hG;_.Fd=iG;_.tN=sgc+'PrefixTree$PrefixTreeIterator';_.tI=101;_.a=null;function FG(){FG=v3;dr();}
+function DG(b,a){FG();br(b,ae(a));uO(b,'gwt-RadioButton');return b;}
+function EG(c,b,a){FG();DG(c,b);hr(c,a);return c;}
+function CG(){}
+_=CG.prototype=new Fq();_.tN=sgc+'RadioButton';_.tI=102;function gH(){gH=v3;lH=C1(new a1());}
+function fH(b,a){gH();cq(b);if(a===null){a=hH();}b.je(a);b.rc();return b;}
+function iH(){gH();return jH(null);}
+function jH(c){gH();var a,b;b=bc(c2(lH,c),48);if(b!==null){return b;}a=null;if(lH.c==0){kH();}d2(lH,c,b=fH(new aH(),a));return b;}
+function hH(){gH();return $doc.body;}
+function kH(){gH();Bh(new bH());}
+function aH(){}
+_=aH.prototype=new bq();_.tN=sgc+'RootPanel';_.tI=103;var lH;function dH(){var a,b;for(b=cY(rY((gH(),lH)));jY(b);){a=bc(kY(b),48);if(a.kc()){a.yc();}}}
+function eH(){return null;}
+function bH(){}
+_=bH.prototype=new xU();_.rd=dH;_.sd=eH;_.tN=sgc+'RootPanel$1';_.tI=104;function nH(a){AH(a);qH(a,false);vO(a,16384);return a;}
+function oH(b,a){nH(b);b.we(a);return b;}
+function qH(b,a){ag(b.rb(),'overflow',a?'scroll':'auto');}
+function rH(a){ze(a)==16384;}
+function mH(){}
+_=mH.prototype=new sH();_.tc=rH;_.tN=sgc+'ScrollPanel';_.tI=105;function uH(a){a.a=a.c.r!==null;}
+function vH(b,a){b.c=a;uH(b);return b;}
+function xH(){return this.a;}
+function yH(){if(!this.a||this.c.r===null){throw new d3();}this.a=false;return this.b=this.c.r;}
+function zH(){if(this.b!==null){this.c.be(this.b);}}
+function tH(){}
+_=tH.prototype=new xU();_.gc=xH;_.pc=yH;_.Fd=zH;_.tN=sgc+'SimplePanel$1';_.tI=106;_.b=null;function qI(b){var a;wr(b);a=ie();b.je(a);b.a=fe();vd(a,b.a);zf(a,'cellSpacing',0);zf(a,'cellPadding',0);bg(a,1);uO(b,'gwt-StackPanel');return b;}
+function rI(a,b){vI(a,b,a.f.c);}
+function sI(c,d,b,a){rI(c,d);xI(c,c.f.c-1,b,a);}
+function uI(d,a){var b,c;while(a!==null&& !wd(a,d.rb())){b=df(a,'__index');if(b!==null){c=cf(a,'__owner');if(c==d.hC()){return ET(b);}else{return (-1);}}a=jf(a);}return (-1);}
+function vI(e,h,a){var b,c,d,f,g;g=he();d=ge();vd(g,d);f=he();c=ge();vd(f,c);a=yr(e,h,a);b=a*2;lf(e.a,f,b);lf(e.a,g,b);FO(d,'gwt-StackPanelItem',true);zf(d,'__owner',e.hC());Af(d,'height','1px');Af(c,'height','100%');Af(c,'vAlign','top');Er(e,h,c,a,false);AI(e,a);if(e.b==(-1)){zI(e,0);}else{yI(e,a,false);if(e.b>=a){++e.b;}}}
+function wI(e,a,b){var c,d,f;c=as(e,a);if(c){d=2*b;f=af(e.a,d);qf(e.a,f);f=af(e.a,d);qf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}AI(e,d);}return c;}
+function xI(e,b,d,a){var c;if(b>=e.f.c){return;}c=af(af(e.a,b*2),0);if(a){Df(c,d);}else{Ef(c,d);}}
+function yI(c,a,e){var b,d;d=af(c.a,a*2);if(d===null){return;}b=ff(d);FO(b,'gwt-StackPanelItem-selected',e);d=af(c.a,a*2+1);bP(d,e);Dr(c,a).ue(e);}
+function zI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){yI(b,b.b,false);}b.b=a;yI(b,b.b,true);}
+function AI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=af(f.a,e*2);c=ff(d);zf(c,'__index',e);}}
+function BI(a){var b,c;if(ze(a)==1){c=xe(a);b=uI(this,c);if(b!=(-1)){zI(this,b);}}}
+function CI(a){return wI(this,Dr(this,a),a);}
+function DI(a){return wI(this,a,Cr(this,a));}
+function pI(){}
+_=pI.prototype=new ur();_.tc=BI;_.ae=CI;_.be=DI;_.tN=sgc+'StackPanel';_.tI=107;_.a=null;_.b=(-1);function EI(){}
+_=EI.prototype=new xU();_.tN=sgc+'SuggestOracle$Request';_.tI=108;_.a=20;_.b=null;function aJ(){}
+_=aJ.prototype=new xU();_.tN=sgc+'SuggestOracle$Response';_.tI=109;_.a=null;function fJ(b,a){jJ(a,b.yd());kJ(a,b.Bd());}
+function gJ(a){return a.a;}
+function hJ(a){return a.b;}
+function iJ(b,a){b.Fe(gJ(a));b.cf(hJ(a));}
+function jJ(a,b){a.a=b;}
+function kJ(a,b){a.b=b;}
+function nJ(b,a){qJ(a,bc(b.Ad(),49));}
+function oJ(a){return a.a;}
+function pJ(b,a){b.bf(oJ(a));}
+function qJ(a,b){a.a=b;}
+function sJ(a){a.a=FA(new DA());}
+function tJ(c){var a,b;sJ(c);gs(c,c.a);vO(c,1);uO(c,'gwt-TabBar');fB(c.a,(xA(),yA));a=fA(new hx(),'&nbsp;',true);b=fA(new hx(),'&nbsp;',true);uO(a,'gwt-TabBarFirst');uO(b,'gwt-TabBarRest');a.ne('100%');b.ne('100%');aB(c.a,a);aB(c.a,b);a.ne('100%');c.a.he(a,'100%');c.a.ie(b,'100%');return c;}
+function uJ(b,a){if(b.c===null){b.c=FJ(new EJ());}bZ(b.c,a);}
+function vJ(b,a){if(a<0||a>yJ(b)){throw new xT();}}
+function wJ(b,a){if(a<(-1)||a>=yJ(b)){throw new xT();}}
+function yJ(a){return a.a.f.c-2;}
+function zJ(e,d,a,b){var c;vJ(e,b);if(a){c=eA(new hx(),d);}else{c=CC(new AC(),d);}cD(c,false);DC(c,e);uO(c,'gwt-TabBarItem');dB(e.a,c,b+1);}
+function AJ(b,a){var c;wJ(b,a);c=Dr(b.a,a+1);if(c===b.b){b.b=null;}eB(b.a,c);}
+function BJ(b,a){wJ(b,a);if(b.c!==null){if(!bK(b.c,b,a)){return false;}}CJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=Dr(b.a,a+1);CJ(b,b.b,true);if(b.c!==null){cK(b.c,b,a);}return true;}
+function CJ(c,a,b){if(a!==null){if(b){jO(a,'gwt-TabBarItem-selected');}else{pO(a,'gwt-TabBarItem-selected');}}}
+function DJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(Dr(this.a,a)===b){BJ(this,a-1);return;}}}
+function rJ(){}
+_=rJ.prototype=new es();_.wc=DJ;_.tN=sgc+'TabBar';_.tI=110;_.b=null;_.c=null;function FJ(a){FY(a);return a;}
+function bK(e,c,d){var a,b;for(a=e.mc();a.gc();){b=bc(a.pc(),50);if(!b.sc(c,d)){return false;}}return true;}
+function cK(e,c,d){var a,b;for(a=e.mc();a.gc();){b=bc(a.pc(),50);b.nd(c,d);}}
+function EJ(){}
+_=EJ.prototype=new DY();_.tN=sgc+'TabListenerCollection';_.tI=111;function rK(a){a.b=nK(new mK());a.a=gK(new fK(),a.b);}
+function sK(b){var a;rK(b);a=hP(new fP());iP(a,b.b);iP(a,b.a);a.he(b.a,'100%');b.b.xe('100%');uJ(b.b,b);gs(b,a);uO(b,'gwt-TabPanel');uO(b.a,'gwt-TabPanelBottom');return b;}
+function tK(c,d,b,a){xK(c,d,b,a,c.a.f.c);}
+function wK(b,a){return Dr(b.a,a);}
+function vK(a,b){return Cr(a.a,b);}
+function xK(d,e,c,a,b){iK(d.a,e,c,a,b);}
+function yK(b,a){return b.a.ae(a);}
+function zK(b,a){BJ(b.b,a);}
+function AK(){return Fr(this.a);}
+function BK(a,b){return true;}
+function CK(a,b){ss(this.a,b);}
+function DK(a){return jK(this.a,a);}
+function eK(){}
+_=eK.prototype=new es();_.mc=AK;_.sc=BK;_.nd=CK;_.be=DK;_.tN=sgc+'TabPanel';_.tI=112;function gK(b,a){ms(b);b.a=a;return b;}
+function iK(e,f,d,a,b){var c;c=Cr(e,f);if(c!=(-1)){jK(e,f);if(c<b){b--;}}pK(e.a,d,a,b);ps(e,f,b);}
+function jK(b,c){var a;a=Cr(b,c);if(a!=(-1)){qK(b.a,a);return qs(b,c);}return false;}
+function kK(){throw vW(new uW(),'Use TabPanel.clear() to alter the DeckPanel');}
+function lK(a){return jK(this,a);}
+function fK(){}
+_=fK.prototype=new ls();_.F=kK;_.be=lK;_.tN=sgc+'TabPanel$TabbedDeckPanel';_.tI=113;_.a=null;function nK(a){tJ(a);return a;}
+function pK(d,c,a,b){zJ(d,c,a,b);}
+function qK(b,a){AJ(b,a);}
+function mK(){}
+_=mK.prototype=new rJ();_.tN=sgc+'TabPanel$UnmodifiableTabBar';_.tI=114;function FK(a){FY(a);return a;}
+function bL(f,e,d,a){var b,c;for(b=f.mc();b.gc();){c=bc(b.pc(),51);c.uc(e,d,a);}}
+function EK(){}
+_=EK.prototype=new DY();_.tN=sgc+'TableListenerCollection';_.tI=115;function fL(){fL=v3;qL();}
+function eL(a){fL();mL(a,je());uO(a,'gwt-TextArea');return a;}
+function gL(a){return oS(xL,a.rb());}
+function hL(a){return cf(a.rb(),'rows');}
+function iL(a,b){zf(a.rb(),'cols',b);}
+function jL(b,a){zf(b.rb(),'rows',a);}
+function dL(){}
+_=dL.prototype=new lL();_.tN=sgc+'TextArea';_.tI=116;function AL(){AL=v3;qL();}
+function zL(a){AL();mL(a,be());uO(a,'gwt-TextBox');return a;}
+function BL(b,a){zf(b.rb(),'size',a);}
+function kL(){}
+_=kL.prototype=new lL();_.tN=sgc+'TextBox';_.tI=117;function iN(a){a.a=C1(new a1());}
+function jN(a){kN(a,gM(new fM()));return a;}
+function kN(b,a){iN(b);b.d=a;b.je(zd());ag(b.rb(),'position','relative');b.c=vR((cv(),dv));ag(b.c,'fontSize','0');ag(b.c,'position','absolute');Ff(b.c,'zIndex',(-1));vd(b.rb(),b.c);vO(b,1021);bg(b.c,6144);b.g=EL(new DL(),b);BM(b.g,b);uO(b,'gwt-Tree');return b;}
+function mN(c,a){var b;b=pM(new mM(),a);lN(c,b);return b;}
+function lN(b,a){FL(b.g,a);}
+function nN(b,a){if(b.f===null){b.f=dN(new cN());}bZ(b.f,a);}
+function oN(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){vM(sM(c.g,a));}}
+function qN(d,a,c,b){if(b===null||wd(b,c)){return;}qN(d,a,c,jf(b));bZ(a,jc(b,kg));}
+function rN(e,d,b){var a,c;a=FY(new DY());qN(e,a,e.rb(),b);c=tN(e,a,0,d);if(c!==null){if(nf(uM(c),b)){AM(c,!c.f,true);return true;}else if(nf(c.rb(),b)){AN(e,c,true,!bO(e,b));return true;}}return false;}
+function sN(b,a){if(!a.f){return a;}return sN(b,sM(a,a.c.b-1));}
+function tN(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=bc(gZ(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=sM(h,d);if(wd(b.rb(),c)){g=tN(i,a,e+1,sM(h,d));if(g===null){return b;}return g;}}return tN(i,a,e+1,h);}
+function uN(b,a){if(b.f!==null){gN(b.f,a);}}
+function vN(b,a){return sM(b.g,a);}
+function wN(a){var b;b=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[615],[13],[a.a.c],null);qY(a.a).Be(b);return oQ(a,b);}
+function xN(h,g){var a,b,c,d,e,f,i,j;c=tM(g);{f=g.d;a=lO(h);b=mO(h);e=Ce(f)-a;i=De(f)-b;j=cf(f,'offsetWidth');d=cf(f,'offsetHeight');Ff(h.c,'left',e);Ff(h.c,'top',i);Ff(h.c,'width',j);Ff(h.c,'height',d);vf(h.c);rR((cv(),dv),h.c);}}
+function yN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=rM(c,d);if(!a|| !d.f){if(b<c.c.b-1){AN(e,sM(c,b+1),true,true);}else{yN(e,c,false);}}else if(d.c.b>0){AN(e,sM(d,0),true,true);}}
+function zN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=rM(b,c);if(a>0){d=sM(b,a-1);AN(e,sN(e,d),true,true);}else{AN(e,b,true,true);}}
+function AN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){yM(d.b,false);}d.b=b;if(c&&d.b!==null){xN(d,d.b);yM(d.b,true);if(a&&d.f!==null){fN(d.f,d.b);}}}
+function DN(b,c){var a;a=bc(c2(b.a,c),52);if(a===null){return false;}DM(a,null);return true;}
+function BN(b,a){bM(b.g,a);}
+function CN(a){while(a.g.c.b>0){BN(a,vN(a,0));}}
+function EN(b,a){if(a){rR((cv(),dv),b.c);}else{tR((cv(),dv),b.c);}}
+function FN(b,a){aO(b,a,true);}
+function aO(c,b,a){if(b===null){if(c.b===null){return;}yM(c.b,false);c.b=null;return;}AN(c,b,a,true);}
+function bO(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
+function cO(){var a,b;for(b=wN(this);hQ(b);){a=iQ(b);a.rc();}Bf(this.c,this);}
+function dO(){var a,b;for(b=wN(this);hQ(b);){a=iQ(b);a.yc();}Bf(this.c,null);}
+function eO(){return wN(this);}
+function fO(c){var a,b,d,e,f;d=ze(c);switch(d){case 1:{b=xe(c);if(bO(this,b)){}else{EN(this,true);}break;}case 4:{if(mg(se(c),jc(this.rb(),kg))){rN(this,this.g,xe(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){AN(this,sM(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(ue(c)){case 38:{zN(this,this.b);Ae(c);break;}case 40:{yN(this,this.b,true);Ae(c);break;}case 37:{if(this.b.f){zM(this.b,false);}else{f=this.b.g;if(f!==null){FN(this,f);}}Ae(c);break;}case 39:{if(!this.b.f){zM(this.b,true);}else if(this.b.c.b>0){FN(this,sM(this.b,0));}Ae(c);break;}}}case 512:if(d==512){if(ue(c)==9){a=FY(new DY());qN(this,a,this.rb(),xe(c));e=tN(this,a,0,this.g);if(e!==this.b){aO(this,e,true);}}}case 256:{break;}}this.e=d;}
+function gO(){EM(this.g);}
+function hO(a){return DN(this,a);}
+function CL(){}
+_=CL.prototype=new oP();_.ib=cO;_.kb=dO;_.mc=eO;_.tc=fO;_.cd=gO;_.be=hO;_.tN=sgc+'Tree';_.tI=118;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function nM(a){a.c=FY(new DY());a.i=dC(new oB());}
+function oM(d){var a,b,c,e;nM(d);d.je(zd());d.e=ie();d.d=ee();d.b=ee();a=fe();e=he();c=ge();b=ge();vd(d.e,a);vd(a,e);vd(e,c);vd(e,b);ag(c,'verticalAlign','middle');ag(b,'verticalAlign','middle');vd(d.rb(),d.e);vd(d.rb(),d.b);vd(c,d.i.rb());vd(b,d.d);ag(d.d,'display','inline');ag(d.rb(),'whiteSpace','nowrap');ag(d.b,'whiteSpace','nowrap');FO(d.d,'gwt-TreeItem',true);return d;}
+function pM(b,a){oM(b);wM(b,a);return b;}
+function sM(b,a){if(a<0||a>=b.c.b){return null;}return bc(gZ(b.c,a),52);}
+function rM(b,a){return hZ(b.c,a);}
+function tM(a){var b;b=a.l;{return null;}}
+function uM(a){return a.i.rb();}
+function vM(a){if(a.g!==null){a.g.Dd(a);}else if(a.j!==null){BN(a.j,a);}}
+function wM(b,a){DM(b,null);Df(b.d,a);}
+function xM(b,a){b.g=a;}
+function yM(b,a){if(b.h==a){return;}b.h=a;FO(b.d,'gwt-TreeItem-selected',a);}
+function zM(b,a){AM(b,a,true);}
+function AM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;FM(c);if(a&&c.j!==null){uN(c.j,c);}}
+function BM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){FN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){BM(bc(gZ(d.c,a),52),c);}FM(d);}
+function CM(a,b){a.k=b;}
+function DM(b,a){Df(b.d,'');b.l=a;}
+function FM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){bP(b.b,false);lR((hM(),kM),b.i);return;}if(b.f){bP(b.b,true);lR((hM(),lM),b.i);}else{bP(b.b,false);lR((hM(),jM),b.i);}}
+function EM(c){var a,b;FM(c);for(a=0,b=c.c.b;a<b;++a){EM(bc(gZ(c.c,a),52));}}
+function aN(a){if(a.g!==null||a.j!==null){vM(a);}xM(a,this);bZ(this.c,a);ag(a.rb(),'marginLeft','16px');vd(this.b,a.rb());BM(a,this.j);if(this.c.b==1){FM(this);}}
+function bN(a){if(!fZ(this.c,a)){return;}BM(a,null);qf(this.b,a.rb());xM(a,null);lZ(this.c,a);if(this.c.b==0){FM(this);}}
+function mM(){}
+_=mM.prototype=new iO();_.y=aN;_.Dd=bN;_.tN=sgc+'TreeItem';_.tI=119;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function EL(b,a){b.a=a;oM(b);return b;}
+function FL(b,a){if(a.g!==null||a.j!==null){vM(a);}vd(b.a.rb(),a.rb());BM(a,b.j);xM(a,null);bZ(b.c,a);Ff(a.rb(),'marginLeft',0);}
+function bM(b,a){if(!fZ(b.c,a)){return;}BM(a,null);xM(a,null);lZ(b.c,a);qf(b.a.rb(),a.rb());}
+function cM(a){FL(this,a);}
+function dM(a){bM(this,a);}
+function DL(){}
+_=DL.prototype=new mM();_.y=cM;_.Dd=dM;_.tN=sgc+'Tree$1';_.tI=120;function hM(){hM=v3;iM=w()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';jM=kR(new jR(),iM,0,0,16,16);kM=kR(new jR(),iM,16,0,16,16);lM=kR(new jR(),iM,32,0,16,16);}
+function gM(a){hM();return a;}
+function fM(){}
+_=fM.prototype=new xU();_.tN=sgc+'TreeImages_generatedBundle';_.tI=121;var iM,jM,kM,lM;function dN(a){FY(a);return a;}
+function fN(d,b){var a,c;for(a=d.mc();a.gc();){c=bc(a.pc(),53);c.od(b);}}
+function gN(d,b){var a,c;for(a=d.mc();a.gc();){c=bc(a.pc(),53);c.pd(b);}}
+function cN(){}
+_=cN.prototype=new DY();_.tN=sgc+'TreeListenerCollection';_.tI=122;function gP(a){a.a=(oA(),qA);a.b=(xA(),AA);}
+function hP(a){uq(a);gP(a);Af(a.e,'cellSpacing','0');Af(a.e,'cellPadding','0');return a;}
+function iP(b,d){var a,c;c=he();a=kP(b);vd(c,a);vd(b.d,c);xr(b,d,a);}
+function kP(b){var a;a=ge();wq(b,a,b.a);xq(b,a,b.b);return a;}
+function lP(b,a){b.a=a;}
+function mP(b,a){b.b=a;}
+function nP(c){var a,b;b=jf(c.rb());a=as(this,c);if(a){qf(this.d,jf(b));}return a;}
+function fP(){}
+_=fP.prototype=new tq();_.be=nP;_.tN=sgc+'VerticalPanel';_.tI=123;function yP(b,a){b.b=a;b.a=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[615],[13],[4],null);return b;}
+function zP(a,b){DP(a,b,a.c);}
+function BP(b,a){if(a<0||a>=b.c){throw new xT();}return b.a[a];}
+function CP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
+function DP(d,e,a){var b,c;if(a<0||a>d.c){throw new xT();}if(d.c==d.a.a){c=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[615],[13],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Cb(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Cb(d.a,b,d.a[b-1]);}Cb(d.a,a,e);}
+function EP(a){return rP(new qP(),a);}
+function FP(c,b){var a;if(b<0||b>=c.c){throw new xT();}--c.c;for(a=b;a<c.c;++a){Cb(c.a,a,c.a[a+1]);}Cb(c.a,c.c,null);}
+function aQ(b,c){var a;a=CP(b,c);if(a==(-1)){throw new d3();}FP(b,a);}
+function pP(){}
+_=pP.prototype=new xU();_.tN=sgc+'WidgetCollection';_.tI=124;_.a=null;_.b=null;_.c=0;function rP(b,a){b.b=a;return b;}
+function tP(a){return a.a<a.b.c-1;}
+function uP(a){if(a.a>=a.b.c){throw new d3();}return a.b.a[++a.a];}
+function vP(){return tP(this);}
+function wP(){return uP(this);}
+function xP(){if(this.a<0||this.a>=this.b.c){throw new uT();}this.b.b.be(this.b.a[this.a--]);}
+function qP(){}
+_=qP.prototype=new xU();_.gc=vP;_.pc=wP;_.Fd=xP;_.tN=sgc+'WidgetCollection$WidgetIterator';_.tI=125;_.a=(-1);function nQ(c){var a,b;a=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[615],[13],[c.a],null);for(b=0;b<c.a;b++){Cb(a,b,c[b]);}return a;}
+function oQ(b,a){return eQ(new cQ(),a,b);}
+function dQ(a){a.e=a.c;{gQ(a);}}
+function eQ(a,b,c){a.c=b;a.d=c;dQ(a);return a;}
+function gQ(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
+function hQ(a){return a.a<a.c.a;}
+function iQ(a){var b;if(!hQ(a)){throw new d3();}a.b=a.a;b=a.c[a.a];gQ(a);return b;}
+function jQ(){return hQ(this);}
+function kQ(){return iQ(this);}
+function lQ(){if(this.b<0){throw new uT();}if(!this.f){this.e=nQ(this.e);this.f=true;}DN(this.d,this.c[this.b]);this.b=(-1);}
+function cQ(){}
+_=cQ.prototype=new xU();_.gc=jQ;_.pc=kQ;_.Fd=lQ;_.tN=sgc+'WidgetIterators$1';_.tI=126;_.a=(-1);_.b=(-1);_.f=false;function iR(c,f,b,e,g,a){var d;d=ee();Df(d,eR(c,f,b,e,g,a));return ff(d);}
+function FQ(){}
+_=FQ.prototype=new xU();_.tN=tgc+'ClippedImageImpl';_.tI=127;function dR(){dR=v3;gR=yV(v(),'https')?'https://':'http://';}
+function bR(a){dR();fR();return a;}
+function cR(g,a,i,f,h,j,b){var c,d,e;ag(a,'width',j+'px');ag(a,'height',b+'px');c=ff(a);ag(c,'filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+i+"',sizingMethod='crop')");ag(c,'marginLeft',-f+'px');ag(c,'marginTop',-h+'px');e=f+j;d=h+b;zf(c,'width',e);zf(c,'height',d);}
+function eR(f,h,e,g,i,c){var a,b,d;b='overflow: hidden; width: '+i+'px; height: '+c+'px; padding: 0px; zoom: 1';d="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+h+"',sizingMethod='crop'); margin-left: "+ -e+'px; margin-top: '+ -g+'px; border: none';a='<gwt:clipper style="'+b+'"><img src=\''+gR+"' onerror='if(window.__gwt_transparentImgHandler)window.__gwt_transparentImgHandler(this);else this.src=\""+w()+'clear.cache.gif"\' style="'+d+'" width='+(e+i)+' height='+(g+c)+" border='0'><\/gwt:clipper>";return a;}
+function fR(){dR();$wnd.__gwt_transparentImgHandler=function(a){a.onerror=null;Cf(a,w()+'clear.cache.gif');};}
+function aR(){}
+_=aR.prototype=new FQ();_.tN=tgc+'ClippedImageImplIE6';_.tI=128;var gR;function mR(){mR=v3;bR(new aR());}
+function kR(c,e,b,d,f,a){mR();c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
+function lR(b,a){iC(a,b.d,b.b,b.c,b.e,b.a);}
+function jR(){}
+_=jR.prototype=new iq();_.tN=tgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function uR(){uR=v3;xR=pR(new oR());yR=xR;}
+function sR(a){uR();return a;}
+function tR(b,a){a.blur();}
+function vR(b){var a=$doc.createElement('DIV');a.tabIndex=0;return a;}
+function wR(c,a,b){a.tabIndex=b;}
+function nR(){}
+_=nR.prototype=new xU();_.tN=tgc+'FocusImpl';_.tI=130;var xR,yR;function qR(){qR=v3;uR();}
+function pR(a){qR();sR(a);return a;}
+function rR(c,b){try{b.focus();}catch(a){if(!b|| !b.focus){throw a;}}}
+function oR(){}
+_=oR.prototype=new nR();_.tN=tgc+'FocusImplIE6';_.tI=131;function aS(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
+function bS(c,b,a){b.enctype=a;b.encoding=a;}
+function cS(c,a,b){if(b)b.__formAction=a.action;a.submit();}
+function zR(){}
+_=zR.prototype=new xU();_.tN=tgc+'FormPanelImpl';_.tI=132;function DR(d,b,a,c){if(b){b.onreadystatechange=function(){if(!b.__formAction)return;if(b.readyState=='complete'){c.Dc();}};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Cc();};}
+function ER(c,b,a){if(b)b.onreadystatechange=null;a.onsubmit=null;}
+function BR(){}
+_=BR.prototype=new zR();_.tN=tgc+'FormPanelImplIE6';_.tI=133;function kS(a){return zd();}
+function dS(){}
+_=dS.prototype=new xU();_.tN=tgc+'PopupImpl';_.tI=134;function gS(c,b){var a=b.__frame;a.parentElement.removeChild(a);b.__frame=null;a.__popup=null;}
+function hS(d,b){var a=$doc.createElement('iframe');a.src="javascript:''";a.scrolling='no';a.frameBorder=0;b.__frame=a;a.__popup=b;var c=a.style;c.position='absolute';c.filter='alpha(opacity=0)';c.visibility=b.style.visibility;c.left=b.offsetLeft;c.top=b.offsetTop;c.width=b.offsetWidth;c.height=b.offsetHeight;c.setExpression('left','this.__popup.offsetLeft');c.setExpression('top','this.__popup.offsetTop');c.setExpression('width','this.__popup.offsetWidth');c.setExpression('height','this.__popup.offsetHeight');b.parentElement.insertBefore(a,b);}
+function iS(b,a,c){if(a.__frame){a.__frame.style.visibility=c?'visible':'hidden';}}
+function eS(){}
+_=eS.prototype=new dS();_.tN=tgc+'PopupImplIE6';_.tI=135;function lS(){}
+_=lS.prototype=new xU();_.tN=tgc+'TextBoxImpl';_.tI=136;function oS(c,b){try{var d=b.document.selection.createRange();var e=d.duplicate();e.moveToElementText(b);d.setEndPoint('EndToStart',e);return d.text.length;}catch(a){return 0;}}
+function pS(e,b,d,c){try{var f=b.createTextRange();f.collapse(true);f.moveStart('character',d);f.moveEnd('character',c);f.select();}catch(a){}}
+function mS(){}
+_=mS.prototype=new lS();_.tN=tgc+'TextBoxImplIE6';_.tI=137;function uS(){}
+_=uS.prototype=new xU();_.tN=ugc+'OutputStream';_.tI=138;function sS(){}
+_=sS.prototype=new uS();_.tN=ugc+'FilterOutputStream';_.tI=139;function wS(){}
+_=wS.prototype=new sS();_.tN=ugc+'PrintStream';_.tI=140;function yS(){}
+_=yS.prototype=new CU();_.tN=vgc+'ArrayStoreException';_.tI=141;function CS(){CS=v3;DS=BS(new AS(),false);ES=BS(new AS(),true);}
+function BS(a,b){CS();a.a=b;return a;}
+function FS(a){return cc(a,55)&&bc(a,55).a==this.a;}
+function aT(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
+function bT(){return this.a?'true':'false';}
+function cT(a){CS();return a?ES:DS;}
+function AS(){}
+_=AS.prototype=new xU();_.eQ=FS;_.hC=aT;_.tS=bT;_.tN=vgc+'Boolean';_.tI=142;_.a=false;var DS,ES;function gT(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+hU(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
+function hT(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
+function jT(b,a){DU(b,a);return b;}
+function iT(){}
+_=iT.prototype=new CU();_.tN=vgc+'ClassCastException';_.tI=143;function sT(b,a){DU(b,a);return b;}
+function rT(){}
+_=rT.prototype=new CU();_.tN=vgc+'IllegalArgumentException';_.tI=144;function vT(b,a){DU(b,a);return b;}
+function uT(){}
+_=uT.prototype=new CU();_.tN=vgc+'IllegalStateException';_.tI=145;function yT(b,a){DU(b,a);return b;}
+function xT(){}
+_=xT.prototype=new CU();_.tN=vgc+'IndexOutOfBoundsException';_.tI=146;function rU(){rU=v3;{wU();}}
+function sU(a){rU();return isNaN(a);}
+function tU(e,d,c,h){rU();var a,b,f,g;if(e===null){throw pU(new oU(),'Unable to parse null');}b=uV(e);f=b>0&&lV(e,0)==45?1:0;for(a=f;a<b;a++){if(gT(lV(e,a),d)==(-1)){throw pU(new oU(),'Could not parse '+e+' in radix '+d);}}g=uU(e,d);if(sU(g)){throw pU(new oU(),'Unable to parse '+e);}else if(g<c||g>h){throw pU(new oU(),'The string '+e+' exceeds the range for the requested data type');}return g;}
+function uU(b,a){rU();return parseInt(b,a);}
+function wU(){rU();vU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
+var vU=null;function BT(){BT=v3;rU();}
+function ET(a){BT();return FT(a,10);}
+function FT(b,a){BT();return ec(tU(b,a,(-2147483648),2147483647));}
+function aU(a){BT();return gW(a);}
+var CT=2147483647,DT=(-2147483648);function cU(){cU=v3;rU();}
+function dU(a){cU();return hW(a);}
+function gU(a){return a<0?-a:a;}
+function hU(a,b){return a<b?a:b;}
+function iU(){}
+_=iU.prototype=new CU();_.tN=vgc+'NegativeArraySizeException';_.tI=147;function lU(b,a){DU(b,a);return b;}
+function kU(){}
+_=kU.prototype=new CU();_.tN=vgc+'NullPointerException';_.tI=148;function pU(b,a){sT(b,a);return b;}
+function oU(){}
+_=oU.prototype=new rT();_.tN=vgc+'NumberFormatException';_.tI=149;function lV(b,a){return b.charCodeAt(a);}
+function nV(f,c){var a,b,d,e,g,h;h=uV(f);e=uV(c);b=hU(h,e);for(a=0;a<b;a++){g=lV(f,a);d=lV(c,a);if(g!=d){return g-d;}}return h-e;}
+function oV(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
+function qV(b,a){if(!cc(a,1))return false;return FV(b,a);}
+function pV(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
+function rV(b,a){return b.indexOf(String.fromCharCode(a));}
+function sV(b,a){return b.indexOf(a);}
+function tV(c,b,a){return c.indexOf(b,a);}
+function uV(a){return a.length;}
+function vV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
+function wV(b,a){return xV(b,a,0);}
+function xV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=EV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
+function yV(b,a){return sV(b,a)==0;}
+function zV(b,a){return b.substr(a,b.length-a);}
+function AV(c,a,b){return c.substr(a,b-a);}
+function BV(d){var a,b,c;c=uV(d);a=Ab('[C',[611],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=lV(d,b);return a;}
+function CV(a){return a.toLowerCase();}
+function DV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
+function EV(a){return Ab('[Ljava.lang.String;',[610],[1],[a],null);}
+function FV(a,b){return String(a)==b;}
+function aW(a){if(cc(a,1)){return nV(this,bc(a,1));}else{throw jT(new iT(),'Cannot compare '+a+" with String '"+this+"'");}}
+function bW(a){return qV(this,a);}
+function dW(){var a=cW;if(!a){a=cW={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
+function eW(){return this;}
+function fW(a){return String.fromCharCode(a);}
+function gW(a){return ''+a;}
+function hW(a){return ''+a;}
+function iW(a){return a!==null?a.tS():'null';}
+_=String.prototype;_.ab=aW;_.eQ=bW;_.hC=dW;_.tS=eW;_.tN=vgc+'String';_.tI=2;var cW=null;function cV(a){fV(a);return a;}
+function dV(a,b){return eV(a,fW(b));}
+function eV(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
+function fV(a){gV(a,'');}
+function gV(b,a){b.js=[a];b.length=a.length;}
+function iV(a){a.qc();return a.js[0];}
+function jV(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
+function kV(){return iV(this);}
+function bV(){}
+_=bV.prototype=new xU();_.qc=jV;_.tS=kV;_.tN=vgc+'StringBuffer';_.tI=150;function kW(){kW=v3;nW=new wS();}
+function lW(){kW();return new Date().getTime();}
+function mW(a){kW();return C(a);}
+var nW;function vW(b,a){DU(b,a);return b;}
+function uW(){}
+_=uW.prototype=new CU();_.tN=vgc+'UnsupportedOperationException';_.tI=151;function bX(b,a){b.c=a;return b;}
+function dX(a){return a.a<a.c.ye();}
+function eX(){return dX(this);}
+function fX(){if(!dX(this)){throw new d3();}return this.c.dc(this.b=this.a++);}
+function gX(){if(this.b<0){throw new uT();}this.c.ae(this.b);this.a=this.b;this.b=(-1);}
+function aX(){}
+_=aX.prototype=new xU();_.gc=eX;_.pc=fX;_.Fd=gX;_.tN=wgc+'AbstractList$IteratorImpl';_.tI=152;_.a=0;_.b=(-1);function pY(f,d,e){var a,b,c;for(b=x1(f.mb());p1(b);){a=q1(b);c=a.ub();if(d===null?c===null:d.eQ(c)){if(e){r1(b);}return a;}}return null;}
+function qY(b){var a;a=b.mb();return rX(new qX(),b,a);}
+function rY(b){var a;a=b2(b);return aY(new FX(),b,a);}
+function sY(a){return pY(this,a,false)!==null;}
+function tY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!cc(d,57)){return false;}f=bc(d,57);c=qY(this);e=f.nc();if(!AY(c,e)){return false;}for(a=tX(c);AX(a);){b=BX(a);h=this.ec(b);g=f.ec(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
+function uY(b){var a;a=pY(this,b,false);return a===null?null:a.ac();}
+function vY(){var a,b,c;b=0;for(c=x1(this.mb());p1(c);){a=q1(c);b+=a.hC();}return b;}
+function wY(){return qY(this);}
+function xY(){var a,b,c,d;d='{';a=false;for(c=x1(this.mb());p1(c);){b=q1(c);if(a){d+=', ';}else{a=true;}d+=iW(b.ub());d+='=';d+=iW(b.ac());}return d+'}';}
+function pX(){}
+_=pX.prototype=new xU();_.cb=sY;_.eQ=tY;_.ec=uY;_.hC=vY;_.nc=wY;_.tS=xY;_.tN=wgc+'AbstractMap';_.tI=153;function AY(e,b){var a,c,d;if(b===e){return true;}if(!cc(b,58)){return false;}c=bc(b,58);if(c.ye()!=e.ye()){return false;}for(a=c.mc();a.gc();){d=a.pc();if(!e.db(d)){return false;}}return true;}
+function BY(a){return AY(this,a);}
+function CY(){var a,b,c;a=0;for(b=this.mc();b.gc();){c=b.pc();if(c!==null){a+=c.hC();}}return a;}
+function yY(){}
+_=yY.prototype=new xW();_.eQ=BY;_.hC=CY;_.tN=wgc+'AbstractSet';_.tI=154;function rX(b,a,c){b.a=a;b.b=c;return b;}
+function tX(b){var a;a=x1(b.b);return yX(new xX(),b,a);}
+function uX(a){return this.a.cb(a);}
+function vX(){return tX(this);}
+function wX(){return this.b.a.c;}
+function qX(){}
+_=qX.prototype=new yY();_.db=uX;_.mc=vX;_.ye=wX;_.tN=wgc+'AbstractMap$1';_.tI=155;function yX(b,a,c){b.a=c;return b;}
+function AX(a){return p1(a.a);}
+function BX(b){var a;a=q1(b.a);return a.ub();}
+function CX(){return AX(this);}
+function DX(){return BX(this);}
+function EX(){r1(this.a);}
+function xX(){}
+_=xX.prototype=new xU();_.gc=CX;_.pc=DX;_.Fd=EX;_.tN=wgc+'AbstractMap$2';_.tI=156;function aY(b,a,c){b.a=a;b.b=c;return b;}
+function cY(b){var a;a=x1(b.b);return hY(new gY(),b,a);}
+function dY(a){return a2(this.a,a);}
+function eY(){return cY(this);}
+function fY(){return this.b.a.c;}
+function FX(){}
+_=FX.prototype=new xW();_.db=dY;_.mc=eY;_.ye=fY;_.tN=wgc+'AbstractMap$3';_.tI=157;function hY(b,a,c){b.a=c;return b;}
+function jY(a){return p1(a.a);}
+function kY(a){var b;b=q1(a.a).ac();return b;}
+function lY(){return jY(this);}
+function mY(){return kY(this);}
+function nY(){r1(this.a);}
+function gY(){}
+_=gY.prototype=new xU();_.gc=lY;_.pc=mY;_.Fd=nY;_.tN=wgc+'AbstractMap$4';_.tI=158;function BZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.bb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
+function CZ(a){BZ(a,a.a,(i0(),j0));}
+function FZ(){FZ=v3;w2(new v2());a0=C1(new a1());FY(new DY());}
+function b0(c,d){FZ();var a,b;b=c.b;for(a=0;a<b;a++){mZ(c,a,d[a]);}}
+function c0(a){FZ();var b;b=a.Ae();CZ(b);b0(a,b);}
+var a0;function i0(){i0=v3;j0=new f0();}
+var j0;function h0(a,b){return bc(a,34).ab(b);}
+function f0(){}
+_=f0.prototype=new xU();_.bb=h0;_.tN=wgc+'Comparators$1';_.tI=159;function n0(){n0=v3;u0=Bb('[Ljava.lang.String;',610,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);v0=Bb('[Ljava.lang.String;',610,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
+function l0(a){n0();q0(a);return a;}
+function m0(b,a){n0();r0(b,a);return b;}
+function o0(c,a){var b,d;d=p0(c);b=p0(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
+function p0(a){return a.jsdate.getTime();}
+function q0(a){a.jsdate=new Date();}
+function r0(b,a){b.jsdate=new Date(a);}
+function s0(a){return a.jsdate.toLocaleString();}
+function t0(h){var a=h.jsdate;var g=B0;var b=x0(h.jsdate.getDay());var e=A0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
+function w0(a){return o0(this,bc(a,59));}
+function x0(a){n0();return u0[a];}
+function y0(a){return cc(a,59)&&p0(this)==p0(bc(a,59));}
+function z0(){return ec(p0(this)^p0(this)>>>32);}
+function A0(a){n0();return v0[a];}
+function B0(a){n0();if(a<10){return '0'+a;}else{return gW(a);}}
+function C0(){return t0(this);}
+function k0(){}
+_=k0.prototype=new xU();_.ab=w0;_.eQ=y0;_.hC=z0;_.tS=C0;_.tN=wgc+'Date';_.tI=160;var u0,v0;function E1(){E1=v3;f2=l2();}
+function B1(a){{D1(a);}}
+function C1(a){E1();B1(a);return a;}
+function D1(a){a.a=ib();a.d=kb();a.b=jc(f2,eb);a.c=0;}
+function F1(b,a){if(cc(a,1)){return p2(b.d,bc(a,1))!==f2;}else if(a===null){return b.b!==f2;}else{return o2(b.a,a,a.hC())!==f2;}}
+function a2(a,b){if(a.b!==f2&&n2(a.b,b)){return true;}else if(k2(a.d,b)){return true;}else if(i2(a.a,b)){return true;}return false;}
+function b2(a){return v1(new l1(),a);}
+function c2(c,a){var b;if(cc(a,1)){b=p2(c.d,bc(a,1));}else if(a===null){b=c.b;}else{b=o2(c.a,a,a.hC());}return b===f2?null:b;}
+function d2(c,a,d){var b;if(cc(a,1)){b=s2(c.d,bc(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=r2(c.a,a,d,a.hC());}if(b===f2){++c.c;return null;}else{return b;}}
+function e2(c,a){var b;if(cc(a,1)){b=u2(c.d,bc(a,1));}else if(a===null){b=c.b;c.b=jc(f2,eb);}else{b=t2(c.a,a,a.hC());}if(b===f2){return null;}else{--c.c;return b;}}
+function g2(e,c){E1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
+function h2(d,a){E1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=e1(c.substring(1),e);a.C(b);}}}
+function i2(f,h){E1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ac();if(n2(h,d)){return true;}}}}return false;}
+function j2(a){return F1(this,a);}
+function k2(c,d){E1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(n2(d,a)){return true;}}}return false;}
+function l2(){E1();}
+function m2(){return b2(this);}
+function n2(a,b){E1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
+function q2(a){return c2(this,a);}
+function o2(f,h,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){return c.ac();}}}}
+function p2(b,a){E1();return b[':'+a];}
+function r2(f,h,j,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){var i=c.ac();c.se(j);return i;}}}else{a=f[e]=[];}var c=e1(h,j);a.push(c);}
+function s2(c,a,d){E1();a=':'+a;var b=c[a];c[a]=d;return b;}
+function t2(f,h,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ac();}}}}
+function u2(c,a){E1();a=':'+a;var b=c[a];delete c[a];return b;}
+function a1(){}
+_=a1.prototype=new pX();_.cb=j2;_.mb=m2;_.ec=q2;_.tN=wgc+'HashMap';_.tI=161;_.a=null;_.b=null;_.c=0;_.d=null;var f2;function c1(b,a,c){b.a=a;b.b=c;return b;}
+function e1(a,b){return c1(new b1(),a,b);}
+function f1(b){var a;if(cc(b,60)){a=bc(b,60);if(n2(this.a,a.ub())&&n2(this.b,a.ac())){return true;}}return false;}
+function g1(){return this.a;}
+function h1(){return this.b;}
+function i1(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
+function j1(a){var b;b=this.b;this.b=a;return b;}
+function k1(){return this.a+'='+this.b;}
+function b1(){}
+_=b1.prototype=new xU();_.eQ=f1;_.ub=g1;_.ac=h1;_.hC=i1;_.se=j1;_.tS=k1;_.tN=wgc+'HashMap$EntryImpl';_.tI=162;_.a=null;_.b=null;function v1(b,a){b.a=a;return b;}
+function x1(a){return n1(new m1(),a.a);}
+function y1(c){var a,b,d;if(cc(c,60)){a=bc(c,60);b=a.ub();if(F1(this.a,b)){d=c2(this.a,b);return n2(a.ac(),d);}}return false;}
+function z1(){return x1(this);}
+function A1(){return this.a.c;}
+function l1(){}
+_=l1.prototype=new yY();_.db=y1;_.mc=z1;_.ye=A1;_.tN=wgc+'HashMap$EntrySet';_.tI=163;function n1(c,b){var a;c.c=b;a=FY(new DY());if(c.c.b!==(E1(),f2)){bZ(a,c1(new b1(),null,c.c.b));}h2(c.c.d,a);g2(c.c.a,a);c.a=a.mc();return c;}
+function p1(a){return a.a.gc();}
+function q1(a){return a.b=bc(a.a.pc(),60);}
+function r1(a){if(a.b===null){throw vT(new uT(),'Must call next() before remove().');}else{a.a.Fd();e2(a.c,a.b.ub());a.b=null;}}
+function s1(){return p1(this);}
+function t1(){return q1(this);}
+function u1(){r1(this);}
+function m1(){}
+_=m1.prototype=new xU();_.gc=s1;_.pc=t1;_.Fd=u1;_.tN=wgc+'HashMap$EntrySetIterator';_.tI=164;_.a=null;_.b=null;function w2(a){a.a=C1(new a1());return a;}
+function x2(c,a){var b;b=d2(c.a,a,cT(true));return b===null;}
+function z2(a){return tX(qY(a.a));}
+function A2(a){return x2(this,a);}
+function B2(a){return F1(this.a,a);}
+function C2(){return z2(this);}
+function D2(){return this.a.c;}
+function E2(){return qY(this.a).tS();}
+function v2(){}
+_=v2.prototype=new yY();_.C=A2;_.db=B2;_.mc=C2;_.ye=D2;_.tS=E2;_.tN=wgc+'HashSet';_.tI=165;_.a=null;function e3(b,a){DU(b,a);return b;}
+function d3(){}
+_=d3.prototype=new CU();_.tN=wgc+'NoSuchElementException';_.tI=166;function j3(a){a.a=FY(new DY());return a;}
+function k3(b,a){return bZ(b.a,a);}
+function m3(a){return a.a.mc();}
+function n3(a,b){aZ(this.a,a,b);}
+function o3(a){return k3(this,a);}
+function p3(a){return fZ(this.a,a);}
+function q3(a){return gZ(this.a,a);}
+function r3(){return m3(this);}
+function s3(a){return kZ(this.a,a);}
+function t3(){return this.a.b;}
+function u3(){return this.a.Ae();}
+function i3(){}
+_=i3.prototype=new FW();_.B=n3;_.C=o3;_.db=p3;_.dc=q3;_.mc=r3;_.ae=s3;_.ye=t3;_.Ae=u3;_.tN=wgc+'Vector';_.tI=167;_.a=null;function v5(){v5=v3;x5=C1(new a1());}
+function u5(a){v5();return a;}
+function w5(){}
+function f5(){}
+_=f5.prototype=new es();_.jd=w5;_.tN=xgc+'JBRMSFeature';_.tI=168;var x5;function C3(){C3=v3;v5();}
+function B3(a){C3();u5(a);a.a=sK(new eK());a.a.xe('100%');a.a.ne('100%');tK(a.a,A9(new e9()),"<img src='images/category_small.gif'/>Manage categories",true);tK(a.a,l$(new D9()),"<img src='images/status_small.gif'/>Manage states",true);tK(a.a,m8(new i7()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);tK(a.a,F8(new q8()),"<img src='images/backup_small.gif'/>Import Export",true);zK(a.a,0);gs(a,a.a);return a;}
+function D3(){C3();return y3(new x3(),'Admin','Administer the repository');}
+function E3(){}
+function w3(){}
+_=w3.prototype=new f5();_.jd=E3;_.tN=xgc+'AdminFeature';_.tI=169;_.a=null;function h5(c,b,a){c.c=b;c.a=a;return c;}
+function j5(a){if(a.b!==null)return a.b;return a.b=a.fb();}
+function g5(){}
+_=g5.prototype=new xU();_.tN=xgc+'JBRMSFeature$ComponentInfo';_.tI=170;_.a=null;_.b=null;_.c=null;function y3(c,a,b){h5(c,a,b);return c;}
+function A3(){return B3(new w3());}
+function x3(){}
+_=x3.prototype=new g5();_.fb=A3;_.tN=xgc+'AdminFeature$1';_.tI=171;function f4(){f4=v3;v5();}
+function e4(a){f4();u5(a);gs(a,FKb(new hJb()));return a;}
+function g4(){f4();return b4(new a4(),'Deployment','Configure and view frozen snapshots of packages.');}
+function h4(){}
+function F3(){}
+_=F3.prototype=new f5();_.jd=h4;_.tN=xgc+'DeploymentManagementFeature';_.tI=172;function b4(c,a,b){h5(c,a,b);return c;}
+function d4(){return e4(new F3());}
+function a4(){}
+_=a4.prototype=new g5();_.fb=d4;_.tN=xgc+'DeploymentManagementFeature$1';_.tI=173;function o4(){o4=v3;v5();}
+function n4(a){o4();u5(a);gs(a,p4(a));return a;}
+function p4(a){a.a=vw(new tw(),'welcome.html');uO(a.a,'welcome-Page');a.a.ue(true);return a.a;}
+function q4(){o4();return k4(new j4(),'Info','JBoss Rules Managment System.');}
+function r4(){}
+function i4(){}
+_=i4.prototype=new f5();_.jd=r4;_.tN=xgc+'Info';_.tI=174;_.a=null;function k4(c,a,b){h5(c,a,b);return c;}
+function m4(){return n4(new i4());}
+function j4(){}
+_=j4.prototype=new g5();_.fb=m4;_.tN=xgc+'Info$1';_.tI=175;function C4(a){a.c=dA(new hx());a.d=p5(new n5());a.g=pt(new gt());}
+function D4(a){C4(a);return a;}
+function E4(a){nYb(DMb(),u4(new t4(),a));}
+function a5(b,c){var a;a=s5(b.d,c);if(a===null){c5(b);return;}d5(b,a,false);}
+function b5(b){var a,c;m5(b.d);b.h=pt(new gt());uO(b.h,'ks-Sink');c=hP(new fP());c.xe('100%');iP(c,b.c);iP(c,b.h);uO(b.c,'ks-Info');qt(b.g,b.d,(rt(),Bt));qt(b.g,c,(rt(),xt));vt(b.g,b.d,(xA(),AA));wt(b.g,c,'100%');Eg(b);b.e=b6(new y5());b.f=s6(new e6());dq(iH(),b.e);dq(iH(),b.g);dq(iH(),b.f);b.f.xe('100%');b.e.ue(false);b.g.ue(false);b.f.ue(false);E4(b);a=ah();if(uV(a)>0)a5(b,a);else c5(b);}
+function d5(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){tt(c.h,c.b);}c.b=j5(b);t5(c.d,b.c);hA(c.c,b.a);if(a)dh(b.c);qt(c.h,c.b,(rt(),xt));wt(c.h,c.b,'100%');vt(c.h,c.b,(xA(),AA));c.b.jd();}
+function c5(a){d5(a,s5(a.d,'Info'),false);}
+function e5(a){a5(this,a);}
+function s4(){}
+_=s4.prototype=new xU();_.Ec=e5;_.tN=xgc+'JBRMSEntryPoint';_.tI=176;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function jdb(b,a){if(cc(a,69)){ldb();}else if(cc(a,70)){kcb(bc(a,70));}else{jcb(a.vb());}}
+function kdb(a){jdb(this,a);}
+function ldb(){var a;a=ddb(new Ecb(),'images/warning-large.png','Session expired');fdb(a,eA(new hx(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));lF(a,40,40);oF(a);eeb();}
+function hdb(){}
+_=hdb.prototype=new xU();_.Ac=kdb;_.tN=Agc+'GenericCallback';_.tI=177;function u4(b,a){b.a=a;return b;}
+function w4(a){var b;b=bc(a,1);if(b!==null){d6(this.a.e,b);this.a.e.ue(true);this.a.g.ue(true);this.a.f.ue(false);}else{this.a.f.ue(true);w6(this.a.f,y4(new x4(),this));}}
+function t4(){}
+_=t4.prototype=new hdb();_.md=w4;_.tN=xgc+'JBRMSEntryPoint$1';_.tI=178;function y4(b,a){b.a=a;return b;}
+function A4(a){d6(a.a.a.e,v6(a.a.a.f));a.a.a.e.ue(true);a.a.a.f.ue(false);a.a.a.g.ue(true);}
+function B4(){A4(this);}
+function x4(){}
+_=x4.prototype=new xU();_.nb=B4;_.tN=xgc+'JBRMSEntryPoint$2';_.tI=179;function m5(a){q5(a,q4());q5(a,h7());q5(a,E6());q5(a,g4());q5(a,D3());}
+function o5(a){a.a=hP(new fP());a.c=FY(new DY());}
+function p5(a){o5(a);gs(a,a.a);uO(a,'ks-List');return a;}
+function q5(d,a){var b,c;c=a.c;b=jB(new hB(),c,c);uO(b,'ks-SinkItem');iP(d.a,b);bZ(d.c,a);}
+function s5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=bc(gZ(d.c,a),61);if(qV(b.c,c))return b;}return null;}
+function t5(d,c){var a,b;if(d.b!=(-1))pO(Dr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=bc(gZ(d.c,a),61);if(qV(b.c,c)){d.b=a;jO(Dr(d.a,d.b),'ks-SinkItem-selected');return;}}}
+function n5(){}
+_=n5.prototype=new es();_.tN=xgc+'JBRMSFeatureList';_.tI=180;_.b=(-1);function b6(a){a.a=dA(new hx());gs(a,a.a);return a;}
+function d6(b,d){var a,c;a=cV(new bV());eV(a,"<div id='user_info'>");eV(a,'Welcome: &nbsp;'+d);eV(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");eV(a,'<\/div>');hA(b.a,iV(a));c=A5(new z5(),b);ph(c,300000);}
+function y5(){}
+_=y5.prototype=new es();_.tN=xgc+'LoggedInUserInfo';_.tI=181;_.a=null;function B5(){B5=v3;nh();}
+function A5(b,a){B5();lh(b);return b;}
+function C5(){nYb(DMb(),new D5());}
+function z5(){}
+_=z5.prototype=new gh();_.ce=C5;_.tN=xgc+'LoggedInUserInfo$1';_.tI=182;function F5(a){}
+function a6(a){if(a===null){ldb();}}
+function D5(){}
+_=D5.prototype=new xU();_.Ac=F5;_.md=a6;_.tN=xgc+'LoggedInUserInfo$2';_.tI=183;function s6(c){var a,b;c.a=ucb(new rcb(),'images/login.gif','Please enter your details');c.c=zL(new kL());c.c.oe(1);vcb(c.a,'User name:',c.c);b=DE(new CE());b.oe(2);vcb(c.a,'Password:',b);a=qq(new kq(),'Login');a.oe(3);vcb(c.a,'',a);a.x(g6(new f6(),c,b));gs(c,c.a);c.c.le(true);uO(c,'login-Form');return c;}
+function u6(c,a,d,b){aNb(rL(d),rL(b),o6(new n6(),c,a));}
+function v6(a){return rL(a.c);}
+function w6(b,a){b.b=a;}
+function e6(){}
+_=e6.prototype=new es();_.tN=xgc+'LoginWidget';_.tI=184;_.a=null;_.b=null;_.c=null;function g6(b,a,c){b.a=a;b.b=c;return b;}
+function i6(a){ieb('Logging in...');ig(k6(new j6(),this,this.b));}
+function f6(){}
+_=f6.prototype=new xU();_.wc=i6;_.tN=xgc+'LoginWidget$1';_.tI=185;function k6(b,a,c){b.a=a;b.b=c;return b;}
+function m6(){u6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
+function j6(){}
+_=j6.prototype=new xU();_.nb=m6;_.tN=xgc+'LoginWidget$2';_.tI=186;function o6(b,a,c){b.a=c;return b;}
+function q6(c,a){var b;eeb();b=bc(a,55);if(!b.a){Ch('Incorrect username or password.');}else{A4(c.a);}}
+function r6(a){q6(this,a);}
+function n6(){}
+_=n6.prototype=new hdb();_.md=r6;_.tN=xgc+'LoginWidget$3';_.tI=187;function D6(){D6=v3;v5();}
+function C6(b){var a;D6();u5(b);a=dJb(new CIb());gJb(a,x5);gs(b,a);return b;}
+function E6(){D6();return z6(new y6(),'Packages','Configure and view packages of business rule assets.');}
+function F6(){}
+function x6(){}
+_=x6.prototype=new f5();_.jd=F6;_.tN=xgc+'PackageManagementFeature';_.tI=188;function z6(c,a,b){h5(c,a,b);return c;}
+function B6(){return C6(new x6());}
+function y6(){}
+_=y6.prototype=new g5();_.fb=B6;_.tN=xgc+'PackageManagementFeature$1';_.tI=189;function g7(){g7=v3;v5();}
+function f7(b){var a;g7();u5(b);a=ycc(new ubc());Ccc(a,x5);gs(b,a);return b;}
+function h7(){g7();return c7(new b7(),'Rules','Find and edit rules.');}
+function a7(){}
+_=a7.prototype=new f5();_.tN=xgc+'RulesFeature';_.tI=190;function c7(c,a,b){h5(c,a,b);return c;}
+function e7(){return f7(new a7());}
+function b7(){}
+_=b7.prototype=new g5();_.fb=e7;_.tN=xgc+'RulesFeature$1';_.tI=191;function m8(a){var b;b=ucb(new rcb(),'images/backup_large.png','Manage Archived Assets');a.a=FA(new DA());a.a.xe('100%');ycb(b,a.a);a.b=Bdc(new Fcc(),new j7(),'archivedrulelist');bec(a.b,p8(a));aB(a.a,a.b);k8(p8(a));ycb(b,eA(new hx(),'<hr/>'));ycb(b,o8(a));gs(a,b);return a;}
+function o8(d){var a,b,c,e;b=FA(new DA());c=qq(new kq(),'Refresh');c.x(n7(new m7(),d));e=qq(new kq(),'Unarchive');e.x(r7(new q7(),d));a=qq(new kq(),'Delete');a.x(A7(new z7(),d));aB(b,c);aB(b,e);aB(b,a);return b;}
+function p8(b){var a;a=d8(new c8(),b);return i8(new h8(),b,a);}
+function i7(){}
+_=i7.prototype=new es();_.tN=ygc+'ArchivedAssetManager';_.tI=192;_.a=null;_.b=null;function l7(a){var b,c;b=ddb(new Ecb(),'images/snapshot.png','Archived item');c=sK(new eK());fdb(b,c);u5b(C1(new a1()),c,a,true);lF(b,20,20);oF(b);}
+function j7(){}
+_=j7.prototype=new xU();_.td=l7;_.tN=ygc+'ArchivedAssetManager$1';_.tI=193;function n7(b,a){b.a=a;return b;}
+function p7(a){k8(p8(this.a));}
+function m7(){}
+_=m7.prototype=new xU();_.wc=p7;_.tN=ygc+'ArchivedAssetManager$2';_.tI=194;function r7(b,a){b.a=a;return b;}
+function t7(a){bUb(EMb(),Ddc(this.a.b),false,v7(new u7(),this));}
+function q7(){}
+_=q7.prototype=new xU();_.wc=t7;_.tN=ygc+'ArchivedAssetManager$3';_.tI=195;function v7(b,a){b.a=a;return b;}
+function x7(b,a){k8(p8(b.a.a));Ch('Done!');}
+function y7(a){x7(this,a);}
+function u7(){}
+_=u7.prototype=new hdb();_.md=y7;_.tN=ygc+'ArchivedAssetManager$4';_.tI=196;function A7(b,a){b.a=a;return b;}
+function C7(a){bVb(EMb(),Ddc(this.a.b),E7(new D7(),this));}
+function z7(){}
+_=z7.prototype=new xU();_.wc=C7;_.tN=ygc+'ArchivedAssetManager$5';_.tI=197;function E7(b,a){b.a=a;return b;}
+function a8(b,a){k8(p8(b.a.a));Ch('Done!');}
+function b8(a){a8(this,a);}
+function D7(){}
+_=D7.prototype=new hdb();_.md=b8;_.tN=ygc+'ArchivedAssetManager$6';_.tI=198;function d8(b,a){b.a=a;return b;}
+function f8(c,a){var b;b=bc(a,62);aec(c.a.b,b);c.a.b.xe('100%');eeb();}
+function g8(a){f8(this,a);}
+function c8(){}
+_=c8.prototype=new hdb();_.md=g8;_.tN=ygc+'ArchivedAssetManager$7';_.tI=199;function i8(b,a,c){b.a=c;return b;}
+function k8(a){ieb('Loading list, please wait...');xUb(EMb(),a.a);}
+function l8(){k8(this);}
+function h8(){}
+_=h8.prototype=new xU();_.nb=l8;_.tN=ygc+'ArchivedAssetManager$8';_.tI=200;function F8(a){var b;b=ucb(new rcb(),'images/backup_large.png','Import/Export');vcb(b,'',eA(new hx(),'<i>Import and Export rules repository<\/i>'));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Import from an xml file',d9(a));vcb(b,'Export to a zip file',c9(a));ycb(b,eA(new hx(),'<hr/>'));gs(a,b);return a;}
+function b9(a){ieb('Exporting repository, please wait, as this could take some time...');ki(w()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');eeb();}
+function c9(c){var a,b;b=FA(new DA());a=qq(new kq(),'Export');a.x(s8(new r8(),c));aB(b,a);return b;}
+function d9(c){var a,b,d,e;e=Cv(new xv());cw(e,w()+'backup');dw(e,'multipart/form-data');ew(e,'post');b=FA(new DA());e.we(b);d=au(new Ft());du(d,'importFile');aB(b,d);aB(b,CC(new AC(),'import:'));a=odb(new ndb(),'images/upload.gif');fC(a,w8(new v8(),c,e));aB(b,a);Dv(e,B8(new A8(),c,d));return e;}
+function q8(){}
+_=q8.prototype=new es();_.tN=ygc+'BackupManager';_.tI=201;function s8(b,a){b.a=a;return b;}
+function u8(a){b9(this.a);}
+function r8(){}
+_=r8.prototype=new xU();_.wc=u8;_.tN=ygc+'BackupManager$1';_.tI=202;function w8(b,a,c){b.a=c;return b;}
+function y8(a,b){if(Eh('Are you sure you want to import? this will erase any content in the repository currently?')){ieb('Importing repository, please wait, as this could take some time...');gw(b);}}
+function z8(a){y8(this,this.a);}
+function v8(){}
+_=v8.prototype=new xU();_.wc=z8;_.tN=ygc+'BackupManager$2';_.tI=203;function B8(b,a,c){b.a=c;return b;}
+function E8(a){if(uV(cu(this.a))==0){Ch('You did not specify an exported repository filename !');sw(a,true);}else if(!oV(cu(this.a),'.xml')){Ch('Please specify a valid repository xml file.');sw(a,true);}}
+function D8(a){if(sV(a.a,'OK')>(-1)){Ch('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{jcb('Unable to import into the repository. Consult the server logs for error messages.');}eeb();}
+function A8(){}
+_=A8.prototype=new xU();_.ld=E8;_.kd=D8;_.tN=ygc+'BackupManager$3';_.tI=204;function z9(a){hP(new fP());}
+function A9(f){var a,b,c,d,e;z9(f);c=ucb(new rcb(),'images/edit_category.gif','Edit categories');vcb(c,'',eA(new hx(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=v_(new e_(),new f9());uO(f.a,'category-explorer-Admin');b=AH(new sH());uO(b,'metadata-Widget');CH(b,f.a);ycb(c,eA(new hx(),'<hr/>'));vcb(c,'Current categories:',b);e=odb(new ndb(),'images/refresh.gif');e.pe('Refresh categories');fC(e,j9(new i9(),f));vcb(c,'Refresh view:',e);ycb(c,eA(new hx(),'<hr/>'));d=odb(new ndb(),'images/new.gif');d.pe('Create a new category');fC(d,n9(new m9(),f));vcb(c,'Create a new category:',d);a=odb(new ndb(),'images/delete_obj.gif');fC(a,r9(new q9(),f));a.pe("Deletes the currently selected category. You won't be able to delete if the category is in use.");vcb(c,'Delete the currently selected category:',a);gs(f,c);return f;}
+function C9(a){if(Eh('Are you sure you want to delete category: '+a.a.e)){cVb(EMb(),a.a.e,v9(new u9(),a));}}
+function e9(){}
+_=e9.prototype=new es();_.tN=ygc+'CategoryManager';_.tI=205;_.a=null;function h9(a){}
+function f9(){}
+_=f9.prototype=new xU();_.ee=h9;_.tN=ygc+'CategoryManager$1';_.tI=206;function j9(b,a){b.a=a;return b;}
+function l9(a){B_(this.a.a);}
+function i9(){}
+_=i9.prototype=new xU();_.wc=l9;_.tN=ygc+'CategoryManager$2';_.tI=207;function n9(b,a){b.a=a;return b;}
+function p9(b){var a;a=F$(new q$(),this.a.a.e);lF(a,lO(b),mO(b)-400);oF(a);}
+function m9(){}
+_=m9.prototype=new xU();_.wc=p9;_.tN=ygc+'CategoryManager$3';_.tI=208;function r9(b,a){b.a=a;return b;}
+function t9(a){C9(this.a);}
+function q9(){}
+_=q9.prototype=new xU();_.wc=t9;_.tN=ygc+'CategoryManager$4';_.tI=209;function v9(b,a){b.a=a;return b;}
+function x9(b,a){B_(b.a.a);}
+function y9(a){x9(this,a);}
+function u9(){}
+_=u9.prototype=new hdb();_.md=y9;_.tN=ygc+'CategoryManager$5';_.tI=210;function l$(b){var a;a=ucb(new rcb(),'images/status_large.png','Manage statuses');vcb(a,'',eA(new hx(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=mD(new eD());CD(b.a,7);b.a.xe('50%');p$(b);vcb(a,'Current statuses:',b.a);vcb(a,'Add new status:',o$(b));gs(b,a);return b;}
+function n$(b,a){ieb('Creating status');rUb(EMb(),rL(a),h$(new g$(),b,a));}
+function o$(d){var a,b,c;c=FA(new DA());a=zL(new kL());b=qq(new kq(),'Create');b.x(d$(new c$(),d,a));aB(c,a);aB(c,b);return c;}
+function p$(a){ieb('Loading statuses...');wUb(EMb(),F9(new E9(),a));}
+function D9(){}
+_=D9.prototype=new es();_.tN=ygc+'StateManager';_.tI=211;_.a=null;function F9(b,a){b.a=a;return b;}
+function b$(a){var b,c;sD(this.a.a);c=bc(a,63);for(b=0;b<c.a;b++){pD(this.a.a,c[b]);}eeb();}
+function E9(){}
+_=E9.prototype=new hdb();_.md=b$;_.tN=ygc+'StateManager$1';_.tI=212;function d$(b,a,c){b.a=a;b.b=c;return b;}
+function f$(a){n$(this.a,this.b);}
+function c$(){}
+_=c$.prototype=new xU();_.wc=f$;_.tN=ygc+'StateManager$2';_.tI=213;function h$(b,a,c){b.a=a;b.b=c;return b;}
+function j$(b,a){vL(b.b,'');p$(b.a);eeb();}
+function k$(a){j$(this,a);}
+function g$(){}
+_=g$.prototype=new hdb();_.md=k$;_.tN=ygc+'StateManager$3';_.tI=214;function b_(){b_=v3;eF();}
+function E$(a){a.d=lu(new fu());a.b=zL(new kL());a.a=eL(new dL());}
+function F$(d,b){var a,c;b_();bF(d,true);E$(d);d.c=b;d.d.ve(0,0,odb(new ndb(),'images/edit_category.gif'));d.d.ve(0,1,CC(new AC(),c_(d,d.c)));d.d.ve(1,0,CC(new AC(),'Cateogory name'));d.d.ve(1,1,d.b);jL(d.a,4);d.d.ve(2,0,CC(new AC(),'Description'));d.d.ve(2,1,d.a);c=qq(new kq(),'OK');c.x(s$(new r$(),d));d.d.ve(3,0,c);a=qq(new kq(),'Cancel');a.x(w$(new v$(),d));d.d.ve(3,1,a);CH(d,d.d);uO(d,'ks-popups-Popup');return d;}
+function a_(a){a.hc();}
+function c_(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
+function d_(b){var a;a=A$(new z$(),b);if(qV('',rL(b.b))){jcb("Can't have an empty category name.");}else{nUb(EMb(),b.c,rL(b.b),rL(b.a),a);}}
+function q$(){}
+_=q$.prototype=new FE();_.tN=zgc+'CategoryEditor';_.tI=215;_.c=null;function s$(b,a){b.a=a;return b;}
+function u$(a){d_(this.a);}
+function r$(){}
+_=r$.prototype=new xU();_.wc=u$;_.tN=zgc+'CategoryEditor$1';_.tI=216;function w$(b,a){b.a=a;return b;}
+function y$(a){a_(this.a);}
+function v$(){}
+_=v$.prototype=new xU();_.wc=y$;_.tN=zgc+'CategoryEditor$2';_.tI=217;function A$(b,a){b.a=a;return b;}
+function C$(b,a){if(bc(a,55).a){b.a.hc();}else{jcb('Category was not successfully created. ');}}
+function D$(a){C$(this,a);}
+function z$(){}
+_=z$.prototype=new hdb();_.md=D$;_.tN=zgc+'CategoryEditor$3';_.tI=218;function u_(a){a.c=jN(new CL());a.d=hP(new fP());a.f=EMb();}
+function v_(b,a){u_(b);iP(b.d,b.c);b.a=a;A_(b);gs(b,b.d);nN(b.c,b);uO(b,'category-explorer-Tree');return b;}
+function x_(d,b){var a,c;a=bc(b.k,1);c=b.g;while(c!==null){a=bc(c.k,1)+'/'+a;c=c.g;}return a;}
+function y_(b,a){if(a.c.b==1&&cc(sM(a,0),64)){return false;}return true;}
+function z_(a){if(a.b!==null){a.b.ue(false);}}
+function A_(a){mN(a.c,'Please wait...');zUb(a.f,'/',k_(new j_(),a));}
+function B_(a){CN(a.c);a.e=null;A_(a);}
+function C_(c){var a,b;if(c.b===null){b=cq(new bq());dq(b,eA(new hx(),'No categories created yet. Add some categories from the administration screen.'));a=qq(new kq(),'Refresh');a.x(g_(new f_(),c));dq(b,a);uO(b,'small-Text');c.b=b;iP(c.d,c.b);}c.b.ue(true);}
+function D_(a){this.e=x_(this,a);this.a.ee(this.e);}
+function E_(a){var b;if(y_(this,a)){return;}b=a;this.e=x_(this,a);zUb(this.f,this.e,o_(new n_(),this,b));}
+function e_(){}
+_=e_.prototype=new es();_.od=D_;_.pd=E_;_.tN=zgc+'CategoryExplorerWidget';_.tI=219;_.a=null;_.b=null;_.e=null;function g_(b,a){b.a=a;return b;}
+function i_(a){B_(this.a);}
+function f_(){}
+_=f_.prototype=new xU();_.wc=i_;_.tN=zgc+'CategoryExplorerWidget$1';_.tI=220;function k_(b,a){b.a=a;return b;}
+function m_(d){var a,b,c;this.a.e=null;CN(this.a.c);a=bc(d,63);if(a.a==0){C_(this.a);}else{z_(this.a);}for(b=0;b<a.a;b++){c=oM(new mM());wM(c,'<img src="images/category_small.gif"/>'+a[b]);CM(c,a[b]);c.y(s_(new r_()));lN(this.a.c,c);}}
+function j_(){}
+_=j_.prototype=new hdb();_.md=m_;_.tN=zgc+'CategoryExplorerWidget$2';_.tI=221;function o_(b,a,c){b.a=c;return b;}
+function q_(e){var a,b,c,d;a=sM(this.a,0);if(cc(a,64)){this.a.Dd(a);}d=bc(e,63);for(b=0;b<d.a;b++){c=oM(new mM());wM(c,'<img src="images/category_small.gif"/>'+d[b]);CM(c,d[b]);c.y(s_(new r_()));this.a.y(c);}}
+function n_(){}
+_=n_.prototype=new hdb();_.md=q_;_.tN=zgc+'CategoryExplorerWidget$3';_.tI=222;function s_(a){pM(a,'Please wait...');return a;}
+function r_(){}
+_=r_.prototype=new mM();_.tN=zgc+'CategoryExplorerWidget$PendingItem';_.tI=223;function bab(){bab=v3;cab=Bb('[Ljava.lang.String;',610,1,['brl','dslr','xls']);eab=Bb('[Ljava.lang.String;',610,1,['drl','rf','enumeration']);dab=Bb('[Ljava.lang.String;',610,1,['function','dsl','jar','enumeration']);}
+function fab(a){bab();var b;for(b=0;b<dab.a;b++){if(qV(dab[b],a)){return true;}}return false;}
+var cab,dab,eab;function rab(){rab=v3;AL();}
+function pab(a){a.b=bF(new FE(),true);a.a=iab(new hab(),a);}
+function qab(b,a){rab();zL(b);pab(b);oL(b,b);vO(b.a,1);uO(b,'AutoCompleteTextBox');CH(b.b,b.a);jO(b.b,'AutoCompleteChoices');uO(b.a,'list');b.c=a;return b;}
+function sab(a){if(a.e&&uD(a.a)>0){vL(a,vD(a.a,wD(a.a)));}sD(a.a);a.b.hc();a.e=false;}
+function tab(e,a,b,c){var d;d=wD(e.a);d++;if(d>=uD(e.a)){d=0;}BD(e.a,d);}
+function uab(d,a,b,c){sab(d);}
+function vab(d,a,b,c){sD(d.a);d.b.hc();d.e=false;}
+function wab(b,a){if(0==uV(a)||0==uD(b.a)||1==uD(b.a)&&qV(vD(b.a,0),a)){sD(b.a);b.b.hc();b.e=false;}else{BD(b.a,0);CD(b.a,uD(b.a)+1);if(!b.d){dq(iH(),b.b);b.d=true;}oF(b.b);b.e=true;lF(b.b,lO(b),mO(b)+b.yb());b.a.xe(b.zb()+'px');}}
+function xab(d,a,b,c){Aab(d,rL(d));if(uV(rL(d))>0&&d.c!==null){iec(d.c,rL(d),mab(new lab(),d));}}
+function yab(d,a,b,c){sab(d);}
+function zab(e,a,b,c){var d;d=wD(e.a);d--;if(d<0){d=uD(e.a)-1;}BD(e.a,d);}
+function Aab(c,b){var a;a=0;while(a<uD(c.a)){if(yV(CV(vD(c.a,a)),CV(b))){++a;}else{AD(c.a,a);}}wab(c,b);}
+function Bab(d,b,c){var a;sD(d.a);for(a=0;a<b.a;a++){pD(d.a,b[a]);}Aab(d,c);}
+function Cab(a,b,c){if(b==13){uab(this,a,b,c);}else if(b==9){yab(this,a,b,c);}else if(b==40){tab(this,a,b,c);}else if(b==38){zab(this,a,b,c);}else if(b==27){vab(this,a,b,c);}}
+function Dab(a,b,c){}
+function Eab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:xab(this,a,b,c);break;}}
+function gab(){}
+_=gab.prototype=new kL();_.Fc=Cab;_.ad=Dab;_.bd=Eab;_.tN=Agc+'AutoCompleteTextBoxAsync';_.tI=224;_.c=null;_.d=false;_.e=false;function jab(){jab=v3;tD();}
+function iab(b,a){jab();b.a=a;mD(b);return b;}
+function kab(a){if(1==ze(a)){sab(this.a);}}
+function hab(){}
+_=hab.prototype=new eD();_.tc=kab;_.tN=Agc+'AutoCompleteTextBoxAsync$1';_.tI=225;function mab(b,a){b.a=a;return b;}
+function oab(b,a){Bab(b.a,a,rL(b.a));}
+function lab(){}
+_=lab.prototype=new xU();_.tN=Agc+'AutoCompleteTextBoxAsync$2';_.tI=226;function dbb(a){a.j=true;}
+function ebb(a){a.j=false;}
+function fbb(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
+function gbb(){return this.j;}
+function bbb(){}
+_=bbb.prototype=new es();_.lc=gbb;_.tN=Agc+'DirtyableComposite';_.tI=227;_.j=false;function jbb(a){a.b=FY(new DY());}
+function kbb(a){lu(a);jbb(a);return a;}
+function mbb(d){var a,b,c;for(c=d.b.mc();c.gc();){a=bc(c.pc(),65);b=kz(d,a.b,a.a);if(cc(b,66))if(bc(b,66).lc())return true;if(cc(b,67))if(bc(b,67).fc())return true;}return false;}
+function nbb(d,c,b,a){zz(d,c,b,a);if(cc(a,68)){aZ(d.b,d.a++,keb(new jeb(),c,b));}}
+function obb(){return mbb(this);}
+function pbb(c,b,a){nbb(this,c,b,a);}
+function ibb(){}
+_=ibb.prototype=new fu();_.fc=obb;_.ve=pbb;_.tN=Agc+'DirtyableFlexTable';_.tI=228;_.a=0;function rbb(a){FA(a);return a;}
+function tbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=Dr(c,b);if(cc(a,66))if(bc(a,66).lc())return true;if(cc(a,67))if(bc(a,67).fc())return true;}return false;}
+function ubb(){return tbb(this);}
+function qbb(){}
+_=qbb.prototype=new DA();_.fc=ubb;_.tN=Agc+'DirtyableHorizontalPane';_.tI=229;function wbb(a){hP(a);return a;}
+function ybb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=Dr(this,b);if(cc(a,66))if(bc(a,66).lc())return true;if(cc(a,67))if(bc(a,67).fc())return true;}return false;}
+function vbb(){}
+_=vbb.prototype=new fP();_.fc=ybb;_.tN=Agc+'DirtyableVerticalPane';_.tI=230;function gcb(){gcb=v3;zs();}
+function dcb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=odb(new ndb(),'images/close.gif');}
+function ecb(d,b,a){var c,e;gcb();xs(d,true);dcb(d);bD(d.a,b);aB(d.c,eC(new oB(),'images/error_dialog.png'));e=hP(new fP());iP(e,d.a);aB(d.c,e);if(a!==null){fcb(d,e,a);}aB(d.c,d.b);c=d;fC(d.b,Cbb(new Bbb(),d,c));Cs(d,d.c);lF(d,40,40);uO(d,'rule-error-Popup');return d;}
+function fcb(e,c,b){var a,d,f;f=hP(new fP());iP(c,f);d=qq(new kq(),'Details');iP(f,d);a=CC(new AC(),b);a.ue(false);iP(f,a);d.x(acb(new Fbb(),e,a,d));}
+function hcb(a){bD(a.a,'');hF(a);}
+function icb(){hcb(this);}
+function jcb(a){gcb();var b;b=ecb(new Abb(),a,null);eeb();oF(b);}
+function kcb(a){gcb();var b;b=ecb(new Abb(),a.b,a.a);eeb();oF(b);}
+function Abb(){}
+_=Abb.prototype=new us();_.hc=icb;_.tN=Agc+'ErrorPopup';_.tI=231;function Cbb(b,a,c){b.a=c;return b;}
+function Ebb(a){hcb(this.a);}
+function Bbb(){}
+_=Bbb.prototype=new xU();_.wc=Ebb;_.tN=Agc+'ErrorPopup$1';_.tI=232;function acb(b,a,c,d){b.a=c;b.b=d;return b;}
+function ccb(a){this.a.ue(true);this.b.ue(false);}
+function Fbb(){}
+_=Fbb.prototype=new xU();_.wc=ccb;_.tN=Agc+'ErrorPopup$2';_.tI=233;function mcb(b,a){b.a=a;return b;}
+function ocb(a,b,c){}
+function pcb(a,b,c){}
+function qcb(a,b,c){this.a.nb();}
+function lcb(){}
+_=lcb.prototype=new xU();_.Fc=ocb;_.ad=pcb;_.bd=qcb;_.tN=Agc+'FieldEditListener';_.tI=234;_.a=null;function scb(a){a.h=kbb(new ibb());a.g=ou(a.h);}
+function ucb(b,a,c){scb(b);wcb(b,a,c);gs(b,b.h);return b;}
+function tcb(a){scb(a);gs(a,a.h);return a;}
+function vcb(d,c,a){var b;b=eA(new hx(),'<b>'+c+'<\/b>');nbb(d.h,d.i,0,b);Bx(d.g,d.i,0,(oA(),rA),(xA(),AA));nbb(d.h,d.i,1,a);Bx(d.g,d.i,1,(oA(),qA),(xA(),AA));d.i++;}
+function wcb(c,a,d){var b;b=CC(new AC(),d);uO(b,'resource-name-Label');Bcb(c,a,b);}
+function xcb(d,b,e,f){var a,c;c=CC(new AC(),e);uO(c,'resource-name-Label');a=FA(new DA());aB(a,c);aB(a,f);Bcb(d,b,a);}
+function ycb(a,b){nbb(a.h,a.i,0,b);ju(a.g,a.i,0,2);a.i++;}
+function zcb(a){a.i=0;bz(a.h);}
+function Bcb(b,a,c){nbb(b.h,0,0,eC(new oB(),a));Bx(b.g,0,0,(oA(),qA),(xA(),AA));nbb(b.h,0,1,c);b.i++;}
+function Ccb(c,b,a,d){nbb(c.h,b,a,d);}
+function Dcb(){return mbb(this.h);}
+function rcb(){}
+_=rcb.prototype=new bbb();_.lc=Dcb;_.tN=Agc+'FormStyleLayout';_.tI=235;_.i=0;function gdb(){gdb=v3;eF();}
+function ddb(c,b,d){var a;gdb();bF(c,true);c.i=ucb(new rcb(),b,d);uO(c,'ks-popups-Popup');a=odb(new ndb(),'images/close.gif');fC(a,adb(new Fcb(),c));Ccb(c.i,0,2,a);CH(c,c.i);return c;}
+function edb(b,a,c){vcb(b.i,a,c);}
+function fdb(a,b){ycb(a.i,b);}
+function Ecb(){}
+_=Ecb.prototype=new FE();_.tN=Agc+'FormStylePopup';_.tI=236;_.i=null;function adb(b,a){b.a=a;return b;}
+function cdb(a){this.a.hc();}
+function Fcb(){}
+_=Fcb.prototype=new xU();_.wc=cdb;_.tN=Agc+'FormStylePopup$1';_.tI=237;function qdb(){qdb=v3;hC();}
+function odb(b,a){qdb();eC(b,a);uO(b,'image-Button');return b;}
+function pdb(b,a,c){qdb();eC(b,a);uO(b,'image-Button');b.pe(c);return b;}
+function ndb(){}
+_=ndb.prototype=new oB();_.tN=Agc+'ImageButton';_.tI=238;function wdb(c,d,b){var a;a=eC(new oB(),'images/information.gif');a.pe(b);fC(a,tdb(new sdb(),c,d,b));gs(c,a);return c;}
+function rdb(){}
+_=rdb.prototype=new es();_.tN=Agc+'InfoPopup';_.tI=239;function tdb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vdb(b){var a;a=ddb(new Ecb(),'images/information.gif',this.b);fdb(a,zdb(new ydb(),this.a,'small-Text'));lF(a,lO(b),mO(b));oF(a);}
+function sdb(){}
+_=sdb.prototype=new xU();_.wc=vdb;_.tN=Agc+'InfoPopup$1';_.tI=240;function zdb(c,a,b){CC(c,a);uO(c,b);return c;}
+function ydb(){}
+_=ydb.prototype=new AC();_.tN=Agc+'Lbl';_.tI=241;function ceb(){ceb=v3;eF();}
+function aeb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=eC(new oB(),'images/close.gif');}
+function beb(a){ceb();bF(a,true);aeb(a);aB(a.c,a.a);aB(a.c,a.b);aB(a.c,eC(new oB(),'images/searching.gif'));fC(a.b,Ddb(new Cdb(),a));CH(a,a.c);lF(a,0,0);uO(a,'loading-Popup');return a;}
+function deb(a){bD(a.a,'');hF(a);}
+function eeb(){ceb();deb(feb());}
+function feb(){ceb();if(heb===null){heb=beb(new Bdb());}return heb;}
+function geb(){deb(this);}
+function ieb(a){ceb();var b;b=feb();bD(b.a,a);oF(b);}
+function Bdb(){}
+_=Bdb.prototype=new FE();_.hc=geb;_.tN=Agc+'LoadingPopup';_.tI=242;var heb=null;function Ddb(b,a){b.a=a;return b;}
+function Fdb(a){deb(this.a);}
+function Cdb(){}
+_=Cdb.prototype=new xU();_.wc=Fdb;_.tN=Agc+'LoadingPopup$1';_.tI=243;function keb(c,b,a){c.b=b;c.a=a;return c;}
+function jeb(){}
+_=jeb.prototype=new xU();_.tN=Agc+'Pair';_.tI=244;_.a=0;_.b=0;function reb(a){a.b=mD(new eD());uUb(EMb(),oeb(new neb(),a));gs(a,a.b);return a;}
+function teb(a){return vD(a.b,wD(a.b));}
+function ueb(b,a){b.a=a;}
+function meb(){}
+_=meb.prototype=new es();_.tN=Agc+'RulePackageSelector';_.tI=245;_.a=null;_.b=null;function oeb(b,a){b.a=a;return b;}
+function qeb(c){var a,b;b=bc(c,71);for(a=0;a<b.a;a++){pD(this.a.b,b[a].j);if(this.a.a!==null&&qV(b[a].j,this.a.a)){BD(this.a.b,a);}}}
+function neb(){}
+_=neb.prototype=new hdb();_.md=qeb;_.tN=Agc+'RulePackageSelector$1';_.tI=246;function nfb(){nfb=v3;zs();}
+function lfb(f,g,d){var a,b,c,e;nfb();xs(f,true);f.d=g;f.b=d;uO(f,'ks-popups-Popup');As(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=FA(new DA());a=mD(new eD());ieb('Please wait...');wUb(EMb(),xeb(new web(),f,a));oD(a,Beb(new Aeb(),f,a));aB(c,a);e=qq(new kq(),'Change status');e.x(Feb(new Eeb(),f,a));aB(c,e);b=qq(new kq(),'Cancel');b.x(dfb(new cfb(),f));aB(c,b);Cs(f,c);return f;}
+function mfb(b,a){ieb('Updating status...');hUb(EMb(),b.d,b.c,b.b,hfb(new gfb(),b));}
+function ofb(b,a){b.a=a;}
+function veb(){}
+_=veb.prototype=new us();_.tN=Agc+'StatusChangePopup';_.tI=247;_.a=null;_.b=false;_.c=null;_.d=null;function xeb(b,a,c){b.a=c;return b;}
+function zeb(a){var b,c;c=bc(a,63);pD(this.a,'-- Choose one --');for(b=0;b<c.a;b++){pD(this.a,c[b]);}eeb();}
+function web(){}
+_=web.prototype=new hdb();_.md=zeb;_.tN=Agc+'StatusChangePopup$1';_.tI=248;function Beb(b,a,c){b.a=a;b.b=c;return b;}
+function Deb(a){this.a.c=vD(this.b,wD(this.b));}
+function Aeb(){}
+_=Aeb.prototype=new xU();_.vc=Deb;_.tN=Agc+'StatusChangePopup$2';_.tI=249;function Feb(b,a,c){b.a=a;b.b=c;return b;}
+function bfb(b){var a;a=vD(this.b,wD(this.b));mfb(this.a,a);this.a.hc();}
+function Eeb(){}
+_=Eeb.prototype=new xU();_.wc=bfb;_.tN=Agc+'StatusChangePopup$3';_.tI=250;function dfb(b,a){b.a=a;return b;}
+function ffb(a){this.a.hc();}
+function cfb(){}
+_=cfb.prototype=new xU();_.wc=ffb;_.tN=Agc+'StatusChangePopup$4';_.tI=251;function hfb(b,a){b.a=a;return b;}
+function jfb(b,a){b.a.a.nb();eeb();}
+function kfb(a){jfb(this,a);}
+function gfb(){}
+_=gfb.prototype=new hdb();_.md=kfb;_.tN=Agc+'StatusChangePopup$5';_.tI=252;function rfb(){rfb=v3;gdb();}
+function qfb(c,b,a){rfb();ddb(c,'images/attention_needed.png',b);edb(c,'Detail:',sfb(c,a));return c;}
+function sfb(c,b){var a;a=eL(new dL());uO(a,'editable-Surface');jL(a,12);vL(a,b);a.xe('100%');return a;}
+function pfb(){}
+_=pfb.prototype=new Ecb();_.tN=Agc+'ValidationMessageWidget';_.tI=253;function Afb(){Afb=v3;eF();}
+function yfb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=qq(new kq(),'OK');}
+function zfb(b,c,d){var a;Afb();bF(b,true);yfb(b);lF(b,c,d);aB(b.c,b.a);aB(b.c,b.b);a=b;b.b.x(vfb(new ufb(),b,a));CH(b,b.c);uO(b,'rule-warning-Popup');return b;}
+function Bfb(a){bD(a.a,'');hF(a);}
+function Cfb(){Bfb(this);}
+function Dfb(a,c,d){Afb();var b;b=zfb(new tfb(),c,d);bD(b.a,a);oF(b);}
+function tfb(){}
+_=tfb.prototype=new FE();_.hc=Cfb;_.tN=Agc+'WarningPopup';_.tI=254;function vfb(b,a,c){b.a=c;return b;}
+function xfb(a){Bfb(this.a);}
+function ufb(){}
+_=ufb.prototype=new xU();_.wc=xfb;_.tN=Agc+'WarningPopup$1';_.tI=255;function igb(){igb=v3;zs();}
+function hgb(d,b,f){var a,c,e;igb();ws(d);Bs(d,b);e=qq(new kq(),'Yes');c=qq(new kq(),'No');e.x(agb(new Ffb(),d,f));c.x(egb(new dgb(),d));a=FA(new DA());aB(a,e);aB(a,c);Cs(d,a);return d;}
+function Efb(){}
+_=Efb.prototype=new us();_.tN=Agc+'YesNoDialog';_.tI=256;function agb(b,a,c){b.a=a;b.b=c;return b;}
+function cgb(a){this.b.nb();this.a.hc();}
+function Ffb(){}
+_=Ffb.prototype=new xU();_.wc=cgb;_.tN=Agc+'YesNoDialog$1';_.tI=257;function egb(b,a){b.a=a;return b;}
+function ggb(a){this.a.hc();}
+function dgb(){}
+_=dgb.prototype=new xU();_.wc=ggb;_.tN=Agc+'YesNoDialog$2';_.tI=258;function iyb(b,a,c){b.e=c;b.a=a;nyb(b,a.e,a.d.n);myb(b);return b;}
+function jyb(b,a){ycb(b.c,a);}
+function lyb(c,a,d){var b;b=zL(new kL());tL(b,a);vL(b,d);b.ue(false);return b;}
+function myb(a){Dv(a.b,eyb(new dyb(),a));}
+function nyb(d,f,c){var a,b,e;d.b=Cv(new xv());cw(d.b,w()+'asset');dw(d.b,'multipart/form-data');ew(d.b,'post');e=au(new Ft());du(e,'fileUploadElement');b=FA(new DA());aB(b,lyb(d,'attachmentUUID',f));d.d=pdb(new ndb(),'images/upload.gif','Upload');aB(b,e);aB(b,CC(new AC(),'upload:'));aB(b,d.d);CH(d.b,b);d.c=ucb(new rcb(),d.sb(),c);if(!d.a.c)vcb(d.c,'Upload new version:',d.b);a=qq(new kq(),'Download');a.x(Cxb(new Bxb(),d,f));vcb(d.c,'Download current version:',a);fC(d.d,ayb(new Fxb(),d));gs(d,d.c);d.c.xe('100%');uO(d,d.Ab());}
+function oyb(a){ieb('Uploading...');}
+function pyb(a){gw(a.b);}
+function Axb(){}
+_=Axb.prototype=new es();_.tN=Fgc+'AssetAttachmentFileWidget';_.tI=259;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function kgb(b,a,c){iyb(b,a,c);jyb(b,eA(new hx(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
+function mgb(){return 'images/decision_table.png';}
+function ngb(){return 'decision-Table-upload';}
+function jgb(){}
+_=jgb.prototype=new Axb();_.sb=mgb;_.Ab=ngb;_.tN=Bgc+'DecisionTableXLSWidget';_.tI=260;function pgb(){pgb=v3;xgb=C1(new a1());sgb=C1(new a1());rgb=C1(new a1());qgb=Bb('[Ljava.lang.String;',610,1,['not','exists','or']);{d2(xgb,'==','is equal to');d2(xgb,'!=','is not equal to');d2(xgb,'<','is less than');d2(xgb,'<=','less than or equal to');d2(xgb,'>','greater than');d2(xgb,'>=','greater than or equal to');d2(xgb,'|| ==','or equal to');d2(xgb,'|| !=','or not equal to');d2(xgb,'&& !=','and not equal to');d2(xgb,'&& >','and greater than');d2(xgb,'&& <','and less than');d2(xgb,'|| >','or greater than');d2(xgb,'|| <','or less than');d2(xgb,'&& <','and less than');d2(xgb,'|| >=','or greater than (or equal to)');d2(xgb,'|| <=','or less than (or equal to)');d2(xgb,'&& >=','and greater than (or equal to)');d2(xgb,'&& <=','or less than (or equal to)');d2(xgb,'&& contains','and contains');d2(xgb,'|| contains','or contains');d2(xgb,'&& matches','and matches');d2(xgb,'|| matches','or mat!
 ches');d2(xgb,'|| excludes','or excludes');d2(xgb,'&& excludes','and excludes');d2(xgb,'soundslike','sounds like');d2(sgb,'not','There is no');d2(sgb,'exists','There exists');d2(sgb,'or','Any of');d2(rgb,'assert','Insert');d2(rgb,'assertLogical','Logically insert');d2(rgb,'retract','Retract');d2(rgb,'set','Set');d2(rgb,'modify','Modify');}}
+function tgb(a){pgb();return wgb(a,rgb);}
+function ugb(a){pgb();return wgb(a,sgb);}
+function vgb(a){pgb();return wgb(a,xgb);}
+function wgb(a,b){pgb();if(F1(b,a)){return bc(c2(b,a),1);}else{return a;}}
+var qgb,rgb,sgb,xgb;function Bgb(){Bgb=v3;phb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=']);rhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);nhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);lhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);qhb=Bb('[Ljava.lang.String;',610,1,['==','!=']);ohb=Bb('[Ljava.lang.String;',610,1,['==','!=','<','>','<=','>=']);shb=Bb('[Ljava.lang.String;',610,1,['==','!=','matches','soundslike']);mhb=Bb('[Ljava.lang.String;',610,1,['contains','excludes','==','!=']);}
+function zgb(a){a.h=C1(new a1());a.c=C1(new a1());a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[612],[10],[0],null);a.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[612],[10],[0],null);}
+function Agb(a){Bgb();zgb(a);return a;}
+function Cgb(c,a,b){var d;d=bc(c.f.ec(a+'.'+b),1);if(d===null){return phb;}else if(qV(d,'String')){return rhb;}else if(qV(d,'Comparable')||qV(d,'Numeric')){return nhb;}else if(qV(d,'Collection')){return lhb;}else{return phb;}}
+function Egb(i,g,d){var a,b,c,e,f,h,j;c=fhb(i);j=bc(c2(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(cc(a,32)){h=bc(a,32);if(qV(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return bc(i.c.ec(f),63);}}}}return bc(i.c.ec(g.c+'.'+d),63);}
+function Dgb(f,g,a,c){var b,d,e,h,i;b=fhb(f);h=bc(c2(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(qV(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return bc(f.c.ec(e),63);}}}return bc(f.c.ec(g+'.'+c),63);}
+function ahb(b,a){return bc(b.g.ec(a),63);}
+function Fgb(a,c){var b;b=bc(a.h.ec(c),1);return bc(a.g.ec(b),63);}
+function bhb(c,a,b){return bc(c.f.ec(a+'.'+b),1);}
+function chb(a){return ghb(a,a.h.nc());}
+function dhb(c,a,b){var d;d=bc(c.f.ec(a+'.'+b),1);if(d===null){return qhb;}else if(qV(d,'String')){return shb;}else if(qV(d,'Comparable')||qV(d,'Numeric')){return ohb;}else if(qV(d,'Collection')){return mhb;}else{return qhb;}}
+function ehb(a,b){return a.h.cb(b);}
+function fhb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=C1(new a1());e=g.c.nc();for(b=tX(e);AX(b);){d=bc(BX(b),1);if(rV(d,91)!=(-1)){c=rV(d,91);a=AV(d,0,c);f=AV(d,c+1,rV(d,93));h=AV(f,0,rV(f,61));d2(g.d,a,h);}}}return g.d;}
+function ghb(e,d){var a,b,c;a=Ab('[Ljava.lang.String;',[610],[1],[d.b.a.c],null);b=0;for(c=tX(d);AX(c);){a[b]=bc(BX(c),1);b++;}return a;}
+function ygb(){}
+_=ygb.prototype=new xU();_.tN=Cgc+'SuggestionCompletionEngine';_.tI=261;_.d=null;_.e=null;_.f=null;_.g=null;var lhb,mhb,nhb,ohb,phb,qhb,rhb,shb;function jhb(b,a){a.a=bc(b.Ad(),72);a.b=bc(b.Ad(),72);a.c=bc(b.Ad(),57);a.e=bc(b.Ad(),63);a.f=bc(b.Ad(),57);a.g=bc(b.Ad(),57);a.h=bc(b.Ad(),57);}
+function khb(b,a){b.bf(a.a);b.bf(a.b);b.bf(a.c);b.bf(a.e);b.bf(a.f);b.bf(a.g);b.bf(a.h);}
+function uhb(a){a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[626],[23],[0],null);}
+function vhb(a){uhb(a);return a;}
+function whb(c,d){var a,b;if(c.b===null){c.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[626],[23],[1],null);c.b[0]=d;}else{b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[626],[23],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
+function yhb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[626],[23],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
+function thb(){}
+_=thb.prototype=new xU();_.tN=Dgc+'ActionFieldList';_.tI=262;function Bhb(b,a){a.b=bc(b.Ad(),73);}
+function Chb(b,a){b.bf(a.b);}
+function Ehb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Dhb(){}
+_=Dhb.prototype=new xU();_.tN=Dgc+'ActionFieldValue';_.tI=263;_.a=null;_.b=null;_.c=null;function cib(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
+function dib(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
+function gib(a,b){vhb(a);a.a=b;return a;}
+function fib(a){vhb(a);return a;}
+function eib(){}
+_=eib.prototype=new thb();_.tN=Dgc+'ActionInsertFact';_.tI=264;_.a=null;function kib(b,a){a.a=b.Bd();Bhb(b,a);}
+function lib(b,a){b.cf(a.a);Chb(b,a);}
+function oib(b,a){gib(b,a);return b;}
+function nib(a){fib(a);return a;}
+function mib(){}
+_=mib.prototype=new eib();_.tN=Dgc+'ActionInsertLogicalFact';_.tI=265;function sib(b,a){kib(b,a);}
+function tib(b,a){lib(b,a);}
+function vib(a,b){a.a=b;return a;}
+function uib(){}
+_=uib.prototype=new xU();_.tN=Dgc+'ActionRetractFact';_.tI=266;_.a=null;function zib(b,a){a.a=b.Bd();}
+function Aib(b,a){b.cf(a.a);}
+function Dib(a,b){vhb(a);a.a=b;return a;}
+function Cib(a){vhb(a);return a;}
+function Bib(){}
+_=Bib.prototype=new thb();_.tN=Dgc+'ActionSetField';_.tI=267;_.a=null;function bjb(b,a){a.a=b.Bd();Bhb(b,a);}
+function cjb(b,a){b.cf(a.a);Chb(b,a);}
+function fjb(b,a){Dib(b,a);return b;}
+function ejb(a){Cib(a);return a;}
+function djb(){}
+_=djb.prototype=new Bib();_.tN=Dgc+'ActionUpdateField';_.tI=268;function jjb(b,a){bjb(b,a);}
+function kjb(b,a){cjb(b,a);}
+function mjb(a,b){a.b=b;return a;}
+function njb(e,d){var a,b,c;if(e.a===null){e.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[634],[31],[0],null);}b=e.a;c=Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[634],[31],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
+function ljb(){}
+_=ljb.prototype=new xU();_.tN=Dgc+'CompositeFactPattern';_.tI=269;_.a=null;_.b=null;function rjb(b,a){a.a=bc(b.Ad(),74);a.b=b.Bd();}
+function sjb(b,a){b.bf(a.a);b.cf(a.b);}
+function ujb(d,a){var b,c;if(d.b===null){d.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[624],[21],[1],null);Cb(d.b,0,a);}else{c=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[624],[21],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Cb(c,b,d.b[b]);}Cb(c,d.b.a,a);d.b=c;}}
+function wjb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[624],[21],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Cb(d,c,e.b[a]);c++;}}e.b=d;}
+function tjb(){}
+_=tjb.prototype=new xU();_.tN=Dgc+'CompositeFieldConstraint';_.tI=270;_.a=null;_.b=null;function zjb(b,a){a.a=b.Bd();a.b=bc(b.Ad(),75);}
+function Ajb(b,a){b.cf(a.a);b.bf(a.b);}
+function ykb(){}
+_=ykb.prototype=new xU();_.tN=Dgc+'ISingleFieldConstraint';_.tI=271;_.e=0;_.f=null;function Bjb(){}
+_=Bjb.prototype=new ykb();_.tN=Dgc+'ConnectiveConstraint';_.tI=272;_.a=null;function Fjb(b,a){a.a=b.Bd();Ckb(b,a);}
+function akb(b,a){b.cf(a.a);Dkb(b,a);}
+function dkb(b){var a;a=new bkb();a.a=b.a;return a;}
+function ekb(e){var a,b,c,d;b=BV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=ac(a);}}return d;}
+function jkb(){return ekb(this);}
+function bkb(){}
+_=bkb.prototype=new xU();_.tS=jkb;_.tN=Dgc+'DSLSentence';_.tI=273;_.a=null;function hkb(b,a){a.a=b.Bd();}
+function ikb(b,a){b.cf(a.a);}
+function lkb(b,a){b.c=a;return b;}
+function mkb(b,a){if(b.b===null)b.b=new tjb();ujb(b.b,a);}
+function okb(a){if(a.b===null){return Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[624],[21],[0],null);}else{return a.b.b;}}
+function pkb(a){if(a.a!==null&& !qV('',a.a)){return true;}else{return false;}}
+function qkb(b,a){wjb(b.b,a);}
+function kkb(){}
+_=kkb.prototype=new xU();_.tN=Dgc+'FactPattern';_.tI=274;_.a=null;_.b=null;_.c=null;function tkb(b,a){a.a=b.Bd();a.b=bc(b.Ad(),30);a.c=b.Bd();}
+function ukb(b,a){b.cf(a.a);b.bf(a.b);b.cf(a.c);}
+function Ckb(b,a){a.e=b.yd();a.f=b.Bd();}
+function Dkb(b,a){b.Fe(a.e);b.cf(a.f);}
+function alb(b,a,c){b.a=a;b.b=c;return b;}
+function glb(){var a;a=cV(new bV());eV(a,this.a);if(qV('no-loop',this.a)){eV(a,' ');eV(a,this.b===null?'true':this.b);}else if(qV('salience',this.a)){eV(a,' ');eV(a,this.b);}else if(this.b!==null){eV(a,' "');eV(a,this.b);eV(a,'"');}return iV(a);}
+function Fkb(){}
+_=Fkb.prototype=new xU();_.tS=glb;_.tN=Dgc+'RuleAttribute';_.tI=275;_.a=null;_.b=null;function elb(b,a){a.a=b.Bd();a.b=b.Bd();}
+function flb(b,a){b.cf(a.a);b.cf(a.b);}
+function ilb(a){a.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[18],[0],null);a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[19],[0],null);a.e=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[20],[0],null);}
+function jlb(a){ilb(a);return a;}
+function klb(e,a){var b,c,d;c=e.a;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[18],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function llb(e,d){var a,b,c;if(e.b===null){e.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[19],[0],null);}b=e.b;c=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[19],[b.a+1],null);for(a=0;a<b.a;a++){Cb(c,a,b[a]);}Cb(c,b.a,d);e.b=c;}
+function mlb(e,a){var b,c,d;if(e.e===null){e.e=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[20],[0],null);}c=e.e;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[20],[c.a+1],null);for(b=0;b<c.a;b++){Cb(d,b,c[b]);}Cb(d,c.a,a);e.e=d;}
+function olb(h){var a,b,c,d,e,f,g;g=FY(new DY());for(d=0;d<h.b.a;d++){f=h.b[d];if(cc(f,31)){b=bc(f,31);if(pkb(b)){bZ(g,b.a);}for(e=0;e<okb(b).a;e++){c=okb(b)[e];if(cc(c,32)){a=bc(c,32);if(Flb(a)){bZ(g,a.b);}}}}}return g;}
+function plb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(cc(c.b[a],31)){b=bc(c.b[a],31);if(b.a!==null&&qV(d,b.a)){return b;}}}return null;}
+function qlb(d){var a,b,c;if(d.b===null){return null;}b=FY(new DY());for(a=0;a<d.b.a;a++){if(cc(d.b[a],31)){c=bc(d.b[a],31);if(c.a!==null){bZ(b,c.a);}}}return b;}
+function rlb(k,b){var a,c,d,e,f,g,h,i,j;j=FY(new DY());for(f=0;f<k.b.a;f++){i=k.b[f];if(cc(i,31)){d=bc(i,31);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(cc(e,32)){a=bc(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Flb(a)){bZ(j,a.b);}}}}if(pkb(d)){bZ(j,d.a);}}else{if(pkb(d)){bZ(j,d.a);}}}}return j;}
+function slb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(cc(e.e[b],27)){d=bc(e.e[b],27);if(qV(d.a,a)){return true;}}else if(cc(e.e[b],26)){c=bc(e.e[b],26);if(qV(c.a,a)){return true;}}}return false;}
+function tlb(b,a){return fZ(olb(b),a);}
+function ulb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[18],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function vlb(f,b){var a,c,d,e;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[19],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Cb(d,c,f.b[a]);c++;}else{if(cc(f.b[a],31)){e=bc(f.b[a],31);if(e.a!==null&&slb(f,e.a)){return false;}}}}f.b=d;return true;}
+function wlb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[20],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Cb(d,c,e.e[a]);c++;}}e.e=d;}
+function hlb(){}
+_=hlb.prototype=new xU();_.tN=Dgc+'RuleModel';_.tI=276;_.c='1.0';_.d=null;function zlb(b,a){a.a=bc(b.Ad(),76);a.b=bc(b.Ad(),77);a.c=b.Bd();a.d=b.Bd();a.e=bc(b.Ad(),78);}
+function Alb(b,a){b.bf(a.a);b.bf(a.b);b.cf(a.c);b.cf(a.d);b.bf(a.e);}
+function Clb(b,a){b.c=a;return b;}
+function Dlb(c){var a,b;if(c.a===null){c.a=Bb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',618,15,[new Bjb()]);}else{b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[618],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new Bjb();c.a=b;}}
+function Flb(a){if(a.b!==null&& !qV('',a.b)){return true;}else{return false;}}
+function Blb(){}
+_=Blb.prototype=new ykb();_.tN=Dgc+'SingleFieldConstraint';_.tI=277;_.a=null;_.b=null;_.c=null;_.d=null;function cmb(b,a){a.a=bc(b.Ad(),79);a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();Ckb(b,a);}
+function dmb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);Dkb(b,a);}
+function Dmb(d,b,c,a){d.e=c;d.a=a;d.d=kbb(new ibb());d.f=b;d.b=c.a;d.c=ahb(d.a,c.a);uO(d.d,'model-builderInner-Background');Fmb(d);gs(d,d.d);return d;}
+function Fmb(e){var a,b,c,d,f;bz(e.d);nbb(e.d,0,0,bnb(e));c=kbb(new ibb());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];nbb(c,a,0,anb(e,f));nbb(c,a,1,dnb(e,f));b=a;d=odb(new ndb(),'images/delete_item_small.gif');fC(d,gmb(new fmb(),e,b));nbb(c,a,2,d);}nbb(e.d,0,1,c);}
+function anb(a,b){return CC(new AC(),b.a);}
+function bnb(d){var a,b,c;c=FA(new DA());b=odb(new ndb(),'images/add_field_to_fact.gif');b.pe('Add another field to this so you can set its value.');fC(b,wmb(new vmb(),d));a='assert';if(cc(d.e,25)){a='assertLogical';}aB(c,zdb(new ydb(),tgb(a)+' '+d.e.a,'modeller-action-Label'));aB(c,b);return c;}
+function cnb(d,e){var a,b,c;c=ddb(new Ecb(),'images/newex_wiz.gif','Add a field');uO(c,'ks-popups-Popup');a=mD(new eD());pD(a,'...');for(b=0;b<d.c.a;b++){pD(a,d.c[b]);}BD(a,0);edb(c,'Add field',a);oD(a,Amb(new zmb(),d,a,c));lF(c,lO(e),mO(e));oF(c);}
+function dnb(c,d){var a,b;b=Dgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return xqb(d.c,omb(new nmb(),c,d),b);}else{a=zL(new kL());vL(a,d.c);nL(a,smb(new rmb(),c,d,a));if(qV(d.b,'Numeric')){oL(a,rob(a));}return a;}}
+function emb(){}
+_=emb.prototype=new bbb();_.tN=Egc+'ActionInsertFactWidget';_.tI=278;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function gmb(b,a,c){b.a=a;b.b=c;return b;}
+function imb(b){var a;a=hgb(new Efb(),'Remove this item?',kmb(new jmb(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
+function fmb(){}
+_=fmb.prototype=new xU();_.wc=imb;_.tN=Egc+'ActionInsertFactWidget$1';_.tI=279;function kmb(b,a,c){b.a=a;b.b=c;return b;}
+function mmb(){yhb(this.a.a.e,this.b);rxb(this.a.a.f);}
+function jmb(){}
+_=jmb.prototype=new xU();_.nb=mmb;_.tN=Egc+'ActionInsertFactWidget$2';_.tI=280;function omb(b,a,c){b.a=c;return b;}
+function qmb(a){this.a.c=a;}
+function nmb(){}
+_=nmb.prototype=new xU();_.Ce=qmb;_.tN=Egc+'ActionInsertFactWidget$3';_.tI=281;function smb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function umb(a){this.c.c=rL(this.b);rxb(this.a.f);}
+function rmb(){}
+_=rmb.prototype=new xU();_.vc=umb;_.tN=Egc+'ActionInsertFactWidget$4';_.tI=282;function wmb(b,a){b.a=a;return b;}
+function ymb(a){cnb(this.a,a);}
+function vmb(){}
+_=vmb.prototype=new xU();_.wc=ymb;_.tN=Egc+'ActionInsertFactWidget$5';_.tI=283;function Amb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Cmb(c){var a,b;a=vD(this.b,wD(this.b));b=bhb(this.a.a,this.a.e.a,a);whb(this.a.e,Ehb(new Dhb(),a,'',b));rxb(this.a.f);this.c.hc();}
+function zmb(){}
+_=zmb.prototype=new xU();_.vc=Cmb;_.tN=Egc+'ActionInsertFactWidget$6';_.tI=284;function fnb(c,a,b){c.a=lu(new fu());uO(c.a,'model-builderInner-Background');c.a.ve(0,0,zdb(new ydb(),tgb('retract'),'modeller-action-Label'));c.a.ve(0,1,zdb(new ydb(),'['+b.a+']','modeller-action-Label'));gs(c,c.a);return c;}
+function enb(){}
+_=enb.prototype=new es();_.tN=Egc+'ActionRetractFactWidget';_.tI=285;_.a=null;function kob(e,b,d,a){var c;e.d=d;e.a=a;e.c=kbb(new ibb());e.e=b;uO(e.c,'model-builderInner-Background');if(ehb(e.a,d.a)){e.b=Fgb(e.a,d.a);e.f=bc(e.a.h.ec(d.a),1);}else{c=plb(b.c,d.a);e.b=ahb(e.a,c.c);e.f=c.c;}mob(e);gs(e,e.c);return e;}
+function mob(e){var a,b,c,d,f;bz(e.c);nbb(e.c,0,0,oob(e));c=kbb(new ibb());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];nbb(c,a,0,nob(e,f));nbb(c,a,1,qob(e,f));b=a;d=odb(new ndb(),'images/delete_item_small.gif');fC(d,jnb(new inb(),e,b));nbb(c,a,2,d);}nbb(e.c,0,1,c);}
+function nob(a,b){return CC(new AC(),b.a);}
+function oob(d){var a,b,c;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe('Add another field to this so you can set its value.');fC(a,rnb(new qnb(),d));c='set';if(cc(d.d,28)){c='modify';}aB(b,zdb(new ydb(),tgb(c)+' ['+d.d.a+']','modeller-action-Label'));aB(b,a);return b;}
+function pob(d,e){var a,b,c;c=ddb(new Ecb(),'images/newex_wiz.gif','Add a field');uO(c,'ks-popups-Popup');a=mD(new eD());pD(a,'...');for(b=0;b<d.b.a;b++){pD(a,d.b[b]);}BD(a,0);edb(c,'Add field',a);oD(a,vnb(new unb(),d,a,c));lF(c,lO(e),mO(e));oF(c);}
+function qob(d,f){var a,b,c,e;e='';if(ehb(d.a,d.d.a)){e=bc(d.a.h.ec(d.d.a),1);}else{e=plb(d.e.c,d.d.a).c;}b=Dgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return xqb(f.c,znb(new ynb(),d,f),b);}else{c=AH(new sH());a=zL(new kL());vL(a,f.c);if(uV(f.c)!=0){BL(a,uV(f.c));}if(qV(f.b,'Numeric')){oL(a,rob(a));}nL(a,Dnb(new Cnb(),d,f,a));oL(a,mcb(new lcb(),bob(new aob(),d,a)));CH(c,a);return c;}}
+function rob(a){return fob(new eob(),a);}
+function sob(){return mbb(this.c);}
+function hnb(){}
+_=hnb.prototype=new bbb();_.lc=sob;_.tN=Egc+'ActionSetFieldWidget';_.tI=286;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function jnb(b,a,c){b.a=a;b.b=c;return b;}
+function lnb(b){var a;a=hgb(new Efb(),'Remove this item?',nnb(new mnb(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
+function inb(){}
+_=inb.prototype=new xU();_.wc=lnb;_.tN=Egc+'ActionSetFieldWidget$1';_.tI=287;function nnb(b,a,c){b.a=a;b.b=c;return b;}
+function pnb(){yhb(this.a.a.d,this.b);rxb(this.a.a.e);}
+function mnb(){}
+_=mnb.prototype=new xU();_.nb=pnb;_.tN=Egc+'ActionSetFieldWidget$2';_.tI=288;function rnb(b,a){b.a=a;return b;}
+function tnb(a){pob(this.a,a);}
+function qnb(){}
+_=qnb.prototype=new xU();_.wc=tnb;_.tN=Egc+'ActionSetFieldWidget$3';_.tI=289;function vnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function xnb(c){var a,b;a=vD(this.b,wD(this.b));b=bhb(this.a.a,this.a.f,a);whb(this.a.d,Ehb(new Dhb(),a,'',b));rxb(this.a.e);this.c.hc();}
+function unb(){}
+_=unb.prototype=new xU();_.vc=xnb;_.tN=Egc+'ActionSetFieldWidget$4';_.tI=290;function znb(b,a,c){b.a=c;return b;}
+function Bnb(a){this.a.c=a;}
+function ynb(){}
+_=ynb.prototype=new xU();_.Ce=Bnb;_.tN=Egc+'ActionSetFieldWidget$5';_.tI=291;function Dnb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Fnb(a){this.b.c=rL(this.a);}
+function Cnb(){}
+_=Cnb.prototype=new xU();_.vc=Fnb;_.tN=Egc+'ActionSetFieldWidget$6';_.tI=292;function bob(b,a,c){b.a=c;return b;}
+function dob(){BL(this.a,uV(rL(this.a)));}
+function aob(){}
+_=aob.prototype=new xU();_.nb=dob;_.tN=Egc+'ActionSetFieldWidget$7';_.tI=293;function fob(a,b){a.a=b;return a;}
+function hob(a,b,c){}
+function iob(c,a,b){if(hT(a)&&a!=61&& !yV(rL(this.a),'=')){pL(bc(c,80));}}
+function job(a,b,c){}
+function eob(){}
+_=eob.prototype=new xU();_.Fc=hob;_.ad=iob;_.bd=job;_.tN=Egc+'ActionSetFieldWidget$8';_.tI=294;function Cob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=kbb(new ibb());uO(d.b,'model-builderInner-Background');Eob(d);gs(d,d.b);return d;}
+function Eob(c){var a,b,d;nbb(c.b,0,0,Fob(c));if(c.d.a!==null){d=wbb(new vbb());a=c.d.a;for(b=0;b<a.a;b++){iP(d,ptb(new nrb(),c.c,a[b],c.a,false));}nbb(c.b,0,1,d);}}
+function Fob(c){var a,b;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");fC(a,vob(new uob(),c));aB(b,CC(new AC(),ugb(c.d.b)));aB(b,a);uO(b,'modeller-composite-Label');return b;}
+function apb(e,f){var a,b,c,d;a=mD(new eD());b=e.a.e;pD(a,'Choose...');for(c=0;c<b.a;c++){pD(a,b[c]);}BD(a,0);d=ddb(new Ecb(),'images/new_fact.gif','New fact pattern...');edb(d,'choose fact type',a);oD(a,zob(new yob(),e,a,d));uO(d,'ks-popups-Popup');lF(d,lO(f)-400,mO(f));oF(d);}
+function bpb(){return mbb(this.b);}
+function tob(){}
+_=tob.prototype=new bbb();_.lc=bpb;_.tN=Egc+'CompositeFactPatternWidget';_.tI=295;_.a=null;_.b=null;_.c=null;_.d=null;function vob(b,a){b.a=a;return b;}
+function xob(a){apb(this.a,a);}
+function uob(){}
+_=uob.prototype=new xU();_.wc=xob;_.tN=Egc+'CompositeFactPatternWidget$1';_.tI=296;function zob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Bob(a){njb(this.a.d,lkb(new kkb(),vD(this.b,wD(this.b))));rxb(this.a.c);this.c.hc();}
+function yob(){}
+_=yob.prototype=new xU();_.vc=Bob;_.tN=Egc+'CompositeFactPatternWidget$2';_.tI=297;function nqb(f,d,b,a,c,g){var e;f.a=a;if(qV(g,'Numeric')){f.d=true;}else{f.d=false;}if(qV(g,'Boolean')){f.b=Bb('[Ljava.lang.String;',610,1,['true','false']);}f.c=c.c;e=c.a;f.b=Egb(e,d,b);f.e=AH(new sH());sqb(f);gs(f,f.e);return f;}
+function oqb(c,b){var a;a=zL(new kL());uO(a,'constraint-value-Editor');if(b.f===null){vL(a,'');}else{vL(a,b.f);}if(b.f===null||uV(b.f)<5){BL(a,3);}else{BL(a,uV(b.f)-1);}nL(a,Dpb(new Cpb(),c,b,a));oL(a,mcb(new lcb(),bqb(new aqb(),c,a)));return a;}
+function qqb(b,a){sqb(b);a.hc();}
+function rqb(b){var a;if(b.b!==null){return xqb(b.a.f,qpb(new ppb(),b),b.b);}else{a=oqb(b,b.a);if(b.d){oL(a,new tpb());}a.pe('This is a literal value. What is shown is what the field is checked against.');return a;}}
+function sqb(b){var a;b.e.F();if(b.a.e==0){a=eC(new oB(),'images/edit.gif');fC(a,ipb(new dpb(),b));CH(b.e,a);}else{switch(b.a.e){case 1:CH(b.e,rqb(b));break;case 3:CH(b.e,tqb(b));break;case 2:CH(b.e,vqb(b));break;default:break;}}}
+function tqb(e){var a,b,c,d;a=oqb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=eC(new oB(),'images/function_assets.gif');c.pe(d);a.pe(d);b=wqb(e,c,a);return b;}
+function uqb(e,g,a){var b,c,d,f;b=ddb(new Ecb(),'images/newex_wiz.gif','Field value');d=qq(new kq(),'Literal value');d.x(fqb(new eqb(),e,a,b));edb(b,'Literal value:',wqb(e,d,wdb(new rdb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));fdb(b,eA(new hx(),'<hr/>'));fdb(b,zdb(new ydb(),'Advanced options','weak-Text'));if(rlb(e.c,e.a).b>0){f=qq(new kq(),'Bound variable');f.x(jqb(new iqb(),e,a,b));edb(b,'A variable:',wqb(e,f,wdb(new rdb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=qq(new kq(),'New formula');c.x(fpb(new epb(),e,a,b));edb(b,'A formula:',wqb(e,c,wdb(new rdb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));lF(b,lO(g),mO(g));oF(b);}
+function vqb(c){var a,b,d,e;e=rlb(c.c,c.a);a=mD(new eD());if(c.a.f===null){pD(a,'Choose ...');}for(b=0;b<e.b;b++){d=bc(gZ(e,b),1);pD(a,d);if(c.a.f!==null&&qV(c.a.f,d)){BD(a,b);}}oD(a,mpb(new lpb(),c,a));return a;}
+function wqb(d,a,c){var b;b=FA(new DA());aB(b,a);aB(b,c);b.xe('100%');return b;}
+function xqb(b,k,d){var a,c,e,f,g,h,i,j;a=mD(new eD());if(b===null||qV('',b)){pD(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(rV(i,61)>0){h=zqb(i);f=h[0];c=h[1];j=f;qD(a,c,f);}else{qD(a,i,i);j=i;}if(b!==null&&qV(b,j)){BD(a,e);g=true;}}if(b!==null&& !g){qD(a,b,b);BD(a,d.a);}oD(a,zpb(new ypb(),k,a));return a;}
+function yqb(){return this.j;}
+function zqb(c){var a,b;b=Ab('[Ljava.lang.String;',[610],[1],[2],null);a=rV(c,61);b[0]=AV(c,0,a);b[1]=AV(c,a+1,uV(c));return b;}
+function cpb(){}
+_=cpb.prototype=new bbb();_.lc=yqb;_.tN=Egc+'ConstraintValueEditor';_.tI=298;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function ipb(b,a){b.a=a;return b;}
+function kpb(a){uqb(this.a,a,this.a.a);}
+function dpb(){}
+_=dpb.prototype=new xU();_.wc=kpb;_.tN=Egc+'ConstraintValueEditor$1';_.tI=299;function fpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function hpb(a){this.b.e=3;qqb(this.a,this.c);}
+function epb(){}
+_=epb.prototype=new xU();_.wc=hpb;_.tN=Egc+'ConstraintValueEditor$10';_.tI=300;function mpb(b,a,c){b.a=a;b.b=c;return b;}
+function opb(a){this.a.a.f=vD(this.b,wD(this.b));}
+function lpb(){}
+_=lpb.prototype=new xU();_.vc=opb;_.tN=Egc+'ConstraintValueEditor$2';_.tI=301;function qpb(b,a){b.a=a;return b;}
+function spb(a){this.a.a.f=a;}
+function ppb(){}
+_=ppb.prototype=new xU();_.Ce=spb;_.tN=Egc+'ConstraintValueEditor$3';_.tI=302;function vpb(a,b,c){}
+function wpb(c,a,b){if(hT(a)){pL(bc(c,80));}}
+function xpb(a,b,c){}
+function tpb(){}
+_=tpb.prototype=new xU();_.Fc=vpb;_.ad=wpb;_.bd=xpb;_.tN=Egc+'ConstraintValueEditor$4';_.tI=303;function zpb(a,c,b){a.b=c;a.a=b;return a;}
+function Bpb(a){this.b.Ce(xD(this.a,wD(this.a)));}
+function ypb(){}
+_=ypb.prototype=new xU();_.vc=Bpb;_.tN=Egc+'ConstraintValueEditor$5';_.tI=304;function Dpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Fpb(a){this.c.f=rL(this.b);dbb(this.a);}
+function Cpb(){}
+_=Cpb.prototype=new xU();_.vc=Fpb;_.tN=Egc+'ConstraintValueEditor$6';_.tI=305;function bqb(b,a,c){b.a=c;return b;}
+function dqb(){BL(this.a,uV(rL(this.a)));}
+function aqb(){}
+_=aqb.prototype=new xU();_.nb=dqb;_.tN=Egc+'ConstraintValueEditor$7';_.tI=306;function fqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function hqb(a){this.b.e=1;qqb(this.a,this.c);}
+function eqb(){}
+_=eqb.prototype=new xU();_.wc=hqb;_.tN=Egc+'ConstraintValueEditor$8';_.tI=307;function jqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function lqb(a){this.b.e=2;qqb(this.a,this.c);}
+function iqb(){}
+_=iqb.prototype=new xU();_.wc=lqb;_.tN=Egc+'ConstraintValueEditor$9';_.tI=308;function grb(b,a){b.a=rbb(new qbb());b.c=FY(new DY());b.b=a;jrb(b);return b;}
+function hrb(b,a){aB(b.a,a);bZ(b.c,a);}
+function jrb(a){krb(a,a.b.a);gs(a,a.a);}
+function krb(g,e){var a,b,c,d,f;b=BV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=brb(new Fqb(),g);hrb(g,c);}else if(a==125){frb(c,uV(drb(c))+1);c=null;}else{if(c===null&&d===null){d=BC(new AC());hrb(g,d);}if(d!==null){bD(d,aD(d)+ac(a));}else if(c!==null){erb(c,drb(c)+ac(a));}}}}
+function lrb(c){var a,b,d;b='';for(a=c.c.mc();a.gc();){d=bc(a.pc(),13);if(cc(d,81)){b=b+aD(bc(d,81));}else if(cc(d,82)){b=b+' {'+drb(bc(d,82))+'} ';}}c.b.a=DV(b);}
+function mrb(){return tbb(this.a);}
+function Aqb(){}
+_=Aqb.prototype=new bbb();_.lc=mrb;_.tN=Egc+'DSLSentenceWidget';_.tI=309;_.a=null;_.b=null;_.c=null;function Cqb(b,a){b.a=a;return b;}
+function Eqb(a){lrb(this.a.c);dbb(this.a);}
+function Bqb(){}
+_=Bqb.prototype=new xU();_.vc=Eqb;_.tN=Egc+'DSLSentenceWidget$1';_.tI=310;function arb(a){a.b=FA(new DA());}
+function brb(b,a){b.c=a;arb(b);b.a=zL(new kL());aB(b.b,eA(new hx(),'&nbsp;'));aB(b.b,b.a);aB(b.b,eA(new hx(),'&nbsp;'));nL(b.a,Cqb(new Bqb(),b));gs(b,b.b);return b;}
+function drb(a){return rL(a.a);}
+function erb(b,a){vL(b.a,a);}
+function frb(b,a){BL(b.a,a);}
+function Fqb(){}
+_=Fqb.prototype=new bbb();_.tN=Egc+'DSLSentenceWidget$FieldEditor';_.tI=311;_.a=null;function otb(a){a.c=kbb(new ibb());}
+function ptb(k,h,i,c,a){var b,d,e,f,g,j;otb(k);k.e=bc(i,31);k.b=c;k.d=h;k.a=a;nbb(k.c,0,0,xtb(k));f=ou(k.c);Bx(f,0,0,(oA(),pA),(xA(),zA));Ex(f,0,0,'modeller-fact-TypeHeader');g=kbb(new ibb());nbb(k.c,1,0,g);for(j=0;j<okb(k.e).a;j++){d=okb(k.e)[j];e=j;Atb(k,g,j,d,true);b=odb(new ndb(),'images/delete_item_small.gif');b.pe('Remove this whole restriction');fC(b,lsb(new orb(),k,e));nbb(g,j,5,b);}if(k.a)uO(k.c,'modeller-fact-pattern-Widget');gs(k,k.c);return k;}
+function rtb(j,b){var a,c,d,e,f,g,h,i;f=FA(new DA());d=null;e=odb(new ndb(),'images/add_field_to_fact.gif');e.pe('Add a field to this nested constraint.');fC(e,psb(new osb(),j,b));if(qV(b.a,'&&')){d='All of:';}else{d='Any of:';}aB(f,e);aB(f,eA(new hx(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=kbb(new ibb());uO(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){Atb(j,h,g,i[g],false);c=g;a=odb(new ndb(),'images/delete_item_small.gif');a.pe('Remove this (nested) restriction');fC(a,tsb(new ssb(),j,b,c));nbb(h,g,5,a);}}aB(f,h);return f;}
+function stb(g,b,c){var a,d,e,f;f=Cgb(g.b,g.e.c,c);a=mD(new eD());pD(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];qD(a,vgb(e),e);if(qV(e,b.a)){BD(a,d+1);}}oD(a,Crb(new Brb(),g,b,a));return a;}
+function ttb(d,a,b,c){var e;e=bhb(d.d.a,b,c);return nqb(new cpb(),d.e,c,a,d.d,e);}
+function utb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=rbb(new qbb());for(e=0;e<a.a.a;e++){b=a.a[e];aB(d,stb(f,b,a.c));aB(d,ttb(f,b,c,a.c));}return d;}else{return null;}}
+function vtb(c,b){var a,d,e;if(c.a&& !slb(c.d.c,c.e.a)){d=FA(new DA());e=zL(new kL());if(c.e.a===null){vL(e,'');}else{vL(e,c.e.a);}BL(e,3);aB(d,e);a=qq(new kq(),'Set');a.x(yrb(new xrb(),c,e,b));aB(d,a);edb(b,'Variable name',d);}}
+function wtb(e,c,d){var a,b;a=FA(new DA());uO(a,'modeller-field-Label');if(!Flb(c)){if(e.a&&d){b=pdb(new ndb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');fC(b,esb(new dsb(),e,c));aB(a,b);}}else{aB(a,CC(new AC(),'['+c.b+']'));}aB(a,CC(new AC(),c.c));return a;}
+function xtb(c){var a,b;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe('Add a field to this condition, or bind a varible to this fact.');fC(a,Fsb(new Esb(),c));if(c.e.a!==null){aB(b,CC(new AC(),'['+c.e.a+'] '+c.e.c));}else{aB(b,CC(new AC(),c.e.c));}aB(b,a);return b;}
+function ytb(f,b){var a,c,d,e;e=dhb(f.b,f.e.c,b.c);a=mD(new eD());pD(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];qD(a,vgb(d),d);if(qV(d,b.d)){BD(a,c+1);}}oD(a,asb(new Frb(),f,b,a));return a;}
+function ztb(e,b){var a,c,d;d=FA(new DA());d.xe('100%');c=eC(new oB(),'images/function_assets.gif');c.pe('This is a formula expression that is evaluated to be true or false.');aB(d,c);if(b.f===null){b.f='';}a=zL(new kL());vL(a,b.f);nL(a,Bsb(new Asb(),e,b,a));a.xe('100%');aB(d,a);return d;}
+function Atb(e,b,c,a,d){if(cc(a,32)){Btb(e,e.d,b,c,a,d);}else if(cc(a,30)){nbb(b,c,0,rtb(e,bc(a,30)));ju(ou(b),c,0,5);}}
+function Btb(h,e,d,f,c,g){var a,b;b=bc(c,32);if(b.e!=5){nbb(d,f,0,wtb(h,b,g));nbb(d,f,1,ytb(h,b));nbb(d,f,2,Ftb(h,b,h.e.c));nbb(d,f,3,utb(h,b,h.e.c));a=odb(new ndb(),'images/add_connective.gif');a.pe('Add more options to this fields values.');fC(a,xsb(new wsb(),h,b,e));nbb(d,f,4,a);}else if(b.e==5){nbb(d,f,0,ztb(h,b));ju(ou(d),f,0,5);}}
+function Ctb(d,g,a){var b,c,e,f;c=ddb(new Ecb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=cq(new bq());e=zL(new kL());b=qq(new kq(),'Set');dq(f,e);dq(f,b);b.x(isb(new hsb(),d,e,a,c));edb(c,'Variable name',f);lF(c,lO(g),mO(g));oF(c);}
+function Etb(i,j){var a,b,c,d,e,f,g,h;g=ddb(new Ecb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);uO(g,'ks-popups-Popup');a=mD(new eD());pD(a,'...');c=ahb(i.b,i.e.c);for(e=0;e<c.a;e++){pD(a,c[e]);}BD(a,0);oD(a,ltb(new ktb(),i,a,g));edb(g,'Add a restriction on a field',a);b=mD(new eD());pD(b,'...');qD(b,'All of (And)','&&');qD(b,'Any of (Or)','||');BD(b,0);oD(b,qrb(new prb(),i,b,g));f=wdb(new rdb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=FA(new DA());aB(d,b);aB(d,f);edb(g,'Multiple field constraint',d);fdb(g,zdb(new ydb(),'Advanced options','weak-Text'));h=qq(new kq(),'New formula');h.x(urb(new trb(),i,g));edb(g,'Add a new formula style expression',h);vtb(i,g);lF(g,lO(j),mO(j));oF(g);}
+function Dtb(i,j,b){var a,c,d,e,f,g,h;h=ddb(new Ecb(),'images/newex_wiz.gif','Add fields to this constraint');uO(h,'ks-popups-Popup');a=mD(new eD());pD(a,'...');d=ahb(i.b,i.e.c);for(f=0;f<d.a;f++){pD(a,d[f]);}BD(a,0);oD(a,dtb(new ctb(),i,b,a,h));edb(h,'Add a restriction on a field',a);c=mD(new eD());pD(c,'...');qD(c,'All of (And)','&&');qD(c,'Any of (Or)','||');BD(c,0);oD(c,htb(new gtb(),i,c,b,h));g=wdb(new rdb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=FA(new DA());aB(e,c);aB(e,g);edb(h,'Multiple field constraint',e);lF(h,lO(j),mO(j));oF(h);}
+function Ftb(c,a,b){var d;d=bhb(c.d.a,b,a.c);return nqb(new cpb(),c.e,a.c,a,c.d,d);}
+function aub(){return mbb(this.c);}
+function nrb(){}
+_=nrb.prototype=new bbb();_.lc=aub;_.tN=Egc+'FactPatternWidget';_.tI=312;_.a=false;_.b=null;_.d=null;_.e=null;function lsb(b,a,c){b.a=a;b.b=c;return b;}
+function nsb(a){if(Eh('Remove this item?')){qkb(this.a.e,this.b);rxb(this.a.d);}}
+function orb(){}
+_=orb.prototype=new xU();_.wc=nsb;_.tN=Egc+'FactPatternWidget$1';_.tI=313;function qrb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function srb(b){var a;a=new tjb();a.a=xD(this.b,wD(this.b));mkb(this.a.e,a);rxb(this.a.d);this.c.hc();}
+function prb(){}
+_=prb.prototype=new xU();_.vc=srb;_.tN=Egc+'FactPatternWidget$10';_.tI=314;function urb(b,a,c){b.a=a;b.b=c;return b;}
+function wrb(b){var a;a=new Blb();a.e=5;mkb(this.a.e,a);rxb(this.a.d);this.b.hc();}
+function trb(){}
+_=trb.prototype=new xU();_.wc=wrb;_.tN=Egc+'FactPatternWidget$11';_.tI=315;function yrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Arb(b){var a;a=rL(this.c);if(qxb(this.a.d,a)){Ch('The variable name ['+a+'] is already taken.');return;}this.a.e.a=rL(this.c);rxb(this.a.d);this.b.hc();}
+function xrb(){}
+_=xrb.prototype=new xU();_.wc=Arb;_.tN=Egc+'FactPatternWidget$12';_.tI=316;function Crb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Erb(a){this.b.a=xD(this.a,wD(this.a));}
+function Brb(){}
+_=Brb.prototype=new xU();_.vc=Erb;_.tN=Egc+'FactPatternWidget$13';_.tI=317;function asb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function csb(a){this.c.d=xD(this.b,wD(this.b));dbb(this.a.d);kW(),nW;}
+function Frb(){}
+_=Frb.prototype=new xU();_.vc=csb;_.tN=Egc+'FactPatternWidget$14';_.tI=318;function esb(b,a,c){b.a=a;b.b=c;return b;}
+function gsb(a){Ctb(this.a,a,this.b);}
+function dsb(){}
+_=dsb.prototype=new xU();_.wc=gsb;_.tN=Egc+'FactPatternWidget$15';_.tI=319;function isb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function ksb(b){var a;a=rL(this.d);if(qxb(this.a.d,a)){Ch('The variable name ['+a+'] is already taken.');return;}this.b.b=a;rxb(this.a.d);this.c.hc();}
+function hsb(){}
+_=hsb.prototype=new xU();_.wc=ksb;_.tN=Egc+'FactPatternWidget$16';_.tI=320;function psb(b,a,c){b.a=a;b.b=c;return b;}
+function rsb(a){Dtb(this.a,a,this.b);}
+function osb(){}
+_=osb.prototype=new xU();_.wc=rsb;_.tN=Egc+'FactPatternWidget$2';_.tI=321;function tsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vsb(a){if(Eh('Remove this item from nested constraint?')){wjb(this.b,this.c);rxb(this.a.d);}}
+function ssb(){}
+_=ssb.prototype=new xU();_.wc=vsb;_.tN=Egc+'FactPatternWidget$3';_.tI=322;function xsb(b,a,c,d){b.a=c;b.b=d;return b;}
+function zsb(a){Dlb(this.a);rxb(this.b);}
+function wsb(){}
+_=wsb.prototype=new xU();_.wc=zsb;_.tN=Egc+'FactPatternWidget$4';_.tI=323;function Bsb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Dsb(a){this.c.f=rL(this.b);dbb(this.a.d);}
+function Asb(){}
+_=Asb.prototype=new xU();_.vc=Dsb;_.tN=Egc+'FactPatternWidget$5';_.tI=324;function Fsb(b,a){b.a=a;return b;}
+function btb(a){Etb(this.a,a);}
+function Esb(){}
+_=Esb.prototype=new xU();_.wc=btb;_.tN=Egc+'FactPatternWidget$6';_.tI=325;function dtb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function ftb(a){ujb(this.c,Clb(new Blb(),vD(this.b,wD(this.b))));rxb(this.a.d);this.d.hc();}
+function ctb(){}
+_=ctb.prototype=new xU();_.vc=ftb;_.tN=Egc+'FactPatternWidget$7';_.tI=326;function htb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function jtb(b){var a;a=new tjb();a.a=xD(this.c,wD(this.c));ujb(this.b,a);rxb(this.a.d);this.d.hc();}
+function gtb(){}
+_=gtb.prototype=new xU();_.vc=jtb;_.tN=Egc+'FactPatternWidget$8';_.tI=327;function ltb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ntb(a){mkb(this.a.e,Clb(new Blb(),vD(this.b,wD(this.b))));rxb(this.a.d);this.c.hc();}
+function ktb(){}
+_=ktb.prototype=new xU();_.vc=ntb;_.tN=Egc+'FactPatternWidget$9';_.tI=328;function yub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=tcb(new rcb());b=d.a;for(c=0;c<b.a;c++){a=b[c];vcb(f.a,a.a,Bub(f,a,c));}gs(f,f.a);return f;}
+function zub(c,a){var b;b=ar(new Fq());if(a.b===null){gr(b,true);a.b='true';}else{gr(b,qV(a.b,'true'));}b.x(dub(new cub(),c,a,b));return b;}
+function Bub(e,a,d){var b,c;if(qV(a.a,'no-loop')){return Cub(e,d);}b=null;if(qV(a.a,'enabled')||qV(a.a,'auto-focus')||qV(a.a,'lock-on-active')){b=zub(e,a);}else{b=Dub(e,a);}c=rbb(new qbb());aB(c,b);aB(c,Cub(e,d));return c;}
+function Cub(c,a){var b;b=eC(new oB(),'images/delete_item_small.gif');fC(b,rub(new qub(),c,a));return b;}
+function Dub(c,a){var b;b=zL(new kL());BL(b,uV(a.b)<3?3:uV(a.b));vL(b,a.b);nL(b,hub(new gub(),c,a,b));if(qV(a.a,'date-effective')||qV(a.a,'date-expires')){if(a.b===null||qV('',a.b))vL(b,'dd-MMM-yyyy');BL(b,10);}oL(b,lub(new kub(),c,b));return b;}
+function Eub(){var a;a=mD(new eD());pD(a,'Choose...');pD(a,'salience');pD(a,'enabled');pD(a,'date-effective');pD(a,'date-expires');pD(a,'no-loop');pD(a,'agenda-group');pD(a,'activation-group');pD(a,'duration');pD(a,'auto-focus');pD(a,'lock-on-active');pD(a,'ruleflow-group');pD(a,'dialect');return a;}
+function Fub(){return this.a.lc();}
+function bub(){}
+_=bub.prototype=new bbb();_.lc=Fub;_.tN=Egc+'RuleAttributeWidget';_.tI=329;_.a=null;_.b=null;_.c=null;function dub(b,a,c,d){b.a=c;b.b=d;return b;}
+function fub(a){this.a.b=fr(this.b)?'true':'false';}
+function cub(){}
+_=cub.prototype=new xU();_.wc=fub;_.tN=Egc+'RuleAttributeWidget$1';_.tI=330;function hub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function jub(a){this.b.b=rL(this.c);dbb(this.a);}
+function gub(){}
+_=gub.prototype=new xU();_.vc=jub;_.tN=Egc+'RuleAttributeWidget$2';_.tI=331;function lub(b,a,c){b.a=c;return b;}
+function nub(a,b,c){}
+function oub(a,b,c){}
+function pub(a,b,c){BL(this.a,uV(rL(this.a)));}
+function kub(){}
+_=kub.prototype=new xU();_.Fc=nub;_.ad=oub;_.bd=pub;_.tN=Egc+'RuleAttributeWidget$3';_.tI=332;function rub(b,a,c){b.a=a;b.b=c;return b;}
+function tub(b){var a;a=hgb(new Efb(),'Remove this rule option?',vub(new uub(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
+function qub(){}
+_=qub.prototype=new xU();_.wc=tub;_.tN=Egc+'RuleAttributeWidget$4';_.tI=333;function vub(b,a,c){b.a=a;b.b=c;return b;}
+function xub(){ulb(this.a.a.b,this.b);rxb(this.a.a.c);}
+function uub(){}
+_=uub.prototype=new xU();_.nb=xub;_.tN=Egc+'RuleAttributeWidget$5';_.tI=334;function fxb(b,a){b.c=bc(a.b,83);b.a=uLb((sLb(),xLb),a.d.o);b.b=kbb(new ibb());pxb(b);uO(b.b,'model-builder-Background');gs(b,b.b);b.xe('100%');b.ne('100%');return b;}
+function gxb(b,a){mlb(b.c,Dib(new Bib(),a));rxb(b);}
+function hxb(b,a){mlb(b.c,fjb(new djb(),a));rxb(b);}
+function ixb(b,a){llb(b.c,mjb(new ljb(),a));rxb(b);}
+function jxb(b,a){llb(b.c,dkb(a));rxb(b);}
+function kxb(b,a){mlb(b.c,dkb(a));rxb(b);}
+function lxb(b,a){llb(b.c,lkb(new kkb(),a));rxb(b);}
+function mxb(a,b){mlb(a.c,vib(new uib(),b));rxb(a);}
+function oxb(b){var a;a=odb(new ndb(),'images/new_item.gif');a.pe('Add an option to the rule, to modify its behavior when evaluated or executed.');fC(a,kwb(new jwb(),b));return a;}
+function pxb(c){var a,b;bz(c.b);b=odb(new ndb(),'images/new_item.gif');b.pe('Add a condition to this rule.');fC(b,cwb(new bvb(),c));nbb(c.b,0,0,CC(new AC(),'WHEN'));nbb(c.b,0,2,b);nbb(c.b,1,1,sxb(c,c.c));nbb(c.b,2,0,CC(new AC(),'THEN'));a=odb(new ndb(),'images/new_item.gif');a.pe('Add an action to this rule.');fC(a,gwb(new fwb(),c));nbb(c.b,2,2,a);nbb(c.b,3,1,txb(c,c.c));nbb(c.b,4,0,CC(new AC(),'(options)'));nbb(c.b,4,2,oxb(c));nbb(c.b,5,1,yub(new bub(),c,c.c));}
+function qxb(b,a){return tlb(b.c,a)||ehb(b.a,a);}
+function rxb(a){pxb(a);dbb(a);}
+function sxb(e,c){var a,b,d,f,g;f=wbb(new vbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(cc(d,31)){g=ptb(new nrb(),e,d,e.a,true);iP(f,yxb(e,c,b,g));iP(f,xxb(e));}else if(cc(d,29)){g=Cob(new tob(),e,bc(d,29),e.a);iP(f,yxb(e,c,b,g));iP(f,xxb(e));}else if(cc(d,10)){}else{throw DU(new CU(),"I don't know what type of pattern that is.");}}a=wbb(new vbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(cc(d,10)){g=grb(new Aqb(),bc(d,10));iP(a,yxb(e,c,b,g));uO(a,'model-builderInner-Background');}}iP(f,a);return f;}
+function txb(g,e){var a,b,c,d,f,h,i;h=wbb(new vbb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(cc(a,27)){i=kob(new hnb(),g,bc(a,27),g.a);}else if(cc(a,24)){i=Dmb(new emb(),g,bc(a,24),g.a);}else if(cc(a,26)){i=fnb(new enb(),g.a,bc(a,26));}else if(cc(a,10)){i=grb(new Aqb(),bc(a,10));uO(i,'model-builderInner-Background');}iP(h,xxb(g));b=rbb(new qbb());f=odb(new ndb(),'images/delete_item_small.gif');f.pe('Remove this action.');d=c;fC(f,swb(new rwb(),g,e,d));aB(b,i);if(!cc(i,84)){i.xe('100%');b.xe('100%');}aB(b,f);iP(h,b);}return h;}
+function uxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=ddb(new Ecb(),'images/new_fact.gif','Add a new action...');uO(k,'ks-popups-Popup');q=qlb(n.c);p=mD(new eD());l=mD(new eD());j=mD(new eD());pD(p,'Choose ...');pD(l,'Choose ...');pD(j,'Choose ...');for(i=q.mc();i.gc();){o=bc(i.pc(),1);pD(p,o);pD(l,o);pD(j,o);}d=chb(n.a);for(f=0;f<d.a;f++){pD(p,d[f]);}BD(p,0);oD(p,dvb(new cvb(),n,p,k));oD(l,hvb(new gvb(),n,l,k));oD(j,lvb(new kvb(),n,j,k));if(uD(p)>1){edb(k,'Set the values of a field on',p);}if(uD(j)>1){e=FA(new DA());aB(e,j);g=eC(new oB(),'images/information.gif');g.pe('Modify a field on a fact, and notify the engine to re-evaluate rules.');aB(e,g);edb(k,'Modify a fact',e);}if(uD(l)>1){edb(k,'Retract the fact',l);}b=mD(new eD());c=mD(new eD());pD(b,'Choose ...');pD(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];pD(b,h);pD(c,h);}oD(b,pvb(new ovb(),n,b,k));oD(c,tvb(new svb(),n,c,k));if(uD(b)>1){edb(k,'Insert a new fact',b);e=FA(new DA());aB(e,c);g=eC(new oB(),'images/inf!
 ormation.gif');g.pe('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');aB(e,g);edb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=mD(new eD());pD(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];qD(a,ekb(m),aU(f));}oD(a,xvb(new wvb(),n,a,k));edb(k,'DSL sentence',a);}lF(k,fc(di()/3),fc(ci()/3));oF(k);}
+function vxb(c,d){var a,b;b=ddb(new Ecb(),'images/config.png','Add an option to the rule');a=Eub();BD(a,0);oD(a,owb(new nwb(),c,a,b));uO(b,'ks-popups-Popup');edb(b,'Attribute',a);lF(b,lO(d)-400,mO(d));oF(b);}
+function wxb(j,k){var a,b,c,d,e,f,g,h,i;h=ddb(new Ecb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=mD(new eD());qD(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){pD(e,f[g]);}BD(e,0);if(f.a>0)edb(h,'Fact',e);oD(e,Awb(new zwb(),j,e,h));uO(h,'ks-popups-Popup');c=(pgb(),qgb);b=mD(new eD());qD(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];qD(b,ugb(a),a);}BD(b,0);if(f.a>0)edb(h,'Condition type',b);oD(b,Ewb(new Dwb(),j,b,h));if(j.a.b.a>0){d=mD(new eD());pD(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];qD(d,ekb(i),aU(g));}oD(d,cxb(new bxb(),j,d,h));edb(h,'DSL sentence',d);}lF(h,lO(k)-400,mO(k));oF(h);}
+function xxb(b){var a;a=eA(new hx(),'&nbsp;');a.ne('2px');return a;}
+function yxb(f,d,b,g){var a,c,e;a=rbb(new qbb());e=odb(new ndb(),'images/delete_item_small.gif');e.pe('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;fC(e,Bvb(new Avb(),f,d,c));a.xe('100%');g.xe('100%');aB(a,g);aB(a,e);return a;}
+function zxb(){return mbb(this.b)||this.j;}
+function avb(){}
+_=avb.prototype=new bbb();_.lc=zxb;_.tN=Egc+'RuleModeller';_.tI=335;_.a=null;_.b=null;_.c=null;function cwb(b,a){b.a=a;return b;}
+function ewb(a){wxb(this.a,a);}
+function bvb(){}
+_=bvb.prototype=new xU();_.wc=ewb;_.tN=Egc+'RuleModeller$1';_.tI=336;function dvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function fvb(a){gxb(this.a,vD(this.c,wD(this.c)));this.b.hc();}
+function cvb(){}
+_=cvb.prototype=new xU();_.vc=fvb;_.tN=Egc+'RuleModeller$10';_.tI=337;function hvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function jvb(a){mxb(this.a,vD(this.c,wD(this.c)));this.b.hc();}
+function gvb(){}
+_=gvb.prototype=new xU();_.vc=jvb;_.tN=Egc+'RuleModeller$11';_.tI=338;function lvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nvb(a){hxb(this.a,vD(this.b,wD(this.b)));this.c.hc();}
+function kvb(){}
+_=kvb.prototype=new xU();_.vc=nvb;_.tN=Egc+'RuleModeller$12';_.tI=339;function pvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function rvb(b){var a;a=vD(this.b,wD(this.b));mlb(this.a.c,gib(new eib(),a));rxb(this.a);this.c.hc();}
+function ovb(){}
+_=ovb.prototype=new xU();_.vc=rvb;_.tN=Egc+'RuleModeller$13';_.tI=340;function tvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vvb(b){var a;a=vD(this.b,wD(this.b));mlb(this.a.c,oib(new mib(),a));rxb(this.a);this.c.hc();}
+function svb(){}
+_=svb.prototype=new xU();_.vc=vvb;_.tN=Egc+'RuleModeller$14';_.tI=341;function xvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function zvb(b){var a;a=ET(xD(this.b,wD(this.b)));kxb(this.a,this.a.a.a[a]);this.c.hc();}
+function wvb(){}
+_=wvb.prototype=new xU();_.vc=zvb;_.tN=Egc+'RuleModeller$15';_.tI=342;function Bvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Dvb(b){var a;a=hgb(new Efb(),'Remove this entire condition?',Fvb(new Evb(),this,this.c,this.b));lF(a,lO(b),mO(b));oF(a);}
+function Avb(){}
+_=Avb.prototype=new xU();_.wc=Dvb;_.tN=Egc+'RuleModeller$16';_.tI=343;function Fvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function bwb(){if(vlb(this.c,this.b)){rxb(this.a.a);}else{jcb("Can't remove that item as it is used in the action part of the rule.");}}
+function Evb(){}
+_=Evb.prototype=new xU();_.nb=bwb;_.tN=Egc+'RuleModeller$17';_.tI=344;function gwb(b,a){b.a=a;return b;}
+function iwb(a){uxb(this.a,a);}
+function fwb(){}
+_=fwb.prototype=new xU();_.wc=iwb;_.tN=Egc+'RuleModeller$2';_.tI=345;function kwb(b,a){b.a=a;return b;}
+function mwb(a){vxb(this.a,a);}
+function jwb(){}
+_=jwb.prototype=new xU();_.wc=mwb;_.tN=Egc+'RuleModeller$3';_.tI=346;function owb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function qwb(a){klb(this.a.c,alb(new Fkb(),vD(this.b,wD(this.b)),''));rxb(this.a);this.c.hc();}
+function nwb(){}
+_=nwb.prototype=new xU();_.vc=qwb;_.tN=Egc+'RuleModeller$4';_.tI=347;function swb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function uwb(b){var a;a=hgb(new Efb(),'Remove this item?',wwb(new vwb(),this,this.c,this.b));lF(a,lO(b),mO(b));oF(a);}
+function rwb(){}
+_=rwb.prototype=new xU();_.wc=uwb;_.tN=Egc+'RuleModeller$5';_.tI=348;function wwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function ywb(){wlb(this.c,this.b);rxb(this.a.a);}
+function vwb(){}
+_=vwb.prototype=new xU();_.nb=ywb;_.tN=Egc+'RuleModeller$6';_.tI=349;function Awb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Cwb(b){var a;a=vD(this.b,wD(this.b));if(!qV(a,'IGNORE')){lxb(this.a,a);this.c.hc();}}
+function zwb(){}
+_=zwb.prototype=new xU();_.vc=Cwb;_.tN=Egc+'RuleModeller$7';_.tI=350;function Ewb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function axb(b){var a;a=xD(this.b,wD(this.b));if(!qV(a,'IGNORE')){ixb(this.a,a);this.c.hc();}}
+function Dwb(){}
+_=Dwb.prototype=new xU();_.vc=axb;_.tN=Egc+'RuleModeller$8';_.tI=351;function cxb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function exb(b){var a;a=ET(xD(this.b,wD(this.b)));jxb(this.a,this.a.a.b[a]);this.c.hc();}
+function bxb(){}
+_=bxb.prototype=new xU();_.vc=exb;_.tN=Egc+'RuleModeller$9';_.tI=352;function Cxb(b,a,c){b.a=c;return b;}
+function Exb(a){ki(w()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
+function Bxb(){}
+_=Bxb.prototype=new xU();_.wc=Exb;_.tN=Fgc+'AssetAttachmentFileWidget$1';_.tI=353;function ayb(b,a){b.a=a;return b;}
+function cyb(a){oyb(this.a);pyb(this.a);}
+function Fxb(){}
+_=Fxb.prototype=new xU();_.wc=cyb;_.tN=Fgc+'AssetAttachmentFileWidget$2';_.tI=354;function eyb(b,a){b.a=a;return b;}
+function hyb(a){}
+function gyb(a){eeb();if(sV(a.a,'OK')>(-1)){x_b(this.a.e);}else{jcb('Unable to upload the file.');}}
+function dyb(){}
+_=dyb.prototype=new xU();_.ld=hyb;_.kd=gyb;_.tN=Fgc+'AssetAttachmentFileWidget$3';_.tI=355;function Byb(){Byb=v3;gdb();}
+function zyb(c){var a,b;Byb();ddb(c,'images/new_wiz.gif','Create a new fact template');c.a=lu(new fu());c.b=zL(new kL());edb(c,'Name:',c.b);edb(c,'Fact attributes:',c.a);a=eC(new oB(),'images/new_item.gif');fC(a,syb(new ryb(),c));edb(c,'Add a new attribute',a);b=qq(new kq(),'Create');b.x(wyb(new vyb(),c));edb(c,'',b);return c;}
+function Ayb(b){var a;a=pu(b.a);b.a.ve(a,0,zL(new kL()));b.a.ve(a,1,Eyb(b));}
+function Cyb(d){var a,b,c,e,f;b='template '+rL(d.b)+'\n';for(a=0;a<pu(d.a);a++){e=bc(kz(d.a,a,1),85);f=vD(e,wD(e));c=rL(bc(kz(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
+function Dyb(b,a){b.c=a;}
+function Eyb(b){var a;a=mD(new eD());pD(a,'String');pD(a,'Integer');pD(a,'Float');pD(a,'Date');pD(a,'Boolean');return a;}
+function qyb(){}
+_=qyb.prototype=new Ecb();_.tN=Fgc+'FactTemplateWizard';_.tI=356;_.a=null;_.b=null;_.c=null;function syb(b,a){b.a=a;return b;}
+function uyb(a){Ayb(this.a);}
+function ryb(){}
+_=ryb.prototype=new xU();_.wc=uyb;_.tN=Fgc+'FactTemplateWizard$1';_.tI=357;function wyb(b,a){b.a=a;return b;}
+function yyb(a){BDb(this.a.c);this.a.hc();}
+function vyb(){}
+_=vyb.prototype=new xU();_.wc=yyb;_.tN=Fgc+'FactTemplateWizard$2';_.tI=358;function azb(b,a,c){iyb(b,a,c);return b;}
+function czb(){return 'images/model_large.png';}
+function dzb(){return 'editable-Surface';}
+function Fyb(){}
+_=Fyb.prototype=new Axb();_.sb=czb;_.Ab=dzb;_.tN=Fgc+'ModelAttachmentFileWidget';_.tI=359;function cAb(){cAb=v3;gdb();}
+function aAb(a){a.b=tcb(new rcb());a.d=tcb(new rcb());}
+function bAb(f,b){var a,c,d,e;cAb();ddb(f,'images/new_wiz.gif','Create a new package');aAb(f);f.c=zL(new kL());f.a=eL(new dL());ycb(f.d,eA(new hx(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));vcb(f.d,'Name:',f.c);vcb(f.d,'Description:',f.a);f.c.pe('The name of the package. Avoid spaces, use underscore instead.');e=EG(new CG(),'action','Create new pa!
 ckage');d=EG(new CG(),'action','Import from drl file');gr(e,true);f.d.ue(true);e.x(gzb(new fzb(),f));f.b.ue(false);d.x(kzb(new jzb(),f));a=cq(new bq());dq(a,e);dq(a,d);fdb(f,a);fdb(f,f.d);fdb(f,f.b);vcb(f.b,'DRL file to import:',eAb(b,f));c=qq(new kq(),'Create package');c.x(ozb(new nzb(),f,b));vcb(f.d,'',c);uO(f,'ks-popups-Popup');return f;}
+function dAb(d,b,a,c){ieb('Creating package - please wait...');qUb(EMb(),b,a,tzb(new szb(),d,c));}
+function eAb(a,d){cAb();var b,c,e,f;f=Cv(new xv());cw(f,w()+'package');dw(f,'multipart/form-data');ew(f,'post');c=FA(new DA());f.we(c);e=au(new Ft());du(e,'classicDRLFile');aB(c,e);aB(c,CC(new AC(),'upload:'));b=pdb(new ndb(),'images/upload.gif','Import');fC(b,yzb(new xzb(),f));aB(c,b);Dv(f,Czb(new Bzb(),a,d,e));return f;}
+function ezb(){}
+_=ezb.prototype=new Ecb();_.tN=Fgc+'NewPackageWizard';_.tI=360;_.a=null;_.c=null;function gzb(b,a){b.a=a;return b;}
+function izb(a){this.a.d.ue(true);this.a.b.ue(false);}
+function fzb(){}
+_=fzb.prototype=new xU();_.wc=izb;_.tN=Fgc+'NewPackageWizard$1';_.tI=361;function kzb(b,a){b.a=a;return b;}
+function mzb(a){this.a.d.ue(false);this.a.b.ue(true);}
+function jzb(){}
+_=jzb.prototype=new xU();_.wc=mzb;_.tN=Fgc+'NewPackageWizard$2';_.tI=362;function ozb(b,a,c){b.a=a;b.b=c;return b;}
+function qzb(b,a){return vV(a,'[a-zA-Z\\.]*');}
+function rzb(a){if(qzb(this,rL(this.a.c))){dAb(this.a,rL(this.a.c),rL(this.a.a),this.b);this.a.hc();}else{vL(this.a.c,'');Ch('Invalid package name, use java-style package name');}}
+function nzb(){}
+_=nzb.prototype=new xU();_.wc=rzb;_.tN=Fgc+'NewPackageWizard$3';_.tI=363;function tzb(b,a,c){b.a=c;return b;}
+function vzb(b,a){eeb();eGb(b.a);}
+function wzb(a){vzb(this,a);}
+function szb(){}
+_=szb.prototype=new hdb();_.md=wzb;_.tN=Fgc+'NewPackageWizard$4';_.tI=364;function yzb(a,b){a.a=b;return a;}
+function Azb(a){if(Eh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){ieb('Importing drl package, please wait, as this could take some time...');gw(this.a);}}
+function xzb(){}
+_=xzb.prototype=new xU();_.wc=Azb;_.tN=Fgc+'NewPackageWizard$5';_.tI=365;function Czb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
+function Fzb(a){if(uV(cu(this.c))==0){Ch('You did not choose a drl file to import !');sw(a,true);}else if(!oV(cu(this.c),'.drl')){Ch("You can only import '.drl' files.");sw(a,true);}}
+function Ezb(a){if(sV(a.a,'OK')>(-1)){Ch('Package was imported successfully. ');eGb(this.a);this.b.hc();}else{jcb('Unable to import into the package. ['+a.a+']');}eeb();}
+function Bzb(){}
+_=Bzb.prototype=new xU();_.ld=Fzb;_.kd=Ezb;_.tN=Fgc+'NewPackageWizard$6';_.tI=366;function FBb(h,e,f){var a,b,c,d,g;h.c=ucb(new rcb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=AH(new sH());g=zL(new kL());a=qq(new kq(),'Build package');a.pe('This will validate and compile all the assets in a package.');a.x(yAb(new gAb(),h,b,g));c=qq(new kq(),'Show package source');c.x(CAb(new BAb(),h,e));vcb(h.c,'View source for package',c);d=FA(new DA());aB(d,a);aB(d,eA(new hx(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));aB(d,g);aB(d,wdb(new rdb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));vcb(h.c,'Build binary package:',d);ycb(h.c,eA(new hx(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));ycb(h.c,b);uO(h.c,'package-Editor');h.c.xe('100%');gs(h,h.c);return h;}
+function bCb(d,a,c){var b;a.F();b=FA(new DA());aB(b,CC(new AC(),'Validating and building package, please wait...'));aB(b,eC(new oB(),'images/red_anime.gif'));ieb('Please wait...');CH(a,b);ig(pBb(new oBb(),d,c,a));}
+function cCb(i,e,a){var b,c,d,f,g,h;a.F();b=lu(new fu());uO(b,'build-Results');yz(b,0,1,'Format');yz(b,0,2,'Name');yz(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ve(f,0,eC(new oB(),'images/error.gif'));yz(b,f,1,d.a);yz(b,f,2,d.b);yz(b,f,3,d.c);if(!qV('package',d.a)){h=qq(new kq(),'Show');h.x(CBb(new BBb(),i,d));b.ve(f,4,h);}}b.xe('100%');g=oH(new mH(),b);qH(g,true);tO(g,'100%','25em');CH(a,g);}
+function dCb(g,i){var a,b,c,d,e,f,h;ieb('Loading existing snapshots...');c=ddb(new Ecb(),'images/snapshot.png','Create a snapshot for deployment.');fdb(c,eA(new hx(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=hP(new fP());edb(c,'Choose or create snapshot name:',h);f=FY(new DY());d=zL(new kL());e='NEW: ';vUb(EMb(),g.a.j,iAb(new hAb(),g,f,h,d));a=zL(new kL());edb(c,'Comment:',a);b=qq(new kq(),'Create new snapshot');edb(c,'',b);b.x(qAb(new pAb(),g,f,d,a,c));c.xe('50%');lF(c,fc((fbb()-gF(c))/2),100);oF(c);}
+function eCb(e,a){var b,c,d,f;a.F();f=hP(new fP());iP(f,eA(new hx(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=gCb(e.a);b=eA(new hx(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");iP(f,b);d=qq(new kq(),'Create snapshot for deployment');d.x(yBb(new xBb(),e));iP(f,d);CH(a,f);}
+function fCb(b,a){ieb('Assembling package source...');ig(aBb(new FAb(),b,a));}
+function gCb(a){var b,c;b=w()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
+function hCb(b,c){var a,d;d=ddb(new Ecb(),'images/view_source.gif','Viewing source for: '+c);a=eL(new dL());jL(a,30);a.xe('100%');iL(a,80);fdb(d,a);vL(a,b);a.ke(true);a.pe('THIS IS READ ONLY - you may copy and paste, but not edit.');oL(a,jBb(new iBb(),a,b));eeb();lF(d,fc((fbb()-gF(d))/2),100);oF(d);}
+function fAb(){}
+_=fAb.prototype=new es();_.tN=Fgc+'PackageBuilderWidget';_.tI=367;_.a=null;_.b=null;_.c=null;function yAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function AAb(a){bCb(this.a,this.b,rL(this.c));}
+function gAb(){}
+_=gAb.prototype=new xU();_.wc=AAb;_.tN=Fgc+'PackageBuilderWidget$1';_.tI=368;function iAb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
+function kAb(a){var b,c,d,e,f;f=bc(a,86);for(c=0;c<f.a;c++){b=EG(new CG(),'snapshotNameGroup',f[c].b);bZ(this.b,b);iP(this.c,b);}d=FA(new DA());e=EG(new CG(),'snapshotNameGroup','NEW: ');aB(d,e);this.a.ke(false);e.x(mAb(new lAb(),this,this.a));aB(d,this.a);bZ(this.b,e);iP(this.c,d);eeb();}
+function hAb(){}
+_=hAb.prototype=new hdb();_.md=kAb;_.tN=Fgc+'PackageBuilderWidget$10';_.tI=369;function mAb(b,a,c){b.a=c;return b;}
+function oAb(a){this.a.ke(true);}
+function lAb(){}
+_=lAb.prototype=new xU();_.wc=oAb;_.tN=Fgc+'PackageBuilderWidget$11';_.tI=370;function qAb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
+function sAb(d){var a,b,c;c=false;for(b=this.f.mc();b.gc();){a=bc(b.pc(),87);if(fr(a)){this.a=er(a);if(!qV(er(a),'NEW: ')){c=true;}break;}}if(qV(this.a,'NEW: ')){this.a=rL(this.e);}if(qV(this.a,'')){Ch('You have to enter or chose a label (name) for the snapshot.');return;}pUb(EMb(),this.b.a.j,this.a,c,rL(this.c),uAb(new tAb(),this,this.d));}
+function pAb(){}
+_=pAb.prototype=new xU();_.wc=sAb;_.tN=Fgc+'PackageBuilderWidget$12';_.tI=371;_.a='';function uAb(b,a,c){b.a=a;b.b=c;return b;}
+function wAb(b,a){Ch('The snapshot called: '+b.a.a+' was successfully created.');b.b.hc();}
+function xAb(a){wAb(this,a);}
+function tAb(){}
+_=tAb.prototype=new hdb();_.md=xAb;_.tN=Fgc+'PackageBuilderWidget$13';_.tI=372;function CAb(b,a,c){b.a=c;return b;}
+function EAb(a){fCb(this.a.m,this.a.j);}
+function BAb(){}
+_=BAb.prototype=new xU();_.wc=EAb;_.tN=Fgc+'PackageBuilderWidget$2';_.tI=373;function aBb(a,c,b){a.b=c;a.a=b;return a;}
+function cBb(){eUb(EMb(),this.b,eBb(new dBb(),this,this.a));}
+function FAb(){}
+_=FAb.prototype=new xU();_.nb=cBb;_.tN=Fgc+'PackageBuilderWidget$3';_.tI=374;function eBb(b,a,c){b.a=c;return b;}
+function gBb(c,b){var a;a=bc(b,1);hCb(a,c.a);}
+function hBb(a){gBb(this,a);}
+function dBb(){}
+_=dBb.prototype=new hdb();_.md=hBb;_.tN=Fgc+'PackageBuilderWidget$4';_.tI=375;function jBb(a,b,c){a.a=b;a.b=c;return a;}
+function lBb(a,b,c){vL(this.a,this.b);}
+function mBb(a,b,c){vL(this.a,this.b);}
+function nBb(a,b,c){vL(this.a,this.b);}
+function iBb(){}
+_=iBb.prototype=new xU();_.Fc=lBb;_.ad=mBb;_.bd=nBb;_.tN=Fgc+'PackageBuilderWidget$5';_.tI=376;function pBb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rBb(){fUb(EMb(),this.a.a.m,this.c,tBb(new sBb(),this,this.b));}
+function oBb(){}
+_=oBb.prototype=new xU();_.nb=rBb;_.tN=Fgc+'PackageBuilderWidget$6';_.tI=377;function tBb(b,a,c){b.a=a;b.b=c;return b;}
+function vBb(c,a){var b;eeb();if(a===null){eCb(c.a.a,c.b);}else{b=bc(a,88);cCb(c.a.a,b,c.b);}}
+function wBb(a){vBb(this,a);}
+function sBb(){}
+_=sBb.prototype=new hdb();_.md=wBb;_.tN=Fgc+'PackageBuilderWidget$7';_.tI=378;function yBb(b,a){b.a=a;return b;}
+function ABb(a){dCb(this.a,a);}
+function xBb(){}
+_=xBb.prototype=new xU();_.wc=ABb;_.tN=Fgc+'PackageBuilderWidget$8';_.tI=379;function CBb(b,a,c){b.a=a;b.b=c;return b;}
+function EBb(a){aJb(this.a.b,this.b.d);}
+function BBb(){}
+_=BBb.prototype=new xU();_.wc=EBb;_.tN=Fgc+'PackageBuilderWidget$9';_.tI=380;function fFb(e,b,c,a,d){tcb(e);e.b=b;e.c=c;e.a=a;e.e=d;uO(e,'package-Editor');e.xe('100%');lFb(e);return e;}
+function hFb(b){var a;a=eL(new dL());a.xe('100%');jL(a,8);vL(a,b.b.d);nL(a,cEb(new bEb(),b,a));iL(a,100);return jFb(b,a);}
+function iFb(b,a){ieb('Saving package configuration. Please wait ...');gVb(EMb(),b.b,uCb(new tCb(),b,a));}
+function jFb(d,a){var b,c;c=FA(new DA());aB(c,a);b=eC(new oB(),'images/max_min.gif');b.pe('Increase view area');aB(c,b);fC(b,EDb(new DDb(),d,a));return c;}
+function kFb(g){var a,b,c,d,e,f,h;a=eL(new dL());a.xe('100%');jL(a,8);iL(a,100);vL(a,g.b.f);nL(a,bDb(new aDb(),g,a));f=FA(new DA());aB(f,a);h=hP(new fP());b=eC(new oB(),'images/max_min.gif');fC(b,fDb(new eDb(),g,a));b.pe('Increase view area.');iP(h,b);e=eC(new oB(),'images/new_import.gif');fC(e,jDb(new iDb(),g,a));iP(h,e);e.pe('Add a new Type/Class import to the package.');d=eC(new oB(),'images/new_global.gif');fC(d,nDb(new mDb(),g,a));d.pe('Add a new global variable declaration.');iP(h,d);c=eC(new oB(),'images/fact_template.gif');fC(c,vDb(new uDb(),g,a));c.pe('Add a new fact template.');f.xe('100%');aB(f,h);return f;}
+function lFb(c){var a,b;zcb(c);ycb(c,sFb(c));vcb(c,'Description:',hFb(c));vcb(c,'Header:',kFb(c));ycb(c,eA(new hx(),'<hr/>'));vcb(c,'Last modified:',CC(new AC(),s0(c.b.i)));vcb(c,'Last contributor:',CC(new AC(),c.b.h));ycb(c,eA(new hx(),'<hr/>'));c.f=dA(new hx());b=FA(new DA());a=odb(new ndb(),'images/edit.gif');a.pe('Change status.');fC(a,qDb(new jCb(),c));aB(b,c.f);if(!c.b.g){aB(b,a);}oFb(c,c.b.l);vcb(c,'Status:',b);if(!c.b.g){ycb(c,nFb(c));}ycb(c,eA(new hx(),'<hr/>'));}
+function mFb(a){ieb('Refreshing package data...');AUb(EMb(),a.b.m,DCb(new CCb(),a));}
+function nFb(f){var a,b,c,d,e;c=FA(new DA());e=qq(new kq(),'Save and validate configuration');e.x(nEb(new mEb(),f));aB(c,e);a=qq(new kq(),'Archive');a.x(rEb(new qEb(),f));aB(c,a);b=qq(new kq(),'Copy');b.x(vEb(new uEb(),f));aB(c,b);d=qq(new kq(),'Rename');d.x(zEb(new yEb(),f));aB(c,d);return c;}
+function oFb(b,a){hA(b.f,'<b>'+a+'<\/b>');}
+function pFb(d){var a,b,c;c=ddb(new Ecb(),'images/new_wiz.gif','Copy the package');fdb(c,eA(new hx(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=zL(new kL());edb(c,'New package name:',a);b=qq(new kq(),'OK');edb(c,'',b);b.x(lCb(new kCb(),d,a,c));c.xe('40%');lF(c,fc(di()/3),fc(ci()/3));oF(c);}
+function qFb(d){var a,b,c;c=ddb(new Ecb(),'images/new_wiz.gif','Rename the package');fdb(c,eA(new hx(),'<i>Rename the package. A new unique name is required.<\/i>'));a=zL(new kL());edb(c,'New package name:',a);b=qq(new kq(),'OK');edb(c,'',b);b.x(DEb(new CEb(),d,a,c));c.xe('40%');lF(c,fc(di()/3),fc(ci()/3));oF(c);}
+function rFb(b,c){var a;a=lfb(new veb(),b.b.m,true);ofb(a,jEb(new iEb(),b,a));lF(a,lO(c),mO(c));oF(a);}
+function sFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=eC(new oB(),'images/warning.gif');a=FA(new DA());aB(a,b);c=eA(new hx(),'<b>There were errors validating this package configuration.');aB(a,c);d=qq(new kq(),'View errors');d.x(fEb(new tDb(),e));aB(a,d);return a;}else{return AH(new sH());}}
+function iCb(){}
+_=iCb.prototype=new rcb();_.tN=Fgc+'PackageEditor';_.tI=381;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function qDb(b,a){b.a=a;return b;}
+function sDb(a){rFb(this.a,a);}
+function jCb(){}
+_=jCb.prototype=new xU();_.wc=sDb;_.tN=Fgc+'PackageEditor$1';_.tI=382;function lCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nCb(a){mUb(EMb(),this.a.b.j,rL(this.b),pCb(new oCb(),this,this.c));}
+function kCb(){}
+_=kCb.prototype=new xU();_.wc=nCb;_.tN=Fgc+'PackageEditor$10';_.tI=383;function pCb(b,a,c){b.a=a;b.b=c;return b;}
+function rCb(b,a){cHb(b.a.a.e);Ch('Package copied successfully.');b.b.hc();}
+function sCb(a){rCb(this,a);}
+function oCb(){}
+_=oCb.prototype=new hdb();_.md=sCb;_.tN=Fgc+'PackageEditor$11';_.tI=384;function uCb(b,a,c){b.a=a;b.b=c;return b;}
+function wCb(b,a){iHb(b.a.a);b.a.d=bc(a,89);mFb(b.a);ieb('Package configuration updated successfully, refreshing content cache...');wLb((sLb(),xLb),b.a.b.j,zCb(new yCb(),b,b.b));}
+function xCb(a){wCb(this,a);}
+function tCb(){}
+_=tCb.prototype=new hdb();_.md=xCb;_.tN=Fgc+'PackageEditor$12';_.tI=385;function zCb(b,a,c){b.a=c;return b;}
+function BCb(){if(this.a!==null){cHb(this.a);}eeb();}
+function yCb(){}
+_=yCb.prototype=new xU();_.nb=BCb;_.tN=Fgc+'PackageEditor$13';_.tI=386;function DCb(b,a){b.a=a;return b;}
+function FCb(a){eeb();this.a.b=bc(a,16);lFb(this.a);}
+function CCb(){}
+_=CCb.prototype=new hdb();_.md=FCb;_.tN=Fgc+'PackageEditor$14';_.tI=387;function bDb(b,a,c){b.a=a;b.b=c;return b;}
+function dDb(a){this.a.b.f=rL(this.b);EGb(this.a.c);}
+function aDb(){}
+_=aDb.prototype=new xU();_.vc=dDb;_.tN=Fgc+'PackageEditor$16';_.tI=388;function fDb(b,a,c){b.a=c;return b;}
+function hDb(a){if(hL(this.a)!=32){jL(this.a,32);}else{jL(this.a,8);}}
+function eDb(){}
+_=eDb.prototype=new xU();_.wc=hDb;_.tN=Fgc+'PackageEditor$17';_.tI=389;function jDb(b,a,c){b.a=a;b.b=c;return b;}
+function lDb(a){vL(this.b,rL(this.b)+'\n'+'import <your class here>');this.a.b.f=rL(this.b);}
+function iDb(){}
+_=iDb.prototype=new xU();_.wc=lDb;_.tN=Fgc+'PackageEditor$18';_.tI=390;function nDb(b,a,c){b.a=a;b.b=c;return b;}
+function pDb(a){vL(this.b,rL(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=rL(this.b);}
+function mDb(){}
+_=mDb.prototype=new xU();_.wc=pDb;_.tN=Fgc+'PackageEditor$19';_.tI=391;function fEb(b,a){b.a=a;return b;}
+function hEb(a){var b;b=qfb(new pfb(),this.a.d.a,this.a.d.b);lF(b,fc(di()/4),mO(a));oF(b);}
+function tDb(){}
+_=tDb.prototype=new xU();_.wc=hEb;_.tN=Fgc+'PackageEditor$2';_.tI=392;function vDb(b,a,c){b.a=a;b.b=c;return b;}
+function xDb(a){var b;b=zyb(new qyb());lF(b,lO(a)-400,mO(a)-250);Dyb(b,zDb(new yDb(),this,this.b,b));oF(b);}
+function uDb(){}
+_=uDb.prototype=new xU();_.wc=xDb;_.tN=Fgc+'PackageEditor$20';_.tI=393;function zDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function BDb(a){vL(a.b,rL(a.b)+'\n'+Cyb(a.c));a.a.a.b.f=rL(a.b);}
+function CDb(){BDb(this);}
+function yDb(){}
+_=yDb.prototype=new xU();_.nb=CDb;_.tN=Fgc+'PackageEditor$21';_.tI=394;function EDb(b,a,c){b.a=c;return b;}
+function aEb(a){if(hL(this.a)!=32){jL(this.a,32);}else{jL(this.a,8);}}
+function DDb(){}
+_=DDb.prototype=new xU();_.wc=aEb;_.tN=Fgc+'PackageEditor$22';_.tI=395;function cEb(b,a,c){b.a=a;b.b=c;return b;}
+function eEb(a){this.a.b.d=rL(this.b);EGb(this.a.c);}
+function bEb(){}
+_=bEb.prototype=new xU();_.vc=eEb;_.tN=Fgc+'PackageEditor$23';_.tI=396;function jEb(b,a,c){b.a=a;b.b=c;return b;}
+function lEb(){oFb(this.a,this.b.c);}
+function iEb(){}
+_=iEb.prototype=new xU();_.nb=lEb;_.tN=Fgc+'PackageEditor$3';_.tI=397;function nEb(b,a){b.a=a;return b;}
+function pEb(a){iFb(this.a,null);}
+function mEb(){}
+_=mEb.prototype=new xU();_.wc=pEb;_.tN=Fgc+'PackageEditor$4';_.tI=398;function rEb(b,a){b.a=a;return b;}
+function tEb(a){if(Eh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;iFb(this.a,this.a.e);}}
+function qEb(){}
+_=qEb.prototype=new xU();_.wc=tEb;_.tN=Fgc+'PackageEditor$5';_.tI=399;function vEb(b,a){b.a=a;return b;}
+function xEb(a){pFb(this.a);}
+function uEb(){}
+_=uEb.prototype=new xU();_.wc=xEb;_.tN=Fgc+'PackageEditor$6';_.tI=400;function zEb(b,a){b.a=a;return b;}
+function BEb(a){qFb(this.a);}
+function yEb(){}
+_=yEb.prototype=new xU();_.wc=BEb;_.tN=Fgc+'PackageEditor$7';_.tI=401;function DEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function FEb(a){eVb(EMb(),this.a.b.m,rL(this.b),bFb(new aFb(),this,this.c));}
+function CEb(){}
+_=CEb.prototype=new xU();_.wc=FEb;_.tN=Fgc+'PackageEditor$8';_.tI=402;function bFb(b,a,c){b.a=a;b.b=c;return b;}
+function dFb(b,a){cHb(b.a.a.e);Ch('Package renamed successfully.');b.b.hc();}
+function eFb(a){dFb(this,a);}
+function aFb(){}
+_=aFb.prototype=new hdb();_.md=eFb;_.tN=Fgc+'PackageEditor$9';_.tI=403;function qIb(a){a.f=aHb(new uFb(),a);}
+function rIb(b,a){sIb(b,a,null,null);return b;}
+function sIb(g,b,h,f){var a,c,d,e;qIb(g);g.b=b;g.h=h;g.c=jN(new CL());g.d=kbb(new ibb());g.g=new eHb();nN(g.c,g.g);e=hP(new fP());if(f===null){a=lu(new fu());Ex(a.n,0,0,'new-asset-Icons');Bx(a.n,0,0,(oA(),pA),(xA(),zA));a.ve(0,0,vIb(g));iP(e,a);a.xe('100%');}iP(e,g.c);nbb(g.d,0,0,e);c=ou(g.d);Fx(c,0,0,(xA(),AA));ku(ou(g.d),0,1,2);Bx(ou(g.d),0,1,(oA(),pA),(xA(),AA));zIb(g);d=vN(g.c,0);if(d!==null)FN(g.c,d);nbb(g.d,0,1,eA(new hx(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));by(ou(g.d),0,0,'25%');Bx(ou(g.d),0,1,(oA(),qA),(xA(),AA));g.e=Bdc(new Fcc(),g.b,'rulelist');gs(g,g.d);return g;}
+function tIb(d,a,c){var b;b=yIb(d,a.j,'images/package.gif',oIb(new nIb(),hGb(new gGb(),d,a)));b.y(yIb(d,'Business rule assets','images/rule_asset.gif',AIb(d,a.m,(bab(),cab))));b.y(yIb(d,'Technical rule assets','images/technical_rule_assets.gif',AIb(d,a.m,(bab(),eab))));b.y(yIb(d,'Functions','images/function_assets.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['function']))));b.y(yIb(d,'DSL','images/dsl.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['dsl']))));b.y(yIb(d,'Model','images/model_asset.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['jar']))));lN(d.c,b);if(c){aO(d.c,b,true);}}
+function vIb(h){var a,b,c,d,e,f,g,i;g=FA(new DA());d=eC(new oB(),'images/new_package.gif');d.pe('Create a new package');fC(d,sHb(new rHb(),h));i=odb(new ndb(),'images/model_asset.gif');fC(i,wHb(new vHb(),h));i.pe('This creates a new model archive - models contain classes/types that rules use.');e=odb(new ndb(),'images/new_rule.gif');e.pe('Create new rule');fC(e,AHb(new zHb(),h));c=odb(new ndb(),'images/function_assets.gif');c.pe('Create a new function');fC(c,cIb(new bIb(),h));a=odb(new ndb(),'images/dsl.gif');a.pe('Create a new DSL (language configuration)');fC(a,gIb(new fIb(),h));f=odb(new ndb(),'images/ruleflow_small.gif');f.pe('Upload a new ruleflow.');fC(f,kIb(new jIb(),h));b=odb(new ndb(),'images/new_enumeration.gif');b.pe('Create a new data enumeration (drop down list)');fC(b,wFb(new vFb(),h));aB(g,d);aB(g,i);aB(g,e);aB(g,c);aB(g,a);aB(g,f);aB(g,b);return g;}
+function wIb(d,a,e){var b,c,f;b=70;f=100;c=i8b(new y7b(),lHb(new kHb(),d),false,a,e,d.a);lF(c,fc((fbb()-gF(c))/2),100);oF(c);}
+function xIb(a,b){ieb('Loading package information ...');AUb(EMb(),b,uGb(new tGb(),a));}
+function yIb(e,d,b,a){var c;c=oM(new mM());wM(c,'<img src="'+b+'">'+d+'<\/a>');CM(c,a);return c;}
+function zIb(a){if(a.h===null){ieb('Loading list of packages ...');uUb(EMb(),AFb(new zFb(),a));}else{ieb('Loading package ...');AUb(EMb(),a.h,EFb(new DFb(),a));}}
+function AIb(c,d,b){var a;a=lGb(new kGb(),c);return oIb(new nIb(),qGb(new pGb(),c,d,b,a));}
+function BIb(b,c){var a;a=bAb(new ezb(),cGb(new bGb(),b));lF(a,fc((fbb()-gF(a))/2),100);oF(a);}
+function tFb(){}
+_=tFb.prototype=new bbb();_.tN=Fgc+'PackageExplorerWidget';_.tI=404;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function aHb(b,a){b.a=a;return b;}
+function cHb(a){zIb(a.a);}
+function dHb(){cHb(this);}
+function uFb(){}
+_=uFb.prototype=new xU();_.nb=dHb;_.tN=Fgc+'PackageExplorerWidget$1';_.tI=405;function wFb(b,a){b.a=a;return b;}
+function yFb(a){wIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
+function vFb(){}
+_=vFb.prototype=new xU();_.wc=yFb;_.tN=Fgc+'PackageExplorerWidget$10';_.tI=406;function AFb(b,a){b.a=a;return b;}
+function CFb(a){var b,c;c=bc(a,71);oN(this.a.c);for(b=0;b<c.a;b++){if(b==0){tIb(this.a,c[b],true);}else{tIb(this.a,c[b],false);}}eeb();}
+function zFb(){}
+_=zFb.prototype=new hdb();_.md=CFb;_.tN=Fgc+'PackageExplorerWidget$11';_.tI=407;function EFb(b,a){b.a=a;return b;}
+function aGb(a){var b;b=bc(a,16);oN(this.a.c);tIb(this.a,b,true);eeb();}
+function DFb(){}
+_=DFb.prototype=new hdb();_.md=aGb;_.tN=Fgc+'PackageExplorerWidget$12';_.tI=408;function cGb(b,a){b.a=a;return b;}
+function eGb(a){zIb(a.a);}
+function fGb(){eGb(this);}
+function bGb(){}
+_=bGb.prototype=new xU();_.nb=fGb;_.tN=Fgc+'PackageExplorerWidget$13';_.tI=409;function hGb(b,a,c){b.a=a;b.b=c;return b;}
+function jGb(){if(this.a.lc()){if(Eh('Discard Changes ? ')){ebb(this.a);xIb(this.a,this.b.m);}}else{xIb(this.a,this.b.m);}}
+function gGb(){}
+_=gGb.prototype=new xU();_.nb=jGb;_.tN=Fgc+'PackageExplorerWidget$14';_.tI=410;function lGb(b,a){b.a=a;return b;}
+function nGb(c,a){var b;b=bc(a,62);aec(c.a.e,b);c.a.e.xe('100%');nbb(c.a.d,0,1,c.a.e);Bx(ou(c.a.d),0,1,(oA(),qA),(xA(),AA));eeb();}
+function oGb(a){nGb(this,a);}
+function kGb(){}
+_=kGb.prototype=new hdb();_.md=oGb;_.tN=Fgc+'PackageExplorerWidget$15';_.tI=411;function qGb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
+function sGb(){ieb('Loading list, please wait...');tUb(EMb(),this.c,this.b,(-1),(-1),this.a);}
+function pGb(){}
+_=pGb.prototype=new xU();_.nb=sGb;_.tN=Fgc+'PackageExplorerWidget$16';_.tI=412;function uGb(b,a){b.a=a;return b;}
+function wGb(c){var a,b,d,e,f,g,h,i;b=bc(c,16);g=qI(new pI());this.a.a=b.j;e=ucb(new rcb(),'images/package_large.png',b.j);uO(e,'package-Editor');e.xe('100%');vcb(e,'Description:',CC(new AC(),b.d));vcb(e,'Date created:',CC(new AC(),s0(b.c)));if(b.g){vcb(e,'Snapshot created on:',CC(new AC(),s0(b.i)));vcb(e,'Snapshot comment:',CC(new AC(),b.b));h=gCb(b);d=eA(new hx(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");vcb(e,'Download package:',d);vcb(e,'Package URI:',CC(new AC(),h));i=qq(new kq(),'View package source');i.x(yGb(new xGb(),this,b));vcb(e,'Show package source:',i);}if(!b.g){ycb(e,eA(new hx(),'<i>Choose one of the options below<\/i>'));}f=CGb(new BGb(),this);a=gHb(new fHb(),this);sI(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){sI(g,fFb(new iCb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);sI(g,FBb(new fAb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{sI(!
 g,fFb(new iCb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.xe('100%');nbb(this.a.d,0,1,g);eeb();}
+function tGb(){}
+_=tGb.prototype=new hdb();_.md=wGb;_.tN=Fgc+'PackageExplorerWidget$17';_.tI=413;function yGb(b,a,c){b.a=c;return b;}
+function AGb(a){fCb(this.a.m,this.a.j);}
+function xGb(){}
+_=xGb.prototype=new xU();_.wc=AGb;_.tN=Fgc+'PackageExplorerWidget$18';_.tI=414;function CGb(b,a){b.a=a;return b;}
+function EGb(a){dbb(a.a.a);}
+function FGb(){EGb(this);}
+function BGb(){}
+_=BGb.prototype=new xU();_.nb=FGb;_.tN=Fgc+'PackageExplorerWidget$19';_.tI=415;function pHb(c){var a,b;a=bc(c.k,90);b=a.a;ieb('Please wait...');ig(b);}
+function qHb(a){}
+function eHb(){}
+_=eHb.prototype=new xU();_.od=pHb;_.pd=qHb;_.tN=Fgc+'PackageExplorerWidget$2';_.tI=416;function gHb(b,a){b.a=a;return b;}
+function iHb(a){ebb(a.a.a);}
+function jHb(){iHb(this);}
+function fHb(){}
+_=fHb.prototype=new xU();_.nb=jHb;_.tN=Fgc+'PackageExplorerWidget$20';_.tI=417;function lHb(b,a){b.a=a;return b;}
+function nHb(a){aJb(this.a.b,a);}
+function kHb(){}
+_=kHb.prototype=new xU();_.td=nHb;_.tN=Fgc+'PackageExplorerWidget$21';_.tI=418;function sHb(b,a){b.a=a;return b;}
+function uHb(a){BIb(this.a,a);}
+function rHb(){}
+_=rHb.prototype=new xU();_.wc=uHb;_.tN=Fgc+'PackageExplorerWidget$3';_.tI=419;function wHb(b,a){b.a=a;return b;}
+function yHb(a){wIb(this.a,'jar','Create a new model archive');}
+function vHb(){}
+_=vHb.prototype=new xU();_.wc=yHb;_.tN=Fgc+'PackageExplorerWidget$4';_.tI=420;function AHb(b,a){b.a=a;return b;}
+function CHb(d){var a,b,c;a=70;c=100;b=i8b(new y7b(),EHb(new DHb(),this),true,null,'Create a new rule asset',this.a.a);lF(b,fc((fbb()-gF(b))/2),100);oF(b);}
+function zHb(){}
+_=zHb.prototype=new xU();_.wc=CHb;_.tN=Fgc+'PackageExplorerWidget$5';_.tI=421;function EHb(b,a){b.a=a;return b;}
+function aIb(a){aJb(this.a.a.b,a);}
+function DHb(){}
+_=DHb.prototype=new xU();_.td=aIb;_.tN=Fgc+'PackageExplorerWidget$6';_.tI=422;function cIb(b,a){b.a=a;return b;}
+function eIb(a){wIb(this.a,'function','Create a new function');}
+function bIb(){}
+_=bIb.prototype=new xU();_.wc=eIb;_.tN=Fgc+'PackageExplorerWidget$7';_.tI=423;function gIb(b,a){b.a=a;return b;}
+function iIb(a){wIb(this.a,'dsl','Create a new language configuration');}
+function fIb(){}
+_=fIb.prototype=new xU();_.wc=iIb;_.tN=Fgc+'PackageExplorerWidget$8';_.tI=424;function kIb(b,a){b.a=a;return b;}
+function mIb(a){wIb(this.a,'rf','Create a new ruleflow');}
+function jIb(){}
+_=jIb.prototype=new xU();_.wc=mIb;_.tN=Fgc+'PackageExplorerWidget$9';_.tI=425;function oIb(b,a){b.a=a;return b;}
+function nIb(){}
+_=nIb.prototype=new xU();_.tN=Fgc+'PackageExplorerWidget$PackageTreeItem';_.tI=426;_.a=null;function cJb(a){a.a=(FZ(),a0);}
+function dJb(a){eJb(a,null,null);return a;}
+function eJb(e,c,d){var a,b;cJb(e);e.b=sK(new eK());e.b.xe('100%');e.b.ne('30%');a=EIb(new DIb(),e,d);b=null;if(c===null){b=rIb(new tFb(),a);}else{b=sIb(new tFb(),a,c,d);}tK(e.b,b,"<img src='images/explore.gif'/>Explore",true);zK(e.b,0);gs(e,e.b);return e;}
+function gJb(b,a){b.a=a;}
+function CIb(){}
+_=CIb.prototype=new es();_.tN=Fgc+'PackageManagerView';_.tI=427;_.b=null;function EIb(b,a,c){b.a=a;b.b=c;return b;}
+function aJb(b,a){u5b(b.a.a,b.a.b,a,b.b!==null);}
+function bJb(a){aJb(this,a);}
+function DIb(){}
+_=DIb.prototype=new xU();_.td=bJb;_.tN=Fgc+'PackageManagerView$1';_.tI=428;function FKb(b){var a,c;b.a=lu(new fu());b.c=sK(new eK());b.c.xe('100%');b.c.ne('100%');c=hP(new fP());iP(c,b.a);a=qq(new kq(),'Rebuild snapshot binaries');a.pe('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new iJb());iP(c,a);tK(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);by(b.a.n,0,0,'28%');b.b=EMb();hLb(b);b.a.xe('100%');gs(b,b.c);zK(b.c,0);return b;}
+function aLb(h,c){var a,b,d,e,f,g;g=jN(new CL());d=hP(new fP());for(a=0;a<c.a;a++){e=c[a].j;b=fLb(h,e,'images/package_snapshot.gif',iKb(new hKb(),h,e));lN(g,b);}iP(d,g);f=eA(new hx(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");DC(f,mKb(new lKb(),h));nN(g,new pKb());mP(d,(xA(),AA));lP(d,(oA(),qA));iP(d,f);uO(d,'snapshot-List');h.a.ve(0,0,d);Fx(h.a.n,0,0,(xA(),AA));}
+function cLb(g,e,f){var a,b,c,d;c=ddb(new Ecb(),'images/snapshot.png','Copy snapshot '+f);a=zL(new kL());edb(c,'New label:',a);d=qq(new kq(),'OK');edb(c,'',d);d.x(yKb(new xKb(),g,e,f,a,c));b=qq(new kq(),'Copy');b.x(kJb(new jJb(),g,c));return b;}
+function dLb(d,c,b){var a;a=qq(new kq(),'Delete');a.x(sJb(new rJb(),d,c,b));return a;}
+function eLb(d,b,c,e){var a;a=qq(new kq(),'Open');a.x(oJb(new nJb(),d,b,c,e));return a;}
+function fLb(e,d,b,a){var c;c=oM(new mM());wM(c,'<img src="'+b+'">'+d+'<\/a>');CM(c,a);return c;}
+function gLb(g,e,f,h){var a,b,c,d,i;i=lu(new fu());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=FA(new DA());aB(c,eA(new hx(),d));a=odb(new ndb(),'images/close.gif');a.pe('Close this view');fC(a,AJb(new zJb(),g));aB(c,a);i.ve(0,0,c);b=ou(i);Ex(b,0,0,'editable-Surface');i.ve(1,0,eJb(new CIb(),h,f));i.xe('100%');i.ne('100%');if(g.c.a.f.c>1){yK(g.c,1);}tK(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);zK(g.c,1);}
+function hLb(a){ieb('Loading package list...');uUb(a.b,eKb(new dKb(),a));}
+function iLb(h,d,b){var a,c,e,f,g;e=ucb(new rcb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=lu(new fu());yz(g,0,1,'Name');yz(g,0,2,'Comment');ly(g.p,0,igc);for(a=0;a<b.a;a++){f=a+1;c=CC(new AC(),b[a].b);g.ve(f,0,eC(new oB(),'images/package_snapshot_item.gif'));g.ve(f,1,c);g.ve(f,2,CC(new AC(),b[a].a));g.ve(f,3,eLb(h,d,aD(c),b[a].c));g.ve(f,4,cLb(h,d,aD(c)));g.ve(f,5,dLb(h,aD(c),d));if(a%2==0){ly(g.p,a+1,ggc);}}e.xe('100%');ycb(e,g);g.xe('100%');uO(e,hgc);h.a.ve(0,1,e);Fx(ou(h.a),0,1,(xA(),AA));}
+function jLb(b,a){ieb('Loading snapshots...');vUb(b.b,a,uKb(new tKb(),b,a));}
+function hJb(){}
+_=hJb.prototype=new es();_.tN=Fgc+'PackageSnapshotView';_.tI=429;_.a=null;_.b=null;_.c=null;function EJb(a){if(Eh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){ieb('Rebuilding snapshots. Please wait, this may take some time...');aVb(EMb(),new FJb());}}
+function iJb(){}
+_=iJb.prototype=new xU();_.wc=EJb;_.tN=Fgc+'PackageSnapshotView$1';_.tI=430;function kJb(b,a,c){b.a=c;return b;}
+function mJb(a){lF(this.a,fc((fbb()-gF(this.a))/2),100);oF(this.a);}
+function jJb(){}
+_=jJb.prototype=new xU();_.wc=mJb;_.tN=Fgc+'PackageSnapshotView$10';_.tI=431;function oJb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
+function qJb(a){gLb(this.a,this.b,this.c,this.d);}
+function nJb(){}
+_=nJb.prototype=new xU();_.wc=qJb;_.tN=Fgc+'PackageSnapshotView$11';_.tI=432;function sJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function uJb(b){var a;a=Eh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{lUb(this.a.b,this.b,this.c,true,null,wJb(new vJb(),this,this.b));}}
+function rJb(){}
+_=rJb.prototype=new xU();_.wc=uJb;_.tN=Fgc+'PackageSnapshotView$12';_.tI=433;function wJb(b,a,c){b.a=a;b.b=c;return b;}
+function yJb(a){jLb(this.a.a,this.b);}
+function vJb(){}
+_=vJb.prototype=new hdb();_.md=yJb;_.tN=Fgc+'PackageSnapshotView$13';_.tI=434;function AJb(b,a){b.a=a;return b;}
+function CJb(a){yK(this.a.c,1);zK(this.a.c,0);}
+function zJb(){}
+_=zJb.prototype=new xU();_.wc=CJb;_.tN=Fgc+'PackageSnapshotView$14';_.tI=435;function bKb(b,a){eeb();Ch('Snapshots were rebuilt successfully.');}
+function cKb(a){bKb(this,a);}
+function FJb(){}
+_=FJb.prototype=new hdb();_.md=cKb;_.tN=Fgc+'PackageSnapshotView$2';_.tI=436;function eKb(b,a){b.a=a;return b;}
+function gKb(a){var b;b=bc(a,71);aLb(this.a,b);eeb();}
+function dKb(){}
+_=dKb.prototype=new hdb();_.md=gKb;_.tN=Fgc+'PackageSnapshotView$3';_.tI=437;function iKb(b,a,c){b.a=a;b.b=c;return b;}
+function kKb(){jLb(this.a,this.b);}
+function hKb(){}
+_=hKb.prototype=new xU();_.nb=kKb;_.tN=Fgc+'PackageSnapshotView$4';_.tI=438;function mKb(b,a){b.a=a;return b;}
+function oKb(a){hLb(this.a);}
+function lKb(){}
+_=lKb.prototype=new xU();_.wc=oKb;_.tN=Fgc+'PackageSnapshotView$5';_.tI=439;function rKb(a){ig(bc(a.k,4));}
+function sKb(a){}
+function pKb(){}
+_=pKb.prototype=new xU();_.od=rKb;_.pd=sKb;_.tN=Fgc+'PackageSnapshotView$6';_.tI=440;function uKb(b,a,c){b.a=a;b.b=c;return b;}
+function wKb(a){var b;b=bc(a,86);iLb(this.a,this.b,b);eeb();}
+function tKb(){}
+_=tKb.prototype=new hdb();_.md=wKb;_.tN=Fgc+'PackageSnapshotView$7';_.tI=441;function yKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
+function AKb(a){lUb(this.a.b,this.d,this.e,false,rL(this.b),CKb(new BKb(),this,this.d,this.c));}
+function xKb(){}
+_=xKb.prototype=new xU();_.wc=AKb;_.tN=Fgc+'PackageSnapshotView$8';_.tI=442;function CKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function EKb(a){jLb(this.a.a,this.c);this.b.hc();}
+function BKb(){}
+_=BKb.prototype=new hdb();_.md=EKb;_.tN=Fgc+'PackageSnapshotView$9';_.tI=443;function sLb(){sLb=v3;xLb=rLb(new kLb());}
+function qLb(a){a.a=C1(new a1());}
+function rLb(a){sLb();qLb(a);return a;}
+function tLb(c,b,a){if(!F1(c.a,b)){vLb(c,b,a);}else{h5b(a);}}
+function uLb(c,b){var a;a=bc(c2(c.a,b),91);if(a===null){jcb('Unable to get content assistance for this rule.');return null;}return a;}
+function vLb(c,b,a){kW(),nW;DUb(EMb(),b,mLb(new lLb(),c,b,a));}
+function wLb(c,b,a){if(F1(c.a,b)){e2(c.a,b);vLb(c,b,a);}else{a.nb();}}
+function kLb(){}
+_=kLb.prototype=new xU();_.tN=Fgc+'SuggestionCompletionCache';_.tI=444;var xLb;function mLb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function oLb(c,a){var b;b=bc(a,91);d2(c.a.a,c.c,b);c.b.nb();}
+function pLb(a){oLb(this,a);}
+function lLb(){}
+_=lLb.prototype=new hdb();_.md=pLb;_.tN=Fgc+'SuggestionCompletionCache$1';_.tI=445;function ELb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
+function yLb(){}
+_=yLb.prototype=new xU();_.tS=ELb;_.tN=ahc+'BuilderResult';_.tI=446;_.a=null;_.b=null;_.c=null;_.d=null;function CLb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();}
+function DLb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);}
+function FLb(){}
+_=FLb.prototype=new fm();_.tN=ahc+'DetailedSerializableException';_.tI=447;_.a=null;function dMb(b,a){gMb(a,b.Bd());jm(b,a);}
+function eMb(a){return a.a;}
+function fMb(b,a){b.cf(eMb(a));lm(b,a);}
+function gMb(a,b){a.a=b;}
+function iMb(a){a.a=Ab('[Ljava.lang.String;',[610],[1],[0],null);}
+function jMb(a){iMb(a);return a;}
+function kMb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(qV(e.a[b],a))return;}c=e.a;d=Ab('[Ljava.lang.String;',[610],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function mMb(e,b){var a,c,d;d=Ab('[Ljava.lang.String;',[610],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function hMb(){}
+_=hMb.prototype=new xU();_.tN=ahc+'MetaData';_.tI=448;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function pMb(b,a){a.a=bc(b.Ad(),63);a.b=b.Bd();a.c=b.Bd();a.d=bc(b.Ad(),59);a.e=b.Bd();a.f=bc(b.Ad(),59);a.g=bc(b.Ad(),59);a.h=b.Bd();a.i=b.Bd();a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=bc(b.Ad(),59);a.n=b.Bd();a.o=b.Bd();a.p=b.Bd();a.q=b.Bd();a.r=b.Bd();a.s=b.Bd();a.t=b.Bd();a.u=b.Bd();a.v=b.zd();}
+function qMb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.bf(a.d);b.cf(a.e);b.bf(a.f);b.bf(a.g);b.cf(a.h);b.cf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.bf(a.m);b.cf(a.n);b.cf(a.o);b.cf(a.p);b.cf(a.q);b.cf(a.r);b.cf(a.s);b.cf(a.t);b.cf(a.u);b.af(a.v);}
+function rMb(){}
+_=rMb.prototype=new xU();_.tN=ahc+'PackageConfigData';_.tI=449;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function vMb(b,a){a.a=b.wd();a.b=b.Bd();a.c=bc(b.Ad(),59);a.d=b.Bd();a.e=b.Bd();a.f=b.Bd();a.g=b.wd();a.h=b.Bd();a.i=bc(b.Ad(),59);a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=b.Bd();}
+function wMb(b,a){b.De(a.a);b.cf(a.b);b.bf(a.c);b.cf(a.d);b.cf(a.e);b.cf(a.f);b.De(a.g);b.cf(a.h);b.bf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.cf(a.m);}
+function CMb(){var a,b,c;c=BSb(new bNb());a=c;b=w()+'jbrmsService';hVb(a,b);return c;}
+function DMb(){var a,b,c;c=jYb(new EXb());a=c;b=w()+'jbrmsService';pYb(a,b);return c;}
+function EMb(){if(BMb===null){FMb();}return BMb;}
+function FMb(){if(AMb)BMb=null;else BMb=CMb();}
+function aNb(d,b,a){var c;c=DMb();oYb(c,d,b,a);}
+var AMb=false,BMb=null;function jUb(){jUb=v3;iVb=kVb(new jVb());}
+function BSb(a){jUb();return a;}
+function CSb(b,a,c,d){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'archiveAsset');mo(a,2);oo(a,'java.lang.String');oo(a,'Z');oo(a,c);lo(a,d);}
+function ESb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildAsset');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
+function DSb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildAssetSource');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
+function aTb(d,c,a,b){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'buildPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,a);oo(c,b);}
+function FSb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildPackageSource');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function bTb(d,c,e,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'changeAssetPackage');mo(c,3);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,e);oo(c,b);oo(c,a);}
+function cTb(c,b,d,a,e){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'changeState');mo(b,3);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,'Z');oo(b,d);oo(b,a);lo(b,e);}
+function dTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'checkinVersion');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
+function eTb(e,d,a,c,b){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'copyAsset');mo(d,3);oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,a);oo(d,c);oo(d,b);}
+function fTb(f,e,c,d,a,b){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'copyOrRemoveSnapshot');mo(e,4);oo(e,'java.lang.String');oo(e,'java.lang.String');oo(e,'Z');oo(e,'java.lang.String');oo(e,c);oo(e,d);lo(e,a);oo(e,b);}
+function gTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'copyPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
+function hTb(e,d,c,b,a){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'createCategory');mo(d,3);oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,c);oo(d,b);oo(d,a);}
+function iTb(g,f,e,a,c,d,b){if(g.a===null)throw um(new tm());rp(f);oo(f,'org.drools.brms.client.rpc.RepositoryService');oo(f,'createNewRule');mo(f,5);oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,e);oo(f,a);oo(f,c);oo(f,d);oo(f,b);}
+function kTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'createPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
+function jTb(f,e,b,d,c,a){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'createPackageSnapshot');mo(e,4);oo(e,'java.lang.String');oo(e,'java.lang.String');oo(e,'Z');oo(e,'java.lang.String');oo(e,b);oo(e,d);lo(e,c);oo(e,a);}
+function lTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'createState');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function mTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'deleteUncheckedRule');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
+function nTb(f,e,c,a,b,d){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'listAssets');mo(e,4);oo(e,'java.lang.String');oo(e,'[Ljava.lang.String;');oo(e,'I');oo(e,'I');oo(e,c);no(e,a);mo(e,b);mo(e,d);}
+function oTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'listPackages');mo(a,0);}
+function pTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'listSnapshots');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function qTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'listStates');mo(a,0);}
+function rTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadArchivedAssets');mo(a,0);}
+function sTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadAssetHistory');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
+function tTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadChildCategories');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function uTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadPackageConfig');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
+function vTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadRuleAsset');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function wTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadRuleListForCategories');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function xTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadSuggestionCompletionEngine');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function yTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadTableConfig');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function zTb(e,d,c,a,b){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'quickFindAsset');mo(d,3);oo(d,'java.lang.String');oo(d,'I');oo(d,'Z');oo(d,c);mo(d,a);lo(d,b);}
+function ATb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'rebuildSnapshots');mo(a,0);}
+function BTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'removeAsset');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
+function CTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'removeCategory');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function DTb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'renameAsset');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
+function ETb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'renamePackage');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
+function FTb(d,c,e,a,b){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'restoreVersion');mo(c,3);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,e);oo(c,a);oo(c,b);}
+function aUb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'savePackage');mo(b,1);oo(b,'org.drools.brms.client.rpc.PackageConfigData');no(b,a);}
+function bUb(h,i,j,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{CSb(h,g,i,j);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=qOb(new cNb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=hQb(new uOb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=ERb(new lQb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fUb(j,f,g,c){var a,d,e,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{aTb(j,i,f,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=dSb(new cSb(),j,h,c);if(!zg(j.a,up(i),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{FSb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=iSb(new hSb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gUb(j,k,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{bTb(j,i,k,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=nSb(new mSb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hUb(i,j,f,k,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{cTb(i,h,j,f,k);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=sSb(new rSb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function iUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{dTb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=xSb(new wSb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function kUb(k,c,h,g,d){var a,e,f,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{eTb(k,j,c,h,g);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=eNb(new dNb(),k,i,d);if(!zg(k.a,up(j),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lUb(l,h,i,d,g,c){var a,e,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{fTb(l,k,h,i,d,g);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=jNb(new iNb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mUb(j,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{gTb(j,i,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=oNb(new nNb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function nUb(k,h,g,d,c){var a,e,f,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{hTb(k,j,h,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=tNb(new sNb(),k,i,c);if(!zg(k.a,up(j),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oUb(m,j,d,h,i,f,c){var a,e,g,k,l;k=Ao(new zo(),iVb);l=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{iTb(m,l,j,d,h,i,f);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}g=yNb(new xNb(),m,k,c);if(!zg(m.a,up(l),g))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qUb(j,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{kTb(j,i,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=DNb(new CNb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pUb(l,g,i,h,d,c){var a,e,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{jTb(l,k,g,i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=cOb(new bOb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=hOb(new gOb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sUb(j,g,f,c){var a,d,e,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{mTb(j,i,g,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=mOb(new lOb(),j,h,c);if(!zg(j.a,up(i),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tUb(l,h,e,g,i,c){var a,d,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{nTb(l,k,h,e,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}f=wOb(new vOb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{oTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=BOb(new AOb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{pTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=aPb(new FOb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{qTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=fPb(new ePb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function xUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{rTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=kPb(new jPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function yUb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{sTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=pPb(new oPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function zUb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{tTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=uPb(new tPb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function AUb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{uTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=zPb(new yPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function BUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{vTb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=EPb(new DPb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CUb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{wTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=dQb(new cQb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{xTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=nQb(new mQb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function EUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{yTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=sQb(new rQb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FUb(k,h,f,g,c){var a,d,e,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{zTb(k,j,h,f,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=xQb(new wQb(),k,i,c);if(!zg(k.a,up(j),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aVb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ATb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=CQb(new BQb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bVb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{BTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=bRb(new aRb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cVb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{CTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=gRb(new fRb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dVb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{DTb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=lRb(new kRb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eVb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ETb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=qRb(new pRb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fVb(j,k,c,e,d){var a,f,g,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{FTb(j,i,k,c,e);}catch(a){a=mc(a);if(cc(a,92)){f=a;jdb(d,f);return;}else throw a;}g=vRb(new uRb(),j,h,d);if(!zg(j.a,up(i),g))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gVb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{aUb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=ARb(new zRb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hVb(b,a){b.a=a;}
+function bNb(){}
+_=bNb.prototype=new xU();_.tN=ahc+'RepositoryService_Proxy';_.tI=450;_.a=null;var iVb;function qOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)x7(g.a,f);else jdb(g.a,c);}
+function tOb(a){var b;b=y;sOb(this,a);}
+function cNb(){}
+_=cNb.prototype=new xU();_.xc=tOb;_.tN=ahc+'RepositoryService_Proxy$1';_.tI=451;function eNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)p1b(g.a,f);else jdb(g.a,c);}
+function hNb(a){var b;b=y;gNb(this,a);}
+function dNb(){}
+_=dNb.prototype=new xU();_.xc=hNb;_.tN=ahc+'RepositoryService_Proxy$10';_.tI=452;function jNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function lNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function mNb(a){var b;b=y;lNb(this,a);}
+function iNb(){}
+_=iNb.prototype=new xU();_.xc=mNb;_.tN=ahc+'RepositoryService_Proxy$11';_.tI=453;function oNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function qNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)rCb(g.a,f);else jdb(g.a,c);}
+function rNb(a){var b;b=y;qNb(this,a);}
+function nNb(){}
+_=nNb.prototype=new xU();_.xc=rNb;_.tN=ahc+'RepositoryService_Proxy$12';_.tI=454;function tNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)C$(g.a,f);else jdb(g.a,c);}
+function wNb(a){var b;b=y;vNb(this,a);}
+function sNb(){}
+_=sNb.prototype=new xU();_.xc=wNb;_.tN=ahc+'RepositoryService_Proxy$13';_.tI=455;function yNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function ANb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)e8b(g.a,f);else jdb(g.a,c);}
+function BNb(a){var b;b=y;ANb(this,a);}
+function xNb(){}
+_=xNb.prototype=new xU();_.xc=BNb;_.tN=ahc+'RepositoryService_Proxy$14';_.tI=456;function DNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)vzb(g.a,f);else jdb(g.a,c);}
+function aOb(a){var b;b=y;FNb(this,a);}
+function CNb(){}
+_=CNb.prototype=new xU();_.xc=aOb;_.tN=ahc+'RepositoryService_Proxy$15';_.tI=457;function cOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function eOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)wAb(g.a,f);else jdb(g.a,c);}
+function fOb(a){var b;b=y;eOb(this,a);}
+function bOb(){}
+_=bOb.prototype=new xU();_.xc=fOb;_.tN=ahc+'RepositoryService_Proxy$16';_.tI=458;function hOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)j$(g.a,f);else jdb(g.a,c);}
+function kOb(a){var b;b=y;jOb(this,a);}
+function gOb(){}
+_=gOb.prototype=new xU();_.xc=kOb;_.tN=ahc+'RepositoryService_Proxy$17';_.tI=459;function mOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f_b(g.a,f);else jdb(g.a,c);}
+function pOb(a){var b;b=y;oOb(this,a);}
+function lOb(){}
+_=lOb.prototype=new xU();_.xc=pOb;_.tN=ahc+'RepositoryService_Proxy$18';_.tI=460;function hQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)i9b(g.a,f);else jdb(g.a,c);}
+function kQb(a){var b;b=y;jQb(this,a);}
+function uOb(){}
+_=uOb.prototype=new xU();_.xc=kQb;_.tN=ahc+'RepositoryService_Proxy$2';_.tI=461;function wOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)nGb(g.a,f);else jdb(g.a,c);}
+function zOb(a){var b;b=y;yOb(this,a);}
+function vOb(){}
+_=vOb.prototype=new xU();_.xc=zOb;_.tN=ahc+'RepositoryService_Proxy$20';_.tI=462;function BOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function EOb(a){var b;b=y;DOb(this,a);}
+function AOb(){}
+_=AOb.prototype=new xU();_.xc=EOb;_.tN=ahc+'RepositoryService_Proxy$21';_.tI=463;function aPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function dPb(a){var b;b=y;cPb(this,a);}
+function FOb(){}
+_=FOb.prototype=new xU();_.xc=dPb;_.tN=ahc+'RepositoryService_Proxy$22';_.tI=464;function fPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function iPb(a){var b;b=y;hPb(this,a);}
+function ePb(){}
+_=ePb.prototype=new xU();_.xc=iPb;_.tN=ahc+'RepositoryService_Proxy$23';_.tI=465;function kPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f8(g.a,f);else jdb(g.a,c);}
+function nPb(a){var b;b=y;mPb(this,a);}
+function jPb(){}
+_=jPb.prototype=new xU();_.xc=nPb;_.tN=ahc+'RepositoryService_Proxy$24';_.tI=466;function pPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)gac(g.a,f);else jdb(g.a,c);}
+function sPb(a){var b;b=y;rPb(this,a);}
+function oPb(){}
+_=oPb.prototype=new xU();_.xc=sPb;_.tN=ahc+'RepositoryService_Proxy$25';_.tI=467;function uPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function xPb(a){var b;b=y;wPb(this,a);}
+function tPb(){}
+_=tPb.prototype=new xU();_.xc=xPb;_.tN=ahc+'RepositoryService_Proxy$26';_.tI=468;function zPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function BPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function CPb(a){var b;b=y;BPb(this,a);}
+function yPb(){}
+_=yPb.prototype=new xU();_.xc=CPb;_.tN=ahc+'RepositoryService_Proxy$27';_.tI=469;function EPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function bQb(a){var b;b=y;aQb(this,a);}
+function DPb(){}
+_=DPb.prototype=new xU();_.xc=bQb;_.tN=ahc+'RepositoryService_Proxy$28';_.tI=470;function dQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)rcc(g.a,f);else jdb(g.a,c);}
+function gQb(a){var b;b=y;fQb(this,a);}
+function cQb(){}
+_=cQb.prototype=new xU();_.xc=gQb;_.tN=ahc+'RepositoryService_Proxy$29';_.tI=471;function ERb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)n9b(g.a,f);else jdb(g.a,c);}
+function bSb(a){var b;b=y;aSb(this,a);}
+function lQb(){}
+_=lQb.prototype=new xU();_.xc=bSb;_.tN=ahc+'RepositoryService_Proxy$3';_.tI=472;function nQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)oLb(g.a,f);else jdb(g.a,c);}
+function qQb(a){var b;b=y;pQb(this,a);}
+function mQb(){}
+_=mQb.prototype=new xU();_.xc=qQb;_.tN=ahc+'RepositoryService_Proxy$30';_.tI=473;function sQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)hdc(g.a,f);else jdb(g.a,c);}
+function vQb(a){var b;b=y;uQb(this,a);}
+function rQb(){}
+_=rQb.prototype=new xU();_.xc=vQb;_.tN=ahc+'RepositoryService_Proxy$31';_.tI=474;function xQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function AQb(a){var b;b=y;zQb(this,a);}
+function wQb(){}
+_=wQb.prototype=new xU();_.xc=AQb;_.tN=ahc+'RepositoryService_Proxy$32';_.tI=475;function CQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function EQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)bKb(g.a,f);else jdb(g.a,c);}
+function FQb(a){var b;b=y;EQb(this,a);}
+function BQb(){}
+_=BQb.prototype=new xU();_.xc=FQb;_.tN=ahc+'RepositoryService_Proxy$33';_.tI=476;function bRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)a8(g.a,f);else jdb(g.a,c);}
+function eRb(a){var b;b=y;dRb(this,a);}
+function aRb(){}
+_=aRb.prototype=new xU();_.xc=eRb;_.tN=ahc+'RepositoryService_Proxy$34';_.tI=477;function gRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)x9(g.a,f);else jdb(g.a,c);}
+function jRb(a){var b;b=y;iRb(this,a);}
+function fRb(){}
+_=fRb.prototype=new xU();_.xc=jRb;_.tN=ahc+'RepositoryService_Proxy$35';_.tI=478;function lRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f7b(g.a,f);else jdb(g.a,c);}
+function oRb(a){var b;b=y;nRb(this,a);}
+function kRb(){}
+_=kRb.prototype=new xU();_.xc=oRb;_.tN=ahc+'RepositoryService_Proxy$36';_.tI=479;function qRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)dFb(g.a,f);else jdb(g.a,c);}
+function tRb(a){var b;b=y;sRb(this,a);}
+function pRb(){}
+_=pRb.prototype=new xU();_.xc=tRb;_.tN=ahc+'RepositoryService_Proxy$37';_.tI=480;function vRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)pbc(g.a,f);else jdb(g.a,c);}
+function yRb(a){var b;b=y;xRb(this,a);}
+function uRb(){}
+_=uRb.prototype=new xU();_.xc=yRb;_.tN=ahc+'RepositoryService_Proxy$38';_.tI=481;function ARb(b,a,d,c){b.b=d;b.a=c;return b;}
+function CRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)wCb(g.a,f);else jdb(g.a,c);}
+function DRb(a){var b;b=y;CRb(this,a);}
+function zRb(){}
+_=zRb.prototype=new xU();_.xc=DRb;_.tN=ahc+'RepositoryService_Proxy$39';_.tI=482;function dSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)vBb(g.a,f);else jdb(g.a,c);}
+function gSb(a){var b;b=y;fSb(this,a);}
+function cSb(){}
+_=cSb.prototype=new xU();_.xc=gSb;_.tN=ahc+'RepositoryService_Proxy$4';_.tI=483;function iSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function kSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)gBb(g.a,f);else jdb(g.a,c);}
+function lSb(a){var b;b=y;kSb(this,a);}
+function hSb(){}
+_=hSb.prototype=new xU();_.xc=lSb;_.tN=ahc+'RepositoryService_Proxy$5';_.tI=484;function nSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)D5b(g.a,f);else jdb(g.a,c);}
+function qSb(a){var b;b=y;pSb(this,a);}
+function mSb(){}
+_=mSb.prototype=new xU();_.xc=qSb;_.tN=ahc+'RepositoryService_Proxy$6';_.tI=485;function sSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)jfb(g.a,f);else jdb(g.a,c);}
+function vSb(a){var b;b=y;uSb(this,a);}
+function rSb(){}
+_=rSb.prototype=new xU();_.xc=vSb;_.tN=ahc+'RepositoryService_Proxy$7';_.tI=486;function xSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)k_b(g.a,f);else jdb(g.a,c);}
+function ASb(a){var b;b=y;zSb(this,a);}
+function wSb(){}
+_=wSb.prototype=new xU();_.xc=ASb;_.tN=ahc+'RepositoryService_Proxy$8';_.tI=487;function lVb(){lVb=v3;nXb=mVb();qXb=nVb();}
+function kVb(a){lVb();return a;}
+function mVb(){lVb();return {'[B/2233087514':[function(a){return oVb(a);},function(a,b){hn(a,b);},function(a,b){jn(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return pVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return qVb(a);},function(a,b){jm(a,b);},function(a,b){lm(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return vVb(a);},function(a,b){nE(a,b);},function(a,b){qE(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return wVb(a);},function(a,b){fJ(a,b);},function(a,b){iJ(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return xVb(a);},function(a,b){nJ(a,b);},function(a,b){pJ(a,b);}],'java.lang.Boolean/476441737':[function(a){return Am(a);},function(a,b){zm(a,b);},function(a,b){Bm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return dn(a);},function(a,b){cn(a,b);},function(a,b){en(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return yVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return rVb(a);},function(a,b){mn(a,b);},function(a,b){nn(a,b);}],'java.util.Date/1659716317':[function(a){return rn(a);},function(a,b){qn(a,b);},function(a,b){sn(a,b);}],'java.util.HashMap/962170901':[function(a){return sVb(a);},function(a,b){vn(a,b);},function(a,b){wn(a,b);}],'java.util.HashSet/1594477813':[function(a){return tVb(a);},function(a,b){zn(a,b);},function(a,b){An(a,b);}],'java.util.Vector/3125574444':[function(a){return uVb(a);},function(a,b){Dn(a,b);},function(a,b){En(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return zVb(a);},function(a,b){jhb(a,b);},function(a,b){khb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return AVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return CVb(a);},function(a,b){cib(a,b);},function(a,b){dib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return BVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return EVb(a);},function(a,b){kib(a,b);},function(a,b){lib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return DVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return aWb(a);},function(a,b){sib(a,b);},function(a,b){tib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return FVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn cWb(a);},function(a,b){zib(a,b);},function(a,b){Aib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return bWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return eWb(a);},function(a,b){bjb(a,b);},function(a,b){cjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return dWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return gWb(a);},function(a,b){jjb(a,b);},function(a,b){kjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return fWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return iWb(a);},function(a,b){rjb(a,b);},function(a,b){sjb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn hWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return kWb(a);},function(a,b){zjb(a,b);},function(a,b){Ajb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return jWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return mWb(a);},function(a,b){Fjb(a,b);},function(a,b){akb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return lWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return oWb(a);},function(a,b){hkb(a,b);},function(a,b){ikb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return nWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return qWb(a);},function(a,b){tkb(a,b);},function(a,b){ukb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return pWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return rWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return sWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return tWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return uWb(a);},function(a,b){Ckb(a,b);},function(a,b){Dkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return wWb(a);},function(a,b){elb(a,b);},function(a,b!
 ){flb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return vWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return xWb(a);},function(a,b){zlb(a,b);},function(a,b){Alb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return zWb(a);},function(a,b){cmb(a,b);},function(a,b){dmb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return yWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return BWb(a);},function(a,b){CLb(a,b);},function(a,b){DLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return AWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return CWb(a);},function(a,b){dMb(a,b);},function(a,b){fMb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return DWb(a);},function(a,b){pMb(a,b);},function(a,b){qMb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return FWb(a);},function(a,b){vMb(a,b);},function(a,b){wMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return EWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return aXb(a);},function(a,b){vXb(a,b);},function(a,b){wXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return bXb(a);},function(a,b){BXb(a,b);},function(a,b){CXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return cXb(a);},function(a,b){cZb(a,b);},function(a,b){dZb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return eXb(a);},function(a,b){iZb(a,b);},function(a,b){jZb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn dXb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return fXb(a);},function(a,b){oZb(a,b);},function(a,b){pZb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return gXb(a);},function(a,b){uZb(a,b);},function(a,b){vZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return iXb(a);},function(a,b){AZb(a,b);},function(a,b){BZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return hXb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return jXb(a);},function(a,b){b0b(a,b);},function(a,b){c0b(a,b);}]};}
+function nVb(){lVb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
+function oVb(b){lVb();var a;a=b.yd();return Ab('[B',[616],[(-1)],[a],0);}
+function pVb(a){lVb();return Al(new zl());}
+function qVb(a){lVb();return new fm();}
+function rVb(a){lVb();return FY(new DY());}
+function sVb(a){lVb();return C1(new a1());}
+function tVb(a){lVb();return w2(new v2());}
+function uVb(a){lVb();return j3(new i3());}
+function vVb(a){lVb();return new jE();}
+function wVb(a){lVb();return new EI();}
+function xVb(a){lVb();return new aJ();}
+function yVb(b){lVb();var a;a=b.yd();return Ab('[Ljava.lang.String;',[610],[1],[a],null);}
+function zVb(a){lVb();return Agb(new ygb());}
+function AVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[625],[22],[a],null);}
+function BVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[626],[23],[a],null);}
+function CVb(a){lVb();return new Dhb();}
+function DVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[627],[24],[a],null);}
+function EVb(a){lVb();return fib(new eib());}
+function FVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[628],[25],[a],null);}
+function aWb(a){lVb();return nib(new mib());}
+function bWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[629],[26],[a],null);}
+function cWb(a){lVb();return new uib();}
+function dWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[630],[27],[a],null);}
+function eWb(a){lVb();return Cib(new Bib());}
+function fWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[631],[28],[a],null);}
+function gWb(a){lVb();return ejb(new djb());}
+function hWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[632],[29],[a],null);}
+function iWb(a){lVb();return new ljb();}
+function jWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[633],[30],[a],null);}
+function kWb(a){lVb();return new tjb();}
+function lWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[618],[15],[a],null);}
+function mWb(a){lVb();return new Bjb();}
+function nWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[612],[10],[a],null);}
+function oWb(a){lVb();return new bkb();}
+function pWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[634],[31],[a],null);}
+function qWb(a){lVb();return new kkb();}
+function rWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[624],[21],[a],null);}
+function sWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[20],[a],null);}
+function tWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[19],[a],null);}
+function uWb(a){lVb();return new ykb();}
+function vWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[18],[a],null);}
+function wWb(a){lVb();return new Fkb();}
+function xWb(a){lVb();return jlb(new hlb());}
+function yWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[635],[32],[a],null);}
+function zWb(a){lVb();return new Blb();}
+function AWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.BuilderResult;',[614],[12],[a],null);}
+function BWb(a){lVb();return new yLb();}
+function CWb(a){lVb();return new FLb();}
+function DWb(a){lVb();return jMb(new hMb());}
+function EWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.PackageConfigData;',[619],[16],[a],null);}
+function FWb(a){lVb();return new rMb();}
+function aXb(a){lVb();return new rXb();}
+function bXb(a){lVb();return new xXb();}
+function cXb(a){lVb();return new EYb();}
+function dXb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[620],[17],[a],null);}
+function eXb(a){lVb();return new eZb();}
+function fXb(a){lVb();return new kZb();}
+function gXb(a){lVb();return new qZb();}
+function hXb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.TableDataRow;',[617],[14],[a],null);}
+function iXb(a){lVb();return new wZb();}
+function jXb(a){lVb();return new DZb();}
+function kXb(c,a,d){var b=nXb[d];if(!b){oXb(d);}b[1](c,a);}
+function lXb(b){var a=qXb[b];return a==null?b:a;}
+function mXb(b,c){var a=nXb[c];if(!a){oXb(c);}return a[0](b);}
+function oXb(a){lVb();throw pm(new om(),a);}
+function pXb(c,a,d){var b=nXb[d];if(!b){oXb(d);}b[2](c,a);}
+function jVb(){}
+_=jVb.prototype=new xU();_.gb=kXb;_.Db=lXb;_.jc=mXb;_.fe=pXb;_.tN=ahc+'RepositoryService_TypeSerializer';_.tI=488;var nXb,qXb;function rXb(){}
+_=rXb.prototype=new xU();_.tN=ahc+'RuleAsset';_.tI=489;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function vXb(b,a){a.a=b.wd();a.b=bc(b.Ad(),39);a.c=b.wd();a.d=bc(b.Ad(),93);a.e=b.Bd();}
+function wXb(b,a){b.De(a.a);b.bf(a.b);b.De(a.c);b.bf(a.d);b.cf(a.e);}
+function xXb(){}
+_=xXb.prototype=new xU();_.tN=ahc+'RuleContentText';_.tI=490;_.a=null;function BXb(b,a){a.a=b.Bd();}
+function CXb(b,a){b.cf(a.a);}
+function mYb(){mYb=v3;qYb=sYb(new rYb());}
+function jYb(a){mYb();return a;}
+function kYb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.SecurityService');oo(a,'getCurrentUser');mo(a,0);}
+function lYb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.SecurityService');oo(b,'login');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
+function nYb(h,c){var a,d,e,f,g;f=Ao(new zo(),qYb);g=np(new lp(),qYb,w(),'C384F35B503938C7EC9B9EB6B150D06F');try{kYb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;c.Ac(d);return;}else throw a;}e=aYb(new FXb(),h,f,c);if(!zg(h.a,up(g),e))c.Ac(bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oYb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),qYb);h=np(new lp(),qYb,w(),'C384F35B503938C7EC9B9EB6B150D06F');try{lYb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=fYb(new eYb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pYb(b,a){b.a=a;}
+function EXb(){}
+_=EXb.prototype=new xU();_.tN=ahc+'SecurityService_Proxy';_.tI=491;_.a=null;var qYb;function aYb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cYb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else g.a.Ac(c);}
+function dYb(a){var b;b=y;cYb(this,a);}
+function FXb(){}
+_=FXb.prototype=new xU();_.xc=dYb;_.tN=ahc+'SecurityService_Proxy$1';_.tI=492;function fYb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hYb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=BS(new AS(),Eo(g.b));}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)q6(g.a,f);else jdb(g.a,c);}
+function iYb(a){var b;b=y;hYb(this,a);}
+function eYb(){}
+_=eYb.prototype=new xU();_.xc=iYb;_.tN=ahc+'SecurityService_Proxy$2';_.tI=493;function tYb(){tYb=v3;AYb=uYb();DYb=vYb();}
+function sYb(a){tYb();return a;}
+function uYb(){tYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return wYb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'java.lang.String/2004016611':[function(a){return dn(a);},function(a,b){cn(a,b);},function(a,b){en(a,b);}]};}
+function vYb(){tYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
+function wYb(a){tYb();return Al(new zl());}
+function xYb(c,a,d){var b=AYb[d];if(!b){BYb(d);}b[1](c,a);}
+function yYb(b){var a=DYb[b];return a==null?b:a;}
+function zYb(b,c){var a=AYb[c];if(!a){BYb(c);}return a[0](b);}
+function BYb(a){tYb();throw pm(new om(),a);}
+function CYb(c,a,d){var b=AYb[d];if(!b){BYb(d);}b[2](c,a);}
+function rYb(){}
+_=rYb.prototype=new xU();_.gb=xYb;_.Db=yYb;_.jc=zYb;_.fe=CYb;_.tN=ahc+'SecurityService_TypeSerializer';_.tI=494;var AYb,DYb;function EYb(){}
+_=EYb.prototype=new fm();_.tN=ahc+'SessionExpiredException';_.tI=495;function cZb(b,a){jm(b,a);}
+function dZb(b,a){lm(b,a);}
+function eZb(){}
+_=eZb.prototype=new xU();_.tN=ahc+'SnapshotInfo';_.tI=496;_.a=null;_.b=null;_.c=null;function iZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
+function jZb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
+function kZb(){}
+_=kZb.prototype=new xU();_.tN=ahc+'TableConfig';_.tI=497;_.a=null;_.b=0;function oZb(b,a){a.a=bc(b.Ad(),63);a.b=b.yd();}
+function pZb(b,a){b.bf(a.a);b.Fe(a.b);}
+function qZb(){}
+_=qZb.prototype=new xU();_.tN=ahc+'TableDataResult';_.tI=498;_.a=null;function uZb(b,a){a.a=bc(b.Ad(),94);}
+function vZb(b,a){b.bf(a.a);}
+function CZb(a){return wV(a,'\\,')[0];}
+function wZb(){}
+_=wZb.prototype=new xU();_.tN=ahc+'TableDataRow';_.tI=499;_.a=null;_.b=null;_.c=null;function AZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=bc(b.Ad(),63);}
+function BZb(b,a){b.cf(a.a);b.cf(a.b);b.bf(a.c);}
+function DZb(){}
+_=DZb.prototype=new xU();_.tN=ahc+'ValidatedResponse';_.tI=500;_.a=null;_.b=null;_.c=false;_.d=null;function b0b(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.wd();a.d=bc(b.Ad(),39);}
+function c0b(b,a){b.cf(a.a);b.cf(a.b);b.De(a.c);b.bf(a.d);}
+function r1b(a){a.e=lu(new fu());}
+function s1b(j,b,c,a,f,d,g){var e,h,i;r1b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=dA(new hx());i=j.f.r;e=ou(j.e);h=FA(new DA());z1b(j,i);aB(h,j.g);if(!g){v1b(j,e,h);}B1b(j,f,e);gs(j,j.e);j.xe('100%');return j;}
+function u1b(c,a,b){Ch('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
+function v1b(h,e,g){var a,b,c,d,f;d=odb(new ndb(),'images/edit.gif');d.pe('Change status.');fC(d,n0b(new e0b(),h));aB(g,d);h.e.ve(0,0,g);Bx(e,0,0,(oA(),qA),(xA(),AA));f=qq(new kq(),'Save changes');f.pe('Check in changes.');f.x(r0b(new q0b(),h));aB(g,f);b=qq(new kq(),'Copy');b.x(v0b(new u0b(),h));aB(g,b);a=qq(new kq(),'Archive');a.x(z0b(new y0b(),h));aB(g,a);if(h.f.v==0){c=qq(new kq(),'Delete');c.x(D0b(new C0b(),h));aB(g,c);}}
+function w1b(b,c){var a;a=F2b(new A2b(),lO(c),mO(c),'Check in changes.');c3b(a,g0b(new f0b(),b,a));d3b(a);}
+function x1b(e,f){var a,b,c,d;a=ddb(new Ecb(),'images/rule_asset.gif','Copy this item');b=zL(new kL());c=reb(new meb());edb(a,'New name:',b);edb(a,'New package:',c);d=qq(new kq(),'Create copy');d.x(j1b(new i1b(),e,c,b,a));edb(a,'',d);lF(a,fc((fbb()-gF(a))/2),100);oF(a);}
+function y1b(b,a){b.c=a;}
+function z1b(b,a){hA(b.g,'Status: <b>['+a+']<\/b>');}
+function A1b(b,c){var a;a=lfb(new veb(),b.h,false);ofb(a,k0b(new j0b(),b,a));lF(a,lO(c),mO(c));oF(a);}
+function B1b(e,d,b){var a,c,f;f=FA(new DA());c=odb(new ndb(),'images/max_min.gif');fC(c,b1b(new a1b(),e,d));aB(f,c);a=odb(new ndb(),'images/close.gif');a.pe('Close.');fC(a,f1b(new e1b(),e));aB(f,a);e.e.ve(0,1,f);Bx(b,0,1,(oA(),rA),(xA(),AA));}
+function d0b(){}
+_=d0b.prototype=new es();_.tN=bhc+'ActionToolbar';_.tI=501;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function n0b(b,a){b.a=a;return b;}
+function p0b(a){A1b(this.a,a);}
+function e0b(){}
+_=e0b.prototype=new xU();_.wc=p0b;_.tN=bhc+'ActionToolbar$1';_.tI=502;function g0b(b,a,c){b.a=a;b.b=c;return b;}
+function i0b(){this.a.f.b=b3b(this.b);h$b(this.a.b);}
+function f0b(){}
+_=f0b.prototype=new xU();_.nb=i0b;_.tN=bhc+'ActionToolbar$10';_.tI=503;function k0b(b,a,c){b.a=a;b.b=c;return b;}
+function m0b(){z1b(this.a,this.b.c);}
+function j0b(){}
+_=j0b.prototype=new xU();_.nb=m0b;_.tN=bhc+'ActionToolbar$11';_.tI=504;function r0b(b,a){b.a=a;return b;}
+function t0b(a){w1b(this.a,a);}
+function q0b(){}
+_=q0b.prototype=new xU();_.wc=t0b;_.tN=bhc+'ActionToolbar$2';_.tI=505;function v0b(b,a){b.a=a;return b;}
+function x0b(a){x1b(this.a,a);}
+function u0b(){}
+_=u0b.prototype=new xU();_.wc=x0b;_.tN=bhc+'ActionToolbar$3';_.tI=506;function z0b(b,a){b.a=a;return b;}
+function B0b(a){if(Eh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+t0(l0(new k0()));m$b(this.a.a);}}
+function y0b(){}
+_=y0b.prototype=new xU();_.wc=B0b;_.tN=bhc+'ActionToolbar$4';_.tI=507;function D0b(b,a){b.a=a;return b;}
+function F0b(a){if(Eh('Are you sure you want to permanently delete this (unversioned) item?')){w$b(this.a.d);}}
+function C0b(){}
+_=C0b.prototype=new xU();_.wc=F0b;_.tN=bhc+'ActionToolbar$5';_.tI=508;function b1b(b,a,c){b.a=c;return b;}
+function d1b(a){r$b(this.a);}
+function a1b(){}
+_=a1b.prototype=new xU();_.wc=d1b;_.tN=bhc+'ActionToolbar$6';_.tI=509;function f1b(b,a){b.a=a;return b;}
+function h1b(a){a_b(this.a.c);}
+function e1b(){}
+_=e1b.prototype=new xU();_.wc=h1b;_.tN=bhc+'ActionToolbar$7';_.tI=510;function j1b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
+function l1b(a){kUb(EMb(),this.a.h,teb(this.d),rL(this.c),n1b(new m1b(),this,this.c,this.d,this.b));}
+function i1b(){}
+_=i1b.prototype=new xU();_.wc=l1b;_.tN=bhc+'ActionToolbar$8';_.tI=511;function n1b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
+function p1b(b,a){u1b(b.a.a,rL(b.c),teb(b.d));b.b.hc();}
+function q1b(a){p1b(this,a);}
+function m1b(){}
+_=m1b.prototype=new hdb();_.md=q1b;_.tN=bhc+'ActionToolbar$9';_.tI=512;function r2b(a){a.b=kbb(new ibb());}
+function s2b(c,a,b){r2b(c);c.a=a;c.c=lu(new fu());x2b(c,c.c);uO(c.c,'rule-List');nbb(c.b,0,0,c.c);if(!b){v2b(c);}gs(c,c.b);return c;}
+function t2b(b,a){kMb(b.a,a);z2b(b);}
+function v2b(c){var a,b;a=hP(new fP());b=odb(new ndb(),'images/new_item.gif');b.pe('Add a new category.');fC(b,g2b(new f2b(),c));iP(a,b);nbb(c.b,0,1,a);}
+function w2b(b){var a;a=p2b(new n2b(),b);lF(a,lO(b),mO(b));oF(a);}
+function x2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;yz(d,b,0,e.a.a[b]);a=odb(new ndb(),'images/trash.gif');a.pe('Remove this category');fC(a,k2b(new j2b(),e,c));d.ve(b,1,a);}}
+function y2b(b,a){mMb(b.a,a);dbb(b);z2b(b);}
+function z2b(a){a.c=lu(new fu());uO(a.c,'rule-List');nbb(a.b,0,0,a.c);x2b(a,a.c);dbb(a);}
+function C1b(){}
+_=C1b.prototype=new bbb();_.tN=bhc+'AssetCategoryEditor';_.tI=513;_.a=null;_.c=null;function E1b(b,a){b.a=a;return b;}
+function a2b(a){this.a.b=a;}
+function D1b(){}
+_=D1b.prototype=new xU();_.ee=a2b;_.tN=bhc+'AssetCategoryEditor$1';_.tI=514;function c2b(b,a){b.a=a;return b;}
+function e2b(a){if(this.a.b!==null&& !qV('',this.a.b)){t2b(this.a.d,this.a.b);}this.a.hc();}
+function b2b(){}
+_=b2b.prototype=new xU();_.wc=e2b;_.tN=bhc+'AssetCategoryEditor$2';_.tI=515;function g2b(b,a){b.a=a;return b;}
+function i2b(a){w2b(this.a);}
+function f2b(){}
+_=f2b.prototype=new xU();_.wc=i2b;_.tN=bhc+'AssetCategoryEditor$3';_.tI=516;function k2b(b,a,c){b.a=a;b.b=c;return b;}
+function m2b(a){y2b(this.a,this.b);}
+function j2b(){}
+_=j2b.prototype=new xU();_.wc=m2b;_.tN=bhc+'AssetCategoryEditor$4';_.tI=517;function q2b(){q2b=v3;eF();}
+function o2b(a){a.a=qq(new kq(),'OK');}
+function p2b(b,a){var c;q2b();b.d=a;bF(b,true);o2b(b);c=hP(new fP());b.c=v_(new e_(),E1b(new D1b(),b));uO(b,'ks-popups-Popup');iP(c,b.c);iP(c,b.a);CH(b,c);b.a.x(c2b(new b2b(),b));return b;}
+function n2b(){}
+_=n2b.prototype=new FE();_.tN=bhc+'AssetCategoryEditor$CategorySelector';_.tI=518;_.b=null;_.c=null;function F2b(c,a,d,b){c.b=ddb(new Ecb(),'images/checkin.gif',b);c.a=eL(new dL());c.a.xe('100%');c.c=qq(new kq(),'Save');edb(c.b,'Comment',c.a);edb(c.b,'',c.c);uO(c.b,'ks-popups-Popup');lF(c.b,a,d);return c;}
+function b3b(a){return rL(a.a);}
+function c3b(b,a){b.c.x(C2b(new B2b(),b,a));}
+function d3b(a){lF(a.b,fc((fbb()-gF(a.b))/2),100);oF(a.b);}
+function A2b(){}
+_=A2b.prototype=new xU();_.tN=bhc+'CheckinPopup';_.tI=519;_.a=null;_.b=null;_.c=null;function C2b(b,a,c){b.a=a;b.b=c;return b;}
+function E2b(a){this.b.nb();this.a.b.hc();}
+function B2b(){}
+_=B2b.prototype=new xU();_.wc=E2b;_.tN=bhc+'CheckinPopup$1';_.tI=520;function A3b(){A3b=v3;eF();}
+function y3b(g,f,e){var a,b,c,d;A3b();bF(g,true);g.d=f;g.b=zL(new kL());g.b.xe('100%');b='<enter text to filter list>';vL(g.b,'<enter text to filter list>');gv(g.b,g3b(new f3b(),g));oL(g.b,l3b(new k3b(),g,e));g.b.le(true);d=hP(new fP());iP(d,g.b);g.c=mD(new eD());CD(g.c,5);C3b(g,x5b(g.d,''));iP(d,g.c);c=qq(new kq(),'ok');c.x(r3b(new q3b(),g,e));a=qq(new kq(),'cancel');a.x(v3b(new u3b(),g));g.a=FA(new DA());aB(g.a,c);aB(g.a,a);iP(d,g.a);CH(g,d);uO(g,'ks-popups-Popup');return g;}
+function z3b(b,a){q4b(a,B3b(b));b.hc();}
+function B3b(a){return vD(a.c,wD(a.c));}
+function C3b(c,a){var b;sD(c.c);for(b=0;b<a.b;b++){pD(c.c,bc(gZ(a,b),10).a);}}
+function e3b(){}
+_=e3b.prototype=new FE();_.tN=bhc+'ChoiceList';_.tI=521;_.a=null;_.b=null;_.c=null;_.d=null;function g3b(b,a){b.a=a;return b;}
+function i3b(a){vL(this.a.b,'');}
+function j3b(a){vL(this.a.b,'<enter text to filter list>');}
+function f3b(){}
+_=f3b.prototype=new xU();_.Bc=i3b;_.dd=j3b;_.tN=bhc+'ChoiceList$1';_.tI=522;function l3b(b,a,c){b.a=a;b.b=c;return b;}
+function n3b(a,b,c){}
+function o3b(a,b,c){}
+function p3b(a,b,c){if(b==13){z3b(this.a,this.b);}else{C3b(this.a,x5b(this.a.d,rL(this.a.b)));}}
+function k3b(){}
+_=k3b.prototype=new xU();_.Fc=n3b;_.ad=o3b;_.bd=p3b;_.tN=bhc+'ChoiceList$2';_.tI=523;function r3b(b,a,c){b.a=a;b.b=c;return b;}
+function t3b(a){z3b(this.a,this.b);}
+function q3b(){}
+_=q3b.prototype=new xU();_.wc=t3b;_.tN=bhc+'ChoiceList$3';_.tI=524;function v3b(b,a){b.a=a;return b;}
+function x3b(a){this.a.hc();}
+function u3b(){}
+_=u3b.prototype=new xU();_.wc=x3b;_.tN=bhc+'ChoiceList$4';_.tI=525;function o4b(i,a){var b,c,d,e,f,g,h,j;b=bc(a.b,95);i.c=b;i.d=eL(new dL());jL(i.d,10);vL(i.d,i.c.a);i.d.pe('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=uLb((sLb(),xLb),a.d.o);i.a=c.a;i.b=c.b;uO(i.d,'dsl-text-Editor');d=lu(new fu());d.ve(0,0,i.d);nL(i.d,F3b(new E3b(),i));oL(i.d,d4b(new c4b(),i));j=hP(new fP());e=odb(new ndb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.pe('Add a new condition');fC(e,h4b(new g4b(),i));h=odb(new ndb(),'images/new_dsl_action.gif');g='Add an action';h.pe('Add an action');fC(h,l4b(new k4b(),i));iP(j,e);iP(j,h);d.ve(0,1,j);by(d.n,0,0,'95%');by(d.n,0,1,'5%');d.xe('100%');d.ne('100%');gs(i,d);return i;}
+function q4b(e,b){var a,c,d;a=gL(e.d);c=AV(rL(e.d),0,a);d=AV(rL(e.d),a,uV(rL(e.d)));vL(e.d,c+b+d);e.c.a=rL(e.d);}
+function r4b(b){var a;a=AV(rL(b.d),0,gL(b.d));if(sV(a,'then')>(-1)){s4b(b,b.a);}else{s4b(b,b.b);}}
+function s4b(c,b){var a;a=y3b(new e3b(),b,c);lF(a,lO(c.d)+20,mO(c.d)+20);oF(a);}
+function D3b(){}
+_=D3b.prototype=new bbb();_.tN=bhc+'DSLRuleEditor';_.tI=526;_.a=null;_.b=null;_.c=null;_.d=null;function F3b(b,a){b.a=a;return b;}
+function b4b(a){this.a.c.a=rL(this.a.d);dbb(this.a);}
+function E3b(){}
+_=E3b.prototype=new xU();_.vc=b4b;_.tN=bhc+'DSLRuleEditor$1';_.tI=527;function d4b(b,a){b.a=a;return b;}
+function f4b(a,b,c){if(b==32&&c==2){r4b(this.a);}if(b==9){q4b(this.a,'\t');sL(this.a.d,gL(this.a.d)+1);pL(this.a.d);}}
+function c4b(){}
+_=c4b.prototype=new mC();_.Fc=f4b;_.tN=bhc+'DSLRuleEditor$2';_.tI=528;function h4b(b,a){b.a=a;return b;}
+function j4b(a){s4b(this.a,this.a.b);}
+function g4b(){}
+_=g4b.prototype=new xU();_.wc=j4b;_.tN=bhc+'DSLRuleEditor$3';_.tI=529;function l4b(b,a){b.a=a;return b;}
+function n4b(a){s4b(this.a,this.a.a);}
+function k4b(){}
+_=k4b.prototype=new xU();_.wc=n4b;_.tN=bhc+'DSLRuleEditor$4';_.tI=530;function C4b(b,a){b.a=a;b.b=bc(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=eL(new dL());jL(b.c,10);vL(b.c,b.b.a);uO(b.c,'default-text-Area');nL(b.c,v4b(new u4b(),b));oL(b.c,z4b(new y4b(),b));gs(b,b.c);return b;}
+function E4b(e,b){var a,c,d;a=gL(e.c);c=AV(rL(e.c),0,a);d=AV(rL(e.c),a,uV(rL(e.c)));vL(e.c,c+b+d);e.b.a=rL(e.c);}
+function t4b(){}
+_=t4b.prototype=new bbb();_.tN=bhc+'DefaultRuleContentWidget';_.tI=531;_.a=null;_.b=null;_.c=null;function v4b(b,a){b.a=a;return b;}
+function x4b(a){this.a.b.a=rL(this.a.c);dbb(this.a);}
+function u4b(){}
+_=u4b.prototype=new xU();_.vc=x4b;_.tN=bhc+'DefaultRuleContentWidget$1';_.tI=532;function z4b(b,a){b.a=a;return b;}
+function B4b(a,b,c){if(b==9){E4b(this.a,'\t');sL(this.a.c,gL(this.a.c)+1);pL(this.a.c);}}
+function y4b(){}
+_=y4b.prototype=new mC();_.Fc=B4b;_.tN=bhc+'DefaultRuleContentWidget$2';_.tI=533;function o5b(){o5b=v3;p5b=s5b();}
+function q5b(a){o5b();var b;b=bc(c2(p5b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
+function r5b(a,b){o5b();if(qV(a.d.k,'brl')){return p9b(new C8b(),fxb(new avb(),a),a);}else if(qV(a.d.k,'dslr')){return p9b(new C8b(),o4b(new D3b(),a),a);}else if(qV(a.d.k,'jar')){return azb(new Fyb(),a,b);}else if(qV(a.d.k,'xls')){return p9b(new C8b(),kgb(new jgb(),a,b),a);}else if(qV(a.d.k,'rf')){return y8b(new x8b(),a,b);}else if(qV(a.d.k,'drl')){return p9b(new C8b(),C4b(new t4b(),a),a);}else if(qV(a.d.k,'enumeration')){return p9b(new C8b(),C4b(new t4b(),a),a);}else{return C4b(new t4b(),a);}}
+function s5b(){o5b();var a;a=C1(new a1());d2(a,'drl','technical_rule_assets.gif');d2(a,'dsl','dsl.gif');d2(a,'function','function_assets.gif');d2(a,'jar','model_asset.gif');d2(a,'xls','spreadsheet_small.gif');d2(a,'brl','business_rule.gif');d2(a,'dslr','business_rule.gif');d2(a,'rf','ruleflow_small.gif');return a;}
+function t5b(d,f,g,e,a){o5b();var b,c,h;h=p_b(new x9b(),a,e);b=a.d.n;if(uV(b)>10){b=AV(b,0,7)+'...';}c=q5b(a.d.k);tK(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(FZ(),a0)){d2(d,g,h);}y_b(h,k5b(new j5b(),f,h,d,g));zK(f,vK(f,h));}
+function u5b(b,d,e,c){o5b();var a;if(F1(b,e)){if(vK(d,bc(c2(b,e),13))==(-1)){a=cc(wK(d,0),96)?'Rule Viewer':'Package Manager';Ch('Asset already opened in '+a);}else{zK(d,vK(d,bc(c2(b,e),13)));}eeb();return;}BUb(EMb(),e,b5b(new a5b(),b,d,e,c));}
+var p5b;function b5b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
+function d5b(c){var a,b;a=bc(c,97);b=(sLb(),xLb);tLb(b,a.d.o,f5b(new e5b(),this,this.a,this.c,this.d,this.b,a));}
+function a5b(){}
+_=a5b.prototype=new hdb();_.md=d5b;_.tN=bhc+'EditorLauncher$1';_.tI=534;function f5b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
+function h5b(a){t5b(a.b,a.d,a.e,a.c,a.a);}
+function i5b(){h5b(this);}
+function e5b(){}
+_=e5b.prototype=new xU();_.nb=i5b;_.tN=bhc+'EditorLauncher$2';_.tI=535;function k5b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
+function m5b(a){yK(a.b,vK(a.b,a.d));zK(a.b,0);if(a.a!==(FZ(),a0)){e2(a.a,a.c);}}
+function n5b(){m5b(this);}
+function j5b(){}
+_=j5b.prototype=new xU();_.nb=n5b;_.tN=bhc+'EditorLauncher$3';_.tI=536;function x5b(e,a){var b,c,d;b=FY(new DY());for(c=0;c<e.a;c++){d=e[c];if(qV(a,'')||yV(d.a,a)){bZ(b,d);}}return b;}
+function m7b(e,a,c,f,d){var b;tcb(e);uO(e,'metadata-Widget');if(!c){b=pdb(new ndb(),'images/edit.gif','Rename this asset');fC(b,d6b(new z5b(),e));xcb(e,'images/meta_data.png',a.n,b);}else{wcb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;r7b(e,a);return e;}
+function n7b(a){a.b=s2b(new C1b(),a.a,a.c);return a.b;}
+function p7b(d,a,e){var b,c;if(!d.c){b=zL(new kL());b.pe(e);vL(b,a.ac());c=a6b(new F5b(),d,a,b);nL(b,c);return b;}else{return CC(new AC(),a.ac());}}
+function q7b(a){if(a.a.v==0){return eA(new hx(),'<i>Not checked in yet<\/i>');}else{return u7b(a,dU(a.a.v));}}
+function r7b(b,a){b.a=a;vcb(b,'Categories:',n7b(b));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Modified on:',t7b(b,b.a.m));vcb(b,'by:',u7b(b,b.a.l));vcb(b,'Note:',u7b(b,b.a.b));vcb(b,'Version:',q7b(b));if(!b.c){vcb(b,'Created on:',t7b(b,b.a.d));}vcb(b,'Created by:',u7b(b,b.a.e));vcb(b,'Format:',eA(new hx(),'<b>'+b.a.k+'<\/b>'));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Package:',s7b(b,b.a.o));vcb(b,'Subject:',p7b(b,h6b(new g6b(),b),'A short description of the subject matter.'));vcb(b,'Type:',p7b(b,m6b(new l6b(),b),'This is for classification purposes.'));vcb(b,'External link:',p7b(b,r6b(new q6b(),b),'This is for relating the asset to an external system.'));vcb(b,'Source:',p7b(b,w6b(new v6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){ycb(b,tac(new A_b(),b.e,b.a,b.d));}}
+function s7b(d,c){var a,b;if(d.c){return u7b(d,c);}else{b=FA(new DA());uO(b,'metadata-Widget');aB(b,u7b(d,c));a=odb(new ndb(),'images/edit.gif');fC(a,B6b(new A6b(),d,c));aB(b,a);return b;}}
+function t7b(b,a){if(a===null){return null;}else{return CC(new AC(),s0(a));}}
+function u7b(c,b){var a;a=CC(new AC(),b);a.xe('100%');return a;}
+function v7b(f,b,e){var a,c,d;c=ddb(new Ecb(),'images/package_large.png','Move this item to another package');edb(c,'Current package:',CC(new AC(),b));d=reb(new meb());edb(c,'New package:',d);a=qq(new kq(),'Change package');edb(c,'',a);a.x(i7b(new h7b(),f,d,b,c));lF(c,lO(e.v.v),mO(e.v.v));oF(c);}
+function w7b(e,d){var a,b,c;c=ddb(new Ecb(),'images/package_large.png','Rename this item');a=zL(new kL());edb(c,'New name',a);b=qq(new kq(),'Rename item');edb(c,'',b);b.x(F6b(new E6b(),e,a,c));lF(c,lO(d.v.v)-18,mO(d.v.v));oF(c);}
+function x7b(){return this.b.lc()||this.j;}
+function y5b(){}
+_=y5b.prototype=new rcb();_.lc=x7b;_.tN=bhc+'MetaDataWidget';_.tI=537;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function d6b(b,a){b.a=a;return b;}
+function f6b(a){w7b(this.a,a);}
+function z5b(){}
+_=z5b.prototype=new xU();_.wc=f6b;_.tN=bhc+'MetaDataWidget$1';_.tI=538;function B5b(b,a,c){b.a=a;b.b=c;return b;}
+function D5b(b,a){dbb(b.a.a);B$b(b.a.a.d);b.b.hc();}
+function E5b(a){D5b(this,a);}
+function A5b(){}
+_=A5b.prototype=new hdb();_.md=E5b;_.tN=bhc+'MetaDataWidget$10';_.tI=539;function a6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function c6b(a){dbb(this.a);this.b.te(rL(this.c));}
+function F5b(){}
+_=F5b.prototype=new xU();_.vc=c6b;_.tN=bhc+'MetaDataWidget$11';_.tI=540;function h6b(b,a){b.a=a;return b;}
+function j6b(){return this.a.a.s;}
+function k6b(a){this.a.a.s=a;}
+function g6b(){}
+_=g6b.prototype=new xU();_.ac=j6b;_.te=k6b;_.tN=bhc+'MetaDataWidget$2';_.tI=541;function m6b(b,a){b.a=a;return b;}
+function o6b(){return this.a.a.u;}
+function p6b(a){this.a.a.u=a;}
+function l6b(){}
+_=l6b.prototype=new xU();_.ac=o6b;_.te=p6b;_.tN=bhc+'MetaDataWidget$3';_.tI=542;function r6b(b,a){b.a=a;return b;}
+function t6b(){return this.a.a.i;}
+function u6b(a){this.a.a.i=a;}
+function q6b(){}
+_=q6b.prototype=new xU();_.ac=t6b;_.te=u6b;_.tN=bhc+'MetaDataWidget$4';_.tI=543;function w6b(b,a){b.a=a;return b;}
+function y6b(){return this.a.a.j;}
+function z6b(a){this.a.a.j=a;}
+function v6b(){}
+_=v6b.prototype=new xU();_.ac=y6b;_.te=z6b;_.tN=bhc+'MetaDataWidget$5';_.tI=544;function B6b(b,a,c){b.a=a;b.b=c;return b;}
+function D6b(a){v7b(this.a,this.b,a);}
+function A6b(){}
+_=A6b.prototype=new xU();_.wc=D6b;_.tN=bhc+'MetaDataWidget$6';_.tI=545;function F6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function b7b(a){dVb(EMb(),this.a.e,rL(this.b),d7b(new c7b(),this,this.c));}
+function E6b(){}
+_=E6b.prototype=new xU();_.wc=b7b;_.tN=bhc+'MetaDataWidget$7';_.tI=546;function d7b(b,a,c){b.a=a;b.b=c;return b;}
+function f7b(b,a){B$b(b.a.a.d);Ch('Item has been renamed');b.b.hc();}
+function g7b(a){f7b(this,a);}
+function c7b(){}
+_=c7b.prototype=new hdb();_.md=g7b;_.tN=bhc+'MetaDataWidget$8';_.tI=547;function i7b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function k7b(a){if(qV(teb(this.d),this.b)){Ch('You need to pick a different package to move this to.');return;}gUb(EMb(),this.a.e,teb(this.d),'Moved from : '+this.b,B5b(new A5b(),this,this.c));}
+function h7b(){}
+_=h7b.prototype=new xU();_.wc=k7b;_.tN=bhc+'MetaDataWidget$9';_.tI=548;function j8b(){j8b=v3;gdb();}
+function g8b(a){a.f=zL(new kL());a.b=eL(new dL());a.d=l8b(a);a.g=reb(new meb());}
+function h8b(e,a,d,b,f){var c;j8b();ddb(e,'images/new_wiz.gif',f);g8b(e);e.h=d;e.c=b;e.a=a;edb(e,'Name:',e.f);if(d){edb(e,'Initial category:',k8b(e));}if(b===null){edb(e,'Type (format) of rule:',e.d);}edb(e,'Package:',e.g);jL(e.b,4);e.b.xe('100%');edb(e,'Initial description:',e.b);c=qq(new kq(),'OK');c.x(A7b(new z7b(),e));edb(e,'',c);uO(e,'ks-popups-Popup');return e;}
+function i8b(e,b,d,c,f,a){j8b();h8b(e,b,d,c,f);ueb(e.g,a);return e;}
+function k8b(a){return v_(new e_(),E7b(new D7b(),a));}
+function m8b(a){if(a.c!==null)return a.c;return xD(a.d,wD(a.d));}
+function l8b(b){var a;a=mD(new eD());qD(a,'Business rule (using guided editor)','brl');qD(a,'DRL rule (technical rule - text editor)','drl');qD(a,'Business rule using a DSL (text editor)','dslr');qD(a,'Decision table (spreadsheet)','xls');BD(a,0);return a;}
+function n8b(b){var a;if(b.h&&b.e===null){Dfb('You have to pick an initial category.',lO(b),mO(b));return;}else if(rL(b.f)===null||qV('',rL(b.f))){Dfb('Rule must have a name',lO(b),mO(b));return;}a=c8b(new b8b(),b);ieb('Please wait ...');oUb(EMb(),rL(b.f),rL(b.b),b.e,teb(b.g),m8b(b),a);}
+function o8b(a,b){a.a.td(b);}
+function y7b(){}
+_=y7b.prototype=new Ecb();_.tN=bhc+'NewAssetWizard';_.tI=549;_.a=null;_.c=null;_.e=null;_.h=false;function A7b(b,a){b.a=a;return b;}
+function C7b(a){n8b(this.a);}
+function z7b(){}
+_=z7b.prototype=new xU();_.wc=C7b;_.tN=bhc+'NewAssetWizard$1';_.tI=550;function E7b(b,a){b.a=a;return b;}
+function a8b(a){this.a.e=a;}
+function D7b(){}
+_=D7b.prototype=new xU();_.ee=a8b;_.tN=bhc+'NewAssetWizard$2';_.tI=551;function c8b(b,a){b.a=a;return b;}
+function e8b(b,a){var c;c=bc(a,1);if(yV(c,'DUPLICATE')){eeb();Ch('An asset with that name already exists in the chosen package. Please use another name');}else{o8b(b.a,bc(a,1));b.a.hc();}}
+function f8b(a){e8b(this,a);}
+function b8b(){}
+_=b8b.prototype=new hdb();_.md=f8b;_.tN=bhc+'NewAssetWizard$3';_.tI=552;function u8b(b,a){b.a=eL(new dL());b.a.xe('100%');jL(b.a,10);uO(b.a,'rule-viewer-Documentation');b.a.pe('This is rule documentation. Human friendly descriptions of the business logic.');gs(b,b.a);w8b(b,a);return b;}
+function w8b(b,a){vL(b.a,a.h);nL(b.a,r8b(new q8b(),b,a));if(a.h===null||qV('',a.h)){vL(b.a,'<documentation>');}}
+function p8b(){}
+_=p8b.prototype=new bbb();_.tN=bhc+'RuleDocumentWidget';_.tI=553;_.a=null;function r8b(b,a,c){b.a=a;b.b=c;return b;}
+function t8b(a){this.b.h=rL(this.a.a);dbb(this.a);}
+function q8b(){}
+_=q8b.prototype=new xU();_.vc=t8b;_.tN=bhc+'RuleDocumentWidget$1';_.tI=554;function y8b(b,a,c){iyb(b,a,c);jyb(b,eA(new hx(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
+function A8b(){return 'images/ruleflow_large.png';}
+function B8b(){return 'decision-Table-upload';}
+function x8b(){}
+_=x8b.prototype=new Axb();_.sb=A8b;_.Ab=B8b;_.tN=bhc+'RuleFlowUploadWidget';_.tI=555;function p9b(c,b,a){c.a=a;c.b=kbb(new ibb());uO(c.b,'asset-editor-Layout');nbb(c.b,0,0,b);if(!a.c)nbb(c.b,1,0,v9b(c));Bx(c.b.n,1,0,(oA(),rA),(xA(),AA));c.b.xe('100%');c.b.ne('100%');gs(c,c.b);return c;}
+function r9b(a){ieb('Validating item, please wait...');dUb(EMb(),a.a,g9b(new f9b(),a));}
+function s9b(a){ieb('Calculating source...');cUb(EMb(),a.a,l9b(new k9b(),a));}
+function t9b(h,e){var a,b,c,d,f,g;c=ddb(new Ecb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){fdb(c,eA(new hx(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=lu(new fu());uO(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ve(f,0,eC(new oB(),'images/error.gif'));if(qV(d.a,'package')){yz(a,f,1,'[package configuration problem] '+d.c);}else{yz(a,f,1,d.c);}}g=oH(new mH(),a);g.xe('100%');fdb(c,g);}lF(c,100,100);oF(c);eeb();}
+function u9b(b,a){hCb(a,b.a.d.n);eeb();}
+function v9b(b){var a,c,d;a=FA(new DA());d=qq(new kq(),'View source');aB(a,d);c=qq(new kq(),'Validate');aB(a,c);d.x(E8b(new D8b(),b));c.x(c9b(new b9b(),b));uO(a,'asset-validator-Buttons');return a;}
+function w9b(){return mbb(this.b);}
+function C8b(){}
+_=C8b.prototype=new bbb();_.lc=w9b;_.tN=bhc+'RuleValidatorWrapper';_.tI=556;_.a=null;_.b=null;function E8b(b,a){b.a=a;return b;}
+function a9b(a){s9b(this.a);}
+function D8b(){}
+_=D8b.prototype=new xU();_.wc=a9b;_.tN=bhc+'RuleValidatorWrapper$1';_.tI=557;function c9b(b,a){b.a=a;return b;}
+function e9b(a){r9b(this.a);}
+function b9b(){}
+_=b9b.prototype=new xU();_.wc=e9b;_.tN=bhc+'RuleValidatorWrapper$2';_.tI=558;function g9b(b,a){b.a=a;return b;}
+function i9b(c,a){var b;b=bc(a,88);t9b(c.a,b);}
+function j9b(a){i9b(this,a);}
+function f9b(){}
+_=f9b.prototype=new hdb();_.md=j9b;_.tN=bhc+'RuleValidatorWrapper$3';_.tI=559;function l9b(b,a){b.a=a;return b;}
+function n9b(c,a){var b;b=bc(a,1);u9b(c.a,b);}
+function o9b(a){n9b(this,a);}
+function k9b(){}
+_=k9b.prototype=new hdb();_.md=o9b;_.tN=bhc+'RuleValidatorWrapper$4';_.tI=560;function p_b(c,a,b){c.a=a;c.g=b;c.e=kbb(new ibb());v_b(c);gs(c,c.e);eeb();return c;}
+function r_b(a){a.a.a=true;s_b(a);m5b(a.b);}
+function s_b(a){bz(a.e);ieb('Saving, please wait...');iUb(EMb(),a.a,i_b(new h_b(),a));}
+function t_b(e){var a,b,c,d;d=ddb(new Ecb(),'images/warning-large.png','WARNING: Un-committed changes.');b=qq(new kq(),'Discard');a=qq(new kq(),'Cancel');c=FA(new DA());aB(c,b);aB(c,a);fdb(d,eA(new hx(),'Are you sure you want to discard changes?'));fdb(d,c);b.x(E9b(new D9b(),e,d));a.x(c$b(new b$b(),e,d));uO(d,'warning-Popup');lF(d,fc((fbb()-gF(d))/2),100);oF(d);}
+function u_b(a){sUb(EMb(),a.a.e,a.a.d.o,d_b(new c_b(),a));}
+function v_b(b){var a;bz(b.e);a=ou(b.e);b.h=s1b(new d0b(),b.a,f$b(new y9b(),b),k$b(new j$b(),b),p$b(new o$b(),b),u$b(new t$b(),b),b.g);nbb(b.e,0,0,b.h);Bx(a,0,0,(oA(),rA),(xA(),AA));b.f=m7b(new y5b(),b.a.d,b.g,b.a.e,z$b(new y$b(),b));nbb(b.e,0,1,b.f);ku(a,0,1,3);Fx(a,0,1,(xA(),AA));by(a,0,1,'30%');b.d=r5b(b.a,b);y1b(b.h,E$b(new D$b(),b));nbb(b.e,1,0,b.d);Fx(a,1,0,(xA(),AA));b.c=u8b(new p8b(),b.a.d);nbb(b.e,2,0,b.c);Fx(a,2,0,(xA(),AA));}
+function w_b(a){if(fab(a.a.d.k)){ieb('Refreshing content assistance...');wLb((sLb(),xLb),a.a.d.o,new m_b());}}
+function x_b(a){BUb(EMb(),a.a.e,A9b(new z9b(),a));}
+function y_b(b,a){b.b=a;}
+function z_b(a){var b;b= !zx(ou(a.e),2,0);ay(ou(a.e),0,1,b);ay(ou(a.e),2,0,b);}
+function x9b(){}
+_=x9b.prototype=new es();_.tN=bhc+'RuleViewer';_.tI=561;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function f$b(b,a){b.a=a;return b;}
+function h$b(a){s_b(a.a);}
+function i$b(){h$b(this);}
+function y9b(){}
+_=y9b.prototype=new xU();_.nb=i$b;_.tN=bhc+'RuleViewer$1';_.tI=562;function A9b(b,a){b.a=a;return b;}
+function C9b(a){this.a.a=bc(a,97);v_b(this.a);eeb();}
+function z9b(){}
+_=z9b.prototype=new hdb();_.md=C9b;_.tN=bhc+'RuleViewer$10';_.tI=563;function E9b(b,a,c){b.a=a;b.b=c;return b;}
+function a$b(a){m5b(this.a.b);this.b.hc();}
+function D9b(){}
+_=D9b.prototype=new xU();_.wc=a$b;_.tN=bhc+'RuleViewer$11';_.tI=564;function c$b(b,a,c){b.a=c;return b;}
+function e$b(a){this.a.hc();}
+function b$b(){}
+_=b$b.prototype=new xU();_.wc=e$b;_.tN=bhc+'RuleViewer$12';_.tI=565;function k$b(b,a){b.a=a;return b;}
+function m$b(a){r_b(a.a);}
+function n$b(){m$b(this);}
+function j$b(){}
+_=j$b.prototype=new xU();_.nb=n$b;_.tN=bhc+'RuleViewer$2';_.tI=566;function p$b(b,a){b.a=a;return b;}
+function r$b(a){z_b(a.a);}
+function s$b(){r$b(this);}
+function o$b(){}
+_=o$b.prototype=new xU();_.nb=s$b;_.tN=bhc+'RuleViewer$3';_.tI=567;function u$b(b,a){b.a=a;return b;}
+function w$b(a){u_b(a.a);}
+function x$b(){w$b(this);}
+function t$b(){}
+_=t$b.prototype=new xU();_.nb=x$b;_.tN=bhc+'RuleViewer$4';_.tI=568;function z$b(b,a){b.a=a;return b;}
+function B$b(a){x_b(a.a);}
+function C$b(){B$b(this);}
+function y$b(){}
+_=y$b.prototype=new xU();_.nb=C$b;_.tN=bhc+'RuleViewer$5';_.tI=569;function E$b(b,a){b.a=a;return b;}
+function a_b(a){if(mbb(a.a.e)){t_b(a.a);}else{m5b(a.a.b);}}
+function b_b(){a_b(this);}
+function D$b(){}
+_=D$b.prototype=new xU();_.nb=b_b;_.tN=bhc+'RuleViewer$6';_.tI=570;function d_b(b,a){b.a=a;return b;}
+function f_b(b,a){m5b(b.a.b);}
+function g_b(a){f_b(this,a);}
+function c_b(){}
+_=c_b.prototype=new hdb();_.md=g_b;_.tN=bhc+'RuleViewer$7';_.tI=571;function i_b(b,a){b.a=a;return b;}
+function k_b(b,a){var c;w_b(b.a);c=bc(a,1);if(cc(b.a.d,98)){ebb(bc(b.a.d,98));}ebb(b.a.f);ebb(b.a.c);if(c===null){jcb('Failed to check in the item. Please contact your system administrator.');return;}x_b(b.a);}
+function l_b(a){k_b(this,a);}
+function h_b(){}
+_=h_b.prototype=new hdb();_.md=l_b;_.tN=bhc+'RuleViewer$8';_.tI=572;function o_b(){eeb();}
+function m_b(){}
+_=m_b.prototype=new xU();_.nb=o_b;_.tN=bhc+'RuleViewer$9';_.tI=573;function tac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=FA(new DA());d.a=lu(new fu());d.a.ve(0,0,CC(new AC(),'Version history'));Ex(d.a.n,0,0,'metadata-Widget');b=ou(d.a);Dx(b,0,0,(oA(),qA));d.c=odb(new ndb(),'images/refresh.gif');fC(d.c,C_b(new B_b(),d));d.a.ve(0,1,d.c);Dx(b,0,1,(oA(),rA));uO(f,'version-browser-Border');aB(f,d.a);d.a.xe('100%');f.xe('100%');gs(d,f);return d;}
+function uac(a){yac(a);ig(aac(new F_b(),a));}
+function wac(b,a){return nac(new mac(),b,a);}
+function xac(a){yUb(EMb(),a.e,eac(new dac(),a));}
+function yac(a){jC(a.c,'images/searching.gif');}
+function zac(a){jC(a.c,'images/refresh.gif');}
+function Aac(b,a){var c;c=rbc(new Bac(),b.b,a,b.e,b.d);lF(c,100,100);oF(c);}
+function A_b(){}
+_=A_b.prototype=new es();_.tN=bhc+'VersionBrowser';_.tI=574;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function C_b(b,a){b.a=a;return b;}
+function E_b(a){uac(this.a);}
+function B_b(){}
+_=B_b.prototype=new xU();_.wc=E_b;_.tN=bhc+'VersionBrowser$1';_.tI=575;function aac(b,a){b.a=a;return b;}
+function cac(){xac(this.a);}
+function F_b(){}
+_=F_b.prototype=new xU();_.nb=cac;_.tN=bhc+'VersionBrowser$2';_.tI=576;function eac(b,a){b.a=a;return b;}
+function gac(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ve(1,0,CC(new AC(),'No history.'));zac(i.a);return;}g=bc(a,62);f=g.a;c=Bb('[Ljava.lang.String;',610,1,['Version number','Comment','Date Modified','Status']);d=wac(i.a,f);h=egc(d,c,0,false);h.xe('100%');i.a.a.ve(1,0,h);b=ou(i.a.a);ju(b,1,0,2);e=qq(new kq(),'View selected version');e.x(jac(new iac(),i,h));i.a.a.ve(2,1,e);ju(b,2,1,3);Dx(b,2,1,(oA(),pA));zac(i.a);}
+function hac(a){gac(this,a);}
+function dac(){}
+_=dac.prototype=new hdb();_.md=hac;_.tN=bhc+'VersionBrowser$3';_.tI=577;function jac(b,a,c){b.a=a;b.b=c;return b;}
+function lac(a){if(this.b.f==0)return;Aac(this.a.a,xfc(this.b));}
+function iac(){}
+_=iac.prototype=new xU();_.wc=lac;_.tN=bhc+'VersionBrowser$4';_.tI=578;function nac(b,a,c){b.a=c;return b;}
+function pac(){return this.a.a;}
+function qac(a){return this.a[a].b;}
+function rac(b,a){return this.a[b].c[a];}
+function sac(b,a){return null;}
+function mac(){}
+_=mac.prototype=new xU();_.wb=pac;_.Cb=qac;_.bc=rac;_.cc=sac;_.tN=bhc+'VersionBrowser$5';_.tI=579;function sbc(){sbc=v3;zs();}
+function rbc(d,a,e,b,c){sbc();xs(d,false);d.c=e;d.a=b;d.b=c;uO(d,'version-Popup');ieb('Loading version');BUb(EMb(),e,Dac(new Cac(),d,a));return d;}
+function tbc(b,c){var a;a=F2b(new A2b(),lO(c)+10,mO(c)+10,'Restore this version?');c3b(a,jbc(new ibc(),b,a));d3b(a);}
+function Bac(){}
+_=Bac.prototype=new us();_.tN=bhc+'VersionViewer';_.tI=580;_.a=null;_.b=null;_.c=null;function Dac(b,a,c){b.a=a;b.b=c;return b;}
+function Fac(c){var a,b,d,e,f,g;a=bc(c,97);a.c=true;a.d.n=this.b.n;Bs(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=lu(new fu());d=ou(e);f=qq(new kq(),'Restore this version');f.x(bbc(new abc(),this));e.ve(0,0,f);Dx(d,0,0,(oA(),qA));b=qq(new kq(),'Close');b.x(fbc(new ebc(),this));e.ve(0,1,b);Dx(d,0,1,(oA(),rA));g=p_b(new x9b(),a,true);g.xe('100%');e.ve(1,0,g);ju(d,1,1,2);e.xe('100%');sO(e,800,300);Cs(this.a,e);}
+function Cac(){}
+_=Cac.prototype=new hdb();_.md=Fac;_.tN=bhc+'VersionViewer$1';_.tI=581;function bbc(b,a){b.a=a;return b;}
+function dbc(a){tbc(this.a.a,a);}
+function abc(){}
+_=abc.prototype=new xU();_.wc=dbc;_.tN=bhc+'VersionViewer$2';_.tI=582;function fbc(b,a){b.a=a;return b;}
+function hbc(a){this.a.a.hc();}
+function ebc(){}
+_=ebc.prototype=new xU();_.wc=hbc;_.tN=bhc+'VersionViewer$3';_.tI=583;function jbc(b,a,c){b.a=a;b.b=c;return b;}
+function lbc(){fVb(EMb(),this.a.c,this.a.a,b3b(this.b),nbc(new mbc(),this));}
+function ibc(){}
+_=ibc.prototype=new xU();_.nb=lbc;_.tN=bhc+'VersionViewer$4';_.tI=584;function nbc(b,a){b.a=a;return b;}
+function pbc(b,a){b.a.a.hc();B$b(b.a.a.b);}
+function qbc(a){pbc(this,a);}
+function mbc(){}
+_=mbc.prototype=new hdb();_.md=qbc;_.tN=bhc+'VersionViewer$5';_.tI=585;function xcc(a){a.b=(FZ(),a0);}
+function ycc(a){xcc(a);a.c=sK(new eK());a.c.xe('100%');a.c.ne('100%');tK(a.c,Acc(a),"<img src='images/explore.gif'/>Explore",true);zK(a.c,0);gs(a,a.c);return a;}
+function Acc(i){var a,b,c,d,e,f,g,h;h=lu(new fu());i.a=Bdc(new Fcc(),wbc(new vbc(),i),'rulelist');b=ou(h);d=v_(new e_(),Abc(new zbc(),i,h));f=Fec(new eec(),Ebc(new Dbc(),i));h.ve(0,1,f);Bx(b,0,0,(oA(),qA),(xA(),AA));Bx(b,0,1,(oA(),qA),(xA(),AA));by(b,0,0,'30%');by(b,0,1,'70%');e=qq(new kq(),'Create new rule');e.pe('Create new rule');e.x(dcc(new ccc(),i));g=odb(new ndb(),'images/system_search_small.png');g.pe('Show the rule finder.');fC(g,hcc(new gcc(),i,h,f));a=FA(new DA());aB(a,e);aB(a,g);uO(a,'new-asset-Icons');c=hP(new fP());iP(c,a);iP(c,d);c.xe('100%');h.ve(0,0,c);return h;}
+function Bcc(c,a,b){return lcc(new kcc(),c,b,a);}
+function Ccc(b,a){b.b=a;}
+function Dcc(a,b){u5b(a.b,a.c,b,false);}
+function Ecc(c){var a,b,d;a=70;d=100;b=h8b(new y7b(),ucc(new tcc(),c),true,null,'Create a new rule');lF(b,a,d);oF(b);}
+function ubc(){}
+_=ubc.prototype=new es();_.tN=chc+'AssetBrowser';_.tI=586;_.a=null;_.c=null;function wbc(b,a){b.a=a;return b;}
+function ybc(a){Dcc(this.a,a);}
+function vbc(){}
+_=vbc.prototype=new xU();_.td=ybc;_.tN=chc+'AssetBrowser$1';_.tI=587;function Abc(b,a,c){b.a=a;b.b=c;return b;}
+function Cbc(b){var a;a=Bcc(this.a,this.a.a,b);this.b.ve(0,1,this.a.a);ieb('Retrieving list, please wait...');ig(a);bec(this.a.a,a);}
+function zbc(){}
+_=zbc.prototype=new xU();_.ee=Cbc;_.tN=chc+'AssetBrowser$2';_.tI=588;function Ebc(b,a){b.a=a;return b;}
+function acc(b,a){Dcc(b.a,a);}
+function bcc(a){acc(this,a);}
+function Dbc(){}
+_=Dbc.prototype=new xU();_.td=bcc;_.tN=chc+'AssetBrowser$3';_.tI=589;function dcc(b,a){b.a=a;return b;}
+function fcc(a){Ecc(this.a);}
+function ccc(){}
+_=ccc.prototype=new xU();_.wc=fcc;_.tN=chc+'AssetBrowser$4';_.tI=590;function hcc(b,a,d,c){b.b=d;b.a=c;return b;}
+function jcc(a){this.b.ve(0,1,this.a);}
+function gcc(){}
+_=gcc.prototype=new xU();_.wc=jcc;_.tN=chc+'AssetBrowser$5';_.tI=591;function lcc(b,a,d,c){b.b=d;b.a=c;return b;}
+function ncc(){ieb('Loading list, please wait...');CUb(EMb(),this.b,pcc(new occ(),this,this.a));}
+function kcc(){}
+_=kcc.prototype=new xU();_.nb=ncc;_.tN=chc+'AssetBrowser$6';_.tI=592;function pcc(b,a,c){b.a=c;return b;}
+function rcc(c,a){var b;b=bc(a,62);aec(c.a,b);eeb();}
+function scc(a){rcc(this,a);}
+function occ(){}
+_=occ.prototype=new hdb();_.md=scc;_.tN=chc+'AssetBrowser$7';_.tI=593;function ucc(b,a){b.a=a;return b;}
+function wcc(a){Dcc(this.a,a);}
+function tcc(){}
+_=tcc.prototype=new xU();_.td=wcc;_.tN=chc+'AssetBrowser$8';_.tI=594;function Cdc(){Cdc=v3;cec=EMb();}
+function Adc(a){a.c=lu(new fu());a.e=odb(new ndb(),'images/refresh.gif');a.a=BC(new AC());}
+function Bdc(c,a,b){Cdc();Adc(c);Edc(c);Fdc(c,b);c.e.ue(false);c.b=a;c.e.pe('Refresh current list. Will show any changes.');fC(c.e,bdc(new adc(),c));return c;}
+function Ddc(a){return CZb(xfc(a.f));}
+function Edc(c){var a,b;a=ou(c.c);c.c.xe('100%');Bx(a,0,0,(oA(),qA),(xA(),AA));b=odb(new ndb(),'images/open_item.gif');fC(b,kdc(new jdc(),c));b.pe('Open item');c.c.ve(0,1,b);Bx(a,0,1,(oA(),rA),(xA(),AA));gs(c,c.c);}
+function Fdc(b,a){EUb(cec,a,fdc(new edc(),b));}
+function aec(g,a){var b,c,d,e,f;b=ou(g.c);g.c.ve(1,0,null);if(a===null||a.a.a==0){d=new ndc();g.f=egc(d,g.g.a,25,true);g.a.ue(false);}else{f=a.a;c=udc(new tdc(),g,f);g.f=egc(c,g.g.a,25,true);e=FA(new DA());aB(e,g.e);g.a.ue(true);bD(g.a,'  '+a.a.a+' items.');aB(e,g.a);g.c.ve(0,0,e);}g.f.xe('100%');g.c.ve(1,0,g.f);ju(b,1,0,2);}
+function bec(b,a){b.d=a;b.e.ue(true);}
+function Fcc(){}
+_=Fcc.prototype=new es();_.tN=chc+'AssetItemListViewer';_.tI=595;_.b=null;_.d=null;_.f=null;_.g=null;var cec;function bdc(b,a){b.a=a;return b;}
+function ddc(a){ieb('Refreshing list, please wait...');this.a.d.nb();}
+function adc(){}
+_=adc.prototype=new xU();_.wc=ddc;_.tN=chc+'AssetItemListViewer$1';_.tI=596;function fdc(b,a){b.a=a;return b;}
+function hdc(b,a){b.a.g=bc(a,99);aec(b.a,null);}
+function idc(a){hdc(this,a);}
+function edc(){}
+_=edc.prototype=new hdb();_.md=idc;_.tN=chc+'AssetItemListViewer$2';_.tI=597;function kdc(b,a){b.a=a;return b;}
+function mdc(a){ieb('Loading item, please wait ...');this.a.b.td(CZb(xfc(this.a.f)));}
+function jdc(){}
+_=jdc.prototype=new xU();_.wc=mdc;_.tN=chc+'AssetItemListViewer$3';_.tI=598;function pdc(){return 0;}
+function qdc(a){return '';}
+function rdc(b,a){return '';}
+function sdc(b,a){return null;}
+function ndc(){}
+_=ndc.prototype=new xU();_.wb=pdc;_.Cb=qdc;_.bc=rdc;_.cc=sdc;_.tN=chc+'AssetItemListViewer$4';_.tI=599;function udc(b,a,c){b.a=a;b.b=c;return b;}
+function wdc(){return this.b.a;}
+function xdc(a){return this.b[a].b;}
+function ydc(b,a){return this.b[b].c[a];}
+function zdc(b,a){if(qV(this.a.g.a[a],'*')){return eC(new oB(),'images/'+q5b(this.b[b].a));}else{return null;}}
+function tdc(){}
+_=tdc.prototype=new xU();_.wb=wdc;_.Cb=xdc;_.bc=ydc;_.cc=zdc;_.tN=chc+'AssetItemListViewer$5';_.tI=600;function Fec(d,a){var b,c;d.c=ucb(new rcb(),'images/system_search.png','');d.e=qab(new gab(),gec(new fec(),d));uO(d.e,'gwt-TextBox');d.b=a;c=FA(new DA());b=qq(new kq(),'Go');b.x(kec(new jec(),d));aB(c,d.e);aB(c,b);d.a=cr(new Fq(),'Include archived items in list');uO(d.a,'small-Text');gr(d.a,false);vcb(d.c,'Find items with a name matching:',c);ycb(d.c,d.a);ycb(d.c,eA(new hx(),'<hr/>'));d.d=lu(new fu());d.d.ve(0,0,eA(new hx(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));ycb(d.c,d.d);uO(d.d,'editable-Surface');oL(d.e,bfc(d));uO(d.c,'quick-find');gs(d,d.c);return d;}
+function bfc(a){return sec(new rec(),a);}
+function cfc(c,a,b){FUb(EMb(),a,5,fr(c.a),oec(new nec(),c,b));}
+function dfc(f,d){var a,b,c,e;a=lu(new fu());if(d.a.a==1){acc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(qV(e.b,'MORE')){a.ve(b,0,eA(new hx(),'<i>There are more items... try narrowing the search terms..<\/i>'));ju(ou(a),b,0,3);}else{a.ve(b,0,CC(new AC(),e.c[0]));a.ve(b,1,CC(new AC(),e.c[1]));c=qq(new kq(),'Open');c.x(Cec(new Bec(),f,e));a.ve(b,2,c);}}a.xe('100%');f.d.ve(0,0,a);eeb();}
+function efc(a){ieb('Searching...');FUb(EMb(),rL(a.e),15,fr(a.a),yec(new xec(),a));}
+function eec(){}
+_=eec.prototype=new es();_.tN=chc+'QuickFindWidget';_.tI=601;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function gec(b,a){b.a=a;return b;}
+function iec(c,b,a){cfc(c.a,b,a);}
+function fec(){}
+_=fec.prototype=new xU();_.tN=chc+'QuickFindWidget$1';_.tI=602;function kec(b,a){b.a=a;return b;}
+function mec(a){efc(this.a);}
+function jec(){}
+_=jec.prototype=new xU();_.wc=mec;_.tN=chc+'QuickFindWidget$2';_.tI=603;function oec(b,a,c){b.a=c;return b;}
+function qec(a){var b,c,d;d=bc(a,62);c=Ab('[Ljava.lang.String;',[610],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!qV(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}oab(this.a,c);}
+function nec(){}
+_=nec.prototype=new hdb();_.md=qec;_.tN=chc+'QuickFindWidget$3';_.tI=604;function sec(b,a){b.a=a;return b;}
+function uec(a,b,c){}
+function vec(a,b,c){}
+function wec(a,b,c){if(b==13){efc(this.a);}}
+function rec(){}
+_=rec.prototype=new xU();_.Fc=uec;_.ad=vec;_.bd=wec;_.tN=chc+'QuickFindWidget$4';_.tI=605;function yec(b,a){b.a=a;return b;}
+function Aec(a){var b;b=bc(a,62);dfc(this.a,b);}
+function xec(){}
+_=xec.prototype=new hdb();_.md=Aec;_.tN=chc+'QuickFindWidget$5';_.tI=606;function Cec(b,a,c){b.a=a;b.b=c;return b;}
+function Eec(a){acc(this.a.b,this.b.b);}
+function Bec(){}
+_=Bec.prototype=new xU();_.wc=Eec;_.tN=chc+'QuickFindWidget$6';_.tI=607;function hfc(a){a.a=FY(new DY());}
+function ifc(a){hfc(a);return a;}
+function jfc(b,a,c){if(a>=b.a.b){kfc(b,a);}mZ(b.a,a,c);}
+function kfc(c,a){var b;for(b=c.a.b;b<=a;b++){bZ(c.a,null);}}
+function mfc(b,a){return gZ(b.a,a);}
+function nfc(b,a){b.b=a;}
+function ofc(c){var a,b,d;if(null===c){return (-1);}d=bc(c,100);a=bc(mfc(this,this.b),34);b=bc(mfc(d,this.b),34);return a.ab(b);}
+function gfc(){}
+_=gfc.prototype=new xU();_.ab=ofc;_.tN=dhc+'RowData';_.tI=608;_.b=0;function qfc(a){a.j=FY(new DY());a.i=FY(new DY());}
+function rfc(c,b,a){Aw(c,b+1,a);qfc(c);Dy(c,c);uO(c,hgc);return c;}
+function sfc(c,b,a){if(b!=0){return;}Efc(c,a);agc(c,a);wfc(c);}
+function ufc(e){var a,b,c,d,f;if(e.h==cgc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=bc(gZ(e.j,c),100);for(a=0;a<b.a.b;a++){f=mfc(b,a);Afc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=bc(gZ(e.j,c),100);for(a=0;a<b.a.b;a++){f=mfc(b,a);Afc(e,d,a,f.tS());}}}}
+function vfc(d){var a,b,c;c=0;for(b=d.i.mc();b.gc();){a=bc(b.pc(),1);yfc(d,a,c++);}}
+function wfc(a){vfc(a);ufc(a);}
+function xfc(a){return iz(a,a.f,a.e);}
+function yfc(d,c,b){var a;a=cV(new bV());eV(a,c);eV(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==cgc){eV(a,"'"+d.a+"' alt='Ascending' ");}else{eV(a,"'"+d.c+"' alt='Descending' ");}}else{eV(a,"'"+d.b+"'");}eV(a,'/>');wz(d,0,b,iV(a));ly(d.p,0,igc);}
+function zfc(c,b,a){if(b%2==0){Ex(c.n,b,a,ggc);}}
+function Afc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ve(b,a,eC(new oB(),'images/'+q5b(d)));else yz(c,b,a,d);}}
+function Bfc(c,b,a){aZ(c.i,a,b);yfc(c,b,a);}
+function Cfc(b,a){b.d=a;}
+function Dfc(b,a){b.e=a;ay(b.n,0,a,false);}
+function Efc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=bc(gZ(d.j,b),100);nfc(a,c);}}
+function Ffc(d,b,a,e,f){var c;if(b==0)return;zfc(d,b,a);if(b-1>=d.j.b||null===gZ(d.j,b-1)){aZ(d.j,b-1,ifc(new gfc()));}c=bc(gZ(d.j,b-1),100);jfc(c,a,e);if(f===null){yz(d,b,a,''+e+'');}else{d.ve(b,a,f);}if(a==d.e){ay(d.n,b,a,false);}}
+function agc(b,a){c0(b.j);if(b.g!=a){b.h=cgc;}else{b.h=b.h==cgc?dgc:cgc;}b.g=a;}
+function bgc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){Ex(a,c,b,jgc);if(d.f%2==0&&d.f!=0){Ex(a,d.f,b,ggc);}else{Ax(a,d.f,b,jgc);}}d.f=c;}}
+function egc(a,d,b,c){var e,f,g;g=null;if(b>a.wb()){g=rfc(new pfc(),b,d.a+1);Ffc(g,1,1,'',null);}else{g=rfc(new pfc(),a.wb()+1,d.a+1);}Bfc(g,'',0);for(e=0;e<d.a;e++){Bfc(g,d[e],e+1);}Dfc(g,0);for(e=0;e<a.wb();e++){Ffc(g,e+1,0,a.Cb(e),null);for(f=0;f<d.a;f++){Ffc(g,e+1,f+1,a.bc(e,f),a.cc(e,f));}}Cfc(g,c);return g;}
+function fgc(c,b,a){if(b<=this.j.b){bgc(this,b);sfc(this,b,a);}}
+function pfc(){}
+_=pfc.prototype=new yw();_.uc=fgc;_.tN=dhc+'SortableTable';_.tI=609;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var cgc=0,dgc=1,ggc='rule-ListEvenRow',hgc='rule-List',igc='rule-ListHeader',jgc='rule-SelectedRow';function rS(){b5(D4(new s4()));}
+function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{rS();}catch(a){b(d);}else{rS();}}
+var ic=[{},{11:1},{1:1,11:1,34:1,35:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{2:1,11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1},{8:1,11:1},{8:1,11:1},{8:1,11:1},{11:1},{2:1,6:1,11:1},{2:1,11:1},{9:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1},{3:1,11:1},{3:1,11:1,39:1},{3:1,11:1,92:1},{3:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,36:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,49:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1,33:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,43:1},{11:1,49:1,56:1}!
 ,{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,81:1},{11:1,13:1,36:1,37:1,81:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,46:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,49:1,56:1},{11:1,39:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,49:1},{11:1},{11:1,13:1,36:1,37:1,87:1},{11:1,13:1,36:1,37:1,48:1,54:1},{9:1,11:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,39:1},{11:1,39:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,50:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,80:1},{11:1,13:1,36:1,37:1,54:1},{11:1,36:1,52:1},{11:1,36:1,52:1},{11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11!
 :1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11
:1},{11:1},{3:1,11:1},{11:1,55:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{11:1,35:1},{3:1,11:1},{11:1},{11:1,57:1},{11:1,49:1,58:1},{11:1,49:1,58:1},{11:1},{11:1,49:1},{11:1},{11:1},{11:1,34:1,59:1},{11:1,57:1},{11:1,60:1},{11:1,49:1,58:1},{11:1},{11:1,49:1,58:1},{3:1,11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{7:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{8:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1}!
 ,{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,53:1},{11:1,42:1},{11:1},{11:1},{11:1,36:1,52:1,64:1},{11:1,13:1,36:1,37:1,46:1,80:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,13:1,36:1,37:1,81:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,65:1},{11:1,13:1,36:1,37:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,38:1,39:1,91:1},{11:1,20:1,22:1,38:1,39:1},{11:1,23:1,38:1,39:1},{11:1,20:1,22!
 :1,24:1,38:1,39:1},{11:1,20:1,22:1,24:1,25:1,38:1,39:1},{11:1,20:1,26:
1,38:1,39:1},{11:1,20:1,22:1,27:1,38:1,39:1},{11:1,20:1,22:1,27:1,28:1,38:1,39:1},{11:1,19:1,29:1,38:1,39:1},{11:1,21:1,30:1,38:1,39:1},{11:1,38:1,39:1,40:1},{11:1,15:1,38:1,39:1,40:1},{10:1,11:1,19:1,20:1,38:1,39:1},{11:1,19:1,31:1,38:1,39:1},{11:1,18:1,38:1,39:1},{11:1,38:1,39:1,83:1},{11:1,21:1,32:1,38:1,39:1,40:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,84:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,41:1},{4:1,11:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,46:1},{11:1,41:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,82:1,98:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{!
 11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,46:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{4!
 :1,11:1},{11:1,42:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{1
1:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1},{4:1,11:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1,53:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,90:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,42:1},{11:1,53:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1},{11:1,12:1,39:1},{3:1,11:1,39:1,70:1},{11:1,39:1,93:1},{11:1,16:1,39:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,39:1,97:1},{11:1,39:1,95:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1,69:1},{11:1,17:1,39:1},{11:1,39:1,99:1},{11:1,39:!
 1,62:1},{11:1,14:1,39:1},{11:1,39:1,89:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,44:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1},{11:1,41:1},{11:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1!
 },{4:1,11:1},{4:1,11:1},{4:1,11:1},{4:1,11:1},{11:1},{11:1},{4:1,11:1}
,{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{11:1,46:1},{11:1},{11:1,42:1},{11:1,34:1,100:1},{11:1,13:1,36:1,37:1,51:1,54:1},{11:1,63:1},{11:1},{11:1,72:1,77:1,78:1},{11:1},{11:1,88:1},{11:1},{11:1},{11:1,94:1},{11:1,79:1},{11:1,71:1},{11:1,86:1},{11:1,76:1},{11:1,77:1},{11:1,78:1},{11:1,75:1},{11:1,78:1},{11:1,73:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,77:1},{11:1,75:1},{11:1,74:1,77:1},{11:1,75:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1}];if ($wnd.org_drools_brms_JBRMS) $wnd.org_drools_brms_JBRMS.onScriptLoad();
+--></script></body></html>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.js (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.js)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.js	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3439 @@
+(function(){var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var _,kgc='com.google.gwt.core.client.',lgc='com.google.gwt.lang.',mgc='com.google.gwt.user.client.',ngc='com.google.gwt.user.client.impl.',ogc='com.google.gwt.user.client.rpc.',pgc='com.google.gwt.user.client.rpc.core.java.lang.',qgc='com.google.gwt.user.client.rpc.core.java.util.',rgc='com.google.gwt.user.client.rpc.impl.',sgc='com.google.gwt.user.client.ui.',tgc='com.google.gwt.user.client.ui.impl.',ugc='java.io.',vgc='java.lang.',wgc='java.util.',xgc='org.drools.brms.client.',ygc='org.drools.brms.client.admin.',zgc='org.drools.brms.client.categorynav.',Agc='org.drools.brms.client.common.',Bgc='org.drools.brms.client.decisiontable.',Cgc='org.drools.brms.client.modeldriven.',Dgc='org.drools.brms.client.modeldriven.brl.',Egc='org.drools.brms.client.modeldriven.ui.',Fgc='org.drools.brms.client.packages.',ahc='org.drools.brms.client.rpc.',bhc='org.drools.brms.client.ruleeditor.',chc='org.droo!
 ls.brms.client.rulelist.',dhc='org.drools.brms.client.table.';function v3(){}
+function zU(a){return this===a;}
+function AU(){return mW(this);}
+function BU(){return this.tN+'@'+this.hC();}
+function xU(){}
+_=xU.prototype={};_.eQ=zU;_.hC=AU;_.tS=BU;_.toString=function(){return this.tS();};_.tN=vgc+'Object';_.tI=1;function v(){return D();}
+function w(){return E();}
+function x(a){return a==null?null:a.tN;}
+var y=null;function B(a){return a==null?0:a.$H?a.$H:(a.$H=F());}
+function C(a){return a==null?0:a.$H?a.$H:(a.$H=F());}
+function D(){var b=$doc.location.href;var a=b.indexOf('#');if(a!= -1)b=b.substring(0,a);a=b.indexOf('?');if(a!= -1)b=b.substring(0,a);a=b.lastIndexOf('/');if(a!= -1)b=b.substring(0,a);return b.length>0?b+'/':'';}
+function E(){return $moduleBase;}
+function F(){return ++ab;}
+var ab=0;function pW(b,a){b.c=a;return b;}
+function qW(c,b,a){c.c=b;return c;}
+function sW(){return this.c;}
+function tW(){var a,b;a=x(this);b=this.vb();if(b!==null){return a+': '+b;}else{return a;}}
+function oW(){}
+_=oW.prototype=new xU();_.vb=sW;_.tS=tW;_.tN=vgc+'Throwable';_.tI=3;_.c=null;function oT(b,a){pW(b,a);return b;}
+function pT(c,b,a){qW(c,b,a);return c;}
+function nT(){}
+_=nT.prototype=new oW();_.tN=vgc+'Exception';_.tI=4;function DU(b,a){oT(b,a);return b;}
+function EU(c,b,a){pT(c,b,a);return c;}
+function CU(){}
+_=CU.prototype=new nT();_.tN=vgc+'RuntimeException';_.tI=5;function cb(c,b,a){DU(c,'JavaScript '+b+' exception: '+a);return c;}
+function bb(){}
+_=bb.prototype=new CU();_.tN=kgc+'JavaScriptException';_.tI=6;function gb(b,a){if(!cc(a,2)){return false;}return lb(b,bc(a,2));}
+function hb(a){return B(a);}
+function ib(){return [];}
+function jb(){return function(){};}
+function kb(){return {};}
+function mb(a){return gb(this,a);}
+function lb(a,b){return a===b;}
+function nb(){return hb(this);}
+function pb(){return ob(this);}
+function ob(a){if(a.toString)return a.toString();return '[object]';}
+function eb(){}
+_=eb.prototype=new xU();_.eQ=mb;_.hC=nb;_.tS=pb;_.tN=kgc+'JavaScriptObject';_.tI=7;function rb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
+function tb(a,b,c){return a[b]=c;}
+function vb(a,b){return ub(a,b);}
+function ub(a,b){return rb(new qb(),b,a.tI,a.b,a.tN);}
+function wb(b,a){return b[a];}
+function yb(b,a){return b[a];}
+function xb(a){return a.length;}
+function Ab(e,d,c,b,a){return zb(e,d,c,b,0,xb(b),a);}
+function zb(j,i,g,c,e,a,b){var d,f,h;if((f=wb(c,e))<0){throw new iU();}h=rb(new qb(),f,wb(i,e),wb(g,e),j);++e;if(e<a){j=zV(j,1);for(d=0;d<f;++d){tb(h,d,zb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){tb(h,d,b);}}return h;}
+function Bb(f,e,c,g){var a,b,d;b=xb(g);d=rb(new qb(),b,e,c,f);for(a=0;a<b;++a){tb(d,a,yb(g,a));}return d;}
+function Cb(a,b,c){if(c!==null&&a.b!=0&& !cc(c,a.b)){throw new yS();}return tb(a,b,c);}
+function qb(){}
+_=qb.prototype=new xU();_.tN=lgc+'Array';_.tI=8;function Fb(b,a){return !(!(b&&ic[b][a]));}
+function ac(a){return String.fromCharCode(a);}
+function bc(b,a){if(b!=null)Fb(b.tI,a)||hc();return b;}
+function cc(b,a){return b!=null&&Fb(b.tI,a);}
+function dc(a){return a&65535;}
+function ec(a){return ~(~a);}
+function fc(a){if(a>(BT(),CT))return BT(),CT;if(a<(BT(),DT))return BT(),DT;return a>=0?Math.floor(a):Math.ceil(a);}
+function hc(){throw new iT();}
+function gc(a){if(a!==null){throw new iT();}return a;}
+function jc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
+var ic;function mc(a){if(cc(a,3)){return a;}return cb(new bb(),oc(a),nc(a));}
+function nc(a){return a.message;}
+function oc(a){return a.name;}
+function qc(b,a){return b;}
+function pc(){}
+_=pc.prototype=new CU();_.tN=mgc+'CommandCanceledException';_.tI=11;function hd(a){a.a=uc(new tc(),a);a.b=FY(new DY());a.d=yc(new xc(),a);a.f=Cc(new Bc(),a);}
+function id(a){hd(a);return a;}
+function kd(c){var a,b,d;a=Ec(c.f);bd(c.f);b=null;if(cc(a,4)){b=qc(new pc(),bc(a,4));}else{}if(b!==null){d=y;}nd(c,false);md(c);}
+function ld(e,d){var a,b,c,f;f=false;try{nd(e,true);cd(e.f,e.b.b);qh(e.a,10000);while(Fc(e.f)){b=ad(e.f);c=true;try{if(b===null){return;}if(cc(b,4)){a=bc(b,4);a.nb();}else{}}finally{f=dd(e.f);if(f){return;}if(c){bd(e.f);}}if(qd(lW(),d)){return;}}}finally{if(!f){mh(e.a);nd(e,false);md(e);}}}
+function md(a){if(!jZ(a.b)&& !a.e&& !a.c){od(a,true);qh(a.d,1);}}
+function nd(b,a){b.c=a;}
+function od(b,a){b.e=a;}
+function pd(b,a){bZ(b.b,a);md(b);}
+function qd(a,b){return gU(a-b)>=100;}
+function sc(){}
+_=sc.prototype=new xU();_.tN=mgc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function nh(){nh=v3;xh=FY(new DY());{wh();}}
+function lh(a){nh();return a;}
+function mh(a){if(a.b){rh(a.c);}else{sh(a.c);}lZ(xh,a);}
+function oh(a){if(!a.b){lZ(xh,a);}a.ce();}
+function qh(b,a){if(a<=0){throw sT(new rT(),'must be positive');}mh(b);b.b=false;b.c=uh(b,a);bZ(xh,b);}
+function ph(b,a){if(a<=0){throw sT(new rT(),'must be positive');}mh(b);b.b=true;b.c=th(b,a);bZ(xh,b);}
+function rh(a){nh();$wnd.clearInterval(a);}
+function sh(a){nh();$wnd.clearTimeout(a);}
+function th(b,a){nh();return $wnd.setInterval(function(){b.ob();},a);}
+function uh(b,a){nh();return $wnd.setTimeout(function(){b.ob();},a);}
+function vh(){var a;a=y;{oh(this);}}
+function wh(){nh();Bh(new hh());}
+function gh(){}
+_=gh.prototype=new xU();_.ob=vh;_.tN=mgc+'Timer';_.tI=13;_.b=false;_.c=0;var xh;function vc(){vc=v3;nh();}
+function uc(b,a){vc();b.a=a;lh(b);return b;}
+function wc(){if(!this.a.c){return;}kd(this.a);}
+function tc(){}
+_=tc.prototype=new gh();_.ce=wc;_.tN=mgc+'CommandExecutor$1';_.tI=14;function zc(){zc=v3;nh();}
+function yc(b,a){zc();b.a=a;lh(b);return b;}
+function Ac(){od(this.a,false);ld(this.a,lW());}
+function xc(){}
+_=xc.prototype=new gh();_.ce=Ac;_.tN=mgc+'CommandExecutor$2';_.tI=15;function Cc(b,a){b.d=a;return b;}
+function Ec(a){return gZ(a.d.b,a.b);}
+function Fc(a){return a.c<a.a;}
+function ad(b){var a;b.b=b.c;a=gZ(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
+function bd(a){kZ(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
+function cd(b,a){b.a=a;}
+function dd(a){return a.b==(-1);}
+function ed(){return Fc(this);}
+function fd(){return ad(this);}
+function gd(){bd(this);}
+function Bc(){}
+_=Bc.prototype=new xU();_.gc=ed;_.pc=fd;_.Fd=gd;_.tN=mgc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function td(){td=v3;uf=FY(new DY());{kf=new ni();cj(kf);}}
+function ud(a){td();bZ(uf,a);}
+function vd(b,a){td();oj(kf,b,a);}
+function wd(a,b){td();return pi(kf,a,b);}
+function xd(){td();return qj(kf,'A');}
+function yd(){td();return qj(kf,'button');}
+function zd(){td();return qj(kf,'div');}
+function Ad(a){td();return qj(kf,a);}
+function Bd(){td();return qj(kf,'form');}
+function Cd(){td();return qj(kf,'iframe');}
+function Dd(){td();return qj(kf,'img');}
+function Ed(){td();return rj(kf,'checkbox');}
+function Fd(){td();return rj(kf,'password');}
+function ae(a){td();return qi(kf,a);}
+function be(){td();return rj(kf,'text');}
+function ce(){td();return qj(kf,'label');}
+function de(a){td();return ri(kf,a);}
+function ee(){td();return qj(kf,'span');}
+function fe(){td();return qj(kf,'tbody');}
+function ge(){td();return qj(kf,'td');}
+function he(){td();return qj(kf,'tr');}
+function ie(){td();return qj(kf,'table');}
+function je(){td();return qj(kf,'textarea');}
+function me(b,a,d){td();var c;c=y;{le(b,a,d);}}
+function le(b,a,c){td();var d;if(a===tf){if(ze(b)==8192){tf=null;}}d=ke;ke=b;try{c.tc(b);}finally{ke=d;}}
+function ne(b,a){td();sj(kf,b,a);}
+function oe(a){td();return tj(kf,a);}
+function pe(a){td();return si(kf,a);}
+function qe(a){td();return ti(kf,a);}
+function re(a){td();return uj(kf,a);}
+function se(a){td();return ui(kf,a);}
+function te(a){td();return vi(kf,a);}
+function ue(a){td();return vj(kf,a);}
+function ve(a){td();return wj(kf,a);}
+function we(a){td();return xj(kf,a);}
+function xe(a){td();return wi(kf,a);}
+function ye(a){td();return xi(kf,a);}
+function ze(a){td();return yj(kf,a);}
+function Ae(a){td();yi(kf,a);}
+function Be(a){td();return zi(kf,a);}
+function Ce(a){td();return Ai(kf,a);}
+function De(a){td();return Bi(kf,a);}
+function af(b,a){td();return Ei(kf,b,a);}
+function Ee(a){td();return Ci(kf,a);}
+function Fe(b,a){td();return Di(kf,b,a);}
+function df(a,b){td();return Bj(kf,a,b);}
+function bf(a,b){td();return zj(kf,a,b);}
+function cf(a,b){td();return Aj(kf,a,b);}
+function ef(a){td();return Cj(kf,a);}
+function ff(a){td();return Fi(kf,a);}
+function gf(a){td();return Dj(kf,a);}
+function hf(a){td();return aj(kf,a);}
+function jf(a){td();return bj(kf,a);}
+function lf(c,a,b){td();dj(kf,c,a,b);}
+function mf(c,b,d,a){td();ej(kf,c,b,d,a);}
+function nf(b,a){td();return fj(kf,b,a);}
+function of(a){td();var b,c;c=true;if(uf.b>0){b=bc(gZ(uf,uf.b-1),5);if(!(c=b.zc(a))){ne(a,true);Ae(a);}}return c;}
+function pf(a){td();if(tf!==null&&wd(a,tf)){tf=null;}gj(kf,a);}
+function qf(b,a){td();Ej(kf,b,a);}
+function rf(b,a){td();Fj(kf,b,a);}
+function sf(a){td();lZ(uf,a);}
+function vf(a){td();ak(kf,a);}
+function wf(a){td();tf=a;hj(kf,a);}
+function xf(b,a,c){td();bk(kf,b,a,c);}
+function Af(a,b,c){td();ek(kf,a,b,c);}
+function yf(a,b,c){td();ck(kf,a,b,c);}
+function zf(a,b,c){td();dk(kf,a,b,c);}
+function Bf(a,b){td();fk(kf,a,b);}
+function Cf(a,b){td();ij(kf,a,b);}
+function Df(a,b){td();gk(kf,a,b);}
+function Ef(a,b){td();jj(kf,a,b);}
+function Ff(b,a,c){td();hk(kf,b,a,c);}
+function ag(b,a,c){td();ik(kf,b,a,c);}
+function bg(a,b){td();kj(kf,a,b);}
+function cg(a){td();return jk(kf,a);}
+function dg(){td();return kk(kf);}
+function eg(){td();return lk(kf);}
+var ke=null,kf=null,tf=null,uf;function gg(){gg=v3;jg=id(new sc());}
+function ig(a){gg();pd(jg,a);}
+function hg(a){gg();if(a===null){throw lU(new kU(),'cmd can not be null');}pd(jg,a);}
+var jg;function mg(b,a){if(cc(a,6)){return wd(b,bc(a,6));}return gb(jc(b,kg),a);}
+function ng(a){return mg(this,a);}
+function og(){return hb(jc(this,kg));}
+function pg(){return cg(this);}
+function kg(){}
+_=kg.prototype=new eb();_.eQ=ng;_.hC=og;_.tS=pg;_.tN=mgc+'Element';_.tI=17;function ug(a){return gb(jc(this,qg),a);}
+function vg(){return hb(jc(this,qg));}
+function wg(){return Be(this);}
+function qg(){}
+_=qg.prototype=new eb();_.eQ=ug;_.hC=vg;_.tS=wg;_.tN=mgc+'Event';_.tI=18;function yg(){yg=v3;Ag=ok(new nk());}
+function zg(c,b,a){yg();return tk(Ag,c,b,a);}
+var Ag;function Dg(){Dg=v3;bh=FY(new DY());{ch=new Fk();if(!dl(ch)){ch=null;}}}
+function Eg(a){Dg();bZ(bh,a);}
+function Fg(a){Dg();var b,c;for(b=bh.mc();b.gc();){c=bc(b.pc(),7);c.Ec(a);}}
+function ah(){Dg();return ch!==null?kl(ch):'';}
+function dh(a){Dg();if(ch!==null){Ck(ch,a);}}
+function eh(b){Dg();var a;a=y;{Fg(b);}}
+var bh,ch=null;function jh(){while((nh(),xh).b>0){mh(bc(gZ((nh(),xh),0),8));}}
+function kh(){return null;}
+function hh(){}
+_=hh.prototype=new xU();_.rd=jh;_.sd=kh;_.tN=mgc+'Timer$1';_.tI=19;function Ah(){Ah=v3;Dh=FY(new DY());li=FY(new DY());{gi();}}
+function Bh(a){Ah();bZ(Dh,a);}
+function Ch(a){Ah();$wnd.alert(a);}
+function Eh(a){Ah();return $wnd.confirm(a);}
+function Fh(){Ah();var a,b;for(a=Dh.mc();a.gc();){b=bc(a.pc(),9);b.rd();}}
+function ai(){Ah();var a,b,c,d;d=null;for(a=Dh.mc();a.gc();){b=bc(a.pc(),9);c=b.sd();{d=c;}}return d;}
+function bi(){Ah();var a,b;for(a=li.mc();a.gc();){b=gc(a.pc());null.ef();}}
+function ci(){Ah();return dg();}
+function di(){Ah();return eg();}
+function ei(){Ah();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
+function fi(){Ah();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
+function gi(){Ah();__gwt_initHandlers(function(){ji();},function(){return ii();},function(){hi();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
+function hi(){Ah();var a;a=y;{Fh();}}
+function ii(){Ah();var a;a=y;{return ai();}}
+function ji(){Ah();var a;a=y;{bi();}}
+function ki(c,b,a){Ah();$wnd.open(c,b,a);}
+var Dh,li;function oj(c,b,a){b.appendChild(a);}
+function qj(b,a){return $doc.createElement(a);}
+function rj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
+function sj(c,b,a){b.cancelBubble=a;}
+function tj(b,a){return !(!a.altKey);}
+function uj(b,a){return !(!a.ctrlKey);}
+function vj(b,a){return a.which||(a.keyCode|| -1);}
+function wj(b,a){return !(!a.metaKey);}
+function xj(b,a){return !(!a.shiftKey);}
+function yj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
+function Bj(d,a,b){var c=a[b];return c==null?null:String(c);}
+function zj(c,a,b){return !(!a[b]);}
+function Aj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
+function Cj(b,a){return a.__eventBits||0;}
+function Dj(c,a){var b=a.innerHTML;return b==null?null:b;}
+function Ej(c,b,a){b.removeChild(a);}
+function Fj(c,b,a){b.removeAttribute(a);}
+function ak(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
+function bk(c,b,a,d){b.setAttribute(a,d);}
+function ek(c,a,b,d){a[b]=d;}
+function ck(c,a,b,d){a[b]=d;}
+function dk(c,a,b,d){a[b]=d;}
+function fk(c,a,b){a.__listener=b;}
+function gk(c,a,b){if(!b){b='';}a.innerHTML=b;}
+function hk(c,b,a,d){b.style[a]=d;}
+function ik(c,b,a,d){b.style[a]=d;}
+function jk(b,a){return a.outerHTML;}
+function kk(a){return $doc.body.clientHeight;}
+function lk(a){return $doc.body.clientWidth;}
+function mi(){}
+_=mi.prototype=new xU();_.tN=ngc+'DOMImpl';_.tI=20;function pi(c,a,b){if(!a&& !b)return true;else if(!a|| !b)return false;return a.uniqueID==b.uniqueID;}
+function qi(b,a){return $doc.createElement("<INPUT type='RADIO' name='"+a+"'>");}
+function ri(c,b){var a=b?'<SELECT MULTIPLE>':'<SELECT>';return $doc.createElement(a);}
+function si(b,a){return a.clientX-mj();}
+function ti(b,a){return a.clientY-nj();}
+function ui(b,a){return lj;}
+function vi(b,a){return a.fromElement?a.fromElement:null;}
+function wi(b,a){return a.srcElement||null;}
+function xi(b,a){return a.toElement||null;}
+function yi(b,a){a.returnValue=false;}
+function zi(b,a){if(a.toString)return a.toString();return '[object Event]';}
+function Ai(c,a){var b=$doc.documentElement.scrollLeft||$doc.body.scrollLeft;return a.getBoundingClientRect().left+b-mj();}
+function Bi(c,a){var b=$doc.documentElement.scrollTop||$doc.body.scrollTop;return a.getBoundingClientRect().top+b-nj();}
+function Ei(d,b,c){var a=b.children[c];return a||null;}
+function Ci(b,a){return a.children.length;}
+function Di(e,d,a){var b=d.children.length;for(var c=0;c<b;++c){if(a.uniqueID==d.children[c].uniqueID)return c;}return -1;}
+function Fi(c,b){var a=b.firstChild;return a||null;}
+function aj(c,a){var b=a.innerText;return b==null?null:b;}
+function bj(c,a){var b=a.parentElement;return b||null;}
+function cj(d){try{$doc.execCommand('BackgroundImageCache',false,true);}catch(a){}$wnd.__dispatchEvent=function(){var c=lj;lj=this;if($wnd.event.returnValue==null){$wnd.event.returnValue=true;if(!of($wnd.event)){lj=c;return;}}var b,a=this;while(a&& !(b=a.__listener))a=a.parentElement;if(b)me($wnd.event,a,b);lj=c;};$wnd.__dispatchDblClickEvent=function(){var a=$doc.createEventObject();this.fireEvent('onclick',a);if(this.__eventBits&2)$wnd.__dispatchEvent.call(this);};$doc.body.onclick=$doc.body.onmousedown=$doc.body.onmouseup=$doc.body.onmousemove=$doc.body.onmousewheel=$doc.body.onkeydown=$doc.body.onkeypress=$doc.body.onkeyup=$doc.body.onfocus=$doc.body.onblur=$doc.body.ondblclick=$wnd.__dispatchEvent;}
+function dj(d,c,a,b){if(b>=c.children.length)c.appendChild(a);else c.insertBefore(a,c.children[b]);}
+function ej(e,c,d,f,a){var b=new Option(d,f);if(a== -1||a>c.options.length-1){c.add(b);}else{c.add(b,a);}}
+function fj(c,b,a){while(a){if(b.uniqueID==a.uniqueID)return true;a=a.parentElement;}return false;}
+function gj(b,a){a.releaseCapture();}
+function hj(b,a){a.setCapture();}
+function ij(c,a,b){wl(a,b);}
+function jj(c,a,b){if(!b)b='';a.innerText=b;}
+function kj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&(1|2)?$wnd.__dispatchDblClickEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
+function mj(){return $doc.documentElement.clientLeft||$doc.body.clientLeft;}
+function nj(){return $doc.documentElement.clientTop||$doc.body.clientTop;}
+function ni(){}
+_=ni.prototype=new mi();_.tN=ngc+'DOMImplIE6';_.tI=21;var lj=null;function rk(a){xk=jb();return a;}
+function tk(c,d,b,a){return uk(c,null,null,d,b,a);}
+function uk(d,f,c,e,b,a){return sk(d,f,c,e,b,a);}
+function sk(e,g,d,f,c,b){var h=e.jb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=xk;b.xc(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=xk;return false;}}
+function wk(){return new XMLHttpRequest();}
+function mk(){}
+_=mk.prototype=new xU();_.jb=wk;_.tN=ngc+'HTTPRequestImpl';_.tI=22;var xk=null;function ok(a){rk(a);return a;}
+function qk(){return new ActiveXObject('Msxml2.XMLHTTP');}
+function nk(){}
+_=nk.prototype=new mk();_.jb=qk;_.tN=ngc+'HTTPRequestImplIE6';_.tI=23;function kl(a){return $wnd.__gwt_historyToken;}
+function ll(a,b){$wnd.__gwt_historyToken=b;}
+function ml(a){eh(a);}
+function yk(){}
+_=yk.prototype=new xU();_.tN=ngc+'HistoryImpl';_.tI=24;function Bk(a){var b;a.a=Dk();if(a.a===null){return false;}cl(a);b=Ek(a.a);if(b!==null){ll(a,bl(a,b));}else{fl(a,a.a,kl(a),true);}el(a);return true;}
+function Ck(b,a){b.oc(b.a,a,false);}
+function Dk(){var a=$doc.getElementById('__gwt_historyFrame');return a||null;}
+function Ek(b){var c=null;if(b.contentWindow){var a=b.contentWindow.document;c=a.getElementById('__gwt_historyToken')||null;}return c;}
+function zk(){}
+_=zk.prototype=new yk();_.tN=ngc+'HistoryImplFrame';_.tI=25;_.a=null;function bl(a,b){return b.innerText;}
+function dl(a){if(!Bk(a)){return false;}hl();return true;}
+function cl(c){var b=$wnd.location.hash;if(b.length>0){try{$wnd.__gwt_historyToken=decodeURIComponent(b.substring(1));}catch(a){$wnd.location.hash='';$wnd.__gwt_historyToken='';}return;}$wnd.__gwt_historyToken='';}
+function el(b){$wnd.__gwt_onHistoryLoad=function(a){if(a!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=a;$wnd.location.hash=encodeURIComponent(a);ml(a);}};}
+function fl(e,c,d,b){d=gl(d||'');if(b||$wnd.__gwt_historyToken!=d){var a=c.contentWindow.document;a.open();a.write('<html><body onload="if(parent.__gwt_onHistoryLoad)parent.__gwt_onHistoryLoad(__gwt_historyToken.innerText)"><div id="__gwt_historyToken">'+d+'<\/div><\/body><\/html>');a.close();}}
+function gl(b){var a;a=zd();Ef(a,b);return gf(a);}
+function hl(){var d=function(){var b=$wnd.location.hash;if(b.length>0){var c='';try{c=decodeURIComponent(b.substring(1));}catch(a){$wnd.location.reload();}if($wnd.__gwt_historyToken&&c!=$wnd.__gwt_historyToken){$wnd.location.reload();}}$wnd.setTimeout(d,250);};d();}
+function il(b,c,a){fl(this,b,c,a);}
+function Fk(){}
+_=Fk.prototype=new zk();_.oc=il;_.tN=ngc+'HistoryImplIE6';_.tI=26;function pl(b,a){b.__kids.push(a);a.__pendingSrc=b.__pendingSrc;}
+function ql(k,i,j){i.src=j;if(i.complete){return;}i.__kids=[];i.__pendingSrc=j;k[j]=i;var g=i.onload,f=i.onerror,e=i.onabort;function h(c){var d=i.__kids;i.__cleanup();window.setTimeout(function(){for(var a=0;a<d.length;++a){var b=d[a];if(b.__pendingSrc==j){b.src=j;b.__pendingSrc=null;}}},0);c&&c.call(i);}
+i.onload=function(){h(g);};i.onerror=function(){h(f);};i.onabort=function(){h(e);};i.__cleanup=function(){i.onload=g;i.onerror=f;i.onabort=e;i.__cleanup=i.__pendingSrc=i.__kids=null;delete k[j];};}
+function rl(a){return a.__pendingSrc||a.src;}
+function sl(a){return a.__pendingSrc||null;}
+function tl(b,a){return b[a]||null;}
+function ul(e,b){var f=b.uniqueID;var d=e.__kids;for(var c=0,a=d.length;c<a;++c){if(d[c].uniqueID==f){d.splice(c,1);b.__pendingSrc=null;return;}}}
+function vl(f,c){var e=c.__pendingSrc;var d=c.__kids;c.__cleanup();if(c=d[0]){c.__pendingSrc=null;ql(f,c,e);if(c.__pendingSrc){d.splice(0,1);c.__kids=d;}else{for(var b=1,a=d.length;b<a;++b){d[b].src=e;d[b].__pendingSrc=null;}}}}
+function wl(a,c){var b,d;if(qV(rl(a),c)){return;}if(xl===null){xl=kb();}b=sl(a);if(b!==null){d=tl(xl,b);if(mg(d,jc(a,kg))){vl(xl,d);}else{ul(d,a);}}d=tl(xl,c);if(d===null){ql(xl,a,c);}else{pl(d,a);}}
+var xl=null;function Al(a){DU(a,'This application is out of date, please click the refresh button on your browser');return a;}
+function zl(){}
+_=zl.prototype=new CU();_.tN=ogc+'IncompatibleRemoteServiceException';_.tI=27;function El(b,a){}
+function Fl(b,a){}
+function bm(b,a){EU(b,a,null);return b;}
+function am(){}
+_=am.prototype=new CU();_.tN=ogc+'InvocationException';_.tI=28;function nm(){return this.b;}
+function fm(){}
+_=fm.prototype=new nT();_.vb=nm;_.tN=ogc+'SerializableException';_.tI=29;_.b=null;function jm(b,a){mm(a,b.Bd());}
+function km(a){return a.b;}
+function lm(b,a){b.cf(km(a));}
+function mm(a,b){a.b=b;}
+function pm(b,a){oT(b,a);return b;}
+function om(){}
+_=om.prototype=new nT();_.tN=ogc+'SerializationException';_.tI=30;function um(a){bm(a,'Service implementation URL not specified');return a;}
+function tm(){}
+_=tm.prototype=new am();_.tN=ogc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function zm(b,a){}
+function Am(a){return cT(a.wd());}
+function Bm(b,a){b.De(a.a);}
+function Em(c,a){var b;for(b=0;b<a.a;++b){Cb(a,b,c.Ad());}}
+function Fm(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.bf(a[c]);}}
+function cn(b,a){}
+function dn(a){return a.Bd();}
+function en(b,a){b.cf(a);}
+function hn(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.xd();}}
+function jn(d,a){var b,c;b=a.a;d.Fe(b);for(c=0;c<b;++c){d.Ee(a[c]);}}
+function mn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();bZ(b,c);}}
+function nn(e,a){var b,c,d;d=a.b;e.Fe(d);b=a.mc();while(b.gc()){c=b.pc();e.bf(c);}}
+function qn(b,a){}
+function rn(a){return m0(new k0(),a.zd());}
+function sn(b,a){b.af(p0(a));}
+function vn(e,b){var a,c,d,f;d=e.yd();for(a=0;a<d;++a){c=e.Ad();f=e.Ad();d2(b,c,f);}}
+function wn(f,c){var a,b,d,e;e=c.c;f.Fe(e);b=b2(c);d=x1(b);while(p1(d)){a=q1(d);f.bf(a.ub());f.bf(a.ac());}}
+function zn(d,b){var a,c;c=d.yd();for(a=0;a<c;++a){x2(b,d.Ad());}}
+function An(c,a){var b;c.Fe(a.a.c);for(b=z2(a);AX(b);){c.bf(BX(b));}}
+function Dn(e,b){var a,c,d;d=e.yd();for(a=0;a<d;++a){c=e.Ad();k3(b,c);}}
+function En(e,a){var b,c,d;d=a.a.b;e.Fe(d);b=m3(a);while(b.gc()){c=b.pc();e.bf(c);}}
+function wo(a){return a.j>2;}
+function xo(b,a){b.i=a;}
+function yo(a,b){a.j=b;}
+function Fn(){}
+_=Fn.prototype=new xU();_.tN=rgc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function bo(a){a.e=FY(new DY());}
+function co(a){bo(a);return a;}
+function fo(b,a){dZ(b.e);yo(b,Fo(b));xo(b,Fo(b));}
+function go(a){var b,c;b=a.yd();if(b<0){return gZ(a.e,-(b+1));}c=a.Eb(b);if(c===null){return null;}return a.hb(c);}
+function ho(b,a){bZ(b.e,a);}
+function io(){return go(this);}
+function ao(){}
+_=ao.prototype=new Fn();_.Ad=io;_.tN=rgc+'AbstractSerializationStreamReader';_.tI=33;function lo(b,a){b.E(a?'1':'0');}
+function mo(b,a){b.E(gW(a));}
+function no(c,a){var b,d;if(a===null){oo(c,null);return;}b=c.tb(a);if(b>=0){mo(c,-(b+1));return;}c.de(a);d=c.xb(a);oo(c,d);c.ge(a,d);}
+function oo(a,b){mo(a,a.z(b));}
+function po(a){lo(this,a);}
+function qo(a){this.E(gW(a));}
+function ro(a){mo(this,a);}
+function so(a){this.E(hW(a));}
+function to(a){no(this,a);}
+function uo(a){oo(this,a);}
+function jo(){}
+_=jo.prototype=new Fn();_.De=po;_.Ee=qo;_.Fe=ro;_.af=so;_.bf=to;_.cf=uo;_.tN=rgc+'AbstractSerializationStreamWriter';_.tI=34;function Ao(b,a){co(b);b.c=a;return b;}
+function Co(b,a){if(!a){return null;}return b.d[a-1];}
+function Do(b,a){b.b=dp(a);b.a=ep(b.b);fo(b,a);b.d=ap(b);}
+function Eo(a){return !(!a.b[--a.a]);}
+function Fo(a){return a.b[--a.a];}
+function ap(a){return a.b[--a.a];}
+function bp(a){return Co(a,Fo(a));}
+function cp(b){var a;a=this.c.jc(this,b);ho(this,a);this.c.gb(this,a,b);return a;}
+function dp(a){return eval(a);}
+function ep(a){return a.length;}
+function fp(a){return Co(this,a);}
+function gp(){return Eo(this);}
+function hp(){return this.b[--this.a];}
+function ip(){return Fo(this);}
+function jp(){return this.b[--this.a];}
+function kp(){return bp(this);}
+function zo(){}
+_=zo.prototype=new ao();_.hb=cp;_.Eb=fp;_.wd=gp;_.xd=hp;_.yd=ip;_.zd=jp;_.Bd=kp;_.tN=rgc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function mp(a){a.h=FY(new DY());}
+function np(d,c,a,b){mp(d);d.f=c;d.b=a;d.e=b;return d;}
+function pp(c,a){var b=c.d[a];return b==null?-1:b;}
+function qp(c,a){var b=c.g[':'+a];return b==null?0:b;}
+function rp(a){a.c=0;a.d=kb();a.g=kb();dZ(a.h);a.a=cV(new bV());if(wo(a)){oo(a,a.b);oo(a,a.e);}}
+function sp(b,a,c){b.d[a]=c;}
+function tp(b,a,c){b.g[':'+a]=c;}
+function up(b){var a;a=cV(new bV());vp(b,a);xp(b,a);wp(b,a);return iV(a);}
+function vp(b,a){zp(a,gW(b.j));zp(a,gW(b.i));}
+function wp(b,a){eV(a,iV(b.a));}
+function xp(d,a){var b,c;c=d.h.b;zp(a,gW(c));for(b=0;b<c;++b){zp(a,bc(gZ(d.h,b),1));}return a;}
+function yp(b){var a;if(b===null){return 0;}a=qp(this,b);if(a>0){return a;}bZ(this.h,b);a=this.h.b;tp(this,b,a);return a;}
+function zp(a,b){eV(a,b);dV(a,65535);}
+function Ap(a){zp(this.a,a);}
+function Bp(a){return pp(this,mW(a));}
+function Cp(a){var b,c;c=x(a);b=this.f.Db(c);if(b!==null){c+='/'+b;}return c;}
+function Dp(a){sp(this,mW(a),this.c++);}
+function Ep(a,b){this.f.fe(this,a,b);}
+function Fp(){return up(this);}
+function lp(){}
+_=lp.prototype=new jo();_.z=yp;_.E=Ap;_.tb=Bp;_.xb=Cp;_.de=Dp;_.ge=Ep;_.tS=Fp;_.tN=rgc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function jO(b,a){FO(b.Fb(),a,true);}
+function lO(a){return Ce(a.rb());}
+function mO(a){return De(a.rb());}
+function nO(a){return cf(a.w,'offsetHeight');}
+function oO(a){return cf(a.w,'offsetWidth');}
+function pO(b,a){FO(b.Fb(),a,false);}
+function qO(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
+function rO(b,a){if(b.w!==null){qO(b,b.w,a);}b.w=a;}
+function sO(b,c,a){if(c>=0){b.xe(c+'px');}if(a>=0){b.ne(a+'px');}}
+function tO(b,c,a){b.xe(c);b.ne(a);}
+function uO(b,a){EO(b.Fb(),a);}
+function vO(b,a){bg(b.rb(),a|ef(b.rb()));}
+function wO(){return this.w;}
+function xO(){return nO(this);}
+function yO(){return oO(this);}
+function zO(){return this.w;}
+function AO(a){return df(a,'className');}
+function BO(a){return a.style.display!='none';}
+function CO(a){rO(this,a);}
+function DO(a){ag(this.w,'height',a);}
+function EO(a,b){Af(a,'className',b);}
+function FO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw DU(new CU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=DV(j);if(uV(j)==0){throw sT(new rT(),'Style names cannot be empty');}i=AO(c);e=sV(i,j);while(e!=(-1)){if(e==0||lV(i,e-1)==32){f=e+uV(j);g=uV(i);if(f==g||f<g&&lV(i,f)==32){break;}}e=tV(i,j,e+1);}if(a){if(e==(-1)){if(uV(i)>0){i+=' ';}Af(c,'className',i+j);}}else{if(e!=(-1)){b=DV(AV(i,0,e));d=DV(zV(i,e+uV(j)));if(uV(b)==0){h=d;}else if(uV(d)==0){h=b;}else{h=b+' '+d;}Af(c,'className',h);}}}
+function aP(a){if(a===null||uV(a)==0){rf(this.w,'title');}else{xf(this.w,'title',a);}}
+function bP(a,b){a.style.display=b?'':'none';}
+function cP(a){bP(this.w,a);}
+function dP(a){ag(this.w,'width',a);}
+function eP(){if(this.w===null){return '(null handle)';}return cg(this.w);}
+function iO(){}
+_=iO.prototype=new xU();_.rb=wO;_.yb=xO;_.zb=yO;_.Fb=zO;_.je=CO;_.ne=DO;_.pe=aP;_.ue=cP;_.xe=dP;_.tS=eP;_.tN=sgc+'UIObject';_.tI=37;_.w=null;function qQ(a){if(a.kc()){throw vT(new uT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;Bf(a.rb(),a);a.ib();a.cd();}
+function rQ(a){if(!a.kc()){throw vT(new uT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.qd();}finally{a.kb();Bf(a.rb(),null);a.t=false;}}
+function sQ(a){if(cc(a.v,54)){bc(a.v,54).be(a);}else if(a.v!==null){throw vT(new uT(),"This widget's parent does not implement HasWidgets");}}
+function tQ(b,a){if(b.kc()){Bf(b.rb(),null);}rO(b,a);if(b.kc()){Bf(a,b);}}
+function uQ(b,a){b.u=a;}
+function vQ(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.kc()){c.yc();}c.v=null;}else{if(a!==null){throw vT(new uT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.kc()){c.rc();}}}
+function wQ(){}
+function xQ(){}
+function yQ(){return this.t;}
+function zQ(){qQ(this);}
+function AQ(a){}
+function BQ(){rQ(this);}
+function CQ(){}
+function DQ(){}
+function EQ(a){tQ(this,a);}
+function oP(){}
+_=oP.prototype=new iO();_.ib=wQ;_.kb=xQ;_.kc=yQ;_.rc=zQ;_.tc=AQ;_.yc=BQ;_.cd=CQ;_.qd=DQ;_.je=EQ;_.tN=sgc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function uE(b,a){vQ(a,b);}
+function wE(b,a){vQ(a,null);}
+function xE(){var a;a=this.mc();while(a.gc()){a.pc();a.Fd();}}
+function yE(){var a,b;for(b=this.mc();b.gc();){a=bc(b.pc(),13);a.rc();}}
+function zE(){var a,b;for(b=this.mc();b.gc();){a=bc(b.pc(),13);a.yc();}}
+function AE(){}
+function BE(){}
+function tE(){}
+_=tE.prototype=new oP();_.F=xE;_.ib=yE;_.kb=zE;_.cd=AE;_.qd=BE;_.tN=sgc+'Panel';_.tI=39;function vr(a){a.f=yP(new pP(),a);}
+function wr(a){vr(a);return a;}
+function xr(c,a,b){sQ(a);zP(c.f,a);vd(b,a.rb());uE(c,a);}
+function yr(d,b,a){var c;Ar(d,a);if(b.v===d){c=Cr(d,b);if(c<a){a--;}}return a;}
+function zr(b,a){if(a<0||a>=b.f.c){throw new xT();}}
+function Ar(b,a){if(a<0||a>b.f.c){throw new xT();}}
+function Dr(b,a){return BP(b.f,a);}
+function Cr(b,a){return CP(b.f,a);}
+function Er(e,b,c,a,d){a=yr(e,b,a);sQ(b);DP(e.f,b,a);if(d){lf(c,b.rb(),a);}else{vd(c,b.rb());}uE(e,b);}
+function Fr(a){return EP(a.f);}
+function as(b,c){var a;if(c.v!==b){return false;}wE(b,c);a=c.rb();qf(jf(a),a);aQ(b.f,c);return true;}
+function bs(){return Fr(this);}
+function cs(a){return this.be(Dr(this,a));}
+function ds(a){return as(this,a);}
+function ur(){}
+_=ur.prototype=new tE();_.mc=bs;_.ae=cs;_.be=ds;_.tN=sgc+'ComplexPanel';_.tI=40;function cq(a){wr(a);a.je(zd());ag(a.rb(),'position','relative');ag(a.rb(),'overflow','hidden');return a;}
+function dq(a,b){xr(a,b,a.rb());}
+function fq(b,c){var a;a=as(b,c);if(a){gq(c.rb());}return a;}
+function gq(a){ag(a,'left','');ag(a,'top','');ag(a,'position','');}
+function hq(a){return fq(this,a);}
+function bq(){}
+_=bq.prototype=new ur();_.be=hq;_.tN=sgc+'AbsolutePanel';_.tI=41;function iq(){}
+_=iq.prototype=new xU();_.tN=sgc+'AbstractImagePrototype';_.tI=42;function hv(){hv=v3;lv=(uR(),yR);}
+function fv(b,a){hv();jv(b,a);return b;}
+function gv(b,a){if(b.k===null){b.k=Bu(new Au());}bZ(b.k,a);}
+function iv(b,a){switch(ze(a)){case 1:if(b.j!==null){sr(b.j,b);}break;case 4096:case 2048:if(b.k!==null){Du(b.k,b,a);}break;case 128:case 512:case 256:break;}}
+function jv(b,a){tQ(b,a);vO(b,7041);}
+function kv(a){if(this.j===null){this.j=qr(new pr());}bZ(this.j,a);}
+function mv(a){iv(this,a);}
+function nv(a){jv(this,a);}
+function ov(a){yf(this.rb(),'disabled',!a);}
+function pv(a){if(a){rR(lv,this.rb());}else{tR(lv,this.rb());}}
+function qv(a){wR(lv,this.rb(),a);}
+function ev(){}
+_=ev.prototype=new oP();_.x=kv;_.tc=mv;_.je=nv;_.ke=ov;_.le=pv;_.oe=qv;_.tN=sgc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var lv;function nq(){nq=v3;hv();}
+function mq(b,a){nq();fv(b,a);return b;}
+function oq(a){Df(this.rb(),a);}
+function lq(){}
+_=lq.prototype=new ev();_.me=oq;_.tN=sgc+'ButtonBase';_.tI=44;function rq(){rq=v3;nq();}
+function pq(a){rq();mq(a,yd());sq(a.rb());uO(a,'gwt-Button');return a;}
+function qq(b,a){rq();pq(b);b.me(a);return b;}
+function sq(b){rq();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
+function kq(){}
+_=kq.prototype=new lq();_.tN=sgc+'Button';_.tI=45;function uq(a){wr(a);a.e=ie();a.d=fe();vd(a.e,a.d);a.je(a.e);return a;}
+function wq(c,b,a){Af(b,'align',a.a);}
+function xq(c,b,a){ag(b,'verticalAlign',a.a);}
+function yq(c,a){var b;b=jf(c.rb());Af(b,'height',a);}
+function zq(b,c){var a;a=jf(b.rb());Af(a,'width',c);}
+function tq(){}
+_=tq.prototype=new ur();_.he=yq;_.ie=zq;_.tN=sgc+'CellPanel';_.tI=46;_.d=null;_.e=null;function yW(d,a,b){var c;while(a.gc()){c=a.pc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
+function AW(a){throw vW(new uW(),'add');}
+function BW(b){var a;a=yW(this,this.mc(),b);return a!==null;}
+function CW(){return this.Be(Ab('[Ljava.lang.Object;',[613],[11],[this.ye()],null));}
+function DW(a){var b,c,d;d=this.ye();if(a.a<d){a=vb(a,d);}b=0;for(c=this.mc();c.gc();){Cb(a,b++,c.pc());}if(a.a>d){Cb(a,d,null);}return a;}
+function EW(){var a,b,c;c=cV(new bV());a=null;eV(c,'[');b=this.mc();while(b.gc()){if(a!==null){eV(c,a);}else{a=', ';}eV(c,iW(b.pc()));}eV(c,']');return iV(c);}
+function xW(){}
+_=xW.prototype=new xU();_.C=AW;_.db=BW;_.Ae=CW;_.Be=DW;_.tS=EW;_.tN=wgc+'AbstractCollection';_.tI=47;function iX(b,a){throw yT(new xT(),'Index: '+a+', Size: '+b.b);}
+function jX(b,a){throw vW(new uW(),'add');}
+function kX(a){this.B(this.ye(),a);return true;}
+function lX(e){var a,b,c,d,f;if(e===this){return true;}if(!cc(e,56)){return false;}f=bc(e,56);if(this.ye()!=f.ye()){return false;}c=this.mc();d=f.mc();while(c.gc()){a=c.pc();b=d.pc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
+function mX(){var a,b,c,d;c=1;a=31;b=this.mc();while(b.gc()){d=b.pc();c=31*c+(d===null?0:d.hC());}return c;}
+function nX(){return bX(new aX(),this);}
+function oX(a){throw vW(new uW(),'remove');}
+function FW(){}
+_=FW.prototype=new xW();_.B=jX;_.C=kX;_.eQ=lX;_.hC=mX;_.mc=nX;_.ae=oX;_.tN=wgc+'AbstractList';_.tI=48;function EY(a){{cZ(a);}}
+function FY(a){EY(a);return a;}
+function aZ(c,a,b){if(a<0||a>c.b){iX(c,a);}nZ(c.a,a,b);++c.b;}
+function bZ(b,a){wZ(b.a,b.b++,a);return true;}
+function dZ(a){cZ(a);}
+function cZ(a){a.a=ib();a.b=0;}
+function fZ(b,a){return hZ(b,a)!=(-1);}
+function gZ(b,a){if(a<0||a>=b.b){iX(b,a);}return sZ(b.a,a);}
+function hZ(b,a){return iZ(b,a,0);}
+function iZ(c,b,a){if(a<0){iX(c,a);}for(;a<c.b;++a){if(rZ(b,sZ(c.a,a))){return a;}}return (-1);}
+function jZ(a){return a.b==0;}
+function kZ(c,a){var b;b=gZ(c,a);uZ(c.a,a,1);--c.b;return b;}
+function lZ(c,b){var a;a=hZ(c,b);if(a==(-1)){return false;}kZ(c,a);return true;}
+function mZ(d,a,b){var c;c=gZ(d,a);wZ(d.a,a,b);return c;}
+function oZ(a,b){aZ(this,a,b);}
+function pZ(a){return bZ(this,a);}
+function nZ(a,b,c){a.splice(b,0,c);}
+function qZ(a){return fZ(this,a);}
+function rZ(a,b){return a===b||a!==null&&a.eQ(b);}
+function tZ(a){return gZ(this,a);}
+function sZ(a,b){return a[b];}
+function vZ(a){return kZ(this,a);}
+function uZ(a,c,b){a.splice(c,b);}
+function wZ(a,b,c){a[b]=c;}
+function xZ(){return this.b;}
+function yZ(a){var b;if(a.a<this.b){a=vb(a,this.b);}for(b=0;b<this.b;++b){Cb(a,b,sZ(this.a,b));}if(a.a>this.b){Cb(a,this.b,null);}return a;}
+function DY(){}
+_=DY.prototype=new FW();_.B=oZ;_.C=pZ;_.db=qZ;_.dc=tZ;_.ae=vZ;_.ye=xZ;_.Be=yZ;_.tN=wgc+'ArrayList';_.tI=49;_.a=null;_.b=0;function Bq(a){FY(a);return a;}
+function Dq(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),41);b.vc(c);}}
+function Aq(){}
+_=Aq.prototype=new DY();_.tN=sgc+'ChangeListenerCollection';_.tI=50;function dr(){dr=v3;nq();}
+function ar(a){dr();br(a,Ed());uO(a,'gwt-CheckBox');return a;}
+function cr(b,a){dr();ar(b);hr(b,a);return b;}
+function br(b,a){var c;dr();mq(b,ee());b.a=a;b.b=ce();bg(b.a,ef(b.rb()));bg(b.rb(),0);vd(b.rb(),b.a);vd(b.rb(),b.b);c='check'+ ++or;Af(b.a,'id',c);Af(b.b,'htmlFor',c);return b;}
+function er(a){return hf(a.b);}
+function fr(b){var a;a=b.kc()?'checked':'defaultChecked';return bf(b.a,a);}
+function gr(b,a){yf(b.a,'checked',a);yf(b.a,'defaultChecked',a);}
+function hr(b,a){Ef(b.b,a);}
+function ir(){Bf(this.a,this);}
+function jr(){Bf(this.a,null);gr(this,fr(this));}
+function kr(a){yf(this.a,'disabled',!a);}
+function lr(a){if(a){rR(lv,this.a);}else{tR(lv,this.a);}}
+function mr(a){Df(this.b,a);}
+function nr(a){wR(lv,this.a,a);}
+function Fq(){}
+_=Fq.prototype=new lq();_.cd=ir;_.qd=jr;_.ke=kr;_.le=lr;_.me=mr;_.oe=nr;_.tN=sgc+'CheckBox';_.tI=51;_.a=null;_.b=null;var or=0;function qr(a){FY(a);return a;}
+function sr(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),42);b.wc(c);}}
+function pr(){}
+_=pr.prototype=new DY();_.tN=sgc+'ClickListenerCollection';_.tI=52;function gs(a,b){if(a.k!==null){throw vT(new uT(),'Composite.initWidget() may only be called once.');}sQ(b);a.je(b.rb());a.k=b;vQ(b,a);}
+function hs(){if(this.k===null){throw vT(new uT(),'initWidget() was never called in '+x(this));}return this.w;}
+function is(){if(this.k!==null){return this.k.kc();}return false;}
+function js(){this.k.rc();this.cd();}
+function ks(){try{this.qd();}finally{this.k.yc();}}
+function es(){}
+_=es.prototype=new oP();_.rb=hs;_.kc=is;_.rc=js;_.yc=ks;_.tN=sgc+'Composite';_.tI=53;_.k=null;function ms(a){wr(a);a.je(zd());return a;}
+function os(b,c){var a;a=c.rb();ag(a,'width','100%');ag(a,'height','100%');c.ue(false);}
+function ps(b,c,a){Er(b,c,b.rb(),a,true);os(b,c);}
+function qs(b,c){var a;a=as(b,c);if(a){rs(b,c);if(b.b===c){b.b=null;}}return a;}
+function rs(a,b){ag(b.rb(),'width','');ag(b.rb(),'height','');b.ue(true);}
+function ss(b,a){zr(b,a);if(b.b!==null){b.b.ue(false);}b.b=Dr(b,a);b.b.ue(true);}
+function ts(a){return qs(this,a);}
+function ls(){}
+_=ls.prototype=new ur();_.be=ts;_.tN=sgc+'DeckPanel';_.tI=54;_.b=null;function AH(a){BH(a,zd());return a;}
+function BH(b,a){b.je(a);return b;}
+function CH(a,b){if(a.r!==null){throw vT(new uT(),'SimplePanel can only contain one child widget');}a.we(b);}
+function EH(a,b){if(b===a.r){return;}if(b!==null){sQ(b);}if(a.r!==null){a.be(a.r);}a.r=b;if(b!==null){vd(a.qb(),a.r.rb());uE(a,b);}}
+function FH(){return this.rb();}
+function aI(){return vH(new tH(),this);}
+function bI(a){if(this.r!==a){return false;}wE(this,a);qf(this.qb(),a.rb());this.r=null;return true;}
+function cI(a){EH(this,a);}
+function sH(){}
+_=sH.prototype=new tE();_.qb=FH;_.mc=aI;_.be=bI;_.we=cI;_.tN=sgc+'SimplePanel';_.tI=55;_.r=null;function eF(){eF=v3;uF=new eS();}
+function aF(a){eF();BH(a,kS(uF));lF(a,0,0);return a;}
+function bF(b,a){eF();aF(b);b.k=a;return b;}
+function cF(c,a,b){eF();bF(c,a);c.o=b;return c;}
+function dF(b,a){if(a.blur){a.blur();}}
+function fF(a){return a.rb();}
+function gF(a){return oO(a);}
+function hF(a){iF(a,false);}
+function iF(b,a){if(!b.p){return;}b.p=false;fq(iH(),b);gS(uF,b.rb());}
+function jF(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.ne(a.l);}if(a.m!==null){b.xe(a.m);}}}
+function kF(e,b){var a,c,d,f;d=xe(b);c=nf(e.rb(),d);f=ze(b);switch(f){case 128:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 512:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 256:{a=(dc(ue(b)),yC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((td(),tf)!==null){return true;}if(!c&&e.k&&f==4){iF(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){dF(e,d);return false;}}}return !e.o||c;}
+function lF(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.rb();ag(a,'left',b+'px');ag(a,'top',d+'px');}
+function mF(a,b){EH(a,b);jF(a);}
+function nF(a,b){a.m=b;jF(a);if(uV(b)==0){a.m=null;}}
+function oF(a){if(a.p){return;}a.p=true;ud(a);ag(a.rb(),'position','absolute');if(a.q!=(-1)){lF(a,a.n,a.q);}dq(iH(),a);hS(uF,a.rb());}
+function pF(){return fF(this);}
+function qF(){return nO(this);}
+function rF(){return gF(this);}
+function sF(){return this.rb();}
+function tF(){hF(this);}
+function vF(){sf(this);rQ(this);}
+function wF(a){return kF(this,a);}
+function xF(a){this.l=a;jF(this);if(uV(a)==0){this.l=null;}}
+function yF(b){var a;a=fF(this);if(b===null||uV(b)==0){rf(a,'title');}else{xf(a,'title',b);}}
+function zF(a){ag(this.rb(),'visibility',a?'visible':'hidden');iS(uF,this.rb(),a);}
+function AF(a){mF(this,a);}
+function BF(a){nF(this,a);}
+function FE(){}
+_=FE.prototype=new sH();_.qb=pF;_.yb=qF;_.zb=rF;_.Fb=sF;_.hc=tF;_.yc=vF;_.zc=wF;_.ne=xF;_.pe=yF;_.ue=zF;_.we=AF;_.xe=BF;_.tN=sgc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var uF;function zs(){zs=v3;eF();}
+function vs(a){a.e=dA(new hx());a.j=lu(new fu());}
+function ws(a){zs();xs(a,false);return a;}
+function xs(b,a){zs();ys(b,a,true);return b;}
+function ys(c,a,b){zs();cF(c,a,b);vs(c);c.j.ve(0,0,c.e);c.j.ne('100%');rz(c.j,0);tz(c.j,0);uz(c.j,0);Cx(c.j.n,1,0,'100%');by(c.j.n,1,0,'100%');Bx(c.j.n,1,0,(oA(),pA),(xA(),zA));mF(c,c.j);uO(c,'gwt-DialogBox');uO(c.e,'Caption');EC(c.e,c);return c;}
+function As(b,a){hA(b.e,a);}
+function Bs(b,a){bD(b.e,a);}
+function Cs(a,b){if(a.f!==null){qz(a.j,a.f);}if(b!==null){a.j.ve(1,0,b);}a.f=b;}
+function Ds(a){if(ze(a)==4){if(nf(this.e.rb(),xe(a))){Ae(a);}}return kF(this,a);}
+function Es(a,b,c){this.i=true;wf(this.e.rb());this.g=b;this.h=c;}
+function Fs(a){}
+function at(a){}
+function bt(c,d,e){var a,b;if(this.i){a=d+lO(this);b=e+mO(this);lF(this,a-this.g,b-this.h);}}
+function ct(a,b,c){this.i=false;pf(this.e.rb());}
+function dt(a){if(this.f!==a){return false;}qz(this.j,a);return true;}
+function et(a){Cs(this,a);}
+function ft(a){nF(this,a);this.j.xe('100%');}
+function us(){}
+_=us.prototype=new FE();_.zc=Ds;_.ed=Es;_.fd=Fs;_.gd=at;_.hd=bt;_.id=ct;_.be=dt;_.we=et;_.xe=ft;_.tN=sgc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function rt(){rt=v3;xt=new ht();yt=new ht();zt=new ht();At=new ht();Bt=new ht();}
+function ot(a){a.b=(oA(),qA);a.c=(xA(),AA);}
+function pt(a){rt();uq(a);ot(a);zf(a.e,'cellSpacing',0);zf(a.e,'cellPadding',0);return a;}
+function qt(c,d,a){var b;if(a===xt){if(d===c.a){return;}else if(c.a!==null){throw sT(new rT(),'Only one CENTER widget may be added');}}sQ(d);zP(c.f,d);if(a===xt){c.a=d;}b=kt(new jt(),a);uQ(d,b);ut(c,d,c.b);vt(c,d,c.c);st(c);uE(c,d);}
+function st(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ee(a)>0){qf(a,af(a,0));}l=1;d=1;for(h=EP(p.f);tP(h);){c=uP(h);e=c.u.a;if(e===zt||e===At){++l;}else if(e===yt||e===Bt){++d;}}m=Ab('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[636],[33],[l],null);for(g=0;g<l;++g){m[g]=new mt();m[g].b=he();vd(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=EP(p.f);tP(h);){c=uP(h);i=c.u;o=ge();i.d=o;Af(i.d,'align',i.b);ag(i.d,'verticalAlign',i.e);Af(i.d,'width',i.f);Af(i.d,'height',i.c);if(i.a===zt){lf(m[j].b,o,m[j].a);vd(o,c.rb());zf(o,'colSpan',f-q+1);++j;}else if(i.a===At){lf(m[n].b,o,m[n].a);vd(o,c.rb());zf(o,'colSpan',f-q+1);--n;}else if(i.a===Bt){k=m[j];lf(k.b,o,k.a++);vd(o,c.rb());zf(o,'rowSpan',n-j+1);++q;}else if(i.a===yt){k=m[j];lf(k.b,o,k.a);vd(o,c.rb());zf(o,'rowSpan',n-j+1);--f;}else if(i.a===xt){b=o;}}if(p.a!==null){k=m[j];lf(k.b,b,k.a);vd(b,p.a.rb());}}
+function tt(b,c){var a;a=as(b,c);if(a){if(c===b.a){b.a=null;}st(b);}return a;}
+function ut(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){Af(b.d,'align',b.b);}}
+function vt(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){ag(b.d,'verticalAlign',b.e);}}
+function wt(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){ag(a.d,'width',a.f);}}
+function Ct(a){return tt(this,a);}
+function Dt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){ag(a.d,'height',a.c);}}
+function Et(a,b){wt(this,a,b);}
+function gt(){}
+_=gt.prototype=new tq();_.be=Ct;_.he=Dt;_.ie=Et;_.tN=sgc+'DockPanel';_.tI=58;_.a=null;var xt,yt,zt,At,Bt;function ht(){}
+_=ht.prototype=new xU();_.tN=sgc+'DockPanel$DockLayoutConstant';_.tI=59;function kt(b,a){b.a=a;return b;}
+function jt(){}
+_=jt.prototype=new xU();_.tN=sgc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function mt(){}
+_=mt.prototype=new xU();_.tN=sgc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function au(a){a.je(Ad('input'));Af(a.rb(),'type','file');uO(a,'gwt-FileUpload');return a;}
+function cu(a){return df(a.rb(),'value');}
+function du(b,a){Af(b.rb(),'name',a);}
+function Ft(){}
+_=Ft.prototype=new oP();_.tN=sgc+'FileUpload';_.tI=62;function By(a){a.s=ry(new my());}
+function Cy(a){By(a);a.q=ie();a.m=fe();vd(a.q,a.m);a.je(a.q);vO(a,1);return a;}
+function Dy(b,a){if(b.r===null){b.r=FK(new EK());}bZ(b.r,a);}
+function Ey(d,c,b){var a;Fy(d,c);if(b<0){throw yT(new xT(),'Column '+b+' must be non-negative: '+b);}a=d.pb(c);if(a<=b){throw yT(new xT(),'Column index: '+b+', Column size: '+d.pb(c));}}
+function Fy(c,a){var b;b=c.Bb();if(a>=b||a<0){throw yT(new xT(),'Row index: '+a+', Row size: '+b);}}
+function az(e,c,b,a){var d;d=yx(e.n,c,b);nz(e,d,a);return d;}
+function bz(d){var a,b,c;for(c=0;c<d.Bb();++c){for(b=0;b<d.pb(c);++b){a=jz(d,c,b);if(a!==null){qz(d,a);}}}}
+function dz(a){return ge();}
+function ez(c,b,a){return b.rows[a].cells.length;}
+function fz(a){return gz(a,a.m);}
+function gz(b,a){return a.rows.length;}
+function hz(d,b){var a,c,e;c=xe(b);for(;c!==null;c=jf(c)){if(pV(df(c,'tagName'),'td')){e=jf(c);a=jf(e);if(wd(a,d.m)){return c;}}if(wd(c,d.m)){return null;}}return null;}
+function iz(d,c,a){var b;Ey(d,c,a);b=xx(d.n,c,a);return hf(b);}
+function kz(c,b,a){Ey(c,b,a);return jz(c,b,a);}
+function jz(e,d,b){var a,c;c=yx(e.n,d,b);a=ff(c);if(a===null){return null;}else{return ty(e.s,a);}}
+function lz(d,b,a){var c,e;e=ky(d.p,d.m,b);c=d.eb();lf(e,c,a);}
+function mz(b,a){var c;if(a!=pu(b)){Fy(b,a);}c=he();lf(b.m,c,a);return a;}
+function nz(d,c,a){var b,e;b=ff(c);e=null;if(b!==null){e=ty(d.s,b);}if(e!==null){qz(d,e);return true;}else{if(a){Df(c,'');}return false;}}
+function qz(b,c){var a;if(c.v!==b){return false;}wE(b,c);a=c.rb();qf(jf(a),a);wy(b.s,a);return true;}
+function oz(d,b,a){var c,e;Ey(d,b,a);c=az(d,b,a,false);e=ky(d.p,d.m,b);qf(e,c);}
+function pz(d,c){var a,b;b=d.pb(c);for(a=0;a<b;++a){az(d,c,a,false);}qf(d.m,ky(d.p,d.m,c));}
+function rz(a,b){Af(a.q,'border',''+b);}
+function sz(b,a){b.n=a;}
+function tz(b,a){zf(b.q,'cellPadding',a);}
+function uz(b,a){zf(b.q,'cellSpacing',a);}
+function vz(b,a){b.o=a;fy(b.o);}
+function wz(e,c,a,b){var d;Cw(e,c,a);d=az(e,c,a,b===null);if(b!==null){Df(d,b);}}
+function xz(b,a){b.p=a;}
+function yz(e,b,a,d){var c;e.ud(b,a);c=az(e,b,a,d===null);if(d!==null){Ef(c,d);}}
+function zz(d,b,a,e){var c;d.ud(b,a);if(e!==null){sQ(e);c=az(d,b,a,true);uy(d.s,e);vd(c,e.rb());uE(d,e);}}
+function Az(){bz(this);}
+function Bz(){return dz(this);}
+function Cz(b,a){lz(this,b,a);}
+function Dz(){return xy(this.s);}
+function Ez(c){var a,b,d,e,f;switch(ze(c)){case 1:{if(this.r!==null){e=hz(this,c);if(e===null){return;}f=jf(e);a=jf(f);d=Fe(a,f);b=Fe(f,e);bL(this.r,this,d,b);}break;}default:}}
+function bA(a){return qz(this,a);}
+function Fz(b,a){oz(this,b,a);}
+function aA(a){pz(this,a);}
+function cA(b,a,c){zz(this,b,a,c);}
+function ix(){}
+_=ix.prototype=new tE();_.F=Az;_.eb=Bz;_.ic=Cz;_.mc=Dz;_.tc=Ez;_.be=bA;_.Cd=Fz;_.Ed=aA;_.ve=cA;_.tN=sgc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function lu(a){Cy(a);sz(a,hu(new gu(),a));xz(a,hy(new gy(),a));vz(a,dy(new cy(),a));return a;}
+function nu(b,a){Fy(b,a);return ez(b,b.m,a);}
+function ou(a){return bc(a.n,43);}
+function pu(a){return fz(a);}
+function qu(b,a){return mz(b,a);}
+function ru(d,b){var a,c;if(b<0){throw yT(new xT(),'Cannot create a row with a negative index: '+b);}c=pu(d);for(a=c;a<=b;a++){qu(d,a);}}
+function su(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
+function tu(a){return nu(this,a);}
+function uu(){return pu(this);}
+function vu(b,a){lz(this,b,a);}
+function wu(d,b){var a,c;ru(this,d);if(b<0){throw yT(new xT(),'Cannot create a column with a negative index: '+b);}a=nu(this,d);c=b+1-a;if(c>0){su(this.m,d,c);}}
+function xu(a){ru(this,a);}
+function yu(b,a){oz(this,b,a);}
+function zu(a){pz(this,a);}
+function fu(){}
+_=fu.prototype=new ix();_.pb=tu;_.Bb=uu;_.ic=vu;_.ud=wu;_.vd=xu;_.Cd=yu;_.Ed=zu;_.tN=sgc+'FlexTable';_.tI=64;function tx(b,a){b.a=a;return b;}
+function vx(c,b,a){c.a.ud(b,a);return wx(c,c.a.m,b,a);}
+function wx(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
+function xx(c,b,a){Ey(c.a,b,a);return wx(c,c.a.m,b,a);}
+function yx(c,b,a){return wx(c,c.a.m,b,a);}
+function zx(d,c,a){var b;b=xx(d,c,a);return BO(b);}
+function Ax(e,b,a,c){var d;Ey(e.a,b,a);d=wx(e,e.a.m,b,a);FO(d,c,false);}
+function Bx(d,c,a,b,e){Dx(d,c,a,b);Fx(d,c,a,e);}
+function Cx(e,d,a,c){var b;e.a.ud(d,a);b=wx(e,e.a.m,d,a);Af(b,'height',c);}
+function Dx(e,d,b,a){var c;e.a.ud(d,b);c=wx(e,e.a.m,d,b);Af(c,'align',a.a);}
+function Ex(d,b,a,c){d.a.ud(b,a);EO(wx(d,d.a.m,b,a),c);}
+function Fx(d,c,b,a){d.a.ud(c,b);ag(wx(d,d.a.m,c,b),'verticalAlign',a.a);}
+function ay(d,c,a,e){var b;b=vx(d,c,a);bP(b,e);}
+function by(c,b,a,d){c.a.ud(b,a);Af(wx(c,c.a.m,b,a),'width',d);}
+function sx(){}
+_=sx.prototype=new xU();_.tN=sgc+'HTMLTable$CellFormatter';_.tI=65;function hu(b,a){tx(b,a);return b;}
+function ju(d,c,b,a){zf(vx(d,c,b),'colSpan',a);}
+function ku(d,b,a,c){zf(vx(d,b,a),'rowSpan',c);}
+function gu(){}
+_=gu.prototype=new sx();_.tN=sgc+'FlexTable$FlexCellFormatter';_.tI=66;function Bu(a){FY(a);return a;}
+function Eu(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),44);b.Bc(c);}}
+function Du(c,b,a){switch(ze(a)){case 2048:Eu(c,b);break;case 4096:Fu(c,b);break;}}
+function Fu(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),44);b.dd(c);}}
+function Au(){}
+_=Au.prototype=new DY();_.tN=sgc+'FocusListenerCollection';_.tI=67;function cv(){cv=v3;dv=(uR(),xR);}
+var dv;function sv(a){FY(a);return a;}
+function uv(f,e,d){var a,b,c;a=ow(new nw(),e,d);for(c=f.mc();c.gc();){b=bc(c.pc(),45);b.kd(a);}}
+function vv(e,d){var a,b,c;a=new qw();for(c=e.mc();c.gc();){b=bc(c.pc(),45);b.ld(a);}return a.a;}
+function rv(){}
+_=rv.prototype=new DY();_.tN=sgc+'FormHandlerCollection';_.tI=68;function Ev(){Ev=v3;iw=new BR();}
+function Cv(a){Ev();BH(a,Bd());a.b='FormPanel_'+ ++hw;fw(a,a.b);vO(a,32768);return a;}
+function Dv(b,a){if(b.a===null){b.a=sv(new rv());}bZ(b.a,a);}
+function Fv(b){var a;a=zd();Df(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=ff(a);}
+function aw(a){if(a.a!==null){return !vv(a.a,a);}return true;}
+function bw(a){if(a.a!==null){hg(zv(new yv(),a));}}
+function cw(a,b){Af(a.rb(),'action',b);}
+function dw(b,a){bS(iw,b.rb(),a);}
+function ew(b,a){Af(b.rb(),'method',a);}
+function fw(b,a){Af(b.rb(),'target',a);}
+function gw(a){if(a.a!==null){if(vv(a.a,a)){return;}}cS(iw,a.rb(),a.c);}
+function jw(){qQ(this);Fv(this);vd(hH(),this.c);DR(iw,this.c,this.rb(),this);}
+function kw(){rQ(this);ER(iw,this.c,this.rb());qf(hH(),this.c);this.c=null;}
+function lw(){var a;a=y;{return aw(this);}}
+function mw(){var a;a=y;{bw(this);}}
+function xv(){}
+_=xv.prototype=new sH();_.rc=jw;_.yc=kw;_.Cc=lw;_.Dc=mw;_.tN=sgc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var hw=0,iw;function zv(b,a){b.a=a;return b;}
+function Bv(){uv(this.a.a,this,aS((Ev(),iw),this.a.c));}
+function yv(){}
+_=yv.prototype=new xU();_.nb=Bv;_.tN=sgc+'FormPanel$1';_.tI=70;function E0(){}
+_=E0.prototype=new xU();_.tN=wgc+'EventObject';_.tI=71;function ow(c,b,a){c.a=a;return c;}
+function nw(){}
+_=nw.prototype=new E0();_.tN=sgc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function sw(b,a){b.a=a;}
+function qw(){}
+_=qw.prototype=new E0();_.tN=sgc+'FormSubmitEvent';_.tI=73;_.a=false;function uw(a){a.je(Cd());return a;}
+function vw(a,b){uw(a);xw(a,b);return a;}
+function xw(a,b){Af(a.rb(),'src',b);}
+function tw(){}
+_=tw.prototype=new oP();_.tN=sgc+'Frame';_.tI=74;function zw(a){Cy(a);sz(a,tx(new sx(),a));xz(a,hy(new gy(),a));vz(a,dy(new cy(),a));return a;}
+function Aw(c,b,a){zw(c);ax(c,b,a);return c;}
+function Cw(c,b,a){Dw(c,b);if(a<0){throw yT(new xT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw yT(new xT(),'Column index: '+a+', Column size: '+c.k);}}
+function Dw(b,a){if(a<0){throw yT(new xT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw yT(new xT(),'Row index: '+a+', Row size: '+b.l);}}
+function ax(c,b,a){Ew(c,a);Fw(c,b);}
+function Ew(d,a){var b,c;if(d.k==a){return;}if(a<0){throw yT(new xT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Cd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.ic(b,c);}}}d.k=a;}
+function Fw(b,a){if(b.l==a){return;}if(a<0){throw yT(new xT(),'Cannot set number of rows to '+a);}if(b.l<a){bx(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.Ed(--b.l);}}}
+function bx(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
+function cx(){var a;a=dz(this);Df(a,'&nbsp;');return a;}
+function dx(a){return this.k;}
+function ex(){return this.l;}
+function fx(b,a){Cw(this,b,a);}
+function gx(a){Dw(this,a);}
+function yw(){}
+_=yw.prototype=new ix();_.eb=cx;_.pb=dx;_.Bb=ex;_.ud=fx;_.vd=gx;_.tN=sgc+'Grid';_.tI=75;_.k=0;_.l=0;function BC(a){a.je(zd());vO(a,131197);uO(a,'gwt-Label');return a;}
+function CC(b,a){BC(b);bD(b,a);return b;}
+function DC(b,a){if(b.a===null){b.a=qr(new pr());}bZ(b.a,a);}
+function EC(b,a){if(b.b===null){b.b=aE(new FD());}bZ(b.b,a);}
+function aD(a){return hf(a.rb());}
+function bD(b,a){Ef(b.rb(),a);}
+function cD(a,b){ag(a.rb(),'whiteSpace',b?'normal':'nowrap');}
+function dD(a){switch(ze(a)){case 1:if(this.a!==null){sr(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){eE(this.b,this,a);}break;case 131072:break;}}
+function AC(){}
+_=AC.prototype=new oP();_.tc=dD;_.tN=sgc+'Label';_.tI=76;_.a=null;_.b=null;function dA(a){BC(a);a.je(zd());vO(a,125);uO(a,'gwt-HTML');return a;}
+function eA(b,a){dA(b);hA(b,a);return b;}
+function fA(b,a,c){eA(b,a);cD(b,c);return b;}
+function hA(b,a){Df(b.rb(),a);}
+function hx(){}
+_=hx.prototype=new AC();_.tN=sgc+'HTML';_.tI=77;function kx(a){{nx(a);}}
+function lx(b,a){b.c=a;kx(b);return b;}
+function nx(a){while(++a.b<a.c.b.b){if(gZ(a.c.b,a.b)!==null){return;}}}
+function ox(a){return a.b<a.c.b.b;}
+function px(){return ox(this);}
+function qx(){var a;if(!ox(this)){throw new d3();}a=gZ(this.c.b,this.b);this.a=this.b;nx(this);return a;}
+function rx(){var a;if(this.a<0){throw new uT();}a=bc(gZ(this.c.b,this.a),13);sQ(a);this.a=(-1);}
+function jx(){}
+_=jx.prototype=new xU();_.gc=px;_.pc=qx;_.Fd=rx;_.tN=sgc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function dy(b,a){b.b=a;return b;}
+function fy(a){if(a.a===null){a.a=Ad('colgroup');lf(a.b.q,a.a,0);vd(a.a,Ad('col'));}}
+function cy(){}
+_=cy.prototype=new xU();_.tN=sgc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function hy(b,a){b.a=a;return b;}
+function jy(b,a){b.a.vd(a);return ky(b,b.a.m,a);}
+function ky(c,a,b){return a.rows[b];}
+function ly(c,a,b){EO(jy(c,a),b);}
+function gy(){}
+_=gy.prototype=new xU();_.tN=sgc+'HTMLTable$RowFormatter';_.tI=80;function qy(a){a.b=FY(new DY());}
+function ry(a){qy(a);return a;}
+function ty(c,a){var b;b=zy(a);if(b<0){return null;}return bc(gZ(c.b,b),13);}
+function uy(b,c){var a;if(b.a===null){a=b.b.b;bZ(b.b,c);}else{a=b.a.a;mZ(b.b,a,c);b.a=b.a.b;}Ay(c.rb(),a);}
+function vy(c,a,b){yy(a);mZ(c.b,b,null);c.a=oy(new ny(),b,c.a);}
+function wy(c,a){var b;b=zy(a);vy(c,a,b);}
+function xy(a){return lx(new jx(),a);}
+function yy(a){a['__widgetID']=null;}
+function zy(a){var b=a['__widgetID'];return b==null?-1:b;}
+function Ay(a,b){a['__widgetID']=b;}
+function my(){}
+_=my.prototype=new xU();_.tN=sgc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function oy(c,a,b){c.a=a;c.b=b;return c;}
+function ny(){}
+_=ny.prototype=new xU();_.tN=sgc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function oA(){oA=v3;pA=mA(new lA(),'center');qA=mA(new lA(),'left');rA=mA(new lA(),'right');}
+var pA,qA,rA;function mA(b,a){b.a=a;return b;}
+function lA(){}
+_=lA.prototype=new xU();_.tN=sgc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function xA(){xA=v3;yA=vA(new uA(),'bottom');zA=vA(new uA(),'middle');AA=vA(new uA(),'top');}
+var yA,zA,AA;function vA(a,b){a.a=b;return a;}
+function uA(){}
+_=uA.prototype=new xU();_.tN=sgc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function EA(a){a.a=(oA(),qA);a.c=(xA(),AA);}
+function FA(a){uq(a);EA(a);a.b=he();vd(a.d,a.b);Af(a.e,'cellSpacing','0');Af(a.e,'cellPadding','0');return a;}
+function aB(b,c){var a;a=cB(b);vd(b.b,a);xr(b,c,a);}
+function cB(b){var a;a=ge();wq(b,a,b.a);xq(b,a,b.c);return a;}
+function dB(c,d,a){var b;Ar(c,a);b=cB(c);lf(c.b,b,a);Er(c,d,b,a,false);}
+function eB(c,d){var a,b;b=jf(d.rb());a=as(c,d);if(a){qf(c.b,b);}return a;}
+function fB(b,a){b.c=a;}
+function gB(a){return eB(this,a);}
+function DA(){}
+_=DA.prototype=new tq();_.be=gB;_.tN=sgc+'HorizontalPanel';_.tI=85;_.b=null;function iB(a){a.je(zd());vd(a.rb(),a.a=xd());vO(a,1);uO(a,'gwt-Hyperlink');return a;}
+function jB(c,b,a){iB(c);mB(c,b);lB(c,a);return c;}
+function lB(b,a){b.b=a;Af(b.a,'href','#'+a);}
+function mB(b,a){Ef(b.a,a);}
+function nB(a){if(ze(a)==1){dh(this.b);Ae(a);}}
+function hB(){}
+_=hB.prototype=new oP();_.tc=nB;_.tN=sgc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function hC(){hC=v3;C1(new a1());}
+function dC(a){hC();gC(a,CB(new BB(),a));uO(a,'gwt-Image');return a;}
+function eC(a,b){hC();gC(a,DB(new BB(),a,b));uO(a,'gwt-Image');return a;}
+function fC(b,a){if(b.a===null){b.a=qr(new pr());}bZ(b.a,a);}
+function gC(b,a){b.b=a;}
+function jC(a,b){a.b.re(a,b);}
+function iC(c,e,b,d,f,a){c.b.qe(c,e,b,d,f,a);}
+function kC(a){switch(ze(a)){case 1:{if(this.a!==null){sr(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
+function oB(){}
+_=oB.prototype=new oP();_.tc=kC;_.tN=sgc+'Image';_.tI=87;_.a=null;_.b=null;function rB(){}
+function pB(){}
+_=pB.prototype=new xU();_.nb=rB;_.tN=sgc+'Image$1';_.tI=88;function zB(){}
+_=zB.prototype=new xU();_.tN=sgc+'Image$State';_.tI=89;function uB(){uB=v3;wB=bR(new aR());}
+function tB(d,b,f,c,e,g,a){uB();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.je(iR(wB,f,c,e,g,a));vO(b,131197);vB(d,b);return d;}
+function vB(b,a){hg(new pB());}
+function yB(a,b){gC(a,DB(new BB(),a,b));}
+function xB(b,e,c,d,f,a){if(!qV(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;cR(wB,b.rb(),e,c,d,f,a);vB(this,b);}}
+function sB(){}
+_=sB.prototype=new zB();_.re=yB;_.qe=xB;_.tN=sgc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var wB;function CB(b,a){a.je(Dd());vO(a,229501);return b;}
+function DB(b,a,c){CB(b,a);FB(b,a,c);return b;}
+function FB(b,a,c){Cf(a.rb(),c);}
+function bC(a,b){FB(this,a,b);}
+function aC(b,e,c,d,f,a){gC(b,tB(new sB(),b,e,c,d,f,a));}
+function BB(){}
+_=BB.prototype=new zB();_.re=bC;_.qe=aC;_.tN=sgc+'Image$UnclippedState';_.tI=91;function oC(c,a,b){}
+function pC(c,a,b){}
+function qC(c,a,b){}
+function mC(){}
+_=mC.prototype=new xU();_.Fc=oC;_.ad=pC;_.bd=qC;_.tN=sgc+'KeyboardListenerAdapter';_.tI=92;function sC(a){FY(a);return a;}
+function uC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.Fc(e,b,d);}}
+function vC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.ad(e,b,d);}}
+function wC(f,e,b,d){var a,c;for(a=f.mc();a.gc();){c=bc(a.pc(),46);c.bd(e,b,d);}}
+function xC(d,c,a){var b;b=yC(a);switch(ze(a)){case 128:uC(d,c,dc(ue(a)),b);break;case 512:wC(d,c,dc(ue(a)),b);break;case 256:vC(d,c,dc(ue(a)),b);break;}}
+function yC(a){return (we(a)?1:0)|(ve(a)?8:0)|(re(a)?2:0)|(oe(a)?4:0);}
+function rC(){}
+_=rC.prototype=new DY();_.tN=sgc+'KeyboardListenerCollection';_.tI=93;function tD(){tD=v3;hv();DD=new fD();}
+function mD(a){tD();nD(a,false);return a;}
+function nD(b,a){tD();fv(b,de(a));vO(b,1024);uO(b,'gwt-ListBox');return b;}
+function oD(b,a){if(b.b===null){b.b=Bq(new Aq());}bZ(b.b,a);}
+function pD(b,a){yD(b,a,(-1));}
+function qD(b,a,c){zD(b,a,c,(-1));}
+function rD(b,a){if(a<0||a>=uD(b)){throw new xT();}}
+function sD(a){gD(DD,a.rb());}
+function uD(a){return iD(DD,a.rb());}
+function vD(b,a){rD(b,a);return jD(DD,b.rb(),a);}
+function wD(a){return cf(a.rb(),'selectedIndex');}
+function xD(b,a){rD(b,a);return kD(DD,b.rb(),a);}
+function yD(c,b,a){zD(c,b,b,a);}
+function zD(c,b,d,a){mf(c.rb(),b,d,a);}
+function AD(b,a){rD(b,a);lD(DD,b.rb(),a);}
+function BD(b,a){zf(b.rb(),'selectedIndex',a);}
+function CD(a,b){zf(a.rb(),'size',b);}
+function ED(a){if(ze(a)==1024){if(this.b!==null){Dq(this.b,this);}}else{iv(this,a);}}
+function eD(){}
+_=eD.prototype=new ev();_.tc=ED;_.tN=sgc+'ListBox';_.tI=94;_.b=null;var DD;function gD(b,a){a.options.length=0;}
+function iD(b,a){return a.options.length;}
+function jD(c,b,a){return b.options[a].text;}
+function kD(c,b,a){return b.options[a].value;}
+function lD(c,b,a){b.options[a]=null;}
+function fD(){}
+_=fD.prototype=new xU();_.tN=sgc+'ListBox$Impl';_.tI=95;function aE(a){FY(a);return a;}
+function cE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.ed(c,e,f);}}
+function dE(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.fd(c);}}
+function eE(e,c,a){var b,d,f,g,h;d=c.rb();g=pe(a)-Ce(d)+cf(d,'scrollLeft')+ei();h=qe(a)-De(d)+cf(d,'scrollTop')+fi();switch(ze(a)){case 4:cE(e,c,g,h);break;case 8:hE(e,c,g,h);break;case 64:gE(e,c,g,h);break;case 16:b=te(a);if(!nf(d,b)){dE(e,c);}break;case 32:f=ye(a);if(!nf(d,f)){fE(e,c);}break;}}
+function fE(d,c){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.gd(c);}}
+function gE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.hd(c,e,f);}}
+function hE(d,c,e,f){var a,b;for(a=d.mc();a.gc();){b=bc(a.pc(),47);b.id(c,e,f);}}
+function FD(){}
+_=FD.prototype=new DY();_.tN=sgc+'MouseListenerCollection';_.tI=96;function jE(){}
+_=jE.prototype=new xU();_.tN=sgc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=97;_.a=null;_.b=null;function nE(b,a){rE(a,b.Bd());sE(a,b.Bd());}
+function oE(a){return a.a;}
+function pE(a){return a.b;}
+function qE(b,a){b.cf(oE(a));b.cf(pE(a));}
+function rE(a,b){a.a=b;}
+function sE(a,b){a.b=b;}
+function qL(){qL=v3;hv();xL=new mS();}
+function mL(b,a){qL();fv(b,a);vO(b,1024);return b;}
+function nL(b,a){if(b.f===null){b.f=Bq(new Aq());}bZ(b.f,a);}
+function oL(b,a){if(b.i===null){b.i=sC(new rC());}bZ(b.i,a);}
+function pL(a){if(a.h!==null){Ae(a.h);}}
+function rL(a){return df(a.rb(),'value');}
+function sL(b,a){uL(b,a,0);}
+function tL(b,a){Af(b.rb(),'name',a);}
+function uL(c,b,a){if(a<0){throw yT(new xT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>uV(rL(c))){throw yT(new xT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+uV(rL(c)));}pS(xL,c.rb(),b,a);}
+function vL(b,a){Af(b.rb(),'value',a!==null?a:'');}
+function wL(a){if(this.g===null){this.g=qr(new pr());}bZ(this.g,a);}
+function yL(a){var b;iv(this,a);b=ze(a);if(this.i!==null&&(b&896)!=0){this.h=a;xC(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){sr(this.g,this);}}else if(b==1024){if(this.f!==null){Dq(this.f,this);}}}
+function lL(){}
+_=lL.prototype=new ev();_.x=wL;_.tc=yL;_.tN=sgc+'TextBoxBase';_.tI=98;_.f=null;_.g=null;_.h=null;_.i=null;var xL;function EE(){EE=v3;qL();}
+function DE(a){EE();mL(a,Fd());uO(a,'gwt-PasswordTextBox');return a;}
+function CE(){}
+_=CE.prototype=new lL();_.tN=sgc+'PasswordTextBox';_.tI=99;function jG(b,a){kG(b,a,null);return b;}
+function kG(c,a,b){c.a=a;mG(c);return c;}
+function lG(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=yG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=yG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=vG(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
+function mG(a){a.b=0;a.c={};a.d={};}
+function oG(b,a){return fZ(pG(b,a,1),a);}
+function pG(c,b,a){var d;d=FY(new DY());if(b!==null&&a>0){rG(c,b,'',d,a);}return d;}
+function qG(a){return EF(new DF(),a);}
+function rG(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=yG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+BG(a);h.ze(f,l,c,b);}}else{for(j in k){var l=d+BG(j);if(l.indexOf(f)==0){c.C(l);}if(c.ye()>=b){return;}}for(var a in i){var l=d+BG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.ye()||h.b==1){h.lb(c,l);}else{for(var j in h.d){c.C(l+BG(j));}for(var g in h.c){c.C(l+BG(g)+'...');}}}}}}
+function sG(a){if(cc(a,1)){return lG(this,bc(a,1));}else{throw vW(new uW(),'Cannot add non-Strings to PrefixTree');}}
+function tG(a){return lG(this,a);}
+function uG(a){if(cc(a,1)){return oG(this,bc(a,1));}else{return false;}}
+function vG(a){return jG(new CF(),a);}
+function wG(b,c){var a;for(a=qG(this);bG(a);){b.C(c+bc(eG(a),1));}}
+function xG(){return qG(this);}
+function yG(a){return ac(58)+a;}
+function zG(){return this.b;}
+function AG(d,c,b,a){rG(this,d,c,b,a);}
+function BG(a){return zV(a,1);}
+function CF(){}
+_=CF.prototype=new xW();_.C=sG;_.D=tG;_.db=uG;_.lb=wG;_.mc=xG;_.ye=zG;_.ze=AG;_.tN=sgc+'PrefixTree';_.tI=100;_.a=0;_.b=0;_.c=null;_.d=null;function EF(a,b){cG(a);FF(a,b,'');return a;}
+function FF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
+function bG(a){return dG(a,true)!==null;}
+function cG(a){a.a=[];}
+function eG(a){var b;b=dG(a,false);if(b===null){if(!bG(a)){throw e3(new d3(),'No more elements in the iterator');}else{throw DU(new CU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
+function dG(g,b){var d=g.a;var c=yG;var i=BG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
+function fG(b,a){FF(this,b,a);}
+function gG(){return bG(this);}
+function hG(){return eG(this);}
+function iG(){throw vW(new uW(),'PrefixTree does not support removal.  Use clear()');}
+function DF(){}
+_=DF.prototype=new xU();_.A=fG;_.gc=gG;_.pc=hG;_.Fd=iG;_.tN=sgc+'PrefixTree$PrefixTreeIterator';_.tI=101;_.a=null;function FG(){FG=v3;dr();}
+function DG(b,a){FG();br(b,ae(a));uO(b,'gwt-RadioButton');return b;}
+function EG(c,b,a){FG();DG(c,b);hr(c,a);return c;}
+function CG(){}
+_=CG.prototype=new Fq();_.tN=sgc+'RadioButton';_.tI=102;function gH(){gH=v3;lH=C1(new a1());}
+function fH(b,a){gH();cq(b);if(a===null){a=hH();}b.je(a);b.rc();return b;}
+function iH(){gH();return jH(null);}
+function jH(c){gH();var a,b;b=bc(c2(lH,c),48);if(b!==null){return b;}a=null;if(lH.c==0){kH();}d2(lH,c,b=fH(new aH(),a));return b;}
+function hH(){gH();return $doc.body;}
+function kH(){gH();Bh(new bH());}
+function aH(){}
+_=aH.prototype=new bq();_.tN=sgc+'RootPanel';_.tI=103;var lH;function dH(){var a,b;for(b=cY(rY((gH(),lH)));jY(b);){a=bc(kY(b),48);if(a.kc()){a.yc();}}}
+function eH(){return null;}
+function bH(){}
+_=bH.prototype=new xU();_.rd=dH;_.sd=eH;_.tN=sgc+'RootPanel$1';_.tI=104;function nH(a){AH(a);qH(a,false);vO(a,16384);return a;}
+function oH(b,a){nH(b);b.we(a);return b;}
+function qH(b,a){ag(b.rb(),'overflow',a?'scroll':'auto');}
+function rH(a){ze(a)==16384;}
+function mH(){}
+_=mH.prototype=new sH();_.tc=rH;_.tN=sgc+'ScrollPanel';_.tI=105;function uH(a){a.a=a.c.r!==null;}
+function vH(b,a){b.c=a;uH(b);return b;}
+function xH(){return this.a;}
+function yH(){if(!this.a||this.c.r===null){throw new d3();}this.a=false;return this.b=this.c.r;}
+function zH(){if(this.b!==null){this.c.be(this.b);}}
+function tH(){}
+_=tH.prototype=new xU();_.gc=xH;_.pc=yH;_.Fd=zH;_.tN=sgc+'SimplePanel$1';_.tI=106;_.b=null;function qI(b){var a;wr(b);a=ie();b.je(a);b.a=fe();vd(a,b.a);zf(a,'cellSpacing',0);zf(a,'cellPadding',0);bg(a,1);uO(b,'gwt-StackPanel');return b;}
+function rI(a,b){vI(a,b,a.f.c);}
+function sI(c,d,b,a){rI(c,d);xI(c,c.f.c-1,b,a);}
+function uI(d,a){var b,c;while(a!==null&& !wd(a,d.rb())){b=df(a,'__index');if(b!==null){c=cf(a,'__owner');if(c==d.hC()){return ET(b);}else{return (-1);}}a=jf(a);}return (-1);}
+function vI(e,h,a){var b,c,d,f,g;g=he();d=ge();vd(g,d);f=he();c=ge();vd(f,c);a=yr(e,h,a);b=a*2;lf(e.a,f,b);lf(e.a,g,b);FO(d,'gwt-StackPanelItem',true);zf(d,'__owner',e.hC());Af(d,'height','1px');Af(c,'height','100%');Af(c,'vAlign','top');Er(e,h,c,a,false);AI(e,a);if(e.b==(-1)){zI(e,0);}else{yI(e,a,false);if(e.b>=a){++e.b;}}}
+function wI(e,a,b){var c,d,f;c=as(e,a);if(c){d=2*b;f=af(e.a,d);qf(e.a,f);f=af(e.a,d);qf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}AI(e,d);}return c;}
+function xI(e,b,d,a){var c;if(b>=e.f.c){return;}c=af(af(e.a,b*2),0);if(a){Df(c,d);}else{Ef(c,d);}}
+function yI(c,a,e){var b,d;d=af(c.a,a*2);if(d===null){return;}b=ff(d);FO(b,'gwt-StackPanelItem-selected',e);d=af(c.a,a*2+1);bP(d,e);Dr(c,a).ue(e);}
+function zI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){yI(b,b.b,false);}b.b=a;yI(b,b.b,true);}
+function AI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=af(f.a,e*2);c=ff(d);zf(c,'__index',e);}}
+function BI(a){var b,c;if(ze(a)==1){c=xe(a);b=uI(this,c);if(b!=(-1)){zI(this,b);}}}
+function CI(a){return wI(this,Dr(this,a),a);}
+function DI(a){return wI(this,a,Cr(this,a));}
+function pI(){}
+_=pI.prototype=new ur();_.tc=BI;_.ae=CI;_.be=DI;_.tN=sgc+'StackPanel';_.tI=107;_.a=null;_.b=(-1);function EI(){}
+_=EI.prototype=new xU();_.tN=sgc+'SuggestOracle$Request';_.tI=108;_.a=20;_.b=null;function aJ(){}
+_=aJ.prototype=new xU();_.tN=sgc+'SuggestOracle$Response';_.tI=109;_.a=null;function fJ(b,a){jJ(a,b.yd());kJ(a,b.Bd());}
+function gJ(a){return a.a;}
+function hJ(a){return a.b;}
+function iJ(b,a){b.Fe(gJ(a));b.cf(hJ(a));}
+function jJ(a,b){a.a=b;}
+function kJ(a,b){a.b=b;}
+function nJ(b,a){qJ(a,bc(b.Ad(),49));}
+function oJ(a){return a.a;}
+function pJ(b,a){b.bf(oJ(a));}
+function qJ(a,b){a.a=b;}
+function sJ(a){a.a=FA(new DA());}
+function tJ(c){var a,b;sJ(c);gs(c,c.a);vO(c,1);uO(c,'gwt-TabBar');fB(c.a,(xA(),yA));a=fA(new hx(),'&nbsp;',true);b=fA(new hx(),'&nbsp;',true);uO(a,'gwt-TabBarFirst');uO(b,'gwt-TabBarRest');a.ne('100%');b.ne('100%');aB(c.a,a);aB(c.a,b);a.ne('100%');c.a.he(a,'100%');c.a.ie(b,'100%');return c;}
+function uJ(b,a){if(b.c===null){b.c=FJ(new EJ());}bZ(b.c,a);}
+function vJ(b,a){if(a<0||a>yJ(b)){throw new xT();}}
+function wJ(b,a){if(a<(-1)||a>=yJ(b)){throw new xT();}}
+function yJ(a){return a.a.f.c-2;}
+function zJ(e,d,a,b){var c;vJ(e,b);if(a){c=eA(new hx(),d);}else{c=CC(new AC(),d);}cD(c,false);DC(c,e);uO(c,'gwt-TabBarItem');dB(e.a,c,b+1);}
+function AJ(b,a){var c;wJ(b,a);c=Dr(b.a,a+1);if(c===b.b){b.b=null;}eB(b.a,c);}
+function BJ(b,a){wJ(b,a);if(b.c!==null){if(!bK(b.c,b,a)){return false;}}CJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=Dr(b.a,a+1);CJ(b,b.b,true);if(b.c!==null){cK(b.c,b,a);}return true;}
+function CJ(c,a,b){if(a!==null){if(b){jO(a,'gwt-TabBarItem-selected');}else{pO(a,'gwt-TabBarItem-selected');}}}
+function DJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(Dr(this.a,a)===b){BJ(this,a-1);return;}}}
+function rJ(){}
+_=rJ.prototype=new es();_.wc=DJ;_.tN=sgc+'TabBar';_.tI=110;_.b=null;_.c=null;function FJ(a){FY(a);return a;}
+function bK(e,c,d){var a,b;for(a=e.mc();a.gc();){b=bc(a.pc(),50);if(!b.sc(c,d)){return false;}}return true;}
+function cK(e,c,d){var a,b;for(a=e.mc();a.gc();){b=bc(a.pc(),50);b.nd(c,d);}}
+function EJ(){}
+_=EJ.prototype=new DY();_.tN=sgc+'TabListenerCollection';_.tI=111;function rK(a){a.b=nK(new mK());a.a=gK(new fK(),a.b);}
+function sK(b){var a;rK(b);a=hP(new fP());iP(a,b.b);iP(a,b.a);a.he(b.a,'100%');b.b.xe('100%');uJ(b.b,b);gs(b,a);uO(b,'gwt-TabPanel');uO(b.a,'gwt-TabPanelBottom');return b;}
+function tK(c,d,b,a){xK(c,d,b,a,c.a.f.c);}
+function wK(b,a){return Dr(b.a,a);}
+function vK(a,b){return Cr(a.a,b);}
+function xK(d,e,c,a,b){iK(d.a,e,c,a,b);}
+function yK(b,a){return b.a.ae(a);}
+function zK(b,a){BJ(b.b,a);}
+function AK(){return Fr(this.a);}
+function BK(a,b){return true;}
+function CK(a,b){ss(this.a,b);}
+function DK(a){return jK(this.a,a);}
+function eK(){}
+_=eK.prototype=new es();_.mc=AK;_.sc=BK;_.nd=CK;_.be=DK;_.tN=sgc+'TabPanel';_.tI=112;function gK(b,a){ms(b);b.a=a;return b;}
+function iK(e,f,d,a,b){var c;c=Cr(e,f);if(c!=(-1)){jK(e,f);if(c<b){b--;}}pK(e.a,d,a,b);ps(e,f,b);}
+function jK(b,c){var a;a=Cr(b,c);if(a!=(-1)){qK(b.a,a);return qs(b,c);}return false;}
+function kK(){throw vW(new uW(),'Use TabPanel.clear() to alter the DeckPanel');}
+function lK(a){return jK(this,a);}
+function fK(){}
+_=fK.prototype=new ls();_.F=kK;_.be=lK;_.tN=sgc+'TabPanel$TabbedDeckPanel';_.tI=113;_.a=null;function nK(a){tJ(a);return a;}
+function pK(d,c,a,b){zJ(d,c,a,b);}
+function qK(b,a){AJ(b,a);}
+function mK(){}
+_=mK.prototype=new rJ();_.tN=sgc+'TabPanel$UnmodifiableTabBar';_.tI=114;function FK(a){FY(a);return a;}
+function bL(f,e,d,a){var b,c;for(b=f.mc();b.gc();){c=bc(b.pc(),51);c.uc(e,d,a);}}
+function EK(){}
+_=EK.prototype=new DY();_.tN=sgc+'TableListenerCollection';_.tI=115;function fL(){fL=v3;qL();}
+function eL(a){fL();mL(a,je());uO(a,'gwt-TextArea');return a;}
+function gL(a){return oS(xL,a.rb());}
+function hL(a){return cf(a.rb(),'rows');}
+function iL(a,b){zf(a.rb(),'cols',b);}
+function jL(b,a){zf(b.rb(),'rows',a);}
+function dL(){}
+_=dL.prototype=new lL();_.tN=sgc+'TextArea';_.tI=116;function AL(){AL=v3;qL();}
+function zL(a){AL();mL(a,be());uO(a,'gwt-TextBox');return a;}
+function BL(b,a){zf(b.rb(),'size',a);}
+function kL(){}
+_=kL.prototype=new lL();_.tN=sgc+'TextBox';_.tI=117;function iN(a){a.a=C1(new a1());}
+function jN(a){kN(a,gM(new fM()));return a;}
+function kN(b,a){iN(b);b.d=a;b.je(zd());ag(b.rb(),'position','relative');b.c=vR((cv(),dv));ag(b.c,'fontSize','0');ag(b.c,'position','absolute');Ff(b.c,'zIndex',(-1));vd(b.rb(),b.c);vO(b,1021);bg(b.c,6144);b.g=EL(new DL(),b);BM(b.g,b);uO(b,'gwt-Tree');return b;}
+function mN(c,a){var b;b=pM(new mM(),a);lN(c,b);return b;}
+function lN(b,a){FL(b.g,a);}
+function nN(b,a){if(b.f===null){b.f=dN(new cN());}bZ(b.f,a);}
+function oN(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){vM(sM(c.g,a));}}
+function qN(d,a,c,b){if(b===null||wd(b,c)){return;}qN(d,a,c,jf(b));bZ(a,jc(b,kg));}
+function rN(e,d,b){var a,c;a=FY(new DY());qN(e,a,e.rb(),b);c=tN(e,a,0,d);if(c!==null){if(nf(uM(c),b)){AM(c,!c.f,true);return true;}else if(nf(c.rb(),b)){AN(e,c,true,!bO(e,b));return true;}}return false;}
+function sN(b,a){if(!a.f){return a;}return sN(b,sM(a,a.c.b-1));}
+function tN(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=bc(gZ(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=sM(h,d);if(wd(b.rb(),c)){g=tN(i,a,e+1,sM(h,d));if(g===null){return b;}return g;}}return tN(i,a,e+1,h);}
+function uN(b,a){if(b.f!==null){gN(b.f,a);}}
+function vN(b,a){return sM(b.g,a);}
+function wN(a){var b;b=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[615],[13],[a.a.c],null);qY(a.a).Be(b);return oQ(a,b);}
+function xN(h,g){var a,b,c,d,e,f,i,j;c=tM(g);{f=g.d;a=lO(h);b=mO(h);e=Ce(f)-a;i=De(f)-b;j=cf(f,'offsetWidth');d=cf(f,'offsetHeight');Ff(h.c,'left',e);Ff(h.c,'top',i);Ff(h.c,'width',j);Ff(h.c,'height',d);vf(h.c);rR((cv(),dv),h.c);}}
+function yN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=rM(c,d);if(!a|| !d.f){if(b<c.c.b-1){AN(e,sM(c,b+1),true,true);}else{yN(e,c,false);}}else if(d.c.b>0){AN(e,sM(d,0),true,true);}}
+function zN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=rM(b,c);if(a>0){d=sM(b,a-1);AN(e,sN(e,d),true,true);}else{AN(e,b,true,true);}}
+function AN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){yM(d.b,false);}d.b=b;if(c&&d.b!==null){xN(d,d.b);yM(d.b,true);if(a&&d.f!==null){fN(d.f,d.b);}}}
+function DN(b,c){var a;a=bc(c2(b.a,c),52);if(a===null){return false;}DM(a,null);return true;}
+function BN(b,a){bM(b.g,a);}
+function CN(a){while(a.g.c.b>0){BN(a,vN(a,0));}}
+function EN(b,a){if(a){rR((cv(),dv),b.c);}else{tR((cv(),dv),b.c);}}
+function FN(b,a){aO(b,a,true);}
+function aO(c,b,a){if(b===null){if(c.b===null){return;}yM(c.b,false);c.b=null;return;}AN(c,b,a,true);}
+function bO(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
+function cO(){var a,b;for(b=wN(this);hQ(b);){a=iQ(b);a.rc();}Bf(this.c,this);}
+function dO(){var a,b;for(b=wN(this);hQ(b);){a=iQ(b);a.yc();}Bf(this.c,null);}
+function eO(){return wN(this);}
+function fO(c){var a,b,d,e,f;d=ze(c);switch(d){case 1:{b=xe(c);if(bO(this,b)){}else{EN(this,true);}break;}case 4:{if(mg(se(c),jc(this.rb(),kg))){rN(this,this.g,xe(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){AN(this,sM(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(ue(c)){case 38:{zN(this,this.b);Ae(c);break;}case 40:{yN(this,this.b,true);Ae(c);break;}case 37:{if(this.b.f){zM(this.b,false);}else{f=this.b.g;if(f!==null){FN(this,f);}}Ae(c);break;}case 39:{if(!this.b.f){zM(this.b,true);}else if(this.b.c.b>0){FN(this,sM(this.b,0));}Ae(c);break;}}}case 512:if(d==512){if(ue(c)==9){a=FY(new DY());qN(this,a,this.rb(),xe(c));e=tN(this,a,0,this.g);if(e!==this.b){aO(this,e,true);}}}case 256:{break;}}this.e=d;}
+function gO(){EM(this.g);}
+function hO(a){return DN(this,a);}
+function CL(){}
+_=CL.prototype=new oP();_.ib=cO;_.kb=dO;_.mc=eO;_.tc=fO;_.cd=gO;_.be=hO;_.tN=sgc+'Tree';_.tI=118;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function nM(a){a.c=FY(new DY());a.i=dC(new oB());}
+function oM(d){var a,b,c,e;nM(d);d.je(zd());d.e=ie();d.d=ee();d.b=ee();a=fe();e=he();c=ge();b=ge();vd(d.e,a);vd(a,e);vd(e,c);vd(e,b);ag(c,'verticalAlign','middle');ag(b,'verticalAlign','middle');vd(d.rb(),d.e);vd(d.rb(),d.b);vd(c,d.i.rb());vd(b,d.d);ag(d.d,'display','inline');ag(d.rb(),'whiteSpace','nowrap');ag(d.b,'whiteSpace','nowrap');FO(d.d,'gwt-TreeItem',true);return d;}
+function pM(b,a){oM(b);wM(b,a);return b;}
+function sM(b,a){if(a<0||a>=b.c.b){return null;}return bc(gZ(b.c,a),52);}
+function rM(b,a){return hZ(b.c,a);}
+function tM(a){var b;b=a.l;{return null;}}
+function uM(a){return a.i.rb();}
+function vM(a){if(a.g!==null){a.g.Dd(a);}else if(a.j!==null){BN(a.j,a);}}
+function wM(b,a){DM(b,null);Df(b.d,a);}
+function xM(b,a){b.g=a;}
+function yM(b,a){if(b.h==a){return;}b.h=a;FO(b.d,'gwt-TreeItem-selected',a);}
+function zM(b,a){AM(b,a,true);}
+function AM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;FM(c);if(a&&c.j!==null){uN(c.j,c);}}
+function BM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){FN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){BM(bc(gZ(d.c,a),52),c);}FM(d);}
+function CM(a,b){a.k=b;}
+function DM(b,a){Df(b.d,'');b.l=a;}
+function FM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){bP(b.b,false);lR((hM(),kM),b.i);return;}if(b.f){bP(b.b,true);lR((hM(),lM),b.i);}else{bP(b.b,false);lR((hM(),jM),b.i);}}
+function EM(c){var a,b;FM(c);for(a=0,b=c.c.b;a<b;++a){EM(bc(gZ(c.c,a),52));}}
+function aN(a){if(a.g!==null||a.j!==null){vM(a);}xM(a,this);bZ(this.c,a);ag(a.rb(),'marginLeft','16px');vd(this.b,a.rb());BM(a,this.j);if(this.c.b==1){FM(this);}}
+function bN(a){if(!fZ(this.c,a)){return;}BM(a,null);qf(this.b,a.rb());xM(a,null);lZ(this.c,a);if(this.c.b==0){FM(this);}}
+function mM(){}
+_=mM.prototype=new iO();_.y=aN;_.Dd=bN;_.tN=sgc+'TreeItem';_.tI=119;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function EL(b,a){b.a=a;oM(b);return b;}
+function FL(b,a){if(a.g!==null||a.j!==null){vM(a);}vd(b.a.rb(),a.rb());BM(a,b.j);xM(a,null);bZ(b.c,a);Ff(a.rb(),'marginLeft',0);}
+function bM(b,a){if(!fZ(b.c,a)){return;}BM(a,null);xM(a,null);lZ(b.c,a);qf(b.a.rb(),a.rb());}
+function cM(a){FL(this,a);}
+function dM(a){bM(this,a);}
+function DL(){}
+_=DL.prototype=new mM();_.y=cM;_.Dd=dM;_.tN=sgc+'Tree$1';_.tI=120;function hM(){hM=v3;iM=w()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';jM=kR(new jR(),iM,0,0,16,16);kM=kR(new jR(),iM,16,0,16,16);lM=kR(new jR(),iM,32,0,16,16);}
+function gM(a){hM();return a;}
+function fM(){}
+_=fM.prototype=new xU();_.tN=sgc+'TreeImages_generatedBundle';_.tI=121;var iM,jM,kM,lM;function dN(a){FY(a);return a;}
+function fN(d,b){var a,c;for(a=d.mc();a.gc();){c=bc(a.pc(),53);c.od(b);}}
+function gN(d,b){var a,c;for(a=d.mc();a.gc();){c=bc(a.pc(),53);c.pd(b);}}
+function cN(){}
+_=cN.prototype=new DY();_.tN=sgc+'TreeListenerCollection';_.tI=122;function gP(a){a.a=(oA(),qA);a.b=(xA(),AA);}
+function hP(a){uq(a);gP(a);Af(a.e,'cellSpacing','0');Af(a.e,'cellPadding','0');return a;}
+function iP(b,d){var a,c;c=he();a=kP(b);vd(c,a);vd(b.d,c);xr(b,d,a);}
+function kP(b){var a;a=ge();wq(b,a,b.a);xq(b,a,b.b);return a;}
+function lP(b,a){b.a=a;}
+function mP(b,a){b.b=a;}
+function nP(c){var a,b;b=jf(c.rb());a=as(this,c);if(a){qf(this.d,jf(b));}return a;}
+function fP(){}
+_=fP.prototype=new tq();_.be=nP;_.tN=sgc+'VerticalPanel';_.tI=123;function yP(b,a){b.b=a;b.a=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[615],[13],[4],null);return b;}
+function zP(a,b){DP(a,b,a.c);}
+function BP(b,a){if(a<0||a>=b.c){throw new xT();}return b.a[a];}
+function CP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
+function DP(d,e,a){var b,c;if(a<0||a>d.c){throw new xT();}if(d.c==d.a.a){c=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[615],[13],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Cb(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Cb(d.a,b,d.a[b-1]);}Cb(d.a,a,e);}
+function EP(a){return rP(new qP(),a);}
+function FP(c,b){var a;if(b<0||b>=c.c){throw new xT();}--c.c;for(a=b;a<c.c;++a){Cb(c.a,a,c.a[a+1]);}Cb(c.a,c.c,null);}
+function aQ(b,c){var a;a=CP(b,c);if(a==(-1)){throw new d3();}FP(b,a);}
+function pP(){}
+_=pP.prototype=new xU();_.tN=sgc+'WidgetCollection';_.tI=124;_.a=null;_.b=null;_.c=0;function rP(b,a){b.b=a;return b;}
+function tP(a){return a.a<a.b.c-1;}
+function uP(a){if(a.a>=a.b.c){throw new d3();}return a.b.a[++a.a];}
+function vP(){return tP(this);}
+function wP(){return uP(this);}
+function xP(){if(this.a<0||this.a>=this.b.c){throw new uT();}this.b.b.be(this.b.a[this.a--]);}
+function qP(){}
+_=qP.prototype=new xU();_.gc=vP;_.pc=wP;_.Fd=xP;_.tN=sgc+'WidgetCollection$WidgetIterator';_.tI=125;_.a=(-1);function nQ(c){var a,b;a=Ab('[Lcom.google.gwt.user.client.ui.Widget;',[615],[13],[c.a],null);for(b=0;b<c.a;b++){Cb(a,b,c[b]);}return a;}
+function oQ(b,a){return eQ(new cQ(),a,b);}
+function dQ(a){a.e=a.c;{gQ(a);}}
+function eQ(a,b,c){a.c=b;a.d=c;dQ(a);return a;}
+function gQ(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
+function hQ(a){return a.a<a.c.a;}
+function iQ(a){var b;if(!hQ(a)){throw new d3();}a.b=a.a;b=a.c[a.a];gQ(a);return b;}
+function jQ(){return hQ(this);}
+function kQ(){return iQ(this);}
+function lQ(){if(this.b<0){throw new uT();}if(!this.f){this.e=nQ(this.e);this.f=true;}DN(this.d,this.c[this.b]);this.b=(-1);}
+function cQ(){}
+_=cQ.prototype=new xU();_.gc=jQ;_.pc=kQ;_.Fd=lQ;_.tN=sgc+'WidgetIterators$1';_.tI=126;_.a=(-1);_.b=(-1);_.f=false;function iR(c,f,b,e,g,a){var d;d=ee();Df(d,eR(c,f,b,e,g,a));return ff(d);}
+function FQ(){}
+_=FQ.prototype=new xU();_.tN=tgc+'ClippedImageImpl';_.tI=127;function dR(){dR=v3;gR=yV(v(),'https')?'https://':'http://';}
+function bR(a){dR();fR();return a;}
+function cR(g,a,i,f,h,j,b){var c,d,e;ag(a,'width',j+'px');ag(a,'height',b+'px');c=ff(a);ag(c,'filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+i+"',sizingMethod='crop')");ag(c,'marginLeft',-f+'px');ag(c,'marginTop',-h+'px');e=f+j;d=h+b;zf(c,'width',e);zf(c,'height',d);}
+function eR(f,h,e,g,i,c){var a,b,d;b='overflow: hidden; width: '+i+'px; height: '+c+'px; padding: 0px; zoom: 1';d="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+h+"',sizingMethod='crop'); margin-left: "+ -e+'px; margin-top: '+ -g+'px; border: none';a='<gwt:clipper style="'+b+'"><img src=\''+gR+"' onerror='if(window.__gwt_transparentImgHandler)window.__gwt_transparentImgHandler(this);else this.src=\""+w()+'clear.cache.gif"\' style="'+d+'" width='+(e+i)+' height='+(g+c)+" border='0'><\/gwt:clipper>";return a;}
+function fR(){dR();$wnd.__gwt_transparentImgHandler=function(a){a.onerror=null;Cf(a,w()+'clear.cache.gif');};}
+function aR(){}
+_=aR.prototype=new FQ();_.tN=tgc+'ClippedImageImplIE6';_.tI=128;var gR;function mR(){mR=v3;bR(new aR());}
+function kR(c,e,b,d,f,a){mR();c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
+function lR(b,a){iC(a,b.d,b.b,b.c,b.e,b.a);}
+function jR(){}
+_=jR.prototype=new iq();_.tN=tgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function uR(){uR=v3;xR=pR(new oR());yR=xR;}
+function sR(a){uR();return a;}
+function tR(b,a){a.blur();}
+function vR(b){var a=$doc.createElement('DIV');a.tabIndex=0;return a;}
+function wR(c,a,b){a.tabIndex=b;}
+function nR(){}
+_=nR.prototype=new xU();_.tN=tgc+'FocusImpl';_.tI=130;var xR,yR;function qR(){qR=v3;uR();}
+function pR(a){qR();sR(a);return a;}
+function rR(c,b){try{b.focus();}catch(a){if(!b|| !b.focus){throw a;}}}
+function oR(){}
+_=oR.prototype=new nR();_.tN=tgc+'FocusImplIE6';_.tI=131;function aS(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
+function bS(c,b,a){b.enctype=a;b.encoding=a;}
+function cS(c,a,b){if(b)b.__formAction=a.action;a.submit();}
+function zR(){}
+_=zR.prototype=new xU();_.tN=tgc+'FormPanelImpl';_.tI=132;function DR(d,b,a,c){if(b){b.onreadystatechange=function(){if(!b.__formAction)return;if(b.readyState=='complete'){c.Dc();}};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Cc();};}
+function ER(c,b,a){if(b)b.onreadystatechange=null;a.onsubmit=null;}
+function BR(){}
+_=BR.prototype=new zR();_.tN=tgc+'FormPanelImplIE6';_.tI=133;function kS(a){return zd();}
+function dS(){}
+_=dS.prototype=new xU();_.tN=tgc+'PopupImpl';_.tI=134;function gS(c,b){var a=b.__frame;a.parentElement.removeChild(a);b.__frame=null;a.__popup=null;}
+function hS(d,b){var a=$doc.createElement('iframe');a.src="javascript:''";a.scrolling='no';a.frameBorder=0;b.__frame=a;a.__popup=b;var c=a.style;c.position='absolute';c.filter='alpha(opacity=0)';c.visibility=b.style.visibility;c.left=b.offsetLeft;c.top=b.offsetTop;c.width=b.offsetWidth;c.height=b.offsetHeight;c.setExpression('left','this.__popup.offsetLeft');c.setExpression('top','this.__popup.offsetTop');c.setExpression('width','this.__popup.offsetWidth');c.setExpression('height','this.__popup.offsetHeight');b.parentElement.insertBefore(a,b);}
+function iS(b,a,c){if(a.__frame){a.__frame.style.visibility=c?'visible':'hidden';}}
+function eS(){}
+_=eS.prototype=new dS();_.tN=tgc+'PopupImplIE6';_.tI=135;function lS(){}
+_=lS.prototype=new xU();_.tN=tgc+'TextBoxImpl';_.tI=136;function oS(c,b){try{var d=b.document.selection.createRange();var e=d.duplicate();e.moveToElementText(b);d.setEndPoint('EndToStart',e);return d.text.length;}catch(a){return 0;}}
+function pS(e,b,d,c){try{var f=b.createTextRange();f.collapse(true);f.moveStart('character',d);f.moveEnd('character',c);f.select();}catch(a){}}
+function mS(){}
+_=mS.prototype=new lS();_.tN=tgc+'TextBoxImplIE6';_.tI=137;function uS(){}
+_=uS.prototype=new xU();_.tN=ugc+'OutputStream';_.tI=138;function sS(){}
+_=sS.prototype=new uS();_.tN=ugc+'FilterOutputStream';_.tI=139;function wS(){}
+_=wS.prototype=new sS();_.tN=ugc+'PrintStream';_.tI=140;function yS(){}
+_=yS.prototype=new CU();_.tN=vgc+'ArrayStoreException';_.tI=141;function CS(){CS=v3;DS=BS(new AS(),false);ES=BS(new AS(),true);}
+function BS(a,b){CS();a.a=b;return a;}
+function FS(a){return cc(a,55)&&bc(a,55).a==this.a;}
+function aT(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
+function bT(){return this.a?'true':'false';}
+function cT(a){CS();return a?ES:DS;}
+function AS(){}
+_=AS.prototype=new xU();_.eQ=FS;_.hC=aT;_.tS=bT;_.tN=vgc+'Boolean';_.tI=142;_.a=false;var DS,ES;function gT(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+hU(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
+function hT(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
+function jT(b,a){DU(b,a);return b;}
+function iT(){}
+_=iT.prototype=new CU();_.tN=vgc+'ClassCastException';_.tI=143;function sT(b,a){DU(b,a);return b;}
+function rT(){}
+_=rT.prototype=new CU();_.tN=vgc+'IllegalArgumentException';_.tI=144;function vT(b,a){DU(b,a);return b;}
+function uT(){}
+_=uT.prototype=new CU();_.tN=vgc+'IllegalStateException';_.tI=145;function yT(b,a){DU(b,a);return b;}
+function xT(){}
+_=xT.prototype=new CU();_.tN=vgc+'IndexOutOfBoundsException';_.tI=146;function rU(){rU=v3;{wU();}}
+function sU(a){rU();return isNaN(a);}
+function tU(e,d,c,h){rU();var a,b,f,g;if(e===null){throw pU(new oU(),'Unable to parse null');}b=uV(e);f=b>0&&lV(e,0)==45?1:0;for(a=f;a<b;a++){if(gT(lV(e,a),d)==(-1)){throw pU(new oU(),'Could not parse '+e+' in radix '+d);}}g=uU(e,d);if(sU(g)){throw pU(new oU(),'Unable to parse '+e);}else if(g<c||g>h){throw pU(new oU(),'The string '+e+' exceeds the range for the requested data type');}return g;}
+function uU(b,a){rU();return parseInt(b,a);}
+function wU(){rU();vU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
+var vU=null;function BT(){BT=v3;rU();}
+function ET(a){BT();return FT(a,10);}
+function FT(b,a){BT();return ec(tU(b,a,(-2147483648),2147483647));}
+function aU(a){BT();return gW(a);}
+var CT=2147483647,DT=(-2147483648);function cU(){cU=v3;rU();}
+function dU(a){cU();return hW(a);}
+function gU(a){return a<0?-a:a;}
+function hU(a,b){return a<b?a:b;}
+function iU(){}
+_=iU.prototype=new CU();_.tN=vgc+'NegativeArraySizeException';_.tI=147;function lU(b,a){DU(b,a);return b;}
+function kU(){}
+_=kU.prototype=new CU();_.tN=vgc+'NullPointerException';_.tI=148;function pU(b,a){sT(b,a);return b;}
+function oU(){}
+_=oU.prototype=new rT();_.tN=vgc+'NumberFormatException';_.tI=149;function lV(b,a){return b.charCodeAt(a);}
+function nV(f,c){var a,b,d,e,g,h;h=uV(f);e=uV(c);b=hU(h,e);for(a=0;a<b;a++){g=lV(f,a);d=lV(c,a);if(g!=d){return g-d;}}return h-e;}
+function oV(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
+function qV(b,a){if(!cc(a,1))return false;return FV(b,a);}
+function pV(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
+function rV(b,a){return b.indexOf(String.fromCharCode(a));}
+function sV(b,a){return b.indexOf(a);}
+function tV(c,b,a){return c.indexOf(b,a);}
+function uV(a){return a.length;}
+function vV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
+function wV(b,a){return xV(b,a,0);}
+function xV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=EV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
+function yV(b,a){return sV(b,a)==0;}
+function zV(b,a){return b.substr(a,b.length-a);}
+function AV(c,a,b){return c.substr(a,b-a);}
+function BV(d){var a,b,c;c=uV(d);a=Ab('[C',[611],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=lV(d,b);return a;}
+function CV(a){return a.toLowerCase();}
+function DV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
+function EV(a){return Ab('[Ljava.lang.String;',[610],[1],[a],null);}
+function FV(a,b){return String(a)==b;}
+function aW(a){if(cc(a,1)){return nV(this,bc(a,1));}else{throw jT(new iT(),'Cannot compare '+a+" with String '"+this+"'");}}
+function bW(a){return qV(this,a);}
+function dW(){var a=cW;if(!a){a=cW={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
+function eW(){return this;}
+function fW(a){return String.fromCharCode(a);}
+function gW(a){return ''+a;}
+function hW(a){return ''+a;}
+function iW(a){return a!==null?a.tS():'null';}
+_=String.prototype;_.ab=aW;_.eQ=bW;_.hC=dW;_.tS=eW;_.tN=vgc+'String';_.tI=2;var cW=null;function cV(a){fV(a);return a;}
+function dV(a,b){return eV(a,fW(b));}
+function eV(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
+function fV(a){gV(a,'');}
+function gV(b,a){b.js=[a];b.length=a.length;}
+function iV(a){a.qc();return a.js[0];}
+function jV(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
+function kV(){return iV(this);}
+function bV(){}
+_=bV.prototype=new xU();_.qc=jV;_.tS=kV;_.tN=vgc+'StringBuffer';_.tI=150;function kW(){kW=v3;nW=new wS();}
+function lW(){kW();return new Date().getTime();}
+function mW(a){kW();return C(a);}
+var nW;function vW(b,a){DU(b,a);return b;}
+function uW(){}
+_=uW.prototype=new CU();_.tN=vgc+'UnsupportedOperationException';_.tI=151;function bX(b,a){b.c=a;return b;}
+function dX(a){return a.a<a.c.ye();}
+function eX(){return dX(this);}
+function fX(){if(!dX(this)){throw new d3();}return this.c.dc(this.b=this.a++);}
+function gX(){if(this.b<0){throw new uT();}this.c.ae(this.b);this.a=this.b;this.b=(-1);}
+function aX(){}
+_=aX.prototype=new xU();_.gc=eX;_.pc=fX;_.Fd=gX;_.tN=wgc+'AbstractList$IteratorImpl';_.tI=152;_.a=0;_.b=(-1);function pY(f,d,e){var a,b,c;for(b=x1(f.mb());p1(b);){a=q1(b);c=a.ub();if(d===null?c===null:d.eQ(c)){if(e){r1(b);}return a;}}return null;}
+function qY(b){var a;a=b.mb();return rX(new qX(),b,a);}
+function rY(b){var a;a=b2(b);return aY(new FX(),b,a);}
+function sY(a){return pY(this,a,false)!==null;}
+function tY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!cc(d,57)){return false;}f=bc(d,57);c=qY(this);e=f.nc();if(!AY(c,e)){return false;}for(a=tX(c);AX(a);){b=BX(a);h=this.ec(b);g=f.ec(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
+function uY(b){var a;a=pY(this,b,false);return a===null?null:a.ac();}
+function vY(){var a,b,c;b=0;for(c=x1(this.mb());p1(c);){a=q1(c);b+=a.hC();}return b;}
+function wY(){return qY(this);}
+function xY(){var a,b,c,d;d='{';a=false;for(c=x1(this.mb());p1(c);){b=q1(c);if(a){d+=', ';}else{a=true;}d+=iW(b.ub());d+='=';d+=iW(b.ac());}return d+'}';}
+function pX(){}
+_=pX.prototype=new xU();_.cb=sY;_.eQ=tY;_.ec=uY;_.hC=vY;_.nc=wY;_.tS=xY;_.tN=wgc+'AbstractMap';_.tI=153;function AY(e,b){var a,c,d;if(b===e){return true;}if(!cc(b,58)){return false;}c=bc(b,58);if(c.ye()!=e.ye()){return false;}for(a=c.mc();a.gc();){d=a.pc();if(!e.db(d)){return false;}}return true;}
+function BY(a){return AY(this,a);}
+function CY(){var a,b,c;a=0;for(b=this.mc();b.gc();){c=b.pc();if(c!==null){a+=c.hC();}}return a;}
+function yY(){}
+_=yY.prototype=new xW();_.eQ=BY;_.hC=CY;_.tN=wgc+'AbstractSet';_.tI=154;function rX(b,a,c){b.a=a;b.b=c;return b;}
+function tX(b){var a;a=x1(b.b);return yX(new xX(),b,a);}
+function uX(a){return this.a.cb(a);}
+function vX(){return tX(this);}
+function wX(){return this.b.a.c;}
+function qX(){}
+_=qX.prototype=new yY();_.db=uX;_.mc=vX;_.ye=wX;_.tN=wgc+'AbstractMap$1';_.tI=155;function yX(b,a,c){b.a=c;return b;}
+function AX(a){return p1(a.a);}
+function BX(b){var a;a=q1(b.a);return a.ub();}
+function CX(){return AX(this);}
+function DX(){return BX(this);}
+function EX(){r1(this.a);}
+function xX(){}
+_=xX.prototype=new xU();_.gc=CX;_.pc=DX;_.Fd=EX;_.tN=wgc+'AbstractMap$2';_.tI=156;function aY(b,a,c){b.a=a;b.b=c;return b;}
+function cY(b){var a;a=x1(b.b);return hY(new gY(),b,a);}
+function dY(a){return a2(this.a,a);}
+function eY(){return cY(this);}
+function fY(){return this.b.a.c;}
+function FX(){}
+_=FX.prototype=new xW();_.db=dY;_.mc=eY;_.ye=fY;_.tN=wgc+'AbstractMap$3';_.tI=157;function hY(b,a,c){b.a=c;return b;}
+function jY(a){return p1(a.a);}
+function kY(a){var b;b=q1(a.a).ac();return b;}
+function lY(){return jY(this);}
+function mY(){return kY(this);}
+function nY(){r1(this.a);}
+function gY(){}
+_=gY.prototype=new xU();_.gc=lY;_.pc=mY;_.Fd=nY;_.tN=wgc+'AbstractMap$4';_.tI=158;function BZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.bb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
+function CZ(a){BZ(a,a.a,(i0(),j0));}
+function FZ(){FZ=v3;w2(new v2());a0=C1(new a1());FY(new DY());}
+function b0(c,d){FZ();var a,b;b=c.b;for(a=0;a<b;a++){mZ(c,a,d[a]);}}
+function c0(a){FZ();var b;b=a.Ae();CZ(b);b0(a,b);}
+var a0;function i0(){i0=v3;j0=new f0();}
+var j0;function h0(a,b){return bc(a,34).ab(b);}
+function f0(){}
+_=f0.prototype=new xU();_.bb=h0;_.tN=wgc+'Comparators$1';_.tI=159;function n0(){n0=v3;u0=Bb('[Ljava.lang.String;',610,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);v0=Bb('[Ljava.lang.String;',610,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
+function l0(a){n0();q0(a);return a;}
+function m0(b,a){n0();r0(b,a);return b;}
+function o0(c,a){var b,d;d=p0(c);b=p0(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
+function p0(a){return a.jsdate.getTime();}
+function q0(a){a.jsdate=new Date();}
+function r0(b,a){b.jsdate=new Date(a);}
+function s0(a){return a.jsdate.toLocaleString();}
+function t0(h){var a=h.jsdate;var g=B0;var b=x0(h.jsdate.getDay());var e=A0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
+function w0(a){return o0(this,bc(a,59));}
+function x0(a){n0();return u0[a];}
+function y0(a){return cc(a,59)&&p0(this)==p0(bc(a,59));}
+function z0(){return ec(p0(this)^p0(this)>>>32);}
+function A0(a){n0();return v0[a];}
+function B0(a){n0();if(a<10){return '0'+a;}else{return gW(a);}}
+function C0(){return t0(this);}
+function k0(){}
+_=k0.prototype=new xU();_.ab=w0;_.eQ=y0;_.hC=z0;_.tS=C0;_.tN=wgc+'Date';_.tI=160;var u0,v0;function E1(){E1=v3;f2=l2();}
+function B1(a){{D1(a);}}
+function C1(a){E1();B1(a);return a;}
+function D1(a){a.a=ib();a.d=kb();a.b=jc(f2,eb);a.c=0;}
+function F1(b,a){if(cc(a,1)){return p2(b.d,bc(a,1))!==f2;}else if(a===null){return b.b!==f2;}else{return o2(b.a,a,a.hC())!==f2;}}
+function a2(a,b){if(a.b!==f2&&n2(a.b,b)){return true;}else if(k2(a.d,b)){return true;}else if(i2(a.a,b)){return true;}return false;}
+function b2(a){return v1(new l1(),a);}
+function c2(c,a){var b;if(cc(a,1)){b=p2(c.d,bc(a,1));}else if(a===null){b=c.b;}else{b=o2(c.a,a,a.hC());}return b===f2?null:b;}
+function d2(c,a,d){var b;if(cc(a,1)){b=s2(c.d,bc(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=r2(c.a,a,d,a.hC());}if(b===f2){++c.c;return null;}else{return b;}}
+function e2(c,a){var b;if(cc(a,1)){b=u2(c.d,bc(a,1));}else if(a===null){b=c.b;c.b=jc(f2,eb);}else{b=t2(c.a,a,a.hC());}if(b===f2){return null;}else{--c.c;return b;}}
+function g2(e,c){E1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
+function h2(d,a){E1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=e1(c.substring(1),e);a.C(b);}}}
+function i2(f,h){E1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ac();if(n2(h,d)){return true;}}}}return false;}
+function j2(a){return F1(this,a);}
+function k2(c,d){E1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(n2(d,a)){return true;}}}return false;}
+function l2(){E1();}
+function m2(){return b2(this);}
+function n2(a,b){E1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
+function q2(a){return c2(this,a);}
+function o2(f,h,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){return c.ac();}}}}
+function p2(b,a){E1();return b[':'+a];}
+function r2(f,h,j,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){var i=c.ac();c.se(j);return i;}}}else{a=f[e]=[];}var c=e1(h,j);a.push(c);}
+function s2(c,a,d){E1();a=':'+a;var b=c[a];c[a]=d;return b;}
+function t2(f,h,e){E1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ub();if(n2(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ac();}}}}
+function u2(c,a){E1();a=':'+a;var b=c[a];delete c[a];return b;}
+function a1(){}
+_=a1.prototype=new pX();_.cb=j2;_.mb=m2;_.ec=q2;_.tN=wgc+'HashMap';_.tI=161;_.a=null;_.b=null;_.c=0;_.d=null;var f2;function c1(b,a,c){b.a=a;b.b=c;return b;}
+function e1(a,b){return c1(new b1(),a,b);}
+function f1(b){var a;if(cc(b,60)){a=bc(b,60);if(n2(this.a,a.ub())&&n2(this.b,a.ac())){return true;}}return false;}
+function g1(){return this.a;}
+function h1(){return this.b;}
+function i1(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
+function j1(a){var b;b=this.b;this.b=a;return b;}
+function k1(){return this.a+'='+this.b;}
+function b1(){}
+_=b1.prototype=new xU();_.eQ=f1;_.ub=g1;_.ac=h1;_.hC=i1;_.se=j1;_.tS=k1;_.tN=wgc+'HashMap$EntryImpl';_.tI=162;_.a=null;_.b=null;function v1(b,a){b.a=a;return b;}
+function x1(a){return n1(new m1(),a.a);}
+function y1(c){var a,b,d;if(cc(c,60)){a=bc(c,60);b=a.ub();if(F1(this.a,b)){d=c2(this.a,b);return n2(a.ac(),d);}}return false;}
+function z1(){return x1(this);}
+function A1(){return this.a.c;}
+function l1(){}
+_=l1.prototype=new yY();_.db=y1;_.mc=z1;_.ye=A1;_.tN=wgc+'HashMap$EntrySet';_.tI=163;function n1(c,b){var a;c.c=b;a=FY(new DY());if(c.c.b!==(E1(),f2)){bZ(a,c1(new b1(),null,c.c.b));}h2(c.c.d,a);g2(c.c.a,a);c.a=a.mc();return c;}
+function p1(a){return a.a.gc();}
+function q1(a){return a.b=bc(a.a.pc(),60);}
+function r1(a){if(a.b===null){throw vT(new uT(),'Must call next() before remove().');}else{a.a.Fd();e2(a.c,a.b.ub());a.b=null;}}
+function s1(){return p1(this);}
+function t1(){return q1(this);}
+function u1(){r1(this);}
+function m1(){}
+_=m1.prototype=new xU();_.gc=s1;_.pc=t1;_.Fd=u1;_.tN=wgc+'HashMap$EntrySetIterator';_.tI=164;_.a=null;_.b=null;function w2(a){a.a=C1(new a1());return a;}
+function x2(c,a){var b;b=d2(c.a,a,cT(true));return b===null;}
+function z2(a){return tX(qY(a.a));}
+function A2(a){return x2(this,a);}
+function B2(a){return F1(this.a,a);}
+function C2(){return z2(this);}
+function D2(){return this.a.c;}
+function E2(){return qY(this.a).tS();}
+function v2(){}
+_=v2.prototype=new yY();_.C=A2;_.db=B2;_.mc=C2;_.ye=D2;_.tS=E2;_.tN=wgc+'HashSet';_.tI=165;_.a=null;function e3(b,a){DU(b,a);return b;}
+function d3(){}
+_=d3.prototype=new CU();_.tN=wgc+'NoSuchElementException';_.tI=166;function j3(a){a.a=FY(new DY());return a;}
+function k3(b,a){return bZ(b.a,a);}
+function m3(a){return a.a.mc();}
+function n3(a,b){aZ(this.a,a,b);}
+function o3(a){return k3(this,a);}
+function p3(a){return fZ(this.a,a);}
+function q3(a){return gZ(this.a,a);}
+function r3(){return m3(this);}
+function s3(a){return kZ(this.a,a);}
+function t3(){return this.a.b;}
+function u3(){return this.a.Ae();}
+function i3(){}
+_=i3.prototype=new FW();_.B=n3;_.C=o3;_.db=p3;_.dc=q3;_.mc=r3;_.ae=s3;_.ye=t3;_.Ae=u3;_.tN=wgc+'Vector';_.tI=167;_.a=null;function v5(){v5=v3;x5=C1(new a1());}
+function u5(a){v5();return a;}
+function w5(){}
+function f5(){}
+_=f5.prototype=new es();_.jd=w5;_.tN=xgc+'JBRMSFeature';_.tI=168;var x5;function C3(){C3=v3;v5();}
+function B3(a){C3();u5(a);a.a=sK(new eK());a.a.xe('100%');a.a.ne('100%');tK(a.a,A9(new e9()),"<img src='images/category_small.gif'/>Manage categories",true);tK(a.a,l$(new D9()),"<img src='images/status_small.gif'/>Manage states",true);tK(a.a,m8(new i7()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);tK(a.a,F8(new q8()),"<img src='images/backup_small.gif'/>Import Export",true);zK(a.a,0);gs(a,a.a);return a;}
+function D3(){C3();return y3(new x3(),'Admin','Administer the repository');}
+function E3(){}
+function w3(){}
+_=w3.prototype=new f5();_.jd=E3;_.tN=xgc+'AdminFeature';_.tI=169;_.a=null;function h5(c,b,a){c.c=b;c.a=a;return c;}
+function j5(a){if(a.b!==null)return a.b;return a.b=a.fb();}
+function g5(){}
+_=g5.prototype=new xU();_.tN=xgc+'JBRMSFeature$ComponentInfo';_.tI=170;_.a=null;_.b=null;_.c=null;function y3(c,a,b){h5(c,a,b);return c;}
+function A3(){return B3(new w3());}
+function x3(){}
+_=x3.prototype=new g5();_.fb=A3;_.tN=xgc+'AdminFeature$1';_.tI=171;function f4(){f4=v3;v5();}
+function e4(a){f4();u5(a);gs(a,FKb(new hJb()));return a;}
+function g4(){f4();return b4(new a4(),'Deployment','Configure and view frozen snapshots of packages.');}
+function h4(){}
+function F3(){}
+_=F3.prototype=new f5();_.jd=h4;_.tN=xgc+'DeploymentManagementFeature';_.tI=172;function b4(c,a,b){h5(c,a,b);return c;}
+function d4(){return e4(new F3());}
+function a4(){}
+_=a4.prototype=new g5();_.fb=d4;_.tN=xgc+'DeploymentManagementFeature$1';_.tI=173;function o4(){o4=v3;v5();}
+function n4(a){o4();u5(a);gs(a,p4(a));return a;}
+function p4(a){a.a=vw(new tw(),'welcome.html');uO(a.a,'welcome-Page');a.a.ue(true);return a.a;}
+function q4(){o4();return k4(new j4(),'Info','JBoss Rules Managment System.');}
+function r4(){}
+function i4(){}
+_=i4.prototype=new f5();_.jd=r4;_.tN=xgc+'Info';_.tI=174;_.a=null;function k4(c,a,b){h5(c,a,b);return c;}
+function m4(){return n4(new i4());}
+function j4(){}
+_=j4.prototype=new g5();_.fb=m4;_.tN=xgc+'Info$1';_.tI=175;function C4(a){a.c=dA(new hx());a.d=p5(new n5());a.g=pt(new gt());}
+function D4(a){C4(a);return a;}
+function E4(a){nYb(DMb(),u4(new t4(),a));}
+function a5(b,c){var a;a=s5(b.d,c);if(a===null){c5(b);return;}d5(b,a,false);}
+function b5(b){var a,c;m5(b.d);b.h=pt(new gt());uO(b.h,'ks-Sink');c=hP(new fP());c.xe('100%');iP(c,b.c);iP(c,b.h);uO(b.c,'ks-Info');qt(b.g,b.d,(rt(),Bt));qt(b.g,c,(rt(),xt));vt(b.g,b.d,(xA(),AA));wt(b.g,c,'100%');Eg(b);b.e=b6(new y5());b.f=s6(new e6());dq(iH(),b.e);dq(iH(),b.g);dq(iH(),b.f);b.f.xe('100%');b.e.ue(false);b.g.ue(false);b.f.ue(false);E4(b);a=ah();if(uV(a)>0)a5(b,a);else c5(b);}
+function d5(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){tt(c.h,c.b);}c.b=j5(b);t5(c.d,b.c);hA(c.c,b.a);if(a)dh(b.c);qt(c.h,c.b,(rt(),xt));wt(c.h,c.b,'100%');vt(c.h,c.b,(xA(),AA));c.b.jd();}
+function c5(a){d5(a,s5(a.d,'Info'),false);}
+function e5(a){a5(this,a);}
+function s4(){}
+_=s4.prototype=new xU();_.Ec=e5;_.tN=xgc+'JBRMSEntryPoint';_.tI=176;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function jdb(b,a){if(cc(a,69)){ldb();}else if(cc(a,70)){kcb(bc(a,70));}else{jcb(a.vb());}}
+function kdb(a){jdb(this,a);}
+function ldb(){var a;a=ddb(new Ecb(),'images/warning-large.png','Session expired');fdb(a,eA(new hx(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));lF(a,40,40);oF(a);eeb();}
+function hdb(){}
+_=hdb.prototype=new xU();_.Ac=kdb;_.tN=Agc+'GenericCallback';_.tI=177;function u4(b,a){b.a=a;return b;}
+function w4(a){var b;b=bc(a,1);if(b!==null){d6(this.a.e,b);this.a.e.ue(true);this.a.g.ue(true);this.a.f.ue(false);}else{this.a.f.ue(true);w6(this.a.f,y4(new x4(),this));}}
+function t4(){}
+_=t4.prototype=new hdb();_.md=w4;_.tN=xgc+'JBRMSEntryPoint$1';_.tI=178;function y4(b,a){b.a=a;return b;}
+function A4(a){d6(a.a.a.e,v6(a.a.a.f));a.a.a.e.ue(true);a.a.a.f.ue(false);a.a.a.g.ue(true);}
+function B4(){A4(this);}
+function x4(){}
+_=x4.prototype=new xU();_.nb=B4;_.tN=xgc+'JBRMSEntryPoint$2';_.tI=179;function m5(a){q5(a,q4());q5(a,h7());q5(a,E6());q5(a,g4());q5(a,D3());}
+function o5(a){a.a=hP(new fP());a.c=FY(new DY());}
+function p5(a){o5(a);gs(a,a.a);uO(a,'ks-List');return a;}
+function q5(d,a){var b,c;c=a.c;b=jB(new hB(),c,c);uO(b,'ks-SinkItem');iP(d.a,b);bZ(d.c,a);}
+function s5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=bc(gZ(d.c,a),61);if(qV(b.c,c))return b;}return null;}
+function t5(d,c){var a,b;if(d.b!=(-1))pO(Dr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=bc(gZ(d.c,a),61);if(qV(b.c,c)){d.b=a;jO(Dr(d.a,d.b),'ks-SinkItem-selected');return;}}}
+function n5(){}
+_=n5.prototype=new es();_.tN=xgc+'JBRMSFeatureList';_.tI=180;_.b=(-1);function b6(a){a.a=dA(new hx());gs(a,a.a);return a;}
+function d6(b,d){var a,c;a=cV(new bV());eV(a,"<div id='user_info'>");eV(a,'Welcome: &nbsp;'+d);eV(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");eV(a,'<\/div>');hA(b.a,iV(a));c=A5(new z5(),b);ph(c,300000);}
+function y5(){}
+_=y5.prototype=new es();_.tN=xgc+'LoggedInUserInfo';_.tI=181;_.a=null;function B5(){B5=v3;nh();}
+function A5(b,a){B5();lh(b);return b;}
+function C5(){nYb(DMb(),new D5());}
+function z5(){}
+_=z5.prototype=new gh();_.ce=C5;_.tN=xgc+'LoggedInUserInfo$1';_.tI=182;function F5(a){}
+function a6(a){if(a===null){ldb();}}
+function D5(){}
+_=D5.prototype=new xU();_.Ac=F5;_.md=a6;_.tN=xgc+'LoggedInUserInfo$2';_.tI=183;function s6(c){var a,b;c.a=ucb(new rcb(),'images/login.gif','Please enter your details');c.c=zL(new kL());c.c.oe(1);vcb(c.a,'User name:',c.c);b=DE(new CE());b.oe(2);vcb(c.a,'Password:',b);a=qq(new kq(),'Login');a.oe(3);vcb(c.a,'',a);a.x(g6(new f6(),c,b));gs(c,c.a);c.c.le(true);uO(c,'login-Form');return c;}
+function u6(c,a,d,b){aNb(rL(d),rL(b),o6(new n6(),c,a));}
+function v6(a){return rL(a.c);}
+function w6(b,a){b.b=a;}
+function e6(){}
+_=e6.prototype=new es();_.tN=xgc+'LoginWidget';_.tI=184;_.a=null;_.b=null;_.c=null;function g6(b,a,c){b.a=a;b.b=c;return b;}
+function i6(a){ieb('Logging in...');ig(k6(new j6(),this,this.b));}
+function f6(){}
+_=f6.prototype=new xU();_.wc=i6;_.tN=xgc+'LoginWidget$1';_.tI=185;function k6(b,a,c){b.a=a;b.b=c;return b;}
+function m6(){u6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
+function j6(){}
+_=j6.prototype=new xU();_.nb=m6;_.tN=xgc+'LoginWidget$2';_.tI=186;function o6(b,a,c){b.a=c;return b;}
+function q6(c,a){var b;eeb();b=bc(a,55);if(!b.a){Ch('Incorrect username or password.');}else{A4(c.a);}}
+function r6(a){q6(this,a);}
+function n6(){}
+_=n6.prototype=new hdb();_.md=r6;_.tN=xgc+'LoginWidget$3';_.tI=187;function D6(){D6=v3;v5();}
+function C6(b){var a;D6();u5(b);a=dJb(new CIb());gJb(a,x5);gs(b,a);return b;}
+function E6(){D6();return z6(new y6(),'Packages','Configure and view packages of business rule assets.');}
+function F6(){}
+function x6(){}
+_=x6.prototype=new f5();_.jd=F6;_.tN=xgc+'PackageManagementFeature';_.tI=188;function z6(c,a,b){h5(c,a,b);return c;}
+function B6(){return C6(new x6());}
+function y6(){}
+_=y6.prototype=new g5();_.fb=B6;_.tN=xgc+'PackageManagementFeature$1';_.tI=189;function g7(){g7=v3;v5();}
+function f7(b){var a;g7();u5(b);a=ycc(new ubc());Ccc(a,x5);gs(b,a);return b;}
+function h7(){g7();return c7(new b7(),'Rules','Find and edit rules.');}
+function a7(){}
+_=a7.prototype=new f5();_.tN=xgc+'RulesFeature';_.tI=190;function c7(c,a,b){h5(c,a,b);return c;}
+function e7(){return f7(new a7());}
+function b7(){}
+_=b7.prototype=new g5();_.fb=e7;_.tN=xgc+'RulesFeature$1';_.tI=191;function m8(a){var b;b=ucb(new rcb(),'images/backup_large.png','Manage Archived Assets');a.a=FA(new DA());a.a.xe('100%');ycb(b,a.a);a.b=Bdc(new Fcc(),new j7(),'archivedrulelist');bec(a.b,p8(a));aB(a.a,a.b);k8(p8(a));ycb(b,eA(new hx(),'<hr/>'));ycb(b,o8(a));gs(a,b);return a;}
+function o8(d){var a,b,c,e;b=FA(new DA());c=qq(new kq(),'Refresh');c.x(n7(new m7(),d));e=qq(new kq(),'Unarchive');e.x(r7(new q7(),d));a=qq(new kq(),'Delete');a.x(A7(new z7(),d));aB(b,c);aB(b,e);aB(b,a);return b;}
+function p8(b){var a;a=d8(new c8(),b);return i8(new h8(),b,a);}
+function i7(){}
+_=i7.prototype=new es();_.tN=ygc+'ArchivedAssetManager';_.tI=192;_.a=null;_.b=null;function l7(a){var b,c;b=ddb(new Ecb(),'images/snapshot.png','Archived item');c=sK(new eK());fdb(b,c);u5b(C1(new a1()),c,a,true);lF(b,20,20);oF(b);}
+function j7(){}
+_=j7.prototype=new xU();_.td=l7;_.tN=ygc+'ArchivedAssetManager$1';_.tI=193;function n7(b,a){b.a=a;return b;}
+function p7(a){k8(p8(this.a));}
+function m7(){}
+_=m7.prototype=new xU();_.wc=p7;_.tN=ygc+'ArchivedAssetManager$2';_.tI=194;function r7(b,a){b.a=a;return b;}
+function t7(a){bUb(EMb(),Ddc(this.a.b),false,v7(new u7(),this));}
+function q7(){}
+_=q7.prototype=new xU();_.wc=t7;_.tN=ygc+'ArchivedAssetManager$3';_.tI=195;function v7(b,a){b.a=a;return b;}
+function x7(b,a){k8(p8(b.a.a));Ch('Done!');}
+function y7(a){x7(this,a);}
+function u7(){}
+_=u7.prototype=new hdb();_.md=y7;_.tN=ygc+'ArchivedAssetManager$4';_.tI=196;function A7(b,a){b.a=a;return b;}
+function C7(a){bVb(EMb(),Ddc(this.a.b),E7(new D7(),this));}
+function z7(){}
+_=z7.prototype=new xU();_.wc=C7;_.tN=ygc+'ArchivedAssetManager$5';_.tI=197;function E7(b,a){b.a=a;return b;}
+function a8(b,a){k8(p8(b.a.a));Ch('Done!');}
+function b8(a){a8(this,a);}
+function D7(){}
+_=D7.prototype=new hdb();_.md=b8;_.tN=ygc+'ArchivedAssetManager$6';_.tI=198;function d8(b,a){b.a=a;return b;}
+function f8(c,a){var b;b=bc(a,62);aec(c.a.b,b);c.a.b.xe('100%');eeb();}
+function g8(a){f8(this,a);}
+function c8(){}
+_=c8.prototype=new hdb();_.md=g8;_.tN=ygc+'ArchivedAssetManager$7';_.tI=199;function i8(b,a,c){b.a=c;return b;}
+function k8(a){ieb('Loading list, please wait...');xUb(EMb(),a.a);}
+function l8(){k8(this);}
+function h8(){}
+_=h8.prototype=new xU();_.nb=l8;_.tN=ygc+'ArchivedAssetManager$8';_.tI=200;function F8(a){var b;b=ucb(new rcb(),'images/backup_large.png','Import/Export');vcb(b,'',eA(new hx(),'<i>Import and Export rules repository<\/i>'));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Import from an xml file',d9(a));vcb(b,'Export to a zip file',c9(a));ycb(b,eA(new hx(),'<hr/>'));gs(a,b);return a;}
+function b9(a){ieb('Exporting repository, please wait, as this could take some time...');ki(w()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');eeb();}
+function c9(c){var a,b;b=FA(new DA());a=qq(new kq(),'Export');a.x(s8(new r8(),c));aB(b,a);return b;}
+function d9(c){var a,b,d,e;e=Cv(new xv());cw(e,w()+'backup');dw(e,'multipart/form-data');ew(e,'post');b=FA(new DA());e.we(b);d=au(new Ft());du(d,'importFile');aB(b,d);aB(b,CC(new AC(),'import:'));a=odb(new ndb(),'images/upload.gif');fC(a,w8(new v8(),c,e));aB(b,a);Dv(e,B8(new A8(),c,d));return e;}
+function q8(){}
+_=q8.prototype=new es();_.tN=ygc+'BackupManager';_.tI=201;function s8(b,a){b.a=a;return b;}
+function u8(a){b9(this.a);}
+function r8(){}
+_=r8.prototype=new xU();_.wc=u8;_.tN=ygc+'BackupManager$1';_.tI=202;function w8(b,a,c){b.a=c;return b;}
+function y8(a,b){if(Eh('Are you sure you want to import? this will erase any content in the repository currently?')){ieb('Importing repository, please wait, as this could take some time...');gw(b);}}
+function z8(a){y8(this,this.a);}
+function v8(){}
+_=v8.prototype=new xU();_.wc=z8;_.tN=ygc+'BackupManager$2';_.tI=203;function B8(b,a,c){b.a=c;return b;}
+function E8(a){if(uV(cu(this.a))==0){Ch('You did not specify an exported repository filename !');sw(a,true);}else if(!oV(cu(this.a),'.xml')){Ch('Please specify a valid repository xml file.');sw(a,true);}}
+function D8(a){if(sV(a.a,'OK')>(-1)){Ch('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{jcb('Unable to import into the repository. Consult the server logs for error messages.');}eeb();}
+function A8(){}
+_=A8.prototype=new xU();_.ld=E8;_.kd=D8;_.tN=ygc+'BackupManager$3';_.tI=204;function z9(a){hP(new fP());}
+function A9(f){var a,b,c,d,e;z9(f);c=ucb(new rcb(),'images/edit_category.gif','Edit categories');vcb(c,'',eA(new hx(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=v_(new e_(),new f9());uO(f.a,'category-explorer-Admin');b=AH(new sH());uO(b,'metadata-Widget');CH(b,f.a);ycb(c,eA(new hx(),'<hr/>'));vcb(c,'Current categories:',b);e=odb(new ndb(),'images/refresh.gif');e.pe('Refresh categories');fC(e,j9(new i9(),f));vcb(c,'Refresh view:',e);ycb(c,eA(new hx(),'<hr/>'));d=odb(new ndb(),'images/new.gif');d.pe('Create a new category');fC(d,n9(new m9(),f));vcb(c,'Create a new category:',d);a=odb(new ndb(),'images/delete_obj.gif');fC(a,r9(new q9(),f));a.pe("Deletes the currently selected category. You won't be able to delete if the category is in use.");vcb(c,'Delete the currently selected category:',a);gs(f,c);return f;}
+function C9(a){if(Eh('Are you sure you want to delete category: '+a.a.e)){cVb(EMb(),a.a.e,v9(new u9(),a));}}
+function e9(){}
+_=e9.prototype=new es();_.tN=ygc+'CategoryManager';_.tI=205;_.a=null;function h9(a){}
+function f9(){}
+_=f9.prototype=new xU();_.ee=h9;_.tN=ygc+'CategoryManager$1';_.tI=206;function j9(b,a){b.a=a;return b;}
+function l9(a){B_(this.a.a);}
+function i9(){}
+_=i9.prototype=new xU();_.wc=l9;_.tN=ygc+'CategoryManager$2';_.tI=207;function n9(b,a){b.a=a;return b;}
+function p9(b){var a;a=F$(new q$(),this.a.a.e);lF(a,lO(b),mO(b)-400);oF(a);}
+function m9(){}
+_=m9.prototype=new xU();_.wc=p9;_.tN=ygc+'CategoryManager$3';_.tI=208;function r9(b,a){b.a=a;return b;}
+function t9(a){C9(this.a);}
+function q9(){}
+_=q9.prototype=new xU();_.wc=t9;_.tN=ygc+'CategoryManager$4';_.tI=209;function v9(b,a){b.a=a;return b;}
+function x9(b,a){B_(b.a.a);}
+function y9(a){x9(this,a);}
+function u9(){}
+_=u9.prototype=new hdb();_.md=y9;_.tN=ygc+'CategoryManager$5';_.tI=210;function l$(b){var a;a=ucb(new rcb(),'images/status_large.png','Manage statuses');vcb(a,'',eA(new hx(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=mD(new eD());CD(b.a,7);b.a.xe('50%');p$(b);vcb(a,'Current statuses:',b.a);vcb(a,'Add new status:',o$(b));gs(b,a);return b;}
+function n$(b,a){ieb('Creating status');rUb(EMb(),rL(a),h$(new g$(),b,a));}
+function o$(d){var a,b,c;c=FA(new DA());a=zL(new kL());b=qq(new kq(),'Create');b.x(d$(new c$(),d,a));aB(c,a);aB(c,b);return c;}
+function p$(a){ieb('Loading statuses...');wUb(EMb(),F9(new E9(),a));}
+function D9(){}
+_=D9.prototype=new es();_.tN=ygc+'StateManager';_.tI=211;_.a=null;function F9(b,a){b.a=a;return b;}
+function b$(a){var b,c;sD(this.a.a);c=bc(a,63);for(b=0;b<c.a;b++){pD(this.a.a,c[b]);}eeb();}
+function E9(){}
+_=E9.prototype=new hdb();_.md=b$;_.tN=ygc+'StateManager$1';_.tI=212;function d$(b,a,c){b.a=a;b.b=c;return b;}
+function f$(a){n$(this.a,this.b);}
+function c$(){}
+_=c$.prototype=new xU();_.wc=f$;_.tN=ygc+'StateManager$2';_.tI=213;function h$(b,a,c){b.a=a;b.b=c;return b;}
+function j$(b,a){vL(b.b,'');p$(b.a);eeb();}
+function k$(a){j$(this,a);}
+function g$(){}
+_=g$.prototype=new hdb();_.md=k$;_.tN=ygc+'StateManager$3';_.tI=214;function b_(){b_=v3;eF();}
+function E$(a){a.d=lu(new fu());a.b=zL(new kL());a.a=eL(new dL());}
+function F$(d,b){var a,c;b_();bF(d,true);E$(d);d.c=b;d.d.ve(0,0,odb(new ndb(),'images/edit_category.gif'));d.d.ve(0,1,CC(new AC(),c_(d,d.c)));d.d.ve(1,0,CC(new AC(),'Cateogory name'));d.d.ve(1,1,d.b);jL(d.a,4);d.d.ve(2,0,CC(new AC(),'Description'));d.d.ve(2,1,d.a);c=qq(new kq(),'OK');c.x(s$(new r$(),d));d.d.ve(3,0,c);a=qq(new kq(),'Cancel');a.x(w$(new v$(),d));d.d.ve(3,1,a);CH(d,d.d);uO(d,'ks-popups-Popup');return d;}
+function a_(a){a.hc();}
+function c_(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
+function d_(b){var a;a=A$(new z$(),b);if(qV('',rL(b.b))){jcb("Can't have an empty category name.");}else{nUb(EMb(),b.c,rL(b.b),rL(b.a),a);}}
+function q$(){}
+_=q$.prototype=new FE();_.tN=zgc+'CategoryEditor';_.tI=215;_.c=null;function s$(b,a){b.a=a;return b;}
+function u$(a){d_(this.a);}
+function r$(){}
+_=r$.prototype=new xU();_.wc=u$;_.tN=zgc+'CategoryEditor$1';_.tI=216;function w$(b,a){b.a=a;return b;}
+function y$(a){a_(this.a);}
+function v$(){}
+_=v$.prototype=new xU();_.wc=y$;_.tN=zgc+'CategoryEditor$2';_.tI=217;function A$(b,a){b.a=a;return b;}
+function C$(b,a){if(bc(a,55).a){b.a.hc();}else{jcb('Category was not successfully created. ');}}
+function D$(a){C$(this,a);}
+function z$(){}
+_=z$.prototype=new hdb();_.md=D$;_.tN=zgc+'CategoryEditor$3';_.tI=218;function u_(a){a.c=jN(new CL());a.d=hP(new fP());a.f=EMb();}
+function v_(b,a){u_(b);iP(b.d,b.c);b.a=a;A_(b);gs(b,b.d);nN(b.c,b);uO(b,'category-explorer-Tree');return b;}
+function x_(d,b){var a,c;a=bc(b.k,1);c=b.g;while(c!==null){a=bc(c.k,1)+'/'+a;c=c.g;}return a;}
+function y_(b,a){if(a.c.b==1&&cc(sM(a,0),64)){return false;}return true;}
+function z_(a){if(a.b!==null){a.b.ue(false);}}
+function A_(a){mN(a.c,'Please wait...');zUb(a.f,'/',k_(new j_(),a));}
+function B_(a){CN(a.c);a.e=null;A_(a);}
+function C_(c){var a,b;if(c.b===null){b=cq(new bq());dq(b,eA(new hx(),'No categories created yet. Add some categories from the administration screen.'));a=qq(new kq(),'Refresh');a.x(g_(new f_(),c));dq(b,a);uO(b,'small-Text');c.b=b;iP(c.d,c.b);}c.b.ue(true);}
+function D_(a){this.e=x_(this,a);this.a.ee(this.e);}
+function E_(a){var b;if(y_(this,a)){return;}b=a;this.e=x_(this,a);zUb(this.f,this.e,o_(new n_(),this,b));}
+function e_(){}
+_=e_.prototype=new es();_.od=D_;_.pd=E_;_.tN=zgc+'CategoryExplorerWidget';_.tI=219;_.a=null;_.b=null;_.e=null;function g_(b,a){b.a=a;return b;}
+function i_(a){B_(this.a);}
+function f_(){}
+_=f_.prototype=new xU();_.wc=i_;_.tN=zgc+'CategoryExplorerWidget$1';_.tI=220;function k_(b,a){b.a=a;return b;}
+function m_(d){var a,b,c;this.a.e=null;CN(this.a.c);a=bc(d,63);if(a.a==0){C_(this.a);}else{z_(this.a);}for(b=0;b<a.a;b++){c=oM(new mM());wM(c,'<img src="images/category_small.gif"/>'+a[b]);CM(c,a[b]);c.y(s_(new r_()));lN(this.a.c,c);}}
+function j_(){}
+_=j_.prototype=new hdb();_.md=m_;_.tN=zgc+'CategoryExplorerWidget$2';_.tI=221;function o_(b,a,c){b.a=c;return b;}
+function q_(e){var a,b,c,d;a=sM(this.a,0);if(cc(a,64)){this.a.Dd(a);}d=bc(e,63);for(b=0;b<d.a;b++){c=oM(new mM());wM(c,'<img src="images/category_small.gif"/>'+d[b]);CM(c,d[b]);c.y(s_(new r_()));this.a.y(c);}}
+function n_(){}
+_=n_.prototype=new hdb();_.md=q_;_.tN=zgc+'CategoryExplorerWidget$3';_.tI=222;function s_(a){pM(a,'Please wait...');return a;}
+function r_(){}
+_=r_.prototype=new mM();_.tN=zgc+'CategoryExplorerWidget$PendingItem';_.tI=223;function bab(){bab=v3;cab=Bb('[Ljava.lang.String;',610,1,['brl','dslr','xls']);eab=Bb('[Ljava.lang.String;',610,1,['drl','rf','enumeration']);dab=Bb('[Ljava.lang.String;',610,1,['function','dsl','jar','enumeration']);}
+function fab(a){bab();var b;for(b=0;b<dab.a;b++){if(qV(dab[b],a)){return true;}}return false;}
+var cab,dab,eab;function rab(){rab=v3;AL();}
+function pab(a){a.b=bF(new FE(),true);a.a=iab(new hab(),a);}
+function qab(b,a){rab();zL(b);pab(b);oL(b,b);vO(b.a,1);uO(b,'AutoCompleteTextBox');CH(b.b,b.a);jO(b.b,'AutoCompleteChoices');uO(b.a,'list');b.c=a;return b;}
+function sab(a){if(a.e&&uD(a.a)>0){vL(a,vD(a.a,wD(a.a)));}sD(a.a);a.b.hc();a.e=false;}
+function tab(e,a,b,c){var d;d=wD(e.a);d++;if(d>=uD(e.a)){d=0;}BD(e.a,d);}
+function uab(d,a,b,c){sab(d);}
+function vab(d,a,b,c){sD(d.a);d.b.hc();d.e=false;}
+function wab(b,a){if(0==uV(a)||0==uD(b.a)||1==uD(b.a)&&qV(vD(b.a,0),a)){sD(b.a);b.b.hc();b.e=false;}else{BD(b.a,0);CD(b.a,uD(b.a)+1);if(!b.d){dq(iH(),b.b);b.d=true;}oF(b.b);b.e=true;lF(b.b,lO(b),mO(b)+b.yb());b.a.xe(b.zb()+'px');}}
+function xab(d,a,b,c){Aab(d,rL(d));if(uV(rL(d))>0&&d.c!==null){iec(d.c,rL(d),mab(new lab(),d));}}
+function yab(d,a,b,c){sab(d);}
+function zab(e,a,b,c){var d;d=wD(e.a);d--;if(d<0){d=uD(e.a)-1;}BD(e.a,d);}
+function Aab(c,b){var a;a=0;while(a<uD(c.a)){if(yV(CV(vD(c.a,a)),CV(b))){++a;}else{AD(c.a,a);}}wab(c,b);}
+function Bab(d,b,c){var a;sD(d.a);for(a=0;a<b.a;a++){pD(d.a,b[a]);}Aab(d,c);}
+function Cab(a,b,c){if(b==13){uab(this,a,b,c);}else if(b==9){yab(this,a,b,c);}else if(b==40){tab(this,a,b,c);}else if(b==38){zab(this,a,b,c);}else if(b==27){vab(this,a,b,c);}}
+function Dab(a,b,c){}
+function Eab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:xab(this,a,b,c);break;}}
+function gab(){}
+_=gab.prototype=new kL();_.Fc=Cab;_.ad=Dab;_.bd=Eab;_.tN=Agc+'AutoCompleteTextBoxAsync';_.tI=224;_.c=null;_.d=false;_.e=false;function jab(){jab=v3;tD();}
+function iab(b,a){jab();b.a=a;mD(b);return b;}
+function kab(a){if(1==ze(a)){sab(this.a);}}
+function hab(){}
+_=hab.prototype=new eD();_.tc=kab;_.tN=Agc+'AutoCompleteTextBoxAsync$1';_.tI=225;function mab(b,a){b.a=a;return b;}
+function oab(b,a){Bab(b.a,a,rL(b.a));}
+function lab(){}
+_=lab.prototype=new xU();_.tN=Agc+'AutoCompleteTextBoxAsync$2';_.tI=226;function dbb(a){a.j=true;}
+function ebb(a){a.j=false;}
+function fbb(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
+function gbb(){return this.j;}
+function bbb(){}
+_=bbb.prototype=new es();_.lc=gbb;_.tN=Agc+'DirtyableComposite';_.tI=227;_.j=false;function jbb(a){a.b=FY(new DY());}
+function kbb(a){lu(a);jbb(a);return a;}
+function mbb(d){var a,b,c;for(c=d.b.mc();c.gc();){a=bc(c.pc(),65);b=kz(d,a.b,a.a);if(cc(b,66))if(bc(b,66).lc())return true;if(cc(b,67))if(bc(b,67).fc())return true;}return false;}
+function nbb(d,c,b,a){zz(d,c,b,a);if(cc(a,68)){aZ(d.b,d.a++,keb(new jeb(),c,b));}}
+function obb(){return mbb(this);}
+function pbb(c,b,a){nbb(this,c,b,a);}
+function ibb(){}
+_=ibb.prototype=new fu();_.fc=obb;_.ve=pbb;_.tN=Agc+'DirtyableFlexTable';_.tI=228;_.a=0;function rbb(a){FA(a);return a;}
+function tbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=Dr(c,b);if(cc(a,66))if(bc(a,66).lc())return true;if(cc(a,67))if(bc(a,67).fc())return true;}return false;}
+function ubb(){return tbb(this);}
+function qbb(){}
+_=qbb.prototype=new DA();_.fc=ubb;_.tN=Agc+'DirtyableHorizontalPane';_.tI=229;function wbb(a){hP(a);return a;}
+function ybb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=Dr(this,b);if(cc(a,66))if(bc(a,66).lc())return true;if(cc(a,67))if(bc(a,67).fc())return true;}return false;}
+function vbb(){}
+_=vbb.prototype=new fP();_.fc=ybb;_.tN=Agc+'DirtyableVerticalPane';_.tI=230;function gcb(){gcb=v3;zs();}
+function dcb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=odb(new ndb(),'images/close.gif');}
+function ecb(d,b,a){var c,e;gcb();xs(d,true);dcb(d);bD(d.a,b);aB(d.c,eC(new oB(),'images/error_dialog.png'));e=hP(new fP());iP(e,d.a);aB(d.c,e);if(a!==null){fcb(d,e,a);}aB(d.c,d.b);c=d;fC(d.b,Cbb(new Bbb(),d,c));Cs(d,d.c);lF(d,40,40);uO(d,'rule-error-Popup');return d;}
+function fcb(e,c,b){var a,d,f;f=hP(new fP());iP(c,f);d=qq(new kq(),'Details');iP(f,d);a=CC(new AC(),b);a.ue(false);iP(f,a);d.x(acb(new Fbb(),e,a,d));}
+function hcb(a){bD(a.a,'');hF(a);}
+function icb(){hcb(this);}
+function jcb(a){gcb();var b;b=ecb(new Abb(),a,null);eeb();oF(b);}
+function kcb(a){gcb();var b;b=ecb(new Abb(),a.b,a.a);eeb();oF(b);}
+function Abb(){}
+_=Abb.prototype=new us();_.hc=icb;_.tN=Agc+'ErrorPopup';_.tI=231;function Cbb(b,a,c){b.a=c;return b;}
+function Ebb(a){hcb(this.a);}
+function Bbb(){}
+_=Bbb.prototype=new xU();_.wc=Ebb;_.tN=Agc+'ErrorPopup$1';_.tI=232;function acb(b,a,c,d){b.a=c;b.b=d;return b;}
+function ccb(a){this.a.ue(true);this.b.ue(false);}
+function Fbb(){}
+_=Fbb.prototype=new xU();_.wc=ccb;_.tN=Agc+'ErrorPopup$2';_.tI=233;function mcb(b,a){b.a=a;return b;}
+function ocb(a,b,c){}
+function pcb(a,b,c){}
+function qcb(a,b,c){this.a.nb();}
+function lcb(){}
+_=lcb.prototype=new xU();_.Fc=ocb;_.ad=pcb;_.bd=qcb;_.tN=Agc+'FieldEditListener';_.tI=234;_.a=null;function scb(a){a.h=kbb(new ibb());a.g=ou(a.h);}
+function ucb(b,a,c){scb(b);wcb(b,a,c);gs(b,b.h);return b;}
+function tcb(a){scb(a);gs(a,a.h);return a;}
+function vcb(d,c,a){var b;b=eA(new hx(),'<b>'+c+'<\/b>');nbb(d.h,d.i,0,b);Bx(d.g,d.i,0,(oA(),rA),(xA(),AA));nbb(d.h,d.i,1,a);Bx(d.g,d.i,1,(oA(),qA),(xA(),AA));d.i++;}
+function wcb(c,a,d){var b;b=CC(new AC(),d);uO(b,'resource-name-Label');Bcb(c,a,b);}
+function xcb(d,b,e,f){var a,c;c=CC(new AC(),e);uO(c,'resource-name-Label');a=FA(new DA());aB(a,c);aB(a,f);Bcb(d,b,a);}
+function ycb(a,b){nbb(a.h,a.i,0,b);ju(a.g,a.i,0,2);a.i++;}
+function zcb(a){a.i=0;bz(a.h);}
+function Bcb(b,a,c){nbb(b.h,0,0,eC(new oB(),a));Bx(b.g,0,0,(oA(),qA),(xA(),AA));nbb(b.h,0,1,c);b.i++;}
+function Ccb(c,b,a,d){nbb(c.h,b,a,d);}
+function Dcb(){return mbb(this.h);}
+function rcb(){}
+_=rcb.prototype=new bbb();_.lc=Dcb;_.tN=Agc+'FormStyleLayout';_.tI=235;_.i=0;function gdb(){gdb=v3;eF();}
+function ddb(c,b,d){var a;gdb();bF(c,true);c.i=ucb(new rcb(),b,d);uO(c,'ks-popups-Popup');a=odb(new ndb(),'images/close.gif');fC(a,adb(new Fcb(),c));Ccb(c.i,0,2,a);CH(c,c.i);return c;}
+function edb(b,a,c){vcb(b.i,a,c);}
+function fdb(a,b){ycb(a.i,b);}
+function Ecb(){}
+_=Ecb.prototype=new FE();_.tN=Agc+'FormStylePopup';_.tI=236;_.i=null;function adb(b,a){b.a=a;return b;}
+function cdb(a){this.a.hc();}
+function Fcb(){}
+_=Fcb.prototype=new xU();_.wc=cdb;_.tN=Agc+'FormStylePopup$1';_.tI=237;function qdb(){qdb=v3;hC();}
+function odb(b,a){qdb();eC(b,a);uO(b,'image-Button');return b;}
+function pdb(b,a,c){qdb();eC(b,a);uO(b,'image-Button');b.pe(c);return b;}
+function ndb(){}
+_=ndb.prototype=new oB();_.tN=Agc+'ImageButton';_.tI=238;function wdb(c,d,b){var a;a=eC(new oB(),'images/information.gif');a.pe(b);fC(a,tdb(new sdb(),c,d,b));gs(c,a);return c;}
+function rdb(){}
+_=rdb.prototype=new es();_.tN=Agc+'InfoPopup';_.tI=239;function tdb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vdb(b){var a;a=ddb(new Ecb(),'images/information.gif',this.b);fdb(a,zdb(new ydb(),this.a,'small-Text'));lF(a,lO(b),mO(b));oF(a);}
+function sdb(){}
+_=sdb.prototype=new xU();_.wc=vdb;_.tN=Agc+'InfoPopup$1';_.tI=240;function zdb(c,a,b){CC(c,a);uO(c,b);return c;}
+function ydb(){}
+_=ydb.prototype=new AC();_.tN=Agc+'Lbl';_.tI=241;function ceb(){ceb=v3;eF();}
+function aeb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=eC(new oB(),'images/close.gif');}
+function beb(a){ceb();bF(a,true);aeb(a);aB(a.c,a.a);aB(a.c,a.b);aB(a.c,eC(new oB(),'images/searching.gif'));fC(a.b,Ddb(new Cdb(),a));CH(a,a.c);lF(a,0,0);uO(a,'loading-Popup');return a;}
+function deb(a){bD(a.a,'');hF(a);}
+function eeb(){ceb();deb(feb());}
+function feb(){ceb();if(heb===null){heb=beb(new Bdb());}return heb;}
+function geb(){deb(this);}
+function ieb(a){ceb();var b;b=feb();bD(b.a,a);oF(b);}
+function Bdb(){}
+_=Bdb.prototype=new FE();_.hc=geb;_.tN=Agc+'LoadingPopup';_.tI=242;var heb=null;function Ddb(b,a){b.a=a;return b;}
+function Fdb(a){deb(this.a);}
+function Cdb(){}
+_=Cdb.prototype=new xU();_.wc=Fdb;_.tN=Agc+'LoadingPopup$1';_.tI=243;function keb(c,b,a){c.b=b;c.a=a;return c;}
+function jeb(){}
+_=jeb.prototype=new xU();_.tN=Agc+'Pair';_.tI=244;_.a=0;_.b=0;function reb(a){a.b=mD(new eD());uUb(EMb(),oeb(new neb(),a));gs(a,a.b);return a;}
+function teb(a){return vD(a.b,wD(a.b));}
+function ueb(b,a){b.a=a;}
+function meb(){}
+_=meb.prototype=new es();_.tN=Agc+'RulePackageSelector';_.tI=245;_.a=null;_.b=null;function oeb(b,a){b.a=a;return b;}
+function qeb(c){var a,b;b=bc(c,71);for(a=0;a<b.a;a++){pD(this.a.b,b[a].j);if(this.a.a!==null&&qV(b[a].j,this.a.a)){BD(this.a.b,a);}}}
+function neb(){}
+_=neb.prototype=new hdb();_.md=qeb;_.tN=Agc+'RulePackageSelector$1';_.tI=246;function nfb(){nfb=v3;zs();}
+function lfb(f,g,d){var a,b,c,e;nfb();xs(f,true);f.d=g;f.b=d;uO(f,'ks-popups-Popup');As(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=FA(new DA());a=mD(new eD());ieb('Please wait...');wUb(EMb(),xeb(new web(),f,a));oD(a,Beb(new Aeb(),f,a));aB(c,a);e=qq(new kq(),'Change status');e.x(Feb(new Eeb(),f,a));aB(c,e);b=qq(new kq(),'Cancel');b.x(dfb(new cfb(),f));aB(c,b);Cs(f,c);return f;}
+function mfb(b,a){ieb('Updating status...');hUb(EMb(),b.d,b.c,b.b,hfb(new gfb(),b));}
+function ofb(b,a){b.a=a;}
+function veb(){}
+_=veb.prototype=new us();_.tN=Agc+'StatusChangePopup';_.tI=247;_.a=null;_.b=false;_.c=null;_.d=null;function xeb(b,a,c){b.a=c;return b;}
+function zeb(a){var b,c;c=bc(a,63);pD(this.a,'-- Choose one --');for(b=0;b<c.a;b++){pD(this.a,c[b]);}eeb();}
+function web(){}
+_=web.prototype=new hdb();_.md=zeb;_.tN=Agc+'StatusChangePopup$1';_.tI=248;function Beb(b,a,c){b.a=a;b.b=c;return b;}
+function Deb(a){this.a.c=vD(this.b,wD(this.b));}
+function Aeb(){}
+_=Aeb.prototype=new xU();_.vc=Deb;_.tN=Agc+'StatusChangePopup$2';_.tI=249;function Feb(b,a,c){b.a=a;b.b=c;return b;}
+function bfb(b){var a;a=vD(this.b,wD(this.b));mfb(this.a,a);this.a.hc();}
+function Eeb(){}
+_=Eeb.prototype=new xU();_.wc=bfb;_.tN=Agc+'StatusChangePopup$3';_.tI=250;function dfb(b,a){b.a=a;return b;}
+function ffb(a){this.a.hc();}
+function cfb(){}
+_=cfb.prototype=new xU();_.wc=ffb;_.tN=Agc+'StatusChangePopup$4';_.tI=251;function hfb(b,a){b.a=a;return b;}
+function jfb(b,a){b.a.a.nb();eeb();}
+function kfb(a){jfb(this,a);}
+function gfb(){}
+_=gfb.prototype=new hdb();_.md=kfb;_.tN=Agc+'StatusChangePopup$5';_.tI=252;function rfb(){rfb=v3;gdb();}
+function qfb(c,b,a){rfb();ddb(c,'images/attention_needed.png',b);edb(c,'Detail:',sfb(c,a));return c;}
+function sfb(c,b){var a;a=eL(new dL());uO(a,'editable-Surface');jL(a,12);vL(a,b);a.xe('100%');return a;}
+function pfb(){}
+_=pfb.prototype=new Ecb();_.tN=Agc+'ValidationMessageWidget';_.tI=253;function Afb(){Afb=v3;eF();}
+function yfb(a){a.a=BC(new AC());a.c=FA(new DA());a.b=qq(new kq(),'OK');}
+function zfb(b,c,d){var a;Afb();bF(b,true);yfb(b);lF(b,c,d);aB(b.c,b.a);aB(b.c,b.b);a=b;b.b.x(vfb(new ufb(),b,a));CH(b,b.c);uO(b,'rule-warning-Popup');return b;}
+function Bfb(a){bD(a.a,'');hF(a);}
+function Cfb(){Bfb(this);}
+function Dfb(a,c,d){Afb();var b;b=zfb(new tfb(),c,d);bD(b.a,a);oF(b);}
+function tfb(){}
+_=tfb.prototype=new FE();_.hc=Cfb;_.tN=Agc+'WarningPopup';_.tI=254;function vfb(b,a,c){b.a=c;return b;}
+function xfb(a){Bfb(this.a);}
+function ufb(){}
+_=ufb.prototype=new xU();_.wc=xfb;_.tN=Agc+'WarningPopup$1';_.tI=255;function igb(){igb=v3;zs();}
+function hgb(d,b,f){var a,c,e;igb();ws(d);Bs(d,b);e=qq(new kq(),'Yes');c=qq(new kq(),'No');e.x(agb(new Ffb(),d,f));c.x(egb(new dgb(),d));a=FA(new DA());aB(a,e);aB(a,c);Cs(d,a);return d;}
+function Efb(){}
+_=Efb.prototype=new us();_.tN=Agc+'YesNoDialog';_.tI=256;function agb(b,a,c){b.a=a;b.b=c;return b;}
+function cgb(a){this.b.nb();this.a.hc();}
+function Ffb(){}
+_=Ffb.prototype=new xU();_.wc=cgb;_.tN=Agc+'YesNoDialog$1';_.tI=257;function egb(b,a){b.a=a;return b;}
+function ggb(a){this.a.hc();}
+function dgb(){}
+_=dgb.prototype=new xU();_.wc=ggb;_.tN=Agc+'YesNoDialog$2';_.tI=258;function iyb(b,a,c){b.e=c;b.a=a;nyb(b,a.e,a.d.n);myb(b);return b;}
+function jyb(b,a){ycb(b.c,a);}
+function lyb(c,a,d){var b;b=zL(new kL());tL(b,a);vL(b,d);b.ue(false);return b;}
+function myb(a){Dv(a.b,eyb(new dyb(),a));}
+function nyb(d,f,c){var a,b,e;d.b=Cv(new xv());cw(d.b,w()+'asset');dw(d.b,'multipart/form-data');ew(d.b,'post');e=au(new Ft());du(e,'fileUploadElement');b=FA(new DA());aB(b,lyb(d,'attachmentUUID',f));d.d=pdb(new ndb(),'images/upload.gif','Upload');aB(b,e);aB(b,CC(new AC(),'upload:'));aB(b,d.d);CH(d.b,b);d.c=ucb(new rcb(),d.sb(),c);if(!d.a.c)vcb(d.c,'Upload new version:',d.b);a=qq(new kq(),'Download');a.x(Cxb(new Bxb(),d,f));vcb(d.c,'Download current version:',a);fC(d.d,ayb(new Fxb(),d));gs(d,d.c);d.c.xe('100%');uO(d,d.Ab());}
+function oyb(a){ieb('Uploading...');}
+function pyb(a){gw(a.b);}
+function Axb(){}
+_=Axb.prototype=new es();_.tN=Fgc+'AssetAttachmentFileWidget';_.tI=259;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function kgb(b,a,c){iyb(b,a,c);jyb(b,eA(new hx(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
+function mgb(){return 'images/decision_table.png';}
+function ngb(){return 'decision-Table-upload';}
+function jgb(){}
+_=jgb.prototype=new Axb();_.sb=mgb;_.Ab=ngb;_.tN=Bgc+'DecisionTableXLSWidget';_.tI=260;function pgb(){pgb=v3;xgb=C1(new a1());sgb=C1(new a1());rgb=C1(new a1());qgb=Bb('[Ljava.lang.String;',610,1,['not','exists','or']);{d2(xgb,'==','is equal to');d2(xgb,'!=','is not equal to');d2(xgb,'<','is less than');d2(xgb,'<=','less than or equal to');d2(xgb,'>','greater than');d2(xgb,'>=','greater than or equal to');d2(xgb,'|| ==','or equal to');d2(xgb,'|| !=','or not equal to');d2(xgb,'&& !=','and not equal to');d2(xgb,'&& >','and greater than');d2(xgb,'&& <','and less than');d2(xgb,'|| >','or greater than');d2(xgb,'|| <','or less than');d2(xgb,'&& <','and less than');d2(xgb,'|| >=','or greater than (or equal to)');d2(xgb,'|| <=','or less than (or equal to)');d2(xgb,'&& >=','and greater than (or equal to)');d2(xgb,'&& <=','or less than (or equal to)');d2(xgb,'&& contains','and contains');d2(xgb,'|| contains','or contains');d2(xgb,'&& matches','and matches');d2(xgb,'|| matches','or mat!
 ches');d2(xgb,'|| excludes','or excludes');d2(xgb,'&& excludes','and excludes');d2(xgb,'soundslike','sounds like');d2(sgb,'not','There is no');d2(sgb,'exists','There exists');d2(sgb,'or','Any of');d2(rgb,'assert','Insert');d2(rgb,'assertLogical','Logically insert');d2(rgb,'retract','Retract');d2(rgb,'set','Set');d2(rgb,'modify','Modify');}}
+function tgb(a){pgb();return wgb(a,rgb);}
+function ugb(a){pgb();return wgb(a,sgb);}
+function vgb(a){pgb();return wgb(a,xgb);}
+function wgb(a,b){pgb();if(F1(b,a)){return bc(c2(b,a),1);}else{return a;}}
+var qgb,rgb,sgb,xgb;function Bgb(){Bgb=v3;phb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=']);rhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);nhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);lhb=Bb('[Ljava.lang.String;',610,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);qhb=Bb('[Ljava.lang.String;',610,1,['==','!=']);ohb=Bb('[Ljava.lang.String;',610,1,['==','!=','<','>','<=','>=']);shb=Bb('[Ljava.lang.String;',610,1,['==','!=','matches','soundslike']);mhb=Bb('[Ljava.lang.String;',610,1,['contains','excludes','==','!=']);}
+function zgb(a){a.h=C1(new a1());a.c=C1(new a1());a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[612],[10],[0],null);a.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[612],[10],[0],null);}
+function Agb(a){Bgb();zgb(a);return a;}
+function Cgb(c,a,b){var d;d=bc(c.f.ec(a+'.'+b),1);if(d===null){return phb;}else if(qV(d,'String')){return rhb;}else if(qV(d,'Comparable')||qV(d,'Numeric')){return nhb;}else if(qV(d,'Collection')){return lhb;}else{return phb;}}
+function Egb(i,g,d){var a,b,c,e,f,h,j;c=fhb(i);j=bc(c2(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(cc(a,32)){h=bc(a,32);if(qV(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return bc(i.c.ec(f),63);}}}}return bc(i.c.ec(g.c+'.'+d),63);}
+function Dgb(f,g,a,c){var b,d,e,h,i;b=fhb(f);h=bc(c2(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(qV(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return bc(f.c.ec(e),63);}}}return bc(f.c.ec(g+'.'+c),63);}
+function ahb(b,a){return bc(b.g.ec(a),63);}
+function Fgb(a,c){var b;b=bc(a.h.ec(c),1);return bc(a.g.ec(b),63);}
+function bhb(c,a,b){return bc(c.f.ec(a+'.'+b),1);}
+function chb(a){return ghb(a,a.h.nc());}
+function dhb(c,a,b){var d;d=bc(c.f.ec(a+'.'+b),1);if(d===null){return qhb;}else if(qV(d,'String')){return shb;}else if(qV(d,'Comparable')||qV(d,'Numeric')){return ohb;}else if(qV(d,'Collection')){return mhb;}else{return qhb;}}
+function ehb(a,b){return a.h.cb(b);}
+function fhb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=C1(new a1());e=g.c.nc();for(b=tX(e);AX(b);){d=bc(BX(b),1);if(rV(d,91)!=(-1)){c=rV(d,91);a=AV(d,0,c);f=AV(d,c+1,rV(d,93));h=AV(f,0,rV(f,61));d2(g.d,a,h);}}}return g.d;}
+function ghb(e,d){var a,b,c;a=Ab('[Ljava.lang.String;',[610],[1],[d.b.a.c],null);b=0;for(c=tX(d);AX(c);){a[b]=bc(BX(c),1);b++;}return a;}
+function ygb(){}
+_=ygb.prototype=new xU();_.tN=Cgc+'SuggestionCompletionEngine';_.tI=261;_.d=null;_.e=null;_.f=null;_.g=null;var lhb,mhb,nhb,ohb,phb,qhb,rhb,shb;function jhb(b,a){a.a=bc(b.Ad(),72);a.b=bc(b.Ad(),72);a.c=bc(b.Ad(),57);a.e=bc(b.Ad(),63);a.f=bc(b.Ad(),57);a.g=bc(b.Ad(),57);a.h=bc(b.Ad(),57);}
+function khb(b,a){b.bf(a.a);b.bf(a.b);b.bf(a.c);b.bf(a.e);b.bf(a.f);b.bf(a.g);b.bf(a.h);}
+function uhb(a){a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[626],[23],[0],null);}
+function vhb(a){uhb(a);return a;}
+function whb(c,d){var a,b;if(c.b===null){c.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[626],[23],[1],null);c.b[0]=d;}else{b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[626],[23],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
+function yhb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[626],[23],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
+function thb(){}
+_=thb.prototype=new xU();_.tN=Dgc+'ActionFieldList';_.tI=262;function Bhb(b,a){a.b=bc(b.Ad(),73);}
+function Chb(b,a){b.bf(a.b);}
+function Ehb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Dhb(){}
+_=Dhb.prototype=new xU();_.tN=Dgc+'ActionFieldValue';_.tI=263;_.a=null;_.b=null;_.c=null;function cib(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
+function dib(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
+function gib(a,b){vhb(a);a.a=b;return a;}
+function fib(a){vhb(a);return a;}
+function eib(){}
+_=eib.prototype=new thb();_.tN=Dgc+'ActionInsertFact';_.tI=264;_.a=null;function kib(b,a){a.a=b.Bd();Bhb(b,a);}
+function lib(b,a){b.cf(a.a);Chb(b,a);}
+function oib(b,a){gib(b,a);return b;}
+function nib(a){fib(a);return a;}
+function mib(){}
+_=mib.prototype=new eib();_.tN=Dgc+'ActionInsertLogicalFact';_.tI=265;function sib(b,a){kib(b,a);}
+function tib(b,a){lib(b,a);}
+function vib(a,b){a.a=b;return a;}
+function uib(){}
+_=uib.prototype=new xU();_.tN=Dgc+'ActionRetractFact';_.tI=266;_.a=null;function zib(b,a){a.a=b.Bd();}
+function Aib(b,a){b.cf(a.a);}
+function Dib(a,b){vhb(a);a.a=b;return a;}
+function Cib(a){vhb(a);return a;}
+function Bib(){}
+_=Bib.prototype=new thb();_.tN=Dgc+'ActionSetField';_.tI=267;_.a=null;function bjb(b,a){a.a=b.Bd();Bhb(b,a);}
+function cjb(b,a){b.cf(a.a);Chb(b,a);}
+function fjb(b,a){Dib(b,a);return b;}
+function ejb(a){Cib(a);return a;}
+function djb(){}
+_=djb.prototype=new Bib();_.tN=Dgc+'ActionUpdateField';_.tI=268;function jjb(b,a){bjb(b,a);}
+function kjb(b,a){cjb(b,a);}
+function mjb(a,b){a.b=b;return a;}
+function njb(e,d){var a,b,c;if(e.a===null){e.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[634],[31],[0],null);}b=e.a;c=Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[634],[31],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
+function ljb(){}
+_=ljb.prototype=new xU();_.tN=Dgc+'CompositeFactPattern';_.tI=269;_.a=null;_.b=null;function rjb(b,a){a.a=bc(b.Ad(),74);a.b=b.Bd();}
+function sjb(b,a){b.bf(a.a);b.cf(a.b);}
+function ujb(d,a){var b,c;if(d.b===null){d.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[624],[21],[1],null);Cb(d.b,0,a);}else{c=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[624],[21],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Cb(c,b,d.b[b]);}Cb(c,d.b.a,a);d.b=c;}}
+function wjb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[624],[21],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Cb(d,c,e.b[a]);c++;}}e.b=d;}
+function tjb(){}
+_=tjb.prototype=new xU();_.tN=Dgc+'CompositeFieldConstraint';_.tI=270;_.a=null;_.b=null;function zjb(b,a){a.a=b.Bd();a.b=bc(b.Ad(),75);}
+function Ajb(b,a){b.cf(a.a);b.bf(a.b);}
+function ykb(){}
+_=ykb.prototype=new xU();_.tN=Dgc+'ISingleFieldConstraint';_.tI=271;_.e=0;_.f=null;function Bjb(){}
+_=Bjb.prototype=new ykb();_.tN=Dgc+'ConnectiveConstraint';_.tI=272;_.a=null;function Fjb(b,a){a.a=b.Bd();Ckb(b,a);}
+function akb(b,a){b.cf(a.a);Dkb(b,a);}
+function dkb(b){var a;a=new bkb();a.a=b.a;return a;}
+function ekb(e){var a,b,c,d;b=BV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=ac(a);}}return d;}
+function jkb(){return ekb(this);}
+function bkb(){}
+_=bkb.prototype=new xU();_.tS=jkb;_.tN=Dgc+'DSLSentence';_.tI=273;_.a=null;function hkb(b,a){a.a=b.Bd();}
+function ikb(b,a){b.cf(a.a);}
+function lkb(b,a){b.c=a;return b;}
+function mkb(b,a){if(b.b===null)b.b=new tjb();ujb(b.b,a);}
+function okb(a){if(a.b===null){return Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[624],[21],[0],null);}else{return a.b.b;}}
+function pkb(a){if(a.a!==null&& !qV('',a.a)){return true;}else{return false;}}
+function qkb(b,a){wjb(b.b,a);}
+function kkb(){}
+_=kkb.prototype=new xU();_.tN=Dgc+'FactPattern';_.tI=274;_.a=null;_.b=null;_.c=null;function tkb(b,a){a.a=b.Bd();a.b=bc(b.Ad(),30);a.c=b.Bd();}
+function ukb(b,a){b.cf(a.a);b.bf(a.b);b.cf(a.c);}
+function Ckb(b,a){a.e=b.yd();a.f=b.Bd();}
+function Dkb(b,a){b.Fe(a.e);b.cf(a.f);}
+function alb(b,a,c){b.a=a;b.b=c;return b;}
+function glb(){var a;a=cV(new bV());eV(a,this.a);if(qV('no-loop',this.a)){eV(a,' ');eV(a,this.b===null?'true':this.b);}else if(qV('salience',this.a)){eV(a,' ');eV(a,this.b);}else if(this.b!==null){eV(a,' "');eV(a,this.b);eV(a,'"');}return iV(a);}
+function Fkb(){}
+_=Fkb.prototype=new xU();_.tS=glb;_.tN=Dgc+'RuleAttribute';_.tI=275;_.a=null;_.b=null;function elb(b,a){a.a=b.Bd();a.b=b.Bd();}
+function flb(b,a){b.cf(a.a);b.cf(a.b);}
+function ilb(a){a.a=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[18],[0],null);a.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[19],[0],null);a.e=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[20],[0],null);}
+function jlb(a){ilb(a);return a;}
+function klb(e,a){var b,c,d;c=e.a;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[18],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function llb(e,d){var a,b,c;if(e.b===null){e.b=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[19],[0],null);}b=e.b;c=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[19],[b.a+1],null);for(a=0;a<b.a;a++){Cb(c,a,b[a]);}Cb(c,b.a,d);e.b=c;}
+function mlb(e,a){var b,c,d;if(e.e===null){e.e=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[20],[0],null);}c=e.e;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[20],[c.a+1],null);for(b=0;b<c.a;b++){Cb(d,b,c[b]);}Cb(d,c.a,a);e.e=d;}
+function olb(h){var a,b,c,d,e,f,g;g=FY(new DY());for(d=0;d<h.b.a;d++){f=h.b[d];if(cc(f,31)){b=bc(f,31);if(pkb(b)){bZ(g,b.a);}for(e=0;e<okb(b).a;e++){c=okb(b)[e];if(cc(c,32)){a=bc(c,32);if(Flb(a)){bZ(g,a.b);}}}}}return g;}
+function plb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(cc(c.b[a],31)){b=bc(c.b[a],31);if(b.a!==null&&qV(d,b.a)){return b;}}}return null;}
+function qlb(d){var a,b,c;if(d.b===null){return null;}b=FY(new DY());for(a=0;a<d.b.a;a++){if(cc(d.b[a],31)){c=bc(d.b[a],31);if(c.a!==null){bZ(b,c.a);}}}return b;}
+function rlb(k,b){var a,c,d,e,f,g,h,i,j;j=FY(new DY());for(f=0;f<k.b.a;f++){i=k.b[f];if(cc(i,31)){d=bc(i,31);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(cc(e,32)){a=bc(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(Flb(a)){bZ(j,a.b);}}}}if(pkb(d)){bZ(j,d.a);}}else{if(pkb(d)){bZ(j,d.a);}}}}return j;}
+function slb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(cc(e.e[b],27)){d=bc(e.e[b],27);if(qV(d.a,a)){return true;}}else if(cc(e.e[b],26)){c=bc(e.e[b],26);if(qV(c.a,a)){return true;}}}return false;}
+function tlb(b,a){return fZ(olb(b),a);}
+function ulb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[18],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function vlb(f,b){var a,c,d,e;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[19],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Cb(d,c,f.b[a]);c++;}else{if(cc(f.b[a],31)){e=bc(f.b[a],31);if(e.a!==null&&slb(f,e.a)){return false;}}}}f.b=d;return true;}
+function wlb(e,b){var a,c,d;d=Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[20],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Cb(d,c,e.e[a]);c++;}}e.e=d;}
+function hlb(){}
+_=hlb.prototype=new xU();_.tN=Dgc+'RuleModel';_.tI=276;_.c='1.0';_.d=null;function zlb(b,a){a.a=bc(b.Ad(),76);a.b=bc(b.Ad(),77);a.c=b.Bd();a.d=b.Bd();a.e=bc(b.Ad(),78);}
+function Alb(b,a){b.bf(a.a);b.bf(a.b);b.cf(a.c);b.cf(a.d);b.bf(a.e);}
+function Clb(b,a){b.c=a;return b;}
+function Dlb(c){var a,b;if(c.a===null){c.a=Bb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',618,15,[new Bjb()]);}else{b=Ab('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[618],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new Bjb();c.a=b;}}
+function Flb(a){if(a.b!==null&& !qV('',a.b)){return true;}else{return false;}}
+function Blb(){}
+_=Blb.prototype=new ykb();_.tN=Dgc+'SingleFieldConstraint';_.tI=277;_.a=null;_.b=null;_.c=null;_.d=null;function cmb(b,a){a.a=bc(b.Ad(),79);a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();Ckb(b,a);}
+function dmb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);Dkb(b,a);}
+function Dmb(d,b,c,a){d.e=c;d.a=a;d.d=kbb(new ibb());d.f=b;d.b=c.a;d.c=ahb(d.a,c.a);uO(d.d,'model-builderInner-Background');Fmb(d);gs(d,d.d);return d;}
+function Fmb(e){var a,b,c,d,f;bz(e.d);nbb(e.d,0,0,bnb(e));c=kbb(new ibb());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];nbb(c,a,0,anb(e,f));nbb(c,a,1,dnb(e,f));b=a;d=odb(new ndb(),'images/delete_item_small.gif');fC(d,gmb(new fmb(),e,b));nbb(c,a,2,d);}nbb(e.d,0,1,c);}
+function anb(a,b){return CC(new AC(),b.a);}
+function bnb(d){var a,b,c;c=FA(new DA());b=odb(new ndb(),'images/add_field_to_fact.gif');b.pe('Add another field to this so you can set its value.');fC(b,wmb(new vmb(),d));a='assert';if(cc(d.e,25)){a='assertLogical';}aB(c,zdb(new ydb(),tgb(a)+' '+d.e.a,'modeller-action-Label'));aB(c,b);return c;}
+function cnb(d,e){var a,b,c;c=ddb(new Ecb(),'images/newex_wiz.gif','Add a field');uO(c,'ks-popups-Popup');a=mD(new eD());pD(a,'...');for(b=0;b<d.c.a;b++){pD(a,d.c[b]);}BD(a,0);edb(c,'Add field',a);oD(a,Amb(new zmb(),d,a,c));lF(c,lO(e),mO(e));oF(c);}
+function dnb(c,d){var a,b;b=Dgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return xqb(d.c,omb(new nmb(),c,d),b);}else{a=zL(new kL());vL(a,d.c);nL(a,smb(new rmb(),c,d,a));if(qV(d.b,'Numeric')){oL(a,rob(a));}return a;}}
+function emb(){}
+_=emb.prototype=new bbb();_.tN=Egc+'ActionInsertFactWidget';_.tI=278;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function gmb(b,a,c){b.a=a;b.b=c;return b;}
+function imb(b){var a;a=hgb(new Efb(),'Remove this item?',kmb(new jmb(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
+function fmb(){}
+_=fmb.prototype=new xU();_.wc=imb;_.tN=Egc+'ActionInsertFactWidget$1';_.tI=279;function kmb(b,a,c){b.a=a;b.b=c;return b;}
+function mmb(){yhb(this.a.a.e,this.b);rxb(this.a.a.f);}
+function jmb(){}
+_=jmb.prototype=new xU();_.nb=mmb;_.tN=Egc+'ActionInsertFactWidget$2';_.tI=280;function omb(b,a,c){b.a=c;return b;}
+function qmb(a){this.a.c=a;}
+function nmb(){}
+_=nmb.prototype=new xU();_.Ce=qmb;_.tN=Egc+'ActionInsertFactWidget$3';_.tI=281;function smb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function umb(a){this.c.c=rL(this.b);rxb(this.a.f);}
+function rmb(){}
+_=rmb.prototype=new xU();_.vc=umb;_.tN=Egc+'ActionInsertFactWidget$4';_.tI=282;function wmb(b,a){b.a=a;return b;}
+function ymb(a){cnb(this.a,a);}
+function vmb(){}
+_=vmb.prototype=new xU();_.wc=ymb;_.tN=Egc+'ActionInsertFactWidget$5';_.tI=283;function Amb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Cmb(c){var a,b;a=vD(this.b,wD(this.b));b=bhb(this.a.a,this.a.e.a,a);whb(this.a.e,Ehb(new Dhb(),a,'',b));rxb(this.a.f);this.c.hc();}
+function zmb(){}
+_=zmb.prototype=new xU();_.vc=Cmb;_.tN=Egc+'ActionInsertFactWidget$6';_.tI=284;function fnb(c,a,b){c.a=lu(new fu());uO(c.a,'model-builderInner-Background');c.a.ve(0,0,zdb(new ydb(),tgb('retract'),'modeller-action-Label'));c.a.ve(0,1,zdb(new ydb(),'['+b.a+']','modeller-action-Label'));gs(c,c.a);return c;}
+function enb(){}
+_=enb.prototype=new es();_.tN=Egc+'ActionRetractFactWidget';_.tI=285;_.a=null;function kob(e,b,d,a){var c;e.d=d;e.a=a;e.c=kbb(new ibb());e.e=b;uO(e.c,'model-builderInner-Background');if(ehb(e.a,d.a)){e.b=Fgb(e.a,d.a);e.f=bc(e.a.h.ec(d.a),1);}else{c=plb(b.c,d.a);e.b=ahb(e.a,c.c);e.f=c.c;}mob(e);gs(e,e.c);return e;}
+function mob(e){var a,b,c,d,f;bz(e.c);nbb(e.c,0,0,oob(e));c=kbb(new ibb());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];nbb(c,a,0,nob(e,f));nbb(c,a,1,qob(e,f));b=a;d=odb(new ndb(),'images/delete_item_small.gif');fC(d,jnb(new inb(),e,b));nbb(c,a,2,d);}nbb(e.c,0,1,c);}
+function nob(a,b){return CC(new AC(),b.a);}
+function oob(d){var a,b,c;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe('Add another field to this so you can set its value.');fC(a,rnb(new qnb(),d));c='set';if(cc(d.d,28)){c='modify';}aB(b,zdb(new ydb(),tgb(c)+' ['+d.d.a+']','modeller-action-Label'));aB(b,a);return b;}
+function pob(d,e){var a,b,c;c=ddb(new Ecb(),'images/newex_wiz.gif','Add a field');uO(c,'ks-popups-Popup');a=mD(new eD());pD(a,'...');for(b=0;b<d.b.a;b++){pD(a,d.b[b]);}BD(a,0);edb(c,'Add field',a);oD(a,vnb(new unb(),d,a,c));lF(c,lO(e),mO(e));oF(c);}
+function qob(d,f){var a,b,c,e;e='';if(ehb(d.a,d.d.a)){e=bc(d.a.h.ec(d.d.a),1);}else{e=plb(d.e.c,d.d.a).c;}b=Dgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return xqb(f.c,znb(new ynb(),d,f),b);}else{c=AH(new sH());a=zL(new kL());vL(a,f.c);if(uV(f.c)!=0){BL(a,uV(f.c));}if(qV(f.b,'Numeric')){oL(a,rob(a));}nL(a,Dnb(new Cnb(),d,f,a));oL(a,mcb(new lcb(),bob(new aob(),d,a)));CH(c,a);return c;}}
+function rob(a){return fob(new eob(),a);}
+function sob(){return mbb(this.c);}
+function hnb(){}
+_=hnb.prototype=new bbb();_.lc=sob;_.tN=Egc+'ActionSetFieldWidget';_.tI=286;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function jnb(b,a,c){b.a=a;b.b=c;return b;}
+function lnb(b){var a;a=hgb(new Efb(),'Remove this item?',nnb(new mnb(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
+function inb(){}
+_=inb.prototype=new xU();_.wc=lnb;_.tN=Egc+'ActionSetFieldWidget$1';_.tI=287;function nnb(b,a,c){b.a=a;b.b=c;return b;}
+function pnb(){yhb(this.a.a.d,this.b);rxb(this.a.a.e);}
+function mnb(){}
+_=mnb.prototype=new xU();_.nb=pnb;_.tN=Egc+'ActionSetFieldWidget$2';_.tI=288;function rnb(b,a){b.a=a;return b;}
+function tnb(a){pob(this.a,a);}
+function qnb(){}
+_=qnb.prototype=new xU();_.wc=tnb;_.tN=Egc+'ActionSetFieldWidget$3';_.tI=289;function vnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function xnb(c){var a,b;a=vD(this.b,wD(this.b));b=bhb(this.a.a,this.a.f,a);whb(this.a.d,Ehb(new Dhb(),a,'',b));rxb(this.a.e);this.c.hc();}
+function unb(){}
+_=unb.prototype=new xU();_.vc=xnb;_.tN=Egc+'ActionSetFieldWidget$4';_.tI=290;function znb(b,a,c){b.a=c;return b;}
+function Bnb(a){this.a.c=a;}
+function ynb(){}
+_=ynb.prototype=new xU();_.Ce=Bnb;_.tN=Egc+'ActionSetFieldWidget$5';_.tI=291;function Dnb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Fnb(a){this.b.c=rL(this.a);}
+function Cnb(){}
+_=Cnb.prototype=new xU();_.vc=Fnb;_.tN=Egc+'ActionSetFieldWidget$6';_.tI=292;function bob(b,a,c){b.a=c;return b;}
+function dob(){BL(this.a,uV(rL(this.a)));}
+function aob(){}
+_=aob.prototype=new xU();_.nb=dob;_.tN=Egc+'ActionSetFieldWidget$7';_.tI=293;function fob(a,b){a.a=b;return a;}
+function hob(a,b,c){}
+function iob(c,a,b){if(hT(a)&&a!=61&& !yV(rL(this.a),'=')){pL(bc(c,80));}}
+function job(a,b,c){}
+function eob(){}
+_=eob.prototype=new xU();_.Fc=hob;_.ad=iob;_.bd=job;_.tN=Egc+'ActionSetFieldWidget$8';_.tI=294;function Cob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=kbb(new ibb());uO(d.b,'model-builderInner-Background');Eob(d);gs(d,d.b);return d;}
+function Eob(c){var a,b,d;nbb(c.b,0,0,Fob(c));if(c.d.a!==null){d=wbb(new vbb());a=c.d.a;for(b=0;b<a.a;b++){iP(d,ptb(new nrb(),c.c,a[b],c.a,false));}nbb(c.b,0,1,d);}}
+function Fob(c){var a,b;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");fC(a,vob(new uob(),c));aB(b,CC(new AC(),ugb(c.d.b)));aB(b,a);uO(b,'modeller-composite-Label');return b;}
+function apb(e,f){var a,b,c,d;a=mD(new eD());b=e.a.e;pD(a,'Choose...');for(c=0;c<b.a;c++){pD(a,b[c]);}BD(a,0);d=ddb(new Ecb(),'images/new_fact.gif','New fact pattern...');edb(d,'choose fact type',a);oD(a,zob(new yob(),e,a,d));uO(d,'ks-popups-Popup');lF(d,lO(f)-400,mO(f));oF(d);}
+function bpb(){return mbb(this.b);}
+function tob(){}
+_=tob.prototype=new bbb();_.lc=bpb;_.tN=Egc+'CompositeFactPatternWidget';_.tI=295;_.a=null;_.b=null;_.c=null;_.d=null;function vob(b,a){b.a=a;return b;}
+function xob(a){apb(this.a,a);}
+function uob(){}
+_=uob.prototype=new xU();_.wc=xob;_.tN=Egc+'CompositeFactPatternWidget$1';_.tI=296;function zob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Bob(a){njb(this.a.d,lkb(new kkb(),vD(this.b,wD(this.b))));rxb(this.a.c);this.c.hc();}
+function yob(){}
+_=yob.prototype=new xU();_.vc=Bob;_.tN=Egc+'CompositeFactPatternWidget$2';_.tI=297;function nqb(f,d,b,a,c,g){var e;f.a=a;if(qV(g,'Numeric')){f.d=true;}else{f.d=false;}if(qV(g,'Boolean')){f.b=Bb('[Ljava.lang.String;',610,1,['true','false']);}f.c=c.c;e=c.a;f.b=Egb(e,d,b);f.e=AH(new sH());sqb(f);gs(f,f.e);return f;}
+function oqb(c,b){var a;a=zL(new kL());uO(a,'constraint-value-Editor');if(b.f===null){vL(a,'');}else{vL(a,b.f);}if(b.f===null||uV(b.f)<5){BL(a,3);}else{BL(a,uV(b.f)-1);}nL(a,Dpb(new Cpb(),c,b,a));oL(a,mcb(new lcb(),bqb(new aqb(),c,a)));return a;}
+function qqb(b,a){sqb(b);a.hc();}
+function rqb(b){var a;if(b.b!==null){return xqb(b.a.f,qpb(new ppb(),b),b.b);}else{a=oqb(b,b.a);if(b.d){oL(a,new tpb());}a.pe('This is a literal value. What is shown is what the field is checked against.');return a;}}
+function sqb(b){var a;b.e.F();if(b.a.e==0){a=eC(new oB(),'images/edit.gif');fC(a,ipb(new dpb(),b));CH(b.e,a);}else{switch(b.a.e){case 1:CH(b.e,rqb(b));break;case 3:CH(b.e,tqb(b));break;case 2:CH(b.e,vqb(b));break;default:break;}}}
+function tqb(e){var a,b,c,d;a=oqb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=eC(new oB(),'images/function_assets.gif');c.pe(d);a.pe(d);b=wqb(e,c,a);return b;}
+function uqb(e,g,a){var b,c,d,f;b=ddb(new Ecb(),'images/newex_wiz.gif','Field value');d=qq(new kq(),'Literal value');d.x(fqb(new eqb(),e,a,b));edb(b,'Literal value:',wqb(e,d,wdb(new rdb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));fdb(b,eA(new hx(),'<hr/>'));fdb(b,zdb(new ydb(),'Advanced options','weak-Text'));if(rlb(e.c,e.a).b>0){f=qq(new kq(),'Bound variable');f.x(jqb(new iqb(),e,a,b));edb(b,'A variable:',wqb(e,f,wdb(new rdb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=qq(new kq(),'New formula');c.x(fpb(new epb(),e,a,b));edb(b,'A formula:',wqb(e,c,wdb(new rdb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));lF(b,lO(g),mO(g));oF(b);}
+function vqb(c){var a,b,d,e;e=rlb(c.c,c.a);a=mD(new eD());if(c.a.f===null){pD(a,'Choose ...');}for(b=0;b<e.b;b++){d=bc(gZ(e,b),1);pD(a,d);if(c.a.f!==null&&qV(c.a.f,d)){BD(a,b);}}oD(a,mpb(new lpb(),c,a));return a;}
+function wqb(d,a,c){var b;b=FA(new DA());aB(b,a);aB(b,c);b.xe('100%');return b;}
+function xqb(b,k,d){var a,c,e,f,g,h,i,j;a=mD(new eD());if(b===null||qV('',b)){pD(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(rV(i,61)>0){h=zqb(i);f=h[0];c=h[1];j=f;qD(a,c,f);}else{qD(a,i,i);j=i;}if(b!==null&&qV(b,j)){BD(a,e);g=true;}}if(b!==null&& !g){qD(a,b,b);BD(a,d.a);}oD(a,zpb(new ypb(),k,a));return a;}
+function yqb(){return this.j;}
+function zqb(c){var a,b;b=Ab('[Ljava.lang.String;',[610],[1],[2],null);a=rV(c,61);b[0]=AV(c,0,a);b[1]=AV(c,a+1,uV(c));return b;}
+function cpb(){}
+_=cpb.prototype=new bbb();_.lc=yqb;_.tN=Egc+'ConstraintValueEditor';_.tI=298;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function ipb(b,a){b.a=a;return b;}
+function kpb(a){uqb(this.a,a,this.a.a);}
+function dpb(){}
+_=dpb.prototype=new xU();_.wc=kpb;_.tN=Egc+'ConstraintValueEditor$1';_.tI=299;function fpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function hpb(a){this.b.e=3;qqb(this.a,this.c);}
+function epb(){}
+_=epb.prototype=new xU();_.wc=hpb;_.tN=Egc+'ConstraintValueEditor$10';_.tI=300;function mpb(b,a,c){b.a=a;b.b=c;return b;}
+function opb(a){this.a.a.f=vD(this.b,wD(this.b));}
+function lpb(){}
+_=lpb.prototype=new xU();_.vc=opb;_.tN=Egc+'ConstraintValueEditor$2';_.tI=301;function qpb(b,a){b.a=a;return b;}
+function spb(a){this.a.a.f=a;}
+function ppb(){}
+_=ppb.prototype=new xU();_.Ce=spb;_.tN=Egc+'ConstraintValueEditor$3';_.tI=302;function vpb(a,b,c){}
+function wpb(c,a,b){if(hT(a)){pL(bc(c,80));}}
+function xpb(a,b,c){}
+function tpb(){}
+_=tpb.prototype=new xU();_.Fc=vpb;_.ad=wpb;_.bd=xpb;_.tN=Egc+'ConstraintValueEditor$4';_.tI=303;function zpb(a,c,b){a.b=c;a.a=b;return a;}
+function Bpb(a){this.b.Ce(xD(this.a,wD(this.a)));}
+function ypb(){}
+_=ypb.prototype=new xU();_.vc=Bpb;_.tN=Egc+'ConstraintValueEditor$5';_.tI=304;function Dpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Fpb(a){this.c.f=rL(this.b);dbb(this.a);}
+function Cpb(){}
+_=Cpb.prototype=new xU();_.vc=Fpb;_.tN=Egc+'ConstraintValueEditor$6';_.tI=305;function bqb(b,a,c){b.a=c;return b;}
+function dqb(){BL(this.a,uV(rL(this.a)));}
+function aqb(){}
+_=aqb.prototype=new xU();_.nb=dqb;_.tN=Egc+'ConstraintValueEditor$7';_.tI=306;function fqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function hqb(a){this.b.e=1;qqb(this.a,this.c);}
+function eqb(){}
+_=eqb.prototype=new xU();_.wc=hqb;_.tN=Egc+'ConstraintValueEditor$8';_.tI=307;function jqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function lqb(a){this.b.e=2;qqb(this.a,this.c);}
+function iqb(){}
+_=iqb.prototype=new xU();_.wc=lqb;_.tN=Egc+'ConstraintValueEditor$9';_.tI=308;function grb(b,a){b.a=rbb(new qbb());b.c=FY(new DY());b.b=a;jrb(b);return b;}
+function hrb(b,a){aB(b.a,a);bZ(b.c,a);}
+function jrb(a){krb(a,a.b.a);gs(a,a.a);}
+function krb(g,e){var a,b,c,d,f;b=BV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=brb(new Fqb(),g);hrb(g,c);}else if(a==125){frb(c,uV(drb(c))+1);c=null;}else{if(c===null&&d===null){d=BC(new AC());hrb(g,d);}if(d!==null){bD(d,aD(d)+ac(a));}else if(c!==null){erb(c,drb(c)+ac(a));}}}}
+function lrb(c){var a,b,d;b='';for(a=c.c.mc();a.gc();){d=bc(a.pc(),13);if(cc(d,81)){b=b+aD(bc(d,81));}else if(cc(d,82)){b=b+' {'+drb(bc(d,82))+'} ';}}c.b.a=DV(b);}
+function mrb(){return tbb(this.a);}
+function Aqb(){}
+_=Aqb.prototype=new bbb();_.lc=mrb;_.tN=Egc+'DSLSentenceWidget';_.tI=309;_.a=null;_.b=null;_.c=null;function Cqb(b,a){b.a=a;return b;}
+function Eqb(a){lrb(this.a.c);dbb(this.a);}
+function Bqb(){}
+_=Bqb.prototype=new xU();_.vc=Eqb;_.tN=Egc+'DSLSentenceWidget$1';_.tI=310;function arb(a){a.b=FA(new DA());}
+function brb(b,a){b.c=a;arb(b);b.a=zL(new kL());aB(b.b,eA(new hx(),'&nbsp;'));aB(b.b,b.a);aB(b.b,eA(new hx(),'&nbsp;'));nL(b.a,Cqb(new Bqb(),b));gs(b,b.b);return b;}
+function drb(a){return rL(a.a);}
+function erb(b,a){vL(b.a,a);}
+function frb(b,a){BL(b.a,a);}
+function Fqb(){}
+_=Fqb.prototype=new bbb();_.tN=Egc+'DSLSentenceWidget$FieldEditor';_.tI=311;_.a=null;function otb(a){a.c=kbb(new ibb());}
+function ptb(k,h,i,c,a){var b,d,e,f,g,j;otb(k);k.e=bc(i,31);k.b=c;k.d=h;k.a=a;nbb(k.c,0,0,xtb(k));f=ou(k.c);Bx(f,0,0,(oA(),pA),(xA(),zA));Ex(f,0,0,'modeller-fact-TypeHeader');g=kbb(new ibb());nbb(k.c,1,0,g);for(j=0;j<okb(k.e).a;j++){d=okb(k.e)[j];e=j;Atb(k,g,j,d,true);b=odb(new ndb(),'images/delete_item_small.gif');b.pe('Remove this whole restriction');fC(b,lsb(new orb(),k,e));nbb(g,j,5,b);}if(k.a)uO(k.c,'modeller-fact-pattern-Widget');gs(k,k.c);return k;}
+function rtb(j,b){var a,c,d,e,f,g,h,i;f=FA(new DA());d=null;e=odb(new ndb(),'images/add_field_to_fact.gif');e.pe('Add a field to this nested constraint.');fC(e,psb(new osb(),j,b));if(qV(b.a,'&&')){d='All of:';}else{d='Any of:';}aB(f,e);aB(f,eA(new hx(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=kbb(new ibb());uO(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){Atb(j,h,g,i[g],false);c=g;a=odb(new ndb(),'images/delete_item_small.gif');a.pe('Remove this (nested) restriction');fC(a,tsb(new ssb(),j,b,c));nbb(h,g,5,a);}}aB(f,h);return f;}
+function stb(g,b,c){var a,d,e,f;f=Cgb(g.b,g.e.c,c);a=mD(new eD());pD(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];qD(a,vgb(e),e);if(qV(e,b.a)){BD(a,d+1);}}oD(a,Crb(new Brb(),g,b,a));return a;}
+function ttb(d,a,b,c){var e;e=bhb(d.d.a,b,c);return nqb(new cpb(),d.e,c,a,d.d,e);}
+function utb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=rbb(new qbb());for(e=0;e<a.a.a;e++){b=a.a[e];aB(d,stb(f,b,a.c));aB(d,ttb(f,b,c,a.c));}return d;}else{return null;}}
+function vtb(c,b){var a,d,e;if(c.a&& !slb(c.d.c,c.e.a)){d=FA(new DA());e=zL(new kL());if(c.e.a===null){vL(e,'');}else{vL(e,c.e.a);}BL(e,3);aB(d,e);a=qq(new kq(),'Set');a.x(yrb(new xrb(),c,e,b));aB(d,a);edb(b,'Variable name',d);}}
+function wtb(e,c,d){var a,b;a=FA(new DA());uO(a,'modeller-field-Label');if(!Flb(c)){if(e.a&&d){b=pdb(new ndb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');fC(b,esb(new dsb(),e,c));aB(a,b);}}else{aB(a,CC(new AC(),'['+c.b+']'));}aB(a,CC(new AC(),c.c));return a;}
+function xtb(c){var a,b;b=FA(new DA());a=odb(new ndb(),'images/add_field_to_fact.gif');a.pe('Add a field to this condition, or bind a varible to this fact.');fC(a,Fsb(new Esb(),c));if(c.e.a!==null){aB(b,CC(new AC(),'['+c.e.a+'] '+c.e.c));}else{aB(b,CC(new AC(),c.e.c));}aB(b,a);return b;}
+function ytb(f,b){var a,c,d,e;e=dhb(f.b,f.e.c,b.c);a=mD(new eD());pD(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];qD(a,vgb(d),d);if(qV(d,b.d)){BD(a,c+1);}}oD(a,asb(new Frb(),f,b,a));return a;}
+function ztb(e,b){var a,c,d;d=FA(new DA());d.xe('100%');c=eC(new oB(),'images/function_assets.gif');c.pe('This is a formula expression that is evaluated to be true or false.');aB(d,c);if(b.f===null){b.f='';}a=zL(new kL());vL(a,b.f);nL(a,Bsb(new Asb(),e,b,a));a.xe('100%');aB(d,a);return d;}
+function Atb(e,b,c,a,d){if(cc(a,32)){Btb(e,e.d,b,c,a,d);}else if(cc(a,30)){nbb(b,c,0,rtb(e,bc(a,30)));ju(ou(b),c,0,5);}}
+function Btb(h,e,d,f,c,g){var a,b;b=bc(c,32);if(b.e!=5){nbb(d,f,0,wtb(h,b,g));nbb(d,f,1,ytb(h,b));nbb(d,f,2,Ftb(h,b,h.e.c));nbb(d,f,3,utb(h,b,h.e.c));a=odb(new ndb(),'images/add_connective.gif');a.pe('Add more options to this fields values.');fC(a,xsb(new wsb(),h,b,e));nbb(d,f,4,a);}else if(b.e==5){nbb(d,f,0,ztb(h,b));ju(ou(d),f,0,5);}}
+function Ctb(d,g,a){var b,c,e,f;c=ddb(new Ecb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=cq(new bq());e=zL(new kL());b=qq(new kq(),'Set');dq(f,e);dq(f,b);b.x(isb(new hsb(),d,e,a,c));edb(c,'Variable name',f);lF(c,lO(g),mO(g));oF(c);}
+function Etb(i,j){var a,b,c,d,e,f,g,h;g=ddb(new Ecb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);uO(g,'ks-popups-Popup');a=mD(new eD());pD(a,'...');c=ahb(i.b,i.e.c);for(e=0;e<c.a;e++){pD(a,c[e]);}BD(a,0);oD(a,ltb(new ktb(),i,a,g));edb(g,'Add a restriction on a field',a);b=mD(new eD());pD(b,'...');qD(b,'All of (And)','&&');qD(b,'Any of (Or)','||');BD(b,0);oD(b,qrb(new prb(),i,b,g));f=wdb(new rdb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=FA(new DA());aB(d,b);aB(d,f);edb(g,'Multiple field constraint',d);fdb(g,zdb(new ydb(),'Advanced options','weak-Text'));h=qq(new kq(),'New formula');h.x(urb(new trb(),i,g));edb(g,'Add a new formula style expression',h);vtb(i,g);lF(g,lO(j),mO(j));oF(g);}
+function Dtb(i,j,b){var a,c,d,e,f,g,h;h=ddb(new Ecb(),'images/newex_wiz.gif','Add fields to this constraint');uO(h,'ks-popups-Popup');a=mD(new eD());pD(a,'...');d=ahb(i.b,i.e.c);for(f=0;f<d.a;f++){pD(a,d[f]);}BD(a,0);oD(a,dtb(new ctb(),i,b,a,h));edb(h,'Add a restriction on a field',a);c=mD(new eD());pD(c,'...');qD(c,'All of (And)','&&');qD(c,'Any of (Or)','||');BD(c,0);oD(c,htb(new gtb(),i,c,b,h));g=wdb(new rdb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=FA(new DA());aB(e,c);aB(e,g);edb(h,'Multiple field constraint',e);lF(h,lO(j),mO(j));oF(h);}
+function Ftb(c,a,b){var d;d=bhb(c.d.a,b,a.c);return nqb(new cpb(),c.e,a.c,a,c.d,d);}
+function aub(){return mbb(this.c);}
+function nrb(){}
+_=nrb.prototype=new bbb();_.lc=aub;_.tN=Egc+'FactPatternWidget';_.tI=312;_.a=false;_.b=null;_.d=null;_.e=null;function lsb(b,a,c){b.a=a;b.b=c;return b;}
+function nsb(a){if(Eh('Remove this item?')){qkb(this.a.e,this.b);rxb(this.a.d);}}
+function orb(){}
+_=orb.prototype=new xU();_.wc=nsb;_.tN=Egc+'FactPatternWidget$1';_.tI=313;function qrb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function srb(b){var a;a=new tjb();a.a=xD(this.b,wD(this.b));mkb(this.a.e,a);rxb(this.a.d);this.c.hc();}
+function prb(){}
+_=prb.prototype=new xU();_.vc=srb;_.tN=Egc+'FactPatternWidget$10';_.tI=314;function urb(b,a,c){b.a=a;b.b=c;return b;}
+function wrb(b){var a;a=new Blb();a.e=5;mkb(this.a.e,a);rxb(this.a.d);this.b.hc();}
+function trb(){}
+_=trb.prototype=new xU();_.wc=wrb;_.tN=Egc+'FactPatternWidget$11';_.tI=315;function yrb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Arb(b){var a;a=rL(this.c);if(qxb(this.a.d,a)){Ch('The variable name ['+a+'] is already taken.');return;}this.a.e.a=rL(this.c);rxb(this.a.d);this.b.hc();}
+function xrb(){}
+_=xrb.prototype=new xU();_.wc=Arb;_.tN=Egc+'FactPatternWidget$12';_.tI=316;function Crb(b,a,d,c){b.b=d;b.a=c;return b;}
+function Erb(a){this.b.a=xD(this.a,wD(this.a));}
+function Brb(){}
+_=Brb.prototype=new xU();_.vc=Erb;_.tN=Egc+'FactPatternWidget$13';_.tI=317;function asb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function csb(a){this.c.d=xD(this.b,wD(this.b));dbb(this.a.d);kW(),nW;}
+function Frb(){}
+_=Frb.prototype=new xU();_.vc=csb;_.tN=Egc+'FactPatternWidget$14';_.tI=318;function esb(b,a,c){b.a=a;b.b=c;return b;}
+function gsb(a){Ctb(this.a,a,this.b);}
+function dsb(){}
+_=dsb.prototype=new xU();_.wc=gsb;_.tN=Egc+'FactPatternWidget$15';_.tI=319;function isb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function ksb(b){var a;a=rL(this.d);if(qxb(this.a.d,a)){Ch('The variable name ['+a+'] is already taken.');return;}this.b.b=a;rxb(this.a.d);this.c.hc();}
+function hsb(){}
+_=hsb.prototype=new xU();_.wc=ksb;_.tN=Egc+'FactPatternWidget$16';_.tI=320;function psb(b,a,c){b.a=a;b.b=c;return b;}
+function rsb(a){Dtb(this.a,a,this.b);}
+function osb(){}
+_=osb.prototype=new xU();_.wc=rsb;_.tN=Egc+'FactPatternWidget$2';_.tI=321;function tsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vsb(a){if(Eh('Remove this item from nested constraint?')){wjb(this.b,this.c);rxb(this.a.d);}}
+function ssb(){}
+_=ssb.prototype=new xU();_.wc=vsb;_.tN=Egc+'FactPatternWidget$3';_.tI=322;function xsb(b,a,c,d){b.a=c;b.b=d;return b;}
+function zsb(a){Dlb(this.a);rxb(this.b);}
+function wsb(){}
+_=wsb.prototype=new xU();_.wc=zsb;_.tN=Egc+'FactPatternWidget$4';_.tI=323;function Bsb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Dsb(a){this.c.f=rL(this.b);dbb(this.a.d);}
+function Asb(){}
+_=Asb.prototype=new xU();_.vc=Dsb;_.tN=Egc+'FactPatternWidget$5';_.tI=324;function Fsb(b,a){b.a=a;return b;}
+function btb(a){Etb(this.a,a);}
+function Esb(){}
+_=Esb.prototype=new xU();_.wc=btb;_.tN=Egc+'FactPatternWidget$6';_.tI=325;function dtb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function ftb(a){ujb(this.c,Clb(new Blb(),vD(this.b,wD(this.b))));rxb(this.a.d);this.d.hc();}
+function ctb(){}
+_=ctb.prototype=new xU();_.vc=ftb;_.tN=Egc+'FactPatternWidget$7';_.tI=326;function htb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function jtb(b){var a;a=new tjb();a.a=xD(this.c,wD(this.c));ujb(this.b,a);rxb(this.a.d);this.d.hc();}
+function gtb(){}
+_=gtb.prototype=new xU();_.vc=jtb;_.tN=Egc+'FactPatternWidget$8';_.tI=327;function ltb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function ntb(a){mkb(this.a.e,Clb(new Blb(),vD(this.b,wD(this.b))));rxb(this.a.d);this.c.hc();}
+function ktb(){}
+_=ktb.prototype=new xU();_.vc=ntb;_.tN=Egc+'FactPatternWidget$9';_.tI=328;function yub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=tcb(new rcb());b=d.a;for(c=0;c<b.a;c++){a=b[c];vcb(f.a,a.a,Bub(f,a,c));}gs(f,f.a);return f;}
+function zub(c,a){var b;b=ar(new Fq());if(a.b===null){gr(b,true);a.b='true';}else{gr(b,qV(a.b,'true'));}b.x(dub(new cub(),c,a,b));return b;}
+function Bub(e,a,d){var b,c;if(qV(a.a,'no-loop')){return Cub(e,d);}b=null;if(qV(a.a,'enabled')||qV(a.a,'auto-focus')||qV(a.a,'lock-on-active')){b=zub(e,a);}else{b=Dub(e,a);}c=rbb(new qbb());aB(c,b);aB(c,Cub(e,d));return c;}
+function Cub(c,a){var b;b=eC(new oB(),'images/delete_item_small.gif');fC(b,rub(new qub(),c,a));return b;}
+function Dub(c,a){var b;b=zL(new kL());BL(b,uV(a.b)<3?3:uV(a.b));vL(b,a.b);nL(b,hub(new gub(),c,a,b));if(qV(a.a,'date-effective')||qV(a.a,'date-expires')){if(a.b===null||qV('',a.b))vL(b,'dd-MMM-yyyy');BL(b,10);}oL(b,lub(new kub(),c,b));return b;}
+function Eub(){var a;a=mD(new eD());pD(a,'Choose...');pD(a,'salience');pD(a,'enabled');pD(a,'date-effective');pD(a,'date-expires');pD(a,'no-loop');pD(a,'agenda-group');pD(a,'activation-group');pD(a,'duration');pD(a,'auto-focus');pD(a,'lock-on-active');pD(a,'ruleflow-group');pD(a,'dialect');return a;}
+function Fub(){return this.a.lc();}
+function bub(){}
+_=bub.prototype=new bbb();_.lc=Fub;_.tN=Egc+'RuleAttributeWidget';_.tI=329;_.a=null;_.b=null;_.c=null;function dub(b,a,c,d){b.a=c;b.b=d;return b;}
+function fub(a){this.a.b=fr(this.b)?'true':'false';}
+function cub(){}
+_=cub.prototype=new xU();_.wc=fub;_.tN=Egc+'RuleAttributeWidget$1';_.tI=330;function hub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function jub(a){this.b.b=rL(this.c);dbb(this.a);}
+function gub(){}
+_=gub.prototype=new xU();_.vc=jub;_.tN=Egc+'RuleAttributeWidget$2';_.tI=331;function lub(b,a,c){b.a=c;return b;}
+function nub(a,b,c){}
+function oub(a,b,c){}
+function pub(a,b,c){BL(this.a,uV(rL(this.a)));}
+function kub(){}
+_=kub.prototype=new xU();_.Fc=nub;_.ad=oub;_.bd=pub;_.tN=Egc+'RuleAttributeWidget$3';_.tI=332;function rub(b,a,c){b.a=a;b.b=c;return b;}
+function tub(b){var a;a=hgb(new Efb(),'Remove this rule option?',vub(new uub(),this,this.b));lF(a,lO(b),mO(b));oF(a);}
+function qub(){}
+_=qub.prototype=new xU();_.wc=tub;_.tN=Egc+'RuleAttributeWidget$4';_.tI=333;function vub(b,a,c){b.a=a;b.b=c;return b;}
+function xub(){ulb(this.a.a.b,this.b);rxb(this.a.a.c);}
+function uub(){}
+_=uub.prototype=new xU();_.nb=xub;_.tN=Egc+'RuleAttributeWidget$5';_.tI=334;function fxb(b,a){b.c=bc(a.b,83);b.a=uLb((sLb(),xLb),a.d.o);b.b=kbb(new ibb());pxb(b);uO(b.b,'model-builder-Background');gs(b,b.b);b.xe('100%');b.ne('100%');return b;}
+function gxb(b,a){mlb(b.c,Dib(new Bib(),a));rxb(b);}
+function hxb(b,a){mlb(b.c,fjb(new djb(),a));rxb(b);}
+function ixb(b,a){llb(b.c,mjb(new ljb(),a));rxb(b);}
+function jxb(b,a){llb(b.c,dkb(a));rxb(b);}
+function kxb(b,a){mlb(b.c,dkb(a));rxb(b);}
+function lxb(b,a){llb(b.c,lkb(new kkb(),a));rxb(b);}
+function mxb(a,b){mlb(a.c,vib(new uib(),b));rxb(a);}
+function oxb(b){var a;a=odb(new ndb(),'images/new_item.gif');a.pe('Add an option to the rule, to modify its behavior when evaluated or executed.');fC(a,kwb(new jwb(),b));return a;}
+function pxb(c){var a,b;bz(c.b);b=odb(new ndb(),'images/new_item.gif');b.pe('Add a condition to this rule.');fC(b,cwb(new bvb(),c));nbb(c.b,0,0,CC(new AC(),'WHEN'));nbb(c.b,0,2,b);nbb(c.b,1,1,sxb(c,c.c));nbb(c.b,2,0,CC(new AC(),'THEN'));a=odb(new ndb(),'images/new_item.gif');a.pe('Add an action to this rule.');fC(a,gwb(new fwb(),c));nbb(c.b,2,2,a);nbb(c.b,3,1,txb(c,c.c));nbb(c.b,4,0,CC(new AC(),'(options)'));nbb(c.b,4,2,oxb(c));nbb(c.b,5,1,yub(new bub(),c,c.c));}
+function qxb(b,a){return tlb(b.c,a)||ehb(b.a,a);}
+function rxb(a){pxb(a);dbb(a);}
+function sxb(e,c){var a,b,d,f,g;f=wbb(new vbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(cc(d,31)){g=ptb(new nrb(),e,d,e.a,true);iP(f,yxb(e,c,b,g));iP(f,xxb(e));}else if(cc(d,29)){g=Cob(new tob(),e,bc(d,29),e.a);iP(f,yxb(e,c,b,g));iP(f,xxb(e));}else if(cc(d,10)){}else{throw DU(new CU(),"I don't know what type of pattern that is.");}}a=wbb(new vbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(cc(d,10)){g=grb(new Aqb(),bc(d,10));iP(a,yxb(e,c,b,g));uO(a,'model-builderInner-Background');}}iP(f,a);return f;}
+function txb(g,e){var a,b,c,d,f,h,i;h=wbb(new vbb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(cc(a,27)){i=kob(new hnb(),g,bc(a,27),g.a);}else if(cc(a,24)){i=Dmb(new emb(),g,bc(a,24),g.a);}else if(cc(a,26)){i=fnb(new enb(),g.a,bc(a,26));}else if(cc(a,10)){i=grb(new Aqb(),bc(a,10));uO(i,'model-builderInner-Background');}iP(h,xxb(g));b=rbb(new qbb());f=odb(new ndb(),'images/delete_item_small.gif');f.pe('Remove this action.');d=c;fC(f,swb(new rwb(),g,e,d));aB(b,i);if(!cc(i,84)){i.xe('100%');b.xe('100%');}aB(b,f);iP(h,b);}return h;}
+function uxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=ddb(new Ecb(),'images/new_fact.gif','Add a new action...');uO(k,'ks-popups-Popup');q=qlb(n.c);p=mD(new eD());l=mD(new eD());j=mD(new eD());pD(p,'Choose ...');pD(l,'Choose ...');pD(j,'Choose ...');for(i=q.mc();i.gc();){o=bc(i.pc(),1);pD(p,o);pD(l,o);pD(j,o);}d=chb(n.a);for(f=0;f<d.a;f++){pD(p,d[f]);}BD(p,0);oD(p,dvb(new cvb(),n,p,k));oD(l,hvb(new gvb(),n,l,k));oD(j,lvb(new kvb(),n,j,k));if(uD(p)>1){edb(k,'Set the values of a field on',p);}if(uD(j)>1){e=FA(new DA());aB(e,j);g=eC(new oB(),'images/information.gif');g.pe('Modify a field on a fact, and notify the engine to re-evaluate rules.');aB(e,g);edb(k,'Modify a fact',e);}if(uD(l)>1){edb(k,'Retract the fact',l);}b=mD(new eD());c=mD(new eD());pD(b,'Choose ...');pD(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];pD(b,h);pD(c,h);}oD(b,pvb(new ovb(),n,b,k));oD(c,tvb(new svb(),n,c,k));if(uD(b)>1){edb(k,'Insert a new fact',b);e=FA(new DA());aB(e,c);g=eC(new oB(),'images/inf!
 ormation.gif');g.pe('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');aB(e,g);edb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=mD(new eD());pD(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];qD(a,ekb(m),aU(f));}oD(a,xvb(new wvb(),n,a,k));edb(k,'DSL sentence',a);}lF(k,fc(di()/3),fc(ci()/3));oF(k);}
+function vxb(c,d){var a,b;b=ddb(new Ecb(),'images/config.png','Add an option to the rule');a=Eub();BD(a,0);oD(a,owb(new nwb(),c,a,b));uO(b,'ks-popups-Popup');edb(b,'Attribute',a);lF(b,lO(d)-400,mO(d));oF(b);}
+function wxb(j,k){var a,b,c,d,e,f,g,h,i;h=ddb(new Ecb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=mD(new eD());qD(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){pD(e,f[g]);}BD(e,0);if(f.a>0)edb(h,'Fact',e);oD(e,Awb(new zwb(),j,e,h));uO(h,'ks-popups-Popup');c=(pgb(),qgb);b=mD(new eD());qD(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];qD(b,ugb(a),a);}BD(b,0);if(f.a>0)edb(h,'Condition type',b);oD(b,Ewb(new Dwb(),j,b,h));if(j.a.b.a>0){d=mD(new eD());pD(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];qD(d,ekb(i),aU(g));}oD(d,cxb(new bxb(),j,d,h));edb(h,'DSL sentence',d);}lF(h,lO(k)-400,mO(k));oF(h);}
+function xxb(b){var a;a=eA(new hx(),'&nbsp;');a.ne('2px');return a;}
+function yxb(f,d,b,g){var a,c,e;a=rbb(new qbb());e=odb(new ndb(),'images/delete_item_small.gif');e.pe('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;fC(e,Bvb(new Avb(),f,d,c));a.xe('100%');g.xe('100%');aB(a,g);aB(a,e);return a;}
+function zxb(){return mbb(this.b)||this.j;}
+function avb(){}
+_=avb.prototype=new bbb();_.lc=zxb;_.tN=Egc+'RuleModeller';_.tI=335;_.a=null;_.b=null;_.c=null;function cwb(b,a){b.a=a;return b;}
+function ewb(a){wxb(this.a,a);}
+function bvb(){}
+_=bvb.prototype=new xU();_.wc=ewb;_.tN=Egc+'RuleModeller$1';_.tI=336;function dvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function fvb(a){gxb(this.a,vD(this.c,wD(this.c)));this.b.hc();}
+function cvb(){}
+_=cvb.prototype=new xU();_.vc=fvb;_.tN=Egc+'RuleModeller$10';_.tI=337;function hvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function jvb(a){mxb(this.a,vD(this.c,wD(this.c)));this.b.hc();}
+function gvb(){}
+_=gvb.prototype=new xU();_.vc=jvb;_.tN=Egc+'RuleModeller$11';_.tI=338;function lvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nvb(a){hxb(this.a,vD(this.b,wD(this.b)));this.c.hc();}
+function kvb(){}
+_=kvb.prototype=new xU();_.vc=nvb;_.tN=Egc+'RuleModeller$12';_.tI=339;function pvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function rvb(b){var a;a=vD(this.b,wD(this.b));mlb(this.a.c,gib(new eib(),a));rxb(this.a);this.c.hc();}
+function ovb(){}
+_=ovb.prototype=new xU();_.vc=rvb;_.tN=Egc+'RuleModeller$13';_.tI=340;function tvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vvb(b){var a;a=vD(this.b,wD(this.b));mlb(this.a.c,oib(new mib(),a));rxb(this.a);this.c.hc();}
+function svb(){}
+_=svb.prototype=new xU();_.vc=vvb;_.tN=Egc+'RuleModeller$14';_.tI=341;function xvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function zvb(b){var a;a=ET(xD(this.b,wD(this.b)));kxb(this.a,this.a.a.a[a]);this.c.hc();}
+function wvb(){}
+_=wvb.prototype=new xU();_.vc=zvb;_.tN=Egc+'RuleModeller$15';_.tI=342;function Bvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function Dvb(b){var a;a=hgb(new Efb(),'Remove this entire condition?',Fvb(new Evb(),this,this.c,this.b));lF(a,lO(b),mO(b));oF(a);}
+function Avb(){}
+_=Avb.prototype=new xU();_.wc=Dvb;_.tN=Egc+'RuleModeller$16';_.tI=343;function Fvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function bwb(){if(vlb(this.c,this.b)){rxb(this.a.a);}else{jcb("Can't remove that item as it is used in the action part of the rule.");}}
+function Evb(){}
+_=Evb.prototype=new xU();_.nb=bwb;_.tN=Egc+'RuleModeller$17';_.tI=344;function gwb(b,a){b.a=a;return b;}
+function iwb(a){uxb(this.a,a);}
+function fwb(){}
+_=fwb.prototype=new xU();_.wc=iwb;_.tN=Egc+'RuleModeller$2';_.tI=345;function kwb(b,a){b.a=a;return b;}
+function mwb(a){vxb(this.a,a);}
+function jwb(){}
+_=jwb.prototype=new xU();_.wc=mwb;_.tN=Egc+'RuleModeller$3';_.tI=346;function owb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function qwb(a){klb(this.a.c,alb(new Fkb(),vD(this.b,wD(this.b)),''));rxb(this.a);this.c.hc();}
+function nwb(){}
+_=nwb.prototype=new xU();_.vc=qwb;_.tN=Egc+'RuleModeller$4';_.tI=347;function swb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function uwb(b){var a;a=hgb(new Efb(),'Remove this item?',wwb(new vwb(),this,this.c,this.b));lF(a,lO(b),mO(b));oF(a);}
+function rwb(){}
+_=rwb.prototype=new xU();_.wc=uwb;_.tN=Egc+'RuleModeller$5';_.tI=348;function wwb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function ywb(){wlb(this.c,this.b);rxb(this.a.a);}
+function vwb(){}
+_=vwb.prototype=new xU();_.nb=ywb;_.tN=Egc+'RuleModeller$6';_.tI=349;function Awb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Cwb(b){var a;a=vD(this.b,wD(this.b));if(!qV(a,'IGNORE')){lxb(this.a,a);this.c.hc();}}
+function zwb(){}
+_=zwb.prototype=new xU();_.vc=Cwb;_.tN=Egc+'RuleModeller$7';_.tI=350;function Ewb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function axb(b){var a;a=xD(this.b,wD(this.b));if(!qV(a,'IGNORE')){ixb(this.a,a);this.c.hc();}}
+function Dwb(){}
+_=Dwb.prototype=new xU();_.vc=axb;_.tN=Egc+'RuleModeller$8';_.tI=351;function cxb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function exb(b){var a;a=ET(xD(this.b,wD(this.b)));jxb(this.a,this.a.a.b[a]);this.c.hc();}
+function bxb(){}
+_=bxb.prototype=new xU();_.vc=exb;_.tN=Egc+'RuleModeller$9';_.tI=352;function Cxb(b,a,c){b.a=c;return b;}
+function Exb(a){ki(w()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
+function Bxb(){}
+_=Bxb.prototype=new xU();_.wc=Exb;_.tN=Fgc+'AssetAttachmentFileWidget$1';_.tI=353;function ayb(b,a){b.a=a;return b;}
+function cyb(a){oyb(this.a);pyb(this.a);}
+function Fxb(){}
+_=Fxb.prototype=new xU();_.wc=cyb;_.tN=Fgc+'AssetAttachmentFileWidget$2';_.tI=354;function eyb(b,a){b.a=a;return b;}
+function hyb(a){}
+function gyb(a){eeb();if(sV(a.a,'OK')>(-1)){x_b(this.a.e);}else{jcb('Unable to upload the file.');}}
+function dyb(){}
+_=dyb.prototype=new xU();_.ld=hyb;_.kd=gyb;_.tN=Fgc+'AssetAttachmentFileWidget$3';_.tI=355;function Byb(){Byb=v3;gdb();}
+function zyb(c){var a,b;Byb();ddb(c,'images/new_wiz.gif','Create a new fact template');c.a=lu(new fu());c.b=zL(new kL());edb(c,'Name:',c.b);edb(c,'Fact attributes:',c.a);a=eC(new oB(),'images/new_item.gif');fC(a,syb(new ryb(),c));edb(c,'Add a new attribute',a);b=qq(new kq(),'Create');b.x(wyb(new vyb(),c));edb(c,'',b);return c;}
+function Ayb(b){var a;a=pu(b.a);b.a.ve(a,0,zL(new kL()));b.a.ve(a,1,Eyb(b));}
+function Cyb(d){var a,b,c,e,f;b='template '+rL(d.b)+'\n';for(a=0;a<pu(d.a);a++){e=bc(kz(d.a,a,1),85);f=vD(e,wD(e));c=rL(bc(kz(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
+function Dyb(b,a){b.c=a;}
+function Eyb(b){var a;a=mD(new eD());pD(a,'String');pD(a,'Integer');pD(a,'Float');pD(a,'Date');pD(a,'Boolean');return a;}
+function qyb(){}
+_=qyb.prototype=new Ecb();_.tN=Fgc+'FactTemplateWizard';_.tI=356;_.a=null;_.b=null;_.c=null;function syb(b,a){b.a=a;return b;}
+function uyb(a){Ayb(this.a);}
+function ryb(){}
+_=ryb.prototype=new xU();_.wc=uyb;_.tN=Fgc+'FactTemplateWizard$1';_.tI=357;function wyb(b,a){b.a=a;return b;}
+function yyb(a){BDb(this.a.c);this.a.hc();}
+function vyb(){}
+_=vyb.prototype=new xU();_.wc=yyb;_.tN=Fgc+'FactTemplateWizard$2';_.tI=358;function azb(b,a,c){iyb(b,a,c);return b;}
+function czb(){return 'images/model_large.png';}
+function dzb(){return 'editable-Surface';}
+function Fyb(){}
+_=Fyb.prototype=new Axb();_.sb=czb;_.Ab=dzb;_.tN=Fgc+'ModelAttachmentFileWidget';_.tI=359;function cAb(){cAb=v3;gdb();}
+function aAb(a){a.b=tcb(new rcb());a.d=tcb(new rcb());}
+function bAb(f,b){var a,c,d,e;cAb();ddb(f,'images/new_wiz.gif','Create a new package');aAb(f);f.c=zL(new kL());f.a=eL(new dL());ycb(f.d,eA(new hx(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));ycb(f.b,eA(new hx(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));vcb(f.d,'Name:',f.c);vcb(f.d,'Description:',f.a);f.c.pe('The name of the package. Avoid spaces, use underscore instead.');e=EG(new CG(),'action','Create new pa!
 ckage');d=EG(new CG(),'action','Import from drl file');gr(e,true);f.d.ue(true);e.x(gzb(new fzb(),f));f.b.ue(false);d.x(kzb(new jzb(),f));a=cq(new bq());dq(a,e);dq(a,d);fdb(f,a);fdb(f,f.d);fdb(f,f.b);vcb(f.b,'DRL file to import:',eAb(b,f));c=qq(new kq(),'Create package');c.x(ozb(new nzb(),f,b));vcb(f.d,'',c);uO(f,'ks-popups-Popup');return f;}
+function dAb(d,b,a,c){ieb('Creating package - please wait...');qUb(EMb(),b,a,tzb(new szb(),d,c));}
+function eAb(a,d){cAb();var b,c,e,f;f=Cv(new xv());cw(f,w()+'package');dw(f,'multipart/form-data');ew(f,'post');c=FA(new DA());f.we(c);e=au(new Ft());du(e,'classicDRLFile');aB(c,e);aB(c,CC(new AC(),'upload:'));b=pdb(new ndb(),'images/upload.gif','Import');fC(b,yzb(new xzb(),f));aB(c,b);Dv(f,Czb(new Bzb(),a,d,e));return f;}
+function ezb(){}
+_=ezb.prototype=new Ecb();_.tN=Fgc+'NewPackageWizard';_.tI=360;_.a=null;_.c=null;function gzb(b,a){b.a=a;return b;}
+function izb(a){this.a.d.ue(true);this.a.b.ue(false);}
+function fzb(){}
+_=fzb.prototype=new xU();_.wc=izb;_.tN=Fgc+'NewPackageWizard$1';_.tI=361;function kzb(b,a){b.a=a;return b;}
+function mzb(a){this.a.d.ue(false);this.a.b.ue(true);}
+function jzb(){}
+_=jzb.prototype=new xU();_.wc=mzb;_.tN=Fgc+'NewPackageWizard$2';_.tI=362;function ozb(b,a,c){b.a=a;b.b=c;return b;}
+function qzb(b,a){return vV(a,'[a-zA-Z\\.]*');}
+function rzb(a){if(qzb(this,rL(this.a.c))){dAb(this.a,rL(this.a.c),rL(this.a.a),this.b);this.a.hc();}else{vL(this.a.c,'');Ch('Invalid package name, use java-style package name');}}
+function nzb(){}
+_=nzb.prototype=new xU();_.wc=rzb;_.tN=Fgc+'NewPackageWizard$3';_.tI=363;function tzb(b,a,c){b.a=c;return b;}
+function vzb(b,a){eeb();eGb(b.a);}
+function wzb(a){vzb(this,a);}
+function szb(){}
+_=szb.prototype=new hdb();_.md=wzb;_.tN=Fgc+'NewPackageWizard$4';_.tI=364;function yzb(a,b){a.a=b;return a;}
+function Azb(a){if(Eh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){ieb('Importing drl package, please wait, as this could take some time...');gw(this.a);}}
+function xzb(){}
+_=xzb.prototype=new xU();_.wc=Azb;_.tN=Fgc+'NewPackageWizard$5';_.tI=365;function Czb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
+function Fzb(a){if(uV(cu(this.c))==0){Ch('You did not choose a drl file to import !');sw(a,true);}else if(!oV(cu(this.c),'.drl')){Ch("You can only import '.drl' files.");sw(a,true);}}
+function Ezb(a){if(sV(a.a,'OK')>(-1)){Ch('Package was imported successfully. ');eGb(this.a);this.b.hc();}else{jcb('Unable to import into the package. ['+a.a+']');}eeb();}
+function Bzb(){}
+_=Bzb.prototype=new xU();_.ld=Fzb;_.kd=Ezb;_.tN=Fgc+'NewPackageWizard$6';_.tI=366;function FBb(h,e,f){var a,b,c,d,g;h.c=ucb(new rcb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=AH(new sH());g=zL(new kL());a=qq(new kq(),'Build package');a.pe('This will validate and compile all the assets in a package.');a.x(yAb(new gAb(),h,b,g));c=qq(new kq(),'Show package source');c.x(CAb(new BAb(),h,e));vcb(h.c,'View source for package',c);d=FA(new DA());aB(d,a);aB(d,eA(new hx(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));aB(d,g);aB(d,wdb(new rdb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));vcb(h.c,'Build binary package:',d);ycb(h.c,eA(new hx(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));ycb(h.c,b);uO(h.c,'package-Editor');h.c.xe('100%');gs(h,h.c);return h;}
+function bCb(d,a,c){var b;a.F();b=FA(new DA());aB(b,CC(new AC(),'Validating and building package, please wait...'));aB(b,eC(new oB(),'images/red_anime.gif'));ieb('Please wait...');CH(a,b);ig(pBb(new oBb(),d,c,a));}
+function cCb(i,e,a){var b,c,d,f,g,h;a.F();b=lu(new fu());uO(b,'build-Results');yz(b,0,1,'Format');yz(b,0,2,'Name');yz(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ve(f,0,eC(new oB(),'images/error.gif'));yz(b,f,1,d.a);yz(b,f,2,d.b);yz(b,f,3,d.c);if(!qV('package',d.a)){h=qq(new kq(),'Show');h.x(CBb(new BBb(),i,d));b.ve(f,4,h);}}b.xe('100%');g=oH(new mH(),b);qH(g,true);tO(g,'100%','25em');CH(a,g);}
+function dCb(g,i){var a,b,c,d,e,f,h;ieb('Loading existing snapshots...');c=ddb(new Ecb(),'images/snapshot.png','Create a snapshot for deployment.');fdb(c,eA(new hx(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=hP(new fP());edb(c,'Choose or create snapshot name:',h);f=FY(new DY());d=zL(new kL());e='NEW: ';vUb(EMb(),g.a.j,iAb(new hAb(),g,f,h,d));a=zL(new kL());edb(c,'Comment:',a);b=qq(new kq(),'Create new snapshot');edb(c,'',b);b.x(qAb(new pAb(),g,f,d,a,c));c.xe('50%');lF(c,fc((fbb()-gF(c))/2),100);oF(c);}
+function eCb(e,a){var b,c,d,f;a.F();f=hP(new fP());iP(f,eA(new hx(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=gCb(e.a);b=eA(new hx(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");iP(f,b);d=qq(new kq(),'Create snapshot for deployment');d.x(yBb(new xBb(),e));iP(f,d);CH(a,f);}
+function fCb(b,a){ieb('Assembling package source...');ig(aBb(new FAb(),b,a));}
+function gCb(a){var b,c;b=w()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
+function hCb(b,c){var a,d;d=ddb(new Ecb(),'images/view_source.gif','Viewing source for: '+c);a=eL(new dL());jL(a,30);a.xe('100%');iL(a,80);fdb(d,a);vL(a,b);a.ke(true);a.pe('THIS IS READ ONLY - you may copy and paste, but not edit.');oL(a,jBb(new iBb(),a,b));eeb();lF(d,fc((fbb()-gF(d))/2),100);oF(d);}
+function fAb(){}
+_=fAb.prototype=new es();_.tN=Fgc+'PackageBuilderWidget';_.tI=367;_.a=null;_.b=null;_.c=null;function yAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function AAb(a){bCb(this.a,this.b,rL(this.c));}
+function gAb(){}
+_=gAb.prototype=new xU();_.wc=AAb;_.tN=Fgc+'PackageBuilderWidget$1';_.tI=368;function iAb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
+function kAb(a){var b,c,d,e,f;f=bc(a,86);for(c=0;c<f.a;c++){b=EG(new CG(),'snapshotNameGroup',f[c].b);bZ(this.b,b);iP(this.c,b);}d=FA(new DA());e=EG(new CG(),'snapshotNameGroup','NEW: ');aB(d,e);this.a.ke(false);e.x(mAb(new lAb(),this,this.a));aB(d,this.a);bZ(this.b,e);iP(this.c,d);eeb();}
+function hAb(){}
+_=hAb.prototype=new hdb();_.md=kAb;_.tN=Fgc+'PackageBuilderWidget$10';_.tI=369;function mAb(b,a,c){b.a=c;return b;}
+function oAb(a){this.a.ke(true);}
+function lAb(){}
+_=lAb.prototype=new xU();_.wc=oAb;_.tN=Fgc+'PackageBuilderWidget$11';_.tI=370;function qAb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
+function sAb(d){var a,b,c;c=false;for(b=this.f.mc();b.gc();){a=bc(b.pc(),87);if(fr(a)){this.a=er(a);if(!qV(er(a),'NEW: ')){c=true;}break;}}if(qV(this.a,'NEW: ')){this.a=rL(this.e);}if(qV(this.a,'')){Ch('You have to enter or chose a label (name) for the snapshot.');return;}pUb(EMb(),this.b.a.j,this.a,c,rL(this.c),uAb(new tAb(),this,this.d));}
+function pAb(){}
+_=pAb.prototype=new xU();_.wc=sAb;_.tN=Fgc+'PackageBuilderWidget$12';_.tI=371;_.a='';function uAb(b,a,c){b.a=a;b.b=c;return b;}
+function wAb(b,a){Ch('The snapshot called: '+b.a.a+' was successfully created.');b.b.hc();}
+function xAb(a){wAb(this,a);}
+function tAb(){}
+_=tAb.prototype=new hdb();_.md=xAb;_.tN=Fgc+'PackageBuilderWidget$13';_.tI=372;function CAb(b,a,c){b.a=c;return b;}
+function EAb(a){fCb(this.a.m,this.a.j);}
+function BAb(){}
+_=BAb.prototype=new xU();_.wc=EAb;_.tN=Fgc+'PackageBuilderWidget$2';_.tI=373;function aBb(a,c,b){a.b=c;a.a=b;return a;}
+function cBb(){eUb(EMb(),this.b,eBb(new dBb(),this,this.a));}
+function FAb(){}
+_=FAb.prototype=new xU();_.nb=cBb;_.tN=Fgc+'PackageBuilderWidget$3';_.tI=374;function eBb(b,a,c){b.a=c;return b;}
+function gBb(c,b){var a;a=bc(b,1);hCb(a,c.a);}
+function hBb(a){gBb(this,a);}
+function dBb(){}
+_=dBb.prototype=new hdb();_.md=hBb;_.tN=Fgc+'PackageBuilderWidget$4';_.tI=375;function jBb(a,b,c){a.a=b;a.b=c;return a;}
+function lBb(a,b,c){vL(this.a,this.b);}
+function mBb(a,b,c){vL(this.a,this.b);}
+function nBb(a,b,c){vL(this.a,this.b);}
+function iBb(){}
+_=iBb.prototype=new xU();_.Fc=lBb;_.ad=mBb;_.bd=nBb;_.tN=Fgc+'PackageBuilderWidget$5';_.tI=376;function pBb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function rBb(){fUb(EMb(),this.a.a.m,this.c,tBb(new sBb(),this,this.b));}
+function oBb(){}
+_=oBb.prototype=new xU();_.nb=rBb;_.tN=Fgc+'PackageBuilderWidget$6';_.tI=377;function tBb(b,a,c){b.a=a;b.b=c;return b;}
+function vBb(c,a){var b;eeb();if(a===null){eCb(c.a.a,c.b);}else{b=bc(a,88);cCb(c.a.a,b,c.b);}}
+function wBb(a){vBb(this,a);}
+function sBb(){}
+_=sBb.prototype=new hdb();_.md=wBb;_.tN=Fgc+'PackageBuilderWidget$7';_.tI=378;function yBb(b,a){b.a=a;return b;}
+function ABb(a){dCb(this.a,a);}
+function xBb(){}
+_=xBb.prototype=new xU();_.wc=ABb;_.tN=Fgc+'PackageBuilderWidget$8';_.tI=379;function CBb(b,a,c){b.a=a;b.b=c;return b;}
+function EBb(a){aJb(this.a.b,this.b.d);}
+function BBb(){}
+_=BBb.prototype=new xU();_.wc=EBb;_.tN=Fgc+'PackageBuilderWidget$9';_.tI=380;function fFb(e,b,c,a,d){tcb(e);e.b=b;e.c=c;e.a=a;e.e=d;uO(e,'package-Editor');e.xe('100%');lFb(e);return e;}
+function hFb(b){var a;a=eL(new dL());a.xe('100%');jL(a,8);vL(a,b.b.d);nL(a,cEb(new bEb(),b,a));iL(a,100);return jFb(b,a);}
+function iFb(b,a){ieb('Saving package configuration. Please wait ...');gVb(EMb(),b.b,uCb(new tCb(),b,a));}
+function jFb(d,a){var b,c;c=FA(new DA());aB(c,a);b=eC(new oB(),'images/max_min.gif');b.pe('Increase view area');aB(c,b);fC(b,EDb(new DDb(),d,a));return c;}
+function kFb(g){var a,b,c,d,e,f,h;a=eL(new dL());a.xe('100%');jL(a,8);iL(a,100);vL(a,g.b.f);nL(a,bDb(new aDb(),g,a));f=FA(new DA());aB(f,a);h=hP(new fP());b=eC(new oB(),'images/max_min.gif');fC(b,fDb(new eDb(),g,a));b.pe('Increase view area.');iP(h,b);e=eC(new oB(),'images/new_import.gif');fC(e,jDb(new iDb(),g,a));iP(h,e);e.pe('Add a new Type/Class import to the package.');d=eC(new oB(),'images/new_global.gif');fC(d,nDb(new mDb(),g,a));d.pe('Add a new global variable declaration.');iP(h,d);c=eC(new oB(),'images/fact_template.gif');fC(c,vDb(new uDb(),g,a));c.pe('Add a new fact template.');f.xe('100%');aB(f,h);return f;}
+function lFb(c){var a,b;zcb(c);ycb(c,sFb(c));vcb(c,'Description:',hFb(c));vcb(c,'Header:',kFb(c));ycb(c,eA(new hx(),'<hr/>'));vcb(c,'Last modified:',CC(new AC(),s0(c.b.i)));vcb(c,'Last contributor:',CC(new AC(),c.b.h));ycb(c,eA(new hx(),'<hr/>'));c.f=dA(new hx());b=FA(new DA());a=odb(new ndb(),'images/edit.gif');a.pe('Change status.');fC(a,qDb(new jCb(),c));aB(b,c.f);if(!c.b.g){aB(b,a);}oFb(c,c.b.l);vcb(c,'Status:',b);if(!c.b.g){ycb(c,nFb(c));}ycb(c,eA(new hx(),'<hr/>'));}
+function mFb(a){ieb('Refreshing package data...');AUb(EMb(),a.b.m,DCb(new CCb(),a));}
+function nFb(f){var a,b,c,d,e;c=FA(new DA());e=qq(new kq(),'Save and validate configuration');e.x(nEb(new mEb(),f));aB(c,e);a=qq(new kq(),'Archive');a.x(rEb(new qEb(),f));aB(c,a);b=qq(new kq(),'Copy');b.x(vEb(new uEb(),f));aB(c,b);d=qq(new kq(),'Rename');d.x(zEb(new yEb(),f));aB(c,d);return c;}
+function oFb(b,a){hA(b.f,'<b>'+a+'<\/b>');}
+function pFb(d){var a,b,c;c=ddb(new Ecb(),'images/new_wiz.gif','Copy the package');fdb(c,eA(new hx(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=zL(new kL());edb(c,'New package name:',a);b=qq(new kq(),'OK');edb(c,'',b);b.x(lCb(new kCb(),d,a,c));c.xe('40%');lF(c,fc(di()/3),fc(ci()/3));oF(c);}
+function qFb(d){var a,b,c;c=ddb(new Ecb(),'images/new_wiz.gif','Rename the package');fdb(c,eA(new hx(),'<i>Rename the package. A new unique name is required.<\/i>'));a=zL(new kL());edb(c,'New package name:',a);b=qq(new kq(),'OK');edb(c,'',b);b.x(DEb(new CEb(),d,a,c));c.xe('40%');lF(c,fc(di()/3),fc(ci()/3));oF(c);}
+function rFb(b,c){var a;a=lfb(new veb(),b.b.m,true);ofb(a,jEb(new iEb(),b,a));lF(a,lO(c),mO(c));oF(a);}
+function sFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=eC(new oB(),'images/warning.gif');a=FA(new DA());aB(a,b);c=eA(new hx(),'<b>There were errors validating this package configuration.');aB(a,c);d=qq(new kq(),'View errors');d.x(fEb(new tDb(),e));aB(a,d);return a;}else{return AH(new sH());}}
+function iCb(){}
+_=iCb.prototype=new rcb();_.tN=Fgc+'PackageEditor';_.tI=381;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function qDb(b,a){b.a=a;return b;}
+function sDb(a){rFb(this.a,a);}
+function jCb(){}
+_=jCb.prototype=new xU();_.wc=sDb;_.tN=Fgc+'PackageEditor$1';_.tI=382;function lCb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nCb(a){mUb(EMb(),this.a.b.j,rL(this.b),pCb(new oCb(),this,this.c));}
+function kCb(){}
+_=kCb.prototype=new xU();_.wc=nCb;_.tN=Fgc+'PackageEditor$10';_.tI=383;function pCb(b,a,c){b.a=a;b.b=c;return b;}
+function rCb(b,a){cHb(b.a.a.e);Ch('Package copied successfully.');b.b.hc();}
+function sCb(a){rCb(this,a);}
+function oCb(){}
+_=oCb.prototype=new hdb();_.md=sCb;_.tN=Fgc+'PackageEditor$11';_.tI=384;function uCb(b,a,c){b.a=a;b.b=c;return b;}
+function wCb(b,a){iHb(b.a.a);b.a.d=bc(a,89);mFb(b.a);ieb('Package configuration updated successfully, refreshing content cache...');wLb((sLb(),xLb),b.a.b.j,zCb(new yCb(),b,b.b));}
+function xCb(a){wCb(this,a);}
+function tCb(){}
+_=tCb.prototype=new hdb();_.md=xCb;_.tN=Fgc+'PackageEditor$12';_.tI=385;function zCb(b,a,c){b.a=c;return b;}
+function BCb(){if(this.a!==null){cHb(this.a);}eeb();}
+function yCb(){}
+_=yCb.prototype=new xU();_.nb=BCb;_.tN=Fgc+'PackageEditor$13';_.tI=386;function DCb(b,a){b.a=a;return b;}
+function FCb(a){eeb();this.a.b=bc(a,16);lFb(this.a);}
+function CCb(){}
+_=CCb.prototype=new hdb();_.md=FCb;_.tN=Fgc+'PackageEditor$14';_.tI=387;function bDb(b,a,c){b.a=a;b.b=c;return b;}
+function dDb(a){this.a.b.f=rL(this.b);EGb(this.a.c);}
+function aDb(){}
+_=aDb.prototype=new xU();_.vc=dDb;_.tN=Fgc+'PackageEditor$16';_.tI=388;function fDb(b,a,c){b.a=c;return b;}
+function hDb(a){if(hL(this.a)!=32){jL(this.a,32);}else{jL(this.a,8);}}
+function eDb(){}
+_=eDb.prototype=new xU();_.wc=hDb;_.tN=Fgc+'PackageEditor$17';_.tI=389;function jDb(b,a,c){b.a=a;b.b=c;return b;}
+function lDb(a){vL(this.b,rL(this.b)+'\n'+'import <your class here>');this.a.b.f=rL(this.b);}
+function iDb(){}
+_=iDb.prototype=new xU();_.wc=lDb;_.tN=Fgc+'PackageEditor$18';_.tI=390;function nDb(b,a,c){b.a=a;b.b=c;return b;}
+function pDb(a){vL(this.b,rL(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=rL(this.b);}
+function mDb(){}
+_=mDb.prototype=new xU();_.wc=pDb;_.tN=Fgc+'PackageEditor$19';_.tI=391;function fEb(b,a){b.a=a;return b;}
+function hEb(a){var b;b=qfb(new pfb(),this.a.d.a,this.a.d.b);lF(b,fc(di()/4),mO(a));oF(b);}
+function tDb(){}
+_=tDb.prototype=new xU();_.wc=hEb;_.tN=Fgc+'PackageEditor$2';_.tI=392;function vDb(b,a,c){b.a=a;b.b=c;return b;}
+function xDb(a){var b;b=zyb(new qyb());lF(b,lO(a)-400,mO(a)-250);Dyb(b,zDb(new yDb(),this,this.b,b));oF(b);}
+function uDb(){}
+_=uDb.prototype=new xU();_.wc=xDb;_.tN=Fgc+'PackageEditor$20';_.tI=393;function zDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function BDb(a){vL(a.b,rL(a.b)+'\n'+Cyb(a.c));a.a.a.b.f=rL(a.b);}
+function CDb(){BDb(this);}
+function yDb(){}
+_=yDb.prototype=new xU();_.nb=CDb;_.tN=Fgc+'PackageEditor$21';_.tI=394;function EDb(b,a,c){b.a=c;return b;}
+function aEb(a){if(hL(this.a)!=32){jL(this.a,32);}else{jL(this.a,8);}}
+function DDb(){}
+_=DDb.prototype=new xU();_.wc=aEb;_.tN=Fgc+'PackageEditor$22';_.tI=395;function cEb(b,a,c){b.a=a;b.b=c;return b;}
+function eEb(a){this.a.b.d=rL(this.b);EGb(this.a.c);}
+function bEb(){}
+_=bEb.prototype=new xU();_.vc=eEb;_.tN=Fgc+'PackageEditor$23';_.tI=396;function jEb(b,a,c){b.a=a;b.b=c;return b;}
+function lEb(){oFb(this.a,this.b.c);}
+function iEb(){}
+_=iEb.prototype=new xU();_.nb=lEb;_.tN=Fgc+'PackageEditor$3';_.tI=397;function nEb(b,a){b.a=a;return b;}
+function pEb(a){iFb(this.a,null);}
+function mEb(){}
+_=mEb.prototype=new xU();_.wc=pEb;_.tN=Fgc+'PackageEditor$4';_.tI=398;function rEb(b,a){b.a=a;return b;}
+function tEb(a){if(Eh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;iFb(this.a,this.a.e);}}
+function qEb(){}
+_=qEb.prototype=new xU();_.wc=tEb;_.tN=Fgc+'PackageEditor$5';_.tI=399;function vEb(b,a){b.a=a;return b;}
+function xEb(a){pFb(this.a);}
+function uEb(){}
+_=uEb.prototype=new xU();_.wc=xEb;_.tN=Fgc+'PackageEditor$6';_.tI=400;function zEb(b,a){b.a=a;return b;}
+function BEb(a){qFb(this.a);}
+function yEb(){}
+_=yEb.prototype=new xU();_.wc=BEb;_.tN=Fgc+'PackageEditor$7';_.tI=401;function DEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function FEb(a){eVb(EMb(),this.a.b.m,rL(this.b),bFb(new aFb(),this,this.c));}
+function CEb(){}
+_=CEb.prototype=new xU();_.wc=FEb;_.tN=Fgc+'PackageEditor$8';_.tI=402;function bFb(b,a,c){b.a=a;b.b=c;return b;}
+function dFb(b,a){cHb(b.a.a.e);Ch('Package renamed successfully.');b.b.hc();}
+function eFb(a){dFb(this,a);}
+function aFb(){}
+_=aFb.prototype=new hdb();_.md=eFb;_.tN=Fgc+'PackageEditor$9';_.tI=403;function qIb(a){a.f=aHb(new uFb(),a);}
+function rIb(b,a){sIb(b,a,null,null);return b;}
+function sIb(g,b,h,f){var a,c,d,e;qIb(g);g.b=b;g.h=h;g.c=jN(new CL());g.d=kbb(new ibb());g.g=new eHb();nN(g.c,g.g);e=hP(new fP());if(f===null){a=lu(new fu());Ex(a.n,0,0,'new-asset-Icons');Bx(a.n,0,0,(oA(),pA),(xA(),zA));a.ve(0,0,vIb(g));iP(e,a);a.xe('100%');}iP(e,g.c);nbb(g.d,0,0,e);c=ou(g.d);Fx(c,0,0,(xA(),AA));ku(ou(g.d),0,1,2);Bx(ou(g.d),0,1,(oA(),pA),(xA(),AA));zIb(g);d=vN(g.c,0);if(d!==null)FN(g.c,d);nbb(g.d,0,1,eA(new hx(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));by(ou(g.d),0,0,'25%');Bx(ou(g.d),0,1,(oA(),qA),(xA(),AA));g.e=Bdc(new Fcc(),g.b,'rulelist');gs(g,g.d);return g;}
+function tIb(d,a,c){var b;b=yIb(d,a.j,'images/package.gif',oIb(new nIb(),hGb(new gGb(),d,a)));b.y(yIb(d,'Business rule assets','images/rule_asset.gif',AIb(d,a.m,(bab(),cab))));b.y(yIb(d,'Technical rule assets','images/technical_rule_assets.gif',AIb(d,a.m,(bab(),eab))));b.y(yIb(d,'Functions','images/function_assets.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['function']))));b.y(yIb(d,'DSL','images/dsl.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['dsl']))));b.y(yIb(d,'Model','images/model_asset.gif',AIb(d,a.m,Bb('[Ljava.lang.String;',610,1,['jar']))));lN(d.c,b);if(c){aO(d.c,b,true);}}
+function vIb(h){var a,b,c,d,e,f,g,i;g=FA(new DA());d=eC(new oB(),'images/new_package.gif');d.pe('Create a new package');fC(d,sHb(new rHb(),h));i=odb(new ndb(),'images/model_asset.gif');fC(i,wHb(new vHb(),h));i.pe('This creates a new model archive - models contain classes/types that rules use.');e=odb(new ndb(),'images/new_rule.gif');e.pe('Create new rule');fC(e,AHb(new zHb(),h));c=odb(new ndb(),'images/function_assets.gif');c.pe('Create a new function');fC(c,cIb(new bIb(),h));a=odb(new ndb(),'images/dsl.gif');a.pe('Create a new DSL (language configuration)');fC(a,gIb(new fIb(),h));f=odb(new ndb(),'images/ruleflow_small.gif');f.pe('Upload a new ruleflow.');fC(f,kIb(new jIb(),h));b=odb(new ndb(),'images/new_enumeration.gif');b.pe('Create a new data enumeration (drop down list)');fC(b,wFb(new vFb(),h));aB(g,d);aB(g,i);aB(g,e);aB(g,c);aB(g,a);aB(g,f);aB(g,b);return g;}
+function wIb(d,a,e){var b,c,f;b=70;f=100;c=i8b(new y7b(),lHb(new kHb(),d),false,a,e,d.a);lF(c,fc((fbb()-gF(c))/2),100);oF(c);}
+function xIb(a,b){ieb('Loading package information ...');AUb(EMb(),b,uGb(new tGb(),a));}
+function yIb(e,d,b,a){var c;c=oM(new mM());wM(c,'<img src="'+b+'">'+d+'<\/a>');CM(c,a);return c;}
+function zIb(a){if(a.h===null){ieb('Loading list of packages ...');uUb(EMb(),AFb(new zFb(),a));}else{ieb('Loading package ...');AUb(EMb(),a.h,EFb(new DFb(),a));}}
+function AIb(c,d,b){var a;a=lGb(new kGb(),c);return oIb(new nIb(),qGb(new pGb(),c,d,b,a));}
+function BIb(b,c){var a;a=bAb(new ezb(),cGb(new bGb(),b));lF(a,fc((fbb()-gF(a))/2),100);oF(a);}
+function tFb(){}
+_=tFb.prototype=new bbb();_.tN=Fgc+'PackageExplorerWidget';_.tI=404;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function aHb(b,a){b.a=a;return b;}
+function cHb(a){zIb(a.a);}
+function dHb(){cHb(this);}
+function uFb(){}
+_=uFb.prototype=new xU();_.nb=dHb;_.tN=Fgc+'PackageExplorerWidget$1';_.tI=405;function wFb(b,a){b.a=a;return b;}
+function yFb(a){wIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
+function vFb(){}
+_=vFb.prototype=new xU();_.wc=yFb;_.tN=Fgc+'PackageExplorerWidget$10';_.tI=406;function AFb(b,a){b.a=a;return b;}
+function CFb(a){var b,c;c=bc(a,71);oN(this.a.c);for(b=0;b<c.a;b++){if(b==0){tIb(this.a,c[b],true);}else{tIb(this.a,c[b],false);}}eeb();}
+function zFb(){}
+_=zFb.prototype=new hdb();_.md=CFb;_.tN=Fgc+'PackageExplorerWidget$11';_.tI=407;function EFb(b,a){b.a=a;return b;}
+function aGb(a){var b;b=bc(a,16);oN(this.a.c);tIb(this.a,b,true);eeb();}
+function DFb(){}
+_=DFb.prototype=new hdb();_.md=aGb;_.tN=Fgc+'PackageExplorerWidget$12';_.tI=408;function cGb(b,a){b.a=a;return b;}
+function eGb(a){zIb(a.a);}
+function fGb(){eGb(this);}
+function bGb(){}
+_=bGb.prototype=new xU();_.nb=fGb;_.tN=Fgc+'PackageExplorerWidget$13';_.tI=409;function hGb(b,a,c){b.a=a;b.b=c;return b;}
+function jGb(){if(this.a.lc()){if(Eh('Discard Changes ? ')){ebb(this.a);xIb(this.a,this.b.m);}}else{xIb(this.a,this.b.m);}}
+function gGb(){}
+_=gGb.prototype=new xU();_.nb=jGb;_.tN=Fgc+'PackageExplorerWidget$14';_.tI=410;function lGb(b,a){b.a=a;return b;}
+function nGb(c,a){var b;b=bc(a,62);aec(c.a.e,b);c.a.e.xe('100%');nbb(c.a.d,0,1,c.a.e);Bx(ou(c.a.d),0,1,(oA(),qA),(xA(),AA));eeb();}
+function oGb(a){nGb(this,a);}
+function kGb(){}
+_=kGb.prototype=new hdb();_.md=oGb;_.tN=Fgc+'PackageExplorerWidget$15';_.tI=411;function qGb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
+function sGb(){ieb('Loading list, please wait...');tUb(EMb(),this.c,this.b,(-1),(-1),this.a);}
+function pGb(){}
+_=pGb.prototype=new xU();_.nb=sGb;_.tN=Fgc+'PackageExplorerWidget$16';_.tI=412;function uGb(b,a){b.a=a;return b;}
+function wGb(c){var a,b,d,e,f,g,h,i;b=bc(c,16);g=qI(new pI());this.a.a=b.j;e=ucb(new rcb(),'images/package_large.png',b.j);uO(e,'package-Editor');e.xe('100%');vcb(e,'Description:',CC(new AC(),b.d));vcb(e,'Date created:',CC(new AC(),s0(b.c)));if(b.g){vcb(e,'Snapshot created on:',CC(new AC(),s0(b.i)));vcb(e,'Snapshot comment:',CC(new AC(),b.b));h=gCb(b);d=eA(new hx(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");vcb(e,'Download package:',d);vcb(e,'Package URI:',CC(new AC(),h));i=qq(new kq(),'View package source');i.x(yGb(new xGb(),this,b));vcb(e,'Show package source:',i);}if(!b.g){ycb(e,eA(new hx(),'<i>Choose one of the options below<\/i>'));}f=CGb(new BGb(),this);a=gHb(new fHb(),this);sI(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){sI(g,fFb(new iCb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);sI(g,FBb(new fAb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{sI(!
 g,fFb(new iCb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.xe('100%');nbb(this.a.d,0,1,g);eeb();}
+function tGb(){}
+_=tGb.prototype=new hdb();_.md=wGb;_.tN=Fgc+'PackageExplorerWidget$17';_.tI=413;function yGb(b,a,c){b.a=c;return b;}
+function AGb(a){fCb(this.a.m,this.a.j);}
+function xGb(){}
+_=xGb.prototype=new xU();_.wc=AGb;_.tN=Fgc+'PackageExplorerWidget$18';_.tI=414;function CGb(b,a){b.a=a;return b;}
+function EGb(a){dbb(a.a.a);}
+function FGb(){EGb(this);}
+function BGb(){}
+_=BGb.prototype=new xU();_.nb=FGb;_.tN=Fgc+'PackageExplorerWidget$19';_.tI=415;function pHb(c){var a,b;a=bc(c.k,90);b=a.a;ieb('Please wait...');ig(b);}
+function qHb(a){}
+function eHb(){}
+_=eHb.prototype=new xU();_.od=pHb;_.pd=qHb;_.tN=Fgc+'PackageExplorerWidget$2';_.tI=416;function gHb(b,a){b.a=a;return b;}
+function iHb(a){ebb(a.a.a);}
+function jHb(){iHb(this);}
+function fHb(){}
+_=fHb.prototype=new xU();_.nb=jHb;_.tN=Fgc+'PackageExplorerWidget$20';_.tI=417;function lHb(b,a){b.a=a;return b;}
+function nHb(a){aJb(this.a.b,a);}
+function kHb(){}
+_=kHb.prototype=new xU();_.td=nHb;_.tN=Fgc+'PackageExplorerWidget$21';_.tI=418;function sHb(b,a){b.a=a;return b;}
+function uHb(a){BIb(this.a,a);}
+function rHb(){}
+_=rHb.prototype=new xU();_.wc=uHb;_.tN=Fgc+'PackageExplorerWidget$3';_.tI=419;function wHb(b,a){b.a=a;return b;}
+function yHb(a){wIb(this.a,'jar','Create a new model archive');}
+function vHb(){}
+_=vHb.prototype=new xU();_.wc=yHb;_.tN=Fgc+'PackageExplorerWidget$4';_.tI=420;function AHb(b,a){b.a=a;return b;}
+function CHb(d){var a,b,c;a=70;c=100;b=i8b(new y7b(),EHb(new DHb(),this),true,null,'Create a new rule asset',this.a.a);lF(b,fc((fbb()-gF(b))/2),100);oF(b);}
+function zHb(){}
+_=zHb.prototype=new xU();_.wc=CHb;_.tN=Fgc+'PackageExplorerWidget$5';_.tI=421;function EHb(b,a){b.a=a;return b;}
+function aIb(a){aJb(this.a.a.b,a);}
+function DHb(){}
+_=DHb.prototype=new xU();_.td=aIb;_.tN=Fgc+'PackageExplorerWidget$6';_.tI=422;function cIb(b,a){b.a=a;return b;}
+function eIb(a){wIb(this.a,'function','Create a new function');}
+function bIb(){}
+_=bIb.prototype=new xU();_.wc=eIb;_.tN=Fgc+'PackageExplorerWidget$7';_.tI=423;function gIb(b,a){b.a=a;return b;}
+function iIb(a){wIb(this.a,'dsl','Create a new language configuration');}
+function fIb(){}
+_=fIb.prototype=new xU();_.wc=iIb;_.tN=Fgc+'PackageExplorerWidget$8';_.tI=424;function kIb(b,a){b.a=a;return b;}
+function mIb(a){wIb(this.a,'rf','Create a new ruleflow');}
+function jIb(){}
+_=jIb.prototype=new xU();_.wc=mIb;_.tN=Fgc+'PackageExplorerWidget$9';_.tI=425;function oIb(b,a){b.a=a;return b;}
+function nIb(){}
+_=nIb.prototype=new xU();_.tN=Fgc+'PackageExplorerWidget$PackageTreeItem';_.tI=426;_.a=null;function cJb(a){a.a=(FZ(),a0);}
+function dJb(a){eJb(a,null,null);return a;}
+function eJb(e,c,d){var a,b;cJb(e);e.b=sK(new eK());e.b.xe('100%');e.b.ne('30%');a=EIb(new DIb(),e,d);b=null;if(c===null){b=rIb(new tFb(),a);}else{b=sIb(new tFb(),a,c,d);}tK(e.b,b,"<img src='images/explore.gif'/>Explore",true);zK(e.b,0);gs(e,e.b);return e;}
+function gJb(b,a){b.a=a;}
+function CIb(){}
+_=CIb.prototype=new es();_.tN=Fgc+'PackageManagerView';_.tI=427;_.b=null;function EIb(b,a,c){b.a=a;b.b=c;return b;}
+function aJb(b,a){u5b(b.a.a,b.a.b,a,b.b!==null);}
+function bJb(a){aJb(this,a);}
+function DIb(){}
+_=DIb.prototype=new xU();_.td=bJb;_.tN=Fgc+'PackageManagerView$1';_.tI=428;function FKb(b){var a,c;b.a=lu(new fu());b.c=sK(new eK());b.c.xe('100%');b.c.ne('100%');c=hP(new fP());iP(c,b.a);a=qq(new kq(),'Rebuild snapshot binaries');a.pe('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new iJb());iP(c,a);tK(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);by(b.a.n,0,0,'28%');b.b=EMb();hLb(b);b.a.xe('100%');gs(b,b.c);zK(b.c,0);return b;}
+function aLb(h,c){var a,b,d,e,f,g;g=jN(new CL());d=hP(new fP());for(a=0;a<c.a;a++){e=c[a].j;b=fLb(h,e,'images/package_snapshot.gif',iKb(new hKb(),h,e));lN(g,b);}iP(d,g);f=eA(new hx(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");DC(f,mKb(new lKb(),h));nN(g,new pKb());mP(d,(xA(),AA));lP(d,(oA(),qA));iP(d,f);uO(d,'snapshot-List');h.a.ve(0,0,d);Fx(h.a.n,0,0,(xA(),AA));}
+function cLb(g,e,f){var a,b,c,d;c=ddb(new Ecb(),'images/snapshot.png','Copy snapshot '+f);a=zL(new kL());edb(c,'New label:',a);d=qq(new kq(),'OK');edb(c,'',d);d.x(yKb(new xKb(),g,e,f,a,c));b=qq(new kq(),'Copy');b.x(kJb(new jJb(),g,c));return b;}
+function dLb(d,c,b){var a;a=qq(new kq(),'Delete');a.x(sJb(new rJb(),d,c,b));return a;}
+function eLb(d,b,c,e){var a;a=qq(new kq(),'Open');a.x(oJb(new nJb(),d,b,c,e));return a;}
+function fLb(e,d,b,a){var c;c=oM(new mM());wM(c,'<img src="'+b+'">'+d+'<\/a>');CM(c,a);return c;}
+function gLb(g,e,f,h){var a,b,c,d,i;i=lu(new fu());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=FA(new DA());aB(c,eA(new hx(),d));a=odb(new ndb(),'images/close.gif');a.pe('Close this view');fC(a,AJb(new zJb(),g));aB(c,a);i.ve(0,0,c);b=ou(i);Ex(b,0,0,'editable-Surface');i.ve(1,0,eJb(new CIb(),h,f));i.xe('100%');i.ne('100%');if(g.c.a.f.c>1){yK(g.c,1);}tK(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);zK(g.c,1);}
+function hLb(a){ieb('Loading package list...');uUb(a.b,eKb(new dKb(),a));}
+function iLb(h,d,b){var a,c,e,f,g;e=ucb(new rcb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=lu(new fu());yz(g,0,1,'Name');yz(g,0,2,'Comment');ly(g.p,0,igc);for(a=0;a<b.a;a++){f=a+1;c=CC(new AC(),b[a].b);g.ve(f,0,eC(new oB(),'images/package_snapshot_item.gif'));g.ve(f,1,c);g.ve(f,2,CC(new AC(),b[a].a));g.ve(f,3,eLb(h,d,aD(c),b[a].c));g.ve(f,4,cLb(h,d,aD(c)));g.ve(f,5,dLb(h,aD(c),d));if(a%2==0){ly(g.p,a+1,ggc);}}e.xe('100%');ycb(e,g);g.xe('100%');uO(e,hgc);h.a.ve(0,1,e);Fx(ou(h.a),0,1,(xA(),AA));}
+function jLb(b,a){ieb('Loading snapshots...');vUb(b.b,a,uKb(new tKb(),b,a));}
+function hJb(){}
+_=hJb.prototype=new es();_.tN=Fgc+'PackageSnapshotView';_.tI=429;_.a=null;_.b=null;_.c=null;function EJb(a){if(Eh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){ieb('Rebuilding snapshots. Please wait, this may take some time...');aVb(EMb(),new FJb());}}
+function iJb(){}
+_=iJb.prototype=new xU();_.wc=EJb;_.tN=Fgc+'PackageSnapshotView$1';_.tI=430;function kJb(b,a,c){b.a=c;return b;}
+function mJb(a){lF(this.a,fc((fbb()-gF(this.a))/2),100);oF(this.a);}
+function jJb(){}
+_=jJb.prototype=new xU();_.wc=mJb;_.tN=Fgc+'PackageSnapshotView$10';_.tI=431;function oJb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
+function qJb(a){gLb(this.a,this.b,this.c,this.d);}
+function nJb(){}
+_=nJb.prototype=new xU();_.wc=qJb;_.tN=Fgc+'PackageSnapshotView$11';_.tI=432;function sJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function uJb(b){var a;a=Eh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{lUb(this.a.b,this.b,this.c,true,null,wJb(new vJb(),this,this.b));}}
+function rJb(){}
+_=rJb.prototype=new xU();_.wc=uJb;_.tN=Fgc+'PackageSnapshotView$12';_.tI=433;function wJb(b,a,c){b.a=a;b.b=c;return b;}
+function yJb(a){jLb(this.a.a,this.b);}
+function vJb(){}
+_=vJb.prototype=new hdb();_.md=yJb;_.tN=Fgc+'PackageSnapshotView$13';_.tI=434;function AJb(b,a){b.a=a;return b;}
+function CJb(a){yK(this.a.c,1);zK(this.a.c,0);}
+function zJb(){}
+_=zJb.prototype=new xU();_.wc=CJb;_.tN=Fgc+'PackageSnapshotView$14';_.tI=435;function bKb(b,a){eeb();Ch('Snapshots were rebuilt successfully.');}
+function cKb(a){bKb(this,a);}
+function FJb(){}
+_=FJb.prototype=new hdb();_.md=cKb;_.tN=Fgc+'PackageSnapshotView$2';_.tI=436;function eKb(b,a){b.a=a;return b;}
+function gKb(a){var b;b=bc(a,71);aLb(this.a,b);eeb();}
+function dKb(){}
+_=dKb.prototype=new hdb();_.md=gKb;_.tN=Fgc+'PackageSnapshotView$3';_.tI=437;function iKb(b,a,c){b.a=a;b.b=c;return b;}
+function kKb(){jLb(this.a,this.b);}
+function hKb(){}
+_=hKb.prototype=new xU();_.nb=kKb;_.tN=Fgc+'PackageSnapshotView$4';_.tI=438;function mKb(b,a){b.a=a;return b;}
+function oKb(a){hLb(this.a);}
+function lKb(){}
+_=lKb.prototype=new xU();_.wc=oKb;_.tN=Fgc+'PackageSnapshotView$5';_.tI=439;function rKb(a){ig(bc(a.k,4));}
+function sKb(a){}
+function pKb(){}
+_=pKb.prototype=new xU();_.od=rKb;_.pd=sKb;_.tN=Fgc+'PackageSnapshotView$6';_.tI=440;function uKb(b,a,c){b.a=a;b.b=c;return b;}
+function wKb(a){var b;b=bc(a,86);iLb(this.a,this.b,b);eeb();}
+function tKb(){}
+_=tKb.prototype=new hdb();_.md=wKb;_.tN=Fgc+'PackageSnapshotView$7';_.tI=441;function yKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
+function AKb(a){lUb(this.a.b,this.d,this.e,false,rL(this.b),CKb(new BKb(),this,this.d,this.c));}
+function xKb(){}
+_=xKb.prototype=new xU();_.wc=AKb;_.tN=Fgc+'PackageSnapshotView$8';_.tI=442;function CKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function EKb(a){jLb(this.a.a,this.c);this.b.hc();}
+function BKb(){}
+_=BKb.prototype=new hdb();_.md=EKb;_.tN=Fgc+'PackageSnapshotView$9';_.tI=443;function sLb(){sLb=v3;xLb=rLb(new kLb());}
+function qLb(a){a.a=C1(new a1());}
+function rLb(a){sLb();qLb(a);return a;}
+function tLb(c,b,a){if(!F1(c.a,b)){vLb(c,b,a);}else{h5b(a);}}
+function uLb(c,b){var a;a=bc(c2(c.a,b),91);if(a===null){jcb('Unable to get content assistance for this rule.');return null;}return a;}
+function vLb(c,b,a){kW(),nW;DUb(EMb(),b,mLb(new lLb(),c,b,a));}
+function wLb(c,b,a){if(F1(c.a,b)){e2(c.a,b);vLb(c,b,a);}else{a.nb();}}
+function kLb(){}
+_=kLb.prototype=new xU();_.tN=Fgc+'SuggestionCompletionCache';_.tI=444;var xLb;function mLb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function oLb(c,a){var b;b=bc(a,91);d2(c.a.a,c.c,b);c.b.nb();}
+function pLb(a){oLb(this,a);}
+function lLb(){}
+_=lLb.prototype=new hdb();_.md=pLb;_.tN=Fgc+'SuggestionCompletionCache$1';_.tI=445;function ELb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
+function yLb(){}
+_=yLb.prototype=new xU();_.tS=ELb;_.tN=ahc+'BuilderResult';_.tI=446;_.a=null;_.b=null;_.c=null;_.d=null;function CLb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();a.d=b.Bd();}
+function DLb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);b.cf(a.d);}
+function FLb(){}
+_=FLb.prototype=new fm();_.tN=ahc+'DetailedSerializableException';_.tI=447;_.a=null;function dMb(b,a){gMb(a,b.Bd());jm(b,a);}
+function eMb(a){return a.a;}
+function fMb(b,a){b.cf(eMb(a));lm(b,a);}
+function gMb(a,b){a.a=b;}
+function iMb(a){a.a=Ab('[Ljava.lang.String;',[610],[1],[0],null);}
+function jMb(a){iMb(a);return a;}
+function kMb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(qV(e.a[b],a))return;}c=e.a;d=Ab('[Ljava.lang.String;',[610],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function mMb(e,b){var a,c,d;d=Ab('[Ljava.lang.String;',[610],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function hMb(){}
+_=hMb.prototype=new xU();_.tN=ahc+'MetaData';_.tI=448;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function pMb(b,a){a.a=bc(b.Ad(),63);a.b=b.Bd();a.c=b.Bd();a.d=bc(b.Ad(),59);a.e=b.Bd();a.f=bc(b.Ad(),59);a.g=bc(b.Ad(),59);a.h=b.Bd();a.i=b.Bd();a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=bc(b.Ad(),59);a.n=b.Bd();a.o=b.Bd();a.p=b.Bd();a.q=b.Bd();a.r=b.Bd();a.s=b.Bd();a.t=b.Bd();a.u=b.Bd();a.v=b.zd();}
+function qMb(b,a){b.bf(a.a);b.cf(a.b);b.cf(a.c);b.bf(a.d);b.cf(a.e);b.bf(a.f);b.bf(a.g);b.cf(a.h);b.cf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.bf(a.m);b.cf(a.n);b.cf(a.o);b.cf(a.p);b.cf(a.q);b.cf(a.r);b.cf(a.s);b.cf(a.t);b.cf(a.u);b.af(a.v);}
+function rMb(){}
+_=rMb.prototype=new xU();_.tN=ahc+'PackageConfigData';_.tI=449;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function vMb(b,a){a.a=b.wd();a.b=b.Bd();a.c=bc(b.Ad(),59);a.d=b.Bd();a.e=b.Bd();a.f=b.Bd();a.g=b.wd();a.h=b.Bd();a.i=bc(b.Ad(),59);a.j=b.Bd();a.k=b.Bd();a.l=b.Bd();a.m=b.Bd();}
+function wMb(b,a){b.De(a.a);b.cf(a.b);b.bf(a.c);b.cf(a.d);b.cf(a.e);b.cf(a.f);b.De(a.g);b.cf(a.h);b.bf(a.i);b.cf(a.j);b.cf(a.k);b.cf(a.l);b.cf(a.m);}
+function CMb(){var a,b,c;c=BSb(new bNb());a=c;b=w()+'jbrmsService';hVb(a,b);return c;}
+function DMb(){var a,b,c;c=jYb(new EXb());a=c;b=w()+'jbrmsService';pYb(a,b);return c;}
+function EMb(){if(BMb===null){FMb();}return BMb;}
+function FMb(){if(AMb)BMb=null;else BMb=CMb();}
+function aNb(d,b,a){var c;c=DMb();oYb(c,d,b,a);}
+var AMb=false,BMb=null;function jUb(){jUb=v3;iVb=kVb(new jVb());}
+function BSb(a){jUb();return a;}
+function CSb(b,a,c,d){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'archiveAsset');mo(a,2);oo(a,'java.lang.String');oo(a,'Z');oo(a,c);lo(a,d);}
+function ESb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildAsset');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
+function DSb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildAssetSource');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
+function aTb(d,c,a,b){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'buildPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,a);oo(c,b);}
+function FSb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'buildPackageSource');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function bTb(d,c,e,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'changeAssetPackage');mo(c,3);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,e);oo(c,b);oo(c,a);}
+function cTb(c,b,d,a,e){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'changeState');mo(b,3);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,'Z');oo(b,d);oo(b,a);lo(b,e);}
+function dTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'checkinVersion');mo(b,1);oo(b,'org.drools.brms.client.rpc.RuleAsset');no(b,a);}
+function eTb(e,d,a,c,b){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'copyAsset');mo(d,3);oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,a);oo(d,c);oo(d,b);}
+function fTb(f,e,c,d,a,b){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'copyOrRemoveSnapshot');mo(e,4);oo(e,'java.lang.String');oo(e,'java.lang.String');oo(e,'Z');oo(e,'java.lang.String');oo(e,c);oo(e,d);lo(e,a);oo(e,b);}
+function gTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'copyPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
+function hTb(e,d,c,b,a){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'createCategory');mo(d,3);oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,'java.lang.String');oo(d,c);oo(d,b);oo(d,a);}
+function iTb(g,f,e,a,c,d,b){if(g.a===null)throw um(new tm());rp(f);oo(f,'org.drools.brms.client.rpc.RepositoryService');oo(f,'createNewRule');mo(f,5);oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,'java.lang.String');oo(f,e);oo(f,a);oo(f,c);oo(f,d);oo(f,b);}
+function kTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'createPackage');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
+function jTb(f,e,b,d,c,a){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'createPackageSnapshot');mo(e,4);oo(e,'java.lang.String');oo(e,'java.lang.String');oo(e,'Z');oo(e,'java.lang.String');oo(e,b);oo(e,d);lo(e,c);oo(e,a);}
+function lTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'createState');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function mTb(d,c,b,a){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'deleteUncheckedRule');mo(c,2);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,b);oo(c,a);}
+function nTb(f,e,c,a,b,d){if(f.a===null)throw um(new tm());rp(e);oo(e,'org.drools.brms.client.rpc.RepositoryService');oo(e,'listAssets');mo(e,4);oo(e,'java.lang.String');oo(e,'[Ljava.lang.String;');oo(e,'I');oo(e,'I');oo(e,c);no(e,a);mo(e,b);mo(e,d);}
+function oTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'listPackages');mo(a,0);}
+function pTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'listSnapshots');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function qTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'listStates');mo(a,0);}
+function rTb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadArchivedAssets');mo(a,0);}
+function sTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadAssetHistory');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
+function tTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadChildCategories');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function uTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'loadPackageConfig');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
+function vTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadRuleAsset');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function wTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadRuleListForCategories');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function xTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadSuggestionCompletionEngine');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function yTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'loadTableConfig');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function zTb(e,d,c,a,b){if(e.a===null)throw um(new tm());rp(d);oo(d,'org.drools.brms.client.rpc.RepositoryService');oo(d,'quickFindAsset');mo(d,3);oo(d,'java.lang.String');oo(d,'I');oo(d,'Z');oo(d,c);mo(d,a);lo(d,b);}
+function ATb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'rebuildSnapshots');mo(a,0);}
+function BTb(b,a,c){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.RepositoryService');oo(a,'removeAsset');mo(a,1);oo(a,'java.lang.String');oo(a,c);}
+function CTb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'removeCategory');mo(b,1);oo(b,'java.lang.String');oo(b,a);}
+function DTb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'renameAsset');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
+function ETb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'renamePackage');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
+function FTb(d,c,e,a,b){if(d.a===null)throw um(new tm());rp(c);oo(c,'org.drools.brms.client.rpc.RepositoryService');oo(c,'restoreVersion');mo(c,3);oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,'java.lang.String');oo(c,e);oo(c,a);oo(c,b);}
+function aUb(c,b,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.RepositoryService');oo(b,'savePackage');mo(b,1);oo(b,'org.drools.brms.client.rpc.PackageConfigData');no(b,a);}
+function bUb(h,i,j,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{CSb(h,g,i,j);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=qOb(new cNb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ESb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=hQb(new uOb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=ERb(new lQb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fUb(j,f,g,c){var a,d,e,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{aTb(j,i,f,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=dSb(new cSb(),j,h,c);if(!zg(j.a,up(i),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{FSb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=iSb(new hSb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gUb(j,k,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{bTb(j,i,k,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=nSb(new mSb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hUb(i,j,f,k,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{cTb(i,h,j,f,k);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=sSb(new rSb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function iUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{dTb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=xSb(new wSb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function kUb(k,c,h,g,d){var a,e,f,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{eTb(k,j,c,h,g);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=eNb(new dNb(),k,i,d);if(!zg(k.a,up(j),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lUb(l,h,i,d,g,c){var a,e,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{fTb(l,k,h,i,d,g);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=jNb(new iNb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mUb(j,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{gTb(j,i,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=oNb(new nNb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function nUb(k,h,g,d,c){var a,e,f,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{hTb(k,j,h,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=tNb(new sNb(),k,i,c);if(!zg(k.a,up(j),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oUb(m,j,d,h,i,f,c){var a,e,g,k,l;k=Ao(new zo(),iVb);l=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{iTb(m,l,j,d,h,i,f);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}g=yNb(new xNb(),m,k,c);if(!zg(m.a,up(l),g))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qUb(j,g,d,c){var a,e,f,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{kTb(j,i,g,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=DNb(new CNb(),j,h,c);if(!zg(j.a,up(i),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pUb(l,g,i,h,d,c){var a,e,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{jTb(l,k,g,i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=cOb(new bOb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=hOb(new gOb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sUb(j,g,f,c){var a,d,e,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{mTb(j,i,g,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=mOb(new lOb(),j,h,c);if(!zg(j.a,up(i),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tUb(l,h,e,g,i,c){var a,d,f,j,k;j=Ao(new zo(),iVb);k=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{nTb(l,k,h,e,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}f=wOb(new vOb(),l,j,c);if(!zg(l.a,up(k),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{oTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=BOb(new AOb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{pTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=aPb(new FOb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{qTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=fPb(new ePb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function xUb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{rTb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=kPb(new jPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function yUb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{sTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=pPb(new oPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function zUb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{tTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=uPb(new tPb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function AUb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{uTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=zPb(new yPb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function BUb(i,c,d){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{vTb(i,h,c);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(d,e);return;}else throw a;}f=EPb(new DPb(),i,g,d);if(!zg(i.a,up(h),f))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CUb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{wTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=dQb(new cQb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{xTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=nQb(new mQb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function EUb(i,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{yTb(i,h,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=sQb(new rQb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FUb(k,h,f,g,c){var a,d,e,i,j;i=Ao(new zo(),iVb);j=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{zTb(k,j,h,f,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=xQb(new wQb(),k,i,c);if(!zg(k.a,up(j),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aVb(h,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ATb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=CQb(new BQb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bVb(h,i,c){var a,d,e,f,g;f=Ao(new zo(),iVb);g=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{BTb(h,g,i);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=bRb(new aRb(),h,f,c);if(!zg(h.a,up(g),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cVb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{CTb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=gRb(new fRb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dVb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{DTb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=lRb(new kRb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eVb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{ETb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=qRb(new pRb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fVb(j,k,c,e,d){var a,f,g,h,i;h=Ao(new zo(),iVb);i=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{FTb(j,i,k,c,e);}catch(a){a=mc(a);if(cc(a,92)){f=a;jdb(d,f);return;}else throw a;}g=vRb(new uRb(),j,h,d);if(!zg(j.a,up(i),g))jdb(d,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gVb(i,d,c){var a,e,f,g,h;g=Ao(new zo(),iVb);h=np(new lp(),iVb,w(),'C50AC3674DA287E97256C457C7C13175');try{aUb(i,h,d);}catch(a){a=mc(a);if(cc(a,92)){e=a;jdb(c,e);return;}else throw a;}f=ARb(new zRb(),i,g,c);if(!zg(i.a,up(h),f))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hVb(b,a){b.a=a;}
+function bNb(){}
+_=bNb.prototype=new xU();_.tN=ahc+'RepositoryService_Proxy';_.tI=450;_.a=null;var iVb;function qOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)x7(g.a,f);else jdb(g.a,c);}
+function tOb(a){var b;b=y;sOb(this,a);}
+function cNb(){}
+_=cNb.prototype=new xU();_.xc=tOb;_.tN=ahc+'RepositoryService_Proxy$1';_.tI=451;function eNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)p1b(g.a,f);else jdb(g.a,c);}
+function hNb(a){var b;b=y;gNb(this,a);}
+function dNb(){}
+_=dNb.prototype=new xU();_.xc=hNb;_.tN=ahc+'RepositoryService_Proxy$10';_.tI=452;function jNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function lNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function mNb(a){var b;b=y;lNb(this,a);}
+function iNb(){}
+_=iNb.prototype=new xU();_.xc=mNb;_.tN=ahc+'RepositoryService_Proxy$11';_.tI=453;function oNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function qNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)rCb(g.a,f);else jdb(g.a,c);}
+function rNb(a){var b;b=y;qNb(this,a);}
+function nNb(){}
+_=nNb.prototype=new xU();_.xc=rNb;_.tN=ahc+'RepositoryService_Proxy$12';_.tI=454;function tNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)C$(g.a,f);else jdb(g.a,c);}
+function wNb(a){var b;b=y;vNb(this,a);}
+function sNb(){}
+_=sNb.prototype=new xU();_.xc=wNb;_.tN=ahc+'RepositoryService_Proxy$13';_.tI=455;function yNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function ANb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)e8b(g.a,f);else jdb(g.a,c);}
+function BNb(a){var b;b=y;ANb(this,a);}
+function xNb(){}
+_=xNb.prototype=new xU();_.xc=BNb;_.tN=ahc+'RepositoryService_Proxy$14';_.tI=456;function DNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FNb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)vzb(g.a,f);else jdb(g.a,c);}
+function aOb(a){var b;b=y;FNb(this,a);}
+function CNb(){}
+_=CNb.prototype=new xU();_.xc=aOb;_.tN=ahc+'RepositoryService_Proxy$15';_.tI=457;function cOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function eOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)wAb(g.a,f);else jdb(g.a,c);}
+function fOb(a){var b;b=y;eOb(this,a);}
+function bOb(){}
+_=bOb.prototype=new xU();_.xc=fOb;_.tN=ahc+'RepositoryService_Proxy$16';_.tI=458;function hOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)j$(g.a,f);else jdb(g.a,c);}
+function kOb(a){var b;b=y;jOb(this,a);}
+function gOb(){}
+_=gOb.prototype=new xU();_.xc=kOb;_.tN=ahc+'RepositoryService_Proxy$17';_.tI=459;function mOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f_b(g.a,f);else jdb(g.a,c);}
+function pOb(a){var b;b=y;oOb(this,a);}
+function lOb(){}
+_=lOb.prototype=new xU();_.xc=pOb;_.tN=ahc+'RepositoryService_Proxy$18';_.tI=460;function hQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)i9b(g.a,f);else jdb(g.a,c);}
+function kQb(a){var b;b=y;jQb(this,a);}
+function uOb(){}
+_=uOb.prototype=new xU();_.xc=kQb;_.tN=ahc+'RepositoryService_Proxy$2';_.tI=461;function wOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)nGb(g.a,f);else jdb(g.a,c);}
+function zOb(a){var b;b=y;yOb(this,a);}
+function vOb(){}
+_=vOb.prototype=new xU();_.xc=zOb;_.tN=ahc+'RepositoryService_Proxy$20';_.tI=462;function BOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DOb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function EOb(a){var b;b=y;DOb(this,a);}
+function AOb(){}
+_=AOb.prototype=new xU();_.xc=EOb;_.tN=ahc+'RepositoryService_Proxy$21';_.tI=463;function aPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function dPb(a){var b;b=y;cPb(this,a);}
+function FOb(){}
+_=FOb.prototype=new xU();_.xc=dPb;_.tN=ahc+'RepositoryService_Proxy$22';_.tI=464;function fPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function iPb(a){var b;b=y;hPb(this,a);}
+function ePb(){}
+_=ePb.prototype=new xU();_.xc=iPb;_.tN=ahc+'RepositoryService_Proxy$23';_.tI=465;function kPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f8(g.a,f);else jdb(g.a,c);}
+function nPb(a){var b;b=y;mPb(this,a);}
+function jPb(){}
+_=jPb.prototype=new xU();_.xc=nPb;_.tN=ahc+'RepositoryService_Proxy$24';_.tI=466;function pPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)gac(g.a,f);else jdb(g.a,c);}
+function sPb(a){var b;b=y;rPb(this,a);}
+function oPb(){}
+_=oPb.prototype=new xU();_.xc=sPb;_.tN=ahc+'RepositoryService_Proxy$25';_.tI=467;function uPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function xPb(a){var b;b=y;wPb(this,a);}
+function tPb(){}
+_=tPb.prototype=new xU();_.xc=xPb;_.tN=ahc+'RepositoryService_Proxy$26';_.tI=468;function zPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function BPb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function CPb(a){var b;b=y;BPb(this,a);}
+function yPb(){}
+_=yPb.prototype=new xU();_.xc=CPb;_.tN=ahc+'RepositoryService_Proxy$27';_.tI=469;function EPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function bQb(a){var b;b=y;aQb(this,a);}
+function DPb(){}
+_=DPb.prototype=new xU();_.xc=bQb;_.tN=ahc+'RepositoryService_Proxy$28';_.tI=470;function dQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)rcc(g.a,f);else jdb(g.a,c);}
+function gQb(a){var b;b=y;fQb(this,a);}
+function cQb(){}
+_=cQb.prototype=new xU();_.xc=gQb;_.tN=ahc+'RepositoryService_Proxy$29';_.tI=471;function ERb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)n9b(g.a,f);else jdb(g.a,c);}
+function bSb(a){var b;b=y;aSb(this,a);}
+function lQb(){}
+_=lQb.prototype=new xU();_.xc=bSb;_.tN=ahc+'RepositoryService_Proxy$3';_.tI=472;function nQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)oLb(g.a,f);else jdb(g.a,c);}
+function qQb(a){var b;b=y;pQb(this,a);}
+function mQb(){}
+_=mQb.prototype=new xU();_.xc=qQb;_.tN=ahc+'RepositoryService_Proxy$30';_.tI=473;function sQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)hdc(g.a,f);else jdb(g.a,c);}
+function vQb(a){var b;b=y;uQb(this,a);}
+function rQb(){}
+_=rQb.prototype=new xU();_.xc=vQb;_.tN=ahc+'RepositoryService_Proxy$31';_.tI=474;function xQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else jdb(g.a,c);}
+function AQb(a){var b;b=y;zQb(this,a);}
+function wQb(){}
+_=wQb.prototype=new xU();_.xc=AQb;_.tN=ahc+'RepositoryService_Proxy$32';_.tI=475;function CQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function EQb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)bKb(g.a,f);else jdb(g.a,c);}
+function FQb(a){var b;b=y;EQb(this,a);}
+function BQb(){}
+_=BQb.prototype=new xU();_.xc=FQb;_.tN=ahc+'RepositoryService_Proxy$33';_.tI=476;function bRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)a8(g.a,f);else jdb(g.a,c);}
+function eRb(a){var b;b=y;dRb(this,a);}
+function aRb(){}
+_=aRb.prototype=new xU();_.xc=eRb;_.tN=ahc+'RepositoryService_Proxy$34';_.tI=477;function gRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)x9(g.a,f);else jdb(g.a,c);}
+function jRb(a){var b;b=y;iRb(this,a);}
+function fRb(){}
+_=fRb.prototype=new xU();_.xc=jRb;_.tN=ahc+'RepositoryService_Proxy$35';_.tI=478;function lRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)f7b(g.a,f);else jdb(g.a,c);}
+function oRb(a){var b;b=y;nRb(this,a);}
+function kRb(){}
+_=kRb.prototype=new xU();_.xc=oRb;_.tN=ahc+'RepositoryService_Proxy$36';_.tI=479;function qRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)dFb(g.a,f);else jdb(g.a,c);}
+function tRb(a){var b;b=y;sRb(this,a);}
+function pRb(){}
+_=pRb.prototype=new xU();_.xc=tRb;_.tN=ahc+'RepositoryService_Proxy$37';_.tI=480;function vRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)pbc(g.a,f);else jdb(g.a,c);}
+function yRb(a){var b;b=y;xRb(this,a);}
+function uRb(){}
+_=uRb.prototype=new xU();_.xc=yRb;_.tN=ahc+'RepositoryService_Proxy$38';_.tI=481;function ARb(b,a,d,c){b.b=d;b.a=c;return b;}
+function CRb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)wCb(g.a,f);else jdb(g.a,c);}
+function DRb(a){var b;b=y;CRb(this,a);}
+function zRb(){}
+_=zRb.prototype=new xU();_.xc=DRb;_.tN=ahc+'RepositoryService_Proxy$39';_.tI=482;function dSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=go(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)vBb(g.a,f);else jdb(g.a,c);}
+function gSb(a){var b;b=y;fSb(this,a);}
+function cSb(){}
+_=cSb.prototype=new xU();_.xc=gSb;_.tN=ahc+'RepositoryService_Proxy$4';_.tI=483;function iSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function kSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)gBb(g.a,f);else jdb(g.a,c);}
+function lSb(a){var b;b=y;kSb(this,a);}
+function hSb(){}
+_=hSb.prototype=new xU();_.xc=lSb;_.tN=ahc+'RepositoryService_Proxy$5';_.tI=484;function nSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function pSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)D5b(g.a,f);else jdb(g.a,c);}
+function qSb(a){var b;b=y;pSb(this,a);}
+function mSb(){}
+_=mSb.prototype=new xU();_.xc=qSb;_.tN=ahc+'RepositoryService_Proxy$6';_.tI=485;function sSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=null;}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)jfb(g.a,f);else jdb(g.a,c);}
+function vSb(a){var b;b=y;uSb(this,a);}
+function rSb(){}
+_=rSb.prototype=new xU();_.xc=vSb;_.tN=ahc+'RepositoryService_Proxy$7';_.tI=486;function xSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zSb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)k_b(g.a,f);else jdb(g.a,c);}
+function ASb(a){var b;b=y;zSb(this,a);}
+function wSb(){}
+_=wSb.prototype=new xU();_.xc=ASb;_.tN=ahc+'RepositoryService_Proxy$8';_.tI=487;function lVb(){lVb=v3;nXb=mVb();qXb=nVb();}
+function kVb(a){lVb();return a;}
+function mVb(){lVb();return {'[B/2233087514':[function(a){return oVb(a);},function(a,b){hn(a,b);},function(a,b){jn(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return pVb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return qVb(a);},function(a,b){jm(a,b);},function(a,b){lm(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return vVb(a);},function(a,b){nE(a,b);},function(a,b){qE(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return wVb(a);},function(a,b){fJ(a,b);},function(a,b){iJ(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return xVb(a);},function(a,b){nJ(a,b);},function(a,b){pJ(a,b);}],'java.lang.Boolean/476441737':[function(a){return Am(a);},function(a,b){zm(a,b);},function(a,b){Bm(a,b);}],'java.!
 lang.String/2004016611':[function(a){return dn(a);},function(a,b){cn(a,b);},function(a,b){en(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return yVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'java.util.ArrayList/3821976829':[function(a){return rVb(a);},function(a,b){mn(a,b);},function(a,b){nn(a,b);}],'java.util.Date/1659716317':[function(a){return rn(a);},function(a,b){qn(a,b);},function(a,b){sn(a,b);}],'java.util.HashMap/962170901':[function(a){return sVb(a);},function(a,b){vn(a,b);},function(a,b){wn(a,b);}],'java.util.HashSet/1594477813':[function(a){return tVb(a);},function(a,b){zn(a,b);},function(a,b){An(a,b);}],'java.util.Vector/3125574444':[function(a){return uVb(a);},function(a,b){Dn(a,b);},function(a,b){En(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return zVb(a);},function(a,b){jhb(a,b);},function(a,b){khb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return AVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return CVb(a);},function(a,b){cib(a,b);},function(a,b){dib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return BVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return EVb(a);},function(a,b){kib(a,b);},function(a,b){lib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return DVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return aWb(a);},function(a,b){sib(a,b);},function(a,b){tib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return FVb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn cWb(a);},function(a,b){zib(a,b);},function(a,b){Aib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return bWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return eWb(a);},function(a,b){bjb(a,b);},function(a,b){cjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return dWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return gWb(a);},function(a,b){jjb(a,b);},function(a,b){kjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return fWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return iWb(a);},function(a,b){rjb(a,b);},function(a,b){sjb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn hWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return kWb(a);},function(a,b){zjb(a,b);},function(a,b){Ajb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return jWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return mWb(a);},function(a,b){Fjb(a,b);},function(a,b){akb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return lWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return oWb(a);},function(a,b){hkb(a,b);},function(a,b){ikb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return nWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return qWb(a);},function(a,b){tkb(a,b);},function(a,b){ukb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return pWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return rWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return sWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return tWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return uWb(a);},function(a,b){Ckb(a,b);},function(a,b){Dkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return wWb(a);},function(a,b){elb(a,b);},function(a,b!
 ){flb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return vWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return xWb(a);},function(a,b){zlb(a,b);},function(a,b){Alb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return zWb(a);},function(a,b){cmb(a,b);},function(a,b){dmb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return yWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return BWb(a);},function(a,b){CLb(a,b);},function(a,b){DLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return AWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return CWb(a);},function(a,b){dMb(a,b);},function(a,b){fMb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return DWb(a);},function(a,b){pMb(a,b);},function(a,b){qMb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return FWb(a);},function(a,b){vMb(a,b);},function(a,b){wMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return EWb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return aXb(a);},function(a,b){vXb(a,b);},function(a,b){wXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return bXb(a);},function(a,b){BXb(a,b);},function(a,b){CXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return cXb(a);},function(a,b){cZb(a,b);},function(a,b){dZb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return eXb(a);},function(a,b){iZb(a,b);},function(a,b){jZb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn dXb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return fXb(a);},function(a,b){oZb(a,b);},function(a,b){pZb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return gXb(a);},function(a,b){uZb(a,b);},function(a,b){vZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return iXb(a);},function(a,b){AZb(a,b);},function(a,b){BZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return hXb(a);},function(a,b){Em(a,b);},function(a,b){Fm(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return jXb(a);},function(a,b){b0b(a,b);},function(a,b){c0b(a,b);}]};}
+function nVb(){lVb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
+function oVb(b){lVb();var a;a=b.yd();return Ab('[B',[616],[(-1)],[a],0);}
+function pVb(a){lVb();return Al(new zl());}
+function qVb(a){lVb();return new fm();}
+function rVb(a){lVb();return FY(new DY());}
+function sVb(a){lVb();return C1(new a1());}
+function tVb(a){lVb();return w2(new v2());}
+function uVb(a){lVb();return j3(new i3());}
+function vVb(a){lVb();return new jE();}
+function wVb(a){lVb();return new EI();}
+function xVb(a){lVb();return new aJ();}
+function yVb(b){lVb();var a;a=b.yd();return Ab('[Ljava.lang.String;',[610],[1],[a],null);}
+function zVb(a){lVb();return Agb(new ygb());}
+function AVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[625],[22],[a],null);}
+function BVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[626],[23],[a],null);}
+function CVb(a){lVb();return new Dhb();}
+function DVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[627],[24],[a],null);}
+function EVb(a){lVb();return fib(new eib());}
+function FVb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[628],[25],[a],null);}
+function aWb(a){lVb();return nib(new mib());}
+function bWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[629],[26],[a],null);}
+function cWb(a){lVb();return new uib();}
+function dWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[630],[27],[a],null);}
+function eWb(a){lVb();return Cib(new Bib());}
+function fWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[631],[28],[a],null);}
+function gWb(a){lVb();return ejb(new djb());}
+function hWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[632],[29],[a],null);}
+function iWb(a){lVb();return new ljb();}
+function jWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[633],[30],[a],null);}
+function kWb(a){lVb();return new tjb();}
+function lWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[618],[15],[a],null);}
+function mWb(a){lVb();return new Bjb();}
+function nWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[612],[10],[a],null);}
+function oWb(a){lVb();return new bkb();}
+function pWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[634],[31],[a],null);}
+function qWb(a){lVb();return new kkb();}
+function rWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[624],[21],[a],null);}
+function sWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[623],[20],[a],null);}
+function tWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[622],[19],[a],null);}
+function uWb(a){lVb();return new ykb();}
+function vWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[621],[18],[a],null);}
+function wWb(a){lVb();return new Fkb();}
+function xWb(a){lVb();return jlb(new hlb());}
+function yWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[635],[32],[a],null);}
+function zWb(a){lVb();return new Blb();}
+function AWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.BuilderResult;',[614],[12],[a],null);}
+function BWb(a){lVb();return new yLb();}
+function CWb(a){lVb();return new FLb();}
+function DWb(a){lVb();return jMb(new hMb());}
+function EWb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.PackageConfigData;',[619],[16],[a],null);}
+function FWb(a){lVb();return new rMb();}
+function aXb(a){lVb();return new rXb();}
+function bXb(a){lVb();return new xXb();}
+function cXb(a){lVb();return new EYb();}
+function dXb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[620],[17],[a],null);}
+function eXb(a){lVb();return new eZb();}
+function fXb(a){lVb();return new kZb();}
+function gXb(a){lVb();return new qZb();}
+function hXb(b){lVb();var a;a=b.yd();return Ab('[Lorg.drools.brms.client.rpc.TableDataRow;',[617],[14],[a],null);}
+function iXb(a){lVb();return new wZb();}
+function jXb(a){lVb();return new DZb();}
+function kXb(c,a,d){var b=nXb[d];if(!b){oXb(d);}b[1](c,a);}
+function lXb(b){var a=qXb[b];return a==null?b:a;}
+function mXb(b,c){var a=nXb[c];if(!a){oXb(c);}return a[0](b);}
+function oXb(a){lVb();throw pm(new om(),a);}
+function pXb(c,a,d){var b=nXb[d];if(!b){oXb(d);}b[2](c,a);}
+function jVb(){}
+_=jVb.prototype=new xU();_.gb=kXb;_.Db=lXb;_.jc=mXb;_.fe=pXb;_.tN=ahc+'RepositoryService_TypeSerializer';_.tI=488;var nXb,qXb;function rXb(){}
+_=rXb.prototype=new xU();_.tN=ahc+'RuleAsset';_.tI=489;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function vXb(b,a){a.a=b.wd();a.b=bc(b.Ad(),39);a.c=b.wd();a.d=bc(b.Ad(),93);a.e=b.Bd();}
+function wXb(b,a){b.De(a.a);b.bf(a.b);b.De(a.c);b.bf(a.d);b.cf(a.e);}
+function xXb(){}
+_=xXb.prototype=new xU();_.tN=ahc+'RuleContentText';_.tI=490;_.a=null;function BXb(b,a){a.a=b.Bd();}
+function CXb(b,a){b.cf(a.a);}
+function mYb(){mYb=v3;qYb=sYb(new rYb());}
+function jYb(a){mYb();return a;}
+function kYb(b,a){if(b.a===null)throw um(new tm());rp(a);oo(a,'org.drools.brms.client.rpc.SecurityService');oo(a,'getCurrentUser');mo(a,0);}
+function lYb(c,b,d,a){if(c.a===null)throw um(new tm());rp(b);oo(b,'org.drools.brms.client.rpc.SecurityService');oo(b,'login');mo(b,2);oo(b,'java.lang.String');oo(b,'java.lang.String');oo(b,d);oo(b,a);}
+function nYb(h,c){var a,d,e,f,g;f=Ao(new zo(),qYb);g=np(new lp(),qYb,w(),'C384F35B503938C7EC9B9EB6B150D06F');try{kYb(h,g);}catch(a){a=mc(a);if(cc(a,92)){d=a;c.Ac(d);return;}else throw a;}e=aYb(new FXb(),h,f,c);if(!zg(h.a,up(g),e))c.Ac(bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oYb(i,j,f,c){var a,d,e,g,h;g=Ao(new zo(),qYb);h=np(new lp(),qYb,w(),'C384F35B503938C7EC9B9EB6B150D06F');try{lYb(i,h,j,f);}catch(a){a=mc(a);if(cc(a,92)){d=a;jdb(c,d);return;}else throw a;}e=fYb(new eYb(),i,g,c);if(!zg(i.a,up(h),e))jdb(c,bm(new am(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pYb(b,a){b.a=a;}
+function EXb(){}
+_=EXb.prototype=new xU();_.tN=ahc+'SecurityService_Proxy';_.tI=491;_.a=null;var qYb;function aYb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cYb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=bp(g.b);}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.md(f);else g.a.Ac(c);}
+function dYb(a){var b;b=y;cYb(this,a);}
+function FXb(){}
+_=FXb.prototype=new xU();_.xc=dYb;_.tN=ahc+'SecurityService_Proxy$1';_.tI=492;function fYb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hYb(g,e){var a,c,d,f;f=null;c=null;try{if(yV(e,'//OK')){Do(g.b,zV(e,4));f=BS(new AS(),Eo(g.b));}else if(yV(e,'//EX')){Do(g.b,zV(e,4));c=bc(go(g.b),3);}else{c=bm(new am(),e);}}catch(a){a=mc(a);if(cc(a,92)){a;c=Al(new zl());}else if(cc(a,3)){d=a;c=d;}else throw a;}if(c===null)q6(g.a,f);else jdb(g.a,c);}
+function iYb(a){var b;b=y;hYb(this,a);}
+function eYb(){}
+_=eYb.prototype=new xU();_.xc=iYb;_.tN=ahc+'SecurityService_Proxy$2';_.tI=493;function tYb(){tYb=v3;AYb=uYb();DYb=vYb();}
+function sYb(a){tYb();return a;}
+function uYb(){tYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return wYb(a);},function(a,b){El(a,b);},function(a,b){Fl(a,b);}],'java.lang.String/2004016611':[function(a){return dn(a);},function(a,b){cn(a,b);},function(a,b){en(a,b);}]};}
+function vYb(){tYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
+function wYb(a){tYb();return Al(new zl());}
+function xYb(c,a,d){var b=AYb[d];if(!b){BYb(d);}b[1](c,a);}
+function yYb(b){var a=DYb[b];return a==null?b:a;}
+function zYb(b,c){var a=AYb[c];if(!a){BYb(c);}return a[0](b);}
+function BYb(a){tYb();throw pm(new om(),a);}
+function CYb(c,a,d){var b=AYb[d];if(!b){BYb(d);}b[2](c,a);}
+function rYb(){}
+_=rYb.prototype=new xU();_.gb=xYb;_.Db=yYb;_.jc=zYb;_.fe=CYb;_.tN=ahc+'SecurityService_TypeSerializer';_.tI=494;var AYb,DYb;function EYb(){}
+_=EYb.prototype=new fm();_.tN=ahc+'SessionExpiredException';_.tI=495;function cZb(b,a){jm(b,a);}
+function dZb(b,a){lm(b,a);}
+function eZb(){}
+_=eZb.prototype=new xU();_.tN=ahc+'SnapshotInfo';_.tI=496;_.a=null;_.b=null;_.c=null;function iZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.Bd();}
+function jZb(b,a){b.cf(a.a);b.cf(a.b);b.cf(a.c);}
+function kZb(){}
+_=kZb.prototype=new xU();_.tN=ahc+'TableConfig';_.tI=497;_.a=null;_.b=0;function oZb(b,a){a.a=bc(b.Ad(),63);a.b=b.yd();}
+function pZb(b,a){b.bf(a.a);b.Fe(a.b);}
+function qZb(){}
+_=qZb.prototype=new xU();_.tN=ahc+'TableDataResult';_.tI=498;_.a=null;function uZb(b,a){a.a=bc(b.Ad(),94);}
+function vZb(b,a){b.bf(a.a);}
+function CZb(a){return wV(a,'\\,')[0];}
+function wZb(){}
+_=wZb.prototype=new xU();_.tN=ahc+'TableDataRow';_.tI=499;_.a=null;_.b=null;_.c=null;function AZb(b,a){a.a=b.Bd();a.b=b.Bd();a.c=bc(b.Ad(),63);}
+function BZb(b,a){b.cf(a.a);b.cf(a.b);b.bf(a.c);}
+function DZb(){}
+_=DZb.prototype=new xU();_.tN=ahc+'ValidatedResponse';_.tI=500;_.a=null;_.b=null;_.c=false;_.d=null;function b0b(b,a){a.a=b.Bd();a.b=b.Bd();a.c=b.wd();a.d=bc(b.Ad(),39);}
+function c0b(b,a){b.cf(a.a);b.cf(a.b);b.De(a.c);b.bf(a.d);}
+function r1b(a){a.e=lu(new fu());}
+function s1b(j,b,c,a,f,d,g){var e,h,i;r1b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=dA(new hx());i=j.f.r;e=ou(j.e);h=FA(new DA());z1b(j,i);aB(h,j.g);if(!g){v1b(j,e,h);}B1b(j,f,e);gs(j,j.e);j.xe('100%');return j;}
+function u1b(c,a,b){Ch('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
+function v1b(h,e,g){var a,b,c,d,f;d=odb(new ndb(),'images/edit.gif');d.pe('Change status.');fC(d,n0b(new e0b(),h));aB(g,d);h.e.ve(0,0,g);Bx(e,0,0,(oA(),qA),(xA(),AA));f=qq(new kq(),'Save changes');f.pe('Check in changes.');f.x(r0b(new q0b(),h));aB(g,f);b=qq(new kq(),'Copy');b.x(v0b(new u0b(),h));aB(g,b);a=qq(new kq(),'Archive');a.x(z0b(new y0b(),h));aB(g,a);if(h.f.v==0){c=qq(new kq(),'Delete');c.x(D0b(new C0b(),h));aB(g,c);}}
+function w1b(b,c){var a;a=F2b(new A2b(),lO(c),mO(c),'Check in changes.');c3b(a,g0b(new f0b(),b,a));d3b(a);}
+function x1b(e,f){var a,b,c,d;a=ddb(new Ecb(),'images/rule_asset.gif','Copy this item');b=zL(new kL());c=reb(new meb());edb(a,'New name:',b);edb(a,'New package:',c);d=qq(new kq(),'Create copy');d.x(j1b(new i1b(),e,c,b,a));edb(a,'',d);lF(a,fc((fbb()-gF(a))/2),100);oF(a);}
+function y1b(b,a){b.c=a;}
+function z1b(b,a){hA(b.g,'Status: <b>['+a+']<\/b>');}
+function A1b(b,c){var a;a=lfb(new veb(),b.h,false);ofb(a,k0b(new j0b(),b,a));lF(a,lO(c),mO(c));oF(a);}
+function B1b(e,d,b){var a,c,f;f=FA(new DA());c=odb(new ndb(),'images/max_min.gif');fC(c,b1b(new a1b(),e,d));aB(f,c);a=odb(new ndb(),'images/close.gif');a.pe('Close.');fC(a,f1b(new e1b(),e));aB(f,a);e.e.ve(0,1,f);Bx(b,0,1,(oA(),rA),(xA(),AA));}
+function d0b(){}
+_=d0b.prototype=new es();_.tN=bhc+'ActionToolbar';_.tI=501;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function n0b(b,a){b.a=a;return b;}
+function p0b(a){A1b(this.a,a);}
+function e0b(){}
+_=e0b.prototype=new xU();_.wc=p0b;_.tN=bhc+'ActionToolbar$1';_.tI=502;function g0b(b,a,c){b.a=a;b.b=c;return b;}
+function i0b(){this.a.f.b=b3b(this.b);h$b(this.a.b);}
+function f0b(){}
+_=f0b.prototype=new xU();_.nb=i0b;_.tN=bhc+'ActionToolbar$10';_.tI=503;function k0b(b,a,c){b.a=a;b.b=c;return b;}
+function m0b(){z1b(this.a,this.b.c);}
+function j0b(){}
+_=j0b.prototype=new xU();_.nb=m0b;_.tN=bhc+'ActionToolbar$11';_.tI=504;function r0b(b,a){b.a=a;return b;}
+function t0b(a){w1b(this.a,a);}
+function q0b(){}
+_=q0b.prototype=new xU();_.wc=t0b;_.tN=bhc+'ActionToolbar$2';_.tI=505;function v0b(b,a){b.a=a;return b;}
+function x0b(a){x1b(this.a,a);}
+function u0b(){}
+_=u0b.prototype=new xU();_.wc=x0b;_.tN=bhc+'ActionToolbar$3';_.tI=506;function z0b(b,a){b.a=a;return b;}
+function B0b(a){if(Eh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+t0(l0(new k0()));m$b(this.a.a);}}
+function y0b(){}
+_=y0b.prototype=new xU();_.wc=B0b;_.tN=bhc+'ActionToolbar$4';_.tI=507;function D0b(b,a){b.a=a;return b;}
+function F0b(a){if(Eh('Are you sure you want to permanently delete this (unversioned) item?')){w$b(this.a.d);}}
+function C0b(){}
+_=C0b.prototype=new xU();_.wc=F0b;_.tN=bhc+'ActionToolbar$5';_.tI=508;function b1b(b,a,c){b.a=c;return b;}
+function d1b(a){r$b(this.a);}
+function a1b(){}
+_=a1b.prototype=new xU();_.wc=d1b;_.tN=bhc+'ActionToolbar$6';_.tI=509;function f1b(b,a){b.a=a;return b;}
+function h1b(a){a_b(this.a.c);}
+function e1b(){}
+_=e1b.prototype=new xU();_.wc=h1b;_.tN=bhc+'ActionToolbar$7';_.tI=510;function j1b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
+function l1b(a){kUb(EMb(),this.a.h,teb(this.d),rL(this.c),n1b(new m1b(),this,this.c,this.d,this.b));}
+function i1b(){}
+_=i1b.prototype=new xU();_.wc=l1b;_.tN=bhc+'ActionToolbar$8';_.tI=511;function n1b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
+function p1b(b,a){u1b(b.a.a,rL(b.c),teb(b.d));b.b.hc();}
+function q1b(a){p1b(this,a);}
+function m1b(){}
+_=m1b.prototype=new hdb();_.md=q1b;_.tN=bhc+'ActionToolbar$9';_.tI=512;function r2b(a){a.b=kbb(new ibb());}
+function s2b(c,a,b){r2b(c);c.a=a;c.c=lu(new fu());x2b(c,c.c);uO(c.c,'rule-List');nbb(c.b,0,0,c.c);if(!b){v2b(c);}gs(c,c.b);return c;}
+function t2b(b,a){kMb(b.a,a);z2b(b);}
+function v2b(c){var a,b;a=hP(new fP());b=odb(new ndb(),'images/new_item.gif');b.pe('Add a new category.');fC(b,g2b(new f2b(),c));iP(a,b);nbb(c.b,0,1,a);}
+function w2b(b){var a;a=p2b(new n2b(),b);lF(a,lO(b),mO(b));oF(a);}
+function x2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;yz(d,b,0,e.a.a[b]);a=odb(new ndb(),'images/trash.gif');a.pe('Remove this category');fC(a,k2b(new j2b(),e,c));d.ve(b,1,a);}}
+function y2b(b,a){mMb(b.a,a);dbb(b);z2b(b);}
+function z2b(a){a.c=lu(new fu());uO(a.c,'rule-List');nbb(a.b,0,0,a.c);x2b(a,a.c);dbb(a);}
+function C1b(){}
+_=C1b.prototype=new bbb();_.tN=bhc+'AssetCategoryEditor';_.tI=513;_.a=null;_.c=null;function E1b(b,a){b.a=a;return b;}
+function a2b(a){this.a.b=a;}
+function D1b(){}
+_=D1b.prototype=new xU();_.ee=a2b;_.tN=bhc+'AssetCategoryEditor$1';_.tI=514;function c2b(b,a){b.a=a;return b;}
+function e2b(a){if(this.a.b!==null&& !qV('',this.a.b)){t2b(this.a.d,this.a.b);}this.a.hc();}
+function b2b(){}
+_=b2b.prototype=new xU();_.wc=e2b;_.tN=bhc+'AssetCategoryEditor$2';_.tI=515;function g2b(b,a){b.a=a;return b;}
+function i2b(a){w2b(this.a);}
+function f2b(){}
+_=f2b.prototype=new xU();_.wc=i2b;_.tN=bhc+'AssetCategoryEditor$3';_.tI=516;function k2b(b,a,c){b.a=a;b.b=c;return b;}
+function m2b(a){y2b(this.a,this.b);}
+function j2b(){}
+_=j2b.prototype=new xU();_.wc=m2b;_.tN=bhc+'AssetCategoryEditor$4';_.tI=517;function q2b(){q2b=v3;eF();}
+function o2b(a){a.a=qq(new kq(),'OK');}
+function p2b(b,a){var c;q2b();b.d=a;bF(b,true);o2b(b);c=hP(new fP());b.c=v_(new e_(),E1b(new D1b(),b));uO(b,'ks-popups-Popup');iP(c,b.c);iP(c,b.a);CH(b,c);b.a.x(c2b(new b2b(),b));return b;}
+function n2b(){}
+_=n2b.prototype=new FE();_.tN=bhc+'AssetCategoryEditor$CategorySelector';_.tI=518;_.b=null;_.c=null;function F2b(c,a,d,b){c.b=ddb(new Ecb(),'images/checkin.gif',b);c.a=eL(new dL());c.a.xe('100%');c.c=qq(new kq(),'Save');edb(c.b,'Comment',c.a);edb(c.b,'',c.c);uO(c.b,'ks-popups-Popup');lF(c.b,a,d);return c;}
+function b3b(a){return rL(a.a);}
+function c3b(b,a){b.c.x(C2b(new B2b(),b,a));}
+function d3b(a){lF(a.b,fc((fbb()-gF(a.b))/2),100);oF(a.b);}
+function A2b(){}
+_=A2b.prototype=new xU();_.tN=bhc+'CheckinPopup';_.tI=519;_.a=null;_.b=null;_.c=null;function C2b(b,a,c){b.a=a;b.b=c;return b;}
+function E2b(a){this.b.nb();this.a.b.hc();}
+function B2b(){}
+_=B2b.prototype=new xU();_.wc=E2b;_.tN=bhc+'CheckinPopup$1';_.tI=520;function A3b(){A3b=v3;eF();}
+function y3b(g,f,e){var a,b,c,d;A3b();bF(g,true);g.d=f;g.b=zL(new kL());g.b.xe('100%');b='<enter text to filter list>';vL(g.b,'<enter text to filter list>');gv(g.b,g3b(new f3b(),g));oL(g.b,l3b(new k3b(),g,e));g.b.le(true);d=hP(new fP());iP(d,g.b);g.c=mD(new eD());CD(g.c,5);C3b(g,x5b(g.d,''));iP(d,g.c);c=qq(new kq(),'ok');c.x(r3b(new q3b(),g,e));a=qq(new kq(),'cancel');a.x(v3b(new u3b(),g));g.a=FA(new DA());aB(g.a,c);aB(g.a,a);iP(d,g.a);CH(g,d);uO(g,'ks-popups-Popup');return g;}
+function z3b(b,a){q4b(a,B3b(b));b.hc();}
+function B3b(a){return vD(a.c,wD(a.c));}
+function C3b(c,a){var b;sD(c.c);for(b=0;b<a.b;b++){pD(c.c,bc(gZ(a,b),10).a);}}
+function e3b(){}
+_=e3b.prototype=new FE();_.tN=bhc+'ChoiceList';_.tI=521;_.a=null;_.b=null;_.c=null;_.d=null;function g3b(b,a){b.a=a;return b;}
+function i3b(a){vL(this.a.b,'');}
+function j3b(a){vL(this.a.b,'<enter text to filter list>');}
+function f3b(){}
+_=f3b.prototype=new xU();_.Bc=i3b;_.dd=j3b;_.tN=bhc+'ChoiceList$1';_.tI=522;function l3b(b,a,c){b.a=a;b.b=c;return b;}
+function n3b(a,b,c){}
+function o3b(a,b,c){}
+function p3b(a,b,c){if(b==13){z3b(this.a,this.b);}else{C3b(this.a,x5b(this.a.d,rL(this.a.b)));}}
+function k3b(){}
+_=k3b.prototype=new xU();_.Fc=n3b;_.ad=o3b;_.bd=p3b;_.tN=bhc+'ChoiceList$2';_.tI=523;function r3b(b,a,c){b.a=a;b.b=c;return b;}
+function t3b(a){z3b(this.a,this.b);}
+function q3b(){}
+_=q3b.prototype=new xU();_.wc=t3b;_.tN=bhc+'ChoiceList$3';_.tI=524;function v3b(b,a){b.a=a;return b;}
+function x3b(a){this.a.hc();}
+function u3b(){}
+_=u3b.prototype=new xU();_.wc=x3b;_.tN=bhc+'ChoiceList$4';_.tI=525;function o4b(i,a){var b,c,d,e,f,g,h,j;b=bc(a.b,95);i.c=b;i.d=eL(new dL());jL(i.d,10);vL(i.d,i.c.a);i.d.pe('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=uLb((sLb(),xLb),a.d.o);i.a=c.a;i.b=c.b;uO(i.d,'dsl-text-Editor');d=lu(new fu());d.ve(0,0,i.d);nL(i.d,F3b(new E3b(),i));oL(i.d,d4b(new c4b(),i));j=hP(new fP());e=odb(new ndb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.pe('Add a new condition');fC(e,h4b(new g4b(),i));h=odb(new ndb(),'images/new_dsl_action.gif');g='Add an action';h.pe('Add an action');fC(h,l4b(new k4b(),i));iP(j,e);iP(j,h);d.ve(0,1,j);by(d.n,0,0,'95%');by(d.n,0,1,'5%');d.xe('100%');d.ne('100%');gs(i,d);return i;}
+function q4b(e,b){var a,c,d;a=gL(e.d);c=AV(rL(e.d),0,a);d=AV(rL(e.d),a,uV(rL(e.d)));vL(e.d,c+b+d);e.c.a=rL(e.d);}
+function r4b(b){var a;a=AV(rL(b.d),0,gL(b.d));if(sV(a,'then')>(-1)){s4b(b,b.a);}else{s4b(b,b.b);}}
+function s4b(c,b){var a;a=y3b(new e3b(),b,c);lF(a,lO(c.d)+20,mO(c.d)+20);oF(a);}
+function D3b(){}
+_=D3b.prototype=new bbb();_.tN=bhc+'DSLRuleEditor';_.tI=526;_.a=null;_.b=null;_.c=null;_.d=null;function F3b(b,a){b.a=a;return b;}
+function b4b(a){this.a.c.a=rL(this.a.d);dbb(this.a);}
+function E3b(){}
+_=E3b.prototype=new xU();_.vc=b4b;_.tN=bhc+'DSLRuleEditor$1';_.tI=527;function d4b(b,a){b.a=a;return b;}
+function f4b(a,b,c){if(b==32&&c==2){r4b(this.a);}if(b==9){q4b(this.a,'\t');sL(this.a.d,gL(this.a.d)+1);pL(this.a.d);}}
+function c4b(){}
+_=c4b.prototype=new mC();_.Fc=f4b;_.tN=bhc+'DSLRuleEditor$2';_.tI=528;function h4b(b,a){b.a=a;return b;}
+function j4b(a){s4b(this.a,this.a.b);}
+function g4b(){}
+_=g4b.prototype=new xU();_.wc=j4b;_.tN=bhc+'DSLRuleEditor$3';_.tI=529;function l4b(b,a){b.a=a;return b;}
+function n4b(a){s4b(this.a,this.a.a);}
+function k4b(){}
+_=k4b.prototype=new xU();_.wc=n4b;_.tN=bhc+'DSLRuleEditor$4';_.tI=530;function C4b(b,a){b.a=a;b.b=bc(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=eL(new dL());jL(b.c,10);vL(b.c,b.b.a);uO(b.c,'default-text-Area');nL(b.c,v4b(new u4b(),b));oL(b.c,z4b(new y4b(),b));gs(b,b.c);return b;}
+function E4b(e,b){var a,c,d;a=gL(e.c);c=AV(rL(e.c),0,a);d=AV(rL(e.c),a,uV(rL(e.c)));vL(e.c,c+b+d);e.b.a=rL(e.c);}
+function t4b(){}
+_=t4b.prototype=new bbb();_.tN=bhc+'DefaultRuleContentWidget';_.tI=531;_.a=null;_.b=null;_.c=null;function v4b(b,a){b.a=a;return b;}
+function x4b(a){this.a.b.a=rL(this.a.c);dbb(this.a);}
+function u4b(){}
+_=u4b.prototype=new xU();_.vc=x4b;_.tN=bhc+'DefaultRuleContentWidget$1';_.tI=532;function z4b(b,a){b.a=a;return b;}
+function B4b(a,b,c){if(b==9){E4b(this.a,'\t');sL(this.a.c,gL(this.a.c)+1);pL(this.a.c);}}
+function y4b(){}
+_=y4b.prototype=new mC();_.Fc=B4b;_.tN=bhc+'DefaultRuleContentWidget$2';_.tI=533;function o5b(){o5b=v3;p5b=s5b();}
+function q5b(a){o5b();var b;b=bc(c2(p5b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
+function r5b(a,b){o5b();if(qV(a.d.k,'brl')){return p9b(new C8b(),fxb(new avb(),a),a);}else if(qV(a.d.k,'dslr')){return p9b(new C8b(),o4b(new D3b(),a),a);}else if(qV(a.d.k,'jar')){return azb(new Fyb(),a,b);}else if(qV(a.d.k,'xls')){return p9b(new C8b(),kgb(new jgb(),a,b),a);}else if(qV(a.d.k,'rf')){return y8b(new x8b(),a,b);}else if(qV(a.d.k,'drl')){return p9b(new C8b(),C4b(new t4b(),a),a);}else if(qV(a.d.k,'enumeration')){return p9b(new C8b(),C4b(new t4b(),a),a);}else{return C4b(new t4b(),a);}}
+function s5b(){o5b();var a;a=C1(new a1());d2(a,'drl','technical_rule_assets.gif');d2(a,'dsl','dsl.gif');d2(a,'function','function_assets.gif');d2(a,'jar','model_asset.gif');d2(a,'xls','spreadsheet_small.gif');d2(a,'brl','business_rule.gif');d2(a,'dslr','business_rule.gif');d2(a,'rf','ruleflow_small.gif');return a;}
+function t5b(d,f,g,e,a){o5b();var b,c,h;h=p_b(new x9b(),a,e);b=a.d.n;if(uV(b)>10){b=AV(b,0,7)+'...';}c=q5b(a.d.k);tK(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(FZ(),a0)){d2(d,g,h);}y_b(h,k5b(new j5b(),f,h,d,g));zK(f,vK(f,h));}
+function u5b(b,d,e,c){o5b();var a;if(F1(b,e)){if(vK(d,bc(c2(b,e),13))==(-1)){a=cc(wK(d,0),96)?'Rule Viewer':'Package Manager';Ch('Asset already opened in '+a);}else{zK(d,vK(d,bc(c2(b,e),13)));}eeb();return;}BUb(EMb(),e,b5b(new a5b(),b,d,e,c));}
+var p5b;function b5b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
+function d5b(c){var a,b;a=bc(c,97);b=(sLb(),xLb);tLb(b,a.d.o,f5b(new e5b(),this,this.a,this.c,this.d,this.b,a));}
+function a5b(){}
+_=a5b.prototype=new hdb();_.md=d5b;_.tN=bhc+'EditorLauncher$1';_.tI=534;function f5b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
+function h5b(a){t5b(a.b,a.d,a.e,a.c,a.a);}
+function i5b(){h5b(this);}
+function e5b(){}
+_=e5b.prototype=new xU();_.nb=i5b;_.tN=bhc+'EditorLauncher$2';_.tI=535;function k5b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
+function m5b(a){yK(a.b,vK(a.b,a.d));zK(a.b,0);if(a.a!==(FZ(),a0)){e2(a.a,a.c);}}
+function n5b(){m5b(this);}
+function j5b(){}
+_=j5b.prototype=new xU();_.nb=n5b;_.tN=bhc+'EditorLauncher$3';_.tI=536;function x5b(e,a){var b,c,d;b=FY(new DY());for(c=0;c<e.a;c++){d=e[c];if(qV(a,'')||yV(d.a,a)){bZ(b,d);}}return b;}
+function m7b(e,a,c,f,d){var b;tcb(e);uO(e,'metadata-Widget');if(!c){b=pdb(new ndb(),'images/edit.gif','Rename this asset');fC(b,d6b(new z5b(),e));xcb(e,'images/meta_data.png',a.n,b);}else{wcb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;r7b(e,a);return e;}
+function n7b(a){a.b=s2b(new C1b(),a.a,a.c);return a.b;}
+function p7b(d,a,e){var b,c;if(!d.c){b=zL(new kL());b.pe(e);vL(b,a.ac());c=a6b(new F5b(),d,a,b);nL(b,c);return b;}else{return CC(new AC(),a.ac());}}
+function q7b(a){if(a.a.v==0){return eA(new hx(),'<i>Not checked in yet<\/i>');}else{return u7b(a,dU(a.a.v));}}
+function r7b(b,a){b.a=a;vcb(b,'Categories:',n7b(b));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Modified on:',t7b(b,b.a.m));vcb(b,'by:',u7b(b,b.a.l));vcb(b,'Note:',u7b(b,b.a.b));vcb(b,'Version:',q7b(b));if(!b.c){vcb(b,'Created on:',t7b(b,b.a.d));}vcb(b,'Created by:',u7b(b,b.a.e));vcb(b,'Format:',eA(new hx(),'<b>'+b.a.k+'<\/b>'));ycb(b,eA(new hx(),'<hr/>'));vcb(b,'Package:',s7b(b,b.a.o));vcb(b,'Subject:',p7b(b,h6b(new g6b(),b),'A short description of the subject matter.'));vcb(b,'Type:',p7b(b,m6b(new l6b(),b),'This is for classification purposes.'));vcb(b,'External link:',p7b(b,r6b(new q6b(),b),'This is for relating the asset to an external system.'));vcb(b,'Source:',p7b(b,w6b(new v6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){ycb(b,tac(new A_b(),b.e,b.a,b.d));}}
+function s7b(d,c){var a,b;if(d.c){return u7b(d,c);}else{b=FA(new DA());uO(b,'metadata-Widget');aB(b,u7b(d,c));a=odb(new ndb(),'images/edit.gif');fC(a,B6b(new A6b(),d,c));aB(b,a);return b;}}
+function t7b(b,a){if(a===null){return null;}else{return CC(new AC(),s0(a));}}
+function u7b(c,b){var a;a=CC(new AC(),b);a.xe('100%');return a;}
+function v7b(f,b,e){var a,c,d;c=ddb(new Ecb(),'images/package_large.png','Move this item to another package');edb(c,'Current package:',CC(new AC(),b));d=reb(new meb());edb(c,'New package:',d);a=qq(new kq(),'Change package');edb(c,'',a);a.x(i7b(new h7b(),f,d,b,c));lF(c,lO(e.v.v),mO(e.v.v));oF(c);}
+function w7b(e,d){var a,b,c;c=ddb(new Ecb(),'images/package_large.png','Rename this item');a=zL(new kL());edb(c,'New name',a);b=qq(new kq(),'Rename item');edb(c,'',b);b.x(F6b(new E6b(),e,a,c));lF(c,lO(d.v.v)-18,mO(d.v.v));oF(c);}
+function x7b(){return this.b.lc()||this.j;}
+function y5b(){}
+_=y5b.prototype=new rcb();_.lc=x7b;_.tN=bhc+'MetaDataWidget';_.tI=537;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function d6b(b,a){b.a=a;return b;}
+function f6b(a){w7b(this.a,a);}
+function z5b(){}
+_=z5b.prototype=new xU();_.wc=f6b;_.tN=bhc+'MetaDataWidget$1';_.tI=538;function B5b(b,a,c){b.a=a;b.b=c;return b;}
+function D5b(b,a){dbb(b.a.a);B$b(b.a.a.d);b.b.hc();}
+function E5b(a){D5b(this,a);}
+function A5b(){}
+_=A5b.prototype=new hdb();_.md=E5b;_.tN=bhc+'MetaDataWidget$10';_.tI=539;function a6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function c6b(a){dbb(this.a);this.b.te(rL(this.c));}
+function F5b(){}
+_=F5b.prototype=new xU();_.vc=c6b;_.tN=bhc+'MetaDataWidget$11';_.tI=540;function h6b(b,a){b.a=a;return b;}
+function j6b(){return this.a.a.s;}
+function k6b(a){this.a.a.s=a;}
+function g6b(){}
+_=g6b.prototype=new xU();_.ac=j6b;_.te=k6b;_.tN=bhc+'MetaDataWidget$2';_.tI=541;function m6b(b,a){b.a=a;return b;}
+function o6b(){return this.a.a.u;}
+function p6b(a){this.a.a.u=a;}
+function l6b(){}
+_=l6b.prototype=new xU();_.ac=o6b;_.te=p6b;_.tN=bhc+'MetaDataWidget$3';_.tI=542;function r6b(b,a){b.a=a;return b;}
+function t6b(){return this.a.a.i;}
+function u6b(a){this.a.a.i=a;}
+function q6b(){}
+_=q6b.prototype=new xU();_.ac=t6b;_.te=u6b;_.tN=bhc+'MetaDataWidget$4';_.tI=543;function w6b(b,a){b.a=a;return b;}
+function y6b(){return this.a.a.j;}
+function z6b(a){this.a.a.j=a;}
+function v6b(){}
+_=v6b.prototype=new xU();_.ac=y6b;_.te=z6b;_.tN=bhc+'MetaDataWidget$5';_.tI=544;function B6b(b,a,c){b.a=a;b.b=c;return b;}
+function D6b(a){v7b(this.a,this.b,a);}
+function A6b(){}
+_=A6b.prototype=new xU();_.wc=D6b;_.tN=bhc+'MetaDataWidget$6';_.tI=545;function F6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function b7b(a){dVb(EMb(),this.a.e,rL(this.b),d7b(new c7b(),this,this.c));}
+function E6b(){}
+_=E6b.prototype=new xU();_.wc=b7b;_.tN=bhc+'MetaDataWidget$7';_.tI=546;function d7b(b,a,c){b.a=a;b.b=c;return b;}
+function f7b(b,a){B$b(b.a.a.d);Ch('Item has been renamed');b.b.hc();}
+function g7b(a){f7b(this,a);}
+function c7b(){}
+_=c7b.prototype=new hdb();_.md=g7b;_.tN=bhc+'MetaDataWidget$8';_.tI=547;function i7b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function k7b(a){if(qV(teb(this.d),this.b)){Ch('You need to pick a different package to move this to.');return;}gUb(EMb(),this.a.e,teb(this.d),'Moved from : '+this.b,B5b(new A5b(),this,this.c));}
+function h7b(){}
+_=h7b.prototype=new xU();_.wc=k7b;_.tN=bhc+'MetaDataWidget$9';_.tI=548;function j8b(){j8b=v3;gdb();}
+function g8b(a){a.f=zL(new kL());a.b=eL(new dL());a.d=l8b(a);a.g=reb(new meb());}
+function h8b(e,a,d,b,f){var c;j8b();ddb(e,'images/new_wiz.gif',f);g8b(e);e.h=d;e.c=b;e.a=a;edb(e,'Name:',e.f);if(d){edb(e,'Initial category:',k8b(e));}if(b===null){edb(e,'Type (format) of rule:',e.d);}edb(e,'Package:',e.g);jL(e.b,4);e.b.xe('100%');edb(e,'Initial description:',e.b);c=qq(new kq(),'OK');c.x(A7b(new z7b(),e));edb(e,'',c);uO(e,'ks-popups-Popup');return e;}
+function i8b(e,b,d,c,f,a){j8b();h8b(e,b,d,c,f);ueb(e.g,a);return e;}
+function k8b(a){return v_(new e_(),E7b(new D7b(),a));}
+function m8b(a){if(a.c!==null)return a.c;return xD(a.d,wD(a.d));}
+function l8b(b){var a;a=mD(new eD());qD(a,'Business rule (using guided editor)','brl');qD(a,'DRL rule (technical rule - text editor)','drl');qD(a,'Business rule using a DSL (text editor)','dslr');qD(a,'Decision table (spreadsheet)','xls');BD(a,0);return a;}
+function n8b(b){var a;if(b.h&&b.e===null){Dfb('You have to pick an initial category.',lO(b),mO(b));return;}else if(rL(b.f)===null||qV('',rL(b.f))){Dfb('Rule must have a name',lO(b),mO(b));return;}a=c8b(new b8b(),b);ieb('Please wait ...');oUb(EMb(),rL(b.f),rL(b.b),b.e,teb(b.g),m8b(b),a);}
+function o8b(a,b){a.a.td(b);}
+function y7b(){}
+_=y7b.prototype=new Ecb();_.tN=bhc+'NewAssetWizard';_.tI=549;_.a=null;_.c=null;_.e=null;_.h=false;function A7b(b,a){b.a=a;return b;}
+function C7b(a){n8b(this.a);}
+function z7b(){}
+_=z7b.prototype=new xU();_.wc=C7b;_.tN=bhc+'NewAssetWizard$1';_.tI=550;function E7b(b,a){b.a=a;return b;}
+function a8b(a){this.a.e=a;}
+function D7b(){}
+_=D7b.prototype=new xU();_.ee=a8b;_.tN=bhc+'NewAssetWizard$2';_.tI=551;function c8b(b,a){b.a=a;return b;}
+function e8b(b,a){var c;c=bc(a,1);if(yV(c,'DUPLICATE')){eeb();Ch('An asset with that name already exists in the chosen package. Please use another name');}else{o8b(b.a,bc(a,1));b.a.hc();}}
+function f8b(a){e8b(this,a);}
+function b8b(){}
+_=b8b.prototype=new hdb();_.md=f8b;_.tN=bhc+'NewAssetWizard$3';_.tI=552;function u8b(b,a){b.a=eL(new dL());b.a.xe('100%');jL(b.a,10);uO(b.a,'rule-viewer-Documentation');b.a.pe('This is rule documentation. Human friendly descriptions of the business logic.');gs(b,b.a);w8b(b,a);return b;}
+function w8b(b,a){vL(b.a,a.h);nL(b.a,r8b(new q8b(),b,a));if(a.h===null||qV('',a.h)){vL(b.a,'<documentation>');}}
+function p8b(){}
+_=p8b.prototype=new bbb();_.tN=bhc+'RuleDocumentWidget';_.tI=553;_.a=null;function r8b(b,a,c){b.a=a;b.b=c;return b;}
+function t8b(a){this.b.h=rL(this.a.a);dbb(this.a);}
+function q8b(){}
+_=q8b.prototype=new xU();_.vc=t8b;_.tN=bhc+'RuleDocumentWidget$1';_.tI=554;function y8b(b,a,c){iyb(b,a,c);jyb(b,eA(new hx(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
+function A8b(){return 'images/ruleflow_large.png';}
+function B8b(){return 'decision-Table-upload';}
+function x8b(){}
+_=x8b.prototype=new Axb();_.sb=A8b;_.Ab=B8b;_.tN=bhc+'RuleFlowUploadWidget';_.tI=555;function p9b(c,b,a){c.a=a;c.b=kbb(new ibb());uO(c.b,'asset-editor-Layout');nbb(c.b,0,0,b);if(!a.c)nbb(c.b,1,0,v9b(c));Bx(c.b.n,1,0,(oA(),rA),(xA(),AA));c.b.xe('100%');c.b.ne('100%');gs(c,c.b);return c;}
+function r9b(a){ieb('Validating item, please wait...');dUb(EMb(),a.a,g9b(new f9b(),a));}
+function s9b(a){ieb('Calculating source...');cUb(EMb(),a.a,l9b(new k9b(),a));}
+function t9b(h,e){var a,b,c,d,f,g;c=ddb(new Ecb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){fdb(c,eA(new hx(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=lu(new fu());uO(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ve(f,0,eC(new oB(),'images/error.gif'));if(qV(d.a,'package')){yz(a,f,1,'[package configuration problem] '+d.c);}else{yz(a,f,1,d.c);}}g=oH(new mH(),a);g.xe('100%');fdb(c,g);}lF(c,100,100);oF(c);eeb();}
+function u9b(b,a){hCb(a,b.a.d.n);eeb();}
+function v9b(b){var a,c,d;a=FA(new DA());d=qq(new kq(),'View source');aB(a,d);c=qq(new kq(),'Validate');aB(a,c);d.x(E8b(new D8b(),b));c.x(c9b(new b9b(),b));uO(a,'asset-validator-Buttons');return a;}
+function w9b(){return mbb(this.b);}
+function C8b(){}
+_=C8b.prototype=new bbb();_.lc=w9b;_.tN=bhc+'RuleValidatorWrapper';_.tI=556;_.a=null;_.b=null;function E8b(b,a){b.a=a;return b;}
+function a9b(a){s9b(this.a);}
+function D8b(){}
+_=D8b.prototype=new xU();_.wc=a9b;_.tN=bhc+'RuleValidatorWrapper$1';_.tI=557;function c9b(b,a){b.a=a;return b;}
+function e9b(a){r9b(this.a);}
+function b9b(){}
+_=b9b.prototype=new xU();_.wc=e9b;_.tN=bhc+'RuleValidatorWrapper$2';_.tI=558;function g9b(b,a){b.a=a;return b;}
+function i9b(c,a){var b;b=bc(a,88);t9b(c.a,b);}
+function j9b(a){i9b(this,a);}
+function f9b(){}
+_=f9b.prototype=new hdb();_.md=j9b;_.tN=bhc+'RuleValidatorWrapper$3';_.tI=559;function l9b(b,a){b.a=a;return b;}
+function n9b(c,a){var b;b=bc(a,1);u9b(c.a,b);}
+function o9b(a){n9b(this,a);}
+function k9b(){}
+_=k9b.prototype=new hdb();_.md=o9b;_.tN=bhc+'RuleValidatorWrapper$4';_.tI=560;function p_b(c,a,b){c.a=a;c.g=b;c.e=kbb(new ibb());v_b(c);gs(c,c.e);eeb();return c;}
+function r_b(a){a.a.a=true;s_b(a);m5b(a.b);}
+function s_b(a){bz(a.e);ieb('Saving, please wait...');iUb(EMb(),a.a,i_b(new h_b(),a));}
+function t_b(e){var a,b,c,d;d=ddb(new Ecb(),'images/warning-large.png','WARNING: Un-committed changes.');b=qq(new kq(),'Discard');a=qq(new kq(),'Cancel');c=FA(new DA());aB(c,b);aB(c,a);fdb(d,eA(new hx(),'Are you sure you want to discard changes?'));fdb(d,c);b.x(E9b(new D9b(),e,d));a.x(c$b(new b$b(),e,d));uO(d,'warning-Popup');lF(d,fc((fbb()-gF(d))/2),100);oF(d);}
+function u_b(a){sUb(EMb(),a.a.e,a.a.d.o,d_b(new c_b(),a));}
+function v_b(b){var a;bz(b.e);a=ou(b.e);b.h=s1b(new d0b(),b.a,f$b(new y9b(),b),k$b(new j$b(),b),p$b(new o$b(),b),u$b(new t$b(),b),b.g);nbb(b.e,0,0,b.h);Bx(a,0,0,(oA(),rA),(xA(),AA));b.f=m7b(new y5b(),b.a.d,b.g,b.a.e,z$b(new y$b(),b));nbb(b.e,0,1,b.f);ku(a,0,1,3);Fx(a,0,1,(xA(),AA));by(a,0,1,'30%');b.d=r5b(b.a,b);y1b(b.h,E$b(new D$b(),b));nbb(b.e,1,0,b.d);Fx(a,1,0,(xA(),AA));b.c=u8b(new p8b(),b.a.d);nbb(b.e,2,0,b.c);Fx(a,2,0,(xA(),AA));}
+function w_b(a){if(fab(a.a.d.k)){ieb('Refreshing content assistance...');wLb((sLb(),xLb),a.a.d.o,new m_b());}}
+function x_b(a){BUb(EMb(),a.a.e,A9b(new z9b(),a));}
+function y_b(b,a){b.b=a;}
+function z_b(a){var b;b= !zx(ou(a.e),2,0);ay(ou(a.e),0,1,b);ay(ou(a.e),2,0,b);}
+function x9b(){}
+_=x9b.prototype=new es();_.tN=bhc+'RuleViewer';_.tI=561;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function f$b(b,a){b.a=a;return b;}
+function h$b(a){s_b(a.a);}
+function i$b(){h$b(this);}
+function y9b(){}
+_=y9b.prototype=new xU();_.nb=i$b;_.tN=bhc+'RuleViewer$1';_.tI=562;function A9b(b,a){b.a=a;return b;}
+function C9b(a){this.a.a=bc(a,97);v_b(this.a);eeb();}
+function z9b(){}
+_=z9b.prototype=new hdb();_.md=C9b;_.tN=bhc+'RuleViewer$10';_.tI=563;function E9b(b,a,c){b.a=a;b.b=c;return b;}
+function a$b(a){m5b(this.a.b);this.b.hc();}
+function D9b(){}
+_=D9b.prototype=new xU();_.wc=a$b;_.tN=bhc+'RuleViewer$11';_.tI=564;function c$b(b,a,c){b.a=c;return b;}
+function e$b(a){this.a.hc();}
+function b$b(){}
+_=b$b.prototype=new xU();_.wc=e$b;_.tN=bhc+'RuleViewer$12';_.tI=565;function k$b(b,a){b.a=a;return b;}
+function m$b(a){r_b(a.a);}
+function n$b(){m$b(this);}
+function j$b(){}
+_=j$b.prototype=new xU();_.nb=n$b;_.tN=bhc+'RuleViewer$2';_.tI=566;function p$b(b,a){b.a=a;return b;}
+function r$b(a){z_b(a.a);}
+function s$b(){r$b(this);}
+function o$b(){}
+_=o$b.prototype=new xU();_.nb=s$b;_.tN=bhc+'RuleViewer$3';_.tI=567;function u$b(b,a){b.a=a;return b;}
+function w$b(a){u_b(a.a);}
+function x$b(){w$b(this);}
+function t$b(){}
+_=t$b.prototype=new xU();_.nb=x$b;_.tN=bhc+'RuleViewer$4';_.tI=568;function z$b(b,a){b.a=a;return b;}
+function B$b(a){x_b(a.a);}
+function C$b(){B$b(this);}
+function y$b(){}
+_=y$b.prototype=new xU();_.nb=C$b;_.tN=bhc+'RuleViewer$5';_.tI=569;function E$b(b,a){b.a=a;return b;}
+function a_b(a){if(mbb(a.a.e)){t_b(a.a);}else{m5b(a.a.b);}}
+function b_b(){a_b(this);}
+function D$b(){}
+_=D$b.prototype=new xU();_.nb=b_b;_.tN=bhc+'RuleViewer$6';_.tI=570;function d_b(b,a){b.a=a;return b;}
+function f_b(b,a){m5b(b.a.b);}
+function g_b(a){f_b(this,a);}
+function c_b(){}
+_=c_b.prototype=new hdb();_.md=g_b;_.tN=bhc+'RuleViewer$7';_.tI=571;function i_b(b,a){b.a=a;return b;}
+function k_b(b,a){var c;w_b(b.a);c=bc(a,1);if(cc(b.a.d,98)){ebb(bc(b.a.d,98));}ebb(b.a.f);ebb(b.a.c);if(c===null){jcb('Failed to check in the item. Please contact your system administrator.');return;}x_b(b.a);}
+function l_b(a){k_b(this,a);}
+function h_b(){}
+_=h_b.prototype=new hdb();_.md=l_b;_.tN=bhc+'RuleViewer$8';_.tI=572;function o_b(){eeb();}
+function m_b(){}
+_=m_b.prototype=new xU();_.nb=o_b;_.tN=bhc+'RuleViewer$9';_.tI=573;function tac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=FA(new DA());d.a=lu(new fu());d.a.ve(0,0,CC(new AC(),'Version history'));Ex(d.a.n,0,0,'metadata-Widget');b=ou(d.a);Dx(b,0,0,(oA(),qA));d.c=odb(new ndb(),'images/refresh.gif');fC(d.c,C_b(new B_b(),d));d.a.ve(0,1,d.c);Dx(b,0,1,(oA(),rA));uO(f,'version-browser-Border');aB(f,d.a);d.a.xe('100%');f.xe('100%');gs(d,f);return d;}
+function uac(a){yac(a);ig(aac(new F_b(),a));}
+function wac(b,a){return nac(new mac(),b,a);}
+function xac(a){yUb(EMb(),a.e,eac(new dac(),a));}
+function yac(a){jC(a.c,'images/searching.gif');}
+function zac(a){jC(a.c,'images/refresh.gif');}
+function Aac(b,a){var c;c=rbc(new Bac(),b.b,a,b.e,b.d);lF(c,100,100);oF(c);}
+function A_b(){}
+_=A_b.prototype=new es();_.tN=bhc+'VersionBrowser';_.tI=574;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function C_b(b,a){b.a=a;return b;}
+function E_b(a){uac(this.a);}
+function B_b(){}
+_=B_b.prototype=new xU();_.wc=E_b;_.tN=bhc+'VersionBrowser$1';_.tI=575;function aac(b,a){b.a=a;return b;}
+function cac(){xac(this.a);}
+function F_b(){}
+_=F_b.prototype=new xU();_.nb=cac;_.tN=bhc+'VersionBrowser$2';_.tI=576;function eac(b,a){b.a=a;return b;}
+function gac(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ve(1,0,CC(new AC(),'No history.'));zac(i.a);return;}g=bc(a,62);f=g.a;c=Bb('[Ljava.lang.String;',610,1,['Version number','Comment','Date Modified','Status']);d=wac(i.a,f);h=egc(d,c,0,false);h.xe('100%');i.a.a.ve(1,0,h);b=ou(i.a.a);ju(b,1,0,2);e=qq(new kq(),'View selected version');e.x(jac(new iac(),i,h));i.a.a.ve(2,1,e);ju(b,2,1,3);Dx(b,2,1,(oA(),pA));zac(i.a);}
+function hac(a){gac(this,a);}
+function dac(){}
+_=dac.prototype=new hdb();_.md=hac;_.tN=bhc+'VersionBrowser$3';_.tI=577;function jac(b,a,c){b.a=a;b.b=c;return b;}
+function lac(a){if(this.b.f==0)return;Aac(this.a.a,xfc(this.b));}
+function iac(){}
+_=iac.prototype=new xU();_.wc=lac;_.tN=bhc+'VersionBrowser$4';_.tI=578;function nac(b,a,c){b.a=c;return b;}
+function pac(){return this.a.a;}
+function qac(a){return this.a[a].b;}
+function rac(b,a){return this.a[b].c[a];}
+function sac(b,a){return null;}
+function mac(){}
+_=mac.prototype=new xU();_.wb=pac;_.Cb=qac;_.bc=rac;_.cc=sac;_.tN=bhc+'VersionBrowser$5';_.tI=579;function sbc(){sbc=v3;zs();}
+function rbc(d,a,e,b,c){sbc();xs(d,false);d.c=e;d.a=b;d.b=c;uO(d,'version-Popup');ieb('Loading version');BUb(EMb(),e,Dac(new Cac(),d,a));return d;}
+function tbc(b,c){var a;a=F2b(new A2b(),lO(c)+10,mO(c)+10,'Restore this version?');c3b(a,jbc(new ibc(),b,a));d3b(a);}
+function Bac(){}
+_=Bac.prototype=new us();_.tN=bhc+'VersionViewer';_.tI=580;_.a=null;_.b=null;_.c=null;function Dac(b,a,c){b.a=a;b.b=c;return b;}
+function Fac(c){var a,b,d,e,f,g;a=bc(c,97);a.c=true;a.d.n=this.b.n;Bs(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=lu(new fu());d=ou(e);f=qq(new kq(),'Restore this version');f.x(bbc(new abc(),this));e.ve(0,0,f);Dx(d,0,0,(oA(),qA));b=qq(new kq(),'Close');b.x(fbc(new ebc(),this));e.ve(0,1,b);Dx(d,0,1,(oA(),rA));g=p_b(new x9b(),a,true);g.xe('100%');e.ve(1,0,g);ju(d,1,1,2);e.xe('100%');sO(e,800,300);Cs(this.a,e);}
+function Cac(){}
+_=Cac.prototype=new hdb();_.md=Fac;_.tN=bhc+'VersionViewer$1';_.tI=581;function bbc(b,a){b.a=a;return b;}
+function dbc(a){tbc(this.a.a,a);}
+function abc(){}
+_=abc.prototype=new xU();_.wc=dbc;_.tN=bhc+'VersionViewer$2';_.tI=582;function fbc(b,a){b.a=a;return b;}
+function hbc(a){this.a.a.hc();}
+function ebc(){}
+_=ebc.prototype=new xU();_.wc=hbc;_.tN=bhc+'VersionViewer$3';_.tI=583;function jbc(b,a,c){b.a=a;b.b=c;return b;}
+function lbc(){fVb(EMb(),this.a.c,this.a.a,b3b(this.b),nbc(new mbc(),this));}
+function ibc(){}
+_=ibc.prototype=new xU();_.nb=lbc;_.tN=bhc+'VersionViewer$4';_.tI=584;function nbc(b,a){b.a=a;return b;}
+function pbc(b,a){b.a.a.hc();B$b(b.a.a.b);}
+function qbc(a){pbc(this,a);}
+function mbc(){}
+_=mbc.prototype=new hdb();_.md=qbc;_.tN=bhc+'VersionViewer$5';_.tI=585;function xcc(a){a.b=(FZ(),a0);}
+function ycc(a){xcc(a);a.c=sK(new eK());a.c.xe('100%');a.c.ne('100%');tK(a.c,Acc(a),"<img src='images/explore.gif'/>Explore",true);zK(a.c,0);gs(a,a.c);return a;}
+function Acc(i){var a,b,c,d,e,f,g,h;h=lu(new fu());i.a=Bdc(new Fcc(),wbc(new vbc(),i),'rulelist');b=ou(h);d=v_(new e_(),Abc(new zbc(),i,h));f=Fec(new eec(),Ebc(new Dbc(),i));h.ve(0,1,f);Bx(b,0,0,(oA(),qA),(xA(),AA));Bx(b,0,1,(oA(),qA),(xA(),AA));by(b,0,0,'30%');by(b,0,1,'70%');e=qq(new kq(),'Create new rule');e.pe('Create new rule');e.x(dcc(new ccc(),i));g=odb(new ndb(),'images/system_search_small.png');g.pe('Show the rule finder.');fC(g,hcc(new gcc(),i,h,f));a=FA(new DA());aB(a,e);aB(a,g);uO(a,'new-asset-Icons');c=hP(new fP());iP(c,a);iP(c,d);c.xe('100%');h.ve(0,0,c);return h;}
+function Bcc(c,a,b){return lcc(new kcc(),c,b,a);}
+function Ccc(b,a){b.b=a;}
+function Dcc(a,b){u5b(a.b,a.c,b,false);}
+function Ecc(c){var a,b,d;a=70;d=100;b=h8b(new y7b(),ucc(new tcc(),c),true,null,'Create a new rule');lF(b,a,d);oF(b);}
+function ubc(){}
+_=ubc.prototype=new es();_.tN=chc+'AssetBrowser';_.tI=586;_.a=null;_.c=null;function wbc(b,a){b.a=a;return b;}
+function ybc(a){Dcc(this.a,a);}
+function vbc(){}
+_=vbc.prototype=new xU();_.td=ybc;_.tN=chc+'AssetBrowser$1';_.tI=587;function Abc(b,a,c){b.a=a;b.b=c;return b;}
+function Cbc(b){var a;a=Bcc(this.a,this.a.a,b);this.b.ve(0,1,this.a.a);ieb('Retrieving list, please wait...');ig(a);bec(this.a.a,a);}
+function zbc(){}
+_=zbc.prototype=new xU();_.ee=Cbc;_.tN=chc+'AssetBrowser$2';_.tI=588;function Ebc(b,a){b.a=a;return b;}
+function acc(b,a){Dcc(b.a,a);}
+function bcc(a){acc(this,a);}
+function Dbc(){}
+_=Dbc.prototype=new xU();_.td=bcc;_.tN=chc+'AssetBrowser$3';_.tI=589;function dcc(b,a){b.a=a;return b;}
+function fcc(a){Ecc(this.a);}
+function ccc(){}
+_=ccc.prototype=new xU();_.wc=fcc;_.tN=chc+'AssetBrowser$4';_.tI=590;function hcc(b,a,d,c){b.b=d;b.a=c;return b;}
+function jcc(a){this.b.ve(0,1,this.a);}
+function gcc(){}
+_=gcc.prototype=new xU();_.wc=jcc;_.tN=chc+'AssetBrowser$5';_.tI=591;function lcc(b,a,d,c){b.b=d;b.a=c;return b;}
+function ncc(){ieb('Loading list, please wait...');CUb(EMb(),this.b,pcc(new occ(),this,this.a));}
+function kcc(){}
+_=kcc.prototype=new xU();_.nb=ncc;_.tN=chc+'AssetBrowser$6';_.tI=592;function pcc(b,a,c){b.a=c;return b;}
+function rcc(c,a){var b;b=bc(a,62);aec(c.a,b);eeb();}
+function scc(a){rcc(this,a);}
+function occ(){}
+_=occ.prototype=new hdb();_.md=scc;_.tN=chc+'AssetBrowser$7';_.tI=593;function ucc(b,a){b.a=a;return b;}
+function wcc(a){Dcc(this.a,a);}
+function tcc(){}
+_=tcc.prototype=new xU();_.td=wcc;_.tN=chc+'AssetBrowser$8';_.tI=594;function Cdc(){Cdc=v3;cec=EMb();}
+function Adc(a){a.c=lu(new fu());a.e=odb(new ndb(),'images/refresh.gif');a.a=BC(new AC());}
+function Bdc(c,a,b){Cdc();Adc(c);Edc(c);Fdc(c,b);c.e.ue(false);c.b=a;c.e.pe('Refresh current list. Will show any changes.');fC(c.e,bdc(new adc(),c));return c;}
+function Ddc(a){return CZb(xfc(a.f));}
+function Edc(c){var a,b;a=ou(c.c);c.c.xe('100%');Bx(a,0,0,(oA(),qA),(xA(),AA));b=odb(new ndb(),'images/open_item.gif');fC(b,kdc(new jdc(),c));b.pe('Open item');c.c.ve(0,1,b);Bx(a,0,1,(oA(),rA),(xA(),AA));gs(c,c.c);}
+function Fdc(b,a){EUb(cec,a,fdc(new edc(),b));}
+function aec(g,a){var b,c,d,e,f;b=ou(g.c);g.c.ve(1,0,null);if(a===null||a.a.a==0){d=new ndc();g.f=egc(d,g.g.a,25,true);g.a.ue(false);}else{f=a.a;c=udc(new tdc(),g,f);g.f=egc(c,g.g.a,25,true);e=FA(new DA());aB(e,g.e);g.a.ue(true);bD(g.a,'  '+a.a.a+' items.');aB(e,g.a);g.c.ve(0,0,e);}g.f.xe('100%');g.c.ve(1,0,g.f);ju(b,1,0,2);}
+function bec(b,a){b.d=a;b.e.ue(true);}
+function Fcc(){}
+_=Fcc.prototype=new es();_.tN=chc+'AssetItemListViewer';_.tI=595;_.b=null;_.d=null;_.f=null;_.g=null;var cec;function bdc(b,a){b.a=a;return b;}
+function ddc(a){ieb('Refreshing list, please wait...');this.a.d.nb();}
+function adc(){}
+_=adc.prototype=new xU();_.wc=ddc;_.tN=chc+'AssetItemListViewer$1';_.tI=596;function fdc(b,a){b.a=a;return b;}
+function hdc(b,a){b.a.g=bc(a,99);aec(b.a,null);}
+function idc(a){hdc(this,a);}
+function edc(){}
+_=edc.prototype=new hdb();_.md=idc;_.tN=chc+'AssetItemListViewer$2';_.tI=597;function kdc(b,a){b.a=a;return b;}
+function mdc(a){ieb('Loading item, please wait ...');this.a.b.td(CZb(xfc(this.a.f)));}
+function jdc(){}
+_=jdc.prototype=new xU();_.wc=mdc;_.tN=chc+'AssetItemListViewer$3';_.tI=598;function pdc(){return 0;}
+function qdc(a){return '';}
+function rdc(b,a){return '';}
+function sdc(b,a){return null;}
+function ndc(){}
+_=ndc.prototype=new xU();_.wb=pdc;_.Cb=qdc;_.bc=rdc;_.cc=sdc;_.tN=chc+'AssetItemListViewer$4';_.tI=599;function udc(b,a,c){b.a=a;b.b=c;return b;}
+function wdc(){return this.b.a;}
+function xdc(a){return this.b[a].b;}
+function ydc(b,a){return this.b[b].c[a];}
+function zdc(b,a){if(qV(this.a.g.a[a],'*')){return eC(new oB(),'images/'+q5b(this.b[b].a));}else{return null;}}
+function tdc(){}
+_=tdc.prototype=new xU();_.wb=wdc;_.Cb=xdc;_.bc=ydc;_.cc=zdc;_.tN=chc+'AssetItemListViewer$5';_.tI=600;function Fec(d,a){var b,c;d.c=ucb(new rcb(),'images/system_search.png','');d.e=qab(new gab(),gec(new fec(),d));uO(d.e,'gwt-TextBox');d.b=a;c=FA(new DA());b=qq(new kq(),'Go');b.x(kec(new jec(),d));aB(c,d.e);aB(c,b);d.a=cr(new Fq(),'Include archived items in list');uO(d.a,'small-Text');gr(d.a,false);vcb(d.c,'Find items with a name matching:',c);ycb(d.c,d.a);ycb(d.c,eA(new hx(),'<hr/>'));d.d=lu(new fu());d.d.ve(0,0,eA(new hx(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));ycb(d.c,d.d);uO(d.d,'editable-Surface');oL(d.e,bfc(d));uO(d.c,'quick-find');gs(d,d.c);return d;}
+function bfc(a){return sec(new rec(),a);}
+function cfc(c,a,b){FUb(EMb(),a,5,fr(c.a),oec(new nec(),c,b));}
+function dfc(f,d){var a,b,c,e;a=lu(new fu());if(d.a.a==1){acc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(qV(e.b,'MORE')){a.ve(b,0,eA(new hx(),'<i>There are more items... try narrowing the search terms..<\/i>'));ju(ou(a),b,0,3);}else{a.ve(b,0,CC(new AC(),e.c[0]));a.ve(b,1,CC(new AC(),e.c[1]));c=qq(new kq(),'Open');c.x(Cec(new Bec(),f,e));a.ve(b,2,c);}}a.xe('100%');f.d.ve(0,0,a);eeb();}
+function efc(a){ieb('Searching...');FUb(EMb(),rL(a.e),15,fr(a.a),yec(new xec(),a));}
+function eec(){}
+_=eec.prototype=new es();_.tN=chc+'QuickFindWidget';_.tI=601;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function gec(b,a){b.a=a;return b;}
+function iec(c,b,a){cfc(c.a,b,a);}
+function fec(){}
+_=fec.prototype=new xU();_.tN=chc+'QuickFindWidget$1';_.tI=602;function kec(b,a){b.a=a;return b;}
+function mec(a){efc(this.a);}
+function jec(){}
+_=jec.prototype=new xU();_.wc=mec;_.tN=chc+'QuickFindWidget$2';_.tI=603;function oec(b,a,c){b.a=c;return b;}
+function qec(a){var b,c,d;d=bc(a,62);c=Ab('[Ljava.lang.String;',[610],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!qV(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}oab(this.a,c);}
+function nec(){}
+_=nec.prototype=new hdb();_.md=qec;_.tN=chc+'QuickFindWidget$3';_.tI=604;function sec(b,a){b.a=a;return b;}
+function uec(a,b,c){}
+function vec(a,b,c){}
+function wec(a,b,c){if(b==13){efc(this.a);}}
+function rec(){}
+_=rec.prototype=new xU();_.Fc=uec;_.ad=vec;_.bd=wec;_.tN=chc+'QuickFindWidget$4';_.tI=605;function yec(b,a){b.a=a;return b;}
+function Aec(a){var b;b=bc(a,62);dfc(this.a,b);}
+function xec(){}
+_=xec.prototype=new hdb();_.md=Aec;_.tN=chc+'QuickFindWidget$5';_.tI=606;function Cec(b,a,c){b.a=a;b.b=c;return b;}
+function Eec(a){acc(this.a.b,this.b.b);}
+function Bec(){}
+_=Bec.prototype=new xU();_.wc=Eec;_.tN=chc+'QuickFindWidget$6';_.tI=607;function hfc(a){a.a=FY(new DY());}
+function ifc(a){hfc(a);return a;}
+function jfc(b,a,c){if(a>=b.a.b){kfc(b,a);}mZ(b.a,a,c);}
+function kfc(c,a){var b;for(b=c.a.b;b<=a;b++){bZ(c.a,null);}}
+function mfc(b,a){return gZ(b.a,a);}
+function nfc(b,a){b.b=a;}
+function ofc(c){var a,b,d;if(null===c){return (-1);}d=bc(c,100);a=bc(mfc(this,this.b),34);b=bc(mfc(d,this.b),34);return a.ab(b);}
+function gfc(){}
+_=gfc.prototype=new xU();_.ab=ofc;_.tN=dhc+'RowData';_.tI=608;_.b=0;function qfc(a){a.j=FY(new DY());a.i=FY(new DY());}
+function rfc(c,b,a){Aw(c,b+1,a);qfc(c);Dy(c,c);uO(c,hgc);return c;}
+function sfc(c,b,a){if(b!=0){return;}Efc(c,a);agc(c,a);wfc(c);}
+function ufc(e){var a,b,c,d,f;if(e.h==cgc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=bc(gZ(e.j,c),100);for(a=0;a<b.a.b;a++){f=mfc(b,a);Afc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=bc(gZ(e.j,c),100);for(a=0;a<b.a.b;a++){f=mfc(b,a);Afc(e,d,a,f.tS());}}}}
+function vfc(d){var a,b,c;c=0;for(b=d.i.mc();b.gc();){a=bc(b.pc(),1);yfc(d,a,c++);}}
+function wfc(a){vfc(a);ufc(a);}
+function xfc(a){return iz(a,a.f,a.e);}
+function yfc(d,c,b){var a;a=cV(new bV());eV(a,c);eV(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==cgc){eV(a,"'"+d.a+"' alt='Ascending' ");}else{eV(a,"'"+d.c+"' alt='Descending' ");}}else{eV(a,"'"+d.b+"'");}eV(a,'/>');wz(d,0,b,iV(a));ly(d.p,0,igc);}
+function zfc(c,b,a){if(b%2==0){Ex(c.n,b,a,ggc);}}
+function Afc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ve(b,a,eC(new oB(),'images/'+q5b(d)));else yz(c,b,a,d);}}
+function Bfc(c,b,a){aZ(c.i,a,b);yfc(c,b,a);}
+function Cfc(b,a){b.d=a;}
+function Dfc(b,a){b.e=a;ay(b.n,0,a,false);}
+function Efc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=bc(gZ(d.j,b),100);nfc(a,c);}}
+function Ffc(d,b,a,e,f){var c;if(b==0)return;zfc(d,b,a);if(b-1>=d.j.b||null===gZ(d.j,b-1)){aZ(d.j,b-1,ifc(new gfc()));}c=bc(gZ(d.j,b-1),100);jfc(c,a,e);if(f===null){yz(d,b,a,''+e+'');}else{d.ve(b,a,f);}if(a==d.e){ay(d.n,b,a,false);}}
+function agc(b,a){c0(b.j);if(b.g!=a){b.h=cgc;}else{b.h=b.h==cgc?dgc:cgc;}b.g=a;}
+function bgc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){Ex(a,c,b,jgc);if(d.f%2==0&&d.f!=0){Ex(a,d.f,b,ggc);}else{Ax(a,d.f,b,jgc);}}d.f=c;}}
+function egc(a,d,b,c){var e,f,g;g=null;if(b>a.wb()){g=rfc(new pfc(),b,d.a+1);Ffc(g,1,1,'',null);}else{g=rfc(new pfc(),a.wb()+1,d.a+1);}Bfc(g,'',0);for(e=0;e<d.a;e++){Bfc(g,d[e],e+1);}Dfc(g,0);for(e=0;e<a.wb();e++){Ffc(g,e+1,0,a.Cb(e),null);for(f=0;f<d.a;f++){Ffc(g,e+1,f+1,a.bc(e,f),a.cc(e,f));}}Cfc(g,c);return g;}
+function fgc(c,b,a){if(b<=this.j.b){bgc(this,b);sfc(this,b,a);}}
+function pfc(){}
+_=pfc.prototype=new yw();_.uc=fgc;_.tN=dhc+'SortableTable';_.tI=609;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var cgc=0,dgc=1,ggc='rule-ListEvenRow',hgc='rule-List',igc='rule-ListHeader',jgc='rule-SelectedRow';function rS(){b5(D4(new s4()));}
+function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{rS();}catch(a){b(d);}else{rS();}}
+var ic=[{},{11:1},{1:1,11:1,34:1,35:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{2:1,11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1},{8:1,11:1},{8:1,11:1},{8:1,11:1},{11:1},{2:1,6:1,11:1},{2:1,11:1},{9:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1},{3:1,11:1},{3:1,11:1,39:1},{3:1,11:1,92:1},{3:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,36:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,49:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1,33:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,43:1},{11:1,49:1,56:1}!
 ,{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,81:1},{11:1,13:1,36:1,37:1,81:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,46:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,49:1,56:1},{11:1,39:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,49:1},{11:1},{11:1,13:1,36:1,37:1,87:1},{11:1,13:1,36:1,37:1,48:1,54:1},{9:1,11:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,39:1},{11:1,39:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,50:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,80:1},{11:1,13:1,36:1,37:1,54:1},{11:1,36:1,52:1},{11:1,36:1,52:1},{11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11!
 :1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11
:1},{11:1},{3:1,11:1},{11:1,55:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{11:1,35:1},{3:1,11:1},{11:1},{11:1,57:1},{11:1,49:1,58:1},{11:1,49:1,58:1},{11:1},{11:1,49:1},{11:1},{11:1},{11:1,34:1,59:1},{11:1,57:1},{11:1,60:1},{11:1,49:1,58:1},{11:1},{11:1,49:1,58:1},{3:1,11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{7:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{8:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1}!
 ,{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,53:1},{11:1,42:1},{11:1},{11:1},{11:1,36:1,52:1,64:1},{11:1,13:1,36:1,37:1,46:1,80:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,13:1,36:1,37:1,81:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,65:1},{11:1,13:1,36:1,37:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,38:1,39:1,91:1},{11:1,20:1,22:1,38:1,39:1},{11:1,23:1,38:1,39:1},{11:1,20:1,22!
 :1,24:1,38:1,39:1},{11:1,20:1,22:1,24:1,25:1,38:1,39:1},{11:1,20:1,26:
1,38:1,39:1},{11:1,20:1,22:1,27:1,38:1,39:1},{11:1,20:1,22:1,27:1,28:1,38:1,39:1},{11:1,19:1,29:1,38:1,39:1},{11:1,21:1,30:1,38:1,39:1},{11:1,38:1,39:1,40:1},{11:1,15:1,38:1,39:1,40:1},{10:1,11:1,19:1,20:1,38:1,39:1},{11:1,19:1,31:1,38:1,39:1},{11:1,18:1,38:1,39:1},{11:1,38:1,39:1,83:1},{11:1,21:1,32:1,38:1,39:1,40:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,84:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,41:1},{4:1,11:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,46:1},{11:1,41:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,82:1,98:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{!
 11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,46:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{4!
 :1,11:1},{11:1,42:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{1
1:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1},{4:1,11:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1,53:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,90:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,42:1},{11:1,53:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1},{11:1,12:1,39:1},{3:1,11:1,39:1,70:1},{11:1,39:1,93:1},{11:1,16:1,39:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,39:1,97:1},{11:1,39:1,95:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1,69:1},{11:1,17:1,39:1},{11:1,39:1,99:1},{11:1,39:!
 1,62:1},{11:1,14:1,39:1},{11:1,39:1,89:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,44:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1},{11:1,41:1},{11:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1!
 },{4:1,11:1},{4:1,11:1},{4:1,11:1},{4:1,11:1},{11:1},{11:1},{4:1,11:1}
,{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{11:1,46:1},{11:1},{11:1,42:1},{11:1,34:1,100:1},{11:1,13:1,36:1,37:1,51:1,54:1},{11:1,63:1},{11:1},{11:1,72:1,77:1,78:1},{11:1},{11:1,88:1},{11:1},{11:1},{11:1,94:1},{11:1,79:1},{11:1,71:1},{11:1,86:1},{11:1,76:1},{11:1,77:1},{11:1,78:1},{11:1,75:1},{11:1,78:1},{11:1,73:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,77:1},{11:1,75:1},{11:1,74:1,77:1},{11:1,75:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1}];if (org_drools_brms_JBRMS) {  var __gwt_initHandlers = org_drools_brms_JBRMS.__gwt_initHandlers;  org_drools_brms_JBRMS.onScriptLoad(gwtOnLoad);}})();
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/E852FBEB98D9E331BF1DBDCE27A5C06F.cache.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cache-entry>
+	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_TypeSerializer" hash="619B51D664C2EA16C242AAF2AF6BA7E6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableDataResult_FieldSerializer" hash="BFC3EC8D02BADBA251CA3B7A7F85C809"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.DSLSentence_FieldSerializer" hash="35AB7D23CC662D4F726060AA9938F6C6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.BuilderResult_FieldSerializer" hash="31FA4ADBFB94FFD9001BA8C2A4417504"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleAttribute_FieldSerializer" hash="7BF092FF4AE3E8CB784A96421E7BC6B4"/>
+	<generated-type-hash class="com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException_FieldSerializer" hash="FF198044879E67E1ACF2E0C29CC58CB5"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.MultiWordSuggestOracle_MultiWordSuggestion_FieldSerializer" hash="1721A875793F79F044BA9AEC6543C8A2"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.TreeImages_generatedBundle" hash="C4DB9D53C840859028C6F483DB58A75C"/>
+	<generated-type-hash class="com.google.gwt.user.client.rpc.SerializableException_FieldSerializer" hash="1CB9B63ABEC9BE7E663F6C56AA395208"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Request_FieldSerializer" hash="93219A0D78603408F1E24CE444809ADE"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableConfig_FieldSerializer" hash="68BF54922D06AC518871EB9FEFD7D68E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionRetractFact_FieldSerializer" hash="3ABE2631C28ACB7B3C1358BD27C80255"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SnapshotInfo_FieldSerializer" hash="995C2E7AEC07438074706D40B4864FF5"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertFact_FieldSerializer" hash="B3DA8CF19248044B9B347AFEE8AAC7F7"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.ValidatedResponse_FieldSerializer" hash="15269178DE71D238F26587B3095E7A9A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint_FieldSerializer" hash="8606C355A0F17A64941EB10EFAB41036"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionSetField_FieldSerializer" hash="7F0BA1987E3FB650C44049758B209A0E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint_FieldSerializer" hash="F30861DCB878C093201710AE55E3EF52"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFactPattern_FieldSerializer" hash="85DD7A29F613D6A493314730060FF12A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldValue_FieldSerializer" hash="C12B27B0B8651B5CCA2358C044C74DD1"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.DetailedSerializableException_FieldSerializer" hash="CE21C342ABA475456EAAE97B0AE44393"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.MetaData_FieldSerializer" hash="C7F537CFDF5A4E02C318B4614CEC20EA"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact_FieldSerializer" hash="8646F66FFEBDCE52535B8FBA9AE37830"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.SuggestionCompletionEngine_FieldSerializer" hash="1BED05A61D2EFBC600410686A3304B3E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.SingleFieldConstraint_FieldSerializer" hash="C2DB414BB43FE22A8E8CDBA910564AA6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RuleAsset_FieldSerializer" hash="7D9F400F79A33BD99A5721E52B6EDBA7"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.PackageConfigData_FieldSerializer" hash="1C8237E912FA51556E3496683D32C8B5"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Response_FieldSerializer" hash="1C6D42E0AC1FE9CDD63B791E11BD9615"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.FactPattern_FieldSerializer" hash="5535A6C88015EE51C5F4FA808DFAA8ED"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SessionExpiredException_FieldSerializer" hash="0A173F0D6310FDB17BD90CBB1948DC75"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_Proxy" hash="EE514DB88A5F377A761E4D0AAB187640"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableDataRow_FieldSerializer" hash="411D058D97408AAE2C3EBA1620048463"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldList_FieldSerializer" hash="73DAB0917FEA7A2E484F4B12C200C868"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_TypeSerializer" hash="8DCA6439D096072B75D6701D8B54A1DA"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionUpdateField_FieldSerializer" hash="53DAC10B208EAD97D6542560F2C8BAAD"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RuleContentText_FieldSerializer" hash="9F5834F874613140D0BDEC4056C49928"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_Proxy" hash="0549B5DD064B695F228AA7312765E9C0"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleModel_FieldSerializer" hash="2A44CFABD8B63D33EFAA2FF86226638A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ConnectiveConstraint_FieldSerializer" hash="BF0E8BCBA71D0333FD6536A3B7B09370"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.TextBoxImpl" out="com.google.gwt.user.client.ui.impl.TextBoxImplIE6"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.ListBox.Impl" out="com.google.gwt.user.client.ui.ListBox.Impl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.FocusImpl" out="com.google.gwt.user.client.ui.impl.FocusImplIE6"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.ClippedImageImpl" out="com.google.gwt.user.client.ui.impl.ClippedImageImplIE6"/>
+	<rebind-decision in="org.drools.brms.client.JBRMSEntryPoint" out="org.drools.brms.client.JBRMSEntryPoint"/>
+	<rebind-decision in="org.drools.brms.client.rpc.RepositoryService" out="org.drools.brms.client.rpc.RepositoryService_Proxy"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.HistoryImpl" out="com.google.gwt.user.client.impl.HistoryImplIE6"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.DOMImpl" out="com.google.gwt.user.client.impl.DOMImplIE6"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.PopupImpl" out="com.google.gwt.user.client.ui.impl.PopupImplIE6"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.TreeImages" out="com.google.gwt.user.client.ui.TreeImages_generatedBundle"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.FormPanelImpl" out="com.google.gwt.user.client.ui.impl.FormPanelImplIE6"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.HTTPRequestImpl" out="com.google.gwt.user.client.impl.HTTPRequestImplIE6"/>
+	<rebind-decision in="org.drools.brms.client.rpc.SecurityService" out="org.drools.brms.client.rpc.SecurityService_Proxy"/>
+</cache-entry>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.html (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.html)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.html	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.html	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3428 @@
+<html><head><script>var $wnd = parent;var $doc = $wnd.document;var $moduleName, $moduleBase;</script></head><body><script><!--
+var _,yfc='com.google.gwt.core.client.',zfc='com.google.gwt.lang.',Afc='com.google.gwt.user.client.',Bfc='com.google.gwt.user.client.impl.',Cfc='com.google.gwt.user.client.rpc.',Dfc='com.google.gwt.user.client.rpc.core.java.lang.',Efc='com.google.gwt.user.client.rpc.core.java.util.',Ffc='com.google.gwt.user.client.rpc.impl.',agc='com.google.gwt.user.client.ui.',bgc='com.google.gwt.user.client.ui.impl.',cgc='java.io.',dgc='java.lang.',egc='java.util.',fgc='org.drools.brms.client.',ggc='org.drools.brms.client.admin.',hgc='org.drools.brms.client.categorynav.',igc='org.drools.brms.client.common.',jgc='org.drools.brms.client.decisiontable.',kgc='org.drools.brms.client.modeldriven.',lgc='org.drools.brms.client.modeldriven.brl.',mgc='org.drools.brms.client.modeldriven.ui.',ngc='org.drools.brms.client.packages.',ogc='org.drools.brms.client.rpc.',pgc='org.drools.brms.client.ruleeditor.',qgc='org.drools.brms.client.rulelist.',rgc='org.drools.brms.client.table.';function d3(){}
+function hU(a){return this===a;}
+function iU(){return AV(this);}
+function jU(){return this.tN+'@'+this.hC();}
+function fU(){}
+_=fU.prototype={};_.eQ=hU;_.hC=iU;_.tS=jU;_.toString=function(){return this.tS();};_.tN=dgc+'Object';_.tI=1;function v(){return C();}
+function w(a){return a==null?null:a.tN;}
+var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function C(){return $moduleBase;}
+function D(){return ++E;}
+var E=0;function DV(b,a){b.c=a;return b;}
+function EV(c,b,a){c.c=b;return c;}
+function aW(){return this.c;}
+function bW(){var a,b;a=w(this);b=this.zb();if(b!==null){return a+': '+b;}else{return a;}}
+function CV(){}
+_=CV.prototype=new fU();_.zb=aW;_.tS=bW;_.tN=dgc+'Throwable';_.tI=3;_.c=null;function CS(b,a){DV(b,a);return b;}
+function DS(c,b,a){EV(c,b,a);return c;}
+function BS(){}
+_=BS.prototype=new CV();_.tN=dgc+'Exception';_.tI=4;function lU(b,a){CS(b,a);return b;}
+function mU(c,b,a){DS(c,b,a);return c;}
+function kU(){}
+_=kU.prototype=new BS();_.tN=dgc+'RuntimeException';_.tI=5;function ab(c,b,a){lU(c,'JavaScript '+b+' exception: '+a);return c;}
+function F(){}
+_=F.prototype=new kU();_.tN=yfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
+function fb(a){return A(a);}
+function gb(){return [];}
+function hb(){return function(){};}
+function ib(){return {};}
+function kb(a){return eb(this,a);}
+function jb(a,b){return a===b;}
+function lb(){return fb(this);}
+function nb(){return mb(this);}
+function mb(a){if(a.toString)return a.toString();return '[object]';}
+function cb(){}
+_=cb.prototype=new fU();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=yfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
+function rb(a,b,c){return a[b]=c;}
+function tb(a,b){return sb(a,b);}
+function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
+function ub(b,a){return b[a];}
+function wb(b,a){return b[a];}
+function vb(a){return a.length;}
+function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
+function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new wT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=hV(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
+function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
+function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new gS();}return rb(a,b,c);}
+function ob(){}
+_=ob.prototype=new fU();_.tN=zfc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
+function Eb(a){return String.fromCharCode(a);}
+function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
+function ac(b,a){return b!=null&&Db(b.tI,a);}
+function bc(a){return a&65535;}
+function cc(a){return ~(~a);}
+function dc(a){if(a>(jT(),kT))return jT(),kT;if(a<(jT(),lT))return jT(),lT;return a>=0?Math.floor(a):Math.ceil(a);}
+function fc(){throw new wS();}
+function ec(a){if(a!==null){throw new wS();}return a;}
+function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
+var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
+function lc(a){return a.message;}
+function mc(a){return a.name;}
+function oc(b,a){return b;}
+function nc(){}
+_=nc.prototype=new kU();_.tN=Afc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=nY(new lY());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
+function gd(a){fd(a);return a;}
+function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
+function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.pb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(zV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
+function kd(a){if(!xY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
+function ld(b,a){b.c=a;}
+function md(b,a){b.e=a;}
+function nd(b,a){pY(b.b,a);kd(b);}
+function od(a,b){return uT(a-b)>=100;}
+function qc(){}
+_=qc.prototype=new fU();_.tN=Afc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=d3;uh=nY(new lY());{th();}}
+function ih(a){kh();return a;}
+function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}zY(uh,a);}
+function lh(a){if(!a.b){zY(uh,a);}a.fe();}
+function nh(b,a){if(a<=0){throw aT(new FS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);pY(uh,b);}
+function mh(b,a){if(a<=0){throw aT(new FS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);pY(uh,b);}
+function oh(a){kh();$wnd.clearInterval(a);}
+function ph(a){kh();$wnd.clearTimeout(a);}
+function qh(b,a){kh();return $wnd.setInterval(function(){b.qb();},a);}
+function rh(b,a){kh();return $wnd.setTimeout(function(){b.qb();},a);}
+function sh(){var a;a=x;{lh(this);}}
+function th(){kh();yh(new eh());}
+function dh(){}
+_=dh.prototype=new fU();_.qb=sh;_.tN=Afc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=d3;kh();}
+function sc(b,a){tc();b.a=a;ih(b);return b;}
+function uc(){if(!this.a.c){return;}id(this.a);}
+function rc(){}
+_=rc.prototype=new dh();_.fe=uc;_.tN=Afc+'CommandExecutor$1';_.tI=14;function xc(){xc=d3;kh();}
+function wc(b,a){xc();b.a=a;ih(b);return b;}
+function yc(){md(this.a,false);jd(this.a,zV());}
+function vc(){}
+_=vc.prototype=new dh();_.fe=yc;_.tN=Afc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
+function Cc(a){return uY(a.d.b,a.b);}
+function Dc(a){return a.c<a.a;}
+function Ec(b){var a;b.b=b.c;a=uY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
+function Fc(a){yY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
+function ad(b,a){b.a=a;}
+function bd(a){return a.b==(-1);}
+function cd(){return Dc(this);}
+function dd(){return Ec(this);}
+function ed(){Fc(this);}
+function zc(){}
+_=zc.prototype=new fU();_.kc=cd;_.sc=dd;_.ce=ed;_.tN=Afc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=d3;rf=nY(new lY());{gf=new ki();bj(gf);}}
+function sd(a){rd();pY(rf,a);}
+function td(b,a){rd();hj(gf,b,a);}
+function ud(a,b){rd();return vi(gf,a,b);}
+function vd(){rd();return jj(gf,'A');}
+function wd(){rd();return jj(gf,'button');}
+function xd(){rd();return jj(gf,'div');}
+function yd(a){rd();return jj(gf,a);}
+function zd(){rd();return jj(gf,'form');}
+function Ad(){rd();return jj(gf,'iframe');}
+function Bd(){rd();return jj(gf,'img');}
+function Cd(){rd();return kj(gf,'checkbox');}
+function Dd(){rd();return kj(gf,'password');}
+function Ed(a){rd();return wi(gf,a);}
+function Fd(){rd();return kj(gf,'text');}
+function ae(){rd();return jj(gf,'label');}
+function be(a){rd();return lj(gf,a);}
+function ce(){rd();return jj(gf,'span');}
+function de(){rd();return jj(gf,'tbody');}
+function ee(){rd();return jj(gf,'td');}
+function fe(){rd();return jj(gf,'tr');}
+function ge(){rd();return jj(gf,'table');}
+function he(){rd();return jj(gf,'textarea');}
+function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
+function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.wc(b);}finally{ie=d;}}
+function le(b,a){rd();mj(gf,b,a);}
+function me(a){rd();return nj(gf,a);}
+function ne(a){rd();return mi(gf,a);}
+function oe(a){rd();return ni(gf,a);}
+function pe(a){rd();return oj(gf,a);}
+function qe(a){rd();return pj(gf,a);}
+function re(a){rd();return xi(gf,a);}
+function se(a){rd();return qj(gf,a);}
+function te(a){rd();return rj(gf,a);}
+function ue(a){rd();return sj(gf,a);}
+function ve(a){rd();return yi(gf,a);}
+function we(a){rd();return zi(gf,a);}
+function xe(a){rd();return tj(gf,a);}
+function ye(a){rd();Ai(gf,a);}
+function ze(a){rd();return Bi(gf,a);}
+function Ae(a){rd();return oi(gf,a);}
+function Be(a){rd();return pi(gf,a);}
+function Ee(b,a){rd();return Ei(gf,b,a);}
+function Ce(a){rd();return Ci(gf,a);}
+function De(b,a){rd();return Di(gf,b,a);}
+function bf(a,b){rd();return wj(gf,a,b);}
+function Fe(a,b){rd();return uj(gf,a,b);}
+function af(a,b){rd();return vj(gf,a,b);}
+function cf(a){rd();return xj(gf,a);}
+function df(a){rd();return Fi(gf,a);}
+function ef(a){rd();return yj(gf,a);}
+function ff(a){rd();return aj(gf,a);}
+function hf(c,a,b){rd();cj(gf,c,a,b);}
+function jf(c,b,d,a){rd();qi(gf,c,b,d,a);}
+function kf(b,a){rd();return dj(gf,b,a);}
+function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(uY(rf,rf.b-1),5);if(!(c=b.Cc(a))){le(a,true);ye(a);}}return c;}
+function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}ej(gf,a);}
+function nf(b,a){rd();zj(gf,b,a);}
+function of(b,a){rd();Aj(gf,b,a);}
+function pf(a){rd();zY(rf,a);}
+function sf(a){rd();Bj(gf,a);}
+function tf(a){rd();qf=a;fj(gf,a);}
+function uf(b,a,c){rd();Cj(gf,b,a,c);}
+function xf(a,b,c){rd();Fj(gf,a,b,c);}
+function vf(a,b,c){rd();Dj(gf,a,b,c);}
+function wf(a,b,c){rd();Ej(gf,a,b,c);}
+function yf(a,b){rd();ak(gf,a,b);}
+function zf(a,b){rd();bk(gf,a,b);}
+function Af(a,b){rd();ck(gf,a,b);}
+function Bf(a,b){rd();dk(gf,a,b);}
+function Cf(b,a,c){rd();ek(gf,b,a,c);}
+function Df(b,a,c){rd();fk(gf,b,a,c);}
+function Ef(a,b){rd();gj(gf,a,b);}
+function Ff(a){rd();return gk(gf,a);}
+function ag(){rd();return ri(gf);}
+function bg(){rd();return si(gf);}
+var ie=null,gf=null,qf=null,rf;function dg(){dg=d3;gg=gd(new qc());}
+function fg(a){dg();nd(gg,a);}
+function eg(a){dg();if(a===null){throw zT(new yT(),'cmd can not be null');}nd(gg,a);}
+var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
+function kg(a){return jg(this,a);}
+function lg(){return fb(hc(this,hg));}
+function mg(){return Ff(this);}
+function hg(){}
+_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=Afc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
+function sg(){return fb(hc(this,ng));}
+function tg(){return ze(this);}
+function ng(){}
+_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=Afc+'Event';_.tI=18;function vg(){vg=d3;xg=jk(new ik());}
+function wg(c,b,a){vg();return lk(xg,c,b,a);}
+var xg;function Ag(){Ag=d3;Eg=nY(new lY());{Fg=sk(new rk());if(!vk(Fg)){Fg=null;}}}
+function Bg(a){Ag();pY(Eg,a);}
+function Cg(a){Ag();var b,c;for(b=Eg.qc();b.kc();){c=Fb(b.sc(),7);c.bd(a);}}
+function Dg(){Ag();return Fg!==null?Fk(Fg):'';}
+function ah(a){Ag();if(Fg!==null){xk(Fg,a);}}
+function bh(b){Ag();var a;a=x;{Cg(b);}}
+var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(uY((kh(),uh),0),8));}}
+function hh(){return null;}
+function eh(){}
+_=eh.prototype=new fU();_.ud=gh;_.vd=hh;_.tN=Afc+'Timer$1';_.tI=19;function xh(){xh=d3;Ah=nY(new lY());ii=nY(new lY());{di();}}
+function yh(a){xh();pY(Ah,a);}
+function zh(a){xh();$wnd.alert(a);}
+function Bh(a){xh();return $wnd.confirm(a);}
+function Ch(){xh();var a,b;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);b.ud();}}
+function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);c=b.vd();{d=c;}}return d;}
+function Eh(){xh();var a,b;for(a=ii.qc();a.kc();){b=ec(a.sc());null.jf();}}
+function Fh(){xh();return ag();}
+function ai(){xh();return bg();}
+function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
+function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
+function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
+function ei(){xh();var a;a=x;{Ch();}}
+function fi(){xh();var a;a=x;{return Dh();}}
+function gi(){xh();var a;a=x;{Eh();}}
+function hi(c,b,a){xh();$wnd.open(c,b,a);}
+var Ah,ii;function hj(c,b,a){b.appendChild(a);}
+function jj(b,a){return $doc.createElement(a);}
+function kj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
+function lj(c,a){var b;b=jj(c,'select');if(a){Dj(c,b,'multiple',true);}return b;}
+function mj(c,b,a){b.cancelBubble=a;}
+function nj(b,a){return !(!a.altKey);}
+function oj(b,a){return !(!a.ctrlKey);}
+function pj(b,a){return a.currentTarget;}
+function qj(b,a){return a.which||(a.keyCode|| -1);}
+function rj(b,a){return !(!a.metaKey);}
+function sj(b,a){return !(!a.shiftKey);}
+function tj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
+function wj(d,a,b){var c=a[b];return c==null?null:String(c);}
+function uj(c,a,b){return !(!a[b]);}
+function vj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
+function xj(b,a){return a.__eventBits||0;}
+function yj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.xb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
+function zj(c,b,a){b.removeChild(a);}
+function Aj(c,b,a){b.removeAttribute(a);}
+function Bj(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
+function Cj(c,b,a,d){b.setAttribute(a,d);}
+function Fj(c,a,b,d){a[b]=d;}
+function Dj(c,a,b,d){a[b]=d;}
+function Ej(c,a,b,d){a[b]=d;}
+function ak(c,a,b){a.__listener=b;}
+function bk(c,a,b){a.src=b;}
+function ck(c,a,b){if(!b){b='';}a.innerHTML=b;}
+function dk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
+function ek(c,b,a,d){b.style[a]=d;}
+function fk(c,b,a,d){b.style[a]=d;}
+function gk(b,a){return a.outerHTML;}
+function hk(a){return yj(this,a);}
+function ji(){}
+_=ji.prototype=new fU();_.xb=hk;_.tN=Bfc+'DOMImpl';_.tI=20;function vi(c,a,b){return a==b;}
+function wi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
+function xi(b,a){return a.relatedTarget?a.relatedTarget:null;}
+function yi(b,a){return a.target||null;}
+function zi(b,a){return a.relatedTarget||null;}
+function Ai(b,a){a.preventDefault();}
+function Bi(b,a){return a.toString();}
+function Ei(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
+function Ci(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
+function Di(d,c,e){var b=0,a=c.firstChild;while(a){if(a==e)return b;if(a.nodeType==1)++b;a=a.nextSibling;}return -1;}
+function Fi(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
+function aj(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
+function bj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
+function cj(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
+function dj(c,b,a){while(a){if(b==a){return true;}a=a.parentNode;if(a&&a.nodeType!=1){a=null;}}return false;}
+function ej(b,a){if(a==$wnd.__captureElem)$wnd.__captureElem=null;}
+function fj(b,a){$wnd.__captureElem=a;}
+function gj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
+function ti(){}
+_=ti.prototype=new ji();_.tN=Bfc+'DOMImplStandard';_.tI=21;function mi(b,a){return a.pageX-$doc.body.scrollLeft|| -1;}
+function ni(b,a){return a.pageY-$doc.body.scrollTop|| -1;}
+function oi(e,b){if(b.offsetLeft==null){return 0;}var c=0;var a=b.parentNode;if(a){while(a.offsetParent){c-=a.scrollLeft;a=a.parentNode;}}while(b){c+=b.offsetLeft;var d=b.offsetParent;if(d&&(d.tagName=='BODY'&&b.style.position=='absolute')){break;}b=d;}return c;}
+function pi(d,b){if(b.offsetTop==null){return 0;}var e=0;var a=b.parentNode;if(a){while(a.offsetParent){e-=a.scrollTop;a=a.parentNode;}}while(b){e+=b.offsetTop;var c=b.offsetParent;if(c&&(c.tagName=='BODY'&&b.style.position=='absolute')){break;}b=c;}return e;}
+function qi(e,c,d,f,a){var b=new Option(d,f);if(a== -1||a>c.children.length-1){c.appendChild(b);}else{c.insertBefore(b,c.children[a]);}}
+function ri(a){return $wnd.innerHeight;}
+function si(a){return $wnd.innerWidth;}
+function ki(){}
+_=ki.prototype=new ti();_.tN=Bfc+'DOMImplSafari';_.tI=22;function jk(a){pk=hb();return a;}
+function lk(c,d,b,a){return mk(c,null,null,d,b,a);}
+function mk(d,f,c,e,b,a){return kk(d,f,c,e,b,a);}
+function kk(e,g,d,f,c,b){var h=e.lb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=pk;b.Ac(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=pk;return false;}}
+function ok(){return new XMLHttpRequest();}
+function ik(){}
+_=ik.prototype=new fU();_.lb=ok;_.tN=Bfc+'HTTPRequestImpl';_.tI=23;var pk=null;function Fk(a){return $wnd.__gwt_historyToken;}
+function al(a){bh(a);}
+function qk(){}
+_=qk.prototype=new fU();_.tN=Bfc+'HistoryImpl';_.tI=24;function Ck(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;al(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
+function Dk(b,a){if(a==null){a='';}$wnd.location.hash=encodeURIComponent(a);}
+function Ak(){}
+_=Ak.prototype=new qk();_.tN=Bfc+'HistoryImplStandard';_.tI=25;function tk(){tk=d3;zk=yk();}
+function sk(a){tk();return a;}
+function vk(a){if(zk){uk(a);return true;}return Ck(a);}
+function uk(b){$wnd.__gwt_historyToken='';var a=$wnd.location.hash;if(a.length>0)$wnd.__gwt_historyToken=decodeURIComponent(a.substring(1));al($wnd.__gwt_historyToken);}
+function xk(b,a){if(zk){wk(b,a);return;}Dk(b,a);}
+function wk(d,a){var b=$doc.createElement('meta');b.setAttribute('http-equiv','refresh');var c=$wnd.location.href.split('#')[0]+'#'+encodeURIComponent(a);b.setAttribute('content','0.01;url='+c);$doc.body.appendChild(b);window.setTimeout(function(){$doc.body.removeChild(b);},1);$wnd.__gwt_historyToken=a;al($wnd.__gwt_historyToken);}
+function yk(){tk();var a=/ AppleWebKit\/([\d]+)/;var b=a.exec(navigator.userAgent);if(b){if(parseInt(b[1])>=522){return false;}}if(navigator.userAgent.indexOf('iPhone')!= -1){return false;}return true;}
+function rk(){}
+_=rk.prototype=new Ak();_.tN=Bfc+'HistoryImplSafari';_.tI=26;var zk;function dl(a){lU(a,'This application is out of date, please click the refresh button on your browser');return a;}
+function cl(){}
+_=cl.prototype=new kU();_.tN=Cfc+'IncompatibleRemoteServiceException';_.tI=27;function hl(b,a){}
+function il(b,a){}
+function kl(b,a){mU(b,a,null);return b;}
+function jl(){}
+_=jl.prototype=new kU();_.tN=Cfc+'InvocationException';_.tI=28;function wl(){return this.b;}
+function ol(){}
+_=ol.prototype=new BS();_.zb=wl;_.tN=Cfc+'SerializableException';_.tI=29;_.b=null;function sl(b,a){vl(a,b.Ed());}
+function tl(a){return a.b;}
+function ul(b,a){b.gf(tl(a));}
+function vl(a,b){a.b=b;}
+function yl(b,a){CS(b,a);return b;}
+function xl(){}
+_=xl.prototype=new BS();_.tN=Cfc+'SerializationException';_.tI=30;function Dl(a){kl(a,'Service implementation URL not specified');return a;}
+function Cl(){}
+_=Cl.prototype=new jl();_.tN=Cfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function cm(b,a){}
+function dm(a){return qS(a.zd());}
+function em(b,a){b.bf(a.a);}
+function hm(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Dd());}}
+function im(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.ff(a[c]);}}
+function lm(b,a){}
+function mm(a){return a.Ed();}
+function nm(b,a){b.gf(a);}
+function qm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Ad();}}
+function rm(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.cf(a[c]);}}
+function um(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();pY(b,c);}}
+function vm(e,a){var b,c,d;d=a.b;e.df(d);b=a.qc();while(b.kc()){c=b.sc();e.ff(c);}}
+function ym(b,a){}
+function zm(a){return AZ(new yZ(),a.Cd());}
+function Am(b,a){b.ef(DZ(a));}
+function Dm(e,b){var a,c,d,f;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();f=e.Dd();r1(b,c,f);}}
+function Em(f,c){var a,b,d,e;e=c.c;f.df(e);b=p1(c);d=f1(b);while(D0(d)){a=E0(d);f.ff(a.yb());f.ff(a.ec());}}
+function bn(d,b){var a,c;c=d.Bd();for(a=0;a<c;++a){f2(b,d.Dd());}}
+function cn(c,a){var b;c.df(a.a.c);for(b=h2(a);iX(b);){c.ff(jX(b));}}
+function fn(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();y2(b,c);}}
+function gn(e,a){var b,c,d;d=a.a.b;e.df(d);b=A2(a);while(b.kc()){c=b.sc();e.ff(c);}}
+function En(a){return a.j>2;}
+function Fn(b,a){b.i=a;}
+function ao(a,b){a.j=b;}
+function hn(){}
+_=hn.prototype=new fU();_.tN=Ffc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function kn(a){a.e=nY(new lY());}
+function ln(a){kn(a);return a;}
+function nn(b,a){rY(b.e);ao(b,io(b));Fn(b,io(b));}
+function on(a){var b,c;b=a.Bd();if(b<0){return uY(a.e,-(b+1));}c=a.cc(b);if(c===null){return null;}return a.jb(c);}
+function pn(b,a){pY(b.e,a);}
+function qn(){return on(this);}
+function jn(){}
+_=jn.prototype=new hn();_.Dd=qn;_.tN=Ffc+'AbstractSerializationStreamReader';_.tI=33;function tn(b,a){b.E(a?'1':'0');}
+function un(b,a){b.E(uV(a));}
+function vn(c,a){var b,d;if(a===null){wn(c,null);return;}b=c.wb(a);if(b>=0){un(c,-(b+1));return;}c.ge(a);d=c.Bb(a);wn(c,d);c.je(a,d);}
+function wn(a,b){un(a,a.z(b));}
+function xn(a){tn(this,a);}
+function yn(a){this.E(uV(a));}
+function zn(a){un(this,a);}
+function An(a){this.E(vV(a));}
+function Bn(a){vn(this,a);}
+function Cn(a){wn(this,a);}
+function rn(){}
+_=rn.prototype=new hn();_.bf=xn;_.cf=yn;_.df=zn;_.ef=An;_.ff=Bn;_.gf=Cn;_.tN=Ffc+'AbstractSerializationStreamWriter';_.tI=34;function co(b,a){ln(b);b.c=a;return b;}
+function fo(b,a){if(!a){return null;}return b.d[a-1];}
+function go(b,a){b.b=mo(a);b.a=no(b.b);nn(b,a);b.d=jo(b);}
+function ho(a){return !(!a.b[--a.a]);}
+function io(a){return a.b[--a.a];}
+function jo(a){return a.b[--a.a];}
+function ko(a){return fo(a,io(a));}
+function lo(b){var a;a=this.c.nc(this,b);pn(this,a);this.c.ib(this,a,b);return a;}
+function mo(a){return eval(a);}
+function no(a){return a.length;}
+function oo(a){return fo(this,a);}
+function po(){return ho(this);}
+function qo(){return this.b[--this.a];}
+function ro(){return io(this);}
+function so(){return this.b[--this.a];}
+function to(){return ko(this);}
+function bo(){}
+_=bo.prototype=new jn();_.jb=lo;_.cc=oo;_.zd=po;_.Ad=qo;_.Bd=ro;_.Cd=so;_.Ed=to;_.tN=Ffc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function vo(a){a.h=nY(new lY());}
+function wo(d,c,a,b){vo(d);d.f=c;d.b=a;d.e=b;return d;}
+function yo(c,a){var b=c.d[a];return b==null?-1:b;}
+function zo(c,a){var b=c.g[':'+a];return b==null?0:b;}
+function Ao(a){a.c=0;a.d=ib();a.g=ib();rY(a.h);a.a=qU(new pU());if(En(a)){wn(a,a.b);wn(a,a.e);}}
+function Bo(b,a,c){b.d[a]=c;}
+function Co(b,a,c){b.g[':'+a]=c;}
+function Do(b){var a;a=qU(new pU());Eo(b,a);ap(b,a);Fo(b,a);return wU(a);}
+function Eo(b,a){cp(a,uV(b.j));cp(a,uV(b.i));}
+function Fo(b,a){sU(a,wU(b.a));}
+function ap(d,a){var b,c;c=d.h.b;cp(a,uV(c));for(b=0;b<c;++b){cp(a,Fb(uY(d.h,b),1));}return a;}
+function bp(b){var a;if(b===null){return 0;}a=zo(this,b);if(a>0){return a;}pY(this.h,b);a=this.h.b;Co(this,b,a);return a;}
+function cp(a,b){sU(a,b);rU(a,65535);}
+function dp(a){cp(this.a,a);}
+function ep(a){return yo(this,AV(a));}
+function fp(a){var b,c;c=w(a);b=this.f.bc(c);if(b!==null){c+='/'+b;}return c;}
+function gp(a){Bo(this,AV(a),this.c++);}
+function hp(a,b){this.f.ie(this,a,b);}
+function ip(){return Do(this);}
+function uo(){}
+_=uo.prototype=new rn();_.z=bp;_.E=dp;_.wb=ep;_.Bb=fp;_.ge=gp;_.je=hp;_.tS=ip;_.tN=Ffc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function uN(b,a){kO(b.dc(),a,true);}
+function wN(a){return Ae(a.ub());}
+function xN(a){return Be(a.ub());}
+function yN(a){return af(a.w,'offsetHeight');}
+function zN(a){return af(a.w,'offsetWidth');}
+function AN(b,a){kO(b.dc(),a,false);}
+function BN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
+function CN(b,a){if(b.w!==null){BN(b,b.w,a);}b.w=a;}
+function DN(b,c,a){if(c>=0){b.Be(c+'px');}if(a>=0){b.qe(a+'px');}}
+function EN(b,c,a){b.Be(c);b.qe(a);}
+function FN(b,a){jO(b.dc(),a);}
+function aO(b,a){Ef(b.ub(),a|cf(b.ub()));}
+function bO(){return this.w;}
+function cO(){return yN(this);}
+function dO(){return zN(this);}
+function eO(){return this.w;}
+function fO(a){return bf(a,'className');}
+function gO(a){return a.style.display!='none';}
+function hO(a){CN(this,a);}
+function iO(a){Df(this.w,'height',a);}
+function jO(a,b){xf(a,'className',b);}
+function kO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw lU(new kU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=lV(j);if(cV(j)==0){throw aT(new FS(),'Style names cannot be empty');}i=fO(c);e=aV(i,j);while(e!=(-1)){if(e==0||zU(i,e-1)==32){f=e+cV(j);g=cV(i);if(f==g||f<g&&zU(i,f)==32){break;}}e=bV(i,j,e+1);}if(a){if(e==(-1)){if(cV(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=lV(iV(i,0,e));d=lV(hV(i,e+cV(j)));if(cV(b)==0){h=d;}else if(cV(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
+function lO(a){if(a===null||cV(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
+function mO(a,b){a.style.display=b?'':'none';}
+function nO(a){mO(this.w,a);}
+function oO(a){Df(this.w,'width',a);}
+function pO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
+function tN(){}
+_=tN.prototype=new fU();_.ub=bO;_.Cb=cO;_.Db=dO;_.dc=eO;_.me=hO;_.qe=iO;_.te=lO;_.ye=nO;_.Be=oO;_.tS=pO;_.tN=agc+'UIObject';_.tI=37;_.w=null;function BP(a){if(a.oc()){throw dT(new cT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.ub(),a);a.kb();a.fd();}
+function CP(a){if(!a.oc()){throw dT(new cT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.td();}finally{a.mb();yf(a.ub(),null);a.t=false;}}
+function DP(a){if(ac(a.v,54)){Fb(a.v,54).ee(a);}else if(a.v!==null){throw dT(new cT(),"This widget's parent does not implement HasWidgets");}}
+function EP(b,a){if(b.oc()){yf(b.ub(),null);}CN(b,a);if(b.oc()){yf(a,b);}}
+function FP(b,a){b.u=a;}
+function aQ(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.oc()){c.Bc();}c.v=null;}else{if(a!==null){throw dT(new cT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.oc()){c.uc();}}}
+function bQ(){}
+function cQ(){}
+function dQ(){return this.t;}
+function eQ(){BP(this);}
+function fQ(a){}
+function gQ(){CP(this);}
+function hQ(){}
+function iQ(){}
+function jQ(a){EP(this,a);}
+function zO(){}
+_=zO.prototype=new tN();_.kb=bQ;_.mb=cQ;_.oc=dQ;_.uc=eQ;_.wc=fQ;_.Bc=gQ;_.fd=hQ;_.td=iQ;_.me=jQ;_.tN=agc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function FD(b,a){aQ(a,b);}
+function bE(b,a){aQ(a,null);}
+function cE(){var a;a=this.qc();while(a.kc()){a.sc();a.ce();}}
+function dE(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),13);a.uc();}}
+function eE(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),13);a.Bc();}}
+function fE(){}
+function gE(){}
+function ED(){}
+_=ED.prototype=new zO();_.ab=cE;_.kb=dE;_.mb=eE;_.fd=fE;_.td=gE;_.tN=agc+'Panel';_.tI=39;function Eq(a){a.f=dP(new AO(),a);}
+function Fq(a){Eq(a);return a;}
+function ar(c,a,b){DP(a);eP(c.f,a);td(b,a.ub());FD(c,a);}
+function br(d,b,a){var c;dr(d,a);if(b.v===d){c=fr(d,b);if(c<a){a--;}}return a;}
+function cr(b,a){if(a<0||a>=b.f.c){throw new fT();}}
+function dr(b,a){if(a<0||a>b.f.c){throw new fT();}}
+function gr(b,a){return gP(b.f,a);}
+function fr(b,a){return hP(b.f,a);}
+function hr(e,b,c,a,d){a=br(e,b,a);DP(b);iP(e.f,b,a);if(d){hf(c,b.ub(),a);}else{td(c,b.ub());}FD(e,b);}
+function ir(a){return jP(a.f);}
+function jr(b,c){var a;if(c.v!==b){return false;}bE(b,c);a=c.ub();nf(ff(a),a);lP(b.f,c);return true;}
+function kr(){return ir(this);}
+function lr(a){return this.ee(gr(this,a));}
+function mr(a){return jr(this,a);}
+function Dq(){}
+_=Dq.prototype=new ED();_.qc=kr;_.de=lr;_.ee=mr;_.tN=agc+'ComplexPanel';_.tI=40;function lp(a){Fq(a);a.me(xd());Df(a.ub(),'position','relative');Df(a.ub(),'overflow','hidden');return a;}
+function mp(a,b){ar(a,b,a.ub());}
+function op(b,c){var a;a=jr(b,c);if(a){pp(c.ub());}return a;}
+function pp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
+function qp(a){return op(this,a);}
+function kp(){}
+_=kp.prototype=new Dq();_.ee=qp;_.tN=agc+'AbsolutePanel';_.tI=41;function rp(){}
+_=rp.prototype=new fU();_.tN=agc+'AbstractImagePrototype';_.tI=42;function qu(){qu=d3;uu=(jR(),nR);}
+function ou(b,a){qu();su(b,a);return b;}
+function pu(b,a){if(b.k===null){b.k=eu(new du());}pY(b.k,a);}
+function ru(b,a){switch(xe(a)){case 1:if(b.j!==null){Bq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){gu(b.k,b,a);}break;case 128:case 512:case 256:break;}}
+function su(b,a){EP(b,a);aO(b,7041);}
+function tu(a){if(this.j===null){this.j=zq(new yq());}pY(this.j,a);}
+function vu(a){ru(this,a);}
+function wu(a){su(this,a);}
+function xu(a){vf(this.ub(),'disabled',!a);}
+function yu(a){if(a){uu.rb(this.ub());}else{uu.F(this.ub());}}
+function zu(a){uu.se(this.ub(),a);}
+function nu(){}
+_=nu.prototype=new zO();_.x=tu;_.wc=vu;_.me=wu;_.ne=xu;_.oe=yu;_.re=zu;_.tN=agc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var uu;function wp(){wp=d3;qu();}
+function vp(b,a){wp();ou(b,a);return b;}
+function xp(a){Af(this.ub(),a);}
+function up(){}
+_=up.prototype=new nu();_.pe=xp;_.tN=agc+'ButtonBase';_.tI=44;function Ap(){Ap=d3;wp();}
+function yp(a){Ap();vp(a,wd());Bp(a.ub());FN(a,'gwt-Button');return a;}
+function zp(b,a){Ap();yp(b);b.pe(a);return b;}
+function Bp(b){Ap();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
+function tp(){}
+_=tp.prototype=new up();_.tN=agc+'Button';_.tI=45;function Dp(a){Fq(a);a.e=ge();a.d=de();td(a.e,a.d);a.me(a.e);return a;}
+function Fp(c,b,a){xf(b,'align',a.a);}
+function aq(c,b,a){Df(b,'verticalAlign',a.a);}
+function bq(c,a){var b;b=ff(c.ub());xf(b,'height',a);}
+function cq(b,c){var a;a=ff(b.ub());xf(a,'width',c);}
+function Cp(){}
+_=Cp.prototype=new Dq();_.ke=bq;_.le=cq;_.tN=agc+'CellPanel';_.tI=46;_.d=null;_.e=null;function gW(d,a,b){var c;while(a.kc()){c=a.sc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
+function iW(a){throw dW(new cW(),'add');}
+function jW(b){var a;a=gW(this,this.qc(),b);return a!==null;}
+function kW(){return this.Fe(yb('[Ljava.lang.Object;',[611],[11],[this.Ce()],null));}
+function lW(a){var b,c,d;d=this.Ce();if(a.a<d){a=tb(a,d);}b=0;for(c=this.qc();c.kc();){Ab(a,b++,c.sc());}if(a.a>d){Ab(a,d,null);}return a;}
+function mW(){var a,b,c;c=qU(new pU());a=null;sU(c,'[');b=this.qc();while(b.kc()){if(a!==null){sU(c,a);}else{a=', ';}sU(c,wV(b.sc()));}sU(c,']');return wU(c);}
+function fW(){}
+_=fW.prototype=new fU();_.C=iW;_.eb=jW;_.Ee=kW;_.Fe=lW;_.tS=mW;_.tN=egc+'AbstractCollection';_.tI=47;function wW(b,a){throw gT(new fT(),'Index: '+a+', Size: '+b.b);}
+function xW(b,a){throw dW(new cW(),'add');}
+function yW(a){this.B(this.Ce(),a);return true;}
+function zW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ce()!=f.Ce()){return false;}c=this.qc();d=f.qc();while(c.kc()){a=c.sc();b=d.sc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
+function AW(){var a,b,c,d;c=1;a=31;b=this.qc();while(b.kc()){d=b.sc();c=31*c+(d===null?0:d.hC());}return c;}
+function BW(){return pW(new oW(),this);}
+function CW(a){throw dW(new cW(),'remove');}
+function nW(){}
+_=nW.prototype=new fW();_.B=xW;_.C=yW;_.eQ=zW;_.hC=AW;_.qc=BW;_.de=CW;_.tN=egc+'AbstractList';_.tI=48;function mY(a){{qY(a);}}
+function nY(a){mY(a);return a;}
+function oY(c,a,b){if(a<0||a>c.b){wW(c,a);}BY(c.a,a,b);++c.b;}
+function pY(b,a){eZ(b.a,b.b++,a);return true;}
+function rY(a){qY(a);}
+function qY(a){a.a=gb();a.b=0;}
+function tY(b,a){return vY(b,a)!=(-1);}
+function uY(b,a){if(a<0||a>=b.b){wW(b,a);}return aZ(b.a,a);}
+function vY(b,a){return wY(b,a,0);}
+function wY(c,b,a){if(a<0){wW(c,a);}for(;a<c.b;++a){if(FY(b,aZ(c.a,a))){return a;}}return (-1);}
+function xY(a){return a.b==0;}
+function yY(c,a){var b;b=uY(c,a);cZ(c.a,a,1);--c.b;return b;}
+function zY(c,b){var a;a=vY(c,b);if(a==(-1)){return false;}yY(c,a);return true;}
+function AY(d,a,b){var c;c=uY(d,a);eZ(d.a,a,b);return c;}
+function CY(a,b){oY(this,a,b);}
+function DY(a){return pY(this,a);}
+function BY(a,b,c){a.splice(b,0,c);}
+function EY(a){return tY(this,a);}
+function FY(a,b){return a===b||a!==null&&a.eQ(b);}
+function bZ(a){return uY(this,a);}
+function aZ(a,b){return a[b];}
+function dZ(a){return yY(this,a);}
+function cZ(a,c,b){a.splice(c,b);}
+function eZ(a,b,c){a[b]=c;}
+function fZ(){return this.b;}
+function gZ(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,aZ(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
+function lY(){}
+_=lY.prototype=new nW();_.B=CY;_.C=DY;_.eb=EY;_.hc=bZ;_.de=dZ;_.Ce=fZ;_.Fe=gZ;_.tN=egc+'ArrayList';_.tI=49;_.a=null;_.b=0;function eq(a){nY(a);return a;}
+function gq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),41);b.yc(c);}}
+function dq(){}
+_=dq.prototype=new lY();_.tN=agc+'ChangeListenerCollection';_.tI=50;function mq(){mq=d3;wp();}
+function jq(a){mq();kq(a,Cd());FN(a,'gwt-CheckBox');return a;}
+function lq(b,a){mq();jq(b);qq(b,a);return b;}
+function kq(b,a){var c;mq();vp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.ub()));Ef(b.ub(),0);td(b.ub(),b.a);td(b.ub(),b.b);c='check'+ ++xq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
+function nq(a){return ef(a.b);}
+function oq(b){var a;a=b.oc()?'checked':'defaultChecked';return Fe(b.a,a);}
+function pq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
+function qq(b,a){Bf(b.b,a);}
+function rq(){yf(this.a,this);}
+function sq(){yf(this.a,null);pq(this,oq(this));}
+function tq(a){vf(this.a,'disabled',!a);}
+function uq(a){if(a){uu.rb(this.a);}else{uu.F(this.a);}}
+function vq(a){Af(this.b,a);}
+function wq(a){uu.se(this.a,a);}
+function iq(){}
+_=iq.prototype=new up();_.fd=rq;_.td=sq;_.ne=tq;_.oe=uq;_.pe=vq;_.re=wq;_.tN=agc+'CheckBox';_.tI=51;_.a=null;_.b=null;var xq=0;function zq(a){nY(a);return a;}
+function Bq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),42);b.zc(c);}}
+function yq(){}
+_=yq.prototype=new lY();_.tN=agc+'ClickListenerCollection';_.tI=52;function pr(a,b){if(a.k!==null){throw dT(new cT(),'Composite.initWidget() may only be called once.');}DP(b);a.me(b.ub());a.k=b;aQ(b,a);}
+function qr(){if(this.k===null){throw dT(new cT(),'initWidget() was never called in '+w(this));}return this.w;}
+function rr(){if(this.k!==null){return this.k.oc();}return false;}
+function sr(){this.k.uc();this.fd();}
+function tr(){try{this.td();}finally{this.k.Bc();}}
+function nr(){}
+_=nr.prototype=new zO();_.ub=qr;_.oc=rr;_.uc=sr;_.Bc=tr;_.tN=agc+'Composite';_.tI=53;_.k=null;function vr(a){Fq(a);a.me(xd());return a;}
+function xr(b,c){var a;a=c.ub();Df(a,'width','100%');Df(a,'height','100%');c.ye(false);}
+function yr(b,c,a){hr(b,c,b.ub(),a,true);xr(b,c);}
+function zr(b,c){var a;a=jr(b,c);if(a){Ar(b,c);if(b.b===c){b.b=null;}}return a;}
+function Ar(a,b){Df(b.ub(),'width','');Df(b.ub(),'height','');b.ye(true);}
+function Br(b,a){cr(b,a);if(b.b!==null){b.b.ye(false);}b.b=gr(b,a);b.b.ye(true);}
+function Cr(a){return zr(this,a);}
+function ur(){}
+_=ur.prototype=new Dq();_.ee=Cr;_.tN=agc+'DeckPanel';_.tI=54;_.b=null;function fH(a){gH(a,xd());return a;}
+function gH(b,a){b.me(a);return b;}
+function hH(a,b){if(a.r!==null){throw dT(new cT(),'SimplePanel can only contain one child widget');}a.Ae(b);}
+function jH(a,b){if(b===a.r){return;}if(b!==null){DP(b);}if(a.r!==null){a.ee(a.r);}a.r=b;if(b!==null){td(a.tb(),a.r.ub());FD(a,b);}}
+function kH(){return this.ub();}
+function lH(){return aH(new EG(),this);}
+function mH(a){if(this.r!==a){return false;}bE(this,a);nf(this.tb(),a.ub());this.r=null;return true;}
+function nH(a){jH(this,a);}
+function DG(){}
+_=DG.prototype=new ED();_.tb=kH;_.qc=lH;_.ee=mH;_.Ae=nH;_.tN=agc+'SimplePanel';_.tI=55;_.r=null;function pE(){pE=d3;FE=new xR();}
+function lE(a){pE();gH(a,zR(FE));wE(a,0,0);return a;}
+function mE(b,a){pE();lE(b);b.k=a;return b;}
+function nE(c,a,b){pE();mE(c,a);c.o=b;return c;}
+function oE(b,a){if(a.blur){a.blur();}}
+function qE(a){return a.ub();}
+function rE(a){return zN(a);}
+function sE(a){tE(a,false);}
+function tE(b,a){if(!b.p){return;}b.p=false;op(tG(),b);b.ub();}
+function uE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.qe(a.l);}if(a.m!==null){b.Be(a.m);}}}
+function vE(e,b){var a,c,d,f;d=ve(b);c=kf(e.ub(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){tE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){oE(e,d);return false;}}}return !e.o||c;}
+function wE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.ub();Df(a,'left',b+'px');Df(a,'top',d+'px');}
+function xE(a,b){jH(a,b);uE(a);}
+function yE(a,b){a.m=b;uE(a);if(cV(b)==0){a.m=null;}}
+function zE(a){if(a.p){return;}a.p=true;sd(a);Df(a.ub(),'position','absolute');if(a.q!=(-1)){wE(a,a.n,a.q);}mp(tG(),a);a.ub();}
+function AE(){return qE(this);}
+function BE(){return yN(this);}
+function CE(){return rE(this);}
+function DE(){return this.ub();}
+function EE(){sE(this);}
+function aF(){pf(this);CP(this);}
+function bF(a){return vE(this,a);}
+function cF(a){this.l=a;uE(this);if(cV(a)==0){this.l=null;}}
+function dF(b){var a;a=qE(this);if(b===null||cV(b)==0){of(a,'title');}else{uf(a,'title',b);}}
+function eF(a){Df(this.ub(),'visibility',a?'visible':'hidden');this.ub();}
+function fF(a){xE(this,a);}
+function gF(a){yE(this,a);}
+function kE(){}
+_=kE.prototype=new DG();_.tb=AE;_.Cb=BE;_.Db=CE;_.dc=DE;_.lc=EE;_.Bc=aF;_.Cc=bF;_.qe=cF;_.te=dF;_.ye=eF;_.Ae=fF;_.Be=gF;_.tN=agc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var FE;function cs(){cs=d3;pE();}
+function Er(a){a.e=mz(new qw());a.j=ut(new ot());}
+function Fr(a){cs();as(a,false);return a;}
+function as(b,a){cs();bs(b,a,true);return b;}
+function bs(c,a,b){cs();nE(c,a,b);Er(c);c.j.ze(0,0,c.e);c.j.qe('100%');Ay(c.j,0);Cy(c.j,0);Dy(c.j,0);fx(c.j.n,1,0,'100%');kx(c.j.n,1,0,'100%');ex(c.j.n,1,0,(xz(),yz),(aA(),cA));xE(c,c.j);FN(c,'gwt-DialogBox');FN(c.e,'Caption');hC(c.e,c);return c;}
+function ds(b,a){qz(b.e,a);}
+function es(b,a){kC(b.e,a);}
+function fs(a,b){if(a.f!==null){zy(a.j,a.f);}if(b!==null){a.j.ze(1,0,b);}a.f=b;}
+function gs(a){if(xe(a)==4){if(kf(this.e.ub(),ve(a))){ye(a);}}return vE(this,a);}
+function hs(a,b,c){this.i=true;tf(this.e.ub());this.g=b;this.h=c;}
+function is(a){}
+function js(a){}
+function ks(c,d,e){var a,b;if(this.i){a=d+wN(this);b=e+xN(this);wE(this,a-this.g,b-this.h);}}
+function ls(a,b,c){this.i=false;mf(this.e.ub());}
+function ms(a){if(this.f!==a){return false;}zy(this.j,a);return true;}
+function ns(a){fs(this,a);}
+function os(a){yE(this,a);this.j.Be('100%');}
+function Dr(){}
+_=Dr.prototype=new kE();_.Cc=gs;_.hd=hs;_.id=is;_.jd=js;_.kd=ks;_.ld=ls;_.ee=ms;_.Ae=ns;_.Be=os;_.tN=agc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function As(){As=d3;at=new qs();bt=new qs();ct=new qs();dt=new qs();et=new qs();}
+function xs(a){a.b=(xz(),zz);a.c=(aA(),dA);}
+function ys(a){As();Dp(a);xs(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
+function zs(c,d,a){var b;if(a===at){if(d===c.a){return;}else if(c.a!==null){throw aT(new FS(),'Only one CENTER widget may be added');}}DP(d);eP(c.f,d);if(a===at){c.a=d;}b=ts(new ss(),a);FP(d,b);Ds(c,d,c.b);Es(c,d,c.c);Bs(c);FD(c,d);}
+function Bs(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=jP(p.f);EO(h);){c=FO(h);e=c.u.a;if(e===ct||e===dt){++l;}else if(e===bt||e===et){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[634],[33],[l],null);for(g=0;g<l;++g){m[g]=new vs();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=jP(p.f);EO(h);){c=FO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===ct){hf(m[j].b,o,m[j].a);td(o,c.ub());wf(o,'colSpan',f-q+1);++j;}else if(i.a===dt){hf(m[n].b,o,m[n].a);td(o,c.ub());wf(o,'colSpan',f-q+1);--n;}else if(i.a===et){k=m[j];hf(k.b,o,k.a++);td(o,c.ub());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===bt){k=m[j];hf(k.b,o,k.a);td(o,c.ub());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===at){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.ub());}}
+function Cs(b,c){var a;a=jr(b,c);if(a){if(c===b.a){b.a=null;}Bs(b);}return a;}
+function Ds(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
+function Es(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
+function Fs(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
+function ft(a){return Cs(this,a);}
+function gt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
+function ht(a,b){Fs(this,a,b);}
+function ps(){}
+_=ps.prototype=new Cp();_.ee=ft;_.ke=gt;_.le=ht;_.tN=agc+'DockPanel';_.tI=58;_.a=null;var at,bt,ct,dt,et;function qs(){}
+_=qs.prototype=new fU();_.tN=agc+'DockPanel$DockLayoutConstant';_.tI=59;function ts(b,a){b.a=a;return b;}
+function ss(){}
+_=ss.prototype=new fU();_.tN=agc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function vs(){}
+_=vs.prototype=new fU();_.tN=agc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function jt(a){a.me(yd('input'));xf(a.ub(),'type','file');FN(a,'gwt-FileUpload');return a;}
+function lt(a){return bf(a.ub(),'value');}
+function mt(b,a){xf(b.ub(),'name',a);}
+function it(){}
+_=it.prototype=new zO();_.tN=agc+'FileUpload';_.tI=62;function ey(a){a.s=Ax(new vx());}
+function fy(a){ey(a);a.q=ge();a.m=de();td(a.q,a.m);a.me(a.q);aO(a,1);return a;}
+function gy(b,a){if(b.r===null){b.r=kK(new jK());}pY(b.r,a);}
+function hy(d,c,b){var a;iy(d,c);if(b<0){throw gT(new fT(),'Column '+b+' must be non-negative: '+b);}a=d.sb(c);if(a<=b){throw gT(new fT(),'Column index: '+b+', Column size: '+d.sb(c));}}
+function iy(c,a){var b;b=c.Fb();if(a>=b||a<0){throw gT(new fT(),'Row index: '+a+', Row size: '+b);}}
+function jy(e,c,b,a){var d;d=bx(e.n,c,b);wy(e,d,a);return d;}
+function ky(d){var a,b,c;for(c=0;c<d.Fb();++c){for(b=0;b<d.sb(c);++b){a=sy(d,c,b);if(a!==null){zy(d,a);}}}}
+function my(a){return ee();}
+function ny(c,b,a){return b.rows[a].cells.length;}
+function oy(a){return py(a,a.m);}
+function py(b,a){return a.rows.length;}
+function qy(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(DU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
+function ry(d,c,a){var b;hy(d,c,a);b=ax(d.n,c,a);return ef(b);}
+function ty(c,b,a){hy(c,b,a);return sy(c,b,a);}
+function sy(e,d,b){var a,c;c=bx(e.n,d,b);a=df(c);if(a===null){return null;}else{return Cx(e.s,a);}}
+function uy(d,b,a){var c,e;e=tx(d.p,d.m,b);c=d.fb();hf(e,c,a);}
+function vy(b,a){var c;if(a!=yt(b)){iy(b,a);}c=fe();hf(b.m,c,a);return a;}
+function wy(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=Cx(d.s,b);}if(e!==null){zy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
+function zy(b,c){var a;if(c.v!==b){return false;}bE(b,c);a=c.ub();nf(ff(a),a);Fx(b.s,a);return true;}
+function xy(d,b,a){var c,e;hy(d,b,a);c=jy(d,b,a,false);e=tx(d.p,d.m,b);nf(e,c);}
+function yy(d,c){var a,b;b=d.sb(c);for(a=0;a<b;++a){jy(d,c,a,false);}nf(d.m,tx(d.p,d.m,c));}
+function Ay(a,b){xf(a.q,'border',''+b);}
+function By(b,a){b.n=a;}
+function Cy(b,a){wf(b.q,'cellPadding',a);}
+function Dy(b,a){wf(b.q,'cellSpacing',a);}
+function Ey(b,a){b.o=a;ox(b.o);}
+function Fy(e,c,a,b){var d;fw(e,c,a);d=jy(e,c,a,b===null);if(b!==null){Af(d,b);}}
+function az(b,a){b.p=a;}
+function bz(e,b,a,d){var c;e.xd(b,a);c=jy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
+function cz(d,b,a,e){var c;d.xd(b,a);if(e!==null){DP(e);c=jy(d,b,a,true);Dx(d.s,e);td(c,e.ub());FD(d,e);}}
+function dz(){ky(this);}
+function ez(){return my(this);}
+function fz(b,a){uy(this,b,a);}
+function gz(){return ay(this.s);}
+function hz(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=qy(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);mK(this.r,this,d,b);}break;}default:}}
+function kz(a){return zy(this,a);}
+function iz(b,a){xy(this,b,a);}
+function jz(a){yy(this,a);}
+function lz(b,a,c){cz(this,b,a,c);}
+function rw(){}
+_=rw.prototype=new ED();_.ab=dz;_.fb=ez;_.mc=fz;_.qc=gz;_.wc=hz;_.ee=kz;_.Fd=iz;_.be=jz;_.ze=lz;_.tN=agc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function ut(a){fy(a);By(a,qt(new pt(),a));az(a,qx(new px(),a));Ey(a,mx(new lx(),a));return a;}
+function wt(b,a){iy(b,a);return ny(b,b.m,a);}
+function xt(a){return Fb(a.n,43);}
+function yt(a){return oy(a);}
+function zt(b,a){return vy(b,a);}
+function At(d,b){var a,c;if(b<0){throw gT(new fT(),'Cannot create a row with a negative index: '+b);}c=yt(d);for(a=c;a<=b;a++){zt(d,a);}}
+function Bt(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
+function Ct(a){return wt(this,a);}
+function Dt(){return yt(this);}
+function Et(b,a){uy(this,b,a);}
+function Ft(d,b){var a,c;At(this,d);if(b<0){throw gT(new fT(),'Cannot create a column with a negative index: '+b);}a=wt(this,d);c=b+1-a;if(c>0){Bt(this.m,d,c);}}
+function au(a){At(this,a);}
+function bu(b,a){xy(this,b,a);}
+function cu(a){yy(this,a);}
+function ot(){}
+_=ot.prototype=new rw();_.sb=Ct;_.Fb=Dt;_.mc=Et;_.xd=Ft;_.yd=au;_.Fd=bu;_.be=cu;_.tN=agc+'FlexTable';_.tI=64;function Cw(b,a){b.a=a;return b;}
+function Ew(c,b,a){c.a.xd(b,a);return Fw(c,c.a.m,b,a);}
+function Fw(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
+function ax(c,b,a){hy(c.a,b,a);return Fw(c,c.a.m,b,a);}
+function bx(c,b,a){return Fw(c,c.a.m,b,a);}
+function cx(d,c,a){var b;b=ax(d,c,a);return gO(b);}
+function dx(e,b,a,c){var d;hy(e.a,b,a);d=Fw(e,e.a.m,b,a);kO(d,c,false);}
+function ex(d,c,a,b,e){gx(d,c,a,b);ix(d,c,a,e);}
+function fx(e,d,a,c){var b;e.a.xd(d,a);b=Fw(e,e.a.m,d,a);xf(b,'height',c);}
+function gx(e,d,b,a){var c;e.a.xd(d,b);c=Fw(e,e.a.m,d,b);xf(c,'align',a.a);}
+function hx(d,b,a,c){d.a.xd(b,a);jO(Fw(d,d.a.m,b,a),c);}
+function ix(d,c,b,a){d.a.xd(c,b);Df(Fw(d,d.a.m,c,b),'verticalAlign',a.a);}
+function jx(d,c,a,e){var b;b=Ew(d,c,a);mO(b,e);}
+function kx(c,b,a,d){c.a.xd(b,a);xf(Fw(c,c.a.m,b,a),'width',d);}
+function Bw(){}
+_=Bw.prototype=new fU();_.tN=agc+'HTMLTable$CellFormatter';_.tI=65;function qt(b,a){Cw(b,a);return b;}
+function st(d,c,b,a){wf(Ew(d,c,b),'colSpan',a);}
+function tt(d,b,a,c){wf(Ew(d,b,a),'rowSpan',c);}
+function pt(){}
+_=pt.prototype=new Bw();_.tN=agc+'FlexTable$FlexCellFormatter';_.tI=66;function eu(a){nY(a);return a;}
+function hu(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.Ec(c);}}
+function gu(c,b,a){switch(xe(a)){case 2048:hu(c,b);break;case 4096:iu(c,b);break;}}
+function iu(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.gd(c);}}
+function du(){}
+_=du.prototype=new lY();_.tN=agc+'FocusListenerCollection';_.tI=67;function lu(){lu=d3;mu=(jR(),mR);}
+var mu;function Bu(a){nY(a);return a;}
+function Du(f,e,d){var a,b,c;a=xv(new wv(),e,d);for(c=f.qc();c.kc();){b=Fb(c.sc(),45);b.nd(a);}}
+function Eu(e,d){var a,b,c;a=new zv();for(c=e.qc();c.kc();){b=Fb(c.sc(),45);b.od(a);}return a.a;}
+function Au(){}
+_=Au.prototype=new lY();_.tN=agc+'FormHandlerCollection';_.tI=68;function hv(){hv=d3;rv=new pR();}
+function fv(a){hv();gH(a,zd());a.b='FormPanel_'+ ++qv;ov(a,a.b);aO(a,32768);return a;}
+function gv(b,a){if(b.a===null){b.a=Bu(new Au());}pY(b.a,a);}
+function iv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
+function jv(a){if(a.a!==null){return !Eu(a.a,a);}return true;}
+function kv(a){if(a.a!==null){eg(cv(new bv(),a));}}
+function lv(a,b){xf(a.ub(),'action',b);}
+function mv(b,a){uR(rv,b.ub(),a);}
+function nv(b,a){xf(b.ub(),'method',a);}
+function ov(b,a){xf(b.ub(),'target',a);}
+function pv(a){if(a.a!==null){if(Eu(a.a,a)){return;}}vR(rv,a.ub(),a.c);}
+function sv(){BP(this);iv(this);td(sG(),this.c);tR(rv,this.c,this.ub(),this);}
+function tv(){CP(this);wR(rv,this.c,this.ub());nf(sG(),this.c);this.c=null;}
+function uv(){var a;a=x;{return jv(this);}}
+function vv(){var a;a=x;{kv(this);}}
+function av(){}
+_=av.prototype=new DG();_.uc=sv;_.Bc=tv;_.Fc=uv;_.ad=vv;_.tN=agc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var qv=0,rv;function cv(b,a){b.a=a;return b;}
+function ev(){Du(this.a.a,this,sR((hv(),rv),this.a.c));}
+function bv(){}
+_=bv.prototype=new fU();_.pb=ev;_.tN=agc+'FormPanel$1';_.tI=70;function m0(){}
+_=m0.prototype=new fU();_.tN=egc+'EventObject';_.tI=71;function xv(c,b,a){c.a=a;return c;}
+function wv(){}
+_=wv.prototype=new m0();_.tN=agc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function Bv(b,a){b.a=a;}
+function zv(){}
+_=zv.prototype=new m0();_.tN=agc+'FormSubmitEvent';_.tI=73;_.a=false;function Dv(a){a.me(Ad());return a;}
+function Ev(a,b){Dv(a);aw(a,b);return a;}
+function aw(a,b){xf(a.ub(),'src',b);}
+function Cv(){}
+_=Cv.prototype=new zO();_.tN=agc+'Frame';_.tI=74;function cw(a){fy(a);By(a,Cw(new Bw(),a));az(a,qx(new px(),a));Ey(a,mx(new lx(),a));return a;}
+function dw(c,b,a){cw(c);jw(c,b,a);return c;}
+function fw(c,b,a){gw(c,b);if(a<0){throw gT(new fT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw gT(new fT(),'Column index: '+a+', Column size: '+c.k);}}
+function gw(b,a){if(a<0){throw gT(new fT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw gT(new fT(),'Row index: '+a+', Row size: '+b.l);}}
+function jw(c,b,a){hw(c,a);iw(c,b);}
+function hw(d,a){var b,c;if(d.k==a){return;}if(a<0){throw gT(new fT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Fd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.mc(b,c);}}}d.k=a;}
+function iw(b,a){if(b.l==a){return;}if(a<0){throw gT(new fT(),'Cannot set number of rows to '+a);}if(b.l<a){kw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.be(--b.l);}}}
+function kw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
+function lw(){var a;a=my(this);Af(a,'&nbsp;');return a;}
+function mw(a){return this.k;}
+function nw(){return this.l;}
+function ow(b,a){fw(this,b,a);}
+function pw(a){gw(this,a);}
+function bw(){}
+_=bw.prototype=new rw();_.fb=lw;_.sb=mw;_.Fb=nw;_.xd=ow;_.yd=pw;_.tN=agc+'Grid';_.tI=75;_.k=0;_.l=0;function eC(a){a.me(xd());aO(a,131197);FN(a,'gwt-Label');return a;}
+function fC(b,a){eC(b);kC(b,a);return b;}
+function gC(b,a){if(b.a===null){b.a=zq(new yq());}pY(b.a,a);}
+function hC(b,a){if(b.b===null){b.b=lD(new kD());}pY(b.b,a);}
+function jC(a){return ef(a.ub());}
+function kC(b,a){Bf(b.ub(),a);}
+function lC(a,b){Df(a.ub(),'whiteSpace',b?'normal':'nowrap');}
+function mC(a){switch(xe(a)){case 1:if(this.a!==null){Bq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){pD(this.b,this,a);}break;case 131072:break;}}
+function dC(){}
+_=dC.prototype=new zO();_.wc=mC;_.tN=agc+'Label';_.tI=76;_.a=null;_.b=null;function mz(a){eC(a);a.me(xd());aO(a,125);FN(a,'gwt-HTML');return a;}
+function nz(b,a){mz(b);qz(b,a);return b;}
+function oz(b,a,c){nz(b,a);lC(b,c);return b;}
+function qz(b,a){Af(b.ub(),a);}
+function qw(){}
+_=qw.prototype=new dC();_.tN=agc+'HTML';_.tI=77;function tw(a){{ww(a);}}
+function uw(b,a){b.c=a;tw(b);return b;}
+function ww(a){while(++a.b<a.c.b.b){if(uY(a.c.b,a.b)!==null){return;}}}
+function xw(a){return a.b<a.c.b.b;}
+function yw(){return xw(this);}
+function zw(){var a;if(!xw(this)){throw new r2();}a=uY(this.c.b,this.b);this.a=this.b;ww(this);return a;}
+function Aw(){var a;if(this.a<0){throw new cT();}a=Fb(uY(this.c.b,this.a),13);DP(a);this.a=(-1);}
+function sw(){}
+_=sw.prototype=new fU();_.kc=yw;_.sc=zw;_.ce=Aw;_.tN=agc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function mx(b,a){b.b=a;return b;}
+function ox(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
+function lx(){}
+_=lx.prototype=new fU();_.tN=agc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function qx(b,a){b.a=a;return b;}
+function sx(b,a){b.a.yd(a);return tx(b,b.a.m,a);}
+function tx(c,a,b){return a.rows[b];}
+function ux(c,a,b){jO(sx(c,a),b);}
+function px(){}
+_=px.prototype=new fU();_.tN=agc+'HTMLTable$RowFormatter';_.tI=80;function zx(a){a.b=nY(new lY());}
+function Ax(a){zx(a);return a;}
+function Cx(c,a){var b;b=cy(a);if(b<0){return null;}return Fb(uY(c.b,b),13);}
+function Dx(b,c){var a;if(b.a===null){a=b.b.b;pY(b.b,c);}else{a=b.a.a;AY(b.b,a,c);b.a=b.a.b;}dy(c.ub(),a);}
+function Ex(c,a,b){by(a);AY(c.b,b,null);c.a=xx(new wx(),b,c.a);}
+function Fx(c,a){var b;b=cy(a);Ex(c,a,b);}
+function ay(a){return uw(new sw(),a);}
+function by(a){a['__widgetID']=null;}
+function cy(a){var b=a['__widgetID'];return b==null?-1:b;}
+function dy(a,b){a['__widgetID']=b;}
+function vx(){}
+_=vx.prototype=new fU();_.tN=agc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function xx(c,a,b){c.a=a;c.b=b;return c;}
+function wx(){}
+_=wx.prototype=new fU();_.tN=agc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function xz(){xz=d3;yz=vz(new uz(),'center');zz=vz(new uz(),'left');Az=vz(new uz(),'right');}
+var yz,zz,Az;function vz(b,a){b.a=a;return b;}
+function uz(){}
+_=uz.prototype=new fU();_.tN=agc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function aA(){aA=d3;bA=Ez(new Dz(),'bottom');cA=Ez(new Dz(),'middle');dA=Ez(new Dz(),'top');}
+var bA,cA,dA;function Ez(a,b){a.a=b;return a;}
+function Dz(){}
+_=Dz.prototype=new fU();_.tN=agc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function hA(a){a.a=(xz(),zz);a.c=(aA(),dA);}
+function iA(a){Dp(a);hA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function jA(b,c){var a;a=lA(b);td(b.b,a);ar(b,c,a);}
+function lA(b){var a;a=ee();Fp(b,a,b.a);aq(b,a,b.c);return a;}
+function mA(c,d,a){var b;dr(c,a);b=lA(c);hf(c.b,b,a);hr(c,d,b,a,false);}
+function nA(c,d){var a,b;b=ff(d.ub());a=jr(c,d);if(a){nf(c.b,b);}return a;}
+function oA(b,a){b.c=a;}
+function pA(a){return nA(this,a);}
+function gA(){}
+_=gA.prototype=new Cp();_.ee=pA;_.tN=agc+'HorizontalPanel';_.tI=85;_.b=null;function rA(a){a.me(xd());td(a.ub(),a.a=vd());aO(a,1);FN(a,'gwt-Hyperlink');return a;}
+function sA(c,b,a){rA(c);vA(c,b);uA(c,a);return c;}
+function uA(b,a){b.b=a;xf(b.a,'href','#'+a);}
+function vA(b,a){Bf(b.a,a);}
+function wA(a){if(xe(a)==1){ah(this.b);ye(a);}}
+function qA(){}
+_=qA.prototype=new zO();_.wc=wA;_.tN=agc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function qB(){qB=d3;k1(new o0());}
+function mB(a){qB();pB(a,fB(new eB(),a));FN(a,'gwt-Image');return a;}
+function nB(a,b){qB();pB(a,gB(new eB(),a,b));FN(a,'gwt-Image');return a;}
+function oB(b,a){if(b.a===null){b.a=zq(new yq());}pY(b.a,a);}
+function pB(b,a){b.b=a;}
+function sB(a,b){a.b.ve(a,b);}
+function rB(c,e,b,d,f,a){c.b.ue(c,e,b,d,f,a);}
+function tB(a){switch(xe(a)){case 1:{if(this.a!==null){Bq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
+function xA(){}
+_=xA.prototype=new zO();_.wc=tB;_.tN=agc+'Image';_.tI=87;_.a=null;_.b=null;function AA(){}
+function yA(){}
+_=yA.prototype=new fU();_.pb=AA;_.tN=agc+'Image$1';_.tI=88;function cB(){}
+_=cB.prototype=new fU();_.tN=agc+'Image$State';_.tI=89;function DA(){DA=d3;FA=new kQ();}
+function CA(d,b,f,c,e,g,a){DA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.me(nQ(FA,f,c,e,g,a));aO(b,131197);EA(d,b);return d;}
+function EA(b,a){eg(new yA());}
+function bB(a,b){pB(a,gB(new eB(),a,b));}
+function aB(b,e,c,d,f,a){if(!EU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;lQ(FA,b.ub(),e,c,d,f,a);EA(this,b);}}
+function BA(){}
+_=BA.prototype=new cB();_.ve=bB;_.ue=aB;_.tN=agc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var FA;function fB(b,a){a.me(Bd());aO(a,229501);return b;}
+function gB(b,a,c){fB(b,a);iB(b,a,c);return b;}
+function iB(b,a,c){zf(a.ub(),c);}
+function kB(a,b){iB(this,a,b);}
+function jB(b,e,c,d,f,a){pB(b,CA(new BA(),b,e,c,d,f,a));}
+function eB(){}
+_=eB.prototype=new cB();_.ve=kB;_.ue=jB;_.tN=agc+'Image$UnclippedState';_.tI=91;function xB(c,a,b){}
+function yB(c,a,b){}
+function zB(c,a,b){}
+function vB(){}
+_=vB.prototype=new fU();_.cd=xB;_.dd=yB;_.ed=zB;_.tN=agc+'KeyboardListenerAdapter';_.tI=92;function BB(a){nY(a);return a;}
+function DB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.cd(e,b,d);}}
+function EB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.dd(e,b,d);}}
+function FB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.ed(e,b,d);}}
+function aC(d,c,a){var b;b=bC(a);switch(xe(a)){case 128:DB(d,c,bc(se(a)),b);break;case 512:FB(d,c,bc(se(a)),b);break;case 256:EB(d,c,bc(se(a)),b);break;}}
+function bC(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
+function AB(){}
+_=AB.prototype=new lY();_.tN=agc+'KeyboardListenerCollection';_.tI=93;function EC(){EC=d3;qu();iD=new pC();}
+function xC(a){EC();yC(a,false);return a;}
+function yC(b,a){EC();ou(b,be(a));aO(b,1024);FN(b,'gwt-ListBox');return b;}
+function zC(b,a){if(b.b===null){b.b=eq(new dq());}pY(b.b,a);}
+function AC(b,a){dD(b,a,(-1));}
+function BC(b,a,c){eD(b,a,c,(-1));}
+function CC(b,a){if(a<0||a>=FC(b)){throw new fT();}}
+function DC(a){qC(iD,a.ub());}
+function FC(a){return sC(iD,a.ub());}
+function aD(b,a){CC(b,a);return tC(iD,b.ub(),a);}
+function bD(a){return af(a.ub(),'selectedIndex');}
+function cD(b,a){CC(b,a);return uC(iD,b.ub(),a);}
+function dD(c,b,a){eD(c,b,b,a);}
+function eD(c,b,d,a){jf(c.ub(),b,d,a);}
+function fD(b,a){CC(b,a);vC(iD,b.ub(),a);}
+function gD(b,a){wf(b.ub(),'selectedIndex',a);}
+function hD(a,b){wf(a.ub(),'size',b);}
+function jD(a){if(xe(a)==1024){if(this.b!==null){gq(this.b,this);}}else{ru(this,a);}}
+function nC(){}
+_=nC.prototype=new nu();_.wc=jD;_.tN=agc+'ListBox';_.tI=94;_.b=null;var iD;function oC(){}
+_=oC.prototype=new fU();_.tN=agc+'ListBox$Impl';_.tI=95;function qC(b,a){a.innerText='';}
+function sC(b,a){return a.children.length;}
+function tC(c,b,a){return b.children[a].text;}
+function uC(c,b,a){return b.children[a].value;}
+function vC(c,b,a){b.removeChild(b.children[a]);}
+function pC(){}
+_=pC.prototype=new oC();_.tN=agc+'ListBox$ImplSafari';_.tI=96;function lD(a){nY(a);return a;}
+function nD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.hd(c,e,f);}}
+function oD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.id(c);}}
+function pD(e,c,a){var b,d,f,g,h;d=c.ub();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:nD(e,c,g,h);break;case 8:sD(e,c,g,h);break;case 64:rD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){oD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){qD(e,c);}break;}}
+function qD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.jd(c);}}
+function rD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.kd(c,e,f);}}
+function sD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.ld(c,e,f);}}
+function kD(){}
+_=kD.prototype=new lY();_.tN=agc+'MouseListenerCollection';_.tI=97;function uD(){}
+_=uD.prototype=new fU();_.tN=agc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=98;_.a=null;_.b=null;function yD(b,a){CD(a,b.Ed());DD(a,b.Ed());}
+function zD(a){return a.a;}
+function AD(a){return a.b;}
+function BD(b,a){b.gf(zD(a));b.gf(AD(a));}
+function CD(a,b){a.a=b;}
+function DD(a,b){a.b=b;}
+function BK(){BK=d3;qu();cL=new AR();}
+function xK(b,a){BK();ou(b,a);aO(b,1024);return b;}
+function yK(b,a){if(b.f===null){b.f=eq(new dq());}pY(b.f,a);}
+function zK(b,a){if(b.i===null){b.i=BB(new AB());}pY(b.i,a);}
+function AK(a){if(a.h!==null){ye(a.h);}}
+function CK(a){return bf(a.ub(),'value');}
+function DK(b,a){FK(b,a,0);}
+function EK(b,a){xf(b.ub(),'name',a);}
+function FK(c,b,a){if(a<0){throw gT(new fT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>cV(CK(c))){throw gT(new fT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+cV(CK(c)));}ER(cL,c.ub(),b,a);}
+function aL(b,a){xf(b.ub(),'value',a!==null?a:'');}
+function bL(a){if(this.g===null){this.g=zq(new yq());}pY(this.g,a);}
+function dL(a){var b;ru(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;aC(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){Bq(this.g,this);}}else if(b==1024){if(this.f!==null){gq(this.f,this);}}}
+function wK(){}
+_=wK.prototype=new nu();_.x=bL;_.wc=dL;_.tN=agc+'TextBoxBase';_.tI=99;_.f=null;_.g=null;_.h=null;_.i=null;var cL;function jE(){jE=d3;BK();}
+function iE(a){jE();xK(a,Dd());FN(a,'gwt-PasswordTextBox');return a;}
+function hE(){}
+_=hE.prototype=new wK();_.tN=agc+'PasswordTextBox';_.tI=100;function uF(b,a){vF(b,a,null);return b;}
+function vF(c,a,b){c.a=a;xF(c);return c;}
+function wF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=dG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=dG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=aG(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
+function xF(a){a.b=0;a.c={};a.d={};}
+function zF(b,a){return tY(AF(b,a,1),a);}
+function AF(c,b,a){var d;d=nY(new lY());if(b!==null&&a>0){CF(c,b,'',d,a);}return d;}
+function BF(a){return jF(new iF(),a);}
+function CF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=dG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+gG(a);h.De(f,l,c,b);}}else{for(j in k){var l=d+gG(j);if(l.indexOf(f)==0){c.C(l);}if(c.Ce()>=b){return;}}for(var a in i){var l=d+gG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ce()||h.b==1){h.nb(c,l);}else{for(var j in h.d){c.C(l+gG(j));}for(var g in h.c){c.C(l+gG(g)+'...');}}}}}}
+function DF(a){if(ac(a,1)){return wF(this,Fb(a,1));}else{throw dW(new cW(),'Cannot add non-Strings to PrefixTree');}}
+function EF(a){return wF(this,a);}
+function FF(a){if(ac(a,1)){return zF(this,Fb(a,1));}else{return false;}}
+function aG(a){return uF(new hF(),a);}
+function bG(b,c){var a;for(a=BF(this);mF(a);){b.C(c+Fb(pF(a),1));}}
+function cG(){return BF(this);}
+function dG(a){return Eb(58)+a;}
+function eG(){return this.b;}
+function fG(d,c,b,a){CF(this,d,c,b,a);}
+function gG(a){return hV(a,1);}
+function hF(){}
+_=hF.prototype=new fW();_.C=DF;_.D=EF;_.eb=FF;_.nb=bG;_.qc=cG;_.Ce=eG;_.De=fG;_.tN=agc+'PrefixTree';_.tI=101;_.a=0;_.b=0;_.c=null;_.d=null;function jF(a,b){nF(a);kF(a,b,'');return a;}
+function kF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
+function mF(a){return oF(a,true)!==null;}
+function nF(a){a.a=[];}
+function pF(a){var b;b=oF(a,false);if(b===null){if(!mF(a)){throw s2(new r2(),'No more elements in the iterator');}else{throw lU(new kU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
+function oF(g,b){var d=g.a;var c=dG;var i=gG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
+function qF(b,a){kF(this,b,a);}
+function rF(){return mF(this);}
+function sF(){return pF(this);}
+function tF(){throw dW(new cW(),'PrefixTree does not support removal.  Use clear()');}
+function iF(){}
+_=iF.prototype=new fU();_.A=qF;_.kc=rF;_.sc=sF;_.ce=tF;_.tN=agc+'PrefixTree$PrefixTreeIterator';_.tI=102;_.a=null;function kG(){kG=d3;mq();}
+function iG(b,a){kG();kq(b,Ed(a));FN(b,'gwt-RadioButton');return b;}
+function jG(c,b,a){kG();iG(c,b);qq(c,a);return c;}
+function hG(){}
+_=hG.prototype=new iq();_.tN=agc+'RadioButton';_.tI=103;function rG(){rG=d3;wG=k1(new o0());}
+function qG(b,a){rG();lp(b);if(a===null){a=sG();}b.me(a);b.uc();return b;}
+function tG(){rG();return uG(null);}
+function uG(c){rG();var a,b;b=Fb(q1(wG,c),48);if(b!==null){return b;}a=null;if(wG.c==0){vG();}r1(wG,c,b=qG(new lG(),a));return b;}
+function sG(){rG();return $doc.body;}
+function vG(){rG();yh(new mG());}
+function lG(){}
+_=lG.prototype=new kp();_.tN=agc+'RootPanel';_.tI=104;var wG;function oG(){var a,b;for(b=qX(FX((rG(),wG)));xX(b);){a=Fb(yX(b),48);if(a.oc()){a.Bc();}}}
+function pG(){return null;}
+function mG(){}
+_=mG.prototype=new fU();_.ud=oG;_.vd=pG;_.tN=agc+'RootPanel$1';_.tI=105;function yG(a){fH(a);BG(a,false);aO(a,16384);return a;}
+function zG(b,a){yG(b);b.Ae(a);return b;}
+function BG(b,a){Df(b.ub(),'overflow',a?'scroll':'auto');}
+function CG(a){xe(a)==16384;}
+function xG(){}
+_=xG.prototype=new DG();_.wc=CG;_.tN=agc+'ScrollPanel';_.tI=106;function FG(a){a.a=a.c.r!==null;}
+function aH(b,a){b.c=a;FG(b);return b;}
+function cH(){return this.a;}
+function dH(){if(!this.a||this.c.r===null){throw new r2();}this.a=false;return this.b=this.c.r;}
+function eH(){if(this.b!==null){this.c.ee(this.b);}}
+function EG(){}
+_=EG.prototype=new fU();_.kc=cH;_.sc=dH;_.ce=eH;_.tN=agc+'SimplePanel$1';_.tI=107;_.b=null;function BH(b){var a;Fq(b);a=ge();b.me(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);FN(b,'gwt-StackPanel');return b;}
+function CH(a,b){aI(a,b,a.f.c);}
+function DH(c,d,b,a){CH(c,d);cI(c,c.f.c-1,b,a);}
+function FH(d,a){var b,c;while(a!==null&& !ud(a,d.ub())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return mT(b);}else{return (-1);}}a=ff(a);}return (-1);}
+function aI(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=br(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);kO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');hr(e,h,c,a,false);fI(e,a);if(e.b==(-1)){eI(e,0);}else{dI(e,a,false);if(e.b>=a){++e.b;}}}
+function bI(e,a,b){var c,d,f;c=jr(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}fI(e,d);}return c;}
+function cI(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
+function dI(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);kO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);mO(d,e);gr(c,a).ye(e);}
+function eI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){dI(b,b.b,false);}b.b=a;dI(b,b.b,true);}
+function fI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
+function gI(a){var b,c;if(xe(a)==1){c=ve(a);b=FH(this,c);if(b!=(-1)){eI(this,b);}}}
+function hI(a){return bI(this,gr(this,a),a);}
+function iI(a){return bI(this,a,fr(this,a));}
+function AH(){}
+_=AH.prototype=new Dq();_.wc=gI;_.de=hI;_.ee=iI;_.tN=agc+'StackPanel';_.tI=108;_.a=null;_.b=(-1);function jI(){}
+_=jI.prototype=new fU();_.tN=agc+'SuggestOracle$Request';_.tI=109;_.a=20;_.b=null;function lI(){}
+_=lI.prototype=new fU();_.tN=agc+'SuggestOracle$Response';_.tI=110;_.a=null;function qI(b,a){uI(a,b.Bd());vI(a,b.Ed());}
+function rI(a){return a.a;}
+function sI(a){return a.b;}
+function tI(b,a){b.df(rI(a));b.gf(sI(a));}
+function uI(a,b){a.a=b;}
+function vI(a,b){a.b=b;}
+function yI(b,a){BI(a,Fb(b.Dd(),49));}
+function zI(a){return a.a;}
+function AI(b,a){b.ff(zI(a));}
+function BI(a,b){a.a=b;}
+function DI(a){a.a=iA(new gA());}
+function EI(c){var a,b;DI(c);pr(c,c.a);aO(c,1);FN(c,'gwt-TabBar');oA(c.a,(aA(),bA));a=oz(new qw(),'&nbsp;',true);b=oz(new qw(),'&nbsp;',true);FN(a,'gwt-TabBarFirst');FN(b,'gwt-TabBarRest');a.qe('100%');b.qe('100%');jA(c.a,a);jA(c.a,b);a.qe('100%');c.a.ke(a,'100%');c.a.le(b,'100%');return c;}
+function FI(b,a){if(b.c===null){b.c=kJ(new jJ());}pY(b.c,a);}
+function aJ(b,a){if(a<0||a>dJ(b)){throw new fT();}}
+function bJ(b,a){if(a<(-1)||a>=dJ(b)){throw new fT();}}
+function dJ(a){return a.a.f.c-2;}
+function eJ(e,d,a,b){var c;aJ(e,b);if(a){c=nz(new qw(),d);}else{c=fC(new dC(),d);}lC(c,false);gC(c,e);FN(c,'gwt-TabBarItem');mA(e.a,c,b+1);}
+function fJ(b,a){var c;bJ(b,a);c=gr(b.a,a+1);if(c===b.b){b.b=null;}nA(b.a,c);}
+function gJ(b,a){bJ(b,a);if(b.c!==null){if(!mJ(b.c,b,a)){return false;}}hJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=gr(b.a,a+1);hJ(b,b.b,true);if(b.c!==null){nJ(b.c,b,a);}return true;}
+function hJ(c,a,b){if(a!==null){if(b){uN(a,'gwt-TabBarItem-selected');}else{AN(a,'gwt-TabBarItem-selected');}}}
+function iJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(gr(this.a,a)===b){gJ(this,a-1);return;}}}
+function CI(){}
+_=CI.prototype=new nr();_.zc=iJ;_.tN=agc+'TabBar';_.tI=111;_.b=null;_.c=null;function kJ(a){nY(a);return a;}
+function mJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);if(!b.vc(c,d)){return false;}}return true;}
+function nJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);b.qd(c,d);}}
+function jJ(){}
+_=jJ.prototype=new lY();_.tN=agc+'TabListenerCollection';_.tI=112;function CJ(a){a.b=yJ(new xJ());a.a=rJ(new qJ(),a.b);}
+function DJ(b){var a;CJ(b);a=sO(new qO());tO(a,b.b);tO(a,b.a);a.ke(b.a,'100%');b.b.Be('100%');FI(b.b,b);pr(b,a);FN(b,'gwt-TabPanel');FN(b.a,'gwt-TabPanelBottom');return b;}
+function EJ(c,d,b,a){cK(c,d,b,a,c.a.f.c);}
+function bK(b,a){return gr(b.a,a);}
+function aK(a,b){return fr(a.a,b);}
+function cK(d,e,c,a,b){tJ(d.a,e,c,a,b);}
+function dK(b,a){return b.a.de(a);}
+function eK(b,a){gJ(b.b,a);}
+function fK(){return ir(this.a);}
+function gK(a,b){return true;}
+function hK(a,b){Br(this.a,b);}
+function iK(a){return uJ(this.a,a);}
+function pJ(){}
+_=pJ.prototype=new nr();_.qc=fK;_.vc=gK;_.qd=hK;_.ee=iK;_.tN=agc+'TabPanel';_.tI=113;function rJ(b,a){vr(b);b.a=a;return b;}
+function tJ(e,f,d,a,b){var c;c=fr(e,f);if(c!=(-1)){uJ(e,f);if(c<b){b--;}}AJ(e.a,d,a,b);yr(e,f,b);}
+function uJ(b,c){var a;a=fr(b,c);if(a!=(-1)){BJ(b.a,a);return zr(b,c);}return false;}
+function vJ(){throw dW(new cW(),'Use TabPanel.clear() to alter the DeckPanel');}
+function wJ(a){return uJ(this,a);}
+function qJ(){}
+_=qJ.prototype=new ur();_.ab=vJ;_.ee=wJ;_.tN=agc+'TabPanel$TabbedDeckPanel';_.tI=114;_.a=null;function yJ(a){EI(a);return a;}
+function AJ(d,c,a,b){eJ(d,c,a,b);}
+function BJ(b,a){fJ(b,a);}
+function xJ(){}
+_=xJ.prototype=new CI();_.tN=agc+'TabPanel$UnmodifiableTabBar';_.tI=115;function kK(a){nY(a);return a;}
+function mK(f,e,d,a){var b,c;for(b=f.qc();b.kc();){c=Fb(b.sc(),51);c.xc(e,d,a);}}
+function jK(){}
+_=jK.prototype=new lY();_.tN=agc+'TableListenerCollection';_.tI=116;function qK(){qK=d3;BK();}
+function pK(a){qK();xK(a,he());FN(a,'gwt-TextArea');return a;}
+function rK(a){return DR(cL,a.ub());}
+function sK(a){return af(a.ub(),'rows');}
+function tK(a,b){wf(a.ub(),'cols',b);}
+function uK(b,a){wf(b.ub(),'rows',a);}
+function oK(){}
+_=oK.prototype=new wK();_.tN=agc+'TextArea';_.tI=117;function fL(){fL=d3;BK();}
+function eL(a){fL();xK(a,Fd());FN(a,'gwt-TextBox');return a;}
+function gL(b,a){wf(b.ub(),'size',a);}
+function vK(){}
+_=vK.prototype=new wK();_.tN=agc+'TextBox';_.tI=118;function tM(a){a.a=k1(new o0());}
+function uM(a){vM(a,rL(new qL()));return a;}
+function vM(b,a){tM(b);b.d=a;b.me(xd());Df(b.ub(),'position','relative');b.c=AQ((lu(),mu));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.ub(),b.c);aO(b,1021);Ef(b.c,6144);b.g=jL(new iL(),b);gM(b.g,b);FN(b,'gwt-Tree');return b;}
+function xM(c,a){var b;b=AL(new xL(),a);wM(c,b);return b;}
+function wM(b,a){kL(b.g,a);}
+function yM(b,a){if(b.f===null){b.f=oM(new nM());}pY(b.f,a);}
+function zM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){aM(DL(c.g,a));}}
+function BM(d,a,c,b){if(b===null||ud(b,c)){return;}BM(d,a,c,ff(b));pY(a,hc(b,hg));}
+function CM(e,d,b){var a,c;a=nY(new lY());BM(e,a,e.ub(),b);c=EM(e,a,0,d);if(c!==null){if(kf(FL(c),b)){fM(c,!c.f,true);return true;}else if(kf(c.ub(),b)){fN(e,c,true,!mN(e,b));return true;}}return false;}
+function DM(b,a){if(!a.f){return a;}return DM(b,DL(a,a.c.b-1));}
+function EM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(uY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=DL(h,d);if(ud(b.ub(),c)){g=EM(i,a,e+1,DL(h,d));if(g===null){return b;}return g;}}return EM(i,a,e+1,h);}
+function FM(b,a){if(b.f!==null){rM(b.f,a);}}
+function aN(b,a){return DL(b.g,a);}
+function bN(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[613],[13],[a.a.c],null);EX(a.a).Fe(b);return zP(a,b);}
+function cN(h,g){var a,b,c,d,e,f,i,j;c=EL(g);{f=g.d;a=wN(h);b=xN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);eR((lu(),mu),h.c);}}
+function dN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=CL(c,d);if(!a|| !d.f){if(b<c.c.b-1){fN(e,DL(c,b+1),true,true);}else{dN(e,c,false);}}else if(d.c.b>0){fN(e,DL(d,0),true,true);}}
+function eN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=CL(b,c);if(a>0){d=DL(b,a-1);fN(e,DM(e,d),true,true);}else{fN(e,b,true,true);}}
+function fN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){dM(d.b,false);}d.b=b;if(c&&d.b!==null){cN(d,d.b);dM(d.b,true);if(a&&d.f!==null){qM(d.f,d.b);}}}
+function iN(b,c){var a;a=Fb(q1(b.a,c),52);if(a===null){return false;}iM(a,null);return true;}
+function gN(b,a){mL(b.g,a);}
+function hN(a){while(a.g.c.b>0){gN(a,aN(a,0));}}
+function jN(b,a){if(a){eR((lu(),mu),b.c);}else{bR((lu(),mu),b.c);}}
+function kN(b,a){lN(b,a,true);}
+function lN(c,b,a){if(b===null){if(c.b===null){return;}dM(c.b,false);c.b=null;return;}fN(c,b,a,true);}
+function mN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
+function nN(){var a,b;for(b=bN(this);sP(b);){a=tP(b);a.uc();}yf(this.c,this);}
+function oN(){var a,b;for(b=bN(this);sP(b);){a=tP(b);a.Bc();}yf(this.c,null);}
+function pN(){return bN(this);}
+function qN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(mN(this,b)){}else{jN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.ub(),hg))){CM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){fN(this,DL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{eN(this,this.b);ye(c);break;}case 40:{dN(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){eM(this.b,false);}else{f=this.b.g;if(f!==null){kN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){eM(this.b,true);}else if(this.b.c.b>0){kN(this,DL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=nY(new lY());BM(this,a,this.ub(),ve(c));e=EM(this,a,0,this.g);if(e!==this.b){lN(this,e,true);}}}case 256:{break;}}this.e=d;}
+function rN(){jM(this.g);}
+function sN(a){return iN(this,a);}
+function hL(){}
+_=hL.prototype=new zO();_.kb=nN;_.mb=oN;_.qc=pN;_.wc=qN;_.fd=rN;_.ee=sN;_.tN=agc+'Tree';_.tI=119;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function yL(a){a.c=nY(new lY());a.i=mB(new xA());}
+function zL(d){var a,b,c,e;yL(d);d.me(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.ub(),d.e);td(d.ub(),d.b);td(c,d.i.ub());td(b,d.d);Df(d.d,'display','inline');Df(d.ub(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');kO(d.d,'gwt-TreeItem',true);return d;}
+function AL(b,a){zL(b);bM(b,a);return b;}
+function DL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(uY(b.c,a),52);}
+function CL(b,a){return vY(b.c,a);}
+function EL(a){var b;b=a.l;{return null;}}
+function FL(a){return a.i.ub();}
+function aM(a){if(a.g!==null){a.g.ae(a);}else if(a.j!==null){gN(a.j,a);}}
+function bM(b,a){iM(b,null);Af(b.d,a);}
+function cM(b,a){b.g=a;}
+function dM(b,a){if(b.h==a){return;}b.h=a;kO(b.d,'gwt-TreeItem-selected',a);}
+function eM(b,a){fM(b,a,true);}
+function fM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;kM(c);if(a&&c.j!==null){FM(c.j,c);}}
+function gM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){kN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){gM(Fb(uY(d.c,a),52),c);}kM(d);}
+function hM(a,b){a.k=b;}
+function iM(b,a){Af(b.d,'');b.l=a;}
+function kM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){mO(b.b,false);rQ((sL(),vL),b.i);return;}if(b.f){mO(b.b,true);rQ((sL(),wL),b.i);}else{mO(b.b,false);rQ((sL(),uL),b.i);}}
+function jM(c){var a,b;kM(c);for(a=0,b=c.c.b;a<b;++a){jM(Fb(uY(c.c,a),52));}}
+function lM(a){if(a.g!==null||a.j!==null){aM(a);}cM(a,this);pY(this.c,a);Df(a.ub(),'marginLeft','16px');td(this.b,a.ub());gM(a,this.j);if(this.c.b==1){kM(this);}}
+function mM(a){if(!tY(this.c,a)){return;}gM(a,null);nf(this.b,a.ub());cM(a,null);zY(this.c,a);if(this.c.b==0){kM(this);}}
+function xL(){}
+_=xL.prototype=new tN();_.y=lM;_.ae=mM;_.tN=agc+'TreeItem';_.tI=120;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function jL(b,a){b.a=a;zL(b);return b;}
+function kL(b,a){if(a.g!==null||a.j!==null){aM(a);}td(b.a.ub(),a.ub());gM(a,b.j);cM(a,null);pY(b.c,a);Cf(a.ub(),'marginLeft',0);}
+function mL(b,a){if(!tY(b.c,a)){return;}gM(a,null);cM(a,null);zY(b.c,a);nf(b.a.ub(),a.ub());}
+function nL(a){kL(this,a);}
+function oL(a){mL(this,a);}
+function iL(){}
+_=iL.prototype=new xL();_.y=nL;_.ae=oL;_.tN=agc+'Tree$1';_.tI=121;function sL(){sL=d3;tL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';uL=qQ(new pQ(),tL,0,0,16,16);vL=qQ(new pQ(),tL,16,0,16,16);wL=qQ(new pQ(),tL,32,0,16,16);}
+function rL(a){sL();return a;}
+function qL(){}
+_=qL.prototype=new fU();_.tN=agc+'TreeImages_generatedBundle';_.tI=122;var tL,uL,vL,wL;function oM(a){nY(a);return a;}
+function qM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.rd(b);}}
+function rM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.sd(b);}}
+function nM(){}
+_=nM.prototype=new lY();_.tN=agc+'TreeListenerCollection';_.tI=123;function rO(a){a.a=(xz(),zz);a.b=(aA(),dA);}
+function sO(a){Dp(a);rO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function tO(b,d){var a,c;c=fe();a=vO(b);td(c,a);td(b.d,c);ar(b,d,a);}
+function vO(b){var a;a=ee();Fp(b,a,b.a);aq(b,a,b.b);return a;}
+function wO(b,a){b.a=a;}
+function xO(b,a){b.b=a;}
+function yO(c){var a,b;b=ff(c.ub());a=jr(this,c);if(a){nf(this.d,ff(b));}return a;}
+function qO(){}
+_=qO.prototype=new Cp();_.ee=yO;_.tN=agc+'VerticalPanel';_.tI=124;function dP(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[613],[13],[4],null);return b;}
+function eP(a,b){iP(a,b,a.c);}
+function gP(b,a){if(a<0||a>=b.c){throw new fT();}return b.a[a];}
+function hP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
+function iP(d,e,a){var b,c;if(a<0||a>d.c){throw new fT();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[613],[13],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
+function jP(a){return CO(new BO(),a);}
+function kP(c,b){var a;if(b<0||b>=c.c){throw new fT();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
+function lP(b,c){var a;a=hP(b,c);if(a==(-1)){throw new r2();}kP(b,a);}
+function AO(){}
+_=AO.prototype=new fU();_.tN=agc+'WidgetCollection';_.tI=125;_.a=null;_.b=null;_.c=0;function CO(b,a){b.b=a;return b;}
+function EO(a){return a.a<a.b.c-1;}
+function FO(a){if(a.a>=a.b.c){throw new r2();}return a.b.a[++a.a];}
+function aP(){return EO(this);}
+function bP(){return FO(this);}
+function cP(){if(this.a<0||this.a>=this.b.c){throw new cT();}this.b.b.ee(this.b.a[this.a--]);}
+function BO(){}
+_=BO.prototype=new fU();_.kc=aP;_.sc=bP;_.ce=cP;_.tN=agc+'WidgetCollection$WidgetIterator';_.tI=126;_.a=(-1);function yP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[613],[13],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
+function zP(b,a){return pP(new nP(),a,b);}
+function oP(a){a.e=a.c;{rP(a);}}
+function pP(a,b,c){a.c=b;a.d=c;oP(a);return a;}
+function rP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
+function sP(a){return a.a<a.c.a;}
+function tP(a){var b;if(!sP(a)){throw new r2();}a.b=a.a;b=a.c[a.a];rP(a);return b;}
+function uP(){return sP(this);}
+function vP(){return tP(this);}
+function wP(){if(this.b<0){throw new cT();}if(!this.f){this.e=yP(this.e);this.f=true;}iN(this.d,this.c[this.b]);this.b=(-1);}
+function nP(){}
+_=nP.prototype=new fU();_.kc=uP;_.sc=vP;_.ce=wP;_.tN=agc+'WidgetIterators$1';_.tI=127;_.a=(-1);_.b=(-1);_.f=false;function lQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
+function nQ(c,f,b,e,g,a){var d;d=ce();Af(d,oQ(c,f,b,e,g,a));return df(d);}
+function oQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
+function kQ(){}
+_=kQ.prototype=new fU();_.tN=bgc+'ClippedImageImpl';_.tI=128;function qQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
+function rQ(b,a){rB(a,b.d,b.b,b.c,b.e,b.a);}
+function pQ(){}
+_=pQ.prototype=new rp();_.tN=bgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function jR(){jR=d3;mR=aR(new FQ());nR=mR!==null?iR(new tQ()):mR;}
+function iR(a){jR();return a;}
+function kR(a){a.blur();}
+function lR(a){a.focus();}
+function oR(a,b){a.tabIndex=b;}
+function tQ(){}
+_=tQ.prototype=new fU();_.F=kR;_.rb=lR;_.se=oR;_.tN=bgc+'FocusImpl';_.tI=130;var mR,nR;function xQ(){xQ=d3;jR();}
+function vQ(a){a.a=yQ(a);a.b=zQ(a);a.c=dR(a);}
+function wQ(a){xQ();iR(a);vQ(a);return a;}
+function yQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
+function zQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
+function AQ(c){var a=$doc.createElement('div');var b=c.gb();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
+function BQ(a){a.firstChild.blur();}
+function CQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
+function DQ(a){a.firstChild.focus();}
+function EQ(a,b){a.firstChild.tabIndex=b;}
+function uQ(){}
+_=uQ.prototype=new tQ();_.F=BQ;_.gb=CQ;_.rb=DQ;_.se=EQ;_.tN=bgc+'FocusImplOld';_.tI=131;function cR(){cR=d3;xQ();}
+function aR(a){cR();wQ(a);return a;}
+function bR(b,a){$wnd.setTimeout(function(){a.firstChild.blur();},0);}
+function dR(b){return function(){var a=this.firstChild;$wnd.setTimeout(function(){a.focus();},0);};}
+function eR(b,a){$wnd.setTimeout(function(){a.firstChild.focus();},0);}
+function fR(a){bR(this,a);}
+function gR(){var a=$doc.createElement('input');a.type='text';a.style.opacity=0;a.style.zIndex= -1;a.style.height='1px';a.style.width='1px';a.style.overflow='hidden';a.style.position='absolute';return a;}
+function hR(a){eR(this,a);}
+function FQ(){}
+_=FQ.prototype=new uQ();_.F=fR;_.gb=gR;_.rb=hR;_.tN=bgc+'FocusImplSafari';_.tI=132;function sR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
+function tR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.ad();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Fc();};}
+function uR(c,b,a){b.enctype=a;b.encoding=a;}
+function vR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
+function wR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
+function pR(){}
+_=pR.prototype=new fU();_.tN=bgc+'FormPanelImpl';_.tI=133;function zR(a){return xd();}
+function xR(){}
+_=xR.prototype=new fU();_.tN=bgc+'PopupImpl';_.tI=134;function CR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
+function DR(b,a){return CR(b,a);}
+function ER(d,a,c,b){a.setSelectionRange(c,c+b);}
+function AR(){}
+_=AR.prototype=new fU();_.tN=bgc+'TextBoxImpl';_.tI=135;function cS(){}
+_=cS.prototype=new fU();_.tN=cgc+'OutputStream';_.tI=136;function aS(){}
+_=aS.prototype=new cS();_.tN=cgc+'FilterOutputStream';_.tI=137;function eS(){}
+_=eS.prototype=new aS();_.tN=cgc+'PrintStream';_.tI=138;function gS(){}
+_=gS.prototype=new kU();_.tN=dgc+'ArrayStoreException';_.tI=139;function kS(){kS=d3;lS=jS(new iS(),false);mS=jS(new iS(),true);}
+function jS(a,b){kS();a.a=b;return a;}
+function nS(a){return ac(a,55)&&Fb(a,55).a==this.a;}
+function oS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
+function pS(){return this.a?'true':'false';}
+function qS(a){kS();return a?mS:lS;}
+function iS(){}
+_=iS.prototype=new fU();_.eQ=nS;_.hC=oS;_.tS=pS;_.tN=dgc+'Boolean';_.tI=140;_.a=false;var lS,mS;function uS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+vT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
+function vS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
+function xS(b,a){lU(b,a);return b;}
+function wS(){}
+_=wS.prototype=new kU();_.tN=dgc+'ClassCastException';_.tI=141;function aT(b,a){lU(b,a);return b;}
+function FS(){}
+_=FS.prototype=new kU();_.tN=dgc+'IllegalArgumentException';_.tI=142;function dT(b,a){lU(b,a);return b;}
+function cT(){}
+_=cT.prototype=new kU();_.tN=dgc+'IllegalStateException';_.tI=143;function gT(b,a){lU(b,a);return b;}
+function fT(){}
+_=fT.prototype=new kU();_.tN=dgc+'IndexOutOfBoundsException';_.tI=144;function FT(){FT=d3;{eU();}}
+function aU(a){FT();return isNaN(a);}
+function bU(e,d,c,h){FT();var a,b,f,g;if(e===null){throw DT(new CT(),'Unable to parse null');}b=cV(e);f=b>0&&zU(e,0)==45?1:0;for(a=f;a<b;a++){if(uS(zU(e,a),d)==(-1)){throw DT(new CT(),'Could not parse '+e+' in radix '+d);}}g=cU(e,d);if(aU(g)){throw DT(new CT(),'Unable to parse '+e);}else if(g<c||g>h){throw DT(new CT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
+function cU(b,a){FT();return parseInt(b,a);}
+function eU(){FT();dU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
+var dU=null;function jT(){jT=d3;FT();}
+function mT(a){jT();return nT(a,10);}
+function nT(b,a){jT();return cc(bU(b,a,(-2147483648),2147483647));}
+function oT(a){jT();return uV(a);}
+var kT=2147483647,lT=(-2147483648);function qT(){qT=d3;FT();}
+function rT(a){qT();return vV(a);}
+function uT(a){return a<0?-a:a;}
+function vT(a,b){return a<b?a:b;}
+function wT(){}
+_=wT.prototype=new kU();_.tN=dgc+'NegativeArraySizeException';_.tI=145;function zT(b,a){lU(b,a);return b;}
+function yT(){}
+_=yT.prototype=new kU();_.tN=dgc+'NullPointerException';_.tI=146;function DT(b,a){aT(b,a);return b;}
+function CT(){}
+_=CT.prototype=new FS();_.tN=dgc+'NumberFormatException';_.tI=147;function zU(b,a){return b.charCodeAt(a);}
+function BU(f,c){var a,b,d,e,g,h;h=cV(f);e=cV(c);b=vT(h,e);for(a=0;a<b;a++){g=zU(f,a);d=zU(c,a);if(g!=d){return g-d;}}return h-e;}
+function CU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
+function EU(b,a){if(!ac(a,1))return false;return nV(b,a);}
+function DU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
+function FU(b,a){return b.indexOf(String.fromCharCode(a));}
+function aV(b,a){return b.indexOf(a);}
+function bV(c,b,a){return c.indexOf(b,a);}
+function cV(a){return a.length;}
+function dV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
+function eV(b,a){return fV(b,a,0);}
+function fV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=mV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
+function gV(b,a){return aV(b,a)==0;}
+function hV(b,a){return b.substr(a,b.length-a);}
+function iV(c,a,b){return c.substr(a,b-a);}
+function jV(d){var a,b,c;c=cV(d);a=yb('[C',[609],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=zU(d,b);return a;}
+function kV(a){return a.toLowerCase();}
+function lV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
+function mV(a){return yb('[Ljava.lang.String;',[608],[1],[a],null);}
+function nV(a,b){return String(a)==b;}
+function oV(a){if(ac(a,1)){return BU(this,Fb(a,1));}else{throw xS(new wS(),'Cannot compare '+a+" with String '"+this+"'");}}
+function pV(a){return EU(this,a);}
+function rV(){var a=qV;if(!a){a=qV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
+function sV(){return this;}
+function tV(a){return String.fromCharCode(a);}
+function uV(a){return ''+a;}
+function vV(a){return ''+a;}
+function wV(a){return a!==null?a.tS():'null';}
+_=String.prototype;_.bb=oV;_.eQ=pV;_.hC=rV;_.tS=sV;_.tN=dgc+'String';_.tI=2;var qV=null;function qU(a){tU(a);return a;}
+function rU(a,b){return sU(a,tV(b));}
+function sU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
+function tU(a){uU(a,'');}
+function uU(b,a){b.js=[a];b.length=a.length;}
+function wU(a){a.tc();return a.js[0];}
+function xU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
+function yU(){return wU(this);}
+function pU(){}
+_=pU.prototype=new fU();_.tc=xU;_.tS=yU;_.tN=dgc+'StringBuffer';_.tI=148;function yV(){yV=d3;BV=new eS();}
+function zV(){yV();return new Date().getTime();}
+function AV(a){yV();return B(a);}
+var BV;function dW(b,a){lU(b,a);return b;}
+function cW(){}
+_=cW.prototype=new kU();_.tN=dgc+'UnsupportedOperationException';_.tI=149;function pW(b,a){b.c=a;return b;}
+function rW(a){return a.a<a.c.Ce();}
+function sW(){return rW(this);}
+function tW(){if(!rW(this)){throw new r2();}return this.c.hc(this.b=this.a++);}
+function uW(){if(this.b<0){throw new cT();}this.c.de(this.b);this.a=this.b;this.b=(-1);}
+function oW(){}
+_=oW.prototype=new fU();_.kc=sW;_.sc=tW;_.ce=uW;_.tN=egc+'AbstractList$IteratorImpl';_.tI=150;_.a=0;_.b=(-1);function DX(f,d,e){var a,b,c;for(b=f1(f.ob());D0(b);){a=E0(b);c=a.yb();if(d===null?c===null:d.eQ(c)){if(e){F0(b);}return a;}}return null;}
+function EX(b){var a;a=b.ob();return FW(new EW(),b,a);}
+function FX(b){var a;a=p1(b);return oX(new nX(),b,a);}
+function aY(a){return DX(this,a,false)!==null;}
+function bY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=EX(this);e=f.rc();if(!iY(c,e)){return false;}for(a=bX(c);iX(a);){b=jX(a);h=this.ic(b);g=f.ic(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
+function cY(b){var a;a=DX(this,b,false);return a===null?null:a.ec();}
+function dY(){var a,b,c;b=0;for(c=f1(this.ob());D0(c);){a=E0(c);b+=a.hC();}return b;}
+function eY(){return EX(this);}
+function fY(){var a,b,c,d;d='{';a=false;for(c=f1(this.ob());D0(c);){b=E0(c);if(a){d+=', ';}else{a=true;}d+=wV(b.yb());d+='=';d+=wV(b.ec());}return d+'}';}
+function DW(){}
+_=DW.prototype=new fU();_.db=aY;_.eQ=bY;_.ic=cY;_.hC=dY;_.rc=eY;_.tS=fY;_.tN=egc+'AbstractMap';_.tI=151;function iY(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ce()!=e.Ce()){return false;}for(a=c.qc();a.kc();){d=a.sc();if(!e.eb(d)){return false;}}return true;}
+function jY(a){return iY(this,a);}
+function kY(){var a,b,c;a=0;for(b=this.qc();b.kc();){c=b.sc();if(c!==null){a+=c.hC();}}return a;}
+function gY(){}
+_=gY.prototype=new fW();_.eQ=jY;_.hC=kY;_.tN=egc+'AbstractSet';_.tI=152;function FW(b,a,c){b.a=a;b.b=c;return b;}
+function bX(b){var a;a=f1(b.b);return gX(new fX(),b,a);}
+function cX(a){return this.a.db(a);}
+function dX(){return bX(this);}
+function eX(){return this.b.a.c;}
+function EW(){}
+_=EW.prototype=new gY();_.eb=cX;_.qc=dX;_.Ce=eX;_.tN=egc+'AbstractMap$1';_.tI=153;function gX(b,a,c){b.a=c;return b;}
+function iX(a){return D0(a.a);}
+function jX(b){var a;a=E0(b.a);return a.yb();}
+function kX(){return iX(this);}
+function lX(){return jX(this);}
+function mX(){F0(this.a);}
+function fX(){}
+_=fX.prototype=new fU();_.kc=kX;_.sc=lX;_.ce=mX;_.tN=egc+'AbstractMap$2';_.tI=154;function oX(b,a,c){b.a=a;b.b=c;return b;}
+function qX(b){var a;a=f1(b.b);return vX(new uX(),b,a);}
+function rX(a){return o1(this.a,a);}
+function sX(){return qX(this);}
+function tX(){return this.b.a.c;}
+function nX(){}
+_=nX.prototype=new fW();_.eb=rX;_.qc=sX;_.Ce=tX;_.tN=egc+'AbstractMap$3';_.tI=155;function vX(b,a,c){b.a=c;return b;}
+function xX(a){return D0(a.a);}
+function yX(a){var b;b=E0(a.a).ec();return b;}
+function zX(){return xX(this);}
+function AX(){return yX(this);}
+function BX(){F0(this.a);}
+function uX(){}
+_=uX.prototype=new fU();_.kc=zX;_.sc=AX;_.ce=BX;_.tN=egc+'AbstractMap$4';_.tI=156;function jZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.cb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
+function kZ(a){jZ(a,a.a,(wZ(),xZ));}
+function nZ(){nZ=d3;e2(new d2());oZ=k1(new o0());nY(new lY());}
+function pZ(c,d){nZ();var a,b;b=c.b;for(a=0;a<b;a++){AY(c,a,d[a]);}}
+function qZ(a){nZ();var b;b=a.Ee();kZ(b);pZ(a,b);}
+var oZ;function wZ(){wZ=d3;xZ=new tZ();}
+var xZ;function vZ(a,b){return Fb(a,34).bb(b);}
+function tZ(){}
+_=tZ.prototype=new fU();_.cb=vZ;_.tN=egc+'Comparators$1';_.tI=157;function BZ(){BZ=d3;c0=zb('[Ljava.lang.String;',608,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);d0=zb('[Ljava.lang.String;',608,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
+function zZ(a){BZ();EZ(a);return a;}
+function AZ(b,a){BZ();FZ(b,a);return b;}
+function CZ(c,a){var b,d;d=DZ(c);b=DZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
+function DZ(a){return a.jsdate.getTime();}
+function EZ(a){a.jsdate=new Date();}
+function FZ(b,a){b.jsdate=new Date(a);}
+function a0(a){return a.jsdate.toLocaleString();}
+function b0(h){var a=h.jsdate;var g=j0;var b=f0(h.jsdate.getDay());var e=i0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
+function e0(a){return CZ(this,Fb(a,59));}
+function f0(a){BZ();return c0[a];}
+function g0(a){return ac(a,59)&&DZ(this)==DZ(Fb(a,59));}
+function h0(){return cc(DZ(this)^DZ(this)>>>32);}
+function i0(a){BZ();return d0[a];}
+function j0(a){BZ();if(a<10){return '0'+a;}else{return uV(a);}}
+function k0(){return b0(this);}
+function yZ(){}
+_=yZ.prototype=new fU();_.bb=e0;_.eQ=g0;_.hC=h0;_.tS=k0;_.tN=egc+'Date';_.tI=158;var c0,d0;function m1(){m1=d3;t1=z1();}
+function j1(a){{l1(a);}}
+function k1(a){m1();j1(a);return a;}
+function l1(a){a.a=gb();a.d=ib();a.b=hc(t1,cb);a.c=0;}
+function n1(b,a){if(ac(a,1)){return D1(b.d,Fb(a,1))!==t1;}else if(a===null){return b.b!==t1;}else{return C1(b.a,a,a.hC())!==t1;}}
+function o1(a,b){if(a.b!==t1&&B1(a.b,b)){return true;}else if(y1(a.d,b)){return true;}else if(w1(a.a,b)){return true;}return false;}
+function p1(a){return d1(new z0(),a);}
+function q1(c,a){var b;if(ac(a,1)){b=D1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=C1(c.a,a,a.hC());}return b===t1?null:b;}
+function r1(c,a,d){var b;if(ac(a,1)){b=a2(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=F1(c.a,a,d,a.hC());}if(b===t1){++c.c;return null;}else{return b;}}
+function s1(c,a){var b;if(ac(a,1)){b=c2(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(t1,cb);}else{b=b2(c.a,a,a.hC());}if(b===t1){return null;}else{--c.c;return b;}}
+function u1(e,c){m1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
+function v1(d,a){m1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=s0(c.substring(1),e);a.C(b);}}}
+function w1(f,h){m1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ec();if(B1(h,d)){return true;}}}}return false;}
+function x1(a){return n1(this,a);}
+function y1(c,d){m1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(B1(d,a)){return true;}}}return false;}
+function z1(){m1();}
+function A1(){return p1(this);}
+function B1(a,b){m1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
+function E1(a){return q1(this,a);}
+function C1(f,h,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){return c.ec();}}}}
+function D1(b,a){m1();return b[':'+a];}
+function F1(f,h,j,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){var i=c.ec();c.we(j);return i;}}}else{a=f[e]=[];}var c=s0(h,j);a.push(c);}
+function a2(c,a,d){m1();a=':'+a;var b=c[a];c[a]=d;return b;}
+function b2(f,h,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ec();}}}}
+function c2(c,a){m1();a=':'+a;var b=c[a];delete c[a];return b;}
+function o0(){}
+_=o0.prototype=new DW();_.db=x1;_.ob=A1;_.ic=E1;_.tN=egc+'HashMap';_.tI=159;_.a=null;_.b=null;_.c=0;_.d=null;var t1;function q0(b,a,c){b.a=a;b.b=c;return b;}
+function s0(a,b){return q0(new p0(),a,b);}
+function t0(b){var a;if(ac(b,60)){a=Fb(b,60);if(B1(this.a,a.yb())&&B1(this.b,a.ec())){return true;}}return false;}
+function u0(){return this.a;}
+function v0(){return this.b;}
+function w0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
+function x0(a){var b;b=this.b;this.b=a;return b;}
+function y0(){return this.a+'='+this.b;}
+function p0(){}
+_=p0.prototype=new fU();_.eQ=t0;_.yb=u0;_.ec=v0;_.hC=w0;_.we=x0;_.tS=y0;_.tN=egc+'HashMap$EntryImpl';_.tI=160;_.a=null;_.b=null;function d1(b,a){b.a=a;return b;}
+function f1(a){return B0(new A0(),a.a);}
+function g1(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.yb();if(n1(this.a,b)){d=q1(this.a,b);return B1(a.ec(),d);}}return false;}
+function h1(){return f1(this);}
+function i1(){return this.a.c;}
+function z0(){}
+_=z0.prototype=new gY();_.eb=g1;_.qc=h1;_.Ce=i1;_.tN=egc+'HashMap$EntrySet';_.tI=161;function B0(c,b){var a;c.c=b;a=nY(new lY());if(c.c.b!==(m1(),t1)){pY(a,q0(new p0(),null,c.c.b));}v1(c.c.d,a);u1(c.c.a,a);c.a=a.qc();return c;}
+function D0(a){return a.a.kc();}
+function E0(a){return a.b=Fb(a.a.sc(),60);}
+function F0(a){if(a.b===null){throw dT(new cT(),'Must call next() before remove().');}else{a.a.ce();s1(a.c,a.b.yb());a.b=null;}}
+function a1(){return D0(this);}
+function b1(){return E0(this);}
+function c1(){F0(this);}
+function A0(){}
+_=A0.prototype=new fU();_.kc=a1;_.sc=b1;_.ce=c1;_.tN=egc+'HashMap$EntrySetIterator';_.tI=162;_.a=null;_.b=null;function e2(a){a.a=k1(new o0());return a;}
+function f2(c,a){var b;b=r1(c.a,a,qS(true));return b===null;}
+function h2(a){return bX(EX(a.a));}
+function i2(a){return f2(this,a);}
+function j2(a){return n1(this.a,a);}
+function k2(){return h2(this);}
+function l2(){return this.a.c;}
+function m2(){return EX(this.a).tS();}
+function d2(){}
+_=d2.prototype=new gY();_.C=i2;_.eb=j2;_.qc=k2;_.Ce=l2;_.tS=m2;_.tN=egc+'HashSet';_.tI=163;_.a=null;function s2(b,a){lU(b,a);return b;}
+function r2(){}
+_=r2.prototype=new kU();_.tN=egc+'NoSuchElementException';_.tI=164;function x2(a){a.a=nY(new lY());return a;}
+function y2(b,a){return pY(b.a,a);}
+function A2(a){return a.a.qc();}
+function B2(a,b){oY(this.a,a,b);}
+function C2(a){return y2(this,a);}
+function D2(a){return tY(this.a,a);}
+function E2(a){return uY(this.a,a);}
+function F2(){return A2(this);}
+function a3(a){return yY(this.a,a);}
+function b3(){return this.a.b;}
+function c3(){return this.a.Ee();}
+function w2(){}
+_=w2.prototype=new nW();_.B=B2;_.C=C2;_.eb=D2;_.hc=E2;_.qc=F2;_.de=a3;_.Ce=b3;_.Ee=c3;_.tN=egc+'Vector';_.tI=165;_.a=null;function d5(){d5=d3;f5=k1(new o0());}
+function c5(a){d5();return a;}
+function e5(){}
+function t4(){}
+_=t4.prototype=new nr();_.md=e5;_.tN=fgc+'JBRMSFeature';_.tI=166;var f5;function k3(){k3=d3;d5();}
+function j3(a){k3();c5(a);a.a=DJ(new pJ());a.a.Be('100%');a.a.qe('100%');EJ(a.a,i9(new s8()),"<img src='images/category_small.gif'/>Manage categories",true);EJ(a.a,z9(new l9()),"<img src='images/status_small.gif'/>Manage states",true);EJ(a.a,A7(new w6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);EJ(a.a,n8(new E7()),"<img src='images/backup_small.gif'/>Import Export",true);eK(a.a,0);pr(a,a.a);return a;}
+function l3(){k3();return g3(new f3(),'Admin','Administer the repository');}
+function m3(){}
+function e3(){}
+_=e3.prototype=new t4();_.md=m3;_.tN=fgc+'AdminFeature';_.tI=167;_.a=null;function v4(c,b,a){c.c=b;c.a=a;return c;}
+function x4(a){if(a.b!==null)return a.b;return a.b=a.hb();}
+function u4(){}
+_=u4.prototype=new fU();_.tN=fgc+'JBRMSFeature$ComponentInfo';_.tI=168;_.a=null;_.b=null;_.c=null;function g3(c,a,b){v4(c,a,b);return c;}
+function i3(){return j3(new e3());}
+function f3(){}
+_=f3.prototype=new u4();_.hb=i3;_.tN=fgc+'AdminFeature$1';_.tI=169;function t3(){t3=d3;d5();}
+function s3(a){t3();c5(a);pr(a,nKb(new vIb()));return a;}
+function u3(){t3();return p3(new o3(),'Deployment','Configure and view frozen snapshots of packages.');}
+function v3(){}
+function n3(){}
+_=n3.prototype=new t4();_.md=v3;_.tN=fgc+'DeploymentManagementFeature';_.tI=170;function p3(c,a,b){v4(c,a,b);return c;}
+function r3(){return s3(new n3());}
+function o3(){}
+_=o3.prototype=new u4();_.hb=r3;_.tN=fgc+'DeploymentManagementFeature$1';_.tI=171;function C3(){C3=d3;d5();}
+function B3(a){C3();c5(a);pr(a,D3(a));return a;}
+function D3(a){a.a=Ev(new Cv(),'welcome.html');FN(a.a,'welcome-Page');a.a.ye(true);return a.a;}
+function E3(){C3();return y3(new x3(),'Info','JBoss Rules Managment System.');}
+function F3(){}
+function w3(){}
+_=w3.prototype=new t4();_.md=F3;_.tN=fgc+'Info';_.tI=172;_.a=null;function y3(c,a,b){v4(c,a,b);return c;}
+function A3(){return B3(new w3());}
+function x3(){}
+_=x3.prototype=new u4();_.hb=A3;_.tN=fgc+'Info$1';_.tI=173;function k4(a){a.c=mz(new qw());a.d=D4(new B4());a.g=ys(new ps());}
+function l4(a){k4(a);return a;}
+function m4(a){BXb(lMb(),c4(new b4(),a));}
+function o4(b,c){var a;a=a5(b.d,c);if(a===null){q4(b);return;}r4(b,a,false);}
+function p4(b){var a,c;A4(b.d);b.h=ys(new ps());FN(b.h,'ks-Sink');c=sO(new qO());c.Be('100%');tO(c,b.c);tO(c,b.h);FN(b.c,'ks-Info');zs(b.g,b.d,(As(),et));zs(b.g,c,(As(),at));Es(b.g,b.d,(aA(),dA));Fs(b.g,c,'100%');Bg(b);b.e=p5(new g5());b.f=a6(new s5());mp(tG(),b.e);mp(tG(),b.g);mp(tG(),b.f);b.f.Be('100%');b.e.ye(false);b.g.ye(false);b.f.ye(false);m4(b);a=Dg();if(cV(a)>0)o4(b,a);else q4(b);}
+function r4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){Cs(c.h,c.b);}c.b=x4(b);b5(c.d,b.c);qz(c.c,b.a);if(a)ah(b.c);zs(c.h,c.b,(As(),at));Fs(c.h,c.b,'100%');Es(c.h,c.b,(aA(),dA));c.b.md();}
+function q4(a){r4(a,a5(a.d,'Info'),false);}
+function s4(a){o4(this,a);}
+function a4(){}
+_=a4.prototype=new fU();_.bd=s4;_.tN=fgc+'JBRMSEntryPoint';_.tI=174;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function xcb(b,a){if(ac(a,69)){zcb();}else if(ac(a,70)){ybb(Fb(a,70));}else{xbb(a.zb());}}
+function ycb(a){xcb(this,a);}
+function zcb(){var a;a=rcb(new mcb(),'images/warning-large.png','Session expired');tcb(a,nz(new qw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));wE(a,40,40);zE(a);sdb();}
+function vcb(){}
+_=vcb.prototype=new fU();_.Dc=ycb;_.tN=igc+'GenericCallback';_.tI=175;function c4(b,a){b.a=a;return b;}
+function e4(a){var b;b=Fb(a,1);if(b!==null){r5(this.a.e,b);this.a.e.ye(true);this.a.g.ye(true);this.a.f.ye(false);}else{this.a.f.ye(true);e6(this.a.f,g4(new f4(),this));}}
+function b4(){}
+_=b4.prototype=new vcb();_.pd=e4;_.tN=fgc+'JBRMSEntryPoint$1';_.tI=176;function g4(b,a){b.a=a;return b;}
+function i4(a){r5(a.a.a.e,d6(a.a.a.f));a.a.a.e.ye(true);a.a.a.f.ye(false);a.a.a.g.ye(true);}
+function j4(){i4(this);}
+function f4(){}
+_=f4.prototype=new fU();_.pb=j4;_.tN=fgc+'JBRMSEntryPoint$2';_.tI=177;function A4(a){E4(a,E3());E4(a,v6());E4(a,m6());E4(a,u3());E4(a,l3());}
+function C4(a){a.a=sO(new qO());a.c=nY(new lY());}
+function D4(a){C4(a);pr(a,a.a);FN(a,'ks-List');return a;}
+function E4(d,a){var b,c;c=a.c;b=sA(new qA(),c,c);FN(b,'ks-SinkItem');tO(d.a,b);pY(d.c,a);}
+function a5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(uY(d.c,a),61);if(EU(b.c,c))return b;}return null;}
+function b5(d,c){var a,b;if(d.b!=(-1))AN(gr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(uY(d.c,a),61);if(EU(b.c,c)){d.b=a;uN(gr(d.a,d.b),'ks-SinkItem-selected');return;}}}
+function B4(){}
+_=B4.prototype=new nr();_.tN=fgc+'JBRMSFeatureList';_.tI=178;_.b=(-1);function p5(a){a.a=mz(new qw());pr(a,a.a);return a;}
+function r5(b,d){var a,c;a=qU(new pU());sU(a,"<div id='user_info'>");sU(a,'Welcome: &nbsp;'+d);sU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");sU(a,'<\/div>');qz(b.a,wU(a));c=i5(new h5(),b);mh(c,300000);}
+function g5(){}
+_=g5.prototype=new nr();_.tN=fgc+'LoggedInUserInfo';_.tI=179;_.a=null;function j5(){j5=d3;kh();}
+function i5(b,a){j5();ih(b);return b;}
+function k5(){BXb(lMb(),new l5());}
+function h5(){}
+_=h5.prototype=new dh();_.fe=k5;_.tN=fgc+'LoggedInUserInfo$1';_.tI=180;function n5(a){}
+function o5(a){if(a===null){zcb();}}
+function l5(){}
+_=l5.prototype=new fU();_.Dc=n5;_.pd=o5;_.tN=fgc+'LoggedInUserInfo$2';_.tI=181;function a6(c){var a,b;c.a=ccb(new Fbb(),'images/login.gif','Please enter your details');c.c=eL(new vK());c.c.re(1);dcb(c.a,'User name:',c.c);b=iE(new hE());b.re(2);dcb(c.a,'Password:',b);a=zp(new tp(),'Login');a.re(3);dcb(c.a,'',a);a.x(u5(new t5(),c,b));pr(c,c.a);c.c.oe(true);FN(c,'login-Form');return c;}
+function c6(c,a,d,b){oMb(CK(d),CK(b),C5(new B5(),c,a));}
+function d6(a){return CK(a.c);}
+function e6(b,a){b.b=a;}
+function s5(){}
+_=s5.prototype=new nr();_.tN=fgc+'LoginWidget';_.tI=182;_.a=null;_.b=null;_.c=null;function u5(b,a,c){b.a=a;b.b=c;return b;}
+function w5(a){wdb('Logging in...');fg(y5(new x5(),this,this.b));}
+function t5(){}
+_=t5.prototype=new fU();_.zc=w5;_.tN=fgc+'LoginWidget$1';_.tI=183;function y5(b,a,c){b.a=a;b.b=c;return b;}
+function A5(){c6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
+function x5(){}
+_=x5.prototype=new fU();_.pb=A5;_.tN=fgc+'LoginWidget$2';_.tI=184;function C5(b,a,c){b.a=c;return b;}
+function E5(c,a){var b;sdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{i4(c.a);}}
+function F5(a){E5(this,a);}
+function B5(){}
+_=B5.prototype=new vcb();_.pd=F5;_.tN=fgc+'LoginWidget$3';_.tI=185;function l6(){l6=d3;d5();}
+function k6(b){var a;l6();c5(b);a=rIb(new kIb());uIb(a,f5);pr(b,a);return b;}
+function m6(){l6();return h6(new g6(),'Packages','Configure and view packages of business rule assets.');}
+function n6(){}
+function f6(){}
+_=f6.prototype=new t4();_.md=n6;_.tN=fgc+'PackageManagementFeature';_.tI=186;function h6(c,a,b){v4(c,a,b);return c;}
+function j6(){return k6(new f6());}
+function g6(){}
+_=g6.prototype=new u4();_.hb=j6;_.tN=fgc+'PackageManagementFeature$1';_.tI=187;function u6(){u6=d3;d5();}
+function t6(b){var a;u6();c5(b);a=gcc(new cbc());kcc(a,f5);pr(b,a);return b;}
+function v6(){u6();return q6(new p6(),'Rules','Find and edit rules.');}
+function o6(){}
+_=o6.prototype=new t4();_.tN=fgc+'RulesFeature';_.tI=188;function q6(c,a,b){v4(c,a,b);return c;}
+function s6(){return t6(new o6());}
+function p6(){}
+_=p6.prototype=new u4();_.hb=s6;_.tN=fgc+'RulesFeature$1';_.tI=189;function A7(a){var b;b=ccb(new Fbb(),'images/backup_large.png','Manage Archived Assets');a.a=iA(new gA());a.a.Be('100%');gcb(b,a.a);a.b=jdc(new ncc(),new x6(),'archivedrulelist');pdc(a.b,D7(a));jA(a.a,a.b);y7(D7(a));gcb(b,nz(new qw(),'<hr/>'));gcb(b,C7(a));pr(a,b);return a;}
+function C7(d){var a,b,c,e;b=iA(new gA());c=zp(new tp(),'Refresh');c.x(B6(new A6(),d));e=zp(new tp(),'Unarchive');e.x(F6(new E6(),d));a=zp(new tp(),'Delete');a.x(i7(new h7(),d));jA(b,c);jA(b,e);jA(b,a);return b;}
+function D7(b){var a;a=r7(new q7(),b);return w7(new v7(),b,a);}
+function w6(){}
+_=w6.prototype=new nr();_.tN=ggc+'ArchivedAssetManager';_.tI=190;_.a=null;_.b=null;function z6(a){var b,c;b=rcb(new mcb(),'images/snapshot.png','Archived item');c=DJ(new pJ());tcb(b,c);c5b(k1(new o0()),c,a,true);wE(b,20,20);zE(b);}
+function x6(){}
+_=x6.prototype=new fU();_.wd=z6;_.tN=ggc+'ArchivedAssetManager$1';_.tI=191;function B6(b,a){b.a=a;return b;}
+function D6(a){y7(D7(this.a));}
+function A6(){}
+_=A6.prototype=new fU();_.zc=D6;_.tN=ggc+'ArchivedAssetManager$2';_.tI=192;function F6(b,a){b.a=a;return b;}
+function b7(a){pTb(mMb(),ldc(this.a.b),false,d7(new c7(),this));}
+function E6(){}
+_=E6.prototype=new fU();_.zc=b7;_.tN=ggc+'ArchivedAssetManager$3';_.tI=193;function d7(b,a){b.a=a;return b;}
+function f7(b,a){y7(D7(b.a.a));zh('Done!');}
+function g7(a){f7(this,a);}
+function c7(){}
+_=c7.prototype=new vcb();_.pd=g7;_.tN=ggc+'ArchivedAssetManager$4';_.tI=194;function i7(b,a){b.a=a;return b;}
+function k7(a){pUb(mMb(),ldc(this.a.b),m7(new l7(),this));}
+function h7(){}
+_=h7.prototype=new fU();_.zc=k7;_.tN=ggc+'ArchivedAssetManager$5';_.tI=195;function m7(b,a){b.a=a;return b;}
+function o7(b,a){y7(D7(b.a.a));zh('Done!');}
+function p7(a){o7(this,a);}
+function l7(){}
+_=l7.prototype=new vcb();_.pd=p7;_.tN=ggc+'ArchivedAssetManager$6';_.tI=196;function r7(b,a){b.a=a;return b;}
+function t7(c,a){var b;b=Fb(a,62);odc(c.a.b,b);c.a.b.Be('100%');sdb();}
+function u7(a){t7(this,a);}
+function q7(){}
+_=q7.prototype=new vcb();_.pd=u7;_.tN=ggc+'ArchivedAssetManager$7';_.tI=197;function w7(b,a,c){b.a=c;return b;}
+function y7(a){wdb('Loading list, please wait...');fUb(mMb(),a.a);}
+function z7(){y7(this);}
+function v7(){}
+_=v7.prototype=new fU();_.pb=z7;_.tN=ggc+'ArchivedAssetManager$8';_.tI=198;function n8(a){var b;b=ccb(new Fbb(),'images/backup_large.png','Import/Export');dcb(b,'',nz(new qw(),'<i>Import and Export rules repository<\/i>'));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Import from an xml file',r8(a));dcb(b,'Export to a zip file',q8(a));gcb(b,nz(new qw(),'<hr/>'));pr(a,b);return a;}
+function p8(a){wdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');sdb();}
+function q8(c){var a,b;b=iA(new gA());a=zp(new tp(),'Export');a.x(a8(new F7(),c));jA(b,a);return b;}
+function r8(c){var a,b,d,e;e=fv(new av());lv(e,v()+'backup');mv(e,'multipart/form-data');nv(e,'post');b=iA(new gA());e.Ae(b);d=jt(new it());mt(d,'importFile');jA(b,d);jA(b,fC(new dC(),'import:'));a=Ccb(new Bcb(),'images/upload.gif');oB(a,e8(new d8(),c,e));jA(b,a);gv(e,j8(new i8(),c,d));return e;}
+function E7(){}
+_=E7.prototype=new nr();_.tN=ggc+'BackupManager';_.tI=199;function a8(b,a){b.a=a;return b;}
+function c8(a){p8(this.a);}
+function F7(){}
+_=F7.prototype=new fU();_.zc=c8;_.tN=ggc+'BackupManager$1';_.tI=200;function e8(b,a,c){b.a=c;return b;}
+function g8(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){wdb('Importing repository, please wait, as this could take some time...');pv(b);}}
+function h8(a){g8(this,this.a);}
+function d8(){}
+_=d8.prototype=new fU();_.zc=h8;_.tN=ggc+'BackupManager$2';_.tI=201;function j8(b,a,c){b.a=c;return b;}
+function m8(a){if(cV(lt(this.a))==0){zh('You did not specify an exported repository filename !');Bv(a,true);}else if(!CU(lt(this.a),'.xml')){zh('Please specify a valid repository xml file.');Bv(a,true);}}
+function l8(a){if(aV(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{xbb('Unable to import into the repository. Consult the server logs for error messages.');}sdb();}
+function i8(){}
+_=i8.prototype=new fU();_.od=m8;_.nd=l8;_.tN=ggc+'BackupManager$3';_.tI=202;function h9(a){sO(new qO());}
+function i9(f){var a,b,c,d,e;h9(f);c=ccb(new Fbb(),'images/edit_category.gif','Edit categories');dcb(c,'',nz(new qw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=d_(new s$(),new t8());FN(f.a,'category-explorer-Admin');b=fH(new DG());FN(b,'metadata-Widget');hH(b,f.a);gcb(c,nz(new qw(),'<hr/>'));dcb(c,'Current categories:',b);e=Ccb(new Bcb(),'images/refresh.gif');e.te('Refresh categories');oB(e,x8(new w8(),f));dcb(c,'Refresh view:',e);gcb(c,nz(new qw(),'<hr/>'));d=Ccb(new Bcb(),'images/new.gif');d.te('Create a new category');oB(d,B8(new A8(),f));dcb(c,'Create a new category:',d);a=Ccb(new Bcb(),'images/delete_obj.gif');oB(a,F8(new E8(),f));a.te("Deletes the currently selected category. You won't be able to delete if the category is in use.");dcb(c,'Delete the currently selected category:',a);pr(f,c);return f;}
+function k9(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){qUb(mMb(),a.a.e,d9(new c9(),a));}}
+function s8(){}
+_=s8.prototype=new nr();_.tN=ggc+'CategoryManager';_.tI=203;_.a=null;function v8(a){}
+function t8(){}
+_=t8.prototype=new fU();_.he=v8;_.tN=ggc+'CategoryManager$1';_.tI=204;function x8(b,a){b.a=a;return b;}
+function z8(a){j_(this.a.a);}
+function w8(){}
+_=w8.prototype=new fU();_.zc=z8;_.tN=ggc+'CategoryManager$2';_.tI=205;function B8(b,a){b.a=a;return b;}
+function D8(b){var a;a=n$(new E9(),this.a.a.e);wE(a,wN(b),xN(b)-400);zE(a);}
+function A8(){}
+_=A8.prototype=new fU();_.zc=D8;_.tN=ggc+'CategoryManager$3';_.tI=206;function F8(b,a){b.a=a;return b;}
+function b9(a){k9(this.a);}
+function E8(){}
+_=E8.prototype=new fU();_.zc=b9;_.tN=ggc+'CategoryManager$4';_.tI=207;function d9(b,a){b.a=a;return b;}
+function f9(b,a){j_(b.a.a);}
+function g9(a){f9(this,a);}
+function c9(){}
+_=c9.prototype=new vcb();_.pd=g9;_.tN=ggc+'CategoryManager$5';_.tI=208;function z9(b){var a;a=ccb(new Fbb(),'images/status_large.png','Manage statuses');dcb(a,'',nz(new qw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=xC(new nC());hD(b.a,7);b.a.Be('50%');D9(b);dcb(a,'Current statuses:',b.a);dcb(a,'Add new status:',C9(b));pr(b,a);return b;}
+function B9(b,a){wdb('Creating status');FTb(mMb(),CK(a),v9(new u9(),b,a));}
+function C9(d){var a,b,c;c=iA(new gA());a=eL(new vK());b=zp(new tp(),'Create');b.x(r9(new q9(),d,a));jA(c,a);jA(c,b);return c;}
+function D9(a){wdb('Loading statuses...');eUb(mMb(),n9(new m9(),a));}
+function l9(){}
+_=l9.prototype=new nr();_.tN=ggc+'StateManager';_.tI=209;_.a=null;function n9(b,a){b.a=a;return b;}
+function p9(a){var b,c;DC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){AC(this.a.a,c[b]);}sdb();}
+function m9(){}
+_=m9.prototype=new vcb();_.pd=p9;_.tN=ggc+'StateManager$1';_.tI=210;function r9(b,a,c){b.a=a;b.b=c;return b;}
+function t9(a){B9(this.a,this.b);}
+function q9(){}
+_=q9.prototype=new fU();_.zc=t9;_.tN=ggc+'StateManager$2';_.tI=211;function v9(b,a,c){b.a=a;b.b=c;return b;}
+function x9(b,a){aL(b.b,'');D9(b.a);sdb();}
+function y9(a){x9(this,a);}
+function u9(){}
+_=u9.prototype=new vcb();_.pd=y9;_.tN=ggc+'StateManager$3';_.tI=212;function p$(){p$=d3;pE();}
+function m$(a){a.d=ut(new ot());a.b=eL(new vK());a.a=pK(new oK());}
+function n$(d,b){var a,c;p$();mE(d,true);m$(d);d.c=b;d.d.ze(0,0,Ccb(new Bcb(),'images/edit_category.gif'));d.d.ze(0,1,fC(new dC(),q$(d,d.c)));d.d.ze(1,0,fC(new dC(),'Cateogory name'));d.d.ze(1,1,d.b);uK(d.a,4);d.d.ze(2,0,fC(new dC(),'Description'));d.d.ze(2,1,d.a);c=zp(new tp(),'OK');c.x(a$(new F9(),d));d.d.ze(3,0,c);a=zp(new tp(),'Cancel');a.x(e$(new d$(),d));d.d.ze(3,1,a);hH(d,d.d);FN(d,'ks-popups-Popup');return d;}
+function o$(a){a.lc();}
+function q$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
+function r$(b){var a;a=i$(new h$(),b);if(EU('',CK(b.b))){xbb("Can't have an empty category name.");}else{BTb(mMb(),b.c,CK(b.b),CK(b.a),a);}}
+function E9(){}
+_=E9.prototype=new kE();_.tN=hgc+'CategoryEditor';_.tI=213;_.c=null;function a$(b,a){b.a=a;return b;}
+function c$(a){r$(this.a);}
+function F9(){}
+_=F9.prototype=new fU();_.zc=c$;_.tN=hgc+'CategoryEditor$1';_.tI=214;function e$(b,a){b.a=a;return b;}
+function g$(a){o$(this.a);}
+function d$(){}
+_=d$.prototype=new fU();_.zc=g$;_.tN=hgc+'CategoryEditor$2';_.tI=215;function i$(b,a){b.a=a;return b;}
+function k$(b,a){if(Fb(a,55).a){b.a.lc();}else{xbb('Category was not successfully created. ');}}
+function l$(a){k$(this,a);}
+function h$(){}
+_=h$.prototype=new vcb();_.pd=l$;_.tN=hgc+'CategoryEditor$3';_.tI=216;function c_(a){a.c=uM(new hL());a.d=sO(new qO());a.f=mMb();}
+function d_(b,a){c_(b);tO(b.d,b.c);b.a=a;i_(b);pr(b,b.d);yM(b.c,b);FN(b,'category-explorer-Tree');return b;}
+function f_(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
+function g_(b,a){if(a.c.b==1&&ac(DL(a,0),64)){return false;}return true;}
+function h_(a){if(a.b!==null){a.b.ye(false);}}
+function i_(a){xM(a.c,'Please wait...');hUb(a.f,'/',y$(new x$(),a));}
+function j_(a){hN(a.c);a.e=null;i_(a);}
+function k_(c){var a,b;if(c.b===null){b=lp(new kp());mp(b,nz(new qw(),'No categories created yet. Add some categories from the administration screen.'));a=zp(new tp(),'Refresh');a.x(u$(new t$(),c));mp(b,a);FN(b,'small-Text');c.b=b;tO(c.d,c.b);}c.b.ye(true);}
+function l_(a){this.e=f_(this,a);this.a.he(this.e);}
+function m_(a){var b;if(g_(this,a)){return;}b=a;this.e=f_(this,a);hUb(this.f,this.e,C$(new B$(),this,b));}
+function s$(){}
+_=s$.prototype=new nr();_.rd=l_;_.sd=m_;_.tN=hgc+'CategoryExplorerWidget';_.tI=217;_.a=null;_.b=null;_.e=null;function u$(b,a){b.a=a;return b;}
+function w$(a){j_(this.a);}
+function t$(){}
+_=t$.prototype=new fU();_.zc=w$;_.tN=hgc+'CategoryExplorerWidget$1';_.tI=218;function y$(b,a){b.a=a;return b;}
+function A$(d){var a,b,c;this.a.e=null;hN(this.a.c);a=Fb(d,63);if(a.a==0){k_(this.a);}else{h_(this.a);}for(b=0;b<a.a;b++){c=zL(new xL());bM(c,'<img src="images/category_small.gif"/>'+a[b]);hM(c,a[b]);c.y(a_(new F$()));wM(this.a.c,c);}}
+function x$(){}
+_=x$.prototype=new vcb();_.pd=A$;_.tN=hgc+'CategoryExplorerWidget$2';_.tI=219;function C$(b,a,c){b.a=c;return b;}
+function E$(e){var a,b,c,d;a=DL(this.a,0);if(ac(a,64)){this.a.ae(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=zL(new xL());bM(c,'<img src="images/category_small.gif"/>'+d[b]);hM(c,d[b]);c.y(a_(new F$()));this.a.y(c);}}
+function B$(){}
+_=B$.prototype=new vcb();_.pd=E$;_.tN=hgc+'CategoryExplorerWidget$3';_.tI=220;function a_(a){AL(a,'Please wait...');return a;}
+function F$(){}
+_=F$.prototype=new xL();_.tN=hgc+'CategoryExplorerWidget$PendingItem';_.tI=221;function p_(){p_=d3;q_=zb('[Ljava.lang.String;',608,1,['brl','dslr','xls']);s_=zb('[Ljava.lang.String;',608,1,['drl','rf','enumeration']);r_=zb('[Ljava.lang.String;',608,1,['function','dsl','jar','enumeration']);}
+function t_(a){p_();var b;for(b=0;b<r_.a;b++){if(EU(r_[b],a)){return true;}}return false;}
+var q_,r_,s_;function F_(){F_=d3;fL();}
+function D_(a){a.b=mE(new kE(),true);a.a=w_(new v_(),a);}
+function E_(b,a){F_();eL(b);D_(b);zK(b,b);aO(b.a,1);FN(b,'AutoCompleteTextBox');hH(b.b,b.a);uN(b.b,'AutoCompleteChoices');FN(b.a,'list');b.c=a;return b;}
+function aab(a){if(a.e&&FC(a.a)>0){aL(a,aD(a.a,bD(a.a)));}DC(a.a);a.b.lc();a.e=false;}
+function bab(e,a,b,c){var d;d=bD(e.a);d++;if(d>=FC(e.a)){d=0;}gD(e.a,d);}
+function cab(d,a,b,c){aab(d);}
+function dab(d,a,b,c){DC(d.a);d.b.lc();d.e=false;}
+function eab(b,a){if(0==cV(a)||0==FC(b.a)||1==FC(b.a)&&EU(aD(b.a,0),a)){DC(b.a);b.b.lc();b.e=false;}else{gD(b.a,0);hD(b.a,FC(b.a)+1);if(!b.d){mp(tG(),b.b);b.d=true;}zE(b.b);b.e=true;wE(b.b,wN(b),xN(b)+b.Cb());b.a.Be(b.Db()+'px');}}
+function fab(d,a,b,c){iab(d,CK(d));if(cV(CK(d))>0&&d.c!==null){wdc(d.c,CK(d),A_(new z_(),d));}}
+function gab(d,a,b,c){aab(d);}
+function hab(e,a,b,c){var d;d=bD(e.a);d--;if(d<0){d=FC(e.a)-1;}gD(e.a,d);}
+function iab(c,b){var a;a=0;while(a<FC(c.a)){if(gV(kV(aD(c.a,a)),kV(b))){++a;}else{fD(c.a,a);}}eab(c,b);}
+function jab(d,b,c){var a;DC(d.a);for(a=0;a<b.a;a++){AC(d.a,b[a]);}iab(d,c);}
+function kab(a,b,c){if(b==13){cab(this,a,b,c);}else if(b==9){gab(this,a,b,c);}else if(b==40){bab(this,a,b,c);}else if(b==38){hab(this,a,b,c);}else if(b==27){dab(this,a,b,c);}}
+function lab(a,b,c){}
+function mab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:fab(this,a,b,c);break;}}
+function u_(){}
+_=u_.prototype=new vK();_.cd=kab;_.dd=lab;_.ed=mab;_.tN=igc+'AutoCompleteTextBoxAsync';_.tI=222;_.c=null;_.d=false;_.e=false;function x_(){x_=d3;EC();}
+function w_(b,a){x_();b.a=a;xC(b);return b;}
+function y_(a){if(1==xe(a)){aab(this.a);}}
+function v_(){}
+_=v_.prototype=new nC();_.wc=y_;_.tN=igc+'AutoCompleteTextBoxAsync$1';_.tI=223;function A_(b,a){b.a=a;return b;}
+function C_(b,a){jab(b.a,a,CK(b.a));}
+function z_(){}
+_=z_.prototype=new fU();_.tN=igc+'AutoCompleteTextBoxAsync$2';_.tI=224;function rab(a){a.j=true;}
+function sab(a){a.j=false;}
+function tab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
+function uab(){return this.j;}
+function pab(){}
+_=pab.prototype=new nr();_.pc=uab;_.tN=igc+'DirtyableComposite';_.tI=225;_.j=false;function xab(a){a.b=nY(new lY());}
+function yab(a){ut(a);xab(a);return a;}
+function Aab(d){var a,b,c;for(c=d.b.qc();c.kc();){a=Fb(c.sc(),65);b=ty(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).pc())return true;if(ac(b,67))if(Fb(b,67).jc())return true;}return false;}
+function Bab(d,c,b,a){cz(d,c,b,a);if(ac(a,68)){oY(d.b,d.a++,ydb(new xdb(),c,b));}}
+function Cab(){return Aab(this);}
+function Dab(c,b,a){Bab(this,c,b,a);}
+function wab(){}
+_=wab.prototype=new ot();_.jc=Cab;_.ze=Dab;_.tN=igc+'DirtyableFlexTable';_.tI=226;_.a=0;function Fab(a){iA(a);return a;}
+function bbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=gr(c,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
+function cbb(){return bbb(this);}
+function Eab(){}
+_=Eab.prototype=new gA();_.jc=cbb;_.tN=igc+'DirtyableHorizontalPane';_.tI=227;function ebb(a){sO(a);return a;}
+function gbb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=gr(this,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
+function dbb(){}
+_=dbb.prototype=new qO();_.jc=gbb;_.tN=igc+'DirtyableVerticalPane';_.tI=228;function ubb(){ubb=d3;cs();}
+function rbb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=Ccb(new Bcb(),'images/close.gif');}
+function sbb(d,b,a){var c,e;ubb();as(d,true);rbb(d);kC(d.a,b);jA(d.c,nB(new xA(),'images/error_dialog.png'));e=sO(new qO());tO(e,d.a);jA(d.c,e);if(a!==null){tbb(d,e,a);}jA(d.c,d.b);c=d;oB(d.b,kbb(new jbb(),d,c));fs(d,d.c);wE(d,40,40);FN(d,'rule-error-Popup');return d;}
+function tbb(e,c,b){var a,d,f;f=sO(new qO());tO(c,f);d=zp(new tp(),'Details');tO(f,d);a=fC(new dC(),b);a.ye(false);tO(f,a);d.x(obb(new nbb(),e,a,d));}
+function vbb(a){kC(a.a,'');sE(a);}
+function wbb(){vbb(this);}
+function xbb(a){ubb();var b;b=sbb(new ibb(),a,null);sdb();zE(b);}
+function ybb(a){ubb();var b;b=sbb(new ibb(),a.b,a.a);sdb();zE(b);}
+function ibb(){}
+_=ibb.prototype=new Dr();_.lc=wbb;_.tN=igc+'ErrorPopup';_.tI=229;function kbb(b,a,c){b.a=c;return b;}
+function mbb(a){vbb(this.a);}
+function jbb(){}
+_=jbb.prototype=new fU();_.zc=mbb;_.tN=igc+'ErrorPopup$1';_.tI=230;function obb(b,a,c,d){b.a=c;b.b=d;return b;}
+function qbb(a){this.a.ye(true);this.b.ye(false);}
+function nbb(){}
+_=nbb.prototype=new fU();_.zc=qbb;_.tN=igc+'ErrorPopup$2';_.tI=231;function Abb(b,a){b.a=a;return b;}
+function Cbb(a,b,c){}
+function Dbb(a,b,c){}
+function Ebb(a,b,c){this.a.pb();}
+function zbb(){}
+_=zbb.prototype=new fU();_.cd=Cbb;_.dd=Dbb;_.ed=Ebb;_.tN=igc+'FieldEditListener';_.tI=232;_.a=null;function acb(a){a.h=yab(new wab());a.g=xt(a.h);}
+function ccb(b,a,c){acb(b);ecb(b,a,c);pr(b,b.h);return b;}
+function bcb(a){acb(a);pr(a,a.h);return a;}
+function dcb(d,c,a){var b;b=nz(new qw(),'<b>'+c+'<\/b>');Bab(d.h,d.i,0,b);ex(d.g,d.i,0,(xz(),Az),(aA(),dA));Bab(d.h,d.i,1,a);ex(d.g,d.i,1,(xz(),zz),(aA(),dA));d.i++;}
+function ecb(c,a,d){var b;b=fC(new dC(),d);FN(b,'resource-name-Label');jcb(c,a,b);}
+function fcb(d,b,e,f){var a,c;c=fC(new dC(),e);FN(c,'resource-name-Label');a=iA(new gA());jA(a,c);jA(a,f);jcb(d,b,a);}
+function gcb(a,b){Bab(a.h,a.i,0,b);st(a.g,a.i,0,2);a.i++;}
+function hcb(a){a.i=0;ky(a.h);}
+function jcb(b,a,c){Bab(b.h,0,0,nB(new xA(),a));ex(b.g,0,0,(xz(),zz),(aA(),dA));Bab(b.h,0,1,c);b.i++;}
+function kcb(c,b,a,d){Bab(c.h,b,a,d);}
+function lcb(){return Aab(this.h);}
+function Fbb(){}
+_=Fbb.prototype=new pab();_.pc=lcb;_.tN=igc+'FormStyleLayout';_.tI=233;_.i=0;function ucb(){ucb=d3;pE();}
+function rcb(c,b,d){var a;ucb();mE(c,true);c.i=ccb(new Fbb(),b,d);FN(c,'ks-popups-Popup');a=Ccb(new Bcb(),'images/close.gif');oB(a,ocb(new ncb(),c));kcb(c.i,0,2,a);hH(c,c.i);return c;}
+function scb(b,a,c){dcb(b.i,a,c);}
+function tcb(a,b){gcb(a.i,b);}
+function mcb(){}
+_=mcb.prototype=new kE();_.tN=igc+'FormStylePopup';_.tI=234;_.i=null;function ocb(b,a){b.a=a;return b;}
+function qcb(a){this.a.lc();}
+function ncb(){}
+_=ncb.prototype=new fU();_.zc=qcb;_.tN=igc+'FormStylePopup$1';_.tI=235;function Ecb(){Ecb=d3;qB();}
+function Ccb(b,a){Ecb();nB(b,a);FN(b,'image-Button');return b;}
+function Dcb(b,a,c){Ecb();nB(b,a);FN(b,'image-Button');b.te(c);return b;}
+function Bcb(){}
+_=Bcb.prototype=new xA();_.tN=igc+'ImageButton';_.tI=236;function edb(c,d,b){var a;a=nB(new xA(),'images/information.gif');a.te(b);oB(a,bdb(new adb(),c,d,b));pr(c,a);return c;}
+function Fcb(){}
+_=Fcb.prototype=new nr();_.tN=igc+'InfoPopup';_.tI=237;function bdb(b,a,d,c){b.b=d;b.a=c;return b;}
+function ddb(b){var a;a=rcb(new mcb(),'images/information.gif',this.b);tcb(a,hdb(new gdb(),this.a,'small-Text'));wE(a,wN(b),xN(b));zE(a);}
+function adb(){}
+_=adb.prototype=new fU();_.zc=ddb;_.tN=igc+'InfoPopup$1';_.tI=238;function hdb(c,a,b){fC(c,a);FN(c,b);return c;}
+function gdb(){}
+_=gdb.prototype=new dC();_.tN=igc+'Lbl';_.tI=239;function qdb(){qdb=d3;pE();}
+function odb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=nB(new xA(),'images/close.gif');}
+function pdb(a){qdb();mE(a,true);odb(a);jA(a.c,a.a);jA(a.c,a.b);jA(a.c,nB(new xA(),'images/searching.gif'));oB(a.b,ldb(new kdb(),a));hH(a,a.c);wE(a,0,0);FN(a,'loading-Popup');return a;}
+function rdb(a){kC(a.a,'');sE(a);}
+function sdb(){qdb();rdb(tdb());}
+function tdb(){qdb();if(vdb===null){vdb=pdb(new jdb());}return vdb;}
+function udb(){rdb(this);}
+function wdb(a){qdb();var b;b=tdb();kC(b.a,a);zE(b);}
+function jdb(){}
+_=jdb.prototype=new kE();_.lc=udb;_.tN=igc+'LoadingPopup';_.tI=240;var vdb=null;function ldb(b,a){b.a=a;return b;}
+function ndb(a){rdb(this.a);}
+function kdb(){}
+_=kdb.prototype=new fU();_.zc=ndb;_.tN=igc+'LoadingPopup$1';_.tI=241;function ydb(c,b,a){c.b=b;c.a=a;return c;}
+function xdb(){}
+_=xdb.prototype=new fU();_.tN=igc+'Pair';_.tI=242;_.a=0;_.b=0;function Fdb(a){a.b=xC(new nC());cUb(mMb(),Cdb(new Bdb(),a));pr(a,a.b);return a;}
+function beb(a){return aD(a.b,bD(a.b));}
+function ceb(b,a){b.a=a;}
+function Adb(){}
+_=Adb.prototype=new nr();_.tN=igc+'RulePackageSelector';_.tI=243;_.a=null;_.b=null;function Cdb(b,a){b.a=a;return b;}
+function Edb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){AC(this.a.b,b[a].j);if(this.a.a!==null&&EU(b[a].j,this.a.a)){gD(this.a.b,a);}}}
+function Bdb(){}
+_=Bdb.prototype=new vcb();_.pd=Edb;_.tN=igc+'RulePackageSelector$1';_.tI=244;function Beb(){Beb=d3;cs();}
+function zeb(f,g,d){var a,b,c,e;Beb();as(f,true);f.d=g;f.b=d;FN(f,'ks-popups-Popup');ds(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=iA(new gA());a=xC(new nC());wdb('Please wait...');eUb(mMb(),feb(new eeb(),f,a));zC(a,jeb(new ieb(),f,a));jA(c,a);e=zp(new tp(),'Change status');e.x(neb(new meb(),f,a));jA(c,e);b=zp(new tp(),'Cancel');b.x(reb(new qeb(),f));jA(c,b);fs(f,c);return f;}
+function Aeb(b,a){wdb('Updating status...');vTb(mMb(),b.d,b.c,b.b,veb(new ueb(),b));}
+function Ceb(b,a){b.a=a;}
+function deb(){}
+_=deb.prototype=new Dr();_.tN=igc+'StatusChangePopup';_.tI=245;_.a=null;_.b=false;_.c=null;_.d=null;function feb(b,a,c){b.a=c;return b;}
+function heb(a){var b,c;c=Fb(a,63);AC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){AC(this.a,c[b]);}sdb();}
+function eeb(){}
+_=eeb.prototype=new vcb();_.pd=heb;_.tN=igc+'StatusChangePopup$1';_.tI=246;function jeb(b,a,c){b.a=a;b.b=c;return b;}
+function leb(a){this.a.c=aD(this.b,bD(this.b));}
+function ieb(){}
+_=ieb.prototype=new fU();_.yc=leb;_.tN=igc+'StatusChangePopup$2';_.tI=247;function neb(b,a,c){b.a=a;b.b=c;return b;}
+function peb(b){var a;a=aD(this.b,bD(this.b));Aeb(this.a,a);this.a.lc();}
+function meb(){}
+_=meb.prototype=new fU();_.zc=peb;_.tN=igc+'StatusChangePopup$3';_.tI=248;function reb(b,a){b.a=a;return b;}
+function teb(a){this.a.lc();}
+function qeb(){}
+_=qeb.prototype=new fU();_.zc=teb;_.tN=igc+'StatusChangePopup$4';_.tI=249;function veb(b,a){b.a=a;return b;}
+function xeb(b,a){b.a.a.pb();sdb();}
+function yeb(a){xeb(this,a);}
+function ueb(){}
+_=ueb.prototype=new vcb();_.pd=yeb;_.tN=igc+'StatusChangePopup$5';_.tI=250;function Feb(){Feb=d3;ucb();}
+function Eeb(c,b,a){Feb();rcb(c,'images/attention_needed.png',b);scb(c,'Detail:',afb(c,a));return c;}
+function afb(c,b){var a;a=pK(new oK());FN(a,'editable-Surface');uK(a,12);aL(a,b);a.Be('100%');return a;}
+function Deb(){}
+_=Deb.prototype=new mcb();_.tN=igc+'ValidationMessageWidget';_.tI=251;function ifb(){ifb=d3;pE();}
+function gfb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=zp(new tp(),'OK');}
+function hfb(b,c,d){var a;ifb();mE(b,true);gfb(b);wE(b,c,d);jA(b.c,b.a);jA(b.c,b.b);a=b;b.b.x(dfb(new cfb(),b,a));hH(b,b.c);FN(b,'rule-warning-Popup');return b;}
+function jfb(a){kC(a.a,'');sE(a);}
+function kfb(){jfb(this);}
+function lfb(a,c,d){ifb();var b;b=hfb(new bfb(),c,d);kC(b.a,a);zE(b);}
+function bfb(){}
+_=bfb.prototype=new kE();_.lc=kfb;_.tN=igc+'WarningPopup';_.tI=252;function dfb(b,a,c){b.a=c;return b;}
+function ffb(a){jfb(this.a);}
+function cfb(){}
+_=cfb.prototype=new fU();_.zc=ffb;_.tN=igc+'WarningPopup$1';_.tI=253;function wfb(){wfb=d3;cs();}
+function vfb(d,b,f){var a,c,e;wfb();Fr(d);es(d,b);e=zp(new tp(),'Yes');c=zp(new tp(),'No');e.x(ofb(new nfb(),d,f));c.x(sfb(new rfb(),d));a=iA(new gA());jA(a,e);jA(a,c);fs(d,a);return d;}
+function mfb(){}
+_=mfb.prototype=new Dr();_.tN=igc+'YesNoDialog';_.tI=254;function ofb(b,a,c){b.a=a;b.b=c;return b;}
+function qfb(a){this.b.pb();this.a.lc();}
+function nfb(){}
+_=nfb.prototype=new fU();_.zc=qfb;_.tN=igc+'YesNoDialog$1';_.tI=255;function sfb(b,a){b.a=a;return b;}
+function ufb(a){this.a.lc();}
+function rfb(){}
+_=rfb.prototype=new fU();_.zc=ufb;_.tN=igc+'YesNoDialog$2';_.tI=256;function wxb(b,a,c){b.e=c;b.a=a;Bxb(b,a.e,a.d.n);Axb(b);return b;}
+function xxb(b,a){gcb(b.c,a);}
+function zxb(c,a,d){var b;b=eL(new vK());EK(b,a);aL(b,d);b.ye(false);return b;}
+function Axb(a){gv(a.b,sxb(new rxb(),a));}
+function Bxb(d,f,c){var a,b,e;d.b=fv(new av());lv(d.b,v()+'asset');mv(d.b,'multipart/form-data');nv(d.b,'post');e=jt(new it());mt(e,'fileUploadElement');b=iA(new gA());jA(b,zxb(d,'attachmentUUID',f));d.d=Dcb(new Bcb(),'images/upload.gif','Upload');jA(b,e);jA(b,fC(new dC(),'upload:'));jA(b,d.d);hH(d.b,b);d.c=ccb(new Fbb(),d.vb(),c);if(!d.a.c)dcb(d.c,'Upload new version:',d.b);a=zp(new tp(),'Download');a.x(kxb(new jxb(),d,f));dcb(d.c,'Download current version:',a);oB(d.d,oxb(new nxb(),d));pr(d,d.c);d.c.Be('100%');FN(d,d.Eb());}
+function Cxb(a){wdb('Uploading...');}
+function Dxb(a){pv(a.b);}
+function ixb(){}
+_=ixb.prototype=new nr();_.tN=ngc+'AssetAttachmentFileWidget';_.tI=257;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function yfb(b,a,c){wxb(b,a,c);xxb(b,nz(new qw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
+function Afb(){return 'images/decision_table.png';}
+function Bfb(){return 'decision-Table-upload';}
+function xfb(){}
+_=xfb.prototype=new ixb();_.vb=Afb;_.Eb=Bfb;_.tN=jgc+'DecisionTableXLSWidget';_.tI=258;function Dfb(){Dfb=d3;fgb=k1(new o0());agb=k1(new o0());Ffb=k1(new o0());Efb=zb('[Ljava.lang.String;',608,1,['not','exists','or']);{r1(fgb,'==','is equal to');r1(fgb,'!=','is not equal to');r1(fgb,'<','is less than');r1(fgb,'<=','less than or equal to');r1(fgb,'>','greater than');r1(fgb,'>=','greater than or equal to');r1(fgb,'|| ==','or equal to');r1(fgb,'|| !=','or not equal to');r1(fgb,'&& !=','and not equal to');r1(fgb,'&& >','and greater than');r1(fgb,'&& <','and less than');r1(fgb,'|| >','or greater than');r1(fgb,'|| <','or less than');r1(fgb,'&& <','and less than');r1(fgb,'|| >=','or greater than (or equal to)');r1(fgb,'|| <=','or less than (or equal to)');r1(fgb,'&& >=','and greater than (or equal to)');r1(fgb,'&& <=','or less than (or equal to)');r1(fgb,'&& contains','and contains');r1(fgb,'|| contains','or contains');r1(fgb,'&& matches','and matches');r1(fgb,'|| matches','or mat!
 ches');r1(fgb,'|| excludes','or excludes');r1(fgb,'&& excludes','and excludes');r1(fgb,'soundslike','sounds like');r1(agb,'not','There is no');r1(agb,'exists','There exists');r1(agb,'or','Any of');r1(Ffb,'assert','Insert');r1(Ffb,'assertLogical','Logically insert');r1(Ffb,'retract','Retract');r1(Ffb,'set','Set');r1(Ffb,'modify','Modify');}}
+function bgb(a){Dfb();return egb(a,Ffb);}
+function cgb(a){Dfb();return egb(a,agb);}
+function dgb(a){Dfb();return egb(a,fgb);}
+function egb(a,b){Dfb();if(n1(b,a)){return Fb(q1(b,a),1);}else{return a;}}
+var Efb,Ffb,agb,fgb;function jgb(){jgb=d3;Dgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=']);Fgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);Bgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);zgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);Egb=zb('[Ljava.lang.String;',608,1,['==','!=']);Cgb=zb('[Ljava.lang.String;',608,1,['==','!=','<','>','<=','>=']);ahb=zb('[Ljava.lang.String;',608,1,['==','!=','matches','soundslike']);Agb=zb('[Ljava.lang.String;',608,1,['contains','excludes','==','!=']);}
+function hgb(a){a.h=k1(new o0());a.c=k1(new o0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[610],[10],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[610],[10],[0],null);}
+function igb(a){jgb();hgb(a);return a;}
+function kgb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return Dgb;}else if(EU(d,'String')){return Fgb;}else if(EU(d,'Comparable')||EU(d,'Numeric')){return Bgb;}else if(EU(d,'Collection')){return zgb;}else{return Dgb;}}
+function mgb(i,g,d){var a,b,c,e,f,h,j;c=tgb(i);j=Fb(q1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(EU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.ic(f),63);}}}}return Fb(i.c.ic(g.c+'.'+d),63);}
+function lgb(f,g,a,c){var b,d,e,h,i;b=tgb(f);h=Fb(q1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(EU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.ic(e),63);}}}return Fb(f.c.ic(g+'.'+c),63);}
+function ogb(b,a){return Fb(b.g.ic(a),63);}
+function ngb(a,c){var b;b=Fb(a.h.ic(c),1);return Fb(a.g.ic(b),63);}
+function pgb(c,a,b){return Fb(c.f.ic(a+'.'+b),1);}
+function qgb(a){return ugb(a,a.h.rc());}
+function rgb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return Egb;}else if(EU(d,'String')){return ahb;}else if(EU(d,'Comparable')||EU(d,'Numeric')){return Cgb;}else if(EU(d,'Collection')){return Agb;}else{return Egb;}}
+function sgb(a,b){return a.h.db(b);}
+function tgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=k1(new o0());e=g.c.rc();for(b=bX(e);iX(b);){d=Fb(jX(b),1);if(FU(d,91)!=(-1)){c=FU(d,91);a=iV(d,0,c);f=iV(d,c+1,FU(d,93));h=iV(f,0,FU(f,61));r1(g.d,a,h);}}}return g.d;}
+function ugb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[608],[1],[d.b.a.c],null);b=0;for(c=bX(d);iX(c);){a[b]=Fb(jX(c),1);b++;}return a;}
+function ggb(){}
+_=ggb.prototype=new fU();_.tN=kgc+'SuggestionCompletionEngine';_.tI=259;_.d=null;_.e=null;_.f=null;_.g=null;var zgb,Agb,Bgb,Cgb,Dgb,Egb,Fgb,ahb;function xgb(b,a){a.a=Fb(b.Dd(),72);a.b=Fb(b.Dd(),72);a.c=Fb(b.Dd(),57);a.e=Fb(b.Dd(),63);a.f=Fb(b.Dd(),57);a.g=Fb(b.Dd(),57);a.h=Fb(b.Dd(),57);}
+function ygb(b,a){b.ff(a.a);b.ff(a.b);b.ff(a.c);b.ff(a.e);b.ff(a.f);b.ff(a.g);b.ff(a.h);}
+function chb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[624],[23],[0],null);}
+function dhb(a){chb(a);return a;}
+function ehb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[624],[23],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[624],[23],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
+function ghb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[624],[23],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
+function bhb(){}
+_=bhb.prototype=new fU();_.tN=lgc+'ActionFieldList';_.tI=260;function jhb(b,a){a.b=Fb(b.Dd(),73);}
+function khb(b,a){b.ff(a.b);}
+function mhb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function lhb(){}
+_=lhb.prototype=new fU();_.tN=lgc+'ActionFieldValue';_.tI=261;_.a=null;_.b=null;_.c=null;function qhb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
+function rhb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
+function uhb(a,b){dhb(a);a.a=b;return a;}
+function thb(a){dhb(a);return a;}
+function shb(){}
+_=shb.prototype=new bhb();_.tN=lgc+'ActionInsertFact';_.tI=262;_.a=null;function yhb(b,a){a.a=b.Ed();jhb(b,a);}
+function zhb(b,a){b.gf(a.a);khb(b,a);}
+function Chb(b,a){uhb(b,a);return b;}
+function Bhb(a){thb(a);return a;}
+function Ahb(){}
+_=Ahb.prototype=new shb();_.tN=lgc+'ActionInsertLogicalFact';_.tI=263;function aib(b,a){yhb(b,a);}
+function bib(b,a){zhb(b,a);}
+function dib(a,b){a.a=b;return a;}
+function cib(){}
+_=cib.prototype=new fU();_.tN=lgc+'ActionRetractFact';_.tI=264;_.a=null;function hib(b,a){a.a=b.Ed();}
+function iib(b,a){b.gf(a.a);}
+function lib(a,b){dhb(a);a.a=b;return a;}
+function kib(a){dhb(a);return a;}
+function jib(){}
+_=jib.prototype=new bhb();_.tN=lgc+'ActionSetField';_.tI=265;_.a=null;function pib(b,a){a.a=b.Ed();jhb(b,a);}
+function qib(b,a){b.gf(a.a);khb(b,a);}
+function tib(b,a){lib(b,a);return b;}
+function sib(a){kib(a);return a;}
+function rib(){}
+_=rib.prototype=new jib();_.tN=lgc+'ActionUpdateField';_.tI=266;function xib(b,a){pib(b,a);}
+function yib(b,a){qib(b,a);}
+function Aib(a,b){a.b=b;return a;}
+function Bib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[632],[31],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[632],[31],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
+function zib(){}
+_=zib.prototype=new fU();_.tN=lgc+'CompositeFactPattern';_.tI=267;_.a=null;_.b=null;function Fib(b,a){a.a=Fb(b.Dd(),74);a.b=b.Ed();}
+function ajb(b,a){b.ff(a.a);b.gf(a.b);}
+function cjb(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[622],[21],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[622],[21],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
+function ejb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[622],[21],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
+function bjb(){}
+_=bjb.prototype=new fU();_.tN=lgc+'CompositeFieldConstraint';_.tI=268;_.a=null;_.b=null;function hjb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),75);}
+function ijb(b,a){b.gf(a.a);b.ff(a.b);}
+function gkb(){}
+_=gkb.prototype=new fU();_.tN=lgc+'ISingleFieldConstraint';_.tI=269;_.e=0;_.f=null;function jjb(){}
+_=jjb.prototype=new gkb();_.tN=lgc+'ConnectiveConstraint';_.tI=270;_.a=null;function njb(b,a){a.a=b.Ed();kkb(b,a);}
+function ojb(b,a){b.gf(a.a);lkb(b,a);}
+function rjb(b){var a;a=new pjb();a.a=b.a;return a;}
+function sjb(e){var a,b,c,d;b=jV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
+function xjb(){return sjb(this);}
+function pjb(){}
+_=pjb.prototype=new fU();_.tS=xjb;_.tN=lgc+'DSLSentence';_.tI=271;_.a=null;function vjb(b,a){a.a=b.Ed();}
+function wjb(b,a){b.gf(a.a);}
+function zjb(b,a){b.c=a;return b;}
+function Ajb(b,a){if(b.b===null)b.b=new bjb();cjb(b.b,a);}
+function Cjb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[622],[21],[0],null);}else{return a.b.b;}}
+function Djb(a){if(a.a!==null&& !EU('',a.a)){return true;}else{return false;}}
+function Ejb(b,a){ejb(b.b,a);}
+function yjb(){}
+_=yjb.prototype=new fU();_.tN=lgc+'FactPattern';_.tI=272;_.a=null;_.b=null;_.c=null;function bkb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),30);a.c=b.Ed();}
+function ckb(b,a){b.gf(a.a);b.ff(a.b);b.gf(a.c);}
+function kkb(b,a){a.e=b.Bd();a.f=b.Ed();}
+function lkb(b,a){b.df(a.e);b.gf(a.f);}
+function okb(b,a,c){b.a=a;b.b=c;return b;}
+function ukb(){var a;a=qU(new pU());sU(a,this.a);if(EU('no-loop',this.a)){sU(a,' ');sU(a,this.b===null?'true':this.b);}else if(EU('salience',this.a)){sU(a,' ');sU(a,this.b);}else if(this.b!==null){sU(a,' "');sU(a,this.b);sU(a,'"');}return wU(a);}
+function nkb(){}
+_=nkb.prototype=new fU();_.tS=ukb;_.tN=lgc+'RuleAttribute';_.tI=273;_.a=null;_.b=null;function skb(b,a){a.a=b.Ed();a.b=b.Ed();}
+function tkb(b,a){b.gf(a.a);b.gf(a.b);}
+function wkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[18],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[19],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[20],[0],null);}
+function xkb(a){wkb(a);return a;}
+function ykb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[18],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function zkb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[19],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[19],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
+function Akb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[20],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[20],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
+function Ckb(h){var a,b,c,d,e,f,g;g=nY(new lY());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,31)){b=Fb(f,31);if(Djb(b)){pY(g,b.a);}for(e=0;e<Cjb(b).a;e++){c=Cjb(b)[e];if(ac(c,32)){a=Fb(c,32);if(nlb(a)){pY(g,a.b);}}}}}return g;}
+function Dkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],31)){b=Fb(c.b[a],31);if(b.a!==null&&EU(d,b.a)){return b;}}}return null;}
+function Ekb(d){var a,b,c;if(d.b===null){return null;}b=nY(new lY());for(a=0;a<d.b.a;a++){if(ac(d.b[a],31)){c=Fb(d.b[a],31);if(c.a!==null){pY(b,c.a);}}}return b;}
+function Fkb(k,b){var a,c,d,e,f,g,h,i,j;j=nY(new lY());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,31)){d=Fb(i,31);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(nlb(a)){pY(j,a.b);}}}}if(Djb(d)){pY(j,d.a);}}else{if(Djb(d)){pY(j,d.a);}}}}return j;}
+function alb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],27)){d=Fb(e.e[b],27);if(EU(d.a,a)){return true;}}else if(ac(e.e[b],26)){c=Fb(e.e[b],26);if(EU(c.a,a)){return true;}}}return false;}
+function blb(b,a){return tY(Ckb(b),a);}
+function clb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[18],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function dlb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[19],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],31)){e=Fb(f.b[a],31);if(e.a!==null&&alb(f,e.a)){return false;}}}}f.b=d;return true;}
+function elb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[20],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
+function vkb(){}
+_=vkb.prototype=new fU();_.tN=lgc+'RuleModel';_.tI=274;_.c='1.0';_.d=null;function hlb(b,a){a.a=Fb(b.Dd(),76);a.b=Fb(b.Dd(),77);a.c=b.Ed();a.d=b.Ed();a.e=Fb(b.Dd(),78);}
+function ilb(b,a){b.ff(a.a);b.ff(a.b);b.gf(a.c);b.gf(a.d);b.ff(a.e);}
+function klb(b,a){b.c=a;return b;}
+function llb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',616,15,[new jjb()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[616],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new jjb();c.a=b;}}
+function nlb(a){if(a.b!==null&& !EU('',a.b)){return true;}else{return false;}}
+function jlb(){}
+_=jlb.prototype=new gkb();_.tN=lgc+'SingleFieldConstraint';_.tI=275;_.a=null;_.b=null;_.c=null;_.d=null;function qlb(b,a){a.a=Fb(b.Dd(),79);a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();kkb(b,a);}
+function rlb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);lkb(b,a);}
+function lmb(d,b,c,a){d.e=c;d.a=a;d.d=yab(new wab());d.f=b;d.b=c.a;d.c=ogb(d.a,c.a);FN(d.d,'model-builderInner-Background');nmb(d);pr(d,d.d);return d;}
+function nmb(e){var a,b,c,d,f;ky(e.d);Bab(e.d,0,0,pmb(e));c=yab(new wab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];Bab(c,a,0,omb(e,f));Bab(c,a,1,rmb(e,f));b=a;d=Ccb(new Bcb(),'images/delete_item_small.gif');oB(d,ulb(new tlb(),e,b));Bab(c,a,2,d);}Bab(e.d,0,1,c);}
+function omb(a,b){return fC(new dC(),b.a);}
+function pmb(d){var a,b,c;c=iA(new gA());b=Ccb(new Bcb(),'images/add_field_to_fact.gif');b.te('Add another field to this so you can set its value.');oB(b,emb(new dmb(),d));a='assert';if(ac(d.e,25)){a='assertLogical';}jA(c,hdb(new gdb(),bgb(a)+' '+d.e.a,'modeller-action-Label'));jA(c,b);return c;}
+function qmb(d,e){var a,b,c;c=rcb(new mcb(),'images/newex_wiz.gif','Add a field');FN(c,'ks-popups-Popup');a=xC(new nC());AC(a,'...');for(b=0;b<d.c.a;b++){AC(a,d.c[b]);}gD(a,0);scb(c,'Add field',a);zC(a,imb(new hmb(),d,a,c));wE(c,wN(e),xN(e));zE(c);}
+function rmb(c,d){var a,b;b=lgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return fqb(d.c,Clb(new Blb(),c,d),b);}else{a=eL(new vK());aL(a,d.c);yK(a,amb(new Flb(),c,d,a));if(EU(d.b,'Numeric')){zK(a,Fnb(a));}return a;}}
+function slb(){}
+_=slb.prototype=new pab();_.tN=mgc+'ActionInsertFactWidget';_.tI=276;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ulb(b,a,c){b.a=a;b.b=c;return b;}
+function wlb(b){var a;a=vfb(new mfb(),'Remove this item?',ylb(new xlb(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
+function tlb(){}
+_=tlb.prototype=new fU();_.zc=wlb;_.tN=mgc+'ActionInsertFactWidget$1';_.tI=277;function ylb(b,a,c){b.a=a;b.b=c;return b;}
+function Alb(){ghb(this.a.a.e,this.b);Fwb(this.a.a.f);}
+function xlb(){}
+_=xlb.prototype=new fU();_.pb=Alb;_.tN=mgc+'ActionInsertFactWidget$2';_.tI=278;function Clb(b,a,c){b.a=c;return b;}
+function Elb(a){this.a.c=a;}
+function Blb(){}
+_=Blb.prototype=new fU();_.af=Elb;_.tN=mgc+'ActionInsertFactWidget$3';_.tI=279;function amb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function cmb(a){this.c.c=CK(this.b);Fwb(this.a.f);}
+function Flb(){}
+_=Flb.prototype=new fU();_.yc=cmb;_.tN=mgc+'ActionInsertFactWidget$4';_.tI=280;function emb(b,a){b.a=a;return b;}
+function gmb(a){qmb(this.a,a);}
+function dmb(){}
+_=dmb.prototype=new fU();_.zc=gmb;_.tN=mgc+'ActionInsertFactWidget$5';_.tI=281;function imb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kmb(c){var a,b;a=aD(this.b,bD(this.b));b=pgb(this.a.a,this.a.e.a,a);ehb(this.a.e,mhb(new lhb(),a,'',b));Fwb(this.a.f);this.c.lc();}
+function hmb(){}
+_=hmb.prototype=new fU();_.yc=kmb;_.tN=mgc+'ActionInsertFactWidget$6';_.tI=282;function tmb(c,a,b){c.a=ut(new ot());FN(c.a,'model-builderInner-Background');c.a.ze(0,0,hdb(new gdb(),bgb('retract'),'modeller-action-Label'));c.a.ze(0,1,hdb(new gdb(),'['+b.a+']','modeller-action-Label'));pr(c,c.a);return c;}
+function smb(){}
+_=smb.prototype=new nr();_.tN=mgc+'ActionRetractFactWidget';_.tI=283;_.a=null;function ynb(e,b,d,a){var c;e.d=d;e.a=a;e.c=yab(new wab());e.e=b;FN(e.c,'model-builderInner-Background');if(sgb(e.a,d.a)){e.b=ngb(e.a,d.a);e.f=Fb(e.a.h.ic(d.a),1);}else{c=Dkb(b.c,d.a);e.b=ogb(e.a,c.c);e.f=c.c;}Anb(e);pr(e,e.c);return e;}
+function Anb(e){var a,b,c,d,f;ky(e.c);Bab(e.c,0,0,Cnb(e));c=yab(new wab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];Bab(c,a,0,Bnb(e,f));Bab(c,a,1,Enb(e,f));b=a;d=Ccb(new Bcb(),'images/delete_item_small.gif');oB(d,xmb(new wmb(),e,b));Bab(c,a,2,d);}Bab(e.c,0,1,c);}
+function Bnb(a,b){return fC(new dC(),b.a);}
+function Cnb(d){var a,b,c;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te('Add another field to this so you can set its value.');oB(a,Fmb(new Emb(),d));c='set';if(ac(d.d,28)){c='modify';}jA(b,hdb(new gdb(),bgb(c)+' ['+d.d.a+']','modeller-action-Label'));jA(b,a);return b;}
+function Dnb(d,e){var a,b,c;c=rcb(new mcb(),'images/newex_wiz.gif','Add a field');FN(c,'ks-popups-Popup');a=xC(new nC());AC(a,'...');for(b=0;b<d.b.a;b++){AC(a,d.b[b]);}gD(a,0);scb(c,'Add field',a);zC(a,dnb(new cnb(),d,a,c));wE(c,wN(e),xN(e));zE(c);}
+function Enb(d,f){var a,b,c,e;e='';if(sgb(d.a,d.d.a)){e=Fb(d.a.h.ic(d.d.a),1);}else{e=Dkb(d.e.c,d.d.a).c;}b=lgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return fqb(f.c,hnb(new gnb(),d,f),b);}else{c=fH(new DG());a=eL(new vK());aL(a,f.c);if(cV(f.c)!=0){gL(a,cV(f.c));}if(EU(f.b,'Numeric')){zK(a,Fnb(a));}yK(a,lnb(new knb(),d,f,a));zK(a,Abb(new zbb(),pnb(new onb(),d,a)));hH(c,a);return c;}}
+function Fnb(a){return tnb(new snb(),a);}
+function aob(){return Aab(this.c);}
+function vmb(){}
+_=vmb.prototype=new pab();_.pc=aob;_.tN=mgc+'ActionSetFieldWidget';_.tI=284;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function xmb(b,a,c){b.a=a;b.b=c;return b;}
+function zmb(b){var a;a=vfb(new mfb(),'Remove this item?',Bmb(new Amb(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
+function wmb(){}
+_=wmb.prototype=new fU();_.zc=zmb;_.tN=mgc+'ActionSetFieldWidget$1';_.tI=285;function Bmb(b,a,c){b.a=a;b.b=c;return b;}
+function Dmb(){ghb(this.a.a.d,this.b);Fwb(this.a.a.e);}
+function Amb(){}
+_=Amb.prototype=new fU();_.pb=Dmb;_.tN=mgc+'ActionSetFieldWidget$2';_.tI=286;function Fmb(b,a){b.a=a;return b;}
+function bnb(a){Dnb(this.a,a);}
+function Emb(){}
+_=Emb.prototype=new fU();_.zc=bnb;_.tN=mgc+'ActionSetFieldWidget$3';_.tI=287;function dnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function fnb(c){var a,b;a=aD(this.b,bD(this.b));b=pgb(this.a.a,this.a.f,a);ehb(this.a.d,mhb(new lhb(),a,'',b));Fwb(this.a.e);this.c.lc();}
+function cnb(){}
+_=cnb.prototype=new fU();_.yc=fnb;_.tN=mgc+'ActionSetFieldWidget$4';_.tI=288;function hnb(b,a,c){b.a=c;return b;}
+function jnb(a){this.a.c=a;}
+function gnb(){}
+_=gnb.prototype=new fU();_.af=jnb;_.tN=mgc+'ActionSetFieldWidget$5';_.tI=289;function lnb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nnb(a){this.b.c=CK(this.a);}
+function knb(){}
+_=knb.prototype=new fU();_.yc=nnb;_.tN=mgc+'ActionSetFieldWidget$6';_.tI=290;function pnb(b,a,c){b.a=c;return b;}
+function rnb(){gL(this.a,cV(CK(this.a)));}
+function onb(){}
+_=onb.prototype=new fU();_.pb=rnb;_.tN=mgc+'ActionSetFieldWidget$7';_.tI=291;function tnb(a,b){a.a=b;return a;}
+function vnb(a,b,c){}
+function wnb(c,a,b){if(vS(a)&&a!=61&& !gV(CK(this.a),'=')){AK(Fb(c,80));}}
+function xnb(a,b,c){}
+function snb(){}
+_=snb.prototype=new fU();_.cd=vnb;_.dd=wnb;_.ed=xnb;_.tN=mgc+'ActionSetFieldWidget$8';_.tI=292;function kob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=yab(new wab());FN(d.b,'model-builderInner-Background');mob(d);pr(d,d.b);return d;}
+function mob(c){var a,b,d;Bab(c.b,0,0,nob(c));if(c.d.a!==null){d=ebb(new dbb());a=c.d.a;for(b=0;b<a.a;b++){tO(d,Dsb(new Bqb(),c.c,a[b],c.a,false));}Bab(c.b,0,1,d);}}
+function nob(c){var a,b;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");oB(a,dob(new cob(),c));jA(b,fC(new dC(),cgb(c.d.b)));jA(b,a);FN(b,'modeller-composite-Label');return b;}
+function oob(e,f){var a,b,c,d;a=xC(new nC());b=e.a.e;AC(a,'Choose...');for(c=0;c<b.a;c++){AC(a,b[c]);}gD(a,0);d=rcb(new mcb(),'images/new_fact.gif','New fact pattern...');scb(d,'choose fact type',a);zC(a,hob(new gob(),e,a,d));FN(d,'ks-popups-Popup');wE(d,wN(f)-400,xN(f));zE(d);}
+function pob(){return Aab(this.b);}
+function bob(){}
+_=bob.prototype=new pab();_.pc=pob;_.tN=mgc+'CompositeFactPatternWidget';_.tI=293;_.a=null;_.b=null;_.c=null;_.d=null;function dob(b,a){b.a=a;return b;}
+function fob(a){oob(this.a,a);}
+function cob(){}
+_=cob.prototype=new fU();_.zc=fob;_.tN=mgc+'CompositeFactPatternWidget$1';_.tI=294;function hob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function job(a){Bib(this.a.d,zjb(new yjb(),aD(this.b,bD(this.b))));Fwb(this.a.c);this.c.lc();}
+function gob(){}
+_=gob.prototype=new fU();_.yc=job;_.tN=mgc+'CompositeFactPatternWidget$2';_.tI=295;function Bpb(f,d,b,a,c,g){var e;f.a=a;if(EU(g,'Numeric')){f.d=true;}else{f.d=false;}if(EU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',608,1,['true','false']);}f.c=c.c;e=c.a;f.b=mgb(e,d,b);f.e=fH(new DG());aqb(f);pr(f,f.e);return f;}
+function Cpb(c,b){var a;a=eL(new vK());FN(a,'constraint-value-Editor');if(b.f===null){aL(a,'');}else{aL(a,b.f);}if(b.f===null||cV(b.f)<5){gL(a,3);}else{gL(a,cV(b.f)-1);}yK(a,lpb(new kpb(),c,b,a));zK(a,Abb(new zbb(),ppb(new opb(),c,a)));return a;}
+function Epb(b,a){aqb(b);a.lc();}
+function Fpb(b){var a;if(b.b!==null){return fqb(b.a.f,Eob(new Dob(),b),b.b);}else{a=Cpb(b,b.a);if(b.d){zK(a,new bpb());}a.te('This is a literal value. What is shown is what the field is checked against.');return a;}}
+function aqb(b){var a;b.e.ab();if(b.a.e==0){a=nB(new xA(),'images/edit.gif');oB(a,wob(new rob(),b));hH(b.e,a);}else{switch(b.a.e){case 1:hH(b.e,Fpb(b));break;case 3:hH(b.e,bqb(b));break;case 2:hH(b.e,dqb(b));break;default:break;}}}
+function bqb(e){var a,b,c,d;a=Cpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=nB(new xA(),'images/function_assets.gif');c.te(d);a.te(d);b=eqb(e,c,a);return b;}
+function cqb(e,g,a){var b,c,d,f;b=rcb(new mcb(),'images/newex_wiz.gif','Field value');d=zp(new tp(),'Literal value');d.x(tpb(new spb(),e,a,b));scb(b,'Literal value:',eqb(e,d,edb(new Fcb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));tcb(b,nz(new qw(),'<hr/>'));tcb(b,hdb(new gdb(),'Advanced options','weak-Text'));if(Fkb(e.c,e.a).b>0){f=zp(new tp(),'Bound variable');f.x(xpb(new wpb(),e,a,b));scb(b,'A variable:',eqb(e,f,edb(new Fcb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=zp(new tp(),'New formula');c.x(tob(new sob(),e,a,b));scb(b,'A formula:',eqb(e,c,edb(new Fcb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));wE(b,wN(g),xN(g));zE(b);}
+function dqb(c){var a,b,d,e;e=Fkb(c.c,c.a);a=xC(new nC());if(c.a.f===null){AC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(uY(e,b),1);AC(a,d);if(c.a.f!==null&&EU(c.a.f,d)){gD(a,b);}}zC(a,Aob(new zob(),c,a));return a;}
+function eqb(d,a,c){var b;b=iA(new gA());jA(b,a);jA(b,c);b.Be('100%');return b;}
+function fqb(b,k,d){var a,c,e,f,g,h,i,j;a=xC(new nC());if(b===null||EU('',b)){AC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(FU(i,61)>0){h=hqb(i);f=h[0];c=h[1];j=f;BC(a,c,f);}else{BC(a,i,i);j=i;}if(b!==null&&EU(b,j)){gD(a,e);g=true;}}if(b!==null&& !g){BC(a,b,b);gD(a,d.a);}zC(a,hpb(new gpb(),k,a));return a;}
+function gqb(){return this.j;}
+function hqb(c){var a,b;b=yb('[Ljava.lang.String;',[608],[1],[2],null);a=FU(c,61);b[0]=iV(c,0,a);b[1]=iV(c,a+1,cV(c));return b;}
+function qob(){}
+_=qob.prototype=new pab();_.pc=gqb;_.tN=mgc+'ConstraintValueEditor';_.tI=296;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function wob(b,a){b.a=a;return b;}
+function yob(a){cqb(this.a,a,this.a.a);}
+function rob(){}
+_=rob.prototype=new fU();_.zc=yob;_.tN=mgc+'ConstraintValueEditor$1';_.tI=297;function tob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vob(a){this.b.e=3;Epb(this.a,this.c);}
+function sob(){}
+_=sob.prototype=new fU();_.zc=vob;_.tN=mgc+'ConstraintValueEditor$10';_.tI=298;function Aob(b,a,c){b.a=a;b.b=c;return b;}
+function Cob(a){this.a.a.f=aD(this.b,bD(this.b));}
+function zob(){}
+_=zob.prototype=new fU();_.yc=Cob;_.tN=mgc+'ConstraintValueEditor$2';_.tI=299;function Eob(b,a){b.a=a;return b;}
+function apb(a){this.a.a.f=a;}
+function Dob(){}
+_=Dob.prototype=new fU();_.af=apb;_.tN=mgc+'ConstraintValueEditor$3';_.tI=300;function dpb(a,b,c){}
+function epb(c,a,b){if(vS(a)){AK(Fb(c,80));}}
+function fpb(a,b,c){}
+function bpb(){}
+_=bpb.prototype=new fU();_.cd=dpb;_.dd=epb;_.ed=fpb;_.tN=mgc+'ConstraintValueEditor$4';_.tI=301;function hpb(a,c,b){a.b=c;a.a=b;return a;}
+function jpb(a){this.b.af(cD(this.a,bD(this.a)));}
+function gpb(){}
+_=gpb.prototype=new fU();_.yc=jpb;_.tN=mgc+'ConstraintValueEditor$5';_.tI=302;function lpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function npb(a){this.c.f=CK(this.b);rab(this.a);}
+function kpb(){}
+_=kpb.prototype=new fU();_.yc=npb;_.tN=mgc+'ConstraintValueEditor$6';_.tI=303;function ppb(b,a,c){b.a=c;return b;}
+function rpb(){gL(this.a,cV(CK(this.a)));}
+function opb(){}
+_=opb.prototype=new fU();_.pb=rpb;_.tN=mgc+'ConstraintValueEditor$7';_.tI=304;function tpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vpb(a){this.b.e=1;Epb(this.a,this.c);}
+function spb(){}
+_=spb.prototype=new fU();_.zc=vpb;_.tN=mgc+'ConstraintValueEditor$8';_.tI=305;function xpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function zpb(a){this.b.e=2;Epb(this.a,this.c);}
+function wpb(){}
+_=wpb.prototype=new fU();_.zc=zpb;_.tN=mgc+'ConstraintValueEditor$9';_.tI=306;function uqb(b,a){b.a=Fab(new Eab());b.c=nY(new lY());b.b=a;xqb(b);return b;}
+function vqb(b,a){jA(b.a,a);pY(b.c,a);}
+function xqb(a){yqb(a,a.b.a);pr(a,a.a);}
+function yqb(g,e){var a,b,c,d,f;b=jV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=pqb(new nqb(),g);vqb(g,c);}else if(a==125){tqb(c,cV(rqb(c))+1);c=null;}else{if(c===null&&d===null){d=eC(new dC());vqb(g,d);}if(d!==null){kC(d,jC(d)+Eb(a));}else if(c!==null){sqb(c,rqb(c)+Eb(a));}}}}
+function zqb(c){var a,b,d;b='';for(a=c.c.qc();a.kc();){d=Fb(a.sc(),13);if(ac(d,81)){b=b+jC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+rqb(Fb(d,82))+'} ';}}c.b.a=lV(b);}
+function Aqb(){return bbb(this.a);}
+function iqb(){}
+_=iqb.prototype=new pab();_.pc=Aqb;_.tN=mgc+'DSLSentenceWidget';_.tI=307;_.a=null;_.b=null;_.c=null;function kqb(b,a){b.a=a;return b;}
+function mqb(a){zqb(this.a.c);rab(this.a);}
+function jqb(){}
+_=jqb.prototype=new fU();_.yc=mqb;_.tN=mgc+'DSLSentenceWidget$1';_.tI=308;function oqb(a){a.b=iA(new gA());}
+function pqb(b,a){b.c=a;oqb(b);b.a=eL(new vK());jA(b.b,nz(new qw(),'&nbsp;'));jA(b.b,b.a);jA(b.b,nz(new qw(),'&nbsp;'));yK(b.a,kqb(new jqb(),b));pr(b,b.b);return b;}
+function rqb(a){return CK(a.a);}
+function sqb(b,a){aL(b.a,a);}
+function tqb(b,a){gL(b.a,a);}
+function nqb(){}
+_=nqb.prototype=new pab();_.tN=mgc+'DSLSentenceWidget$FieldEditor';_.tI=309;_.a=null;function Csb(a){a.c=yab(new wab());}
+function Dsb(k,h,i,c,a){var b,d,e,f,g,j;Csb(k);k.e=Fb(i,31);k.b=c;k.d=h;k.a=a;Bab(k.c,0,0,ftb(k));f=xt(k.c);ex(f,0,0,(xz(),yz),(aA(),cA));hx(f,0,0,'modeller-fact-TypeHeader');g=yab(new wab());Bab(k.c,1,0,g);for(j=0;j<Cjb(k.e).a;j++){d=Cjb(k.e)[j];e=j;itb(k,g,j,d,true);b=Ccb(new Bcb(),'images/delete_item_small.gif');b.te('Remove this whole restriction');oB(b,zrb(new Cqb(),k,e));Bab(g,j,5,b);}if(k.a)FN(k.c,'modeller-fact-pattern-Widget');pr(k,k.c);return k;}
+function Fsb(j,b){var a,c,d,e,f,g,h,i;f=iA(new gA());d=null;e=Ccb(new Bcb(),'images/add_field_to_fact.gif');e.te('Add a field to this nested constraint.');oB(e,Drb(new Crb(),j,b));if(EU(b.a,'&&')){d='All of:';}else{d='Any of:';}jA(f,e);jA(f,nz(new qw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=yab(new wab());FN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){itb(j,h,g,i[g],false);c=g;a=Ccb(new Bcb(),'images/delete_item_small.gif');a.te('Remove this (nested) restriction');oB(a,bsb(new asb(),j,b,c));Bab(h,g,5,a);}}jA(f,h);return f;}
+function atb(g,b,c){var a,d,e,f;f=kgb(g.b,g.e.c,c);a=xC(new nC());AC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];BC(a,dgb(e),e);if(EU(e,b.a)){gD(a,d+1);}}zC(a,krb(new jrb(),g,b,a));return a;}
+function btb(d,a,b,c){var e;e=pgb(d.d.a,b,c);return Bpb(new qob(),d.e,c,a,d.d,e);}
+function ctb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=Fab(new Eab());for(e=0;e<a.a.a;e++){b=a.a[e];jA(d,atb(f,b,a.c));jA(d,btb(f,b,c,a.c));}return d;}else{return null;}}
+function dtb(c,b){var a,d,e;if(c.a&& !alb(c.d.c,c.e.a)){d=iA(new gA());e=eL(new vK());if(c.e.a===null){aL(e,'');}else{aL(e,c.e.a);}gL(e,3);jA(d,e);a=zp(new tp(),'Set');a.x(grb(new frb(),c,e,b));jA(d,a);scb(b,'Variable name',d);}}
+function etb(e,c,d){var a,b;a=iA(new gA());FN(a,'modeller-field-Label');if(!nlb(c)){if(e.a&&d){b=Dcb(new Bcb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');oB(b,srb(new rrb(),e,c));jA(a,b);}}else{jA(a,fC(new dC(),'['+c.b+']'));}jA(a,fC(new dC(),c.c));return a;}
+function ftb(c){var a,b;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te('Add a field to this condition, or bind a varible to this fact.');oB(a,nsb(new msb(),c));if(c.e.a!==null){jA(b,fC(new dC(),'['+c.e.a+'] '+c.e.c));}else{jA(b,fC(new dC(),c.e.c));}jA(b,a);return b;}
+function gtb(f,b){var a,c,d,e;e=rgb(f.b,f.e.c,b.c);a=xC(new nC());AC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];BC(a,dgb(d),d);if(EU(d,b.d)){gD(a,c+1);}}zC(a,orb(new nrb(),f,b,a));return a;}
+function htb(e,b){var a,c,d;d=iA(new gA());d.Be('100%');c=nB(new xA(),'images/function_assets.gif');c.te('This is a formula expression that is evaluated to be true or false.');jA(d,c);if(b.f===null){b.f='';}a=eL(new vK());aL(a,b.f);yK(a,jsb(new isb(),e,b,a));a.Be('100%');jA(d,a);return d;}
+function itb(e,b,c,a,d){if(ac(a,32)){jtb(e,e.d,b,c,a,d);}else if(ac(a,30)){Bab(b,c,0,Fsb(e,Fb(a,30)));st(xt(b),c,0,5);}}
+function jtb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){Bab(d,f,0,etb(h,b,g));Bab(d,f,1,gtb(h,b));Bab(d,f,2,ntb(h,b,h.e.c));Bab(d,f,3,ctb(h,b,h.e.c));a=Ccb(new Bcb(),'images/add_connective.gif');a.te('Add more options to this fields values.');oB(a,fsb(new esb(),h,b,e));Bab(d,f,4,a);}else if(b.e==5){Bab(d,f,0,htb(h,b));st(xt(d),f,0,5);}}
+function ktb(d,g,a){var b,c,e,f;c=rcb(new mcb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=lp(new kp());e=eL(new vK());b=zp(new tp(),'Set');mp(f,e);mp(f,b);b.x(wrb(new vrb(),d,e,a,c));scb(c,'Variable name',f);wE(c,wN(g),xN(g));zE(c);}
+function mtb(i,j){var a,b,c,d,e,f,g,h;g=rcb(new mcb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);FN(g,'ks-popups-Popup');a=xC(new nC());AC(a,'...');c=ogb(i.b,i.e.c);for(e=0;e<c.a;e++){AC(a,c[e]);}gD(a,0);zC(a,zsb(new ysb(),i,a,g));scb(g,'Add a restriction on a field',a);b=xC(new nC());AC(b,'...');BC(b,'All of (And)','&&');BC(b,'Any of (Or)','||');gD(b,0);zC(b,Eqb(new Dqb(),i,b,g));f=edb(new Fcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=iA(new gA());jA(d,b);jA(d,f);scb(g,'Multiple field constraint',d);tcb(g,hdb(new gdb(),'Advanced options','weak-Text'));h=zp(new tp(),'New formula');h.x(crb(new brb(),i,g));scb(g,'Add a new formula style expression',h);dtb(i,g);wE(g,wN(j),xN(j));zE(g);}
+function ltb(i,j,b){var a,c,d,e,f,g,h;h=rcb(new mcb(),'images/newex_wiz.gif','Add fields to this constraint');FN(h,'ks-popups-Popup');a=xC(new nC());AC(a,'...');d=ogb(i.b,i.e.c);for(f=0;f<d.a;f++){AC(a,d[f]);}gD(a,0);zC(a,rsb(new qsb(),i,b,a,h));scb(h,'Add a restriction on a field',a);c=xC(new nC());AC(c,'...');BC(c,'All of (And)','&&');BC(c,'Any of (Or)','||');gD(c,0);zC(c,vsb(new usb(),i,c,b,h));g=edb(new Fcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=iA(new gA());jA(e,c);jA(e,g);scb(h,'Multiple field constraint',e);wE(h,wN(j),xN(j));zE(h);}
+function ntb(c,a,b){var d;d=pgb(c.d.a,b,a.c);return Bpb(new qob(),c.e,a.c,a,c.d,d);}
+function otb(){return Aab(this.c);}
+function Bqb(){}
+_=Bqb.prototype=new pab();_.pc=otb;_.tN=mgc+'FactPatternWidget';_.tI=310;_.a=false;_.b=null;_.d=null;_.e=null;function zrb(b,a,c){b.a=a;b.b=c;return b;}
+function Brb(a){if(Bh('Remove this item?')){Ejb(this.a.e,this.b);Fwb(this.a.d);}}
+function Cqb(){}
+_=Cqb.prototype=new fU();_.zc=Brb;_.tN=mgc+'FactPatternWidget$1';_.tI=311;function Eqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function arb(b){var a;a=new bjb();a.a=cD(this.b,bD(this.b));Ajb(this.a.e,a);Fwb(this.a.d);this.c.lc();}
+function Dqb(){}
+_=Dqb.prototype=new fU();_.yc=arb;_.tN=mgc+'FactPatternWidget$10';_.tI=312;function crb(b,a,c){b.a=a;b.b=c;return b;}
+function erb(b){var a;a=new jlb();a.e=5;Ajb(this.a.e,a);Fwb(this.a.d);this.b.lc();}
+function brb(){}
+_=brb.prototype=new fU();_.zc=erb;_.tN=mgc+'FactPatternWidget$11';_.tI=313;function grb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function irb(b){var a;a=CK(this.c);if(Ewb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=CK(this.c);Fwb(this.a.d);this.b.lc();}
+function frb(){}
+_=frb.prototype=new fU();_.zc=irb;_.tN=mgc+'FactPatternWidget$12';_.tI=314;function krb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mrb(a){this.b.a=cD(this.a,bD(this.a));}
+function jrb(){}
+_=jrb.prototype=new fU();_.yc=mrb;_.tN=mgc+'FactPatternWidget$13';_.tI=315;function orb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function qrb(a){this.c.d=cD(this.b,bD(this.b));rab(this.a.d);yV(),BV;}
+function nrb(){}
+_=nrb.prototype=new fU();_.yc=qrb;_.tN=mgc+'FactPatternWidget$14';_.tI=316;function srb(b,a,c){b.a=a;b.b=c;return b;}
+function urb(a){ktb(this.a,a,this.b);}
+function rrb(){}
+_=rrb.prototype=new fU();_.zc=urb;_.tN=mgc+'FactPatternWidget$15';_.tI=317;function wrb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function yrb(b){var a;a=CK(this.d);if(Ewb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;Fwb(this.a.d);this.c.lc();}
+function vrb(){}
+_=vrb.prototype=new fU();_.zc=yrb;_.tN=mgc+'FactPatternWidget$16';_.tI=318;function Drb(b,a,c){b.a=a;b.b=c;return b;}
+function Frb(a){ltb(this.a,a,this.b);}
+function Crb(){}
+_=Crb.prototype=new fU();_.zc=Frb;_.tN=mgc+'FactPatternWidget$2';_.tI=319;function bsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function dsb(a){if(Bh('Remove this item from nested constraint?')){ejb(this.b,this.c);Fwb(this.a.d);}}
+function asb(){}
+_=asb.prototype=new fU();_.zc=dsb;_.tN=mgc+'FactPatternWidget$3';_.tI=320;function fsb(b,a,c,d){b.a=c;b.b=d;return b;}
+function hsb(a){llb(this.a);Fwb(this.b);}
+function esb(){}
+_=esb.prototype=new fU();_.zc=hsb;_.tN=mgc+'FactPatternWidget$4';_.tI=321;function jsb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function lsb(a){this.c.f=CK(this.b);rab(this.a.d);}
+function isb(){}
+_=isb.prototype=new fU();_.yc=lsb;_.tN=mgc+'FactPatternWidget$5';_.tI=322;function nsb(b,a){b.a=a;return b;}
+function psb(a){mtb(this.a,a);}
+function msb(){}
+_=msb.prototype=new fU();_.zc=psb;_.tN=mgc+'FactPatternWidget$6';_.tI=323;function rsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function tsb(a){cjb(this.c,klb(new jlb(),aD(this.b,bD(this.b))));Fwb(this.a.d);this.d.lc();}
+function qsb(){}
+_=qsb.prototype=new fU();_.yc=tsb;_.tN=mgc+'FactPatternWidget$7';_.tI=324;function vsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function xsb(b){var a;a=new bjb();a.a=cD(this.c,bD(this.c));cjb(this.b,a);Fwb(this.a.d);this.d.lc();}
+function usb(){}
+_=usb.prototype=new fU();_.yc=xsb;_.tN=mgc+'FactPatternWidget$8';_.tI=325;function zsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Bsb(a){Ajb(this.a.e,klb(new jlb(),aD(this.b,bD(this.b))));Fwb(this.a.d);this.c.lc();}
+function ysb(){}
+_=ysb.prototype=new fU();_.yc=Bsb;_.tN=mgc+'FactPatternWidget$9';_.tI=326;function gub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=bcb(new Fbb());b=d.a;for(c=0;c<b.a;c++){a=b[c];dcb(f.a,a.a,jub(f,a,c));}pr(f,f.a);return f;}
+function hub(c,a){var b;b=jq(new iq());if(a.b===null){pq(b,true);a.b='true';}else{pq(b,EU(a.b,'true'));}b.x(rtb(new qtb(),c,a,b));return b;}
+function jub(e,a,d){var b,c;if(EU(a.a,'no-loop')){return kub(e,d);}b=null;if(EU(a.a,'enabled')||EU(a.a,'auto-focus')||EU(a.a,'lock-on-active')){b=hub(e,a);}else{b=lub(e,a);}c=Fab(new Eab());jA(c,b);jA(c,kub(e,d));return c;}
+function kub(c,a){var b;b=nB(new xA(),'images/delete_item_small.gif');oB(b,Ftb(new Etb(),c,a));return b;}
+function lub(c,a){var b;b=eL(new vK());gL(b,cV(a.b)<3?3:cV(a.b));aL(b,a.b);yK(b,vtb(new utb(),c,a,b));if(EU(a.a,'date-effective')||EU(a.a,'date-expires')){if(a.b===null||EU('',a.b))aL(b,'dd-MMM-yyyy');gL(b,10);}zK(b,ztb(new ytb(),c,b));return b;}
+function mub(){var a;a=xC(new nC());AC(a,'Choose...');AC(a,'salience');AC(a,'enabled');AC(a,'date-effective');AC(a,'date-expires');AC(a,'no-loop');AC(a,'agenda-group');AC(a,'activation-group');AC(a,'duration');AC(a,'auto-focus');AC(a,'lock-on-active');AC(a,'ruleflow-group');AC(a,'dialect');return a;}
+function nub(){return this.a.pc();}
+function ptb(){}
+_=ptb.prototype=new pab();_.pc=nub;_.tN=mgc+'RuleAttributeWidget';_.tI=327;_.a=null;_.b=null;_.c=null;function rtb(b,a,c,d){b.a=c;b.b=d;return b;}
+function ttb(a){this.a.b=oq(this.b)?'true':'false';}
+function qtb(){}
+_=qtb.prototype=new fU();_.zc=ttb;_.tN=mgc+'RuleAttributeWidget$1';_.tI=328;function vtb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function xtb(a){this.b.b=CK(this.c);rab(this.a);}
+function utb(){}
+_=utb.prototype=new fU();_.yc=xtb;_.tN=mgc+'RuleAttributeWidget$2';_.tI=329;function ztb(b,a,c){b.a=c;return b;}
+function Btb(a,b,c){}
+function Ctb(a,b,c){}
+function Dtb(a,b,c){gL(this.a,cV(CK(this.a)));}
+function ytb(){}
+_=ytb.prototype=new fU();_.cd=Btb;_.dd=Ctb;_.ed=Dtb;_.tN=mgc+'RuleAttributeWidget$3';_.tI=330;function Ftb(b,a,c){b.a=a;b.b=c;return b;}
+function bub(b){var a;a=vfb(new mfb(),'Remove this rule option?',dub(new cub(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
+function Etb(){}
+_=Etb.prototype=new fU();_.zc=bub;_.tN=mgc+'RuleAttributeWidget$4';_.tI=331;function dub(b,a,c){b.a=a;b.b=c;return b;}
+function fub(){clb(this.a.a.b,this.b);Fwb(this.a.a.c);}
+function cub(){}
+_=cub.prototype=new fU();_.pb=fub;_.tN=mgc+'RuleAttributeWidget$5';_.tI=332;function twb(b,a){b.c=Fb(a.b,83);b.a=cLb((aLb(),fLb),a.d.o);b.b=yab(new wab());Dwb(b);FN(b.b,'model-builder-Background');pr(b,b.b);b.Be('100%');b.qe('100%');return b;}
+function uwb(b,a){Akb(b.c,lib(new jib(),a));Fwb(b);}
+function vwb(b,a){Akb(b.c,tib(new rib(),a));Fwb(b);}
+function wwb(b,a){zkb(b.c,Aib(new zib(),a));Fwb(b);}
+function xwb(b,a){zkb(b.c,rjb(a));Fwb(b);}
+function ywb(b,a){Akb(b.c,rjb(a));Fwb(b);}
+function zwb(b,a){zkb(b.c,zjb(new yjb(),a));Fwb(b);}
+function Awb(a,b){Akb(a.c,dib(new cib(),b));Fwb(a);}
+function Cwb(b){var a;a=Ccb(new Bcb(),'images/new_item.gif');a.te('Add an option to the rule, to modify its behavior when evaluated or executed.');oB(a,yvb(new xvb(),b));return a;}
+function Dwb(c){var a,b;ky(c.b);b=Ccb(new Bcb(),'images/new_item.gif');b.te('Add a condition to this rule.');oB(b,qvb(new pub(),c));Bab(c.b,0,0,fC(new dC(),'WHEN'));Bab(c.b,0,2,b);Bab(c.b,1,1,axb(c,c.c));Bab(c.b,2,0,fC(new dC(),'THEN'));a=Ccb(new Bcb(),'images/new_item.gif');a.te('Add an action to this rule.');oB(a,uvb(new tvb(),c));Bab(c.b,2,2,a);Bab(c.b,3,1,bxb(c,c.c));Bab(c.b,4,0,fC(new dC(),'(options)'));Bab(c.b,4,2,Cwb(c));Bab(c.b,5,1,gub(new ptb(),c,c.c));}
+function Ewb(b,a){return blb(b.c,a)||sgb(b.a,a);}
+function Fwb(a){Dwb(a);rab(a);}
+function axb(e,c){var a,b,d,f,g;f=ebb(new dbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,31)){g=Dsb(new Bqb(),e,d,e.a,true);tO(f,gxb(e,c,b,g));tO(f,fxb(e));}else if(ac(d,29)){g=kob(new bob(),e,Fb(d,29),e.a);tO(f,gxb(e,c,b,g));tO(f,fxb(e));}else if(ac(d,10)){}else{throw lU(new kU(),"I don't know what type of pattern that is.");}}a=ebb(new dbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,10)){g=uqb(new iqb(),Fb(d,10));tO(a,gxb(e,c,b,g));FN(a,'model-builderInner-Background');}}tO(f,a);return f;}
+function bxb(g,e){var a,b,c,d,f,h,i;h=ebb(new dbb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,27)){i=ynb(new vmb(),g,Fb(a,27),g.a);}else if(ac(a,24)){i=lmb(new slb(),g,Fb(a,24),g.a);}else if(ac(a,26)){i=tmb(new smb(),g.a,Fb(a,26));}else if(ac(a,10)){i=uqb(new iqb(),Fb(a,10));FN(i,'model-builderInner-Background');}tO(h,fxb(g));b=Fab(new Eab());f=Ccb(new Bcb(),'images/delete_item_small.gif');f.te('Remove this action.');d=c;oB(f,awb(new Fvb(),g,e,d));jA(b,i);if(!ac(i,84)){i.Be('100%');b.Be('100%');}jA(b,f);tO(h,b);}return h;}
+function cxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=rcb(new mcb(),'images/new_fact.gif','Add a new action...');FN(k,'ks-popups-Popup');q=Ekb(n.c);p=xC(new nC());l=xC(new nC());j=xC(new nC());AC(p,'Choose ...');AC(l,'Choose ...');AC(j,'Choose ...');for(i=q.qc();i.kc();){o=Fb(i.sc(),1);AC(p,o);AC(l,o);AC(j,o);}d=qgb(n.a);for(f=0;f<d.a;f++){AC(p,d[f]);}gD(p,0);zC(p,rub(new qub(),n,p,k));zC(l,vub(new uub(),n,l,k));zC(j,zub(new yub(),n,j,k));if(FC(p)>1){scb(k,'Set the values of a field on',p);}if(FC(j)>1){e=iA(new gA());jA(e,j);g=nB(new xA(),'images/information.gif');g.te('Modify a field on a fact, and notify the engine to re-evaluate rules.');jA(e,g);scb(k,'Modify a fact',e);}if(FC(l)>1){scb(k,'Retract the fact',l);}b=xC(new nC());c=xC(new nC());AC(b,'Choose ...');AC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];AC(b,h);AC(c,h);}zC(b,Dub(new Cub(),n,b,k));zC(c,bvb(new avb(),n,c,k));if(FC(b)>1){scb(k,'Insert a new fact',b);e=iA(new gA());jA(e,c);g=nB(new xA(),'images/inf!
 ormation.gif');g.te('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');jA(e,g);scb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=xC(new nC());AC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];BC(a,sjb(m),oT(f));}zC(a,fvb(new evb(),n,a,k));scb(k,'DSL sentence',a);}wE(k,dc(ai()/3),dc(Fh()/3));zE(k);}
+function dxb(c,d){var a,b;b=rcb(new mcb(),'images/config.png','Add an option to the rule');a=mub();gD(a,0);zC(a,Cvb(new Bvb(),c,a,b));FN(b,'ks-popups-Popup');scb(b,'Attribute',a);wE(b,wN(d)-400,xN(d));zE(b);}
+function exb(j,k){var a,b,c,d,e,f,g,h,i;h=rcb(new mcb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=xC(new nC());BC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){AC(e,f[g]);}gD(e,0);if(f.a>0)scb(h,'Fact',e);zC(e,iwb(new hwb(),j,e,h));FN(h,'ks-popups-Popup');c=(Dfb(),Efb);b=xC(new nC());BC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];BC(b,cgb(a),a);}gD(b,0);if(f.a>0)scb(h,'Condition type',b);zC(b,mwb(new lwb(),j,b,h));if(j.a.b.a>0){d=xC(new nC());AC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];BC(d,sjb(i),oT(g));}zC(d,qwb(new pwb(),j,d,h));scb(h,'DSL sentence',d);}wE(h,wN(k)-400,xN(k));zE(h);}
+function fxb(b){var a;a=nz(new qw(),'&nbsp;');a.qe('2px');return a;}
+function gxb(f,d,b,g){var a,c,e;a=Fab(new Eab());e=Ccb(new Bcb(),'images/delete_item_small.gif');e.te('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;oB(e,jvb(new ivb(),f,d,c));a.Be('100%');g.Be('100%');jA(a,g);jA(a,e);return a;}
+function hxb(){return Aab(this.b)||this.j;}
+function oub(){}
+_=oub.prototype=new pab();_.pc=hxb;_.tN=mgc+'RuleModeller';_.tI=333;_.a=null;_.b=null;_.c=null;function qvb(b,a){b.a=a;return b;}
+function svb(a){exb(this.a,a);}
+function pub(){}
+_=pub.prototype=new fU();_.zc=svb;_.tN=mgc+'RuleModeller$1';_.tI=334;function rub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function tub(a){uwb(this.a,aD(this.c,bD(this.c)));this.b.lc();}
+function qub(){}
+_=qub.prototype=new fU();_.yc=tub;_.tN=mgc+'RuleModeller$10';_.tI=335;function vub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function xub(a){Awb(this.a,aD(this.c,bD(this.c)));this.b.lc();}
+function uub(){}
+_=uub.prototype=new fU();_.yc=xub;_.tN=mgc+'RuleModeller$11';_.tI=336;function zub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Bub(a){vwb(this.a,aD(this.b,bD(this.b)));this.c.lc();}
+function yub(){}
+_=yub.prototype=new fU();_.yc=Bub;_.tN=mgc+'RuleModeller$12';_.tI=337;function Dub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Fub(b){var a;a=aD(this.b,bD(this.b));Akb(this.a.c,uhb(new shb(),a));Fwb(this.a);this.c.lc();}
+function Cub(){}
+_=Cub.prototype=new fU();_.yc=Fub;_.tN=mgc+'RuleModeller$13';_.tI=338;function bvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function dvb(b){var a;a=aD(this.b,bD(this.b));Akb(this.a.c,Chb(new Ahb(),a));Fwb(this.a);this.c.lc();}
+function avb(){}
+_=avb.prototype=new fU();_.yc=dvb;_.tN=mgc+'RuleModeller$14';_.tI=339;function fvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function hvb(b){var a;a=mT(cD(this.b,bD(this.b)));ywb(this.a,this.a.a.a[a]);this.c.lc();}
+function evb(){}
+_=evb.prototype=new fU();_.yc=hvb;_.tN=mgc+'RuleModeller$15';_.tI=340;function jvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function lvb(b){var a;a=vfb(new mfb(),'Remove this entire condition?',nvb(new mvb(),this,this.c,this.b));wE(a,wN(b),xN(b));zE(a);}
+function ivb(){}
+_=ivb.prototype=new fU();_.zc=lvb;_.tN=mgc+'RuleModeller$16';_.tI=341;function nvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function pvb(){if(dlb(this.c,this.b)){Fwb(this.a.a);}else{xbb("Can't remove that item as it is used in the action part of the rule.");}}
+function mvb(){}
+_=mvb.prototype=new fU();_.pb=pvb;_.tN=mgc+'RuleModeller$17';_.tI=342;function uvb(b,a){b.a=a;return b;}
+function wvb(a){cxb(this.a,a);}
+function tvb(){}
+_=tvb.prototype=new fU();_.zc=wvb;_.tN=mgc+'RuleModeller$2';_.tI=343;function yvb(b,a){b.a=a;return b;}
+function Avb(a){dxb(this.a,a);}
+function xvb(){}
+_=xvb.prototype=new fU();_.zc=Avb;_.tN=mgc+'RuleModeller$3';_.tI=344;function Cvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Evb(a){ykb(this.a.c,okb(new nkb(),aD(this.b,bD(this.b)),''));Fwb(this.a);this.c.lc();}
+function Bvb(){}
+_=Bvb.prototype=new fU();_.yc=Evb;_.tN=mgc+'RuleModeller$4';_.tI=345;function awb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function cwb(b){var a;a=vfb(new mfb(),'Remove this item?',ewb(new dwb(),this,this.c,this.b));wE(a,wN(b),xN(b));zE(a);}
+function Fvb(){}
+_=Fvb.prototype=new fU();_.zc=cwb;_.tN=mgc+'RuleModeller$5';_.tI=346;function ewb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function gwb(){elb(this.c,this.b);Fwb(this.a.a);}
+function dwb(){}
+_=dwb.prototype=new fU();_.pb=gwb;_.tN=mgc+'RuleModeller$6';_.tI=347;function iwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kwb(b){var a;a=aD(this.b,bD(this.b));if(!EU(a,'IGNORE')){zwb(this.a,a);this.c.lc();}}
+function hwb(){}
+_=hwb.prototype=new fU();_.yc=kwb;_.tN=mgc+'RuleModeller$7';_.tI=348;function mwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function owb(b){var a;a=cD(this.b,bD(this.b));if(!EU(a,'IGNORE')){wwb(this.a,a);this.c.lc();}}
+function lwb(){}
+_=lwb.prototype=new fU();_.yc=owb;_.tN=mgc+'RuleModeller$8';_.tI=349;function qwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function swb(b){var a;a=mT(cD(this.b,bD(this.b)));xwb(this.a,this.a.a.b[a]);this.c.lc();}
+function pwb(){}
+_=pwb.prototype=new fU();_.yc=swb;_.tN=mgc+'RuleModeller$9';_.tI=350;function kxb(b,a,c){b.a=c;return b;}
+function mxb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
+function jxb(){}
+_=jxb.prototype=new fU();_.zc=mxb;_.tN=ngc+'AssetAttachmentFileWidget$1';_.tI=351;function oxb(b,a){b.a=a;return b;}
+function qxb(a){Cxb(this.a);Dxb(this.a);}
+function nxb(){}
+_=nxb.prototype=new fU();_.zc=qxb;_.tN=ngc+'AssetAttachmentFileWidget$2';_.tI=352;function sxb(b,a){b.a=a;return b;}
+function vxb(a){}
+function uxb(a){sdb();if(aV(a.a,'OK')>(-1)){f_b(this.a.e);}else{xbb('Unable to upload the file.');}}
+function rxb(){}
+_=rxb.prototype=new fU();_.od=vxb;_.nd=uxb;_.tN=ngc+'AssetAttachmentFileWidget$3';_.tI=353;function jyb(){jyb=d3;ucb();}
+function hyb(c){var a,b;jyb();rcb(c,'images/new_wiz.gif','Create a new fact template');c.a=ut(new ot());c.b=eL(new vK());scb(c,'Name:',c.b);scb(c,'Fact attributes:',c.a);a=nB(new xA(),'images/new_item.gif');oB(a,ayb(new Fxb(),c));scb(c,'Add a new attribute',a);b=zp(new tp(),'Create');b.x(eyb(new dyb(),c));scb(c,'',b);return c;}
+function iyb(b){var a;a=yt(b.a);b.a.ze(a,0,eL(new vK()));b.a.ze(a,1,myb(b));}
+function kyb(d){var a,b,c,e,f;b='template '+CK(d.b)+'\n';for(a=0;a<yt(d.a);a++){e=Fb(ty(d.a,a,1),85);f=aD(e,bD(e));c=CK(Fb(ty(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
+function lyb(b,a){b.c=a;}
+function myb(b){var a;a=xC(new nC());AC(a,'String');AC(a,'Integer');AC(a,'Float');AC(a,'Date');AC(a,'Boolean');return a;}
+function Exb(){}
+_=Exb.prototype=new mcb();_.tN=ngc+'FactTemplateWizard';_.tI=354;_.a=null;_.b=null;_.c=null;function ayb(b,a){b.a=a;return b;}
+function cyb(a){iyb(this.a);}
+function Fxb(){}
+_=Fxb.prototype=new fU();_.zc=cyb;_.tN=ngc+'FactTemplateWizard$1';_.tI=355;function eyb(b,a){b.a=a;return b;}
+function gyb(a){jDb(this.a.c);this.a.lc();}
+function dyb(){}
+_=dyb.prototype=new fU();_.zc=gyb;_.tN=ngc+'FactTemplateWizard$2';_.tI=356;function oyb(b,a,c){wxb(b,a,c);return b;}
+function qyb(){return 'images/model_large.png';}
+function ryb(){return 'editable-Surface';}
+function nyb(){}
+_=nyb.prototype=new ixb();_.vb=qyb;_.Eb=ryb;_.tN=ngc+'ModelAttachmentFileWidget';_.tI=357;function qzb(){qzb=d3;ucb();}
+function ozb(a){a.b=bcb(new Fbb());a.d=bcb(new Fbb());}
+function pzb(f,b){var a,c,d,e;qzb();rcb(f,'images/new_wiz.gif','Create a new package');ozb(f);f.c=eL(new vK());f.a=pK(new oK());gcb(f.d,nz(new qw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));dcb(f.d,'Name:',f.c);dcb(f.d,'Description:',f.a);f.c.te('The name of the package. Avoid spaces, use underscore instead.');e=jG(new hG(),'action','Create new pa!
 ckage');d=jG(new hG(),'action','Import from drl file');pq(e,true);f.d.ye(true);e.x(uyb(new tyb(),f));f.b.ye(false);d.x(yyb(new xyb(),f));a=lp(new kp());mp(a,e);mp(a,d);tcb(f,a);tcb(f,f.d);tcb(f,f.b);dcb(f.b,'DRL file to import:',szb(b,f));c=zp(new tp(),'Create package');c.x(Cyb(new Byb(),f,b));dcb(f.d,'',c);FN(f,'ks-popups-Popup');return f;}
+function rzb(d,b,a,c){wdb('Creating package - please wait...');ETb(mMb(),b,a,bzb(new azb(),d,c));}
+function szb(a,d){qzb();var b,c,e,f;f=fv(new av());lv(f,v()+'package');mv(f,'multipart/form-data');nv(f,'post');c=iA(new gA());f.Ae(c);e=jt(new it());mt(e,'classicDRLFile');jA(c,e);jA(c,fC(new dC(),'upload:'));b=Dcb(new Bcb(),'images/upload.gif','Import');oB(b,gzb(new fzb(),f));jA(c,b);gv(f,kzb(new jzb(),a,d,e));return f;}
+function syb(){}
+_=syb.prototype=new mcb();_.tN=ngc+'NewPackageWizard';_.tI=358;_.a=null;_.c=null;function uyb(b,a){b.a=a;return b;}
+function wyb(a){this.a.d.ye(true);this.a.b.ye(false);}
+function tyb(){}
+_=tyb.prototype=new fU();_.zc=wyb;_.tN=ngc+'NewPackageWizard$1';_.tI=359;function yyb(b,a){b.a=a;return b;}
+function Ayb(a){this.a.d.ye(false);this.a.b.ye(true);}
+function xyb(){}
+_=xyb.prototype=new fU();_.zc=Ayb;_.tN=ngc+'NewPackageWizard$2';_.tI=360;function Cyb(b,a,c){b.a=a;b.b=c;return b;}
+function Eyb(b,a){return dV(a,'[a-zA-Z\\.]*');}
+function Fyb(a){if(Eyb(this,CK(this.a.c))){rzb(this.a,CK(this.a.c),CK(this.a.a),this.b);this.a.lc();}else{aL(this.a.c,'');zh('Invalid package name, use java-style package name');}}
+function Byb(){}
+_=Byb.prototype=new fU();_.zc=Fyb;_.tN=ngc+'NewPackageWizard$3';_.tI=361;function bzb(b,a,c){b.a=c;return b;}
+function dzb(b,a){sdb();sFb(b.a);}
+function ezb(a){dzb(this,a);}
+function azb(){}
+_=azb.prototype=new vcb();_.pd=ezb;_.tN=ngc+'NewPackageWizard$4';_.tI=362;function gzb(a,b){a.a=b;return a;}
+function izb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){wdb('Importing drl package, please wait, as this could take some time...');pv(this.a);}}
+function fzb(){}
+_=fzb.prototype=new fU();_.zc=izb;_.tN=ngc+'NewPackageWizard$5';_.tI=363;function kzb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
+function nzb(a){if(cV(lt(this.c))==0){zh('You did not choose a drl file to import !');Bv(a,true);}else if(!CU(lt(this.c),'.drl')){zh("You can only import '.drl' files.");Bv(a,true);}}
+function mzb(a){if(aV(a.a,'OK')>(-1)){zh('Package was imported successfully. ');sFb(this.a);this.b.lc();}else{xbb('Unable to import into the package. ['+a.a+']');}sdb();}
+function jzb(){}
+_=jzb.prototype=new fU();_.od=nzb;_.nd=mzb;_.tN=ngc+'NewPackageWizard$6';_.tI=364;function nBb(h,e,f){var a,b,c,d,g;h.c=ccb(new Fbb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=fH(new DG());g=eL(new vK());a=zp(new tp(),'Build package');a.te('This will validate and compile all the assets in a package.');a.x(gAb(new uzb(),h,b,g));c=zp(new tp(),'Show package source');c.x(kAb(new jAb(),h,e));dcb(h.c,'View source for package',c);d=iA(new gA());jA(d,a);jA(d,nz(new qw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));jA(d,g);jA(d,edb(new Fcb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));dcb(h.c,'Build binary package:',d);gcb(h.c,nz(new qw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));gcb(h.c,b);FN(h.c,'package-Editor');h.c.Be('100%');pr(h,h.c);return h;}
+function pBb(d,a,c){var b;a.ab();b=iA(new gA());jA(b,fC(new dC(),'Validating and building package, please wait...'));jA(b,nB(new xA(),'images/red_anime.gif'));wdb('Please wait...');hH(a,b);fg(DAb(new CAb(),d,c,a));}
+function qBb(i,e,a){var b,c,d,f,g,h;a.ab();b=ut(new ot());FN(b,'build-Results');bz(b,0,1,'Format');bz(b,0,2,'Name');bz(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ze(f,0,nB(new xA(),'images/error.gif'));bz(b,f,1,d.a);bz(b,f,2,d.b);bz(b,f,3,d.c);if(!EU('package',d.a)){h=zp(new tp(),'Show');h.x(kBb(new jBb(),i,d));b.ze(f,4,h);}}b.Be('100%');g=zG(new xG(),b);BG(g,true);EN(g,'100%','25em');hH(a,g);}
+function rBb(g,i){var a,b,c,d,e,f,h;wdb('Loading existing snapshots...');c=rcb(new mcb(),'images/snapshot.png','Create a snapshot for deployment.');tcb(c,nz(new qw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=sO(new qO());scb(c,'Choose or create snapshot name:',h);f=nY(new lY());d=eL(new vK());e='NEW: ';dUb(mMb(),g.a.j,wzb(new vzb(),g,f,h,d));a=eL(new vK());scb(c,'Comment:',a);b=zp(new tp(),'Create new snapshot');scb(c,'',b);b.x(Ezb(new Dzb(),g,f,d,a,c));c.Be('50%');wE(c,dc((tab()-rE(c))/2),100);zE(c);}
+function sBb(e,a){var b,c,d,f;a.ab();f=sO(new qO());tO(f,nz(new qw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=uBb(e.a);b=nz(new qw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");tO(f,b);d=zp(new tp(),'Create snapshot for deployment');d.x(gBb(new fBb(),e));tO(f,d);hH(a,f);}
+function tBb(b,a){wdb('Assembling package source...');fg(oAb(new nAb(),b,a));}
+function uBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
+function vBb(b,c){var a,d;d=rcb(new mcb(),'images/view_source.gif','Viewing source for: '+c);a=pK(new oK());uK(a,30);a.Be('100%');tK(a,80);tcb(d,a);aL(a,b);a.ne(true);a.te('THIS IS READ ONLY - you may copy and paste, but not edit.');zK(a,xAb(new wAb(),a,b));sdb();wE(d,dc((tab()-rE(d))/2),100);zE(d);}
+function tzb(){}
+_=tzb.prototype=new nr();_.tN=ngc+'PackageBuilderWidget';_.tI=365;_.a=null;_.b=null;_.c=null;function gAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function iAb(a){pBb(this.a,this.b,CK(this.c));}
+function uzb(){}
+_=uzb.prototype=new fU();_.zc=iAb;_.tN=ngc+'PackageBuilderWidget$1';_.tI=366;function wzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
+function yzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=jG(new hG(),'snapshotNameGroup',f[c].b);pY(this.b,b);tO(this.c,b);}d=iA(new gA());e=jG(new hG(),'snapshotNameGroup','NEW: ');jA(d,e);this.a.ne(false);e.x(Azb(new zzb(),this,this.a));jA(d,this.a);pY(this.b,e);tO(this.c,d);sdb();}
+function vzb(){}
+_=vzb.prototype=new vcb();_.pd=yzb;_.tN=ngc+'PackageBuilderWidget$10';_.tI=367;function Azb(b,a,c){b.a=c;return b;}
+function Czb(a){this.a.ne(true);}
+function zzb(){}
+_=zzb.prototype=new fU();_.zc=Czb;_.tN=ngc+'PackageBuilderWidget$11';_.tI=368;function Ezb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
+function aAb(d){var a,b,c;c=false;for(b=this.f.qc();b.kc();){a=Fb(b.sc(),87);if(oq(a)){this.a=nq(a);if(!EU(nq(a),'NEW: ')){c=true;}break;}}if(EU(this.a,'NEW: ')){this.a=CK(this.e);}if(EU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}DTb(mMb(),this.b.a.j,this.a,c,CK(this.c),cAb(new bAb(),this,this.d));}
+function Dzb(){}
+_=Dzb.prototype=new fU();_.zc=aAb;_.tN=ngc+'PackageBuilderWidget$12';_.tI=369;_.a='';function cAb(b,a,c){b.a=a;b.b=c;return b;}
+function eAb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.lc();}
+function fAb(a){eAb(this,a);}
+function bAb(){}
+_=bAb.prototype=new vcb();_.pd=fAb;_.tN=ngc+'PackageBuilderWidget$13';_.tI=370;function kAb(b,a,c){b.a=c;return b;}
+function mAb(a){tBb(this.a.m,this.a.j);}
+function jAb(){}
+_=jAb.prototype=new fU();_.zc=mAb;_.tN=ngc+'PackageBuilderWidget$2';_.tI=371;function oAb(a,c,b){a.b=c;a.a=b;return a;}
+function qAb(){sTb(mMb(),this.b,sAb(new rAb(),this,this.a));}
+function nAb(){}
+_=nAb.prototype=new fU();_.pb=qAb;_.tN=ngc+'PackageBuilderWidget$3';_.tI=372;function sAb(b,a,c){b.a=c;return b;}
+function uAb(c,b){var a;a=Fb(b,1);vBb(a,c.a);}
+function vAb(a){uAb(this,a);}
+function rAb(){}
+_=rAb.prototype=new vcb();_.pd=vAb;_.tN=ngc+'PackageBuilderWidget$4';_.tI=373;function xAb(a,b,c){a.a=b;a.b=c;return a;}
+function zAb(a,b,c){aL(this.a,this.b);}
+function AAb(a,b,c){aL(this.a,this.b);}
+function BAb(a,b,c){aL(this.a,this.b);}
+function wAb(){}
+_=wAb.prototype=new fU();_.cd=zAb;_.dd=AAb;_.ed=BAb;_.tN=ngc+'PackageBuilderWidget$5';_.tI=374;function DAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function FAb(){tTb(mMb(),this.a.a.m,this.c,bBb(new aBb(),this,this.b));}
+function CAb(){}
+_=CAb.prototype=new fU();_.pb=FAb;_.tN=ngc+'PackageBuilderWidget$6';_.tI=375;function bBb(b,a,c){b.a=a;b.b=c;return b;}
+function dBb(c,a){var b;sdb();if(a===null){sBb(c.a.a,c.b);}else{b=Fb(a,88);qBb(c.a.a,b,c.b);}}
+function eBb(a){dBb(this,a);}
+function aBb(){}
+_=aBb.prototype=new vcb();_.pd=eBb;_.tN=ngc+'PackageBuilderWidget$7';_.tI=376;function gBb(b,a){b.a=a;return b;}
+function iBb(a){rBb(this.a,a);}
+function fBb(){}
+_=fBb.prototype=new fU();_.zc=iBb;_.tN=ngc+'PackageBuilderWidget$8';_.tI=377;function kBb(b,a,c){b.a=a;b.b=c;return b;}
+function mBb(a){oIb(this.a.b,this.b.d);}
+function jBb(){}
+_=jBb.prototype=new fU();_.zc=mBb;_.tN=ngc+'PackageBuilderWidget$9';_.tI=378;function tEb(e,b,c,a,d){bcb(e);e.b=b;e.c=c;e.a=a;e.e=d;FN(e,'package-Editor');e.Be('100%');zEb(e);return e;}
+function vEb(b){var a;a=pK(new oK());a.Be('100%');uK(a,8);aL(a,b.b.d);yK(a,qDb(new pDb(),b,a));tK(a,100);return xEb(b,a);}
+function wEb(b,a){wdb('Saving package configuration. Please wait ...');uUb(mMb(),b.b,cCb(new bCb(),b,a));}
+function xEb(d,a){var b,c;c=iA(new gA());jA(c,a);b=nB(new xA(),'images/max_min.gif');b.te('Increase view area');jA(c,b);oB(b,mDb(new lDb(),d,a));return c;}
+function yEb(g){var a,b,c,d,e,f,h;a=pK(new oK());a.Be('100%');uK(a,8);tK(a,100);aL(a,g.b.f);yK(a,pCb(new oCb(),g,a));f=iA(new gA());jA(f,a);h=sO(new qO());b=nB(new xA(),'images/max_min.gif');oB(b,tCb(new sCb(),g,a));b.te('Increase view area.');tO(h,b);e=nB(new xA(),'images/new_import.gif');oB(e,xCb(new wCb(),g,a));tO(h,e);e.te('Add a new Type/Class import to the package.');d=nB(new xA(),'images/new_global.gif');oB(d,BCb(new ACb(),g,a));d.te('Add a new global variable declaration.');tO(h,d);c=nB(new xA(),'images/fact_template.gif');oB(c,dDb(new cDb(),g,a));c.te('Add a new fact template.');f.Be('100%');jA(f,h);return f;}
+function zEb(c){var a,b;hcb(c);gcb(c,aFb(c));dcb(c,'Description:',vEb(c));dcb(c,'Header:',yEb(c));gcb(c,nz(new qw(),'<hr/>'));dcb(c,'Last modified:',fC(new dC(),a0(c.b.i)));dcb(c,'Last contributor:',fC(new dC(),c.b.h));gcb(c,nz(new qw(),'<hr/>'));c.f=mz(new qw());b=iA(new gA());a=Ccb(new Bcb(),'images/edit.gif');a.te('Change status.');oB(a,ECb(new xBb(),c));jA(b,c.f);if(!c.b.g){jA(b,a);}CEb(c,c.b.l);dcb(c,'Status:',b);if(!c.b.g){gcb(c,BEb(c));}gcb(c,nz(new qw(),'<hr/>'));}
+function AEb(a){wdb('Refreshing package data...');iUb(mMb(),a.b.m,lCb(new kCb(),a));}
+function BEb(f){var a,b,c,d,e;c=iA(new gA());e=zp(new tp(),'Save and validate configuration');e.x(BDb(new ADb(),f));jA(c,e);a=zp(new tp(),'Archive');a.x(FDb(new EDb(),f));jA(c,a);b=zp(new tp(),'Copy');b.x(dEb(new cEb(),f));jA(c,b);d=zp(new tp(),'Rename');d.x(hEb(new gEb(),f));jA(c,d);return c;}
+function CEb(b,a){qz(b.f,'<b>'+a+'<\/b>');}
+function DEb(d){var a,b,c;c=rcb(new mcb(),'images/new_wiz.gif','Copy the package');tcb(c,nz(new qw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=eL(new vK());scb(c,'New package name:',a);b=zp(new tp(),'OK');scb(c,'',b);b.x(zBb(new yBb(),d,a,c));c.Be('40%');wE(c,dc(ai()/3),dc(Fh()/3));zE(c);}
+function EEb(d){var a,b,c;c=rcb(new mcb(),'images/new_wiz.gif','Rename the package');tcb(c,nz(new qw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=eL(new vK());scb(c,'New package name:',a);b=zp(new tp(),'OK');scb(c,'',b);b.x(lEb(new kEb(),d,a,c));c.Be('40%');wE(c,dc(ai()/3),dc(Fh()/3));zE(c);}
+function FEb(b,c){var a;a=zeb(new deb(),b.b.m,true);Ceb(a,xDb(new wDb(),b,a));wE(a,wN(c),xN(c));zE(a);}
+function aFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=nB(new xA(),'images/warning.gif');a=iA(new gA());jA(a,b);c=nz(new qw(),'<b>There were errors validating this package configuration.');jA(a,c);d=zp(new tp(),'View errors');d.x(tDb(new bDb(),e));jA(a,d);return a;}else{return fH(new DG());}}
+function wBb(){}
+_=wBb.prototype=new Fbb();_.tN=ngc+'PackageEditor';_.tI=379;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ECb(b,a){b.a=a;return b;}
+function aDb(a){FEb(this.a,a);}
+function xBb(){}
+_=xBb.prototype=new fU();_.zc=aDb;_.tN=ngc+'PackageEditor$1';_.tI=380;function zBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function BBb(a){ATb(mMb(),this.a.b.j,CK(this.b),DBb(new CBb(),this,this.c));}
+function yBb(){}
+_=yBb.prototype=new fU();_.zc=BBb;_.tN=ngc+'PackageEditor$10';_.tI=381;function DBb(b,a,c){b.a=a;b.b=c;return b;}
+function FBb(b,a){qGb(b.a.a.e);zh('Package copied successfully.');b.b.lc();}
+function aCb(a){FBb(this,a);}
+function CBb(){}
+_=CBb.prototype=new vcb();_.pd=aCb;_.tN=ngc+'PackageEditor$11';_.tI=382;function cCb(b,a,c){b.a=a;b.b=c;return b;}
+function eCb(b,a){wGb(b.a.a);b.a.d=Fb(a,89);AEb(b.a);wdb('Package configuration updated successfully, refreshing content cache...');eLb((aLb(),fLb),b.a.b.j,hCb(new gCb(),b,b.b));}
+function fCb(a){eCb(this,a);}
+function bCb(){}
+_=bCb.prototype=new vcb();_.pd=fCb;_.tN=ngc+'PackageEditor$12';_.tI=383;function hCb(b,a,c){b.a=c;return b;}
+function jCb(){if(this.a!==null){qGb(this.a);}sdb();}
+function gCb(){}
+_=gCb.prototype=new fU();_.pb=jCb;_.tN=ngc+'PackageEditor$13';_.tI=384;function lCb(b,a){b.a=a;return b;}
+function nCb(a){sdb();this.a.b=Fb(a,16);zEb(this.a);}
+function kCb(){}
+_=kCb.prototype=new vcb();_.pd=nCb;_.tN=ngc+'PackageEditor$14';_.tI=385;function pCb(b,a,c){b.a=a;b.b=c;return b;}
+function rCb(a){this.a.b.f=CK(this.b);mGb(this.a.c);}
+function oCb(){}
+_=oCb.prototype=new fU();_.yc=rCb;_.tN=ngc+'PackageEditor$16';_.tI=386;function tCb(b,a,c){b.a=c;return b;}
+function vCb(a){if(sK(this.a)!=32){uK(this.a,32);}else{uK(this.a,8);}}
+function sCb(){}
+_=sCb.prototype=new fU();_.zc=vCb;_.tN=ngc+'PackageEditor$17';_.tI=387;function xCb(b,a,c){b.a=a;b.b=c;return b;}
+function zCb(a){aL(this.b,CK(this.b)+'\n'+'import <your class here>');this.a.b.f=CK(this.b);}
+function wCb(){}
+_=wCb.prototype=new fU();_.zc=zCb;_.tN=ngc+'PackageEditor$18';_.tI=388;function BCb(b,a,c){b.a=a;b.b=c;return b;}
+function DCb(a){aL(this.b,CK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=CK(this.b);}
+function ACb(){}
+_=ACb.prototype=new fU();_.zc=DCb;_.tN=ngc+'PackageEditor$19';_.tI=389;function tDb(b,a){b.a=a;return b;}
+function vDb(a){var b;b=Eeb(new Deb(),this.a.d.a,this.a.d.b);wE(b,dc(ai()/4),xN(a));zE(b);}
+function bDb(){}
+_=bDb.prototype=new fU();_.zc=vDb;_.tN=ngc+'PackageEditor$2';_.tI=390;function dDb(b,a,c){b.a=a;b.b=c;return b;}
+function fDb(a){var b;b=hyb(new Exb());wE(b,wN(a)-400,xN(a)-250);lyb(b,hDb(new gDb(),this,this.b,b));zE(b);}
+function cDb(){}
+_=cDb.prototype=new fU();_.zc=fDb;_.tN=ngc+'PackageEditor$20';_.tI=391;function hDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function jDb(a){aL(a.b,CK(a.b)+'\n'+kyb(a.c));a.a.a.b.f=CK(a.b);}
+function kDb(){jDb(this);}
+function gDb(){}
+_=gDb.prototype=new fU();_.pb=kDb;_.tN=ngc+'PackageEditor$21';_.tI=392;function mDb(b,a,c){b.a=c;return b;}
+function oDb(a){if(sK(this.a)!=32){uK(this.a,32);}else{uK(this.a,8);}}
+function lDb(){}
+_=lDb.prototype=new fU();_.zc=oDb;_.tN=ngc+'PackageEditor$22';_.tI=393;function qDb(b,a,c){b.a=a;b.b=c;return b;}
+function sDb(a){this.a.b.d=CK(this.b);mGb(this.a.c);}
+function pDb(){}
+_=pDb.prototype=new fU();_.yc=sDb;_.tN=ngc+'PackageEditor$23';_.tI=394;function xDb(b,a,c){b.a=a;b.b=c;return b;}
+function zDb(){CEb(this.a,this.b.c);}
+function wDb(){}
+_=wDb.prototype=new fU();_.pb=zDb;_.tN=ngc+'PackageEditor$3';_.tI=395;function BDb(b,a){b.a=a;return b;}
+function DDb(a){wEb(this.a,null);}
+function ADb(){}
+_=ADb.prototype=new fU();_.zc=DDb;_.tN=ngc+'PackageEditor$4';_.tI=396;function FDb(b,a){b.a=a;return b;}
+function bEb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;wEb(this.a,this.a.e);}}
+function EDb(){}
+_=EDb.prototype=new fU();_.zc=bEb;_.tN=ngc+'PackageEditor$5';_.tI=397;function dEb(b,a){b.a=a;return b;}
+function fEb(a){DEb(this.a);}
+function cEb(){}
+_=cEb.prototype=new fU();_.zc=fEb;_.tN=ngc+'PackageEditor$6';_.tI=398;function hEb(b,a){b.a=a;return b;}
+function jEb(a){EEb(this.a);}
+function gEb(){}
+_=gEb.prototype=new fU();_.zc=jEb;_.tN=ngc+'PackageEditor$7';_.tI=399;function lEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nEb(a){sUb(mMb(),this.a.b.m,CK(this.b),pEb(new oEb(),this,this.c));}
+function kEb(){}
+_=kEb.prototype=new fU();_.zc=nEb;_.tN=ngc+'PackageEditor$8';_.tI=400;function pEb(b,a,c){b.a=a;b.b=c;return b;}
+function rEb(b,a){qGb(b.a.a.e);zh('Package renamed successfully.');b.b.lc();}
+function sEb(a){rEb(this,a);}
+function oEb(){}
+_=oEb.prototype=new vcb();_.pd=sEb;_.tN=ngc+'PackageEditor$9';_.tI=401;function EHb(a){a.f=oGb(new cFb(),a);}
+function FHb(b,a){aIb(b,a,null,null);return b;}
+function aIb(g,b,h,f){var a,c,d,e;EHb(g);g.b=b;g.h=h;g.c=uM(new hL());g.d=yab(new wab());g.g=new sGb();yM(g.c,g.g);e=sO(new qO());if(f===null){a=ut(new ot());hx(a.n,0,0,'new-asset-Icons');ex(a.n,0,0,(xz(),yz),(aA(),cA));a.ze(0,0,dIb(g));tO(e,a);a.Be('100%');}tO(e,g.c);Bab(g.d,0,0,e);c=xt(g.d);ix(c,0,0,(aA(),dA));tt(xt(g.d),0,1,2);ex(xt(g.d),0,1,(xz(),yz),(aA(),dA));hIb(g);d=aN(g.c,0);if(d!==null)kN(g.c,d);Bab(g.d,0,1,nz(new qw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));kx(xt(g.d),0,0,'25%');ex(xt(g.d),0,1,(xz(),zz),(aA(),dA));g.e=jdc(new ncc(),g.b,'rulelist');pr(g,g.d);return g;}
+function bIb(d,a,c){var b;b=gIb(d,a.j,'images/package.gif',CHb(new BHb(),vFb(new uFb(),d,a)));b.y(gIb(d,'Business rule assets','images/rule_asset.gif',iIb(d,a.m,(p_(),q_))));b.y(gIb(d,'Technical rule assets','images/technical_rule_assets.gif',iIb(d,a.m,(p_(),s_))));b.y(gIb(d,'Functions','images/function_assets.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['function']))));b.y(gIb(d,'DSL','images/dsl.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['dsl']))));b.y(gIb(d,'Model','images/model_asset.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['jar']))));wM(d.c,b);if(c){lN(d.c,b,true);}}
+function dIb(h){var a,b,c,d,e,f,g,i;g=iA(new gA());d=nB(new xA(),'images/new_package.gif');d.te('Create a new package');oB(d,aHb(new FGb(),h));i=Ccb(new Bcb(),'images/model_asset.gif');oB(i,eHb(new dHb(),h));i.te('This creates a new model archive - models contain classes/types that rules use.');e=Ccb(new Bcb(),'images/new_rule.gif');e.te('Create new rule');oB(e,iHb(new hHb(),h));c=Ccb(new Bcb(),'images/function_assets.gif');c.te('Create a new function');oB(c,qHb(new pHb(),h));a=Ccb(new Bcb(),'images/dsl.gif');a.te('Create a new DSL (language configuration)');oB(a,uHb(new tHb(),h));f=Ccb(new Bcb(),'images/ruleflow_small.gif');f.te('Upload a new ruleflow.');oB(f,yHb(new xHb(),h));b=Ccb(new Bcb(),'images/new_enumeration.gif');b.te('Create a new data enumeration (drop down list)');oB(b,eFb(new dFb(),h));jA(g,d);jA(g,i);jA(g,e);jA(g,c);jA(g,a);jA(g,f);jA(g,b);return g;}
+function eIb(d,a,e){var b,c,f;b=70;f=100;c=w7b(new g7b(),zGb(new yGb(),d),false,a,e,d.a);wE(c,dc((tab()-rE(c))/2),100);zE(c);}
+function fIb(a,b){wdb('Loading package information ...');iUb(mMb(),b,cGb(new bGb(),a));}
+function gIb(e,d,b,a){var c;c=zL(new xL());bM(c,'<img src="'+b+'">'+d+'<\/a>');hM(c,a);return c;}
+function hIb(a){if(a.h===null){wdb('Loading list of packages ...');cUb(mMb(),iFb(new hFb(),a));}else{wdb('Loading package ...');iUb(mMb(),a.h,mFb(new lFb(),a));}}
+function iIb(c,d,b){var a;a=zFb(new yFb(),c);return CHb(new BHb(),EFb(new DFb(),c,d,b,a));}
+function jIb(b,c){var a;a=pzb(new syb(),qFb(new pFb(),b));wE(a,dc((tab()-rE(a))/2),100);zE(a);}
+function bFb(){}
+_=bFb.prototype=new pab();_.tN=ngc+'PackageExplorerWidget';_.tI=402;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function oGb(b,a){b.a=a;return b;}
+function qGb(a){hIb(a.a);}
+function rGb(){qGb(this);}
+function cFb(){}
+_=cFb.prototype=new fU();_.pb=rGb;_.tN=ngc+'PackageExplorerWidget$1';_.tI=403;function eFb(b,a){b.a=a;return b;}
+function gFb(a){eIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
+function dFb(){}
+_=dFb.prototype=new fU();_.zc=gFb;_.tN=ngc+'PackageExplorerWidget$10';_.tI=404;function iFb(b,a){b.a=a;return b;}
+function kFb(a){var b,c;c=Fb(a,71);zM(this.a.c);for(b=0;b<c.a;b++){if(b==0){bIb(this.a,c[b],true);}else{bIb(this.a,c[b],false);}}sdb();}
+function hFb(){}
+_=hFb.prototype=new vcb();_.pd=kFb;_.tN=ngc+'PackageExplorerWidget$11';_.tI=405;function mFb(b,a){b.a=a;return b;}
+function oFb(a){var b;b=Fb(a,16);zM(this.a.c);bIb(this.a,b,true);sdb();}
+function lFb(){}
+_=lFb.prototype=new vcb();_.pd=oFb;_.tN=ngc+'PackageExplorerWidget$12';_.tI=406;function qFb(b,a){b.a=a;return b;}
+function sFb(a){hIb(a.a);}
+function tFb(){sFb(this);}
+function pFb(){}
+_=pFb.prototype=new fU();_.pb=tFb;_.tN=ngc+'PackageExplorerWidget$13';_.tI=407;function vFb(b,a,c){b.a=a;b.b=c;return b;}
+function xFb(){if(this.a.pc()){if(Bh('Discard Changes ? ')){sab(this.a);fIb(this.a,this.b.m);}}else{fIb(this.a,this.b.m);}}
+function uFb(){}
+_=uFb.prototype=new fU();_.pb=xFb;_.tN=ngc+'PackageExplorerWidget$14';_.tI=408;function zFb(b,a){b.a=a;return b;}
+function BFb(c,a){var b;b=Fb(a,62);odc(c.a.e,b);c.a.e.Be('100%');Bab(c.a.d,0,1,c.a.e);ex(xt(c.a.d),0,1,(xz(),zz),(aA(),dA));sdb();}
+function CFb(a){BFb(this,a);}
+function yFb(){}
+_=yFb.prototype=new vcb();_.pd=CFb;_.tN=ngc+'PackageExplorerWidget$15';_.tI=409;function EFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
+function aGb(){wdb('Loading list, please wait...');bUb(mMb(),this.c,this.b,(-1),(-1),this.a);}
+function DFb(){}
+_=DFb.prototype=new fU();_.pb=aGb;_.tN=ngc+'PackageExplorerWidget$16';_.tI=410;function cGb(b,a){b.a=a;return b;}
+function eGb(c){var a,b,d,e,f,g,h,i;b=Fb(c,16);g=BH(new AH());this.a.a=b.j;e=ccb(new Fbb(),'images/package_large.png',b.j);FN(e,'package-Editor');e.Be('100%');dcb(e,'Description:',fC(new dC(),b.d));dcb(e,'Date created:',fC(new dC(),a0(b.c)));if(b.g){dcb(e,'Snapshot created on:',fC(new dC(),a0(b.i)));dcb(e,'Snapshot comment:',fC(new dC(),b.b));h=uBb(b);d=nz(new qw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");dcb(e,'Download package:',d);dcb(e,'Package URI:',fC(new dC(),h));i=zp(new tp(),'View package source');i.x(gGb(new fGb(),this,b));dcb(e,'Show package source:',i);}if(!b.g){gcb(e,nz(new qw(),'<i>Choose one of the options below<\/i>'));}f=kGb(new jGb(),this);a=uGb(new tGb(),this);DH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){DH(g,tEb(new wBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);DH(g,nBb(new tzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{DH(!
 g,tEb(new wBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.Be('100%');Bab(this.a.d,0,1,g);sdb();}
+function bGb(){}
+_=bGb.prototype=new vcb();_.pd=eGb;_.tN=ngc+'PackageExplorerWidget$17';_.tI=411;function gGb(b,a,c){b.a=c;return b;}
+function iGb(a){tBb(this.a.m,this.a.j);}
+function fGb(){}
+_=fGb.prototype=new fU();_.zc=iGb;_.tN=ngc+'PackageExplorerWidget$18';_.tI=412;function kGb(b,a){b.a=a;return b;}
+function mGb(a){rab(a.a.a);}
+function nGb(){mGb(this);}
+function jGb(){}
+_=jGb.prototype=new fU();_.pb=nGb;_.tN=ngc+'PackageExplorerWidget$19';_.tI=413;function DGb(c){var a,b;a=Fb(c.k,90);b=a.a;wdb('Please wait...');fg(b);}
+function EGb(a){}
+function sGb(){}
+_=sGb.prototype=new fU();_.rd=DGb;_.sd=EGb;_.tN=ngc+'PackageExplorerWidget$2';_.tI=414;function uGb(b,a){b.a=a;return b;}
+function wGb(a){sab(a.a.a);}
+function xGb(){wGb(this);}
+function tGb(){}
+_=tGb.prototype=new fU();_.pb=xGb;_.tN=ngc+'PackageExplorerWidget$20';_.tI=415;function zGb(b,a){b.a=a;return b;}
+function BGb(a){oIb(this.a.b,a);}
+function yGb(){}
+_=yGb.prototype=new fU();_.wd=BGb;_.tN=ngc+'PackageExplorerWidget$21';_.tI=416;function aHb(b,a){b.a=a;return b;}
+function cHb(a){jIb(this.a,a);}
+function FGb(){}
+_=FGb.prototype=new fU();_.zc=cHb;_.tN=ngc+'PackageExplorerWidget$3';_.tI=417;function eHb(b,a){b.a=a;return b;}
+function gHb(a){eIb(this.a,'jar','Create a new model archive');}
+function dHb(){}
+_=dHb.prototype=new fU();_.zc=gHb;_.tN=ngc+'PackageExplorerWidget$4';_.tI=418;function iHb(b,a){b.a=a;return b;}
+function kHb(d){var a,b,c;a=70;c=100;b=w7b(new g7b(),mHb(new lHb(),this),true,null,'Create a new rule asset',this.a.a);wE(b,dc((tab()-rE(b))/2),100);zE(b);}
+function hHb(){}
+_=hHb.prototype=new fU();_.zc=kHb;_.tN=ngc+'PackageExplorerWidget$5';_.tI=419;function mHb(b,a){b.a=a;return b;}
+function oHb(a){oIb(this.a.a.b,a);}
+function lHb(){}
+_=lHb.prototype=new fU();_.wd=oHb;_.tN=ngc+'PackageExplorerWidget$6';_.tI=420;function qHb(b,a){b.a=a;return b;}
+function sHb(a){eIb(this.a,'function','Create a new function');}
+function pHb(){}
+_=pHb.prototype=new fU();_.zc=sHb;_.tN=ngc+'PackageExplorerWidget$7';_.tI=421;function uHb(b,a){b.a=a;return b;}
+function wHb(a){eIb(this.a,'dsl','Create a new language configuration');}
+function tHb(){}
+_=tHb.prototype=new fU();_.zc=wHb;_.tN=ngc+'PackageExplorerWidget$8';_.tI=422;function yHb(b,a){b.a=a;return b;}
+function AHb(a){eIb(this.a,'rf','Create a new ruleflow');}
+function xHb(){}
+_=xHb.prototype=new fU();_.zc=AHb;_.tN=ngc+'PackageExplorerWidget$9';_.tI=423;function CHb(b,a){b.a=a;return b;}
+function BHb(){}
+_=BHb.prototype=new fU();_.tN=ngc+'PackageExplorerWidget$PackageTreeItem';_.tI=424;_.a=null;function qIb(a){a.a=(nZ(),oZ);}
+function rIb(a){sIb(a,null,null);return a;}
+function sIb(e,c,d){var a,b;qIb(e);e.b=DJ(new pJ());e.b.Be('100%');e.b.qe('30%');a=mIb(new lIb(),e,d);b=null;if(c===null){b=FHb(new bFb(),a);}else{b=aIb(new bFb(),a,c,d);}EJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);eK(e.b,0);pr(e,e.b);return e;}
+function uIb(b,a){b.a=a;}
+function kIb(){}
+_=kIb.prototype=new nr();_.tN=ngc+'PackageManagerView';_.tI=425;_.b=null;function mIb(b,a,c){b.a=a;b.b=c;return b;}
+function oIb(b,a){c5b(b.a.a,b.a.b,a,b.b!==null);}
+function pIb(a){oIb(this,a);}
+function lIb(){}
+_=lIb.prototype=new fU();_.wd=pIb;_.tN=ngc+'PackageManagerView$1';_.tI=426;function nKb(b){var a,c;b.a=ut(new ot());b.c=DJ(new pJ());b.c.Be('100%');b.c.qe('100%');c=sO(new qO());tO(c,b.a);a=zp(new tp(),'Rebuild snapshot binaries');a.te('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new wIb());tO(c,a);EJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);kx(b.a.n,0,0,'28%');b.b=mMb();vKb(b);b.a.Be('100%');pr(b,b.c);eK(b.c,0);return b;}
+function oKb(h,c){var a,b,d,e,f,g;g=uM(new hL());d=sO(new qO());for(a=0;a<c.a;a++){e=c[a].j;b=tKb(h,e,'images/package_snapshot.gif',wJb(new vJb(),h,e));wM(g,b);}tO(d,g);f=nz(new qw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");gC(f,AJb(new zJb(),h));yM(g,new DJb());xO(d,(aA(),dA));wO(d,(xz(),zz));tO(d,f);FN(d,'snapshot-List');h.a.ze(0,0,d);ix(h.a.n,0,0,(aA(),dA));}
+function qKb(g,e,f){var a,b,c,d;c=rcb(new mcb(),'images/snapshot.png','Copy snapshot '+f);a=eL(new vK());scb(c,'New label:',a);d=zp(new tp(),'OK');scb(c,'',d);d.x(gKb(new fKb(),g,e,f,a,c));b=zp(new tp(),'Copy');b.x(yIb(new xIb(),g,c));return b;}
+function rKb(d,c,b){var a;a=zp(new tp(),'Delete');a.x(aJb(new FIb(),d,c,b));return a;}
+function sKb(d,b,c,e){var a;a=zp(new tp(),'Open');a.x(CIb(new BIb(),d,b,c,e));return a;}
+function tKb(e,d,b,a){var c;c=zL(new xL());bM(c,'<img src="'+b+'">'+d+'<\/a>');hM(c,a);return c;}
+function uKb(g,e,f,h){var a,b,c,d,i;i=ut(new ot());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=iA(new gA());jA(c,nz(new qw(),d));a=Ccb(new Bcb(),'images/close.gif');a.te('Close this view');oB(a,iJb(new hJb(),g));jA(c,a);i.ze(0,0,c);b=xt(i);hx(b,0,0,'editable-Surface');i.ze(1,0,sIb(new kIb(),h,f));i.Be('100%');i.qe('100%');if(g.c.a.f.c>1){dK(g.c,1);}EJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);eK(g.c,1);}
+function vKb(a){wdb('Loading package list...');cUb(a.b,sJb(new rJb(),a));}
+function wKb(h,d,b){var a,c,e,f,g;e=ccb(new Fbb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=ut(new ot());bz(g,0,1,'Name');bz(g,0,2,'Comment');ux(g.p,0,wfc);for(a=0;a<b.a;a++){f=a+1;c=fC(new dC(),b[a].b);g.ze(f,0,nB(new xA(),'images/package_snapshot_item.gif'));g.ze(f,1,c);g.ze(f,2,fC(new dC(),b[a].a));g.ze(f,3,sKb(h,d,jC(c),b[a].c));g.ze(f,4,qKb(h,d,jC(c)));g.ze(f,5,rKb(h,jC(c),d));if(a%2==0){ux(g.p,a+1,ufc);}}e.Be('100%');gcb(e,g);g.Be('100%');FN(e,vfc);h.a.ze(0,1,e);ix(xt(h.a),0,1,(aA(),dA));}
+function xKb(b,a){wdb('Loading snapshots...');dUb(b.b,a,cKb(new bKb(),b,a));}
+function vIb(){}
+_=vIb.prototype=new nr();_.tN=ngc+'PackageSnapshotView';_.tI=427;_.a=null;_.b=null;_.c=null;function mJb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){wdb('Rebuilding snapshots. Please wait, this may take some time...');oUb(mMb(),new nJb());}}
+function wIb(){}
+_=wIb.prototype=new fU();_.zc=mJb;_.tN=ngc+'PackageSnapshotView$1';_.tI=428;function yIb(b,a,c){b.a=c;return b;}
+function AIb(a){wE(this.a,dc((tab()-rE(this.a))/2),100);zE(this.a);}
+function xIb(){}
+_=xIb.prototype=new fU();_.zc=AIb;_.tN=ngc+'PackageSnapshotView$10';_.tI=429;function CIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
+function EIb(a){uKb(this.a,this.b,this.c,this.d);}
+function BIb(){}
+_=BIb.prototype=new fU();_.zc=EIb;_.tN=ngc+'PackageSnapshotView$11';_.tI=430;function aJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function cJb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{zTb(this.a.b,this.b,this.c,true,null,eJb(new dJb(),this,this.b));}}
+function FIb(){}
+_=FIb.prototype=new fU();_.zc=cJb;_.tN=ngc+'PackageSnapshotView$12';_.tI=431;function eJb(b,a,c){b.a=a;b.b=c;return b;}
+function gJb(a){xKb(this.a.a,this.b);}
+function dJb(){}
+_=dJb.prototype=new vcb();_.pd=gJb;_.tN=ngc+'PackageSnapshotView$13';_.tI=432;function iJb(b,a){b.a=a;return b;}
+function kJb(a){dK(this.a.c,1);eK(this.a.c,0);}
+function hJb(){}
+_=hJb.prototype=new fU();_.zc=kJb;_.tN=ngc+'PackageSnapshotView$14';_.tI=433;function pJb(b,a){sdb();zh('Snapshots were rebuilt successfully.');}
+function qJb(a){pJb(this,a);}
+function nJb(){}
+_=nJb.prototype=new vcb();_.pd=qJb;_.tN=ngc+'PackageSnapshotView$2';_.tI=434;function sJb(b,a){b.a=a;return b;}
+function uJb(a){var b;b=Fb(a,71);oKb(this.a,b);sdb();}
+function rJb(){}
+_=rJb.prototype=new vcb();_.pd=uJb;_.tN=ngc+'PackageSnapshotView$3';_.tI=435;function wJb(b,a,c){b.a=a;b.b=c;return b;}
+function yJb(){xKb(this.a,this.b);}
+function vJb(){}
+_=vJb.prototype=new fU();_.pb=yJb;_.tN=ngc+'PackageSnapshotView$4';_.tI=436;function AJb(b,a){b.a=a;return b;}
+function CJb(a){vKb(this.a);}
+function zJb(){}
+_=zJb.prototype=new fU();_.zc=CJb;_.tN=ngc+'PackageSnapshotView$5';_.tI=437;function FJb(a){fg(Fb(a.k,4));}
+function aKb(a){}
+function DJb(){}
+_=DJb.prototype=new fU();_.rd=FJb;_.sd=aKb;_.tN=ngc+'PackageSnapshotView$6';_.tI=438;function cKb(b,a,c){b.a=a;b.b=c;return b;}
+function eKb(a){var b;b=Fb(a,86);wKb(this.a,this.b,b);sdb();}
+function bKb(){}
+_=bKb.prototype=new vcb();_.pd=eKb;_.tN=ngc+'PackageSnapshotView$7';_.tI=439;function gKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
+function iKb(a){zTb(this.a.b,this.d,this.e,false,CK(this.b),kKb(new jKb(),this,this.d,this.c));}
+function fKb(){}
+_=fKb.prototype=new fU();_.zc=iKb;_.tN=ngc+'PackageSnapshotView$8';_.tI=440;function kKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function mKb(a){xKb(this.a.a,this.c);this.b.lc();}
+function jKb(){}
+_=jKb.prototype=new vcb();_.pd=mKb;_.tN=ngc+'PackageSnapshotView$9';_.tI=441;function aLb(){aLb=d3;fLb=FKb(new yKb());}
+function EKb(a){a.a=k1(new o0());}
+function FKb(a){aLb();EKb(a);return a;}
+function bLb(c,b,a){if(!n1(c.a,b)){dLb(c,b,a);}else{v4b(a);}}
+function cLb(c,b){var a;a=Fb(q1(c.a,b),91);if(a===null){xbb('Unable to get content assistance for this rule.');return null;}return a;}
+function dLb(c,b,a){yV(),BV;lUb(mMb(),b,AKb(new zKb(),c,b,a));}
+function eLb(c,b,a){if(n1(c.a,b)){s1(c.a,b);dLb(c,b,a);}else{a.pb();}}
+function yKb(){}
+_=yKb.prototype=new fU();_.tN=ngc+'SuggestionCompletionCache';_.tI=442;var fLb;function AKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function CKb(c,a){var b;b=Fb(a,91);r1(c.a.a,c.c,b);c.b.pb();}
+function DKb(a){CKb(this,a);}
+function zKb(){}
+_=zKb.prototype=new vcb();_.pd=DKb;_.tN=ngc+'SuggestionCompletionCache$1';_.tI=443;function mLb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
+function gLb(){}
+_=gLb.prototype=new fU();_.tS=mLb;_.tN=ogc+'BuilderResult';_.tI=444;_.a=null;_.b=null;_.c=null;_.d=null;function kLb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();}
+function lLb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);}
+function nLb(){}
+_=nLb.prototype=new ol();_.tN=ogc+'DetailedSerializableException';_.tI=445;_.a=null;function rLb(b,a){uLb(a,b.Ed());sl(b,a);}
+function sLb(a){return a.a;}
+function tLb(b,a){b.gf(sLb(a));ul(b,a);}
+function uLb(a,b){a.a=b;}
+function wLb(a){a.a=yb('[Ljava.lang.String;',[608],[1],[0],null);}
+function xLb(a){wLb(a);return a;}
+function yLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(EU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[608],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function ALb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[608],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function vLb(){}
+_=vLb.prototype=new fU();_.tN=ogc+'MetaData';_.tI=446;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function DLb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Ed();a.c=b.Ed();a.d=Fb(b.Dd(),59);a.e=b.Ed();a.f=Fb(b.Dd(),59);a.g=Fb(b.Dd(),59);a.h=b.Ed();a.i=b.Ed();a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=Fb(b.Dd(),59);a.n=b.Ed();a.o=b.Ed();a.p=b.Ed();a.q=b.Ed();a.r=b.Ed();a.s=b.Ed();a.t=b.Ed();a.u=b.Ed();a.v=b.Cd();}
+function ELb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.ff(a.d);b.gf(a.e);b.ff(a.f);b.ff(a.g);b.gf(a.h);b.gf(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.ff(a.m);b.gf(a.n);b.gf(a.o);b.gf(a.p);b.gf(a.q);b.gf(a.r);b.gf(a.s);b.gf(a.t);b.gf(a.u);b.ef(a.v);}
+function FLb(){}
+_=FLb.prototype=new fU();_.tN=ogc+'PackageConfigData';_.tI=447;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function dMb(b,a){a.a=b.zd();a.b=b.Ed();a.c=Fb(b.Dd(),59);a.d=b.Ed();a.e=b.Ed();a.f=b.Ed();a.g=b.zd();a.h=b.Ed();a.i=Fb(b.Dd(),59);a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=b.Ed();}
+function eMb(b,a){b.bf(a.a);b.gf(a.b);b.ff(a.c);b.gf(a.d);b.gf(a.e);b.gf(a.f);b.bf(a.g);b.gf(a.h);b.ff(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.gf(a.m);}
+function kMb(){var a,b,c;c=jSb(new pMb());a=c;b=v()+'jbrmsService';vUb(a,b);return c;}
+function lMb(){var a,b,c;c=xXb(new mXb());a=c;b=v()+'jbrmsService';DXb(a,b);return c;}
+function mMb(){if(jMb===null){nMb();}return jMb;}
+function nMb(){if(iMb)jMb=null;else jMb=kMb();}
+function oMb(d,b,a){var c;c=lMb();CXb(c,d,b,a);}
+var iMb=false,jMb=null;function xTb(){xTb=d3;wUb=yUb(new xUb());}
+function jSb(a){xTb();return a;}
+function kSb(b,a,c,d){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'archiveAsset');un(a,2);wn(a,'java.lang.String');wn(a,'Z');wn(a,c);tn(a,d);}
+function mSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildAsset');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
+function lSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildAssetSource');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
+function oSb(d,c,a,b){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'buildPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,a);wn(c,b);}
+function nSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildPackageSource');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function pSb(d,c,e,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'changeAssetPackage');un(c,3);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,e);wn(c,b);wn(c,a);}
+function qSb(c,b,d,a,e){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'changeState');un(b,3);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,'Z');wn(b,d);wn(b,a);tn(b,e);}
+function rSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'checkinVersion');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
+function sSb(e,d,a,c,b){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'copyAsset');un(d,3);wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,a);wn(d,c);wn(d,b);}
+function tSb(f,e,c,d,a,b){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'copyOrRemoveSnapshot');un(e,4);wn(e,'java.lang.String');wn(e,'java.lang.String');wn(e,'Z');wn(e,'java.lang.String');wn(e,c);wn(e,d);tn(e,a);wn(e,b);}
+function uSb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'copyPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
+function vSb(e,d,c,b,a){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'createCategory');un(d,3);wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,c);wn(d,b);wn(d,a);}
+function wSb(g,f,e,a,c,d,b){if(g.a===null)throw Dl(new Cl());Ao(f);wn(f,'org.drools.brms.client.rpc.RepositoryService');wn(f,'createNewRule');un(f,5);wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,e);wn(f,a);wn(f,c);wn(f,d);wn(f,b);}
+function ySb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'createPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
+function xSb(f,e,b,d,c,a){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'createPackageSnapshot');un(e,4);wn(e,'java.lang.String');wn(e,'java.lang.String');wn(e,'Z');wn(e,'java.lang.String');wn(e,b);wn(e,d);tn(e,c);wn(e,a);}
+function zSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'createState');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function ASb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'deleteUncheckedRule');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
+function BSb(f,e,c,a,b,d){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'listAssets');un(e,4);wn(e,'java.lang.String');wn(e,'[Ljava.lang.String;');wn(e,'I');wn(e,'I');wn(e,c);vn(e,a);un(e,b);un(e,d);}
+function CSb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'listPackages');un(a,0);}
+function DSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'listSnapshots');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function ESb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'listStates');un(a,0);}
+function FSb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadArchivedAssets');un(a,0);}
+function aTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadAssetHistory');un(a,1);wn(a,'java.lang.String');wn(a,c);}
+function bTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadChildCategories');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function cTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadPackageConfig');un(a,1);wn(a,'java.lang.String');wn(a,c);}
+function dTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadRuleAsset');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function eTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadRuleListForCategories');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function fTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadSuggestionCompletionEngine');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function gTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadTableConfig');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function hTb(e,d,c,a,b){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'quickFindAsset');un(d,3);wn(d,'java.lang.String');wn(d,'I');wn(d,'Z');wn(d,c);un(d,a);tn(d,b);}
+function iTb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'rebuildSnapshots');un(a,0);}
+function jTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'removeAsset');un(a,1);wn(a,'java.lang.String');wn(a,c);}
+function kTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'removeCategory');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function lTb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'renameAsset');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
+function mTb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'renamePackage');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
+function nTb(d,c,e,a,b){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'restoreVersion');un(c,3);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,e);wn(c,a);wn(c,b);}
+function oTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'savePackage');un(b,1);wn(b,'org.drools.brms.client.rpc.PackageConfigData');vn(b,a);}
+function pTb(h,i,j,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=ENb(new qMb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=vPb(new cOb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=mRb(new zPb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tTb(j,f,g,c){var a,d,e,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=rRb(new qRb(),j,h,c);if(!wg(j.a,Do(i),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sTb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=wRb(new vRb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uTb(j,k,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=BRb(new ARb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vTb(i,j,f,k,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=aSb(new FRb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=fSb(new eSb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function yTb(k,c,h,g,d){var a,e,f,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=sMb(new rMb(),k,i,d);if(!wg(k.a,Do(j),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function zTb(l,h,i,d,g,c){var a,e,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=xMb(new wMb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ATb(j,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=CMb(new BMb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function BTb(k,h,g,d,c){var a,e,f,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=bNb(new aNb(),k,i,c);if(!wg(k.a,Do(j),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=co(new bo(),wUb);l=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}g=gNb(new fNb(),m,k,c);if(!wg(m.a,Do(l),g))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ETb(j,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=lNb(new kNb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DTb(l,g,i,h,d,c){var a,e,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=qNb(new pNb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FTb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=vNb(new uNb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aUb(j,g,f,c){var a,d,e,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=ANb(new zNb(),j,h,c);if(!wg(j.a,Do(i),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bUb(l,h,e,g,i,c){var a,d,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}f=eOb(new dOb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=jOb(new iOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=oOb(new nOb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=tOb(new sOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=yOb(new xOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=DOb(new COb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=cPb(new bPb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function iUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=hPb(new gPb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function jUb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dTb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=mPb(new lPb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function kUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=rPb(new qPb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=BPb(new APb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=aQb(new FPb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function nUb(k,h,f,g,c){var a,d,e,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hTb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=fQb(new eQb(),k,i,c);if(!wg(k.a,Do(j),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=kQb(new jQb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=pQb(new oQb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=uQb(new tQb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rUb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=zQb(new yQb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sUb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=EQb(new DQb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tUb(j,k,c,e,d){var a,f,g,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nTb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;xcb(d,f);return;}else throw a;}g=dRb(new cRb(),j,h,d);if(!wg(j.a,Do(i),g))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=iRb(new hRb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vUb(b,a){b.a=a;}
+function pMb(){}
+_=pMb.prototype=new fU();_.tN=ogc+'RepositoryService_Proxy';_.tI=448;_.a=null;var wUb;function ENb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f7(g.a,f);else xcb(g.a,c);}
+function bOb(a){var b;b=x;aOb(this,a);}
+function qMb(){}
+_=qMb.prototype=new fU();_.Ac=bOb;_.tN=ogc+'RepositoryService_Proxy$1';_.tI=449;function sMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D0b(g.a,f);else xcb(g.a,c);}
+function vMb(a){var b;b=x;uMb(this,a);}
+function rMb(){}
+_=rMb.prototype=new fU();_.Ac=vMb;_.tN=ogc+'RepositoryService_Proxy$10';_.tI=450;function xMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function AMb(a){var b;b=x;zMb(this,a);}
+function wMb(){}
+_=wMb.prototype=new fU();_.Ac=AMb;_.tN=ogc+'RepositoryService_Proxy$11';_.tI=451;function CMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function EMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)FBb(g.a,f);else xcb(g.a,c);}
+function FMb(a){var b;b=x;EMb(this,a);}
+function BMb(){}
+_=BMb.prototype=new fU();_.Ac=FMb;_.tN=ogc+'RepositoryService_Proxy$12';_.tI=452;function bNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k$(g.a,f);else xcb(g.a,c);}
+function eNb(a){var b;b=x;dNb(this,a);}
+function aNb(){}
+_=aNb.prototype=new fU();_.Ac=eNb;_.tN=ogc+'RepositoryService_Proxy$13';_.tI=453;function gNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)s7b(g.a,f);else xcb(g.a,c);}
+function jNb(a){var b;b=x;iNb(this,a);}
+function fNb(){}
+_=fNb.prototype=new fU();_.Ac=jNb;_.tN=ogc+'RepositoryService_Proxy$14';_.tI=454;function lNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dzb(g.a,f);else xcb(g.a,c);}
+function oNb(a){var b;b=x;nNb(this,a);}
+function kNb(){}
+_=kNb.prototype=new fU();_.Ac=oNb;_.tN=ogc+'RepositoryService_Proxy$15';_.tI=455;function qNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eAb(g.a,f);else xcb(g.a,c);}
+function tNb(a){var b;b=x;sNb(this,a);}
+function pNb(){}
+_=pNb.prototype=new fU();_.Ac=tNb;_.tN=ogc+'RepositoryService_Proxy$16';_.tI=456;function vNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x9(g.a,f);else xcb(g.a,c);}
+function yNb(a){var b;b=x;xNb(this,a);}
+function uNb(){}
+_=uNb.prototype=new fU();_.Ac=yNb;_.tN=ogc+'RepositoryService_Proxy$17';_.tI=457;function ANb(b,a,d,c){b.b=d;b.a=c;return b;}
+function CNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t$b(g.a,f);else xcb(g.a,c);}
+function DNb(a){var b;b=x;CNb(this,a);}
+function zNb(){}
+_=zNb.prototype=new fU();_.Ac=DNb;_.tN=ogc+'RepositoryService_Proxy$18';_.tI=458;function vPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)w8b(g.a,f);else xcb(g.a,c);}
+function yPb(a){var b;b=x;xPb(this,a);}
+function cOb(){}
+_=cOb.prototype=new fU();_.Ac=yPb;_.tN=ogc+'RepositoryService_Proxy$2';_.tI=459;function eOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)BFb(g.a,f);else xcb(g.a,c);}
+function hOb(a){var b;b=x;gOb(this,a);}
+function dOb(){}
+_=dOb.prototype=new fU();_.Ac=hOb;_.tN=ogc+'RepositoryService_Proxy$20';_.tI=460;function jOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function lOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function mOb(a){var b;b=x;lOb(this,a);}
+function iOb(){}
+_=iOb.prototype=new fU();_.Ac=mOb;_.tN=ogc+'RepositoryService_Proxy$21';_.tI=461;function oOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function qOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function rOb(a){var b;b=x;qOb(this,a);}
+function nOb(){}
+_=nOb.prototype=new fU();_.Ac=rOb;_.tN=ogc+'RepositoryService_Proxy$22';_.tI=462;function tOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function wOb(a){var b;b=x;vOb(this,a);}
+function sOb(){}
+_=sOb.prototype=new fU();_.Ac=wOb;_.tN=ogc+'RepositoryService_Proxy$23';_.tI=463;function yOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function AOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t7(g.a,f);else xcb(g.a,c);}
+function BOb(a){var b;b=x;AOb(this,a);}
+function xOb(){}
+_=xOb.prototype=new fU();_.Ac=BOb;_.tN=ogc+'RepositoryService_Proxy$24';_.tI=464;function DOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u_b(g.a,f);else xcb(g.a,c);}
+function aPb(a){var b;b=x;FOb(this,a);}
+function COb(){}
+_=COb.prototype=new fU();_.Ac=aPb;_.tN=ogc+'RepositoryService_Proxy$25';_.tI=465;function cPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function ePb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function fPb(a){var b;b=x;ePb(this,a);}
+function bPb(){}
+_=bPb.prototype=new fU();_.Ac=fPb;_.tN=ogc+'RepositoryService_Proxy$26';_.tI=466;function hPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function kPb(a){var b;b=x;jPb(this,a);}
+function gPb(){}
+_=gPb.prototype=new fU();_.Ac=kPb;_.tN=ogc+'RepositoryService_Proxy$27';_.tI=467;function mPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function pPb(a){var b;b=x;oPb(this,a);}
+function lPb(){}
+_=lPb.prototype=new fU();_.Ac=pPb;_.tN=ogc+'RepositoryService_Proxy$28';_.tI=468;function rPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function tPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Fbc(g.a,f);else xcb(g.a,c);}
+function uPb(a){var b;b=x;tPb(this,a);}
+function qPb(){}
+_=qPb.prototype=new fU();_.Ac=uPb;_.tN=ogc+'RepositoryService_Proxy$29';_.tI=469;function mRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)B8b(g.a,f);else xcb(g.a,c);}
+function pRb(a){var b;b=x;oRb(this,a);}
+function zPb(){}
+_=zPb.prototype=new fU();_.Ac=pRb;_.tN=ogc+'RepositoryService_Proxy$3';_.tI=470;function BPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)CKb(g.a,f);else xcb(g.a,c);}
+function EPb(a){var b;b=x;DPb(this,a);}
+function APb(){}
+_=APb.prototype=new fU();_.Ac=EPb;_.tN=ogc+'RepositoryService_Proxy$30';_.tI=471;function aQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vcc(g.a,f);else xcb(g.a,c);}
+function dQb(a){var b;b=x;cQb(this,a);}
+function FPb(){}
+_=FPb.prototype=new fU();_.Ac=dQb;_.tN=ogc+'RepositoryService_Proxy$31';_.tI=472;function fQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function iQb(a){var b;b=x;hQb(this,a);}
+function eQb(){}
+_=eQb.prototype=new fU();_.Ac=iQb;_.tN=ogc+'RepositoryService_Proxy$32';_.tI=473;function kQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)pJb(g.a,f);else xcb(g.a,c);}
+function nQb(a){var b;b=x;mQb(this,a);}
+function jQb(){}
+_=jQb.prototype=new fU();_.Ac=nQb;_.tN=ogc+'RepositoryService_Proxy$33';_.tI=474;function pQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)o7(g.a,f);else xcb(g.a,c);}
+function sQb(a){var b;b=x;rQb(this,a);}
+function oQb(){}
+_=oQb.prototype=new fU();_.Ac=sQb;_.tN=ogc+'RepositoryService_Proxy$34';_.tI=475;function uQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f9(g.a,f);else xcb(g.a,c);}
+function xQb(a){var b;b=x;wQb(this,a);}
+function tQb(){}
+_=tQb.prototype=new fU();_.Ac=xQb;_.tN=ogc+'RepositoryService_Proxy$35';_.tI=476;function zQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function BQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t6b(g.a,f);else xcb(g.a,c);}
+function CQb(a){var b;b=x;BQb(this,a);}
+function yQb(){}
+_=yQb.prototype=new fU();_.Ac=CQb;_.tN=ogc+'RepositoryService_Proxy$36';_.tI=477;function EQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rEb(g.a,f);else xcb(g.a,c);}
+function bRb(a){var b;b=x;aRb(this,a);}
+function DQb(){}
+_=DQb.prototype=new fU();_.Ac=bRb;_.tN=ogc+'RepositoryService_Proxy$37';_.tI=478;function dRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Dac(g.a,f);else xcb(g.a,c);}
+function gRb(a){var b;b=x;fRb(this,a);}
+function cRb(){}
+_=cRb.prototype=new fU();_.Ac=gRb;_.tN=ogc+'RepositoryService_Proxy$38';_.tI=479;function iRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function kRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eCb(g.a,f);else xcb(g.a,c);}
+function lRb(a){var b;b=x;kRb(this,a);}
+function hRb(){}
+_=hRb.prototype=new fU();_.Ac=lRb;_.tN=ogc+'RepositoryService_Proxy$39';_.tI=480;function rRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function tRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dBb(g.a,f);else xcb(g.a,c);}
+function uRb(a){var b;b=x;tRb(this,a);}
+function qRb(){}
+_=qRb.prototype=new fU();_.Ac=uRb;_.tN=ogc+'RepositoryService_Proxy$4';_.tI=481;function wRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)uAb(g.a,f);else xcb(g.a,c);}
+function zRb(a){var b;b=x;yRb(this,a);}
+function vRb(){}
+_=vRb.prototype=new fU();_.Ac=zRb;_.tN=ogc+'RepositoryService_Proxy$5';_.tI=482;function BRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)l5b(g.a,f);else xcb(g.a,c);}
+function ERb(a){var b;b=x;DRb(this,a);}
+function ARb(){}
+_=ARb.prototype=new fU();_.Ac=ERb;_.tN=ogc+'RepositoryService_Proxy$6';_.tI=483;function aSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cSb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)xeb(g.a,f);else xcb(g.a,c);}
+function dSb(a){var b;b=x;cSb(this,a);}
+function FRb(){}
+_=FRb.prototype=new fU();_.Ac=dSb;_.tN=ogc+'RepositoryService_Proxy$7';_.tI=484;function fSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hSb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)y$b(g.a,f);else xcb(g.a,c);}
+function iSb(a){var b;b=x;hSb(this,a);}
+function eSb(){}
+_=eSb.prototype=new fU();_.Ac=iSb;_.tN=ogc+'RepositoryService_Proxy$8';_.tI=485;function zUb(){zUb=d3;BWb=AUb();EWb=BUb();}
+function yUb(a){zUb();return a;}
+function AUb(){zUb();return {'[B/2233087514':[function(a){return CUb(a);},function(a,b){qm(a,b);},function(a,b){rm(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return DUb(a);},function(a,b){hl(a,b);},function(a,b){il(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return EUb(a);},function(a,b){sl(a,b);},function(a,b){ul(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return dVb(a);},function(a,b){yD(a,b);},function(a,b){BD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return eVb(a);},function(a,b){qI(a,b);},function(a,b){tI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return fVb(a);},function(a,b){yI(a,b);},function(a,b){AI(a,b);}],'java.lang.Boolean/476441737':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}],'java.!
 lang.String/2004016611':[function(a){return mm(a);},function(a,b){lm(a,b);},function(a,b){nm(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return gVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'java.util.ArrayList/3821976829':[function(a){return FUb(a);},function(a,b){um(a,b);},function(a,b){vm(a,b);}],'java.util.Date/1659716317':[function(a){return zm(a);},function(a,b){ym(a,b);},function(a,b){Am(a,b);}],'java.util.HashMap/962170901':[function(a){return aVb(a);},function(a,b){Dm(a,b);},function(a,b){Em(a,b);}],'java.util.HashSet/1594477813':[function(a){return bVb(a);},function(a,b){bn(a,b);},function(a,b){cn(a,b);}],'java.util.Vector/3125574444':[function(a){return cVb(a);},function(a,b){fn(a,b);},function(a,b){gn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return hVb(a);},function(a,b){xgb(a,b);},function(a,b){ygb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return iVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return kVb(a);},function(a,b){qhb(a,b);},function(a,b){rhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return jVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return mVb(a);},function(a,b){yhb(a,b);},function(a,b){zhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return lVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return oVb(a);},function(a,b){aib(a,b);},function(a,b){bib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return nVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn qVb(a);},function(a,b){hib(a,b);},function(a,b){iib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return pVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return sVb(a);},function(a,b){pib(a,b);},function(a,b){qib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return rVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return uVb(a);},function(a,b){xib(a,b);},function(a,b){yib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return tVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return wVb(a);},function(a,b){Fib(a,b);},function(a,b){ajb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn vVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return yVb(a);},function(a,b){hjb(a,b);},function(a,b){ijb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return xVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return AVb(a);},function(a,b){njb(a,b);},function(a,b){ojb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return zVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return CVb(a);},function(a,b){vjb(a,b);},function(a,b){wjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return BVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return EVb(a);},function(a,b){bkb(a,b);},function(a,b){ckb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return DVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return FVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return aWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return bWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return cWb(a);},function(a,b){kkb(a,b);},function(a,b){lkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return eWb(a);},function(a,b){skb(a,b);},function(a,b!
 ){tkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return dWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return fWb(a);},function(a,b){hlb(a,b);},function(a,b){ilb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return hWb(a);},function(a,b){qlb(a,b);},function(a,b){rlb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return gWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return jWb(a);},function(a,b){kLb(a,b);},function(a,b){lLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return iWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return kWb(a);},function(a,b){rLb(a,b);},function(a,b){tLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return lWb(a);},function(a,b){DLb(a,b);},function(a,b){ELb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return nWb(a);},function(a,b){dMb(a,b);},function(a,b){eMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return mWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return oWb(a);},function(a,b){dXb(a,b);},function(a,b){eXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return pWb(a);},function(a,b){jXb(a,b);},function(a,b){kXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return qWb(a);},function(a,b){qYb(a,b);},function(a,b){rYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return sWb(a);},function(a,b){wYb(a,b);},function(a,b){xYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn rWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return tWb(a);},function(a,b){CYb(a,b);},function(a,b){DYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return uWb(a);},function(a,b){cZb(a,b);},function(a,b){dZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return wWb(a);},function(a,b){iZb(a,b);},function(a,b){jZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return vWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return xWb(a);},function(a,b){pZb(a,b);},function(a,b){qZb(a,b);}]};}
+function BUb(){zUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
+function CUb(b){zUb();var a;a=b.Bd();return yb('[B',[614],[(-1)],[a],0);}
+function DUb(a){zUb();return dl(new cl());}
+function EUb(a){zUb();return new ol();}
+function FUb(a){zUb();return nY(new lY());}
+function aVb(a){zUb();return k1(new o0());}
+function bVb(a){zUb();return e2(new d2());}
+function cVb(a){zUb();return x2(new w2());}
+function dVb(a){zUb();return new uD();}
+function eVb(a){zUb();return new jI();}
+function fVb(a){zUb();return new lI();}
+function gVb(b){zUb();var a;a=b.Bd();return yb('[Ljava.lang.String;',[608],[1],[a],null);}
+function hVb(a){zUb();return igb(new ggb());}
+function iVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[623],[22],[a],null);}
+function jVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[624],[23],[a],null);}
+function kVb(a){zUb();return new lhb();}
+function lVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[625],[24],[a],null);}
+function mVb(a){zUb();return thb(new shb());}
+function nVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[626],[25],[a],null);}
+function oVb(a){zUb();return Bhb(new Ahb());}
+function pVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[627],[26],[a],null);}
+function qVb(a){zUb();return new cib();}
+function rVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[628],[27],[a],null);}
+function sVb(a){zUb();return kib(new jib());}
+function tVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[629],[28],[a],null);}
+function uVb(a){zUb();return sib(new rib());}
+function vVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[630],[29],[a],null);}
+function wVb(a){zUb();return new zib();}
+function xVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[631],[30],[a],null);}
+function yVb(a){zUb();return new bjb();}
+function zVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[616],[15],[a],null);}
+function AVb(a){zUb();return new jjb();}
+function BVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[610],[10],[a],null);}
+function CVb(a){zUb();return new pjb();}
+function DVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[632],[31],[a],null);}
+function EVb(a){zUb();return new yjb();}
+function FVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[622],[21],[a],null);}
+function aWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[20],[a],null);}
+function bWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[19],[a],null);}
+function cWb(a){zUb();return new gkb();}
+function dWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[18],[a],null);}
+function eWb(a){zUb();return new nkb();}
+function fWb(a){zUb();return xkb(new vkb());}
+function gWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[633],[32],[a],null);}
+function hWb(a){zUb();return new jlb();}
+function iWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[612],[12],[a],null);}
+function jWb(a){zUb();return new gLb();}
+function kWb(a){zUb();return new nLb();}
+function lWb(a){zUb();return xLb(new vLb());}
+function mWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[617],[16],[a],null);}
+function nWb(a){zUb();return new FLb();}
+function oWb(a){zUb();return new FWb();}
+function pWb(a){zUb();return new fXb();}
+function qWb(a){zUb();return new mYb();}
+function rWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[618],[17],[a],null);}
+function sWb(a){zUb();return new sYb();}
+function tWb(a){zUb();return new yYb();}
+function uWb(a){zUb();return new EYb();}
+function vWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[615],[14],[a],null);}
+function wWb(a){zUb();return new eZb();}
+function xWb(a){zUb();return new lZb();}
+function yWb(c,a,d){var b=BWb[d];if(!b){CWb(d);}b[1](c,a);}
+function zWb(b){var a=EWb[b];return a==null?b:a;}
+function AWb(b,c){var a=BWb[c];if(!a){CWb(c);}return a[0](b);}
+function CWb(a){zUb();throw yl(new xl(),a);}
+function DWb(c,a,d){var b=BWb[d];if(!b){CWb(d);}b[2](c,a);}
+function xUb(){}
+_=xUb.prototype=new fU();_.ib=yWb;_.bc=zWb;_.nc=AWb;_.ie=DWb;_.tN=ogc+'RepositoryService_TypeSerializer';_.tI=486;var BWb,EWb;function FWb(){}
+_=FWb.prototype=new fU();_.tN=ogc+'RuleAsset';_.tI=487;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function dXb(b,a){a.a=b.zd();a.b=Fb(b.Dd(),39);a.c=b.zd();a.d=Fb(b.Dd(),93);a.e=b.Ed();}
+function eXb(b,a){b.bf(a.a);b.ff(a.b);b.bf(a.c);b.ff(a.d);b.gf(a.e);}
+function fXb(){}
+_=fXb.prototype=new fU();_.tN=ogc+'RuleContentText';_.tI=488;_.a=null;function jXb(b,a){a.a=b.Ed();}
+function kXb(b,a){b.gf(a.a);}
+function AXb(){AXb=d3;EXb=aYb(new FXb());}
+function xXb(a){AXb();return a;}
+function yXb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.SecurityService');wn(a,'getCurrentUser');un(a,0);}
+function zXb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.SecurityService');wn(b,'login');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
+function BXb(h,c){var a,d,e,f,g;f=co(new bo(),EXb);g=wo(new uo(),EXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{yXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Dc(d);return;}else throw a;}e=oXb(new nXb(),h,f,c);if(!wg(h.a,Do(g),e))c.Dc(kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CXb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),EXb);h=wo(new uo(),EXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{zXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=tXb(new sXb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DXb(b,a){b.a=a;}
+function mXb(){}
+_=mXb.prototype=new fU();_.tN=ogc+'SecurityService_Proxy';_.tI=489;_.a=null;var EXb;function oXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function qXb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else g.a.Dc(c);}
+function rXb(a){var b;b=x;qXb(this,a);}
+function nXb(){}
+_=nXb.prototype=new fU();_.Ac=rXb;_.tN=ogc+'SecurityService_Proxy$1';_.tI=490;function tXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vXb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=jS(new iS(),ho(g.b));}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)E5(g.a,f);else xcb(g.a,c);}
+function wXb(a){var b;b=x;vXb(this,a);}
+function sXb(){}
+_=sXb.prototype=new fU();_.Ac=wXb;_.tN=ogc+'SecurityService_Proxy$2';_.tI=491;function bYb(){bYb=d3;iYb=cYb();lYb=dYb();}
+function aYb(a){bYb();return a;}
+function cYb(){bYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return eYb(a);},function(a,b){hl(a,b);},function(a,b){il(a,b);}],'java.lang.String/2004016611':[function(a){return mm(a);},function(a,b){lm(a,b);},function(a,b){nm(a,b);}]};}
+function dYb(){bYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
+function eYb(a){bYb();return dl(new cl());}
+function fYb(c,a,d){var b=iYb[d];if(!b){jYb(d);}b[1](c,a);}
+function gYb(b){var a=lYb[b];return a==null?b:a;}
+function hYb(b,c){var a=iYb[c];if(!a){jYb(c);}return a[0](b);}
+function jYb(a){bYb();throw yl(new xl(),a);}
+function kYb(c,a,d){var b=iYb[d];if(!b){jYb(d);}b[2](c,a);}
+function FXb(){}
+_=FXb.prototype=new fU();_.ib=fYb;_.bc=gYb;_.nc=hYb;_.ie=kYb;_.tN=ogc+'SecurityService_TypeSerializer';_.tI=492;var iYb,lYb;function mYb(){}
+_=mYb.prototype=new ol();_.tN=ogc+'SessionExpiredException';_.tI=493;function qYb(b,a){sl(b,a);}
+function rYb(b,a){ul(b,a);}
+function sYb(){}
+_=sYb.prototype=new fU();_.tN=ogc+'SnapshotInfo';_.tI=494;_.a=null;_.b=null;_.c=null;function wYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
+function xYb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
+function yYb(){}
+_=yYb.prototype=new fU();_.tN=ogc+'TableConfig';_.tI=495;_.a=null;_.b=0;function CYb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Bd();}
+function DYb(b,a){b.ff(a.a);b.df(a.b);}
+function EYb(){}
+_=EYb.prototype=new fU();_.tN=ogc+'TableDataResult';_.tI=496;_.a=null;function cZb(b,a){a.a=Fb(b.Dd(),94);}
+function dZb(b,a){b.ff(a.a);}
+function kZb(a){return eV(a,'\\,')[0];}
+function eZb(){}
+_=eZb.prototype=new fU();_.tN=ogc+'TableDataRow';_.tI=497;_.a=null;_.b=null;_.c=null;function iZb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=Fb(b.Dd(),63);}
+function jZb(b,a){b.gf(a.a);b.gf(a.b);b.ff(a.c);}
+function lZb(){}
+_=lZb.prototype=new fU();_.tN=ogc+'ValidatedResponse';_.tI=498;_.a=null;_.b=null;_.c=false;_.d=null;function pZb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.zd();a.d=Fb(b.Dd(),39);}
+function qZb(b,a){b.gf(a.a);b.gf(a.b);b.bf(a.c);b.ff(a.d);}
+function F0b(a){a.e=ut(new ot());}
+function a1b(j,b,c,a,f,d,g){var e,h,i;F0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=mz(new qw());i=j.f.r;e=xt(j.e);h=iA(new gA());h1b(j,i);jA(h,j.g);if(!g){d1b(j,e,h);}j1b(j,f,e);pr(j,j.e);j.Be('100%');return j;}
+function c1b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
+function d1b(h,e,g){var a,b,c,d,f;d=Ccb(new Bcb(),'images/edit.gif');d.te('Change status.');oB(d,BZb(new sZb(),h));jA(g,d);h.e.ze(0,0,g);ex(e,0,0,(xz(),zz),(aA(),dA));f=zp(new tp(),'Save changes');f.te('Check in changes.');f.x(FZb(new EZb(),h));jA(g,f);b=zp(new tp(),'Copy');b.x(d0b(new c0b(),h));jA(g,b);a=zp(new tp(),'Archive');a.x(h0b(new g0b(),h));jA(g,a);if(h.f.v==0){c=zp(new tp(),'Delete');c.x(l0b(new k0b(),h));jA(g,c);}}
+function e1b(b,c){var a;a=n2b(new i2b(),wN(c),xN(c),'Check in changes.');q2b(a,uZb(new tZb(),b,a));r2b(a);}
+function f1b(e,f){var a,b,c,d;a=rcb(new mcb(),'images/rule_asset.gif','Copy this item');b=eL(new vK());c=Fdb(new Adb());scb(a,'New name:',b);scb(a,'New package:',c);d=zp(new tp(),'Create copy');d.x(x0b(new w0b(),e,c,b,a));scb(a,'',d);wE(a,dc((tab()-rE(a))/2),100);zE(a);}
+function g1b(b,a){b.c=a;}
+function h1b(b,a){qz(b.g,'Status: <b>['+a+']<\/b>');}
+function i1b(b,c){var a;a=zeb(new deb(),b.h,false);Ceb(a,yZb(new xZb(),b,a));wE(a,wN(c),xN(c));zE(a);}
+function j1b(e,d,b){var a,c,f;f=iA(new gA());c=Ccb(new Bcb(),'images/max_min.gif');oB(c,p0b(new o0b(),e,d));jA(f,c);a=Ccb(new Bcb(),'images/close.gif');a.te('Close.');oB(a,t0b(new s0b(),e));jA(f,a);e.e.ze(0,1,f);ex(b,0,1,(xz(),Az),(aA(),dA));}
+function rZb(){}
+_=rZb.prototype=new nr();_.tN=pgc+'ActionToolbar';_.tI=499;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function BZb(b,a){b.a=a;return b;}
+function DZb(a){i1b(this.a,a);}
+function sZb(){}
+_=sZb.prototype=new fU();_.zc=DZb;_.tN=pgc+'ActionToolbar$1';_.tI=500;function uZb(b,a,c){b.a=a;b.b=c;return b;}
+function wZb(){this.a.f.b=p2b(this.b);v9b(this.a.b);}
+function tZb(){}
+_=tZb.prototype=new fU();_.pb=wZb;_.tN=pgc+'ActionToolbar$10';_.tI=501;function yZb(b,a,c){b.a=a;b.b=c;return b;}
+function AZb(){h1b(this.a,this.b.c);}
+function xZb(){}
+_=xZb.prototype=new fU();_.pb=AZb;_.tN=pgc+'ActionToolbar$11';_.tI=502;function FZb(b,a){b.a=a;return b;}
+function b0b(a){e1b(this.a,a);}
+function EZb(){}
+_=EZb.prototype=new fU();_.zc=b0b;_.tN=pgc+'ActionToolbar$2';_.tI=503;function d0b(b,a){b.a=a;return b;}
+function f0b(a){f1b(this.a,a);}
+function c0b(){}
+_=c0b.prototype=new fU();_.zc=f0b;_.tN=pgc+'ActionToolbar$3';_.tI=504;function h0b(b,a){b.a=a;return b;}
+function j0b(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+b0(zZ(new yZ()));A9b(this.a.a);}}
+function g0b(){}
+_=g0b.prototype=new fU();_.zc=j0b;_.tN=pgc+'ActionToolbar$4';_.tI=505;function l0b(b,a){b.a=a;return b;}
+function n0b(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){e$b(this.a.d);}}
+function k0b(){}
+_=k0b.prototype=new fU();_.zc=n0b;_.tN=pgc+'ActionToolbar$5';_.tI=506;function p0b(b,a,c){b.a=c;return b;}
+function r0b(a){F9b(this.a);}
+function o0b(){}
+_=o0b.prototype=new fU();_.zc=r0b;_.tN=pgc+'ActionToolbar$6';_.tI=507;function t0b(b,a){b.a=a;return b;}
+function v0b(a){o$b(this.a.c);}
+function s0b(){}
+_=s0b.prototype=new fU();_.zc=v0b;_.tN=pgc+'ActionToolbar$7';_.tI=508;function x0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
+function z0b(a){yTb(mMb(),this.a.h,beb(this.d),CK(this.c),B0b(new A0b(),this,this.c,this.d,this.b));}
+function w0b(){}
+_=w0b.prototype=new fU();_.zc=z0b;_.tN=pgc+'ActionToolbar$8';_.tI=509;function B0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
+function D0b(b,a){c1b(b.a.a,CK(b.c),beb(b.d));b.b.lc();}
+function E0b(a){D0b(this,a);}
+function A0b(){}
+_=A0b.prototype=new vcb();_.pd=E0b;_.tN=pgc+'ActionToolbar$9';_.tI=510;function F1b(a){a.b=yab(new wab());}
+function a2b(c,a,b){F1b(c);c.a=a;c.c=ut(new ot());f2b(c,c.c);FN(c.c,'rule-List');Bab(c.b,0,0,c.c);if(!b){d2b(c);}pr(c,c.b);return c;}
+function b2b(b,a){yLb(b.a,a);h2b(b);}
+function d2b(c){var a,b;a=sO(new qO());b=Ccb(new Bcb(),'images/new_item.gif');b.te('Add a new category.');oB(b,u1b(new t1b(),c));tO(a,b);Bab(c.b,0,1,a);}
+function e2b(b){var a;a=D1b(new B1b(),b);wE(a,wN(b),xN(b));zE(a);}
+function f2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;bz(d,b,0,e.a.a[b]);a=Ccb(new Bcb(),'images/trash.gif');a.te('Remove this category');oB(a,y1b(new x1b(),e,c));d.ze(b,1,a);}}
+function g2b(b,a){ALb(b.a,a);rab(b);h2b(b);}
+function h2b(a){a.c=ut(new ot());FN(a.c,'rule-List');Bab(a.b,0,0,a.c);f2b(a,a.c);rab(a);}
+function k1b(){}
+_=k1b.prototype=new pab();_.tN=pgc+'AssetCategoryEditor';_.tI=511;_.a=null;_.c=null;function m1b(b,a){b.a=a;return b;}
+function o1b(a){this.a.b=a;}
+function l1b(){}
+_=l1b.prototype=new fU();_.he=o1b;_.tN=pgc+'AssetCategoryEditor$1';_.tI=512;function q1b(b,a){b.a=a;return b;}
+function s1b(a){if(this.a.b!==null&& !EU('',this.a.b)){b2b(this.a.d,this.a.b);}this.a.lc();}
+function p1b(){}
+_=p1b.prototype=new fU();_.zc=s1b;_.tN=pgc+'AssetCategoryEditor$2';_.tI=513;function u1b(b,a){b.a=a;return b;}
+function w1b(a){e2b(this.a);}
+function t1b(){}
+_=t1b.prototype=new fU();_.zc=w1b;_.tN=pgc+'AssetCategoryEditor$3';_.tI=514;function y1b(b,a,c){b.a=a;b.b=c;return b;}
+function A1b(a){g2b(this.a,this.b);}
+function x1b(){}
+_=x1b.prototype=new fU();_.zc=A1b;_.tN=pgc+'AssetCategoryEditor$4';_.tI=515;function E1b(){E1b=d3;pE();}
+function C1b(a){a.a=zp(new tp(),'OK');}
+function D1b(b,a){var c;E1b();b.d=a;mE(b,true);C1b(b);c=sO(new qO());b.c=d_(new s$(),m1b(new l1b(),b));FN(b,'ks-popups-Popup');tO(c,b.c);tO(c,b.a);hH(b,c);b.a.x(q1b(new p1b(),b));return b;}
+function B1b(){}
+_=B1b.prototype=new kE();_.tN=pgc+'AssetCategoryEditor$CategorySelector';_.tI=516;_.b=null;_.c=null;function n2b(c,a,d,b){c.b=rcb(new mcb(),'images/checkin.gif',b);c.a=pK(new oK());c.a.Be('100%');c.c=zp(new tp(),'Save');scb(c.b,'Comment',c.a);scb(c.b,'',c.c);FN(c.b,'ks-popups-Popup');wE(c.b,a,d);return c;}
+function p2b(a){return CK(a.a);}
+function q2b(b,a){b.c.x(k2b(new j2b(),b,a));}
+function r2b(a){wE(a.b,dc((tab()-rE(a.b))/2),100);zE(a.b);}
+function i2b(){}
+_=i2b.prototype=new fU();_.tN=pgc+'CheckinPopup';_.tI=517;_.a=null;_.b=null;_.c=null;function k2b(b,a,c){b.a=a;b.b=c;return b;}
+function m2b(a){this.b.pb();this.a.b.lc();}
+function j2b(){}
+_=j2b.prototype=new fU();_.zc=m2b;_.tN=pgc+'CheckinPopup$1';_.tI=518;function i3b(){i3b=d3;pE();}
+function g3b(g,f,e){var a,b,c,d;i3b();mE(g,true);g.d=f;g.b=eL(new vK());g.b.Be('100%');b='<enter text to filter list>';aL(g.b,'<enter text to filter list>');pu(g.b,u2b(new t2b(),g));zK(g.b,z2b(new y2b(),g,e));g.b.oe(true);d=sO(new qO());tO(d,g.b);g.c=xC(new nC());hD(g.c,5);k3b(g,f5b(g.d,''));tO(d,g.c);c=zp(new tp(),'ok');c.x(F2b(new E2b(),g,e));a=zp(new tp(),'cancel');a.x(d3b(new c3b(),g));g.a=iA(new gA());jA(g.a,c);jA(g.a,a);tO(d,g.a);hH(g,d);FN(g,'ks-popups-Popup');return g;}
+function h3b(b,a){E3b(a,j3b(b));b.lc();}
+function j3b(a){return aD(a.c,bD(a.c));}
+function k3b(c,a){var b;DC(c.c);for(b=0;b<a.b;b++){AC(c.c,Fb(uY(a,b),10).a);}}
+function s2b(){}
+_=s2b.prototype=new kE();_.tN=pgc+'ChoiceList';_.tI=519;_.a=null;_.b=null;_.c=null;_.d=null;function u2b(b,a){b.a=a;return b;}
+function w2b(a){aL(this.a.b,'');}
+function x2b(a){aL(this.a.b,'<enter text to filter list>');}
+function t2b(){}
+_=t2b.prototype=new fU();_.Ec=w2b;_.gd=x2b;_.tN=pgc+'ChoiceList$1';_.tI=520;function z2b(b,a,c){b.a=a;b.b=c;return b;}
+function B2b(a,b,c){}
+function C2b(a,b,c){}
+function D2b(a,b,c){if(b==13){h3b(this.a,this.b);}else{k3b(this.a,f5b(this.a.d,CK(this.a.b)));}}
+function y2b(){}
+_=y2b.prototype=new fU();_.cd=B2b;_.dd=C2b;_.ed=D2b;_.tN=pgc+'ChoiceList$2';_.tI=521;function F2b(b,a,c){b.a=a;b.b=c;return b;}
+function b3b(a){h3b(this.a,this.b);}
+function E2b(){}
+_=E2b.prototype=new fU();_.zc=b3b;_.tN=pgc+'ChoiceList$3';_.tI=522;function d3b(b,a){b.a=a;return b;}
+function f3b(a){this.a.lc();}
+function c3b(){}
+_=c3b.prototype=new fU();_.zc=f3b;_.tN=pgc+'ChoiceList$4';_.tI=523;function C3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=pK(new oK());uK(i.d,10);aL(i.d,i.c.a);i.d.te('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=cLb((aLb(),fLb),a.d.o);i.a=c.a;i.b=c.b;FN(i.d,'dsl-text-Editor');d=ut(new ot());d.ze(0,0,i.d);yK(i.d,n3b(new m3b(),i));zK(i.d,r3b(new q3b(),i));j=sO(new qO());e=Ccb(new Bcb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.te('Add a new condition');oB(e,v3b(new u3b(),i));h=Ccb(new Bcb(),'images/new_dsl_action.gif');g='Add an action';h.te('Add an action');oB(h,z3b(new y3b(),i));tO(j,e);tO(j,h);d.ze(0,1,j);kx(d.n,0,0,'95%');kx(d.n,0,1,'5%');d.Be('100%');d.qe('100%');pr(i,d);return i;}
+function E3b(e,b){var a,c,d;a=rK(e.d);c=iV(CK(e.d),0,a);d=iV(CK(e.d),a,cV(CK(e.d)));aL(e.d,c+b+d);e.c.a=CK(e.d);}
+function F3b(b){var a;a=iV(CK(b.d),0,rK(b.d));if(aV(a,'then')>(-1)){a4b(b,b.a);}else{a4b(b,b.b);}}
+function a4b(c,b){var a;a=g3b(new s2b(),b,c);wE(a,wN(c.d)+20,xN(c.d)+20);zE(a);}
+function l3b(){}
+_=l3b.prototype=new pab();_.tN=pgc+'DSLRuleEditor';_.tI=524;_.a=null;_.b=null;_.c=null;_.d=null;function n3b(b,a){b.a=a;return b;}
+function p3b(a){this.a.c.a=CK(this.a.d);rab(this.a);}
+function m3b(){}
+_=m3b.prototype=new fU();_.yc=p3b;_.tN=pgc+'DSLRuleEditor$1';_.tI=525;function r3b(b,a){b.a=a;return b;}
+function t3b(a,b,c){if(b==32&&c==2){F3b(this.a);}if(b==9){E3b(this.a,'\t');DK(this.a.d,rK(this.a.d)+1);AK(this.a.d);}}
+function q3b(){}
+_=q3b.prototype=new vB();_.cd=t3b;_.tN=pgc+'DSLRuleEditor$2';_.tI=526;function v3b(b,a){b.a=a;return b;}
+function x3b(a){a4b(this.a,this.a.b);}
+function u3b(){}
+_=u3b.prototype=new fU();_.zc=x3b;_.tN=pgc+'DSLRuleEditor$3';_.tI=527;function z3b(b,a){b.a=a;return b;}
+function B3b(a){a4b(this.a,this.a.a);}
+function y3b(){}
+_=y3b.prototype=new fU();_.zc=B3b;_.tN=pgc+'DSLRuleEditor$4';_.tI=528;function k4b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=pK(new oK());uK(b.c,10);aL(b.c,b.b.a);FN(b.c,'default-text-Area');yK(b.c,d4b(new c4b(),b));zK(b.c,h4b(new g4b(),b));pr(b,b.c);return b;}
+function m4b(e,b){var a,c,d;a=rK(e.c);c=iV(CK(e.c),0,a);d=iV(CK(e.c),a,cV(CK(e.c)));aL(e.c,c+b+d);e.b.a=CK(e.c);}
+function b4b(){}
+_=b4b.prototype=new pab();_.tN=pgc+'DefaultRuleContentWidget';_.tI=529;_.a=null;_.b=null;_.c=null;function d4b(b,a){b.a=a;return b;}
+function f4b(a){this.a.b.a=CK(this.a.c);rab(this.a);}
+function c4b(){}
+_=c4b.prototype=new fU();_.yc=f4b;_.tN=pgc+'DefaultRuleContentWidget$1';_.tI=530;function h4b(b,a){b.a=a;return b;}
+function j4b(a,b,c){if(b==9){m4b(this.a,'\t');DK(this.a.c,rK(this.a.c)+1);AK(this.a.c);}}
+function g4b(){}
+_=g4b.prototype=new vB();_.cd=j4b;_.tN=pgc+'DefaultRuleContentWidget$2';_.tI=531;function C4b(){C4b=d3;D4b=a5b();}
+function E4b(a){C4b();var b;b=Fb(q1(D4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
+function F4b(a,b){C4b();if(EU(a.d.k,'brl')){return D8b(new k8b(),twb(new oub(),a),a);}else if(EU(a.d.k,'dslr')){return D8b(new k8b(),C3b(new l3b(),a),a);}else if(EU(a.d.k,'jar')){return oyb(new nyb(),a,b);}else if(EU(a.d.k,'xls')){return D8b(new k8b(),yfb(new xfb(),a,b),a);}else if(EU(a.d.k,'rf')){return g8b(new f8b(),a,b);}else if(EU(a.d.k,'drl')){return D8b(new k8b(),k4b(new b4b(),a),a);}else if(EU(a.d.k,'enumeration')){return D8b(new k8b(),k4b(new b4b(),a),a);}else{return k4b(new b4b(),a);}}
+function a5b(){C4b();var a;a=k1(new o0());r1(a,'drl','technical_rule_assets.gif');r1(a,'dsl','dsl.gif');r1(a,'function','function_assets.gif');r1(a,'jar','model_asset.gif');r1(a,'xls','spreadsheet_small.gif');r1(a,'brl','business_rule.gif');r1(a,'dslr','business_rule.gif');r1(a,'rf','ruleflow_small.gif');return a;}
+function b5b(d,f,g,e,a){C4b();var b,c,h;h=D$b(new f9b(),a,e);b=a.d.n;if(cV(b)>10){b=iV(b,0,7)+'...';}c=E4b(a.d.k);EJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(nZ(),oZ)){r1(d,g,h);}g_b(h,y4b(new x4b(),f,h,d,g));eK(f,aK(f,h));}
+function c5b(b,d,e,c){C4b();var a;if(n1(b,e)){if(aK(d,Fb(q1(b,e),13))==(-1)){a=ac(bK(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{eK(d,aK(d,Fb(q1(b,e),13)));}sdb();return;}jUb(mMb(),e,p4b(new o4b(),b,d,e,c));}
+var D4b;function p4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
+function r4b(c){var a,b;a=Fb(c,97);b=(aLb(),fLb);bLb(b,a.d.o,t4b(new s4b(),this,this.a,this.c,this.d,this.b,a));}
+function o4b(){}
+_=o4b.prototype=new vcb();_.pd=r4b;_.tN=pgc+'EditorLauncher$1';_.tI=532;function t4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
+function v4b(a){b5b(a.b,a.d,a.e,a.c,a.a);}
+function w4b(){v4b(this);}
+function s4b(){}
+_=s4b.prototype=new fU();_.pb=w4b;_.tN=pgc+'EditorLauncher$2';_.tI=533;function y4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
+function A4b(a){dK(a.b,aK(a.b,a.d));eK(a.b,0);if(a.a!==(nZ(),oZ)){s1(a.a,a.c);}}
+function B4b(){A4b(this);}
+function x4b(){}
+_=x4b.prototype=new fU();_.pb=B4b;_.tN=pgc+'EditorLauncher$3';_.tI=534;function f5b(e,a){var b,c,d;b=nY(new lY());for(c=0;c<e.a;c++){d=e[c];if(EU(a,'')||gV(d.a,a)){pY(b,d);}}return b;}
+function A6b(e,a,c,f,d){var b;bcb(e);FN(e,'metadata-Widget');if(!c){b=Dcb(new Bcb(),'images/edit.gif','Rename this asset');oB(b,r5b(new h5b(),e));fcb(e,'images/meta_data.png',a.n,b);}else{ecb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;F6b(e,a);return e;}
+function B6b(a){a.b=a2b(new k1b(),a.a,a.c);return a.b;}
+function D6b(d,a,e){var b,c;if(!d.c){b=eL(new vK());b.te(e);aL(b,a.ec());c=o5b(new n5b(),d,a,b);yK(b,c);return b;}else{return fC(new dC(),a.ec());}}
+function E6b(a){if(a.a.v==0){return nz(new qw(),'<i>Not checked in yet<\/i>');}else{return c7b(a,rT(a.a.v));}}
+function F6b(b,a){b.a=a;dcb(b,'Categories:',B6b(b));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Modified on:',b7b(b,b.a.m));dcb(b,'by:',c7b(b,b.a.l));dcb(b,'Note:',c7b(b,b.a.b));dcb(b,'Version:',E6b(b));if(!b.c){dcb(b,'Created on:',b7b(b,b.a.d));}dcb(b,'Created by:',c7b(b,b.a.e));dcb(b,'Format:',nz(new qw(),'<b>'+b.a.k+'<\/b>'));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Package:',a7b(b,b.a.o));dcb(b,'Subject:',D6b(b,v5b(new u5b(),b),'A short description of the subject matter.'));dcb(b,'Type:',D6b(b,A5b(new z5b(),b),'This is for classification purposes.'));dcb(b,'External link:',D6b(b,F5b(new E5b(),b),'This is for relating the asset to an external system.'));dcb(b,'Source:',D6b(b,e6b(new d6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){gcb(b,bac(new i_b(),b.e,b.a,b.d));}}
+function a7b(d,c){var a,b;if(d.c){return c7b(d,c);}else{b=iA(new gA());FN(b,'metadata-Widget');jA(b,c7b(d,c));a=Ccb(new Bcb(),'images/edit.gif');oB(a,j6b(new i6b(),d,c));jA(b,a);return b;}}
+function b7b(b,a){if(a===null){return null;}else{return fC(new dC(),a0(a));}}
+function c7b(c,b){var a;a=fC(new dC(),b);a.Be('100%');return a;}
+function d7b(f,b,e){var a,c,d;c=rcb(new mcb(),'images/package_large.png','Move this item to another package');scb(c,'Current package:',fC(new dC(),b));d=Fdb(new Adb());scb(c,'New package:',d);a=zp(new tp(),'Change package');scb(c,'',a);a.x(w6b(new v6b(),f,d,b,c));wE(c,wN(e.v.v),xN(e.v.v));zE(c);}
+function e7b(e,d){var a,b,c;c=rcb(new mcb(),'images/package_large.png','Rename this item');a=eL(new vK());scb(c,'New name',a);b=zp(new tp(),'Rename item');scb(c,'',b);b.x(n6b(new m6b(),e,a,c));wE(c,wN(d.v.v)-18,xN(d.v.v));zE(c);}
+function f7b(){return this.b.pc()||this.j;}
+function g5b(){}
+_=g5b.prototype=new Fbb();_.pc=f7b;_.tN=pgc+'MetaDataWidget';_.tI=535;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function r5b(b,a){b.a=a;return b;}
+function t5b(a){e7b(this.a,a);}
+function h5b(){}
+_=h5b.prototype=new fU();_.zc=t5b;_.tN=pgc+'MetaDataWidget$1';_.tI=536;function j5b(b,a,c){b.a=a;b.b=c;return b;}
+function l5b(b,a){rab(b.a.a);j$b(b.a.a.d);b.b.lc();}
+function m5b(a){l5b(this,a);}
+function i5b(){}
+_=i5b.prototype=new vcb();_.pd=m5b;_.tN=pgc+'MetaDataWidget$10';_.tI=537;function o5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function q5b(a){rab(this.a);this.b.xe(CK(this.c));}
+function n5b(){}
+_=n5b.prototype=new fU();_.yc=q5b;_.tN=pgc+'MetaDataWidget$11';_.tI=538;function v5b(b,a){b.a=a;return b;}
+function x5b(){return this.a.a.s;}
+function y5b(a){this.a.a.s=a;}
+function u5b(){}
+_=u5b.prototype=new fU();_.ec=x5b;_.xe=y5b;_.tN=pgc+'MetaDataWidget$2';_.tI=539;function A5b(b,a){b.a=a;return b;}
+function C5b(){return this.a.a.u;}
+function D5b(a){this.a.a.u=a;}
+function z5b(){}
+_=z5b.prototype=new fU();_.ec=C5b;_.xe=D5b;_.tN=pgc+'MetaDataWidget$3';_.tI=540;function F5b(b,a){b.a=a;return b;}
+function b6b(){return this.a.a.i;}
+function c6b(a){this.a.a.i=a;}
+function E5b(){}
+_=E5b.prototype=new fU();_.ec=b6b;_.xe=c6b;_.tN=pgc+'MetaDataWidget$4';_.tI=541;function e6b(b,a){b.a=a;return b;}
+function g6b(){return this.a.a.j;}
+function h6b(a){this.a.a.j=a;}
+function d6b(){}
+_=d6b.prototype=new fU();_.ec=g6b;_.xe=h6b;_.tN=pgc+'MetaDataWidget$5';_.tI=542;function j6b(b,a,c){b.a=a;b.b=c;return b;}
+function l6b(a){d7b(this.a,this.b,a);}
+function i6b(){}
+_=i6b.prototype=new fU();_.zc=l6b;_.tN=pgc+'MetaDataWidget$6';_.tI=543;function n6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function p6b(a){rUb(mMb(),this.a.e,CK(this.b),r6b(new q6b(),this,this.c));}
+function m6b(){}
+_=m6b.prototype=new fU();_.zc=p6b;_.tN=pgc+'MetaDataWidget$7';_.tI=544;function r6b(b,a,c){b.a=a;b.b=c;return b;}
+function t6b(b,a){j$b(b.a.a.d);zh('Item has been renamed');b.b.lc();}
+function u6b(a){t6b(this,a);}
+function q6b(){}
+_=q6b.prototype=new vcb();_.pd=u6b;_.tN=pgc+'MetaDataWidget$8';_.tI=545;function w6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function y6b(a){if(EU(beb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}uTb(mMb(),this.a.e,beb(this.d),'Moved from : '+this.b,j5b(new i5b(),this,this.c));}
+function v6b(){}
+_=v6b.prototype=new fU();_.zc=y6b;_.tN=pgc+'MetaDataWidget$9';_.tI=546;function x7b(){x7b=d3;ucb();}
+function u7b(a){a.f=eL(new vK());a.b=pK(new oK());a.d=z7b(a);a.g=Fdb(new Adb());}
+function v7b(e,a,d,b,f){var c;x7b();rcb(e,'images/new_wiz.gif',f);u7b(e);e.h=d;e.c=b;e.a=a;scb(e,'Name:',e.f);if(d){scb(e,'Initial category:',y7b(e));}if(b===null){scb(e,'Type (format) of rule:',e.d);}scb(e,'Package:',e.g);uK(e.b,4);e.b.Be('100%');scb(e,'Initial description:',e.b);c=zp(new tp(),'OK');c.x(i7b(new h7b(),e));scb(e,'',c);FN(e,'ks-popups-Popup');return e;}
+function w7b(e,b,d,c,f,a){x7b();v7b(e,b,d,c,f);ceb(e.g,a);return e;}
+function y7b(a){return d_(new s$(),m7b(new l7b(),a));}
+function A7b(a){if(a.c!==null)return a.c;return cD(a.d,bD(a.d));}
+function z7b(b){var a;a=xC(new nC());BC(a,'Business rule (using guided editor)','brl');BC(a,'DRL rule (technical rule - text editor)','drl');BC(a,'Business rule using a DSL (text editor)','dslr');BC(a,'Decision table (spreadsheet)','xls');gD(a,0);return a;}
+function B7b(b){var a;if(b.h&&b.e===null){lfb('You have to pick an initial category.',wN(b),xN(b));return;}else if(CK(b.f)===null||EU('',CK(b.f))){lfb('Rule must have a name',wN(b),xN(b));return;}a=q7b(new p7b(),b);wdb('Please wait ...');CTb(mMb(),CK(b.f),CK(b.b),b.e,beb(b.g),A7b(b),a);}
+function C7b(a,b){a.a.wd(b);}
+function g7b(){}
+_=g7b.prototype=new mcb();_.tN=pgc+'NewAssetWizard';_.tI=547;_.a=null;_.c=null;_.e=null;_.h=false;function i7b(b,a){b.a=a;return b;}
+function k7b(a){B7b(this.a);}
+function h7b(){}
+_=h7b.prototype=new fU();_.zc=k7b;_.tN=pgc+'NewAssetWizard$1';_.tI=548;function m7b(b,a){b.a=a;return b;}
+function o7b(a){this.a.e=a;}
+function l7b(){}
+_=l7b.prototype=new fU();_.he=o7b;_.tN=pgc+'NewAssetWizard$2';_.tI=549;function q7b(b,a){b.a=a;return b;}
+function s7b(b,a){var c;c=Fb(a,1);if(gV(c,'DUPLICATE')){sdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{C7b(b.a,Fb(a,1));b.a.lc();}}
+function t7b(a){s7b(this,a);}
+function p7b(){}
+_=p7b.prototype=new vcb();_.pd=t7b;_.tN=pgc+'NewAssetWizard$3';_.tI=550;function c8b(b,a){b.a=pK(new oK());b.a.Be('100%');uK(b.a,10);FN(b.a,'rule-viewer-Documentation');b.a.te('This is rule documentation. Human friendly descriptions of the business logic.');pr(b,b.a);e8b(b,a);return b;}
+function e8b(b,a){aL(b.a,a.h);yK(b.a,F7b(new E7b(),b,a));if(a.h===null||EU('',a.h)){aL(b.a,'<documentation>');}}
+function D7b(){}
+_=D7b.prototype=new pab();_.tN=pgc+'RuleDocumentWidget';_.tI=551;_.a=null;function F7b(b,a,c){b.a=a;b.b=c;return b;}
+function b8b(a){this.b.h=CK(this.a.a);rab(this.a);}
+function E7b(){}
+_=E7b.prototype=new fU();_.yc=b8b;_.tN=pgc+'RuleDocumentWidget$1';_.tI=552;function g8b(b,a,c){wxb(b,a,c);xxb(b,nz(new qw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
+function i8b(){return 'images/ruleflow_large.png';}
+function j8b(){return 'decision-Table-upload';}
+function f8b(){}
+_=f8b.prototype=new ixb();_.vb=i8b;_.Eb=j8b;_.tN=pgc+'RuleFlowUploadWidget';_.tI=553;function D8b(c,b,a){c.a=a;c.b=yab(new wab());FN(c.b,'asset-editor-Layout');Bab(c.b,0,0,b);if(!a.c)Bab(c.b,1,0,d9b(c));ex(c.b.n,1,0,(xz(),Az),(aA(),dA));c.b.Be('100%');c.b.qe('100%');pr(c,c.b);return c;}
+function F8b(a){wdb('Validating item, please wait...');rTb(mMb(),a.a,u8b(new t8b(),a));}
+function a9b(a){wdb('Calculating source...');qTb(mMb(),a.a,z8b(new y8b(),a));}
+function b9b(h,e){var a,b,c,d,f,g;c=rcb(new mcb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){tcb(c,nz(new qw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=ut(new ot());FN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ze(f,0,nB(new xA(),'images/error.gif'));if(EU(d.a,'package')){bz(a,f,1,'[package configuration problem] '+d.c);}else{bz(a,f,1,d.c);}}g=zG(new xG(),a);g.Be('100%');tcb(c,g);}wE(c,100,100);zE(c);sdb();}
+function c9b(b,a){vBb(a,b.a.d.n);sdb();}
+function d9b(b){var a,c,d;a=iA(new gA());d=zp(new tp(),'View source');jA(a,d);c=zp(new tp(),'Validate');jA(a,c);d.x(m8b(new l8b(),b));c.x(q8b(new p8b(),b));FN(a,'asset-validator-Buttons');return a;}
+function e9b(){return Aab(this.b);}
+function k8b(){}
+_=k8b.prototype=new pab();_.pc=e9b;_.tN=pgc+'RuleValidatorWrapper';_.tI=554;_.a=null;_.b=null;function m8b(b,a){b.a=a;return b;}
+function o8b(a){a9b(this.a);}
+function l8b(){}
+_=l8b.prototype=new fU();_.zc=o8b;_.tN=pgc+'RuleValidatorWrapper$1';_.tI=555;function q8b(b,a){b.a=a;return b;}
+function s8b(a){F8b(this.a);}
+function p8b(){}
+_=p8b.prototype=new fU();_.zc=s8b;_.tN=pgc+'RuleValidatorWrapper$2';_.tI=556;function u8b(b,a){b.a=a;return b;}
+function w8b(c,a){var b;b=Fb(a,88);b9b(c.a,b);}
+function x8b(a){w8b(this,a);}
+function t8b(){}
+_=t8b.prototype=new vcb();_.pd=x8b;_.tN=pgc+'RuleValidatorWrapper$3';_.tI=557;function z8b(b,a){b.a=a;return b;}
+function B8b(c,a){var b;b=Fb(a,1);c9b(c.a,b);}
+function C8b(a){B8b(this,a);}
+function y8b(){}
+_=y8b.prototype=new vcb();_.pd=C8b;_.tN=pgc+'RuleValidatorWrapper$4';_.tI=558;function D$b(c,a,b){c.a=a;c.g=b;c.e=yab(new wab());d_b(c);pr(c,c.e);sdb();return c;}
+function F$b(a){a.a.a=true;a_b(a);A4b(a.b);}
+function a_b(a){ky(a.e);wdb('Saving, please wait...');wTb(mMb(),a.a,w$b(new v$b(),a));}
+function b_b(e){var a,b,c,d;d=rcb(new mcb(),'images/warning-large.png','WARNING: Un-committed changes.');b=zp(new tp(),'Discard');a=zp(new tp(),'Cancel');c=iA(new gA());jA(c,b);jA(c,a);tcb(d,nz(new qw(),'Are you sure you want to discard changes?'));tcb(d,c);b.x(m9b(new l9b(),e,d));a.x(q9b(new p9b(),e,d));FN(d,'warning-Popup');wE(d,dc((tab()-rE(d))/2),100);zE(d);}
+function c_b(a){aUb(mMb(),a.a.e,a.a.d.o,r$b(new q$b(),a));}
+function d_b(b){var a;ky(b.e);a=xt(b.e);b.h=a1b(new rZb(),b.a,t9b(new g9b(),b),y9b(new x9b(),b),D9b(new C9b(),b),c$b(new b$b(),b),b.g);Bab(b.e,0,0,b.h);ex(a,0,0,(xz(),Az),(aA(),dA));b.f=A6b(new g5b(),b.a.d,b.g,b.a.e,h$b(new g$b(),b));Bab(b.e,0,1,b.f);tt(a,0,1,3);ix(a,0,1,(aA(),dA));kx(a,0,1,'30%');b.d=F4b(b.a,b);g1b(b.h,m$b(new l$b(),b));Bab(b.e,1,0,b.d);ix(a,1,0,(aA(),dA));b.c=c8b(new D7b(),b.a.d);Bab(b.e,2,0,b.c);ix(a,2,0,(aA(),dA));}
+function e_b(a){if(t_(a.a.d.k)){wdb('Refreshing content assistance...');eLb((aLb(),fLb),a.a.d.o,new A$b());}}
+function f_b(a){jUb(mMb(),a.a.e,i9b(new h9b(),a));}
+function g_b(b,a){b.b=a;}
+function h_b(a){var b;b= !cx(xt(a.e),2,0);jx(xt(a.e),0,1,b);jx(xt(a.e),2,0,b);}
+function f9b(){}
+_=f9b.prototype=new nr();_.tN=pgc+'RuleViewer';_.tI=559;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function t9b(b,a){b.a=a;return b;}
+function v9b(a){a_b(a.a);}
+function w9b(){v9b(this);}
+function g9b(){}
+_=g9b.prototype=new fU();_.pb=w9b;_.tN=pgc+'RuleViewer$1';_.tI=560;function i9b(b,a){b.a=a;return b;}
+function k9b(a){this.a.a=Fb(a,97);d_b(this.a);sdb();}
+function h9b(){}
+_=h9b.prototype=new vcb();_.pd=k9b;_.tN=pgc+'RuleViewer$10';_.tI=561;function m9b(b,a,c){b.a=a;b.b=c;return b;}
+function o9b(a){A4b(this.a.b);this.b.lc();}
+function l9b(){}
+_=l9b.prototype=new fU();_.zc=o9b;_.tN=pgc+'RuleViewer$11';_.tI=562;function q9b(b,a,c){b.a=c;return b;}
+function s9b(a){this.a.lc();}
+function p9b(){}
+_=p9b.prototype=new fU();_.zc=s9b;_.tN=pgc+'RuleViewer$12';_.tI=563;function y9b(b,a){b.a=a;return b;}
+function A9b(a){F$b(a.a);}
+function B9b(){A9b(this);}
+function x9b(){}
+_=x9b.prototype=new fU();_.pb=B9b;_.tN=pgc+'RuleViewer$2';_.tI=564;function D9b(b,a){b.a=a;return b;}
+function F9b(a){h_b(a.a);}
+function a$b(){F9b(this);}
+function C9b(){}
+_=C9b.prototype=new fU();_.pb=a$b;_.tN=pgc+'RuleViewer$3';_.tI=565;function c$b(b,a){b.a=a;return b;}
+function e$b(a){c_b(a.a);}
+function f$b(){e$b(this);}
+function b$b(){}
+_=b$b.prototype=new fU();_.pb=f$b;_.tN=pgc+'RuleViewer$4';_.tI=566;function h$b(b,a){b.a=a;return b;}
+function j$b(a){f_b(a.a);}
+function k$b(){j$b(this);}
+function g$b(){}
+_=g$b.prototype=new fU();_.pb=k$b;_.tN=pgc+'RuleViewer$5';_.tI=567;function m$b(b,a){b.a=a;return b;}
+function o$b(a){if(Aab(a.a.e)){b_b(a.a);}else{A4b(a.a.b);}}
+function p$b(){o$b(this);}
+function l$b(){}
+_=l$b.prototype=new fU();_.pb=p$b;_.tN=pgc+'RuleViewer$6';_.tI=568;function r$b(b,a){b.a=a;return b;}
+function t$b(b,a){A4b(b.a.b);}
+function u$b(a){t$b(this,a);}
+function q$b(){}
+_=q$b.prototype=new vcb();_.pd=u$b;_.tN=pgc+'RuleViewer$7';_.tI=569;function w$b(b,a){b.a=a;return b;}
+function y$b(b,a){var c;e_b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){sab(Fb(b.a.d,98));}sab(b.a.f);sab(b.a.c);if(c===null){xbb('Failed to check in the item. Please contact your system administrator.');return;}f_b(b.a);}
+function z$b(a){y$b(this,a);}
+function v$b(){}
+_=v$b.prototype=new vcb();_.pd=z$b;_.tN=pgc+'RuleViewer$8';_.tI=570;function C$b(){sdb();}
+function A$b(){}
+_=A$b.prototype=new fU();_.pb=C$b;_.tN=pgc+'RuleViewer$9';_.tI=571;function bac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=iA(new gA());d.a=ut(new ot());d.a.ze(0,0,fC(new dC(),'Version history'));hx(d.a.n,0,0,'metadata-Widget');b=xt(d.a);gx(b,0,0,(xz(),zz));d.c=Ccb(new Bcb(),'images/refresh.gif');oB(d.c,k_b(new j_b(),d));d.a.ze(0,1,d.c);gx(b,0,1,(xz(),Az));FN(f,'version-browser-Border');jA(f,d.a);d.a.Be('100%');f.Be('100%');pr(d,f);return d;}
+function cac(a){gac(a);fg(o_b(new n_b(),a));}
+function eac(b,a){return B_b(new A_b(),b,a);}
+function fac(a){gUb(mMb(),a.e,s_b(new r_b(),a));}
+function gac(a){sB(a.c,'images/searching.gif');}
+function hac(a){sB(a.c,'images/refresh.gif');}
+function iac(b,a){var c;c=Fac(new jac(),b.b,a,b.e,b.d);wE(c,100,100);zE(c);}
+function i_b(){}
+_=i_b.prototype=new nr();_.tN=pgc+'VersionBrowser';_.tI=572;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function k_b(b,a){b.a=a;return b;}
+function m_b(a){cac(this.a);}
+function j_b(){}
+_=j_b.prototype=new fU();_.zc=m_b;_.tN=pgc+'VersionBrowser$1';_.tI=573;function o_b(b,a){b.a=a;return b;}
+function q_b(){fac(this.a);}
+function n_b(){}
+_=n_b.prototype=new fU();_.pb=q_b;_.tN=pgc+'VersionBrowser$2';_.tI=574;function s_b(b,a){b.a=a;return b;}
+function u_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ze(1,0,fC(new dC(),'No history.'));hac(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',608,1,['Version number','Comment','Date Modified','Status']);d=eac(i.a,f);h=sfc(d,c,0,false);h.Be('100%');i.a.a.ze(1,0,h);b=xt(i.a.a);st(b,1,0,2);e=zp(new tp(),'View selected version');e.x(x_b(new w_b(),i,h));i.a.a.ze(2,1,e);st(b,2,1,3);gx(b,2,1,(xz(),yz));hac(i.a);}
+function v_b(a){u_b(this,a);}
+function r_b(){}
+_=r_b.prototype=new vcb();_.pd=v_b;_.tN=pgc+'VersionBrowser$3';_.tI=575;function x_b(b,a,c){b.a=a;b.b=c;return b;}
+function z_b(a){if(this.b.f==0)return;iac(this.a.a,ffc(this.b));}
+function w_b(){}
+_=w_b.prototype=new fU();_.zc=z_b;_.tN=pgc+'VersionBrowser$4';_.tI=576;function B_b(b,a,c){b.a=c;return b;}
+function D_b(){return this.a.a;}
+function E_b(a){return this.a[a].b;}
+function F_b(b,a){return this.a[b].c[a];}
+function aac(b,a){return null;}
+function A_b(){}
+_=A_b.prototype=new fU();_.Ab=D_b;_.ac=E_b;_.fc=F_b;_.gc=aac;_.tN=pgc+'VersionBrowser$5';_.tI=577;function abc(){abc=d3;cs();}
+function Fac(d,a,e,b,c){abc();as(d,false);d.c=e;d.a=b;d.b=c;FN(d,'version-Popup');wdb('Loading version');jUb(mMb(),e,lac(new kac(),d,a));return d;}
+function bbc(b,c){var a;a=n2b(new i2b(),wN(c)+10,xN(c)+10,'Restore this version?');q2b(a,xac(new wac(),b,a));r2b(a);}
+function jac(){}
+_=jac.prototype=new Dr();_.tN=pgc+'VersionViewer';_.tI=578;_.a=null;_.b=null;_.c=null;function lac(b,a,c){b.a=a;b.b=c;return b;}
+function nac(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;es(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=ut(new ot());d=xt(e);f=zp(new tp(),'Restore this version');f.x(pac(new oac(),this));e.ze(0,0,f);gx(d,0,0,(xz(),zz));b=zp(new tp(),'Close');b.x(tac(new sac(),this));e.ze(0,1,b);gx(d,0,1,(xz(),Az));g=D$b(new f9b(),a,true);g.Be('100%');e.ze(1,0,g);st(d,1,1,2);e.Be('100%');DN(e,800,300);fs(this.a,e);}
+function kac(){}
+_=kac.prototype=new vcb();_.pd=nac;_.tN=pgc+'VersionViewer$1';_.tI=579;function pac(b,a){b.a=a;return b;}
+function rac(a){bbc(this.a.a,a);}
+function oac(){}
+_=oac.prototype=new fU();_.zc=rac;_.tN=pgc+'VersionViewer$2';_.tI=580;function tac(b,a){b.a=a;return b;}
+function vac(a){this.a.a.lc();}
+function sac(){}
+_=sac.prototype=new fU();_.zc=vac;_.tN=pgc+'VersionViewer$3';_.tI=581;function xac(b,a,c){b.a=a;b.b=c;return b;}
+function zac(){tUb(mMb(),this.a.c,this.a.a,p2b(this.b),Bac(new Aac(),this));}
+function wac(){}
+_=wac.prototype=new fU();_.pb=zac;_.tN=pgc+'VersionViewer$4';_.tI=582;function Bac(b,a){b.a=a;return b;}
+function Dac(b,a){b.a.a.lc();j$b(b.a.a.b);}
+function Eac(a){Dac(this,a);}
+function Aac(){}
+_=Aac.prototype=new vcb();_.pd=Eac;_.tN=pgc+'VersionViewer$5';_.tI=583;function fcc(a){a.b=(nZ(),oZ);}
+function gcc(a){fcc(a);a.c=DJ(new pJ());a.c.Be('100%');a.c.qe('100%');EJ(a.c,icc(a),"<img src='images/explore.gif'/>Explore",true);eK(a.c,0);pr(a,a.c);return a;}
+function icc(i){var a,b,c,d,e,f,g,h;h=ut(new ot());i.a=jdc(new ncc(),ebc(new dbc(),i),'rulelist');b=xt(h);d=d_(new s$(),ibc(new hbc(),i,h));f=nec(new sdc(),mbc(new lbc(),i));h.ze(0,1,f);ex(b,0,0,(xz(),zz),(aA(),dA));ex(b,0,1,(xz(),zz),(aA(),dA));kx(b,0,0,'30%');kx(b,0,1,'70%');e=zp(new tp(),'Create new rule');e.te('Create new rule');e.x(rbc(new qbc(),i));g=Ccb(new Bcb(),'images/system_search_small.png');g.te('Show the rule finder.');oB(g,vbc(new ubc(),i,h,f));a=iA(new gA());jA(a,e);jA(a,g);FN(a,'new-asset-Icons');c=sO(new qO());tO(c,a);tO(c,d);c.Be('100%');h.ze(0,0,c);return h;}
+function jcc(c,a,b){return zbc(new ybc(),c,b,a);}
+function kcc(b,a){b.b=a;}
+function lcc(a,b){c5b(a.b,a.c,b,false);}
+function mcc(c){var a,b,d;a=70;d=100;b=v7b(new g7b(),ccc(new bcc(),c),true,null,'Create a new rule');wE(b,a,d);zE(b);}
+function cbc(){}
+_=cbc.prototype=new nr();_.tN=qgc+'AssetBrowser';_.tI=584;_.a=null;_.c=null;function ebc(b,a){b.a=a;return b;}
+function gbc(a){lcc(this.a,a);}
+function dbc(){}
+_=dbc.prototype=new fU();_.wd=gbc;_.tN=qgc+'AssetBrowser$1';_.tI=585;function ibc(b,a,c){b.a=a;b.b=c;return b;}
+function kbc(b){var a;a=jcc(this.a,this.a.a,b);this.b.ze(0,1,this.a.a);wdb('Retrieving list, please wait...');fg(a);pdc(this.a.a,a);}
+function hbc(){}
+_=hbc.prototype=new fU();_.he=kbc;_.tN=qgc+'AssetBrowser$2';_.tI=586;function mbc(b,a){b.a=a;return b;}
+function obc(b,a){lcc(b.a,a);}
+function pbc(a){obc(this,a);}
+function lbc(){}
+_=lbc.prototype=new fU();_.wd=pbc;_.tN=qgc+'AssetBrowser$3';_.tI=587;function rbc(b,a){b.a=a;return b;}
+function tbc(a){mcc(this.a);}
+function qbc(){}
+_=qbc.prototype=new fU();_.zc=tbc;_.tN=qgc+'AssetBrowser$4';_.tI=588;function vbc(b,a,d,c){b.b=d;b.a=c;return b;}
+function xbc(a){this.b.ze(0,1,this.a);}
+function ubc(){}
+_=ubc.prototype=new fU();_.zc=xbc;_.tN=qgc+'AssetBrowser$5';_.tI=589;function zbc(b,a,d,c){b.b=d;b.a=c;return b;}
+function Bbc(){wdb('Loading list, please wait...');kUb(mMb(),this.b,Dbc(new Cbc(),this,this.a));}
+function ybc(){}
+_=ybc.prototype=new fU();_.pb=Bbc;_.tN=qgc+'AssetBrowser$6';_.tI=590;function Dbc(b,a,c){b.a=c;return b;}
+function Fbc(c,a){var b;b=Fb(a,62);odc(c.a,b);sdb();}
+function acc(a){Fbc(this,a);}
+function Cbc(){}
+_=Cbc.prototype=new vcb();_.pd=acc;_.tN=qgc+'AssetBrowser$7';_.tI=591;function ccc(b,a){b.a=a;return b;}
+function ecc(a){lcc(this.a,a);}
+function bcc(){}
+_=bcc.prototype=new fU();_.wd=ecc;_.tN=qgc+'AssetBrowser$8';_.tI=592;function kdc(){kdc=d3;qdc=mMb();}
+function idc(a){a.c=ut(new ot());a.e=Ccb(new Bcb(),'images/refresh.gif');a.a=eC(new dC());}
+function jdc(c,a,b){kdc();idc(c);mdc(c);ndc(c,b);c.e.ye(false);c.b=a;c.e.te('Refresh current list. Will show any changes.');oB(c.e,pcc(new occ(),c));return c;}
+function ldc(a){return kZb(ffc(a.f));}
+function mdc(c){var a,b;a=xt(c.c);c.c.Be('100%');ex(a,0,0,(xz(),zz),(aA(),dA));b=Ccb(new Bcb(),'images/open_item.gif');oB(b,ycc(new xcc(),c));b.te('Open item');c.c.ze(0,1,b);ex(a,0,1,(xz(),Az),(aA(),dA));pr(c,c.c);}
+function ndc(b,a){mUb(qdc,a,tcc(new scc(),b));}
+function odc(g,a){var b,c,d,e,f;b=xt(g.c);g.c.ze(1,0,null);if(a===null||a.a.a==0){d=new Bcc();g.f=sfc(d,g.g.a,25,true);g.a.ye(false);}else{f=a.a;c=cdc(new bdc(),g,f);g.f=sfc(c,g.g.a,25,true);e=iA(new gA());jA(e,g.e);g.a.ye(true);kC(g.a,'  '+a.a.a+' items.');jA(e,g.a);g.c.ze(0,0,e);}g.f.Be('100%');g.c.ze(1,0,g.f);st(b,1,0,2);}
+function pdc(b,a){b.d=a;b.e.ye(true);}
+function ncc(){}
+_=ncc.prototype=new nr();_.tN=qgc+'AssetItemListViewer';_.tI=593;_.b=null;_.d=null;_.f=null;_.g=null;var qdc;function pcc(b,a){b.a=a;return b;}
+function rcc(a){wdb('Refreshing list, please wait...');this.a.d.pb();}
+function occ(){}
+_=occ.prototype=new fU();_.zc=rcc;_.tN=qgc+'AssetItemListViewer$1';_.tI=594;function tcc(b,a){b.a=a;return b;}
+function vcc(b,a){b.a.g=Fb(a,99);odc(b.a,null);}
+function wcc(a){vcc(this,a);}
+function scc(){}
+_=scc.prototype=new vcb();_.pd=wcc;_.tN=qgc+'AssetItemListViewer$2';_.tI=595;function ycc(b,a){b.a=a;return b;}
+function Acc(a){wdb('Loading item, please wait ...');this.a.b.wd(kZb(ffc(this.a.f)));}
+function xcc(){}
+_=xcc.prototype=new fU();_.zc=Acc;_.tN=qgc+'AssetItemListViewer$3';_.tI=596;function Dcc(){return 0;}
+function Ecc(a){return '';}
+function Fcc(b,a){return '';}
+function adc(b,a){return null;}
+function Bcc(){}
+_=Bcc.prototype=new fU();_.Ab=Dcc;_.ac=Ecc;_.fc=Fcc;_.gc=adc;_.tN=qgc+'AssetItemListViewer$4';_.tI=597;function cdc(b,a,c){b.a=a;b.b=c;return b;}
+function edc(){return this.b.a;}
+function fdc(a){return this.b[a].b;}
+function gdc(b,a){return this.b[b].c[a];}
+function hdc(b,a){if(EU(this.a.g.a[a],'*')){return nB(new xA(),'images/'+E4b(this.b[b].a));}else{return null;}}
+function bdc(){}
+_=bdc.prototype=new fU();_.Ab=edc;_.ac=fdc;_.fc=gdc;_.gc=hdc;_.tN=qgc+'AssetItemListViewer$5';_.tI=598;function nec(d,a){var b,c;d.c=ccb(new Fbb(),'images/system_search.png','');d.e=E_(new u_(),udc(new tdc(),d));FN(d.e,'gwt-TextBox');d.b=a;c=iA(new gA());b=zp(new tp(),'Go');b.x(ydc(new xdc(),d));jA(c,d.e);jA(c,b);d.a=lq(new iq(),'Include archived items in list');FN(d.a,'small-Text');pq(d.a,false);dcb(d.c,'Find items with a name matching:',c);gcb(d.c,d.a);gcb(d.c,nz(new qw(),'<hr/>'));d.d=ut(new ot());d.d.ze(0,0,nz(new qw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));gcb(d.c,d.d);FN(d.d,'editable-Surface');zK(d.e,pec(d));FN(d.c,'quick-find');pr(d,d.c);return d;}
+function pec(a){return aec(new Fdc(),a);}
+function qec(c,a,b){nUb(mMb(),a,5,oq(c.a),Cdc(new Bdc(),c,b));}
+function rec(f,d){var a,b,c,e;a=ut(new ot());if(d.a.a==1){obc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(EU(e.b,'MORE')){a.ze(b,0,nz(new qw(),'<i>There are more items... try narrowing the search terms..<\/i>'));st(xt(a),b,0,3);}else{a.ze(b,0,fC(new dC(),e.c[0]));a.ze(b,1,fC(new dC(),e.c[1]));c=zp(new tp(),'Open');c.x(kec(new jec(),f,e));a.ze(b,2,c);}}a.Be('100%');f.d.ze(0,0,a);sdb();}
+function sec(a){wdb('Searching...');nUb(mMb(),CK(a.e),15,oq(a.a),gec(new fec(),a));}
+function sdc(){}
+_=sdc.prototype=new nr();_.tN=qgc+'QuickFindWidget';_.tI=599;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function udc(b,a){b.a=a;return b;}
+function wdc(c,b,a){qec(c.a,b,a);}
+function tdc(){}
+_=tdc.prototype=new fU();_.tN=qgc+'QuickFindWidget$1';_.tI=600;function ydc(b,a){b.a=a;return b;}
+function Adc(a){sec(this.a);}
+function xdc(){}
+_=xdc.prototype=new fU();_.zc=Adc;_.tN=qgc+'QuickFindWidget$2';_.tI=601;function Cdc(b,a,c){b.a=c;return b;}
+function Edc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[608],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!EU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}C_(this.a,c);}
+function Bdc(){}
+_=Bdc.prototype=new vcb();_.pd=Edc;_.tN=qgc+'QuickFindWidget$3';_.tI=602;function aec(b,a){b.a=a;return b;}
+function cec(a,b,c){}
+function dec(a,b,c){}
+function eec(a,b,c){if(b==13){sec(this.a);}}
+function Fdc(){}
+_=Fdc.prototype=new fU();_.cd=cec;_.dd=dec;_.ed=eec;_.tN=qgc+'QuickFindWidget$4';_.tI=603;function gec(b,a){b.a=a;return b;}
+function iec(a){var b;b=Fb(a,62);rec(this.a,b);}
+function fec(){}
+_=fec.prototype=new vcb();_.pd=iec;_.tN=qgc+'QuickFindWidget$5';_.tI=604;function kec(b,a,c){b.a=a;b.b=c;return b;}
+function mec(a){obc(this.a.b,this.b.b);}
+function jec(){}
+_=jec.prototype=new fU();_.zc=mec;_.tN=qgc+'QuickFindWidget$6';_.tI=605;function vec(a){a.a=nY(new lY());}
+function wec(a){vec(a);return a;}
+function xec(b,a,c){if(a>=b.a.b){yec(b,a);}AY(b.a,a,c);}
+function yec(c,a){var b;for(b=c.a.b;b<=a;b++){pY(c.a,null);}}
+function Aec(b,a){return uY(b.a,a);}
+function Bec(b,a){b.b=a;}
+function Cec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(Aec(this,this.b),34);b=Fb(Aec(d,this.b),34);return a.bb(b);}
+function uec(){}
+_=uec.prototype=new fU();_.bb=Cec;_.tN=rgc+'RowData';_.tI=606;_.b=0;function Eec(a){a.j=nY(new lY());a.i=nY(new lY());}
+function Fec(c,b,a){dw(c,b+1,a);Eec(c);gy(c,c);FN(c,vfc);return c;}
+function afc(c,b,a){if(b!=0){return;}mfc(c,a);ofc(c,a);efc(c);}
+function cfc(e){var a,b,c,d,f;if(e.h==qfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(uY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Aec(b,a);ifc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(uY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Aec(b,a);ifc(e,d,a,f.tS());}}}}
+function dfc(d){var a,b,c;c=0;for(b=d.i.qc();b.kc();){a=Fb(b.sc(),1);gfc(d,a,c++);}}
+function efc(a){dfc(a);cfc(a);}
+function ffc(a){return ry(a,a.f,a.e);}
+function gfc(d,c,b){var a;a=qU(new pU());sU(a,c);sU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==qfc){sU(a,"'"+d.a+"' alt='Ascending' ");}else{sU(a,"'"+d.c+"' alt='Descending' ");}}else{sU(a,"'"+d.b+"'");}sU(a,'/>');Fy(d,0,b,wU(a));ux(d.p,0,wfc);}
+function hfc(c,b,a){if(b%2==0){hx(c.n,b,a,ufc);}}
+function ifc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ze(b,a,nB(new xA(),'images/'+E4b(d)));else bz(c,b,a,d);}}
+function jfc(c,b,a){oY(c.i,a,b);gfc(c,b,a);}
+function kfc(b,a){b.d=a;}
+function lfc(b,a){b.e=a;jx(b.n,0,a,false);}
+function mfc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(uY(d.j,b),100);Bec(a,c);}}
+function nfc(d,b,a,e,f){var c;if(b==0)return;hfc(d,b,a);if(b-1>=d.j.b||null===uY(d.j,b-1)){oY(d.j,b-1,wec(new uec()));}c=Fb(uY(d.j,b-1),100);xec(c,a,e);if(f===null){bz(d,b,a,''+e+'');}else{d.ze(b,a,f);}if(a==d.e){jx(d.n,b,a,false);}}
+function ofc(b,a){qZ(b.j);if(b.g!=a){b.h=qfc;}else{b.h=b.h==qfc?rfc:qfc;}b.g=a;}
+function pfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){hx(a,c,b,xfc);if(d.f%2==0&&d.f!=0){hx(a,d.f,b,ufc);}else{dx(a,d.f,b,xfc);}}d.f=c;}}
+function sfc(a,d,b,c){var e,f,g;g=null;if(b>a.Ab()){g=Fec(new Dec(),b,d.a+1);nfc(g,1,1,'',null);}else{g=Fec(new Dec(),a.Ab()+1,d.a+1);}jfc(g,'',0);for(e=0;e<d.a;e++){jfc(g,d[e],e+1);}lfc(g,0);for(e=0;e<a.Ab();e++){nfc(g,e+1,0,a.ac(e),null);for(f=0;f<d.a;f++){nfc(g,e+1,f+1,a.fc(e,f),a.gc(e,f));}}kfc(g,c);return g;}
+function tfc(c,b,a){if(b<=this.j.b){pfc(this,b);afc(this,b,a);}}
+function Dec(){}
+_=Dec.prototype=new bw();_.xc=tfc;_.tN=rgc+'SortableTable';_.tI=607;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var qfc=0,rfc=1,ufc='rule-ListEvenRow',vfc='rule-List',wfc='rule-ListHeader',xfc='rule-SelectedRow';function FR(){p4(l4(new a4()));}
+function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{FR();}catch(a){b(d);}else{FR();}}
+var gc=[{},{11:1},{1:1,11:1,34:1,35:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{2:1,11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1},{8:1,11:1},{8:1,11:1},{8:1,11:1},{11:1},{2:1,6:1,11:1},{2:1,11:1},{9:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1},{3:1,11:1},{3:1,11:1,39:1},{3:1,11:1,92:1},{3:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,36:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,49:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1,33:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,43:1},{11:1,49:1,56:1}!
 ,{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,81:1},{11:1,13:1,36:1,37:1,81:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,46:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1},{11:1,49:1,56:1},{11:1,39:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,49:1},{11:1},{11:1,13:1,36:1,37:1,87:1},{11:1,13:1,36:1,37:1,48:1,54:1},{9:1,11:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,39:1},{11:1,39:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,50:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,80:1},{11:1,13:1,36:1,37:1,54:1},{11:1,36:1,52:1},{11:1,36:1,52:1},{11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1},{11:1},{11!
 :1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:
1,11:1},{11:1,55:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{11:1,35:1},{3:1,11:1},{11:1},{11:1,57:1},{11:1,49:1,58:1},{11:1,49:1,58:1},{11:1},{11:1,49:1},{11:1},{11:1},{11:1,34:1,59:1},{11:1,57:1},{11:1,60:1},{11:1,49:1,58:1},{11:1},{11:1,49:1,58:1},{3:1,11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{7:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{8:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{!
 11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,53:1},{11:1,42:1},{11:1},{11:1},{11:1,36:1,52:1,64:1},{11:1,13:1,36:1,37:1,46:1,80:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,13:1,36:1,37:1,81:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,65:1},{11:1,13:1,36:1,37:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,38:1,39:1,91:1},{11:1,20:1,22:1,38:1,39:1},{11:1,23:1,38:1,39:1},{11:1,20:1,22:1,24:1,38:1,3!
 9:1},{11:1,20:1,22:1,24:1,25:1,38:1,39:1},{11:1,20:1,26:1,38:1,39:1},{
11:1,20:1,22:1,27:1,38:1,39:1},{11:1,20:1,22:1,27:1,28:1,38:1,39:1},{11:1,19:1,29:1,38:1,39:1},{11:1,21:1,30:1,38:1,39:1},{11:1,38:1,39:1,40:1},{11:1,15:1,38:1,39:1,40:1},{10:1,11:1,19:1,20:1,38:1,39:1},{11:1,19:1,31:1,38:1,39:1},{11:1,18:1,38:1,39:1},{11:1,38:1,39:1,83:1},{11:1,21:1,32:1,38:1,39:1,40:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,84:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,41:1},{4:1,11:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,46:1},{11:1,41:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,82:1,98:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11!
 :1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,46:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1!
 ,42:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:
1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1},{4:1,11:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1,53:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,90:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,42:1},{11:1,53:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1},{11:1,12:1,39:1},{3:1,11:1,39:1,70:1},{11:1,39:1,93:1},{11:1,16:1,39:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,39:1,97:1},{11:1,39:1,95:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1,69:1},{11:1,17:1,39:1},{11:1,39:1,99:1},{11:1,39:1,62:1},{11:1,!
 14:1,39:1},{11:1,39:1,89:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,44:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1},{11:1,41:1},{11:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{!
 4:1,11:1},{4:1,11:1},{4:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36
:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{11:1,46:1},{11:1},{11:1,42:1},{11:1,34:1,100:1},{11:1,13:1,36:1,37:1,51:1,54:1},{11:1,63:1},{11:1},{11:1,72:1,77:1,78:1},{11:1},{11:1,88:1},{11:1},{11:1},{11:1,94:1},{11:1,79:1},{11:1,71:1},{11:1,86:1},{11:1,76:1},{11:1,77:1},{11:1,78:1},{11:1,75:1},{11:1,78:1},{11:1,73:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,77:1},{11:1,75:1},{11:1,74:1,77:1},{11:1,75:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1}];if ($wnd.org_drools_brms_JBRMS) $wnd.org_drools_brms_JBRMS.onScriptLoad();
+--></script></body></html>
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.js (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.js)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.js	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,3426 @@
+(function(){var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var _,yfc='com.google.gwt.core.client.',zfc='com.google.gwt.lang.',Afc='com.google.gwt.user.client.',Bfc='com.google.gwt.user.client.impl.',Cfc='com.google.gwt.user.client.rpc.',Dfc='com.google.gwt.user.client.rpc.core.java.lang.',Efc='com.google.gwt.user.client.rpc.core.java.util.',Ffc='com.google.gwt.user.client.rpc.impl.',agc='com.google.gwt.user.client.ui.',bgc='com.google.gwt.user.client.ui.impl.',cgc='java.io.',dgc='java.lang.',egc='java.util.',fgc='org.drools.brms.client.',ggc='org.drools.brms.client.admin.',hgc='org.drools.brms.client.categorynav.',igc='org.drools.brms.client.common.',jgc='org.drools.brms.client.decisiontable.',kgc='org.drools.brms.client.modeldriven.',lgc='org.drools.brms.client.modeldriven.brl.',mgc='org.drools.brms.client.modeldriven.ui.',ngc='org.drools.brms.client.packages.',ogc='org.drools.brms.client.rpc.',pgc='org.drools.brms.client.ruleeditor.',qgc='org.droo!
 ls.brms.client.rulelist.',rgc='org.drools.brms.client.table.';function d3(){}
+function hU(a){return this===a;}
+function iU(){return AV(this);}
+function jU(){return this.tN+'@'+this.hC();}
+function fU(){}
+_=fU.prototype={};_.eQ=hU;_.hC=iU;_.tS=jU;_.toString=function(){return this.tS();};_.tN=dgc+'Object';_.tI=1;function v(){return C();}
+function w(a){return a==null?null:a.tN;}
+var x=null;function A(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function B(a){return a==null?0:a.$H?a.$H:(a.$H=D());}
+function C(){return $moduleBase;}
+function D(){return ++E;}
+var E=0;function DV(b,a){b.c=a;return b;}
+function EV(c,b,a){c.c=b;return c;}
+function aW(){return this.c;}
+function bW(){var a,b;a=w(this);b=this.zb();if(b!==null){return a+': '+b;}else{return a;}}
+function CV(){}
+_=CV.prototype=new fU();_.zb=aW;_.tS=bW;_.tN=dgc+'Throwable';_.tI=3;_.c=null;function CS(b,a){DV(b,a);return b;}
+function DS(c,b,a){EV(c,b,a);return c;}
+function BS(){}
+_=BS.prototype=new CV();_.tN=dgc+'Exception';_.tI=4;function lU(b,a){CS(b,a);return b;}
+function mU(c,b,a){DS(c,b,a);return c;}
+function kU(){}
+_=kU.prototype=new BS();_.tN=dgc+'RuntimeException';_.tI=5;function ab(c,b,a){lU(c,'JavaScript '+b+' exception: '+a);return c;}
+function F(){}
+_=F.prototype=new kU();_.tN=yfc+'JavaScriptException';_.tI=6;function eb(b,a){if(!ac(a,2)){return false;}return jb(b,Fb(a,2));}
+function fb(a){return A(a);}
+function gb(){return [];}
+function hb(){return function(){};}
+function ib(){return {};}
+function kb(a){return eb(this,a);}
+function jb(a,b){return a===b;}
+function lb(){return fb(this);}
+function nb(){return mb(this);}
+function mb(a){if(a.toString)return a.toString();return '[object]';}
+function cb(){}
+_=cb.prototype=new fU();_.eQ=kb;_.hC=lb;_.tS=nb;_.tN=yfc+'JavaScriptObject';_.tI=7;function pb(c,a,d,b,e){c.a=a;c.b=b;c.tN=e;c.tI=d;return c;}
+function rb(a,b,c){return a[b]=c;}
+function tb(a,b){return sb(a,b);}
+function sb(a,b){return pb(new ob(),b,a.tI,a.b,a.tN);}
+function ub(b,a){return b[a];}
+function wb(b,a){return b[a];}
+function vb(a){return a.length;}
+function yb(e,d,c,b,a){return xb(e,d,c,b,0,vb(b),a);}
+function xb(j,i,g,c,e,a,b){var d,f,h;if((f=ub(c,e))<0){throw new wT();}h=pb(new ob(),f,ub(i,e),ub(g,e),j);++e;if(e<a){j=hV(j,1);for(d=0;d<f;++d){rb(h,d,xb(j,i,g,c,e,a,b));}}else{for(d=0;d<f;++d){rb(h,d,b);}}return h;}
+function zb(f,e,c,g){var a,b,d;b=vb(g);d=pb(new ob(),b,e,c,f);for(a=0;a<b;++a){rb(d,a,wb(g,a));}return d;}
+function Ab(a,b,c){if(c!==null&&a.b!=0&& !ac(c,a.b)){throw new gS();}return rb(a,b,c);}
+function ob(){}
+_=ob.prototype=new fU();_.tN=zfc+'Array';_.tI=8;function Db(b,a){return !(!(b&&gc[b][a]));}
+function Eb(a){return String.fromCharCode(a);}
+function Fb(b,a){if(b!=null)Db(b.tI,a)||fc();return b;}
+function ac(b,a){return b!=null&&Db(b.tI,a);}
+function bc(a){return a&65535;}
+function cc(a){return ~(~a);}
+function dc(a){if(a>(jT(),kT))return jT(),kT;if(a<(jT(),lT))return jT(),lT;return a>=0?Math.floor(a):Math.ceil(a);}
+function fc(){throw new wS();}
+function ec(a){if(a!==null){throw new wS();}return a;}
+function hc(b,d){_=d.prototype;if(b&& !(b.tI>=_.tI)){var c=b.toString;for(var a in _){b[a]=_[a];}b.toString=c;}return b;}
+var gc;function kc(a){if(ac(a,3)){return a;}return ab(new F(),mc(a),lc(a));}
+function lc(a){return a.message;}
+function mc(a){return a.name;}
+function oc(b,a){return b;}
+function nc(){}
+_=nc.prototype=new kU();_.tN=Afc+'CommandCanceledException';_.tI=11;function fd(a){a.a=sc(new rc(),a);a.b=nY(new lY());a.d=wc(new vc(),a);a.f=Ac(new zc(),a);}
+function gd(a){fd(a);return a;}
+function id(c){var a,b,d;a=Cc(c.f);Fc(c.f);b=null;if(ac(a,4)){b=oc(new nc(),Fb(a,4));}else{}if(b!==null){d=x;}ld(c,false);kd(c);}
+function jd(e,d){var a,b,c,f;f=false;try{ld(e,true);ad(e.f,e.b.b);nh(e.a,10000);while(Dc(e.f)){b=Ec(e.f);c=true;try{if(b===null){return;}if(ac(b,4)){a=Fb(b,4);a.pb();}else{}}finally{f=bd(e.f);if(f){return;}if(c){Fc(e.f);}}if(od(zV(),d)){return;}}}finally{if(!f){jh(e.a);ld(e,false);kd(e);}}}
+function kd(a){if(!xY(a.b)&& !a.e&& !a.c){md(a,true);nh(a.d,1);}}
+function ld(b,a){b.c=a;}
+function md(b,a){b.e=a;}
+function nd(b,a){pY(b.b,a);kd(b);}
+function od(a,b){return uT(a-b)>=100;}
+function qc(){}
+_=qc.prototype=new fU();_.tN=Afc+'CommandExecutor';_.tI=12;_.c=false;_.e=false;function kh(){kh=d3;uh=nY(new lY());{th();}}
+function ih(a){kh();return a;}
+function jh(a){if(a.b){oh(a.c);}else{ph(a.c);}zY(uh,a);}
+function lh(a){if(!a.b){zY(uh,a);}a.fe();}
+function nh(b,a){if(a<=0){throw aT(new FS(),'must be positive');}jh(b);b.b=false;b.c=rh(b,a);pY(uh,b);}
+function mh(b,a){if(a<=0){throw aT(new FS(),'must be positive');}jh(b);b.b=true;b.c=qh(b,a);pY(uh,b);}
+function oh(a){kh();$wnd.clearInterval(a);}
+function ph(a){kh();$wnd.clearTimeout(a);}
+function qh(b,a){kh();return $wnd.setInterval(function(){b.qb();},a);}
+function rh(b,a){kh();return $wnd.setTimeout(function(){b.qb();},a);}
+function sh(){var a;a=x;{lh(this);}}
+function th(){kh();yh(new eh());}
+function dh(){}
+_=dh.prototype=new fU();_.qb=sh;_.tN=Afc+'Timer';_.tI=13;_.b=false;_.c=0;var uh;function tc(){tc=d3;kh();}
+function sc(b,a){tc();b.a=a;ih(b);return b;}
+function uc(){if(!this.a.c){return;}id(this.a);}
+function rc(){}
+_=rc.prototype=new dh();_.fe=uc;_.tN=Afc+'CommandExecutor$1';_.tI=14;function xc(){xc=d3;kh();}
+function wc(b,a){xc();b.a=a;ih(b);return b;}
+function yc(){md(this.a,false);jd(this.a,zV());}
+function vc(){}
+_=vc.prototype=new dh();_.fe=yc;_.tN=Afc+'CommandExecutor$2';_.tI=15;function Ac(b,a){b.d=a;return b;}
+function Cc(a){return uY(a.d.b,a.b);}
+function Dc(a){return a.c<a.a;}
+function Ec(b){var a;b.b=b.c;a=uY(b.d.b,b.c++);if(b.c>=b.a){b.c=0;}return a;}
+function Fc(a){yY(a.d.b,a.b);--a.a;if(a.b<=a.c){if(--a.c<0){a.c=0;}}a.b=(-1);}
+function ad(b,a){b.a=a;}
+function bd(a){return a.b==(-1);}
+function cd(){return Dc(this);}
+function dd(){return Ec(this);}
+function ed(){Fc(this);}
+function zc(){}
+_=zc.prototype=new fU();_.kc=cd;_.sc=dd;_.ce=ed;_.tN=Afc+'CommandExecutor$CircularIterator';_.tI=16;_.a=0;_.b=(-1);_.c=0;function rd(){rd=d3;rf=nY(new lY());{gf=new ki();bj(gf);}}
+function sd(a){rd();pY(rf,a);}
+function td(b,a){rd();hj(gf,b,a);}
+function ud(a,b){rd();return vi(gf,a,b);}
+function vd(){rd();return jj(gf,'A');}
+function wd(){rd();return jj(gf,'button');}
+function xd(){rd();return jj(gf,'div');}
+function yd(a){rd();return jj(gf,a);}
+function zd(){rd();return jj(gf,'form');}
+function Ad(){rd();return jj(gf,'iframe');}
+function Bd(){rd();return jj(gf,'img');}
+function Cd(){rd();return kj(gf,'checkbox');}
+function Dd(){rd();return kj(gf,'password');}
+function Ed(a){rd();return wi(gf,a);}
+function Fd(){rd();return kj(gf,'text');}
+function ae(){rd();return jj(gf,'label');}
+function be(a){rd();return lj(gf,a);}
+function ce(){rd();return jj(gf,'span');}
+function de(){rd();return jj(gf,'tbody');}
+function ee(){rd();return jj(gf,'td');}
+function fe(){rd();return jj(gf,'tr');}
+function ge(){rd();return jj(gf,'table');}
+function he(){rd();return jj(gf,'textarea');}
+function ke(b,a,d){rd();var c;c=x;{je(b,a,d);}}
+function je(b,a,c){rd();var d;if(a===qf){if(xe(b)==8192){qf=null;}}d=ie;ie=b;try{c.wc(b);}finally{ie=d;}}
+function le(b,a){rd();mj(gf,b,a);}
+function me(a){rd();return nj(gf,a);}
+function ne(a){rd();return mi(gf,a);}
+function oe(a){rd();return ni(gf,a);}
+function pe(a){rd();return oj(gf,a);}
+function qe(a){rd();return pj(gf,a);}
+function re(a){rd();return xi(gf,a);}
+function se(a){rd();return qj(gf,a);}
+function te(a){rd();return rj(gf,a);}
+function ue(a){rd();return sj(gf,a);}
+function ve(a){rd();return yi(gf,a);}
+function we(a){rd();return zi(gf,a);}
+function xe(a){rd();return tj(gf,a);}
+function ye(a){rd();Ai(gf,a);}
+function ze(a){rd();return Bi(gf,a);}
+function Ae(a){rd();return oi(gf,a);}
+function Be(a){rd();return pi(gf,a);}
+function Ee(b,a){rd();return Ei(gf,b,a);}
+function Ce(a){rd();return Ci(gf,a);}
+function De(b,a){rd();return Di(gf,b,a);}
+function bf(a,b){rd();return wj(gf,a,b);}
+function Fe(a,b){rd();return uj(gf,a,b);}
+function af(a,b){rd();return vj(gf,a,b);}
+function cf(a){rd();return xj(gf,a);}
+function df(a){rd();return Fi(gf,a);}
+function ef(a){rd();return yj(gf,a);}
+function ff(a){rd();return aj(gf,a);}
+function hf(c,a,b){rd();cj(gf,c,a,b);}
+function jf(c,b,d,a){rd();qi(gf,c,b,d,a);}
+function kf(b,a){rd();return dj(gf,b,a);}
+function lf(a){rd();var b,c;c=true;if(rf.b>0){b=Fb(uY(rf,rf.b-1),5);if(!(c=b.Cc(a))){le(a,true);ye(a);}}return c;}
+function mf(a){rd();if(qf!==null&&ud(a,qf)){qf=null;}ej(gf,a);}
+function nf(b,a){rd();zj(gf,b,a);}
+function of(b,a){rd();Aj(gf,b,a);}
+function pf(a){rd();zY(rf,a);}
+function sf(a){rd();Bj(gf,a);}
+function tf(a){rd();qf=a;fj(gf,a);}
+function uf(b,a,c){rd();Cj(gf,b,a,c);}
+function xf(a,b,c){rd();Fj(gf,a,b,c);}
+function vf(a,b,c){rd();Dj(gf,a,b,c);}
+function wf(a,b,c){rd();Ej(gf,a,b,c);}
+function yf(a,b){rd();ak(gf,a,b);}
+function zf(a,b){rd();bk(gf,a,b);}
+function Af(a,b){rd();ck(gf,a,b);}
+function Bf(a,b){rd();dk(gf,a,b);}
+function Cf(b,a,c){rd();ek(gf,b,a,c);}
+function Df(b,a,c){rd();fk(gf,b,a,c);}
+function Ef(a,b){rd();gj(gf,a,b);}
+function Ff(a){rd();return gk(gf,a);}
+function ag(){rd();return ri(gf);}
+function bg(){rd();return si(gf);}
+var ie=null,gf=null,qf=null,rf;function dg(){dg=d3;gg=gd(new qc());}
+function fg(a){dg();nd(gg,a);}
+function eg(a){dg();if(a===null){throw zT(new yT(),'cmd can not be null');}nd(gg,a);}
+var gg;function jg(b,a){if(ac(a,6)){return ud(b,Fb(a,6));}return eb(hc(b,hg),a);}
+function kg(a){return jg(this,a);}
+function lg(){return fb(hc(this,hg));}
+function mg(){return Ff(this);}
+function hg(){}
+_=hg.prototype=new cb();_.eQ=kg;_.hC=lg;_.tS=mg;_.tN=Afc+'Element';_.tI=17;function rg(a){return eb(hc(this,ng),a);}
+function sg(){return fb(hc(this,ng));}
+function tg(){return ze(this);}
+function ng(){}
+_=ng.prototype=new cb();_.eQ=rg;_.hC=sg;_.tS=tg;_.tN=Afc+'Event';_.tI=18;function vg(){vg=d3;xg=jk(new ik());}
+function wg(c,b,a){vg();return lk(xg,c,b,a);}
+var xg;function Ag(){Ag=d3;Eg=nY(new lY());{Fg=sk(new rk());if(!vk(Fg)){Fg=null;}}}
+function Bg(a){Ag();pY(Eg,a);}
+function Cg(a){Ag();var b,c;for(b=Eg.qc();b.kc();){c=Fb(b.sc(),7);c.bd(a);}}
+function Dg(){Ag();return Fg!==null?Fk(Fg):'';}
+function ah(a){Ag();if(Fg!==null){xk(Fg,a);}}
+function bh(b){Ag();var a;a=x;{Cg(b);}}
+var Eg,Fg=null;function gh(){while((kh(),uh).b>0){jh(Fb(uY((kh(),uh),0),8));}}
+function hh(){return null;}
+function eh(){}
+_=eh.prototype=new fU();_.ud=gh;_.vd=hh;_.tN=Afc+'Timer$1';_.tI=19;function xh(){xh=d3;Ah=nY(new lY());ii=nY(new lY());{di();}}
+function yh(a){xh();pY(Ah,a);}
+function zh(a){xh();$wnd.alert(a);}
+function Bh(a){xh();return $wnd.confirm(a);}
+function Ch(){xh();var a,b;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);b.ud();}}
+function Dh(){xh();var a,b,c,d;d=null;for(a=Ah.qc();a.kc();){b=Fb(a.sc(),9);c=b.vd();{d=c;}}return d;}
+function Eh(){xh();var a,b;for(a=ii.qc();a.kc();){b=ec(a.sc());null.jf();}}
+function Fh(){xh();return ag();}
+function ai(){xh();return bg();}
+function bi(){xh();return $doc.documentElement.scrollLeft||$doc.body.scrollLeft;}
+function ci(){xh();return $doc.documentElement.scrollTop||$doc.body.scrollTop;}
+function di(){xh();__gwt_initHandlers(function(){gi();},function(){return fi();},function(){ei();$wnd.onresize=null;$wnd.onbeforeclose=null;$wnd.onclose=null;});}
+function ei(){xh();var a;a=x;{Ch();}}
+function fi(){xh();var a;a=x;{return Dh();}}
+function gi(){xh();var a;a=x;{Eh();}}
+function hi(c,b,a){xh();$wnd.open(c,b,a);}
+var Ah,ii;function hj(c,b,a){b.appendChild(a);}
+function jj(b,a){return $doc.createElement(a);}
+function kj(b,c){var a=$doc.createElement('INPUT');a.type=c;return a;}
+function lj(c,a){var b;b=jj(c,'select');if(a){Dj(c,b,'multiple',true);}return b;}
+function mj(c,b,a){b.cancelBubble=a;}
+function nj(b,a){return !(!a.altKey);}
+function oj(b,a){return !(!a.ctrlKey);}
+function pj(b,a){return a.currentTarget;}
+function qj(b,a){return a.which||(a.keyCode|| -1);}
+function rj(b,a){return !(!a.metaKey);}
+function sj(b,a){return !(!a.shiftKey);}
+function tj(b,a){switch(a.type){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case 'load':return 32768;case 'losecapture':return 8192;case 'mousedown':return 4;case 'mousemove':return 64;case 'mouseout':return 32;case 'mouseover':return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'mousewheel':return 131072;case 'DOMMouseScroll':return 131072;}}
+function wj(d,a,b){var c=a[b];return c==null?null:String(c);}
+function uj(c,a,b){return !(!a[b]);}
+function vj(d,a,c){var b=parseInt(a[c]);if(!b){return 0;}return b;}
+function xj(b,a){return a.__eventBits||0;}
+function yj(d,b){var c='',a=b.firstChild;while(a){if(a.nodeType==1){c+=d.xb(a);}else if(a.nodeValue){c+=a.nodeValue;}a=a.nextSibling;}return c;}
+function zj(c,b,a){b.removeChild(a);}
+function Aj(c,b,a){b.removeAttribute(a);}
+function Bj(g,b){var d=b.offsetLeft,h=b.offsetTop;var i=b.offsetWidth,c=b.offsetHeight;if(b.parentNode!=b.offsetParent){d-=b.parentNode.offsetLeft;h-=b.parentNode.offsetTop;}var a=b.parentNode;while(a&&a.nodeType==1){if(a.style.overflow=='auto'||(a.style.overflow=='scroll'||a.tagName=='BODY')){if(d<a.scrollLeft){a.scrollLeft=d;}if(d+i>a.scrollLeft+a.clientWidth){a.scrollLeft=d+i-a.clientWidth;}if(h<a.scrollTop){a.scrollTop=h;}if(h+c>a.scrollTop+a.clientHeight){a.scrollTop=h+c-a.clientHeight;}}var e=a.offsetLeft,f=a.offsetTop;if(a.parentNode!=a.offsetParent){e-=a.parentNode.offsetLeft;f-=a.parentNode.offsetTop;}d+=e-a.scrollLeft;h+=f-a.scrollTop;a=a.parentNode;}}
+function Cj(c,b,a,d){b.setAttribute(a,d);}
+function Fj(c,a,b,d){a[b]=d;}
+function Dj(c,a,b,d){a[b]=d;}
+function Ej(c,a,b,d){a[b]=d;}
+function ak(c,a,b){a.__listener=b;}
+function bk(c,a,b){a.src=b;}
+function ck(c,a,b){if(!b){b='';}a.innerHTML=b;}
+function dk(c,a,b){while(a.firstChild){a.removeChild(a.firstChild);}if(b!=null){a.appendChild($doc.createTextNode(b));}}
+function ek(c,b,a,d){b.style[a]=d;}
+function fk(c,b,a,d){b.style[a]=d;}
+function gk(b,a){return a.outerHTML;}
+function hk(a){return yj(this,a);}
+function ji(){}
+_=ji.prototype=new fU();_.xb=hk;_.tN=Bfc+'DOMImpl';_.tI=20;function vi(c,a,b){return a==b;}
+function wi(c,b){var a=$doc.createElement('INPUT');a.type='radio';a.name=b;return a;}
+function xi(b,a){return a.relatedTarget?a.relatedTarget:null;}
+function yi(b,a){return a.target||null;}
+function zi(b,a){return a.relatedTarget||null;}
+function Ai(b,a){a.preventDefault();}
+function Bi(b,a){return a.toString();}
+function Ei(f,c,d){var b=0,a=c.firstChild;while(a){var e=a.nextSibling;if(a.nodeType==1){if(d==b)return a;++b;}a=e;}return null;}
+function Ci(d,c){var b=0,a=c.firstChild;while(a){if(a.nodeType==1)++b;a=a.nextSibling;}return b;}
+function Di(d,c,e){var b=0,a=c.firstChild;while(a){if(a==e)return b;if(a.nodeType==1)++b;a=a.nextSibling;}return -1;}
+function Fi(c,b){var a=b.firstChild;while(a&&a.nodeType!=1)a=a.nextSibling;return a||null;}
+function aj(c,a){var b=a.parentNode;if(b==null){return null;}if(b.nodeType!=1)b=null;return b||null;}
+function bj(d){$wnd.__dispatchCapturedMouseEvent=function(b){if($wnd.__dispatchCapturedEvent(b)){var a=$wnd.__captureElem;if(a&&a.__listener){ke(b,a,a.__listener);b.stopPropagation();}}};$wnd.__dispatchCapturedEvent=function(a){if(!lf(a)){a.stopPropagation();a.preventDefault();return false;}return true;};$wnd.addEventListener('click',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('dblclick',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousedown',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mouseup',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousemove',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('mousewheel',$wnd.__dispatchCapturedMouseEvent,true);$wnd.addEventListener('keydown',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keyup',$wnd.__dispatchCapturedEvent,true);$wnd.addEventListener('keypress',$wnd.__dispatchCapturedEvent,true);$wnd.__dispatchEvent=function(b){var c,a=thi!
 s;while(a&& !(c=a.__listener))a=a.parentNode;if(a&&a.nodeType!=1)a=null;if(c)ke(b,a,c);};$wnd.__captureElem=null;}
+function cj(f,e,g,d){var c=0,b=e.firstChild,a=null;while(b){if(b.nodeType==1){if(c==d){a=b;break;}++c;}b=b.nextSibling;}e.insertBefore(g,a);}
+function dj(c,b,a){while(a){if(b==a){return true;}a=a.parentNode;if(a&&a.nodeType!=1){a=null;}}return false;}
+function ej(b,a){if(a==$wnd.__captureElem)$wnd.__captureElem=null;}
+function fj(b,a){$wnd.__captureElem=a;}
+function gj(c,b,a){b.__eventBits=a;b.onclick=a&1?$wnd.__dispatchEvent:null;b.ondblclick=a&2?$wnd.__dispatchEvent:null;b.onmousedown=a&4?$wnd.__dispatchEvent:null;b.onmouseup=a&8?$wnd.__dispatchEvent:null;b.onmouseover=a&16?$wnd.__dispatchEvent:null;b.onmouseout=a&32?$wnd.__dispatchEvent:null;b.onmousemove=a&64?$wnd.__dispatchEvent:null;b.onkeydown=a&128?$wnd.__dispatchEvent:null;b.onkeypress=a&256?$wnd.__dispatchEvent:null;b.onkeyup=a&512?$wnd.__dispatchEvent:null;b.onchange=a&1024?$wnd.__dispatchEvent:null;b.onfocus=a&2048?$wnd.__dispatchEvent:null;b.onblur=a&4096?$wnd.__dispatchEvent:null;b.onlosecapture=a&8192?$wnd.__dispatchEvent:null;b.onscroll=a&16384?$wnd.__dispatchEvent:null;b.onload=a&32768?$wnd.__dispatchEvent:null;b.onerror=a&65536?$wnd.__dispatchEvent:null;b.onmousewheel=a&131072?$wnd.__dispatchEvent:null;}
+function ti(){}
+_=ti.prototype=new ji();_.tN=Bfc+'DOMImplStandard';_.tI=21;function mi(b,a){return a.pageX-$doc.body.scrollLeft|| -1;}
+function ni(b,a){return a.pageY-$doc.body.scrollTop|| -1;}
+function oi(e,b){if(b.offsetLeft==null){return 0;}var c=0;var a=b.parentNode;if(a){while(a.offsetParent){c-=a.scrollLeft;a=a.parentNode;}}while(b){c+=b.offsetLeft;var d=b.offsetParent;if(d&&(d.tagName=='BODY'&&b.style.position=='absolute')){break;}b=d;}return c;}
+function pi(d,b){if(b.offsetTop==null){return 0;}var e=0;var a=b.parentNode;if(a){while(a.offsetParent){e-=a.scrollTop;a=a.parentNode;}}while(b){e+=b.offsetTop;var c=b.offsetParent;if(c&&(c.tagName=='BODY'&&b.style.position=='absolute')){break;}b=c;}return e;}
+function qi(e,c,d,f,a){var b=new Option(d,f);if(a== -1||a>c.children.length-1){c.appendChild(b);}else{c.insertBefore(b,c.children[a]);}}
+function ri(a){return $wnd.innerHeight;}
+function si(a){return $wnd.innerWidth;}
+function ki(){}
+_=ki.prototype=new ti();_.tN=Bfc+'DOMImplSafari';_.tI=22;function jk(a){pk=hb();return a;}
+function lk(c,d,b,a){return mk(c,null,null,d,b,a);}
+function mk(d,f,c,e,b,a){return kk(d,f,c,e,b,a);}
+function kk(e,g,d,f,c,b){var h=e.lb();try{h.open('POST',f,true);h.setRequestHeader('Content-Type','text/plain; charset=utf-8');h.onreadystatechange=function(){if(h.readyState==4){h.onreadystatechange=pk;b.Ac(h.responseText||'');}};h.send(c);return true;}catch(a){h.onreadystatechange=pk;return false;}}
+function ok(){return new XMLHttpRequest();}
+function ik(){}
+_=ik.prototype=new fU();_.lb=ok;_.tN=Bfc+'HTTPRequestImpl';_.tI=23;var pk=null;function Fk(a){return $wnd.__gwt_historyToken;}
+function al(a){bh(a);}
+function qk(){}
+_=qk.prototype=new fU();_.tN=Bfc+'HistoryImpl';_.tI=24;function Ck(d){$wnd.__gwt_historyToken='';var c=$wnd.location.hash;if(c.length>0)$wnd.__gwt_historyToken=c.substring(1);$wnd.__checkHistory=function(){var b='',a=$wnd.location.hash;if(a.length>0)b=a.substring(1);if(b!=$wnd.__gwt_historyToken){$wnd.__gwt_historyToken=b;al(b);}$wnd.setTimeout('__checkHistory()',250);};$wnd.__checkHistory();return true;}
+function Dk(b,a){if(a==null){a='';}$wnd.location.hash=encodeURIComponent(a);}
+function Ak(){}
+_=Ak.prototype=new qk();_.tN=Bfc+'HistoryImplStandard';_.tI=25;function tk(){tk=d3;zk=yk();}
+function sk(a){tk();return a;}
+function vk(a){if(zk){uk(a);return true;}return Ck(a);}
+function uk(b){$wnd.__gwt_historyToken='';var a=$wnd.location.hash;if(a.length>0)$wnd.__gwt_historyToken=decodeURIComponent(a.substring(1));al($wnd.__gwt_historyToken);}
+function xk(b,a){if(zk){wk(b,a);return;}Dk(b,a);}
+function wk(d,a){var b=$doc.createElement('meta');b.setAttribute('http-equiv','refresh');var c=$wnd.location.href.split('#')[0]+'#'+encodeURIComponent(a);b.setAttribute('content','0.01;url='+c);$doc.body.appendChild(b);window.setTimeout(function(){$doc.body.removeChild(b);},1);$wnd.__gwt_historyToken=a;al($wnd.__gwt_historyToken);}
+function yk(){tk();var a=/ AppleWebKit\/([\d]+)/;var b=a.exec(navigator.userAgent);if(b){if(parseInt(b[1])>=522){return false;}}if(navigator.userAgent.indexOf('iPhone')!= -1){return false;}return true;}
+function rk(){}
+_=rk.prototype=new Ak();_.tN=Bfc+'HistoryImplSafari';_.tI=26;var zk;function dl(a){lU(a,'This application is out of date, please click the refresh button on your browser');return a;}
+function cl(){}
+_=cl.prototype=new kU();_.tN=Cfc+'IncompatibleRemoteServiceException';_.tI=27;function hl(b,a){}
+function il(b,a){}
+function kl(b,a){mU(b,a,null);return b;}
+function jl(){}
+_=jl.prototype=new kU();_.tN=Cfc+'InvocationException';_.tI=28;function wl(){return this.b;}
+function ol(){}
+_=ol.prototype=new BS();_.zb=wl;_.tN=Cfc+'SerializableException';_.tI=29;_.b=null;function sl(b,a){vl(a,b.Ed());}
+function tl(a){return a.b;}
+function ul(b,a){b.gf(tl(a));}
+function vl(a,b){a.b=b;}
+function yl(b,a){CS(b,a);return b;}
+function xl(){}
+_=xl.prototype=new BS();_.tN=Cfc+'SerializationException';_.tI=30;function Dl(a){kl(a,'Service implementation URL not specified');return a;}
+function Cl(){}
+_=Cl.prototype=new jl();_.tN=Cfc+'ServiceDefTarget$NoServiceEntryPointSpecifiedException';_.tI=31;function cm(b,a){}
+function dm(a){return qS(a.zd());}
+function em(b,a){b.bf(a.a);}
+function hm(c,a){var b;for(b=0;b<a.a;++b){Ab(a,b,c.Dd());}}
+function im(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.ff(a[c]);}}
+function lm(b,a){}
+function mm(a){return a.Ed();}
+function nm(b,a){b.gf(a);}
+function qm(c,a){var b;for(b=0;b<a.a;++b){a[b]=c.Ad();}}
+function rm(d,a){var b,c;b=a.a;d.df(b);for(c=0;c<b;++c){d.cf(a[c]);}}
+function um(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();pY(b,c);}}
+function vm(e,a){var b,c,d;d=a.b;e.df(d);b=a.qc();while(b.kc()){c=b.sc();e.ff(c);}}
+function ym(b,a){}
+function zm(a){return AZ(new yZ(),a.Cd());}
+function Am(b,a){b.ef(DZ(a));}
+function Dm(e,b){var a,c,d,f;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();f=e.Dd();r1(b,c,f);}}
+function Em(f,c){var a,b,d,e;e=c.c;f.df(e);b=p1(c);d=f1(b);while(D0(d)){a=E0(d);f.ff(a.yb());f.ff(a.ec());}}
+function bn(d,b){var a,c;c=d.Bd();for(a=0;a<c;++a){f2(b,d.Dd());}}
+function cn(c,a){var b;c.df(a.a.c);for(b=h2(a);iX(b);){c.ff(jX(b));}}
+function fn(e,b){var a,c,d;d=e.Bd();for(a=0;a<d;++a){c=e.Dd();y2(b,c);}}
+function gn(e,a){var b,c,d;d=a.a.b;e.df(d);b=A2(a);while(b.kc()){c=b.sc();e.ff(c);}}
+function En(a){return a.j>2;}
+function Fn(b,a){b.i=a;}
+function ao(a,b){a.j=b;}
+function hn(){}
+_=hn.prototype=new fU();_.tN=Ffc+'AbstractSerializationStream';_.tI=32;_.i=0;_.j=3;function kn(a){a.e=nY(new lY());}
+function ln(a){kn(a);return a;}
+function nn(b,a){rY(b.e);ao(b,io(b));Fn(b,io(b));}
+function on(a){var b,c;b=a.Bd();if(b<0){return uY(a.e,-(b+1));}c=a.cc(b);if(c===null){return null;}return a.jb(c);}
+function pn(b,a){pY(b.e,a);}
+function qn(){return on(this);}
+function jn(){}
+_=jn.prototype=new hn();_.Dd=qn;_.tN=Ffc+'AbstractSerializationStreamReader';_.tI=33;function tn(b,a){b.E(a?'1':'0');}
+function un(b,a){b.E(uV(a));}
+function vn(c,a){var b,d;if(a===null){wn(c,null);return;}b=c.wb(a);if(b>=0){un(c,-(b+1));return;}c.ge(a);d=c.Bb(a);wn(c,d);c.je(a,d);}
+function wn(a,b){un(a,a.z(b));}
+function xn(a){tn(this,a);}
+function yn(a){this.E(uV(a));}
+function zn(a){un(this,a);}
+function An(a){this.E(vV(a));}
+function Bn(a){vn(this,a);}
+function Cn(a){wn(this,a);}
+function rn(){}
+_=rn.prototype=new hn();_.bf=xn;_.cf=yn;_.df=zn;_.ef=An;_.ff=Bn;_.gf=Cn;_.tN=Ffc+'AbstractSerializationStreamWriter';_.tI=34;function co(b,a){ln(b);b.c=a;return b;}
+function fo(b,a){if(!a){return null;}return b.d[a-1];}
+function go(b,a){b.b=mo(a);b.a=no(b.b);nn(b,a);b.d=jo(b);}
+function ho(a){return !(!a.b[--a.a]);}
+function io(a){return a.b[--a.a];}
+function jo(a){return a.b[--a.a];}
+function ko(a){return fo(a,io(a));}
+function lo(b){var a;a=this.c.nc(this,b);pn(this,a);this.c.ib(this,a,b);return a;}
+function mo(a){return eval(a);}
+function no(a){return a.length;}
+function oo(a){return fo(this,a);}
+function po(){return ho(this);}
+function qo(){return this.b[--this.a];}
+function ro(){return io(this);}
+function so(){return this.b[--this.a];}
+function to(){return ko(this);}
+function bo(){}
+_=bo.prototype=new jn();_.jb=lo;_.cc=oo;_.zd=po;_.Ad=qo;_.Bd=ro;_.Cd=so;_.Ed=to;_.tN=Ffc+'ClientSerializationStreamReader';_.tI=35;_.a=0;_.b=null;_.c=null;_.d=null;function vo(a){a.h=nY(new lY());}
+function wo(d,c,a,b){vo(d);d.f=c;d.b=a;d.e=b;return d;}
+function yo(c,a){var b=c.d[a];return b==null?-1:b;}
+function zo(c,a){var b=c.g[':'+a];return b==null?0:b;}
+function Ao(a){a.c=0;a.d=ib();a.g=ib();rY(a.h);a.a=qU(new pU());if(En(a)){wn(a,a.b);wn(a,a.e);}}
+function Bo(b,a,c){b.d[a]=c;}
+function Co(b,a,c){b.g[':'+a]=c;}
+function Do(b){var a;a=qU(new pU());Eo(b,a);ap(b,a);Fo(b,a);return wU(a);}
+function Eo(b,a){cp(a,uV(b.j));cp(a,uV(b.i));}
+function Fo(b,a){sU(a,wU(b.a));}
+function ap(d,a){var b,c;c=d.h.b;cp(a,uV(c));for(b=0;b<c;++b){cp(a,Fb(uY(d.h,b),1));}return a;}
+function bp(b){var a;if(b===null){return 0;}a=zo(this,b);if(a>0){return a;}pY(this.h,b);a=this.h.b;Co(this,b,a);return a;}
+function cp(a,b){sU(a,b);rU(a,65535);}
+function dp(a){cp(this.a,a);}
+function ep(a){return yo(this,AV(a));}
+function fp(a){var b,c;c=w(a);b=this.f.bc(c);if(b!==null){c+='/'+b;}return c;}
+function gp(a){Bo(this,AV(a),this.c++);}
+function hp(a,b){this.f.ie(this,a,b);}
+function ip(){return Do(this);}
+function uo(){}
+_=uo.prototype=new rn();_.z=bp;_.E=dp;_.wb=ep;_.Bb=fp;_.ge=gp;_.je=hp;_.tS=ip;_.tN=Ffc+'ClientSerializationStreamWriter';_.tI=36;_.a=null;_.b=null;_.c=0;_.d=null;_.e=null;_.f=null;_.g=null;function uN(b,a){kO(b.dc(),a,true);}
+function wN(a){return Ae(a.ub());}
+function xN(a){return Be(a.ub());}
+function yN(a){return af(a.w,'offsetHeight');}
+function zN(a){return af(a.w,'offsetWidth');}
+function AN(b,a){kO(b.dc(),a,false);}
+function BN(d,b,a){var c=b.parentNode;if(!c){return;}c.insertBefore(a,b);c.removeChild(b);}
+function CN(b,a){if(b.w!==null){BN(b,b.w,a);}b.w=a;}
+function DN(b,c,a){if(c>=0){b.Be(c+'px');}if(a>=0){b.qe(a+'px');}}
+function EN(b,c,a){b.Be(c);b.qe(a);}
+function FN(b,a){jO(b.dc(),a);}
+function aO(b,a){Ef(b.ub(),a|cf(b.ub()));}
+function bO(){return this.w;}
+function cO(){return yN(this);}
+function dO(){return zN(this);}
+function eO(){return this.w;}
+function fO(a){return bf(a,'className');}
+function gO(a){return a.style.display!='none';}
+function hO(a){CN(this,a);}
+function iO(a){Df(this.w,'height',a);}
+function jO(a,b){xf(a,'className',b);}
+function kO(c,j,a){var b,d,e,f,g,h,i;if(c===null){throw lU(new kU(),'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');}j=lV(j);if(cV(j)==0){throw aT(new FS(),'Style names cannot be empty');}i=fO(c);e=aV(i,j);while(e!=(-1)){if(e==0||zU(i,e-1)==32){f=e+cV(j);g=cV(i);if(f==g||f<g&&zU(i,f)==32){break;}}e=bV(i,j,e+1);}if(a){if(e==(-1)){if(cV(i)>0){i+=' ';}xf(c,'className',i+j);}}else{if(e!=(-1)){b=lV(iV(i,0,e));d=lV(hV(i,e+cV(j)));if(cV(b)==0){h=d;}else if(cV(d)==0){h=b;}else{h=b+' '+d;}xf(c,'className',h);}}}
+function lO(a){if(a===null||cV(a)==0){of(this.w,'title');}else{uf(this.w,'title',a);}}
+function mO(a,b){a.style.display=b?'':'none';}
+function nO(a){mO(this.w,a);}
+function oO(a){Df(this.w,'width',a);}
+function pO(){if(this.w===null){return '(null handle)';}return Ff(this.w);}
+function tN(){}
+_=tN.prototype=new fU();_.ub=bO;_.Cb=cO;_.Db=dO;_.dc=eO;_.me=hO;_.qe=iO;_.te=lO;_.ye=nO;_.Be=oO;_.tS=pO;_.tN=agc+'UIObject';_.tI=37;_.w=null;function BP(a){if(a.oc()){throw dT(new cT(),"Should only call onAttach when the widget is detached from the browser's document");}a.t=true;yf(a.ub(),a);a.kb();a.fd();}
+function CP(a){if(!a.oc()){throw dT(new cT(),"Should only call onDetach when the widget is attached to the browser's document");}try{a.td();}finally{a.mb();yf(a.ub(),null);a.t=false;}}
+function DP(a){if(ac(a.v,54)){Fb(a.v,54).ee(a);}else if(a.v!==null){throw dT(new cT(),"This widget's parent does not implement HasWidgets");}}
+function EP(b,a){if(b.oc()){yf(b.ub(),null);}CN(b,a);if(b.oc()){yf(a,b);}}
+function FP(b,a){b.u=a;}
+function aQ(c,b){var a;a=c.v;if(b===null){if(a!==null&&a.oc()){c.Bc();}c.v=null;}else{if(a!==null){throw dT(new cT(),'Cannot set a new parent without first clearing the old parent');}c.v=b;if(b.oc()){c.uc();}}}
+function bQ(){}
+function cQ(){}
+function dQ(){return this.t;}
+function eQ(){BP(this);}
+function fQ(a){}
+function gQ(){CP(this);}
+function hQ(){}
+function iQ(){}
+function jQ(a){EP(this,a);}
+function zO(){}
+_=zO.prototype=new tN();_.kb=bQ;_.mb=cQ;_.oc=dQ;_.uc=eQ;_.wc=fQ;_.Bc=gQ;_.fd=hQ;_.td=iQ;_.me=jQ;_.tN=agc+'Widget';_.tI=38;_.t=false;_.u=null;_.v=null;function FD(b,a){aQ(a,b);}
+function bE(b,a){aQ(a,null);}
+function cE(){var a;a=this.qc();while(a.kc()){a.sc();a.ce();}}
+function dE(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),13);a.uc();}}
+function eE(){var a,b;for(b=this.qc();b.kc();){a=Fb(b.sc(),13);a.Bc();}}
+function fE(){}
+function gE(){}
+function ED(){}
+_=ED.prototype=new zO();_.ab=cE;_.kb=dE;_.mb=eE;_.fd=fE;_.td=gE;_.tN=agc+'Panel';_.tI=39;function Eq(a){a.f=dP(new AO(),a);}
+function Fq(a){Eq(a);return a;}
+function ar(c,a,b){DP(a);eP(c.f,a);td(b,a.ub());FD(c,a);}
+function br(d,b,a){var c;dr(d,a);if(b.v===d){c=fr(d,b);if(c<a){a--;}}return a;}
+function cr(b,a){if(a<0||a>=b.f.c){throw new fT();}}
+function dr(b,a){if(a<0||a>b.f.c){throw new fT();}}
+function gr(b,a){return gP(b.f,a);}
+function fr(b,a){return hP(b.f,a);}
+function hr(e,b,c,a,d){a=br(e,b,a);DP(b);iP(e.f,b,a);if(d){hf(c,b.ub(),a);}else{td(c,b.ub());}FD(e,b);}
+function ir(a){return jP(a.f);}
+function jr(b,c){var a;if(c.v!==b){return false;}bE(b,c);a=c.ub();nf(ff(a),a);lP(b.f,c);return true;}
+function kr(){return ir(this);}
+function lr(a){return this.ee(gr(this,a));}
+function mr(a){return jr(this,a);}
+function Dq(){}
+_=Dq.prototype=new ED();_.qc=kr;_.de=lr;_.ee=mr;_.tN=agc+'ComplexPanel';_.tI=40;function lp(a){Fq(a);a.me(xd());Df(a.ub(),'position','relative');Df(a.ub(),'overflow','hidden');return a;}
+function mp(a,b){ar(a,b,a.ub());}
+function op(b,c){var a;a=jr(b,c);if(a){pp(c.ub());}return a;}
+function pp(a){Df(a,'left','');Df(a,'top','');Df(a,'position','');}
+function qp(a){return op(this,a);}
+function kp(){}
+_=kp.prototype=new Dq();_.ee=qp;_.tN=agc+'AbsolutePanel';_.tI=41;function rp(){}
+_=rp.prototype=new fU();_.tN=agc+'AbstractImagePrototype';_.tI=42;function qu(){qu=d3;uu=(jR(),nR);}
+function ou(b,a){qu();su(b,a);return b;}
+function pu(b,a){if(b.k===null){b.k=eu(new du());}pY(b.k,a);}
+function ru(b,a){switch(xe(a)){case 1:if(b.j!==null){Bq(b.j,b);}break;case 4096:case 2048:if(b.k!==null){gu(b.k,b,a);}break;case 128:case 512:case 256:break;}}
+function su(b,a){EP(b,a);aO(b,7041);}
+function tu(a){if(this.j===null){this.j=zq(new yq());}pY(this.j,a);}
+function vu(a){ru(this,a);}
+function wu(a){su(this,a);}
+function xu(a){vf(this.ub(),'disabled',!a);}
+function yu(a){if(a){uu.rb(this.ub());}else{uu.F(this.ub());}}
+function zu(a){uu.se(this.ub(),a);}
+function nu(){}
+_=nu.prototype=new zO();_.x=tu;_.wc=vu;_.me=wu;_.ne=xu;_.oe=yu;_.re=zu;_.tN=agc+'FocusWidget';_.tI=43;_.j=null;_.k=null;var uu;function wp(){wp=d3;qu();}
+function vp(b,a){wp();ou(b,a);return b;}
+function xp(a){Af(this.ub(),a);}
+function up(){}
+_=up.prototype=new nu();_.pe=xp;_.tN=agc+'ButtonBase';_.tI=44;function Ap(){Ap=d3;wp();}
+function yp(a){Ap();vp(a,wd());Bp(a.ub());FN(a,'gwt-Button');return a;}
+function zp(b,a){Ap();yp(b);b.pe(a);return b;}
+function Bp(b){Ap();if(b.type=='submit'){try{b.setAttribute('type','button');}catch(a){}}}
+function tp(){}
+_=tp.prototype=new up();_.tN=agc+'Button';_.tI=45;function Dp(a){Fq(a);a.e=ge();a.d=de();td(a.e,a.d);a.me(a.e);return a;}
+function Fp(c,b,a){xf(b,'align',a.a);}
+function aq(c,b,a){Df(b,'verticalAlign',a.a);}
+function bq(c,a){var b;b=ff(c.ub());xf(b,'height',a);}
+function cq(b,c){var a;a=ff(b.ub());xf(a,'width',c);}
+function Cp(){}
+_=Cp.prototype=new Dq();_.ke=bq;_.le=cq;_.tN=agc+'CellPanel';_.tI=46;_.d=null;_.e=null;function gW(d,a,b){var c;while(a.kc()){c=a.sc();if(b===null?c===null:b.eQ(c)){return a;}}return null;}
+function iW(a){throw dW(new cW(),'add');}
+function jW(b){var a;a=gW(this,this.qc(),b);return a!==null;}
+function kW(){return this.Fe(yb('[Ljava.lang.Object;',[611],[11],[this.Ce()],null));}
+function lW(a){var b,c,d;d=this.Ce();if(a.a<d){a=tb(a,d);}b=0;for(c=this.qc();c.kc();){Ab(a,b++,c.sc());}if(a.a>d){Ab(a,d,null);}return a;}
+function mW(){var a,b,c;c=qU(new pU());a=null;sU(c,'[');b=this.qc();while(b.kc()){if(a!==null){sU(c,a);}else{a=', ';}sU(c,wV(b.sc()));}sU(c,']');return wU(c);}
+function fW(){}
+_=fW.prototype=new fU();_.C=iW;_.eb=jW;_.Ee=kW;_.Fe=lW;_.tS=mW;_.tN=egc+'AbstractCollection';_.tI=47;function wW(b,a){throw gT(new fT(),'Index: '+a+', Size: '+b.b);}
+function xW(b,a){throw dW(new cW(),'add');}
+function yW(a){this.B(this.Ce(),a);return true;}
+function zW(e){var a,b,c,d,f;if(e===this){return true;}if(!ac(e,56)){return false;}f=Fb(e,56);if(this.Ce()!=f.Ce()){return false;}c=this.qc();d=f.qc();while(c.kc()){a=c.sc();b=d.sc();if(!(a===null?b===null:a.eQ(b))){return false;}}return true;}
+function AW(){var a,b,c,d;c=1;a=31;b=this.qc();while(b.kc()){d=b.sc();c=31*c+(d===null?0:d.hC());}return c;}
+function BW(){return pW(new oW(),this);}
+function CW(a){throw dW(new cW(),'remove');}
+function nW(){}
+_=nW.prototype=new fW();_.B=xW;_.C=yW;_.eQ=zW;_.hC=AW;_.qc=BW;_.de=CW;_.tN=egc+'AbstractList';_.tI=48;function mY(a){{qY(a);}}
+function nY(a){mY(a);return a;}
+function oY(c,a,b){if(a<0||a>c.b){wW(c,a);}BY(c.a,a,b);++c.b;}
+function pY(b,a){eZ(b.a,b.b++,a);return true;}
+function rY(a){qY(a);}
+function qY(a){a.a=gb();a.b=0;}
+function tY(b,a){return vY(b,a)!=(-1);}
+function uY(b,a){if(a<0||a>=b.b){wW(b,a);}return aZ(b.a,a);}
+function vY(b,a){return wY(b,a,0);}
+function wY(c,b,a){if(a<0){wW(c,a);}for(;a<c.b;++a){if(FY(b,aZ(c.a,a))){return a;}}return (-1);}
+function xY(a){return a.b==0;}
+function yY(c,a){var b;b=uY(c,a);cZ(c.a,a,1);--c.b;return b;}
+function zY(c,b){var a;a=vY(c,b);if(a==(-1)){return false;}yY(c,a);return true;}
+function AY(d,a,b){var c;c=uY(d,a);eZ(d.a,a,b);return c;}
+function CY(a,b){oY(this,a,b);}
+function DY(a){return pY(this,a);}
+function BY(a,b,c){a.splice(b,0,c);}
+function EY(a){return tY(this,a);}
+function FY(a,b){return a===b||a!==null&&a.eQ(b);}
+function bZ(a){return uY(this,a);}
+function aZ(a,b){return a[b];}
+function dZ(a){return yY(this,a);}
+function cZ(a,c,b){a.splice(c,b);}
+function eZ(a,b,c){a[b]=c;}
+function fZ(){return this.b;}
+function gZ(a){var b;if(a.a<this.b){a=tb(a,this.b);}for(b=0;b<this.b;++b){Ab(a,b,aZ(this.a,b));}if(a.a>this.b){Ab(a,this.b,null);}return a;}
+function lY(){}
+_=lY.prototype=new nW();_.B=CY;_.C=DY;_.eb=EY;_.hc=bZ;_.de=dZ;_.Ce=fZ;_.Fe=gZ;_.tN=egc+'ArrayList';_.tI=49;_.a=null;_.b=0;function eq(a){nY(a);return a;}
+function gq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),41);b.yc(c);}}
+function dq(){}
+_=dq.prototype=new lY();_.tN=agc+'ChangeListenerCollection';_.tI=50;function mq(){mq=d3;wp();}
+function jq(a){mq();kq(a,Cd());FN(a,'gwt-CheckBox');return a;}
+function lq(b,a){mq();jq(b);qq(b,a);return b;}
+function kq(b,a){var c;mq();vp(b,ce());b.a=a;b.b=ae();Ef(b.a,cf(b.ub()));Ef(b.ub(),0);td(b.ub(),b.a);td(b.ub(),b.b);c='check'+ ++xq;xf(b.a,'id',c);xf(b.b,'htmlFor',c);return b;}
+function nq(a){return ef(a.b);}
+function oq(b){var a;a=b.oc()?'checked':'defaultChecked';return Fe(b.a,a);}
+function pq(b,a){vf(b.a,'checked',a);vf(b.a,'defaultChecked',a);}
+function qq(b,a){Bf(b.b,a);}
+function rq(){yf(this.a,this);}
+function sq(){yf(this.a,null);pq(this,oq(this));}
+function tq(a){vf(this.a,'disabled',!a);}
+function uq(a){if(a){uu.rb(this.a);}else{uu.F(this.a);}}
+function vq(a){Af(this.b,a);}
+function wq(a){uu.se(this.a,a);}
+function iq(){}
+_=iq.prototype=new up();_.fd=rq;_.td=sq;_.ne=tq;_.oe=uq;_.pe=vq;_.re=wq;_.tN=agc+'CheckBox';_.tI=51;_.a=null;_.b=null;var xq=0;function zq(a){nY(a);return a;}
+function Bq(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),42);b.zc(c);}}
+function yq(){}
+_=yq.prototype=new lY();_.tN=agc+'ClickListenerCollection';_.tI=52;function pr(a,b){if(a.k!==null){throw dT(new cT(),'Composite.initWidget() may only be called once.');}DP(b);a.me(b.ub());a.k=b;aQ(b,a);}
+function qr(){if(this.k===null){throw dT(new cT(),'initWidget() was never called in '+w(this));}return this.w;}
+function rr(){if(this.k!==null){return this.k.oc();}return false;}
+function sr(){this.k.uc();this.fd();}
+function tr(){try{this.td();}finally{this.k.Bc();}}
+function nr(){}
+_=nr.prototype=new zO();_.ub=qr;_.oc=rr;_.uc=sr;_.Bc=tr;_.tN=agc+'Composite';_.tI=53;_.k=null;function vr(a){Fq(a);a.me(xd());return a;}
+function xr(b,c){var a;a=c.ub();Df(a,'width','100%');Df(a,'height','100%');c.ye(false);}
+function yr(b,c,a){hr(b,c,b.ub(),a,true);xr(b,c);}
+function zr(b,c){var a;a=jr(b,c);if(a){Ar(b,c);if(b.b===c){b.b=null;}}return a;}
+function Ar(a,b){Df(b.ub(),'width','');Df(b.ub(),'height','');b.ye(true);}
+function Br(b,a){cr(b,a);if(b.b!==null){b.b.ye(false);}b.b=gr(b,a);b.b.ye(true);}
+function Cr(a){return zr(this,a);}
+function ur(){}
+_=ur.prototype=new Dq();_.ee=Cr;_.tN=agc+'DeckPanel';_.tI=54;_.b=null;function fH(a){gH(a,xd());return a;}
+function gH(b,a){b.me(a);return b;}
+function hH(a,b){if(a.r!==null){throw dT(new cT(),'SimplePanel can only contain one child widget');}a.Ae(b);}
+function jH(a,b){if(b===a.r){return;}if(b!==null){DP(b);}if(a.r!==null){a.ee(a.r);}a.r=b;if(b!==null){td(a.tb(),a.r.ub());FD(a,b);}}
+function kH(){return this.ub();}
+function lH(){return aH(new EG(),this);}
+function mH(a){if(this.r!==a){return false;}bE(this,a);nf(this.tb(),a.ub());this.r=null;return true;}
+function nH(a){jH(this,a);}
+function DG(){}
+_=DG.prototype=new ED();_.tb=kH;_.qc=lH;_.ee=mH;_.Ae=nH;_.tN=agc+'SimplePanel';_.tI=55;_.r=null;function pE(){pE=d3;FE=new xR();}
+function lE(a){pE();gH(a,zR(FE));wE(a,0,0);return a;}
+function mE(b,a){pE();lE(b);b.k=a;return b;}
+function nE(c,a,b){pE();mE(c,a);c.o=b;return c;}
+function oE(b,a){if(a.blur){a.blur();}}
+function qE(a){return a.ub();}
+function rE(a){return zN(a);}
+function sE(a){tE(a,false);}
+function tE(b,a){if(!b.p){return;}b.p=false;op(tG(),b);b.ub();}
+function uE(a){var b;b=a.r;if(b!==null){if(a.l!==null){b.qe(a.l);}if(a.m!==null){b.Be(a.m);}}}
+function vE(e,b){var a,c,d,f;d=ve(b);c=kf(e.ub(),d);f=xe(b);switch(f){case 128:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 512:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 256:{a=(bc(se(b)),bC(b),true);return a&&(c|| !e.o);}case 4:case 8:case 64:case 1:case 2:{if((rd(),qf)!==null){return true;}if(!c&&e.k&&f==4){tE(e,true);return true;}break;}case 2048:{if(e.o&& !c&&d!==null){oE(e,d);return false;}}}return !e.o||c;}
+function wE(c,b,d){var a;if(b<0){b=0;}if(d<0){d=0;}c.n=b;c.q=d;a=c.ub();Df(a,'left',b+'px');Df(a,'top',d+'px');}
+function xE(a,b){jH(a,b);uE(a);}
+function yE(a,b){a.m=b;uE(a);if(cV(b)==0){a.m=null;}}
+function zE(a){if(a.p){return;}a.p=true;sd(a);Df(a.ub(),'position','absolute');if(a.q!=(-1)){wE(a,a.n,a.q);}mp(tG(),a);a.ub();}
+function AE(){return qE(this);}
+function BE(){return yN(this);}
+function CE(){return rE(this);}
+function DE(){return this.ub();}
+function EE(){sE(this);}
+function aF(){pf(this);CP(this);}
+function bF(a){return vE(this,a);}
+function cF(a){this.l=a;uE(this);if(cV(a)==0){this.l=null;}}
+function dF(b){var a;a=qE(this);if(b===null||cV(b)==0){of(a,'title');}else{uf(a,'title',b);}}
+function eF(a){Df(this.ub(),'visibility',a?'visible':'hidden');this.ub();}
+function fF(a){xE(this,a);}
+function gF(a){yE(this,a);}
+function kE(){}
+_=kE.prototype=new DG();_.tb=AE;_.Cb=BE;_.Db=CE;_.dc=DE;_.lc=EE;_.Bc=aF;_.Cc=bF;_.qe=cF;_.te=dF;_.ye=eF;_.Ae=fF;_.Be=gF;_.tN=agc+'PopupPanel';_.tI=56;_.k=false;_.l=null;_.m=null;_.n=(-1);_.o=false;_.p=false;_.q=(-1);var FE;function cs(){cs=d3;pE();}
+function Er(a){a.e=mz(new qw());a.j=ut(new ot());}
+function Fr(a){cs();as(a,false);return a;}
+function as(b,a){cs();bs(b,a,true);return b;}
+function bs(c,a,b){cs();nE(c,a,b);Er(c);c.j.ze(0,0,c.e);c.j.qe('100%');Ay(c.j,0);Cy(c.j,0);Dy(c.j,0);fx(c.j.n,1,0,'100%');kx(c.j.n,1,0,'100%');ex(c.j.n,1,0,(xz(),yz),(aA(),cA));xE(c,c.j);FN(c,'gwt-DialogBox');FN(c.e,'Caption');hC(c.e,c);return c;}
+function ds(b,a){qz(b.e,a);}
+function es(b,a){kC(b.e,a);}
+function fs(a,b){if(a.f!==null){zy(a.j,a.f);}if(b!==null){a.j.ze(1,0,b);}a.f=b;}
+function gs(a){if(xe(a)==4){if(kf(this.e.ub(),ve(a))){ye(a);}}return vE(this,a);}
+function hs(a,b,c){this.i=true;tf(this.e.ub());this.g=b;this.h=c;}
+function is(a){}
+function js(a){}
+function ks(c,d,e){var a,b;if(this.i){a=d+wN(this);b=e+xN(this);wE(this,a-this.g,b-this.h);}}
+function ls(a,b,c){this.i=false;mf(this.e.ub());}
+function ms(a){if(this.f!==a){return false;}zy(this.j,a);return true;}
+function ns(a){fs(this,a);}
+function os(a){yE(this,a);this.j.Be('100%');}
+function Dr(){}
+_=Dr.prototype=new kE();_.Cc=gs;_.hd=hs;_.id=is;_.jd=js;_.kd=ks;_.ld=ls;_.ee=ms;_.Ae=ns;_.Be=os;_.tN=agc+'DialogBox';_.tI=57;_.f=null;_.g=0;_.h=0;_.i=false;function As(){As=d3;at=new qs();bt=new qs();ct=new qs();dt=new qs();et=new qs();}
+function xs(a){a.b=(xz(),zz);a.c=(aA(),dA);}
+function ys(a){As();Dp(a);xs(a);wf(a.e,'cellSpacing',0);wf(a.e,'cellPadding',0);return a;}
+function zs(c,d,a){var b;if(a===at){if(d===c.a){return;}else if(c.a!==null){throw aT(new FS(),'Only one CENTER widget may be added');}}DP(d);eP(c.f,d);if(a===at){c.a=d;}b=ts(new ss(),a);FP(d,b);Ds(c,d,c.b);Es(c,d,c.c);Bs(c);FD(c,d);}
+function Bs(p){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q;a=p.d;while(Ce(a)>0){nf(a,Ee(a,0));}l=1;d=1;for(h=jP(p.f);EO(h);){c=FO(h);e=c.u.a;if(e===ct||e===dt){++l;}else if(e===bt||e===et){++d;}}m=yb('[Lcom.google.gwt.user.client.ui.DockPanel$TmpRow;',[634],[33],[l],null);for(g=0;g<l;++g){m[g]=new vs();m[g].b=fe();td(a,m[g].b);}q=0;f=d-1;j=0;n=l-1;b=null;for(h=jP(p.f);EO(h);){c=FO(h);i=c.u;o=ee();i.d=o;xf(i.d,'align',i.b);Df(i.d,'verticalAlign',i.e);xf(i.d,'width',i.f);xf(i.d,'height',i.c);if(i.a===ct){hf(m[j].b,o,m[j].a);td(o,c.ub());wf(o,'colSpan',f-q+1);++j;}else if(i.a===dt){hf(m[n].b,o,m[n].a);td(o,c.ub());wf(o,'colSpan',f-q+1);--n;}else if(i.a===et){k=m[j];hf(k.b,o,k.a++);td(o,c.ub());wf(o,'rowSpan',n-j+1);++q;}else if(i.a===bt){k=m[j];hf(k.b,o,k.a);td(o,c.ub());wf(o,'rowSpan',n-j+1);--f;}else if(i.a===at){b=o;}}if(p.a!==null){k=m[j];hf(k.b,b,k.a);td(b,p.a.ub());}}
+function Cs(b,c){var a;a=jr(b,c);if(a){if(c===b.a){b.a=null;}Bs(b);}return a;}
+function Ds(c,d,a){var b;b=d.u;b.b=a.a;if(b.d!==null){xf(b.d,'align',b.b);}}
+function Es(c,d,a){var b;b=d.u;b.e=a.a;if(b.d!==null){Df(b.d,'verticalAlign',b.e);}}
+function Fs(b,c,d){var a;a=c.u;a.f=d;if(a.d!==null){Df(a.d,'width',a.f);}}
+function ft(a){return Cs(this,a);}
+function gt(c,b){var a;a=c.u;a.c=b;if(a.d!==null){Df(a.d,'height',a.c);}}
+function ht(a,b){Fs(this,a,b);}
+function ps(){}
+_=ps.prototype=new Cp();_.ee=ft;_.ke=gt;_.le=ht;_.tN=agc+'DockPanel';_.tI=58;_.a=null;var at,bt,ct,dt,et;function qs(){}
+_=qs.prototype=new fU();_.tN=agc+'DockPanel$DockLayoutConstant';_.tI=59;function ts(b,a){b.a=a;return b;}
+function ss(){}
+_=ss.prototype=new fU();_.tN=agc+'DockPanel$LayoutData';_.tI=60;_.a=null;_.b='left';_.c='';_.d=null;_.e='top';_.f='';function vs(){}
+_=vs.prototype=new fU();_.tN=agc+'DockPanel$TmpRow';_.tI=61;_.a=0;_.b=null;function jt(a){a.me(yd('input'));xf(a.ub(),'type','file');FN(a,'gwt-FileUpload');return a;}
+function lt(a){return bf(a.ub(),'value');}
+function mt(b,a){xf(b.ub(),'name',a);}
+function it(){}
+_=it.prototype=new zO();_.tN=agc+'FileUpload';_.tI=62;function ey(a){a.s=Ax(new vx());}
+function fy(a){ey(a);a.q=ge();a.m=de();td(a.q,a.m);a.me(a.q);aO(a,1);return a;}
+function gy(b,a){if(b.r===null){b.r=kK(new jK());}pY(b.r,a);}
+function hy(d,c,b){var a;iy(d,c);if(b<0){throw gT(new fT(),'Column '+b+' must be non-negative: '+b);}a=d.sb(c);if(a<=b){throw gT(new fT(),'Column index: '+b+', Column size: '+d.sb(c));}}
+function iy(c,a){var b;b=c.Fb();if(a>=b||a<0){throw gT(new fT(),'Row index: '+a+', Row size: '+b);}}
+function jy(e,c,b,a){var d;d=bx(e.n,c,b);wy(e,d,a);return d;}
+function ky(d){var a,b,c;for(c=0;c<d.Fb();++c){for(b=0;b<d.sb(c);++b){a=sy(d,c,b);if(a!==null){zy(d,a);}}}}
+function my(a){return ee();}
+function ny(c,b,a){return b.rows[a].cells.length;}
+function oy(a){return py(a,a.m);}
+function py(b,a){return a.rows.length;}
+function qy(d,b){var a,c,e;c=ve(b);for(;c!==null;c=ff(c)){if(DU(bf(c,'tagName'),'td')){e=ff(c);a=ff(e);if(ud(a,d.m)){return c;}}if(ud(c,d.m)){return null;}}return null;}
+function ry(d,c,a){var b;hy(d,c,a);b=ax(d.n,c,a);return ef(b);}
+function ty(c,b,a){hy(c,b,a);return sy(c,b,a);}
+function sy(e,d,b){var a,c;c=bx(e.n,d,b);a=df(c);if(a===null){return null;}else{return Cx(e.s,a);}}
+function uy(d,b,a){var c,e;e=tx(d.p,d.m,b);c=d.fb();hf(e,c,a);}
+function vy(b,a){var c;if(a!=yt(b)){iy(b,a);}c=fe();hf(b.m,c,a);return a;}
+function wy(d,c,a){var b,e;b=df(c);e=null;if(b!==null){e=Cx(d.s,b);}if(e!==null){zy(d,e);return true;}else{if(a){Af(c,'');}return false;}}
+function zy(b,c){var a;if(c.v!==b){return false;}bE(b,c);a=c.ub();nf(ff(a),a);Fx(b.s,a);return true;}
+function xy(d,b,a){var c,e;hy(d,b,a);c=jy(d,b,a,false);e=tx(d.p,d.m,b);nf(e,c);}
+function yy(d,c){var a,b;b=d.sb(c);for(a=0;a<b;++a){jy(d,c,a,false);}nf(d.m,tx(d.p,d.m,c));}
+function Ay(a,b){xf(a.q,'border',''+b);}
+function By(b,a){b.n=a;}
+function Cy(b,a){wf(b.q,'cellPadding',a);}
+function Dy(b,a){wf(b.q,'cellSpacing',a);}
+function Ey(b,a){b.o=a;ox(b.o);}
+function Fy(e,c,a,b){var d;fw(e,c,a);d=jy(e,c,a,b===null);if(b!==null){Af(d,b);}}
+function az(b,a){b.p=a;}
+function bz(e,b,a,d){var c;e.xd(b,a);c=jy(e,b,a,d===null);if(d!==null){Bf(c,d);}}
+function cz(d,b,a,e){var c;d.xd(b,a);if(e!==null){DP(e);c=jy(d,b,a,true);Dx(d.s,e);td(c,e.ub());FD(d,e);}}
+function dz(){ky(this);}
+function ez(){return my(this);}
+function fz(b,a){uy(this,b,a);}
+function gz(){return ay(this.s);}
+function hz(c){var a,b,d,e,f;switch(xe(c)){case 1:{if(this.r!==null){e=qy(this,c);if(e===null){return;}f=ff(e);a=ff(f);d=De(a,f);b=De(f,e);mK(this.r,this,d,b);}break;}default:}}
+function kz(a){return zy(this,a);}
+function iz(b,a){xy(this,b,a);}
+function jz(a){yy(this,a);}
+function lz(b,a,c){cz(this,b,a,c);}
+function rw(){}
+_=rw.prototype=new ED();_.ab=dz;_.fb=ez;_.mc=fz;_.qc=gz;_.wc=hz;_.ee=kz;_.Fd=iz;_.be=jz;_.ze=lz;_.tN=agc+'HTMLTable';_.tI=63;_.m=null;_.n=null;_.o=null;_.p=null;_.q=null;_.r=null;function ut(a){fy(a);By(a,qt(new pt(),a));az(a,qx(new px(),a));Ey(a,mx(new lx(),a));return a;}
+function wt(b,a){iy(b,a);return ny(b,b.m,a);}
+function xt(a){return Fb(a.n,43);}
+function yt(a){return oy(a);}
+function zt(b,a){return vy(b,a);}
+function At(d,b){var a,c;if(b<0){throw gT(new fT(),'Cannot create a row with a negative index: '+b);}c=yt(d);for(a=c;a<=b;a++){zt(d,a);}}
+function Bt(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var a=$doc.createElement('td');e.appendChild(a);}}
+function Ct(a){return wt(this,a);}
+function Dt(){return yt(this);}
+function Et(b,a){uy(this,b,a);}
+function Ft(d,b){var a,c;At(this,d);if(b<0){throw gT(new fT(),'Cannot create a column with a negative index: '+b);}a=wt(this,d);c=b+1-a;if(c>0){Bt(this.m,d,c);}}
+function au(a){At(this,a);}
+function bu(b,a){xy(this,b,a);}
+function cu(a){yy(this,a);}
+function ot(){}
+_=ot.prototype=new rw();_.sb=Ct;_.Fb=Dt;_.mc=Et;_.xd=Ft;_.yd=au;_.Fd=bu;_.be=cu;_.tN=agc+'FlexTable';_.tI=64;function Cw(b,a){b.a=a;return b;}
+function Ew(c,b,a){c.a.xd(b,a);return Fw(c,c.a.m,b,a);}
+function Fw(e,d,c,a){var b=d.rows[c].cells[a];return b==null?null:b;}
+function ax(c,b,a){hy(c.a,b,a);return Fw(c,c.a.m,b,a);}
+function bx(c,b,a){return Fw(c,c.a.m,b,a);}
+function cx(d,c,a){var b;b=ax(d,c,a);return gO(b);}
+function dx(e,b,a,c){var d;hy(e.a,b,a);d=Fw(e,e.a.m,b,a);kO(d,c,false);}
+function ex(d,c,a,b,e){gx(d,c,a,b);ix(d,c,a,e);}
+function fx(e,d,a,c){var b;e.a.xd(d,a);b=Fw(e,e.a.m,d,a);xf(b,'height',c);}
+function gx(e,d,b,a){var c;e.a.xd(d,b);c=Fw(e,e.a.m,d,b);xf(c,'align',a.a);}
+function hx(d,b,a,c){d.a.xd(b,a);jO(Fw(d,d.a.m,b,a),c);}
+function ix(d,c,b,a){d.a.xd(c,b);Df(Fw(d,d.a.m,c,b),'verticalAlign',a.a);}
+function jx(d,c,a,e){var b;b=Ew(d,c,a);mO(b,e);}
+function kx(c,b,a,d){c.a.xd(b,a);xf(Fw(c,c.a.m,b,a),'width',d);}
+function Bw(){}
+_=Bw.prototype=new fU();_.tN=agc+'HTMLTable$CellFormatter';_.tI=65;function qt(b,a){Cw(b,a);return b;}
+function st(d,c,b,a){wf(Ew(d,c,b),'colSpan',a);}
+function tt(d,b,a,c){wf(Ew(d,b,a),'rowSpan',c);}
+function pt(){}
+_=pt.prototype=new Bw();_.tN=agc+'FlexTable$FlexCellFormatter';_.tI=66;function eu(a){nY(a);return a;}
+function hu(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.Ec(c);}}
+function gu(c,b,a){switch(xe(a)){case 2048:hu(c,b);break;case 4096:iu(c,b);break;}}
+function iu(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),44);b.gd(c);}}
+function du(){}
+_=du.prototype=new lY();_.tN=agc+'FocusListenerCollection';_.tI=67;function lu(){lu=d3;mu=(jR(),mR);}
+var mu;function Bu(a){nY(a);return a;}
+function Du(f,e,d){var a,b,c;a=xv(new wv(),e,d);for(c=f.qc();c.kc();){b=Fb(c.sc(),45);b.nd(a);}}
+function Eu(e,d){var a,b,c;a=new zv();for(c=e.qc();c.kc();){b=Fb(c.sc(),45);b.od(a);}return a.a;}
+function Au(){}
+_=Au.prototype=new lY();_.tN=agc+'FormHandlerCollection';_.tI=68;function hv(){hv=d3;rv=new pR();}
+function fv(a){hv();gH(a,zd());a.b='FormPanel_'+ ++qv;ov(a,a.b);aO(a,32768);return a;}
+function gv(b,a){if(b.a===null){b.a=Bu(new Au());}pY(b.a,a);}
+function iv(b){var a;a=xd();Af(a,"<iframe name='"+b.b+"' style='width:0;height:0;border:0'>");b.c=df(a);}
+function jv(a){if(a.a!==null){return !Eu(a.a,a);}return true;}
+function kv(a){if(a.a!==null){eg(cv(new bv(),a));}}
+function lv(a,b){xf(a.ub(),'action',b);}
+function mv(b,a){uR(rv,b.ub(),a);}
+function nv(b,a){xf(b.ub(),'method',a);}
+function ov(b,a){xf(b.ub(),'target',a);}
+function pv(a){if(a.a!==null){if(Eu(a.a,a)){return;}}vR(rv,a.ub(),a.c);}
+function sv(){BP(this);iv(this);td(sG(),this.c);tR(rv,this.c,this.ub(),this);}
+function tv(){CP(this);wR(rv,this.c,this.ub());nf(sG(),this.c);this.c=null;}
+function uv(){var a;a=x;{return jv(this);}}
+function vv(){var a;a=x;{kv(this);}}
+function av(){}
+_=av.prototype=new DG();_.uc=sv;_.Bc=tv;_.Fc=uv;_.ad=vv;_.tN=agc+'FormPanel';_.tI=69;_.a=null;_.b=null;_.c=null;var qv=0,rv;function cv(b,a){b.a=a;return b;}
+function ev(){Du(this.a.a,this,sR((hv(),rv),this.a.c));}
+function bv(){}
+_=bv.prototype=new fU();_.pb=ev;_.tN=agc+'FormPanel$1';_.tI=70;function m0(){}
+_=m0.prototype=new fU();_.tN=egc+'EventObject';_.tI=71;function xv(c,b,a){c.a=a;return c;}
+function wv(){}
+_=wv.prototype=new m0();_.tN=agc+'FormSubmitCompleteEvent';_.tI=72;_.a=null;function Bv(b,a){b.a=a;}
+function zv(){}
+_=zv.prototype=new m0();_.tN=agc+'FormSubmitEvent';_.tI=73;_.a=false;function Dv(a){a.me(Ad());return a;}
+function Ev(a,b){Dv(a);aw(a,b);return a;}
+function aw(a,b){xf(a.ub(),'src',b);}
+function Cv(){}
+_=Cv.prototype=new zO();_.tN=agc+'Frame';_.tI=74;function cw(a){fy(a);By(a,Cw(new Bw(),a));az(a,qx(new px(),a));Ey(a,mx(new lx(),a));return a;}
+function dw(c,b,a){cw(c);jw(c,b,a);return c;}
+function fw(c,b,a){gw(c,b);if(a<0){throw gT(new fT(),'Cannot access a column with a negative index: '+a);}if(a>=c.k){throw gT(new fT(),'Column index: '+a+', Column size: '+c.k);}}
+function gw(b,a){if(a<0){throw gT(new fT(),'Cannot access a row with a negative index: '+a);}if(a>=b.l){throw gT(new fT(),'Row index: '+a+', Row size: '+b.l);}}
+function jw(c,b,a){hw(c,a);iw(c,b);}
+function hw(d,a){var b,c;if(d.k==a){return;}if(a<0){throw gT(new fT(),'Cannot set number of columns to '+a);}if(d.k>a){for(b=0;b<d.l;b++){for(c=d.k-1;c>=a;c--){d.Fd(b,c);}}}else{for(b=0;b<d.l;b++){for(c=d.k;c<a;c++){d.mc(b,c);}}}d.k=a;}
+function iw(b,a){if(b.l==a){return;}if(a<0){throw gT(new fT(),'Cannot set number of rows to '+a);}if(b.l<a){kw(b.m,a-b.l,b.k);b.l=a;}else{while(b.l>a){b.be(--b.l);}}}
+function kw(g,f,c){var h=$doc.createElement('td');h.innerHTML='&nbsp;';var d=$doc.createElement('tr');for(var b=0;b<c;b++){var a=h.cloneNode(true);d.appendChild(a);}g.appendChild(d);for(var e=1;e<f;e++){g.appendChild(d.cloneNode(true));}}
+function lw(){var a;a=my(this);Af(a,'&nbsp;');return a;}
+function mw(a){return this.k;}
+function nw(){return this.l;}
+function ow(b,a){fw(this,b,a);}
+function pw(a){gw(this,a);}
+function bw(){}
+_=bw.prototype=new rw();_.fb=lw;_.sb=mw;_.Fb=nw;_.xd=ow;_.yd=pw;_.tN=agc+'Grid';_.tI=75;_.k=0;_.l=0;function eC(a){a.me(xd());aO(a,131197);FN(a,'gwt-Label');return a;}
+function fC(b,a){eC(b);kC(b,a);return b;}
+function gC(b,a){if(b.a===null){b.a=zq(new yq());}pY(b.a,a);}
+function hC(b,a){if(b.b===null){b.b=lD(new kD());}pY(b.b,a);}
+function jC(a){return ef(a.ub());}
+function kC(b,a){Bf(b.ub(),a);}
+function lC(a,b){Df(a.ub(),'whiteSpace',b?'normal':'nowrap');}
+function mC(a){switch(xe(a)){case 1:if(this.a!==null){Bq(this.a,this);}break;case 4:case 8:case 64:case 16:case 32:if(this.b!==null){pD(this.b,this,a);}break;case 131072:break;}}
+function dC(){}
+_=dC.prototype=new zO();_.wc=mC;_.tN=agc+'Label';_.tI=76;_.a=null;_.b=null;function mz(a){eC(a);a.me(xd());aO(a,125);FN(a,'gwt-HTML');return a;}
+function nz(b,a){mz(b);qz(b,a);return b;}
+function oz(b,a,c){nz(b,a);lC(b,c);return b;}
+function qz(b,a){Af(b.ub(),a);}
+function qw(){}
+_=qw.prototype=new dC();_.tN=agc+'HTML';_.tI=77;function tw(a){{ww(a);}}
+function uw(b,a){b.c=a;tw(b);return b;}
+function ww(a){while(++a.b<a.c.b.b){if(uY(a.c.b,a.b)!==null){return;}}}
+function xw(a){return a.b<a.c.b.b;}
+function yw(){return xw(this);}
+function zw(){var a;if(!xw(this)){throw new r2();}a=uY(this.c.b,this.b);this.a=this.b;ww(this);return a;}
+function Aw(){var a;if(this.a<0){throw new cT();}a=Fb(uY(this.c.b,this.a),13);DP(a);this.a=(-1);}
+function sw(){}
+_=sw.prototype=new fU();_.kc=yw;_.sc=zw;_.ce=Aw;_.tN=agc+'HTMLTable$1';_.tI=78;_.a=(-1);_.b=(-1);function mx(b,a){b.b=a;return b;}
+function ox(a){if(a.a===null){a.a=yd('colgroup');hf(a.b.q,a.a,0);td(a.a,yd('col'));}}
+function lx(){}
+_=lx.prototype=new fU();_.tN=agc+'HTMLTable$ColumnFormatter';_.tI=79;_.a=null;function qx(b,a){b.a=a;return b;}
+function sx(b,a){b.a.yd(a);return tx(b,b.a.m,a);}
+function tx(c,a,b){return a.rows[b];}
+function ux(c,a,b){jO(sx(c,a),b);}
+function px(){}
+_=px.prototype=new fU();_.tN=agc+'HTMLTable$RowFormatter';_.tI=80;function zx(a){a.b=nY(new lY());}
+function Ax(a){zx(a);return a;}
+function Cx(c,a){var b;b=cy(a);if(b<0){return null;}return Fb(uY(c.b,b),13);}
+function Dx(b,c){var a;if(b.a===null){a=b.b.b;pY(b.b,c);}else{a=b.a.a;AY(b.b,a,c);b.a=b.a.b;}dy(c.ub(),a);}
+function Ex(c,a,b){by(a);AY(c.b,b,null);c.a=xx(new wx(),b,c.a);}
+function Fx(c,a){var b;b=cy(a);Ex(c,a,b);}
+function ay(a){return uw(new sw(),a);}
+function by(a){a['__widgetID']=null;}
+function cy(a){var b=a['__widgetID'];return b==null?-1:b;}
+function dy(a,b){a['__widgetID']=b;}
+function vx(){}
+_=vx.prototype=new fU();_.tN=agc+'HTMLTable$WidgetMapper';_.tI=81;_.a=null;function xx(c,a,b){c.a=a;c.b=b;return c;}
+function wx(){}
+_=wx.prototype=new fU();_.tN=agc+'HTMLTable$WidgetMapper$FreeNode';_.tI=82;_.a=0;_.b=null;function xz(){xz=d3;yz=vz(new uz(),'center');zz=vz(new uz(),'left');Az=vz(new uz(),'right');}
+var yz,zz,Az;function vz(b,a){b.a=a;return b;}
+function uz(){}
+_=uz.prototype=new fU();_.tN=agc+'HasHorizontalAlignment$HorizontalAlignmentConstant';_.tI=83;_.a=null;function aA(){aA=d3;bA=Ez(new Dz(),'bottom');cA=Ez(new Dz(),'middle');dA=Ez(new Dz(),'top');}
+var bA,cA,dA;function Ez(a,b){a.a=b;return a;}
+function Dz(){}
+_=Dz.prototype=new fU();_.tN=agc+'HasVerticalAlignment$VerticalAlignmentConstant';_.tI=84;_.a=null;function hA(a){a.a=(xz(),zz);a.c=(aA(),dA);}
+function iA(a){Dp(a);hA(a);a.b=fe();td(a.d,a.b);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function jA(b,c){var a;a=lA(b);td(b.b,a);ar(b,c,a);}
+function lA(b){var a;a=ee();Fp(b,a,b.a);aq(b,a,b.c);return a;}
+function mA(c,d,a){var b;dr(c,a);b=lA(c);hf(c.b,b,a);hr(c,d,b,a,false);}
+function nA(c,d){var a,b;b=ff(d.ub());a=jr(c,d);if(a){nf(c.b,b);}return a;}
+function oA(b,a){b.c=a;}
+function pA(a){return nA(this,a);}
+function gA(){}
+_=gA.prototype=new Cp();_.ee=pA;_.tN=agc+'HorizontalPanel';_.tI=85;_.b=null;function rA(a){a.me(xd());td(a.ub(),a.a=vd());aO(a,1);FN(a,'gwt-Hyperlink');return a;}
+function sA(c,b,a){rA(c);vA(c,b);uA(c,a);return c;}
+function uA(b,a){b.b=a;xf(b.a,'href','#'+a);}
+function vA(b,a){Bf(b.a,a);}
+function wA(a){if(xe(a)==1){ah(this.b);ye(a);}}
+function qA(){}
+_=qA.prototype=new zO();_.wc=wA;_.tN=agc+'Hyperlink';_.tI=86;_.a=null;_.b=null;function qB(){qB=d3;k1(new o0());}
+function mB(a){qB();pB(a,fB(new eB(),a));FN(a,'gwt-Image');return a;}
+function nB(a,b){qB();pB(a,gB(new eB(),a,b));FN(a,'gwt-Image');return a;}
+function oB(b,a){if(b.a===null){b.a=zq(new yq());}pY(b.a,a);}
+function pB(b,a){b.b=a;}
+function sB(a,b){a.b.ve(a,b);}
+function rB(c,e,b,d,f,a){c.b.ue(c,e,b,d,f,a);}
+function tB(a){switch(xe(a)){case 1:{if(this.a!==null){Bq(this.a,this);}break;}case 4:case 8:case 64:case 16:case 32:{break;}case 131072:break;case 32768:{break;}case 65536:{break;}}}
+function xA(){}
+_=xA.prototype=new zO();_.wc=tB;_.tN=agc+'Image';_.tI=87;_.a=null;_.b=null;function AA(){}
+function yA(){}
+_=yA.prototype=new fU();_.pb=AA;_.tN=agc+'Image$1';_.tI=88;function cB(){}
+_=cB.prototype=new fU();_.tN=agc+'Image$State';_.tI=89;function DA(){DA=d3;FA=new kQ();}
+function CA(d,b,f,c,e,g,a){DA();d.b=c;d.c=e;d.e=g;d.a=a;d.d=f;b.me(nQ(FA,f,c,e,g,a));aO(b,131197);EA(d,b);return d;}
+function EA(b,a){eg(new yA());}
+function bB(a,b){pB(a,gB(new eB(),a,b));}
+function aB(b,e,c,d,f,a){if(!EU(this.d,e)||this.b!=c||this.c!=d||this.e!=f||this.a!=a){this.d=e;this.b=c;this.c=d;this.e=f;this.a=a;lQ(FA,b.ub(),e,c,d,f,a);EA(this,b);}}
+function BA(){}
+_=BA.prototype=new cB();_.ve=bB;_.ue=aB;_.tN=agc+'Image$ClippedState';_.tI=90;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;var FA;function fB(b,a){a.me(Bd());aO(a,229501);return b;}
+function gB(b,a,c){fB(b,a);iB(b,a,c);return b;}
+function iB(b,a,c){zf(a.ub(),c);}
+function kB(a,b){iB(this,a,b);}
+function jB(b,e,c,d,f,a){pB(b,CA(new BA(),b,e,c,d,f,a));}
+function eB(){}
+_=eB.prototype=new cB();_.ve=kB;_.ue=jB;_.tN=agc+'Image$UnclippedState';_.tI=91;function xB(c,a,b){}
+function yB(c,a,b){}
+function zB(c,a,b){}
+function vB(){}
+_=vB.prototype=new fU();_.cd=xB;_.dd=yB;_.ed=zB;_.tN=agc+'KeyboardListenerAdapter';_.tI=92;function BB(a){nY(a);return a;}
+function DB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.cd(e,b,d);}}
+function EB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.dd(e,b,d);}}
+function FB(f,e,b,d){var a,c;for(a=f.qc();a.kc();){c=Fb(a.sc(),46);c.ed(e,b,d);}}
+function aC(d,c,a){var b;b=bC(a);switch(xe(a)){case 128:DB(d,c,bc(se(a)),b);break;case 512:FB(d,c,bc(se(a)),b);break;case 256:EB(d,c,bc(se(a)),b);break;}}
+function bC(a){return (ue(a)?1:0)|(te(a)?8:0)|(pe(a)?2:0)|(me(a)?4:0);}
+function AB(){}
+_=AB.prototype=new lY();_.tN=agc+'KeyboardListenerCollection';_.tI=93;function EC(){EC=d3;qu();iD=new pC();}
+function xC(a){EC();yC(a,false);return a;}
+function yC(b,a){EC();ou(b,be(a));aO(b,1024);FN(b,'gwt-ListBox');return b;}
+function zC(b,a){if(b.b===null){b.b=eq(new dq());}pY(b.b,a);}
+function AC(b,a){dD(b,a,(-1));}
+function BC(b,a,c){eD(b,a,c,(-1));}
+function CC(b,a){if(a<0||a>=FC(b)){throw new fT();}}
+function DC(a){qC(iD,a.ub());}
+function FC(a){return sC(iD,a.ub());}
+function aD(b,a){CC(b,a);return tC(iD,b.ub(),a);}
+function bD(a){return af(a.ub(),'selectedIndex');}
+function cD(b,a){CC(b,a);return uC(iD,b.ub(),a);}
+function dD(c,b,a){eD(c,b,b,a);}
+function eD(c,b,d,a){jf(c.ub(),b,d,a);}
+function fD(b,a){CC(b,a);vC(iD,b.ub(),a);}
+function gD(b,a){wf(b.ub(),'selectedIndex',a);}
+function hD(a,b){wf(a.ub(),'size',b);}
+function jD(a){if(xe(a)==1024){if(this.b!==null){gq(this.b,this);}}else{ru(this,a);}}
+function nC(){}
+_=nC.prototype=new nu();_.wc=jD;_.tN=agc+'ListBox';_.tI=94;_.b=null;var iD;function oC(){}
+_=oC.prototype=new fU();_.tN=agc+'ListBox$Impl';_.tI=95;function qC(b,a){a.innerText='';}
+function sC(b,a){return a.children.length;}
+function tC(c,b,a){return b.children[a].text;}
+function uC(c,b,a){return b.children[a].value;}
+function vC(c,b,a){b.removeChild(b.children[a]);}
+function pC(){}
+_=pC.prototype=new oC();_.tN=agc+'ListBox$ImplSafari';_.tI=96;function lD(a){nY(a);return a;}
+function nD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.hd(c,e,f);}}
+function oD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.id(c);}}
+function pD(e,c,a){var b,d,f,g,h;d=c.ub();g=ne(a)-Ae(d)+af(d,'scrollLeft')+bi();h=oe(a)-Be(d)+af(d,'scrollTop')+ci();switch(xe(a)){case 4:nD(e,c,g,h);break;case 8:sD(e,c,g,h);break;case 64:rD(e,c,g,h);break;case 16:b=re(a);if(!kf(d,b)){oD(e,c);}break;case 32:f=we(a);if(!kf(d,f)){qD(e,c);}break;}}
+function qD(d,c){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.jd(c);}}
+function rD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.kd(c,e,f);}}
+function sD(d,c,e,f){var a,b;for(a=d.qc();a.kc();){b=Fb(a.sc(),47);b.ld(c,e,f);}}
+function kD(){}
+_=kD.prototype=new lY();_.tN=agc+'MouseListenerCollection';_.tI=97;function uD(){}
+_=uD.prototype=new fU();_.tN=agc+'MultiWordSuggestOracle$MultiWordSuggestion';_.tI=98;_.a=null;_.b=null;function yD(b,a){CD(a,b.Ed());DD(a,b.Ed());}
+function zD(a){return a.a;}
+function AD(a){return a.b;}
+function BD(b,a){b.gf(zD(a));b.gf(AD(a));}
+function CD(a,b){a.a=b;}
+function DD(a,b){a.b=b;}
+function BK(){BK=d3;qu();cL=new AR();}
+function xK(b,a){BK();ou(b,a);aO(b,1024);return b;}
+function yK(b,a){if(b.f===null){b.f=eq(new dq());}pY(b.f,a);}
+function zK(b,a){if(b.i===null){b.i=BB(new AB());}pY(b.i,a);}
+function AK(a){if(a.h!==null){ye(a.h);}}
+function CK(a){return bf(a.ub(),'value');}
+function DK(b,a){FK(b,a,0);}
+function EK(b,a){xf(b.ub(),'name',a);}
+function FK(c,b,a){if(a<0){throw gT(new fT(),'Length must be a positive integer. Length: '+a);}if(b<0||a+b>cV(CK(c))){throw gT(new fT(),'From Index: '+b+'  To Index: '+(b+a)+'  Text Length: '+cV(CK(c)));}ER(cL,c.ub(),b,a);}
+function aL(b,a){xf(b.ub(),'value',a!==null?a:'');}
+function bL(a){if(this.g===null){this.g=zq(new yq());}pY(this.g,a);}
+function dL(a){var b;ru(this,a);b=xe(a);if(this.i!==null&&(b&896)!=0){this.h=a;aC(this.i,this,a);this.h=null;}else if(b==1){if(this.g!==null){Bq(this.g,this);}}else if(b==1024){if(this.f!==null){gq(this.f,this);}}}
+function wK(){}
+_=wK.prototype=new nu();_.x=bL;_.wc=dL;_.tN=agc+'TextBoxBase';_.tI=99;_.f=null;_.g=null;_.h=null;_.i=null;var cL;function jE(){jE=d3;BK();}
+function iE(a){jE();xK(a,Dd());FN(a,'gwt-PasswordTextBox');return a;}
+function hE(){}
+_=hE.prototype=new wK();_.tN=agc+'PasswordTextBox';_.tI=100;function uF(b,a){vF(b,a,null);return b;}
+function vF(c,a,b){c.a=a;xF(c);return c;}
+function wF(i,c){var g=i.d;var f=i.c;var b=i.a;if(c==null||c.length==0){return false;}if(c.length<=b){var d=dG(c);if(g.hasOwnProperty(d)){return false;}else{i.b++;g[d]=true;return true;}}else{var a=dG(c.slice(0,b));var h;if(f.hasOwnProperty(a)){h=f[a];}else{h=aG(b*2);f[a]=h;}var e=c.slice(b);if(h.D(e)){i.b++;return true;}else{return false;}}}
+function xF(a){a.b=0;a.c={};a.d={};}
+function zF(b,a){return tY(AF(b,a,1),a);}
+function AF(c,b,a){var d;d=nY(new lY());if(b!==null&&a>0){CF(c,b,'',d,a);}return d;}
+function BF(a){return jF(new iF(),a);}
+function CF(m,f,d,c,b){var k=m.d;var i=m.c;var e=m.a;if(f.length>d.length+e){var a=dG(f.slice(d.length,d.length+e));if(i.hasOwnProperty(a)){var h=i[a];var l=d+gG(a);h.De(f,l,c,b);}}else{for(j in k){var l=d+gG(j);if(l.indexOf(f)==0){c.C(l);}if(c.Ce()>=b){return;}}for(var a in i){var l=d+gG(a);var h=i[a];if(l.indexOf(f)==0){if(h.b<=b-c.Ce()||h.b==1){h.nb(c,l);}else{for(var j in h.d){c.C(l+gG(j));}for(var g in h.c){c.C(l+gG(g)+'...');}}}}}}
+function DF(a){if(ac(a,1)){return wF(this,Fb(a,1));}else{throw dW(new cW(),'Cannot add non-Strings to PrefixTree');}}
+function EF(a){return wF(this,a);}
+function FF(a){if(ac(a,1)){return zF(this,Fb(a,1));}else{return false;}}
+function aG(a){return uF(new hF(),a);}
+function bG(b,c){var a;for(a=BF(this);mF(a);){b.C(c+Fb(pF(a),1));}}
+function cG(){return BF(this);}
+function dG(a){return Eb(58)+a;}
+function eG(){return this.b;}
+function fG(d,c,b,a){CF(this,d,c,b,a);}
+function gG(a){return hV(a,1);}
+function hF(){}
+_=hF.prototype=new fW();_.C=DF;_.D=EF;_.eb=FF;_.nb=bG;_.qc=cG;_.Ce=eG;_.De=fG;_.tN=agc+'PrefixTree';_.tI=101;_.a=0;_.b=0;_.c=null;_.d=null;function jF(a,b){nF(a);kF(a,b,'');return a;}
+function kF(e,f,b){var d=[];for(suffix in f.d){d.push(suffix);}var a={'suffixNames':d,'subtrees':f.c,'prefix':b,'index':0};var c=e.a;c.push(a);}
+function mF(a){return oF(a,true)!==null;}
+function nF(a){a.a=[];}
+function pF(a){var b;b=oF(a,false);if(b===null){if(!mF(a)){throw s2(new r2(),'No more elements in the iterator');}else{throw lU(new kU(),'nextImpl() returned null, but hasNext says otherwise');}}return b;}
+function oF(g,b){var d=g.a;var c=dG;var i=gG;while(d.length>0){var a=d.pop();if(a.index<a.suffixNames.length){var h=a.prefix+i(a.suffixNames[a.index]);if(!b){a.index++;}if(a.index<a.suffixNames.length){d.push(a);}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}return h;}else{for(key in a.subtrees){var f=a.prefix+i(key);var e=a.subtrees[key];g.A(e,f);}}}return null;}
+function qF(b,a){kF(this,b,a);}
+function rF(){return mF(this);}
+function sF(){return pF(this);}
+function tF(){throw dW(new cW(),'PrefixTree does not support removal.  Use clear()');}
+function iF(){}
+_=iF.prototype=new fU();_.A=qF;_.kc=rF;_.sc=sF;_.ce=tF;_.tN=agc+'PrefixTree$PrefixTreeIterator';_.tI=102;_.a=null;function kG(){kG=d3;mq();}
+function iG(b,a){kG();kq(b,Ed(a));FN(b,'gwt-RadioButton');return b;}
+function jG(c,b,a){kG();iG(c,b);qq(c,a);return c;}
+function hG(){}
+_=hG.prototype=new iq();_.tN=agc+'RadioButton';_.tI=103;function rG(){rG=d3;wG=k1(new o0());}
+function qG(b,a){rG();lp(b);if(a===null){a=sG();}b.me(a);b.uc();return b;}
+function tG(){rG();return uG(null);}
+function uG(c){rG();var a,b;b=Fb(q1(wG,c),48);if(b!==null){return b;}a=null;if(wG.c==0){vG();}r1(wG,c,b=qG(new lG(),a));return b;}
+function sG(){rG();return $doc.body;}
+function vG(){rG();yh(new mG());}
+function lG(){}
+_=lG.prototype=new kp();_.tN=agc+'RootPanel';_.tI=104;var wG;function oG(){var a,b;for(b=qX(FX((rG(),wG)));xX(b);){a=Fb(yX(b),48);if(a.oc()){a.Bc();}}}
+function pG(){return null;}
+function mG(){}
+_=mG.prototype=new fU();_.ud=oG;_.vd=pG;_.tN=agc+'RootPanel$1';_.tI=105;function yG(a){fH(a);BG(a,false);aO(a,16384);return a;}
+function zG(b,a){yG(b);b.Ae(a);return b;}
+function BG(b,a){Df(b.ub(),'overflow',a?'scroll':'auto');}
+function CG(a){xe(a)==16384;}
+function xG(){}
+_=xG.prototype=new DG();_.wc=CG;_.tN=agc+'ScrollPanel';_.tI=106;function FG(a){a.a=a.c.r!==null;}
+function aH(b,a){b.c=a;FG(b);return b;}
+function cH(){return this.a;}
+function dH(){if(!this.a||this.c.r===null){throw new r2();}this.a=false;return this.b=this.c.r;}
+function eH(){if(this.b!==null){this.c.ee(this.b);}}
+function EG(){}
+_=EG.prototype=new fU();_.kc=cH;_.sc=dH;_.ce=eH;_.tN=agc+'SimplePanel$1';_.tI=107;_.b=null;function BH(b){var a;Fq(b);a=ge();b.me(a);b.a=de();td(a,b.a);wf(a,'cellSpacing',0);wf(a,'cellPadding',0);Ef(a,1);FN(b,'gwt-StackPanel');return b;}
+function CH(a,b){aI(a,b,a.f.c);}
+function DH(c,d,b,a){CH(c,d);cI(c,c.f.c-1,b,a);}
+function FH(d,a){var b,c;while(a!==null&& !ud(a,d.ub())){b=bf(a,'__index');if(b!==null){c=af(a,'__owner');if(c==d.hC()){return mT(b);}else{return (-1);}}a=ff(a);}return (-1);}
+function aI(e,h,a){var b,c,d,f,g;g=fe();d=ee();td(g,d);f=fe();c=ee();td(f,c);a=br(e,h,a);b=a*2;hf(e.a,f,b);hf(e.a,g,b);kO(d,'gwt-StackPanelItem',true);wf(d,'__owner',e.hC());xf(d,'height','1px');xf(c,'height','100%');xf(c,'vAlign','top');hr(e,h,c,a,false);fI(e,a);if(e.b==(-1)){eI(e,0);}else{dI(e,a,false);if(e.b>=a){++e.b;}}}
+function bI(e,a,b){var c,d,f;c=jr(e,a);if(c){d=2*b;f=Ee(e.a,d);nf(e.a,f);f=Ee(e.a,d);nf(e.a,f);if(e.b==b){e.b=(-1);}else if(e.b>b){--e.b;}fI(e,d);}return c;}
+function cI(e,b,d,a){var c;if(b>=e.f.c){return;}c=Ee(Ee(e.a,b*2),0);if(a){Af(c,d);}else{Bf(c,d);}}
+function dI(c,a,e){var b,d;d=Ee(c.a,a*2);if(d===null){return;}b=df(d);kO(b,'gwt-StackPanelItem-selected',e);d=Ee(c.a,a*2+1);mO(d,e);gr(c,a).ye(e);}
+function eI(b,a){if(a>=b.f.c||a==b.b){return;}if(b.b>=0){dI(b,b.b,false);}b.b=a;dI(b,b.b,true);}
+function fI(f,a){var b,c,d,e;for(e=a,b=f.f.c;e<b;++e){d=Ee(f.a,e*2);c=df(d);wf(c,'__index',e);}}
+function gI(a){var b,c;if(xe(a)==1){c=ve(a);b=FH(this,c);if(b!=(-1)){eI(this,b);}}}
+function hI(a){return bI(this,gr(this,a),a);}
+function iI(a){return bI(this,a,fr(this,a));}
+function AH(){}
+_=AH.prototype=new Dq();_.wc=gI;_.de=hI;_.ee=iI;_.tN=agc+'StackPanel';_.tI=108;_.a=null;_.b=(-1);function jI(){}
+_=jI.prototype=new fU();_.tN=agc+'SuggestOracle$Request';_.tI=109;_.a=20;_.b=null;function lI(){}
+_=lI.prototype=new fU();_.tN=agc+'SuggestOracle$Response';_.tI=110;_.a=null;function qI(b,a){uI(a,b.Bd());vI(a,b.Ed());}
+function rI(a){return a.a;}
+function sI(a){return a.b;}
+function tI(b,a){b.df(rI(a));b.gf(sI(a));}
+function uI(a,b){a.a=b;}
+function vI(a,b){a.b=b;}
+function yI(b,a){BI(a,Fb(b.Dd(),49));}
+function zI(a){return a.a;}
+function AI(b,a){b.ff(zI(a));}
+function BI(a,b){a.a=b;}
+function DI(a){a.a=iA(new gA());}
+function EI(c){var a,b;DI(c);pr(c,c.a);aO(c,1);FN(c,'gwt-TabBar');oA(c.a,(aA(),bA));a=oz(new qw(),'&nbsp;',true);b=oz(new qw(),'&nbsp;',true);FN(a,'gwt-TabBarFirst');FN(b,'gwt-TabBarRest');a.qe('100%');b.qe('100%');jA(c.a,a);jA(c.a,b);a.qe('100%');c.a.ke(a,'100%');c.a.le(b,'100%');return c;}
+function FI(b,a){if(b.c===null){b.c=kJ(new jJ());}pY(b.c,a);}
+function aJ(b,a){if(a<0||a>dJ(b)){throw new fT();}}
+function bJ(b,a){if(a<(-1)||a>=dJ(b)){throw new fT();}}
+function dJ(a){return a.a.f.c-2;}
+function eJ(e,d,a,b){var c;aJ(e,b);if(a){c=nz(new qw(),d);}else{c=fC(new dC(),d);}lC(c,false);gC(c,e);FN(c,'gwt-TabBarItem');mA(e.a,c,b+1);}
+function fJ(b,a){var c;bJ(b,a);c=gr(b.a,a+1);if(c===b.b){b.b=null;}nA(b.a,c);}
+function gJ(b,a){bJ(b,a);if(b.c!==null){if(!mJ(b.c,b,a)){return false;}}hJ(b,b.b,false);if(a==(-1)){b.b=null;return true;}b.b=gr(b.a,a+1);hJ(b,b.b,true);if(b.c!==null){nJ(b.c,b,a);}return true;}
+function hJ(c,a,b){if(a!==null){if(b){uN(a,'gwt-TabBarItem-selected');}else{AN(a,'gwt-TabBarItem-selected');}}}
+function iJ(b){var a;for(a=1;a<this.a.f.c-1;++a){if(gr(this.a,a)===b){gJ(this,a-1);return;}}}
+function CI(){}
+_=CI.prototype=new nr();_.zc=iJ;_.tN=agc+'TabBar';_.tI=111;_.b=null;_.c=null;function kJ(a){nY(a);return a;}
+function mJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);if(!b.vc(c,d)){return false;}}return true;}
+function nJ(e,c,d){var a,b;for(a=e.qc();a.kc();){b=Fb(a.sc(),50);b.qd(c,d);}}
+function jJ(){}
+_=jJ.prototype=new lY();_.tN=agc+'TabListenerCollection';_.tI=112;function CJ(a){a.b=yJ(new xJ());a.a=rJ(new qJ(),a.b);}
+function DJ(b){var a;CJ(b);a=sO(new qO());tO(a,b.b);tO(a,b.a);a.ke(b.a,'100%');b.b.Be('100%');FI(b.b,b);pr(b,a);FN(b,'gwt-TabPanel');FN(b.a,'gwt-TabPanelBottom');return b;}
+function EJ(c,d,b,a){cK(c,d,b,a,c.a.f.c);}
+function bK(b,a){return gr(b.a,a);}
+function aK(a,b){return fr(a.a,b);}
+function cK(d,e,c,a,b){tJ(d.a,e,c,a,b);}
+function dK(b,a){return b.a.de(a);}
+function eK(b,a){gJ(b.b,a);}
+function fK(){return ir(this.a);}
+function gK(a,b){return true;}
+function hK(a,b){Br(this.a,b);}
+function iK(a){return uJ(this.a,a);}
+function pJ(){}
+_=pJ.prototype=new nr();_.qc=fK;_.vc=gK;_.qd=hK;_.ee=iK;_.tN=agc+'TabPanel';_.tI=113;function rJ(b,a){vr(b);b.a=a;return b;}
+function tJ(e,f,d,a,b){var c;c=fr(e,f);if(c!=(-1)){uJ(e,f);if(c<b){b--;}}AJ(e.a,d,a,b);yr(e,f,b);}
+function uJ(b,c){var a;a=fr(b,c);if(a!=(-1)){BJ(b.a,a);return zr(b,c);}return false;}
+function vJ(){throw dW(new cW(),'Use TabPanel.clear() to alter the DeckPanel');}
+function wJ(a){return uJ(this,a);}
+function qJ(){}
+_=qJ.prototype=new ur();_.ab=vJ;_.ee=wJ;_.tN=agc+'TabPanel$TabbedDeckPanel';_.tI=114;_.a=null;function yJ(a){EI(a);return a;}
+function AJ(d,c,a,b){eJ(d,c,a,b);}
+function BJ(b,a){fJ(b,a);}
+function xJ(){}
+_=xJ.prototype=new CI();_.tN=agc+'TabPanel$UnmodifiableTabBar';_.tI=115;function kK(a){nY(a);return a;}
+function mK(f,e,d,a){var b,c;for(b=f.qc();b.kc();){c=Fb(b.sc(),51);c.xc(e,d,a);}}
+function jK(){}
+_=jK.prototype=new lY();_.tN=agc+'TableListenerCollection';_.tI=116;function qK(){qK=d3;BK();}
+function pK(a){qK();xK(a,he());FN(a,'gwt-TextArea');return a;}
+function rK(a){return DR(cL,a.ub());}
+function sK(a){return af(a.ub(),'rows');}
+function tK(a,b){wf(a.ub(),'cols',b);}
+function uK(b,a){wf(b.ub(),'rows',a);}
+function oK(){}
+_=oK.prototype=new wK();_.tN=agc+'TextArea';_.tI=117;function fL(){fL=d3;BK();}
+function eL(a){fL();xK(a,Fd());FN(a,'gwt-TextBox');return a;}
+function gL(b,a){wf(b.ub(),'size',a);}
+function vK(){}
+_=vK.prototype=new wK();_.tN=agc+'TextBox';_.tI=118;function tM(a){a.a=k1(new o0());}
+function uM(a){vM(a,rL(new qL()));return a;}
+function vM(b,a){tM(b);b.d=a;b.me(xd());Df(b.ub(),'position','relative');b.c=AQ((lu(),mu));Df(b.c,'fontSize','0');Df(b.c,'position','absolute');Cf(b.c,'zIndex',(-1));td(b.ub(),b.c);aO(b,1021);Ef(b.c,6144);b.g=jL(new iL(),b);gM(b.g,b);FN(b,'gwt-Tree');return b;}
+function xM(c,a){var b;b=AL(new xL(),a);wM(c,b);return b;}
+function wM(b,a){kL(b.g,a);}
+function yM(b,a){if(b.f===null){b.f=oM(new nM());}pY(b.f,a);}
+function zM(c){var a,b;b=c.g.c.b;for(a=b-1;a>=0;a--){aM(DL(c.g,a));}}
+function BM(d,a,c,b){if(b===null||ud(b,c)){return;}BM(d,a,c,ff(b));pY(a,hc(b,hg));}
+function CM(e,d,b){var a,c;a=nY(new lY());BM(e,a,e.ub(),b);c=EM(e,a,0,d);if(c!==null){if(kf(FL(c),b)){fM(c,!c.f,true);return true;}else if(kf(c.ub(),b)){fN(e,c,true,!mN(e,b));return true;}}return false;}
+function DM(b,a){if(!a.f){return a;}return DM(b,DL(a,a.c.b-1));}
+function EM(i,a,e,h){var b,c,d,f,g;if(e==a.b){return h;}c=Fb(uY(a,e),6);for(d=0,f=h.c.b;d<f;++d){b=DL(h,d);if(ud(b.ub(),c)){g=EM(i,a,e+1,DL(h,d));if(g===null){return b;}return g;}}return EM(i,a,e+1,h);}
+function FM(b,a){if(b.f!==null){rM(b.f,a);}}
+function aN(b,a){return DL(b.g,a);}
+function bN(a){var b;b=yb('[Lcom.google.gwt.user.client.ui.Widget;',[613],[13],[a.a.c],null);EX(a.a).Fe(b);return zP(a,b);}
+function cN(h,g){var a,b,c,d,e,f,i,j;c=EL(g);{f=g.d;a=wN(h);b=xN(h);e=Ae(f)-a;i=Be(f)-b;j=af(f,'offsetWidth');d=af(f,'offsetHeight');Cf(h.c,'left',e);Cf(h.c,'top',i);Cf(h.c,'width',j);Cf(h.c,'height',d);sf(h.c);eR((lu(),mu),h.c);}}
+function dN(e,d,a){var b,c;if(d===e.g){return;}c=d.g;if(c===null){c=e.g;}b=CL(c,d);if(!a|| !d.f){if(b<c.c.b-1){fN(e,DL(c,b+1),true,true);}else{dN(e,c,false);}}else if(d.c.b>0){fN(e,DL(d,0),true,true);}}
+function eN(e,c){var a,b,d;b=c.g;if(b===null){b=e.g;}a=CL(b,c);if(a>0){d=DL(b,a-1);fN(e,DM(e,d),true,true);}else{fN(e,b,true,true);}}
+function fN(d,b,a,c){if(b===d.g){return;}if(d.b!==null){dM(d.b,false);}d.b=b;if(c&&d.b!==null){cN(d,d.b);dM(d.b,true);if(a&&d.f!==null){qM(d.f,d.b);}}}
+function iN(b,c){var a;a=Fb(q1(b.a,c),52);if(a===null){return false;}iM(a,null);return true;}
+function gN(b,a){mL(b.g,a);}
+function hN(a){while(a.g.c.b>0){gN(a,aN(a,0));}}
+function jN(b,a){if(a){eR((lu(),mu),b.c);}else{bR((lu(),mu),b.c);}}
+function kN(b,a){lN(b,a,true);}
+function lN(c,b,a){if(b===null){if(c.b===null){return;}dM(c.b,false);c.b=null;return;}fN(c,b,a,true);}
+function mN(c,a){var b=a.nodeName;return b=='SELECT'||(b=='INPUT'||(b=='TEXTAREA'||(b=='OPTION'||(b=='BUTTON'||b=='LABEL'))));}
+function nN(){var a,b;for(b=bN(this);sP(b);){a=tP(b);a.uc();}yf(this.c,this);}
+function oN(){var a,b;for(b=bN(this);sP(b);){a=tP(b);a.Bc();}yf(this.c,null);}
+function pN(){return bN(this);}
+function qN(c){var a,b,d,e,f;d=xe(c);switch(d){case 1:{b=ve(c);if(mN(this,b)){}else{jN(this,true);}break;}case 4:{if(jg(qe(c),hc(this.ub(),hg))){CM(this,this.g,ve(c));}break;}case 8:{break;}case 64:{break;}case 16:{break;}case 32:{break;}case 2048:break;case 4096:{break;}case 128:if(this.b===null){if(this.g.c.b>0){fN(this,DL(this.g,0),true,true);}return;}if(this.e==128){return;}{switch(se(c)){case 38:{eN(this,this.b);ye(c);break;}case 40:{dN(this,this.b,true);ye(c);break;}case 37:{if(this.b.f){eM(this.b,false);}else{f=this.b.g;if(f!==null){kN(this,f);}}ye(c);break;}case 39:{if(!this.b.f){eM(this.b,true);}else if(this.b.c.b>0){kN(this,DL(this.b,0));}ye(c);break;}}}case 512:if(d==512){if(se(c)==9){a=nY(new lY());BM(this,a,this.ub(),ve(c));e=EM(this,a,0,this.g);if(e!==this.b){lN(this,e,true);}}}case 256:{break;}}this.e=d;}
+function rN(){jM(this.g);}
+function sN(a){return iN(this,a);}
+function hL(){}
+_=hL.prototype=new zO();_.kb=nN;_.mb=oN;_.qc=pN;_.wc=qN;_.fd=rN;_.ee=sN;_.tN=agc+'Tree';_.tI=119;_.b=null;_.c=null;_.d=null;_.e=0;_.f=null;_.g=null;function yL(a){a.c=nY(new lY());a.i=mB(new xA());}
+function zL(d){var a,b,c,e;yL(d);d.me(xd());d.e=ge();d.d=ce();d.b=ce();a=de();e=fe();c=ee();b=ee();td(d.e,a);td(a,e);td(e,c);td(e,b);Df(c,'verticalAlign','middle');Df(b,'verticalAlign','middle');td(d.ub(),d.e);td(d.ub(),d.b);td(c,d.i.ub());td(b,d.d);Df(d.d,'display','inline');Df(d.ub(),'whiteSpace','nowrap');Df(d.b,'whiteSpace','nowrap');kO(d.d,'gwt-TreeItem',true);return d;}
+function AL(b,a){zL(b);bM(b,a);return b;}
+function DL(b,a){if(a<0||a>=b.c.b){return null;}return Fb(uY(b.c,a),52);}
+function CL(b,a){return vY(b.c,a);}
+function EL(a){var b;b=a.l;{return null;}}
+function FL(a){return a.i.ub();}
+function aM(a){if(a.g!==null){a.g.ae(a);}else if(a.j!==null){gN(a.j,a);}}
+function bM(b,a){iM(b,null);Af(b.d,a);}
+function cM(b,a){b.g=a;}
+function dM(b,a){if(b.h==a){return;}b.h=a;kO(b.d,'gwt-TreeItem-selected',a);}
+function eM(b,a){fM(b,a,true);}
+function fM(c,b,a){if(b&&c.c.b==0){return;}c.f=b;kM(c);if(a&&c.j!==null){FM(c.j,c);}}
+function gM(d,c){var a,b;if(d.j===c){return;}if(d.j!==null){if(d.j.b===d){kN(d.j,null);}}d.j=c;for(a=0,b=d.c.b;a<b;++a){gM(Fb(uY(d.c,a),52),c);}kM(d);}
+function hM(a,b){a.k=b;}
+function iM(b,a){Af(b.d,'');b.l=a;}
+function kM(b){var a;if(b.j===null){return;}a=b.j.d;if(b.c.b==0){mO(b.b,false);rQ((sL(),vL),b.i);return;}if(b.f){mO(b.b,true);rQ((sL(),wL),b.i);}else{mO(b.b,false);rQ((sL(),uL),b.i);}}
+function jM(c){var a,b;kM(c);for(a=0,b=c.c.b;a<b;++a){jM(Fb(uY(c.c,a),52));}}
+function lM(a){if(a.g!==null||a.j!==null){aM(a);}cM(a,this);pY(this.c,a);Df(a.ub(),'marginLeft','16px');td(this.b,a.ub());gM(a,this.j);if(this.c.b==1){kM(this);}}
+function mM(a){if(!tY(this.c,a)){return;}gM(a,null);nf(this.b,a.ub());cM(a,null);zY(this.c,a);if(this.c.b==0){kM(this);}}
+function xL(){}
+_=xL.prototype=new tN();_.y=lM;_.ae=mM;_.tN=agc+'TreeItem';_.tI=120;_.b=null;_.d=null;_.e=null;_.f=false;_.g=null;_.h=false;_.j=null;_.k=null;_.l=null;function jL(b,a){b.a=a;zL(b);return b;}
+function kL(b,a){if(a.g!==null||a.j!==null){aM(a);}td(b.a.ub(),a.ub());gM(a,b.j);cM(a,null);pY(b.c,a);Cf(a.ub(),'marginLeft',0);}
+function mL(b,a){if(!tY(b.c,a)){return;}gM(a,null);cM(a,null);zY(b.c,a);nf(b.a.ub(),a.ub());}
+function nL(a){kL(this,a);}
+function oL(a){mL(this,a);}
+function iL(){}
+_=iL.prototype=new xL();_.y=nL;_.ae=oL;_.tN=agc+'Tree$1';_.tI=121;function sL(){sL=d3;tL=v()+'6270670BB31873C9D34757A8AE5F5E86.cache.png';uL=qQ(new pQ(),tL,0,0,16,16);vL=qQ(new pQ(),tL,16,0,16,16);wL=qQ(new pQ(),tL,32,0,16,16);}
+function rL(a){sL();return a;}
+function qL(){}
+_=qL.prototype=new fU();_.tN=agc+'TreeImages_generatedBundle';_.tI=122;var tL,uL,vL,wL;function oM(a){nY(a);return a;}
+function qM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.rd(b);}}
+function rM(d,b){var a,c;for(a=d.qc();a.kc();){c=Fb(a.sc(),53);c.sd(b);}}
+function nM(){}
+_=nM.prototype=new lY();_.tN=agc+'TreeListenerCollection';_.tI=123;function rO(a){a.a=(xz(),zz);a.b=(aA(),dA);}
+function sO(a){Dp(a);rO(a);xf(a.e,'cellSpacing','0');xf(a.e,'cellPadding','0');return a;}
+function tO(b,d){var a,c;c=fe();a=vO(b);td(c,a);td(b.d,c);ar(b,d,a);}
+function vO(b){var a;a=ee();Fp(b,a,b.a);aq(b,a,b.b);return a;}
+function wO(b,a){b.a=a;}
+function xO(b,a){b.b=a;}
+function yO(c){var a,b;b=ff(c.ub());a=jr(this,c);if(a){nf(this.d,ff(b));}return a;}
+function qO(){}
+_=qO.prototype=new Cp();_.ee=yO;_.tN=agc+'VerticalPanel';_.tI=124;function dP(b,a){b.b=a;b.a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[613],[13],[4],null);return b;}
+function eP(a,b){iP(a,b,a.c);}
+function gP(b,a){if(a<0||a>=b.c){throw new fT();}return b.a[a];}
+function hP(b,c){var a;for(a=0;a<b.c;++a){if(b.a[a]===c){return a;}}return (-1);}
+function iP(d,e,a){var b,c;if(a<0||a>d.c){throw new fT();}if(d.c==d.a.a){c=yb('[Lcom.google.gwt.user.client.ui.Widget;',[613],[13],[d.a.a*2],null);for(b=0;b<d.a.a;++b){Ab(c,b,d.a[b]);}d.a=c;}++d.c;for(b=d.c-1;b>a;--b){Ab(d.a,b,d.a[b-1]);}Ab(d.a,a,e);}
+function jP(a){return CO(new BO(),a);}
+function kP(c,b){var a;if(b<0||b>=c.c){throw new fT();}--c.c;for(a=b;a<c.c;++a){Ab(c.a,a,c.a[a+1]);}Ab(c.a,c.c,null);}
+function lP(b,c){var a;a=hP(b,c);if(a==(-1)){throw new r2();}kP(b,a);}
+function AO(){}
+_=AO.prototype=new fU();_.tN=agc+'WidgetCollection';_.tI=125;_.a=null;_.b=null;_.c=0;function CO(b,a){b.b=a;return b;}
+function EO(a){return a.a<a.b.c-1;}
+function FO(a){if(a.a>=a.b.c){throw new r2();}return a.b.a[++a.a];}
+function aP(){return EO(this);}
+function bP(){return FO(this);}
+function cP(){if(this.a<0||this.a>=this.b.c){throw new cT();}this.b.b.ee(this.b.a[this.a--]);}
+function BO(){}
+_=BO.prototype=new fU();_.kc=aP;_.sc=bP;_.ce=cP;_.tN=agc+'WidgetCollection$WidgetIterator';_.tI=126;_.a=(-1);function yP(c){var a,b;a=yb('[Lcom.google.gwt.user.client.ui.Widget;',[613],[13],[c.a],null);for(b=0;b<c.a;b++){Ab(a,b,c[b]);}return a;}
+function zP(b,a){return pP(new nP(),a,b);}
+function oP(a){a.e=a.c;{rP(a);}}
+function pP(a,b,c){a.c=b;a.d=c;oP(a);return a;}
+function rP(a){++a.a;while(a.a<a.c.a){if(a.c[a.a]!==null){return;}++a.a;}}
+function sP(a){return a.a<a.c.a;}
+function tP(a){var b;if(!sP(a)){throw new r2();}a.b=a.a;b=a.c[a.a];rP(a);return b;}
+function uP(){return sP(this);}
+function vP(){return tP(this);}
+function wP(){if(this.b<0){throw new cT();}if(!this.f){this.e=yP(this.e);this.f=true;}iN(this.d,this.c[this.b]);this.b=(-1);}
+function nP(){}
+_=nP.prototype=new fU();_.kc=uP;_.sc=vP;_.ce=wP;_.tN=agc+'WidgetIterators$1';_.tI=127;_.a=(-1);_.b=(-1);_.f=false;function lQ(e,b,g,c,f,h,a){var d;d='url('+g+') no-repeat '+(-c+'px ')+(-f+'px');Df(b,'background',d);Df(b,'width',h+'px');Df(b,'height',a+'px');}
+function nQ(c,f,b,e,g,a){var d;d=ce();Af(d,oQ(c,f,b,e,g,a));return df(d);}
+function oQ(e,g,c,f,h,b){var a,d;d='width: '+h+'px; height: '+b+'px; background: url('+g+') no-repeat '+(-c+'px ')+(-f+'px');a="<img src='"+v()+"clear.cache.gif' style='"+d+"' border='0'>";return a;}
+function kQ(){}
+_=kQ.prototype=new fU();_.tN=bgc+'ClippedImageImpl';_.tI=128;function qQ(c,e,b,d,f,a){c.d=e;c.b=b;c.c=d;c.e=f;c.a=a;return c;}
+function rQ(b,a){rB(a,b.d,b.b,b.c,b.e,b.a);}
+function pQ(){}
+_=pQ.prototype=new rp();_.tN=bgc+'ClippedImagePrototype';_.tI=129;_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;function jR(){jR=d3;mR=aR(new FQ());nR=mR!==null?iR(new tQ()):mR;}
+function iR(a){jR();return a;}
+function kR(a){a.blur();}
+function lR(a){a.focus();}
+function oR(a,b){a.tabIndex=b;}
+function tQ(){}
+_=tQ.prototype=new fU();_.F=kR;_.rb=lR;_.se=oR;_.tN=bgc+'FocusImpl';_.tI=130;var mR,nR;function xQ(){xQ=d3;jR();}
+function vQ(a){a.a=yQ(a);a.b=zQ(a);a.c=dR(a);}
+function wQ(a){xQ();iR(a);vQ(a);return a;}
+function yQ(b){return function(a){if(this.parentNode.onblur){this.parentNode.onblur(a);}};}
+function zQ(b){return function(a){if(this.parentNode.onfocus){this.parentNode.onfocus(a);}};}
+function AQ(c){var a=$doc.createElement('div');var b=c.gb();b.addEventListener('blur',c.a,false);b.addEventListener('focus',c.b,false);a.addEventListener('mousedown',c.c,false);a.appendChild(b);return a;}
+function BQ(a){a.firstChild.blur();}
+function CQ(){var a=$doc.createElement('input');a.type='text';a.style.width=a.style.height=0;a.style.zIndex= -1;a.style.position='absolute';return a;}
+function DQ(a){a.firstChild.focus();}
+function EQ(a,b){a.firstChild.tabIndex=b;}
+function uQ(){}
+_=uQ.prototype=new tQ();_.F=BQ;_.gb=CQ;_.rb=DQ;_.se=EQ;_.tN=bgc+'FocusImplOld';_.tI=131;function cR(){cR=d3;xQ();}
+function aR(a){cR();wQ(a);return a;}
+function bR(b,a){$wnd.setTimeout(function(){a.firstChild.blur();},0);}
+function dR(b){return function(){var a=this.firstChild;$wnd.setTimeout(function(){a.focus();},0);};}
+function eR(b,a){$wnd.setTimeout(function(){a.firstChild.focus();},0);}
+function fR(a){bR(this,a);}
+function gR(){var a=$doc.createElement('input');a.type='text';a.style.opacity=0;a.style.zIndex= -1;a.style.height='1px';a.style.width='1px';a.style.overflow='hidden';a.style.position='absolute';return a;}
+function hR(a){eR(this,a);}
+function FQ(){}
+_=FQ.prototype=new uQ();_.F=fR;_.gb=gR;_.rb=hR;_.tN=bgc+'FocusImplSafari';_.tI=132;function sR(c,b){try{if(!b.contentWindow|| !b.contentWindow.document)return null;return b.contentWindow.document.body.innerHTML;}catch(a){return null;}}
+function tR(d,b,a,c){if(b){b.onload=function(){if(!b.__formAction)return;c.ad();};}a.onsubmit=function(){if(b)b.__formAction=a.action;return c.Fc();};}
+function uR(c,b,a){b.enctype=a;b.encoding=a;}
+function vR(c,a,b){if(b)b.__formAction=a.action;a.submit();}
+function wR(c,b,a){if(b)b.onload=null;a.onsubmit=null;}
+function pR(){}
+_=pR.prototype=new fU();_.tN=bgc+'FormPanelImpl';_.tI=133;function zR(a){return xd();}
+function xR(){}
+_=xR.prototype=new fU();_.tN=bgc+'PopupImpl';_.tI=134;function CR(c,b){try{return b.selectionStart;}catch(a){return 0;}}
+function DR(b,a){return CR(b,a);}
+function ER(d,a,c,b){a.setSelectionRange(c,c+b);}
+function AR(){}
+_=AR.prototype=new fU();_.tN=bgc+'TextBoxImpl';_.tI=135;function cS(){}
+_=cS.prototype=new fU();_.tN=cgc+'OutputStream';_.tI=136;function aS(){}
+_=aS.prototype=new cS();_.tN=cgc+'FilterOutputStream';_.tI=137;function eS(){}
+_=eS.prototype=new aS();_.tN=cgc+'PrintStream';_.tI=138;function gS(){}
+_=gS.prototype=new kU();_.tN=dgc+'ArrayStoreException';_.tI=139;function kS(){kS=d3;lS=jS(new iS(),false);mS=jS(new iS(),true);}
+function jS(a,b){kS();a.a=b;return a;}
+function nS(a){return ac(a,55)&&Fb(a,55).a==this.a;}
+function oS(){var a,b;b=1231;a=1237;return this.a?1231:1237;}
+function pS(){return this.a?'true':'false';}
+function qS(a){kS();return a?mS:lS;}
+function iS(){}
+_=iS.prototype=new fU();_.eQ=nS;_.hC=oS;_.tS=pS;_.tN=dgc+'Boolean';_.tI=140;_.a=false;var lS,mS;function uS(a,b){if(b<2||b>36){return (-1);}if(a>=48&&a<48+vT(b,10)){return a-48;}if(a>=97&&a<b+97-10){return a-97+10;}if(a>=65&&a<b+65-10){return a-65+10;}return (-1);}
+function vS(a){return null!=String.fromCharCode(a).match(/[A-Z]/i);}
+function xS(b,a){lU(b,a);return b;}
+function wS(){}
+_=wS.prototype=new kU();_.tN=dgc+'ClassCastException';_.tI=141;function aT(b,a){lU(b,a);return b;}
+function FS(){}
+_=FS.prototype=new kU();_.tN=dgc+'IllegalArgumentException';_.tI=142;function dT(b,a){lU(b,a);return b;}
+function cT(){}
+_=cT.prototype=new kU();_.tN=dgc+'IllegalStateException';_.tI=143;function gT(b,a){lU(b,a);return b;}
+function fT(){}
+_=fT.prototype=new kU();_.tN=dgc+'IndexOutOfBoundsException';_.tI=144;function FT(){FT=d3;{eU();}}
+function aU(a){FT();return isNaN(a);}
+function bU(e,d,c,h){FT();var a,b,f,g;if(e===null){throw DT(new CT(),'Unable to parse null');}b=cV(e);f=b>0&&zU(e,0)==45?1:0;for(a=f;a<b;a++){if(uS(zU(e,a),d)==(-1)){throw DT(new CT(),'Could not parse '+e+' in radix '+d);}}g=cU(e,d);if(aU(g)){throw DT(new CT(),'Unable to parse '+e);}else if(g<c||g>h){throw DT(new CT(),'The string '+e+' exceeds the range for the requested data type');}return g;}
+function cU(b,a){FT();return parseInt(b,a);}
+function eU(){FT();dU=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/i;}
+var dU=null;function jT(){jT=d3;FT();}
+function mT(a){jT();return nT(a,10);}
+function nT(b,a){jT();return cc(bU(b,a,(-2147483648),2147483647));}
+function oT(a){jT();return uV(a);}
+var kT=2147483647,lT=(-2147483648);function qT(){qT=d3;FT();}
+function rT(a){qT();return vV(a);}
+function uT(a){return a<0?-a:a;}
+function vT(a,b){return a<b?a:b;}
+function wT(){}
+_=wT.prototype=new kU();_.tN=dgc+'NegativeArraySizeException';_.tI=145;function zT(b,a){lU(b,a);return b;}
+function yT(){}
+_=yT.prototype=new kU();_.tN=dgc+'NullPointerException';_.tI=146;function DT(b,a){aT(b,a);return b;}
+function CT(){}
+_=CT.prototype=new FS();_.tN=dgc+'NumberFormatException';_.tI=147;function zU(b,a){return b.charCodeAt(a);}
+function BU(f,c){var a,b,d,e,g,h;h=cV(f);e=cV(c);b=vT(h,e);for(a=0;a<b;a++){g=zU(f,a);d=zU(c,a);if(g!=d){return g-d;}}return h-e;}
+function CU(b,a){return b.lastIndexOf(a)!= -1&&b.lastIndexOf(a)==b.length-a.length;}
+function EU(b,a){if(!ac(a,1))return false;return nV(b,a);}
+function DU(b,a){if(a==null)return false;return b==a||b.toLowerCase()==a.toLowerCase();}
+function FU(b,a){return b.indexOf(String.fromCharCode(a));}
+function aV(b,a){return b.indexOf(a);}
+function bV(c,b,a){return c.indexOf(b,a);}
+function cV(a){return a.length;}
+function dV(c,b){var a=new RegExp(b).exec(c);return a==null?false:c==a[0];}
+function eV(b,a){return fV(b,a,0);}
+function fV(j,i,g){var a=new RegExp(i,'g');var h=[];var b=0;var k=j;var e=null;while(true){var f=a.exec(k);if(f==null||(k==''||b==g-1&&g>0)){h[b]=k;break;}else{h[b]=k.substring(0,f.index);k=k.substring(f.index+f[0].length,k.length);a.lastIndex=0;if(e==k){h[b]=k.substring(0,1);k=k.substring(1);}e=k;b++;}}if(g==0){for(var c=h.length-1;c>=0;c--){if(h[c]!=''){h.splice(c+1,h.length-(c+1));break;}}}var d=mV(h.length);var c=0;for(c=0;c<h.length;++c){d[c]=h[c];}return d;}
+function gV(b,a){return aV(b,a)==0;}
+function hV(b,a){return b.substr(a,b.length-a);}
+function iV(c,a,b){return c.substr(a,b-a);}
+function jV(d){var a,b,c;c=cV(d);a=yb('[C',[609],[(-1)],[c],0);for(b=0;b<c;++b)a[b]=zU(d,b);return a;}
+function kV(a){return a.toLowerCase();}
+function lV(c){var a=c.replace(/^(\s*)/,'');var b=a.replace(/\s*$/,'');return b;}
+function mV(a){return yb('[Ljava.lang.String;',[608],[1],[a],null);}
+function nV(a,b){return String(a)==b;}
+function oV(a){if(ac(a,1)){return BU(this,Fb(a,1));}else{throw xS(new wS(),'Cannot compare '+a+" with String '"+this+"'");}}
+function pV(a){return EU(this,a);}
+function rV(){var a=qV;if(!a){a=qV={};}var e=':'+this;var b=a[e];if(b==null){b=0;var f=this.length;var d=f<64?1:f/32|0;for(var c=0;c<f;c+=d){b<<=1;b+=this.charCodeAt(c);}b|=0;a[e]=b;}return b;}
+function sV(){return this;}
+function tV(a){return String.fromCharCode(a);}
+function uV(a){return ''+a;}
+function vV(a){return ''+a;}
+function wV(a){return a!==null?a.tS():'null';}
+_=String.prototype;_.bb=oV;_.eQ=pV;_.hC=rV;_.tS=sV;_.tN=dgc+'String';_.tI=2;var qV=null;function qU(a){tU(a);return a;}
+function rU(a,b){return sU(a,tV(b));}
+function sU(c,d){if(d===null){d='null';}var a=c.js.length-1;var b=c.js[a].length;if(c.length>b*b){c.js[a]=c.js[a]+d;}else{c.js.push(d);}c.length+=d.length;return c;}
+function tU(a){uU(a,'');}
+function uU(b,a){b.js=[a];b.length=a.length;}
+function wU(a){a.tc();return a.js[0];}
+function xU(){if(this.js.length>1){this.js=[this.js.join('')];this.length=this.js[0].length;}}
+function yU(){return wU(this);}
+function pU(){}
+_=pU.prototype=new fU();_.tc=xU;_.tS=yU;_.tN=dgc+'StringBuffer';_.tI=148;function yV(){yV=d3;BV=new eS();}
+function zV(){yV();return new Date().getTime();}
+function AV(a){yV();return B(a);}
+var BV;function dW(b,a){lU(b,a);return b;}
+function cW(){}
+_=cW.prototype=new kU();_.tN=dgc+'UnsupportedOperationException';_.tI=149;function pW(b,a){b.c=a;return b;}
+function rW(a){return a.a<a.c.Ce();}
+function sW(){return rW(this);}
+function tW(){if(!rW(this)){throw new r2();}return this.c.hc(this.b=this.a++);}
+function uW(){if(this.b<0){throw new cT();}this.c.de(this.b);this.a=this.b;this.b=(-1);}
+function oW(){}
+_=oW.prototype=new fU();_.kc=sW;_.sc=tW;_.ce=uW;_.tN=egc+'AbstractList$IteratorImpl';_.tI=150;_.a=0;_.b=(-1);function DX(f,d,e){var a,b,c;for(b=f1(f.ob());D0(b);){a=E0(b);c=a.yb();if(d===null?c===null:d.eQ(c)){if(e){F0(b);}return a;}}return null;}
+function EX(b){var a;a=b.ob();return FW(new EW(),b,a);}
+function FX(b){var a;a=p1(b);return oX(new nX(),b,a);}
+function aY(a){return DX(this,a,false)!==null;}
+function bY(d){var a,b,c,e,f,g,h;if(d===this){return true;}if(!ac(d,57)){return false;}f=Fb(d,57);c=EX(this);e=f.rc();if(!iY(c,e)){return false;}for(a=bX(c);iX(a);){b=jX(a);h=this.ic(b);g=f.ic(b);if(h===null?g!==null:!h.eQ(g)){return false;}}return true;}
+function cY(b){var a;a=DX(this,b,false);return a===null?null:a.ec();}
+function dY(){var a,b,c;b=0;for(c=f1(this.ob());D0(c);){a=E0(c);b+=a.hC();}return b;}
+function eY(){return EX(this);}
+function fY(){var a,b,c,d;d='{';a=false;for(c=f1(this.ob());D0(c);){b=E0(c);if(a){d+=', ';}else{a=true;}d+=wV(b.yb());d+='=';d+=wV(b.ec());}return d+'}';}
+function DW(){}
+_=DW.prototype=new fU();_.db=aY;_.eQ=bY;_.ic=cY;_.hC=dY;_.rc=eY;_.tS=fY;_.tN=egc+'AbstractMap';_.tI=151;function iY(e,b){var a,c,d;if(b===e){return true;}if(!ac(b,58)){return false;}c=Fb(b,58);if(c.Ce()!=e.Ce()){return false;}for(a=c.qc();a.kc();){d=a.sc();if(!e.eb(d)){return false;}}return true;}
+function jY(a){return iY(this,a);}
+function kY(){var a,b,c;a=0;for(b=this.qc();b.kc();){c=b.sc();if(c!==null){a+=c.hC();}}return a;}
+function gY(){}
+_=gY.prototype=new fW();_.eQ=jY;_.hC=kY;_.tN=egc+'AbstractSet';_.tI=152;function FW(b,a,c){b.a=a;b.b=c;return b;}
+function bX(b){var a;a=f1(b.b);return gX(new fX(),b,a);}
+function cX(a){return this.a.db(a);}
+function dX(){return bX(this);}
+function eX(){return this.b.a.c;}
+function EW(){}
+_=EW.prototype=new gY();_.eb=cX;_.qc=dX;_.Ce=eX;_.tN=egc+'AbstractMap$1';_.tI=153;function gX(b,a,c){b.a=c;return b;}
+function iX(a){return D0(a.a);}
+function jX(b){var a;a=E0(b.a);return a.yb();}
+function kX(){return iX(this);}
+function lX(){return jX(this);}
+function mX(){F0(this.a);}
+function fX(){}
+_=fX.prototype=new fU();_.kc=kX;_.sc=lX;_.ce=mX;_.tN=egc+'AbstractMap$2';_.tI=154;function oX(b,a,c){b.a=a;b.b=c;return b;}
+function qX(b){var a;a=f1(b.b);return vX(new uX(),b,a);}
+function rX(a){return o1(this.a,a);}
+function sX(){return qX(this);}
+function tX(){return this.b.a.c;}
+function nX(){}
+_=nX.prototype=new fW();_.eb=rX;_.qc=sX;_.Ce=tX;_.tN=egc+'AbstractMap$3';_.tI=155;function vX(b,a,c){b.a=c;return b;}
+function xX(a){return D0(a.a);}
+function yX(a){var b;b=E0(a.a).ec();return b;}
+function zX(){return xX(this);}
+function AX(){return yX(this);}
+function BX(){F0(this.a);}
+function uX(){}
+_=uX.prototype=new fU();_.kc=zX;_.sc=AX;_.ce=BX;_.tN=egc+'AbstractMap$4';_.tI=156;function jZ(d,h,e){if(h==0){return;}var i=new Array();for(var g=0;g<h;++g){i[g]=d[g];}if(e!=null){var f=function(a,b){var c=e.cb(a,b);return c;};i.sort(f);}else{i.sort();}for(g=0;g<h;++g){d[g]=i[g];}}
+function kZ(a){jZ(a,a.a,(wZ(),xZ));}
+function nZ(){nZ=d3;e2(new d2());oZ=k1(new o0());nY(new lY());}
+function pZ(c,d){nZ();var a,b;b=c.b;for(a=0;a<b;a++){AY(c,a,d[a]);}}
+function qZ(a){nZ();var b;b=a.Ee();kZ(b);pZ(a,b);}
+var oZ;function wZ(){wZ=d3;xZ=new tZ();}
+var xZ;function vZ(a,b){return Fb(a,34).bb(b);}
+function tZ(){}
+_=tZ.prototype=new fU();_.cb=vZ;_.tN=egc+'Comparators$1';_.tI=157;function BZ(){BZ=d3;c0=zb('[Ljava.lang.String;',608,1,['Sun','Mon','Tue','Wed','Thu','Fri','Sat']);d0=zb('[Ljava.lang.String;',608,1,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);}
+function zZ(a){BZ();EZ(a);return a;}
+function AZ(b,a){BZ();FZ(b,a);return b;}
+function CZ(c,a){var b,d;d=DZ(c);b=DZ(a);if(d<b){return (-1);}else if(d>b){return 1;}else{return 0;}}
+function DZ(a){return a.jsdate.getTime();}
+function EZ(a){a.jsdate=new Date();}
+function FZ(b,a){b.jsdate=new Date(a);}
+function a0(a){return a.jsdate.toLocaleString();}
+function b0(h){var a=h.jsdate;var g=j0;var b=f0(h.jsdate.getDay());var e=i0(h.jsdate.getMonth());var f=-a.getTimezoneOffset();var c=String(f>=0?'+'+Math.floor(f/60):Math.ceil(f/60));var d=g(Math.abs(f)%60);return b+' '+e+' '+g(a.getDate())+' '+g(a.getHours())+':'+g(a.getMinutes())+':'+g(a.getSeconds())+' GMT'+c+d+' '+a.getFullYear();}
+function e0(a){return CZ(this,Fb(a,59));}
+function f0(a){BZ();return c0[a];}
+function g0(a){return ac(a,59)&&DZ(this)==DZ(Fb(a,59));}
+function h0(){return cc(DZ(this)^DZ(this)>>>32);}
+function i0(a){BZ();return d0[a];}
+function j0(a){BZ();if(a<10){return '0'+a;}else{return uV(a);}}
+function k0(){return b0(this);}
+function yZ(){}
+_=yZ.prototype=new fU();_.bb=e0;_.eQ=g0;_.hC=h0;_.tS=k0;_.tN=egc+'Date';_.tI=158;var c0,d0;function m1(){m1=d3;t1=z1();}
+function j1(a){{l1(a);}}
+function k1(a){m1();j1(a);return a;}
+function l1(a){a.a=gb();a.d=ib();a.b=hc(t1,cb);a.c=0;}
+function n1(b,a){if(ac(a,1)){return D1(b.d,Fb(a,1))!==t1;}else if(a===null){return b.b!==t1;}else{return C1(b.a,a,a.hC())!==t1;}}
+function o1(a,b){if(a.b!==t1&&B1(a.b,b)){return true;}else if(y1(a.d,b)){return true;}else if(w1(a.a,b)){return true;}return false;}
+function p1(a){return d1(new z0(),a);}
+function q1(c,a){var b;if(ac(a,1)){b=D1(c.d,Fb(a,1));}else if(a===null){b=c.b;}else{b=C1(c.a,a,a.hC());}return b===t1?null:b;}
+function r1(c,a,d){var b;if(ac(a,1)){b=a2(c.d,Fb(a,1),d);}else if(a===null){b=c.b;c.b=d;}else{b=F1(c.a,a,d,a.hC());}if(b===t1){++c.c;return null;}else{return b;}}
+function s1(c,a){var b;if(ac(a,1)){b=c2(c.d,Fb(a,1));}else if(a===null){b=c.b;c.b=hc(t1,cb);}else{b=b2(c.a,a,a.hC());}if(b===t1){return null;}else{--c.c;return b;}}
+function u1(e,c){m1();for(var d in e){if(d==parseInt(d)){var a=e[d];for(var f=0,b=a.length;f<b;++f){c.C(a[f]);}}}}
+function v1(d,a){m1();for(var c in d){if(c.charCodeAt(0)==58){var e=d[c];var b=s0(c.substring(1),e);a.C(b);}}}
+function w1(f,h){m1();for(var e in f){if(e==parseInt(e)){var a=f[e];for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.ec();if(B1(h,d)){return true;}}}}return false;}
+function x1(a){return n1(this,a);}
+function y1(c,d){m1();for(var b in c){if(b.charCodeAt(0)==58){var a=c[b];if(B1(d,a)){return true;}}}return false;}
+function z1(){m1();}
+function A1(){return p1(this);}
+function B1(a,b){m1();if(a===b){return true;}else if(a===null){return false;}else{return a.eQ(b);}}
+function E1(a){return q1(this,a);}
+function C1(f,h,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){return c.ec();}}}}
+function D1(b,a){m1();return b[':'+a];}
+function F1(f,h,j,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){var i=c.ec();c.we(j);return i;}}}else{a=f[e]=[];}var c=s0(h,j);a.push(c);}
+function a2(c,a,d){m1();a=':'+a;var b=c[a];c[a]=d;return b;}
+function b2(f,h,e){m1();var a=f[e];if(a){for(var g=0,b=a.length;g<b;++g){var c=a[g];var d=c.yb();if(B1(h,d)){if(a.length==1){delete f[e];}else{a.splice(g,1);}return c.ec();}}}}
+function c2(c,a){m1();a=':'+a;var b=c[a];delete c[a];return b;}
+function o0(){}
+_=o0.prototype=new DW();_.db=x1;_.ob=A1;_.ic=E1;_.tN=egc+'HashMap';_.tI=159;_.a=null;_.b=null;_.c=0;_.d=null;var t1;function q0(b,a,c){b.a=a;b.b=c;return b;}
+function s0(a,b){return q0(new p0(),a,b);}
+function t0(b){var a;if(ac(b,60)){a=Fb(b,60);if(B1(this.a,a.yb())&&B1(this.b,a.ec())){return true;}}return false;}
+function u0(){return this.a;}
+function v0(){return this.b;}
+function w0(){var a,b;a=0;b=0;if(this.a!==null){a=this.a.hC();}if(this.b!==null){b=this.b.hC();}return a^b;}
+function x0(a){var b;b=this.b;this.b=a;return b;}
+function y0(){return this.a+'='+this.b;}
+function p0(){}
+_=p0.prototype=new fU();_.eQ=t0;_.yb=u0;_.ec=v0;_.hC=w0;_.we=x0;_.tS=y0;_.tN=egc+'HashMap$EntryImpl';_.tI=160;_.a=null;_.b=null;function d1(b,a){b.a=a;return b;}
+function f1(a){return B0(new A0(),a.a);}
+function g1(c){var a,b,d;if(ac(c,60)){a=Fb(c,60);b=a.yb();if(n1(this.a,b)){d=q1(this.a,b);return B1(a.ec(),d);}}return false;}
+function h1(){return f1(this);}
+function i1(){return this.a.c;}
+function z0(){}
+_=z0.prototype=new gY();_.eb=g1;_.qc=h1;_.Ce=i1;_.tN=egc+'HashMap$EntrySet';_.tI=161;function B0(c,b){var a;c.c=b;a=nY(new lY());if(c.c.b!==(m1(),t1)){pY(a,q0(new p0(),null,c.c.b));}v1(c.c.d,a);u1(c.c.a,a);c.a=a.qc();return c;}
+function D0(a){return a.a.kc();}
+function E0(a){return a.b=Fb(a.a.sc(),60);}
+function F0(a){if(a.b===null){throw dT(new cT(),'Must call next() before remove().');}else{a.a.ce();s1(a.c,a.b.yb());a.b=null;}}
+function a1(){return D0(this);}
+function b1(){return E0(this);}
+function c1(){F0(this);}
+function A0(){}
+_=A0.prototype=new fU();_.kc=a1;_.sc=b1;_.ce=c1;_.tN=egc+'HashMap$EntrySetIterator';_.tI=162;_.a=null;_.b=null;function e2(a){a.a=k1(new o0());return a;}
+function f2(c,a){var b;b=r1(c.a,a,qS(true));return b===null;}
+function h2(a){return bX(EX(a.a));}
+function i2(a){return f2(this,a);}
+function j2(a){return n1(this.a,a);}
+function k2(){return h2(this);}
+function l2(){return this.a.c;}
+function m2(){return EX(this.a).tS();}
+function d2(){}
+_=d2.prototype=new gY();_.C=i2;_.eb=j2;_.qc=k2;_.Ce=l2;_.tS=m2;_.tN=egc+'HashSet';_.tI=163;_.a=null;function s2(b,a){lU(b,a);return b;}
+function r2(){}
+_=r2.prototype=new kU();_.tN=egc+'NoSuchElementException';_.tI=164;function x2(a){a.a=nY(new lY());return a;}
+function y2(b,a){return pY(b.a,a);}
+function A2(a){return a.a.qc();}
+function B2(a,b){oY(this.a,a,b);}
+function C2(a){return y2(this,a);}
+function D2(a){return tY(this.a,a);}
+function E2(a){return uY(this.a,a);}
+function F2(){return A2(this);}
+function a3(a){return yY(this.a,a);}
+function b3(){return this.a.b;}
+function c3(){return this.a.Ee();}
+function w2(){}
+_=w2.prototype=new nW();_.B=B2;_.C=C2;_.eb=D2;_.hc=E2;_.qc=F2;_.de=a3;_.Ce=b3;_.Ee=c3;_.tN=egc+'Vector';_.tI=165;_.a=null;function d5(){d5=d3;f5=k1(new o0());}
+function c5(a){d5();return a;}
+function e5(){}
+function t4(){}
+_=t4.prototype=new nr();_.md=e5;_.tN=fgc+'JBRMSFeature';_.tI=166;var f5;function k3(){k3=d3;d5();}
+function j3(a){k3();c5(a);a.a=DJ(new pJ());a.a.Be('100%');a.a.qe('100%');EJ(a.a,i9(new s8()),"<img src='images/category_small.gif'/>Manage categories",true);EJ(a.a,z9(new l9()),"<img src='images/status_small.gif'/>Manage states",true);EJ(a.a,A7(new w6()),"<img src='images/backup_small.gif'/>Manage Archived Assets",true);EJ(a.a,n8(new E7()),"<img src='images/backup_small.gif'/>Import Export",true);eK(a.a,0);pr(a,a.a);return a;}
+function l3(){k3();return g3(new f3(),'Admin','Administer the repository');}
+function m3(){}
+function e3(){}
+_=e3.prototype=new t4();_.md=m3;_.tN=fgc+'AdminFeature';_.tI=167;_.a=null;function v4(c,b,a){c.c=b;c.a=a;return c;}
+function x4(a){if(a.b!==null)return a.b;return a.b=a.hb();}
+function u4(){}
+_=u4.prototype=new fU();_.tN=fgc+'JBRMSFeature$ComponentInfo';_.tI=168;_.a=null;_.b=null;_.c=null;function g3(c,a,b){v4(c,a,b);return c;}
+function i3(){return j3(new e3());}
+function f3(){}
+_=f3.prototype=new u4();_.hb=i3;_.tN=fgc+'AdminFeature$1';_.tI=169;function t3(){t3=d3;d5();}
+function s3(a){t3();c5(a);pr(a,nKb(new vIb()));return a;}
+function u3(){t3();return p3(new o3(),'Deployment','Configure and view frozen snapshots of packages.');}
+function v3(){}
+function n3(){}
+_=n3.prototype=new t4();_.md=v3;_.tN=fgc+'DeploymentManagementFeature';_.tI=170;function p3(c,a,b){v4(c,a,b);return c;}
+function r3(){return s3(new n3());}
+function o3(){}
+_=o3.prototype=new u4();_.hb=r3;_.tN=fgc+'DeploymentManagementFeature$1';_.tI=171;function C3(){C3=d3;d5();}
+function B3(a){C3();c5(a);pr(a,D3(a));return a;}
+function D3(a){a.a=Ev(new Cv(),'welcome.html');FN(a.a,'welcome-Page');a.a.ye(true);return a.a;}
+function E3(){C3();return y3(new x3(),'Info','JBoss Rules Managment System.');}
+function F3(){}
+function w3(){}
+_=w3.prototype=new t4();_.md=F3;_.tN=fgc+'Info';_.tI=172;_.a=null;function y3(c,a,b){v4(c,a,b);return c;}
+function A3(){return B3(new w3());}
+function x3(){}
+_=x3.prototype=new u4();_.hb=A3;_.tN=fgc+'Info$1';_.tI=173;function k4(a){a.c=mz(new qw());a.d=D4(new B4());a.g=ys(new ps());}
+function l4(a){k4(a);return a;}
+function m4(a){BXb(lMb(),c4(new b4(),a));}
+function o4(b,c){var a;a=a5(b.d,c);if(a===null){q4(b);return;}r4(b,a,false);}
+function p4(b){var a,c;A4(b.d);b.h=ys(new ps());FN(b.h,'ks-Sink');c=sO(new qO());c.Be('100%');tO(c,b.c);tO(c,b.h);FN(b.c,'ks-Info');zs(b.g,b.d,(As(),et));zs(b.g,c,(As(),at));Es(b.g,b.d,(aA(),dA));Fs(b.g,c,'100%');Bg(b);b.e=p5(new g5());b.f=a6(new s5());mp(tG(),b.e);mp(tG(),b.g);mp(tG(),b.f);b.f.Be('100%');b.e.ye(false);b.g.ye(false);b.f.ye(false);m4(b);a=Dg();if(cV(a)>0)o4(b,a);else q4(b);}
+function r4(c,b,a){if(b===c.a)return;c.a=b;if(c.b!==null){Cs(c.h,c.b);}c.b=x4(b);b5(c.d,b.c);qz(c.c,b.a);if(a)ah(b.c);zs(c.h,c.b,(As(),at));Fs(c.h,c.b,'100%');Es(c.h,c.b,(aA(),dA));c.b.md();}
+function q4(a){r4(a,a5(a.d,'Info'),false);}
+function s4(a){o4(this,a);}
+function a4(){}
+_=a4.prototype=new fU();_.bd=s4;_.tN=fgc+'JBRMSEntryPoint';_.tI=174;_.a=null;_.b=null;_.e=null;_.f=null;_.h=null;function xcb(b,a){if(ac(a,69)){zcb();}else if(ac(a,70)){ybb(Fb(a,70));}else{xbb(a.zb());}}
+function ycb(a){xcb(this,a);}
+function zcb(){var a;a=rcb(new mcb(),'images/warning-large.png','Session expired');tcb(a,nz(new qw(),"<i>Your session expired due to inactivity.<\/i>&nbsp;&nbsp;&nbsp;Please <a href='/drools-jbrms/'>[Log in].<\/a>"));wE(a,40,40);zE(a);sdb();}
+function vcb(){}
+_=vcb.prototype=new fU();_.Dc=ycb;_.tN=igc+'GenericCallback';_.tI=175;function c4(b,a){b.a=a;return b;}
+function e4(a){var b;b=Fb(a,1);if(b!==null){r5(this.a.e,b);this.a.e.ye(true);this.a.g.ye(true);this.a.f.ye(false);}else{this.a.f.ye(true);e6(this.a.f,g4(new f4(),this));}}
+function b4(){}
+_=b4.prototype=new vcb();_.pd=e4;_.tN=fgc+'JBRMSEntryPoint$1';_.tI=176;function g4(b,a){b.a=a;return b;}
+function i4(a){r5(a.a.a.e,d6(a.a.a.f));a.a.a.e.ye(true);a.a.a.f.ye(false);a.a.a.g.ye(true);}
+function j4(){i4(this);}
+function f4(){}
+_=f4.prototype=new fU();_.pb=j4;_.tN=fgc+'JBRMSEntryPoint$2';_.tI=177;function A4(a){E4(a,E3());E4(a,v6());E4(a,m6());E4(a,u3());E4(a,l3());}
+function C4(a){a.a=sO(new qO());a.c=nY(new lY());}
+function D4(a){C4(a);pr(a,a.a);FN(a,'ks-List');return a;}
+function E4(d,a){var b,c;c=a.c;b=sA(new qA(),c,c);FN(b,'ks-SinkItem');tO(d.a,b);pY(d.c,a);}
+function a5(d,c){var a,b;for(a=0;a<d.c.b;++a){b=Fb(uY(d.c,a),61);if(EU(b.c,c))return b;}return null;}
+function b5(d,c){var a,b;if(d.b!=(-1))AN(gr(d.a,d.b),'ks-SinkItem-selected');for(a=0;a<d.c.b;++a){b=Fb(uY(d.c,a),61);if(EU(b.c,c)){d.b=a;uN(gr(d.a,d.b),'ks-SinkItem-selected');return;}}}
+function B4(){}
+_=B4.prototype=new nr();_.tN=fgc+'JBRMSFeatureList';_.tI=178;_.b=(-1);function p5(a){a.a=mz(new qw());pr(a,a.a);return a;}
+function r5(b,d){var a,c;a=qU(new pU());sU(a,"<div id='user_info'>");sU(a,'Welcome: &nbsp;'+d);sU(a,"&nbsp;&nbsp;&nbsp;<a href='logout.jsp'>[Sign Out]<\/a>");sU(a,'<\/div>');qz(b.a,wU(a));c=i5(new h5(),b);mh(c,300000);}
+function g5(){}
+_=g5.prototype=new nr();_.tN=fgc+'LoggedInUserInfo';_.tI=179;_.a=null;function j5(){j5=d3;kh();}
+function i5(b,a){j5();ih(b);return b;}
+function k5(){BXb(lMb(),new l5());}
+function h5(){}
+_=h5.prototype=new dh();_.fe=k5;_.tN=fgc+'LoggedInUserInfo$1';_.tI=180;function n5(a){}
+function o5(a){if(a===null){zcb();}}
+function l5(){}
+_=l5.prototype=new fU();_.Dc=n5;_.pd=o5;_.tN=fgc+'LoggedInUserInfo$2';_.tI=181;function a6(c){var a,b;c.a=ccb(new Fbb(),'images/login.gif','Please enter your details');c.c=eL(new vK());c.c.re(1);dcb(c.a,'User name:',c.c);b=iE(new hE());b.re(2);dcb(c.a,'Password:',b);a=zp(new tp(),'Login');a.re(3);dcb(c.a,'',a);a.x(u5(new t5(),c,b));pr(c,c.a);c.c.oe(true);FN(c,'login-Form');return c;}
+function c6(c,a,d,b){oMb(CK(d),CK(b),C5(new B5(),c,a));}
+function d6(a){return CK(a.c);}
+function e6(b,a){b.b=a;}
+function s5(){}
+_=s5.prototype=new nr();_.tN=fgc+'LoginWidget';_.tI=182;_.a=null;_.b=null;_.c=null;function u5(b,a,c){b.a=a;b.b=c;return b;}
+function w5(a){wdb('Logging in...');fg(y5(new x5(),this,this.b));}
+function t5(){}
+_=t5.prototype=new fU();_.zc=w5;_.tN=fgc+'LoginWidget$1';_.tI=183;function y5(b,a,c){b.a=a;b.b=c;return b;}
+function A5(){c6(this.a.a,this.a.a.b,this.a.a.c,this.b);}
+function x5(){}
+_=x5.prototype=new fU();_.pb=A5;_.tN=fgc+'LoginWidget$2';_.tI=184;function C5(b,a,c){b.a=c;return b;}
+function E5(c,a){var b;sdb();b=Fb(a,55);if(!b.a){zh('Incorrect username or password.');}else{i4(c.a);}}
+function F5(a){E5(this,a);}
+function B5(){}
+_=B5.prototype=new vcb();_.pd=F5;_.tN=fgc+'LoginWidget$3';_.tI=185;function l6(){l6=d3;d5();}
+function k6(b){var a;l6();c5(b);a=rIb(new kIb());uIb(a,f5);pr(b,a);return b;}
+function m6(){l6();return h6(new g6(),'Packages','Configure and view packages of business rule assets.');}
+function n6(){}
+function f6(){}
+_=f6.prototype=new t4();_.md=n6;_.tN=fgc+'PackageManagementFeature';_.tI=186;function h6(c,a,b){v4(c,a,b);return c;}
+function j6(){return k6(new f6());}
+function g6(){}
+_=g6.prototype=new u4();_.hb=j6;_.tN=fgc+'PackageManagementFeature$1';_.tI=187;function u6(){u6=d3;d5();}
+function t6(b){var a;u6();c5(b);a=gcc(new cbc());kcc(a,f5);pr(b,a);return b;}
+function v6(){u6();return q6(new p6(),'Rules','Find and edit rules.');}
+function o6(){}
+_=o6.prototype=new t4();_.tN=fgc+'RulesFeature';_.tI=188;function q6(c,a,b){v4(c,a,b);return c;}
+function s6(){return t6(new o6());}
+function p6(){}
+_=p6.prototype=new u4();_.hb=s6;_.tN=fgc+'RulesFeature$1';_.tI=189;function A7(a){var b;b=ccb(new Fbb(),'images/backup_large.png','Manage Archived Assets');a.a=iA(new gA());a.a.Be('100%');gcb(b,a.a);a.b=jdc(new ncc(),new x6(),'archivedrulelist');pdc(a.b,D7(a));jA(a.a,a.b);y7(D7(a));gcb(b,nz(new qw(),'<hr/>'));gcb(b,C7(a));pr(a,b);return a;}
+function C7(d){var a,b,c,e;b=iA(new gA());c=zp(new tp(),'Refresh');c.x(B6(new A6(),d));e=zp(new tp(),'Unarchive');e.x(F6(new E6(),d));a=zp(new tp(),'Delete');a.x(i7(new h7(),d));jA(b,c);jA(b,e);jA(b,a);return b;}
+function D7(b){var a;a=r7(new q7(),b);return w7(new v7(),b,a);}
+function w6(){}
+_=w6.prototype=new nr();_.tN=ggc+'ArchivedAssetManager';_.tI=190;_.a=null;_.b=null;function z6(a){var b,c;b=rcb(new mcb(),'images/snapshot.png','Archived item');c=DJ(new pJ());tcb(b,c);c5b(k1(new o0()),c,a,true);wE(b,20,20);zE(b);}
+function x6(){}
+_=x6.prototype=new fU();_.wd=z6;_.tN=ggc+'ArchivedAssetManager$1';_.tI=191;function B6(b,a){b.a=a;return b;}
+function D6(a){y7(D7(this.a));}
+function A6(){}
+_=A6.prototype=new fU();_.zc=D6;_.tN=ggc+'ArchivedAssetManager$2';_.tI=192;function F6(b,a){b.a=a;return b;}
+function b7(a){pTb(mMb(),ldc(this.a.b),false,d7(new c7(),this));}
+function E6(){}
+_=E6.prototype=new fU();_.zc=b7;_.tN=ggc+'ArchivedAssetManager$3';_.tI=193;function d7(b,a){b.a=a;return b;}
+function f7(b,a){y7(D7(b.a.a));zh('Done!');}
+function g7(a){f7(this,a);}
+function c7(){}
+_=c7.prototype=new vcb();_.pd=g7;_.tN=ggc+'ArchivedAssetManager$4';_.tI=194;function i7(b,a){b.a=a;return b;}
+function k7(a){pUb(mMb(),ldc(this.a.b),m7(new l7(),this));}
+function h7(){}
+_=h7.prototype=new fU();_.zc=k7;_.tN=ggc+'ArchivedAssetManager$5';_.tI=195;function m7(b,a){b.a=a;return b;}
+function o7(b,a){y7(D7(b.a.a));zh('Done!');}
+function p7(a){o7(this,a);}
+function l7(){}
+_=l7.prototype=new vcb();_.pd=p7;_.tN=ggc+'ArchivedAssetManager$6';_.tI=196;function r7(b,a){b.a=a;return b;}
+function t7(c,a){var b;b=Fb(a,62);odc(c.a.b,b);c.a.b.Be('100%');sdb();}
+function u7(a){t7(this,a);}
+function q7(){}
+_=q7.prototype=new vcb();_.pd=u7;_.tN=ggc+'ArchivedAssetManager$7';_.tI=197;function w7(b,a,c){b.a=c;return b;}
+function y7(a){wdb('Loading list, please wait...');fUb(mMb(),a.a);}
+function z7(){y7(this);}
+function v7(){}
+_=v7.prototype=new fU();_.pb=z7;_.tN=ggc+'ArchivedAssetManager$8';_.tI=198;function n8(a){var b;b=ccb(new Fbb(),'images/backup_large.png','Import/Export');dcb(b,'',nz(new qw(),'<i>Import and Export rules repository<\/i>'));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Import from an xml file',r8(a));dcb(b,'Export to a zip file',q8(a));gcb(b,nz(new qw(),'<hr/>'));pr(a,b);return a;}
+function p8(a){wdb('Exporting repository, please wait, as this could take some time...');hi(v()+'backup?'+'exportWholeRepository'+'=true','downloading','resizable=no,scrollbars=yes,status=no');sdb();}
+function q8(c){var a,b;b=iA(new gA());a=zp(new tp(),'Export');a.x(a8(new F7(),c));jA(b,a);return b;}
+function r8(c){var a,b,d,e;e=fv(new av());lv(e,v()+'backup');mv(e,'multipart/form-data');nv(e,'post');b=iA(new gA());e.Ae(b);d=jt(new it());mt(d,'importFile');jA(b,d);jA(b,fC(new dC(),'import:'));a=Ccb(new Bcb(),'images/upload.gif');oB(a,e8(new d8(),c,e));jA(b,a);gv(e,j8(new i8(),c,d));return e;}
+function E7(){}
+_=E7.prototype=new nr();_.tN=ggc+'BackupManager';_.tI=199;function a8(b,a){b.a=a;return b;}
+function c8(a){p8(this.a);}
+function F7(){}
+_=F7.prototype=new fU();_.zc=c8;_.tN=ggc+'BackupManager$1';_.tI=200;function e8(b,a,c){b.a=c;return b;}
+function g8(a,b){if(Bh('Are you sure you want to import? this will erase any content in the repository currently?')){wdb('Importing repository, please wait, as this could take some time...');pv(b);}}
+function h8(a){g8(this,this.a);}
+function d8(){}
+_=d8.prototype=new fU();_.zc=h8;_.tN=ggc+'BackupManager$2';_.tI=201;function j8(b,a,c){b.a=c;return b;}
+function m8(a){if(cV(lt(this.a))==0){zh('You did not specify an exported repository filename !');Bv(a,true);}else if(!CU(lt(this.a),'.xml')){zh('Please specify a valid repository xml file.');Bv(a,true);}}
+function l8(a){if(aV(a.a,'OK')>(-1)){zh('Rules repository imported successfully. Please refresh your browser (F5) to show the new content. ');}else{xbb('Unable to import into the repository. Consult the server logs for error messages.');}sdb();}
+function i8(){}
+_=i8.prototype=new fU();_.od=m8;_.nd=l8;_.tN=ggc+'BackupManager$3';_.tI=202;function h9(a){sO(new qO());}
+function i9(f){var a,b,c,d,e;h9(f);c=ccb(new Fbb(),'images/edit_category.gif','Edit categories');dcb(c,'',nz(new qw(),'<i>Categories aid in managing large numbers of rules/assets. A shallow hierarchy is recommented.<\/i>'));f.a=d_(new s$(),new t8());FN(f.a,'category-explorer-Admin');b=fH(new DG());FN(b,'metadata-Widget');hH(b,f.a);gcb(c,nz(new qw(),'<hr/>'));dcb(c,'Current categories:',b);e=Ccb(new Bcb(),'images/refresh.gif');e.te('Refresh categories');oB(e,x8(new w8(),f));dcb(c,'Refresh view:',e);gcb(c,nz(new qw(),'<hr/>'));d=Ccb(new Bcb(),'images/new.gif');d.te('Create a new category');oB(d,B8(new A8(),f));dcb(c,'Create a new category:',d);a=Ccb(new Bcb(),'images/delete_obj.gif');oB(a,F8(new E8(),f));a.te("Deletes the currently selected category. You won't be able to delete if the category is in use.");dcb(c,'Delete the currently selected category:',a);pr(f,c);return f;}
+function k9(a){if(Bh('Are you sure you want to delete category: '+a.a.e)){qUb(mMb(),a.a.e,d9(new c9(),a));}}
+function s8(){}
+_=s8.prototype=new nr();_.tN=ggc+'CategoryManager';_.tI=203;_.a=null;function v8(a){}
+function t8(){}
+_=t8.prototype=new fU();_.he=v8;_.tN=ggc+'CategoryManager$1';_.tI=204;function x8(b,a){b.a=a;return b;}
+function z8(a){j_(this.a.a);}
+function w8(){}
+_=w8.prototype=new fU();_.zc=z8;_.tN=ggc+'CategoryManager$2';_.tI=205;function B8(b,a){b.a=a;return b;}
+function D8(b){var a;a=n$(new E9(),this.a.a.e);wE(a,wN(b),xN(b)-400);zE(a);}
+function A8(){}
+_=A8.prototype=new fU();_.zc=D8;_.tN=ggc+'CategoryManager$3';_.tI=206;function F8(b,a){b.a=a;return b;}
+function b9(a){k9(this.a);}
+function E8(){}
+_=E8.prototype=new fU();_.zc=b9;_.tN=ggc+'CategoryManager$4';_.tI=207;function d9(b,a){b.a=a;return b;}
+function f9(b,a){j_(b.a.a);}
+function g9(a){f9(this,a);}
+function c9(){}
+_=c9.prototype=new vcb();_.pd=g9;_.tN=ggc+'CategoryManager$5';_.tI=208;function z9(b){var a;a=ccb(new Fbb(),'images/status_large.png','Manage statuses');dcb(a,'',nz(new qw(),'<i>Status tags are for the lifecycle of an asset.<\/i>'));b.a=xC(new nC());hD(b.a,7);b.a.Be('50%');D9(b);dcb(a,'Current statuses:',b.a);dcb(a,'Add new status:',C9(b));pr(b,a);return b;}
+function B9(b,a){wdb('Creating status');FTb(mMb(),CK(a),v9(new u9(),b,a));}
+function C9(d){var a,b,c;c=iA(new gA());a=eL(new vK());b=zp(new tp(),'Create');b.x(r9(new q9(),d,a));jA(c,a);jA(c,b);return c;}
+function D9(a){wdb('Loading statuses...');eUb(mMb(),n9(new m9(),a));}
+function l9(){}
+_=l9.prototype=new nr();_.tN=ggc+'StateManager';_.tI=209;_.a=null;function n9(b,a){b.a=a;return b;}
+function p9(a){var b,c;DC(this.a.a);c=Fb(a,63);for(b=0;b<c.a;b++){AC(this.a.a,c[b]);}sdb();}
+function m9(){}
+_=m9.prototype=new vcb();_.pd=p9;_.tN=ggc+'StateManager$1';_.tI=210;function r9(b,a,c){b.a=a;b.b=c;return b;}
+function t9(a){B9(this.a,this.b);}
+function q9(){}
+_=q9.prototype=new fU();_.zc=t9;_.tN=ggc+'StateManager$2';_.tI=211;function v9(b,a,c){b.a=a;b.b=c;return b;}
+function x9(b,a){aL(b.b,'');D9(b.a);sdb();}
+function y9(a){x9(this,a);}
+function u9(){}
+_=u9.prototype=new vcb();_.pd=y9;_.tN=ggc+'StateManager$3';_.tI=212;function p$(){p$=d3;pE();}
+function m$(a){a.d=ut(new ot());a.b=eL(new vK());a.a=pK(new oK());}
+function n$(d,b){var a,c;p$();mE(d,true);m$(d);d.c=b;d.d.ze(0,0,Ccb(new Bcb(),'images/edit_category.gif'));d.d.ze(0,1,fC(new dC(),q$(d,d.c)));d.d.ze(1,0,fC(new dC(),'Cateogory name'));d.d.ze(1,1,d.b);uK(d.a,4);d.d.ze(2,0,fC(new dC(),'Description'));d.d.ze(2,1,d.a);c=zp(new tp(),'OK');c.x(a$(new F9(),d));d.d.ze(3,0,c);a=zp(new tp(),'Cancel');a.x(e$(new d$(),d));d.d.ze(3,1,a);hH(d,d.d);FN(d,'ks-popups-Popup');return d;}
+function o$(a){a.lc();}
+function q$(b,a){if(a===null){return 'Create a new top level category.';}else{return 'Create new category under: ['+a+']';}}
+function r$(b){var a;a=i$(new h$(),b);if(EU('',CK(b.b))){xbb("Can't have an empty category name.");}else{BTb(mMb(),b.c,CK(b.b),CK(b.a),a);}}
+function E9(){}
+_=E9.prototype=new kE();_.tN=hgc+'CategoryEditor';_.tI=213;_.c=null;function a$(b,a){b.a=a;return b;}
+function c$(a){r$(this.a);}
+function F9(){}
+_=F9.prototype=new fU();_.zc=c$;_.tN=hgc+'CategoryEditor$1';_.tI=214;function e$(b,a){b.a=a;return b;}
+function g$(a){o$(this.a);}
+function d$(){}
+_=d$.prototype=new fU();_.zc=g$;_.tN=hgc+'CategoryEditor$2';_.tI=215;function i$(b,a){b.a=a;return b;}
+function k$(b,a){if(Fb(a,55).a){b.a.lc();}else{xbb('Category was not successfully created. ');}}
+function l$(a){k$(this,a);}
+function h$(){}
+_=h$.prototype=new vcb();_.pd=l$;_.tN=hgc+'CategoryEditor$3';_.tI=216;function c_(a){a.c=uM(new hL());a.d=sO(new qO());a.f=mMb();}
+function d_(b,a){c_(b);tO(b.d,b.c);b.a=a;i_(b);pr(b,b.d);yM(b.c,b);FN(b,'category-explorer-Tree');return b;}
+function f_(d,b){var a,c;a=Fb(b.k,1);c=b.g;while(c!==null){a=Fb(c.k,1)+'/'+a;c=c.g;}return a;}
+function g_(b,a){if(a.c.b==1&&ac(DL(a,0),64)){return false;}return true;}
+function h_(a){if(a.b!==null){a.b.ye(false);}}
+function i_(a){xM(a.c,'Please wait...');hUb(a.f,'/',y$(new x$(),a));}
+function j_(a){hN(a.c);a.e=null;i_(a);}
+function k_(c){var a,b;if(c.b===null){b=lp(new kp());mp(b,nz(new qw(),'No categories created yet. Add some categories from the administration screen.'));a=zp(new tp(),'Refresh');a.x(u$(new t$(),c));mp(b,a);FN(b,'small-Text');c.b=b;tO(c.d,c.b);}c.b.ye(true);}
+function l_(a){this.e=f_(this,a);this.a.he(this.e);}
+function m_(a){var b;if(g_(this,a)){return;}b=a;this.e=f_(this,a);hUb(this.f,this.e,C$(new B$(),this,b));}
+function s$(){}
+_=s$.prototype=new nr();_.rd=l_;_.sd=m_;_.tN=hgc+'CategoryExplorerWidget';_.tI=217;_.a=null;_.b=null;_.e=null;function u$(b,a){b.a=a;return b;}
+function w$(a){j_(this.a);}
+function t$(){}
+_=t$.prototype=new fU();_.zc=w$;_.tN=hgc+'CategoryExplorerWidget$1';_.tI=218;function y$(b,a){b.a=a;return b;}
+function A$(d){var a,b,c;this.a.e=null;hN(this.a.c);a=Fb(d,63);if(a.a==0){k_(this.a);}else{h_(this.a);}for(b=0;b<a.a;b++){c=zL(new xL());bM(c,'<img src="images/category_small.gif"/>'+a[b]);hM(c,a[b]);c.y(a_(new F$()));wM(this.a.c,c);}}
+function x$(){}
+_=x$.prototype=new vcb();_.pd=A$;_.tN=hgc+'CategoryExplorerWidget$2';_.tI=219;function C$(b,a,c){b.a=c;return b;}
+function E$(e){var a,b,c,d;a=DL(this.a,0);if(ac(a,64)){this.a.ae(a);}d=Fb(e,63);for(b=0;b<d.a;b++){c=zL(new xL());bM(c,'<img src="images/category_small.gif"/>'+d[b]);hM(c,d[b]);c.y(a_(new F$()));this.a.y(c);}}
+function B$(){}
+_=B$.prototype=new vcb();_.pd=E$;_.tN=hgc+'CategoryExplorerWidget$3';_.tI=220;function a_(a){AL(a,'Please wait...');return a;}
+function F$(){}
+_=F$.prototype=new xL();_.tN=hgc+'CategoryExplorerWidget$PendingItem';_.tI=221;function p_(){p_=d3;q_=zb('[Ljava.lang.String;',608,1,['brl','dslr','xls']);s_=zb('[Ljava.lang.String;',608,1,['drl','rf','enumeration']);r_=zb('[Ljava.lang.String;',608,1,['function','dsl','jar','enumeration']);}
+function t_(a){p_();var b;for(b=0;b<r_.a;b++){if(EU(r_[b],a)){return true;}}return false;}
+var q_,r_,s_;function F_(){F_=d3;fL();}
+function D_(a){a.b=mE(new kE(),true);a.a=w_(new v_(),a);}
+function E_(b,a){F_();eL(b);D_(b);zK(b,b);aO(b.a,1);FN(b,'AutoCompleteTextBox');hH(b.b,b.a);uN(b.b,'AutoCompleteChoices');FN(b.a,'list');b.c=a;return b;}
+function aab(a){if(a.e&&FC(a.a)>0){aL(a,aD(a.a,bD(a.a)));}DC(a.a);a.b.lc();a.e=false;}
+function bab(e,a,b,c){var d;d=bD(e.a);d++;if(d>=FC(e.a)){d=0;}gD(e.a,d);}
+function cab(d,a,b,c){aab(d);}
+function dab(d,a,b,c){DC(d.a);d.b.lc();d.e=false;}
+function eab(b,a){if(0==cV(a)||0==FC(b.a)||1==FC(b.a)&&EU(aD(b.a,0),a)){DC(b.a);b.b.lc();b.e=false;}else{gD(b.a,0);hD(b.a,FC(b.a)+1);if(!b.d){mp(tG(),b.b);b.d=true;}zE(b.b);b.e=true;wE(b.b,wN(b),xN(b)+b.Cb());b.a.Be(b.Db()+'px');}}
+function fab(d,a,b,c){iab(d,CK(d));if(cV(CK(d))>0&&d.c!==null){wdc(d.c,CK(d),A_(new z_(),d));}}
+function gab(d,a,b,c){aab(d);}
+function hab(e,a,b,c){var d;d=bD(e.a);d--;if(d<0){d=FC(e.a)-1;}gD(e.a,d);}
+function iab(c,b){var a;a=0;while(a<FC(c.a)){if(gV(kV(aD(c.a,a)),kV(b))){++a;}else{fD(c.a,a);}}eab(c,b);}
+function jab(d,b,c){var a;DC(d.a);for(a=0;a<b.a;a++){AC(d.a,b[a]);}iab(d,c);}
+function kab(a,b,c){if(b==13){cab(this,a,b,c);}else if(b==9){gab(this,a,b,c);}else if(b==40){bab(this,a,b,c);}else if(b==38){hab(this,a,b,c);}else if(b==27){dab(this,a,b,c);}}
+function lab(a,b,c){}
+function mab(a,b,c){switch(b){case 18:case 17:case 40:case 35:case 13:case 27:case 36:case 37:case 34:case 33:case 39:case 16:case 9:case 38:break;default:fab(this,a,b,c);break;}}
+function u_(){}
+_=u_.prototype=new vK();_.cd=kab;_.dd=lab;_.ed=mab;_.tN=igc+'AutoCompleteTextBoxAsync';_.tI=222;_.c=null;_.d=false;_.e=false;function x_(){x_=d3;EC();}
+function w_(b,a){x_();b.a=a;xC(b);return b;}
+function y_(a){if(1==xe(a)){aab(this.a);}}
+function v_(){}
+_=v_.prototype=new nC();_.wc=y_;_.tN=igc+'AutoCompleteTextBoxAsync$1';_.tI=223;function A_(b,a){b.a=a;return b;}
+function C_(b,a){jab(b.a,a,CK(b.a));}
+function z_(){}
+_=z_.prototype=new fU();_.tN=igc+'AutoCompleteTextBoxAsync$2';_.tI=224;function rab(a){a.j=true;}
+function sab(a){a.j=false;}
+function tab(){var b;if($wnd.innerHeight&&$wnd.scrollMaxY){b=$doc.body.scrollWidth;}else if($doc.body.scrollHeight>$doc.body.offsetHeight){b=$doc.body.scrollWidth;}else{b=$doc.body.offsetWidth;}var a;if(self.innerHeight){windowWidth=self.innerWidth;}else if($doc.documentElement&&$doc.documentElement.clientHeight){windowWidth=$doc.documentElement.clientWidth;}else if($doc.body){windowWidth=$doc.body.clientWidth;}if(b<windowWidth){pageWidth=windowWidth;}else{pageWidth=b;}return pageWidth;}
+function uab(){return this.j;}
+function pab(){}
+_=pab.prototype=new nr();_.pc=uab;_.tN=igc+'DirtyableComposite';_.tI=225;_.j=false;function xab(a){a.b=nY(new lY());}
+function yab(a){ut(a);xab(a);return a;}
+function Aab(d){var a,b,c;for(c=d.b.qc();c.kc();){a=Fb(c.sc(),65);b=ty(d,a.b,a.a);if(ac(b,66))if(Fb(b,66).pc())return true;if(ac(b,67))if(Fb(b,67).jc())return true;}return false;}
+function Bab(d,c,b,a){cz(d,c,b,a);if(ac(a,68)){oY(d.b,d.a++,ydb(new xdb(),c,b));}}
+function Cab(){return Aab(this);}
+function Dab(c,b,a){Bab(this,c,b,a);}
+function wab(){}
+_=wab.prototype=new ot();_.jc=Cab;_.ze=Dab;_.tN=igc+'DirtyableFlexTable';_.tI=226;_.a=0;function Fab(a){iA(a);return a;}
+function bbb(c){var a,b,d;d=c.f.c;for(b=0;b<d;b++){a=gr(c,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
+function cbb(){return bbb(this);}
+function Eab(){}
+_=Eab.prototype=new gA();_.jc=cbb;_.tN=igc+'DirtyableHorizontalPane';_.tI=227;function ebb(a){sO(a);return a;}
+function gbb(){var a,b,c;c=this.f.c;for(b=0;b<c;b++){a=gr(this,b);if(ac(a,66))if(Fb(a,66).pc())return true;if(ac(a,67))if(Fb(a,67).jc())return true;}return false;}
+function dbb(){}
+_=dbb.prototype=new qO();_.jc=gbb;_.tN=igc+'DirtyableVerticalPane';_.tI=228;function ubb(){ubb=d3;cs();}
+function rbb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=Ccb(new Bcb(),'images/close.gif');}
+function sbb(d,b,a){var c,e;ubb();as(d,true);rbb(d);kC(d.a,b);jA(d.c,nB(new xA(),'images/error_dialog.png'));e=sO(new qO());tO(e,d.a);jA(d.c,e);if(a!==null){tbb(d,e,a);}jA(d.c,d.b);c=d;oB(d.b,kbb(new jbb(),d,c));fs(d,d.c);wE(d,40,40);FN(d,'rule-error-Popup');return d;}
+function tbb(e,c,b){var a,d,f;f=sO(new qO());tO(c,f);d=zp(new tp(),'Details');tO(f,d);a=fC(new dC(),b);a.ye(false);tO(f,a);d.x(obb(new nbb(),e,a,d));}
+function vbb(a){kC(a.a,'');sE(a);}
+function wbb(){vbb(this);}
+function xbb(a){ubb();var b;b=sbb(new ibb(),a,null);sdb();zE(b);}
+function ybb(a){ubb();var b;b=sbb(new ibb(),a.b,a.a);sdb();zE(b);}
+function ibb(){}
+_=ibb.prototype=new Dr();_.lc=wbb;_.tN=igc+'ErrorPopup';_.tI=229;function kbb(b,a,c){b.a=c;return b;}
+function mbb(a){vbb(this.a);}
+function jbb(){}
+_=jbb.prototype=new fU();_.zc=mbb;_.tN=igc+'ErrorPopup$1';_.tI=230;function obb(b,a,c,d){b.a=c;b.b=d;return b;}
+function qbb(a){this.a.ye(true);this.b.ye(false);}
+function nbb(){}
+_=nbb.prototype=new fU();_.zc=qbb;_.tN=igc+'ErrorPopup$2';_.tI=231;function Abb(b,a){b.a=a;return b;}
+function Cbb(a,b,c){}
+function Dbb(a,b,c){}
+function Ebb(a,b,c){this.a.pb();}
+function zbb(){}
+_=zbb.prototype=new fU();_.cd=Cbb;_.dd=Dbb;_.ed=Ebb;_.tN=igc+'FieldEditListener';_.tI=232;_.a=null;function acb(a){a.h=yab(new wab());a.g=xt(a.h);}
+function ccb(b,a,c){acb(b);ecb(b,a,c);pr(b,b.h);return b;}
+function bcb(a){acb(a);pr(a,a.h);return a;}
+function dcb(d,c,a){var b;b=nz(new qw(),'<b>'+c+'<\/b>');Bab(d.h,d.i,0,b);ex(d.g,d.i,0,(xz(),Az),(aA(),dA));Bab(d.h,d.i,1,a);ex(d.g,d.i,1,(xz(),zz),(aA(),dA));d.i++;}
+function ecb(c,a,d){var b;b=fC(new dC(),d);FN(b,'resource-name-Label');jcb(c,a,b);}
+function fcb(d,b,e,f){var a,c;c=fC(new dC(),e);FN(c,'resource-name-Label');a=iA(new gA());jA(a,c);jA(a,f);jcb(d,b,a);}
+function gcb(a,b){Bab(a.h,a.i,0,b);st(a.g,a.i,0,2);a.i++;}
+function hcb(a){a.i=0;ky(a.h);}
+function jcb(b,a,c){Bab(b.h,0,0,nB(new xA(),a));ex(b.g,0,0,(xz(),zz),(aA(),dA));Bab(b.h,0,1,c);b.i++;}
+function kcb(c,b,a,d){Bab(c.h,b,a,d);}
+function lcb(){return Aab(this.h);}
+function Fbb(){}
+_=Fbb.prototype=new pab();_.pc=lcb;_.tN=igc+'FormStyleLayout';_.tI=233;_.i=0;function ucb(){ucb=d3;pE();}
+function rcb(c,b,d){var a;ucb();mE(c,true);c.i=ccb(new Fbb(),b,d);FN(c,'ks-popups-Popup');a=Ccb(new Bcb(),'images/close.gif');oB(a,ocb(new ncb(),c));kcb(c.i,0,2,a);hH(c,c.i);return c;}
+function scb(b,a,c){dcb(b.i,a,c);}
+function tcb(a,b){gcb(a.i,b);}
+function mcb(){}
+_=mcb.prototype=new kE();_.tN=igc+'FormStylePopup';_.tI=234;_.i=null;function ocb(b,a){b.a=a;return b;}
+function qcb(a){this.a.lc();}
+function ncb(){}
+_=ncb.prototype=new fU();_.zc=qcb;_.tN=igc+'FormStylePopup$1';_.tI=235;function Ecb(){Ecb=d3;qB();}
+function Ccb(b,a){Ecb();nB(b,a);FN(b,'image-Button');return b;}
+function Dcb(b,a,c){Ecb();nB(b,a);FN(b,'image-Button');b.te(c);return b;}
+function Bcb(){}
+_=Bcb.prototype=new xA();_.tN=igc+'ImageButton';_.tI=236;function edb(c,d,b){var a;a=nB(new xA(),'images/information.gif');a.te(b);oB(a,bdb(new adb(),c,d,b));pr(c,a);return c;}
+function Fcb(){}
+_=Fcb.prototype=new nr();_.tN=igc+'InfoPopup';_.tI=237;function bdb(b,a,d,c){b.b=d;b.a=c;return b;}
+function ddb(b){var a;a=rcb(new mcb(),'images/information.gif',this.b);tcb(a,hdb(new gdb(),this.a,'small-Text'));wE(a,wN(b),xN(b));zE(a);}
+function adb(){}
+_=adb.prototype=new fU();_.zc=ddb;_.tN=igc+'InfoPopup$1';_.tI=238;function hdb(c,a,b){fC(c,a);FN(c,b);return c;}
+function gdb(){}
+_=gdb.prototype=new dC();_.tN=igc+'Lbl';_.tI=239;function qdb(){qdb=d3;pE();}
+function odb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=nB(new xA(),'images/close.gif');}
+function pdb(a){qdb();mE(a,true);odb(a);jA(a.c,a.a);jA(a.c,a.b);jA(a.c,nB(new xA(),'images/searching.gif'));oB(a.b,ldb(new kdb(),a));hH(a,a.c);wE(a,0,0);FN(a,'loading-Popup');return a;}
+function rdb(a){kC(a.a,'');sE(a);}
+function sdb(){qdb();rdb(tdb());}
+function tdb(){qdb();if(vdb===null){vdb=pdb(new jdb());}return vdb;}
+function udb(){rdb(this);}
+function wdb(a){qdb();var b;b=tdb();kC(b.a,a);zE(b);}
+function jdb(){}
+_=jdb.prototype=new kE();_.lc=udb;_.tN=igc+'LoadingPopup';_.tI=240;var vdb=null;function ldb(b,a){b.a=a;return b;}
+function ndb(a){rdb(this.a);}
+function kdb(){}
+_=kdb.prototype=new fU();_.zc=ndb;_.tN=igc+'LoadingPopup$1';_.tI=241;function ydb(c,b,a){c.b=b;c.a=a;return c;}
+function xdb(){}
+_=xdb.prototype=new fU();_.tN=igc+'Pair';_.tI=242;_.a=0;_.b=0;function Fdb(a){a.b=xC(new nC());cUb(mMb(),Cdb(new Bdb(),a));pr(a,a.b);return a;}
+function beb(a){return aD(a.b,bD(a.b));}
+function ceb(b,a){b.a=a;}
+function Adb(){}
+_=Adb.prototype=new nr();_.tN=igc+'RulePackageSelector';_.tI=243;_.a=null;_.b=null;function Cdb(b,a){b.a=a;return b;}
+function Edb(c){var a,b;b=Fb(c,71);for(a=0;a<b.a;a++){AC(this.a.b,b[a].j);if(this.a.a!==null&&EU(b[a].j,this.a.a)){gD(this.a.b,a);}}}
+function Bdb(){}
+_=Bdb.prototype=new vcb();_.pd=Edb;_.tN=igc+'RulePackageSelector$1';_.tI=244;function Beb(){Beb=d3;cs();}
+function zeb(f,g,d){var a,b,c,e;Beb();as(f,true);f.d=g;f.b=d;FN(f,'ks-popups-Popup');ds(f,"<img src='images/status_small.gif'/><b>Change status<\/b>");c=iA(new gA());a=xC(new nC());wdb('Please wait...');eUb(mMb(),feb(new eeb(),f,a));zC(a,jeb(new ieb(),f,a));jA(c,a);e=zp(new tp(),'Change status');e.x(neb(new meb(),f,a));jA(c,e);b=zp(new tp(),'Cancel');b.x(reb(new qeb(),f));jA(c,b);fs(f,c);return f;}
+function Aeb(b,a){wdb('Updating status...');vTb(mMb(),b.d,b.c,b.b,veb(new ueb(),b));}
+function Ceb(b,a){b.a=a;}
+function deb(){}
+_=deb.prototype=new Dr();_.tN=igc+'StatusChangePopup';_.tI=245;_.a=null;_.b=false;_.c=null;_.d=null;function feb(b,a,c){b.a=c;return b;}
+function heb(a){var b,c;c=Fb(a,63);AC(this.a,'-- Choose one --');for(b=0;b<c.a;b++){AC(this.a,c[b]);}sdb();}
+function eeb(){}
+_=eeb.prototype=new vcb();_.pd=heb;_.tN=igc+'StatusChangePopup$1';_.tI=246;function jeb(b,a,c){b.a=a;b.b=c;return b;}
+function leb(a){this.a.c=aD(this.b,bD(this.b));}
+function ieb(){}
+_=ieb.prototype=new fU();_.yc=leb;_.tN=igc+'StatusChangePopup$2';_.tI=247;function neb(b,a,c){b.a=a;b.b=c;return b;}
+function peb(b){var a;a=aD(this.b,bD(this.b));Aeb(this.a,a);this.a.lc();}
+function meb(){}
+_=meb.prototype=new fU();_.zc=peb;_.tN=igc+'StatusChangePopup$3';_.tI=248;function reb(b,a){b.a=a;return b;}
+function teb(a){this.a.lc();}
+function qeb(){}
+_=qeb.prototype=new fU();_.zc=teb;_.tN=igc+'StatusChangePopup$4';_.tI=249;function veb(b,a){b.a=a;return b;}
+function xeb(b,a){b.a.a.pb();sdb();}
+function yeb(a){xeb(this,a);}
+function ueb(){}
+_=ueb.prototype=new vcb();_.pd=yeb;_.tN=igc+'StatusChangePopup$5';_.tI=250;function Feb(){Feb=d3;ucb();}
+function Eeb(c,b,a){Feb();rcb(c,'images/attention_needed.png',b);scb(c,'Detail:',afb(c,a));return c;}
+function afb(c,b){var a;a=pK(new oK());FN(a,'editable-Surface');uK(a,12);aL(a,b);a.Be('100%');return a;}
+function Deb(){}
+_=Deb.prototype=new mcb();_.tN=igc+'ValidationMessageWidget';_.tI=251;function ifb(){ifb=d3;pE();}
+function gfb(a){a.a=eC(new dC());a.c=iA(new gA());a.b=zp(new tp(),'OK');}
+function hfb(b,c,d){var a;ifb();mE(b,true);gfb(b);wE(b,c,d);jA(b.c,b.a);jA(b.c,b.b);a=b;b.b.x(dfb(new cfb(),b,a));hH(b,b.c);FN(b,'rule-warning-Popup');return b;}
+function jfb(a){kC(a.a,'');sE(a);}
+function kfb(){jfb(this);}
+function lfb(a,c,d){ifb();var b;b=hfb(new bfb(),c,d);kC(b.a,a);zE(b);}
+function bfb(){}
+_=bfb.prototype=new kE();_.lc=kfb;_.tN=igc+'WarningPopup';_.tI=252;function dfb(b,a,c){b.a=c;return b;}
+function ffb(a){jfb(this.a);}
+function cfb(){}
+_=cfb.prototype=new fU();_.zc=ffb;_.tN=igc+'WarningPopup$1';_.tI=253;function wfb(){wfb=d3;cs();}
+function vfb(d,b,f){var a,c,e;wfb();Fr(d);es(d,b);e=zp(new tp(),'Yes');c=zp(new tp(),'No');e.x(ofb(new nfb(),d,f));c.x(sfb(new rfb(),d));a=iA(new gA());jA(a,e);jA(a,c);fs(d,a);return d;}
+function mfb(){}
+_=mfb.prototype=new Dr();_.tN=igc+'YesNoDialog';_.tI=254;function ofb(b,a,c){b.a=a;b.b=c;return b;}
+function qfb(a){this.b.pb();this.a.lc();}
+function nfb(){}
+_=nfb.prototype=new fU();_.zc=qfb;_.tN=igc+'YesNoDialog$1';_.tI=255;function sfb(b,a){b.a=a;return b;}
+function ufb(a){this.a.lc();}
+function rfb(){}
+_=rfb.prototype=new fU();_.zc=ufb;_.tN=igc+'YesNoDialog$2';_.tI=256;function wxb(b,a,c){b.e=c;b.a=a;Bxb(b,a.e,a.d.n);Axb(b);return b;}
+function xxb(b,a){gcb(b.c,a);}
+function zxb(c,a,d){var b;b=eL(new vK());EK(b,a);aL(b,d);b.ye(false);return b;}
+function Axb(a){gv(a.b,sxb(new rxb(),a));}
+function Bxb(d,f,c){var a,b,e;d.b=fv(new av());lv(d.b,v()+'asset');mv(d.b,'multipart/form-data');nv(d.b,'post');e=jt(new it());mt(e,'fileUploadElement');b=iA(new gA());jA(b,zxb(d,'attachmentUUID',f));d.d=Dcb(new Bcb(),'images/upload.gif','Upload');jA(b,e);jA(b,fC(new dC(),'upload:'));jA(b,d.d);hH(d.b,b);d.c=ccb(new Fbb(),d.vb(),c);if(!d.a.c)dcb(d.c,'Upload new version:',d.b);a=zp(new tp(),'Download');a.x(kxb(new jxb(),d,f));dcb(d.c,'Download current version:',a);oB(d.d,oxb(new nxb(),d));pr(d,d.c);d.c.Be('100%');FN(d,d.Eb());}
+function Cxb(a){wdb('Uploading...');}
+function Dxb(a){pv(a.b);}
+function ixb(){}
+_=ixb.prototype=new nr();_.tN=ngc+'AssetAttachmentFileWidget';_.tI=257;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function yfb(b,a,c){wxb(b,a,c);xxb(b,nz(new qw(),'<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.<\/i><\/small>'));return b;}
+function Afb(){return 'images/decision_table.png';}
+function Bfb(){return 'decision-Table-upload';}
+function xfb(){}
+_=xfb.prototype=new ixb();_.vb=Afb;_.Eb=Bfb;_.tN=jgc+'DecisionTableXLSWidget';_.tI=258;function Dfb(){Dfb=d3;fgb=k1(new o0());agb=k1(new o0());Ffb=k1(new o0());Efb=zb('[Ljava.lang.String;',608,1,['not','exists','or']);{r1(fgb,'==','is equal to');r1(fgb,'!=','is not equal to');r1(fgb,'<','is less than');r1(fgb,'<=','less than or equal to');r1(fgb,'>','greater than');r1(fgb,'>=','greater than or equal to');r1(fgb,'|| ==','or equal to');r1(fgb,'|| !=','or not equal to');r1(fgb,'&& !=','and not equal to');r1(fgb,'&& >','and greater than');r1(fgb,'&& <','and less than');r1(fgb,'|| >','or greater than');r1(fgb,'|| <','or less than');r1(fgb,'&& <','and less than');r1(fgb,'|| >=','or greater than (or equal to)');r1(fgb,'|| <=','or less than (or equal to)');r1(fgb,'&& >=','and greater than (or equal to)');r1(fgb,'&& <=','or less than (or equal to)');r1(fgb,'&& contains','and contains');r1(fgb,'|| contains','or contains');r1(fgb,'&& matches','and matches');r1(fgb,'|| matches','or mat!
 ches');r1(fgb,'|| excludes','or excludes');r1(fgb,'&& excludes','and excludes');r1(fgb,'soundslike','sounds like');r1(agb,'not','There is no');r1(agb,'exists','There exists');r1(agb,'or','Any of');r1(Ffb,'assert','Insert');r1(Ffb,'assertLogical','Logically insert');r1(Ffb,'retract','Retract');r1(Ffb,'set','Set');r1(Ffb,'modify','Modify');}}
+function bgb(a){Dfb();return egb(a,Ffb);}
+function cgb(a){Dfb();return egb(a,agb);}
+function dgb(a){Dfb();return egb(a,fgb);}
+function egb(a,b){Dfb();if(n1(b,a)){return Fb(q1(b,a),1);}else{return a;}}
+var Efb,Ffb,agb,fgb;function jgb(){jgb=d3;Dgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=']);Fgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','&& matches','|| matches']);Bgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','&& >','&& <','|| >','|| <','&& >=','&& <=','|| <=','|| >=']);zgb=zb('[Ljava.lang.String;',608,1,['|| ==','|| !=','&& !=','|| contains','&& contains','|| excludes','&& excludes']);Egb=zb('[Ljava.lang.String;',608,1,['==','!=']);Cgb=zb('[Ljava.lang.String;',608,1,['==','!=','<','>','<=','>=']);ahb=zb('[Ljava.lang.String;',608,1,['==','!=','matches','soundslike']);Agb=zb('[Ljava.lang.String;',608,1,['contains','excludes','==','!=']);}
+function hgb(a){a.h=k1(new o0());a.c=k1(new o0());a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[610],[10],[0],null);a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[610],[10],[0],null);}
+function igb(a){jgb();hgb(a);return a;}
+function kgb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return Dgb;}else if(EU(d,'String')){return Fgb;}else if(EU(d,'Comparable')||EU(d,'Numeric')){return Bgb;}else if(EU(d,'Collection')){return zgb;}else{return Dgb;}}
+function mgb(i,g,d){var a,b,c,e,f,h,j;c=tgb(i);j=Fb(q1(c,g.c+'.'+d),1);if(g.b!==null&&g.b.b!==null){b=g.b.b;for(e=0;e<b.a;e++){a=b[e];if(ac(a,32)){h=Fb(a,32);if(EU(h.c,j)){f=g.c+'.'+d+'['+j+'='+h.f+']';return Fb(i.c.ic(f),63);}}}}return Fb(i.c.ic(g.c+'.'+d),63);}
+function lgb(f,g,a,c){var b,d,e,h,i;b=tgb(f);h=Fb(q1(b,g+'.'+c),1);if(a!==null){for(d=0;d<a.a;d++){i=a[d];if(EU(i.a,h)){e=g+'.'+c+'['+h+'='+i.c+']';return Fb(f.c.ic(e),63);}}}return Fb(f.c.ic(g+'.'+c),63);}
+function ogb(b,a){return Fb(b.g.ic(a),63);}
+function ngb(a,c){var b;b=Fb(a.h.ic(c),1);return Fb(a.g.ic(b),63);}
+function pgb(c,a,b){return Fb(c.f.ic(a+'.'+b),1);}
+function qgb(a){return ugb(a,a.h.rc());}
+function rgb(c,a,b){var d;d=Fb(c.f.ic(a+'.'+b),1);if(d===null){return Egb;}else if(EU(d,'String')){return ahb;}else if(EU(d,'Comparable')||EU(d,'Numeric')){return Cgb;}else if(EU(d,'Collection')){return Agb;}else{return Egb;}}
+function sgb(a,b){return a.h.db(b);}
+function tgb(g){var a,b,c,d,e,f,h;if(g.d===null){g.d=k1(new o0());e=g.c.rc();for(b=bX(e);iX(b);){d=Fb(jX(b),1);if(FU(d,91)!=(-1)){c=FU(d,91);a=iV(d,0,c);f=iV(d,c+1,FU(d,93));h=iV(f,0,FU(f,61));r1(g.d,a,h);}}}return g.d;}
+function ugb(e,d){var a,b,c;a=yb('[Ljava.lang.String;',[608],[1],[d.b.a.c],null);b=0;for(c=bX(d);iX(c);){a[b]=Fb(jX(c),1);b++;}return a;}
+function ggb(){}
+_=ggb.prototype=new fU();_.tN=kgc+'SuggestionCompletionEngine';_.tI=259;_.d=null;_.e=null;_.f=null;_.g=null;var zgb,Agb,Bgb,Cgb,Dgb,Egb,Fgb,ahb;function xgb(b,a){a.a=Fb(b.Dd(),72);a.b=Fb(b.Dd(),72);a.c=Fb(b.Dd(),57);a.e=Fb(b.Dd(),63);a.f=Fb(b.Dd(),57);a.g=Fb(b.Dd(),57);a.h=Fb(b.Dd(),57);}
+function ygb(b,a){b.ff(a.a);b.ff(a.b);b.ff(a.c);b.ff(a.e);b.ff(a.f);b.ff(a.g);b.ff(a.h);}
+function chb(a){a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[624],[23],[0],null);}
+function dhb(a){chb(a);return a;}
+function ehb(c,d){var a,b;if(c.b===null){c.b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[624],[23],[1],null);c.b[0]=d;}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[624],[23],[c.b.a+1],null);for(a=0;a<c.b.a;a++){b[a]=c.b[a];}b[c.b.a]=d;c.b=b;}}
+function ghb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[624],[23],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){d[c]=e.b[a];c++;}}e.b=d;}
+function bhb(){}
+_=bhb.prototype=new fU();_.tN=lgc+'ActionFieldList';_.tI=260;function jhb(b,a){a.b=Fb(b.Dd(),73);}
+function khb(b,a){b.ff(a.b);}
+function mhb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function lhb(){}
+_=lhb.prototype=new fU();_.tN=lgc+'ActionFieldValue';_.tI=261;_.a=null;_.b=null;_.c=null;function qhb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
+function rhb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
+function uhb(a,b){dhb(a);a.a=b;return a;}
+function thb(a){dhb(a);return a;}
+function shb(){}
+_=shb.prototype=new bhb();_.tN=lgc+'ActionInsertFact';_.tI=262;_.a=null;function yhb(b,a){a.a=b.Ed();jhb(b,a);}
+function zhb(b,a){b.gf(a.a);khb(b,a);}
+function Chb(b,a){uhb(b,a);return b;}
+function Bhb(a){thb(a);return a;}
+function Ahb(){}
+_=Ahb.prototype=new shb();_.tN=lgc+'ActionInsertLogicalFact';_.tI=263;function aib(b,a){yhb(b,a);}
+function bib(b,a){zhb(b,a);}
+function dib(a,b){a.a=b;return a;}
+function cib(){}
+_=cib.prototype=new fU();_.tN=lgc+'ActionRetractFact';_.tI=264;_.a=null;function hib(b,a){a.a=b.Ed();}
+function iib(b,a){b.gf(a.a);}
+function lib(a,b){dhb(a);a.a=b;return a;}
+function kib(a){dhb(a);return a;}
+function jib(){}
+_=jib.prototype=new bhb();_.tN=lgc+'ActionSetField';_.tI=265;_.a=null;function pib(b,a){a.a=b.Ed();jhb(b,a);}
+function qib(b,a){b.gf(a.a);khb(b,a);}
+function tib(b,a){lib(b,a);return b;}
+function sib(a){kib(a);return a;}
+function rib(){}
+_=rib.prototype=new jib();_.tN=lgc+'ActionUpdateField';_.tI=266;function xib(b,a){pib(b,a);}
+function yib(b,a){qib(b,a);}
+function Aib(a,b){a.b=b;return a;}
+function Bib(e,d){var a,b,c;if(e.a===null){e.a=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[632],[31],[0],null);}b=e.a;c=yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[632],[31],[b.a+1],null);for(a=0;a<b.a;a++){c[a]=b[a];}c[b.a]=d;e.a=c;}
+function zib(){}
+_=zib.prototype=new fU();_.tN=lgc+'CompositeFactPattern';_.tI=267;_.a=null;_.b=null;function Fib(b,a){a.a=Fb(b.Dd(),74);a.b=b.Ed();}
+function ajb(b,a){b.ff(a.a);b.gf(a.b);}
+function cjb(d,a){var b,c;if(d.b===null){d.b=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[622],[21],[1],null);Ab(d.b,0,a);}else{c=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[622],[21],[d.b.a+1],null);for(b=0;b<d.b.a;b++){Ab(c,b,d.b[b]);}Ab(c,d.b.a,a);d.b=c;}}
+function ejb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[622],[21],[e.b.a-1],null);c=0;for(a=0;a<e.b.a;a++){if(a!=b){Ab(d,c,e.b[a]);c++;}}e.b=d;}
+function bjb(){}
+_=bjb.prototype=new fU();_.tN=lgc+'CompositeFieldConstraint';_.tI=268;_.a=null;_.b=null;function hjb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),75);}
+function ijb(b,a){b.gf(a.a);b.ff(a.b);}
+function gkb(){}
+_=gkb.prototype=new fU();_.tN=lgc+'ISingleFieldConstraint';_.tI=269;_.e=0;_.f=null;function jjb(){}
+_=jjb.prototype=new gkb();_.tN=lgc+'ConnectiveConstraint';_.tI=270;_.a=null;function njb(b,a){a.a=b.Ed();kkb(b,a);}
+function ojb(b,a){b.gf(a.a);lkb(b,a);}
+function rjb(b){var a;a=new pjb();a.a=b.a;return a;}
+function sjb(e){var a,b,c,d;b=jV(e.a);d='';for(c=0;c<b.a;c++){a=b[c];if(a!=123&&a!=125){d+=Eb(a);}}return d;}
+function xjb(){return sjb(this);}
+function pjb(){}
+_=pjb.prototype=new fU();_.tS=xjb;_.tN=lgc+'DSLSentence';_.tI=271;_.a=null;function vjb(b,a){a.a=b.Ed();}
+function wjb(b,a){b.gf(a.a);}
+function zjb(b,a){b.c=a;return b;}
+function Ajb(b,a){if(b.b===null)b.b=new bjb();cjb(b.b,a);}
+function Cjb(a){if(a.b===null){return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[622],[21],[0],null);}else{return a.b.b;}}
+function Djb(a){if(a.a!==null&& !EU('',a.a)){return true;}else{return false;}}
+function Ejb(b,a){ejb(b.b,a);}
+function yjb(){}
+_=yjb.prototype=new fU();_.tN=lgc+'FactPattern';_.tI=272;_.a=null;_.b=null;_.c=null;function bkb(b,a){a.a=b.Ed();a.b=Fb(b.Dd(),30);a.c=b.Ed();}
+function ckb(b,a){b.gf(a.a);b.ff(a.b);b.gf(a.c);}
+function kkb(b,a){a.e=b.Bd();a.f=b.Ed();}
+function lkb(b,a){b.df(a.e);b.gf(a.f);}
+function okb(b,a,c){b.a=a;b.b=c;return b;}
+function ukb(){var a;a=qU(new pU());sU(a,this.a);if(EU('no-loop',this.a)){sU(a,' ');sU(a,this.b===null?'true':this.b);}else if(EU('salience',this.a)){sU(a,' ');sU(a,this.b);}else if(this.b!==null){sU(a,' "');sU(a,this.b);sU(a,'"');}return wU(a);}
+function nkb(){}
+_=nkb.prototype=new fU();_.tS=ukb;_.tN=lgc+'RuleAttribute';_.tI=273;_.a=null;_.b=null;function skb(b,a){a.a=b.Ed();a.b=b.Ed();}
+function tkb(b,a){b.gf(a.a);b.gf(a.b);}
+function wkb(a){a.a=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[18],[0],null);a.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[19],[0],null);a.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[20],[0],null);}
+function xkb(a){wkb(a);return a;}
+function ykb(e,a){var b,c,d;c=e.a;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[18],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function zkb(e,d){var a,b,c;if(e.b===null){e.b=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[19],[0],null);}b=e.b;c=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[19],[b.a+1],null);for(a=0;a<b.a;a++){Ab(c,a,b[a]);}Ab(c,b.a,d);e.b=c;}
+function Akb(e,a){var b,c,d;if(e.e===null){e.e=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[20],[0],null);}c=e.e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[20],[c.a+1],null);for(b=0;b<c.a;b++){Ab(d,b,c[b]);}Ab(d,c.a,a);e.e=d;}
+function Ckb(h){var a,b,c,d,e,f,g;g=nY(new lY());for(d=0;d<h.b.a;d++){f=h.b[d];if(ac(f,31)){b=Fb(f,31);if(Djb(b)){pY(g,b.a);}for(e=0;e<Cjb(b).a;e++){c=Cjb(b)[e];if(ac(c,32)){a=Fb(c,32);if(nlb(a)){pY(g,a.b);}}}}}return g;}
+function Dkb(c,d){var a,b;if(c.b===null){return null;}for(a=0;a<c.b.a;a++){if(ac(c.b[a],31)){b=Fb(c.b[a],31);if(b.a!==null&&EU(d,b.a)){return b;}}}return null;}
+function Ekb(d){var a,b,c;if(d.b===null){return null;}b=nY(new lY());for(a=0;a<d.b.a;a++){if(ac(d.b[a],31)){c=Fb(d.b[a],31);if(c.a!==null){pY(b,c.a);}}}return b;}
+function Fkb(k,b){var a,c,d,e,f,g,h,i,j;j=nY(new lY());for(f=0;f<k.b.a;f++){i=k.b[f];if(ac(i,31)){d=Fb(i,31);if(d.b!==null){c=d.b.b;if(c!==null){for(h=0;h<c.a;h++){e=c[h];if(ac(e,32)){a=Fb(e,32);if(a===b){return j;}if(a.a!==null){for(g=0;g<a.a.a;g++){if(b===a.a[g]){return j;}}}if(nlb(a)){pY(j,a.b);}}}}if(Djb(d)){pY(j,d.a);}}else{if(Djb(d)){pY(j,d.a);}}}}return j;}
+function alb(e,a){var b,c,d;if(e.e===null){return false;}for(b=0;b<e.e.a;b++){if(ac(e.e[b],27)){d=Fb(e.e[b],27);if(EU(d.a,a)){return true;}}else if(ac(e.e[b],26)){c=Fb(e.e[b],26);if(EU(c.a,a)){return true;}}}return false;}
+function blb(b,a){return tY(Ckb(b),a);}
+function clb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[18],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function dlb(f,b){var a,c,d,e;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[19],[f.b.a-1],null);c=0;for(a=0;a<f.b.a;a++){if(a!=b){Ab(d,c,f.b[a]);c++;}else{if(ac(f.b[a],31)){e=Fb(f.b[a],31);if(e.a!==null&&alb(f,e.a)){return false;}}}}f.b=d;return true;}
+function elb(e,b){var a,c,d;d=yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[20],[e.e.a-1],null);c=0;for(a=0;a<e.e.a;a++){if(a!=b){Ab(d,c,e.e[a]);c++;}}e.e=d;}
+function vkb(){}
+_=vkb.prototype=new fU();_.tN=lgc+'RuleModel';_.tI=274;_.c='1.0';_.d=null;function hlb(b,a){a.a=Fb(b.Dd(),76);a.b=Fb(b.Dd(),77);a.c=b.Ed();a.d=b.Ed();a.e=Fb(b.Dd(),78);}
+function ilb(b,a){b.ff(a.a);b.ff(a.b);b.gf(a.c);b.gf(a.d);b.ff(a.e);}
+function klb(b,a){b.c=a;return b;}
+function llb(c){var a,b;if(c.a===null){c.a=zb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',616,15,[new jjb()]);}else{b=yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[616],[15],[c.a.a+1],null);for(a=0;a<c.a.a;a++){b[a]=c.a[a];}b[c.a.a]=new jjb();c.a=b;}}
+function nlb(a){if(a.b!==null&& !EU('',a.b)){return true;}else{return false;}}
+function jlb(){}
+_=jlb.prototype=new gkb();_.tN=lgc+'SingleFieldConstraint';_.tI=275;_.a=null;_.b=null;_.c=null;_.d=null;function qlb(b,a){a.a=Fb(b.Dd(),79);a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();kkb(b,a);}
+function rlb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);lkb(b,a);}
+function lmb(d,b,c,a){d.e=c;d.a=a;d.d=yab(new wab());d.f=b;d.b=c.a;d.c=ogb(d.a,c.a);FN(d.d,'model-builderInner-Background');nmb(d);pr(d,d.d);return d;}
+function nmb(e){var a,b,c,d,f;ky(e.d);Bab(e.d,0,0,pmb(e));c=yab(new wab());for(a=0;a<e.e.b.a;a++){f=e.e.b[a];Bab(c,a,0,omb(e,f));Bab(c,a,1,rmb(e,f));b=a;d=Ccb(new Bcb(),'images/delete_item_small.gif');oB(d,ulb(new tlb(),e,b));Bab(c,a,2,d);}Bab(e.d,0,1,c);}
+function omb(a,b){return fC(new dC(),b.a);}
+function pmb(d){var a,b,c;c=iA(new gA());b=Ccb(new Bcb(),'images/add_field_to_fact.gif');b.te('Add another field to this so you can set its value.');oB(b,emb(new dmb(),d));a='assert';if(ac(d.e,25)){a='assertLogical';}jA(c,hdb(new gdb(),bgb(a)+' '+d.e.a,'modeller-action-Label'));jA(c,b);return c;}
+function qmb(d,e){var a,b,c;c=rcb(new mcb(),'images/newex_wiz.gif','Add a field');FN(c,'ks-popups-Popup');a=xC(new nC());AC(a,'...');for(b=0;b<d.c.a;b++){AC(a,d.c[b]);}gD(a,0);scb(c,'Add field',a);zC(a,imb(new hmb(),d,a,c));wE(c,wN(e),xN(e));zE(c);}
+function rmb(c,d){var a,b;b=lgb(c.a,c.b,c.e.b,d.a);if(b!==null&&b.a>0){return fqb(d.c,Clb(new Blb(),c,d),b);}else{a=eL(new vK());aL(a,d.c);yK(a,amb(new Flb(),c,d,a));if(EU(d.b,'Numeric')){zK(a,Fnb(a));}return a;}}
+function slb(){}
+_=slb.prototype=new pab();_.tN=mgc+'ActionInsertFactWidget';_.tI=276;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ulb(b,a,c){b.a=a;b.b=c;return b;}
+function wlb(b){var a;a=vfb(new mfb(),'Remove this item?',ylb(new xlb(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
+function tlb(){}
+_=tlb.prototype=new fU();_.zc=wlb;_.tN=mgc+'ActionInsertFactWidget$1';_.tI=277;function ylb(b,a,c){b.a=a;b.b=c;return b;}
+function Alb(){ghb(this.a.a.e,this.b);Fwb(this.a.a.f);}
+function xlb(){}
+_=xlb.prototype=new fU();_.pb=Alb;_.tN=mgc+'ActionInsertFactWidget$2';_.tI=278;function Clb(b,a,c){b.a=c;return b;}
+function Elb(a){this.a.c=a;}
+function Blb(){}
+_=Blb.prototype=new fU();_.af=Elb;_.tN=mgc+'ActionInsertFactWidget$3';_.tI=279;function amb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function cmb(a){this.c.c=CK(this.b);Fwb(this.a.f);}
+function Flb(){}
+_=Flb.prototype=new fU();_.yc=cmb;_.tN=mgc+'ActionInsertFactWidget$4';_.tI=280;function emb(b,a){b.a=a;return b;}
+function gmb(a){qmb(this.a,a);}
+function dmb(){}
+_=dmb.prototype=new fU();_.zc=gmb;_.tN=mgc+'ActionInsertFactWidget$5';_.tI=281;function imb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kmb(c){var a,b;a=aD(this.b,bD(this.b));b=pgb(this.a.a,this.a.e.a,a);ehb(this.a.e,mhb(new lhb(),a,'',b));Fwb(this.a.f);this.c.lc();}
+function hmb(){}
+_=hmb.prototype=new fU();_.yc=kmb;_.tN=mgc+'ActionInsertFactWidget$6';_.tI=282;function tmb(c,a,b){c.a=ut(new ot());FN(c.a,'model-builderInner-Background');c.a.ze(0,0,hdb(new gdb(),bgb('retract'),'modeller-action-Label'));c.a.ze(0,1,hdb(new gdb(),'['+b.a+']','modeller-action-Label'));pr(c,c.a);return c;}
+function smb(){}
+_=smb.prototype=new nr();_.tN=mgc+'ActionRetractFactWidget';_.tI=283;_.a=null;function ynb(e,b,d,a){var c;e.d=d;e.a=a;e.c=yab(new wab());e.e=b;FN(e.c,'model-builderInner-Background');if(sgb(e.a,d.a)){e.b=ngb(e.a,d.a);e.f=Fb(e.a.h.ic(d.a),1);}else{c=Dkb(b.c,d.a);e.b=ogb(e.a,c.c);e.f=c.c;}Anb(e);pr(e,e.c);return e;}
+function Anb(e){var a,b,c,d,f;ky(e.c);Bab(e.c,0,0,Cnb(e));c=yab(new wab());for(a=0;a<e.d.b.a;a++){f=e.d.b[a];Bab(c,a,0,Bnb(e,f));Bab(c,a,1,Enb(e,f));b=a;d=Ccb(new Bcb(),'images/delete_item_small.gif');oB(d,xmb(new wmb(),e,b));Bab(c,a,2,d);}Bab(e.c,0,1,c);}
+function Bnb(a,b){return fC(new dC(),b.a);}
+function Cnb(d){var a,b,c;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te('Add another field to this so you can set its value.');oB(a,Fmb(new Emb(),d));c='set';if(ac(d.d,28)){c='modify';}jA(b,hdb(new gdb(),bgb(c)+' ['+d.d.a+']','modeller-action-Label'));jA(b,a);return b;}
+function Dnb(d,e){var a,b,c;c=rcb(new mcb(),'images/newex_wiz.gif','Add a field');FN(c,'ks-popups-Popup');a=xC(new nC());AC(a,'...');for(b=0;b<d.b.a;b++){AC(a,d.b[b]);}gD(a,0);scb(c,'Add field',a);zC(a,dnb(new cnb(),d,a,c));wE(c,wN(e),xN(e));zE(c);}
+function Enb(d,f){var a,b,c,e;e='';if(sgb(d.a,d.d.a)){e=Fb(d.a.h.ic(d.d.a),1);}else{e=Dkb(d.e.c,d.d.a).c;}b=lgb(d.a,e,d.d.b,f.a);if(b!==null&&b.a>0){return fqb(f.c,hnb(new gnb(),d,f),b);}else{c=fH(new DG());a=eL(new vK());aL(a,f.c);if(cV(f.c)!=0){gL(a,cV(f.c));}if(EU(f.b,'Numeric')){zK(a,Fnb(a));}yK(a,lnb(new knb(),d,f,a));zK(a,Abb(new zbb(),pnb(new onb(),d,a)));hH(c,a);return c;}}
+function Fnb(a){return tnb(new snb(),a);}
+function aob(){return Aab(this.c);}
+function vmb(){}
+_=vmb.prototype=new pab();_.pc=aob;_.tN=mgc+'ActionSetFieldWidget';_.tI=284;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function xmb(b,a,c){b.a=a;b.b=c;return b;}
+function zmb(b){var a;a=vfb(new mfb(),'Remove this item?',Bmb(new Amb(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
+function wmb(){}
+_=wmb.prototype=new fU();_.zc=zmb;_.tN=mgc+'ActionSetFieldWidget$1';_.tI=285;function Bmb(b,a,c){b.a=a;b.b=c;return b;}
+function Dmb(){ghb(this.a.a.d,this.b);Fwb(this.a.a.e);}
+function Amb(){}
+_=Amb.prototype=new fU();_.pb=Dmb;_.tN=mgc+'ActionSetFieldWidget$2';_.tI=286;function Fmb(b,a){b.a=a;return b;}
+function bnb(a){Dnb(this.a,a);}
+function Emb(){}
+_=Emb.prototype=new fU();_.zc=bnb;_.tN=mgc+'ActionSetFieldWidget$3';_.tI=287;function dnb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function fnb(c){var a,b;a=aD(this.b,bD(this.b));b=pgb(this.a.a,this.a.f,a);ehb(this.a.d,mhb(new lhb(),a,'',b));Fwb(this.a.e);this.c.lc();}
+function cnb(){}
+_=cnb.prototype=new fU();_.yc=fnb;_.tN=mgc+'ActionSetFieldWidget$4';_.tI=288;function hnb(b,a,c){b.a=c;return b;}
+function jnb(a){this.a.c=a;}
+function gnb(){}
+_=gnb.prototype=new fU();_.af=jnb;_.tN=mgc+'ActionSetFieldWidget$5';_.tI=289;function lnb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nnb(a){this.b.c=CK(this.a);}
+function knb(){}
+_=knb.prototype=new fU();_.yc=nnb;_.tN=mgc+'ActionSetFieldWidget$6';_.tI=290;function pnb(b,a,c){b.a=c;return b;}
+function rnb(){gL(this.a,cV(CK(this.a)));}
+function onb(){}
+_=onb.prototype=new fU();_.pb=rnb;_.tN=mgc+'ActionSetFieldWidget$7';_.tI=291;function tnb(a,b){a.a=b;return a;}
+function vnb(a,b,c){}
+function wnb(c,a,b){if(vS(a)&&a!=61&& !gV(CK(this.a),'=')){AK(Fb(c,80));}}
+function xnb(a,b,c){}
+function snb(){}
+_=snb.prototype=new fU();_.cd=vnb;_.dd=wnb;_.ed=xnb;_.tN=mgc+'ActionSetFieldWidget$8';_.tI=292;function kob(d,b,c,a){d.a=a;d.d=c;d.c=b;d.b=yab(new wab());FN(d.b,'model-builderInner-Background');mob(d);pr(d,d.b);return d;}
+function mob(c){var a,b,d;Bab(c.b,0,0,nob(c));if(c.d.a!==null){d=ebb(new dbb());a=c.d.a;for(b=0;b<a.a;b++){tO(d,Dsb(new Bqb(),c.c,a[b],c.a,false));}Bab(c.b,0,1,d);}}
+function nob(c){var a,b;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te("Add a fact to this constraint. If it is an 'or' type, it will need at least 2.");oB(a,dob(new cob(),c));jA(b,fC(new dC(),cgb(c.d.b)));jA(b,a);FN(b,'modeller-composite-Label');return b;}
+function oob(e,f){var a,b,c,d;a=xC(new nC());b=e.a.e;AC(a,'Choose...');for(c=0;c<b.a;c++){AC(a,b[c]);}gD(a,0);d=rcb(new mcb(),'images/new_fact.gif','New fact pattern...');scb(d,'choose fact type',a);zC(a,hob(new gob(),e,a,d));FN(d,'ks-popups-Popup');wE(d,wN(f)-400,xN(f));zE(d);}
+function pob(){return Aab(this.b);}
+function bob(){}
+_=bob.prototype=new pab();_.pc=pob;_.tN=mgc+'CompositeFactPatternWidget';_.tI=293;_.a=null;_.b=null;_.c=null;_.d=null;function dob(b,a){b.a=a;return b;}
+function fob(a){oob(this.a,a);}
+function cob(){}
+_=cob.prototype=new fU();_.zc=fob;_.tN=mgc+'CompositeFactPatternWidget$1';_.tI=294;function hob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function job(a){Bib(this.a.d,zjb(new yjb(),aD(this.b,bD(this.b))));Fwb(this.a.c);this.c.lc();}
+function gob(){}
+_=gob.prototype=new fU();_.yc=job;_.tN=mgc+'CompositeFactPatternWidget$2';_.tI=295;function Bpb(f,d,b,a,c,g){var e;f.a=a;if(EU(g,'Numeric')){f.d=true;}else{f.d=false;}if(EU(g,'Boolean')){f.b=zb('[Ljava.lang.String;',608,1,['true','false']);}f.c=c.c;e=c.a;f.b=mgb(e,d,b);f.e=fH(new DG());aqb(f);pr(f,f.e);return f;}
+function Cpb(c,b){var a;a=eL(new vK());FN(a,'constraint-value-Editor');if(b.f===null){aL(a,'');}else{aL(a,b.f);}if(b.f===null||cV(b.f)<5){gL(a,3);}else{gL(a,cV(b.f)-1);}yK(a,lpb(new kpb(),c,b,a));zK(a,Abb(new zbb(),ppb(new opb(),c,a)));return a;}
+function Epb(b,a){aqb(b);a.lc();}
+function Fpb(b){var a;if(b.b!==null){return fqb(b.a.f,Eob(new Dob(),b),b.b);}else{a=Cpb(b,b.a);if(b.d){zK(a,new bpb());}a.te('This is a literal value. What is shown is what the field is checked against.');return a;}}
+function aqb(b){var a;b.e.ab();if(b.a.e==0){a=nB(new xA(),'images/edit.gif');oB(a,wob(new rob(),b));hH(b.e,a);}else{switch(b.a.e){case 1:hH(b.e,Fpb(b));break;case 3:hH(b.e,bqb(b));break;case 2:hH(b.e,dqb(b));break;default:break;}}}
+function bqb(e){var a,b,c,d;a=Cpb(e,e.a);d='This is a formula expression which will evaluate to a value.';c=nB(new xA(),'images/function_assets.gif');c.te(d);a.te(d);b=eqb(e,c,a);return b;}
+function cqb(e,g,a){var b,c,d,f;b=rcb(new mcb(),'images/newex_wiz.gif','Field value');d=zp(new tp(),'Literal value');d.x(tpb(new spb(),e,a,b));scb(b,'Literal value:',eqb(e,d,edb(new Fcb(),'Literal','A literal value means the constraint is directly against the value that you type (ie. what you see on screen).')));tcb(b,nz(new qw(),'<hr/>'));tcb(b,hdb(new gdb(),'Advanced options','weak-Text'));if(Fkb(e.c,e.a).b>0){f=zp(new tp(),'Bound variable');f.x(xpb(new wpb(),e,a,b));scb(b,'A variable:',eqb(e,f,edb(new Fcb(),'A bound variable','Will apply a constraint that compares a field to a bound variable.')));}c=zp(new tp(),'New formula');c.x(tob(new sob(),e,a,b));scb(b,'A formula:',eqb(e,c,edb(new Fcb(),'A formula','A formula is an expression that calculates and returns a value . That value is used to enforce the constraint.')));wE(b,wN(g),xN(g));zE(b);}
+function dqb(c){var a,b,d,e;e=Fkb(c.c,c.a);a=xC(new nC());if(c.a.f===null){AC(a,'Choose ...');}for(b=0;b<e.b;b++){d=Fb(uY(e,b),1);AC(a,d);if(c.a.f!==null&&EU(c.a.f,d)){gD(a,b);}}zC(a,Aob(new zob(),c,a));return a;}
+function eqb(d,a,c){var b;b=iA(new gA());jA(b,a);jA(b,c);b.Be('100%');return b;}
+function fqb(b,k,d){var a,c,e,f,g,h,i,j;a=xC(new nC());if(b===null||EU('',b)){AC(a,'Choose ...');}g=false;for(e=0;e<d.a;e++){i=d[e];if(FU(i,61)>0){h=hqb(i);f=h[0];c=h[1];j=f;BC(a,c,f);}else{BC(a,i,i);j=i;}if(b!==null&&EU(b,j)){gD(a,e);g=true;}}if(b!==null&& !g){BC(a,b,b);gD(a,d.a);}zC(a,hpb(new gpb(),k,a));return a;}
+function gqb(){return this.j;}
+function hqb(c){var a,b;b=yb('[Ljava.lang.String;',[608],[1],[2],null);a=FU(c,61);b[0]=iV(c,0,a);b[1]=iV(c,a+1,cV(c));return b;}
+function qob(){}
+_=qob.prototype=new pab();_.pc=gqb;_.tN=mgc+'ConstraintValueEditor';_.tI=296;_.a=null;_.b=null;_.c=null;_.d=false;_.e=null;function wob(b,a){b.a=a;return b;}
+function yob(a){cqb(this.a,a,this.a.a);}
+function rob(){}
+_=rob.prototype=new fU();_.zc=yob;_.tN=mgc+'ConstraintValueEditor$1';_.tI=297;function tob(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vob(a){this.b.e=3;Epb(this.a,this.c);}
+function sob(){}
+_=sob.prototype=new fU();_.zc=vob;_.tN=mgc+'ConstraintValueEditor$10';_.tI=298;function Aob(b,a,c){b.a=a;b.b=c;return b;}
+function Cob(a){this.a.a.f=aD(this.b,bD(this.b));}
+function zob(){}
+_=zob.prototype=new fU();_.yc=Cob;_.tN=mgc+'ConstraintValueEditor$2';_.tI=299;function Eob(b,a){b.a=a;return b;}
+function apb(a){this.a.a.f=a;}
+function Dob(){}
+_=Dob.prototype=new fU();_.af=apb;_.tN=mgc+'ConstraintValueEditor$3';_.tI=300;function dpb(a,b,c){}
+function epb(c,a,b){if(vS(a)){AK(Fb(c,80));}}
+function fpb(a,b,c){}
+function bpb(){}
+_=bpb.prototype=new fU();_.cd=dpb;_.dd=epb;_.ed=fpb;_.tN=mgc+'ConstraintValueEditor$4';_.tI=301;function hpb(a,c,b){a.b=c;a.a=b;return a;}
+function jpb(a){this.b.af(cD(this.a,bD(this.a)));}
+function gpb(){}
+_=gpb.prototype=new fU();_.yc=jpb;_.tN=mgc+'ConstraintValueEditor$5';_.tI=302;function lpb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function npb(a){this.c.f=CK(this.b);rab(this.a);}
+function kpb(){}
+_=kpb.prototype=new fU();_.yc=npb;_.tN=mgc+'ConstraintValueEditor$6';_.tI=303;function ppb(b,a,c){b.a=c;return b;}
+function rpb(){gL(this.a,cV(CK(this.a)));}
+function opb(){}
+_=opb.prototype=new fU();_.pb=rpb;_.tN=mgc+'ConstraintValueEditor$7';_.tI=304;function tpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function vpb(a){this.b.e=1;Epb(this.a,this.c);}
+function spb(){}
+_=spb.prototype=new fU();_.zc=vpb;_.tN=mgc+'ConstraintValueEditor$8';_.tI=305;function xpb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function zpb(a){this.b.e=2;Epb(this.a,this.c);}
+function wpb(){}
+_=wpb.prototype=new fU();_.zc=zpb;_.tN=mgc+'ConstraintValueEditor$9';_.tI=306;function uqb(b,a){b.a=Fab(new Eab());b.c=nY(new lY());b.b=a;xqb(b);return b;}
+function vqb(b,a){jA(b.a,a);pY(b.c,a);}
+function xqb(a){yqb(a,a.b.a);pr(a,a.a);}
+function yqb(g,e){var a,b,c,d,f;b=jV(e);c=null;d=null;for(f=0;f<b.a;f++){a=b[f];if(a==123){d=null;c=pqb(new nqb(),g);vqb(g,c);}else if(a==125){tqb(c,cV(rqb(c))+1);c=null;}else{if(c===null&&d===null){d=eC(new dC());vqb(g,d);}if(d!==null){kC(d,jC(d)+Eb(a));}else if(c!==null){sqb(c,rqb(c)+Eb(a));}}}}
+function zqb(c){var a,b,d;b='';for(a=c.c.qc();a.kc();){d=Fb(a.sc(),13);if(ac(d,81)){b=b+jC(Fb(d,81));}else if(ac(d,82)){b=b+' {'+rqb(Fb(d,82))+'} ';}}c.b.a=lV(b);}
+function Aqb(){return bbb(this.a);}
+function iqb(){}
+_=iqb.prototype=new pab();_.pc=Aqb;_.tN=mgc+'DSLSentenceWidget';_.tI=307;_.a=null;_.b=null;_.c=null;function kqb(b,a){b.a=a;return b;}
+function mqb(a){zqb(this.a.c);rab(this.a);}
+function jqb(){}
+_=jqb.prototype=new fU();_.yc=mqb;_.tN=mgc+'DSLSentenceWidget$1';_.tI=308;function oqb(a){a.b=iA(new gA());}
+function pqb(b,a){b.c=a;oqb(b);b.a=eL(new vK());jA(b.b,nz(new qw(),'&nbsp;'));jA(b.b,b.a);jA(b.b,nz(new qw(),'&nbsp;'));yK(b.a,kqb(new jqb(),b));pr(b,b.b);return b;}
+function rqb(a){return CK(a.a);}
+function sqb(b,a){aL(b.a,a);}
+function tqb(b,a){gL(b.a,a);}
+function nqb(){}
+_=nqb.prototype=new pab();_.tN=mgc+'DSLSentenceWidget$FieldEditor';_.tI=309;_.a=null;function Csb(a){a.c=yab(new wab());}
+function Dsb(k,h,i,c,a){var b,d,e,f,g,j;Csb(k);k.e=Fb(i,31);k.b=c;k.d=h;k.a=a;Bab(k.c,0,0,ftb(k));f=xt(k.c);ex(f,0,0,(xz(),yz),(aA(),cA));hx(f,0,0,'modeller-fact-TypeHeader');g=yab(new wab());Bab(k.c,1,0,g);for(j=0;j<Cjb(k.e).a;j++){d=Cjb(k.e)[j];e=j;itb(k,g,j,d,true);b=Ccb(new Bcb(),'images/delete_item_small.gif');b.te('Remove this whole restriction');oB(b,zrb(new Cqb(),k,e));Bab(g,j,5,b);}if(k.a)FN(k.c,'modeller-fact-pattern-Widget');pr(k,k.c);return k;}
+function Fsb(j,b){var a,c,d,e,f,g,h,i;f=iA(new gA());d=null;e=Ccb(new Bcb(),'images/add_field_to_fact.gif');e.te('Add a field to this nested constraint.');oB(e,Drb(new Crb(),j,b));if(EU(b.a,'&&')){d='All of:';}else{d='Any of:';}jA(f,e);jA(f,nz(new qw(),'<i>'+d+'&nbsp;<\/i>'));i=b.b;h=yab(new wab());FN(h,'modeller-inner-nested-Constraints');if(i!==null){for(g=0;g<i.a;g++){itb(j,h,g,i[g],false);c=g;a=Ccb(new Bcb(),'images/delete_item_small.gif');a.te('Remove this (nested) restriction');oB(a,bsb(new asb(),j,b,c));Bab(h,g,5,a);}}jA(f,h);return f;}
+function atb(g,b,c){var a,d,e,f;f=kgb(g.b,g.e.c,c);a=xC(new nC());AC(a,'--- please choose ---');for(d=0;d<f.a;d++){e=f[d];BC(a,dgb(e),e);if(EU(e,b.a)){gD(a,d+1);}}zC(a,krb(new jrb(),g,b,a));return a;}
+function btb(d,a,b,c){var e;e=pgb(d.d.a,b,c);return Bpb(new qob(),d.e,c,a,d.d,e);}
+function ctb(f,a,c){var b,d,e;if(a.a!==null&&a.a.a>0){d=Fab(new Eab());for(e=0;e<a.a.a;e++){b=a.a[e];jA(d,atb(f,b,a.c));jA(d,btb(f,b,c,a.c));}return d;}else{return null;}}
+function dtb(c,b){var a,d,e;if(c.a&& !alb(c.d.c,c.e.a)){d=iA(new gA());e=eL(new vK());if(c.e.a===null){aL(e,'');}else{aL(e,c.e.a);}gL(e,3);jA(d,e);a=zp(new tp(),'Set');a.x(grb(new frb(),c,e,b));jA(d,a);scb(b,'Variable name',d);}}
+function etb(e,c,d){var a,b;a=iA(new gA());FN(a,'modeller-field-Label');if(!nlb(c)){if(e.a&&d){b=Dcb(new Bcb(),'images/add_field_to_fact.gif','Give this field a variable name that can be used elsewhere.');oB(b,srb(new rrb(),e,c));jA(a,b);}}else{jA(a,fC(new dC(),'['+c.b+']'));}jA(a,fC(new dC(),c.c));return a;}
+function ftb(c){var a,b;b=iA(new gA());a=Ccb(new Bcb(),'images/add_field_to_fact.gif');a.te('Add a field to this condition, or bind a varible to this fact.');oB(a,nsb(new msb(),c));if(c.e.a!==null){jA(b,fC(new dC(),'['+c.e.a+'] '+c.e.c));}else{jA(b,fC(new dC(),c.e.c));}jA(b,a);return b;}
+function gtb(f,b){var a,c,d,e;e=rgb(f.b,f.e.c,b.c);a=xC(new nC());AC(a,'--- please choose ---');for(c=0;c<e.a;c++){d=e[c];BC(a,dgb(d),d);if(EU(d,b.d)){gD(a,c+1);}}zC(a,orb(new nrb(),f,b,a));return a;}
+function htb(e,b){var a,c,d;d=iA(new gA());d.Be('100%');c=nB(new xA(),'images/function_assets.gif');c.te('This is a formula expression that is evaluated to be true or false.');jA(d,c);if(b.f===null){b.f='';}a=eL(new vK());aL(a,b.f);yK(a,jsb(new isb(),e,b,a));a.Be('100%');jA(d,a);return d;}
+function itb(e,b,c,a,d){if(ac(a,32)){jtb(e,e.d,b,c,a,d);}else if(ac(a,30)){Bab(b,c,0,Fsb(e,Fb(a,30)));st(xt(b),c,0,5);}}
+function jtb(h,e,d,f,c,g){var a,b;b=Fb(c,32);if(b.e!=5){Bab(d,f,0,etb(h,b,g));Bab(d,f,1,gtb(h,b));Bab(d,f,2,ntb(h,b,h.e.c));Bab(d,f,3,ctb(h,b,h.e.c));a=Ccb(new Bcb(),'images/add_connective.gif');a.te('Add more options to this fields values.');oB(a,fsb(new esb(),h,b,e));Bab(d,f,4,a);}else if(b.e==5){Bab(d,f,0,htb(h,b));st(xt(d),f,0,5);}}
+function ktb(d,g,a){var b,c,e,f;c=rcb(new mcb(),'images/newex_wiz.gif','Bind the field called ['+a.c+'] to a variable.');f=lp(new kp());e=eL(new vK());b=zp(new tp(),'Set');mp(f,e);mp(f,b);b.x(wrb(new vrb(),d,e,a,c));scb(c,'Variable name',f);wE(c,wN(g),xN(g));zE(c);}
+function mtb(i,j){var a,b,c,d,e,f,g,h;g=rcb(new mcb(),'images/newex_wiz.gif','Modify constraints for '+i.e.c);FN(g,'ks-popups-Popup');a=xC(new nC());AC(a,'...');c=ogb(i.b,i.e.c);for(e=0;e<c.a;e++){AC(a,c[e]);}gD(a,0);zC(a,zsb(new ysb(),i,a,g));scb(g,'Add a restriction on a field',a);b=xC(new nC());AC(b,'...');BC(b,'All of (And)','&&');BC(b,'Any of (Or)','||');gD(b,0);zC(b,Eqb(new Dqb(),i,b,g));f=edb(new Fcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");d=iA(new gA());jA(d,b);jA(d,f);scb(g,'Multiple field constraint',d);tcb(g,hdb(new gdb(),'Advanced options','weak-Text'));h=zp(new tp(),'New formula');h.x(crb(new brb(),i,g));scb(g,'Add a new formula style expression',h);dtb(i,g);wE(g,wN(j),xN(j));zE(g);}
+function ltb(i,j,b){var a,c,d,e,f,g,h;h=rcb(new mcb(),'images/newex_wiz.gif','Add fields to this constraint');FN(h,'ks-popups-Popup');a=xC(new nC());AC(a,'...');d=ogb(i.b,i.e.c);for(f=0;f<d.a;f++){AC(a,d[f]);}gD(a,0);zC(a,rsb(new qsb(),i,b,a,h));scb(h,'Add a restriction on a field',a);c=xC(new nC());AC(c,'...');BC(c,'All of (And)','&&');BC(c,'Any of (Or)','||');gD(c,0);zC(c,vsb(new usb(),i,c,b,h));g=edb(new Fcb(),'Multiple field constraints',"You can specify constraints that span multiple fields (and more). The results of all these constraints can be combined with a 'and' or an 'or' logically.You can also have other multiple field constraints nested inside these restrictions.");e=iA(new gA());jA(e,c);jA(e,g);scb(h,'Multiple field constraint',e);wE(h,wN(j),xN(j));zE(h);}
+function ntb(c,a,b){var d;d=pgb(c.d.a,b,a.c);return Bpb(new qob(),c.e,a.c,a,c.d,d);}
+function otb(){return Aab(this.c);}
+function Bqb(){}
+_=Bqb.prototype=new pab();_.pc=otb;_.tN=mgc+'FactPatternWidget';_.tI=310;_.a=false;_.b=null;_.d=null;_.e=null;function zrb(b,a,c){b.a=a;b.b=c;return b;}
+function Brb(a){if(Bh('Remove this item?')){Ejb(this.a.e,this.b);Fwb(this.a.d);}}
+function Cqb(){}
+_=Cqb.prototype=new fU();_.zc=Brb;_.tN=mgc+'FactPatternWidget$1';_.tI=311;function Eqb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function arb(b){var a;a=new bjb();a.a=cD(this.b,bD(this.b));Ajb(this.a.e,a);Fwb(this.a.d);this.c.lc();}
+function Dqb(){}
+_=Dqb.prototype=new fU();_.yc=arb;_.tN=mgc+'FactPatternWidget$10';_.tI=312;function crb(b,a,c){b.a=a;b.b=c;return b;}
+function erb(b){var a;a=new jlb();a.e=5;Ajb(this.a.e,a);Fwb(this.a.d);this.b.lc();}
+function brb(){}
+_=brb.prototype=new fU();_.zc=erb;_.tN=mgc+'FactPatternWidget$11';_.tI=313;function grb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function irb(b){var a;a=CK(this.c);if(Ewb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.a.e.a=CK(this.c);Fwb(this.a.d);this.b.lc();}
+function frb(){}
+_=frb.prototype=new fU();_.zc=irb;_.tN=mgc+'FactPatternWidget$12';_.tI=314;function krb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mrb(a){this.b.a=cD(this.a,bD(this.a));}
+function jrb(){}
+_=jrb.prototype=new fU();_.yc=mrb;_.tN=mgc+'FactPatternWidget$13';_.tI=315;function orb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function qrb(a){this.c.d=cD(this.b,bD(this.b));rab(this.a.d);yV(),BV;}
+function nrb(){}
+_=nrb.prototype=new fU();_.yc=qrb;_.tN=mgc+'FactPatternWidget$14';_.tI=316;function srb(b,a,c){b.a=a;b.b=c;return b;}
+function urb(a){ktb(this.a,a,this.b);}
+function rrb(){}
+_=rrb.prototype=new fU();_.zc=urb;_.tN=mgc+'FactPatternWidget$15';_.tI=317;function wrb(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function yrb(b){var a;a=CK(this.d);if(Ewb(this.a.d,a)){zh('The variable name ['+a+'] is already taken.');return;}this.b.b=a;Fwb(this.a.d);this.c.lc();}
+function vrb(){}
+_=vrb.prototype=new fU();_.zc=yrb;_.tN=mgc+'FactPatternWidget$16';_.tI=318;function Drb(b,a,c){b.a=a;b.b=c;return b;}
+function Frb(a){ltb(this.a,a,this.b);}
+function Crb(){}
+_=Crb.prototype=new fU();_.zc=Frb;_.tN=mgc+'FactPatternWidget$2';_.tI=319;function bsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function dsb(a){if(Bh('Remove this item from nested constraint?')){ejb(this.b,this.c);Fwb(this.a.d);}}
+function asb(){}
+_=asb.prototype=new fU();_.zc=dsb;_.tN=mgc+'FactPatternWidget$3';_.tI=320;function fsb(b,a,c,d){b.a=c;b.b=d;return b;}
+function hsb(a){llb(this.a);Fwb(this.b);}
+function esb(){}
+_=esb.prototype=new fU();_.zc=hsb;_.tN=mgc+'FactPatternWidget$4';_.tI=321;function jsb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function lsb(a){this.c.f=CK(this.b);rab(this.a.d);}
+function isb(){}
+_=isb.prototype=new fU();_.yc=lsb;_.tN=mgc+'FactPatternWidget$5';_.tI=322;function nsb(b,a){b.a=a;return b;}
+function psb(a){mtb(this.a,a);}
+function msb(){}
+_=msb.prototype=new fU();_.zc=psb;_.tN=mgc+'FactPatternWidget$6';_.tI=323;function rsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function tsb(a){cjb(this.c,klb(new jlb(),aD(this.b,bD(this.b))));Fwb(this.a.d);this.d.lc();}
+function qsb(){}
+_=qsb.prototype=new fU();_.yc=tsb;_.tN=mgc+'FactPatternWidget$7';_.tI=324;function vsb(b,a,d,c,e){b.a=a;b.c=d;b.b=c;b.d=e;return b;}
+function xsb(b){var a;a=new bjb();a.a=cD(this.c,bD(this.c));cjb(this.b,a);Fwb(this.a.d);this.d.lc();}
+function usb(){}
+_=usb.prototype=new fU();_.yc=xsb;_.tN=mgc+'FactPatternWidget$8';_.tI=325;function zsb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Bsb(a){Ajb(this.a.e,klb(new jlb(),aD(this.b,bD(this.b))));Fwb(this.a.d);this.c.lc();}
+function ysb(){}
+_=ysb.prototype=new fU();_.yc=Bsb;_.tN=mgc+'FactPatternWidget$9';_.tI=326;function gub(f,e,d){var a,b,c;f.c=e;f.b=d;f.a=bcb(new Fbb());b=d.a;for(c=0;c<b.a;c++){a=b[c];dcb(f.a,a.a,jub(f,a,c));}pr(f,f.a);return f;}
+function hub(c,a){var b;b=jq(new iq());if(a.b===null){pq(b,true);a.b='true';}else{pq(b,EU(a.b,'true'));}b.x(rtb(new qtb(),c,a,b));return b;}
+function jub(e,a,d){var b,c;if(EU(a.a,'no-loop')){return kub(e,d);}b=null;if(EU(a.a,'enabled')||EU(a.a,'auto-focus')||EU(a.a,'lock-on-active')){b=hub(e,a);}else{b=lub(e,a);}c=Fab(new Eab());jA(c,b);jA(c,kub(e,d));return c;}
+function kub(c,a){var b;b=nB(new xA(),'images/delete_item_small.gif');oB(b,Ftb(new Etb(),c,a));return b;}
+function lub(c,a){var b;b=eL(new vK());gL(b,cV(a.b)<3?3:cV(a.b));aL(b,a.b);yK(b,vtb(new utb(),c,a,b));if(EU(a.a,'date-effective')||EU(a.a,'date-expires')){if(a.b===null||EU('',a.b))aL(b,'dd-MMM-yyyy');gL(b,10);}zK(b,ztb(new ytb(),c,b));return b;}
+function mub(){var a;a=xC(new nC());AC(a,'Choose...');AC(a,'salience');AC(a,'enabled');AC(a,'date-effective');AC(a,'date-expires');AC(a,'no-loop');AC(a,'agenda-group');AC(a,'activation-group');AC(a,'duration');AC(a,'auto-focus');AC(a,'lock-on-active');AC(a,'ruleflow-group');AC(a,'dialect');return a;}
+function nub(){return this.a.pc();}
+function ptb(){}
+_=ptb.prototype=new pab();_.pc=nub;_.tN=mgc+'RuleAttributeWidget';_.tI=327;_.a=null;_.b=null;_.c=null;function rtb(b,a,c,d){b.a=c;b.b=d;return b;}
+function ttb(a){this.a.b=oq(this.b)?'true':'false';}
+function qtb(){}
+_=qtb.prototype=new fU();_.zc=ttb;_.tN=mgc+'RuleAttributeWidget$1';_.tI=328;function vtb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function xtb(a){this.b.b=CK(this.c);rab(this.a);}
+function utb(){}
+_=utb.prototype=new fU();_.yc=xtb;_.tN=mgc+'RuleAttributeWidget$2';_.tI=329;function ztb(b,a,c){b.a=c;return b;}
+function Btb(a,b,c){}
+function Ctb(a,b,c){}
+function Dtb(a,b,c){gL(this.a,cV(CK(this.a)));}
+function ytb(){}
+_=ytb.prototype=new fU();_.cd=Btb;_.dd=Ctb;_.ed=Dtb;_.tN=mgc+'RuleAttributeWidget$3';_.tI=330;function Ftb(b,a,c){b.a=a;b.b=c;return b;}
+function bub(b){var a;a=vfb(new mfb(),'Remove this rule option?',dub(new cub(),this,this.b));wE(a,wN(b),xN(b));zE(a);}
+function Etb(){}
+_=Etb.prototype=new fU();_.zc=bub;_.tN=mgc+'RuleAttributeWidget$4';_.tI=331;function dub(b,a,c){b.a=a;b.b=c;return b;}
+function fub(){clb(this.a.a.b,this.b);Fwb(this.a.a.c);}
+function cub(){}
+_=cub.prototype=new fU();_.pb=fub;_.tN=mgc+'RuleAttributeWidget$5';_.tI=332;function twb(b,a){b.c=Fb(a.b,83);b.a=cLb((aLb(),fLb),a.d.o);b.b=yab(new wab());Dwb(b);FN(b.b,'model-builder-Background');pr(b,b.b);b.Be('100%');b.qe('100%');return b;}
+function uwb(b,a){Akb(b.c,lib(new jib(),a));Fwb(b);}
+function vwb(b,a){Akb(b.c,tib(new rib(),a));Fwb(b);}
+function wwb(b,a){zkb(b.c,Aib(new zib(),a));Fwb(b);}
+function xwb(b,a){zkb(b.c,rjb(a));Fwb(b);}
+function ywb(b,a){Akb(b.c,rjb(a));Fwb(b);}
+function zwb(b,a){zkb(b.c,zjb(new yjb(),a));Fwb(b);}
+function Awb(a,b){Akb(a.c,dib(new cib(),b));Fwb(a);}
+function Cwb(b){var a;a=Ccb(new Bcb(),'images/new_item.gif');a.te('Add an option to the rule, to modify its behavior when evaluated or executed.');oB(a,yvb(new xvb(),b));return a;}
+function Dwb(c){var a,b;ky(c.b);b=Ccb(new Bcb(),'images/new_item.gif');b.te('Add a condition to this rule.');oB(b,qvb(new pub(),c));Bab(c.b,0,0,fC(new dC(),'WHEN'));Bab(c.b,0,2,b);Bab(c.b,1,1,axb(c,c.c));Bab(c.b,2,0,fC(new dC(),'THEN'));a=Ccb(new Bcb(),'images/new_item.gif');a.te('Add an action to this rule.');oB(a,uvb(new tvb(),c));Bab(c.b,2,2,a);Bab(c.b,3,1,bxb(c,c.c));Bab(c.b,4,0,fC(new dC(),'(options)'));Bab(c.b,4,2,Cwb(c));Bab(c.b,5,1,gub(new ptb(),c,c.c));}
+function Ewb(b,a){return blb(b.c,a)||sgb(b.a,a);}
+function Fwb(a){Dwb(a);rab(a);}
+function axb(e,c){var a,b,d,f,g;f=ebb(new dbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,31)){g=Dsb(new Bqb(),e,d,e.a,true);tO(f,gxb(e,c,b,g));tO(f,fxb(e));}else if(ac(d,29)){g=kob(new bob(),e,Fb(d,29),e.a);tO(f,gxb(e,c,b,g));tO(f,fxb(e));}else if(ac(d,10)){}else{throw lU(new kU(),"I don't know what type of pattern that is.");}}a=ebb(new dbb());for(b=0;b<c.b.a;b++){d=c.b[b];g=null;if(ac(d,10)){g=uqb(new iqb(),Fb(d,10));tO(a,gxb(e,c,b,g));FN(a,'model-builderInner-Background');}}tO(f,a);return f;}
+function bxb(g,e){var a,b,c,d,f,h,i;h=ebb(new dbb());for(c=0;c<e.e.a;c++){a=e.e[c];i=null;if(ac(a,27)){i=ynb(new vmb(),g,Fb(a,27),g.a);}else if(ac(a,24)){i=lmb(new slb(),g,Fb(a,24),g.a);}else if(ac(a,26)){i=tmb(new smb(),g.a,Fb(a,26));}else if(ac(a,10)){i=uqb(new iqb(),Fb(a,10));FN(i,'model-builderInner-Background');}tO(h,fxb(g));b=Fab(new Eab());f=Ccb(new Bcb(),'images/delete_item_small.gif');f.te('Remove this action.');d=c;oB(f,awb(new Fvb(),g,e,d));jA(b,i);if(!ac(i,84)){i.Be('100%');b.Be('100%');}jA(b,f);tO(h,b);}return h;}
+function cxb(n,r){var a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q;k=rcb(new mcb(),'images/new_fact.gif','Add a new action...');FN(k,'ks-popups-Popup');q=Ekb(n.c);p=xC(new nC());l=xC(new nC());j=xC(new nC());AC(p,'Choose ...');AC(l,'Choose ...');AC(j,'Choose ...');for(i=q.qc();i.kc();){o=Fb(i.sc(),1);AC(p,o);AC(l,o);AC(j,o);}d=qgb(n.a);for(f=0;f<d.a;f++){AC(p,d[f]);}gD(p,0);zC(p,rub(new qub(),n,p,k));zC(l,vub(new uub(),n,l,k));zC(j,zub(new yub(),n,j,k));if(FC(p)>1){scb(k,'Set the values of a field on',p);}if(FC(j)>1){e=iA(new gA());jA(e,j);g=nB(new xA(),'images/information.gif');g.te('Modify a field on a fact, and notify the engine to re-evaluate rules.');jA(e,g);scb(k,'Modify a fact',e);}if(FC(l)>1){scb(k,'Retract the fact',l);}b=xC(new nC());c=xC(new nC());AC(b,'Choose ...');AC(c,'Choose ...');for(f=0;f<n.a.e.a;f++){h=n.a.e[f];AC(b,h);AC(c,h);}zC(b,Dub(new Cub(),n,b,k));zC(c,bvb(new avb(),n,c,k));if(FC(b)>1){scb(k,'Insert a new fact',b);e=iA(new gA());jA(e,c);g=nB(new xA(),'images/inf!
 ormation.gif');g.te('Logically assert a fact - the fact will be retracted when the supporting evidence is removed.');jA(e,g);scb(k,'Logically insert a new fact',e);}if(n.a.a.a>0){a=xC(new nC());AC(a,'Choose...');for(f=0;f<n.a.a.a;f++){m=n.a.a[f];BC(a,sjb(m),oT(f));}zC(a,fvb(new evb(),n,a,k));scb(k,'DSL sentence',a);}wE(k,dc(ai()/3),dc(Fh()/3));zE(k);}
+function dxb(c,d){var a,b;b=rcb(new mcb(),'images/config.png','Add an option to the rule');a=mub();gD(a,0);zC(a,Cvb(new Bvb(),c,a,b));FN(b,'ks-popups-Popup');scb(b,'Attribute',a);wE(b,wN(d)-400,xN(d));zE(b);}
+function exb(j,k){var a,b,c,d,e,f,g,h,i;h=rcb(new mcb(),'images/new_fact.gif','Add a condition to the rule...');f=j.a.e;e=xC(new nC());BC(e,'Choose fact type...','IGNORE');for(g=0;g<f.a;g++){AC(e,f[g]);}gD(e,0);if(f.a>0)scb(h,'Fact',e);zC(e,iwb(new hwb(),j,e,h));FN(h,'ks-popups-Popup');c=(Dfb(),Efb);b=xC(new nC());BC(b,'Choose condition type...','IGNORE');for(g=0;g<c.a;g++){a=c[g];BC(b,cgb(a),a);}gD(b,0);if(f.a>0)scb(h,'Condition type',b);zC(b,mwb(new lwb(),j,b,h));if(j.a.b.a>0){d=xC(new nC());AC(d,'Choose...');for(g=0;g<j.a.b.a;g++){i=j.a.b[g];BC(d,sjb(i),oT(g));}zC(d,qwb(new pwb(),j,d,h));scb(h,'DSL sentence',d);}wE(h,wN(k)-400,xN(k));zE(h);}
+function fxb(b){var a;a=nz(new qw(),'&nbsp;');a.qe('2px');return a;}
+function gxb(f,d,b,g){var a,c,e;a=Fab(new Eab());e=Ccb(new Bcb(),'images/delete_item_small.gif');e.te('Remove this ENTIRE condition, and all the field constraints that belong to it.');c=b;oB(e,jvb(new ivb(),f,d,c));a.Be('100%');g.Be('100%');jA(a,g);jA(a,e);return a;}
+function hxb(){return Aab(this.b)||this.j;}
+function oub(){}
+_=oub.prototype=new pab();_.pc=hxb;_.tN=mgc+'RuleModeller';_.tI=333;_.a=null;_.b=null;_.c=null;function qvb(b,a){b.a=a;return b;}
+function svb(a){exb(this.a,a);}
+function pub(){}
+_=pub.prototype=new fU();_.zc=svb;_.tN=mgc+'RuleModeller$1';_.tI=334;function rub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function tub(a){uwb(this.a,aD(this.c,bD(this.c)));this.b.lc();}
+function qub(){}
+_=qub.prototype=new fU();_.yc=tub;_.tN=mgc+'RuleModeller$10';_.tI=335;function vub(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function xub(a){Awb(this.a,aD(this.c,bD(this.c)));this.b.lc();}
+function uub(){}
+_=uub.prototype=new fU();_.yc=xub;_.tN=mgc+'RuleModeller$11';_.tI=336;function zub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Bub(a){vwb(this.a,aD(this.b,bD(this.b)));this.c.lc();}
+function yub(){}
+_=yub.prototype=new fU();_.yc=Bub;_.tN=mgc+'RuleModeller$12';_.tI=337;function Dub(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Fub(b){var a;a=aD(this.b,bD(this.b));Akb(this.a.c,uhb(new shb(),a));Fwb(this.a);this.c.lc();}
+function Cub(){}
+_=Cub.prototype=new fU();_.yc=Fub;_.tN=mgc+'RuleModeller$13';_.tI=338;function bvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function dvb(b){var a;a=aD(this.b,bD(this.b));Akb(this.a.c,Chb(new Ahb(),a));Fwb(this.a);this.c.lc();}
+function avb(){}
+_=avb.prototype=new fU();_.yc=dvb;_.tN=mgc+'RuleModeller$14';_.tI=339;function fvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function hvb(b){var a;a=mT(cD(this.b,bD(this.b)));ywb(this.a,this.a.a.a[a]);this.c.lc();}
+function evb(){}
+_=evb.prototype=new fU();_.yc=hvb;_.tN=mgc+'RuleModeller$15';_.tI=340;function jvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function lvb(b){var a;a=vfb(new mfb(),'Remove this entire condition?',nvb(new mvb(),this,this.c,this.b));wE(a,wN(b),xN(b));zE(a);}
+function ivb(){}
+_=ivb.prototype=new fU();_.zc=lvb;_.tN=mgc+'RuleModeller$16';_.tI=341;function nvb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function pvb(){if(dlb(this.c,this.b)){Fwb(this.a.a);}else{xbb("Can't remove that item as it is used in the action part of the rule.");}}
+function mvb(){}
+_=mvb.prototype=new fU();_.pb=pvb;_.tN=mgc+'RuleModeller$17';_.tI=342;function uvb(b,a){b.a=a;return b;}
+function wvb(a){cxb(this.a,a);}
+function tvb(){}
+_=tvb.prototype=new fU();_.zc=wvb;_.tN=mgc+'RuleModeller$2';_.tI=343;function yvb(b,a){b.a=a;return b;}
+function Avb(a){dxb(this.a,a);}
+function xvb(){}
+_=xvb.prototype=new fU();_.zc=Avb;_.tN=mgc+'RuleModeller$3';_.tI=344;function Cvb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function Evb(a){ykb(this.a.c,okb(new nkb(),aD(this.b,bD(this.b)),''));Fwb(this.a);this.c.lc();}
+function Bvb(){}
+_=Bvb.prototype=new fU();_.yc=Evb;_.tN=mgc+'RuleModeller$4';_.tI=345;function awb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function cwb(b){var a;a=vfb(new mfb(),'Remove this item?',ewb(new dwb(),this,this.c,this.b));wE(a,wN(b),xN(b));zE(a);}
+function Fvb(){}
+_=Fvb.prototype=new fU();_.zc=cwb;_.tN=mgc+'RuleModeller$5';_.tI=346;function ewb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function gwb(){elb(this.c,this.b);Fwb(this.a.a);}
+function dwb(){}
+_=dwb.prototype=new fU();_.pb=gwb;_.tN=mgc+'RuleModeller$6';_.tI=347;function iwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function kwb(b){var a;a=aD(this.b,bD(this.b));if(!EU(a,'IGNORE')){zwb(this.a,a);this.c.lc();}}
+function hwb(){}
+_=hwb.prototype=new fU();_.yc=kwb;_.tN=mgc+'RuleModeller$7';_.tI=348;function mwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function owb(b){var a;a=cD(this.b,bD(this.b));if(!EU(a,'IGNORE')){wwb(this.a,a);this.c.lc();}}
+function lwb(){}
+_=lwb.prototype=new fU();_.yc=owb;_.tN=mgc+'RuleModeller$8';_.tI=349;function qwb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function swb(b){var a;a=mT(cD(this.b,bD(this.b)));xwb(this.a,this.a.a.b[a]);this.c.lc();}
+function pwb(){}
+_=pwb.prototype=new fU();_.yc=swb;_.tN=mgc+'RuleModeller$9';_.tI=350;function kxb(b,a,c){b.a=c;return b;}
+function mxb(a){hi(v()+'asset?'+'attachmentUUID'+'='+this.a,'downloading...','resizable=no,scrollbars=yes,status=no');}
+function jxb(){}
+_=jxb.prototype=new fU();_.zc=mxb;_.tN=ngc+'AssetAttachmentFileWidget$1';_.tI=351;function oxb(b,a){b.a=a;return b;}
+function qxb(a){Cxb(this.a);Dxb(this.a);}
+function nxb(){}
+_=nxb.prototype=new fU();_.zc=qxb;_.tN=ngc+'AssetAttachmentFileWidget$2';_.tI=352;function sxb(b,a){b.a=a;return b;}
+function vxb(a){}
+function uxb(a){sdb();if(aV(a.a,'OK')>(-1)){f_b(this.a.e);}else{xbb('Unable to upload the file.');}}
+function rxb(){}
+_=rxb.prototype=new fU();_.od=vxb;_.nd=uxb;_.tN=ngc+'AssetAttachmentFileWidget$3';_.tI=353;function jyb(){jyb=d3;ucb();}
+function hyb(c){var a,b;jyb();rcb(c,'images/new_wiz.gif','Create a new fact template');c.a=ut(new ot());c.b=eL(new vK());scb(c,'Name:',c.b);scb(c,'Fact attributes:',c.a);a=nB(new xA(),'images/new_item.gif');oB(a,ayb(new Fxb(),c));scb(c,'Add a new attribute',a);b=zp(new tp(),'Create');b.x(eyb(new dyb(),c));scb(c,'',b);return c;}
+function iyb(b){var a;a=yt(b.a);b.a.ze(a,0,eL(new vK()));b.a.ze(a,1,myb(b));}
+function kyb(d){var a,b,c,e,f;b='template '+CK(d.b)+'\n';for(a=0;a<yt(d.a);a++){e=Fb(ty(d.a,a,1),85);f=aD(e,bD(e));c=CK(Fb(ty(d.a,a,0),80));b=b+'\t'+f+' '+c+'\n';}return b+'end';}
+function lyb(b,a){b.c=a;}
+function myb(b){var a;a=xC(new nC());AC(a,'String');AC(a,'Integer');AC(a,'Float');AC(a,'Date');AC(a,'Boolean');return a;}
+function Exb(){}
+_=Exb.prototype=new mcb();_.tN=ngc+'FactTemplateWizard';_.tI=354;_.a=null;_.b=null;_.c=null;function ayb(b,a){b.a=a;return b;}
+function cyb(a){iyb(this.a);}
+function Fxb(){}
+_=Fxb.prototype=new fU();_.zc=cyb;_.tN=ngc+'FactTemplateWizard$1';_.tI=355;function eyb(b,a){b.a=a;return b;}
+function gyb(a){jDb(this.a.c);this.a.lc();}
+function dyb(){}
+_=dyb.prototype=new fU();_.zc=gyb;_.tN=ngc+'FactTemplateWizard$2';_.tI=356;function oyb(b,a,c){wxb(b,a,c);return b;}
+function qyb(){return 'images/model_large.png';}
+function ryb(){return 'editable-Surface';}
+function nyb(){}
+_=nyb.prototype=new ixb();_.vb=qyb;_.Eb=ryb;_.tN=ngc+'ModelAttachmentFileWidget';_.tI=357;function qzb(){qzb=d3;ucb();}
+function ozb(a){a.b=bcb(new Fbb());a.d=bcb(new Fbb());}
+function pzb(f,b){var a,c,d,e;qzb();rcb(f,'images/new_wiz.gif','Create a new package');ozb(f);f.c=eL(new vK());f.a=pK(new oK());gcb(f.d,nz(new qw(),'<i><small>Create a new package in the BRMS<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Importing a package from an existing DRL will create the package in the BRMS if it does not already exist. If it does exist, any new rules found will be merged into the BRMS package.<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Any new rules created will not have any categories assigned initially, but rules and functions will be stored individually (ie normalised). Queries, imports etc will show up in the package configuration.<\/small><\/i>'));gcb(f.b,nz(new qw(),'<i><small>Any DSLs or models required by the imported package will need to be uploaded seperately.<\/small><\/i>'));dcb(f.d,'Name:',f.c);dcb(f.d,'Description:',f.a);f.c.te('The name of the package. Avoid spaces, use underscore instead.');e=jG(new hG(),'action','Create new pa!
 ckage');d=jG(new hG(),'action','Import from drl file');pq(e,true);f.d.ye(true);e.x(uyb(new tyb(),f));f.b.ye(false);d.x(yyb(new xyb(),f));a=lp(new kp());mp(a,e);mp(a,d);tcb(f,a);tcb(f,f.d);tcb(f,f.b);dcb(f.b,'DRL file to import:',szb(b,f));c=zp(new tp(),'Create package');c.x(Cyb(new Byb(),f,b));dcb(f.d,'',c);FN(f,'ks-popups-Popup');return f;}
+function rzb(d,b,a,c){wdb('Creating package - please wait...');ETb(mMb(),b,a,bzb(new azb(),d,c));}
+function szb(a,d){qzb();var b,c,e,f;f=fv(new av());lv(f,v()+'package');mv(f,'multipart/form-data');nv(f,'post');c=iA(new gA());f.Ae(c);e=jt(new it());mt(e,'classicDRLFile');jA(c,e);jA(c,fC(new dC(),'upload:'));b=Dcb(new Bcb(),'images/upload.gif','Import');oB(b,gzb(new fzb(),f));jA(c,b);gv(f,kzb(new jzb(),a,d,e));return f;}
+function syb(){}
+_=syb.prototype=new mcb();_.tN=ngc+'NewPackageWizard';_.tI=358;_.a=null;_.c=null;function uyb(b,a){b.a=a;return b;}
+function wyb(a){this.a.d.ye(true);this.a.b.ye(false);}
+function tyb(){}
+_=tyb.prototype=new fU();_.zc=wyb;_.tN=ngc+'NewPackageWizard$1';_.tI=359;function yyb(b,a){b.a=a;return b;}
+function Ayb(a){this.a.d.ye(false);this.a.b.ye(true);}
+function xyb(){}
+_=xyb.prototype=new fU();_.zc=Ayb;_.tN=ngc+'NewPackageWizard$2';_.tI=360;function Cyb(b,a,c){b.a=a;b.b=c;return b;}
+function Eyb(b,a){return dV(a,'[a-zA-Z\\.]*');}
+function Fyb(a){if(Eyb(this,CK(this.a.c))){rzb(this.a,CK(this.a.c),CK(this.a.a),this.b);this.a.lc();}else{aL(this.a.c,'');zh('Invalid package name, use java-style package name');}}
+function Byb(){}
+_=Byb.prototype=new fU();_.zc=Fyb;_.tN=ngc+'NewPackageWizard$3';_.tI=361;function bzb(b,a,c){b.a=c;return b;}
+function dzb(b,a){sdb();sFb(b.a);}
+function ezb(a){dzb(this,a);}
+function azb(){}
+_=azb.prototype=new vcb();_.pd=ezb;_.tN=ngc+'NewPackageWizard$4';_.tI=362;function gzb(a,b){a.a=b;return a;}
+function izb(a){if(Bh('Are you sure you want to import this package? If the package already exists in the BRMS it will be merged.')){wdb('Importing drl package, please wait, as this could take some time...');pv(this.a);}}
+function fzb(){}
+_=fzb.prototype=new fU();_.zc=izb;_.tN=ngc+'NewPackageWizard$5';_.tI=363;function kzb(a,b,c,d){a.a=b;a.b=c;a.c=d;return a;}
+function nzb(a){if(cV(lt(this.c))==0){zh('You did not choose a drl file to import !');Bv(a,true);}else if(!CU(lt(this.c),'.drl')){zh("You can only import '.drl' files.");Bv(a,true);}}
+function mzb(a){if(aV(a.a,'OK')>(-1)){zh('Package was imported successfully. ');sFb(this.a);this.b.lc();}else{xbb('Unable to import into the package. ['+a.a+']');}sdb();}
+function jzb(){}
+_=jzb.prototype=new fU();_.od=nzb;_.nd=mzb;_.tN=ngc+'NewPackageWizard$6';_.tI=364;function nBb(h,e,f){var a,b,c,d,g;h.c=ccb(new Fbb(),'images/package_builder.png','Verify and assemble package');h.a=e;h.b=f;b=fH(new DG());g=eL(new vK());a=zp(new tp(),'Build package');a.te('This will validate and compile all the assets in a package.');a.x(gAb(new uzb(),h,b,g));c=zp(new tp(),'Show package source');c.x(kAb(new jAb(),h,e));dcb(h.c,'View source for package',c);d=iA(new gA());jA(d,a);jA(d,nz(new qw(),'&nbsp;&nbsp;<i>(Optional) selector name: <\/i>'));jA(d,g);jA(d,edb(new Fcb(),'Custom selector',"A selector is configured by administrators to choose what assets form part of a package build. This is configured on the server side. The name given is the name of the configuration that the administrator has set. This is an optional feature (if you don't know what it is, you probably don't need to use it)."));dcb(h.c,'Build binary package:',d);gcb(h.c,nz(new qw(),'<i><small>Building a pac!
 kage will collect all the assets, validate and compile into a deployable package.<\/small><\/i>'));gcb(h.c,b);FN(h.c,'package-Editor');h.c.Be('100%');pr(h,h.c);return h;}
+function pBb(d,a,c){var b;a.ab();b=iA(new gA());jA(b,fC(new dC(),'Validating and building package, please wait...'));jA(b,nB(new xA(),'images/red_anime.gif'));wdb('Please wait...');hH(a,b);fg(DAb(new CAb(),d,c,a));}
+function qBb(i,e,a){var b,c,d,f,g,h;a.ab();b=ut(new ot());FN(b,'build-Results');bz(b,0,1,'Format');bz(b,0,2,'Name');bz(b,0,3,'Message');for(c=0;c<e.a;c++){f=c+1;d=e[c];b.ze(f,0,nB(new xA(),'images/error.gif'));bz(b,f,1,d.a);bz(b,f,2,d.b);bz(b,f,3,d.c);if(!EU('package',d.a)){h=zp(new tp(),'Show');h.x(kBb(new jBb(),i,d));b.ze(f,4,h);}}b.Be('100%');g=zG(new xG(),b);BG(g,true);EN(g,'100%','25em');hH(a,g);}
+function rBb(g,i){var a,b,c,d,e,f,h;wdb('Loading existing snapshots...');c=rcb(new mcb(),'images/snapshot.png','Create a snapshot for deployment.');tcb(c,nz(new qw(),"<i>A package snapshot is essentially a read only 'locked in' and labelled view of a package at a point in time, which can be used for deployment.<\/i>"));h=sO(new qO());scb(c,'Choose or create snapshot name:',h);f=nY(new lY());d=eL(new vK());e='NEW: ';dUb(mMb(),g.a.j,wzb(new vzb(),g,f,h,d));a=eL(new vK());scb(c,'Comment:',a);b=zp(new tp(),'Create new snapshot');scb(c,'',b);b.x(Ezb(new Dzb(),g,f,d,a,c));c.Be('50%');wE(c,dc((tab()-rE(c))/2),100);zE(c);}
+function sBb(e,a){var b,c,d,f;a.ab();f=sO(new qO());tO(f,nz(new qw(),"<img src='images/tick_green.gif'/><i>Package built successfully.<\/i>"));c=uBb(e.a);b=nz(new qw(),"<a href='"+c+"' target='_blank'>Download binary package<\/a>");tO(f,b);d=zp(new tp(),'Create snapshot for deployment');d.x(gBb(new fBb(),e));tO(f,d);hH(a,f);}
+function tBb(b,a){wdb('Assembling package source...');fg(oAb(new nAb(),b,a));}
+function uBb(a){var b,c;b=v()+'package/'+a.j;if(!a.g){b=b+'/'+'LATEST';}else{b=b+'/'+a.k;}c=b;return c;}
+function vBb(b,c){var a,d;d=rcb(new mcb(),'images/view_source.gif','Viewing source for: '+c);a=pK(new oK());uK(a,30);a.Be('100%');tK(a,80);tcb(d,a);aL(a,b);a.ne(true);a.te('THIS IS READ ONLY - you may copy and paste, but not edit.');zK(a,xAb(new wAb(),a,b));sdb();wE(d,dc((tab()-rE(d))/2),100);zE(d);}
+function tzb(){}
+_=tzb.prototype=new nr();_.tN=ngc+'PackageBuilderWidget';_.tI=365;_.a=null;_.b=null;_.c=null;function gAb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function iAb(a){pBb(this.a,this.b,CK(this.c));}
+function uzb(){}
+_=uzb.prototype=new fU();_.zc=iAb;_.tN=ngc+'PackageBuilderWidget$1';_.tI=366;function wzb(b,a,d,e,c){b.b=d;b.c=e;b.a=c;return b;}
+function yzb(a){var b,c,d,e,f;f=Fb(a,86);for(c=0;c<f.a;c++){b=jG(new hG(),'snapshotNameGroup',f[c].b);pY(this.b,b);tO(this.c,b);}d=iA(new gA());e=jG(new hG(),'snapshotNameGroup','NEW: ');jA(d,e);this.a.ne(false);e.x(Azb(new zzb(),this,this.a));jA(d,this.a);pY(this.b,e);tO(this.c,d);sdb();}
+function vzb(){}
+_=vzb.prototype=new vcb();_.pd=yzb;_.tN=ngc+'PackageBuilderWidget$10';_.tI=367;function Azb(b,a,c){b.a=c;return b;}
+function Czb(a){this.a.ne(true);}
+function zzb(){}
+_=zzb.prototype=new fU();_.zc=Czb;_.tN=ngc+'PackageBuilderWidget$11';_.tI=368;function Ezb(b,a,f,e,c,d){b.b=a;b.f=f;b.e=e;b.c=c;b.d=d;return b;}
+function aAb(d){var a,b,c;c=false;for(b=this.f.qc();b.kc();){a=Fb(b.sc(),87);if(oq(a)){this.a=nq(a);if(!EU(nq(a),'NEW: ')){c=true;}break;}}if(EU(this.a,'NEW: ')){this.a=CK(this.e);}if(EU(this.a,'')){zh('You have to enter or chose a label (name) for the snapshot.');return;}DTb(mMb(),this.b.a.j,this.a,c,CK(this.c),cAb(new bAb(),this,this.d));}
+function Dzb(){}
+_=Dzb.prototype=new fU();_.zc=aAb;_.tN=ngc+'PackageBuilderWidget$12';_.tI=369;_.a='';function cAb(b,a,c){b.a=a;b.b=c;return b;}
+function eAb(b,a){zh('The snapshot called: '+b.a.a+' was successfully created.');b.b.lc();}
+function fAb(a){eAb(this,a);}
+function bAb(){}
+_=bAb.prototype=new vcb();_.pd=fAb;_.tN=ngc+'PackageBuilderWidget$13';_.tI=370;function kAb(b,a,c){b.a=c;return b;}
+function mAb(a){tBb(this.a.m,this.a.j);}
+function jAb(){}
+_=jAb.prototype=new fU();_.zc=mAb;_.tN=ngc+'PackageBuilderWidget$2';_.tI=371;function oAb(a,c,b){a.b=c;a.a=b;return a;}
+function qAb(){sTb(mMb(),this.b,sAb(new rAb(),this,this.a));}
+function nAb(){}
+_=nAb.prototype=new fU();_.pb=qAb;_.tN=ngc+'PackageBuilderWidget$3';_.tI=372;function sAb(b,a,c){b.a=c;return b;}
+function uAb(c,b){var a;a=Fb(b,1);vBb(a,c.a);}
+function vAb(a){uAb(this,a);}
+function rAb(){}
+_=rAb.prototype=new vcb();_.pd=vAb;_.tN=ngc+'PackageBuilderWidget$4';_.tI=373;function xAb(a,b,c){a.a=b;a.b=c;return a;}
+function zAb(a,b,c){aL(this.a,this.b);}
+function AAb(a,b,c){aL(this.a,this.b);}
+function BAb(a,b,c){aL(this.a,this.b);}
+function wAb(){}
+_=wAb.prototype=new fU();_.cd=zAb;_.dd=AAb;_.ed=BAb;_.tN=ngc+'PackageBuilderWidget$5';_.tI=374;function DAb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function FAb(){tTb(mMb(),this.a.a.m,this.c,bBb(new aBb(),this,this.b));}
+function CAb(){}
+_=CAb.prototype=new fU();_.pb=FAb;_.tN=ngc+'PackageBuilderWidget$6';_.tI=375;function bBb(b,a,c){b.a=a;b.b=c;return b;}
+function dBb(c,a){var b;sdb();if(a===null){sBb(c.a.a,c.b);}else{b=Fb(a,88);qBb(c.a.a,b,c.b);}}
+function eBb(a){dBb(this,a);}
+function aBb(){}
+_=aBb.prototype=new vcb();_.pd=eBb;_.tN=ngc+'PackageBuilderWidget$7';_.tI=376;function gBb(b,a){b.a=a;return b;}
+function iBb(a){rBb(this.a,a);}
+function fBb(){}
+_=fBb.prototype=new fU();_.zc=iBb;_.tN=ngc+'PackageBuilderWidget$8';_.tI=377;function kBb(b,a,c){b.a=a;b.b=c;return b;}
+function mBb(a){oIb(this.a.b,this.b.d);}
+function jBb(){}
+_=jBb.prototype=new fU();_.zc=mBb;_.tN=ngc+'PackageBuilderWidget$9';_.tI=378;function tEb(e,b,c,a,d){bcb(e);e.b=b;e.c=c;e.a=a;e.e=d;FN(e,'package-Editor');e.Be('100%');zEb(e);return e;}
+function vEb(b){var a;a=pK(new oK());a.Be('100%');uK(a,8);aL(a,b.b.d);yK(a,qDb(new pDb(),b,a));tK(a,100);return xEb(b,a);}
+function wEb(b,a){wdb('Saving package configuration. Please wait ...');uUb(mMb(),b.b,cCb(new bCb(),b,a));}
+function xEb(d,a){var b,c;c=iA(new gA());jA(c,a);b=nB(new xA(),'images/max_min.gif');b.te('Increase view area');jA(c,b);oB(b,mDb(new lDb(),d,a));return c;}
+function yEb(g){var a,b,c,d,e,f,h;a=pK(new oK());a.Be('100%');uK(a,8);tK(a,100);aL(a,g.b.f);yK(a,pCb(new oCb(),g,a));f=iA(new gA());jA(f,a);h=sO(new qO());b=nB(new xA(),'images/max_min.gif');oB(b,tCb(new sCb(),g,a));b.te('Increase view area.');tO(h,b);e=nB(new xA(),'images/new_import.gif');oB(e,xCb(new wCb(),g,a));tO(h,e);e.te('Add a new Type/Class import to the package.');d=nB(new xA(),'images/new_global.gif');oB(d,BCb(new ACb(),g,a));d.te('Add a new global variable declaration.');tO(h,d);c=nB(new xA(),'images/fact_template.gif');oB(c,dDb(new cDb(),g,a));c.te('Add a new fact template.');f.Be('100%');jA(f,h);return f;}
+function zEb(c){var a,b;hcb(c);gcb(c,aFb(c));dcb(c,'Description:',vEb(c));dcb(c,'Header:',yEb(c));gcb(c,nz(new qw(),'<hr/>'));dcb(c,'Last modified:',fC(new dC(),a0(c.b.i)));dcb(c,'Last contributor:',fC(new dC(),c.b.h));gcb(c,nz(new qw(),'<hr/>'));c.f=mz(new qw());b=iA(new gA());a=Ccb(new Bcb(),'images/edit.gif');a.te('Change status.');oB(a,ECb(new xBb(),c));jA(b,c.f);if(!c.b.g){jA(b,a);}CEb(c,c.b.l);dcb(c,'Status:',b);if(!c.b.g){gcb(c,BEb(c));}gcb(c,nz(new qw(),'<hr/>'));}
+function AEb(a){wdb('Refreshing package data...');iUb(mMb(),a.b.m,lCb(new kCb(),a));}
+function BEb(f){var a,b,c,d,e;c=iA(new gA());e=zp(new tp(),'Save and validate configuration');e.x(BDb(new ADb(),f));jA(c,e);a=zp(new tp(),'Archive');a.x(FDb(new EDb(),f));jA(c,a);b=zp(new tp(),'Copy');b.x(dEb(new cEb(),f));jA(c,b);d=zp(new tp(),'Rename');d.x(hEb(new gEb(),f));jA(c,d);return c;}
+function CEb(b,a){qz(b.f,'<b>'+a+'<\/b>');}
+function DEb(d){var a,b,c;c=rcb(new mcb(),'images/new_wiz.gif','Copy the package');tcb(c,nz(new qw(),'<i>Copy the package and all its assets. A new unique name is required.<\/i>'));a=eL(new vK());scb(c,'New package name:',a);b=zp(new tp(),'OK');scb(c,'',b);b.x(zBb(new yBb(),d,a,c));c.Be('40%');wE(c,dc(ai()/3),dc(Fh()/3));zE(c);}
+function EEb(d){var a,b,c;c=rcb(new mcb(),'images/new_wiz.gif','Rename the package');tcb(c,nz(new qw(),'<i>Rename the package. A new unique name is required.<\/i>'));a=eL(new vK());scb(c,'New package name:',a);b=zp(new tp(),'OK');scb(c,'',b);b.x(lEb(new kEb(),d,a,c));c.Be('40%');wE(c,dc(ai()/3),dc(Fh()/3));zE(c);}
+function FEb(b,c){var a;a=zeb(new deb(),b.b.m,true);Ceb(a,xDb(new wDb(),b,a));wE(a,wN(c),xN(c));zE(a);}
+function aFb(e){var a,b,c,d;if(e.d!==null&&e.d.c){b=nB(new xA(),'images/warning.gif');a=iA(new gA());jA(a,b);c=nz(new qw(),'<b>There were errors validating this package configuration.');jA(a,c);d=zp(new tp(),'View errors');d.x(tDb(new bDb(),e));jA(a,d);return a;}else{return fH(new DG());}}
+function wBb(){}
+_=wBb.prototype=new Fbb();_.tN=ngc+'PackageEditor';_.tI=379;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;function ECb(b,a){b.a=a;return b;}
+function aDb(a){FEb(this.a,a);}
+function xBb(){}
+_=xBb.prototype=new fU();_.zc=aDb;_.tN=ngc+'PackageEditor$1';_.tI=380;function zBb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function BBb(a){ATb(mMb(),this.a.b.j,CK(this.b),DBb(new CBb(),this,this.c));}
+function yBb(){}
+_=yBb.prototype=new fU();_.zc=BBb;_.tN=ngc+'PackageEditor$10';_.tI=381;function DBb(b,a,c){b.a=a;b.b=c;return b;}
+function FBb(b,a){qGb(b.a.a.e);zh('Package copied successfully.');b.b.lc();}
+function aCb(a){FBb(this,a);}
+function CBb(){}
+_=CBb.prototype=new vcb();_.pd=aCb;_.tN=ngc+'PackageEditor$11';_.tI=382;function cCb(b,a,c){b.a=a;b.b=c;return b;}
+function eCb(b,a){wGb(b.a.a);b.a.d=Fb(a,89);AEb(b.a);wdb('Package configuration updated successfully, refreshing content cache...');eLb((aLb(),fLb),b.a.b.j,hCb(new gCb(),b,b.b));}
+function fCb(a){eCb(this,a);}
+function bCb(){}
+_=bCb.prototype=new vcb();_.pd=fCb;_.tN=ngc+'PackageEditor$12';_.tI=383;function hCb(b,a,c){b.a=c;return b;}
+function jCb(){if(this.a!==null){qGb(this.a);}sdb();}
+function gCb(){}
+_=gCb.prototype=new fU();_.pb=jCb;_.tN=ngc+'PackageEditor$13';_.tI=384;function lCb(b,a){b.a=a;return b;}
+function nCb(a){sdb();this.a.b=Fb(a,16);zEb(this.a);}
+function kCb(){}
+_=kCb.prototype=new vcb();_.pd=nCb;_.tN=ngc+'PackageEditor$14';_.tI=385;function pCb(b,a,c){b.a=a;b.b=c;return b;}
+function rCb(a){this.a.b.f=CK(this.b);mGb(this.a.c);}
+function oCb(){}
+_=oCb.prototype=new fU();_.yc=rCb;_.tN=ngc+'PackageEditor$16';_.tI=386;function tCb(b,a,c){b.a=c;return b;}
+function vCb(a){if(sK(this.a)!=32){uK(this.a,32);}else{uK(this.a,8);}}
+function sCb(){}
+_=sCb.prototype=new fU();_.zc=vCb;_.tN=ngc+'PackageEditor$17';_.tI=387;function xCb(b,a,c){b.a=a;b.b=c;return b;}
+function zCb(a){aL(this.b,CK(this.b)+'\n'+'import <your class here>');this.a.b.f=CK(this.b);}
+function wCb(){}
+_=wCb.prototype=new fU();_.zc=zCb;_.tN=ngc+'PackageEditor$18';_.tI=388;function BCb(b,a,c){b.a=a;b.b=c;return b;}
+function DCb(a){aL(this.b,CK(this.b)+'\n'+'global <your class here> <variable name>');this.a.b.f=CK(this.b);}
+function ACb(){}
+_=ACb.prototype=new fU();_.zc=DCb;_.tN=ngc+'PackageEditor$19';_.tI=389;function tDb(b,a){b.a=a;return b;}
+function vDb(a){var b;b=Eeb(new Deb(),this.a.d.a,this.a.d.b);wE(b,dc(ai()/4),xN(a));zE(b);}
+function bDb(){}
+_=bDb.prototype=new fU();_.zc=vDb;_.tN=ngc+'PackageEditor$2';_.tI=390;function dDb(b,a,c){b.a=a;b.b=c;return b;}
+function fDb(a){var b;b=hyb(new Exb());wE(b,wN(a)-400,xN(a)-250);lyb(b,hDb(new gDb(),this,this.b,b));zE(b);}
+function cDb(){}
+_=cDb.prototype=new fU();_.zc=fDb;_.tN=ngc+'PackageEditor$20';_.tI=391;function hDb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function jDb(a){aL(a.b,CK(a.b)+'\n'+kyb(a.c));a.a.a.b.f=CK(a.b);}
+function kDb(){jDb(this);}
+function gDb(){}
+_=gDb.prototype=new fU();_.pb=kDb;_.tN=ngc+'PackageEditor$21';_.tI=392;function mDb(b,a,c){b.a=c;return b;}
+function oDb(a){if(sK(this.a)!=32){uK(this.a,32);}else{uK(this.a,8);}}
+function lDb(){}
+_=lDb.prototype=new fU();_.zc=oDb;_.tN=ngc+'PackageEditor$22';_.tI=393;function qDb(b,a,c){b.a=a;b.b=c;return b;}
+function sDb(a){this.a.b.d=CK(this.b);mGb(this.a.c);}
+function pDb(){}
+_=pDb.prototype=new fU();_.yc=sDb;_.tN=ngc+'PackageEditor$23';_.tI=394;function xDb(b,a,c){b.a=a;b.b=c;return b;}
+function zDb(){CEb(this.a,this.b.c);}
+function wDb(){}
+_=wDb.prototype=new fU();_.pb=zDb;_.tN=ngc+'PackageEditor$3';_.tI=395;function BDb(b,a){b.a=a;return b;}
+function DDb(a){wEb(this.a,null);}
+function ADb(){}
+_=ADb.prototype=new fU();_.zc=DDb;_.tN=ngc+'PackageEditor$4';_.tI=396;function FDb(b,a){b.a=a;return b;}
+function bEb(a){if(Bh('Are you sure you want to archive (remove) this package?')){this.a.b.a=true;wEb(this.a,this.a.e);}}
+function EDb(){}
+_=EDb.prototype=new fU();_.zc=bEb;_.tN=ngc+'PackageEditor$5';_.tI=397;function dEb(b,a){b.a=a;return b;}
+function fEb(a){DEb(this.a);}
+function cEb(){}
+_=cEb.prototype=new fU();_.zc=fEb;_.tN=ngc+'PackageEditor$6';_.tI=398;function hEb(b,a){b.a=a;return b;}
+function jEb(a){EEb(this.a);}
+function gEb(){}
+_=gEb.prototype=new fU();_.zc=jEb;_.tN=ngc+'PackageEditor$7';_.tI=399;function lEb(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function nEb(a){sUb(mMb(),this.a.b.m,CK(this.b),pEb(new oEb(),this,this.c));}
+function kEb(){}
+_=kEb.prototype=new fU();_.zc=nEb;_.tN=ngc+'PackageEditor$8';_.tI=400;function pEb(b,a,c){b.a=a;b.b=c;return b;}
+function rEb(b,a){qGb(b.a.a.e);zh('Package renamed successfully.');b.b.lc();}
+function sEb(a){rEb(this,a);}
+function oEb(){}
+_=oEb.prototype=new vcb();_.pd=sEb;_.tN=ngc+'PackageEditor$9';_.tI=401;function EHb(a){a.f=oGb(new cFb(),a);}
+function FHb(b,a){aIb(b,a,null,null);return b;}
+function aIb(g,b,h,f){var a,c,d,e;EHb(g);g.b=b;g.h=h;g.c=uM(new hL());g.d=yab(new wab());g.g=new sGb();yM(g.c,g.g);e=sO(new qO());if(f===null){a=ut(new ot());hx(a.n,0,0,'new-asset-Icons');ex(a.n,0,0,(xz(),yz),(aA(),cA));a.ze(0,0,dIb(g));tO(e,a);a.Be('100%');}tO(e,g.c);Bab(g.d,0,0,e);c=xt(g.d);ix(c,0,0,(aA(),dA));tt(xt(g.d),0,1,2);ex(xt(g.d),0,1,(xz(),yz),(aA(),dA));hIb(g);d=aN(g.c,0);if(d!==null)kN(g.c,d);Bab(g.d,0,1,nz(new qw(),'<i>Please choose a package to edit, explore, or create a new package.<\/i>'));kx(xt(g.d),0,0,'25%');ex(xt(g.d),0,1,(xz(),zz),(aA(),dA));g.e=jdc(new ncc(),g.b,'rulelist');pr(g,g.d);return g;}
+function bIb(d,a,c){var b;b=gIb(d,a.j,'images/package.gif',CHb(new BHb(),vFb(new uFb(),d,a)));b.y(gIb(d,'Business rule assets','images/rule_asset.gif',iIb(d,a.m,(p_(),q_))));b.y(gIb(d,'Technical rule assets','images/technical_rule_assets.gif',iIb(d,a.m,(p_(),s_))));b.y(gIb(d,'Functions','images/function_assets.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['function']))));b.y(gIb(d,'DSL','images/dsl.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['dsl']))));b.y(gIb(d,'Model','images/model_asset.gif',iIb(d,a.m,zb('[Ljava.lang.String;',608,1,['jar']))));wM(d.c,b);if(c){lN(d.c,b,true);}}
+function dIb(h){var a,b,c,d,e,f,g,i;g=iA(new gA());d=nB(new xA(),'images/new_package.gif');d.te('Create a new package');oB(d,aHb(new FGb(),h));i=Ccb(new Bcb(),'images/model_asset.gif');oB(i,eHb(new dHb(),h));i.te('This creates a new model archive - models contain classes/types that rules use.');e=Ccb(new Bcb(),'images/new_rule.gif');e.te('Create new rule');oB(e,iHb(new hHb(),h));c=Ccb(new Bcb(),'images/function_assets.gif');c.te('Create a new function');oB(c,qHb(new pHb(),h));a=Ccb(new Bcb(),'images/dsl.gif');a.te('Create a new DSL (language configuration)');oB(a,uHb(new tHb(),h));f=Ccb(new Bcb(),'images/ruleflow_small.gif');f.te('Upload a new ruleflow.');oB(f,yHb(new xHb(),h));b=Ccb(new Bcb(),'images/new_enumeration.gif');b.te('Create a new data enumeration (drop down list)');oB(b,eFb(new dFb(),h));jA(g,d);jA(g,i);jA(g,e);jA(g,c);jA(g,a);jA(g,f);jA(g,b);return g;}
+function eIb(d,a,e){var b,c,f;b=70;f=100;c=w7b(new g7b(),zGb(new yGb(),d),false,a,e,d.a);wE(c,dc((tab()-rE(c))/2),100);zE(c);}
+function fIb(a,b){wdb('Loading package information ...');iUb(mMb(),b,cGb(new bGb(),a));}
+function gIb(e,d,b,a){var c;c=zL(new xL());bM(c,'<img src="'+b+'">'+d+'<\/a>');hM(c,a);return c;}
+function hIb(a){if(a.h===null){wdb('Loading list of packages ...');cUb(mMb(),iFb(new hFb(),a));}else{wdb('Loading package ...');iUb(mMb(),a.h,mFb(new lFb(),a));}}
+function iIb(c,d,b){var a;a=zFb(new yFb(),c);return CHb(new BHb(),EFb(new DFb(),c,d,b,a));}
+function jIb(b,c){var a;a=pzb(new syb(),qFb(new pFb(),b));wE(a,dc((tab()-rE(a))/2),100);zE(a);}
+function bFb(){}
+_=bFb.prototype=new pab();_.tN=ngc+'PackageExplorerWidget';_.tI=402;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.g=null;_.h=null;function oGb(b,a){b.a=a;return b;}
+function qGb(a){hIb(a.a);}
+function rGb(){qGb(this);}
+function cFb(){}
+_=cFb.prototype=new fU();_.pb=rGb;_.tN=ngc+'PackageExplorerWidget$1';_.tI=403;function eFb(b,a){b.a=a;return b;}
+function gFb(a){eIb(this.a,'enumeration','Create a new enumeration (drop down mapping).');}
+function dFb(){}
+_=dFb.prototype=new fU();_.zc=gFb;_.tN=ngc+'PackageExplorerWidget$10';_.tI=404;function iFb(b,a){b.a=a;return b;}
+function kFb(a){var b,c;c=Fb(a,71);zM(this.a.c);for(b=0;b<c.a;b++){if(b==0){bIb(this.a,c[b],true);}else{bIb(this.a,c[b],false);}}sdb();}
+function hFb(){}
+_=hFb.prototype=new vcb();_.pd=kFb;_.tN=ngc+'PackageExplorerWidget$11';_.tI=405;function mFb(b,a){b.a=a;return b;}
+function oFb(a){var b;b=Fb(a,16);zM(this.a.c);bIb(this.a,b,true);sdb();}
+function lFb(){}
+_=lFb.prototype=new vcb();_.pd=oFb;_.tN=ngc+'PackageExplorerWidget$12';_.tI=406;function qFb(b,a){b.a=a;return b;}
+function sFb(a){hIb(a.a);}
+function tFb(){sFb(this);}
+function pFb(){}
+_=pFb.prototype=new fU();_.pb=tFb;_.tN=ngc+'PackageExplorerWidget$13';_.tI=407;function vFb(b,a,c){b.a=a;b.b=c;return b;}
+function xFb(){if(this.a.pc()){if(Bh('Discard Changes ? ')){sab(this.a);fIb(this.a,this.b.m);}}else{fIb(this.a,this.b.m);}}
+function uFb(){}
+_=uFb.prototype=new fU();_.pb=xFb;_.tN=ngc+'PackageExplorerWidget$14';_.tI=408;function zFb(b,a){b.a=a;return b;}
+function BFb(c,a){var b;b=Fb(a,62);odc(c.a.e,b);c.a.e.Be('100%');Bab(c.a.d,0,1,c.a.e);ex(xt(c.a.d),0,1,(xz(),zz),(aA(),dA));sdb();}
+function CFb(a){BFb(this,a);}
+function yFb(){}
+_=yFb.prototype=new vcb();_.pd=CFb;_.tN=ngc+'PackageExplorerWidget$15';_.tI=409;function EFb(b,a,e,d,c){b.c=e;b.b=d;b.a=c;return b;}
+function aGb(){wdb('Loading list, please wait...');bUb(mMb(),this.c,this.b,(-1),(-1),this.a);}
+function DFb(){}
+_=DFb.prototype=new fU();_.pb=aGb;_.tN=ngc+'PackageExplorerWidget$16';_.tI=410;function cGb(b,a){b.a=a;return b;}
+function eGb(c){var a,b,d,e,f,g,h,i;b=Fb(c,16);g=BH(new AH());this.a.a=b.j;e=ccb(new Fbb(),'images/package_large.png',b.j);FN(e,'package-Editor');e.Be('100%');dcb(e,'Description:',fC(new dC(),b.d));dcb(e,'Date created:',fC(new dC(),a0(b.c)));if(b.g){dcb(e,'Snapshot created on:',fC(new dC(),a0(b.i)));dcb(e,'Snapshot comment:',fC(new dC(),b.b));h=uBb(b);d=nz(new qw(),"<a href='"+h+"' target='_blank'>Download binary package<\/a>");dcb(e,'Download package:',d);dcb(e,'Package URI:',fC(new dC(),h));i=zp(new tp(),'View package source');i.x(gGb(new fGb(),this,b));dcb(e,'Show package source:',i);}if(!b.g){gcb(e,nz(new qw(),'<i>Choose one of the options below<\/i>'));}f=kGb(new jGb(),this);a=uGb(new tGb(),this);DH(g,e,"<img src='images/information.gif'/>Info",true);if(!b.g){DH(g,tEb(new wBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>Edit Package configuration",true);DH(g,nBb(new tzb(),b,this.a.b),"<img src='images/package_build.gif'/>Build, validate and deploy",true);}else{DH(!
 g,tEb(new wBb(),b,f,a,this.a.f),"<img src='images/package.gif'/>View Package configuration",true);}g.Be('100%');Bab(this.a.d,0,1,g);sdb();}
+function bGb(){}
+_=bGb.prototype=new vcb();_.pd=eGb;_.tN=ngc+'PackageExplorerWidget$17';_.tI=411;function gGb(b,a,c){b.a=c;return b;}
+function iGb(a){tBb(this.a.m,this.a.j);}
+function fGb(){}
+_=fGb.prototype=new fU();_.zc=iGb;_.tN=ngc+'PackageExplorerWidget$18';_.tI=412;function kGb(b,a){b.a=a;return b;}
+function mGb(a){rab(a.a.a);}
+function nGb(){mGb(this);}
+function jGb(){}
+_=jGb.prototype=new fU();_.pb=nGb;_.tN=ngc+'PackageExplorerWidget$19';_.tI=413;function DGb(c){var a,b;a=Fb(c.k,90);b=a.a;wdb('Please wait...');fg(b);}
+function EGb(a){}
+function sGb(){}
+_=sGb.prototype=new fU();_.rd=DGb;_.sd=EGb;_.tN=ngc+'PackageExplorerWidget$2';_.tI=414;function uGb(b,a){b.a=a;return b;}
+function wGb(a){sab(a.a.a);}
+function xGb(){wGb(this);}
+function tGb(){}
+_=tGb.prototype=new fU();_.pb=xGb;_.tN=ngc+'PackageExplorerWidget$20';_.tI=415;function zGb(b,a){b.a=a;return b;}
+function BGb(a){oIb(this.a.b,a);}
+function yGb(){}
+_=yGb.prototype=new fU();_.wd=BGb;_.tN=ngc+'PackageExplorerWidget$21';_.tI=416;function aHb(b,a){b.a=a;return b;}
+function cHb(a){jIb(this.a,a);}
+function FGb(){}
+_=FGb.prototype=new fU();_.zc=cHb;_.tN=ngc+'PackageExplorerWidget$3';_.tI=417;function eHb(b,a){b.a=a;return b;}
+function gHb(a){eIb(this.a,'jar','Create a new model archive');}
+function dHb(){}
+_=dHb.prototype=new fU();_.zc=gHb;_.tN=ngc+'PackageExplorerWidget$4';_.tI=418;function iHb(b,a){b.a=a;return b;}
+function kHb(d){var a,b,c;a=70;c=100;b=w7b(new g7b(),mHb(new lHb(),this),true,null,'Create a new rule asset',this.a.a);wE(b,dc((tab()-rE(b))/2),100);zE(b);}
+function hHb(){}
+_=hHb.prototype=new fU();_.zc=kHb;_.tN=ngc+'PackageExplorerWidget$5';_.tI=419;function mHb(b,a){b.a=a;return b;}
+function oHb(a){oIb(this.a.a.b,a);}
+function lHb(){}
+_=lHb.prototype=new fU();_.wd=oHb;_.tN=ngc+'PackageExplorerWidget$6';_.tI=420;function qHb(b,a){b.a=a;return b;}
+function sHb(a){eIb(this.a,'function','Create a new function');}
+function pHb(){}
+_=pHb.prototype=new fU();_.zc=sHb;_.tN=ngc+'PackageExplorerWidget$7';_.tI=421;function uHb(b,a){b.a=a;return b;}
+function wHb(a){eIb(this.a,'dsl','Create a new language configuration');}
+function tHb(){}
+_=tHb.prototype=new fU();_.zc=wHb;_.tN=ngc+'PackageExplorerWidget$8';_.tI=422;function yHb(b,a){b.a=a;return b;}
+function AHb(a){eIb(this.a,'rf','Create a new ruleflow');}
+function xHb(){}
+_=xHb.prototype=new fU();_.zc=AHb;_.tN=ngc+'PackageExplorerWidget$9';_.tI=423;function CHb(b,a){b.a=a;return b;}
+function BHb(){}
+_=BHb.prototype=new fU();_.tN=ngc+'PackageExplorerWidget$PackageTreeItem';_.tI=424;_.a=null;function qIb(a){a.a=(nZ(),oZ);}
+function rIb(a){sIb(a,null,null);return a;}
+function sIb(e,c,d){var a,b;qIb(e);e.b=DJ(new pJ());e.b.Be('100%');e.b.qe('30%');a=mIb(new lIb(),e,d);b=null;if(c===null){b=FHb(new bFb(),a);}else{b=aIb(new bFb(),a,c,d);}EJ(e.b,b,"<img src='images/explore.gif'/>Explore",true);eK(e.b,0);pr(e,e.b);return e;}
+function uIb(b,a){b.a=a;}
+function kIb(){}
+_=kIb.prototype=new nr();_.tN=ngc+'PackageManagerView';_.tI=425;_.b=null;function mIb(b,a,c){b.a=a;b.b=c;return b;}
+function oIb(b,a){c5b(b.a.a,b.a.b,a,b.b!==null);}
+function pIb(a){oIb(this,a);}
+function lIb(){}
+_=lIb.prototype=new fU();_.wd=pIb;_.tN=ngc+'PackageManagerView$1';_.tI=426;function nKb(b){var a,c;b.a=ut(new ot());b.c=DJ(new pJ());b.c.Be('100%');b.c.qe('100%');c=sO(new qO());tO(c,b.a);a=zp(new tp(),'Rebuild snapshot binaries');a.te('Rebuilding the binaries may be needed if the BRMS software was updated. Otherwise it should not be needed.');a.x(new wIb());tO(c,a);EJ(b.c,c,"<img src='images/package_snapshot.gif'>Snapshots<\/a>",true);kx(b.a.n,0,0,'28%');b.b=mMb();vKb(b);b.a.Be('100%');pr(b,b.c);eK(b.c,0);return b;}
+function oKb(h,c){var a,b,d,e,f,g;g=uM(new hL());d=sO(new qO());for(a=0;a<c.a;a++){e=c[a].j;b=tKb(h,e,'images/package_snapshot.gif',wJb(new vJb(),h,e));wM(g,b);}tO(d,g);f=nz(new qw(),"Refresh list:&nbsp;<img src='images/refresh.gif'/>");gC(f,AJb(new zJb(),h));yM(g,new DJb());xO(d,(aA(),dA));wO(d,(xz(),zz));tO(d,f);FN(d,'snapshot-List');h.a.ze(0,0,d);ix(h.a.n,0,0,(aA(),dA));}
+function qKb(g,e,f){var a,b,c,d;c=rcb(new mcb(),'images/snapshot.png','Copy snapshot '+f);a=eL(new vK());scb(c,'New label:',a);d=zp(new tp(),'OK');scb(c,'',d);d.x(gKb(new fKb(),g,e,f,a,c));b=zp(new tp(),'Copy');b.x(yIb(new xIb(),g,c));return b;}
+function rKb(d,c,b){var a;a=zp(new tp(),'Delete');a.x(aJb(new FIb(),d,c,b));return a;}
+function sKb(d,b,c,e){var a;a=zp(new tp(),'Open');a.x(CIb(new BIb(),d,b,c,e));return a;}
+function tKb(e,d,b,a){var c;c=zL(new xL());bM(c,'<img src="'+b+'">'+d+'<\/a>');hM(c,a);return c;}
+function uKb(g,e,f,h){var a,b,c,d,i;i=ut(new ot());d='<b>Viewing snapshot labelled: <\/b>'+f+' for package '+e+'. This should not be edited.';c=iA(new gA());jA(c,nz(new qw(),d));a=Ccb(new Bcb(),'images/close.gif');a.te('Close this view');oB(a,iJb(new hJb(),g));jA(c,a);i.ze(0,0,c);b=xt(i);hx(b,0,0,'editable-Surface');i.ze(1,0,sIb(new kIb(),h,f));i.Be('100%');i.qe('100%');if(g.c.a.f.c>1){dK(g.c,1);}EJ(g.c,i,"<img src='images/package_snapshot_item.gif'> "+e+' ['+f+']',true);eK(g.c,1);}
+function vKb(a){wdb('Loading package list...');cUb(a.b,sJb(new rJb(),a));}
+function wKb(h,d,b){var a,c,e,f,g;e=ccb(new Fbb(),'images/snapshot.png','Labelled snapshots for package: '+d);g=ut(new ot());bz(g,0,1,'Name');bz(g,0,2,'Comment');ux(g.p,0,wfc);for(a=0;a<b.a;a++){f=a+1;c=fC(new dC(),b[a].b);g.ze(f,0,nB(new xA(),'images/package_snapshot_item.gif'));g.ze(f,1,c);g.ze(f,2,fC(new dC(),b[a].a));g.ze(f,3,sKb(h,d,jC(c),b[a].c));g.ze(f,4,qKb(h,d,jC(c)));g.ze(f,5,rKb(h,jC(c),d));if(a%2==0){ux(g.p,a+1,ufc);}}e.Be('100%');gcb(e,g);g.Be('100%');FN(e,vfc);h.a.ze(0,1,e);ix(xt(h.a),0,1,(aA(),dA));}
+function xKb(b,a){wdb('Loading snapshots...');dUb(b.b,a,cKb(new bKb(),b,a));}
+function vIb(){}
+_=vIb.prototype=new nr();_.tN=ngc+'PackageSnapshotView';_.tI=427;_.a=null;_.b=null;_.c=null;function mJb(a){if(Bh('Rebuilding the snapshot binaries will take some time, and only needs to be done if the BRMS itself has been updated recently. This will also cause the rule agents to load the rules anew. Are you sure you want to do this?')){wdb('Rebuilding snapshots. Please wait, this may take some time...');oUb(mMb(),new nJb());}}
+function wIb(){}
+_=wIb.prototype=new fU();_.zc=mJb;_.tN=ngc+'PackageSnapshotView$1';_.tI=428;function yIb(b,a,c){b.a=c;return b;}
+function AIb(a){wE(this.a,dc((tab()-rE(this.a))/2),100);zE(this.a);}
+function xIb(){}
+_=xIb.prototype=new fU();_.zc=AIb;_.tN=ngc+'PackageSnapshotView$10';_.tI=429;function CIb(b,a,c,d,e){b.a=a;b.b=c;b.c=d;b.d=e;return b;}
+function EIb(a){uKb(this.a,this.b,this.c,this.d);}
+function BIb(){}
+_=BIb.prototype=new fU();_.zc=EIb;_.tN=ngc+'PackageSnapshotView$11';_.tI=430;function aJb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function cJb(b){var a;a=Bh('Are you sure you want to delete the snapshot labelled ['+this.c+'] from the package ['+this.b+'] ?');if(!a){return;}else{zTb(this.a.b,this.b,this.c,true,null,eJb(new dJb(),this,this.b));}}
+function FIb(){}
+_=FIb.prototype=new fU();_.zc=cJb;_.tN=ngc+'PackageSnapshotView$12';_.tI=431;function eJb(b,a,c){b.a=a;b.b=c;return b;}
+function gJb(a){xKb(this.a.a,this.b);}
+function dJb(){}
+_=dJb.prototype=new vcb();_.pd=gJb;_.tN=ngc+'PackageSnapshotView$13';_.tI=432;function iJb(b,a){b.a=a;return b;}
+function kJb(a){dK(this.a.c,1);eK(this.a.c,0);}
+function hJb(){}
+_=hJb.prototype=new fU();_.zc=kJb;_.tN=ngc+'PackageSnapshotView$14';_.tI=433;function pJb(b,a){sdb();zh('Snapshots were rebuilt successfully.');}
+function qJb(a){pJb(this,a);}
+function nJb(){}
+_=nJb.prototype=new vcb();_.pd=qJb;_.tN=ngc+'PackageSnapshotView$2';_.tI=434;function sJb(b,a){b.a=a;return b;}
+function uJb(a){var b;b=Fb(a,71);oKb(this.a,b);sdb();}
+function rJb(){}
+_=rJb.prototype=new vcb();_.pd=uJb;_.tN=ngc+'PackageSnapshotView$3';_.tI=435;function wJb(b,a,c){b.a=a;b.b=c;return b;}
+function yJb(){xKb(this.a,this.b);}
+function vJb(){}
+_=vJb.prototype=new fU();_.pb=yJb;_.tN=ngc+'PackageSnapshotView$4';_.tI=436;function AJb(b,a){b.a=a;return b;}
+function CJb(a){vKb(this.a);}
+function zJb(){}
+_=zJb.prototype=new fU();_.zc=CJb;_.tN=ngc+'PackageSnapshotView$5';_.tI=437;function FJb(a){fg(Fb(a.k,4));}
+function aKb(a){}
+function DJb(){}
+_=DJb.prototype=new fU();_.rd=FJb;_.sd=aKb;_.tN=ngc+'PackageSnapshotView$6';_.tI=438;function cKb(b,a,c){b.a=a;b.b=c;return b;}
+function eKb(a){var b;b=Fb(a,86);wKb(this.a,this.b,b);sdb();}
+function bKb(){}
+_=bKb.prototype=new vcb();_.pd=eKb;_.tN=ngc+'PackageSnapshotView$7';_.tI=439;function gKb(b,a,e,f,c,d){b.a=a;b.d=e;b.e=f;b.b=c;b.c=d;return b;}
+function iKb(a){zTb(this.a.b,this.d,this.e,false,CK(this.b),kKb(new jKb(),this,this.d,this.c));}
+function fKb(){}
+_=fKb.prototype=new fU();_.zc=iKb;_.tN=ngc+'PackageSnapshotView$8';_.tI=440;function kKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function mKb(a){xKb(this.a.a,this.c);this.b.lc();}
+function jKb(){}
+_=jKb.prototype=new vcb();_.pd=mKb;_.tN=ngc+'PackageSnapshotView$9';_.tI=441;function aLb(){aLb=d3;fLb=FKb(new yKb());}
+function EKb(a){a.a=k1(new o0());}
+function FKb(a){aLb();EKb(a);return a;}
+function bLb(c,b,a){if(!n1(c.a,b)){dLb(c,b,a);}else{v4b(a);}}
+function cLb(c,b){var a;a=Fb(q1(c.a,b),91);if(a===null){xbb('Unable to get content assistance for this rule.');return null;}return a;}
+function dLb(c,b,a){yV(),BV;lUb(mMb(),b,AKb(new zKb(),c,b,a));}
+function eLb(c,b,a){if(n1(c.a,b)){s1(c.a,b);dLb(c,b,a);}else{a.pb();}}
+function yKb(){}
+_=yKb.prototype=new fU();_.tN=ngc+'SuggestionCompletionCache';_.tI=442;var fLb;function AKb(b,a,d,c){b.a=a;b.c=d;b.b=c;return b;}
+function CKb(c,a){var b;b=Fb(a,91);r1(c.a.a,c.c,b);c.b.pb();}
+function DKb(a){CKb(this,a);}
+function zKb(){}
+_=zKb.prototype=new vcb();_.pd=DKb;_.tN=ngc+'SuggestionCompletionCache$1';_.tI=443;function mLb(){return 'Asset: '+this.b+'.'+this.a+'\n'+'Message: '+this.c+'\n'+'UUID: '+this.d;}
+function gLb(){}
+_=gLb.prototype=new fU();_.tS=mLb;_.tN=ogc+'BuilderResult';_.tI=444;_.a=null;_.b=null;_.c=null;_.d=null;function kLb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();a.d=b.Ed();}
+function lLb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);b.gf(a.d);}
+function nLb(){}
+_=nLb.prototype=new ol();_.tN=ogc+'DetailedSerializableException';_.tI=445;_.a=null;function rLb(b,a){uLb(a,b.Ed());sl(b,a);}
+function sLb(a){return a.a;}
+function tLb(b,a){b.gf(sLb(a));ul(b,a);}
+function uLb(a,b){a.a=b;}
+function wLb(a){a.a=yb('[Ljava.lang.String;',[608],[1],[0],null);}
+function xLb(a){wLb(a);return a;}
+function yLb(e,a){var b,c,d;for(b=0;b<e.a.a;b++){if(EU(e.a[b],a))return;}c=e.a;d=yb('[Ljava.lang.String;',[608],[1],[c.a+1],null);for(b=0;b<c.a;b++){d[b]=c[b];}d[c.a]=a;e.a=d;}
+function ALb(e,b){var a,c,d;d=yb('[Ljava.lang.String;',[608],[1],[e.a.a-1],null);c=0;for(a=0;a<e.a.a;a++){if(a!=b){d[c]=e.a[a];c++;}}e.a=d;}
+function vLb(){}
+_=vLb.prototype=new fU();_.tN=ogc+'MetaData';_.tI=446;_.b='';_.c='';_.d=null;_.e='';_.f=null;_.g=null;_.h='';_.i='';_.j='';_.k='';_.l='';_.m=null;_.n='';_.o='';_.p='';_.q='';_.r='';_.s='';_.t='';_.u='';_.v=0;function DLb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Ed();a.c=b.Ed();a.d=Fb(b.Dd(),59);a.e=b.Ed();a.f=Fb(b.Dd(),59);a.g=Fb(b.Dd(),59);a.h=b.Ed();a.i=b.Ed();a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=Fb(b.Dd(),59);a.n=b.Ed();a.o=b.Ed();a.p=b.Ed();a.q=b.Ed();a.r=b.Ed();a.s=b.Ed();a.t=b.Ed();a.u=b.Ed();a.v=b.Cd();}
+function ELb(b,a){b.ff(a.a);b.gf(a.b);b.gf(a.c);b.ff(a.d);b.gf(a.e);b.ff(a.f);b.ff(a.g);b.gf(a.h);b.gf(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.ff(a.m);b.gf(a.n);b.gf(a.o);b.gf(a.p);b.gf(a.q);b.gf(a.r);b.gf(a.s);b.gf(a.t);b.gf(a.u);b.ef(a.v);}
+function FLb(){}
+_=FLb.prototype=new fU();_.tN=ogc+'PackageConfigData';_.tI=447;_.a=false;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;_.i=null;_.j=null;_.k=null;_.l=null;_.m=null;function dMb(b,a){a.a=b.zd();a.b=b.Ed();a.c=Fb(b.Dd(),59);a.d=b.Ed();a.e=b.Ed();a.f=b.Ed();a.g=b.zd();a.h=b.Ed();a.i=Fb(b.Dd(),59);a.j=b.Ed();a.k=b.Ed();a.l=b.Ed();a.m=b.Ed();}
+function eMb(b,a){b.bf(a.a);b.gf(a.b);b.ff(a.c);b.gf(a.d);b.gf(a.e);b.gf(a.f);b.bf(a.g);b.gf(a.h);b.ff(a.i);b.gf(a.j);b.gf(a.k);b.gf(a.l);b.gf(a.m);}
+function kMb(){var a,b,c;c=jSb(new pMb());a=c;b=v()+'jbrmsService';vUb(a,b);return c;}
+function lMb(){var a,b,c;c=xXb(new mXb());a=c;b=v()+'jbrmsService';DXb(a,b);return c;}
+function mMb(){if(jMb===null){nMb();}return jMb;}
+function nMb(){if(iMb)jMb=null;else jMb=kMb();}
+function oMb(d,b,a){var c;c=lMb();CXb(c,d,b,a);}
+var iMb=false,jMb=null;function xTb(){xTb=d3;wUb=yUb(new xUb());}
+function jSb(a){xTb();return a;}
+function kSb(b,a,c,d){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'archiveAsset');un(a,2);wn(a,'java.lang.String');wn(a,'Z');wn(a,c);tn(a,d);}
+function mSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildAsset');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
+function lSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildAssetSource');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
+function oSb(d,c,a,b){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'buildPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,a);wn(c,b);}
+function nSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'buildPackageSource');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function pSb(d,c,e,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'changeAssetPackage');un(c,3);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,e);wn(c,b);wn(c,a);}
+function qSb(c,b,d,a,e){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'changeState');un(b,3);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,'Z');wn(b,d);wn(b,a);tn(b,e);}
+function rSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'checkinVersion');un(b,1);wn(b,'org.drools.brms.client.rpc.RuleAsset');vn(b,a);}
+function sSb(e,d,a,c,b){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'copyAsset');un(d,3);wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,a);wn(d,c);wn(d,b);}
+function tSb(f,e,c,d,a,b){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'copyOrRemoveSnapshot');un(e,4);wn(e,'java.lang.String');wn(e,'java.lang.String');wn(e,'Z');wn(e,'java.lang.String');wn(e,c);wn(e,d);tn(e,a);wn(e,b);}
+function uSb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'copyPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
+function vSb(e,d,c,b,a){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'createCategory');un(d,3);wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,'java.lang.String');wn(d,c);wn(d,b);wn(d,a);}
+function wSb(g,f,e,a,c,d,b){if(g.a===null)throw Dl(new Cl());Ao(f);wn(f,'org.drools.brms.client.rpc.RepositoryService');wn(f,'createNewRule');un(f,5);wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,'java.lang.String');wn(f,e);wn(f,a);wn(f,c);wn(f,d);wn(f,b);}
+function ySb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'createPackage');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
+function xSb(f,e,b,d,c,a){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'createPackageSnapshot');un(e,4);wn(e,'java.lang.String');wn(e,'java.lang.String');wn(e,'Z');wn(e,'java.lang.String');wn(e,b);wn(e,d);tn(e,c);wn(e,a);}
+function zSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'createState');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function ASb(d,c,b,a){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'deleteUncheckedRule');un(c,2);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,b);wn(c,a);}
+function BSb(f,e,c,a,b,d){if(f.a===null)throw Dl(new Cl());Ao(e);wn(e,'org.drools.brms.client.rpc.RepositoryService');wn(e,'listAssets');un(e,4);wn(e,'java.lang.String');wn(e,'[Ljava.lang.String;');wn(e,'I');wn(e,'I');wn(e,c);vn(e,a);un(e,b);un(e,d);}
+function CSb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'listPackages');un(a,0);}
+function DSb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'listSnapshots');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function ESb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'listStates');un(a,0);}
+function FSb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadArchivedAssets');un(a,0);}
+function aTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadAssetHistory');un(a,1);wn(a,'java.lang.String');wn(a,c);}
+function bTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadChildCategories');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function cTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'loadPackageConfig');un(a,1);wn(a,'java.lang.String');wn(a,c);}
+function dTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadRuleAsset');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function eTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadRuleListForCategories');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function fTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadSuggestionCompletionEngine');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function gTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'loadTableConfig');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function hTb(e,d,c,a,b){if(e.a===null)throw Dl(new Cl());Ao(d);wn(d,'org.drools.brms.client.rpc.RepositoryService');wn(d,'quickFindAsset');un(d,3);wn(d,'java.lang.String');wn(d,'I');wn(d,'Z');wn(d,c);un(d,a);tn(d,b);}
+function iTb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'rebuildSnapshots');un(a,0);}
+function jTb(b,a,c){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.RepositoryService');wn(a,'removeAsset');un(a,1);wn(a,'java.lang.String');wn(a,c);}
+function kTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'removeCategory');un(b,1);wn(b,'java.lang.String');wn(b,a);}
+function lTb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'renameAsset');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
+function mTb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'renamePackage');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
+function nTb(d,c,e,a,b){if(d.a===null)throw Dl(new Cl());Ao(c);wn(c,'org.drools.brms.client.rpc.RepositoryService');wn(c,'restoreVersion');un(c,3);wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,'java.lang.String');wn(c,e);wn(c,a);wn(c,b);}
+function oTb(c,b,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.RepositoryService');wn(b,'savePackage');un(b,1);wn(b,'org.drools.brms.client.rpc.PackageConfigData');vn(b,a);}
+function pTb(h,i,j,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kSb(h,g,i,j);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=ENb(new qMb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=vPb(new cOb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=mRb(new zPb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tTb(j,f,g,c){var a,d,e,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oSb(j,i,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=rRb(new qRb(),j,h,c);if(!wg(j.a,Do(i),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sTb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=wRb(new vRb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uTb(j,k,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{pSb(j,i,k,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=BRb(new ARb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vTb(i,j,f,k,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{qSb(i,h,j,f,k);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=aSb(new FRb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function wTb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{rSb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=fSb(new eSb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function yTb(k,c,h,g,d){var a,e,f,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{sSb(k,j,c,h,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=sMb(new rMb(),k,i,d);if(!wg(k.a,Do(j),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function zTb(l,h,i,d,g,c){var a,e,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{tSb(l,k,h,i,d,g);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=xMb(new wMb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ATb(j,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{uSb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=CMb(new BMb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function BTb(k,h,g,d,c){var a,e,f,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{vSb(k,j,h,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=bNb(new aNb(),k,i,c);if(!wg(k.a,Do(j),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CTb(m,j,d,h,i,f,c){var a,e,g,k,l;k=co(new bo(),wUb);l=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{wSb(m,l,j,d,h,i,f);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}g=gNb(new fNb(),m,k,c);if(!wg(m.a,Do(l),g))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function ETb(j,g,d,c){var a,e,f,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ySb(j,i,g,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=lNb(new kNb(),j,h,c);if(!wg(j.a,Do(i),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DTb(l,g,i,h,d,c){var a,e,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{xSb(l,k,g,i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=qNb(new pNb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function FTb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{zSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=vNb(new uNb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function aUb(j,g,f,c){var a,d,e,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ASb(j,i,g,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=ANb(new zNb(),j,h,c);if(!wg(j.a,Do(i),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function bUb(l,h,e,g,i,c){var a,d,f,j,k;j=co(new bo(),wUb);k=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{BSb(l,k,h,e,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}f=eOb(new dOb(),l,j,c);if(!wg(l.a,Do(k),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function cUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{CSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=jOb(new iOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function dUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{DSb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=oOb(new nOb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function eUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{ESb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=tOb(new sOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function fUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{FSb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=yOb(new xOb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function gUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{aTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=DOb(new COb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function hUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{bTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=cPb(new bPb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function iUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{cTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=hPb(new gPb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function jUb(i,c,d){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{dTb(i,h,c);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(d,e);return;}else throw a;}f=mPb(new lPb(),i,g,d);if(!wg(i.a,Do(h),f))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function kUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{eTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=rPb(new qPb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function lUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{fTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=BPb(new APb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function mUb(i,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{gTb(i,h,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=aQb(new FPb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function nUb(k,h,f,g,c){var a,d,e,i,j;i=co(new bo(),wUb);j=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{hTb(k,j,h,f,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=fQb(new eQb(),k,i,c);if(!wg(k.a,Do(j),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function oUb(h,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{iTb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=kQb(new jQb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function pUb(h,i,c){var a,d,e,f,g;f=co(new bo(),wUb);g=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{jTb(h,g,i);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=pQb(new oQb(),h,f,c);if(!wg(h.a,Do(g),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function qUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{kTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=uQb(new tQb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function rUb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{lTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=zQb(new yQb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function sUb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{mTb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=EQb(new DQb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function tUb(j,k,c,e,d){var a,f,g,h,i;h=co(new bo(),wUb);i=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{nTb(j,i,k,c,e);}catch(a){a=kc(a);if(ac(a,92)){f=a;xcb(d,f);return;}else throw a;}g=dRb(new cRb(),j,h,d);if(!wg(j.a,Do(i),g))xcb(d,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function uUb(i,d,c){var a,e,f,g,h;g=co(new bo(),wUb);h=wo(new uo(),wUb,v(),'C50AC3674DA287E97256C457C7C13175');try{oTb(i,h,d);}catch(a){a=kc(a);if(ac(a,92)){e=a;xcb(c,e);return;}else throw a;}f=iRb(new hRb(),i,g,c);if(!wg(i.a,Do(h),f))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function vUb(b,a){b.a=a;}
+function pMb(){}
+_=pMb.prototype=new fU();_.tN=ogc+'RepositoryService_Proxy';_.tI=448;_.a=null;var wUb;function ENb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f7(g.a,f);else xcb(g.a,c);}
+function bOb(a){var b;b=x;aOb(this,a);}
+function qMb(){}
+_=qMb.prototype=new fU();_.Ac=bOb;_.tN=ogc+'RepositoryService_Proxy$1';_.tI=449;function sMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function uMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)D0b(g.a,f);else xcb(g.a,c);}
+function vMb(a){var b;b=x;uMb(this,a);}
+function rMb(){}
+_=rMb.prototype=new fU();_.Ac=vMb;_.tN=ogc+'RepositoryService_Proxy$10';_.tI=450;function xMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function zMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function AMb(a){var b;b=x;zMb(this,a);}
+function wMb(){}
+_=wMb.prototype=new fU();_.Ac=AMb;_.tN=ogc+'RepositoryService_Proxy$11';_.tI=451;function CMb(b,a,d,c){b.b=d;b.a=c;return b;}
+function EMb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)FBb(g.a,f);else xcb(g.a,c);}
+function FMb(a){var b;b=x;EMb(this,a);}
+function BMb(){}
+_=BMb.prototype=new fU();_.Ac=FMb;_.tN=ogc+'RepositoryService_Proxy$12';_.tI=452;function bNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function dNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)k$(g.a,f);else xcb(g.a,c);}
+function eNb(a){var b;b=x;dNb(this,a);}
+function aNb(){}
+_=aNb.prototype=new fU();_.Ac=eNb;_.tN=ogc+'RepositoryService_Proxy$13';_.tI=453;function gNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function iNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)s7b(g.a,f);else xcb(g.a,c);}
+function jNb(a){var b;b=x;iNb(this,a);}
+function fNb(){}
+_=fNb.prototype=new fU();_.Ac=jNb;_.tN=ogc+'RepositoryService_Proxy$14';_.tI=454;function lNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function nNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dzb(g.a,f);else xcb(g.a,c);}
+function oNb(a){var b;b=x;nNb(this,a);}
+function kNb(){}
+_=kNb.prototype=new fU();_.Ac=oNb;_.tN=ogc+'RepositoryService_Proxy$15';_.tI=455;function qNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function sNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eAb(g.a,f);else xcb(g.a,c);}
+function tNb(a){var b;b=x;sNb(this,a);}
+function pNb(){}
+_=pNb.prototype=new fU();_.Ac=tNb;_.tN=ogc+'RepositoryService_Proxy$16';_.tI=456;function vNb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)x9(g.a,f);else xcb(g.a,c);}
+function yNb(a){var b;b=x;xNb(this,a);}
+function uNb(){}
+_=uNb.prototype=new fU();_.Ac=yNb;_.tN=ogc+'RepositoryService_Proxy$17';_.tI=457;function ANb(b,a,d,c){b.b=d;b.a=c;return b;}
+function CNb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t$b(g.a,f);else xcb(g.a,c);}
+function DNb(a){var b;b=x;CNb(this,a);}
+function zNb(){}
+_=zNb.prototype=new fU();_.Ac=DNb;_.tN=ogc+'RepositoryService_Proxy$18';_.tI=458;function vPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function xPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)w8b(g.a,f);else xcb(g.a,c);}
+function yPb(a){var b;b=x;xPb(this,a);}
+function cOb(){}
+_=cOb.prototype=new fU();_.Ac=yPb;_.tN=ogc+'RepositoryService_Proxy$2';_.tI=459;function eOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function gOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)BFb(g.a,f);else xcb(g.a,c);}
+function hOb(a){var b;b=x;gOb(this,a);}
+function dOb(){}
+_=dOb.prototype=new fU();_.Ac=hOb;_.tN=ogc+'RepositoryService_Proxy$20';_.tI=460;function jOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function lOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function mOb(a){var b;b=x;lOb(this,a);}
+function iOb(){}
+_=iOb.prototype=new fU();_.Ac=mOb;_.tN=ogc+'RepositoryService_Proxy$21';_.tI=461;function oOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function qOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function rOb(a){var b;b=x;qOb(this,a);}
+function nOb(){}
+_=nOb.prototype=new fU();_.Ac=rOb;_.tN=ogc+'RepositoryService_Proxy$22';_.tI=462;function tOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function wOb(a){var b;b=x;vOb(this,a);}
+function sOb(){}
+_=sOb.prototype=new fU();_.Ac=wOb;_.tN=ogc+'RepositoryService_Proxy$23';_.tI=463;function yOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function AOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t7(g.a,f);else xcb(g.a,c);}
+function BOb(a){var b;b=x;AOb(this,a);}
+function xOb(){}
+_=xOb.prototype=new fU();_.Ac=BOb;_.tN=ogc+'RepositoryService_Proxy$24';_.tI=464;function DOb(b,a,d,c){b.b=d;b.a=c;return b;}
+function FOb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)u_b(g.a,f);else xcb(g.a,c);}
+function aPb(a){var b;b=x;FOb(this,a);}
+function COb(){}
+_=COb.prototype=new fU();_.Ac=aPb;_.tN=ogc+'RepositoryService_Proxy$25';_.tI=465;function cPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function ePb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function fPb(a){var b;b=x;ePb(this,a);}
+function bPb(){}
+_=bPb.prototype=new fU();_.Ac=fPb;_.tN=ogc+'RepositoryService_Proxy$26';_.tI=466;function hPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function jPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function kPb(a){var b;b=x;jPb(this,a);}
+function gPb(){}
+_=gPb.prototype=new fU();_.Ac=kPb;_.tN=ogc+'RepositoryService_Proxy$27';_.tI=467;function mPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function pPb(a){var b;b=x;oPb(this,a);}
+function lPb(){}
+_=lPb.prototype=new fU();_.Ac=pPb;_.tN=ogc+'RepositoryService_Proxy$28';_.tI=468;function rPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function tPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Fbc(g.a,f);else xcb(g.a,c);}
+function uPb(a){var b;b=x;tPb(this,a);}
+function qPb(){}
+_=qPb.prototype=new fU();_.Ac=uPb;_.tN=ogc+'RepositoryService_Proxy$29';_.tI=469;function mRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function oRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)B8b(g.a,f);else xcb(g.a,c);}
+function pRb(a){var b;b=x;oRb(this,a);}
+function zPb(){}
+_=zPb.prototype=new fU();_.Ac=pRb;_.tN=ogc+'RepositoryService_Proxy$3';_.tI=470;function BPb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DPb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)CKb(g.a,f);else xcb(g.a,c);}
+function EPb(a){var b;b=x;DPb(this,a);}
+function APb(){}
+_=APb.prototype=new fU();_.Ac=EPb;_.tN=ogc+'RepositoryService_Proxy$30';_.tI=471;function aQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)vcc(g.a,f);else xcb(g.a,c);}
+function dQb(a){var b;b=x;cQb(this,a);}
+function FPb(){}
+_=FPb.prototype=new fU();_.Ac=dQb;_.tN=ogc+'RepositoryService_Proxy$31';_.tI=472;function fQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else xcb(g.a,c);}
+function iQb(a){var b;b=x;hQb(this,a);}
+function eQb(){}
+_=eQb.prototype=new fU();_.Ac=iQb;_.tN=ogc+'RepositoryService_Proxy$32';_.tI=473;function kQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function mQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)pJb(g.a,f);else xcb(g.a,c);}
+function nQb(a){var b;b=x;mQb(this,a);}
+function jQb(){}
+_=jQb.prototype=new fU();_.Ac=nQb;_.tN=ogc+'RepositoryService_Proxy$33';_.tI=474;function pQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function rQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)o7(g.a,f);else xcb(g.a,c);}
+function sQb(a){var b;b=x;rQb(this,a);}
+function oQb(){}
+_=oQb.prototype=new fU();_.Ac=sQb;_.tN=ogc+'RepositoryService_Proxy$34';_.tI=475;function uQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function wQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)f9(g.a,f);else xcb(g.a,c);}
+function xQb(a){var b;b=x;wQb(this,a);}
+function tQb(){}
+_=tQb.prototype=new fU();_.Ac=xQb;_.tN=ogc+'RepositoryService_Proxy$35';_.tI=476;function zQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function BQb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)t6b(g.a,f);else xcb(g.a,c);}
+function CQb(a){var b;b=x;BQb(this,a);}
+function yQb(){}
+_=yQb.prototype=new fU();_.Ac=CQb;_.tN=ogc+'RepositoryService_Proxy$36';_.tI=477;function EQb(b,a,d,c){b.b=d;b.a=c;return b;}
+function aRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)rEb(g.a,f);else xcb(g.a,c);}
+function bRb(a){var b;b=x;aRb(this,a);}
+function DQb(){}
+_=DQb.prototype=new fU();_.Ac=bRb;_.tN=ogc+'RepositoryService_Proxy$37';_.tI=478;function dRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function fRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)Dac(g.a,f);else xcb(g.a,c);}
+function gRb(a){var b;b=x;fRb(this,a);}
+function cRb(){}
+_=cRb.prototype=new fU();_.Ac=gRb;_.tN=ogc+'RepositoryService_Proxy$38';_.tI=479;function iRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function kRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)eCb(g.a,f);else xcb(g.a,c);}
+function lRb(a){var b;b=x;kRb(this,a);}
+function hRb(){}
+_=hRb.prototype=new fU();_.Ac=lRb;_.tN=ogc+'RepositoryService_Proxy$39';_.tI=480;function rRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function tRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=on(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)dBb(g.a,f);else xcb(g.a,c);}
+function uRb(a){var b;b=x;tRb(this,a);}
+function qRb(){}
+_=qRb.prototype=new fU();_.Ac=uRb;_.tN=ogc+'RepositoryService_Proxy$4';_.tI=481;function wRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function yRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)uAb(g.a,f);else xcb(g.a,c);}
+function zRb(a){var b;b=x;yRb(this,a);}
+function vRb(){}
+_=vRb.prototype=new fU();_.Ac=zRb;_.tN=ogc+'RepositoryService_Proxy$5';_.tI=482;function BRb(b,a,d,c){b.b=d;b.a=c;return b;}
+function DRb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)l5b(g.a,f);else xcb(g.a,c);}
+function ERb(a){var b;b=x;DRb(this,a);}
+function ARb(){}
+_=ARb.prototype=new fU();_.Ac=ERb;_.tN=ogc+'RepositoryService_Proxy$6';_.tI=483;function aSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function cSb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=null;}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)xeb(g.a,f);else xcb(g.a,c);}
+function dSb(a){var b;b=x;cSb(this,a);}
+function FRb(){}
+_=FRb.prototype=new fU();_.Ac=dSb;_.tN=ogc+'RepositoryService_Proxy$7';_.tI=484;function fSb(b,a,d,c){b.b=d;b.a=c;return b;}
+function hSb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)y$b(g.a,f);else xcb(g.a,c);}
+function iSb(a){var b;b=x;hSb(this,a);}
+function eSb(){}
+_=eSb.prototype=new fU();_.Ac=iSb;_.tN=ogc+'RepositoryService_Proxy$8';_.tI=485;function zUb(){zUb=d3;BWb=AUb();EWb=BUb();}
+function yUb(a){zUb();return a;}
+function AUb(){zUb();return {'[B/2233087514':[function(a){return CUb(a);},function(a,b){qm(a,b);},function(a,b){rm(a,b);}],'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return DUb(a);},function(a,b){hl(a,b);},function(a,b){il(a,b);}],'com.google.gwt.user.client.rpc.SerializableException/4171780864':[function(a){return EUb(a);},function(a,b){sl(a,b);},function(a,b){ul(a,b);}],'com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion/2803420099':[function(a){return dVb(a);},function(a,b){yD(a,b);},function(a,b){BD(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Request/3707347745':[function(a){return eVb(a);},function(a,b){qI(a,b);},function(a,b){tI(a,b);}],'com.google.gwt.user.client.ui.SuggestOracle$Response/3788519620':[function(a){return fVb(a);},function(a,b){yI(a,b);},function(a,b){AI(a,b);}],'java.lang.Boolean/476441737':[function(a){return dm(a);},function(a,b){cm(a,b);},function(a,b){em(a,b);}],'java.!
 lang.String/2004016611':[function(a){return mm(a);},function(a,b){lm(a,b);},function(a,b){nm(a,b);}],'[Ljava.lang.String;/2364883620':[function(a){return gVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'java.util.ArrayList/3821976829':[function(a){return FUb(a);},function(a,b){um(a,b);},function(a,b){vm(a,b);}],'java.util.Date/1659716317':[function(a){return zm(a);},function(a,b){ym(a,b);},function(a,b){Am(a,b);}],'java.util.HashMap/962170901':[function(a){return aVb(a);},function(a,b){Dm(a,b);},function(a,b){Em(a,b);}],'java.util.HashSet/1594477813':[function(a){return bVb(a);},function(a,b){bn(a,b);},function(a,b){cn(a,b);}],'java.util.Vector/3125574444':[function(a){return cVb(a);},function(a,b){fn(a,b);},function(a,b){gn(a,b);}],'org.drools.brms.client.modeldriven.SuggestionCompletionEngine/4103706633':[function(a){return hVb(a);},function(a,b){xgb(a,b);},function(a,b){ygb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;/17444857':[function(a!
 ){return iVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'or
g.drools.brms.client.modeldriven.brl.ActionFieldValue/246803337':[function(a){return kVb(a);},function(a,b){qhb(a,b);},function(a,b){rhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;/3103537291':[function(a){return jVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertFact/528278553':[function(a){return mVb(a);},function(a,b){yhb(a,b);},function(a,b){zhb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;/1236621021':[function(a){return lVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact/3727851744':[function(a){return oVb(a);},function(a,b){aib(a,b);},function(a,b){bib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;/519257815':[function(a){return nVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionRetractFact/807289798':[function(a){re!
 turn qVb(a);},function(a,b){hib(a,b);},function(a,b){iib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;/2297380841':[function(a){return pVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionSetField/3618973883':[function(a){return sVb(a);},function(a,b){pib(a,b);},function(a,b){qib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;/3094519270':[function(a){return rVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ActionUpdateField/1187728689':[function(a){return uVb(a);},function(a,b){xib(a,b);},function(a,b){yib(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;/3112005820':[function(a){return tVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFactPattern/1685924965':[function(a){return wVb(a);},function(a,b){Fib(a,b);},function(a,b){ajb(a,b);}],'[Lorg.drools.brms.clie!
 nt.modeldriven.brl.CompositeFactPattern;/2188566675':[function(a){retu
rn vVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint/3633612808':[function(a){return yVb(a);},function(a,b){hjb(a,b);},function(a,b){ijb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;/4134808784':[function(a){return xVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ConnectiveConstraint/3888299734':[function(a){return AVb(a);},function(a,b){njb(a,b);},function(a,b){ojb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;/2712435482':[function(a){return zVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.DSLSentence/2364706689':[function(a){return CVb(a);},function(a,b){vjb(a,b);},function(a,b){wjb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;/3549805142':[function(a){return BVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.!
 client.modeldriven.brl.FactPattern/468193321':[function(a){return EVb(a);},function(a,b){bkb(a,b);},function(a,b){ckb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FactPattern;/2070852205':[function(a){return DVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;/3722682495':[function(a){return FVb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IAction;/788928342':[function(a){return aWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.IPattern;/3493811005':[function(a){return bWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint/630259439':[function(a){return cWb(a);},function(a,b){kkb(a,b);},function(a,b){lkb(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleAttribute/1006639614':[function(a){return eWb(a);},function(a,b){skb(a,b);},function(a,b!
 ){tkb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;
/3720701724':[function(a){return dWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.modeldriven.brl.RuleModel/4234472987':[function(a){return fWb(a);},function(a,b){hlb(a,b);},function(a,b){ilb(a,b);}],'org.drools.brms.client.modeldriven.brl.SingleFieldConstraint/277902206':[function(a){return hWb(a);},function(a,b){qlb(a,b);},function(a,b){rlb(a,b);}],'[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;/822224006':[function(a){return gWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.BuilderResult/432159340':[function(a){return jWb(a);},function(a,b){kLb(a,b);},function(a,b){lLb(a,b);}],'[Lorg.drools.brms.client.rpc.BuilderResult;/1753914277':[function(a){return iWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.DetailedSerializableException/3476818559':[function(a){return kWb(a);},function(a,b){rLb(a,b);},function(a,b){tLb(a,b);}],'org.drools.brms.client.rpc.Met!
 aData/3026305019':[function(a){return lWb(a);},function(a,b){DLb(a,b);},function(a,b){ELb(a,b);}],'org.drools.brms.client.rpc.PackageConfigData/1082258051':[function(a){return nWb(a);},function(a,b){dMb(a,b);},function(a,b){eMb(a,b);}],'[Lorg.drools.brms.client.rpc.PackageConfigData;/1931733202':[function(a){return mWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.RuleAsset/1594028523':[function(a){return oWb(a);},function(a,b){dXb(a,b);},function(a,b){eXb(a,b);}],'org.drools.brms.client.rpc.RuleContentText/3245878230':[function(a){return pWb(a);},function(a,b){jXb(a,b);},function(a,b){kXb(a,b);}],'org.drools.brms.client.rpc.SessionExpiredException/3044192635':[function(a){return qWb(a);},function(a,b){qYb(a,b);},function(a,b){rYb(a,b);}],'org.drools.brms.client.rpc.SnapshotInfo/1568518257':[function(a){return sWb(a);},function(a,b){wYb(a,b);},function(a,b){xYb(a,b);}],'[Lorg.drools.brms.client.rpc.SnapshotInfo;/2874292814':[function(a){r!
 eturn rWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.d
rools.brms.client.rpc.TableConfig/2869455811':[function(a){return tWb(a);},function(a,b){CYb(a,b);},function(a,b){DYb(a,b);}],'org.drools.brms.client.rpc.TableDataResult/1772371888':[function(a){return uWb(a);},function(a,b){cZb(a,b);},function(a,b){dZb(a,b);}],'org.drools.brms.client.rpc.TableDataRow/3574600112':[function(a){return wWb(a);},function(a,b){iZb(a,b);},function(a,b){jZb(a,b);}],'[Lorg.drools.brms.client.rpc.TableDataRow;/336144451':[function(a){return vWb(a);},function(a,b){hm(a,b);},function(a,b){im(a,b);}],'org.drools.brms.client.rpc.ValidatedResponse/1477336236':[function(a){return xWb(a);},function(a,b){pZb(a,b);},function(a,b){qZb(a,b);}]};}
+function BUb(){zUb();return {'[B':'2233087514','com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','com.google.gwt.user.client.rpc.SerializableException':'4171780864','com.google.gwt.user.client.ui.MultiWordSuggestOracle$MultiWordSuggestion':'2803420099','com.google.gwt.user.client.ui.SuggestOracle$Request':'3707347745','com.google.gwt.user.client.ui.SuggestOracle$Response':'3788519620','java.lang.Boolean':'476441737','java.lang.String':'2004016611','[Ljava.lang.String;':'2364883620','java.util.ArrayList':'3821976829','java.util.Date':'1659716317','java.util.HashMap':'962170901','java.util.HashSet':'1594477813','java.util.Vector':'3125574444','org.drools.brms.client.modeldriven.SuggestionCompletionEngine':'4103706633','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;':'17444857','org.drools.brms.client.modeldriven.brl.ActionFieldValue':'246803337','[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;':'3103537291','org.drools.brms!
 .client.modeldriven.brl.ActionInsertFact':'528278553','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;':'1236621021','org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact':'3727851744','[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;':'519257815','org.drools.brms.client.modeldriven.brl.ActionRetractFact':'807289798','[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;':'2297380841','org.drools.brms.client.modeldriven.brl.ActionSetField':'3618973883','[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;':'3094519270','org.drools.brms.client.modeldriven.brl.ActionUpdateField':'1187728689','[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;':'3112005820','org.drools.brms.client.modeldriven.brl.CompositeFactPattern':'1685924965','[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;':'2188566675','org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint':'3633612808','[Lorg.drools.brms.client.modeldrive!
 n.brl.CompositeFieldConstraint;':'4134808784','org.drools.brms.client.
modeldriven.brl.ConnectiveConstraint':'3888299734','[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;':'2712435482','org.drools.brms.client.modeldriven.brl.DSLSentence':'2364706689','[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;':'3549805142','org.drools.brms.client.modeldriven.brl.FactPattern':'468193321','[Lorg.drools.brms.client.modeldriven.brl.FactPattern;':'2070852205','[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;':'3722682495','[Lorg.drools.brms.client.modeldriven.brl.IAction;':'788928342','[Lorg.drools.brms.client.modeldriven.brl.IPattern;':'3493811005','org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint':'630259439','org.drools.brms.client.modeldriven.brl.RuleAttribute':'1006639614','[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;':'3720701724','org.drools.brms.client.modeldriven.brl.RuleModel':'4234472987','org.drools.brms.client.modeldriven.brl.SingleFieldConstraint':'277902206','[Lorg.drools.brms.client.modeldri!
 ven.brl.SingleFieldConstraint;':'822224006','org.drools.brms.client.rpc.BuilderResult':'432159340','[Lorg.drools.brms.client.rpc.BuilderResult;':'1753914277','org.drools.brms.client.rpc.DetailedSerializableException':'3476818559','org.drools.brms.client.rpc.MetaData':'3026305019','org.drools.brms.client.rpc.PackageConfigData':'1082258051','[Lorg.drools.brms.client.rpc.PackageConfigData;':'1931733202','org.drools.brms.client.rpc.RuleAsset':'1594028523','org.drools.brms.client.rpc.RuleContentText':'3245878230','org.drools.brms.client.rpc.SessionExpiredException':'3044192635','org.drools.brms.client.rpc.SnapshotInfo':'1568518257','[Lorg.drools.brms.client.rpc.SnapshotInfo;':'2874292814','org.drools.brms.client.rpc.TableConfig':'2869455811','org.drools.brms.client.rpc.TableDataResult':'1772371888','org.drools.brms.client.rpc.TableDataRow':'3574600112','[Lorg.drools.brms.client.rpc.TableDataRow;':'336144451','org.drools.brms.client.rpc.ValidatedResponse':'1477336236'};}
+function CUb(b){zUb();var a;a=b.Bd();return yb('[B',[614],[(-1)],[a],0);}
+function DUb(a){zUb();return dl(new cl());}
+function EUb(a){zUb();return new ol();}
+function FUb(a){zUb();return nY(new lY());}
+function aVb(a){zUb();return k1(new o0());}
+function bVb(a){zUb();return e2(new d2());}
+function cVb(a){zUb();return x2(new w2());}
+function dVb(a){zUb();return new uD();}
+function eVb(a){zUb();return new jI();}
+function fVb(a){zUb();return new lI();}
+function gVb(b){zUb();var a;a=b.Bd();return yb('[Ljava.lang.String;',[608],[1],[a],null);}
+function hVb(a){zUb();return igb(new ggb());}
+function iVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldList;',[623],[22],[a],null);}
+function jVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionFieldValue;',[624],[23],[a],null);}
+function kVb(a){zUb();return new lhb();}
+function lVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertFact;',[625],[24],[a],null);}
+function mVb(a){zUb();return thb(new shb());}
+function nVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact;',[626],[25],[a],null);}
+function oVb(a){zUb();return Bhb(new Ahb());}
+function pVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionRetractFact;',[627],[26],[a],null);}
+function qVb(a){zUb();return new cib();}
+function rVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionSetField;',[628],[27],[a],null);}
+function sVb(a){zUb();return kib(new jib());}
+function tVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ActionUpdateField;',[629],[28],[a],null);}
+function uVb(a){zUb();return sib(new rib());}
+function vVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFactPattern;',[630],[29],[a],null);}
+function wVb(a){zUb();return new zib();}
+function xVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.CompositeFieldConstraint;',[631],[30],[a],null);}
+function yVb(a){zUb();return new bjb();}
+function zVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.ConnectiveConstraint;',[616],[15],[a],null);}
+function AVb(a){zUb();return new jjb();}
+function BVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.DSLSentence;',[610],[10],[a],null);}
+function CVb(a){zUb();return new pjb();}
+function DVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FactPattern;',[632],[31],[a],null);}
+function EVb(a){zUb();return new yjb();}
+function FVb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.FieldConstraint;',[622],[21],[a],null);}
+function aWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IAction;',[621],[20],[a],null);}
+function bWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.IPattern;',[620],[19],[a],null);}
+function cWb(a){zUb();return new gkb();}
+function dWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.RuleAttribute;',[619],[18],[a],null);}
+function eWb(a){zUb();return new nkb();}
+function fWb(a){zUb();return xkb(new vkb());}
+function gWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.modeldriven.brl.SingleFieldConstraint;',[633],[32],[a],null);}
+function hWb(a){zUb();return new jlb();}
+function iWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.BuilderResult;',[612],[12],[a],null);}
+function jWb(a){zUb();return new gLb();}
+function kWb(a){zUb();return new nLb();}
+function lWb(a){zUb();return xLb(new vLb());}
+function mWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.PackageConfigData;',[617],[16],[a],null);}
+function nWb(a){zUb();return new FLb();}
+function oWb(a){zUb();return new FWb();}
+function pWb(a){zUb();return new fXb();}
+function qWb(a){zUb();return new mYb();}
+function rWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.SnapshotInfo;',[618],[17],[a],null);}
+function sWb(a){zUb();return new sYb();}
+function tWb(a){zUb();return new yYb();}
+function uWb(a){zUb();return new EYb();}
+function vWb(b){zUb();var a;a=b.Bd();return yb('[Lorg.drools.brms.client.rpc.TableDataRow;',[615],[14],[a],null);}
+function wWb(a){zUb();return new eZb();}
+function xWb(a){zUb();return new lZb();}
+function yWb(c,a,d){var b=BWb[d];if(!b){CWb(d);}b[1](c,a);}
+function zWb(b){var a=EWb[b];return a==null?b:a;}
+function AWb(b,c){var a=BWb[c];if(!a){CWb(c);}return a[0](b);}
+function CWb(a){zUb();throw yl(new xl(),a);}
+function DWb(c,a,d){var b=BWb[d];if(!b){CWb(d);}b[2](c,a);}
+function xUb(){}
+_=xUb.prototype=new fU();_.ib=yWb;_.bc=zWb;_.nc=AWb;_.ie=DWb;_.tN=ogc+'RepositoryService_TypeSerializer';_.tI=486;var BWb,EWb;function FWb(){}
+_=FWb.prototype=new fU();_.tN=ogc+'RuleAsset';_.tI=487;_.a=false;_.b=null;_.c=false;_.d=null;_.e=null;function dXb(b,a){a.a=b.zd();a.b=Fb(b.Dd(),39);a.c=b.zd();a.d=Fb(b.Dd(),93);a.e=b.Ed();}
+function eXb(b,a){b.bf(a.a);b.ff(a.b);b.bf(a.c);b.ff(a.d);b.gf(a.e);}
+function fXb(){}
+_=fXb.prototype=new fU();_.tN=ogc+'RuleContentText';_.tI=488;_.a=null;function jXb(b,a){a.a=b.Ed();}
+function kXb(b,a){b.gf(a.a);}
+function AXb(){AXb=d3;EXb=aYb(new FXb());}
+function xXb(a){AXb();return a;}
+function yXb(b,a){if(b.a===null)throw Dl(new Cl());Ao(a);wn(a,'org.drools.brms.client.rpc.SecurityService');wn(a,'getCurrentUser');un(a,0);}
+function zXb(c,b,d,a){if(c.a===null)throw Dl(new Cl());Ao(b);wn(b,'org.drools.brms.client.rpc.SecurityService');wn(b,'login');un(b,2);wn(b,'java.lang.String');wn(b,'java.lang.String');wn(b,d);wn(b,a);}
+function BXb(h,c){var a,d,e,f,g;f=co(new bo(),EXb);g=wo(new uo(),EXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{yXb(h,g);}catch(a){a=kc(a);if(ac(a,92)){d=a;c.Dc(d);return;}else throw a;}e=oXb(new nXb(),h,f,c);if(!wg(h.a,Do(g),e))c.Dc(kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function CXb(i,j,f,c){var a,d,e,g,h;g=co(new bo(),EXb);h=wo(new uo(),EXb,v(),'C384F35B503938C7EC9B9EB6B150D06F');try{zXb(i,h,j,f);}catch(a){a=kc(a);if(ac(a,92)){d=a;xcb(c,d);return;}else throw a;}e=tXb(new sXb(),i,g,c);if(!wg(i.a,Do(h),e))xcb(c,kl(new jl(),'Unable to initiate the asynchronous service invocation -- check the network connection'));}
+function DXb(b,a){b.a=a;}
+function mXb(){}
+_=mXb.prototype=new fU();_.tN=ogc+'SecurityService_Proxy';_.tI=489;_.a=null;var EXb;function oXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function qXb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=ko(g.b);}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)g.a.pd(f);else g.a.Dc(c);}
+function rXb(a){var b;b=x;qXb(this,a);}
+function nXb(){}
+_=nXb.prototype=new fU();_.Ac=rXb;_.tN=ogc+'SecurityService_Proxy$1';_.tI=490;function tXb(b,a,d,c){b.b=d;b.a=c;return b;}
+function vXb(g,e){var a,c,d,f;f=null;c=null;try{if(gV(e,'//OK')){go(g.b,hV(e,4));f=jS(new iS(),ho(g.b));}else if(gV(e,'//EX')){go(g.b,hV(e,4));c=Fb(on(g.b),3);}else{c=kl(new jl(),e);}}catch(a){a=kc(a);if(ac(a,92)){a;c=dl(new cl());}else if(ac(a,3)){d=a;c=d;}else throw a;}if(c===null)E5(g.a,f);else xcb(g.a,c);}
+function wXb(a){var b;b=x;vXb(this,a);}
+function sXb(){}
+_=sXb.prototype=new fU();_.Ac=wXb;_.tN=ogc+'SecurityService_Proxy$2';_.tI=491;function bYb(){bYb=d3;iYb=cYb();lYb=dYb();}
+function aYb(a){bYb();return a;}
+function cYb(){bYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533':[function(a){return eYb(a);},function(a,b){hl(a,b);},function(a,b){il(a,b);}],'java.lang.String/2004016611':[function(a){return mm(a);},function(a,b){lm(a,b);},function(a,b){nm(a,b);}]};}
+function dYb(){bYb();return {'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException':'3936916533','java.lang.String':'2004016611'};}
+function eYb(a){bYb();return dl(new cl());}
+function fYb(c,a,d){var b=iYb[d];if(!b){jYb(d);}b[1](c,a);}
+function gYb(b){var a=lYb[b];return a==null?b:a;}
+function hYb(b,c){var a=iYb[c];if(!a){jYb(c);}return a[0](b);}
+function jYb(a){bYb();throw yl(new xl(),a);}
+function kYb(c,a,d){var b=iYb[d];if(!b){jYb(d);}b[2](c,a);}
+function FXb(){}
+_=FXb.prototype=new fU();_.ib=fYb;_.bc=gYb;_.nc=hYb;_.ie=kYb;_.tN=ogc+'SecurityService_TypeSerializer';_.tI=492;var iYb,lYb;function mYb(){}
+_=mYb.prototype=new ol();_.tN=ogc+'SessionExpiredException';_.tI=493;function qYb(b,a){sl(b,a);}
+function rYb(b,a){ul(b,a);}
+function sYb(){}
+_=sYb.prototype=new fU();_.tN=ogc+'SnapshotInfo';_.tI=494;_.a=null;_.b=null;_.c=null;function wYb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.Ed();}
+function xYb(b,a){b.gf(a.a);b.gf(a.b);b.gf(a.c);}
+function yYb(){}
+_=yYb.prototype=new fU();_.tN=ogc+'TableConfig';_.tI=495;_.a=null;_.b=0;function CYb(b,a){a.a=Fb(b.Dd(),63);a.b=b.Bd();}
+function DYb(b,a){b.ff(a.a);b.df(a.b);}
+function EYb(){}
+_=EYb.prototype=new fU();_.tN=ogc+'TableDataResult';_.tI=496;_.a=null;function cZb(b,a){a.a=Fb(b.Dd(),94);}
+function dZb(b,a){b.ff(a.a);}
+function kZb(a){return eV(a,'\\,')[0];}
+function eZb(){}
+_=eZb.prototype=new fU();_.tN=ogc+'TableDataRow';_.tI=497;_.a=null;_.b=null;_.c=null;function iZb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=Fb(b.Dd(),63);}
+function jZb(b,a){b.gf(a.a);b.gf(a.b);b.ff(a.c);}
+function lZb(){}
+_=lZb.prototype=new fU();_.tN=ogc+'ValidatedResponse';_.tI=498;_.a=null;_.b=null;_.c=false;_.d=null;function pZb(b,a){a.a=b.Ed();a.b=b.Ed();a.c=b.zd();a.d=Fb(b.Dd(),39);}
+function qZb(b,a){b.gf(a.a);b.gf(a.b);b.bf(a.c);b.ff(a.d);}
+function F0b(a){a.e=ut(new ot());}
+function a1b(j,b,c,a,f,d,g){var e,h,i;F0b(j);j.f=b.d;j.b=c;j.h=b.e;j.a=a;j.d=d;j.g=mz(new qw());i=j.f.r;e=xt(j.e);h=iA(new gA());h1b(j,i);jA(h,j.g);if(!g){d1b(j,e,h);}j1b(j,f,e);pr(j,j.e);j.Be('100%');return j;}
+function c1b(c,a,b){zh('Created a new item called ['+a+'] in package: ['+b+'] successfully.');}
+function d1b(h,e,g){var a,b,c,d,f;d=Ccb(new Bcb(),'images/edit.gif');d.te('Change status.');oB(d,BZb(new sZb(),h));jA(g,d);h.e.ze(0,0,g);ex(e,0,0,(xz(),zz),(aA(),dA));f=zp(new tp(),'Save changes');f.te('Check in changes.');f.x(FZb(new EZb(),h));jA(g,f);b=zp(new tp(),'Copy');b.x(d0b(new c0b(),h));jA(g,b);a=zp(new tp(),'Archive');a.x(h0b(new g0b(),h));jA(g,a);if(h.f.v==0){c=zp(new tp(),'Delete');c.x(l0b(new k0b(),h));jA(g,c);}}
+function e1b(b,c){var a;a=n2b(new i2b(),wN(c),xN(c),'Check in changes.');q2b(a,uZb(new tZb(),b,a));r2b(a);}
+function f1b(e,f){var a,b,c,d;a=rcb(new mcb(),'images/rule_asset.gif','Copy this item');b=eL(new vK());c=Fdb(new Adb());scb(a,'New name:',b);scb(a,'New package:',c);d=zp(new tp(),'Create copy');d.x(x0b(new w0b(),e,c,b,a));scb(a,'',d);wE(a,dc((tab()-rE(a))/2),100);zE(a);}
+function g1b(b,a){b.c=a;}
+function h1b(b,a){qz(b.g,'Status: <b>['+a+']<\/b>');}
+function i1b(b,c){var a;a=zeb(new deb(),b.h,false);Ceb(a,yZb(new xZb(),b,a));wE(a,wN(c),xN(c));zE(a);}
+function j1b(e,d,b){var a,c,f;f=iA(new gA());c=Ccb(new Bcb(),'images/max_min.gif');oB(c,p0b(new o0b(),e,d));jA(f,c);a=Ccb(new Bcb(),'images/close.gif');a.te('Close.');oB(a,t0b(new s0b(),e));jA(f,a);e.e.ze(0,1,f);ex(b,0,1,(xz(),Az),(aA(),dA));}
+function rZb(){}
+_=rZb.prototype=new nr();_.tN=pgc+'ActionToolbar';_.tI=499;_.a=null;_.b=null;_.c=null;_.d=null;_.f=null;_.g=null;_.h=null;function BZb(b,a){b.a=a;return b;}
+function DZb(a){i1b(this.a,a);}
+function sZb(){}
+_=sZb.prototype=new fU();_.zc=DZb;_.tN=pgc+'ActionToolbar$1';_.tI=500;function uZb(b,a,c){b.a=a;b.b=c;return b;}
+function wZb(){this.a.f.b=p2b(this.b);v9b(this.a.b);}
+function tZb(){}
+_=tZb.prototype=new fU();_.pb=wZb;_.tN=pgc+'ActionToolbar$10';_.tI=501;function yZb(b,a,c){b.a=a;b.b=c;return b;}
+function AZb(){h1b(this.a,this.b.c);}
+function xZb(){}
+_=xZb.prototype=new fU();_.pb=AZb;_.tN=pgc+'ActionToolbar$11';_.tI=502;function FZb(b,a){b.a=a;return b;}
+function b0b(a){e1b(this.a,a);}
+function EZb(){}
+_=EZb.prototype=new fU();_.zc=b0b;_.tN=pgc+'ActionToolbar$2';_.tI=503;function d0b(b,a){b.a=a;return b;}
+function f0b(a){f1b(this.a,a);}
+function c0b(){}
+_=c0b.prototype=new fU();_.zc=f0b;_.tN=pgc+'ActionToolbar$3';_.tI=504;function h0b(b,a){b.a=a;return b;}
+function j0b(a){if(Bh('Are you sure you want to archive this item?')){this.a.f.b='Archived Item on '+b0(zZ(new yZ()));A9b(this.a.a);}}
+function g0b(){}
+_=g0b.prototype=new fU();_.zc=j0b;_.tN=pgc+'ActionToolbar$4';_.tI=505;function l0b(b,a){b.a=a;return b;}
+function n0b(a){if(Bh('Are you sure you want to permanently delete this (unversioned) item?')){e$b(this.a.d);}}
+function k0b(){}
+_=k0b.prototype=new fU();_.zc=n0b;_.tN=pgc+'ActionToolbar$5';_.tI=506;function p0b(b,a,c){b.a=c;return b;}
+function r0b(a){F9b(this.a);}
+function o0b(){}
+_=o0b.prototype=new fU();_.zc=r0b;_.tN=pgc+'ActionToolbar$6';_.tI=507;function t0b(b,a){b.a=a;return b;}
+function v0b(a){o$b(this.a.c);}
+function s0b(){}
+_=s0b.prototype=new fU();_.zc=v0b;_.tN=pgc+'ActionToolbar$7';_.tI=508;function x0b(b,a,e,d,c){b.a=a;b.d=e;b.c=d;b.b=c;return b;}
+function z0b(a){yTb(mMb(),this.a.h,beb(this.d),CK(this.c),B0b(new A0b(),this,this.c,this.d,this.b));}
+function w0b(){}
+_=w0b.prototype=new fU();_.zc=z0b;_.tN=pgc+'ActionToolbar$8';_.tI=509;function B0b(b,a,d,e,c){b.a=a;b.c=d;b.d=e;b.b=c;return b;}
+function D0b(b,a){c1b(b.a.a,CK(b.c),beb(b.d));b.b.lc();}
+function E0b(a){D0b(this,a);}
+function A0b(){}
+_=A0b.prototype=new vcb();_.pd=E0b;_.tN=pgc+'ActionToolbar$9';_.tI=510;function F1b(a){a.b=yab(new wab());}
+function a2b(c,a,b){F1b(c);c.a=a;c.c=ut(new ot());f2b(c,c.c);FN(c.c,'rule-List');Bab(c.b,0,0,c.c);if(!b){d2b(c);}pr(c,c.b);return c;}
+function b2b(b,a){yLb(b.a,a);h2b(b);}
+function d2b(c){var a,b;a=sO(new qO());b=Ccb(new Bcb(),'images/new_item.gif');b.te('Add a new category.');oB(b,u1b(new t1b(),c));tO(a,b);Bab(c.b,0,1,a);}
+function e2b(b){var a;a=D1b(new B1b(),b);wE(a,wN(b),xN(b));zE(a);}
+function f2b(e,d){var a,b,c;for(b=0;b<e.a.a.a;b++){c=b;bz(d,b,0,e.a.a[b]);a=Ccb(new Bcb(),'images/trash.gif');a.te('Remove this category');oB(a,y1b(new x1b(),e,c));d.ze(b,1,a);}}
+function g2b(b,a){ALb(b.a,a);rab(b);h2b(b);}
+function h2b(a){a.c=ut(new ot());FN(a.c,'rule-List');Bab(a.b,0,0,a.c);f2b(a,a.c);rab(a);}
+function k1b(){}
+_=k1b.prototype=new pab();_.tN=pgc+'AssetCategoryEditor';_.tI=511;_.a=null;_.c=null;function m1b(b,a){b.a=a;return b;}
+function o1b(a){this.a.b=a;}
+function l1b(){}
+_=l1b.prototype=new fU();_.he=o1b;_.tN=pgc+'AssetCategoryEditor$1';_.tI=512;function q1b(b,a){b.a=a;return b;}
+function s1b(a){if(this.a.b!==null&& !EU('',this.a.b)){b2b(this.a.d,this.a.b);}this.a.lc();}
+function p1b(){}
+_=p1b.prototype=new fU();_.zc=s1b;_.tN=pgc+'AssetCategoryEditor$2';_.tI=513;function u1b(b,a){b.a=a;return b;}
+function w1b(a){e2b(this.a);}
+function t1b(){}
+_=t1b.prototype=new fU();_.zc=w1b;_.tN=pgc+'AssetCategoryEditor$3';_.tI=514;function y1b(b,a,c){b.a=a;b.b=c;return b;}
+function A1b(a){g2b(this.a,this.b);}
+function x1b(){}
+_=x1b.prototype=new fU();_.zc=A1b;_.tN=pgc+'AssetCategoryEditor$4';_.tI=515;function E1b(){E1b=d3;pE();}
+function C1b(a){a.a=zp(new tp(),'OK');}
+function D1b(b,a){var c;E1b();b.d=a;mE(b,true);C1b(b);c=sO(new qO());b.c=d_(new s$(),m1b(new l1b(),b));FN(b,'ks-popups-Popup');tO(c,b.c);tO(c,b.a);hH(b,c);b.a.x(q1b(new p1b(),b));return b;}
+function B1b(){}
+_=B1b.prototype=new kE();_.tN=pgc+'AssetCategoryEditor$CategorySelector';_.tI=516;_.b=null;_.c=null;function n2b(c,a,d,b){c.b=rcb(new mcb(),'images/checkin.gif',b);c.a=pK(new oK());c.a.Be('100%');c.c=zp(new tp(),'Save');scb(c.b,'Comment',c.a);scb(c.b,'',c.c);FN(c.b,'ks-popups-Popup');wE(c.b,a,d);return c;}
+function p2b(a){return CK(a.a);}
+function q2b(b,a){b.c.x(k2b(new j2b(),b,a));}
+function r2b(a){wE(a.b,dc((tab()-rE(a.b))/2),100);zE(a.b);}
+function i2b(){}
+_=i2b.prototype=new fU();_.tN=pgc+'CheckinPopup';_.tI=517;_.a=null;_.b=null;_.c=null;function k2b(b,a,c){b.a=a;b.b=c;return b;}
+function m2b(a){this.b.pb();this.a.b.lc();}
+function j2b(){}
+_=j2b.prototype=new fU();_.zc=m2b;_.tN=pgc+'CheckinPopup$1';_.tI=518;function i3b(){i3b=d3;pE();}
+function g3b(g,f,e){var a,b,c,d;i3b();mE(g,true);g.d=f;g.b=eL(new vK());g.b.Be('100%');b='<enter text to filter list>';aL(g.b,'<enter text to filter list>');pu(g.b,u2b(new t2b(),g));zK(g.b,z2b(new y2b(),g,e));g.b.oe(true);d=sO(new qO());tO(d,g.b);g.c=xC(new nC());hD(g.c,5);k3b(g,f5b(g.d,''));tO(d,g.c);c=zp(new tp(),'ok');c.x(F2b(new E2b(),g,e));a=zp(new tp(),'cancel');a.x(d3b(new c3b(),g));g.a=iA(new gA());jA(g.a,c);jA(g.a,a);tO(d,g.a);hH(g,d);FN(g,'ks-popups-Popup');return g;}
+function h3b(b,a){E3b(a,j3b(b));b.lc();}
+function j3b(a){return aD(a.c,bD(a.c));}
+function k3b(c,a){var b;DC(c.c);for(b=0;b<a.b;b++){AC(c.c,Fb(uY(a,b),10).a);}}
+function s2b(){}
+_=s2b.prototype=new kE();_.tN=pgc+'ChoiceList';_.tI=519;_.a=null;_.b=null;_.c=null;_.d=null;function u2b(b,a){b.a=a;return b;}
+function w2b(a){aL(this.a.b,'');}
+function x2b(a){aL(this.a.b,'<enter text to filter list>');}
+function t2b(){}
+_=t2b.prototype=new fU();_.Ec=w2b;_.gd=x2b;_.tN=pgc+'ChoiceList$1';_.tI=520;function z2b(b,a,c){b.a=a;b.b=c;return b;}
+function B2b(a,b,c){}
+function C2b(a,b,c){}
+function D2b(a,b,c){if(b==13){h3b(this.a,this.b);}else{k3b(this.a,f5b(this.a.d,CK(this.a.b)));}}
+function y2b(){}
+_=y2b.prototype=new fU();_.cd=B2b;_.dd=C2b;_.ed=D2b;_.tN=pgc+'ChoiceList$2';_.tI=521;function F2b(b,a,c){b.a=a;b.b=c;return b;}
+function b3b(a){h3b(this.a,this.b);}
+function E2b(){}
+_=E2b.prototype=new fU();_.zc=b3b;_.tN=pgc+'ChoiceList$3';_.tI=522;function d3b(b,a){b.a=a;return b;}
+function f3b(a){this.a.lc();}
+function c3b(){}
+_=c3b.prototype=new fU();_.zc=f3b;_.tN=pgc+'ChoiceList$4';_.tI=523;function C3b(i,a){var b,c,d,e,f,g,h,j;b=Fb(a.b,95);i.c=b;i.d=pK(new oK());uK(i.d,10);aL(i.d,i.c.a);i.d.te('Hint: press control+space for popup assistance, or use one of the icons to the right.');c=cLb((aLb(),fLb),a.d.o);i.a=c.a;i.b=c.b;FN(i.d,'dsl-text-Editor');d=ut(new ot());d.ze(0,0,i.d);yK(i.d,n3b(new m3b(),i));zK(i.d,r3b(new q3b(),i));j=sO(new qO());e=Ccb(new Bcb(),'images/new_dsl_pattern.gif');f='Add a new condition';e.te('Add a new condition');oB(e,v3b(new u3b(),i));h=Ccb(new Bcb(),'images/new_dsl_action.gif');g='Add an action';h.te('Add an action');oB(h,z3b(new y3b(),i));tO(j,e);tO(j,h);d.ze(0,1,j);kx(d.n,0,0,'95%');kx(d.n,0,1,'5%');d.Be('100%');d.qe('100%');pr(i,d);return i;}
+function E3b(e,b){var a,c,d;a=rK(e.d);c=iV(CK(e.d),0,a);d=iV(CK(e.d),a,cV(CK(e.d)));aL(e.d,c+b+d);e.c.a=CK(e.d);}
+function F3b(b){var a;a=iV(CK(b.d),0,rK(b.d));if(aV(a,'then')>(-1)){a4b(b,b.a);}else{a4b(b,b.b);}}
+function a4b(c,b){var a;a=g3b(new s2b(),b,c);wE(a,wN(c.d)+20,xN(c.d)+20);zE(a);}
+function l3b(){}
+_=l3b.prototype=new pab();_.tN=pgc+'DSLRuleEditor';_.tI=524;_.a=null;_.b=null;_.c=null;_.d=null;function n3b(b,a){b.a=a;return b;}
+function p3b(a){this.a.c.a=CK(this.a.d);rab(this.a);}
+function m3b(){}
+_=m3b.prototype=new fU();_.yc=p3b;_.tN=pgc+'DSLRuleEditor$1';_.tI=525;function r3b(b,a){b.a=a;return b;}
+function t3b(a,b,c){if(b==32&&c==2){F3b(this.a);}if(b==9){E3b(this.a,'\t');DK(this.a.d,rK(this.a.d)+1);AK(this.a.d);}}
+function q3b(){}
+_=q3b.prototype=new vB();_.cd=t3b;_.tN=pgc+'DSLRuleEditor$2';_.tI=526;function v3b(b,a){b.a=a;return b;}
+function x3b(a){a4b(this.a,this.a.b);}
+function u3b(){}
+_=u3b.prototype=new fU();_.zc=x3b;_.tN=pgc+'DSLRuleEditor$3';_.tI=527;function z3b(b,a){b.a=a;return b;}
+function B3b(a){a4b(this.a,this.a.a);}
+function y3b(){}
+_=y3b.prototype=new fU();_.zc=B3b;_.tN=pgc+'DSLRuleEditor$4';_.tI=528;function k4b(b,a){b.a=a;b.b=Fb(b.a.b,95);if(b.b.a===null){b.b.a='';}b.c=pK(new oK());uK(b.c,10);aL(b.c,b.b.a);FN(b.c,'default-text-Area');yK(b.c,d4b(new c4b(),b));zK(b.c,h4b(new g4b(),b));pr(b,b.c);return b;}
+function m4b(e,b){var a,c,d;a=rK(e.c);c=iV(CK(e.c),0,a);d=iV(CK(e.c),a,cV(CK(e.c)));aL(e.c,c+b+d);e.b.a=CK(e.c);}
+function b4b(){}
+_=b4b.prototype=new pab();_.tN=pgc+'DefaultRuleContentWidget';_.tI=529;_.a=null;_.b=null;_.c=null;function d4b(b,a){b.a=a;return b;}
+function f4b(a){this.a.b.a=CK(this.a.c);rab(this.a);}
+function c4b(){}
+_=c4b.prototype=new fU();_.yc=f4b;_.tN=pgc+'DefaultRuleContentWidget$1';_.tI=530;function h4b(b,a){b.a=a;return b;}
+function j4b(a,b,c){if(b==9){m4b(this.a,'\t');DK(this.a.c,rK(this.a.c)+1);AK(this.a.c);}}
+function g4b(){}
+_=g4b.prototype=new vB();_.cd=j4b;_.tN=pgc+'DefaultRuleContentWidget$2';_.tI=531;function C4b(){C4b=d3;D4b=a5b();}
+function E4b(a){C4b();var b;b=Fb(q1(D4b,a),1);if(b===null){return 'rule_asset.gif';}else{return b;}}
+function F4b(a,b){C4b();if(EU(a.d.k,'brl')){return D8b(new k8b(),twb(new oub(),a),a);}else if(EU(a.d.k,'dslr')){return D8b(new k8b(),C3b(new l3b(),a),a);}else if(EU(a.d.k,'jar')){return oyb(new nyb(),a,b);}else if(EU(a.d.k,'xls')){return D8b(new k8b(),yfb(new xfb(),a,b),a);}else if(EU(a.d.k,'rf')){return g8b(new f8b(),a,b);}else if(EU(a.d.k,'drl')){return D8b(new k8b(),k4b(new b4b(),a),a);}else if(EU(a.d.k,'enumeration')){return D8b(new k8b(),k4b(new b4b(),a),a);}else{return k4b(new b4b(),a);}}
+function a5b(){C4b();var a;a=k1(new o0());r1(a,'drl','technical_rule_assets.gif');r1(a,'dsl','dsl.gif');r1(a,'function','function_assets.gif');r1(a,'jar','model_asset.gif');r1(a,'xls','spreadsheet_small.gif');r1(a,'brl','business_rule.gif');r1(a,'dslr','business_rule.gif');r1(a,'rf','ruleflow_small.gif');return a;}
+function b5b(d,f,g,e,a){C4b();var b,c,h;h=D$b(new f9b(),a,e);b=a.d.n;if(cV(b)>10){b=iV(b,0,7)+'...';}c=E4b(a.d.k);EJ(f,h,"<img src='images/"+c+"'>"+b,true);if(d!==(nZ(),oZ)){r1(d,g,h);}g_b(h,y4b(new x4b(),f,h,d,g));eK(f,aK(f,h));}
+function c5b(b,d,e,c){C4b();var a;if(n1(b,e)){if(aK(d,Fb(q1(b,e),13))==(-1)){a=ac(bK(d,0),96)?'Rule Viewer':'Package Manager';zh('Asset already opened in '+a);}else{eK(d,aK(d,Fb(q1(b,e),13)));}sdb();return;}jUb(mMb(),e,p4b(new o4b(),b,d,e,c));}
+var D4b;function p4b(a,b,d,e,c){a.a=b;a.c=d;a.d=e;a.b=c;return a;}
+function r4b(c){var a,b;a=Fb(c,97);b=(aLb(),fLb);bLb(b,a.d.o,t4b(new s4b(),this,this.a,this.c,this.d,this.b,a));}
+function o4b(){}
+_=o4b.prototype=new vcb();_.pd=r4b;_.tN=pgc+'EditorLauncher$1';_.tI=532;function t4b(b,a,d,f,g,e,c){b.b=d;b.d=f;b.e=g;b.c=e;b.a=c;return b;}
+function v4b(a){b5b(a.b,a.d,a.e,a.c,a.a);}
+function w4b(){v4b(this);}
+function s4b(){}
+_=s4b.prototype=new fU();_.pb=w4b;_.tN=pgc+'EditorLauncher$2';_.tI=533;function y4b(a,c,e,b,d){a.b=c;a.d=e;a.a=b;a.c=d;return a;}
+function A4b(a){dK(a.b,aK(a.b,a.d));eK(a.b,0);if(a.a!==(nZ(),oZ)){s1(a.a,a.c);}}
+function B4b(){A4b(this);}
+function x4b(){}
+_=x4b.prototype=new fU();_.pb=B4b;_.tN=pgc+'EditorLauncher$3';_.tI=534;function f5b(e,a){var b,c,d;b=nY(new lY());for(c=0;c<e.a;c++){d=e[c];if(EU(a,'')||gV(d.a,a)){pY(b,d);}}return b;}
+function A6b(e,a,c,f,d){var b;bcb(e);FN(e,'metadata-Widget');if(!c){b=Dcb(new Bcb(),'images/edit.gif','Rename this asset');oB(b,r5b(new h5b(),e));fcb(e,'images/meta_data.png',a.n,b);}else{ecb(e,'images/asset_version.png',a.n);}e.e=f;e.a=a;e.c=c;e.d=d;F6b(e,a);return e;}
+function B6b(a){a.b=a2b(new k1b(),a.a,a.c);return a.b;}
+function D6b(d,a,e){var b,c;if(!d.c){b=eL(new vK());b.te(e);aL(b,a.ec());c=o5b(new n5b(),d,a,b);yK(b,c);return b;}else{return fC(new dC(),a.ec());}}
+function E6b(a){if(a.a.v==0){return nz(new qw(),'<i>Not checked in yet<\/i>');}else{return c7b(a,rT(a.a.v));}}
+function F6b(b,a){b.a=a;dcb(b,'Categories:',B6b(b));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Modified on:',b7b(b,b.a.m));dcb(b,'by:',c7b(b,b.a.l));dcb(b,'Note:',c7b(b,b.a.b));dcb(b,'Version:',E6b(b));if(!b.c){dcb(b,'Created on:',b7b(b,b.a.d));}dcb(b,'Created by:',c7b(b,b.a.e));dcb(b,'Format:',nz(new qw(),'<b>'+b.a.k+'<\/b>'));gcb(b,nz(new qw(),'<hr/>'));dcb(b,'Package:',a7b(b,b.a.o));dcb(b,'Subject:',D6b(b,v5b(new u5b(),b),'A short description of the subject matter.'));dcb(b,'Type:',D6b(b,A5b(new z5b(),b),'This is for classification purposes.'));dcb(b,'External link:',D6b(b,F5b(new E5b(),b),'This is for relating the asset to an external system.'));dcb(b,'Source:',D6b(b,e6b(new d6b(),b),'A short description or code indicating the source of the rule.'));if(!b.c){gcb(b,bac(new i_b(),b.e,b.a,b.d));}}
+function a7b(d,c){var a,b;if(d.c){return c7b(d,c);}else{b=iA(new gA());FN(b,'metadata-Widget');jA(b,c7b(d,c));a=Ccb(new Bcb(),'images/edit.gif');oB(a,j6b(new i6b(),d,c));jA(b,a);return b;}}
+function b7b(b,a){if(a===null){return null;}else{return fC(new dC(),a0(a));}}
+function c7b(c,b){var a;a=fC(new dC(),b);a.Be('100%');return a;}
+function d7b(f,b,e){var a,c,d;c=rcb(new mcb(),'images/package_large.png','Move this item to another package');scb(c,'Current package:',fC(new dC(),b));d=Fdb(new Adb());scb(c,'New package:',d);a=zp(new tp(),'Change package');scb(c,'',a);a.x(w6b(new v6b(),f,d,b,c));wE(c,wN(e.v.v),xN(e.v.v));zE(c);}
+function e7b(e,d){var a,b,c;c=rcb(new mcb(),'images/package_large.png','Rename this item');a=eL(new vK());scb(c,'New name',a);b=zp(new tp(),'Rename item');scb(c,'',b);b.x(n6b(new m6b(),e,a,c));wE(c,wN(d.v.v)-18,xN(d.v.v));zE(c);}
+function f7b(){return this.b.pc()||this.j;}
+function g5b(){}
+_=g5b.prototype=new Fbb();_.pc=f7b;_.tN=pgc+'MetaDataWidget';_.tI=535;_.a=null;_.b=null;_.c=false;_.d=null;_.e=null;function r5b(b,a){b.a=a;return b;}
+function t5b(a){e7b(this.a,a);}
+function h5b(){}
+_=h5b.prototype=new fU();_.zc=t5b;_.tN=pgc+'MetaDataWidget$1';_.tI=536;function j5b(b,a,c){b.a=a;b.b=c;return b;}
+function l5b(b,a){rab(b.a.a);j$b(b.a.a.d);b.b.lc();}
+function m5b(a){l5b(this,a);}
+function i5b(){}
+_=i5b.prototype=new vcb();_.pd=m5b;_.tN=pgc+'MetaDataWidget$10';_.tI=537;function o5b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function q5b(a){rab(this.a);this.b.xe(CK(this.c));}
+function n5b(){}
+_=n5b.prototype=new fU();_.yc=q5b;_.tN=pgc+'MetaDataWidget$11';_.tI=538;function v5b(b,a){b.a=a;return b;}
+function x5b(){return this.a.a.s;}
+function y5b(a){this.a.a.s=a;}
+function u5b(){}
+_=u5b.prototype=new fU();_.ec=x5b;_.xe=y5b;_.tN=pgc+'MetaDataWidget$2';_.tI=539;function A5b(b,a){b.a=a;return b;}
+function C5b(){return this.a.a.u;}
+function D5b(a){this.a.a.u=a;}
+function z5b(){}
+_=z5b.prototype=new fU();_.ec=C5b;_.xe=D5b;_.tN=pgc+'MetaDataWidget$3';_.tI=540;function F5b(b,a){b.a=a;return b;}
+function b6b(){return this.a.a.i;}
+function c6b(a){this.a.a.i=a;}
+function E5b(){}
+_=E5b.prototype=new fU();_.ec=b6b;_.xe=c6b;_.tN=pgc+'MetaDataWidget$4';_.tI=541;function e6b(b,a){b.a=a;return b;}
+function g6b(){return this.a.a.j;}
+function h6b(a){this.a.a.j=a;}
+function d6b(){}
+_=d6b.prototype=new fU();_.ec=g6b;_.xe=h6b;_.tN=pgc+'MetaDataWidget$5';_.tI=542;function j6b(b,a,c){b.a=a;b.b=c;return b;}
+function l6b(a){d7b(this.a,this.b,a);}
+function i6b(){}
+_=i6b.prototype=new fU();_.zc=l6b;_.tN=pgc+'MetaDataWidget$6';_.tI=543;function n6b(b,a,c,d){b.a=a;b.b=c;b.c=d;return b;}
+function p6b(a){rUb(mMb(),this.a.e,CK(this.b),r6b(new q6b(),this,this.c));}
+function m6b(){}
+_=m6b.prototype=new fU();_.zc=p6b;_.tN=pgc+'MetaDataWidget$7';_.tI=544;function r6b(b,a,c){b.a=a;b.b=c;return b;}
+function t6b(b,a){j$b(b.a.a.d);zh('Item has been renamed');b.b.lc();}
+function u6b(a){t6b(this,a);}
+function q6b(){}
+_=q6b.prototype=new vcb();_.pd=u6b;_.tN=pgc+'MetaDataWidget$8';_.tI=545;function w6b(b,a,e,c,d){b.a=a;b.d=e;b.b=c;b.c=d;return b;}
+function y6b(a){if(EU(beb(this.d),this.b)){zh('You need to pick a different package to move this to.');return;}uTb(mMb(),this.a.e,beb(this.d),'Moved from : '+this.b,j5b(new i5b(),this,this.c));}
+function v6b(){}
+_=v6b.prototype=new fU();_.zc=y6b;_.tN=pgc+'MetaDataWidget$9';_.tI=546;function x7b(){x7b=d3;ucb();}
+function u7b(a){a.f=eL(new vK());a.b=pK(new oK());a.d=z7b(a);a.g=Fdb(new Adb());}
+function v7b(e,a,d,b,f){var c;x7b();rcb(e,'images/new_wiz.gif',f);u7b(e);e.h=d;e.c=b;e.a=a;scb(e,'Name:',e.f);if(d){scb(e,'Initial category:',y7b(e));}if(b===null){scb(e,'Type (format) of rule:',e.d);}scb(e,'Package:',e.g);uK(e.b,4);e.b.Be('100%');scb(e,'Initial description:',e.b);c=zp(new tp(),'OK');c.x(i7b(new h7b(),e));scb(e,'',c);FN(e,'ks-popups-Popup');return e;}
+function w7b(e,b,d,c,f,a){x7b();v7b(e,b,d,c,f);ceb(e.g,a);return e;}
+function y7b(a){return d_(new s$(),m7b(new l7b(),a));}
+function A7b(a){if(a.c!==null)return a.c;return cD(a.d,bD(a.d));}
+function z7b(b){var a;a=xC(new nC());BC(a,'Business rule (using guided editor)','brl');BC(a,'DRL rule (technical rule - text editor)','drl');BC(a,'Business rule using a DSL (text editor)','dslr');BC(a,'Decision table (spreadsheet)','xls');gD(a,0);return a;}
+function B7b(b){var a;if(b.h&&b.e===null){lfb('You have to pick an initial category.',wN(b),xN(b));return;}else if(CK(b.f)===null||EU('',CK(b.f))){lfb('Rule must have a name',wN(b),xN(b));return;}a=q7b(new p7b(),b);wdb('Please wait ...');CTb(mMb(),CK(b.f),CK(b.b),b.e,beb(b.g),A7b(b),a);}
+function C7b(a,b){a.a.wd(b);}
+function g7b(){}
+_=g7b.prototype=new mcb();_.tN=pgc+'NewAssetWizard';_.tI=547;_.a=null;_.c=null;_.e=null;_.h=false;function i7b(b,a){b.a=a;return b;}
+function k7b(a){B7b(this.a);}
+function h7b(){}
+_=h7b.prototype=new fU();_.zc=k7b;_.tN=pgc+'NewAssetWizard$1';_.tI=548;function m7b(b,a){b.a=a;return b;}
+function o7b(a){this.a.e=a;}
+function l7b(){}
+_=l7b.prototype=new fU();_.he=o7b;_.tN=pgc+'NewAssetWizard$2';_.tI=549;function q7b(b,a){b.a=a;return b;}
+function s7b(b,a){var c;c=Fb(a,1);if(gV(c,'DUPLICATE')){sdb();zh('An asset with that name already exists in the chosen package. Please use another name');}else{C7b(b.a,Fb(a,1));b.a.lc();}}
+function t7b(a){s7b(this,a);}
+function p7b(){}
+_=p7b.prototype=new vcb();_.pd=t7b;_.tN=pgc+'NewAssetWizard$3';_.tI=550;function c8b(b,a){b.a=pK(new oK());b.a.Be('100%');uK(b.a,10);FN(b.a,'rule-viewer-Documentation');b.a.te('This is rule documentation. Human friendly descriptions of the business logic.');pr(b,b.a);e8b(b,a);return b;}
+function e8b(b,a){aL(b.a,a.h);yK(b.a,F7b(new E7b(),b,a));if(a.h===null||EU('',a.h)){aL(b.a,'<documentation>');}}
+function D7b(){}
+_=D7b.prototype=new pab();_.tN=pgc+'RuleDocumentWidget';_.tI=551;_.a=null;function F7b(b,a,c){b.a=a;b.b=c;return b;}
+function b8b(a){this.b.h=CK(this.a.a);rab(this.a);}
+function E7b(){}
+_=E7b.prototype=new fU();_.yc=b8b;_.tN=pgc+'RuleDocumentWidget$1';_.tI=552;function g8b(b,a,c){wxb(b,a,c);xxb(b,nz(new qw(),'<small><i>Ruleflows allow flow control between rules. The eclipse plugin provides a graphical editor. Upload ruleflow .rf files for inclusion in this package.<\/i><\/small>'));return b;}
+function i8b(){return 'images/ruleflow_large.png';}
+function j8b(){return 'decision-Table-upload';}
+function f8b(){}
+_=f8b.prototype=new ixb();_.vb=i8b;_.Eb=j8b;_.tN=pgc+'RuleFlowUploadWidget';_.tI=553;function D8b(c,b,a){c.a=a;c.b=yab(new wab());FN(c.b,'asset-editor-Layout');Bab(c.b,0,0,b);if(!a.c)Bab(c.b,1,0,d9b(c));ex(c.b.n,1,0,(xz(),Az),(aA(),dA));c.b.Be('100%');c.b.qe('100%');pr(c,c.b);return c;}
+function F8b(a){wdb('Validating item, please wait...');rTb(mMb(),a.a,u8b(new t8b(),a));}
+function a9b(a){wdb('Calculating source...');qTb(mMb(),a.a,z8b(new y8b(),a));}
+function b9b(h,e){var a,b,c,d,f,g;c=rcb(new mcb(),'images/package_builder.png','Validation results');if(e===null||e.a==0){tcb(c,nz(new qw(),"<img src='images/tick_green.gif'/><i>Rule built successfully.<\/i>"));}else{a=ut(new ot());FN(a,'build-Results');for(b=0;b<e.a;b++){f=b;d=e[b];a.ze(f,0,nB(new xA(),'images/error.gif'));if(EU(d.a,'package')){bz(a,f,1,'[package configuration problem] '+d.c);}else{bz(a,f,1,d.c);}}g=zG(new xG(),a);g.Be('100%');tcb(c,g);}wE(c,100,100);zE(c);sdb();}
+function c9b(b,a){vBb(a,b.a.d.n);sdb();}
+function d9b(b){var a,c,d;a=iA(new gA());d=zp(new tp(),'View source');jA(a,d);c=zp(new tp(),'Validate');jA(a,c);d.x(m8b(new l8b(),b));c.x(q8b(new p8b(),b));FN(a,'asset-validator-Buttons');return a;}
+function e9b(){return Aab(this.b);}
+function k8b(){}
+_=k8b.prototype=new pab();_.pc=e9b;_.tN=pgc+'RuleValidatorWrapper';_.tI=554;_.a=null;_.b=null;function m8b(b,a){b.a=a;return b;}
+function o8b(a){a9b(this.a);}
+function l8b(){}
+_=l8b.prototype=new fU();_.zc=o8b;_.tN=pgc+'RuleValidatorWrapper$1';_.tI=555;function q8b(b,a){b.a=a;return b;}
+function s8b(a){F8b(this.a);}
+function p8b(){}
+_=p8b.prototype=new fU();_.zc=s8b;_.tN=pgc+'RuleValidatorWrapper$2';_.tI=556;function u8b(b,a){b.a=a;return b;}
+function w8b(c,a){var b;b=Fb(a,88);b9b(c.a,b);}
+function x8b(a){w8b(this,a);}
+function t8b(){}
+_=t8b.prototype=new vcb();_.pd=x8b;_.tN=pgc+'RuleValidatorWrapper$3';_.tI=557;function z8b(b,a){b.a=a;return b;}
+function B8b(c,a){var b;b=Fb(a,1);c9b(c.a,b);}
+function C8b(a){B8b(this,a);}
+function y8b(){}
+_=y8b.prototype=new vcb();_.pd=C8b;_.tN=pgc+'RuleValidatorWrapper$4';_.tI=558;function D$b(c,a,b){c.a=a;c.g=b;c.e=yab(new wab());d_b(c);pr(c,c.e);sdb();return c;}
+function F$b(a){a.a.a=true;a_b(a);A4b(a.b);}
+function a_b(a){ky(a.e);wdb('Saving, please wait...');wTb(mMb(),a.a,w$b(new v$b(),a));}
+function b_b(e){var a,b,c,d;d=rcb(new mcb(),'images/warning-large.png','WARNING: Un-committed changes.');b=zp(new tp(),'Discard');a=zp(new tp(),'Cancel');c=iA(new gA());jA(c,b);jA(c,a);tcb(d,nz(new qw(),'Are you sure you want to discard changes?'));tcb(d,c);b.x(m9b(new l9b(),e,d));a.x(q9b(new p9b(),e,d));FN(d,'warning-Popup');wE(d,dc((tab()-rE(d))/2),100);zE(d);}
+function c_b(a){aUb(mMb(),a.a.e,a.a.d.o,r$b(new q$b(),a));}
+function d_b(b){var a;ky(b.e);a=xt(b.e);b.h=a1b(new rZb(),b.a,t9b(new g9b(),b),y9b(new x9b(),b),D9b(new C9b(),b),c$b(new b$b(),b),b.g);Bab(b.e,0,0,b.h);ex(a,0,0,(xz(),Az),(aA(),dA));b.f=A6b(new g5b(),b.a.d,b.g,b.a.e,h$b(new g$b(),b));Bab(b.e,0,1,b.f);tt(a,0,1,3);ix(a,0,1,(aA(),dA));kx(a,0,1,'30%');b.d=F4b(b.a,b);g1b(b.h,m$b(new l$b(),b));Bab(b.e,1,0,b.d);ix(a,1,0,(aA(),dA));b.c=c8b(new D7b(),b.a.d);Bab(b.e,2,0,b.c);ix(a,2,0,(aA(),dA));}
+function e_b(a){if(t_(a.a.d.k)){wdb('Refreshing content assistance...');eLb((aLb(),fLb),a.a.d.o,new A$b());}}
+function f_b(a){jUb(mMb(),a.a.e,i9b(new h9b(),a));}
+function g_b(b,a){b.b=a;}
+function h_b(a){var b;b= !cx(xt(a.e),2,0);jx(xt(a.e),0,1,b);jx(xt(a.e),2,0,b);}
+function f9b(){}
+_=f9b.prototype=new nr();_.tN=pgc+'RuleViewer';_.tI=559;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;_.f=null;_.g=false;_.h=null;function t9b(b,a){b.a=a;return b;}
+function v9b(a){a_b(a.a);}
+function w9b(){v9b(this);}
+function g9b(){}
+_=g9b.prototype=new fU();_.pb=w9b;_.tN=pgc+'RuleViewer$1';_.tI=560;function i9b(b,a){b.a=a;return b;}
+function k9b(a){this.a.a=Fb(a,97);d_b(this.a);sdb();}
+function h9b(){}
+_=h9b.prototype=new vcb();_.pd=k9b;_.tN=pgc+'RuleViewer$10';_.tI=561;function m9b(b,a,c){b.a=a;b.b=c;return b;}
+function o9b(a){A4b(this.a.b);this.b.lc();}
+function l9b(){}
+_=l9b.prototype=new fU();_.zc=o9b;_.tN=pgc+'RuleViewer$11';_.tI=562;function q9b(b,a,c){b.a=c;return b;}
+function s9b(a){this.a.lc();}
+function p9b(){}
+_=p9b.prototype=new fU();_.zc=s9b;_.tN=pgc+'RuleViewer$12';_.tI=563;function y9b(b,a){b.a=a;return b;}
+function A9b(a){F$b(a.a);}
+function B9b(){A9b(this);}
+function x9b(){}
+_=x9b.prototype=new fU();_.pb=B9b;_.tN=pgc+'RuleViewer$2';_.tI=564;function D9b(b,a){b.a=a;return b;}
+function F9b(a){h_b(a.a);}
+function a$b(){F9b(this);}
+function C9b(){}
+_=C9b.prototype=new fU();_.pb=a$b;_.tN=pgc+'RuleViewer$3';_.tI=565;function c$b(b,a){b.a=a;return b;}
+function e$b(a){c_b(a.a);}
+function f$b(){e$b(this);}
+function b$b(){}
+_=b$b.prototype=new fU();_.pb=f$b;_.tN=pgc+'RuleViewer$4';_.tI=566;function h$b(b,a){b.a=a;return b;}
+function j$b(a){f_b(a.a);}
+function k$b(){j$b(this);}
+function g$b(){}
+_=g$b.prototype=new fU();_.pb=k$b;_.tN=pgc+'RuleViewer$5';_.tI=567;function m$b(b,a){b.a=a;return b;}
+function o$b(a){if(Aab(a.a.e)){b_b(a.a);}else{A4b(a.a.b);}}
+function p$b(){o$b(this);}
+function l$b(){}
+_=l$b.prototype=new fU();_.pb=p$b;_.tN=pgc+'RuleViewer$6';_.tI=568;function r$b(b,a){b.a=a;return b;}
+function t$b(b,a){A4b(b.a.b);}
+function u$b(a){t$b(this,a);}
+function q$b(){}
+_=q$b.prototype=new vcb();_.pd=u$b;_.tN=pgc+'RuleViewer$7';_.tI=569;function w$b(b,a){b.a=a;return b;}
+function y$b(b,a){var c;e_b(b.a);c=Fb(a,1);if(ac(b.a.d,98)){sab(Fb(b.a.d,98));}sab(b.a.f);sab(b.a.c);if(c===null){xbb('Failed to check in the item. Please contact your system administrator.');return;}f_b(b.a);}
+function z$b(a){y$b(this,a);}
+function v$b(){}
+_=v$b.prototype=new vcb();_.pd=z$b;_.tN=pgc+'RuleViewer$8';_.tI=570;function C$b(){sdb();}
+function A$b(){}
+_=A$b.prototype=new fU();_.pb=C$b;_.tN=pgc+'RuleViewer$9';_.tI=571;function bac(d,e,a,c){var b,f;d.e=e;d.b=a;d.d=c;d.e=e;f=iA(new gA());d.a=ut(new ot());d.a.ze(0,0,fC(new dC(),'Version history'));hx(d.a.n,0,0,'metadata-Widget');b=xt(d.a);gx(b,0,0,(xz(),zz));d.c=Ccb(new Bcb(),'images/refresh.gif');oB(d.c,k_b(new j_b(),d));d.a.ze(0,1,d.c);gx(b,0,1,(xz(),Az));FN(f,'version-browser-Border');jA(f,d.a);d.a.Be('100%');f.Be('100%');pr(d,f);return d;}
+function cac(a){gac(a);fg(o_b(new n_b(),a));}
+function eac(b,a){return B_b(new A_b(),b,a);}
+function fac(a){gUb(mMb(),a.e,s_b(new r_b(),a));}
+function gac(a){sB(a.c,'images/searching.gif');}
+function hac(a){sB(a.c,'images/refresh.gif');}
+function iac(b,a){var c;c=Fac(new jac(),b.b,a,b.e,b.d);wE(c,100,100);zE(c);}
+function i_b(){}
+_=i_b.prototype=new nr();_.tN=pgc+'VersionBrowser';_.tI=572;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function k_b(b,a){b.a=a;return b;}
+function m_b(a){cac(this.a);}
+function j_b(){}
+_=j_b.prototype=new fU();_.zc=m_b;_.tN=pgc+'VersionBrowser$1';_.tI=573;function o_b(b,a){b.a=a;return b;}
+function q_b(){fac(this.a);}
+function n_b(){}
+_=n_b.prototype=new fU();_.pb=q_b;_.tN=pgc+'VersionBrowser$2';_.tI=574;function s_b(b,a){b.a=a;return b;}
+function u_b(i,a){var b,c,d,e,f,g,h;if(a===null){i.a.a.ze(1,0,fC(new dC(),'No history.'));hac(i.a);return;}g=Fb(a,62);f=g.a;c=zb('[Ljava.lang.String;',608,1,['Version number','Comment','Date Modified','Status']);d=eac(i.a,f);h=sfc(d,c,0,false);h.Be('100%');i.a.a.ze(1,0,h);b=xt(i.a.a);st(b,1,0,2);e=zp(new tp(),'View selected version');e.x(x_b(new w_b(),i,h));i.a.a.ze(2,1,e);st(b,2,1,3);gx(b,2,1,(xz(),yz));hac(i.a);}
+function v_b(a){u_b(this,a);}
+function r_b(){}
+_=r_b.prototype=new vcb();_.pd=v_b;_.tN=pgc+'VersionBrowser$3';_.tI=575;function x_b(b,a,c){b.a=a;b.b=c;return b;}
+function z_b(a){if(this.b.f==0)return;iac(this.a.a,ffc(this.b));}
+function w_b(){}
+_=w_b.prototype=new fU();_.zc=z_b;_.tN=pgc+'VersionBrowser$4';_.tI=576;function B_b(b,a,c){b.a=c;return b;}
+function D_b(){return this.a.a;}
+function E_b(a){return this.a[a].b;}
+function F_b(b,a){return this.a[b].c[a];}
+function aac(b,a){return null;}
+function A_b(){}
+_=A_b.prototype=new fU();_.Ab=D_b;_.ac=E_b;_.fc=F_b;_.gc=aac;_.tN=pgc+'VersionBrowser$5';_.tI=577;function abc(){abc=d3;cs();}
+function Fac(d,a,e,b,c){abc();as(d,false);d.c=e;d.a=b;d.b=c;FN(d,'version-Popup');wdb('Loading version');jUb(mMb(),e,lac(new kac(),d,a));return d;}
+function bbc(b,c){var a;a=n2b(new i2b(),wN(c)+10,xN(c)+10,'Restore this version?');q2b(a,xac(new wac(),b,a));r2b(a);}
+function jac(){}
+_=jac.prototype=new Dr();_.tN=pgc+'VersionViewer';_.tI=578;_.a=null;_.b=null;_.c=null;function lac(b,a,c){b.a=a;b.b=c;return b;}
+function nac(c){var a,b,d,e,f,g;a=Fb(c,97);a.c=true;a.d.n=this.b.n;es(this.a,'Version number ['+a.d.v+'] of ['+a.d.n+']');e=ut(new ot());d=xt(e);f=zp(new tp(),'Restore this version');f.x(pac(new oac(),this));e.ze(0,0,f);gx(d,0,0,(xz(),zz));b=zp(new tp(),'Close');b.x(tac(new sac(),this));e.ze(0,1,b);gx(d,0,1,(xz(),Az));g=D$b(new f9b(),a,true);g.Be('100%');e.ze(1,0,g);st(d,1,1,2);e.Be('100%');DN(e,800,300);fs(this.a,e);}
+function kac(){}
+_=kac.prototype=new vcb();_.pd=nac;_.tN=pgc+'VersionViewer$1';_.tI=579;function pac(b,a){b.a=a;return b;}
+function rac(a){bbc(this.a.a,a);}
+function oac(){}
+_=oac.prototype=new fU();_.zc=rac;_.tN=pgc+'VersionViewer$2';_.tI=580;function tac(b,a){b.a=a;return b;}
+function vac(a){this.a.a.lc();}
+function sac(){}
+_=sac.prototype=new fU();_.zc=vac;_.tN=pgc+'VersionViewer$3';_.tI=581;function xac(b,a,c){b.a=a;b.b=c;return b;}
+function zac(){tUb(mMb(),this.a.c,this.a.a,p2b(this.b),Bac(new Aac(),this));}
+function wac(){}
+_=wac.prototype=new fU();_.pb=zac;_.tN=pgc+'VersionViewer$4';_.tI=582;function Bac(b,a){b.a=a;return b;}
+function Dac(b,a){b.a.a.lc();j$b(b.a.a.b);}
+function Eac(a){Dac(this,a);}
+function Aac(){}
+_=Aac.prototype=new vcb();_.pd=Eac;_.tN=pgc+'VersionViewer$5';_.tI=583;function fcc(a){a.b=(nZ(),oZ);}
+function gcc(a){fcc(a);a.c=DJ(new pJ());a.c.Be('100%');a.c.qe('100%');EJ(a.c,icc(a),"<img src='images/explore.gif'/>Explore",true);eK(a.c,0);pr(a,a.c);return a;}
+function icc(i){var a,b,c,d,e,f,g,h;h=ut(new ot());i.a=jdc(new ncc(),ebc(new dbc(),i),'rulelist');b=xt(h);d=d_(new s$(),ibc(new hbc(),i,h));f=nec(new sdc(),mbc(new lbc(),i));h.ze(0,1,f);ex(b,0,0,(xz(),zz),(aA(),dA));ex(b,0,1,(xz(),zz),(aA(),dA));kx(b,0,0,'30%');kx(b,0,1,'70%');e=zp(new tp(),'Create new rule');e.te('Create new rule');e.x(rbc(new qbc(),i));g=Ccb(new Bcb(),'images/system_search_small.png');g.te('Show the rule finder.');oB(g,vbc(new ubc(),i,h,f));a=iA(new gA());jA(a,e);jA(a,g);FN(a,'new-asset-Icons');c=sO(new qO());tO(c,a);tO(c,d);c.Be('100%');h.ze(0,0,c);return h;}
+function jcc(c,a,b){return zbc(new ybc(),c,b,a);}
+function kcc(b,a){b.b=a;}
+function lcc(a,b){c5b(a.b,a.c,b,false);}
+function mcc(c){var a,b,d;a=70;d=100;b=v7b(new g7b(),ccc(new bcc(),c),true,null,'Create a new rule');wE(b,a,d);zE(b);}
+function cbc(){}
+_=cbc.prototype=new nr();_.tN=qgc+'AssetBrowser';_.tI=584;_.a=null;_.c=null;function ebc(b,a){b.a=a;return b;}
+function gbc(a){lcc(this.a,a);}
+function dbc(){}
+_=dbc.prototype=new fU();_.wd=gbc;_.tN=qgc+'AssetBrowser$1';_.tI=585;function ibc(b,a,c){b.a=a;b.b=c;return b;}
+function kbc(b){var a;a=jcc(this.a,this.a.a,b);this.b.ze(0,1,this.a.a);wdb('Retrieving list, please wait...');fg(a);pdc(this.a.a,a);}
+function hbc(){}
+_=hbc.prototype=new fU();_.he=kbc;_.tN=qgc+'AssetBrowser$2';_.tI=586;function mbc(b,a){b.a=a;return b;}
+function obc(b,a){lcc(b.a,a);}
+function pbc(a){obc(this,a);}
+function lbc(){}
+_=lbc.prototype=new fU();_.wd=pbc;_.tN=qgc+'AssetBrowser$3';_.tI=587;function rbc(b,a){b.a=a;return b;}
+function tbc(a){mcc(this.a);}
+function qbc(){}
+_=qbc.prototype=new fU();_.zc=tbc;_.tN=qgc+'AssetBrowser$4';_.tI=588;function vbc(b,a,d,c){b.b=d;b.a=c;return b;}
+function xbc(a){this.b.ze(0,1,this.a);}
+function ubc(){}
+_=ubc.prototype=new fU();_.zc=xbc;_.tN=qgc+'AssetBrowser$5';_.tI=589;function zbc(b,a,d,c){b.b=d;b.a=c;return b;}
+function Bbc(){wdb('Loading list, please wait...');kUb(mMb(),this.b,Dbc(new Cbc(),this,this.a));}
+function ybc(){}
+_=ybc.prototype=new fU();_.pb=Bbc;_.tN=qgc+'AssetBrowser$6';_.tI=590;function Dbc(b,a,c){b.a=c;return b;}
+function Fbc(c,a){var b;b=Fb(a,62);odc(c.a,b);sdb();}
+function acc(a){Fbc(this,a);}
+function Cbc(){}
+_=Cbc.prototype=new vcb();_.pd=acc;_.tN=qgc+'AssetBrowser$7';_.tI=591;function ccc(b,a){b.a=a;return b;}
+function ecc(a){lcc(this.a,a);}
+function bcc(){}
+_=bcc.prototype=new fU();_.wd=ecc;_.tN=qgc+'AssetBrowser$8';_.tI=592;function kdc(){kdc=d3;qdc=mMb();}
+function idc(a){a.c=ut(new ot());a.e=Ccb(new Bcb(),'images/refresh.gif');a.a=eC(new dC());}
+function jdc(c,a,b){kdc();idc(c);mdc(c);ndc(c,b);c.e.ye(false);c.b=a;c.e.te('Refresh current list. Will show any changes.');oB(c.e,pcc(new occ(),c));return c;}
+function ldc(a){return kZb(ffc(a.f));}
+function mdc(c){var a,b;a=xt(c.c);c.c.Be('100%');ex(a,0,0,(xz(),zz),(aA(),dA));b=Ccb(new Bcb(),'images/open_item.gif');oB(b,ycc(new xcc(),c));b.te('Open item');c.c.ze(0,1,b);ex(a,0,1,(xz(),Az),(aA(),dA));pr(c,c.c);}
+function ndc(b,a){mUb(qdc,a,tcc(new scc(),b));}
+function odc(g,a){var b,c,d,e,f;b=xt(g.c);g.c.ze(1,0,null);if(a===null||a.a.a==0){d=new Bcc();g.f=sfc(d,g.g.a,25,true);g.a.ye(false);}else{f=a.a;c=cdc(new bdc(),g,f);g.f=sfc(c,g.g.a,25,true);e=iA(new gA());jA(e,g.e);g.a.ye(true);kC(g.a,'  '+a.a.a+' items.');jA(e,g.a);g.c.ze(0,0,e);}g.f.Be('100%');g.c.ze(1,0,g.f);st(b,1,0,2);}
+function pdc(b,a){b.d=a;b.e.ye(true);}
+function ncc(){}
+_=ncc.prototype=new nr();_.tN=qgc+'AssetItemListViewer';_.tI=593;_.b=null;_.d=null;_.f=null;_.g=null;var qdc;function pcc(b,a){b.a=a;return b;}
+function rcc(a){wdb('Refreshing list, please wait...');this.a.d.pb();}
+function occ(){}
+_=occ.prototype=new fU();_.zc=rcc;_.tN=qgc+'AssetItemListViewer$1';_.tI=594;function tcc(b,a){b.a=a;return b;}
+function vcc(b,a){b.a.g=Fb(a,99);odc(b.a,null);}
+function wcc(a){vcc(this,a);}
+function scc(){}
+_=scc.prototype=new vcb();_.pd=wcc;_.tN=qgc+'AssetItemListViewer$2';_.tI=595;function ycc(b,a){b.a=a;return b;}
+function Acc(a){wdb('Loading item, please wait ...');this.a.b.wd(kZb(ffc(this.a.f)));}
+function xcc(){}
+_=xcc.prototype=new fU();_.zc=Acc;_.tN=qgc+'AssetItemListViewer$3';_.tI=596;function Dcc(){return 0;}
+function Ecc(a){return '';}
+function Fcc(b,a){return '';}
+function adc(b,a){return null;}
+function Bcc(){}
+_=Bcc.prototype=new fU();_.Ab=Dcc;_.ac=Ecc;_.fc=Fcc;_.gc=adc;_.tN=qgc+'AssetItemListViewer$4';_.tI=597;function cdc(b,a,c){b.a=a;b.b=c;return b;}
+function edc(){return this.b.a;}
+function fdc(a){return this.b[a].b;}
+function gdc(b,a){return this.b[b].c[a];}
+function hdc(b,a){if(EU(this.a.g.a[a],'*')){return nB(new xA(),'images/'+E4b(this.b[b].a));}else{return null;}}
+function bdc(){}
+_=bdc.prototype=new fU();_.Ab=edc;_.ac=fdc;_.fc=gdc;_.gc=hdc;_.tN=qgc+'AssetItemListViewer$5';_.tI=598;function nec(d,a){var b,c;d.c=ccb(new Fbb(),'images/system_search.png','');d.e=E_(new u_(),udc(new tdc(),d));FN(d.e,'gwt-TextBox');d.b=a;c=iA(new gA());b=zp(new tp(),'Go');b.x(ydc(new xdc(),d));jA(c,d.e);jA(c,b);d.a=lq(new iq(),'Include archived items in list');FN(d.a,'small-Text');pq(d.a,false);dcb(d.c,'Find items with a name matching:',c);gcb(d.c,d.a);gcb(d.c,nz(new qw(),'<hr/>'));d.d=ut(new ot());d.d.ze(0,0,nz(new qw(),"<img src='images/information.gif'/>&nbsp;Enter the name or part of a name. Alternatively, use the categories to browse."));gcb(d.c,d.d);FN(d.d,'editable-Surface');zK(d.e,pec(d));FN(d.c,'quick-find');pr(d,d.c);return d;}
+function pec(a){return aec(new Fdc(),a);}
+function qec(c,a,b){nUb(mMb(),a,5,oq(c.a),Cdc(new Bdc(),c,b));}
+function rec(f,d){var a,b,c,e;a=ut(new ot());if(d.a.a==1){obc(f.b,d.a[0].b);}for(b=0;b<d.a.a;b++){e=d.a[b];if(EU(e.b,'MORE')){a.ze(b,0,nz(new qw(),'<i>There are more items... try narrowing the search terms..<\/i>'));st(xt(a),b,0,3);}else{a.ze(b,0,fC(new dC(),e.c[0]));a.ze(b,1,fC(new dC(),e.c[1]));c=zp(new tp(),'Open');c.x(kec(new jec(),f,e));a.ze(b,2,c);}}a.Be('100%');f.d.ze(0,0,a);sdb();}
+function sec(a){wdb('Searching...');nUb(mMb(),CK(a.e),15,oq(a.a),gec(new fec(),a));}
+function sdc(){}
+_=sdc.prototype=new nr();_.tN=qgc+'QuickFindWidget';_.tI=599;_.a=null;_.b=null;_.c=null;_.d=null;_.e=null;function udc(b,a){b.a=a;return b;}
+function wdc(c,b,a){qec(c.a,b,a);}
+function tdc(){}
+_=tdc.prototype=new fU();_.tN=qgc+'QuickFindWidget$1';_.tI=600;function ydc(b,a){b.a=a;return b;}
+function Adc(a){sec(this.a);}
+function xdc(){}
+_=xdc.prototype=new fU();_.zc=Adc;_.tN=qgc+'QuickFindWidget$2';_.tI=601;function Cdc(b,a,c){b.a=c;return b;}
+function Edc(a){var b,c,d;d=Fb(a,62);c=yb('[Ljava.lang.String;',[608],[1],[d.a.a],null);for(b=0;b<d.a.a;b++){if(!EU(d.a[b].b,'MORE')){c[b]=d.a[b].c[0];}}C_(this.a,c);}
+function Bdc(){}
+_=Bdc.prototype=new vcb();_.pd=Edc;_.tN=qgc+'QuickFindWidget$3';_.tI=602;function aec(b,a){b.a=a;return b;}
+function cec(a,b,c){}
+function dec(a,b,c){}
+function eec(a,b,c){if(b==13){sec(this.a);}}
+function Fdc(){}
+_=Fdc.prototype=new fU();_.cd=cec;_.dd=dec;_.ed=eec;_.tN=qgc+'QuickFindWidget$4';_.tI=603;function gec(b,a){b.a=a;return b;}
+function iec(a){var b;b=Fb(a,62);rec(this.a,b);}
+function fec(){}
+_=fec.prototype=new vcb();_.pd=iec;_.tN=qgc+'QuickFindWidget$5';_.tI=604;function kec(b,a,c){b.a=a;b.b=c;return b;}
+function mec(a){obc(this.a.b,this.b.b);}
+function jec(){}
+_=jec.prototype=new fU();_.zc=mec;_.tN=qgc+'QuickFindWidget$6';_.tI=605;function vec(a){a.a=nY(new lY());}
+function wec(a){vec(a);return a;}
+function xec(b,a,c){if(a>=b.a.b){yec(b,a);}AY(b.a,a,c);}
+function yec(c,a){var b;for(b=c.a.b;b<=a;b++){pY(c.a,null);}}
+function Aec(b,a){return uY(b.a,a);}
+function Bec(b,a){b.b=a;}
+function Cec(c){var a,b,d;if(null===c){return (-1);}d=Fb(c,100);a=Fb(Aec(this,this.b),34);b=Fb(Aec(d,this.b),34);return a.bb(b);}
+function uec(){}
+_=uec.prototype=new fU();_.bb=Cec;_.tN=rgc+'RowData';_.tI=606;_.b=0;function Eec(a){a.j=nY(new lY());a.i=nY(new lY());}
+function Fec(c,b,a){dw(c,b+1,a);Eec(c);gy(c,c);FN(c,vfc);return c;}
+function afc(c,b,a){if(b!=0){return;}mfc(c,a);ofc(c,a);efc(c);}
+function cfc(e){var a,b,c,d,f;if(e.h==qfc||e.h==(-1)){for(c=0;c<e.j.b;c++){b=Fb(uY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Aec(b,a);ifc(e,c+1,a,f.tS());}}}else{for(c=e.j.b-1,d=1;c>=0;c-- ,d++){b=Fb(uY(e.j,c),100);for(a=0;a<b.a.b;a++){f=Aec(b,a);ifc(e,d,a,f.tS());}}}}
+function dfc(d){var a,b,c;c=0;for(b=d.i.qc();b.kc();){a=Fb(b.sc(),1);gfc(d,a,c++);}}
+function efc(a){dfc(a);cfc(a);}
+function ffc(a){return ry(a,a.f,a.e);}
+function gfc(d,c,b){var a;a=qU(new pU());sU(a,c);sU(a,"&nbsp;<img border='0' src=");if(d.g==b){if(d.h==qfc){sU(a,"'"+d.a+"' alt='Ascending' ");}else{sU(a,"'"+d.c+"' alt='Descending' ");}}else{sU(a,"'"+d.b+"'");}sU(a,'/>');Fy(d,0,b,wU(a));ux(d.p,0,wfc);}
+function hfc(c,b,a){if(b%2==0){hx(c.n,b,a,ufc);}}
+function ifc(c,b,a,d){if(null!==d){if(a==1&&c.d)c.ze(b,a,nB(new xA(),'images/'+E4b(d)));else bz(c,b,a,d);}}
+function jfc(c,b,a){oY(c.i,a,b);gfc(c,b,a);}
+function kfc(b,a){b.d=a;}
+function lfc(b,a){b.e=a;jx(b.n,0,a,false);}
+function mfc(d,c){var a,b;for(b=0;b<d.j.b;b++){a=Fb(uY(d.j,b),100);Bec(a,c);}}
+function nfc(d,b,a,e,f){var c;if(b==0)return;hfc(d,b,a);if(b-1>=d.j.b||null===uY(d.j,b-1)){oY(d.j,b-1,wec(new uec()));}c=Fb(uY(d.j,b-1),100);xec(c,a,e);if(f===null){bz(d,b,a,''+e+'');}else{d.ze(b,a,f);}if(a==d.e){jx(d.n,b,a,false);}}
+function ofc(b,a){qZ(b.j);if(b.g!=a){b.h=qfc;}else{b.h=b.h==qfc?rfc:qfc;}b.g=a;}
+function pfc(d,c){var a,b;if(c!=0){a=d.n;for(b=1;b<d.k;b++){hx(a,c,b,xfc);if(d.f%2==0&&d.f!=0){hx(a,d.f,b,ufc);}else{dx(a,d.f,b,xfc);}}d.f=c;}}
+function sfc(a,d,b,c){var e,f,g;g=null;if(b>a.Ab()){g=Fec(new Dec(),b,d.a+1);nfc(g,1,1,'',null);}else{g=Fec(new Dec(),a.Ab()+1,d.a+1);}jfc(g,'',0);for(e=0;e<d.a;e++){jfc(g,d[e],e+1);}lfc(g,0);for(e=0;e<a.Ab();e++){nfc(g,e+1,0,a.ac(e),null);for(f=0;f<d.a;f++){nfc(g,e+1,f+1,a.fc(e,f),a.gc(e,f));}}kfc(g,c);return g;}
+function tfc(c,b,a){if(b<=this.j.b){pfc(this,b);afc(this,b,a);}}
+function Dec(){}
+_=Dec.prototype=new bw();_.xc=tfc;_.tN=rgc+'SortableTable';_.tI=607;_.a='images/shuffle_up.gif';_.b='images/up_down.gif';_.c='images/shuffle_down.gif';_.d=true;_.e=0;_.f=0;_.g=(-1);_.h=(-1);var qfc=0,rfc=1,ufc='rule-ListEvenRow',vfc='rule-List',wfc='rule-ListHeader',xfc='rule-SelectedRow';function FR(){p4(l4(new a4()));}
+function gwtOnLoad(b,d,c){$moduleName=d;$moduleBase=c;if(b)try{FR();}catch(a){b(d);}else{FR();}}
+var gc=[{},{11:1},{1:1,11:1,34:1,35:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{2:1,11:1},{11:1},{11:1},{11:1},{3:1,11:1},{11:1},{8:1,11:1},{8:1,11:1},{8:1,11:1},{11:1},{2:1,6:1,11:1},{2:1,11:1},{9:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1},{3:1,11:1},{3:1,11:1,39:1},{3:1,11:1,92:1},{3:1,11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,36:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,49:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1,33:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,43:1},{11:1,49:1,56:1}!
 ,{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,81:1},{11:1,13:1,36:1,37:1,81:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1},{11:1},{11:1,46:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1},{11:1,49:1,56:1},{11:1,39:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,49:1},{11:1},{11:1,13:1,36:1,37:1,87:1},{11:1,13:1,36:1,37:1,48:1,54:1},{9:1,11:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,13:1,36:1,37:1,54:1},{11:1,39:1},{11:1,39:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,50:1,54:1},{11:1,13:1,36:1,37:1,54:1},{11:1,13:1,36:1,37:1,42:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,80:1},{11:1,13:1,36:1,37:1,54:1},{11:1,36:1,52:1},{11:1,36:1,52:1},{11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1,54:1},{11:1},{11:1},{11:1},{11:1},{11!
 :1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{3:
1,11:1},{11:1,55:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{3:1,11:1},{11:1,35:1},{3:1,11:1},{11:1},{11:1,57:1},{11:1,49:1,58:1},{11:1,49:1,58:1},{11:1},{11:1,49:1},{11:1},{11:1},{11:1,34:1,59:1},{11:1,57:1},{11:1,60:1},{11:1,49:1,58:1},{11:1},{11:1,49:1,58:1},{3:1,11:1},{11:1,49:1,56:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{7:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{8:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1,61:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{!
 11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,53:1},{11:1,42:1},{11:1},{11:1},{11:1,36:1,52:1,64:1},{11:1,13:1,36:1,37:1,46:1,80:1},{11:1,13:1,36:1,37:1,85:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{11:1,13:1,36:1,37:1,54:1,67:1,68:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,13:1,36:1,37:1,81:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,65:1},{11:1,13:1,36:1,37:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,54:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1},{11:1,38:1,39:1,91:1},{11:1,20:1,22:1,38:1,39:1},{11:1,23:1,38:1,39:1},{11:1,20:1,22:1,24:1,38:1,3!
 9:1},{11:1,20:1,22:1,24:1,25:1,38:1,39:1},{11:1,20:1,26:1,38:1,39:1},{
11:1,20:1,22:1,27:1,38:1,39:1},{11:1,20:1,22:1,27:1,28:1,38:1,39:1},{11:1,19:1,29:1,38:1,39:1},{11:1,21:1,30:1,38:1,39:1},{11:1,38:1,39:1,40:1},{11:1,15:1,38:1,39:1,40:1},{10:1,11:1,19:1,20:1,38:1,39:1},{11:1,19:1,31:1,38:1,39:1},{11:1,18:1,38:1,39:1},{11:1,38:1,39:1,83:1},{11:1,21:1,32:1,38:1,39:1,40:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,84:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,41:1},{4:1,11:1},{11:1,46:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1},{11:1,46:1},{11:1,41:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,82:1,98:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11!
 :1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,41:1},{11:1,42:1},{4:1,11:1},{11:1,41:1},{11:1,41:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,45:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,45:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,46:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1},{11:1,41:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1!
 ,42:1},{11:1,41:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:
1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,96:1,98:1},{4:1,11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1},{4:1,11:1},{11:1},{11:1,42:1},{4:1,11:1},{11:1,53:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,90:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{4:1,11:1},{11:1,42:1},{11:1,53:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1},{11:1,12:1,39:1},{3:1,11:1,39:1,70:1},{11:1,39:1,93:1},{11:1,16:1,39:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1,39:1,97:1},{11:1,39:1,95:1},{11:1},{11:1},{11:1},{11:1},{3:1,11:1,39:1,69:1},{11:1,17:1,39:1},{11:1,39:1,99:1},{11:1,39:1,62:1},{11:1,!
 14:1,39:1},{11:1,39:1,89:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,44:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1,42:1},{11:1,42:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,46:1},{11:1},{4:1,11:1},{4:1,11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1},{11:1,41:1},{11:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1,42:1},{5:1,11:1,13:1,36:1,37:1,54:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,41:1},{11:1,13:1,36:1,37:1},{11:1,13:1,36:1,37:1,66:1,68:1,98:1},{11:1,42:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{4:1,11:1},{!
 4:1,11:1},{4:1,11:1},{4:1,11:1},{11:1},{11:1},{4:1,11:1},{11:1,13:1,36
:1,37:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,42:1},{11:1},{5:1,11:1,13:1,36:1,37:1,47:1,54:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1},{11:1},{11:1,42:1},{11:1,42:1},{4:1,11:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1,42:1},{11:1},{11:1,42:1},{11:1},{11:1},{11:1,13:1,36:1,37:1},{11:1},{11:1,42:1},{11:1},{11:1,46:1},{11:1},{11:1,42:1},{11:1,34:1,100:1},{11:1,13:1,36:1,37:1,51:1,54:1},{11:1,63:1},{11:1},{11:1,72:1,77:1,78:1},{11:1},{11:1,88:1},{11:1},{11:1},{11:1,94:1},{11:1,79:1},{11:1,71:1},{11:1,86:1},{11:1,76:1},{11:1,77:1},{11:1,78:1},{11:1,75:1},{11:1,78:1},{11:1,73:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,78:1},{11:1,77:1},{11:1,75:1},{11:1,74:1,77:1},{11:1,75:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1},{11:1}];if (org_drools_brms_JBRMS) {  var __gwt_initHandlers = org_drools_brms_JBRMS.__gwt_initHandlers;  org_drools_brms_JBRMS.onScriptLoad(gwtOnLoad);}})();
\ No newline at end of file

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/FAAF7BDEC910860F65FAB624FCBF57D4.cache.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cache-entry>
+	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_TypeSerializer" hash="619B51D664C2EA16C242AAF2AF6BA7E6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableDataResult_FieldSerializer" hash="BFC3EC8D02BADBA251CA3B7A7F85C809"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.DSLSentence_FieldSerializer" hash="35AB7D23CC662D4F726060AA9938F6C6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.BuilderResult_FieldSerializer" hash="31FA4ADBFB94FFD9001BA8C2A4417504"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleAttribute_FieldSerializer" hash="7BF092FF4AE3E8CB784A96421E7BC6B4"/>
+	<generated-type-hash class="com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException_FieldSerializer" hash="FF198044879E67E1ACF2E0C29CC58CB5"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.MultiWordSuggestOracle_MultiWordSuggestion_FieldSerializer" hash="1721A875793F79F044BA9AEC6543C8A2"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.TreeImages_generatedBundle" hash="C4DB9D53C840859028C6F483DB58A75C"/>
+	<generated-type-hash class="com.google.gwt.user.client.rpc.SerializableException_FieldSerializer" hash="1CB9B63ABEC9BE7E663F6C56AA395208"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Request_FieldSerializer" hash="93219A0D78603408F1E24CE444809ADE"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableConfig_FieldSerializer" hash="68BF54922D06AC518871EB9FEFD7D68E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionRetractFact_FieldSerializer" hash="3ABE2631C28ACB7B3C1358BD27C80255"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SnapshotInfo_FieldSerializer" hash="995C2E7AEC07438074706D40B4864FF5"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertFact_FieldSerializer" hash="B3DA8CF19248044B9B347AFEE8AAC7F7"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.ValidatedResponse_FieldSerializer" hash="15269178DE71D238F26587B3095E7A9A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFieldConstraint_FieldSerializer" hash="8606C355A0F17A64941EB10EFAB41036"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionSetField_FieldSerializer" hash="7F0BA1987E3FB650C44049758B209A0E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint_FieldSerializer" hash="F30861DCB878C093201710AE55E3EF52"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.CompositeFactPattern_FieldSerializer" hash="85DD7A29F613D6A493314730060FF12A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldValue_FieldSerializer" hash="C12B27B0B8651B5CCA2358C044C74DD1"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.DetailedSerializableException_FieldSerializer" hash="CE21C342ABA475456EAAE97B0AE44393"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.MetaData_FieldSerializer" hash="C7F537CFDF5A4E02C318B4614CEC20EA"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionInsertLogicalFact_FieldSerializer" hash="8646F66FFEBDCE52535B8FBA9AE37830"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.SuggestionCompletionEngine_FieldSerializer" hash="1BED05A61D2EFBC600410686A3304B3E"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.SingleFieldConstraint_FieldSerializer" hash="C2DB414BB43FE22A8E8CDBA910564AA6"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RuleAsset_FieldSerializer" hash="7D9F400F79A33BD99A5721E52B6EDBA7"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.PackageConfigData_FieldSerializer" hash="1C8237E912FA51556E3496683D32C8B5"/>
+	<generated-type-hash class="com.google.gwt.user.client.ui.SuggestOracle_Response_FieldSerializer" hash="1C6D42E0AC1FE9CDD63B791E11BD9615"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.FactPattern_FieldSerializer" hash="5535A6C88015EE51C5F4FA808DFAA8ED"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SessionExpiredException_FieldSerializer" hash="0A173F0D6310FDB17BD90CBB1948DC75"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_Proxy" hash="EE514DB88A5F377A761E4D0AAB187640"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.TableDataRow_FieldSerializer" hash="411D058D97408AAE2C3EBA1620048463"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionFieldList_FieldSerializer" hash="73DAB0917FEA7A2E484F4B12C200C868"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RepositoryService_TypeSerializer" hash="8DCA6439D096072B75D6701D8B54A1DA"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ActionUpdateField_FieldSerializer" hash="53DAC10B208EAD97D6542560F2C8BAAD"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.RuleContentText_FieldSerializer" hash="9F5834F874613140D0BDEC4056C49928"/>
+	<generated-type-hash class="org.drools.brms.client.rpc.SecurityService_Proxy" hash="0549B5DD064B695F228AA7312765E9C0"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.RuleModel_FieldSerializer" hash="2A44CFABD8B63D33EFAA2FF86226638A"/>
+	<generated-type-hash class="org.drools.brms.client.modeldriven.brl.ConnectiveConstraint_FieldSerializer" hash="BF0E8BCBA71D0333FD6536A3B7B09370"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.TextBoxImpl" out="com.google.gwt.user.client.ui.impl.TextBoxImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.ListBox.Impl" out="com.google.gwt.user.client.ui.ListBox.ImplSafari"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.FocusImpl" out="com.google.gwt.user.client.ui.impl.FocusImplSafari"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.ClippedImageImpl" out="com.google.gwt.user.client.ui.impl.ClippedImageImpl"/>
+	<rebind-decision in="org.drools.brms.client.JBRMSEntryPoint" out="org.drools.brms.client.JBRMSEntryPoint"/>
+	<rebind-decision in="org.drools.brms.client.rpc.RepositoryService" out="org.drools.brms.client.rpc.RepositoryService_Proxy"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.HistoryImpl" out="com.google.gwt.user.client.impl.HistoryImplSafari"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.DOMImpl" out="com.google.gwt.user.client.impl.DOMImplSafari"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.PopupImpl" out="com.google.gwt.user.client.ui.impl.PopupImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.TreeImages" out="com.google.gwt.user.client.ui.TreeImages_generatedBundle"/>
+	<rebind-decision in="com.google.gwt.user.client.ui.impl.FormPanelImpl" out="com.google.gwt.user.client.ui.impl.FormPanelImpl"/>
+	<rebind-decision in="com.google.gwt.user.client.impl.HTTPRequestImpl" out="com.google.gwt.user.client.impl.HTTPRequestImpl"/>
+	<rebind-decision in="org.drools.brms.client.rpc.SecurityService" out="org.drools.brms.client.rpc.SecurityService_Proxy"/>
+</cache-entry>
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS-xs.nocache.js
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS-xs.nocache.js	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS-xs.nocache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -8,5 +8,5 @@
 function E(d,e){var a=n;for(var b=0,c=d.length-1;b<c;++b){a=a[d[b]]||(a[d[b]]=[]);}a[d[c]]=e;}
 function q(d){var e=C[d](),b=F[d];if(e in b){return e;}var a=[];for(var c in b){a[b[c]]=c;}if(B){B(d,a,e);}throw null;}
 C['user.agent']=function(){var d=navigator.userAgent.toLowerCase();var b=function(a){return parseInt(a[1])*1000+parseInt(a[2]);};if(d.indexOf('opera')!= -1){return 'opera';}else if(d.indexOf('webkit')!= -1){return 'safari';}else if(d.indexOf('msie')!= -1){var c=/msie ([0-9]+)\.([0-9]+)/.exec(d);if(c&&c.length==3){if(b(c)>=6000){return 'ie6';}}}else if(d.indexOf('gecko')!= -1){var c=/rv:([0-9]+)\.([0-9]+)/.exec(d);if(c&&c.length==3){if(b(c)>=1008)return 'gecko1_8';}return 'gecko';}return 'unknown';};F['user.agent']={'gecko':0,'gecko1_8':1,'ie6':2,'opera':3,'safari':4};org_drools_brms_JBRMS.onScriptLoad=function(a){org_drools_brms_JBRMS=null;t=a;v();};r();A();var y;function x(){if(!p){p=true;v();if(j.removeEventListener){j.removeEventListener('DOMContentLoaded',x,false);}if(y){clearInterval(y);}}}
-if(j.addEventListener){j.addEventListener('DOMContentLoaded',x,false);}var y=setInterval(function(){if(/loaded|complete/.test(j.readyState)){x();}},50);var D;try{E(['opera'],'0E0C77F3A614502A18FE57151BF5478A');E(['gecko1_8'],'177C86A9AD595D26FEE5C67A7D333937');E(['safari'],'681266DDC2602D88F20097C4C0ED49CF');E(['gecko'],'6FEDE8D1DBD62A174C4FA792B2C52A1C');E(['ie6'],'979A642150C930E88104BB2A12B4EA6E');D=n[q('user.agent')];}catch(a){return;}D+='.cache.js';j.write('<script src="'+o+D+'"><\/script>');}
+if(j.addEventListener){j.addEventListener('DOMContentLoaded',x,false);}var y=setInterval(function(){if(/loaded|complete/.test(j.readyState)){x();}},50);var D;try{E(['gecko'],'0B6EA971B423F1D179C21170E0BA8A84');E(['gecko1_8'],'6B9B43D15A9901CE0B7A2903D9D852B1');E(['opera'],'A192742E06DC73E766CB5CF804D17D35');E(['ie6'],'E852FBEB98D9E331BF1DBDCE27A5C06F');E(['safari'],'FAAF7BDEC910860F65FAB624FCBF57D4');D=n[q('user.agent')];}catch(a){return;}D+='.cache.js';j.write('<script src="'+o+D+'"><\/script>');}
 org_drools_brms_JBRMS.__gwt_initHandlers=function(i,e,j){var d=window,g=d.onresize,f=d.onbeforeunload,h=d.onunload;d.onresize=function(a){try{i();}finally{g&&g(a);}};d.onbeforeunload=function(a){var c,b;try{c=e();}finally{b=f&&f(a);}if(c!=null){return c;}if(b!=null){return b;}};d.onunload=function(a){try{j();}finally{h&&h(a);}};};org_drools_brms_JBRMS();
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.js
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.js	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/webapp/org.drools.brms.JBRMS/org.drools.brms.JBRMS.nocache.js	2008-03-31 14:38:14 UTC (rev 19341)
@@ -7,7 +7,7 @@
 function m(a){var b=y[a];return b==null?null:b;}
 function cb(d,e){var a=o;for(var b=0,c=d.length-1;b<c;++b){a=a[d[b]]||(a[d[b]]=[]);}a[d[c]]=e;}
 function r(d){var e=E[d](),b=db[d];if(e in b){return e;}var a=[];for(var c in b){a[b[c]]=c;}if(D){D(d,a,e);}throw null;}
-E['user.agent']=function(){var d=navigator.userAgent.toLowerCase();var b=function(a){return parseInt(a[1])*1000+parseInt(a[2]);};if(d.indexOf('opera')!= -1){return 'opera';}else if(d.indexOf('webkit')!= -1){return 'safari';}else if(d.indexOf('msie')!= -1){var c=/msie ([0-9]+)\.([0-9]+)/.exec(d);if(c&&c.length==3){if(b(c)>=6000){return 'ie6';}}}else if(d.indexOf('gecko')!= -1){var c=/rv:([0-9]+)\.([0-9]+)/.exec(d);if(c&&c.length==3){if(b(c)>=1008)return 'gecko1_8';}return 'gecko';}return 'unknown';};db['user.agent']={'gecko':0,'gecko1_8':1,'ie6':2,'opera':3,'safari':4};org_drools_brms_JBRMS.onInjectionDone=function(){ab=true;x();};org_drools_brms_JBRMS.onScriptLoad=function(){v=true;x();};s();C();var bb;if(u()){bb='hosted.html?org_drools_brms_JBRMS';}else{try{cb(['opera'],'0E0C77F3A614502A18FE57151BF5478A');cb(['gecko1_8'],'177C86A9AD595D26FEE5C67A7D333937');cb(['safari'],'681266DDC2602D88F20097C4C0ED49CF');cb(['gecko'],'6FEDE8D1DBD62A174C4FA792B2C52A1C');cb(['ie6'],'979A642!
 150C930E88104BB2A12B4EA6E');bb=o[r('user.agent')];}catch(a){return;}bb+='.cache.html';}var A;function z(){if(!q){q=true;x();if(k.removeEventListener){k.removeEventListener('DOMContentLoaded',z,false);}if(A){clearInterval(A);}}}
+E['user.agent']=function(){var d=navigator.userAgent.toLowerCase();var b=function(a){return parseInt(a[1])*1000+parseInt(a[2]);};if(d.indexOf('opera')!= -1){return 'opera';}else if(d.indexOf('webkit')!= -1){return 'safari';}else if(d.indexOf('msie')!= -1){var c=/msie ([0-9]+)\.([0-9]+)/.exec(d);if(c&&c.length==3){if(b(c)>=6000){return 'ie6';}}}else if(d.indexOf('gecko')!= -1){var c=/rv:([0-9]+)\.([0-9]+)/.exec(d);if(c&&c.length==3){if(b(c)>=1008)return 'gecko1_8';}return 'gecko';}return 'unknown';};db['user.agent']={'gecko':0,'gecko1_8':1,'ie6':2,'opera':3,'safari':4};org_drools_brms_JBRMS.onInjectionDone=function(){ab=true;x();};org_drools_brms_JBRMS.onScriptLoad=function(){v=true;x();};s();C();var bb;if(u()){bb='hosted.html?org_drools_brms_JBRMS';}else{try{cb(['gecko'],'0B6EA971B423F1D179C21170E0BA8A84');cb(['gecko1_8'],'6B9B43D15A9901CE0B7A2903D9D852B1');cb(['opera'],'A192742E06DC73E766CB5CF804D17D35');cb(['ie6'],'E852FBEB98D9E331BF1DBDCE27A5C06F');cb(['safari'],'FAAF7BD!
 EC910860F65FAB624FCBF57D4');bb=o[r('user.agent')];}catch(a){return;}bb+='.cache.html';}var A;function z(){if(!q){q=true;x();if(k.removeEventListener){k.removeEventListener('DOMContentLoaded',z,false);}if(A){clearInterval(A);}}}
 var F;function w(){if(!F&&k.body){F=true;var a=k.createElement('iframe');a.src="javascript:''";a.id='org.drools.brms.JBRMS';a.style.cssText='position:absolute;width:0;height:0;border:none';k.body.appendChild(a);a.src=p+bb;}}
 if(k.addEventListener){k.addEventListener('DOMContentLoaded',function(){w();z();},false);}var A=setInterval(function(){w();if(/loaded|complete/.test(k.readyState)){z();}},50);k.write("<script>org_drools_brms_JBRMS.onInjectionDone('org.drools.brms.JBRMS')<\/script>");}
 org_drools_brms_JBRMS.__gwt_initHandlers=function(i,e,j){var d=window,g=d.onresize,f=d.onbeforeunload,h=d.onunload;d.onresize=function(a){try{i();}finally{g&&g(a);}};d.onbeforeunload=function(a){var c,b;try{c=e();}finally{b=f&&f(a);}if(c!=null){return c;}if(b!=null){return b;}};d.onunload=function(a){try{j();}finally{h&&h(a);}};};org_drools_brms_JBRMS();
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/.classpath
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/.classpath	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,18 +5,18 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.21/mvel14-1.2.21.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jsr94/jsr94/1.1/jsr94-1.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/jsr94/jsr94-sigtest/1.1/jsr94-sigtest-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jsr94/jsr94-tck/1.0.3/jsr94-tck-1.0.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+  <classpathentry kind="src" path="/drools-compiler"/>
   <classpathentry kind="src" path="/drools-core"/>
-  <classpathentry kind="var" path="M2_REPO/jsr94/jsr94/1.1/jsr94-1.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/1.2.24-java1.4/mvel-1.2.24-java1.4.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jsr94/jsr94-tck/1.0.3/jsr94-tck-1.0.3.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
   <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
-  <classpathentry kind="src" path="/drools-compiler"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
   <classpathentry kind="src" path="/drools-decisiontables"/>
+  <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/.project
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/.project	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/.project	2008-03-31 14:38:14 UTC (rev 19341)
@@ -2,8 +2,8 @@
   <name>drools-jsr94</name>
   <comment>A rule production system</comment>
   <projects>
+    <project>drools-compiler</project>
     <project>drools-core</project>
-    <project>drools-compiler</project>
     <project>drools-decisiontables</project>
   </projects>
   <buildSpec>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jsr94/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-	<version>4.0.2.SNAPSHOT</version>
+	<version>4.0.6</version>
   </parent>
 
   <artifactId>drools-jsr94</artifactId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/.classpath
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/.classpath	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/.classpath	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,20 +5,20 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-text-extractors/1.3/jackrabbit-text-extractors-1.3.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-text-extractors/1.3/jackrabbit-text-extractors-1.3-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.3/jackrabbit-core-1.3.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.3/jackrabbit-core-1.3-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar" sourcepath="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar" sourcepath="M2_REPO/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.3/jackrabbit-jcr-commons-1.3.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.3/jackrabbit-jcr-commons-1.3-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.3.0/slf4j-api-1.3.0.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.3.0/slf4j-api-1.3.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.3.0/slf4j-log4j12-1.3.0.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.3.0/slf4j-log4j12-1.3.0-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/tmatesoft/svnkit/1.1.2/svnkit-1.1.2.jar" sourcepath="M2_REPO/org/tmatesoft/svnkit/1.1.2/svnkit-1.1.2-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar" sourcepath="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.3/jackrabbit-api-1.3.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.3/jackrabbit-api-1.3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.3/jackrabbit-core-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.3/jackrabbit-api-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.3/jackrabbit-jcr-commons-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.3.0/slf4j-api-1.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-text-extractors/1.3/jackrabbit-text-extractors-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar" sourcepath="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13-sources.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.3.0/slf4j-log4j12-1.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/tmatesoft/svnkit/1.1.2/svnkit-1.1.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-	  <version>4.0.2.SNAPSHOT</version>
+	  <version>4.0.6</version>
   </parent>
 
   <artifactId>drools-repository</artifactId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-server/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-server/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-server/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-	  <version>4.0.2.SNAPSHOT</version>
+	  <version>4.0.6</version>
   </parent>
 
   <artifactId>drools-server</artifactId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-solver/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-solver/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-solver/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -6,7 +6,7 @@
     <parent>
       <groupId>org.drools</groupId>
       <artifactId>drools</artifactId>
-      <version>4.0.2.SNAPSHOT</version>
+      <version>4.0.6</version>
     </parent>
 
     <groupId>org.drools.solver</groupId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/m2_repo/org/mvel/mvel14/1.2.20/mvel14-1.2.20.pom
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/m2_repo/org/mvel/mvel14/1.2.20/mvel14-1.2.20.pom	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/m2_repo/org/mvel/mvel14/1.2.20/mvel14-1.2.20.pom	2008-03-31 14:38:14 UTC (rev 19341)
@@ -6,6 +6,7 @@
     <packaging>jar</packaging>
     <version>1.2.20-java1.4</version>
     <name>mvel</name>
+    <url>http://mvel.codehaus.org</url>
 
 	<description>MVFLEX Expression Language 1.2 for Java 1.4</description>
 

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/pom.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/pom.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -7,7 +7,7 @@
   <artifactId>drools</artifactId>
   <packaging>pom</packaging>
   <name>Drools</name>
-  <version>4.0.2.SNAPSHOT</version>
+  <version>4.0.6</version>
   <description>A rule production system</description>
   <url>http://www.jboss.com/products/rules</url>
 
@@ -172,6 +172,10 @@
         <url>http://snapshots.jboss.org/maven2</url>
     </repository>
 
+    <repository>
+        <id>codehaus</id>
+        <url>http://repository.codehaus.org/</url>
+    </repository>
 
 
     <!-- this is needed for Seam which is not in the jboss repo or the maven one in a useful form -->
@@ -278,7 +282,8 @@
             <property><name>eclipse</name></property>
         </activation>
         <modules>
-            <module>drools-eclipse</module>
+            <module>drools-eclipse3.2</module>
+            <!--module>drools-eclipse3.3</module-->
         </modules>
     </profile>
     <profile>
@@ -327,7 +332,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.3</version>
+          <version>2.4.2</version>
           <configuration>
             <includes>
               <include>**/*Test.java</include>
@@ -387,7 +392,8 @@
             <descriptor>src/main/assembly/bin.xml</descriptor>
             <descriptor>src/main/assembly/src.xml</descriptor>
             <descriptor>src/main/assembly/brms.xml</descriptor>
-            <descriptor>src/main/assembly/eclipse.xml</descriptor>
+            <descriptor>src/main/assembly/eclipse3.2.xml</descriptor>
+            <descriptor>src/main/assembly/eclipse3.3.xml</descriptor>
             <descriptor>src/main/assembly/examples.xml</descriptor>
           </descriptors>
         </configuration>
@@ -495,7 +501,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-report-plugin</artifactId>
-        <version>2.3</version>
+        <version>2.4.2</version>
         <reportSets>
           <reportSet>
             <reports>
@@ -731,8 +737,8 @@
       </dependency>
 	    <dependency>
         <groupId>org.mvel</groupId>
-        <artifactId>mvel14</artifactId>
-        <version>1.2.21</version>
+        <artifactId>mvel</artifactId>
+        <version>1.2.24-java1.4</version>
       </dependency>
 
       <!-- drools-compiler -->

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/bin.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/bin.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/bin.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -36,7 +36,7 @@
     		<include>org.drools:drools-compiler</include>
     		<include>org.drools:drools-jsr94</include>
     		<include>org.drools:drools-decisiontables</include>
-    		<!-- <include>org.drools:drools-analytics</include> -->
+    		<include>org.drools:drools-analytics</include>
      		<include>org.drools:drools-ant</include>
     		<!--include>org.drools:drools-clips</include-->
     		<include>org.drools:drools-examples</include>

Deleted: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,26 +0,0 @@
-<assembly>
-  <id>eclipse</id>
-  <formats>
-    <format>zip</format>
-  </formats>
-  
-  <includeBaseDirectory>false</includeBaseDirectory>
-  
-  <fileSets>
-    <fileSet>
-      <includes>
-        <include>LICENSE-ASL-2.0.txt</include>
-        <include>JBossORG-EULA.txt</include>
-        <include>README_DEPENDENCIES.txt</include>
-      </includes>
-    </fileSet>
-      
-    <fileSet>
-      <directory>target/eclipse</directory>
-      <outputDirectory></outputDirectory>
-      <includes>
-         <include>**/**</include>
-      </includes>      
-    </fileSet>
-  </fileSets>
-</assembly>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse3.2.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/src/main/assembly/eclipse3.2.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse3.2.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse3.2.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,26 @@
+<assembly>
+  <id>eclipse3.2</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  
+  <includeBaseDirectory>false</includeBaseDirectory>
+  
+  <fileSets>
+    <fileSet>
+      <includes>
+        <include>LICENSE-ASL-2.0.txt</include>
+        <include>JBossORG-EULA.txt</include>
+        <include>README_DEPENDENCIES.txt</include>
+      </includes>
+    </fileSet>
+      
+    <fileSet>
+      <directory>./target/eclipse3.2</directory>
+      <outputDirectory></outputDirectory>
+      <includes>
+         <include>**/**</include>
+      </includes>      
+    </fileSet>
+  </fileSets>
+</assembly>

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse3.3.xml (from rev 19328, labs/jbossrules/tags/4.0.6.19326.GA/src/main/assembly/eclipse3.3.xml)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse3.3.xml	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/eclipse3.3.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -0,0 +1,26 @@
+<assembly>
+  <id>eclipse3.3</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  
+  <includeBaseDirectory>false</includeBaseDirectory>
+  
+  <fileSets>
+    <fileSet>
+      <includes>
+        <include>LICENSE-ASL-2.0.txt</include>
+        <include>JBossORG-EULA.txt</include>
+        <include>README_DEPENDENCIES.txt</include>
+      </includes>
+    </fileSet>
+      
+    <fileSet>
+      <directory>./target/eclipse3.3</directory>
+      <outputDirectory></outputDirectory>
+      <includes>
+         <include>**/**</include>
+      </includes>      
+    </fileSet>
+  </fileSets>
+</assembly>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/src.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/src.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/src/main/assembly/src.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -15,10 +15,11 @@
          <include>drools-compiler/**</include>
          <include>drools-decisiontables/**</include>
          <include>drools-jsr94/**</include>
-         <include>drools-eclipse/**</include>
-         <include>drools-repository/**</include>
+         <include>drools-eclipse/**</include>
+         <include>drools-repository/**</include>
          <include>drools-jbrms/**</include>
-         <include>drools-ant</include>
+         <include>drools-ant/**</include>
+         <include>drools-analytics/**</include>
          <include>documentation/**</include>
          <include>m2_repo/**</include>
          <include>*.xml</include>
@@ -38,4 +39,4 @@
       </excludes>
     </fileSet>
   </fileSets>
-</assembly>
+</assembly>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/update-version.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/update-version.xml	2008-03-31 12:46:07 UTC (rev 19340)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/update-version.xml	2008-03-31 14:38:14 UTC (rev 19341)
@@ -1,63 +1,89 @@
-<?xml version="1.0"?>
-<project name="Drools" basedir="." default="usage">
-
-  <target name="usage">
-      <echo>ant -f update-version.xml -Dcurrent="3.1.0.M1" -Dnew="4.0.0.SNAPSHOT" updateVersion</echo>
-  </target>
-
-  <target name="updateVersion" depends="checkProps, error" unless="propsNotSet">
-      <replaceregexp match="&lt;version&gt;${current}&lt;/version&gt;"
-                     replace="&lt;version&gt;${new}&lt;/version&gt;" 
-                     byline="true">
-        <fileset dir="." includes="*pom.xml, drools-*/pom.xml, documentation/pom.xml"/>
-      </replaceregexp>             
-      
-      <replaceregexp match="Bundle-Version: ${current}"
-                     replace="Bundle-Version: ${new}"
-                     byline="true">
-          <fileset dir="drools-eclipse" includes="drools-eclipse-plugin/META-INF/MANIFEST.MF, drools-eclipse-test/META-INF/MANIFEST.MF"/>        
-      </replaceregexp>       
-
-      <replaceregexp match="Fragment-Host: org.drools.eclipse;bundle-version=&#34;${current}&#34;"
-                     replace="Fragment-Host: org.drools.eclipse;bundle-version=&#34;${new}&#34;"
-                     byline="true">
-          <fileset dir="drools-eclipse" includes="drools-eclipse-plugin/META-INF/MANIFEST.MF, drools-eclipse-test/META-INF/MANIFEST.MF"/>        
-      </replaceregexp>       
-      
-      <replaceregexp match="version=&#34;${current}&#34;"
-                     replace="version=&#34;${new}&#34;"
-                     byline="true">
-          <fileset dir="drools-eclipse" includes="drools-eclipse-feature/feature.xml, drools-eclipse-test-feature/feature.xml"/>        
-      </replaceregexp>                     
-                     
-    
-      <replaceregexp file="drools-eclipse/build.properties"
-                     match="droolsVersion=${current}"
-                     replace="droolsVersion=${new}"
-                     byline="true" />    
-    
-      <replaceregexp file="documentation/manual/en/master.xml"
-                     match="&lt;releaseinfo&gt;${current}&lt;/releaseinfo&gt;"
-                     replace="&lt;releaseinfo&gt;${new}&lt;/releaseinfo&gt;"
-                     byline="true" />
-  </target>       
-  
-  <target name="error" if="propsNotSet">
-    <echo>current and new are not set</echo>
-  </target>           
-  
-  <target name="checkProps">
-     <condition property="propsSet" value="true">
-       <not>
-         <isset property="current" />
-       </not>
-     </condition>   
-     
-     <condition property="propsNotSet" value="true">
-       <not>
-         <isset property="new" />
-       </not>
-     </condition>        
-  </target>
-  
-</project>
+<?xml version="1.0"?>
+<project name="Drools" basedir="." default="usage">
+
+  <target name="usage">
+      <echo>ant -f update-version.xml -Dcurrent="3.1.0.M1" -Dnew="4.0.0.SNAPSHOT" updateVersion</echo>
+  </target>
+
+  <target name="updateVersion" depends="checkProps, error" unless="propsNotSet">
+      <replaceregexp match="&lt;version&gt;${current}&lt;/version&gt;"
+                     replace="&lt;version&gt;${new}&lt;/version&gt;" 
+                     byline="true">
+        <fileset dir="." includes="*pom.xml, drools-*/pom.xml, documentation/pom.xml"/>
+      </replaceregexp>             
+      
+      <replaceregexp match="Bundle-Version: ${current}"
+                     replace="Bundle-Version: ${new}"
+                     byline="true">
+          <fileset dir="drools-eclipse3.2" includes="drools-eclipse-plugin/META-INF/MANIFEST.MF, drools-eclipse-test/META-INF/MANIFEST.MF"/>        
+      </replaceregexp>  
+
+      <replaceregexp match="Bundle-Version: ${current}"
+                     replace="Bundle-Version: ${new}"
+                     byline="true">
+          <fileset dir="drools-eclipse3.3" includes="drools-eclipse-plugin/META-INF/MANIFEST.MF, drools-eclipse-test/META-INF/MANIFEST.MF"/>        
+      </replaceregexp>  
+
+      <replaceregexp match="Fragment-Host: org.drools.eclipse;bundle-version=&#34;${current}&#34;"
+                     replace="Fragment-Host: org.drools.eclipse;bundle-version=&#34;${new}&#34;"
+                     byline="true">
+          <fileset dir="drools-eclipse3.2" includes="drools-eclipse-plugin/META-INF/MANIFEST.MF, drools-eclipse-test/META-INF/MANIFEST.MF"/>        
+      </replaceregexp>       
+
+      <replaceregexp match="Fragment-Host: org.drools.eclipse;bundle-version=&#34;${current}&#34;"
+                     replace="Fragment-Host: org.drools.eclipse;bundle-version=&#34;${new}&#34;"
+                     byline="true">
+          <fileset dir="drools-eclipse3.3" includes="drools-eclipse-plugin/META-INF/MANIFEST.MF, drools-eclipse-test/META-INF/MANIFEST.MF"/>        
+      </replaceregexp>       
+      
+      <replaceregexp match="version=&#34;${current}&#34;"
+                     replace="version=&#34;${new}&#34;"
+                     byline="true">
+          <fileset dir="drools-eclipse3.2" includes="drools-eclipse-feature/feature.xml, drools-eclipse-test-feature/feature.xml"/>        
+      </replaceregexp>                     
+
+      <replaceregexp match="version=&#34;${current}&#34;"
+                     replace="version=&#34;${new}&#34;"
+                     byline="true">
+          <fileset dir="drools-eclipse3.3" includes="drools-eclipse-feature/feature.xml, drools-eclipse-test-feature/feature.xml"/>        
+      </replaceregexp>                     
+
+                     
+    
+      <replaceregexp file="drools-eclipse3.2/build.properties"
+                     match="droolsVersion=${current}"
+                     replace="droolsVersion=${new}"
+                     byline="true" />    
+
+      <replaceregexp file="drools-eclipse3.3/build.properties"
+                     match="droolsVersion=${current}"
+                     replace="droolsVersion=${new}"
+                     byline="true" />    
+
+    
+      <replaceregexp file="documentation/manual/en/master.xml"
+                     match="&lt;releaseinfo&gt;${current}&lt;/releaseinfo&gt;"
+                     replace="&lt;releaseinfo&gt;${new}&lt;/releaseinfo&gt;"
+                     byline="true" />
+  </target>       
+  
+  <target name="error" if="propsNotSet">
+    <echo>current and new are not set</echo>
+  </target>           
+  
+  <target name="checkProps">
+     <condition property="propsSet" value="true">
+       <not>
+         <isset property="current" />
+       </not>
+     </condition>   
+     
+     <condition property="propsNotSet" value="true">
+       <not>
+         <isset property="new" />
+       </not>
+     </condition>        
+  </target>
+  
+</project>
+




More information about the jboss-svn-commits mailing list